From: IOhannes m zmölnig (Debian/GNU) Date: Tue, 14 Dec 2021 13:25:14 +0000 (+0100) Subject: New upstream version 6.1.3~ds0 X-Git-Tag: archive/raspbian/6.1.5_ds0-1+rpi1^2~18^2~2 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=8d8a14eb73f697a7a2046d880b68a16524a1d100;p=juce.git New upstream version 6.1.3~ds0 --- diff --git a/BREAKING-CHANGES.txt b/BREAKING-CHANGES.txt index 74c6edbd..9cdbc6c9 100644 --- a/BREAKING-CHANGES.txt +++ b/BREAKING-CHANGES.txt @@ -1,6 +1,122 @@ JUCE breaking changes ===================== +Version 6.1.3 +============= + +Change +------ +The format specific structs of ExtensionsVisitor now return pointers to forward +declared types instead of `void*`. For this purpose the `struct AEffect;` +forward declaration was placed inside the global namespace. + +Possible Issues +--------------- +User code that includes the VST headers inside a namespace may fail to build, +because the forward declared type can collide with the contents of `aeffect.h`. + +Workaround +---------- +The collision can be avoided by placing a `struct AEffect;` forward declaration +in the same namespace where the VST headers are included. The forward +declaration must come before the inclusion. + +Rationale +--------- +Using the forward declared types eliminates the need for error prone casting +at the site where the ExtensionsVisitor facility is used. + + +Change +------ +ListBox::createSnapshotOfRows now returns ScaledImage instead of Image. + +Possible Issues +--------------- +User code that overrides this function will fail to build. + +Workaround +---------- +To emulate the old behaviour, simply wrap the Image that was previous returned +into a ScaledImage and return that instead. + +Rationale +--------- +Returning a ScaledImage allows the overriding function to specify the scale +at which the image should be drawn. Returning an oversampled image will provide +smoother-looking results on high resolution displays. + + +Change +------ +AudioFrameRate::frameRate is now a class type instead of an enum. + +Possible Issues +--------------- +Code that read the old enum value will not compile. + +Workaround +---------- +Call frameRate.getType() to fetch the old enum type. Alternatively, use the new +getBaseRate(), isDrop(), isPullDown(), and getEffectiveRate() functions. The +new functions provide a more accurate description of the host's frame rate. + +Rationale +--------- +The old enum-based interface was not flexible enough to describe all the frame +rates that might be reported by a plugin host. + + +Change +------ +FlexItem::alignSelf now defaults to "autoAlign" rather than "stretch". + +Possible Issues +--------------- +FlexBox layouts will be different in cases where FlexBox::alignItems is set to +a value other than "stretch". This is because each FlexItem will now default +to using the FlexBox's alignItems value. Layouts that explicitly set +FlexItem::alignSelf on each item will not be affected. + +Workaround +---------- +To restore the previous layout behaviour, set FlexItem::alignSelf to "stretch" +on all FlexItems that would otherwise use the default value for alignSelf. + +Rationale +--------- +The new behaviour more closely matches the behaviour of CSS FlexBox +implementations. In CSS, "align-self" has an initial value of "auto", which +computes to the parent's "align-items" value. + + +Change +------ +Functions on AudioPluginInstance that can add parameters have been made +private. + +Possible Issues +--------------- +Code implementing custom plugin formats may stop building if it calls these +functions. + +Workaround +---------- +When implementing custom plugin formats, ensure that the plugin parameters +derive from AudioPluginInstance::HostedParameter and then use +addHostedParameter, addHostedParameterGroup or setHostedParameterTree to add +the parameters to the plugin instance. + +Rationale +--------- +In a plugin host, it is very important to be able to uniquely identify +parameters across different versions of the same plugin. To make this possible, +we needed to introduce a way of retrieving a unique ID for each parameter, +which is now possible using the HostedParameter class. However, we also needed +to enforce that all AudioPluginInstances can only have parameters which are of +the type HostedParameter, which required hiding the old functions. + + Version 6.1.0 ============= @@ -256,7 +372,7 @@ that the behaviour is the same. Rationale --------- The ownership of this method is now clearer as the previous code relied on the -caller deleting the object. The name has changed to accomodate the new +caller deleting the object. The name has changed to accommodate the new `Component::createFocusTraverser()` method that returns an object for determining basic focus traversal, of which keyboard focus is generally a subset. @@ -369,8 +485,8 @@ Change ------ CharacterFunctions::readDoubleValue now returns values consistent with other C++ number parsing libraries. Parsing values smaller than the minimum number -respresentable in a double will return (+/-)0.0 and parsing values larger than -the maximum number respresentable in a double will return (+/-)inf. +representable in a double will return (+/-)0.0 and parsing values larger than +the maximum number representable in a double will return (+/-)inf. Possible Issues --------------- @@ -627,8 +743,8 @@ Limited. Possible Issues --------------- -Exising projects, particularly Android, may need to be resaved by the Projucer -and have the old build artifacts deleted before they will build. +Existing projects, particularly Android, may need to be resaved by the Projucer +and have the old build artefacts deleted before they will build. Workaround ---------- @@ -682,7 +798,7 @@ Update the subproject path in the Projucer. Rationale --------- -Most other Xcode specific paths are specified reltive to the build directory. +Most other Xcode specific paths are specified relative to the build directory. This change brings the Xcode subproject path in line with the rest of the configuration. @@ -1032,7 +1148,7 @@ Multiple changes to low-level, non-public JNI and Android APIs. Possible Issues --------------- If you were using any non-public, low-level JNI macros, calling java code or -recieving JNI callbacks, then your code will probably no longer work. See the +receiving JNI callbacks, then your code will probably no longer work. See the forum for further details. Workaround @@ -1061,7 +1177,7 @@ Rationale --------- Less than 0.5% of all devices in the world run versions of Android older than Android 4.1. In the interest of keeping JUCE code clean and lean, we must -depricate support for very old Android versions from time to time. +deprecate support for very old Android versions from time to time. Version 5.4.0 @@ -1757,7 +1873,7 @@ or Rationale --------- Previously, PopupMenus would not scale if the GUI of the target component (or -any of it’s parents) were scaled. The only way to scale PopupMenus was via the +any of its parents) were scaled. The only way to scale PopupMenus was via the global scaling factor. This had several drawbacks as the global scaling factor would scale everything. This was especially problematic in plug-in editors. @@ -1862,7 +1978,7 @@ then you will need to update your plug-in to the new multi-bus API. Pre JUCE 4.0.0 plug-ins are not affected apart from other breaking changes listed in this document. -Woraround +Workaround --------- None. diff --git a/CMakeLists.txt b/CMakeLists.txt index 9f87e803..ad1d9598 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -23,7 +23,7 @@ cmake_minimum_required(VERSION 3.15) -project(JUCE VERSION 6.1.0 LANGUAGES C CXX) +project(JUCE VERSION 6.1.3 LANGUAGES C CXX) include(CMakeDependentOption) @@ -143,6 +143,7 @@ install(FILES "${JUCE_BINARY_DIR}/JUCEConfigVersion.cmake" "${JUCE_BINARY_DIR}/JUCEConfig.cmake" "${JUCE_CMAKE_UTILS_DIR}/JUCEHelperTargets.cmake" "${JUCE_CMAKE_UTILS_DIR}/JUCECheckAtomic.cmake" + "${JUCE_CMAKE_UTILS_DIR}/JUCEModuleSupport.cmake" "${JUCE_CMAKE_UTILS_DIR}/JUCEUtils.cmake" "${JUCE_CMAKE_UTILS_DIR}/LaunchScreen.storyboard" "${JUCE_CMAKE_UTILS_DIR}/PIPAudioProcessor.cpp.in" diff --git a/ChangeList.txt b/ChangeList.txt index dac8d8b2..3544a503 100644 --- a/ChangeList.txt +++ b/ChangeList.txt @@ -3,6 +3,30 @@ This file just lists the more notable headline features. For more detailed info about changes and bugfixes please see the git log and BREAKING-CHANGES.txt. +Version 6.1.3 + - Added support for Visual Studio 2022 to the Projucer + - Added support for creating OpenGL 3.2 contexts on Windows + - Added support for plugin hosts to easily retrieve stable parameter IDs + - Added high-resolution image support to DragAndDropContainer + - Added support for a wider range of frame-rates in plugins and hosts + - Made Font and TypefaceCache threadsafe, to allow font rendering on background threads + - Improved FlexBox compatibility with the CSS FlexBox specification + - Improved macOS 12 compatibility, including OpenGL and FileChooser fixes + - Improved accessibility support + +Version 6.1.2 + - Fixed an OpenGL display refresh rate issue on macOS + - Improved the scaling behaviour of hosted VST3 plug-ins + - Improved accessibility support + +Version 6.1.1 + - Fixed a CMake installation issue + - Improved parameter value loading after plug-in restarts + - Fixed some problems with multi-line text layouts + - Added a fallback for modal native message boxes on Windows + - Fixed an issue setting OpenGL repaint events + - Improved accessibility support + Version 6.1.0 - Added accessibility support - Enabled use of VST3 plug-in extensions diff --git a/README.md b/README.md index b2cc3b9e..89bf552b 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,11 @@ ![alt text](https://assets.juce.com/juce/JUCE_banner_github.png "JUCE") -JUCE is an open-source cross-platform C++ application framework used for rapidly -developing high quality desktop and mobile applications, including VST, AU (and AUv3), -RTAS and AAX audio plug-ins. JUCE can be easily integrated with existing projects or can -be used as a project generation tool via the [Projucer](https://juce.com/discover/projucer), -which supports exporting projects for Xcode (macOS and iOS), Visual Studio, Android Studio, -Code::Blocks, CLion and Linux Makefiles as well as containing a source code editor and -live-coding engine which can be used for rapid prototyping. +JUCE is an open-source cross-platform C++ application framework for creating high quality +desktop and mobile applications, including VST, VST3, AU, AUv3, RTAS and AAX audio plug-ins. +JUCE can be easily integrated with existing projects via CMake, or can be used as a project +generation tool via the [Projucer](https://juce.com/discover/projucer), which supports +exporting projects for Xcode (macOS and iOS), Visual Studio, Android Studio, Code::Blocks +and Linux Makefiles as well as containing a source code editor. ## Getting Started diff --git a/docs/CMake API.md b/docs/CMake API.md index e15bbe2c..74e46500 100644 --- a/docs/CMake API.md +++ b/docs/CMake API.md @@ -213,6 +213,10 @@ that the call to `juce_add_module` which adds a specific module happens *before* The modules will be placed in a group named "JUCE Modules" within the group for each target, alongside the "Source Files" and "Header Files" groups. +Note: Source groups will only work when all JUCE-dependent targets are created using the +`juce_add_*` functions. The standard `add_executable` and `add_library` commands are likely to +result in broken builds when source groups are enabled! + #### `JUCE_COPY_PLUGIN_AFTER_BUILD` Controls whether plugin targets should be installed to the system after building. Note that the @@ -243,338 +247,341 @@ commands, properties beginning with `JUCE_` can be _queried_, but changing their have any effect (or might even break things in unexpected ways!), so always pass JUCE target attributes directly to these creation functions, rather than adding them later. -- `PRODUCT_NAME` - - The name of the output built by this target, similar to CMake's `OUTPUT_NAME` property. If not - specified, this will default to the target name. +`PRODUCT_NAME` +- The name of the output built by this target, similar to CMake's `OUTPUT_NAME` property. If not + specified, this will default to the target name. -- `VERSION` - - A version number string in the format "major.minor.bugfix". If not specified, the `VERSION` of - the project containing the target will be used instead. On Apple platforms, this is the - user-facing version string. This option corresponds to the `CFBundleShortVersionString` field in - the target's plist. +`VERSION` +- A version number string in the format "major.minor.bugfix". If not specified, the `VERSION` of + the project containing the target will be used instead. On Apple platforms, this is the + user-facing version string. This option corresponds to the `CFBundleShortVersionString` field in + the target's plist. -- `BUILD_VERSION` - - A version number string in the format "major.minor.bugfix". If not specified, this will match - the `VERSION` of the target. On Apple platforms, this is the private version string used to - distinguish between App Store builds. This option corresponds to the `CFBundleVersion` field in - the target's plist. +`BUILD_VERSION` +- A version number string in the format "major.minor.bugfix". If not specified, this will match + the `VERSION` of the target. On Apple platforms, this is the private version string used to + distinguish between App Store builds. This option corresponds to the `CFBundleVersion` field in + the target's plist. -- `BUNDLE_ID` - - An identifier string in the form "com.yourcompany.productname" which should uniquely identify - this target. Mainly used for macOS builds. If not specified, a default will be generated using - the target's `COMPANY_NAME` and `PRODUCT_NAME`. +`BUNDLE_ID` +- An identifier string in the form "com.yourcompany.productname" which should uniquely identify + this target. Mainly used for macOS builds. If not specified, a default will be generated using + the target's `COMPANY_NAME` and `PRODUCT_NAME`. -- `MICROPHONE_PERMISSION_ENABLED` - - May be either TRUE or FALSE. Adds the appropriate entries to an app's Info.plist. - -- `MICROPHONE_PERMISSION_TEXT` - - The text your app will display when it requests microphone permissions. - -- `CAMERA_PERMISSION_ENABLED` - - May be either TRUE or FALSE. Adds the appropriate entries to an app's Info.plist. - -- `CAMERA_PERMISSION_TEXT` - - The text your app will display when it requests camera permissions. - -- `BLUETOOTH_PERMISSION_ENABLED` - - May be either TRUE or FALSE. Adds the appropriate entries to an app's Info.plist. - -- `BLUETOOTH_PERMISSION_TEXT` - - The text your app will display when it requests bluetooth permissions. - -- `SEND_APPLE_EVENTS_PERMISSION_ENABLED` - - May be either TRUE or FALSE. Enable this to allow your app to send Apple events. - -- `SEND_APPLE_EVENTS_PERMISSION_TEXT` - - The text your app will display when it requests permission to send Apple events. - -- `FILE_SHARING_ENABLED` - - May be either TRUE or FALSE. Adds the appropriate entries to an iOS app's Info.plist. - -- `DOCUMENT_BROWSER_ENABLED` - - May be either TRUE or FALSE. Adds the appropriate entries to an iOS app's Info.plist. - -- `STATUS_BAR_HIDDEN` - - May be either TRUE or FALSE. Adds the appropriate entries to an iOS app's Info.plist. - - - `REQUIRES_FULL_SCREEN` - - May be either TRUE or FALSE. Adds the appropriate entries to an iOS app's Info.plist. - -- `BACKGROUND_AUDIO_ENABLED` - - May be either TRUE or FALSE. Adds the appropriate entries to an iOS app's Info.plist. - -- `BACKGROUND_BLE_ENABLED` - - May be either TRUE or FALSE. Adds the appropriate entries to an iOS app's Info.plist. - -- `APP_GROUPS_ENABLED` - - May be either TRUE or FALSE. Adds the appropriate entries to an iOS app's entitlements. - -- `APP_GROUP_IDS` - - The app groups to which your iOS app belongs. These will be added to your app's entitlements. - -- `ICLOUD_PERMISSIONS_ENABLED` - - May be either TRUE or FALSE. Adds the appropriate entries to an iOS app's entitlements. - -- `IPHONE_SCREEN_ORIENTATIONS` - - May be one or more of `UIInterfaceOrientationUnknown`, `UIInterfaceOrientationPortrait`, - `UIInterfaceOrientationPortraitUpsideDown`, `UIInterfaceOrientationLandscapeLeft`, or - `UIInterfaceOrientationLandscapeRight`. Adds appropriate entries to an iOS app's plist. - -- `IPAD_SCREEN_ORIENTATIONS` - - May be one or more of `UIInterfaceOrientationUnknown`, `UIInterfaceOrientationPortrait`, - `UIInterfaceOrientationPortraitUpsideDown`, `UIInterfaceOrientationLandscapeLeft`, or - `UIInterfaceOrientationLandscapeRight`. Adds appropriate entries to an iOS app's plist. - -- `LAUNCH_STORYBOARD_FILE` - - A custom launch storyboard file to use on iOS. If not supplied, a default storyboard will be - used. - -- `CUSTOM_XCASSETS_FOLDER` - - A path to an xcassets directory, containing icons and/or launch images for this target. If this - is specified, the ICON_BIG and ICON_SMALL arguments will not have an effect on iOS, and a launch - storyboard will not be used. - -- `TARGETED_DEVICE_FAMILY` - - Specifies the device families on which the product must be capable of running. Allowed values - are "1", "2", and "1,2"; these correspond to "iPhone/iPod touch", "iPad", and "iPhone/iPod and - iPad" respectively. This will default to "1,2", meaning that the target will target iPhone, - iPod, and iPad. - -- `ICON_BIG`, `ICON_SMALL` - - Paths to image files that will be used to generate app icons. If only one of these parameters - is specified, then that image will be used for all icon resolutions. If both arguments are - specified, then the appropriate image will be picked for each icon resolution. - -- `COMPANY_COPYRIGHT` - - Copyright text which will be added to the app/plugin's Info.plist. The value of this argument - will be inherited from the `JUCE_COMPANY_COPYRIGHT` property, so if you want to use the same - `COMPANY_COPYRIGHT` for several targets in a build tree, you can call - `set_directory_properties(PROPERTIES JUCE_COMPANY_COPYRIGHT ...)` after including JUCE but - before adding the targets, and then omit the `COMPANY_COPYRIGHT` argument when creating the - individual targets. - -- `COMPANY_NAME` - - The name of this target's author. Will be added to the app/plugin's Info.plist, and may be used - to generate part of the `BUNDLE_ID` if no ID was given explicitly. The value of this argument - will be inherited from the `JUCE_COMPANY_NAME` property, so if you want to use the same - `COMPANY_NAME` for several targets in a build tree, you can call - `set_directory_properties(PROPERTIES JUCE_COMPANY_NAME ...)` after including JUCE but before - adding the targets, and then omit the `COMPANY_NAME` argument when creating the individual - targets. - -- `COMPANY_WEBSITE` - - The address of a website related to this target in some way. The value of this argument will be - inherited from the `JUCE_COMPANY_WEBSITE` property, so if you want to use the same - `COMPANY_WEBSITE` for several targets in a build tree, you can call - `set_directory_properties(PROPERTIES JUCE_COMPANY_WEBSITE ...)` after including JUCE but before - adding the targets, and then omit the `COMPANY_WEBSITE` argument when creating the individual - targets. - -- `COMPANY_EMAIL` - - An email address for this target's author. The value of this argument will be inherited from the - `JUCE_COMPANY_EMAIL` property, so if you want to use the same `COMPANY_EMAIL` for several - targets in a build tree, you can call `set_directory_properties(PROPERTIES JUCE_COMPANY_EMAIL - ...)` after including JUCE but before adding the targets, and then omit the `COMPANY_EMAIL` - argument when creating the individual targets. - -- `DOCUMENT_EXTENSIONS` - - File extensions that should be associated with this target. For example, the Projucer passes - the string `jucer` because it wants to open `.jucer` files. If your target has several different - document types, you can pass them as multiple arguments, e.g. `DOCUMENT_EXTENSIONS wav mp3 aif`. - -- `NEEDS_CURL` - - On Linux, JUCE may or may not need to link to Curl depending on the compile definitions that are - set on a JUCE target. By default, we don't link Curl because you might not need it, but if you - get linker or include errors that reference Curl, just set this argument to `TRUE`. - -- `NEEDS_WEB_BROWSER` - - On Linux, JUCE may or may not need to link to Webkit depending on the compile definitions that - are set on a JUCE target. By default, we don't link Webkit because you might not need it, but - if you get linker or include errors that reference Webkit, just set this argument to `TRUE`. - -- `NEEDS_STORE_KIT` - - On macOS, JUCE may or may not need to link to StoreKit depending on the compile definitions that - are set on a JUCE target. By default, we don't link StoreKit because you might not need it, but - if you get linker or include errors that reference StoreKit, just set this argument to `TRUE`. - -- `PUSH_NOTIFICATIONS_ENABLED` - - Sets app entitlements to allow push notifications. False by default. - -- `HARDENED_RUNTIME_ENABLED` - - Enables macOS' hardened runtime for this target. Required for notarisation. False by default. - -- `HARDENED_RUNTIME_OPTIONS` - - A set of space-separated entitlement keys that will be added to this target's entitlements - plist if `HARDENED_RUNTIME_ENABLED` is `TRUE`. Each key should be in the form - `com.apple.security.*` where `*` is a specific entitlement. - -- `APP_SANDBOX_ENABLED` - - Enables macOS' app sandbox for this target. False by default. - -- `APP_SANDBOX_INHERIT` - - Allows child processes to inherit the static entitlements of their parent process. If this - is set to `TRUE`, no other app sandbox entitlements will be set on this target. - -- `APP_SANDBOX_OPTIONS` - - A set of space-separated entitlement keys that will be added to this target's entitlements - plist if `APP_SANDBOX_ENABLED` is `TRUE`. Each key should be in the form `com.apple.security.*` - where `*` is a specific entitlement. - -- `PLIST_TO_MERGE` - - A string to insert into an app/plugin's Info.plist. - -- `FORMATS` - - For plugin targets, specifies the plugin targets to build. Should be provided as a - space-separated list. Valid values are `Standalone Unity VST3 AU AUv3 AAX VST`. `AU` and `AUv3` - plugins will only be enabled when building on macOS. It is an error to pass `AAX` or `VST` - without first calling `juce_set_aax_sdk_path` or `juce_set_vst2_sdk_path` respectively. - -- `PLUGIN_NAME` - - The name of the plugin. In a DAW environment, this is the name that will be displayed to the - user when they go to load a plugin. This name may differ from the name of the physical plugin - file (to set the name of the plugin file, use the `PRODUCT_NAME` option). If not specified, - the `PLUGIN_NAME` will default to match the `PRODUCT_NAME`. - -- `PLUGIN_MANUFACTURER_CODE` - - A four-character unique ID for your company. For AU compatibility, this must contain at least - one upper-case letter. GarageBand 10.3 requires the first letter to be upper-case, and the - remaining letters to be lower-case. - -- `PLUGIN_CODE` - - A four-character unique ID for your plugin. For AU compatibility, this must contain exactly one - upper-case letter. GarageBand 10.3 requires the first letter to be upper-case, and the remaining - letters to be lower-case. - -- `DESCRIPTION` - - A short description of your plugin. - -- `IS_SYNTH` - - Whether the plugin is a synth. Will be used to set sensible plugin category values if they - are not provided explicitly. - -- `NEEDS_MIDI_INPUT` - - Whether the plugin should provide a midi input. - -- `NEEDS_MIDI_OUTPUT` - - Whether the plugin should provide a midi output. - -- `IS_MIDI_EFFECT` - - Whether the plugin is a MIDI effect (some hosts provide a special channel-strip location for - MIDI effect plugins). - -- `EDITOR_WANTS_KEYBOARD_FOCUS` - - Whether the plugin requires keyboard focus, or should defer all keyboard handling to the host. - -- `DISABLE_AAX_BYPASS` - - Whether the AAX bypass function should be disabled. - -- `DISABLE_AAX_MULTI_MONO` - - Whether the AAX multi mono bus layout should be disabled. - -- `AAX_IDENTIFIER` - - The bundle ID for the AAX plugin target. Matches the `BUNDLE_ID` by default. - -- `VST_NUM_MIDI_INS` - - For VST2 and VST3 plugins that accept midi, this allows you to configure the number of inputs. - -- `VST_NUM_MIDI_OUTS` - - For VST2 and VST3 plugins that produce midi, this allows you to configure the number of outputs. - -- `VST2_CATEGORY` - - Should be one of: `kPlugCategUnknown`, `kPlugCategEffect`, `kPlugCategSynth`, - `kPlugCategAnalysis`, `kPlugCategMatering`, `kPlugCategSpacializer`, `kPlugCategRoomFx`, - `kPlugSurroundFx`, `kPlugCategRestoration`, `kPlugCategOfflineProcess`, `kPlugCategShell`, - `kPlugCategGenerator`. - -- `VST3_CATEGORIES` - - Should be one or more, separated by spaces, of the following: `Fx`, `Instrument`, `Analyzer`, - `Delay`, `Distortion`, `Drum`, `Dynamics`, `EQ`, `External`, `Filter`, `Generator`, `Mastering`, - `Modulation`, `Mono`, `Network`, `NoOfflineProcess`, `OnlyOfflineProcess`, `OnlyRT`, - `Pitch Shift`, `Restoration`, `Reverb`, `Sampler`, `Spatial`, `Stereo`, `Surround`, `Synth`, - `Tools`, `Up-Downmix` - -- `AU_MAIN_TYPE` - - Should be one of: `kAudioUnitType_Effect`, `kAudioUnitType_FormatConverter`, - `kAudioUnitType_Generator`, `kAudioUnitType_MIDIProcessor`, `kAudioUnitType_Mixer`, - `kAudioUnitType_MusicDevice`, `kAudioUnitType_MusicEffect`, `kAudioUnitType_OfflineEffect`, - `kAudioUnitType_Output`, `kAudioUnitType_Panner` - -- `AU_EXPORT_PREFIX` - - A prefix for the names of entry-point functions that your component exposes. Typically this - will be a version of your plugin's name that can be used as part of a C++ token. Defaults - to your plugin's name with the suffix 'AU'. - -- `AU_SANDBOX_SAFE` - - May be either TRUE or FALSE. Adds the appropriate entries to an AU plugin's Info.plist. - -- `SUPPRESS_AU_PLIST_RESOURCE_USAGE` - - May be either TRUE or FALSE. Defaults to FALSE. Set this to TRUE to disable the `resourceUsage` - key in the target's plist. This is useful for AU plugins that must access resources which cannot - be declared in the resourceUsage block, such as UNIX domain sockets. In particular, - PACE-protected AU plugins may require this option to be enabled in order for the plugin to load - in GarageBand. - -- `AAX_CATEGORY` - - Should be one or more of: `AAX_ePlugInCategory_None`, `AAX_ePlugInCategory_EQ`, - `AAX_ePlugInCategory_Dynamics`, `AAX_ePlugInCategory_PitchShift`, `AAX_ePlugInCategory_Reverb`, - `AAX_ePlugInCategory_Delay`, `AAX_ePlugInCategory_Modulation`, `AAX_ePlugInCategory_Harmonic`, - `AAX_ePlugInCategory_NoiseReduction`, `AAX_ePlugInCategory_Dither`, - `AAX_ePlugInCategory_SoundField`, `AAX_ePlugInCategory_HWGenerators`, - `AAX_ePlugInCategory_SWGenerators`, `AAX_ePlugInCategory_WrappedPlugin`, - `AAX_ePlugInCategory_Effect` - -- `PLUGINHOST_AU` - - May be either TRUE or FALSE (defaults to FALSE). If TRUE, will add the preprocessor definition - `JUCE_PLUGINHOST_AU=1` to the new target, and will link the macOS frameworks necessary for - hosting plugins. Using this parameter should be preferred over using - `target_compile_definitions` to manually set the `JUCE_PLUGINHOST_AU` preprocessor definition. - -- `USE_LEGACY_COMPATIBILITY_PLUGIN_CODE` - - May be either TRUE or FALSE (defaults to FALSE). If TRUE, will override the value of the - preprocessor definition "JucePlugin_ManufacturerCode" with the hex equivalent of "proj". This - option exists to maintain compatiblity with a previous, buggy version of JUCE's CMake support - which mishandled the manufacturer code property. Most projects should leave this option set to - its default value. - -- `COPY_PLUGIN_AFTER_BUILD` - - Whether or not to install the plugin to the current system after building. False by default. - If you want all of the plugins in a subdirectory to be installed automatically after building, - you can set the property `JUCE_COPY_PLUGIN_AFTER_BUILD` on the directory before adding the - plugins, rather than setting this argument on each individual target. Note that on Windows, - the default install locations may not be writable by normal user accounts. - -- `VST_COPY_DIR` - - The location to which VST2 (legacy) plugins will be copied after building if - `COPY_PLUGIN_AFTER_BUILD` is set on this target. If you want to install all of the VST2 plugins - in a subdirectory to a non-default location, you can set the `JUCE_VST_COPY_DIR` property on - the directory before adding the plugin targets, rather than setting this argument on each - individual target. - -- `VST3_COPY_DIR` - - The location to which VST3 plugins will be copied after building if `COPY_PLUGIN_AFTER_BUILD` - is set on this target. If you want to install all of the VST3 plugins in a subdirectory to a - non-default location, you can set the `JUCE_VST3_COPY_DIR` property on the directory before - adding the plugin targets, rather than setting this argument on each individual target. - -- `AAX_COPY_DIR` - - The location to which AAX plugins will be copied after building if `COPY_PLUGIN_AFTER_BUILD` - is set on this target. If you want to install all of the AAX plugins in a subdirectory to a - non-default location, you can set the `JUCE_AAX_COPY_DIR` property on the directory before - adding the plugin targets, rather than setting this argument on each individual target. - -- `AU_COPY_DIR` - - The location to which AU plugins will be copied after building if `COPY_PLUGIN_AFTER_BUILD` - is set on this target. If you want to install all of the AU plugins in a subdirectory to a - non-default location, you can set the `JUCE_AU_COPY_DIR` property on the directory before - adding the plugin targets, rather than setting this argument on each individual target. - -- `UNITY_COPY_DIR` - - The location to which Unity plugins will be copied after building if `COPY_PLUGIN_AFTER_BUILD` - is set on this target. If you want to install all of the Unity plugins in a subdirectory to a - non-default location, you can set the `JUCE_UNITY_COPY_DIR` property on the directory before - adding the plugin targets, rather than setting this argument on each individual target. - Unlike the other `COPY_DIR` arguments, this argument does not have a default value so be sure - to set it if you have enabled `COPY_PLUGIN_AFTER_BUILD` and the `Unity` format. +`MICROPHONE_PERMISSION_ENABLED` +- May be either TRUE or FALSE. Adds the appropriate entries to an app's Info.plist. + +`MICROPHONE_PERMISSION_TEXT` +- The text your app will display when it requests microphone permissions. + +`CAMERA_PERMISSION_ENABLED` +- May be either TRUE or FALSE. Adds the appropriate entries to an app's Info.plist. + +`CAMERA_PERMISSION_TEXT` +- The text your app will display when it requests camera permissions. + +`BLUETOOTH_PERMISSION_ENABLED` +- May be either TRUE or FALSE. Adds the appropriate entries to an app's Info.plist. + +`BLUETOOTH_PERMISSION_TEXT` +- The text your app will display when it requests bluetooth permissions. + +`SEND_APPLE_EVENTS_PERMISSION_ENABLED` +- May be either TRUE or FALSE. Enable this to allow your app to send Apple events. + +`SEND_APPLE_EVENTS_PERMISSION_TEXT` +- The text your app will display when it requests permission to send Apple events. + +`FILE_SHARING_ENABLED` +- May be either TRUE or FALSE. Adds the appropriate entries to an iOS app's Info.plist. + +`DOCUMENT_BROWSER_ENABLED` +- May be either TRUE or FALSE. Adds the appropriate entries to an iOS app's Info.plist. + +`STATUS_BAR_HIDDEN` +- May be either TRUE or FALSE. Adds the appropriate entries to an iOS app's Info.plist. + + `REQUIRES_FULL_SCREEN` + - May be either TRUE or FALSE. Adds the appropriate entries to an iOS app's Info.plist. + +`BACKGROUND_AUDIO_ENABLED` +- May be either TRUE or FALSE. Adds the appropriate entries to an iOS app's Info.plist. + +`BACKGROUND_BLE_ENABLED` +- May be either TRUE or FALSE. Adds the appropriate entries to an iOS app's Info.plist. + +`APP_GROUPS_ENABLED` +- May be either TRUE or FALSE. Adds the appropriate entries to an iOS app's entitlements. + +`APP_GROUP_IDS` +- The app groups to which your iOS app belongs. These will be added to your app's entitlements. + +`ICLOUD_PERMISSIONS_ENABLED` +- May be either TRUE or FALSE. Adds the appropriate entries to an iOS app's entitlements. + +`IPHONE_SCREEN_ORIENTATIONS` +- May be one or more of `UIInterfaceOrientationUnknown`, `UIInterfaceOrientationPortrait`, + `UIInterfaceOrientationPortraitUpsideDown`, `UIInterfaceOrientationLandscapeLeft`, or + `UIInterfaceOrientationLandscapeRight`. Adds appropriate entries to an iOS app's plist. + +`IPAD_SCREEN_ORIENTATIONS` +- May be one or more of `UIInterfaceOrientationUnknown`, `UIInterfaceOrientationPortrait`, + `UIInterfaceOrientationPortraitUpsideDown`, `UIInterfaceOrientationLandscapeLeft`, or + `UIInterfaceOrientationLandscapeRight`. Adds appropriate entries to an iOS app's plist. + +`LAUNCH_STORYBOARD_FILE` +- A custom launch storyboard file to use on iOS. If not supplied, a default storyboard will be + used. + +`CUSTOM_XCASSETS_FOLDER` +- A path to an xcassets directory, containing icons and/or launch images for this target. If this + is specified, the ICON_BIG and ICON_SMALL arguments will not have an effect on iOS, and a launch + storyboard will not be used. + +`TARGETED_DEVICE_FAMILY` +- Specifies the device families on which the product must be capable of running. Allowed values + are "1", "2", and "1,2"; these correspond to "iPhone/iPod touch", "iPad", and "iPhone/iPod and + iPad" respectively. This will default to "1,2", meaning that the target will target iPhone, + iPod, and iPad. + +`ICON_BIG`, `ICON_SMALL` +- Paths to image files that will be used to generate app icons. If only one of these parameters + is specified, then that image will be used for all icon resolutions. If both arguments are + specified, then the appropriate image will be picked for each icon resolution. + +`COMPANY_COPYRIGHT` +- Copyright text which will be added to the app/plugin's Info.plist. The value of this argument + will be inherited from the `JUCE_COMPANY_COPYRIGHT` property, so if you want to use the same + `COMPANY_COPYRIGHT` for several targets in a build tree, you can call + `set_directory_properties(PROPERTIES JUCE_COMPANY_COPYRIGHT ...)` after including JUCE but + before adding the targets, and then omit the `COMPANY_COPYRIGHT` argument when creating the + individual targets. + +`COMPANY_NAME` +- The name of this target's author. Will be added to the app/plugin's Info.plist, and may be used + to generate part of the `BUNDLE_ID` if no ID was given explicitly. The value of this argument + will be inherited from the `JUCE_COMPANY_NAME` property, so if you want to use the same + `COMPANY_NAME` for several targets in a build tree, you can call + `set_directory_properties(PROPERTIES JUCE_COMPANY_NAME ...)` after including JUCE but before + adding the targets, and then omit the `COMPANY_NAME` argument when creating the individual + targets. + +`COMPANY_WEBSITE` +- The address of a website related to this target in some way. The value of this argument will be + inherited from the `JUCE_COMPANY_WEBSITE` property, so if you want to use the same + `COMPANY_WEBSITE` for several targets in a build tree, you can call + `set_directory_properties(PROPERTIES JUCE_COMPANY_WEBSITE ...)` after including JUCE but before + adding the targets, and then omit the `COMPANY_WEBSITE` argument when creating the individual + targets. + +`COMPANY_EMAIL` +- An email address for this target's author. The value of this argument will be inherited from the + `JUCE_COMPANY_EMAIL` property, so if you want to use the same `COMPANY_EMAIL` for several + targets in a build tree, you can call `set_directory_properties(PROPERTIES JUCE_COMPANY_EMAIL + ...)` after including JUCE but before adding the targets, and then omit the `COMPANY_EMAIL` + argument when creating the individual targets. + +`DOCUMENT_EXTENSIONS` +- File extensions that should be associated with this target. For example, the Projucer passes + the string `jucer` because it wants to open `.jucer` files. If your target has several different + document types, you can pass them as multiple arguments, e.g. `DOCUMENT_EXTENSIONS wav mp3 aif`. + +`NEEDS_CURL` +- On Linux, JUCE may or may not need to link to Curl depending on the compile definitions that are + set on a JUCE target. By default, we don't link Curl because you might not need it, but if you + get linker or include errors that reference Curl, just set this argument to `TRUE`. + +`NEEDS_WEB_BROWSER` +- On Linux, JUCE may or may not need to link to Webkit depending on the compile definitions that + are set on a JUCE target. By default, we don't link Webkit because you might not need it, but + if you get linker or include errors that reference Webkit, just set this argument to `TRUE`. + +`NEEDS_STORE_KIT` +- On macOS, JUCE may or may not need to link to StoreKit depending on the compile definitions that + are set on a JUCE target. By default, we don't link StoreKit because you might not need it, but + if you get linker or include errors that reference StoreKit, just set this argument to `TRUE`. + +`PUSH_NOTIFICATIONS_ENABLED` +- Sets app entitlements to allow push notifications. False by default. + +`NETWORK_MULTICAST_ENABLED` +- Sets app entitlements to allow IP multicast or broadcast on macOS/iOS. False by default. + +`HARDENED_RUNTIME_ENABLED` +- Enables macOS' hardened runtime for this target. Required for notarisation. False by default. + +`HARDENED_RUNTIME_OPTIONS` +- A set of space-separated entitlement keys that will be added to this target's entitlements + plist if `HARDENED_RUNTIME_ENABLED` is `TRUE`. Each key should be in the form + `com.apple.security.*` where `*` is a specific entitlement. + +`APP_SANDBOX_ENABLED` +- Enables macOS' app sandbox for this target. False by default. + +`APP_SANDBOX_INHERIT` +- Allows child processes to inherit the static entitlements of their parent process. If this + is set to `TRUE`, no other app sandbox entitlements will be set on this target. + +`APP_SANDBOX_OPTIONS` +- A set of space-separated entitlement keys that will be added to this target's entitlements + plist if `APP_SANDBOX_ENABLED` is `TRUE`. Each key should be in the form `com.apple.security.*` + where `*` is a specific entitlement. + +`PLIST_TO_MERGE` +- A string to insert into an app/plugin's Info.plist. + +`FORMATS` +- For plugin targets, specifies the plugin targets to build. Should be provided as a + space-separated list. Valid values are `Standalone Unity VST3 AU AUv3 AAX VST`. `AU` and `AUv3` + plugins will only be enabled when building on macOS. It is an error to pass `AAX` or `VST` + without first calling `juce_set_aax_sdk_path` or `juce_set_vst2_sdk_path` respectively. + +`PLUGIN_NAME` +- The name of the plugin. In a DAW environment, this is the name that will be displayed to the + user when they go to load a plugin. This name may differ from the name of the physical plugin + file (to set the name of the plugin file, use the `PRODUCT_NAME` option). If not specified, + the `PLUGIN_NAME` will default to match the `PRODUCT_NAME`. + +`PLUGIN_MANUFACTURER_CODE` +- A four-character unique ID for your company. For AU compatibility, this must contain at least + one upper-case letter. GarageBand 10.3 requires the first letter to be upper-case, and the + remaining letters to be lower-case. + +`PLUGIN_CODE` +- A four-character unique ID for your plugin. For AU compatibility, this must contain exactly one + upper-case letter. GarageBand 10.3 requires the first letter to be upper-case, and the remaining + letters to be lower-case. + +`DESCRIPTION` +- A short description of your plugin. + +`IS_SYNTH` +- Whether the plugin is a synth. Will be used to set sensible plugin category values if they + are not provided explicitly. + +`NEEDS_MIDI_INPUT` +- Whether the plugin should provide a midi input. + +`NEEDS_MIDI_OUTPUT` +- Whether the plugin should provide a midi output. + +`IS_MIDI_EFFECT` +- Whether the plugin is a MIDI effect (some hosts provide a special channel-strip location for + MIDI effect plugins). + +`EDITOR_WANTS_KEYBOARD_FOCUS` +- Whether the plugin requires keyboard focus, or should defer all keyboard handling to the host. + +`DISABLE_AAX_BYPASS` +- Whether the AAX bypass function should be disabled. + +`DISABLE_AAX_MULTI_MONO` +- Whether the AAX multi mono bus layout should be disabled. + +`AAX_IDENTIFIER` +- The bundle ID for the AAX plugin target. Matches the `BUNDLE_ID` by default. + +`VST_NUM_MIDI_INS` +- For VST2 and VST3 plugins that accept midi, this allows you to configure the number of inputs. + +`VST_NUM_MIDI_OUTS` +- For VST2 and VST3 plugins that produce midi, this allows you to configure the number of outputs. + +`VST2_CATEGORY` +- Should be one of: `kPlugCategUnknown`, `kPlugCategEffect`, `kPlugCategSynth`, + `kPlugCategAnalysis`, `kPlugCategMatering`, `kPlugCategSpacializer`, `kPlugCategRoomFx`, + `kPlugSurroundFx`, `kPlugCategRestoration`, `kPlugCategOfflineProcess`, `kPlugCategShell`, + `kPlugCategGenerator`. + +`VST3_CATEGORIES` +- Should be one or more, separated by spaces, of the following: `Fx`, `Instrument`, `Analyzer`, + `Delay`, `Distortion`, `Drum`, `Dynamics`, `EQ`, `External`, `Filter`, `Generator`, `Mastering`, + `Modulation`, `Mono`, `Network`, `NoOfflineProcess`, `OnlyOfflineProcess`, `OnlyRT`, + `Pitch Shift`, `Restoration`, `Reverb`, `Sampler`, `Spatial`, `Stereo`, `Surround`, `Synth`, + `Tools`, `Up-Downmix` + +`AU_MAIN_TYPE` +- Should be one of: `kAudioUnitType_Effect`, `kAudioUnitType_FormatConverter`, + `kAudioUnitType_Generator`, `kAudioUnitType_MIDIProcessor`, `kAudioUnitType_Mixer`, + `kAudioUnitType_MusicDevice`, `kAudioUnitType_MusicEffect`, `kAudioUnitType_OfflineEffect`, + `kAudioUnitType_Output`, `kAudioUnitType_Panner` + +`AU_EXPORT_PREFIX` +- A prefix for the names of entry-point functions that your component exposes. Typically this + will be a version of your plugin's name that can be used as part of a C++ token. Defaults + to your plugin's name with the suffix 'AU'. + +`AU_SANDBOX_SAFE` +- May be either TRUE or FALSE. Adds the appropriate entries to an AU plugin's Info.plist. + +`SUPPRESS_AU_PLIST_RESOURCE_USAGE` +- May be either TRUE or FALSE. Defaults to FALSE. Set this to TRUE to disable the `resourceUsage` + key in the target's plist. This is useful for AU plugins that must access resources which cannot + be declared in the resourceUsage block, such as UNIX domain sockets. In particular, + PACE-protected AU plugins may require this option to be enabled in order for the plugin to load + in GarageBand. + +`AAX_CATEGORY` +- Should be one or more of: `AAX_ePlugInCategory_None`, `AAX_ePlugInCategory_EQ`, + `AAX_ePlugInCategory_Dynamics`, `AAX_ePlugInCategory_PitchShift`, `AAX_ePlugInCategory_Reverb`, + `AAX_ePlugInCategory_Delay`, `AAX_ePlugInCategory_Modulation`, `AAX_ePlugInCategory_Harmonic`, + `AAX_ePlugInCategory_NoiseReduction`, `AAX_ePlugInCategory_Dither`, + `AAX_ePlugInCategory_SoundField`, `AAX_ePlugInCategory_HWGenerators`, + `AAX_ePlugInCategory_SWGenerators`, `AAX_ePlugInCategory_WrappedPlugin`, + `AAX_ePlugInCategory_Effect` + +`PLUGINHOST_AU` +- May be either TRUE or FALSE (defaults to FALSE). If TRUE, will add the preprocessor definition + `JUCE_PLUGINHOST_AU=1` to the new target, and will link the macOS frameworks necessary for + hosting plugins. Using this parameter should be preferred over using + `target_compile_definitions` to manually set the `JUCE_PLUGINHOST_AU` preprocessor definition. + +`USE_LEGACY_COMPATIBILITY_PLUGIN_CODE` +- May be either TRUE or FALSE (defaults to FALSE). If TRUE, will override the value of the + preprocessor definition "JucePlugin_ManufacturerCode" with the hex equivalent of "proj". This + option exists to maintain compatiblity with a previous, buggy version of JUCE's CMake support + which mishandled the manufacturer code property. Most projects should leave this option set to + its default value. + +`COPY_PLUGIN_AFTER_BUILD` +- Whether or not to install the plugin to the current system after building. False by default. + If you want all of the plugins in a subdirectory to be installed automatically after building, + you can set the property `JUCE_COPY_PLUGIN_AFTER_BUILD` on the directory before adding the + plugins, rather than setting this argument on each individual target. Note that on Windows, + the default install locations may not be writable by normal user accounts. + +`VST_COPY_DIR` +- The location to which VST2 (legacy) plugins will be copied after building if + `COPY_PLUGIN_AFTER_BUILD` is set on this target. If you want to install all of the VST2 plugins + in a subdirectory to a non-default location, you can set the `JUCE_VST_COPY_DIR` property on + the directory before adding the plugin targets, rather than setting this argument on each + individual target. + +`VST3_COPY_DIR` +- The location to which VST3 plugins will be copied after building if `COPY_PLUGIN_AFTER_BUILD` + is set on this target. If you want to install all of the VST3 plugins in a subdirectory to a + non-default location, you can set the `JUCE_VST3_COPY_DIR` property on the directory before + adding the plugin targets, rather than setting this argument on each individual target. + +`AAX_COPY_DIR` +- The location to which AAX plugins will be copied after building if `COPY_PLUGIN_AFTER_BUILD` + is set on this target. If you want to install all of the AAX plugins in a subdirectory to a + non-default location, you can set the `JUCE_AAX_COPY_DIR` property on the directory before + adding the plugin targets, rather than setting this argument on each individual target. + +`AU_COPY_DIR` +- The location to which AU plugins will be copied after building if `COPY_PLUGIN_AFTER_BUILD` + is set on this target. If you want to install all of the AU plugins in a subdirectory to a + non-default location, you can set the `JUCE_AU_COPY_DIR` property on the directory before + adding the plugin targets, rather than setting this argument on each individual target. + +`UNITY_COPY_DIR` +- The location to which Unity plugins will be copied after building if `COPY_PLUGIN_AFTER_BUILD` + is set on this target. If you want to install all of the Unity plugins in a subdirectory to a + non-default location, you can set the `JUCE_UNITY_COPY_DIR` property on the directory before + adding the plugin targets, rather than setting this argument on each individual target. + Unlike the other `COPY_DIR` arguments, this argument does not have a default value so be sure + to set it if you have enabled `COPY_PLUGIN_AFTER_BUILD` and the `Unity` format. #### `juce_add_binary_data` diff --git a/docs/doxygen/Doxyfile b/docs/doxygen/Doxyfile index c7d11a83..15ec9ea4 100644 --- a/docs/doxygen/Doxyfile +++ b/docs/doxygen/Doxyfile @@ -802,8 +802,8 @@ WARN_LOGFILE = # Note: If this tag is empty the current directory is searched. INPUT = build \ - "../JUCE Module Format.md" \ - "../CMake API.md" + "build/JUCE Module Format.md" \ + "build/CMake API.md" # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses diff --git a/docs/doxygen/process_source_files.py b/docs/doxygen/process_source_files.py index d9862ff7..c38135da 100644 --- a/docs/doxygen/process_source_files.py +++ b/docs/doxygen/process_source_files.py @@ -173,3 +173,8 @@ if __name__ == "__main__": # Create an extra header file containing the module hierarchy. with open(os.path.join(args.dest_dir, "juce_modules.dox"), "w") as f: f.write("\r\n\r\n".join(module_definitions)) + + # Copy markdown docs + for name in ["JUCE Module Format.md", "CMake API.md"]: + shutil.copyfile(os.path.join(args.source_dir, "..", "docs", name), + os.path.join(args.dest_dir, name)) diff --git a/examples/Assets/DSPDemos_Common.h b/examples/Assets/DSPDemos_Common.h index 841a7c76..07a2bd7c 100644 --- a/examples/Assets/DSPDemos_Common.h +++ b/examples/Assets/DSPDemos_Common.h @@ -308,7 +308,11 @@ struct DSPDemo : public AudioSource, void getNextAudioBlock (const AudioSourceChannelInfo& bufferToFill) override { - jassert (bufferToFill.buffer != nullptr); + if (bufferToFill.buffer == nullptr) + { + jassertfalse; + return; + } inputSource->getNextAudioBlock (bufferToFill); @@ -414,7 +418,7 @@ public: #endif { if (newReader == nullptr) - newReader = formatManager.createReaderFor (fileToPlay.createInputStream (false)); + newReader = formatManager.createReaderFor (fileToPlay.createInputStream (URL::InputStreamOptions (URL::ParameterHandling::inAddress))); } reader.reset (newReader); diff --git a/examples/Assets/DemoUtilities.h b/examples/Assets/DemoUtilities.h index 96cf595a..73ac930a 100644 --- a/examples/Assets/DemoUtilities.h +++ b/examples/Assets/DemoUtilities.h @@ -17,14 +17,11 @@ ============================================================================== */ -#pragma once +#ifndef PIP_DEMO_UTILITIES_INCLUDED +#define PIP_DEMO_UTILITIES_INCLUDED 1 #include -#ifndef PIP_DEMO_UTILITIES_INCLUDED - #define PIP_DEMO_UTILITIES_INCLUDED 1 -#endif - //============================================================================== /* This file contains a bunch of miscellaneous utilities that are @@ -145,19 +142,10 @@ inline String loadEntireAssetIntoString (const char* assetName) inline Path getJUCELogoPath() { return Drawable::parseSVGPath ( - "M250,301.3c-37.2,0-67.5-30.3-67.5-67.5s30.3-67.5,67.5-67.5s67.5,30.3,67.5,67.5S287.2,301.3,250,301.3zM250,170.8c-34.7,0-63,28.3-63,63s28.3,63,63,63s63-28.3,63-63S284.7,170.8,250,170.8z" - "M247.8,180.4c0-2.3-1.8-4.1-4.1-4.1c-0.2,0-0.3,0-0.5,0c-10.6,1.2-20.6,5.4-29,12c-1,0.8-1.5,1.8-1.6,2.9c-0.1,1.2,0.4,2.3,1.3,3.2l32.5,32.5c0.5,0.5,1.4,0.1,1.4-0.6V180.4z" - "M303.2,231.6c1.2,0,2.3-0.4,3.1-1.2c0.9-0.9,1.3-2.1,1.1-3.3c-1.2-10.6-5.4-20.6-12-29c-0.8-1-1.9-1.6-3.2-1.6c-1.1,0-2.1,0.5-3,1.3l-32.5,32.5c-0.5,0.5-0.1,1.4,0.6,1.4L303.2,231.6z" - "M287.4,191.3c-0.1-1.1-0.6-2.2-1.6-2.9c-8.4-6.6-18.4-10.8-29-12c-0.2,0-0.3,0-0.5,0c-2.3,0-4.1,1.9-4.1,4.1v46c0,0.7,0.9,1.1,1.4,0.6l32.5-32.5C287,193.6,287.5,192.5,287.4,191.3z" - "M252.2,287.2c0,2.3,1.8,4.1,4.1,4.1c0.2,0,0.3,0,0.5,0c10.6-1.2,20.6-5.4,29-12c1-0.8,1.5-1.8,1.6-2.9c0.1-1.2-0.4-2.3-1.3-3.2l-32.5-32.5c-0.5-0.5-1.4-0.1-1.4,0.6V287.2z" - "M292.3,271.2L292.3,271.2c1.2,0,2.4-0.6,3.2-1.6c6.6-8.4,10.8-18.4,12-29c0.1-1.2-0.3-2.4-1.1-3.3c-0.8-0.8-1.9-1.2-3.1-1.2l-45.9,0c-0.7,0-1.1,0.9-0.6,1.4l32.5,32.5C290.2,270.8,291.2,271.2,292.3,271.2z" - "M207.7,196.4c-1.2,0-2.4,0.6-3.2,1.6c-6.6,8.4-10.8,18.4-12,29c-0.1,1.2,0.3,2.4,1.1,3.3c0.8,0.8,1.9,1.2,3.1,1.2l45.9,0c0.7,0,1.1-0.9,0.6-1.4l-32.5-32.5C209.8,196.8,208.8,196.4,207.7,196.4z" - "M242.6,236.1l-45.9,0c-1.2,0-2.3,0.4-3.1,1.2c-0.9,0.9-1.3,2.1-1.1,3.3c1.2,10.6,5.4,20.6,12,29c0.8,1,1.9,1.6,3.2,1.6c1.1,0,2.1-0.5,3-1.3c0,0,0,0,0,0l32.5-32.5C243.7,236.9,243.4,236.1,242.6,236.1z" - "M213.8,273.1L213.8,273.1c-0.9,0.9-1.3,2-1.3,3.2c0.1,1.1,0.6,2.2,1.6,2.9c8.4,6.6,18.4,10.8,29,12c0.2,0,0.3,0,0.5,0h0c1.2,0,2.3-0.5,3.1-1.4c0.7-0.8,1-1.8,1-2.9v-45.9c0-0.7-0.9-1.1-1.4-0.6l-13.9,13.9L213.8,273.1z" - "M197.2,353c-4.1,0-7.4-1.5-10.4-5.4l4-3.5c2,2.6,3.9,3.6,6.4,3.6c4.4,0,7.4-3.3,7.4-8.3v-24.7h5.6v24.7C210.2,347.5,204.8,353,197.2,353z" - "M232.4,353c-8.1,0-15-6-15-15.8v-22.5h5.6v22.2c0,6.6,3.9,10.8,9.5,10.8c5.6,0,9.5-4.3,9.5-10.8v-22.2h5.6v22.5C247.5,347,240.5,353,232.4,353z" - "M272,353c-10.8,0-19.5-8.6-19.5-19.3c0-10.8,8.8-19.3,19.5-19.3c4.8,0,9,1.6,12.3,4.4l-3.3,4.1c-3.4-2.4-5.7-3.2-8.9-3.2c-7.7,0-13.8,6.2-13.8,14.1c0,7.9,6.1,14.1,13.8,14.1c3.1,0,5.6-1,8.8-3.2l3.3,4.1C280.1,351.9,276.4,353,272,353z" - "M290.4,352.5v-37.8h22.7v5H296v11.2h16.5v5H296v11.6h17.2v5H290.4z"); + "M72.87 84.28A42.36 42.36 0 0130.4 42.14a42.48 42.48 0 0184.95 0 42.36 42.36 0 01-42.48 42.14zm0-78.67A36.74 36.74 0 0036 42.14a36.88 36.88 0 0073.75 0A36.75 36.75 0 0072.87 5.61z" + "M77.62 49.59a177.77 177.77 0 008.74 18.93A4.38 4.38 0 0092.69 70a34.5 34.5 0 008.84-9 4.3 4.3 0 00-2.38-6.49A176.73 176.73 0 0180 47.32a1.78 1.78 0 00-2.38 2.27zM81.05 44.27a169.68 169.68 0 0020.13 7.41 4.39 4.39 0 005.52-3.41 34.42 34.42 0 00.55-6.13 33.81 33.81 0 00-.67-6.72 4.37 4.37 0 00-6.31-3A192.32 192.32 0 0181.1 41a1.76 1.76 0 00-.05 3.27zM74.47 50.44a1.78 1.78 0 00-3.29 0 165.54 165.54 0 00-7.46 19.89 4.33 4.33 0 003.47 5.48 35.49 35.49 0 005.68.46 34.44 34.44 0 007.13-.79 4.32 4.32 0 003-6.25 187.83 187.83 0 01-8.53-18.79zM71.59 34.12a1.78 1.78 0 003.29.05 163.9 163.9 0 007.52-20.11A4.34 4.34 0 0079 8.59a35.15 35.15 0 00-13.06.17 4.32 4.32 0 00-3 6.26 188.41 188.41 0 018.65 19.1zM46.32 30.3a176.2 176.2 0 0120 7.48 1.78 1.78 0 002.37-2.28 180.72 180.72 0 00-9.13-19.84 4.38 4.38 0 00-6.33-1.47 34.27 34.27 0 00-9.32 9.65 4.31 4.31 0 002.41 6.46zM68.17 49.18a1.77 1.77 0 00-2.29-2.34 181.71 181.71 0 00-19.51 8.82A4.3 4.3 0 0044.91 62a34.36 34.36 0 009.42 8.88 4.36 4.36 0 006.5-2.38 175.11 175.11 0 017.34-19.32zM77.79 35.59a1.78 1.78 0 002.3 2.35 182.51 182.51 0 0019.6-8.88 4.3 4.3 0 001.5-6.25 34.4 34.4 0 00-9.41-9.14A4.36 4.36 0 0085.24 16a174.51 174.51 0 01-7.45 19.59zM64.69 40.6a167.72 167.72 0 00-20.22-7.44A4.36 4.36 0 0039 36.6a33.68 33.68 0 00-.45 5.54 34 34 0 00.81 7.4 4.36 4.36 0 006.28 2.84 189.19 189.19 0 0119-8.52 1.76 1.76 0 00.05-3.26zM20 129.315c0 5-2.72 8.16-7.11 8.16-2.37 0-4.17-1-6.2-3.56l-.69-.78-6 5 .57.76c3.25 4.36 7.16 6.39 12.31 6.39 9 0 15.34-6.57 15.34-16v-28.1H20zM61.69 126.505c0 6.66-3.76 11-9.57 11-5.81 0-9.56-4.31-9.56-11v-25.32h-8.23v25.69c0 10.66 7.4 18.4 17.6 18.4 10 0 17.61-7.72 18-18.4v-25.69h-8.24zM106.83 134.095c-3.58 2.43-6.18 3.38-9.25 3.38a14.53 14.53 0 010-29c3.24 0 5.66.88 9.25 3.38l.76.53 4.78-6-.75-.62a22.18 22.18 0 00-14.22-5.1 22.33 22.33 0 100 44.65 21.53 21.53 0 0014.39-5.08l.81-.64-5-6zM145.75 137.285h-19.06v-10.72h18.3v-7.61h-18.3v-10.16h19.06v-7.61h-27.28v43.53h27.28z" + "M68.015 83.917c-7.723-.902-15.472-4.123-21.566-8.966-8.475-6.736-14.172-16.823-15.574-27.575C29.303 35.31 33.538 22.7 42.21 13.631 49.154 6.368 58.07 1.902 68.042.695c2.15-.26 7.524-.26 9.675 0 12.488 1.512 23.464 8.25 30.437 18.686 8.332 12.471 9.318 28.123 2.605 41.368-2.28 4.5-4.337 7.359-7.85 10.909A42.273 42.273 0 0177.613 83.92c-2.027.227-7.644.225-9.598-.003zm7.823-5.596c8.435-.415 17.446-4.678 23.683-11.205 5.976-6.254 9.35-13.723 10.181-22.537.632-6.705-1.346-14.948-5.065-21.108C98.88 13.935 89.397 7.602 78.34 5.906c-2.541-.39-8.398-.386-10.96.006C53.54 8.034 42.185 17.542 37.81 30.67c-2.807 8.426-2.421 17.267 1.11 25.444 4.877 11.297 14.959 19.41 26.977 21.709 2.136.408 6.1.755 7.377.645.325-.028 1.48-.094 2.564-.147z" + ); } //============================================================================== @@ -253,3 +241,5 @@ struct SlowerBouncingNumber : public BouncingNumber speed *= 0.3; } }; + +#endif // PIP_DEMO_UTILITIES_INCLUDED diff --git a/examples/Assets/juce_icon.png b/examples/Assets/juce_icon.png index 2564a24f..7bccd5ba 100644 Binary files a/examples/Assets/juce_icon.png and b/examples/Assets/juce_icon.png differ diff --git a/examples/Assets/juce_icon_template.png b/examples/Assets/juce_icon_template.png index e2964f1c..b6a8314e 100644 Binary files a/examples/Assets/juce_icon_template.png and b/examples/Assets/juce_icon_template.png differ diff --git a/examples/Audio/AudioPlaybackDemo.h b/examples/Audio/AudioPlaybackDemo.h index deeb4673..e62dc93c 100644 --- a/examples/Audio/AudioPlaybackDemo.h +++ b/examples/Audio/AudioPlaybackDemo.h @@ -456,7 +456,7 @@ private: #endif { if (reader == nullptr) - reader = formatManager.createReaderFor (audioURL.createInputStream (false)); + reader = formatManager.createReaderFor (audioURL.createInputStream (URL::InputStreamOptions (URL::ParameterHandling::inAddress))); } if (reader != nullptr) diff --git a/examples/DSP/SIMDRegisterDemo.h b/examples/DSP/SIMDRegisterDemo.h index 3bf5e8a8..02755c89 100644 --- a/examples/DSP/SIMDRegisterDemo.h +++ b/examples/DSP/SIMDRegisterDemo.h @@ -53,6 +53,14 @@ using namespace dsp; +template +static T* toBasePointer (SIMDRegister* r) noexcept +{ + return reinterpret_cast (r); +} + +constexpr auto registerSize = dsp::SIMDRegister::size(); + //============================================================================== struct SIMDRegisterDemoDSP { @@ -73,33 +81,40 @@ struct SIMDRegisterDemoDSP iir->prepare (monoSpec); } + template + auto prepareChannelPointers (const AudioBlock& block) + { + std::array result {}; + + for (size_t ch = 0; ch < result.size(); ++ch) + result[ch] = (ch < block.getNumChannels() ? block.getChannelPointer (ch) : zero.getChannelPointer (ch)); + + return result; + } + void process (const ProcessContextReplacing& context) { jassert (context.getInputBlock().getNumSamples() == context.getOutputBlock().getNumSamples()); jassert (context.getInputBlock().getNumChannels() == context.getOutputBlock().getNumChannels()); - auto& input = context.getInputBlock(); - auto& output = context.getOutputBlock(); - auto n = input.getNumSamples(); - auto* inout = channelPointers.getData(); + const auto& input = context.getInputBlock(); + const auto numSamples = (int) input.getNumSamples(); + auto inChannels = prepareChannelPointers (input); - for (size_t ch = 0; ch < SIMDRegister::size(); ++ch) - inout[ch] = (ch < input.getNumChannels() ? const_cast (input.getChannelPointer (ch)) : zero.getChannelPointer (ch)); - - AudioDataConverters::interleaveSamples (inout, reinterpret_cast (interleaved.getChannelPointer (0)), - static_cast (n), static_cast (SIMDRegister::size())); + using Format = AudioData::Format; + AudioData::interleaveSamples (AudioData::NonInterleavedSource { inChannels.data(), registerSize, }, + AudioData::InterleavedDest { toBasePointer (interleaved.getChannelPointer (0)), registerSize }, + numSamples); iir->process (ProcessContextReplacing> (interleaved)); + auto outChannels = prepareChannelPointers (context.getOutputBlock()); - for (size_t ch = 0; ch < input.getNumChannels(); ++ch) - inout[ch] = output.getChannelPointer (ch); - - AudioDataConverters::deinterleaveSamples (reinterpret_cast (interleaved.getChannelPointer (0)), - const_cast (inout), - static_cast (n), static_cast (SIMDRegister::size())); + AudioData::deinterleaveSamples (AudioData::InterleavedSource { toBasePointer (interleaved.getChannelPointer (0)), registerSize }, + AudioData::NonInterleavedDest { outChannels.data(), registerSize }, + numSamples); } void reset() @@ -132,7 +147,6 @@ struct SIMDRegisterDemoDSP AudioBlock zero; HeapBlock interleavedBlockData, zeroData; - HeapBlock channelPointers { SIMDRegister::size() }; ChoiceParameter typeParam { { "Low-pass", "High-pass", "Band-pass" }, 1, "Type" }; SliderParameter cutoffParam { { 20.0, 20000.0 }, 0.5, 440.0f, "Cutoff", "Hz" }; diff --git a/examples/DemoRunner/Builds/Android/app/CMakeLists.txt b/examples/DemoRunner/Builds/Android/app/CMakeLists.txt index 478bb740..b7888425 100644 --- a/examples/DemoRunner/Builds/Android/app/CMakeLists.txt +++ b/examples/DemoRunner/Builds/Android/app/CMakeLists.txt @@ -12,7 +12,7 @@ add_subdirectory (${OBOE_DIR} ./oboe) add_library("cpufeatures" STATIC "${ANDROID_NDK}/sources/android/cpufeatures/cpu-features.c") set_source_files_properties("${ANDROID_NDK}/sources/android/cpufeatures/cpu-features.c" PROPERTIES COMPILE_FLAGS "-Wno-sign-conversion -Wno-gnu-statement-expression") -add_definitions("-DJUCE_ANDROID=1" "-DJUCE_ANDROID_API_VERSION=23" "-DJUCE_PUSH_NOTIFICATIONS=1" "-DJUCE_PUSH_NOTIFICATIONS_ACTIVITY=\"com/rmsl/juce/JuceActivity\"" "-DJUCE_CONTENT_SHARING=1" "-DJUCE_ANDROID_GL_ES_VERSION_3_0=1" "-DJUCE_DEMO_RUNNER=1" "-DJUCE_UNIT_TESTS=1" "-DJUCER_ANDROIDSTUDIO_7F0E4A25=1" "-DJUCE_APP_VERSION=6.1.0" "-DJUCE_APP_VERSION_HEX=0x60100") +add_definitions([[-DJUCE_ANDROID=1]] [[-DJUCE_ANDROID_API_VERSION=23]] [[-DJUCE_PUSH_NOTIFICATIONS=1]] [[-DJUCE_PUSH_NOTIFICATIONS_ACTIVITY="com/rmsl/juce/JuceActivity"]] [[-DJUCE_CONTENT_SHARING=1]] [[-DJUCE_ANDROID_GL_ES_VERSION_3_0=1]] [[-DJUCE_DEMO_RUNNER=1]] [[-DJUCE_UNIT_TESTS=1]] [[-DJUCER_ANDROIDSTUDIO_7F0E4A25=1]] [[-DJUCE_APP_VERSION=6.1.3]] [[-DJUCE_APP_VERSION_HEX=0x60103]]) include_directories( AFTER "../../../JuceLibraryCode" @@ -23,9 +23,9 @@ include_directories( AFTER enable_language(ASM) if(JUCE_BUILD_CONFIGURATION MATCHES "DEBUG") - add_definitions("-DJUCE_DISPLAY_SPLASH_SCREEN=0" "-DJUCE_USE_DARK_SPLASH_SCREEN=1" "-DJUCE_PROJUCER_VERSION=0x60100" "-DJUCE_MODULE_AVAILABLE_juce_analytics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1" "-DJUCE_MODULE_AVAILABLE_juce_box2d=1" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_MODULE_AVAILABLE_juce_cryptography=1" "-DJUCE_MODULE_AVAILABLE_juce_data_structures=1" "-DJUCE_MODULE_AVAILABLE_juce_dsp=1" "-DJUCE_MODULE_AVAILABLE_juce_events=1" "-DJUCE_MODULE_AVAILABLE_juce_graphics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1" "-DJUCE_MODULE_AVAILABLE_juce_opengl=1" "-DJUCE_MODULE_AVAILABLE_juce_osc=1" "-DJUCE_MODULE_AVAILABLE_juce_product_unlocking=1" "-DJUCE_MODULE_AVAILABLE_juce_video=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_USE_MP3AUDIOFORMAT=1" "-DJUCE_ALLOW_STATIC_NULL_VARIABLES=0" "-DJUCE_STRICT_REFCOUNTEDPOINTER=1" "-DJUCE_USE_CAMERA=1" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCE_DEMO_RUNNER=1" "-DJUCE_UNIT_TESTS=1" "-DJUCER_ANDROIDSTUDIO_7F0E4A25=1" "-DJUCE_APP_VERSION=6.1.0" "-DJUCE_APP_VERSION_HEX=0x60100" "-DDEBUG=1" "-D_DEBUG=1") + add_definitions([[-DJUCE_DISPLAY_SPLASH_SCREEN=0]] [[-DJUCE_USE_DARK_SPLASH_SCREEN=1]] [[-DJUCE_PROJUCER_VERSION=0x60103]] [[-DJUCE_MODULE_AVAILABLE_juce_analytics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1]] [[-DJUCE_MODULE_AVAILABLE_juce_box2d=1]] [[-DJUCE_MODULE_AVAILABLE_juce_core=1]] [[-DJUCE_MODULE_AVAILABLE_juce_cryptography=1]] [[-DJUCE_MODULE_AVAILABLE_juce_data_structures=1]] [[-DJUCE_MODULE_AVAILABLE_juce_dsp=1]] [[-DJUCE_MODULE_AVAILABLE_juce_events=1]] [[-DJUCE_MODULE_AVAILABLE_juce_graphics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1]] [[-DJUCE_MODULE_AVAILABLE_juce_opengl=1]] [[-DJUCE_MODULE_AVAILABLE_juce_osc=1]] [[-DJUCE_MODULE_AVAILABLE_juce_product_unlocking=1]] [[-DJUCE_MODULE_AVAILABLE_juce_video=1]] [[-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1]] [[-DJUCE_USE_MP3AUDIOFORMAT=1]] [[-DJUCE_ALLOW_STATIC_NULL_VARIABLES=0]] [[-DJUCE_STRICT_REFCOUNTEDPOINTER=1]] [[-DJUCE_USE_CAMERA=1]] [[-DJUCE_STANDALONE_APPLICATION=1]] [[-DJUCE_DEMO_RUNNER=1]] [[-DJUCE_UNIT_TESTS=1]] [[-DJUCER_ANDROIDSTUDIO_7F0E4A25=1]] [[-DJUCE_APP_VERSION=6.1.3]] [[-DJUCE_APP_VERSION_HEX=0x60103]] [[-DDEBUG=1]] [[-D_DEBUG=1]]) elseif(JUCE_BUILD_CONFIGURATION MATCHES "RELEASE") - add_definitions("-DJUCE_DISPLAY_SPLASH_SCREEN=0" "-DJUCE_USE_DARK_SPLASH_SCREEN=1" "-DJUCE_PROJUCER_VERSION=0x60100" "-DJUCE_MODULE_AVAILABLE_juce_analytics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1" "-DJUCE_MODULE_AVAILABLE_juce_box2d=1" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_MODULE_AVAILABLE_juce_cryptography=1" "-DJUCE_MODULE_AVAILABLE_juce_data_structures=1" "-DJUCE_MODULE_AVAILABLE_juce_dsp=1" "-DJUCE_MODULE_AVAILABLE_juce_events=1" "-DJUCE_MODULE_AVAILABLE_juce_graphics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1" "-DJUCE_MODULE_AVAILABLE_juce_opengl=1" "-DJUCE_MODULE_AVAILABLE_juce_osc=1" "-DJUCE_MODULE_AVAILABLE_juce_product_unlocking=1" "-DJUCE_MODULE_AVAILABLE_juce_video=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_USE_MP3AUDIOFORMAT=1" "-DJUCE_ALLOW_STATIC_NULL_VARIABLES=0" "-DJUCE_STRICT_REFCOUNTEDPOINTER=1" "-DJUCE_USE_CAMERA=1" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCE_DEMO_RUNNER=1" "-DJUCE_UNIT_TESTS=1" "-DJUCER_ANDROIDSTUDIO_7F0E4A25=1" "-DJUCE_APP_VERSION=6.1.0" "-DJUCE_APP_VERSION_HEX=0x60100" "-DNDEBUG=1") + add_definitions([[-DJUCE_DISPLAY_SPLASH_SCREEN=0]] [[-DJUCE_USE_DARK_SPLASH_SCREEN=1]] [[-DJUCE_PROJUCER_VERSION=0x60103]] [[-DJUCE_MODULE_AVAILABLE_juce_analytics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1]] [[-DJUCE_MODULE_AVAILABLE_juce_box2d=1]] [[-DJUCE_MODULE_AVAILABLE_juce_core=1]] [[-DJUCE_MODULE_AVAILABLE_juce_cryptography=1]] [[-DJUCE_MODULE_AVAILABLE_juce_data_structures=1]] [[-DJUCE_MODULE_AVAILABLE_juce_dsp=1]] [[-DJUCE_MODULE_AVAILABLE_juce_events=1]] [[-DJUCE_MODULE_AVAILABLE_juce_graphics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1]] [[-DJUCE_MODULE_AVAILABLE_juce_opengl=1]] [[-DJUCE_MODULE_AVAILABLE_juce_osc=1]] [[-DJUCE_MODULE_AVAILABLE_juce_product_unlocking=1]] [[-DJUCE_MODULE_AVAILABLE_juce_video=1]] [[-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1]] [[-DJUCE_USE_MP3AUDIOFORMAT=1]] [[-DJUCE_ALLOW_STATIC_NULL_VARIABLES=0]] [[-DJUCE_STRICT_REFCOUNTEDPOINTER=1]] [[-DJUCE_USE_CAMERA=1]] [[-DJUCE_STANDALONE_APPLICATION=1]] [[-DJUCE_DEMO_RUNNER=1]] [[-DJUCE_UNIT_TESTS=1]] [[-DJUCER_ANDROIDSTUDIO_7F0E4A25=1]] [[-DJUCE_APP_VERSION=6.1.3]] [[-DJUCE_APP_VERSION_HEX=0x60103]] [[-DNDEBUG=1]]) else() message( FATAL_ERROR "No matching build-configuration found." ) endif() @@ -605,6 +605,7 @@ add_library( ${BINARY_NAME} "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameterGroup.h" "../../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp" "../../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.h" + "../../../../../modules/juce_audio_processors/processors/juce_HostedAudioProcessorParameter.h" "../../../../../modules/juce_audio_processors/processors/juce_PluginDescription.cpp" "../../../../../modules/juce_audio_processors/processors/juce_PluginDescription.h" "../../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp" @@ -789,6 +790,7 @@ add_library( ${BINARY_NAME} "../../../../../modules/juce_core/containers/juce_ReferenceCountedArray.cpp" "../../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h" "../../../../../modules/juce_core/containers/juce_ScopedValueSetter.h" + "../../../../../modules/juce_core/containers/juce_SingleThreadedAbstractFifo.h" "../../../../../modules/juce_core/containers/juce_SortedSet.h" "../../../../../modules/juce_core/containers/juce_SparseSet.cpp" "../../../../../modules/juce_core/containers/juce_SparseSet.h" @@ -844,6 +846,7 @@ add_library( ${BINARY_NAME} "../../../../../modules/juce_core/memory/juce_MemoryBlock.h" "../../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h" "../../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h" + "../../../../../modules/juce_core/memory/juce_Reservoir.h" "../../../../../modules/juce_core/memory/juce_ScopedPointer.h" "../../../../../modules/juce_core/memory/juce_SharedResourcePointer.h" "../../../../../modules/juce_core/memory/juce_Singleton.h" @@ -1234,6 +1237,7 @@ add_library( ${BINARY_NAME} "../../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h" "../../../../../modules/juce_graphics/geometry/juce_Point.h" "../../../../../modules/juce_graphics/geometry/juce_Rectangle.h" + "../../../../../modules/juce_graphics/geometry/juce_Rectangle_test.cpp" "../../../../../modules/juce_graphics/geometry/juce_RectangleList.h" "../../../../../modules/juce_graphics/image_formats/jpglib/cderror.h" "../../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt" @@ -1328,6 +1332,7 @@ add_library( ${BINARY_NAME} "../../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h" "../../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp" "../../../../../modules/juce_graphics/images/juce_ImageFileFormat.h" + "../../../../../modules/juce_graphics/images/juce_ScaledImage.h" "../../../../../modules/juce_graphics/native/juce_android_Fonts.cpp" "../../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp" "../../../../../modules/juce_graphics/native/juce_android_IconHelpers.cpp" @@ -1590,6 +1595,7 @@ add_library( ${BINARY_NAME} "../../../../../modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm" "../../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm" "../../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h" + "../../../../../modules/juce_gui_basics/native/juce_ScopedDPIAwarenessDisabler.h" "../../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp" "../../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp" "../../../../../modules/juce_gui_basics/native/juce_win32_ScopedThreadDPIAwarenessSetter.h" @@ -1692,7 +1698,6 @@ add_library( ${BINARY_NAME} "../../../../../modules/juce_gui_extra/embedding/juce_AndroidViewComponent.h" "../../../../../modules/juce_gui_extra/embedding/juce_HWNDComponent.h" "../../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h" - "../../../../../modules/juce_gui_extra/embedding/juce_ScopedDPIAwarenessDisabler.h" "../../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h" "../../../../../modules/juce_gui_extra/embedding/juce_XEmbedComponent.h" "../../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp" @@ -2409,6 +2414,7 @@ set_source_files_properties("../../../../../modules/juce_audio_processors/proces set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameterGroup.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_HostedAudioProcessorParameter.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_PluginDescription.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_PluginDescription.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) @@ -2593,6 +2599,7 @@ set_source_files_properties("../../../../../modules/juce_core/containers/juce_Pr set_source_files_properties("../../../../../modules/juce_core/containers/juce_ReferenceCountedArray.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_core/containers/juce_ScopedValueSetter.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_SingleThreadedAbstractFifo.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_core/containers/juce_SortedSet.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_core/containers/juce_SparseSet.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_core/containers/juce_SparseSet.h" PROPERTIES HEADER_FILE_ONLY TRUE) @@ -2648,6 +2655,7 @@ set_source_files_properties("../../../../../modules/juce_core/memory/juce_Memory set_source_files_properties("../../../../../modules/juce_core/memory/juce_MemoryBlock.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/memory/juce_Reservoir.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_core/memory/juce_ScopedPointer.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_core/memory/juce_SharedResourcePointer.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_core/memory/juce_Singleton.h" PROPERTIES HEADER_FILE_ONLY TRUE) @@ -3038,6 +3046,7 @@ set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_ set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_Point.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_Rectangle.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_Rectangle_test.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_RectangleList.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/cderror.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt" PROPERTIES HEADER_FILE_ONLY TRUE) @@ -3132,6 +3141,7 @@ set_source_files_properties("../../../../../modules/juce_graphics/images/juce_Im set_source_files_properties("../../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_graphics/images/juce_ImageFileFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/images/juce_ScaledImage.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_graphics/native/juce_android_Fonts.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_graphics/native/juce_android_IconHelpers.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) @@ -3394,6 +3404,7 @@ set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_ set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_ScopedDPIAwarenessDisabler.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_win32_ScopedThreadDPIAwarenessSetter.h" PROPERTIES HEADER_FILE_ONLY TRUE) @@ -3496,7 +3507,6 @@ set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juc set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_AndroidViewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_HWNDComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_ScopedDPIAwarenessDisabler.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_XEmbedComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) @@ -3631,11 +3641,11 @@ set_source_files_properties("../../../JuceLibraryCode/JuceHeader.h" PROPERTIES H target_compile_options( ${BINARY_NAME} PRIVATE "-fsigned-char" ) if( JUCE_BUILD_CONFIGURATION MATCHES "DEBUG" ) - target_compile_options( ${BINARY_NAME} PRIVATE -Wall -Wshadow-all -Wshorten-64-to-32 -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wconversion -Wsign-compare -Wint-conversion -Wconditional-uninitialized -Woverloaded-virtual -Wreorder -Wconstant-conversion -Wsign-conversion -Wunused-private-field -Wbool-conversion -Wextra-semi -Wunreachable-code -Wzero-as-null-pointer-constant -Wcast-align -Winconsistent-missing-destructor-override -Wshift-sign-overflow -Wnullable-to-nonnull-conversion -Wno-missing-field-initializers -Wno-ignored-qualifiers -Wswitch-enum) + target_compile_options( ${BINARY_NAME} PRIVATE -Wall -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wswitch-enum -Wsign-conversion -Wsign-compare -Wunreachable-code -Wcast-align -Wno-ignored-qualifiers -Wshorten-64-to-32 -Wconversion -Wint-conversion -Wconditional-uninitialized -Wconstant-conversion -Wbool-conversion -Wextra-semi -Wshift-sign-overflow -Wno-missing-field-initializers -Wshadow-all -Wnullable-to-nonnull-conversion -Woverloaded-virtual -Wreorder -Wzero-as-null-pointer-constant -Wunused-private-field -Winconsistent-missing-destructor-override) endif() if( JUCE_BUILD_CONFIGURATION MATCHES "RELEASE" ) - target_compile_options( ${BINARY_NAME} PRIVATE -Wall -Wshadow-all -Wshorten-64-to-32 -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wconversion -Wsign-compare -Wint-conversion -Wconditional-uninitialized -Woverloaded-virtual -Wreorder -Wconstant-conversion -Wsign-conversion -Wunused-private-field -Wbool-conversion -Wextra-semi -Wunreachable-code -Wzero-as-null-pointer-constant -Wcast-align -Winconsistent-missing-destructor-override -Wshift-sign-overflow -Wnullable-to-nonnull-conversion -Wno-missing-field-initializers -Wno-ignored-qualifiers -Wswitch-enum) + target_compile_options( ${BINARY_NAME} PRIVATE -Wall -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wswitch-enum -Wsign-conversion -Wsign-compare -Wunreachable-code -Wcast-align -Wno-ignored-qualifiers -Wshorten-64-to-32 -Wconversion -Wint-conversion -Wconditional-uninitialized -Wconstant-conversion -Wbool-conversion -Wextra-semi -Wshift-sign-overflow -Wno-missing-field-initializers -Wshadow-all -Wnullable-to-nonnull-conversion -Woverloaded-virtual -Wreorder -Wzero-as-null-pointer-constant -Wunused-private-field -Winconsistent-missing-destructor-override) endif() find_library(log "log") diff --git a/examples/DemoRunner/Builds/Android/app/build.gradle b/examples/DemoRunner/Builds/Android/app/build.gradle index ac71218b..6b3be277 100644 --- a/examples/DemoRunner/Builds/Android/app/build.gradle +++ b/examples/DemoRunner/Builds/Android/app/build.gradle @@ -1,7 +1,7 @@ apply plugin: 'com.android.application' android { - compileSdkVersion 29 + compileSdkVersion 31 externalNativeBuild { cmake { path "CMakeLists.txt" @@ -20,7 +20,7 @@ android { defaultConfig { applicationId "com.rmsl.jucedemorunner" minSdkVersion 23 - targetSdkVersion 29 + targetSdkVersion 31 externalNativeBuild { cmake { arguments "-DANDROID_TOOLCHAIN=clang", "-DANDROID_PLATFORM=android-23", "-DANDROID_STL=c++_static", "-DANDROID_CPP_FEATURES=exceptions rtti", "-DANDROID_ARM_MODE=arm", "-DANDROID_ARM_NEON=TRUE", "-DCMAKE_CXX_STANDARD=14", "-DCMAKE_CXX_EXTENSIONS=OFF" diff --git a/examples/DemoRunner/Builds/Android/app/src/main/AndroidManifest.xml b/examples/DemoRunner/Builds/Android/app/src/main/AndroidManifest.xml index 72e28c9c..37fb723d 100644 --- a/examples/DemoRunner/Builds/Android/app/src/main/AndroidManifest.xml +++ b/examples/DemoRunner/Builds/Android/app/src/main/AndroidManifest.xml @@ -1,11 +1,12 @@ - + @@ -16,7 +17,8 @@ + android:screenOrientation="unspecified" android:launchMode="singleTask" android:hardwareAccelerated="true" + android:exported="true"> diff --git a/examples/DemoRunner/Builds/Android/app/src/main/assets/DSPDemos_Common.h b/examples/DemoRunner/Builds/Android/app/src/main/assets/DSPDemos_Common.h index 841a7c76..07a2bd7c 100644 --- a/examples/DemoRunner/Builds/Android/app/src/main/assets/DSPDemos_Common.h +++ b/examples/DemoRunner/Builds/Android/app/src/main/assets/DSPDemos_Common.h @@ -308,7 +308,11 @@ struct DSPDemo : public AudioSource, void getNextAudioBlock (const AudioSourceChannelInfo& bufferToFill) override { - jassert (bufferToFill.buffer != nullptr); + if (bufferToFill.buffer == nullptr) + { + jassertfalse; + return; + } inputSource->getNextAudioBlock (bufferToFill); @@ -414,7 +418,7 @@ public: #endif { if (newReader == nullptr) - newReader = formatManager.createReaderFor (fileToPlay.createInputStream (false)); + newReader = formatManager.createReaderFor (fileToPlay.createInputStream (URL::InputStreamOptions (URL::ParameterHandling::inAddress))); } reader.reset (newReader); diff --git a/examples/DemoRunner/Builds/Android/app/src/main/assets/DemoUtilities.h b/examples/DemoRunner/Builds/Android/app/src/main/assets/DemoUtilities.h index 96cf595a..73ac930a 100644 --- a/examples/DemoRunner/Builds/Android/app/src/main/assets/DemoUtilities.h +++ b/examples/DemoRunner/Builds/Android/app/src/main/assets/DemoUtilities.h @@ -17,14 +17,11 @@ ============================================================================== */ -#pragma once +#ifndef PIP_DEMO_UTILITIES_INCLUDED +#define PIP_DEMO_UTILITIES_INCLUDED 1 #include -#ifndef PIP_DEMO_UTILITIES_INCLUDED - #define PIP_DEMO_UTILITIES_INCLUDED 1 -#endif - //============================================================================== /* This file contains a bunch of miscellaneous utilities that are @@ -145,19 +142,10 @@ inline String loadEntireAssetIntoString (const char* assetName) inline Path getJUCELogoPath() { return Drawable::parseSVGPath ( - "M250,301.3c-37.2,0-67.5-30.3-67.5-67.5s30.3-67.5,67.5-67.5s67.5,30.3,67.5,67.5S287.2,301.3,250,301.3zM250,170.8c-34.7,0-63,28.3-63,63s28.3,63,63,63s63-28.3,63-63S284.7,170.8,250,170.8z" - "M247.8,180.4c0-2.3-1.8-4.1-4.1-4.1c-0.2,0-0.3,0-0.5,0c-10.6,1.2-20.6,5.4-29,12c-1,0.8-1.5,1.8-1.6,2.9c-0.1,1.2,0.4,2.3,1.3,3.2l32.5,32.5c0.5,0.5,1.4,0.1,1.4-0.6V180.4z" - "M303.2,231.6c1.2,0,2.3-0.4,3.1-1.2c0.9-0.9,1.3-2.1,1.1-3.3c-1.2-10.6-5.4-20.6-12-29c-0.8-1-1.9-1.6-3.2-1.6c-1.1,0-2.1,0.5-3,1.3l-32.5,32.5c-0.5,0.5-0.1,1.4,0.6,1.4L303.2,231.6z" - "M287.4,191.3c-0.1-1.1-0.6-2.2-1.6-2.9c-8.4-6.6-18.4-10.8-29-12c-0.2,0-0.3,0-0.5,0c-2.3,0-4.1,1.9-4.1,4.1v46c0,0.7,0.9,1.1,1.4,0.6l32.5-32.5C287,193.6,287.5,192.5,287.4,191.3z" - "M252.2,287.2c0,2.3,1.8,4.1,4.1,4.1c0.2,0,0.3,0,0.5,0c10.6-1.2,20.6-5.4,29-12c1-0.8,1.5-1.8,1.6-2.9c0.1-1.2-0.4-2.3-1.3-3.2l-32.5-32.5c-0.5-0.5-1.4-0.1-1.4,0.6V287.2z" - "M292.3,271.2L292.3,271.2c1.2,0,2.4-0.6,3.2-1.6c6.6-8.4,10.8-18.4,12-29c0.1-1.2-0.3-2.4-1.1-3.3c-0.8-0.8-1.9-1.2-3.1-1.2l-45.9,0c-0.7,0-1.1,0.9-0.6,1.4l32.5,32.5C290.2,270.8,291.2,271.2,292.3,271.2z" - "M207.7,196.4c-1.2,0-2.4,0.6-3.2,1.6c-6.6,8.4-10.8,18.4-12,29c-0.1,1.2,0.3,2.4,1.1,3.3c0.8,0.8,1.9,1.2,3.1,1.2l45.9,0c0.7,0,1.1-0.9,0.6-1.4l-32.5-32.5C209.8,196.8,208.8,196.4,207.7,196.4z" - "M242.6,236.1l-45.9,0c-1.2,0-2.3,0.4-3.1,1.2c-0.9,0.9-1.3,2.1-1.1,3.3c1.2,10.6,5.4,20.6,12,29c0.8,1,1.9,1.6,3.2,1.6c1.1,0,2.1-0.5,3-1.3c0,0,0,0,0,0l32.5-32.5C243.7,236.9,243.4,236.1,242.6,236.1z" - "M213.8,273.1L213.8,273.1c-0.9,0.9-1.3,2-1.3,3.2c0.1,1.1,0.6,2.2,1.6,2.9c8.4,6.6,18.4,10.8,29,12c0.2,0,0.3,0,0.5,0h0c1.2,0,2.3-0.5,3.1-1.4c0.7-0.8,1-1.8,1-2.9v-45.9c0-0.7-0.9-1.1-1.4-0.6l-13.9,13.9L213.8,273.1z" - "M197.2,353c-4.1,0-7.4-1.5-10.4-5.4l4-3.5c2,2.6,3.9,3.6,6.4,3.6c4.4,0,7.4-3.3,7.4-8.3v-24.7h5.6v24.7C210.2,347.5,204.8,353,197.2,353z" - "M232.4,353c-8.1,0-15-6-15-15.8v-22.5h5.6v22.2c0,6.6,3.9,10.8,9.5,10.8c5.6,0,9.5-4.3,9.5-10.8v-22.2h5.6v22.5C247.5,347,240.5,353,232.4,353z" - "M272,353c-10.8,0-19.5-8.6-19.5-19.3c0-10.8,8.8-19.3,19.5-19.3c4.8,0,9,1.6,12.3,4.4l-3.3,4.1c-3.4-2.4-5.7-3.2-8.9-3.2c-7.7,0-13.8,6.2-13.8,14.1c0,7.9,6.1,14.1,13.8,14.1c3.1,0,5.6-1,8.8-3.2l3.3,4.1C280.1,351.9,276.4,353,272,353z" - "M290.4,352.5v-37.8h22.7v5H296v11.2h16.5v5H296v11.6h17.2v5H290.4z"); + "M72.87 84.28A42.36 42.36 0 0130.4 42.14a42.48 42.48 0 0184.95 0 42.36 42.36 0 01-42.48 42.14zm0-78.67A36.74 36.74 0 0036 42.14a36.88 36.88 0 0073.75 0A36.75 36.75 0 0072.87 5.61z" + "M77.62 49.59a177.77 177.77 0 008.74 18.93A4.38 4.38 0 0092.69 70a34.5 34.5 0 008.84-9 4.3 4.3 0 00-2.38-6.49A176.73 176.73 0 0180 47.32a1.78 1.78 0 00-2.38 2.27zM81.05 44.27a169.68 169.68 0 0020.13 7.41 4.39 4.39 0 005.52-3.41 34.42 34.42 0 00.55-6.13 33.81 33.81 0 00-.67-6.72 4.37 4.37 0 00-6.31-3A192.32 192.32 0 0181.1 41a1.76 1.76 0 00-.05 3.27zM74.47 50.44a1.78 1.78 0 00-3.29 0 165.54 165.54 0 00-7.46 19.89 4.33 4.33 0 003.47 5.48 35.49 35.49 0 005.68.46 34.44 34.44 0 007.13-.79 4.32 4.32 0 003-6.25 187.83 187.83 0 01-8.53-18.79zM71.59 34.12a1.78 1.78 0 003.29.05 163.9 163.9 0 007.52-20.11A4.34 4.34 0 0079 8.59a35.15 35.15 0 00-13.06.17 4.32 4.32 0 00-3 6.26 188.41 188.41 0 018.65 19.1zM46.32 30.3a176.2 176.2 0 0120 7.48 1.78 1.78 0 002.37-2.28 180.72 180.72 0 00-9.13-19.84 4.38 4.38 0 00-6.33-1.47 34.27 34.27 0 00-9.32 9.65 4.31 4.31 0 002.41 6.46zM68.17 49.18a1.77 1.77 0 00-2.29-2.34 181.71 181.71 0 00-19.51 8.82A4.3 4.3 0 0044.91 62a34.36 34.36 0 009.42 8.88 4.36 4.36 0 006.5-2.38 175.11 175.11 0 017.34-19.32zM77.79 35.59a1.78 1.78 0 002.3 2.35 182.51 182.51 0 0019.6-8.88 4.3 4.3 0 001.5-6.25 34.4 34.4 0 00-9.41-9.14A4.36 4.36 0 0085.24 16a174.51 174.51 0 01-7.45 19.59zM64.69 40.6a167.72 167.72 0 00-20.22-7.44A4.36 4.36 0 0039 36.6a33.68 33.68 0 00-.45 5.54 34 34 0 00.81 7.4 4.36 4.36 0 006.28 2.84 189.19 189.19 0 0119-8.52 1.76 1.76 0 00.05-3.26zM20 129.315c0 5-2.72 8.16-7.11 8.16-2.37 0-4.17-1-6.2-3.56l-.69-.78-6 5 .57.76c3.25 4.36 7.16 6.39 12.31 6.39 9 0 15.34-6.57 15.34-16v-28.1H20zM61.69 126.505c0 6.66-3.76 11-9.57 11-5.81 0-9.56-4.31-9.56-11v-25.32h-8.23v25.69c0 10.66 7.4 18.4 17.6 18.4 10 0 17.61-7.72 18-18.4v-25.69h-8.24zM106.83 134.095c-3.58 2.43-6.18 3.38-9.25 3.38a14.53 14.53 0 010-29c3.24 0 5.66.88 9.25 3.38l.76.53 4.78-6-.75-.62a22.18 22.18 0 00-14.22-5.1 22.33 22.33 0 100 44.65 21.53 21.53 0 0014.39-5.08l.81-.64-5-6zM145.75 137.285h-19.06v-10.72h18.3v-7.61h-18.3v-10.16h19.06v-7.61h-27.28v43.53h27.28z" + "M68.015 83.917c-7.723-.902-15.472-4.123-21.566-8.966-8.475-6.736-14.172-16.823-15.574-27.575C29.303 35.31 33.538 22.7 42.21 13.631 49.154 6.368 58.07 1.902 68.042.695c2.15-.26 7.524-.26 9.675 0 12.488 1.512 23.464 8.25 30.437 18.686 8.332 12.471 9.318 28.123 2.605 41.368-2.28 4.5-4.337 7.359-7.85 10.909A42.273 42.273 0 0177.613 83.92c-2.027.227-7.644.225-9.598-.003zm7.823-5.596c8.435-.415 17.446-4.678 23.683-11.205 5.976-6.254 9.35-13.723 10.181-22.537.632-6.705-1.346-14.948-5.065-21.108C98.88 13.935 89.397 7.602 78.34 5.906c-2.541-.39-8.398-.386-10.96.006C53.54 8.034 42.185 17.542 37.81 30.67c-2.807 8.426-2.421 17.267 1.11 25.444 4.877 11.297 14.959 19.41 26.977 21.709 2.136.408 6.1.755 7.377.645.325-.028 1.48-.094 2.564-.147z" + ); } //============================================================================== @@ -253,3 +241,5 @@ struct SlowerBouncingNumber : public BouncingNumber speed *= 0.3; } }; + +#endif // PIP_DEMO_UTILITIES_INCLUDED diff --git a/examples/DemoRunner/Builds/Android/app/src/main/assets/juce_icon.png b/examples/DemoRunner/Builds/Android/app/src/main/assets/juce_icon.png index 2564a24f..7bccd5ba 100644 Binary files a/examples/DemoRunner/Builds/Android/app/src/main/assets/juce_icon.png and b/examples/DemoRunner/Builds/Android/app/src/main/assets/juce_icon.png differ diff --git a/examples/DemoRunner/Builds/Android/app/src/main/assets/juce_icon_template.png b/examples/DemoRunner/Builds/Android/app/src/main/assets/juce_icon_template.png index e2964f1c..b6a8314e 100644 Binary files a/examples/DemoRunner/Builds/Android/app/src/main/assets/juce_icon_template.png and b/examples/DemoRunner/Builds/Android/app/src/main/assets/juce_icon_template.png differ diff --git a/examples/DemoRunner/Builds/Android/app/src/main/res/drawable-hdpi/icon.png b/examples/DemoRunner/Builds/Android/app/src/main/res/drawable-hdpi/icon.png index 3c54e0a5..b49e361c 100644 Binary files a/examples/DemoRunner/Builds/Android/app/src/main/res/drawable-hdpi/icon.png and b/examples/DemoRunner/Builds/Android/app/src/main/res/drawable-hdpi/icon.png differ diff --git a/examples/DemoRunner/Builds/Android/app/src/main/res/drawable-ldpi/icon.png b/examples/DemoRunner/Builds/Android/app/src/main/res/drawable-ldpi/icon.png index fb4d6f9e..3ecde652 100644 Binary files a/examples/DemoRunner/Builds/Android/app/src/main/res/drawable-ldpi/icon.png and b/examples/DemoRunner/Builds/Android/app/src/main/res/drawable-ldpi/icon.png differ diff --git a/examples/DemoRunner/Builds/Android/app/src/main/res/drawable-mdpi/icon.png b/examples/DemoRunner/Builds/Android/app/src/main/res/drawable-mdpi/icon.png index c286139d..c5036cef 100644 Binary files a/examples/DemoRunner/Builds/Android/app/src/main/res/drawable-mdpi/icon.png and b/examples/DemoRunner/Builds/Android/app/src/main/res/drawable-mdpi/icon.png differ diff --git a/examples/DemoRunner/Builds/Android/app/src/main/res/drawable-xhdpi/icon.png b/examples/DemoRunner/Builds/Android/app/src/main/res/drawable-xhdpi/icon.png index 6c50b7d7..d2fcaf84 100644 Binary files a/examples/DemoRunner/Builds/Android/app/src/main/res/drawable-xhdpi/icon.png and b/examples/DemoRunner/Builds/Android/app/src/main/res/drawable-xhdpi/icon.png differ diff --git a/examples/DemoRunner/Builds/LinuxMakefile/Makefile b/examples/DemoRunner/Builds/LinuxMakefile/Makefile index a2fa33f8..52d0f3a3 100644 --- a/examples/DemoRunner/Builds/LinuxMakefile/Makefile +++ b/examples/DemoRunner/Builds/LinuxMakefile/Makefile @@ -35,7 +35,7 @@ ifeq ($(CONFIG),Debug) TARGET_ARCH := endif - JUCE_CPPFLAGS := $(DEPFLAGS) "-DLINUX=1" "-DDEBUG=1" "-D_DEBUG=1" "-DJUCE_DISPLAY_SPLASH_SCREEN=0" "-DJUCE_USE_DARK_SPLASH_SCREEN=1" "-DJUCE_PROJUCER_VERSION=0x60100" "-DJUCE_MODULE_AVAILABLE_juce_analytics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1" "-DJUCE_MODULE_AVAILABLE_juce_box2d=1" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_MODULE_AVAILABLE_juce_cryptography=1" "-DJUCE_MODULE_AVAILABLE_juce_data_structures=1" "-DJUCE_MODULE_AVAILABLE_juce_dsp=1" "-DJUCE_MODULE_AVAILABLE_juce_events=1" "-DJUCE_MODULE_AVAILABLE_juce_graphics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1" "-DJUCE_MODULE_AVAILABLE_juce_opengl=1" "-DJUCE_MODULE_AVAILABLE_juce_osc=1" "-DJUCE_MODULE_AVAILABLE_juce_product_unlocking=1" "-DJUCE_MODULE_AVAILABLE_juce_video=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_USE_MP3AUDIOFORMAT=1" "-DJUCE_ALLOW_STATIC_NULL_VARIABLES=0" "-DJUCE_STRICT_REFCOUNTEDPOINTER=1" "-DJUCE_USE_CAMERA=1" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCE_DEMO_RUNNER=1" "-DJUCE_UNIT_TESTS=1" "-DJUCER_LINUX_MAKE_6D53C8B4=1" "-DJUCE_APP_VERSION=6.1.0" "-DJUCE_APP_VERSION_HEX=0x60100" $(shell pkg-config --cflags alsa freetype2 libcurl webkit2gtk-4.0 gtk+-x11-3.0) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS) + JUCE_CPPFLAGS := $(DEPFLAGS) "-DLINUX=1" "-DDEBUG=1" "-D_DEBUG=1" "-DJUCE_DISPLAY_SPLASH_SCREEN=0" "-DJUCE_USE_DARK_SPLASH_SCREEN=1" "-DJUCE_PROJUCER_VERSION=0x60103" "-DJUCE_MODULE_AVAILABLE_juce_analytics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1" "-DJUCE_MODULE_AVAILABLE_juce_box2d=1" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_MODULE_AVAILABLE_juce_cryptography=1" "-DJUCE_MODULE_AVAILABLE_juce_data_structures=1" "-DJUCE_MODULE_AVAILABLE_juce_dsp=1" "-DJUCE_MODULE_AVAILABLE_juce_events=1" "-DJUCE_MODULE_AVAILABLE_juce_graphics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1" "-DJUCE_MODULE_AVAILABLE_juce_opengl=1" "-DJUCE_MODULE_AVAILABLE_juce_osc=1" "-DJUCE_MODULE_AVAILABLE_juce_product_unlocking=1" "-DJUCE_MODULE_AVAILABLE_juce_video=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_USE_MP3AUDIOFORMAT=1" "-DJUCE_ALLOW_STATIC_NULL_VARIABLES=0" "-DJUCE_STRICT_REFCOUNTEDPOINTER=1" "-DJUCE_USE_CAMERA=1" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCE_DEMO_RUNNER=1" "-DJUCE_UNIT_TESTS=1" "-DJUCER_LINUX_MAKE_6D53C8B4=1" "-DJUCE_APP_VERSION=6.1.3" "-DJUCE_APP_VERSION_HEX=0x60103" $(shell pkg-config --cflags alsa freetype2 libcurl webkit2gtk-4.0 gtk+-x11-3.0) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS) JUCE_CPPFLAGS_APP := "-DJucePlugin_Build_VST=0" "-DJucePlugin_Build_VST3=0" "-DJucePlugin_Build_AU=0" "-DJucePlugin_Build_AUv3=0" "-DJucePlugin_Build_RTAS=0" "-DJucePlugin_Build_AAX=0" "-DJucePlugin_Build_Standalone=0" "-DJucePlugin_Build_Unity=0" JUCE_TARGET_APP := DemoRunner @@ -56,7 +56,7 @@ ifeq ($(CONFIG),Release) TARGET_ARCH := endif - JUCE_CPPFLAGS := $(DEPFLAGS) "-DLINUX=1" "-DNDEBUG=1" "-DJUCE_DISPLAY_SPLASH_SCREEN=0" "-DJUCE_USE_DARK_SPLASH_SCREEN=1" "-DJUCE_PROJUCER_VERSION=0x60100" "-DJUCE_MODULE_AVAILABLE_juce_analytics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1" "-DJUCE_MODULE_AVAILABLE_juce_box2d=1" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_MODULE_AVAILABLE_juce_cryptography=1" "-DJUCE_MODULE_AVAILABLE_juce_data_structures=1" "-DJUCE_MODULE_AVAILABLE_juce_dsp=1" "-DJUCE_MODULE_AVAILABLE_juce_events=1" "-DJUCE_MODULE_AVAILABLE_juce_graphics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1" "-DJUCE_MODULE_AVAILABLE_juce_opengl=1" "-DJUCE_MODULE_AVAILABLE_juce_osc=1" "-DJUCE_MODULE_AVAILABLE_juce_product_unlocking=1" "-DJUCE_MODULE_AVAILABLE_juce_video=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_USE_MP3AUDIOFORMAT=1" "-DJUCE_ALLOW_STATIC_NULL_VARIABLES=0" "-DJUCE_STRICT_REFCOUNTEDPOINTER=1" "-DJUCE_USE_CAMERA=1" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCE_DEMO_RUNNER=1" "-DJUCE_UNIT_TESTS=1" "-DJUCER_LINUX_MAKE_6D53C8B4=1" "-DJUCE_APP_VERSION=6.1.0" "-DJUCE_APP_VERSION_HEX=0x60100" $(shell pkg-config --cflags alsa freetype2 libcurl webkit2gtk-4.0 gtk+-x11-3.0) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS) + JUCE_CPPFLAGS := $(DEPFLAGS) "-DLINUX=1" "-DNDEBUG=1" "-DJUCE_DISPLAY_SPLASH_SCREEN=0" "-DJUCE_USE_DARK_SPLASH_SCREEN=1" "-DJUCE_PROJUCER_VERSION=0x60103" "-DJUCE_MODULE_AVAILABLE_juce_analytics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1" "-DJUCE_MODULE_AVAILABLE_juce_box2d=1" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_MODULE_AVAILABLE_juce_cryptography=1" "-DJUCE_MODULE_AVAILABLE_juce_data_structures=1" "-DJUCE_MODULE_AVAILABLE_juce_dsp=1" "-DJUCE_MODULE_AVAILABLE_juce_events=1" "-DJUCE_MODULE_AVAILABLE_juce_graphics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1" "-DJUCE_MODULE_AVAILABLE_juce_opengl=1" "-DJUCE_MODULE_AVAILABLE_juce_osc=1" "-DJUCE_MODULE_AVAILABLE_juce_product_unlocking=1" "-DJUCE_MODULE_AVAILABLE_juce_video=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_USE_MP3AUDIOFORMAT=1" "-DJUCE_ALLOW_STATIC_NULL_VARIABLES=0" "-DJUCE_STRICT_REFCOUNTEDPOINTER=1" "-DJUCE_USE_CAMERA=1" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCE_DEMO_RUNNER=1" "-DJUCE_UNIT_TESTS=1" "-DJUCER_LINUX_MAKE_6D53C8B4=1" "-DJUCE_APP_VERSION=6.1.3" "-DJUCE_APP_VERSION_HEX=0x60103" $(shell pkg-config --cflags alsa freetype2 libcurl webkit2gtk-4.0 gtk+-x11-3.0) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS) JUCE_CPPFLAGS_APP := "-DJucePlugin_Build_VST=0" "-DJucePlugin_Build_VST3=0" "-DJucePlugin_Build_AU=0" "-DJucePlugin_Build_AUv3=0" "-DJucePlugin_Build_RTAS=0" "-DJucePlugin_Build_AAX=0" "-DJucePlugin_Build_Standalone=0" "-DJucePlugin_Build_Unity=0" JUCE_TARGET_APP := DemoRunner diff --git a/examples/DemoRunner/Builds/MacOSX/DemoRunner.xcodeproj/project.pbxproj b/examples/DemoRunner/Builds/MacOSX/DemoRunner.xcodeproj/project.pbxproj index 87c4f90a..205f7e54 100644 --- a/examples/DemoRunner/Builds/MacOSX/DemoRunner.xcodeproj/project.pbxproj +++ b/examples/DemoRunner/Builds/MacOSX/DemoRunner.xcodeproj/project.pbxproj @@ -345,7 +345,7 @@ AC6F0E9A0809A184B2C2B7DE = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1310; ORGANIZATIONNAME = "Raw Material Software Limited"; TargetAttributes = { 291E01DCBE746A376DBFA4D1 = { @@ -463,7 +463,7 @@ CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = ""; + CODE_SIGN_IDENTITY = "-"; DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = NO; @@ -495,10 +495,12 @@ CLANG_CXX_LANGUAGE_STANDARD = "c++14"; CLANG_CXX_LIBRARY = "libc++"; CLANG_LINK_OBJC_RUNTIME = NO; - CODE_SIGN_IDENTITY = ""; + CODE_SIGN_IDENTITY = "-"; + CODE_SIGN_STYLE = Manual; COMBINE_HIDPI_IMAGES = YES; CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; DEAD_CODE_STRIPPING = YES; + EXCLUDED_ARCHS = ""; GCC_GENERATE_DEBUGGING_SYMBOLS = NO; GCC_OPTIMIZATION_LEVEL = 3; GCC_PREPROCESSOR_DEFINITIONS = ( @@ -506,7 +508,7 @@ "NDEBUG=1", "JUCE_DISPLAY_SPLASH_SCREEN=0", "JUCE_USE_DARK_SPLASH_SCREEN=1", - "JUCE_PROJUCER_VERSION=0x60100", + "JUCE_PROJUCER_VERSION=0x60103", "JUCE_MODULE_AVAILABLE_juce_analytics=1", "JUCE_MODULE_AVAILABLE_juce_audio_basics=1", "JUCE_MODULE_AVAILABLE_juce_audio_devices=1", @@ -535,8 +537,8 @@ "JUCE_DEMO_RUNNER=1", "JUCE_UNIT_TESTS=1", "JUCER_XCODE_MAC_F6D2F4CF=1", - "JUCE_APP_VERSION=6.1.0", - "JUCE_APP_VERSION_HEX=0x60100", + "JUCE_APP_VERSION=6.1.3", + "JUCE_APP_VERSION_HEX=0x60103", "JucePlugin_Build_VST=0", "JucePlugin_Build_VST3=0", "JucePlugin_Build_AU=0", @@ -558,9 +560,11 @@ LLVM_LTO = YES; MACOSX_DEPLOYMENT_TARGET = 10.11; MTL_HEADER_SEARCH_PATHS = "$(SRCROOT)/../../JuceLibraryCode $(SRCROOT)/../../../../modules"; - OTHER_CPLUSPLUSFLAGS = "-Wall -Wshadow-all -Wshorten-64-to-32 -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wconversion -Wsign-compare -Wint-conversion -Wconditional-uninitialized -Woverloaded-virtual -Wreorder -Wconstant-conversion -Wsign-conversion -Wunused-private-field -Wbool-conversion -Wextra-semi -Wunreachable-code -Wzero-as-null-pointer-constant -Wcast-align -Winconsistent-missing-destructor-override -Wshift-sign-overflow -Wnullable-to-nonnull-conversion -Wno-missing-field-initializers -Wno-ignored-qualifiers -Wswitch-enum"; + OTHER_CFLAGS = "-Wall -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wswitch-enum -Wsign-conversion -Wsign-compare -Wunreachable-code -Wcast-align -Wno-ignored-qualifiers -Wshorten-64-to-32 -Wconversion -Wint-conversion -Wconditional-uninitialized -Wconstant-conversion -Wbool-conversion -Wextra-semi -Wshift-sign-overflow -Wno-missing-field-initializers -Wshadow-all -Wnullable-to-nonnull-conversion"; + OTHER_CPLUSPLUSFLAGS = "-Woverloaded-virtual -Wreorder -Wzero-as-null-pointer-constant -Wunused-private-field -Winconsistent-missing-destructor-override -Wall -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wswitch-enum -Wsign-conversion -Wsign-compare -Wunreachable-code -Wcast-align -Wno-ignored-qualifiers -Wshorten-64-to-32 -Wconversion -Wint-conversion -Wconditional-uninitialized -Wconstant-conversion -Wbool-conversion -Wextra-semi -Wshift-sign-overflow -Wno-missing-field-initializers -Wshadow-all -Wnullable-to-nonnull-conversion"; PRODUCT_BUNDLE_IDENTIFIER = com.rmsl.jucedemorunner; PRODUCT_NAME = "DemoRunner"; + PROVISIONING_PROFILE_SPECIFIER = ""; USE_HEADERMAP = NO; VALIDATE_WORKSPACE_SKIPPED_SDK_FRAMEWORKS = OpenGL; VALID_ARCHS = "i386 x86_64 arm64 arm64e"; @@ -573,10 +577,12 @@ CLANG_CXX_LANGUAGE_STANDARD = "c++14"; CLANG_CXX_LIBRARY = "libc++"; CLANG_LINK_OBJC_RUNTIME = NO; - CODE_SIGN_IDENTITY = ""; + CODE_SIGN_IDENTITY = "-"; + CODE_SIGN_STYLE = Manual; COMBINE_HIDPI_IMAGES = YES; CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; COPY_PHASE_STRIP = NO; + EXCLUDED_ARCHS = ""; GCC_DYNAMIC_NO_PIC = NO; GCC_OPTIMIZATION_LEVEL = 0; GCC_PREPROCESSOR_DEFINITIONS = ( @@ -584,7 +590,7 @@ "DEBUG=1", "JUCE_DISPLAY_SPLASH_SCREEN=0", "JUCE_USE_DARK_SPLASH_SCREEN=1", - "JUCE_PROJUCER_VERSION=0x60100", + "JUCE_PROJUCER_VERSION=0x60103", "JUCE_MODULE_AVAILABLE_juce_analytics=1", "JUCE_MODULE_AVAILABLE_juce_audio_basics=1", "JUCE_MODULE_AVAILABLE_juce_audio_devices=1", @@ -613,8 +619,8 @@ "JUCE_DEMO_RUNNER=1", "JUCE_UNIT_TESTS=1", "JUCER_XCODE_MAC_F6D2F4CF=1", - "JUCE_APP_VERSION=6.1.0", - "JUCE_APP_VERSION_HEX=0x60100", + "JUCE_APP_VERSION=6.1.3", + "JUCE_APP_VERSION_HEX=0x60103", "JucePlugin_Build_VST=0", "JucePlugin_Build_VST3=0", "JucePlugin_Build_AU=0", @@ -635,9 +641,11 @@ INSTALL_PATH = "$(HOME)/Applications"; MACOSX_DEPLOYMENT_TARGET = 10.11; MTL_HEADER_SEARCH_PATHS = "$(SRCROOT)/../../JuceLibraryCode $(SRCROOT)/../../../../modules"; - OTHER_CPLUSPLUSFLAGS = "-Wall -Wshadow-all -Wshorten-64-to-32 -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wconversion -Wsign-compare -Wint-conversion -Wconditional-uninitialized -Woverloaded-virtual -Wreorder -Wconstant-conversion -Wsign-conversion -Wunused-private-field -Wbool-conversion -Wextra-semi -Wunreachable-code -Wzero-as-null-pointer-constant -Wcast-align -Winconsistent-missing-destructor-override -Wshift-sign-overflow -Wnullable-to-nonnull-conversion -Wno-missing-field-initializers -Wno-ignored-qualifiers -Wswitch-enum"; + OTHER_CFLAGS = "-Wall -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wswitch-enum -Wsign-conversion -Wsign-compare -Wunreachable-code -Wcast-align -Wno-ignored-qualifiers -Wshorten-64-to-32 -Wconversion -Wint-conversion -Wconditional-uninitialized -Wconstant-conversion -Wbool-conversion -Wextra-semi -Wshift-sign-overflow -Wno-missing-field-initializers -Wshadow-all -Wnullable-to-nonnull-conversion"; + OTHER_CPLUSPLUSFLAGS = "-Woverloaded-virtual -Wreorder -Wzero-as-null-pointer-constant -Wunused-private-field -Winconsistent-missing-destructor-override -Wall -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wswitch-enum -Wsign-conversion -Wsign-compare -Wunreachable-code -Wcast-align -Wno-ignored-qualifiers -Wshorten-64-to-32 -Wconversion -Wint-conversion -Wconditional-uninitialized -Wconstant-conversion -Wbool-conversion -Wextra-semi -Wshift-sign-overflow -Wno-missing-field-initializers -Wshadow-all -Wnullable-to-nonnull-conversion"; PRODUCT_BUNDLE_IDENTIFIER = com.rmsl.jucedemorunner; PRODUCT_NAME = "DemoRunner"; + PROVISIONING_PROFILE_SPECIFIER = ""; USE_HEADERMAP = NO; VALIDATE_WORKSPACE_SKIPPED_SDK_FRAMEWORKS = OpenGL; VALID_ARCHS = "i386 x86_64 arm64 arm64e"; @@ -666,7 +674,7 @@ CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = ""; + CODE_SIGN_IDENTITY = "-"; DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = NO; diff --git a/examples/DemoRunner/Builds/MacOSX/Icon.icns b/examples/DemoRunner/Builds/MacOSX/Icon.icns index 52f40fef..911f5de8 100644 Binary files a/examples/DemoRunner/Builds/MacOSX/Icon.icns and b/examples/DemoRunner/Builds/MacOSX/Icon.icns differ diff --git a/examples/DemoRunner/Builds/MacOSX/Info-App.plist b/examples/DemoRunner/Builds/MacOSX/Info-App.plist index 6e24e095..3376a7f9 100644 --- a/examples/DemoRunner/Builds/MacOSX/Info-App.plist +++ b/examples/DemoRunner/Builds/MacOSX/Info-App.plist @@ -7,6 +7,8 @@ This app requires audio input. If you do not have an audio interface connected it will use the built-in microphone. NSCameraUsageDescription This app requires access to the camera to function correctly. + NSBluetoothAlwaysUsageDescription + This app requires access to Bluetooth to function correctly. CFBundleExecutable ${EXECUTABLE_NAME} CFBundleIconFile @@ -22,9 +24,9 @@ CFBundleSignature ???? CFBundleShortVersionString - 6.1.0 + 6.1.3 CFBundleVersion - 6.1.0 + 6.1.3 NSHumanReadableCopyright Copyright (c) 2020 - Raw Material Software Limited NSHighResolutionCapable diff --git a/examples/DemoRunner/Builds/VisualStudio2015/DemoRunner.sln b/examples/DemoRunner/Builds/VisualStudio2015/DemoRunner.sln index 48b38533..aad7971d 100644 --- a/examples/DemoRunner/Builds/VisualStudio2015/DemoRunner.sln +++ b/examples/DemoRunner/Builds/VisualStudio2015/DemoRunner.sln @@ -1,5 +1,6 @@ + Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2015 +# Visual Studio 14 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DemoRunner - App", "DemoRunner_App.vcxproj", "{882FE2E3-F4EF-9825-1908-F6FEE5366B5C}" EndProject diff --git a/examples/DemoRunner/Builds/VisualStudio2015/DemoRunner_App.vcxproj b/examples/DemoRunner/Builds/VisualStudio2015/DemoRunner_App.vcxproj index 01fc5d2b..e350c61b 100644 --- a/examples/DemoRunner/Builds/VisualStudio2015/DemoRunner_App.vcxproj +++ b/examples/DemoRunner/Builds/VisualStudio2015/DemoRunner_App.vcxproj @@ -64,7 +64,7 @@ Disabled ProgramDatabase ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60100;JUCE_MODULE_AVAILABLE_juce_analytics=1;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_box2d=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_osc=1;JUCE_MODULE_AVAILABLE_juce_product_unlocking=1;JUCE_MODULE_AVAILABLE_juce_video=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_USE_MP3AUDIOFORMAT=1;JUCE_ALLOW_STATIC_NULL_VARIABLES=0;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_USE_CAMERA=1;JUCE_STANDALONE_APPLICATION=1;JUCE_DEMO_RUNNER=1;JUCE_UNIT_TESTS=1;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=6.1.0;JUCE_APP_VERSION_HEX=0x60100;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) + _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_analytics=1;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_box2d=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_osc=1;JUCE_MODULE_AVAILABLE_juce_product_unlocking=1;JUCE_MODULE_AVAILABLE_juce_video=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_USE_MP3AUDIOFORMAT=1;JUCE_ALLOW_STATIC_NULL_VARIABLES=0;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_USE_CAMERA=1;JUCE_STANDALONE_APPLICATION=1;JUCE_DEMO_RUNNER=1;JUCE_UNIT_TESTS=1;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=6.1.3;JUCE_APP_VERSION_HEX=0x60103;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) MultiThreadedDebugDLL true NotUsing @@ -106,7 +106,7 @@ Full ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60100;JUCE_MODULE_AVAILABLE_juce_analytics=1;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_box2d=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_osc=1;JUCE_MODULE_AVAILABLE_juce_product_unlocking=1;JUCE_MODULE_AVAILABLE_juce_video=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_USE_MP3AUDIOFORMAT=1;JUCE_ALLOW_STATIC_NULL_VARIABLES=0;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_USE_CAMERA=1;JUCE_STANDALONE_APPLICATION=1;JUCE_DEMO_RUNNER=1;JUCE_UNIT_TESTS=1;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=6.1.0;JUCE_APP_VERSION_HEX=0x60100;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) + _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_analytics=1;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_box2d=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_osc=1;JUCE_MODULE_AVAILABLE_juce_product_unlocking=1;JUCE_MODULE_AVAILABLE_juce_video=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_USE_MP3AUDIOFORMAT=1;JUCE_ALLOW_STATIC_NULL_VARIABLES=0;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_USE_CAMERA=1;JUCE_STANDALONE_APPLICATION=1;JUCE_DEMO_RUNNER=1;JUCE_UNIT_TESTS=1;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=6.1.3;JUCE_APP_VERSION_HEX=0x60103;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) MultiThreaded true NotUsing @@ -1605,6 +1605,9 @@ true + + true + true @@ -2805,6 +2808,7 @@ + @@ -2897,6 +2901,7 @@ + @@ -2932,6 +2937,7 @@ + @@ -3166,6 +3172,7 @@ + @@ -3302,6 +3309,7 @@ + @@ -3356,7 +3364,6 @@ - diff --git a/examples/DemoRunner/Builds/VisualStudio2015/DemoRunner_App.vcxproj.filters b/examples/DemoRunner/Builds/VisualStudio2015/DemoRunner_App.vcxproj.filters index 419e27d1..9c7a09dc 100644 --- a/examples/DemoRunner/Builds/VisualStudio2015/DemoRunner_App.vcxproj.filters +++ b/examples/DemoRunner/Builds/VisualStudio2015/DemoRunner_App.vcxproj.filters @@ -2107,6 +2107,9 @@ JUCE Modules\juce_graphics\geometry + + JUCE Modules\juce_graphics\geometry + JUCE Modules\juce_graphics\image_formats\jpglib @@ -4074,6 +4077,9 @@ JUCE Modules\juce_audio_processors\processors + + JUCE Modules\juce_audio_processors\processors + JUCE Modules\juce_audio_processors\processors @@ -4350,6 +4356,9 @@ JUCE Modules\juce_core\containers + + JUCE Modules\juce_core\containers + JUCE Modules\juce_core\containers @@ -4455,6 +4464,9 @@ JUCE Modules\juce_core\memory + + JUCE Modules\juce_core\memory + JUCE Modules\juce_core\memory @@ -5157,6 +5169,9 @@ JUCE Modules\juce_graphics\images + + JUCE Modules\juce_graphics\images + JUCE Modules\juce_graphics\native @@ -5565,6 +5580,9 @@ JUCE Modules\juce_gui_basics\native + + JUCE Modules\juce_gui_basics\native + JUCE Modules\juce_gui_basics\native @@ -5727,9 +5745,6 @@ JUCE Modules\juce_gui_extra\embedding - - JUCE Modules\juce_gui_extra\embedding - JUCE Modules\juce_gui_extra\embedding diff --git a/examples/DemoRunner/Builds/VisualStudio2015/icon.ico b/examples/DemoRunner/Builds/VisualStudio2015/icon.ico index 27c4228e..5fc937a9 100644 Binary files a/examples/DemoRunner/Builds/VisualStudio2015/icon.ico and b/examples/DemoRunner/Builds/VisualStudio2015/icon.ico differ diff --git a/examples/DemoRunner/Builds/VisualStudio2015/resources.rc b/examples/DemoRunner/Builds/VisualStudio2015/resources.rc index 2aeecdd5..592f24f4 100644 --- a/examples/DemoRunner/Builds/VisualStudio2015/resources.rc +++ b/examples/DemoRunner/Builds/VisualStudio2015/resources.rc @@ -9,7 +9,7 @@ #include VS_VERSION_INFO VERSIONINFO -FILEVERSION 6,1,0,0 +FILEVERSION 6,1,3,0 BEGIN BLOCK "StringFileInfo" BEGIN @@ -18,9 +18,9 @@ BEGIN VALUE "CompanyName", "Raw Material Software Limited\0" VALUE "LegalCopyright", "Copyright (c) 2020 - Raw Material Software Limited\0" VALUE "FileDescription", "DemoRunner\0" - VALUE "FileVersion", "6.1.0\0" + VALUE "FileVersion", "6.1.3\0" VALUE "ProductName", "DemoRunner\0" - VALUE "ProductVersion", "6.1.0\0" + VALUE "ProductVersion", "6.1.3\0" END END diff --git a/examples/DemoRunner/Builds/VisualStudio2017/DemoRunner.sln b/examples/DemoRunner/Builds/VisualStudio2017/DemoRunner.sln index cada37af..a078287e 100644 --- a/examples/DemoRunner/Builds/VisualStudio2017/DemoRunner.sln +++ b/examples/DemoRunner/Builds/VisualStudio2017/DemoRunner.sln @@ -1,5 +1,6 @@ + Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2017 +# Visual Studio 15 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DemoRunner - App", "DemoRunner_App.vcxproj", "{882FE2E3-F4EF-9825-1908-F6FEE5366B5C}" EndProject diff --git a/examples/DemoRunner/Builds/VisualStudio2017/DemoRunner_App.vcxproj b/examples/DemoRunner/Builds/VisualStudio2017/DemoRunner_App.vcxproj index f96f66a3..f85dfd73 100644 --- a/examples/DemoRunner/Builds/VisualStudio2017/DemoRunner_App.vcxproj +++ b/examples/DemoRunner/Builds/VisualStudio2017/DemoRunner_App.vcxproj @@ -64,7 +64,7 @@ Disabled ProgramDatabase ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60100;JUCE_MODULE_AVAILABLE_juce_analytics=1;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_box2d=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_osc=1;JUCE_MODULE_AVAILABLE_juce_product_unlocking=1;JUCE_MODULE_AVAILABLE_juce_video=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_USE_MP3AUDIOFORMAT=1;JUCE_ALLOW_STATIC_NULL_VARIABLES=0;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_USE_CAMERA=1;JUCE_STANDALONE_APPLICATION=1;JUCE_DEMO_RUNNER=1;JUCE_UNIT_TESTS=1;JUCER_VS2017_78A5024=1;JUCE_APP_VERSION=6.1.0;JUCE_APP_VERSION_HEX=0x60100;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) + _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_analytics=1;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_box2d=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_osc=1;JUCE_MODULE_AVAILABLE_juce_product_unlocking=1;JUCE_MODULE_AVAILABLE_juce_video=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_USE_MP3AUDIOFORMAT=1;JUCE_ALLOW_STATIC_NULL_VARIABLES=0;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_USE_CAMERA=1;JUCE_STANDALONE_APPLICATION=1;JUCE_DEMO_RUNNER=1;JUCE_UNIT_TESTS=1;JUCER_VS2017_78A5024=1;JUCE_APP_VERSION=6.1.3;JUCE_APP_VERSION_HEX=0x60103;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) MultiThreadedDebugDLL true NotUsing @@ -106,7 +106,7 @@ Full ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60100;JUCE_MODULE_AVAILABLE_juce_analytics=1;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_box2d=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_osc=1;JUCE_MODULE_AVAILABLE_juce_product_unlocking=1;JUCE_MODULE_AVAILABLE_juce_video=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_USE_MP3AUDIOFORMAT=1;JUCE_ALLOW_STATIC_NULL_VARIABLES=0;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_USE_CAMERA=1;JUCE_STANDALONE_APPLICATION=1;JUCE_DEMO_RUNNER=1;JUCE_UNIT_TESTS=1;JUCER_VS2017_78A5024=1;JUCE_APP_VERSION=6.1.0;JUCE_APP_VERSION_HEX=0x60100;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) + _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_analytics=1;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_box2d=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_osc=1;JUCE_MODULE_AVAILABLE_juce_product_unlocking=1;JUCE_MODULE_AVAILABLE_juce_video=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_USE_MP3AUDIOFORMAT=1;JUCE_ALLOW_STATIC_NULL_VARIABLES=0;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_USE_CAMERA=1;JUCE_STANDALONE_APPLICATION=1;JUCE_DEMO_RUNNER=1;JUCE_UNIT_TESTS=1;JUCER_VS2017_78A5024=1;JUCE_APP_VERSION=6.1.3;JUCE_APP_VERSION_HEX=0x60103;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) MultiThreaded true NotUsing @@ -1605,6 +1605,9 @@ true + + true + true @@ -2805,6 +2808,7 @@ + @@ -2897,6 +2901,7 @@ + @@ -2932,6 +2937,7 @@ + @@ -3166,6 +3172,7 @@ + @@ -3302,6 +3309,7 @@ + @@ -3356,7 +3364,6 @@ - diff --git a/examples/DemoRunner/Builds/VisualStudio2017/DemoRunner_App.vcxproj.filters b/examples/DemoRunner/Builds/VisualStudio2017/DemoRunner_App.vcxproj.filters index 6c42a742..8b0abadd 100644 --- a/examples/DemoRunner/Builds/VisualStudio2017/DemoRunner_App.vcxproj.filters +++ b/examples/DemoRunner/Builds/VisualStudio2017/DemoRunner_App.vcxproj.filters @@ -2107,6 +2107,9 @@ JUCE Modules\juce_graphics\geometry + + JUCE Modules\juce_graphics\geometry + JUCE Modules\juce_graphics\image_formats\jpglib @@ -4074,6 +4077,9 @@ JUCE Modules\juce_audio_processors\processors + + JUCE Modules\juce_audio_processors\processors + JUCE Modules\juce_audio_processors\processors @@ -4350,6 +4356,9 @@ JUCE Modules\juce_core\containers + + JUCE Modules\juce_core\containers + JUCE Modules\juce_core\containers @@ -4455,6 +4464,9 @@ JUCE Modules\juce_core\memory + + JUCE Modules\juce_core\memory + JUCE Modules\juce_core\memory @@ -5157,6 +5169,9 @@ JUCE Modules\juce_graphics\images + + JUCE Modules\juce_graphics\images + JUCE Modules\juce_graphics\native @@ -5565,6 +5580,9 @@ JUCE Modules\juce_gui_basics\native + + JUCE Modules\juce_gui_basics\native + JUCE Modules\juce_gui_basics\native @@ -5727,9 +5745,6 @@ JUCE Modules\juce_gui_extra\embedding - - JUCE Modules\juce_gui_extra\embedding - JUCE Modules\juce_gui_extra\embedding diff --git a/examples/DemoRunner/Builds/VisualStudio2017/icon.ico b/examples/DemoRunner/Builds/VisualStudio2017/icon.ico index 27c4228e..5fc937a9 100644 Binary files a/examples/DemoRunner/Builds/VisualStudio2017/icon.ico and b/examples/DemoRunner/Builds/VisualStudio2017/icon.ico differ diff --git a/examples/DemoRunner/Builds/VisualStudio2017/resources.rc b/examples/DemoRunner/Builds/VisualStudio2017/resources.rc index 2aeecdd5..592f24f4 100644 --- a/examples/DemoRunner/Builds/VisualStudio2017/resources.rc +++ b/examples/DemoRunner/Builds/VisualStudio2017/resources.rc @@ -9,7 +9,7 @@ #include VS_VERSION_INFO VERSIONINFO -FILEVERSION 6,1,0,0 +FILEVERSION 6,1,3,0 BEGIN BLOCK "StringFileInfo" BEGIN @@ -18,9 +18,9 @@ BEGIN VALUE "CompanyName", "Raw Material Software Limited\0" VALUE "LegalCopyright", "Copyright (c) 2020 - Raw Material Software Limited\0" VALUE "FileDescription", "DemoRunner\0" - VALUE "FileVersion", "6.1.0\0" + VALUE "FileVersion", "6.1.3\0" VALUE "ProductName", "DemoRunner\0" - VALUE "ProductVersion", "6.1.0\0" + VALUE "ProductVersion", "6.1.3\0" END END diff --git a/examples/DemoRunner/Builds/VisualStudio2019/DemoRunner.sln b/examples/DemoRunner/Builds/VisualStudio2019/DemoRunner.sln index 72107b9f..aa12cc3b 100644 --- a/examples/DemoRunner/Builds/VisualStudio2019/DemoRunner.sln +++ b/examples/DemoRunner/Builds/VisualStudio2019/DemoRunner.sln @@ -1,5 +1,6 @@ + Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2019 +# Visual Studio Version 16 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DemoRunner - App", "DemoRunner_App.vcxproj", "{882FE2E3-F4EF-9825-1908-F6FEE5366B5C}" EndProject diff --git a/examples/DemoRunner/Builds/VisualStudio2019/DemoRunner_App.vcxproj b/examples/DemoRunner/Builds/VisualStudio2019/DemoRunner_App.vcxproj index 63efa54b..02391521 100644 --- a/examples/DemoRunner/Builds/VisualStudio2019/DemoRunner_App.vcxproj +++ b/examples/DemoRunner/Builds/VisualStudio2019/DemoRunner_App.vcxproj @@ -64,7 +64,7 @@ Disabled ProgramDatabase ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60100;JUCE_MODULE_AVAILABLE_juce_analytics=1;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_box2d=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_osc=1;JUCE_MODULE_AVAILABLE_juce_product_unlocking=1;JUCE_MODULE_AVAILABLE_juce_video=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_USE_MP3AUDIOFORMAT=1;JUCE_ALLOW_STATIC_NULL_VARIABLES=0;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_USE_CAMERA=1;JUCE_STANDALONE_APPLICATION=1;JUCE_DEMO_RUNNER=1;JUCE_UNIT_TESTS=1;JUCER_VS2019_78A5026=1;JUCE_APP_VERSION=6.1.0;JUCE_APP_VERSION_HEX=0x60100;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) + _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_analytics=1;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_box2d=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_osc=1;JUCE_MODULE_AVAILABLE_juce_product_unlocking=1;JUCE_MODULE_AVAILABLE_juce_video=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_USE_MP3AUDIOFORMAT=1;JUCE_ALLOW_STATIC_NULL_VARIABLES=0;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_USE_CAMERA=1;JUCE_STANDALONE_APPLICATION=1;JUCE_DEMO_RUNNER=1;JUCE_UNIT_TESTS=1;JUCER_VS2019_78A5026=1;JUCE_APP_VERSION=6.1.3;JUCE_APP_VERSION_HEX=0x60103;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) MultiThreadedDebugDLL true NotUsing @@ -106,7 +106,7 @@ Full ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60100;JUCE_MODULE_AVAILABLE_juce_analytics=1;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_box2d=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_osc=1;JUCE_MODULE_AVAILABLE_juce_product_unlocking=1;JUCE_MODULE_AVAILABLE_juce_video=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_USE_MP3AUDIOFORMAT=1;JUCE_ALLOW_STATIC_NULL_VARIABLES=0;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_USE_CAMERA=1;JUCE_STANDALONE_APPLICATION=1;JUCE_DEMO_RUNNER=1;JUCE_UNIT_TESTS=1;JUCER_VS2019_78A5026=1;JUCE_APP_VERSION=6.1.0;JUCE_APP_VERSION_HEX=0x60100;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) + _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_analytics=1;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_box2d=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_osc=1;JUCE_MODULE_AVAILABLE_juce_product_unlocking=1;JUCE_MODULE_AVAILABLE_juce_video=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_USE_MP3AUDIOFORMAT=1;JUCE_ALLOW_STATIC_NULL_VARIABLES=0;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_USE_CAMERA=1;JUCE_STANDALONE_APPLICATION=1;JUCE_DEMO_RUNNER=1;JUCE_UNIT_TESTS=1;JUCER_VS2019_78A5026=1;JUCE_APP_VERSION=6.1.3;JUCE_APP_VERSION_HEX=0x60103;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) MultiThreaded true NotUsing @@ -1605,6 +1605,9 @@ true + + true + true @@ -2805,6 +2808,7 @@ + @@ -2897,6 +2901,7 @@ + @@ -2932,6 +2937,7 @@ + @@ -3166,6 +3172,7 @@ + @@ -3302,6 +3309,7 @@ + @@ -3356,7 +3364,6 @@ - diff --git a/examples/DemoRunner/Builds/VisualStudio2019/DemoRunner_App.vcxproj.filters b/examples/DemoRunner/Builds/VisualStudio2019/DemoRunner_App.vcxproj.filters index ef5c98b7..33b29abe 100644 --- a/examples/DemoRunner/Builds/VisualStudio2019/DemoRunner_App.vcxproj.filters +++ b/examples/DemoRunner/Builds/VisualStudio2019/DemoRunner_App.vcxproj.filters @@ -2107,6 +2107,9 @@ JUCE Modules\juce_graphics\geometry + + JUCE Modules\juce_graphics\geometry + JUCE Modules\juce_graphics\image_formats\jpglib @@ -4074,6 +4077,9 @@ JUCE Modules\juce_audio_processors\processors + + JUCE Modules\juce_audio_processors\processors + JUCE Modules\juce_audio_processors\processors @@ -4350,6 +4356,9 @@ JUCE Modules\juce_core\containers + + JUCE Modules\juce_core\containers + JUCE Modules\juce_core\containers @@ -4455,6 +4464,9 @@ JUCE Modules\juce_core\memory + + JUCE Modules\juce_core\memory + JUCE Modules\juce_core\memory @@ -5157,6 +5169,9 @@ JUCE Modules\juce_graphics\images + + JUCE Modules\juce_graphics\images + JUCE Modules\juce_graphics\native @@ -5565,6 +5580,9 @@ JUCE Modules\juce_gui_basics\native + + JUCE Modules\juce_gui_basics\native + JUCE Modules\juce_gui_basics\native @@ -5727,9 +5745,6 @@ JUCE Modules\juce_gui_extra\embedding - - JUCE Modules\juce_gui_extra\embedding - JUCE Modules\juce_gui_extra\embedding diff --git a/examples/DemoRunner/Builds/VisualStudio2019/icon.ico b/examples/DemoRunner/Builds/VisualStudio2019/icon.ico index 27c4228e..5fc937a9 100644 Binary files a/examples/DemoRunner/Builds/VisualStudio2019/icon.ico and b/examples/DemoRunner/Builds/VisualStudio2019/icon.ico differ diff --git a/examples/DemoRunner/Builds/VisualStudio2019/resources.rc b/examples/DemoRunner/Builds/VisualStudio2019/resources.rc index 2aeecdd5..592f24f4 100644 --- a/examples/DemoRunner/Builds/VisualStudio2019/resources.rc +++ b/examples/DemoRunner/Builds/VisualStudio2019/resources.rc @@ -9,7 +9,7 @@ #include VS_VERSION_INFO VERSIONINFO -FILEVERSION 6,1,0,0 +FILEVERSION 6,1,3,0 BEGIN BLOCK "StringFileInfo" BEGIN @@ -18,9 +18,9 @@ BEGIN VALUE "CompanyName", "Raw Material Software Limited\0" VALUE "LegalCopyright", "Copyright (c) 2020 - Raw Material Software Limited\0" VALUE "FileDescription", "DemoRunner\0" - VALUE "FileVersion", "6.1.0\0" + VALUE "FileVersion", "6.1.3\0" VALUE "ProductName", "DemoRunner\0" - VALUE "ProductVersion", "6.1.0\0" + VALUE "ProductVersion", "6.1.3\0" END END diff --git a/examples/DemoRunner/Builds/VisualStudio2022/DemoRunner.sln b/examples/DemoRunner/Builds/VisualStudio2022/DemoRunner.sln new file mode 100644 index 00000000..89e469f7 --- /dev/null +++ b/examples/DemoRunner/Builds/VisualStudio2022/DemoRunner.sln @@ -0,0 +1,21 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio Version 17 + +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DemoRunner - App", "DemoRunner_App.vcxproj", "{882FE2E3-F4EF-9825-1908-F6FEE5366B5C}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 + Release|x64 = Release|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {882FE2E3-F4EF-9825-1908-F6FEE5366B5C}.Debug|x64.ActiveCfg = Debug|x64 + {882FE2E3-F4EF-9825-1908-F6FEE5366B5C}.Debug|x64.Build.0 = Debug|x64 + {882FE2E3-F4EF-9825-1908-F6FEE5366B5C}.Release|x64.ActiveCfg = Release|x64 + {882FE2E3-F4EF-9825-1908-F6FEE5366B5C}.Release|x64.Build.0 = Release|x64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/examples/DemoRunner/Builds/VisualStudio2022/DemoRunner_App.vcxproj b/examples/DemoRunner/Builds/VisualStudio2022/DemoRunner_App.vcxproj new file mode 100644 index 00000000..6aafa8eb --- /dev/null +++ b/examples/DemoRunner/Builds/VisualStudio2022/DemoRunner_App.vcxproj @@ -0,0 +1,3462 @@ + + + + + + Debug + x64 + + + Release + x64 + + + + {882FE2E3-F4EF-9825-1908-F6FEE5366B5C} + + + + Application + false + false + v143 + 10.0 + + + Application + false + true + v143 + 10.0 + + + + + + + + <_ProjectFileVersion>10.0.30319.1 + .exe + $(SolutionDir)$(Platform)\$(Configuration)\App\ + $(Platform)\$(Configuration)\App\ + DemoRunner + true + $(SolutionDir)$(Platform)\$(Configuration)\App\ + $(Platform)\$(Configuration)\App\ + DemoRunner + true + + + + _DEBUG;%(PreprocessorDefinitions) + true + true + Win32 + + + + Disabled + ProgramDatabase + ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) + _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_analytics=1;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_box2d=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_osc=1;JUCE_MODULE_AVAILABLE_juce_product_unlocking=1;JUCE_MODULE_AVAILABLE_juce_video=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_USE_MP3AUDIOFORMAT=1;JUCE_ALLOW_STATIC_NULL_VARIABLES=0;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_USE_CAMERA=1;JUCE_STANDALONE_APPLICATION=1;JUCE_DEMO_RUNNER=1;JUCE_UNIT_TESTS=1;JUCER_VS2022_78A503E=1;JUCE_APP_VERSION=6.1.3;JUCE_APP_VERSION_HEX=0x60103;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) + MultiThreadedDebugDLL + true + NotUsing + $(IntDir)\ + $(IntDir)\ + $(IntDir)\DemoRunner.pdb + Level4 + true + true + /w44265 /w45038 /w44062 %(AdditionalOptions) + stdcpp14 + + + _DEBUG;%(PreprocessorDefinitions) + + + $(OutDir)\DemoRunner.exe + true + libcmt.lib; msvcrt.lib;;%(IgnoreSpecificDefaultLibraries) + true + $(IntDir)\DemoRunner.pdb + Windows + true + + + true + $(IntDir)\DemoRunner.bsc + + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + Win32 + + + + Full + ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) + _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_analytics=1;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_box2d=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_osc=1;JUCE_MODULE_AVAILABLE_juce_product_unlocking=1;JUCE_MODULE_AVAILABLE_juce_video=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_USE_MP3AUDIOFORMAT=1;JUCE_ALLOW_STATIC_NULL_VARIABLES=0;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_USE_CAMERA=1;JUCE_STANDALONE_APPLICATION=1;JUCE_DEMO_RUNNER=1;JUCE_UNIT_TESTS=1;JUCER_VS2022_78A503E=1;JUCE_APP_VERSION=6.1.3;JUCE_APP_VERSION_HEX=0x60103;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) + MultiThreaded + true + NotUsing + $(IntDir)\ + $(IntDir)\ + $(IntDir)\DemoRunner.pdb + Level4 + true + true + /w44265 /w45038 /w44062 %(AdditionalOptions) + stdcpp14 + + + NDEBUG;%(PreprocessorDefinitions) + + + $(OutDir)\DemoRunner.exe + true + %(IgnoreSpecificDefaultLibraries) + false + $(IntDir)\DemoRunner.pdb + Windows + true + true + true + UseLinkTimeCodeGeneration + + + true + $(IntDir)\DemoRunner.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 + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + + + + + + + + + + + + + + /bigobj %(AdditionalOptions) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/DemoRunner/Builds/VisualStudio2022/DemoRunner_App.vcxproj.filters b/examples/DemoRunner/Builds/VisualStudio2022/DemoRunner_App.vcxproj.filters new file mode 100644 index 00000000..0b6fc1ff --- /dev/null +++ b/examples/DemoRunner/Builds/VisualStudio2022/DemoRunner_App.vcxproj.filters @@ -0,0 +1,6017 @@ + + + + + + {747DECFA-60E8-6F38-F8B4-1FC9052FD677} + + + {67AC4BA4-ADB7-61F2-40EB-054BFA2565E9} + + + {8C2BA468-929C-4792-FBD2-3009E3068DD0} + + + {AC828C39-320F-8E54-0482-C033528D4EEC} + + + {E3CEC08A-FA14-D343-5BFF-3D6A4A4FD713} + + + {B3BC836A-3932-C1E4-CA3C-A1C0D83281BA} + + + {97F7F593-75F8-D6B2-DC96-C946C3976226} + + + {EB58F05A-A968-CEBE-40C4-107CDD8F240F} + + + {5FCF559E-451A-CB1E-B177-A5DC5A0005BB} + + + {05CE33FC-868F-AA1A-12B8-79C98E753648} + + + {D78296AF-218E-B17E-7F8B-9D148601188D} + + + {B96EBA26-E668-FFAF-FC53-1EC1337DAF5A} + + + {D8532E5E-469E-5042-EFC8-238241704735} + + + {777B5D1D-9AF0-B22B-8894-034603EE97F5} + + + {8292766D-2459-2E7E-7615-17216318BA93} + + + {9BD56105-DAB4-EBD5-00DD-BD540E98FE88} + + + {10472B2C-9888-D269-F351-0D0AC3BCD16C} + + + {BF23FC10-1D57-2A9B-706F-6DD8A7B593D4} + + + {386862D5-4DCC-A4B3-5642-60A201E303EF} + + + {092EFC17-7C95-7E04-0ACA-0D61A462EE81} + + + {285118C6-8FDA-7DCE-BEF4-FFB2120876C5} + + + {69ED6B61-9B8D-D47E-E4A6-2E9F9A94A75A} + + + {7CDB7CD1-BB96-F593-3C78-1E06182B5839} + + + {B0A708DE-B4CF-196B-14FB-DC8221509B8E} + + + {34F46ADE-EE31-227A-A69E-7732E70145F1} + + + {BB9B3C77-17FB-E994-8B75-88F1727E4655} + + + {C0971D77-2F14-190A-E2AE-89D6285F4D5A} + + + {AABEA333-6524-8891-51C7-6DAEB5700628} + + + {F2D29337-983E-BAD7-7B5C-E0AB3D53D404} + + + {C674B0FB-1FC0-2986-94B1-083845018994} + + + {0AFC1CE8-F6E6-9817-8C21-8432B2A375DA} + + + {0D1AF264-3AC1-78A2-B2A4-AE6171F9194A} + + + {9A5DB854-CFFB-5F88-C566-0E10F994DDB3} + + + {38A5DDC7-416E-548F-39DA-887875FE6B20} + + + {980FE2DB-05D3-5FDA-79DA-067A56F5D19D} + + + {F336DC25-747A-0663-93D6-E3EB9AA0CBF8} + + + {7D78546A-80FC-4DCA-00B9-F191F0AB2179} + + + {9EB3EC7F-2AB7-DDAA-3C05-DF382B728D3F} + + + {6B9FBFDC-1D10-6246-356D-00FF4535CECB} + + + {D6FCFC8E-7136-9109-78C0-91A3EB4C443F} + + + {EBF18AC1-F0ED-937A-2824-4307CE2ADAF7} + + + {5A0F7922-2EFB-6465-57E4-A445B804EFB5} + + + {4EC45416-0E7C-7567-6F75-D0C8CEE7DC4F} + + + {C2985031-0496-55B5-41A8-BAB99E53D89D} + + + {FB4AB426-7009-0036-BB75-E34256AA7C89} + + + {E684D858-09E8-0251-8E86-5657129641E1} + + + {1EF1BF17-F941-243A-04D1-EE617D140CBA} + + + {344DB016-679C-FBD0-3EC6-4570C47522DE} + + + {3D9758A0-9359-1710-87C1-05D475C08B17} + + + {E824435F-FC7B-10BE-5D1A-5DACC51A8836} + + + {86737735-F6BA-F64A-5EC7-5C9F36755F79} + + + {4DC60E78-BBC0-B540-63A2-37E14ABBEF09} + + + {80C72173-A1E1-C3C5-9288-B889CE2EAFEA} + + + {4138B955-AA0B-FA86-DBF9-404CAFFFA866} + + + {2B4166B8-F470-F07C-4F51-D2DAAAECBB18} + + + {9C295115-C0CD-3129-1C4D-FB53299B23FB} + + + {65526A8B-3447-9DF0-FD5D-00D111126027} + + + {A54A1F5C-F32F-F97B-9E8A-69922B770A54} + + + {B90A44F3-B62D-B5C0-81A2-683D2650AEE6} + + + {DAF30656-5915-0E45-C4E4-54439617D525} + + + {9266EA90-6A0A-5DDB-9CB7-966BEF03BA5C} + + + {9C713CBA-A9E2-5F4E-F83C-2CAB8533913C} + + + {63571A07-9AA3-5BB0-1103-0B42A2E6BC9E} + + + {314F43F2-BC8F-B464-EAE7-86B9675454E9} + + + {874C5D0C-6D29-68EE-38BB-26200B56BC89} + + + {86BAA7A7-DC50-35B6-910B-932AEAF257F2} + + + {6B7BE34D-1BC1-C7B9-111F-C55CA8250943} + + + {9B6B6D54-D378-80C2-8CC9-D1D8FB44C2A8} + + + {D0584AC3-6837-14F6-90BF-5EA604D1F074} + + + {794B64EC-B809-32E3-AD00-4EE6A74802CA} + + + {67BE498C-9E1F-C73A-B99A-387C034CE680} + + + {1A9C8538-959B-25E3-473D-B462C9A9D458} + + + {AA9F594C-DFAF-C0A7-0CCD-9F90E54D3A01} + + + {230BF784-34F4-3BE8-46D4-54E6B67E5E9E} + + + {39F680F3-5161-4D1C-EAD0-3911ED808874} + + + {3197198B-A978-E330-C7FB-07E5CE8236C7} + + + {ED064203-CFE3-44F5-49E6-0BE948CCC752} + + + {60B6EF27-E71E-E771-7B52-F8228C928B3B} + + + {0ADD7306-A27A-EDEF-58D9-1011038D943B} + + + {5502FEA8-790D-593B-7FAF-105304E7A347} + + + {AFB1C715-E4C1-6EB6-367F-D39E64A43205} + + + {114D3F58-5C40-FB13-D076-E3C9CA8D9DBB} + + + {F9420CA4-6ED8-1262-CB31-33328608458F} + + + {1E1A2151-F76C-B7BC-0CB1-10A77A9CF19B} + + + {F9646265-8542-9FD2-1209-55FA76076736} + + + {5971F265-ED75-A920-9750-064F2EE5E6A2} + + + {42F7BE9D-3C8A-AE26-289B-8F355C068036} + + + {7868764A-6572-381A-906C-9C26792A4C29} + + + {03678508-A517-48BB-FB4A-485628C34E08} + + + {07D27C1D-3227-F527-356C-17DA11551A99} + + + {6146D580-99D2-A6C8-5908-30DC355BB6BA} + + + {C67003E8-BEA8-2188-F4B3-A122F4B4FA3F} + + + {09B91E68-1FF4-C7ED-9055-D4D96E66A0BA} + + + {30B3DA63-C1E4-F2EA-CEF0-8035D8CBFF64} + + + {4F24EEED-AA33-AC6C-9A39-72E71CF83EF0} + + + {0F70B1A9-BB50-23F5-2AE7-F95E51A00389} + + + {D4C8DC40-2CD2-04B6-05D0-1E7A88841390} + + + {58BED6AF-DB89-7560-B2B8-D937C1C0825A} + + + {B958F86B-6926-8D9B-2FC6-8BFD4BDC72C9} + + + {DB624F7D-D513-25AC-C13C-B9062EB3BEEE} + + + {89AA9B6C-4029-A34F-C1B0-3B5D8691F4D4} + + + {1A7F541C-B032-9C66-C320-A13B2A8A9866} + + + {4BAB7C18-51AB-0D9D-83CD-9C37F28D2E38} + + + {5523922E-8B0C-A52B-477C-752C09F8197F} + + + {857B6D8B-0ECB-FE9E-D1EB-D5E45E72F057} + + + {BAA582FA-40B7-320E-EE7A-4C3892C7BE72} + + + {89B3E447-34BE-C691-638E-09796C6B647E} + + + {9BE78436-DBF4-658C-579B-ED19FFD0EB5D} + + + {21E7FA61-9E0A-4BA1-04B7-AF47AFA9CB8B} + + + {632B4C79-AF7D-BFB5-D006-5AE67F607130} + + + {B10E20C2-4583-2B79-60B7-FE4D4B044313} + + + {CFB54F15-8A8A-0505-9B7F-ECA41CEE38E8} + + + {911F0159-A7A8-4A43-3FD4-154F62F4A44B} + + + {53CF03D3-988B-CD28-9130-CE08FDCEF7E9} + + + {29C6FE02-507E-F3FE-16CD-74D84842C1EA} + + + {8001BD68-125B-E392-8D3B-1F9C9520A65A} + + + {EDC17061-CFA0-8EA0-0ADA-90F31C2FB0F2} + + + {B813BD14-6565-2525-9AC3-E3AA48EDDA85} + + + {DDF4BA73-8578-406D-21F8-06B9BC70BFEA} + + + {73374573-0194-9A6E-461A-A81EEB511C26} + + + {5DD60D0E-B16A-0BED-EDC4-C56E6960CA9E} + + + {9D5816C2-E2B2-2E3F-B095-AC8BD1100D29} + + + {3FDCD000-763F-8477-9AF8-70ABA2E91E5E} + + + {0947506F-66FA-EF8D-8A4E-4D48BCDBB226} + + + {E4B6AED3-F54C-3FF2-069F-640BACAE0E08} + + + {D5EADBCC-6A1C-C940-0206-26E49110AF08} + + + {D27DC92D-5BEB-9294-DCD1-81D54E245AD5} + + + {BCD73D20-42B1-6CDB-DE66-B06236A60F47} + + + {20DC13F6-2369-8841-9F0B-D13FA14EEE74} + + + {A302A8DB-120F-9EBB-A3D5-2C29963AA56B} + + + {45489C2A-6E0E-CCDC-6638-0DACEEB63CCA} + + + {F1B90726-DB55-0293-BFAF-C65C7DF5489C} + + + {2C55FD42-0ACD-B0B8-7EAE-EB17F09BAEEC} + + + {B68CD2B2-701F-9AB7-4638-2485D6E06BCF} + + + {B0B7C78E-729E-0FFA-D611-82AE8BC7FE2C} + + + {0A4F7E12-220C-14EF-0026-9C0629FA9C17} + + + {37F49E10-4E62-6D5C-FF70-722D0CA3D97E} + + + {160D9882-0F68-278D-C5F9-8960FD7421D2} + + + {4CED05DA-E0A2-E548-F753-1F2EF299A8E3} + + + {46AE69B8-AD58-4381-6CDE-25C8D75B01D2} + + + {E56CB4FC-32E8-8740-A3BB-B323CD937A99} + + + {4ECDCA0C-BB38-0729-A6B6-2FB0B4D0863B} + + + {294E4CD5-B06F-97D1-04A3-51871CEA507C} + + + {77228F15-BD91-06FF-2C7E-0377D25C2C94} + + + {5CB531E6-BF9A-2C50-056C-EE5A525D28D3} + + + {E4EA47E5-B41C-2A19-1783-7E9104096ECD} + + + {B331BC33-9770-3DB5-73F2-BC2469ECCF7F} + + + {46A17AC9-0BFF-B5CE-26D6-B9D1992C88AC} + + + {D90A8DF7-FBAB-D363-13C0-6707BB22B72B} + + + {8AE77C40-6839-EC37-4515-BD3CC269BCE4} + + + {0EAD99DB-011F-09E5-45A2-365F646EB004} + + + {F57590C6-3B90-1BE1-1006-488BA33E8BD9} + + + {7C319D73-0D93-5842-0874-398D2D3038D5} + + + {2CB4DB0C-DD3B-6195-D822-76EC7A5C88D2} + + + {FE3CB19C-EF43-5CF5-DAF0-09D4E43D0AB9} + + + {C0E5DD5D-F8F1-DD25-67D7-291946AB3828} + + + {FE7E6CD5-C7A0-DB20-4E7E-D6E7F08C4578} + + + {895C2D33-E08D-B1BA-BB36-FC4CA65090C8} + + + {D64A57DB-A956-5519-1929-1D929B56E1B0} + + + {5A99CC24-AC45-7ED6-C11A-B8B86E76D884} + + + {7A131EEC-25A7-22F6-2839-A2194DDF3007} + + + {EA9DB76C-CEF7-6BFC-2070-28B7DF8E8063} + + + {3C206A40-6F1B-E683-ACF1-DEC3703D0140} + + + {DF95D4BF-E18C-125A-5EBB-8993A06E232C} + + + {118946F2-AC24-0F09-62D5-753DF87A60CD} + + + {07329F9B-7D3D-CEB3-C771-714842076140} + + + {08BBBECB-B0D1-7611-37EC-F57E1D0CE2A2} + + + {268E8F2A-980C-BF2F-B161-AACABC9D91F3} + + + {A4D76113-9EDC-DA60-D89B-5BACF7F1C426} + + + {1A9221A3-E993-70B2-6EA2-8E1DB5FF646A} + + + {CC2DAD7A-5B45-62AB-4C54-6FE6B1AE86C3} + + + {599138A9-EA63-53DD-941F-ABE3412D2949} + + + {422A4014-8587-1AE6-584F-32A62613A37B} + + + {9FBFF5E5-56F1-34A1-2C85-F760DA2B1EB7} + + + {EEE9B92C-AD26-4BEA-4D95-3F859090EA9F} + + + {B1DE8DB1-C00A-12C0-D690-8B3C9504A60A} + + + {640F6C76-C532-710A-DF73-582F2350F6A3} + + + {FFA9DA63-69C5-A392-4EEE-395CD07733BB} + + + {D3DCC9A9-ADBC-E37E-3CAA-43B3F156B8B9} + + + {409F7733-AD90-6113-85BA-7136DD178413} + + + {CB8DF3B2-0409-6D59-C5D4-A034EBB7F973} + + + {7774F72F-C951-B8AB-E927-E34AD23C52C8} + + + {658BADF8-7095-C722-F9EC-9F36E8818187} + + + {2C58F450-CD01-0231-2F16-0D4D68565164} + + + {FE955B6B-68AC-AA07-70D8-2413F6DB65C8} + + + {7ED5A90E-41AF-A1EF-659B-37CEEAB9BA61} + + + + + DemoRunner\Source\Demos + + + DemoRunner\Source\Demos + + + DemoRunner\Source\Demos + + + DemoRunner\Source\UI + + + DemoRunner\Source\UI + + + DemoRunner\Source + + + JUCE Modules\juce_analytics\analytics + + + JUCE Modules\juce_analytics\analytics + + + JUCE Modules\juce_analytics\destinations + + + JUCE Modules\juce_analytics + + + JUCE Modules\juce_audio_basics\buffers + + + JUCE Modules\juce_audio_basics\buffers + + + JUCE Modules\juce_audio_basics\buffers + + + JUCE Modules\juce_audio_basics\buffers + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + 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\midi + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + 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\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics + + + 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\midi_io\ump + + + JUCE Modules\juce_audio_devices\midi_io + + + JUCE Modules\juce_audio_devices\midi_io + + + JUCE Modules\juce_audio_devices\native\oboe\src\aaudio + + + JUCE Modules\juce_audio_devices\native\oboe\src\aaudio + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\fifo + + + JUCE Modules\juce_audio_devices\native\oboe\src\fifo + + + JUCE Modules\juce_audio_devices\native\oboe\src\fifo + + + JUCE Modules\juce_audio_devices\native\oboe\src\fifo + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + 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\sources + + + JUCE Modules\juce_audio_devices\sources + + + JUCE Modules\juce_audio_devices + + + JUCE Modules\juce_audio_devices + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis + + + 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\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\sampler + + + JUCE Modules\juce_audio_formats + + + JUCE Modules\juce_audio_formats + + + JUCE Modules\juce_audio_processors\format + + + JUCE Modules\juce_audio_processors\format + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\thread\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\common + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\common + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + 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\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\scanning + + + JUCE Modules\juce_audio_processors\scanning + + + JUCE Modules\juce_audio_processors\scanning + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors + + + JUCE Modules\juce_audio_processors + + + JUCE Modules\juce_audio_utils\audio_cd + + + 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\native + + + JUCE Modules\juce_audio_utils\native + + + JUCE Modules\juce_audio_utils\native + + + JUCE Modules\juce_audio_utils\native + + + JUCE Modules\juce_audio_utils\native + + + JUCE Modules\juce_audio_utils\native + + + JUCE Modules\juce_audio_utils\native + + + JUCE Modules\juce_audio_utils\native + + + JUCE Modules\juce_audio_utils\native + + + JUCE Modules\juce_audio_utils\native + + + JUCE Modules\juce_audio_utils\players + + + JUCE Modules\juce_audio_utils\players + + + JUCE Modules\juce_audio_utils + + + JUCE Modules\juce_audio_utils + + + JUCE Modules\juce_box2d\box2d\Collision\Shapes + + + JUCE Modules\juce_box2d\box2d\Collision\Shapes + + + JUCE Modules\juce_box2d\box2d\Collision\Shapes + + + JUCE Modules\juce_box2d\box2d\Collision\Shapes + + + JUCE Modules\juce_box2d\box2d\Collision + + + JUCE Modules\juce_box2d\box2d\Collision + + + JUCE Modules\juce_box2d\box2d\Collision + + + JUCE Modules\juce_box2d\box2d\Collision + + + JUCE Modules\juce_box2d\box2d\Collision + + + JUCE Modules\juce_box2d\box2d\Collision + + + JUCE Modules\juce_box2d\box2d\Collision + + + JUCE Modules\juce_box2d\box2d\Collision + + + JUCE Modules\juce_box2d\box2d\Common + + + JUCE Modules\juce_box2d\box2d\Common + + + JUCE Modules\juce_box2d\box2d\Common + + + JUCE Modules\juce_box2d\box2d\Common + + + JUCE Modules\juce_box2d\box2d\Common + + + JUCE Modules\juce_box2d\box2d\Common + + + JUCE Modules\juce_box2d\box2d\Dynamics\Contacts + + + JUCE Modules\juce_box2d\box2d\Dynamics\Contacts + + + JUCE Modules\juce_box2d\box2d\Dynamics\Contacts + + + JUCE Modules\juce_box2d\box2d\Dynamics\Contacts + + + JUCE Modules\juce_box2d\box2d\Dynamics\Contacts + + + JUCE Modules\juce_box2d\box2d\Dynamics\Contacts + + + JUCE Modules\juce_box2d\box2d\Dynamics\Contacts + + + JUCE Modules\juce_box2d\box2d\Dynamics\Contacts + + + JUCE Modules\juce_box2d\box2d\Dynamics\Contacts + + + JUCE Modules\juce_box2d\box2d\Dynamics\Joints + + + JUCE Modules\juce_box2d\box2d\Dynamics\Joints + + + JUCE Modules\juce_box2d\box2d\Dynamics\Joints + + + JUCE Modules\juce_box2d\box2d\Dynamics\Joints + + + JUCE Modules\juce_box2d\box2d\Dynamics\Joints + + + JUCE Modules\juce_box2d\box2d\Dynamics\Joints + + + JUCE Modules\juce_box2d\box2d\Dynamics\Joints + + + JUCE Modules\juce_box2d\box2d\Dynamics\Joints + + + JUCE Modules\juce_box2d\box2d\Dynamics\Joints + + + JUCE Modules\juce_box2d\box2d\Dynamics\Joints + + + JUCE Modules\juce_box2d\box2d\Dynamics\Joints + + + JUCE Modules\juce_box2d\box2d\Dynamics + + + JUCE Modules\juce_box2d\box2d\Dynamics + + + JUCE Modules\juce_box2d\box2d\Dynamics + + + JUCE Modules\juce_box2d\box2d\Dynamics + + + JUCE Modules\juce_box2d\box2d\Dynamics + + + JUCE Modules\juce_box2d\box2d\Dynamics + + + JUCE Modules\juce_box2d\box2d\Rope + + + JUCE Modules\juce_box2d\utils + + + JUCE Modules\juce_box2d + + + 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\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\javascript + + + JUCE Modules\juce_core\javascript + + + JUCE Modules\juce_core\logging + + + JUCE Modules\juce_core\logging + + + 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\misc + + + 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\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\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\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\system + + + 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\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\unit_tests + + + JUCE Modules\juce_core\xml + + + JUCE Modules\juce_core\xml + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip + + + JUCE Modules\juce_core\zip + + + JUCE Modules\juce_core\zip + + + JUCE Modules\juce_core + + + 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\hashing + + + JUCE Modules\juce_cryptography + + + JUCE Modules\juce_cryptography + + + JUCE Modules\juce_data_structures\app_properties + + + JUCE Modules\juce_data_structures\app_properties + + + JUCE Modules\juce_data_structures\undomanager + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures + + + JUCE Modules\juce_data_structures + + + JUCE Modules\juce_dsp\containers + + + JUCE Modules\juce_dsp\containers + + + JUCE Modules\juce_dsp\containers + + + JUCE Modules\juce_dsp\filter_design + + + JUCE Modules\juce_dsp\frequency + + + JUCE Modules\juce_dsp\frequency + + + JUCE Modules\juce_dsp\frequency + + + JUCE Modules\juce_dsp\frequency + + + JUCE Modules\juce_dsp\frequency + + + JUCE Modules\juce_dsp\maths + + + JUCE Modules\juce_dsp\maths + + + JUCE Modules\juce_dsp\maths + + + JUCE Modules\juce_dsp\maths + + + JUCE Modules\juce_dsp\maths + + + JUCE Modules\juce_dsp\native + + + JUCE Modules\juce_dsp\native + + + JUCE Modules\juce_dsp\native + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\widgets + + + JUCE Modules\juce_dsp\widgets + + + JUCE Modules\juce_dsp\widgets + + + JUCE Modules\juce_dsp\widgets + + + JUCE Modules\juce_dsp\widgets + + + JUCE Modules\juce_dsp\widgets + + + JUCE Modules\juce_dsp + + + JUCE Modules\juce_dsp + + + 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\interprocess + + + JUCE Modules\juce_events\messages + + + JUCE Modules\juce_events\messages + + + JUCE Modules\juce_events\messages + + + JUCE Modules\juce_events\messages + + + 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_events\native + + + JUCE Modules\juce_events\native + + + JUCE Modules\juce_events\timers + + + JUCE Modules\juce_events\timers + + + JUCE Modules\juce_events + + + 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\contexts + + + JUCE Modules\juce_graphics\contexts + + + JUCE Modules\juce_graphics\contexts + + + JUCE Modules\juce_graphics\effects + + + JUCE Modules\juce_graphics\effects + + + 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\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\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats + + + JUCE Modules\juce_graphics\image_formats + + + JUCE Modules\juce_graphics\image_formats + + + JUCE Modules\juce_graphics\images + + + JUCE Modules\juce_graphics\images + + + JUCE Modules\juce_graphics\images + + + JUCE Modules\juce_graphics\images + + + 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_graphics\native + + + JUCE Modules\juce_graphics\native + + + JUCE Modules\juce_graphics\native + + + JUCE Modules\juce_graphics\native + + + JUCE Modules\juce_graphics\placement + + + JUCE Modules\juce_graphics + + + JUCE Modules\juce_graphics + + + JUCE Modules\juce_gui_basics\accessibility + + + JUCE Modules\juce_gui_basics\application + + + 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\commands + + + JUCE Modules\juce_gui_basics\commands + + + JUCE Modules\juce_gui_basics\commands + + + JUCE Modules\juce_gui_basics\commands + + + 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\desktop + + + JUCE Modules\juce_gui_basics\desktop + + + 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\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\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\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\layout + + + JUCE Modules\juce_gui_basics\layout + + + 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\lookandfeel + + + JUCE Modules\juce_gui_basics\menus + + + JUCE Modules\juce_gui_basics\menus + + + JUCE Modules\juce_gui_basics\menus + + + JUCE Modules\juce_gui_basics\menus + + + JUCE Modules\juce_gui_basics\misc + + + JUCE Modules\juce_gui_basics\misc + + + JUCE Modules\juce_gui_basics\misc + + + 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\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\x11 + + + JUCE Modules\juce_gui_basics\native\x11 + + + JUCE Modules\juce_gui_basics\native\x11 + + + 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_basics\native + + + JUCE Modules\juce_gui_basics\native + + + JUCE Modules\juce_gui_basics\native + + + 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\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\properties + + + 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 + + + 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\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\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_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 + + + 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\opengl + + + JUCE Modules\juce_opengl\utils + + + JUCE Modules\juce_opengl + + + JUCE Modules\juce_opengl + + + JUCE Modules\juce_osc\osc + + + JUCE Modules\juce_osc\osc + + + JUCE Modules\juce_osc\osc + + + JUCE Modules\juce_osc\osc + + + JUCE Modules\juce_osc\osc + + + JUCE Modules\juce_osc\osc + + + JUCE Modules\juce_osc\osc + + + JUCE Modules\juce_osc\osc + + + JUCE Modules\juce_osc + + + JUCE Modules\juce_product_unlocking\in_app_purchases + + + JUCE Modules\juce_product_unlocking\marketplace + + + JUCE Modules\juce_product_unlocking\marketplace + + + JUCE Modules\juce_product_unlocking\marketplace + + + JUCE Modules\juce_product_unlocking\native + + + JUCE Modules\juce_product_unlocking\native + + + JUCE Modules\juce_product_unlocking + + + JUCE Modules\juce_product_unlocking + + + JUCE Modules\juce_video\capture + + + JUCE Modules\juce_video\playback + + + JUCE Modules\juce_video + + + JUCE Modules\juce_video + + + 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 Library Code + + + JUCE Library Code + + + JUCE Library Code + + + JUCE Library Code + + + JUCE Library Code + + + + + DemoRunner\Source\Demos + + + DemoRunner\Source\Demos + + + DemoRunner\Source\UI + + + DemoRunner\Source\UI + + + DemoRunner\Source\UI + + + JUCE Modules\juce_analytics\analytics + + + JUCE Modules\juce_analytics\analytics + + + JUCE Modules\juce_analytics\destinations + + + JUCE Modules\juce_analytics\destinations + + + JUCE Modules\juce_analytics + + + JUCE Modules\juce_audio_basics\audio_play_head + + + JUCE Modules\juce_audio_basics\buffers + + + JUCE Modules\juce_audio_basics\buffers + + + JUCE Modules\juce_audio_basics\buffers + + + JUCE Modules\juce_audio_basics\buffers + + + JUCE Modules\juce_audio_basics\buffers + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + 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\midi + + + JUCE Modules\juce_audio_basics\midi + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\native + + + 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\sources + + + JUCE Modules\juce_audio_basics\synthesisers + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + 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\ump + + + JUCE Modules\juce_audio_devices\midi_io\ump + + + JUCE Modules\juce_audio_devices\midi_io + + + JUCE Modules\juce_audio_devices\midi_io + + + JUCE Modules\juce_audio_devices\native\oboe\include\oboe + + + JUCE Modules\juce_audio_devices\native\oboe\include\oboe + + + JUCE Modules\juce_audio_devices\native\oboe\include\oboe + + + JUCE Modules\juce_audio_devices\native\oboe\include\oboe + + + JUCE Modules\juce_audio_devices\native\oboe\include\oboe + + + JUCE Modules\juce_audio_devices\native\oboe\include\oboe + + + JUCE Modules\juce_audio_devices\native\oboe\include\oboe + + + JUCE Modules\juce_audio_devices\native\oboe\include\oboe + + + JUCE Modules\juce_audio_devices\native\oboe\include\oboe + + + JUCE Modules\juce_audio_devices\native\oboe\include\oboe + + + JUCE Modules\juce_audio_devices\native\oboe\include\oboe + + + JUCE Modules\juce_audio_devices\native\oboe\src\aaudio + + + JUCE Modules\juce_audio_devices\native\oboe\src\aaudio + + + JUCE Modules\juce_audio_devices\native\oboe\src\aaudio + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\fifo + + + JUCE Modules\juce_audio_devices\native\oboe\src\fifo + + + JUCE Modules\juce_audio_devices\native\oboe\src\fifo + + + JUCE Modules\juce_audio_devices\native\oboe\src\fifo + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native + + + JUCE Modules\juce_audio_devices\native + + + JUCE Modules\juce_audio_devices\sources + + + JUCE Modules\juce_audio_devices\sources + + + JUCE Modules\juce_audio_devices + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\books\coupled + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\books\coupled + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\books\floor + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\books\uncoupled + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis + + + 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\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\sampler + + + JUCE Modules\juce_audio_formats + + + JUCE Modules\juce_audio_processors\format + + + JUCE Modules\juce_audio_processors\format + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\thread\include + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\gui + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\gui + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\common + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\common + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + 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\format_types + + + JUCE Modules\juce_audio_processors\format_types + + + 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\processors + + + JUCE Modules\juce_audio_processors\processors + + + JUCE Modules\juce_audio_processors\scanning + + + JUCE Modules\juce_audio_processors\scanning + + + JUCE Modules\juce_audio_processors\scanning + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors + + + JUCE Modules\juce_audio_utils\audio_cd + + + JUCE Modules\juce_audio_utils\audio_cd + + + 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\gui + + + JUCE Modules\juce_audio_utils\gui + + + JUCE Modules\juce_audio_utils\players + + + JUCE Modules\juce_audio_utils\players + + + JUCE Modules\juce_audio_utils + + + JUCE Modules\juce_box2d\box2d\Collision\Shapes + + + JUCE Modules\juce_box2d\box2d\Collision\Shapes + + + JUCE Modules\juce_box2d\box2d\Collision\Shapes + + + JUCE Modules\juce_box2d\box2d\Collision\Shapes + + + JUCE Modules\juce_box2d\box2d\Collision\Shapes + + + JUCE Modules\juce_box2d\box2d\Collision + + + JUCE Modules\juce_box2d\box2d\Collision + + + JUCE Modules\juce_box2d\box2d\Collision + + + JUCE Modules\juce_box2d\box2d\Collision + + + JUCE Modules\juce_box2d\box2d\Collision + + + JUCE Modules\juce_box2d\box2d\Common + + + JUCE Modules\juce_box2d\box2d\Common + + + JUCE Modules\juce_box2d\box2d\Common + + + JUCE Modules\juce_box2d\box2d\Common + + + JUCE Modules\juce_box2d\box2d\Common + + + JUCE Modules\juce_box2d\box2d\Common + + + JUCE Modules\juce_box2d\box2d\Common + + + JUCE Modules\juce_box2d\box2d\Dynamics\Contacts + + + JUCE Modules\juce_box2d\box2d\Dynamics\Contacts + + + JUCE Modules\juce_box2d\box2d\Dynamics\Contacts + + + JUCE Modules\juce_box2d\box2d\Dynamics\Contacts + + + JUCE Modules\juce_box2d\box2d\Dynamics\Contacts + + + JUCE Modules\juce_box2d\box2d\Dynamics\Contacts + + + JUCE Modules\juce_box2d\box2d\Dynamics\Contacts + + + JUCE Modules\juce_box2d\box2d\Dynamics\Contacts + + + JUCE Modules\juce_box2d\box2d\Dynamics\Contacts + + + JUCE Modules\juce_box2d\box2d\Dynamics\Joints + + + JUCE Modules\juce_box2d\box2d\Dynamics\Joints + + + JUCE Modules\juce_box2d\box2d\Dynamics\Joints + + + JUCE Modules\juce_box2d\box2d\Dynamics\Joints + + + JUCE Modules\juce_box2d\box2d\Dynamics\Joints + + + JUCE Modules\juce_box2d\box2d\Dynamics\Joints + + + JUCE Modules\juce_box2d\box2d\Dynamics\Joints + + + JUCE Modules\juce_box2d\box2d\Dynamics\Joints + + + JUCE Modules\juce_box2d\box2d\Dynamics\Joints + + + JUCE Modules\juce_box2d\box2d\Dynamics\Joints + + + JUCE Modules\juce_box2d\box2d\Dynamics\Joints + + + JUCE Modules\juce_box2d\box2d\Dynamics + + + JUCE Modules\juce_box2d\box2d\Dynamics + + + JUCE Modules\juce_box2d\box2d\Dynamics + + + JUCE Modules\juce_box2d\box2d\Dynamics + + + JUCE Modules\juce_box2d\box2d\Dynamics + + + JUCE Modules\juce_box2d\box2d\Dynamics + + + JUCE Modules\juce_box2d\box2d\Dynamics + + + JUCE Modules\juce_box2d\box2d\Rope + + + JUCE Modules\juce_box2d\box2d + + + JUCE Modules\juce_box2d\utils + + + JUCE Modules\juce_box2d + + + 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\containers + + + JUCE Modules\juce_core\containers + + + JUCE Modules\juce_core\containers + + + 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\files + + + JUCE Modules\juce_core\javascript + + + JUCE Modules\juce_core\javascript + + + JUCE Modules\juce_core\logging + + + JUCE Modules\juce_core\logging + + + 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\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\memory + + + JUCE Modules\juce_core\memory + + + JUCE Modules\juce_core\memory + + + JUCE Modules\juce_core\misc + + + JUCE Modules\juce_core\misc + + + JUCE Modules\juce_core\misc + + + 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\native + + + JUCE Modules\juce_core\native + + + JUCE Modules\juce_core\native + + + 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\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\streams + + + 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\system + + + 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\text + + + 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\unit_tests + + + JUCE Modules\juce_core\unit_tests + + + JUCE Modules\juce_core\xml + + + JUCE Modules\juce_core\xml + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip + + + JUCE Modules\juce_core\zip + + + JUCE Modules\juce_core\zip + + + 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\hashing + + + JUCE Modules\juce_cryptography + + + JUCE Modules\juce_data_structures\app_properties + + + JUCE Modules\juce_data_structures\app_properties + + + JUCE Modules\juce_data_structures\undomanager + + + JUCE Modules\juce_data_structures\undomanager + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures + + + JUCE Modules\juce_dsp\containers + + + JUCE Modules\juce_dsp\containers + + + JUCE Modules\juce_dsp\containers + + + JUCE Modules\juce_dsp\containers + + + JUCE Modules\juce_dsp\filter_design + + + JUCE Modules\juce_dsp\frequency + + + JUCE Modules\juce_dsp\frequency + + + JUCE Modules\juce_dsp\frequency + + + JUCE Modules\juce_dsp\maths + + + JUCE Modules\juce_dsp\maths + + + JUCE Modules\juce_dsp\maths + + + JUCE Modules\juce_dsp\maths + + + JUCE Modules\juce_dsp\maths + + + JUCE Modules\juce_dsp\maths + + + JUCE Modules\juce_dsp\maths + + + JUCE Modules\juce_dsp\native + + + JUCE Modules\juce_dsp\native + + + JUCE Modules\juce_dsp\native + + + JUCE Modules\juce_dsp\native + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\widgets + + + JUCE Modules\juce_dsp\widgets + + + JUCE Modules\juce_dsp\widgets + + + JUCE Modules\juce_dsp\widgets + + + JUCE Modules\juce_dsp\widgets + + + JUCE Modules\juce_dsp\widgets + + + JUCE Modules\juce_dsp\widgets + + + JUCE Modules\juce_dsp\widgets + + + JUCE Modules\juce_dsp\widgets + + + JUCE Modules\juce_dsp\widgets + + + JUCE Modules\juce_dsp\widgets + + + JUCE Modules\juce_dsp + + + 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\interprocess + + + 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\native + + + JUCE Modules\juce_events\native + + + JUCE Modules\juce_events\native + + + JUCE Modules\juce_events\native + + + JUCE Modules\juce_events\native + + + JUCE Modules\juce_events\timers + + + JUCE Modules\juce_events\timers + + + 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\effects + + + JUCE Modules\juce_graphics\effects + + + JUCE Modules\juce_graphics\effects + + + 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\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\geometry + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\images + + + JUCE Modules\juce_graphics\images + + + JUCE Modules\juce_graphics\images + + + JUCE Modules\juce_graphics\images + + + JUCE Modules\juce_graphics\images + + + JUCE Modules\juce_graphics\native + + + JUCE Modules\juce_graphics\native + + + JUCE Modules\juce_graphics\native + + + JUCE Modules\juce_graphics\native + + + JUCE Modules\juce_graphics\placement + + + JUCE Modules\juce_graphics\placement + + + JUCE Modules\juce_graphics + + + JUCE Modules\juce_gui_basics\accessibility\enums + + + JUCE Modules\juce_gui_basics\accessibility\enums + + + JUCE Modules\juce_gui_basics\accessibility\enums + + + JUCE Modules\juce_gui_basics\accessibility\interfaces + + + JUCE Modules\juce_gui_basics\accessibility\interfaces + + + JUCE Modules\juce_gui_basics\accessibility\interfaces + + + JUCE Modules\juce_gui_basics\accessibility\interfaces + + + JUCE Modules\juce_gui_basics\accessibility + + + JUCE Modules\juce_gui_basics\accessibility + + + JUCE Modules\juce_gui_basics\application + + + 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\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\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\components + + + JUCE Modules\juce_gui_basics\desktop + + + JUCE Modules\juce_gui_basics\desktop + + + 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\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\filebrowser + + + 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\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\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\lookandfeel + + + 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\menus + + + JUCE Modules\juce_gui_basics\menus + + + JUCE Modules\juce_gui_basics\menus + + + JUCE Modules\juce_gui_basics\menus + + + JUCE Modules\juce_gui_basics\misc + + + JUCE Modules\juce_gui_basics\misc + + + JUCE Modules\juce_gui_basics\misc + + + 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\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\x11 + + + JUCE Modules\juce_gui_basics\native\x11 + + + JUCE Modules\juce_gui_basics\native + + + JUCE Modules\juce_gui_basics\native + + + JUCE Modules\juce_gui_basics\native + + + 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\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\properties + + + 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\windows + + + 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\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\misc + + + JUCE Modules\juce_gui_extra\native + + + JUCE Modules\juce_gui_extra + + + JUCE Modules\juce_opengl\geometry + + + JUCE Modules\juce_opengl\geometry + + + JUCE Modules\juce_opengl\geometry + + + JUCE Modules\juce_opengl\geometry + + + 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\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\opengl + + + JUCE Modules\juce_opengl\opengl + + + JUCE Modules\juce_opengl\opengl + + + JUCE Modules\juce_opengl\opengl + + + JUCE Modules\juce_opengl\utils + + + JUCE Modules\juce_opengl + + + JUCE Modules\juce_osc\osc + + + JUCE Modules\juce_osc\osc + + + JUCE Modules\juce_osc\osc + + + JUCE Modules\juce_osc\osc + + + JUCE Modules\juce_osc\osc + + + JUCE Modules\juce_osc\osc + + + JUCE Modules\juce_osc\osc + + + JUCE Modules\juce_osc\osc + + + JUCE Modules\juce_osc + + + JUCE Modules\juce_product_unlocking\in_app_purchases + + + JUCE Modules\juce_product_unlocking\marketplace + + + JUCE Modules\juce_product_unlocking\marketplace + + + JUCE Modules\juce_product_unlocking\marketplace + + + JUCE Modules\juce_product_unlocking\marketplace + + + JUCE Modules\juce_product_unlocking + + + 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 Modules\juce_video\native + + + JUCE Modules\juce_video\playback + + + JUCE Modules\juce_video + + + JUCE Library Code + + + + + DemoRunner\Source + + + JUCE Modules\juce_audio_devices\native\oboe + + + JUCE Modules\juce_audio_devices\native\oboe + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7 + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK + + + JUCE Modules\juce_box2d\box2d + + + JUCE Modules\juce_core\native\java + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Library Code + + + + + JUCE Library Code + + + diff --git a/examples/DemoRunner/Builds/VisualStudio2022/icon.ico b/examples/DemoRunner/Builds/VisualStudio2022/icon.ico new file mode 100644 index 00000000..5fc937a9 Binary files /dev/null and b/examples/DemoRunner/Builds/VisualStudio2022/icon.ico differ diff --git a/examples/DemoRunner/Builds/VisualStudio2022/resources.rc b/examples/DemoRunner/Builds/VisualStudio2022/resources.rc new file mode 100644 index 00000000..592f24f4 --- /dev/null +++ b/examples/DemoRunner/Builds/VisualStudio2022/resources.rc @@ -0,0 +1,36 @@ +#pragma code_page(65001) + +#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 6,1,3,0 +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904E4" + BEGIN + VALUE "CompanyName", "Raw Material Software Limited\0" + VALUE "LegalCopyright", "Copyright (c) 2020 - Raw Material Software Limited\0" + VALUE "FileDescription", "DemoRunner\0" + VALUE "FileVersion", "6.1.3\0" + VALUE "ProductName", "DemoRunner\0" + VALUE "ProductVersion", "6.1.3\0" + END + END + + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1252 + END +END + +#endif + +IDI_ICON1 ICON DISCARDABLE "icon.ico" +IDI_ICON2 ICON DISCARDABLE "icon.ico" \ No newline at end of file diff --git a/examples/DemoRunner/Builds/iOS/DemoRunner.xcodeproj/project.pbxproj b/examples/DemoRunner/Builds/iOS/DemoRunner.xcodeproj/project.pbxproj index 7e7ba93a..b9446361 100644 --- a/examples/DemoRunner/Builds/iOS/DemoRunner.xcodeproj/project.pbxproj +++ b/examples/DemoRunner/Builds/iOS/DemoRunner.xcodeproj/project.pbxproj @@ -345,7 +345,7 @@ AC6F0E9A0809A184B2C2B7DE = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1310; ORGANIZATIONNAME = "Raw Material Software Limited"; TargetAttributes = { 291E01DCBE746A376DBFA4D1 = { @@ -444,7 +444,7 @@ 07EA85D22270E8EA13CA0BBE /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "-"; ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ENABLE_OBJC_WEAK = YES; CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; @@ -494,12 +494,13 @@ 69330F27DD2C71609336C7D2 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "-"; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_CXX_LANGUAGE_STANDARD = "c++14"; CLANG_CXX_LIBRARY = "libc++"; CLANG_LINK_OBJC_RUNTIME = NO; CODE_SIGN_ENTITLEMENTS = "App.entitlements"; + CODE_SIGN_STYLE = Manual; COMBINE_HIDPI_IMAGES = YES; CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; DEAD_CODE_STRIPPING = YES; @@ -511,7 +512,7 @@ "JUCE_CONTENT_SHARING=1", "JUCE_DISPLAY_SPLASH_SCREEN=0", "JUCE_USE_DARK_SPLASH_SCREEN=1", - "JUCE_PROJUCER_VERSION=0x60100", + "JUCE_PROJUCER_VERSION=0x60103", "JUCE_MODULE_AVAILABLE_juce_analytics=1", "JUCE_MODULE_AVAILABLE_juce_audio_basics=1", "JUCE_MODULE_AVAILABLE_juce_audio_devices=1", @@ -540,8 +541,8 @@ "JUCE_DEMO_RUNNER=1", "JUCE_UNIT_TESTS=1", "JUCER_XCODE_IPHONE_5BC26AE3=1", - "JUCE_APP_VERSION=6.1.0", - "JUCE_APP_VERSION_HEX=0x60100", + "JUCE_APP_VERSION=6.1.3", + "JUCE_APP_VERSION_HEX=0x60103", "JucePlugin_Build_VST=0", "JucePlugin_Build_VST3=0", "JucePlugin_Build_AU=0", @@ -562,9 +563,11 @@ INSTALL_PATH = "$(HOME)/Applications"; LLVM_LTO = YES; MTL_HEADER_SEARCH_PATHS = "$(SRCROOT)/../../JuceLibraryCode $(SRCROOT)/../../../../modules"; - OTHER_CPLUSPLUSFLAGS = "-Wall -Wshadow-all -Wshorten-64-to-32 -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wconversion -Wsign-compare -Wint-conversion -Wconditional-uninitialized -Woverloaded-virtual -Wreorder -Wconstant-conversion -Wsign-conversion -Wunused-private-field -Wbool-conversion -Wextra-semi -Wunreachable-code -Wzero-as-null-pointer-constant -Wcast-align -Winconsistent-missing-destructor-override -Wshift-sign-overflow -Wnullable-to-nonnull-conversion -Wno-missing-field-initializers -Wno-ignored-qualifiers -Wswitch-enum"; + OTHER_CFLAGS = "-Wall -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wswitch-enum -Wsign-conversion -Wsign-compare -Wunreachable-code -Wcast-align -Wno-ignored-qualifiers -Wshorten-64-to-32 -Wconversion -Wint-conversion -Wconditional-uninitialized -Wconstant-conversion -Wbool-conversion -Wextra-semi -Wshift-sign-overflow -Wno-missing-field-initializers -Wshadow-all -Wnullable-to-nonnull-conversion"; + OTHER_CPLUSPLUSFLAGS = "-Woverloaded-virtual -Wreorder -Wzero-as-null-pointer-constant -Wunused-private-field -Winconsistent-missing-destructor-override -Wall -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wswitch-enum -Wsign-conversion -Wsign-compare -Wunreachable-code -Wcast-align -Wno-ignored-qualifiers -Wshorten-64-to-32 -Wconversion -Wint-conversion -Wconditional-uninitialized -Wconstant-conversion -Wbool-conversion -Wextra-semi -Wshift-sign-overflow -Wno-missing-field-initializers -Wshadow-all -Wnullable-to-nonnull-conversion"; PRODUCT_BUNDLE_IDENTIFIER = com.rmsl.jucedemorunner; PRODUCT_NAME = "DemoRunner"; + PROVISIONING_PROFILE_SPECIFIER = ""; USE_HEADERMAP = NO; VALIDATE_WORKSPACE_SKIPPED_SDK_FRAMEWORKS = OpenGLES; }; @@ -573,12 +576,13 @@ B18D059E5616FA729F764229 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "-"; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_CXX_LANGUAGE_STANDARD = "c++14"; CLANG_CXX_LIBRARY = "libc++"; CLANG_LINK_OBJC_RUNTIME = NO; CODE_SIGN_ENTITLEMENTS = "App.entitlements"; + CODE_SIGN_STYLE = Manual; COMBINE_HIDPI_IMAGES = YES; CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; COPY_PHASE_STRIP = NO; @@ -590,7 +594,7 @@ "JUCE_CONTENT_SHARING=1", "JUCE_DISPLAY_SPLASH_SCREEN=0", "JUCE_USE_DARK_SPLASH_SCREEN=1", - "JUCE_PROJUCER_VERSION=0x60100", + "JUCE_PROJUCER_VERSION=0x60103", "JUCE_MODULE_AVAILABLE_juce_analytics=1", "JUCE_MODULE_AVAILABLE_juce_audio_basics=1", "JUCE_MODULE_AVAILABLE_juce_audio_devices=1", @@ -619,8 +623,8 @@ "JUCE_DEMO_RUNNER=1", "JUCE_UNIT_TESTS=1", "JUCER_XCODE_IPHONE_5BC26AE3=1", - "JUCE_APP_VERSION=6.1.0", - "JUCE_APP_VERSION_HEX=0x60100", + "JUCE_APP_VERSION=6.1.3", + "JUCE_APP_VERSION_HEX=0x60103", "JucePlugin_Build_VST=0", "JucePlugin_Build_VST3=0", "JucePlugin_Build_AU=0", @@ -640,9 +644,11 @@ INFOPLIST_PREPROCESS = NO; INSTALL_PATH = "$(HOME)/Applications"; MTL_HEADER_SEARCH_PATHS = "$(SRCROOT)/../../JuceLibraryCode $(SRCROOT)/../../../../modules"; - OTHER_CPLUSPLUSFLAGS = "-Wall -Wshadow-all -Wshorten-64-to-32 -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wconversion -Wsign-compare -Wint-conversion -Wconditional-uninitialized -Woverloaded-virtual -Wreorder -Wconstant-conversion -Wsign-conversion -Wunused-private-field -Wbool-conversion -Wextra-semi -Wunreachable-code -Wzero-as-null-pointer-constant -Wcast-align -Winconsistent-missing-destructor-override -Wshift-sign-overflow -Wnullable-to-nonnull-conversion -Wno-missing-field-initializers -Wno-ignored-qualifiers -Wswitch-enum"; + OTHER_CFLAGS = "-Wall -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wswitch-enum -Wsign-conversion -Wsign-compare -Wunreachable-code -Wcast-align -Wno-ignored-qualifiers -Wshorten-64-to-32 -Wconversion -Wint-conversion -Wconditional-uninitialized -Wconstant-conversion -Wbool-conversion -Wextra-semi -Wshift-sign-overflow -Wno-missing-field-initializers -Wshadow-all -Wnullable-to-nonnull-conversion"; + OTHER_CPLUSPLUSFLAGS = "-Woverloaded-virtual -Wreorder -Wzero-as-null-pointer-constant -Wunused-private-field -Winconsistent-missing-destructor-override -Wall -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wswitch-enum -Wsign-conversion -Wsign-compare -Wunreachable-code -Wcast-align -Wno-ignored-qualifiers -Wshorten-64-to-32 -Wconversion -Wint-conversion -Wconditional-uninitialized -Wconstant-conversion -Wbool-conversion -Wextra-semi -Wshift-sign-overflow -Wno-missing-field-initializers -Wshadow-all -Wnullable-to-nonnull-conversion"; PRODUCT_BUNDLE_IDENTIFIER = com.rmsl.jucedemorunner; PRODUCT_NAME = "DemoRunner"; + PROVISIONING_PROFILE_SPECIFIER = ""; USE_HEADERMAP = NO; VALIDATE_WORKSPACE_SKIPPED_SDK_FRAMEWORKS = OpenGLES; }; @@ -651,7 +657,7 @@ C01EC82F42B640CA1E54AD53 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "-"; ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ENABLE_OBJC_WEAK = YES; CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; diff --git a/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-29.png b/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-29.png index 74c4136e..afd04d1c 100644 Binary files a/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-29.png and b/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-29.png differ diff --git a/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-29@2x.png b/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-29@2x.png index 37e6f16c..feef9204 100644 Binary files a/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-29@2x.png and b/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-29@2x.png differ diff --git a/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-29@3x.png b/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-29@3x.png index aace6363..f5ebd92e 100644 Binary files a/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-29@3x.png and b/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-29@3x.png differ diff --git a/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-60@2x.png b/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-60@2x.png index a702b40c..7ef9289b 100644 Binary files a/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-60@2x.png and b/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-60@2x.png differ diff --git a/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-72.png b/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-72.png index af1016a2..20bcab85 100644 Binary files a/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-72.png and b/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-72.png differ diff --git a/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-72@2x.png b/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-72@2x.png index 150abcaa..5e73c386 100644 Binary files a/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-72@2x.png and b/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-72@2x.png differ diff --git a/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-76.png b/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-76.png index 9546f1de..7d8dc6ed 100644 Binary files a/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-76.png and b/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-76.png differ diff --git a/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-76@2x.png b/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-76@2x.png index df42b467..1c9a98da 100644 Binary files a/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-76@2x.png and b/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-76@2x.png differ diff --git a/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-83.5@2x.png b/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-83.5@2x.png index d6439722..5fa32971 100644 Binary files a/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-83.5@2x.png and b/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-83.5@2x.png differ diff --git a/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-@3x.png b/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-@3x.png index e6f0d363..12100a03 100644 Binary files a/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-@3x.png and b/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-@3x.png differ diff --git a/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-AppStore-1024.png b/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-AppStore-1024.png index 9d35d430..1f521c2e 100644 Binary files a/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-AppStore-1024.png and b/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-AppStore-1024.png differ diff --git a/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-Notification-20@2x.png b/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-Notification-20@2x.png index 7782ff99..abf965f2 100644 Binary files a/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-Notification-20@2x.png and b/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-Notification-20@2x.png differ diff --git a/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-Notification-20@3x.png b/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-Notification-20@3x.png index caf3d2bc..0d217973 100644 Binary files a/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-Notification-20@3x.png and b/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-Notification-20@3x.png differ diff --git a/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-Notifications-20.png b/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-Notifications-20.png index f7906935..03eff4f8 100644 Binary files a/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-Notifications-20.png and b/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-Notifications-20.png differ diff --git a/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-Notifications-20@2x.png b/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-Notifications-20@2x.png index 7782ff99..abf965f2 100644 Binary files a/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-Notifications-20@2x.png and b/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-Notifications-20@2x.png differ diff --git a/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-Small-1.png b/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-Small-1.png index 74c4136e..afd04d1c 100644 Binary files a/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-Small-1.png and b/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-Small-1.png differ diff --git a/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-Small-50.png b/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-Small-50.png index 0d2e072d..8248231e 100644 Binary files a/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-Small-50.png and b/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-Small-50.png differ diff --git a/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-Small-50@2x.png b/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-Small-50@2x.png index 2d6b6e61..4a90fbc6 100644 Binary files a/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-Small-50@2x.png and b/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-Small-50@2x.png differ diff --git a/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-Small@2x-1.png b/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-Small@2x-1.png index 37e6f16c..feef9204 100644 Binary files a/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-Small@2x-1.png and b/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-Small@2x-1.png differ diff --git a/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-Spotlight-40.png b/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-Spotlight-40.png index 7782ff99..abf965f2 100644 Binary files a/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-Spotlight-40.png and b/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-Spotlight-40.png differ diff --git a/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-Spotlight-40@2x-1.png b/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-Spotlight-40@2x-1.png index aa039bb5..08982fba 100644 Binary files a/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-Spotlight-40@2x-1.png and b/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-Spotlight-40@2x-1.png differ diff --git a/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-Spotlight-40@2x.png b/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-Spotlight-40@2x.png index aa039bb5..08982fba 100644 Binary files a/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-Spotlight-40@2x.png and b/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-Spotlight-40@2x.png differ diff --git a/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-Spotlight-40@3x.png b/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-Spotlight-40@3x.png index a702b40c..7ef9289b 100644 Binary files a/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-Spotlight-40@3x.png and b/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon-Spotlight-40@3x.png differ diff --git a/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon.png b/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon.png index d6501a4c..d3ac3a6b 100644 Binary files a/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon.png and b/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon.png differ diff --git a/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon@2x.png b/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon@2x.png index 7543d4cd..4dc865cf 100644 Binary files a/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon@2x.png and b/examples/DemoRunner/Builds/iOS/DemoRunner/Images.xcassets/AppIcon.appiconset/Icon@2x.png differ diff --git a/examples/DemoRunner/Builds/iOS/Icon.icns b/examples/DemoRunner/Builds/iOS/Icon.icns index 52f40fef..911f5de8 100644 Binary files a/examples/DemoRunner/Builds/iOS/Icon.icns and b/examples/DemoRunner/Builds/iOS/Icon.icns differ diff --git a/examples/DemoRunner/Builds/iOS/Info-App.plist b/examples/DemoRunner/Builds/iOS/Info-App.plist index 46b37e16..4ccf8b01 100644 --- a/examples/DemoRunner/Builds/iOS/Info-App.plist +++ b/examples/DemoRunner/Builds/iOS/Info-App.plist @@ -30,9 +30,9 @@ CFBundleSignature ???? CFBundleShortVersionString - 6.1.0 + 6.1.3 CFBundleVersion - 6.1.0 + 6.1.3 NSHumanReadableCopyright Copyright (c) 2020 - Raw Material Software Limited NSHighResolutionCapable diff --git a/examples/DemoRunner/DemoRunner.jucer b/examples/DemoRunner/DemoRunner.jucer index 95b57923..77250807 100644 --- a/examples/DemoRunner/DemoRunner.jucer +++ b/examples/DemoRunner/DemoRunner.jucer @@ -1,7 +1,7 @@ + microphonePermissionNeeded="1" cameraPermissionNeeded="1" applicationCategory="public.app-category.developer-tools" + iosBluetoothPermissionNeeded="1"> @@ -90,7 +91,8 @@ + smallIcon="YyqWd2" bigIcon="YyqWd2" cameraPermissionNeeded="1" + androidTargetSDK="31"> @@ -233,6 +235,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/DemoRunner/JuceLibraryCode/JuceHeader.h b/examples/DemoRunner/JuceLibraryCode/JuceHeader.h index e0f64967..1f6169b5 100644 --- a/examples/DemoRunner/JuceLibraryCode/JuceHeader.h +++ b/examples/DemoRunner/JuceLibraryCode/JuceHeader.h @@ -54,7 +54,7 @@ namespace ProjectInfo { const char* const projectName = "DemoRunner"; const char* const companyName = "Raw Material Software Limited"; - const char* const versionString = "6.1.0"; - const int versionNumber = 0x60100; + const char* const versionString = "6.1.3"; + const int versionNumber = 0x60103; } #endif diff --git a/examples/DemoRunner/Source/Demos/IntroScreen.h b/examples/DemoRunner/Source/Demos/IntroScreen.h index ea752b9f..bd87a1b6 100644 --- a/examples/DemoRunner/Source/Demos/IntroScreen.h +++ b/examples/DemoRunner/Source/Demos/IntroScreen.h @@ -84,7 +84,7 @@ private: Path wavePath; auto waveStep = 10.0f; - auto waveY = (float) getHeight() * 0.44f; + auto waveY = (float) getHeight() * 0.5f; int i = 0; for (auto x = waveStep * 0.5f; x < (float) getWidth(); x += waveStep) diff --git a/examples/DemoRunner/Source/JUCEAppIcon.png b/examples/DemoRunner/Source/JUCEAppIcon.png index 978ec36f..30b40d4d 100644 Binary files a/examples/DemoRunner/Source/JUCEAppIcon.png and b/examples/DemoRunner/Source/JUCEAppIcon.png differ diff --git a/examples/DemoRunner/Source/UI/MainComponent.cpp b/examples/DemoRunner/Source/UI/MainComponent.cpp index b465161d..11b1b572 100644 --- a/examples/DemoRunner/Source/UI/MainComponent.cpp +++ b/examples/DemoRunner/Source/UI/MainComponent.cpp @@ -225,7 +225,6 @@ private: g.drawFittedText ("<", getLocalBounds().reduced (20, 0), Justification::centredLeft, 1); } - void clicked() override { owner.showCategory ({}); diff --git a/examples/GUI/AccessibilityDemo.h b/examples/GUI/AccessibilityDemo.h index 50d27fc3..45529e66 100644 --- a/examples/GUI/AccessibilityDemo.h +++ b/examples/GUI/AccessibilityDemo.h @@ -174,10 +174,10 @@ public: grid.templateRows = { Grid::TrackInfo (Grid::Fr (1)), Grid::TrackInfo (Grid::Fr (1)), Grid::TrackInfo (Grid::Fr (2)) }; grid.templateColumns = { Grid::TrackInfo (Grid::Fr (1)), Grid::TrackInfo (Grid::Fr (1)) }; - grid.items = { GridItem (descriptionLabel).withMargin ({ 2 }).withColumn ({ GridItem::Span (2) }), + grid.items = { GridItem (descriptionLabel).withMargin ({ 2 }).withColumn ({ GridItem::Span (2), {} }), GridItem (buttons).withMargin ({ 2 }), GridItem (sliders).withMargin ({ 2 }), - GridItem (treeView).withMargin ({ 2 }).withColumn ({ GridItem::Span (2) }) }; + GridItem (treeView).withMargin ({ 2 }).withColumn ({ GridItem::Span (2), {} }) }; grid.performLayout (getLocalBounds()); } @@ -288,7 +288,7 @@ private: Grid::TrackInfo (Grid::Fr (1)), Grid::TrackInfo (Grid::Fr (1)) }; - grid.items = { GridItem (horizontalSlider).withMargin ({ 2 }).withColumn ({ GridItem::Span (2) }), + grid.items = { GridItem (horizontalSlider).withMargin ({ 2 }).withColumn ({ GridItem::Span (2), {} }), GridItem (incDecSlider).withMargin ({ 2 }) }; for (auto& rotary : rotarySliders) @@ -464,8 +464,8 @@ public: grid.templateColumns = { Grid::TrackInfo (Grid::Fr (1)), Grid::TrackInfo (Grid::Fr (1)) }; - grid.items = { GridItem (descriptionLabel).withMargin ({ 2 }).withColumn ({ GridItem::Span (2) }), - GridItem (infoComponent).withMargin ({ 2 }).withColumn ({ GridItem::Span (2) }), + grid.items = { GridItem (descriptionLabel).withMargin ({ 2 }).withColumn ({ GridItem::Span (2), {} }), + GridItem (infoComponent).withMargin ({ 2 }).withColumn ({ GridItem::Span (2), {} }), GridItem (actionsComponent).withMargin ({ 2 }), GridItem (valueInterfaceComponent).withMargin ({ 2 }), GridItem (stateComponent).withMargin ({ 2 }), @@ -581,16 +581,16 @@ private: Grid::TrackInfo (Grid::Fr (1)) }; grid.items = { GridItem (titleLabel).withMargin ({ 2 }), - GridItem (titleEditor).withMargin ({ 2 }).withColumn ({ GridItem::Span (2) }), + GridItem (titleEditor).withMargin ({ 2 }).withColumn ({ GridItem::Span (2), {} }), GridItem (roleLabel).withMargin ({ 2 }), - GridItem (roleBox).withMargin ({ 2 }).withColumn ({ GridItem::Span (2) }), + GridItem (roleBox).withMargin ({ 2 }).withColumn ({ GridItem::Span (2), {} }), GridItem (descriptionLabel).withMargin ({ 2 }), - GridItem (descriptionEditor).withMargin ({ 2 }).withColumn ({ GridItem::Span (2) }), + GridItem (descriptionEditor).withMargin ({ 2 }).withColumn ({ GridItem::Span (2), {} }), GridItem (helpLabel).withMargin ({ 2 }), - GridItem (helpEditor).withMargin ({ 2 }).withColumn ({ GridItem::Span (2) }) }; + GridItem (helpEditor).withMargin ({ 2 }).withColumn ({ GridItem::Span (2), {} }) }; grid.performLayout (getLocalBounds()); } @@ -802,7 +802,7 @@ private: }(); grid.items = { GridItem (valueTypeBox).withMargin (2), GridItem (readOnlyToggle).withMargin (2), - GridItem (valueEditComponent).withMargin (2).withColumn ({ GridItem::Span (2) }), }; + GridItem (valueEditComponent).withMargin (2).withColumn ({ GridItem::Span (2), {} }), }; grid.performLayout (getLocalBounds()); } @@ -906,7 +906,7 @@ private: grid.items = { GridItem (minLabel).withMargin (2), GridItem (maxLabel).withMargin (2), GridItem (intervalLabel).withMargin (2), GridItem (minValueEditor).withMargin (2), GridItem (maxValueEditor).withMargin (2), GridItem (intervalValueEditor).withMargin (2), - GridItem (valueSlider).withMargin (2).withColumn ({ GridItem::Span (3) }) }; + GridItem (valueSlider).withMargin (2).withColumn ({ GridItem::Span (3), {} }) }; grid.performLayout (getLocalBounds()); } @@ -1279,11 +1279,11 @@ private: Grid::TrackInfo (Grid::Fr (1)), Grid::TrackInfo (Grid::Fr (1)) }; - grid.items = { GridItem (titleLabel).withMargin (2).withColumn ({ GridItem::Span (4) }), - GridItem (focusableToggle).withMargin (2).withColumn ({ GridItem::Span (2) }), - GridItem (defaultToggle).withMargin (2).withColumn ({ GridItem::Span (2) }), + grid.items = { GridItem (titleLabel).withMargin (2).withColumn ({ GridItem::Span (4), {} }), + GridItem (focusableToggle).withMargin (2).withColumn ({ GridItem::Span (2), {} }), + GridItem (defaultToggle).withMargin (2).withColumn ({ GridItem::Span (2), {} }), GridItem (orderLabel).withMargin (2), - GridItem (orderBox).withMargin (2).withColumn ({ GridItem::Span (3) }) }; + GridItem (orderBox).withMargin (2).withColumn ({ GridItem::Span (3), {} }) }; grid.performLayout (getLocalBounds()); } @@ -1403,7 +1403,7 @@ public: grid.templateColumns = { Grid::TrackInfo (Grid::Fr (3)), Grid::TrackInfo (Grid::Fr (2)) }; - grid.items = { GridItem (descriptionLabel).withMargin (2).withColumn ({ GridItem::Span (2) }), + grid.items = { GridItem (descriptionLabel).withMargin (2).withColumn ({ GridItem::Span (2), {} }), GridItem (textEntryBox).withMargin (2).withArea ({ 2 }, { 1 }, { 5 }, { 2 }), GridItem (priorityComboBox).withMargin (2).withArea ({ 5 }, { 1 }, { 6 }, { 2 }), GridItem (announceButton).withMargin (2).withArea ({ 4 }, { 2 }, { 5 }, { 3 }) }; diff --git a/examples/GUI/OpenGLAppDemo.h b/examples/GUI/OpenGLAppDemo.h index 4828dd43..c2cf9670 100644 --- a/examples/GUI/OpenGLAppDemo.h +++ b/examples/GUI/OpenGLAppDemo.h @@ -83,8 +83,10 @@ public: Matrix3D getProjectionMatrix() const { + const ScopedLock lock (mutex); + auto w = 1.0f / (0.5f + 0.1f); - auto h = w * getLocalBounds().toFloat().getAspectRatio (false); + auto h = w * bounds.toFloat().getAspectRatio (false); return Matrix3D::fromFrustum (-w, w, -h, h, 4.0f, 30.0f); } @@ -109,7 +111,12 @@ public: glEnable (GL_BLEND); glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); - glViewport (0, 0, roundToInt (desktopScale * (float) getWidth()), roundToInt (desktopScale * (float) getHeight())); + { + const ScopedLock lock (mutex); + glViewport (0, 0, + roundToInt (desktopScale * (float) bounds.getWidth()), + roundToInt (desktopScale * (float) bounds.getHeight())); + } shader->use(); @@ -124,7 +131,6 @@ public: // Reset the element buffers so child Components draw correctly glBindBuffer (GL_ARRAY_BUFFER, 0); glBindBuffer (GL_ELEMENT_ARRAY_BUFFER, 0); - } void paint (Graphics& g) override @@ -144,6 +150,9 @@ public: // This is called when this component is resized. // If you add any child components, this is where you should // update their positions. + + const ScopedLock lock (mutex); + bounds = getLocalBounds(); } void createShaders() @@ -421,5 +430,8 @@ private: String newVertexShader, newFragmentShader; + Rectangle bounds; + CriticalSection mutex; + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (OpenGLAppDemo) }; diff --git a/examples/GUI/OpenGLDemo.h b/examples/GUI/OpenGLDemo.h index 6c33b46b..a962d119 100644 --- a/examples/GUI/OpenGLDemo.h +++ b/examples/GUI/OpenGLDemo.h @@ -676,10 +676,6 @@ struct OpenGLUtils g.setColour (Colours::black); g.setFont (40); - const MessageManagerLock mml (ThreadPoolJob::getCurrentThreadPoolJob()); - if (! mml.lockWasGained()) - return false; - g.drawFittedText (String (Time::getCurrentTime().getMilliseconds()), image.getBounds(), Justification::centred, 1); } @@ -816,6 +812,8 @@ public: { using namespace ::juce::gl; + const ScopedLock lock (mutex); + jassert (OpenGLHelpers::isContextActive()); auto desktopScale = (float) openGLContext.getRenderingScale(); @@ -845,7 +843,9 @@ public: glActiveTexture (GL_TEXTURE0); glEnable (GL_TEXTURE_2D); - glViewport (0, 0, roundToInt (desktopScale * (float) getWidth()), roundToInt (desktopScale * (float) getHeight())); + glViewport (0, 0, + roundToInt (desktopScale * (float) bounds.getWidth()), + roundToInt (desktopScale * (float) bounds.getHeight())); texture.bind(); @@ -875,23 +875,25 @@ public: glBindBuffer (GL_ARRAY_BUFFER, 0); glBindBuffer (GL_ELEMENT_ARRAY_BUFFER, 0); - if (! controlsOverlay->isMouseButtonDown()) + if (! controlsOverlay->isMouseButtonDownThreadsafe()) rotation += (float) rotationSpeed; } Matrix3D getProjectionMatrix() const { + const ScopedLock lock (mutex); + auto w = 1.0f / (scale + 0.1f); - auto h = w * getLocalBounds().toFloat().getAspectRatio (false); + auto h = w * bounds.toFloat().getAspectRatio (false); return Matrix3D::fromFrustum (-w, w, -h, h, 4.0f, 30.0f); } Matrix3D getViewMatrix() const { - auto viewMatrix = draggableOrientation.getRotationMatrix() - * Vector3D (0.0f, 1.0f, -10.0f); + const ScopedLock lock (mutex); + auto viewMatrix = draggableOrientation.getRotationMatrix() * Vector3D (0.0f, 1.0f, -10.0f); auto rotationMatrix = Matrix3D::rotation ({ rotation, rotation, -0.3f }); return rotationMatrix * viewMatrix; @@ -912,14 +914,19 @@ public: void resized() override { - controlsOverlay->setBounds (getLocalBounds()); - draggableOrientation.setViewport (getLocalBounds()); + const ScopedLock lock (mutex); + + bounds = getLocalBounds(); + controlsOverlay->setBounds (bounds); + draggableOrientation.setViewport (bounds); } + Rectangle bounds; Draggable3DOrientation draggableOrientation; bool doBackgroundDrawing = false; float scale = 0.5f, rotationSpeed = 0.0f; BouncingNumber bouncingNumber; + CriticalSection mutex; private: void handleAsyncUpdate() override @@ -931,8 +938,8 @@ private: { // Create an OpenGLGraphicsContext that will draw into this GL window.. std::unique_ptr glRenderer (createOpenGLGraphicsContext (openGLContext, - roundToInt (desktopScale * (float) getWidth()), - roundToInt (desktopScale * (float) getHeight()))); + roundToInt (desktopScale * (float) bounds.getWidth()), + roundToInt (desktopScale * (float) bounds.getHeight()))); if (glRenderer.get() != nullptr) { @@ -945,11 +952,11 @@ private: // This stuff just creates a spinning star shape and fills it.. Path p; - p.addStar ({ (float) getWidth() * s.x.getValue(), - (float) getHeight() * s.y.getValue() }, + p.addStar ({ (float) bounds.getWidth() * s.x.getValue(), + (float) bounds.getHeight() * s.y.getValue() }, 7, - (float) getHeight() * size * 0.5f, - (float) getHeight() * size, + (float) bounds.getHeight() * size * 0.5f, + (float) bounds.getHeight() * size, s.angle.getValue()); auto hue = s.hue.getValue(); @@ -957,7 +964,7 @@ private: g.setGradientFill (ColourGradient (Colours::green.withRotatedHue (hue).withAlpha (0.8f), 0, 0, Colours::red.withRotatedHue (hue).withAlpha (0.5f), - 0, (float) getHeight(), false)); + 0, (float) bounds.getHeight(), false)); g.fillPath (p); } } @@ -1071,16 +1078,27 @@ private: tabbedComp.setBounds (shaderArea); } + bool isMouseButtonDownThreadsafe() const { return buttonDown; } + void mouseDown (const MouseEvent& e) override { + const ScopedLock lock (demo.mutex); demo.draggableOrientation.mouseDown (e.getPosition()); + + buttonDown = true; } void mouseDrag (const MouseEvent& e) override { + const ScopedLock lock (demo.mutex); demo.draggableOrientation.mouseDrag (e.getPosition()); } + void mouseUp (const MouseEvent&) override + { + buttonDown = false; + } + void mouseWheelMove (const MouseEvent&, const MouseWheelDetails& d) override { sizeSlider.setValue (sizeSlider.getValue() + d.deltaY); @@ -1149,6 +1167,8 @@ private: private: void sliderValueChanged (Slider*) override { + const ScopedLock lock (demo.mutex); + demo.scale = (float) sizeSlider .getValue(); demo.rotationSpeed = (float) speedSlider.getValue(); } @@ -1208,6 +1228,8 @@ private: std::unique_ptr textureFileChooser; + std::atomic buttonDown { false }; + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (DemoControlsOverlay) }; diff --git a/examples/GUI/WidgetsDemo.h b/examples/GUI/WidgetsDemo.h index 0613d8bc..9b7f1b54 100644 --- a/examples/GUI/WidgetsDemo.h +++ b/examples/GUI/WidgetsDemo.h @@ -47,7 +47,7 @@ #pragma once #ifndef PIP_DEMO_UTILITIES_INCLUDED - #include "../Assets/DemoUtilities.h" +#include "../Assets/DemoUtilities.h" #endif //============================================================================== @@ -435,7 +435,7 @@ struct ButtonsPage : public Component juceImage, 1.0f, getRandomBrightColour().withAlpha (0.8f), 0.5f); - ib->setBounds (260, 350, 100, 100); + ib->setBounds (45, 380, 100, 100); ib->setTooltip ("ImageButton - showing alpha-channel hit-testing and colour overlay when clicked"); } } diff --git a/examples/Plugins/DSPModulePluginDemo.h b/examples/Plugins/DSPModulePluginDemo.h index ad712abe..a5c5479b 100644 --- a/examples/Plugins/DSPModulePluginDemo.h +++ b/examples/Plugins/DSPModulePluginDemo.h @@ -247,11 +247,23 @@ public: struct ParameterReferences { template - static Param& addToLayout (AudioProcessorValueTreeState::ParameterLayout& layout, - std::unique_ptr param) + static void add (AudioProcessorParameterGroup& group, std::unique_ptr param) { + group.addChild (std::move (param)); + } + + template + static void add (AudioProcessorValueTreeState::ParameterLayout& group, std::unique_ptr param) + { + group.add (std::move (param)); + } + + template + static Param& addToLayout (Group& layout, Ts&&... ts) + { + auto param = std::make_unique (std::forward (ts)...); auto& ref = *param; - layout.add (std::move (param)); + add (layout, std::move (param)); return ref; } @@ -261,511 +273,598 @@ public: static String valueToTextPanFunction (float x) { return getPanningTextForValue ((x + 100.0f) / 200.0f); } static float textToValuePanFunction (const String& str) { return getPanningValueForText (str) * 200.0f - 100.0f; } - // Creates parameters, adds them to the layout, and stores references to the parameters - // in this struct. + struct MainGroup + { + explicit MainGroup (AudioProcessorParameterGroup& layout) + : inputGain (addToLayout (layout, + ID::inputGain, + "Input", + "dB", + NormalisableRange (-40.0f, 40.0f), + 0.0f, + valueToTextFunction, + textToValueFunction)), + outputGain (addToLayout (layout, + ID::outputGain, + "Output", + "dB", + NormalisableRange (-40.0f, 40.0f), + 0.0f, + valueToTextFunction, + textToValueFunction)), + pan (addToLayout (layout, + ID::pan, + "Panning", + "", + NormalisableRange (-100.0f, 100.0f), + 0.0f, + valueToTextPanFunction, + textToValuePanFunction)) {} + + Parameter& inputGain; + Parameter& outputGain; + Parameter& pan; + }; + + struct DistortionGroup + { + explicit DistortionGroup (AudioProcessorParameterGroup& layout) + : enabled (addToLayout (layout, + ID::distortionEnabled, + "Distortion", + true, + "")), + type (addToLayout (layout, + ID::distortionType, + "Waveshaper", + StringArray { "std::tanh", "Approx. tanh" }, + 0)), + inGain (addToLayout (layout, + ID::distortionInGain, + "Gain", + "dB", + NormalisableRange (-40.0f, 40.0f), + 0.0f, + valueToTextFunction, + textToValueFunction)), + lowpass (addToLayout (layout, + ID::distortionLowpass, + "Post Low-pass", + "Hz", + NormalisableRange (20.0f, 22000.0f, 0.0f, 0.25f), + 22000.0f, + valueToTextFunction, + textToValueFunction)), + highpass (addToLayout (layout, + ID::distortionHighpass, + "Pre High-pass", + "Hz", + NormalisableRange (20.0f, 22000.0f, 0.0f, 0.25f), + 20.0f, + valueToTextFunction, + textToValueFunction)), + compGain (addToLayout (layout, + ID::distortionCompGain, + "Compensat.", + "dB", + NormalisableRange (-40.0f, 40.0f), + 0.0f, + valueToTextFunction, + textToValueFunction)), + mix (addToLayout (layout, + ID::distortionMix, + "Mix", + "%", + NormalisableRange (0.0f, 100.0f), + 100.0f, + valueToTextFunction, + textToValueFunction)), + oversampler (addToLayout (layout, + ID::distortionOversampler, + "Oversampling", + StringArray { "2X", + "4X", + "8X", + "2X compensated", + "4X compensated", + "8X compensated" }, + 1)) {} + + AudioParameterBool& enabled; + AudioParameterChoice& type; + Parameter& inGain; + Parameter& lowpass; + Parameter& highpass; + Parameter& compGain; + Parameter& mix; + AudioParameterChoice& oversampler; + }; + + struct MultiBandGroup + { + explicit MultiBandGroup (AudioProcessorParameterGroup& layout) + : enabled (addToLayout (layout, + ID::multiBandEnabled, + "Multi-band", + false, + "")), + freq (addToLayout (layout, + ID::multiBandFreq, + "Sep. Freq.", + "Hz", + NormalisableRange (20.0f, 22000.0f, 0.0f, 0.25f), + 2000.0f, + valueToTextFunction, + textToValueFunction)), + lowVolume (addToLayout (layout, + ID::multiBandLowVolume, + "Low volume", + "dB", + NormalisableRange (-40.0f, 40.0f), + 0.0f, + valueToTextFunction, + textToValueFunction)), + highVolume (addToLayout (layout, + ID::multiBandHighVolume, + "High volume", + "dB", + NormalisableRange (-40.0f, 40.0f), + 0.0f, + valueToTextFunction, + textToValueFunction)) {} + + AudioParameterBool& enabled; + Parameter& freq; + Parameter& lowVolume; + Parameter& highVolume; + }; + + struct ConvolutionGroup + { + explicit ConvolutionGroup (AudioProcessorParameterGroup& layout) + : cabEnabled (addToLayout (layout, + ID::convolutionCabEnabled, + "Cabinet", + false, + "")), + reverbEnabled (addToLayout (layout, + ID::convolutionReverbEnabled, + "Reverb", + false, + "")), + reverbMix (addToLayout (layout, + ID::convolutionReverbMix, + "Reverb Mix", + "%", + NormalisableRange (0.0f, 100.0f), + 50.0f, + valueToTextFunction, + textToValueFunction)) {} + + AudioParameterBool& cabEnabled; + AudioParameterBool& reverbEnabled; + Parameter& reverbMix; + }; + + struct CompressorGroup + { + explicit CompressorGroup (AudioProcessorParameterGroup& layout) + : enabled (addToLayout (layout, + ID::compressorEnabled, + "Comp.", + false, + "")), + threshold (addToLayout (layout, + ID::compressorThreshold, + "Threshold", + "dB", + NormalisableRange (-100.0f, 0.0f), + 0.0f, + valueToTextFunction, + textToValueFunction)), + ratio (addToLayout (layout, + ID::compressorRatio, + "Ratio", + ":1", + NormalisableRange (1.0f, 100.0f, 0.0f, 0.25f), + 1.0f, + valueToTextFunction, + textToValueFunction)), + attack (addToLayout (layout, + ID::compressorAttack, + "Attack", + "ms", + NormalisableRange (0.01f, 1000.0f, 0.0f, 0.25f), + 1.0f, + valueToTextFunction, + textToValueFunction)), + release (addToLayout (layout, + ID::compressorRelease, + "Release", + "ms", + NormalisableRange (10.0f, 10000.0f, 0.0f, 0.25f), + 100.0f, + valueToTextFunction, + textToValueFunction)) {} + + AudioParameterBool& enabled; + Parameter& threshold; + Parameter& ratio; + Parameter& attack; + Parameter& release; + }; + + struct NoiseGateGroup + { + explicit NoiseGateGroup (AudioProcessorParameterGroup& layout) + : enabled (addToLayout (layout, + ID::noiseGateEnabled, + "Gate", + false, + "")), + threshold (addToLayout (layout, + ID::noiseGateThreshold, + "Threshold", + "dB", + NormalisableRange (-100.0f, 0.0f), + -100.0f, + valueToTextFunction, + textToValueFunction)), + ratio (addToLayout (layout, + ID::noiseGateRatio, + "Ratio", + ":1", + NormalisableRange (1.0f, 100.0f, 0.0f, 0.25f), + 10.0f, + valueToTextFunction, + textToValueFunction)), + attack (addToLayout (layout, + ID::noiseGateAttack, + "Attack", + "ms", + NormalisableRange (0.01f, 1000.0f, 0.0f, 0.25f), + 1.0f, + valueToTextFunction, + textToValueFunction)), + release (addToLayout (layout, + ID::noiseGateRelease, + "Release", + "ms", + NormalisableRange (10.0f, 10000.0f, 0.0f, 0.25f), + 100.0f, + valueToTextFunction, + textToValueFunction)) {} + + AudioParameterBool& enabled; + Parameter& threshold; + Parameter& ratio; + Parameter& attack; + Parameter& release; + }; + + struct LimiterGroup + { + explicit LimiterGroup (AudioProcessorParameterGroup& layout) + : enabled (addToLayout (layout, + ID::limiterEnabled, + "Limiter", + false, + "")), + threshold (addToLayout (layout, + ID::limiterThreshold, + "Threshold", + "dB", + NormalisableRange (-40.0f, 0.0f), + 0.0f, + valueToTextFunction, + textToValueFunction)), + release (addToLayout (layout, + ID::limiterRelease, + "Release", + "ms", + NormalisableRange (10.0f, 10000.0f, 0.0f, 0.25f), + 100.0f, + valueToTextFunction, + textToValueFunction)) {} + + AudioParameterBool& enabled; + Parameter& threshold; + Parameter& release; + }; + + struct DirectDelayGroup + { + explicit DirectDelayGroup (AudioProcessorParameterGroup& layout) + : enabled (addToLayout (layout, + ID::directDelayEnabled, + "DL Dir.", + false, + "")), + type (addToLayout (layout, + ID::directDelayType, + "DL Type", + StringArray { "None", "Linear", "Lagrange", "Thiran" }, + 1)), + value (addToLayout (layout, + ID::directDelayValue, + "Delay", + "smps", + NormalisableRange (0.0f, 44100.0f), + 0.0f, + valueToTextFunction, + textToValueFunction)), + smoothing (addToLayout (layout, + ID::directDelaySmoothing, + "Smooth", + "ms", + NormalisableRange (20.0f, 10000.0f, 0.0f, 0.25f), + 200.0f, + valueToTextFunction, + textToValueFunction)), + mix (addToLayout (layout, + ID::directDelayMix, + "Delay Mix", + "%", + NormalisableRange (0.0f, 100.0f), + 50.0f, + valueToTextFunction, + textToValueFunction)) {} + + AudioParameterBool& enabled; + AudioParameterChoice& type; + Parameter& value; + Parameter& smoothing; + Parameter& mix; + }; + + struct DelayEffectGroup + { + explicit DelayEffectGroup (AudioProcessorParameterGroup& layout) + : enabled (addToLayout (layout, + ID::delayEffectEnabled, + "DL Effect", + false, + "")), + type (addToLayout (layout, + ID::delayEffectType, + "DL Type", + StringArray { "None", "Linear", "Lagrange", "Thiran" }, + 1)), + value (addToLayout (layout, + ID::delayEffectValue, + "Delay", + "ms", + NormalisableRange (0.01f, 1000.0f), + 100.0f, + valueToTextFunction, + textToValueFunction)), + smoothing (addToLayout (layout, + ID::delayEffectSmoothing, + "Smooth", + "ms", + NormalisableRange (20.0f, 10000.0f, 0.0f, 0.25f), + 400.0f, + valueToTextFunction, + textToValueFunction)), + lowpass (addToLayout (layout, + ID::delayEffectLowpass, + "Low-pass", + "Hz", + NormalisableRange (20.0f, 22000.0f, 0.0f, 0.25f), + 22000.0f, + valueToTextFunction, + textToValueFunction)), + mix (addToLayout (layout, + ID::delayEffectMix, + "Delay Mix", + "%", + NormalisableRange (0.0f, 100.0f), + 50.0f, + valueToTextFunction, + textToValueFunction)), + feedback (addToLayout (layout, + ID::delayEffectFeedback, + "Feedback", + "dB", + NormalisableRange (-100.0f, 0.0f), + -100.0f, + valueToTextFunction, + textToValueFunction)) {} + + AudioParameterBool& enabled; + AudioParameterChoice& type; + Parameter& value; + Parameter& smoothing; + Parameter& lowpass; + Parameter& mix; + Parameter& feedback; + }; + + struct PhaserGroup + { + explicit PhaserGroup (AudioProcessorParameterGroup& layout) + : enabled (addToLayout (layout, + ID::phaserEnabled, + "Phaser", + false, + "")), + rate (addToLayout (layout, + ID::phaserRate, + "Rate", + "Hz", + NormalisableRange (0.05f, 20.0f, 0.0f, 0.25f), + 1.0f, + valueToTextFunction, + textToValueFunction)), + depth (addToLayout (layout, + ID::phaserDepth, + "Depth", + "%", + NormalisableRange (0.0f, 100.0f), + 50.0f, + valueToTextFunction, + textToValueFunction)), + centreFrequency (addToLayout (layout, + ID::phaserCentreFrequency, + "Center", + "Hz", + NormalisableRange (20.0f, 20000.0f, 0.0f, 0.25f), + 600.0f, + valueToTextFunction, + textToValueFunction)), + feedback (addToLayout (layout, + ID::phaserFeedback, + "Feedback", + "%", + NormalisableRange (0.0f, 100.0f), + 50.0f, + valueToTextFunction, + textToValueFunction)), + mix (addToLayout (layout, + ID::phaserMix, + "Mix", + "%", + NormalisableRange (0.0f, 100.0f), + 50.0f, + valueToTextFunction, + textToValueFunction)) {} + + AudioParameterBool& enabled; + Parameter& rate; + Parameter& depth; + Parameter& centreFrequency; + Parameter& feedback; + Parameter& mix; + }; + + struct ChorusGroup + { + explicit ChorusGroup (AudioProcessorParameterGroup& layout) + : enabled (addToLayout (layout, + ID::chorusEnabled, + "Chorus", + false, + "")), + rate (addToLayout (layout, + ID::chorusRate, + "Rate", + "Hz", + NormalisableRange (0.05f, 20.0f, 0.0f, 0.25f), + 1.0f, + valueToTextFunction, + textToValueFunction)), + depth (addToLayout (layout, + ID::chorusDepth, + "Depth", + "%", + NormalisableRange (0.0f, 100.0f), + 50.0f, + valueToTextFunction, + textToValueFunction)), + centreDelay (addToLayout (layout, + ID::chorusCentreDelay, + "Center", + "ms", + NormalisableRange (1.0f, 100.0f, 0.0f, 0.25f), + 7.0f, + valueToTextFunction, + textToValueFunction)), + feedback (addToLayout (layout, + ID::chorusFeedback, + "Feedback", + "%", + NormalisableRange (0.0f, 100.0f), + 50.0f, + valueToTextFunction, + textToValueFunction)), + mix (addToLayout (layout, + ID::chorusMix, + "Mix", + "%", + NormalisableRange (0.0f, 100.0f), + 50.0f, + valueToTextFunction, + textToValueFunction)) {} + + AudioParameterBool& enabled; + Parameter& rate; + Parameter& depth; + Parameter& centreDelay; + Parameter& feedback; + Parameter& mix; + }; + + struct LadderGroup + { + explicit LadderGroup (AudioProcessorParameterGroup& layout) + : enabled (addToLayout (layout, + ID::ladderEnabled, + "Ladder", + false, + "")), + mode (addToLayout (layout, + ID::ladderMode, + "Mode", + StringArray { "LP12", "LP24", "HP12", "HP24", "BP12", "BP24" }, + 1)), + cutoff (addToLayout (layout, + ID::ladderCutoff, + "Frequency", + "Hz", + NormalisableRange (10.0f, 22000.0f, 0.0f, 0.25f), + 1000.0f, + valueToTextFunction, + textToValueFunction)), + resonance (addToLayout (layout, + ID::ladderResonance, + "Resonance", + "%", + NormalisableRange (0.0f, 100.0f), + 0.0f, + valueToTextFunction, + textToValueFunction)), + drive (addToLayout (layout, + ID::ladderDrive, + "Drive", + "dB", + NormalisableRange (0.0f, 40.0f), + 0.0f, + valueToTextFunction, + textToValueFunction)) {} + + AudioParameterBool& enabled; + AudioParameterChoice& mode; + Parameter& cutoff; + Parameter& resonance; + Parameter& drive; + }; + explicit ParameterReferences (AudioProcessorValueTreeState::ParameterLayout& layout) - : inputGain (addToLayout (layout, - std::make_unique (ID::inputGain, - "Input", - "dB", - NormalisableRange (-40.0f, 40.0f), - 0.0f, - valueToTextFunction, - textToValueFunction))), - outputGain (addToLayout (layout, - std::make_unique (ID::outputGain, - "Output", - "dB", - NormalisableRange (-40.0f, 40.0f), - 0.0f, - valueToTextFunction, - textToValueFunction))), - pan (addToLayout (layout, - std::make_unique (ID::pan, - "Panning", - "", - NormalisableRange (-100.0f, 100.0f), - 0.0f, - valueToTextPanFunction, - textToValuePanFunction))), - distortionEnabled (addToLayout (layout, - std::make_unique (ID::distortionEnabled, - "Distortion", - true, - ""))), - distortionType (addToLayout (layout, - std::make_unique (ID::distortionType, - "Waveshaper", - StringArray { "std::tanh", "Approx. tanh" }, - 0))), - distortionInGain (addToLayout (layout, - std::make_unique (ID::distortionInGain, - "Gain", - "dB", - NormalisableRange (-40.0f, 40.0f), - 0.0f, - valueToTextFunction, - textToValueFunction))), - distortionLowpass (addToLayout (layout, - std::make_unique (ID::distortionLowpass, - "Post Low-pass", - "Hz", - NormalisableRange (20.0f, 22000.0f, 0.0f, 0.25f), - 22000.0f, - valueToTextFunction, - textToValueFunction))), - distortionHighpass (addToLayout (layout, - std::make_unique (ID::distortionHighpass, - "Pre High-pass", - "Hz", - NormalisableRange (20.0f, 22000.0f, 0.0f, 0.25f), - 20.0f, - valueToTextFunction, - textToValueFunction))), - distortionCompGain (addToLayout (layout, - std::make_unique (ID::distortionCompGain, - "Compensat.", - "dB", - NormalisableRange (-40.0f, 40.0f), - 0.0f, - valueToTextFunction, - textToValueFunction))), - distortionMix (addToLayout (layout, - std::make_unique (ID::distortionMix, - "Mix", - "%", - NormalisableRange (0.0f, 100.0f), - 100.0f, - valueToTextFunction, - textToValueFunction))), - distortionOversampler (addToLayout (layout, - std::make_unique (ID::distortionOversampler, - "Oversampling", - StringArray { "2X", "4X", "8X", "2X compensated", "4X compensated", "8X compensated" }, - 1))), - multiBandEnabled (addToLayout (layout, - std::make_unique (ID::multiBandEnabled, - "Multi-band", - false, - ""))), - multiBandFreq (addToLayout (layout, - std::make_unique (ID::multiBandFreq, - "Sep. Freq.", - "Hz", - NormalisableRange (20.0f, 22000.0f, 0.0f, 0.25f), - 2000.0f, - valueToTextFunction, - textToValueFunction))), - multiBandLowVolume (addToLayout (layout, - std::make_unique (ID::multiBandLowVolume, - "Low volume", - "dB", - NormalisableRange (-40.0f, 40.0f), - 0.0f, - valueToTextFunction, - textToValueFunction))), - multiBandHighVolume (addToLayout (layout, - std::make_unique (ID::multiBandHighVolume, - "High volume", - "dB", - NormalisableRange (-40.0f, 40.0f), - 0.0f, - valueToTextFunction, - textToValueFunction))), - convolutionCabEnabled (addToLayout (layout, - std::make_unique (ID::convolutionCabEnabled, - "Cabinet", - false, - ""))), - convolutionReverbEnabled (addToLayout (layout, - std::make_unique (ID::convolutionReverbEnabled, - "Reverb", - false, - ""))), - convolutionReverbMix (addToLayout (layout, - std::make_unique (ID::convolutionReverbMix, - "Reverb Mix", - "%", - NormalisableRange (0.0f, 100.0f), - 50.0f, - valueToTextFunction, - textToValueFunction))), - compressorEnabled (addToLayout (layout, - std::make_unique (ID::compressorEnabled, - "Comp.", - false, - ""))), - compressorThreshold (addToLayout (layout, - std::make_unique (ID::compressorThreshold, - "Threshold", - "dB", - NormalisableRange (-100.0f, 0.0f), - 0.0f, - valueToTextFunction, - textToValueFunction))), - compressorRatio (addToLayout (layout, - std::make_unique (ID::compressorRatio, - "Ratio", - ":1", - NormalisableRange (1.0f, 100.0f, 0.0f, 0.25f), - 1.0f, - valueToTextFunction, - textToValueFunction))), - compressorAttack (addToLayout (layout, - std::make_unique (ID::compressorAttack, - "Attack", - "ms", - NormalisableRange (0.01f, 1000.0f, 0.0f, 0.25f), - 1.0f, - valueToTextFunction, - textToValueFunction))), - compressorRelease (addToLayout (layout, - std::make_unique (ID::compressorRelease, - "Release", - "ms", - NormalisableRange (10.0f, 10000.0f, 0.0f, 0.25f), - 100.0f, - valueToTextFunction, - textToValueFunction))), - noiseGateEnabled (addToLayout (layout, - std::make_unique (ID::noiseGateEnabled, - "Gate", - false, - ""))), - noiseGateThreshold (addToLayout (layout, - std::make_unique (ID::noiseGateThreshold, - "Threshold", - "dB", - NormalisableRange (-100.0f, 0.0f), - -100.0f, - valueToTextFunction, - textToValueFunction))), - noiseGateRatio (addToLayout (layout, - std::make_unique (ID::noiseGateRatio, - "Ratio", - ":1", - NormalisableRange (1.0f, 100.0f, 0.0f, 0.25f), - 10.0f, - valueToTextFunction, - textToValueFunction))), - noiseGateAttack (addToLayout (layout, - std::make_unique (ID::noiseGateAttack, - "Attack", - "ms", - NormalisableRange (0.01f, 1000.0f, 0.0f, 0.25f), - 1.0f, - valueToTextFunction, - textToValueFunction))), - noiseGateRelease (addToLayout (layout, - std::make_unique (ID::noiseGateRelease, - "Release", - "ms", - NormalisableRange (10.0f, 10000.0f, 0.0f, 0.25f), - 100.0f, - valueToTextFunction, - textToValueFunction))), - limiterEnabled (addToLayout (layout, - std::make_unique (ID::limiterEnabled, - "Limiter", - false, - ""))), - limiterThreshold (addToLayout (layout, - std::make_unique (ID::limiterThreshold, - "Threshold", - "dB", - NormalisableRange (-40.0f, 0.0f), - 0.0f, - valueToTextFunction, - textToValueFunction))), - limiterRelease (addToLayout (layout, - std::make_unique (ID::limiterRelease, - "Release", - "ms", - NormalisableRange (10.0f, 10000.0f, 0.0f, 0.25f), - 100.0f, - valueToTextFunction, - textToValueFunction))), - directDelayEnabled (addToLayout (layout, - std::make_unique (ID::directDelayEnabled, - "DL Dir.", - false, - ""))), - directDelayType (addToLayout (layout, - std::make_unique (ID::directDelayType, - "DL Type", - StringArray { "None", "Linear", "Lagrange", "Thiran" }, - 1))), - directDelayValue (addToLayout (layout, - std::make_unique (ID::directDelayValue, - "Delay", - "smps", - NormalisableRange (0.0f, 44100.0f), - 0.0f, - valueToTextFunction, - textToValueFunction))), - directDelaySmoothing (addToLayout (layout, - std::make_unique (ID::directDelaySmoothing, - "Smooth", - "ms", - NormalisableRange (20.0f, 10000.0f, 0.0f, 0.25f), - 200.0f, - valueToTextFunction, - textToValueFunction))), - directDelayMix (addToLayout (layout, - std::make_unique (ID::directDelayMix, - "Delay Mix", - "%", - NormalisableRange (0.0f, 100.0f), - 50.0f, - valueToTextFunction, - textToValueFunction))), - delayEffectEnabled (addToLayout (layout, - std::make_unique (ID::delayEffectEnabled, - "DL Effect", - false, - ""))), - delayEffectType (addToLayout (layout, - std::make_unique (ID::delayEffectType, - "DL Type", - StringArray { "None", "Linear", "Lagrange", "Thiran" }, - 1))), - delayEffectValue (addToLayout (layout, - std::make_unique (ID::delayEffectValue, - "Delay", - "ms", - NormalisableRange (0.01f, 1000.0f), - 100.0f, - valueToTextFunction, - textToValueFunction))), - delayEffectSmoothing (addToLayout (layout, - std::make_unique (ID::delayEffectSmoothing, - "Smooth", - "ms", - NormalisableRange (20.0f, 10000.0f, 0.0f, 0.25f), - 400.0f, - valueToTextFunction, - textToValueFunction))), - delayEffectLowpass (addToLayout (layout, - std::make_unique (ID::delayEffectLowpass, - "Low-pass", - "Hz", - NormalisableRange (20.0f, 22000.0f, 0.0f, 0.25f), - 22000.0f, - valueToTextFunction, - textToValueFunction))), - delayEffectMix (addToLayout (layout, - std::make_unique (ID::delayEffectMix, - "Delay Mix", - "%", - NormalisableRange (0.0f, 100.0f), - 50.0f, - valueToTextFunction, - textToValueFunction))), - delayEffectFeedback (addToLayout (layout, - std::make_unique (ID::delayEffectFeedback, - "Feedback", - "dB", - NormalisableRange (-100.0f, 0.0f), - -100.0f, - valueToTextFunction, - textToValueFunction))), - phaserEnabled (addToLayout (layout, - std::make_unique (ID::phaserEnabled, - "Phaser", - false, - ""))), - phaserRate (addToLayout (layout, - std::make_unique (ID::phaserRate, - "Rate", - "Hz", - NormalisableRange (0.05f, 20.0f, 0.0f, 0.25f), - 1.0f, - valueToTextFunction, - textToValueFunction))), - phaserDepth (addToLayout (layout, - std::make_unique (ID::phaserDepth, - "Depth", - "%", - NormalisableRange (0.0f, 100.0f), - 50.0f, - valueToTextFunction, - textToValueFunction))), - phaserCentreFrequency (addToLayout (layout, - std::make_unique (ID::phaserCentreFrequency, - "Center", - "Hz", - NormalisableRange (20.0f, 20000.0f, 0.0f, 0.25f), - 600.0f, - valueToTextFunction, - textToValueFunction))), - phaserFeedback (addToLayout (layout, - std::make_unique (ID::phaserFeedback, - "Feedback", - "%", - NormalisableRange (0.0f, 100.0f), - 50.0f, - valueToTextFunction, - textToValueFunction))), - phaserMix (addToLayout (layout, - std::make_unique (ID::phaserMix, - "Mix", - "%", - NormalisableRange (0.0f, 100.0f), - 50.0f, - valueToTextFunction, - textToValueFunction))), - chorusEnabled (addToLayout (layout, - std::make_unique (ID::chorusEnabled, - "Chorus", - false, - ""))), - chorusRate (addToLayout (layout, - std::make_unique (ID::chorusRate, - "Rate", - "Hz", - NormalisableRange (0.05f, 20.0f, 0.0f, 0.25f), - 1.0f, - valueToTextFunction, - textToValueFunction))), - chorusDepth (addToLayout (layout, - std::make_unique (ID::chorusDepth, - "Depth", - "%", - NormalisableRange (0.0f, 100.0f), - 50.0f, - valueToTextFunction, - textToValueFunction))), - chorusCentreDelay (addToLayout (layout, - std::make_unique (ID::chorusCentreDelay, - "Center", - "ms", - NormalisableRange (1.0f, 100.0f, 0.0f, 0.25f), - 7.0f, - valueToTextFunction, - textToValueFunction))), - chorusFeedback (addToLayout (layout, - std::make_unique (ID::chorusFeedback, - "Feedback", - "%", - NormalisableRange (0.0f, 100.0f), - 50.0f, - valueToTextFunction, - textToValueFunction))), - chorusMix (addToLayout (layout, - std::make_unique (ID::chorusMix, - "Mix", - "%", - NormalisableRange (0.0f, 100.0f), - 50.0f, - valueToTextFunction, - textToValueFunction))), - ladderEnabled (addToLayout (layout, - std::make_unique (ID::ladderEnabled, - "Ladder", - false, - ""))), - ladderMode (addToLayout (layout, - std::make_unique (ID::ladderMode, - "Mode", - StringArray { "LP12", "LP24", "HP12", "HP24", "BP12", "BP24" }, - 1))), - ladderCutoff (addToLayout (layout, - std::make_unique (ID::ladderCutoff, - "Frequency", - "Hz", - NormalisableRange (10.0f, 22000.0f, 0.0f, 0.25f), - 1000.0f, - valueToTextFunction, - textToValueFunction))), - ladderResonance (addToLayout (layout, - std::make_unique (ID::ladderResonance, - "Resonance", - "%", - NormalisableRange (0.0f, 100.0f), - 0.0f, - valueToTextFunction, - textToValueFunction))), - ladderDrive (addToLayout (layout, - std::make_unique (ID::ladderDrive, - "Drive", - "dB", - NormalisableRange (0.0f, 40.0f), - 0.0f, - valueToTextFunction, - textToValueFunction))) - {} - - Parameter& inputGain; - Parameter& outputGain; - Parameter& pan; - - AudioParameterBool& distortionEnabled; - AudioParameterChoice& distortionType; - Parameter& distortionInGain; - Parameter& distortionLowpass; - Parameter& distortionHighpass; - Parameter& distortionCompGain; - Parameter& distortionMix; - AudioParameterChoice& distortionOversampler; - - AudioParameterBool& multiBandEnabled; - Parameter& multiBandFreq; - Parameter& multiBandLowVolume; - Parameter& multiBandHighVolume; - - AudioParameterBool& convolutionCabEnabled; - AudioParameterBool& convolutionReverbEnabled; - Parameter& convolutionReverbMix; - - AudioParameterBool& compressorEnabled; - Parameter& compressorThreshold; - Parameter& compressorRatio; - Parameter& compressorAttack; - Parameter& compressorRelease; - - AudioParameterBool& noiseGateEnabled; - Parameter& noiseGateThreshold; - Parameter& noiseGateRatio; - Parameter& noiseGateAttack; - Parameter& noiseGateRelease; - - AudioParameterBool& limiterEnabled; - Parameter& limiterThreshold; - Parameter& limiterRelease; - - AudioParameterBool& directDelayEnabled; - AudioParameterChoice& directDelayType; - Parameter& directDelayValue; - Parameter& directDelaySmoothing; - Parameter& directDelayMix; - - AudioParameterBool& delayEffectEnabled; - AudioParameterChoice& delayEffectType; - Parameter& delayEffectValue; - Parameter& delayEffectSmoothing; - Parameter& delayEffectLowpass; - Parameter& delayEffectMix; - Parameter& delayEffectFeedback; - - AudioParameterBool& phaserEnabled; - Parameter& phaserRate; - Parameter& phaserDepth; - Parameter& phaserCentreFrequency; - Parameter& phaserFeedback; - Parameter& phaserMix; - - AudioParameterBool& chorusEnabled; - Parameter& chorusRate; - Parameter& chorusDepth; - Parameter& chorusCentreDelay; - Parameter& chorusFeedback; - Parameter& chorusMix; - - AudioParameterBool& ladderEnabled; - AudioParameterChoice& ladderMode; - Parameter& ladderCutoff; - Parameter& ladderResonance; - Parameter& ladderDrive; + : main (addToLayout (layout, "main", "Main", "|")), + distortion (addToLayout (layout, "distortion", "Distortion", "|")), + multiBand (addToLayout (layout, "multiband", "Multi Band", "|")), + convolution (addToLayout (layout, "convolution", "Convolution", "|")), + compressor (addToLayout (layout, "compressor", "Compressor", "|")), + noiseGate (addToLayout (layout, "noisegate", "Noise Gate", "|")), + limiter (addToLayout (layout, "limiter", "Limiter", "|")), + directDelay (addToLayout (layout, "directdelay", "Direct Delay", "|")), + delayEffect (addToLayout (layout, "delayeffect", "Delay Effect", "|")), + phaser (addToLayout (layout, "phaser", "Phaser", "|")), + chorus (addToLayout (layout, "chorus", "Chorus", "|")), + ladder (addToLayout (layout, "ladder", "Ladder", "|")) {} + + MainGroup main; + DistortionGroup distortion; + MultiBandGroup multiBand; + ConvolutionGroup convolution; + CompressorGroup compressor; + NoiseGateGroup noiseGate; + LimiterGroup limiter; + DirectDelayGroup directDelay; + DelayEffectGroup delayEffect; + PhaserGroup phaser; + ChorusGroup chorus; + LadderGroup ladder; }; const ParameterReferences& getParameterValues() const noexcept { return parameters; } @@ -808,131 +907,131 @@ private: { DistortionProcessor& distortion = dsp::get (chain); - if (distortion.currentIndexOversampling != parameters.distortionOversampler.getIndex()) + if (distortion.currentIndexOversampling != parameters.distortion.oversampler.getIndex()) { - distortion.currentIndexOversampling = parameters.distortionOversampler.getIndex(); + distortion.currentIndexOversampling = parameters.distortion.oversampler.getIndex(); prepareToPlay (getSampleRate(), getBlockSize()); return; } - distortion.currentIndexWaveshaper = parameters.distortionType.getIndex(); - distortion.lowpass .setCutoffFrequency (parameters.distortionLowpass.get()); - distortion.highpass.setCutoffFrequency (parameters.distortionHighpass.get()); - distortion.distGain.setGainDecibels (parameters.distortionInGain.get()); - distortion.compGain.setGainDecibels (parameters.distortionCompGain.get()); - distortion.mixer.setWetMixProportion (parameters.distortionMix.get() / 100.0f); - dsp::setBypassed (chain, ! parameters.distortionEnabled); + distortion.currentIndexWaveshaper = parameters.distortion.type.getIndex(); + distortion.lowpass .setCutoffFrequency (parameters.distortion.lowpass.get()); + distortion.highpass.setCutoffFrequency (parameters.distortion.highpass.get()); + distortion.distGain.setGainDecibels (parameters.distortion.inGain.get()); + distortion.compGain.setGainDecibels (parameters.distortion.compGain.get()); + distortion.mixer.setWetMixProportion (parameters.distortion.mix.get() / 100.0f); + dsp::setBypassed (chain, ! parameters.distortion.enabled); } { ConvolutionProcessor& convolution = dsp::get (chain); - convolution.cabEnabled = parameters.convolutionCabEnabled; - convolution.reverbEnabled = parameters.convolutionReverbEnabled; - convolution.mixer.setWetMixProportion (parameters.convolutionReverbMix.get() / 100.0f); + convolution.cabEnabled = parameters.convolution.cabEnabled; + convolution.reverbEnabled = parameters.convolution.reverbEnabled; + convolution.mixer.setWetMixProportion (parameters.convolution.reverbMix.get() / 100.0f); } - dsp::get (chain).setGainDecibels (parameters.inputGain.get()); - dsp::get (chain).setGainDecibels (parameters.outputGain.get()); - dsp::get (chain).setPan (parameters.pan.get() / 100.0f); + dsp::get (chain).setGainDecibels (parameters.main.inputGain.get()); + dsp::get (chain).setGainDecibels (parameters.main.outputGain.get()); + dsp::get (chain).setPan (parameters.main.pan.get() / 100.0f); { MultiBandProcessor& multiband = dsp::get (chain); - const auto multibandFreq = parameters.multiBandFreq.get(); + const auto multibandFreq = parameters.multiBand.freq.get(); multiband.lowpass .setCutoffFrequency (multibandFreq); multiband.highpass.setCutoffFrequency (multibandFreq); - const bool enabled = parameters.multiBandEnabled; - multiband.lowVolume .setGainDecibels (enabled ? parameters.multiBandLowVolume .get() : 0.0f); - multiband.highVolume.setGainDecibels (enabled ? parameters.multiBandHighVolume.get() : 0.0f); + const bool enabled = parameters.multiBand.enabled; + multiband.lowVolume .setGainDecibels (enabled ? parameters.multiBand.lowVolume .get() : 0.0f); + multiband.highVolume.setGainDecibels (enabled ? parameters.multiBand.highVolume.get() : 0.0f); dsp::setBypassed (chain, ! enabled); } { dsp::Compressor& compressor = dsp::get (chain); - compressor.setThreshold (parameters.compressorThreshold.get()); - compressor.setRatio (parameters.compressorRatio.get()); - compressor.setAttack (parameters.compressorAttack.get()); - compressor.setRelease (parameters.compressorRelease.get()); - dsp::setBypassed (chain, ! parameters.compressorEnabled); + compressor.setThreshold (parameters.compressor.threshold.get()); + compressor.setRatio (parameters.compressor.ratio.get()); + compressor.setAttack (parameters.compressor.attack.get()); + compressor.setRelease (parameters.compressor.release.get()); + dsp::setBypassed (chain, ! parameters.compressor.enabled); } { dsp::NoiseGate& noiseGate = dsp::get (chain); - noiseGate.setThreshold (parameters.noiseGateThreshold.get()); - noiseGate.setRatio (parameters.noiseGateRatio.get()); - noiseGate.setAttack (parameters.noiseGateAttack.get()); - noiseGate.setRelease (parameters.noiseGateRelease.get()); - dsp::setBypassed (chain, ! parameters.noiseGateEnabled); + noiseGate.setThreshold (parameters.noiseGate.threshold.get()); + noiseGate.setRatio (parameters.noiseGate.ratio.get()); + noiseGate.setAttack (parameters.noiseGate.attack.get()); + noiseGate.setRelease (parameters.noiseGate.release.get()); + dsp::setBypassed (chain, ! parameters.noiseGate.enabled); } { dsp::Limiter& limiter = dsp::get (chain); - limiter.setThreshold (parameters.limiterThreshold.get()); - limiter.setRelease (parameters.limiterRelease.get()); - dsp::setBypassed (chain, ! parameters.limiterEnabled); + limiter.setThreshold (parameters.limiter.threshold.get()); + limiter.setRelease (parameters.limiter.release.get()); + dsp::setBypassed (chain, ! parameters.limiter.enabled); } { DirectDelayProcessor& delay = dsp::get (chain); - delay.delayLineDirectType = parameters.directDelayType.getIndex(); + delay.delayLineDirectType = parameters.directDelay.type.getIndex(); std::fill (delay.delayDirectValue.begin(), delay.delayDirectValue.end(), - (double) parameters.directDelayValue.get()); + (double) parameters.directDelay.value.get()); - delay.smoothFilter.setCutoffFrequency (1000.0 / parameters.directDelaySmoothing.get()); - delay.mixer.setWetMixProportion (parameters.directDelayMix.get() / 100.0f); - dsp::setBypassed (chain, ! parameters.directDelayEnabled); + delay.smoothFilter.setCutoffFrequency (1000.0 / parameters.directDelay.smoothing.get()); + delay.mixer.setWetMixProportion (parameters.directDelay.mix.get() / 100.0f); + dsp::setBypassed (chain, ! parameters.directDelay.enabled); } { DelayEffectProcessor& delay = dsp::get (chain); - delay.delayEffectType = parameters.delayEffectType.getIndex(); + delay.delayEffectType = parameters.delayEffect.type.getIndex(); std::fill (delay.delayEffectValue.begin(), delay.delayEffectValue.end(), - (double) parameters.delayEffectValue.get() / 1000.0 * getSampleRate()); + (double) parameters.delayEffect.value.get() / 1000.0 * getSampleRate()); - const auto feedbackGain = Decibels::decibelsToGain (parameters.delayEffectFeedback.get(), -100.0f); + const auto feedbackGain = Decibels::decibelsToGain (parameters.delayEffect.feedback.get(), -100.0f); for (auto& volume : delay.delayFeedbackVolume) volume.setTargetValue (feedbackGain); - delay.smoothFilter.setCutoffFrequency (1000.0 / parameters.delayEffectSmoothing.get()); - delay.lowpass.setCutoffFrequency (parameters.delayEffectLowpass.get()); - delay.mixer.setWetMixProportion (parameters.delayEffectMix.get() / 100.0f); - dsp::setBypassed (chain, ! parameters.delayEffectEnabled); + delay.smoothFilter.setCutoffFrequency (1000.0 / parameters.delayEffect.smoothing.get()); + delay.lowpass.setCutoffFrequency (parameters.delayEffect.lowpass.get()); + delay.mixer.setWetMixProportion (parameters.delayEffect.mix.get() / 100.0f); + dsp::setBypassed (chain, ! parameters.delayEffect.enabled); } { dsp::Phaser& phaser = dsp::get (chain); - phaser.setRate (parameters.phaserRate.get()); - phaser.setDepth (parameters.phaserDepth.get() / 100.0f); - phaser.setCentreFrequency (parameters.phaserCentreFrequency.get()); - phaser.setFeedback (parameters.phaserFeedback.get() / 100.0f * 0.95f); - phaser.setMix (parameters.phaserMix.get() / 100.0f); - dsp::setBypassed (chain, ! parameters.phaserEnabled); + phaser.setRate (parameters.phaser.rate.get()); + phaser.setDepth (parameters.phaser.depth.get() / 100.0f); + phaser.setCentreFrequency (parameters.phaser.centreFrequency.get()); + phaser.setFeedback (parameters.phaser.feedback.get() / 100.0f * 0.95f); + phaser.setMix (parameters.phaser.mix.get() / 100.0f); + dsp::setBypassed (chain, ! parameters.phaser.enabled); } { dsp::Chorus& chorus = dsp::get (chain); - chorus.setRate (parameters.chorusRate.get()); - chorus.setDepth (parameters.chorusDepth.get() / 100.0f); - chorus.setCentreDelay (parameters.chorusCentreDelay.get()); - chorus.setFeedback (parameters.chorusFeedback.get() / 100.0f * 0.95f); - chorus.setMix (parameters.chorusMix.get() / 100.0f); - dsp::setBypassed (chain, ! parameters.chorusEnabled); + chorus.setRate (parameters.chorus.rate.get()); + chorus.setDepth (parameters.chorus.depth.get() / 100.0f); + chorus.setCentreDelay (parameters.chorus.centreDelay.get()); + chorus.setFeedback (parameters.chorus.feedback.get() / 100.0f * 0.95f); + chorus.setMix (parameters.chorus.mix.get() / 100.0f); + dsp::setBypassed (chain, ! parameters.chorus.enabled); } { dsp::LadderFilter& ladder = dsp::get (chain); - ladder.setCutoffFrequencyHz (parameters.ladderCutoff.get()); - ladder.setResonance (parameters.ladderResonance.get() / 100.0f); - ladder.setDrive (Decibels::decibelsToGain (parameters.ladderDrive.get())); + ladder.setCutoffFrequencyHz (parameters.ladder.cutoff.get()); + ladder.setResonance (parameters.ladder.resonance.get() / 100.0f); + ladder.setDrive (Decibels::decibelsToGain (parameters.ladder.drive.get())); ladder.setMode ([&] { - switch (parameters.ladderMode.getIndex()) + switch (parameters.ladder.mode.getIndex()) { case 0: return dsp::LadderFilterMode::LPF12; case 1: return dsp::LadderFilterMode::LPF24; @@ -946,7 +1045,7 @@ private: return dsp::LadderFilterMode::BPF24; }()); - dsp::setBypassed (chain, ! parameters.ladderEnabled); + dsp::setBypassed (chain, ! parameters.ladder.enabled); } requiresUpdate.store (false); @@ -1614,7 +1713,8 @@ private: if (e.mods.isRightButtonDown()) if (auto* c = editor.getHostContext()) if (auto menuInfo = c->getContextMenuForParameterIndex (¶m)) - menuInfo->getEquivalentPopupMenu().showMenuAsync ({}); + menuInfo->getEquivalentPopupMenu().showMenuAsync (PopupMenu::Options{}.withTargetComponent (this) + .withMousePosition()); } private: @@ -1625,16 +1725,16 @@ private: class AttachedSlider : public ComponentWithParamMenu { public: - AttachedSlider (AudioProcessorEditor& editorIn, RangedAudioParameter& param) - : ComponentWithParamMenu (editorIn, param), - label ("", param.name), - attachment (param, slider) + AttachedSlider (AudioProcessorEditor& editorIn, RangedAudioParameter& paramIn) + : ComponentWithParamMenu (editorIn, paramIn), + label ("", paramIn.name), + attachment (paramIn, slider) { slider.addMouseListener (this, true); addAllAndMakeVisible (*this, slider, label); - slider.setTextValueSuffix (" " + param.label); + slider.setTextValueSuffix (" " + paramIn.label); label.attachToComponent (&slider, false); label.setJustificationType (Justification::centred); @@ -1651,10 +1751,10 @@ private: class AttachedToggle : public ComponentWithParamMenu { public: - AttachedToggle (AudioProcessorEditor& editorIn, RangedAudioParameter& param) - : ComponentWithParamMenu (editorIn, param), - toggle (param.name), - attachment (param, toggle) + AttachedToggle (AudioProcessorEditor& editorIn, RangedAudioParameter& paramIn) + : ComponentWithParamMenu (editorIn, paramIn), + toggle (paramIn.name), + attachment (paramIn, toggle) { toggle.addMouseListener (this, true); addAndMakeVisible (toggle); @@ -1670,11 +1770,11 @@ private: class AttachedCombo : public ComponentWithParamMenu { public: - AttachedCombo (AudioProcessorEditor& editorIn, RangedAudioParameter& param) - : ComponentWithParamMenu (editorIn, param), - combo (param), - label ("", param.name), - attachment (param, combo) + AttachedCombo (AudioProcessorEditor& editorIn, RangedAudioParameter& paramIn) + : ComponentWithParamMenu (editorIn, paramIn), + combo (paramIn), + label ("", paramIn.name), + attachment (paramIn, combo) { combo.addMouseListener (this, true); @@ -1782,7 +1882,8 @@ private: struct BasicControls : public Component { - explicit BasicControls (AudioProcessorEditor& editor, const DspModulePluginDemo::ParameterReferences& state) + explicit BasicControls (AudioProcessorEditor& editor, + const DspModulePluginDemo::ParameterReferences::MainGroup& state) : pan (editor, state.pan), input (editor, state.inputGain), output (editor, state.outputGain) @@ -1800,15 +1901,16 @@ private: struct DistortionControls : public Component { - explicit DistortionControls (AudioProcessorEditor& editor, const DspModulePluginDemo::ParameterReferences& state) - : toggle (editor, state.distortionEnabled), - lowpass (editor, state.distortionLowpass), - highpass (editor, state.distortionHighpass), - mix (editor, state.distortionMix), - gain (editor, state.distortionInGain), - compv (editor, state.distortionCompGain), - type (editor, state.distortionType), - oversampling (editor, state.distortionOversampler) + explicit DistortionControls (AudioProcessorEditor& editor, + const DspModulePluginDemo::ParameterReferences::DistortionGroup& state) + : toggle (editor, state.enabled), + lowpass (editor, state.lowpass), + highpass (editor, state.highpass), + mix (editor, state.mix), + gain (editor, state.inGain), + compv (editor, state.compGain), + type (editor, state.type), + oversampling (editor, state.oversampler) { addAllAndMakeVisible (*this, toggle, type, lowpass, highpass, mix, gain, compv, oversampling); } @@ -1825,10 +1927,11 @@ private: struct ConvolutionControls : public Component { - explicit ConvolutionControls (AudioProcessorEditor& editor, const DspModulePluginDemo::ParameterReferences& state) - : cab (editor, state.convolutionCabEnabled), - reverb (editor, state.convolutionReverbEnabled), - mix (editor, state.convolutionReverbMix) + explicit ConvolutionControls (AudioProcessorEditor& editor, + const DspModulePluginDemo::ParameterReferences::ConvolutionGroup& state) + : cab (editor, state.cabEnabled), + reverb (editor, state.reverbEnabled), + mix (editor, state.reverbMix) { addAllAndMakeVisible (*this, cab, reverb, mix); } @@ -1844,11 +1947,12 @@ private: struct MultiBandControls : public Component { - explicit MultiBandControls (AudioProcessorEditor& editor, const DspModulePluginDemo::ParameterReferences& state) - : toggle (editor, state.multiBandEnabled), - low (editor, state.multiBandLowVolume), - high (editor, state.multiBandHighVolume), - lRFreq (editor, state.multiBandFreq) + explicit MultiBandControls (AudioProcessorEditor& editor, + const DspModulePluginDemo::ParameterReferences::MultiBandGroup& state) + : toggle (editor, state.enabled), + low (editor, state.lowVolume), + high (editor, state.highVolume), + lRFreq (editor, state.freq) { addAllAndMakeVisible (*this, toggle, low, high, lRFreq); } @@ -1864,12 +1968,13 @@ private: struct CompressorControls : public Component { - explicit CompressorControls (AudioProcessorEditor& editor, const DspModulePluginDemo::ParameterReferences& state) - : toggle (editor, state.compressorEnabled), - threshold (editor, state.compressorThreshold), - ratio (editor, state.compressorRatio), - attack (editor, state.compressorAttack), - release (editor, state.compressorRelease) + explicit CompressorControls (AudioProcessorEditor& editor, + const DspModulePluginDemo::ParameterReferences::CompressorGroup& state) + : toggle (editor, state.enabled), + threshold (editor, state.threshold), + ratio (editor, state.ratio), + attack (editor, state.attack), + release (editor, state.release) { addAllAndMakeVisible (*this, toggle, threshold, ratio, attack, release); } @@ -1885,12 +1990,13 @@ private: struct NoiseGateControls : public Component { - explicit NoiseGateControls (AudioProcessorEditor& editor, const DspModulePluginDemo::ParameterReferences& state) - : toggle (editor, state.noiseGateEnabled), - threshold (editor, state.noiseGateThreshold), - ratio (editor, state.noiseGateRatio), - attack (editor, state.noiseGateAttack), - release (editor, state.noiseGateRelease) + explicit NoiseGateControls (AudioProcessorEditor& editor, + const DspModulePluginDemo::ParameterReferences::NoiseGateGroup& state) + : toggle (editor, state.enabled), + threshold (editor, state.threshold), + ratio (editor, state.ratio), + attack (editor, state.attack), + release (editor, state.release) { addAllAndMakeVisible (*this, toggle, threshold, ratio, attack, release); } @@ -1906,10 +2012,11 @@ private: struct LimiterControls : public Component { - explicit LimiterControls (AudioProcessorEditor& editor, const DspModulePluginDemo::ParameterReferences& state) - : toggle (editor, state.limiterEnabled), - threshold (editor, state.limiterThreshold), - release (editor, state.limiterRelease) + explicit LimiterControls (AudioProcessorEditor& editor, + const DspModulePluginDemo::ParameterReferences::LimiterGroup& state) + : toggle (editor, state.enabled), + threshold (editor, state.threshold), + release (editor, state.release) { addAllAndMakeVisible (*this, toggle, threshold, release); } @@ -1925,12 +2032,13 @@ private: struct DirectDelayControls : public Component { - explicit DirectDelayControls (AudioProcessorEditor& editor, const DspModulePluginDemo::ParameterReferences& state) - : toggle (editor, state.directDelayEnabled), - type (editor, state.directDelayType), - delay (editor, state.directDelayValue), - smooth (editor, state.directDelaySmoothing), - mix (editor, state.directDelayMix) + explicit DirectDelayControls (AudioProcessorEditor& editor, + const DspModulePluginDemo::ParameterReferences::DirectDelayGroup& state) + : toggle (editor, state.enabled), + type (editor, state.type), + delay (editor, state.value), + smooth (editor, state.smoothing), + mix (editor, state.mix) { addAllAndMakeVisible (*this, toggle, type, delay, smooth, mix); } @@ -1947,14 +2055,15 @@ private: struct DelayEffectControls : public Component { - explicit DelayEffectControls (AudioProcessorEditor& editor, const DspModulePluginDemo::ParameterReferences& state) - : toggle (editor, state.delayEffectEnabled), - type (editor, state.delayEffectType), - value (editor, state.delayEffectValue), - smooth (editor, state.delayEffectSmoothing), - lowpass (editor, state.delayEffectLowpass), - feedback (editor, state.delayEffectFeedback), - mix (editor, state.delayEffectMix) + explicit DelayEffectControls (AudioProcessorEditor& editor, + const DspModulePluginDemo::ParameterReferences::DelayEffectGroup& state) + : toggle (editor, state.enabled), + type (editor, state.type), + value (editor, state.value), + smooth (editor, state.smoothing), + lowpass (editor, state.lowpass), + feedback (editor, state.feedback), + mix (editor, state.mix) { addAllAndMakeVisible (*this, toggle, type, value, smooth, lowpass, feedback, mix); } @@ -1971,13 +2080,14 @@ private: struct PhaserControls : public Component { - explicit PhaserControls (AudioProcessorEditor& editor, const DspModulePluginDemo::ParameterReferences& state) - : toggle (editor, state.phaserEnabled), - rate (editor, state.phaserRate), - depth (editor, state.phaserDepth), - centre (editor, state.phaserCentreFrequency), - feedback (editor, state.phaserFeedback), - mix (editor, state.phaserMix) + explicit PhaserControls (AudioProcessorEditor& editor, + const DspModulePluginDemo::ParameterReferences::PhaserGroup& state) + : toggle (editor, state.enabled), + rate (editor, state.rate), + depth (editor, state.depth), + centre (editor, state.centreFrequency), + feedback (editor, state.feedback), + mix (editor, state.mix) { addAllAndMakeVisible (*this, toggle, rate, depth, centre, feedback, mix); } @@ -1993,13 +2103,14 @@ private: struct ChorusControls : public Component { - explicit ChorusControls (AudioProcessorEditor& editor, const DspModulePluginDemo::ParameterReferences& state) - : toggle (editor, state.chorusEnabled), - rate (editor, state.chorusRate), - depth (editor, state.chorusDepth), - centre (editor, state.chorusCentreDelay), - feedback (editor, state.chorusFeedback), - mix (editor, state.chorusMix) + explicit ChorusControls (AudioProcessorEditor& editor, + const DspModulePluginDemo::ParameterReferences::ChorusGroup& state) + : toggle (editor, state.enabled), + rate (editor, state.rate), + depth (editor, state.depth), + centre (editor, state.centreDelay), + feedback (editor, state.feedback), + mix (editor, state.mix) { addAllAndMakeVisible (*this, toggle, rate, depth, centre, feedback, mix); } @@ -2015,12 +2126,13 @@ private: struct LadderControls : public Component { - explicit LadderControls (AudioProcessorEditor& editor, const DspModulePluginDemo::ParameterReferences& state) - : toggle (editor, state.ladderEnabled), - mode (editor, state.ladderMode), - freq (editor, state.ladderCutoff), - resonance (editor, state.ladderResonance), - drive (editor, state.ladderDrive) + explicit LadderControls (AudioProcessorEditor& editor, + const DspModulePluginDemo::ParameterReferences::LadderGroup& state) + : toggle (editor, state.enabled), + mode (editor, state.mode), + freq (editor, state.cutoff), + resonance (editor, state.resonance), + drive (editor, state.drive) { addAllAndMakeVisible (*this, toggle, mode, freq, resonance, drive); } @@ -2044,18 +2156,18 @@ private: //============================================================================== DspModulePluginDemo& proc; - BasicControls basicControls { *this, proc.getParameterValues() }; - DistortionControls distortionControls { *this, proc.getParameterValues() }; - ConvolutionControls convolutionControls { *this, proc.getParameterValues() }; - MultiBandControls multibandControls { *this, proc.getParameterValues() }; - CompressorControls compressorControls { *this, proc.getParameterValues() }; - NoiseGateControls noiseGateControls { *this, proc.getParameterValues() }; - LimiterControls limiterControls { *this, proc.getParameterValues() }; - DirectDelayControls directDelayControls { *this, proc.getParameterValues() }; - DelayEffectControls delayEffectControls { *this, proc.getParameterValues() }; - PhaserControls phaserControls { *this, proc.getParameterValues() }; - ChorusControls chorusControls { *this, proc.getParameterValues() }; - LadderControls ladderControls { *this, proc.getParameterValues() }; + BasicControls basicControls { *this, proc.getParameterValues().main }; + DistortionControls distortionControls { *this, proc.getParameterValues().distortion }; + ConvolutionControls convolutionControls { *this, proc.getParameterValues().convolution }; + MultiBandControls multibandControls { *this, proc.getParameterValues().multiBand }; + CompressorControls compressorControls { *this, proc.getParameterValues().compressor }; + NoiseGateControls noiseGateControls { *this, proc.getParameterValues().noiseGate }; + LimiterControls limiterControls { *this, proc.getParameterValues().limiter }; + DirectDelayControls directDelayControls { *this, proc.getParameterValues().directDelay }; + DelayEffectControls delayEffectControls { *this, proc.getParameterValues().delayEffect }; + PhaserControls phaserControls { *this, proc.getParameterValues().phaser }; + ChorusControls chorusControls { *this, proc.getParameterValues().chorus }; + LadderControls ladderControls { *this, proc.getParameterValues().ladder }; //============================================================================== JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (DspModulePluginDemoEditor) diff --git a/examples/Plugins/ReaperEmbeddedViewPluginDemo.h b/examples/Plugins/ReaperEmbeddedViewPluginDemo.h index 614f1bd9..2d5b2659 100644 --- a/examples/Plugins/ReaperEmbeddedViewPluginDemo.h +++ b/examples/Plugins/ReaperEmbeddedViewPluginDemo.h @@ -121,13 +121,14 @@ public: return listener.handledEmbeddedUIMessage (msg, parm2, parm3); } - Steinberg::uint32 PLUGIN_API addRef() override { return (Steinberg::uint32) ++refCount; } - Steinberg::uint32 PLUGIN_API release() override { return (Steinberg::uint32) --refCount; } + Steinberg::uint32 PLUGIN_API addRef() override { return ++refCount; } + Steinberg::uint32 PLUGIN_API release() override { return --refCount; } Steinberg::tresult PLUGIN_API queryInterface (const Steinberg::TUID tuid, void** obj) override { if (std::memcmp (tuid, iid, sizeof (Steinberg::TUID)) == 0) { + ++refCount; *obj = this; return Steinberg::kResultOk; } @@ -138,7 +139,7 @@ public: private: EmbeddedViewListener& listener; - std::atomic refCount { 1 }; + std::atomic refCount { 1 }; }; JUCE_END_IGNORE_WARNINGS_GCC_LIKE @@ -237,11 +238,8 @@ public: int32_t queryIEditController (const Steinberg::TUID tuid, void** obj) override { - if (std::memcmp (tuid, embeddedUi.iid, sizeof (Steinberg::TUID)) == 0) - { - *obj = &embeddedUi; + if (embeddedUi.queryInterface (tuid, obj) == Steinberg::kResultOk) return Steinberg::kResultOk; - } *obj = nullptr; return Steinberg::kNoInterface; diff --git a/examples/Utilities/ChildProcessDemo.h b/examples/Utilities/ChildProcessDemo.h index dc00846a..e6eb5446 100644 --- a/examples/Utilities/ChildProcessDemo.h +++ b/examples/Utilities/ChildProcessDemo.h @@ -97,7 +97,7 @@ public: testResultsBox.setMultiLine (true); testResultsBox.setFont ({ Font::getDefaultMonospacedFontName(), 12.0f, Font::plain }); - logMessage (String ("This demo uses the ChildProcessMaster and ChildProcessSlave classes to launch and communicate " + logMessage (String ("This demo uses the ChildProcessCoordinator and ChildProcessWorker classes to launch and communicate " "with a child process, sending messages in the form of serialised ValueTree objects.") + newLine); setSize (500, 500); @@ -105,7 +105,7 @@ public: ~ChildProcessDemo() override { - masterProcess.reset(); + coordinatorProcess.reset(); } void paint (Graphics& g) override @@ -134,11 +134,11 @@ public: // invoked by the 'launch' button. void launchChildProcess() { - if (masterProcess.get() == nullptr) + if (coordinatorProcess.get() == nullptr) { - masterProcess.reset (new DemoMasterProcess (*this)); + coordinatorProcess.reset (new DemoCoordinatorProcess (*this)); - if (masterProcess->launchSlaveProcess (File::getSpecialLocation (File::currentExecutableFile), demoCommandLineUID)) + if (coordinatorProcess->launchWorkerProcess (File::getSpecialLocation (File::currentExecutableFile), demoCommandLineUID)) logMessage ("Child process started"); } } @@ -146,8 +146,8 @@ public: // invoked by the 'ping' button. void pingChildProcess() { - if (masterProcess.get() != nullptr) - masterProcess->sendPingMessageToSlave(); + if (coordinatorProcess.get() != nullptr) + coordinatorProcess->sendPingMessageToWorker(); else logMessage ("Child process is not running!"); } @@ -155,45 +155,45 @@ public: // invoked by the 'kill' button. void killChildProcess() { - if (masterProcess.get() != nullptr) + if (coordinatorProcess.get() != nullptr) { - masterProcess.reset(); + coordinatorProcess.reset(); logMessage ("Child process killed"); } } //============================================================================== - // This class is used by the main process, acting as the master and receiving messages - // from the slave process. - class DemoMasterProcess : public ChildProcessMaster, - private DeletedAtShutdown + // This class is used by the main process, acting as the coordinator and receiving messages + // from the worker process. + class DemoCoordinatorProcess : public ChildProcessCoordinator, + private DeletedAtShutdown { public: - DemoMasterProcess (ChildProcessDemo& d) : demo (d) {} + DemoCoordinatorProcess (ChildProcessDemo& d) : demo (d) {} - // This gets called when a message arrives from the slave process.. - void handleMessageFromSlave (const MemoryBlock& mb) override + // This gets called when a message arrives from the worker process.. + void handleMessageFromWorker (const MemoryBlock& mb) override { auto incomingMessage = memoryBlockToValueTree (mb); demo.logMessage ("Received: " + valueTreeToString (incomingMessage)); } - // This gets called if the slave process dies. + // This gets called if the worker process dies. void handleConnectionLost() override { demo.logMessage ("Connection lost to child process!"); demo.killChildProcess(); } - void sendPingMessageToSlave() + void sendPingMessageToWorker() { ValueTree message ("MESSAGE"); message.setProperty ("count", count++, nullptr); demo.logMessage ("Sending: " + valueTreeToString (message)); - sendMessageToSlave (valueTreeToMemoryBlock (message)); + sendMessageToWorker (valueTreeToMemoryBlock (message)); } ChildProcessDemo& demo; @@ -201,7 +201,7 @@ public: }; //============================================================================== - std::unique_ptr masterProcess; + std::unique_ptr coordinatorProcess; private: TextButton launchButton { "Launch Child Process" }; @@ -234,15 +234,15 @@ private: //============================================================================== /* This class gets instantiated in the child process, and receives messages from - the master process. + the coordinator process. */ -class DemoSlaveProcess : public ChildProcessSlave, - private DeletedAtShutdown +class DemoWorkerProcess : public ChildProcessWorker, + private DeletedAtShutdown { public: - DemoSlaveProcess() {} + DemoWorkerProcess() = default; - void handleMessageFromMaster (const MemoryBlock& mb) override + void handleMessageFromCoordinator (const MemoryBlock& mb) override { ValueTree incomingMessage (memoryBlockToValueTree (mb)); @@ -256,7 +256,7 @@ public: ValueTree reply ("REPLY"); reply.setProperty ("countPlusOne", static_cast (incomingMessage["count"]) + 1, nullptr); - sendMessageToMaster (valueTreeToMemoryBlock (reply)); + sendMessageToCoordinator (valueTreeToMemoryBlock (reply)); } void handleConnectionMade() override @@ -264,10 +264,10 @@ public: // This method is called when the connection is established, and in response, we'll just // send off a message to say hello. ValueTree reply ("HelloWorld"); - sendMessageToMaster (valueTreeToMemoryBlock (reply)); + sendMessageToCoordinator (valueTreeToMemoryBlock (reply)); } - /* If no pings are received from the master process for a number of seconds, then this will get invoked. + /* If no pings are received from the coordinator process for a number of seconds, then this will get invoked. Typically you'll want to use this as a signal to kill the process as quickly as possible, as you don't want to leave it hanging around as a zombie.. */ @@ -284,11 +284,11 @@ public: */ bool invokeChildProcessDemo (const String& commandLine) { - std::unique_ptr slave (new DemoSlaveProcess()); + std::unique_ptr worker (new DemoWorkerProcess()); - if (slave->initialiseFromCommandLine (commandLine, demoCommandLineUID)) + if (worker->initialiseFromCommandLine (commandLine, demoCommandLineUID)) { - slave.release(); // allow the slave object to stay alive - it'll handle its own deletion. + worker.release(); // allow the worker object to stay alive - it'll handle its own deletion. return true; } diff --git a/examples/Utilities/NetworkingDemo.h b/examples/Utilities/NetworkingDemo.h index 3677e461..03d3851a 100644 --- a/examples/Utilities/NetworkingDemo.h +++ b/examples/Utilities/NetworkingDemo.h @@ -103,9 +103,10 @@ public: StringPairArray responseHeaders; int statusCode = 0; - if (auto stream = std::unique_ptr (url.createInputStream (false, nullptr, nullptr, {}, - 10000, // timeout in millisecs - &responseHeaders, &statusCode))) + if (auto stream = url.createInputStream (URL::InputStreamOptions (URL::ParameterHandling::inAddress) + .withConnectionTimeoutMs(10000) + .withResponseHeaders (&responseHeaders) + .withStatusCode (&statusCode))) { return (statusCode != 0 ? "Status code: " + String (statusCode) + newLine : String()) + "Response headers: " + newLine diff --git a/extras/AudioPerformanceTest/AudioPerformanceTest.jucer b/extras/AudioPerformanceTest/AudioPerformanceTest.jucer index 36cee64b..7731ae5a 100644 --- a/extras/AudioPerformanceTest/AudioPerformanceTest.jucer +++ b/extras/AudioPerformanceTest/AudioPerformanceTest.jucer @@ -50,7 +50,7 @@ - + @@ -68,7 +68,7 @@ - + diff --git a/extras/AudioPerformanceTest/Builds/Android/app/CMakeLists.txt b/extras/AudioPerformanceTest/Builds/Android/app/CMakeLists.txt index 92bf8590..4ad4b467 100644 --- a/extras/AudioPerformanceTest/Builds/Android/app/CMakeLists.txt +++ b/extras/AudioPerformanceTest/Builds/Android/app/CMakeLists.txt @@ -12,7 +12,7 @@ add_subdirectory (${OBOE_DIR} ./oboe) add_library("cpufeatures" STATIC "${ANDROID_NDK}/sources/android/cpufeatures/cpu-features.c") set_source_files_properties("${ANDROID_NDK}/sources/android/cpufeatures/cpu-features.c" PROPERTIES COMPILE_FLAGS "-Wno-sign-conversion -Wno-gnu-statement-expression") -add_definitions("-DJUCE_ANDROID=1" "-DJUCE_ANDROID_API_VERSION=23" "-DJUCE_PUSH_NOTIFICATIONS=1" "-DJUCE_PUSH_NOTIFICATIONS_ACTIVITY=\"com/rmsl/juce/JuceActivity\"" "-DJUCE_ANDROID_GL_ES_VERSION_3_0=1" "-DJUCER_ANDROIDSTUDIO_7F0E4A25=1" "-DJUCE_APP_VERSION=1.0.0" "-DJUCE_APP_VERSION_HEX=0x10000") +add_definitions([[-DJUCE_ANDROID=1]] [[-DJUCE_ANDROID_API_VERSION=23]] [[-DJUCE_PUSH_NOTIFICATIONS=1]] [[-DJUCE_PUSH_NOTIFICATIONS_ACTIVITY="com/rmsl/juce/JuceActivity"]] [[-DJUCE_ANDROID_GL_ES_VERSION_3_0=1]] [[-DJUCER_ANDROIDSTUDIO_7F0E4A25=1]] [[-DJUCE_APP_VERSION=1.0.0]] [[-DJUCE_APP_VERSION_HEX=0x10000]]) include_directories( AFTER "../../../JuceLibraryCode" @@ -23,9 +23,9 @@ include_directories( AFTER enable_language(ASM) if(JUCE_BUILD_CONFIGURATION MATCHES "DEBUG") - add_definitions("-DJUCE_DISPLAY_SPLASH_SCREEN=0" "-DJUCE_USE_DARK_SPLASH_SCREEN=1" "-DJUCE_PROJUCER_VERSION=0x60100" "-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_MODULE_AVAILABLE_juce_data_structures=1" "-DJUCE_MODULE_AVAILABLE_juce_events=1" "-DJUCE_MODULE_AVAILABLE_juce_graphics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCER_ANDROIDSTUDIO_7F0E4A25=1" "-DJUCE_APP_VERSION=1.0.0" "-DJUCE_APP_VERSION_HEX=0x10000" "-DDEBUG=1" "-D_DEBUG=1") + add_definitions([[-DJUCE_DISPLAY_SPLASH_SCREEN=0]] [[-DJUCE_USE_DARK_SPLASH_SCREEN=1]] [[-DJUCE_PROJUCER_VERSION=0x60103]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1]] [[-DJUCE_MODULE_AVAILABLE_juce_core=1]] [[-DJUCE_MODULE_AVAILABLE_juce_data_structures=1]] [[-DJUCE_MODULE_AVAILABLE_juce_events=1]] [[-DJUCE_MODULE_AVAILABLE_juce_graphics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1]] [[-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1]] [[-DJUCE_STANDALONE_APPLICATION=1]] [[-DJUCER_ANDROIDSTUDIO_7F0E4A25=1]] [[-DJUCE_APP_VERSION=1.0.0]] [[-DJUCE_APP_VERSION_HEX=0x10000]] [[-DDEBUG=1]] [[-D_DEBUG=1]]) elseif(JUCE_BUILD_CONFIGURATION MATCHES "RELEASE") - add_definitions("-DJUCE_DISPLAY_SPLASH_SCREEN=0" "-DJUCE_USE_DARK_SPLASH_SCREEN=1" "-DJUCE_PROJUCER_VERSION=0x60100" "-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_MODULE_AVAILABLE_juce_data_structures=1" "-DJUCE_MODULE_AVAILABLE_juce_events=1" "-DJUCE_MODULE_AVAILABLE_juce_graphics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCER_ANDROIDSTUDIO_7F0E4A25=1" "-DJUCE_APP_VERSION=1.0.0" "-DJUCE_APP_VERSION_HEX=0x10000" "-DNDEBUG=1") + add_definitions([[-DJUCE_DISPLAY_SPLASH_SCREEN=0]] [[-DJUCE_USE_DARK_SPLASH_SCREEN=1]] [[-DJUCE_PROJUCER_VERSION=0x60103]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1]] [[-DJUCE_MODULE_AVAILABLE_juce_core=1]] [[-DJUCE_MODULE_AVAILABLE_juce_data_structures=1]] [[-DJUCE_MODULE_AVAILABLE_juce_events=1]] [[-DJUCE_MODULE_AVAILABLE_juce_graphics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1]] [[-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1]] [[-DJUCE_STANDALONE_APPLICATION=1]] [[-DJUCER_ANDROIDSTUDIO_7F0E4A25=1]] [[-DJUCE_APP_VERSION=1.0.0]] [[-DJUCE_APP_VERSION_HEX=0x10000]] [[-DNDEBUG=1]]) else() message( FATAL_ERROR "No matching build-configuration found." ) endif() @@ -586,6 +586,7 @@ add_library( ${BINARY_NAME} "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameterGroup.h" "../../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp" "../../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.h" + "../../../../../modules/juce_audio_processors/processors/juce_HostedAudioProcessorParameter.h" "../../../../../modules/juce_audio_processors/processors/juce_PluginDescription.cpp" "../../../../../modules/juce_audio_processors/processors/juce_PluginDescription.h" "../../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp" @@ -674,6 +675,7 @@ add_library( ${BINARY_NAME} "../../../../../modules/juce_core/containers/juce_ReferenceCountedArray.cpp" "../../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h" "../../../../../modules/juce_core/containers/juce_ScopedValueSetter.h" + "../../../../../modules/juce_core/containers/juce_SingleThreadedAbstractFifo.h" "../../../../../modules/juce_core/containers/juce_SortedSet.h" "../../../../../modules/juce_core/containers/juce_SparseSet.cpp" "../../../../../modules/juce_core/containers/juce_SparseSet.h" @@ -729,6 +731,7 @@ add_library( ${BINARY_NAME} "../../../../../modules/juce_core/memory/juce_MemoryBlock.h" "../../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h" "../../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h" + "../../../../../modules/juce_core/memory/juce_Reservoir.h" "../../../../../modules/juce_core/memory/juce_ScopedPointer.h" "../../../../../modules/juce_core/memory/juce_SharedResourcePointer.h" "../../../../../modules/juce_core/memory/juce_Singleton.h" @@ -1020,6 +1023,7 @@ add_library( ${BINARY_NAME} "../../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h" "../../../../../modules/juce_graphics/geometry/juce_Point.h" "../../../../../modules/juce_graphics/geometry/juce_Rectangle.h" + "../../../../../modules/juce_graphics/geometry/juce_Rectangle_test.cpp" "../../../../../modules/juce_graphics/geometry/juce_RectangleList.h" "../../../../../modules/juce_graphics/image_formats/jpglib/cderror.h" "../../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt" @@ -1114,6 +1118,7 @@ add_library( ${BINARY_NAME} "../../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h" "../../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp" "../../../../../modules/juce_graphics/images/juce_ImageFileFormat.h" + "../../../../../modules/juce_graphics/images/juce_ScaledImage.h" "../../../../../modules/juce_graphics/native/juce_android_Fonts.cpp" "../../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp" "../../../../../modules/juce_graphics/native/juce_android_IconHelpers.cpp" @@ -1376,6 +1381,7 @@ add_library( ${BINARY_NAME} "../../../../../modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm" "../../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm" "../../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h" + "../../../../../modules/juce_gui_basics/native/juce_ScopedDPIAwarenessDisabler.h" "../../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp" "../../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp" "../../../../../modules/juce_gui_basics/native/juce_win32_ScopedThreadDPIAwarenessSetter.h" @@ -1478,7 +1484,6 @@ add_library( ${BINARY_NAME} "../../../../../modules/juce_gui_extra/embedding/juce_AndroidViewComponent.h" "../../../../../modules/juce_gui_extra/embedding/juce_HWNDComponent.h" "../../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h" - "../../../../../modules/juce_gui_extra/embedding/juce_ScopedDPIAwarenessDisabler.h" "../../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h" "../../../../../modules/juce_gui_extra/embedding/juce_XEmbedComponent.h" "../../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp" @@ -2089,6 +2094,7 @@ set_source_files_properties("../../../../../modules/juce_audio_processors/proces set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameterGroup.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_HostedAudioProcessorParameter.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_PluginDescription.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_PluginDescription.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) @@ -2177,6 +2183,7 @@ set_source_files_properties("../../../../../modules/juce_core/containers/juce_Pr set_source_files_properties("../../../../../modules/juce_core/containers/juce_ReferenceCountedArray.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_core/containers/juce_ScopedValueSetter.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_SingleThreadedAbstractFifo.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_core/containers/juce_SortedSet.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_core/containers/juce_SparseSet.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_core/containers/juce_SparseSet.h" PROPERTIES HEADER_FILE_ONLY TRUE) @@ -2232,6 +2239,7 @@ set_source_files_properties("../../../../../modules/juce_core/memory/juce_Memory set_source_files_properties("../../../../../modules/juce_core/memory/juce_MemoryBlock.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/memory/juce_Reservoir.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_core/memory/juce_ScopedPointer.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_core/memory/juce_SharedResourcePointer.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_core/memory/juce_Singleton.h" PROPERTIES HEADER_FILE_ONLY TRUE) @@ -2523,6 +2531,7 @@ set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_ set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_Point.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_Rectangle.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_Rectangle_test.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_RectangleList.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/cderror.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt" PROPERTIES HEADER_FILE_ONLY TRUE) @@ -2617,6 +2626,7 @@ set_source_files_properties("../../../../../modules/juce_graphics/images/juce_Im set_source_files_properties("../../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_graphics/images/juce_ImageFileFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/images/juce_ScaledImage.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_graphics/native/juce_android_Fonts.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_graphics/native/juce_android_IconHelpers.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) @@ -2879,6 +2889,7 @@ set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_ set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_ScopedDPIAwarenessDisabler.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_win32_ScopedThreadDPIAwarenessSetter.h" PROPERTIES HEADER_FILE_ONLY TRUE) @@ -2981,7 +2992,6 @@ set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juc set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_AndroidViewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_HWNDComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_ScopedDPIAwarenessDisabler.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_XEmbedComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) @@ -3029,7 +3039,7 @@ set_source_files_properties("../../../../../modules/juce_gui_extra/juce_gui_extr set_source_files_properties("../../../../../modules/juce_gui_extra/juce_gui_extra.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../JuceLibraryCode/JuceHeader.h" PROPERTIES HEADER_FILE_ONLY TRUE) -target_compile_options( ${BINARY_NAME} PRIVATE "-fsigned-char" "-mfpu=neon" "-mfloat-abi=hard" "-ffast-math" "-funroll-loops" "--param" "max-unroll-times=8" "-mhard-float" "-D_NDK_MATH_NO_SOFTFP=1" "-DJUCE_DISABLE_ASSERTIONS=1" ) +target_compile_options( ${BINARY_NAME} PRIVATE "-fsigned-char" [[-mfpu=neon]] [[-mfloat-abi=hard]] [[-ffast-math]] [[-funroll-loops]] [[--param]] [[max-unroll-times=8]] [[-mhard-float]] [[-D_NDK_MATH_NO_SOFTFP=1]] [[-DJUCE_DISABLE_ASSERTIONS=1]] ) if( JUCE_BUILD_CONFIGURATION MATCHES "DEBUG" ) target_compile_options( ${BINARY_NAME} PRIVATE) diff --git a/extras/AudioPerformanceTest/Builds/Android/app/src/main/AndroidManifest.xml b/extras/AudioPerformanceTest/Builds/Android/app/src/main/AndroidManifest.xml index ef742b75..fe61ddc8 100644 --- a/extras/AudioPerformanceTest/Builds/Android/app/src/main/AndroidManifest.xml +++ b/extras/AudioPerformanceTest/Builds/Android/app/src/main/AndroidManifest.xml @@ -6,6 +6,7 @@ android:xlargeScreens="true"/> + @@ -13,7 +14,8 @@ + android:screenOrientation="unspecified" android:launchMode="singleTask" android:hardwareAccelerated="true" + android:exported="true"> diff --git a/extras/AudioPerformanceTest/Builds/LinuxMakefile/Makefile b/extras/AudioPerformanceTest/Builds/LinuxMakefile/Makefile index 7d249bb5..ea4b69fa 100644 --- a/extras/AudioPerformanceTest/Builds/LinuxMakefile/Makefile +++ b/extras/AudioPerformanceTest/Builds/LinuxMakefile/Makefile @@ -35,7 +35,7 @@ ifeq ($(CONFIG),Debug) TARGET_ARCH := endif - JUCE_CPPFLAGS := $(DEPFLAGS) "-DLINUX=1" "-DDEBUG=1" "-D_DEBUG=1" "-DJUCE_DISPLAY_SPLASH_SCREEN=0" "-DJUCE_USE_DARK_SPLASH_SCREEN=1" "-DJUCE_PROJUCER_VERSION=0x60100" "-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_MODULE_AVAILABLE_juce_data_structures=1" "-DJUCE_MODULE_AVAILABLE_juce_events=1" "-DJUCE_MODULE_AVAILABLE_juce_graphics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCER_LINUX_MAKE_6D53C8B4=1" "-DJUCE_APP_VERSION=1.0.0" "-DJUCE_APP_VERSION_HEX=0x10000" $(shell pkg-config --cflags alsa freetype2 libcurl webkit2gtk-4.0 gtk+-x11-3.0) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS) + JUCE_CPPFLAGS := $(DEPFLAGS) "-DLINUX=1" "-DDEBUG=1" "-D_DEBUG=1" "-DJUCE_DISPLAY_SPLASH_SCREEN=0" "-DJUCE_USE_DARK_SPLASH_SCREEN=1" "-DJUCE_PROJUCER_VERSION=0x60103" "-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_MODULE_AVAILABLE_juce_data_structures=1" "-DJUCE_MODULE_AVAILABLE_juce_events=1" "-DJUCE_MODULE_AVAILABLE_juce_graphics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCER_LINUX_MAKE_6D53C8B4=1" "-DJUCE_APP_VERSION=1.0.0" "-DJUCE_APP_VERSION_HEX=0x10000" $(shell pkg-config --cflags alsa freetype2 libcurl webkit2gtk-4.0 gtk+-x11-3.0) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS) JUCE_CPPFLAGS_APP := "-DJucePlugin_Build_VST=0" "-DJucePlugin_Build_VST3=0" "-DJucePlugin_Build_AU=0" "-DJucePlugin_Build_AUv3=0" "-DJucePlugin_Build_RTAS=0" "-DJucePlugin_Build_AAX=0" "-DJucePlugin_Build_Standalone=0" "-DJucePlugin_Build_Unity=0" JUCE_TARGET_APP := AudioPerformanceTest @@ -56,7 +56,7 @@ ifeq ($(CONFIG),Release) TARGET_ARCH := endif - JUCE_CPPFLAGS := $(DEPFLAGS) "-DLINUX=1" "-DNDEBUG=1" "-DJUCE_DISPLAY_SPLASH_SCREEN=0" "-DJUCE_USE_DARK_SPLASH_SCREEN=1" "-DJUCE_PROJUCER_VERSION=0x60100" "-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_MODULE_AVAILABLE_juce_data_structures=1" "-DJUCE_MODULE_AVAILABLE_juce_events=1" "-DJUCE_MODULE_AVAILABLE_juce_graphics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCER_LINUX_MAKE_6D53C8B4=1" "-DJUCE_APP_VERSION=1.0.0" "-DJUCE_APP_VERSION_HEX=0x10000" $(shell pkg-config --cflags alsa freetype2 libcurl webkit2gtk-4.0 gtk+-x11-3.0) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS) + JUCE_CPPFLAGS := $(DEPFLAGS) "-DLINUX=1" "-DNDEBUG=1" "-DJUCE_DISPLAY_SPLASH_SCREEN=0" "-DJUCE_USE_DARK_SPLASH_SCREEN=1" "-DJUCE_PROJUCER_VERSION=0x60103" "-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_MODULE_AVAILABLE_juce_data_structures=1" "-DJUCE_MODULE_AVAILABLE_juce_events=1" "-DJUCE_MODULE_AVAILABLE_juce_graphics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCER_LINUX_MAKE_6D53C8B4=1" "-DJUCE_APP_VERSION=1.0.0" "-DJUCE_APP_VERSION_HEX=0x10000" $(shell pkg-config --cflags alsa freetype2 libcurl webkit2gtk-4.0 gtk+-x11-3.0) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS) JUCE_CPPFLAGS_APP := "-DJucePlugin_Build_VST=0" "-DJucePlugin_Build_VST3=0" "-DJucePlugin_Build_AU=0" "-DJucePlugin_Build_AUv3=0" "-DJucePlugin_Build_RTAS=0" "-DJucePlugin_Build_AAX=0" "-DJucePlugin_Build_Standalone=0" "-DJucePlugin_Build_Unity=0" JUCE_TARGET_APP := AudioPerformanceTest diff --git a/extras/AudioPerformanceTest/Builds/MacOSX/AudioPerformanceTest.xcodeproj/project.pbxproj b/extras/AudioPerformanceTest/Builds/MacOSX/AudioPerformanceTest.xcodeproj/project.pbxproj index 656a754a..1cd5e00b 100644 --- a/extras/AudioPerformanceTest/Builds/MacOSX/AudioPerformanceTest.xcodeproj/project.pbxproj +++ b/extras/AudioPerformanceTest/Builds/MacOSX/AudioPerformanceTest.xcodeproj/project.pbxproj @@ -230,7 +230,7 @@ 9CE2A44801B5B4BE7A9667DA = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1310; ORGANIZATIONNAME = "Raw Material Software Limited"; TargetAttributes = { E9FD2656EC625C9C8DE30219 = { @@ -313,10 +313,12 @@ CLANG_CXX_LANGUAGE_STANDARD = "c++14"; CLANG_CXX_LIBRARY = "libc++"; CLANG_LINK_OBJC_RUNTIME = NO; - CODE_SIGN_IDENTITY = ""; + CODE_SIGN_IDENTITY = "-"; + CODE_SIGN_STYLE = Manual; COMBINE_HIDPI_IMAGES = YES; CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; COPY_PHASE_STRIP = NO; + EXCLUDED_ARCHS = ""; GCC_DYNAMIC_NO_PIC = NO; GCC_OPTIMIZATION_LEVEL = 0; GCC_PREPROCESSOR_DEFINITIONS = ( @@ -324,7 +326,7 @@ "DEBUG=1", "JUCE_DISPLAY_SPLASH_SCREEN=0", "JUCE_USE_DARK_SPLASH_SCREEN=1", - "JUCE_PROJUCER_VERSION=0x60100", + "JUCE_PROJUCER_VERSION=0x60103", "JUCE_MODULE_AVAILABLE_juce_audio_basics=1", "JUCE_MODULE_AVAILABLE_juce_audio_devices=1", "JUCE_MODULE_AVAILABLE_juce_audio_formats=1", @@ -363,6 +365,7 @@ MTL_HEADER_SEARCH_PATHS = "$(SRCROOT)/../../JuceLibraryCode $(SRCROOT)/../../../../modules"; PRODUCT_BUNDLE_IDENTIFIER = com.juce.AudioPerformanceTest; PRODUCT_NAME = "AudioPerformanceTest"; + PROVISIONING_PROFILE_SPECIFIER = ""; USE_HEADERMAP = NO; VALID_ARCHS = "i386 x86_64 arm64 arm64e"; }; @@ -374,10 +377,12 @@ CLANG_CXX_LANGUAGE_STANDARD = "c++14"; CLANG_CXX_LIBRARY = "libc++"; CLANG_LINK_OBJC_RUNTIME = NO; - CODE_SIGN_IDENTITY = ""; + CODE_SIGN_IDENTITY = "-"; + CODE_SIGN_STYLE = Manual; COMBINE_HIDPI_IMAGES = YES; CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; DEAD_CODE_STRIPPING = YES; + EXCLUDED_ARCHS = ""; GCC_GENERATE_DEBUGGING_SYMBOLS = NO; GCC_OPTIMIZATION_LEVEL = 3; GCC_PREPROCESSOR_DEFINITIONS = ( @@ -385,7 +390,7 @@ "NDEBUG=1", "JUCE_DISPLAY_SPLASH_SCREEN=0", "JUCE_USE_DARK_SPLASH_SCREEN=1", - "JUCE_PROJUCER_VERSION=0x60100", + "JUCE_PROJUCER_VERSION=0x60103", "JUCE_MODULE_AVAILABLE_juce_audio_basics=1", "JUCE_MODULE_AVAILABLE_juce_audio_devices=1", "JUCE_MODULE_AVAILABLE_juce_audio_formats=1", @@ -425,6 +430,7 @@ MTL_HEADER_SEARCH_PATHS = "$(SRCROOT)/../../JuceLibraryCode $(SRCROOT)/../../../../modules"; PRODUCT_BUNDLE_IDENTIFIER = com.juce.AudioPerformanceTest; PRODUCT_NAME = "AudioPerformanceTest"; + PROVISIONING_PROFILE_SPECIFIER = ""; USE_HEADERMAP = NO; VALID_ARCHS = "i386 x86_64 arm64 arm64e"; }; @@ -452,7 +458,7 @@ CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = ""; + CODE_SIGN_IDENTITY = "-"; DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = NO; @@ -501,7 +507,7 @@ CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = ""; + CODE_SIGN_IDENTITY = "-"; DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = NO; diff --git a/extras/AudioPerformanceTest/Builds/VisualStudio2019/AudioPerformanceTest.sln b/extras/AudioPerformanceTest/Builds/VisualStudio2019/AudioPerformanceTest.sln deleted file mode 100644 index 9db45183..00000000 --- a/extras/AudioPerformanceTest/Builds/VisualStudio2019/AudioPerformanceTest.sln +++ /dev/null @@ -1,20 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2019 - -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AudioPerformanceTest - App", "AudioPerformanceTest_App.vcxproj", "{78607AE9-F43B-3DDB-0FE1-D745771AF527}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|x64 = Debug|x64 - Release|x64 = Release|x64 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {78607AE9-F43B-3DDB-0FE1-D745771AF527}.Debug|x64.ActiveCfg = Debug|x64 - {78607AE9-F43B-3DDB-0FE1-D745771AF527}.Debug|x64.Build.0 = Debug|x64 - {78607AE9-F43B-3DDB-0FE1-D745771AF527}.Release|x64.ActiveCfg = Release|x64 - {78607AE9-F43B-3DDB-0FE1-D745771AF527}.Release|x64.Build.0 = Release|x64 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/extras/AudioPerformanceTest/Builds/VisualStudio2019/AudioPerformanceTest_App.vcxproj b/extras/AudioPerformanceTest/Builds/VisualStudio2019/AudioPerformanceTest_App.vcxproj deleted file mode 100644 index 2b4e4cd8..00000000 --- a/extras/AudioPerformanceTest/Builds/VisualStudio2019/AudioPerformanceTest_App.vcxproj +++ /dev/null @@ -1,2901 +0,0 @@ - - - - - - Debug - x64 - - - Release - x64 - - - - {78607AE9-F43B-3DDB-0FE1-D745771AF527} - - - - Application - false - false - v142 - 10.0 - - - Application - false - true - v142 - 10.0 - - - - - - - - <_ProjectFileVersion>10.0.30319.1 - .exe - $(SolutionDir)$(Platform)\$(Configuration)\App\ - $(Platform)\$(Configuration)\App\ - AudioPerformanceTest - true - $(SolutionDir)$(Platform)\$(Configuration)\App\ - $(Platform)\$(Configuration)\App\ - AudioPerformanceTest - true - - - - _DEBUG;%(PreprocessorDefinitions) - true - true - Win32 - - - - Disabled - ProgramDatabase - ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60100;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2019_78A5026=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) - MultiThreadedDebugDLL - true - NotUsing - $(IntDir)\ - $(IntDir)\ - $(IntDir)\AudioPerformanceTest.pdb - Level4 - true - true - stdcpp14 - - - _DEBUG;%(PreprocessorDefinitions) - - - $(OutDir)\AudioPerformanceTest.exe - true - libcmt.lib; msvcrt.lib;;%(IgnoreSpecificDefaultLibraries) - true - $(IntDir)\AudioPerformanceTest.pdb - Windows - true - - - true - $(IntDir)\AudioPerformanceTest.bsc - - - - - - NDEBUG;%(PreprocessorDefinitions) - true - true - Win32 - - - - Full - ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60100;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2019_78A5026=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) - MultiThreadedDLL - true - NotUsing - $(IntDir)\ - $(IntDir)\ - $(IntDir)\AudioPerformanceTest.pdb - Level4 - true - true - stdcpp14 - - - NDEBUG;%(PreprocessorDefinitions) - - - $(OutDir)\AudioPerformanceTest.exe - true - %(IgnoreSpecificDefaultLibraries) - false - $(IntDir)\AudioPerformanceTest.pdb - Windows - true - true - true - UseLinkTimeCodeGeneration - - - true - $(IntDir)\AudioPerformanceTest.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 - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - - - - - - - - - - /bigobj %(AdditionalOptions) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/extras/AudioPerformanceTest/Builds/VisualStudio2019/AudioPerformanceTest_App.vcxproj.filters b/extras/AudioPerformanceTest/Builds/VisualStudio2019/AudioPerformanceTest_App.vcxproj.filters deleted file mode 100644 index dd279e99..00000000 --- a/extras/AudioPerformanceTest/Builds/VisualStudio2019/AudioPerformanceTest_App.vcxproj.filters +++ /dev/null @@ -1,4958 +0,0 @@ - - - - - - {D163E404-6FE0-D71C-79C0-B2C2204C6939} - - - {EA26FD9B-DE67-F842-284B-F11CFEA08C63} - - - {EB58F05A-A968-CEBE-40C4-107CDD8F240F} - - - {5FCF559E-451A-CB1E-B177-A5DC5A0005BB} - - - {05CE33FC-868F-AA1A-12B8-79C98E753648} - - - {D78296AF-218E-B17E-7F8B-9D148601188D} - - - {B96EBA26-E668-FFAF-FC53-1EC1337DAF5A} - - - {D8532E5E-469E-5042-EFC8-238241704735} - - - {777B5D1D-9AF0-B22B-8894-034603EE97F5} - - - {8292766D-2459-2E7E-7615-17216318BA93} - - - {9BD56105-DAB4-EBD5-00DD-BD540E98FE88} - - - {10472B2C-9888-D269-F351-0D0AC3BCD16C} - - - {BF23FC10-1D57-2A9B-706F-6DD8A7B593D4} - - - {386862D5-4DCC-A4B3-5642-60A201E303EF} - - - {092EFC17-7C95-7E04-0ACA-0D61A462EE81} - - - {285118C6-8FDA-7DCE-BEF4-FFB2120876C5} - - - {69ED6B61-9B8D-D47E-E4A6-2E9F9A94A75A} - - - {7CDB7CD1-BB96-F593-3C78-1E06182B5839} - - - {B0A708DE-B4CF-196B-14FB-DC8221509B8E} - - - {34F46ADE-EE31-227A-A69E-7732E70145F1} - - - {BB9B3C77-17FB-E994-8B75-88F1727E4655} - - - {C0971D77-2F14-190A-E2AE-89D6285F4D5A} - - - {AABEA333-6524-8891-51C7-6DAEB5700628} - - - {F2D29337-983E-BAD7-7B5C-E0AB3D53D404} - - - {C674B0FB-1FC0-2986-94B1-083845018994} - - - {0AFC1CE8-F6E6-9817-8C21-8432B2A375DA} - - - {0D1AF264-3AC1-78A2-B2A4-AE6171F9194A} - - - {9A5DB854-CFFB-5F88-C566-0E10F994DDB3} - - - {38A5DDC7-416E-548F-39DA-887875FE6B20} - - - {980FE2DB-05D3-5FDA-79DA-067A56F5D19D} - - - {F336DC25-747A-0663-93D6-E3EB9AA0CBF8} - - - {7D78546A-80FC-4DCA-00B9-F191F0AB2179} - - - {9EB3EC7F-2AB7-DDAA-3C05-DF382B728D3F} - - - {6B9FBFDC-1D10-6246-356D-00FF4535CECB} - - - {D6FCFC8E-7136-9109-78C0-91A3EB4C443F} - - - {EBF18AC1-F0ED-937A-2824-4307CE2ADAF7} - - - {5A0F7922-2EFB-6465-57E4-A445B804EFB5} - - - {4EC45416-0E7C-7567-6F75-D0C8CEE7DC4F} - - - {C2985031-0496-55B5-41A8-BAB99E53D89D} - - - {FB4AB426-7009-0036-BB75-E34256AA7C89} - - - {E684D858-09E8-0251-8E86-5657129641E1} - - - {1EF1BF17-F941-243A-04D1-EE617D140CBA} - - - {344DB016-679C-FBD0-3EC6-4570C47522DE} - - - {3D9758A0-9359-1710-87C1-05D475C08B17} - - - {E824435F-FC7B-10BE-5D1A-5DACC51A8836} - - - {86737735-F6BA-F64A-5EC7-5C9F36755F79} - - - {4DC60E78-BBC0-B540-63A2-37E14ABBEF09} - - - {80C72173-A1E1-C3C5-9288-B889CE2EAFEA} - - - {4138B955-AA0B-FA86-DBF9-404CAFFFA866} - - - {2B4166B8-F470-F07C-4F51-D2DAAAECBB18} - - - {9C295115-C0CD-3129-1C4D-FB53299B23FB} - - - {65526A8B-3447-9DF0-FD5D-00D111126027} - - - {A54A1F5C-F32F-F97B-9E8A-69922B770A54} - - - {B90A44F3-B62D-B5C0-81A2-683D2650AEE6} - - - {DAF30656-5915-0E45-C4E4-54439617D525} - - - {9266EA90-6A0A-5DDB-9CB7-966BEF03BA5C} - - - {9C713CBA-A9E2-5F4E-F83C-2CAB8533913C} - - - {63571A07-9AA3-5BB0-1103-0B42A2E6BC9E} - - - {314F43F2-BC8F-B464-EAE7-86B9675454E9} - - - {874C5D0C-6D29-68EE-38BB-26200B56BC89} - - - {86BAA7A7-DC50-35B6-910B-932AEAF257F2} - - - {6B7BE34D-1BC1-C7B9-111F-C55CA8250943} - - - {9B6B6D54-D378-80C2-8CC9-D1D8FB44C2A8} - - - {D0584AC3-6837-14F6-90BF-5EA604D1F074} - - - {794B64EC-B809-32E3-AD00-4EE6A74802CA} - - - {67BE498C-9E1F-C73A-B99A-387C034CE680} - - - {1A9C8538-959B-25E3-473D-B462C9A9D458} - - - {AA9F594C-DFAF-C0A7-0CCD-9F90E54D3A01} - - - {230BF784-34F4-3BE8-46D4-54E6B67E5E9E} - - - {39F680F3-5161-4D1C-EAD0-3911ED808874} - - - {3197198B-A978-E330-C7FB-07E5CE8236C7} - - - {42F7BE9D-3C8A-AE26-289B-8F355C068036} - - - {7868764A-6572-381A-906C-9C26792A4C29} - - - {03678508-A517-48BB-FB4A-485628C34E08} - - - {07D27C1D-3227-F527-356C-17DA11551A99} - - - {6146D580-99D2-A6C8-5908-30DC355BB6BA} - - - {C67003E8-BEA8-2188-F4B3-A122F4B4FA3F} - - - {09B91E68-1FF4-C7ED-9055-D4D96E66A0BA} - - - {30B3DA63-C1E4-F2EA-CEF0-8035D8CBFF64} - - - {4F24EEED-AA33-AC6C-9A39-72E71CF83EF0} - - - {0F70B1A9-BB50-23F5-2AE7-F95E51A00389} - - - {D4C8DC40-2CD2-04B6-05D0-1E7A88841390} - - - {58BED6AF-DB89-7560-B2B8-D937C1C0825A} - - - {B958F86B-6926-8D9B-2FC6-8BFD4BDC72C9} - - - {DB624F7D-D513-25AC-C13C-B9062EB3BEEE} - - - {89AA9B6C-4029-A34F-C1B0-3B5D8691F4D4} - - - {1A7F541C-B032-9C66-C320-A13B2A8A9866} - - - {4BAB7C18-51AB-0D9D-83CD-9C37F28D2E38} - - - {5523922E-8B0C-A52B-477C-752C09F8197F} - - - {857B6D8B-0ECB-FE9E-D1EB-D5E45E72F057} - - - {BAA582FA-40B7-320E-EE7A-4C3892C7BE72} - - - {632B4C79-AF7D-BFB5-D006-5AE67F607130} - - - {B10E20C2-4583-2B79-60B7-FE4D4B044313} - - - {CFB54F15-8A8A-0505-9B7F-ECA41CEE38E8} - - - {911F0159-A7A8-4A43-3FD4-154F62F4A44B} - - - {9D5816C2-E2B2-2E3F-B095-AC8BD1100D29} - - - {3FDCD000-763F-8477-9AF8-70ABA2E91E5E} - - - {0947506F-66FA-EF8D-8A4E-4D48BCDBB226} - - - {E4B6AED3-F54C-3FF2-069F-640BACAE0E08} - - - {D5EADBCC-6A1C-C940-0206-26E49110AF08} - - - {D27DC92D-5BEB-9294-DCD1-81D54E245AD5} - - - {BCD73D20-42B1-6CDB-DE66-B06236A60F47} - - - {20DC13F6-2369-8841-9F0B-D13FA14EEE74} - - - {A302A8DB-120F-9EBB-A3D5-2C29963AA56B} - - - {45489C2A-6E0E-CCDC-6638-0DACEEB63CCA} - - - {F1B90726-DB55-0293-BFAF-C65C7DF5489C} - - - {2C55FD42-0ACD-B0B8-7EAE-EB17F09BAEEC} - - - {B68CD2B2-701F-9AB7-4638-2485D6E06BCF} - - - {B0B7C78E-729E-0FFA-D611-82AE8BC7FE2C} - - - {0A4F7E12-220C-14EF-0026-9C0629FA9C17} - - - {37F49E10-4E62-6D5C-FF70-722D0CA3D97E} - - - {160D9882-0F68-278D-C5F9-8960FD7421D2} - - - {4CED05DA-E0A2-E548-F753-1F2EF299A8E3} - - - {46AE69B8-AD58-4381-6CDE-25C8D75B01D2} - - - {E56CB4FC-32E8-8740-A3BB-B323CD937A99} - - - {4ECDCA0C-BB38-0729-A6B6-2FB0B4D0863B} - - - {294E4CD5-B06F-97D1-04A3-51871CEA507C} - - - {77228F15-BD91-06FF-2C7E-0377D25C2C94} - - - {5CB531E6-BF9A-2C50-056C-EE5A525D28D3} - - - {E4EA47E5-B41C-2A19-1783-7E9104096ECD} - - - {B331BC33-9770-3DB5-73F2-BC2469ECCF7F} - - - {46A17AC9-0BFF-B5CE-26D6-B9D1992C88AC} - - - {D90A8DF7-FBAB-D363-13C0-6707BB22B72B} - - - {8AE77C40-6839-EC37-4515-BD3CC269BCE4} - - - {0EAD99DB-011F-09E5-45A2-365F646EB004} - - - {F57590C6-3B90-1BE1-1006-488BA33E8BD9} - - - {7C319D73-0D93-5842-0874-398D2D3038D5} - - - {2CB4DB0C-DD3B-6195-D822-76EC7A5C88D2} - - - {FE3CB19C-EF43-5CF5-DAF0-09D4E43D0AB9} - - - {C0E5DD5D-F8F1-DD25-67D7-291946AB3828} - - - {FE7E6CD5-C7A0-DB20-4E7E-D6E7F08C4578} - - - {895C2D33-E08D-B1BA-BB36-FC4CA65090C8} - - - {D64A57DB-A956-5519-1929-1D929B56E1B0} - - - {5A99CC24-AC45-7ED6-C11A-B8B86E76D884} - - - {7A131EEC-25A7-22F6-2839-A2194DDF3007} - - - {EA9DB76C-CEF7-6BFC-2070-28B7DF8E8063} - - - {3C206A40-6F1B-E683-ACF1-DEC3703D0140} - - - {DF95D4BF-E18C-125A-5EBB-8993A06E232C} - - - {118946F2-AC24-0F09-62D5-753DF87A60CD} - - - {07329F9B-7D3D-CEB3-C771-714842076140} - - - {08BBBECB-B0D1-7611-37EC-F57E1D0CE2A2} - - - {268E8F2A-980C-BF2F-B161-AACABC9D91F3} - - - {A4D76113-9EDC-DA60-D89B-5BACF7F1C426} - - - {FE955B6B-68AC-AA07-70D8-2413F6DB65C8} - - - {7ED5A90E-41AF-A1EF-659B-37CEEAB9BA61} - - - - - AudioPerformanceTest\Source - - - JUCE Modules\juce_audio_basics\buffers - - - JUCE Modules\juce_audio_basics\buffers - - - JUCE Modules\juce_audio_basics\buffers - - - JUCE Modules\juce_audio_basics\buffers - - - JUCE Modules\juce_audio_basics\midi\ump - - - JUCE Modules\juce_audio_basics\midi\ump - - - JUCE Modules\juce_audio_basics\midi\ump - - - JUCE Modules\juce_audio_basics\midi\ump - - - JUCE Modules\juce_audio_basics\midi\ump - - - 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\midi - - - JUCE Modules\juce_audio_basics\mpe - - - JUCE Modules\juce_audio_basics\mpe - - - JUCE Modules\juce_audio_basics\mpe - - - JUCE Modules\juce_audio_basics\mpe - - - JUCE Modules\juce_audio_basics\mpe - - - JUCE Modules\juce_audio_basics\mpe - - - JUCE Modules\juce_audio_basics\mpe - - - JUCE Modules\juce_audio_basics\mpe - - - JUCE Modules\juce_audio_basics\mpe - - - 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\utilities - - - JUCE Modules\juce_audio_basics\utilities - - - JUCE Modules\juce_audio_basics\utilities - - - JUCE Modules\juce_audio_basics\utilities - - - JUCE Modules\juce_audio_basics\utilities - - - JUCE Modules\juce_audio_basics\utilities - - - JUCE Modules\juce_audio_basics - - - 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\midi_io\ump - - - JUCE Modules\juce_audio_devices\midi_io - - - JUCE Modules\juce_audio_devices\midi_io - - - JUCE Modules\juce_audio_devices\native\oboe\src\aaudio - - - JUCE Modules\juce_audio_devices\native\oboe\src\aaudio - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\fifo - - - JUCE Modules\juce_audio_devices\native\oboe\src\fifo - - - JUCE Modules\juce_audio_devices\native\oboe\src\fifo - - - JUCE Modules\juce_audio_devices\native\oboe\src\fifo - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\opensles - - - JUCE Modules\juce_audio_devices\native\oboe\src\opensles - - - JUCE Modules\juce_audio_devices\native\oboe\src\opensles - - - JUCE Modules\juce_audio_devices\native\oboe\src\opensles - - - JUCE Modules\juce_audio_devices\native\oboe\src\opensles - - - JUCE Modules\juce_audio_devices\native\oboe\src\opensles - - - JUCE Modules\juce_audio_devices\native\oboe\src\opensles - - - 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\sources - - - JUCE Modules\juce_audio_devices\sources - - - JUCE Modules\juce_audio_devices - - - JUCE Modules\juce_audio_devices - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis - - - 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\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\sampler - - - JUCE Modules\juce_audio_formats - - - JUCE Modules\juce_audio_formats - - - JUCE Modules\juce_audio_processors\format - - - JUCE Modules\juce_audio_processors\format - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\thread\source - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\common - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\common - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst - - - 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\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\scanning - - - JUCE Modules\juce_audio_processors\scanning - - - JUCE Modules\juce_audio_processors\scanning - - - JUCE Modules\juce_audio_processors\utilities - - - JUCE Modules\juce_audio_processors\utilities - - - JUCE Modules\juce_audio_processors\utilities - - - JUCE Modules\juce_audio_processors\utilities - - - JUCE Modules\juce_audio_processors\utilities - - - JUCE Modules\juce_audio_processors\utilities - - - JUCE Modules\juce_audio_processors\utilities - - - JUCE Modules\juce_audio_processors\utilities - - - JUCE Modules\juce_audio_processors\utilities - - - JUCE Modules\juce_audio_processors - - - JUCE Modules\juce_audio_processors - - - JUCE Modules\juce_audio_utils\audio_cd - - - 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\native - - - JUCE Modules\juce_audio_utils\native - - - JUCE Modules\juce_audio_utils\native - - - JUCE Modules\juce_audio_utils\native - - - JUCE Modules\juce_audio_utils\native - - - JUCE Modules\juce_audio_utils\native - - - JUCE Modules\juce_audio_utils\native - - - JUCE Modules\juce_audio_utils\native - - - JUCE Modules\juce_audio_utils\native - - - JUCE Modules\juce_audio_utils\native - - - JUCE Modules\juce_audio_utils\players - - - JUCE Modules\juce_audio_utils\players - - - JUCE Modules\juce_audio_utils - - - JUCE Modules\juce_audio_utils - - - 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\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\javascript - - - JUCE Modules\juce_core\javascript - - - JUCE Modules\juce_core\logging - - - JUCE Modules\juce_core\logging - - - 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\misc - - - 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\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\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\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\system - - - 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\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\unit_tests - - - JUCE Modules\juce_core\xml - - - JUCE Modules\juce_core\xml - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip - - - JUCE Modules\juce_core\zip - - - JUCE Modules\juce_core\zip - - - JUCE Modules\juce_core - - - JUCE Modules\juce_core - - - JUCE Modules\juce_data_structures\app_properties - - - JUCE Modules\juce_data_structures\app_properties - - - JUCE Modules\juce_data_structures\undomanager - - - JUCE Modules\juce_data_structures\values - - - JUCE Modules\juce_data_structures\values - - - JUCE Modules\juce_data_structures\values - - - JUCE Modules\juce_data_structures\values - - - JUCE Modules\juce_data_structures\values - - - JUCE Modules\juce_data_structures - - - JUCE Modules\juce_data_structures - - - 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\interprocess - - - JUCE Modules\juce_events\messages - - - JUCE Modules\juce_events\messages - - - JUCE Modules\juce_events\messages - - - JUCE Modules\juce_events\messages - - - 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_events\native - - - JUCE Modules\juce_events\native - - - JUCE Modules\juce_events\timers - - - JUCE Modules\juce_events\timers - - - JUCE Modules\juce_events - - - 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\contexts - - - JUCE Modules\juce_graphics\contexts - - - JUCE Modules\juce_graphics\contexts - - - JUCE Modules\juce_graphics\effects - - - JUCE Modules\juce_graphics\effects - - - 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\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\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\pnglib - - - JUCE Modules\juce_graphics\image_formats\pnglib - - - JUCE Modules\juce_graphics\image_formats\pnglib - - - JUCE Modules\juce_graphics\image_formats\pnglib - - - JUCE Modules\juce_graphics\image_formats\pnglib - - - JUCE Modules\juce_graphics\image_formats\pnglib - - - JUCE Modules\juce_graphics\image_formats\pnglib - - - JUCE Modules\juce_graphics\image_formats\pnglib - - - JUCE Modules\juce_graphics\image_formats\pnglib - - - JUCE Modules\juce_graphics\image_formats\pnglib - - - JUCE Modules\juce_graphics\image_formats\pnglib - - - JUCE Modules\juce_graphics\image_formats\pnglib - - - JUCE Modules\juce_graphics\image_formats\pnglib - - - JUCE Modules\juce_graphics\image_formats\pnglib - - - JUCE Modules\juce_graphics\image_formats\pnglib - - - JUCE Modules\juce_graphics\image_formats - - - JUCE Modules\juce_graphics\image_formats - - - JUCE Modules\juce_graphics\image_formats - - - JUCE Modules\juce_graphics\images - - - JUCE Modules\juce_graphics\images - - - JUCE Modules\juce_graphics\images - - - JUCE Modules\juce_graphics\images - - - 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_graphics\native - - - JUCE Modules\juce_graphics\native - - - JUCE Modules\juce_graphics\native - - - JUCE Modules\juce_graphics\native - - - JUCE Modules\juce_graphics\placement - - - JUCE Modules\juce_graphics - - - JUCE Modules\juce_graphics - - - JUCE Modules\juce_gui_basics\accessibility - - - JUCE Modules\juce_gui_basics\application - - - 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\commands - - - JUCE Modules\juce_gui_basics\commands - - - JUCE Modules\juce_gui_basics\commands - - - JUCE Modules\juce_gui_basics\commands - - - 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\desktop - - - JUCE Modules\juce_gui_basics\desktop - - - 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\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\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\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\layout - - - JUCE Modules\juce_gui_basics\layout - - - 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\lookandfeel - - - JUCE Modules\juce_gui_basics\menus - - - JUCE Modules\juce_gui_basics\menus - - - JUCE Modules\juce_gui_basics\menus - - - JUCE Modules\juce_gui_basics\menus - - - JUCE Modules\juce_gui_basics\misc - - - JUCE Modules\juce_gui_basics\misc - - - JUCE Modules\juce_gui_basics\misc - - - 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\native\accessibility - - - JUCE Modules\juce_gui_basics\native\accessibility - - - JUCE Modules\juce_gui_basics\native\accessibility - - - JUCE Modules\juce_gui_basics\native\accessibility - - - JUCE Modules\juce_gui_basics\native\accessibility - - - JUCE Modules\juce_gui_basics\native\accessibility - - - JUCE Modules\juce_gui_basics\native\x11 - - - JUCE Modules\juce_gui_basics\native\x11 - - - JUCE Modules\juce_gui_basics\native\x11 - - - 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_basics\native - - - JUCE Modules\juce_gui_basics\native - - - JUCE Modules\juce_gui_basics\native - - - 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\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\properties - - - 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 - - - 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\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\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_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 - - - JUCE Modules\juce_gui_extra - - - 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 - - - - - AudioPerformanceTest\Source - - - JUCE Modules\juce_audio_basics\audio_play_head - - - JUCE Modules\juce_audio_basics\buffers - - - JUCE Modules\juce_audio_basics\buffers - - - JUCE Modules\juce_audio_basics\buffers - - - JUCE Modules\juce_audio_basics\buffers - - - JUCE Modules\juce_audio_basics\buffers - - - JUCE Modules\juce_audio_basics\midi\ump - - - JUCE Modules\juce_audio_basics\midi\ump - - - JUCE Modules\juce_audio_basics\midi\ump - - - JUCE Modules\juce_audio_basics\midi\ump - - - JUCE Modules\juce_audio_basics\midi\ump - - - JUCE Modules\juce_audio_basics\midi\ump - - - JUCE Modules\juce_audio_basics\midi\ump - - - JUCE Modules\juce_audio_basics\midi\ump - - - JUCE Modules\juce_audio_basics\midi\ump - - - JUCE Modules\juce_audio_basics\midi\ump - - - JUCE Modules\juce_audio_basics\midi\ump - - - JUCE Modules\juce_audio_basics\midi\ump - - - JUCE Modules\juce_audio_basics\midi\ump - - - JUCE Modules\juce_audio_basics\midi\ump - - - JUCE Modules\juce_audio_basics\midi\ump - - - 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\midi - - - JUCE Modules\juce_audio_basics\midi - - - JUCE Modules\juce_audio_basics\mpe - - - JUCE Modules\juce_audio_basics\mpe - - - JUCE Modules\juce_audio_basics\mpe - - - JUCE Modules\juce_audio_basics\mpe - - - JUCE Modules\juce_audio_basics\mpe - - - JUCE Modules\juce_audio_basics\mpe - - - JUCE Modules\juce_audio_basics\mpe - - - JUCE Modules\juce_audio_basics\mpe - - - JUCE Modules\juce_audio_basics\mpe - - - JUCE Modules\juce_audio_basics\native - - - 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\sources - - - JUCE Modules\juce_audio_basics\synthesisers - - - JUCE Modules\juce_audio_basics\utilities - - - JUCE Modules\juce_audio_basics\utilities - - - JUCE Modules\juce_audio_basics\utilities - - - JUCE Modules\juce_audio_basics\utilities - - - JUCE Modules\juce_audio_basics\utilities - - - JUCE Modules\juce_audio_basics\utilities - - - JUCE Modules\juce_audio_basics\utilities - - - 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\ump - - - JUCE Modules\juce_audio_devices\midi_io\ump - - - JUCE Modules\juce_audio_devices\midi_io - - - JUCE Modules\juce_audio_devices\midi_io - - - JUCE Modules\juce_audio_devices\native\oboe\include\oboe - - - JUCE Modules\juce_audio_devices\native\oboe\include\oboe - - - JUCE Modules\juce_audio_devices\native\oboe\include\oboe - - - JUCE Modules\juce_audio_devices\native\oboe\include\oboe - - - JUCE Modules\juce_audio_devices\native\oboe\include\oboe - - - JUCE Modules\juce_audio_devices\native\oboe\include\oboe - - - JUCE Modules\juce_audio_devices\native\oboe\include\oboe - - - JUCE Modules\juce_audio_devices\native\oboe\include\oboe - - - JUCE Modules\juce_audio_devices\native\oboe\include\oboe - - - JUCE Modules\juce_audio_devices\native\oboe\include\oboe - - - JUCE Modules\juce_audio_devices\native\oboe\include\oboe - - - JUCE Modules\juce_audio_devices\native\oboe\src\aaudio - - - JUCE Modules\juce_audio_devices\native\oboe\src\aaudio - - - JUCE Modules\juce_audio_devices\native\oboe\src\aaudio - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\fifo - - - JUCE Modules\juce_audio_devices\native\oboe\src\fifo - - - JUCE Modules\juce_audio_devices\native\oboe\src\fifo - - - JUCE Modules\juce_audio_devices\native\oboe\src\fifo - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\opensles - - - JUCE Modules\juce_audio_devices\native\oboe\src\opensles - - - JUCE Modules\juce_audio_devices\native\oboe\src\opensles - - - JUCE Modules\juce_audio_devices\native\oboe\src\opensles - - - JUCE Modules\juce_audio_devices\native\oboe\src\opensles - - - JUCE Modules\juce_audio_devices\native\oboe\src\opensles - - - JUCE Modules\juce_audio_devices\native\oboe\src\opensles - - - JUCE Modules\juce_audio_devices\native - - - JUCE Modules\juce_audio_devices\native - - - JUCE Modules\juce_audio_devices\sources - - - JUCE Modules\juce_audio_devices\sources - - - JUCE Modules\juce_audio_devices - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected - - - JUCE Modules\juce_audio_formats\codecs\flac - - - JUCE Modules\juce_audio_formats\codecs\flac - - - JUCE Modules\juce_audio_formats\codecs\flac - - - JUCE Modules\juce_audio_formats\codecs\flac - - - JUCE Modules\juce_audio_formats\codecs\flac - - - JUCE Modules\juce_audio_formats\codecs\flac - - - JUCE Modules\juce_audio_formats\codecs\flac - - - JUCE Modules\juce_audio_formats\codecs\flac - - - JUCE Modules\juce_audio_formats\codecs\flac - - - JUCE Modules\juce_audio_formats\codecs\flac - - - JUCE Modules\juce_audio_formats\codecs\flac - - - JUCE Modules\juce_audio_formats\codecs\flac - - - JUCE Modules\juce_audio_formats\codecs\flac - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\books\coupled - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\books\coupled - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\books\floor - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\books\uncoupled - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis - - - 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\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\sampler - - - JUCE Modules\juce_audio_formats - - - JUCE Modules\juce_audio_processors\format - - - JUCE Modules\juce_audio_processors\format - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\thread\include - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\gui - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\gui - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\common - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\common - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst - - - 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\format_types - - - JUCE Modules\juce_audio_processors\format_types - - - 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\processors - - - JUCE Modules\juce_audio_processors\scanning - - - JUCE Modules\juce_audio_processors\scanning - - - JUCE Modules\juce_audio_processors\scanning - - - JUCE Modules\juce_audio_processors\utilities - - - JUCE Modules\juce_audio_processors\utilities - - - JUCE Modules\juce_audio_processors\utilities - - - JUCE Modules\juce_audio_processors\utilities - - - JUCE Modules\juce_audio_processors\utilities - - - JUCE Modules\juce_audio_processors\utilities - - - JUCE Modules\juce_audio_processors\utilities - - - JUCE Modules\juce_audio_processors\utilities - - - JUCE Modules\juce_audio_processors\utilities - - - JUCE Modules\juce_audio_processors\utilities - - - JUCE Modules\juce_audio_processors\utilities - - - JUCE Modules\juce_audio_processors\utilities - - - JUCE Modules\juce_audio_processors - - - JUCE Modules\juce_audio_utils\audio_cd - - - JUCE Modules\juce_audio_utils\audio_cd - - - 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\gui - - - JUCE Modules\juce_audio_utils\gui - - - JUCE Modules\juce_audio_utils\players - - - JUCE Modules\juce_audio_utils\players - - - JUCE Modules\juce_audio_utils - - - 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\containers - - - JUCE Modules\juce_core\containers - - - 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\files - - - JUCE Modules\juce_core\javascript - - - JUCE Modules\juce_core\javascript - - - JUCE Modules\juce_core\logging - - - JUCE Modules\juce_core\logging - - - 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\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\memory - - - JUCE Modules\juce_core\memory - - - JUCE Modules\juce_core\misc - - - JUCE Modules\juce_core\misc - - - JUCE Modules\juce_core\misc - - - 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\native - - - JUCE Modules\juce_core\native - - - JUCE Modules\juce_core\native - - - 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\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\streams - - - 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\system - - - 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\text - - - 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\unit_tests - - - JUCE Modules\juce_core\unit_tests - - - JUCE Modules\juce_core\xml - - - JUCE Modules\juce_core\xml - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip - - - JUCE Modules\juce_core\zip - - - JUCE Modules\juce_core\zip - - - JUCE Modules\juce_core - - - JUCE Modules\juce_data_structures\app_properties - - - JUCE Modules\juce_data_structures\app_properties - - - JUCE Modules\juce_data_structures\undomanager - - - JUCE Modules\juce_data_structures\undomanager - - - JUCE Modules\juce_data_structures\values - - - JUCE Modules\juce_data_structures\values - - - JUCE Modules\juce_data_structures\values - - - JUCE Modules\juce_data_structures\values - - - JUCE Modules\juce_data_structures\values - - - JUCE Modules\juce_data_structures - - - 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\interprocess - - - 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\native - - - JUCE Modules\juce_events\native - - - JUCE Modules\juce_events\native - - - JUCE Modules\juce_events\native - - - JUCE Modules\juce_events\native - - - JUCE Modules\juce_events\timers - - - JUCE Modules\juce_events\timers - - - 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\effects - - - JUCE Modules\juce_graphics\effects - - - JUCE Modules\juce_graphics\effects - - - 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\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\geometry - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\pnglib - - - JUCE Modules\juce_graphics\image_formats\pnglib - - - JUCE Modules\juce_graphics\image_formats\pnglib - - - JUCE Modules\juce_graphics\image_formats\pnglib - - - JUCE Modules\juce_graphics\image_formats\pnglib - - - JUCE Modules\juce_graphics\image_formats\pnglib - - - JUCE Modules\juce_graphics\images - - - JUCE Modules\juce_graphics\images - - - JUCE Modules\juce_graphics\images - - - JUCE Modules\juce_graphics\images - - - JUCE Modules\juce_graphics\native - - - JUCE Modules\juce_graphics\native - - - JUCE Modules\juce_graphics\native - - - JUCE Modules\juce_graphics\native - - - JUCE Modules\juce_graphics\placement - - - JUCE Modules\juce_graphics\placement - - - JUCE Modules\juce_graphics - - - JUCE Modules\juce_gui_basics\accessibility\enums - - - JUCE Modules\juce_gui_basics\accessibility\enums - - - JUCE Modules\juce_gui_basics\accessibility\enums - - - JUCE Modules\juce_gui_basics\accessibility\interfaces - - - JUCE Modules\juce_gui_basics\accessibility\interfaces - - - JUCE Modules\juce_gui_basics\accessibility\interfaces - - - JUCE Modules\juce_gui_basics\accessibility\interfaces - - - JUCE Modules\juce_gui_basics\accessibility - - - JUCE Modules\juce_gui_basics\accessibility - - - JUCE Modules\juce_gui_basics\application - - - 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\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\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\components - - - JUCE Modules\juce_gui_basics\desktop - - - JUCE Modules\juce_gui_basics\desktop - - - 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\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\filebrowser - - - 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\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\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\lookandfeel - - - 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\menus - - - JUCE Modules\juce_gui_basics\menus - - - JUCE Modules\juce_gui_basics\menus - - - JUCE Modules\juce_gui_basics\menus - - - JUCE Modules\juce_gui_basics\misc - - - JUCE Modules\juce_gui_basics\misc - - - JUCE Modules\juce_gui_basics\misc - - - 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\native\accessibility - - - JUCE Modules\juce_gui_basics\native\accessibility - - - JUCE Modules\juce_gui_basics\native\accessibility - - - JUCE Modules\juce_gui_basics\native\accessibility - - - JUCE Modules\juce_gui_basics\native\accessibility - - - JUCE Modules\juce_gui_basics\native\accessibility - - - JUCE Modules\juce_gui_basics\native\accessibility - - - JUCE Modules\juce_gui_basics\native\accessibility - - - JUCE Modules\juce_gui_basics\native\accessibility - - - JUCE Modules\juce_gui_basics\native\accessibility - - - JUCE Modules\juce_gui_basics\native\accessibility - - - JUCE Modules\juce_gui_basics\native\accessibility - - - JUCE Modules\juce_gui_basics\native\accessibility - - - JUCE Modules\juce_gui_basics\native\accessibility - - - JUCE Modules\juce_gui_basics\native\accessibility - - - JUCE Modules\juce_gui_basics\native\accessibility - - - JUCE Modules\juce_gui_basics\native\accessibility - - - JUCE Modules\juce_gui_basics\native\x11 - - - JUCE Modules\juce_gui_basics\native\x11 - - - JUCE Modules\juce_gui_basics\native - - - JUCE Modules\juce_gui_basics\native - - - 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\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\properties - - - 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\windows - - - 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\embedding - - - 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\misc - - - JUCE Modules\juce_gui_extra\native - - - JUCE Modules\juce_gui_extra - - - JUCE Library Code - - - - - JUCE Modules\juce_audio_devices\native\oboe - - - JUCE Modules\juce_audio_devices\native\oboe - - - JUCE Modules\juce_audio_formats\codecs\flac - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7 - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK - - - JUCE Modules\juce_core\native\java - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\pnglib - - - - - JUCE Library Code - - - diff --git a/extras/AudioPerformanceTest/Builds/VisualStudio2019/resources.rc b/extras/AudioPerformanceTest/Builds/VisualStudio2019/resources.rc deleted file mode 100644 index 3509c791..00000000 --- a/extras/AudioPerformanceTest/Builds/VisualStudio2019/resources.rc +++ /dev/null @@ -1,33 +0,0 @@ -#pragma code_page(65001) - -#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 "CompanyName", "Raw Material Software Limited\0" - VALUE "LegalCopyright", "Raw Material Software Limited\0" - VALUE "FileDescription", "AudioPerformanceTest\0" - VALUE "FileVersion", "1.0.0\0" - VALUE "ProductName", "AudioPerformanceTest\0" - VALUE "ProductVersion", "1.0.0\0" - END - END - - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1252 - END -END - -#endif diff --git a/extras/AudioPerformanceTest/Builds/VisualStudio2022/AudioPerformanceTest.sln b/extras/AudioPerformanceTest/Builds/VisualStudio2022/AudioPerformanceTest.sln new file mode 100644 index 00000000..a3e63594 --- /dev/null +++ b/extras/AudioPerformanceTest/Builds/VisualStudio2022/AudioPerformanceTest.sln @@ -0,0 +1,21 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio Version 17 + +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AudioPerformanceTest - App", "AudioPerformanceTest_App.vcxproj", "{78607AE9-F43B-3DDB-0FE1-D745771AF527}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 + Release|x64 = Release|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {78607AE9-F43B-3DDB-0FE1-D745771AF527}.Debug|x64.ActiveCfg = Debug|x64 + {78607AE9-F43B-3DDB-0FE1-D745771AF527}.Debug|x64.Build.0 = Debug|x64 + {78607AE9-F43B-3DDB-0FE1-D745771AF527}.Release|x64.ActiveCfg = Release|x64 + {78607AE9-F43B-3DDB-0FE1-D745771AF527}.Release|x64.Build.0 = Release|x64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/extras/AudioPerformanceTest/Builds/VisualStudio2022/AudioPerformanceTest_App.vcxproj b/extras/AudioPerformanceTest/Builds/VisualStudio2022/AudioPerformanceTest_App.vcxproj new file mode 100644 index 00000000..578dac6f --- /dev/null +++ b/extras/AudioPerformanceTest/Builds/VisualStudio2022/AudioPerformanceTest_App.vcxproj @@ -0,0 +1,2908 @@ + + + + + + Debug + x64 + + + Release + x64 + + + + {78607AE9-F43B-3DDB-0FE1-D745771AF527} + + + + Application + false + false + v143 + 10.0 + + + Application + false + true + v143 + 10.0 + + + + + + + + <_ProjectFileVersion>10.0.30319.1 + .exe + $(SolutionDir)$(Platform)\$(Configuration)\App\ + $(Platform)\$(Configuration)\App\ + AudioPerformanceTest + true + $(SolutionDir)$(Platform)\$(Configuration)\App\ + $(Platform)\$(Configuration)\App\ + AudioPerformanceTest + true + + + + _DEBUG;%(PreprocessorDefinitions) + true + true + Win32 + + + + Disabled + ProgramDatabase + ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) + _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2022_78A503E=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) + MultiThreadedDebugDLL + true + NotUsing + $(IntDir)\ + $(IntDir)\ + $(IntDir)\AudioPerformanceTest.pdb + Level4 + true + true + stdcpp14 + + + _DEBUG;%(PreprocessorDefinitions) + + + $(OutDir)\AudioPerformanceTest.exe + true + libcmt.lib; msvcrt.lib;;%(IgnoreSpecificDefaultLibraries) + true + $(IntDir)\AudioPerformanceTest.pdb + Windows + true + + + true + $(IntDir)\AudioPerformanceTest.bsc + + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + Win32 + + + + Full + ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) + _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2022_78A503E=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) + MultiThreadedDLL + true + NotUsing + $(IntDir)\ + $(IntDir)\ + $(IntDir)\AudioPerformanceTest.pdb + Level4 + true + true + stdcpp14 + + + NDEBUG;%(PreprocessorDefinitions) + + + $(OutDir)\AudioPerformanceTest.exe + true + %(IgnoreSpecificDefaultLibraries) + false + $(IntDir)\AudioPerformanceTest.pdb + Windows + true + true + true + UseLinkTimeCodeGeneration + + + true + $(IntDir)\AudioPerformanceTest.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 + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + + + + + + + + + + /bigobj %(AdditionalOptions) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/extras/AudioPerformanceTest/Builds/VisualStudio2022/AudioPerformanceTest_App.vcxproj.filters b/extras/AudioPerformanceTest/Builds/VisualStudio2022/AudioPerformanceTest_App.vcxproj.filters new file mode 100644 index 00000000..bec4e881 --- /dev/null +++ b/extras/AudioPerformanceTest/Builds/VisualStudio2022/AudioPerformanceTest_App.vcxproj.filters @@ -0,0 +1,4973 @@ + + + + + + {D163E404-6FE0-D71C-79C0-B2C2204C6939} + + + {EA26FD9B-DE67-F842-284B-F11CFEA08C63} + + + {EB58F05A-A968-CEBE-40C4-107CDD8F240F} + + + {5FCF559E-451A-CB1E-B177-A5DC5A0005BB} + + + {05CE33FC-868F-AA1A-12B8-79C98E753648} + + + {D78296AF-218E-B17E-7F8B-9D148601188D} + + + {B96EBA26-E668-FFAF-FC53-1EC1337DAF5A} + + + {D8532E5E-469E-5042-EFC8-238241704735} + + + {777B5D1D-9AF0-B22B-8894-034603EE97F5} + + + {8292766D-2459-2E7E-7615-17216318BA93} + + + {9BD56105-DAB4-EBD5-00DD-BD540E98FE88} + + + {10472B2C-9888-D269-F351-0D0AC3BCD16C} + + + {BF23FC10-1D57-2A9B-706F-6DD8A7B593D4} + + + {386862D5-4DCC-A4B3-5642-60A201E303EF} + + + {092EFC17-7C95-7E04-0ACA-0D61A462EE81} + + + {285118C6-8FDA-7DCE-BEF4-FFB2120876C5} + + + {69ED6B61-9B8D-D47E-E4A6-2E9F9A94A75A} + + + {7CDB7CD1-BB96-F593-3C78-1E06182B5839} + + + {B0A708DE-B4CF-196B-14FB-DC8221509B8E} + + + {34F46ADE-EE31-227A-A69E-7732E70145F1} + + + {BB9B3C77-17FB-E994-8B75-88F1727E4655} + + + {C0971D77-2F14-190A-E2AE-89D6285F4D5A} + + + {AABEA333-6524-8891-51C7-6DAEB5700628} + + + {F2D29337-983E-BAD7-7B5C-E0AB3D53D404} + + + {C674B0FB-1FC0-2986-94B1-083845018994} + + + {0AFC1CE8-F6E6-9817-8C21-8432B2A375DA} + + + {0D1AF264-3AC1-78A2-B2A4-AE6171F9194A} + + + {9A5DB854-CFFB-5F88-C566-0E10F994DDB3} + + + {38A5DDC7-416E-548F-39DA-887875FE6B20} + + + {980FE2DB-05D3-5FDA-79DA-067A56F5D19D} + + + {F336DC25-747A-0663-93D6-E3EB9AA0CBF8} + + + {7D78546A-80FC-4DCA-00B9-F191F0AB2179} + + + {9EB3EC7F-2AB7-DDAA-3C05-DF382B728D3F} + + + {6B9FBFDC-1D10-6246-356D-00FF4535CECB} + + + {D6FCFC8E-7136-9109-78C0-91A3EB4C443F} + + + {EBF18AC1-F0ED-937A-2824-4307CE2ADAF7} + + + {5A0F7922-2EFB-6465-57E4-A445B804EFB5} + + + {4EC45416-0E7C-7567-6F75-D0C8CEE7DC4F} + + + {C2985031-0496-55B5-41A8-BAB99E53D89D} + + + {FB4AB426-7009-0036-BB75-E34256AA7C89} + + + {E684D858-09E8-0251-8E86-5657129641E1} + + + {1EF1BF17-F941-243A-04D1-EE617D140CBA} + + + {344DB016-679C-FBD0-3EC6-4570C47522DE} + + + {3D9758A0-9359-1710-87C1-05D475C08B17} + + + {E824435F-FC7B-10BE-5D1A-5DACC51A8836} + + + {86737735-F6BA-F64A-5EC7-5C9F36755F79} + + + {4DC60E78-BBC0-B540-63A2-37E14ABBEF09} + + + {80C72173-A1E1-C3C5-9288-B889CE2EAFEA} + + + {4138B955-AA0B-FA86-DBF9-404CAFFFA866} + + + {2B4166B8-F470-F07C-4F51-D2DAAAECBB18} + + + {9C295115-C0CD-3129-1C4D-FB53299B23FB} + + + {65526A8B-3447-9DF0-FD5D-00D111126027} + + + {A54A1F5C-F32F-F97B-9E8A-69922B770A54} + + + {B90A44F3-B62D-B5C0-81A2-683D2650AEE6} + + + {DAF30656-5915-0E45-C4E4-54439617D525} + + + {9266EA90-6A0A-5DDB-9CB7-966BEF03BA5C} + + + {9C713CBA-A9E2-5F4E-F83C-2CAB8533913C} + + + {63571A07-9AA3-5BB0-1103-0B42A2E6BC9E} + + + {314F43F2-BC8F-B464-EAE7-86B9675454E9} + + + {874C5D0C-6D29-68EE-38BB-26200B56BC89} + + + {86BAA7A7-DC50-35B6-910B-932AEAF257F2} + + + {6B7BE34D-1BC1-C7B9-111F-C55CA8250943} + + + {9B6B6D54-D378-80C2-8CC9-D1D8FB44C2A8} + + + {D0584AC3-6837-14F6-90BF-5EA604D1F074} + + + {794B64EC-B809-32E3-AD00-4EE6A74802CA} + + + {67BE498C-9E1F-C73A-B99A-387C034CE680} + + + {1A9C8538-959B-25E3-473D-B462C9A9D458} + + + {AA9F594C-DFAF-C0A7-0CCD-9F90E54D3A01} + + + {230BF784-34F4-3BE8-46D4-54E6B67E5E9E} + + + {39F680F3-5161-4D1C-EAD0-3911ED808874} + + + {3197198B-A978-E330-C7FB-07E5CE8236C7} + + + {42F7BE9D-3C8A-AE26-289B-8F355C068036} + + + {7868764A-6572-381A-906C-9C26792A4C29} + + + {03678508-A517-48BB-FB4A-485628C34E08} + + + {07D27C1D-3227-F527-356C-17DA11551A99} + + + {6146D580-99D2-A6C8-5908-30DC355BB6BA} + + + {C67003E8-BEA8-2188-F4B3-A122F4B4FA3F} + + + {09B91E68-1FF4-C7ED-9055-D4D96E66A0BA} + + + {30B3DA63-C1E4-F2EA-CEF0-8035D8CBFF64} + + + {4F24EEED-AA33-AC6C-9A39-72E71CF83EF0} + + + {0F70B1A9-BB50-23F5-2AE7-F95E51A00389} + + + {D4C8DC40-2CD2-04B6-05D0-1E7A88841390} + + + {58BED6AF-DB89-7560-B2B8-D937C1C0825A} + + + {B958F86B-6926-8D9B-2FC6-8BFD4BDC72C9} + + + {DB624F7D-D513-25AC-C13C-B9062EB3BEEE} + + + {89AA9B6C-4029-A34F-C1B0-3B5D8691F4D4} + + + {1A7F541C-B032-9C66-C320-A13B2A8A9866} + + + {4BAB7C18-51AB-0D9D-83CD-9C37F28D2E38} + + + {5523922E-8B0C-A52B-477C-752C09F8197F} + + + {857B6D8B-0ECB-FE9E-D1EB-D5E45E72F057} + + + {BAA582FA-40B7-320E-EE7A-4C3892C7BE72} + + + {632B4C79-AF7D-BFB5-D006-5AE67F607130} + + + {B10E20C2-4583-2B79-60B7-FE4D4B044313} + + + {CFB54F15-8A8A-0505-9B7F-ECA41CEE38E8} + + + {911F0159-A7A8-4A43-3FD4-154F62F4A44B} + + + {9D5816C2-E2B2-2E3F-B095-AC8BD1100D29} + + + {3FDCD000-763F-8477-9AF8-70ABA2E91E5E} + + + {0947506F-66FA-EF8D-8A4E-4D48BCDBB226} + + + {E4B6AED3-F54C-3FF2-069F-640BACAE0E08} + + + {D5EADBCC-6A1C-C940-0206-26E49110AF08} + + + {D27DC92D-5BEB-9294-DCD1-81D54E245AD5} + + + {BCD73D20-42B1-6CDB-DE66-B06236A60F47} + + + {20DC13F6-2369-8841-9F0B-D13FA14EEE74} + + + {A302A8DB-120F-9EBB-A3D5-2C29963AA56B} + + + {45489C2A-6E0E-CCDC-6638-0DACEEB63CCA} + + + {F1B90726-DB55-0293-BFAF-C65C7DF5489C} + + + {2C55FD42-0ACD-B0B8-7EAE-EB17F09BAEEC} + + + {B68CD2B2-701F-9AB7-4638-2485D6E06BCF} + + + {B0B7C78E-729E-0FFA-D611-82AE8BC7FE2C} + + + {0A4F7E12-220C-14EF-0026-9C0629FA9C17} + + + {37F49E10-4E62-6D5C-FF70-722D0CA3D97E} + + + {160D9882-0F68-278D-C5F9-8960FD7421D2} + + + {4CED05DA-E0A2-E548-F753-1F2EF299A8E3} + + + {46AE69B8-AD58-4381-6CDE-25C8D75B01D2} + + + {E56CB4FC-32E8-8740-A3BB-B323CD937A99} + + + {4ECDCA0C-BB38-0729-A6B6-2FB0B4D0863B} + + + {294E4CD5-B06F-97D1-04A3-51871CEA507C} + + + {77228F15-BD91-06FF-2C7E-0377D25C2C94} + + + {5CB531E6-BF9A-2C50-056C-EE5A525D28D3} + + + {E4EA47E5-B41C-2A19-1783-7E9104096ECD} + + + {B331BC33-9770-3DB5-73F2-BC2469ECCF7F} + + + {46A17AC9-0BFF-B5CE-26D6-B9D1992C88AC} + + + {D90A8DF7-FBAB-D363-13C0-6707BB22B72B} + + + {8AE77C40-6839-EC37-4515-BD3CC269BCE4} + + + {0EAD99DB-011F-09E5-45A2-365F646EB004} + + + {F57590C6-3B90-1BE1-1006-488BA33E8BD9} + + + {7C319D73-0D93-5842-0874-398D2D3038D5} + + + {2CB4DB0C-DD3B-6195-D822-76EC7A5C88D2} + + + {FE3CB19C-EF43-5CF5-DAF0-09D4E43D0AB9} + + + {C0E5DD5D-F8F1-DD25-67D7-291946AB3828} + + + {FE7E6CD5-C7A0-DB20-4E7E-D6E7F08C4578} + + + {895C2D33-E08D-B1BA-BB36-FC4CA65090C8} + + + {D64A57DB-A956-5519-1929-1D929B56E1B0} + + + {5A99CC24-AC45-7ED6-C11A-B8B86E76D884} + + + {7A131EEC-25A7-22F6-2839-A2194DDF3007} + + + {EA9DB76C-CEF7-6BFC-2070-28B7DF8E8063} + + + {3C206A40-6F1B-E683-ACF1-DEC3703D0140} + + + {DF95D4BF-E18C-125A-5EBB-8993A06E232C} + + + {118946F2-AC24-0F09-62D5-753DF87A60CD} + + + {07329F9B-7D3D-CEB3-C771-714842076140} + + + {08BBBECB-B0D1-7611-37EC-F57E1D0CE2A2} + + + {268E8F2A-980C-BF2F-B161-AACABC9D91F3} + + + {A4D76113-9EDC-DA60-D89B-5BACF7F1C426} + + + {FE955B6B-68AC-AA07-70D8-2413F6DB65C8} + + + {7ED5A90E-41AF-A1EF-659B-37CEEAB9BA61} + + + + + AudioPerformanceTest\Source + + + JUCE Modules\juce_audio_basics\buffers + + + JUCE Modules\juce_audio_basics\buffers + + + JUCE Modules\juce_audio_basics\buffers + + + JUCE Modules\juce_audio_basics\buffers + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + 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\midi + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + 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\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics + + + 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\midi_io\ump + + + JUCE Modules\juce_audio_devices\midi_io + + + JUCE Modules\juce_audio_devices\midi_io + + + JUCE Modules\juce_audio_devices\native\oboe\src\aaudio + + + JUCE Modules\juce_audio_devices\native\oboe\src\aaudio + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\fifo + + + JUCE Modules\juce_audio_devices\native\oboe\src\fifo + + + JUCE Modules\juce_audio_devices\native\oboe\src\fifo + + + JUCE Modules\juce_audio_devices\native\oboe\src\fifo + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + 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\sources + + + JUCE Modules\juce_audio_devices\sources + + + JUCE Modules\juce_audio_devices + + + JUCE Modules\juce_audio_devices + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis + + + 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\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\sampler + + + JUCE Modules\juce_audio_formats + + + JUCE Modules\juce_audio_formats + + + JUCE Modules\juce_audio_processors\format + + + JUCE Modules\juce_audio_processors\format + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\thread\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\common + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\common + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + 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\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\scanning + + + JUCE Modules\juce_audio_processors\scanning + + + JUCE Modules\juce_audio_processors\scanning + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors + + + JUCE Modules\juce_audio_processors + + + JUCE Modules\juce_audio_utils\audio_cd + + + 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\native + + + JUCE Modules\juce_audio_utils\native + + + JUCE Modules\juce_audio_utils\native + + + JUCE Modules\juce_audio_utils\native + + + JUCE Modules\juce_audio_utils\native + + + JUCE Modules\juce_audio_utils\native + + + JUCE Modules\juce_audio_utils\native + + + JUCE Modules\juce_audio_utils\native + + + JUCE Modules\juce_audio_utils\native + + + JUCE Modules\juce_audio_utils\native + + + JUCE Modules\juce_audio_utils\players + + + JUCE Modules\juce_audio_utils\players + + + JUCE Modules\juce_audio_utils + + + JUCE Modules\juce_audio_utils + + + 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\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\javascript + + + JUCE Modules\juce_core\javascript + + + JUCE Modules\juce_core\logging + + + JUCE Modules\juce_core\logging + + + 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\misc + + + 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\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\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\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\system + + + 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\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\unit_tests + + + JUCE Modules\juce_core\xml + + + JUCE Modules\juce_core\xml + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip + + + JUCE Modules\juce_core\zip + + + JUCE Modules\juce_core\zip + + + JUCE Modules\juce_core + + + JUCE Modules\juce_core + + + JUCE Modules\juce_data_structures\app_properties + + + JUCE Modules\juce_data_structures\app_properties + + + JUCE Modules\juce_data_structures\undomanager + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures + + + JUCE Modules\juce_data_structures + + + 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\interprocess + + + JUCE Modules\juce_events\messages + + + JUCE Modules\juce_events\messages + + + JUCE Modules\juce_events\messages + + + JUCE Modules\juce_events\messages + + + 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_events\native + + + JUCE Modules\juce_events\native + + + JUCE Modules\juce_events\timers + + + JUCE Modules\juce_events\timers + + + JUCE Modules\juce_events + + + 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\contexts + + + JUCE Modules\juce_graphics\contexts + + + JUCE Modules\juce_graphics\contexts + + + JUCE Modules\juce_graphics\effects + + + JUCE Modules\juce_graphics\effects + + + 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\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\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats + + + JUCE Modules\juce_graphics\image_formats + + + JUCE Modules\juce_graphics\image_formats + + + JUCE Modules\juce_graphics\images + + + JUCE Modules\juce_graphics\images + + + JUCE Modules\juce_graphics\images + + + JUCE Modules\juce_graphics\images + + + 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_graphics\native + + + JUCE Modules\juce_graphics\native + + + JUCE Modules\juce_graphics\native + + + JUCE Modules\juce_graphics\native + + + JUCE Modules\juce_graphics\placement + + + JUCE Modules\juce_graphics + + + JUCE Modules\juce_graphics + + + JUCE Modules\juce_gui_basics\accessibility + + + JUCE Modules\juce_gui_basics\application + + + 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\commands + + + JUCE Modules\juce_gui_basics\commands + + + JUCE Modules\juce_gui_basics\commands + + + JUCE Modules\juce_gui_basics\commands + + + 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\desktop + + + JUCE Modules\juce_gui_basics\desktop + + + 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\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\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\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\layout + + + JUCE Modules\juce_gui_basics\layout + + + 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\lookandfeel + + + JUCE Modules\juce_gui_basics\menus + + + JUCE Modules\juce_gui_basics\menus + + + JUCE Modules\juce_gui_basics\menus + + + JUCE Modules\juce_gui_basics\menus + + + JUCE Modules\juce_gui_basics\misc + + + JUCE Modules\juce_gui_basics\misc + + + JUCE Modules\juce_gui_basics\misc + + + 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\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\x11 + + + JUCE Modules\juce_gui_basics\native\x11 + + + JUCE Modules\juce_gui_basics\native\x11 + + + 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_basics\native + + + JUCE Modules\juce_gui_basics\native + + + JUCE Modules\juce_gui_basics\native + + + 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\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\properties + + + 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 + + + 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\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\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_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 + + + JUCE Modules\juce_gui_extra + + + 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 + + + + + AudioPerformanceTest\Source + + + JUCE Modules\juce_audio_basics\audio_play_head + + + JUCE Modules\juce_audio_basics\buffers + + + JUCE Modules\juce_audio_basics\buffers + + + JUCE Modules\juce_audio_basics\buffers + + + JUCE Modules\juce_audio_basics\buffers + + + JUCE Modules\juce_audio_basics\buffers + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + 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\midi + + + JUCE Modules\juce_audio_basics\midi + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\native + + + 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\sources + + + JUCE Modules\juce_audio_basics\synthesisers + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + 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\ump + + + JUCE Modules\juce_audio_devices\midi_io\ump + + + JUCE Modules\juce_audio_devices\midi_io + + + JUCE Modules\juce_audio_devices\midi_io + + + JUCE Modules\juce_audio_devices\native\oboe\include\oboe + + + JUCE Modules\juce_audio_devices\native\oboe\include\oboe + + + JUCE Modules\juce_audio_devices\native\oboe\include\oboe + + + JUCE Modules\juce_audio_devices\native\oboe\include\oboe + + + JUCE Modules\juce_audio_devices\native\oboe\include\oboe + + + JUCE Modules\juce_audio_devices\native\oboe\include\oboe + + + JUCE Modules\juce_audio_devices\native\oboe\include\oboe + + + JUCE Modules\juce_audio_devices\native\oboe\include\oboe + + + JUCE Modules\juce_audio_devices\native\oboe\include\oboe + + + JUCE Modules\juce_audio_devices\native\oboe\include\oboe + + + JUCE Modules\juce_audio_devices\native\oboe\include\oboe + + + JUCE Modules\juce_audio_devices\native\oboe\src\aaudio + + + JUCE Modules\juce_audio_devices\native\oboe\src\aaudio + + + JUCE Modules\juce_audio_devices\native\oboe\src\aaudio + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\fifo + + + JUCE Modules\juce_audio_devices\native\oboe\src\fifo + + + JUCE Modules\juce_audio_devices\native\oboe\src\fifo + + + JUCE Modules\juce_audio_devices\native\oboe\src\fifo + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native + + + JUCE Modules\juce_audio_devices\native + + + JUCE Modules\juce_audio_devices\sources + + + JUCE Modules\juce_audio_devices\sources + + + JUCE Modules\juce_audio_devices + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\books\coupled + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\books\coupled + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\books\floor + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\books\uncoupled + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis + + + 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\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\sampler + + + JUCE Modules\juce_audio_formats + + + JUCE Modules\juce_audio_processors\format + + + JUCE Modules\juce_audio_processors\format + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\thread\include + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\gui + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\gui + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\common + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\common + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + 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\format_types + + + JUCE Modules\juce_audio_processors\format_types + + + 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\processors + + + JUCE Modules\juce_audio_processors\processors + + + JUCE Modules\juce_audio_processors\scanning + + + JUCE Modules\juce_audio_processors\scanning + + + JUCE Modules\juce_audio_processors\scanning + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors + + + JUCE Modules\juce_audio_utils\audio_cd + + + JUCE Modules\juce_audio_utils\audio_cd + + + 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\gui + + + JUCE Modules\juce_audio_utils\gui + + + JUCE Modules\juce_audio_utils\players + + + JUCE Modules\juce_audio_utils\players + + + JUCE Modules\juce_audio_utils + + + 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\containers + + + JUCE Modules\juce_core\containers + + + JUCE Modules\juce_core\containers + + + 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\files + + + JUCE Modules\juce_core\javascript + + + JUCE Modules\juce_core\javascript + + + JUCE Modules\juce_core\logging + + + JUCE Modules\juce_core\logging + + + 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\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\memory + + + JUCE Modules\juce_core\memory + + + JUCE Modules\juce_core\memory + + + JUCE Modules\juce_core\misc + + + JUCE Modules\juce_core\misc + + + JUCE Modules\juce_core\misc + + + 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\native + + + JUCE Modules\juce_core\native + + + JUCE Modules\juce_core\native + + + 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\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\streams + + + 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\system + + + 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\text + + + 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\unit_tests + + + JUCE Modules\juce_core\unit_tests + + + JUCE Modules\juce_core\xml + + + JUCE Modules\juce_core\xml + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip + + + JUCE Modules\juce_core\zip + + + JUCE Modules\juce_core\zip + + + JUCE Modules\juce_core + + + JUCE Modules\juce_data_structures\app_properties + + + JUCE Modules\juce_data_structures\app_properties + + + JUCE Modules\juce_data_structures\undomanager + + + JUCE Modules\juce_data_structures\undomanager + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures + + + 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\interprocess + + + 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\native + + + JUCE Modules\juce_events\native + + + JUCE Modules\juce_events\native + + + JUCE Modules\juce_events\native + + + JUCE Modules\juce_events\native + + + JUCE Modules\juce_events\timers + + + JUCE Modules\juce_events\timers + + + 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\effects + + + JUCE Modules\juce_graphics\effects + + + JUCE Modules\juce_graphics\effects + + + 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\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\geometry + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\images + + + JUCE Modules\juce_graphics\images + + + JUCE Modules\juce_graphics\images + + + JUCE Modules\juce_graphics\images + + + JUCE Modules\juce_graphics\images + + + JUCE Modules\juce_graphics\native + + + JUCE Modules\juce_graphics\native + + + JUCE Modules\juce_graphics\native + + + JUCE Modules\juce_graphics\native + + + JUCE Modules\juce_graphics\placement + + + JUCE Modules\juce_graphics\placement + + + JUCE Modules\juce_graphics + + + JUCE Modules\juce_gui_basics\accessibility\enums + + + JUCE Modules\juce_gui_basics\accessibility\enums + + + JUCE Modules\juce_gui_basics\accessibility\enums + + + JUCE Modules\juce_gui_basics\accessibility\interfaces + + + JUCE Modules\juce_gui_basics\accessibility\interfaces + + + JUCE Modules\juce_gui_basics\accessibility\interfaces + + + JUCE Modules\juce_gui_basics\accessibility\interfaces + + + JUCE Modules\juce_gui_basics\accessibility + + + JUCE Modules\juce_gui_basics\accessibility + + + JUCE Modules\juce_gui_basics\application + + + 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\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\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\components + + + JUCE Modules\juce_gui_basics\desktop + + + JUCE Modules\juce_gui_basics\desktop + + + 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\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\filebrowser + + + 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\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\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\lookandfeel + + + 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\menus + + + JUCE Modules\juce_gui_basics\menus + + + JUCE Modules\juce_gui_basics\menus + + + JUCE Modules\juce_gui_basics\menus + + + JUCE Modules\juce_gui_basics\misc + + + JUCE Modules\juce_gui_basics\misc + + + JUCE Modules\juce_gui_basics\misc + + + 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\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\x11 + + + JUCE Modules\juce_gui_basics\native\x11 + + + JUCE Modules\juce_gui_basics\native + + + JUCE Modules\juce_gui_basics\native + + + JUCE Modules\juce_gui_basics\native + + + 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\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\properties + + + 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\windows + + + 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\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\misc + + + JUCE Modules\juce_gui_extra\native + + + JUCE Modules\juce_gui_extra + + + JUCE Library Code + + + + + JUCE Modules\juce_audio_devices\native\oboe + + + JUCE Modules\juce_audio_devices\native\oboe + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7 + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK + + + JUCE Modules\juce_core\native\java + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + + + JUCE Library Code + + + diff --git a/extras/AudioPerformanceTest/Builds/VisualStudio2022/resources.rc b/extras/AudioPerformanceTest/Builds/VisualStudio2022/resources.rc new file mode 100644 index 00000000..3509c791 --- /dev/null +++ b/extras/AudioPerformanceTest/Builds/VisualStudio2022/resources.rc @@ -0,0 +1,33 @@ +#pragma code_page(65001) + +#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 "CompanyName", "Raw Material Software Limited\0" + VALUE "LegalCopyright", "Raw Material Software Limited\0" + VALUE "FileDescription", "AudioPerformanceTest\0" + VALUE "FileVersion", "1.0.0\0" + VALUE "ProductName", "AudioPerformanceTest\0" + VALUE "ProductVersion", "1.0.0\0" + END + END + + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1252 + END +END + +#endif diff --git a/extras/AudioPerformanceTest/Builds/iOS/AudioPerformanceTest.xcodeproj/project.pbxproj b/extras/AudioPerformanceTest/Builds/iOS/AudioPerformanceTest.xcodeproj/project.pbxproj index aa9b6dda..5ab0015f 100644 --- a/extras/AudioPerformanceTest/Builds/iOS/AudioPerformanceTest.xcodeproj/project.pbxproj +++ b/extras/AudioPerformanceTest/Builds/iOS/AudioPerformanceTest.xcodeproj/project.pbxproj @@ -241,7 +241,7 @@ 9CE2A44801B5B4BE7A9667DA = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1310; ORGANIZATIONNAME = "Raw Material Software Limited"; TargetAttributes = { E9FD2656EC625C9C8DE30219 = { @@ -322,11 +322,12 @@ 19B7C16D592FB25D09022191 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "-"; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_CXX_LANGUAGE_STANDARD = "c++14"; CLANG_CXX_LIBRARY = "libc++"; CLANG_LINK_OBJC_RUNTIME = NO; + CODE_SIGN_STYLE = Manual; COMBINE_HIDPI_IMAGES = YES; CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; COPY_PHASE_STRIP = NO; @@ -338,7 +339,7 @@ "JUCE_CONTENT_SHARING=1", "JUCE_DISPLAY_SPLASH_SCREEN=0", "JUCE_USE_DARK_SPLASH_SCREEN=1", - "JUCE_PROJUCER_VERSION=0x60100", + "JUCE_PROJUCER_VERSION=0x60103", "JUCE_MODULE_AVAILABLE_juce_audio_basics=1", "JUCE_MODULE_AVAILABLE_juce_audio_devices=1", "JUCE_MODULE_AVAILABLE_juce_audio_formats=1", @@ -376,6 +377,7 @@ MTL_HEADER_SEARCH_PATHS = "$(SRCROOT)/../../JuceLibraryCode $(SRCROOT)/../../../../modules"; PRODUCT_BUNDLE_IDENTIFIER = com.juce.AudioPerformanceTest; PRODUCT_NAME = "AudioPerformanceTest"; + PROVISIONING_PROFILE_SPECIFIER = ""; USE_HEADERMAP = NO; }; name = Debug; @@ -383,11 +385,12 @@ B7A6988E30C0A68B01EDC53B /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "-"; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_CXX_LANGUAGE_STANDARD = "c++14"; CLANG_CXX_LIBRARY = "libc++"; CLANG_LINK_OBJC_RUNTIME = NO; + CODE_SIGN_STYLE = Manual; COMBINE_HIDPI_IMAGES = YES; CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; DEAD_CODE_STRIPPING = YES; @@ -399,7 +402,7 @@ "JUCE_CONTENT_SHARING=1", "JUCE_DISPLAY_SPLASH_SCREEN=0", "JUCE_USE_DARK_SPLASH_SCREEN=1", - "JUCE_PROJUCER_VERSION=0x60100", + "JUCE_PROJUCER_VERSION=0x60103", "JUCE_MODULE_AVAILABLE_juce_audio_basics=1", "JUCE_MODULE_AVAILABLE_juce_audio_devices=1", "JUCE_MODULE_AVAILABLE_juce_audio_formats=1", @@ -438,6 +441,7 @@ MTL_HEADER_SEARCH_PATHS = "$(SRCROOT)/../../JuceLibraryCode $(SRCROOT)/../../../../modules"; PRODUCT_BUNDLE_IDENTIFIER = com.juce.AudioPerformanceTest; PRODUCT_NAME = "AudioPerformanceTest"; + PROVISIONING_PROFILE_SPECIFIER = ""; USE_HEADERMAP = NO; }; name = Release; @@ -445,7 +449,7 @@ B907CDF95622107F20CD7617 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "-"; ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ENABLE_OBJC_WEAK = YES; CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; @@ -496,7 +500,7 @@ BF82CBDF63CC37CADC61A511 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "-"; ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ENABLE_OBJC_WEAK = YES; CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; diff --git a/extras/AudioPluginHost/AudioPluginHost.jucer b/extras/AudioPluginHost/AudioPluginHost.jucer index ba364837..6ad7146c 100644 --- a/extras/AudioPluginHost/AudioPluginHost.jucer +++ b/extras/AudioPluginHost/AudioPluginHost.jucer @@ -123,6 +123,29 @@ + + + + + + + + + + + + + + + + + + + + + + @@ -205,6 +228,15 @@ + + + + + + + + + @@ -15,7 +16,8 @@ + android:screenOrientation="unspecified" android:launchMode="singleTask" android:hardwareAccelerated="true" + android:exported="true"> diff --git a/extras/AudioPluginHost/Builds/Android/app/src/main/assets/DSPDemos_Common.h b/extras/AudioPluginHost/Builds/Android/app/src/main/assets/DSPDemos_Common.h index 841a7c76..07a2bd7c 100644 --- a/extras/AudioPluginHost/Builds/Android/app/src/main/assets/DSPDemos_Common.h +++ b/extras/AudioPluginHost/Builds/Android/app/src/main/assets/DSPDemos_Common.h @@ -308,7 +308,11 @@ struct DSPDemo : public AudioSource, void getNextAudioBlock (const AudioSourceChannelInfo& bufferToFill) override { - jassert (bufferToFill.buffer != nullptr); + if (bufferToFill.buffer == nullptr) + { + jassertfalse; + return; + } inputSource->getNextAudioBlock (bufferToFill); @@ -414,7 +418,7 @@ public: #endif { if (newReader == nullptr) - newReader = formatManager.createReaderFor (fileToPlay.createInputStream (false)); + newReader = formatManager.createReaderFor (fileToPlay.createInputStream (URL::InputStreamOptions (URL::ParameterHandling::inAddress))); } reader.reset (newReader); diff --git a/extras/AudioPluginHost/Builds/Android/app/src/main/assets/DemoUtilities.h b/extras/AudioPluginHost/Builds/Android/app/src/main/assets/DemoUtilities.h index 96cf595a..73ac930a 100644 --- a/extras/AudioPluginHost/Builds/Android/app/src/main/assets/DemoUtilities.h +++ b/extras/AudioPluginHost/Builds/Android/app/src/main/assets/DemoUtilities.h @@ -17,14 +17,11 @@ ============================================================================== */ -#pragma once +#ifndef PIP_DEMO_UTILITIES_INCLUDED +#define PIP_DEMO_UTILITIES_INCLUDED 1 #include -#ifndef PIP_DEMO_UTILITIES_INCLUDED - #define PIP_DEMO_UTILITIES_INCLUDED 1 -#endif - //============================================================================== /* This file contains a bunch of miscellaneous utilities that are @@ -145,19 +142,10 @@ inline String loadEntireAssetIntoString (const char* assetName) inline Path getJUCELogoPath() { return Drawable::parseSVGPath ( - "M250,301.3c-37.2,0-67.5-30.3-67.5-67.5s30.3-67.5,67.5-67.5s67.5,30.3,67.5,67.5S287.2,301.3,250,301.3zM250,170.8c-34.7,0-63,28.3-63,63s28.3,63,63,63s63-28.3,63-63S284.7,170.8,250,170.8z" - "M247.8,180.4c0-2.3-1.8-4.1-4.1-4.1c-0.2,0-0.3,0-0.5,0c-10.6,1.2-20.6,5.4-29,12c-1,0.8-1.5,1.8-1.6,2.9c-0.1,1.2,0.4,2.3,1.3,3.2l32.5,32.5c0.5,0.5,1.4,0.1,1.4-0.6V180.4z" - "M303.2,231.6c1.2,0,2.3-0.4,3.1-1.2c0.9-0.9,1.3-2.1,1.1-3.3c-1.2-10.6-5.4-20.6-12-29c-0.8-1-1.9-1.6-3.2-1.6c-1.1,0-2.1,0.5-3,1.3l-32.5,32.5c-0.5,0.5-0.1,1.4,0.6,1.4L303.2,231.6z" - "M287.4,191.3c-0.1-1.1-0.6-2.2-1.6-2.9c-8.4-6.6-18.4-10.8-29-12c-0.2,0-0.3,0-0.5,0c-2.3,0-4.1,1.9-4.1,4.1v46c0,0.7,0.9,1.1,1.4,0.6l32.5-32.5C287,193.6,287.5,192.5,287.4,191.3z" - "M252.2,287.2c0,2.3,1.8,4.1,4.1,4.1c0.2,0,0.3,0,0.5,0c10.6-1.2,20.6-5.4,29-12c1-0.8,1.5-1.8,1.6-2.9c0.1-1.2-0.4-2.3-1.3-3.2l-32.5-32.5c-0.5-0.5-1.4-0.1-1.4,0.6V287.2z" - "M292.3,271.2L292.3,271.2c1.2,0,2.4-0.6,3.2-1.6c6.6-8.4,10.8-18.4,12-29c0.1-1.2-0.3-2.4-1.1-3.3c-0.8-0.8-1.9-1.2-3.1-1.2l-45.9,0c-0.7,0-1.1,0.9-0.6,1.4l32.5,32.5C290.2,270.8,291.2,271.2,292.3,271.2z" - "M207.7,196.4c-1.2,0-2.4,0.6-3.2,1.6c-6.6,8.4-10.8,18.4-12,29c-0.1,1.2,0.3,2.4,1.1,3.3c0.8,0.8,1.9,1.2,3.1,1.2l45.9,0c0.7,0,1.1-0.9,0.6-1.4l-32.5-32.5C209.8,196.8,208.8,196.4,207.7,196.4z" - "M242.6,236.1l-45.9,0c-1.2,0-2.3,0.4-3.1,1.2c-0.9,0.9-1.3,2.1-1.1,3.3c1.2,10.6,5.4,20.6,12,29c0.8,1,1.9,1.6,3.2,1.6c1.1,0,2.1-0.5,3-1.3c0,0,0,0,0,0l32.5-32.5C243.7,236.9,243.4,236.1,242.6,236.1z" - "M213.8,273.1L213.8,273.1c-0.9,0.9-1.3,2-1.3,3.2c0.1,1.1,0.6,2.2,1.6,2.9c8.4,6.6,18.4,10.8,29,12c0.2,0,0.3,0,0.5,0h0c1.2,0,2.3-0.5,3.1-1.4c0.7-0.8,1-1.8,1-2.9v-45.9c0-0.7-0.9-1.1-1.4-0.6l-13.9,13.9L213.8,273.1z" - "M197.2,353c-4.1,0-7.4-1.5-10.4-5.4l4-3.5c2,2.6,3.9,3.6,6.4,3.6c4.4,0,7.4-3.3,7.4-8.3v-24.7h5.6v24.7C210.2,347.5,204.8,353,197.2,353z" - "M232.4,353c-8.1,0-15-6-15-15.8v-22.5h5.6v22.2c0,6.6,3.9,10.8,9.5,10.8c5.6,0,9.5-4.3,9.5-10.8v-22.2h5.6v22.5C247.5,347,240.5,353,232.4,353z" - "M272,353c-10.8,0-19.5-8.6-19.5-19.3c0-10.8,8.8-19.3,19.5-19.3c4.8,0,9,1.6,12.3,4.4l-3.3,4.1c-3.4-2.4-5.7-3.2-8.9-3.2c-7.7,0-13.8,6.2-13.8,14.1c0,7.9,6.1,14.1,13.8,14.1c3.1,0,5.6-1,8.8-3.2l3.3,4.1C280.1,351.9,276.4,353,272,353z" - "M290.4,352.5v-37.8h22.7v5H296v11.2h16.5v5H296v11.6h17.2v5H290.4z"); + "M72.87 84.28A42.36 42.36 0 0130.4 42.14a42.48 42.48 0 0184.95 0 42.36 42.36 0 01-42.48 42.14zm0-78.67A36.74 36.74 0 0036 42.14a36.88 36.88 0 0073.75 0A36.75 36.75 0 0072.87 5.61z" + "M77.62 49.59a177.77 177.77 0 008.74 18.93A4.38 4.38 0 0092.69 70a34.5 34.5 0 008.84-9 4.3 4.3 0 00-2.38-6.49A176.73 176.73 0 0180 47.32a1.78 1.78 0 00-2.38 2.27zM81.05 44.27a169.68 169.68 0 0020.13 7.41 4.39 4.39 0 005.52-3.41 34.42 34.42 0 00.55-6.13 33.81 33.81 0 00-.67-6.72 4.37 4.37 0 00-6.31-3A192.32 192.32 0 0181.1 41a1.76 1.76 0 00-.05 3.27zM74.47 50.44a1.78 1.78 0 00-3.29 0 165.54 165.54 0 00-7.46 19.89 4.33 4.33 0 003.47 5.48 35.49 35.49 0 005.68.46 34.44 34.44 0 007.13-.79 4.32 4.32 0 003-6.25 187.83 187.83 0 01-8.53-18.79zM71.59 34.12a1.78 1.78 0 003.29.05 163.9 163.9 0 007.52-20.11A4.34 4.34 0 0079 8.59a35.15 35.15 0 00-13.06.17 4.32 4.32 0 00-3 6.26 188.41 188.41 0 018.65 19.1zM46.32 30.3a176.2 176.2 0 0120 7.48 1.78 1.78 0 002.37-2.28 180.72 180.72 0 00-9.13-19.84 4.38 4.38 0 00-6.33-1.47 34.27 34.27 0 00-9.32 9.65 4.31 4.31 0 002.41 6.46zM68.17 49.18a1.77 1.77 0 00-2.29-2.34 181.71 181.71 0 00-19.51 8.82A4.3 4.3 0 0044.91 62a34.36 34.36 0 009.42 8.88 4.36 4.36 0 006.5-2.38 175.11 175.11 0 017.34-19.32zM77.79 35.59a1.78 1.78 0 002.3 2.35 182.51 182.51 0 0019.6-8.88 4.3 4.3 0 001.5-6.25 34.4 34.4 0 00-9.41-9.14A4.36 4.36 0 0085.24 16a174.51 174.51 0 01-7.45 19.59zM64.69 40.6a167.72 167.72 0 00-20.22-7.44A4.36 4.36 0 0039 36.6a33.68 33.68 0 00-.45 5.54 34 34 0 00.81 7.4 4.36 4.36 0 006.28 2.84 189.19 189.19 0 0119-8.52 1.76 1.76 0 00.05-3.26zM20 129.315c0 5-2.72 8.16-7.11 8.16-2.37 0-4.17-1-6.2-3.56l-.69-.78-6 5 .57.76c3.25 4.36 7.16 6.39 12.31 6.39 9 0 15.34-6.57 15.34-16v-28.1H20zM61.69 126.505c0 6.66-3.76 11-9.57 11-5.81 0-9.56-4.31-9.56-11v-25.32h-8.23v25.69c0 10.66 7.4 18.4 17.6 18.4 10 0 17.61-7.72 18-18.4v-25.69h-8.24zM106.83 134.095c-3.58 2.43-6.18 3.38-9.25 3.38a14.53 14.53 0 010-29c3.24 0 5.66.88 9.25 3.38l.76.53 4.78-6-.75-.62a22.18 22.18 0 00-14.22-5.1 22.33 22.33 0 100 44.65 21.53 21.53 0 0014.39-5.08l.81-.64-5-6zM145.75 137.285h-19.06v-10.72h18.3v-7.61h-18.3v-10.16h19.06v-7.61h-27.28v43.53h27.28z" + "M68.015 83.917c-7.723-.902-15.472-4.123-21.566-8.966-8.475-6.736-14.172-16.823-15.574-27.575C29.303 35.31 33.538 22.7 42.21 13.631 49.154 6.368 58.07 1.902 68.042.695c2.15-.26 7.524-.26 9.675 0 12.488 1.512 23.464 8.25 30.437 18.686 8.332 12.471 9.318 28.123 2.605 41.368-2.28 4.5-4.337 7.359-7.85 10.909A42.273 42.273 0 0177.613 83.92c-2.027.227-7.644.225-9.598-.003zm7.823-5.596c8.435-.415 17.446-4.678 23.683-11.205 5.976-6.254 9.35-13.723 10.181-22.537.632-6.705-1.346-14.948-5.065-21.108C98.88 13.935 89.397 7.602 78.34 5.906c-2.541-.39-8.398-.386-10.96.006C53.54 8.034 42.185 17.542 37.81 30.67c-2.807 8.426-2.421 17.267 1.11 25.444 4.877 11.297 14.959 19.41 26.977 21.709 2.136.408 6.1.755 7.377.645.325-.028 1.48-.094 2.564-.147z" + ); } //============================================================================== @@ -253,3 +241,5 @@ struct SlowerBouncingNumber : public BouncingNumber speed *= 0.3; } }; + +#endif // PIP_DEMO_UTILITIES_INCLUDED diff --git a/extras/AudioPluginHost/Builds/Android/app/src/main/assets/juce_icon.png b/extras/AudioPluginHost/Builds/Android/app/src/main/assets/juce_icon.png index 2564a24f..7bccd5ba 100644 Binary files a/extras/AudioPluginHost/Builds/Android/app/src/main/assets/juce_icon.png and b/extras/AudioPluginHost/Builds/Android/app/src/main/assets/juce_icon.png differ diff --git a/extras/AudioPluginHost/Builds/Android/app/src/main/assets/juce_icon_template.png b/extras/AudioPluginHost/Builds/Android/app/src/main/assets/juce_icon_template.png index e2964f1c..b6a8314e 100644 Binary files a/extras/AudioPluginHost/Builds/Android/app/src/main/assets/juce_icon_template.png and b/extras/AudioPluginHost/Builds/Android/app/src/main/assets/juce_icon_template.png differ diff --git a/extras/AudioPluginHost/Builds/Android/app/src/main/res/drawable-hdpi/icon.png b/extras/AudioPluginHost/Builds/Android/app/src/main/res/drawable-hdpi/icon.png index f5caa4ef..85132224 100644 Binary files a/extras/AudioPluginHost/Builds/Android/app/src/main/res/drawable-hdpi/icon.png and b/extras/AudioPluginHost/Builds/Android/app/src/main/res/drawable-hdpi/icon.png differ diff --git a/extras/AudioPluginHost/Builds/Android/app/src/main/res/drawable-ldpi/icon.png b/extras/AudioPluginHost/Builds/Android/app/src/main/res/drawable-ldpi/icon.png index 8caa9bb8..21113de0 100644 Binary files a/extras/AudioPluginHost/Builds/Android/app/src/main/res/drawable-ldpi/icon.png and b/extras/AudioPluginHost/Builds/Android/app/src/main/res/drawable-ldpi/icon.png differ diff --git a/extras/AudioPluginHost/Builds/Android/app/src/main/res/drawable-mdpi/icon.png b/extras/AudioPluginHost/Builds/Android/app/src/main/res/drawable-mdpi/icon.png index b87302b4..1a750200 100644 Binary files a/extras/AudioPluginHost/Builds/Android/app/src/main/res/drawable-mdpi/icon.png and b/extras/AudioPluginHost/Builds/Android/app/src/main/res/drawable-mdpi/icon.png differ diff --git a/extras/AudioPluginHost/Builds/Android/app/src/main/res/drawable-xhdpi/icon.png b/extras/AudioPluginHost/Builds/Android/app/src/main/res/drawable-xhdpi/icon.png index 1895bc1c..c87491f8 100644 Binary files a/extras/AudioPluginHost/Builds/Android/app/src/main/res/drawable-xhdpi/icon.png and b/extras/AudioPluginHost/Builds/Android/app/src/main/res/drawable-xhdpi/icon.png differ diff --git a/extras/AudioPluginHost/Builds/LinuxMakefile/Makefile b/extras/AudioPluginHost/Builds/LinuxMakefile/Makefile index 51466d44..60e17b86 100644 --- a/extras/AudioPluginHost/Builds/LinuxMakefile/Makefile +++ b/extras/AudioPluginHost/Builds/LinuxMakefile/Makefile @@ -35,7 +35,7 @@ ifeq ($(CONFIG),Debug) TARGET_ARCH := endif - JUCE_CPPFLAGS := $(DEPFLAGS) "-DLINUX=1" "-DDEBUG=1" "-D_DEBUG=1" "-DJUCE_DISPLAY_SPLASH_SCREEN=0" "-DJUCE_USE_DARK_SPLASH_SCREEN=1" "-DJUCE_PROJUCER_VERSION=0x60100" "-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_MODULE_AVAILABLE_juce_cryptography=1" "-DJUCE_MODULE_AVAILABLE_juce_data_structures=1" "-DJUCE_MODULE_AVAILABLE_juce_dsp=1" "-DJUCE_MODULE_AVAILABLE_juce_events=1" "-DJUCE_MODULE_AVAILABLE_juce_graphics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1" "-DJUCE_MODULE_AVAILABLE_juce_opengl=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_WASAPI=1" "-DJUCE_DIRECTSOUND=1" "-DJUCE_ALSA=1" "-DJUCE_USE_FLAC=0" "-DJUCE_USE_OGGVORBIS=1" "-DJUCE_PLUGINHOST_VST3=1" "-DJUCE_PLUGINHOST_AU=1" "-DJUCE_PLUGINHOST_LADSPA=1" "-DJUCE_USE_CDREADER=0" "-DJUCE_USE_CDBURNER=0" "-DJUCE_WEB_BROWSER=0" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCER_LINUX_MAKE_6D53C8B4=1" "-DJUCE_APP_VERSION=1.0.0" "-DJUCE_APP_VERSION_HEX=0x10000" $(shell pkg-config --cflags alsa freetype2 libcurl) -pthread -I../../../../modules/juce_audio_processors/format_types/VST3_SDK -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS) + JUCE_CPPFLAGS := $(DEPFLAGS) "-DLINUX=1" "-DDEBUG=1" "-D_DEBUG=1" "-DJUCE_DISPLAY_SPLASH_SCREEN=0" "-DJUCE_USE_DARK_SPLASH_SCREEN=1" "-DJUCE_PROJUCER_VERSION=0x60103" "-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_MODULE_AVAILABLE_juce_cryptography=1" "-DJUCE_MODULE_AVAILABLE_juce_data_structures=1" "-DJUCE_MODULE_AVAILABLE_juce_dsp=1" "-DJUCE_MODULE_AVAILABLE_juce_events=1" "-DJUCE_MODULE_AVAILABLE_juce_graphics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1" "-DJUCE_MODULE_AVAILABLE_juce_opengl=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_WASAPI=1" "-DJUCE_DIRECTSOUND=1" "-DJUCE_ALSA=1" "-DJUCE_USE_FLAC=0" "-DJUCE_USE_OGGVORBIS=1" "-DJUCE_PLUGINHOST_VST3=1" "-DJUCE_PLUGINHOST_AU=1" "-DJUCE_PLUGINHOST_LADSPA=1" "-DJUCE_USE_CDREADER=0" "-DJUCE_USE_CDBURNER=0" "-DJUCE_WEB_BROWSER=0" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCER_LINUX_MAKE_6D53C8B4=1" "-DJUCE_APP_VERSION=1.0.0" "-DJUCE_APP_VERSION_HEX=0x10000" $(shell pkg-config --cflags alsa freetype2 libcurl) -pthread -I../../../../modules/juce_audio_processors/format_types/VST3_SDK -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS) JUCE_CPPFLAGS_APP := "-DJucePlugin_Build_VST=0" "-DJucePlugin_Build_VST3=0" "-DJucePlugin_Build_AU=0" "-DJucePlugin_Build_AUv3=0" "-DJucePlugin_Build_RTAS=0" "-DJucePlugin_Build_AAX=0" "-DJucePlugin_Build_Standalone=0" "-DJucePlugin_Build_Unity=0" JUCE_TARGET_APP := AudioPluginHost @@ -56,7 +56,7 @@ ifeq ($(CONFIG),Release) TARGET_ARCH := endif - JUCE_CPPFLAGS := $(DEPFLAGS) "-DLINUX=1" "-DNDEBUG=1" "-DJUCE_DISPLAY_SPLASH_SCREEN=0" "-DJUCE_USE_DARK_SPLASH_SCREEN=1" "-DJUCE_PROJUCER_VERSION=0x60100" "-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_MODULE_AVAILABLE_juce_cryptography=1" "-DJUCE_MODULE_AVAILABLE_juce_data_structures=1" "-DJUCE_MODULE_AVAILABLE_juce_dsp=1" "-DJUCE_MODULE_AVAILABLE_juce_events=1" "-DJUCE_MODULE_AVAILABLE_juce_graphics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1" "-DJUCE_MODULE_AVAILABLE_juce_opengl=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_WASAPI=1" "-DJUCE_DIRECTSOUND=1" "-DJUCE_ALSA=1" "-DJUCE_USE_FLAC=0" "-DJUCE_USE_OGGVORBIS=1" "-DJUCE_PLUGINHOST_VST3=1" "-DJUCE_PLUGINHOST_AU=1" "-DJUCE_PLUGINHOST_LADSPA=1" "-DJUCE_USE_CDREADER=0" "-DJUCE_USE_CDBURNER=0" "-DJUCE_WEB_BROWSER=0" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCER_LINUX_MAKE_6D53C8B4=1" "-DJUCE_APP_VERSION=1.0.0" "-DJUCE_APP_VERSION_HEX=0x10000" $(shell pkg-config --cflags alsa freetype2 libcurl) -pthread -I../../../../modules/juce_audio_processors/format_types/VST3_SDK -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS) + JUCE_CPPFLAGS := $(DEPFLAGS) "-DLINUX=1" "-DNDEBUG=1" "-DJUCE_DISPLAY_SPLASH_SCREEN=0" "-DJUCE_USE_DARK_SPLASH_SCREEN=1" "-DJUCE_PROJUCER_VERSION=0x60103" "-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_MODULE_AVAILABLE_juce_cryptography=1" "-DJUCE_MODULE_AVAILABLE_juce_data_structures=1" "-DJUCE_MODULE_AVAILABLE_juce_dsp=1" "-DJUCE_MODULE_AVAILABLE_juce_events=1" "-DJUCE_MODULE_AVAILABLE_juce_graphics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1" "-DJUCE_MODULE_AVAILABLE_juce_opengl=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_WASAPI=1" "-DJUCE_DIRECTSOUND=1" "-DJUCE_ALSA=1" "-DJUCE_USE_FLAC=0" "-DJUCE_USE_OGGVORBIS=1" "-DJUCE_PLUGINHOST_VST3=1" "-DJUCE_PLUGINHOST_AU=1" "-DJUCE_PLUGINHOST_LADSPA=1" "-DJUCE_USE_CDREADER=0" "-DJUCE_USE_CDBURNER=0" "-DJUCE_WEB_BROWSER=0" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCER_LINUX_MAKE_6D53C8B4=1" "-DJUCE_APP_VERSION=1.0.0" "-DJUCE_APP_VERSION_HEX=0x10000" $(shell pkg-config --cflags alsa freetype2 libcurl) -pthread -I../../../../modules/juce_audio_processors/format_types/VST3_SDK -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS) JUCE_CPPFLAGS_APP := "-DJucePlugin_Build_VST=0" "-DJucePlugin_Build_VST3=0" "-DJucePlugin_Build_AU=0" "-DJucePlugin_Build_AUv3=0" "-DJucePlugin_Build_RTAS=0" "-DJucePlugin_Build_AAX=0" "-DJucePlugin_Build_Standalone=0" "-DJucePlugin_Build_Unity=0" JUCE_TARGET_APP := AudioPluginHost @@ -74,6 +74,7 @@ OBJECTS_APP := \ $(JUCE_OBJDIR)/GraphEditorPanel_2223d925.o \ $(JUCE_OBJDIR)/MainHostWindow_b3494acd.o \ $(JUCE_OBJDIR)/HostStartup_5ce96f96.o \ + $(JUCE_OBJDIR)/BinaryData_ce4232d4.o \ $(JUCE_OBJDIR)/include_juce_audio_basics_8a4e984a.o \ $(JUCE_OBJDIR)/include_juce_audio_devices_63111d02.o \ $(JUCE_OBJDIR)/include_juce_audio_formats_15f82001.o \ @@ -132,6 +133,11 @@ $(JUCE_OBJDIR)/HostStartup_5ce96f96.o: ../../Source/HostStartup.cpp @echo "Compiling HostStartup.cpp" $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" +$(JUCE_OBJDIR)/BinaryData_ce4232d4.o: ../../JuceLibraryCode/BinaryData.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling BinaryData.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_APP) $(JUCE_CFLAGS_APP) -o "$@" -c "$<" + $(JUCE_OBJDIR)/include_juce_audio_basics_8a4e984a.o: ../../JuceLibraryCode/include_juce_audio_basics.cpp -$(V_AT)mkdir -p $(JUCE_OBJDIR) @echo "Compiling include_juce_audio_basics.cpp" diff --git a/extras/AudioPluginHost/Builds/MacOSX/AudioPluginHost.xcodeproj/project.pbxproj b/extras/AudioPluginHost/Builds/MacOSX/AudioPluginHost.xcodeproj/project.pbxproj index c9df1522..7617ce89 100644 --- a/extras/AudioPluginHost/Builds/MacOSX/AudioPluginHost.xcodeproj/project.pbxproj +++ b/extras/AudioPluginHost/Builds/MacOSX/AudioPluginHost.xcodeproj/project.pbxproj @@ -27,6 +27,7 @@ 7DE202DC1D876F49266D9E7D /* include_juce_events.mm */ = {isa = PBXBuildFile; fileRef = 8290D7BAC160B3A56B66891A; }; 7FF8A938915488310A7F5921 /* InternalPlugins.cpp */ = {isa = PBXBuildFile; fileRef = 87A7AAB053051C49EAF4EE88; }; 9056B642BEF870098DE344E5 /* Foundation.framework */ = {isa = PBXBuildFile; fileRef = 03FA420AACDD03D50AA16E4A; }; + A0144A682BF4843C8CF53FE4 /* BinaryData.cpp */ = {isa = PBXBuildFile; fileRef = 6D107D7946DC5976B766345B; }; A02C9F4C4B840C27B6CAFEBD /* QuartzCore.framework */ = {isa = PBXBuildFile; fileRef = 89309C0C5F3269BD06BE7F27; }; A09E93F1B354E1FF8B3E9ABE /* include_juce_data_structures.mm */ = {isa = PBXBuildFile; fileRef = 5EF1D381F42AA8764597F189; }; A1B0416DA378BB0C3AD6F74B /* HostStartup.cpp */ = {isa = PBXBuildFile; fileRef = A66EFAC64B1B67B536C73415; }; @@ -52,6 +53,9 @@ 04AABCD3491318FB32E844B4 /* MainHostWindow.cpp */ /* MainHostWindow.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MainHostWindow.cpp; path = ../../Source/UI/MainHostWindow.cpp; sourceTree = SOURCE_ROOT; }; 04DB9A49969ECC740CC25665 /* GraphEditorPanel.h */ /* GraphEditorPanel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = GraphEditorPanel.h; path = ../../Source/UI/GraphEditorPanel.h; sourceTree = SOURCE_ROOT; }; 0B1CC8C80F6F99BDE7D6AEC9 /* PluginGraph.cpp */ /* PluginGraph.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = PluginGraph.cpp; path = ../../Source/Plugins/PluginGraph.cpp; sourceTree = SOURCE_ROOT; }; + 11E6340DB6A6F68F5040101B /* reverb_ir.wav */ /* reverb_ir.wav */ = {isa = PBXFileReference; lastKnownFileType = file.wav; name = reverb_ir.wav; path = ../../../../examples/Assets/reverb_ir.wav; sourceTree = SOURCE_ROOT; }; + 17A29FEB16D4439351511947 /* guitar_amp.wav */ /* guitar_amp.wav */ = {isa = PBXFileReference; lastKnownFileType = file.wav; name = guitar_amp.wav; path = ../../../../examples/Assets/guitar_amp.wav; sourceTree = SOURCE_ROOT; }; + 1DADAD8E34AAF4AFF1C69DC4 /* BinaryData.h */ /* BinaryData.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = BinaryData.h; path = ../../JuceLibraryCode/BinaryData.h; sourceTree = SOURCE_ROOT; }; 2A6983F82B13F9E8B10299AE /* Icon.icns */ /* Icon.icns */ = {isa = PBXFileReference; lastKnownFileType = file.icns; name = Icon.icns; path = Icon.icns; sourceTree = SOURCE_ROOT; }; 2BE6C2DFD6EBB9A89109AEB5 /* include_juce_gui_extra.mm */ /* include_juce_gui_extra.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_gui_extra.mm; path = ../../JuceLibraryCode/include_juce_gui_extra.mm; sourceTree = SOURCE_ROOT; }; 36689CA4EFC2AF183A0848AE /* include_juce_dsp.mm */ /* include_juce_dsp.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_dsp.mm; path = ../../JuceLibraryCode/include_juce_dsp.mm; sourceTree = SOURCE_ROOT; }; @@ -59,6 +63,7 @@ 3C070DD522CDD11FFC87425D /* juce_audio_utils */ /* juce_audio_utils */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_audio_utils; path = ../../../../modules/juce_audio_utils; sourceTree = SOURCE_ROOT; }; 3D57FE2A8877F12A61054726 /* juce_core */ /* juce_core */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_core; path = ../../../../modules/juce_core; sourceTree = SOURCE_ROOT; }; 3D78A731234A833CA112AE45 /* GraphEditorPanel.cpp */ /* GraphEditorPanel.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = GraphEditorPanel.cpp; path = ../../Source/UI/GraphEditorPanel.cpp; sourceTree = SOURCE_ROOT; }; + 45098BAF7E088D41A4E69E42 /* singing.ogg */ /* singing.ogg */ = {isa = PBXFileReference; lastKnownFileType = file.ogg; name = singing.ogg; path = ../../../../examples/Assets/singing.ogg; sourceTree = SOURCE_ROOT; }; 46C3C2CD301CD59C51FD02D6 /* PluginGraph.h */ /* PluginGraph.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PluginGraph.h; path = ../../Source/Plugins/PluginGraph.h; sourceTree = SOURCE_ROOT; }; 4C7D82F9274A4F9DBF11235C /* include_juce_audio_basics.mm */ /* include_juce_audio_basics.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_audio_basics.mm; path = ../../JuceLibraryCode/include_juce_audio_basics.mm; sourceTree = SOURCE_ROOT; }; 4DF6E6E41E10965AD169143B /* IOKit.framework */ /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; }; @@ -74,6 +79,7 @@ 65968EA1B476D71F14DE1D58 /* include_juce_audio_devices.mm */ /* include_juce_audio_devices.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_audio_devices.mm; path = ../../JuceLibraryCode/include_juce_audio_devices.mm; sourceTree = SOURCE_ROOT; }; 683CEE986A2467C850FE99E6 /* include_juce_core.mm */ /* include_juce_core.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_core.mm; path = ../../JuceLibraryCode/include_juce_core.mm; sourceTree = SOURCE_ROOT; }; 6A71B2BCAC4239072BC2BD7E /* juce_audio_basics */ /* juce_audio_basics */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_audio_basics; path = ../../../../modules/juce_audio_basics; sourceTree = SOURCE_ROOT; }; + 6D107D7946DC5976B766345B /* BinaryData.cpp */ /* BinaryData.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = BinaryData.cpp; path = ../../JuceLibraryCode/BinaryData.cpp; sourceTree = SOURCE_ROOT; }; 7DA35787B5F6F7440D667CC8 /* RecentFilesMenuTemplate.nib */ /* RecentFilesMenuTemplate.nib */ = {isa = PBXFileReference; lastKnownFileType = file.nib; name = RecentFilesMenuTemplate.nib; path = RecentFilesMenuTemplate.nib; sourceTree = SOURCE_ROOT; }; 81C1A7770E082F56FE5A90A7 /* juce_opengl */ /* juce_opengl */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_opengl; path = ../../../../modules/juce_opengl; sourceTree = SOURCE_ROOT; }; 82800DBA287EF4BAB13B42FB /* include_juce_graphics.mm */ /* include_juce_graphics.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_graphics.mm; path = ../../JuceLibraryCode/include_juce_graphics.mm; sourceTree = SOURCE_ROOT; }; @@ -88,10 +94,13 @@ 94CB96C8E4B51F52776C2638 /* juce_graphics */ /* juce_graphics */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_graphics; path = ../../../../modules/juce_graphics; sourceTree = SOURCE_ROOT; }; 97918AB43AD460AFA8FA2FFE /* PluginWindow.h */ /* PluginWindow.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PluginWindow.h; path = ../../Source/UI/PluginWindow.h; sourceTree = SOURCE_ROOT; }; 9794142D24966F93FFDE51A1 /* Cocoa.framework */ /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; + 97E63C295843A1E665E70473 /* cello.wav */ /* cello.wav */ = {isa = PBXFileReference; lastKnownFileType = file.wav; name = cello.wav; path = ../../../../examples/Assets/cello.wav; sourceTree = SOURCE_ROOT; }; 9F9B445E6755CAA19E4344ED /* CoreAudio.framework */ /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; }; A5DFC13E4F09134B0D226A3E /* MainHostWindow.h */ /* MainHostWindow.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MainHostWindow.h; path = ../../Source/UI/MainHostWindow.h; sourceTree = SOURCE_ROOT; }; A5E7CA8A71D049BE2BD33861 /* JuceHeader.h */ /* JuceHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = SOURCE_ROOT; }; A66EFAC64B1B67B536C73415 /* HostStartup.cpp */ /* HostStartup.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = HostStartup.cpp; path = ../../Source/HostStartup.cpp; sourceTree = SOURCE_ROOT; }; + A692426308435C2002F988FE /* proaudio.path */ /* proaudio.path */ = {isa = PBXFileReference; lastKnownFileType = file.path; name = proaudio.path; path = ../../../../examples/Assets/proaudio.path; sourceTree = SOURCE_ROOT; }; + A872AF2CAFFC72109B9C6348 /* cassette_recorder.wav */ /* cassette_recorder.wav */ = {isa = PBXFileReference; lastKnownFileType = file.wav; name = cassette_recorder.wav; path = ../../../../examples/Assets/cassette_recorder.wav; sourceTree = SOURCE_ROOT; }; B0935EBBA4F6E2B05F3D1C0A /* Carbon.framework */ /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; }; B285CAB91AE928C476CA4F9C /* include_juce_audio_utils.mm */ /* include_juce_audio_utils.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_audio_utils.mm; path = ../../JuceLibraryCode/include_juce_audio_utils.mm; sourceTree = SOURCE_ROOT; }; B2A1E626CC120982805754F6 /* JUCEAppIcon.png */ /* JUCEAppIcon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = JUCEAppIcon.png; path = ../../Source/JUCEAppIcon.png; sourceTree = SOURCE_ROOT; }; @@ -136,6 +145,19 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + 49E2649CEC2DE569A9C985E6 /* BinaryData */ = { + isa = PBXGroup; + children = ( + A872AF2CAFFC72109B9C6348, + 97E63C295843A1E665E70473, + 17A29FEB16D4439351511947, + A692426308435C2002F988FE, + 11E6340DB6A6F68F5040101B, + 45098BAF7E088D41A4E69E42, + ); + name = BinaryData; + sourceTree = ""; + }; 65BEFC705A89E5C8A9E35C97 /* Source */ = { isa = PBXGroup; children = ( @@ -152,6 +174,8 @@ 7E30376DDAD775FEFE64944C /* JUCE Library Code */ = { isa = PBXGroup; children = ( + 6D107D7946DC5976B766345B, + 1DADAD8E34AAF4AFF1C69DC4, 4C7D82F9274A4F9DBF11235C, 65968EA1B476D71F14DE1D58, 5D250A57C7DEA80248F30EED, @@ -175,6 +199,7 @@ isa = PBXGroup; children = ( B225B7F2CAABD28A41E7C339, + 49E2649CEC2DE569A9C985E6, ); name = AudioPluginHost; sourceTree = ""; @@ -302,7 +327,7 @@ ADE6E539DB98A302483A82D0 = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1310; ORGANIZATIONNAME = "Raw Material Software Limited"; TargetAttributes = { DE12B7643D374BFF7E4FEB1C = { @@ -369,6 +394,7 @@ 3E1689E23B9C85F03209DCEF, F635D974599DEC2ED91E6A88, A1B0416DA378BB0C3AD6F74B, + A0144A682BF4843C8CF53FE4, 15CCE43D7DCFC649638919D4, 5C4D406B924230F83E3580AD, F4DD98B9310B679D50A2C8A6, @@ -395,10 +421,12 @@ CLANG_CXX_LANGUAGE_STANDARD = "c++14"; CLANG_CXX_LIBRARY = "libc++"; CLANG_LINK_OBJC_RUNTIME = NO; - CODE_SIGN_IDENTITY = ""; + CODE_SIGN_IDENTITY = "-"; + CODE_SIGN_STYLE = Manual; COMBINE_HIDPI_IMAGES = YES; CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; DEAD_CODE_STRIPPING = YES; + EXCLUDED_ARCHS = ""; GCC_GENERATE_DEBUGGING_SYMBOLS = NO; GCC_OPTIMIZATION_LEVEL = s; GCC_PREPROCESSOR_DEFINITIONS = ( @@ -406,7 +434,7 @@ "NDEBUG=1", "JUCE_DISPLAY_SPLASH_SCREEN=0", "JUCE_USE_DARK_SPLASH_SCREEN=1", - "JUCE_PROJUCER_VERSION=0x60100", + "JUCE_PROJUCER_VERSION=0x60103", "JUCE_MODULE_AVAILABLE_juce_audio_basics=1", "JUCE_MODULE_AVAILABLE_juce_audio_devices=1", "JUCE_MODULE_AVAILABLE_juce_audio_formats=1", @@ -459,9 +487,11 @@ LLVM_LTO = YES; MACOSX_DEPLOYMENT_TARGET = 10.11; MTL_HEADER_SEARCH_PATHS = "$(SRCROOT)/../../../../modules/juce_audio_processors/format_types/VST3_SDK $(SRCROOT)/../../JuceLibraryCode $(SRCROOT)/../../../../modules"; - OTHER_CPLUSPLUSFLAGS = "-Wall -Wshadow-all -Wshorten-64-to-32 -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wconversion -Wsign-compare -Wint-conversion -Wconditional-uninitialized -Woverloaded-virtual -Wreorder -Wconstant-conversion -Wsign-conversion -Wunused-private-field -Wbool-conversion -Wextra-semi -Wunreachable-code -Wzero-as-null-pointer-constant -Wcast-align -Winconsistent-missing-destructor-override -Wshift-sign-overflow -Wnullable-to-nonnull-conversion -Wno-missing-field-initializers -Wno-ignored-qualifiers -Wswitch-enum"; + OTHER_CFLAGS = "-Wall -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wswitch-enum -Wsign-conversion -Wsign-compare -Wunreachable-code -Wcast-align -Wno-ignored-qualifiers -Wshorten-64-to-32 -Wconversion -Wint-conversion -Wconditional-uninitialized -Wconstant-conversion -Wbool-conversion -Wextra-semi -Wshift-sign-overflow -Wno-missing-field-initializers -Wshadow-all -Wnullable-to-nonnull-conversion"; + OTHER_CPLUSPLUSFLAGS = "-Woverloaded-virtual -Wreorder -Wzero-as-null-pointer-constant -Wunused-private-field -Winconsistent-missing-destructor-override -Wall -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wswitch-enum -Wsign-conversion -Wsign-compare -Wunreachable-code -Wcast-align -Wno-ignored-qualifiers -Wshorten-64-to-32 -Wconversion -Wint-conversion -Wconditional-uninitialized -Wconstant-conversion -Wbool-conversion -Wextra-semi -Wshift-sign-overflow -Wno-missing-field-initializers -Wshadow-all -Wnullable-to-nonnull-conversion"; PRODUCT_BUNDLE_IDENTIFIER = com.juce.pluginhost; PRODUCT_NAME = "AudioPluginHost"; + PROVISIONING_PROFILE_SPECIFIER = ""; USE_HEADERMAP = NO; VALIDATE_WORKSPACE_SKIPPED_SDK_FRAMEWORKS = OpenGL; VALID_ARCHS = "i386 x86_64 arm64 arm64e"; @@ -490,7 +520,7 @@ CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = ""; + CODE_SIGN_IDENTITY = "-"; DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = NO; @@ -523,10 +553,12 @@ CLANG_CXX_LANGUAGE_STANDARD = "c++14"; CLANG_CXX_LIBRARY = "libc++"; CLANG_LINK_OBJC_RUNTIME = NO; - CODE_SIGN_IDENTITY = ""; + CODE_SIGN_IDENTITY = "-"; + CODE_SIGN_STYLE = Manual; COMBINE_HIDPI_IMAGES = YES; CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; COPY_PHASE_STRIP = NO; + EXCLUDED_ARCHS = ""; GCC_DYNAMIC_NO_PIC = NO; GCC_OPTIMIZATION_LEVEL = 0; GCC_PREPROCESSOR_DEFINITIONS = ( @@ -534,7 +566,7 @@ "DEBUG=1", "JUCE_DISPLAY_SPLASH_SCREEN=0", "JUCE_USE_DARK_SPLASH_SCREEN=1", - "JUCE_PROJUCER_VERSION=0x60100", + "JUCE_PROJUCER_VERSION=0x60103", "JUCE_MODULE_AVAILABLE_juce_audio_basics=1", "JUCE_MODULE_AVAILABLE_juce_audio_devices=1", "JUCE_MODULE_AVAILABLE_juce_audio_formats=1", @@ -586,9 +618,11 @@ INSTALL_PATH = "$(HOME)/Applications"; MACOSX_DEPLOYMENT_TARGET = 10.11; MTL_HEADER_SEARCH_PATHS = "$(SRCROOT)/../../../../modules/juce_audio_processors/format_types/VST3_SDK $(SRCROOT)/../../JuceLibraryCode $(SRCROOT)/../../../../modules"; - OTHER_CPLUSPLUSFLAGS = "-Wall -Wshadow-all -Wshorten-64-to-32 -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wconversion -Wsign-compare -Wint-conversion -Wconditional-uninitialized -Woverloaded-virtual -Wreorder -Wconstant-conversion -Wsign-conversion -Wunused-private-field -Wbool-conversion -Wextra-semi -Wunreachable-code -Wzero-as-null-pointer-constant -Wcast-align -Winconsistent-missing-destructor-override -Wshift-sign-overflow -Wnullable-to-nonnull-conversion -Wno-missing-field-initializers -Wno-ignored-qualifiers -Wswitch-enum"; + OTHER_CFLAGS = "-Wall -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wswitch-enum -Wsign-conversion -Wsign-compare -Wunreachable-code -Wcast-align -Wno-ignored-qualifiers -Wshorten-64-to-32 -Wconversion -Wint-conversion -Wconditional-uninitialized -Wconstant-conversion -Wbool-conversion -Wextra-semi -Wshift-sign-overflow -Wno-missing-field-initializers -Wshadow-all -Wnullable-to-nonnull-conversion"; + OTHER_CPLUSPLUSFLAGS = "-Woverloaded-virtual -Wreorder -Wzero-as-null-pointer-constant -Wunused-private-field -Winconsistent-missing-destructor-override -Wall -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wswitch-enum -Wsign-conversion -Wsign-compare -Wunreachable-code -Wcast-align -Wno-ignored-qualifiers -Wshorten-64-to-32 -Wconversion -Wint-conversion -Wconditional-uninitialized -Wconstant-conversion -Wbool-conversion -Wextra-semi -Wshift-sign-overflow -Wno-missing-field-initializers -Wshadow-all -Wnullable-to-nonnull-conversion"; PRODUCT_BUNDLE_IDENTIFIER = com.juce.pluginhost; PRODUCT_NAME = "AudioPluginHost"; + PROVISIONING_PROFILE_SPECIFIER = ""; USE_HEADERMAP = NO; VALIDATE_WORKSPACE_SKIPPED_SDK_FRAMEWORKS = OpenGL; VALID_ARCHS = "i386 x86_64 arm64 arm64e"; @@ -617,7 +651,7 @@ CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = ""; + CODE_SIGN_IDENTITY = "-"; DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = NO; diff --git a/extras/AudioPluginHost/Builds/MacOSX/Icon.icns b/extras/AudioPluginHost/Builds/MacOSX/Icon.icns index f207907b..9c894fa5 100644 Binary files a/extras/AudioPluginHost/Builds/MacOSX/Icon.icns and b/extras/AudioPluginHost/Builds/MacOSX/Icon.icns differ diff --git a/extras/AudioPluginHost/Builds/VisualStudio2015/AudioPluginHost.sln b/extras/AudioPluginHost/Builds/VisualStudio2015/AudioPluginHost.sln index dd8b369d..9d0e28d2 100644 --- a/extras/AudioPluginHost/Builds/VisualStudio2015/AudioPluginHost.sln +++ b/extras/AudioPluginHost/Builds/VisualStudio2015/AudioPluginHost.sln @@ -1,5 +1,6 @@ + Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2015 +# Visual Studio 14 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AudioPluginHost - App", "AudioPluginHost_App.vcxproj", "{5666EAA2-C82B-D06A-5228-D0E810428536}" EndProject diff --git a/extras/AudioPluginHost/Builds/VisualStudio2015/AudioPluginHost_App.vcxproj b/extras/AudioPluginHost/Builds/VisualStudio2015/AudioPluginHost_App.vcxproj index 264ef65e..c3578ccc 100644 --- a/extras/AudioPluginHost/Builds/VisualStudio2015/AudioPluginHost_App.vcxproj +++ b/extras/AudioPluginHost/Builds/VisualStudio2015/AudioPluginHost_App.vcxproj @@ -64,7 +64,7 @@ Disabled ProgramDatabase ..\..\..\..\modules\juce_audio_processors\format_types\VST3_SDK;..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60100;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_WASAPI=1;JUCE_DIRECTSOUND=1;JUCE_ALSA=1;JUCE_USE_FLAC=0;JUCE_USE_OGGVORBIS=1;JUCE_PLUGINHOST_VST3=1;JUCE_PLUGINHOST_AU=1;JUCE_PLUGINHOST_LADSPA=1;JUCE_USE_CDREADER=0;JUCE_USE_CDBURNER=0;JUCE_WEB_BROWSER=0;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) + _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_WASAPI=1;JUCE_DIRECTSOUND=1;JUCE_ALSA=1;JUCE_USE_FLAC=0;JUCE_USE_OGGVORBIS=1;JUCE_PLUGINHOST_VST3=1;JUCE_PLUGINHOST_AU=1;JUCE_PLUGINHOST_LADSPA=1;JUCE_USE_CDREADER=0;JUCE_USE_CDBURNER=0;JUCE_WEB_BROWSER=0;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) MultiThreadedDebugDLL true NotUsing @@ -106,7 +106,7 @@ Full ..\..\..\..\modules\juce_audio_processors\format_types\VST3_SDK;..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60100;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_WASAPI=1;JUCE_DIRECTSOUND=1;JUCE_ALSA=1;JUCE_USE_FLAC=0;JUCE_USE_OGGVORBIS=1;JUCE_PLUGINHOST_VST3=1;JUCE_PLUGINHOST_AU=1;JUCE_PLUGINHOST_LADSPA=1;JUCE_USE_CDREADER=0;JUCE_USE_CDBURNER=0;JUCE_WEB_BROWSER=0;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) + _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_WASAPI=1;JUCE_DIRECTSOUND=1;JUCE_ALSA=1;JUCE_USE_FLAC=0;JUCE_USE_OGGVORBIS=1;JUCE_PLUGINHOST_VST3=1;JUCE_PLUGINHOST_AU=1;JUCE_PLUGINHOST_LADSPA=1;JUCE_USE_CDREADER=0;JUCE_USE_CDBURNER=0;JUCE_WEB_BROWSER=0;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) MultiThreadedDLL true NotUsing @@ -1452,6 +1452,9 @@ true + + true + true @@ -2241,6 +2244,7 @@ true + @@ -2586,6 +2590,7 @@ + @@ -2630,6 +2635,7 @@ + @@ -2665,6 +2671,7 @@ + @@ -2899,6 +2906,7 @@ + @@ -3035,6 +3043,7 @@ + @@ -3089,7 +3098,6 @@ - @@ -3131,10 +3139,17 @@ + + + + + + + diff --git a/extras/AudioPluginHost/Builds/VisualStudio2015/AudioPluginHost_App.vcxproj.filters b/extras/AudioPluginHost/Builds/VisualStudio2015/AudioPluginHost_App.vcxproj.filters index cf9f527c..23621985 100644 --- a/extras/AudioPluginHost/Builds/VisualStudio2015/AudioPluginHost_App.vcxproj.filters +++ b/extras/AudioPluginHost/Builds/VisualStudio2015/AudioPluginHost_App.vcxproj.filters @@ -11,6 +11,9 @@ {57E59C1B-8971-243F-9A1A-8EABFD456232} + + {7FF9F684-A465-C086-BEFF-C3EF408A7A84} + {297DEAC9-184C-CA1D-D75C-DAA34116691C} @@ -1885,6 +1888,9 @@ JUCE Modules\juce_graphics\geometry + + JUCE Modules\juce_graphics\geometry + JUCE Modules\juce_graphics\image_formats\jpglib @@ -2737,6 +2743,9 @@ JUCE Modules\juce_opengl + + JUCE Library Code + JUCE Library Code @@ -3762,6 +3771,9 @@ JUCE Modules\juce_audio_processors\processors + + JUCE Modules\juce_audio_processors\processors + JUCE Modules\juce_audio_processors\processors @@ -3894,6 +3906,9 @@ JUCE Modules\juce_core\containers + + JUCE Modules\juce_core\containers + JUCE Modules\juce_core\containers @@ -3999,6 +4014,9 @@ JUCE Modules\juce_core\memory + + JUCE Modules\juce_core\memory + JUCE Modules\juce_core\memory @@ -4701,6 +4719,9 @@ JUCE Modules\juce_graphics\images + + JUCE Modules\juce_graphics\images + JUCE Modules\juce_graphics\native @@ -5109,6 +5130,9 @@ JUCE Modules\juce_gui_basics\native + + JUCE Modules\juce_gui_basics\native + JUCE Modules\juce_gui_basics\native @@ -5271,9 +5295,6 @@ JUCE Modules\juce_gui_extra\embedding - - JUCE Modules\juce_gui_extra\embedding - JUCE Modules\juce_gui_extra\embedding @@ -5397,6 +5418,9 @@ JUCE Modules\juce_opengl + + JUCE Library Code + JUCE Library Code @@ -5405,6 +5429,24 @@ AudioPluginHost\Source + + AudioPluginHost\BinaryData + + + AudioPluginHost\BinaryData + + + AudioPluginHost\BinaryData + + + AudioPluginHost\BinaryData + + + AudioPluginHost\BinaryData + + + AudioPluginHost\BinaryData + JUCE Modules\juce_audio_devices\native\oboe diff --git a/extras/AudioPluginHost/Builds/VisualStudio2015/icon.ico b/extras/AudioPluginHost/Builds/VisualStudio2015/icon.ico index a2d5c802..d2ad57bf 100644 Binary files a/extras/AudioPluginHost/Builds/VisualStudio2015/icon.ico and b/extras/AudioPluginHost/Builds/VisualStudio2015/icon.ico differ diff --git a/extras/AudioPluginHost/Builds/VisualStudio2017/AudioPluginHost.sln b/extras/AudioPluginHost/Builds/VisualStudio2017/AudioPluginHost.sln index 1711d5af..3ac0f3f0 100644 --- a/extras/AudioPluginHost/Builds/VisualStudio2017/AudioPluginHost.sln +++ b/extras/AudioPluginHost/Builds/VisualStudio2017/AudioPluginHost.sln @@ -1,5 +1,6 @@ + Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2017 +# Visual Studio 15 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AudioPluginHost - App", "AudioPluginHost_App.vcxproj", "{5666EAA2-C82B-D06A-5228-D0E810428536}" EndProject diff --git a/extras/AudioPluginHost/Builds/VisualStudio2017/AudioPluginHost_App.vcxproj b/extras/AudioPluginHost/Builds/VisualStudio2017/AudioPluginHost_App.vcxproj index f5d5369e..60619373 100644 --- a/extras/AudioPluginHost/Builds/VisualStudio2017/AudioPluginHost_App.vcxproj +++ b/extras/AudioPluginHost/Builds/VisualStudio2017/AudioPluginHost_App.vcxproj @@ -64,7 +64,7 @@ Disabled ProgramDatabase ..\..\..\..\modules\juce_audio_processors\format_types\VST3_SDK;..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60100;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_WASAPI=1;JUCE_DIRECTSOUND=1;JUCE_ALSA=1;JUCE_USE_FLAC=0;JUCE_USE_OGGVORBIS=1;JUCE_PLUGINHOST_VST3=1;JUCE_PLUGINHOST_AU=1;JUCE_PLUGINHOST_LADSPA=1;JUCE_USE_CDREADER=0;JUCE_USE_CDBURNER=0;JUCE_WEB_BROWSER=0;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2017_78A5024=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) + _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_WASAPI=1;JUCE_DIRECTSOUND=1;JUCE_ALSA=1;JUCE_USE_FLAC=0;JUCE_USE_OGGVORBIS=1;JUCE_PLUGINHOST_VST3=1;JUCE_PLUGINHOST_AU=1;JUCE_PLUGINHOST_LADSPA=1;JUCE_USE_CDREADER=0;JUCE_USE_CDBURNER=0;JUCE_WEB_BROWSER=0;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2017_78A5024=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) MultiThreadedDebugDLL true NotUsing @@ -106,7 +106,7 @@ Full ..\..\..\..\modules\juce_audio_processors\format_types\VST3_SDK;..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60100;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_WASAPI=1;JUCE_DIRECTSOUND=1;JUCE_ALSA=1;JUCE_USE_FLAC=0;JUCE_USE_OGGVORBIS=1;JUCE_PLUGINHOST_VST3=1;JUCE_PLUGINHOST_AU=1;JUCE_PLUGINHOST_LADSPA=1;JUCE_USE_CDREADER=0;JUCE_USE_CDBURNER=0;JUCE_WEB_BROWSER=0;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2017_78A5024=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) + _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_WASAPI=1;JUCE_DIRECTSOUND=1;JUCE_ALSA=1;JUCE_USE_FLAC=0;JUCE_USE_OGGVORBIS=1;JUCE_PLUGINHOST_VST3=1;JUCE_PLUGINHOST_AU=1;JUCE_PLUGINHOST_LADSPA=1;JUCE_USE_CDREADER=0;JUCE_USE_CDBURNER=0;JUCE_WEB_BROWSER=0;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2017_78A5024=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) MultiThreadedDLL true NotUsing @@ -1452,6 +1452,9 @@ true + + true + true @@ -2241,6 +2244,7 @@ true + @@ -2586,6 +2590,7 @@ + @@ -2630,6 +2635,7 @@ + @@ -2665,6 +2671,7 @@ + @@ -2899,6 +2906,7 @@ + @@ -3035,6 +3043,7 @@ + @@ -3089,7 +3098,6 @@ - @@ -3131,10 +3139,17 @@ + + + + + + + diff --git a/extras/AudioPluginHost/Builds/VisualStudio2017/AudioPluginHost_App.vcxproj.filters b/extras/AudioPluginHost/Builds/VisualStudio2017/AudioPluginHost_App.vcxproj.filters index 473026a0..4ffb844f 100644 --- a/extras/AudioPluginHost/Builds/VisualStudio2017/AudioPluginHost_App.vcxproj.filters +++ b/extras/AudioPluginHost/Builds/VisualStudio2017/AudioPluginHost_App.vcxproj.filters @@ -11,6 +11,9 @@ {57E59C1B-8971-243F-9A1A-8EABFD456232} + + {7FF9F684-A465-C086-BEFF-C3EF408A7A84} + {297DEAC9-184C-CA1D-D75C-DAA34116691C} @@ -1885,6 +1888,9 @@ JUCE Modules\juce_graphics\geometry + + JUCE Modules\juce_graphics\geometry + JUCE Modules\juce_graphics\image_formats\jpglib @@ -2737,6 +2743,9 @@ JUCE Modules\juce_opengl + + JUCE Library Code + JUCE Library Code @@ -3762,6 +3771,9 @@ JUCE Modules\juce_audio_processors\processors + + JUCE Modules\juce_audio_processors\processors + JUCE Modules\juce_audio_processors\processors @@ -3894,6 +3906,9 @@ JUCE Modules\juce_core\containers + + JUCE Modules\juce_core\containers + JUCE Modules\juce_core\containers @@ -3999,6 +4014,9 @@ JUCE Modules\juce_core\memory + + JUCE Modules\juce_core\memory + JUCE Modules\juce_core\memory @@ -4701,6 +4719,9 @@ JUCE Modules\juce_graphics\images + + JUCE Modules\juce_graphics\images + JUCE Modules\juce_graphics\native @@ -5109,6 +5130,9 @@ JUCE Modules\juce_gui_basics\native + + JUCE Modules\juce_gui_basics\native + JUCE Modules\juce_gui_basics\native @@ -5271,9 +5295,6 @@ JUCE Modules\juce_gui_extra\embedding - - JUCE Modules\juce_gui_extra\embedding - JUCE Modules\juce_gui_extra\embedding @@ -5397,6 +5418,9 @@ JUCE Modules\juce_opengl + + JUCE Library Code + JUCE Library Code @@ -5405,6 +5429,24 @@ AudioPluginHost\Source + + AudioPluginHost\BinaryData + + + AudioPluginHost\BinaryData + + + AudioPluginHost\BinaryData + + + AudioPluginHost\BinaryData + + + AudioPluginHost\BinaryData + + + AudioPluginHost\BinaryData + JUCE Modules\juce_audio_devices\native\oboe diff --git a/extras/AudioPluginHost/Builds/VisualStudio2017/icon.ico b/extras/AudioPluginHost/Builds/VisualStudio2017/icon.ico index a2d5c802..d2ad57bf 100644 Binary files a/extras/AudioPluginHost/Builds/VisualStudio2017/icon.ico and b/extras/AudioPluginHost/Builds/VisualStudio2017/icon.ico differ diff --git a/extras/AudioPluginHost/Builds/VisualStudio2019/AudioPluginHost.sln b/extras/AudioPluginHost/Builds/VisualStudio2019/AudioPluginHost.sln index 80fab7f6..2e760d14 100644 --- a/extras/AudioPluginHost/Builds/VisualStudio2019/AudioPluginHost.sln +++ b/extras/AudioPluginHost/Builds/VisualStudio2019/AudioPluginHost.sln @@ -1,5 +1,6 @@ + Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2019 +# Visual Studio Version 16 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AudioPluginHost - App", "AudioPluginHost_App.vcxproj", "{5666EAA2-C82B-D06A-5228-D0E810428536}" EndProject diff --git a/extras/AudioPluginHost/Builds/VisualStudio2019/AudioPluginHost_App.vcxproj b/extras/AudioPluginHost/Builds/VisualStudio2019/AudioPluginHost_App.vcxproj index 42ec7ed3..07452e16 100644 --- a/extras/AudioPluginHost/Builds/VisualStudio2019/AudioPluginHost_App.vcxproj +++ b/extras/AudioPluginHost/Builds/VisualStudio2019/AudioPluginHost_App.vcxproj @@ -64,7 +64,7 @@ Disabled ProgramDatabase ..\..\..\..\modules\juce_audio_processors\format_types\VST3_SDK;..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60100;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_WASAPI=1;JUCE_DIRECTSOUND=1;JUCE_ALSA=1;JUCE_USE_FLAC=0;JUCE_USE_OGGVORBIS=1;JUCE_PLUGINHOST_VST3=1;JUCE_PLUGINHOST_AU=1;JUCE_PLUGINHOST_LADSPA=1;JUCE_USE_CDREADER=0;JUCE_USE_CDBURNER=0;JUCE_WEB_BROWSER=0;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2019_78A5026=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) + _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_WASAPI=1;JUCE_DIRECTSOUND=1;JUCE_ALSA=1;JUCE_USE_FLAC=0;JUCE_USE_OGGVORBIS=1;JUCE_PLUGINHOST_VST3=1;JUCE_PLUGINHOST_AU=1;JUCE_PLUGINHOST_LADSPA=1;JUCE_USE_CDREADER=0;JUCE_USE_CDBURNER=0;JUCE_WEB_BROWSER=0;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2019_78A5026=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) MultiThreadedDebugDLL true NotUsing @@ -106,7 +106,7 @@ Full ..\..\..\..\modules\juce_audio_processors\format_types\VST3_SDK;..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60100;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_WASAPI=1;JUCE_DIRECTSOUND=1;JUCE_ALSA=1;JUCE_USE_FLAC=0;JUCE_USE_OGGVORBIS=1;JUCE_PLUGINHOST_VST3=1;JUCE_PLUGINHOST_AU=1;JUCE_PLUGINHOST_LADSPA=1;JUCE_USE_CDREADER=0;JUCE_USE_CDBURNER=0;JUCE_WEB_BROWSER=0;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2019_78A5026=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) + _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_WASAPI=1;JUCE_DIRECTSOUND=1;JUCE_ALSA=1;JUCE_USE_FLAC=0;JUCE_USE_OGGVORBIS=1;JUCE_PLUGINHOST_VST3=1;JUCE_PLUGINHOST_AU=1;JUCE_PLUGINHOST_LADSPA=1;JUCE_USE_CDREADER=0;JUCE_USE_CDBURNER=0;JUCE_WEB_BROWSER=0;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2019_78A5026=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) MultiThreadedDLL true NotUsing @@ -1452,6 +1452,9 @@ true + + true + true @@ -2241,6 +2244,7 @@ true + @@ -2586,6 +2590,7 @@ + @@ -2630,6 +2635,7 @@ + @@ -2665,6 +2671,7 @@ + @@ -2899,6 +2906,7 @@ + @@ -3035,6 +3043,7 @@ + @@ -3089,7 +3098,6 @@ - @@ -3131,10 +3139,17 @@ + + + + + + + diff --git a/extras/AudioPluginHost/Builds/VisualStudio2019/AudioPluginHost_App.vcxproj.filters b/extras/AudioPluginHost/Builds/VisualStudio2019/AudioPluginHost_App.vcxproj.filters index aaf79e09..9e1fdb24 100644 --- a/extras/AudioPluginHost/Builds/VisualStudio2019/AudioPluginHost_App.vcxproj.filters +++ b/extras/AudioPluginHost/Builds/VisualStudio2019/AudioPluginHost_App.vcxproj.filters @@ -11,6 +11,9 @@ {57E59C1B-8971-243F-9A1A-8EABFD456232} + + {7FF9F684-A465-C086-BEFF-C3EF408A7A84} + {297DEAC9-184C-CA1D-D75C-DAA34116691C} @@ -1885,6 +1888,9 @@ JUCE Modules\juce_graphics\geometry + + JUCE Modules\juce_graphics\geometry + JUCE Modules\juce_graphics\image_formats\jpglib @@ -2737,6 +2743,9 @@ JUCE Modules\juce_opengl + + JUCE Library Code + JUCE Library Code @@ -3762,6 +3771,9 @@ JUCE Modules\juce_audio_processors\processors + + JUCE Modules\juce_audio_processors\processors + JUCE Modules\juce_audio_processors\processors @@ -3894,6 +3906,9 @@ JUCE Modules\juce_core\containers + + JUCE Modules\juce_core\containers + JUCE Modules\juce_core\containers @@ -3999,6 +4014,9 @@ JUCE Modules\juce_core\memory + + JUCE Modules\juce_core\memory + JUCE Modules\juce_core\memory @@ -4701,6 +4719,9 @@ JUCE Modules\juce_graphics\images + + JUCE Modules\juce_graphics\images + JUCE Modules\juce_graphics\native @@ -5109,6 +5130,9 @@ JUCE Modules\juce_gui_basics\native + + JUCE Modules\juce_gui_basics\native + JUCE Modules\juce_gui_basics\native @@ -5271,9 +5295,6 @@ JUCE Modules\juce_gui_extra\embedding - - JUCE Modules\juce_gui_extra\embedding - JUCE Modules\juce_gui_extra\embedding @@ -5397,6 +5418,9 @@ JUCE Modules\juce_opengl + + JUCE Library Code + JUCE Library Code @@ -5405,6 +5429,24 @@ AudioPluginHost\Source + + AudioPluginHost\BinaryData + + + AudioPluginHost\BinaryData + + + AudioPluginHost\BinaryData + + + AudioPluginHost\BinaryData + + + AudioPluginHost\BinaryData + + + AudioPluginHost\BinaryData + JUCE Modules\juce_audio_devices\native\oboe diff --git a/extras/AudioPluginHost/Builds/VisualStudio2019/icon.ico b/extras/AudioPluginHost/Builds/VisualStudio2019/icon.ico index a2d5c802..d2ad57bf 100644 Binary files a/extras/AudioPluginHost/Builds/VisualStudio2019/icon.ico and b/extras/AudioPluginHost/Builds/VisualStudio2019/icon.ico differ diff --git a/extras/AudioPluginHost/Builds/VisualStudio2022/AudioPluginHost.sln b/extras/AudioPluginHost/Builds/VisualStudio2022/AudioPluginHost.sln new file mode 100644 index 00000000..938089fd --- /dev/null +++ b/extras/AudioPluginHost/Builds/VisualStudio2022/AudioPluginHost.sln @@ -0,0 +1,21 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio Version 17 + +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AudioPluginHost - App", "AudioPluginHost_App.vcxproj", "{5666EAA2-C82B-D06A-5228-D0E810428536}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 + Release|x64 = Release|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {5666EAA2-C82B-D06A-5228-D0E810428536}.Debug|x64.ActiveCfg = Debug|x64 + {5666EAA2-C82B-D06A-5228-D0E810428536}.Debug|x64.Build.0 = Debug|x64 + {5666EAA2-C82B-D06A-5228-D0E810428536}.Release|x64.ActiveCfg = Release|x64 + {5666EAA2-C82B-D06A-5228-D0E810428536}.Release|x64.Build.0 = Release|x64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/extras/AudioPluginHost/Builds/VisualStudio2022/AudioPluginHost_App.vcxproj b/extras/AudioPluginHost/Builds/VisualStudio2022/AudioPluginHost_App.vcxproj new file mode 100644 index 00000000..fe26c46f --- /dev/null +++ b/extras/AudioPluginHost/Builds/VisualStudio2022/AudioPluginHost_App.vcxproj @@ -0,0 +1,3177 @@ + + + + + + Debug + x64 + + + Release + x64 + + + + {5666EAA2-C82B-D06A-5228-D0E810428536} + + + + Application + false + false + v143 + 10.0 + + + Application + false + true + v143 + 10.0 + + + + + + + + <_ProjectFileVersion>10.0.30319.1 + .exe + $(SolutionDir)$(Platform)\$(Configuration)\App\ + $(Platform)\$(Configuration)\App\ + AudioPluginHost + true + $(SolutionDir)$(Platform)\$(Configuration)\App\ + $(Platform)\$(Configuration)\App\ + AudioPluginHost + true + + + + _DEBUG;%(PreprocessorDefinitions) + true + true + Win32 + + + + Disabled + ProgramDatabase + ..\..\..\..\modules\juce_audio_processors\format_types\VST3_SDK;..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) + _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_WASAPI=1;JUCE_DIRECTSOUND=1;JUCE_ALSA=1;JUCE_USE_FLAC=0;JUCE_USE_OGGVORBIS=1;JUCE_PLUGINHOST_VST3=1;JUCE_PLUGINHOST_AU=1;JUCE_PLUGINHOST_LADSPA=1;JUCE_USE_CDREADER=0;JUCE_USE_CDBURNER=0;JUCE_WEB_BROWSER=0;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2022_78A503E=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) + MultiThreadedDebugDLL + true + NotUsing + $(IntDir)\ + $(IntDir)\ + $(IntDir)\AudioPluginHost.pdb + Level4 + true + true + /w44265 /w45038 /w44062 %(AdditionalOptions) + stdcpp14 + + + _DEBUG;%(PreprocessorDefinitions) + + + $(OutDir)\AudioPluginHost.exe + true + libcmt.lib; msvcrt.lib;;%(IgnoreSpecificDefaultLibraries) + true + $(IntDir)\AudioPluginHost.pdb + Windows + true + + + true + $(IntDir)\AudioPluginHost.bsc + + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + Win32 + + + + Full + ..\..\..\..\modules\juce_audio_processors\format_types\VST3_SDK;..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) + _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_WASAPI=1;JUCE_DIRECTSOUND=1;JUCE_ALSA=1;JUCE_USE_FLAC=0;JUCE_USE_OGGVORBIS=1;JUCE_PLUGINHOST_VST3=1;JUCE_PLUGINHOST_AU=1;JUCE_PLUGINHOST_LADSPA=1;JUCE_USE_CDREADER=0;JUCE_USE_CDBURNER=0;JUCE_WEB_BROWSER=0;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2022_78A503E=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) + MultiThreadedDLL + true + NotUsing + $(IntDir)\ + $(IntDir)\ + $(IntDir)\AudioPluginHost.pdb + Level4 + true + true + /w44265 /w45038 /w44062 %(AdditionalOptions) + stdcpp14 + + + NDEBUG;%(PreprocessorDefinitions) + + + $(OutDir)\AudioPluginHost.exe + true + %(IgnoreSpecificDefaultLibraries) + false + $(IntDir)\AudioPluginHost.pdb + Windows + true + true + true + UseLinkTimeCodeGeneration + + + true + $(IntDir)\AudioPluginHost.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 + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + + + + + + + + + + + + + /bigobj %(AdditionalOptions) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/extras/AudioPluginHost/Builds/VisualStudio2022/AudioPluginHost_App.vcxproj.filters b/extras/AudioPluginHost/Builds/VisualStudio2022/AudioPluginHost_App.vcxproj.filters new file mode 100644 index 00000000..aae8277f --- /dev/null +++ b/extras/AudioPluginHost/Builds/VisualStudio2022/AudioPluginHost_App.vcxproj.filters @@ -0,0 +1,5510 @@ + + + + + + {346E906D-8A2B-A93A-4C90-BCD3C60D2FD0} + + + {8C61EB30-11E6-7029-4CC8-56C52EB1F1C3} + + + {57E59C1B-8971-243F-9A1A-8EABFD456232} + + + {7FF9F684-A465-C086-BEFF-C3EF408A7A84} + + + {297DEAC9-184C-CA1D-D75C-DAA34116691C} + + + {EB58F05A-A968-CEBE-40C4-107CDD8F240F} + + + {5FCF559E-451A-CB1E-B177-A5DC5A0005BB} + + + {05CE33FC-868F-AA1A-12B8-79C98E753648} + + + {D78296AF-218E-B17E-7F8B-9D148601188D} + + + {B96EBA26-E668-FFAF-FC53-1EC1337DAF5A} + + + {D8532E5E-469E-5042-EFC8-238241704735} + + + {777B5D1D-9AF0-B22B-8894-034603EE97F5} + + + {8292766D-2459-2E7E-7615-17216318BA93} + + + {9BD56105-DAB4-EBD5-00DD-BD540E98FE88} + + + {10472B2C-9888-D269-F351-0D0AC3BCD16C} + + + {BF23FC10-1D57-2A9B-706F-6DD8A7B593D4} + + + {386862D5-4DCC-A4B3-5642-60A201E303EF} + + + {092EFC17-7C95-7E04-0ACA-0D61A462EE81} + + + {285118C6-8FDA-7DCE-BEF4-FFB2120876C5} + + + {69ED6B61-9B8D-D47E-E4A6-2E9F9A94A75A} + + + {7CDB7CD1-BB96-F593-3C78-1E06182B5839} + + + {B0A708DE-B4CF-196B-14FB-DC8221509B8E} + + + {34F46ADE-EE31-227A-A69E-7732E70145F1} + + + {BB9B3C77-17FB-E994-8B75-88F1727E4655} + + + {C0971D77-2F14-190A-E2AE-89D6285F4D5A} + + + {AABEA333-6524-8891-51C7-6DAEB5700628} + + + {F2D29337-983E-BAD7-7B5C-E0AB3D53D404} + + + {C674B0FB-1FC0-2986-94B1-083845018994} + + + {0AFC1CE8-F6E6-9817-8C21-8432B2A375DA} + + + {0D1AF264-3AC1-78A2-B2A4-AE6171F9194A} + + + {9A5DB854-CFFB-5F88-C566-0E10F994DDB3} + + + {38A5DDC7-416E-548F-39DA-887875FE6B20} + + + {980FE2DB-05D3-5FDA-79DA-067A56F5D19D} + + + {F336DC25-747A-0663-93D6-E3EB9AA0CBF8} + + + {7D78546A-80FC-4DCA-00B9-F191F0AB2179} + + + {9EB3EC7F-2AB7-DDAA-3C05-DF382B728D3F} + + + {6B9FBFDC-1D10-6246-356D-00FF4535CECB} + + + {D6FCFC8E-7136-9109-78C0-91A3EB4C443F} + + + {EBF18AC1-F0ED-937A-2824-4307CE2ADAF7} + + + {5A0F7922-2EFB-6465-57E4-A445B804EFB5} + + + {4EC45416-0E7C-7567-6F75-D0C8CEE7DC4F} + + + {C2985031-0496-55B5-41A8-BAB99E53D89D} + + + {FB4AB426-7009-0036-BB75-E34256AA7C89} + + + {E684D858-09E8-0251-8E86-5657129641E1} + + + {1EF1BF17-F941-243A-04D1-EE617D140CBA} + + + {344DB016-679C-FBD0-3EC6-4570C47522DE} + + + {3D9758A0-9359-1710-87C1-05D475C08B17} + + + {E824435F-FC7B-10BE-5D1A-5DACC51A8836} + + + {86737735-F6BA-F64A-5EC7-5C9F36755F79} + + + {4DC60E78-BBC0-B540-63A2-37E14ABBEF09} + + + {80C72173-A1E1-C3C5-9288-B889CE2EAFEA} + + + {4138B955-AA0B-FA86-DBF9-404CAFFFA866} + + + {2B4166B8-F470-F07C-4F51-D2DAAAECBB18} + + + {9C295115-C0CD-3129-1C4D-FB53299B23FB} + + + {65526A8B-3447-9DF0-FD5D-00D111126027} + + + {A54A1F5C-F32F-F97B-9E8A-69922B770A54} + + + {B90A44F3-B62D-B5C0-81A2-683D2650AEE6} + + + {DAF30656-5915-0E45-C4E4-54439617D525} + + + {9266EA90-6A0A-5DDB-9CB7-966BEF03BA5C} + + + {9C713CBA-A9E2-5F4E-F83C-2CAB8533913C} + + + {63571A07-9AA3-5BB0-1103-0B42A2E6BC9E} + + + {314F43F2-BC8F-B464-EAE7-86B9675454E9} + + + {874C5D0C-6D29-68EE-38BB-26200B56BC89} + + + {86BAA7A7-DC50-35B6-910B-932AEAF257F2} + + + {6B7BE34D-1BC1-C7B9-111F-C55CA8250943} + + + {9B6B6D54-D378-80C2-8CC9-D1D8FB44C2A8} + + + {D0584AC3-6837-14F6-90BF-5EA604D1F074} + + + {794B64EC-B809-32E3-AD00-4EE6A74802CA} + + + {67BE498C-9E1F-C73A-B99A-387C034CE680} + + + {1A9C8538-959B-25E3-473D-B462C9A9D458} + + + {AA9F594C-DFAF-C0A7-0CCD-9F90E54D3A01} + + + {230BF784-34F4-3BE8-46D4-54E6B67E5E9E} + + + {39F680F3-5161-4D1C-EAD0-3911ED808874} + + + {3197198B-A978-E330-C7FB-07E5CE8236C7} + + + {42F7BE9D-3C8A-AE26-289B-8F355C068036} + + + {7868764A-6572-381A-906C-9C26792A4C29} + + + {03678508-A517-48BB-FB4A-485628C34E08} + + + {07D27C1D-3227-F527-356C-17DA11551A99} + + + {6146D580-99D2-A6C8-5908-30DC355BB6BA} + + + {C67003E8-BEA8-2188-F4B3-A122F4B4FA3F} + + + {09B91E68-1FF4-C7ED-9055-D4D96E66A0BA} + + + {30B3DA63-C1E4-F2EA-CEF0-8035D8CBFF64} + + + {4F24EEED-AA33-AC6C-9A39-72E71CF83EF0} + + + {0F70B1A9-BB50-23F5-2AE7-F95E51A00389} + + + {D4C8DC40-2CD2-04B6-05D0-1E7A88841390} + + + {58BED6AF-DB89-7560-B2B8-D937C1C0825A} + + + {B958F86B-6926-8D9B-2FC6-8BFD4BDC72C9} + + + {DB624F7D-D513-25AC-C13C-B9062EB3BEEE} + + + {89AA9B6C-4029-A34F-C1B0-3B5D8691F4D4} + + + {1A7F541C-B032-9C66-C320-A13B2A8A9866} + + + {4BAB7C18-51AB-0D9D-83CD-9C37F28D2E38} + + + {5523922E-8B0C-A52B-477C-752C09F8197F} + + + {857B6D8B-0ECB-FE9E-D1EB-D5E45E72F057} + + + {BAA582FA-40B7-320E-EE7A-4C3892C7BE72} + + + {89B3E447-34BE-C691-638E-09796C6B647E} + + + {9BE78436-DBF4-658C-579B-ED19FFD0EB5D} + + + {21E7FA61-9E0A-4BA1-04B7-AF47AFA9CB8B} + + + {632B4C79-AF7D-BFB5-D006-5AE67F607130} + + + {B10E20C2-4583-2B79-60B7-FE4D4B044313} + + + {CFB54F15-8A8A-0505-9B7F-ECA41CEE38E8} + + + {911F0159-A7A8-4A43-3FD4-154F62F4A44B} + + + {53CF03D3-988B-CD28-9130-CE08FDCEF7E9} + + + {29C6FE02-507E-F3FE-16CD-74D84842C1EA} + + + {8001BD68-125B-E392-8D3B-1F9C9520A65A} + + + {EDC17061-CFA0-8EA0-0ADA-90F31C2FB0F2} + + + {B813BD14-6565-2525-9AC3-E3AA48EDDA85} + + + {DDF4BA73-8578-406D-21F8-06B9BC70BFEA} + + + {73374573-0194-9A6E-461A-A81EEB511C26} + + + {5DD60D0E-B16A-0BED-EDC4-C56E6960CA9E} + + + {9D5816C2-E2B2-2E3F-B095-AC8BD1100D29} + + + {3FDCD000-763F-8477-9AF8-70ABA2E91E5E} + + + {0947506F-66FA-EF8D-8A4E-4D48BCDBB226} + + + {E4B6AED3-F54C-3FF2-069F-640BACAE0E08} + + + {D5EADBCC-6A1C-C940-0206-26E49110AF08} + + + {D27DC92D-5BEB-9294-DCD1-81D54E245AD5} + + + {BCD73D20-42B1-6CDB-DE66-B06236A60F47} + + + {20DC13F6-2369-8841-9F0B-D13FA14EEE74} + + + {A302A8DB-120F-9EBB-A3D5-2C29963AA56B} + + + {45489C2A-6E0E-CCDC-6638-0DACEEB63CCA} + + + {F1B90726-DB55-0293-BFAF-C65C7DF5489C} + + + {2C55FD42-0ACD-B0B8-7EAE-EB17F09BAEEC} + + + {B68CD2B2-701F-9AB7-4638-2485D6E06BCF} + + + {B0B7C78E-729E-0FFA-D611-82AE8BC7FE2C} + + + {0A4F7E12-220C-14EF-0026-9C0629FA9C17} + + + {37F49E10-4E62-6D5C-FF70-722D0CA3D97E} + + + {160D9882-0F68-278D-C5F9-8960FD7421D2} + + + {4CED05DA-E0A2-E548-F753-1F2EF299A8E3} + + + {46AE69B8-AD58-4381-6CDE-25C8D75B01D2} + + + {E56CB4FC-32E8-8740-A3BB-B323CD937A99} + + + {4ECDCA0C-BB38-0729-A6B6-2FB0B4D0863B} + + + {294E4CD5-B06F-97D1-04A3-51871CEA507C} + + + {77228F15-BD91-06FF-2C7E-0377D25C2C94} + + + {5CB531E6-BF9A-2C50-056C-EE5A525D28D3} + + + {E4EA47E5-B41C-2A19-1783-7E9104096ECD} + + + {B331BC33-9770-3DB5-73F2-BC2469ECCF7F} + + + {46A17AC9-0BFF-B5CE-26D6-B9D1992C88AC} + + + {D90A8DF7-FBAB-D363-13C0-6707BB22B72B} + + + {8AE77C40-6839-EC37-4515-BD3CC269BCE4} + + + {0EAD99DB-011F-09E5-45A2-365F646EB004} + + + {F57590C6-3B90-1BE1-1006-488BA33E8BD9} + + + {7C319D73-0D93-5842-0874-398D2D3038D5} + + + {2CB4DB0C-DD3B-6195-D822-76EC7A5C88D2} + + + {FE3CB19C-EF43-5CF5-DAF0-09D4E43D0AB9} + + + {C0E5DD5D-F8F1-DD25-67D7-291946AB3828} + + + {FE7E6CD5-C7A0-DB20-4E7E-D6E7F08C4578} + + + {895C2D33-E08D-B1BA-BB36-FC4CA65090C8} + + + {D64A57DB-A956-5519-1929-1D929B56E1B0} + + + {5A99CC24-AC45-7ED6-C11A-B8B86E76D884} + + + {7A131EEC-25A7-22F6-2839-A2194DDF3007} + + + {EA9DB76C-CEF7-6BFC-2070-28B7DF8E8063} + + + {3C206A40-6F1B-E683-ACF1-DEC3703D0140} + + + {DF95D4BF-E18C-125A-5EBB-8993A06E232C} + + + {118946F2-AC24-0F09-62D5-753DF87A60CD} + + + {07329F9B-7D3D-CEB3-C771-714842076140} + + + {08BBBECB-B0D1-7611-37EC-F57E1D0CE2A2} + + + {268E8F2A-980C-BF2F-B161-AACABC9D91F3} + + + {A4D76113-9EDC-DA60-D89B-5BACF7F1C426} + + + {1A9221A3-E993-70B2-6EA2-8E1DB5FF646A} + + + {CC2DAD7A-5B45-62AB-4C54-6FE6B1AE86C3} + + + {599138A9-EA63-53DD-941F-ABE3412D2949} + + + {422A4014-8587-1AE6-584F-32A62613A37B} + + + {9FBFF5E5-56F1-34A1-2C85-F760DA2B1EB7} + + + {FE955B6B-68AC-AA07-70D8-2413F6DB65C8} + + + {7ED5A90E-41AF-A1EF-659B-37CEEAB9BA61} + + + + + AudioPluginHost\Source\Plugins + + + AudioPluginHost\Source\Plugins + + + AudioPluginHost\Source\Plugins + + + AudioPluginHost\Source\UI + + + AudioPluginHost\Source\UI + + + AudioPluginHost\Source + + + JUCE Modules\juce_audio_basics\buffers + + + JUCE Modules\juce_audio_basics\buffers + + + JUCE Modules\juce_audio_basics\buffers + + + JUCE Modules\juce_audio_basics\buffers + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + 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\midi + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + 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\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics + + + 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\midi_io\ump + + + JUCE Modules\juce_audio_devices\midi_io + + + JUCE Modules\juce_audio_devices\midi_io + + + JUCE Modules\juce_audio_devices\native\oboe\src\aaudio + + + JUCE Modules\juce_audio_devices\native\oboe\src\aaudio + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\fifo + + + JUCE Modules\juce_audio_devices\native\oboe\src\fifo + + + JUCE Modules\juce_audio_devices\native\oboe\src\fifo + + + JUCE Modules\juce_audio_devices\native\oboe\src\fifo + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + 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\sources + + + JUCE Modules\juce_audio_devices\sources + + + JUCE Modules\juce_audio_devices + + + JUCE Modules\juce_audio_devices + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis + + + 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\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\sampler + + + JUCE Modules\juce_audio_formats + + + JUCE Modules\juce_audio_formats + + + JUCE Modules\juce_audio_processors\format + + + JUCE Modules\juce_audio_processors\format + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\thread\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\common + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\common + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + 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\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\scanning + + + JUCE Modules\juce_audio_processors\scanning + + + JUCE Modules\juce_audio_processors\scanning + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors + + + JUCE Modules\juce_audio_processors + + + JUCE Modules\juce_audio_utils\audio_cd + + + 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\native + + + JUCE Modules\juce_audio_utils\native + + + JUCE Modules\juce_audio_utils\native + + + JUCE Modules\juce_audio_utils\native + + + JUCE Modules\juce_audio_utils\native + + + JUCE Modules\juce_audio_utils\native + + + JUCE Modules\juce_audio_utils\native + + + JUCE Modules\juce_audio_utils\native + + + JUCE Modules\juce_audio_utils\native + + + JUCE Modules\juce_audio_utils\native + + + JUCE Modules\juce_audio_utils\players + + + JUCE Modules\juce_audio_utils\players + + + JUCE Modules\juce_audio_utils + + + JUCE Modules\juce_audio_utils + + + 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\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\javascript + + + JUCE Modules\juce_core\javascript + + + JUCE Modules\juce_core\logging + + + JUCE Modules\juce_core\logging + + + 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\misc + + + 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\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\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\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\system + + + 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\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\unit_tests + + + JUCE Modules\juce_core\xml + + + JUCE Modules\juce_core\xml + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip + + + JUCE Modules\juce_core\zip + + + JUCE Modules\juce_core\zip + + + JUCE Modules\juce_core + + + 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\hashing + + + JUCE Modules\juce_cryptography + + + JUCE Modules\juce_cryptography + + + JUCE Modules\juce_data_structures\app_properties + + + JUCE Modules\juce_data_structures\app_properties + + + JUCE Modules\juce_data_structures\undomanager + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures + + + JUCE Modules\juce_data_structures + + + JUCE Modules\juce_dsp\containers + + + JUCE Modules\juce_dsp\containers + + + JUCE Modules\juce_dsp\containers + + + JUCE Modules\juce_dsp\filter_design + + + JUCE Modules\juce_dsp\frequency + + + JUCE Modules\juce_dsp\frequency + + + JUCE Modules\juce_dsp\frequency + + + JUCE Modules\juce_dsp\frequency + + + JUCE Modules\juce_dsp\frequency + + + JUCE Modules\juce_dsp\maths + + + JUCE Modules\juce_dsp\maths + + + JUCE Modules\juce_dsp\maths + + + JUCE Modules\juce_dsp\maths + + + JUCE Modules\juce_dsp\maths + + + JUCE Modules\juce_dsp\native + + + JUCE Modules\juce_dsp\native + + + JUCE Modules\juce_dsp\native + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\widgets + + + JUCE Modules\juce_dsp\widgets + + + JUCE Modules\juce_dsp\widgets + + + JUCE Modules\juce_dsp\widgets + + + JUCE Modules\juce_dsp\widgets + + + JUCE Modules\juce_dsp\widgets + + + JUCE Modules\juce_dsp + + + JUCE Modules\juce_dsp + + + 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\interprocess + + + JUCE Modules\juce_events\messages + + + JUCE Modules\juce_events\messages + + + JUCE Modules\juce_events\messages + + + JUCE Modules\juce_events\messages + + + 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_events\native + + + JUCE Modules\juce_events\native + + + JUCE Modules\juce_events\timers + + + JUCE Modules\juce_events\timers + + + JUCE Modules\juce_events + + + 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\contexts + + + JUCE Modules\juce_graphics\contexts + + + JUCE Modules\juce_graphics\contexts + + + JUCE Modules\juce_graphics\effects + + + JUCE Modules\juce_graphics\effects + + + 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\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\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats + + + JUCE Modules\juce_graphics\image_formats + + + JUCE Modules\juce_graphics\image_formats + + + JUCE Modules\juce_graphics\images + + + JUCE Modules\juce_graphics\images + + + JUCE Modules\juce_graphics\images + + + JUCE Modules\juce_graphics\images + + + 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_graphics\native + + + JUCE Modules\juce_graphics\native + + + JUCE Modules\juce_graphics\native + + + JUCE Modules\juce_graphics\native + + + JUCE Modules\juce_graphics\placement + + + JUCE Modules\juce_graphics + + + JUCE Modules\juce_graphics + + + JUCE Modules\juce_gui_basics\accessibility + + + JUCE Modules\juce_gui_basics\application + + + 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\commands + + + JUCE Modules\juce_gui_basics\commands + + + JUCE Modules\juce_gui_basics\commands + + + JUCE Modules\juce_gui_basics\commands + + + 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\desktop + + + JUCE Modules\juce_gui_basics\desktop + + + 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\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\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\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\layout + + + JUCE Modules\juce_gui_basics\layout + + + 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\lookandfeel + + + JUCE Modules\juce_gui_basics\menus + + + JUCE Modules\juce_gui_basics\menus + + + JUCE Modules\juce_gui_basics\menus + + + JUCE Modules\juce_gui_basics\menus + + + JUCE Modules\juce_gui_basics\misc + + + JUCE Modules\juce_gui_basics\misc + + + JUCE Modules\juce_gui_basics\misc + + + 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\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\x11 + + + JUCE Modules\juce_gui_basics\native\x11 + + + JUCE Modules\juce_gui_basics\native\x11 + + + 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_basics\native + + + JUCE Modules\juce_gui_basics\native + + + JUCE Modules\juce_gui_basics\native + + + 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\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\properties + + + 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 + + + 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\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\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_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 + + + 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\opengl + + + JUCE Modules\juce_opengl\utils + + + JUCE Modules\juce_opengl + + + JUCE Modules\juce_opengl + + + 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 Library Code + + + + + AudioPluginHost\Source\Plugins + + + AudioPluginHost\Source\Plugins + + + AudioPluginHost\Source\Plugins + + + AudioPluginHost\Source\UI + + + AudioPluginHost\Source\UI + + + AudioPluginHost\Source\UI + + + JUCE Modules\juce_audio_basics\audio_play_head + + + JUCE Modules\juce_audio_basics\buffers + + + JUCE Modules\juce_audio_basics\buffers + + + JUCE Modules\juce_audio_basics\buffers + + + JUCE Modules\juce_audio_basics\buffers + + + JUCE Modules\juce_audio_basics\buffers + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + 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\midi + + + JUCE Modules\juce_audio_basics\midi + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\native + + + 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\sources + + + JUCE Modules\juce_audio_basics\synthesisers + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + 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\ump + + + JUCE Modules\juce_audio_devices\midi_io\ump + + + JUCE Modules\juce_audio_devices\midi_io + + + JUCE Modules\juce_audio_devices\midi_io + + + JUCE Modules\juce_audio_devices\native\oboe\include\oboe + + + JUCE Modules\juce_audio_devices\native\oboe\include\oboe + + + JUCE Modules\juce_audio_devices\native\oboe\include\oboe + + + JUCE Modules\juce_audio_devices\native\oboe\include\oboe + + + JUCE Modules\juce_audio_devices\native\oboe\include\oboe + + + JUCE Modules\juce_audio_devices\native\oboe\include\oboe + + + JUCE Modules\juce_audio_devices\native\oboe\include\oboe + + + JUCE Modules\juce_audio_devices\native\oboe\include\oboe + + + JUCE Modules\juce_audio_devices\native\oboe\include\oboe + + + JUCE Modules\juce_audio_devices\native\oboe\include\oboe + + + JUCE Modules\juce_audio_devices\native\oboe\include\oboe + + + JUCE Modules\juce_audio_devices\native\oboe\src\aaudio + + + JUCE Modules\juce_audio_devices\native\oboe\src\aaudio + + + JUCE Modules\juce_audio_devices\native\oboe\src\aaudio + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\fifo + + + JUCE Modules\juce_audio_devices\native\oboe\src\fifo + + + JUCE Modules\juce_audio_devices\native\oboe\src\fifo + + + JUCE Modules\juce_audio_devices\native\oboe\src\fifo + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native + + + JUCE Modules\juce_audio_devices\native + + + JUCE Modules\juce_audio_devices\sources + + + JUCE Modules\juce_audio_devices\sources + + + JUCE Modules\juce_audio_devices + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\books\coupled + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\books\coupled + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\books\floor + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\books\uncoupled + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis + + + 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\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\sampler + + + JUCE Modules\juce_audio_formats + + + JUCE Modules\juce_audio_processors\format + + + JUCE Modules\juce_audio_processors\format + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\thread\include + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\gui + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\gui + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\common + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\common + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + 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\format_types + + + JUCE Modules\juce_audio_processors\format_types + + + 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\processors + + + JUCE Modules\juce_audio_processors\processors + + + JUCE Modules\juce_audio_processors\scanning + + + JUCE Modules\juce_audio_processors\scanning + + + JUCE Modules\juce_audio_processors\scanning + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors + + + JUCE Modules\juce_audio_utils\audio_cd + + + JUCE Modules\juce_audio_utils\audio_cd + + + 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\gui + + + JUCE Modules\juce_audio_utils\gui + + + JUCE Modules\juce_audio_utils\players + + + JUCE Modules\juce_audio_utils\players + + + JUCE Modules\juce_audio_utils + + + 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\containers + + + JUCE Modules\juce_core\containers + + + JUCE Modules\juce_core\containers + + + 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\files + + + JUCE Modules\juce_core\javascript + + + JUCE Modules\juce_core\javascript + + + JUCE Modules\juce_core\logging + + + JUCE Modules\juce_core\logging + + + 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\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\memory + + + JUCE Modules\juce_core\memory + + + JUCE Modules\juce_core\memory + + + JUCE Modules\juce_core\misc + + + JUCE Modules\juce_core\misc + + + JUCE Modules\juce_core\misc + + + 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\native + + + JUCE Modules\juce_core\native + + + JUCE Modules\juce_core\native + + + 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\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\streams + + + 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\system + + + 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\text + + + 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\unit_tests + + + JUCE Modules\juce_core\unit_tests + + + JUCE Modules\juce_core\xml + + + JUCE Modules\juce_core\xml + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip + + + JUCE Modules\juce_core\zip + + + JUCE Modules\juce_core\zip + + + 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\hashing + + + JUCE Modules\juce_cryptography + + + JUCE Modules\juce_data_structures\app_properties + + + JUCE Modules\juce_data_structures\app_properties + + + JUCE Modules\juce_data_structures\undomanager + + + JUCE Modules\juce_data_structures\undomanager + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures + + + JUCE Modules\juce_dsp\containers + + + JUCE Modules\juce_dsp\containers + + + JUCE Modules\juce_dsp\containers + + + JUCE Modules\juce_dsp\containers + + + JUCE Modules\juce_dsp\filter_design + + + JUCE Modules\juce_dsp\frequency + + + JUCE Modules\juce_dsp\frequency + + + JUCE Modules\juce_dsp\frequency + + + JUCE Modules\juce_dsp\maths + + + JUCE Modules\juce_dsp\maths + + + JUCE Modules\juce_dsp\maths + + + JUCE Modules\juce_dsp\maths + + + JUCE Modules\juce_dsp\maths + + + JUCE Modules\juce_dsp\maths + + + JUCE Modules\juce_dsp\maths + + + JUCE Modules\juce_dsp\native + + + JUCE Modules\juce_dsp\native + + + JUCE Modules\juce_dsp\native + + + JUCE Modules\juce_dsp\native + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\widgets + + + JUCE Modules\juce_dsp\widgets + + + JUCE Modules\juce_dsp\widgets + + + JUCE Modules\juce_dsp\widgets + + + JUCE Modules\juce_dsp\widgets + + + JUCE Modules\juce_dsp\widgets + + + JUCE Modules\juce_dsp\widgets + + + JUCE Modules\juce_dsp\widgets + + + JUCE Modules\juce_dsp\widgets + + + JUCE Modules\juce_dsp\widgets + + + JUCE Modules\juce_dsp\widgets + + + JUCE Modules\juce_dsp + + + 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\interprocess + + + 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\native + + + JUCE Modules\juce_events\native + + + JUCE Modules\juce_events\native + + + JUCE Modules\juce_events\native + + + JUCE Modules\juce_events\native + + + JUCE Modules\juce_events\timers + + + JUCE Modules\juce_events\timers + + + 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\effects + + + JUCE Modules\juce_graphics\effects + + + JUCE Modules\juce_graphics\effects + + + 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\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\geometry + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\images + + + JUCE Modules\juce_graphics\images + + + JUCE Modules\juce_graphics\images + + + JUCE Modules\juce_graphics\images + + + JUCE Modules\juce_graphics\images + + + JUCE Modules\juce_graphics\native + + + JUCE Modules\juce_graphics\native + + + JUCE Modules\juce_graphics\native + + + JUCE Modules\juce_graphics\native + + + JUCE Modules\juce_graphics\placement + + + JUCE Modules\juce_graphics\placement + + + JUCE Modules\juce_graphics + + + JUCE Modules\juce_gui_basics\accessibility\enums + + + JUCE Modules\juce_gui_basics\accessibility\enums + + + JUCE Modules\juce_gui_basics\accessibility\enums + + + JUCE Modules\juce_gui_basics\accessibility\interfaces + + + JUCE Modules\juce_gui_basics\accessibility\interfaces + + + JUCE Modules\juce_gui_basics\accessibility\interfaces + + + JUCE Modules\juce_gui_basics\accessibility\interfaces + + + JUCE Modules\juce_gui_basics\accessibility + + + JUCE Modules\juce_gui_basics\accessibility + + + JUCE Modules\juce_gui_basics\application + + + 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\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\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\components + + + JUCE Modules\juce_gui_basics\desktop + + + JUCE Modules\juce_gui_basics\desktop + + + 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\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\filebrowser + + + 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\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\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\lookandfeel + + + 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\menus + + + JUCE Modules\juce_gui_basics\menus + + + JUCE Modules\juce_gui_basics\menus + + + JUCE Modules\juce_gui_basics\menus + + + JUCE Modules\juce_gui_basics\misc + + + JUCE Modules\juce_gui_basics\misc + + + JUCE Modules\juce_gui_basics\misc + + + 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\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\x11 + + + JUCE Modules\juce_gui_basics\native\x11 + + + JUCE Modules\juce_gui_basics\native + + + JUCE Modules\juce_gui_basics\native + + + JUCE Modules\juce_gui_basics\native + + + 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\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\properties + + + 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\windows + + + 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\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\misc + + + JUCE Modules\juce_gui_extra\native + + + JUCE Modules\juce_gui_extra + + + JUCE Modules\juce_opengl\geometry + + + JUCE Modules\juce_opengl\geometry + + + JUCE Modules\juce_opengl\geometry + + + JUCE Modules\juce_opengl\geometry + + + 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\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\opengl + + + JUCE Modules\juce_opengl\opengl + + + JUCE Modules\juce_opengl\opengl + + + JUCE Modules\juce_opengl\opengl + + + JUCE Modules\juce_opengl\utils + + + JUCE Modules\juce_opengl + + + JUCE Library Code + + + JUCE Library Code + + + + + AudioPluginHost\Source + + + AudioPluginHost\BinaryData + + + AudioPluginHost\BinaryData + + + AudioPluginHost\BinaryData + + + AudioPluginHost\BinaryData + + + AudioPluginHost\BinaryData + + + AudioPluginHost\BinaryData + + + JUCE Modules\juce_audio_devices\native\oboe + + + JUCE Modules\juce_audio_devices\native\oboe + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7 + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK + + + JUCE Modules\juce_core\native\java + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Library Code + + + + + JUCE Library Code + + + diff --git a/extras/AudioPluginHost/Builds/VisualStudio2022/icon.ico b/extras/AudioPluginHost/Builds/VisualStudio2022/icon.ico new file mode 100644 index 00000000..d2ad57bf Binary files /dev/null and b/extras/AudioPluginHost/Builds/VisualStudio2022/icon.ico differ diff --git a/extras/AudioPluginHost/Builds/VisualStudio2022/resources.rc b/extras/AudioPluginHost/Builds/VisualStudio2022/resources.rc new file mode 100644 index 00000000..9a16db85 --- /dev/null +++ b/extras/AudioPluginHost/Builds/VisualStudio2022/resources.rc @@ -0,0 +1,36 @@ +#pragma code_page(65001) + +#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 "CompanyName", "Raw Material Software Limited\0" + VALUE "LegalCopyright", "Raw Material Software Limited\0" + VALUE "FileDescription", "AudioPluginHost\0" + VALUE "FileVersion", "1.0.0\0" + VALUE "ProductName", "AudioPluginHost\0" + VALUE "ProductVersion", "1.0.0\0" + END + END + + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1252 + END +END + +#endif + +IDI_ICON1 ICON DISCARDABLE "icon.ico" +IDI_ICON2 ICON DISCARDABLE "icon.ico" \ No newline at end of file diff --git a/extras/AudioPluginHost/Builds/iOS/AudioPluginHost.xcodeproj/project.pbxproj b/extras/AudioPluginHost/Builds/iOS/AudioPluginHost.xcodeproj/project.pbxproj index 7faf9e93..0382a133 100644 --- a/extras/AudioPluginHost/Builds/iOS/AudioPluginHost.xcodeproj/project.pbxproj +++ b/extras/AudioPluginHost/Builds/iOS/AudioPluginHost.xcodeproj/project.pbxproj @@ -31,6 +31,7 @@ 851C1165C9E4ACDD19C56A96 /* AVFoundation.framework */ = {isa = PBXBuildFile; fileRef = 942A0F04EFB8D0B2FF9780BA; }; 9056B642BEF870098DE344E5 /* Foundation.framework */ = {isa = PBXBuildFile; fileRef = 03FA420AACDD03D50AA16E4A; }; 92EE84159C7027A137F06204 /* CoreText.framework */ = {isa = PBXBuildFile; fileRef = 66643EDF46AE8C5B7956B91D; }; + A0144A682BF4843C8CF53FE4 /* BinaryData.cpp */ = {isa = PBXBuildFile; fileRef = 6D107D7946DC5976B766345B; }; A02C9F4C4B840C27B6CAFEBD /* QuartzCore.framework */ = {isa = PBXBuildFile; fileRef = 89309C0C5F3269BD06BE7F27; }; A09E93F1B354E1FF8B3E9ABE /* include_juce_data_structures.mm */ = {isa = PBXBuildFile; fileRef = 5EF1D381F42AA8764597F189; }; A1B0416DA378BB0C3AD6F74B /* HostStartup.cpp */ = {isa = PBXBuildFile; fileRef = A66EFAC64B1B67B536C73415; }; @@ -54,6 +55,9 @@ 04AABCD3491318FB32E844B4 /* MainHostWindow.cpp */ /* MainHostWindow.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MainHostWindow.cpp; path = ../../Source/UI/MainHostWindow.cpp; sourceTree = SOURCE_ROOT; }; 04DB9A49969ECC740CC25665 /* GraphEditorPanel.h */ /* GraphEditorPanel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = GraphEditorPanel.h; path = ../../Source/UI/GraphEditorPanel.h; sourceTree = SOURCE_ROOT; }; 0B1CC8C80F6F99BDE7D6AEC9 /* PluginGraph.cpp */ /* PluginGraph.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = PluginGraph.cpp; path = ../../Source/Plugins/PluginGraph.cpp; sourceTree = SOURCE_ROOT; }; + 11E6340DB6A6F68F5040101B /* reverb_ir.wav */ /* reverb_ir.wav */ = {isa = PBXFileReference; lastKnownFileType = file.wav; name = reverb_ir.wav; path = ../../../../examples/Assets/reverb_ir.wav; sourceTree = SOURCE_ROOT; }; + 17A29FEB16D4439351511947 /* guitar_amp.wav */ /* guitar_amp.wav */ = {isa = PBXFileReference; lastKnownFileType = file.wav; name = guitar_amp.wav; path = ../../../../examples/Assets/guitar_amp.wav; sourceTree = SOURCE_ROOT; }; + 1DADAD8E34AAF4AFF1C69DC4 /* BinaryData.h */ /* BinaryData.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = BinaryData.h; path = ../../JuceLibraryCode/BinaryData.h; sourceTree = SOURCE_ROOT; }; 29E0972229FB44D969035B4E /* Images.xcassets */ /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = AudioPluginHost/Images.xcassets; sourceTree = SOURCE_ROOT; }; 2A6983F82B13F9E8B10299AE /* Icon.icns */ /* Icon.icns */ = {isa = PBXFileReference; lastKnownFileType = file.icns; name = Icon.icns; path = Icon.icns; sourceTree = SOURCE_ROOT; }; 2BE6C2DFD6EBB9A89109AEB5 /* include_juce_gui_extra.mm */ /* include_juce_gui_extra.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_gui_extra.mm; path = ../../JuceLibraryCode/include_juce_gui_extra.mm; sourceTree = SOURCE_ROOT; }; @@ -63,6 +67,7 @@ 3C070DD522CDD11FFC87425D /* juce_audio_utils */ /* juce_audio_utils */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_audio_utils; path = ../../../../modules/juce_audio_utils; sourceTree = SOURCE_ROOT; }; 3D57FE2A8877F12A61054726 /* juce_core */ /* juce_core */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_core; path = ../../../../modules/juce_core; sourceTree = SOURCE_ROOT; }; 3D78A731234A833CA112AE45 /* GraphEditorPanel.cpp */ /* GraphEditorPanel.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = GraphEditorPanel.cpp; path = ../../Source/UI/GraphEditorPanel.cpp; sourceTree = SOURCE_ROOT; }; + 45098BAF7E088D41A4E69E42 /* singing.ogg */ /* singing.ogg */ = {isa = PBXFileReference; lastKnownFileType = file.ogg; name = singing.ogg; path = ../../../../examples/Assets/singing.ogg; sourceTree = SOURCE_ROOT; }; 46C3C2CD301CD59C51FD02D6 /* PluginGraph.h */ /* PluginGraph.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PluginGraph.h; path = ../../Source/Plugins/PluginGraph.h; sourceTree = SOURCE_ROOT; }; 4C7D82F9274A4F9DBF11235C /* include_juce_audio_basics.mm */ /* include_juce_audio_basics.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_audio_basics.mm; path = ../../JuceLibraryCode/include_juce_audio_basics.mm; sourceTree = SOURCE_ROOT; }; 5313EB852E41EE58B199B9A2 /* juce_audio_devices */ /* juce_audio_devices */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_audio_devices; path = ../../../../modules/juce_audio_devices; sourceTree = SOURCE_ROOT; }; @@ -77,6 +82,7 @@ 66643EDF46AE8C5B7956B91D /* CoreText.framework */ /* CoreText.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreText.framework; path = System/Library/Frameworks/CoreText.framework; sourceTree = SDKROOT; }; 683CEE986A2467C850FE99E6 /* include_juce_core.mm */ /* include_juce_core.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_core.mm; path = ../../JuceLibraryCode/include_juce_core.mm; sourceTree = SOURCE_ROOT; }; 6A71B2BCAC4239072BC2BD7E /* juce_audio_basics */ /* juce_audio_basics */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_audio_basics; path = ../../../../modules/juce_audio_basics; sourceTree = SOURCE_ROOT; }; + 6D107D7946DC5976B766345B /* BinaryData.cpp */ /* BinaryData.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = BinaryData.cpp; path = ../../JuceLibraryCode/BinaryData.cpp; sourceTree = SOURCE_ROOT; }; 7D924E83DABA5B54205C52F4 /* CoreServices.framework */ /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = System/Library/Frameworks/CoreServices.framework; sourceTree = SDKROOT; }; 81C1A7770E082F56FE5A90A7 /* juce_opengl */ /* juce_opengl */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_opengl; path = ../../../../modules/juce_opengl; sourceTree = SOURCE_ROOT; }; 82800DBA287EF4BAB13B42FB /* include_juce_graphics.mm */ /* include_juce_graphics.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_graphics.mm; path = ../../JuceLibraryCode/include_juce_graphics.mm; sourceTree = SOURCE_ROOT; }; @@ -91,10 +97,13 @@ 942A0F04EFB8D0B2FF9780BA /* AVFoundation.framework */ /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; }; 94CB96C8E4B51F52776C2638 /* juce_graphics */ /* juce_graphics */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_graphics; path = ../../../../modules/juce_graphics; sourceTree = SOURCE_ROOT; }; 97918AB43AD460AFA8FA2FFE /* PluginWindow.h */ /* PluginWindow.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PluginWindow.h; path = ../../Source/UI/PluginWindow.h; sourceTree = SOURCE_ROOT; }; + 97E63C295843A1E665E70473 /* cello.wav */ /* cello.wav */ = {isa = PBXFileReference; lastKnownFileType = file.wav; name = cello.wav; path = ../../../../examples/Assets/cello.wav; sourceTree = SOURCE_ROOT; }; 9F9B445E6755CAA19E4344ED /* CoreAudio.framework */ /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; }; A5DFC13E4F09134B0D226A3E /* MainHostWindow.h */ /* MainHostWindow.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MainHostWindow.h; path = ../../Source/UI/MainHostWindow.h; sourceTree = SOURCE_ROOT; }; A5E7CA8A71D049BE2BD33861 /* JuceHeader.h */ /* JuceHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = SOURCE_ROOT; }; A66EFAC64B1B67B536C73415 /* HostStartup.cpp */ /* HostStartup.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = HostStartup.cpp; path = ../../Source/HostStartup.cpp; sourceTree = SOURCE_ROOT; }; + A692426308435C2002F988FE /* proaudio.path */ /* proaudio.path */ = {isa = PBXFileReference; lastKnownFileType = file.path; name = proaudio.path; path = ../../../../examples/Assets/proaudio.path; sourceTree = SOURCE_ROOT; }; + A872AF2CAFFC72109B9C6348 /* cassette_recorder.wav */ /* cassette_recorder.wav */ = {isa = PBXFileReference; lastKnownFileType = file.wav; name = cassette_recorder.wav; path = ../../../../examples/Assets/cassette_recorder.wav; sourceTree = SOURCE_ROOT; }; B285CAB91AE928C476CA4F9C /* include_juce_audio_utils.mm */ /* include_juce_audio_utils.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_audio_utils.mm; path = ../../JuceLibraryCode/include_juce_audio_utils.mm; sourceTree = SOURCE_ROOT; }; B2A1E626CC120982805754F6 /* JUCEAppIcon.png */ /* JUCEAppIcon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = JUCEAppIcon.png; path = ../../Source/JUCEAppIcon.png; sourceTree = SOURCE_ROOT; }; B457EE687507BF1DEEA7581F /* WebKit.framework */ /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; }; @@ -141,6 +150,19 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + 49E2649CEC2DE569A9C985E6 /* BinaryData */ = { + isa = PBXGroup; + children = ( + A872AF2CAFFC72109B9C6348, + 97E63C295843A1E665E70473, + 17A29FEB16D4439351511947, + A692426308435C2002F988FE, + 11E6340DB6A6F68F5040101B, + 45098BAF7E088D41A4E69E42, + ); + name = BinaryData; + sourceTree = ""; + }; 65BEFC705A89E5C8A9E35C97 /* Source */ = { isa = PBXGroup; children = ( @@ -157,6 +179,8 @@ 7E30376DDAD775FEFE64944C /* JUCE Library Code */ = { isa = PBXGroup; children = ( + 6D107D7946DC5976B766345B, + 1DADAD8E34AAF4AFF1C69DC4, 4C7D82F9274A4F9DBF11235C, 65968EA1B476D71F14DE1D58, 5D250A57C7DEA80248F30EED, @@ -180,6 +204,7 @@ isa = PBXGroup; children = ( B225B7F2CAABD28A41E7C339, + 49E2649CEC2DE569A9C985E6, ); name = AudioPluginHost; sourceTree = ""; @@ -309,7 +334,7 @@ ADE6E539DB98A302483A82D0 = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1310; ORGANIZATIONNAME = "Raw Material Software Limited"; TargetAttributes = { DE12B7643D374BFF7E4FEB1C = { @@ -377,6 +402,7 @@ 3E1689E23B9C85F03209DCEF, F635D974599DEC2ED91E6A88, A1B0416DA378BB0C3AD6F74B, + A0144A682BF4843C8CF53FE4, 15CCE43D7DCFC649638919D4, 5C4D406B924230F83E3580AD, F4DD98B9310B679D50A2C8A6, @@ -400,11 +426,12 @@ 49453CC5AD9F08D2738464AC /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "-"; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_CXX_LANGUAGE_STANDARD = "c++14"; CLANG_CXX_LIBRARY = "libc++"; CLANG_LINK_OBJC_RUNTIME = NO; + CODE_SIGN_STYLE = Manual; COMBINE_HIDPI_IMAGES = YES; CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; DEAD_CODE_STRIPPING = YES; @@ -416,7 +443,7 @@ "JUCE_CONTENT_SHARING=1", "JUCE_DISPLAY_SPLASH_SCREEN=0", "JUCE_USE_DARK_SPLASH_SCREEN=1", - "JUCE_PROJUCER_VERSION=0x60100", + "JUCE_PROJUCER_VERSION=0x60103", "JUCE_MODULE_AVAILABLE_juce_audio_basics=1", "JUCE_MODULE_AVAILABLE_juce_audio_devices=1", "JUCE_MODULE_AVAILABLE_juce_audio_formats=1", @@ -468,9 +495,11 @@ INSTALL_PATH = "$(HOME)/Applications"; LLVM_LTO = YES; MTL_HEADER_SEARCH_PATHS = "$(SRCROOT)/../../../../modules/juce_audio_processors/format_types/VST3_SDK $(SRCROOT)/../../JuceLibraryCode $(SRCROOT)/../../../../modules"; - OTHER_CPLUSPLUSFLAGS = "-Wall -Wshadow-all -Wshorten-64-to-32 -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wconversion -Wsign-compare -Wint-conversion -Wconditional-uninitialized -Woverloaded-virtual -Wreorder -Wconstant-conversion -Wsign-conversion -Wunused-private-field -Wbool-conversion -Wextra-semi -Wunreachable-code -Wzero-as-null-pointer-constant -Wcast-align -Winconsistent-missing-destructor-override -Wshift-sign-overflow -Wnullable-to-nonnull-conversion -Wno-missing-field-initializers -Wno-ignored-qualifiers -Wswitch-enum"; + OTHER_CFLAGS = "-Wall -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wswitch-enum -Wsign-conversion -Wsign-compare -Wunreachable-code -Wcast-align -Wno-ignored-qualifiers -Wshorten-64-to-32 -Wconversion -Wint-conversion -Wconditional-uninitialized -Wconstant-conversion -Wbool-conversion -Wextra-semi -Wshift-sign-overflow -Wno-missing-field-initializers -Wshadow-all -Wnullable-to-nonnull-conversion"; + OTHER_CPLUSPLUSFLAGS = "-Woverloaded-virtual -Wreorder -Wzero-as-null-pointer-constant -Wunused-private-field -Winconsistent-missing-destructor-override -Wall -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wswitch-enum -Wsign-conversion -Wsign-compare -Wunreachable-code -Wcast-align -Wno-ignored-qualifiers -Wshorten-64-to-32 -Wconversion -Wint-conversion -Wconditional-uninitialized -Wconstant-conversion -Wbool-conversion -Wextra-semi -Wshift-sign-overflow -Wno-missing-field-initializers -Wshadow-all -Wnullable-to-nonnull-conversion"; PRODUCT_BUNDLE_IDENTIFIER = com.juce.pluginhost; PRODUCT_NAME = "Plugin Host"; + PROVISIONING_PROFILE_SPECIFIER = ""; USE_HEADERMAP = NO; VALIDATE_WORKSPACE_SKIPPED_SDK_FRAMEWORKS = OpenGLES; }; @@ -479,7 +508,7 @@ 8D1CA827F1EFD443BDCF198A /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "-"; ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ENABLE_OBJC_WEAK = YES; CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; @@ -530,11 +559,12 @@ C8B793AC1BEFBE7A99BE8352 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "-"; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_CXX_LANGUAGE_STANDARD = "c++14"; CLANG_CXX_LIBRARY = "libc++"; CLANG_LINK_OBJC_RUNTIME = NO; + CODE_SIGN_STYLE = Manual; COMBINE_HIDPI_IMAGES = YES; CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; COPY_PHASE_STRIP = NO; @@ -546,7 +576,7 @@ "JUCE_CONTENT_SHARING=1", "JUCE_DISPLAY_SPLASH_SCREEN=0", "JUCE_USE_DARK_SPLASH_SCREEN=1", - "JUCE_PROJUCER_VERSION=0x60100", + "JUCE_PROJUCER_VERSION=0x60103", "JUCE_MODULE_AVAILABLE_juce_audio_basics=1", "JUCE_MODULE_AVAILABLE_juce_audio_devices=1", "JUCE_MODULE_AVAILABLE_juce_audio_formats=1", @@ -597,9 +627,11 @@ INFOPLIST_PREPROCESS = NO; INSTALL_PATH = "$(HOME)/Applications"; MTL_HEADER_SEARCH_PATHS = "$(SRCROOT)/../../../../modules/juce_audio_processors/format_types/VST3_SDK $(SRCROOT)/../../JuceLibraryCode $(SRCROOT)/../../../../modules"; - OTHER_CPLUSPLUSFLAGS = "-Wall -Wshadow-all -Wshorten-64-to-32 -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wconversion -Wsign-compare -Wint-conversion -Wconditional-uninitialized -Woverloaded-virtual -Wreorder -Wconstant-conversion -Wsign-conversion -Wunused-private-field -Wbool-conversion -Wextra-semi -Wunreachable-code -Wzero-as-null-pointer-constant -Wcast-align -Winconsistent-missing-destructor-override -Wshift-sign-overflow -Wnullable-to-nonnull-conversion -Wno-missing-field-initializers -Wno-ignored-qualifiers -Wswitch-enum"; + OTHER_CFLAGS = "-Wall -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wswitch-enum -Wsign-conversion -Wsign-compare -Wunreachable-code -Wcast-align -Wno-ignored-qualifiers -Wshorten-64-to-32 -Wconversion -Wint-conversion -Wconditional-uninitialized -Wconstant-conversion -Wbool-conversion -Wextra-semi -Wshift-sign-overflow -Wno-missing-field-initializers -Wshadow-all -Wnullable-to-nonnull-conversion"; + OTHER_CPLUSPLUSFLAGS = "-Woverloaded-virtual -Wreorder -Wzero-as-null-pointer-constant -Wunused-private-field -Winconsistent-missing-destructor-override -Wall -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wswitch-enum -Wsign-conversion -Wsign-compare -Wunreachable-code -Wcast-align -Wno-ignored-qualifiers -Wshorten-64-to-32 -Wconversion -Wint-conversion -Wconditional-uninitialized -Wconstant-conversion -Wbool-conversion -Wextra-semi -Wshift-sign-overflow -Wno-missing-field-initializers -Wshadow-all -Wnullable-to-nonnull-conversion"; PRODUCT_BUNDLE_IDENTIFIER = com.juce.pluginhost; PRODUCT_NAME = "Plugin Host"; + PROVISIONING_PROFILE_SPECIFIER = ""; USE_HEADERMAP = NO; VALIDATE_WORKSPACE_SKIPPED_SDK_FRAMEWORKS = OpenGLES; }; @@ -608,7 +640,7 @@ C9295196717FABE454A210B7 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "-"; ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ENABLE_OBJC_WEAK = YES; CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; diff --git a/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-29.png b/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-29.png index 64686e41..6dfb1cf1 100644 Binary files a/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-29.png and b/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-29.png differ diff --git a/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-29@2x.png b/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-29@2x.png index e48be2d3..bd472200 100644 Binary files a/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-29@2x.png and b/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-29@2x.png differ diff --git a/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-29@3x.png b/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-29@3x.png index 5b71bf3d..50bb0ea3 100644 Binary files a/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-29@3x.png and b/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-29@3x.png differ diff --git a/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-60@2x.png b/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-60@2x.png index c07c472f..235df910 100644 Binary files a/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-60@2x.png and b/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-60@2x.png differ diff --git a/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-72.png b/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-72.png index 29c57add..f6958df7 100644 Binary files a/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-72.png and b/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-72.png differ diff --git a/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-72@2x.png b/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-72@2x.png index c45a6e86..1ce0b564 100644 Binary files a/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-72@2x.png and b/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-72@2x.png differ diff --git a/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-76.png b/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-76.png index 7494cb73..9f26c8b8 100644 Binary files a/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-76.png and b/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-76.png differ diff --git a/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-76@2x.png b/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-76@2x.png index 88b88684..73fbd936 100644 Binary files a/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-76@2x.png and b/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-76@2x.png differ diff --git a/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-83.5@2x.png b/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-83.5@2x.png index 640134b6..8cf100db 100644 Binary files a/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-83.5@2x.png and b/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-83.5@2x.png differ diff --git a/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-@3x.png b/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-@3x.png index 4b608c00..8d5b167b 100644 Binary files a/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-@3x.png and b/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-@3x.png differ diff --git a/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-AppStore-1024.png b/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-AppStore-1024.png index a35af312..eb672418 100644 Binary files a/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-AppStore-1024.png and b/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-AppStore-1024.png differ diff --git a/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-Notification-20@2x.png b/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-Notification-20@2x.png index 3191f397..0e647c58 100644 Binary files a/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-Notification-20@2x.png and b/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-Notification-20@2x.png differ diff --git a/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-Notification-20@3x.png b/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-Notification-20@3x.png index ac3045da..6a973d1c 100644 Binary files a/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-Notification-20@3x.png and b/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-Notification-20@3x.png differ diff --git a/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-Notifications-20.png b/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-Notifications-20.png index 3bf42a83..fd2f2beb 100644 Binary files a/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-Notifications-20.png and b/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-Notifications-20.png differ diff --git a/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-Notifications-20@2x.png b/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-Notifications-20@2x.png index 3191f397..0e647c58 100644 Binary files a/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-Notifications-20@2x.png and b/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-Notifications-20@2x.png differ diff --git a/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-Small-1.png b/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-Small-1.png index 64686e41..6dfb1cf1 100644 Binary files a/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-Small-1.png and b/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-Small-1.png differ diff --git a/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-Small-50.png b/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-Small-50.png index 807dfb4c..34d611ef 100644 Binary files a/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-Small-50.png and b/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-Small-50.png differ diff --git a/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-Small-50@2x.png b/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-Small-50@2x.png index de626e89..fb85c660 100644 Binary files a/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-Small-50@2x.png and b/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-Small-50@2x.png differ diff --git a/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-Small@2x-1.png b/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-Small@2x-1.png index e48be2d3..bd472200 100644 Binary files a/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-Small@2x-1.png and b/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-Small@2x-1.png differ diff --git a/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-Spotlight-40.png b/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-Spotlight-40.png index 3191f397..0e647c58 100644 Binary files a/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-Spotlight-40.png and b/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-Spotlight-40.png differ diff --git a/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-Spotlight-40@2x-1.png b/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-Spotlight-40@2x-1.png index c6e2c9cf..c67b04bc 100644 Binary files a/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-Spotlight-40@2x-1.png and b/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-Spotlight-40@2x-1.png differ diff --git a/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-Spotlight-40@2x.png b/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-Spotlight-40@2x.png index c6e2c9cf..c67b04bc 100644 Binary files a/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-Spotlight-40@2x.png and b/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-Spotlight-40@2x.png differ diff --git a/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-Spotlight-40@3x.png b/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-Spotlight-40@3x.png index c07c472f..235df910 100644 Binary files a/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-Spotlight-40@3x.png and b/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon-Spotlight-40@3x.png differ diff --git a/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon.png b/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon.png index deb4a6ca..ca140a65 100644 Binary files a/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon.png and b/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon.png differ diff --git a/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon@2x.png b/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon@2x.png index 19a9694e..0e9ec6b9 100644 Binary files a/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon@2x.png and b/extras/AudioPluginHost/Builds/iOS/AudioPluginHost/Images.xcassets/AppIcon.appiconset/Icon@2x.png differ diff --git a/extras/AudioPluginHost/Builds/iOS/Icon.icns b/extras/AudioPluginHost/Builds/iOS/Icon.icns index f207907b..9c894fa5 100644 Binary files a/extras/AudioPluginHost/Builds/iOS/Icon.icns and b/extras/AudioPluginHost/Builds/iOS/Icon.icns differ diff --git a/extras/AudioPluginHost/CMakeLists.txt b/extras/AudioPluginHost/CMakeLists.txt index dd17e115..8d7fafbf 100644 --- a/extras/AudioPluginHost/CMakeLists.txt +++ b/extras/AudioPluginHost/CMakeLists.txt @@ -37,6 +37,14 @@ target_sources(AudioPluginHost PRIVATE Source/UI/GraphEditorPanel.cpp Source/UI/MainHostWindow.cpp) +juce_add_binary_data(AudioPluginHostData SOURCES + ../../examples/Assets/cassette_recorder.wav + ../../examples/Assets/cello.wav + ../../examples/Assets/guitar_amp.wav + ../../examples/Assets/proaudio.path + ../../examples/Assets/reverb_ir.wav + ../../examples/Assets/singing.ogg) + target_compile_definitions(AudioPluginHost PRIVATE PIP_JUCE_EXAMPLES_DIRECTORY_STRING="${JUCE_SOURCE_DIR}/examples" JUCE_ALSA=1 @@ -55,6 +63,7 @@ target_compile_definitions(AudioPluginHost PRIVATE JUCE_WEB_BROWSER=0) target_link_libraries(AudioPluginHost PRIVATE + AudioPluginHostData juce::juce_audio_utils juce::juce_cryptography juce::juce_dsp diff --git a/extras/AudioPluginHost/JuceLibraryCode/BinaryData.cpp b/extras/AudioPluginHost/JuceLibraryCode/BinaryData.cpp new file mode 100644 index 00000000..1c440e39 --- /dev/null +++ b/extras/AudioPluginHost/JuceLibraryCode/BinaryData.cpp @@ -0,0 +1,10997 @@ +/* ==================================== JUCER_BINARY_RESOURCE ==================================== + + This is an auto-generated file: Any edits you make may be overwritten! + +*/ + +namespace BinaryData +{ + +//================== cassette_recorder.wav ================== +static const unsigned char temp_binary_data_0[] = +{ 82,73,70,70,6,148,0,0,87,65,86,69,102,109,116,32,16,0,0,0,1,0,1,0,68,172,0,0,136,88,1,0,2,0,16,0,106,117,110,107,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,97,116,97,166,147,0, +0,0,0,254,255,255,255,247,255,1,0,245,255,2,0,235,255,254,255,240,255,24,0,18,0,38,0,254,255,190,252,204,252,200,252,107,253,11,252,41,251,178,251,25,255,143,255,27,1,248,6,177,7,210,7,89,9,156,11,232,9,38,8,8,8,219,6,233,2,42,255,249,251,9,250,154,249, +177,248,51,248,103,249,73,250,232,251,68,253,33,0,48,3,14,6,114,6,117,6,193,7,185,7,166,4,160,0,68,254,104,251,172,249,41,249,134,248,129,248,243,249,175,251,90,252,168,253,178,255,189,0,236,1,141,1,203,255,110,254,5,254,97,253,239,252,221,251,80,250, +201,250,110,252,244,252,221,253,92,255,178,0,31,2,78,2,85,2,19,2,230,2,164,3,175,2,237,1,254,0,21,0,125,255,63,255,44,0,12,2,196,2,106,3,253,4,147,5,4,5,242,4,231,4,54,4,174,3,90,2,154,0,104,254,249,251,18,251,4,250,63,248,150,247,107,247,211,247,103, +249,3,251,206,252,130,255,164,1,214,3,139,5,214,5,202,5,197,5,46,5,32,4,43,2,3,255,127,251,65,249,166,248,78,248,81,248,6,249,16,250,94,251,59,253,176,255,228,2,196,5,105,8,153,10,170,11,27,12,19,12,222,10,230,8,50,6,70,3,52,1,128,254,5,252,41,251,253, +250,152,250,97,251,202,252,132,253,121,254,124,255,194,0,99,2,196,3,157,4,112,4,108,3,101,2,5,1,204,255,196,254,218,253,126,252,119,251,70,251,47,251,169,251,46,252,208,252,243,253,242,254,167,255,38,0,52,0,189,0,7,1,59,1,17,1,165,0,87,1,91,1,99,1,100, +1,175,0,151,0,184,255,193,254,217,254,168,255,234,0,251,1,134,2,99,3,109,4,48,4,25,3,15,2,174,0,22,255,183,253,98,252,199,251,213,251,105,251,72,251,77,252,5,254,64,255,234,255,27,1,121,1,67,1,239,0,134,0,25,0,123,255,149,254,229,253,119,253,122,252, +73,251,0,251,40,251,209,250,141,251,25,253,62,254,81,255,151,0,206,1,216,2,122,3,28,4,51,4,202,3,239,2,254,1,44,1,42,0,17,255,244,253,109,253,184,253,105,254,43,255,114,0,188,1,201,2,148,3,47,4,164,4,133,4,237,3,62,3,64,2,101,1,242,255,106,254,46,253, +3,252,245,250,203,250,87,251,197,251,171,252,189,253,223,254,20,0,119,1,127,2,33,3,160,3,212,3,66,3,56,2,30,1,41,0,43,255,10,254,27,253,10,253,86,253,198,253,82,254,48,255,14,0,168,0,86,1,118,1,153,1,221,1,237,1,45,2,117,2,125,2,128,2,140,2,117,2,15, +2,220,1,141,1,16,1,154,0,52,0,41,0,73,0,237,255,169,255,248,255,106,0,181,0,7,1,72,1,72,1,97,1,165,1,186,1,241,1,32,2,86,2,62,2,236,1,62,1,206,0,38,0,105,255,115,254,31,253,250,252,47,252,88,251,6,251,139,251,7,252,245,251,110,252,94,253,81,254,74,255, +152,255,214,255,76,0,38,0,248,255,39,0,48,0,68,0,42,0,247,255,170,255,15,255,166,254,147,254,188,254,153,254,107,254,167,254,248,254,100,255,228,255,87,0,174,0,45,1,146,1,200,1,15,2,56,2,73,2,156,1,59,1,87,0,153,255,249,254,191,254,176,254,81,254,241, +253,252,253,100,254,9,255,167,255,56,0,220,0,121,1,52,2,122,2,181,2,195,2,108,2,194,1,17,1,70,0,136,255,202,254,118,254,210,253,70,253,48,253,82,253,152,253,16,254,42,254,184,254,170,255,112,0,23,1,250,1,212,2,98,3,227,3,30,4,255,3,123,3,4,3,44,2,43, +1,67,0,177,255,79,255,46,255,237,254,157,254,1,255,141,255,251,255,67,0,137,0,202,0,194,0,181,0,130,0,45,0,220,255,30,255,22,254,106,253,238,252,170,252,160,252,232,252,10,253,49,253,203,253,158,254,96,255,8,0,166,0,255,0,26,1,35,1,29,1,0,1,184,0,65, +0,166,255,16,255,205,254,159,254,134,254,137,254,12,255,147,255,4,0,145,0,78,1,2,2,74,2,96,2,108,2,97,2,23,2,204,1,190,1,145,1,121,1,155,1,198,1,224,1,214,1,222,1,218,1,208,1,165,1,113,1,27,1,178,0,84,0,249,255,179,255,62,255,195,254,86,254,240,253,166, +253,109,253,102,253,166,253,235,253,58,254,174,254,7,255,111,255,210,255,10,0,250,255,211,255,150,255,40,255,179,254,116,254,63,254,21,254,71,254,122,254,172,254,242,254,85,255,190,255,34,0,121,0,237,0,84,1,149,1,202,1,224,1,219,1,179,1,116,1,38,1,213, +0,121,0,24,0,200,255,163,255,128,255,116,255,145,255,227,255,92,0,168,0,5,1,90,1,178,1,234,1,248,1,252,1,208,1,144,1,7,1,107,0,228,255,114,255,246,254,131,254,45,254,242,253,176,253,169,253,164,253,184,253,1,254,76,254,134,254,210,254,58,255,123,255, +181,255,238,255,50,0,81,0,64,0,8,0,224,255,200,255,187,255,143,255,136,255,147,255,145,255,188,255,233,255,23,0,71,0,136,0,178,0,214,0,21,1,61,1,90,1,94,1,93,1,75,1,52,1,17,1,247,0,198,0,145,0,112,0,74,0,48,0,24,0,9,0,230,255,210,255,209,255,241,255, +244,255,227,255,234,255,238,255,249,255,10,0,7,0,15,0,29,0,18,0,247,255,221,255,196,255,182,255,135,255,82,255,59,255,245,254,160,254,129,254,145,254,153,254,191,254,252,254,66,255,171,255,33,0,136,0,231,0,61,1,110,1,151,1,156,1,106,1,24,1,207,0,137, +0,23,0,182,255,108,255,51,255,2,255,239,254,0,255,32,255,97,255,176,255,37,0,152,0,0,1,91,1,177,1,243,1,3,2,0,2,229,1,180,1,102,1,9,1,168,0,59,0,206,255,129,255,50,255,225,254,160,254,112,254,93,254,110,254,134,254,158,254,186,254,218,254,249,254,44, +255,110,255,172,255,234,255,250,255,240,255,220,255,197,255,167,255,157,255,156,255,124,255,117,255,125,255,116,255,135,255,167,255,184,255,198,255,204,255,234,255,25,0,56,0,80,0,96,0,138,0,165,0,162,0,168,0,172,0,171,0,161,0,146,0,121,0,100,0,87,0,101, +0,127,0,152,0,163,0,181,0,218,0,239,0,236,0,209,0,197,0,173,0,135,0,111,0,100,0,82,0,40,0,248,255,219,255,185,255,139,255,104,255,69,255,53,255,54,255,58,255,75,255,98,255,117,255,148,255,191,255,235,255,1,0,12,0,3,0,243,255,226,255,197,255,180,255,156, +255,135,255,120,255,118,255,124,255,126,255,125,255,108,255,93,255,82,255,71,255,86,255,110,255,133,255,172,255,223,255,10,0,36,0,58,0,90,0,131,0,145,0,145,0,154,0,141,0,129,0,116,0,111,0,102,0,105,0,117,0,112,0,100,0,100,0,114,0,114,0,99,0,74,0,52,0, +43,0,46,0,40,0,23,0,1,0,250,255,243,255,246,255,242,255,235,255,228,255,222,255,218,255,209,255,213,255,229,255,247,255,254,255,1,0,251,255,238,255,221,255,215,255,211,255,194,255,163,255,155,255,164,255,178,255,199,255,233,255,1,0,252,255,245,255,1, +0,4,0,238,255,216,255,215,255,211,255,188,255,174,255,183,255,207,255,220,255,236,255,14,0,56,0,112,0,161,0,192,0,208,0,220,0,227,0,228,0,221,0,206,0,181,0,149,0,106,0,64,0,24,0,238,255,207,255,194,255,193,255,190,255,193,255,208,255,222,255,225,255, +227,255,239,255,241,255,231,255,225,255,220,255,215,255,214,255,220,255,229,255,236,255,245,255,253,255,1,0,254,255,244,255,220,255,192,255,165,255,137,255,120,255,100,255,82,255,81,255,93,255,104,255,116,255,138,255,175,255,203,255,222,255,251,255,37, +0,74,0,92,0,98,0,102,0,92,0,75,0,65,0,48,0,29,0,19,0,16,0,5,0,3,0,6,0,13,0,24,0,19,0,14,0,6,0,249,255,224,255,205,255,202,255,191,255,182,255,185,255,202,255,219,255,238,255,6,0,25,0,51,0,73,0,74,0,73,0,85,0,95,0,90,0,88,0,92,0,93,0,79,0,64,0,46,0,29, +0,17,0,5,0,247,255,235,255,237,255,233,255,223,255,219,255,227,255,230,255,223,255,221,255,226,255,235,255,243,255,244,255,246,255,245,255,241,255,238,255,232,255,222,255,210,255,199,255,192,255,186,255,185,255,189,255,198,255,203,255,216,255,228,255, +243,255,5,0,11,0,10,0,9,0,12,0,9,0,7,0,5,0,4,0,7,0,15,0,26,0,38,0,40,0,49,0,68,0,69,0,64,0,66,0,68,0,65,0,60,0,52,0,44,0,44,0,55,0,58,0,57,0,64,0,67,0,59,0,50,0,51,0,52,0,40,0,28,0,15,0,251,255,242,255,239,255,239,255,231,255,227,255,225,255,216,255, +212,255,220,255,227,255,219,255,215,255,221,255,221,255,217,255,221,255,229,255,238,255,238,255,236,255,241,255,248,255,252,255,250,255,247,255,243,255,238,255,229,255,220,255,213,255,203,255,190,255,168,255,150,255,147,255,152,255,152,255,153,255,158, +255,163,255,174,255,187,255,196,255,208,255,219,255,236,255,250,255,8,0,26,0,42,0,55,0,65,0,71,0,74,0,77,0,83,0,83,0,77,0,64,0,58,0,56,0,54,0,52,0,54,0,57,0,57,0,61,0,65,0,70,0,71,0,67,0,63,0,56,0,44,0,32,0,26,0,18,0,3,0,247,255,240,255,236,255,243,255, +252,255,254,255,4,0,14,0,23,0,27,0,38,0,51,0,56,0,52,0,47,0,45,0,35,0,17,0,0,0,242,255,225,255,205,255,194,255,191,255,200,255,208,255,214,255,226,255,241,255,1,0,15,0,18,0,14,0,6,0,248,255,232,255,218,255,206,255,194,255,185,255,174,255,171,255,170, +255,166,255,166,255,175,255,184,255,192,255,195,255,202,255,210,255,216,255,224,255,229,255,233,255,234,255,235,255,233,255,236,255,238,255,239,255,246,255,253,255,253,255,1,0,16,0,30,0,36,0,31,0,32,0,39,0,45,0,48,0,54,0,67,0,78,0,87,0,96,0,113,0,130, +0,132,0,127,0,120,0,107,0,95,0,81,0,58,0,36,0,18,0,0,0,238,255,224,255,216,255,214,255,213,255,217,255,222,255,225,255,229,255,228,255,226,255,225,255,222,255,218,255,210,255,196,255,184,255,180,255,177,255,172,255,167,255,166,255,167,255,171,255,178, +255,189,255,196,255,197,255,202,255,207,255,215,255,232,255,250,255,7,0,19,0,36,0,55,0,71,0,82,0,92,0,98,0,95,0,92,0,89,0,83,0,71,0,51,0,37,0,30,0,26,0,25,0,27,0,33,0,43,0,56,0,70,0,78,0,87,0,98,0,101,0,94,0,81,0,65,0,41,0,8,0,232,255,204,255,176,255, +151,255,134,255,127,255,128,255,137,255,154,255,164,255,173,255,188,255,206,255,220,255,224,255,225,255,224,255,225,255,226,255,225,255,221,255,222,255,223,255,229,255,239,255,249,255,3,0,15,0,26,0,35,0,44,0,57,0,68,0,72,0,71,0,70,0,69,0,69,0,67,0,64, +0,62,0,59,0,61,0,65,0,69,0,70,0,74,0,78,0,79,0,76,0,70,0,62,0,52,0,40,0,24,0,6,0,243,255,229,255,214,255,197,255,187,255,187,255,187,255,185,255,185,255,190,255,191,255,192,255,195,255,194,255,191,255,185,255,176,255,166,255,153,255,144,255,140,255,132, +255,126,255,126,255,132,255,141,255,150,255,161,255,176,255,191,255,205,255,217,255,230,255,246,255,255,255,5,0,5,0,1,0,0,0,2,0,4,0,2,0,6,0,15,0,23,0,32,0,47,0,65,0,79,0,91,0,101,0,111,0,119,0,120,0,122,0,126,0,126,0,117,0,108,0,102,0,97,0,89,0,77,0, +65,0,55,0,49,0,42,0,35,0,25,0,14,0,7,0,1,0,250,255,246,255,245,255,241,255,237,255,239,255,242,255,242,255,242,255,244,255,247,255,249,255,248,255,246,255,246,255,244,255,242,255,241,255,236,255,229,255,226,255,226,255,224,255,222,255,221,255,218,255, +214,255,214,255,215,255,216,255,219,255,225,255,231,255,236,255,242,255,248,255,1,0,4,0,4,0,3,0,1,0,1,0,255,255,249,255,238,255,230,255,226,255,225,255,226,255,228,255,229,255,233,255,241,255,253,255,14,0,31,0,43,0,52,0,58,0,62,0,66,0,68,0,66,0,59,0, +48,0,35,0,24,0,20,0,18,0,14,0,8,0,7,0,9,0,11,0,13,0,15,0,18,0,16,0,10,0,5,0,3,0,1,0,252,255,246,255,239,255,234,255,230,255,228,255,226,255,225,255,223,255,218,255,211,255,208,255,208,255,206,255,202,255,200,255,196,255,192,255,190,255,191,255,196,255, +200,255,202,255,208,255,215,255,216,255,218,255,221,255,222,255,224,255,223,255,222,255,222,255,224,255,226,255,228,255,231,255,238,255,249,255,4,0,12,0,18,0,26,0,36,0,42,0,45,0,46,0,45,0,44,0,43,0,42,0,41,0,40,0,40,0,38,0,35,0,36,0,42,0,48,0,55,0,54, +0,51,0,49,0,49,0,47,0,43,0,37,0,28,0,18,0,10,0,5,0,254,255,251,255,249,255,246,255,243,255,242,255,246,255,252,255,255,255,1,0,3,0,6,0,8,0,11,0,13,0,13,0,12,0,9,0,5,0,2,0,254,255,249,255,245,255,244,255,244,255,245,255,244,255,242,255,242,255,244,255, +244,255,243,255,244,255,245,255,245,255,244,255,246,255,249,255,249,255,246,255,247,255,250,255,253,255,254,255,252,255,250,255,247,255,244,255,242,255,242,255,241,255,240,255,240,255,239,255,241,255,247,255,253,255,2,0,7,0,12,0,17,0,20,0,24,0,30,0,32, +0,33,0,31,0,31,0,32,0,33,0,31,0,31,0,31,0,27,0,22,0,21,0,22,0,20,0,17,0,16,0,16,0,16,0,13,0,9,0,8,0,6,0,1,0,252,255,249,255,246,255,243,255,240,255,235,255,230,255,225,255,219,255,213,255,210,255,207,255,205,255,205,255,205,255,204,255,205,255,210,255, +215,255,218,255,221,255,223,255,225,255,227,255,230,255,234,255,235,255,234,255,234,255,236,255,238,255,240,255,240,255,239,255,240,255,243,255,246,255,249,255,251,255,253,255,253,255,252,255,254,255,0,0,0,0,254,255,251,255,251,255,251,255,254,255,2, +0,6,0,10,0,12,0,18,0,23,0,26,0,29,0,31,0,30,0,29,0,27,0,27,0,27,0,24,0,21,0,18,0,15,0,15,0,16,0,16,0,16,0,17,0,18,0,19,0,21,0,25,0,27,0,27,0,26,0,26,0,27,0,27,0,26,0,24,0,23,0,21,0,21,0,21,0,20,0,18,0,16,0,15,0,13,0,13,0,12,0,12,0,11,0,11,0,10,0,9,0, +8,0,7,0,4,0,253,255,248,255,245,255,241,255,237,255,234,255,232,255,231,255,232,255,236,255,241,255,246,255,249,255,253,255,255,255,0,0,0,0,0,0,254,255,250,255,244,255,236,255,232,255,229,255,229,255,227,255,225,255,222,255,221,255,226,255,232,255,238, +255,243,255,249,255,253,255,3,0,9,0,14,0,18,0,18,0,14,0,9,0,7,0,9,0,9,0,6,0,5,0,5,0,7,0,9,0,10,0,13,0,13,0,12,0,10,0,10,0,9,0,8,0,8,0,5,0,1,0,254,255,252,255,253,255,254,255,252,255,248,255,246,255,244,255,242,255,240,255,236,255,233,255,229,255,226, +255,225,255,224,255,222,255,221,255,220,255,219,255,220,255,223,255,226,255,229,255,232,255,235,255,238,255,242,255,248,255,252,255,0,0,3,0,4,0,6,0,7,0,7,0,7,0,7,0,7,0,8,0,9,0,11,0,11,0,11,0,12,0,15,0,16,0,15,0,14,0,13,0,11,0,10,0,9,0,9,0,8,0,5,0,3,0, +1,0,2,0,3,0,5,0,6,0,8,0,11,0,13,0,16,0,20,0,22,0,22,0,22,0,21,0,18,0,16,0,13,0,9,0,4,0,0,0,254,255,255,255,255,255,255,255,254,255,255,255,1,0,3,0,6,0,8,0,9,0,11,0,11,0,13,0,15,0,15,0,15,0,14,0,11,0,9,0,6,0,5,0,3,0,0,0,254,255,253,255,254,255,1,0,4,0, +5,0,6,0,8,0,11,0,13,0,15,0,17,0,17,0,15,0,12,0,12,0,12,0,10,0,8,0,4,0,255,255,252,255,250,255,249,255,248,255,245,255,242,255,239,255,236,255,236,255,235,255,232,255,229,255,227,255,225,255,223,255,223,255,224,255,224,255,223,255,223,255,223,255,223, +255,224,255,226,255,226,255,227,255,227,255,227,255,228,255,230,255,233,255,236,255,241,255,244,255,247,255,250,255,253,255,2,0,6,0,6,0,6,0,8,0,12,0,14,0,14,0,14,0,13,0,12,0,12,0,12,0,15,0,18,0,18,0,19,0,21,0,23,0,24,0,26,0,26,0,26,0,24,0,21,0,19,0,18, +0,15,0,11,0,8,0,7,0,5,0,2,0,0,0,255,255,253,255,251,255,249,255,247,255,245,255,242,255,240,255,240,255,242,255,242,255,242,255,242,255,243,255,246,255,250,255,255,255,2,0,4,0,4,0,4,0,6,0,7,0,7,0,5,0,3,0,2,0,2,0,2,0,3,0,3,0,3,0,2,0,2,0,3,0,4,0,5,0,5, +0,4,0,5,0,5,0,6,0,7,0,8,0,9,0,9,0,10,0,10,0,11,0,12,0,12,0,10,0,9,0,9,0,8,0,7,0,5,0,5,0,3,0,1,0,255,255,254,255,254,255,253,255,251,255,250,255,249,255,249,255,248,255,247,255,245,255,245,255,244,255,243,255,243,255,243,255,244,255,245,255,245,255,245, +255,244,255,245,255,247,255,247,255,246,255,246,255,246,255,246,255,247,255,247,255,246,255,247,255,248,255,248,255,247,255,247,255,248,255,249,255,249,255,250,255,251,255,252,255,253,255,253,255,255,255,1,0,3,0,5,0,6,0,5,0,5,0,6,0,8,0,8,0,7,0,6,0,5, +0,4,0,4,0,4,0,4,0,2,0,1,0,2,0,3,0,4,0,4,0,5,0,4,0,4,0,5,0,6,0,5,0,4,0,4,0,3,0,2,0,2,0,2,0,3,0,3,0,2,0,0,0,255,255,254,255,255,255,0,0,0,0,255,255,254,255,254,255,255,255,0,0,3,0,6,0,9,0,10,0,10,0,12,0,16,0,18,0,19,0,18,0,15,0,12,0,10,0,8,0,7,0,5,0,3, +0,1,0,255,255,255,255,1,0,2,0,1,0,0,0,0,0,0,0,1,0,2,0,3,0,3,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,255,255,255,255,255,255,255,255,254,255,253,255,250,255,247,255,245,255,244,255,242,255,240,255,239,255,239,255,239,255,240,255,242,255,244,255,245,255,245, +255,245,255,246,255,247,255,248,255,249,255,248,255,247,255,247,255,248,255,248,255,249,255,249,255,248,255,247,255,245,255,245,255,245,255,245,255,244,255,243,255,243,255,244,255,246,255,249,255,252,255,253,255,255,255,0,0,3,0,5,0,8,0,10,0,11,0,12,0, +12,0,13,0,13,0,13,0,12,0,11,0,10,0,9,0,7,0,7,0,8,0,9,0,10,0,12,0,13,0,14,0,14,0,15,0,17,0,18,0,18,0,16,0,15,0,14,0,14,0,14,0,13,0,12,0,10,0,8,0,7,0,6,0,6,0,4,0,3,0,2,0,1,0,0,0,0,0,255,255,254,255,251,255,250,255,250,255,250,255,249,255,248,255,247,255, +247,255,247,255,247,255,248,255,249,255,249,255,250,255,251,255,251,255,251,255,252,255,252,255,252,255,251,255,251,255,251,255,251,255,251,255,252,255,252,255,254,255,0,0,2,0,3,0,4,0,5,0,7,0,7,0,7,0,7,0,6,0,4,0,2,0,1,0,0,0,253,255,252,255,251,255,250, +255,250,255,250,255,250,255,250,255,249,255,249,255,249,255,249,255,247,255,246,255,244,255,242,255,240,255,239,255,238,255,238,255,239,255,240,255,240,255,241,255,244,255,246,255,249,255,250,255,250,255,251,255,253,255,255,255,255,255,255,255,255,255, +255,255,0,0,1,0,3,0,3,0,2,0,3,0,4,0,6,0,7,0,7,0,7,0,7,0,6,0,6,0,7,0,8,0,8,0,7,0,6,0,7,0,8,0,10,0,10,0,11,0,11,0,10,0,10,0,10,0,9,0,8,0,7,0,5,0,4,0,4,0,5,0,4,0,3,0,2,0,3,0,4,0,5,0,5,0,4,0,3,0,3,0,4,0,4,0,3,0,0,0,255,255,255,255,0,0,0,0,0,0,254,255,253, +255,253,255,254,255,1,0,2,0,1,0,0,0,0,0,0,0,1,0,3,0,2,0,0,0,254,255,254,255,0,0,3,0,5,0,4,0,4,0,5,0,8,0,10,0,12,0,12,0,11,0,10,0,9,0,9,0,9,0,7,0,5,0,2,0,0,0,0,0,254,255,254,255,252,255,250,255,249,255,249,255,250,255,250,255,248,255,247,255,246,255,247, +255,247,255,247,255,246,255,245,255,244,255,244,255,246,255,246,255,245,255,245,255,244,255,244,255,245,255,246,255,246,255,245,255,244,255,244,255,244,255,244,255,243,255,242,255,242,255,243,255,244,255,245,255,246,255,247,255,248,255,250,255,252,255, +255,255,1,0,3,0,3,0,5,0,7,0,9,0,11,0,12,0,12,0,11,0,11,0,11,0,12,0,12,0,10,0,7,0,6,0,6,0,6,0,7,0,6,0,5,0,4,0,3,0,4,0,6,0,8,0,7,0,5,0,4,0,4,0,4,0,6,0,7,0,5,0,3,0,2,0,2,0,3,0,4,0,5,0,4,0,3,0,3,0,4,0,6,0,7,0,8,0,7,0,7,0,6,0,5,0,5,0,5,0,4,0,3,0,2,0,2,0,1, +0,2,0,4,0,6,0,7,0,8,0,9,0,9,0,8,0,8,0,7,0,6,0,4,0,1,0,254,255,252,255,251,255,251,255,250,255,250,255,249,255,249,255,250,255,252,255,253,255,254,255,255,255,255,255,0,0,255,255,0,0,0,0,254,255,252,255,249,255,247,255,247,255,248,255,248,255,247,255, +247,255,247,255,249,255,251,255,254,255,255,255,0,0,255,255,255,255,255,255,0,0,0,0,255,255,254,255,253,255,254,255,254,255,255,255,255,255,255,255,255,255,0,0,1,0,2,0,2,0,1,0,0,0,255,255,255,255,254,255,253,255,252,255,251,255,249,255,248,255,249,255, +250,255,251,255,251,255,251,255,251,255,252,255,253,255,254,255,254,255,253,255,252,255,251,255,251,255,251,255,252,255,253,255,252,255,252,255,253,255,255,255,1,0,3,0,5,0,5,0,6,0,7,0,8,0,9,0,9,0,9,0,8,0,7,0,8,0,9,0,11,0,12,0,11,0,11,0,11,0,11,0,12,0, +13,0,11,0,10,0,9,0,8,0,8,0,8,0,7,0,4,0,2,0,1,0,1,0,2,0,2,0,1,0,255,255,253,255,253,255,254,255,0,0,255,255,253,255,251,255,250,255,250,255,251,255,252,255,253,255,252,255,251,255,251,255,252,255,254,255,255,255,254,255,253,255,251,255,251,255,252,255, +254,255,254,255,254,255,253,255,253,255,254,255,0,0,1,0,2,0,1,0,0,0,0,0,0,0,1,0,1,0,0,0,255,255,254,255,253,255,254,255,254,255,254,255,254,255,254,255,254,255,254,255,254,255,255,255,0,0,255,255,254,255,254,255,253,255,252,255,252,255,252,255,252,255, +252,255,252,255,252,255,252,255,253,255,255,255,0,0,1,0,1,0,1,0,2,0,3,0,4,0,4,0,3,0,2,0,2,0,2,0,2,0,2,0,1,0,1,0,255,255,0,0,1,0,1,0,1,0,255,255,254,255,254,255,255,255,0,0,0,0,255,255,254,255,254,255,254,255,0,0,1,0,1,0,0,0,0,0,255,255,255,255,0,0,0, +0,255,255,254,255,253,255,253,255,252,255,252,255,252,255,252,255,252,255,252,255,252,255,253,255,254,255,255,255,0,0,0,0,1,0,2,0,4,0,4,0,5,0,5,0,5,0,6,0,7,0,7,0,8,0,8,0,8,0,7,0,7,0,7,0,7,0,6,0,6,0,5,0,4,0,4,0,4,0,3,0,2,0,1,0,1,0,1,0,1,0,0,0,0,0,255, +255,255,255,254,255,254,255,254,255,254,255,254,255,253,255,254,255,255,255,255,255,0,0,255,255,254,255,254,255,255,255,255,255,255,255,254,255,252,255,251,255,251,255,252,255,254,255,255,255,255,255,255,255,255,255,0,0,3,0,4,0,5,0,4,0,3,0,2,0,2,0,1, +0,0,0,255,255,254,255,253,255,253,255,254,255,254,255,254,255,254,255,254,255,255,255,1,0,2,0,1,0,1,0,0,0,255,255,255,255,255,255,254,255,252,255,251,255,250,255,250,255,250,255,251,255,251,255,250,255,250,255,249,255,250,255,250,255,250,255,250,255, +249,255,248,255,247,255,248,255,249,255,250,255,250,255,251,255,252,255,253,255,255,255,1,0,2,0,2,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,2,0,2,0,2,0,2,0,3,0,3,0,4,0,4,0,5,0,7,0,7,0,7,0,8,0,9,0,10,0,9,0,9,0,8,0,8,0,7,0,7,0,7,0,6,0,5,0,4,0,4,0,4,0,5,0,4,0,4,0,4, +0,3,0,3,0,4,0,3,0,3,0,2,0,1,0,1,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,1,0,1,0,2,0,2,0,3,0,3,0,4,0,4,0,4,0,3,0,3,0,3,0,2,0,2,0,1,0,0,0,254,255,254,255,253,255,253,255,253,255,253,255,252,255,252,255,251,255,251,255,251,255,251,255,252,255,251,255,251, +255,251,255,251,255,252,255,252,255,252,255,252,255,252,255,253,255,254,255,254,255,254,255,254,255,255,255,0,0,1,0,1,0,1,0,1,0,1,0,1,0,2,0,1,0,0,0,0,0,1,0,2,0,2,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,255,255,0,0,255,255,255,255,254,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,255,253,255,253,255,253,255,253,255,253,255,252,255,251,255,251,255,251,255,252,255,254,255,254,255,254,255,254,255,254,255,0,0,1,0,3,0,4,0,4,0,3,0,3,0,3,0,3,0,4,0,4,0,3,0,1,0,0, +0,0,0,0,0,1,0,2,0,1,0,0,0,255,255,255,255,0,0,2,0,3,0,3,0,2,0,2,0,1,0,2,0,3,0,3,0,3,0,2,0,0,0,0,0,0,0,1,0,1,0,1,0,0,0,0,0,1,0,1,0,2,0,3,0,4,0,5,0,5,0,5,0,6,0,7,0,8,0,8,0,7,0,7,0,7,0,7,0,7,0,6,0,6,0,5,0,4,0,4,0,5,0,5,0,4,0,3,0,2,0,2,0,2,0,3,0,2,0,1,0, +0,0,254,255,255,255,254,255,254,255,254,255,253,255,252,255,252,255,252,255,252,255,253,255,252,255,251,255,251,255,251,255,251,255,251,255,251,255,250,255,249,255,249,255,250,255,250,255,250,255,249,255,248,255,249,255,251,255,252,255,251,255,251,255, +250,255,251,255,252,255,253,255,254,255,253,255,253,255,252,255,253,255,254,255,255,255,0,0,255,255,255,255,255,255,1,0,2,0,2,0,1,0,0,0,255,255,255,255,0,0,1,0,0,0,254,255,253,255,253,255,255,255,1,0,1,0,0,0,255,255,255,255,0,0,2,0,2,0,1,0,255,255,253, +255,253,255,253,255,253,255,253,255,252,255,251,255,251,255,253,255,254,255,0,0,0,0,255,255,0,0,0,0,1,0,2,0,2,0,1,0,0,0,255,255,0,0,0,0,1,0,1,0,1,0,1,0,3,0,4,0,5,0,5,0,4,0,4,0,4,0,5,0,4,0,4,0,3,0,2,0,2,0,4,0,5,0,6,0,7,0,7,0,6,0,7,0,9,0,10,0,9,0,7,0,5, +0,4,0,3,0,3,0,2,0,1,0,255,255,254,255,254,255,255,255,0,0,1,0,0,0,0,0,0,0,1,0,1,0,2,0,1,0,0,0,255,255,255,255,0,0,1,0,1,0,0,0,255,255,0,0,1,0,2,0,3,0,2,0,0,0,255,255,255,255,255,255,255,255,254,255,252,255,251,255,250,255,251,255,252,255,252,255,252, +255,252,255,252,255,253,255,253,255,254,255,254,255,254,255,253,255,253,255,252,255,252,255,252,255,251,255,250,255,249,255,249,255,249,255,250,255,250,255,251,255,251,255,251,255,252,255,252,255,253,255,254,255,254,255,255,255,255,255,255,255,255,255, +255,255,0,0,1,0,1,0,0,0,0,0,255,255,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,2,0,4,0,4,0,4,0,5,0,4,0,5,0,5,0,5,0,6,0,5,0,5,0,5,0,4,0,4,0,3,0,3,0,4,0,4,0,3,0,2,0,2,0,3,0,3,0,3,0,3,0,2,0,1,0,1,0,1,0,1,0,1,0,0,0,255,255,255,255,0,0,0,0,1,0,1,0,1,0,0,0,255,255,0, +0,1,0,1,0,1,0,255,255,254,255,254,255,0,0,0,0,0,0,0,0,255,255,255,255,1,0,2,0,3,0,2,0,1,0,0,0,0,0,2,0,2,0,1,0,0,0,254,255,254,255,255,255,0,0,0,0,0,0,255,255,255,255,0,0,1,0,2,0,2,0,1,0,0,0,0,0,1,0,1,0,0,0,255,255,254,255,254,255,254,255,255,255,255, +255,255,255,254,255,254,255,255,255,0,0,1,0,1,0,0,0,0,0,0,0,1,0,2,0,2,0,0,0,255,255,254,255,254,255,255,255,0,0,0,0,254,255,253,255,253,255,255,255,1,0,2,0,1,0,0,0,255,255,0,0,1,0,2,0,2,0,2,0,1,0,0,0,255,255,255,255,0,0,0,0,255,255,255,255,254,255,254, +255,254,255,255,255,0,0,0,0,0,0,255,255,0,0,0,0,1,0,1,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,255,255,254,255,254,255,255,255,1,0,1,0,1,0,255,255,254,255,254,255,255,255,1,0,1,0,1,0,255,255,255,255,255,255,1,0,3,0,4,0,3,0,1,0,0, +0,0,0,2,0,3,0,4,0,3,0,1,0,0,0,0,0,2,0,4,0,4,0,3,0,1,0,1,0,2,0,3,0,4,0,4,0,2,0,1,0,0,0,1,0,1,0,2,0,1,0,255,255,255,255,255,255,0,0,2,0,2,0,2,0,1,0,0,0,1,0,2,0,3,0,2,0,1,0,255,255,254,255,254,255,255,255,255,255,255,255,253,255,251,255,251,255,252,255, +253,255,254,255,254,255,253,255,253,255,252,255,253,255,254,255,255,255,254,255,253,255,252,255,252,255,252,255,253,255,254,255,254,255,253,255,252,255,252,255,254,255,255,255,0,0,0,0,255,255,255,255,0,0,1,0,2,0,2,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,1,0,2,0,2,0,3,0,3,0,4,0,4,0,5,0,4,0,4,0,3,0,2,0,2,0,3,0,3,0,2,0,1,0,0,0,0,0,1,0,2,0,3,0,2,0,2,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,254,255,254,255,254,255,255,255,255,255,254,255,254,255,254,255,254, +255,254,255,255,255,255,255,254,255,253,255,253,255,252,255,252,255,252,255,253,255,252,255,252,255,252,255,252,255,253,255,254,255,254,255,254,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,254,255,254,255,254,255,254,255,254,255,254,255, +254,255,255,255,255,255,0,0,0,0,0,0,1,0,1,0,1,0,1,0,0,0,255,255,255,255,255,255,255,255,255,255,254,255,254,255,255,255,255,255,255,255,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,255,255,254,255,253,255,254,255,254,255,254,255,254,255,254,255,254,255,255,255, +0,0,1,0,1,0,1,0,1,0,1,0,2,0,2,0,1,0,0,0,255,255,255,255,255,255,255,255,255,255,254,255,254,255,254,255,255,255,0,0,1,0,1,0,1,0,1,0,1,0,2,0,3,0,3,0,3,0,2,0,1,0,1,0,2,0,3,0,3,0,2,0,1,0,2,0,2,0,3,0,3,0,2,0,2,0,1,0,2,0,2,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0, +0,255,255,255,255,254,255,254,255,254,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,0,0,0,0,255,255,254,255,254,255,254,255,254,255,254,255,254,255,254,255,254,255,254,255,254,255,255,255,255,255,255,255,0,0, +0,0,0,0,0,0,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,255,255,0,0,1,0,2,0,2,0,1,0,1,0,0,0,0,0,0,0,0,0,255,255,254,255,254,255,254,255,255,255,255,255,254,255,254,255,254,255,255,255,0,0,1,0,0,0,255,255,254,255,254,255,255, +255,255,255,255,255,255,255,254,255,254,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,1,0,2,0,3,0,3,0,2,0,2,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,255,255,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1,0,2,0,2,0,1,0,1,0,1,0,2,0,2,0,1,0,1,0,1,0,1,0,1,0,2,0,2,0,2,0,3,0,2,0,2, +0,2,0,2,0,2,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,0,0,0,0,1,0,1,0,1,0,1,0,0,0,255,255,255,255,255,255,0,0,0,0,255,255,255,255,255,255,255,255,0,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,254,255,253,255,253,255,254,255,254,255,254, +255,253,255,253,255,253,255,255,255,0,0,1,0,1,0,0,0,255,255,255,255,255,255,0,0,255,255,255,255,253,255,253,255,253,255,254,255,255,255,255,255,255,255,254,255,255,255,0,0,0,0,0,0,1,0,0,0,255,255,255,255,0,0,0,0,0,0,255,255,254,255,254,255,254,255,255, +255,255,255,255,255,254,255,254,255,254,255,255,255,0,0,0,0,254,255,253,255,254,255,254,255,255,255,0,0,255,255,254,255,253,255,254,255,255,255,1,0,1,0,0,0,255,255,255,255,0,0,1,0,2,0,3,0,2,0,1,0,1,0,2,0,4,0,3,0,3,0,2,0,1,0,1,0,2,0,3,0,3,0,2,0,1,0,2, +0,3,0,3,0,4,0,3,0,2,0,2,0,2,0,3,0,3,0,2,0,1,0,0,0,0,0,0,0,1,0,1,0,1,0,0,0,0,0,0,0,1,0,1,0,1,0,0,0,255,255,254,255,254,255,255,255,255,255,255,255,254,255,253,255,253,255,253,255,254,255,254,255,254,255,254,255,254,255,254,255,254,255,255,255,255,255, +255,255,255,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,254,255,254,255,254,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,255,255,255,255,255,255,254,255,254,255,254,255,254,255,254,255,254,255,254,255,254, +255,254,255,254,255,255,255,255,255,255,255,255,255,254,255,254,255,255,255,255,255,255,255,254,255,254,255,253,255,254,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,1,0,1,0,1,0,0,0,0,0,0,0,1,0,2,0,1,0,0,0,255,255,255,255,0,0,1,0,1, +0,0,0,255,255,255,255,0,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,1,0,2,0,3,0,3,0,3,0,2,0,2,0,3,0,3,0,4,0,4,0,3,0,2,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,2,0,2,0,1,0,1,0,1,0,2,0,1,0,0,0,255,255,254,255,254,255,254,255,255,255,255,255,255,255,254,255, +254,255,255,255,0,0,1,0,1,0,0,0,255,255,255,255,255,255,254,255,254,255,254,255,253,255,253,255,253,255,253,255,254,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,254,255,254,255,253,255,253,255,253,255,253,255,254,255,254,255, +255,255,0,0,0,0,1,0,1,0,1,0,0,0,1,0,1,0,1,0,1,0,0,0,255,255,254,255,255,255,0,0,1,0,0,0,255,255,255,255,255,255,0,0,0,0,1,0,0,0,255,255,254,255,255,255,0,0,1,0,1,0,0,0,255,255,255,255,0,0,1,0,2,0,1,0,0,0,0,0,0,0,1,0,1,0,1,0,0,0,255,255,0,0,0,0,1,0,1, +0,0,0,255,255,0,0,1,0,2,0,3,0,2,0,1,0,1,0,1,0,2,0,3,0,3,0,2,0,1,0,0,0,1,0,2,0,2,0,2,0,1,0,1,0,1,0,1,0,2,0,3,0,3,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,1,0,1,0,1,0,0,0,0,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,255,255,255,255, +255,255,254,255,254,255,255,255,254,255,254,255,254,255,254,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,255,255,255,255,255,0,0,0,0,255,255,255, +255,255,255,0,0,1,0,1,0,1,0,0,0,255,255,255,255,0,0,0,0,255,255,255,255,254,255,253,255,253,255,254,255,255,255,255,255,254,255,255,255,255,255,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,1,0,2,0,2,0,2,0,2,0,1, +0,1,0,1,0,2,0,2,0,1,0,1,0,1,0,1,0,2,0,2,0,2,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,2,0,3,0,3,0,2,0,1,0,1,0,2,0,2,0,2,0,1,0,0,0,255,255,255,255,255,255,255,255,255,255,254,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,1,0,1,0,2,0,2,0,1,0,1,0,0,0,0,0,0,0, +0,0,0,0,0,0,255,255,255,255,255,255,0,0,0,0,255,255,254,255,254,255,255,255,255,255,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,255,255,255,255,254,255,253,255,253,255,254,255,255,255,254,255,253,255,252,255,252,255,254,255,255,255,0,0,255,255,255, +255,254,255,254,255,255,255,1,0,1,0,0,0,254,255,253,255,253,255,254,255,255,255,255,255,255,255,254,255,253,255,254,255,255,255,1,0,1,0,1,0,0,0,0,0,1,0,2,0,3,0,2,0,2,0,1,0,1,0,1,0,1,0,2,0,2,0,1,0,1,0,1,0,1,0,2,0,3,0,3,0,2,0,2,0,1,0,2,0,2,0,2,0,1,0,1, +0,0,0,1,0,1,0,2,0,2,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,255,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,1,0,1,0,3,0,3,0,3,0,2,0,1,0,1,0,1,0,0,0,0,0,255,255,254,255,254,255,254,255,255,255,255,255,255,255,255,255,0,0,1,0,1,0,2,0,2,0,1,0,0,0,0,0,0,0, +0,0,0,0,255,255,254,255,254,255,254,255,254,255,255,255,255,255,255,255,254,255,254,255,254,255,255,255,0,0,0,0,254,255,254,255,254,255,255,255,255,255,0,0,255,255,255,255,254,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255, +255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,2,0,2,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,3,0,3,0,2,0,1,0,0,0,0,0,0,0,1,0,1,0,0,0,255,255,255,255,0,0,2,0,3,0,2,0,1,0,1,0,0,0,1,0,2,0,1,0,0,0,255, +255,254,255,255,255,0,0,1,0,1,0,1,0,0,0,0,0,1,0,2,0,3,0,3,0,2,0,1,0,0,0,0,0,1,0,1,0,0,0,255,255,254,255,254,255,255,255,0,0,0,0,0,0,255,255,255,255,0,0,1,0,1,0,0,0,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,1,0,2,0,2,0,2,0,2,0,1,0,1,0,1,0,1,0,1, +0,1,0,0,0,255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,255,255,0,0,1,0,1,0,0,0,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,254,255,254,255,254,255,255,255,255,255,0,0,0,0,0,0, +0,0,0,0,1,0,1,0,1,0,1,0,0,0,255,255,255,255,0,0,1,0,0,0,0,0,255,255,255,255,1,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,3,0,3,0,2,0,1,0,0,0,1,0,1,0,2,0,2,0,2,0,2,0,1,0,1,0,2,0,3,0,3,0,2,0,1,0,1,0,0,0,1,0,1,0,0,0,0,0,255,255,255,255,255,255,0,0,1,0,2,0,2,0,2,0,2, +0,2,0,2,0,2,0,1,0,0,0,0,0,255,255,255,255,255,255,255,255,254,255,255,255,255,255,0,0,1,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,1,0,0,0,255,255,254,255,253,255,253,255,253,255,253,255,253,255,253,255,254,255,255,255,0,0,0,0,0,0,1,0,1,0,1,0,1,0,0,0,0,0,254,255, +254,255,254,255,254,255,254,255,254,255,254,255,254,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,0,0,255,255,255,255,255,255,0,0,255,255,255,255,255,255,254,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,255,255,0,0,1,0,1,0,1,0,0,0,0,0,0,0,0, +0,1,0,2,0,1,0,1,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,1,0,0,0,0,0,0,0,1,0,1,0,2,0,2,0,1,0,0,0,0,0,0,0,1,0,1,0,1,0,0,0,255,255,255,255,255,255,0,0,0,0,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,1,0,1,0,2,0,2,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,255,255,255,255,254,255,254,255,255,255,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,255,255,254,255,254,255,254,255,255,255, +255,255,255,255,254,255,254,255,255,255,0,0,1,0,2,0,1,0,0,0,255,255,0,0,0,0,1,0,0,0,255,255,254,255,254,255,254,255,255,255,0,0,255,255,255,255,255,255,0,0,1,0,2,0,2,0,2,0,2,0,1,0,1,0,1,0,0,0,0,0,255,255,254,255,254,255,254,255,254,255,255,255,255,255, +255,255,255,255,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,254,255,254,255,255,255,255,255,255,255,255,255,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,2,0,2,0,1,0,1,0,0,0,0,0,0,0,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,0,0,0,0,0,0,1,0,2,0,2,0,2,0,2,0,2,0,1,0,1,0,1,0,1,0,0,0,255,255,254,255,254,255,255,255,255,255,0,0,255,255,255,255,255,255,0,0,1, +0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,255,255,254,255,253,255,252,255,253,255,253,255,254,255,254,255,254,255,254,255,255,255,0,0,2,0,2,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,255,255,254,255,254,255,254,255,255,255,0,0,0,0,1,0,1,0,1,0,2,0,3,0,4,0,3,0,2,0,1,0,0,0,255, +255,0,0,0,0,255,255,254,255,254,255,254,255,254,255,0,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,255,255,254,255,254,255,253,255,254,255,255,255,255,255,255,255,254,255,254,255,255,255,1,0,2,0,2,0,1,0,1,0,0,0,1,0,2,0,2,0,1,0,0,0,255,255,255,255,0,0,1,0,1, +0,0,0,0,0,255,255,0,0,1,0,2,0,1,0,1,0,0,0,255,255,255,255,0,0,0,0,0,0,255,255,254,255,253,255,254,255,255,255,255,255,255,255,255,255,0,0,0,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,255,255,254,255,254,255,254,255,255,255,255,255,255,255,255,255,254,255,255, +255,0,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,1,0,1,0,1,0,2,0,2,0,2,0,1,0,1,0,1,0,0,0,255,255,255,255,255,255,254,255,254,255,254,255,254,255,254,255,254,255,254,255,255,255,255,255,255,255,255,255,255,255,255, +255,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,1,0,1,0,1,0,2,0,1,0,1,0,0,0,0,0,0,0,1,0,0,0,255,255,255,255,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,255,255,255,255,255,255,255,255,254,255,254,255,254,255,255,255,254, +255,255,255,255,255,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,0, +0,1,0,1,0,0,0,0,0,255,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,0,0,0,0,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,0,0,0,0,1,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,255,255,255, +255,0,0,1,0,1,0,1,0,0,0,0,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,1,0,2,0,2,0,2,0,2,0,1,0,1,0,2,0,2,0,1,0,1,0,255,255,255,255,255,255,255,255,0,0,0,0,255,255,255,255,254,255,255,255,0,0,1,0,1,0,1,0,0,0,0,0,0, +0,1,0,2,0,1,0,0,0,0,0,255,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,255,255,255,255,255,255,0,0,1,0,0,0,255,255,255,255,255,255,0,0,1,0,1,0,0,0,255,255,255,255,0,0,1,0,1,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,0,0,0,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,255,255,254,255,254,255,254,255,254,255,255,255,255,255,255,255,0,0,0,0,1,0,1,0,2,0,2,0,2,0,2,0,1,0,1,0,0,0,255,255,255,255,255,255,254,255,254,255,254,255,254,255,254,255,255,255,0, +0,1,0,1,0,1,0,2,0,2,0,3,0,3,0,3,0,3,0,2,0,1,0,1,0,2,0,2,0,1,0,1,0,1,0,1,0,1,0,2,0,3,0,3,0,3,0,2,0,2,0,2,0,3,0,3,0,2,0,1,0,0,0,255,255,0,0,0,0,1,0,0,0,255,255,255,255,255,255,0,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,254,255,254,255,254,255,255, +255,0,0,0,0,0,0,0,0,0,0,0,0,1,0,2,0,2,0,1,0,0,0,255,255,0,0,0,0,1,0,0,0,255,255,254,255,254,255,255,255,1,0,2,0,1,0,1,0,0,0,0,0,1,0,2,0,2,0,1,0,255,255,254,255,254,255,255,255,255,255,0,0,255,255,254,255,253,255,254,255,255,255,0,0,0,0,0,0,255,255,255, +255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,0,0,0,0,0,0,0,0,1,0,1,0,0,0,1,0,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,0,1,0,1,0,2,0,2,0,2,0,1,0,1,0,1,0,1,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255, +255,255,254,255,255,255,0,0,1,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,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,1,0,1,0,1,0,1,0,0,0,0,0,0,0,1,0,1,0,0,0,255,255, +255,255,255,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,0,0,0,0,1,0,0,0,255,255,255,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,1,0,1,0,1,0,0,0,0,0,0,0,255,255,255,255,255,255,0,0,255,255,255,255,255,255,254,255,255,255,255,255,0,0,255,255, +255,255,255,255,255,255,255,255,0,0,0,0,0,0,255,255,254,255,254,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,1,0,2,0,2,0,2,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,255,255,254,255,255,255,0,0,255,255,255,255,255,255,255,255,0,0,1,0,2,0,2,0,2,0,1, +0,1,0,1,0,1,0,2,0,1,0,1,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,0,0,0,0,1,0,1,0,1,0,0,0,0,0,255,255,255,255,0,0,255,255,255,255,254,255,254,255,255,255,255,255,0,0,0,0,0,0,255, +255,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,254,255,254,255,253,255,254,255,255,255,0,0,255,255,255,255,255,255,0,0,1,0,2,0,2,0,1,0,0,0,255,255,0, +0,0,0,0,0,0,0,255,255,254,255,254,255,255,255,0,0,1,0,1,0,1,0,0,0,1,0,1,0,2,0,2,0,2,0,0,0,255,255,255,255,0,0,1,0,2,0,1,0,0,0,0,0,1,0,2,0,2,0,2,0,1,0,0,0,255,255,254,255,255,255,255,255,254,255,254,255,253,255,253,255,254,255,255,255,0,0,0,0,0,0,0,0, +0,0,1,0,1,0,1,0,0,0,255,255,255,255,254,255,254,255,254,255,254,255,254,255,254,255,255,255,0,0,1,0,1,0,2,0,2,0,2,0,2,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,1,0,1,0,1,0,2,0,2,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0, +0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,255,255,254,255,253,255,253,255,254,255,254,255,254,255,254,255,254,255,255,255,0,0,1,0,1,0,1,0,2,0,2,0,2,0,1,0,1,0,1,0,1,0,0,0,0,0,255,255,255,255,255,255,0,0,0,0,1,0,1,0,1,0,1,0,2,0,2,0,3,0,2,0,1,0,0,0,0,0,0,0, +0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,255,255,255,255,254,255,255,255,254,255,254,255,254,255,254,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,1,0,1,0,1,0,0,0,0,0,0,0,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,255,255, +255,255,255,255,0,0,1,0,1,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,255,255,255,255,254,255,254,255,254,255,255,255,255,255,255,255,255,255,255,255,0,0,1,0,2,0,3,0,3,0,2,0,2,0,2,0,2,0,2,0,1,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,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,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,1,0,2,0,2,0,1,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,255,255,254, +255,254,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,0,0,1,0,1,0,0,0,255,255,255,255,255,255,255,255,0,0,255,255,255,255,254,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,1,0,2,0,1,0,1,0,0,0,0,0,1,0,1,0,2,0,1,0,0,0,0,0,0,0,1,0,2,0,2,0,2,0,1, +0,1,0,1,0,1,0,1,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,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,2,0,2,0,2,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,2,0,2,0, +1,0,1,0,0,0,1,0,1,0,0,0,255,255,255,255,254,255,254,255,254,255,254,255,254,255,254,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,2,0,2,0,2,0,2,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,2,0,2,0,2,0,2,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,2,0,2,0,2,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255, +255,255,255,255,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,1,0,0,0,0,0,255,255,0,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,1,0,1,0,1,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,1,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,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,0,0,0,0,255,255,255,255,255,255,255,255,255, +255,255,255,254,255,254,255,254,255,254,255,255,255,255,255,0,0,0,0,0,0,0,0,1,0,2,0,2,0,2,0,2,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,254,255,254,255,254,255,255,255, +0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,254,255,254,255,254,255,255,255,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,1,0,1,0,1,0,1, +0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,255,255,255,255,255,255,254,255,254,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,1,0,2,0,2,0,1,0,1,0,1,0, +1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,1,0,1,0,1,0,2,0,2,0,2,0,2,0,1,0,0,0,255,255,255,255,255,255,255,255,255,255,254,255,254,255,254,255,255,255,0,0,0,0,1,0,1, +0,1,0,0,0,0,0,1,0,2,0,1,0,0,0,255,255,254,255,255,255,0,0,0,0,255,255,255,255,254,255,254,255,255,255,0,0,1,0,1,0,0,0,255,255,255,255,255,255,0,0,1,0,1,0,0,0,255,255,255,255,255,255,0,0,1,0,1,0,0,0,0,0,255,255,0,0,1,0,2,0,2,0,1,0,1,0,1,0,2,0,3,0,3,0, +2,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,2,0,2,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,255,255,255,255,255,255,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,2,0,2,0,2,0,1,0,1,0,1,0,2,0,2,0,1,0,0,0,255,255,255,255,255,255,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,1,0,2,0,2,0,2,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,255,255,255,255,0,0,0,0, +1,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,255,255,255,255,255,255,0,0,0,0,1,0,0,0,0,0,255,255,0,0,1,0,1,0,1,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,255,255,255,255,255,255, +255,255,255,255,255,255,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,1,0,1,0,1,0,0,0,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,255,254,255,254,255,255,255,255,255,0,0,0,0,0,0,255,255,0,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,1,0,1,0,1,0,0,0,0,0,0,0,1,0,1,0,1,0,0,0,255,255,254,255,254,255,255,255,255,255,254,255,254,255,254,255,254,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0, +0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,1,0,1,0,1,0,1,0,1, +0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,255,255,255,255,255,255,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,255,255,255,255,255,255,255,255,0,0,1,0,1,0,0,0,255,255,255,255,0,0,0,0,0,0, +0,0,0,0,255,255,255,255,255,255,0,0,1,0,1,0,1,0,1,0,1,0,1,0,2,0,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,255,255,255,255,255,255,0,0,0,0,0,0,255,255,255,255,255,255,0,0,1,0,1,0,0,0,0,0,255, +255,255,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,0,0,1,0,1,0,1,0,1,0,1,0,1,0,2,0,2,0,2,0,2,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,2,0,2,0,2,0,1,0,1,0,1,0,1,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,255,255,255,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,255,255,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0, +0,0,255,255,255,255,255,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,255,255,255,255,255,255,255,255,254,255,254,255,254,255,254,255,255,255,255,255,0,0,0,0,1,0,2,0,2,0,2,0,1,0,1,0,1, +0,1,0,0,0,255,255,254,255,254,255,254,255,255,255,255,255,255,255,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,255,255,255,255,254,255,254,255,254,255,254,255,254,255,254,255,254,255,255,255,0,0,0,0,1,0,2,0,2,0,2,0,2,0,1,0,1,0,0,0,0,0,255,255,254,255,254, +255,254,255,254,255,254,255,255,255,255,255,255,255,255,255,0,0,1,0,1,0,2,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,255,255,255,255,254,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255, +255,0,0,0,0,0,0,0,0,0,0,1,0,1,0,2,0,2,0,1,0,1,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,255,255,255,255,254,255,253,255,253,255,254,255,254,255,254,255,254,255,254,255,255,255, +255,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,255,255,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,1,0,1,0,1,0,1,0,1,0,2,0,2,0,2,0,1,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255, +255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,255,255,255,255,255,255,0,0,0,0,255,255,255,255,0,0,0,0,1,0,1,0,1,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,255,255,255,255,0,0,255,255,255,255,0,0,0,0,255,255,0,0,0,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0, +0,255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,0,0,1,0,1,0,0,0,0,0,0,0,1,0,1,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,1,0,1,0,1,0,1,0,2,0,2,0,1,0,1,0,1,0,1,0,0,0,0,0, +0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,1,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,1,0,1,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,1,0,1,0,1,0,1, +0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,254,255,254,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,1,0,2,0, +2,0,2,0,1,0,1,0,2,0,2,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,254,255,254,255,254,255,254,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,0,0,0,0,0,0,255,255,255,255,255,255,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,1,0,0,0,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,254,255,254,255,254,255,254,255,255,255,255,255,0,0,255,255,255,255,255,255,0, +0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,2,0,2,0,2,0,1,0,1,0,0,0,0,0,0,0, +0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,254,255,254,255,254,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,1,0,1,0,1, +0,1,0,0,0,0,0,0,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0, +0,0,0,0,1,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,254,255,255,255,255,255,0,0,0,0,1,0,1,0,1, +0,1,0,1,0,2,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,1,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,0,0,0,0,255, +255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255, +0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,1,0,0,0,0,0,0,0,255,255,0,0,0,0,0,0,255,255,254,255,254,255,254,255,255,255,255, +255,255,255,255,255,255,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,1,0,1,0,1,0,1,0,1,0,0,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,0,0,0,0,255,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,1,0,1,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,1,0,1,0, +1,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,2,0,2,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,1,0,0,0,0,0,1,0,1,0,2,0,2,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0, +0,1,0,1,0,1,0,2,0,2,0,2,0,2,0,2,0,1,0,1,0,1,0,1,0,0,0,0,0,255,255,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,1,0,1,0,2,0,2,0,1,0,1,0,1,0,2,0,2,0,1,0,1,0,0,0,0,0, +255,255,0,0,0,0,0,0,255,255,255,255,255,255,0,0,0,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,255,255,255,255, +0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,0,0,0,0,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,0,0,0,0,255,255,255,255,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,1, +0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,1,0,1,0,1,0,1,0,0,0,1,0,1,0,1,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,1,0,1,0,1,0,1,0,2,0,1,0, +1,0,1,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255, +255,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,1,0,1,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,1,0,1,0,1,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,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255, +255,255,255,255,255,0,0,0,0,255,255,255,255,255,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,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,0,0,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1, +0,1,0,1,0,1,0,1,0,0,0,0,0,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,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,0,0,0,0,1,0,1,0,1,0,0,0,0,0,0,0,1,0,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,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,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,0,0,0,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,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0, +0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,255,255,255,255,255,255,255,255,254,255,254,255, +254,255,254,255,255,255,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,0,0,0,0,0,0,0, +0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,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,1,0,1,0,1,0,1,0,1,0,1,0, +2,0,2,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255, +255,255,255,0,0,0,0,0,0,0,0,1,0,1,0,1,0,2,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0, +0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,0,0,0,0, +0,0,1,0,1,0,1,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,1,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,255,255,0,0,0,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,1,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,1,0,1,0,1,0,1,0,1,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,1,0,1,0,1,0,1,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0, +1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,255,255, +0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,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,1,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,255,255,255,255,255,255,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,255,255,255,255,255,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,255,255,0,0,0,0,0,0,0,0,255,255,255,255,255,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,255,255,255,255,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,255, +255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,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,255,255,0,0,0,0,0,0,1,0,1,0,1,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,0,0,0,0,0,0,0, +0,0,0,0,0,1,0,1,0,1,0,1,0,2,0,2,0,2,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,255,255,255,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,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,1,0,0,0,0,0,255,255,255,255,255,255,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0, +0,255,255,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,1,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,0,0,0,0,0,0, +0,0,0,0,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,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,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,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,1,0,1,0,1,0,1, +0,1,0,0,0,0,0,0,0,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,255,255,255,255,255,255,0,0,0,0,0,0,255,255,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,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,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,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,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,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,1,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,1,0,0,0,0,0,1,0,1,0,1,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,1,0,0,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0, +0,0,255,255,255,255,255,255,0,0,0,0,0,0,1,0,1,0,1,0,1,0,2,0,2,0,2,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,255,255,255,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,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,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,1,0,1,0,1,0,1,0,1,0,1,0, +1,0,1,0,0,0,0,0,0,0,255,255,255,255,255,255,254,255,254,255,255,255,255,255,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,255,255,255,255,254,255,254,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,1,0,2,0,2,0,2,0,1,0,1,0,1,0,1,0,0,0,0,0,255,255, +255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,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,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,1,0,1,0,0,0,1,0,1, +0,1,0,0,0,0,0,0,0,255,255,255,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,255,255,255,255,255,255,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,1,0,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,0,0,0,0,0,0,0,0,0, +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,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,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,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,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,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,1,0, +1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,1,0,1,0,1,0,1,0,1,0,2,0,2,0,1,0,1,0,1,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0, +0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,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,1,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0, +0,0,0,0,1,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,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,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,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,1,0,1,0,1,0,2,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,1,0,1,0,1,0,1,0,1, +0,1,0,1,0,1,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255, +255,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,1,0,1,0,1,0,1,0,1, +0,1,0,1,0,1,0,1,0,0,0,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,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,1,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,1,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,1, +0,1,0,1,0,1,0,1,0,1,0,1,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,1,0,1,0,1,0,1,0,1,0,1,0,2,0,2,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,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,1,0, +1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,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,1,0,1,0,1,0,1,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,1,0,1,0,1,0,1, +0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,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,1,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,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1, +0,1,0,1,0,1,0,0,0,0,0,255,255,255,255,0,0,0,0,255,255,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,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,1,0,1,0,1,0,1,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,255,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,255,255,255,255,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,1,0,1,0,1,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,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1, +0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,2,0,2,0,1,0,1,0,1,0,1,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,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,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,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,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, +1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,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,1,0,1,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,255,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,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,255,255, +255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,0,0,0,0,0,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,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,255,255,255,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,255,255,255,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,255, +255,0,0,0,0,0,0,255,255,255,255,255,255,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,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,1,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,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,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,1,0, +0,0,0,0,0,0,1,0,1,0,1,0,1,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,1,0,1,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,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,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,1,0,0,0,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,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,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,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,255,255,255,255,255,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,255,255,255,255,255,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,255,255,0,0,0,0,0,0,255,255,255,255,255, +255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,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,255,255,255,255,0,0,0,0,0,0,0,0,0,0,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,255,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,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,255,255,255,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,255,255,255,255,255,255,255,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,255,255,255,255,255,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,255,255,255,255,0,0,0,0,0,0,0,0,0,0,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,255,255,255,255,255,255, +255,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,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,1,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,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,0,0,0,0,1,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,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,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,1,0,1,0,1,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,1,0,1,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,255,255,255,255,255,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,1,0,1,0,0,0,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,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,1,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,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,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,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255, +0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,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,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255, +255,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,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,1,0,1,0,1,0,1,0,1,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,1,0,1,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,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,255,255,255,255,255,255,255,255,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,1,0,1,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,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,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,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,1,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,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,1,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,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,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,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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, +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,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,255,255,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,1,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,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,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0 }; + +const char* cassette_recorder_wav = (const char*) temp_binary_data_0; + +//================== cello.wav ================== +static const unsigned char temp_binary_data_1[] = +{ 82,73,70,70,4,181,0,0,87,65,86,69,102,109,116,32,16,0,0,0,1,0,1,0,34,86,0,0,68,172,0,0,2,0,16,0,98,101,120,116,92,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,116,114,97,99,107,116,105,111,110,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,50,48,48,54,45,49,48,45,48,52,49,50,58,49,52,58,48,51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,97,116,97,124,178,0,0,0,0,0,0,250,255,248,255,0,0,253,255,255,255,0,0,253,255,249,255,249,255,248,255,252,255,249,255,0,0,4,0,1,0,255, +255,4,0,7,0,255,255,4,0,249,255,252,255,1,0,255,255,0,0,255,255,255,255,3,0,3,0,1,0,4,0,252,255,4,0,253,255,255,255,250,255,248,255,241,255,248,255,3,0,6,0,6,0,1,0,7,0,1,0,253,255,253,255,246,255,245,255,242,255,246,255,252,255,252,255,249,255,1,0,255, +255,0,0,255,255,255,255,253,255,3,0,0,0,253,255,250,255,249,255,245,255,246,255,249,255,248,255,255,255,3,0,6,0,0,0,255,255,250,255,4,0,7,0,6,0,0,0,255,255,249,255,252,255,0,0,0,0,6,0,3,0,255,255,0,0,250,255,0,0,3,0,4,0,3,0,1,0,4,0,4,0,7,0,3,0,255,255, +255,255,246,255,248,255,253,255,3,0,253,255,1,0,252,255,4,0,253,255,6,0,3,0,253,255,253,255,252,255,255,255,253,255,253,255,0,0,255,255,0,0,0,0,3,0,7,0,4,0,1,0,255,255,242,255,250,255,255,255,8,0,0,0,3,0,0,0,3,0,0,0,249,255,248,255,250,255,0,0,252,255, +0,0,253,255,250,255,248,255,253,255,0,0,252,255,0,0,1,0,252,255,0,0,250,255,253,255,0,0,4,0,0,0,250,255,255,255,253,255,252,255,3,0,253,255,248,255,0,0,252,255,0,0,249,255,244,255,249,255,252,255,255,255,249,255,253,255,246,255,250,255,248,255,1,0,6, +0,3,0,0,0,253,255,246,255,250,255,255,255,246,255,249,255,1,0,255,255,253,255,1,0,3,0,6,0,1,0,250,255,255,255,252,255,1,0,253,255,0,0,255,255,253,255,0,0,253,255,250,255,250,255,253,255,248,255,255,255,250,255,248,255,0,0,253,255,252,255,6,0,3,0,3,0, +250,255,255,255,255,255,250,255,249,255,253,255,1,0,4,0,6,0,4,0,255,255,253,255,253,255,255,255,255,255,250,255,1,0,253,255,250,255,255,255,249,255,252,255,255,255,255,255,6,0,6,0,8,0,4,0,255,255,1,0,1,0,3,0,255,255,4,0,4,0,1,0,250,255,3,0,253,255,253, +255,4,0,250,255,255,255,255,255,255,255,249,255,248,255,255,255,3,0,248,255,3,0,248,255,0,0,4,0,4,0,253,255,252,255,252,255,246,255,248,255,250,255,250,255,253,255,6,0,3,0,6,0,4,0,6,0,7,0,12,0,6,0,10,0,15,0,14,0,6,0,6,0,255,255,248,255,252,255,1,0,3, +0,8,0,3,0,3,0,8,0,0,0,1,0,10,0,10,0,7,0,6,0,6,0,10,0,6,0,4,0,252,255,4,0,11,0,18,0,14,0,10,0,15,0,11,0,10,0,14,0,15,0,17,0,18,0,17,0,17,0,17,0,11,0,12,0,11,0,17,0,12,0,14,0,7,0,10,0,12,0,11,0,4,0,3,0,253,255,255,255,1,0,0,0,250,255,253,255,6,0,4,0,7, +0,7,0,4,0,1,0,3,0,1,0,3,0,252,255,246,255,248,255,249,255,252,255,0,0,0,0,253,255,255,255,250,255,246,255,249,255,253,255,8,0,6,0,25,0,19,0,19,0,18,0,18,0,24,0,24,0,25,0,26,0,30,0,26,0,22,0,28,0,15,0,15,0,8,0,11,0,10,0,7,0,25,0,24,0,32,0,44,0,43,0,57, +0,51,0,53,0,48,0,46,0,40,0,35,0,29,0,24,0,21,0,8,0,0,0,250,255,239,255,237,255,228,255,227,255,223,255,228,255,227,255,228,255,228,255,239,255,239,255,242,255,244,255,245,255,245,255,237,255,223,255,214,255,202,255,191,255,174,255,162,255,155,255,138, +255,138,255,130,255,127,255,120,255,111,255,111,255,108,255,105,255,102,255,98,255,99,255,99,255,97,255,99,255,104,255,113,255,127,255,145,255,151,255,165,255,169,255,180,255,192,255,187,255,180,255,166,255,162,255,156,255,154,255,148,255,149,255,156, +255,172,255,187,255,196,255,188,255,194,255,188,255,191,255,181,255,181,255,180,255,173,255,170,255,167,255,156,255,141,255,112,255,87,255,57,255,26,255,0,255,231,254,216,254,214,254,211,254,220,254,229,254,239,254,254,254,29,255,69,255,104,255,133,255, +142,255,166,255,195,255,210,255,232,255,250,255,4,0,253,255,235,255,209,255,180,255,165,255,162,255,165,255,170,255,185,255,191,255,184,255,183,255,173,255,154,255,127,255,104,255,99,255,112,255,133,255,156,255,170,255,176,255,173,255,136,255,115,255, +79,255,52,255,37,255,37,255,50,255,62,255,65,255,65,255,72,255,51,255,11,255,218,254,185,254,171,254,196,254,3,255,79,255,167,255,3,0,89,0,169,0,233,0,33,1,78,1,132,1,191,1,243,1,28,2,52,2,48,2,20,2,222,1,141,1,35,1,172,0,54,0,221,255,158,255,130,255, +142,255,185,255,238,255,44,0,101,0,147,0,150,0,127,0,76,0,7,0,195,255,98,255,254,254,175,254,131,254,105,254,98,254,108,254,119,254,135,254,152,254,163,254,178,254,195,254,221,254,254,254,18,255,15,255,254,254,209,254,141,254,72,254,23,254,244,253,6, +254,38,254,110,254,213,254,58,255,142,255,220,255,28,0,83,0,134,0,180,0,220,0,22,1,90,1,161,1,236,1,54,2,126,2,194,2,250,2,42,3,84,3,107,3,132,3,143,3,143,3,139,3,127,3,91,3,70,3,41,3,244,2,187,2,147,2,104,2,84,2,79,2,77,2,78,2,85,2,93,2,84,2,54,2,10, +2,202,1,144,1,81,1,14,1,194,0,126,0,72,0,55,0,60,0,105,0,157,0,216,0,14,1,54,1,96,1,117,1,136,1,155,1,154,1,164,1,175,1,180,1,194,1,222,1,3,2,49,2,125,2,211,2,39,3,103,3,159,3,186,3,172,3,128,3,75,3,19,3,200,2,125,2,50,2,248,1,179,1,117,1,54,1,248,0, +183,0,118,0,61,0,24,0,0,0,255,255,7,0,43,0,90,0,148,0,213,0,28,1,108,1,193,1,10,2,75,2,147,2,211,2,15,3,67,3,95,3,117,3,141,3,142,3,131,3,109,3,85,3,55,3,15,3,226,2,196,2,142,2,85,2,14,2,198,1,117,1,39,1,205,0,101,0,244,255,122,255,242,254,112,254,228, +253,109,253,1,253,172,252,114,252,89,252,82,252,92,252,128,252,196,252,10,253,91,253,168,253,228,253,19,254,52,254,63,254,52,254,30,254,242,253,206,253,166,253,128,253,100,253,96,253,102,253,123,253,154,253,193,253,242,253,37,254,85,254,124,254,163,254, +177,254,167,254,153,254,139,254,116,254,80,254,11,254,171,253,96,253,42,253,9,253,237,252,219,252,240,252,24,253,77,253,177,253,49,254,175,254,39,255,140,255,209,255,11,0,65,0,115,0,125,0,96,0,73,0,51,0,1,0,205,255,176,255,191,255,228,255,249,255,252, +255,255,255,245,255,232,255,209,255,174,255,147,255,116,255,61,255,227,254,124,254,1,254,142,253,74,253,59,253,27,253,240,252,186,252,142,252,96,252,68,252,24,252,245,251,229,251,241,251,21,252,84,252,151,252,193,252,200,252,161,252,77,252,219,251,94, +251,244,250,163,250,143,250,177,250,4,251,97,251,207,251,79,252,185,252,248,252,21,253,75,253,207,253,146,254,131,255,127,0,71,1,225,1,90,2,181,2,239,2,13,3,21,3,44,3,41,3,37,3,251,2,207,2,149,2,79,2,233,1,56,1,86,0,115,255,191,254,65,254,239,253,203, +253,204,253,224,253,36,254,128,254,239,254,80,255,151,255,166,255,131,255,54,255,167,254,218,253,243,252,27,252,132,251,58,251,40,251,56,251,96,251,125,251,129,251,74,251,234,250,130,250,57,250,21,250,14,250,49,250,94,250,151,250,231,250,86,251,193,251, +18,252,63,252,86,252,113,252,120,252,96,252,61,252,24,252,23,252,48,252,118,252,228,252,134,253,78,254,40,255,10,0,201,0,93,1,191,1,13,2,84,2,174,2,5,3,82,3,154,3,213,3,26,4,74,4,90,4,108,4,144,4,186,4,254,4,75,5,174,5,10,6,104,6,148,6,162,6,125,6,78, +6,29,6,252,5,246,5,4,6,21,6,61,6,118,6,162,6,166,6,119,6,36,6,201,5,77,5,211,4,106,4,253,3,128,3,17,3,153,2,50,2,208,1,132,1,97,1,104,1,132,1,184,1,252,1,75,2,189,2,45,3,163,3,251,3,76,4,155,4,228,4,27,5,69,5,91,5,99,5,87,5,80,5,58,5,39,5,19,5,231,4, +193,4,167,4,137,4,90,4,51,4,24,4,30,4,59,4,106,4,166,4,231,4,45,5,112,5,173,5,239,5,48,6,93,6,109,6,80,6,29,6,221,5,135,5,43,5,220,4,134,4,47,4,208,3,143,3,78,3,24,3,222,2,153,2,90,2,43,2,251,1,216,1,187,1,171,1,178,1,211,1,7,2,43,2,74,2,68,2,255,1,162, +1,49,1,172,0,43,0,191,255,115,255,86,255,87,255,115,255,180,255,4,0,87,0,140,0,151,0,130,0,66,0,226,255,99,255,217,254,54,254,148,253,244,252,110,252,241,251,151,251,90,251,57,251,65,251,104,251,190,251,35,252,149,252,9,253,99,253,174,253,221,253,239, +253,235,253,208,253,185,253,152,253,99,253,33,253,225,252,158,252,99,252,49,252,17,252,5,252,2,252,27,252,82,252,176,252,49,253,192,253,78,254,220,254,81,255,169,255,224,255,221,255,184,255,91,255,214,254,62,254,152,253,3,253,139,252,46,252,237,251,196, +251,182,251,227,251,48,252,121,252,199,252,35,253,174,253,36,254,134,254,235,254,66,255,130,255,167,255,151,255,99,255,19,255,156,254,27,254,181,253,103,253,49,253,235,252,147,252,60,252,244,251,209,251,204,251,190,251,150,251,104,251,60,251,10,251,224, +250,202,250,184,250,184,250,215,250,65,251,226,251,163,252,132,253,102,254,14,255,83,255,57,255,223,254,94,254,207,253,60,253,160,252,20,252,193,251,147,251,118,251,101,251,99,251,83,251,57,251,14,251,7,251,11,251,64,251,183,251,86,252,241,252,100,253, +179,253,9,254,113,254,224,254,68,255,163,255,7,0,90,0,165,0,217,0,6,1,7,1,183,0,8,0,22,255,8,254,24,253,107,252,17,252,9,252,35,252,86,252,163,252,253,252,92,253,142,253,100,253,192,252,197,251,130,250,57,249,254,247,26,247,120,246,5,246,200,245,180, +245,211,245,254,245,24,246,3,246,204,245,168,245,164,245,198,245,25,246,147,246,52,247,197,247,37,248,112,248,185,248,14,249,142,249,69,250,72,251,131,252,215,253,23,255,54,0,33,1,191,1,2,2,25,2,35,2,63,2,117,2,207,2,107,3,73,4,108,5,184,6,251,7,60,9, +149,10,214,11,240,12,197,13,110,14,239,14,77,15,132,15,139,15,89,15,211,14,13,14,54,13,105,12,201,11,84,11,5,11,232,10,222,10,189,10,144,10,70,10,239,9,96,9,146,8,157,7,150,6,126,5,116,4,114,3,138,2,165,1,202,0,15,0,112,255,236,254,148,254,105,254,120, +254,211,254,104,255,43,0,20,1,14,2,3,3,221,3,116,4,227,4,69,5,185,5,33,6,155,6,33,7,157,7,2,8,118,8,216,8,35,9,64,9,64,9,49,9,30,9,12,9,255,8,240,8,208,8,150,8,67,8,243,7,155,7,45,7,205,6,107,6,21,6,202,5,153,5,102,5,83,5,84,5,81,5,102,5,108,5,106,5, +134,5,202,5,42,6,180,6,93,7,32,8,236,8,170,9,103,10,246,10,66,11,73,11,7,11,108,10,149,9,133,8,83,7,37,6,239,4,224,3,211,2,226,1,22,1,129,0,255,255,113,255,198,254,9,254,42,253,57,252,42,251,14,250,236,248,214,247,215,246,12,246,97,245,14,245,6,245,68, +245,197,245,111,246,12,247,160,247,33,248,148,248,216,248,242,248,235,248,234,248,221,248,241,248,28,249,98,249,176,249,15,250,119,250,240,250,117,251,241,251,93,252,193,252,16,253,81,253,125,253,153,253,167,253,163,253,168,253,167,253,128,253,81,253, +56,253,89,253,152,253,210,253,218,253,197,253,186,253,215,253,38,254,119,254,196,254,1,255,65,255,137,255,220,255,46,0,134,0,209,0,9,1,54,1,83,1,79,1,49,1,32,1,25,1,249,0,145,0,4,0,91,255,164,254,12,254,159,253,55,253,194,252,103,252,43,252,2,252,200, +251,118,251,40,251,249,250,198,250,133,250,37,250,187,249,77,249,235,248,149,248,48,248,196,247,130,247,107,247,114,247,124,247,114,247,24,247,125,246,203,245,4,245,53,244,152,243,66,243,26,243,37,243,79,243,108,243,133,243,177,243,233,243,35,244,73, +244,144,244,53,245,74,246,179,247,102,249,75,251,39,253,227,254,112,0,227,1,45,3,110,4,115,5,39,6,127,6,80,6,209,5,1,5,225,3,63,2,55,0,228,253,154,251,158,249,56,248,121,247,69,247,121,247,243,247,159,248,116,249,55,250,202,250,21,251,33,251,197,250, +255,249,25,249,49,248,67,247,103,246,129,245,168,244,248,243,109,243,33,243,14,243,46,243,98,243,142,243,191,243,6,244,115,244,20,245,197,245,88,246,187,246,34,247,148,247,19,248,203,248,147,249,98,250,25,251,162,251,42,252,163,252,10,253,105,253,195, +253,78,254,5,255,4,0,74,1,229,2,149,4,44,6,147,7,186,8,189,9,108,10,214,10,1,11,16,11,52,11,152,11,253,11,144,12,69,13,243,13,180,14,106,15,23,16,182,16,61,17,217,17,154,18,25,19,78,19,47,19,197,18,61,18,167,17,250,16,73,16,179,15,116,15,114,15,161,15, +217,15,16,16,30,16,226,15,113,15,174,14,151,13,41,12,144,10,241,8,85,7,206,5,110,4,64,3,78,2,172,1,69,1,51,1,86,1,198,1,140,2,145,3,153,4,149,5,100,6,10,7,112,7,130,7,81,7,238,6,115,6,237,5,140,5,95,5,122,5,225,5,123,6,13,7,132,7,254,7,131,8,6,9,142, +9,22,10,168,10,94,11,246,11,125,12,220,12,22,13,36,13,231,12,98,12,188,11,250,10,51,10,123,9,236,8,139,8,56,8,227,7,140,7,38,7,183,6,89,6,235,5,153,5,79,5,25,5,235,4,196,4,157,4,85,4,254,3,132,3,232,2,74,2,139,1,213,0,7,0,21,255,23,254,67,253,121,252, +186,251,70,251,25,251,56,251,150,251,31,252,215,252,145,253,58,254,178,254,200,254,113,254,190,253,204,252,168,251,100,250,37,249,232,247,194,246,201,245,2,245,129,244,65,244,55,244,90,244,158,244,233,244,74,245,190,245,53,246,135,246,186,246,194,246, +205,246,207,246,254,246,78,247,150,247,213,247,243,247,51,248,134,248,252,248,118,249,219,249,75,250,181,250,25,251,125,251,240,251,84,252,171,252,240,252,69,253,175,253,49,254,174,254,44,255,136,255,178,255,169,255,105,255,34,255,239,254,247,254,54, +255,115,255,141,255,144,255,134,255,140,255,191,255,29,0,173,0,57,1,129,1,118,1,47,1,6,1,213,0,132,0,8,0,77,255,92,254,34,253,182,251,107,250,111,249,157,248,245,247,95,247,247,246,161,246,73,246,216,245,7,245,216,243,55,242,64,240,47,238,112,236,55, +235,156,234,100,234,111,234,228,234,182,235,195,236,220,237,193,238,131,239,84,240,73,241,119,242,235,243,64,245,70,246,232,246,94,247,202,247,12,248,119,248,39,249,54,250,70,251,77,252,44,253,195,253,2,254,211,253,70,253,85,252,36,251,223,249,221,248, +119,248,223,248,228,249,49,251,133,252,224,253,7,255,4,0,162,0,217,0,125,0,162,255,106,254,39,253,5,252,32,251,151,250,158,250,229,250,29,251,6,251,169,250,24,250,95,249,133,248,132,247,103,246,56,245,31,244,23,243,19,242,17,241,45,240,133,239,53,239, +57,239,190,239,172,240,251,241,137,243,49,245,167,246,184,247,106,248,224,248,61,249,145,249,31,250,49,251,194,252,182,254,224,0,39,3,147,5,255,7,53,10,68,12,6,14,136,15,203,16,176,17,77,18,166,18,8,19,159,19,81,20,44,21,73,22,152,23,249,24,88,26,196, +27,25,29,29,30,245,30,109,31,118,31,249,30,65,30,98,29,92,28,97,27,89,26,72,25,50,24,66,23,116,22,212,21,78,21,225,20,131,20,249,19,22,19,230,17,96,16,168,14,240,12,90,11,4,10,236,8,238,7,36,7,145,6,42,6,230,5,159,5,137,5,173,5,235,5,72,6,198,6,94,7, +34,8,216,8,128,9,2,10,74,10,80,10,27,10,204,9,111,9,250,8,126,8,243,7,61,7,129,6,253,5,223,5,47,6,201,6,154,7,102,8,49,9,27,10,11,11,219,11,122,12,231,12,26,13,21,13,237,12,202,12,174,12,152,12,112,12,29,12,165,11,234,10,246,9,240,8,3,8,56,7,161,6,47, +6,6,6,50,6,134,6,223,6,24,7,61,7,68,7,40,7,226,6,90,6,159,5,166,4,124,3,50,2,188,0,34,255,134,253,23,252,227,250,18,250,162,249,158,249,209,249,51,250,137,250,219,250,244,250,186,250,33,250,252,248,80,247,81,245,47,243,40,241,85,239,219,237,241,236,149, +236,209,236,155,237,193,238,32,240,164,241,40,243,139,244,201,245,181,246,81,247,145,247,163,247,128,247,31,247,109,246,143,245,139,244,126,243,170,242,48,242,11,242,0,242,250,241,54,242,192,242,203,243,16,245,96,246,181,247,242,248,54,250,96,251,67, +252,190,252,200,252,146,252,34,252,81,251,31,250,26,249,144,248,101,248,117,248,224,248,130,249,51,250,248,250,12,252,114,253,7,255,151,0,254,1,229,2,82,3,71,3,236,2,59,2,28,1,199,255,72,254,128,252,150,250,181,248,88,247,118,246,187,245,247,244,91,244, +35,244,255,243,208,243,90,243,135,242,110,241,9,240,112,238,173,236,218,234,95,233,159,232,47,232,233,231,249,231,101,232,23,233,172,233,180,233,77,233,220,232,7,233,200,233,251,234,79,236,163,237,198,238,236,239,243,240,225,241,187,242,145,243,130,244, +165,245,172,246,178,247,105,248,3,249,98,249,108,249,239,248,29,248,84,247,34,247,192,247,16,249,226,250,10,253,21,255,222,0,60,2,45,3,177,3,202,3,105,3,142,2,35,1,76,255,62,253,112,251,250,249,224,248,11,248,172,247,156,247,196,247,18,248,31,248,213, +247,44,247,61,246,97,245,132,244,195,243,180,242,121,241,98,240,216,239,254,239,226,240,61,242,235,243,155,245,253,246,9,248,229,248,88,249,149,249,185,249,65,250,79,251,212,252,36,255,20,2,93,5,218,8,47,12,20,15,79,17,20,19,101,20,104,21,67,22,51,23, +62,24,40,25,244,25,160,26,48,27,163,27,24,28,189,28,134,29,90,30,93,31,180,32,3,34,9,35,157,35,171,35,88,35,6,35,168,34,49,34,192,33,118,33,81,33,39,33,254,32,184,32,101,32,204,31,221,30,139,29,232,27,47,26,77,24,124,22,237,20,129,19,48,18,30,17,67,16, +138,15,216,14,65,14,198,13,105,13,85,13,130,13,226,13,104,14,246,14,85,15,102,15,21,15,118,14,162,13,170,12,192,11,227,10,214,9,214,8,237,7,36,7,105,6,171,5,216,4,247,3,62,3,183,2,129,2,139,2,218,2,77,3,254,3,189,4,160,5,138,6,86,7,219,7,9,8,28,8,32, +8,41,8,61,8,107,8,198,8,27,9,102,9,124,9,114,9,67,9,248,8,132,8,6,8,117,7,215,6,73,6,220,5,147,5,98,5,98,5,137,5,209,5,1,6,6,6,188,5,41,5,47,4,183,2,220,0,210,254,168,252,144,250,164,248,33,247,12,246,101,245,29,245,53,245,107,245,128,245,136,245,74, +245,229,244,49,244,76,243,56,242,15,241,226,239,186,238,174,237,228,236,102,236,98,236,188,236,109,237,80,238,72,239,88,240,137,241,207,242,51,244,72,245,251,245,48,246,250,245,139,245,13,245,98,244,119,243,99,242,94,241,98,240,140,239,187,238,248,237, +82,237,155,236,254,235,204,235,70,236,83,237,132,238,244,239,171,241,140,243,86,245,186,246,181,247,103,248,54,249,196,249,209,249,115,249,15,249,15,249,123,249,65,250,75,251,106,252,102,253,0,254,8,254,1,254,134,254,148,255,120,0,222,0,212,0,97,0,172, +255,243,254,29,254,248,252,82,251,154,249,13,248,207,246,208,245,249,244,241,243,178,242,60,241,75,239,212,236,1,234,80,231,254,228,3,227,93,225,243,223,72,223,45,223,80,223,72,223,44,223,40,223,130,223,120,224,62,226,100,228,166,230,168,232,57,234,38, +235,156,235,242,235,115,236,36,237,53,238,149,239,52,241,228,242,211,244,2,247,15,249,108,250,202,250,53,250,61,249,133,248,98,248,239,248,21,250,204,251,51,254,18,1,31,4,46,7,113,9,184,10,163,10,34,9,148,6,85,3,248,255,171,252,216,249,152,247,227,245, +169,244,212,243,155,243,216,243,7,244,31,244,43,244,86,244,121,244,175,244,177,244,140,244,57,244,213,243,106,243,90,243,221,243,249,244,111,246,48,248,239,249,101,251,99,252,250,252,17,253,246,252,207,252,222,252,172,253,52,255,135,1,116,4,101,7,59, +10,238,12,80,15,109,17,86,19,232,20,178,22,192,24,153,26,59,28,210,29,53,31,83,32,196,32,182,32,81,32,201,31,177,31,97,32,194,33,151,35,145,37,97,39,229,40,14,42,238,42,115,43,130,43,68,43,252,42,202,42,130,42,250,41,88,41,177,40,228,39,222,38,172,37, +101,36,23,35,233,33,191,32,111,31,57,30,36,29,247,27,178,26,90,25,235,23,174,22,200,21,114,21,120,21,163,21,9,22,137,22,195,22,148,22,225,21,219,20,119,19,224,17,67,16,169,14,51,13,35,12,129,11,40,11,231,10,127,10,190,9,135,8,235,6,69,5,177,3,23,2,211, +0,227,255,50,255,217,254,177,254,241,254,130,255,64,0,31,1,17,2,20,3,88,4,176,5,253,6,16,8,218,8,159,9,73,10,186,10,235,10,239,10,234,10,192,10,130,10,33,10,188,9,80,9,237,8,143,8,218,7,46,7,104,6,195,5,48,5,173,4,58,4,146,3,171,2,100,1,201,255,18,254, +124,252,10,251,167,249,84,248,46,247,59,246,82,245,184,244,15,244,100,243,202,242,240,241,27,241,35,240,49,239,107,238,177,237,239,236,23,236,76,235,106,234,205,233,119,233,83,233,136,233,28,234,15,235,177,236,206,238,74,241,198,243,201,245,31,247,182, +247,207,247,102,247,127,246,9,245,33,243,243,240,154,238,50,236,98,234,14,233,252,231,206,230,185,229,29,229,44,229,160,229,65,230,23,231,25,232,64,233,164,234,14,236,77,237,134,238,12,240,156,241,148,242,191,242,135,242,105,242,73,242,55,242,112,242, +26,243,172,243,208,243,166,243,137,243,237,243,205,244,55,246,236,247,154,249,245,250,24,252,1,253,178,253,220,253,91,253,84,252,241,250,91,249,182,247,254,245,32,244,67,242,121,240,134,238,144,236,102,234,119,232,217,230,166,229,171,228,203,227,56,227, +17,227,36,227,245,226,101,226,194,225,120,225,202,225,209,226,167,228,4,231,124,233,196,235,165,237,35,239,79,240,27,241,125,241,160,241,240,241,109,242,48,243,35,244,75,245,149,246,95,247,163,247,2,247,189,245,101,244,109,243,205,242,146,242,232,242, +237,243,169,245,195,247,248,249,89,252,77,254,145,255,234,255,169,255,195,254,109,253,169,251,24,250,41,249,182,248,49,248,149,247,154,246,168,245,119,244,82,243,62,242,114,241,38,241,98,241,34,242,242,242,158,243,33,244,166,244,18,245,171,245,187,246, +79,248,109,250,250,252,136,255,214,1,62,3,202,3,168,3,176,2,31,1,210,255,16,255,245,254,102,255,111,0,82,2,214,4,200,7,48,11,192,14,116,18,254,21,111,25,146,28,90,31,139,33,105,35,183,36,94,37,175,37,162,37,101,37,62,37,79,37,191,37,215,38,124,40,198, +42,85,45,5,48,187,50,58,53,28,55,101,56,2,57,213,56,255,55,138,54,217,52,230,50,224,48,47,47,192,45,159,44,198,43,220,42,9,42,63,41,154,40,251,39,81,39,107,38,107,37,27,36,127,34,218,32,61,31,227,29,185,28,157,27,144,26,141,25,166,24,48,24,241,23,189, +23,166,23,130,23,59,23,202,22,53,22,96,21,54,20,165,18,54,17,168,15,23,14,116,12,227,10,127,9,41,8,191,6,61,5,179,3,102,2,132,1,208,0,136,0,140,0,234,0,87,1,232,1,146,2,81,3,40,4,75,5,190,6,42,8,69,9,206,9,237,9,196,9,48,9,241,7,120,6,25,5,254,3,53,3, +217,2,8,3,147,3,44,4,221,4,106,5,159,5,144,5,76,5,198,4,222,3,203,2,144,1,98,0,50,255,242,253,147,252,29,251,177,249,130,248,125,247,243,246,197,246,5,247,99,247,159,247,190,247,74,247,115,246,13,245,84,243,51,241,206,238,162,236,92,234,64,232,130,230, +77,229,188,228,168,228,15,229,216,229,217,230,43,232,178,233,38,235,91,236,1,237,245,236,138,236,14,236,132,235,197,234,229,233,223,232,217,231,1,231,80,230,234,229,124,229,23,229,195,228,82,228,182,227,162,227,19,228,163,228,69,229,243,229,145,230,93, +231,83,232,125,233,199,234,86,236,198,237,150,238,176,238,97,238,10,238,220,237,10,238,143,238,16,239,10,239,90,238,69,237,68,236,210,235,9,236,213,236,219,237,206,238,222,239,99,241,3,243,42,244,170,244,173,244,44,244,10,243,184,241,131,240,89,239,11, +238,149,236,219,234,212,232,188,230,88,228,227,225,232,223,73,222,223,220,209,219,147,219,61,220,61,221,237,221,241,221,138,221,142,221,23,222,37,223,195,224,28,227,236,229,164,232,242,234,19,237,21,239,253,240,145,242,201,243,143,244,74,245,49,246,71, +247,127,248,142,249,238,249,21,249,33,247,97,244,149,241,71,239,237,237,141,237,49,238,125,239,166,241,118,244,23,248,247,251,130,255,237,1,248,2,189,2,161,1,212,255,202,253,251,251,245,250,118,250,58,250,138,249,109,248,247,246,76,245,163,243,69,242, +134,241,130,241,77,242,113,243,139,244,201,245,221,246,148,247,246,247,8,248,123,248,54,249,108,250,10,252,220,253,94,255,129,0,27,1,147,0,50,255,56,253,110,251,79,250,89,250,179,251,74,254,158,1,187,5,135,10,102,15,0,20,245,23,142,27,219,30,117,33,70, +35,147,36,132,37,90,38,41,39,236,39,123,40,8,41,213,41,12,43,164,44,175,46,75,49,3,52,158,54,82,57,235,59,19,62,114,63,23,64,54,64,203,63,166,62,234,60,206,58,147,56,162,54,203,52,241,50,101,49,234,47,116,46,209,44,21,43,66,41,154,39,38,38,231,36,218, +35,184,34,111,33,24,32,202,30,163,29,153,28,224,27,140,27,95,27,97,27,153,27,246,27,121,28,240,28,20,29,207,28,20,28,27,27,242,25,179,24,77,23,222,21,82,20,191,18,1,17,2,15,28,13,138,11,66,10,32,9,42,8,118,7,36,7,235,6,248,6,22,7,46,7,81,7,114,7,76,7, +162,6,207,5,9,5,189,4,163,4,220,4,189,4,180,4,126,4,77,4,220,3,163,3,123,3,136,3,197,3,149,4,188,5,224,6,238,7,193,8,66,9,63,9,223,8,43,8,105,7,181,6,7,6,57,5,62,4,39,3,36,2,209,0,47,255,171,253,49,252,233,250,237,249,37,249,166,248,126,248,164,248,163, +248,91,248,81,247,154,245,65,243,77,240,68,237,14,234,216,230,39,228,21,226,191,224,8,224,243,223,97,224,50,225,133,226,78,228,178,230,60,233,168,235,180,237,205,238,35,239,249,238,86,238,71,237,204,235,13,234,125,232,32,231,90,230,62,230,47,230,23,230, +189,229,88,229,231,228,139,228,74,228,106,228,160,228,213,228,244,228,5,229,27,229,102,229,210,229,207,230,8,232,229,232,74,233,180,233,17,234,92,234,182,234,44,235,137,235,91,235,172,234,236,233,244,232,4,232,202,231,115,232,68,233,219,233,189,234,43, +236,228,237,133,239,154,240,237,240,199,240,163,240,216,239,13,238,239,235,20,234,64,232,27,230,175,227,246,224,57,222,174,219,173,217,26,216,168,214,130,213,249,212,76,213,140,214,39,216,134,217,86,218,21,219,28,220,153,221,152,223,28,226,232,228,180, +231,66,234,140,236,180,238,193,240,151,242,10,244,82,245,109,246,128,247,139,248,209,249,22,251,233,251,136,251,252,249,188,247,89,245,69,243,214,241,41,241,98,241,87,242,58,244,19,247,181,250,138,254,220,1,98,4,217,5,255,5,245,4,233,2,54,0,188,253,212, +251,180,250,14,250,228,249,202,249,159,249,68,249,159,248,156,247,124,246,166,245,244,244,209,244,218,244,241,244,212,244,133,244,152,244,220,244,52,245,171,245,183,246,94,248,201,250,166,253,58,0,250,1,185,2,179,2,168,1,209,255,206,253,63,252,139,251, +82,252,173,254,23,2,134,6,169,11,152,17,95,23,117,28,176,32,30,36,147,38,111,40,192,41,94,42,221,42,58,43,163,43,11,44,79,44,252,44,64,46,0,48,68,50,27,53,46,56,96,59,132,62,120,65,247,67,167,69,108,70,95,70,93,69,114,67,238,64,185,61,64,58,228,54,2, +52,186,49,218,47,145,46,176,45,220,44,231,43,12,43,51,42,110,41,192,40,17,40,230,38,61,37,109,35,244,33,171,32,90,31,127,30,210,29,135,29,144,29,170,29,198,29,4,30,19,30,252,29,196,29,54,29,145,28,172,27,144,26,44,25,140,23,5,22,121,20,105,18,81,16,72, +14,183,12,74,11,247,9,95,8,154,6,3,5,196,3,194,2,251,1,68,1,209,0,104,0,39,0,230,255,106,255,234,254,216,254,59,255,216,255,143,0,128,1,114,2,67,3,233,3,130,4,186,4,199,4,232,4,66,5,191,5,162,6,108,7,63,8,248,8,178,9,244,9,193,9,69,9,182,8,243,7,194, +6,142,5,54,4,171,2,238,0,243,254,183,252,151,250,52,249,109,248,4,248,153,247,38,247,193,246,56,246,90,245,3,244,170,241,216,238,238,235,13,233,84,230,255,227,33,226,163,224,207,223,137,223,235,223,159,224,205,225,82,227,11,229,21,231,27,233,244,234, +112,236,119,237,244,237,223,237,134,237,188,236,171,235,96,234,34,233,79,232,180,231,108,231,41,231,180,230,74,230,164,229,199,228,204,227,220,226,32,226,224,225,210,225,156,225,125,225,209,225,150,226,229,227,1,229,1,230,3,231,217,231,132,232,2,233, +47,233,83,233,136,233,135,233,39,233,78,232,69,231,61,230,87,229,4,229,58,229,211,229,178,230,251,231,93,233,246,234,159,236,56,238,131,239,55,240,55,240,47,239,59,237,153,234,173,231,96,228,225,224,86,221,55,218,156,215,163,213,43,212,226,210,215,209, +73,209,24,209,74,209,174,209,5,210,246,209,235,209,56,210,41,211,224,212,113,215,169,218,12,222,118,225,30,229,202,232,87,236,149,239,120,242,230,244,183,246,74,248,4,250,41,252,128,254,157,0,31,2,142,2,7,2,123,0,76,254,16,252,36,250,59,249,98,249,159, +250,175,252,105,255,106,2,162,5,117,8,178,10,178,11,29,11,51,9,151,6,226,3,135,1,241,255,147,255,120,255,172,255,109,255,178,254,17,253,186,250,245,247,169,245,216,243,95,242,244,240,248,239,96,239,50,239,28,239,96,239,204,239,74,240,103,241,106,243, +239,245,206,248,175,251,56,254,21,0,187,0,137,0,183,255,128,254,145,253,56,253,179,253,27,255,87,1,204,4,82,9,93,14,187,19,234,24,180,29,244,33,125,37,248,39,149,41,181,42,144,43,114,44,75,45,44,46,85,47,116,48,213,49,147,51,181,53,18,56,118,58,7,61, +209,63,151,66,8,69,203,70,207,71,87,72,30,72,250,70,187,68,154,65,68,62,200,58,147,55,246,52,10,51,219,49,55,49,180,48,12,48,8,47,212,45,118,44,11,43,135,41,239,39,83,38,216,36,97,35,56,34,86,33,222,32,155,32,146,32,130,32,60,32,244,31,180,31,96,31,224, +30,241,29,251,28,182,27,128,26,71,25,25,24,99,22,36,20,239,17,217,15,193,13,155,11,196,9,153,8,218,7,129,7,22,7,104,6,191,5,185,4,186,3,117,2,76,1,226,255,200,254,67,254,229,253,210,253,22,254,227,254,190,255,177,0,141,1,21,2,169,2,52,3,145,3,186,3,232, +3,72,4,245,4,250,5,33,7,132,8,174,9,159,10,91,11,171,11,135,11,5,11,17,10,228,8,141,7,1,6,37,4,21,2,42,0,103,254,179,252,212,250,243,248,175,247,160,246,143,245,161,244,3,244,115,243,28,243,180,242,161,241,214,239,113,237,199,234,89,232,217,229,156,227, +127,225,202,223,156,222,57,222,85,222,199,222,127,223,195,224,117,226,143,228,195,230,225,232,200,234,58,236,47,237,181,237,183,237,5,237,225,235,135,234,79,233,58,232,149,231,108,231,148,231,202,231,195,231,58,231,112,230,76,229,38,228,81,227,159,226, +255,225,126,225,86,225,162,225,25,226,231,226,38,228,157,229,134,230,188,230,237,230,55,231,104,231,138,231,0,232,58,232,177,231,87,230,255,228,31,228,212,227,44,228,197,228,125,229,74,230,79,231,141,232,164,233,125,234,40,235,120,235,40,235,17,234,122, +232,80,230,210,227,55,225,103,222,116,219,127,216,125,213,109,210,169,207,146,205,230,203,186,202,57,202,132,202,7,203,38,203,236,202,204,202,24,203,255,203,188,205,28,208,61,211,243,214,11,219,65,223,47,227,183,230,82,234,40,238,25,242,150,245,37,248, +3,250,225,251,33,254,151,0,194,2,15,4,47,4,124,3,9,2,40,0,52,254,223,252,136,252,219,252,186,253,70,255,154,1,175,4,227,7,138,10,44,12,150,12,235,11,106,10,120,8,66,6,76,4,19,3,133,2,193,2,114,3,192,3,70,3,45,2,181,0,192,254,147,252,76,250,26,248,125, +246,197,244,102,243,180,242,108,242,173,242,115,243,170,244,41,246,200,247,80,250,19,253,231,255,93,2,85,4,19,5,210,4,232,3,186,2,118,1,126,0,114,0,97,1,44,3,183,5,12,9,244,12,74,17,253,21,222,26,150,31,232,35,136,39,16,42,216,43,233,44,139,45,140,45, +21,45,208,44,54,45,45,46,229,47,53,50,31,53,133,56,1,60,61,63,22,66,108,68,109,70,244,71,210,72,230,72,62,72,243,70,246,68,122,66,201,63,26,61,92,58,60,56,162,54,121,53,125,52,96,51,31,50,177,48,55,47,214,45,148,44,7,43,63,41,96,39,204,37,105,36,45,35, +254,33,39,33,119,32,205,31,13,31,23,30,2,29,23,28,79,27,117,26,40,25,194,23,152,22,154,21,157,20,98,19,158,17,215,15,57,14,180,12,98,11,37,10,78,9,186,8,68,8,143,7,115,6,241,4,109,3,237,1,133,0,137,255,169,254,138,254,203,254,94,255,25,0,249,0,236,1, +250,2,12,4,236,4,144,5,8,6,86,6,162,6,4,7,159,7,52,8,228,8,226,9,50,11,181,12,124,14,69,16,160,17,133,18,181,18,73,18,22,17,57,15,51,13,253,10,139,8,24,6,188,3,101,1,220,254,49,252,119,249,56,247,150,245,96,244,174,243,73,243,230,242,162,242,233,241, +73,241,250,239,235,237,34,235,92,232,98,229,151,226,250,223,179,221,206,219,87,218,127,217,31,217,36,217,247,217,172,219,20,222,165,224,238,226,163,228,144,229,45,230,128,230,104,230,20,230,116,229,38,229,250,228,62,229,222,229,126,230,239,230,127,231, +234,231,7,232,113,231,199,230,238,229,15,229,95,228,140,227,118,226,205,225,181,225,111,226,85,227,42,228,69,229,178,230,233,231,141,232,236,232,18,233,99,233,196,233,154,233,144,232,250,230,218,229,150,229,221,229,30,230,252,229,235,229,238,229,34,230, +192,230,130,231,233,231,172,231,127,231,89,231,141,230,12,229,106,227,151,225,250,222,201,219,23,217,147,214,105,211,50,208,79,205,14,203,35,201,119,199,152,198,138,198,228,198,74,199,38,199,225,198,193,198,69,199,191,200,89,203,115,206,243,209,29,214, +210,218,150,223,246,227,240,231,47,236,110,240,216,243,81,246,91,248,158,250,145,253,234,0,76,4,197,6,204,7,189,7,21,7,194,5,47,4,129,2,92,1,206,0,234,0,230,1,200,3,93,6,64,9,23,12,65,14,77,15,10,15,137,13,187,11,160,9,164,7,216,5,218,4,41,5,26,6,237, +6,195,6,134,5,163,3,160,1,165,255,222,253,102,252,229,250,88,249,128,248,37,248,2,248,4,248,22,248,61,248,196,248,244,249,230,251,145,254,168,1,236,4,193,7,44,9,14,9,229,7,143,6,227,4,67,3,79,2,14,2,167,2,15,4,187,6,144,10,16,15,247,19,0,25,199,29,228, +33,40,37,12,39,251,39,74,40,89,40,71,40,34,40,53,40,0,41,203,42,92,45,104,48,214,51,137,55,191,59,243,63,204,67,242,70,96,73,64,75,174,76,98,77,36,77,232,75,150,73,221,70,255,67,61,65,161,62,108,60,176,58,115,57,29,56,141,54,218,52,212,50,250,48,109, +47,60,46,16,45,111,43,196,41,93,40,245,38,118,37,170,35,197,33,88,32,98,31,167,30,160,29,102,28,42,27,54,26,255,24,144,23,33,22,207,20,238,19,86,19,108,18,245,16,28,15,22,13,40,11,226,8,177,6,186,4,62,3,30,2,87,1,190,0,51,0,214,255,159,255,165,255,181, +255,221,255,51,0,190,0,72,1,178,1,3,2,85,2,217,2,134,3,114,4,159,5,208,6,158,7,41,8,178,8,105,9,17,10,43,11,190,12,135,14,105,16,71,18,220,19,63,21,38,22,98,22,233,21,97,20,59,18,163,15,145,12,113,9,68,6,105,3,198,0,4,254,107,251,224,248,20,247,160,245, +161,244,203,243,32,243,103,242,245,241,42,241,21,240,49,238,182,235,28,233,79,230,200,227,25,225,78,222,252,219,242,217,74,216,13,215,45,214,24,214,142,214,174,215,65,217,40,219,5,221,147,222,224,223,238,224,152,225,234,225,163,225,53,225,131,224,224, +223,184,223,90,224,132,225,200,226,232,227,240,228,160,229,177,229,102,229,236,228,114,228,164,227,171,226,0,226,73,225,158,224,199,224,166,225,164,226,92,227,28,228,196,228,240,228,232,228,22,229,198,229,138,230,83,231,22,232,83,232,234,231,53,231,162, +230,63,230,228,229,157,229,238,229,77,230,188,230,65,231,194,231,205,231,33,231,9,230,201,228,53,227,66,225,44,223,236,220,144,218,208,215,226,212,248,209,6,207,82,204,25,202,87,200,7,199,226,197,104,197,211,197,137,198,233,198,233,198,156,198,186,198, +202,199,186,201,124,204,236,207,34,212,235,216,230,221,110,226,148,230,157,234,252,238,44,243,183,246,241,249,34,253,151,0,67,4,122,7,228,9,58,11,88,11,164,10,66,9,171,7,22,6,81,5,87,5,246,5,141,6,165,7,153,9,37,12,193,14,191,16,199,17,12,18,72,17,233, +15,215,13,201,11,62,10,85,9,239,8,12,9,24,9,142,8,96,7,213,5,99,4,133,2,166,0,111,255,69,254,12,253,191,251,222,250,101,250,72,250,91,250,145,250,50,251,73,252,52,254,107,0,214,2,5,5,154,6,54,7,55,6,54,4,153,1,18,255,33,253,255,251,7,252,244,252,181, +254,179,1,145,5,250,9,243,14,230,19,120,24,171,28,6,32,17,34,213,34,4,35,9,35,251,34,242,34,27,35,253,35,176,37,87,40,183,43,145,47,139,51,138,55,137,59,122,63,235,66,207,69,24,72,135,73,255,73,132,73,1,72,215,69,36,67,130,64,235,61,161,59,254,57,213, +56,226,55,29,55,25,54,253,52,154,51,249,49,149,48,121,47,67,46,159,44,171,42,0,41,153,39,58,38,133,36,192,34,1,33,191,31,167,30,72,29,240,27,219,26,238,25,98,25,231,24,70,24,148,23,189,22,164,21,53,20,48,18,192,15,35,13,204,10,193,8,202,6,218,4,145,3, +42,3,19,3,247,2,239,2,52,3,106,3,152,3,147,3,171,3,170,3,177,3,19,4,124,4,4,5,212,5,163,6,121,7,82,8,34,9,207,9,65,10,204,10,73,11,142,11,7,12,217,12,28,14,175,15,141,17,82,19,230,20,42,22,203,22,235,22,81,22,232,20,29,19,202,16,117,14,30,12,139,9,79, +7,5,5,52,2,238,254,227,251,184,249,247,247,93,246,212,244,126,243,69,242,15,241,255,239,89,238,45,236,233,233,79,231,120,228,191,225,196,222,81,220,21,218,16,216,9,214,18,212,136,210,35,210,81,210,69,211,8,213,21,215,51,217,78,219,158,220,79,221,61,221, +49,221,97,221,193,221,51,222,217,222,209,223,8,225,81,226,180,227,210,228,153,229,167,229,235,228,180,227,164,226,35,226,90,225,57,224,162,223,185,223,220,223,185,223,191,223,105,224,29,226,158,227,92,228,138,228,5,229,163,229,14,230,50,230,70,230,195, +230,71,231,98,231,230,230,8,230,220,229,188,230,199,231,139,232,154,233,219,234,103,235,55,235,206,234,28,234,240,232,108,231,192,229,233,227,190,225,180,223,151,221,98,219,197,216,75,213,145,209,26,206,164,203,97,202,50,201,0,200,83,199,86,199,242,199, +158,200,165,200,253,199,74,199,36,199,14,200,10,202,70,205,27,210,139,215,146,220,17,225,189,229,153,234,101,239,210,243,247,247,218,251,41,255,30,2,235,4,153,7,175,9,18,11,127,11,202,10,20,9,252,6,224,4,206,3,210,3,90,4,124,5,130,7,192,10,86,14,230, +17,218,20,51,23,184,24,238,24,116,23,219,20,207,17,8,15,210,12,187,11,76,11,239,10,51,10,177,9,207,8,112,7,205,5,191,4,44,4,221,3,78,3,142,2,85,1,4,0,253,254,44,254,132,253,253,252,196,252,150,253,225,254,119,0,90,2,33,4,43,5,153,4,239,2,147,0,0,254, +104,251,169,249,229,248,239,248,15,250,226,251,85,254,105,1,87,5,196,9,85,14,215,18,81,23,240,26,90,29,194,30,172,31,65,32,220,32,229,33,72,35,226,36,5,39,162,41,31,45,51,49,128,53,216,57,7,62,223,65,129,69,126,72,138,74,177,75,60,76,237,75,144,74,50, +72,87,69,114,66,176,63,40,61,49,59,209,57,177,56,173,55,160,54,33,53,43,51,55,49,178,47,59,46,128,44,91,42,17,40,190,37,126,35,125,33,123,31,145,29,182,28,45,28,250,27,185,27,115,27,49,27,196,26,2,26,37,25,220,23,168,22,152,21,114,20,224,18,61,17,3,15, +210,12,224,10,182,8,191,6,115,5,243,4,196,4,177,4,159,4,84,4,23,4,22,4,52,4,58,4,145,4,133,5,123,6,29,7,166,7,95,8,23,9,218,9,200,10,160,11,48,12,241,12,193,13,174,14,142,15,85,16,41,17,29,18,74,19,93,20,49,21,224,21,124,22,12,23,254,22,202,22,71,22, +49,21,158,19,130,17,37,15,102,12,75,9,50,6,35,3,221,255,100,252,51,249,164,246,155,244,5,243,174,241,114,240,114,239,103,238,105,237,47,236,197,234,237,232,185,230,145,228,201,225,136,222,73,219,56,216,245,213,245,211,91,210,135,209,157,209,157,210,29, +212,13,214,16,216,36,218,122,219,64,220,3,220,161,219,242,219,172,220,23,221,59,221,146,221,15,222,236,222,216,223,239,224,212,225,83,226,101,226,255,225,48,225,45,224,225,223,188,223,139,223,177,223,20,224,122,224,248,224,242,225,128,227,206,228,101, +229,117,229,119,229,95,229,81,229,106,229,70,229,38,229,152,229,156,229,215,228,6,228,198,227,71,228,85,229,248,230,155,232,194,233,77,234,250,234,110,235,255,234,197,233,182,232,165,231,61,230,103,228,241,226,181,225,234,223,226,221,133,219,246,216, +20,214,79,211,106,209,89,208,112,207,94,206,92,205,192,204,1,205,135,205,134,205,218,204,112,204,16,205,187,206,70,209,252,212,185,217,190,222,107,227,172,231,171,235,187,239,205,243,175,247,28,251,222,253,62,0,183,2,23,5,115,7,193,9,81,11,180,11,196, +10,16,9,87,7,239,5,52,5,249,4,108,5,65,6,187,7,12,10,64,13,175,16,211,19,247,21,210,22,63,22,95,20,200,17,246,14,155,12,83,11,102,11,137,11,144,11,76,11,240,10,48,10,30,9,244,7,130,6,3,5,179,3,138,2,103,1,64,0,122,255,247,254,157,254,106,254,239,254, +213,255,69,1,204,2,83,4,151,5,76,6,244,5,149,4,196,1,16,254,122,250,116,247,168,245,238,244,125,245,45,247,206,249,89,253,162,1,71,6,184,10,203,14,126,18,154,21,246,23,152,25,176,26,160,27,148,28,159,29,142,30,190,31,150,33,245,35,215,38,134,42,199,46, +71,51,204,55,20,60,221,63,217,66,3,69,58,70,195,70,168,70,190,69,238,67,68,65,176,62,45,60,252,57,46,56,174,54,121,53,111,52,136,51,62,50,180,48,51,47,168,45,230,43,22,42,63,40,233,37,141,35,118,33,107,31,191,29,52,28,2,27,126,26,89,26,112,26,79,26,54, +26,22,26,218,25,71,25,130,24,173,23,155,22,129,21,29,20,137,18,207,16,233,14,11,13,45,11,102,9,194,7,93,6,149,5,246,4,108,4,253,3,236,3,249,3,73,4,199,4,148,5,152,6,115,7,60,8,246,8,142,9,229,9,44,10,110,10,192,10,213,10,54,11,148,11,21,12,159,12,6,13, +128,13,24,14,246,14,58,16,108,17,190,18,252,19,59,21,15,22,146,22,130,22,6,22,16,21,133,19,2,17,240,13,108,10,216,6,131,3,48,0,53,253,249,249,23,247,191,244,228,242,137,241,116,240,211,239,53,239,100,238,23,237,92,235,42,233,102,230,38,227,250,223,216, +220,213,217,20,215,10,213,227,211,43,211,228,210,15,211,167,211,221,212,85,214,131,216,160,218,69,220,194,221,56,222,150,222,197,222,164,222,182,222,204,222,213,222,246,222,98,223,63,224,72,225,28,226,100,226,28,226,151,225,8,225,0,225,4,225,248,224, +62,225,230,225,93,226,62,226,68,226,146,226,65,227,186,227,28,228,134,228,199,228,31,229,181,229,131,230,55,231,147,231,241,231,7,232,180,231,136,231,231,231,194,232,136,233,111,234,105,235,70,236,152,236,194,236,40,237,94,237,12,237,134,236,90,236,178, +235,154,234,255,232,97,231,192,229,186,227,166,225,51,223,147,220,36,218,241,215,0,214,62,212,228,210,248,209,160,209,240,209,100,210,218,210,36,211,98,211,242,211,220,212,147,214,148,217,201,221,74,226,219,230,83,235,173,239,57,243,113,246,100,249,248, +251,70,254,130,0,225,2,11,5,230,6,117,8,156,9,239,9,1,9,58,7,242,4,64,3,157,2,205,2,103,3,128,4,87,6,44,9,180,12,251,15,83,18,198,19,5,20,104,19,219,17,128,15,212,12,195,10,203,9,64,9,106,9,75,9,62,9,201,8,233,7,0,7,32,6,192,4,41,3,137,1,26,0,134,254, +10,253,216,251,36,251,238,250,82,251,255,251,80,253,111,255,220,1,81,4,48,6,18,7,137,6,218,4,52,2,249,254,194,251,206,248,158,246,107,245,96,245,200,246,52,249,78,252,8,0,34,4,102,8,122,12,242,15,141,18,173,20,110,22,239,23,46,25,68,26,55,27,84,28,188, +29,71,31,38,33,130,35,90,38,173,41,39,45,159,48,247,51,14,55,164,57,221,59,100,61,112,62,186,62,56,62,220,60,211,58,51,56,173,53,156,51,28,50,57,49,73,48,121,47,109,46,5,45,46,43,4,41,219,38,253,36,22,35,95,33,216,31,50,30,16,29,41,28,142,27,2,27,154, +26,45,26,3,26,234,25,190,25,79,25,152,24,189,23,243,22,221,21,204,20,230,19,64,19,177,18,225,17,168,16,2,15,11,13,247,10,2,9,57,7,252,5,54,5,160,4,26,4,213,3,192,3,165,3,171,3,217,3,65,4,184,4,62,5,184,5,57,6,140,6,244,6,61,7,137,7,186,7,234,7,7,8,79, +8,167,8,45,9,153,9,33,10,193,10,158,11,174,12,238,13,30,15,40,16,22,17,234,17,113,18,165,18,61,18,77,17,181,15,112,13,199,10,85,7,142,3,142,255,190,251,108,248,178,245,234,243,120,242,164,241,163,240,24,240,208,239,97,239,211,238,181,237,43,236,81,234, +8,232,148,229,227,226,243,223,79,221,78,219,228,217,109,217,137,217,57,218,40,219,110,220,160,221,8,223,220,224,103,226,237,227,27,229,216,229,61,230,185,230,22,231,248,230,185,230,99,230,86,230,117,230,181,230,80,231,68,232,236,232,117,233,197,233,196, +233,132,233,35,233,170,232,42,232,148,231,232,230,130,230,124,230,245,230,172,231,104,232,125,233,132,234,77,235,149,235,189,235,4,236,66,236,117,236,123,236,94,236,202,235,83,235,49,235,119,235,231,235,223,236,46,238,54,239,186,239,102,240,74,241,97, +242,198,242,205,242,121,242,175,241,129,240,245,238,90,237,179,235,24,234,130,232,183,230,33,229,208,227,254,226,56,226,64,225,54,224,193,223,227,223,52,224,174,224,90,225,53,226,41,227,91,228,231,229,22,232,203,234,188,237,193,240,152,243,42,246,164, +248,3,251,85,253,173,255,241,1,181,3,48,5,94,6,128,7,110,8,1,9,37,9,139,8,112,7,241,5,152,4,200,3,120,3,206,3,124,4,180,5,227,6,92,8,47,10,30,12,245,13,24,15,2,15,53,14,212,12,174,11,221,10,108,10,65,10,96,10,144,10,173,10,132,10,183,9,38,8,108,6,16, +5,154,3,179,2,244,1,49,1,119,0,220,255,90,255,9,255,5,255,113,255,114,0,179,1,75,3,249,4,98,6,60,7,43,7,62,6,159,4,54,2,155,255,24,253,17,251,249,249,122,249,212,249,252,250,205,252,39,255,137,1,183,3,187,5,216,7,249,9,206,11,94,13,162,14,136,15,45,16, +124,16,206,16,41,17,126,17,22,18,31,19,167,20,106,22,136,24,214,26,15,29,15,31,2,33,153,34,189,35,122,36,118,36,199,35,160,34,133,33,128,32,103,31,55,30,56,29,107,28,132,27,135,26,67,25,195,23,60,22,16,21,240,19,210,18,189,17,231,16,31,16,74,15,157,14, +193,13,8,13,204,12,179,12,154,12,86,12,82,12,115,12,180,12,237,12,212,12,181,12,210,12,252,12,252,12,161,12,75,12,196,11,22,11,58,10,45,9,230,7,168,6,148,5,180,4,249,3,35,3,111,2,17,2,27,2,71,2,157,2,5,3,120,3,231,3,92,4,174,4,218,4,11,5,70,5,137,5,246, +5,64,6,102,6,101,6,114,6,137,6,168,6,209,6,28,7,97,7,205,7,64,8,240,8,150,9,65,10,225,10,26,11,50,11,2,11,132,10,41,10,106,9,149,8,97,7,245,5,59,4,84,2,68,0,18,254,3,252,60,250,243,248,192,247,10,247,140,246,17,246,96,245,144,244,191,243,227,242,30,242, +145,240,47,239,221,237,133,236,135,235,190,234,167,233,254,232,150,232,97,232,209,232,39,233,187,233,179,234,243,235,249,236,194,237,118,238,213,238,71,239,106,239,196,239,43,240,89,240,59,240,66,240,103,240,111,240,135,240,243,240,60,241,98,241,130, +241,132,241,98,241,66,241,26,241,229,240,157,240,50,240,185,239,151,239,161,239,241,239,131,240,56,241,251,241,72,242,159,242,220,242,249,242,14,243,21,243,30,243,14,243,166,242,38,242,213,241,197,241,4,242,156,242,82,243,53,244,237,244,184,245,114,246, +51,247,196,247,15,248,45,248,83,248,65,248,220,247,62,247,146,246,196,245,201,244,174,243,166,242,188,241,22,241,212,240,229,240,248,240,248,240,1,241,94,241,228,241,83,242,145,242,28,243,234,243,248,244,103,246,43,248,250,249,227,251,213,253,162,255, +93,1,230,2,37,4,95,5,151,6,216,7,251,8,253,9,184,10,122,11,41,12,143,12,93,12,119,11,51,10,218,8,201,7,49,7,197,6,194,6,217,6,104,7,64,8,53,9,55,10,63,11,64,12,208,12,183,12,0,12,18,11,35,10,138,9,134,9,237,9,142,10,235,10,19,11,253,10,78,10,109,9,41, +8,181,6,84,5,11,4,244,2,74,2,223,1,164,1,135,1,122,1,79,1,57,1,99,1,194,1,117,2,82,3,232,3,37,4,213,3,247,2,130,1,174,255,142,253,250,251,222,250,50,250,50,250,183,250,179,251,9,253,139,254,11,0,125,1,182,2,190,3,178,4,117,5,252,5,47,6,19,6,195,5,108, +5,66,5,101,5,162,5,69,6,31,7,46,8,117,9,29,11,177,12,11,14,73,15,116,16,63,17,164,17,238,17,32,18,206,17,0,17,11,16,193,14,126,13,69,12,36,11,33,10,100,9,218,8,78,8,158,7,212,6,30,6,99,5,163,4,13,4,135,3,8,3,178,2,120,2,70,2,28,2,23,2,106,2,210,2,39, +3,128,3,240,3,145,4,57,5,162,5,203,5,28,6,127,6,188,6,231,6,213,6,144,6,11,6,124,5,33,5,153,4,29,4,202,3,152,3,109,3,70,3,26,3,222,2,172,2,151,2,182,2,235,2,39,3,127,3,232,3,66,4,141,4,166,4,167,4,189,4,231,4,4,5,33,5,76,5,159,5,203,5,212,5,220,5,4,6, +47,6,147,6,228,6,122,7,27,8,143,8,201,8,179,8,157,8,75,8,187,7,54,7,83,6,144,5,138,4,145,3,114,2,78,1,26,0,182,254,118,253,28,252,240,250,37,250,116,249,39,249,5,249,188,248,51,248,80,247,78,246,153,245,188,244,253,243,58,243,109,242,209,241,76,241,211, +240,125,240,13,240,212,239,223,239,25,240,107,240,2,241,189,241,130,242,90,243,169,243,206,243,172,243,138,243,162,243,251,243,61,244,151,244,238,244,100,245,229,245,67,246,95,246,55,246,244,245,88,245,227,244,101,244,7,244,0,244,36,244,116,244,147,244, +202,244,21,245,108,245,151,245,130,245,103,245,43,245,212,244,158,244,191,244,248,244,46,245,140,245,214,245,186,245,148,245,125,245,165,245,86,246,23,247,229,247,178,248,65,249,201,249,89,250,7,251,168,251,7,252,75,252,60,252,17,252,198,251,103,251, +39,251,11,251,223,250,151,250,87,250,83,250,118,250,179,250,230,250,88,251,189,251,245,251,23,252,60,252,114,252,151,252,196,252,35,253,214,253,189,254,228,255,60,1,185,2,19,4,68,5,72,6,103,7,88,8,57,9,222,9,120,10,30,11,241,11,181,12,125,13,236,13,41, +14,29,14,190,13,17,13,39,12,252,10,229,9,251,8,79,8,13,8,194,7,158,7,70,8,41,9,2,10,220,10,54,11,48,11,247,10,139,10,249,9,135,9,203,8,125,8,52,8,238,7,143,7,57,7,238,6,253,6,17,7,17,7,223,6,143,6,3,6,113,5,184,4,18,4,125,3,6,3,248,2,193,2,156,2,161, +2,114,2,34,2,223,1,86,1,127,0,158,255,166,254,189,253,235,252,35,252,140,251,60,251,251,250,31,251,151,251,75,252,78,253,137,254,230,255,21,1,42,2,218,2,87,3,93,3,8,3,110,2,179,1,231,0,32,0,134,255,41,255,47,255,181,255,141,0,118,1,102,2,53,3,188,3,251, +3,40,4,112,4,162,4,185,4,227,4,206,4,130,4,38,4,143,3,165,2,172,1,234,0,91,0,159,255,25,255,225,254,159,254,116,254,137,254,120,254,87,254,65,254,228,253,134,253,236,252,82,252,223,251,197,251,252,251,74,252,190,252,113,253,112,254,55,255,227,255,111, +0,191,0,9,1,114,1,222,1,48,2,138,2,255,2,143,3,211,3,175,3,109,3,53,3,232,2,194,2,201,2,215,2,1,3,63,3,117,3,118,3,70,3,225,2,140,2,103,2,99,2,89,2,75,2,117,2,214,2,30,3,100,3,168,3,225,3,37,4,77,4,85,4,81,4,73,4,84,4,102,4,135,4,232,4,51,5,134,5,207, +5,228,5,228,5,199,5,147,5,75,5,12,5,189,4,117,4,247,3,89,3,194,2,255,1,47,1,107,0,130,255,239,254,127,254,27,254,185,253,39,253,120,252,232,251,94,251,215,250,139,250,101,250,3,250,169,249,221,248,52,248,196,247,203,246,45,246,136,245,255,244,188,244, +172,244,223,244,11,245,36,245,104,245,252,245,154,246,239,246,53,247,121,247,124,247,146,247,123,247,53,247,35,247,6,247,110,247,4,248,98,248,181,248,200,248,177,248,76,248,208,247,96,247,22,247,212,246,160,246,156,246,160,246,221,246,40,247,113,247, +168,247,178,247,161,247,128,247,100,247,63,247,66,247,80,247,77,247,102,247,154,247,254,247,83,248,137,248,246,248,87,249,214,249,104,250,249,250,121,251,202,251,70,252,194,252,110,253,22,254,166,254,243,254,25,255,54,255,58,255,5,255,159,254,73,254, +33,254,16,254,49,254,115,254,234,254,142,255,15,0,143,0,240,0,97,1,175,1,241,1,92,2,181,2,235,2,27,3,93,3,214,3,138,4,131,5,119,6,125,7,104,8,67,9,239,9,91,10,134,10,188,10,18,11,141,11,246,11,29,12,90,12,156,12,26,13,94,13,74,13,219,12,95,12,228,11, +93,11,164,10,208,9,91,9,59,9,59,9,92,9,170,9,197,9,23,10,73,10,35,10,236,9,127,9,27,9,179,8,135,8,84,8,225,7,151,7,31,7,198,6,69,6,217,5,79,5,228,4,163,4,213,4,247,4,52,5,111,5,40,5,217,4,90,4,197,3,46,3,133,2,28,2,223,1,164,1,75,1,166,0,226,255,29,255, +99,254,128,253,133,252,173,251,226,250,111,250,83,250,118,250,27,251,9,252,70,253,108,254,130,255,60,0,168,0,241,0,17,1,24,1,230,0,125,0,10,0,102,255,209,254,106,254,51,254,12,254,24,254,62,254,130,254,162,254,170,254,5,255,141,255,217,255,0,0,228,255, +148,255,44,255,199,254,42,254,118,253,240,252,196,252,165,252,143,252,139,252,79,252,2,252,154,251,56,251,172,250,53,250,246,249,199,249,199,249,221,249,10,250,44,250,89,250,140,250,197,250,6,251,93,251,166,251,247,251,103,252,237,252,123,253,58,254, +39,255,205,255,94,0,202,0,51,1,133,1,204,1,32,2,118,2,211,2,26,3,88,3,121,3,109,3,92,3,99,3,132,3,141,3,157,3,142,3,116,3,73,3,251,2,131,2,31,2,208,1,178,1,141,1,114,1,103,1,105,1,126,1,154,1,202,1,233,1,14,2,63,2,107,2,124,2,140,2,186,2,37,3,95,3,136, +3,116,3,118,3,174,3,210,3,22,4,2,4,231,3,153,3,3,3,93,2,166,1,234,0,79,0,250,255,205,255,145,255,127,255,84,255,54,255,250,254,191,254,159,254,127,254,58,254,244,253,152,253,75,253,5,253,189,252,114,252,20,252,101,251,109,250,144,249,216,248,99,248,61, +248,1,248,190,247,220,247,37,248,121,248,227,248,54,249,94,249,165,249,250,249,57,250,112,250,96,250,65,250,37,250,230,249,165,249,73,249,32,249,26,249,73,249,105,249,98,249,93,249,91,249,77,249,86,249,70,249,84,249,136,249,142,249,134,249,119,249,72, +249,11,249,177,248,94,248,52,248,29,248,91,248,164,248,239,248,19,249,62,249,94,249,100,249,124,249,184,249,255,249,155,250,72,251,30,252,255,252,208,253,91,254,243,254,105,255,217,255,51,0,105,0,145,0,184,0,227,0,11,1,39,1,28,1,15,1,240,0,198,0,212, +0,233,0,14,1,89,1,169,1,222,1,71,2,183,2,67,3,220,3,96,4,171,4,241,4,45,5,151,5,53,6,206,6,99,7,226,7,95,8,247,8,124,9,235,9,119,10,229,10,36,11,47,11,56,11,61,11,72,11,50,11,37,11,40,11,26,11,25,11,199,10,83,10,226,9,154,9,132,9,143,9,163,9,201,9,246, +9,31,10,23,10,218,9,131,9,9,9,149,8,43,8,165,7,235,6,73,6,174,5,84,5,44,5,15,5,241,4,227,4,211,4,180,4,124,4,62,4,243,3,189,3,139,3,135,3,196,3,185,3,159,3,99,3,248,2,126,2,23,2,175,1,89,1,27,1,193,0,73,0,180,255,254,254,20,254,45,253,78,252,139,251, +11,251,202,250,224,250,97,251,43,252,13,253,202,253,121,254,235,254,76,255,113,255,140,255,174,255,194,255,187,255,246,255,244,255,196,255,123,255,39,255,211,254,142,254,84,254,55,254,31,254,1,254,208,253,153,253,63,253,211,252,164,252,133,252,61,252, +220,251,93,251,206,250,104,250,3,250,178,249,122,249,109,249,142,249,162,249,167,249,123,249,43,249,207,248,128,248,79,248,40,248,43,248,123,248,252,248,155,249,58,250,234,250,136,251,14,252,106,252,149,252,176,252,236,252,28,253,110,253,233,253,106, +254,253,254,129,255,0,0,133,0,234,0,72,1,151,1,209,1,0,2,25,2,111,2,215,2,28,3,88,3,89,3,49,3,254,2,189,2,117,2,52,2,241,1,202,1,164,1,126,1,78,1,255,0,197,0,140,0,108,0,62,0,19,0,235,255,209,255,208,255,234,255,29,0,129,0,248,0,89,1,141,1,128,1,90,1, +79,1,75,1,92,1,132,1,132,1,139,1,135,1,96,1,21,1,172,0,69,0,241,255,187,255,116,255,69,255,62,255,34,255,58,255,106,255,123,255,151,255,142,255,129,255,162,255,191,255,203,255,195,255,166,255,105,255,249,254,134,254,244,253,120,253,34,253,186,252,125, +252,254,251,153,251,68,251,75,251,43,251,79,251,112,251,161,251,18,252,99,252,127,252,145,252,74,252,52,252,31,252,23,252,205,251,142,251,117,251,82,251,67,251,43,251,223,250,165,250,159,250,191,250,235,250,6,251,28,251,61,251,93,251,50,251,252,250,144, +250,31,250,227,249,158,249,134,249,130,249,165,249,190,249,255,249,44,250,60,250,109,250,159,250,169,250,181,250,204,250,17,251,126,251,255,251,174,252,113,253,38,254,210,254,140,255,39,0,168,0,17,1,126,1,209,1,35,2,90,2,132,2,161,2,207,2,250,2,45,3, +62,3,51,3,37,3,3,3,225,2,215,2,236,2,17,3,116,3,221,3,95,4,218,4,62,5,183,5,105,6,240,6,126,7,225,7,48,8,128,8,197,8,251,8,44,9,75,9,150,9,244,9,63,10,114,10,144,10,130,10,149,10,166,10,148,10,74,10,249,9,174,9,121,9,67,9,8,9,212,8,210,8,214,8,3,9,41, +9,75,9,102,9,96,9,74,9,3,9,172,8,50,8,118,7,158,6,207,5,15,5,145,4,76,4,250,3,218,3,243,3,12,4,253,3,246,3,210,3,159,3,139,3,64,3,182,2,23,2,137,1,22,1,212,0,162,0,155,0,223,0,17,1,76,1,65,1,4,1,163,0,101,0,0,0,152,255,50,255,169,254,49,254,174,253,49, +253,218,252,192,252,182,252,214,252,30,253,95,253,159,253,197,253,231,253,26,254,76,254,108,254,153,254,187,254,200,254,205,254,214,254,169,254,135,254,126,254,76,254,41,254,239,253,138,253,38,253,163,252,63,252,243,251,146,251,46,251,217,250,140,250, +64,250,60,250,12,250,190,249,75,249,198,248,40,248,131,247,247,246,150,246,114,246,160,246,243,246,48,247,130,247,185,247,250,247,34,248,80,248,115,248,214,248,86,249,6,250,155,250,47,251,196,251,82,252,232,252,78,253,171,253,244,253,34,254,84,254,112, +254,174,254,254,254,98,255,198,255,51,0,144,0,11,1,111,1,198,1,16,2,48,2,66,2,107,2,140,2,158,2,146,2,110,2,56,2,237,1,136,1,61,1,244,0,205,0,199,0,190,0,169,0,119,0,40,0,196,255,75,255,221,254,163,254,144,254,175,254,209,254,19,255,69,255,94,255,97, +255,75,255,119,255,154,255,195,255,178,255,149,255,140,255,101,255,69,255,9,255,221,254,203,254,232,254,227,254,223,254,229,254,0,255,16,255,33,255,55,255,75,255,91,255,91,255,104,255,147,255,184,255,238,255,47,0,107,0,150,0,155,0,133,0,98,0,3,0,140, +255,25,255,178,254,113,254,49,254,5,254,236,253,231,253,207,253,186,253,177,253,153,253,153,253,107,253,63,253,57,253,78,253,71,253,91,253,63,253,20,253,244,252,217,252,211,252,183,252,164,252,133,252,124,252,111,252,89,252,70,252,50,252,60,252,34,252, +2,252,218,251,169,251,126,251,100,251,67,251,56,251,90,251,122,251,139,251,151,251,153,251,136,251,154,251,164,251,202,251,7,252,73,252,157,252,3,253,124,253,233,253,73,254,175,254,34,255,163,255,33,0,186,0,76,1,223,1,131,2,46,3,185,3,41,4,88,4,126,4, +142,4,162,4,141,4,108,4,78,4,69,4,120,4,146,4,167,4,206,4,243,4,25,5,63,5,108,5,145,5,174,5,244,5,54,6,140,6,2,7,130,7,3,8,96,8,142,8,197,8,215,8,9,9,71,9,131,9,106,9,81,9,118,9,131,9,160,9,167,9,149,9,157,9,146,9,125,9,62,9,243,8,186,8,144,8,79,8,254, +7,159,7,115,7,87,7,115,7,141,7,175,7,201,7,158,7,75,7,158,6,224,5,241,4,88,4,202,3,116,3,110,3,135,3,121,3,103,3,57,3,38,3,5,3,232,2,149,2,57,2,222,1,121,1,7,1,165,0,65,0,217,255,201,255,199,255,202,255,228,255,14,0,62,0,120,0,127,0,94,0,40,0,227,255, +130,255,41,255,231,254,192,254,146,254,103,254,62,254,243,253,188,253,143,253,103,253,88,253,89,253,103,253,107,253,114,253,114,253,124,253,120,253,96,253,44,253,5,253,246,252,26,253,19,253,197,252,128,252,77,252,49,252,21,252,209,251,137,251,114,251, +117,251,96,251,32,251,193,250,78,250,209,249,80,249,196,248,62,248,175,247,80,247,2,247,190,246,125,246,75,246,73,246,136,246,255,246,127,247,5,248,177,248,97,249,234,249,90,250,129,250,165,250,208,250,57,251,197,251,93,252,247,252,161,253,34,254,162, +254,243,254,66,255,131,255,201,255,253,255,40,0,64,0,94,0,173,0,13,1,104,1,211,1,43,2,110,2,131,2,115,2,52,2,230,1,153,1,114,1,103,1,103,1,117,1,130,1,107,1,51,1,216,0,134,0,55,0,235,255,144,255,59,255,0,255,211,254,157,254,113,254,81,254,56,254,31,254, +9,254,232,253,226,253,228,253,243,253,240,253,1,254,242,253,251,253,238,253,8,254,0,254,24,254,23,254,18,254,6,254,44,254,60,254,81,254,139,254,171,254,224,254,246,254,252,254,249,254,246,254,9,255,51,255,130,255,185,255,1,0,36,0,66,0,87,0,86,0,65,0, +58,0,17,0,14,0,235,255,173,255,80,255,7,255,196,254,189,254,180,254,162,254,159,254,151,254,113,254,48,254,4,254,229,253,207,253,202,253,193,253,210,253,225,253,232,253,229,253,231,253,181,253,161,253,154,253,153,253,166,253,163,253,156,253,120,253,80, +253,6,253,165,252,73,252,234,251,194,251,190,251,215,251,252,251,46,252,102,252,110,252,103,252,71,252,63,252,60,252,78,252,124,252,186,252,27,253,116,253,240,253,101,254,198,254,68,255,192,255,39,0,115,0,187,0,22,1,123,1,226,1,115,2,235,2,89,3,171,3, +250,3,56,4,123,4,181,4,217,4,1,5,0,5,0,5,27,5,40,5,66,5,131,5,216,5,43,6,115,6,147,6,156,6,147,6,138,6,122,6,129,6,163,6,191,6,224,6,45,7,128,7,201,7,31,8,93,8,126,8,129,8,131,8,165,8,179,8,180,8,208,8,17,9,59,9,91,9,87,9,32,9,236,8,182,8,113,8,18,8, +130,7,223,6,152,6,46,6,225,5,145,5,122,5,91,5,81,5,50,5,214,4,103,4,251,3,111,3,12,3,189,2,135,2,99,2,56,2,35,2,234,1,193,1,168,1,94,1,58,1,245,0,202,0,163,0,108,0,65,0,26,0,238,255,209,255,142,255,77,255,43,255,254,254,241,254,44,255,124,255,208,255, +21,0,55,0,62,0,18,0,198,255,137,255,75,255,66,255,73,255,62,255,61,255,33,255,21,255,242,254,206,254,135,254,83,254,29,254,226,253,179,253,91,253,21,253,237,252,210,252,176,252,121,252,46,252,211,251,146,251,148,251,151,251,169,251,209,251,36,252,122, +252,181,252,160,252,103,252,24,252,164,251,36,251,122,250,180,249,28,249,174,248,92,248,43,248,8,248,245,247,12,248,44,248,37,248,31,248,23,248,49,248,113,248,216,248,83,249,221,249,121,250,35,251,223,251,113,252,221,252,53,253,107,253,164,253,224,253, +27,254,108,254,209,254,76,255,191,255,40,0,107,0,143,0,159,0,191,0,211,0,229,0,0,1,24,1,51,1,58,1,56,1,64,1,67,1,75,1,85,1,83,1,76,1,50,1,21,1,235,0,217,0,204,0,168,0,130,0,54,0,205,255,109,255,23,255,191,254,112,254,45,254,244,253,186,253,156,253,125, +253,81,253,27,253,205,252,165,252,138,252,117,252,104,252,106,252,140,252,182,252,217,252,235,252,2,253,46,253,94,253,141,253,178,253,210,253,236,253,15,254,38,254,59,254,87,254,112,254,163,254,214,254,21,255,72,255,131,255,163,255,219,255,15,0,65,0, +91,0,108,0,105,0,108,0,108,0,102,0,84,0,71,0,69,0,51,0,15,0,199,255,98,255,9,255,207,254,173,254,167,254,169,254,177,254,164,254,130,254,131,254,167,254,171,254,167,254,155,254,153,254,145,254,167,254,195,254,202,254,178,254,157,254,141,254,130,254,126, +254,85,254,44,254,20,254,217,253,136,253,60,253,5,253,228,252,233,252,235,252,241,252,241,252,244,252,250,252,6,253,24,253,33,253,67,253,138,253,214,253,66,254,188,254,43,255,160,255,32,0,130,0,237,0,105,1,225,1,86,2,178,2,255,2,49,3,98,3,128,3,167,3, +195,3,226,3,20,4,92,4,204,4,55,5,148,5,219,5,17,6,58,6,101,6,155,6,195,6,210,6,253,6,46,7,79,7,94,7,115,7,112,7,76,7,53,7,50,7,36,7,17,7,27,7,39,7,69,7,75,7,130,7,223,7,13,8,61,8,97,8,151,8,182,8,234,8,251,8,218,8,172,8,99,8,57,8,225,7,105,7,0,7,144, +6,30,6,183,5,83,5,246,4,145,4,29,4,179,3,88,3,9,3,200,2,142,2,108,2,57,2,251,1,179,1,153,1,105,1,81,1,33,1,248,0,198,0,127,0,105,0,55,0,253,255,242,255,206,255,202,255,191,255,173,255,137,255,116,255,95,255,72,255,34,255,3,255,238,254,254,254,34,255, +84,255,131,255,192,255,226,255,242,255,252,255,241,255,232,255,252,255,6,0,242,255,217,255,206,255,205,255,188,255,156,255,115,255,55,255,227,254,103,254,239,253,134,253,24,253,178,252,81,252,230,251,147,251,70,251,13,251,216,250,206,250,229,250,13,251, +61,251,117,251,161,251,204,251,236,251,222,251,158,251,81,251,251,250,127,250,7,250,155,249,50,249,218,248,160,248,124,248,110,248,108,248,153,248,236,248,57,249,119,249,154,249,167,249,169,249,176,249,219,249,31,250,173,250,108,251,70,252,9,253,177, +253,41,254,113,254,148,254,169,254,184,254,207,254,242,254,40,255,112,255,176,255,216,255,10,0,75,0,144,0,197,0,226,0,234,0,230,0,233,0,204,0,176,0,155,0,150,0,162,0,175,0,180,0,172,0,173,0,159,0,129,0,51,0,228,255,159,255,119,255,93,255,75,255,18,255, +200,254,116,254,19,254,196,253,114,253,56,253,30,253,239,252,208,252,157,252,107,252,77,252,30,252,248,251,211,251,197,251,186,251,186,251,227,251,16,252,102,252,179,252,10,253,88,253,146,253,188,253,220,253,239,253,12,254,56,254,85,254,148,254,223,254, +69,255,156,255,230,255,24,0,69,0,105,0,114,0,118,0,102,0,98,0,107,0,111,0,123,0,116,0,102,0,69,0,29,0,4,0,3,0,248,255,206,255,177,255,112,255,58,255,29,255,245,254,15,255,62,255,95,255,133,255,167,255,141,255,120,255,117,255,90,255,65,255,47,255,33,255, +52,255,70,255,95,255,95,255,43,255,12,255,247,254,234,254,224,254,151,254,109,254,90,254,49,254,33,254,243,253,178,253,152,253,148,253,145,253,127,253,130,253,153,253,226,253,48,254,135,254,235,254,79,255,187,255,51,0,168,0,27,1,147,1,244,1,72,2,142, +2,218,2,28,3,56,3,59,3,44,3,41,3,63,3,114,3,167,3,235,3,59,4,126,4,223,4,59,5,165,5,15,6,94,6,183,6,248,6,46,7,68,7,96,7,117,7,162,7,194,7,200,7,220,7,216,7,200,7,194,7,153,7,96,7,86,7,78,7,89,7,105,7,122,7,155,7,225,7,43,8,96,8,142,8,147,8,143,8,122, +8,67,8,247,7,136,7,248,6,118,6,32,6,198,5,120,5,55,5,210,4,108,4,4,4,181,3,75,3,218,2,120,2,16,2,166,1,96,1,38,1,9,1,244,0,217,0,208,0,170,0,109,0,50,0,242,255,170,255,115,255,84,255,63,255,69,255,52,255,58,255,44,255,23,255,242,254,202,254,191,254,188, +254,191,254,193,254,210,254,220,254,243,254,29,255,79,255,130,255,149,255,165,255,191,255,212,255,237,255,241,255,248,255,24,0,66,0,73,0,97,0,87,0,47,0,8,0,201,255,137,255,58,255,192,254,42,254,139,253,254,252,132,252,32,252,194,251,97,251,17,251,215, +250,134,250,103,250,85,250,115,250,152,250,179,250,190,250,190,250,194,250,213,250,219,250,216,250,198,250,180,250,150,250,122,250,69,250,40,250,6,250,252,249,36,250,65,250,87,250,98,250,121,250,159,250,188,250,215,250,0,251,71,251,153,251,234,251,46, +252,117,252,196,252,52,253,179,253,58,254,162,254,234,254,36,255,75,255,93,255,105,255,94,255,97,255,112,255,148,255,188,255,239,255,39,0,116,0,181,0,234,0,0,1,247,0,211,0,157,0,105,0,54,0,6,0,223,255,202,255,208,255,202,255,169,255,138,255,75,255,0, +255,177,254,112,254,72,254,37,254,29,254,37,254,23,254,242,253,171,253,116,253,44,253,219,252,158,252,97,252,67,252,71,252,96,252,95,252,85,252,73,252,31,252,25,252,13,252,20,252,59,252,120,252,182,252,19,253,92,253,146,253,200,253,242,253,42,254,90, +254,121,254,171,254,221,254,34,255,102,255,183,255,244,255,61,0,122,0,162,0,176,0,159,0,154,0,158,0,150,0,140,0,141,0,108,0,69,0,55,0,32,0,25,0,1,0,12,0,18,0,22,0,22,0,1,0,231,255,196,255,183,255,219,255,14,0,72,0,89,0,98,0,48,0,250,255,217,255,176,255, +162,255,129,255,133,255,160,255,185,255,224,255,239,255,238,255,213,255,165,255,145,255,93,255,57,255,26,255,47,255,57,255,22,255,207,254,121,254,48,254,251,253,11,254,33,254,72,254,123,254,216,254,44,255,134,255,216,255,57,0,157,0,248,0,85,1,190,1,43, +2,139,2,214,2,253,2,20,3,31,3,49,3,67,3,75,3,96,3,160,3,222,3,30,4,87,4,121,4,170,4,217,4,29,5,120,5,219,5,58,6,123,6,201,6,252,6,17,7,46,7,42,7,50,7,72,7,100,7,132,7,144,7,165,7,168,7,162,7,194,7,168,7,161,7,162,7,161,7,122,7,68,7,42,7,32,7,45,7,65, +7,82,7,61,7,18,7,219,6,134,6,40,6,178,5,37,5,149,4,19,4,152,3,57,3,2,3,218,2,219,2,203,2,133,2,23,2,136,1,7,1,133,0,48,0,253,255,244,255,212,255,221,255,199,255,191,255,178,255,159,255,144,255,127,255,105,255,98,255,88,255,83,255,72,255,62,255,62,255, +40,255,14,255,238,254,220,254,205,254,216,254,1,255,21,255,50,255,69,255,86,255,113,255,147,255,147,255,137,255,129,255,145,255,163,255,173,255,174,255,188,255,206,255,241,255,15,0,21,0,248,255,187,255,112,255,16,255,166,254,60,254,206,253,109,253,19, +253,175,252,78,252,7,252,175,251,65,251,216,250,111,250,17,250,237,249,228,249,249,249,54,250,104,250,163,250,213,250,233,250,251,250,229,250,253,250,50,251,110,251,165,251,211,251,229,251,244,251,248,251,16,252,14,252,6,252,248,251,251,251,18,252,38, +252,66,252,124,252,205,252,30,253,105,253,154,253,171,253,178,253,204,253,240,253,37,254,94,254,174,254,254,254,65,255,109,255,133,255,123,255,106,255,105,255,104,255,115,255,165,255,235,255,72,0,147,0,187,0,194,0,168,0,109,0,46,0,219,255,145,255,75, +255,40,255,7,255,239,254,228,254,192,254,152,254,102,254,49,254,253,253,190,253,148,253,134,253,127,253,107,253,102,253,99,253,73,253,27,253,217,252,114,252,57,252,32,252,41,252,57,252,84,252,113,252,110,252,106,252,75,252,63,252,56,252,81,252,131,252, +193,252,255,252,87,253,161,253,221,253,12,254,52,254,120,254,171,254,247,254,72,255,151,255,250,255,64,0,122,0,154,0,181,0,176,0,177,0,172,0,180,0,176,0,179,0,166,0,173,0,170,0,175,0,183,0,145,0,134,0,136,0,132,0,152,0,172,0,176,0,180,0,180,0,180,0,154, +0,133,0,129,0,141,0,147,0,136,0,141,0,94,0,39,0,248,255,212,255,230,255,234,255,11,0,54,0,87,0,101,0,98,0,71,0,25,0,231,255,198,255,209,255,232,255,231,255,227,255,239,255,206,255,160,255,88,255,33,255,254,254,4,255,40,255,80,255,158,255,230,255,64,0, +136,0,169,0,222,0,13,1,75,1,151,1,229,1,59,2,129,2,217,2,17,3,51,3,55,3,41,3,46,3,93,3,125,3,168,3,208,3,217,3,239,3,8,4,23,4,62,4,87,4,160,4,1,5,119,5,205,5,8,6,64,6,104,6,126,6,133,6,137,6,162,6,180,6,212,6,252,6,27,7,72,7,86,7,50,7,251,6,162,6,65, +6,244,5,188,5,141,5,97,5,41,5,249,4,234,4,206,4,192,4,188,4,182,4,146,4,69,4,228,3,110,3,241,2,96,2,252,1,208,1,184,1,212,1,222,1,189,1,94,1,251,0,115,0,238,255,133,255,63,255,16,255,3,255,5,255,29,255,95,255,131,255,144,255,136,255,116,255,90,255,84, +255,75,255,59,255,61,255,75,255,106,255,134,255,141,255,149,255,142,255,156,255,145,255,122,255,105,255,87,255,93,255,84,255,97,255,113,255,162,255,210,255,250,255,248,255,235,255,202,255,176,255,134,255,84,255,50,255,47,255,69,255,72,255,41,255,0,255, +211,254,170,254,101,254,9,254,178,253,92,253,255,252,150,252,35,252,178,251,79,251,3,251,208,250,176,250,144,250,108,250,85,250,89,250,93,250,108,250,123,250,177,250,247,250,46,251,94,251,154,251,191,251,234,251,75,252,146,252,200,252,255,252,42,253, +89,253,128,253,128,253,131,253,127,253,121,253,112,253,114,253,134,253,163,253,190,253,229,253,249,253,253,253,1,254,4,254,8,254,18,254,38,254,70,254,120,254,181,254,231,254,30,255,76,255,109,255,160,255,194,255,196,255,205,255,216,255,212,255,217,255, +235,255,250,255,242,255,226,255,183,255,124,255,69,255,7,255,213,254,180,254,128,254,84,254,37,254,8,254,226,253,202,253,182,253,189,253,185,253,167,253,167,253,148,253,125,253,94,253,49,253,27,253,13,253,15,253,1,253,9,253,13,253,5,253,17,253,5,253, +251,252,255,252,251,252,254,252,27,253,64,253,112,253,152,253,196,253,246,253,40,254,81,254,116,254,156,254,228,254,44,255,112,255,209,255,36,0,122,0,176,0,201,0,201,0,191,0,199,0,184,0,206,0,206,0,224,0,233,0,2,1,7,1,6,1,7,1,9,1,17,1,9,1,25,1,29,1,21, +1,22,1,13,1,14,1,0,1,212,0,183,0,114,0,61,0,25,0,255,255,10,0,29,0,65,0,78,0,84,0,82,0,82,0,115,0,101,0,93,0,87,0,84,0,90,0,82,0,96,0,82,0,86,0,105,0,125,0,145,0,154,0,159,0,136,0,87,0,39,0,226,255,185,255,184,255,216,255,244,255,28,0,64,0,100,0,129, +0,169,0,209,0,27,1,108,1,219,1,72,2,178,2,15,3,66,3,96,3,128,3,139,3,146,3,175,3,185,3,192,3,213,3,244,3,249,3,250,3,6,4,29,4,45,4,73,4,110,4,166,4,0,5,66,5,130,5,178,5,214,5,10,6,50,6,76,6,97,6,101,6,123,6,126,6,129,6,98,6,75,6,19,6,221,5,137,5,65,5, +225,4,146,4,77,4,0,4,189,3,125,3,75,3,28,3,5,3,215,2,199,2,176,2,164,2,120,2,66,2,241,1,151,1,65,1,234,0,163,0,126,0,66,0,24,0,230,255,178,255,109,255,37,255,250,254,196,254,182,254,187,254,206,254,205,254,228,254,241,254,243,254,252,254,18,255,51,255, +113,255,167,255,202,255,223,255,239,255,4,0,6,0,7,0,255,255,241,255,224,255,212,255,201,255,180,255,166,255,154,255,174,255,198,255,252,255,33,0,65,0,65,0,35,0,246,255,220,255,166,255,123,255,76,255,47,255,0,255,246,254,232,254,206,254,184,254,138,254, +70,254,2,254,186,253,112,253,46,253,214,252,142,252,92,252,49,252,28,252,2,252,216,251,193,251,166,251,136,251,104,251,75,251,42,251,25,251,27,251,42,251,67,251,104,251,166,251,255,251,99,252,196,252,33,253,121,253,202,253,13,254,67,254,108,254,135,254, +163,254,181,254,181,254,167,254,149,254,119,254,98,254,77,254,56,254,33,254,27,254,30,254,48,254,56,254,65,254,76,254,77,254,91,254,113,254,135,254,171,254,217,254,14,255,73,255,98,255,124,255,117,255,113,255,83,255,77,255,65,255,39,255,43,255,54,255, +57,255,66,255,66,255,50,255,15,255,223,254,164,254,105,254,55,254,6,254,228,253,210,253,185,253,164,253,154,253,141,253,135,253,113,253,94,253,99,253,109,253,123,253,112,253,98,253,88,253,81,253,88,253,103,253,134,253,153,253,172,253,182,253,199,253, +207,253,224,253,0,254,29,254,59,254,98,254,139,254,187,254,223,254,30,255,75,255,140,255,210,255,8,0,69,0,100,0,115,0,139,0,152,0,161,0,176,0,194,0,204,0,224,0,249,0,29,1,51,1,92,1,133,1,157,1,183,1,200,1,197,1,180,1,165,1,140,1,125,1,121,1,89,1,64,1, +31,1,238,0,181,0,118,0,54,0,3,0,228,255,228,255,245,255,24,0,68,0,94,0,91,0,72,0,54,0,51,0,54,0,46,0,54,0,79,0,120,0,159,0,170,0,186,0,175,0,183,0,188,0,215,0,224,0,233,0,219,0,206,0,148,0,91,0,36,0,0,0,241,255,249,255,22,0,68,0,127,0,198,0,255,0,85, +1,147,1,234,1,34,2,85,2,154,2,219,2,28,3,96,3,159,3,183,3,220,3,251,3,38,4,58,4,55,4,41,4,29,4,18,4,9,4,9,4,20,4,74,4,126,4,202,4,27,5,81,5,142,5,173,5,183,5,202,5,213,5,230,5,237,5,228,5,201,5,183,5,144,5,122,5,91,5,43,5,228,4,144,4,40,4,200,3,118,3, +24,3,200,2,104,2,27,2,200,1,125,1,76,1,33,1,21,1,10,1,20,1,28,1,244,0,183,0,97,0,17,0,181,255,102,255,50,255,15,255,247,254,238,254,235,254,229,254,211,254,195,254,169,254,134,254,117,254,101,254,88,254,110,254,159,254,195,254,250,254,48,255,94,255,122, +255,144,255,165,255,178,255,174,255,173,255,173,255,165,255,140,255,134,255,129,255,130,255,140,255,178,255,219,255,232,255,248,255,6,0,14,0,29,0,24,0,0,0,248,255,234,255,198,255,149,255,98,255,65,255,21,255,211,254,152,254,88,254,16,254,203,253,171, +253,132,253,100,253,85,253,82,253,88,253,98,253,74,253,48,253,243,252,215,252,199,252,183,252,187,252,168,252,160,252,138,252,133,252,106,252,71,252,54,252,60,252,73,252,103,252,142,252,197,252,28,253,130,253,221,253,40,254,92,254,134,254,173,254,216, +254,0,255,30,255,54,255,58,255,70,255,61,255,43,255,16,255,249,254,229,254,213,254,200,254,187,254,167,254,130,254,103,254,87,254,70,254,83,254,110,254,128,254,139,254,142,254,133,254,123,254,121,254,116,254,108,254,115,254,138,254,180,254,202,254,227, +254,241,254,249,254,235,254,223,254,192,254,180,254,152,254,134,254,102,254,69,254,41,254,249,253,211,253,186,253,166,253,125,253,94,253,70,253,63,253,60,253,46,253,63,253,81,253,102,253,116,253,125,253,132,253,113,253,112,253,124,253,142,253,190,253, +249,253,40,254,94,254,138,254,157,254,170,254,184,254,213,254,246,254,52,255,112,255,165,255,224,255,19,0,50,0,57,0,93,0,118,0,130,0,148,0,150,0,141,0,159,0,186,0,213,0,242,0,17,1,60,1,108,1,150,1,189,1,202,1,193,1,187,1,169,1,150,1,125,1,99,1,68,1,45, +1,18,1,251,0,212,0,180,0,134,0,90,0,68,0,32,0,255,255,223,255,198,255,178,255,195,255,191,255,201,255,202,255,220,255,234,255,6,0,58,0,104,0,126,0,151,0,190,0,217,0,0,1,21,1,36,1,35,1,29,1,27,1,22,1,20,1,27,1,252,0,241,0,219,0,194,0,155,0,141,0,158,0, +204,0,21,1,79,1,100,1,133,1,171,1,191,1,222,1,254,1,30,2,74,2,153,2,229,2,41,3,118,3,156,3,195,3,231,3,253,3,20,4,37,4,33,4,37,4,56,4,48,4,63,4,78,4,84,4,98,4,109,4,130,4,155,4,199,4,242,4,8,5,11,5,239,4,218,4,204,4,185,4,166,4,141,4,113,4,76,4,31,4, +236,3,160,3,67,3,240,2,142,2,66,2,219,1,140,1,60,1,238,0,159,0,97,0,57,0,32,0,24,0,12,0,6,0,237,255,199,255,136,255,77,255,18,255,223,254,198,254,178,254,167,254,157,254,157,254,138,254,123,254,112,254,69,254,62,254,78,254,92,254,115,254,134,254,156, +254,187,254,232,254,21,255,62,255,104,255,112,255,119,255,108,255,90,255,72,255,45,255,36,255,50,255,88,255,137,255,163,255,195,255,209,255,248,255,15,0,18,0,26,0,50,0,79,0,80,0,71,0,30,0,230,255,172,255,97,255,18,255,196,254,139,254,102,254,67,254,54, +254,22,254,243,253,196,253,160,253,132,253,112,253,113,253,117,253,152,253,189,253,210,253,220,253,213,253,192,253,181,253,177,253,179,253,196,253,210,253,211,253,221,253,222,253,211,253,213,253,220,253,221,253,221,253,229,253,238,253,5,254,19,254,56, +254,99,254,141,254,171,254,200,254,245,254,16,255,65,255,119,255,158,255,181,255,206,255,214,255,224,255,228,255,212,255,194,255,151,255,111,255,65,255,16,255,216,254,170,254,131,254,127,254,134,254,141,254,141,254,134,254,120,254,105,254,91,254,83,254, +77,254,96,254,137,254,167,254,193,254,207,254,214,254,227,254,213,254,202,254,177,254,139,254,109,254,73,254,45,254,27,254,249,253,218,253,195,253,177,253,174,253,166,253,160,253,152,253,136,253,130,253,110,253,125,253,142,253,167,253,217,253,240,253, +239,253,243,253,240,253,253,253,19,254,52,254,102,254,142,254,184,254,245,254,27,255,83,255,112,255,134,255,167,255,187,255,226,255,248,255,35,0,78,0,116,0,147,0,168,0,180,0,186,0,199,0,216,0,227,0,231,0,255,0,14,1,31,1,50,1,75,1,114,1,135,1,144,1,140, +1,122,1,89,1,56,1,24,1,253,0,233,0,202,0,177,0,150,0,132,0,116,0,100,0,101,0,91,0,76,0,48,0,6,0,232,255,172,255,129,255,113,255,129,255,165,255,208,255,6,0,40,0,62,0,102,0,141,0,204,0,240,0,21,1,65,1,101,1,125,1,130,1,141,1,144,1,136,1,158,1,172,1,190, +1,176,1,191,1,204,1,204,1,204,1,186,1,171,1,136,1,137,1,160,1,183,1,197,1,225,1,250,1,28,2,52,2,86,2,146,2,185,2,228,2,48,3,96,3,136,3,186,3,243,3,70,4,121,4,170,4,195,4,189,4,167,4,148,4,130,4,90,4,54,4,29,4,26,4,30,4,51,4,69,4,73,4,87,4,96,4,96,4,74, +4,33,4,240,3,164,3,113,3,62,3,35,3,236,2,192,2,142,2,85,2,18,2,172,1,86,1,0,1,170,0,104,0,39,0,238,255,173,255,116,255,81,255,50,255,41,255,16,255,242,254,199,254,160,254,130,254,90,254,73,254,56,254,55,254,62,254,70,254,87,254,85,254,98,254,109,254, +126,254,133,254,139,254,137,254,121,254,134,254,148,254,155,254,184,254,200,254,211,254,231,254,235,254,234,254,223,254,209,254,221,254,246,254,14,255,68,255,113,255,152,255,185,255,214,255,242,255,8,0,11,0,7,0,22,0,26,0,8,0,228,255,187,255,148,255,102, +255,30,255,243,254,191,254,156,254,124,254,105,254,80,254,67,254,54,254,51,254,62,254,59,254,48,254,44,254,34,254,22,254,15,254,9,254,24,254,45,254,65,254,102,254,141,254,177,254,203,254,234,254,7,255,26,255,33,255,12,255,249,254,241,254,228,254,223, +254,207,254,180,254,171,254,160,254,149,254,124,254,105,254,113,254,131,254,174,254,227,254,23,255,79,255,140,255,188,255,219,255,227,255,235,255,230,255,227,255,220,255,210,255,187,255,160,255,130,255,88,255,39,255,241,254,184,254,144,254,116,254,96, +254,83,254,80,254,92,254,113,254,124,254,128,254,120,254,115,254,106,254,88,254,78,254,80,254,90,254,95,254,112,254,128,254,146,254,138,254,119,254,63,254,4,254,218,253,192,253,181,253,175,253,174,253,177,253,189,253,207,253,206,253,184,253,175,253,168, +253,163,253,156,253,157,253,152,253,170,253,184,253,208,253,244,253,22,254,52,254,112,254,169,254,217,254,11,255,45,255,99,255,144,255,165,255,184,255,205,255,237,255,12,0,43,0,75,0,107,0,129,0,175,0,206,0,231,0,255,0,11,1,18,1,38,1,54,1,54,1,50,1,38, +1,31,1,11,1,11,1,14,1,20,1,29,1,32,1,11,1,231,0,186,0,143,0,104,0,89,0,71,0,73,0,76,0,76,0,72,0,61,0,39,0,8,0,238,255,224,255,228,255,213,255,209,255,188,255,188,255,198,255,230,255,19,0,58,0,111,0,127,0,175,0,220,0,233,0,33,1,71,1,126,1,176,1,225,1, +3,2,32,2,46,2,56,2,63,2,77,2,88,2,84,2,85,2,79,2,74,2,45,2,21,2,247,1,243,1,243,1,237,1,244,1,6,2,39,2,89,2,132,2,150,2,171,2,192,2,230,2,6,3,34,3,98,3,160,3,214,3,6,4,31,4,36,4,42,4,27,4,12,4,0,4,242,3,236,3,229,3,221,3,210,3,186,3,161,3,141,3,123,3, +113,3,88,3,60,3,27,3,233,2,165,2,103,2,52,2,240,1,180,1,146,1,107,1,79,1,57,1,17,1,215,0,155,0,82,0,253,255,177,255,115,255,57,255,12,255,221,254,199,254,169,254,153,254,128,254,98,254,94,254,74,254,66,254,58,254,65,254,58,254,56,254,56,254,66,254,94, +254,113,254,139,254,166,254,184,254,206,254,207,254,203,254,187,254,173,254,156,254,119,254,110,254,110,254,130,254,146,254,171,254,210,254,0,255,27,255,48,255,65,255,84,255,113,255,147,255,159,255,160,255,174,255,173,255,170,255,145,255,126,255,117, +255,129,255,156,255,177,255,183,255,187,255,160,255,127,255,73,255,11,255,228,254,193,254,191,254,211,254,221,254,223,254,205,254,196,254,182,254,171,254,153,254,141,254,135,254,152,254,175,254,203,254,223,254,239,254,16,255,51,255,73,255,94,255,112, +255,140,255,169,255,174,255,170,255,160,255,133,255,99,255,66,255,27,255,3,255,235,254,234,254,227,254,217,254,218,254,221,254,228,254,241,254,3,255,26,255,45,255,61,255,65,255,75,255,84,255,99,255,122,255,127,255,126,255,124,255,113,255,102,255,73,255, +57,255,36,255,9,255,225,254,175,254,133,254,102,254,83,254,85,254,98,254,109,254,113,254,121,254,106,254,106,254,95,254,70,254,40,254,26,254,11,254,8,254,0,254,8,254,22,254,58,254,62,254,62,254,52,254,27,254,254,253,222,253,195,253,178,253,177,253,181, +253,192,253,215,253,228,253,247,253,251,253,249,253,250,253,254,253,4,254,11,254,29,254,62,254,106,254,155,254,202,254,0,255,48,255,81,255,124,255,162,255,213,255,250,255,33,0,53,0,80,0,101,0,127,0,157,0,186,0,205,0,231,0,4,1,25,1,49,1,67,1,75,1,87,1, +87,1,81,1,68,1,47,1,39,1,27,1,10,1,244,0,223,0,191,0,154,0,127,0,115,0,105,0,101,0,102,0,104,0,94,0,79,0,50,0,14,0,242,255,226,255,221,255,232,255,244,255,24,0,40,0,53,0,51,0,51,0,36,0,18,0,25,0,42,0,65,0,97,0,141,0,175,0,223,0,241,0,21,1,69,1,111,1, +150,1,168,1,205,1,245,1,25,2,66,2,88,2,107,2,100,2,118,2,117,2,107,2,85,2,70,2,57,2,42,2,34,2,6,2,12,2,31,2,46,2,78,2,93,2,113,2,135,2,154,2,181,2,200,2,223,2,240,2,246,2,255,2,10,3,27,3,60,3,74,3,95,3,121,3,150,3,167,3,177,3,170,3,164,3,168,3,172,3, +165,3,132,3,96,3,34,3,229,2,174,2,120,2,66,2,23,2,240,1,186,1,140,1,87,1,32,1,241,0,197,0,147,0,120,0,98,0,73,0,37,0,4,0,214,255,181,255,123,255,75,255,8,255,229,254,189,254,153,254,144,254,135,254,127,254,134,254,133,254,119,254,108,254,98,254,102,254, +110,254,119,254,116,254,109,254,105,254,96,254,108,254,138,254,151,254,169,254,200,254,214,254,211,254,191,254,157,254,133,254,133,254,148,254,175,254,205,254,0,255,61,255,102,255,108,255,115,255,112,255,97,255,80,255,52,255,22,255,8,255,245,254,4,255, +15,255,32,255,45,255,47,255,66,255,84,255,108,255,136,255,149,255,162,255,162,255,152,255,145,255,133,255,116,255,95,255,75,255,73,255,63,255,68,255,59,255,54,255,66,255,76,255,90,255,109,255,129,255,140,255,141,255,133,255,119,255,126,255,137,255,149, +255,160,255,173,255,210,255,235,255,246,255,244,255,219,255,185,255,163,255,142,255,126,255,105,255,111,255,105,255,102,255,102,255,87,255,73,255,50,255,25,255,253,254,211,254,203,254,207,254,224,254,241,254,252,254,12,255,14,255,33,255,43,255,45,255, +40,255,23,255,21,255,18,255,12,255,5,255,247,254,224,254,202,254,162,254,123,254,85,254,62,254,44,254,41,254,56,254,67,254,92,254,106,254,103,254,87,254,59,254,24,254,12,254,1,254,12,254,40,254,81,254,120,254,139,254,152,254,128,254,91,254,69,254,38, +254,6,254,233,253,236,253,231,253,246,253,16,254,41,254,69,254,85,254,92,254,131,254,142,254,163,254,174,254,213,254,1,255,23,255,51,255,98,255,162,255,227,255,3,0,43,0,79,0,108,0,139,0,173,0,190,0,204,0,229,0,244,0,251,0,6,1,7,1,9,1,25,1,39,1,49,1,68, +1,90,1,104,1,97,1,87,1,51,1,9,1,224,0,195,0,169,0,147,0,144,0,130,0,127,0,119,0,101,0,80,0,47,0,7,0,231,255,206,255,203,255,210,255,212,255,231,255,235,255,235,255,253,255,1,0,17,0,32,0,58,0,84,0,101,0,114,0,123,0,130,0,148,0,177,0,205,0,244,0,28,1,60, +1,85,1,97,1,110,1,129,1,166,1,202,1,236,1,0,2,24,2,59,2,81,2,96,2,104,2,96,2,89,2,81,2,95,2,99,2,118,2,128,2,139,2,149,2,128,2,129,2,140,2,142,2,158,2,175,2,172,2,158,2,139,2,121,2,121,2,110,2,103,2,131,2,160,2,192,2,221,2,248,2,28,3,62,3,92,3,116,3, +116,3,107,3,75,3,46,3,241,2,199,2,153,2,111,2,59,2,250,1,183,1,115,1,60,1,15,1,224,0,184,0,150,0,98,0,69,0,26,0,226,255,180,255,129,255,109,255,95,255,93,255,84,255,66,255,45,255,29,255,7,255,245,254,210,254,198,254,181,254,174,254,171,254,175,254,175, +254,162,254,149,254,144,254,139,254,138,254,127,254,137,254,126,254,103,254,70,254,40,254,40,254,54,254,67,254,101,254,139,254,184,254,225,254,247,254,249,254,253,254,5,255,8,255,5,255,249,254,249,254,9,255,15,255,12,255,242,254,229,254,210,254,189,254, +177,254,187,254,195,254,193,254,211,254,228,254,236,254,250,254,19,255,65,255,117,255,156,255,185,255,210,255,223,255,214,255,201,255,181,255,160,255,160,255,170,255,188,255,202,255,219,255,219,255,241,255,245,255,245,255,231,255,227,255,223,255,220, +255,208,255,203,255,196,255,199,255,206,255,226,255,231,255,238,255,224,255,224,255,224,255,228,255,224,255,235,255,235,255,230,255,231,255,230,255,226,255,205,255,178,255,142,255,108,255,66,255,19,255,241,254,223,254,199,254,181,254,170,254,167,254, +187,254,187,254,192,254,203,254,223,254,231,254,250,254,252,254,253,254,3,255,254,254,1,255,246,254,235,254,203,254,169,254,130,254,102,254,69,254,51,254,38,254,41,254,38,254,52,254,60,254,69,254,85,254,92,254,108,254,108,254,113,254,109,254,110,254, +123,254,146,254,159,254,192,254,214,254,216,254,207,254,187,254,156,254,113,254,90,254,56,254,55,254,52,254,65,254,85,254,131,254,180,254,209,254,252,254,16,255,40,255,54,255,83,255,129,255,167,255,224,255,14,0,46,0,86,0,111,0,137,0,165,0,181,0,187,0, +195,0,208,0,217,0,233,0,240,0,241,0,251,0,253,0,6,1,13,1,17,1,9,1,255,0,238,0,235,0,222,0,217,0,204,0,193,0,180,0,180,0,170,0,166,0,169,0,151,0,134,0,90,0,35,0,250,255,205,255,191,255,188,255,190,255,195,255,199,255,192,255,187,255,188,255,191,255,206, +255,232,255,15,0,50,0,101,0,150,0,191,0,217,0,247,0,10,1,7,1,2,1,252,0,252,0,20,1,43,1,75,1,105,1,125,1,137,1,151,1,161,1,191,1,227,1,255,1,3,2,14,2,27,2,48,2,84,2,100,2,113,2,131,2,158,2,175,2,169,2,174,2,157,2,162,2,144,2,125,2,78,2,45,2,34,2,5,2,254, +1,240,1,254,1,2,2,21,2,46,2,45,2,71,2,96,2,115,2,158,2,179,2,192,2,194,2,179,2,176,2,139,2,115,2,86,2,57,2,20,2,230,1,178,1,126,1,82,1,25,1,230,0,173,0,114,0,76,0,33,0,253,255,212,255,160,255,120,255,94,255,63,255,45,255,19,255,15,255,9,255,9,255,14, +255,21,255,15,255,15,255,0,255,236,254,232,254,228,254,238,254,231,254,221,254,203,254,182,254,146,254,124,254,101,254,103,254,108,254,109,254,119,254,110,254,92,254,74,254,74,254,84,254,110,254,157,254,206,254,7,255,41,255,55,255,62,255,54,255,41,255, +12,255,236,254,206,254,185,254,184,254,184,254,175,254,175,254,185,254,195,254,200,254,213,254,217,254,228,254,216,254,242,254,1,255,21,255,29,255,61,255,98,255,144,255,188,255,216,255,232,255,244,255,3,0,4,0,246,255,237,255,246,255,3,0,29,0,50,0,55, +0,53,0,37,0,25,0,22,0,10,0,8,0,1,0,1,0,10,0,7,0,3,0,0,0,252,255,235,255,230,255,228,255,239,255,7,0,28,0,37,0,46,0,39,0,33,0,8,0,252,255,221,255,199,255,180,255,155,255,141,255,120,255,99,255,70,255,43,255,11,255,229,254,207,254,188,254,175,254,167,254, +169,254,178,254,192,254,213,254,234,254,252,254,247,254,241,254,235,254,227,254,214,254,206,254,189,254,177,254,164,254,144,254,141,254,110,254,90,254,58,254,31,254,20,254,33,254,51,254,90,254,121,254,157,254,193,254,216,254,221,254,218,254,210,254,221, +254,224,254,223,254,245,254,4,255,22,255,32,255,30,255,9,255,250,254,224,254,207,254,198,254,198,254,199,254,211,254,250,254,43,255,75,255,111,255,152,255,203,255,227,255,253,255,21,0,47,0,72,0,97,0,123,0,145,0,159,0,173,0,183,0,184,0,190,0,183,0,183, +0,199,0,219,0,251,0,20,1,28,1,20,1,252,0,224,0,198,0,166,0,141,0,129,0,126,0,133,0,154,0,172,0,195,0,206,0,198,0,176,0,133,0,90,0,43,0,14,0,246,255,232,255,223,255,206,255,194,255,187,255,163,255,160,255,159,255,165,255,172,255,196,255,220,255,12,0,62, +0,120,0,166,0,206,0,249,0,17,1,32,1,36,1,43,1,57,1,64,1,79,1,78,1,76,1,71,1,81,1,86,1,97,1,123,1,135,1,150,1,157,1,176,1,197,1,225,1,245,1,9,2,42,2,75,2,118,2,140,2,143,2,149,2,151,2,157,2,161,2,124,2,100,2,67,2,36,2,3,2,232,1,205,1,194,1,197,1,196,1, +211,1,215,1,244,1,17,2,42,2,61,2,61,2,61,2,46,2,20,2,10,2,240,1,230,1,211,1,197,1,178,1,164,1,143,1,123,1,96,1,74,1,35,1,253,0,216,0,169,0,104,0,29,0,202,255,136,255,93,255,69,255,50,255,41,255,41,255,33,255,29,255,12,255,239,254,220,254,202,254,205, +254,214,254,236,254,245,254,7,255,19,255,18,255,12,255,239,254,206,254,170,254,133,254,94,254,78,254,60,254,40,254,37,254,41,254,63,254,98,254,116,254,139,254,157,254,175,254,185,254,191,254,209,254,220,254,229,254,232,254,245,254,246,254,234,254,232, +254,214,254,193,254,173,254,173,254,171,254,166,254,156,254,156,254,173,254,180,254,210,254,231,254,247,254,15,255,33,255,52,255,76,255,101,255,117,255,141,255,177,255,196,255,227,255,245,255,14,0,36,0,46,0,48,0,57,0,65,0,80,0,86,0,84,0,82,0,80,0,80, +0,73,0,64,0,60,0,53,0,53,0,57,0,53,0,44,0,50,0,53,0,61,0,44,0,37,0,35,0,39,0,50,0,57,0,75,0,89,0,91,0,68,0,36,0,0,0,228,255,201,255,190,255,181,255,173,255,174,255,170,255,154,255,129,255,104,255,76,255,48,255,27,255,253,254,238,254,234,254,234,254,229, +254,234,254,236,254,234,254,229,254,217,254,203,254,198,254,189,254,199,254,202,254,207,254,207,254,192,254,162,254,139,254,121,254,123,254,112,254,108,254,117,254,119,254,121,254,145,254,157,254,173,254,202,254,234,254,4,255,29,255,44,255,48,255,62, +255,65,255,51,255,43,255,44,255,43,255,48,255,51,255,55,255,57,255,51,255,45,255,51,255,63,255,70,255,102,255,138,255,177,255,220,255,252,255,28,0,46,0,65,0,89,0,98,0,111,0,122,0,132,0,147,0,162,0,176,0,190,0,195,0,201,0,199,0,205,0,212,0,209,0,206,0, +209,0,204,0,183,0,172,0,145,0,123,0,109,0,97,0,108,0,114,0,144,0,159,0,162,0,162,0,137,0,115,0,75,0,51,0,29,0,17,0,255,255,234,255,212,255,180,255,167,255,162,255,156,255,160,255,173,255,181,255,206,255,238,255,24,0,65,0,104,0,133,0,166,0,188,0,217,0, +224,0,249,0,15,1,47,1,78,1,100,1,108,1,119,1,126,1,123,1,125,1,119,1,107,1,107,1,122,1,144,1,155,1,179,1,191,1,226,1,233,1,248,1,0,2,5,2,17,2,38,2,64,2,81,2,81,2,81,2,64,2,54,2,23,2,252,1,250,1,247,1,241,1,227,1,214,1,208,1,198,1,190,1,187,1,191,1,202, +1,208,1,205,1,189,1,176,1,151,1,114,1,89,1,61,1,45,1,42,1,21,1,18,1,24,1,25,1,15,1,11,1,255,0,231,0,186,0,130,0,68,0,252,255,195,255,159,255,129,255,102,255,72,255,51,255,37,255,21,255,18,255,11,255,247,254,238,254,232,254,234,254,223,254,223,254,220, +254,216,254,221,254,220,254,218,254,210,254,187,254,188,254,157,254,126,254,83,254,59,254,29,254,23,254,19,254,23,254,54,254,87,254,126,254,148,254,160,254,175,254,180,254,185,254,187,254,187,254,196,254,203,254,207,254,217,254,228,254,242,254,236,254, +236,254,238,254,249,254,247,254,245,254,228,254,220,254,217,254,224,254,231,254,0,255,23,255,62,255,94,255,120,255,144,255,180,255,199,255,232,255,6,0,21,0,48,0,62,0,73,0,90,0,87,0,91,0,98,0,101,0,107,0,109,0,109,0,108,0,101,0,87,0,86,0,87,0,86,0,90, +0,83,0,78,0,80,0,84,0,93,0,109,0,111,0,109,0,97,0,87,0,79,0,72,0,55,0,57,0,57,0,44,0,43,0,37,0,17,0,248,255,228,255,205,255,198,255,187,255,173,255,166,255,162,255,154,255,145,255,131,255,117,255,106,255,87,255,72,255,45,255,9,255,245,254,224,254,213, +254,211,254,203,254,189,254,187,254,188,254,196,254,193,254,202,254,209,254,207,254,191,254,187,254,181,254,180,254,174,254,162,254,171,254,177,254,181,254,175,254,175,254,170,254,175,254,203,254,235,254,21,255,57,255,91,255,120,255,124,255,124,255,104, +255,80,255,69,255,58,255,55,255,63,255,73,255,106,255,126,255,151,255,167,255,176,255,174,255,188,255,212,255,246,255,11,0,36,0,47,0,60,0,66,0,71,0,71,0,72,0,83,0,86,0,94,0,118,0,133,0,139,0,161,0,175,0,180,0,188,0,180,0,166,0,148,0,139,0,129,0,120,0, +132,0,129,0,140,0,143,0,151,0,151,0,136,0,127,0,115,0,104,0,87,0,79,0,66,0,64,0,55,0,50,0,30,0,17,0,245,255,216,255,191,255,180,255,184,255,188,255,208,255,228,255,250,255,19,0,42,0,64,0,76,0,93,0,116,0,130,0,145,0,173,0,208,0,231,0,10,1,36,1,53,1,81, +1,107,1,126,1,139,1,151,1,165,1,169,1,164,1,162,1,146,1,141,1,140,1,154,1,165,1,171,1,176,1,179,1,168,1,165,1,168,1,171,1,182,1,183,1,196,1,205,1,211,1,200,1,193,1,183,1,178,1,173,1,191,1,209,1,208,1,200,1,205,1,194,1,171,1,148,1,123,1,99,1,64,1,35,1, +7,1,241,0,222,0,206,0,199,0,184,0,177,0,165,0,159,0,163,0,155,0,157,0,155,0,137,0,105,0,73,0,32,0,3,0,230,255,209,255,188,255,173,255,154,255,123,255,79,255,47,255,25,255,11,255,15,255,25,255,37,255,41,255,30,255,14,255,249,254,218,254,187,254,177,254, +166,254,163,254,162,254,163,254,151,254,139,254,130,254,105,254,91,254,76,254,66,254,67,254,76,254,96,254,117,254,108,254,102,254,92,254,95,254,102,254,120,254,141,254,159,254,189,254,206,254,217,254,216,254,231,254,245,254,12,255,18,255,27,255,37,255, +48,255,39,255,26,255,3,255,246,254,3,255,5,255,29,255,50,255,83,255,122,255,159,255,196,255,230,255,0,0,32,0,58,0,84,0,109,0,134,0,145,0,145,0,143,0,130,0,136,0,136,0,136,0,144,0,162,0,159,0,150,0,143,0,134,0,134,0,122,0,118,0,133,0,139,0,130,0,130,0, +130,0,137,0,140,0,133,0,129,0,125,0,107,0,97,0,66,0,43,0,21,0,250,255,231,255,245,255,241,255,250,255,10,0,12,0,18,0,250,255,230,255,202,255,183,255,170,255,156,255,155,255,148,255,147,255,134,255,112,255,91,255,65,255,41,255,1,255,220,254,184,254,159, +254,139,254,144,254,169,254,188,254,210,254,224,254,224,254,216,254,200,254,205,254,205,254,209,254,211,254,217,254,232,254,232,254,235,254,238,254,249,254,254,254,7,255,14,255,25,255,33,255,57,255,81,255,102,255,123,255,126,255,133,255,140,255,129,255, +124,255,126,255,137,255,141,255,156,255,181,255,196,255,220,255,244,255,7,0,29,0,39,0,30,0,25,0,15,0,22,0,22,0,19,0,29,0,42,0,47,0,65,0,75,0,82,0,87,0,87,0,94,0,96,0,102,0,109,0,115,0,120,0,126,0,118,0,111,0,104,0,109,0,107,0,109,0,122,0,122,0,127,0, +137,0,133,0,126,0,102,0,68,0,58,0,43,0,33,0,26,0,26,0,22,0,14,0,252,255,238,255,238,255,246,255,3,0,8,0,15,0,32,0,42,0,47,0,55,0,61,0,66,0,79,0,86,0,104,0,116,0,139,0,163,0,201,0,222,0,3,1,42,1,71,1,87,1,108,1,128,1,158,1,179,1,196,1,205,1,211,1,215, +1,204,1,200,1,175,1,153,1,122,1,97,1,83,1,75,1,83,1,90,1,105,1,107,1,119,1,122,1,123,1,126,1,118,1,129,1,137,1,157,1,175,1,172,1,182,1,178,1,173,1,173,1,166,1,161,1,150,1,126,1,82,1,36,1,238,0,188,0,154,0,122,0,118,0,108,0,107,0,107,0,108,0,105,0,105, +0,89,0,66,0,54,0,47,0,33,0,32,0,24,0,25,0,24,0,10,0,8,0,249,255,221,255,185,255,141,255,106,255,79,255,65,255,54,255,58,255,55,255,45,255,30,255,21,255,14,255,234,254,209,254,184,254,169,254,138,254,123,254,117,254,113,254,116,254,115,254,119,254,119, +254,121,254,121,254,108,254,101,254,96,254,92,254,80,254,60,254,54,254,41,254,30,254,45,254,70,254,108,254,137,254,167,254,193,254,220,254,246,254,7,255,25,255,41,255,57,255,63,255,59,255,51,255,45,255,40,255,58,255,73,255,97,255,117,255,140,255,169, +255,188,255,198,255,206,255,224,255,249,255,24,0,55,0,89,0,125,0,151,0,169,0,175,0,162,0,157,0,144,0,150,0,155,0,172,0,186,0,184,0,195,0,195,0,190,0,198,0,193,0,202,0,199,0,191,0,177,0,170,0,166,0,158,0,155,0,151,0,137,0,129,0,118,0,101,0,82,0,60,0,40, +0,26,0,14,0,7,0,253,255,244,255,248,255,3,0,19,0,33,0,37,0,35,0,29,0,11,0,246,255,231,255,213,255,199,255,188,255,167,255,149,255,131,255,102,255,79,255,55,255,27,255,0,255,225,254,193,254,199,254,193,254,203,254,217,254,216,254,223,254,225,254,228,254, +228,254,229,254,243,254,246,254,253,254,15,255,23,255,43,255,62,255,73,255,84,255,99,255,95,255,104,255,98,255,98,255,93,255,97,255,93,255,109,255,116,255,138,255,152,255,167,255,181,255,187,255,195,255,188,255,192,255,199,255,210,255,226,255,235,255, +249,255,0,0,8,0,17,0,6,0,253,255,253,255,255,255,252,255,7,0,11,0,26,0,30,0,50,0,61,0,68,0,72,0,72,0,68,0,64,0,53,0,62,0,60,0,71,0,80,0,98,0,104,0,101,0,109,0,108,0,102,0,94,0,76,0,60,0,55,0,35,0,35,0,32,0,22,0,21,0,11,0,252,255,241,255,231,255,237,255, +239,255,255,255,19,0,36,0,48,0,47,0,50,0,46,0,32,0,24,0,29,0,36,0,46,0,55,0,82,0,108,0,139,0,162,0,191,0,215,0,238,0,10,1,36,1,76,1,112,1,150,1,176,1,184,1,187,1,194,1,193,1,191,1,193,1,189,1,178,1,157,1,135,1,103,1,71,1,54,1,43,1,45,1,36,1,46,1,47,1, +45,1,46,1,49,1,65,1,93,1,94,1,105,1,126,1,140,1,132,1,128,1,136,1,130,1,118,1,92,1,74,1,36,1,0,1,220,0,188,0,150,0,112,0,79,0,51,0,42,0,28,0,24,0,8,0,1,0,252,255,244,255,234,255,235,255,224,255,219,255,223,255,238,255,245,255,3,0,7,0,3,0,231,255,210, +255,191,255,178,255,154,255,137,255,122,255,98,255,83,255,68,255,43,255,22,255,253,254,234,254,211,254,195,254,192,254,170,254,167,254,151,254,139,254,128,254,117,254,108,254,109,254,120,254,123,254,135,254,127,254,108,254,102,254,94,254,81,254,87,254, +77,254,77,254,80,254,92,254,92,254,115,254,127,254,155,254,185,254,216,254,246,254,19,255,37,255,51,255,52,255,54,255,58,255,51,255,61,255,83,255,119,255,163,255,203,255,235,255,250,255,7,0,0,0,241,255,238,255,245,255,6,0,17,0,36,0,72,0,102,0,126,0,145, +0,151,0,159,0,162,0,169,0,170,0,170,0,170,0,183,0,199,0,220,0,216,0,227,0,222,0,229,0,238,0,229,0,216,0,204,0,181,0,172,0,165,0,150,0,148,0,130,0,111,0,93,0,76,0,62,0,46,0,36,0,30,0,26,0,22,0,19,0,14,0,26,0,25,0,26,0,21,0,21,0,22,0,33,0,36,0,30,0,15, +0,253,255,224,255,194,255,163,255,133,255,116,255,95,255,88,255,77,255,65,255,54,255,44,255,33,255,18,255,1,255,243,254,220,254,214,254,213,254,214,254,227,254,239,254,4,255,16,255,32,255,50,255,63,255,76,255,98,255,119,255,147,255,159,255,170,255,190, +255,187,255,188,255,159,255,160,255,159,255,155,255,158,255,165,255,169,255,185,255,206,255,234,255,242,255,0,0,252,255,234,255,223,255,212,255,202,255,201,255,194,255,212,255,230,255,249,255,11,0,24,0,18,0,11,0,1,0,248,255,250,255,10,0,17,0,30,0,57, +0,66,0,71,0,79,0,66,0,64,0,54,0,40,0,40,0,36,0,48,0,75,0,87,0,97,0,97,0,98,0,82,0,62,0,36,0,11,0,253,255,249,255,10,0,29,0,36,0,29,0,19,0,3,0,245,255,235,255,237,255,241,255,250,255,6,0,19,0,28,0,25,0,32,0,35,0,22,0,29,0,28,0,28,0,42,0,53,0,73,0,93,0, +112,0,145,0,163,0,188,0,220,0,252,0,29,1,51,1,68,1,82,1,100,1,114,1,121,1,132,1,139,1,146,1,137,1,130,1,119,1,110,1,101,1,90,1,76,1,50,1,36,1,7,1,249,0,249,0,242,0,242,0,255,0,252,0,11,1,13,1,31,1,32,1,49,1,54,1,53,1,56,1,57,1,56,1,38,1,24,1,6,1,242, +0,226,0,198,0,177,0,150,0,134,0,109,0,73,0,35,0,7,0,241,255,224,255,210,255,202,255,195,255,196,255,192,255,202,255,212,255,213,255,231,255,230,255,231,255,220,255,214,255,209,255,203,255,201,255,191,255,180,255,180,255,172,255,154,255,133,255,102,255, +73,255,39,255,5,255,235,254,207,254,191,254,185,254,188,254,195,254,181,254,171,254,170,254,153,254,135,254,113,254,91,254,87,254,87,254,92,254,106,254,124,254,133,254,127,254,128,254,113,254,103,254,94,254,95,254,112,254,127,254,151,254,169,254,191, +254,210,254,223,254,246,254,4,255,37,255,44,255,51,255,61,255,81,255,97,255,133,255,173,255,210,255,248,255,24,0,40,0,43,0,40,0,25,0,14,0,12,0,14,0,24,0,35,0,62,0,87,0,101,0,111,0,136,0,150,0,151,0,154,0,155,0,165,0,177,0,193,0,206,0,230,0,229,0,230, +0,235,0,234,0,227,0,222,0,209,0,215,0,206,0,194,0,179,0,166,0,141,0,122,0,104,0,96,0,84,0,76,0,64,0,58,0,53,0,50,0,48,0,42,0,29,0,21,0,11,0,1,0,246,255,235,255,232,255,242,255,244,255,248,255,253,255,242,255,221,255,212,255,184,255,165,255,149,255,138, +255,129,255,126,255,126,255,134,255,129,255,113,255,99,255,75,255,54,255,40,255,22,255,12,255,254,254,253,254,14,255,23,255,25,255,47,255,69,255,99,255,131,255,147,255,176,255,202,255,214,255,230,255,232,255,241,255,248,255,249,255,11,0,11,0,14,0,12, +0,245,255,238,255,237,255,232,255,224,255,221,255,228,255,245,255,248,255,235,255,231,255,227,255,223,255,213,255,209,255,195,255,201,255,208,255,216,255,237,255,246,255,0,0,6,0,4,0,4,0,7,0,10,0,22,0,22,0,36,0,51,0,54,0,57,0,61,0,64,0,61,0,55,0,54,0, +62,0,61,0,60,0,54,0,47,0,33,0,24,0,7,0,6,0,15,0,15,0,15,0,26,0,29,0,24,0,18,0,12,0,3,0,4,0,249,255,253,255,3,0,7,0,10,0,8,0,6,0,6,0,10,0,17,0,35,0,44,0,61,0,89,0,93,0,101,0,114,0,126,0,145,0,169,0,183,0,206,0,244,0,14,1,29,1,45,1,45,1,38,1,43,1,54,1, +58,1,63,1,57,1,63,1,69,1,74,1,86,1,79,1,81,1,74,1,61,1,36,1,17,1,244,0,231,0,219,0,220,0,226,0,238,0,235,0,234,0,233,0,229,0,231,0,241,0,241,0,253,0,245,0,240,0,240,0,230,0,226,0,206,0,198,0,183,0,169,0,145,0,126,0,107,0,73,0,48,0,26,0,242,255,213,255, +201,255,190,255,185,255,184,255,185,255,180,255,190,255,206,255,209,255,201,255,187,255,166,255,165,255,156,255,165,255,162,255,165,255,180,255,178,255,167,255,159,255,142,255,112,255,91,255,61,255,29,255,1,255,229,254,214,254,188,254,171,254,169,254, +153,254,151,254,146,254,135,254,126,254,113,254,112,254,109,254,102,254,96,254,102,254,126,254,135,254,145,254,148,254,145,254,144,254,149,254,151,254,138,254,146,254,155,254,167,254,188,254,196,254,207,254,224,254,235,254,7,255,34,255,61,255,91,255, +129,255,165,255,201,255,226,255,241,255,0,0,8,0,19,0,17,0,17,0,33,0,37,0,47,0,53,0,62,0,69,0,79,0,97,0,91,0,105,0,116,0,118,0,129,0,137,0,147,0,162,0,177,0,186,0,195,0,195,0,195,0,205,0,201,0,208,0,205,0,204,0,206,0,198,0,191,0,186,0,187,0,175,0,168, +0,152,0,133,0,111,0,107,0,104,0,100,0,84,0,76,0,55,0,43,0,28,0,17,0,7,0,10,0,248,255,248,255,241,255,242,255,234,255,219,255,212,255,202,255,191,255,185,255,185,255,169,255,170,255,174,255,177,255,181,255,188,255,187,255,174,255,160,255,151,255,134,255, +124,255,105,255,104,255,94,255,73,255,61,255,50,255,45,255,44,255,79,255,81,255,93,255,113,255,133,255,160,255,187,255,209,255,234,255,244,255,252,255,15,0,40,0,55,0,71,0,89,0,80,0,83,0,64,0,44,0,17,0,253,255,239,255,228,255,221,255,216,255,221,255,219, +255,234,255,237,255,234,255,230,255,220,255,220,255,212,255,198,255,191,255,194,255,206,255,212,255,238,255,250,255,12,0,24,0,25,0,22,0,19,0,14,0,11,0,15,0,25,0,35,0,43,0,51,0,61,0,61,0,53,0,40,0,21,0,12,0,3,0,253,255,6,0,14,0,32,0,26,0,25,0,22,0,22, +0,6,0,255,255,252,255,0,0,0,0,3,0,7,0,7,0,11,0,6,0,1,0,255,255,250,255,249,255,255,255,18,0,39,0,53,0,84,0,107,0,120,0,127,0,137,0,150,0,158,0,173,0,186,0,197,0,217,0,229,0,244,0,255,0,4,1,17,1,27,1,27,1,28,1,15,1,15,1,25,1,38,1,42,1,57,1,58,1,63,1,51, +1,40,1,29,1,17,1,255,0,237,0,226,0,216,0,209,0,205,0,201,0,193,0,187,0,175,0,169,0,166,0,162,0,162,0,162,0,165,0,168,0,168,0,173,0,172,0,158,0,150,0,139,0,133,0,129,0,123,0,114,0,100,0,72,0,47,0,3,0,227,255,203,255,192,255,195,255,185,255,187,255,180, +255,173,255,170,255,162,255,152,255,145,255,138,255,134,255,133,255,129,255,144,255,148,255,156,255,147,255,145,255,141,255,136,255,115,255,81,255,57,255,33,255,4,255,231,254,203,254,182,254,171,254,170,254,174,254,173,254,171,254,166,254,163,254,151, +254,134,254,127,254,127,254,133,254,139,254,141,254,151,254,151,254,156,254,152,254,156,254,167,254,177,254,184,254,196,254,207,254,205,254,216,254,227,254,241,254,4,255,30,255,57,255,97,255,130,255,169,255,191,255,206,255,210,255,213,255,210,255,213, +255,216,255,220,255,234,255,11,0,37,0,68,0,90,0,102,0,102,0,119,0,120,0,118,0,122,0,109,0,104,0,120,0,127,0,143,0,151,0,162,0,175,0,186,0,191,0,188,0,191,0,198,0,206,0,212,0,220,0,226,0,216,0,205,0,195,0,180,0,172,0,162,0,157,0,151,0,148,0,133,0,119, +0,107,0,89,0,73,0,65,0,47,0,33,0,15,0,4,0,255,255,246,255,241,255,235,255,223,255,208,255,210,255,202,255,195,255,184,255,181,255,177,255,173,255,174,255,177,255,173,255,188,255,191,255,192,255,198,255,194,255,184,255,173,255,166,255,158,255,154,255, +154,255,142,255,134,255,127,255,123,255,126,255,116,255,129,255,129,255,144,255,158,255,177,255,195,255,206,255,228,255,249,255,14,0,36,0,51,0,69,0,83,0,79,0,82,0,79,0,66,0,58,0,51,0,42,0,24,0,4,0,244,255,238,255,234,255,227,255,227,255,228,255,231,255, +228,255,221,255,216,255,216,255,205,255,196,255,191,255,192,255,192,255,203,255,214,255,235,255,245,255,3,0,17,0,14,0,14,0,253,255,253,255,252,255,244,255,250,255,7,0,17,0,26,0,24,0,26,0,18,0,14,0,8,0,4,0,0,0,255,255,3,0,0,0,1,0,0,0,255,255,1,0,1,0,0, +0,7,0,8,0,11,0,14,0,17,0,11,0,3,0,7,0,1,0,1,0,11,0,17,0,37,0,51,0,60,0,68,0,78,0,87,0,116,0,137,0,150,0,163,0,173,0,179,0,186,0,197,0,195,0,199,0,209,0,220,0,219,0,229,0,222,0,231,0,231,0,241,0,242,0,247,0,0,1,3,1,253,0,4,1,13,1,13,1,13,1,3,1,4,1,0,1, +235,0,216,0,202,0,197,0,180,0,172,0,162,0,147,0,133,0,114,0,105,0,89,0,80,0,78,0,72,0,84,0,101,0,114,0,118,0,122,0,130,0,125,0,118,0,107,0,93,0,71,0,57,0,40,0,21,0,252,255,220,255,198,255,181,255,173,255,159,255,163,255,156,255,148,255,140,255,129,255, +120,255,109,255,105,255,104,255,102,255,104,255,112,255,109,255,112,255,111,255,101,255,90,255,68,255,47,255,29,255,8,255,254,254,252,254,239,254,235,254,227,254,223,254,216,254,213,254,216,254,210,254,196,254,184,254,167,254,149,254,137,254,130,254, +128,254,138,254,135,254,135,254,139,254,149,254,160,254,178,254,195,254,209,254,220,254,232,254,241,254,253,254,1,255,14,255,39,255,59,255,94,255,120,255,138,255,166,255,183,255,194,255,199,255,202,255,201,255,212,255,216,255,221,255,245,255,7,0,26,0, +55,0,97,0,134,0,157,0,172,0,172,0,161,0,145,0,123,0,108,0,105,0,111,0,129,0,152,0,172,0,206,0,223,0,230,0,224,0,223,0,209,0,197,0,194,0,188,0,197,0,191,0,197,0,195,0,201,0,184,0,188,0,184,0,179,0,166,0,150,0,137,0,129,0,108,0,91,0,78,0,66,0,57,0,46,0, +33,0,22,0,7,0,249,255,237,255,216,255,202,255,192,255,192,255,192,255,201,255,212,255,210,255,209,255,209,255,206,255,203,255,201,255,205,255,210,255,213,255,223,255,227,255,230,255,221,255,213,255,208,255,196,255,199,255,212,255,208,255,217,255,216, +255,219,255,220,255,209,255,208,255,212,255,206,255,205,255,219,255,235,255,253,255,11,0,28,0,35,0,44,0,46,0,54,0,61,0,60,0,60,0,53,0,40,0,39,0,32,0,26,0,18,0,17,0,11,0,3,0,253,255,239,255,237,255,231,255,231,255,220,255,216,255,209,255,208,255,206,255, +214,255,216,255,216,255,223,255,221,255,230,255,232,255,234,255,244,255,250,255,3,0,252,255,255,255,246,255,248,255,255,255,0,0,4,0,11,0,17,0,19,0,28,0,22,0,21,0,22,0,24,0,14,0,19,0,22,0,24,0,25,0,17,0,28,0,21,0,28,0,36,0,33,0,32,0,35,0,32,0,32,0,30, +0,29,0,32,0,42,0,53,0,53,0,57,0,69,0,75,0,86,0,93,0,109,0,123,0,139,0,158,0,169,0,175,0,193,0,198,0,201,0,204,0,201,0,206,0,201,0,206,0,202,0,217,0,223,0,222,0,217,0,216,0,220,0,217,0,222,0,222,0,216,0,220,0,229,0,226,0,231,0,219,0,206,0,201,0,170,0, +152,0,133,0,107,0,91,0,80,0,64,0,58,0,53,0,46,0,53,0,57,0,61,0,60,0,60,0,71,0,71,0,69,0,62,0,60,0,54,0,50,0,43,0,28,0,18,0,10,0,255,255,239,255,216,255,202,255,183,255,176,255,176,255,166,255,162,255,155,255,147,255,144,255,136,255,120,255,99,255,83, +255,66,255,63,255,62,255,58,255,55,255,54,255,58,255,57,255,55,255,39,255,32,255,26,255,23,255,5,255,7,255,253,254,14,255,8,255,9,255,4,255,253,254,239,254,223,254,205,254,191,254,180,254,166,254,169,254,169,254,166,254,167,254,173,254,174,254,170,254, +175,254,177,254,184,254,199,254,210,254,223,254,239,254,4,255,15,255,40,255,62,255,77,255,91,255,101,255,115,255,126,255,140,255,159,255,176,255,190,255,210,255,223,255,235,255,244,255,0,0,11,0,26,0,46,0,60,0,84,0,102,0,125,0,141,0,162,0,159,0,155,0, +141,0,133,0,143,0,151,0,166,0,190,0,205,0,219,0,224,0,226,0,216,0,206,0,199,0,191,0,186,0,180,0,172,0,172,0,169,0,180,0,179,0,177,0,180,0,175,0,165,0,154,0,144,0,132,0,111,0,96,0,86,0,80,0,79,0,72,0,57,0,40,0,19,0,253,255,244,255,224,255,220,255,217, +255,203,255,212,255,220,255,217,255,223,255,227,255,232,255,232,255,228,255,230,255,224,255,234,255,230,255,234,255,237,255,244,255,252,255,3,0,12,0,14,0,12,0,6,0,255,255,0,0,246,255,245,255,248,255,239,255,235,255,245,255,248,255,0,0,6,0,11,0,6,0,14, +0,6,0,17,0,28,0,29,0,29,0,36,0,32,0,26,0,26,0,17,0,18,0,21,0,14,0,15,0,12,0,3,0,7,0,253,255,237,255,223,255,210,255,213,255,213,255,208,255,210,255,199,255,194,255,194,255,194,255,190,255,194,255,201,255,210,255,217,255,230,255,230,255,231,255,234,255, +235,255,235,255,232,255,235,255,238,255,245,255,255,255,8,0,18,0,25,0,21,0,19,0,19,0,28,0,33,0,47,0,47,0,55,0,66,0,62,0,60,0,55,0,54,0,53,0,50,0,51,0,51,0,54,0,55,0,61,0,54,0,42,0,30,0,18,0,28,0,26,0,43,0,55,0,73,0,83,0,94,0,108,0,116,0,137,0,144,0,161, +0,175,0,186,0,198,0,197,0,194,0,197,0,193,0,197,0,197,0,205,0,201,0,205,0,204,0,199,0,193,0,186,0,198,0,204,0,193,0,193,0,187,0,187,0,180,0,173,0,170,0,168,0,155,0,140,0,112,0,91,0,60,0,39,0,28,0,32,0,33,0,43,0,47,0,47,0,44,0,32,0,29,0,12,0,10,0,255, +255,0,0,1,0,245,255,246,255,241,255,244,255,244,255,237,255,227,255,227,255,216,255,208,255,199,255,185,255,173,255,165,255,160,255,163,255,156,255,154,255,142,255,129,255,106,255,83,255,62,255,41,255,36,255,27,255,30,255,32,255,41,255,41,255,50,255, +50,255,62,255,52,255,44,255,51,255,40,255,41,255,36,255,34,255,27,255,18,255,12,255,4,255,253,254,250,254,243,254,234,254,223,254,210,254,206,254,210,254,216,254,217,254,207,254,203,254,193,254,198,254,195,254,200,254,223,254,231,254,250,254,15,255,33, +255,40,255,52,255,65,255,73,255,73,255,81,255,98,255,116,255,144,255,170,255,184,255,209,255,228,255,245,255,252,255,14,0,19,0,29,0,30,0,42,0,57,0,73,0,101,0,122,0,147,0,175,0,193,0,208,0,209,0,205,0,194,0,191,0,194,0,201,0,205,0,217,0,220,0,227,0,224, +0,213,0,202,0,191,0,188,0,190,0,191,0,195,0,194,0,186,0,180,0,181,0,177,0,176,0,162,0,166,0,151,0,143,0,127,0,122,0,109,0,97,0,82,0,66,0,58,0,47,0,25,0,15,0,6,0,0,0,252,255,242,255,228,255,216,255,212,255,219,255,228,255,230,255,238,255,244,255,0,0,248, +255,241,255,242,255,238,255,248,255,250,255,3,0,17,0,25,0,21,0,30,0,29,0,35,0,32,0,35,0,29,0,21,0,14,0,10,0,11,0,15,0,25,0,21,0,24,0,26,0,22,0,24,0,18,0,14,0,8,0,8,0,255,255,3,0,7,0,15,0,21,0,18,0,25,0,35,0,36,0,35,0,28,0,19,0,10,0,249,255,238,255,221, +255,219,255,214,255,209,255,195,255,190,255,178,255,169,255,169,255,167,255,167,255,184,255,201,255,216,255,227,255,239,255,235,255,230,255,220,255,217,255,217,255,223,255,242,255,250,255,0,0,14,0,22,0,26,0,25,0,26,0,25,0,24,0,28,0,37,0,50,0,65,0,69, +0,90,0,93,0,98,0,98,0,89,0,80,0,78,0,75,0,69,0,72,0,65,0,61,0,48,0,37,0,30,0,25,0,28,0,26,0,36,0,47,0,57,0,71,0,79,0,91,0,107,0,122,0,140,0,143,0,145,0,152,0,155,0,158,0,172,0,181,0,172,0,176,0,170,0,175,0,169,0,180,0,176,0,175,0,179,0,168,0,173,0,175, +0,168,0,158,0,150,0,145,0,133,0,119,0,102,0,93,0,76,0,72,0,57,0,54,0,53,0,39,0,36,0,32,0,22,0,15,0,11,0,10,0,1,0,241,255,227,255,209,255,191,255,183,255,174,255,169,255,176,255,183,255,185,255,183,255,185,255,195,255,198,255,190,255,190,255,187,255,178, +255,177,255,173,255,176,255,177,255,158,255,144,255,119,255,94,255,75,255,59,255,55,255,51,255,48,255,50,255,32,255,26,255,18,255,26,255,33,255,47,255,55,255,59,255,59,255,73,255,69,255,59,255,50,255,45,255,41,255,37,255,33,255,27,255,21,255,23,255,23, +255,19,255,22,255,12,255,9,255,8,255,0,255,247,254,236,254,234,254,223,254,220,254,214,254,218,254,227,254,229,254,247,254,0,255,12,255,23,255,25,255,26,255,40,255,48,255,61,255,70,255,91,255,116,255,142,255,167,255,191,255,208,255,224,255,238,255,252, +255,14,0,22,0,36,0,46,0,60,0,79,0,96,0,104,0,123,0,141,0,173,0,186,0,201,0,213,0,230,0,237,0,231,0,229,0,215,0,202,0,194,0,187,0,193,0,202,0,215,0,215,0,212,0,201,0,201,0,204,0,201,0,191,0,188,0,186,0,190,0,183,0,175,0,169,0,166,0,159,0,148,0,139,0,140, +0,120,0,105,0,86,0,76,0,62,0,57,0,46,0,44,0,35,0,28,0,12,0,6,0,252,255,252,255,241,255,239,255,244,255,244,255,248,255,0,0,10,0,12,0,25,0,37,0,42,0,46,0,48,0,37,0,30,0,30,0,35,0,35,0,40,0,44,0,47,0,58,0,72,0,71,0,72,0,65,0,58,0,51,0,42,0,39,0,37,0,29, +0,30,0,35,0,28,0,15,0,17,0,12,0,12,0,14,0,17,0,24,0,29,0,33,0,37,0,36,0,28,0,24,0,24,0,12,0,4,0,253,255,239,255,226,255,219,255,202,255,198,255,198,255,199,255,194,255,190,255,187,255,190,255,190,255,191,255,187,255,198,255,195,255,201,255,209,255,217, +255,227,255,237,255,239,255,244,255,250,255,255,255,0,0,10,0,17,0,29,0,39,0,47,0,43,0,54,0,57,0,62,0,78,0,82,0,94,0,100,0,104,0,98,0,102,0,97,0,96,0,84,0,82,0,76,0,68,0,64,0,60,0,54,0,57,0,50,0,51,0,46,0,42,0,40,0,37,0,47,0,51,0,65,0,79,0,83,0,101,0, +111,0,125,0,139,0,148,0,148,0,152,0,155,0,157,0,161,0,162,0,165,0,169,0,173,0,176,0,175,0,172,0,165,0,161,0,152,0,148,0,139,0,134,0,126,0,114,0,94,0,76,0,61,0,54,0,39,0,39,0,46,0,39,0,40,0,33,0,29,0,22,0,4,0,241,255,216,255,203,255,188,255,173,255,172, +255,159,255,165,255,159,255,145,255,145,255,145,255,142,255,134,255,136,255,144,255,151,255,165,255,163,255,162,255,158,255,154,255,156,255,144,255,136,255,123,255,119,255,108,255,95,255,86,255,79,255,81,255,73,255,63,255,61,255,57,255,54,255,48,255, +51,255,54,255,44,255,43,255,47,255,44,255,48,255,57,255,62,255,68,255,63,255,59,255,54,255,54,255,55,255,57,255,58,255,62,255,54,255,61,255,65,255,58,255,50,255,36,255,23,255,9,255,8,255,3,255,1,255,7,255,7,255,3,255,0,255,243,254,242,254,239,254,1,255, +14,255,26,255,43,255,57,255,70,255,84,255,81,255,101,255,112,255,133,255,147,255,165,255,177,255,194,255,201,255,224,255,234,255,6,0,30,0,51,0,72,0,93,0,109,0,123,0,125,0,141,0,151,0,175,0,186,0,205,0,219,0,234,0,235,0,230,0,220,0,213,0,209,0,202,0,204, +0,201,0,209,0,216,0,216,0,213,0,204,0,206,0,194,0,183,0,184,0,179,0,186,0,181,0,173,0,165,0,155,0,147,0,130,0,125,0,129,0,122,0,120,0,119,0,105,0,107,0,89,0,78,0,66,0,51,0,46,0,40,0,35,0,33,0,25,0,17,0,15,0,14,0,11,0,4,0,15,0,25,0,22,0,21,0,28,0,26,0, +35,0,33,0,39,0,36,0,35,0,29,0,32,0,37,0,40,0,53,0,65,0,78,0,79,0,79,0,83,0,86,0,72,0,68,0,62,0,46,0,36,0,40,0,37,0,42,0,37,0,42,0,62,0,55,0,57,0,60,0,55,0,55,0,46,0,43,0,33,0,28,0,19,0,17,0,253,255,245,255,244,255,234,255,220,255,208,255,208,255,201, +255,201,255,205,255,205,255,216,255,216,255,212,255,203,255,191,255,187,255,178,255,177,255,183,255,196,255,208,255,227,255,237,255,252,255,255,255,253,255,252,255,4,0,11,0,15,0,26,0,28,0,47,0,61,0,69,0,80,0,83,0,80,0,75,0,79,0,78,0,68,0,75,0,75,0,80, +0,86,0,83,0,89,0,86,0,84,0,84,0,78,0,71,0,69,0,61,0,58,0,54,0,46,0,50,0,51,0,48,0,50,0,58,0,61,0,72,0,75,0,87,0,94,0,100,0,114,0,119,0,122,0,126,0,136,0,137,0,152,0,151,0,158,0,154,0,155,0,158,0,157,0,155,0,151,0,147,0,139,0,122,0,97,0,91,0,68,0,65,0, +53,0,43,0,32,0,30,0,26,0,30,0,30,0,22,0,30,0,17,0,253,255,237,255,214,255,194,255,172,255,165,255,155,255,149,255,145,255,144,255,148,255,138,255,133,255,124,255,120,255,123,255,126,255,117,255,122,255,115,255,117,255,117,255,117,255,116,255,115,255, +115,255,117,255,120,255,126,255,133,255,127,255,123,255,115,255,104,255,95,255,81,255,91,255,90,255,80,255,81,255,75,255,70,255,63,255,61,255,55,255,47,255,43,255,52,255,54,255,65,255,66,255,81,255,81,255,80,255,75,255,81,255,83,255,75,255,79,255,73, +255,68,255,55,255,47,255,39,255,26,255,25,255,15,255,19,255,12,255,22,255,23,255,21,255,9,255,3,255,252,254,252,254,250,254,1,255,14,255,23,255,36,255,43,255,55,255,69,255,88,255,104,255,116,255,126,255,130,255,155,255,177,255,198,255,221,255,238,255, +7,0,29,0,50,0,69,0,97,0,114,0,126,0,139,0,140,0,145,0,161,0,170,0,179,0,195,0,201,0,212,0,219,0,222,0,217,0,213,0,206,0,211,0,211,0,206,0,205,0,215,0,223,0,220,0,223,0,205,0,198,0,187,0,184,0,175,0,169,0,162,0,159,0,154,0,143,0,134,0,129,0,127,0,126, +0,122,0,130,0,122,0,119,0,104,0,94,0,80,0,75,0,61,0,51,0,51,0,42,0,37,0,37,0,35,0,30,0,25,0,30,0,24,0,33,0,30,0,25,0,25,0,28,0,29,0,36,0,37,0,44,0,58,0,71,0,73,0,75,0,78,0,75,0,71,0,76,0,71,0,76,0,82,0,72,0,76,0,64,0,51,0,48,0,43,0,42,0,39,0,50,0,58, +0,64,0,73,0,79,0,80,0,71,0,55,0,50,0,46,0,28,0,24,0,19,0,12,0,7,0,253,255,245,255,231,255,223,255,223,255,216,255,219,255,216,255,223,255,224,255,221,255,213,255,202,255,195,255,187,255,178,255,183,255,184,255,181,255,185,255,191,255,202,255,212,255, +226,255,232,255,252,255,1,0,8,0,11,0,18,0,25,0,29,0,46,0,53,0,60,0,58,0,54,0,54,0,54,0,57,0,51,0,60,0,60,0,60,0,68,0,61,0,62,0,73,0,76,0,76,0,82,0,83,0,75,0,71,0,60,0,55,0,46,0,47,0,47,0,51,0,54,0,60,0,47,0,51,0,53,0,55,0,58,0,55,0,68,0,79,0,89,0,97, +0,104,0,120,0,132,0,134,0,141,0,139,0,140,0,139,0,148,0,148,0,140,0,136,0,125,0,116,0,96,0,91,0,78,0,66,0,51,0,46,0,40,0,32,0,26,0,14,0,10,0,6,0,0,0,245,255,232,255,219,255,205,255,184,255,170,255,165,255,156,255,158,255,154,255,141,255,142,255,138,255, +129,255,129,255,130,255,124,255,117,255,101,255,91,255,97,255,91,255,95,255,98,255,99,255,108,255,115,255,116,255,124,255,129,255,129,255,129,255,138,255,140,255,140,255,136,255,140,255,141,255,142,255,126,255,119,255,117,255,109,255,109,255,94,255,83, +255,81,255,75,255,72,255,65,255,69,255,66,255,68,255,70,255,76,255,76,255,87,255,97,255,94,255,91,255,80,255,77,255,77,255,70,255,73,255,66,255,63,255,63,255,50,255,40,255,30,255,25,255,19,255,26,255,32,255,18,255,21,255,14,255,8,255,9,255,14,255,21, +255,32,255,47,255,57,255,73,255,90,255,106,255,116,255,123,255,136,255,147,255,163,255,183,255,202,255,234,255,6,0,18,0,33,0,54,0,65,0,87,0,97,0,116,0,134,0,144,0,154,0,152,0,161,0,169,0,175,0,191,0,212,0,217,0,227,0,219,0,222,0,212,0,204,0,213,0,209, +0,213,0,212,0,212,0,211,0,208,0,204,0,193,0,181,0,173,0,166,0,154,0,148,0,141,0,140,0,133,0,125,0,129,0,123,0,132,0,118,0,127,0,120,0,120,0,118,0,108,0,105,0,94,0,84,0,71,0,61,0,60,0,50,0,61,0,47,0,46,0,40,0,40,0,32,0,40,0,39,0,30,0,32,0,28,0,29,0,35, +0,48,0,61,0,61,0,66,0,79,0,83,0,83,0,78,0,75,0,60,0,62,0,58,0,61,0,64,0,66,0,68,0,68,0,66,0,68,0,72,0,73,0,73,0,76,0,79,0,83,0,83,0,82,0,72,0,66,0,58,0,57,0,48,0,35,0,32,0,15,0,18,0,10,0,248,255,253,255,245,255,239,255,235,255,230,255,231,255,228,255, +226,255,216,255,206,255,198,255,187,255,181,255,184,255,187,255,190,255,194,255,198,255,206,255,216,255,227,255,241,255,245,255,253,255,8,0,19,0,29,0,33,0,33,0,29,0,26,0,17,0,17,0,22,0,15,0,22,0,36,0,33,0,35,0,44,0,50,0,61,0,64,0,75,0,78,0,83,0,79,0, +79,0,76,0,80,0,79,0,79,0,82,0,73,0,68,0,65,0,55,0,57,0,44,0,48,0,43,0,48,0,51,0,57,0,53,0,51,0,48,0,55,0,72,0,84,0,96,0,107,0,115,0,119,0,119,0,130,0,130,0,133,0,136,0,136,0,127,0,123,0,104,0,93,0,83,0,73,0,62,0,48,0,47,0,33,0,26,0,14,0,255,255,250,255, +246,255,226,255,206,255,180,255,180,255,170,255,170,255,170,255,162,255,159,255,155,255,147,255,148,255,136,255,124,255,116,255,111,255,104,255,97,255,91,255,97,255,95,255,97,255,97,255,91,255,87,255,88,255,97,255,98,255,101,255,112,255,116,255,116,255, +120,255,126,255,129,255,148,255,160,255,173,255,176,255,178,255,172,255,170,255,162,255,152,255,136,255,120,255,111,255,116,255,111,255,106,255,111,255,108,255,97,255,94,255,88,255,84,255,87,255,86,255,87,255,93,255,97,255,98,255,87,255,88,255,86,255, +87,255,88,255,91,255,91,255,80,255,80,255,70,255,55,255,36,255,37,255,48,255,40,255,44,255,41,255,40,255,41,255,44,255,36,255,40,255,52,255,63,255,73,255,90,255,98,255,106,255,123,255,129,255,149,255,160,255,178,255,198,255,221,255,237,255,6,0,21,0,25, +0,43,0,54,0,75,0,98,0,107,0,115,0,125,0,126,0,143,0,155,0,163,0,175,0,191,0,209,0,213,0,206,0,211,0,213,0,205,0,208,0,209,0,215,0,212,0,215,0,215,0,213,0,198,0,188,0,177,0,163,0,150,0,150,0,139,0,144,0,145,0,144,0,141,0,145,0,139,0,139,0,136,0,133,0, +123,0,126,0,111,0,104,0,105,0,98,0,91,0,84,0,75,0,62,0,55,0,48,0,51,0,48,0,42,0,44,0,40,0,37,0,42,0,35,0,28,0,29,0,32,0,39,0,39,0,51,0,72,0,69,0,79,0,86,0,82,0,84,0,87,0,83,0,72,0,66,0,55,0,58,0,61,0,62,0,62,0,84,0,83,0,80,0,82,0,72,0,65,0,65,0,69,0, +71,0,69,0,71,0,68,0,64,0,66,0,66,0,66,0,65,0,57,0,44,0,28,0,17,0,8,0,8,0,7,0,252,255,248,255,239,255,232,255,221,255,213,255,205,255,198,255,202,255,202,255,201,255,202,255,208,255,209,255,203,255,206,255,210,255,223,255,234,255,237,255,242,255,245,255, +252,255,6,0,253,255,1,0,12,0,1,0,8,0,4,0,4,0,3,0,11,0,17,0,21,0,26,0,30,0,35,0,48,0,61,0,64,0,58,0,58,0,54,0,54,0,57,0,58,0,54,0,60,0,65,0,62,0,65,0,64,0,65,0,55,0,55,0,47,0,43,0,37,0,35,0,26,0,28,0,29,0,26,0,26,0,37,0,46,0,53,0,69,0,82,0,86,0,93,0,100, +0,111,0,118,0,109,0,105,0,101,0,96,0,84,0,72,0,72,0,62,0,51,0,36,0,26,0,21,0,11,0,6,0,248,255,232,255,220,255,203,255,183,255,177,255,160,255,154,255,148,255,149,255,151,255,154,255,141,255,133,255,123,255,115,255,120,255,113,255,112,255,112,255,104, +255,101,255,95,255,94,255,88,255,90,255,90,255,86,255,90,255,88,255,95,255,102,255,104,255,108,255,115,255,111,255,122,255,131,255,149,255,170,255,181,255,187,255,192,255,196,255,195,255,202,255,194,255,192,255,180,255,169,255,162,255,155,255,147,255, +142,255,134,255,133,255,123,255,120,255,109,255,98,255,91,255,93,255,93,255,80,255,80,255,84,255,93,255,98,255,102,255,111,255,116,255,112,255,109,255,97,255,87,255,70,255,58,255,47,255,37,255,34,255,39,255,50,255,63,255,66,255,70,255,76,255,79,255,87, +255,86,255,95,255,102,255,111,255,127,255,144,255,156,255,167,255,176,255,195,255,216,255,227,255,244,255,250,255,4,0,14,0,22,0,35,0,42,0,48,0,65,0,75,0,79,0,94,0,111,0,119,0,144,0,144,0,163,0,175,0,180,0,186,0,194,0,195,0,197,0,198,0,202,0,208,0,206, +0,209,0,206,0,204,0,199,0,190,0,180,0,161,0,150,0,139,0,139,0,143,0,145,0,150,0,147,0,150,0,148,0,147,0,136,0,114,0,112,0,119,0,112,0,107,0,105,0,100,0,91,0,84,0,72,0,69,0,60,0,68,0,62,0,58,0,58,0,54,0,43,0,43,0,43,0,43,0,36,0,39,0,36,0,42,0,48,0,55, +0,53,0,65,0,62,0,72,0,78,0,76,0,71,0,73,0,80,0,72,0,66,0,64,0,65,0,64,0,65,0,65,0,61,0,62,0,73,0,69,0,71,0,80,0,86,0,84,0,91,0,93,0,97,0,96,0,93,0,83,0,86,0,76,0,66,0,64,0,57,0,42,0,36,0,25,0,25,0,15,0,12,0,4,0,245,255,242,255,235,255,230,255,228,255, +226,255,226,255,230,255,227,255,234,255,227,255,220,255,231,255,235,255,230,255,231,255,238,255,235,255,238,255,241,255,238,255,242,255,248,255,241,255,242,255,237,255,237,255,244,255,250,255,253,255,1,0,14,0,22,0,25,0,30,0,37,0,47,0,55,0,39,0,43,0,47, +0,47,0,54,0,64,0,58,0,61,0,65,0,64,0,53,0,57,0,54,0,57,0,55,0,42,0,37,0,43,0,32,0,22,0,12,0,10,0,17,0,26,0,40,0,42,0,48,0,46,0,61,0,61,0,65,0,76,0,75,0,82,0,75,0,73,0,79,0,71,0,61,0,58,0,47,0,44,0,40,0,32,0,25,0,14,0,6,0,245,255,226,255,214,255,203,255, +190,255,174,255,165,255,148,255,142,255,137,255,137,255,126,255,123,255,120,255,113,255,104,255,102,255,95,255,98,255,95,255,97,255,99,255,109,255,102,255,104,255,95,255,97,255,94,255,95,255,94,255,97,255,98,255,104,255,106,255,115,255,119,255,119,255, +133,255,144,255,149,255,165,255,174,255,191,255,198,255,209,255,208,255,205,255,205,255,203,255,195,255,194,255,194,255,190,255,178,255,167,255,156,255,154,255,136,255,130,255,123,255,120,255,117,255,105,255,98,255,91,255,88,255,87,255,90,255,99,255, +105,255,113,255,122,255,126,255,120,255,122,255,115,255,105,255,95,255,86,255,77,255,72,255,72,255,61,255,68,255,68,255,80,255,87,255,104,255,98,255,109,255,109,255,115,255,127,255,134,255,149,255,169,255,183,255,199,255,214,255,223,255,227,255,239,255, +239,255,253,255,7,0,11,0,17,0,29,0,35,0,40,0,43,0,55,0,68,0,72,0,82,0,93,0,115,0,127,0,136,0,150,0,161,0,172,0,181,0,184,0,193,0,187,0,184,0,184,0,176,0,181,0,183,0,183,0,181,0,173,0,170,0,159,0,147,0,130,0,130,0,133,0,136,0,134,0,141,0,134,0,130,0,129, +0,120,0,107,0,107,0,100,0,100,0,96,0,94,0,80,0,80,0,76,0,69,0,65,0,62,0,65,0,71,0,72,0,68,0,69,0,66,0,66,0,53,0,47,0,44,0,55,0,54,0,53,0,51,0,54,0,51,0,53,0,64,0,71,0,64,0,57,0,64,0,69,0,76,0,80,0,73,0,69,0,64,0,62,0,53,0,53,0,50,0,58,0,66,0,66,0,80, +0,89,0,100,0,100,0,109,0,116,0,118,0,114,0,107,0,108,0,96,0,101,0,78,0,78,0,66,0,71,0,69,0,55,0,46,0,39,0,22,0,10,0,253,255,245,255,237,255,235,255,237,255,241,255,244,255,242,255,249,255,242,255,238,255,237,255,234,255,237,255,238,255,224,255,228,255, +230,255,232,255,231,255,231,255,230,255,230,255,242,255,237,255,241,255,239,255,245,255,255,255,1,0,3,0,14,0,22,0,25,0,29,0,28,0,35,0,33,0,40,0,37,0,36,0,29,0,29,0,26,0,37,0,43,0,46,0,53,0,61,0,60,0,64,0,55,0,48,0,44,0,39,0,29,0,24,0,29,0,29,0,33,0,26, +0,36,0,36,0,37,0,48,0,50,0,50,0,50,0,51,0,54,0,51,0,53,0,57,0,51,0,48,0,43,0,42,0,35,0,26,0,26,0,24,0,18,0,8,0,0,0,238,255,227,255,217,255,199,255,192,255,184,255,173,255,169,255,155,255,141,255,130,255,120,255,119,255,115,255,117,255,115,255,116,255, +112,255,113,255,106,255,109,255,109,255,109,255,119,255,123,255,129,255,131,255,130,255,126,255,124,255,108,255,111,255,119,255,120,255,123,255,133,255,144,255,147,255,149,255,156,255,163,255,178,255,180,255,185,255,191,255,201,255,209,255,217,255,217, +255,221,255,221,255,223,255,219,255,212,255,202,255,188,255,183,255,169,255,154,255,140,255,129,255,130,255,123,255,123,255,122,255,117,255,115,255,111,255,117,255,117,255,116,255,111,255,120,255,119,255,126,255,117,255,113,255,113,255,116,255,106,255, +106,255,94,255,93,255,98,255,94,255,102,255,102,255,120,255,117,255,117,255,131,255,137,255,142,255,151,255,159,255,173,255,185,255,194,255,199,255,217,255,226,255,227,255,242,255,252,255,3,0,12,0,8,0,18,0,22,0,32,0,37,0,43,0,53,0,55,0,68,0,72,0,82,0, +93,0,100,0,109,0,120,0,141,0,144,0,169,0,168,0,168,0,165,0,168,0,159,0,154,0,148,0,158,0,162,0,170,0,161,0,165,0,158,0,148,0,141,0,134,0,132,0,125,0,127,0,115,0,116,0,120,0,108,0,94,0,86,0,89,0,80,0,76,0,71,0,64,0,64,0,60,0,62,0,65,0,58,0,58,0,65,0,65, +0,66,0,75,0,69,0,72,0,79,0,73,0,66,0,61,0,60,0,54,0,62,0,61,0,65,0,54,0,55,0,50,0,53,0,50,0,44,0,42,0,43,0,48,0,51,0,50,0,54,0,53,0,57,0,58,0,50,0,46,0,51,0,51,0,55,0,68,0,80,0,89,0,100,0,107,0,118,0,127,0,120,0,108,0,105,0,97,0,80,0,71,0,64,0,66,0,76, +0,69,0,75,0,69,0,60,0,46,0,30,0,19,0,1,0,248,255,244,255,242,255,241,255,249,255,246,255,246,255,248,255,238,255,235,255,227,255,220,255,214,255,213,255,224,255,224,255,228,255,235,255,228,255,234,255,228,255,234,255,234,255,232,255,246,255,250,255,249, +255,255,255,0,0,0,0,4,0,3,0,0,0,0,0,7,0,10,0,8,0,17,0,19,0,24,0,22,0,29,0,28,0,32,0,32,0,43,0,48,0,48,0,43,0,40,0,36,0,33,0,29,0,37,0,36,0,33,0,36,0,32,0,35,0,32,0,33,0,29,0,26,0,28,0,25,0,36,0,46,0,42,0,33,0,28,0,30,0,29,0,25,0,25,0,14,0,18,0,17,0,6, +0,1,0,253,255,245,255,239,255,230,255,224,255,216,255,203,255,201,255,190,255,181,255,162,255,147,255,129,255,126,255,126,255,124,255,119,255,120,255,127,255,119,255,119,255,126,255,124,255,124,255,129,255,131,255,137,255,138,255,138,255,142,255,145, +255,138,255,138,255,136,255,140,255,145,255,144,255,147,255,149,255,152,255,159,255,165,255,166,255,174,255,180,255,174,255,184,255,190,255,196,255,208,255,216,255,221,255,223,255,231,255,227,255,227,255,216,255,212,255,203,255,191,255,184,255,172,255, +169,255,159,255,145,255,138,255,137,255,133,255,130,255,127,255,122,255,123,255,123,255,123,255,116,255,123,255,113,255,119,255,120,255,124,255,117,255,131,255,129,255,123,255,127,255,130,255,129,255,137,255,136,255,144,255,141,255,145,255,142,255,145, +255,151,255,163,255,178,255,191,255,198,255,214,255,216,255,220,255,223,255,230,255,232,255,244,255,1,0,11,0,18,0,28,0,22,0,29,0,29,0,35,0,39,0,44,0,54,0,62,0,69,0,83,0,86,0,91,0,97,0,104,0,109,0,132,0,133,0,143,0,140,0,141,0,141,0,137,0,145,0,143,0, +141,0,144,0,141,0,139,0,148,0,144,0,140,0,126,0,126,0,130,0,119,0,119,0,114,0,105,0,100,0,96,0,90,0,83,0,80,0,83,0,76,0,71,0,62,0,58,0,50,0,46,0,44,0,48,0,48,0,55,0,58,0,64,0,75,0,78,0,78,0,76,0,76,0,73,0,66,0,65,0,61,0,58,0,55,0,60,0,68,0,69,0,64,0, +55,0,47,0,44,0,42,0,35,0,36,0,33,0,37,0,44,0,50,0,51,0,53,0,55,0,46,0,60,0,61,0,72,0,71,0,73,0,82,0,97,0,104,0,105,0,109,0,112,0,115,0,111,0,115,0,105,0,101,0,86,0,73,0,68,0,73,0,68,0,58,0,55,0,53,0,39,0,36,0,24,0,17,0,12,0,7,0,255,255,239,255,231,255, +231,255,228,255,224,255,220,255,220,255,220,255,217,255,219,255,228,255,224,255,224,255,230,255,232,255,235,255,237,255,238,255,244,255,239,255,241,255,230,255,244,255,244,255,241,255,239,255,242,255,242,255,245,255,246,255,6,0,0,0,12,0,7,0,8,0,3,0,11, +0,8,0,17,0,18,0,19,0,24,0,26,0,22,0,24,0,26,0,25,0,26,0,29,0,42,0,40,0,42,0,37,0,44,0,44,0,33,0,37,0,28,0,26,0,22,0,12,0,19,0,18,0,22,0,18,0,14,0,12,0,14,0,19,0,17,0,12,0,10,0,4,0,3,0,0,0,253,255,237,255,231,255,227,255,216,255,206,255,198,255,185,255, +177,255,166,255,158,255,149,255,151,255,138,255,140,255,140,255,144,255,136,255,136,255,134,255,134,255,137,255,137,255,137,255,142,255,154,255,149,255,152,255,149,255,155,255,154,255,156,255,155,255,155,255,156,255,151,255,152,255,158,255,158,255,162, +255,169,255,172,255,176,255,170,255,169,255,174,255,178,255,183,255,184,255,190,255,196,255,209,255,216,255,217,255,209,255,213,255,214,255,214,255,214,255,199,255,201,255,201,255,191,255,180,255,173,255,160,255,155,255,145,255,136,255,133,255,134,255, +133,255,130,255,130,255,133,255,133,255,129,255,126,255,127,255,127,255,131,255,127,255,131,255,136,255,141,255,149,255,155,255,166,255,173,255,170,255,178,255,170,255,176,255,184,255,184,255,185,255,198,255,199,255,206,255,220,255,231,255,232,255,241, +255,237,255,245,255,249,255,253,255,3,0,10,0,19,0,29,0,35,0,32,0,30,0,42,0,44,0,54,0,54,0,55,0,65,0,71,0,82,0,87,0,98,0,107,0,108,0,116,0,130,0,130,0,130,0,129,0,134,0,127,0,127,0,127,0,118,0,127,0,126,0,126,0,126,0,123,0,118,0,118,0,115,0,105,0,107, +0,100,0,86,0,86,0,89,0,82,0,79,0,75,0,73,0,75,0,76,0,61,0,60,0,43,0,39,0,35,0,42,0,50,0,51,0,57,0,66,0,71,0,73,0,68,0,71,0,73,0,66,0,65,0,53,0,61,0,61,0,60,0,54,0,57,0,57,0,51,0,50,0,40,0,42,0,39,0,35,0,35,0,33,0,29,0,32,0,42,0,40,0,48,0,46,0,55,0,57, +0,69,0,76,0,80,0,79,0,86,0,93,0,101,0,105,0,101,0,108,0,115,0,111,0,108,0,112,0,112,0,111,0,104,0,104,0,86,0,75,0,71,0,64,0,61,0,54,0,40,0,35,0,18,0,12,0,3,0,252,255,238,255,237,255,228,255,219,255,212,255,199,255,202,255,203,255,209,255,216,255,217, +255,220,255,221,255,224,255,228,255,226,255,231,255,239,255,242,255,239,255,242,255,242,255,246,255,230,255,234,255,234,255,228,255,228,255,231,255,237,255,246,255,1,0,3,0,6,0,11,0,3,0,3,0,250,255,252,255,253,255,1,0,3,0,6,0,11,0,12,0,14,0,28,0,24,0, +35,0,32,0,24,0,15,0,21,0,15,0,10,0,12,0,18,0,22,0,18,0,19,0,19,0,10,0,7,0,10,0,15,0,8,0,1,0,12,0,4,0,0,0,252,255,255,255,244,255,246,255,238,255,234,255,227,255,221,255,213,255,208,255,198,255,191,255,188,255,181,255,174,255,177,255,167,255,163,255,162, +255,159,255,162,255,158,255,156,255,145,255,145,255,144,255,142,255,144,255,145,255,141,255,151,255,160,255,170,255,170,255,167,255,167,255,173,255,181,255,187,255,183,255,187,255,178,255,173,255,169,255,169,255,170,255,176,255,183,255,181,255,190,255, +188,255,196,255,203,255,209,255,205,255,205,255,209,255,209,255,214,255,214,255,206,255,210,255,206,255,203,255,209,255,206,255,196,255,199,255,199,255,198,255,183,255,174,255,165,255,156,255,152,255,148,255,144,255,149,255,148,255,152,255,147,255,142, +255,133,255,138,255,138,255,136,255,142,255,144,255,140,255,148,255,142,255,154,255,160,255,170,255,177,255,176,255,183,255,183,255,190,255,194,255,198,255,212,255,217,255,223,255,224,255,238,255,238,255,242,255,248,255,250,255,248,255,253,255,6,0,12, +0,17,0,21,0,21,0,32,0,37,0,43,0,48,0,53,0,58,0,62,0,68,0,75,0,84,0,94,0,100,0,105,0,115,0,112,0,112,0,119,0,120,0,122,0,125,0,120,0,129,0,127,0,123,0,120,0,109,0,114,0,109,0,112,0,109,0,111,0,107,0,102,0,90,0,91,0,83,0,82,0,75,0,69,0,68,0,72,0,75,0,75, +0,80,0,76,0,76,0,64,0,61,0,50,0,55,0,54,0,61,0,61,0,69,0,66,0,66,0,55,0,65,0,65,0,55,0,57,0,55,0,50,0,43,0,43,0,50,0,51,0,47,0,48,0,51,0,54,0,53,0,53,0,54,0,51,0,48,0,43,0,46,0,39,0,37,0,37,0,50,0,54,0,65,0,66,0,72,0,69,0,71,0,79,0,86,0,82,0,89,0,84, +0,94,0,94,0,94,0,93,0,94,0,93,0,96,0,93,0,89,0,91,0,90,0,78,0,69,0,61,0,50,0,37,0,24,0,11,0,6,0,249,255,246,255,230,255,231,255,226,255,212,255,212,255,208,255,198,255,199,255,201,255,203,255,205,255,210,255,216,255,217,255,220,255,216,255,217,255,226, +255,216,255,216,255,232,255,228,255,227,255,231,255,232,255,234,255,230,255,235,255,232,255,230,255,237,255,238,255,244,255,245,255,244,255,248,255,246,255,249,255,1,0,4,0,14,0,6,0,7,0,8,0,8,0,10,0,17,0,21,0,17,0,21,0,11,0,6,0,7,0,3,0,8,0,4,0,7,0,17, +0,19,0,19,0,19,0,15,0,19,0,10,0,6,0,7,0,7,0,6,0,4,0,250,255,241,255,244,255,227,255,224,255,219,255,217,255,210,255,210,255,210,255,206,255,202,255,209,255,210,255,209,255,205,255,199,255,203,255,195,255,192,255,184,255,176,255,170,255,172,255,166,255, +170,255,163,255,158,255,162,255,169,255,172,255,183,255,177,255,180,255,185,255,185,255,185,255,190,255,184,255,185,255,194,255,191,255,184,255,181,255,181,255,174,255,177,255,181,255,185,255,194,255,188,255,201,255,210,255,209,255,210,255,205,255,209, +255,201,255,206,255,212,255,210,255,210,255,209,255,206,255,205,255,196,255,196,255,195,255,201,255,196,255,192,255,196,255,178,255,176,255,177,255,170,255,167,255,166,255,166,255,163,255,165,255,167,255,162,255,159,255,155,255,148,255,142,255,147,255, +147,255,151,255,147,255,158,255,165,255,173,255,173,255,178,255,184,255,190,255,195,255,199,255,201,255,210,255,217,255,220,255,226,255,228,255,235,255,238,255,241,255,249,255,0,0,7,0,8,0,12,0,17,0,18,0,28,0,25,0,24,0,28,0,29,0,35,0,47,0,58,0,58,0,65, +0,76,0,84,0,84,0,91,0,94,0,91,0,96,0,102,0,107,0,107,0,111,0,112,0,122,0,120,0,123,0,126,0,118,0,108,0,101,0,89,0,97,0,91,0,90,0,91,0,97,0,91,0,82,0,73,0,64,0,61,0,65,0,57,0,62,0,64,0,66,0,79,0,80,0,80,0,78,0,75,0,75,0,71,0,64,0,64,0,60,0,62,0,62,0,58, +0,57,0,60,0,60,0,54,0,50,0,46,0,47,0,47,0,37,0,39,0,39,0,39,0,43,0,50,0,47,0,46,0,48,0,54,0,51,0,43,0,40,0,30,0,37,0,42,0,48,0,53,0,61,0,55,0,62,0,66,0,75,0,78,0,80,0,82,0,93,0,96,0,93,0,94,0,93,0,96,0,93,0,89,0,87,0,87,0,87,0,79,0,78,0,80,0,68,0,60, +0,50,0,36,0,26,0,12,0,12,0,3,0,249,255,242,255,239,255,239,255,228,255,226,255,219,255,210,255,208,255,206,255,196,255,194,255,196,255,201,255,208,255,205,255,208,255,205,255,205,255,209,255,209,255,208,255,214,255,221,255,226,255,227,255,234,255,237, +255,241,255,246,255,246,255,242,255,249,255,248,255,252,255,1,0,255,255,0,0,253,255,6,0,3,0,7,0,6,0,0,0,10,0,12,0,17,0,11,0,8,0,4,0,3,0,255,255,252,255,6,0,4,0,7,0,4,0,0,0,6,0,8,0,11,0,14,0,21,0,19,0,15,0,14,0,14,0,10,0,1,0,249,255,245,255,234,255,230, +255,228,255,232,255,220,255,223,255,216,255,217,255,208,255,206,255,209,255,206,255,205,255,205,255,205,255,201,255,199,255,201,255,198,255,201,255,198,255,194,255,190,255,184,255,191,255,191,255,187,255,187,255,187,255,188,255,194,255,192,255,192,255, +192,255,187,255,192,255,191,255,191,255,194,255,192,255,185,255,188,255,191,255,194,255,191,255,187,255,187,255,192,255,191,255,195,255,199,255,202,255,212,255,219,255,214,255,216,255,206,255,206,255,210,255,212,255,209,255,205,255,206,255,203,255,205, +255,198,255,196,255,201,255,198,255,191,255,192,255,191,255,195,255,191,255,187,255,181,255,183,255,184,255,187,255,188,255,190,255,184,255,183,255,173,255,178,255,170,255,167,255,159,255,165,255,165,255,167,255,174,255,181,255,188,255,184,255,198,255, +196,255,195,255,196,255,203,255,205,255,214,255,220,255,223,255,234,255,237,255,235,255,244,255,250,255,255,255,4,0,18,0,12,0,11,0,15,0,25,0,37,0,35,0,39,0,48,0,43,0,43,0,44,0,53,0,57,0,62,0,61,0,68,0,71,0,72,0,76,0,79,0,87,0,90,0,96,0,102,0,97,0,98, +0,101,0,115,0,120,0,125,0,119,0,107,0,105,0,105,0,90,0,87,0,93,0,90,0,94,0,97,0,93,0,80,0,80,0,73,0,65,0,60,0,64,0,61,0,66,0,73,0,76,0,78,0,84,0,82,0,80,0,75,0,73,0,71,0,65,0,65,0,62,0,51,0,48,0,48,0,46,0,44,0,40,0,47,0,44,0,44,0,43,0,50,0,44,0,40,0, +39,0,42,0,42,0,46,0,40,0,40,0,30,0,37,0,36,0,37,0,39,0,48,0,47,0,51,0,55,0,58,0,65,0,66,0,73,0,80,0,84,0,91,0,84,0,94,0,93,0,83,0,83,0,82,0,82,0,75,0,71,0,66,0,60,0,60,0,62,0,50,0,36,0,28,0,18,0,11,0,4,0,1,0,0,0,0,0,253,255,246,255,237,255,228,255,224, +255,220,255,214,255,206,255,198,255,201,255,199,255,201,255,194,255,194,255,196,255,195,255,202,255,196,255,199,255,201,255,208,255,206,255,214,255,221,255,224,255,220,255,221,255,228,255,227,255,234,255,239,255,252,255,249,255,1,0,1,0,252,255,253,255, +249,255,255,255,3,0,253,255,0,0,1,0,7,0,4,0,12,0,7,0,7,0,7,0,7,0,3,0,244,255,253,255,248,255,249,255,245,255,0,0,0,0,3,0,11,0,12,0,12,0,15,0,6,0,3,0,6,0,253,255,249,255,245,255,245,255,244,255,244,255,241,255,234,255,230,255,226,255,216,255,217,255,208, +255,208,255,206,255,216,255,219,255,210,255,216,255,205,255,210,255,213,255,213,255,208,255,206,255,202,255,203,255,196,255,187,255,185,255,190,255,181,255,181,255,192,255,187,255,190,255,195,255,199,255,203,255,202,255,190,255,199,255,203,255,198,255, +194,255,187,255,188,255,187,255,191,255,187,255,188,255,180,255,191,255,184,255,190,255,187,255,195,255,198,255,202,255,202,255,209,255,208,255,210,255,213,255,212,255,212,255,214,255,216,255,206,255,213,255,210,255,208,255,205,255,202,255,198,255,203, +255,199,255,195,255,194,255,191,255,192,255,190,255,183,255,191,255,187,255,187,255,180,255,177,255,173,255,167,255,169,255,166,255,173,255,178,255,180,255,181,255,188,255,194,255,198,255,196,255,203,255,203,255,199,255,199,255,206,255,213,255,213,255, +219,255,230,255,231,255,242,255,242,255,242,255,250,255,252,255,7,0,15,0,19,0,30,0,30,0,26,0,30,0,30,0,30,0,42,0,47,0,55,0,54,0,51,0,61,0,55,0,64,0,62,0,62,0,65,0,76,0,75,0,79,0,82,0,82,0,82,0,86,0,84,0,83,0,89,0,97,0,90,0,101,0,100,0,97,0,101,0,102, +0,97,0,97,0,94,0,84,0,90,0,76,0,72,0,80,0,72,0,76,0,64,0,61,0,60,0,61,0,58,0,75,0,75,0,75,0,79,0,69,0,71,0,66,0,57,0,53,0,48,0,50,0,51,0,46,0,42,0,46,0,53,0,47,0,47,0,42,0,37,0,36,0,32,0,32,0,33,0,35,0,36,0,39,0,29,0,28,0,30,0,32,0,28,0,29,0,32,0,33, +0,35,0,44,0,51,0,55,0,64,0,68,0,69,0,80,0,83,0,86,0,82,0,79,0,87,0,83,0,72,0,62,0,64,0,57,0,58,0,61,0,64,0,66,0,62,0,53,0,44,0,30,0,25,0,21,0,18,0,255,255,255,255,250,255,245,255,245,255,244,255,234,255,231,255,228,255,217,255,213,255,210,255,213,255, +212,255,210,255,214,255,206,255,209,255,209,255,205,255,206,255,206,255,198,255,205,255,206,255,206,255,205,255,212,255,216,255,217,255,227,255,231,255,235,255,242,255,244,255,0,0,3,0,0,0,4,0,6,0,4,0,7,0,255,255,0,0,255,255,6,0,8,0,14,0,15,0,17,0,18, +0,8,0,3,0,0,0,1,0,4,0,7,0,7,0,4,0,3,0,4,0,1,0,250,255,11,0,12,0,10,0,7,0,255,255,3,0,250,255,241,255,234,255,237,255,230,255,238,255,237,255,241,255,237,255,235,255,238,255,228,255,228,255,226,255,219,255,212,255,217,255,221,255,208,255,212,255,212,255, +209,255,201,255,210,255,210,255,206,255,210,255,205,255,203,255,194,255,196,255,190,255,192,255,194,255,196,255,198,255,199,255,196,255,192,255,194,255,190,255,195,255,198,255,188,255,184,255,180,255,181,255,187,255,195,255,196,255,191,255,195,255,195, +255,188,255,188,255,187,255,185,255,194,255,191,255,195,255,196,255,199,255,195,255,201,255,201,255,205,255,201,255,202,255,203,255,213,255,216,255,213,255,212,255,208,255,199,255,198,255,209,255,209,255,209,255,210,255,208,255,206,255,199,255,191,255, +176,255,172,255,172,255,176,255,187,255,178,255,185,255,187,255,184,255,185,255,191,255,195,255,195,255,202,255,203,255,210,255,210,255,208,255,212,255,213,255,219,255,226,255,230,255,231,255,232,255,234,255,238,255,234,255,237,255,245,255,255,255,4, +0,7,0,12,0,12,0,24,0,24,0,26,0,28,0,30,0,33,0,33,0,33,0,39,0,47,0,43,0,48,0,55,0,60,0,61,0,61,0,57,0,57,0,57,0,55,0,57,0,68,0,69,0,71,0,71,0,72,0,78,0,72,0,82,0,83,0,93,0,96,0,93,0,93,0,89,0,87,0,89,0,91,0,82,0,83,0,84,0,78,0,76,0,71,0,69,0,75,0,68,0, +69,0,71,0,68,0,78,0,69,0,65,0,69,0,61,0,64,0,64,0,53,0,57,0,58,0,47,0,54,0,51,0,55,0,46,0,43,0,43,0,43,0,33,0,36,0,32,0,30,0,29,0,29,0,22,0,14,0,14,0,21,0,36,0,39,0,36,0,35,0,40,0,43,0,42,0,42,0,48,0,60,0,48,0,54,0,66,0,55,0,62,0,62,0,62,0,69,0,64,0, +66,0,65,0,64,0,62,0,64,0,64,0,58,0,46,0,51,0,47,0,40,0,35,0,30,0,19,0,15,0,8,0,1,0,255,255,238,255,238,255,238,255,237,255,239,255,235,255,232,255,226,255,228,255,221,255,213,255,219,255,213,255,212,255,208,255,205,255,213,255,212,255,212,255,216,255, +213,255,209,255,206,255,206,255,214,255,216,255,219,255,220,255,228,255,234,255,244,255,246,255,255,255,1,0,1,0,8,0,4,0,4,0,12,0,14,0,12,0,10,0,15,0,22,0,18,0,28,0,24,0,21,0,15,0,18,0,12,0,14,0,17,0,17,0,19,0,19,0,17,0,12,0,4,0,1,0,0,0,249,255,252,255, +1,0,3,0,250,255,248,255,248,255,242,255,237,255,237,255,227,255,230,255,231,255,235,255,235,255,238,255,230,255,235,255,219,255,221,255,227,255,228,255,221,255,210,255,209,255,210,255,210,255,210,255,212,255,216,255,208,255,209,255,195,255,195,255,195, +255,196,255,196,255,191,255,187,255,195,255,198,255,201,255,203,255,206,255,196,255,195,255,205,255,201,255,195,255,194,255,191,255,195,255,192,255,190,255,190,255,187,255,195,255,198,255,196,255,196,255,192,255,192,255,187,255,195,255,195,255,195,255, +202,255,206,255,210,255,208,255,212,255,206,255,205,255,213,255,213,255,217,255,223,255,223,255,223,255,228,255,227,255,220,255,221,255,216,255,217,255,223,255,212,255,203,255,201,255,195,255,196,255,190,255,192,255,191,255,191,255,188,255,192,255,194, +255,201,255,201,255,205,255,206,255,209,255,209,255,216,255,210,255,212,255,217,255,221,255,220,255,226,255,230,255,235,255,241,255,242,255,245,255,250,255,237,255,241,255,250,255,252,255,7,0,11,0,18,0,18,0,29,0,24,0,24,0,33,0,32,0,36,0,35,0,33,0,39, +0,48,0,46,0,43,0,44,0,60,0,64,0,57,0,62,0,68,0,62,0,60,0,64,0,66,0,65,0,61,0,73,0,75,0,78,0,72,0,79,0,75,0,83,0,76,0,83,0,86,0,80,0,86,0,89,0,90,0,90,0,87,0,89,0,84,0,87,0,83,0,82,0,82,0,71,0,65,0,61,0,60,0,54,0,55,0,60,0,60,0,66,0,64,0,69,0,61,0,57, +0,61,0,48,0,42,0,32,0,37,0,36,0,39,0,39,0,39,0,37,0,36,0,36,0,24,0,28,0,25,0,24,0,25,0,22,0,28,0,33,0,28,0,30,0,33,0,33,0,35,0,35,0,37,0,39,0,36,0,33,0,30,0,33,0,33,0,33,0,30,0,33,0,32,0,43,0,40,0,40,0,44,0,44,0,40,0,42,0,33,0,32,0,28,0,28,0,22,0,30, +0,28,0,24,0,15,0,6,0,3,0,253,255,244,255,237,255,226,255,221,255,226,255,226,255,223,255,234,255,226,255,230,255,228,255,220,255,212,255,212,255,212,255,208,255,203,255,203,255,206,255,210,255,213,255,220,255,230,255,224,255,223,255,227,255,226,255,226, +255,226,255,231,255,238,255,237,255,238,255,241,255,245,255,250,255,0,0,250,255,255,255,7,0,11,0,15,0,15,0,15,0,17,0,14,0,15,0,30,0,25,0,24,0,21,0,22,0,24,0,24,0,12,0,18,0,15,0,15,0,7,0,8,0,7,0,0,0,252,255,246,255,245,255,244,255,252,255,248,255,237, +255,239,255,244,255,238,255,237,255,237,255,235,255,230,255,231,255,221,255,228,255,232,255,234,255,232,255,231,255,226,255,228,255,219,255,214,255,216,255,216,255,212,255,212,255,212,255,205,255,210,255,206,255,195,255,199,255,187,255,190,255,190,255, +187,255,188,255,196,255,201,255,205,255,209,255,194,255,190,255,199,255,192,255,191,255,181,255,181,255,183,255,181,255,183,255,185,255,191,255,199,255,195,255,190,255,188,255,185,255,190,255,194,255,192,255,192,255,195,255,202,255,205,255,205,255,206, +255,213,255,212,255,210,255,208,255,209,255,210,255,217,255,213,255,213,255,219,255,221,255,219,255,219,255,217,255,213,255,208,255,203,255,201,255,198,255,196,255,195,255,192,255,194,255,196,255,192,255,192,255,198,255,203,255,205,255,213,255,213,255, +220,255,227,255,234,255,231,255,227,255,235,255,237,255,238,255,245,255,245,255,249,255,248,255,248,255,253,255,255,255,4,0,4,0,3,0,0,0,3,0,8,0,10,0,17,0,15,0,26,0,32,0,33,0,32,0,30,0,29,0,39,0,40,0,37,0,39,0,37,0,50,0,53,0,62,0,60,0,54,0,61,0,65,0,66, +0,66,0,69,0,64,0,60,0,64,0,71,0,76,0,73,0,78,0,83,0,80,0,76,0,78,0,83,0,82,0,79,0,87,0,80,0,76,0,78,0,82,0,86,0,90,0,83,0,76,0,72,0,61,0,61,0,57,0,61,0,53,0,55,0,68,0,72,0,69,0,66,0,66,0,60,0,48,0,51,0,47,0,39,0,42,0,42,0,46,0,47,0,42,0,37,0,35,0,39, +0,32,0,28,0,28,0,19,0,19,0,29,0,28,0,35,0,28,0,32,0,32,0,37,0,36,0,39,0,32,0,35,0,25,0,14,0,18,0,17,0,24,0,24,0,35,0,30,0,29,0,33,0,33,0,30,0,32,0,30,0,24,0,21,0,21,0,21,0,22,0,18,0,14,0,12,0,8,0,14,0,10,0,8,0,8,0,1,0,1,0,250,255,241,255,237,255,234, +255,231,255,234,255,237,255,231,255,221,255,217,255,220,255,223,255,224,255,226,255,228,255,224,255,221,255,219,255,214,255,220,255,220,255,227,255,226,255,228,255,227,255,230,255,228,255,232,255,232,255,234,255,235,255,239,255,245,255,249,255,255,255, +3,0,6,0,11,0,18,0,24,0,19,0,18,0,19,0,26,0,24,0,26,0,24,0,24,0,29,0,36,0,26,0,29,0,25,0,19,0,18,0,18,0,12,0,17,0,11,0,10,0,8,0,12,0,7,0,255,255,246,255,241,255,242,255,244,255,246,255,246,255,245,255,242,255,235,255,228,255,230,255,223,255,226,255,227, +255,230,255,237,255,232,255,230,255,231,255,231,255,232,255,231,255,213,255,212,255,206,255,196,255,196,255,194,255,192,255,195,255,194,255,195,255,192,255,188,255,195,255,195,255,190,255,187,255,183,255,191,255,187,255,190,255,190,255,187,255,190,255, +187,255,188,255,187,255,188,255,190,255,188,255,192,255,194,255,191,255,194,255,190,255,191,255,191,255,192,255,187,255,190,255,190,255,190,255,201,255,203,255,198,255,203,255,206,255,209,255,212,255,210,255,206,255,201,255,209,255,210,255,213,255,217, +255,217,255,214,255,214,255,217,255,219,255,216,255,210,255,208,255,212,255,213,255,208,255,213,255,210,255,209,255,208,255,206,255,209,255,212,255,210,255,214,255,219,255,221,255,220,255,228,255,231,255,238,255,238,255,234,255,239,255,238,255,246,255, +244,255,244,255,250,255,4,0,255,255,253,255,1,0,4,0,3,0,14,0,14,0,18,0,19,0,19,0,29,0,24,0,24,0,21,0,29,0,33,0,39,0,39,0,42,0,46,0,48,0,46,0,47,0,51,0,39,0,50,0,50,0,61,0,57,0,66,0,61,0,62,0,64,0,62,0,61,0,61,0,66,0,68,0,71,0,79,0,79,0,80,0,75,0,76,0, +75,0,73,0,83,0,91,0,86,0,93,0,83,0,73,0,83,0,84,0,80,0,79,0,79,0,73,0,71,0,69,0,68,0,58,0,57,0,54,0,62,0,61,0,58,0,57,0,55,0,57,0,54,0,51,0,48,0,39,0,36,0,32,0,33,0,33,0,33,0,36,0,32,0,37,0,32,0,32,0,29,0,25,0,19,0,21,0,19,0,22,0,22,0,21,0,18,0,24,0, +21,0,21,0,19,0,18,0,17,0,15,0,15,0,11,0,14,0,19,0,10,0,11,0,10,0,15,0,8,0,14,0,11,0,14,0,14,0,11,0,6,0,8,0,10,0,8,0,4,0,6,0,1,0,3,0,1,0,253,255,255,255,249,255,241,255,231,255,232,255,232,255,231,255,230,255,231,255,228,255,230,255,228,255,241,255,232, +255,232,255,230,255,231,255,235,255,242,255,238,255,232,255,227,255,231,255,238,255,239,255,235,255,237,255,235,255,238,255,241,255,244,255,249,255,246,255,253,255,4,0,14,0,14,0,12,0,17,0,14,0,24,0,24,0,22,0,25,0,22,0,25,0,21,0,21,0,24,0,30,0,30,0,30, +0,36,0,24,0,19,0,24,0,21,0,21,0,11,0,12,0,10,0,8,0,8,0,1,0,3,0,1,0,3,0,255,255,249,255,249,255,241,255,238,255,237,255,239,255,238,255,230,255,231,255,230,255,232,255,228,255,234,255,234,255,231,255,235,255,237,255,228,255,224,255,213,255,217,255,210, +255,210,255,214,255,212,255,214,255,206,255,205,255,198,255,198,255,196,255,191,255,184,255,174,255,170,255,173,255,187,255,184,255,180,255,178,255,177,255,178,255,187,255,198,255,194,255,195,255,192,255,195,255,203,255,198,255,192,255,196,255,198,255, +198,255,188,255,198,255,196,255,203,255,206,255,209,255,199,255,198,255,199,255,206,255,214,255,210,255,212,255,213,255,213,255,220,255,217,255,217,255,214,255,214,255,206,255,209,255,208,255,210,255,217,255,216,255,216,255,219,255,220,255,223,255,223, +255,221,255,223,255,220,255,220,255,216,255,219,255,216,255,217,255,219,255,226,255,232,255,228,255,231,255,234,255,244,255,237,255,234,255,235,255,248,255,248,255,250,255,255,255,6,0,0,0,14,0,17,0,12,0,14,0,18,0,15,0,18,0,19,0,19,0,18,0,14,0,22,0,19, +0,26,0,24,0,29,0,33,0,35,0,37,0,37,0,42,0,44,0,43,0,47,0,46,0,50,0,48,0,47,0,51,0,57,0,60,0,57,0,65,0,62,0,65,0,66,0,58,0,61,0,64,0,66,0,68,0,65,0,66,0,68,0,66,0,73,0,76,0,76,0,78,0,76,0,69,0,69,0,78,0,72,0,69,0,66,0,66,0,61,0,61,0,58,0,69,0,57,0,57, +0,53,0,54,0,46,0,46,0,46,0,47,0,48,0,40,0,47,0,42,0,46,0,40,0,39,0,46,0,47,0,46,0,40,0,37,0,33,0,30,0,35,0,25,0,26,0,24,0,12,0,14,0,10,0,12,0,14,0,8,0,14,0,10,0,10,0,12,0,15,0,12,0,11,0,14,0,7,0,11,0,1,0,1,0,0,0,255,255,252,255,8,0,3,0,3,0,4,0,250,255, +252,255,252,255,252,255,249,255,252,255,253,255,252,255,249,255,250,255,252,255,245,255,248,255,248,255,239,255,242,255,238,255,235,255,230,255,235,255,232,255,230,255,228,255,228,255,235,255,226,255,238,255,231,255,227,255,226,255,230,255,230,255,235, +255,230,255,231,255,230,255,239,255,232,255,239,255,237,255,238,255,241,255,238,255,250,255,4,0,3,0,10,0,8,0,7,0,10,0,12,0,17,0,22,0,19,0,19,0,29,0,21,0,26,0,25,0,21,0,24,0,28,0,28,0,33,0,25,0,28,0,24,0,24,0,18,0,14,0,14,0,10,0,6,0,3,0,3,0,3,0,252,255, +250,255,246,255,246,255,248,255,242,255,238,255,241,255,242,255,244,255,242,255,237,255,237,255,230,255,232,255,234,255,228,255,224,255,223,255,226,255,220,255,221,255,226,255,224,255,221,255,219,255,212,255,205,255,208,255,201,255,199,255,198,255,201, +255,192,255,192,255,185,255,188,255,181,255,180,255,177,255,181,255,180,255,184,255,181,255,178,255,195,255,201,255,202,255,195,255,187,255,191,255,199,255,195,255,202,255,203,255,205,255,202,255,208,255,213,255,203,255,210,255,206,255,209,255,209,255, +208,255,203,255,203,255,202,255,212,255,213,255,224,255,227,255,214,255,221,255,219,255,223,255,219,255,212,255,220,255,216,255,219,255,219,255,224,255,228,255,216,255,223,255,220,255,228,255,227,255,230,255,228,255,227,255,224,255,219,255,224,255,223, +255,221,255,226,255,227,255,234,255,239,255,241,255,245,255,249,255,255,255,6,0,255,255,0,0,1,0,253,255,0,0,0,0,4,0,15,0,11,0,7,0,14,0,14,0,24,0,26,0,28,0,18,0,26,0,22,0,21,0,22,0,18,0,22,0,28,0,26,0,25,0,29,0,37,0,37,0,37,0,44,0,40,0,47,0,48,0,55,0, +55,0,55,0,54,0,62,0,62,0,60,0,66,0,68,0,64,0,60,0,65,0,64,0,57,0,60,0,57,0,60,0,64,0,64,0,66,0,73,0,76,0,76,0,75,0,73,0,76,0,75,0,75,0,75,0,73,0,71,0,78,0,72,0,68,0,64,0,64,0,57,0,48,0,47,0,48,0,46,0,46,0,42,0,40,0,42,0,43,0,47,0,47,0,42,0,33,0,30,0, +29,0,32,0,29,0,29,0,29,0,29,0,24,0,28,0,22,0,21,0,19,0,22,0,17,0,19,0,12,0,15,0,10,0,17,0,11,0,7,0,6,0,6,0,6,0,4,0,11,0,10,0,8,0,3,0,255,255,253,255,248,255,249,255,248,255,249,255,246,255,252,255,249,255,245,255,250,255,249,255,246,255,248,255,245,255, +241,255,246,255,248,255,246,255,246,255,252,255,250,255,252,255,252,255,237,255,242,255,235,255,241,255,241,255,239,255,231,255,232,255,234,255,238,255,228,255,231,255,227,255,239,255,242,255,238,255,234,255,230,255,238,255,239,255,234,255,237,255,238, +255,248,255,255,255,248,255,250,255,250,255,3,0,4,0,10,0,3,0,8,0,252,255,7,0,10,0,12,0,11,0,15,0,24,0,19,0,28,0,30,0,32,0,33,0,30,0,25,0,21,0,25,0,25,0,21,0,18,0,18,0,14,0,12,0,21,0,17,0,8,0,7,0,6,0,252,255,250,255,246,255,249,255,252,255,249,255,249, +255,242,255,235,255,238,255,244,255,242,255,241,255,234,255,235,255,232,255,231,255,221,255,214,255,224,255,224,255,223,255,228,255,226,255,227,255,221,255,220,255,226,255,219,255,208,255,206,255,202,255,199,255,195,255,191,255,187,255,187,255,177,255, +180,255,181,255,184,255,185,255,184,255,190,255,195,255,195,255,201,255,203,255,202,255,201,255,199,255,205,255,205,255,209,255,209,255,216,255,216,255,209,255,208,255,214,255,210,255,216,255,214,255,214,255,208,255,210,255,216,255,217,255,221,255,220, +255,223,255,221,255,219,255,221,255,221,255,227,255,214,255,217,255,216,255,216,255,221,255,224,255,226,255,228,255,228,255,226,255,234,255,231,255,220,255,227,255,230,255,230,255,235,255,234,255,235,255,238,255,244,255,238,255,239,255,239,255,245,255, +241,255,246,255,244,255,250,255,253,255,0,0,0,0,253,255,3,0,8,0,6,0,15,0,10,0,12,0,11,0,15,0,11,0,15,0,21,0,24,0,15,0,15,0,18,0,25,0,24,0,30,0,22,0,32,0,28,0,29,0,37,0,36,0,36,0,36,0,35,0,35,0,43,0,43,0,46,0,43,0,43,0,46,0,37,0,44,0,47,0,46,0,48,0,53, +0,53,0,54,0,57,0,53,0,54,0,48,0,53,0,53,0,58,0,51,0,54,0,55,0,55,0,62,0,61,0,61,0,62,0,57,0,55,0,51,0,57,0,50,0,51,0,53,0,51,0,54,0,48,0,48,0,42,0,43,0,46,0,44,0,39,0,32,0,33,0,35,0,32,0,36,0,29,0,28,0,28,0,24,0,28,0,28,0,25,0,24,0,22,0,24,0,17,0,15, +0,17,0,18,0,17,0,8,0,6,0,4,0,4,0,6,0,6,0,12,0,11,0,11,0,6,0,255,255,252,255,246,255,252,255,249,255,239,255,239,255,234,255,244,255,238,255,241,255,242,255,245,255,246,255,244,255,248,255,249,255,245,255,245,255,241,255,242,255,241,255,249,255,250,255, +248,255,248,255,249,255,250,255,246,255,237,255,241,255,239,255,238,255,234,255,238,255,237,255,237,255,238,255,231,255,237,255,231,255,231,255,234,255,235,255,231,255,239,255,244,255,245,255,245,255,246,255,249,255,253,255,249,255,252,255,250,255,1, +0,3,0,252,255,252,255,0,0,1,0,7,0,15,0,15,0,10,0,17,0,17,0,28,0,22,0,30,0,30,0,32,0,37,0,30,0,36,0,30,0,25,0,21,0,18,0,19,0,24,0,24,0,26,0,21,0,25,0,11,0,10,0,8,0,255,255,0,0,253,255,249,255,253,255,246,255,248,255,245,255,237,255,239,255,237,255,234, +255,232,255,239,255,238,255,231,255,234,255,226,255,231,255,231,255,237,255,237,255,234,255,231,255,226,255,210,255,209,255,214,255,213,255,214,255,214,255,217,255,213,255,206,255,201,255,196,255,190,255,183,255,183,255,184,255,187,255,191,255,185,255, +194,255,199,255,202,255,205,255,195,255,202,255,203,255,209,255,208,255,214,255,219,255,223,255,214,255,216,255,210,255,216,255,219,255,219,255,223,255,219,255,223,255,216,255,217,255,220,255,223,255,221,255,221,255,227,255,228,255,217,255,220,255,223, +255,221,255,228,255,226,255,230,255,226,255,232,255,231,255,228,255,238,255,232,255,234,255,238,255,245,255,246,255,249,255,244,255,249,255,245,255,248,255,241,255,245,255,248,255,248,255,249,255,246,255,248,255,246,255,249,255,252,255,245,255,3,0,255, +255,0,0,255,255,1,0,4,0,4,0,4,0,6,0,7,0,6,0,8,0,18,0,21,0,24,0,19,0,26,0,22,0,15,0,22,0,22,0,19,0,25,0,25,0,36,0,26,0,22,0,24,0,30,0,22,0,32,0,30,0,35,0,32,0,39,0,36,0,35,0,39,0,46,0,43,0,43,0,46,0,43,0,46,0,53,0,48,0,48,0,58,0,60,0,50,0,50,0,50,0,55, +0,53,0,44,0,46,0,50,0,60,0,62,0,60,0,60,0,61,0,53,0,48,0,48,0,50,0,48,0,46,0,48,0,50,0,48,0,50,0,47,0,44,0,43,0,39,0,32,0,36,0,26,0,29,0,25,0,21,0,17,0,21,0,18,0,26,0,19,0,18,0,15,0,18,0,17,0,15,0,12,0,11,0,10,0,14,0,15,0,11,0,15,0,19,0,12,0,7,0,4,0, +1,0,8,0,8,0,8,0,3,0,4,0,253,255,250,255,246,255,252,255,248,255,244,255,238,255,238,255,235,255,232,255,235,255,237,255,237,255,231,255,234,255,239,255,238,255,249,255,252,255,252,255,0,0,250,255,255,255,0,0,1,0,252,255,248,255,241,255,238,255,237,255, +235,255,230,255,237,255,237,255,239,255,241,255,237,255,237,255,226,255,234,255,234,255,238,255,238,255,242,255,239,255,241,255,246,255,244,255,244,255,249,255,0,0,248,255,3,0,3,0,7,0,8,0,7,0,10,0,0,0,4,0,8,0,6,0,7,0,12,0,15,0,24,0,19,0,22,0,24,0,22, +0,25,0,26,0,22,0,24,0,25,0,28,0,22,0,18,0,18,0,11,0,15,0,21,0,21,0,18,0,15,0,8,0,12,0,4,0,7,0,10,0,1,0,250,255,246,255,244,255,235,255,235,255,235,255,232,255,239,255,234,255,231,255,239,255,248,255,241,255,241,255,238,255,230,255,227,255,226,255,217, +255,223,255,220,255,223,255,221,255,216,255,212,255,209,255,199,255,199,255,205,255,206,255,202,255,201,255,212,255,205,255,202,255,203,255,205,255,210,255,208,255,206,255,208,255,208,255,209,255,203,255,206,255,213,255,208,255,212,255,214,255,213,255, +217,255,214,255,220,255,213,255,214,255,213,255,219,255,221,255,220,255,223,255,230,255,224,255,224,255,231,255,230,255,226,255,230,255,227,255,234,255,231,255,230,255,235,255,228,255,224,255,227,255,231,255,231,255,232,255,234,255,238,255,241,255,231, +255,231,255,235,255,242,255,237,255,238,255,241,255,248,255,246,255,244,255,250,255,249,255,248,255,248,255,245,255,250,255,253,255,246,255,1,0,0,0,255,255,253,255,248,255,245,255,249,255,250,255,248,255,248,255,255,255,255,255,4,0,1,0,6,0,8,0,8,0,10, +0,10,0,12,0,18,0,25,0,26,0,22,0,30,0,25,0,28,0,24,0,28,0,29,0,33,0,28,0,29,0,32,0,22,0,25,0,33,0,32,0,35,0,37,0,36,0,29,0,28,0,28,0,32,0,37,0,37,0,43,0,43,0,48,0,46,0,44,0,36,0,33,0,32,0,33,0,36,0,46,0,42,0,47,0,48,0,48,0,46,0,36,0,42,0,32,0,37,0,33, +0,29,0,40,0,39,0,39,0,33,0,37,0,36,0,32,0,30,0,28,0,28,0,29,0,29,0,25,0,18,0,14,0,15,0,18,0,17,0,10,0,15,0,8,0,4,0,17,0,12,0,19,0,15,0,11,0,17,0,14,0,19,0,17,0,14,0,7,0,8,0,14,0,10,0,12,0,14,0,11,0,8,0,11,0,0,0,4,0,248,255,245,255,241,255,238,255,239, +255,238,255,237,255,245,255,246,255,238,255,238,255,238,255,241,255,242,255,244,255,250,255,0,0,246,255,1,0,252,255,0,0,253,255,252,255,255,255,255,255,252,255,248,255,250,255,250,255,246,255,250,255,244,255,244,255,245,255,242,255,237,255,234,255,241, +255,239,255,239,255,239,255,239,255,237,255,249,255,248,255,255,255,248,255,249,255,244,255,249,255,252,255,252,255,0,0,3,0,7,0,4,0,7,0,14,0,8,0,14,0,18,0,12,0,15,0,17,0,26,0,19,0,19,0,19,0,24,0,22,0,25,0,32,0,26,0,30,0,24,0,22,0,22,0,19,0,22,0,22,0, +18,0,18,0,25,0,12,0,7,0,10,0,11,0,11,0,7,0,255,255,252,255,253,255,250,255,250,255,245,255,244,255,245,255,244,255,242,255,237,255,241,255,231,255,235,255,230,255,221,255,224,255,223,255,224,255,232,255,227,255,221,255,217,255,219,255,213,255,221,255, +214,255,216,255,210,255,210,255,202,255,202,255,196,255,202,255,209,255,210,255,210,255,217,255,214,255,219,255,212,255,213,255,213,255,214,255,214,255,209,255,209,255,209,255,212,255,210,255,216,255,216,255,216,255,217,255,227,255,226,255,228,255,228, +255,221,255,224,255,227,255,235,255,228,255,238,255,237,255,231,255,237,255,241,255,242,255,235,255,235,255,238,255,244,255,235,255,242,255,242,255,241,255,242,255,239,255,245,255,246,255,250,255,244,255,244,255,245,255,244,255,239,255,242,255,239,255, +245,255,246,255,245,255,252,255,255,255,253,255,0,0,3,0,6,0,8,0,3,0,0,0,252,255,0,0,255,255,255,255,252,255,253,255,253,255,252,255,246,255,248,255,0,0,253,255,0,0,0,0,255,255,253,255,252,255,1,0,8,0,18,0,22,0,22,0,24,0,26,0,18,0,26,0,24,0,19,0,19,0, +18,0,19,0,15,0,18,0,28,0,22,0,22,0,17,0,25,0,30,0,33,0,29,0,24,0,32,0,35,0,35,0,36,0,35,0,33,0,35,0,48,0,37,0,35,0,32,0,39,0,43,0,37,0,40,0,39,0,40,0,39,0,43,0,37,0,30,0,33,0,35,0,33,0,26,0,29,0,30,0,33,0,35,0,32,0,33,0,24,0,19,0,25,0,21,0,17,0,12,0, +4,0,14,0,11,0,10,0,12,0,15,0,11,0,8,0,4,0,3,0,6,0,6,0,10,0,6,0,6,0,10,0,4,0,3,0,8,0,3,0,6,0,1,0,3,0,0,0,253,255,253,255,4,0,7,0,6,0,7,0,4,0,0,0,0,0,248,255,245,255,242,255,235,255,239,255,239,255,238,255,241,255,237,255,232,255,231,255,241,255,234,255, +252,255,252,255,252,255,249,255,248,255,252,255,253,255,0,0,1,0,252,255,3,0,4,0,1,0,250,255,253,255,252,255,250,255,248,255,242,255,246,255,249,255,249,255,248,255,248,255,245,255,248,255,245,255,252,255,244,255,242,255,241,255,245,255,3,0,252,255,3, +0,4,0,0,0,255,255,255,255,0,0,11,0,18,0,17,0,15,0,17,0,17,0,22,0,29,0,22,0,24,0,22,0,26,0,30,0,33,0,35,0,35,0,39,0,32,0,32,0,32,0,25,0,22,0,21,0,17,0,15,0,14,0,11,0,12,0,11,0,7,0,14,0,14,0,8,0,255,255,1,0,1,0,252,255,249,255,248,255,246,255,242,255,238, +255,242,255,242,255,242,255,232,255,235,255,235,255,235,255,234,255,237,255,234,255,239,255,228,255,226,255,227,255,223,255,220,255,221,255,216,255,212,255,212,255,220,255,216,255,223,255,221,255,212,255,210,255,208,255,212,255,213,255,213,255,217,255, +214,255,212,255,210,255,224,255,226,255,224,255,221,255,221,255,219,255,220,255,226,255,214,255,219,255,223,255,226,255,223,255,227,255,220,255,226,255,227,255,232,255,235,255,237,255,235,255,239,255,238,255,242,255,244,255,245,255,248,255,252,255,249, +255,0,0,1,0,1,0,252,255,255,255,250,255,244,255,245,255,248,255,245,255,244,255,246,255,245,255,246,255,246,255,248,255,246,255,249,255,245,255,242,255,245,255,250,255,255,255,252,255,255,255,3,0,252,255,249,255,252,255,4,0,7,0,4,0,0,0,0,0,0,0,253,255, +0,0,253,255,250,255,4,0,255,255,4,0,4,0,1,0,8,0,3,0,0,0,0,0,6,0,3,0,6,0,1,0,17,0,18,0,26,0,21,0,24,0,25,0,24,0,22,0,22,0,22,0,19,0,18,0,22,0,22,0,28,0,25,0,22,0,25,0,25,0,18,0,24,0,21,0,21,0,30,0,30,0,29,0,33,0,42,0,37,0,42,0,37,0,36,0,40,0,39,0,43,0, +37,0,35,0,37,0,24,0,25,0,25,0,25,0,22,0,19,0,25,0,26,0,19,0,17,0,21,0,17,0,15,0,11,0,19,0,19,0,19,0,15,0,17,0,12,0,15,0,15,0,19,0,12,0,6,0,1,0,252,255,0,0,7,0,1,0,3,0,8,0,6,0,7,0,1,0,14,0,14,0,6,0,8,0,8,0,1,0,3,0,255,255,252,255,252,255,250,255,255,255, +250,255,253,255,0,0,6,0,0,0,249,255,255,255,255,255,249,255,250,255,244,255,248,255,245,255,239,255,231,255,232,255,237,255,241,255,244,255,252,255,248,255,245,255,239,255,245,255,241,255,250,255,250,255,1,0,246,255,255,255,255,255,255,255,255,255,253, +255,250,255,255,255,1,0,253,255,250,255,248,255,246,255,246,255,246,255,252,255,249,255,252,255,250,255,255,255,249,255,250,255,250,255,249,255,248,255,252,255,249,255,6,0,3,0,11,0,8,0,15,0,17,0,14,0,17,0,17,0,21,0,26,0,26,0,29,0,29,0,29,0,24,0,19,0, +17,0,19,0,19,0,14,0,21,0,19,0,24,0,19,0,21,0,21,0,19,0,14,0,21,0,6,0,10,0,15,0,6,0,3,0,4,0,3,0,4,0,255,255,253,255,245,255,244,255,244,255,241,255,241,255,238,255,245,255,241,255,238,255,235,255,235,255,232,255,232,255,231,255,232,255,235,255,235,255, +231,255,228,255,221,255,221,255,223,255,223,255,230,255,213,255,213,255,216,255,210,255,208,255,203,255,212,255,212,255,206,255,210,255,212,255,208,255,216,255,210,255,209,255,213,255,206,255,213,255,223,255,221,255,227,255,230,255,232,255,228,255,226, +255,230,255,224,255,226,255,224,255,226,255,230,255,234,255,228,255,230,255,232,255,231,255,227,255,232,255,235,255,239,255,244,255,237,255,252,255,249,255,249,255,250,255,252,255,252,255,0,0,248,255,255,255,252,255,250,255,3,0,1,0,252,255,248,255,246, +255,245,255,245,255,245,255,246,255,242,255,249,255,249,255,245,255,250,255,249,255,252,255,253,255,1,0,1,0,4,0,0,0,3,0,6,0,3,0,8,0,7,0,7,0,250,255,4,0,252,255,246,255,253,255,252,255,3,0,4,0,250,255,249,255,239,255,250,255,249,255,4,0,0,0,11,0,11,0, +15,0,17,0,21,0,14,0,17,0,21,0,21,0,25,0,22,0,22,0,28,0,35,0,25,0,26,0,24,0,26,0,25,0,24,0,18,0,26,0,24,0,26,0,28,0,19,0,29,0,30,0,25,0,26,0,35,0,35,0,28,0,22,0,28,0,28,0,33,0,30,0,30,0,37,0,37,0,39,0,28,0,22,0,19,0,18,0,10,0,12,0,14,0,15,0,11,0,12,0, +14,0,17,0,8,0,8,0,8,0,10,0,19,0,4,0,6,0,8,0,11,0,8,0,6,0,6,0,8,0,1,0,252,255,253,255,1,0,253,255,1,0,1,0,8,0,7,0,7,0,7,0,4,0,6,0,255,255,252,255,253,255,255,255,252,255,250,255,6,0,6,0,0,0,6,0,3,0,0,0,249,255,249,255,255,255,246,255,249,255,250,255,248, +255,244,255,245,255,249,255,244,255,252,255,245,255,244,255,242,255,245,255,237,255,237,255,244,255,244,255,250,255,255,255,1,0,253,255,255,255,255,255,6,0,4,0,4,0,253,255,255,255,0,0,1,0,252,255,241,255,250,255,252,255,255,255,0,0,255,255,1,0,253,255, +244,255,245,255,239,255,244,255,248,255,3,0,8,0,7,0,11,0,3,0,10,0,14,0,14,0,14,0,15,0,22,0,26,0,24,0,26,0,26,0,22,0,26,0,32,0,33,0,33,0,33,0,29,0,30,0,30,0,36,0,29,0,21,0,19,0,18,0,19,0,21,0,17,0,17,0,18,0,12,0,7,0,4,0,1,0,252,255,255,255,4,0,3,0,248, +255,242,255,242,255,238,255,241,255,238,255,239,255,237,255,239,255,241,255,235,255,232,255,231,255,230,255,234,255,231,255,232,255,230,255,234,255,235,255,234,255,227,255,230,255,231,255,220,255,217,255,210,255,213,255,217,255,217,255,219,255,220,255, +219,255,226,255,223,255,212,255,220,255,220,255,220,255,210,255,223,255,230,255,224,255,227,255,231,255,231,255,231,255,234,255,226,255,232,255,237,255,241,255,235,255,232,255,231,255,232,255,237,255,235,255,234,255,0,0 }; + +const char* cello_wav = (const char*) temp_binary_data_1; + +//================== guitar_amp.wav ================== +static const unsigned char temp_binary_data_2[] = +{ 82,73,70,70,126,96,1,0,87,65,86,69,102,109,116,32,16,0,0,0,1,0,1,0,68,172,0,0,136,88,1,0,2,0,16,0,100,97,116,97,90,96,1,0,127,21,151,64,230,104,184,126,225,120,232,97,57,69,88,45,227,27,38,18,220,11,103,5,176,2,232,5,154,10,167,9,251,255,163,236,190, +216,29,207,223,212,251,228,199,245,24,253,183,247,114,235,241,226,23,226,178,230,237,235,94,238,102,239,122,239,119,237,243,231,233,223,35,216,224,212,156,214,186,218,111,224,177,230,45,236,78,241,140,243,206,241,67,238,53,235,88,235,105,239,7,244,209, +244,87,242,46,238,65,235,54,236,48,240,217,244,177,247,106,247,171,244,109,241,181,238,58,237,21,237,175,237,67,238,132,238,51,239,136,241,189,244,136,246,201,245,193,243,105,242,110,242,174,243,15,245,144,245,117,245,172,245,12,247,51,250,200,253,107, +255,104,254,24,252,134,250,247,250,172,253,146,1,180,4,188,5,159,4,174,2,111,1,219,0,197,0,166,1,126,3,250,5,149,8,91,10,133,10,9,9,149,6,115,4,190,3,109,4,145,5,34,6,252,5,32,6,181,7,244,10,1,15,119,18,81,20,177,20,30,20,160,18,163,16,0,15,224,13,8, +13,76,12,197,11,166,11,185,11,94,11,40,10,52,8,63,6,61,5,136,5,247,6,1,9,206,10,213,11,104,12,42,13,152,14,174,16,197,18,246,19,187,19,34,18,163,15,31,13,91,11,158,10,143,10,118,10,214,9,236,8,47,8,201,7,139,7,4,7,9,6,249,4,57,4,225,3,249,3,134,4,96, +5,59,6,9,7,235,7,209,8,83,9,0,9,204,7,33,6,143,4,151,3,117,3,197,3,206,3,37,3,232,1,124,0,63,255,97,254,223,253,144,253,85,253,12,253,130,252,174,251,198,250,34,250,21,250,205,250,38,252,195,253,81,255,125,0,251,0,204,0,65,0,146,255,197,254,221,253,236, +252,233,251,178,250,88,249,40,248,85,247,234,246,219,246,18,247,118,247,236,247,81,248,132,248,147,248,172,248,215,248,243,248,238,248,212,248,190,248,187,248,200,248,220,248,254,248,52,249,138,249,232,249,22,250,19,250,5,250,240,249,188,249,95,249,216, +248,56,248,168,247,91,247,129,247,25,248,235,248,190,249,132,250,57,251,206,251,83,252,236,252,143,253,255,253,39,254,41,254,29,254,20,254,34,254,50,254,21,254,201,253,110,253,47,253,27,253,5,253,173,252,28,252,161,251,133,251,206,251,98,252,41,253,252, +253,151,254,206,254,155,254,38,254,199,253,181,253,236,253,100,254,8,255,146,255,203,255,173,255,80,255,241,254,218,254,16,255,130,255,60,0,34,1,206,1,253,1,208,1,134,1,60,1,24,1,91,1,241,1,123,2,208,2,16,3,84,3,174,3,36,4,160,4,23,5,109,5,168,5,14,6, +148,6,230,6,9,7,43,7,66,7,48,7,228,6,90,6,160,5,195,4,234,3,93,3,92,3,235,3,180,4,92,5,183,5,180,5,70,5,141,4,204,3,56,3,239,2,1,3,96,3,220,3,60,4,79,4,253,3,106,3,191,2,34,2,189,1,145,1,124,1,118,1,134,1,136,1,88,1,21,1,229,0,203,0,199,0,214,0,235,0, +249,0,236,0,190,0,140,0,126,0,167,0,236,0,44,1,89,1,127,1,171,1,202,1,195,1,152,1,89,1,23,1,236,0,214,0,187,0,138,0,66,0,235,255,153,255,87,255,33,255,238,254,173,254,89,254,5,254,199,253,176,253,207,253,20,254,95,254,149,254,177,254,193,254,196,254, +163,254,101,254,54,254,33,254,25,254,38,254,79,254,107,254,55,254,158,253,252,252,198,252,1,253,97,253,170,253,189,253,160,253,126,253,120,253,153,253,231,253,69,254,134,254,155,254,153,254,148,254,152,254,159,254,150,254,120,254,89,254,80,254,107,254, +154,254,198,254,221,254,195,254,137,254,94,254,70,254,51,254,42,254,49,254,49,254,26,254,8,254,22,254,53,254,62,254,32,254,226,253,170,253,160,253,205,253,44,254,189,254,80,255,185,255,12,0,72,0,88,0,85,0,74,0,45,0,18,0,11,0,26,0,63,0,106,0,122,0,76, +0,212,255,62,255,212,254,211,254,76,255,26,0,240,0,178,1,125,2,47,3,84,3,155,2,14,1,55,255,230,253,102,253,123,253,243,253,131,254,0,255,123,255,188,255,113,255,188,254,253,253,132,253,144,253,37,254,240,254,189,255,134,0,15,1,48,1,16,1,223,0,209,0,10, +1,82,1,130,1,176,1,205,1,180,1,126,1,97,1,107,1,138,1,174,1,198,1,221,1,13,2,57,2,48,2,0,2,236,1,30,2,112,2,181,2,228,2,252,2,235,2,164,2,74,2,9,2,212,1,144,1,72,1,15,1,247,0,243,0,209,0,128,0,57,0,48,0,84,0,118,0,138,0,148,0,154,0,150,0,132,0,124,0, +144,0,181,0,211,0,225,0,239,0,13,1,46,1,57,1,44,1,13,1,235,0,209,0,188,0,147,0,69,0,220,255,109,255,9,255,200,254,186,254,206,254,243,254,43,255,107,255,160,255,184,255,181,255,178,255,186,255,178,255,144,255,109,255,85,255,73,255,76,255,82,255,86,255, +95,255,102,255,101,255,104,255,115,255,119,255,98,255,56,255,17,255,253,254,246,254,246,254,244,254,229,254,208,254,194,254,197,254,216,254,242,254,253,254,247,254,247,254,16,255,77,255,168,255,1,0,67,0,104,0,106,0,81,0,36,0,229,255,155,255,84,255,27, +255,250,254,247,254,254,254,9,255,32,255,70,255,127,255,205,255,38,0,130,0,203,0,227,0,193,0,119,0,36,0,225,255,179,255,145,255,123,255,113,255,101,255,82,255,62,255,34,255,11,255,17,255,47,255,89,255,136,255,185,255,241,255,44,0,86,0,103,0,97,0,77,0, +57,0,49,0,45,0,29,0,252,255,216,255,199,255,209,255,236,255,10,0,37,0,59,0,79,0,99,0,101,0,69,0,11,0,201,255,152,255,136,255,145,255,154,255,161,255,175,255,196,255,226,255,11,0,56,0,89,0,104,0,103,0,99,0,99,0,96,0,83,0,79,0,95,0,124,0,152,0,169,0,182, +0,195,0,196,0,176,0,144,0,108,0,71,0,42,0,25,0,12,0,253,255,239,255,228,255,218,255,215,255,212,255,198,255,189,255,210,255,254,255,32,0,39,0,29,0,7,0,230,255,196,255,168,255,147,255,136,255,141,255,153,255,164,255,172,255,173,255,164,255,138,255,114, +255,114,255,140,255,176,255,216,255,0,0,42,0,85,0,113,0,117,0,109,0,101,0,105,0,131,0,163,0,188,0,200,0,193,0,178,0,179,0,195,0,205,0,193,0,158,0,117,0,82,0,49,0,14,0,234,255,200,255,182,255,192,255,222,255,245,255,243,255,219,255,193,255,186,255,192, +255,196,255,193,255,175,255,137,255,98,255,77,255,62,255,56,255,73,255,106,255,138,255,162,255,176,255,191,255,217,255,249,255,23,0,51,0,80,0,110,0,137,0,153,0,147,0,116,0,78,0,60,0,71,0,96,0,127,0,159,0,180,0,180,0,170,0,159,0,151,0,152,0,161,0,165, +0,151,0,121,0,85,0,51,0,21,0,255,255,242,255,236,255,237,255,246,255,253,255,242,255,212,255,177,255,157,255,157,255,167,255,179,255,183,255,183,255,183,255,182,255,174,255,156,255,141,255,136,255,132,255,117,255,104,255,101,255,106,255,126,255,165,255, +198,255,210,255,206,255,195,255,193,255,213,255,246,255,17,0,33,0,43,0,53,0,63,0,74,0,79,0,67,0,37,0,11,0,7,0,24,0,43,0,52,0,44,0,25,0,10,0,12,0,30,0,51,0,65,0,66,0,54,0,37,0,26,0,18,0,253,255,217,255,178,255,157,255,152,255,151,255,143,255,129,255,114, +255,105,255,104,255,111,255,129,255,151,255,168,255,176,255,171,255,149,255,117,255,93,255,86,255,96,255,113,255,133,255,157,255,194,255,240,255,19,0,36,0,46,0,59,0,73,0,81,0,81,0,72,0,63,0,57,0,53,0,51,0,53,0,52,0,45,0,30,0,10,0,246,255,228,255,210, +255,206,255,227,255,13,0,53,0,80,0,94,0,96,0,86,0,66,0,33,0,249,255,216,255,190,255,174,255,171,255,177,255,191,255,220,255,4,0,46,0,82,0,107,0,116,0,107,0,83,0,55,0,37,0,15,0,238,255,222,255,241,255,23,0,61,0,86,0,94,0,88,0,77,0,72,0,75,0,66,0,36,0, +9,0,10,0,40,0,81,0,115,0,121,0,82,0,24,0,234,255,209,255,200,255,217,255,249,255,0,0,227,255,196,255,191,255,207,255,227,255,244,255,5,0,27,0,47,0,52,0,43,0,26,0,255,255,224,255,209,255,220,255,2,0,50,0,90,0,125,0,164,0,185,0,173,0,148,0,121,0,90,0,58, +0,25,0,1,0,237,255,231,255,228,255,226,255,218,255,204,255,204,255,221,255,241,255,254,255,6,0,255,255,239,255,224,255,227,255,239,255,246,255,243,255,242,255,242,255,238,255,229,255,218,255,201,255,188,255,185,255,183,255,174,255,162,255,157,255,172, +255,206,255,243,255,12,0,27,0,54,0,106,0,161,0,200,0,216,0,214,0,206,0,199,0,177,0,126,0,41,0,192,255,89,255,12,255,225,254,219,254,245,254,37,255,113,255,212,255,51,0,116,0,147,0,159,0,176,0,197,0,218,0,237,0,245,0,226,0,169,0,85,0,245,255,135,255,15, +255,163,254,102,254,118,254,205,254,54,255,142,255,208,255,248,255,15,0,31,0,32,0,21,0,11,0,5,0,5,0,15,0,18,0,249,255,194,255,131,255,85,255,61,255,49,255,49,255,66,255,95,255,130,255,175,255,227,255,14,0,39,0,47,0,48,0,52,0,55,0,45,0,35,0,43,0,60,0, +61,0,31,0,228,255,169,255,137,255,137,255,160,255,189,255,222,255,10,0,65,0,132,0,192,0,215,0,186,0,122,0,57,0,8,0,232,255,211,255,196,255,193,255,205,255,221,255,230,255,224,255,201,255,177,255,169,255,171,255,175,255,181,255,190,255,204,255,231,255, +7,0,23,0,16,0,253,255,238,255,236,255,235,255,223,255,208,255,205,255,218,255,239,255,1,0,5,0,242,255,205,255,169,255,151,255,156,255,172,255,183,255,197,255,216,255,231,255,232,255,215,255,182,255,147,255,131,255,149,255,200,255,11,0,74,0,124,0,157, +0,181,0,197,0,192,0,164,0,129,0,103,0,96,0,103,0,112,0,116,0,118,0,119,0,122,0,129,0,133,0,128,0,114,0,99,0,95,0,105,0,121,0,136,0,146,0,150,0,142,0,120,0,90,0,55,0,16,0,235,255,210,255,201,255,208,255,227,255,251,255,15,0,33,0,53,0,74,0,94,0,109,0,116, +0,113,0,103,0,84,0,62,0,43,0,29,0,14,0,3,0,2,0,11,0,23,0,29,0,32,0,36,0,42,0,39,0,28,0,11,0,253,255,246,255,243,255,243,255,248,255,0,0,0,0,247,255,238,255,232,255,222,255,210,255,202,255,205,255,220,255,245,255,20,0,47,0,57,0,49,0,30,0,5,0,225,255,186, +255,154,255,137,255,132,255,133,255,139,255,139,255,132,255,127,255,133,255,144,255,152,255,154,255,160,255,171,255,185,255,193,255,196,255,202,255,210,255,212,255,211,255,212,255,213,255,212,255,208,255,204,255,206,255,215,255,226,255,237,255,247,255, +251,255,247,255,240,255,235,255,237,255,247,255,6,0,27,0,47,0,53,0,47,0,38,0,28,0,23,0,26,0,35,0,43,0,43,0,35,0,30,0,27,0,10,0,232,255,192,255,156,255,128,255,114,255,108,255,98,255,80,255,61,255,51,255,55,255,71,255,90,255,105,255,112,255,111,255,105, +255,102,255,105,255,112,255,125,255,148,255,181,255,209,255,221,255,217,255,204,255,194,255,196,255,211,255,237,255,13,0,45,0,71,0,94,0,110,0,110,0,100,0,85,0,69,0,57,0,55,0,62,0,72,0,78,0,81,0,86,0,95,0,107,0,119,0,123,0,115,0,98,0,75,0,52,0,38,0,37, +0,46,0,60,0,78,0,99,0,110,0,102,0,77,0,50,0,30,0,18,0,10,0,11,0,21,0,37,0,51,0,59,0,60,0,53,0,46,0,45,0,58,0,83,0,102,0,105,0,98,0,90,0,85,0,83,0,77,0,70,0,64,0,58,0,55,0,57,0,59,0,56,0,47,0,44,0,60,0,93,0,122,0,132,0,116,0,86,0,54,0,26,0,4,0,250,255, +252,255,3,0,13,0,29,0,51,0,66,0,62,0,47,0,29,0,10,0,0,0,1,0,8,0,14,0,18,0,22,0,29,0,32,0,23,0,8,0,255,255,245,255,225,255,201,255,186,255,183,255,190,255,197,255,200,255,208,255,222,255,239,255,255,255,12,0,21,0,21,0,12,0,254,255,242,255,238,255,241, +255,246,255,250,255,249,255,242,255,229,255,213,255,199,255,194,255,199,255,212,255,231,255,250,255,7,0,12,0,11,0,3,0,241,255,223,255,218,255,220,255,213,255,196,255,178,255,167,255,168,255,179,255,194,255,212,255,225,255,223,255,209,255,190,255,167, +255,137,255,105,255,86,255,86,255,100,255,121,255,142,255,157,255,165,255,174,255,189,255,206,255,216,255,219,255,214,255,197,255,174,255,148,255,128,255,125,255,138,255,156,255,175,255,194,255,211,255,221,255,226,255,234,255,240,255,240,255,240,255, +250,255,15,0,41,0,66,0,85,0,95,0,97,0,94,0,87,0,73,0,49,0,20,0,254,255,245,255,245,255,249,255,0,0,9,0,17,0,29,0,46,0,56,0,54,0,49,0,51,0,55,0,51,0,42,0,37,0,31,0,20,0,10,0,6,0,4,0,3,0,6,0,18,0,27,0,25,0,12,0,255,255,248,255,248,255,249,255,253,255,3, +0,3,0,253,255,247,255,243,255,244,255,249,255,249,255,244,255,241,255,248,255,11,0,34,0,55,0,65,0,67,0,70,0,73,0,72,0,71,0,67,0,59,0,51,0,52,0,60,0,68,0,75,0,82,0,85,0,81,0,74,0,73,0,77,0,84,0,90,0,99,0,107,0,108,0,97,0,77,0,55,0,36,0,24,0,25,0,35,0, +50,0,65,0,76,0,80,0,78,0,61,0,31,0,0,0,236,255,231,255,235,255,241,255,246,255,254,255,8,0,15,0,16,0,20,0,29,0,36,0,30,0,12,0,247,255,229,255,219,255,219,255,230,255,249,255,13,0,28,0,37,0,42,0,44,0,43,0,34,0,17,0,251,255,235,255,227,255,221,255,218, +255,213,255,205,255,193,255,183,255,177,255,175,255,172,255,160,255,140,255,123,255,116,255,115,255,116,255,120,255,124,255,128,255,133,255,140,255,144,255,143,255,141,255,139,255,139,255,141,255,146,255,154,255,168,255,186,255,200,255,203,255,198,255, +190,255,181,255,173,255,169,255,165,255,162,255,162,255,165,255,171,255,180,255,189,255,195,255,204,255,220,255,236,255,246,255,251,255,255,255,2,0,7,0,16,0,27,0,31,0,23,0,7,0,243,255,221,255,197,255,180,255,177,255,185,255,201,255,224,255,253,255,25, +0,44,0,53,0,57,0,59,0,63,0,67,0,72,0,77,0,78,0,67,0,49,0,34,0,31,0,37,0,46,0,60,0,78,0,93,0,106,0,119,0,136,0,158,0,179,0,192,0,197,0,195,0,185,0,162,0,132,0,105,0,84,0,73,0,68,0,68,0,65,0,59,0,54,0,50,0,45,0,35,0,29,0,35,0,49,0,62,0,69,0,75,0,81,0,82, +0,76,0,67,0,61,0,59,0,57,0,55,0,45,0,23,0,249,255,225,255,218,255,227,255,242,255,1,0,11,0,15,0,11,0,0,0,241,255,222,255,203,255,194,255,194,255,198,255,203,255,206,255,205,255,204,255,212,255,230,255,249,255,0,0,251,255,239,255,227,255,219,255,216,255, +218,255,223,255,233,255,245,255,252,255,251,255,239,255,218,255,199,255,191,255,199,255,219,255,244,255,8,0,18,0,18,0,13,0,4,0,247,255,232,255,221,255,216,255,215,255,220,255,230,255,238,255,239,255,241,255,245,255,242,255,233,255,222,255,217,255,217, +255,221,255,225,255,225,255,225,255,224,255,223,255,223,255,222,255,215,255,204,255,193,255,184,255,174,255,164,255,154,255,150,255,152,255,159,255,169,255,179,255,185,255,187,255,185,255,188,255,197,255,209,255,219,255,226,255,226,255,221,255,214,255, +208,255,208,255,210,255,207,255,199,255,193,255,192,255,196,255,207,255,219,255,231,255,247,255,13,0,35,0,53,0,61,0,59,0,50,0,39,0,30,0,27,0,31,0,39,0,44,0,43,0,39,0,39,0,42,0,44,0,44,0,47,0,51,0,48,0,34,0,14,0,252,255,239,255,228,255,222,255,226,255, +237,255,248,255,253,255,252,255,249,255,243,255,233,255,222,255,221,255,230,255,241,255,252,255,4,0,7,0,6,0,4,0,2,0,3,0,7,0,13,0,18,0,25,0,33,0,40,0,46,0,50,0,54,0,62,0,75,0,90,0,102,0,107,0,109,0,108,0,104,0,100,0,95,0,90,0,87,0,94,0,108,0,122,0,128, +0,125,0,121,0,121,0,120,0,112,0,98,0,81,0,61,0,42,0,28,0,18,0,13,0,12,0,7,0,1,0,255,255,254,255,249,255,248,255,251,255,4,0,13,0,15,0,12,0,8,0,4,0,255,255,249,255,239,255,224,255,208,255,200,255,203,255,214,255,227,255,239,255,247,255,253,255,2,0,4,0, +5,0,255,255,242,255,224,255,208,255,200,255,196,255,194,255,194,255,196,255,194,255,189,255,187,255,192,255,200,255,211,255,222,255,231,255,232,255,227,255,222,255,222,255,223,255,225,255,229,255,230,255,227,255,221,255,213,255,205,255,199,255,191,255, +179,255,166,255,158,255,160,255,168,255,178,255,191,255,208,255,225,255,240,255,250,255,2,0,9,0,16,0,16,0,9,0,255,255,246,255,236,255,223,255,210,255,199,255,190,255,181,255,178,255,184,255,193,255,199,255,203,255,206,255,212,255,220,255,228,255,234, +255,237,255,235,255,229,255,220,255,208,255,199,255,200,255,208,255,216,255,225,255,235,255,245,255,251,255,255,255,7,0,20,0,36,0,57,0,76,0,88,0,87,0,77,0,62,0,47,0,32,0,15,0,0,0,244,255,234,255,231,255,236,255,247,255,6,0,29,0,54,0,75,0,87,0,88,0,84, +0,75,0,58,0,34,0,9,0,245,255,232,255,227,255,228,255,228,255,225,255,220,255,217,255,220,255,225,255,230,255,235,255,242,255,248,255,254,255,6,0,18,0,33,0,48,0,60,0,69,0,77,0,80,0,81,0,82,0,88,0,98,0,110,0,123,0,131,0,132,0,124,0,109,0,90,0,71,0,57,0, +50,0,47,0,47,0,46,0,42,0,37,0,32,0,29,0,29,0,29,0,30,0,32,0,32,0,31,0,31,0,31,0,33,0,35,0,34,0,32,0,25,0,11,0,249,255,232,255,222,255,218,255,221,255,226,255,236,255,251,255,14,0,34,0,53,0,70,0,77,0,71,0,55,0,37,0,21,0,8,0,255,255,252,255,3,0,16,0,27, +0,31,0,28,0,23,0,23,0,28,0,34,0,33,0,21,0,1,0,236,255,224,255,223,255,222,255,215,255,207,255,207,255,209,255,208,255,204,255,202,255,198,255,189,255,183,255,186,255,189,255,186,255,179,255,176,255,175,255,174,255,179,255,196,255,217,255,229,255,231, +255,227,255,221,255,214,255,211,255,216,255,224,255,227,255,222,255,210,255,194,255,180,255,172,255,170,255,170,255,175,255,186,255,199,255,211,255,218,255,219,255,216,255,211,255,205,255,200,255,196,255,190,255,181,255,171,255,166,255,168,255,174,255, +183,255,191,255,200,255,209,255,215,255,217,255,216,255,214,255,212,255,212,255,213,255,215,255,216,255,212,255,205,255,193,255,180,255,171,255,171,255,176,255,183,255,191,255,208,255,232,255,3,0,22,0,29,0,24,0,11,0,250,255,238,255,234,255,238,255,249, +255,6,0,17,0,27,0,33,0,33,0,30,0,27,0,23,0,20,0,19,0,26,0,36,0,47,0,55,0,61,0,66,0,68,0,65,0,58,0,54,0,52,0,50,0,45,0,42,0,43,0,48,0,57,0,69,0,81,0,91,0,101,0,112,0,120,0,119,0,109,0,94,0,83,0,77,0,72,0,66,0,58,0,51,0,47,0,46,0,49,0,57,0,67,0,80,0,94, +0,106,0,113,0,112,0,101,0,80,0,55,0,29,0,9,0,253,255,251,255,0,0,9,0,20,0,28,0,33,0,36,0,35,0,31,0,24,0,15,0,5,0,0,0,1,0,3,0,0,0,248,255,239,255,232,255,229,255,229,255,234,255,243,255,250,255,253,255,254,255,253,255,248,255,243,255,243,255,247,255,254, +255,4,0,7,0,4,0,253,255,246,255,241,255,238,255,236,255,230,255,223,255,220,255,219,255,220,255,225,255,234,255,245,255,253,255,3,0,5,0,2,0,251,255,242,255,236,255,234,255,236,255,242,255,252,255,6,0,15,0,24,0,34,0,41,0,42,0,40,0,38,0,38,0,35,0,28,0, +19,0,15,0,15,0,18,0,22,0,23,0,18,0,10,0,3,0,252,255,243,255,231,255,221,255,216,255,218,255,224,255,234,255,242,255,245,255,244,255,240,255,236,255,235,255,231,255,223,255,217,255,214,255,217,255,223,255,231,255,237,255,239,255,233,255,222,255,210,255, +198,255,189,255,186,255,190,255,197,255,204,255,211,255,217,255,219,255,218,255,219,255,221,255,222,255,223,255,223,255,217,255,205,255,191,255,185,255,187,255,196,255,208,255,221,255,233,255,240,255,239,255,235,255,233,255,230,255,227,255,222,255,218, +255,217,255,218,255,220,255,222,255,225,255,225,255,224,255,228,255,238,255,249,255,0,0,255,255,249,255,241,255,235,255,235,255,239,255,244,255,248,255,252,255,0,0,1,0,1,0,254,255,249,255,244,255,242,255,240,255,239,255,237,255,238,255,243,255,250,255, +3,0,9,0,12,0,13,0,14,0,13,0,9,0,3,0,253,255,246,255,242,255,244,255,249,255,0,0,8,0,19,0,27,0,32,0,35,0,40,0,46,0,52,0,54,0,52,0,47,0,42,0,41,0,44,0,47,0,50,0,55,0,61,0,65,0,67,0,67,0,61,0,52,0,46,0,45,0,45,0,44,0,40,0,38,0,38,0,41,0,45,0,47,0,43,0,28, +0,8,0,246,255,235,255,229,255,227,255,226,255,225,255,221,255,218,255,220,255,226,255,235,255,247,255,3,0,11,0,14,0,15,0,10,0,0,0,245,255,236,255,229,255,228,255,235,255,247,255,2,0,8,0,6,0,253,255,247,255,251,255,6,0,18,0,27,0,31,0,29,0,24,0,22,0,25, +0,30,0,33,0,37,0,42,0,46,0,46,0,42,0,34,0,27,0,27,0,32,0,36,0,36,0,28,0,17,0,7,0,0,0,252,255,250,255,251,255,0,0,7,0,14,0,16,0,11,0,1,0,247,255,245,255,250,255,255,255,0,0,255,255,255,255,253,255,251,255,253,255,5,0,17,0,27,0,34,0,40,0,44,0,43,0,34,0, +22,0,10,0,2,0,254,255,252,255,248,255,241,255,234,255,228,255,219,255,207,255,201,255,205,255,214,255,223,255,229,255,230,255,229,255,226,255,223,255,221,255,217,255,209,255,198,255,187,255,178,255,172,255,170,255,172,255,178,255,187,255,198,255,210, +255,223,255,235,255,244,255,250,255,251,255,249,255,248,255,250,255,253,255,254,255,253,255,252,255,254,255,2,0,8,0,15,0,22,0,24,0,20,0,10,0,0,0,250,255,248,255,247,255,243,255,237,255,233,255,231,255,231,255,230,255,226,255,223,255,224,255,225,255,226, +255,225,255,225,255,225,255,225,255,227,255,232,255,241,255,252,255,4,0,9,0,11,0,9,0,2,0,251,255,245,255,242,255,242,255,246,255,255,255,9,0,18,0,24,0,30,0,34,0,34,0,29,0,24,0,22,0,21,0,23,0,28,0,34,0,38,0,37,0,34,0,29,0,23,0,19,0,20,0,25,0,29,0,33,0, +37,0,41,0,41,0,39,0,36,0,35,0,34,0,31,0,26,0,20,0,15,0,14,0,15,0,19,0,22,0,23,0,23,0,22,0,22,0,19,0,13,0,4,0,252,255,246,255,245,255,248,255,252,255,3,0,11,0,17,0,19,0,15,0,8,0,0,0,252,255,252,255,254,255,0,0,255,255,253,255,253,255,255,255,3,0,5,0,6, +0,6,0,2,0,252,255,247,255,246,255,249,255,0,0,7,0,10,0,11,0,10,0,11,0,13,0,15,0,16,0,12,0,6,0,254,255,246,255,238,255,230,255,224,255,222,255,224,255,229,255,235,255,242,255,251,255,4,0,12,0,15,0,15,0,14,0,13,0,8,0,1,0,250,255,244,255,237,255,235,255, +238,255,244,255,252,255,6,0,15,0,22,0,25,0,21,0,11,0,255,255,245,255,237,255,233,255,233,255,234,255,234,255,236,255,243,255,250,255,252,255,252,255,250,255,245,255,237,255,230,255,225,255,223,255,223,255,223,255,226,255,229,255,230,255,227,255,222,255, +219,255,218,255,219,255,224,255,231,255,240,255,247,255,249,255,250,255,250,255,250,255,245,255,236,255,225,255,222,255,226,255,232,255,235,255,239,255,243,255,248,255,253,255,255,255,254,255,248,255,239,255,234,255,235,255,241,255,245,255,247,255,248, +255,249,255,249,255,248,255,247,255,245,255,242,255,240,255,238,255,235,255,231,255,225,255,221,255,222,255,225,255,228,255,234,255,241,255,247,255,253,255,4,0,10,0,13,0,15,0,21,0,27,0,33,0,39,0,43,0,44,0,44,0,45,0,48,0,51,0,53,0,54,0,54,0,52,0,50,0, +47,0,44,0,44,0,46,0,45,0,40,0,30,0,18,0,9,0,7,0,8,0,10,0,9,0,2,0,250,255,248,255,251,255,0,0,2,0,2,0,3,0,7,0,10,0,11,0,7,0,255,255,247,255,244,255,245,255,250,255,1,0,12,0,26,0,38,0,46,0,46,0,40,0,31,0,25,0,27,0,35,0,44,0,50,0,54,0,58,0,60,0,59,0,56, +0,48,0,40,0,32,0,29,0,28,0,31,0,33,0,33,0,32,0,29,0,26,0,21,0,14,0,5,0,252,255,244,255,238,255,233,255,230,255,229,255,227,255,224,255,221,255,217,255,214,255,210,255,204,255,198,255,193,255,190,255,191,255,195,255,198,255,199,255,197,255,195,255,194, +255,196,255,200,255,206,255,214,255,219,255,221,255,222,255,224,255,226,255,229,255,231,255,232,255,232,255,234,255,236,255,237,255,237,255,236,255,231,255,227,255,225,255,226,255,231,255,241,255,1,0,20,0,36,0,44,0,45,0,38,0,26,0,11,0,255,255,246,255, +242,255,242,255,241,255,241,255,241,255,242,255,242,255,242,255,242,255,241,255,240,255,237,255,233,255,229,255,225,255,225,255,226,255,227,255,226,255,224,255,223,255,226,255,231,255,233,255,233,255,235,255,239,255,244,255,250,255,0,0,6,0,9,0,8,0,8, +0,11,0,14,0,17,0,19,0,22,0,26,0,31,0,34,0,36,0,37,0,38,0,39,0,40,0,39,0,35,0,30,0,25,0,18,0,7,0,251,255,240,255,236,255,236,255,238,255,240,255,241,255,245,255,252,255,3,0,6,0,7,0,10,0,17,0,28,0,39,0,45,0,45,0,41,0,38,0,36,0,38,0,38,0,37,0,36,0,36,0, +34,0,32,0,30,0,29,0,31,0,36,0,43,0,49,0,51,0,51,0,49,0,44,0,37,0,28,0,20,0,15,0,15,0,20,0,28,0,34,0,36,0,35,0,30,0,23,0,13,0,0,0,243,255,230,255,221,255,215,255,212,255,214,255,221,255,232,255,246,255,4,0,12,0,14,0,10,0,7,0,7,0,10,0,11,0,11,0,12,0,14, +0,16,0,18,0,16,0,12,0,7,0,2,0,253,255,248,255,245,255,242,255,241,255,244,255,249,255,252,255,253,255,254,255,0,0,0,0,251,255,241,255,231,255,224,255,218,255,214,255,211,255,211,255,215,255,219,255,222,255,222,255,219,255,215,255,213,255,214,255,216, +255,218,255,221,255,225,255,230,255,235,255,240,255,241,255,238,255,234,255,231,255,230,255,227,255,223,255,220,255,220,255,222,255,227,255,233,255,239,255,244,255,248,255,249,255,247,255,242,255,234,255,225,255,217,255,212,255,213,255,220,255,230,255, +238,255,243,255,245,255,242,255,238,255,235,255,232,255,228,255,221,255,214,255,211,255,210,255,212,255,215,255,220,255,224,255,229,255,234,255,239,255,241,255,240,255,237,255,235,255,237,255,243,255,253,255,7,0,14,0,22,0,30,0,37,0,39,0,36,0,30,0,26, +0,28,0,34,0,39,0,42,0,41,0,36,0,29,0,22,0,18,0,16,0,17,0,20,0,22,0,21,0,19,0,18,0,20,0,21,0,19,0,13,0,6,0,2,0,1,0,3,0,6,0,6,0,1,0,250,255,246,255,247,255,252,255,4,0,12,0,20,0,27,0,31,0,35,0,39,0,43,0,46,0,47,0,45,0,42,0,41,0,42,0,44,0,44,0,41,0,38,0, +38,0,42,0,51,0,59,0,62,0,57,0,47,0,37,0,29,0,22,0,17,0,14,0,13,0,12,0,10,0,8,0,5,0,1,0,252,255,246,255,242,255,239,255,238,255,238,255,237,255,239,255,243,255,249,255,255,255,3,0,6,0,8,0,8,0,5,0,255,255,247,255,240,255,237,255,239,255,245,255,0,0,12, +0,24,0,33,0,38,0,37,0,31,0,25,0,21,0,18,0,16,0,17,0,20,0,23,0,24,0,23,0,20,0,18,0,15,0,14,0,14,0,15,0,16,0,17,0,16,0,14,0,11,0,7,0,4,0,1,0,253,255,248,255,242,255,236,255,233,255,232,255,232,255,234,255,236,255,238,255,237,255,232,255,223,255,213,255, +206,255,203,255,203,255,205,255,205,255,203,255,200,255,196,255,194,255,197,255,203,255,212,255,222,255,231,255,239,255,243,255,244,255,241,255,237,255,233,255,227,255,220,255,217,255,218,255,223,255,229,255,234,255,240,255,245,255,247,255,246,255,244, +255,240,255,234,255,227,255,222,255,221,255,221,255,221,255,220,255,222,255,225,255,226,255,222,255,214,255,203,255,192,255,183,255,179,255,181,255,188,255,198,255,210,255,222,255,232,255,239,255,241,255,240,255,237,255,235,255,234,255,235,255,236,255, +239,255,244,255,251,255,3,0,12,0,23,0,35,0,47,0,54,0,54,0,50,0,45,0,44,0,48,0,55,0,60,0,61,0,60,0,56,0,50,0,42,0,36,0,32,0,30,0,28,0,29,0,31,0,33,0,34,0,33,0,28,0,23,0,19,0,17,0,16,0,16,0,14,0,9,0,2,0,251,255,248,255,249,255,255,255,8,0,18,0,26,0,30, +0,32,0,33,0,32,0,30,0,24,0,15,0,8,0,4,0,2,0,2,0,5,0,12,0,21,0,28,0,32,0,34,0,34,0,31,0,26,0,19,0,11,0,6,0,4,0,6,0,11,0,17,0,23,0,27,0,29,0,27,0,20,0,9,0,0,0,250,255,249,255,251,255,1,0,10,0,20,0,30,0,37,0,40,0,38,0,31,0,22,0,12,0,2,0,249,255,242,255, +238,255,237,255,241,255,247,255,255,255,6,0,9,0,9,0,4,0,252,255,242,255,232,255,224,255,219,255,217,255,216,255,215,255,216,255,217,255,219,255,221,255,222,255,224,255,226,255,232,255,240,255,249,255,0,0,4,0,7,0,8,0,7,0,5,0,2,0,253,255,246,255,240,255, +236,255,235,255,237,255,240,255,241,255,241,255,239,255,239,255,241,255,245,255,249,255,251,255,253,255,254,255,0,0,4,0,8,0,11,0,7,0,252,255,236,255,221,255,211,255,207,255,207,255,207,255,208,255,210,255,215,255,223,255,232,255,240,255,245,255,246,255, +243,255,239,255,240,255,241,255,241,255,238,255,235,255,233,255,232,255,232,255,235,255,239,255,242,255,244,255,246,255,252,255,4,0,14,0,23,0,30,0,30,0,27,0,26,0,28,0,31,0,33,0,32,0,28,0,19,0,9,0,0,0,251,255,250,255,251,255,252,255,0,0,9,0,22,0,36,0, +46,0,49,0,46,0,42,0,38,0,36,0,33,0,28,0,23,0,20,0,17,0,16,0,16,0,17,0,19,0,22,0,26,0,30,0,30,0,29,0,27,0,25,0,19,0,11,0,2,0,252,255,251,255,251,255,249,255,246,255,243,255,238,255,236,255,241,255,250,255,5,0,13,0,17,0,20,0,21,0,20,0,17,0,12,0,7,0,3,0, +2,0,4,0,5,0,4,0,3,0,2,0,3,0,6,0,9,0,11,0,12,0,11,0,8,0,3,0,254,255,250,255,247,255,247,255,249,255,252,255,253,255,253,255,253,255,253,255,250,255,244,255,237,255,231,255,226,255,221,255,218,255,217,255,218,255,220,255,222,255,223,255,224,255,224,255, +224,255,224,255,223,255,221,255,220,255,223,255,226,255,230,255,233,255,237,255,240,255,245,255,250,255,254,255,0,0,0,0,255,255,252,255,251,255,252,255,254,255,1,0,5,0,8,0,7,0,3,0,0,0,255,255,1,0,3,0,3,0,1,0,254,255,253,255,254,255,255,255,255,255,251, +255,247,255,245,255,246,255,249,255,252,255,251,255,246,255,242,255,239,255,241,255,243,255,246,255,250,255,1,0,8,0,14,0,17,0,17,0,14,0,11,0,8,0,7,0,7,0,8,0,9,0,9,0,9,0,9,0,8,0,6,0,4,0,2,0,0,0,255,255,253,255,252,255,251,255,253,255,1,0,7,0,13,0,17,0, +17,0,15,0,10,0,2,0,249,255,243,255,243,255,248,255,255,255,8,0,14,0,18,0,18,0,15,0,10,0,3,0,252,255,245,255,241,255,239,255,239,255,240,255,243,255,247,255,250,255,0,0,6,0,10,0,10,0,7,0,4,0,3,0,3,0,6,0,11,0,17,0,23,0,25,0,21,0,13,0,6,0,0,0,250,255,244, +255,241,255,243,255,249,255,3,0,12,0,17,0,18,0,15,0,10,0,4,0,254,255,249,255,246,255,247,255,250,255,253,255,254,255,0,0,1,0,1,0,1,0,0,0,255,255,0,0,2,0,4,0,6,0,8,0,9,0,9,0,9,0,11,0,14,0,17,0,21,0,25,0,28,0,28,0,26,0,23,0,19,0,16,0,14,0,15,0,16,0,16, +0,16,0,17,0,19,0,21,0,22,0,22,0,22,0,20,0,14,0,7,0,255,255,249,255,245,255,243,255,242,255,241,255,240,255,239,255,238,255,239,255,239,255,240,255,240,255,241,255,244,255,247,255,250,255,250,255,248,255,243,255,237,255,232,255,230,255,233,255,236,255, +241,255,247,255,252,255,255,255,254,255,249,255,243,255,236,255,231,255,229,255,230,255,233,255,234,255,236,255,240,255,242,255,243,255,243,255,241,255,239,255,238,255,238,255,237,255,235,255,231,255,229,255,229,255,232,255,237,255,240,255,243,255,244, +255,245,255,248,255,251,255,252,255,252,255,250,255,250,255,250,255,252,255,255,255,4,0,8,0,11,0,13,0,13,0,12,0,9,0,5,0,3,0,1,0,255,255,254,255,255,255,1,0,3,0,4,0,3,0,0,0,251,255,245,255,241,255,240,255,240,255,241,255,243,255,246,255,249,255,251,255, +252,255,252,255,249,255,246,255,244,255,242,255,242,255,243,255,246,255,249,255,252,255,254,255,1,0,7,0,13,0,19,0,25,0,30,0,31,0,30,0,27,0,25,0,25,0,28,0,33,0,37,0,39,0,38,0,35,0,33,0,30,0,26,0,25,0,27,0,31,0,35,0,37,0,36,0,32,0,26,0,19,0,12,0,6,0,3, +0,2,0,255,255,250,255,241,255,230,255,220,255,214,255,214,255,218,255,223,255,227,255,231,255,232,255,232,255,234,255,237,255,240,255,243,255,245,255,245,255,242,255,238,255,234,255,233,255,235,255,242,255,252,255,7,0,18,0,25,0,27,0,25,0,21,0,18,0,18, +0,20,0,23,0,25,0,27,0,29,0,28,0,26,0,24,0,25,0,26,0,26,0,24,0,22,0,16,0,10,0,5,0,3,0,4,0,6,0,6,0,5,0,2,0,253,255,247,255,242,255,238,255,236,255,236,255,235,255,233,255,228,255,224,255,222,255,222,255,223,255,226,255,230,255,235,255,240,255,244,255,248, +255,248,255,248,255,246,255,247,255,248,255,250,255,251,255,254,255,1,0,4,0,7,0,9,0,10,0,10,0,10,0,12,0,16,0,22,0,25,0,25,0,21,0,17,0,13,0,11,0,9,0,7,0,6,0,4,0,4,0,4,0,2,0,255,255,251,255,248,255,247,255,249,255,253,255,0,0,4,0,7,0,7,0,6,0,5,0,7,0,8, +0,8,0,9,0,10,0,10,0,9,0,7,0,6,0,7,0,7,0,7,0,7,0,4,0,1,0,253,255,250,255,248,255,248,255,249,255,251,255,255,255,2,0,1,0,253,255,246,255,241,255,237,255,235,255,234,255,233,255,230,255,226,255,223,255,223,255,225,255,225,255,224,255,222,255,221,255,220, +255,219,255,217,255,214,255,213,255,214,255,219,255,227,255,234,255,238,255,239,255,239,255,238,255,237,255,234,255,232,255,234,255,239,255,244,255,249,255,251,255,253,255,255,255,1,0,3,0,5,0,8,0,12,0,15,0,16,0,15,0,14,0,12,0,12,0,14,0,16,0,18,0,18,0, +18,0,16,0,15,0,14,0,12,0,10,0,7,0,5,0,4,0,6,0,10,0,14,0,17,0,20,0,21,0,22,0,20,0,18,0,14,0,9,0,4,0,0,0,0,0,1,0,2,0,3,0,3,0,2,0,0,0,254,255,253,255,253,255,254,255,255,255,0,0,1,0,2,0,2,0,4,0,5,0,7,0,7,0,7,0,8,0,13,0,21,0,28,0,31,0,30,0,27,0,24,0,22,0, +21,0,20,0,20,0,19,0,16,0,14,0,13,0,13,0,13,0,14,0,15,0,18,0,21,0,22,0,22,0,19,0,16,0,15,0,16,0,18,0,21,0,22,0,22,0,19,0,15,0,10,0,6,0,4,0,4,0,6,0,10,0,12,0,13,0,13,0,10,0,7,0,4,0,3,0,5,0,9,0,13,0,16,0,16,0,15,0,12,0,9,0,6,0,1,0,252,255,246,255,242,255, +240,255,242,255,245,255,246,255,245,255,244,255,242,255,241,255,239,255,236,255,232,255,229,255,227,255,228,255,231,255,233,255,234,255,234,255,233,255,230,255,226,255,222,255,220,255,219,255,218,255,217,255,217,255,217,255,218,255,219,255,221,255,223, +255,225,255,227,255,230,255,233,255,234,255,234,255,232,255,231,255,231,255,233,255,236,255,239,255,242,255,243,255,245,255,247,255,251,255,254,255,1,0,3,0,4,0,7,0,9,0,10,0,10,0,9,0,6,0,2,0,254,255,251,255,250,255,250,255,250,255,249,255,248,255,247, +255,248,255,249,255,249,255,248,255,245,255,243,255,244,255,249,255,255,255,3,0,4,0,5,0,5,0,6,0,6,0,4,0,1,0,253,255,251,255,250,255,251,255,253,255,254,255,255,255,255,255,1,0,4,0,6,0,8,0,8,0,7,0,5,0,2,0,1,0,1,0,1,0,3,0,5,0,7,0,8,0,7,0,6,0,5,0,4,0,3, +0,4,0,4,0,4,0,3,0,5,0,7,0,8,0,6,0,2,0,253,255,250,255,249,255,253,255,3,0,7,0,10,0,12,0,14,0,17,0,19,0,19,0,19,0,17,0,15,0,14,0,13,0,13,0,13,0,13,0,13,0,12,0,9,0,6,0,4,0,5,0,6,0,7,0,8,0,11,0,14,0,18,0,22,0,24,0,26,0,26,0,26,0,25,0,25,0,22,0,18,0,13,0, +8,0,6,0,6,0,8,0,10,0,12,0,13,0,14,0,15,0,17,0,18,0,17,0,16,0,15,0,16,0,19,0,21,0,22,0,23,0,22,0,19,0,15,0,11,0,9,0,6,0,4,0,2,0,1,0,0,0,255,255,0,0,1,0,1,0,1,0,255,255,253,255,251,255,248,255,244,255,241,255,240,255,242,255,244,255,247,255,247,255,246, +255,242,255,239,255,237,255,236,255,235,255,234,255,233,255,231,255,229,255,227,255,226,255,227,255,230,255,234,255,241,255,247,255,251,255,252,255,252,255,251,255,250,255,249,255,249,255,250,255,252,255,252,255,250,255,247,255,244,255,242,255,243,255, +245,255,248,255,250,255,252,255,254,255,255,255,255,255,254,255,253,255,252,255,251,255,248,255,243,255,236,255,227,255,221,255,219,255,221,255,226,255,231,255,236,255,238,255,238,255,238,255,238,255,238,255,238,255,239,255,241,255,243,255,245,255,246, +255,247,255,248,255,248,255,247,255,247,255,246,255,244,255,241,255,240,255,239,255,240,255,242,255,244,255,247,255,251,255,254,255,1,0,4,0,6,0,9,0,14,0,20,0,24,0,24,0,20,0,14,0,9,0,6,0,7,0,8,0,10,0,12,0,15,0,18,0,19,0,17,0,13,0,9,0,5,0,3,0,2,0,0,0,254, +255,254,255,255,255,2,0,2,0,0,0,252,255,249,255,247,255,246,255,248,255,250,255,252,255,253,255,254,255,1,0,4,0,6,0,6,0,6,0,5,0,6,0,8,0,12,0,14,0,15,0,15,0,15,0,16,0,17,0,18,0,18,0,17,0,14,0,11,0,8,0,7,0,9,0,11,0,15,0,19,0,21,0,23,0,25,0,26,0,26,0,26, +0,25,0,22,0,18,0,13,0,8,0,5,0,2,0,2,0,3,0,5,0,7,0,9,0,10,0,10,0,8,0,5,0,1,0,254,255,252,255,252,255,252,255,251,255,250,255,249,255,248,255,249,255,249,255,248,255,248,255,247,255,248,255,249,255,250,255,250,255,251,255,252,255,255,255,255,255,254,255, +249,255,244,255,240,255,239,255,238,255,237,255,238,255,239,255,242,255,246,255,250,255,252,255,252,255,251,255,249,255,249,255,249,255,250,255,249,255,248,255,246,255,244,255,242,255,240,255,237,255,236,255,236,255,239,255,242,255,245,255,246,255,246, +255,246,255,244,255,242,255,241,255,239,255,240,255,243,255,245,255,247,255,248,255,250,255,253,255,0,0,2,0,2,0,2,0,2,0,4,0,7,0,10,0,10,0,8,0,6,0,5,0,5,0,6,0,8,0,8,0,7,0,6,0,5,0,5,0,5,0,6,0,9,0,10,0,10,0,8,0,5,0,0,0,251,255,249,255,249,255,251,255,253, +255,255,255,2,0,3,0,4,0,5,0,6,0,7,0,8,0,9,0,11,0,12,0,13,0,13,0,13,0,13,0,12,0,12,0,12,0,12,0,11,0,12,0,13,0,15,0,16,0,18,0,20,0,21,0,21,0,19,0,17,0,12,0,7,0,2,0,254,255,250,255,248,255,248,255,249,255,249,255,249,255,248,255,249,255,249,255,248,255, +247,255,246,255,246,255,247,255,250,255,253,255,0,0,255,255,252,255,248,255,245,255,242,255,240,255,240,255,243,255,246,255,249,255,249,255,249,255,248,255,248,255,248,255,248,255,249,255,251,255,252,255,255,255,1,0,1,0,0,0,254,255,253,255,253,255,253, +255,253,255,252,255,249,255,246,255,245,255,247,255,249,255,250,255,250,255,250,255,250,255,251,255,252,255,254,255,255,255,0,0,0,0,1,0,2,0,4,0,6,0,7,0,7,0,7,0,6,0,3,0,0,0,254,255,252,255,251,255,252,255,253,255,0,0,3,0,8,0,13,0,15,0,15,0,12,0,10,0,9, +0,10,0,12,0,13,0,13,0,12,0,12,0,11,0,11,0,10,0,8,0,5,0,2,0,254,255,251,255,248,255,247,255,248,255,249,255,250,255,250,255,251,255,251,255,252,255,251,255,250,255,248,255,246,255,245,255,244,255,245,255,246,255,246,255,246,255,243,255,240,255,238,255, +238,255,239,255,239,255,238,255,238,255,239,255,242,255,245,255,248,255,250,255,252,255,252,255,251,255,250,255,249,255,248,255,246,255,245,255,246,255,246,255,245,255,243,255,240,255,238,255,236,255,237,255,239,255,241,255,244,255,246,255,249,255,252, +255,255,255,1,0,2,0,1,0,254,255,251,255,247,255,244,255,242,255,242,255,244,255,247,255,253,255,2,0,8,0,14,0,19,0,23,0,24,0,23,0,19,0,15,0,12,0,9,0,6,0,2,0,255,255,253,255,252,255,254,255,2,0,8,0,13,0,16,0,18,0,19,0,20,0,20,0,21,0,20,0,19,0,17,0,14,0, +12,0,9,0,7,0,5,0,4,0,3,0,3,0,5,0,8,0,10,0,12,0,14,0,16,0,18,0,19,0,20,0,22,0,24,0,26,0,26,0,25,0,22,0,19,0,17,0,17,0,17,0,17,0,17,0,18,0,19,0,20,0,20,0,20,0,18,0,16,0,15,0,14,0,13,0,11,0,8,0,5,0,1,0,254,255,252,255,251,255,250,255,249,255,247,255,246, +255,247,255,248,255,249,255,250,255,249,255,248,255,244,255,240,255,236,255,233,255,233,255,234,255,234,255,234,255,234,255,235,255,238,255,241,255,243,255,244,255,242,255,240,255,239,255,240,255,241,255,242,255,243,255,243,255,243,255,244,255,247,255, +250,255,252,255,255,255,1,0,3,0,4,0,3,0,1,0,0,0,255,255,254,255,253,255,252,255,250,255,249,255,248,255,247,255,246,255,245,255,243,255,241,255,240,255,239,255,240,255,240,255,240,255,241,255,241,255,241,255,242,255,244,255,247,255,251,255,255,255,1, +0,1,0,1,0,0,0,0,0,254,255,253,255,250,255,247,255,244,255,242,255,242,255,244,255,247,255,250,255,251,255,252,255,253,255,254,255,255,255,255,255,252,255,249,255,247,255,247,255,247,255,246,255,243,255,241,255,240,255,241,255,242,255,243,255,243,255, +243,255,243,255,244,255,245,255,247,255,251,255,254,255,2,0,4,0,3,0,0,0,252,255,250,255,251,255,254,255,2,0,4,0,6,0,7,0,8,0,8,0,8,0,9,0,11,0,15,0,20,0,25,0,28,0,29,0,26,0,22,0,18,0,15,0,12,0,10,0,9,0,9,0,8,0,9,0,10,0,12,0,15,0,19,0,22,0,24,0,24,0,21, +0,16,0,10,0,5,0,2,0,1,0,2,0,5,0,9,0,12,0,14,0,15,0,16,0,16,0,16,0,16,0,17,0,17,0,15,0,14,0,13,0,13,0,13,0,12,0,10,0,7,0,3,0,0,0,254,255,253,255,251,255,251,255,251,255,252,255,255,255,1,0,2,0,1,0,0,0,255,255,253,255,252,255,250,255,249,255,248,255,248, +255,248,255,249,255,250,255,251,255,253,255,0,0,3,0,6,0,6,0,5,0,4,0,2,0,1,0,0,0,0,0,1,0,0,0,254,255,253,255,253,255,253,255,254,255,255,255,1,0,3,0,4,0,3,0,1,0,255,255,253,255,252,255,252,255,252,255,253,255,254,255,0,0,2,0,1,0,255,255,254,255,254,255, +252,255,250,255,248,255,246,255,243,255,242,255,242,255,244,255,245,255,246,255,247,255,247,255,248,255,249,255,250,255,250,255,249,255,248,255,247,255,245,255,243,255,240,255,237,255,234,255,231,255,229,255,228,255,229,255,232,255,236,255,241,255,245, +255,249,255,251,255,252,255,251,255,248,255,246,255,244,255,243,255,242,255,242,255,243,255,244,255,246,255,248,255,251,255,254,255,0,0,1,0,1,0,1,0,0,0,0,0,1,0,3,0,3,0,2,0,0,0,253,255,252,255,252,255,251,255,251,255,249,255,247,255,247,255,249,255,251, +255,252,255,252,255,251,255,249,255,247,255,246,255,245,255,245,255,245,255,245,255,246,255,247,255,248,255,250,255,252,255,254,255,0,0,2,0,4,0,7,0,8,0,9,0,9,0,9,0,9,0,9,0,11,0,13,0,14,0,15,0,15,0,16,0,16,0,17,0,17,0,17,0,16,0,15,0,14,0,14,0,13,0,12, +0,10,0,7,0,5,0,5,0,5,0,5,0,5,0,4,0,3,0,3,0,4,0,6,0,7,0,9,0,10,0,10,0,10,0,9,0,9,0,9,0,7,0,4,0,1,0,253,255,252,255,252,255,253,255,0,0,2,0,2,0,2,0,3,0,5,0,8,0,11,0,14,0,17,0,18,0,17,0,15,0,13,0,12,0,11,0,10,0,9,0,8,0,8,0,8,0,7,0,6,0,5,0,4,0,4,0,4,0,3, +0,2,0,2,0,4,0,7,0,9,0,12,0,13,0,13,0,12,0,10,0,8,0,6,0,4,0,1,0,255,255,254,255,255,255,1,0,4,0,8,0,11,0,11,0,10,0,8,0,5,0,2,0,255,255,251,255,248,255,245,255,242,255,241,255,240,255,240,255,240,255,238,255,237,255,236,255,236,255,237,255,239,255,241, +255,243,255,245,255,245,255,246,255,247,255,246,255,245,255,243,255,239,255,237,255,234,255,233,255,232,255,233,255,235,255,237,255,241,255,247,255,253,255,2,0,5,0,6,0,4,0,1,0,254,255,252,255,252,255,251,255,251,255,251,255,252,255,253,255,254,255,255, +255,255,255,255,255,0,0,2,0,2,0,0,0,254,255,252,255,250,255,249,255,248,255,249,255,250,255,250,255,249,255,247,255,245,255,243,255,242,255,241,255,242,255,245,255,247,255,249,255,249,255,250,255,250,255,249,255,248,255,247,255,247,255,247,255,247,255, +247,255,247,255,249,255,252,255,255,255,2,0,4,0,3,0,2,0,1,0,1,0,1,0,1,0,2,0,2,0,2,0,1,0,0,0,255,255,254,255,253,255,252,255,252,255,252,255,254,255,1,0,3,0,4,0,4,0,6,0,8,0,10,0,10,0,9,0,8,0,5,0,3,0,0,0,0,0,1,0,3,0,5,0,6,0,6,0,5,0,4,0,4,0,5,0,6,0,6,0, +7,0,8,0,9,0,9,0,9,0,8,0,6,0,3,0,2,0,2,0,3,0,4,0,6,0,7,0,7,0,8,0,9,0,11,0,12,0,12,0,11,0,9,0,8,0,7,0,6,0,5,0,4,0,3,0,2,0,2,0,3,0,4,0,4,0,5,0,5,0,5,0,5,0,4,0,4,0,4,0,5,0,4,0,4,0,3,0,2,0,1,0,0,0,254,255,251,255,249,255,249,255,251,255,254,255,2,0,4,0,5, +0,5,0,4,0,3,0,2,0,2,0,1,0,1,0,1,0,3,0,5,0,6,0,6,0,5,0,3,0,1,0,255,255,253,255,251,255,249,255,248,255,247,255,247,255,248,255,251,255,253,255,255,255,0,0,0,0,0,0,255,255,0,0,1,0,1,0,255,255,251,255,249,255,249,255,251,255,255,255,2,0,4,0,4,0,3,0,1,0, +255,255,255,255,254,255,254,255,255,255,0,0,2,0,4,0,4,0,1,0,253,255,249,255,245,255,243,255,241,255,241,255,242,255,243,255,244,255,247,255,249,255,251,255,252,255,252,255,251,255,249,255,246,255,243,255,241,255,239,255,239,255,239,255,241,255,243,255, +247,255,251,255,253,255,254,255,253,255,252,255,252,255,252,255,253,255,253,255,252,255,252,255,253,255,254,255,255,255,0,0,255,255,253,255,253,255,255,255,2,0,5,0,7,0,8,0,7,0,6,0,6,0,6,0,7,0,7,0,6,0,5,0,2,0,254,255,250,255,248,255,247,255,247,255,247, +255,249,255,251,255,253,255,255,255,255,255,255,255,254,255,254,255,254,255,254,255,255,255,255,255,254,255,252,255,251,255,250,255,250,255,251,255,253,255,255,255,1,0,3,0,4,0,5,0,6,0,7,0,9,0,11,0,12,0,13,0,13,0,12,0,12,0,11,0,11,0,12,0,12,0,13,0,14, +0,13,0,12,0,10,0,8,0,7,0,6,0,6,0,6,0,7,0,8,0,10,0,12,0,12,0,12,0,10,0,6,0,3,0,1,0,255,255,254,255,252,255,251,255,250,255,250,255,252,255,254,255,255,255,255,255,254,255,253,255,253,255,254,255,1,0,4,0,7,0,8,0,8,0,7,0,6,0,4,0,2,0,255,255,253,255,252, +255,254,255,0,0,2,0,3,0,3,0,3,0,2,0,0,0,254,255,253,255,252,255,251,255,249,255,247,255,245,255,244,255,243,255,244,255,246,255,247,255,247,255,246,255,245,255,245,255,245,255,245,255,244,255,243,255,243,255,243,255,243,255,244,255,244,255,245,255,244, +255,243,255,242,255,241,255,241,255,241,255,241,255,241,255,241,255,242,255,242,255,243,255,244,255,245,255,245,255,245,255,245,255,244,255,244,255,245,255,245,255,245,255,246,255,247,255,249,255,253,255,1,0,4,0,6,0,7,0,8,0,8,0,8,0,9,0,8,0,8,0,9,0,10, +0,10,0,10,0,10,0,10,0,10,0,10,0,9,0,9,0,8,0,9,0,10,0,12,0,13,0,13,0,13,0,11,0,9,0,5,0,2,0,255,255,253,255,252,255,252,255,252,255,251,255,251,255,252,255,255,255,2,0,4,0,4,0,2,0,1,0,0,0,254,255,254,255,253,255,253,255,253,255,254,255,255,255,255,255, +0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,2,0,3,0,2,0,2,0,3,0,5,0,7,0,8,0,8,0,8,0,8,0,7,0,7,0,5,0,4,0,3,0,2,0,2,0,3,0,4,0,4,0,6,0,7,0,8,0,7,0,6,0,4,0,3,0,2,0,2,0,5,0,8,0,11,0,14,0,15,0,15,0,13,0,12,0,10,0,9,0,10,0,10,0,11,0,12,0,12,0,12,0,10,0,7,0,4,0,1,0,0,0, +0,0,1,0,2,0,2,0,2,0,2,0,1,0,1,0,1,0,0,0,0,0,254,255,252,255,250,255,249,255,249,255,250,255,252,255,253,255,254,255,254,255,254,255,253,255,252,255,251,255,250,255,249,255,249,255,249,255,248,255,247,255,246,255,246,255,246,255,246,255,246,255,245,255, +245,255,246,255,247,255,249,255,249,255,249,255,247,255,245,255,245,255,245,255,245,255,244,255,242,255,240,255,238,255,236,255,236,255,236,255,237,255,240,255,243,255,246,255,248,255,249,255,248,255,247,255,245,255,244,255,244,255,245,255,247,255,250, +255,252,255,253,255,254,255,254,255,254,255,255,255,0,0,1,0,1,0,1,0,0,0,254,255,253,255,252,255,252,255,253,255,255,255,1,0,3,0,4,0,5,0,4,0,4,0,4,0,4,0,3,0,2,0,255,255,252,255,249,255,247,255,247,255,247,255,249,255,252,255,255,255,3,0,5,0,5,0,4,0,2, +0,0,0,0,0,1,0,1,0,0,0,255,255,253,255,251,255,251,255,252,255,254,255,0,0,2,0,3,0,4,0,5,0,7,0,9,0,9,0,8,0,6,0,5,0,3,0,2,0,2,0,1,0,0,0,255,255,253,255,251,255,251,255,251,255,253,255,255,255,0,0,1,0,2,0,3,0,6,0,7,0,8,0,6,0,4,0,1,0,0,0,0,0,0,0,0,0,255, +255,255,255,255,255,0,0,1,0,3,0,6,0,8,0,11,0,13,0,14,0,14,0,15,0,15,0,15,0,15,0,13,0,11,0,10,0,9,0,8,0,8,0,6,0,5,0,5,0,5,0,6,0,7,0,8,0,10,0,11,0,11,0,11,0,10,0,8,0,6,0,5,0,4,0,4,0,5,0,6,0,6,0,5,0,4,0,3,0,3,0,2,0,2,0,3,0,4,0,4,0,3,0,2,0,0,0,254,255,253, +255,251,255,250,255,250,255,251,255,252,255,252,255,250,255,249,255,248,255,249,255,250,255,252,255,253,255,254,255,254,255,253,255,251,255,249,255,247,255,247,255,247,255,249,255,250,255,251,255,252,255,252,255,252,255,252,255,252,255,253,255,255,255, +0,0,0,0,0,0,255,255,253,255,252,255,252,255,252,255,253,255,254,255,254,255,253,255,251,255,250,255,248,255,248,255,247,255,248,255,250,255,252,255,253,255,252,255,249,255,247,255,245,255,244,255,243,255,243,255,244,255,244,255,244,255,244,255,243,255, +243,255,242,255,243,255,244,255,245,255,246,255,247,255,248,255,249,255,251,255,252,255,253,255,253,255,253,255,252,255,250,255,248,255,246,255,244,255,244,255,245,255,247,255,249,255,251,255,253,255,254,255,0,0,1,0,2,0,2,0,2,0,1,0,1,0,1,0,255,255,253, +255,252,255,252,255,252,255,253,255,254,255,0,0,3,0,6,0,9,0,11,0,12,0,12,0,12,0,12,0,10,0,9,0,7,0,6,0,5,0,4,0,3,0,3,0,3,0,4,0,5,0,6,0,7,0,7,0,8,0,7,0,6,0,6,0,5,0,5,0,5,0,5,0,5,0,3,0,2,0,0,0,255,255,254,255,254,255,255,255,1,0,3,0,4,0,4,0,4,0,4,0,3,0, +2,0,2,0,2,0,3,0,5,0,7,0,7,0,7,0,6,0,5,0,4,0,5,0,5,0,5,0,4,0,3,0,3,0,4,0,5,0,6,0,7,0,7,0,6,0,6,0,5,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,3,0,3,0,2,0,2,0,2,0,3,0,4,0,4,0,5,0,5,0,6,0,5,0,4,0,3,0,2,0,0,0,255,255,254,255,253,255,253,255,254,255,255,255,0, +0,0,0,0,0,255,255,254,255,253,255,252,255,251,255,251,255,251,255,251,255,251,255,251,255,251,255,251,255,251,255,250,255,249,255,249,255,249,255,250,255,252,255,253,255,253,255,254,255,254,255,253,255,252,255,250,255,248,255,247,255,247,255,248,255, +249,255,249,255,249,255,249,255,248,255,248,255,247,255,247,255,247,255,248,255,249,255,250,255,251,255,252,255,252,255,252,255,251,255,251,255,250,255,250,255,249,255,248,255,248,255,248,255,250,255,251,255,252,255,252,255,251,255,250,255,248,255,246, +255,244,255,244,255,244,255,246,255,248,255,251,255,253,255,252,255,251,255,250,255,248,255,246,255,245,255,245,255,247,255,249,255,251,255,254,255,0,0,2,0,3,0,4,0,5,0,5,0,3,0,2,0,1,0,0,0,0,0,1,0,3,0,6,0,7,0,9,0,9,0,9,0,9,0,8,0,8,0,9,0,10,0,11,0,11,0, +10,0,8,0,5,0,2,0,1,0,1,0,1,0,2,0,2,0,2,0,2,0,1,0,1,0,1,0,1,0,3,0,5,0,7,0,8,0,8,0,6,0,3,0,0,0,254,255,251,255,250,255,250,255,251,255,253,255,255,255,1,0,1,0,2,0,3,0,4,0,5,0,6,0,7,0,8,0,8,0,7,0,6,0,5,0,3,0,2,0,1,0,0,0,254,255,253,255,253,255,254,255,0, +0,2,0,4,0,5,0,5,0,4,0,4,0,3,0,2,0,0,0,254,255,253,255,252,255,252,255,252,255,251,255,251,255,251,255,251,255,250,255,250,255,249,255,249,255,250,255,252,255,255,255,2,0,4,0,5,0,6,0,6,0,5,0,5,0,3,0,2,0,2,0,1,0,1,0,1,0,1,0,1,0,2,0,2,0,3,0,3,0,4,0,4,0, +3,0,3,0,1,0,0,0,0,0,0,0,1,0,1,0,2,0,2,0,1,0,0,0,255,255,255,255,255,255,255,255,0,0,1,0,0,0,255,255,255,255,254,255,253,255,252,255,251,255,250,255,249,255,249,255,249,255,250,255,251,255,251,255,251,255,252,255,253,255,253,255,252,255,250,255,249,255, +249,255,250,255,251,255,253,255,254,255,254,255,254,255,252,255,250,255,248,255,246,255,245,255,245,255,245,255,245,255,246,255,248,255,250,255,253,255,254,255,255,255,254,255,254,255,253,255,253,255,253,255,253,255,252,255,253,255,253,255,253,255,253, +255,254,255,254,255,255,255,0,0,2,0,3,0,4,0,4,0,4,0,3,0,2,0,1,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,0,0,1,0,3,0,5,0,7,0,8,0,7,0,6,0,3,0,0,0,254,255,252,255,252,255,252,255,254,255,255,255,0,0,0,0,0,0,255,255,254,255,254,255,254,255,255,255,0,0,1, +0,1,0,1,0,2,0,3,0,3,0,3,0,2,0,0,0,255,255,255,255,254,255,253,255,253,255,252,255,252,255,253,255,255,255,0,0,2,0,3,0,4,0,4,0,4,0,3,0,2,0,1,0,255,255,255,255,254,255,254,255,254,255,255,255,255,255,0,0,0,0,0,0,1,0,3,0,4,0,5,0,5,0,4,0,3,0,3,0,3,0,4,0, +5,0,6,0,7,0,7,0,7,0,7,0,7,0,6,0,5,0,3,0,3,0,2,0,2,0,2,0,2,0,2,0,4,0,5,0,6,0,6,0,5,0,3,0,1,0,255,255,254,255,252,255,251,255,250,255,250,255,250,255,251,255,253,255,254,255,0,0,2,0,4,0,5,0,5,0,5,0,4,0,4,0,3,0,2,0,1,0,0,0,255,255,255,255,0,0,2,0,4,0,6, +0,6,0,5,0,3,0,1,0,0,0,255,255,255,255,255,255,255,255,254,255,254,255,252,255,251,255,249,255,248,255,247,255,248,255,249,255,251,255,252,255,252,255,250,255,247,255,245,255,245,255,245,255,245,255,247,255,249,255,251,255,251,255,251,255,250,255,250, +255,250,255,251,255,251,255,251,255,251,255,252,255,252,255,252,255,252,255,252,255,253,255,253,255,254,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,255,255,254,255,252,255,251,255,250,255,249,255,248,255,248,255,249,255,251,255,252,255,252, +255,251,255,249,255,248,255,247,255,246,255,245,255,245,255,245,255,247,255,249,255,251,255,253,255,254,255,255,255,1,0,1,0,2,0,2,0,2,0,3,0,3,0,3,0,4,0,5,0,6,0,8,0,10,0,11,0,11,0,10,0,9,0,9,0,9,0,9,0,9,0,9,0,9,0,9,0,10,0,10,0,11,0,11,0,11,0,11,0,10,0, +7,0,4,0,1,0,255,255,254,255,254,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,1,0,2,0,2,0,2,0,1,0,0,0,255,255,255,255,0,0,0,0,1,0,1,0,1,0,2,0,3,0,4,0,5,0,6,0,6,0,6,0,5,0,4,0,2,0,0,0,255,255,254,255,255,255,0,0,1,0,1, +0,0,0,254,255,253,255,252,255,251,255,251,255,251,255,251,255,251,255,252,255,253,255,253,255,253,255,254,255,0,0,2,0,3,0,2,0,1,0,0,0,255,255,255,255,0,0,2,0,4,0,5,0,5,0,5,0,4,0,2,0,2,0,1,0,2,0,2,0,3,0,3,0,3,0,3,0,2,0,2,0,0,0,255,255,254,255,253,255, +252,255,252,255,252,255,252,255,253,255,253,255,253,255,253,255,252,255,250,255,249,255,248,255,248,255,248,255,249,255,250,255,250,255,250,255,249,255,248,255,247,255,246,255,245,255,245,255,245,255,245,255,246,255,247,255,248,255,249,255,250,255,251, +255,251,255,251,255,252,255,252,255,253,255,254,255,254,255,255,255,255,255,255,255,0,0,1,0,2,0,3,0,2,0,2,0,1,0,0,0,255,255,255,255,255,255,255,255,255,255,0,0,0,0,1,0,1,0,1,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,255,253,255, +252,255,252,255,253,255,253,255,254,255,254,255,254,255,255,255,1,0,2,0,3,0,3,0,3,0,4,0,4,0,4,0,3,0,2,0,1,0,255,255,253,255,252,255,252,255,252,255,253,255,255,255,1,0,2,0,3,0,2,0,2,0,1,0,1,0,0,0,255,255,255,255,254,255,254,255,254,255,254,255,254,255, +254,255,254,255,255,255,0,0,1,0,1,0,1,0,2,0,2,0,3,0,4,0,4,0,3,0,2,0,1,0,1,0,1,0,3,0,3,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,3,0,3,0,3,0,3,0,4,0,5,0,5,0,6,0,7,0,7,0,7,0,6,0,5,0,3,0,1,0,255,255,255,255,0,0,1,0,2,0,3,0,4,0,4,0,4,0,4,0,3,0,2,0,1,0,0,0,255,255,254, +255,254,255,255,255,0,0,1,0,1,0,0,0,0,0,255,255,255,255,254,255,254,255,254,255,254,255,254,255,254,255,254,255,254,255,253,255,252,255,251,255,251,255,251,255,252,255,254,255,0,0,0,0,0,0,255,255,254,255,254,255,254,255,253,255,253,255,253,255,253,255, +254,255,254,255,255,255,254,255,254,255,254,255,254,255,255,255,0,0,0,0,0,0,255,255,253,255,252,255,250,255,249,255,248,255,248,255,249,255,250,255,252,255,253,255,254,255,255,255,255,255,254,255,253,255,252,255,252,255,251,255,252,255,252,255,253,255, +253,255,253,255,254,255,254,255,253,255,253,255,252,255,251,255,251,255,251,255,252,255,252,255,253,255,254,255,255,255,255,255,255,255,254,255,253,255,252,255,251,255,252,255,253,255,255,255,0,0,1,0,3,0,4,0,4,0,4,0,2,0,0,0,254,255,253,255,253,255,253, +255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,2,0,3,0,3,0,3,0,2,0,0,0,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,1,0,2,0,3,0,4,0,4,0,4,0,3,0,1,0,0,0,255,255,255,255,255,255,0,0,1,0,2,0,2,0,3,0,3,0,3,0,3,0,4,0,5,0,6,0,6,0,6,0,5,0,4,0,3, +0,2,0,2,0,2,0,3,0,3,0,4,0,5,0,5,0,4,0,2,0,1,0,255,255,254,255,254,255,255,255,0,0,1,0,1,0,2,0,3,0,4,0,4,0,4,0,4,0,3,0,2,0,1,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,255,255,254,255,253,255,252,255,252, +255,252,255,252,255,252,255,253,255,253,255,253,255,253,255,253,255,252,255,251,255,249,255,249,255,248,255,248,255,248,255,248,255,249,255,250,255,251,255,252,255,253,255,254,255,253,255,253,255,252,255,252,255,251,255,251,255,252,255,252,255,253,255, +253,255,253,255,254,255,254,255,254,255,254,255,254,255,0,0,1,0,3,0,4,0,5,0,4,0,3,0,1,0,255,255,253,255,251,255,250,255,250,255,250,255,251,255,253,255,255,255,1,0,3,0,4,0,4,0,4,0,3,0,2,0,1,0,1,0,1,0,1,0,0,0,0,0,1,0,1,0,1,0,0,0,0,0,255,255,254,255,253, +255,252,255,251,255,251,255,251,255,252,255,254,255,255,255,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,255,255,255,255,254,255,254,255,254,255,255,255,254,255,254,255,254,255,254,255,254,255,254,255,255,255,255,255,0, +0,1,0,1,0,1,0,0,0,255,255,255,255,254,255,254,255,253,255,253,255,254,255,255,255,0,0,1,0,2,0,3,0,4,0,4,0,4,0,4,0,3,0,1,0,0,0,255,255,255,255,255,255,0,0,1,0,3,0,4,0,5,0,5,0,5,0,5,0,5,0,5,0,4,0,3,0,2,0,3,0,3,0,3,0,4,0,3,0,2,0,1,0,0,0,254,255,253,255, +251,255,250,255,250,255,251,255,252,255,254,255,255,255,255,255,255,255,255,255,254,255,254,255,253,255,253,255,254,255,254,255,255,255,0,0,0,0,1,0,2,0,2,0,2,0,1,0,1,0,2,0,3,0,4,0,5,0,6,0,6,0,6,0,7,0,7,0,7,0,7,0,7,0,7,0,6,0,5,0,4,0,2,0,1,0,0,0,1,0,2, +0,3,0,4,0,3,0,2,0,1,0,254,255,252,255,250,255,249,255,248,255,249,255,250,255,251,255,252,255,252,255,252,255,252,255,253,255,253,255,253,255,253,255,253,255,253,255,253,255,253,255,253,255,253,255,253,255,253,255,253,255,253,255,252,255,251,255,251, +255,252,255,253,255,253,255,253,255,253,255,253,255,253,255,253,255,253,255,252,255,252,255,252,255,251,255,251,255,250,255,250,255,250,255,250,255,250,255,251,255,251,255,251,255,251,255,250,255,250,255,251,255,251,255,252,255,252,255,252,255,252,255, +252,255,252,255,252,255,252,255,252,255,252,255,253,255,255,255,0,0,1,0,2,0,2,0,2,0,1,0,1,0,2,0,2,0,2,0,2,0,2,0,3,0,4,0,5,0,5,0,5,0,4,0,3,0,2,0,1,0,0,0,0,0,0,0,1,0,2,0,3,0,4,0,4,0,4,0,4,0,3,0,1,0,255,255,254,255,254,255,254,255,254,255,254,255,254,255, +254,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,255,255,254,255,252,255,251,255,250,255,250,255,250,255,251,255,252,255,253,255,254,255,0,0,1,0,2,0,3,0,3,0,3,0,3,0,3,0,4,0,4,0,4,0,4,0,4,0,5,0,5,0,5,0,4,0,3,0,2,0,2,0,1,0,2,0,2,0,2,0,3,0,4, +0,4,0,5,0,5,0,5,0,4,0,2,0,2,0,2,0,2,0,1,0,0,0,255,255,255,255,0,0,2,0,4,0,5,0,5,0,5,0,4,0,4,0,3,0,2,0,1,0,1,0,0,0,0,0,255,255,255,255,254,255,253,255,251,255,250,255,250,255,249,255,250,255,251,255,251,255,252,255,252,255,252,255,252,255,252,255,253, +255,252,255,252,255,252,255,252,255,252,255,252,255,252,255,251,255,251,255,251,255,252,255,253,255,255,255,0,0,0,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,255,255,254,255,253,255,253,255,252,255,252,255,252,255,253,255,253,255,253,255,253,255,252,255,251,255,250, +255,249,255,249,255,249,255,250,255,250,255,249,255,248,255,247,255,247,255,247,255,248,255,249,255,250,255,250,255,250,255,250,255,250,255,251,255,252,255,254,255,255,255,1,0,3,0,3,0,3,0,3,0,4,0,4,0,5,0,6,0,6,0,7,0,7,0,7,0,6,0,6,0,6,0,6,0,6,0,6,0,6, +0,5,0,4,0,4,0,3,0,2,0,2,0,3,0,4,0,4,0,4,0,3,0,2,0,1,0,0,0,255,255,255,255,255,255,255,255,254,255,254,255,254,255,254,255,254,255,255,255,0,0,1,0,3,0,4,0,5,0,5,0,5,0,5,0,6,0,6,0,5,0,5,0,3,0,1,0,255,255,253,255,252,255,252,255,253,255,255,255,0,0,2,0, +2,0,2,0,1,0,255,255,253,255,252,255,251,255,251,255,251,255,252,255,253,255,253,255,254,255,254,255,254,255,254,255,253,255,253,255,251,255,251,255,250,255,250,255,250,255,250,255,250,255,252,255,254,255,0,0,1,0,2,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,2, +0,3,0,4,0,4,0,3,0,2,0,2,0,2,0,3,0,4,0,4,0,5,0,5,0,4,0,3,0,3,0,3,0,2,0,2,0,2,0,1,0,0,0,255,255,253,255,252,255,252,255,252,255,253,255,254,255,255,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,254,255,253,255,252,255,252,255,251,255,252, +255,252,255,253,255,253,255,253,255,253,255,253,255,253,255,254,255,255,255,0,0,1,0,2,0,3,0,3,0,3,0,3,0,2,0,0,0,255,255,254,255,254,255,254,255,254,255,254,255,253,255,253,255,254,255,254,255,254,255,254,255,254,255,254,255,255,255,255,255,255,255,255, +255,254,255,253,255,252,255,253,255,253,255,253,255,252,255,251,255,250,255,249,255,249,255,249,255,250,255,252,255,253,255,255,255,1,0,2,0,3,0,3,0,2,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,2,0,2,0,2,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255, +254,255,254,255,254,255,254,255,254,255,255,255,0,0,1,0,2,0,3,0,3,0,2,0,1,0,0,0,255,255,255,255,0,0,1,0,2,0,3,0,4,0,5,0,4,0,3,0,2,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,255,255,0,0,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,254,255, +253,255,253,255,253,255,254,255,254,255,255,255,255,255,255,255,255,255,255,255,254,255,254,255,253,255,253,255,254,255,255,255,0,0,0,0,0,0,255,255,253,255,252,255,252,255,251,255,251,255,251,255,250,255,250,255,250,255,251,255,252,255,253,255,254,255, +255,255,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,2,0,3,0,3,0,3,0,2,0,2,0,2,0,2,0,3,0,4,0,5,0,6,0,6,0,7,0,7,0,6,0,6,0,5,0,3,0,2,0,1,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,255,255,255,255,254,255, +254,255,253,255,253,255,252,255,252,255,252,255,251,255,251,255,251,255,252,255,252,255,253,255,253,255,253,255,253,255,253,255,254,255,253,255,253,255,252,255,251,255,252,255,252,255,253,255,253,255,253,255,253,255,253,255,252,255,252,255,253,255,253, +255,254,255,0,0,1,0,2,0,2,0,1,0,255,255,254,255,253,255,252,255,251,255,252,255,253,255,254,255,255,255,0,0,1,0,2,0,2,0,2,0,2,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,255,255,255,255,254,255,254,255,254,255,254,255,254,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,254,255,254,255,254,255,255,255,0,0,0,0,1,0,1,0,2,0,1,0,1,0,0,0,255,255,254,255,253,255,253,255,254,255,254,255,254,255,254,255,254,255,253,255,253,255,253,255,254,255,254,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,255,255,255, +255,255,255,0,0,0,0,0,0,0,0,255,255,254,255,254,255,254,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,1,0,2,0,4,0,4,0,5,0,6,0,6,0,6,0,6,0,6,0,6,0,6,0,6, +0,5,0,5,0,4,0,3,0,3,0,2,0,2,0,1,0,1,0,1,0,1,0,2,0,3,0,4,0,5,0,6,0,6,0,6,0,6,0,5,0,3,0,1,0,0,0,254,255,253,255,252,255,252,255,252,255,252,255,253,255,254,255,255,255,0,0,0,0,1,0,0,0,255,255,255,255,254,255,254,255,254,255,253,255,253,255,252,255,252, +255,252,255,252,255,252,255,253,255,253,255,253,255,253,255,253,255,252,255,252,255,252,255,252,255,252,255,252,255,252,255,252,255,252,255,252,255,252,255,252,255,251,255,251,255,251,255,250,255,250,255,250,255,250,255,249,255,249,255,249,255,250,255, +250,255,251,255,252,255,252,255,252,255,252,255,252,255,252,255,252,255,253,255,253,255,253,255,253,255,253,255,253,255,252,255,252,255,252,255,252,255,253,255,254,255,255,255,255,255,0,0,0,0,1,0,1,0,2,0,2,0,1,0,1,0,1,0,1,0,1,0,2,0,2,0,3,0,3,0,4,0,4, +0,4,0,4,0,3,0,3,0,3,0,3,0,4,0,4,0,4,0,3,0,3,0,2,0,1,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,1,0,1,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,1,0,0,0,0,0,0,0,1,0,2,0,2,0,3,0,3,0,3,0,4,0,4,0,4,0,5,0,4,0,4,0,3,0,2,0,1,0,1,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,2,0,2,0, +3,0,4,0,4,0,4,0,4,0,3,0,2,0,1,0,0,0,255,255,255,255,254,255,254,255,253,255,253,255,253,255,253,255,253,255,253,255,253,255,254,255,254,255,254,255,254,255,253,255,253,255,253,255,252,255,252,255,251,255,251,255,251,255,251,255,251,255,251,255,252,255, +253,255,254,255,255,255,0,0,1,0,2,0,2,0,2,0,2,0,2,0,2,0,1,0,1,0,0,0,0,0,255,255,255,255,255,255,255,255,254,255,254,255,254,255,253,255,253,255,253,255,254,255,254,255,254,255,255,255,255,255,254,255,253,255,252,255,251,255,250,255,249,255,248,255,248, +255,248,255,249,255,251,255,252,255,253,255,254,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,2,0,1,0,1,0,1,0,0,0,0,0,255,255,254,255,253,255,253,255,253,255,253,255, +253,255,253,255,254,255,254,255,255,255,255,255,0,0,0,0,1,0,1,0,2,0,1,0,1,0,0,0,255,255,254,255,254,255,253,255,254,255,254,255,254,255,255,255,0,0,0,0,1,0,1,0,1,0,0,0,1,0,1,0,1,0,2,0,2,0,3,0,2,0,2,0,2,0,1,0,1,0,1,0,1,0,1,0,2,0,3,0,4,0,5,0,5,0,5,0,5, +0,4,0,4,0,3,0,3,0,3,0,3,0,3,0,2,0,2,0,2,0,1,0,1,0,1,0,1,0,0,0,0,0,1,0,1,0,1,0,2,0,2,0,2,0,1,0,0,0,255,255,253,255,252,255,252,255,251,255,251,255,251,255,251,255,252,255,252,255,253,255,253,255,254,255,255,255,0,0,0,0,0,0,255,255,255,255,254,255,254, +255,254,255,254,255,254,255,253,255,253,255,253,255,254,255,254,255,255,255,0,0,1,0,2,0,3,0,3,0,3,0,3,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,254,255,254, +255,253,255,253,255,253,255,253,255,253,255,253,255,253,255,254,255,255,255,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,255,254,255,254,255,253,255,253,255, +253,255,253,255,254,255,254,255,255,255,255,255,254,255,254,255,254,255,253,255,253,255,252,255,252,255,252,255,252,255,252,255,253,255,253,255,252,255,252,255,251,255,251,255,251,255,252,255,254,255,254,255,254,255,254,255,253,255,253,255,252,255,252, +255,252,255,253,255,254,255,255,255,0,0,0,0,0,0,255,255,254,255,254,255,254,255,254,255,254,255,255,255,255,255,0,0,1,0,1,0,2,0,2,0,3,0,3,0,4,0,4,0,5,0,5,0,5,0,6,0,6,0,6,0,6,0,5,0,4,0,3,0,3,0,3,0,3,0,3,0,3,0,4,0,4,0,4,0,4,0,3,0,2,0,1,0,0,0,0,0,0,0,0, +0,255,255,254,255,253,255,253,255,253,255,252,255,253,255,253,255,253,255,252,255,252,255,252,255,252,255,253,255,254,255,254,255,255,255,255,255,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,1,0,2,0,2,0,3,0,4,0,4,0,4,0,4,0,4,0,4,0, +3,0,3,0,2,0,1,0,1,0,0,0,0,0,255,255,255,255,254,255,253,255,253,255,252,255,252,255,252,255,253,255,253,255,254,255,255,255,255,255,0,0,1,0,1,0,0,0,255,255,254,255,254,255,253,255,252,255,252,255,252,255,252,255,253,255,253,255,254,255,255,255,0,0,1, +0,1,0,1,0,1,0,1,0,0,0,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,1,0,0,0,255,255,254,255,253,255,252,255,252,255,252,255,252,255,253,255,254,255,255,255,255,255,0,0,0,0,0,0,255,255,255,255, +255,255,255,255,255,255,0,0,0,0,255,255,255,255,254,255,253,255,252,255,252,255,252,255,252,255,253,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,255,255,255,255,254,255,254,255,254,255,254,255,254,255,254,255,254,255,255,255,255,255,0,0,0,0,255,255,255,255, +254,255,254,255,254,255,254,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,2,0,3,0,3,0,3,0,2,0,1,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,255,255,254,255,253,255,253,255,253,255,252, +255,252,255,252,255,252,255,252,255,251,255,251,255,251,255,252,255,253,255,253,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,254,255,255,255,255,255,0,0,2,0,3,0,4,0,5,0,5,0,5,0,4,0,4,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,2,0,2,0,1, +0,1,0,1,0,0,0,0,0,255,255,255,255,255,255,255,255,254,255,253,255,252,255,251,255,250,255,249,255,249,255,249,255,250,255,251,255,251,255,252,255,252,255,253,255,253,255,254,255,255,255,0,0,0,0,0,0,1,0,1,0,1,0,1,0,2,0,2,0,3,0,3,0,3,0,3,0,2,0,1,0,1,0, +2,0,3,0,4,0,5,0,5,0,5,0,4,0,3,0,2,0,1,0,255,255,254,255,253,255,253,255,253,255,253,255,253,255,254,255,255,255,255,255,0,0,255,255,255,255,254,255,253,255,253,255,253,255,253,255,253,255,254,255,254,255,254,255,253,255,253,255,252,255,251,255,251,255, +251,255,251,255,252,255,253,255,255,255,255,255,0,0,0,0,1,0,1,0,1,0,1,0,0,0,0,0,255,255,255,255,255,255,254,255,254,255,253,255,253,255,253,255,254,255,254,255,254,255,254,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255, +255,255,255,255,254,255,254,255,254,255,255,255,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,255,255,255,255,254,255,254,255,254,255,254,255,254,255,255,255,0,0,1,0,2,0,3,0,3,0,3,0,3,0,3,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,1,0,1,0,1,0,1,0,1, +0,2,0,2,0,2,0,1,0,1,0,0,0,255,255,254,255,253,255,252,255,252,255,252,255,252,255,252,255,252,255,253,255,253,255,253,255,253,255,253,255,253,255,253,255,254,255,255,255,255,255,0,0,0,0,255,255,255,255,255,255,254,255,254,255,254,255,255,255,255,255, +255,255,255,255,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,1,0,1,0,2,0,2,0,2,0,1,0,1,0,1,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,1,0,1,0,2,0,2,0,3,0,3,0,3,0,2, +0,2,0,2,0,2,0,1,0,1,0,0,0,255,255,253,255,253,255,252,255,252,255,252,255,252,255,253,255,253,255,253,255,253,255,254,255,254,255,254,255,254,255,254,255,254,255,253,255,252,255,252,255,252,255,253,255,254,255,255,255,255,255,255,255,255,255,0,0,0,0, +0,0,1,0,1,0,1,0,2,0,2,0,1,0,1,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,0,0,255,255,255,255,255,255,255,255,255,255,254,255,254,255,253,255,253,255,253,255,253,255,253,255,252,255,252,255,252,255,253,255,253, +255,254,255,254,255,254,255,254,255,255,255,255,255,255,255,255,255,255,255,254,255,253,255,252,255,252,255,252,255,252,255,253,255,253,255,255,255,0,0,1,0,2,0,3,0,3,0,4,0,3,0,3,0,3,0,3,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,1,0,1,0,1,0,1,0,1,0,1,0,2, +0,2,0,1,0,1,0,255,255,254,255,253,255,252,255,252,255,252,255,252,255,253,255,253,255,254,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,1,0,1,0,2,0,2,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,2,0, +2,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,254,255,254,255,254,255,254,255,254,255,254,255,254,255,254,255,254,255,253,255,253,255,253,255,254,255,254,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,255,255,254, +255,254,255,254,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,254,255,253,255,253,255,253,255,253,255,253,255,253,255,254,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,255,255,255,255,254, +255,254,255,254,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,255,255,254,255,253,255,253,255,252,255,252,255,253,255,253,255,253,255,253,255,253,255,254,255,254,255,254,255,254,255,255, +255,255,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,1,0,1,0,2,0,3,0,3,0,3,0,3,0,3,0,2,0,2,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255, +255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,1,0,1,0,2,0,2,0,3,0,3,0,3,0,3,0,2,0,2,0,1,0,1,0,1,0,2,0,2,0,2,0,2,0,2,0,3,0,3,0,2,0,2,0,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,254,255,253,255,254,255,254,255,255,255,255,255,0,0,0, +0,0,0,0,0,255,255,254,255,254,255,253,255,253,255,253,255,253,255,253,255,253,255,253,255,253,255,253,255,253,255,253,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,255, +254,255,254,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,255,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255,254,255,254,255,254,255,254,255,254,255,253,255,253,255,253,255,253,255,253, +255,253,255,253,255,253,255,253,255,252,255,253,255,253,255,254,255,255,255,255,255,0,0,0,0,1,0,0,0,0,0,255,255,254,255,254,255,253,255,253,255,253,255,253,255,254,255,254,255,254,255,254,255,254,255,254,255,254,255,254,255,254,255,254,255,255,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,1,0,1,0,1,0,1,0,1,0,1,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,1,0,1,0,2,0,2,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,2,0,2,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1, +0,1,0,1,0,2,0,1,0,1,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,254,255,254,255,253,255,253,255,252,255,252,255,251,255,251,255,252,255,252,255,252,255,252,255,252,255,253,255,253,255,253,255,254,255,254,255,254,255,254,255,254,255,254,255,255,255,255,255,255,255,255,255,255,255,254, +255,254,255,254,255,254,255,254,255,254,255,254,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,255,255,255,255,254,255,254,255,253,255,253,255,253,255,252,255,253,255,253,255,253,255,254,255,254,255,254,255,254,255,255,255,255,255,0,0,0,0,0,0,1,0,1, +0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,2,0,2,0,3,0,3,0,3,0,2,0,2,0,2,0,2,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,255,255,254,255,254,255,254,255,253,255,253,255,253,255,253,255,253,255,254,255,254,255,254,255,255,255,255,255,255,255,254,255,254,255,254,255,254,255, +254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,1,0,1,0,1,0,1,0,2,0,2,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,255,255,255,255,255,255,0,0,0,0,0,0,1,0,0, +0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,254,255,254,255,253,255,253,255,252,255,252,255,252,255,253,255,253,255,254,255,254,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,1,0,1,0,2,0,2,0,2,0,1,0,1,0,1,0,2,0, +2,0,3,0,3,0,3,0,2,0,2,0,1,0,1,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,255,254,255,254,255,253,255,253,255,253,255,253,255,253,255,253,255,253,255,253,255,253,255,254, +255,255,255,255,255,255,255,255,255,255,255,254,255,254,255,254,255,254,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +254,255,254,255,254,255,254,255,254,255,254,255,254,255,255,255,255,255,255,255,255,255,255,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,2,0,2,0,2,0,1,0,1,0,1,0,0,0,0,0,0,0,0, +0,0,0,0,0,1,0,1,0,2,0,2,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,254,255,254,255,254,255,254,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,2,0,1,0,1,0,0,0,0,0,255,255,255,255,255,255,0,0,0,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,255,255,255,255,254,255,254,255,254,255,254,255, +254,255,254,255,254,255,254,255,254,255,253,255,253,255,253,255,253,255,253,255,253,255,253,255,253,255,253,255,253,255,253,255,253,255,253,255,253,255,253,255,253,255,254,255,254,255,254,255,254,255,254,255,254,255,254,255,255,255,255,255,255,255,255, +255,0,0,0,0,1,0,1,0,2,0,2,0,2,0,2,0,1,0,1,0,0,0,255,255,254,255,254,255,254,255,254,255,255,255,255,255,0,0,0,0,0,0,1,0,1,0,1,0,0,0,0,0,255,255,255,255,255,255,254,255,254,255,254,255,254,255,254,255,254,255,254,255,254,255,254,255,254,255,254,255,254, +255,254,255,254,255,254,255,255,255,255,255,0,0,0,0,1,0,1,0,1,0,2,0,2,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,2,0,2,0,2,0,2,0,2,0,1,0,0,0,0,0,255,255,255,255,255,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,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,1,0,1,0,2,0,2,0,1,0,1,0,0,0,0,0,0,0,1,0,1,0,1,0,2,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,254,255,254,255,254,255,254,255, +254,255,254,255,254,255,254,255,254,255,254,255,253,255,253,255,253,255,252,255,252,255,253,255,253,255,253,255,253,255,253,255,254,255,254,255,254,255,255,255,0,0,0,0,0,0,255,255,255,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,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,254,255,254,255,254,255,254,255,255, +255,255,255,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,255,255,254,255,254,255,254,255,254,255,254,255,254,255,254,255,253,255,253,255,253, +255,254,255,254,255,255,255,255,255,0,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,255,255,255,255,254,255,254,255,254,255,254,255,254,255,254,255,254,255,255,255,255,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,1,0,1,0,1,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,254,255,254,255,254,255,254,255,255,255,255,255,255,255,255,255,255,255,254,255,254,255,254,255,254, +255,254,255,254,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,255,254,255,254,255,254,255,254,255,254,255,255,255, +255,255,255,255,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,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,1,0,1,0,1,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,254,255,254,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1, +0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,1,0,1,0,2,0,2,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,255,255,255,255,255,255, +254,255,254,255,254,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,255,255,254,255,254,255,254,255,254,255,254,255,254,255,254,255,254,255,255,255,255,255,255,255,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,0,0,0,0,0,0,0,0,0,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,255,254,255,255,255,255,255,255,255,255,255,254,255,254,255,254,255,254,255,255,255,255,255,0,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,254,255,254,255,254,255,254,255,254,255,253,255,253,255,254,255,254,255,254,255,255,255,255,255,254,255,254,255,254,255,254,255,254,255,254,255,255,255,255, +255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,1,0,1,0,1,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,1,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,254,255,254,255,254,255,254,255,255,255,255,255, +255,255,255,255,255,255,254,255,254,255,253,255,253,255,253,255,254,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,0,0,0,0,255,255,254,255,254,255,253,255,253,255,254,255,254, +255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,1,0,1,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,0,0,0,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,254,255,254,255, +255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,255,255,255,255,254,255,254,255,254,255,253,255,253,255,253,255,253,255,253,255,253,255,254,255,254,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,254,255,254,255,254,255,254,255,254,255, +254,255,254,255,255,255,255,255,255,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,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,2,0,1,0,1,0,1,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,254,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,255,254,255,254,255, +254,255,254,255,254,255,254,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,254,255,254,255,254,255,254,255,254,255,254,255,254,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1, +0,1,0,1,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,255,254,255,254,255,254,255,254,255,254,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,255,254,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,0,0,0,0,1,0,1,0,1, +0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,255,255,255,255,255,255,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,254,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,255,254,255,254,255,254,255,254,255,254,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,1,0,1,0,1,0,1,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,254,255,254,255,254,255,253,255,253,255,254,255,254,255,254,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +0,0,0,0,0,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,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,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,254,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,1,0,1,0,1,0,0,0,0,0,255,255,255,255,254,255,254,255,254,255,255,255,255,255,255, +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,255,255,255,255,255,255,254,255,254,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,255,254,255,254,255, +254,255,254,255,254,255,254,255,254,255,254,255,254,255,255,255,255,255,0,0,1,0,1,0,1,0,1,0,1,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,1,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0, +0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,1,0,1,0,1,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255, +255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,254,255,254,255,254,255,254,255,254,255,254,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,254,255,254,255,254,255,254,255,254,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255, +255,255,255,255,255,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,255,254,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0, +0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,255,254,255,254,255,254,255,254,255,254,255,254,255,254,255,254,255,254,255,254,255,254,255,254,255,254,255,254,255,254,255,254,255,254,255,254,255,254,255,254,255,254,255,254,255, +255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,254,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,255,254,255,254, +255,254,255,254,255,254,255,255,255,255,255,255,255,255,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,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,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,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,254,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,254,255,254,255,254,255,254,255,254,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,254,255, +254,255,254,255,254,255,254,255,254,255,254,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,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,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255, +255,255,255,255,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,255,254,255,254,255,254,255,254,255,254,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,255,254,255,254,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255, +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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255, +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,1,0,1,0,1,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,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,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,255,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,255,255,255,255,255,255,0,0,0,0,0,0,255,255,255,255,255,255,255, +255,255,255,255,255,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,254,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,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,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255, +255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0, +0,0,0,0,0,0,0,0,0,255,255,255,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,255,255,255,255,255,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,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,255,254,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255, +255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,255,255,255,255, +255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255, +255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,255,255,255,255,255,255,255,255, +255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255, +255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255, +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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,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,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,0,0,0,0,0,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,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +0,0,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0, +0,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255, +0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +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,255,255,255,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,255,255,255,255,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,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,255,255,255,255,255,255,255,255, +255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0, +255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,0,0,0,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,0,0,0,0,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,255,255,255,255,255,255,255,255,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,0,0,255,255,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,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,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,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,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255, +255,255,255,255,255,255,255,255,255,255,255,255,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,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,0,0,0,0,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,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,255,255,255,255,255,255,255,255,255,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, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0, +0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,0,0,0,0,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,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,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0, +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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255, +255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,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,255,255,255,255,255,255,255,255, +255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0, +0,255,255,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,255,255,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,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,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,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255, +255,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,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,255,255,255,255,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,0,0,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,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255, +255,255,255,0,0,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,255,255,255,255, +255,255,255,255,255,255,255,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,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,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,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,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,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,0,0,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,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,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,255,255,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,0,0,0,0,0,0,0,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,255,255,255,0,0,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,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,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,0,0,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,255,255,255,255,255,255,255, +255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,0,0,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255, +255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,255,255,255, +255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,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,255,255,255,255,255,255,255, +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,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,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,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,255,255,255, +255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0, +0,0,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,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,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,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,255,255,0,0,255,255,255, +255,255,255,255,255,255,255,255,255,0,0,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,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0, +0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0, +0,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,0,0,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,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0, +0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,0,0,0,0,0,0,0,0,255,255,255,255, +255,255,0,0,255,255,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,0,0,0,0,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255, +255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,0,0,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,0,0,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,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,255,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,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,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,255,255,255,255,255,255,255,0,0,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,255,255,0,0,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,255,255,255,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,255,255,255,255,255,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,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0, +0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,0,0,255,255,255,255,0,0,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,0,0,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,255,255,255,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,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,0,0,0,0,255,255,0,0,0,0,0,0,255,255,255, +255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,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,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,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255, +255,255,255,255,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,255,255,0,0,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,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,0,0,0,0,0,0,255,255,0,0,0,0,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0, +0,255,255,255,255,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,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,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,255,255,255,255, +0,0,0,0,255,255,0,0,0,0,255,255,255,255,0,0,0,0,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,255,255,255,255,0,0,0,0,0,0,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,255,255,0,0,0,0,0, +0,255,255,0,0,255,255,0,0,255,255,255,255,0,0,0,0,0,0,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,0,0,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,0,0,0,0,0,255,255,255,255,0,0,255,255,0,0,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,255,255,0,0,255,255,255,255,0,0,0,0,0,0,0,0,255,255,0,0,255,255, +0,0,0,0,255,255,255,255,0,0,0,0,255,255,0,0,0,0,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,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,255,255,0,0,0,0,0,0, +255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0, +0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,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,255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0, +255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,255,255,255,255,0,0,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,255,255,255,255,255,255,0,0,255,255,0,0,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,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,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,255,255,0,0,0,0,255,255,0,0,0,0,0,0,255,255,0,0,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0, +0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,0,0,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,0,0,255,255,255,255,255,255,255,255,0,0,0,0,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,255,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,0,0,255,255,255,255,0,0,0,0,255,255, +255,255,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,255,255,255,255,0,0,255,255,255,255,255,255,255,255,0,0,0,0,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,0,0,255,255,255,255,255,255,255,255,0,0,255,255,0,0,0,0,0,0,0,0,255,255,0,0,0,0,0,0,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,255,255,0,0,255,255,0,0,255,255,0,0,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,255,255,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +0,0,0,0,255,255,255,255,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,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,255,255,255,255,255, +255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,0,0,255,255,0,0,0,0,255, +255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,255,255,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,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,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,255,255,0,0,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,255,255,0,0,0,0,0,0, +0,0,0,0,255,255,0,0,255,255,0,0,255,255,255,255,0,0,255,255,0,0,0,0,0,0,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,255,255,255,255,255,255,0,0,255,255,0,0,0, +0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,0,0,255,255,0, +0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,0,0,0,0, +0,0,0,0,255,255,0,0,0,0,0,0,255,255,0,0,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,0,0,255,255,255,255,255,255,0,0,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,0,0,255,255,255,255,0,0,0,0,0,0,255,255,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,255,0,0,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,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,255,255,0,0,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255, +255,255,255,0,0,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,255,255,0,0,0,0,255,255,255,255,255,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,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,0,0,255,255,0,0,0,0,255,255,255,255,255,255, +0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,255,255,0,0,255,255,0,0,255,255,0,0,0,0,0,0,0,0,255,255,255,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,255,255,255,255,0,0,255,255,0,0,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,255,255,0,0,0,0,0,0,255,255,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,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,0,0,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,0,0,0,0,0,0,255,255,255,255,0,0,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0, +0,0,0,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,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,255,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,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,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,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,255,255,0,0,0,0,0,0,0,0,255,255,0,0,255,255,0,0,255,255,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,0,0,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255, +255,255,255,255,255,255,0,0,255,255,255,255,255,255,0,0,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,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,255,255,0,0,255,255,255,255,0,0,255,255,255,255,255,255,255,255,0,0,255,255,0,0,0,0,0,0,0,0,255,255,255,255, +0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,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,255,255,255,0,0,255,255,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,255,0,0,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,255,255,0,0,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,255,255,0,0,255,255,255,255,255,255,0,0,255,255, +255,255,255,255,255,255,255,255,0,0,0,0,255,255,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,0,0,255,255,255,255,0,0,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,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,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,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,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,255,255,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,255,255,0,0,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,0,0,0,0,0,0,255,255,0,0,0,0,0,0,0,0,255,255,0,0,255,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,255,255,0,0,255,255,0,0,255,255,0,0,0,0,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,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,255,255,0,0,255,255, +0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,0,0,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,0,0,255,255,0,0,0,0,255,255,255,255,0,0,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,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,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,255,255,0,0,255,255,255,255,0,0,255,255,255,255,0,0,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255, +255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,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,255,255,0,0,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255, +255,255,255,0,0,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,0,0,255,255,255,255,255,255,0,0,0,0,255,255,0,0,255,255,0,0,0,0,0,0,0,0,0,0,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,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,0,0,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,255,255,0,0,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,255,255,0,0,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,0,0,255,255,255,255,255,255,255,255,255,255,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,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,255,255,0,0,0,0,255,255,0,0,255,255,0,0,255,255,0,0,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,255,255,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,0,0,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,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,0,0,255,255,0,0,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,0, +0,0,0,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,255,255,0,0,0,0,255,255, +0,0,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,0,0,255,255,0,0,0,0,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,0,0,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,255,255,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255, +255,0,0,0,0,255,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,255,255,0,0,0,0,255,255,0, +0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,0,0,255,255,0,0,255,255,0,0,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,255,255,255,255,0,0,255,255,255,255,0,0,255,255,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255, +255,0,0,255,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,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,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,0,0,0,0,0,0,255,255,0,0,0,0,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,255,255,0,0,255,255,0,0,255, +255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,255,255,255,255,255,255,0,0,0,0,0,0,255,255,255,255,0,0,255,255,0,0,0,0,0,0,0,0,255,255,0,0,255,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,255,255,255,255,255,255,255,255,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,0,0,255,255,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255,0,0,255,255, +0,0,255,255,255,255,0,0,255,255,0,0,255,255,255,255,0,0,0,0,255,255,255,255,0,0,255,255,0,0,255,255,255,255,0,0,0,0,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,255,255,0,0,255,255,255, +255,0,0,255,255,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,0,0,255,255,0,0,255,255,0,0,0,0,255,255,255,255,255,255,0,0,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,255,255,0,0,0,0,255,255,0,0,0,0,0,0,255,255,255,255,0,0,255,255,0,0,255, +255,0,0,0,0,0,0,0,0,255,255,0,0,255,255,255,255,255,255,0,0,255,255,255,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,255,255,255,255,0,0,255,255,255,255,0,0,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,0,0,255,255, +255,255,0,0,255,255,255,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,255,255,255,255,0,0,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,255,255,255,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,255,255,0,0,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,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,255,255,255,255,0,0,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,255,255,255,255,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,0,0,255,255,0,0,0,0,255,255,0,0,255,255,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,0, +0,255,255,0,0,0,0,255,255,0,0,255,255,0,0,255,255,255,255,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,255,255,0,0,255,255,0,0,255,255,0,0,255,255,255,255,0,0,0,0,0,0,0,0,255,255,255,255,0,0,255,255,0,0,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,255,255,0,0,0,0,0,0,0,0,255,255,0,0,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,255,255,0,0,0,0,255,255,0,0,255,255,0,0,255, +255,0,0,0,0,255,255,255,255,255,255,0,0,255,255,0,0,0,0,255,255,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,0,0,255,255,0,0,0,0,0,0,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,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,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,0,0, +255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,255,255,0,0,255,255,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255, +255,255,255,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,255,255,0,0,0,0,0,0,255,255,0,0,255,255,255,255,0,0,255,255,0,0,0,0,255,255,0,0,0,0,255,255,0,0,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,255,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,255,255,0,0,255,255,255,255,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255, +255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,0,0,0,0,255,255,255,255,0,0,255,255,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,255,255,255,255,0,0,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,255,255,255,255,0,0,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255, +255,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,255,255,255,255,0,0,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,255,255,0,0,0,0,255,255,0,0,0,0,0,0,255,255,0,0,255,255,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,0,0,0,0,255,255,0,0,0,0,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,255,255,255,255,0,0,255,255,0,0,0,0,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,255,255,0,0,255,255,255,255,255,255,255,255,0,0,255,255,0,0,0,0,0,0,255,255,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255, +255,0,0,0,0,255,255,0,0,0,0,0,0,255,255,255,255,0,0,0,0,255,255,255,255,0,0,255,255,0,0,0,0,255,255,0,0,0,0,0,0,255,255,0,0,0,0,255,255,0,0,0,0,0,0,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,255,255,255,255,0,0,255,255,255,255,0,0,0,0,0,0,255,255,0,0,0,0,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,255,255,0,0,0,0,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,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,255,255,0,0,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,255,255,255,255,255, +255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255, +255,0,0,0,0,255,255,255,255,0,0,0,0,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,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,255,255,0,0,255,255,0,0,0,0,255,255,0,0,0,0,255,255,0,0,0,0,0,0,0,0,255,255,0,0,0,0,255,255,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,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,0,0,255,255,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,255,255,0,0,255,255,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,0,0,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,0,0,255,255,0,0,0,0,255,255,255,255,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,0,0,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,255,255,255,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,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,0,0,255,255,0,0,0,0,0,0,255,255,0,0,0,0,0,0,255,255,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0, +0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,255,255,0,0,255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,0,0,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,0,0,255,255,255,255,255,255,255,255,0,0,255,255,0,0,0,0,255,255,0,0,0,0,255,255,0,0,0,0,255,255,255,255,0,0,0,0,255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255, +0,0,0,0,255,255,0,0,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,0,0,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,255,255,0,0,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,0,0,0,0,255,255,255,255,0,0,255,255,0,0,255,255,255,255,0,0,255,255,255,255,255,255,255,255,0,0, +255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,0,0,0,0,255,255,255,255,0,0,255,255,255,255, +255,255,255,255,0,0,255,255,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,255,255,255,255,255,255,0,0,255,255,0,0,0,0,255,255,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,255,255,0,0,0,0,0,0,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,255,255,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,0,0,255,255,255,255,0, +0,255,255,0,0,255,255,255,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,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,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,255,255,0,0,0,0,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,0,0,0,0,0,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,255,255,0,0,0,0,255,255,255,255,255,255,0,0,255,255,0, +0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,255,255,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,0,0,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,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,255,255,255,255,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,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,255,255,255,255,0,0,0,0,255,255,255,255,0,0,0,0,255,255,255,255,255,255,0,0,0,0,0,0,255,255,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,255,255,255,255,255,255,255,255,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,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,255,255,0,0,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,0,0,0,0,255,255,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255, +255,255,255,0,0,255,255,0,0,0,0,255,255,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,255,255,0,0,255,255,0,0,0,0,255,255,0,0,255,255,255,255,255,255,0,0,255,255,255,255,255,255,0,0,0,0,255,255,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255, +255,255,255,0,0,0,0,0,0,255,255,0,0,0,0,0,0,0,0,255,255,0,0,255,255,0,0,255,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,0,0,255,255,255,255,255,255,0,0,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,0,0,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,0,0,255,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,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,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,255,255,255,255,0,0,255,255,255,255,255,255,0,0,255,255,0,0,255,255,0,0,255,255,255,255,0,0,255,255,255,255,255,255,0,0,255,255,255,255,0,0,255,255,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,0,0,0,0,255,255,0,0,255,255,0,0,0,0,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,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,255,255,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,0,0,255,255,0,0,0,0,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,255,255,0,0,0,0,0,0,0,0,255,255, +255,255,255,255,255,255,255,255,0,0,0,0,255,255,0,0,255,255,255,255,0,0,0,0,255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255, +255,0,0,255,255,0,0,255,255,0,0,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,255,255,0,0,255,255,255,255,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255, +255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,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,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,255,255,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,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,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,255,255,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,0,0,255,255,255,255,255,255,0,0,255,255, +255,255,255,255,255,255,0,0,0,0,0,0,255,255,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,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,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,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,255,255,255,255,0,0,0,0,255,255,0,0,0,0,255,255,0,0,255,255,255,255,255,255,0,0,255,255,0,0,0,0,0,0,0,0,255,255,0,0,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,255,255,0,0,0,0,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255,0,0,0,0,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255, +255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,0,0,255,255,255,255,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,0,0,0,0,255,255,0,0,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,255,255,0,0,0,0,0,0,0,0,0,0,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,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,255,255,255,255,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,255,255,255,255,255,255,0,0,0,0,0,0,255,255,0,0,255,255,255,255,0,0,255,255,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,0,0,0,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,255,255,0,0, +255,255,255,255,255,255,0,0,255,255,0,0,0,0,0,0,255,255,0,0,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,255,255,255,255,0,0,0,0,0,0,0,0,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,0,0,0,0,255,255,255,255,255,255,0,0,255,255,255,255,0,0,255,255,0,0,255,255,255,255,0,0,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,0,0,255,255,0,0,0,0,255,255,255,255,255,255,0,0,255,255,0,0,255,255,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0, +0,0,0,0,0,0,255,255,0,0,255,255,0,0,255,255,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,0,0,0,0,0,0,255,255,255,255,0,0,255,255,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255, +255,0,0,0,0,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,255,255,0,0,255,255,0,0,0,0,255,255,0,0,255,255,0,0,0,0,255,255,0,0,255,255,255,255,255,255,0,0,255, +255,255,255,255,255,0,0,255,255,0,0,255,255,255,255,255,255,255,255,0,0,255,255,0,0,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,255,255,255,255,255,255,0,0,255,255,0,0,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255, +255,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,255,255,255,255,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,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,0,0,0,0,0,255,255,255,255, +0,0,255,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,255,255,0,0,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,0,0,0,0,0,0,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,255,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,255,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,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,0,0,0,0,0,0,0, +0,255,255,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,255,255,0,0,0,0,255,255,255,255,0,0,255,255,0,0,0,0, +255,255,0,0,255,255,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,0,0,0,0,255,255,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,0,0,0,0,0,0,0,255,255,0,0,255,255,0,0,0,0,0,0,255,255,255,255,0,0,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,0,0,0,0,255,255,0,0,0,0,255,255,0,0,255,255,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,0, +0,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,0,0,255,255,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,255,255,0,0,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,255,255,0,0,0,0,255,255,0,0,0,0,0,0,0,0,0,0,255,255,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,0,0,0,0,255,255,0,0,0,0,0,0,0,0,255,255,0,0,0,0,255,255,255,255, +255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,255,255,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,0,0,0,0,0,0,255,255,0,0,255,255,0,0,0,0,0,0,0,0,255,255,0,0,0,0,255,255,255,255,0,0,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,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,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,255,255,0,0,255,255,255,255,0,0,255,255,0,0,0,0,255,255,255,255,0,0,0,0,0,0,255,255,0,0,0,0,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0, +0,0,0,255,255,255,255,255,255,255,255,0,0,255,255,0,0,0,0,0,0,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,0,0,255,255, +255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,255,255,255,255,0,0,0,0,0,0,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,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,0,0,255,255,255,255,0,0,0,0,0,0,255,255,0,0,255,255,0,0,255,255,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,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255, +255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,0,0,255,255,255,255,0,0,255,255,255,255,255,255,0,0,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,0,0,255,255,0,0,0,0,255,255,0,0,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255, +255,0,0,0,0,255,255,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,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,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,255,255,0, +0,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,255,255,255,255,255,255,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,255,255,0,0,0,0,0,0,255,255,255,255,255,255,255,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,255,255,0,0,255,255,0,0,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,255,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,0,0,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,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,255,255,0,0,255,255,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,255,255,0,0,0,0,0,0,255,255,0,0,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,255,255,255,255,0,0,0,0,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,255,255,0,0,255,255,0,0,0,0,0,0,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,255,255,0,0,0,0,255,255,0,0,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,255,255,255,255,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255, +0,0,0,0,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,255,255,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,0,0,255,255,255,255, +255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,0,0,0,0,255,255, +255,255,0,0,255,255,0,0,255,255,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,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,255,255,0,0,255,255,0,0,0,0,0,0,0,0,0,0,255,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,255,255,255, +255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,0,0,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,0,0,255,255,0, +0,255,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,0,0,255,255,0,0,255,255,0,0,255,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,255,255,0,0,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,0,255,255,0,0,255,255,0,0,255,255,0,0,0,0,255,255,0,0,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,0,0,255,255,255,255,255,255,0,0,255,255, +255,255,0,0,255,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,0,0,0,0,0,0,255,255,0,0,255,255,0,0,0,0,255,255,255,255,255, +255,0,0,0,0,255,255,0,0,0,0,255,255,255,255,0,0,255,255,0,0,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,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,255,255,255,255,0,0,255, +255,255,255,0,0,0,0,0,0,0,0,255,255,0,0,255,255,0,0,0,0,0,0,0,0,255,255,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,0,0,255,255,0,0,0,0,0,0,0,0,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255, +0,0,0,0,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0, +0,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,0,0,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,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,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,255,255,0,0,0,0,255,255,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255, +255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,255,255,0,0,255,255,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0, +0,0,0,255,255,0,0,0,0,0,0,0,0,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,255,255,0,0,0,0,255,255,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,255,255,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,255,255,0,0,0,0,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,255,255,255,255,0,0,255,255,255,255,0,0,255,255,255,255,255,255,0,0,0,0,255,255, +0,0,0,0,0,0,255,255,255,255,0,0,255,255,0,0,0,0,255,255,0,0,0,0,255,255,0,0,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,255,255,0,0,0, +0,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,0,0,255,255,0,0,255,255,255,255,255,255,0,0,255,255,255, +255,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,0,0,255,255,0,0,0,0,255,255, +0,0,0,0,0,0,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,255,255,0,0,255,255,0,0,255,255,255,255,255, +255,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,0,0,255,255,255, +255,0,0,255,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,0,0,255,255,255,255,255,255,255,255,0,0,255,255,255,255,0,0,255,255,255,255,0,0,255,255,255,255,0,0,0,0,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,255, +255,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,0,0,255,255,0,0,255,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,255,255,0,0,0,0,255,255,0,0,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,255,255,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,255,255,0,0,0,0,255,255, +0,0,0,0,255,255,0,0,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,255,255,0,0,255,255,0,0,255,255,255,255,0,0,255,255,0,0,255,255,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,0,0,0,0,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,0,0,255,255,255,255,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,255,255,255,255,255,255,0,0,0,0,255,255,255,255,255,255,0,0,255,255,255,255,255,255,0,0,0,0,255,255,0,0,0,0,0,0,255,255,0,0,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,255,255,255,255,0,0,0,0,0,0,255,255,0,0,255,255,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,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255, +255,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,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,0,0,0,0,0,255,255,255,255,0,0,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255, +255,0,0,255,255,0,0,0,0,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,0,0,0,0,0,0,0,0,255,255,0,0,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,0,0,0,0,0,255,255,0, +0,255,255,0,0,0,0,255,255,0,0,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,255,255,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,0,0,255,255,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,255,255,255,255,255, +255,255,255,0,0,0,0,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,255,255,255,255,255,255,0, +0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,255,255,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,0,0,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,255,255,0,0,255, +255,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,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,255,255,0,0,0,0,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,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,255,255,255,255,255,255,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,255,255,0,0,255,255,0,0,255,255,0,0,0,0,0,0,0,0,0,0,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,255,255,0,0,255,255,255,255,0,0,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,0,0,0,0,255,255,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,255,255,255,255,0,0,255,255,0,0,0,0,0,0,0,0,255,255,0,0,255,255,255,255,255,255,0,0,0,0,255,255,0,0,0,0,0,0,255,255,0,0,255,255,0,0,0,0,0,0,0,0,255,255,0,0,0,0,0,0,255,255,0,0,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,255,255,0,0,255, +255,0,0,255,255,255,255,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,0,0,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,0,0,0,0,255,255,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,0,0,0,0,255,255,255,255,255,255,0,0,255,255,0,0,0,0,255,255,0,0,0,0,255,255,0,0,255,255,255,255,0,0,0,0,255,255,0,0,0,0,255,255, +0,0,255,255,0,0,0,0,0,0,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,255,255,255,255,0,0,0,0,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,0,0,255,255,255,255,255,255,255, +255,255,255,255,255,0,0,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,0,0,255,255,0,0,255,255,0,0,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,255,255,255,255,0,0,0,0,0,0,0,0,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,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,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,0,0,0,0,255,255,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,0,255,255,0,0,0,0,0,0,255,255,0,0,255,255,255,255, +255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,255,255,0,0,255,255,255,255,0,0,255,255,255,255,0,0,0,0,255, +255,0,0,255,255,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,0,0,0,0,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,255,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,255,255,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,0,255,255,0,0,0,0,0,0,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0, +0,0,0,0,0,0,0,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,0,0,0, +0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,255,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,255,255,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,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,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,255,255,255,255,0,0,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,255,255,0,0,255,255,0,0,0,0,0,0,0,0,255,255,0,0,255,255, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,255,255,0,0,255,255,255,255,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,255,255, +0,0,255,255,0,0,255,255,255,255,255,255,255,255,0,0,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255, +255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,0,0,0,0,255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,0,0,255, +255,0,0,255,255,0,0,0,0,255,255,0,0,0,0,0,0,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,0,0,0,0,255,255,0,0,255,255,0,0,255,255,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,0,0,0,0,0,0,255,255,255, +255,255,255,0,0,255,255,0,0,0,0,0,0,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,0,0,255,255,255,255,0,0,255,255,255,255,0,0,255,255,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,0,0,0,0,255,255,255,255,0,0,255, +255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,0,0,255,255,0,0,0,0,0,0,0,0,255,255,255,255,0,0,255,255,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,0,0,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,0,0,255,255,0,0,255, +255,0,0,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,255,255,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,255,255,0,0,255,255,0,0,0,0,255,255,0,0,255,255,0,0,0,0,0,0,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,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,255,255,255,255,255,255,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,0,0,255,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255, +255,255,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,0,0,0,0,0,0,255,255,0,0,0,0,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,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,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,255,255, +0,0,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,255,255,0,0,255,255,0,0,255,255,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,255,255,0,0,255,255,0,0,0,0,255,255,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,0,0,255,255,0,0,0,0,255,255,255,255,255,255,0,0,0,0,255,255,0,0,255,255,0,0,255,255,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,255,255,0,0,0,0,0,0,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,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,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,255,255,255,255,0,0, +0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,255,255,0,0,0,0,0,0,0,0,255,255,255,255,0,0,255,255,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,255,255,0,0,0,0,255,255,0,0,255,255,255,255,0,0,255,255,0,0,0,0,255,255,255,255,0,0,255,255, +255,255,255,255,0,0,0,0,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,255,255,0,0,0,0,0,0,0,0,255,255,0,0,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,255,255,0,0,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,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,255,255,255,255,255,255,0,0,255,255,0,0,255,255, +255,255,255,255,255,255,0,0,0,0,255,255,255,255,255,255,255,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,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,255,255,0,0,0,0,255,255,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,0,0,0,0,0,255,255,255,255,0,0,0,0,255,255,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,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,0,0,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,0,0,255,255,0,0,0,0,255,255,255,255,0,0,255,255,0,0,255,255,255,255,0,0,0,0,0,0,0,0,255,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,255,255,0,0,0,0,255,255,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,0,0,255,255,0,0,255,255,255,255,0,0,255,255,0,0,255,255,0,0,0,0,0,0,0,0,255,255,0,0,255,255,0,0,255,255,0,0,0,0,0,0,255,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,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0, +0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,0,0,255,255,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,0,0,255,255,255,255,0,0,255,255,255,255,0,0,0,0,0,0,0,0,255,255,0,0,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,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,255,255,0,0,255,255,0,0,255,255,0,0,0,0,255,255,0,0,255,255,0,0,0,0,255,255,255,255,0,0, +0,0,255,255,0,0,0,0,255,255,0,0,255,255,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,0,0,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,0,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,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,255,255,0,0,255,255,0,0, +255,255,0,0,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,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,255,255,0,0,255,255,255,255,0,0,0,0,255,255,0, +0,0,0,255,255,255,255,0,0,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,255,255,0,0,0,0,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,255,255,0,0,0,0,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,255,255,0,0,255,255,0,0,0,0,255,255,255,255,0,0,255,255,0,0,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,255,255,0,0,0,0,255,255,255,255,255,255,0,0,255,255, +255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,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,255,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,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,255,255,0,0,0,0,0,0,0,0,255,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,255,255,0,0,255,255,0,0,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,0,0,255,255,255,255,0,0,255,255,255,255,0,0,255,255,255,255,255,255,0,0,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,0,0,0,0,0,0,0,0,255,255,255,255,0,0,255,255,0,0,0,0,0,0,0,0,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,255,255,0,0,0,0,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,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,255,255,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,255,255,255,255,255,255,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,255,255,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,0,255,255,255,255,0,0,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,0,0,255,255,255,255,255,255,0,0,0,0,0,0,255,255,255,255,0, +0,0,0,255,255,0,0,255,255,255,255,0,0,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,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,255,255,0,0,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,255,255,0,0,0,0,0,0,0,0,255,255,0,0,0,0,255,255,255,255,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,255,255,0,0,0,0,255,255,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0, +0,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,255,255,0,0,0,0,255,255,255,255,255, +255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,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,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,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,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,0,255,255,0,0,0,0,0,0,255,255,255,255,0,0,255,255,0,0,0,0,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,255,255,255, +255,0,0,255,255,0,0,255,255,255,255,0,0,255,255,0,0,255,255,255,255,0,0,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,255,255,0,0,255,255,255,255,255,255,0,0,255,255,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,255,255,255,255,255,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,255,255,0,0,0,0,0,0, +0,0,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,0,0,255,255,0,0,255,255,255,255,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0, +0,255,255,0,0,255,255,255,255,255,255,0,0,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,255,255,255,255,0,0,255,255,0,0,255,255,255,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,0,0,0,0,0,0,0,0,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,255,255,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,0,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,0,0,0,255,255,255,255, +0,0,0,0,255,255,0,0,255,255,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,0,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,0,0,255,255,0,0,255,255,255,255,255,255,255, +255,0,0,255,255,255,255,255,255,0,0,255,255,255,255,0,0,255,255,255,255,255,255,255,255,0,0,255,255,0,0,0,0,255,255,255,255,0,0,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,0,0,255,255,0,0,255,255,255,255,255, +255,255,255,255,255,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,255,255,255,255,0,0,255,255,255,255,255,255,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,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,255,255,0, +0,0,0,0,0,255,255,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,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,255,255,255,255,0,0,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,255,255,0,0,0,0,0,0, +0,0,255,255,0,0,0,0,255,255,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,255,255,255,255,255,255,0,0,255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,0,0,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,255,255,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,0,0,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255, +255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,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,255,255,0,0,0,0,0,0,0,0,255,255,0,0,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,255,255,0,0,255,255,255,255,0,0,255, +255,0,0,255,255,255,255,255,255,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,0,0,255,255,0,0,255,255,0,0,0,0,255,255,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255, +255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,0,0,0,0,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,0,0,255, +255,255,255,255,255,255,255,0,0,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,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,255,255,0,0,255,255,0, +0,0,0,0,0,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,255,255,0,0,0,0,255,255,0,0,255,255,0,0,255, +255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,0,0,0,0,255,255,255,255,0, +0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,0,0,0,0,0,0,255,255,255,255,0,0,255,255,0,0,255,255,255, +255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,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,0,0,0,0,0,0,0,0,0,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,0,255,255,0,0,0,0,255,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,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,255,255,255,255,0,0,255,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,255,255,0,0,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255, +255,255,255,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,255,255,255,255,255,255,255,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,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,255,255,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,255,255,255, +255,0,0,0,0,0,0,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,0,0,255,255,0,0,255,255,0,0,255, +255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255, +255,255,255,255,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0, +0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,255,255,255,255,0,0,255,255,0,0,0,0,255,255,0,0,0,0,255,255,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,0,0,0,0,255,255,0,0,0,0,0,0,0,0,0,0,255,255,0,0,255,255,0,0,255,255,0, +0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,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,255,255,0,0,0,0,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,255, +255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255, +255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255, +255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,255,255, +255,255,0,0,255,255,0,0,255,255,255,255,0,0,255,255,255,255,0,0,255,255,255,255,0,0 }; + +const char* guitar_amp_wav = (const char*) temp_binary_data_2; + +//================== proaudio.path ================== +static const unsigned char temp_binary_data_3[] = +{ 110,109,94,122,189,65,86,174,63,67,108,152,230,10,67,178,93,132,66,108,242,130,195,66,178,93,132,66,108,152,230,10,67,0,0,0,0,108,22,94,178,66,0,0,0,0,108,210,215,29,66,68,75,189,66,108,172,33,146,66,68,75,189,66,99,109,0,64,144,66,137,57,121,65,98,65, +235,252,65,200,166,160,65,0,0,0,0,30,34,90,66,0,0,0,0,49,117,192,66,98,0,0,0,0,164,28,244,66,146,92,66,65,123,22,17,67,0,24,248,65,24,246,31,67,108,0,20,19,66,152,165,20,67,98,144,78,175,65,77,16,8,67,0,216,71,65,181,140,234,66,0,216,71,65,49,117,192, +66,98,0,216,71,65,217,128,127,66,69,240,10,66,47,102,19,66,0,150,129,66,196,64,236,65,108,0,64,144,66,137,57,121,65,99,109,0,10,1,67,196,28,246,65,108,0,237,244,66,98,92,37,66,98,112,181,0,67,130,44,56,66,101,29,6,67,18,42,79,66,128,112,10,67,98,76,105, +66,108,128,225,24,67,98,76,105,66,98,8,26,19,67,116,188,61,66,81,235,10,67,112,11,24,66,0,10,1,67,197,28,246,65,99,109,128,72,26,67,98,60,116,66,108,0,18,17,67,49,49,142,66,98,122,31,20,67,138,193,157,66,0,209,21,67,138,178,174,66,0,209,21,67,49,117, +192,66,98,0,209,21,67,193,55,6,67,176,74,238,66,152,227,36,67,255,76,162,66,152,227,36,67,98,152,174,148,66,152,227,36,67,199,139,135,66,181,227,35,67,254,69,118,66,152,13,34,67,108,254,113,81,66,24,21,44,67,98,230,66,117,66,56,126,47,67,144,7,142,66, +24,97,49,67,255,76,162,66,24,97,49,67,98,54,203,251,66,24,97,49,67,0,79,34,67,81,248,12,67,0,79,34,67,48,117,192,66,98,0,79,34,67,4,70,167,66,172,108,31,67,253,104,143,66,128,72,26,67,96,60,116,66,99,101,0,0,0,0 }; + +const char* proaudio_path = (const char*) temp_binary_data_3; + +//================== reverb_ir.wav ================== +static const unsigned char temp_binary_data_4[] = +{ 82,73,70,70,204,228,9,0,87,65,86,69,102,109,116,32,16,0,0,0,1,0,2,0,68,172,0,0,152,9,4,0,6,0,24,0,100,97,116,97,168,228,9,0,0,0,0,0,0,0,56,0,0,122,255,255,155,1,0,81,254,255,161,5,0,128,254,255,111,6,0,115,253,255,19,7,0,249,240,255,147,1,0,35,217,255, +180,250,255,23,195,255,198,2,0,79,198,255,32,4,0,198,187,255,160,247,255,70,126,255,136,222,255,83,56,255,63,199,255,180,253,254,47,158,255,148,241,254,94,76,255,180,44,255,239,12,255,90,205,255,64,180,254,227,197,0,101,64,254,72,184,1,71,227,253,232, +139,2,153,118,253,88,93,3,240,89,253,92,48,4,235,144,253,242,84,5,145,40,254,239,255,6,171,44,255,13,76,9,90,77,0,211,163,10,108,151,1,122,206,10,95,185,2,115,121,10,240,77,4,85,149,9,0,112,6,86,106,8,72,77,8,21,46,7,59,113,10,153,195,7,31,255,12,244, +209,7,194,250,14,191,149,4,225,210,15,99,51,2,192,222,15,61,123,255,202,193,15,129,116,249,129,71,15,115,54,244,138,246,14,232,207,242,139,210,13,128,96,241,2,54,10,152,187,238,51,204,6,130,220,234,111,37,4,149,8,234,143,18,0,192,152,234,240,241,250, +216,128,230,144,84,246,130,166,225,28,55,242,88,136,226,112,244,238,242,9,227,170,143,235,92,97,228,239,10,233,98,43,230,88,228,230,102,79,228,132,235,227,108,186,228,183,22,226,218,154,230,71,131,225,170,117,233,142,107,225,116,97,238,126,86,226,52, +191,240,236,94,228,221,233,239,238,69,228,4,29,244,175,81,228,248,215,248,150,244,227,27,203,252,118,17,229,208,233,3,205,34,235,98,46,12,141,103,243,8,154,17,250,160,241,89,241,21,1,235,237,48,168,26,174,153,249,134,194,29,145,110,0,168,142,33,62,38, +255,244,185,36,100,67,255,147,28,38,161,3,3,2,210,31,36,18,13,222,136,21,180,87,14,252,246,15,134,50,12,16,75,10,90,137,21,235,190,3,230,52,30,249,129,255,157,39,27,7,171,252,60,199,20,72,82,251,182,75,18,239,247,244,235,207,18,145,175,237,221,160,14, +245,174,235,211,164,9,105,125,236,184,149,7,154,195,236,165,81,2,87,148,231,180,207,254,153,82,231,84,15,1,173,226,233,15,233,249,107,217,231,82,117,243,252,126,226,69,240,246,6,242,224,90,19,250,161,118,226,241,205,0,205,35,230,174,148,254,18,237,234, +252,204,242,75,55,240,42,181,245,176,28,242,92,156,2,1,10,240,231,85,249,138,104,242,34,64,235,151,75,251,30,108,239,35,166,2,133,5,246,95,83,2,66,36,245,115,142,8,156,191,237,251,138,20,248,165,232,227,224,25,179,199,235,29,12,23,167,46,244,6,159,17, +162,179,244,158,122,16,109,223,238,127,12,22,208,239,247,229,217,21,78,224,6,234,58,12,98,218,2,62,100,10,48,103,251,133,207,14,28,220,250,14,167,12,181,63,251,100,211,6,42,24,247,40,42,6,77,34,243,121,246,4,151,93,242,68,118,2,197,230,231,199,185,251, +162,17,248,113,234,241,96,146,7,16,222,233,215,112,224,104,154,228,11,148,229,166,5,224,206,40,15,104,142,217,141,251,242,139,93,213,33,22,201,217,212,223,82,16,201,141,193,230,125,62,213,77,86,221,51,201,219,206,183,221,146,50,185,122,231,232,145,152, +149,103,148,228,126,102,197,104,54,213,42,207,247,59,151,203,225,171,221,147,109,208,190,191,209,86,25,217,175,228,3,113,41,205,32,163,22,210,78,192,255,189,237,202,253,211,185,172,237,169,96,237,24,160,21,195,223,243,131,251,49,219,57,246,243,123,60, +144,61,2,94,49,33,12,209,5,89,39,29,132,64,253,233,104,58,137,196,1,137,242,98,200,59,21,210,5,53,244,204,44,70,81,19,70,234,54,119,161,70,45,116,41,163,108,100,220,10,27,151,168,95,40,86,39,17,123,72,44,182,58,210,65,47,9,97,50,238,242,62,195,225,36, +67,102,80,50,124,45,108,72,51,81,120,63,5,85,16,88,70,76,27,31,30,16,192,66,200,237,33,119,123,45,207,114,253,130,37,41,132,38,4,120,231,48,68,152,222,175,64,51,73,127,211,229,96,39,97,51,255,113,57,34,115,118,223,119,221,23,176,242,195,63,45,10,169, +137,207,24,51,9,92,176,231,147,207,247,78,211,208,15,137,247,31,153,179,219,142,0,129,156,221,172,218,251,53,134,221,72,30,234,50,190,213,252,29,233,202,226,211,150,124,239,211,199,217,84,226,226,160,216,245,56,47,222,254,173,238,201,172,224,195,138, +238,128,209,228,64,168,254,225,247,221,148,196,4,56,78,213,222,98,13,215,186,212,99,252,24,50,168,222,194,122,44,70,27,226,122,123,53,155,203,230,182,210,48,124,144,236,126,198,56,78,18,241,86,2,60,241,119,250,88,227,58,52,235,5,228,92,44,229,243,19, +91,163,43,158,165,30,129,219,51,192,235,32,80,229,38,214,43,36,84,214,25,216,153,40,88,72,7,10,165,45,141,247,254,84,105,50,40,21,251,106,211,49,18,166,246,72,251,47,51,186,239,250,103,41,116,186,229,173,232,32,128,220,225,243,50,21,206,53,227,69,148, +12,162,117,227,8,232,5,18,218,215,160,205,4,8,163,230,47,154,2,196,217,238,199,117,245,109,66,235,198,245,232,41,124,224,137,230,228,101,104,235,40,148,227,142,224,239,133,91,232,194,96,242,230,37,234,23,191,242,21,196,228,15,33,250,23,109,233,80,175, +7,50,30,236,254,114,250,24,30,235,132,204,0,28,188,236,101,59,14,183,239,242,86,225,7,89,84,245,47,112,255,200,129,245,73,9,17,245,175,248,28,103,12,165,148,252,31,80,11,96,152,1,254,7,11,47,250,5,187,176,19,151,19,1,184,145,14,230,63,1,53,170,12,125, +12,7,128,8,3,54,79,10,28,25,251,194,170,10,75,135,249,60,149,9,90,13,252,173,232,7,28,252,247,191,38,8,127,206,239,218,3,7,159,45,243,74,255,0,14,239,241,166,245,249,86,242,243,84,69,248,39,198,239,23,67,249,81,84,242,196,64,242,186,65,243,126,40,237, +234,147,245,32,67,234,150,46,252,120,112,236,105,64,0,113,103,236,41,151,252,103,206,234,217,84,253,16,208,235,142,157,8,146,59,236,132,122,252,254,53,244,227,13,252,176,188,247,32,184,2,52,78,246,185,35,1,141,176,250,56,118,251,251,10,252,246,201,252, +172,222,251,70,163,254,121,99,1,169,146,249,173,32,3,253,65,247,224,122,7,37,145,248,157,166,11,91,195,247,215,126,10,183,198,245,194,93,11,242,137,254,219,50,10,176,89,255,16,203,9,129,230,7,194,194,8,204,88,9,121,107,12,92,245,11,154,136,11,12,175, +14,239,6,9,170,139,13,196,15,9,34,65,9,201,138,8,214,223,11,219,96,5,74,227,8,147,2,5,66,255,10,59,177,5,159,149,13,162,12,7,205,204,11,50,49,10,174,169,1,189,66,3,226,153,5,121,216,251,250,117,8,174,79,249,236,84,4,35,0,250,250,235,8,26,244,253,146, +88,13,120,190,253,196,129,15,159,19,253,49,101,8,157,1,253,228,233,0,241,158,252,113,119,251,237,20,249,158,47,254,107,84,250,166,55,249,249,189,250,234,232,243,83,11,252,63,32,242,155,200,249,191,83,246,60,209,247,15,13,240,40,151,246,193,183,238,254, +49,245,10,32,239,167,45,245,25,1,239,42,140,243,66,85,246,40,204,246,159,48,248,193,52,252,16,201,246,137,3,1,157,79,250,22,66,255,146,134,252,102,29,1,80,170,1,66,178,6,159,125,3,205,153,4,13,188,8,96,73,3,183,222,11,8,213,1,244,239,14,200,177,9,99, +96,15,11,3,13,241,45,18,164,238,10,93,239,13,126,187,9,154,151,9,17,18,10,181,188,13,29,126,12,185,165,13,216,187,12,24,93,9,168,166,9,39,15,7,39,187,9,230,51,7,211,36,15,151,245,8,102,0,10,201,202,6,214,26,7,67,239,0,19,236,4,14,99,255,213,170,4,251, +38,255,191,214,2,127,251,252,237,151,254,48,113,250,152,249,248,77,172,254,161,148,248,243,218,253,124,103,247,114,177,247,161,66,244,207,199,250,225,5,246,36,139,247,208,85,246,122,245,248,83,124,247,147,185,254,11,95,247,63,150,254,52,76,246,49,118, +0,227,121,248,209,117,5,118,74,250,121,70,3,136,100,253,59,231,5,138,186,2,160,170,7,179,48,7,43,240,7,61,39,9,23,232,12,98,226,8,226,81,12,152,213,7,60,152,8,81,168,10,89,172,9,246,244,16,49,58,7,112,79,18,93,164,3,203,213,21,103,228,6,217,113,20,13, +5,7,126,42,17,37,233,8,212,60,14,185,231,6,110,109,13,15,179,4,96,105,12,246,251,3,219,160,11,130,91,3,116,224,14,24,60,6,242,128,12,102,224,5,37,122,8,57,253,1,50,237,3,106,202,255,55,199,255,180,181,6,235,131,254,178,114,5,163,79,251,253,178,255,195, +187,247,245,64,2,239,132,253,237,0,0,169,119,253,214,182,253,205,184,251,130,206,254,225,221,248,57,47,253,36,187,250,221,224,255,125,215,249,81,58,1,58,177,248,103,113,255,175,22,250,76,186,252,200,203,250,237,73,255,16,20,254,4,5,255,72,198,254,125, +111,252,177,88,2,184,189,253,28,185,255,116,166,0,61,45,252,16,140,3,234,92,251,230,64,0,212,114,252,39,119,253,152,100,0,247,132,253,84,136,4,122,141,2,103,76,3,110,244,255,102,234,255,162,225,252,21,121,254,27,227,255,160,131,255,173,163,1,105,134, +0,194,28,4,148,52,1,133,7,2,14,212,1,212,79,255,178,175,0,253,143,252,211,166,2,2,83,1,69,63,2,72,27,1,16,203,254,225,246,1,213,177,253,143,208,254,112,232,253,232,191,251,18,95,254,123,22,253,112,45,253,35,138,253,169,56,253,16,3,254,186,224,253,227, +198,252,47,206,253,20,122,252,182,72,251,201,176,253,178,198,247,146,187,253,93,220,248,36,117,250,154,91,253,244,200,0,168,166,253,120,153,255,241,30,253,29,54,255,150,244,252,206,7,0,174,165,253,76,148,0,20,50,254,213,8,1,21,188,254,108,1,3,14,139, +2,93,158,3,98,156,3,58,192,2,161,117,1,195,212,0,44,59,2,194,7,1,224,129,1,8,44,4,61,208,254,96,167,255,237,251,1,130,157,252,21,124,4,137,233,252,121,193,3,186,14,254,27,253,3,234,252,253,108,164,0,224,219,253,32,56,253,251,32,254,10,66,255,128,62,254, +105,89,254,191,5,254,75,63,252,178,125,254,99,161,253,222,41,0,62,74,0,111,128,255,72,62,255,10,234,0,45,251,252,219,62,1,52,158,251,147,206,2,243,198,250,174,246,0,195,150,0,219,125,1,140,143,3,6,5,0,111,72,0,73,219,252,132,241,253,159,47,255,43,34, +254,240,150,1,233,62,253,47,102,0,15,231,250,100,38,253,142,192,249,167,155,252,201,12,251,145,124,252,117,174,251,126,109,253,13,87,250,181,110,252,35,240,250,157,228,254,174,71,250,88,22,255,208,96,250,159,116,254,148,136,248,203,121,254,172,39,251, +94,175,252,199,100,253,35,12,254,109,11,253,163,229,254,125,202,1,230,9,255,124,58,1,168,76,255,97,135,254,142,66,255,235,154,2,129,180,255,175,73,7,76,107,253,183,120,4,202,239,254,43,114,2,105,22,3,95,128,3,207,188,2,241,206,4,235,63,255,88,123,3,32, +198,0,86,3,0,229,97,2,80,177,1,220,239,3,189,36,6,164,42,254,184,6,4,78,70,253,176,108,255,240,213,1,187,106,253,73,49,0,168,87,255,140,243,254,244,166,254,103,178,254,149,181,252,108,139,1,190,174,249,165,172,255,135,55,250,39,44,254,28,229,251,6,177, +251,62,20,250,222,95,250,24,174,245,243,100,252,250,99,248,38,52,252,190,85,252,28,137,252,22,240,250,198,10,255,187,8,251,23,63,255,243,251,250,213,148,255,203,99,251,132,169,254,10,151,253,101,87,0,182,178,253,21,155,0,221,131,253,170,153,0,201,242, +253,138,197,0,65,228,0,226,238,3,199,52,2,232,210,0,60,123,0,87,178,251,190,206,2,46,246,253,159,71,4,75,34,254,175,28,6,130,149,253,111,89,4,77,166,255,215,90,2,88,215,255,249,70,1,84,195,252,195,217,0,159,156,250,173,186,0,174,210,248,120,14,1,153, +19,252,195,168,255,27,13,252,173,222,252,114,36,255,38,104,254,203,235,255,253,199,254,22,8,253,220,125,253,232,25,255,175,53,253,31,7,0,50,240,252,255,159,253,122,153,252,136,20,254,123,232,252,24,16,255,228,103,251,132,88,255,232,121,252,115,79,2,135, +216,253,20,103,4,130,123,251,13,185,1,156,180,252,34,228,0,238,191,252,37,84,4,71,149,252,236,74,5,89,49,254,73,186,5,8,34,0,40,136,3,170,20,1,65,18,1,46,14,3,207,78,0,191,74,4,63,83,255,209,227,0,25,46,253,243,109,253,202,239,254,35,40,1,40,32,0,96, +219,1,110,69,254,45,123,253,163,12,0,124,43,253,120,66,2,255,44,253,116,54,255,38,35,255,120,254,251,44,128,2,7,23,255,215,175,255,246,31,0,68,160,254,155,45,252,13,147,0,254,33,252,213,5,2,111,203,254,235,253,255,6,17,255,117,18,255,63,174,252,246,229, +0,19,92,254,35,166,2,110,55,255,208,197,3,54,184,255,54,49,1,248,43,1,146,34,1,147,108,255,234,182,255,123,44,250,204,189,255,118,150,247,203,154,252,233,64,246,224,249,245,109,255,247,244,38,242,180,185,250,212,19,243,152,27,250,149,50,246,112,129,250, +174,199,249,253,13,253,236,24,248,19,41,253,132,108,248,201,154,255,84,180,255,211,226,2,197,239,0,189,160,255,35,251,255,78,223,0,252,29,1,64,57,3,105,51,2,119,139,0,0,204,0,197,57,255,67,67,0,252,156,0,135,121,255,90,215,0,187,151,255,37,236,1,109, +164,1,40,187,3,116,11,5,174,151,3,254,206,4,235,253,4,164,33,0,109,93,6,167,210,4,208,145,1,96,222,7,113,215,255,177,247,4,204,200,9,121,12,3,203,233,11,198,226,8,137,96,3,84,139,9,188,147,249,30,196,6,69,26,249,102,29,1,65,122,4,130,58,251,114,251,8, +253,87,253,156,52,2,54,210,3,62,18,255,195,142,1,110,43,1,223,218,253,101,123,8,126,190,2,11,117,18,235,126,5,232,45,22,80,217,9,198,28,21,210,70,23,189,178,22,54,76,29,88,189,26,83,7,21,160,161,25,126,48,16,246,210,25,226,31,25,153,48,23,194,94,29,38, +196,18,128,131,28,86,119,18,243,168,21,151,118,27,190,168,19,181,233,39,193,118,26,17,59,30,112,160,40,255,211,28,141,178,43,6,85,41,87,233,39,52,72,32,224,178,39,232,31,35,170,187,40,61,245,43,10,11,48,150,65,25,104,22,46,113,167,16,225,23,37,60,214, +14,127,214,26,96,157,25,75,46,16,106,33,22,251,77,33,125,15,250,9,169,31,3,93,219,35,26,3,190,247,241,151,109,223,135,159,245,140,120,243,73,177,207,81,168,241,166,137,166,77,124,204,204,63,186,192,2,170,113,27,174,41,75,180,160,169,156,81,243,166,96, +120,154,48,236,141,147,81,165,12,81,150,134,212,158,244,152,157,192,252,173,24,247,146,48,55,206,141,200,149,77,114,211,136,43,191,169,170,209,203,191,193,27,16,233,57,19,201,15,100,6,133,172,218,134,252,253,111,48,246,13,98,4,193,71,244,84,26,19,217, +225,252,163,83,24,217,200,17,19,95,16,121,29,20,143,97,28,13,192,14,97,218,38,23,43,33,246,207,32,246,122,41,234,253,28,207,26,37,106,18,42,231,182,33,59,81,44,247,182,49,17,171,31,35,137,47,100,224,28,228,222,38,120,167,34,82,73,38,189,112,28,225,69, +44,215,178,22,237,198,37,19,45,21,120,11,33,250,111,21,24,128,31,53,136,15,106,236,27,19,134,6,131,83,24,145,161,254,236,87,17,231,5,244,217,132,255,222,36,238,140,179,243,245,228,229,227,24,239,184,251,210,82,196,227,0,242,195,112,234,204,193,140,199, +148,104,191,245,88,207,146,64,192,115,152,207,104,106,196,139,116,209,217,76,200,25,127,226,154,85,204,127,170,242,102,187,216,62,216,247,218,10,232,15,225,255,122,46,244,95,153,12,217,168,252,88,164,22,232,212,6,116,78,21,150,150,18,232,120,21,151,130, +21,83,86,24,34,206,21,168,96,21,95,56,22,86,131,17,98,234,20,125,218,16,55,231,21,25,37,15,218,247,19,172,116,11,75,0,21,145,4,8,163,225,17,128,169,5,147,50,13,93,24,4,179,65,12,139,213,255,152,100,12,143,250,250,29,113,7,6,73,249,124,204,255,144,229, +247,23,96,253,19,52,246,26,128,253,81,129,244,64,174,248,47,63,242,56,138,244,3,131,241,125,133,244,34,22,239,126,169,242,244,189,238,214,225,237,57,45,241,101,107,236,154,202,241,16,192,236,71,21,245,113,217,237,109,210,245,47,74,241,130,238,250,171, +202,240,193,94,253,96,62,242,249,171,2,58,73,246,58,10,8,118,84,249,134,86,14,240,248,254,156,148,17,184,136,3,53,17,21,249,41,9,25,144,23,102,56,17,56,33,22,21,161,19,150,251,19,31,141,18,73,184,17,92,7,18,47,190,16,58,252,16,137,55,13,214,194,15,107, +181,8,98,79,17,28,33,7,212,44,16,62,88,4,7,8,14,129,70,254,168,123,8,184,103,250,37,74,1,124,70,249,3,198,4,168,140,248,16,204,4,23,100,245,249,47,253,120,33,242,138,140,250,229,155,240,100,108,254,187,42,240,186,120,250,69,126,239,28,234,244,188,188, +239,92,129,249,67,23,240,1,245,247,213,209,242,206,136,244,157,196,245,227,127,247,174,153,247,219,159,248,15,153,250,93,133,250,133,191,252,121,175,249,168,204,255,231,214,249,68,91,3,85,167,252,189,133,7,228,73,254,108,146,7,86,54,1,250,34,10,35,85, +3,241,60,11,200,225,4,131,206,11,89,255,3,162,120,13,59,145,8,222,163,12,2,126,9,180,45,8,157,220,5,250,200,5,208,59,4,23,139,4,229,31,3,21,31,0,225,76,0,40,17,251,92,162,253,117,191,249,214,18,251,176,163,248,20,112,248,118,249,244,175,255,245,9,102, +243,225,184,246,101,71,245,227,176,248,25,6,244,62,243,245,216,58,243,34,42,245,68,235,245,71,116,248,197,123,248,125,138,250,255,59,250,232,139,251,61,156,252,78,36,251,97,122,254,44,221,254,157,236,253,39,90,1,113,93,255,112,129,1,160,153,2,9,243,255, +200,232,2,43,126,1,32,68,1,159,138,3,227,77,2,64,72,3,125,84,5,170,53,4,255,0,6,120,212,7,93,24,4,156,50,9,101,51,3,125,4,8,95,201,7,219,220,5,213,86,6,100,57,8,129,97,2,77,150,7,70,239,3,164,149,1,228,130,4,141,80,4,123,243,6,200,227,4,84,182,4,185, +87,4,228,146,1,0,210,0,29,14,4,221,113,255,199,13,5,70,180,253,240,95,0,172,67,248,59,169,255,229,121,250,92,44,1,167,130,255,239,44,255,119,138,1,198,207,253,66,69,255,23,0,255,60,21,253,228,115,254,102,49,255,123,10,254,249,169,253,7,159,255,171,177, +249,79,48,0,84,1,254,193,192,0,163,131,1,197,37,0,12,155,254,167,192,254,254,60,250,62,209,254,171,233,255,177,44,254,31,208,6,38,105,253,173,173,7,84,250,253,120,236,4,87,95,253,93,112,2,128,74,253,245,113,254,68,165,252,49,116,251,17,100,251,108,232, +249,19,51,252,86,31,254,207,123,1,166,255,5,235,5,4,122,104,7,32,7,1,201,129,3,8,216,0,0,202,0,222,86,2,27,244,254,127,83,1,107,14,1,231,239,2,60,87,3,85,5,4,135,171,7,127,43,5,241,45,14,18,75,5,208,235,11,22,68,3,144,230,4,176,114,3,101,192,2,162,175, +1,240,37,1,58,253,2,102,199,252,155,252,5,168,85,255,89,172,9,208,32,1,114,52,9,3,225,251,184,221,6,51,168,248,23,249,5,133,92,251,17,32,2,185,210,253,91,40,1,205,219,253,70,38,4,99,39,253,30,215,3,154,59,0,118,239,1,196,24,2,15,211,1,80,29,4,84,78,2, +47,138,4,242,134,5,75,125,2,230,215,3,117,55,1,122,242,254,245,76,252,88,217,254,175,139,244,67,30,2,168,75,244,156,133,255,91,15,248,7,59,252,122,218,251,40,153,250,129,4,0,235,151,246,166,127,5,74,146,242,222,50,0,82,90,243,14,155,244,80,231,245,234, +172,244,29,64,242,96,233,243,146,130,240,161,35,228,168,42,246,236,37,216,0,100,247,164,196,221,82,82,243,42,188,225,63,204,237,186,123,220,54,49,237,253,201,216,145,124,239,219,52,229,58,188,234,87,104,241,185,239,224,245,217,244,80,51,226,210,236,251, +202,73,233,251,239,4,36,94,234,174,194,0,62,92,235,92,154,241,40,26,244,49,43,228,124,30,253,54,200,236,46,31,0,148,222,9,136,151,3,123,13,24,234,14,8,26,6,21,195,54,15,52,128,22,79,221,14,188,48,29,25,164,9,17,92,28,248,122,12,202,117,30,218,57,19,105, +58,32,248,51,24,173,157,46,43,34,28,7,174,59,176,92,30,236,53,69,135,32,32,124,204,73,38,93,35,19,5,69,224,48,32,94,194,56,19,22,29,71,239,48,253,108,30,60,44,38,145,20,31,198,70,24,32,148,30,182,22,25,170,99,29,56,77,25,55,148,27,12,5,13,71,121,28,39, +129,3,34,187,22,31,139,6,228,34,13,59,98,251,34,156,7,22,50,244,86,74,5,185,189,237,57,51,253,111,40,234,215,131,240,164,223,237,11,124,230,28,218,233,237,12,230,56,89,219,252,55,235,122,96,203,178,179,236,114,45,218,116,181,211,85,80,229,136,86,197, +50,159,193,208,160,212,138,25,170,240,112,224,16,75,205,82,0,215,49,148,236,244,153,205,148,234,214,148,231,201,168,150,205,195,25,207,144,87,219,169,111,221,230,172,227,139,68,227,238,244,228,234,251,222,1,41,242,66,84,228,163,120,253,117,106,239,216, +49,1,21,15,246,88,65,8,181,254,249,24,226,9,135,240,255,131,69,14,238,156,10,139,112,23,157,62,27,112,254,31,163,230,40,18,213,36,169,30,42,87,35,35,110,233,42,164,220,37,201,165,53,94,64,46,245,59,57,117,133,42,8,150,55,72,102,32,195,15,50,137,26,30, +5,112,44,192,91,34,102,194,33,70,40,24,15,248,28,207,194,8,148,2,24,161,220,10,42,161,20,228,63,11,184,58,16,157,94,6,175,75,12,35,223,2,69,113,3,11,186,0,5,107,2,167,108,246,213,184,8,164,217,250,110,208,2,201,236,254,174,110,245,82,78,251,46,238,241, +4,48,239,236,145,247,44,96,237,113,151,249,41,68,248,75,119,239,230,184,251,112,61,232,221,91,245,100,163,235,143,179,245,252,39,236,72,74,254,234,223,225,66,14,254,44,12,225,90,115,249,98,209,228,196,74,253,116,25,227,13,63,252,200,166,228,145,220,237, +227,205,232,231,181,233,84,114,229,232,71,233,252,111,230,137,118,228,192,191,236,47,106,226,197,20,240,67,160,228,23,146,240,114,66,235,248,54,249,138,190,234,59,85,252,94,44,229,18,45,251,234,169,226,100,34,254,48,61,238,235,140,253,160,194,243,137, +221,253,255,55,245,170,86,0,203,27,246,230,212,253,141,239,250,155,7,255,253,16,254,171,64,3,97,125,255,19,115,2,196,76,252,219,137,0,83,29,251,133,163,255,17,246,0,151,158,254,156,147,6,22,120,254,22,71,5,206,66,0,172,245,255,121,104,255,96,4,4,44,33, +254,76,107,5,96,136,252,223,7,255,117,21,254,246,84,252,14,180,253,97,115,0,154,82,253,14,113,5,155,161,252,48,158,2,194,24,249,182,45,4,135,192,248,17,161,3,140,141,252,36,174,2,205,118,251,208,69,3,161,54,250,214,90,1,79,135,254,243,44,253,8,157,255, +14,239,248,186,28,253,49,4,250,165,164,0,144,111,253,159,200,2,144,11,251,71,39,0,39,95,250,103,56,255,62,207,249,48,202,3,190,214,245,199,11,5,59,166,244,19,139,0,247,243,243,198,2,255,255,222,247,231,62,1,227,99,250,190,22,1,17,59,1,167,155,252,26, +138,8,203,196,253,248,234,8,99,179,1,114,136,8,72,145,2,112,227,3,64,190,252,91,24,253,40,17,251,56,237,252,35,2,255,82,120,247,78,66,254,190,224,245,176,70,251,214,34,250,29,152,245,3,62,249,230,13,242,27,40,249,151,158,243,154,109,251,191,103,244,117, +233,251,185,238,243,9,70,254,108,220,243,95,233,254,168,200,243,211,84,254,59,214,245,102,113,249,0,48,252,150,54,247,239,174,253,181,177,247,236,70,249,33,4,247,162,239,252,103,147,246,34,175,255,12,244,251,125,227,253,194,183,3,83,175,254,87,245,1, +247,222,0,131,203,0,59,44,5,159,134,4,31,250,7,80,3,7,24,97,9,253,23,3,177,162,12,43,25,5,150,177,14,187,7,13,72,194,16,209,2,17,103,83,14,198,129,24,139,91,12,207,188,33,47,92,14,214,4,34,156,160,15,32,226,30,209,208,14,224,26,29,47,106,12,199,30,29, +59,1,16,35,118,30,166,249,23,191,154,33,224,0,25,104,249,43,128,72,21,211,214,47,11,6,24,108,72,46,100,145,29,33,224,42,234,206,26,73,207,41,234,71,21,17,138,48,171,161,24,240,192,53,190,235,23,174,38,52,239,93,24,100,141,50,9,21,26,137,166,40,35,129, +28,229,251,30,21,193,33,41,113,19,178,147,32,206,188,8,152,243,34,4,0,12,85,11,40,240,32,7,103,53,42,150,113,247,160,95,44,63,219,236,189,157,42,217,60,226,218,162,39,163,59,216,239,226,29,149,111,209,38,200,18,137,179,203,250,53,14,210,167,202,11,66, +5,116,217,203,169,132,250,150,75,202,49,82,247,99,2,202,152,35,250,4,129,199,75,173,246,10,21,205,120,124,240,169,41,223,186,161,233,144,79,232,59,102,231,168,210,249,56,205,224,38,194,2,180,78,217,89,36,18,138,164,216,196,33,32,7,110,216,167,253,30, +13,225,216,96,136,39,0,84,224,180,158,46,75,170,227,100,250,45,214,227,217,93,229,46,30,44,208,235,39,45,67,100,202,11,192,49,131,204,206,157,199,51,100,34,204,2,110,48,103,116,199,129,78,41,198,187,205,146,222,19,187,93,217,249,6,6,247,121,223,137,137, +244,150,211,230,56,43,222,153,42,243,74,4,214,57,195,251,205,183,208,39,157,4,71,151,202,224,2,12,165,248,192,248,56,18,169,9,190,56,153,22,242,183,195,148,214,27,165,130,192,97,146,33,210,77,187,1,69,38,136,56,195,56,135,36,152,76,209,51,14,37,24,82, +205,89,253,32,148,123,207,185,45,25,28,112,219,178,76,21,3,129,224,212,221,21,12,129,232,139,65,14,241,7,248,41,224,7,111,49,8,24,105,7,220,242,17,149,86,4,156,239,33,92,38,2,87,139,49,0,80,5,236,128,56,186,87,9,37,58,63,220,84,12,84,132,65,122,163,13, +154,178,68,70,40,17,152,242,72,179,109,12,236,238,69,142,88,253,48,190,61,59,71,241,72,252,65,190,190,228,122,167,56,235,114,218,47,28,39,3,247,204,189,32,31,62,250,194,72,180,12,94,159,190,22,218,239,56,0,188,154,149,222,15,47,186,130,130,207,235,136, +190,216,228,183,222,243,198,90,170,164,112,163,209,8,181,161,85,228,219,72,5,156,56,139,230,132,108,149,255,102,239,209,29,153,97,229,250,208,142,160,119,82,0,66,142,179,153,70,253,106,133,201,151,244,3,2,61,217,231,69,19,188,176,235,63,104,28,60,15, +254,217,23,34,143,194,7,33,13,38,149,204,23,183,44,41,35,75,41,191,11,46,142,224,52,182,5,51,168,30,60,5,41,56,146,64,59,120,201,56,150,57,58,215,14,51,30,164,58,121,104,48,24,177,57,87,87,47,195,112,53,33,115,40,83,101,49,18,114,31,171,44,49,237,169, +27,170,202,44,112,103,21,106,231,34,231,210,10,213,116,22,78,224,250,208,244,16,28,1,242,173,67,6,223,221,239,43,233,252,99,223,228,68,147,237,233,106,217,189,160,225,73,96,209,114,14,215,220,96,206,213,234,205,103,127,204,229,51,195,176,77,207,224,234, +191,230,78,204,104,112,195,133,99,212,240,189,193,162,205,218,213,71,203,167,195,224,66,135,211,20,145,231,108,63,223,137,201,243,84,61,236,181,120,251,1,140,251,146,166,5,16,139,4,119,186,14,167,168,20,102,202,20,58,187,28,9,202,27,119,227,35,208,209, +31,182,23,43,96,252,33,254,168,44,179,139,34,118,126,50,133,4,33,200,57,57,141,78,33,61,1,49,113,44,33,90,131,41,52,238,28,170,36,37,144,60,26,32,71,26,65,119,23,28,189,23,4,12,16,5,146,11,13,20,12,158,190,253,115,86,7,76,254,252,86,14,254,43,49,246, +191,58,243,226,73,239,159,33,232,14,57,230,85,225,225,48,166,221,163,216,223,156,54,215,124,114,220,212,12,214,217,109,208,156,247,214,182,122,203,226,64,210,196,38,212,105,130,207,245,248,215,114,34,213,11,64,212,3,26,215,166,153,214,58,233,218,94,193, +226,254,19,223,120,150,237,188,86,232,123,49,244,145,252,246,137,152,253,26,47,11,120,16,7,224,107,15,114,83,13,208,135,21,41,145,21,164,136,33,20,207,31,44,108,41,217,217,39,205,41,40,154,205,40,103,11,41,164,129,45,233,133,46,176,156,48,185,169,44, +199,233,44,118,63,38,32,93,41,174,188,38,185,184,41,163,66,39,173,43,38,56,60,33,29,98,32,127,184,29,75,101,34,154,84,28,247,188,29,72,60,24,12,174,20,28,80,15,171,198,14,13,236,10,159,250,9,39,150,7,36,184,6,104,181,0,107,192,1,78,14,253,16,57,248,189, +185,254,79,37,239,251,156,250,47,135,235,68,172,240,69,125,233,65,22,240,48,12,229,237,78,244,69,39,228,145,221,244,183,192,233,189,168,249,44,69,238,33,248,247,107,59,240,66,31,246,123,244,243,58,110,249,214,3,252,66,191,255,249,57,0,194,5,8,33,135, +2,40,4,11,158,100,11,173,179,7,254,65,16,85,95,14,220,109,16,69,15,19,196,187,21,104,193,11,114,144,25,143,170,9,74,197,23,132,189,14,151,227,23,116,255,17,140,219,25,157,67,14,119,208,24,160,135,11,17,43,19,14,57,10,192,46,13,237,10,7,39,38,11,57,90, +6,184,216,13,214,144,7,98,107,7,241,96,2,94,90,255,116,165,1,59,21,2,125,170,3,192,62,0,243,65,1,21,95,250,2,39,0,105,134,248,51,169,254,228,140,246,139,98,255,168,159,241,87,230,253,132,230,241,174,61,251,38,178,240,214,146,251,19,209,236,163,75,251, +124,253,236,132,80,250,109,213,238,92,35,246,218,254,237,86,19,242,120,132,238,92,57,244,198,254,242,145,199,246,77,223,243,225,54,246,174,43,245,230,128,244,19,227,247,134,154,246,254,145,252,82,96,249,0,14,0,76,196,246,166,89,2,179,49,245,3,177,5,7, +9,252,1,166,10,212,165,253,78,54,11,46,27,252,231,139,12,115,2,254,36,128,12,35,15,254,5,21,10,17,26,253,210,251,4,41,45,1,122,125,4,192,148,254,40,248,4,22,151,252,68,182,1,132,30,0,7,90,254,42,44,252,113,220,248,107,140,245,2,196,240,243,32,242,102, +78,239,64,111,248,157,11,244,207,163,249,143,200,243,239,220,244,35,29,246,20,95,244,201,15,250,216,195,254,219,165,253,124,156,4,4,245,255,126,192,3,115,154,1,42,237,7,243,46,2,172,1,12,227,8,2,170,224,18,88,246,1,155,157,16,158,56,3,194,11,7,52,103, +255,39,161,255,97,205,252,207,235,254,57,135,0,86,17,255,205,62,0,184,67,248,242,250,249,197,219,245,125,194,250,181,220,248,129,135,253,70,94,249,185,245,249,22,241,243,223,88,246,9,198,241,102,130,246,144,2,245,14,181,246,13,225,248,13,195,244,160, +250,249,80,12,248,103,232,0,116,5,254,108,3,10,18,74,255,42,243,7,103,102,250,162,121,15,59,165,255,241,210,28,60,205,9,124,178,27,248,176,6,179,162,21,196,222,255,25,78,25,67,226,7,104,242,25,105,118,19,19,173,16,245,225,17,217,1,6,232,196,13,189,121, +4,73,13,16,119,123,8,119,122,20,193,18,11,103,66,22,122,236,6,76,72,19,107,174,253,213,118,15,64,219,250,251,213,11,6,216,249,5,179,7,33,82,251,130,180,0,209,227,244,146,167,255,58,213,244,2,58,253,189,50,248,120,182,246,235,130,249,168,106,240,190,199, +253,137,72,237,10,126,249,255,113,233,125,203,250,100,193,232,125,147,255,210,38,238,68,162,254,202,22,245,163,180,247,159,117,248,116,95,240,9,29,244,189,40,237,176,190,239,110,127,243,28,253,241,123,48,245,82,226,241,113,211,238,224,111,239,63,62,233, +107,18,237,33,6,235,231,172,233,168,67,232,173,196,235,209,90,227,31,106,240,17,83,229,105,31,240,126,188,222,83,243,235,66,74,223,196,51,230,125,4,239,221,240,229,197,12,236,137,138,242,213,199,227,22,217,251,229,173,232,121,117,247,86,78,242,160,196, +248,59,140,246,31,180,1,85,145,254,159,206,2,253,240,12,11,112,1,118,48,21,176,182,9,9,54,24,15,153,18,107,98,30,129,11,22,211,225,40,45,138,31,41,48,44,44,64,37,138,38,41,23,8,35,44,131,45,254,241,36,170,55,54,42,147,46,217,166,45,93,173,44,237,63,32, +93,7,36,226,29,25,123,203,34,221,25,21,126,14,37,136,60,13,207,207,30,196,55,5,31,157,22,104,80,4,29,109,24,233,45,5,86,167,26,88,139,1,239,203,25,27,6,254,189,255,20,177,236,255,127,55,16,135,47,7,13,193,13,105,170,9,122,24,8,9,2,5,219,101,4,115,179, +255,42,92,252,202,132,9,175,251,238,144,207,13,38,65,232,18,112,3,144,130,226,84,106,250,87,53,220,96,104,250,132,159,217,54,228,245,117,41,214,150,87,237,57,130,214,252,100,232,46,219,212,100,31,230,195,215,212,116,148,228,140,133,215,182,241,228,143, +45,215,144,186,228,0,83,217,49,165,228,5,167,226,208,223,231,104,4,236,110,75,236,49,176,238,240,244,242,111,152,240,186,72,243,254,50,244,119,213,243,12,192,250,98,126,249,222,136,253,177,132,253,108,161,255,190,75,253,89,173,4,13,122,253,113,93,10, +46,180,255,170,98,11,6,17,6,55,72,11,246,236,6,54,101,13,125,185,8,115,135,20,120,77,14,190,56,22,177,62,16,24,4,25,21,53,17,185,107,30,200,107,16,104,21,34,162,245,14,159,240,35,145,114,16,58,138,32,31,194,19,121,233,29,178,99,19,122,147,27,81,82,18, +36,71,23,45,61,16,84,235,17,181,65,14,134,139,14,73,186,12,141,99,13,190,165,12,119,9,13,195,101,11,46,156,6,57,162,11,176,246,2,189,70,15,204,136,3,189,1,16,69,18,6,214,88,13,124,78,4,44,214,6,118,7,0,108,143,8,17,170,1,16,2,11,90,55,4,28,101,7,138, +222,4,16,221,8,12,232,1,239,159,12,53,105,0,37,143,12,186,2,0,10,41,8,56,231,2,218,147,5,14,173,4,127,176,5,238,35,4,6,33,5,184,202,2,11,34,3,22,17,2,63,78,1,133,70,2,141,106,1,171,76,2,235,115,1,75,158,254,167,195,0,186,229,251,176,124,253,249,44,252, +162,114,252,254,200,253,81,172,253,221,57,254,243,170,252,40,137,252,109,88,252,151,101,254,1,153,0,96,43,255,23,203,4,87,238,1,45,0,3,254,132,4,0,119,2,47,217,7,243,127,7,235,223,7,222,157,8,24,227,8,152,89,8,147,191,10,179,99,9,161,248,11,68,4,13,224, +77,11,219,148,12,151,166,10,6,101,10,95,71,7,80,231,9,15,104,6,221,131,9,130,108,7,92,117,7,242,53,6,182,45,5,214,181,3,183,84,7,80,64,0,35,238,7,219,198,0,20,169,5,48,165,1,106,84,6,163,227,253,127,91,7,184,71,253,94,222,4,17,151,253,152,174,5,22,189, +253,12,119,2,116,192,254,201,189,253,86,61,0,195,137,252,35,43,0,120,92,250,24,61,0,190,184,248,75,79,255,1,174,248,102,58,253,223,156,247,15,147,251,119,71,245,164,172,253,240,244,242,226,162,254,210,19,241,189,62,253,232,247,241,129,218,252,151,4,240, +147,221,250,157,84,238,73,162,251,72,13,242,177,76,252,223,34,246,117,242,250,152,56,248,226,218,249,4,74,248,171,166,249,174,14,249,190,37,250,193,66,251,64,155,249,186,62,0,240,138,246,176,196,2,143,233,245,64,72,2,200,222,247,251,192,2,64,15,251,34, +69,4,37,97,253,222,63,5,244,167,253,128,129,4,49,128,255,114,78,2,28,215,1,239,129,3,16,215,2,120,177,4,54,113,0,44,100,4,172,216,1,48,16,5,99,204,4,223,201,4,240,69,3,245,250,3,24,218,3,36,125,0,145,188,2,239,104,255,53,95,0,221,239,255,126,180,252, +232,105,255,59,26,251,125,71,251,192,187,249,41,80,247,46,40,249,230,66,250,58,176,248,2,176,249,43,30,247,12,156,248,86,25,247,33,137,252,15,124,247,108,164,255,25,27,248,102,19,2,100,212,248,134,57,5,171,217,249,244,23,7,172,93,251,190,254,10,206,66, +0,93,220,16,254,122,5,207,113,22,15,123,10,74,21,24,237,47,14,54,203,23,143,93,16,159,211,27,187,222,15,53,153,27,40,248,15,232,140,25,9,152,19,162,171,22,28,139,21,124,227,16,84,138,20,73,177,7,33,148,18,197,121,0,178,248,16,6,137,250,103,67,16,192, +23,248,152,157,18,200,217,249,136,147,16,187,6,251,112,184,7,172,4,249,255,81,4,231,189,245,11,13,4,80,242,245,130,243,0,130,242,245,191,170,255,217,92,247,175,213,254,233,205,245,197,254,253,58,207,245,45,49,254,212,152,249,182,155,254,251,52,247,75, +64,250,144,50,241,57,40,247,140,142,240,119,211,248,131,209,243,69,93,248,142,122,244,220,143,244,83,251,241,193,21,242,60,206,241,34,166,237,24,112,240,211,5,237,51,219,237,52,226,236,121,68,241,251,175,234,196,245,242,81,185,238,29,110,245,116,202, +240,216,70,249,63,1,239,2,6,254,233,167,242,74,215,4,57,105,247,239,193,9,226,248,246,82,171,16,94,32,248,118,215,23,158,238,253,234,79,27,106,168,2,106,53,27,125,147,5,164,137,27,147,20,8,8,132,27,140,115,11,180,201,24,209,101,18,94,174,21,239,139,20, +46,99,25,237,154,22,241,112,25,100,252,25,171,105,25,195,204,25,49,127,25,241,109,24,50,132,20,193,52,26,163,156,18,211,39,26,163,237,16,254,125,24,56,32,11,195,118,22,45,96,6,196,254,21,36,254,5,238,64,20,118,57,1,209,172,17,177,46,249,174,0,12,47,62, +243,248,3,5,198,106,240,255,205,4,205,241,239,80,174,1,180,66,238,133,2,253,73,92,241,248,36,252,67,246,244,18,124,250,60,25,240,138,226,247,30,241,239,114,244,246,142,140,243,152,254,246,115,248,242,21,58,247,72,221,245,105,79,248,129,85,254,78,10,247, +236,64,1,179,207,246,106,201,0,138,157,248,124,230,253,240,68,252,162,173,252,76,243,252,67,215,253,160,250,254,206,208,250,255,212,253,209,177,249,118,47,252,38,203,251,162,93,253,79,221,252,251,78,251,250,240,253,137,192,249,198,13,255,210,180,249, +76,173,254,169,122,251,54,197,255,65,121,254,25,165,254,255,139,254,219,156,255,101,184,252,136,135,0,183,175,253,118,201,255,225,225,253,131,55,3,89,158,255,191,145,3,31,64,0,155,6,0,204,32,2,141,181,255,237,114,1,122,180,0,74,65,255,254,134,255,164, +182,253,137,17,0,164,48,254,68,118,2,92,245,0,25,125,2,154,99,1,163,241,3,169,82,0,53,239,6,59,147,1,142,212,4,162,53,1,195,254,2,41,119,255,141,12,10,207,9,1,230,55,14,137,96,3,219,18,13,133,231,5,232,99,11,134,89,7,68,107,9,155,65,6,10,175,7,56,242, +8,193,66,7,192,125,11,28,133,4,113,251,7,87,62,2,164,208,6,166,141,3,120,94,11,208,93,1,238,81,12,178,201,253,206,191,6,237,175,253,22,76,2,131,190,251,196,231,4,138,81,250,21,109,4,35,57,249,41,105,0,221,242,248,185,146,252,232,230,249,1,25,249,67,72, +249,45,152,249,130,58,251,48,76,248,207,202,251,131,58,245,102,83,252,164,30,243,167,162,252,23,205,241,161,169,252,81,222,241,22,212,252,216,162,245,37,151,255,76,49,247,148,15,255,155,67,249,206,231,253,43,116,251,21,121,255,96,93,250,229,244,0,234, +233,249,73,7,255,105,151,253,72,234,250,241,123,255,153,76,247,246,120,254,224,139,243,197,177,255,82,93,243,79,15,253,51,41,242,192,251,255,146,123,242,39,114,3,227,224,244,239,3,252,107,166,243,154,32,245,199,192,244,196,28,250,5,16,243,126,139,250, +34,19,241,71,87,239,240,222,244,50,98,234,36,48,246,137,62,238,141,199,242,146,209,239,225,39,242,25,39,234,13,196,245,45,163,229,174,208,243,238,104,235,152,122,241,134,226,243,209,186,242,32,108,240,66,126,243,207,77,238,38,86,244,76,65,245,74,229, +247,201,216,249,56,220,248,3,46,243,9,77,247,90,139,240,139,117,248,59,249,247,251,250,252,28,59,4,238,106,254,48,9,5,53,134,253,58,71,252,85,184,255,52,30,0,11,80,255,3,155,7,56,87,255,94,96,10,197,55,6,13,68,7,218,116,14,200,103,9,162,192,13,112,72, +17,65,16,9,203,197,27,141,235,7,188,45,27,239,91,7,2,234,29,113,146,7,216,254,29,12,126,7,8,56,28,226,125,3,72,196,28,37,147,255,135,57,24,124,31,254,218,59,19,172,229,1,61,231,19,55,192,6,206,65,19,203,194,4,175,188,7,149,34,4,44,96,10,181,15,6,99,72, +5,59,161,7,14,60,253,93,230,3,222,195,253,196,167,6,143,173,251,126,126,9,215,140,245,186,33,10,74,52,251,192,154,9,116,30,1,3,188,4,110,187,242,204,161,2,248,215,240,126,76,2,15,183,247,185,78,254,128,133,241,62,4,251,52,120,235,113,238,253,93,149,241, +231,3,252,83,135,245,2,129,247,189,213,243,94,16,244,201,75,244,26,173,242,42,109,244,189,236,242,103,199,246,71,26,245,59,43,243,36,231,246,233,248,240,14,72,246,247,128,242,52,202,246,177,48,242,99,89,248,190,250,247,164,174,248,66,245,254,0,219,249, +134,0,254,96,230,250,93,167,252,11,220,253,215,101,0,241,222,2,147,121,4,118,202,6,190,171,5,17,66,6,201,65,2,194,86,6,229,4,5,33,62,10,45,92,11,112,238,9,59,165,12,72,27,9,23,95,8,108,129,9,207,91,5,173,96,9,216,67,4,165,36,7,73,29,2,79,74,5,92,75,4, +180,228,3,145,87,6,5,124,1,194,63,7,47,54,0,26,192,7,6,152,254,119,203,5,195,15,251,5,53,6,223,73,249,1,94,5,134,27,252,210,29,2,227,99,250,132,113,3,237,38,247,37,55,1,2,31,245,182,73,250,160,221,246,56,73,249,156,230,247,191,210,251,244,26,243,58,159, +255,162,8,239,106,232,8,60,254,236,218,174,14,124,40,235,205,135,10,170,75,233,132,224,10,200,68,233,204,229,13,151,209,238,150,50,8,64,178,248,97,112,255,141,238,0,161,202,4,103,231,7,176,101,10,40,151,14,67,4,5,52,174,18,107,127,1,220,157,19,118,209, +4,15,111,18,129,60,11,27,109,18,173,62,5,217,121,19,88,8,1,140,61,23,160,196,3,252,134,22,80,197,5,16,215,21,179,199,3,5,132,24,31,208,254,132,199,26,75,199,0,142,24,23,168,21,254,101,44,17,169,114,252,192,145,16,153,193,247,246,120,17,238,90,249,40, +59,11,182,163,241,163,245,3,124,34,240,220,70,253,57,40,235,91,109,251,95,62,234,138,68,245,173,188,236,171,90,239,207,201,238,184,164,233,138,249,238,82,50,229,185,116,243,62,32,224,174,209,254,32,126,221,142,62,255,222,203,222,219,91,249,0,14,225,207, +239,246,58,80,227,254,241,0,114,177,229,125,190,6,234,7,230,197,187,10,214,139,234,215,73,14,138,43,242,126,189,26,82,129,240,160,178,30,233,86,239,80,49,19,18,240,246,209,96,13,41,92,3,146,38,18,176,193,9,174,198,29,166,31,15,78,97,25,252,77,21,65,110, +17,133,86,20,3,72,9,21,71,16,107,88,11,88,55,21,31,195,6,77,223,31,125,230,246,2,249,40,253,202,252,128,47,37,70,105,248,252,82,27,235,228,244,156,200,19,234,64,235,184,174,12,167,203,222,141,190,5,7,4,226,82,252,3,116,123,217,189,123,4,187,80,212,213, +23,0,202,68,203,100,162,248,19,148,198,215,155,233,3,13,215,189,148,227,134,20,215,250,232,229,134,101,201,168,56,227,53,129,216,61,141,218,75,67,231,247,60,206,42,173,250,223,216,204,182,159,254,202,214,208,182,37,254,152,232,206,218,90,10,216,14,205, +59,154,19,20,134,209,251,92,18,45,111,218,217,252,17,240,8,229,68,74,24,230,212,235,113,219,35,110,226,239,156,27,35,56,98,248,80,131,24,27,63,253,245,195,32,199,64,1,184,59,35,245,165,5,145,172,28,92,179,13,181,135,24,34,98,20,31,153,22,181,123,20,183, +213,18,202,53,23,243,83,16,206,110,28,127,127,9,167,210,29,57,131,1,32,183,27,187,208,248,92,165,27,198,70,248,185,111,26,181,161,253,110,184,24,67,73,248,255,197,24,189,155,237,44,180,21,64,157,236,26,7,14,42,10,236,133,174,11,93,44,233,113,145,12,88, +234,222,78,144,9,255,76,217,234,118,5,181,221,222,204,31,3,11,48,226,62,236,252,183,82,232,74,99,247,233,139,233,222,9,242,177,125,241,133,29,238,150,101,253,245,128,234,144,79,6,126,244,229,153,35,7,123,122,226,115,184,9,143,66,226,81,178,13,64,2,228, +81,90,10,224,68,232,145,80,12,96,80,240,241,245,11,132,71,246,233,234,10,116,178,250,65,231,11,75,29,255,49,83,22,120,237,254,71,231,29,157,73,2,209,198,27,248,209,4,163,155,29,9,59,5,74,111,31,236,248,7,65,193,27,19,223,11,49,99,21,188,133,14,80,155, +21,62,146,18,193,55,19,200,55,21,13,103,10,241,50,19,95,229,4,12,105,16,16,85,2,222,192,11,229,88,252,84,64,10,253,128,247,116,134,11,74,196,249,213,124,9,215,204,252,202,223,6,79,179,249,218,224,3,163,45,247,126,246,253,222,205,252,162,158,248,82,169, +253,1,16,251,166,147,252,158,79,2,238,50,253,124,172,2,40,58,253,153,197,253,150,38,253,165,162,251,99,137,248,99,193,250,82,166,247,140,150,251,57,38,248,157,103,254,140,67,247,241,228,1,140,203,246,126,119,3,9,70,246,1,194,2,142,205,247,188,123,2,8, +196,245,46,148,2,33,21,244,87,172,3,142,28,246,158,63,4,54,239,244,84,203,3,2,195,245,236,103,3,233,95,249,252,106,255,185,20,252,38,87,250,211,93,253,29,64,249,191,149,252,183,18,246,16,7,253,242,235,239,182,200,0,89,142,239,60,222,1,230,140,243,10, +74,3,134,198,241,194,7,1,116,142,241,130,141,254,128,73,242,244,147,255,162,116,240,89,124,2,107,137,239,31,127,0,226,201,239,33,157,255,163,189,239,134,135,3,182,135,239,232,30,5,176,187,240,0,51,2,161,5,244,70,7,2,227,25,245,58,1,3,177,104,243,133, +74,2,121,197,246,163,160,254,3,113,250,99,61,0,87,89,249,192,220,252,228,95,251,174,155,246,167,145,4,24,122,244,244,129,7,44,151,242,18,147,5,243,88,241,172,148,3,169,39,241,136,9,0,55,206,242,164,17,2,198,73,242,123,254,6,105,218,240,248,108,8,5,129, +243,135,39,8,207,107,247,131,1,8,119,221,248,165,115,5,190,169,249,171,158,1,222,14,253,43,99,254,185,11,3,161,147,254,93,59,6,16,175,0,72,227,6,91,230,0,31,183,7,157,58,253,49,73,11,251,132,252,147,181,11,162,173,253,239,68,8,176,138,251,246,166,5,47, +187,249,155,102,8,93,9,251,52,84,7,86,43,252,127,67,3,158,21,251,94,243,1,74,49,252,214,191,2,10,230,251,208,96,255,192,237,251,168,122,250,152,105,250,87,129,250,22,47,250,145,12,251,205,58,251,148,54,250,106,113,253,109,174,248,100,165,254,69,148,249, +204,217,253,177,86,251,70,58,253,201,15,251,60,21,253,16,39,251,24,57,251,198,148,253,141,91,252,163,160,254,40,195,253,193,232,252,88,130,251,70,51,253,102,221,250,106,206,255,103,215,251,119,68,1,88,163,254,245,46,4,194,209,0,150,182,8,4,92,2,53,208, +8,181,151,5,166,58,11,169,202,7,31,97,15,48,228,8,136,243,18,128,203,10,69,69,19,154,130,12,165,137,21,62,105,15,220,96,24,171,171,18,163,4,25,78,22,21,255,245,24,88,122,21,212,213,22,42,97,22,159,85,20,137,218,23,144,164,16,253,242,24,11,175,12,124, +37,22,223,77,10,213,160,17,123,125,5,144,220,18,86,244,0,190,148,20,249,2,0,68,202,18,152,192,252,59,231,12,37,230,246,86,223,3,254,93,246,217,207,254,216,126,248,171,192,253,43,48,245,17,107,252,253,243,242,230,218,247,239,170,242,238,135,245,59,116, +242,43,8,244,5,141,241,76,232,242,246,59,241,42,251,238,163,111,240,89,160,237,64,227,242,172,224,239,235,21,246,200,173,241,109,214,244,4,227,239,180,50,245,111,254,237,154,254,248,146,128,235,128,155,251,242,230,234,176,117,253,28,105,238,143,21,254, +233,188,241,74,240,0,192,110,246,21,135,2,26,211,250,106,6,6,126,114,253,213,251,7,122,5,255,191,129,10,210,227,2,44,41,10,57,21,7,14,227,11,167,95,9,149,88,16,255,193,12,79,99,13,161,229,14,218,240,7,163,56,15,96,12,9,80,100,15,125,221,9,78,163,14,37, +5,6,207,63,15,65,128,3,148,118,19,124,224,2,62,8,19,69,121,1,218,55,14,3,119,255,100,90,11,222,173,255,76,246,9,185,53,255,111,142,5,248,8,254,137,52,2,129,135,253,76,153,0,240,60,253,96,76,252,11,87,253,238,168,248,51,218,248,97,241,243,104,182,243, +94,176,240,101,166,241,32,102,236,13,142,243,26,223,237,211,122,243,62,220,241,233,85,238,103,237,237,118,136,236,8,207,233,16,181,236,239,21,233,224,145,235,78,167,232,111,167,233,19,81,231,11,210,234,255,191,231,192,120,237,40,102,232,108,59,241,6, +150,230,100,36,241,44,245,228,132,47,241,108,46,231,45,7,245,167,216,235,202,248,247,30,28,241,175,167,246,97,16,247,212,255,249,154,117,250,188,189,2,19,23,249,126,64,8,48,90,253,87,20,11,77,194,3,43,19,10,51,146,7,251,227,10,142,168,9,120,218,11,248, +54,13,205,60,12,255,43,15,209,126,10,114,5,15,29,198,9,123,20,16,227,5,9,234,197,16,118,65,6,154,122,12,95,121,3,12,61,8,212,96,3,165,4,10,96,171,254,200,161,10,35,119,249,254,58,6,150,109,252,129,224,2,201,46,253,182,85,0,114,137,251,55,148,254,184, +71,252,209,217,1,40,243,254,126,88,0,57,96,254,200,120,252,157,2,252,101,79,251,138,101,253,121,9,253,249,4,0,11,210,254,48,79,253,156,229,253,2,253,252,249,37,253,123,140,254,69,168,253,34,217,250,153,166,250,33,40,249,47,201,248,137,38,253,85,130,249, +94,68,1,88,36,249,116,249,254,230,17,249,120,145,0,117,180,250,164,114,3,29,235,251,203,102,6,122,56,255,181,122,7,48,119,1,69,165,9,198,95,3,174,53,13,141,58,6,44,9,12,228,32,8,234,55,11,43,87,11,43,42,14,177,92,13,40,73,14,190,238,12,206,228,8,61,68, +12,151,82,6,255,79,11,192,181,6,205,34,10,5,197,5,12,106,9,60,145,2,166,101,7,123,202,3,241,121,6,34,192,3,121,242,4,40,233,254,107,126,3,53,168,255,110,186,0,10,96,1,249,235,2,195,145,0,5,64,6,170,151,255,120,33,6,195,41,255,125,225,4,191,44,0,211,203, +5,153,160,0,26,44,5,61,234,0,28,224,1,52,83,1,197,36,2,181,204,255,123,22,4,179,119,255,12,225,3,16,233,0,206,140,0,86,244,0,37,194,0,14,221,255,143,209,255,189,233,254,185,33,252,179,137,254,124,6,251,57,43,254,206,42,253,63,105,253,123,33,252,191,78, +253,9,37,251,235,0,255,128,95,252,17,9,254,57,56,253,33,238,253,222,23,253,82,212,255,79,219,252,39,42,254,11,53,252,194,163,254,153,134,254,167,180,0,78,230,1,139,16,1,8,146,2,212,254,0,185,182,0,207,194,1,121,131,254,234,29,1,177,250,254,58,153,0,12, +247,1,66,34,1,60,12,4,197,202,2,227,64,4,138,43,3,210,6,5,134,139,2,180,70,6,142,87,3,72,57,6,211,224,2,130,224,3,35,224,1,216,25,3,222,15,3,56,191,1,17,205,4,209,56,255,201,246,2,217,191,0,174,183,0,113,48,4,208,88,0,208,69,3,218,107,2,243,154,255,77, +187,2,106,199,0,214,128,2,10,91,3,74,248,0,46,233,255,216,170,255,97,33,252,202,95,0,182,200,251,8,191,252,0,179,253,60,180,249,115,134,254,61,66,249,237,39,253,153,187,247,188,205,251,133,241,247,118,17,250,1,228,247,103,62,248,118,95,246,30,76,249, +136,33,246,17,139,248,95,97,248,122,197,248,31,49,252,219,137,250,71,181,253,46,76,252,127,58,253,82,111,253,8,185,253,114,18,252,163,85,0,55,99,253,139,20,1,91,234,0,210,49,0,10,150,3,63,191,1,213,182,3,122,86,2,212,83,5,212,145,4,210,128,5,4,181,5, +71,37,7,126,226,4,17,176,8,212,5,6,117,101,9,196,73,8,208,125,9,37,117,7,252,152,8,127,220,6,82,161,5,97,87,8,111,77,5,156,110,8,89,233,5,18,197,5,39,115,4,162,230,2,87,44,3,140,4,3,100,121,2,167,170,1,53,116,0,31,106,253,114,179,254,147,215,251,134, +17,253,38,182,251,48,191,250,4,51,250,163,38,249,133,154,250,43,98,248,175,133,250,17,255,249,148,127,249,62,69,251,198,190,249,6,210,249,36,251,249,150,166,248,216,55,249,15,164,250,149,151,247,160,90,252,140,157,250,34,167,250,78,5,253,98,104,251,160, +79,253,120,198,252,125,150,255,40,12,253,104,233,0,180,209,254,158,167,255,89,84,1,19,88,254,107,136,2,63,95,254,179,234,1,76,134,0,66,149,2,49,12,255,73,219,3,9,183,254,9,207,2,179,186,255,45,221,0,232,226,253,59,56,0,9,71,253,0,35,255,48,8,254,167, +16,255,167,143,254,42,183,0,63,150,254,2,177,255,126,203,0,41,63,255,163,59,2,157,16,1,83,7,2,128,212,3,206,60,1,171,134,3,7,72,1,39,49,255,164,156,0,45,109,254,127,20,1,185,180,0,106,190,0,93,67,1,179,119,255,81,6,1,212,22,254,53,29,2,124,16,255,110, +99,2,197,31,1,3,116,0,153,233,255,163,33,255,234,238,255,224,86,255,251,254,2,146,89,1,11,135,4,109,14,3,121,109,4,108,67,4,75,230,3,95,232,5,147,206,2,213,221,5,253,134,3,32,161,5,136,198,4,188,158,5,242,124,5,140,125,5,138,220,5,10,197,4,120,101,4, +113,180,3,195,125,2,239,139,2,1,51,3,164,139,2,164,79,1,75,66,2,201,239,253,67,175,1,231,224,253,184,91,2,163,170,253,106,6,2,37,34,253,196,225,0,105,31,253,154,67,0,249,164,252,63,27,255,69,173,252,39,171,255,159,6,253,246,166,0,110,244,254,152,47,255, +126,22,255,136,161,253,158,96,255,145,1,253,128,121,254,144,62,253,255,27,253,254,95,253,225,48,253,48,110,251,165,180,254,152,185,253,219,5,0,5,122,0,202,105,255,146,166,0,131,74,255,235,194,255,75,207,254,205,219,253,254,74,253,241,4,255,153,127,253, +61,68,0,220,171,254,103,246,255,234,175,254,224,7,1,236,199,254,157,63,3,32,151,255,212,46,3,34,37,0,235,111,1,58,51,254,45,158,0,189,64,252,230,134,0,165,243,253,171,105,0,201,207,255,224,208,255,137,18,255,210,68,255,30,13,254,158,251,253,64,249,252, +164,75,252,166,149,252,102,20,252,94,94,254,95,180,253,40,103,255,71,184,254,121,240,253,1,104,255,2,233,254,88,86,0,135,94,2,198,194,255,81,101,3,107,46,254,60,17,3,109,105,0,199,102,2,78,5,4,39,57,3,245,230,5,66,191,4,66,111,7,20,48,4,2,205,8,188,165, +3,173,155,9,10,15,3,22,96,8,169,42,3,221,31,7,103,0,4,54,50,7,77,250,3,114,95,7,8,247,2,84,250,5,244,253,1,76,54,4,35,165,1,231,116,3,170,84,0,160,166,1,150,213,254,144,174,254,253,48,255,48,135,255,40,251,253,157,174,253,118,191,250,182,167,249,47,131, +247,106,45,247,19,184,245,196,241,242,186,159,246,131,117,240,169,184,245,170,141,239,212,201,242,150,240,240,29,52,243,97,84,241,181,117,245,8,216,238,203,40,244,238,160,237,208,167,242,161,120,239,2,111,242,65,20,240,7,90,243,222,228,238,116,113,243, +78,30,239,54,36,245,56,36,242,174,141,248,246,235,243,167,124,249,61,245,244,215,92,251,16,21,247,81,208,254,31,66,251,1,144,0,90,183,255,14,16,1,169,238,3,39,244,2,19,133,8,88,157,5,35,19,10,119,126,7,183,233,11,113,160,10,130,84,17,33,251,14,24,163, +22,165,59,16,71,107,24,141,20,15,62,74,25,33,28,18,44,191,26,74,103,20,24,231,27,98,129,17,84,22,27,218,170,14,168,179,26,208,131,14,40,102,25,107,111,15,235,155,21,33,149,13,174,12,19,61,77,10,92,137,17,216,76,9,113,200,14,204,133,10,39,45,12,246,183, +9,70,249,9,24,50,7,51,134,8,95,111,4,96,23,8,236,232,1,11,61,6,34,106,255,239,194,2,219,96,254,96,206,252,213,46,253,46,98,250,85,113,249,52,72,247,48,196,248,144,223,242,169,227,247,24,218,241,79,229,244,77,10,240,65,194,240,39,213,238,136,85,241,185, +252,236,81,70,244,172,59,237,254,137,241,171,31,238,173,125,237,73,28,235,251,31,236,114,252,228,32,36,236,134,151,227,118,118,238,110,25,228,37,121,238,128,255,223,122,58,236,170,8,221,114,159,236,217,202,223,25,64,238,119,168,229,197,152,239,90,33, +233,139,64,240,222,134,236,212,18,242,12,21,243,95,3,245,35,148,247,230,132,249,220,96,250,240,243,253,209,202,253,22,98,0,179,92,3,1,130,1,204,85,9,144,40,3,169,215,12,111,50,6,25,54,15,218,86,10,69,218,17,180,239,13,1,6,21,208,74,14,59,188,23,66,22, +14,89,5,28,207,229,16,241,54,31,194,79,18,32,255,32,87,190,18,59,76,34,167,27,21,122,117,36,107,246,21,52,59,35,251,74,19,3,231,31,57,26,18,176,36,31,205,136,17,192,203,35,230,22,16,234,197,41,0,212,17,86,64,38,230,193,17,152,58,29,175,232,15,246,204, +21,191,95,14,236,229,15,71,149,13,1,23,13,46,33,12,8,184,10,180,155,9,92,62,6,165,155,7,41,208,3,87,62,6,159,241,255,224,210,3,62,120,252,60,173,0,109,226,250,174,207,254,149,148,248,0,154,254,148,255,243,225,203,255,88,124,240,166,1,254,216,217,240, +179,200,253,151,75,240,71,171,254,220,163,237,80,238,250,39,56,235,1,147,249,252,158,238,219,28,249,247,9,242,146,145,245,97,163,239,233,181,241,186,8,237,240,40,243,100,148,237,100,61,245,237,142,238,197,63,242,193,1,239,58,81,238,210,35,240,17,27,240, +173,210,241,138,194,238,102,144,240,235,1,236,22,21,241,43,207,235,87,95,248,100,135,237,131,164,254,119,161,241,59,105,0,227,237,242,156,43,4,224,106,245,150,238,9,42,248,248,100,33,11,216,141,253,160,72,11,223,165,1,170,213,12,167,103,2,208,67,15,187, +234,2,195,108,17,235,154,8,254,139,16,131,251,12,22,45,19,201,4,14,106,172,22,189,43,17,193,30,23,213,133,19,118,166,22,144,234,20,26,212,25,95,120,21,42,182,31,29,149,20,22,232,31,161,115,19,191,35,27,158,34,18,83,178,23,50,222,16,38,77,19,68,144,16, +114,17,14,227,126,15,176,167,11,14,217,12,123,104,8,73,55,12,94,245,252,5,202,10,160,147,241,53,183,4,88,60,234,130,230,251,252,195,229,48,222,245,131,214,224,214,172,241,76,224,218,3,220,237,160,198,217,127,228,236,218,195,219,25,49,233,102,232,218, +112,219,228,233,70,216,208,193,227,67,85,217,106,193,225,205,189,219,220,22,225,35,227,220,241,222,226,157,195,221,89,60,228,186,132,225,124,153,234,84,206,228,119,110,240,234,66,230,235,108,244,103,50,238,82,186,246,19,96,248,33,91,250,108,24,1,72,224, +0,178,162,7,49,123,6,23,20,17,90,64,10,112,184,26,68,190,12,175,51,34,44,105,15,26,21,38,5,221,15,84,219,38,7,184,14,224,187,44,125,94,16,102,169,49,57,231,16,45,233,48,94,160,16,186,242,44,106,81,17,132,163,42,139,100,17,10,226,33,11,15,16,152,230,24, +141,129,10,100,177,22,216,210,8,203,150,20,246,243,4,155,93,10,11,27,3,73,5,255,83,63,253,51,119,247,235,243,249,8,0,235,132,24,249,89,241,223,29,121,242,146,235,218,230,215,234,188,17,219,57,216,230,92,40,216,100,184,226,104,253,212,102,136,220,152, +109,212,103,253,216,37,251,208,208,240,216,141,22,204,215,215,219,99,169,204,167,115,219,199,192,207,233,235,223,63,125,209,80,41,227,2,239,211,169,78,231,151,22,214,242,242,238,139,37,219,26,71,245,126,97,225,64,200,251,38,214,231,84,102,0,11,226,240, +243,2,6,75,4,252,26,239,9,103,255,4,246,130,9,190,150,8,88,61,13,132,8,14,129,38,14,62,195,19,22,224,12,148,118,19,162,102,15,219,129,20,201,29,18,173,232,20,206,30,16,206,142,24,58,121,15,200,234,22,175,126,13,249,179,20,106,117,14,41,233,19,176,41, +16,140,149,15,209,141,15,127,11,15,37,232,14,75,219,17,137,61,13,97,189,17,127,162,12,62,81,18,114,221,11,120,125,22,171,197,8,182,242,28,155,167,8,27,245,29,77,121,9,214,151,26,67,102,7,121,229,24,235,147,2,164,24,20,25,77,0,228,243,17,196,31,0,165, +147,14,131,214,254,11,50,14,203,200,252,73,142,17,46,207,251,176,107,17,252,54,253,140,164,19,9,197,253,3,230,25,36,213,253,70,106,30,139,38,255,189,172,30,75,187,1,192,190,30,126,82,6,135,79,29,24,103,8,60,241,25,251,154,11,37,163,22,83,174,16,50,229, +16,237,52,20,128,144,9,25,158,22,164,184,3,124,128,24,186,58,1,244,7,25,61,134,250,252,32,24,119,132,245,42,133,22,188,204,244,100,101,21,243,32,242,101,202,18,232,242,234,3,63,16,94,223,230,23,17,15,98,9,230,117,192,11,194,50,229,180,179,6,246,192,229, +139,217,255,159,60,230,165,202,251,109,73,235,201,86,250,8,90,238,11,121,249,137,244,239,156,70,244,12,47,241,57,157,242,137,23,243,11,22,241,8,219,244,43,201,236,74,243,245,117,91,233,95,69,246,44,90,230,168,185,245,113,105,229,130,59,244,146,25,232, +8,235,242,222,114,231,15,25,246,193,108,227,106,18,243,21,57,229,78,142,240,228,78,228,98,119,244,82,252,226,13,81,250,220,47,228,195,106,249,46,159,231,64,242,242,50,161,234,255,195,243,75,226,235,77,222,244,167,33,240,176,57,241,222,23,245,222,114, +237,224,47,245,144,105,241,157,251,245,104,149,247,126,151,249,23,136,248,220,83,250,89,117,248,41,90,252,176,138,252,251,193,1,44,79,0,113,17,6,179,59,0,229,232,6,82,161,5,123,193,10,150,243,14,103,57,16,120,48,23,60,235,18,200,113,27,212,133,18,106, +3,32,151,131,20,173,76,35,248,106,25,182,219,36,190,61,28,119,207,37,133,221,30,208,81,39,171,67,33,224,180,39,10,229,31,106,97,36,19,199,30,8,212,32,143,187,30,54,145,29,26,114,27,108,123,22,12,22,23,173,245,13,161,227,20,118,97,10,227,88,19,244,3,8, +116,219,13,44,92,5,2,161,5,19,169,4,49,203,254,225,64,2,116,224,251,238,69,252,223,52,250,45,181,247,223,210,246,75,74,244,217,186,243,143,235,240,123,187,242,196,37,238,200,229,240,183,43,237,25,99,241,206,234,234,216,202,241,15,100,232,119,47,240,233, +188,229,63,129,239,176,30,226,242,218,239,164,52,224,210,51,243,207,25,226,178,89,245,184,96,227,20,186,246,124,254,225,81,211,248,65,227,226,69,164,247,30,238,233,95,233,247,150,120,240,200,186,251,194,22,244,177,239,254,14,176,248,189,65,2,191,114, +0,185,251,5,169,13,8,13,200,6,206,16,13,48,170,6,234,53,18,237,192,6,180,199,24,225,62,8,50,117,27,191,226,7,32,193,26,153,75,3,118,128,26,236,124,255,19,83,24,189,170,254,217,7,18,59,81,252,116,187,11,176,206,250,206,196,7,112,66,250,63,164,5,194,32, +248,151,125,3,252,248,247,238,114,253,106,199,249,142,206,248,143,168,246,231,210,249,22,104,244,83,106,249,179,207,246,5,59,245,162,161,246,178,175,244,59,238,242,50,32,249,251,87,243,200,205,250,112,167,246,77,151,245,47,121,248,184,7,242,77,116,247, +38,228,242,33,127,246,26,222,243,112,198,249,198,125,244,83,216,255,152,96,245,204,205,3,115,214,245,100,236,2,43,75,244,212,0,0,150,135,245,170,121,3,216,104,245,30,120,6,137,251,245,35,178,5,179,76,248,148,251,4,63,73,252,214,222,5,28,120,255,116,190, +10,28,147,2,16,56,11,228,101,7,23,162,8,164,59,10,174,233,8,73,35,9,60,175,12,161,220,9,139,156,11,138,220,11,142,153,8,38,212,12,132,16,7,63,60,15,186,97,9,173,22,16,143,88,10,178,153,14,145,118,9,86,70,12,87,255,6,182,172,10,48,214,2,93,158,10,43,10, +5,61,161,9,152,147,7,17,168,8,40,55,4,97,198,10,143,24,4,121,64,10,173,56,6,185,59,6,227,212,6,132,63,2,206,164,3,67,163,3,114,65,2,9,6,4,144,46,3,24,70,0,188,138,0,61,204,254,108,254,252,180,146,254,7,201,250,150,191,251,123,97,251,28,192,248,85,46, +250,27,184,247,75,7,250,27,143,246,3,78,252,133,227,243,251,119,252,56,211,243,145,154,249,153,181,243,94,99,247,72,214,240,123,198,248,181,172,241,46,164,249,219,183,246,229,209,246,183,169,249,75,118,245,168,62,251,47,202,246,102,24,252,187,98,247, +116,46,250,90,197,246,12,6,251,254,221,245,6,48,253,143,221,246,117,234,1,30,189,249,121,73,4,20,228,254,48,61,6,8,9,2,246,204,8,98,98,1,114,49,11,112,112,2,4,152,10,7,91,5,251,153,12,242,35,8,247,14,16,213,85,11,17,157,15,237,0,13,116,171,13,1,185,14, +102,19,14,152,230,17,231,157,17,177,153,19,46,71,15,43,187,19,208,113,11,27,121,21,213,163,11,92,198,23,237,64,14,222,132,22,50,74,13,224,103,20,51,209,7,46,91,18,235,195,5,103,124,16,17,247,6,137,151,16,228,22,9,172,70,16,101,120,9,107,147,12,125,126, +8,9,81,8,22,47,7,175,182,7,231,118,2,230,106,8,54,69,255,177,98,5,220,95,0,103,34,0,153,55,0,109,128,253,183,13,253,37,178,251,204,174,251,196,174,248,20,19,252,252,85,245,113,126,252,36,242,243,44,182,252,188,209,243,172,29,252,252,203,245,144,84,250, +168,36,246,191,190,248,231,66,244,36,207,248,45,177,241,152,123,248,234,55,242,1,111,248,89,205,244,47,2,248,95,147,244,116,253,248,120,19,244,182,35,249,108,170,247,23,105,246,233,154,249,237,235,246,165,171,248,225,79,250,223,247,249,230,46,252,204, +165,251,128,121,249,65,84,251,146,126,248,107,126,251,138,150,250,53,52,255,249,195,250,253,156,1,5,129,250,109,125,3,172,143,253,148,194,5,222,52,0,77,161,5,170,70,253,140,61,4,3,245,249,3,191,3,177,174,249,88,228,3,195,253,252,89,203,0,176,218,255, +72,142,252,48,231,1,56,11,255,153,94,1,239,242,3,27,79,252,142,85,3,11,173,251,126,71,1,229,22,254,71,131,2,130,241,252,181,58,1,79,190,249,32,202,0,182,228,248,239,191,2,51,185,253,23,17,4,116,232,1,240,28,1,104,169,1,161,146,254,113,33,0,66,180,255, +200,131,1,76,59,3,234,158,1,201,72,7,216,114,0,126,19,6,53,230,1,210,13,4,104,84,4,4,63,5,203,50,6,181,102,9,207,15,8,119,12,6,42,168,8,59,165,0,115,229,7,238,183,2,9,139,9,177,171,5,50,173,9,212,92,4,99,55,8,221,206,1,71,212,8,223,31,2,32,103,11,180, +117,0,101,224,11,58,59,253,30,239,7,238,54,252,39,85,7,249,162,253,43,52,8,36,211,252,120,147,7,43,10,249,51,30,6,25,23,248,180,220,4,73,84,246,202,80,2,199,83,241,32,101,255,37,245,238,115,95,251,139,184,240,99,158,248,40,251,240,168,39,247,188,233, +241,236,224,240,212,124,244,255,137,237,162,122,245,3,117,237,6,235,245,223,195,236,153,134,247,227,68,235,171,166,249,144,155,236,170,134,251,225,10,239,131,21,254,234,15,240,243,251,0,15,2,242,97,127,4,109,231,244,102,208,7,164,174,248,198,71,10,58, +84,252,142,17,10,95,115,254,58,183,9,60,247,255,37,229,9,113,129,2,124,217,9,83,35,6,18,74,11,21,13,9,48,112,12,194,36,11,83,41,11,243,140,12,180,153,9,53,240,12,227,56,10,41,67,11,46,250,9,73,163,8,42,78,9,214,140,8,8,197,8,50,122,9,119,69,7,41,239, +6,176,222,5,117,82,4,69,71,6,252,117,5,105,4,5,112,180,2,186,210,3,160,137,254,61,74,5,228,168,251,25,222,4,40,111,250,108,11,2,90,54,249,54,221,1,43,222,247,142,219,2,234,6,248,194,251,1,66,208,247,54,95,1,192,106,246,89,114,3,198,186,244,11,149,3,136, +66,244,150,69,0,166,134,242,33,230,254,131,207,243,112,150,254,6,214,248,132,69,251,249,55,251,184,115,248,208,17,252,13,159,247,9,145,253,75,104,246,204,79,254,177,44,242,43,201,0,31,53,239,49,83,5,255,183,237,201,14,8,247,68,235,38,189,8,134,11,234, +33,66,10,120,3,233,245,105,11,221,7,234,221,7,10,40,116,236,220,29,7,42,0,236,157,143,7,178,73,234,170,135,8,51,108,235,53,125,5,60,36,238,217,45,2,76,103,241,159,172,0,241,58,243,64,86,1,65,103,243,105,146,255,155,225,246,61,33,253,23,81,253,19,60,252, +54,203,3,237,30,249,185,203,9,9,219,245,40,217,13,73,127,243,193,128,18,146,251,241,128,16,27,46,192,241,25,190,31,138,175,241,140,218,31,34,68,242,178,224,31,240,153,245,72,142,33,235,55,250,226,243,33,45,99,255,171,73,33,249,231,2,187,245,31,31,39, +4,241,244,29,196,167,6,246,247,28,97,245,11,119,56,27,101,121,16,200,59,26,209,175,18,201,221,23,152,71,22,229,139,22,233,203,27,121,4,21,27,164,31,46,7,15,2,138,33,163,253,7,231,62,32,199,72,5,7,116,28,235,234,0,240,171,24,41,49,249,10,216,21,29,178, +243,150,99,17,250,91,241,201,153,12,204,155,239,28,99,8,35,54,236,221,132,3,108,5,234,71,176,255,4,14,235,26,193,252,163,177,234,160,185,250,181,113,233,108,124,247,81,38,234,145,83,245,84,68,234,19,148,243,142,30,234,38,124,240,123,50,238,156,206,237, +113,217,242,130,13,237,217,62,243,154,143,235,156,60,244,22,242,237,143,83,248,35,29,240,214,253,251,25,67,239,16,66,254,2,225,238,242,92,252,191,81,241,57,201,250,135,91,247,126,7,251,5,23,248,163,86,249,97,8,248,166,189,248,70,224,249,67,114,250,165, +235,249,217,206,254,228,15,248,189,221,255,213,184,246,236,120,0,230,116,245,245,50,4,57,134,245,136,218,3,206,171,247,35,147,2,252,170,249,175,94,4,205,125,251,44,211,5,173,195,249,186,7,5,179,143,248,124,49,2,88,73,251,28,87,1,56,123,252,16,30,2,166, +200,248,72,59,255,108,124,247,72,0,254,216,42,251,147,69,253,173,224,252,223,69,255,42,113,251,160,234,0,249,187,251,6,237,2,20,107,254,82,10,7,180,2,1,53,29,7,108,83,2,177,127,9,91,129,5,50,81,11,49,228,9,157,84,12,144,254,13,150,4,13,239,113,17,230, +38,14,18,206,18,250,102,16,168,255,19,255,18,16,217,30,22,209,76,14,101,157,25,231,235,14,87,119,26,230,42,14,96,24,27,79,190,10,109,87,27,143,47,8,85,241,25,114,11,7,51,252,21,152,51,4,43,202,18,240,42,255,121,67,16,239,168,254,187,9,13,110,183,255, +125,26,5,240,25,251,55,34,253,173,41,245,139,178,248,194,220,242,4,124,244,111,144,241,0,93,237,128,120,236,79,219,228,9,39,231,138,81,226,61,134,229,97,51,225,124,20,229,166,100,221,128,206,227,114,236,218,96,0,228,102,92,220,104,135,229,146,207,221, +148,61,230,252,149,221,130,178,231,106,159,223,75,31,235,115,77,228,132,51,240,168,140,231,28,99,244,139,35,232,140,234,248,100,18,238,241,249,254,131,136,245,85,9,4,155,17,249,207,250,8,1,16,252,196,90,13,160,235,1,18,101,15,11,205,4,190,106,17,210, +124,6,79,187,17,169,168,10,183,99,17,85,158,15,70,225,17,30,11,18,137,249,19,128,11,17,186,56,18,123,130,18,172,222,13,217,101,21,122,222,13,16,132,23,37,45,14,55,233,21,151,252,13,68,233,21,187,248,13,142,174,20,66,22,14,183,248,16,198,248,11,46,26, +14,101,174,9,207,168,11,252,39,5,237,234,9,26,189,2,134,43,7,203,219,1,19,169,4,63,34,254,251,192,2,160,40,251,100,72,1,7,14,250,4,16,254,83,243,247,122,177,249,241,187,248,143,5,251,11,121,249,218,227,253,74,143,248,74,226,253,246,217,250,163,45,254, +135,156,251,1,169,255,152,3,253,75,82,0,46,51,254,182,199,2,227,44,254,115,54,5,86,114,1,114,233,4,122,1,4,3,255,4,232,160,4,114,247,4,160,115,6,77,194,3,137,158,9,136,178,1,186,77,10,177,226,0,234,195,9,228,175,0,12,75,11,244,8,2,206,3,13,72,40,2,114, +138,14,54,49,1,240,138,15,136,180,1,191,95,13,214,9,3,176,200,7,118,175,2,235,125,5,114,9,3,8,233,4,249,97,4,13,124,1,79,94,3,82,161,254,161,5,0,232,118,252,110,139,254,58,253,246,48,29,254,54,180,243,111,232,251,232,82,243,153,145,247,159,252,241,178, +45,244,50,5,238,30,138,243,198,137,235,253,79,241,126,248,233,234,147,240,174,165,233,245,176,241,168,101,234,251,205,239,68,225,234,226,156,238,146,211,238,45,19,239,238,233,240,208,192,240,36,144,241,166,183,243,159,39,243,186,46,246,116,75,247,34, +6,248,45,199,250,249,183,251,119,236,252,159,190,254,60,132,254,230,124,1,252,211,0,162,89,5,14,114,3,40,30,8,201,78,6,150,175,9,79,19,9,187,45,10,190,190,9,172,121,11,131,216,10,210,194,11,228,162,13,40,8,10,86,145,15,163,128,9,251,51,15,114,136,9,194, +194,12,11,179,7,9,35,12,249,134,6,82,145,11,223,138,5,89,105,10,234,173,6,78,192,9,239,186,4,3,29,7,203,222,2,231,166,3,8,43,5,104,103,1,35,185,6,86,61,0,0,34,4,238,215,254,8,152,1,161,83,254,244,221,255,6,161,253,232,229,254,22,130,253,93,121,252,87, +209,254,114,156,250,27,24,0,45,17,251,17,56,0,127,73,252,183,33,255,18,136,0,252,40,255,18,230,3,186,187,255,130,232,2,212,24,255,154,147,3,165,166,255,202,207,8,243,182,0,19,93,11,97,153,1,204,28,9,204,168,1,89,219,6,90,217,1,130,52,8,152,185,3,84,27, +8,71,231,5,32,220,6,169,10,6,192,196,6,44,18,5,245,248,3,131,209,4,254,61,0,110,9,4,87,11,0,47,141,3,180,26,254,204,154,2,197,35,251,77,213,0,80,145,249,187,207,254,245,128,247,172,0,254,128,39,245,112,231,252,234,151,240,187,58,250,201,38,237,98,192, +248,174,101,235,163,35,248,87,221,235,104,81,247,40,253,235,65,28,245,94,195,233,71,232,242,88,98,230,187,28,242,67,79,230,178,52,242,41,161,233,218,27,241,12,14,237,132,112,240,24,240,239,76,249,239,114,201,240,227,54,241,113,94,243,90,241,241,172,18, +247,147,55,243,4,249,249,13,173,246,215,209,252,163,135,250,8,18,2,194,238,252,200,2,8,125,207,255,139,226,12,180,14,5,221,217,14,97,79,9,46,201,15,103,172,11,88,197,20,85,53,12,179,112,25,233,92,12,188,62,27,69,56,14,121,73,28,115,67,15,42,153,28,70, +9,14,206,110,27,94,170,15,56,201,25,46,16,20,220,70,21,60,152,20,103,23,15,146,188,16,22,13,10,155,249,12,222,63,5,46,177,10,92,69,0,142,94,8,90,215,251,200,145,5,81,238,246,123,94,2,216,18,241,65,121,253,168,108,234,162,23,248,189,75,227,120,224,242, +36,18,224,104,82,240,202,119,224,121,249,235,18,149,224,224,134,231,97,132,223,10,55,230,253,196,223,159,191,228,103,107,225,231,163,228,188,134,227,87,115,226,106,158,230,147,50,224,141,100,233,228,37,225,72,69,235,18,92,228,115,109,237,110,159,232, +143,182,239,48,5,236,63,183,240,9,22,239,8,208,239,127,46,242,250,102,242,182,117,246,109,132,248,63,194,250,46,147,252,87,158,253,91,61,255,150,185,1,162,42,3,253,242,5,83,210,7,39,249,8,211,145,11,255,86,10,255,8,12,236,146,10,213,31,12,39,111,10,63, +113,15,136,32,8,107,208,19,230,242,6,147,63,18,157,73,7,239,60,16,143,252,6,2,208,14,238,17,6,236,167,8,6,146,4,165,153,2,179,215,2,234,103,1,224,63,0,26,214,0,252,241,253,32,56,253,25,103,253,90,113,249,19,234,253,229,78,248,67,120,250,220,77,245,105, +223,246,7,115,241,222,80,246,80,20,243,196,25,245,16,234,244,81,228,240,114,98,244,166,49,237,36,253,243,12,15,236,222,251,243,155,67,237,210,225,245,213,228,235,152,52,249,90,51,236,227,215,251,203,84,240,251,81,251,26,34,242,236,140,249,200,10,244, +128,40,250,107,172,246,110,204,254,39,216,249,179,31,3,145,120,252,195,69,3,90,99,255,125,113,3,193,158,3,118,159,4,8,63,8,60,152,2,210,126,11,144,136,1,52,209,13,25,95,5,30,207,16,8,222,6,39,64,20,224,150,5,175,227,21,144,165,5,58,31,24,72,240,6,70, +78,25,199,132,6,134,124,22,130,21,5,148,26,21,68,167,3,100,44,21,82,103,255,58,97,17,234,242,249,241,115,11,129,196,248,137,219,9,112,172,247,95,27,12,252,51,243,99,191,11,76,120,241,240,137,8,72,231,244,131,69,6,53,41,245,210,52,6,120,89,244,3,37,6, +186,32,247,111,41,2,210,145,253,47,183,254,214,251,3,175,73,0,247,234,6,184,161,0,96,129,10,7,161,254,89,127,16,165,19,252,181,13,19,107,118,252,42,64,19,116,17,253,121,149,20,30,31,253,183,237,23,162,32,254,59,79,28,36,122,255,212,26,29,30,255,255,189, +3,28,56,253,0,192,114,26,59,196,2,149,171,21,83,247,2,192,110,14,136,45,1,113,110,10,165,99,0,68,97,10,134,189,254,135,130,5,243,94,253,206,156,255,108,27,0,119,91,255,251,146,0,59,153,252,230,56,1,146,211,246,142,121,0,243,221,242,153,147,252,52,41, +243,67,155,252,213,188,246,8,230,254,45,39,249,7,63,251,160,0,249,109,135,246,111,134,249,147,239,248,156,88,249,156,128,250,1,231,248,65,171,249,214,34,250,102,210,250,22,7,254,253,17,252,1,106,255,56,143,255,143,248,1,86,76,4,198,250,6,131,4,7,24,163, +9,12,185,13,248,147,10,51,235,21,247,145,10,174,215,22,114,153,13,25,28,23,177,30,19,137,224,27,237,102,22,190,31,31,135,133,23,93,187,30,108,99,25,167,201,28,143,185,26,92,156,26,33,93,25,116,54,24,95,245,22,131,108,21,115,95,20,7,101,16,20,171,17,115, +64,10,52,88,14,176,224,4,147,21,9,145,27,0,43,214,4,217,125,255,92,67,0,22,63,254,54,109,251,231,85,249,239,137,246,77,51,247,240,248,242,143,156,247,2,89,239,236,185,243,120,104,236,198,221,239,97,47,238,155,59,238,101,12,240,215,246,235,116,119,238, +5,10,236,32,145,238,223,27,234,116,203,241,214,10,232,227,163,244,116,52,231,45,77,245,189,79,232,58,144,245,40,124,234,142,21,248,218,28,235,239,221,250,199,161,234,165,215,251,79,137,241,48,181,250,210,214,246,32,151,249,112,169,246,249,248,250,246, +119,247,177,73,252,98,91,252,35,214,252,161,238,0,62,47,253,166,99,1,245,42,255,17,101,2,174,117,2,161,74,4,123,69,5,86,35,2,50,18,6,110,53,0,182,220,5,65,233,255,34,234,6,8,80,0,187,67,7,212,73,255,254,129,5,14,235,253,203,102,1,176,54,252,52,199,253, +251,52,253,92,121,250,205,247,255,121,77,247,202,111,254,182,99,243,111,197,254,136,106,240,219,74,0,195,202,239,131,17,255,160,187,237,149,240,0,172,53,237,205,211,3,97,149,240,150,240,2,175,80,244,209,117,4,121,30,245,203,82,8,173,178,244,66,135,9, +228,29,246,12,233,8,19,159,248,133,173,10,16,231,251,150,111,8,235,204,254,173,206,3,200,251,1,87,104,3,42,216,4,178,71,3,222,234,7,179,182,255,183,204,8,59,108,255,214,89,7,241,103,0,251,24,7,248,227,251,243,64,8,138,214,249,60,112,6,44,35,254,189,54, +4,159,222,0,223,154,3,41,184,254,1,3,3,227,117,253,184,38,1,244,147,255,60,115,0,3,164,0,129,108,1,31,228,253,204,102,2,169,10,251,44,122,2,54,116,249,44,254,1,255,239,245,198,160,2,249,203,242,212,85,5,79,196,241,81,208,6,128,68,241,26,164,5,50,113, +240,139,113,5,67,123,243,218,98,4,38,102,247,119,191,1,72,157,244,144,223,254,172,177,243,72,137,253,140,77,246,56,172,253,55,162,246,75,43,254,243,24,248,63,169,254,144,252,251,180,132,0,224,236,1,182,136,2,144,126,7,149,247,1,123,205,9,209,115,255, +163,198,7,170,249,253,190,123,9,45,208,251,38,242,14,86,191,249,134,176,17,165,83,252,133,95,17,116,85,253,107,24,17,87,12,250,170,89,18,24,38,247,184,54,17,134,26,246,111,106,14,189,198,246,111,53,13,187,91,248,120,19,13,191,48,251,22,27,14,51,226,255, +133,102,11,126,92,0,11,180,6,166,136,254,76,98,4,127,110,0,185,200,3,206,183,2,87,45,2,215,196,3,252,227,255,26,111,5,62,103,253,161,57,7,181,134,250,165,231,6,32,180,246,190,160,7,252,213,244,144,64,8,211,189,242,72,43,7,140,117,241,110,248,6,185,75, +241,75,22,6,10,215,239,219,238,3,140,90,238,163,214,0,13,182,240,92,205,254,72,114,243,200,37,254,75,136,243,53,207,253,201,89,243,134,163,251,9,220,244,76,105,249,246,48,248,225,85,250,52,37,249,124,49,252,157,95,248,143,103,253,6,69,250,181,227,254, +87,227,252,10,56,0,230,159,253,183,162,0,67,54,0,103,53,0,25,246,1,23,198,254,205,239,1,180,22,255,80,42,2,215,155,1,251,47,4,107,120,3,231,144,5,26,64,2,200,56,7,21,162,1,81,31,10,140,47,0,8,163,11,139,59,254,245,96,11,228,140,253,185,79,9,73,208,254, +160,79,9,39,102,255,119,208,11,84,68,254,171,149,13,58,164,255,2,73,14,88,7,2,13,246,14,152,84,2,92,44,13,231,185,2,126,10,13,10,4,5,68,91,15,211,120,7,17,205,15,220,42,11,118,58,13,134,30,14,250,89,11,2,92,13,102,180,10,254,252,12,87,223,9,68,238,14, +40,119,10,76,243,16,232,122,8,147,120,18,123,243,6,57,31,18,125,15,5,84,67,17,124,222,2,82,151,18,172,23,2,87,10,19,15,81,2,238,38,17,235,39,1,240,224,12,38,12,1,165,22,9,155,17,254,34,23,8,177,68,252,90,247,5,67,96,252,140,7,4,35,160,251,93,183,1,123, +58,249,238,19,0,84,111,248,118,166,253,150,220,247,51,48,248,112,59,245,223,11,242,11,124,243,94,145,238,255,3,243,21,106,237,136,203,242,226,245,235,189,178,241,32,138,233,252,48,242,214,53,230,133,35,243,196,9,229,61,207,241,36,110,227,214,38,242,210, +175,226,119,188,244,58,7,228,48,153,246,42,122,232,180,134,248,235,130,237,96,95,249,254,109,239,1,139,250,79,209,241,36,28,253,79,173,245,74,203,254,148,254,249,72,181,254,253,207,253,119,214,254,109,10,3,102,69,2,38,77,7,166,185,4,93,160,10,180,201, +4,173,184,13,44,107,3,43,220,16,34,13,3,32,17,19,227,19,7,43,243,20,231,254,6,134,1,23,98,90,3,184,119,23,230,69,5,215,199,22,3,5,9,47,166,25,46,104,11,244,246,27,145,143,12,68,191,25,158,159,12,12,82,24,23,177,12,48,204,23,154,56,12,179,16,23,61,167, +13,50,124,20,37,193,12,65,62,17,54,121,11,161,99,15,187,154,10,251,84,13,89,178,9,103,231,7,12,111,8,189,139,2,249,237,7,223,182,0,246,152,7,54,250,255,95,254,7,121,139,253,104,173,6,131,5,251,132,186,1,172,112,250,44,23,255,94,149,249,183,104,254,236, +36,247,171,6,252,124,60,245,196,168,249,125,214,242,82,101,248,220,239,241,62,220,247,26,45,242,81,170,246,2,248,241,104,170,244,69,235,241,14,85,244,96,125,242,196,21,245,240,248,242,128,26,245,7,93,243,13,57,246,178,240,243,143,221,246,84,115,243,252, +213,244,34,42,244,97,92,245,145,81,245,86,143,247,225,113,247,91,142,246,76,93,250,48,92,246,9,90,252,18,201,248,188,55,253,17,175,250,4,16,254,43,45,252,139,94,0,202,9,252,82,73,2,188,164,253,17,94,3,189,248,2,97,246,5,204,59,5,200,240,9,119,148,5,98, +135,11,74,188,6,29,201,11,77,129,9,172,5,11,232,17,12,207,245,9,150,89,11,131,168,10,210,71,10,50,210,12,199,2,12,224,129,13,100,163,15,109,113,12,168,156,16,37,165,10,202,12,14,126,138,8,67,237,13,60,136,5,119,46,15,246,124,4,174,112,14,34,132,4,53, +221,12,55,232,2,0,97,10,39,37,0,227,135,8,100,61,252,142,116,6,0,24,249,112,169,2,149,245,245,147,191,254,138,149,244,59,20,251,87,135,244,239,191,246,161,62,244,119,102,241,161,184,244,249,178,238,122,38,245,41,163,238,253,104,245,180,81,235,103,13, +247,25,148,230,252,182,248,164,58,228,149,207,249,103,224,225,180,62,251,228,183,223,49,230,253,92,77,223,166,114,0,210,131,223,252,177,255,188,74,225,121,46,0,228,198,228,122,215,2,156,70,232,94,6,2,6,221,235,254,67,255,26,251,239,225,27,255,121,204, +245,80,97,254,182,8,251,129,233,251,186,6,255,50,12,250,195,5,2,79,68,249,29,242,5,87,219,248,237,223,9,254,216,247,76,193,13,211,36,247,131,44,15,26,137,246,24,143,16,93,250,245,219,89,17,116,45,245,136,196,17,141,41,245,220,99,17,98,158,246,25,210, +17,81,118,246,48,76,16,167,90,247,147,86,14,88,162,248,177,205,13,26,97,250,183,90,12,218,243,252,121,126,9,55,14,255,10,162,7,189,90,1,222,223,7,170,126,3,108,150,6,226,243,4,45,180,3,66,74,5,85,92,2,221,47,6,63,114,2,255,9,7,202,89,0,141,152,9,4,251, +254,96,176,12,146,240,254,68,71,13,32,236,253,144,148,12,212,176,251,137,194,13,56,69,250,46,140,15,132,201,250,235,140,16,88,54,252,205,167,15,28,127,253,155,189,13,19,80,255,150,13,13,54,249,255,151,155,12,204,119,255,119,34,11,71,19,1,21,9,10,71,190, +3,105,253,6,28,181,4,66,29,2,234,249,4,108,42,255,53,230,5,246,9,253,133,14,7,23,238,250,13,21,6,66,103,251,116,0,4,3,156,251,68,91,3,10,189,249,227,252,3,221,246,248,106,215,4,17,68,250,212,220,3,42,174,251,69,107,2,119,200,251,68,109,2,228,254,254, +114,28,0,66,21,4,183,120,253,238,101,5,9,53,254,210,199,5,51,20,0,83,62,10,230,247,0,76,200,13,181,180,1,152,151,14,164,228,4,135,87,16,55,234,7,1,168,17,187,168,9,231,208,18,182,106,9,143,198,18,108,234,10,231,210,18,44,255,12,187,73,19,49,246,12,8, +110,17,101,40,10,44,250,14,163,7,7,101,31,12,109,117,4,4,32,9,252,89,0,44,214,6,139,56,253,163,101,5,133,134,251,191,31,3,227,153,250,210,74,255,198,127,249,13,221,249,149,206,248,56,81,244,160,253,248,139,130,240,158,3,246,146,45,238,7,194,244,101,241, +235,143,38,246,65,194,235,59,15,246,105,82,236,210,246,242,55,238,233,26,109,241,24,192,231,147,201,240,144,77,232,37,66,238,242,230,233,253,128,235,213,113,235,84,251,235,72,191,236,163,62,239,200,77,238,53,251,241,242,34,241,210,21,246,10,64,243,83, +59,253,104,53,244,250,181,1,220,254,246,161,151,3,21,80,252,49,168,7,166,102,2,127,48,10,221,238,5,6,210,11,192,111,8,51,130,13,152,55,11,120,78,13,205,248,13,169,13,12,35,91,15,161,191,11,10,180,12,234,181,11,230,152,10,209,242,10,204,71,11,110,191, +10,50,232,9,248,51,12,235,191,5,69,143,11,238,44,5,122,12,9,184,33,7,191,100,7,168,198,6,71,170,5,241,13,5,153,170,0,236,144,5,130,220,252,128,190,5,43,157,253,64,251,3,214,58,253,196,20,3,127,153,250,191,141,3,47,109,250,248,152,3,165,190,253,15,52, +5,99,120,0,86,0,7,191,95,1,162,85,6,235,238,0,96,35,7,118,247,0,35,206,10,243,170,2,85,198,11,98,198,4,145,42,11,18,16,5,165,183,11,200,177,2,26,45,11,2,246,3,110,100,8,55,244,6,107,165,5,241,157,7,115,249,4,212,194,6,12,91,4,161,176,6,233,81,2,119,248, +7,51,224,255,199,174,7,114,43,255,72,113,5,94,87,255,194,101,4,227,232,255,235,151,2,206,30,255,167,127,255,135,216,253,64,243,252,172,66,254,227,82,251,79,107,252,83,87,250,156,41,248,165,240,248,218,187,245,62,88,247,218,197,244,98,222,245,244,26,244, +77,209,244,63,94,243,247,222,245,250,3,245,105,221,246,127,190,247,174,29,247,182,49,248,37,147,248,193,214,248,208,10,251,223,132,249,237,243,251,122,112,250,32,73,251,43,38,253,113,62,252,26,88,0,179,62,255,36,192,0,210,161,1,223,58,1,10,131,4,58,197, +3,102,70,8,21,130,4,94,100,10,250,99,4,93,96,9,214,95,6,160,144,9,210,163,8,245,114,10,123,145,10,220,203,7,64,112,11,85,184,5,114,0,9,241,47,6,154,48,7,9,172,5,91,251,5,13,57,2,41,13,4,92,62,255,169,126,2,204,7,254,93,116,2,86,26,253,39,137,2,0,60,251, +95,207,1,130,246,250,155,55,1,74,162,252,92,63,0,28,64,253,189,157,0,112,158,253,126,82,1,152,255,252,95,87,1,49,164,252,162,141,0,211,24,253,198,255,0,120,47,253,24,52,2,156,222,253,40,11,3,13,156,254,134,203,3,12,181,1,177,174,5,97,243,5,9,100,7,37, +255,6,218,127,8,145,83,6,125,242,8,34,219,7,149,106,9,168,204,10,104,75,10,73,189,11,133,119,10,70,102,10,90,199,9,224,34,9,15,26,8,131,57,7,226,40,5,180,239,1,138,194,2,178,3,253,96,245,254,33,205,250,72,122,249,106,99,247,18,124,245,214,30,244,112, +212,242,173,77,241,173,183,238,194,124,238,123,32,234,57,85,237,24,255,231,89,220,236,18,142,231,138,90,236,113,161,230,168,99,234,142,158,229,200,126,232,137,224,229,201,116,234,120,107,230,242,57,237,75,232,229,82,217,236,43,154,230,181,205,236,113, +5,233,164,15,239,92,214,234,231,230,240,220,37,237,162,14,243,228,164,239,183,1,246,148,33,241,150,226,247,148,68,243,188,149,249,76,190,246,248,85,253,13,93,249,195,143,0,48,230,251,85,96,1,90,242,255,5,162,2,85,81,4,78,116,5,41,38,8,250,111,8,124,100, +10,81,43,8,113,104,10,62,239,8,139,45,11,69,210,11,208,227,12,66,107,12,144,197,14,201,164,11,148,156,15,24,189,12,173,22,16,38,120,14,12,152,17,160,35,13,239,235,17,95,31,11,125,34,17,241,15,10,241,151,15,110,227,7,163,64,14,146,91,6,164,7,15,198,249, +5,15,27,14,253,246,4,146,253,10,88,110,3,133,17,8,241,215,1,71,49,5,23,171,1,252,82,2,10,218,2,36,133,0,115,140,2,73,123,0,58,72,2,107,215,255,189,96,5,134,46,0,143,51,8,214,208,2,255,100,8,239,129,3,34,252,9,64,192,2,120,137,13,58,236,4,204,241,12,90, +93,8,173,73,11,80,91,10,236,181,12,147,127,11,180,32,15,78,220,13,252,254,15,72,207,16,199,169,14,200,16,19,203,156,13,102,150,19,208,147,13,211,189,18,9,43,12,228,54,18,85,67,10,54,190,18,101,249,8,141,115,18,192,151,8,94,55,15,108,67,8,101,90,13,94, +199,6,53,159,14,130,148,3,172,235,13,148,51,0,31,40,10,36,32,253,134,159,7,44,81,249,5,84,5,84,210,245,75,210,0,38,6,244,89,207,252,3,166,243,182,153,250,19,147,242,107,108,248,163,52,240,83,6,246,2,88,238,116,67,242,102,167,236,107,31,238,173,129,236, +122,20,235,7,185,239,204,47,233,105,31,241,231,203,232,199,93,241,141,230,232,210,53,243,31,67,233,203,158,244,177,60,236,161,175,244,46,27,239,175,189,244,129,233,239,63,118,245,133,66,241,186,212,247,2,108,243,25,121,251,78,232,244,172,106,0,152,90, +245,119,152,4,228,214,246,0,149,5,215,229,250,135,107,6,50,216,255,135,150,8,213,249,2,52,38,11,36,209,4,129,182,12,44,80,7,127,75,14,72,70,10,245,36,17,208,227,12,65,199,15,190,37,13,246,25,13,186,202,11,120,196,13,66,191,11,107,68,13,24,58,13,149,89, +10,241,246,12,195,242,8,138,177,10,113,117,8,247,171,7,63,94,5,34,128,5,164,211,0,244,183,3,48,85,253,28,220,1,191,234,250,55,128,1,49,226,246,168,189,1,5,239,244,23,3,0,7,1,245,244,58,253,196,155,244,113,203,250,55,180,244,121,165,250,79,233,244,253, +227,251,90,211,244,218,186,251,122,222,244,41,166,251,251,213,243,118,97,253,132,169,241,109,235,255,125,186,239,181,14,0,40,188,240,184,186,254,178,152,245,108,3,253,241,124,248,62,183,252,76,27,249,5,162,253,9,24,251,13,114,253,245,55,253,80,109,252, +75,77,255,102,136,252,9,206,2,208,188,253,160,70,4,91,132,254,142,134,4,9,202,253,205,112,7,158,200,252,2,245,9,121,206,252,161,209,10,77,213,251,247,12,10,113,20,251,214,180,9,118,113,252,184,179,10,88,55,253,201,221,10,180,243,251,91,133,9,79,50,251, +99,30,9,68,241,252,58,0,9,81,79,0,12,170,8,2,153,1,10,235,6,102,161,0,92,69,5,35,117,0,19,209,5,184,101,1,37,135,6,32,185,3,14,108,4,118,135,6,20,255,2,178,227,7,144,184,1,68,237,8,131,202,255,78,69,10,17,68,254,19,109,10,52,72,252,175,240,9,37,68,250, +145,56,10,99,204,248,149,35,10,26,163,248,163,114,9,81,215,248,125,248,8,28,248,247,248,112,7,248,86,246,127,174,5,178,211,245,134,146,3,41,207,246,167,116,1,185,214,246,174,149,255,137,90,247,231,48,253,15,224,249,235,189,249,101,198,250,152,133,247, +60,172,249,46,87,245,130,10,249,8,60,242,136,149,247,148,155,241,54,144,246,125,47,241,73,139,247,120,5,240,29,114,250,29,97,240,101,202,250,78,152,240,211,60,249,88,203,238,213,206,249,12,199,238,142,29,252,145,113,242,5,17,254,7,16,245,231,86,255,27, +198,246,25,45,2,39,97,249,255,199,4,31,60,252,121,48,5,71,139,253,29,230,6,145,225,255,101,255,7,238,233,4,61,158,8,134,70,10,81,104,9,247,113,13,57,112,9,139,1,16,116,198,10,39,239,16,178,192,10,21,246,16,35,77,9,91,127,17,1,188,7,80,19,17,46,199,8, +102,194,15,66,210,8,166,214,15,70,18,7,78,11,17,104,37,7,125,24,18,220,18,7,159,112,18,109,166,5,95,106,17,196,178,4,128,202,15,73,3,5,160,156,15,224,70,5,172,73,16,186,17,4,77,190,15,158,204,1,34,158,13,64,150,0,224,234,8,74,61,0,39,158,6,62,201,255, +184,230,6,12,140,255,3,58,5,189,213,255,19,230,4,16,217,1,250,91,6,113,116,2,47,0,5,188,146,255,118,67,1,241,27,252,73,253,255,208,83,251,91,116,0,237,50,252,54,181,0,234,69,253,9,249,255,4,194,254,247,135,254,125,75,0,174,41,253,66,44,0,113,20,251,95, +17,0,42,64,250,153,48,0,102,243,248,191,129,254,128,9,248,188,178,252,213,168,248,214,70,252,150,60,246,37,178,251,211,98,241,129,49,250,30,119,239,176,216,248,121,39,238,19,172,246,194,163,235,98,234,244,139,174,236,59,102,244,248,179,238,168,3,244, +127,231,237,137,126,244,202,243,235,234,78,246,166,216,234,163,167,247,244,142,232,118,150,247,179,136,230,67,20,247,92,181,232,163,49,247,84,55,237,57,164,248,164,140,240,44,215,248,73,253,243,25,114,246,14,255,246,111,43,245,249,28,248,148,210,246, +90,52,249,242,79,247,97,25,252,127,183,247,99,62,1,40,106,249,243,222,4,196,16,252,95,210,7,177,176,254,114,254,9,134,161,0,44,229,10,106,251,1,103,246,11,146,178,4,107,215,12,121,138,8,28,112,12,241,127,10,114,112,11,234,114,11,215,31,13,241,109,12, +198,103,15,190,93,13,0,46,16,212,49,14,127,133,16,99,240,13,196,67,16,175,14,12,234,89,15,170,224,11,199,245,14,3,46,11,118,96,16,1,241,8,87,91,17,129,33,8,3,27,15,2,25,6,179,2,12,20,66,2,11,165,9,9,98,0,91,235,6,220,15,1,108,197,3,203,152,1,171,168, +0,15,95,0,213,157,255,231,70,0,79,244,0,170,133,1,154,234,1,225,75,0,122,160,1,125,217,254,50,3,2,110,254,254,241,151,3,99,217,253,157,238,4,68,224,252,200,229,4,139,105,254,164,50,5,244,210,255,142,180,6,155,78,254,3,36,7,200,105,253,151,209,6,101,211, +255,33,248,3,42,235,0,205,75,0,94,192,0,88,51,254,44,125,1,238,248,252,146,62,3,250,6,252,150,228,3,107,212,250,240,252,3,2,247,248,188,102,4,86,237,245,228,213,1,49,147,242,8,37,255,20,196,239,58,37,255,97,169,238,199,142,254,203,152,239,116,11,253, +225,57,240,157,248,251,130,176,239,67,53,250,8,27,238,199,196,248,99,207,237,110,80,247,127,209,239,140,132,246,101,226,243,206,107,246,131,234,247,50,232,246,177,245,248,53,63,247,218,98,248,50,37,247,2,241,248,49,145,247,52,247,248,231,22,249,121,59, +249,6,252,250,152,16,252,149,168,251,56,138,0,202,202,251,143,232,3,214,70,251,147,175,6,92,238,250,225,114,10,117,155,252,13,72,13,227,123,253,31,189,13,120,10,251,24,125,13,181,65,250,140,27,14,45,124,252,6,45,15,254,74,253,205,193,13,57,122,252,171, +54,11,39,243,253,188,185,8,26,250,1,53,190,5,14,177,3,133,166,0,159,198,2,43,251,251,112,175,2,205,133,250,140,234,4,143,194,250,95,233,4,140,235,249,84,13,2,77,54,248,147,37,0,224,170,246,134,238,254,179,21,247,154,131,254,162,30,248,187,225,252,91, +78,247,51,68,251,121,215,245,254,37,251,93,57,245,84,150,251,126,147,244,181,203,249,76,23,244,245,223,248,112,196,244,238,13,250,233,215,244,194,242,251,160,166,245,208,179,253,110,81,247,12,142,254,141,82,247,202,162,255,170,171,248,185,114,255,206, +7,251,72,0,254,83,204,252,116,224,251,63,90,255,228,155,251,158,81,2,93,106,252,225,109,4,197,189,253,173,254,5,112,215,253,18,3,7,205,206,253,71,167,6,163,152,255,162,209,5,12,116,1,189,46,5,32,105,3,205,137,6,214,165,4,228,213,9,154,246,5,26,244,9, +40,19,8,86,126,7,24,168,8,158,222,6,181,106,8,218,253,7,188,182,8,78,83,9,254,31,8,7,245,9,36,168,7,249,29,10,136,243,6,5,176,8,35,245,5,215,221,7,223,121,5,252,215,8,204,185,5,153,18,9,61,11,5,195,161,6,79,126,4,230,88,4,80,73,5,7,0,3,235,251,5,18,130, +1,245,109,4,116,126,255,86,155,3,220,48,255,157,26,5,119,69,1,107,20,6,203,222,1,7,87,5,18,191,0,151,100,4,226,27,0,177,116,3,24,74,0,101,252,1,81,152,255,99,183,0,15,92,1,158,153,255,1,42,5,27,107,254,114,156,6,2,66,253,234,63,5,243,118,251,172,14,4, +13,214,249,135,176,1,229,183,249,56,83,0,123,131,248,250,135,1,201,244,246,56,61,2,103,242,248,78,232,0,175,243,251,186,153,254,250,101,253,195,119,254,89,56,253,137,25,255,42,212,252,36,149,254,226,225,254,189,18,252,138,2,1,63,130,251,66,152,1,95,5, +253,190,146,1,187,116,253,97,224,0,48,86,253,151,67,1,150,232,253,145,125,2,158,182,253,196,143,2,95,184,253,74,120,0,103,71,254,16,48,255,3,124,254,97,167,0,121,13,253,172,155,1,74,55,252,20,206,0,67,103,252,194,76,0,29,168,251,197,165,0,187,142,250, +171,104,255,184,104,250,125,235,252,245,151,251,233,199,251,61,151,253,32,0,251,121,180,254,163,27,249,150,157,254,248,143,247,48,23,253,114,171,247,197,171,251,42,2,249,213,59,252,38,19,249,135,60,0,20,178,247,47,73,4,123,1,249,101,184,3,96,71,252,55, +120,1,13,20,255,20,132,2,190,32,0,197,193,4,250,240,1,215,68,4,250,192,6,112,93,5,23,8,11,227,223,7,45,228,10,146,84,8,215,3,10,252,89,7,115,48,11,74,191,7,168,60,12,81,182,8,247,173,11,236,118,8,123,183,11,227,211,8,148,175,12,114,197,8,123,116,12,61, +110,8,240,46,11,126,201,8,187,85,10,88,244,9,196,252,9,124,224,9,5,82,10,253,221,7,248,79,10,165,170,6,43,236,8,63,211,6,156,81,5,21,234,5,140,73,2,173,219,3,155,239,1,97,93,2,153,166,0,191,240,0,130,143,253,117,73,255,51,82,250,109,157,251,201,37,248, +217,92,247,133,1,246,169,73,245,91,241,243,171,28,245,66,174,243,255,134,244,208,153,244,183,235,242,237,118,245,214,122,241,23,102,245,146,153,239,23,106,244,198,209,235,98,100,245,126,218,232,194,223,247,51,123,234,148,5,248,78,56,237,115,112,248,12, +126,238,187,113,251,135,37,240,217,149,253,99,224,241,234,193,253,218,219,241,202,245,253,128,71,242,115,1,254,159,166,244,17,214,253,62,107,247,78,186,254,54,190,249,220,104,254,101,152,250,229,137,253,84,236,250,21,130,252,57,214,250,192,165,251,180, +129,251,57,254,251,196,212,252,29,222,251,243,99,253,18,63,250,193,217,254,79,191,248,109,180,255,224,147,248,180,152,254,44,30,248,91,69,254,77,61,246,172,5,255,78,97,244,193,207,255,161,132,243,223,3,0,136,203,241,105,83,255,164,249,240,111,137,255, +248,81,241,74,123,1,162,22,242,143,238,2,94,200,243,135,150,3,62,106,246,112,34,4,231,32,248,75,233,4,3,240,249,139,46,5,8,250,252,230,161,4,67,123,255,80,177,2,105,235,1,184,111,0,151,53,3,61,127,0,145,241,3,206,73,1,218,77,5,232,158,255,238,19,6,2, +114,255,99,11,5,27,234,255,217,215,2,204,142,254,88,197,1,179,138,254,48,94,2,115,193,254,107,190,1,115,12,253,87,248,0,120,139,251,34,159,0,1,20,251,60,100,0,194,11,251,191,176,0,173,55,250,157,249,1,170,118,248,93,26,4,32,116,247,215,216,6,120,0,247, +99,99,9,96,75,246,220,23,13,91,143,247,146,127,15,153,233,250,102,6,15,241,14,254,25,45,15,148,38,2,229,244,17,108,157,7,183,207,19,17,203,11,123,239,18,112,249,13,159,103,18,255,94,16,119,142,18,208,167,18,165,106,18,32,86,19,199,129,18,104,1,19,68, +67,18,221,25,20,217,128,17,217,227,21,244,87,17,150,59,21,220,184,15,129,117,19,6,255,12,40,162,19,111,201,10,127,223,19,187,42,9,222,0,18,80,41,8,8,199,14,176,82,6,131,97,11,252,10,2,17,174,7,62,81,255,156,242,2,103,64,253,243,95,254,232,211,249,54, +52,251,15,75,246,62,20,249,92,11,242,248,227,246,30,110,238,114,17,245,67,14,235,169,87,243,79,117,231,246,66,241,59,183,229,192,56,239,169,218,229,51,221,237,226,32,230,216,200,236,166,243,230,163,172,235,16,30,233,18,163,235,243,254,237,161,191,237, +155,247,243,84,76,240,127,171,248,127,122,242,182,118,252,33,209,245,213,158,254,79,123,249,251,77,0,204,117,251,33,127,2,149,112,252,16,215,2,236,125,0,141,32,2,118,228,3,191,14,3,64,56,4,33,247,3,242,153,3,240,187,3,148,231,2,121,200,2,182,148,0,114, +69,2,233,133,253,246,182,3,26,199,251,68,28,4,236,108,252,234,129,3,90,146,252,148,86,3,14,142,251,12,104,3,154,231,251,233,133,2,7,133,251,147,29,1,79,182,250,51,18,0,97,114,250,43,121,0,147,106,250,148,112,0,235,116,250,109,53,255,148,246,250,128,121, +254,243,107,253,167,202,254,191,57,0,104,117,255,196,97,1,254,206,253,129,106,1,153,149,251,182,219,255,173,172,250,160,82,254,59,77,252,255,219,254,234,120,254,125,216,255,23,122,255,203,55,255,158,76,1,62,11,0,40,177,4,1,137,2,28,155,7,96,75,3,100, +133,7,62,172,2,248,229,7,255,31,4,143,39,9,32,90,6,88,249,7,213,75,7,254,238,6,227,209,7,180,246,6,6,64,8,155,114,7,238,71,8,89,218,5,181,62,8,116,14,3,154,42,8,83,247,2,56,159,5,98,212,3,87,34,4,37,43,2,103,198,4,178,168,255,70,128,3,127,32,0,67,73, +255,89,150,0,210,104,251,14,36,255,125,132,251,207,226,253,249,254,251,97,14,253,104,245,250,127,188,252,232,17,251,9,128,253,243,58,251,224,233,251,58,236,249,41,191,247,88,229,248,93,105,246,204,76,249,251,175,247,100,150,249,238,31,248,79,66,249,54, +6,248,206,78,250,15,49,248,30,249,250,240,100,249,221,220,250,136,223,252,137,248,251,116,247,255,163,47,254,62,124,0,61,153,254,226,10,1,62,37,254,5,225,2,152,165,0,51,17,6,200,237,3,128,210,8,3,70,4,137,207,10,54,255,5,214,8,14,111,84,10,10,196,16, +170,28,13,112,58,19,170,215,13,235,18,22,251,121,15,167,202,22,152,64,16,28,237,23,154,21,16,135,23,27,219,175,16,203,128,28,157,226,17,86,153,27,170,173,17,21,3,27,67,94,15,71,155,25,45,83,14,155,29,22,18,236,14,233,146,19,196,205,15,109,50,17,203,15, +16,88,4,14,119,49,16,103,7,9,225,7,14,72,200,3,179,18,10,213,134,0,17,188,6,54,7,254,78,76,4,220,199,251,68,191,0,66,49,250,245,62,253,97,188,247,145,86,250,56,137,243,129,206,248,222,142,240,52,202,246,94,250,238,23,1,244,189,222,236,52,128,241,26,53, +234,227,69,241,89,126,233,190,61,242,94,231,234,196,121,242,140,165,237,95,247,241,33,0,240,246,131,241,56,159,241,212,49,241,219,23,243,252,2,241,116,113,243,174,171,240,159,151,244,0,187,239,38,37,247,45,216,238,105,183,249,254,95,240,146,79,251,81, +26,243,193,214,254,19,136,245,186,208,3,242,206,248,47,180,5,227,2,254,246,164,5,32,240,3,204,173,6,191,237,7,155,76,10,3,67,10,51,140,13,179,63,12,27,148,13,119,138,13,152,91,13,212,188,13,9,84,13,187,60,14,17,251,11,187,115,14,30,27,10,35,113,13,164, +192,8,157,152,12,194,252,6,158,138,14,241,55,5,184,217,14,26,163,4,156,199,13,56,38,3,29,254,11,75,250,1,202,128,10,56,70,0,198,39,9,175,113,252,60,0,6,253,181,248,130,55,1,138,102,247,89,67,253,245,178,246,72,236,250,225,106,246,212,93,249,87,177,245, +156,126,245,79,219,245,207,72,240,117,227,245,230,78,237,89,14,245,244,226,235,45,64,245,85,44,232,34,21,246,127,197,228,177,246,246,182,3,228,169,46,247,154,87,228,177,69,246,196,70,228,83,98,243,46,84,227,52,46,242,104,158,227,106,200,243,53,61,230, +253,99,244,162,127,232,91,231,243,6,51,234,173,41,245,144,90,237,46,180,247,125,173,241,69,207,249,94,61,246,35,91,251,51,89,250,248,154,252,143,219,254,67,147,253,4,98,3,96,43,255,249,254,7,19,121,1,134,133,10,58,208,1,68,215,10,172,230,0,131,231,10, +250,191,0,164,110,11,35,159,1,184,101,13,245,251,2,19,43,16,195,237,3,28,186,17,119,12,6,112,213,17,5,27,9,199,26,17,29,190,10,67,33,16,241,15,10,112,166,16,225,231,9,115,7,16,235,67,11,74,5,13,103,160,12,85,194,11,243,123,12,28,108,12,188,85,11,230, +217,10,119,159,10,22,240,6,237,158,9,55,104,2,87,123,7,70,194,252,136,5,5,167,96,247,104,77,3,88,19,244,6,115,2,59,190,242,37,55,1,70,62,240,166,135,253,168,25,236,196,168,249,196,211,233,185,7,247,39,9,234,108,17,244,205,238,233,13,99,241,130,49,233, +173,30,240,127,127,235,25,176,240,73,94,240,224,162,240,31,221,242,66,202,240,249,198,243,143,220,240,23,176,245,248,140,241,245,173,248,248,49,244,201,83,251,207,178,246,208,7,253,229,57,249,120,1,253,179,212,252,89,12,252,13,130,1,66,28,253,176,100, +4,172,42,1,63,70,6,231,232,3,77,76,8,191,206,4,157,114,8,35,157,8,252,202,7,248,247,13,199,233,8,132,59,15,86,93,9,31,185,14,197,12,9,255,226,15,88,34,10,140,119,17,101,28,12,135,6,18,248,47,13,190,174,18,200,128,13,119,149,18,251,4,14,24,16,18,109,163, +12,179,78,17,225,215,10,248,36,15,202,58,9,246,168,12,57,144,6,104,215,9,114,35,5,3,85,8,246,184,4,1,10,8,178,187,4,213,30,6,68,34,3,234,136,3,203,36,1,144,244,2,106,66,1,253,19,3,33,198,2,88,145,0,234,149,2,140,81,253,17,20,3,70,64,253,149,82,4,245, +129,253,230,22,4,214,34,250,196,125,3,192,37,246,46,11,2,138,76,244,59,92,0,180,191,244,119,216,254,226,141,245,73,12,254,246,229,244,32,57,252,81,150,243,48,38,251,171,176,243,133,75,251,144,142,244,232,215,249,10,42,245,109,188,247,250,251,245,254, +211,246,252,143,246,102,134,246,153,15,247,208,11,246,204,137,248,248,55,244,139,215,250,122,112,243,225,197,251,218,245,244,35,35,252,126,183,246,109,137,254,208,235,248,237,200,0,92,234,250,199,143,255,97,217,251,205,156,254,233,122,252,232,24,1,235, +124,254,103,68,4,151,140,0,211,211,4,144,135,0,144,47,4,2,30,0,49,172,3,254,174,0,112,182,2,162,59,1,15,21,2,42,101,2,31,118,2,165,0,3,160,148,3,233,60,3,120,122,3,97,253,3,4,98,2,156,193,6,19,197,1,99,24,10,168,6,1,110,8,10,113,29,0,27,62,9,3,45,1,196, +197,9,190,84,2,87,148,10,20,16,2,117,206,9,154,47,1,31,246,7,30,122,1,115,149,7,4,230,1,53,25,8,62,21,0,197,44,6,252,138,253,51,4,2,166,156,252,20,106,254,214,71,252,38,182,252,216,48,251,61,40,251,197,179,249,223,68,249,56,27,249,253,12,247,143,165, +247,144,13,244,15,82,246,219,37,241,92,220,246,167,31,240,121,211,246,67,151,240,121,215,245,140,188,240,77,78,246,165,135,240,83,67,247,113,34,242,97,20,247,14,83,244,184,26,246,203,146,245,199,176,246,107,245,246,24,75,249,189,222,248,159,161,251,51, +60,252,187,53,252,48,14,254,170,133,252,1,160,254,132,166,254,117,174,0,179,220,2,240,252,3,255,66,7,60,105,6,7,133,8,228,29,7,184,88,8,93,222,9,204,168,8,57,60,14,110,94,8,191,77,15,37,183,8,59,3,15,129,26,10,108,119,16,160,5,11,134,40,18,47,17,10,210, +72,16,88,59,9,220,212,12,147,157,8,82,177,9,52,225,6,88,137,6,145,238,4,53,248,3,225,44,4,101,55,3,189,188,3,243,176,1,128,224,1,234,0,253,138,145,0,69,211,248,155,193,0,138,49,247,105,195,0,87,173,245,107,231,254,134,120,242,233,196,252,37,178,239,116, +52,251,56,122,238,192,139,248,61,40,239,95,22,245,12,38,240,24,216,242,212,152,241,6,229,241,182,155,243,70,76,239,188,126,245,107,53,235,56,95,247,44,234,234,94,148,249,248,252,237,57,130,251,7,123,240,95,120,252,226,236,241,224,225,252,27,41,244,202, +172,254,149,233,246,223,106,1,179,9,249,113,110,3,203,113,250,23,5,5,211,167,252,85,221,7,216,4,255,188,174,8,121,24,2,255,181,6,127,109,5,213,135,6,124,144,5,212,115,8,87,217,4,132,122,8,165,229,6,54,175,6,29,138,10,161,123,5,177,114,11,211,11,5,40, +116,11,120,247,3,27,230,11,16,103,1,183,243,11,173,65,255,150,216,11,169,244,252,19,233,10,5,108,251,33,35,7,84,107,249,55,171,2,97,9,247,38,90,255,73,228,245,241,152,253,47,25,245,176,203,251,67,50,244,104,188,249,206,111,245,23,71,249,244,180,246,95, +114,248,207,196,245,222,95,246,16,93,245,46,146,245,127,61,246,60,22,247,79,6,248,93,169,247,99,66,249,110,44,245,8,83,250,147,76,242,225,186,251,228,134,241,73,77,254,5,217,242,3,101,0,236,184,244,176,10,1,142,183,244,90,162,0,31,197,244,217,103,2,208, +254,246,233,164,5,103,1,249,128,106,6,176,170,248,127,108,5,31,165,247,193,6,5,3,137,247,1,23,6,198,132,249,199,64,6,201,81,251,122,180,4,12,250,251,133,52,4,102,87,252,128,238,5,143,180,252,151,200,7,14,189,253,210,176,6,16,124,255,32,162,4,137,147, +0,128,89,2,194,252,2,157,200,0,164,221,6,23,110,0,68,241,8,69,145,255,105,182,7,249,95,253,145,43,6,30,246,250,123,246,6,242,61,249,172,157,8,82,32,248,206,186,8,255,138,248,11,124,7,163,149,249,135,175,6,189,147,250,169,175,4,55,102,251,90,206,2,183, +0,252,11,237,2,96,87,251,242,212,3,72,95,251,79,216,3,229,82,252,148,223,3,14,72,251,180,35,4,50,143,249,255,31,4,222,176,249,115,66,4,110,101,251,190,143,3,77,9,252,159,89,2,79,161,251,148,231,1,55,218,252,77,155,1,133,222,255,167,67,0,6,249,1,29,138, +254,157,180,2,124,94,254,11,145,4,9,194,254,71,166,5,95,5,253,194,144,5,196,161,250,92,8,5,11,67,250,65,248,3,69,214,249,220,72,2,29,17,248,214,132,1,129,90,247,102,201,1,146,77,247,88,57,2,27,9,246,144,60,2,237,206,243,245,129,2,138,112,241,121,74,2, +15,14,240,20,196,1,138,108,241,68,247,0,118,71,244,81,153,254,36,223,246,232,236,252,62,221,248,142,236,250,135,112,250,27,51,248,196,202,252,57,50,246,111,200,255,16,229,244,199,70,1,40,85,245,174,117,1,137,98,246,12,133,1,241,217,245,94,65,2,231,125, +245,185,162,2,105,107,245,188,76,1,4,32,245,32,97,255,97,33,245,77,65,254,182,60,246,94,245,252,61,25,247,202,235,249,230,207,247,5,35,247,230,195,249,24,64,245,72,219,250,155,77,243,77,147,250,190,47,243,77,15,251,237,80,244,64,50,253,83,229,243,77, +170,254,8,115,242,110,140,253,170,28,244,209,189,253,238,60,247,77,156,255,239,117,248,56,123,0,121,228,249,199,67,0,195,54,254,162,0,0,103,45,1,36,110,1,103,94,1,10,194,3,248,231,1,107,113,3,7,246,3,20,62,2,242,123,6,49,232,1,207,5,8,178,91,1,107,117, +9,243,129,0,125,171,10,235,53,0,244,233,10,119,251,0,78,205,9,250,4,1,96,86,8,187,189,0,49,189,7,251,217,255,42,184,7,1,213,255,138,65,8,63,138,0,169,7,7,73,189,255,240,72,4,170,161,255,134,26,2,115,203,2,255,128,0,207,79,6,117,193,255,145,67,8,40,128, +254,28,137,9,5,168,253,57,230,9,216,211,253,130,230,8,162,98,254,144,53,8,143,28,255,136,81,10,197,251,255,225,12,12,109,97,1,164,107,11,87,52,2,84,49,11,238,127,2,24,47,13,249,168,3,245,206,12,12,34,5,17,143,10,231,224,4,62,160,9,247,75,4,233,59,9,243, +31,4,119,53,8,148,83,4,110,227,6,152,194,3,6,193,6,212,38,4,122,158,7,52,172,5,139,100,5,62,223,4,41,166,0,125,127,2,88,34,254,168,116,2,43,222,253,125,52,3,26,245,252,225,127,2,97,36,250,222,30,2,2,244,247,218,199,0,125,171,246,11,94,253,92,172,244, +16,176,250,200,203,242,227,93,251,29,64,242,252,85,252,103,190,241,247,104,251,217,222,239,2,235,249,86,121,237,219,216,249,133,103,236,138,221,248,34,46,236,178,210,246,77,61,235,133,61,247,178,77,234,236,12,249,242,120,237,180,17,249,212,18,243,205, +214,248,45,239,246,174,207,248,32,18,249,205,228,247,155,147,253,25,105,247,239,4,2,6,198,250,175,37,3,107,97,255,33,46,4,70,16,2,47,18,8,186,162,3,124,197,11,113,154,5,25,37,15,23,102,8,129,43,19,15,16,9,104,66,23,74,220,9,56,184,26,213,94,12,94,170, +27,219,126,14,23,7,28,120,134,15,172,60,29,60,10,17,56,89,28,114,46,18,129,133,23,80,13,18,70,207,18,236,83,17,33,109,17,57,116,15,30,144,16,51,74,14,207,192,14,80,254,12,67,70,11,136,232,8,179,110,7,111,93,4,211,78,4,231,199,0,15,81,1,15,191,254,75, +91,254,172,165,251,112,174,251,46,14,247,74,194,249,8,95,244,129,24,247,120,91,244,155,247,243,96,237,243,90,60,241,224,15,243,48,233,238,130,136,243,23,38,239,153,224,244,252,174,241,16,157,246,188,8,244,176,170,248,178,223,244,93,13,250,145,218,243, +251,18,251,85,234,243,230,87,254,30,174,245,44,65,2,8,48,247,49,156,4,128,31,251,77,56,5,3,38,0,35,118,6,85,206,3,211,252,6,4,163,7,133,45,6,190,192,9,114,32,7,83,118,10,237,157,11,86,136,11,240,13,16,155,50,13,2,180,17,130,18,16,142,137,17,206,211,17, +235,205,16,98,68,17,100,44,16,211,155,15,66,80,16,138,120,14,148,16,17,186,49,13,195,181,16,16,68,10,98,101,15,41,143,8,254,199,11,229,31,8,138,16,7,99,13,5,189,7,3,18,38,3,92,4,0,147,180,4,33,141,252,110,66,4,55,74,249,11,185,0,82,0,247,185,124,254, +157,211,244,129,68,254,62,106,241,56,39,253,188,14,239,183,217,250,216,99,239,232,152,249,113,130,239,225,100,247,100,134,239,207,204,243,175,183,240,103,74,241,142,99,241,206,236,239,176,59,241,243,173,239,144,215,243,25,241,239,144,185,246,226,239, +241,224,111,246,222,45,243,154,41,246,214,111,242,11,34,247,232,222,242,66,204,247,144,62,244,98,215,247,245,3,246,151,223,249,242,73,248,176,65,252,210,44,250,46,84,252,135,101,250,75,179,253,17,69,249,107,77,1,232,20,249,250,109,4,254,240,250,239,241, +4,189,70,252,240,253,4,25,235,252,165,44,6,36,136,254,12,83,5,171,96,0,50,174,3,255,184,0,72,16,4,192,62,255,73,136,5,146,169,255,190,247,5,133,135,1,16,194,4,150,59,1,49,166,3,82,11,1,147,156,2,241,126,4,64,98,0,211,186,6,207,111,254,30,63,6,47,141, +253,236,241,6,183,7,253,100,119,8,56,127,251,29,33,8,196,242,248,135,223,7,181,98,248,122,207,8,75,148,249,230,149,10,223,134,249,59,53,11,226,107,249,193,141,10,161,79,249,108,161,11,10,63,250,79,253,11,174,238,251,207,214,11,157,58,253,114,152,12,202, +122,254,50,185,13,116,189,255,220,129,14,87,84,0,173,108,13,44,79,0,42,123,11,42,59,1,251,115,9,166,25,3,192,230,7,18,220,4,64,157,5,103,52,6,204,28,2,129,237,7,182,19,0,111,232,8,115,42,255,165,81,9,150,160,253,136,210,10,48,225,251,21,32,13,192,96, +252,81,55,15,214,249,252,205,25,17,158,252,252,130,11,18,217,84,253,26,113,16,169,220,253,252,200,14,162,180,251,57,14,14,50,7,250,192,183,13,174,247,250,202,25,14,65,96,250,123,154,15,134,168,249,13,182,15,86,225,251,5,55,13,181,19,255,78,20,9,154,46, +0,68,96,4,249,124,0,0,194,1,41,156,1,216,167,1,48,145,3,119,75,1,156,223,3,83,107,255,123,153,3,10,206,253,150,151,4,108,70,253,174,210,4,17,160,252,113,33,4,142,247,250,2,51,4,94,155,249,115,254,3,92,212,248,106,227,2,157,118,247,77,26,0,232,144,245, +198,83,253,62,151,243,177,194,252,86,27,242,4,7,254,37,31,242,206,157,254,96,188,242,80,151,253,170,231,243,239,125,252,33,199,246,163,121,252,26,207,250,45,181,252,41,87,253,48,148,253,150,161,254,197,110,255,203,63,255,29,46,1,177,167,255,147,29,2, +174,64,1,93,105,2,53,84,3,227,14,2,210,189,5,207,129,1,175,8,7,198,165,1,155,11,6,120,56,3,77,245,4,98,202,4,254,143,4,199,70,5,217,23,4,202,27,6,95,122,3,48,196,4,107,252,2,228,79,2,25,129,2,78,81,2,176,11,2,173,157,2,208,8,3,138,254,1,89,243,4,72,167, +0,106,100,4,107,19,255,135,186,0,237,160,253,169,178,253,129,45,250,190,77,253,47,188,247,48,25,254,161,82,247,63,169,254,211,208,247,15,57,255,242,128,248,125,228,254,24,141,248,162,226,253,21,46,248,82,196,251,99,141,248,42,3,250,47,107,249,247,45, +251,21,81,251,189,71,252,176,38,254,15,85,252,230,64,0,230,235,252,188,183,2,40,61,254,7,6,7,189,224,255,212,154,10,139,90,1,93,74,12,154,230,2,2,250,14,187,205,5,254,134,17,66,148,9,68,8,18,35,184,12,227,216,18,81,126,14,158,195,20,230,49,15,27,196, +20,66,11,16,224,60,19,201,170,16,27,161,18,101,40,17,22,180,16,190,255,16,1,199,13,151,117,16,19,212,11,132,242,15,119,234,9,9,93,14,114,190,8,120,115,10,52,214,6,37,209,5,10,190,4,239,202,2,58,186,3,17,116,1,172,159,1,190,228,0,253,182,254,88,151,0, +221,67,253,52,171,255,63,21,250,101,250,253,97,212,245,36,230,252,183,230,242,18,58,252,90,5,241,14,89,251,232,63,239,73,191,250,113,253,238,200,138,250,81,181,239,3,188,249,187,233,239,212,24,249,221,254,240,29,129,249,95,214,243,83,236,249,224,222, +246,228,113,249,185,115,249,112,93,248,40,251,252,115,7,248,88,8,1,201,241,247,18,91,4,87,172,247,15,216,6,123,142,248,111,73,10,46,31,251,82,188,14,163,55,253,208,219,18,76,57,254,205,171,19,253,246,255,124,54,19,86,30,3,44,193,19,222,120,5,9,34,18, +78,46,7,207,113,15,214,0,9,32,3,14,169,184,9,163,142,12,133,192,9,182,250,8,40,197,9,248,9,4,152,132,9,88,83,255,247,216,8,18,100,252,50,120,8,57,199,250,45,82,7,244,69,250,126,164,5,72,168,250,176,54,4,239,208,250,90,133,3,117,110,251,251,245,3,178, +94,251,22,75,4,187,9,250,53,192,4,6,73,249,119,39,5,195,89,250,224,221,3,172,217,251,117,116,1,184,144,252,183,172,255,6,39,253,5,18,255,244,149,254,12,149,255,152,219,255,110,58,0,174,114,1,38,222,255,209,72,3,245,46,255,134,182,4,235,131,254,254,51, +6,118,40,254,100,182,8,192,91,254,147,189,10,38,94,255,124,195,11,121,30,1,72,171,11,70,126,3,96,47,11,71,240,5,163,166,9,42,176,7,48,233,7,124,250,7,45,136,7,180,129,7,166,106,6,137,134,7,3,59,4,139,99,6,149,161,3,194,112,4,27,169,4,237,101,4,238,167, +4,192,137,5,230,162,2,203,239,5,100,16,0,177,107,6,90,105,255,92,194,5,143,5,0,196,0,4,207,17,0,48,142,4,112,81,255,150,32,5,232,88,255,180,106,3,57,41,254,54,37,2,14,137,251,31,2,2,28,33,250,104,47,1,186,15,248,155,205,255,68,111,245,140,246,254,127, +213,244,71,129,253,87,49,245,110,57,250,230,113,244,33,203,245,205,206,241,200,90,243,184,152,239,223,204,242,74,186,238,255,154,241,197,239,237,92,170,239,2,240,235,238,85,238,206,152,236,3,255,236,226,131,239,179,13,236,167,200,241,102,113,236,173, +234,244,17,137,236,192,132,248,80,88,236,1,90,249,57,208,238,24,186,249,238,86,243,220,195,251,56,55,246,5,147,253,180,155,247,140,46,255,251,148,250,223,240,0,243,235,253,245,60,3,159,168,0,61,198,4,111,237,2,100,214,4,82,55,4,162,11,6,128,208,3,49, +154,9,40,139,3,249,185,12,218,37,4,67,237,12,13,233,4,166,123,11,221,53,5,161,2,11,69,155,5,93,15,11,54,182,6,247,65,10,43,249,7,60,83,8,62,55,8,132,81,6,64,32,7,74,141,4,73,205,5,2,191,2,73,12,5,142,117,0,197,2,5,86,10,254,102,176,4,37,180,251,147,83, +3,206,201,249,11,42,2,65,49,248,113,78,1,28,207,245,129,75,255,38,69,244,147,155,252,50,4,244,97,173,250,19,17,243,135,185,249,54,143,240,189,180,248,178,29,239,140,13,247,22,69,241,127,82,245,93,184,244,180,199,243,122,208,246,20,97,243,103,39,250,180, +6,244,93,151,254,235,229,245,66,22,2,124,207,248,182,223,4,202,223,250,66,39,7,95,72,252,75,99,9,166,10,254,82,153,11,38,82,1,0,63,13,228,58,5,235,41,13,61,45,8,182,78,12,177,4,10,76,87,12,25,27,12,181,11,12,213,218,12,126,156,11,41,2,12,71,246,10,62, +35,11,129,196,10,232,243,9,209,242,10,233,151,7,120,61,8,2,174,5,2,114,4,178,253,4,175,37,3,71,124,4,27,85,1,7,179,4,228,182,254,36,85,5,233,114,253,211,213,4,238,255,251,11,174,1,112,125,250,92,211,253,147,162,250,158,80,252,32,126,251,207,129,252,124, +129,250,63,53,253,222,243,248,115,138,253,22,109,249,8,133,253,204,51,250,143,44,253,91,49,249,54,219,252,68,211,247,31,239,252,188,155,248,17,34,253,181,128,250,11,102,253,73,223,251,99,230,253,46,75,252,126,57,253,1,178,252,43,54,252,154,202,253,137, +110,252,87,8,0,233,9,253,219,245,2,194,42,254,83,32,5,87,214,255,102,153,6,243,193,0,141,25,8,204,35,2,63,245,8,107,171,4,62,38,9,129,178,6,215,127,9,36,106,8,115,60,10,11,212,10,239,241,9,250,194,13,93,236,8,56,222,16,65,78,8,212,16,18,115,74,8,112, +30,17,225,194,6,87,245,14,220,107,4,46,243,11,112,226,3,159,7,10,4,140,3,61,53,8,28,6,3,33,102,6,212,167,2,250,99,4,215,203,1,246,207,2,176,24,0,62,186,1,93,222,253,206,73,0,19,51,252,255,83,254,27,141,251,55,235,252,31,181,250,87,254,251,200,149,248, +33,226,249,119,243,246,225,229,247,102,183,247,190,21,246,242,128,248,106,140,244,67,252,248,141,248,243,177,157,249,149,7,244,122,166,250,237,139,244,253,98,251,13,255,245,234,12,252,182,120,247,134,134,252,210,14,248,140,3,253,221,242,248,86,10,254, +124,132,250,67,200,254,56,192,251,140,235,254,125,116,252,221,177,254,42,32,253,248,14,254,128,215,252,3,117,254,132,7,252,104,56,0,133,76,252,207,200,0,219,182,252,135,183,255,84,88,252,222,55,255,217,115,251,211,252,255,129,174,251,224,75,255,151,71, +252,50,168,253,211,161,252,162,99,253,192,217,253,34,254,253,128,2,255,208,179,253,139,102,255,213,119,252,87,208,255,252,76,251,16,51,1,253,98,251,145,207,1,55,112,251,52,216,0,152,151,250,163,155,0,20,209,250,112,139,0,67,33,252,153,57,255,98,217,252, +227,69,253,182,167,253,188,244,252,130,68,255,214,195,253,159,45,255,164,124,253,237,22,254,105,235,252,56,100,253,227,134,253,44,167,253,255,152,254,2,115,254,92,130,255,114,115,254,79,179,0,34,55,254,157,207,1,123,199,254,110,215,2,107,29,255,208,4, +3,76,26,255,107,77,2,118,137,255,63,9,1,66,170,0,132,14,1,14,67,2,67,41,3,170,121,3,111,215,4,140,191,3,59,124,5,38,98,4,252,48,6,122,241,5,71,31,7,42,236,6,156,7,8,166,157,7,131,245,8,150,56,8,222,202,9,106,43,9,170,239,10,165,133,9,97,131,11,173,156, +8,101,165,11,22,22,8,19,91,11,192,161,8,146,190,10,64,253,8,51,110,10,98,91,9,17,89,10,10,209,8,174,45,9,105,112,7,118,68,7,159,174,5,188,91,5,76,165,4,253,202,3,16,67,4,101,137,1,198,208,3,39,112,254,87,80,4,179,32,253,89,45,4,5,235,252,195,62,2,174, +238,252,246,27,1,149,41,253,111,41,1,12,108,253,71,163,255,70,72,252,247,142,253,220,25,251,126,107,253,50,138,250,46,63,253,148,69,249,77,143,251,115,127,248,20,87,249,241,1,249,32,162,247,37,16,250,121,3,247,74,136,250,204,89,246,134,100,250,96,139, +245,226,156,250,113,71,245,185,171,251,155,30,246,139,73,252,144,180,246,77,83,252,245,5,246,89,193,253,52,132,245,128,244,255,185,161,245,73,113,1,84,145,245,52,25,2,170,54,247,178,37,2,243,191,249,114,25,1,97,225,250,121,46,0,19,185,251,207,215,255, +161,227,252,12,27,255,109,128,253,7,46,254,141,72,253,150,49,253,86,22,253,159,29,252,87,152,253,11,195,249,16,64,254,1,121,247,13,97,254,142,104,246,123,75,254,178,230,244,26,219,254,50,94,243,94,147,255,79,8,243,35,177,255,248,5,243,32,155,255,165, +114,243,22,124,254,152,153,244,125,237,252,88,62,246,151,123,252,231,157,248,145,116,253,129,188,250,169,161,253,53,229,251,215,200,252,126,254,252,155,90,253,198,15,254,7,88,255,191,67,255,186,55,0,156,79,0,7,72,0,101,212,0,68,119,1,135,44,1,40,73,2, +172,93,2,51,0,2,115,5,4,27,142,1,53,54,6,182,131,1,194,196,7,231,188,1,45,82,8,73,242,0,193,117,8,221,49,255,138,69,8,130,7,255,75,73,7,30,125,255,174,213,5,64,162,254,39,247,4,98,138,253,124,14,5,145,51,252,50,97,4,147,152,251,219,193,2,253,157,251, +75,76,1,219,4,251,45,229,255,93,191,250,154,213,253,140,80,251,61,51,251,97,148,251,250,154,249,17,106,251,68,220,248,193,234,251,142,19,248,74,213,253,47,79,247,68,208,254,104,84,247,187,81,254,60,75,248,169,222,254,19,212,249,11,0,0,59,232,250,167, +125,255,60,31,252,148,252,254,182,239,253,185,118,255,12,218,255,46,226,255,108,205,1,205,182,0,93,179,2,243,58,1,143,175,2,42,253,255,163,186,2,1,97,254,222,95,2,24,128,255,48,168,2,29,101,1,210,18,4,145,137,1,9,61,5,117,174,0,194,33,5,106,119,1,239, +113,4,210,147,2,57,185,3,59,210,1,171,73,3,227,22,1,232,63,3,242,50,1,77,84,2,128,215,1,27,226,0,33,7,2,50,17,0,23,43,1,3,61,255,4,182,255,213,114,253,235,252,254,76,81,251,166,249,254,60,179,250,210,6,254,152,30,251,28,208,252,169,11,251,106,155,253, +242,180,250,6,80,255,147,114,250,127,99,0,39,219,250,37,12,255,123,47,251,183,175,253,1,221,249,249,201,254,171,246,248,178,105,255,234,230,250,115,42,255,144,117,253,195,216,255,197,74,254,137,116,1,115,191,254,168,178,1,141,238,0,76,0,2,112,44,3,235, +80,3,254,13,4,8,50,4,174,93,4,234,54,5,81,21,6,36,121,6,95,204,7,158,211,6,240,148,8,25,66,7,220,1,9,150,255,6,119,241,9,43,122,6,191,2,11,175,135,6,154,203,11,174,62,6,237,212,11,240,43,6,86,23,11,84,38,6,41,91,9,37,135,5,196,90,7,234,184,4,101,89,6, +210,58,5,148,181,6,223,180,5,221,31,7,138,86,5,238,22,7,82,217,4,247,122,6,132,231,3,125,158,5,216,213,2,20,163,5,14,203,1,251,32,6,96,222,255,149,77,6,63,30,254,70,232,5,121,246,253,112,217,4,157,27,255,96,71,3,213,148,255,58,89,1,68,11,0,2,238,255, +215,144,1,231,30,255,14,116,3,30,89,254,215,248,3,82,184,253,231,166,3,207,40,254,57,111,3,203,14,254,207,245,2,255,237,252,24,39,2,228,148,252,138,61,1,114,193,253,166,50,0,169,111,253,141,121,255,40,223,251,24,140,254,236,59,251,248,4,254,149,126,251, +245,122,252,238,77,251,68,252,249,51,209,250,247,62,248,2,223,250,251,173,247,128,38,251,162,224,246,24,189,251,40,8,246,66,99,251,146,145,245,102,95,250,171,143,245,160,128,249,162,185,245,38,215,249,228,227,244,175,10,251,180,60,244,248,246,250,47, +163,244,206,19,250,13,128,245,80,137,249,221,194,246,144,155,249,46,123,247,218,143,249,196,184,247,185,197,248,223,1,249,39,178,248,116,169,250,171,116,249,163,66,251,211,0,250,111,168,251,156,68,251,45,177,252,189,67,253,88,174,253,246,113,255,34,246, +253,104,39,2,168,29,254,143,218,4,249,144,254,88,14,7,57,19,0,238,138,8,151,238,2,213,124,9,101,204,6,189,189,9,5,82,10,95,52,10,141,233,12,164,116,10,3,205,14,154,225,9,143,152,16,216,87,9,70,91,18,210,33,9,199,72,18,29,89,10,172,56,17,26,31,12,105, +8,17,70,89,13,5,79,16,201,135,14,27,89,13,145,124,15,208,47,10,47,14,16,221,142,8,48,152,16,87,182,7,149,99,16,66,230,6,142,171,14,12,62,6,253,118,11,14,157,5,95,204,7,246,178,4,163,239,3,153,195,3,150,220,255,141,95,2,33,200,252,52,150,0,142,113,251, +206,224,253,112,213,248,232,142,250,155,248,244,61,147,247,102,41,243,31,117,245,197,119,243,215,239,242,2,179,242,67,96,239,77,134,240,136,188,236,48,61,238,16,193,235,205,155,235,225,108,234,120,79,233,8,76,233,253,167,232,101,193,233,95,75,233,73, +11,235,97,227,233,82,152,236,113,125,234,238,137,237,33,112,236,170,205,237,227,217,239,89,74,239,219,154,243,224,12,242,10,142,247,206,125,244,34,88,252,86,218,246,199,60,1,83,152,249,173,152,4,223,164,251,178,190,5,158,242,253,64,166,6,158,135,1,110, +159,9,180,142,4,21,32,13,253,167,6,82,140,14,118,35,9,64,5,15,41,251,10,22,26,15,45,220,11,84,223,14,68,70,12,23,109,14,89,73,13,236,245,13,221,135,14,126,232,11,118,109,14,240,152,7,88,124,13,33,12,3,230,54,13,241,179,0,60,116,12,239,171,254,100,213, +10,2,213,251,244,234,8,125,16,250,137,125,6,89,117,248,16,138,3,154,45,246,225,201,0,52,230,243,204,194,254,134,239,243,19,112,252,102,220,244,163,11,250,53,175,244,192,195,248,127,157,244,236,155,247,196,91,245,5,36,246,252,212,245,133,82,245,251,13, +246,13,128,245,147,207,247,177,205,245,197,246,249,9,15,246,47,96,251,255,95,247,125,228,253,80,142,248,221,217,1,122,176,249,218,90,4,49,109,251,54,9,5,180,33,253,16,243,5,85,8,254,136,189,7,195,216,255,89,69,9,81,170,2,40,69,10,187,19,5,146,50,11,7, +217,5,148,7,12,5,53,6,239,100,12,171,205,7,122,56,12,7,47,9,95,97,12,252,131,9,192,140,11,4,13,10,209,137,9,173,67,10,46,224,6,48,207,9,115,13,4,124,38,8,75,196,0,253,106,5,109,119,255,159,200,2,183,180,254,180,121,0,188,250,252,48,146,253,50,146,249, +117,236,250,126,64,246,23,241,249,247,188,243,225,86,248,226,252,240,0,55,246,20,139,239,195,70,245,233,80,240,102,205,244,33,123,241,54,48,244,149,153,241,34,165,243,39,51,242,54,174,243,24,255,243,114,156,243,104,33,246,86,128,243,56,224,248,92,184, +243,20,131,252,235,167,244,74,131,0,189,124,246,228,78,3,157,28,249,23,30,3,99,40,252,111,174,1,138,158,254,128,238,0,174,189,0,24,117,1,212,37,3,190,19,3,222,46,5,8,106,5,233,160,6,76,203,7,40,202,7,152,61,10,104,153,8,141,187,11,99,229,8,84,125,11, +72,146,8,19,239,9,74,160,8,132,135,8,206,98,9,244,202,7,5,80,10,55,56,7,123,4,11,172,248,5,209,37,12,198,128,5,24,246,12,50,146,6,185,236,12,99,59,7,214,83,12,32,23,7,52,38,11,191,34,8,14,48,10,130,146,10,107,47,9,245,36,12,201,5,7,16,248,11,8,103,4, +90,118,11,186,102,2,112,157,11,74,246,0,206,16,12,13,77,0,65,118,11,32,204,0,15,136,9,95,210,0,62,250,7,124,197,255,45,212,6,202,162,255,206,155,5,14,217,255,250,168,4,186,201,254,33,195,3,70,120,253,248,32,3,53,74,253,245,205,1,82,98,254,223,194,255, +54,180,255,22,145,253,124,183,0,152,215,251,101,142,0,94,210,250,147,165,0,127,42,250,1,201,0,192,125,250,124,53,1,126,209,251,143,48,2,102,213,251,219,123,2,39,158,250,202,203,1,224,146,249,191,24,2,192,143,248,239,193,2,67,39,246,44,241,2,125,196,244, +13,43,3,136,54,245,130,36,2,156,181,246,15,36,0,147,57,249,201,103,254,16,99,251,32,234,252,38,126,252,6,250,250,43,95,254,154,240,249,150,208,0,46,34,250,143,98,3,56,132,250,195,45,5,218,110,251,71,234,5,77,76,252,196,94,7,16,88,252,49,51,9,105,35,252, +99,155,10,247,142,252,190,132,10,8,122,253,98,15,10,230,149,253,174,155,10,74,28,253,35,1,12,160,81,253,85,253,11,159,189,253,27,108,11,65,50,254,82,225,11,107,27,255,157,101,11,155,192,255,169,58,9,163,12,0,185,108,7,118,7,0,156,5,7,196,232,255,18,80, +6,38,213,255,222,83,3,198,63,255,73,131,255,248,45,1,250,116,252,1,31,5,137,205,250,17,165,7,149,10,250,255,96,9,151,231,248,25,95,10,124,42,247,58,173,10,152,214,245,130,141,10,121,158,245,253,135,9,145,213,245,164,5,8,163,13,245,255,118,7,198,62,244, +147,158,6,34,168,244,203,2,4,9,89,245,155,255,255,89,72,246,85,223,251,132,165,248,102,112,248,157,3,252,78,18,246,37,92,254,159,232,243,17,8,255,216,3,242,113,45,254,0,113,240,188,55,253,84,26,239,56,123,252,29,153,239,233,25,251,141,206,240,106,220, +248,202,117,241,148,215,247,201,42,242,204,206,248,54,111,243,60,185,250,203,227,243,122,80,253,7,139,243,173,54,1,95,74,244,90,121,5,35,88,246,151,75,8,159,190,247,232,182,9,118,20,249,208,127,10,111,241,250,223,70,11,203,78,252,72,178,12,196,63,253, +39,135,14,180,198,255,111,237,14,63,106,3,212,129,13,3,163,6,149,19,11,119,104,9,46,161,7,88,18,12,149,168,3,155,109,14,180,138,0,82,164,16,11,147,254,34,223,18,50,173,253,251,78,19,0,240,252,161,3,18,50,201,250,194,154,16,127,1,248,123,27,14,192,27, +247,44,41,10,102,131,247,101,17,6,94,112,247,239,191,2,165,143,247,198,252,254,71,10,247,93,181,250,136,54,245,227,49,248,102,177,242,225,167,246,20,119,241,79,50,244,217,24,242,124,79,242,166,122,243,163,93,242,128,175,244,183,110,242,167,65,244,131, +230,240,189,122,242,103,210,239,31,44,241,53,78,240,96,1,242,131,155,241,117,189,244,28,245,242,52,192,247,24,65,244,110,187,249,179,87,246,7,208,250,89,226,248,193,202,250,41,151,251,150,203,250,155,157,253,101,71,252,126,229,254,31,221,254,49,183,0, +241,246,0,230,32,3,45,203,2,165,65,4,146,51,5,24,145,4,156,131,7,234,239,4,170,245,9,14,171,4,98,80,11,48,208,3,131,30,11,214,114,3,168,22,11,12,25,4,81,213,11,246,237,4,191,232,13,226,228,4,190,141,15,244,160,4,201,131,15,197,123,4,31,126,13,167,191, +4,209,184,11,158,247,3,251,100,12,16,215,1,48,115,14,220,210,0,80,49,15,0,248,1,212,56,14,109,125,3,76,27,13,223,11,4,72,251,11,115,2,4,79,12,10,202,39,5,78,168,7,12,1,7,70,163,5,58,69,8,15,66,4,163,54,8,223,233,2,254,173,6,158,219,1,64,161,5,218,67, +1,95,20,6,253,49,0,174,66,6,55,217,254,7,160,4,127,55,254,13,169,3,249,167,253,58,103,5,218,170,252,19,248,7,95,135,252,128,13,9,1,57,253,243,157,9,173,29,253,218,92,10,165,211,252,100,158,10,249,110,253,208,124,9,242,73,255,15,141,8,131,207,255,226, +204,7,249,163,253,25,11,6,180,48,252,114,181,3,147,88,252,89,12,2,60,96,252,29,103,0,5,170,252,216,129,254,63,104,254,100,32,253,53,41,1,90,86,251,16,222,2,44,219,248,67,157,3,144,180,245,115,56,5,0,207,243,88,136,7,43,60,244,214,0,10,71,153,244,95,32, +12,230,121,244,43,63,13,231,192,244,30,191,12,94,243,245,36,133,11,88,159,247,160,7,11,225,15,249,82,233,10,162,131,250,43,95,10,24,95,252,29,223,8,137,154,254,2,166,6,24,246,0,55,222,3,136,230,1,72,56,0,192,30,2,162,53,253,2,112,4,157,135,251,58,211, +6,195,23,251,65,216,7,27,32,251,48,99,8,186,126,250,26,44,9,173,6,249,112,221,9,191,206,247,248,0,11,117,214,247,59,41,12,28,194,248,49,63,12,49,69,250,213,150,11,141,38,252,181,90,11,97,17,254,192,143,10,164,165,255,24,164,8,26,25,1,133,150,7,87,249, +1,143,246,7,47,32,2,106,181,7,241,94,2,132,201,6,27,15,3,196,36,6,94,222,4,107,93,5,214,28,7,222,196,3,228,38,8,164,195,1,11,169,8,48,248,255,230,89,10,42,208,253,144,14,13,111,109,251,254,234,14,233,101,249,73,101,15,117,205,247,58,205,14,179,91,246, +59,24,14,85,33,245,234,186,11,150,254,244,41,52,7,142,160,245,120,118,3,124,110,245,108,24,1,205,239,244,55,154,254,31,196,244,254,48,251,146,9,246,46,67,248,75,216,247,177,145,246,173,72,248,15,228,244,118,146,248,80,10,243,12,137,249,89,116,242,198, +50,250,115,246,242,161,56,250,180,77,243,176,135,250,238,228,242,43,165,252,67,71,243,105,255,254,110,105,245,232,74,0,234,10,247,191,97,1,61,166,246,213,126,2,246,144,246,58,64,3,164,111,248,31,219,3,233,27,251,192,207,3,97,80,254,156,115,2,178,240, +0,1,132,1,186,239,1,200,61,1,197,233,1,186,124,0,200,135,1,5,206,254,172,233,0,178,186,253,111,129,0,121,61,253,149,180,1,5,228,252,143,165,3,62,243,251,182,232,4,140,80,251,189,172,5,121,87,251,12,140,6,126,15,251,235,244,6,129,41,250,158,161,6,139, +230,248,151,101,5,43,146,248,224,38,4,20,217,248,84,211,2,221,229,249,133,44,0,236,227,251,115,142,252,219,27,254,44,202,250,92,125,255,82,21,250,217,170,1,139,243,248,44,225,3,167,230,246,36,208,4,37,109,246,150,159,4,1,239,247,46,245,3,139,50,249,200, +163,3,206,19,250,152,122,3,144,76,251,104,77,3,93,111,252,83,121,3,128,207,253,217,22,4,95,42,255,141,6,4,144,142,0,166,136,3,193,181,2,124,228,2,136,215,4,141,215,1,147,252,5,97,35,0,114,99,6,169,90,255,119,214,6,241,176,255,171,224,6,22,248,254,213, +34,6,44,88,254,7,218,5,209,45,255,229,125,6,234,98,0,84,102,7,63,134,0,38,79,7,151,85,0,230,143,5,151,203,0,255,35,4,70,76,1,139,192,3,151,146,0,219,59,3,218,253,255,6,49,3,97,100,0,6,37,4,186,187,0,216,143,4,97,90,1,53,204,3,4,14,3,237,174,2,78,57,4, +236,182,1,146,56,4,113,145,0,128,201,3,48,78,255,190,57,4,200,149,255,23,1,5,148,249,0,52,232,4,53,220,1,210,188,4,35,111,1,176,169,4,39,39,0,174,220,3,207,166,254,216,213,2,145,54,254,140,79,2,99,19,255,188,187,1,60,5,255,61,100,2,15,6,254,31,233,2, +215,75,253,116,32,2,141,83,253,213,81,0,215,140,253,68,155,253,187,47,253,18,252,250,215,16,253,124,129,249,157,60,253,170,233,248,37,240,252,89,100,248,117,105,252,89,114,247,88,63,252,80,16,248,57,66,252,185,178,249,219,58,253,212,64,250,65,248,254, +97,166,250,223,56,0,255,39,252,156,77,0,28,64,254,72,48,0,13,93,255,213,214,0,189,150,0,4,35,2,160,149,2,179,230,2,218,24,4,23,109,2,37,27,4,223,111,1,7,184,2,234,231,0,238,73,1,195,205,1,115,38,0,7,246,3,32,161,254,140,190,4,141,76,253,247,69,5,63,237, +252,77,225,6,25,168,253,143,72,7,206,17,255,24,81,5,193,125,0,104,224,2,78,225,0,84,91,1,165,95,0,179,110,1,114,28,255,131,136,1,110,83,253,223,117,1,70,71,252,250,1,2,93,37,252,6,185,2,19,179,252,140,143,2,247,201,253,195,219,0,49,140,254,21,3,254,182, +159,254,229,166,251,167,198,254,67,194,250,233,157,255,17,68,250,186,248,255,182,35,249,195,157,255,118,90,248,19,90,255,15,190,247,104,247,254,17,165,246,81,208,254,186,237,245,145,153,255,95,195,246,186,65,0,217,216,247,198,171,0,90,1,248,125,254,0, +128,255,248,34,147,1,233,86,251,215,10,2,11,165,253,88,250,1,0,29,255,159,19,2,176,147,0,143,109,2,79,43,2,45,125,2,201,196,2,91,22,2,54,224,2,64,79,1,84,2,4,245,15,1,44,98,5,23,169,0,176,229,5,56,70,0,119,151,6,116,164,0,95,212,6,159,88,1,24,71,6,104, +152,2,188,97,6,114,236,3,112,71,7,21,186,3,39,85,7,47,131,3,166,180,6,35,1,4,72,57,6,177,179,3,45,90,6,202,193,2,178,109,6,239,134,2,56,141,6,187,114,2,153,229,6,52,144,1,196,27,7,237,122,0,156,9,7,249,63,0,244,212,6,69,198,0,86,134,6,188,18,0,26,111, +5,154,127,255,196,140,3,46,232,255,148,50,1,64,28,0,219,105,254,130,131,255,137,130,251,119,27,254,60,183,249,81,116,252,232,104,248,204,92,252,167,171,246,151,249,252,211,188,244,144,234,252,105,142,243,108,130,252,172,255,242,102,3,253,14,43,243,123, +201,253,107,26,244,215,74,253,11,178,245,158,126,252,190,200,247,190,198,252,145,33,250,206,159,253,191,87,252,124,89,253,110,216,253,189,182,252,24,23,255,68,37,253,101,157,0,252,127,253,137,62,2,204,137,253,153,96,2,243,21,254,163,198,1,232,33,254, +171,85,2,185,201,253,201,184,3,80,149,253,110,142,4,152,241,253,15,115,5,133,49,254,7,23,7,97,252,253,236,173,8,156,84,254,182,121,9,26,166,254,105,91,10,36,197,254,36,23,11,102,97,255,110,143,10,95,84,0,236,163,9,143,247,0,108,84,8,203,209,1,228,40, +7,241,150,2,119,141,6,242,79,4,14,152,6,154,100,7,35,181,6,151,180,9,61,201,5,47,189,10,85,18,4,65,113,11,249,231,2,155,125,12,124,253,1,189,12,13,89,27,1,148,171,12,194,26,0,228,164,12,98,210,254,51,203,12,43,40,253,71,33,12,100,134,251,96,240,10,52, +168,250,107,175,9,71,238,249,199,178,7,105,15,249,236,64,5,222,4,249,250,39,3,171,238,249,179,168,1,228,233,250,195,218,255,90,24,252,123,142,253,10,224,252,8,205,250,6,54,253,59,180,248,240,8,254,251,49,247,247,194,255,116,154,245,52,31,1,251,24,244, +185,239,0,228,241,242,242,195,255,45,159,242,73,143,254,221,177,242,76,57,254,207,153,242,221,198,253,183,106,242,115,71,253,46,104,242,36,220,253,57,96,242,76,41,255,221,102,243,48,11,255,209,31,245,31,103,253,36,220,246,152,79,252,106,83,248,88,199, +251,67,53,250,133,90,251,251,3,252,18,196,250,10,207,252,68,255,250,15,62,253,105,176,251,47,126,254,34,98,251,245,218,255,234,104,250,197,169,0,94,218,249,44,1,1,131,9,250,168,117,1,142,64,250,97,155,1,26,24,250,182,249,1,73,61,250,117,154,2,215,89, +251,99,157,3,238,185,252,108,113,4,87,41,253,210,72,4,131,46,253,71,231,4,74,96,254,159,36,6,11,190,0,47,225,6,220,126,3,235,99,7,215,253,4,158,67,8,211,136,6,179,23,9,78,150,9,40,1,9,99,11,13,252,131,8,81,132,14,154,212,8,37,170,15,146,254,8,61,219, +16,66,84,8,134,201,16,237,50,7,11,101,15,190,17,8,235,101,14,184,189,9,226,208,13,99,16,10,4,51,13,165,70,9,114,35,12,132,61,8,126,248,9,247,168,6,162,128,7,48,139,4,198,128,5,209,210,1,218,167,3,23,4,255,41,171,0,118,94,253,167,229,252,87,103,252,235, +240,250,250,129,250,182,143,250,196,52,248,166,127,249,165,140,246,85,81,247,99,47,245,65,212,245,217,182,243,9,36,245,150,211,242,245,87,244,207,212,242,134,235,243,26,209,243,165,163,244,195,11,245,16,37,245,115,10,246,175,206,243,186,204,247,214,242, +241,176,143,250,82,247,241,224,233,252,202,45,243,153,129,253,71,38,244,79,7,254,157,211,244,10,51,255,129,165,245,186,250,255,106,169,247,244,68,0,54,255,249,0,205,255,165,215,251,219,147,255,204,36,253,49,120,0,100,228,254,26,130,1,103,35,1,99,163, +2,25,188,2,210,7,4,107,183,3,226,92,5,152,111,5,133,20,7,226,144,7,72,73,9,69,186,8,145,234,10,4,229,8,185,122,11,172,159,8,150,209,11,105,233,8,123,112,12,3,144,9,114,219,11,0,112,10,96,53,10,124,210,11,249,93,9,203,45,13,70,187,8,57,20,13,68,128,6, +208,97,12,53,132,3,116,51,12,232,206,0,141,191,11,222,128,254,58,251,10,131,92,253,54,201,10,43,94,253,247,208,9,40,58,254,102,32,7,137,134,255,216,206,3,17,117,0,154,232,1,26,140,0,0,70,1,194,3,1,169,201,1,16,211,2,47,150,2,144,101,4,120,199,2,192,199, +4,221,140,2,223,200,4,146,85,2,12,210,4,90,96,1,185,135,4,194,24,0,93,207,4,222,66,255,158,38,5,149,80,255,235,202,3,29,250,255,145,9,1,130,201,0,180,208,254,90,167,0,164,235,253,233,44,0,190,11,253,52,167,0,234,18,252,91,37,1,94,246,251,180,63,1,109, +65,253,177,29,1,160,130,254,87,253,0,84,94,0,13,9,1,31,174,2,6,71,1,167,134,4,83,219,0,114,23,6,4,195,255,168,240,7,136,157,254,98,18,9,24,104,253,49,231,8,14,132,252,94,73,7,96,145,252,89,222,5,65,211,252,105,69,5,66,77,253,204,142,4,34,66,254,214,191, +2,16,2,255,242,107,1,55,211,254,20,210,0,204,12,254,203,101,0,191,213,253,235,236,255,210,141,254,48,130,255,37,82,255,200,81,255,48,64,0,148,130,255,21,229,0,120,157,255,118,126,1,87,8,255,93,57,2,245,226,254,100,188,2,222,57,255,53,220,2,140,107,255, +61,166,2,160,181,255,162,190,1,192,249,255,32,85,0,152,38,255,27,104,255,103,70,253,164,167,255,223,109,251,41,116,0,132,20,250,109,52,0,150,208,248,130,91,254,222,127,247,86,102,252,15,197,246,251,67,252,167,26,247,85,27,253,5,12,248,10,151,253,225, +21,249,120,60,254,233,217,249,6,162,254,188,198,250,76,106,254,57,57,252,178,6,254,41,74,253,184,137,253,228,255,253,205,109,252,44,145,255,129,237,251,230,253,0,1,10,252,163,128,1,152,150,251,0,118,1,175,154,249,11,230,1,59,199,247,35,149,2,188,241, +247,62,220,3,201,225,249,99,200,4,11,173,252,89,163,4,221,249,254,176,37,4,183,38,0,148,76,3,42,248,0,4,158,1,101,9,2,49,122,0,14,7,3,139,146,0,27,141,3,194,204,0,136,34,3,198,185,255,188,141,1,70,238,253,195,111,255,108,201,251,233,198,252,64,149,249, +9,41,251,156,99,247,4,239,250,93,176,245,109,114,250,5,111,245,176,115,248,110,92,245,3,151,245,64,158,243,188,167,242,236,205,241,199,98,241,175,34,241,140,65,241,10,136,241,253,148,240,114,235,241,146,210,239,147,73,241,12,49,240,207,165,241,215,69, +241,193,137,243,144,233,241,3,85,245,30,209,242,25,94,247,1,145,244,111,5,249,194,177,246,225,208,249,38,166,248,106,2,250,237,12,250,154,244,249,25,81,250,10,243,249,57,27,250,218,124,250,116,176,250,39,19,251,188,189,252,153,31,251,67,87,254,108,69, +252,106,22,255,247,199,253,187,147,255,232,224,254,204,59,0,190,22,1,60,239,1,93,221,2,209,2,4,232,237,3,241,125,5,235,251,4,252,172,5,245,233,4,228,137,4,38,232,3,212,48,3,245,249,2,224,186,1,167,111,1,9,44,0,20,94,255,17,134,255,168,82,254,234,52,255, +51,243,253,199,224,253,244,236,252,21,155,251,7,132,251,56,216,248,72,42,250,226,202,245,146,231,248,168,215,242,148,135,248,69,176,240,157,38,248,246,27,239,59,251,247,182,86,238,233,241,247,73,244,238,158,58,247,80,52,240,74,88,247,90,136,241,104,69, +248,245,231,242,232,221,248,74,125,244,127,41,249,122,34,246,195,75,250,149,166,247,197,20,252,71,171,249,78,3,254,253,24,253,49,2,0,229,183,0,229,32,2,214,190,3,72,121,4,227,111,6,253,94,7,35,147,9,46,120,10,134,113,12,64,75,13,83,26,14,153,73,15,52, +13,15,84,113,17,210,87,16,196,87,19,242,11,17,111,164,20,68,88,17,165,194,21,123,128,18,171,61,22,59,31,20,139,50,22,10,27,21,120,230,22,57,60,21,3,174,23,122,161,20,177,237,22,55,64,19,31,104,21,100,99,17,64,82,19,127,74,15,58,174,16,189,222,12,217, +247,12,241,18,10,11,101,8,118,127,7,150,163,3,231,226,4,54,58,255,3,84,2,0,190,250,171,227,0,203,205,246,50,7,1,205,247,243,1,206,1,175,154,241,170,6,2,69,181,239,237,7,1,152,15,239,225,33,255,136,174,238,198,15,254,134,93,238,242,217,253,224,111,239, +89,120,253,9,4,241,239,65,253,147,55,242,157,253,252,5,66,243,194,186,252,173,230,245,253,144,252,206,8,250,38,250,252,132,33,254,163,51,254,199,236,1,117,195,255,64,222,5,254,238,0,61,213,9,247,168,1,7,200,13,48,164,2,118,10,17,93,228,3,235,107,19,127, +186,4,255,39,21,161,75,5,118,226,21,97,110,6,133,55,22,41,46,7,189,48,22,227,34,7,115,68,21,160,55,7,59,148,19,237,197,7,4,53,18,227,30,7,230,146,16,189,229,5,15,77,14,94,35,5,223,187,11,202,119,5,222,144,8,82,226,5,212,7,6,145,218,6,37,214,3,191,231, +7,253,225,0,195,143,8,128,186,253,109,25,8,11,105,251,36,0,7,203,177,248,216,52,6,85,100,245,208,236,5,253,48,243,79,56,6,252,111,242,56,135,6,175,150,242,117,78,5,38,87,243,71,81,2,110,110,243,143,89,255,238,205,243,89,126,253,235,218,245,228,99,251, +125,224,247,76,168,248,209,121,248,105,240,245,190,116,248,177,169,243,234,233,249,59,121,242,241,147,252,30,99,241,59,246,253,76,59,240,203,133,253,187,181,239,2,129,253,97,90,240,129,137,254,192,26,241,99,6,255,67,91,241,187,217,254,151,187,241,176, +93,255,169,105,242,128,42,0,126,96,243,202,158,0,122,109,244,31,141,255,96,26,245,249,142,254,229,41,246,65,127,253,139,111,248,125,186,251,69,141,250,32,217,249,48,110,251,14,94,249,128,160,251,209,40,249,162,250,251,10,184,248,184,208,252,241,126,248, +144,241,253,151,37,249,126,106,255,129,238,249,252,155,1,130,51,251,214,184,3,135,89,252,124,97,4,113,107,253,3,7,4,58,100,255,16,139,4,91,156,1,34,45,6,3,209,2,180,186,7,254,83,3,12,120,8,42,207,3,92,172,8,239,183,3,102,26,8,65,130,3,215,109,6,167,26, +3,91,210,3,77,126,3,81,252,1,72,255,3,231,128,1,65,189,3,230,250,0,45,251,2,241,191,255,127,18,2,237,33,254,146,7,2,178,18,253,146,133,2,96,17,252,156,231,2,46,25,251,209,11,3,130,66,251,2,124,3,85,228,251,15,144,2,157,190,252,240,154,0,23,92,253,192, +255,255,126,49,254,181,141,255,63,41,255,50,93,254,98,135,255,147,124,253,189,49,255,232,116,252,94,101,254,58,8,252,232,241,253,148,164,251,226,242,253,175,72,250,86,25,254,52,228,248,39,49,254,205,215,247,233,131,253,240,252,246,212,51,252,186,92,246, +39,209,251,187,179,245,183,210,251,84,224,244,121,163,250,62,49,245,136,209,248,190,67,246,19,104,247,132,32,248,152,80,246,244,67,250,208,146,245,60,154,251,113,194,245,238,241,252,153,222,245,98,185,255,162,70,245,130,237,1,177,157,244,23,226,1,128, +104,244,243,58,1,19,205,244,220,9,1,191,15,247,5,48,1,254,119,250,221,161,0,232,251,252,138,211,255,149,96,254,197,240,255,211,143,255,79,239,255,30,248,0,30,129,255,80,112,2,240,32,0,63,245,3,171,13,2,201,237,4,130,158,3,167,139,5,130,148,4,239,113, +5,187,141,5,151,235,4,177,163,5,51,48,5,206,75,5,222,242,6,181,16,5,31,174,9,76,31,5,62,149,11,205,59,6,147,176,12,28,212,7,43,67,13,159,201,8,134,38,13,104,86,9,246,176,11,140,194,9,186,167,9,27,241,9,59,19,9,24,223,9,72,204,9,201,60,9,95,60,10,206, +179,8,241,148,9,239,9,8,58,11,8,104,104,7,89,162,6,132,209,6,155,74,5,9,40,6,242,82,4,254,61,5,41,15,4,183,113,4,83,177,4,110,80,3,148,16,5,115,87,1,93,92,4,133,167,255,53,80,3,202,170,254,181,128,1,253,133,253,198,143,254,25,182,251,79,170,251,27,98, +249,107,21,250,13,106,247,112,24,249,53,8,247,62,221,247,125,240,246,150,56,246,33,192,245,210,99,245,85,92,245,43,8,245,11,155,246,195,156,244,139,110,248,47,241,244,81,134,250,218,61,245,13,50,252,50,9,245,170,236,253,234,156,245,189,20,0,9,10,248, +26,77,1,143,251,250,170,255,1,245,255,253,60,137,3,230,130,1,224,133,5,143,84,5,248,103,7,242,105,8,45,57,9,238,244,9,104,127,10,149,236,9,68,7,12,222,141,10,142,170,13,203,118,12,76,185,14,34,154,14,254,223,14,203,196,16,106,176,14,15,50,18,71,133,14, +147,189,17,150,51,14,192,88,16,244,190,13,182,189,15,46,86,13,80,232,15,228,89,13,219,183,15,56,52,14,171,140,14,197,141,14,236,1,13,154,176,12,227,250,10,218,84,10,45,72,8,140,194,8,90,243,5,233,20,7,9,0,5,219,91,4,105,212,4,222,19,2,208,120,4,167,119, +0,64,5,3,12,148,254,147,184,0,97,152,251,154,22,254,210,129,248,172,106,251,56,115,245,179,198,249,169,210,242,60,130,248,148,134,241,252,7,247,17,19,241,74,247,245,206,228,240,147,107,245,105,151,240,176,35,244,221,254,240,121,255,241,214,38,242,86, +104,240,96,33,243,255,164,240,72,112,243,174,226,241,156,78,243,242,14,243,35,244,243,35,176,244,240,20,245,145,193,246,71,145,245,45,49,248,155,229,245,100,156,248,23,21,247,157,165,248,157,91,249,51,170,248,119,246,251,121,49,249,30,21,254,168,11,250, +125,79,0,65,164,250,0,118,2,136,252,250,198,202,3,6,188,251,139,47,4,117,162,252,138,100,4,154,32,253,147,115,5,15,122,254,166,104,6,196,164,0,151,149,6,161,243,1,104,112,6,130,242,1,233,87,6,104,236,1,252,171,5,131,132,1,187,80,5,105,132,0,143,6,6,129, +252,255,230,248,6,67,128,0,24,113,7,64,98,0,34,91,7,204,134,255,254,114,6,149,212,254,62,153,4,83,105,255,32,245,2,60,60,0,239,142,1,8,95,0,89,87,0,146,36,0,75,191,0,14,39,0,46,206,1,219,93,255,164,250,2,94,176,253,6,217,3,185,161,252,247,78,3,91,91, +252,155,170,1,100,187,252,241,243,255,31,107,253,42,151,253,43,168,253,26,200,250,94,52,253,10,66,248,148,163,252,2,205,245,85,43,251,45,210,244,105,74,249,254,115,244,248,217,247,168,74,243,213,117,247,216,241,242,155,155,247,38,209,243,206,230,247, +237,65,244,110,8,248,96,90,244,23,20,248,183,149,244,121,53,248,36,108,245,150,221,248,254,203,246,185,118,250,4,6,248,188,6,252,196,178,248,120,198,252,131,93,248,246,72,253,33,109,248,107,247,253,176,216,249,221,121,254,224,176,251,56,105,254,61,28, +253,33,115,254,128,115,255,144,107,254,33,255,1,167,211,253,110,141,3,109,212,252,168,213,4,255,109,252,76,212,5,220,253,252,220,75,7,250,234,253,79,159,8,73,9,255,148,235,7,144,30,0,63,202,6,26,149,0,47,162,6,206,205,0,232,18,6,81,195,1,58,109,4,208, +4,3,193,111,2,66,15,4,40,26,1,234,187,4,65,158,0,208,47,5,55,206,254,118,212,5,104,216,251,131,208,5,154,234,250,156,23,5,58,18,251,28,9,4,51,23,250,204,31,3,8,229,248,138,133,2,189,161,249,144,136,1,213,127,251,162,92,255,107,114,252,121,131,253,30, +100,252,157,194,252,209,201,252,89,18,252,251,168,254,55,58,251,148,171,0,144,84,250,87,175,1,50,213,249,222,88,2,8,236,249,125,37,3,103,121,249,196,54,4,15,249,248,176,104,4,205,143,249,175,222,3,130,3,251,174,92,3,110,222,252,219,166,3,42,201,254,160, +139,3,86,200,255,159,131,3,117,2,0,198,86,3,192,63,0,213,45,3,127,226,0,240,6,3,218,114,2,63,236,2,187,225,4,58,184,2,189,22,7,5,160,2,180,58,8,183,196,2,239,144,8,152,57,3,116,217,8,82,245,2,157,184,9,102,187,2,126,252,9,50,181,2,151,63,9,15,130,2,16, +36,8,109,216,1,121,37,7,250,254,0,214,231,5,176,203,0,126,52,4,30,237,0,101,72,2,81,196,0,127,47,0,87,207,255,19,178,253,64,235,254,47,169,251,88,233,253,16,103,251,25,235,252,64,209,251,81,51,252,58,147,251,35,87,252,202,24,251,102,56,253,165,166,250, +25,32,254,83,98,250,234,238,254,32,94,250,157,145,255,250,144,250,224,63,0,29,115,251,17,117,0,237,59,252,252,164,255,193,178,252,82,157,254,239,69,253,59,254,253,115,199,253,253,70,253,91,83,253,77,66,252,40,207,252,9,156,250,108,70,253,135,172,249, +116,201,254,170,219,249,136,5,0,189,214,250,245,87,0,163,192,251,196,227,0,146,2,253,246,158,1,192,70,254,122,152,2,252,36,255,50,237,3,33,161,255,151,40,5,217,119,0,125,81,6,127,77,2,236,185,7,130,142,4,236,171,8,37,131,6,43,56,8,70,4,8,156,204,6,163, +117,9,73,138,5,93,147,10,34,136,4,83,175,10,91,141,3,5,35,9,28,153,2,219,126,7,3,102,1,26,202,6,226,35,0,178,242,5,201,45,255,80,85,4,8,52,254,118,172,2,224,234,252,83,139,1,74,183,251,193,133,0,154,241,250,87,215,254,89,156,250,176,239,252,6,206,249, +105,246,250,50,160,248,135,176,249,125,44,248,214,94,249,134,201,247,207,20,249,0,247,246,18,146,248,185,156,246,95,109,247,152,68,247,5,227,245,232,49,248,249,179,244,24,207,249,151,144,244,90,150,251,136,240,244,103,215,251,61,41,245,236,53,251,142, +97,245,205,115,251,1,118,246,89,8,252,161,5,248,57,62,252,124,141,248,222,157,252,87,218,247,29,24,253,94,26,248,122,17,253,169,211,249,159,204,252,146,85,251,167,235,252,208,185,252,54,150,253,125,150,254,87,43,254,247,177,255,209,68,254,179,109,0,97, +198,254,184,216,1,223,129,255,212,33,4,35,184,255,128,102,6,12,82,255,246,71,8,168,26,255,86,150,9,76,100,255,222,67,10,120,225,255,54,1,11,5,122,0,145,104,11,49,121,1,87,213,10,5,108,2,87,89,10,158,201,2,137,26,10,162,243,2,222,199,9,127,68,3,61,105, +8,58,187,3,196,233,5,30,222,3,173,90,3,39,5,3,81,196,0,90,214,1,249,215,253,131,73,1,54,100,251,220,30,1,137,82,249,212,131,1,199,155,247,141,232,1,29,18,247,15,224,1,52,248,246,106,195,1,215,69,246,71,142,2,164,252,245,111,221,3,172,139,246,86,12,5, +213,165,247,100,211,5,57,22,249,88,81,6,195,144,250,46,49,6,13,188,251,214,170,5,2,123,253,203,253,4,18,3,0,200,237,3,167,99,2,88,190,2,148,74,4,176,204,1,154,53,6,1,212,0,113,125,8,189,169,255,112,91,10,189,175,254,71,246,10,187,167,253,180,141,10,229, +166,252,9,191,9,172,226,251,99,97,9,91,105,251,124,154,9,152,227,250,12,172,8,160,187,249,237,176,7,123,10,249,32,126,7,237,26,249,240,210,7,142,72,249,212,58,7,92,135,249,120,162,5,107,80,250,240,248,3,32,143,251,53,136,2,185,33,253,126,67,1,78,126, +254,249,250,0,198,80,255,73,49,1,236,143,255,21,33,0,170,221,255,51,99,254,124,5,1,244,244,252,143,185,2,16,224,251,113,249,3,141,106,250,125,99,5,207,221,248,189,154,7,222,190,247,85,155,9,1,45,247,220,62,10,160,210,246,53,12,10,138,39,247,182,117,10, +91,191,247,44,32,11,232,99,248,137,98,10,148,119,249,75,130,8,181,59,251,251,95,6,133,0,253,21,67,4,8,102,254,142,171,2,194,19,255,249,253,0,124,73,255,244,34,255,107,27,255,0,112,253,148,134,254,8,145,251,14,186,253,198,134,249,158,254,252,107,122,247, +250,168,252,202,27,245,99,105,252,238,165,242,91,23,252,121,13,241,230,232,251,121,141,240,108,77,251,98,43,240,37,182,250,30,105,240,40,220,250,188,250,240,231,53,251,92,154,241,44,134,250,119,42,242,154,248,249,91,65,243,119,203,250,154,179,244,155, +31,252,19,6,246,60,213,252,112,52,247,61,87,253,58,49,249,35,2,254,215,162,251,17,78,254,236,224,253,155,202,254,247,52,0,175,87,255,9,154,2,228,231,255,220,106,5,203,219,0,231,62,8,38,128,1,180,26,10,84,31,1,241,142,10,32,145,0,241,79,10,150,138,0,15, +65,10,253,99,1,97,135,10,0,238,2,5,97,10,246,241,3,198,31,9,2,43,4,180,3,7,30,75,4,91,1,5,215,254,3,195,63,3,248,220,2,147,107,1,248,161,1,152,234,255,104,99,1,226,179,254,240,20,1,125,169,253,81,68,0,202,209,252,224,132,255,6,115,252,176,227,254,202, +201,252,202,174,254,225,175,253,15,237,254,152,122,254,4,64,255,138,173,254,244,13,0,191,8,255,143,180,1,83,101,0,41,12,3,14,198,2,203,195,3,173,211,4,122,125,4,9,108,6,153,244,4,114,211,7,26,165,4,20,82,8,145,166,4,93,127,7,105,71,5,20,157,6,165,236, +5,213,97,6,112,129,6,252,223,6,95,142,6,75,10,7,234,42,6,73,124,6,100,133,6,3,243,5,190,161,6,210,185,5,205,189,5,190,174,5,130,14,5,6,230,4,31,79,5,211,166,3,53,244,4,244,0,3,65,122,3,77,15,3,43,237,1,199,119,2,14,203,0,69,24,0,93,5,255,229,95,253,218, +167,252,148,230,251,73,180,250,209,110,250,103,167,249,91,204,248,88,98,248,62,172,247,195,50,247,201,119,247,62,238,245,99,105,247,186,238,244,193,41,247,188,197,244,40,7,247,166,22,246,196,73,247,123,3,248,201,44,248,157,217,248,220,169,249,91,179, +249,16,243,250,94,124,251,32,135,252,58,116,253,245,239,254,151,221,254,43,0,1,171,94,0,46,85,2,35,37,1,203,214,2,105,241,0,27,15,3,77,81,1,154,157,3,236,35,2,38,241,3,140,73,2,202,123,4,253,95,1,130,80,5,154,174,0,35,57,6,199,61,0,11,65,6,58,163,255, +102,113,5,216,253,254,244,242,3,100,91,254,105,246,1,139,44,254,13,21,0,217,74,254,208,58,254,184,246,253,128,95,252,241,13,253,178,36,251,218,35,253,20,214,250,131,159,253,47,116,250,230,139,254,227,164,250,30,7,255,143,64,251,207,222,254,57,74,251, +74,146,254,218,255,250,66,68,254,182,72,251,180,147,253,200,193,251,51,125,252,69,1,252,163,125,251,136,102,252,121,77,251,183,9,253,231,43,252,69,113,253,91,17,253,136,224,253,181,41,253,109,70,254,217,208,253,25,100,254,43,139,255,242,91,254,78,87, +1,221,54,254,32,54,2,150,35,254,88,110,2,141,136,254,219,243,2,117,83,254,216,14,3,107,115,253,42,154,2,220,192,253,243,245,1,186,149,254,160,220,1,70,46,255,39,132,1,115,114,255,90,221,0,115,175,255,115,231,255,57,101,255,201,162,254,145,235,254,114, +50,253,254,140,254,119,252,251,214,179,254,137,184,251,246,52,255,27,137,251,140,116,255,25,247,250,196,253,254,85,239,249,246,200,253,210,192,248,110,29,253,175,159,247,76,55,253,211,88,247,32,188,253,220,117,247,99,100,253,40,248,247,158,70,252,35, +60,248,3,229,250,39,226,248,131,19,250,241,240,249,207,161,249,85,174,250,30,137,249,21,87,251,186,4,250,212,182,251,1,93,250,136,221,252,142,62,250,145,112,254,211,136,249,113,146,255,54,60,249,56,186,0,93,86,249,236,165,2,28,119,249,222,5,4,236,8,250, +211,143,4,81,68,251,21,38,5,136,31,253,37,78,5,37,163,254,182,221,4,27,230,255,226,102,4,219,14,1,37,92,3,196,85,2,221,200,1,207,118,3,169,74,0,129,84,4,182,155,255,55,88,5,169,90,255,13,215,5,165,172,255,89,113,5,146,21,1,242,88,4,20,60,2,152,206,2, +4,30,2,229,53,1,195,5,2,6,144,0,12,45,2,237,143,0,114,199,1,216,55,0,185,173,0,33,168,255,80,1,0,79,191,255,90,103,255,38,88,0,233,47,254,172,245,255,65,251,252,9,176,255,203,147,251,236,9,0,6,8,250,176,88,0,189,29,249,142,67,0,94,89,248,139,31,0,66, +254,247,25,92,255,134,249,247,179,209,253,119,105,247,66,221,251,246,178,247,5,129,250,137,153,248,93,72,250,34,174,249,118,9,251,24,48,251,56,64,252,212,42,253,79,89,253,154,121,255,190,8,254,137,175,1,216,2,255,166,77,3,60,174,0,97,131,4,104,108,2, +155,6,6,155,228,3,237,56,8,92,208,4,250,36,10,129,143,4,241,182,11,235,213,3,255,239,12,101,121,3,70,80,13,127,74,3,203,30,13,54,98,3,239,22,13,235,146,4,44,82,12,223,71,6,207,100,10,209,163,7,182,118,8,160,157,8,228,169,6,73,102,9,183,109,4,244,115, +9,33,178,3,170,64,9,102,53,4,245,66,9,33,44,4,202,199,8,154,217,2,121,234,6,71,210,1,137,24,5,126,136,1,32,175,4,131,253,0,80,82,5,179,184,255,63,32,5,113,160,254,27,194,3,228,62,254,134,213,2,64,180,253,152,64,3,20,118,252,56,163,4,90,21,251,108,39, +6,248,50,250,42,188,6,144,144,249,181,141,6,185,249,248,216,192,5,50,92,248,57,242,3,251,39,248,113,131,1,78,240,248,170,168,255,251,143,250,159,127,254,232,254,251,52,130,253,208,61,253,157,129,252,196,183,254,226,207,251,28,95,0,192,60,251,240,91,1, +90,223,250,57,133,1,26,89,250,235,222,1,82,102,249,120,68,2,177,119,248,73,88,2,163,99,248,145,255,1,54,84,248,219,247,1,219,108,248,68,99,2,162,85,249,37,106,2,206,7,251,177,138,1,121,139,253,180,247,0,144,215,255,190,26,1,86,180,1,175,4,1,52,127,3, +214,87,0,133,187,4,45,161,255,27,239,4,69,208,255,239,180,4,202,215,0,199,32,4,211,171,1,15,202,3,230,109,2,49,85,4,35,25,3,237,146,5,158,249,3,206,11,7,211,11,5,238,69,8,32,28,5,47,220,8,108,109,4,25,252,8,252,55,4,27,199,8,177,43,5,116,91,8,136,241, +6,36,116,7,183,67,8,230,129,6,210,209,8,48,138,5,157,57,9,173,26,4,66,137,9,179,232,1,31,96,9,9,113,255,117,98,8,115,14,253,167,246,5,50,211,250,204,22,3,252,245,248,154,237,0,234,142,247,178,54,255,67,161,246,8,118,253,185,229,245,162,121,251,153,161, +245,148,241,249,188,200,245,73,62,249,10,166,245,224,9,249,89,210,245,22,237,248,67,171,246,190,171,248,12,34,248,189,102,248,3,121,249,214,104,248,16,109,250,114,92,249,17,170,252,63,198,250,206,154,255,101,125,251,201,7,2,238,135,251,127,127,3,18,114, +251,178,9,4,60,154,251,215,131,4,150,182,251,183,4,4,139,3,252,79,151,3,15,3,253,140,196,3,216,1,254,100,115,3,221,177,254,182,69,2,63,87,255,145,83,1,18,58,0,195,158,0,158,218,0,72,111,0,44,66,1,68,12,0,115,148,1,42,73,255,213,252,1,210,78,254,71,135, +2,95,125,253,158,70,2,200,118,253,35,37,1,50,175,253,53,225,0,160,151,253,196,145,1,229,152,253,139,138,1,253,209,253,10,236,0,255,225,253,226,207,0,65,12,253,102,18,1,134,23,252,36,175,0,132,139,251,141,247,255,82,78,251,46,102,255,250,67,251,204,121, +255,193,184,251,92,56,0,223,169,252,182,9,1,237,238,252,237,248,0,161,165,252,186,118,0,126,134,252,189,164,255,46,76,252,15,241,254,77,83,252,4,66,254,183,3,253,127,60,253,85,15,254,126,64,252,44,111,254,191,100,251,149,31,254,255,185,250,74,100,253, +25,74,250,56,127,252,146,150,250,63,193,251,177,19,251,149,0,251,237,121,251,242,123,250,218,43,252,47,187,249,226,253,252,113,105,248,218,39,253,4,84,247,76,178,252,115,74,247,121,136,252,202,180,248,194,175,252,179,188,250,144,240,252,164,144,252,39, +113,253,89,185,253,96,187,253,16,148,253,56,100,253,191,219,252,196,191,252,146,9,253,163,111,252,154,146,253,170,252,252,248,19,254,159,63,254,32,44,255,240,42,255,93,140,0,165,99,255,55,114,1,75,140,255,246,158,1,221,226,255,133,205,1,60,110,0,238, +5,2,169,255,0,171,87,2,112,185,1,59,150,2,46,131,2,99,235,2,194,42,3,153,206,3,74,92,3,212,150,5,2,183,3,14,89,7,71,192,3,54,235,7,178,2,3,168,253,7,253,83,2,15,223,7,114,248,2,139,150,7,95,180,3,90,40,7,41,195,3,229,184,6,255,93,3,33,33,6,122,78,3,11, +142,5,203,132,3,248,144,4,126,114,3,6,114,3,186,222,2,31,112,2,22,143,2,6,132,1,67,158,2,11,192,0,20,115,3,137,143,0,177,114,4,217,122,0,145,46,4,49,202,255,14,254,2,124,78,255,129,30,2,140,250,254,250,240,1,146,194,254,22,218,1,70,174,254,89,205,1,0, +218,254,118,46,2,132,172,254,14,248,2,103,69,254,205,154,3,209,5,254,219,34,4,40,205,253,137,220,3,161,104,253,195,253,2,71,135,253,121,3,3,235,78,254,50,33,4,12,149,255,128,57,4,125,139,0,178,65,3,45,22,1,116,8,3,219,197,1,13,110,3,70,252,2,89,242,3, +79,202,4,72,121,4,239,225,6,9,237,4,255,44,9,165,244,4,203,136,10,52,169,4,162,218,10,122,62,4,225,108,10,11,208,3,113,183,9,192,85,3,226,250,8,6,237,2,202,26,8,182,182,2,205,192,6,207,182,2,1,48,5,72,202,2,194,45,4,30,223,2,207,120,3,111,94,2,32,207, +1,247,102,1,37,220,254,11,185,0,165,158,251,145,17,0,29,5,249,188,28,255,244,43,247,240,54,254,237,119,245,48,128,254,239,171,243,39,32,255,198,15,242,170,108,254,19,249,240,75,109,252,178,148,240,161,178,250,53,87,240,175,74,250,160,220,240,93,128,250, +2,122,242,220,148,250,247,172,244,194,189,250,160,215,246,107,2,251,246,61,248,230,173,251,7,224,249,4,25,252,22,92,252,10,140,252,9,119,255,187,156,253,2,214,1,20,159,254,223,95,3,122,112,255,153,121,5,202,156,0,186,242,7,81,46,2,134,5,10,36,216,3,118, +154,11,64,157,5,52,29,13,1,139,7,245,140,14,100,46,9,235,32,15,226,235,9,4,88,15,97,51,11,22,205,15,163,14,13,181,165,16,179,91,14,211,87,17,36,86,15,158,122,17,209,133,15,241,66,17,230,221,14,12,95,16,255,38,14,90,214,14,69,194,13,133,156,12,92,245, +12,125,238,9,161,132,11,30,3,7,196,191,9,167,88,4,30,167,8,234,28,2,201,190,7,150,153,255,194,14,6,141,20,253,43,36,3,88,213,250,107,82,0,167,212,248,37,26,254,189,62,247,154,222,251,224,245,245,206,6,250,31,197,244,169,217,248,77,100,244,15,130,247, +94,146,244,163,47,246,45,28,245,29,215,245,109,154,246,79,144,246,10,203,248,169,229,247,122,242,250,243,191,249,175,246,252,191,153,251,8,235,254,228,129,253,167,63,0,98,63,255,236,198,0,30,119,0,38,82,1,43,115,1,113,7,2,61,161,2,105,114,2,233,105,4, +175,188,2,2,165,5,14,72,3,193,67,6,209,201,3,137,190,6,218,94,4,219,203,6,178,1,5,25,202,5,65,119,5,194,154,4,194,92,5,152,246,3,54,202,4,221,188,3,88,48,4,210,210,2,93,234,3,101,195,1,112,174,3,60,104,0,169,187,2,85,187,254,64,206,1,205,230,252,36,52, +1,16,29,251,232,85,0,28,177,249,175,90,255,168,150,248,251,179,254,109,117,248,170,125,253,26,29,249,217,42,252,189,216,249,149,65,251,101,208,250,129,125,250,68,51,252,240,52,249,203,186,253,64,113,248,9,181,254,97,4,249,200,205,255,173,250,250,80,111, +1,248,151,253,69,162,3,161,68,0,161,127,5,170,14,2,227,139,7,126,249,2,3,131,9,207,179,3,101,32,11,54,139,4,23,59,12,42,135,5,188,140,12,236,189,6,1,24,12,10,228,7,10,187,11,217,109,8,64,40,11,134,224,7,245,185,9,53,180,6,228,153,7,8,226,5,20,156,5,243, +208,5,199,27,4,209,246,5,97,141,2,60,57,6,105,184,0,108,98,6,148,2,255,198,199,5,44,167,253,188,245,3,107,120,252,232,144,1,88,62,252,83,44,255,144,246,251,3,148,253,178,35,251,66,156,252,17,55,250,242,182,251,32,209,249,90,111,250,119,138,249,40,186, +248,159,103,249,112,231,247,134,46,249,45,118,247,146,174,248,150,117,246,132,95,248,173,245,244,13,155,248,191,248,243,70,223,248,134,109,243,114,228,248,235,5,243,161,200,248,148,11,243,176,159,248,168,217,242,232,95,248,120,50,242,124,15,248,47,17, +241,19,223,247,196,139,240,108,239,247,43,34,241,197,190,247,94,168,242,3,69,247,35,115,244,116,201,246,110,235,245,85,21,246,237,121,246,148,218,245,40,82,246,252,130,246,78,94,246,243,156,247,140,145,246,121,168,248,168,234,246,123,251,249,44,240,247, +224,180,251,177,235,249,163,48,253,41,154,252,238,168,253,171,125,254,113,237,253,70,162,255,191,247,254,105,197,0,245,147,0,153,37,2,25,49,2,29,147,3,251,238,3,160,63,5,115,234,5,116,46,7,174,46,8,64,8,9,220,108,10,83,196,9,29,176,12,87,228,9,100,110, +14,255,158,10,245,121,15,208,170,11,210,194,16,91,179,12,252,108,17,224,255,13,151,31,17,242,161,15,203,57,16,1,178,16,28,12,15,223,22,17,230,117,13,186,89,16,70,220,11,221,18,15,119,216,10,26,141,13,105,216,9,68,32,11,127,129,8,35,169,7,209,225,6,179, +153,3,170,34,5,89,106,255,17,24,3,132,133,251,33,13,1,167,80,248,111,0,255,152,72,246,210,75,253,136,251,244,37,50,252,3,61,243,74,52,251,143,223,241,197,182,249,157,121,241,182,223,248,77,189,241,96,178,248,194,34,242,26,104,248,159,109,243,220,115, +247,96,152,245,204,14,247,191,151,247,92,144,247,52,44,249,220,40,248,152,24,251,108,109,248,220,190,253,26,159,248,121,40,0,88,224,248,61,46,2,104,252,248,107,110,4,57,158,248,97,55,6,123,72,248,68,125,7,33,50,248,220,17,8,28,183,248,22,94,8,75,137, +250,227,83,8,133,132,252,79,115,7,198,207,253,207,153,6,133,31,255,106,76,6,114,152,0,152,42,6,74,246,0,145,228,5,39,207,0,16,251,5,214,73,1,10,126,5,50,250,1,47,16,4,137,47,2,37,239,2,1,185,2,34,148,2,166,207,3,78,163,1,182,162,4,28,126,255,65,114,5, +201,61,253,19,8,7,8,149,251,147,79,9,136,128,250,118,11,11,162,146,249,106,66,12,152,56,249,166,239,12,184,179,249,75,199,12,196,35,250,162,140,11,241,172,250,23,79,9,204,235,251,230,51,7,108,190,253,132,225,4,215,126,255,147,145,2,198,249,0,138,203, +0,205,49,2,153,115,255,203,214,2,140,119,254,102,198,2,176,170,253,252,208,2,189,253,252,25,54,3,93,244,251,136,99,3,155,120,250,195,199,2,223,123,249,247,99,1,173,5,249,79,75,255,188,29,248,186,100,253,129,144,247,44,188,252,221,54,248,195,127,252,36, +184,249,177,213,251,225,253,250,195,25,251,39,7,252,90,174,250,207,167,253,190,111,250,211,65,255,32,149,250,158,216,0,31,125,251,206,239,2,85,167,252,63,153,5,7,50,254,142,47,7,206,209,255,99,117,7,10,109,1,38,123,7,43,43,3,129,102,7,151,40,5,212,117, +7,108,92,7,6,183,7,250,57,9,43,116,7,120,60,10,66,108,6,241,201,10,44,142,5,208,50,11,57,227,4,179,67,11,9,249,3,134,253,10,209,82,2,33,249,9,196,224,0,204,166,8,192,56,0,175,12,7,144,139,255,254,133,5,238,32,254,32,43,4,151,117,252,99,235,2,54,98,251, +43,130,1,59,97,250,163,29,0,162,137,249,103,189,254,113,224,248,16,215,252,210,125,248,207,15,251,39,104,248,155,143,249,61,198,248,128,3,248,31,140,249,131,181,246,135,101,250,64,137,246,140,222,250,162,38,247,90,82,251,13,170,247,74,235,251,125,172, +247,64,188,252,49,28,248,253,249,253,6,21,249,241,121,255,192,66,250,91,30,1,63,195,251,131,44,3,57,54,253,174,70,5,200,39,254,67,179,6,142,203,255,206,185,7,79,98,2,32,240,8,148,144,4,141,202,9,58,35,6,211,146,9,79,174,7,217,224,8,133,147,8,102,3,8, +92,46,8,186,178,6,97,236,6,232,164,4,65,48,6,249,171,2,200,221,5,72,153,1,226,46,5,71,86,1,28,206,3,44,131,1,236,176,1,141,93,1,168,26,255,117,119,0,59,82,253,239,93,255,208,133,252,206,157,254,117,42,252,254,255,253,15,101,251,173,79,253,154,119,250, +149,225,252,13,158,249,50,239,252,29,147,248,156,232,252,108,69,247,130,222,252,159,16,247,135,199,253,53,9,248,216,58,255,142,135,249,156,204,255,164,85,251,187,24,255,244,251,252,74,219,253,90,8,254,152,133,252,200,33,255,37,121,251,180,2,1,146,26, +251,139,202,2,80,242,250,202,11,3,60,38,251,228,33,2,80,171,251,153,167,1,17,90,252,115,94,1,35,20,253,177,33,1,248,12,254,219,75,1,255,198,254,255,106,2,222,112,255,205,29,4,234,41,0,249,20,5,58,212,0,31,86,5,106,58,1,102,176,5,222,29,1,152,166,6,154, +111,0,193,188,7,180,58,0,169,13,8,205,180,0,80,249,6,32,72,1,166,64,5,23,29,2,72,215,3,209,194,3,134,10,3,88,147,5,2,216,1,236,239,6,127,159,0,46,213,7,145,164,0,143,240,7,8,26,1,2,141,7,219,77,1,5,51,7,173,119,1,34,219,7,96,217,1,215,143,8,29,175,1, +57,248,7,140,230,0,228,165,6,206,20,0,154,122,5,16,124,255,86,139,4,253,61,255,113,173,3,41,185,255,228,205,2,54,240,0,22,76,2,156,118,2,154,97,2,77,133,3,98,33,2,39,249,3,230,52,1,241,141,4,253,172,255,238,103,5,243,19,254,18,11,6,212,42,253,204,251, +5,118,31,253,186,12,5,245,250,252,96,197,3,148,99,252,99,180,2,29,230,251,132,6,2,63,123,251,50,11,1,179,234,250,65,238,255,106,12,250,240,53,255,238,143,249,232,176,254,12,133,249,132,237,253,103,226,249,228,24,253,76,149,250,30,233,252,156,183,251, +235,159,252,242,155,252,99,118,252,228,80,252,114,81,252,13,249,251,109,145,252,37,111,252,190,152,252,171,201,252,219,66,252,4,210,252,214,146,251,157,177,253,62,6,251,53,46,255,213,87,250,177,158,0,124,77,250,222,92,1,162,8,251,71,210,1,91,34,252,143, +170,2,82,125,253,29,77,4,121,190,254,40,96,6,195,97,0,0,186,7,112,176,2,44,248,7,25,42,4,55,102,8,248,211,4,185,219,8,202,103,6,188,255,7,139,197,8,44,138,6,54,73,11,58,85,6,24,139,12,175,190,6,117,189,12,52,222,5,153,173,12,127,51,4,184,111,12,228,18, +3,28,183,11,244,54,2,239,61,10,56,3,1,28,99,8,232,214,255,181,19,6,143,210,254,46,10,3,27,129,253,137,145,255,12,180,251,195,11,252,153,232,249,231,155,249,47,194,247,0,34,248,70,3,246,87,115,246,218,243,244,210,249,243,95,74,244,13,228,241,145,151,243, +42,101,240,224,12,243,138,189,239,109,179,242,214,4,240,85,254,242,208,137,240,195,98,243,70,192,240,63,209,243,167,30,241,187,183,244,13,175,241,19,241,245,19,227,242,16,75,247,90,226,244,155,63,249,196,193,247,88,192,251,48,45,251,79,9,254,175,100, +254,78,38,0,251,206,1,241,26,2,75,36,5,5,219,3,126,209,7,27,242,4,75,175,9,209,109,5,41,126,11,95,16,6,41,110,13,93,248,6,216,224,14,147,28,7,214,204,14,195,150,6,164,23,13,180,193,5,144,164,10,248,200,4,197,94,8,210,68,4,122,59,6,8,62,3,51,105,4,103, +156,1,44,246,2,153,229,0,218,250,1,199,173,1,35,50,1,8,200,1,237,151,255,255,184,0,43,107,253,56,202,255,182,78,251,209,55,255,107,161,249,3,117,254,71,193,247,219,43,253,14,7,246,41,224,251,42,49,245,32,63,251,17,53,245,99,42,251,4,51,245,242,104,251, +90,94,245,245,2,252,188,70,246,63,237,252,122,144,247,166,255,253,116,190,248,7,86,255,250,95,249,213,144,0,178,249,249,230,123,0,159,37,251,27,164,255,214,128,253,136,10,255,232,144,0,87,215,254,15,74,3,245,108,254,86,18,5,171,185,253,29,62,6,3,68,253, +203,42,7,30,165,252,129,239,7,50,182,251,16,154,8,113,76,250,176,187,8,21,32,249,200,197,7,174,200,248,111,130,6,161,198,248,252,176,5,25,206,248,56,157,4,145,233,248,9,211,2,246,107,249,16,112,0,32,18,250,217,81,254,52,21,251,255,115,252,86,101,252, +79,243,250,4,206,253,219,218,249,161,132,255,3,52,249,153,156,1,182,167,248,242,28,3,194,102,248,102,193,3,41,135,248,66,71,4,66,131,248,70,164,4,138,162,248,140,179,4,68,21,249,67,136,4,254,131,249,214,236,3,152,105,250,162,230,2,137,61,252,142,99,2, +150,35,254,84,141,2,114,224,255,18,107,2,228,159,1,151,140,1,80,96,3,137,187,0,61,16,5,57,135,0,27,103,6,216,237,255,47,236,6,61,209,253,211,126,7,187,178,251,232,194,8,193,254,250,81,36,10,94,193,250,88,108,10,116,98,250,83,129,9,206,69,250,30,172,8, +99,119,250,14,75,8,58,16,251,190,233,6,147,89,251,111,152,4,54,216,251,109,209,2,62,40,253,31,6,1,97,51,255,174,15,255,54,109,1,145,121,253,110,84,3,209,208,252,22,247,4,198,161,252,163,13,6,180,168,252,128,226,6,76,250,253,171,150,7,202,104,0,11,233, +7,218,183,1,175,109,8,181,59,2,87,166,8,163,190,2,188,180,8,56,181,3,179,208,8,84,189,4,126,56,9,252,231,5,47,12,9,242,253,6,104,226,7,81,255,7,61,117,6,200,252,8,36,204,4,136,27,10,140,67,3,135,198,10,110,161,1,97,202,10,203,241,255,7,50,10,211,83,254, +216,142,9,193,106,252,19,123,8,174,247,250,132,80,7,160,46,250,23,55,6,141,242,249,88,231,4,164,222,249,185,30,3,52,35,250,70,87,1,7,77,250,173,80,255,89,29,250,58,129,253,158,26,250,249,108,252,211,52,251,30,186,251,147,10,253,105,66,250,26,164,254, +239,58,248,151,221,255,88,253,246,123,43,1,129,39,246,245,190,2,110,162,245,18,18,4,5,106,246,204,254,4,79,9,249,56,89,5,146,23,252,67,248,5,22,7,254,104,49,6,241,197,254,201,212,5,45,40,255,162,212,4,201,25,0,199,218,3,104,173,1,243,101,3,197,221,2, +144,105,3,41,23,3,25,43,3,26,133,2,238,122,2,151,206,1,123,98,1,190,35,1,38,152,255,247,115,0,159,124,253,126,25,0,85,156,251,13,84,0,204,244,249,35,178,0,0,224,247,159,168,0,29,24,246,15,104,0,209,31,245,175,21,0,28,34,244,16,199,254,255,204,242,136, +230,252,229,11,242,148,112,251,26,160,241,242,127,250,37,93,241,112,150,249,130,212,241,20,175,248,125,213,242,52,1,248,20,78,244,254,21,247,205,40,246,98,32,246,210,123,248,51,204,245,248,229,250,68,110,246,234,10,253,49,36,247,227,46,255,64,54,248, +207,127,1,25,20,250,245,233,3,17,46,252,55,134,5,140,2,254,149,186,6,48,3,0,141,220,7,155,106,2,131,232,8,158,126,4,81,100,9,231,212,5,56,25,10,139,144,7,232,159,10,100,179,9,42,202,10,122,125,11,110,8,10,55,138,12,137,170,8,84,95,13,45,209,6,65,157, +13,240,187,4,143,126,13,50,37,3,19,77,13,190,148,1,249,198,12,183,151,0,178,57,12,54,46,0,194,160,11,217,66,255,89,126,10,175,30,254,72,157,8,69,102,253,200,146,6,165,204,252,105,15,5,2,133,252,141,80,4,67,157,252,225,52,3,198,142,253,14,210,1,176,166, +254,83,170,255,173,252,254,148,98,253,217,13,254,191,107,251,163,174,252,85,112,250,57,67,251,159,51,250,218,4,250,40,174,249,193,69,249,118,155,248,61,255,248,68,43,247,31,10,249,39,11,246,177,108,249,25,66,245,25,5,250,80,189,244,213,80,250,78,112, +244,69,4,250,89,92,244,202,224,249,171,160,244,49,182,250,229,106,245,134,14,252,73,168,246,112,225,252,222,207,247,9,124,253,5,208,248,177,245,253,252,40,250,202,237,254,44,60,252,128,40,0,119,233,254,98,35,1,35,111,1,3,213,1,38,180,3,45,247,2,95,163, +5,134,5,4,254,115,7,67,14,4,224,240,8,32,105,3,220,190,9,169,36,3,165,69,10,234,204,2,188,234,10,96,214,1,248,196,11,112,63,0,180,138,12,223,199,254,14,222,12,160,199,253,88,96,12,165,204,252,170,172,10,250,168,252,75,0,8,249,99,253,179,72,5,99,203,254, +13,253,2,143,3,0,0,202,0,203,107,0,157,103,254,228,107,0,181,180,252,84,98,0,251,201,251,35,108,0,234,35,251,250,201,0,121,220,250,36,47,1,36,51,251,114,201,1,172,218,251,134,200,2,14,209,251,107,56,3,148,53,251,26,185,2,117,50,251,182,125,2,43,117,252, +48,23,3,193,225,253,183,184,3,77,128,254,4,142,3,203,254,254,138,173,2,191,130,255,197,86,2,157,158,255,215,79,2,249,147,255,84,21,2,62,147,255,201,136,1,164,230,255,44,192,0,68,197,0,137,4,0,126,145,1,50,215,254,92,51,2,109,8,253,181,177,2,55,120,250, +199,239,2,73,131,248,209,213,2,229,209,247,70,130,2,15,252,247,205,47,2,49,208,247,160,107,1,4,138,247,252,39,0,31,160,247,96,1,254,14,244,247,160,100,252,145,42,248,7,13,252,198,60,249,202,79,252,96,81,251,47,88,252,26,107,253,227,146,252,107,86,255, +92,36,253,148,104,1,169,231,253,244,52,3,16,252,254,114,37,5,171,172,0,92,110,7,138,192,2,123,87,9,168,224,4,206,212,10,102,103,6,15,40,12,41,172,7,170,202,13,34,80,9,124,35,15,203,65,11,255,221,15,93,71,13,176,163,16,89,9,15,27,98,17,44,47,16,51,27, +17,192,210,16,93,227,15,69,228,16,136,100,14,192,145,16,186,65,12,164,58,16,69,49,9,140,13,16,221,34,6,131,175,15,184,198,3,228,33,14,41,158,1,58,52,11,30,133,255,212,252,7,57,37,254,62,24,5,233,122,252,85,40,2,171,225,249,174,88,255,13,100,247,45,5, +253,229,91,245,202,91,251,241,58,243,154,196,249,53,123,241,169,165,248,227,192,240,40,196,247,17,153,240,53,94,246,82,112,240,225,145,244,174,164,240,241,59,243,68,149,241,249,86,242,98,67,243,83,188,241,133,76,245,150,171,241,101,175,247,14,169,242, +23,182,249,11,192,244,37,111,251,81,51,247,159,250,253,249,87,249,20,137,0,255,62,251,122,216,1,36,214,253,194,50,2,253,104,0,135,208,2,238,60,2,142,215,3,139,121,3,196,121,4,194,175,4,100,90,4,61,148,5,106,32,4,248,195,5,46,52,4,28,241,5,188,39,4,212, +79,6,15,189,3,149,199,6,109,188,3,9,43,7,200,94,4,173,47,7,197,192,4,254,184,6,2,110,4,83,92,6,233,176,3,149,134,6,235,80,3,187,75,6,115,63,3,18,80,5,212,230,2,56,104,4,98,157,2,53,204,3,228,201,2,152,11,3,163,116,2,46,162,1,246,74,2,118,134,0,216,150, +2,135,117,0,17,219,2,194,12,1,57,180,2,130,177,1,14,67,2,117,108,2,85,159,1,35,87,3,116,166,0,238,52,4,168,1,0,5,15,5,219,86,255,36,18,5,116,190,254,195,53,4,82,33,254,99,42,3,48,18,254,153,90,2,96,55,254,185,107,1,76,239,253,150,13,0,93,216,253,128, +130,254,124,26,254,208,13,253,114,46,254,212,67,251,245,238,253,101,235,248,133,185,253,193,175,246,116,70,253,130,51,245,51,5,252,219,144,244,107,10,250,125,3,245,180,71,248,51,141,245,187,226,246,103,31,246,156,174,245,93,238,246,63,195,244,197,203, +247,69,133,244,0,34,248,228,154,244,204,23,248,25,53,245,214,60,248,2,8,246,25,89,249,131,36,247,96,88,251,42,197,248,211,104,252,215,218,250,69,192,252,85,93,252,159,84,253,97,199,253,90,67,254,49,75,255,29,199,254,92,241,0,3,53,255,170,125,2,173,62, +0,87,220,3,200,188,1,248,5,5,2,74,3,245,215,5,55,96,4,0,9,6,73,10,5,11,253,5,165,125,5,132,152,5,219,84,6,113,31,5,174,63,7,248,1,5,209,222,7,26,228,4,69,7,8,234,253,3,192,239,7,104,14,3,201,217,6,106,174,2,68,224,4,128,201,2,168,181,2,59,76,3,193,126, +1,62,161,3,75,206,0,178,10,3,196,235,255,76,0,2,48,78,255,247,226,0,78,0,255,147,53,255,238,29,255,16,7,253,55,2,0,38,64,251,14,214,0,87,129,250,255,67,0,47,233,249,14,236,254,89,31,249,157,237,253,178,177,248,74,100,253,54,136,248,61,29,253,209,180, +248,77,10,253,169,142,249,252,71,253,119,193,250,229,213,253,77,131,252,64,49,254,2,233,254,233,54,254,152,217,0,157,48,254,199,234,1,77,59,254,131,109,2,4,71,255,104,14,3,67,242,0,92,89,3,251,210,1,61,96,3,7,201,1,146,66,3,221,101,1,121,1,3,94,12,1, +121,131,2,234,168,0,88,124,1,34,109,0,163,144,0,142,254,0,2,97,255,28,224,1,6,25,254,197,154,2,6,35,253,115,78,3,224,26,253,194,240,3,60,199,253,85,14,4,232,100,254,8,69,3,107,86,255,216,222,1,109,157,0,9,168,0,41,215,1,41,187,255,30,160,2,250,224,254, +222,74,3,203,63,254,192,199,3,203,136,254,49,17,4,24,145,255,76,35,4,84,168,0,207,241,3,196,158,1,200,100,3,46,85,2,143,107,2,64,9,3,8,206,1,58,132,3,25,246,1,234,6,4,24,39,2,75,162,4,158,9,2,230,23,5,247,88,2,52,119,5,205,40,2,189,46,5,129,99,1,6,157, +4,20,25,0,71,61,4,18,76,254,22,12,4,38,52,252,127,190,3,150,74,250,36,38,3,172,245,248,91,98,2,94,91,248,76,21,1,221,192,247,132,239,254,201,242,246,43,255,251,30,99,246,168,149,249,28,14,246,26,109,248,81,182,245,228,202,247,65,24,245,127,11,247,243, +239,244,16,90,246,89,195,245,236,50,246,147,72,247,246,221,245,29,53,249,121,89,245,34,217,250,226,76,245,26,255,251,25,249,245,175,162,253,155,230,246,13,26,255,93,108,247,234,232,255,196,63,248,255,180,0,245,102,249,16,22,2,79,188,250,223,13,4,159, +163,251,246,166,5,52,79,252,188,206,6,225,108,253,72,32,7,140,114,255,90,163,6,247,152,2,121,170,5,243,212,5,197,253,4,100,65,8,56,150,4,211,33,10,4,203,3,77,173,11,147,145,2,214,100,12,94,188,1,246,111,12,0,185,1,169,223,11,66,162,1,255,219,10,25,6, +1,34,7,10,76,20,0,162,110,9,93,78,255,216,20,9,157,218,254,97,155,8,53,121,254,167,176,7,157,51,253,168,76,6,48,99,251,204,76,4,200,129,250,215,25,2,132,2,251,159,105,0,199,160,252,77,181,254,101,105,254,137,53,252,90,38,0,0,89,249,80,103,2,91,19,247, +232,223,4,40,149,245,28,232,6,237,3,245,98,34,8,99,127,245,125,48,9,255,230,246,188,229,9,242,204,248,6,33,10,173,250,250,162,227,9,213,248,252,255,155,9,70,103,255,239,241,9,136,44,2,24,79,10,17,206,4,84,189,9,6,131,7,67,102,8,175,45,10,188,255,6,32, +22,13,181,205,5,127,196,15,125,94,4,223,134,17,46,198,2,194,147,18,163,126,1,238,18,19,130,54,0,112,8,19,39,36,255,11,4,19,210,12,254,86,189,18,154,19,253,138,158,17,140,74,252,5,169,15,249,38,252,232,14,13,91,25,252,18,231,9,27,7,252,251,154,6,24,164, +252,40,196,3,11,144,253,111,52,1,124,219,253,215,193,254,137,93,253,65,150,252,88,42,253,52,221,250,130,84,253,120,110,249,90,121,253,151,105,248,51,117,253,77,184,247,154,141,253,249,178,246,172,195,253,148,241,244,181,29,254,247,119,243,180,82,254, +32,154,243,135,193,254,233,219,244,11,126,255,217,234,245,174,244,0,122,93,246,38,248,1,71,144,246,244,243,1,219,244,246,173,163,1,224,30,248,88,2,1,164,162,249,197,45,0,66,36,251,153,245,254,237,110,252,177,121,253,25,179,253,248,85,252,56,105,254,123, +93,251,192,28,254,90,96,250,141,205,253,11,66,249,57,56,253,125,216,248,67,239,251,153,177,248,10,118,250,97,127,248,225,152,249,85,70,248,19,96,249,213,232,247,127,239,248,176,228,247,48,199,248,132,32,248,123,55,250,145,160,248,61,43,252,192,185,249, +220,3,253,136,162,251,191,213,252,13,170,253,102,203,252,90,237,254,156,245,252,203,172,255,132,54,253,42,251,255,81,107,253,229,48,0,229,20,254,5,121,0,36,80,255,70,210,0,90,165,0,200,8,1,140,159,1,203,34,1,27,216,1,78,217,0,255,246,1,16,241,255,18, +116,2,120,33,255,148,166,2,58,167,254,1,137,2,48,10,254,253,90,2,153,72,253,127,151,1,98,18,253,227,232,255,81,39,253,68,89,254,137,231,252,50,234,253,87,46,252,210,200,254,66,94,251,200,17,0,206,191,250,247,233,0,127,214,250,17,189,0,100,127,251,13, +145,0,152,133,252,46,227,0,56,27,254,131,63,1,23,248,255,123,243,0,176,197,1,190,106,0,23,224,2,82,32,0,168,34,3,131,154,255,165,6,3,62,25,255,126,118,3,159,192,254,183,115,4,216,132,254,3,250,4,12,163,254,72,54,5,59,192,254,62,82,5,29,136,254,220,32, +5,208,119,254,211,5,5,232,103,255,177,39,5,67,189,0,248,58,5,197,227,1,82,30,5,245,142,2,124,147,4,212,247,2,4,63,4,182,59,3,87,25,4,219,0,3,76,181,3,173,164,2,189,53,3,235,168,2,236,226,2,27,202,2,251,185,2,26,194,2,156,111,2,148,24,3,68,166,2,212,36, +4,126,126,2,188,34,5,248,27,2,31,17,6,9,15,2,107,23,7,119,50,2,146,90,7,77,75,2,190,229,6,246,70,2,72,179,6,187,47,2,156,204,6,169,194,1,65,42,6,159,86,1,205,19,5,120,74,1,227,129,4,148,108,1,214,60,4,114,138,1,136,93,3,170,76,1,14,13,2,75,6,1,160,103, +1,70,206,0,175,68,1,175,2,1,51,78,1,99,177,1,72,107,1,158,15,2,71,93,1,66,223,1,204,120,0,231,123,1,242,10,255,159,220,0,26,177,253,193,70,0,92,36,253,237,140,255,237,179,252,250,160,254,13,59,252,175,231,253,233,143,251,212,38,253,82,84,250,19,242,251, +14,231,248,162,1,251,114,50,248,105,116,250,244,104,248,148,48,250,246,128,248,78,232,249,53,125,248,141,175,249,163,162,248,248,125,249,45,240,248,152,163,249,48,203,248,17,254,249,88,107,248,212,64,250,37,28,249,196,87,250,183,220,250,164,149,250,215, +215,252,184,87,251,17,24,254,214,253,251,136,216,254,171,132,252,127,167,255,156,238,252,158,93,0,77,60,253,60,247,0,145,110,253,133,156,1,228,196,253,9,22,2,167,7,254,109,154,2,119,98,254,161,231,2,223,193,254,220,12,3,18,212,254,16,92,3,107,92,255, +112,233,3,240,34,0,12,28,4,251,12,1,82,51,4,123,226,1,151,52,4,34,139,2,148,30,4,76,112,3,238,243,3,78,128,4,210,20,4,32,91,5,253,78,4,204,240,5,156,39,4,149,247,6,75,52,3,15,82,8,237,56,2,130,220,8,16,173,1,88,125,8,51,84,1,188,253,7,103,41,1,163,198, +7,99,1,1,92,167,7,151,220,0,63,76,7,74,68,0,232,75,7,250,153,255,39,80,7,198,80,255,147,103,6,236,200,255,85,127,4,221,168,0,25,181,2,80,65,1,176,195,1,92,181,1,109,214,0,230,124,1,105,131,255,27,104,0,127,54,254,126,39,255,172,75,253,12,33,254,102,131, +252,24,165,253,228,15,252,159,139,253,218,179,251,162,171,253,241,163,251,210,15,254,106,179,251,50,108,254,121,140,251,143,156,254,55,47,251,179,8,255,163,125,251,242,4,0,236,91,252,135,50,1,169,106,253,246,22,2,201,168,254,251,139,2,5,139,255,208,140, +2,102,32,0,150,186,2,220,80,0,184,83,2,162,185,0,192,120,1,118,52,1,167,191,0,43,50,1,99,137,0,211,104,1,55,189,0,36,33,2,58,101,0,184,13,3,70,227,255,114,120,3,64,106,255,103,75,3,96,52,255,218,233,2,128,199,254,195,190,2,27,118,254,99,49,2,62,35,254, +244,7,1,51,246,253,84,242,254,241,205,253,198,20,253,253,79,253,65,131,252,177,81,252,220,67,252,72,41,251,179,220,251,31,135,250,228,157,251,167,194,249,196,75,252,210,6,249,255,29,253,210,134,248,195,53,253,211,207,248,32,49,253,201,156,249,5,157,253, +57,88,250,53,62,254,145,82,251,196,45,255,30,235,252,30,178,0,0,159,254,114,12,2,60,251,255,60,19,3,216,232,1,225,88,4,56,175,3,93,69,6,114,237,4,92,39,8,37,73,6,195,53,9,47,222,7,222,195,9,174,110,9,164,42,10,212,167,10,145,240,9,36,206,11,186,150,9, +129,179,12,143,35,9,69,138,13,44,112,8,38,9,14,87,64,7,7,205,13,6,6,6,206,148,12,31,79,5,73,204,10,174,206,4,77,132,9,47,121,4,207,137,8,212,29,4,236,183,7,165,185,3,63,209,6,52,254,2,239,38,6,104,168,1,140,121,5,232,80,0,38,176,4,74,69,255,49,162,3, +174,85,254,81,120,2,239,58,253,121,229,0,158,6,252,242,150,254,7,126,251,107,3,252,193,116,251,188,221,249,254,226,251,126,46,248,229,149,252,141,86,246,155,86,253,80,191,244,99,213,253,22,176,243,23,10,254,153,246,242,102,182,253,250,104,242,228,3,253, +71,60,242,241,153,252,186,200,242,209,79,252,188,212,243,105,238,251,81,65,245,13,186,251,105,234,246,101,253,251,12,91,248,43,43,252,171,177,249,161,229,251,165,229,250,57,122,251,30,42,252,80,39,251,76,122,253,124,52,251,33,235,254,147,91,251,144,142, +0,185,93,251,118,183,1,74,113,251,125,62,2,58,201,251,66,94,2,228,21,252,122,26,2,63,117,252,23,52,1,100,36,253,120,93,0,53,3,254,223,1,0,100,158,254,95,162,255,74,6,255,67,77,255,63,146,255,98,5,255,248,55,0,113,234,254,61,248,0,201,236,254,28,156,1, +190,252,254,89,8,2,33,239,254,242,97,2,189,175,254,231,235,2,8,123,254,138,108,3,159,60,254,245,44,4,42,22,254,45,111,4,232,243,253,11,72,4,145,54,254,224,84,4,75,161,254,160,196,4,220,119,254,6,219,4,228,12,254,62,143,4,60,137,254,181,156,4,218,81,255, +236,7,5,149,139,255,39,230,4,173,80,255,145,178,3,208,109,255,172,147,2,0,214,255,243,38,2,79,116,0,53,217,1,98,184,0,48,49,1,13,206,0,36,55,0,69,10,1,232,25,255,163,76,1,162,95,254,142,114,1,206,161,253,189,206,1,175,241,252,242,108,2,181,234,252,218, +49,3,38,231,252,231,57,3,181,108,252,40,147,2,97,148,251,21,26,2,91,224,250,77,23,2,53,157,250,220,195,2,190,224,249,49,221,3,30,65,249,148,16,5,215,106,249,128,123,5,38,78,250,199,219,4,87,247,250,135,207,3,193,53,251,124,172,2,76,188,251,145,87,1,113, +239,252,238,222,255,183,242,253,87,159,254,246,232,254,127,193,253,18,1,0,117,36,253,222,90,1,47,157,252,252,203,2,103,166,251,47,5,4,115,34,251,248,137,4,92,249,250,172,52,5,239,22,251,55,67,6,98,254,250,184,85,7,128,239,250,135,225,7,41,237,250,193, +240,7,170,216,250,230,41,8,99,120,251,16,86,8,102,146,252,141,80,8,93,233,253,45,71,8,30,81,255,237,186,7,170,20,1,232,144,6,12,182,2,11,127,5,80,96,3,124,70,5,70,65,3,60,66,5,152,210,2,41,0,5,84,93,2,47,255,3,254,175,1,66,18,3,7,209,0,190,136,2,142, +0,0,135,220,1,18,142,255,132,198,0,214,41,0,177,42,255,3,104,1,137,95,253,109,150,2,178,155,251,170,126,3,41,169,249,66,78,4,240,250,247,157,45,5,186,23,247,154,70,5,186,29,247,236,217,4,29,134,247,17,17,4,154,65,248,220,254,2,86,121,249,219,191,1,144, +252,250,92,132,0,157,65,252,46,121,255,0,239,252,203,252,254,3,64,253,189,185,254,47,203,253,131,99,254,178,56,254,35,13,254,237,144,254,105,164,253,161,12,255,175,49,253,108,230,255,188,195,252,3,225,0,145,15,252,182,123,1,64,85,251,111,177,1,15,225, +250,18,243,1,192,243,250,81,241,1,115,34,251,115,144,1,57,15,251,152,138,1,49,126,250,79,225,1,150,217,249,4,85,2,219,224,249,97,19,3,142,188,250,30,93,3,195,78,251,46,60,3,148,236,251,83,135,2,112,57,252,192,223,1,58,76,252,117,107,1,56,255,251,131, +62,1,80,249,251,5,44,1,235,96,252,98,232,0,235,27,253,108,27,0,106,225,253,124,75,255,82,166,254,37,205,254,218,26,255,147,181,254,123,64,255,142,64,255,52,104,255,12,254,255,68,148,255,203,162,0,95,225,255,228,160,0,61,133,0,17,245,0,121,36,1,224,238, +1,10,166,1,114,191,2,242,108,2,143,221,2,252,7,3,6,109,2,182,122,3,190,209,1,171,197,3,12,59,1,25,235,3,92,115,0,94,118,3,40,44,255,141,25,3,215,131,253,191,224,2,0,109,252,50,178,2,14,200,251,38,7,2,54,37,251,174,60,1,231,69,250,186,192,0,231,134,249, +142,128,0,134,107,249,28,51,0,238,149,249,61,196,255,27,224,249,181,34,255,42,112,250,201,187,253,189,74,251,254,46,252,140,72,252,245,15,251,15,125,253,111,120,250,52,164,254,153,243,249,64,164,255,158,110,249,80,64,0,91,196,248,138,254,0,155,145,248, +94,253,1,29,196,248,154,24,3,80,74,249,144,170,3,21,108,250,33,184,3,58,212,251,246,245,3,92,93,253,32,95,4,83,180,254,242,138,4,250,19,0,179,73,4,220,89,1,212,23,4,147,89,2,196,62,4,212,54,3,121,239,4,194,49,4,207,213,5,118,17,5,51,13,6,255,196,5,47, +115,5,13,89,6,39,234,3,101,154,6,179,231,1,118,82,6,122,37,0,224,203,5,85,132,254,69,167,4,82,242,252,144,175,3,150,117,251,231,181,2,91,165,250,69,195,1,76,139,250,146,34,1,215,94,250,121,99,0,204,51,250,189,51,255,207,146,250,202,134,253,207,193,251, +185,169,251,32,51,253,122,240,249,211,132,254,86,150,248,68,137,255,228,15,248,118,58,0,110,134,248,139,85,0,174,142,249,83,88,0,241,182,250,180,58,0,247,108,251,199,187,255,98,55,251,252,40,255,37,195,250,85,191,254,97,173,250,147,191,254,251,26,251, +13,30,255,198,102,252,5,190,255,239,250,253,73,187,255,78,252,255,2,107,255,66,29,2,221,163,255,160,217,3,152,30,0,162,223,4,117,178,0,56,33,5,121,21,1,144,31,5,63,197,1,139,38,6,170,3,2,132,208,7,40,81,2,51,120,9,5,26,3,116,199,10,251,238,3,179,203, +11,192,195,4,196,243,11,234,109,5,36,17,11,167,254,5,141,209,9,160,44,6,109,149,8,98,52,6,193,127,7,107,81,6,122,63,6,11,64,6,204,7,5,46,34,6,149,101,3,81,138,5,159,42,1,255,142,4,249,222,253,174,157,3,183,234,249,195,125,2,111,241,245,253,30,1,108,239, +242,235,177,255,229,152,240,241,127,254,216,241,238,80,151,253,68,7,238,190,74,252,70,157,237,245,148,250,161,138,237,47,113,249,237,71,238,122,117,248,231,243,239,38,102,247,178,14,242,155,34,246,89,88,244,111,41,245,39,129,246,147,222,244,155,155,248, +229,225,244,196,37,250,218,119,245,56,129,251,253,81,246,246,68,253,14,118,247,188,163,255,73,194,248,101,72,2,9,227,249,66,5,5,245,201,250,156,196,7,90,9,252,111,210,10,146,248,253,178,167,13,168,66,0,83,195,15,84,139,2,85,199,16,251,232,4,69,175,16, +110,164,7,234,211,15,93,212,9,90,84,14,253,115,11,109,109,12,193,129,12,226,59,10,52,22,13,173,175,7,157,76,13,116,7,5,82,137,13,99,247,1,8,86,13,97,135,254,67,186,11,123,112,251,119,47,9,65,188,248,63,133,6,45,195,246,74,161,3,175,206,244,59,102,0,211, +86,242,208,61,253,98,234,239,153,155,250,48,59,238,148,76,248,149,79,237,169,170,246,6,23,237,217,101,245,60,193,236,39,211,243,161,81,236,207,35,242,124,81,236,68,104,240,243,214,236,135,38,239,109,236,237,115,29,238,178,156,239,188,82,237,63,238,241, +158,32,237,145,213,244,18,71,237,62,231,247,224,190,237,4,241,250,166,100,238,88,112,253,215,202,239,118,89,255,229,66,242,202,33,1,125,65,245,84,154,2,36,192,248,109,77,3,253,196,252,71,73,3,129,40,1,95,69,3,79,63,5,60,215,3,59,142,8,212,26,5,201,221, +10,249,79,6,188,138,12,245,228,6,189,75,14,30,253,6,223,212,15,119,145,6,15,181,16,95,104,5,95,231,16,158,63,4,196,184,16,142,212,3,161,78,16,175,174,3,228,201,14,168,43,3,90,164,12,152,206,2,107,96,10,224,237,2,123,227,7,96,134,3,45,97,5,104,17,4,61, +27,3,250,172,4,107,5,1,193,21,5,213,22,255,136,18,5,93,100,253,197,2,5,230,234,251,196,53,5,187,1,251,170,106,5,21,38,250,89,48,5,56,77,249,8,49,5,148,251,248,177,109,5,171,176,248,131,96,5,152,108,248,43,21,5,48,133,248,56,226,4,196,105,249,143,17,5, +45,89,250,110,10,5,180,171,251,202,188,4,172,136,253,81,41,4,140,109,255,127,70,3,225,4,1,121,221,1,228,146,2,178,51,0,81,93,4,227,122,254,87,5,6,50,183,252,208,79,7,58,27,251,19,0,8,157,216,249,89,11,8,249,20,249,27,80,7,24,91,248,43,252,5,125,111,247, +34,253,3,202,194,246,236,230,1,143,175,246,210,122,255,58,132,246,87,227,252,12,56,246,136,119,250,80,41,246,72,127,248,235,95,246,88,43,247,231,122,246,208,131,246,12,115,246,77,199,245,248,233,245,45,11,245,159,28,245,10,37,245,132,209,244,98,224,245, +160,103,245,92,83,247,140,13,247,20,217,248,199,83,249,143,254,249,195,210,251,93,248,250,32,243,253,76,255,251,214,226,255,56,35,253,62,255,1,0,95,254,119,39,4,71,35,0,143,135,6,19,54,2,196,145,8,171,182,4,92,91,10,90,88,7,35,135,11,6,161,9,6,22,12, +98,179,11,136,125,12,138,77,13,12,202,12,31,174,14,72,178,12,79,213,15,232,160,12,16,67,16,228,171,12,3,197,15,21,50,12,17,97,14,134,3,11,194,78,12,134,82,9,239,237,9,61,240,7,18,118,7,162,213,5,171,111,5,145,65,3,101,171,3,25,139,0,117,229,1,206,101, +254,156,200,255,149,234,252,13,229,253,75,187,251,204,92,252,100,8,251,200,60,251,32,204,250,52,212,250,99,189,250,125,70,250,66,182,250,253,232,249,48,244,250,69,14,250,218,131,251,238,196,250,72,33,252,168,181,251,171,212,252,189,129,252,88,114,253, +148,18,253,126,187,253,10,140,253,186,80,254,210,6,254,20,162,255,22,124,254,95,81,1,18,206,254,162,119,2,236,69,255,191,88,3,199,191,255,189,56,4,243,3,0,32,238,4,97,161,0,116,5,5,14,193,1,137,219,4,103,205,2,202,247,4,18,95,3,145,181,4,60,206,3,92, +163,3,192,134,4,132,134,2,35,62,5,79,169,1,187,208,5,158,30,1,58,26,6,248,188,0,49,1,6,255,8,0,228,114,5,209,123,255,73,194,4,194,34,255,62,147,4,116,2,255,204,16,4,22,196,254,203,142,2,141,12,254,115,97,0,15,16,253,200,160,254,95,11,252,160,22,253,37, +65,251,0,127,251,116,245,250,93,61,250,102,30,251,148,178,249,226,148,251,86,188,249,177,16,252,71,231,249,223,39,252,135,182,249,112,53,252,50,141,249,91,213,252,101,13,250,78,8,254,143,254,250,0,218,255,231,244,251,142,49,1,91,7,253,131,189,1,127,54, +254,85,109,1,140,162,255,160,109,1,77,213,0,206,128,1,239,195,1,229,169,1,29,158,2,163,5,2,167,24,3,133,144,2,148,76,3,245,197,2,234,129,3,139,135,2,248,149,3,233,81,2,49,157,3,153,96,2,240,252,3,7,69,2,172,64,4,178,163,1,68,28,4,219,142,0,106,166,3, +247,196,254,51,252,2,79,26,253,100,248,1,221,149,251,95,204,0,161,134,250,18,200,255,155,202,249,90,243,254,90,113,249,101,103,254,0,150,249,172,193,253,65,168,249,99,34,253,157,88,250,183,252,252,244,72,251,127,56,253,63,2,252,179,1,254,48,29,253,254, +1,255,148,15,255,164,164,255,239,23,1,216,239,255,86,227,2,245,23,0,149,32,4,231,62,0,27,253,4,166,103,0,120,169,5,73,55,0,114,229,5,81,127,0,28,44,6,32,68,1,179,60,6,160,21,2,72,246,5,57,180,2,163,95,5,16,71,3,213,111,4,97,200,3,12,109,3,25,94,4,42, +33,3,1,165,4,194,252,2,7,95,4,211,113,2,84,56,4,49,184,1,122,11,4,241,45,1,216,4,4,159,168,0,44,164,3,47,188,255,33,125,2,62,155,254,162,248,0,12,110,253,27,170,255,6,58,252,187,22,254,95,21,251,245,193,252,94,200,250,160,95,251,170,159,250,116,98,250, +188,77,250,156,85,249,159,181,249,97,117,248,140,178,249,140,185,247,88,221,249,29,14,247,52,233,249,217,97,246,222,51,250,56,239,245,220,216,250,239,65,246,111,179,251,237,27,247,147,216,252,6,20,248,54,209,253,14,94,249,236,86,254,15,210,250,199,214, +254,35,34,252,171,174,255,46,122,253,54,179,0,59,240,254,228,165,1,0,189,0,249,119,2,236,165,2,108,205,2,17,69,4,33,205,2,137,9,5,148,174,2,128,114,5,22,154,2,189,222,5,167,230,2,14,90,6,25,48,3,231,199,6,89,131,3,166,230,6,139,184,3,246,99,6,190,139, +3,165,232,5,78,210,2,129,0,5,153,167,1,83,239,3,160,243,0,21,60,3,233,162,0,47,72,3,9,113,0,71,186,3,188,226,255,238,234,3,131,32,255,192,142,3,93,93,254,87,35,3,238,124,253,134,7,3,245,135,252,144,44,3,195,11,252,173,76,3,91,101,252,178,69,3,241,22, +253,18,99,3,6,231,253,144,46,3,61,147,254,147,206,2,153,252,254,214,136,1,177,51,255,7,82,0,133,168,255,25,150,255,180,193,0,78,50,255,165,80,2,105,204,254,155,155,3,183,41,254,143,232,3,104,208,253,157,120,3,172,193,253,180,238,2,184,189,253,81,61,2, +132,173,253,226,145,1,55,220,253,232,140,1,92,204,253,193,185,1,128,68,253,46,156,1,29,92,252,177,31,1,193,116,251,254,122,0,181,254,250,210,249,255,40,157,250,97,251,255,232,132,250,130,132,0,203,159,250,131,4,1,89,9,251,142,51,1,203,214,251,232,83, +1,106,33,253,246,221,1,104,72,254,101,72,2,239,97,255,122,20,3,69,139,0,248,79,4,235,157,1,177,105,5,102,130,2,251,93,6,21,60,3,28,111,6,87,25,4,136,67,6,175,21,5,68,212,5,14,86,6,202,48,5,188,5,8,119,47,4,153,198,9,98,95,3,191,60,11,31,244,2,247,49, +12,49,113,2,105,184,12,156,120,2,195,212,12,190,15,3,52,152,12,25,44,4,18,137,11,75,32,5,51,40,10,227,113,5,115,194,8,76,44,5,126,19,7,226,174,4,219,223,4,189,190,3,217,160,2,6,246,2,251,207,0,20,73,2,68,137,255,112,70,1,111,16,254,153,55,0,242,157,252, +242,16,255,114,68,251,207,182,253,241,104,250,218,117,252,33,215,249,246,96,251,16,114,249,51,93,250,79,63,249,66,121,249,126,157,249,136,81,249,229,45,250,255,204,249,77,151,250,206,198,250,116,224,250,142,178,251,155,248,250,12,234,252,172,93,251,114, +120,254,215,212,251,209,115,255,163,52,252,96,113,255,88,117,252,123,15,255,64,54,253,79,6,255,162,148,254,65,118,255,248,242,255,99,149,255,97,224,0,236,80,255,80,44,1,137,92,255,16,158,1,68,152,255,8,7,2,177,112,255,208,9,2,23,74,255,196,210,1,206, +87,255,141,28,2,39,169,255,232,56,2,66,248,255,66,24,2,35,60,0,116,219,1,137,137,0,66,36,1,243,14,0,189,20,0,146,174,255,164,227,254,164,167,255,231,167,253,85,66,255,106,171,252,102,128,254,127,3,252,246,68,254,56,236,251,86,143,254,57,248,251,28,77, +254,23,26,252,0,110,253,180,167,252,153,207,252,235,148,253,47,153,252,74,85,254,100,61,252,196,177,254,158,153,251,253,107,255,28,166,251,19,74,0,74,246,251,184,220,0,15,223,251,3,231,0,39,211,251,41,166,0,201,6,252,148,177,0,142,99,252,102,209,0,78, +154,252,176,14,1,117,32,253,187,55,1,245,186,253,167,38,1,75,234,253,16,30,1,189,252,253,82,5,1,104,79,254,42,178,0,35,129,255,177,28,0,201,216,0,196,222,255,167,43,2,41,241,255,19,57,3,199,193,255,86,30,4,185,254,254,61,75,5,178,119,254,111,128,6,248, +67,254,53,164,7,238,233,253,89,81,8,249,99,253,190,213,8,12,103,253,55,48,9,23,201,253,212,49,9,193,25,254,102,140,8,230,141,254,251,211,7,120,35,255,34,41,7,30,198,255,73,128,6,177,99,0,188,158,5,109,94,1,126,111,4,57,119,2,94,240,2,218,91,3,142,177, +1,149,88,4,122,42,1,165,45,5,83,213,0,96,107,5,157,85,0,157,156,5,11,206,255,153,173,5,161,13,255,148,131,5,88,45,254,240,106,5,229,91,253,23,66,5,199,238,252,198,62,5,46,149,252,58,239,4,6,247,251,79,6,4,220,88,251,46,64,3,96,90,251,180,164,2,92,107, +251,63,116,2,165,103,251,130,105,2,240,158,251,228,79,2,192,46,252,187,244,1,195,196,252,97,155,1,45,123,253,10,33,1,211,151,254,219,135,0,218,148,255,125,69,0,214,98,0,245,90,0,96,30,1,163,71,0,58,26,2,237,67,0,153,216,2,11,250,255,55,96,3,20,161,255, +198,219,3,139,91,255,62,95,4,180,68,255,51,174,4,79,198,254,6,100,4,222,128,254,169,179,3,211,140,254,214,68,3,122,132,254,55,226,2,58,165,254,24,180,2,187,18,255,179,226,2,29,123,255,239,5,3,132,151,255,16,226,2,69,147,255,128,94,2,180,129,255,137,253, +1,206,78,255,130,240,1,36,201,254,20,10,2,23,12,254,47,91,2,92,147,253,64,133,2,21,69,253,177,88,2,30,222,252,50,202,1,76,241,252,139,80,1,130,153,253,96,225,0,104,192,254,221,105,0,34,236,255,68,207,255,229,44,1,3,57,255,80,97,2,59,194,254,180,91,3, +85,78,254,69,231,3,145,247,253,60,202,3,211,220,253,155,93,3,64,187,253,219,241,2,196,76,253,43,40,2,169,255,252,118,245,0,246,145,252,69,208,255,14,71,252,131,214,254,48,171,251,36,14,254,142,180,250,86,150,253,218,208,249,245,252,252,63,36,249,101, +58,252,137,32,248,185,154,251,184,10,247,21,18,251,176,190,246,78,165,250,215,143,247,21,93,250,201,168,248,160,111,250,36,205,249,196,160,250,80,253,250,58,207,250,172,88,252,216,234,250,80,26,254,136,109,251,248,253,255,204,23,252,47,168,1,124,227, +252,157,199,2,16,143,253,182,120,3,173,67,254,200,229,3,132,226,254,169,39,4,81,137,255,160,81,4,172,181,255,126,111,4,196,224,255,142,212,4,222,41,0,229,19,5,201,150,0,47,8,5,176,209,0,203,190,4,119,253,0,243,94,4,191,93,1,53,206,3,139,126,2,175,247, +2,137,220,3,198,235,1,245,231,4,191,43,1,61,127,5,162,143,0,173,194,5,226,92,0,222,119,5,144,87,0,87,23,5,183,162,0,90,185,4,183,219,0,182,164,4,9,32,1,190,179,4,187,66,1,140,185,4,12,60,1,98,139,4,170,81,1,169,38,4,207,203,1,52,183,3,201,72,2,117,22, +3,173,111,2,88,110,2,47,160,2,25,248,1,151,196,2,193,245,1,105,234,2,205,38,2,93,179,2,209,13,2,13,127,2,116,99,1,197,162,2,14,85,0,255,242,2,28,56,255,137,245,2,201,38,254,65,210,2,132,108,253,57,189,2,194,106,253,6,175,2,176,174,253,102,78,2,53,192, +253,47,97,1,179,137,253,129,120,0,120,57,253,229,197,255,254,19,253,195,105,255,252,251,252,220,237,254,224,219,252,74,159,254,104,149,252,93,36,254,218,163,252,176,57,253,168,163,252,27,24,252,192,88,252,237,134,251,107,2,252,124,69,251,86,156,252,235, +45,251,78,131,253,55,119,251,151,36,254,83,214,251,78,245,254,214,138,252,246,33,0,104,89,253,232,72,1,169,103,254,111,94,2,191,185,255,253,73,3,208,95,1,252,252,3,209,20,3,189,167,4,78,125,4,145,89,5,80,141,5,23,247,5,237,144,6,5,53,6,182,5,8,209,36, +6,143,107,9,80,246,5,14,63,10,253,234,5,74,94,10,186,127,5,11,27,10,35,190,4,18,40,9,83,245,3,13,201,7,131,34,3,246,37,6,151,69,2,154,200,4,248,45,1,70,65,3,192,255,255,86,52,1,234,55,255,147,119,255,179,190,254,121,255,253,224,207,254,164,144,252,12, +144,255,201,81,251,229,111,0,179,174,250,160,175,0,193,194,250,240,101,0,177,223,250,170,90,0,233,222,250,214,87,0,176,219,250,11,189,255,62,197,250,28,245,254,25,148,250,186,77,254,120,29,250,111,18,254,61,201,249,217,13,254,175,16,250,157,33,254,2, +221,250,241,68,254,62,189,251,87,91,254,221,141,252,217,192,254,213,120,253,30,139,255,89,116,254,231,70,0,160,194,255,211,177,0,95,81,1,23,238,0,42,226,2,223,116,0,204,82,4,77,227,255,180,74,5,41,52,255,232,220,5,146,250,253,208,236,5,252,131,252,189, +113,5,5,49,251,59,73,4,74,121,250,173,174,2,52,31,250,33,26,1,209,172,249,111,133,255,98,60,249,43,223,253,217,2,249,97,31,252,143,142,248,111,71,250,218,77,248,248,8,249,144,89,248,201,44,248,125,208,248,173,156,247,28,108,249,78,78,247,187,62,250,28, +74,247,51,5,251,70,69,247,153,149,251,169,51,247,99,38,252,138,172,247,190,1,253,252,241,248,35,12,254,13,85,250,241,64,255,102,144,251,247,106,0,142,227,252,57,64,1,200,108,254,84,216,1,135,131,255,158,133,2,58,44,0,135,17,3,234,231,0,167,87,3,246,164, +1,145,40,4,145,132,2,179,128,5,88,117,3,109,162,6,15,133,4,81,4,7,203,123,5,152,76,7,247,59,6,74,56,7,181,206,6,87,192,6,54,231,7,241,108,6,94,52,9,78,106,6,202,63,10,30,116,6,35,143,10,77,35,6,125,41,10,239,220,5,179,93,9,79,187,5,81,119,8,211,123,5, +166,170,7,19,81,5,29,184,6,137,23,5,168,208,5,93,209,4,191,5,5,42,77,4,103,212,3,57,105,3,180,47,2,108,72,2,93,136,0,179,40,1,37,86,255,27,223,255,194,101,254,30,202,254,202,195,253,252,247,253,111,39,253,241,82,253,52,142,252,215,200,252,243,50,252, +127,135,252,197,94,252,177,129,252,169,251,252,49,48,252,179,215,253,250,251,251,174,29,255,246,10,252,127,104,0,217,33,252,93,65,1,89,68,252,60,170,1,98,26,253,1,200,1,27,50,254,138,137,1,85,252,254,25,7,1,245,94,255,60,60,0,192,247,255,161,143,255, +69,135,0,194,227,254,159,157,0,153,130,254,93,127,0,91,69,254,222,47,0,155,34,254,73,183,255,198,212,253,220,90,255,136,100,253,96,167,255,157,58,253,44,72,0,174,163,253,78,162,0,42,91,254,57,208,0,195,113,254,39,140,1,40,201,253,86,96,2,86,37,253,93, +225,2,109,19,253,101,53,3,202,75,253,178,128,3,46,129,253,41,199,3,34,64,254,8,184,3,23,194,255,102,124,3,36,58,1,103,8,3,90,21,2,183,137,2,48,158,2,67,38,2,88,58,3,102,203,1,250,235,3,0,126,1,223,85,4,186,242,0,5,90,4,168,129,0,248,85,4,251,24,0,249, +32,4,187,197,255,172,89,3,138,89,255,255,240,1,139,34,255,137,206,0,242,72,255,61,133,0,198,183,255,57,152,0,8,23,0,193,203,0,107,141,0,42,252,0,138,201,0,122,239,0,252,85,0,139,153,0,163,148,255,234,107,0,59,47,255,73,70,0,86,193,254,118,14,0,214,52, +254,167,252,255,94,165,253,24,143,255,22,10,253,24,92,254,208,63,252,6,241,252,136,245,250,224,181,251,184,231,249,208,27,251,43,136,249,115,233,250,32,144,249,37,132,250,206,201,249,184,181,249,157,16,250,228,194,248,7,79,250,33,191,247,165,100,250, +118,238,246,61,182,250,234,83,246,30,102,251,124,44,246,84,215,251,225,180,246,131,43,252,94,173,247,250,241,252,254,3,249,130,212,253,190,105,250,24,146,254,235,234,251,192,196,254,235,82,253,75,83,255,94,229,254,72,171,255,8,223,0,69,210,255,7,189, +2,207,21,0,80,228,3,194,141,0,202,60,4,236,244,0,8,57,4,131,62,1,118,31,4,47,159,1,72,69,4,102,73,2,37,158,4,129,213,2,92,15,5,168,91,3,127,52,5,98,212,3,161,215,4,15,250,3,148,87,4,228,128,3,118,37,4,241,211,2,60,14,4,137,41,2,181,171,3,107,64,1,180, +242,2,95,31,0,191,37,2,175,217,254,163,19,1,198,4,254,145,166,255,12,34,253,204,12,254,247,22,252,106,182,252,16,157,251,135,167,251,140,82,251,163,146,250,69,57,251,0,150,249,224,107,251,193,216,248,72,152,251,190,182,248,76,188,251,238,38,249,21,10, +252,220,163,249,215,135,252,162,14,250,152,119,253,24,130,250,166,121,254,22,41,251,87,134,255,167,243,251,21,216,0,90,215,252,69,48,2,7,188,253,216,207,2,70,174,254,14,195,2,153,175,255,163,118,2,92,242,0,161,226,1,7,124,2,89,75,1,53,66,4,232,137,0, +186,134,5,200,205,255,130,17,6,187,18,255,104,255,5,66,192,254,208,116,5,48,138,254,118,224,4,55,196,254,193,96,4,175,83,255,32,181,3,126,28,0,4,218,2,179,172,0,226,11,2,15,26,1,249,119,1,81,253,0,212,13,1,21,155,0,207,150,0,59,37,0,11,7,0,110,236,255, +89,102,255,193,198,255,113,226,254,191,111,255,241,14,254,202,40,255,183,200,252,208,230,254,141,162,251,20,159,254,243,196,250,30,141,254,58,159,250,122,126,254,119,208,250,118,210,254,246,29,251,246,106,255,204,117,251,169,74,0,152,14,252,220,74,1, +84,214,252,127,75,2,24,171,253,124,35,3,56,101,254,76,114,3,167,73,255,211,151,3,79,197,255,250,31,4,115,110,0,86,7,5,184,95,1,24,133,5,154,102,2,135,119,5,108,2,3,52,43,5,141,19,3,190,238,4,143,242,2,94,156,4,244,118,3,83,247,3,86,93,4,203,132,3,105, +15,5,39,124,3,141,64,5,99,216,3,17,78,5,31,93,4,66,70,5,152,232,4,34,248,4,244,20,5,24,152,4,140,234,4,11,83,4,42,205,4,191,137,4,127,112,4,59,122,5,140,185,3,20,222,6,141,71,3,111,244,7,194,103,3,153,91,8,218,154,3,184,228,7,36,149,3,125,201,6,173,84, +3,106,218,5,216,150,2,237,87,5,161,169,1,241,5,5,157,204,0,128,194,4,165,38,0,125,50,4,141,178,255,196,130,3,84,246,254,110,95,2,112,219,253,235,180,0,57,238,252,251,39,255,44,59,252,112,236,253,44,185,251,45,62,253,201,72,251,65,207,252,225,255,250, +40,87,252,84,217,250,90,91,251,150,3,251,181,82,250,36,46,251,80,145,249,102,84,251,183,108,249,4,157,251,94,145,249,5,232,251,143,9,250,220,124,252,193,139,250,205,151,253,140,34,251,177,237,254,136,183,251,197,230,255,76,201,252,115,160,0,211,21,254, +138,191,1,159,121,255,25,100,3,91,244,0,59,241,4,87,172,2,155,2,6,115,68,4,248,237,6,67,82,5,6,177,7,165,48,6,130,104,8,234,238,6,79,216,8,58,90,7,162,235,8,111,189,7,254,218,8,250,6,8,240,202,8,62,61,8,52,66,8,105,48,8,135,233,6,117,119,7,193,12,5,134, +53,6,100,41,3,88,229,4,60,43,1,160,16,4,19,216,254,80,33,3,128,206,252,145,77,1,86,40,251,69,225,254,115,171,249,149,181,252,150,29,248,58,165,250,180,225,246,126,172,248,208,7,246,48,231,246,110,94,245,62,243,245,20,147,244,136,174,245,79,241,243,75, +190,245,27,97,243,114,9,246,126,32,243,82,128,246,17,127,243,113,194,246,225,128,244,180,232,246,132,186,245,211,30,247,93,229,246,90,13,247,245,164,248,166,216,246,186,241,250,111,160,246,4,86,253,34,211,246,204,119,255,33,187,247,155,176,1,72,57,249, +40,55,4,99,6,251,219,136,6,104,166,252,223,235,7,74,29,254,50,237,8,176,228,255,44,161,9,146,221,1,165,192,9,115,255,3,128,80,9,140,184,5,4,218,8,80,196,6,54,33,8,213,73,7,4,41,7,250,130,7,228,234,5,108,216,7,231,154,4,135,41,8,157,178,3,218,58,8,13, +173,2,4,170,7,247,153,1,189,164,6,235,116,0,102,176,5,251,87,255,129,129,5,246,120,254,137,150,5,8,106,254,104,196,5,247,126,254,222,193,5,79,194,254,242,196,5,38,89,255,23,132,5,66,111,0,96,242,4,51,136,1,253,74,4,105,103,2,233,250,3,251,248,2,45,248, +3,121,66,3,14,184,3,36,147,3,193,244,2,56,20,4,225,5,2,166,248,4,245,152,1,144,207,5,192,55,1,226,92,6,255,191,0,130,116,6,251,98,0,147,44,6,79,250,255,212,204,5,208,109,255,70,36,5,148,210,254,169,97,4,224,90,254,187,94,3,212,230,253,137,51,2,136,102, +253,117,235,0,190,14,253,78,105,255,186,230,252,218,82,254,155,227,252,197,16,253,104,227,252,141,161,251,200,181,252,138,17,250,104,34,252,163,151,248,138,83,251,162,94,247,32,149,250,117,156,246,222,53,250,29,95,246,250,85,250,95,119,246,191,172,250, +150,240,246,133,228,250,216,73,247,9,234,250,234,121,247,186,0,251,200,228,247,1,79,251,205,201,248,73,104,252,4,242,249,217,18,254,63,133,251,117,195,255,181,157,253,229,242,0,8,163,255,142,179,1,235,39,1,5,51,2,230,101,2,150,125,2,95,241,3,251,192, +2,234,109,5,174,38,3,191,167,6,133,124,3,145,197,7,111,229,3,24,174,8,86,91,4,187,95,9,219,224,4,11,144,9,55,15,5,200,111,9,161,79,5,45,110,9,51,160,5,205,33,9,252,176,5,200,235,8,76,101,5,167,96,8,152,247,4,156,179,7,254,19,4,65,226,6,251,194,2,38,214, +5,90,92,1,179,136,4,189,159,0,28,79,3,161,66,0,49,33,2,213,220,255,246,216,0,142,136,255,214,160,255,67,130,255,110,67,254,242,199,255,32,51,253,177,100,0,21,73,252,173,251,0,102,80,251,206,75,1,248,180,250,148,172,1,113,137,250,204,108,1,101,145,250, +146,168,0,171,209,250,113,27,0,185,164,250,76,98,0,73,176,250,81,71,1,119,203,250,132,207,1,74,178,250,63,9,2,160,174,250,45,16,2,11,50,251,178,29,2,219,114,252,162,253,1,73,75,253,151,143,1,135,65,254,132,71,1,251,154,255,187,13,1,183,21,1,147,241,0, +252,4,2,221,231,0,223,159,2,68,191,0,164,114,3,65,45,0,178,126,4,130,203,255,87,82,5,4,195,255,169,16,6,192,136,255,71,219,6,236,72,255,115,214,7,230,75,255,236,34,9,20,227,255,23,77,10,67,187,0,142,200,10,193,122,1,131,210,10,227,15,2,214,170,10,117, +163,2,109,193,9,232,2,3,130,240,7,201,58,3,17,187,5,227,133,3,52,124,3,229,214,3,107,70,1,161,32,4,162,18,255,112,237,3,7,47,253,133,134,3,1,131,251,74,170,2,201,78,250,181,136,1,215,51,249,32,213,0,225,25,248,44,83,0,45,48,247,26,226,255,141,75,246, +155,81,255,89,195,245,157,174,254,3,18,245,152,189,253,241,166,244,55,170,252,113,201,244,144,137,251,5,46,245,60,244,250,151,0,246,107,147,250,48,76,247,152,178,249,118,207,248,205,204,248,15,230,249,229,78,248,146,217,250,231,43,248,183,10,252,70,49, +248,132,114,253,12,156,248,140,180,254,95,163,249,58,220,255,106,208,250,41,227,0,232,198,251,227,207,1,23,102,252,213,179,2,157,198,252,111,155,3,58,3,253,23,133,4,139,124,253,151,157,5,99,149,254,2,157,6,49,9,0,146,89,7,118,189,1,99,111,7,51,3,3,74, +188,6,184,142,3,85,178,5,85,150,3,108,227,4,191,208,3,121,245,3,86,223,3,23,216,2,124,164,3,228,215,1,239,7,3,121,21,1,54,106,2,252,95,0,219,4,2,3,115,255,144,197,1,252,113,254,122,227,1,19,31,254,36,48,2,167,74,254,240,27,2,1,101,254,101,143,1,201,40, +254,56,0,1,76,174,253,7,152,0,31,98,253,130,205,255,32,45,253,15,191,254,102,255,252,184,198,253,246,197,252,48,29,253,220,246,252,9,153,252,39,113,253,120,133,252,136,146,253,157,135,252,90,121,253,244,125,252,24,16,254,60,161,252,84,112,255,39,197, +252,87,187,0,190,215,252,198,157,1,231,123,252,163,120,2,232,131,252,247,76,3,220,7,253,253,254,3,129,209,253,89,100,4,33,241,254,255,81,4,225,13,0,251,43,4,145,22,1,62,224,3,176,11,2,50,106,3,49,99,3,32,180,2,50,32,5,99,175,1,165,109,6,16,164,0,220, +25,7,234,118,255,204,54,7,248,73,254,197,238,6,126,176,253,6,135,6,181,102,253,219,23,6,220,187,252,61,138,5,13,253,251,24,156,4,136,103,251,132,116,3,51,196,250,121,85,2,44,81,250,172,164,1,104,108,250,13,145,0,122,172,250,239,41,255,40,27,251,15,201, +253,8,79,251,228,148,252,66,33,251,92,111,251,83,16,251,79,255,249,146,22,251,55,151,248,196,79,251,142,94,247,103,145,251,39,129,246,207,193,251,47,223,245,4,25,252,99,123,245,231,234,252,165,98,245,112,215,253,105,183,245,142,139,254,111,101,246,31, +74,255,9,77,247,133,33,0,23,87,248,119,198,0,172,246,249,254,97,1,122,228,251,237,244,1,189,189,253,186,163,2,25,151,255,128,12,3,241,106,1,227,124,3,210,93,3,3,65,4,216,206,4,208,229,4,155,147,5,214,102,5,89,99,6,230,193,5,61,4,7,112,72,6,188,138,7, +48,176,6,54,227,7,183,148,6,38,199,7,157,20,6,179,170,7,54,61,5,165,160,7,151,161,4,55,60,7,221,255,3,33,100,6,172,11,3,114,166,5,4,219,1,12,219,4,68,125,0,249,227,3,224,73,255,74,172,2,221,244,253,239,153,1,242,157,252,44,144,0,135,93,251,114,102,255, +164,149,250,217,81,254,102,84,250,17,95,253,241,161,250,246,149,252,226,15,251,211,240,251,237,56,251,62,126,251,141,33,251,219,74,251,21,81,251,180,52,251,10,227,251,44,137,251,209,207,252,191,87,252,45,175,253,99,94,253,31,214,254,209,196,254,41,174, +255,8,42,0,242,117,0,117,122,1,16,97,1,21,144,2,14,67,2,240,78,3,210,21,3,98,213,3,8,174,3,131,43,4,205,87,4,48,77,4,147,46,5,240,62,4,226,222,5,183,4,4,216,242,5,34,201,3,177,39,5,41,208,3,195,241,3,251,186,3,219,180,2,214,9,3,28,213,1,86,50,2,175,61, +1,30,55,1,111,114,0,167,252,255,195,214,255,243,211,254,203,188,254,109,5,254,52,60,253,94,115,253,241,218,251,198,222,252,215,153,250,194,66,252,36,62,249,57,137,251,237,88,248,200,197,250,173,206,247,90,174,249,71,180,247,74,154,248,13,104,247,26,239, +247,133,253,246,167,212,247,180,156,246,234,12,248,51,179,246,209,132,248,162,96,247,129,68,249,220,44,248,10,122,250,99,7,249,103,158,251,102,222,249,82,129,252,26,200,250,135,33,253,190,206,251,165,2,254,254,82,253,244,99,255,124,8,255,146,227,0,165, +217,0,253,33,2,233,137,2,111,156,3,185,72,4,14,180,4,183,24,6,240,178,5,93,179,7,162,197,6,186,26,9,23,234,7,183,47,10,242,170,8,211,2,11,63,2,9,97,116,11,102,207,8,251,158,11,33,84,8,57,96,11,216,101,7,204,200,10,198,124,6,156,171,9,227,111,5,161,42, +8,154,27,4,26,86,6,195,205,2,4,132,4,221,152,1,244,172,2,34,103,0,18,180,0,68,217,254,184,238,254,174,161,253,86,28,253,83,147,252,79,104,251,100,193,251,65,228,249,90,30,251,250,90,248,60,242,250,121,255,246,169,11,251,120,62,246,146,27,251,211,37,246, +171,226,250,186,35,246,250,144,250,169,117,246,1,150,250,142,223,246,96,163,250,139,234,247,237,8,251,45,89,249,246,155,251,151,143,250,29,101,252,186,115,251,39,71,253,221,132,252,130,30,254,181,222,253,43,150,254,103,56,255,78,252,254,215,223,0,186, +72,255,168,48,2,144,154,255,162,35,3,32,26,0,149,218,3,176,218,0,67,197,4,14,151,1,222,176,5,211,40,2,217,57,6,144,250,2,75,133,6,118,230,3,62,184,6,30,155,4,105,246,6,163,233,4,112,253,6,192,11,5,209,223,6,192,74,5,245,209,6,188,160,5,65,226,6,119,222, +5,128,92,7,15,176,5,146,211,7,246,254,4,172,213,7,243,96,4,212,56,7,239,56,4,201,23,6,133,124,4,54,126,4,108,236,4,157,249,2,35,136,5,57,133,1,129,255,5,53,241,255,51,30,6,70,104,254,230,210,5,151,186,252,113,229,4,115,84,251,14,247,3,187,198,249,246, +16,3,100,27,248,1,74,2,196,186,246,140,39,1,237,177,245,85,129,255,101,6,245,94,115,253,89,209,244,64,16,251,113,2,245,193,218,248,100,59,245,91,25,247,35,218,245,158,215,245,202,0,247,249,194,244,220,101,248,8,229,243,132,150,249,241,59,243,230,179, +250,226,169,242,37,178,251,32,160,242,4,151,252,176,102,243,190,184,253,124,135,244,103,184,254,133,87,245,24,73,255,163,64,246,233,159,255,29,145,247,69,78,0,79,66,249,148,232,0,138,207,250,125,55,1,228,26,252,65,22,1,190,71,253,147,37,1,235,194,254, +29,42,1,68,8,0,78,28,1,164,80,1,175,197,0,145,73,2,136,122,0,107,246,2,106,70,0,88,182,3,185,53,0,222,12,4,220,21,0,175,229,3,110,187,255,131,175,3,59,53,255,53,202,3,221,169,254,57,248,3,135,4,254,117,163,3,145,51,253,25,58,3,233,193,252,239,198,2,36, +152,252,143,248,1,245,130,252,85,44,1,103,82,252,160,121,0,127,9,252,222,54,0,171,12,252,51,29,0,204,23,252,232,225,255,186,97,252,2,236,255,54,206,252,255,75,0,104,141,253,70,215,0,65,119,254,30,252,0,125,136,255,127,226,0,163,203,0,124,141,0,155,36, +2,232,91,0,126,112,3,9,113,0,129,130,4,236,135,0,58,46,5,60,115,0,139,161,5,61,186,0,108,168,5,64,31,1,164,98,5,32,138,1,13,27,5,169,136,1,106,213,4,176,78,1,241,63,4,13,212,0,31,101,3,117,59,0,242,215,2,166,122,255,59,141,2,161,147,254,158,7,2,139,124, +253,101,130,1,252,138,252,154,231,0,245,210,251,197,47,0,118,129,251,195,41,255,156,184,251,6,27,254,51,10,252,105,21,253,242,99,252,72,77,252,147,210,252,50,184,251,132,60,253,29,98,251,207,117,253,145,14,251,36,218,253,142,177,250,45,56,254,104,177, +250,235,131,254,77,214,250,51,106,254,13,70,251,228,67,254,166,151,251,168,36,254,186,164,251,57,50,254,114,196,251,98,151,254,73,30,252,150,35,255,164,66,252,109,235,255,65,13,252,94,152,0,4,220,251,99,60,1,138,255,251,217,236,1,60,148,252,130,173,2, +75,46,253,176,115,3,103,190,253,111,221,3,100,93,254,47,14,4,210,53,255,160,14,4,197,100,0,108,0,4,36,171,1,212,36,4,48,216,2,140,129,4,125,230,3,151,235,4,17,138,4,240,198,4,162,9,5,76,247,3,170,158,5,102,9,3,245,18,6,196,83,2,132,209,6,243,126,1,14, +135,7,67,130,0,80,35,8,171,111,255,176,62,8,146,127,254,130,236,7,71,5,254,129,41,7,151,244,253,63,76,6,68,154,254,187,80,5,140,183,255,197,70,4,174,133,0,184,3,3,13,9,1,70,192,1,147,107,1,13,75,0,19,201,1,218,145,254,104,232,1,20,57,253,125,255,1,227, +135,252,95,75,2,66,27,252,16,27,2,76,133,251,97,103,1,117,175,250,50,143,0,107,209,249,206,154,255,93,73,249,75,161,254,232,219,248,126,43,254,229,69,248,255,223,253,12,161,247,225,49,253,161,19,247,105,109,252,254,20,247,78,156,251,117,146,247,112,201, +250,114,37,248,54,192,249,186,3,249,8,242,248,117,254,249,152,64,248,10,38,251,253,204,247,10,87,252,191,151,247,39,119,253,204,210,247,216,125,254,161,89,248,165,40,255,238,227,248,148,183,255,100,205,249,243,196,255,95,159,250,138,142,255,97,96,251, +181,23,255,133,21,252,51,160,254,150,183,252,149,152,254,6,54,253,150,160,254,84,202,253,91,184,254,247,131,254,193,15,255,201,106,255,50,87,255,129,116,0,199,201,255,107,207,1,95,23,0,127,15,3,150,6,0,14,111,4,197,175,255,107,230,5,166,121,255,6,204, +6,238,215,255,113,81,7,189,89,0,121,94,7,177,217,0,129,251,6,196,78,1,7,88,6,209,149,1,255,84,5,35,163,1,191,74,4,80,170,1,5,104,3,107,192,1,75,243,2,96,206,1,142,226,2,164,65,2,120,2,3,221,137,2,91,155,2,201,248,2,198,38,2,30,89,3,18,187,1,74,216,3, +20,146,1,2,53,4,232,77,1,61,194,4,114,21,1,216,49,5,126,220,0,14,33,5,18,71,0,231,22,5,84,243,255,59,241,4,129,187,255,12,143,4,3,124,255,203,4,4,129,128,255,9,127,3,83,164,255,231,235,2,32,229,255,133,64,2,162,13,0,174,173,1,89,96,0,34,94,1,114,159, +0,120,11,1,239,226,0,46,218,0,255,195,0,101,207,0,52,104,0,172,222,0,161,72,0,18,188,0,181,83,0,141,166,0,16,177,0,200,136,0,242,187,0,109,45,0,110,180,0,127,170,255,222,170,0,86,130,255,87,198,0,38,150,255,193,201,0,111,132,255,208,103,0,63,89,255,148, +253,255,246,108,255,71,180,255,88,152,255,56,207,255,21,110,255,100,17,0,152,36,255,216,110,0,225,83,255,61,188,0,210,183,255,237,7,1,111,252,255,25,74,1,193,198,255,167,55,1,39,154,255,31,8,1,28,56,255,153,175,0,91,192,254,131,6,1,19,90,254,169,79,1, +183,45,254,176,210,0,61,14,254,65,242,255,237,160,253,179,8,255,178,9,253,217,81,254,33,130,252,196,131,253,236,235,251,97,220,252,17,104,251,179,40,252,224,243,250,224,124,251,255,175,250,202,217,250,18,183,250,94,143,250,114,11,251,38,144,250,122,150, +251,199,193,250,167,33,252,215,233,250,81,228,252,196,90,251,101,170,253,64,209,251,58,51,254,185,230,251,221,232,254,152,20,252,22,175,255,62,124,252,253,101,0,213,51,253,155,180,0,33,249,253,177,154,0,105,213,254,112,126,0,151,226,255,45,80,0,104,240, +0,203,34,0,211,247,1,7,17,0,237,184,2,18,1,0,38,58,3,239,213,255,149,109,3,27,170,255,43,104,3,213,148,255,61,103,3,170,161,255,2,135,3,177,225,255,23,95,3,212,73,0,63,253,2,83,212,0,155,110,2,239,81,1,221,158,1,72,159,1,243,2,1,54,158,1,14,151,0,10, +161,1,177,106,0,102,207,1,53,252,255,222,218,1,46,115,255,169,125,1,222,1,255,247,169,0,223,84,254,0,10,0,131,233,253,44,145,255,236,159,253,72,59,255,27,126,253,101,36,255,99,163,253,45,39,255,215,6,254,124,69,255,20,113,254,229,123,255,172,192,254, +241,174,255,101,238,254,226,221,255,219,93,255,49,55,0,227,43,0,61,177,0,115,29,1,232,17,1,26,68,2,176,14,1,44,53,3,41,227,0,189,58,4,27,213,0,235,69,5,10,43,1,94,29,6,143,172,1,113,146,6,199,238,1,84,236,6,153,22,2,230,1,7,66,28,2,201,219,6,24,41,2, +206,208,6,158,72,2,72,183,6,165,138,2,26,93,6,151,185,2,214,162,5,219,241,2,164,117,4,250,45,3,38,253,2,144,40,3,7,207,1,186,19,3,145,221,0,232,247,2,223,198,255,91,209,2,226,236,254,216,85,2,238,51,254,183,202,1,26,128,253,65,91,1,168,239,252,71,214, +0,54,103,252,152,225,255,122,226,251,15,241,254,128,101,251,47,63,254,136,63,251,11,85,253,111,57,251,188,117,252,114,32,251,232,191,251,77,164,250,255,45,251,55,204,249,31,51,251,126,40,249,246,89,251,100,166,248,105,106,251,92,143,248,24,174,251,238, +229,248,173,30,252,31,147,249,14,186,252,156,141,250,170,51,253,76,201,251,19,224,253,59,82,253,93,149,254,41,4,255,96,41,255,144,205,0,245,161,255,82,124,2,232,78,0,89,198,3,187,53,1,55,153,4,26,0,2,216,200,4,16,148,2,185,140,4,220,58,3,183,59,4,10, +198,3,186,223,3,157,34,4,206,171,3,159,184,4,20,69,3,210,255,4,20,4,3,200,212,4,151,198,2,93,148,4,206,120,2,198,74,4,246,18,2,158,184,3,107,4,2,156,237,2,93,248,1,46,9,2,12,196,1,76,203,0,192,61,1,172,112,255,255,197,0,24,79,254,228,55,0,177,123,253, +202,47,255,254,21,253,162,230,253,220,183,252,100,126,252,202,68,252,164,225,250,168,238,251,39,107,249,174,174,251,117,149,248,131,114,251,78,129,248,138,64,251,191,131,248,67,39,251,137,223,248,107,63,251,198,132,249,7,132,251,17,255,249,150,184,251, +57,25,250,184,207,251,224,71,250,52,13,252,143,202,250,151,123,252,254,170,251,51,241,252,73,165,252,86,144,253,104,215,253,231,90,254,161,19,255,27,241,254,214,230,255,158,100,255,230,67,0,192,247,255,125,86,0,146,157,0,27,161,0,254,235,0,15,92,1,31, +66,1,48,44,2,149,177,1,28,157,2,242,99,2,214,64,3,53,65,3,85,18,4,60,200,3,55,151,4,79,71,4,138,115,4,212,159,4,10,12,4,63,165,4,30,23,4,225,157,4,192,86,4,67,142,4,102,190,4,253,126,4,177,52,5,252,45,4,236,138,5,181,225,3,30,145,5,140,128,3,190,115, +5,236,29,3,198,69,5,66,18,3,180,25,5,95,58,3,12,219,4,49,35,3,157,51,4,222,204,2,123,93,3,233,194,2,252,21,2,59,13,3,124,3,1,56,235,2,87,80,0,211,155,2,137,208,255,14,67,2,109,60,255,151,6,2,46,186,254,92,170,1,109,186,254,107,9,1,106,221,254,137,67, +0,242,10,255,79,186,255,24,17,255,119,84,255,32,30,255,140,180,254,118,217,254,241,196,253,150,108,254,46,189,252,121,188,253,6,43,252,16,83,253,245,4,252,171,19,253,253,84,252,42,162,252,74,162,252,34,86,252,72,203,252,156,251,251,10,10,253,250,252, +251,17,145,253,191,231,251,177,182,253,5,241,251,249,215,253,24,242,251,179,11,254,31,188,251,184,59,254,240,158,251,163,40,254,132,72,252,19,29,254,243,107,253,89,176,253,60,139,254,250,40,253,248,202,255,14,117,252,26,212,0,219,248,251,78,100,1,197, +14,252,4,236,1,210,89,252,101,72,2,1,245,252,54,155,2,106,228,253,65,86,2,230,5,255,145,207,1,85,240,255,179,108,1,28,217,0,205,61,1,16,160,1,237,194,1,161,106,2,78,220,2,114,55,3,73,217,3,85,60,4,243,96,4,249,212,4,209,128,4,116,57,5,171,189,4,189,228, +5,241,196,4,235,235,6,17,13,5,204,232,7,77,182,5,4,210,8,180,70,6,45,114,9,23,132,6,71,181,9,244,86,6,71,118,9,49,207,5,86,225,8,179,9,5,68,47,8,237,34,4,233,73,7,15,17,3,5,126,6,150,62,2,61,188,5,49,125,1,168,205,4,144,14,1,138,232,3,38,147,0,186,23, +3,19,22,0,71,137,2,117,195,255,4,215,1,72,249,255,84,21,1,36,133,0,110,173,0,232,79,1,89,28,0,244,0,2,99,193,255,243,116,2,156,76,255,186,166,2,251,30,255,249,241,2,253,247,254,224,239,2,187,24,255,70,130,2,44,80,255,13,7,2,177,156,255,62,249,1,243,1, +0,9,32,2,162,132,0,173,107,2,7,9,1,183,211,2,156,125,1,230,100,3,58,3,2,168,167,3,144,113,2,153,202,3,101,116,2,243,234,3,33,62,2,188,239,3,80,239,1,28,3,4,179,101,1,95,254,3,186,244,0,253,145,3,58,147,0,127,204,2,189,30,0,136,178,1,222,114,255,120,160, +0,231,216,254,114,230,255,214,44,254,248,204,254,105,143,253,97,206,253,243,230,252,53,14,253,133,136,252,125,122,252,159,81,252,141,221,251,253,143,252,120,218,250,254,25,253,184,244,249,86,150,253,35,65,249,187,225,253,203,184,248,3,60,254,120,114, +248,81,208,254,43,94,248,5,129,255,187,160,248,234,35,0,109,61,249,73,234,0,151,34,250,140,154,1,189,18,251,69,247,1,10,224,251,214,12,2,77,205,252,82,1,2,0,175,253,241,221,1,156,99,254,118,123,1,254,4,255,112,57,1,65,116,255,149,49,1,242,0,0,5,237,0, +224,198,0,213,140,0,224,188,1,199,61,0,254,98,2,246,228,255,210,231,2,65,109,255,203,86,3,142,5,255,78,143,3,78,245,254,201,123,3,163,30,255,45,122,3,6,15,255,93,106,3,11,201,254,35,89,3,112,81,254,236,229,2,154,5,254,60,42,2,184,187,253,96,148,1,14, +178,253,56,71,1,134,252,253,230,0,1,160,71,254,109,109,0,122,122,254,220,229,255,138,97,254,133,107,255,15,251,253,30,217,254,117,143,253,254,85,254,70,120,253,198,214,253,22,130,253,231,239,252,45,110,253,175,197,251,100,46,253,19,141,250,230,224,252, +244,33,249,177,198,252,156,230,247,69,112,252,178,15,247,148,219,251,38,127,246,70,73,251,46,18,246,19,2,251,8,146,245,29,169,250,10,40,245,240,35,250,82,79,245,166,242,249,134,219,245,229,47,250,22,93,246,61,180,250,187,235,246,63,125,251,250,174,247, +149,101,252,61,209,248,129,82,253,3,247,249,16,56,254,42,111,251,198,6,255,255,44,253,203,233,255,150,27,255,9,92,0,73,186,0,49,181,0,57,128,2,167,42,1,169,39,4,76,197,1,119,94,5,214,128,2,246,244,5,82,113,3,203,50,6,169,32,4,247,49,6,147,184,4,96,177, +5,7,24,5,64,241,4,246,101,5,249,87,4,170,158,5,226,184,3,182,152,5,11,237,2,2,242,4,108,215,1,254,69,4,54,244,0,239,116,3,136,70,0,237,177,2,138,216,255,136,108,1,139,47,255,202,229,255,106,225,253,195,102,254,89,71,252,24,97,253,204,243,250,153,141, +252,178,46,250,34,148,251,67,198,249,81,132,250,200,211,249,93,130,249,208,171,249,127,232,248,149,77,249,0,153,248,32,228,248,66,244,248,81,226,248,235,188,249,222,179,249,120,209,250,44,5,251,90,74,252,68,178,252,199,18,254,66,199,254,90,166,255,239, +27,1,13,254,0,200,115,3,61,163,2,167,200,5,158,52,4,186,246,7,228,116,5,51,191,9,96,154,6,228,2,11,65,210,7,62,15,12,165,198,8,106,207,12,219,108,9,192,118,13,76,180,9,128,228,13,149,160,9,60,233,13,178,133,9,237,70,13,148,150,9,154,57,12,87,40,9,60, +5,11,125,56,8,124,232,9,51,9,7,230,50,8,73,52,6,143,216,5,146,107,5,120,185,3,96,172,4,113,204,1,105,22,4,164,224,255,8,121,3,99,31,254,50,167,2,156,182,252,30,233,1,245,141,251,11,244,0,106,145,250,160,173,255,218,70,250,92,133,254,109,51,250,216,202, +253,107,21,250,85,10,253,143,13,250,241,84,252,239,99,250,241,159,251,165,229,250,75,54,251,226,148,251,239,11,251,255,107,252,177,17,251,200,116,253,155,55,251,147,133,254,125,60,251,237,153,255,133,130,251,188,145,0,145,63,252,79,110,1,8,63,253,22, +34,2,52,52,254,159,87,2,150,215,254,0,56,2,166,170,255,164,15,2,9,165,0,118,183,1,56,178,1,42,112,1,225,238,2,79,240,0,52,53,4,68,71,0,122,56,5,23,137,255,50,198,5,68,219,254,61,247,5,84,127,254,39,159,5,180,215,254,242,6,5,171,170,255,56,34,4,28,108, +0,1,55,3,134,172,0,109,76,2,2,157,0,45,70,1,102,47,0,248,51,0,40,118,255,154,58,255,181,162,254,48,14,254,24,228,253,62,32,253,243,113,253,9,142,252,147,141,253,21,69,252,159,11,254,227,5,252,217,140,254,222,20,252,192,73,255,254,96,252,238,25,0,179, +208,252,77,222,0,246,57,253,247,99,1,201,170,253,219,197,1,185,61,254,125,58,2,125,215,254,55,173,2,41,117,255,181,240,2,101,18,0,58,8,3,92,174,0,150,44,3,108,80,1,139,68,3,255,235,1,65,76,3,106,109,2,85,87,3,213,242,2,171,10,3,129,136,3,226,3,3,176, +234,3,171,209,2,154,10,4,227,11,3,186,17,4,181,110,3,33,50,4,94,49,4,254,71,4,13,176,4,2,43,4,255,210,4,241,197,3,155,94,4,102,57,3,70,187,3,243,227,2,152,204,2,82,123,2,37,186,1,127,12,2,12,7,1,39,199,1,113,33,0,233,143,1,232,36,255,92,239,0,209,64, +254,11,250,255,32,58,253,81,19,255,4,97,252,215,60,254,5,176,251,209,69,253,104,251,250,45,63,252,21,49,250,44,122,251,116,5,249,224,245,250,66,212,247,238,70,250,166,21,247,42,128,249,164,202,246,166,252,248,237,239,246,56,148,248,254,31,247,10,188, +248,38,113,247,238,90,249,217,159,247,115,31,250,75,231,247,111,235,250,47,10,248,105,169,251,3,68,248,119,171,252,100,160,248,179,141,253,85,6,249,161,77,254,182,230,249,169,222,254,122,236,250,97,114,255,98,100,252,124,195,255,233,255,253,235,108,0, +84,235,255,200,120,1,30,177,1,223,90,2,136,93,3,197,15,3,198,209,4,57,176,3,202,105,6,65,49,4,54,113,7,176,43,4,200,203,7,191,0,4,225,0,8,254,209,3,194,13,8,122,200,3,171,19,8,115,69,3,242,235,7,218,107,2,143,129,7,96,151,1,99,189,6,97,33,1,33,175,5, +121,98,0,94,100,4,138,215,255,173,91,3,150,142,255,137,255,1,201,93,255,242,59,0,40,44,255,42,148,254,13,213,254,121,125,253,9,173,254,195,194,252,49,136,254,253,91,252,131,92,254,185,41,252,26,36,254,116,221,251,167,210,253,154,107,251,26,172,253,104, +50,251,77,245,253,3,103,251,113,103,254,204,166,251,184,45,255,136,238,251,51,215,255,30,42,252,245,90,0,146,86,252,217,237,0,178,87,252,39,136,1,114,71,252,218,241,1,204,166,252,216,28,2,2,132,253,214,6,2,241,136,254,45,255,1,153,55,255,162,179,1,121, +113,255,74,110,1,230,148,255,171,78,1,44,223,255,67,101,1,55,16,0,60,33,1,224,70,0,116,164,0,139,153,0,248,55,0,21,26,1,42,186,255,111,182,1,163,79,255,204,41,2,110,195,254,215,27,2,248,73,254,206,252,1,238,233,253,184,221,1,212,225,253,223,231,1,199, +18,254,60,235,1,33,43,254,186,243,1,195,49,254,115,222,1,199,20,254,191,163,1,144,35,254,254,112,1,196,53,254,40,96,1,150,150,254,198,176,1,239,40,255,72,36,2,249,197,255,112,125,2,208,23,0,59,207,2,138,144,0,63,60,3,207,68,1,63,243,3,225,57,2,57,112, +4,201,114,3,44,165,4,54,126,4,155,155,4,15,169,5,170,114,4,64,214,6,238,52,4,84,211,7,36,219,3,0,119,8,149,103,3,71,4,9,81,244,2,188,117,9,49,107,2,133,124,9,194,197,1,193,230,8,212,13,1,71,14,8,30,132,0,138,7,7,36,68,0,98,247,5,56,79,0,29,252,4,4,114, +0,73,7,4,20,93,0,120,56,3,241,110,0,59,141,2,88,147,0,156,251,1,142,252,0,60,96,1,206,128,1,111,181,0,147,40,2,85,244,255,199,237,2,194,86,255,74,235,3,142,198,254,4,143,4,173,75,254,231,226,4,41,129,253,213,40,5,181,228,252,63,164,5,135,152,252,252, +48,6,147,207,252,36,191,6,1,48,253,71,226,6,204,1,254,225,203,6,129,251,254,137,75,6,0,201,255,143,86,5,124,130,0,253,70,4,19,9,1,167,31,3,130,107,1,64,19,2,128,215,1,62,66,1,6,42,2,84,170,0,75,49,2,140,246,255,77,67,2,188,226,254,161,43,2,208,68,253, +78,22,2,15,219,251,211,226,1,168,9,251,160,165,1,84,108,250,179,168,1,180,64,250,77,85,1,28,48,250,107,204,0,57,84,250,138,18,0,213,144,250,59,47,255,185,240,250,79,15,254,160,104,251,14,243,252,93,184,251,17,230,251,54,34,252,181,254,250,253,93,252, +104,114,250,114,134,252,62,3,250,40,148,252,8,166,249,200,248,252,186,60,249,124,157,253,150,208,248,160,82,254,90,114,248,6,219,254,29,130,248,185,131,255,96,241,248,159,42,0,37,200,249,123,186,0,198,229,250,18,65,1,129,27,252,205,126,1,165,123,253, +36,174,1,30,9,255,99,184,1,156,198,0,129,232,1,98,94,2,70,209,1,144,235,3,148,235,1,56,79,5,9,81,2,201,92,6,243,116,2,97,28,7,47,34,2,14,137,7,22,170,1,108,207,7,127,27,1,254,29,8,205,191,0,32,61,8,165,102,0,18,238,7,251,224,255,5,110,7,38,157,255,156, +193,6,200,90,255,246,231,5,172,1,255,29,193,4,192,211,254,206,160,3,199,222,254,187,55,2,136,210,254,232,204,0,207,229,254,215,42,255,213,232,254,244,110,253,109,58,255,205,232,251,6,207,255,33,148,250,165,47,0,89,37,249,19,83,0,254,2,248,203,55,0,12, +94,247,119,213,255,156,40,247,29,138,255,138,246,246,220,46,255,37,161,246,172,198,254,221,133,246,146,127,254,55,223,246,3,69,254,178,124,247,164,248,253,115,51,248,152,73,253,241,248,248,119,129,252,193,252,249,74,51,252,20,65,251,186,45,252,21,132, +252,34,90,252,249,221,253,8,135,252,192,255,254,80,168,252,11,250,255,207,192,252,125,199,0,222,216,252,35,98,1,192,28,253,24,177,1,125,110,253,225,250,1,176,47,254,32,56,2,69,30,255,197,88,2,182,219,255,90,73,2,154,4,0,173,35,2,135,184,255,162,181,1, +233,113,255,227,85,1,7,101,255,179,237,0,117,71,255,71,155,0,65,53,255,84,45,0,133,241,254,89,164,255,226,112,254,235,252,254,134,1,254,222,128,254,76,244,253,128,56,254,100,102,254,86,12,254,130,20,255,193,86,254,81,152,255,231,216,254,41,252,255,192, +129,255,250,149,0,9,29,0,212,76,1,255,247,0,103,29,2,93,176,1,70,252,2,77,124,2,158,252,3,48,21,3,254,5,5,144,105,3,232,167,5,200,165,3,188,160,5,236,11,4,222,67,5,217,16,4,127,186,4,238,171,3,236,95,4,166,77,3,207,55,4,67,213,2,6,232,3,126,122,2,15, +80,3,101,2,2,204,165,2,20,70,1,80,250,1,76,134,0,85,46,1,134,175,255,240,106,0,186,203,254,158,111,255,15,48,254,123,143,254,204,200,253,100,171,253,239,119,253,162,173,252,89,54,253,139,207,251,19,43,253,227,225,250,218,232,252,56,206,249,62,168,252, +145,236,248,102,135,252,147,138,248,218,159,252,206,100,248,220,183,252,253,137,248,94,179,252,234,185,248,216,212,252,63,36,249,247,203,252,145,167,249,130,224,252,35,181,250,215,60,253,224,45,252,159,120,253,246,200,253,221,181,253,45,109,255,230,212, +253,98,56,1,46,187,253,82,71,2,76,229,253,155,43,3,200,24,254,49,229,3,19,35,254,67,82,4,9,110,254,190,127,4,209,181,254,237,97,4,217,202,254,173,223,3,253,188,254,92,33,3,48,193,254,62,60,2,6,208,254,251,80,1,90,233,254,151,94,0,2,227,254,33,109,255, +243,147,254,51,169,254,88,40,254,109,64,254,33,185,253,14,53,254,54,143,253,145,52,254,87,215,253,59,5,254,17,68,254,255,170,253,20,163,254,174,104,253,18,15,255,4,30,253,178,115,255,102,10,253,81,3,0,11,39,253,146,96,0,119,247,252,51,201,0,253,215,252, +57,70,1,175,185,252,102,203,1,242,166,252,207,255,1,222,157,252,113,53,2,254,225,252,10,86,2,93,170,253,30,36,2,7,164,254,123,167,1,188,155,255,128,221,0,169,87,0,36,55,0,155,2,1,34,232,255,216,171,1,244,212,255,7,65,2,241,40,0,203,214,2,180,123,0,194, +53,3,129,231,0,153,143,3,215,20,1,127,200,3,236,49,1,164,247,3,11,55,1,11,221,3,166,99,1,198,219,3,36,114,1,133,250,3,22,27,1,201,188,3,201,207,0,106,51,3,159,167,0,100,178,2,108,147,0,248,97,2,175,134,0,107,67,2,106,131,0,120,69,2,177,95,0,138,74,2, +73,53,0,226,11,2,223,51,0,239,206,1,28,42,0,53,167,1,127,219,255,154,112,1,67,190,255,85,113,1,11,191,255,236,123,1,190,225,255,107,134,1,81,13,0,163,137,1,127,32,0,208,91,1,160,116,0,58,93,1,94,137,0,0,74,1,2,89,0,36,251,0,124,63,0,221,166,0,92,62,0, +167,69,0,83,90,0,93,201,255,115,95,0,243,28,255,197,100,0,91,136,254,141,166,0,194,44,254,208,216,0,145,247,253,38,6,1,225,41,254,239,22,1,171,184,254,230,56,1,252,47,255,161,110,1,17,81,255,154,164,1,123,11,255,151,195,1,178,195,254,231,182,1,117,211, +254,154,105,1,166,8,255,27,16,1,204,136,255,156,192,0,169,219,255,5,56,0,52,43,0,134,112,255,201,25,0,177,117,254,113,226,255,90,190,253,247,251,255,91,133,253,241,246,255,176,115,253,101,169,255,170,55,253,174,78,255,164,253,252,118,79,255,24,154,252, +149,80,255,146,69,252,46,50,255,73,227,251,244,34,255,135,219,251,176,41,255,1,253,251,124,19,255,9,18,252,16,189,254,204,29,252,60,145,254,234,81,252,180,213,254,13,176,252,145,42,255,207,49,253,62,147,255,106,224,253,14,33,0,157,102,254,187,139,0,236, +8,255,15,165,0,231,143,255,157,85,0,240,34,0,104,61,0,223,112,0,143,73,0,175,197,0,46,170,0,114,14,1,135,243,0,19,131,1,177,224,0,91,225,1,77,163,0,211,96,2,162,137,0,135,17,3,54,181,0,161,86,3,21,227,0,100,110,3,183,229,0,47,131,3,37,1,1,117,146,3,224, +66,1,68,38,3,121,219,1,189,69,2,140,94,2,108,135,1,106,183,2,43,249,0,230,242,2,212,63,0,78,220,2,106,78,255,3,214,2,142,70,254,56,120,2,115,184,253,194,191,1,120,51,253,28,173,0,33,183,252,175,210,255,23,91,252,169,30,255,144,122,252,153,252,254,13, +174,252,15,191,254,221,0,253,60,141,254,122,67,253,22,137,254,102,123,253,102,181,254,1,237,253,155,219,254,146,116,254,158,48,255,126,26,255,169,223,255,96,163,255,49,198,0,139,93,0,205,177,1,159,88,1,123,44,2,161,33,2,148,111,2,226,126,2,208,140,2, +195,249,2,132,197,2,67,146,3,153,21,3,12,31,4,149,103,3,115,118,4,238,186,3,210,135,4,44,236,3,14,226,4,106,240,3,57,87,5,133,134,3,189,165,5,193,242,2,132,152,5,2,86,2,206,81,5,94,195,1,13,220,4,228,110,1,254,8,4,165,228,0,131,38,3,65,104,0,152,8,2, +252,234,255,80,182,0,35,68,255,139,93,255,103,193,254,104,72,254,204,75,254,132,41,253,224,222,253,139,66,252,231,115,253,254,169,251,153,18,253,111,107,251,249,234,252,129,43,251,166,156,252,89,9,251,198,39,252,104,31,251,241,164,251,146,24,251,87,4, +251,185,237,250,34,167,250,39,9,251,134,226,250,246,85,251,177,91,251,22,211,251,59,27,252,236,36,252,253,148,252,175,111,252,159,15,253,21,0,253,70,117,253,27,115,253,93,225,253,108,240,253,78,140,254,77,107,254,61,78,255,198,2,255,103,252,255,154,176, +255,136,192,0,198,108,0,78,98,1,217,247,0,13,204,1,68,113,1,188,11,2,237,238,1,175,62,2,182,129,2,81,120,2,182,48,3,218,175,2,201,177,3,164,7,3,235,68,4,164,131,3,4,193,4,75,40,4,51,31,5,63,166,4,84,113,5,208,248,4,85,125,5,85,8,5,206,85,5,73,16,5,204, +248,4,173,209,4,204,136,4,121,187,4,57,231,3,57,234,4,0,43,3,239,249,4,104,144,2,38,176,4,199,45,2,19,47,4,136,230,1,117,153,3,138,197,1,150,247,2,58,139,1,8,83,2,69,64,1,255,250,1,55,245,0,224,245,1,168,123,0,153,31,2,240,28,0,116,39,2,96,226,255,181, +252,1,188,215,255,79,242,1,196,165,255,25,251,1,68,76,255,210,32,2,97,238,254,150,68,2,101,164,254,142,108,2,56,151,254,222,152,2,107,222,254,1,194,2,29,64,255,76,196,2,190,166,255,218,175,2,247,41,0,25,123,2,224,242,0,44,67,2,29,103,1,226,70,2,203,150, +1,73,103,2,31,123,1,171,91,2,237,55,1,245,16,2,177,215,0,15,159,1,172,104,0,160,52,1,125,203,255,138,90,0,203,54,255,197,68,255,132,220,254,53,77,254,40,121,254,147,84,253,255,214,253,198,100,252,63,42,253,57,206,251,103,143,252,118,58,251,17,96,252, +1,209,250,48,30,252,238,93,250,72,217,251,196,39,250,182,191,251,9,234,249,150,123,251,16,121,249,72,95,251,217,78,249,9,148,251,223,73,249,211,28,252,211,138,249,136,158,252,101,28,250,99,221,252,24,254,250,52,62,253,155,239,251,188,164,253,57,125,252, +14,241,253,10,80,253,86,14,254,149,23,254,156,92,254,3,250,254,164,174,254,199,208,255,182,27,255,15,102,0,161,132,255,191,183,0,211,189,255,216,246,0,247,179,255,61,54,1,102,156,255,225,133,1,108,161,255,234,217,1,120,224,255,247,36,2,103,107,0,180, +114,2,0,2,1,65,151,2,231,58,1,169,130,2,95,80,1,86,105,2,163,67,1,6,120,2,133,19,1,130,110,2,211,181,0,41,100,2,236,61,0,190,86,2,169,9,0,132,73,2,52,225,255,243,185,1,164,223,255,159,231,0,12,8,0,128,181,255,26,16,0,175,157,254,171,35,0,82,243,253,8, +25,0,159,137,253,1,20,0,199,47,253,191,237,255,244,182,252,171,167,255,56,182,252,115,239,254,199,173,252,87,89,254,87,244,252,79,5,254,175,242,252,187,18,254,74,230,252,248,73,254,2,73,253,95,102,254,120,184,253,230,145,254,201,246,253,69,220,254,88, +41,254,103,48,255,41,79,254,85,114,255,195,119,254,217,192,255,3,197,254,162,201,255,162,214,254,79,180,255,87,218,254,68,74,255,38,234,254,69,27,255,218,28,255,45,31,255,234,56,255,169,143,255,131,30,255,232,204,255,214,175,254,177,229,255,100,104,254, +10,122,255,188,47,254,57,23,255,7,46,254,70,159,254,2,61,254,109,254,253,171,186,254,206,159,253,181,89,255,109,134,253,255,4,0,25,158,253,165,102,0,250,170,253,222,115,0,137,158,253,6,77,0,48,142,253,166,254,255,164,178,253,80,201,255,190,247,253,204, +189,255,51,99,254,105,205,255,129,190,254,86,3,0,118,11,255,136,255,255,109,171,255,253,185,255,81,72,0,89,167,255,16,229,0,131,20,0,47,92,1,90,167,0,107,190,1,116,45,1,40,12,2,227,153,1,162,110,2,213,7,2,236,155,2,65,88,2,142,215,2,240,151,2,50,47,3, +85,221,2,173,139,3,184,219,2,201,43,4,248,166,2,183,168,4,118,118,2,23,9,5,6,122,2,190,51,5,166,159,2,220,95,5,106,179,2,214,155,5,114,202,2,3,108,5,207,252,2,169,160,4,84,14,3,187,163,3,197,22,3,45,255,2,212,48,3,151,187,2,59,140,3,251,65,2,3,200,3, +60,163,1,12,97,4,23,45,1,225,162,4,208,218,0,33,236,4,32,135,0,174,83,5,228,231,255,255,210,5,113,152,255,68,13,6,17,125,255,245,173,5,81,80,255,144,226,4,191,247,254,99,36,4,126,162,254,200,111,3,181,84,254,12,241,2,37,26,254,93,179,2,123,201,253,78, +92,2,133,112,253,192,240,1,129,82,253,74,58,1,159,134,253,139,159,0,197,199,253,132,229,255,79,72,254,48,15,255,182,163,254,226,244,253,95,161,254,0,187,252,159,189,254,6,194,251,173,6,255,117,243,250,216,117,255,14,95,250,214,24,0,82,21,250,222,232, +0,73,191,249,231,119,1,70,167,249,62,244,1,36,254,249,41,83,2,72,232,250,173,159,2,174,248,251,11,161,2,137,240,252,99,102,2,143,223,253,44,249,1,130,219,254,24,114,1,39,238,255,125,2,1,176,21,1,185,165,0,78,33,2,102,91,0,58,2,3,8,31,0,47,144,3,13,213, +255,109,201,3,23,189,255,36,225,3,73,189,255,93,230,3,212,201,255,136,221,3,57,19,0,29,15,4,167,58,0,190,3,4,79,56,0,45,246,3,210,53,0,51,129,3,137,69,0,33,205,2,207,74,0,112,60,2,194,19,0,241,169,1,188,207,255,10,50,1,120,157,255,117,185,0,243,76,255, +200,84,0,118,68,255,99,68,0,194,29,255,231,18,0,34,47,255,227,232,255,87,71,255,112,212,255,249,197,255,64,230,255,69,9,0,165,236,255,213,81,0,114,31,0,233,214,0,16,57,0,189,79,1,15,41,0,14,138,1,36,13,0,97,149,1,10,121,0,91,158,1,209,227,0,127,138,1, +155,59,1,198,41,1,92,112,1,182,147,0,78,163,1,155,255,255,233,213,1,31,84,255,138,198,1,88,156,254,16,106,1,33,51,254,67,187,0,60,8,254,81,215,255,148,207,253,76,177,254,100,162,253,123,159,253,24,97,253,227,201,252,187,42,253,238,69,252,49,24,253,213, +203,251,143,232,252,32,76,251,176,186,252,18,194,250,108,130,252,224,75,250,122,85,252,135,242,249,186,38,252,146,179,249,35,227,251,46,175,249,242,232,251,157,222,249,174,241,251,10,250,249,4,27,252,174,213,249,182,59,252,54,186,249,62,109,252,35,0, +250,202,198,252,250,140,250,221,8,253,142,50,251,19,98,253,161,177,251,171,191,253,127,79,252,104,72,254,243,40,253,222,126,254,247,210,253,182,163,254,136,88,254,230,208,254,172,135,254,164,34,255,208,174,254,151,154,255,165,0,255,184,171,255,64,102, +255,30,135,255,100,216,255,148,61,255,148,60,0,72,246,254,87,143,0,135,130,254,170,219,0,83,49,254,186,194,0,182,96,254,67,124,0,185,124,254,34,243,255,229,137,254,238,102,255,163,160,254,123,11,255,63,160,254,171,180,254,159,181,254,2,122,254,10,244, +254,177,61,254,21,230,254,233,255,253,60,187,254,78,4,254,195,108,254,180,34,254,28,62,254,67,91,254,53,1,254,170,119,254,135,12,254,226,232,254,118,23,254,35,131,255,183,108,254,187,74,0,98,193,254,63,206,0,177,40,255,245,22,1,134,169,255,223,48,1,249, +0,0,181,69,1,246,88,0,36,56,1,147,228,0,77,31,1,5,48,1,62,7,1,46,141,1,52,216,0,196,208,1,231,146,0,94,1,2,235,1,0,16,16,2,192,134,255,171,204,1,47,1,255,6,60,1,131,158,254,26,148,0,182,113,254,41,239,255,138,106,254,224,67,255,79,83,254,37,22,255,48, +82,254,102,231,254,102,65,254,111,199,254,161,25,254,227,107,254,183,245,253,97,6,254,242,227,253,212,225,253,65,197,253,231,21,254,195,184,253,95,49,254,200,177,253,13,97,254,207,180,253,126,105,254,226,189,253,66,66,254,62,228,253,124,20,254,61,84, +254,41,9,254,53,59,255,170,179,253,75,27,0,186,93,253,37,200,0,152,60,253,19,142,1,229,82,253,78,88,2,94,98,253,194,183,2,85,140,253,254,165,2,115,249,253,72,93,2,62,148,254,238,66,2,145,29,255,221,83,2,186,195,255,54,100,2,17,56,0,164,72,2,29,113,0, +94,61,2,2,93,0,99,50,2,168,70,0,4,232,1,167,178,0,108,152,1,17,42,1,121,36,1,51,195,1,106,201,0,28,73,2,69,83,0,14,187,2,55,8,0,131,44,3,65,236,255,106,107,3,82,30,0,72,135,3,181,81,0,252,124,3,182,95,0,30,156,3,32,89,0,171,192,3,110,58,0,10,7,4,115, +112,0,148,206,3,52,220,0,88,106,3,127,23,1,110,80,3,216,106,1,116,75,3,136,180,1,47,19,3,115,222,1,250,236,2,79,232,1,155,30,3,238,64,2,185,84,3,226,3,3,230,30,3,219,238,3,69,113,2,163,105,4,50,187,1,218,159,4,207,7,1,109,132,4,146,29,0,4,208,3,35,59, +255,110,28,3,55,139,254,108,79,2,1,170,253,185,162,1,180,167,252,222,243,0,28,214,251,8,40,0,190,19,251,24,212,254,55,177,250,241,148,253,254,173,250,30,115,252,77,210,250,33,149,251,138,5,251,43,60,251,48,34,251,97,43,251,239,80,251,70,82,251,34,87, +251,59,216,251,213,125,251,230,109,252,18,234,251,14,197,252,84,142,252,102,73,253,182,53,253,30,162,253,189,241,253,66,14,254,115,176,254,78,134,254,166,115,255,141,254,254,102,30,0,84,119,255,18,180,0,252,234,255,99,57,1,239,230,255,253,211,1,236,200, +255,215,136,2,136,200,255,102,4,3,223,1,0,244,42,3,37,74,0,109,68,3,88,206,0,214,114,3,111,62,1,158,184,3,86,174,1,96,249,3,173,178,1,197,1,4,167,118,1,163,238,3,4,53,1,236,212,3,216,242,0,2,124,3,90,222,0,255,227,2,137,141,0,165,10,2,254,53,0,228,233, +0,141,185,255,184,228,255,48,135,255,167,200,254,53,59,255,189,176,253,4,2,255,51,184,252,243,156,254,33,203,251,206,160,254,217,238,250,144,166,254,17,254,249,46,188,254,242,120,249,176,236,254,251,33,249,78,252,254,212,208,248,211,15,255,156,150,248, +199,25,255,3,177,248,118,85,255,55,71,249,130,209,255,255,2,250,7,89,0,45,205,250,166,181,0,231,183,251,55,191,0,74,160,252,44,144,0,48,85,253,127,104,0,156,25,254,224,70,0,158,236,254,216,61,0,75,10,0,237,80,0,139,10,1,162,21,0,155,36,2,53,181,255,23, +25,3,80,79,255,9,60,4,157,40,255,43,79,5,158,237,254,69,12,6,165,183,254,250,137,6,177,185,254,122,235,6,29,199,254,190,19,7,76,177,254,241,234,6,230,150,254,118,65,6,88,114,254,198,127,5,110,80,254,195,168,4,98,78,254,115,185,3,107,54,254,179,156,2, +94,42,254,203,87,1,152,59,254,191,233,255,111,84,254,208,173,254,98,147,254,242,84,253,106,223,254,32,252,251,142,73,255,0,60,251,240,181,255,241,228,250,10,194,255,107,209,250,82,225,255,60,221,250,107,28,0,161,239,250,254,57,0,2,78,251,10,180,0,126, +251,251,80,59,1,197,150,252,221,152,1,169,47,253,229,238,1,235,148,253,216,230,1,172,254,253,25,129,1,226,101,254,52,161,0,68,212,254,103,244,255,224,8,255,163,157,255,184,102,255,25,161,255,64,221,255,71,176,255,92,54,0,117,140,255,51,85,0,88,100,255, +112,73,0,221,119,255,246,29,0,135,184,255,50,205,255,100,216,255,52,162,255,126,33,0,231,139,255,178,108,0,196,159,255,18,128,0,245,159,255,156,20,0,6,141,255,134,180,255,208,102,255,114,102,255,249,71,255,93,16,255,74,71,255,144,231,254,6,15,255,160, +200,254,102,235,254,171,249,254,28,176,254,13,165,254,124,146,254,195,46,254,219,100,254,247,206,253,65,60,254,217,213,253,20,43,254,204,12,254,58,104,254,38,108,254,230,143,254,218,225,254,56,208,254,114,104,255,95,224,254,12,204,255,242,3,255,45,28, +0,168,74,255,34,107,0,148,122,255,187,200,0,66,111,255,17,248,0,51,91,255,207,18,1,228,113,255,48,176,0,195,147,255,88,25,0,165,103,255,62,92,255,72,49,255,115,197,254,121,39,255,167,81,254,126,229,254,218,34,254,224,146,254,243,36,254,242,72,254,65, +8,254,30,216,253,209,200,253,82,167,253,82,119,253,188,168,253,47,82,253,160,2,254,218,105,253,55,143,254,101,120,253,153,48,255,198,151,253,237,142,255,226,179,253,235,179,255,92,221,253,121,159,255,16,16,254,154,119,255,110,72,254,171,100,255,222,139, +254,111,67,255,170,172,254,204,3,255,4,199,254,122,181,254,102,246,254,12,83,254,212,25,255,122,59,254,211,82,255,21,51,254,92,134,255,14,109,254,87,17,0,18,202,254,172,180,0,192,3,255,110,48,1,141,249,254,241,171,1,151,158,254,112,255,1,98,132,254,5, +45,2,196,53,254,110,229,1,85,6,254,231,136,1,91,5,254,178,47,1,127,241,253,191,240,0,115,249,253,196,162,0,79,204,253,116,124,0,185,138,253,186,72,0,23,85,253,33,237,255,76,48,253,19,101,255,91,76,253,12,155,254,100,162,253,42,217,253,94,27,254,53,77, +253,139,172,254,91,20,253,57,33,255,180,44,253,236,130,255,42,99,253,110,181,255,73,216,253,166,241,255,221,125,254,225,75,0,61,70,255,35,163,0,185,247,255,219,1,1,95,158,0,62,59,1,111,249,0,170,129,1,120,77,1,68,186,1,250,76,1,161,33,2,31,73,1,21,137, +2,173,249,0,205,227,2,24,196,0,30,223,2,103,173,0,180,105,2,11,188,0,202,201,1,216,183,0,68,52,1,30,248,0,102,156,0,37,70,1,156,72,0,5,128,1,254,249,255,223,117,1,230,194,255,24,117,1,142,188,255,79,173,1,102,170,255,67,240,1,170,161,255,252,21,2,13, +211,255,37,58,2,50,67,0,180,57,2,249,187,0,17,45,2,232,9,1,15,23,2,0,124,1,158,18,2,98,228,1,249,56,2,148,35,2,235,97,2,217,152,2,83,138,2,211,218,2,226,133,2,255,32,3,232,132,2,254,85,3,160,168,2,138,106,3,180,238,2,98,86,3,138,50,3,228,71,3,14,135, +3,65,73,3,229,157,3,140,73,3,102,194,3,30,32,3,5,159,3,236,222,2,255,98,3,168,109,2,78,19,3,53,79,2,179,228,2,158,64,2,61,166,2,228,16,2,8,132,2,18,119,1,30,110,2,204,231,0,218,122,2,182,137,0,29,102,2,250,75,0,46,83,2,197,240,255,177,21,2,26,148,255, +86,182,1,219,88,255,118,67,1,118,72,255,190,175,0,136,59,255,194,148,0,182,35,255,20,221,0,251,32,255,239,25,1,40,46,255,109,42,1,240,111,255,46,36,1,216,174,255,15,39,1,186,254,255,0,11,1,188,134,0,75,13,1,148,39,1,165,33,1,187,240,1,134,91,1,138,179, +2,42,116,1,164,57,3,13,139,1,195,176,3,228,226,1,80,217,3,17,43,2,245,239,3,99,115,2,139,246,3,224,178,2,90,189,3,59,211,2,212,96,3,96,18,3,45,255,2,223,30,3,236,96,2,139,202,2,228,219,1,49,111,2,48,49,1,123,38,2,121,155,0,104,234,1,231,5,0,174,127,1, +64,95,255,43,254,0,63,150,254,205,67,0,110,2,254,26,169,255,81,100,253,164,244,254,249,229,252,44,103,254,188,119,252,112,232,253,165,19,252,63,114,253,253,15,252,144,52,253,42,98,252,196,13,253,116,206,252,110,224,252,108,53,253,220,1,253,214,115,253, +112,106,253,60,6,254,49,37,254,75,152,254,18,160,254,14,99,255,195,245,254,59,35,0,73,204,254,233,212,0,166,132,254,150,118,1,101,106,254,125,240,1,87,155,254,199,45,2,174,214,254,179,30,2,179,211,254,28,18,2,4,195,254,77,8,2,94,168,254,41,219,1,161, +143,254,47,159,1,111,151,254,6,121,1,230,209,254,202,79,1,1,106,255,189,209,0,149,9,0,66,103,0,255,193,0,254,50,0,206,71,1,222,43,0,165,159,1,2,30,0,43,128,1,4,247,255,55,59,1,152,166,255,200,19,1,62,77,255,168,130,1,228,251,254,108,12,2,210,187,254, +134,30,2,59,179,254,107,4,2,4,188,254,123,172,1,183,234,254,144,75,1,11,63,255,192,51,1,1,152,255,167,108,1,121,222,255,207,203,1,255,60,0,108,213,1,69,139,0,91,104,1,32,198,0,233,223,0,187,57,1,131,87,0,112,244,1,173,253,255,247,147,2,238,224,255,141, +211,2,9,243,255,135,17,3,56,77,0,153,65,3,41,171,0,146,62,3,128,234,0,180,30,3,201,21,1,254,24,3,243,73,1,80,225,2,124,117,1,183,131,2,179,179,1,243,237,1,123,176,1,135,92,1,112,133,1,139,211,0,22,101,1,8,31,0,171,34,1,192,68,255,101,218,0,187,85,254, +195,150,0,157,47,253,226,94,0,141,23,252,232,32,0,146,83,251,86,198,255,38,194,250,75,94,255,23,174,250,20,239,254,109,219,250,2,122,254,229,33,251,20,253,253,171,79,251,58,255,253,42,100,251,13,47,254,78,145,251,127,118,254,116,218,251,89,175,254,142, +88,252,239,242,254,94,175,252,243,26,255,126,107,253,132,40,255,209,0,254,63,41,255,60,132,254,79,61,255,152,239,254,84,54,255,215,168,255,26,37,255,76,77,0,131,221,254,46,29,1,200,167,254,221,17,2,192,150,254,118,166,2,236,210,254,241,24,3,108,241,254, +144,172,3,180,83,255,142,14,4,159,172,255,143,83,4,216,244,255,121,115,4,80,75,0,109,178,4,207,213,0,84,247,4,200,194,1,85,253,4,76,133,2,29,2,5,35,91,3,24,208,4,254,19,4,45,174,4,221,126,4,148,133,4,84,185,4,162,90,4,135,4,5,163,37,4,106,96,5,187,226, +3,176,227,5,10,82,3,254,117,6,188,189,2,67,249,6,14,69,2,8,92,7,243,42,2,205,125,7,173,234,1,238,22,7,231,180,1,111,134,6,49,120,1,83,234,5,107,70,1,120,43,5,161,110,1,51,111,4,56,119,1,179,151,3,218,178,1,178,19,3,171,11,2,21,138,2,28,87,2,203,23,2, +237,110,2,6,252,1,174,106,2,7,2,2,115,75,2,180,49,2,34,84,2,212,115,2,248,90,2,16,90,2,217,99,2,236,44,2,106,44,2,112,249,1,203,213,1,71,158,1,1,134,1,227,35,1,30,117,1,52,167,0,221,27,1,150,27,0,239,156,0,209,182,255,87,8,0,126,41,255,220,153,255,75, +163,254,92,7,255,210,78,254,155,23,254,87,33,254,240,68,253,129,16,254,194,175,252,103,201,253,92,94,252,120,62,253,90,72,252,137,173,252,104,86,252,28,32,252,127,194,252,96,153,251,197,77,253,174,254,250,66,200,253,172,175,250,85,8,254,139,217,250,122, +65,254,29,46,251,26,166,254,171,159,251,169,19,255,225,4,252,33,94,255,37,116,252,209,171,255,138,248,252,221,29,0,100,108,253,98,171,0,103,201,253,42,48,1,59,1,254,146,214,1,237,92,254,54,154,2,224,159,254,52,63,3,125,31,255,23,145,3,82,229,255,150, +163,3,106,203,0,48,90,3,174,184,1,97,206,2,134,154,2,103,16,2,79,84,3,108,80,1,126,184,3,179,239,0,88,245,3,73,242,0,221,0,4,215,20,1,138,180,3,111,41,1,253,84,3,127,22,1,168,238,2,203,225,0,212,188,2,31,186,0,61,233,2,150,128,0,156,49,3,115,95,0,6,55, +3,74,61,0,174,237,2,110,244,255,13,184,2,228,178,255,178,153,2,105,133,255,253,155,2,247,110,255,180,112,2,104,119,255,16,33,2,153,115,255,100,131,1,181,137,255,245,160,0,208,216,255,107,162,255,247,240,255,217,146,254,81,13,0,15,201,253,213,71,0,196, +74,253,53,105,0,28,81,253,249,124,0,217,101,253,234,163,0,184,143,253,124,181,0,75,171,253,185,234,0,38,242,253,184,222,0,56,95,254,13,201,0,178,63,255,5,184,0,26,90,0,89,203,0,94,136,1,194,200,0,82,128,2,79,231,0,134,79,3,166,36,1,83,191,3,254,103,1, +76,247,3,139,142,1,92,27,4,161,169,1,132,45,4,52,148,1,157,51,4,157,131,1,252,56,4,20,135,1,63,103,4,177,81,1,134,71,4,220,76,1,251,50,4,93,54,1,11,221,3,187,53,1,250,54,3,247,33,1,145,197,2,101,8,1,169,65,2,215,219,0,127,151,1,25,199,0,51,208,0,123, +236,0,57,229,255,175,254,0,237,222,254,220,17,1,226,244,253,125,0,1,107,60,253,127,209,0,165,207,252,211,187,0,149,118,252,125,193,0,213,65,252,144,196,0,127,20,252,30,44,1,166,32,252,136,108,1,211,102,252,254,164,1,202,209,252,159,214,1,157,117,253, +201,2,2,53,77,254,236,37,2,113,94,255,206,48,2,148,127,0,137,49,2,102,155,1,72,25,2,157,130,2,208,68,2,162,107,3,138,116,2,86,32,4,76,116,2,238,164,4,248,149,2,231,25,5,134,196,2,177,115,5,117,20,3,107,230,5,124,92,3,237,142,6,135,143,3,74,2,7,196,129, +3,99,59,7,40,132,3,177,91,7,13,167,3,212,130,7,230,211,3,228,168,7,2,246,3,39,211,7,48,9,4,92,239,7,87,80,4,58,218,7,24,145,4,153,162,7,95,101,4,167,58,7,110,70,4,8,165,6,64,45,4,98,197,5,71,52,4,246,195,4,26,35,4,195,187,3,140,191,3,68,177,2,127,57, +3,164,143,1,206,113,2,164,100,0,147,216,1,183,170,255,60,33,1,85,255,254,16,111,0,145,119,254,42,50,0,248,218,253,41,38,0,95,125,253,66,50,0,240,77,253,32,19,0,198,92,253,189,24,0,11,218,253,194,78,0,19,166,254,215,99,0,2,112,255,246,98,0,190,47,0,188, +14,0,26,96,0,203,172,255,41,118,0,58,159,255,206,136,0,247,175,255,233,160,0,221,222,255,169,211,0,242,54,0,165,238,0,121,159,0,101,19,1,22,226,0,103,41,1,94,68,1,214,90,1,54,164,1,96,152,1,224,49,2,164,13,2,170,192,2,132,132,2,92,24,3,243,185,2,225, +39,3,57,246,2,162,230,2,135,26,3,184,143,2,124,109,3,113,246,1,49,109,3,117,107,1,176,56,3,80,243,0,46,205,2,236,177,0,198,48,2,23,106,0,240,94,1,46,96,0,3,112,0,85,104,0,0,220,255,171,96,0,61,76,255,169,68,0,176,39,255,72,104,0,42,14,255,243,123,0,81, +24,255,73,110,0,130,73,255,252,22,0,68,148,255,189,217,255,213,222,255,182,151,255,124,15,0,59,106,255,127,104,0,103,109,255,59,225,0,183,163,255,121,95,1,12,8,0,159,227,1,10,106,0,222,99,2,13,197,0,230,116,2,49,248,0,110,42,2,87,53,1,253,23,2,179,105, +1,156,248,1,68,186,1,226,204,1,51,2,2,83,146,1,154,34,2,71,89,1,231,44,2,181,12,1,34,76,2,142,189,0,6,105,2,255,132,0,86,98,2,209,105,0,168,101,2,35,58,0,65,67,2,101,228,255,117,231,1,115,114,255,201,126,1,94,24,255,219,204,0,93,156,254,94,15,0,77,65, +254,207,90,255,217,223,253,32,163,254,230,107,253,180,210,253,26,252,252,44,236,252,76,138,252,192,25,252,37,61,252,137,180,251,37,252,251,26,131,251,5,117,251,7,65,251,94,11,251,62,241,250,41,178,250,77,210,250,5,64,250,58,215,250,170,224,249,140,220, +250,3,121,249,84,26,251,169,88,249,119,124,251,149,140,249,251,3,252,169,218,249,226,123,252,108,33,250,9,2,253,251,152,250,168,153,253,167,52,251,185,8,254,226,10,252,57,159,254,235,218,252,169,19,255,107,121,253,125,140,255,202,195,253,20,21,0,161, +31,254,32,78,0,221,62,254,127,89,0,13,108,254,25,77,0,249,155,254,73,49,0,236,13,255,81,7,0,67,130,255,208,163,255,255,207,255,157,90,255,203,51,0,130,62,255,27,94,0,89,36,255,161,68,0,234,238,254,103,244,255,93,145,254,15,177,255,239,42,254,216,130, +255,76,229,253,167,79,255,171,248,253,210,5,255,19,35,254,51,177,254,166,58,254,48,23,254,138,97,254,61,155,253,84,116,254,218,46,253,199,138,254,101,2,253,169,153,254,39,65,253,126,162,254,45,184,253,196,183,254,229,22,254,2,44,255,141,69,254,77,160, +255,95,117,254,250,10,0,225,100,254,119,74,0,28,128,254,163,140,0,81,160,254,207,9,1,26,226,254,176,130,1,100,35,255,45,7,2,228,122,255,253,79,2,201,29,0,144,113,2,92,242,0,57,58,2,169,132,1,175,248,1,234,30,2,223,106,1,221,150,2,27,209,0,160,32,3,182, +80,0,167,94,3,113,215,255,27,135,3,202,105,255,5,102,3,255,5,255,231,53,3,52,174,254,14,255,2,174,146,254,231,187,2,217,139,254,216,96,2,255,145,254,189,15,2,248,140,254,127,212,1,165,182,254,150,76,1,121,238,254,159,241,0,137,71,255,3,165,0,80,133,255, +237,139,0,68,200,255,14,94,0,226,77,0,158,44,0,42,235,0,92,193,255,163,193,1,8,109,255,193,105,2,112,29,255,98,21,3,50,218,254,239,181,3,52,122,254,240,55,4,109,70,254,34,119,4,69,105,254,234,127,4,233,184,254,231,148,4,220,237,254,72,184,4,169,227,254, +204,197,4,63,230,254,69,93,4,142,207,254,78,195,3,116,199,254,207,245,2,35,198,254,40,14,2,202,250,254,173,236,0,164,51,255,178,231,255,98,131,255,119,218,254,1,165,255,115,188,253,204,193,255,129,212,252,158,233,255,232,51,252,189,33,0,161,231,251,39, +96,0,158,197,251,133,93,0,111,231,251,129,63,0,124,101,252,99,13,0,149,26,253,218,207,255,108,248,253,88,163,255,103,245,254,221,182,255,90,172,255,125,151,255,100,69,0,34,117,255,242,178,0,5,79,255,191,239,0,232,36,255,226,12,1,146,251,254,161,240,0, +47,196,254,161,242,0,102,187,254,183,218,0,249,208,254,65,219,0,183,245,254,80,174,0,112,29,255,72,102,0,85,64,255,241,50,0,6,89,255,160,240,255,189,106,255,245,214,255,209,115,255,58,167,255,132,99,255,179,119,255,56,91,255,14,101,255,144,87,255,181, +74,255,242,75,255,172,51,255,144,87,255,131,214,254,56,87,255,23,132,254,30,81,255,3,1,254,194,36,255,110,77,253,37,19,255,144,181,252,24,17,255,89,66,252,188,35,255,148,26,252,147,62,255,182,2,252,120,99,255,27,17,252,81,95,255,209,81,252,61,70,255, +128,200,252,243,24,255,4,78,253,4,6,255,116,9,254,62,29,255,84,242,254,148,72,255,119,208,255,72,123,255,187,195,0,208,174,255,153,156,1,45,225,255,111,94,2,227,240,255,217,219,2,172,241,255,4,20,3,199,5,0,148,17,3,1,25,0,31,178,2,55,69,0,191,85,2,121, +105,0,185,31,2,220,93,0,82,200,1,160,247,255,41,36,1,253,118,255,194,68,0,202,177,254,41,178,255,215,0,254,114,38,255,132,117,253,54,129,254,6,44,253,210,6,254,101,2,253,43,155,253,47,212,252,225,40,253,78,154,252,176,180,252,235,94,252,72,148,252,145, +78,252,98,158,252,67,237,251,72,207,252,209,163,251,208,59,253,62,126,251,231,167,253,15,95,251,116,5,254,133,84,251,105,17,254,253,42,251,76,229,253,223,53,251,231,167,253,15,97,251,118,155,253,153,160,251,215,133,253,127,207,251,185,140,253,172,226, +251,109,134,253,245,200,251,209,134,253,38,140,251,111,87,253,54,115,251,240,60,253,66,172,251,1,54,253,105,243,251,75,36,253,152,83,252,15,72,253,63,252,252,33,55,253,192,158,253,127,119,253,189,116,254,77,123,253,210,64,255,143,157,253,185,247,255, +126,166,253,16,234,0,98,138,253,183,213,1,114,113,253,95,140,2,245,116,253,135,223,2,200,168,253,119,240,2,46,250,253,60,22,3,72,59,254,136,235,2,167,139,254,2,145,2,102,233,254,51,13,2,74,136,255,17,177,1,200,69,0,26,82,1,193,54,1,12,3,1,240,16,2,159, +178,0,127,197,2,48,119,0,86,86,3,152,165,0,213,175,3,43,197,0,225,222,3,236,192,0,63,39,4,212,202,0,219,91,4,1,155,0,109,119,4,223,64,0,103,114,4,42,203,255,23,76,4,175,94,255,32,40,4,11,15,255,160,202,3,103,197,254,163,108,3,169,40,254,217,215,2,118, +164,253,241,87,2,107,56,253,217,223,1,175,244,252,128,30,1,242,172,252,18,62,0,102,79,252,131,76,255,215,22,252,15,115,254,211,240,251,140,247,253,201,67,252,85,138,253,143,174,252,117,78,253,93,237,252,21,6,253,205,44,253,100,239,252,124,37,253,127, +3,253,142,93,253,9,2,253,166,142,253,250,233,252,117,221,253,165,7,253,253,16,254,101,48,253,28,77,254,204,84,253,24,214,254,164,58,253,75,98,255,249,32,253,95,225,255,111,18,253,180,6,0,217,88,253,241,250,255,193,214,253,105,195,255,224,75,254,58,170, +255,170,161,254,202,177,255,154,251,254,196,229,255,38,93,255,247,48,0,28,178,255,253,177,0,79,180,255,53,228,0,191,174,255,253,236,0,72,114,255,244,207,0,84,45,255,16,181,0,86,10,255,130,128,0,144,222,254,214,98,0,207,163,254,125,80,0,173,77,254,58, +38,0,37,24,254,85,192,255,219,228,253,206,91,255,215,188,253,30,14,255,142,147,253,82,237,254,226,172,253,59,188,254,191,192,253,23,143,254,225,223,253,217,81,254,186,10,254,129,18,254,166,64,254,66,203,253,79,131,254,57,111,253,52,231,254,122,17,253, +130,129,255,191,150,252,22,35,0,61,53,252,4,176,0,45,13,252,154,95,1,65,30,252,100,250,1,1,71,252,82,54,2,182,127,252,239,71,2,102,209,252,26,120,2,243,239,252,110,151,2,212,53,253,62,171,2,39,183,253,162,228,2,26,108,254,1,246,2,147,255,254,141,18,3, +100,214,255,144,40,3,96,99,0,72,68,3,220,213,0,227,59,3,234,107,1,162,228,2,17,242,1,165,146,2,74,113,2,57,251,1,226,196,2,247,96,1,186,40,3,122,163,0,20,69,3,117,192,255,216,31,3,252,235,254,232,193,2,75,30,254,98,101,2,156,100,253,117,47,2,3,198,252, +94,205,1,171,65,252,2,86,1,148,164,251,204,185,0,106,55,251,190,49,0,173,229,250,187,151,255,203,218,250,138,33,255,219,252,250,223,210,254,72,93,251,220,174,254,155,169,251,136,157,254,166,21,252,254,140,254,101,125,252,176,47,254,240,5,253,241,215, +253,132,163,253,185,155,253,147,122,254,61,98,253,142,127,255,207,117,253,57,135,0,93,160,253,9,153,1,243,225,253,209,145,2,127,65,254,96,64,3,84,188,254,132,172,3,90,114,255,145,176,3,21,46,0,239,116,3,248,186,0,80,32,3,27,92,1,69,174,2,44,191,1,180, +101,2,131,248,1,84,19,2,31,193,1,158,5,2,224,119,1,187,248,1,2,33,1,55,172,1,42,185,0,239,140,1,200,149,0,226,75,1,217,59,0,32,70,1,0,21,0,66,34,1,12,214,255,203,223,0,2,112,255,242,174,0,3,61,255,235,45,0,155,18,255,125,207,255,83,42,255,66,115,255, +50,98,255,172,53,255,221,178,255,195,41,255,223,1,0,86,69,255,110,117,0,119,149,255,178,230,0,166,241,255,192,51,1,157,84,0,80,122,1,239,211,0,209,160,1,174,106,1,48,237,1,150,254,1,233,12,2,147,145,2,91,37,2,253,73,3,51,13,2,231,229,3,52,15,2,157,105, +4,236,40,2,213,167,4,207,71,2,205,150,4,170,75,2,68,85,4,209,146,2,163,228,3,155,173,2,219,109,3,31,183,2,54,215,2,227,80,2,195,66,2,83,209,1,72,159,1,66,47,1,43,117,0,106,146,0,17,253,254,231,18,0,107,169,253,58,174,255,153,143,252,1,102,255,154,159, +251,128,0,255,173,243,250,73,145,254,119,136,250,143,34,254,92,114,250,56,176,253,31,132,250,101,65,253,168,126,250,37,236,252,139,145,250,112,173,252,57,199,250,79,156,252,164,74,251,200,181,252,236,231,251,165,215,252,242,88,252,232,251,252,173,217, +252,183,66,253,30,88,253,212,108,253,99,217,253,195,125,253,118,141,254,242,219,253,165,50,255,149,37,254,247,41,0,213,37,254,110,232,0,29,18,254,147,149,1,134,74,254,212,238,1,126,173,254,215,83,2,134,54,255,44,121,2,23,190,255,103,140,2,158,44,0,198, +100,2,239,90,0,175,53,2,50,86,0,229,34,2,1,90,0,163,53,2,128,112,0,215,14,2,36,129,0,154,225,1,41,177,0,39,138,1,93,197,0,57,7,1,182,221,0,4,113,0,173,245,0,184,228,255,48,247,0,243,139,255,89,90,1,221,45,255,232,146,1,233,234,254,153,226,1,165,178,254, +209,24,2,178,184,254,8,83,2,251,221,254,156,59,2,154,58,255,49,249,1,23,185,255,229,169,1,134,37,0,109,38,1,191,113,0,145,219,0,113,138,0,159,168,0,213,138,0,184,172,0,165,97,0,216,177,0,77,87,0,65,112,0,14,85,0,254,2,0,239,87,0,235,137,255,78,42,0,26, +41,255,45,23,0,145,239,254,43,58,0,144,231,254,101,83,0,168,215,254,147,104,0,116,199,254,150,134,0,168,219,254,80,182,0,118,225,254,166,225,0,34,1,255,69,192,0,157,42,255,193,127,0,85,125,255,39,81,0,236,3,0,140,34,0,229,181,0,60,179,255,48,56,1,105, +70,255,247,172,1,141,48,255,127,21,2,170,35,255,191,33,2,221,49,255,251,7,2,220,100,255,213,11,2,227,219,255,27,80,2,140,99,0,196,203,2,134,222,0,202,76,3,71,82,1,202,194,3,52,205,1,183,252,3,250,57,2,104,17,4,20,127,2,126,54,4,217,219,2,16,72,4,14,61, +3,88,109,4,208,113,3,5,155,4,229,136,3,56,167,4,108,117,3,211,89,4,7,46,3,102,194,3,165,252,2,205,242,2,144,176,2,17,39,2,250,114,2,111,119,1,122,29,2,143,0,1,42,174,1,135,180,0,191,32,1,121,109,0,192,117,0,247,243,255,138,209,255,67,138,255,192,68,255, +41,2,255,84,181,254,27,126,254,56,86,254,80,28,254,97,6,254,166,146,253,6,226,253,155,42,253,56,161,253,22,21,253,174,95,253,121,13,253,221,4,253,249,43,253,172,203,252,194,54,253,179,210,252,205,103,253,233,252,252,252,134,253,101,107,253,170,180,253, +13,233,253,76,183,253,122,69,254,166,209,253,200,156,254,185,9,254,209,242,254,143,36,254,113,87,255,207,109,254,56,13,0,224,212,254,212,195,0,130,146,255,150,65,1,107,30,0,58,208,1,114,218,0,8,66,2,78,161,1,41,209,2,158,140,2,80,36,3,144,57,3,102,120, +3,63,243,3,122,196,3,110,142,4,58,46,4,124,20,5,81,91,4,164,176,5,220,40,4,20,33,6,113,232,3,28,111,6,92,146,3,176,152,6,48,80,3,13,217,6,91,18,3,250,203,6,89,195,2,39,103,6,163,63,2,106,149,5,93,182,1,195,173,4,67,42,1,224,166,3,51,197,0,23,166,2,229, +119,0,54,169,1,185,110,0,50,200,0,44,72,0,107,221,255,168,64,0,99,218,254,127,30,0,1,240,253,131,66,0,195,66,253,27,34,0,224,240,252,34,228,255,128,213,252,72,244,255,240,211,252,180,1,0,6,174,252,21,228,255,23,102,252,139,221,255,242,42,252,140,172, +255,112,248,251,95,157,255,234,222,251,180,131,255,30,241,251,4,117,255,231,62,252,114,95,255,212,114,252,218,15,255,99,173,252,187,217,254,4,30,253,112,144,254,185,153,253,190,50,254,84,5,254,64,235,253,211,153,254,174,152,253,192,77,255,183,59,253, +115,43,0,144,244,252,71,227,0,63,239,252,205,181,1,172,12,253,105,49,2,84,71,253,77,143,2,151,107,253,45,193,2,88,227,253,53,216,2,111,140,254,83,201,2,183,94,255,93,177,2,150,6,0,103,151,2,28,99,0,210,101,2,126,146,0,31,0,2,188,197,0,91,167,1,164,215, +0,46,99,1,144,196,0,46,36,1,224,189,0,153,236,0,126,142,0,126,88,0,92,117,0,60,190,255,254,111,0,42,8,255,232,141,0,139,177,254,67,172,0,212,102,254,158,155,0,207,107,254,95,147,0,214,59,254,92,172,0,76,246,253,132,204,0,46,3,254,166,172,0,207,237,253, +66,170,0,90,2,254,172,165,0,83,62,254,137,130,0,188,169,254,152,93,0,7,30,255,255,121,0,100,157,255,43,117,0,120,231,255,13,75,0,102,41,0,231,7,0,46,99,0,73,242,255,118,138,0,130,255,255,0,7,1,217,245,255,205,122,1,53,235,255,26,11,2,129,245,255,54,163, +2,115,235,255,237,237,2,232,21,0,200,253,2,228,38,0,167,167,2,10,41,0,131,128,2,247,47,0,176,135,2,131,9,0,94,126,2,197,230,255,2,82,2,156,204,255,42,238,1,53,235,255,205,120,1,242,247,255,33,223,0,252,229,255,177,104,0,81,202,255,37,17,0,163,205,255, +188,218,255,162,0,0,229,189,255,138,18,0,238,159,255,161,61,0,203,122,255,138,12,0,139,45,255,152,219,255,106,26,255,152,162,255,128,63,255,74,132,255,205,142,255,70,161,255,201,31,0,4,180,255,234,235,0,165,225,255,148,113,1,252,32,0,77,151,1,27,150, +0,26,147,1,228,233,0,72,105,1,120,74,1,74,1,1,197,149,1,148,119,0,255,229,1,179,250,255,201,59,2,137,145,255,198,90,2,247,121,255,246,80,2,163,94,255,213,63,2,166,65,255,35,27,2,227,47,255,150,51,2,135,68,255,84,19,2,213,33,255,154,225,1,146,249,254, +101,140,1,197,196,254,29,36,1,124,157,254,212,185,0,144,168,254,172,45,0,122,5,255,78,178,255,13,37,255,84,108,255,39,102,255,43,13,255,157,103,255,226,231,254,190,118,255,212,209,254,65,177,255,105,202,254,128,244,255,118,5,255,49,72,0,46,110,255,123, +188,0,255,194,255,110,40,1,218,1,0,56,136,1,180,251,255,115,214,1,210,47,0,68,57,2,248,116,0,86,170,2,136,244,0,245,65,3,208,80,1,130,169,3,46,208,1,187,231,3,215,75,2,88,249,3,189,248,2,196,6,4,121,127,3,124,28,4,204,205,3,87,34,4,155,18,4,120,55,4, +99,82,4,171,67,4,5,142,4,103,74,4,177,171,4,127,7,4,163,161,4,211,166,3,49,88,4,239,68,3,239,49,4,230,234,2,63,230,3,57,65,2,185,204,3,68,128,1,87,157,3,23,186,0,176,114,3,145,231,255,144,46,3,129,8,255,233,1,3,237,37,254,238,183,2,137,163,253,55,160, +2,129,91,253,49,106,2,12,108,253,151,128,2,56,172,253,26,116,2,178,6,254,199,45,2,132,170,254,80,229,1,19,156,255,99,169,1,171,166,0,246,90,1,35,111,1,185,33,1,21,18,2,65,22,1,213,123,2,173,236,0,80,173,2,112,246,0,235,227,2,251,6,1,132,0,3,131,253,0, +137,42,3,51,197,0,179,92,3,193,123,0,211,95,3,143,66,0,89,62,3,232,208,255,156,246,2,172,49,255,104,159,2,101,160,254,60,42,2,35,2,254,47,166,1,91,70,253,76,74,1,146,138,252,106,207,0,211,225,251,129,250,255,225,129,251,173,17,255,2,15,251,48,25,254, +70,203,250,84,19,253,91,165,250,205,52,252,240,153,250,37,132,251,4,171,250,84,230,250,237,188,250,113,87,250,111,235,250,27,231,249,231,61,251,138,95,249,29,216,251,197,195,248,59,134,252,248,22,248,191,82,253,35,207,247,73,10,254,168,165,247,230,202, +254,43,165,247,198,183,255,203,5,248,240,160,0,252,121,248,239,138,1,141,7,249,231,107,2,45,230,249,49,31,3,7,80,251,80,148,3,137,179,252,177,189,3,232,46,254,249,147,3,116,181,255,247,131,3,83,30,1,153,75,3,220,132,2,191,71,3,177,127,3,108,58,3,44,45, +4,210,15,3,112,97,4,67,26,3,147,81,4,171,7,3,160,18,4,80,99,3,26,243,3,40,128,3,21,199,3,65,130,3,42,163,3,66,16,3,39,127,3,129,91,2,152,70,3,44,127,1,118,238,2,53,162,0,195,142,2,62,201,255,12,253,1,59,236,254,254,45,1,172,59,254,106,16,0,163,223,253, +182,239,254,254,143,253,114,193,253,237,99,253,216,217,252,113,101,253,144,66,252,238,109,253,45,208,251,171,118,253,15,160,251,245,114,253,108,141,251,31,102,253,99,179,251,199,30,253,41,172,251,88,245,252,154,170,251,244,177,252,133,147,251,209,140, +252,86,177,251,84,140,252,253,168,251,239,188,252,112,185,251,163,50,253,239,217,251,41,135,253,58,11,252,198,146,253,183,80,252,246,183,253,252,140,252,102,245,253,67,225,252,116,62,254,13,53,253,27,172,254,218,113,253,60,248,254,84,145,253,70,232,254, +24,161,253,68,5,255,12,167,253,41,58,255,208,135,253,32,86,255,129,150,253,129,127,255,74,161,253,122,177,255,244,176,253,244,9,0,111,161,253,6,131,0,134,194,253,155,241,0,241,209,253,28,34,1,18,32,254,224,57,1,240,120,254,230,52,1,221,190,254,65,28, +1,129,10,255,241,235,0,202,51,255,4,172,0,238,98,255,165,105,0,234,119,255,197,37,0,54,128,255,33,226,255,25,94,255,104,182,255,227,49,255,68,198,255,159,255,254,46,232,255,218,225,254,153,233,255,214,177,254,30,198,255,141,138,254,173,122,255,103,132, +254,70,35,255,76,177,254,243,214,254,207,239,254,91,182,254,73,64,255,234,175,254,40,173,255,87,150,254,43,215,255,246,173,254,33,237,255,143,11,255,73,200,255,152,99,255,225,159,255,159,165,255,18,144,255,5,249,255,152,112,255,246,151,0,44,101,255,167, +38,1,36,76,255,110,155,1,239,47,255,82,1,2,242,75,255,197,84,2,65,120,255,34,141,2,235,190,255,198,157,2,0,23,0,194,176,2,119,83,0,223,153,2,97,178,0,168,115,2,189,25,1,141,22,2,39,80,1,106,178,1,130,114,1,163,67,1,135,103,1,98,228,0,237,70,1,92,178, +0,220,24,1,48,112,0,14,218,0,71,90,0,46,160,0,186,59,0,109,42,0,227,26,0,130,203,255,215,162,255,75,90,255,148,61,255,3,246,254,19,216,254,24,151,254,130,143,254,199,96,254,197,118,254,110,13,254,103,129,254,187,228,253,180,139,254,46,131,253,49,203, +254,172,21,253,173,59,255,66,217,252,49,195,255,198,163,252,58,27,0,204,166,252,98,112,0,168,170,252,146,220,0,97,216,252,100,55,1,116,22,253,169,127,1,79,93,253,94,194,1,0,169,253,247,23,2,87,35,254,225,51,2,239,175,254,123,31,2,184,123,255,63,189,1, +242,59,0,132,137,1,188,208,0,80,107,1,39,23,1,159,151,1,39,88,1,1,193,1,22,160,1,17,227,1,91,232,1,51,67,2,249,46,2,25,177,2,62,176,2,132,235,2,146,71,3,148,27,3,228,208,3,60,74,3,16,11,4,20,113,3,101,52,4,124,88,3,27,60,4,211,82,3,90,68,4,149,33,3,229, +13,4,234,208,2,202,127,3,177,75,2,92,234,2,14,193,1,46,79,2,197,236,0,232,203,1,66,40,0,58,87,1,100,144,255,189,226,0,134,238,254,25,78,0,152,111,254,33,107,255,111,10,254,186,90,254,154,198,253,43,105,253,175,103,253,2,144,252,222,10,253,86,240,251, +204,216,252,58,92,251,123,162,252,229,243,250,13,54,252,225,201,250,77,204,251,254,180,250,96,142,251,53,172,250,195,71,251,211,183,250,91,232,250,155,133,250,77,153,250,51,154,250,228,102,250,186,191,250,100,133,250,187,205,250,186,239,250,118,1,251, +91,98,251,104,50,251,237,237,251,78,166,251,67,96,252,123,39,252,225,241,252,49,177,252,90,64,253,185,33,253,235,144,253,184,143,253,96,248,253,42,217,253,20,96,254,25,238,253,107,216,254,193,233,253,73,67,255,9,194,253,189,217,255,26,181,253,140,97, +0,61,98,253,109,220,0,204,36,253,226,75,1,34,9,253,68,186,1,21,11,253,14,10,2,177,16,253,52,65,2,220,62,253,83,70,2,39,128,253,213,59,2,147,17,254,234,19,2,220,176,254,91,219,1,154,71,255,148,161,1,239,232,255,119,125,1,172,111,0,151,69,1,255,191,0,101, +10,1,15,226,0,156,253,0,6,207,0,89,14,1,11,253,0,210,234,0,194,79,1,67,178,0,171,148,1,45,84,0,201,200,1,5,52,0,171,22,2,119,13,0,146,91,2,120,218,255,72,156,2,195,218,255,53,210,2,93,200,255,157,195,2,193,198,255,42,161,2,126,217,255,150,62,2,209,230, +255,59,223,1,83,23,0,216,106,1,205,54,0,255,250,0,110,43,0,32,148,0,14,24,0,125,214,255,94,15,0,107,30,255,142,249,255,36,94,254,56,204,255,65,142,253,95,157,255,165,211,252,235,61,255,213,6,252,72,181,254,212,126,251,210,69,254,114,18,251,241,204,253, +214,219,250,246,126,253,228,229,250,124,229,252,97,232,250,245,126,252,129,237,250,244,114,252,160,49,251,242,157,252,246,149,251,233,252,252,174,51,252,212,158,253,84,218,252,224,89,254,156,105,253,120,232,254,235,19,254,88,89,255,119,223,254,92,123, +255,118,207,255,105,188,255,221,231,0,153,231,255,148,172,1,117,62,0,72,93,2,98,116,0,218,185,2,36,185,0,229,161,2,146,216,0,129,98,2,238,6,1,35,36,2,227,22,1,139,13,2,175,61,1,255,43,2,12,122,1,169,4,2,230,176,1,140,159,1,70,202,1,176,220,0,255,231, +1,146,40,0,48,226,1,200,159,255,219,180,1,17,8,255,154,95,1,87,161,254,25,193,0,222,70,254,105,255,255,201,242,253,13,89,255,204,158,253,182,165,254,68,105,253,76,239,253,135,84,253,12,95,253,84,74,253,172,12,253,222,82,253,124,229,252,60,80,253,112, +170,252,114,69,253,72,144,252,228,81,253,142,98,252,31,109,253,160,93,252,82,117,253,12,111,252,64,130,253,178,137,252,95,180,253,47,207,252,2,254,253,197,16,253,76,53,254,178,74,253,60,72,254,150,223,253,246,62,254,245,43,254,121,64,254,175,160,254, +99,90,254,88,30,255,97,137,254,111,122,255,157,176,254,6,202,255,160,7,255,44,11,0,53,57,255,117,58,0,139,108,255,63,79,0,128,122,255,89,89,0,245,166,255,87,126,0,13,159,255,133,216,0,216,130,255,169,62,1,81,95,255,180,166,1,120,101,255,161,226,1,71, +115,255,222,15,2,131,213,255,9,17,2,187,74,0,86,35,2,151,220,0,251,69,2,150,139,1,23,228,1,53,33,2,225,118,1,60,152,2,208,208,0,54,218,2,39,26,0,72,20,3,39,34,255,206,246,2,234,57,254,46,207,2,225,170,253,25,121,2,165,70,253,44,254,1,102,58,253,47,105, +1,90,66,253,32,209,0,99,152,253,108,93,0,91,202,253,95,225,255,27,247,253,182,99,255,202,48,254,40,254,254,142,133,254,249,159,254,21,236,254,134,70,254,205,72,255,127,252,253,137,144,255,209,200,253,92,190,255,248,151,253,218,1,0,162,171,253,83,88,0, +149,222,253,9,165,0,235,82,254,50,254,0,146,190,254,251,73,1,40,57,255,27,142,1,0,216,255,202,203,1,45,91,0,226,252,1,61,249,0,205,36,2,192,120,1,203,75,2,101,9,2,97,145,2,122,217,2,74,165,2,206,108,3,186,220,2,163,186,3,240,12,3,118,234,3,205,32,3,23, +24,4,223,21,3,49,93,4,75,236,2,160,142,4,52,193,2,35,203,4,176,118,2,209,191,4,233,64,2,140,127,4,5,111,1,146,6,4,216,166,0,62,109,3,212,6,0,2,204,2,39,97,255,81,59,2,250,209,254,115,161,1,16,60,254,16,236,0,120,236,253,247,58,0,230,155,253,149,84,255, +131,92,253,6,42,254,94,35,253,145,70,253,119,242,252,211,165,252,239,182,252,128,26,252,232,124,252,213,195,251,23,89,252,122,163,251,190,72,252,9,157,251,201,58,252,38,140,251,159,140,252,72,165,251,209,14,253,151,199,251,201,170,253,195,7,252,246,112, +254,5,105,252,120,33,255,8,11,253,229,243,255,132,241,253,150,201,0,40,191,254,250,124,1,97,186,255,135,88,2,194,211,0,3,12,3,138,204,1,107,174,3,216,220,2,225,39,4,62,227,3,185,131,4,100,229,4,12,157,4,10,193,5,87,210,4,120,92,6,165,242,4,232,212,6, +214,35,5,214,81,7,206,85,5,182,149,7,100,88,5,61,183,7,41,59,5,66,164,7,19,22,5,141,164,7,70,227,4,143,131,7,156,95,4,194,74,7,233,249,3,137,8,7,229,79,3,52,166,6,199,165,2,155,66,6,242,229,1,218,208,5,206,58,1,37,87,5,239,146,0,115,182,4,138,18,0,127, +253,3,181,204,255,49,42,3,42,188,255,111,46,2,142,186,255,38,72,1,197,114,255,120,97,0,113,24,255,232,162,255,152,180,254,214,234,254,92,76,254,99,92,254,216,9,254,193,229,253,214,180,253,163,114,253,31,163,253,76,2,253,104,135,253,92,172,252,21,126, +253,206,121,252,133,112,253,189,134,252,98,75,253,179,166,252,93,27,253,165,207,252,244,244,252,22,25,253,48,209,252,170,70,253,101,184,252,199,110,253,13,176,252,88,108,253,106,169,252,227,71,253,207,183,252,28,79,253,232,244,252,249,100,253,19,39,253, +217,158,253,66,135,253,31,231,253,244,224,253,75,35,254,204,72,254,93,97,254,61,140,254,68,156,254,146,183,254,208,247,254,208,37,255,188,100,255,202,99,255,127,171,255,107,145,255,81,14,0,245,153,255,44,83,0,217,186,255,225,143,0,139,164,255,190,165, +0,238,152,255,44,207,0,223,128,255,2,226,0,221,104,255,141,177,0,148,126,255,190,108,0,20,151,255,249,64,0,152,162,255,233,34,0,51,152,255,209,46,0,154,117,255,128,51,0,181,82,255,175,17,0,42,60,255,117,0,0,241,249,254,17,6,0,139,172,254,186,255,255, +14,162,254,248,5,0,153,129,254,254,61,0,44,31,254,80,128,0,201,170,253,81,142,0,167,82,253,180,138,0,162,235,252,155,75,0,83,193,252,217,252,255,46,189,252,112,151,255,61,217,252,154,8,255,226,253,252,218,156,254,254,19,253,107,54,254,110,83,253,27,252, +253,169,165,253,234,196,253,107,226,253,59,141,253,75,30,254,2,130,253,143,23,254,79,87,253,100,34,254,237,102,253,121,57,254,22,145,253,135,69,254,226,183,253,199,89,254,123,19,254,63,154,254,207,107,254,188,223,254,228,189,254,21,236,254,85,255,254, +183,230,254,253,124,255,245,234,254,242,6,0,216,249,254,113,145,0,109,45,255,100,66,1,39,99,255,11,180,1,167,192,255,180,53,2,237,4,0,27,145,2,102,91,0,224,241,2,91,164,0,186,38,3,102,219,0,183,12,3,186,45,1,158,2,3,254,160,1,153,19,3,225,240,1,146,67, +3,151,2,2,149,99,3,14,203,1,106,47,3,130,176,1,140,17,3,246,90,1,105,173,2,103,227,0,2,143,2,108,96,0,177,80,2,219,82,0,103,31,2,27,89,0,44,195,1,253,97,0,214,96,1,153,42,0,209,231,0,113,16,0,110,119,0,7,212,255,33,34,0,248,132,255,34,245,255,26,28,255, +231,215,255,219,155,254,107,162,255,63,36,254,104,71,255,117,151,253,24,210,254,166,19,253,181,101,254,20,120,252,39,63,254,199,178,251,15,67,254,60,32,251,107,50,254,15,214,250,2,55,254,156,197,250,142,18,254,252,21,251,124,27,254,234,144,251,85,13, +254,162,50,252,52,63,254,129,214,252,33,119,254,119,104,253,74,220,254,237,217,253,188,35,255,69,100,254,209,121,255,210,252,254,186,192,255,173,179,255,129,252,255,39,24,0,164,41,0,1,205,0,218,138,0,145,70,1,127,226,0,41,158,1,1,84,1,47,216,1,98,178, +1,161,230,1,140,27,2,46,13,2,253,86,2,208,15,2,226,66,2,16,24,2,164,17,2,129,38,2,9,221,1,213,63,2,212,190,1,228,85,2,118,193,1,148,96,2,2,13,2,54,91,2,183,79,2,243,101,2,86,113,2,115,138,2,55,110,2,59,200,2,75,121,2,184,198,2,110,156,2,234,206,2,208, +12,3,236,165,2,196,140,3,184,76,2,73,26,4,18,243,1,29,141,4,160,220,1,159,2,5,162,175,1,85,67,5,62,120,1,117,76,5,240,91,1,125,36,5,209,23,1,43,31,5,60,230,0,166,5,5,136,177,0,139,180,4,169,194,0,178,72,4,24,181,0,12,233,3,156,192,0,16,147,3,207,206, +0,182,254,2,147,226,0,213,123,2,128,225,0,90,224,1,233,212,0,28,100,1,133,155,0,248,249,0,205,123,0,11,133,0,63,79,0,62,15,0,165,99,0,68,201,255,8,151,0,180,144,255,63,205,0,28,122,255,123,242,0,110,131,255,234,23,1,70,162,255,132,11,1,26,222,255,76, +8,1,156,18,0,204,241,0,19,22,0,227,217,0,36,13,0,143,186,0,57,30,0,121,222,0,187,76,0,100,189,0,190,169,0,69,139,0,91,104,1,60,104,0,36,48,2,230,60,0,251,3,3,2,30,0,42,157,3,172,230,255,231,232,3,90,229,255,44,47,4,129,243,255,55,86,4,208,29,0,216,84, +4,3,105,0,240,66,4,63,132,0,171,65,4,81,123,0,219,240,3,227,158,0,95,181,3,73,175,0,147,138,3,202,217,0,234,142,3,242,237,0,234,138,3,47,220,0,17,104,3,92,231,0,130,37,3,165,219,0,43,236,2,11,179,0,35,158,2,212,191,0,69,126,2,111,181,0,174,50,2,98,179, +0,170,203,1,55,174,0,132,71,1,239,152,0,210,241,0,155,127,0,10,180,0,144,74,0,113,151,0,143,7,0,178,110,0,203,235,255,165,106,0,112,201,255,197,58,0,174,132,255,240,240,255,86,126,255,157,166,255,145,88,255,154,73,255,8,35,255,234,3,255,82,23,255,248, +200,254,56,210,254,30,148,254,4,192,254,203,136,254,206,212,254,40,130,254,211,203,254,122,135,254,47,189,254,224,218,254,62,85,254,209,3,255,39,239,253,22,66,255,81,100,253,46,117,255,99,34,253,124,149,255,221,254,252,102,171,255,2,62,253,105,146,255, +141,129,253,223,72,255,144,220,253,7,231,254,197,65,254,223,145,254,182,159,254,150,104,254,241,253,254,61,88,254,79,58,255,226,53,254,148,124,255,211,31,254,41,180,255,204,22,254,129,176,255,59,68,254,98,116,255,148,151,254,211,65,255,93,16,255,138, +20,255,89,175,255,161,8,255,137,76,0,108,232,254,128,230,0,58,175,254,94,79,1,70,169,254,116,163,1,193,204,254,197,223,1,108,228,254,195,6,2,161,10,255,75,68,2,32,33,255,197,154,2,73,57,255,117,228,2,140,103,255,14,9,3,36,126,255,167,37,3,33,226,255, +213,3,3,120,31,0,91,216,2,227,99,0,153,155,2,107,143,0,191,98,2,42,174,0,216,39,2,95,210,0,58,219,1,230,245,0,44,134,1,4,38,1,217,250,0,36,41,1,114,163,0,122,33,1,164,104,0,214,22,1,30,67,0,178,30,1,210,60,0,155,46,1,71,46,0,134,25,1,239,90,0,244,1,1, +91,114,0,99,250,0,134,111,0,95,13,1,33,101,0,220,9,1,246,42,0,102,219,0,23,196,255,161,187,0,9,64,255,199,120,0,171,186,254,182,74,0,0,165,254,237,201,255,181,158,254,24,69,255,240,187,254,217,206,254,9,188,254,128,121,254,147,192,254,169,33,254,237, +222,254,169,224,253,22,56,255,74,146,253,159,172,255,215,129,253,210,64,0,246,126,253,58,227,0,120,173,253,225,133,1,184,252,253,137,3,2,123,77,254,157,132,2,95,163,254,173,223,2,112,18,255,226,62,3,167,119,255,13,180,3,45,214,255,136,32,4,57,17,0,174, +34,4,79,107,0,70,250,3,57,202,0,22,146,3,160,39,1,153,80,3,213,134,1,46,12,3,3,213,1,242,173,2,85,31,2,186,107,2,2,71,2,200,58,2,80,97,2,177,25,2,211,102,2,180,244,1,21,131,2,200,5,2,230,103,2,142,238,1,157,66,2,208,209,1,35,220,1,160,105,1,153,83,1, +58,26,1,110,226,0,199,196,0,67,109,0,220,101,0,60,242,255,130,8,0,11,128,255,12,145,255,28,56,255,156,28,255,212,213,254,161,147,254,142,133,254,234,60,254,46,55,254,161,27,254,229,5,254,29,22,254,108,242,253,21,255,253,139,235,253,141,6,254,218,159, +253,252,0,254,137,162,253,41,79,254,81,161,253,188,106,254,227,245,253,13,161,254,29,129,254,255,215,254,31,21,255,90,244,254,157,214,255,193,26,255,24,120,0,136,76,255,245,15,1,244,95,255,244,131,1,59,117,255,39,6,2,68,205,255,147,86,2,143,14,0,157, +184,2,16,53,0,231,243,2,106,87,0,83,58,3,36,125,0,110,84,3,9,170,0,65,69,3,71,225,0,10,25,3,140,33,1,109,5,3,151,143,1,30,166,2,40,224,1,137,51,2,159,34,2,58,145,1,128,94,2,130,48,1,203,149,2,70,210,0,137,182,2,153,105,0,74,174,2,116,44,0,24,180,2,77, +219,255,202,208,2,110,183,255,176,3,3,126,152,255,151,62,3,23,126,255,156,108,3,41,121,255,102,131,3,181,133,255,181,108,3,205,188,255,70,65,3,112,4,0,238,249,2,238,71,0,246,209,2,139,152,0,159,215,2,135,226,0,26,3,3,87,248,0,102,5,3,113,254,0,45,4,3, +106,188,0,139,200,2,248,175,0,149,119,2,135,226,0,21,22,2,117,44,1,172,160,1,238,124,1,82,85,1,65,209,1,86,251,0,253,219,1,164,153,0,23,224,1,67,63,0,73,226,1,239,35,0,192,227,1,114,228,255,252,207,1,61,196,255,245,133,1,29,134,255,8,23,1,175,96,255, +25,132,0,90,51,255,60,250,255,244,32,255,43,131,255,217,16,255,12,12,255,179,4,255,246,173,254,147,9,255,50,93,254,74,214,254,70,45,254,241,197,254,18,23,254,134,196,254,132,230,253,126,179,254,37,158,253,58,125,254,19,104,253,218,89,254,59,67,253,51, +49,254,103,74,253,41,83,254,145,114,253,66,138,254,25,168,253,67,203,254,141,255,253,195,38,255,2,46,254,111,137,255,52,111,254,34,243,255,124,201,254,14,98,0,60,55,255,41,177,0,199,191,255,191,181,0,205,54,0,130,193,0,177,152,0,242,181,0,33,216,0,139, +167,0,150,2,1,125,208,0,203,26,1,188,17,1,24,47,1,62,123,1,227,144,1,158,219,1,47,220,1,207,4,2,206,48,2,74,54,2,147,84,2,145,75,2,83,131,2,132,126,2,189,128,2,172,152,2,193,168,2,110,160,2,52,191,2,221,150,2,110,212,2,2,76,2,74,222,2,28,228,1,147,206, +2,245,150,1,248,149,2,5,124,1,26,57,2,119,132,1,86,167,1,239,149,1,165,28,1,162,188,1,49,122,0,202,208,1,57,15,0,89,216,1,122,177,255,19,201,1,200,140,255,163,204,1,253,117,255,43,189,1,210,122,255,196,156,1,251,150,255,189,88,1,121,159,255,58,34,1,218, +190,255,86,52,1,10,240,255,151,78,1,9,35,0,79,112,1,56,66,0,206,136,1,186,59,0,218,124,1,248,55,0,138,135,1,167,48,0,168,183,1,125,69,0,118,246,1,45,141,0,122,99,2,135,228,0,140,7,3,74,57,1,163,123,3,114,142,1,153,202,3,215,213,1,168,230,3,241,85,2,136, +32,4,232,182,2,88,113,4,139,51,3,91,196,4,16,199,3,47,254,4,98,66,4,181,33,5,230,140,4,20,41,5,68,213,4,45,43,5,161,1,5,208,45,5,88,214,4,5,218,4,189,171,4,239,123,4,238,94,4,106,234,3,114,242,3,103,86,3,152,116,3,248,170,2,192,219,2,62,253,1,254,91, +2,75,133,1,251,2,2,51,78,1,239,140,1,67,246,0,103,24,1,19,142,0,17,178,0,183,40,0,155,121,0,34,245,255,118,70,0,116,187,255,120,27,0,247,131,255,194,19,0,26,102,255,109,228,255,161,23,255,43,200,255,145,237,254,81,141,255,41,4,255,36,65,255,22,64,255, +142,206,254,166,122,255,161,138,254,135,184,255,252,50,254,72,249,255,228,253,253,84,249,255,84,4,254,172,186,255,159,250,253,100,94,255,215,249,253,1,232,254,243,29,254,98,147,254,45,49,254,206,38,254,102,52,254,40,6,254,41,7,254,206,229,253,87,219, +253,130,217,253,164,237,253,153,203,253,92,21,254,115,191,253,135,61,254,79,213,253,85,69,254,187,230,253,148,77,254,105,26,254,125,91,254,9,68,254,182,102,254,81,95,254,221,110,254,223,145,254,50,158,254,51,175,254,245,230,254,28,246,254,135,61,255, +21,54,255,194,139,255,119,93,255,46,222,255,244,156,255,79,40,0,250,155,255,205,121,0,120,168,255,73,169,0,11,196,255,137,193,0,70,231,255,115,217,0,228,238,255,184,222,0,195,227,255,43,188,0,230,203,255,242,117,0,65,173,255,24,2,0,146,180,255,143,190, +255,234,184,255,210,116,255,255,148,255,71,102,255,229,140,255,177,46,255,133,109,255,107,220,254,177,57,255,88,158,254,88,232,254,242,135,254,93,221,254,155,78,254,248,145,254,67,74,254,241,136,254,163,93,254,216,138,254,13,91,254,253,126,254,221,116, +254,209,133,254,218,86,254,103,132,254,195,106,254,144,166,254,45,102,254,99,153,254,98,140,254,163,163,254,18,139,254,145,182,254,217,143,254,106,227,254,38,154,254,164,106,255,31,147,254,200,17,0,201,166,254,176,153,0,133,173,254,174,1,1,63,217,254, +11,52,1,103,245,254,45,18,1,3,52,255,114,224,0,89,95,255,196,166,0,242,129,255,223,119,0,232,155,255,192,59,0,136,189,255,242,201,255,187,201,255,11,137,255,215,168,255,200,224,254,138,142,255,128,136,254,58,94,255,99,37,254,122,45,255,128,10,254,188, +223,254,184,5,254,231,153,254,58,253,253,22,120,254,168,219,253,94,96,254,80,154,253,87,87,254,95,121,253,101,109,254,126,124,253,226,158,254,41,144,253,186,199,254,68,166,253,46,240,254,233,188,253,113,26,255,107,184,253,104,54,255,182,241,253,210,118, +255,166,77,254,161,189,255,55,209,254,160,244,255,62,25,255,15,36,0,148,70,255,158,23,0,123,70,255,24,0,0,150,94,255,248,187,255,195,168,255,139,154,255,0,210,255,192,123,255,14,232,255,25,77,255,230,2,0,137,12,255,51,33,0,121,234,254,236,131,0,169,212, +254,236,190,0,98,0,255,41,234,0,103,46,255,35,48,1,129,117,255,8,93,1,91,174,255,237,125,1,147,236,255,76,143,1,134,35,0,215,155,1,206,66,0,185,176,1,174,124,0,84,225,1,99,124,0,11,241,1,64,148,0,184,217,1,55,184,0,70,203,1,159,224,0,70,146,1,165,28, +1,188,80,1,139,77,1,140,35,1,228,150,1,139,21,1,127,203,1,48,245,0,43,44,2,82,211,0,156,115,2,103,171,0,37,169,2,240,161,0,46,200,2,88,92,0,252,0,3,34,113,0,222,15,3,73,129,0,199,31,3,95,156,0,4,22,3,14,157,0,58,255,2,5,189,0,53,209,2,17,248,0,97,141, +2,154,47,1,79,30,2,156,126,1,79,158,1,249,184,1,26,10,1,35,235,1,72,171,0,127,15,2,164,83,0,197,36,2,206,202,255,178,31,2,177,107,255,238,7,2,223,65,255,171,211,1,251,28,255,179,108,1,43,11,255,134,32,1,212,24,255,207,215,0,212,16,255,32,148,0,214,44, +255,44,144,0,248,69,255,240,112,0,45,88,255,228,108,0,63,85,255,215,49,0,216,54,255,209,52,0,6,25,255,228,238,255,159,238,254,122,192,255,126,229,254,2,108,255,12,209,254,111,11,255,247,246,254,208,174,254,126,30,255,252,63,254,80,70,255,125,234,253, +31,137,255,5,158,253,77,160,255,201,122,253,163,211,255,196,141,253,87,207,255,186,163,253,40,235,255,196,194,253,119,208,255,148,214,253,218,190,255,27,191,253,78,105,255,15,197,253,8,41,255,170,50,254,176,227,254,103,189,254,95,161,254,138,96,255,49, +85,254,209,241,255,24,20,254,213,23,0,209,246,253,84,245,255,89,241,253,180,203,255,163,233,253,73,133,255,178,3,254,241,71,255,71,53,254,18,26,255,103,129,254,143,24,255,70,222,254,115,248,254,89,38,255,78,195,254,237,140,255,71,188,254,15,225,255,99, +218,254,138,71,0,52,51,255,160,169,0,129,187,255,36,244,0,1,27,0,224,59,1,166,118,0,114,75,1,61,186,0,221,86,1,134,229,0,145,133,1,26,21,1,235,220,1,247,46,1,227,67,2,21,34,1,112,167,2,235,249,0,8,1,3,28,169,0,27,61,3,189,94,0,169,46,3,178,45,0,203,8, +3,103,53,0,39,195,2,87,15,0,32,119,2,48,7,0,168,237,1,148,190,255,39,73,1,168,85,255,147,173,0,149,29,255,99,201,255,37,218,254,178,241,254,101,175,254,234,0,254,204,140,254,48,26,253,217,81,254,107,59,252,140,2,254,235,97,251,155,158,253,247,225,250, +39,57,253,108,144,250,113,191,252,79,104,250,62,57,252,225,127,250,60,165,251,25,127,250,31,62,251,42,118,250,182,212,250,214,141,250,198,177,250,238,143,250,135,185,250,159,158,250,251,22,251,143,189,250,41,164,251,55,242,250,140,20,252,79,37,251,254, +162,252,191,94,251,250,49,253,19,124,251,89,189,253,49,178,251,172,11,254,83,73,252,224,155,254,108,252,252,70,237,254,119,226,253,159,58,255,116,184,254,46,121,255,96,106,255,189,167,255,134,45,0,153,175,255,144,255,0,28,179,255,108,141,1,71,115,255, +108,7,2,40,61,255,85,147,2,49,21,255,79,20,3,155,16,255,208,127,3,49,80,255,94,166,3,144,97,255,121,182,3,95,99,255,75,169,3,77,104,255,74,157,3,73,127,255,56,103,3,19,156,255,146,7,3,179,187,255,195,190,2,95,172,255,156,113,2,221,182,255,227,77,2,75, +155,255,225,250,1,171,115,255,27,205,1,140,55,255,132,137,1,47,249,254,62,55,1,241,201,254,222,236,0,106,160,254,41,160,0,148,141,254,101,87,0,131,168,254,224,0,0,16,197,254,106,206,255,252,250,254,143,204,255,240,59,255,130,131,255,128,120,255,106,84, +255,51,226,255,182,25,255,252,41,0,110,244,254,236,131,0,202,180,254,47,168,0,254,133,254,221,229,0,219,94,254,26,214,0,152,111,254,62,200,0,209,120,254,55,185,0,180,143,254,170,160,0,105,200,254,36,127,0,190,235,254,121,50,0,69,27,255,204,0,0,8,100, +255,216,248,255,237,138,255,96,233,255,31,202,255,112,212,255,99,8,0,87,214,255,160,47,0,6,207,255,104,50,0,152,234,255,140,36,0,7,28,0,121,39,0,92,65,0,231,70,0,47,56,0,160,171,0,236,5,0,1,211,0,92,203,255,93,243,0,15,118,255,135,43,1,214,45,255,57, +131,1,43,26,255,254,217,1,172,1,255,45,7,2,184,249,254,78,20,2,34,247,254,60,29,2,240,189,254,2,12,2,222,133,254,55,180,1,87,102,254,139,75,1,242,77,254,138,197,0,20,52,254,209,100,0,31,36,254,99,254,255,115,8,254,106,141,255,11,220,253,10,51,255,24, +163,253,118,5,255,74,165,253,40,180,254,7,184,253,2,111,254,178,4,254,201,36,254,92,81,254,196,248,253,78,140,254,210,201,253,46,188,254,235,142,253,98,210,254,161,87,253,183,184,254,21,55,253,168,162,254,80,88,253,209,129,254,29,143,253,160,137,254, +82,230,253,187,161,254,171,51,254,53,187,254,225,156,254,34,253,254,154,251,254,227,49,255,82,96,255,119,93,255,106,141,255,192,136,255,129,182,255,230,142,255,0,201,255,29,128,255,252,229,255,73,137,255,125,10,0,208,107,255,224,57,0,153,63,255,132,147, +0,121,251,254,198,175,0,175,167,254,240,217,0,251,110,254,19,202,0,160,72,254,224,193,0,203,73,254,172,230,0,205,89,254,184,222,0,94,101,254,193,249,0,10,76,254,79,231,0,100,43,254,30,247,0,153,8,254,157,7,1,90,4,254,104,32,1,17,26,254,86,41,1,217,81, +254,195,17,1,42,146,254,221,224,0,216,201,254,31,131,0,251,234,254,60,49,0,111,15,255,154,243,255,110,64,255,126,213,255,149,135,255,145,220,255,217,203,255,173,242,255,48,7,0,53,237,255,226,84,0,45,23,0,64,96,0,69,19,0,165,112,0,73,53,0,222,121,0,99, +65,0,92,128,0,55,119,0,225,145,0,73,169,0,55,69,0,106,190,0,104,197,255,253,160,0,53,63,255,121,102,0,140,183,254,13,69,0,215,63,254,47,41,0,23,214,253,167,255,255,208,133,253,49,201,255,202,73,253,72,177,255,151,0,253,85,124,255,202,199,252,235,59,255, +209,147,252,251,28,255,9,149,252,145,29,255,253,148,252,1,26,255,21,143,252,50,24,255,51,191,252,199,8,255,23,27,253,2,34,255,220,133,253,204,56,255,230,30,254,12,71,255,82,227,254,7,96,255,173,135,255,117,129,255,230,12,0,164,156,255,132,89,0,209,169, +255,245,160,0,102,162,255,116,236,0,71,165,255,64,31,1,200,209,255,236,119,1,232,15,0,161,178,1,102,93,0,206,193,1,36,175,0,144,199,1,160,33,1,160,170,1,35,98,1,229,173,1,18,182,1,141,228,1,98,230,1,190,80,2,133,9,2,203,92,2,156,54,2,255,47,2,165,77, +2,13,194,1,70,66,2,75,76,1,69,50,2,159,227,0,71,9,2,124,133,0,41,223,1,221,233,255,159,153,1,207,32,255,125,55,1,124,96,254,212,189,0,96,188,253,249,57,0,21,66,253,123,122,255,120,194,252,30,196,254,255,111,252,56,25,254,54,38,252,62,162,253,122,218, +251,236,87,253,164,144,251,251,52,253,162,126,251,202,60,253,163,142,251,252,62,253,20,208,251,46,126,253,76,69,252,119,167,253,40,207,252,210,8,254,32,119,253,62,144,254,246,7,254,184,248,254,6,152,254,123,130,255,146,247,254,34,228,255,235,68,255,237, +126,0,18,148,255,32,202,0,185,194,255,141,32,1,169,24,0,135,39,1,210,64,0,150,63,1,49,76,0,205,111,1,65,49,0,201,136,1,12,17,0,142,168,1,166,181,255,28,160,1,6,91,255,76,134,1,164,238,254,236,47,1,217,146,254,205,239,0,109,74,254,43,117,0,182,46,254, +139,28,0,15,2,254,230,198,255,152,193,253,212,73,255,200,51,253,158,234,254,95,194,252,145,112,254,121,80,252,140,253,253,246,25,252,50,158,253,214,18,252,235,79,253,213,4,252,2,60,253,55,241,251,189,58,253,230,178,251,244,43,253,24,122,251,209,8,253, +3,93,251,199,227,252,44,137,251,125,241,252,164,207,251,212,231,252,169,66,252,42,218,252,223,163,252,249,227,252,191,20,253,55,224,252,47,84,253,184,8,253,13,179,253,95,51,253,125,45,254,204,137,253,168,93,254,201,229,253,255,156,254,138,99,254,30,148, +254,17,5,255,128,132,254,88,142,255,153,69,254,164,20,0,171,64,254,217,121,0,113,43,254,168,196,0,233,1,254,155,241,0,253,205,253,241,36,1,253,150,253,89,69,1,172,90,253,153,91,1,165,14,253,33,80,1,120,196,252,98,41,1,226,128,252,224,252,0,244,119,252, +214,211,0,204,160,252,1,148,0,75,244,252,113,75,0,150,53,253,105,251,255,129,87,253,27,164,255,116,144,253,108,104,255,210,212,253,146,37,255,43,36,254,32,25,255,205,146,254,73,4,255,86,21,255,85,250,254,123,137,255,2,231,254,112,214,255,185,193,254, +228,51,0,153,184,254,59,105,0,61,203,254,193,140,0,87,211,254,221,166,0,167,7,255,8,217,0,191,60,255,137,5,1,60,118,255,220,83,1,15,225,255,77,153,1,22,45,0,82,138,1,208,153,0,99,127,1,59,224,0,203,47,1,248,47,1,146,227,0,134,153,1,62,135,0,14,203,1, +59,42,0,70,255,1,53,244,255,112,45,2,128,175,255,215,73,2,248,80,255,46,68,2,12,222,254,101,252,1,74,92,254,96,210,1,97,17,254,20,200,1,236,220,253,158,202,1,1,187,253,248,165,1,40,138,253,241,99,1,160,153,253,153,34,1,99,167,253,18,184,0,209,141,253, +124,124,0,110,153,253,241,46,0,251,183,253,154,243,255,247,212,253,11,189,255,70,54,254,116,111,255,224,155,254,1,28,255,179,12,255,232,228,254,22,188,255,160,197,254,87,76,0,89,221,254,216,177,0,53,239,254,148,251,0,93,15,255,115,39,1,232,94,255,112, +123,1,185,120,255,136,184,1,197,177,255,228,29,2,104,249,255,16,159,2,21,90,0,122,219,2,172,232,0,12,235,2,55,113,1,51,200,2,168,44,2,177,145,2,176,185,2,244,71,2,187,94,3,38,3,2,96,249,3,47,166,1,108,109,4,88,137,1,253,189,4,134,97,1,155,71,5,252,88, +1,220,152,5,1,80,1,206,203,5,22,44,1,99,196,5,129,246,0,150,141,5,18,254,0,14,37,5,210,245,0,212,159,4,81,8,1,193,20,4,252,232,0,30,152,3,248,247,0,90,0,3,46,170,0,15,73,2,158,101,0,63,124,1,255,8,0,34,159,0,101,232,255,18,194,255,140,183,255,211,12, +255,246,115,255,126,105,254,205,26,255,66,192,253,74,155,254,81,98,253,92,81,254,103,1,253,190,0,254,6,173,252,221,204,253,216,139,252,248,220,253,186,95,252,241,215,253,42,96,252,85,206,253,254,155,252,71,194,253,204,218,252,131,168,253,211,93,253,79, +148,253,2,182,253,22,145,253,12,24,254,119,176,253,29,129,254,155,30,254,27,233,254,70,60,254,200,79,255,28,77,254,122,171,255,113,45,254,243,1,0,56,231,253,45,84,0,28,144,253,98,169,0,190,79,253,42,239,0,152,8,253,97,27,1,176,187,252,250,0,1,121,149, +252,253,233,0,14,140,252,98,169,0,148,165,252,22,98,0,235,218,252,142,62,0,34,9,253,34,33,0,67,30,253,134,238,255,116,22,253,168,188,255,15,12,253,59,100,255,64,254,252,81,19,255,117,231,252,120,224,254,189,4,253,233,171,254,144,249,252,227,107,254,104, +219,252,180,78,254,206,245,252,9,53,254,153,87,253,186,209,253,71,194,253,176,113,253,34,70,254,212,233,252,236,208,254,48,156,252,220,105,255,86,95,252,233,233,255,136,95,252,77,47,0,144,171,252,191,55,0,165,68,253,13,80,0,215,253,253,150,86,0,31,155, +254,253,55,0,41,58,255,118,12,0,226,211,255,78,246,255,201,77,0,31,215,255,6,192,0,134,186,255,119,1,1,219,160,255,249,55,1,120,103,255,117,46,1,100,25,255,253,32,1,201,169,254,62,246,0,105,91,254,236,179,0,170,245,253,223,108,0,106,172,253,18,62,0,124, +100,253,124,2,0,221,15,253,125,203,255,187,242,252,189,156,255,15,207,252,143,78,255,179,223,252,113,26,255,83,3,253,213,223,254,83,68,253,196,183,254,38,116,253,206,157,254,28,203,253,76,166,254,87,43,254,183,173,254,200,100,254,219,216,254,35,143,254, +199,211,254,54,195,254,220,230,254,51,240,254,16,255,254,53,57,255,171,45,255,166,124,255,69,82,255,173,192,255,38,146,255,213,218,255,28,168,255,234,239,255,197,175,255,166,244,255,79,249,255,162,21,0,49,59,0,26,96,0,118,125,0,69,142,0,141,168,0,221, +162,0,132,1,1,199,196,0,194,62,1,18,197,0,176,126,1,120,158,0,126,136,1,184,115,0,10,161,1,27,94,0,233,198,1,6,134,0,160,218,1,218,130,0,108,202,1,5,132,0,7,190,1,86,127,0,180,176,1,194,89,0,98,167,1,52,230,255,130,170,1,12,149,255,167,174,1,31,87,255, +199,173,1,60,62,255,105,170,1,105,73,255,64,146,1,123,131,255,247,96,1,82,223,255,81,66,1,231,77,0,11,49,1,171,166,0,251,14,1,96,26,1,15,217,0,77,151,1,225,191,0,47,229,1,67,172,0,193,57,2,193,190,0,61,107,2,103,227,0,157,134,2,175,254,0,152,147,2,222, +37,1,203,149,2,86,108,1,251,135,2,151,199,1,86,111,2,122,29,2,175,125,2,140,79,2,233,148,2,197,147,2,145,195,2,7,239,2,99,229,2,188,45,3,35,225,2,2,61,3,105,175,2,68,95,3,79,159,2,9,125,3,123,105,2,110,202,3,153,86,2,61,13,4,159,83,2,247,66,4,11,101, +2,154,79,4,110,101,2,231,36,4,162,52,2,66,4,4,36,42,2,88,169,3,120,6,2,35,80,3,68,246,1,84,5,3,27,214,1,4,207,2,151,141,1,215,195,2,185,52,1,145,186,2,171,229,0,18,168,2,2,167,0,219,119,2,203,118,0,147,82,2,131,83,0,146,17,2,86,66,0,63,191,1,216,110, +0,47,96,1,21,164,0,148,234,0,190,234,0,47,100,0,20,22,1,55,255,255,89,90,1,44,153,255,175,131,1,73,254,254,185,107,1,13,150,254,18,63,1,11,75,254,116,236,0,126,40,254,186,125,0,201,36,254,187,210,255,184,55,254,64,49,255,21,110,254,104,138,254,133,114, +254,27,59,254,4,125,254,108,253,253,226,105,254,35,210,253,113,103,254,34,198,253,131,92,254,203,207,253,198,73,254,43,227,253,108,49,254,34,208,253,156,27,254,204,211,253,12,20,254,141,209,253,179,11,254,244,243,253,38,38,254,166,16,254,101,36,254,216, +14,254,125,93,254,1,244,253,155,135,254,212,232,253,78,186,254,44,231,253,139,229,254,212,232,253,148,2,255,65,205,253,124,65,255,9,202,253,122,114,255,137,165,253,73,189,255,90,134,253,224,4,0,35,86,253,247,43,0,223,39,253,8,90,0,204,22,253,134,98,0, +167,36,253,59,35,0,235,86,253,212,201,255,34,141,253,15,103,255,249,232,253,254,249,254,192,18,254,147,189,254,76,57,254,147,126,254,165,63,254,50,87,254,236,84,254,16,60,254,180,89,254,101,40,254,123,84,254,231,29,254,131,42,254,46,55,254,201,51,254, +77,48,254,110,76,254,119,33,254,89,122,254,252,44,254,99,149,254,181,88,254,147,192,254,213,95,254,40,246,254,80,86,254,179,67,255,102,54,254,226,163,255,70,240,253,146,235,255,142,204,253,85,64,0,144,171,253,200,143,0,42,141,253,156,136,0,77,178,253, +69,148,0,149,209,253,226,94,0,8,244,253,6,20,0,78,56,254,171,170,255,35,126,254,113,31,255,53,182,254,26,171,254,93,202,254,96,64,254,112,16,255,181,229,253,2,44,255,184,143,253,53,56,255,192,95,253,81,11,255,250,51,253,207,222,254,204,219,252,187,154, +254,4,154,252,203,66,254,59,90,252,93,222,253,37,252,251,136,146,253,110,169,251,209,69,253,168,125,251,178,3,253,125,67,251,17,218,252,120,29,251,218,159,252,163,10,251,239,133,252,83,224,250,6,169,252,59,226,250,86,215,252,233,25,251,77,249,252,193, +58,251,24,32,253,210,114,251,199,93,253,99,189,251,141,137,253,164,12,252,124,209,253,99,114,252,224,26,254,120,5,253,114,52,254,224,165,253,52,113,254,176,106,254,186,146,254,164,49,255,118,155,254,215,236,255,131,216,254,101,151,0,105,7,255,179,53, +1,181,133,255,4,236,1,200,6,0,112,125,2,94,194,0,132,254,2,129,105,1,48,87,3,198,224,1,235,150,3,178,85,2,231,169,3,119,170,2,211,219,3,6,233,2,27,251,3,88,45,3,109,6,4,98,86,3,17,23,4,229,79,3,10,209,3,170,52,3,246,142,3,141,207,2,251,255,2,126,122, +2,13,127,2,15,14,2,27,222,1,12,177,1,3,41,1,92,105,1,27,157,0,28,34,1,240,185,255,120,13,1,14,242,254,196,214,0,165,67,254,104,166,0,251,183,253,135,112,0,105,97,253,209,41,0,29,34,253,179,243,255,20,1,253,7,214,255,109,17,253,147,171,255,200,252,252, +13,148,255,251,250,252,196,102,255,174,236,252,154,64,255,221,9,253,152,34,255,39,67,253,94,23,255,150,169,253,40,243,254,142,28,254,80,9,255,195,178,254,232,29,255,253,59,255,147,53,255,162,204,255,91,56,255,107,91,0,194,88,255,162,204,0,129,176,255, +179,55,1,250,10,0,195,209,1,252,95,0,84,152,2,5,119,0,69,254,2,24,181,0,69,116,3,250,197,0,136,229,3,77,215,0,12,95,4,13,8,1,240,194,4,11,41,1,79,13,5,188,71,1,152,249,4,148,108,1,132,228,4,135,155,1,75,170,4,185,228,1,85,79,4,199,41,2,25,235,3,163,126, +2,248,103,3,107,180,2,21,205,2,15,0,3,141,92,2,9,9,3,218,248,1,24,35,3,191,169,1,5,219,2,60,107,1,37,167,2,20,77,1,3,83,2,252,35,1,134,23,2,231,16,1,132,1,2,102,169,0,122,218,1,145,28,0,189,197,1,81,144,255,227,201,1,246,60,255,25,181,1,46,50,255,5,117, +1,136,74,255,234,29,1,160,127,255,207,200,0,92,197,255,146,151,0,80,16,0,173,122,0,34,113,0,105,62,0,0,204,0,183,29,0,112,64,1,127,32,0,252,212,1,226,22,0,171,81,2,73,248,255,34,217,2,99,0,0,120,61,3,200,10,0,169,177,3,90,32,0,171,252,3,225,73,0,121, +63,4,216,103,0,7,49,4,246,151,0,117,226,3,244,204,0,153,143,3,234,33,1,196,16,3,21,88,1,218,122,2,80,111,1,1,202,1,54,162,1,224,70,1,128,160,1,235,182,0,142,164,1,51,96,0,229,160,1,161,255,255,168,113,1,226,167,255,200,254,0,83,42,255,121,98,0,106,168, +254,16,174,255,188,43,254,187,16,255,171,198,253,248,130,254,212,112,253,67,11,254,18,42,253,202,188,253,130,235,252,246,120,253,203,148,252,77,60,253,94,66,252,119,35,253,138,10,252,137,30,253,113,252,251,14,56,253,47,25,252,194,102,253,16,97,252,140, +131,253,107,194,252,248,205,253,105,101,253,41,192,253,102,252,253,107,232,253,219,166,254,107,226,253,91,59,255,109,246,253,35,198,255,226,46,254,237,76,0,100,97,254,224,200,0,186,195,254,76,84,1,244,25,255,33,156,1,222,120,255,39,17,2,127,223,255,212, +115,2,161,61,0,55,177,2,91,170,0,168,242,2,24,53,1,2,11,3,60,163,1,152,9,3,94,1,2,20,2,3,193,52,2,80,236,2,237,49,2,233,201,2,234,13,2,203,155,2,165,207,1,236,109,2,223,165,1,66,29,2,77,83,1,51,143,1,190,22,1,74,1,1,67,245,0,219,79,0,172,173,0,105,195, +255,176,150,0,36,80,255,190,95,0,222,251,254,87,6,0,5,148,254,170,216,255,53,71,254,131,143,255,203,203,253,30,129,255,5,101,253,205,127,255,55,231,252,238,91,255,201,132,252,173,67,255,155,105,252,232,35,255,252,85,252,190,52,255,1,71,252,79,60,255, +113,63,252,35,55,255,188,132,252,243,11,255,60,220,252,110,244,254,28,81,253,33,31,255,129,211,253,252,42,255,165,71,254,6,80,255,34,188,254,99,128,255,127,55,255,215,168,255,251,165,255,217,188,255,104,4,0,85,177,255,218,73,0,100,146,255,17,130,0,116, +115,255,20,156,0,20,102,255,244,209,0,88,83,255,23,253,0,198,61,255,122,44,1,35,51,255,34,99,1,143,11,255,13,139,1,194,226,254,154,169,1,117,202,254,171,158,1,33,175,254,156,189,1,147,185,254,48,235,1,56,214,254,77,23,2,20,228,254,9,22,2,164,32,255,191, +29,2,113,87,255,176,3,2,34,116,255,116,173,1,138,205,255,221,97,1,184,41,0,70,20,1,38,132,0,162,202,0,123,238,0,116,179,0,228,91,1,217,181,0,28,160,1,173,186,0,214,195,1,163,210,0,123,228,1,91,238,0,73,224,1,69,14,1,55,237,1,99,68,1,180,239,1,149,62, +1,98,226,1,1,82,1,207,194,1,165,39,1,125,191,1,215,37,1,221,143,1,21,233,0,35,102,1,173,192,0,75,6,1,250,141,0,187,132,0,12,135,0,153,34,0,85,123,0,157,208,255,207,144,0,227,109,255,238,155,0,14,42,255,244,144,0,229,253,254,64,100,0,105,206,254,150,17, +0,16,186,254,228,246,255,157,169,254,107,223,255,101,109,254,234,188,255,50,95,254,207,158,255,113,34,254,39,102,255,37,26,254,155,79,255,1,40,254,180,83,255,120,45,254,228,59,255,99,89,254,24,76,255,189,105,254,79,65,255,202,176,254,45,99,255,27,237, +254,248,129,255,127,38,255,169,156,255,235,116,255,79,193,255,110,179,255,142,197,255,77,219,255,8,237,255,98,248,255,221,237,255,82,19,0,196,40,0,4,247,255,122,58,0,64,20,0,163,88,0,111,57,0,63,90,0,187,63,0,206,83,0,246,96,0,176,92,0,244,131,0,97,117, +0,124,130,0,127,102,0,72,161,0,35,119,0,28,160,0,223,129,0,170,143,0,162,143,0,134,167,0,107,152,0,157,141,0,133,162,0,5,115,0,230,187,0,174,63,0,92,187,0,170,27,0,209,237,0,155,54,0,142,252,0,157,78,0,77,23,1,193,186,0,24,62,1,17,237,0,66,51,1,0,63, +1,53,108,1,59,84,1,187,125,1,135,96,1,248,180,1,32,133,1,52,21,2,179,168,1,181,118,2,231,237,1,86,231,2,28,77,2,242,39,3,28,136,2,96,75,3,101,189,2,19,116,3,69,239,2,95,122,3,5,26,3,58,138,3,146,70,3,60,150,3,119,105,3,238,178,3,158,117,3,93,175,3,150, +104,3,2,127,3,221,60,3,15,70,3,23,23,3,82,252,2,80,225,2,45,195,2,8,190,2,32,128,2,66,146,2,106,59,2,128,146,2,101,7,2,152,132,2,74,243,1,147,145,2,143,252,1,209,141,2,104,236,1,29,154,2,229,177,1,228,138,2,16,169,1,69,121,2,153,167,1,59,70,2,140,161, +1,93,42,2,200,129,1,148,31,2,177,92,1,172,25,2,162,66,1,218,237,1,201,21,1,83,208,1,123,52,1,147,157,1,172,105,1,87,112,1,148,176,1,215,83,1,46,217,1,244,7,1,162,249,1,237,185,0,90,21,2,237,63,0,43,57,2,223,185,255,218,114,2,222,57,255,96,148,2,171,175, +254,157,134,2,135,75,254,130,49,2,108,242,253,143,189,1,23,201,253,241,112,1,4,143,253,148,247,0,182,171,253,242,187,0,32,177,253,3,108,0,173,197,253,201,31,0,99,217,253,69,219,255,227,237,253,27,175,255,106,27,254,131,154,255,217,76,254,208,117,255, +88,156,254,241,124,255,201,28,255,29,130,255,71,100,255,202,112,255,243,200,255,64,108,255,99,254,255,85,121,255,200,71,0,47,184,255,152,91,0,160,251,255,11,179,0,129,61,0,149,57,1,117,65,0,176,136,1,192,65,0,30,233,1,107,28,0,71,72,2,223,253,255,214, +134,2,129,197,255,197,141,2,77,175,255,5,101,2,71,176,255,26,61,2,241,191,255,213,252,1,25,218,255,151,197,1,169,26,0,113,130,1,52,106,0,21,29,1,33,154,0,187,189,0,201,220,0,48,106,0,117,49,1,105,253,255,248,117,1,115,168,255,15,157,1,168,74,255,87,129, +1,35,248,254,72,97,1,126,168,254,106,4,1,55,80,254,22,176,0,76,235,253,195,101,0,99,156,253,240,39,0,108,112,253,46,239,255,190,62,253,3,179,255,247,67,253,127,114,255,13,101,253,124,78,255,168,149,253,221,52,255,211,213,253,45,40,255,232,43,254,95,46, +255,162,150,254,185,74,255,143,11,255,164,110,255,149,134,255,210,190,255,136,248,255,112,17,0,169,135,0,232,91,0,163,8,1,162,143,0,233,135,1,70,217,0,91,225,1,19,14,1,69,48,2,246,34,1,196,137,2,66,106,1,196,196,2,154,116,1,133,192,2,104,110,1,38,183, +2,118,120,1,243,164,2,27,90,1,218,168,2,181,132,1,86,161,2,229,175,1,19,113,2,218,242,1,233,70,2,171,24,2,176,252,1,75,64,2,112,181,1,13,127,2,198,108,1,221,148,2,198,43,1,7,187,2,242,241,0,239,204,2,11,181,0,192,236,2,87,69,0,184,213,2,153,233,255,26, +137,2,254,129,255,180,51,2,52,34,255,194,4,2,39,168,254,191,173,1,114,115,254,210,105,1,88,99,254,2,29,1,241,66,254,255,195,0,56,27,254,198,123,0,204,11,254,186,62,0,193,21,254,190,238,255,26,42,254,2,171,255,98,67,254,200,96,255,168,145,254,116,65,255, +124,201,254,27,47,255,68,19,255,243,91,255,131,74,255,77,173,255,225,89,255,178,244,255,229,121,255,181,79,0,198,185,255,67,185,0,2,30,0,116,234,0,141,166,0,162,64,1,131,56,1,228,161,1,70,192,1,8,20,2,132,66,2,208,142,2,224,165,2,51,255,2,229,217,2,225, +54,3,149,224,2,61,99,3,158,253,2,57,126,3,168,225,2,207,118,3,122,212,2,239,74,3,206,174,2,199,46,3,36,153,2,116,19,3,142,99,2,1,192,2,255,36,2,146,154,2,12,242,1,11,111,2,115,154,1,70,77,2,223,51,1,149,60,2,9,220,0,133,18,2,155,182,0,2,214,1,75,130, +0,89,143,1,84,102,0,69,69,1,195,86,0,162,7,1,215,99,0,250,212,0,57,80,0,236,198,0,242,58,0,148,188,0,118,60,0,209,227,0,151,77,0,151,224,0,239,85,0,216,179,0,9,102,0,69,142,0,170,86,0,40,106,0,179,111,0,32,93,0,127,152,0,20,89,0,224,189,0,10,52,0,48, +238,0,82,30,0,230,245,0,25,17,0,12,252,0,74,78,0,9,228,0,23,182,0,186,177,0,200,68,1,112,126,0,50,196,1,99,120,0,168,55,2,0,126,0,186,170,2,40,152,0,174,237,2,189,156,0,193,45,3,98,179,0,69,61,3,36,175,0,6,49,3,10,171,0,28,19,3,113,142,0,16,212,2,202, +89,0,231,118,2,125,16,0,195,75,2,232,218,255,5,49,2,121,165,255,43,0,2,124,75,255,96,225,1,249,12,255,239,155,1,123,197,254,175,70,1,63,154,254,245,223,0,121,173,254,215,167,0,186,201,254,145,101,0,147,45,255,55,12,0,226,158,255,224,208,255,125,16,0, +62,151,255,81,133,0,118,148,255,196,224,0,74,212,255,155,46,1,178,49,0,134,153,1,202,102,0,148,27,2,42,179,0,174,108,2,253,236,0,39,195,2,211,1,1,92,24,3,73,46,1,158,113,3,7,85,1,32,174,3,26,143,1,188,175,3,95,213,1,230,148,3,16,228,1,150,96,3,173,237, +1,237,37,3,87,196,1,167,223,2,173,176,1,178,146,2,241,169,1,115,18,2,106,128,1,12,183,1,102,92,1,98,43,1,109,38,1,3,168,0,96,225,0,128,34,0,0,143,0,102,160,255,91,57,0,197,55,255,40,242,255,148,193,254,198,190,255,232,98,254,24,145,255,138,30,254,187, +151,255,171,177,253,2,118,255,134,130,253,8,111,255,64,60,253,1,106,255,198,22,253,121,107,255,91,11,253,37,151,255,151,50,253,181,217,255,123,148,253,65,104,0,100,223,253,81,203,0,48,69,254,131,6,1,61,193,254,32,75,1,6,84,255,187,133,1,54,247,255,101, +210,1,63,138,0,204,35,2,123,45,1,111,109,2,170,202,1,195,197,2,114,71,2,94,244,2,234,149,2,55,33,3,159,206,2,31,49,3,141,8,3,7,53,3,146,60,3,182,59,3,4,81,3,119,47,3,169,109,3,14,5,3,252,126,3,157,199,2,54,146,3,18,110,2,191,136,3,252,17,2,38,53,3,154, +179,1,242,223,2,183,87,1,240,140,2,251,21,1,154,34,2,107,215,0,124,175,1,212,141,0,60,39,1,115,49,0,7,204,0,135,251,255,119,72,0,235,196,255,79,190,255,122,125,255,142,66,255,233,109,255,236,195,254,238,102,255,211,75,254,173,76,255,209,187,253,153,61, +255,162,93,253,205,18,255,196,254,252,13,31,255,208,191,252,236,19,255,195,183,252,39,240,254,164,192,252,255,219,254,223,18,253,20,229,254,76,111,253,113,226,254,158,179,253,118,219,254,120,43,254,147,3,255,176,99,254,67,75,255,200,213,254,189,169,255, +208,39,255,214,27,0,178,115,255,139,96,0,9,169,255,123,129,0,143,196,255,227,163,0,76,211,255,178,177,0,24,2,0,7,213,0,33,31,0,186,190,0,207,84,0,159,168,0,112,130,0,118,140,0,188,144,0,22,115,0,140,154,0,189,31,0,26,140,0,197,241,255,215,99,0,14,228, +255,51,75,0,208,237,255,188,22,0,187,210,255,146,228,255,218,146,255,199,195,255,14,106,255,117,125,255,143,18,255,158,98,255,159,253,254,221,39,255,73,204,254,173,252,254,23,208,254,67,200,254,223,204,254,113,156,254,141,197,254,111,136,254,162,222, +254,107,102,254,173,208,254,90,113,254,239,47,255,77,117,254,246,123,255,34,120,254,68,205,255,195,165,254,41,55,0,234,238,254,18,138,0,239,38,255,84,225,0,160,124,255,211,64,1,88,213,255,47,166,1,185,49,0,159,24,2,31,74,0,182,130,2,221,92,0,134,209, +2,167,111,0,108,4,3,99,126,0,187,50,3,210,108,0,4,98,3,104,109,0,16,147,3,233,86,0,55,165,3,121,102,0,197,142,3,170,147,0,212,113,3,136,177,0,104,27,3,168,253,0,199,176,2,74,47,1,154,45,2,24,114,1,219,191,1,238,193,1,237,76,1,229,221,1,202,228,0,42,233, +1,106,146,0,156,247,1,133,97,0,240,213,1,140,43,0,228,154,1,85,1,0,204,101,1,176,224,255,219,5,1,23,200,255,130,184,0,57,162,255,82,145,0,13,94,255,178,103,0,176,35,255,154,52,0,38,27,255,100,14,0,205,22,255,22,236,255,223,74,255,38,215,255,200,100,255, +143,190,255,207,158,255,225,144,255,52,175,255,201,93,255,12,212,255,206,27,255,34,245,255,94,216,254,131,16,0,87,205,254,28,49,0,134,185,254,85,60,0,147,191,254,250,143,0,202,170,254,63,208,0,92,200,254,124,54,1,90,233,254,142,112,1,195,228,254,156, +195,1,11,0,255,1,15,2,4,247,254,6,112,2,128,241,254,104,165,2,48,4,255,112,178,2,73,61,255,84,152,2,189,101,255,184,89,2,52,170,255,12,253,1,176,221,255,200,131,1,142,245,255,36,253,0,201,14,0,76,151,0,230,1,0,156,16,0,155,5,0,43,148,255,34,234,255,194, +30,255,133,226,255,133,184,254,236,195,255,156,95,254,95,155,255,158,58,254,238,95,255,214,254,253,210,63,255,44,237,253,218,15,255,128,207,253,139,227,254,44,172,253,229,190,254,248,157,253,172,189,254,199,163,253,78,186,254,111,159,253,251,164,254, +147,147,253,147,124,254,17,93,253,3,119,254,57,54,253,23,65,254,254,26,253,199,26,254,126,2,253,166,198,253,203,14,253,161,148,253,239,0,253,188,111,253,158,13,253,41,74,253,214,59,253,151,52,253,73,96,253,150,44,253,25,175,253,71,61,253,40,201,253,98, +81,253,183,52,254,204,88,253,202,128,254,4,78,253,32,170,254,80,94,253,146,243,254,132,110,253,121,50,255,153,123,253,121,111,255,36,154,253,126,169,255,124,213,253,224,204,255,227,241,253,64,228,255,17,72,254,207,22,0,139,174,254,73,60,0,89,36,255,136, +70,0,196,159,255,65,49,0,165,231,255,127,39,0,225,75,0,182,87,0,26,138,0,73,119,0,133,149,0,9,162,0,200,191,0,16,238,0,189,205,0,44,10,1,207,13,1,200,13,1,149,49,1,173,249,0,227,79,1,239,226,0,252,91,1,51,151,0,112,122,1,4,118,0,120,129,1,137,78,0,102, +144,1,95,28,0,116,158,1,129,4,0,20,194,1,241,248,255,6,176,1,158,231,255,48,171,1,16,254,255,189,138,1,214,224,255,251,69,1,199,15,0,51,211,0,48,66,0,252,148,0,92,128,0,5,62,0,24,135,0,33,23,0,10,174,0,48,252,255,110,176,0,15,168,255,206,136,0,222,112, +255,73,121,0,194,27,255,111,70,0,138,219,254,171,42,0,36,134,254,155,10,0,128,60,254,20,227,255,162,26,254,158,170,255,189,241,253,92,130,255,54,204,253,45,40,255,213,166,253,199,214,254,154,135,253,207,176,254,215,66,253,89,122,254,210,22,253,112,98, +254,221,254,252,172,74,254,213,243,252,125,108,254,72,203,252,180,83,254,210,209,252,27,61,254,115,198,252,103,67,254,170,246,252,62,33,254,28,5,253,255,223,253,153,9,253,53,207,253,184,71,253,133,186,253,108,120,253,175,171,253,198,197,253,159,198,253, +145,41,254,126,246,253,139,101,254,227,65,254,138,162,254,34,190,254,168,204,254,213,33,255,151,231,254,62,147,255,233,43,255,46,44,0,96,102,255,224,196,0,112,197,255,225,133,1,171,39,0,57,14,2,21,153,0,218,175,2,226,14,1,180,43,3,97,159,1,73,150,3,180, +229,1,99,229,3,158,64,2,143,31,4,116,152,2,29,78,4,12,238,2,246,59,4,152,59,3,84,12,4,119,103,3,93,224,3,236,151,3,25,180,3,230,154,3,254,155,3,91,138,3,145,118,3,154,87,3,69,120,3,147,15,3,17,157,3,188,181,2,10,205,3,5,99,2,227,255,3,44,52,2,214,56, +4,232,253,1,90,72,4,223,228,1,120,112,4,226,189,1,99,97,4,76,197,1,80,94,4,248,165,1,16,11,4,159,153,1,200,170,3,180,172,1,151,58,3,18,123,1,91,212,2,71,82,1,33,75,2,27,16,1,96,217,1,82,198,0,59,164,1,76,142,0,162,123,1,83,88,0,225,68,1,66,46,0,251,27, +1,134,45,0,245,24,1,40,36,0,157,16,1,165,42,0,159,38,1,35,114,0,101,82,1,206,125,0,195,150,1,132,198,0,194,197,1,186,240,0,173,241,1,165,28,1,117,242,1,129,95,1,104,43,2,38,191,1,153,86,2,150,244,1,203,92,2,153,79,2,137,58,2,70,125,2,159,221,1,128,201, +2,179,112,1,103,69,3,81,0,1,142,148,3,16,181,0,211,147,3,216,120,0,170,115,3,157,91,0,118,38,3,88,82,0,205,168,2,203,47,0,148,35,2,115,45,0,208,145,1,61,9,0,50,254,0,179,250,255,62,130,0,120,225,255,181,7,0,140,183,255,152,166,255,64,161,255,130,62,255, +10,129,255,143,208,254,188,98,255,208,108,254,106,26,255,38,36,254,182,231,254,228,192,253,109,129,254,134,128,253,44,42,254,22,67,253,32,243,253,140,1,253,11,155,253,233,193,252,69,111,253,27,129,252,52,69,253,214,60,252,162,47,253,76,251,251,216,20, +253,127,196,251,243,50,253,97,154,251,151,118,253,1,139,251,187,165,253,80,112,251,27,199,253,190,149,251,27,6,254,3,218,251,186,31,254,5,98,252,104,79,254,163,243,252,98,147,254,51,172,253,185,202,254,6,86,254,35,202,254,221,240,254,110,204,254,151, +150,255,162,214,254,162,10,0,196,186,254,130,125,0,243,215,254,85,232,0,55,207,254,0,6,1,251,175,254,148,35,1,209,127,254,113,254,0,37,35,254,101,205,0,153,8,254,7,135,0,139,246,253,8,21,0,166,10,254,203,174,255,15,2,254,67,62,255,154,18,254,63,223,254, +83,253,253,199,144,254,29,12,254,167,76,254,184,60,254,75,30,254,157,111,254,9,250,253,128,189,254,226,174,253,128,0,255,132,110,253,72,60,255,94,45,253,85,125,255,153,13,253,219,215,255,54,23,253,173,62,0,27,66,253,7,146,0,62,89,253,176,214,0,56,106, +253,191,246,0,130,147,253,200,11,1,76,172,253,187,13,1,155,212,253,241,240,0,63,34,254,67,248,0,149,79,254,162,206,0,153,125,254,250,139,0,230,141,254,59,239,255,44,157,254,222,68,255,14,172,254,253,136,254,176,166,254,22,204,253,79,135,254,59,74,253, +192,143,254,110,222,252,28,113,254,113,122,252,212,87,254,110,41,252,211,16,254,46,216,251,98,203,253,79,172,251,47,130,253,48,112,251,179,80,253,125,77,251,10,14,253,3,38,251,30,222,252,246,31,251,116,212,252,164,87,251,82,181,252,228,103,251,134,138, +252,250,126,251,140,131,252,243,190,251,30,100,252,137,250,251,139,60,252,158,70,252,86,101,252,194,245,252,113,117,252,26,128,253,77,196,252,2,55,254,60,73,253,218,211,254,94,226,253,138,96,255,18,139,254,24,13,0,181,13,255,29,181,0,98,120,255,0,72, +1,145,17,0,189,15,2,229,119,0,9,209,2,166,235,0,99,99,3,33,76,1,254,214,3,234,212,1,162,36,4,60,86,2,148,85,4,194,180,2,176,111,4,131,227,2,136,89,4,133,249,2,210,81,4,165,250,2,84,67,4,114,252,2,142,33,4,121,194,2,170,244,3,127,132,2,124,172,3,55,36, +2,141,78,3,171,214,1,195,4,3,17,101,1,29,161,2,105,241,0,84,89,2,192,115,0,118,248,1,49,254,255,41,108,1,236,195,255,188,204,0,131,147,255,41,53,0,72,112,255,231,146,255,168,133,255,192,14,255,199,130,255,185,137,254,156,139,255,1,47,254,51,158,255,27, +254,253,1,209,255,122,7,254,127,223,255,9,11,254,96,39,0,70,52,254,250,73,0,181,97,254,153,105,0,214,175,254,131,135,0,73,9,255,242,180,0,190,118,255,152,22,1,86,9,0,253,89,1,25,141,0,18,123,1,29,43,1,211,163,1,156,136,1,87,244,1,182,4,2,84,21,2,218, +53,2,34,17,2,211,107,2,201,254,1,62,123,2,148,33,2,144,187,2,221,17,2,171,209,2,135,29,2,105,226,2,6,52,2,237,247,2,177,71,2,9,18,3,239,71,2,127,64,3,61,96,2,47,85,3,174,108,2,123,87,3,8,131,2,119,57,3,186,106,2,22,26,3,13,114,2,21,14,3,222,86,2,141, +218,2,165,77,2,135,164,2,18,44,2,180,114,2,22,13,2,162,52,2,45,7,2,42,234,1,90,16,2,18,183,1,238,250,1,191,108,1,136,232,1,156,67,1,168,237,1,46,26,1,184,13,2,37,11,1,212,47,2,232,18,1,162,49,2,50,72,1,197,29,2,223,111,1,100,254,1,58,156,1,9,204,1,242, +183,1,116,158,1,232,203,1,31,125,1,96,215,1,93,60,1,100,198,1,77,12,1,11,188,1,169,194,0,72,164,1,80,121,0,96,162,1,204,46,0,48,182,1,201,215,255,185,170,1,177,162,255,29,169,1,100,150,255,245,203,1,24,138,255,6,193,1,94,143,255,242,175,1,132,149,255, +198,174,1,148,189,255,193,179,1,78,237,255,137,186,1,181,68,0,98,176,1,148,108,0,28,165,1,107,194,0,200,137,1,230,56,1,129,116,1,186,173,1,144,79,1,142,227,1,54,49,1,209,23,2,183,28,1,154,24,2,142,246,0,142,34,2,192,244,0,162,49,2,211,255,0,131,247,1, +140,29,1,127,211,1,208,95,1,210,157,1,29,112,1,197,94,1,231,69,1,225,2,1,245,24,1,105,241,0,88,19,1,34,165,0,236,251,0,233,155,0,128,238,0,129,109,0,127,169,0,36,59,0,182,95,0,219,11,0,199,15,0,17,190,255,116,191,255,12,138,255,163,163,255,32,86,255, +8,174,255,36,63,255,197,186,255,6,80,255,51,228,255,147,108,255,148,7,0,68,135,255,225,21,0,136,191,255,75,27,0,64,223,255,162,11,0,175,75,0,218,12,0,3,168,0,73,7,0,97,226,0,164,234,255,217,46,1,152,177,255,63,124,1,124,143,255,215,203,1,119,93,255,4, +22,2,73,64,255,7,54,2,140,51,255,32,121,2,110,66,255,110,86,2,61,78,255,72,86,2,194,99,255,155,40,2,73,135,255,150,246,1,43,144,255,251,195,1,116,126,255,136,108,1,96,117,255,229,48,1,0,90,255,59,218,0,148,68,255,144,137,0,48,74,255,59,37,0,195,111,255, +79,186,255,157,152,255,57,92,255,160,188,255,185,0,255,186,192,255,200,156,254,147,188,255,218,82,254,114,161,255,152,50,254,81,154,255,148,8,254,182,103,255,239,235,253,174,78,255,130,212,253,30,81,255,47,197,253,7,97,255,222,195,253,60,135,255,35,205, +253,196,176,255,200,217,253,180,205,255,196,248,253,132,221,255,221,53,254,93,14,0,222,126,254,202,39,0,6,214,254,103,55,0,130,7,255,153,49,0,105,68,255,162,15,0,235,122,255,82,219,255,193,198,255,238,224,255,5,253,255,70,227,255,248,55,0,119,219,255, +131,135,0,92,2,0,114,207,0,93,8,0,34,27,1,92,6,0,155,109,1,138,19,0,68,178,1,26,96,0,41,215,1,138,151,0,100,244,1,250,204,0,224,236,1,173,245,0,202,10,2,67,246,0,49,240,1,206,205,0,150,254,1,159,168,0,14,6,2,97,115,0,56,247,1,183,40,0,181,237,1,246,241, +255,196,204,1,57,229,255,166,156,1,130,199,255,0,128,1,215,175,255,130,113,1,75,147,255,155,113,1,155,138,255,99,112,1,31,150,255,163,124,1,193,207,255,99,183,1,180,8,0,22,220,1,124,11,0,243,241,1,180,69,0,128,20,2,255,134,0,170,62,2,219,205,0,133,72, +2,136,58,1,117,93,2,140,155,1,217,103,2,18,51,2,91,83,2,32,130,2,182,62,2,8,205,2,159,80,2,30,33,3,115,77,2,219,63,3,253,79,2,84,77,3,104,93,2,11,101,3,237,104,2,251,125,3,239,61,2,200,115,3,197,23,2,232,120,3,250,185,1,214,68,3,109,88,1,2,11,3,209,29, +1,243,177,2,104,229,0,86,105,2,2,154,0,16,33,2,146,94,0,161,184,1,223,45,0,220,83,1,253,231,255,166,181,0,110,181,255,62,11,0,75,142,255,142,71,255,18,131,255,249,151,254,129,127,255,206,231,253,64,160,255,136,94,253,22,181,255,189,197,252,39,217,255, +43,115,252,207,212,255,179,36,252,247,236,255,245,7,252,188,215,255,26,2,252,118,204,255,212,57,252,70,157,255,193,113,252,45,151,255,100,187,252,36,132,255,66,28,253,210,118,255,3,144,253,67,133,255,246,3,254,183,161,255,212,96,254,62,201,255,142,150, +254,208,25,0,136,210,254,182,84,0,198,13,255,82,145,0,25,92,255,245,202,0,78,179,255,237,248,0,125,19,0,11,41,1,70,156,0,210,98,1,20,18,1,163,124,1,132,140,1,27,146,1,78,224,1,74,179,1,244,63,2,96,206,1,134,156,2,236,236,1,78,220,2,38,250,1,138,54,3, +137,242,1,48,97,3,142,227,1,173,91,3,226,0,2,169,57,3,198,220,1,192,230,2,225,177,1,243,116,2,121,141,1,89,23,2,142,107,1,199,186,1,19,129,1,47,103,1,16,103,1,145,22,1,94,66,1,222,176,0,14,10,1,145,32,0,143,188,0,230,142,255,125,79,0,129,4,255,29,249, +255,46,178,254,178,174,255,201,112,254,228,117,255,222,9,254,254,60,255,12,169,253,184,246,254,252,73,253,163,225,254,143,239,252,165,182,254,119,188,252,25,154,254,98,159,252,141,131,254,254,160,252,20,96,254,34,149,252,130,76,254,100,187,252,142,80, +254,14,195,252,179,74,254,223,232,252,142,76,254,24,35,253,10,63,254,12,104,253,4,66,254,226,187,253,98,75,254,102,2,254,131,92,254,226,112,254,15,121,254,174,222,254,44,147,254,4,67,255,209,181,254,241,124,255,158,35,255,101,169,255,188,89,255,125,151, +255,15,162,255,68,148,255,29,241,255,30,146,255,227,89,0,210,137,255,72,171,0,102,177,255,23,238,0,99,208,255,217,48,1,54,4,0,249,53,1,76,29,0,160,39,1,4,59,0,13,8,1,89,94,0,164,205,0,51,96,0,249,130,0,190,49,0,80,58,0,238,222,255,90,32,0,43,146,255, +22,236,255,182,38,255,154,182,255,243,215,254,42,129,255,252,177,254,26,26,255,221,125,254,7,220,254,156,105,254,125,150,254,35,80,254,235,65,254,4,83,254,173,10,254,169,42,254,40,249,253,168,36,254,85,205,253,96,255,253,1,231,253,10,17,254,222,252,253, +13,238,253,33,43,254,54,209,253,45,106,254,126,187,253,177,180,254,4,215,253,71,240,254,93,223,253,225,16,255,154,209,253,243,70,255,140,195,253,142,129,255,232,182,253,124,197,255,160,216,253,165,229,255,74,220,253,107,25,0,95,243,253,156,66,0,30,24, +254,208,96,0,221,60,254,99,122,0,33,119,254,33,147,0,165,183,254,78,158,0,108,237,254,6,186,0,43,20,255,187,195,0,117,71,255,150,193,0,30,81,255,55,184,0,104,130,255,143,133,0,59,180,255,113,79,0,29,193,255,127,36,0,151,218,255,163,18,0,6,221,255,14, +18,0,254,0,0,199,4,0,122,249,255,162,10,0,80,16,0,162,0,0,117,2,0,172,244,255,90,238,255,43,200,255,29,195,255,156,137,255,184,180,255,49,128,255,158,174,255,74,132,255,162,151,255,57,155,255,142,130,255,93,196,255,130,77,255,137,0,0,106,22,255,69,76, +0,237,218,254,113,140,0,22,137,254,245,210,0,92,81,254,141,40,1,93,36,254,189,132,1,78,14,254,200,183,1,217,18,254,148,228,1,244,48,254,175,248,1,52,55,254,119,251,1,176,110,254,152,8,2,82,174,254,197,23,2,97,1,255,125,47,2,2,108,255,155,36,2,105,209, +255,111,41,2,95,101,0,196,11,2,190,230,0,220,194,1,242,61,1,132,137,1,129,106,1,192,46,1,52,155,1,102,12,1,187,188,1,161,242,0,77,218,1,101,203,0,33,219,1,245,153,0,204,175,1,106,76,0,96,99,1,142,251,255,254,51,1,186,189,255,115,29,1,245,94,255,91,240, +0,254,56,255,148,188,0,23,254,254,35,117,0,31,208,254,125,21,0,225,160,254,79,193,255,20,96,254,155,83,255,163,34,254,224,15,255,40,1,254,210,208,254,224,16,254,46,121,254,136,14,254,81,42,254,63,30,254,32,182,253,175,32,254,226,59,253,30,80,254,183, +206,252,143,88,254,200,63,252,189,109,254,165,219,251,57,96,254,69,194,251,7,90,254,84,218,251,106,90,254,33,11,252,47,126,254,224,49,252,75,148,254,154,97,252,186,209,254,144,186,252,100,20,255,227,6,253,250,89,255,167,95,253,188,152,255,192,160,253, +85,246,255,15,4,254,89,34,0,208,115,254,194,74,0,69,227,254,65,99,0,144,91,255,254,111,0,239,232,255,199,126,0,69,89,0,115,162,0,42,187,0,243,182,0,21,30,1,46,155,0,104,110,1,63,138,0,200,194,1,75,132,0,155,250,1,157,145,0,171,24,2,41,160,0,77,15,2,208, +208,0,108,22,2,1,205,0,111,237,1,82,200,0,252,161,1,186,187,0,22,107,1,155,180,0,27,31,1,233,145,0,105,195,0,190,97,0,83,101,0,47,45,0,242,6,0,110,240,255,6,154,255,183,163,255,34,56,255,100,81,255,214,185,254,75,18,255,73,82,254,82,226,254,12,230,253, +128,186,254,121,139,253,66,123,254,25,47,253,99,79,254,17,229,252,4,5,254,226,132,252,164,44,254,102,81,252,224,20,254,244,62,252,138,34,254,61,49,252,165,60,254,109,92,252,199,83,254,180,115,252,173,140,254,148,102,252,147,191,254,172,151,252,70,228, +254,179,162,252,242,255,254,13,193,252,74,8,255,29,217,252,36,0,255,204,229,252,191,247,254,187,242,252,225,217,254,168,239,252,133,171,254,132,1,253,150,150,254,143,46,253,7,100,254,186,94,253,134,122,254,215,140,253,161,142,254,214,191,253,131,153, +254,33,52,254,120,171,254,238,106,254,104,137,254,160,135,254,124,148,254,55,207,254,24,136,254,1,230,254,77,178,254,160,1,255,195,230,254,80,16,255,166,249,254,91,2,255,192,5,255,90,248,254,31,21,255,183,237,254,43,5,255,131,225,254,204,253,254,181, +217,254,218,208,254,41,189,254,70,159,254,79,142,254,27,111,254,212,94,254,49,77,254,33,60,254,2,46,254,203,14,254,42,17,254,101,250,253,172,0,254,102,252,253,71,246,253,229,18,254,253,1,254,185,9,254,27,46,254,120,46,254,48,75,254,57,113,254,148,134, +254,27,126,254,103,186,254,97,135,254,197,248,254,224,155,254,153,249,254,98,145,254,124,8,255,70,115,254,28,249,254,28,130,254,239,231,254,201,106,254,238,223,254,26,108,254,191,184,254,218,89,254,143,151,254,131,99,254,132,96,254,81,99,254,149,79,254, +109,131,254,242,76,254,219,164,254,208,108,254,193,221,254,185,124,254,155,18,255,144,163,254,244,99,255,172,181,254,21,176,255,86,193,254,151,218,255,129,253,254,81,14,0,76,26,255,211,3,0,64,97,255,86,7,0,187,138,255,113,216,255,60,179,255,56,152,255, +252,221,255,245,101,255,69,206,255,220,48,255,255,192,255,156,227,254,162,136,255,150,161,254,225,89,255,133,62,254,211,2,255,23,29,254,82,218,254,151,240,253,251,164,254,70,190,253,159,126,254,142,154,253,79,70,254,149,161,253,75,34,254,234,139,253, +212,32,254,59,194,253,77,48,254,149,230,253,31,86,254,125,41,254,134,122,254,111,90,254,109,185,254,4,146,254,0,213,254,39,232,254,13,20,255,120,46,255,156,78,255,154,128,255,26,158,255,224,206,255,62,203,255,223,249,255,179,50,0,9,44,0,72,108,0,159, +42,0,147,173,0,100,90,0,236,236,0,143,144,0,118,52,1,23,253,0,145,137,1,68,67,1,111,169,1,66,100,1,168,237,1,94,134,1,77,10,2,53,167,1,42,32,2,93,248,1,222,29,2,54,39,2,111,41,2,66,90,2,155,42,2,72,89,2,215,10,2,33,75,2,214,197,1,147,30,2,80,109,1,215, +218,1,3,227,0,158,152,1,241,44,0,116,47,1,193,133,255,227,232,0,60,244,254,190,171,0,82,96,254,222,111,0,53,253,253,70,34,0,78,192,253,9,186,255,83,122,253,165,59,255,220,112,253,48,208,254,33,116,253,95,50,254,90,131,253,100,173,253,121,181,253,63,53, +253,133,238,253,54,217,252,227,44,254,167,162,252,124,136,254,178,144,252,200,219,254,3,152,252,212,10,255,208,133,252,83,100,255,155,168,252,134,175,255,144,186,252,135,236,255,251,250,252,55,62,0,62,104,253,183,96,0,110,216,253,120,143,0,28,71,254, +186,183,0,144,168,254,127,211,0,254,4,255,141,231,0,72,121,255,56,3,1,20,231,255,98,35,1,230,71,0,175,55,1,123,188,0,29,95,1,245,22,1,237,116,1,253,102,1,17,109,1,36,178,1,218,113,1,114,208,1,252,87,1,86,247,1,8,76,1,236,247,1,255,56,1,240,25,2,117,42, +1,128,31,2,239,16,1,160,36,2,144,1,1,104,39,2,52,213,0,47,30,2,218,192,0,207,73,2,21,155,0,98,105,2,84,100,0,78,92,2,194,74,0,10,95,2,14,83,0,77,78,2,138,71,0,178,23,2,134,100,0,211,180,1,185,112,0,32,85,1,158,155,0,228,230,0,238,199,0,49,135,0,53,28, +1,77,102,0,114,75,1,135,60,0,164,142,1,139,41,0,42,164,1,160,251,255,189,195,1,36,202,255,73,224,1,237,216,255,94,190,1,182,219,255,169,190,1,200,27,0,20,135,1,220,32,0,201,71,1,6,79,0,31,249,0,132,85,0,175,132,0,80,69,0,58,33,0,219,24,0,7,208,255,146, +235,255,86,128,255,25,155,255,98,59,255,242,136,255,62,215,254,170,105,255,5,139,254,218,87,255,49,79,254,97,62,255,115,50,254,158,50,255,203,253,253,133,247,254,195,234,253,8,186,254,126,174,253,89,118,254,167,151,253,216,69,254,108,116,253,87,37,254, +130,88,253,220,251,253,228,72,253,54,211,253,223,18,253,157,117,253,76,245,252,200,53,253,224,233,252,187,236,252,174,223,252,140,146,252,63,237,252,171,84,252,189,253,252,229,38,252,54,19,253,56,255,251,75,32,253,201,205,251,189,56,253,222,171,251,41, +70,253,192,176,251,10,140,253,59,216,251,186,203,253,17,50,252,121,248,253,40,142,252,105,82,254,140,8,253,93,145,254,82,119,253,77,227,254,57,247,253,164,38,255,201,110,254,236,69,255,6,221,254,75,144,255,105,73,255,44,206,255,238,155,255,115,225,255, +170,225,255,147,236,255,100,23,0,77,219,255,63,86,0,1,217,255,187,133,0,14,217,255,178,175,0,125,209,255,212,206,0,193,194,255,185,186,0,162,207,255,161,192,0,200,199,255,251,147,0,12,201,255,212,137,0,99,191,255,230,130,0,159,165,255,50,80,0,211,130, +255,6,75,0,126,95,255,43,77,0,120,29,255,59,42,0,94,21,255,65,240,255,174,10,255,8,172,255,23,4,255,250,100,255,37,12,255,210,11,255,181,214,254,176,173,254,97,179,254,110,78,254,24,146,254,172,3,254,35,132,254,133,190,253,43,80,254,218,113,253,173,71, +254,42,26,253,96,53,254,41,213,252,133,47,254,105,178,252,28,249,253,57,129,252,166,198,253,96,139,252,47,134,253,53,158,252,109,65,253,88,132,252,68,31,253,23,167,252,66,70,253,218,176,252,215,127,253,131,176,252,28,194,253,212,179,252,65,1,254,50,183, +252,197,63,254,190,209,252,83,45,254,49,238,252,191,62,254,36,29,253,186,77,254,70,68,253,204,68,254,7,119,253,160,69,254,54,150,253,199,83,254,7,180,253,44,90,254,188,177,253,95,104,254,232,182,253,180,141,254,59,198,253,189,174,254,147,210,253,69,216, +254,28,4,254,183,37,255,225,37,254,116,117,255,108,52,254,166,176,255,235,72,254,240,221,255,144,111,254,109,37,0,54,199,254,70,80,0,23,11,255,195,143,0,84,123,255,238,201,0,198,255,255,86,242,0,229,126,0,59,27,1,114,216,0,156,119,1,159,99,1,121,214, +1,165,220,1,177,71,2,251,72,2,206,176,2,101,196,2,121,3,3,168,45,3,85,84,3,8,138,3,243,154,3,169,240,3,173,212,3,58,55,4,195,243,3,12,99,4,158,249,3,90,125,4,229,10,4,134,138,4,4,14,4,122,134,4,163,230,3,9,126,4,133,190,3,205,98,4,99,157,3,233,63,4,120, +121,3,24,32,4,238,51,3,202,7,4,70,247,2,87,237,3,144,178,2,53,208,3,212,112,2,71,138,3,185,29,2,234,75,3,214,197,1,223,229,2,192,111,1,90,141,2,40,32,1,68,55,2,69,255,0,102,222,1,118,190,0,30,118,1,47,163,0,161,60,1,155,117,0,199,253,0,40,34,0,241,173, +0,142,192,255,251,155,0,70,98,255,174,127,0,85,51,255,195,160,0,62,18,255,172,180,0,129,255,254,178,177,0,215,245,254,159,178,0,111,6,255,164,163,0,53,52,255,61,192,0,56,74,255,137,196,0,136,126,255,39,224,0,207,149,255,17,242,0,168,198,255,209,237,0, +227,229,255,142,191,0,110,51,0,131,142,0,39,140,0,60,64,0,33,206,0,39,232,255,150,0,1,77,167,255,86,49,1,215,112,255,116,99,1,95,103,255,124,112,1,239,110,255,79,162,1,176,161,255,83,139,1,143,205,255,160,98,1,23,7,0,197,90,1,205,67,0,231,68,1,65,108, +0,149,53,1,118,134,0,48,43,1,213,145,0,106,251,0,174,131,0,83,206,0,251,90,0,91,170,0,175,27,0,44,135,0,162,208,255,225,75,0,138,159,255,87,10,0,9,123,255,127,225,255,188,163,255,160,177,255,34,180,255,213,89,255,87,212,255,74,2,255,13,21,0,130,200,254, +171,99,0,186,140,254,248,188,0,247,61,254,102,27,1,12,20,254,140,98,1,98,4,254,63,141,1,197,252,253,151,147,1,101,233,253,99,117,1,34,252,253,68,61,1,158,45,254,166,242,0,13,97,254,75,143,0,178,182,254,189,33,0,143,204,254,115,177,255,29,251,254,157, +36,255,133,37,255,123,141,254,139,93,255,16,20,254,96,169,255,76,181,253,155,1,0,202,134,253,9,92,0,179,91,253,72,157,0,128,22,253,63,201,0,202,2,253,251,203,0,108,196,252,54,231,0,254,223,252,110,226,0,225,248,252,96,216,0,132,60,253,162,189,0,115,128, +253,190,160,0,126,183,253,39,144,0,135,13,254,164,89,0,142,81,254,14,22,0,161,149,254,126,217,255,126,242,254,207,155,255,24,82,255,200,81,255,34,182,255,77,44,255,181,20,0,206,220,254,185,58,0,70,165,254,244,79,0,189,109,254,114,96,0,155,80,254,2,98, +0,255,80,254,34,103,0,151,99,254,88,88,0,118,147,254,142,69,0,31,208,254,85,253,255,17,60,255,177,173,255,59,171,255,47,125,255,131,3,0,132,38,255,33,86,0,255,20,255,160,175,0,230,16,255,123,242,0,184,255,254,57,64,1,171,50,255,48,104,1,228,65,255,63, +134,1,95,99,255,48,165,1,244,103,255,14,199,1,20,99,255,139,201,1,212,84,255,49,236,1,217,83,255,204,231,1,84,113,255,30,231,1,14,171,255,47,218,1,108,227,255,198,163,1,103,45,0,91,103,1,20,154,0,145,7,1,28,238,0,95,145,0,35,48,1,47,41,0,144,79,1,203, +170,255,44,79,1,154,60,255,225,72,1,110,195,254,153,37,1,68,84,254,16,43,1,142,7,254,187,5,1,21,187,253,246,231,0,57,110,253,101,210,0,119,35,253,198,119,0,181,232,252,57,28,0,76,182,252,208,229,255,204,151,252,102,171,255,45,187,252,114,112,255,181, +232,252,10,66,255,162,38,253,89,240,254,213,164,253,9,190,254,113,30,254,176,173,254,237,150,254,147,196,254,69,23,255,223,208,254,172,173,255,58,239,254,107,82,0,200,37,255,39,16,1,142,140,255,230,176,1,245,227,255,20,62,2,52,41,0,101,179,2,63,143,0, +181,38,3,67,250,0,248,149,3,16,114,1,252,244,3,167,240,1,96,56,4,77,78,2,206,91,4,173,168,2,98,133,4,102,11,3,83,111,4,131,110,3,215,250,3,104,216,3,204,140,3,98,26,4,132,243,2,210,83,4,61,96,2,13,109,4,108,208,1,173,87,4,161,51,1,172,14,4,5,178,0,116, +149,3,154,46,0,63,251,2,216,176,255,70,75,2,71,100,255,127,151,1,248,0,255,1,218,0,48,197,254,34,42,0,98,140,254,39,108,255,24,79,254,68,158,254,220,45,254,52,2,254,105,19,254,82,119,253,47,252,253,113,53,253,103,249,253,223,25,253,146,246,253,70,62, +253,34,4,254,138,112,253,175,24,254,196,135,253,19,88,254,17,219,253,247,181,254,188,41,254,78,42,255,51,173,254,25,140,255,239,47,255,74,254,255,241,187,255,116,103,0,73,64,0,126,205,0,82,154,0,48,49,1,75,7,1,208,139,1,226,82,1,163,0,2,119,191,1,60, +82,2,216,228,1,38,181,2,237,255,1,155,223,2,219,254,1,63,242,2,198,237,1,64,191,2,103,220,1,125,116,2,168,246,1,187,45,2,145,6,2,186,236,1,145,79,2,112,116,1,128,96,2,112,57,1,12,119,2,45,206,0,74,109,2,86,114,0,95,73,2,35,45,0,121,85,2,83,222,255,125, +58,2,48,185,255,241,33,2,116,180,255,4,236,1,195,147,255,132,144,1,67,133,255,33,24,1,204,123,255,53,173,0,8,98,255,240,102,0,176,85,255,29,59,0,251,95,255,31,20,0,11,126,255,187,13,0,214,164,255,105,12,0,64,227,255,175,13,0,165,32,0,236,3,0,211,118, +0,216,250,255,163,203,0,167,0,0,241,36,1,187,13,0,140,146,1,43,18,0,251,0,2,70,32,0,155,105,2,164,90,0,176,187,2,11,133,0,85,214,2,94,205,0,49,228,2,187,7,1,251,185,2,208,95,1,228,138,2,167,179,1,150,55,2,38,204,1,235,224,1,57,8,2,18,123,1,66,39,2,114, +20,1,29,100,2,101,205,0,138,133,2,68,121,0,201,135,2,49,57,0,100,127,2,19,9,0,200,117,2,213,211,255,77,82,2,171,169,255,41,37,2,16,117,255,24,249,1,167,62,255,225,196,1,226,34,255,189,147,1,201,28,255,134,95,1,160,0,255,200,13,1,209,238,254,32,215,0, +192,198,254,27,157,0,114,174,254,162,80,0,211,199,254,86,70,0,32,222,254,161,5,0,83,230,254,17,197,255,25,18,255,103,126,255,40,46,255,109,54,255,155,72,255,94,227,254,201,95,255,244,160,254,125,83,255,210,72,254,65,105,255,219,235,253,8,98,255,207,121, +253,104,119,255,233,62,253,94,147,255,67,223,252,122,171,255,160,153,252,183,157,255,25,124,252,72,181,255,178,87,252,235,120,255,199,45,252,141,54,255,193,48,252,84,236,254,189,75,252,54,184,254,112,120,252,17,133,254,71,202,252,236,75,254,237,39,253, +56,25,254,181,109,253,50,225,253,214,195,253,124,209,253,95,52,254,105,206,253,170,178,254,135,201,253,179,67,255,118,222,253,68,215,255,137,26,254,152,100,0,178,58,254,176,216,0,12,87,254,171,36,1,122,126,254,124,121,1,61,197,254,4,179,1,136,4,255,133, +213,1,161,67,255,3,224,1,124,132,255,71,215,1,137,144,255,50,196,1,190,172,255,160,168,1,77,164,255,16,108,1,195,153,255,18,61,1,108,163,255,114,21,1,147,171,255,105,191,0,158,167,255,94,87,0,167,188,255,121,235,255,18,200,255,158,111,255,114,219,255, +11,214,254,152,225,255,177,59,254,214,219,255,97,147,253,96,232,255,198,39,253,32,212,255,242,229,252,138,211,255,251,197,252,216,170,255,151,197,252,181,143,255,215,16,253,206,84,255,126,57,253,189,40,255,36,102,253,237,24,255,143,164,253,41,249,254, +243,225,253,135,248,254,132,46,254,240,239,254,189,116,254,33,238,254,121,184,254,221,43,255,126,242,254,197,57,255,1,37,255,247,116,255,75,147,255,168,135,255,208,237,255,24,201,255,52,106,0,215,227,255,214,226,0,112,4,0,240,104,1,211,59,0,77,214,1, +103,101,0,233,16,2,161,114,0,145,73,2,177,148,0,63,121,2,65,152,0,225,131,2,115,162,0,70,132,2,234,167,0,205,110,2,84,161,0,136,50,2,39,146,0,34,24,2,243,125,0,181,254,1,199,124,0,71,221,1,109,104,0,59,164,1,16,103,0,217,114,1,25,126,0,151,78,1,138,140, +0,38,78,1,28,162,0,138,76,1,136,185,0,72,42,1,245,206,0,241,240,0,47,228,0,17,183,0,241,235,0,38,145,0,8,210,0,221,103,0,74,183,0,135,117,0,121,151,0,101,94,0,69,139,0,69,85,0,230,127,0,191,61,0,14,87,0,209,46,0,191,44,0,154,59,0,53,231,255,167,69,0, +215,168,255,193,73,0,182,90,255,136,70,0,246,45,255,6,71,0,82,25,255,193,75,0,22,252,254,234,52,0,139,227,254,10,247,255,149,209,254,214,167,255,144,157,254,89,104,255,252,113,254,111,76,255,61,83,254,29,65,255,227,50,254,217,10,255,79,68,254,155,219, +254,117,80,254,221,180,254,114,109,254,22,133,254,117,143,254,55,93,254,49,209,254,39,116,254,232,29,255,34,131,254,149,134,255,100,163,254,173,246,255,184,186,254,163,75,0,5,207,254,183,155,0,59,247,254,162,193,0,61,76,255,52,215,0,179,187,255,142,235, +0,85,60,0,220,210,0,45,158,0,251,209,0,43,2,1,138,201,0,202,39,1,167,178,0,63,78,1,171,161,0,233,150,1,32,137,0,75,202,1,100,132,0,245,6,2,228,97,0,163,70,2,205,56,0,37,115,2,155,255,255,187,115,2,163,205,255,59,144,2,106,137,255,205,169,2,23,63,255, +54,159,2,76,223,254,49,109,2,255,141,254,219,57,2,191,66,254,54,232,1,97,6,254,12,133,1,98,203,253,76,15,1,20,173,253,2,167,0,31,163,253,153,51,0,197,193,253,103,183,255,157,169,253,244,93,255,239,178,253,26,236,254,196,183,253,48,143,254,43,212,253, +123,82,254,248,12,254,29,16,254,118,82,254,152,0,254,36,140,254,75,242,253,0,211,254,48,216,253,13,20,255,102,248,253,38,83,255,17,24,254,155,129,255,23,82,254,237,199,255,51,110,254,19,11,0,38,161,254,121,35,0,220,182,254,182,78,0,78,189,254,130,127, +0,230,18,255,138,199,0,41,65,255,186,246,0,175,155,255,134,31,1,127,240,255,178,26,1,168,77,0,254,40,1,79,177,0,226,6,1,35,243,0,209,230,0,228,43,1,34,224,0,185,109,1,175,195,0,110,103,1,26,201,0,93,126,1,116,166,0,223,115,1,56,129,0,44,136,1,172,104, +0,240,161,1,30,56,0,4,173,1,196,31,0,70,209,1,24,2,0,193,193,1,254,241,255,186,178,1,202,223,255,214,151,1,101,215,255,154,175,1,82,212,255,129,165,1,198,242,255,131,191,1,178,237,255,194,195,1,170,17,0,212,190,1,182,25,0,216,173,1,197,47,0,136,180,1, +180,54,0,107,207,1,143,5,0,187,251,1,249,250,255,195,6,2,230,247,255,106,252,1,255,251,255,39,210,1,83,216,255,17,122,1,54,245,255,20,91,1,132,15,0,253,39,1,194,82,0,197,243,0,32,145,0,145,221,0,135,232,0,99,194,0,77,20,1,131,146,0,86,51,1,213,145,0, +41,99,1,163,155,0,177,142,1,91,181,0,163,134,1,148,192,0,2,144,1,113,214,0,239,136,1,233,229,0,115,148,1,181,8,1,13,134,1,107,16,1,70,129,1,180,4,1,250,126,1,30,254,0,66,103,1,90,222,0,141,95,1,60,241,0,25,63,1,208,225,0,35,43,1,243,10,1,191,229,0,169, +16,1,227,156,0,90,35,1,47,102,0,248,48,1,11,0,0,39,84,1,29,186,255,202,92,1,194,88,255,184,42,1,229,7,255,174,60,1,60,191,254,78,45,1,133,110,254,129,47,1,215,50,254,3,39,1,233,242,253,108,26,1,41,200,253,83,221,0,157,177,253,165,165,0,225,164,253,80, +69,0,66,139,253,131,213,255,63,168,253,152,114,255,63,174,253,211,17,255,182,232,253,188,171,254,214,237,253,215,61,254,253,60,254,1,248,253,126,101,254,164,126,253,110,195,254,77,67,253,113,24,255,239,10,253,95,92,255,213,248,252,242,129,255,92,34,253, +70,155,255,105,101,253,223,183,255,48,216,253,171,159,255,39,55,254,34,171,255,252,177,254,159,175,255,72,249,254,73,183,255,150,90,255,241,233,255,76,169,255,216,237,255,129,252,255,203,44,0,156,73,0,198,59,0,225,139,0,78,97,0,100,204,0,196,88,0,126, +15,1,185,112,0,132,71,1,4,117,0,88,135,1,242,117,0,121,219,1,99,124,0,211,247,1,77,146,0,91,29,2,247,163,0,68,0,2,0,126,0,180,244,1,219,137,0,248,231,1,16,168,0,26,206,1,27,213,0,10,170,1,118,253,0,149,184,1,10,43,1,144,128,1,209,86,1,105,122,1,153,97, +1,71,89,1,71,82,1,41,51,1,77,75,1,220,30,1,1,73,1,74,253,0,214,79,1,65,232,0,96,82,1,84,225,0,16,93,1,108,223,0,198,43,1,189,222,0,95,7,1,100,11,1,69,192,0,66,43,1,98,169,0,34,97,1,232,137,0,218,124,1,168,129,0,243,130,1,26,140,0,197,170,1,169,139,0, +63,202,1,232,147,0,213,5,2,239,146,0,151,76,2,142,125,0,238,131,2,72,102,0,112,182,2,43,64,0,58,199,2,106,70,0,251,255,2,84,39,0,126,198,2,118,60,0,154,163,2,147,41,0,23,109,2,57,72,0,39,76,2,17,46,0,246,20,2,133,23,0,10,227,1,111,254,255,8,154,1,190, +229,255,52,90,1,236,189,255,124,60,1,18,137,255,86,251,0,214,103,255,199,190,0,161,63,255,1,90,0,136,63,255,32,28,0,198,6,255,240,185,255,51,225,254,8,107,255,162,207,254,207,38,255,192,196,254,116,205,254,215,186,254,142,140,254,134,183,254,97,80,254, +188,162,254,225,35,254,49,146,254,48,19,254,62,146,254,82,46,254,131,147,254,140,63,254,35,191,254,7,170,254,32,226,254,181,34,255,242,5,255,200,151,255,36,67,255,90,49,0,247,116,255,27,222,0,168,196,255,100,135,1,38,16,0,116,37,2,221,94,0,124,174,2, +11,177,0,138,247,2,198,244,0,162,52,3,213,69,1,249,101,3,250,130,1,83,128,3,158,200,1,1,184,3,24,234,1,249,231,3,145,3,2,201,245,3,32,58,2,223,20,4,145,72,2,49,32,4,114,126,2,184,10,4,213,185,2,238,235,3,29,217,2,23,154,3,204,217,2,215,72,3,179,211,2, +132,0,3,157,186,2,12,182,2,46,133,2,112,121,2,8,70,2,157,77,2,228,18,2,3,21,2,166,225,1,51,208,1,54,162,1,235,115,1,113,61,1,146,30,1,219,204,0,157,221,0,68,117,0,167,128,0,125,10,0,85,58,0,104,176,255,89,224,255,44,84,255,9,121,255,5,7,255,110,9,255, +210,189,254,15,187,254,136,73,254,18,91,254,133,244,253,252,65,254,87,158,253,244,48,254,147,126,253,211,80,254,220,55,253,190,120,254,185,20,253,169,160,254,4,216,252,9,184,254,173,211,252,71,251,254,94,234,252,111,15,255,141,15,253,62,23,255,55,147, +253,19,34,255,46,246,253,206,30,255,193,151,254,202,51,255,22,45,255,242,73,255,11,193,255,52,108,255,225,73,0,174,149,255,21,218,0,96,239,255,84,94,1,127,102,0,71,206,1,80,252,0,153,16,2,255,116,1,64,63,2,86,243,1,166,95,2,246,77,2,79,158,2,160,158, +2,222,147,2,200,184,2,0,181,2,113,190,2,18,168,2,218,179,2,80,160,2,23,164,2,13,120,2,39,137,2,97,82,2,236,109,2,105,235,1,17,45,2,178,150,1,101,9,2,49,57,1,55,183,1,28,217,0,234,103,1,85,108,0,54,47,1,50,8,0,104,244,0,82,145,255,32,148,0,239,30,255, +121,99,0,110,189,254,93,14,0,156,88,254,21,178,255,192,13,254,87,141,255,94,234,253,67,81,255,66,202,253,84,58,255,134,197,253,137,29,255,111,203,253,84,247,254,162,221,253,169,223,254,218,23,254,13,224,254,49,79,254,163,226,254,149,148,254,41,203,254, +254,253,254,22,200,254,82,88,255,38,224,254,233,165,255,0,31,255,35,244,255,180,83,255,116,48,0,140,177,255,5,115,0,201,31,0,235,110,0,36,123,0,126,142,0,46,166,0,243,196,0,129,189,0,206,198,0,129,179,0,139,205,0,22,174,0,79,176,0,217,126,0,190,160,0, +216,118,0,141,113,0,70,95,0,6,68,0,73,60,0,170,21,0,75,27,0,214,223,255,156,20,0,73,183,255,12,13,0,176,148,255,35,253,255,43,139,255,219,16,0,253,117,255,39,37,0,71,110,255,211,72,0,189,97,255,172,113,0,140,105,255,60,174,0,211,128,255,37,198,0,14,154, +255,244,205,0,212,193,255,97,235,0,176,221,255,211,253,0,80,251,255,250,15,1,143,64,0,159,38,1,7,141,0,37,68,1,209,163,0,27,96,1,34,214,0,224,129,1,115,24,1,87,196,1,67,44,1,43,250,1,124,47,1,38,68,2,42,44,1,225,125,2,51,14,1,184,209,2,228,225,0,57,254, +2,224,183,0,153,21,3,154,176,0,66,25,3,134,167,0,121,12,3,145,153,0,121,14,3,152,158,0,12,239,2,41,166,0,78,216,2,164,156,0,123,166,2,222,163,0,194,120,2,232,143,0,32,69,2,109,155,0,94,8,2,196,157,0,242,236,1,246,157,0,13,198,1,72,167,0,173,168,1,154, +178,0,94,138,1,157,202,0,150,131,1,182,206,0,23,115,1,3,227,0,115,157,1,199,250,0,103,161,1,115,26,1,69,191,1,189,73,1,76,204,1,176,134,1,203,216,1,161,173,1,223,241,1,52,207,1,94,6,2,42,229,1,75,1,2,98,31,2,100,1,2,23,90,2,173,231,1,122,139,2,232,205, +1,141,150,2,232,197,1,168,168,2,94,199,1,167,156,2,101,210,1,253,142,2,228,216,1,249,106,2,79,228,1,158,70,2,253,23,2,153,22,2,149,56,2,143,239,1,108,79,2,171,208,1,59,89,2,102,203,1,15,82,2,189,199,1,229,35,2,215,213,1,203,224,1,43,237,1,122,166,1,175, +248,1,236,121,1,171,13,2,119,75,1,25,238,1,156,12,1,159,216,1,35,237,0,41,152,1,252,165,0,195,76,1,122,111,0,218,255,0,90,53,0,134,161,0,136,255,255,173,51,0,125,214,255,101,213,255,128,189,255,26,93,255,147,186,255,115,237,254,206,209,255,79,135,254, +208,168,255,209,57,254,51,159,255,200,30,254,113,155,255,110,4,254,99,139,255,185,2,254,156,150,255,239,38,254,226,165,255,95,43,254,125,212,255,147,65,254,78,238,255,194,100,254,111,255,255,126,103,254,138,19,0,196,112,254,254,254,255,110,138,254,197, +247,255,96,173,254,213,216,255,15,241,254,196,235,255,105,62,255,176,228,255,0,144,255,197,241,255,6,3,0,252,240,255,144,72,0,16,244,255,147,169,0,177,240,255,3,225,0,108,233,255,193,253,0,176,228,255,160,39,1,84,241,255,61,45,1,219,213,255,70,76,1,41, +191,255,27,81,1,157,152,255,252,77,1,105,138,255,166,40,1,194,152,255,241,231,0,105,195,255,83,147,0,91,250,255,62,67,0,164,35,0,50,205,255,34,48,0,125,83,255,11,7,0,165,239,254,207,221,255,24,146,254,101,159,255,202,54,254,135,121,255,113,237,253,254, +71,255,72,203,253,91,69,255,253,131,253,205,20,255,239,62,253,137,220,254,176,46,253,106,164,254,44,49,253,39,112,254,39,50,253,19,101,254,121,63,253,87,92,254,158,116,253,52,120,254,190,188,253,191,134,254,198,14,254,135,141,254,124,83,254,15,122,254, +166,194,254,250,94,254,103,48,255,25,98,254,27,107,255,135,82,254,87,197,255,186,94,254,92,255,255,40,126,254,44,72,0,237,159,254,63,136,0,200,163,254,103,160,0,121,194,254,12,187,0,162,228,254,249,189,0,81,22,255,74,177,0,234,60,255,77,156,0,65,114, +255,201,87,0,167,132,255,59,37,0,70,166,255,88,211,255,107,166,255,170,161,255,253,187,255,241,123,255,212,214,255,69,84,255,160,247,255,249,73,255,66,61,0,146,39,255,78,114,0,12,22,255,90,167,0,109,238,254,30,195,0,189,229,254,17,183,0,174,211,254,130, +195,0,131,212,254,70,154,0,238,225,254,44,140,0,102,237,254,53,108,0,60,244,254,168,75,0,250,22,255,228,49,0,126,30,255,249,13,0,90,50,255,222,251,255,68,68,255,170,221,255,65,109,255,225,220,255,48,183,255,4,195,255,70,23,0,70,162,255,64,81,0,18,142, +255,175,142,0,116,124,255,143,188,0,157,95,255,133,23,1,224,86,255,0,59,1,129,67,255,138,71,1,52,47,255,246,80,1,183,48,255,201,71,1,133,44,255,50,65,1,246,50,255,190,30,1,109,60,255,95,13,1,113,96,255,226,199,0,182,103,255,194,137,0,168,89,255,206,72, +0,207,99,255,82,15,0,50,92,255,94,206,255,243,87,255,222,175,255,109,119,255,38,152,255,92,136,255,219,82,255,198,129,255,20,35,255,83,115,255,55,5,255,66,128,255,50,217,254,253,128,255,8,230,254,118,138,255,156,212,254,114,106,255,6,208,254,179,73,255, +89,231,254,184,62,255,206,212,254,229,8,255,13,213,254,7,233,254,240,239,254,90,183,254,109,238,254,159,133,254,7,23,255,42,85,254,232,88,255,202,55,254,242,125,255,106,40,254,253,170,255,102,59,254,104,186,255,142,87,254,145,216,255,95,113,254,174,254, +255,237,157,254,166,237,255,58,182,254,96,230,255,42,205,254,36,248,255,143,225,254,15,231,255,67,14,255,96,230,255,245,42,255,105,253,255,135,72,255,95,25,0,7,93,255,142,54,0,66,122,255,227,85,0,133,172,255,80,117,0,103,252,255,215,154,0,198,64,0,49, +244,0,236,188,0,179,40,1,215,31,1,73,98,1,121,152,1,197,149,1,68,248,1,163,197,1,195,75,2,121,21,2,229,167,2,129,32,2,194,189,2,187,45,2,166,222,2,235,27,2,227,206,2,94,253,1,120,140,2,40,209,1,29,98,2,56,178,1,141,43,2,107,131,1,142,238,1,204,95,1,223, +174,1,197,35,1,96,89,1,198,238,0,233,22,1,163,203,0,208,221,0,149,126,0,147,176,0,254,46,0,216,116,0,43,3,0,99,72,0,60,187,255,31,20,0,255,137,255,242,201,255,185,120,255,0,94,255,221,108,255,40,248,254,241,117,255,53,134,254,114,101,255,98,23,254,106, +80,255,155,217,253,235,61,255,192,154,253,0,20,255,92,89,253,172,244,254,65,71,253,120,226,254,121,19,253,191,251,254,214,10,253,154,251,254,98,27,253,249,6,255,20,62,253,190,42,255,109,135,253,254,66,255,140,199,253,45,96,255,61,25,254,158,161,255,111, +90,254,19,208,255,241,134,254,236,244,255,131,168,254,209,31,0,154,205,254,189,30,0,116,0,255,205,5,0,174,25,255,31,11,0,11,84,255,11,252,255,170,101,255,233,222,255,248,70,255,114,156,255,76,41,255,48,130,255,37,23,255,131,76,255,85,5,255,193,15,255, +247,251,254,244,222,254,212,21,255,107,161,254,227,51,255,189,109,254,133,50,255,191,68,254,61,74,255,114,42,254,120,46,255,171,244,253,197,3,255,135,6,254,127,248,254,17,17,254,224,212,254,147,0,254,150,157,254,73,10,254,49,96,254,106,35,254,232,48, +254,143,82,254,217,18,254,218,151,254,119,241,253,68,202,254,175,228,253,16,255,254,51,181,253,72,108,255,237,169,253,96,163,255,135,143,253,209,230,255,93,101,253,77,32,0,210,96,253,26,81,0,19,115,253,49,124,0,245,119,253,197,163,0,41,144,253,204,174, +0,105,217,253,10,163,0,109,11,254,175,132,0,56,46,254,115,95,0,190,130,254,111,59,0,214,181,254,207,17,0,230,213,254,148,246,255,104,2,255,163,215,255,98,7,255,227,166,255,141,4,255,30,131,255,13,228,254,212,81,255,62,212,254,70,39,255,246,186,254,52, +231,254,76,177,254,102,172,254,112,155,254,220,106,254,46,186,254,105,82,254,135,204,254,241,64,254,68,219,254,7,96,254,248,206,254,213,152,254,68,215,254,112,211,254,68,213,254,190,42,255,253,2,255,195,90,255,81,28,255,210,181,255,41,69,255,83,230,255, +27,104,255,138,22,0,5,73,255,70,84,0,165,55,255,33,147,0,247,62,255,36,179,0,188,92,255,65,217,0,165,53,255,61,244,0,204,73,255,26,12,1,46,58,255,158,19,1,61,21,255,122,29,1,199,218,254,221,27,1,180,150,254,28,24,1,119,105,254,221,27,1,44,103,254,229, +231,0,218,99,254,29,170,0,177,120,254,178,97,0,178,136,254,37,63,0,172,133,254,218,253,255,248,137,254,200,203,255,170,109,254,143,196,255,12,100,254,57,155,255,111,88,254,42,125,255,19,99,254,167,125,255,46,127,254,148,122,255,150,161,254,57,145,255, +116,199,254,75,142,255,182,229,254,67,182,255,74,13,255,45,214,255,108,52,255,191,239,255,176,102,255,12,2,0,12,149,255,83,33,0,162,204,255,201,83,0,64,35,0,113,142,0,181,79,0,197,163,0,247,117,0,137,191,0,232,144,0,238,199,0,57,146,0,28,223,0,181,146, +0,183,214,0,8,158,0,21,218,0,204,185,0,98,238,0,228,230,0,143,247,0,227,224,0,207,11,1,4,246,0,69,3,1,240,224,0,170,9,1,153,171,0,78,34,1,200,139,0,41,36,1,237,76,0,153,34,1,155,65,0,38,61,1,175,21,0,11,49,1,243,8,0,182,70,1,247,245,255,54,46,1,125,220, +255,245,19,1,35,184,255,77,20,1,19,160,255,48,234,0,240,120,255,49,183,0,1,102,255,237,130,0,63,96,255,193,66,0,87,88,255,229,239,255,234,56,255,249,193,255,82,38,255,93,141,255,90,244,254,0,77,255,127,191,254,121,37,255,24,153,254,65,233,254,198,84, +254,107,218,254,69,42,254,130,206,254,194,239,253,37,205,254,192,217,253,58,224,254,65,197,253,227,233,254,242,219,253,196,246,254,99,224,253,151,221,254,219,235,253,16,188,254,10,23,254,124,144,254,89,59,254,71,112,254,167,87,254,240,117,254,175,108, +254,124,83,254,45,113,254,135,124,254,134,68,254,81,153,254,208,52,254,66,182,254,34,5,254,92,194,254,3,12,254,140,186,254,185,13,254,166,184,254,139,55,254,224,205,254,37,157,254,25,217,254,208,245,254,181,216,254,201,41,255,233,232,254,2,112,255,124, +209,254,28,179,255,44,218,254,181,213,255,124,207,254,134,245,255,186,205,254,168,12,0,120,222,254,109,243,255,13,20,255,118,207,255,5,68,255,35,129,255,217,129,255,135,68,255,198,189,255,95,235,254,36,248,255,159,133,254,82,19,0,255,28,254,82,80,0,178, +203,253,191,109,0,247,86,253,237,130,0,39,8,253,94,133,0,14,201,252,147,106,0,141,156,252,255,58,0,241,156,252,217,251,255,85,159,252,223,183,255,218,178,252,102,101,255,195,196,252,142,70,255,229,225,252,192,3,255,198,232,252,225,219,254,90,16,253,116, +127,254,86,39,253,188,103,254,235,86,253,169,27,254,107,121,253,46,248,253,228,146,253,57,236,253,102,189,253,227,247,253,135,210,253,216,251,253,124,222,253,160,2,254,194,231,253,77,251,253,40,2,254,233,49,254,56,38,254,62,87,254,130,97,254,105,145, +254,26,177,254,87,201,254,82,237,254,60,252,254,155,81,255,162,20,255,153,126,255,151,32,255,50,220,255,67,64,255,161,7,0,105,66,255,158,40,0,22,114,255,82,95,0,81,139,255,137,80,0,166,170,255,199,72,0,173,185,255,251,29,0,3,172,255,241,248,255,211,189, +255,55,205,255,4,182,255,224,151,255,246,222,255,220,105,255,34,234,255,195,38,255,127,225,255,12,218,254,34,230,255,88,163,254,144,212,255,180,91,254,126,213,255,113,43,254,34,234,255,78,14,254,87,4,0,86,21,254,14,24,0,235,15,254,163,22,0,104,18,254, +221,33,0,154,81,254,88,18,0,93,162,254,252,26,0,114,41,255,103,34,0,122,178,255,146,31,0,1,33,0,55,56,0,25,139,0,56,70,0,93,193,0,84,102,0,210,239,0,49,118,0,123,249,0,171,151,0,215,232,0,119,196,0,60,241,0,188,8,1,90,226,0,30,54,1,11,190,0,201,73,1, +219,148,0,248,104,1,105,128,0,181,119,1,80,71,0,21,141,1,0,21,0,241,156,1,3,248,255,197,153,1,144,215,255,29,164,1,148,190,255,72,149,1,221,180,255,46,151,1,120,172,255,181,125,1,163,155,255,46,84,1,61,143,255,248,45,1,26,106,255,152,20,1,156,91,255, +91,36,1,91,69,255,10,234,0,120,40,255,71,214,0,212,21,255,26,201,0,125,27,255,254,178,0,178,6,255,21,153,0,37,19,255,230,123,0,36,11,255,6,68,0,186,13,255,171,33,0,202,51,255,9,226,255,23,78,255,135,236,255,128,118,255,72,240,255,107,158,255,196,228, +255,215,177,255,78,231,255,252,175,255,178,233,255,190,177,255,177,26,0,125,212,255,82,25,0,56,213,255,251,81,0,3,246,255,173,114,0,139,37,0,34,165,0,144,85,0,239,205,0,227,100,0,204,241,0,248,129,0,22,35,1,92,191,0,221,80,1,171,235,0,2,79,1,64,21,1, +176,71,1,69,75,1,78,91,1,254,108,1,132,66,1,251,145,1,130,54,1,11,178,1,41,97,1,56,252,1,247,96,1,3,29,2,215,146,1,7,69,2,35,165,1,118,63,2,245,196,1,109,87,2,86,232,1,31,126,2,249,242,1,163,123,2,193,241,1,94,130,2,233,11,2,246,144,2,232,253,1,80,116, +2,121,21,2,228,86,2,149,43,2,219,71,2,125,61,2,95,73,2,12,49,2,162,58,2,161,37,2,103,31,2,78,24,2,244,254,1,76,6,2,108,211,1,166,221,1,188,141,1,105,176,1,205,61,1,77,148,1,43,8,1,11,108,1,138,214,0,167,48,1,137,141,0,2,18,1,90,102,0,158,17,1,46,44,0, +24,244,0,205,6,0,60,232,0,196,235,255,168,188,0,51,218,255,219,194,0,118,207,255,178,160,0,161,200,255,12,130,0,53,189,255,10,114,0,98,194,255,94,78,0,52,173,255,209,31,0,155,140,255,135,43,0,184,117,255,150,10,0,8,107,255,174,8,0,77,108,255,128,235, +255,52,114,255,133,220,255,65,120,255,209,228,255,13,153,255,38,213,255,201,161,255,235,236,255,83,164,255,216,233,255,177,116,255,68,3,0,182,103,255,177,28,0,252,51,255,186,61,0,217,16,255,88,77,0,183,243,254,16,101,0,173,210,254,142,117,0,190,193,254, +155,123,0,134,196,254,239,89,0,233,178,254,93,66,0,75,165,254,130,60,0,255,146,254,137,8,0,117,146,254,240,231,255,221,186,254,188,209,255,194,233,254,45,155,255,241,8,255,227,105,255,141,2,255,240,105,255,208,50,255,204,60,255,202,53,255,81,17,255,170, +101,255,196,246,254,66,132,255,27,241,254,125,151,255,25,207,254,251,167,255,71,167,254,108,172,255,201,158,254,93,138,255,81,145,254,21,121,255,229,133,254,255,79,255,83,169,254,205,79,255,15,170,254,67,77,255,90,180,254,120,99,255,22,183,254,233,107, +255,250,215,254,96,170,255,124,8,255,119,223,255,182,25,255,214,234,255,103,56,255,68,8,0,58,100,255,14,31,0,207,155,255,146,36,0,26,211,255,83,44,0,95,21,0,98,62,0,38,75,0,59,56,0,3,162,0,21,46,0,123,228,0,176,29,0,209,27,1,94,22,0,114,83,1,44,26,0, +128,93,1,169,26,0,101,136,1,43,14,0,190,144,1,105,12,0,28,152,1,131,20,0,151,126,1,163,29,0,190,83,1,88,25,0,166,34,1,174,11,0,34,224,0,173,3,0,1,140,0,191,248,255,15,95,0,99,202,255,154,50,0,229,140,255,205,1,0,20,46,255,8,220,255,57,231,254,251,150, +255,52,185,254,34,112,255,11,147,254,215,52,255,210,137,254,155,11,255,170,182,254,128,184,254,3,197,254,7,163,254,89,236,254,129,133,254,86,15,255,198,71,254,88,31,255,96,61,254,178,65,255,131,31,254,70,101,255,119,27,254,229,130,255,8,39,254,166,181, +255,120,45,254,74,198,255,214,46,254,17,203,255,217,74,254,219,215,255,8,108,254,244,215,255,118,149,254,43,207,255,147,191,254,146,172,255,128,243,254,107,162,255,41,58,255,21,115,255,118,137,255,104,71,255,39,217,255,136,17,255,1,75,0,126,238,254,7, +141,0,53,191,254,191,225,0,115,187,254,40,28,1,203,191,254,2,79,1,101,236,254,202,85,1,236,17,255,122,100,1,98,78,255,130,113,1,151,100,255,10,96,1,2,118,255,1,77,1,161,133,255,157,64,1,41,124,255,98,45,1,5,144,255,213,10,1,79,134,255,203,225,0,45,105, +255,240,217,0,172,119,255,44,192,0,34,119,255,48,175,0,120,164,255,11,122,0,159,182,255,215,95,0,10,1,0,95,25,0,176,29,0,63,213,255,212,84,0,219,145,255,88,149,0,78,109,255,234,227,0,32,33,255,244,8,1,150,18,255,9,42,1,186,209,254,254,49,1,84,173,254, +61,52,1,169,157,254,178,43,1,150,150,254,73,46,1,186,142,254,184,40,1,203,123,254,206,6,1,153,123,254,100,7,1,153,119,254,10,247,0,65,117,254,226,214,0,210,130,254,172,180,0,106,157,254,19,146,0,35,189,254,238,84,0,22,252,254,34,46,0,32,27,255,239,232, +255,43,78,255,240,179,255,208,157,255,136,133,255,227,219,255,36,80,255,253,44,0,107,34,255,156,76,0,202,240,254,88,142,0,124,212,254,229,176,0,254,201,254,245,210,0,100,161,254,205,253,0,206,160,254,17,42,1,192,144,254,131,58,1,107,111,254,199,55,1, +149,90,254,40,91,1,98,78,254,227,85,1,238,100,254,170,66,1,184,127,254,144,58,1,85,198,254,34,21,1,79,12,255,75,2,1,38,100,255,249,250,0,158,170,255,162,248,0,243,209,255,44,202,0,68,16,0,222,169,0,232,32,0,151,85,0,204,0,0,169,82,0,235,50,0,113,12,0, +77,37,0,93,1,0,26,88,0,91,233,255,62,137,0,194,212,255,180,128,0,203,237,255,225,206,0,254,245,255,179,248,0,168,7,0,187,66,1,113,18,0,140,159,1,158,27,0,42,240,1,4,54,0,219,71,2,45,82,0,252,143,2,91,105,0,26,190,2,147,173,0,74,233,2,16,223,0,125,245, +2,99,47,1,104,27,3,27,148,1,193,45,3,4,223,1,30,41,3,125,53,2,177,15,3,209,141,2,39,255,2,35,210,2,70,252,2,209,11,3,216,224,2,231,46,3,44,187,2,30,91,3,223,97,2,132,109,3,179,39,2,33,123,3,24,188,1,113,102,3,104,106,1,181,44,3,159,38,1,120,249,2,79, +181,0,120,188,2,216,110,0,170,131,2,237,11,0,188,63,2,250,216,255,109,13,2,231,160,255,115,154,1,110,121,255,3,93,1,54,128,255,165,22,1,60,121,255,111,175,0,117,130,255,176,87,0,231,146,255,240,227,255,184,117,255,94,147,255,103,118,255,178,50,255,225, +94,255,200,223,254,65,120,255,211,132,254,201,108,255,176,36,254,172,129,255,22,199,253,118,209,255,16,139,253,46,40,0,52,52,253,110,123,0,34,6,253,208,223,0,25,176,252,216,236,0,127,129,252,194,16,1,110,150,252,49,253,0,205,159,252,238,210,0,84,203, +252,43,191,0,14,60,253,73,125,0,206,165,253,136,68,0,71,51,254,212,13,0,204,194,254,225,218,255,247,53,255,102,167,255,77,156,255,167,130,255,189,24,0,94,156,255,29,166,0,23,131,255,173,39,1,141,122,255,84,153,1,111,80,255,125,246,1,219,93,255,95,62, +2,254,73,255,197,145,2,67,81,255,49,159,2,49,86,255,106,164,2,40,120,255,213,116,2,58,111,255,176,118,2,141,126,255,29,81,2,109,178,255,62,31,2,194,215,255,168,227,1,241,250,255,85,92,1,183,237,255,74,240,0,172,48,0,27,97,0,102,41,0,101,217,255,254,53, +0,189,95,255,177,47,0,23,250,254,239,35,0,89,164,254,23,1,0,239,105,254,120,231,255,112,26,254,255,207,255,159,254,253,176,222,255,204,202,253,108,231,255,148,201,253,33,237,255,117,208,253,245,225,255,78,194,253,230,203,255,113,231,253,6,148,255,117, +11,254,43,79,255,183,51,254,117,14,255,15,58,254,33,178,254,93,92,254,24,149,254,100,93,254,73,88,254,96,118,254,113,43,254,4,125,254,173,15,254,124,144,254,152,248,253,66,182,254,163,240,253,45,224,254,164,246,253,192,3,255,59,7,254,71,37,255,243,36, +254,5,66,255,45,109,254,126,93,255,235,139,254,162,134,255,172,192,254,184,165,255,246,253,254,204,176,255,202,47,255,166,178,255,168,81,255,93,200,255,248,129,255,212,203,255,151,165,255,82,212,255,131,213,255,119,206,255,200,212,255,181,204,255,210, +1,0,140,229,255,64,31,0,110,246,255,173,56,0,170,220,255,242,65,0,167,251,255,76,88,0,19,11,0,243,71,0,14,24,0,54,63,0,172,43,0,200,19,0,54,48,0,80,10,0,205,60,0,178,242,255,122,51,0,215,238,255,165,38,0,208,237,255,242,48,0,14,232,255,204,56,0,133,172, +255,245,80,0,6,152,255,40,89,0,64,112,255,132,84,0,21,58,255,43,62,0,221,243,254,13,75,0,252,181,254,43,60,0,16,136,254,89,20,0,179,75,254,45,27,0,137,29,254,25,10,0,170,249,253,56,9,0,54,12,254,246,232,255,62,236,253,255,196,255,97,13,254,177,164,255, +120,56,254,212,144,255,115,124,254,36,136,255,109,190,254,38,148,255,170,38,255,150,140,255,170,109,255,83,167,255,122,184,255,143,200,255,17,6,0,24,2,0,164,104,0,194,72,0,61,188,0,181,135,0,169,14,1,212,185,0,29,110,1,144,251,0,89,210,1,23,45,1,171, +28,2,211,104,1,149,119,2,168,176,1,240,216,2,10,222,1,206,248,2,103,26,2,25,48,3,20,62,2,130,98,3,103,77,2,194,116,3,77,67,2,246,132,3,182,66,2,106,104,3,44,48,2,92,98,3,146,11,2,92,27,3,47,19,2,73,231,2,116,221,1,183,138,2,33,141,1,172,34,2,172,90,1, +61,188,1,113,254,0,219,75,1,76,197,0,194,209,0,71,149,0,209,109,0,94,74,0,220,28,0,16,239,255,228,181,255,135,181,255,122,123,255,227,103,255,155,26,255,211,75,255,98,5,255,175,16,255,49,210,254,227,243,254,85,202,254,15,178,254,40,191,254,91,129,254, +136,210,254,65,113,254,241,6,255,223,67,254,178,61,255,69,33,254,220,105,255,8,45,254,105,209,255,58,51,254,17,4,0,49,83,254,254,61,0,155,135,254,207,148,0,181,210,254,148,182,0,144,25,255,59,235,0,59,108,255,203,37,1,37,197,255,82,77,1,207,21,0,25,129, +1,5,119,0,47,160,1,177,215,0,118,189,1,23,45,1,196,215,1,51,132,1,55,240,1,160,220,1,177,15,2,114,67,2,21,18,2,177,140,2,9,28,2,31,233,2,206,59,2,201,45,3,122,97,2,216,75,3,198,97,2,106,107,3,167,108,2,147,141,3,155,114,2,1,114,3,103,94,2,25,104,3,51, +68,2,28,79,3,20,71,2,211,27,3,0,62,2,142,223,2,88,64,2,130,166,2,32,65,2,89,126,2,250,62,2,35,86,2,162,62,2,24,33,2,194,67,2,248,226,1,117,45,2,53,160,1,187,52,2,180,103,1,150,64,2,202,24,1,75,62,2,85,226,0,114,80,2,162,136,0,116,92,2,106,72,0,157,67, +2,0,8,0,136,50,2,213,207,255,168,250,1,159,169,255,175,194,1,57,149,255,73,119,1,51,99,255,54,246,0,31,80,255,68,132,0,121,47,255,211,9,0,33,39,255,80,140,255,246,43,255,50,35,255,0,18,255,67,211,254,247,246,254,29,146,254,128,245,254,188,108,254,245, +230,254,173,88,254,0,215,254,69,105,254,100,215,254,234,129,254,223,2,255,235,141,254,108,94,255,188,171,254,20,157,255,39,173,254,172,238,255,212,159,254,62,71,0,82,176,254,226,142,0,48,198,254,28,217,0,184,255,254,128,34,1,14,39,255,150,59,1,58,115, +255,189,75,1,117,193,255,83,72,1,99,15,0,219,60,1,44,83,0,206,58,1,182,152,0,174,47,1,237,200,0,180,44,1,221,235,0,173,45,1,206,10,1,73,43,1,34,32,1,85,35,1,67,49,1,104,38,1,203,41,1,133,23,1,233,28,1,197,29,1,77,27,1,77,12,1,193,10,1,234,29,1,144,10, +1,218,249,0,197,233,0,61,242,0,26,218,0,97,224,0,195,223,0,18,190,0,250,202,0,133,155,0,147,174,0,145,143,0,107,148,0,130,123,0,242,132,0,70,143,0,130,132,0,83,143,0,238,155,0,65,156,0,127,169,0,171,151,0,93,197,0,117,182,0,132,213,0,143,186,0,246,225, +0,75,193,0,9,235,0,199,189,0,207,20,1,200,197,0,220,30,1,219,198,0,184,42,1,137,189,0,12,70,1,122,165,0,222,46,1,53,158,0,120,22,1,123,122,0,188,208,0,233,88,0,110,117,0,89,26,0,199,11,0,201,217,255,241,193,255,99,132,255,9,117,255,22,49,255,177,47,255, +241,247,254,47,1,255,100,154,254,235,202,254,196,53,254,217,140,254,177,245,253,168,93,254,101,170,253,74,27,254,87,156,253,210,15,254,255,149,253,131,229,253,168,153,253,24,220,253,43,149,253,167,156,253,218,153,253,194,115,253,119,224,253,224,106,253, +208,242,253,216,87,253,100,30,254,35,88,253,28,60,254,91,81,253,51,103,254,49,94,253,238,160,254,139,124,253,241,184,254,244,178,253,39,227,254,169,235,253,112,16,255,56,42,254,222,57,255,209,123,254,44,82,255,79,201,254,133,153,255,40,53,255,148,179, +255,143,152,255,48,242,255,158,40,0,229,46,0,71,166,0,63,134,0,111,245,0,169,200,0,47,105,1,159,27,1,214,208,1,50,124,1,28,33,2,182,194,1,96,142,2,152,12,2,30,240,2,147,88,2,127,78,3,160,155,2,123,160,3,24,228,2,202,196,3,9,13,3,249,227,3,11,29,3,180, +224,3,92,79,3,225,237,3,160,84,3,36,223,3,94,103,3,240,202,3,125,104,3,95,181,3,10,78,3,8,132,3,206,34,3,233,77,3,87,238,2,147,20,3,64,187,2,60,225,2,47,82,2,7,197,2,26,0,2,162,178,2,242,166,1,135,164,2,89,69,1,10,160,2,51,8,1,167,104,2,50,193,0,101, +13,2,32,139,0,12,192,1,172,100,0,180,63,1,118,70,0,171,235,0,227,26,0,68,132,0,105,251,255,39,35,0,27,166,255,36,200,255,48,120,255,59,117,255,161,67,255,52,49,255,76,28,255,157,235,254,166,253,254,196,186,254,161,2,255,251,171,254,237,18,255,11,147, +254,190,48,255,22,127,254,108,96,255,178,136,254,241,182,255,78,134,254,176,215,255,202,124,254,247,43,0,68,154,254,192,111,0,112,218,254,89,144,0,110,3,255,154,178,0,2,55,255,171,218,0,30,140,255,99,250,0,177,230,255,32,11,1,189,37,0,147,37,1,2,104, +0,104,42,1,10,119,0,190,87,1,188,151,0,28,87,1,182,150,0,115,85,1,201,155,0,169,62,1,91,173,0,196,82,1,115,230,0,137,246,0,130,250,0,47,224,0,10,46,1,28,168,0,72,42,1,221,88,0,30,55,1,9,29,0,249,60,1,171,232,255,230,61,1,250,205,255,165,92,1,17,188,255, +38,82,1,135,183,255,101,74,1,72,181,255,176,80,1,222,171,255,116,45,1,59,171,255,64,21,1,96,159,255,210,245,0,108,159,255,63,208,0,214,164,255,14,155,0,132,151,255,153,112,0,152,166,255,156,16,0,75,203,255,222,190,255,87,8,0,147,121,255,62,65,0,227,51, +255,110,116,0,47,253,254,34,157,0,45,237,254,154,174,0,143,221,254,197,165,0,198,206,254,175,128,0,171,188,254,126,81,0,95,182,254,176,22,0,121,180,254,205,194,255,218,152,254,183,104,255,113,171,254,174,12,255,162,157,254,161,199,254,167,144,254,173, +130,254,202,128,254,42,72,254,194,103,254,6,27,254,67,87,254,71,254,253,97,72,254,41,5,254,46,68,254,75,225,253,64,63,254,142,204,253,89,55,254,229,202,253,48,78,254,34,189,253,117,85,254,140,184,253,19,105,254,28,196,253,222,135,254,206,214,253,28,191, +254,41,255,253,15,248,254,1,34,254,228,61,255,89,109,254,22,125,255,144,163,254,195,164,255,31,210,254,191,187,255,74,6,255,227,240,255,112,71,255,178,244,255,61,126,255,191,250,255,65,168,255,46,233,255,176,213,255,137,210,255,10,240,255,47,186,255, +113,18,0,245,166,255,67,58,0,216,128,255,39,81,0,192,75,255,37,120,0,226,39,255,18,125,0,143,26,255,171,88,0,154,10,255,47,39,0,68,219,254,130,5,0,226,234,254,94,212,255,167,10,255,59,173,255,123,11,255,227,109,255,152,250,254,87,75,255,196,247,254,21, +43,255,89,240,254,31,21,255,189,238,254,254,3,255,110,5,255,22,242,254,63,31,255,118,11,255,115,51,255,70,35,255,49,80,255,106,17,255,173,76,255,203,54,255,226,104,255,160,61,255,200,90,255,145,98,255,57,101,255,243,139,255,234,115,255,1,158,255,210, +133,255,118,198,255,226,171,255,66,237,255,131,217,255,205,251,255,214,228,255,145,21,0,189,230,255,211,61,0,249,13,0,49,57,0,5,6,0,155,62,0,58,38,0,181,72,0,2,94,0,184,94,0,205,130,0,96,96,0,245,158,0,154,119,0,38,139,0,4,113,0,136,129,0,159,100,0,135, +119,0,104,50,0,24,131,0,128,40,0,94,142,0,1,22,0,113,151,0,116,237,255,168,138,0,229,245,255,5,126,0,49,2,0,77,100,0,250,8,0,65,45,0,75,14,0,163,25,0,57,17,0,236,255,255,228,44,0,111,206,255,118,70,0,136,192,255,174,65,0,140,183,255,92,52,0,88,163,255, +4,48,0,174,141,255,168,70,0,137,149,255,120,86,0,248,139,255,190,91,0,180,144,255,169,131,0,50,155,255,144,139,0,223,133,255,125,138,0,13,157,255,201,144,0,84,180,255,154,119,0,57,219,255,43,123,0,241,246,255,133,96,0,94,24,0,27,93,0,234,48,0,144,72, +0,174,78,0,253,34,0,247,115,0,59,238,255,169,148,0,91,174,255,242,185,0,20,98,255,59,229,0,234,55,255,158,32,1,14,34,255,165,35,1,189,231,254,72,44,1,99,209,254,123,46,1,95,169,254,135,239,0,10,132,254,219,209,0,166,129,254,32,152,0,2,109,254,220,95, +0,157,96,254,187,11,0,227,117,254,2,240,255,101,162,254,232,168,255,88,213,254,201,106,255,140,235,254,6,22,255,190,46,255,239,238,254,20,94,255,221,184,254,134,165,255,175,165,254,26,215,255,241,138,254,199,250,255,18,95,254,197,45,0,142,85,254,128, +97,0,159,60,254,235,110,0,235,72,254,186,124,0,200,102,254,96,149,0,112,155,254,91,170,0,211,210,254,60,163,0,74,23,255,240,160,0,132,99,255,47,161,0,15,173,255,149,124,0,26,232,255,81,129,0,172,58,0,206,125,0,32,93,0,33,94,0,78,112,0,233,88,0,207,158, +0,140,91,0,82,154,0,71,96,0,71,170,0,101,87,0,217,181,0,173,59,0,178,181,0,80,58,0,34,170,0,233,23,0,182,148,0,204,239,255,156,136,0,224,195,255,99,131,0,44,153,255,28,110,0,165,107,255,148,70,0,85,61,255,150,23,0,20,31,255,228,238,255,128,239,254,249, +147,255,127,233,254,149,82,255,230,204,254,118,24,255,68,206,254,212,224,254,222,191,254,97,196,254,80,196,254,164,185,254,166,194,254,69,221,254,223,197,254,179,201,254,120,226,254,8,241,254,247,244,254,185,9,255,215,243,254,232,40,255,124,6,255,28, +120,255,212,16,255,39,171,255,35,55,255,149,198,255,70,96,255,228,244,255,205,131,255,86,7,0,179,186,255,175,84,0,124,250,255,179,122,0,175,71,0,9,235,0,56,127,0,29,49,1,230,190,0,59,105,1,211,250,0,240,159,1,171,23,1,110,168,1,106,56,1,204,171,1,160, +96,1,90,161,1,92,105,1,96,162,1,45,133,1,111,180,1,4,162,1,72,166,1,198,165,1,121,154,1,196,143,1,33,156,1,25,126,1,30,120,1,80,107,1,124,117,1,141,95,1,164,84,1,60,100,1,199,62,1,10,37,1,177,29,1,18,247,0,194,16,1,22,167,0,171,231,0,128,107,0,149,200, +0,176,24,0,90,167,0,34,234,255,238,151,0,68,196,255,208,101,0,158,167,255,47,56,0,121,159,255,120,38,0,96,163,255,12,17,0,131,141,255,254,0,0,224,132,255,191,254,255,212,83,255,190,45,0,227,44,255,78,55,0,95,25,255,46,105,0,12,8,255,162,76,0,126,223, +254,220,38,0,221,183,254,47,249,255,149,207,254,73,196,255,226,168,254,253,118,255,76,162,254,46,52,255,232,161,254,15,254,254,192,206,254,244,227,254,155,208,254,188,173,254,90,233,254,12,153,254,62,6,255,239,114,254,95,31,255,228,132,254,3,52,255,165, +134,254,206,78,255,79,148,254,30,68,255,194,170,254,102,101,255,238,226,254,221,104,255,104,12,255,134,102,255,126,39,255,153,111,255,86,78,255,134,108,255,112,88,255,30,76,255,231,91,255,247,55,255,103,126,255,233,33,255,76,159,255,175,16,255,230,201, +255,61,6,255,140,246,255,104,247,254,103,246,255,234,248,254,128,248,255,131,216,254,223,1,0,123,199,254,41,254,255,110,193,254,22,249,255,55,196,254,226,226,255,69,216,254,217,203,255,207,222,254,127,167,255,172,254,254,196,119,255,130,3,255,186,76, +255,124,10,255,190,59,255,181,17,255,90,55,255,192,255,254,48,15,255,130,13,255,144,229,254,42,64,255,211,210,254,39,95,255,28,187,254,215,166,255,84,133,254,40,233,255,14,116,254,120,80,0,214,116,254,215,164,0,227,124,254,114,10,1,98,141,254,36,47,1, +177,177,254,47,96,1,151,238,254,227,138,1,184,56,255,214,132,1,224,147,255,179,162,1,58,235,255,46,151,1,149,74,0,8,135,1,242,132,0,115,81,1,124,200,0,193,56,1,55,248,0,250,2,1,78,37,1,206,188,0,231,73,1,124,120,0,215,98,1,30,58,0,156,130,1,151,14,0, +195,140,1,223,189,255,42,116,1,154,121,255,222,103,1,95,33,255,255,67,1,130,204,254,120,28,1,225,150,254,81,10,1,222,69,254,140,234,0,250,28,254,147,178,0,240,251,253,205,75,0,146,244,253,171,229,255,100,227,253,103,118,255,196,240,253,71,44,255,107, +236,253,44,221,254,143,25,254,227,177,254,74,81,254,248,147,254,198,140,254,41,134,254,208,167,254,49,157,254,135,254,254,8,176,254,223,59,255,123,204,254,40,113,255,173,7,255,90,172,255,249,82,255,238,211,255,188,161,255,17,247,255,70,231,255,19,74, +0,141,55,0,65,95,0,64,100,0,22,161,0,245,150,0,226,207,0,234,174,0,179,235,0,26,214,0,72,31,1,61,251,0,54,40,1,132,12,1,30,44,1,115,39,1,20,15,1,12,74,1,215,219,0,127,88,1,98,173,0,233,91,1,43,117,0,174,60,1,140,38,0,77,27,1,215,225,255,15,222,0,228, +172,255,195,160,0,188,83,255,57,87,0,239,38,255,214,35,0,163,22,255,164,228,255,111,6,255,192,199,255,64,36,255,111,133,255,113,79,255,225,92,255,65,113,255,23,72,255,245,161,255,84,58,255,33,222,255,214,45,255,21,31,0,166,67,255,27,87,0,206,93,255,68, +127,0,157,162,255,87,128,0,253,248,255,91,164,0,79,61,0,191,168,0,107,152,0,160,173,0,162,5,1,255,180,0,58,93,1,93,188,0,14,212,1,173,175,0,220,12,2,106,192,0,172,99,2,107,198,0,140,147,2,140,215,0,87,172,2,52,213,0,232,191,2,101,203,0,38,194,2,223,177, +0,126,196,2,251,144,0,161,176,2,210,116,0,150,131,2,184,100,0,211,103,2,224,67,0,230,53,2,100,75,0,172,36,2,244,9,0,22,227,1,150,16,0,180,181,1,6,11,0,86,119,1,55,1,0,35,40,1,106,13,0,195,213,0,220,17,0,234,111,0,7,15,0,136,3,0,165,38,0,195,168,255,78, +42,0,205,89,255,185,49,0,27,248,254,103,48,0,203,195,254,10,41,0,165,134,254,68,60,0,150,98,254,192,52,0,236,90,254,225,79,0,187,92,254,78,97,0,109,123,254,32,82,0,148,147,254,61,59,0,246,186,254,58,31,0,244,233,254,112,10,0,238,37,255,254,245,255,138, +96,255,9,226,255,0,147,255,158,220,255,179,197,255,79,186,255,184,235,255,149,197,255,216,248,255,144,139,255,36,3,0,201,150,255,220,34,0,254,119,255,88,23,0,90,103,255,57,26,0,52,107,255,76,29,0,174,73,255,28,51,0,53,48,255,64,35,0,140,50,255,254,53, +0,99,73,255,110,54,0,40,113,255,45,36,0,234,175,255,21,38,0,232,21,0,46,40,0,212,132,0,1,86,0,2,213,0,216,110,0,124,53,1,147,170,0,182,123,1,223,251,0,29,164,1,137,70,1,188,187,1,113,137,1,102,207,1,159,217,1,135,222,1,160,225,1,212,242,1,42,234,1,43, +241,1,255,244,1,123,234,1,73,231,1,11,234,1,222,223,1,161,226,1,69,195,1,63,197,1,121,154,1,30,176,1,46,156,1,26,132,1,180,120,1,119,64,1,41,106,1,239,12,1,245,93,1,235,175,0,56,63,1,152,91,0,181,67,1,249,0,0,247,42,1,83,157,255,18,0,1,151,91,255,112, +204,0,174,10,255,95,101,0,205,202,254,200,27,0,244,159,254,16,189,255,7,104,254,7,93,255,5,70,254,174,19,255,33,47,254,51,226,254,232,35,254,183,184,254,10,59,254,252,122,254,39,105,254,143,95,254,106,147,254,203,67,254,68,208,254,131,36,254,138,20,255, +170,46,254,145,94,255,101,57,254,36,185,255,234,123,254,159,35,0,32,168,254,49,128,0,231,227,254,138,199,0,158,44,255,38,6,1,53,122,255,54,40,1,220,229,255,175,65,1,160,58,0,118,54,1,121,162,0,163,65,1,63,15,1,204,44,1,42,122,1,126,10,1,76,206,1,192, +237,0,21,22,2,197,163,0,191,29,2,138,140,0,237,58,2,128,101,0,177,21,2,222,41,0,142,179,1,124,8,0,123,111,1,119,210,255,72,40,1,240,168,255,200,5,1,76,89,255,242,191,0,135,51,255,8,154,0,38,20,255,250,139,0,91,241,254,8,95,0,158,230,254,161,66,0,94,214, +254,254,63,0,65,243,254,137,74,0,31,17,255,34,103,0,117,60,255,67,124,0,122,112,255,42,179,0,26,158,255,7,215,0,56,206,255,242,244,0,226,20,0,189,33,1,167,52,0,239,82,1,63,73,0,61,56,1,138,134,0,138,82,1,202,152,0,214,92,1,87,183,0,194,71,1,169,202,0, +168,69,1,246,216,0,124,64,1,228,223,0,193,63,1,240,219,0,119,79,1,241,231,0,68,65,1,139,209,0,151,23,1,76,201,0,37,3,1,242,184,0,210,241,0,208,153,0,107,209,0,44,129,0,108,160,0,143,129,0,90,108,0,60,104,0,150,23,0,137,73,0,38,222,255,132,74,0,40,118, +255,11,57,0,138,39,255,109,35,0,45,237,254,219,13,0,152,177,254,85,250,255,117,148,254,252,225,255,193,89,254,13,213,255,5,89,254,58,163,255,103,71,254,20,157,255,132,111,254,237,73,255,84,127,254,215,42,255,117,207,254,132,19,255,94,28,255,179,255,254, +235,74,255,34,53,255,202,112,255,200,85,255,121,170,255,217,192,255,168,205,255,129,239,255,193,207,255,216,46,0,73,255,255,195,86,0,121,50,0,132,74,0,29,114,0,0,77,0,111,194,0,237,73,0,112,7,1,239,83,0,5,55,1,232,74,0,255,67,1,205,64,0,195,87,1,150, +79,0,231,75,1,15,93,0,253,37,1,29,107,0,248,255,0,162,136,0,166,183,0,67,174,0,25,143,0,117,174,0,237,76,0,198,175,0,119,26,0,96,153,0,242,4,0,80,117,0,239,232,255,112,67,0,20,227,255,196,31,0,98,196,255,106,3,0,220,164,255,103,231,255,88,100,255,54, +186,255,135,64,255,242,190,255,78,0,255,164,160,255,40,187,254,73,130,255,250,161,254,85,120,255,10,129,254,236,124,255,7,107,254,189,101,255,93,97,254,78,105,255,157,109,254,102,97,255,117,146,254,16,111,255,227,185,254,98,126,255,187,218,254,50,142, +255,224,23,255,121,159,255,71,58,255,169,202,255,146,117,255,108,226,255,143,152,255,211,248,255,213,165,255,141,46,0,233,172,255,148,51,0,223,194,255,222,41,0,4,191,255,187,67,0,139,230,255,176,77,0,107,229,255,141,109,0,202,226,255,218,129,0,8,231, +255,12,130,0,207,223,255,176,146,0,84,245,255,0,130,0,25,218,255,173,122,0,30,209,255,239,85,0,61,198,255,229,52,0,25,210,255,187,10,0,53,189,255,9,234,255,224,151,255,57,155,255,72,123,255,101,93,255,101,100,255,127,44,255,13,41,255,204,255,254,247, +1,255,131,212,254,105,209,254,90,178,254,93,152,254,15,111,254,203,69,254,244,94,254,240,6,254,205,82,254,68,229,253,64,46,254,97,200,253,94,35,254,94,174,253,112,22,254,222,149,253,197,252,253,191,148,253,174,26,254,248,151,253,250,30,254,124,157,253, +201,42,254,89,187,253,211,79,254,29,213,253,17,131,254,124,230,253,63,158,254,15,4,254,216,247,254,226,49,254,189,40,255,154,75,254,14,101,255,18,93,254,225,142,255,251,106,254,249,197,255,101,120,254,77,229,255,110,139,254,45,214,255,59,186,254,25,8, +0,48,15,255,30,1,0,106,32,255,248,246,255,69,97,255,246,222,255,204,136,255,96,232,255,152,171,255,85,179,255,205,205,255,177,162,255,5,205,255,52,107,255,47,188,255,103,52,255,120,168,255,180,5,255,96,117,255,106,208,254,90,47,255,13,154,254,101,232, +254,106,92,254,247,133,254,139,42,254,144,48,254,72,0,254,226,244,253,62,219,253,212,171,253,20,183,253,105,99,253,200,164,253,209,19,253,125,164,253,184,214,252,33,116,253,9,153,252,240,131,253,117,168,252,193,155,253,9,153,252,239,182,253,222,153,252, +224,215,253,236,161,252,129,1,254,98,165,252,169,27,254,14,195,252,130,82,254,230,235,252,243,145,254,26,59,253,19,161,254,232,127,253,26,225,254,21,196,253,110,51,255,21,5,254,184,110,255,48,78,254,35,183,255,216,136,254,56,9,0,69,227,254,142,54,0,101, +39,255,165,105,0,153,120,255,250,132,0,86,196,255,152,162,0,249,9,0,124,187,0,139,35,0,36,185,0,137,74,0,248,177,0,187,76,0,184,161,0,121,46,0,181,129,0,196,46,0,55,119,0,120,32,0,175,73,0,194,24,0,41,48,0,101,33,0,96,228,255,210,251,255,6,202,255,203, +248,255,30,139,255,159,243,255,145,98,255,72,241,255,235,53,255,117,4,0,88,26,255,231,20,0,12,14,255,200,17,0,157,25,255,208,30,0,26,30,255,225,19,0,22,55,255,22,247,255,225,89,255,231,213,255,48,126,255,33,164,255,13,152,255,114,112,255,163,205,255, +124,78,255,19,11,0,95,40,255,51,75,0,137,25,255,82,135,0,43,16,255,47,163,0,50,25,255,224,189,0,191,65,255,16,229,0,158,105,255,48,234,0,188,155,255,84,220,0,121,180,255,253,225,0,201,224,255,238,201,0,216,250,255,138,203,0,249,7,0,30,184,0,156,14,0, +15,152,0,218,10,0,199,126,0,91,244,255,189,150,0,186,9,0,70,151,0,35,247,255,175,138,0,90,240,255,47,108,0,31,211,255,87,69,0,100,214,255,159,37,0,174,15,0,96,232,255,139,35,0,68,194,255,44,85,0,223,179,255,141,116,0,240,111,255,183,166,0,101,91,255, +85,180,0,12,75,255,79,179,0,89,38,255,21,160,0,139,34,255,97,117,0,100,14,255,250,80,0,49,10,255,120,32,0,12,16,255,238,224,255,217,3,255,94,160,255,79,1,255,170,109,255,141,249,254,211,76,255,140,241,254,192,16,255,159,248,254,148,204,254,27,237,254, +125,163,254,4,247,254,244,105,254,27,235,254,214,53,254,210,250,254,172,17,254,118,9,255,143,223,253,212,14,255,7,188,253,217,5,255,251,124,253,115,46,255,85,84,253,177,42,255,198,33,253,10,61,255,232,251,252,18,68,255,247,220,252,187,75,255,115,211, +252,126,89,255,254,219,252,57,82,255,227,8,253,163,79,255,158,68,253,80,72,255,5,164,253,94,80,255,122,76,254,227,40,255,232,170,254,25,18,255,44,34,255,203,241,254,91,124,255,189,231,254,118,209,255,120,228,254,237,15,0,106,15,255,199,72,0,141,58,255, +177,104,0,77,107,255,95,158,0,125,150,255,75,206,0,149,195,255,9,231,0,77,225,255,90,232,0,89,24,0,223,245,0,233,29,0,222,233,0,67,54,0,88,206,0,55,60,0,255,195,0,183,88,0,101,157,0,202,95,0,35,119,0,178,103,0,158,101,0,215,97,0,233,44,0,169,82,0,200, +21,0,245,90,0,249,13,0,3,42,0,228,238,255,147,45,0,197,245,255,32,17,0,151,224,255,36,254,255,86,196,255,17,188,255,172,125,255,208,157,255,172,58,255,231,139,255,113,226,254,57,88,255,59,129,254,72,59,255,27,65,254,173,4,255,214,246,253,194,212,254, +206,178,253,31,149,254,69,115,253,60,71,254,164,63,253,135,6,254,59,9,253,232,230,253,29,28,253,136,203,253,186,37,253,67,210,253,111,31,253,214,231,253,18,38,253,240,249,253,19,54,253,132,37,254,145,60,253,79,74,254,133,72,253,116,135,254,165,81,253, +42,190,254,128,144,253,209,246,254,89,189,253,173,63,255,102,252,253,29,121,255,94,42,254,247,173,255,112,96,254,132,214,255,198,147,254,138,12,0,161,216,254,142,58,0,107,30,255,132,80,0,211,86,255,221,96,0,63,153,255,128,97,0,174,206,255,221,96,0,36, +13,0,209,94,0,12,74,0,115,91,0,87,141,0,92,62,0,165,167,0,223,59,0,170,217,0,160,49,0,39,220,0,164,30,0,35,178,0,82,21,0,247,178,0,170,27,0,250,139,0,119,3,0,232,95,0,212,254,255,180,75,0,8,222,255,193,67,0,183,161,255,139,35,0,221,106,255,204,252,255, +207,92,255,155,2,0,55,66,255,198,3,0,52,38,255,61,7,0,14,36,255,180,12,0,234,51,255,39,234,255,20,102,255,187,214,255,135,116,255,73,194,255,5,133,255,195,166,255,26,148,255,118,146,255,87,197,255,213,155,255,152,227,255,108,164,255,135,246,255,101,163, +255,112,8,0,179,187,255,192,249,255,129,187,255,193,1,0,132,221,255,86,252,255,206,217,255,152,229,255,13,222,255,144,202,255,30,201,255,117,192,255,184,186,255,3,172,255,110,194,255,4,117,255,196,180,255,47,118,255,224,202,255,192,68,255,180,203,255, +158,41,255,194,209,255,13,26,255,180,201,255,0,14,255,117,197,255,246,238,254,41,185,255,85,244,254,88,163,255,87,14,255,227,175,255,196,45,255,255,201,255,26,99,255,47,188,255,88,150,255,194,213,255,68,204,255,148,253,255,192,255,255,129,254,255,218, +70,0,167,4,0,228,97,0,24,9,0,19,129,0,215,49,0,208,153,0,213,88,0,36,177,0,206,136,0,164,205,0,151,155,0,195,202,0,247,176,0,150,195,0,152,163,0,75,199,0,100,147,0,201,213,0,42,130,0,236,179,0,106,83,0,159,167,0,103,49,0,147,110,0,111,13,0,48,51,0,246, +235,255,84,232,255,195,166,255,202,164,255,96,113,255,129,119,255,122,62,255,180,70,255,145,235,254,39,28,255,10,198,254,39,235,254,216,201,254,180,208,254,221,190,254,55,200,254,224,214,254,244,159,254,187,220,254,154,133,254,164,242,254,174,144,254, +141,12,255,75,150,254,0,35,255,99,144,254,195,48,255,1,164,254,250,92,255,230,202,254,196,119,255,159,242,254,136,143,255,125,24,255,13,161,255,60,61,255,115,173,255,47,108,255,81,217,255,133,159,255,149,9,0,56,210,255,29,55,0,124,8,0,31,140,0,229,46, +0,38,206,0,198,53,0,224,3,1,25,67,0,99,62,1,225,69,0,27,90,1,123,53,0,222,107,1,92,251,255,209,99,1,253,178,255,101,145,1,28,111,255,70,148,1,54,54,255,49,131,1,159,238,254,161,117,1,8,169,254,131,63,1,114,115,254,94,6,1,24,79,254,84,172,0,115,54,254, +73,66,0,225,32,254,188,216,255,71,61,254,37,147,255,49,81,254,227,53,255,197,128,254,33,239,254,228,186,254,233,184,254,236,12,255,254,142,254,199,73,255,216,134,254,152,162,255,16,132,254,44,13,0,122,139,254,54,107,0,8,180,254,66,168,0,123,206,254,254, +237,0,98,9,255,149,49,1,223,72,255,239,81,1,156,144,255,57,133,1,153,189,255,71,151,1,124,5,0,253,154,1,241,53,0,197,153,1,233,99,0,7,137,1,241,179,0,202,148,1,193,4,1,83,135,1,29,47,1,105,107,1,151,143,1,220,78,1,118,193,1,215,28,1,114,216,1,201,14, +1,245,16,2,131,3,1,77,19,2,56,196,0,100,64,2,116,168,0,102,84,2,117,121,0,239,82,2,109,100,0,184,83,2,233,27,0,13,66,2,249,193,255,34,26,2,238,146,255,56,254,1,179,60,255,75,196,1,81,21,255,112,123,1,47,242,254,98,52,1,16,192,254,53,234,0,0,152,254,112, +133,0,104,190,254,188,25,0,183,173,254,166,189,255,199,207,254,19,95,255,41,249,254,204,12,255,33,35,255,187,228,254,167,66,255,12,218,254,118,78,255,28,187,254,129,119,255,202,187,254,132,149,255,67,205,254,19,143,255,59,188,254,128,113,255,59,194,254, +201,97,255,214,238,254,193,74,255,131,24,255,184,51,255,115,47,255,154,54,255,243,87,255,117,56,255,141,132,255,217,68,255,181,154,255,249,71,255,81,207,255,136,73,255,167,6,0,4,121,255,124,78,0,74,132,255,225,143,0,73,193,255,140,228,0,254,243,255,26, +25,1,210,53,0,208,89,1,132,141,0,42,114,1,209,226,0,255,179,1,123,43,1,24,247,1,54,95,1,3,27,2,228,150,1,232,69,2,171,200,1,99,115,2,255,233,1,192,108,2,173,220,1,18,114,2,68,245,1,86,109,2,31,243,1,15,82,2,179,217,1,62,62,2,255,233,1,66,39,2,14,195, +1,139,9,2,12,183,1,128,230,1,93,182,1,189,212,1,61,104,1,145,140,1,109,31,1,139,80,1,71,216,0,138,17,1,156,139,0,188,204,0,17,46,0,67,128,0,110,240,255,97,52,0,84,173,255,60,1,0,102,97,255,4,187,255,95,33,255,139,165,255,60,189,254,155,146,255,95,165, +254,250,159,255,139,111,254,161,135,255,222,126,254,134,180,255,19,151,254,164,171,255,248,203,254,254,199,255,193,17,255,114,234,255,221,108,255,146,36,0,226,211,255,162,78,0,234,35,0,113,151,0,111,120,0,195,219,0,34,222,0,87,66,1,240,30,1,183,148,1, +103,89,1,146,215,1,112,118,1,41,33,2,101,140,1,173,101,2,154,162,1,133,144,2,16,160,1,111,166,2,129,168,1,138,190,2,9,151,1,35,166,2,105,180,1,60,152,2,100,181,1,43,112,2,183,198,1,147,95,2,171,204,1,80,53,2,143,178,1,22,30,2,87,183,1,94,4,2,238,128, +1,110,229,1,145,70,1,34,158,1,74,250,0,173,119,1,108,206,0,5,61,1,214,150,0,67,248,0,119,72,0,103,175,0,62,10,0,28,106,0,81,196,255,150,84,0,9,169,255,36,64,0,224,132,255,51,35,0,13,93,255,29,254,255,241,60,255,159,241,255,49,65,255,174,15,0,91,58,255, +129,53,0,162,71,255,198,125,0,121,100,255,193,193,0,30,131,255,149,1,1,105,192,255,95,81,1,197,230,255,73,119,1,11,55,0,198,168,1,192,119,0,146,215,1,123,236,0,109,28,2,168,50,1,96,85,2,153,150,1,231,120,2,190,211,1,111,172,2,198,31,2,254,224,2,158,64, +2,156,246,2,44,113,2,31,51,3,157,119,2,30,102,3,68,109,2,20,122,3,143,107,2,84,142,3,40,77,2,214,127,3,38,57,2,85,85,3,58,9,2,197,24,3,31,245,1,246,203,2,200,191,1,130,116,2,191,158,1,54,41,2,49,112,1,51,208,1,221,88,1,59,158,1,43,56,1,129,110,1,219, +1,1,35,46,1,90,225,0,201,23,1,175,197,0,241,246,0,44,133,0,239,218,0,44,76,0,20,215,0,211,59,0,80,191,0,127,32,0,240,171,0,207,11,0,127,165,0,25,6,0,217,189,0,25,10,0,191,236,0,219,19,0,82,18,1,167,255,255,12,60,1,234,31,0,183,89,1,252,36,0,190,96,1, +49,63,0,161,117,1,231,76,0,20,150,1,211,118,0,223,178,1,16,168,0,125,202,1,201,209,0,224,239,1,137,252,0,8,16,2,130,54,1,239,19,2,18,123,1,188,1,2,196,143,1,233,18,2,9,210,1,132,4,2,225,244,1,122,30,2,110,29,2,52,84,2,87,49,2,159,87,2,229,87,2,163,131, +2,228,85,2,106,183,2,51,67,2,142,226,2,214,67,2,232,6,3,80,44,2,60,28,3,251,55,2,13,58,3,96,11,2,183,65,3,71,9,2,4,92,3,181,247,1,66,82,3,28,209,1,214,70,3,188,187,1,206,57,3,35,163,1,183,12,3,209,147,1,182,254,2,230,111,1,10,219,2,96,82,1,162,188,2, +236,43,1,88,133,2,13,2,1,2,80,2,63,4,1,179,45,2,133,216,0,106,252,1,141,231,0,250,251,1,115,211,0,75,251,1,45,206,0,73,231,1,137,191,0,108,205,1,114,213,0,246,219,1,200,201,0,35,229,1,60,236,0,8,215,1,170,13,1,129,232,1,41,30,1,143,246,1,50,55,1,54,242, +1,216,95,1,176,13,2,17,111,1,145,16,2,164,136,1,119,61,2,0,124,1,193,49,2,190,146,1,212,58,2,99,169,1,58,73,2,217,166,1,41,33,2,176,193,1,75,1,2,119,186,1,33,219,1,75,181,1,70,148,1,106,178,1,154,106,1,70,135,1,223,58,1,108,86,1,80,252,0,120,70,1,136, +198,0,20,11,1,200,145,0,217,237,0,1,86,0,72,163,0,142,0,0,161,122,0,114,234,255,62,69,0,179,197,255,17,245,255,96,174,255,40,176,255,184,182,255,197,112,255,79,191,255,224,67,255,192,199,255,100,24,255,31,217,255,248,4,255,218,8,0,186,6,255,93,81,0,58, +39,255,3,171,0,42,62,255,68,2,1,117,127,255,79,116,1,42,192,255,56,195,1,131,9,0,17,39,2,202,95,0,56,112,2,222,167,0,106,183,2,207,9,1,55,240,2,67,46,1,201,255,2,56,119,1,169,55,3,222,159,1,195,63,3,227,203,1,159,83,3,181,237,1,163,60,3,206,241,1,169, +57,3,42,28,2,43,45,3,10,19,2,237,245,2,232,251,1,108,195,2,217,227,1,211,166,2,194,190,1,2,82,2,186,169,1,115,27,2,161,114,1,20,209,1,84,27,1,50,129,1,92,245,0,149,62,1,32,204,0,117,248,0,41,168,0,98,186,0,83,153,0,138,151,0,210,116,0,232,95,0,155,117, +0,237,70,0,73,106,0,163,23,0,52,83,0,221,235,255,66,103,0,14,238,255,9,96,0,121,239,255,4,107,0,21,239,255,187,136,0,168,14,0,176,150,0,157,26,0,49,177,0,53,51,0,7,204,0,75,84,0,1,207,0,222,113,0,222,226,0,13,147,0,167,239,0,230,195,0,199,248,0,139,220, +0,246,218,0,246,227,0,158,218,0,242,244,0,34,222,0,199,7,1,108,212,0,204,244,0,155,184,0,206,209,0,248,181,0,242,195,0,1,148,0,164,161,0,194,141,0,109,115,0,53,105,0,49,74,0,31,74,0,133,44,0,72,41,0,55,16,0,103,241,255,204,0,0,82,218,255,78,244,255,28, +178,255,248,253,255,165,172,255,18,12,0,93,137,255,234,48,0,88,148,255,138,88,0,226,150,255,49,133,0,185,173,255,27,163,0,183,220,255,77,220,0,12,8,0,120,20,1,198,49,0,235,42,1,175,75,0,212,76,1,253,107,0,80,118,1,146,161,0,140,157,1,66,166,0,202,214, +1,98,232,0,50,1,2,54,46,1,10,30,2,155,107,1,191,35,2,57,192,1,209,34,2,188,254,1,181,55,2,149,43,2,91,33,2,198,100,2,89,72,2,211,102,2,234,83,2,80,99,2,160,105,2,134,80,2,169,124,2,8,62,2,187,121,2,0,51,2,219,120,2,209,13,2,103,100,2,14,2,2,108,85,2, +193,237,1,12,54,2,148,220,1,88,74,2,91,225,1,204,98,2,47,214,1,172,89,2,116,215,1,21,79,2,143,235,1,145,77,2,130,233,1,225,60,2,14,2,2,8,83,2,194,251,1,16,94,2,239,6,2,101,137,2,195,1,2,85,158,2,95,3,2,90,141,2,197,21,2,138,129,2,246,11,2,202,84,2,234, +19,2,201,66,2,77,12,2,58,20,2,230,36,2,149,249,1,229,32,2,137,245,1,228,22,2,65,220,1,81,241,1,25,196,1,183,208,1,192,175,1,250,130,1,191,167,1,100,59,1,173,168,1,233,15,1,21,158,1,82,208,0,63,131,1,188,144,0,198,113,1,120,88,0,112,60,1,109,39,0,235, +46,1,169,206,255,159,237,0,250,148,255,25,147,0,119,90,255,51,94,0,251,32,255,151,25,0,35,248,254,31,207,255,141,245,254,108,168,255,227,243,254,216,128,255,182,224,254,195,105,255,252,229,254,68,85,255,13,217,254,79,75,255,151,229,254,244,93,255,254, +3,255,88,100,255,222,53,255,243,150,255,15,105,255,227,169,255,84,165,255,229,189,255,109,232,255,201,222,255,116,44,0,187,17,0,194,139,0,180,65,0,127,213,0,136,125,0,196,21,1,240,171,0,253,95,1,251,214,0,92,164,1,93,2,1,183,202,1,77,23,1,154,223,1,175, +9,1,186,230,1,87,11,1,180,229,1,199,253,0,122,218,1,200,5,1,204,168,1,27,224,0,175,118,1,127,224,0,146,19,1,173,182,0,94,196,0,74,135,0,32,78,0,111,70,0,248,252,255,205,6,0,194,149,255,201,163,255,220,37,255,221,54,255,156,212,254,3,189,254,132,106,254, +93,95,254,17,15,254,79,20,254,8,179,253,178,207,253,99,89,253,0,112,253,142,21,253,169,56,253,41,208,252,9,17,253,107,185,252,17,233,252,230,157,252,184,218,252,70,185,252,86,232,252,163,237,252,186,238,252,125,42,253,105,42,253,114,117,253,198,98,253, +203,192,253,203,150,253,250,30,254,17,215,253,16,129,254,190,65,254,37,211,254,23,143,254,32,33,255,50,222,254,72,116,255,63,33,255,42,182,255,44,95,255,79,245,255,75,155,255,17,56,0,142,199,255,20,84,0,132,223,255,6,129,0,242,6,0,247,169,0,125,21,0, +124,187,0,181,10,0,9,222,0,238,19,0,11,238,0,177,234,255,43,249,0,10,192,255,36,238,0,182,156,255,119,198,0,128,122,255,229,176,0,204,73,255,159,102,0,207,36,255,249,57,0,204,8,255,114,28,0,226,242,254,150,205,255,132,174,254,165,172,255,140,124,254, +191,111,255,66,73,254,211,75,255,82,48,254,39,38,255,5,34,254,21,234,254,6,36,254,5,200,254,123,78,254,90,178,254,157,111,254,23,187,254,142,148,254,42,196,254,190,183,254,215,239,254,220,235,254,89,30,255,17,10,255,255,74,255,140,51,255,79,119,255,0, +92,255,145,161,255,65,118,255,176,207,255,1,163,255,230,251,255,73,200,255,117,255,255,83,233,255,42,255,255,225,13,0,0,8,0,107,32,0,210,236,255,96,50,0,58,226,255,218,71,0,46,173,255,68,77,0,71,169,255,219,79,0,168,141,255,8,36,0,173,120,255,127,236, +255,90,113,255,105,195,255,101,89,255,4,138,255,76,91,255,244,93,255,243,78,255,96,54,255,147,55,255,177,248,254,109,47,255,190,191,254,218,21,255,217,146,254,211,8,255,156,105,254,46,240,254,5,85,254,244,216,254,187,98,254,141,194,254,253,73,254,62, +211,254,6,97,254,187,211,254,196,123,254,226,221,254,148,145,254,7,222,254,138,173,254,77,237,254,193,217,254,199,14,255,30,24,255,194,29,255,93,89,255,173,57,255,81,144,255,110,118,255,179,197,255,215,168,255,117,0,0,70,214,255,238,25,0,156,9,0,102, +41,0,195,23,0,94,20,0,38,69,0,249,15,0,227,85,0,253,248,255,179,109,0,25,210,255,152,95,0,111,198,255,163,75,0,58,174,255,128,34,0,194,156,255,197,234,255,47,129,255,101,211,255,94,95,255,26,156,255,41,65,255,255,141,255,62,19,255,208,161,255,43,215, +254,110,183,255,69,164,254,72,181,255,225,104,254,19,210,255,163,43,254,246,226,255,190,0,254,86,252,255,7,247,253,156,3,0,63,244,253,73,252,255,121,255,253,11,250,255,222,9,254,80,255,255,234,66,254,62,0,0,93,89,254,156,7,0,133,115,254,155,253,255,181, +158,254,207,212,255,212,228,254,178,233,255,174,29,255,254,182,255,121,54,255,154,180,255,14,106,255,91,184,255,99,141,255,133,163,255,21,176,255,53,172,255,61,196,255,22,175,255,25,216,255,58,161,255,182,225,255,157,155,255,108,233,255,193,131,255,33, +227,255,11,128,255,134,239,255,60,120,255,249,210,255,77,99,255,97,192,255,211,75,255,120,162,255,53,52,255,97,119,255,114,36,255,155,83,255,161,6,255,89,43,255,214,229,254,198,210,254,86,199,254,63,171,254,132,165,254,75,104,254,242,139,254,232,46,254, +148,136,254,114,248,253,92,135,254,3,207,253,25,158,254,224,159,253,219,220,254,141,146,253,183,240,254,227,138,253,126,30,255,171,133,253,76,93,255,152,136,253,151,150,255,125,171,253,162,207,255,209,202,253,5,253,255,62,228,253,225,16,0,157,241,253, +114,28,0,18,30,254,52,26,0,158,56,254,89,28,0,155,97,254,190,36,0,74,149,254,194,15,0,151,169,254,114,20,0,91,197,254,193,253,255,233,182,254,117,251,255,52,185,254,48,246,255,27,183,254,81,13,0,140,189,254,163,16,0,100,165,254,125,10,0,122,135,254,227, +219,255,230,93,254,13,209,255,181,99,254,128,168,255,54,79,254,34,110,255,41,77,254,140,46,255,253,71,254,245,226,254,54,85,254,223,199,254,168,89,254,6,145,254,97,70,254,26,103,254,95,52,254,18,86,254,219,42,254,34,53,254,93,36,254,44,33,254,62,37,254, +107,39,254,43,30,254,144,234,253,40,8,254,217,204,253,197,3,254,60,199,253,92,215,253,169,167,253,171,194,253,149,156,253,4,146,253,168,153,253,153,142,253,184,132,253,193,109,253,184,128,253,247,80,253,253,133,253,131,46,253,252,180,253,144,56,253,8, +181,253,123,35,253,225,223,253,42,32,253,216,9,254,86,29,253,109,57,254,188,2,253,2,109,254,24,37,253,137,148,254,224,41,253,219,212,254,101,59,253,155,11,255,61,92,253,199,71,255,61,102,253,51,154,255,192,164,253,226,215,255,40,197,253,3,32,0,190,4, +254,20,84,0,82,50,254,234,163,0,176,114,254,146,216,0,171,188,254,156,251,0,141,2,255,48,39,1,136,74,255,139,75,1,0,153,255,234,90,1,171,239,255,163,124,1,154,67,0,81,115,1,129,120,0,239,85,1,250,204,0,127,79,1,116,242,0,54,42,1,219,18,1,51,12,1,41,37, +1,28,227,0,71,26,1,220,202,0,247,243,0,41,160,0,183,229,0,129,109,0,229,179,0,114,87,0,67,130,0,230,54,0,146,99,0,144,11,0,168,14,0,240,229,255,119,213,255,54,190,255,93,146,255,86,122,255,0,88,255,140,107,255,131,32,255,66,58,255,139,244,254,169,23, +255,184,192,254,137,14,255,12,157,254,21,238,254,175,108,254,78,243,254,183,117,254,163,215,254,240,61,254,100,213,254,7,50,254,24,203,254,5,24,254,46,236,254,164,246,253,184,244,254,118,223,253,180,11,255,167,211,253,83,35,255,31,172,253,203,54,255, +90,197,253,1,95,255,229,213,253,33,104,255,131,235,253,107,82,255,100,228,253,207,90,255,184,1,254,206,78,255,41,10,254,111,63,255,152,55,254,60,55,255,180,91,254,176,32,255,11,151,254,106,17,255,219,166,254,6,11,255,31,221,254,97,248,254,88,224,254, +17,3,255,19,30,255,66,255,254,249,78,255,49,10,255,146,117,255,95,29,255,90,120,255,72,49,255,202,116,255,125,79,255,74,145,255,244,88,255,46,113,255,222,110,255,82,99,255,60,118,255,49,82,255,238,146,255,242,14,255,41,174,255,69,225,254,252,168,255, +222,192,254,249,195,255,188,173,254,32,218,255,196,131,254,75,199,255,8,123,254,61,248,255,232,109,254,222,238,255,98,88,254,234,238,255,223,80,254,253,233,255,32,54,254,101,221,255,89,49,254,132,218,255,188,45,254,119,210,255,244,44,254,55,188,255,207, +46,254,103,178,255,104,79,254,189,164,255,167,87,254,38,156,255,70,117,254,136,128,255,155,146,254,157,92,255,23,198,254,1,99,255,135,11,255,65,50,255,179,73,255,80,7,255,106,148,255,233,226,254,212,212,255,220,167,254,172,247,255,248,134,254,127,47, +0,40,107,254,64,31,0,45,106,254,56,14,0,57,94,254,29,2,0,125,95,254,33,233,255,113,99,254,158,231,255,188,97,254,185,184,255,190,119,254,20,162,255,106,149,254,33,109,255,129,190,254,59,54,255,63,223,254,218,18,255,209,246,254,192,209,254,119,27,255, +175,163,254,32,96,255,166,138,254,174,132,255,66,77,254,134,169,255,196,60,254,223,185,255,228,6,254,47,234,255,28,4,254,111,252,255,242,217,253,217,251,255,202,197,253,169,19,0,208,194,253,83,31,0,108,186,253,72,43,0,194,180,253,145,25,0,124,157,253, +25,4,0,147,145,253,74,254,255,168,170,253,95,224,255,227,201,253,184,228,255,89,250,253,201,211,255,5,34,254,218,196,255,254,85,254,164,160,255,34,131,254,226,158,255,227,183,254,92,133,255,24,214,254,160,114,255,130,20,255,122,112,255,28,61,255,88,89, +255,246,119,255,194,88,255,127,167,255,98,67,255,241,187,255,10,51,255,99,202,255,84,43,255,144,219,255,188,32,255,7,225,255,97,51,255,172,241,255,98,67,255,161,255,255,30,68,255,71,237,255,64,95,255,15,236,255,32,96,255,24,212,255,167,127,255,163,220, +255,63,150,255,137,210,255,55,188,255,34,245,255,180,192,255,27,236,255,161,250,255,230,2,0,140,34,0,25,19,0,130,54,0,175,21,0,119,72,0,36,13,0,9,98,0,24,15,0,31,123,0,14,238,255,107,137,0,61,7,0,64,146,0,23,1,0,141,168,0,80,6,0,103,217,0,200,21,0,251, +205,0,24,13,0,168,245,0,221,40,0,241,235,0,94,26,0,227,22,1,190,47,0,114,10,1,154,61,0,51,10,1,32,93,0,22,37,1,26,92,0,251,10,1,20,91,0,13,8,1,211,68,0,30,245,0,78,51,0,247,226,0,51,39,0,250,195,0,128,49,0,241,168,0,209,46,0,25,132,0,183,38,0,151,81, +0,165,45,0,167,52,0,121,44,0,185,240,255,98,1,0,235,181,255,208,237,255,171,96,255,116,185,255,210,0,255,159,123,255,84,177,254,198,74,255,234,122,254,18,22,255,240,54,254,73,204,254,73,10,254,40,181,254,156,224,253,79,138,254,149,215,253,56,95,254,217, +210,253,128,77,254,200,225,253,226,47,254,59,246,253,32,50,254,224,16,254,75,45,254,210,71,254,233,58,254,230,135,254,237,96,254,10,191,254,92,91,254,10,252,254,45,176,254,101,85,255,171,253,254,56,137,255,50,98,255,132,208,255,5,199,255,245,27,0,152, +37,0,198,122,0,112,143,0,210,173,0,209,237,0,43,243,0,43,71,1,253,30,1,27,149,1,122,92,1,145,203,1,69,127,1,230,250,1,177,144,1,33,20,2,118,172,1,16,27,2,142,164,1,168,250,1,109,147,1,119,4,2,174,116,1,102,218,1,125,61,1,76,147,1,184,27,1,195,87,1,253, +227,0,225,9,1,110,171,0,225,149,0,108,90,0,241,61,0,81,66,0,112,210,255,153,241,255,178,122,255,248,185,255,126,41,255,135,120,255,88,234,254,210,61,255,94,174,254,174,12,255,129,144,254,237,213,254,128,126,254,250,160,254,180,91,254,254,133,254,28,67, +254,110,138,254,77,55,254,230,139,254,11,29,254,69,153,254,67,22,254,22,179,254,135,19,254,141,245,254,79,22,254,163,30,255,149,23,254,232,90,255,101,47,254,55,133,255,61,84,254,201,211,255,230,150,254,207,19,0,121,245,254,110,53,0,14,49,255,253,99,0, +2,171,255,119,139,0,63,25,0,153,164,0,78,118,0,236,177,0,163,212,0,50,199,0,144,18,1,204,237,0,27,94,1,224,252,0,43,130,1,243,56,1,21,156,1,79,42,1,73,182,1,188,61,1,149,186,1,191,32,1,182,201,1,131,255,0,72,233,1,183,214,0,118,0,2,84,159,0,127,214,1, +54,113,0,21,215,1,128,40,0,193,187,1,15,233,255,204,169,1,191,170,255,7,144,1,253,111,255,45,81,1,110,114,255,14,84,1,57,82,255,170,22,1,219,92,255,59,235,0,143,78,255,236,184,0,143,72,255,123,123,0,189,95,255,82,95,0,100,77,255,32,30,0,108,98,255,7, +24,0,48,124,255,93,8,0,118,137,255,218,10,0,233,161,255,79,254,255,11,191,255,49,5,0,59,228,255,7,28,0,151,18,0,45,32,0,131,70,0,75,90,0,247,104,0,205,65,0,4,176,0,161,125,0,139,205,0,76,151,0,191,231,0,72,172,0,44,255,0,128,181,0,55,44,1,66,175,0,87, +63,1,147,176,0,54,103,1,39,161,0,170,129,1,227,161,0,220,129,1,141,177,0,83,139,1,176,153,0,43,119,1,220,158,0,217,103,1,23,180,0,125,59,1,65,173,0,106,253,0,108,164,0,95,206,0,20,156,0,117,180,0,218,140,0,4,107,0,26,151,0,115,32,0,135,119,0,49,4,0,21, +97,0,62,207,255,81,81,0,215,168,255,176,25,0,82,151,255,18,16,0,247,118,255,104,254,255,5,125,255,211,255,255,47,108,255,219,16,0,39,99,255,216,55,0,164,93,255,141,110,0,190,103,255,207,152,0,183,104,255,195,217,0,224,134,255,155,4,1,20,157,255,136,52, +1,192,182,255,231,73,1,231,200,255,78,98,1,128,237,255,153,100,1,70,21,0,55,122,1,220,17,0,37,131,1,106,70,0,10,113,1,159,102,0,125,68,1,63,134,0,174,3,1,152,156,0,25,200,0,161,187,0,5,128,0,119,198,0,158,38,0,210,228,0,242,2,0,76,205,0,9,180,255,116, +233,0,42,140,255,163,203,0,131,91,255,187,189,0,61,70,255,204,176,0,229,73,255,170,147,0,106,81,255,133,96,0,217,136,255,225,71,0,133,174,255,195,25,0,182,225,255,79,249,255,45,32,0,156,206,255,120,91,0,209,169,255,48,127,0,168,135,255,240,161,0,169, +149,255,116,181,0,190,166,255,57,209,0,196,169,255,181,205,0,186,195,255,107,213,0,35,187,255,218,197,0,168,196,255,153,167,0,190,168,255,226,153,0,59,171,255,212,143,0,210,177,255,7,148,0,115,166,255,76,155,0,226,158,255,237,143,0,90,162,255,219,144, +0,113,152,255,3,106,0,248,183,255,36,129,0,134,230,255,139,98,0,106,9,0,75,86,0,13,79,0,6,79,0,43,127,0,231,83,0,142,176,0,19,83,0,121,212,0,80,75,0,131,255,0,21,42,0,66,40,1,8,34,0,45,70,1,19,22,0,249,55,1,116,248,255,15,91,1,218,209,255,95,72,1,173, +196,255,197,37,1,124,198,255,206,255,0,237,216,255,184,226,0,241,246,255,130,184,0,119,20,0,70,143,0,244,83,0,250,71,0,137,139,0,57,21,0,129,185,0,136,248,255,103,234,0,218,198,255,100,7,1,150,146,255,71,26,1,117,133,255,97,48,1,247,120,255,146,36,1, +139,101,255,187,5,1,90,113,255,47,231,0,29,123,255,169,205,0,78,111,255,51,145,0,229,121,255,51,149,0,199,130,255,222,107,0,43,131,255,120,93,0,12,134,255,81,83,0,182,149,255,161,68,0,163,148,255,123,56,0,161,126,255,251,35,0,116,117,255,82,28,0,67,129, +255,145,32,0,143,135,255,254,53,0,218,139,255,157,26,0,35,181,255,69,22,0,26,211,255,92,6,0,40,229,255,54,250,255,18,1,0,110,251,255,70,25,0,227,37,0,194,19,0,147,54,0,213,22,0,253,114,0,188,18,0,65,169,0,55,5,0,230,195,0,146,226,255,145,217,0,250,0, +0,43,254,0,87,254,255,223,255,0,154,245,255,213,21,1,244,210,255,247,46,1,226,221,255,197,50,1,224,187,255,159,36,1,173,189,255,146,34,1,62,201,255,236,60,1,164,154,255,174,66,1,84,169,255,59,95,1,223,183,255,8,83,1,232,214,255,167,55,1,101,215,255,208, +28,1,69,15,0,118,4,1,5,60,0,40,167,0,35,110,0,142,132,0,199,183,0,253,104,0,52,215,0,189,96,0,170,9,1,168,77,0,19,5,1,125,82,0,151,14,1,225,80,0,176,14,1,58,99,0,161,246,0,108,93,0,128,221,0,178,110,0,178,170,0,189,96,0,205,121,0,109,111,0,31,70,0,240, +102,0,8,23,0,144,83,0,147,236,255,62,84,0,247,173,255,8,99,0,82,153,255,24,125,0,163,146,255,205,132,0,24,138,255,51,151,0,99,138,255,84,172,0,114,154,255,13,212,0,139,164,255,128,230,0,39,160,255,59,38,1,23,185,255,38,72,1,7,216,255,52,96,1,158,226, +255,217,116,1,97,234,255,172,97,1,130,5,0,59,105,1,6,5,0,106,63,1,1,20,0,43,67,1,58,25,0,30,57,1,235,47,0,25,70,1,174,57,0,205,61,1,196,96,0,35,46,1,48,112,0,248,48,1,176,144,0,238,21,1,241,168,0,113,19,1,245,212,0,155,254,0,117,239,0,138,17,1,252,24, +1,73,52,1,22,33,1,210,46,1,11,47,1,108,89,1,5,48,1,227,98,1,39,79,1,85,107,1,43,56,1,154,110,1,149,53,1,88,135,1,173,41,1,16,163,1,234,27,1,85,168,1,38,12,1,129,171,1,78,227,0,121,148,1,165,221,0,71,162,1,125,193,0,22,168,1,55,182,0,90,161,1,37,187,0, +170,142,1,183,214,0,175,129,1,6,194,0,221,95,1,106,188,0,43,61,1,22,167,0,145,24,1,56,196,0,45,20,1,10,171,0,146,227,0,159,161,0,214,216,0,243,125,0,197,176,0,173,108,0,168,130,0,239,85,0,22,115,0,18,58,0,220,91,0,148,51,0,190,43,0,238,16,0,112,11,0, +101,28,0,216,250,255,88,12,0,131,217,255,242,255,255,82,229,255,163,16,0,72,247,255,155,247,255,165,238,255,207,19,0,37,11,0,227,28,0,32,30,0,166,40,0,254,61,0,16,38,0,32,93,0,234,35,0,62,141,0,113,16,0,220,158,0,32,19,0,161,192,0,191,239,255,106,203, +0,116,237,255,238,208,0,167,251,255,182,217,0,123,246,255,245,213,0,249,250,255,120,217,0,15,229,255,227,228,0,128,237,255,241,238,0,84,232,255,98,249,0,174,201,255,91,234,0,120,220,255,85,233,0,168,196,255,127,226,0,249,195,255,58,227,0,116,176,255, +86,192,0,215,168,255,27,163,0,9,175,255,3,116,0,58,163,255,53,45,0,124,193,255,242,0,0,25,199,255,195,162,255,168,190,255,27,112,255,74,195,255,197,64,255,47,177,255,38,37,255,197,167,255,157,36,255,200,136,255,83,44,255,228,113,255,88,31,255,203,111, +255,238,37,255,155,125,255,18,16,255,3,115,255,23,9,255,193,133,255,255,18,255,101,158,255,59,1,255,189,150,255,160,11,255,196,163,255,178,254,254,26,152,255,102,244,254,237,136,255,164,242,254,167,125,255,153,0,255,9,112,255,141,4,255,179,62,255,9,253, +254,34,49,255,236,17,255,136,2,255,180,20,255,2,233,254,255,20,255,139,174,254,195,38,255,84,179,254,110,68,255,127,117,254,247,64,255,40,121,254,49,80,255,228,121,254,56,85,255,233,108,254,174,88,255,181,90,254,96,107,255,68,86,254,209,123,255,192,80, +254,124,135,255,79,78,254,131,152,255,99,81,254,50,151,255,125,87,254,101,159,255,131,84,254,230,142,255,19,94,254,232,164,255,247,122,254,213,165,255,165,123,254,61,196,255,159,181,254,198,190,255,31,214,254,111,196,255,68,5,255,134,249,255,204,64,255, +144,30,0,58,104,255,134,42,0,197,114,255,119,85,0,56,147,255,11,129,0,146,163,255,182,150,0,150,199,255,160,186,0,245,214,255,156,199,0,146,228,255,170,219,0,14,221,255,92,185,0,182,210,255,71,166,0,114,213,255,49,133,0,210,181,255,45,95,0,243,139,255, +166,55,0,36,128,255,65,240,255,90,99,255,191,191,255,126,89,255,139,169,255,97,55,255,116,124,255,140,50,255,124,86,255,146,43,255,170,48,255,27,34,255,247,5,255,141,54,255,202,250,254,4,60,255,169,227,254,166,56,255,1,234,254,98,67,255,108,237,254,30, +72,255,255,16,255,154,58,255,204,12,255,255,74,255,157,46,255,115,103,255,2,55,255,27,103,255,211,82,255,97,118,255,27,118,255,109,112,255,182,160,255,5,129,255,72,249,255,202,156,255,172,58,0,29,182,255,86,133,0,58,230,255,251,214,0,86,254,255,20,22, +1,208,29,0,91,110,1,172,45,0,124,180,1,86,65,0,98,235,1,66,107,0,241,33,2,91,111,0,68,55,2,181,129,0,207,67,2,42,115,0,210,38,2,102,91,0,2,19,2,95,86,0,168,252,1,108,86,0,126,204,1,97,41,0,65,151,1,213,8,0,36,117,1,46,232,255,71,36,1,6,200,255,80,250, +0,34,173,255,127,169,0,230,131,255,221,99,0,77,103,255,245,30,0,159,108,255,243,207,255,169,90,255,100,157,255,157,82,255,34,64,255,236,75,255,12,19,255,36,65,255,43,213,254,25,83,255,197,194,254,99,73,255,232,176,254,70,96,255,142,213,254,171,106,255, +162,214,254,158,98,255,5,10,255,53,109,255,196,54,255,184,108,255,168,87,255,133,100,255,69,97,255,186,126,255,229,134,255,44,147,255,22,184,255,14,158,255,75,210,255,178,168,255,219,16,0,160,179,255,31,81,0,125,209,255,243,138,0,19,212,255,249,190,0, +254,243,255,100,208,0,179,245,255,179,252,0,28,233,255,154,252,0,69,13,0,74,1,1,102,36,0,250,5,1,211,59,0,47,231,0,219,78,0,186,190,0,221,92,0,62,139,0,139,89,0,72,115,0,63,75,0,71,46,0,85,49,0,34,249,255,114,28,0,104,187,255,65,235,255,164,110,255,11, +193,255,245,44,255,93,141,255,86,212,254,181,84,255,164,118,254,120,35,255,172,72,254,22,242,254,133,255,253,134,238,254,173,214,253,128,182,254,207,176,253,180,139,254,135,147,253,61,140,254,23,149,253,200,97,254,23,155,253,112,85,254,202,195,253,190, +60,254,90,6,254,225,32,254,133,60,254,234,250,253,27,116,254,23,14,254,112,155,254,142,15,254,16,2,255,135,4,254,177,250,254,219,37,254,246,60,255,22,59,254,244,97,255,32,90,254,156,154,255,56,90,254,254,193,255,94,94,254,184,243,255,15,115,254,247,52, +0,3,123,254,101,92,0,28,121,254,180,130,0,233,169,254,162,133,0,156,157,254,178,110,0,121,177,254,174,72,0,235,187,254,236,7,0,53,186,254,153,183,255,73,193,254,88,98,255,118,204,254,210,7,255,255,204,254,96,180,254,249,205,254,232,103,254,181,216,254, +178,14,254,17,194,254,57,180,253,217,198,254,156,105,253,158,171,254,54,30,253,56,151,254,145,200,252,41,186,254,207,135,252,190,172,254,137,55,252,182,163,254,46,19,252,75,152,254,114,14,252,244,149,254,38,6,252,94,155,254,206,54,252,173,134,254,195, +141,252,8,106,254,1,252,252,126,109,254,55,97,253,217,80,254,229,217,253,175,97,254,186,88,254,72,126,254,192,213,254,205,149,254,70,36,255,26,164,254,131,144,255,37,211,254,222,243,255,2,233,254,224,72,0,202,36,255,71,170,0,205,74,255,203,234,0,180, +135,255,106,8,1,51,154,255,50,70,1,249,191,255,202,96,1,139,213,255,175,125,1,10,238,255,37,131,1,229,245,255,100,131,1,44,9,0,250,141,1,102,26,0,61,115,1,102,26,0,95,87,1,89,28,0,21,30,1,128,40,0,198,245,0,203,42,0,199,190,0,253,38,0,248,129,0,85,51, +0,218,81,0,172,41,0,193,14,0,186,61,0,223,255,255,216,44,0,193,207,255,183,27,0,109,180,255,102,30,0,184,182,255,46,37,0,131,148,255,208,25,0,116,122,255,248,53,0,236,135,255,71,39,0,253,122,255,138,77,0,55,146,255,88,75,0,29,130,255,32,72,0,8,168,255, +115,105,0,119,215,255,238,81,0,177,230,255,38,69,0,174,9,0,167,48,0,162,11,0,20,19,0,100,23,0,31,7,0,49,9,0,134,228,255,149,15,0,190,225,255,92,6,0,55,196,255,107,221,255,77,164,255,128,185,255,121,167,255,174,139,255,75,142,255,247,127,255,3,119,255, +112,82,255,112,140,255,144,95,255,24,128,255,32,97,255,104,117,255,89,102,255,78,109,255,195,101,255,6,137,255,221,115,255,23,124,255,139,106,255,142,127,255,128,120,255,122,118,255,11,143,255,78,109,255,146,170,255,210,116,255,127,240,255,229,119,255, +151,25,0,100,146,255,14,96,0,88,146,255,174,133,0,127,162,255,87,196,0,93,194,255,142,246,0,54,190,255,144,16,1,151,217,255,0,70,1,12,254,255,61,115,1,116,40,0,48,174,1,219,74,0,49,190,1,35,106,0,106,252,1,66,166,0,46,20,2,44,198,0,240,25,2,177,217,0, +149,247,1,37,252,0,149,249,1,25,6,1,56,191,1,246,21,1,100,135,1,252,28,1,10,111,1,30,44,1,77,29,1,252,18,1,54,236,0,182,11,1,67,185,0,183,19,1,139,167,0,176,14,1,217,132,0,248,238,0,243,77,0,240,227,0,128,55,0,114,207,0,18,12,0,140,162,0,83,231,255,14, +150,0,112,214,255,130,117,0,2,181,255,223,114,0,171,115,255,170,80,0,131,85,255,193,64,0,57,40,255,9,35,0,39,240,254,107,15,0,236,206,254,42,255,255,116,199,254,109,234,255,58,176,254,88,215,255,100,165,254,223,189,255,51,175,254,200,146,255,69,166,254, +135,116,255,89,177,254,35,59,255,11,208,254,83,39,255,94,223,254,229,7,255,114,238,254,218,17,255,250,37,255,192,3,255,34,64,255,165,241,254,18,85,255,173,252,254,20,103,255,194,23,255,143,138,255,169,27,255,56,144,255,248,63,255,172,129,255,109,102, +255,24,143,255,214,156,255,177,167,255,117,190,255,145,166,255,168,204,255,180,205,255,246,228,255,34,239,255,185,236,255,191,250,255,192,249,255,127,39,0,35,244,255,230,67,0,207,21,0,129,53,0,53,36,0,216,57,0,65,34,0,195,32,0,128,48,0,175,21,0,222,43, +0,183,231,255,97,41,0,231,211,255,166,50,0,178,183,255,213,12,0,179,134,255,124,254,255,120,99,255,32,214,255,116,59,255,219,143,255,59,1,255,225,79,255,100,226,254,45,33,255,148,143,254,0,213,254,174,92,254,88,154,254,75,45,254,108,110,254,14,250,253, +199,75,254,199,226,253,195,39,254,43,233,253,217,11,254,77,2,254,66,255,253,111,25,254,94,230,253,97,70,254,47,252,253,33,115,254,80,21,254,81,162,254,244,37,254,26,177,254,52,107,254,104,2,255,20,159,254,44,38,255,86,10,255,202,110,255,139,91,255,131, +148,255,199,193,255,100,210,255,121,29,0,76,25,0,230,123,0,197,107,0,123,232,0,159,170,0,192,48,1,148,249,0,135,102,1,10,50,1,226,189,1,50,129,1,96,13,2,30,191,1,145,68,2,141,232,1,13,114,2,0,253,1,164,193,2,195,6,2,185,214,2,140,220,1,187,228,2,118, +189,1,18,229,2,21,156,1,159,196,2,145,85,1,59,141,2,33,26,1,131,107,2,248,249,0,84,13,2,185,180,0,236,169,1,25,78,0,244,64,1,39,35,0,182,204,0,181,211,255,208,90,0,151,155,255,122,240,255,51,102,255,1,152,255,34,58,255,113,26,255,158,241,254,119,216, +254,199,216,254,179,133,254,163,173,254,199,85,254,95,119,254,20,37,254,80,87,254,159,0,254,95,50,254,142,7,254,131,42,254,253,255,253,98,19,254,53,249,253,48,19,254,184,252,253,153,14,254,5,13,254,85,17,254,44,37,254,64,53,254,168,82,254,183,58,254, +74,144,254,189,59,254,213,219,254,121,68,254,39,36,255,117,91,254,98,116,255,206,105,254,142,192,255,174,155,254,163,16,0,111,212,254,152,93,0,41,2,255,20,137,0,253,65,255,225,191,0,231,150,255,253,233,0,77,177,255,182,9,1,232,225,255,167,48,1,112,15, +0,62,53,1,29,55,0,77,75,1,69,87,0,75,61,1,88,88,0,189,75,1,179,120,0,102,75,1,124,131,0,251,73,1,154,124,0,45,76,1,26,151,0,93,54,1,107,158,0,134,31,1,182,154,0,221,21,1,210,176,0,195,9,1,220,213,0,199,248,0,199,7,1,160,230,0,38,19,1,116,223,0,137,64, +1,77,219,0,29,110,1,92,231,0,55,122,1,68,249,0,59,168,1,229,237,0,29,173,1,124,250,0,49,188,1,31,3,1,225,196,1,251,14,1,81,191,1,214,18,1,64,206,1,189,20,1,74,184,1,106,3,1,165,151,1,139,20,1,100,133,1,56,255,0,15,96,1,79,231,0,152,35,1,34,228,0,70,20, +1,146,218,0,229,246,0,143,186,0,211,184,0,241,176,0,89,155,0,203,160,0,79,120,0,39,146,0,28,51,0,169,137,0,241,252,255,34,94,0,146,180,255,191,101,0,56,144,255,42,115,0,13,96,255,89,83,0,163,39,255,186,124,0,172,9,255,156,76,0,112,222,254,108,96,0,115, +191,254,245,90,0,198,204,254,47,102,0,254,207,254,40,89,0,150,220,254,46,96,0,158,241,254,3,105,0,86,7,255,210,110,0,201,45,255,126,146,0,107,103,255,141,170,0,54,124,255,142,178,0,58,168,255,36,175,0,236,204,255,185,165,0,173,253,255,138,134,0,183,40, +0,192,119,0,137,74,0,22,98,0,177,96,0,23,51,0,28,108,0,125,16,0,110,123,0,155,253,255,243,71,0,15,225,255,36,66,0,202,223,255,147,58,0,13,209,255,197,54,0,234,228,255,203,51,0,119,208,255,125,21,0,170,216,255,244,22,0,240,227,255,1,25,0,135,244,255,218, +8,0,231,3,0,54,254,255,189,20,0,141,250,255,62,63,0,42,0,0,69,76,0,22,255,255,247,104,0,48,1,0,231,131,0,204,250,255,152,156,0,61,9,0,1,205,0,69,22,0,217,247,0,146,40,0,164,14,1,153,55,0,147,29,1,118,71,0,42,42,1,254,63,0,241,32,1,138,86,0,177,24,1,93, +81,0,202,24,1,186,62,0,180,243,0,90,53,0,255,239,0,208,40,0,188,207,0,187,21,0,181,194,0,51,228,255,25,130,0,25,216,255,33,84,0,215,177,255,102,30,0,183,170,255,95,214,255,76,159,255,53,174,255,247,131,255,161,128,255,120,109,255,218,84,255,1,100,255, +33,41,255,253,63,255,56,19,255,116,59,255,106,15,255,88,31,255,43,11,255,130,22,255,113,24,255,150,27,255,34,53,255,218,18,255,232,92,255,145,46,255,88,89,255,145,46,255,82,151,255,170,103,255,135,179,255,30,142,255,207,214,255,72,184,255,21,29,0,86, +206,255,126,77,0,20,235,255,56,129,0,104,250,255,16,168,0,144,22,0,182,206,0,200,21,0,179,235,0,240,39,0,2,16,1,236,72,0,123,41,1,156,87,0,212,61,1,98,123,0,17,46,1,199,141,0,209,27,1,96,166,0,128,225,0,32,156,0,116,227,0,197,170,0,67,174,0,187,139,0, +12,134,0,121,103,0,74,67,0,54,67,0,118,5,0,84,241,255,89,219,255,167,203,255,221,167,255,118,144,255,244,147,255,101,98,255,143,133,255,91,65,255,165,109,255,189,45,255,6,84,255,134,56,255,176,91,255,48,78,255,1,95,255,208,113,255,160,120,255,173,137, +255,81,196,255,122,178,255,141,233,255,62,208,255,117,54,0,50,21,0,159,104,0,126,31,0,216,168,0,7,83,0,159,222,0,5,126,0,207,7,1,179,116,0,30,54,1,186,129,0,147,86,1,86,129,0,11,104,1,249,127,0,101,132,1,64,98,0,108,143,1,215,102,0,61,167,1,164,94,0, +97,163,1,139,94,0,33,139,1,176,94,0,159,151,1,158,107,0,201,73,1,77,100,0,190,22,1,126,88,0,160,228,0,212,76,0,198,171,0,197,48,0,152,148,0,248,253,255,47,108,0,129,193,255,169,68,0,181,150,255,246,25,0,98,78,255,244,13,0,137,29,255,250,10,0,65,250,254, +142,245,255,96,241,254,41,237,255,26,240,254,185,240,255,53,252,254,54,247,255,67,12,255,80,253,255,189,47,255,114,24,0,186,78,255,196,92,0,56,152,255,247,110,0,130,199,255,3,158,0,95,28,0,207,204,0,46,103,0,228,32,1,92,189,0,141,97,1,205,250,0,44,127, +1,134,38,1,228,146,1,190,94,1,101,132,1,160,113,1,64,132,1,148,119,1,155,107,1,121,156,1,2,81,1,102,155,1,180,54,1,30,122,1,3,32,1,255,116,1,119,255,0,80,59,1,197,222,0,137,7,1,85,163,0,2,220,0,3,164,0,214,163,0,90,93,0,15,104,0,20,78,0,168,77,0,245, +21,0,218,8,0,50,10,0,2,236,255,119,208,255,22,184,255,159,171,255,186,135,255,212,136,255,169,93,255,3,119,255,233,54,255,254,125,255,57,34,255,249,134,255,172,9,255,96,173,255,200,230,254,39,227,255,37,216,254,102,26,0,82,227,254,64,81,0,153,252,254, +205,121,0,207,36,255,167,178,0,187,90,255,182,202,0,10,127,255,241,32,1,222,188,255,43,50,1,153,242,255,64,83,1,96,46,0,217,105,1,102,104,0,76,134,1,7,150,0,103,150,1,238,210,0,237,175,1,19,10,1,80,180,1,156,73,1,200,185,1,200,139,1,45,202,1,93,187,1, +210,161,1,57,203,1,85,165,1,105,250,1,90,148,1,10,229,1,62,120,1,204,228,1,4,105,1,203,216,1,8,78,1,244,201,1,68,52,1,44,195,1,71,25,1,114,147,1,143,253,0,125,133,1,9,222,0,143,65,1,244,198,0,30,248,0,166,172,0,61,188,0,240,164,0,208,103,0,160,112,0, +119,24,0,64,83,0,11,196,255,229,46,0,147,129,255,28,32,0,241,71,255,71,232,255,196,243,254,255,192,255,84,196,254,33,157,255,247,139,254,42,127,255,169,107,254,9,110,255,183,58,254,45,96,255,146,60,254,19,84,255,84,64,254,105,70,255,228,73,254,142,70, +255,153,134,254,236,71,255,255,219,254,63,83,255,34,1,255,69,90,255,243,85,255,58,94,255,192,140,255,212,140,255,201,224,255,36,189,255,246,42,0,242,251,255,110,123,0,134,45,0,105,195,0,48,106,0,57,22,1,70,141,0,73,46,1,248,175,0,159,91,1,202,215,0,58, +152,1,87,0,1,89,212,1,196,25,1,242,234,1,170,76,1,6,250,1,209,94,1,56,6,2,192,107,1,36,237,1,254,107,1,123,237,1,111,104,1,200,192,1,18,123,1,132,140,1,16,103,1,53,94,1,166,97,1,9,32,1,33,80,1,150,212,0,46,29,1,164,157,0,107,1,1,110,117,0,253,225,0,54, +59,0,34,161,0,200,13,0,251,87,0,84,180,255,235,53,0,254,130,255,35,246,255,111,70,255,35,177,255,160,11,255,88,142,255,232,229,254,101,95,255,252,183,254,91,48,255,211,147,254,204,1,255,90,126,254,182,228,254,240,71,254,244,212,254,0,45,254,128,184,254, +177,254,253,132,165,254,37,232,253,182,155,254,167,221,253,230,145,254,23,216,253,68,145,254,215,197,253,88,154,254,33,190,253,69,157,254,164,193,253,10,185,254,102,189,253,246,183,254,77,189,253,70,228,254,163,234,253,153,249,254,164,242,253,134,53, +255,90,8,254,136,69,255,49,31,254,179,121,255,89,57,254,150,146,255,191,73,254,72,181,255,121,123,254,104,176,255,162,157,254,43,198,255,140,193,254,40,170,255,110,208,254,95,157,255,52,244,254,161,126,255,78,0,255,221,102,255,253,2,255,198,69,255,141, +2,255,250,26,255,139,244,254,140,243,254,244,227,254,189,231,254,64,242,254,142,200,254,207,229,254,239,164,254,123,214,254,65,113,254,66,193,254,232,98,254,176,179,254,152,50,254,167,154,254,152,54,254,82,113,254,90,50,254,136,84,254,240,60,254,79,85, +254,153,66,254,131,38,254,44,88,254,255,28,254,253,115,254,12,37,254,240,117,254,186,25,254,152,176,254,9,70,254,59,179,254,64,57,254,134,240,254,100,104,254,54,253,254,221,121,254,168,15,255,223,145,254,98,61,255,139,177,254,71,106,255,172,202,254,71, +159,255,131,231,254,22,171,255,16,0,255,122,181,255,149,19,255,132,218,255,40,51,255,159,232,255,50,98,255,174,250,255,204,132,255,20,15,0,163,157,255,207,21,0,15,179,255,78,42,0,191,181,255,92,58,0,151,169,255,141,40,0,213,157,255,241,40,0,224,145,255, +158,27,0,82,158,255,193,253,255,35,125,255,67,249,255,146,113,255,31,210,255,10,62,255,46,173,255,104,67,255,169,149,255,150,33,255,170,98,255,155,20,255,19,80,255,45,239,254,108,41,255,92,209,254,197,53,255,228,189,254,120,31,255,179,197,254,200,20, +255,109,192,254,175,26,255,59,190,254,20,35,255,167,203,254,255,68,255,178,0,255,225,89,255,250,27,255,106,137,255,75,90,255,185,179,255,116,128,255,228,237,255,241,187,255,199,0,0,132,219,255,38,69,0,15,43,0,82,80,0,236,66,0,163,134,0,191,116,0,188, +197,0,177,169,0,99,240,0,138,208,0,26,8,1,247,239,0,125,59,1,43,254,0,208,78,1,26,25,1,9,92,1,139,27,1,242,105,1,16,47,1,194,125,1,46,32,1,146,84,1,208,28,1,46,82,1,58,26,1,185,98,1,195,26,1,101,77,1,23,247,0,129,46,1,65,222,0,89,12,1,173,182,0,88,6, +1,139,153,0,74,250,0,234,109,0,134,224,0,50,80,0,91,233,0,189,41,0,47,230,0,184,245,255,66,227,0,173,200,255,23,234,0,212,149,255,102,215,0,247,127,255,183,212,0,38,100,255,15,217,0,99,86,255,45,206,0,184,66,255,165,217,0,28,53,255,40,215,0,47,62,255, +41,227,0,80,83,255,127,219,0,169,97,255,89,209,0,85,129,255,126,201,0,102,173,255,193,188,0,186,206,255,61,181,0,247,249,255,232,137,0,201,25,0,59,96,0,245,38,0,238,79,0,16,57,0,210,45,0,41,55,0,242,249,255,103,51,0,205,198,255,8,40,0,59,175,255,85,1, +0,194,145,255,73,1,0,136,130,255,167,0,0,104,64,255,245,225,255,95,29,255,51,218,255,122,244,254,35,247,255,66,184,254,131,213,255,166,125,254,92,203,255,98,77,254,64,175,255,54,72,254,186,143,255,168,78,254,171,117,255,90,123,254,160,70,255,211,136, +254,210,11,255,115,182,254,82,229,254,181,220,254,152,183,254,205,9,255,92,154,254,147,53,255,149,149,254,184,108,255,98,141,254,140,172,255,233,117,254,56,206,255,200,108,254,122,234,255,25,104,254,102,227,255,254,81,254,18,1,0,216,79,254,217,247,255, +8,117,254,92,255,255,33,115,254,167,249,255,208,117,254,233,222,255,213,108,254,60,240,255,188,108,254,133,224,255,70,117,254,112,203,255,63,108,254,109,171,255,101,112,254,132,151,255,53,132,254,158,98,255,254,138,254,226,87,255,185,141,254,97,51,255, +248,137,254,175,16,255,90,126,254,105,3,255,33,115,254,108,230,254,159,70,254,41,188,254,227,57,254,221,173,254,113,47,254,162,150,254,170,56,254,35,122,254,208,56,254,73,128,254,22,72,254,119,98,254,30,87,254,131,94,254,87,100,254,59,63,254,82,117,254, +41,60,254,197,129,254,102,58,254,222,129,254,90,54,254,83,121,254,151,40,254,14,110,254,35,63,254,246,125,254,194,33,254,33,119,254,244,37,254,41,132,254,144,31,254,191,138,254,222,55,254,124,157,254,190,60,254,162,159,254,200,91,254,193,162,254,245, +108,254,42,144,254,53,123,254,216,132,254,242,143,254,39,112,254,219,155,254,159,64,254,214,174,254,6,42,254,213,219,254,34,9,254,165,241,254,86,224,253,93,9,255,32,188,253,162,14,255,85,147,253,244,25,255,51,120,253,134,53,255,6,111,253,13,83,255,87, +110,253,214,93,255,143,103,253,230,135,255,239,128,253,252,166,255,183,125,253,216,174,255,119,115,253,125,203,255,146,135,253,227,225,255,237,169,253,6,5,0,196,200,253,208,27,0,30,223,253,111,61,0,77,2,254,81,72,0,19,38,254,101,85,0,44,103,254,177,99, +0,140,134,254,27,87,0,68,219,254,197,110,0,33,48,255,97,104,0,194,103,255,229,111,0,146,174,255,171,94,0,239,226,255,31,70,0,119,24,0,155,60,0,113,90,0,169,15,0,37,135,0,163,12,0,5,185,0,223,246,255,154,244,0,215,229,255,173,247,0,121,226,255,158,24, +1,232,212,255,76,25,1,76,217,255,140,39,1,71,228,255,250,19,1,26,217,255,160,245,0,234,238,255,27,222,0,252,229,255,33,154,0,137,6,0,232,154,0,188,18,0,47,113,0,183,27,0,145,95,0,69,15,0,86,62,0,157,21,0,234,42,0,34,238,255,166,250,255,192,255,255,63, +220,255,115,235,255,212,212,255,209,228,255,40,177,255,80,5,0,115,175,255,183,23,0,152,167,255,70,17,0,18,142,255,28,36,0,167,130,255,143,64,0,38,94,255,182,84,0,218,87,255,90,101,0,77,51,255,111,122,0,216,6,255,47,171,0,17,14,255,65,162,0,227,240,254, +9,165,0,9,253,254,250,138,0,73,9,255,231,125,0,114,39,255,3,105,0,199,84,255,23,106,0,221,113,255,110,108,0,212,149,255,94,133,0,229,191,255,1,148,0,127,240,255,146,155,0,131,14,0,80,182,0,20,93,0,218,182,0,11,125,0,1,201,0,36,192,0,138,199,0,229,244, +0,143,190,0,147,42,1,69,194,0,94,73,1,36,175,0,79,110,1,4,166,0,163,131,1,24,177,0,66,167,1,91,166,0,115,161,1,127,148,0,235,168,1,251,142,0,66,173,1,40,156,0,53,161,1,151,140,0,192,120,1,252,148,0,160,107,1,38,132,0,24,62,1,64,148,0,66,43,1,131,139, +0,130,250,0,2,154,0,66,238,0,33,151,0,231,199,0,121,153,0,162,206,0,92,174,0,212,200,0,251,203,0,169,207,0,78,217,0,148,186,0,86,240,0,240,169,0,136,244,0,2,161,0,114,16,1,139,157,0,40,24,1,219,144,0,64,16,1,144,142,0,255,247,0,42,126,0,36,248,0,28,110, +0,23,232,0,223,119,0,117,229,0,86,125,0,179,237,0,165,102,0,137,0,1,57,91,0,206,255,0,121,105,0,133,23,1,48,125,0,242,46,1,49,133,0,206,64,1,23,180,0,158,82,1,162,202,0,141,95,1,95,215,0,181,115,1,160,243,0,167,107,1,43,254,0,70,133,1,64,21,1,125,118, +1,121,26,1,189,75,1,184,38,1,137,59,1,89,25,1,15,32,1,14,23,1,172,29,1,146,32,1,213,14,1,32,16,1,46,15,1,61,249,0,218,255,0,252,222,0,241,233,0,29,181,0,179,235,0,194,146,0,188,8,1,5,136,0,163,8,1,196,103,0,164,12,1,207,95,0,70,17,1,221,105,0,206,251, +0,174,74,0,102,22,1,170,95,0,244,5,1,226,90,0,114,16,1,8,91,0,255,245,0,150,86,0,4,235,0,182,87,0,32,198,0,98,64,0,137,193,0,96,40,0,238,140,0,175,27,0,115,101,0,208,30,0,167,58,0,238,23,0,168,5,0,150,23,0,200,203,255,173,7,0,110,183,255,4,254,255,126, +154,255,235,247,255,153,109,255,33,227,255,86,73,255,80,205,255,250,83,255,237,157,255,3,50,255,129,132,255,54,64,255,115,110,255,46,106,255,113,90,255,227,105,255,192,73,255,217,125,255,106,81,255,130,131,255,190,57,255,233,157,255,33,46,255,166,174, +255,226,35,255,128,178,255,178,2,255,94,202,255,238,236,254,33,224,255,206,225,254,178,227,255,153,195,254,149,254,255,232,172,254,239,24,0,154,148,254,238,22,0,215,124,254,173,55,0,232,113,254,130,60,0,199,86,254,181,76,0,16,77,254,214,89,0,135,82,254, +242,115,0,18,95,254,36,118,0,138,114,254,86,114,0,36,149,254,218,125,0,16,189,254,68,117,0,228,254,254,188,77,0,42,81,255,136,61,0,228,126,255,66,48,0,143,201,255,195,17,0,36,13,0,12,254,255,241,53,0,80,255,255,30,122,0,73,250,255,139,161,0,30,251,255, +102,224,0,185,236,255,144,10,1,35,240,255,60,48,1,199,2,0,211,58,1,83,33,0,181,71,1,188,81,0,51,82,1,236,118,0,194,71,1,221,155,0,110,44,1,102,211,0,128,39,1,141,231,0,145,26,1,127,18,1,164,23,1,124,47,1,220,22,1,251,69,1,2,31,1,80,111,1,66,41,1,131, +125,1,113,9,1,158,145,1,147,44,1,197,149,1,157,16,1,65,148,1,179,252,0,171,145,1,49,5,1,2,85,1,226,216,0,67,44,1,52,163,0,109,21,1,48,125,0,110,226,0,189,90,0,67,176,0,251,27,0,50,134,0,218,12,0,154,115,0,159,245,255,49,63,0,31,215,255,134,35,0,141,187, +255,42,247,255,245,170,255,153,235,255,114,167,255,182,218,255,126,165,255,232,218,255,50,151,255,193,3,0,194,154,255,232,11,0,186,139,255,123,53,0,238,155,255,148,49,0,27,171,255,122,110,0,131,207,255,177,148,0,110,251,255,177,158,0,91,51,0,216,166, +0,181,136,0,92,182,0,13,202,0,78,217,0,62,5,1,167,243,0,114,88,1,132,1,1,205,122,1,179,36,1,153,167,1,172,33,1,52,212,1,156,56,1,211,241,1,68,54,1,155,240,1,61,45,1,218,242,1,117,44,1,107,4,2,161,41,1,236,247,1,133,19,1,80,244,1,224,242,0,110,231,1,115, +219,0,71,211,1,68,190,0,163,200,1,30,180,0,65,157,1,13,142,0,50,139,1,149,124,0,195,83,1,216,113,0,159,34,1,202,93,0,168,0,1,226,83,0,93,201,0,138,77,0,6,140,0,92,58,0,141,120,0,170,23,0,32,83,0,200,10,0,156,73,0,120,17,0,54,57,0,192,251,255,228,45,0, +74,254,255,150,21,0,123,242,255,25,27,0,59,238,255,31,24,0,101,213,255,129,250,255,189,219,255,215,238,255,89,217,255,115,238,255,45,214,255,27,238,255,219,212,255,152,230,255,160,246,255,91,250,255,205,253,255,219,223,255,193,64,0,61,5,0,238,81,0,97, +251,255,77,95,0,253,250,255,101,142,0,36,9,0,240,154,0,68,18,0,147,163,0,144,22,0,125,199,0,63,29,0,70,204,0,84,52,0,136,240,0,87,84,0,174,250,0,143,71,0,44,3,1,157,91,0,203,32,1,89,96,0,237,57,1,185,119,0,55,50,1,238,145,0,120,70,1,146,168,0,185,92, +1,250,212,0,92,107,1,221,227,0,142,111,1,206,8,1,110,102,1,79,53,1,147,90,1,209,97,1,1,75,1,5,118,1,242,44,1,183,148,1,115,28,1,116,163,1,228,227,0,134,154,1,197,236,0,75,196,1,106,186,0,42,177,1,0,189,0,155,181,1,59,165,0,179,171,1,174,124,0,102,149, +1,95,80,0,24,127,1,130,64,0,134,101,1,45,25,0,143,63,1,93,7,0,169,14,1,14,24,0,203,236,0,114,24,0,155,187,0,109,45,0,213,145,0,64,30,0,145,93,0,79,46,0,131,73,0,233,86,0,41,57,0,28,95,0,251,25,0,175,128,0,237,13,0,191,176,0,137,17,0,200,201,0,138,19, +0,30,241,0,200,19,0,19,255,0,234,42,0,15,32,1,117,63,0,53,34,1,40,104,0,91,36,1,205,134,0,99,47,1,68,193,0,18,56,1,185,243,0,98,41,1,160,245,0,221,31,1,183,28,1,14,20,1,35,54,1,80,245,0,169,75,1,28,225,0,159,91,1,250,195,0,148,105,1,107,194,0,59,99,1, +15,162,0,65,96,1,11,116,0,31,69,1,49,57,0,148,48,1,170,21,0,71,32,1,115,229,255,115,230,0,253,170,255,112,202,0,30,131,255,137,147,0,195,96,255,181,73,0,117,64,255,93,18,0,165,42,255,161,200,255,163,26,255,218,150,255,177,38,255,108,101,255,254,60,255, +240,57,255,41,58,255,187,25,255,7,90,255,251,242,254,238,89,255,162,222,254,166,113,255,86,212,254,104,121,255,203,195,254,56,147,255,165,191,254,141,184,255,20,172,254,82,218,255,154,205,254,67,253,255,105,219,254,4,44,0,145,245,254,95,88,0,131,24,255, +48,112,0,9,54,255,233,149,0,175,92,255,117,176,0,206,152,255,147,167,0,66,191,255,6,192,0,48,253,255,165,158,0,133,36,0,15,162,0,158,107,0,232,137,0,138,155,0,12,134,0,81,197,0,227,89,0,182,207,0,90,99,0,192,248,0,252,89,0,14,25,1,219,82,0,110,50,1,95, +80,0,115,39,1,217,62,0,210,46,1,210,47,0,204,45,1,140,42,0,80,55,1,160,53,0,49,68,1,171,35,0,9,32,1,166,40,0,214,25,1,128,38,0,79,242,0,104,46,0,107,211,0,84,35,0,164,161,0,2,34,0,193,140,0,60,43,0,215,102,0,200,16,0,101,92,0,140,32,0,41,53,0,141,40, +0,145,32,0,72,37,0,162,11,0,240,34,0,173,253,255,197,45,0,126,224,255,164,28,0,134,186,255,84,37,0,24,208,255,238,18,0,232,221,255,240,28,0,51,228,255,7,17,0,120,221,255,214,26,0,97,249,255,89,28,0,181,20,0,21,37,0,34,48,0,234,41,0,101,98,0,103,97,0, +191,177,0,167,121,0,157,211,0,224,126,0,118,2,1,103,164,0,163,82,1,241,170,0,169,136,1,48,232,0,209,217,1,199,248,0,55,246,1,22,37,1,200,58,2,95,80,1,244,71,2,224,110,1,246,85,2,15,144,1,233,75,2,176,199,1,180,47,2,80,233,1,9,28,2,25,45,2,220,12,2,89, +67,2,165,224,1,17,95,2,17,238,1,98,90,2,52,212,1,154,93,2,120,205,1,216,81,2,163,198,1,40,75,2,193,187,1,237,47,2,62,186,1,77,14,2,28,161,1,138,252,1,78,165,1,49,232,1,240,163,1,32,190,1,135,176,1,210,165,1,236,182,1,231,123,1,19,205,1,98,102,1,57,205, +1,10,43,1,189,208,1,233,19,1,96,215,1,215,221,0,232,207,1,129,170,0,109,217,1,228,160,0,203,226,1,117,117,0,145,207,1,121,102,0,249,188,1,233,88,0,80,187,1,216,109,0,200,137,1,122,108,0,62,129,1,46,155,0,142,118,1,128,160,0,214,153,1,35,167,0,57,144, +1,210,179,0,196,148,1,163,201,0,228,163,1,202,215,0,115,155,1,203,219,0,98,109,1,239,209,0,20,77,1,123,232,0,99,60,1,80,245,0,135,44,1,172,226,0,239,23,1,249,193,0,112,3,1,118,190,0,199,3,1,183,151,0,7,215,0,189,146,0,226,214,0,117,111,0,106,199,0,207, +74,0,153,175,0,15,40,0,214,163,0,227,32,0,14,157,0,88,12,0,234,168,0,9,228,255,96,170,0,254,188,255,188,145,0,160,173,255,99,133,0,61,136,255,121,109,0,72,118,255,33,101,0,226,101,255,82,89,0,133,94,255,63,88,0,78,105,255,98,70,0,217,131,255,85,64,0, +4,123,255,227,41,0,249,136,255,199,11,0,12,203,255,213,29,0,51,217,255,71,40,0,56,11,0,58,44,0,186,59,0,83,107,0,233,96,0,187,139,0,6,133,0,50,141,0,78,158,0,50,141,0,17,172,0,14,151,0,7,200,0,85,176,0,149,246,0,80,189,0,36,248,0,169,209,0,244,1,1,52, +216,0,224,248,0,184,237,0,149,240,0,254,238,0,236,242,0,242,244,0,222,226,0,135,239,0,147,228,0,172,239,0,22,228,0,98,243,0,133,210,0,186,247,0,114,207,0,218,4,1,211,187,0,12,11,1,241,166,0,9,38,1,6,123,0,82,14,1,3,105,0,225,9,1,40,93,0,148,251,0,105, +58,0,15,232,0,83,33,0,182,213,0,208,23,0,77,165,0,174,2,0,18,136,0,35,242,255,185,123,0,115,229,255,154,61,0,26,213,255,70,34,0,25,207,255,33,237,255,53,176,255,93,211,255,114,156,255,146,176,255,230,127,255,224,141,255,171,106,255,173,137,255,1,85,255, +47,129,255,73,67,255,54,124,255,34,47,255,125,94,255,45,29,255,93,89,255,74,16,255,12,82,255,118,9,255,7,101,255,92,253,254,114,106,255,35,252,254,2,110,255,42,253,254,117,136,255,249,12,255,119,150,255,31,19,255,164,167,255,250,26,255,46,178,255,122, +49,255,218,207,255,212,81,255,252,240,255,117,127,255,131,18,0,229,121,255,109,42,0,29,182,255,115,102,0,7,210,255,115,110,0,57,17,0,206,140,0,101,28,0,181,140,0,125,75,0,95,158,0,159,100,0,20,156,0,179,111,0,170,160,0,71,149,0,106,207,0,161,177,0,21, +223,0,104,174,0,128,238,0,186,187,0,65,228,0,220,202,0,65,228,0,20,204,0,152,222,0,120,204,0,9,229,0,144,196,0,18,2,1,218,196,0,52,27,1,229,176,0,2,33,1,210,175,0,24,60,1,134,157,0,149,60,1,121,159,0,107,81,1,86,118,0,62,64,1,23,114,0,166,49,1,45,78, +0,14,27,1,108,29,0,80,254,0,244,11,0,200,202,0,230,253,255,244,152,0,187,193,255,159,115,0,142,186,255,239,90,0,128,174,255,228,47,0,126,152,255,130,2,0,36,128,255,145,227,255,104,123,255,246,180,255,95,96,255,136,139,255,88,87,255,2,108,255,199,75,255, +145,99,255,237,81,255,218,87,255,107,90,255,248,70,255,132,82,255,110,72,255,5,76,255,246,54,255,67,60,255,108,46,255,162,81,255,112,78,255,124,69,255,73,70,255,105,62,255,45,99,255,6,78,255,155,146,255,43,78,255,245,168,255,18,68,255,231,211,255,3,46, +255,99,15,0,204,7,255,123,64,0,191,1,255,55,130,0,177,233,254,158,166,0,57,226,254,34,231,0,108,228,254,123,245,0,190,241,254,153,37,1,41,241,254,49,58,1,33,232,254,158,93,1,90,243,254,57,85,1,163,28,255,247,109,1,140,44,255,151,84,1,228,111,255,77,92, +1,211,128,255,173,56,1,234,175,255,82,12,1,176,213,255,35,243,0,17,249,255,186,190,0,59,39,0,193,140,0,73,53,0,62,74,0,30,62,0,43,16,0,188,77,0,221,237,255,53,105,0,246,176,255,2,97,0,243,148,255,55,121,0,178,118,255,172,106,0,223,70,255,93,121,0,232, +38,255,154,115,0,55,10,255,108,96,0,187,222,254,61,112,0,129,211,254,240,99,0,79,199,254,177,91,0,48,202,254,162,73,0,163,226,254,160,43,0,190,250,254,8,25,0,239,47,255,211,250,255,232,101,255,189,217,255,221,172,255,210,177,255,254,254,255,15,172,255, +246,105,0,68,141,255,122,174,0,253,111,255,250,13,1,18,74,255,220,89,1,233,96,255,167,175,1,163,85,255,85,233,1,250,89,255,43,252,1,166,121,255,222,32,2,251,150,255,132,67,2,90,162,255,227,80,2,50,199,255,144,71,2,76,24,0,75,62,2,56,64,0,99,46,2,158, +96,0,209,20,2,209,161,0,213,1,2,76,207,0,40,224,1,185,232,0,49,184,1,1,8,1,152,153,1,117,42,1,39,143,1,246,21,1,89,84,1,220,19,1,205,61,1,3,34,1,44,12,1,96,23,1,221,235,0,140,22,1,194,207,0,187,250,0,2,157,0,225,2,1,161,135,0,130,241,0,220,87,0,163,207, +0,115,53,0,200,197,0,216,248,255,66,168,0,149,208,255,174,120,0,20,168,255,195,80,0,179,128,255,184,37,0,188,96,255,96,230,255,55,79,255,29,178,255,239,45,255,18,137,255,171,60,255,3,52,255,234,60,255,128,241,254,47,62,255,73,193,254,163,96,255,24,144, +254,46,113,255,170,104,254,155,146,255,110,65,254,244,162,255,87,26,254,39,171,255,168,23,254,167,195,255,173,4,254,223,194,255,176,239,253,104,191,255,34,246,253,135,184,255,72,6,254,120,172,255,54,7,254,111,139,255,95,45,254,134,123,255,116,64,254, +175,92,255,191,131,254,104,75,255,123,140,254,199,25,255,202,176,254,114,238,254,131,216,254,1,230,254,59,240,254,7,229,254,185,254,254,157,174,254,76,22,255,147,192,254,240,46,255,234,196,254,180,70,255,174,212,254,185,118,255,162,224,254,51,154,255, +202,250,254,67,186,255,93,22,255,13,207,255,238,37,255,210,240,255,247,62,255,225,8,0,153,57,255,209,234,255,195,42,255,166,241,255,72,62,255,190,229,255,109,50,255,3,174,255,77,45,255,216,117,255,106,28,255,24,69,255,112,29,255,119,21,255,176,41,255, +200,209,254,179,10,255,41,188,254,89,43,255,193,149,254,101,37,255,63,95,254,88,31,255,243,84,254,148,15,255,35,67,254,214,240,254,195,49,254,156,231,254,107,37,254,7,237,254,210,8,254,230,213,254,98,12,254,241,191,254,222,2,254,77,185,254,159,254,253, +203,193,254,158,244,253,254,142,254,199,16,254,16,136,254,26,42,254,240,130,254,164,48,254,125,100,254,157,106,254,18,95,254,105,143,254,110,76,254,209,183,254,53,71,254,67,198,254,167,83,254,33,228,254,94,101,254,243,15,255,25,104,254,220,35,255,231, +160,254,34,43,255,84,190,254,208,43,255,174,212,254,93,74,255,186,19,255,101,91,255,7,40,255,153,105,255,74,82,255,243,76,255,21,111,255,191,60,255,43,144,255,231,23,255,169,154,255,53,249,254,85,190,255,13,221,254,10,190,255,23,193,254,114,224,255,173, +134,254,231,217,255,27,111,254,161,192,255,151,101,254,231,215,255,67,70,254,172,182,255,118,82,254,253,191,255,104,68,254,14,230,255,183,104,254,160,247,255,62,142,254,17,2,0,107,165,254,129,252,255,22,183,254,186,7,0,243,206,254,241,248,255,197,248, +254,103,244,255,76,26,255,2,230,255,31,74,255,140,232,255,171,100,255,2,230,255,102,156,255,85,251,255,10,181,255,230,2,0,34,238,255,11,9,0,46,33,0,97,48,0,217,58,0,140,39,0,0,71,0,203,47,0,180,123,0,22,56,0,39,140,0,210,54,0,26,140,0,153,51,0,150,136, +0,114,31,0,249,122,0,146,235,255,80,121,0,252,238,255,58,86,0,217,201,255,82,25,0,140,175,255,153,241,255,132,156,255,142,186,255,207,95,255,175,142,255,87,92,255,42,64,255,39,49,255,136,4,255,242,16,255,13,213,254,95,239,254,14,162,254,30,209,254,82, +161,254,164,185,254,158,108,254,56,164,254,31,88,254,41,134,254,249,81,254,102,122,254,73,75,254,191,138,254,23,69,254,33,178,254,224,79,254,200,228,254,62,85,254,5,18,255,248,140,254,24,80,255,95,169,254,195,105,255,239,229,254,113,157,255,57,25,255, +68,207,255,105,62,255,140,236,255,41,111,255,231,18,0,61,185,255,48,60,0,138,209,255,69,83,0,51,20,0,123,129,0,49,63,0,73,123,0,188,81,0,13,143,0,54,107,0,101,157,0,98,110,0,0,202,0,153,103,0,104,183,0,246,94,0,192,191,0,243,70,0,113,151,0,156,70,0,177, +100,0,110,51,0,139,37,0,138,22,0,157,225,255,31,11,0,200,155,255,129,245,255,106,89,255,32,216,255,216,8,255,88,213,255,109,249,254,181,202,255,123,204,254,139,160,255,198,147,254,195,153,255,209,133,254,98,116,255,51,116,254,1,89,255,114,112,254,195, +37,255,87,102,254,6,25,255,245,111,254,29,253,254,133,119,254,171,236,254,109,129,254,56,208,254,148,147,254,170,167,254,18,156,254,83,171,254,188,173,254,12,148,254,55,207,254,67,141,254,247,255,254,205,145,254,223,11,255,231,149,254,185,7,255,169,155, +254,239,45,255,64,166,254,246,52,255,164,172,254,109,54,255,37,205,254,158,50,255,114,225,254,181,34,255,49,12,255,80,20,255,103,48,255,205,18,255,113,85,255,212,228,254,127,97,255,108,245,254,253,113,255,255,219,254,62,144,255,241,205,254,35,183,255, +62,216,254,18,194,255,253,191,254,219,208,255,144,160,254,171,222,255,133,184,254,177,229,255,189,181,254,134,228,255,52,183,254,184,238,255,205,209,254,203,233,255,182,235,254,35,244,255,123,7,255,198,244,255,181,32,255,186,248,255,98,70,255,40,235, +255,56,89,255,84,232,255,175,90,255,145,216,255,239,108,255,104,186,255,207,103,255,223,179,255,183,111,255,141,176,255,27,108,255,80,129,255,58,115,255,3,111,255,128,120,255,187,79,255,109,117,255,145,29,255,219,103,255,242,7,255,137,88,255,39,225,254, +168,85,255,9,181,254,56,85,255,79,133,254,146,54,255,164,107,254,194,40,255,105,82,254,193,26,255,15,48,254,126,232,254,119,33,254,136,210,254,239,241,253,166,136,254,190,247,253,199,86,254,208,238,253,112,29,254,202,247,253,0,236,253,209,0,254,34,198, +253,99,22,254,249,165,253,57,41,254,56,166,253,3,58,254,99,157,253,67,78,254,105,160,253,145,98,254,176,179,253,91,125,254,233,188,253,31,145,254,142,217,253,169,163,254,118,233,253,86,193,254,235,13,254,255,202,254,79,22,254,57,216,254,138,43,254,111, +4,255,90,65,254,54,1,255,100,104,254,65,46,255,183,119,254,136,69,255,242,140,254,251,101,255,184,192,254,207,149,255,145,239,254,40,166,255,121,251,254,193,196,255,106,32,255,193,196,255,134,58,255,80,251,255,164,104,255,112,10,0,42,138,255,146,39,0, +229,193,255,156,66,0,134,249,255,200,75,0,228,51,0,115,97,0,174,127,0,248,112,0,95,154,0,62,120,0,170,223,0,101,140,0,9,231,0,115,154,0,193,0,1,2,146,0,244,16,1,66,166,0,132,20,1,253,166,0,95,28,1,106,190,0,215,35,1,244,204,0,138,15,1,102,213,0,231,16, +1,124,244,0,189,25,1,207,11,1,124,3,1,141,26,1,12,1,1,178,28,1,18,254,0,173,45,1,215,238,0,56,62,1,103,234,0,210,35,1,120,215,0,203,30,1,66,181,0,245,15,1,158,164,0,37,252,0,180,130,0,36,240,0,65,104,0,26,211,0,91,61,0,187,193,0,70,38,0,125,193,0,173, +255,255,79,166,0,33,227,255,139,146,0,129,197,255,28,101,0,129,132,255,3,99,0,172,119,255,116,48,0,105,77,255,21,37,0,85,72,255,167,255,255,233,48,255,66,237,255,33,46,255,87,197,255,100,27,255,227,164,255,56,32,255,156,141,255,195,38,255,245,94,255, +94,34,255,236,65,255,221,52,255,229,56,255,134,58,255,168,72,255,8,107,255,205,68,255,200,96,255,71,106,255,242,136,255,198,61,255,5,142,255,154,123,255,15,173,255,81,139,255,22,188,255,228,172,255,254,189,255,22,238,255,248,253,255,114,28,0,196,243, +255,207,78,0,206,10,0,238,140,0,24,5,0,5,178,0,148,7,0,77,215,0,192,0,0,196,27,1,46,239,255,162,57,1,143,211,255,216,93,1,87,208,255,251,138,1,211,202,255,152,148,1,193,201,255,62,126,1,137,210,255,162,112,1,144,213,255,177,79,1,77,230,255,221,25,1,56, +217,255,123,236,0,37,212,255,248,177,0,118,207,255,103,101,0,24,212,255,209,39,0,187,208,255,209,232,255,74,212,255,104,184,255,46,174,255,30,133,255,171,174,255,12,71,255,67,138,255,33,39,255,185,133,255,36,10,255,123,127,255,8,228,254,62,92,255,216, +194,254,212,94,255,73,195,254,204,77,255,122,189,254,38,100,255,29,184,254,207,101,255,238,223,254,21,117,255,218,210,254,231,89,255,247,244,254,57,103,255,169,23,255,216,71,255,35,61,255,104,67,255,222,112,255,29,67,255,245,159,255,229,67,255,215,229, +255,78,53,255,51,18,0,229,77,255,25,69,0,168,83,255,181,125,0,13,100,255,58,151,0,196,117,255,126,205,0,181,150,255,142,237,0,172,188,255,240,28,1,69,213,255,87,53,1,195,221,255,156,52,1,195,227,255,98,45,1,129,0,0,186,45,1,184,243,255,226,16,1,187,11, +0,50,0,1,106,16,0,146,214,0,252,39,0,16,166,0,223,60,0,13,142,0,109,105,0,252,95,0,94,146,0,61,57,0,166,177,0,26,22,0,192,195,0,242,249,255,190,228,0,116,243,255,223,247,0,74,191,255,154,248,0,129,190,255,86,249,0,4,184,255,173,245,0,128,174,255,108, +225,0,178,172,255,217,181,0,91,184,255,99,137,0,129,190,255,12,76,0,37,207,255,151,25,0,225,209,255,122,241,255,177,219,255,48,190,255,242,251,255,166,122,255,80,1,0,205,75,255,229,243,255,61,17,255,60,250,255,142,211,254,229,243,255,68,162,254,225,6, +0,101,175,254,231,5,0,0,159,254,168,3,0,30,150,254,143,1,0,56,156,254,171,222,255,7,168,254,9,226,255,200,167,254,116,178,255,245,176,254,86,191,255,247,194,254,164,164,255,28,197,254,94,139,255,229,207,254,92,119,255,217,209,254,38,83,255,209,190,254, +236,75,255,246,184,254,81,19,255,151,179,254,215,241,254,213,173,254,213,219,254,109,186,254,153,178,254,161,151,254,142,139,254,123,143,254,89,107,254,254,142,254,29,72,254,162,155,254,175,28,254,168,158,254,5,21,254,229,138,254,111,10,254,29,142,254, +53,3,254,89,120,254,194,31,254,36,94,254,153,56,254,197,66,254,150,91,254,158,58,254,27,109,254,240,0,254,191,129,254,100,236,253,255,141,254,240,199,253,89,170,254,7,180,253,45,163,254,186,157,253,28,180,254,249,159,253,146,175,254,81,172,253,93,145, +254,50,173,253,101,168,254,233,192,253,34,173,254,197,204,253,252,176,254,80,221,253,142,198,254,219,235,253,184,181,254,163,234,253,123,197,254,62,230,253,75,213,254,77,0,254,232,222,254,187,29,254,45,232,254,15,67,254,210,252,254,14,118,254,199,14, +255,199,159,254,152,36,255,8,182,254,15,50,255,104,207,254,162,75,255,122,3,255,180,129,255,245,38,255,25,146,255,157,95,255,66,180,255,144,156,255,169,202,255,51,218,255,71,228,255,213,29,0,136,248,255,29,61,0,153,34,0,240,102,0,106,76,0,38,145,0,209, +100,0,184,170,0,247,165,0,164,216,0,49,244,0,130,250,0,233,19,1,15,33,1,113,71,1,179,53,1,174,106,1,177,90,1,248,161,1,117,122,1,159,143,1,150,135,1,47,155,1,22,168,1,178,156,1,240,157,1,200,122,1,146,156,1,61,114,1,247,162,1,52,85,1,126,147,1,56,56, +1,247,113,1,108,23,1,252,88,1,26,8,1,173,56,1,34,228,0,161,255,0,245,202,0,194,211,0,217,180,0,215,169,0,57,145,0,181,136,0,211,118,0,14,92,0,198,112,0,121,40,0,132,88,0,169,26,0,111,59,0,72,249,255,73,55,0,215,232,255,41,38,0,144,219,255,227,28,0,63, +216,255,66,239,255,111,198,255,192,251,255,48,198,255,49,2,0,149,204,255,135,236,255,208,176,255,114,20,0,155,195,255,218,3,0,85,192,255,226,22,0,255,203,255,121,29,0,244,215,255,255,64,0,238,224,255,175,79,0,101,226,255,21,90,0,23,7,0,31,127,0,244,22, +0,42,113,0,101,33,0,174,126,0,15,47,0,31,129,0,97,54,0,232,147,0,213,86,0,64,146,0,187,74,0,240,160,0,222,107,0,96,155,0,199,131,0,116,166,0,38,147,0,119,139,0,32,152,0,247,163,0,143,201,0,247,159,0,252,224,0,91,170,0,93,0,1,202,154,0,57,16,1,115,160, +0,137,9,1,96,153,0,19,16,1,116,168,0,244,16,1,133,153,0,25,9,1,70,147,0,150,7,1,196,151,0,225,5,1,50,130,0,186,247,0,248,116,0,117,250,0,235,106,0,165,230,0,137,73,0,164,226,0,38,69,0,96,229,0,197,45,0,211,194,0,137,8,0,120,156,0,217,255,255,167,122, +0,132,210,255,217,69,0,193,204,255,113,23,0,230,194,255,131,217,255,115,166,255,192,193,255,201,158,255,123,137,255,57,145,255,154,134,255,93,135,255,178,118,255,35,114,255,154,132,255,169,84,255,167,140,255,109,53,255,29,134,255,161,67,255,50,153,255, +188,30,255,230,138,255,251,30,255,59,119,255,51,26,255,219,97,255,109,47,255,91,124,255,29,62,255,18,85,255,119,84,255,160,66,255,15,109,255,180,83,255,137,138,255,42,73,255,189,158,255,9,64,255,126,215,255,98,72,255,50,16,0,248,72,255,252,36,0,196,54, +255,63,77,0,185,74,255,29,109,0,142,77,255,130,127,0,143,89,255,135,112,0,13,104,255,199,120,0,90,110,255,247,110,0,41,122,255,75,71,0,211,135,255,141,40,0,233,166,255,45,25,0,251,165,255,60,244,255,155,205,255,189,221,255,44,223,255,250,209,255,195, +225,255,13,207,255,66,244,255,137,203,255,247,245,255,65,166,255,137,11,0,55,194,255,83,44,0,245,159,255,168,18,0,85,177,255,51,39,0,52,170,255,4,55,0,179,178,255,109,48,0,73,177,255,54,59,0,228,170,255,204,57,0,73,185,255,5,69,0,98,179,255,81,87,0,168, +198,255,234,115,0,222,181,255,250,145,0,54,184,255,40,167,0,120,220,255,6,199,0,114,223,255,161,188,0,223,242,255,142,185,0,77,233,255,255,128,0,218,3,0,145,101,0,156,13,0,80,73,0,182,15,0,211,9,0,251,20,0,246,239,255,233,23,0,210,186,255,113,16,0,192, +140,255,1,22,0,39,102,255,187,0,0,145,46,255,243,1,0,15,57,255,35,242,255,137,29,255,160,244,255,25,29,255,195,220,255,6,32,255,14,223,255,108,48,255,164,213,255,179,77,255,158,163,255,7,93,255,11,189,255,226,108,255,254,182,255,10,131,255,4,184,255, +185,133,255,53,172,255,195,162,255,84,175,255,213,161,255,204,182,255,151,169,255,172,175,255,180,205,255,146,159,255,150,214,255,234,169,255,214,234,255,94,147,255,184,239,255,139,160,255,135,253,255,136,130,255,236,7,0,199,132,255,124,15,0,218,133, +255,18,18,0,230,131,255,159,46,0,0,140,255,65,45,0,81,137,255,9,50,0,18,139,255,158,44,0,193,133,255,202,43,0,218,133,255,90,43,0,206,141,255,232,32,0,210,116,255,96,40,0,156,137,255,31,24,0,98,120,255,17,0,0,172,108,255,33,231,255,9,112,255,167,197, +255,179,113,255,102,173,255,162,136,255,7,162,255,94,143,255,89,161,255,37,144,255,243,148,255,128,168,255,178,179,255,252,162,255,1,169,255,122,175,255,180,199,255,47,177,255,37,214,255,40,176,255,200,220,255,67,188,255,209,239,255,51,217,255,181,10, +0,140,229,255,181,14,0,177,229,255,91,252,255,17,247,255,106,16,0,18,1,0,54,254,255,45,21,0,140,236,255,133,29,0,65,240,255,127,26,0,32,219,255,168,5,0,51,218,255,250,12,0,122,186,255,205,255,255,152,173,255,41,237,255,75,155,255,183,226,255,93,146,255, +26,213,255,250,149,255,54,182,255,35,127,255,13,156,255,254,134,255,11,130,255,208,117,255,188,89,255,9,113,255,245,100,255,135,127,255,174,75,255,59,119,255,85,57,255,248,133,255,140,44,255,148,133,255,107,23,255,204,132,255,242,5,255,74,141,255,144, +19,255,219,152,255,190,42,255,131,144,255,146,39,255,86,143,255,171,41,255,180,136,255,47,51,255,180,142,255,37,79,255,6,152,255,70,98,255,181,150,255,67,125,255,182,160,255,119,139,255,250,157,255,121,163,255,188,155,255,105,192,255,124,141,255,40,231, +255,27,175,255,151,18,0,198,194,255,206,66,0,171,237,255,208,92,0,81,18,0,100,134,0,235,58,0,215,158,0,239,90,0,175,197,0,163,149,0,88,201,0,5,195,0,169,200,0,102,220,0,178,223,0,20,28,1,46,218,0,30,61,1,210,232,0,245,93,1,142,239,0,211,174,1,28,227, +0,170,213,1,142,235,0,67,242,1,210,228,0,76,7,2,236,240,0,67,47,2,176,10,1,21,20,2,225,0,1,170,12,2,34,25,1,106,0,2,170,9,1,250,251,1,230,245,0,242,244,1,90,24,1,214,202,1,19,255,0,24,184,1,4,233,0,164,149,1,177,211,0,253,104,1,178,166,0,127,92,1,144, +135,0,89,27,1,221,96,0,124,1,1,93,70,0,149,198,0,251,18,0,206,140,0,98,250,255,171,105,0,103,233,255,189,35,0,177,229,255,66,250,255,53,241,255,250,218,255,157,218,255,105,203,255,40,233,255,74,204,255,242,255,255,240,181,255,142,251,255,120,164,255, +238,12,0,128,181,255,90,32,0,68,201,255,84,37,0,132,215,255,122,45,0,140,240,255,0,69,0,33,36,0,81,66,0,225,76,0,184,94,0,236,125,0,152,91,0,35,180,0,21,92,0,63,202,0,27,93,0,178,236,0,132,84,0,75,9,1,189,93,0,125,66,1,180,123,0,228,104,1,106,131,0,252, +88,1,233,153,0,149,121,1,14,150,0,36,115,1,166,176,0,235,109,1,147,165,0,147,103,1,74,183,0,118,61,1,191,168,0,62,253,0,110,171,0,205,193,0,60,169,0,108,162,0,113,134,0,106,83,0,101,83,0,146,46,0,132,84,0,75,17,0,195,27,0,151,224,255,7,216,255,210,190, +255,128,172,255,138,157,255,90,109,255,72,129,255,177,107,255,252,110,255,173,57,255,21,58,255,151,30,255,68,26,255,133,31,255,164,248,254,253,251,254,1,240,254,47,242,254,14,236,254,47,246,254,134,255,254,119,216,254,35,3,255,189,237,254,212,25,255, +236,6,255,217,73,255,208,232,254,99,76,255,251,28,255,200,96,255,66,52,255,180,136,255,149,71,255,188,159,255,132,86,255,209,115,255,104,127,255,122,121,255,119,145,255,144,95,255,174,197,255,122,123,255,109,234,255,172,127,255,66,243,255,91,118,255, +196,29,0,134,123,255,3,32,0,36,139,255,255,54,0,79,138,255,211,61,0,131,150,255,143,64,0,69,156,255,206,70,0,27,173,255,128,48,0,125,147,255,57,72,0,201,163,255,172,47,0,225,159,255,83,23,0,249,145,255,1,22,0,184,178,255,190,229,255,200,155,255,82,214, +255,60,184,255,10,183,255,98,194,255,25,142,255,42,193,255,187,77,255,180,203,255,56,78,255,108,168,255,206,23,255,128,183,255,254,255,254,128,181,255,165,245,254,40,179,255,200,213,254,238,159,255,161,205,254,1,163,255,153,192,254,183,164,255,142,206, +254,163,157,255,86,197,254,10,135,255,244,212,254,59,123,255,206,214,254,9,123,255,208,230,254,150,92,255,29,247,254,42,71,255,52,40,255,35,72,255,174,75,255,221,50,255,101,89,255,88,31,255,56,137,255,125,35,255,121,165,255,6,28,255,137,207,255,42,18, +255,233,226,255,47,62,255,157,25,0,185,70,255,116,50,0,9,119,255,112,73,0,31,158,255,14,85,0,70,221,255,246,96,0,23,253,255,197,100,0,41,53,0,116,113,0,2,94,0,124,120,0,198,129,0,208,96,0,109,172,0,139,89,0,209,168,0,143,123,0,160,186,0,242,115,0,112, +202,0,162,128,0,172,233,0,137,126,0,68,193,0,172,104,0,250,198,0,41,107,0,207,211,0,108,92,0,51,208,0,116,109,0,24,196,0,235,110,0,180,191,0,195,90,0,198,186,0,57,72,0,31,199,0,36,59,0,86,192,0,230,60,0,136,192,0,117,52,0,161,188,0,154,46,0,236,198,0, +50,67,0,143,197,0,22,98,0,236,188,0,78,99,0,165,167,0,211,118,0,183,160,0,213,138,0,2,157,0,191,170,0,156,144,0,207,202,0,158,156,0,157,206,0,2,163,0,165,217,0,104,179,0,19,255,0,93,201,0,148,238,0,41,236,0,229,241,0,117,246,0,17,241,0,200,11,1,105,241, +0,25,3,1,36,248,0,51,25,1,235,234,0,55,2,1,42,235,0,134,237,0,13,4,1,177,222,0,205,253,0,223,192,0,202,22,1,95,158,0,170,11,1,51,145,0,25,2,1,101,92,0,1,14,1,234,42,0,162,248,0,25,23,0,149,244,0,3,244,255,109,224,0,249,206,255,187,191,0,98,190,255,121, +153,0,45,168,255,14,148,0,119,150,255,6,131,0,109,123,255,56,131,0,58,111,255,241,103,0,21,117,255,108,96,0,136,137,255,210,53,0,7,162,255,140,34,0,57,219,255,100,16,0,113,19,0,111,248,255,164,96,0,215,225,255,164,153,0,165,227,255,238,212,0,77,227,255, +102,29,1,252,225,255,50,76,1,5,255,255,47,105,1,39,28,0,85,170,1,84,41,0,193,189,1,18,68,0,140,220,1,33,90,0,187,255,1,116,107,0,20,14,2,149,130,0,169,2,2,208,159,0,219,2,2,110,226,0,26,7,2,211,242,0,35,229,1,42,42,1,81,195,1,56,66,1,244,134,1,226,73, +1,234,101,1,160,92,1,12,70,1,184,88,1,233,32,1,41,95,1,140,234,0,86,108,1,182,215,0,170,80,1,143,140,0,186,45,1,170,95,0,127,22,1,201,35,0,193,245,0,104,0,0,96,212,0,23,200,255,68,188,0,213,161,255,139,150,0,74,141,255,128,101,0,79,124,255,130,60,0,138, +96,255,104,243,255,214,108,255,238,207,255,131,87,255,9,165,255,106,85,255,229,123,255,14,112,255,154,58,255,115,120,255,72,49,255,180,146,255,121,39,255,206,152,255,6,17,255,204,187,255,36,4,255,92,199,255,193,17,255,57,229,255,119,17,255,106,14,0,234, +45,255,247,54,0,149,71,255,150,86,0,70,94,255,117,126,0,61,122,255,121,162,0,151,152,255,210,180,0,172,171,255,175,208,0,33,222,255,142,191,0,7,13,0,51,208,0,254,56,0,13,202,0,20,84,0,68,191,0,67,119,0,252,165,0,214,142,0,178,171,0,79,166,0,231,136,0, +55,180,0,239,96,0,179,176,0,193,75,0,229,178,0,36,68,0,99,185,0,175,17,0,186,177,0,91,250,255,82,139,0,108,231,255,161,124,0,203,185,255,92,113,0,75,151,255,47,108,0,109,123,255,212,69,0,1,102,255,141,50,0,44,91,255,78,44,0,247,68,255,251,18,0,40,53, +255,44,13,0,72,56,255,18,255,255,33,42,255,61,2,0,175,33,255,207,21,0,133,52,255,137,10,0,215,63,255,82,21,0,156,87,255,63,22,0,77,112,255,186,61,0,212,151,255,5,56,0,192,199,255,6,68,0,122,245,255,244,76,0,160,56,0,191,109,0,178,108,0,58,143,0,216,183, +0,177,158,0,60,233,0,180,186,0,181,12,1,38,195,0,124,62,1,67,239,0,247,99,1,63,2,1,191,102,1,221,27,1,105,120,1,254,44,1,86,117,1,6,66,1,49,131,1,58,72,1,198,117,1,94,64,1,49,125,1,49,51,1,222,113,1,41,36,1,57,81,1,20,17,1,143,61,1,14,10,1,33,26,1,117, +235,0,212,7,1,214,205,0,164,216,0,236,181,0,145,154,0,59,161,0,129,126,0,153,160,0,197,111,0,200,132,0,50,84,0,118,123,0,186,66,0,147,104,0,45,38,0,23,110,0,140,45,0,255,119,0,254,254,255,106,133,0,93,14,0,21,159,0,99,5,0,36,175,0,252,240,255,33,210, +0,130,10,0,190,217,0,5,8,0,113,2,1,144,16,0,169,3,1,99,15,0,84,31,1,235,50,0,53,34,1,215,49,0,200,65,1,139,98,0,23,106,1,205,138,0,247,98,1,23,184,0,175,128,1,46,229,0,124,114,1,17,252,0,243,119,1,246,34,1,229,99,1,18,57,1,102,81,1,28,98,1,19,68,1,6, +126,1,68,60,1,64,149,1,140,24,1,132,138,1,209,29,1,215,161,1,168,251,0,96,158,1,168,247,0,53,167,1,193,245,0,217,179,1,117,239,0,177,159,1,199,248,0,154,165,1,174,250,0,184,154,1,201,12,1,156,185,1,65,18,1,244,199,1,159,27,1,204,175,1,34,27,1,129,165, +1,93,50,1,203,159,1,88,61,1,213,141,1,106,52,1,99,125,1,76,67,1,117,116,1,196,82,1,4,112,1,20,80,1,241,112,1,184,90,1,14,86,1,121,84,1,45,91,1,140,91,1,27,96,1,50,63,1,73,119,1,155,50,1,181,130,1,211,53,1,188,135,1,189,14,1,72,107,1,165,26,1,116,100, +1,94,3,1,115,96,1,71,15,1,84,95,1,214,16,1,84,101,1,244,7,1,132,85,1,120,17,1,178,98,1,27,26,1,121,89,1,240,26,1,159,97,1,22,31,1,21,93,1,123,39,1,52,92,1,25,69,1,70,85,1,19,72,1,227,96,1,244,74,1,181,69,1,187,57,1,20,85,1,139,79,1,215,98,1,222,98,1, +204,116,1,191,99,1,24,123,1,166,97,1,150,139,1,241,101,1,252,157,1,84,90,1,165,159,1,58,78,1,144,201,1,161,41,1,240,218,1,227,22,1,53,230,1,225,2,1,78,220,1,48,175,0,169,199,1,167,180,0,149,184,1,4,111,0,51,151,1,219,82,0,143,120,1,126,14,0,145,87,1, +136,252,255,81,69,1,126,215,255,132,16,1,201,211,255,168,4,1,131,200,255,89,218,0,74,195,255,160,184,0,33,226,255,131,146,0,104,243,255,116,120,0,100,10,0,8,95,0,128,42,0,85,58,0,14,83,0,177,47,0,245,149,0,234,48,0,82,145,0,120,28,0,230,186,0,84,52,0, +115,217,0,8,36,0,124,240,0,126,33,0,88,4,1,251,27,0,85,33,1,208,44,0,153,34,1,246,36,0,131,60,1,82,28,0,113,65,1,26,25,0,2,83,1,177,41,0,70,72,1,208,38,0,37,55,1,35,56,0,67,46,1,152,39,0,178,30,1,80,71,0,248,47,1,1,96,0,87,248,0,140,108,0,10,230,0,89, +153,0,214,215,0,103,175,0,189,205,0,11,192,0,49,187,0,139,216,0,56,186,0,178,238,0,47,167,0,143,2,1,210,173,0,135,241,0,185,169,0,173,255,0,247,163,0,242,248,0,96,157,0,235,241,0,173,175,0,17,242,0,234,167,0,195,223,0,65,162,0,216,236,0,123,175,0,164, +27,1,109,161,0,107,14,1,122,169,0,170,24,1,253,162,0,61,52,1,121,157,0,130,61,1,10,163,0,164,80,1,160,173,0,32,79,1,224,183,0,160,48,1,237,193,0,120,28,1,127,215,0,155,2,1,145,204,0,73,239,0,254,229,0,84,225,0,84,214,0,38,206,0,247,222,0,211,190,0,236, +246,0,168,203,0,251,209,0,118,201,0,179,237,0,61,190,0,48,236,0,174,194,0,225,254,0,171,166,0,138,6,1,163,208,0,138,6,1,105,193,0,163,8,1,250,208,0,100,254,0,95,221,0,207,11,1,73,243,0,112,246,0,104,246,0,190,22,1,11,253,0,152,22,1,101,17,1,212,252,0, +106,10,1,214,16,1,77,23,1,213,10,1,240,31,1,208,15,1,177,35,1,29,239,0,190,41,1,16,229,0,210,46,1,128,221,0,86,52,1,14,207,0,156,63,1,22,224,0,44,69,1,56,192,0,109,95,1,137,187,0,105,120,1,205,190,0,55,120,1,57,200,0,209,160,1,74,181,0,106,191,1,226, +209,0,88,194,1,88,199,0,96,215,1,108,210,0,147,225,1,149,187,0,248,235,1,118,188,0,124,249,1,255,182,0,152,15,2,229,168,0,159,24,2,137,187,0,9,24,2,243,182,0,200,58,2,30,178,0,167,51,2,247,173,0,164,13,2,130,180,0,139,19,2,39,203,0,49,249,1,51,201,0, +210,233,1,96,212,0,191,226,1,35,232,0,150,196,1,197,29,1,42,181,1,98,43,1,54,169,1,170,80,1,76,145,1,28,97,1,163,131,1,24,114,1,109,105,1,34,94,1,84,101,1,172,100,1,3,108,1,247,98,1,84,99,1,165,83,1,16,100,1,81,62,1,15,102,1,137,49,1,180,114,1,2,26,1, +16,104,1,64,14,1,125,133,1,90,28,1,241,108,1,54,239,0,222,113,1,56,253,0,67,112,1,255,239,0,6,132,1,74,246,0,210,111,1,21,222,0,58,89,1,216,233,0,39,94,1,176,209,0,255,67,1,163,197,0,253,47,1,79,176,0,132,71,1,27,154,0,8,24,1,63,134,0,126,25,1,230,117, +0,100,13,1,230,117,0,12,7,1,62,71,0,66,236,0,161,59,0,233,219,0,20,25,0,201,220,0,62,4,0,134,227,0,167,255,255,109,233,0,60,250,255,20,217,0,77,225,255,176,218,0,203,241,255,212,206,0,86,252,255,118,199,0,131,9,0,93,193,0,210,47,0,142,187,0,147,45,0, +65,173,0,136,59,0,145,154,0,214,85,0,97,180,0,59,96,0,93,193,0,86,122,0,110,182,0,114,150,0,75,206,0,85,173,0,83,217,0,166,176,0,158,229,0,131,194,0,44,10,1,26,197,0,82,22,1,127,211,0,73,52,1,84,218,0,156,73,1,233,216,0,165,94,1,44,9,1,4,114,1,69,5,1, +24,121,1,207,9,1,71,156,1,165,26,1,166,163,1,34,25,1,164,149,1,1,10,1,253,165,1,99,246,0,133,152,1,161,238,0,101,145,1,225,201,0,78,108,1,84,165,0,6,67,1,115,154,0,240,41,1,57,141,0,52,23,1,60,106,0,254,244,0,230,60,0,197,233,0,255,58,0,157,217,0,199, +250,255,185,182,0,240,229,255,46,164,0,185,181,255,43,132,0,151,158,255,60,115,0,140,103,255,212,74,0,174,71,255,224,70,0,69,21,255,138,29,0,231,17,255,216,254,255,126,225,254,159,241,255,75,213,254,130,199,255,186,205,254,227,177,255,17,190,254,75,157, +255,66,192,254,205,138,255,21,181,254,27,112,255,253,188,254,177,116,255,117,198,254,64,108,255,140,180,254,199,84,255,71,173,254,199,84,255,215,178,254,240,59,255,226,166,254,233,50,255,150,156,254,4,65,255,20,159,254,3,57,255,231,149,254,54,75,255, +88,154,254,144,91,255,144,155,254,59,117,255,1,156,254,227,116,255,159,181,254,223,133,255,177,180,254,45,164,255,252,229,254,14,167,255,159,244,254,148,200,255,199,12,255,219,223,255,76,36,255,159,245,255,209,106,255,29,2,0,59,165,255,1,27,0,143,198, +255,220,28,0,116,243,255,165,43,0,145,21,0,35,56,0,0,71,0,162,84,0,56,133,0,219,83,0,214,146,0,42,130,0,91,170,0,7,146,0,222,173,0,171,168,0,160,169,0,247,180,0,39,148,0,236,198,0,188,134,0,244,215,0,174,126,0,113,206,0,78,101,0,97,174,0,130,64,0,84, +172,0,233,25,0,225,143,0,37,0,0,10,119,0,70,214,255,145,91,0,54,180,255,90,47,0,113,148,255,222,54,0,98,116,255,247,58,0,198,63,255,7,30,0,211,12,255,200,27,0,53,245,254,98,3,0,118,208,254,11,7,0,63,217,254,192,2,0,121,177,254,132,219,255,34,181,254, +224,208,255,102,170,254,154,187,255,226,162,254,113,163,255,163,162,254,51,159,255,136,136,254,178,122,255,146,120,254,167,130,255,19,153,254,229,140,255,114,172,254,179,132,255,104,192,254,49,143,255,6,218,254,168,142,255,42,253,254,63,159,255,171,45, +255,70,168,255,20,92,255,223,198,255,187,140,255,230,203,255,73,187,255,243,211,255,141,241,255,145,225,255,14,22,0,14,232,255,80,58,0,41,250,255,218,70,0,225,17,0,214,85,0,214,37,0,145,90,0,227,39,0,47,104,0,136,68,0,238,79,0,4,51,0,224,63,0,103,49, +0,123,59,0,107,30,0,59,37,0,175,13,0,127,32,0,0,19,0,96,33,0,218,18,0,7,17,0,62,21,0,73,246,255,201,25,0,94,210,255,140,47,0,224,187,255,35,58,0,221,169,255,26,86,0,217,123,255,39,92,0,115,107,255,7,93,0,207,88,255,38,82,0,193,80,255,185,58,0,26,85,255, +192,2,0,120,98,255,103,238,255,184,110,255,114,232,255,117,123,255,255,207,255,124,128,255,24,202,255,73,124,255,91,185,255,51,148,255,200,210,255,44,147,255,204,195,255,77,166,255,201,224,255,224,187,255,135,253,255,224,197,255,108,44,0,77,225,255,235, +60,0,237,201,255,124,68,0,196,232,255,131,83,0,253,233,255,237,80,0,184,234,255,159,105,0,122,230,255,145,91,0,96,230,255,96,99,0,203,237,255,20,95,0,175,203,255,62,78,0,4,184,255,12,74,0,112,144,255,222,58,0,117,129,255,203,47,0,232,90,255,38,33,0,181, +80,255,93,12,0,128,52,255,63,216,255,234,45,255,222,190,255,119,17,255,33,168,255,178,245,254,16,128,255,161,195,254,133,101,255,103,186,254,77,108,255,46,171,254,243,81,255,209,126,254,163,37,255,249,142,254,242,16,255,52,105,254,206,221,254,78,121, +254,5,209,254,38,93,254,89,175,254,155,86,254,222,129,254,221,114,254,125,108,254,39,109,254,12,92,254,215,115,254,135,80,254,184,126,254,97,80,254,22,126,254,35,78,254,226,168,254,200,100,254,160,191,254,20,113,254,186,209,254,42,146,254,159,238,254, +241,191,254,218,11,255,218,219,254,70,33,255,3,250,254,22,55,255,150,27,255,40,46,255,113,33,255,184,47,255,92,71,255,2,44,255,13,104,255,190,42,255,39,112,255,157,31,255,181,152,255,192,5,255,99,141,255,84,238,254,52,173,255,168,204,254,136,143,255, +221,173,254,151,159,255,126,158,254,76,161,255,220,106,254,43,146,255,246,112,254,156,150,255,232,96,254,236,135,255,205,80,254,60,121,255,185,69,254,191,69,255,162,81,254,214,41,255,180,78,254,12,25,255,203,66,254,228,2,255,106,94,254,155,215,254,152, +115,254,10,192,254,134,116,254,1,169,254,177,117,254,158,125,254,154,137,254,12,90,254,23,128,254,102,59,254,31,145,254,149,27,254,151,166,254,109,11,254,145,165,254,108,249,253,14,166,254,1,240,253,92,194,254,37,236,253,241,184,254,99,220,253,54,194, +254,50,232,253,171,183,254,112,236,253,99,201,254,75,242,253,79,198,254,32,243,253,217,200,254,130,28,254,143,208,254,11,27,254,163,223,254,114,55,254,137,209,254,126,49,254,94,210,254,97,74,254,130,204,254,68,93,254,148,199,254,162,98,254,65,178,254, +177,118,254,252,174,254,141,132,254,151,158,254,106,158,254,60,128,254,188,163,254,58,112,254,114,179,254,204,72,254,67,203,254,18,86,254,120,239,254,129,72,254,239,244,254,191,72,254,91,0,255,250,93,254,129,8,255,51,97,254,71,48,255,114,107,254,98,64, +255,77,115,254,73,64,255,65,119,254,32,97,255,180,135,254,223,80,255,244,153,254,170,101,255,174,142,254,11,70,255,61,136,254,3,63,255,168,149,254,205,79,255,56,155,254,101,43,255,136,138,254,26,37,255,238,160,254,42,14,255,49,142,254,105,219,254,254, +137,254,252,181,254,147,132,254,37,157,254,217,137,254,66,83,254,246,110,254,120,52,254,45,100,254,185,9,254,123,71,254,143,229,253,50,95,254,60,212,253,118,88,254,119,178,253,25,95,254,137,165,253,12,79,254,185,145,253,132,106,254,184,137,253,27,115, +254,184,143,253,208,110,254,9,139,253,108,108,254,149,167,253,83,108,254,39,189,253,178,115,254,86,224,253,40,107,254,120,249,253,82,106,254,205,30,254,112,89,254,221,58,254,82,100,254,81,105,254,65,111,254,52,128,254,241,125,254,38,161,254,118,145,254, +222,194,254,131,157,254,218,217,254,203,184,254,164,234,254,149,207,254,166,254,254,34,236,254,121,251,254,169,29,255,29,12,255,168,78,255,135,7,255,76,93,255,103,0,255,122,114,255,240,252,254,219,143,255,119,223,254,119,149,255,105,219,254,120,155,255, +200,226,254,212,144,255,92,205,254,82,145,255,158,182,254,156,137,255,234,186,254,225,85,255,28,187,254,225,83,255,213,169,254,189,40,255,26,173,254,91,247,254,103,197,254,3,239,254,54,205,254,10,187,254,166,205,254,52,178,254,196,188,254,88,158,254, +88,228,254,95,165,254,187,228,254,133,177,254,133,237,254,43,204,254,29,12,255,255,204,254,188,33,255,190,245,254,210,74,255,70,25,255,120,105,255,84,47,255,79,130,255,197,112,255,51,165,255,202,107,255,128,179,255,87,136,255,85,184,255,127,164,255,223, +194,255,50,209,255,136,202,255,158,220,255,103,175,255,137,8,0,2,173,255,250,10,0,144,150,255,183,23,0,110,135,255,239,20,0,94,91,255,88,18,0,230,81,255,230,1,0,251,43,255,252,227,255,125,35,255,172,236,255,138,39,255,45,214,255,196,247,254,154,182,255, +69,221,254,115,170,255,23,204,254,125,142,255,188,171,254,146,106,255,36,141,254,92,60,255,243,95,254,89,34,255,226,53,254,14,32,255,57,48,254,240,245,254,201,250,253,103,184,254,241,215,253,157,169,254,198,214,253,128,125,254,192,221,253,151,101,254, +32,241,253,48,75,254,71,255,253,191,72,254,76,47,254,182,43,254,29,75,254,214,38,254,128,134,254,152,48,254,71,186,254,152,52,254,110,9,255,88,93,254,214,47,255,191,131,254,82,103,255,138,162,254,208,170,255,176,231,254,131,207,255,16,56,255,41,254,255, +1,89,255,5,10,0,87,134,255,61,62,0,92,186,255,61,72,0,241,243,255,244,83,0,21,37,0,198,119,0,69,76,0,160,113,0,27,91,0,15,106,0,104,111,0,235,121,0,212,136,0,217,128,0,7,135,0,216,120,0,14,140,0,166,118,0,147,110,0,246,99,0,71,90,0,45,91,0,199,57,0,237, +70,0,29,54,0,174,72,0,15,26,0,9,48,0,116,241,255,151,31,0,214,213,255,223,3,0,211,191,255,108,231,255,40,166,255,137,208,255,212,140,255,186,206,255,141,117,255,134,180,255,101,85,255,19,154,255,43,74,255,67,136,255,194,84,255,154,134,255,220,41,255, +144,97,255,216,58,255,217,77,255,236,2,255,52,45,255,43,11,255,13,37,255,185,250,254,55,10,255,71,234,254,221,253,254,56,214,254,255,213,254,117,202,254,154,205,254,190,182,254,111,157,254,217,196,254,38,104,254,194,216,254,166,69,254,248,203,254,48, +15,254,83,224,254,81,233,253,78,249,254,194,231,253,32,25,255,99,226,253,139,34,255,181,225,253,67,66,255,221,5,254,218,70,255,210,13,254,84,110,255,233,56,254,233,102,255,139,53,254,135,116,255,63,106,254,241,121,255,202,122,254,188,146,255,27,181,254, +248,128,255,230,215,254,136,130,255,47,1,255,120,98,255,50,25,255,242,125,255,123,68,255,10,120,255,201,104,255,84,108,255,22,119,255,84,110,255,230,142,255,215,107,255,243,144,255,134,106,255,132,160,255,248,132,255,127,173,255,159,112,255,106,150,255, +209,110,255,19,158,255,143,131,255,147,129,255,84,112,255,39,112,255,217,129,255,26,96,255,24,128,255,14,49,255,187,136,255,226,41,255,206,141,255,9,247,254,24,128,255,217,213,254,250,146,255,27,185,254,248,122,255,74,149,254,159,110,255,128,126,254, +82,82,255,135,78,254,157,82,255,209,60,254,248,59,255,12,39,254,101,30,255,201,250,253,94,27,255,178,14,254,172,254,254,252,254,253,233,236,254,251,246,253,195,230,254,24,27,254,163,215,254,131,36,254,243,208,254,133,62,254,246,183,254,19,105,254,41, +184,254,61,153,254,28,176,254,33,178,254,3,176,254,213,230,254,12,205,254,159,3,255,162,213,254,145,48,255,134,244,254,160,72,255,204,1,255,112,82,255,127,40,255,164,106,255,180,70,255,29,130,255,152,93,255,187,147,255,92,125,255,198,139,255,138,150, +255,62,155,255,189,213,255,71,180,255,69,210,255,176,169,255,165,225,255,168,205,255,121,226,255,69,217,255,216,233,255,57,229,255,59,234,255,227,236,255,102,221,255,116,248,255,72,234,255,172,251,255,165,235,255,155,2,0,53,241,255,193,8,0,24,2,0,66, +254,255,19,11,0,207,26,0,69,15,0,121,36,0,215,34,0,159,42,0,179,52,0,135,58,0,74,59,0,5,67,0,144,78,0,73,64,0,150,71,0,148,60,0,244,72,0,208,103,0,32,76,0,16,108,0,169,68,0,166,110,0,97,51,0,120,160,0,7,72,0,5,191,0,134,41,0,155,201,0,87,8,0,143,201, +0,143,1,0,238,212,0,29,247,255,162,206,0,28,231,255,67,185,0,64,221,255,86,190,0,114,227,255,171,166,0,7,214,255,219,152,0,217,192,255,159,111,0,227,219,255,37,72,0,169,206,255,146,42,0,135,181,255,163,27,0,241,182,255,248,3,0,147,175,255,64,224,255, +216,178,255,240,185,255,252,162,255,28,185,255,7,153,255,113,157,255,195,161,255,25,151,255,48,185,255,113,153,255,192,182,255,31,154,255,18,196,255,221,182,255,134,228,255,73,196,255,111,248,255,237,216,255,233,23,0,255,6,0,235,53,0,169,20,0,36,112, +0,187,78,0,156,135,0,127,100,0,68,186,0,212,137,0,29,229,0,229,185,0,149,244,0,135,239,0,160,35,1,208,32,1,30,50,1,216,53,1,34,90,1,51,84,1,145,74,1,167,108,1,176,77,1,208,150,1,1,77,1,68,183,1,158,82,1,121,217,1,37,57,1,46,211,1,20,17,1,53,224,1,32, +5,1,172,223,1,72,230,0,247,172,1,115,221,0,128,167,1,125,191,0,6,136,1,111,179,0,63,74,1,224,183,0,48,46,1,196,155,0,193,6,1,64,140,0,55,248,0,13,132,0,63,212,0,225,136,0,33,219,0,75,126,0,220,219,0,17,117,0,70,217,0,210,116,0,125,202,0,5,121,0,89,214, +0,167,121,0,243,203,0,145,147,0,132,215,0,84,165,0,112,198,0,108,212,0,75,204,0,224,242,0,235,176,0,175,254,0,207,158,0,185,41,1,95,154,0,95,72,1,207,148,0,4,109,1,138,151,0,255,113,1,139,157,0,164,136,1,201,161,0,72,149,1,209,172,0,240,144,1,60,184, +0,251,134,1,156,203,0,157,123,1,152,232,0,249,112,1,210,243,0,84,84,1,198,249,0,27,83,1,217,248,0,99,51,1,166,240,0,246,25,1,67,250,0,43,253,0,233,221,0,186,246,0,11,245,0,10,234,0,97,231,0,7,202,0,83,213,0,230,190,0,99,198,0,86,177,0,224,194,0,102,156, +0,85,180,0,178,164,0,89,155,0,42,182,0,32,146,0,70,147,0,248,121,0,146,157,0,180,132,0,55,174,0,55,128,0,126,140,0,80,132,0,27,146,0,50,141,0,93,125,0,50,147,0,140,99,0,205,132,0,49,61,0,85,117,0,23,49,0,186,127,0,24,55,0,104,120,0,177,32,0,153,112,0, +214,223,255,219,79,0,31,200,255,119,30,0,146,167,255,165,246,255,165,162,255,44,219,255,179,121,255,108,170,255,207,92,255,87,145,255,57,82,255,125,92,255,174,71,255,234,56,255,41,52,255,218,24,255,211,65,255,84,247,254,209,45,255,31,223,254,55,76,255, +63,226,254,180,72,255,184,249,254,183,94,255,59,251,254,185,124,255,65,51,255,92,127,255,204,77,255,189,158,255,8,111,255,87,201,255,76,161,255,134,230,255,66,189,255,0,8,0,51,228,255,167,54,0,236,3,0,221,96,0,253,45,0,39,146,0,102,100,0,233,155,0,222, +174,0,181,192,0,96,219,0,182,200,0,21,227,0,158,218,0,202,31,1,46,218,0,29,53,1,84,222,0,200,78,1,163,201,0,188,78,1,211,183,0,28,98,1,50,189,0,58,93,1,162,126,0,83,87,1,136,124,0,233,89,1,201,87,0,130,51,1,76,83,0,240,35,1,6,66,0,185,239,0,159,45,0, +223,245,0,141,46,0,9,235,0,59,37,0,112,204,0,159,35,0,0,202,0,58,27,0,31,197,0,93,7,0,16,175,0,124,0,0,121,168,0,52,233,255,232,148,0,136,252,255,48,127,0,100,12,0,91,120,0,255,1,0,133,93,0,101,22,0,20,89,0,128,34,0,58,101,0,11,53,0,152,100,0,21,94,0, +214,96,0,231,135,0,254,122,0,214,150,0,87,143,0,213,197,0,213,149,0,59,222,0,216,183,0,20,11,1,131,207,0,176,14,1,229,248,0,187,59,1,55,254,0,232,70,1,109,42,1,210,100,1,206,65,1,99,114,1,146,99,1,83,135,1,65,165,1,237,116,1,98,174,1,244,131,1,215,224, +1,105,117,1,216,222,1,238,134,1,98,239,1,0,122,1,183,211,1,113,130,1,64,212,1,21,88,1,168,189,1,109,88,1,119,195,1,125,59,1,28,161,1,25,59,1,105,122,1,244,66,1,73,111,1,127,79,1,167,59,1,125,65,1,128,31,1,14,77,1,37,3,1,10,102,1,143,2,1,32,72,1,172,241, +0,23,104,1,0,17,1,191,93,1,155,0,1,247,96,1,52,23,1,188,71,1,29,43,1,131,62,1,122,38,1,14,77,1,60,50,1,196,78,1,62,60,1,47,90,1,56,69,1,180,113,1,74,64,1,2,140,1,206,69,1,39,136,1,182,81,1,204,160,1,65,92,1,97,163,1,36,115,1,193,172,1,212,133,1,224,173, +1,110,176,1,197,149,1,92,179,1,2,142,1,70,203,1,178,93,1,152,218,1,88,71,1,211,239,1,149,49,1,149,243,1,96,15,1,155,240,1,33,19,1,93,248,1,129,36,1,210,229,1,105,44,1,59,221,1,74,53,1,101,206,1,20,76,1,94,201,1,151,71,1,64,153,1,27,89,1,114,147,1,204, +101,1,200,131,1,174,112,1,26,141,1,51,140,1,162,133,1,53,160,1,112,127,1,202,144,1,90,94,1,96,141,1,222,103,1,221,151,1,38,78,1,165,144,1,176,80,1,30,117,1,56,71,1,75,118,1,198,56,1,17,105,1,16,51,1,102,75,1,219,12,1,150,55,1,192,244,0,54,38,1,21,233, +0,248,51,1,242,189,0,17,38,1,21,164,0,109,25,1,51,151,0,76,14,1,102,165,0,250,8,1,202,165,0,7,5,1,216,173,0,250,254,0,105,189,0,73,234,0,184,237,0,66,233,0,142,246,0,152,215,0,190,31,1,24,183,0,197,44,1,161,181,0,187,72,1,147,173,0,51,88,1,152,156,0, +166,110,1,185,169,0,50,129,1,219,194,0,106,130,1,248,177,0,57,140,1,219,198,0,204,116,1,140,217,0,187,129,1,8,212,0,130,120,1,179,241,0,80,120,1,208,214,0,115,102,1,152,215,0,72,101,1,129,233,0,53,94,1,63,197,0,43,61,1,253,229,0,216,43,1,226,213,0,181, +6,1,57,194,0,222,239,0,27,154,0,105,191,0,138,140,0,165,169,0,14,87,0,134,115,0,73,53,0,97,54,0,138,22,0,237,13,0,52,223,255,228,187,255,217,184,255,227,120,255,4,123,255,34,60,255,227,105,255,48,5,255,61,63,255,122,192,254,95,25,255,227,118,254,66,251, +254,2,57,254,8,228,254,110,13,254,173,199,254,55,217,253,208,173,254,163,175,253,32,161,254,95,184,253,49,140,254,27,193,253,73,134,254,203,207,253,149,142,254,20,253,253,91,129,254,153,14,254,217,137,254,195,52,254,154,131,254,235,82,254,189,174,254, +126,106,254,80,196,254,248,141,254,102,227,254,80,146,254,189,38,255,215,187,254,49,69,255,29,195,254,48,120,255,252,244,254,105,135,255,123,13,255,117,186,255,101,37,255,127,229,255,242,77,255,19,9,0,196,113,255,208,25,0,50,151,255,148,51,0,99,204,255, +168,60,0,58,233,255,185,53,0,38,25,0,150,69,0,171,40,0,131,66,0,9,44,0,132,88,0,220,28,0,27,89,0,105,12,0,176,77,0,10,247,255,238,81,0,17,0,0,220,86,0,7,229,255,17,54,0,214,228,255,146,33,0,97,241,255,208,25,0,247,245,255,248,244,255,92,2,0,226,217,255, +222,247,255,71,226,255,166,250,255,18,198,255,180,205,255,212,197,255,47,186,255,188,207,255,3,185,255,99,193,255,143,148,255,80,194,255,178,120,255,174,191,255,139,106,255,168,194,255,27,112,255,137,199,255,45,99,255,169,206,255,157,103,255,100,207, +255,141,65,255,19,206,255,162,86,255,103,237,255,223,76,255,188,18,0,100,92,255,99,63,0,140,110,255,115,99,0,167,132,255,216,113,0,86,133,255,163,142,0,164,165,255,197,173,0,179,191,255,242,184,0,82,221,255,193,196,0,117,6,0,207,200,0,121,50,0,47,224, +0,82,91,0,91,227,0,215,112,0,46,212,0,254,126,0,21,216,0,182,150,0,77,215,0,162,143,0,184,224,0,51,155,0,198,234,0,243,130,0,191,233,0,147,117,0,34,222,0,97,111,0,210,238,0,191,116,0,166,225,0,245,101,0,22,226,0,189,100,0,153,225,0,94,87,0,187,191,0, +78,112,0,231,192,0,253,118,0,221,155,0,171,109,0,63,142,0,83,97,0,27,97,0,237,78,0,232,74,0,42,63,0,122,37,0,94,24,0,83,23,0,239,35,0,162,10,0,253,250,255,117,245,255,251,224,255,6,5,0,180,199,255,129,245,255,121,170,255,9,232,255,75,157,255,15,227,255, +140,116,255,202,225,255,130,136,255,197,240,255,230,148,255,67,245,255,23,137,255,206,13,0,0,153,255,63,14,0,133,174,255,201,22,0,172,182,255,196,29,0,182,162,255,25,63,0,221,172,255,95,88,0,187,204,255,194,68,0,91,195,255,165,101,0,145,225,255,35,100, +0,25,216,255,46,96,0,21,237,255,161,120,0,194,24,0,250,136,0,81,20,0,177,148,0,196,40,0,212,185,0,209,46,0,180,186,0,100,23,0,170,208,0,133,44,0,220,206,0,239,31,0,53,217,0,59,56,0,152,219,0,59,48,0,195,210,0,103,49,0,169,194,0,194,26,0,187,189,0,148, +7,0,83,149,0,181,16,0,144,145,0,74,9,0,55,125,0,173,253,255,172,100,0,65,238,255,83,88,0,197,241,255,211,51,0,97,241,255,224,57,0,60,247,255,120,27,0,243,209,255,157,11,0,237,206,255,30,251,255,191,187,255,110,246,255,207,164,255,194,11,0,139,171,255, +64,28,0,125,157,255,190,42,0,252,169,255,147,41,0,13,159,255,179,56,0,246,178,255,244,78,0,141,189,255,166,109,0,12,218,255,47,108,0,188,220,255,129,115,0,90,238,255,0,132,0,78,252,255,245,143,0,142,252,255,34,155,0,124,9,0,247,173,0,140,242,255,243, +192,0,223,253,255,164,205,0,156,18,0,72,230,0,167,6,0,122,230,0,136,5,0,121,214,0,160,251,255,222,230,0,169,22,0,66,229,0,218,14,0,53,225,0,44,20,0,169,200,0,25,17,0,107,194,0,40,236,255,179,172,0,146,235,255,133,155,0,94,223,255,24,118,0,150,212,255, +61,112,0,174,202,255,189,87,0,17,201,255,163,75,0,134,180,255,141,48,0,52,177,255,194,11,0,56,154,255,36,254,255,188,153,255,22,240,255,29,138,255,221,222,255,142,130,255,26,213,255,47,125,255,214,213,255,96,107,255,220,216,255,121,113,255,234,224,255, +18,79,255,147,236,255,230,79,255,210,240,255,160,68,255,145,17,0,11,74,255,190,36,0,123,74,255,235,47,0,248,80,255,197,43,0,138,100,255,37,63,0,32,97,255,168,60,0,215,116,255,169,78,0,215,126,255,146,102,0,17,138,255,156,129,0,244,152,255,62,124,0,151, +163,255,210,106,0,45,168,255,81,123,0,231,160,255,56,131,0,65,173,255,93,125,0,38,159,255,170,147,0,247,190,255,10,100,0,197,186,255,246,98,0,205,205,255,151,83,0,230,207,255,119,76,0,12,208,255,254,48,0,212,212,255,159,35,0,219,219,255,119,19,0,112, +204,255,250,6,0,235,190,255,11,0,0,141,187,255,157,218,255,232,164,255,120,224,255,160,125,255,245,216,255,191,128,255,1,213,255,65,110,255,47,238,255,32,93,255,54,247,255,35,68,255,74,0,0,165,57,255,13,14,0,157,46,255,167,52,0,221,54,255,55,62,0,66, +69,255,24,65,0,208,48,255,77,95,0,217,83,255,23,116,0,81,91,255,60,104,0,12,92,255,98,116,0,139,102,255,87,124,0,228,122,255,78,97,0,8,105,255,30,125,0,227,114,255,41,111,0,188,98,255,65,93,0,144,97,255,213,79,0,13,94,255,39,83,0,224,88,255,206,68,0, +104,71,255,80,58,0,240,49,255,187,69,0,115,53,255,68,66,0,227,53,255,179,56,0,240,49,255,235,45,0,159,58,255,64,81,0,37,82,255,227,93,0,22,123,255,204,105,0,108,170,255,50,126,0,111,198,255,62,128,0,58,231,255,44,139,0,153,248,255,97,163,0,77,43,0,123, +171,0,47,58,0,13,201,0,212,74,0,129,235,0,235,119,0,106,249,0,117,126,0,121,25,1,15,167,0,173,41,1,46,162,0,176,71,1,236,188,0,66,93,1,27,226,0,169,123,1,128,234,0,169,121,1,147,241,0,178,154,1,235,243,0,146,147,1,214,226,0,59,147,1,75,210,0,64,138,1, +50,200,0,17,107,1,217,195,0,195,76,1,246,172,0,122,37,1,116,124,0,135,37,1,81,83,0,185,238,0,92,69,0,131,196,0,100,21,0,20,143,0,196,233,255,190,95,0,126,218,255,205,56,0,185,184,255,125,6,0,238,155,255,90,225,255,120,99,255,193,198,255,230,79,255,235, +177,255,60,9,255,109,175,255,91,4,255,141,178,255,20,235,254,23,193,255,99,216,254,188,211,255,43,209,254,64,219,255,61,206,254,248,242,255,158,243,254,57,17,0,135,5,255,209,35,0,181,32,255,238,75,0,57,34,255,185,108,0,197,66,255,126,146,0,31,85,255, +44,192,0,205,142,255,52,215,0,225,149,255,124,240,0,209,182,255,250,4,1,26,224,255,240,28,1,238,29,0,172,29,1,14,35,0,138,65,1,38,84,0,62,63,1,58,101,0,185,92,1,39,96,0,141,95,1,199,131,0,96,84,1,68,134,0,35,96,1,170,150,0,241,101,1,145,154,0,229,105, +1,251,153,0,119,125,1,182,150,0,44,129,1,88,147,0,188,134,1,188,151,0,76,140,1,27,163,0,123,104,1,22,168,0,190,87,1,3,165,0,225,61,1,104,187,0,29,40,1,98,186,0,168,253,0,30,189,0,136,240,0,182,215,0,173,179,0,105,193,0,236,179,0,126,212,0,196,161,0,123, +192,0,9,157,0,197,178,0,52,156,0,33,158,0,7,145,0,76,149,0,70,147,0,25,143,0,151,144,0,66,118,0,152,148,0,188,88,0,251,144,0,152,102,0,231,131,0,72,56,0,63,138,0,235,56,0,3,105,0,26,35,0,74,120,0,51,25,0,247,110,0,223,253,255,91,107,0,212,210,255,204, +109,0,180,205,255,184,98,0,129,191,255,121,92,0,220,168,255,91,111,0,142,136,255,2,97,0,130,142,255,94,76,0,254,136,255,71,94,0,21,121,255,238,79,0,253,124,255,150,73,0,104,130,255,207,78,0,21,117,255,110,106,0,130,142,255,242,117,0,204,132,255,81,133, +0,74,139,255,36,177,0,219,162,255,226,207,0,8,174,255,117,235,0,22,184,255,224,252,0,182,221,255,202,22,1,229,254,255,221,21,1,99,13,0,85,35,1,78,53,0,29,38,1,167,67,0,162,59,1,65,102,0,230,56,1,159,115,0,250,65,1,210,121,0,33,82,1,204,120,0,123,102, +1,39,94,0,128,97,1,150,84,0,66,97,1,159,48,0,56,125,1,138,29,0,93,119,1,244,22,0,42,107,1,219,16,0,132,74,1,166,244,255,80,54,1,108,227,255,169,255,0,66,248,255,190,223,0,153,248,255,153,170,0,65,236,255,27,146,0,3,244,255,140,101,0,172,241,255,17,56, +0,14,224,255,71,35,0,54,250,255,111,254,255,152,236,255,23,246,255,101,226,255,226,221,255,103,238,255,180,192,255,146,243,255,99,195,255,248,1,0,23,187,255,106,16,0,121,165,255,231,24,0,126,152,255,170,28,0,205,131,255,19,24,0,57,155,255,126,35,0,137, +144,255,88,19,0,191,170,255,239,31,0,154,186,255,131,24,0,21,222,255,242,2,0,36,248,255,165,246,255,126,14,0,165,242,255,54,50,0,84,241,255,124,63,0,219,213,255,33,94,0,30,205,255,128,105,0,9,180,255,182,143,0,27,173,255,92,176,0,172,188,255,188,207, +0,173,200,255,97,220,0,235,194,255,155,243,0,37,208,255,15,22,1,2,230,255,197,37,1,47,249,255,136,51,1,175,17,0,88,65,1,245,34,0,51,73,1,46,42,0,214,77,1,92,67,0,17,48,1,201,90,0,212,57,1,59,113,0,246,23,1,111,129,0,37,252,0,234,168,0,84,228,0,119,207, +0,232,210,0,236,198,0,43,184,0,251,214,0,186,177,0,188,210,0,246,161,0,108,217,0,245,153,0,174,196,0,219,141,0,167,191,0,206,139,0,209,168,0,105,123,0,147,170,0,46,92,0,249,135,0,46,94,0,110,117,0,61,61,0,215,112,0,105,54,0,65,49,0,203,42,0,200,13,0, +89,30,0,236,7,0,252,28,0,39,224,255,2,34,0,240,179,255,67,253,255,3,124,255,221,25,0,251,104,255,201,22,0,49,80,255,83,27,0,214,49,255,51,24,0,137,31,255,51,20,0,205,20,255,204,245,255,240,250,254,253,237,255,178,6,255,29,243,255,232,32,255,160,246,255, +7,40,255,203,227,255,191,71,255,211,254,255,114,98,255,69,15,0,227,114,255,127,26,0,17,140,255,189,30,0,202,177,255,61,59,0,195,227,255,117,52,0,171,243,255,88,79,0,76,29,0,235,106,0,244,85,0,119,131,0,174,131,0,214,148,0,193,130,0,80,180,0,110,182,0, +245,202,0,25,206,0,59,224,0,216,242,0,133,9,1,174,7,1,248,41,1,244,8,1,231,68,1,70,20,1,37,112,1,166,43,1,74,116,1,157,14,1,132,129,1,30,252,0,1,130,1,223,249,0,213,128,1,31,201,0,63,128,1,222,170,0,44,125,1,255,128,0,203,87,1,160,121,0,202,85,1,223, +66,0,198,43,1,75,19,0,176,10,1,11,9,0,195,212,0,43,211,255,41,166,0,86,196,255,43,127,0,115,175,255,106,76,0,126,161,255,46,31,0,9,119,255,29,247,255,145,105,255,7,212,255,238,100,255,59,169,255,225,100,255,74,138,255,110,62,255,61,122,255,21,54,255, +251,97,255,9,50,255,12,77,255,8,48,255,26,95,255,58,46,255,248,69,255,242,79,255,244,88,255,98,68,255,152,97,255,143,83,255,223,126,255,141,122,255,154,127,255,104,130,255,77,164,255,151,159,255,230,194,255,222,186,255,96,232,255,164,230,255,14,24,0, +225,23,0,143,70,0,46,50,0,80,121,0,162,80,0,167,182,0,116,120,0,177,219,0,182,158,0,205,247,0,122,170,0,184,23,1,254,181,0,166,36,1,120,213,0,56,56,1,92,246,0,215,34,1,248,255,0,79,38,1,87,7,1,186,51,1,151,19,1,140,28,1,100,13,1,95,11,1,76,19,1,33,17, +1,76,19,1,118,247,0,138,11,1,171,224,0,76,15,1,96,214,0,111,251,0,106,188,0,10,237,0,61,179,0,211,1,1,202,152,0,166,236,0,219,131,0,19,205,0,138,138,0,80,189,0,171,102,0,230,187,0,250,69,0,25,147,0,232,74,0,143,130,0,237,65,0,110,127,0,123,55,0,89,98, +0,223,45,0,50,82,0,232,15,0,217,59,0,50,10,0,11,60,0,147,244,255,203,47,0,41,239,255,110,56,0,238,205,255,13,27,0,88,205,255,145,28,0,147,181,255,149,15,0,173,185,255,99,11,0,21,169,255,96,36,0,163,152,255,225,13,0,187,136,255,193,12,0,218,137,255,39, +31,0,193,135,255,243,14,0,156,137,255,239,35,0,49,136,255,102,43,0,83,157,255,136,62,0,157,151,255,180,71,0,208,157,255,218,81,0,51,152,255,119,83,0,39,154,255,156,87,0,63,148,255,243,75,0,122,173,255,79,63,0,209,175,255,202,33,0,160,173,255,130,10,0, +123,189,255,184,235,255,212,203,255,48,200,255,19,212,255,45,162,255,196,222,255,10,125,255,108,226,255,210,68,255,0,207,255,94,28,255,250,201,255,98,9,255,155,192,255,160,198,254,164,160,255,45,180,254,56,141,255,10,139,254,112,134,255,168,95,254,241, +113,255,214,55,254,77,99,255,89,55,254,157,86,255,225,45,254,48,57,255,136,31,254,97,51,255,126,47,254,158,39,255,29,81,254,113,30,255,155,93,254,103,42,255,91,142,254,169,19,255,214,175,254,94,19,255,118,221,254,33,31,255,183,237,254,227,36,255,150, +37,255,215,48,255,19,95,255,199,75,255,104,128,255,60,124,255,222,190,255,245,153,255,133,227,255,27,160,255,238,25,0,218,194,255,17,65,0,164,217,255,123,123,0,48,242,255,142,191,0,87,14,0,129,240,0,127,36,0,115,31,1,95,84,0,67,55,1,122,100,0,181,69, +1,5,125,0,148,56,1,96,155,0,81,73,1,13,199,0,0,70,1,7,208,0,191,53,1,71,222,0,102,31,1,46,212,0,82,12,1,152,215,0,112,1,1,68,188,0,248,245,0,216,172,0,162,206,0,97,167,0,53,171,0,76,138,0,69,148,0,155,127,0,187,141,0,145,80,0,254,116,0,227,30,0,52,100, +0,226,22,0,114,100,0,224,0,0,146,105,0,104,239,255,209,105,0,252,223,255,70,101,0,105,194,255,128,108,0,230,192,255,179,116,0,63,209,255,60,115,0,26,213,255,39,157,0,91,233,255,252,163,0,167,247,255,222,170,0,150,6,0,222,176,0,110,53,0,168,193,0,234, +94,0,207,207,0,236,124,0,244,201,0,58,149,0,70,213,0,100,191,0,1,214,0,53,221,0,147,237,0,26,8,1,42,246,0,130,44,1,10,237,0,76,67,1,217,250,0,119,64,1,216,246,0,107,68,1,74,1,1,195,74,1,144,12,1,46,84,1,244,18,1,32,74,1,88,9,1,123,41,1,155,4,1,202,18, +1,149,1,1,252,221,0,252,232,0,132,202,0,104,246,0,56,127,0,117,185,0,49,120,0,50,204,0,74,61,0,97,178,0,245,17,0,74,137,0,129,243,255,218,140,0,176,211,255,81,144,0,89,164,255,205,132,0,78,172,255,106,142,0,139,156,255,239,163,0,187,140,255,116,179,0, +169,139,255,131,199,0,86,132,255,200,208,0,56,200,255,130,252,0,74,191,255,13,13,1,147,244,255,60,44,1,136,252,255,42,53,1,241,40,0,66,108,1,1,85,0,7,138,1,123,116,0,66,169,1,233,149,0,11,188,1,150,193,0,228,216,1,4,229,0,54,232,1,124,250,0,238,253,1, +91,40,1,213,7,2,134,90,1,207,4,2,153,97,1,224,243,1,173,98,1,67,234,1,207,123,1,152,218,1,83,76,1,199,186,1,249,53,1,231,138,1,70,11,1,71,99,1,90,211,0,180,59,1,160,165,0,63,13,1,208,86,0,39,224,0,195,25,0,110,178,0,175,209,255,213,149,0,137,136,255, +156,87,0,25,81,255,216,53,0,108,31,255,164,41,0,245,228,254,50,17,0,124,207,254,8,235,255,47,185,254,7,223,255,228,178,254,144,219,255,2,168,254,1,222,255,159,181,254,86,196,255,85,191,254,11,196,255,232,224,254,31,217,255,142,5,255,46,243,255,20,31, +255,209,241,255,85,61,255,93,12,0,193,80,255,100,19,0,197,114,255,65,49,0,25,150,255,222,50,0,33,161,255,192,69,0,135,179,255,104,57,0,195,218,255,99,78,0,114,221,255,31,77,0,164,219,255,148,66,0,16,241,255,219,83,0,233,226,255,98,60,0,245,216,255,152, +33,0,198,189,255,174,11,0,191,184,255,193,10,0,71,163,255,195,227,255,104,127,255,21,180,255,69,86,255,180,142,255,72,51,255,146,113,255,188,22,255,132,97,255,171,236,254,137,27,255,188,223,254,173,7,255,91,188,254,239,234,254,10,191,254,242,209,254, +8,175,254,165,191,254,87,150,254,183,184,254,138,156,254,201,179,254,226,158,254,76,179,254,215,178,254,8,182,254,190,186,254,195,176,254,189,168,254,113,163,254,212,209,254,66,197,254,112,209,254,103,195,254,171,236,254,18,209,254,45,228,254,164,242, +254,60,250,254,136,19,255,124,8,255,76,33,255,165,42,255,35,62,255,35,55,255,148,68,255,168,68,255,13,104,255,102,99,255,79,130,255,76,89,255,191,130,255,163,87,255,230,138,255,61,65,255,37,155,255,3,52,255,127,171,255,84,47,255,114,165,255,18,11,255, +122,192,255,208,240,254,151,165,255,109,236,254,2,167,255,153,182,254,39,165,255,91,186,254,166,189,255,119,153,254,58,168,255,106,155,254,8,164,255,73,136,254,224,206,255,182,163,254,187,204,255,128,125,254,158,170,255,182,163,254,170,227,255,188,162, +254,213,216,255,190,178,254,97,241,255,202,180,254,185,251,255,22,189,254,223,1,0,45,222,254,243,18,0,25,221,254,24,13,0,21,230,254,43,14,0,208,234,254,25,27,0,178,245,254,237,15,0,144,17,255,215,242,255,44,27,255,8,237,255,142,66,255,158,237,255,132, +86,255,212,208,255,133,98,255,69,217,255,89,158,255,58,235,255,108,163,255,56,215,255,208,159,255,249,206,255,86,195,255,214,228,255,170,155,255,22,188,255,39,164,255,235,186,255,30,135,255,82,166,255,146,106,255,183,164,255,140,99,255,76,159,255,117, +64,255,163,155,255,118,9,255,225,149,255,244,222,254,5,144,255,242,200,254,67,136,255,19,157,254,49,141,255,42,133,254,37,155,255,202,107,254,125,157,255,188,93,254,176,159,255,148,71,254,150,157,255,72,65,254,45,164,255,11,71,254,221,176,255,248,71, +254,134,186,255,62,89,254,68,207,255,19,90,254,37,208,255,179,131,254,233,231,255,110,138,254,188,226,255,71,173,254,185,1,0,45,165,254,117,2,0,36,197,254,88,19,0,228,241,254,87,11,0,174,14,255,108,40,0,58,31,255,209,48,0,235,53,255,110,64,0,81,84,255, +142,63,0,93,135,255,11,66,0,14,158,255,15,110,0,142,188,255,18,128,0,146,226,255,114,159,0,222,236,255,174,190,0,187,6,0,29,246,0,40,30,0,182,14,1,135,43,0,92,55,1,248,49,0,210,56,1,240,34,0,0,70,1,172,41,0,250,68,1,45,25,0,196,36,1,1,22,0,243,10,1,89, +20,0,155,254,0,131,11,0,13,212,0,128,233,255,5,189,0,240,227,255,67,179,0,49,201,255,100,145,0,160,187,255,234,115,0,26,158,255,183,93,0,219,149,255,156,73,0,98,118,255,151,35,0,93,129,255,247,245,255,135,114,255,176,228,255,22,112,255,77,230,255,251, +97,255,105,209,255,199,73,255,61,200,255,75,83,255,118,205,255,179,58,255,93,209,255,163,79,255,90,238,255,242,68,255,111,3,0,37,75,255,93,14,0,188,85,255,160,50,0,126,91,255,255,65,0,197,110,255,146,99,0,117,127,255,236,129,0,30,139,255,8,164,0,15,168, +255,28,175,0,47,177,255,21,170,0,27,219,255,129,187,0,67,255,255,31,203,0,149,8,0,202,226,0,112,4,0,108,225,0,227,32,0,73,249,0,39,22,0,74,5,1,60,242,255,215,234,0,97,244,255,165,232,0,101,211,255,195,213,0,48,183,255,205,195,0,213,150,255,91,181,0,212, +134,255,39,157,0,244,92,255,72,115,0,75,77,255,200,86,0,89,38,255,197,52,0,179,7,255,178,248,255,189,237,254,177,232,255,235,197,254,125,153,255,217,202,254,242,136,255,197,187,254,4,71,255,237,154,254,84,58,255,62,148,254,199,23,255,111,140,254,131, +24,255,117,133,254,42,12,255,255,139,254,222,5,255,145,98,254,226,238,254,165,117,254,100,230,254,222,118,254,145,241,254,87,95,254,159,253,254,244,90,254,111,17,255,102,111,254,200,31,255,231,153,254,136,70,255,238,158,254,50,98,255,159,185,254,148, +131,255,179,194,254,237,157,255,25,215,254,122,178,255,227,237,254,99,206,255,32,25,255,68,14,0,153,50,255,167,2,0,77,97,255,215,45,0,222,110,255,83,40,0,181,137,255,67,59,0,18,137,255,176,88,0,220,153,255,38,90,0,188,142,255,217,63,0,48,126,255,68,71, +0,243,139,255,22,48,0,247,114,255,37,21,0,131,78,255,102,236,255,169,84,255,143,207,255,171,41,255,40,173,255,245,35,255,94,160,255,193,11,255,122,123,255,207,218,254,84,119,255,74,203,254,226,98,255,70,165,254,112,78,255,149,152,254,116,59,255,125,95, +254,238,43,255,99,81,254,109,56,255,84,53,254,46,44,255,188,40,254,195,48,255,236,20,254,140,53,255,39,42,254,169,34,255,146,51,254,107,30,255,89,44,254,32,30,255,178,58,254,99,17,255,98,73,254,240,0,255,23,71,254,55,14,255,176,101,254,17,18,255,240, +113,254,235,5,255,159,122,254,74,21,255,168,147,254,254,8,255,126,158,254,23,5,255,58,175,254,24,21,255,241,188,254,9,58,255,216,190,254,157,40,255,146,236,254,42,67,255,7,226,254,37,82,255,110,248,254,27,110,255,26,32,255,97,129,255,216,60,255,36,141, +255,198,69,255,39,167,255,51,89,255,116,191,255,215,111,255,247,194,255,255,135,255,82,223,255,251,154,255,16,252,255,208,161,255,223,253,255,40,170,255,205,12,0,227,166,255,12,17,0,212,138,255,200,19,0,61,122,255,217,2,0,47,116,255,169,22,0,88,85,255, +12,19,0,196,49,255,203,248,255,146,47,255,177,240,255,132,25,255,215,232,255,48,0,255,158,227,255,78,249,254,13,220,255,28,245,254,249,206,255,234,242,254,228,185,255,227,229,254,64,167,255,235,250,254,58,170,255,67,7,255,181,152,255,191,249,254,112, +149,255,120,35,255,36,139,255,163,30,255,151,155,255,3,46,255,14,167,255,136,59,255,148,190,255,164,91,255,158,233,255,129,117,255,250,222,255,235,120,255,193,14,0,178,174,255,140,47,0,165,166,255,130,65,0,149,195,255,143,71,0,234,230,255,163,88,0,199, +254,255,22,113,0,36,254,255,13,149,0,155,251,255,119,150,0,244,11,0,35,176,0,181,3,0,218,197,0,197,234,255,10,184,0,241,233,255,230,195,0,158,222,255,96,225,0,56,200,255,121,229,0,142,192,255,156,205,0,221,167,255,25,206,0,151,154,255,169,211,0,37,138, +255,229,181,0,114,97,255,76,153,0,37,79,255,225,149,0,159,45,255,193,136,0,135,254,254,153,114,0,9,240,254,181,79,0,103,239,254,118,73,0,212,209,254,176,29,0,237,213,254,206,20,0,138,217,254,108,237,255,23,193,254,74,208,255,44,214,254,228,185,255,93, +202,254,112,145,255,9,246,254,110,129,255,253,247,254,94,87,255,120,25,255,12,88,255,5,70,255,249,84,255,108,104,255,235,70,255,224,134,255,168,85,255,120,155,255,81,91,255,75,199,255,34,117,255,65,225,255,79,124,255,12,2,0,231,150,255,62,4,0,240,181, +255,143,1,0,43,205,255,201,18,0,186,3,0,243,253,255,27,41,0,50,12,0,8,38,0,12,254,255,244,89,0,91,239,255,90,108,0,68,200,255,183,99,0,125,207,255,91,118,0,191,184,255,44,144,0,234,169,255,236,135,0,169,145,255,242,124,0,128,115,255,135,121,0,126,93, +255,130,130,0,223,59,255,21,103,0,122,51,255,39,96,0,168,17,255,253,49,0,75,18,255,221,46,0,36,4,255,168,18,0,127,233,254,92,4,0,41,247,254,142,6,0,35,244,254,117,252,255,160,0,255,117,6,0,159,248,254,241,248,255,169,21,255,29,250,255,226,38,255,241, +250,255,242,72,255,152,240,255,156,133,255,72,251,255,113,150,255,232,225,255,37,201,255,105,8,0,103,237,255,187,13,0,245,21,0,55,2,0,173,49,0,162,17,0,232,74,0,83,34,0,215,99,0,115,47,0,105,119,0,97,48,0,121,159,0,156,79,0,226,142,0,107,91,0,14,146, +0,83,107,0,120,145,0,108,99,0,126,140,0,36,129,0,154,109,0,224,127,0,51,75,0,236,125,0,227,30,0,60,117,0,126,28,0,42,126,0,9,234,255,115,108,0,80,194,255,125,80,0,65,168,255,84,52,0,63,148,255,22,48,0,234,112,255,37,17,0,65,109,255,64,232,255,14,101, +255,153,242,255,94,82,255,70,221,255,35,55,255,143,211,255,198,67,255,195,227,255,48,67,255,176,226,255,21,100,255,33,237,255,228,115,255,157,215,255,114,160,255,39,230,255,87,203,255,58,235,255,129,243,255,240,240,255,108,23,0,67,10,0,31,68,0,69,30, +0,40,89,0,72,48,0,34,155,0,39,96,0,158,159,0,140,106,0,62,187,0,0,143,0,233,208,0,126,153,0,231,192,0,236,198,0,120,200,0,106,207,0,187,199,0,202,228,0,238,197,0,27,226,0,44,194,0,42,250,0,145,206,0,185,239,0,42,174,0,23,243,0,127,154,0,229,238,0,237, +130,0,120,221,0,20,88,0,42,179,0,186,59,0,141,179,0,114,20,0,57,146,0,149,254,255,59,109,0,53,231,255,106,79,0,114,223,255,121,44,0,15,172,255,253,250,255,126,154,255,145,221,255,150,142,255,230,203,255,152,99,255,144,150,255,201,89,255,230,138,255,162, +75,255,99,141,255,163,85,255,116,126,255,32,88,255,123,131,255,93,78,255,164,108,255,233,106,255,12,86,255,243,74,255,31,87,255,245,100,255,24,76,255,9,110,255,243,81,255,203,109,255,0,88,255,187,144,255,132,97,255,62,138,255,169,97,255,31,143,255,55, +136,255,51,154,255,0,153,255,175,140,255,164,169,255,49,134,255,172,182,255,112,140,255,64,175,255,177,160,255,111,206,255,134,165,255,61,202,255,235,179,255,199,204,255,155,192,255,231,209,255,111,191,255,12,212,255,105,198,255,150,214,255,255,198,255, +193,211,255,68,196,255,229,199,255,30,194,255,129,193,255,126,221,255,85,194,255,188,207,255,196,170,255,174,195,255,57,166,255,123,189,255,154,130,255,173,185,255,239,106,255,21,163,255,137,82,255,62,140,255,15,55,255,91,117,255,171,60,255,213,89,255, +206,28,255,246,102,255,31,28,255,27,101,255,23,11,255,44,84,255,90,254,254,60,57,255,4,2,255,255,78,255,236,15,255,111,59,255,18,26,255,18,68,255,226,45,255,4,62,255,190,63,255,241,50,255,106,89,255,48,57,255,136,80,255,117,64,255,197,127,255,153,50, +255,227,114,255,179,56,255,12,145,255,55,68,255,101,169,255,86,73,255,25,155,255,164,95,255,134,180,255,170,94,255,167,193,255,130,135,255,6,215,255,52,162,255,105,205,255,222,173,255,64,224,255,13,209,255,163,222,255,152,227,255,122,249,255,222,236, +255,203,242,255,249,254,255,224,9,0,186,254,255,236,5,0,212,0,0,242,2,0,194,9,0,229,250,255,98,252,255,147,251,255,74,2,0,252,234,255,129,247,255,216,244,255,172,238,255,63,218,255,77,225,255,88,220,255,62,201,255,60,184,255,98,189,255,47,182,255,38, +152,255,200,155,255,242,129,255,186,143,255,252,109,255,29,134,255,71,100,255,35,131,255,125,83,255,241,134,255,223,65,255,10,125,255,165,50,255,142,136,255,91,56,255,224,147,255,102,38,255,111,143,255,204,56,255,95,168,255,119,84,255,227,179,255,207, +92,255,100,210,255,186,122,255,14,234,255,132,155,255,17,10,0,171,165,255,88,29,0,44,202,255,4,55,0,108,224,255,236,72,0,247,240,255,238,92,0,139,26,0,66,120,0,185,53,0,154,124,0,51,81,0,1,159,0,24,122,0,91,177,0,180,127,0,203,173,0,89,144,0,223,186, +0,83,149,0,243,199,0,4,170,0,68,195,0,147,165,0,13,202,0,90,152,0,5,191,0,48,169,0,34,168,0,237,185,0,32,142,0,136,185,0,160,123,0,200,191,0,15,102,0,100,191,0,74,78,0,231,196,0,122,58,0,125,195,0,13,23,0,132,200,0,142,4,0,218,192,0,184,235,255,223,177, +0,11,206,255,125,197,0,41,191,255,203,170,0,66,187,255,105,182,0,47,186,255,40,162,0,89,161,255,9,161,0,40,183,255,121,155,0,72,186,255,40,152,0,30,205,255,32,141,0,111,200,255,246,157,0,107,221,255,158,149,0,106,213,255,57,145,0,115,242,255,37,193,0, +61,9,0,49,181,0,37,19,0,81,186,0,114,37,0,201,209,0,29,55,0,157,202,0,207,89,0,75,193,0,177,100,0,50,199,0,67,124,0,187,195,0,187,143,0,30,184,0,27,161,0,62,189,0,28,175,0,131,194,0,222,170,0,241,162,0,38,153,0,228,166,0,207,158,0,220,153,0,2,163,0,31, +129,0,2,161,0,53,99,0,205,124,0,181,72,0,215,104,0,104,52,0,170,93,0,174,2,0,84,48,0,28,235,255,250,19,0,212,197,255,56,211,255,83,161,255,13,161,255,179,123,255,25,98,255,47,114,255,172,68,255,89,91,255,199,15,255,114,91,255,192,213,254,55,70,255,8, +186,254,74,65,255,42,142,254,12,75,255,219,111,254,160,53,255,86,86,254,143,72,255,186,86,254,154,56,255,115,71,254,24,73,255,29,83,254,51,89,255,35,80,254,108,96,255,236,86,254,61,128,255,199,92,254,182,151,255,76,106,254,121,167,255,156,99,254,3,172, +255,30,144,254,81,200,255,219,166,254,227,225,255,163,171,254,93,200,255,2,185,254,152,225,255,176,236,254,226,211,255,61,17,255,14,221,255,46,52,255,112,207,255,128,63,255,151,215,255,51,102,255,146,232,255,252,120,255,229,241,255,111,137,255,92,251, +255,175,151,255,173,242,255,100,153,255,81,9,0,45,162,255,205,255,255,213,157,255,178,237,255,220,170,255,67,245,255,178,185,255,142,249,255,173,200,255,184,238,255,97,192,255,215,227,255,148,190,255,154,243,255,19,219,255,23,250,255,169,215,255,205, +251,255,200,214,255,13,14,0,56,211,255,22,45,0,160,247,255,61,57,0,242,0,0,50,73,0,36,5,0,69,72,0,13,21,0,84,98,0,18,12,0,59,102,0,244,22,0,164,93,0,122,249,255,222,102,0,248,253,255,108,90,0,103,242,255,227,93,0,61,5,0,170,90,0,247,251,255,100,79,0, +221,239,255,8,80,0,239,232,255,124,67,0,43,215,255,241,44,0,211,196,255,66,48,0,25,216,255,48,248,255,228,187,255,75,16,0,86,200,255,155,255,255,208,176,255,187,0,0,46,174,255,154,245,255,234,188,255,57,214,255,208,170,255,47,236,255,183,174,255,176, +221,255,106,152,255,232,212,255,157,152,255,247,177,255,36,143,255,85,183,255,104,124,255,10,181,255,17,136,255,233,163,255,46,117,255,138,152,255,174,86,255,184,167,255,139,98,255,53,168,255,56,85,255,11,193,255,179,77,255,120,214,255,27,104,255,244, +212,255,50,90,255,217,245,255,121,111,255,187,6,0,46,115,255,0,6,0,72,121,255,138,14,0,199,145,255,243,1,0,111,143,255,54,245,255,75,157,255,4,247,255,23,141,255,255,251,255,226,161,255,9,232,255,232,162,255,64,227,255,213,165,255,115,229,255,114,161, +255,246,232,255,128,183,255,4,237,255,18,207,255,79,239,255,44,213,255,137,8,0,34,249,255,219,19,0,186,7,0,191,50,0,224,7,0,87,63,0,82,30,0,80,115,0,229,59,0,218,123,0,9,44,0,118,133,0,217,63,0,246,157,0,223,66,0,129,176,0,207,89,0,72,157,0,30,69,0,24, +187,0,164,94,0,129,174,0,13,80,0,216,170,0,30,67,0,10,167,0,146,44,0,171,155,0,114,41,0,57,141,0,223,3,0,71,149,0,235,247,255,137,128,0,133,233,255,86,116,0,132,225,255,72,98,0,117,197,255,233,96,0,240,183,255,131,76,0,176,161,255,86,61,0,240,122,255, +89,34,0,77,108,255,209,35,0,125,88,255,229,249,255,118,85,255,117,255,255,28,63,255,140,231,255,117,67,255,203,235,255,173,80,255,92,243,255,17,75,255,19,13,0,157,103,255,154,249,255,8,111,255,13,12,0,48,137,255,74,57,0,199,143,255,17,56,0,110,194,255, +102,93,0,76,224,255,5,125,0,103,238,255,72,161,0,24,5,0,87,189,0,209,42,0,151,207,0,154,67,0,203,225,0,243,75,0,99,244,0,201,90,0,194,1,1,110,119,0,14,20,1,190,106,0,25,254,0,66,118,0,36,238,0,46,103,0,11,238,0,221,109,0,151,209,0,43,75,0,255,180,0,83, +44,0,158,155,0,189,31,0,205,117,0,210,253,255,181,125,0,210,249,255,202,89,0,230,201,255,93,60,0,158,170,255,2,30,0,241,134,255,118,3,0,151,106,255,115,235,255,22,64,255,74,201,255,6,28,255,109,171,255,203,2,255,2,170,255,12,218,254,255,141,255,117,203, +254,123,122,255,115,187,254,58,100,255,150,161,254,181,84,255,149,149,254,250,85,255,188,106,254,132,88,255,51,106,254,100,81,255,62,96,254,206,84,255,85,76,254,180,66,255,233,62,254,51,85,255,39,49,254,134,108,255,75,41,254,158,96,255,54,22,254,20,94, +255,168,34,254,222,110,255,100,39,254,114,101,255,20,60,254,198,120,255,192,81,254,248,122,255,113,104,254,232,94,255,163,108,254,139,93,255,221,131,254,100,79,255,106,160,254,38,89,255,88,171,254,213,91,255,18,213,254,168,72,255,69,221,254,68,72,255, +229,8,255,225,89,255,132,40,255,88,83,255,174,78,255,82,92,255,149,86,255,205,72,255,157,103,255,158,104,255,123,133,255,231,84,255,106,150,255,134,110,255,240,183,255,192,123,255,107,225,255,37,138,255,113,226,255,219,143,255,64,230,255,32,155,255,128, +242,255,91,176,255,32,229,255,138,209,255,151,224,255,197,236,255,138,212,255,26,16,0,119,217,255,76,24,0,210,186,255,161,57,0,39,175,255,72,108,0,53,189,255,109,100,0,170,162,255,175,142,0,46,180,255,130,125,0,8,164,255,239,150,0,66,187,255,74,128,0, +21,178,255,244,141,0,170,164,255,236,120,0,157,152,255,36,112,0,126,165,255,159,104,0,62,149,255,149,57,0,6,154,255,200,71,0,89,171,255,177,28,0,164,167,255,120,17,0,215,175,255,154,243,255,167,195,255,190,231,255,224,204,255,207,210,255,212,208,255, +30,196,255,81,217,255,46,173,255,133,227,255,227,160,255,177,240,255,97,171,255,34,241,255,159,169,255,85,251,255,170,157,255,240,238,255,127,164,255,12,15,0,131,143,255,149,15,0,76,158,255,237,15,0,241,176,255,23,7,0,203,172,255,37,17,0,219,212,255, +61,9,0,45,224,255,49,13,0,118,5,0,254,252,255,165,36,0,53,248,255,11,53,0,254,252,255,202,95,0,6,16,0,243,133,0,237,13,0,163,144,0,187,15,0,249,179,0,8,34,0,143,186,0,85,54,0,146,214,0,215,49,0,114,213,0,55,65,0,190,223,0,82,89,0,254,237,0,156,83,0,18, +253,0,120,93,0,168,253,0,214,90,0,26,10,1,102,100,0,125,252,0,158,107,0,124,240,0,165,102,0,53,225,0,108,101,0,178,225,0,83,103,0,54,229,0,200,80,0,240,227,0,107,85,0,141,223,0,249,74,0,220,216,0,19,81,0,79,229,0,174,74,0,122,230,0,206,83,0,211,244,0, +87,76,0,78,223,0,110,60,0,247,228,0,107,85,0,203,233,0,57,93,0,74,246,0,222,111,0,92,231,0,57,95,0,40,219,0,140,108,0,209,224,0,19,142,0,107,202,0,69,146,0,148,181,0,176,153,0,197,173,0,157,158,0,140,164,0,42,185,0,43,127,0,243,193,0,61,118,0,208,219, +0,235,108,0,226,214,0,234,104,0,203,234,0,213,81,0,194,211,0,251,83,0,116,234,0,138,77,0,81,201,0,194,74,0,19,205,0,138,77,0,217,189,0,214,85,0,11,196,0,69,74,0,75,202,0,138,71,0,245,160,0,208,88,0,205,138,0,70,80,0,166,118,0,75,75,0,90,102,0,15,93,0, +126,88,0,27,97,0,227,43,0,66,101,0,187,15,0,93,123,0,236,7,0,131,139,0,165,238,255,239,142,0,32,229,255,137,132,0,45,229,255,150,136,0,118,209,255,207,137,0,31,213,255,199,130,0,95,221,255,254,113,0,160,194,255,4,107,0,125,220,255,51,81,0,158,231,255, +56,66,0,250,220,255,81,66,0,184,243,255,51,22,0,20,235,255,232,19,0,2,240,255,69,9,0,41,252,255,174,0,0,41,244,255,215,235,255,9,249,255,139,221,255,164,31,0,243,200,255,7,24,0,143,196,255,150,13,0,153,178,255,93,18,0,172,171,255,69,24,0,145,151,255, +239,27,0,2,164,255,87,21,0,226,152,255,251,27,0,170,161,255,243,12,0,178,170,255,135,247,255,72,181,255,155,199,255,197,175,255,52,173,255,55,192,255,13,163,255,18,200,255,111,139,255,6,198,255,89,102,255,151,221,255,220,107,255,31,206,255,74,76,255, +62,203,255,168,22,255,248,187,255,106,28,255,121,167,255,77,248,254,175,146,255,126,238,254,30,133,255,205,211,254,222,118,255,146,184,254,6,80,255,183,180,254,209,55,255,232,170,254,27,38,255,38,165,254,136,10,255,235,145,254,131,11,255,136,143,254, +7,23,255,180,154,254,235,252,254,149,149,254,207,228,254,150,167,254,253,245,254,232,172,254,195,230,254,7,174,254,245,226,254,139,177,254,45,222,254,3,197,254,156,220,254,180,213,254,169,216,254,187,220,254,121,238,254,171,251,254,102,235,254,210,11, +255,91,249,254,112,25,255,19,27,255,37,29,255,65,46,255,77,55,255,23,63,255,164,45,255,255,78,255,83,46,255,154,119,255,213,43,255,6,147,255,221,50,255,130,135,255,120,42,255,77,170,255,111,70,255,203,170,255,229,71,255,183,163,255,154,67,255,79,176, +255,246,60,255,214,164,255,87,86,255,95,151,255,237,84,255,95,157,255,169,95,255,165,107,255,56,91,255,172,112,255,239,110,255,136,69,255,141,118,255,41,52,255,29,124,255,15,50,255,1,106,255,137,14,255,2,108,255,162,14,255,223,80,255,61,4,255,230,85, +255,171,246,254,134,60,255,247,254,254,158,54,255,54,251,254,165,55,255,142,7,255,224,21,255,57,29,255,7,36,255,163,26,255,148,11,255,9,53,255,222,5,255,162,71,255,23,11,255,200,79,255,122,3,255,145,88,255,23,15,255,216,119,255,154,14,255,143,141,255, +223,11,255,207,155,255,169,40,255,142,182,255,122,58,255,143,204,255,2,45,255,211,244,255,93,79,255,105,255,255,6,89,255,75,12,0,102,112,255,9,29,0,181,154,255,59,37,0,91,181,255,165,34,0,151,228,255,35,43,0,104,4,0,35,51,0,198,62,0,16,44,0,38,86,0,15, +40,0,13,143,0,53,40,0,248,184,0,177,36,0,136,194,0,94,74,0,197,233,0,145,80,0,33,26,1,245,86,0,242,57,1,140,101,0,203,102,1,86,120,0,248,111,1,63,132,0,11,121,1,107,137,0,151,137,1,196,151,0,137,127,1,30,180,0,51,141,1,212,193,0,155,122,1,141,227,0,140, +96,1,173,240,0,162,68,1,17,235,0,30,61,1,190,223,0,83,26,1,42,245,0,251,23,1,135,228,0,212,3,1,217,241,0,241,240,0,5,237,0,187,202,0,160,232,0,45,211,0,252,217,0,244,201,0,100,199,0,171,162,0,147,224,0,114,167,0,164,205,0,176,155,0,239,209,0,163,149, +0,87,193,0,70,158,0,92,178,0,162,139,0,60,167,0,247,117,0,97,167,0,42,126,0,0,136,0,84,105,0,43,127,0,191,124,0,47,98,0,70,101,0,1,85,0,60,121,0,125,73,0,129,124,0,202,36,0,115,102,0,76,28,0,220,95,0,184,35,0,237,80,0,251,18,0,68,71,0,11,246,255,230, +67,0,249,2,0,60,54,0,223,246,255,25,27,0,58,25,0,35,1,0,213,16,0,47,245,255,208,33,0,68,205,255,191,40,0,255,205,255,208,33,0,41,187,255,142,56,0,3,189,255,65,36,0,110,192,255,77,30,0,209,184,255,156,9,0,34,180,255,136,2,0,230,201,255,15,231,255,221, +182,255,133,222,255,209,180,255,51,211,255,253,191,255,186,191,255,115,173,255,86,191,255,161,198,255,120,155,255,85,184,255,7,145,255,171,180,255,225,140,255,150,212,255,119,145,255,194,215,255,125,142,255,20,235,255,236,124,255,20,229,255,67,125,255, +71,243,255,92,127,255,90,246,255,230,131,255,54,254,255,70,155,255,212,11,0,175,144,255,125,23,0,216,178,255,131,24,0,0,205,255,34,46,0,108,226,255,222,50,0,148,246,255,119,26,0,126,22,0,198,64,0,221,39,0,172,58,0,108,86,0,218,71,0,236,114,0,37,74,0, +157,145,0,220,97,0,108,149,0,245,101,0,180,180,0,54,118,0,167,182,0,115,106,0,123,179,0,228,112,0,16,174,0,118,138,0,47,165,0,229,126,0,109,163,0,196,109,0,143,127,0,122,115,0,248,116,0,101,98,0,21,94,0,187,74,0,0,73,0,216,57,0,10,43,0,103,51,0,31,11, +0,122,58,0,16,42,0,36,70,0,199,2,0,191,57,0,191,241,255,35,54,0,221,228,255,228,49,0,28,233,255,21,40,0,183,216,255,198,62,0,35,240,255,211,66,0,140,229,255,43,71,0,216,241,255,77,96,0,213,14,0,28,108,0,77,30,0,184,105,0,79,54,0,196,103,0,10,43,0,214, +96,0,113,77,0,2,104,0,20,84,0,52,100,0,221,98,0,46,107,0,238,79,0,146,99,0,208,90,0,25,82,0,112,69,0,118,73,0,123,53,0,68,75,0,97,43,0,18,73,0,215,36,0,123,60,0,238,18,0,94,30,0,11,248,255,174,11,0,154,249,255,68,18,0,132,210,255,16,248,255,174,201,255, +191,254,255,159,165,255,9,245,255,125,142,255,177,234,255,166,113,255,18,207,255,164,93,255,103,181,255,211,71,255,175,153,255,178,50,255,167,138,255,226,30,255,28,116,255,201,30,255,16,124,255,132,19,255,163,98,255,248,0,255,251,98,255,196,240,254,79, +69,255,122,246,254,211,86,255,26,223,254,73,64,255,58,228,254,246,52,255,181,220,254,100,31,255,241,249,254,113,35,255,86,10,255,38,33,255,56,15,255,69,38,255,207,35,255,193,32,255,2,34,255,119,30,255,24,75,255,73,64,255,7,90,255,153,59,255,92,119,255, +35,72,255,106,141,255,69,97,255,246,165,255,27,110,255,180,188,255,147,125,255,238,209,255,89,167,255,33,220,255,155,195,255,91,233,255,106,211,255,184,238,255,78,248,255,73,242,255,98,7,0,85,250,255,136,5,0,156,9,0,239,31,0,92,255,255,78,49,0,101,24, +0,4,61,0,183,33,0,168,75,0,40,30,0,34,105,0,183,23,0,65,108,0,217,62,0,162,133,0,172,45,0,176,147,0,214,24,0,144,146,0,115,36,0,195,156,0,16,42,0,170,154,0,204,46,0,101,153,0,241,46,0,64,159,0,41,46,0,156,140,0,105,64,0,213,149,0,135,47,0,154,126,0,105, +54,0,48,117,0,198,51,0,3,116,0,165,34,0,118,75,0,69,15,0,242,65,0,125,12,0,122,52,0,13,16,0,99,15,0,154,249,255,21,239,255,81,206,255,119,219,255,108,222,255,161,200,255,228,178,255,19,156,255,67,192,255,124,135,255,58,167,255,246,113,255,232,151,255, +244,103,255,245,159,255,157,95,255,222,114,255,112,86,255,161,128,255,220,105,255,63,142,255,59,117,255,2,101,255,9,117,255,82,92,255,40,114,255,244,86,255,255,138,255,138,79,255,48,137,255,39,97,255,39,161,255,233,106,255,215,183,255,155,129,255,68, +207,255,6,143,255,138,216,255,91,184,255,64,234,255,50,203,255,240,242,255,77,227,255,11,5,0,205,253,255,43,18,0,126,24,0,76,31,0,28,42,0,230,69,0,61,57,0,245,97,0,142,58,0,242,128,0,95,88,0,26,145,0,44,76,0,226,153,0,232,78,0,11,182,0,125,69,0,221,225, +0,205,62,0,146,227,0,217,56,0,152,228,0,147,43,0,40,226,0,254,56,0,137,196,0,36,55,0,62,198,0,185,43,0,109,172,0,198,55,0,139,167,0,60,51,0,15,159,0,85,53,0,118,140,0,230,54,0,242,122,0,103,38,0,141,120,0,146,33,0,216,116,0,71,29,0,214,94,0,114,30,0, +189,100,0,71,31,0,132,95,0,145,23,0,13,86,0,101,22,0,237,70,0,151,20,0,61,66,0,188,18,0,29,55,0,186,252,255,239,41,0,248,244,255,248,62,0,122,236,255,89,35,0,39,221,255,53,55,0,82,214,255,121,50,0,0,203,255,71,42,0,178,174,255,88,29,0,166,180,255,153, +45,0,57,153,255,110,60,0,122,171,255,157,30,0,133,161,255,75,23,0,39,154,255,31,24,0,208,153,255,49,19,0,64,154,255,174,5,0,226,156,255,111,9,0,19,149,255,171,237,255,169,145,255,111,13,0,216,176,255,136,7,0,116,174,255,99,11,0,143,196,255,155,6,0,169, +208,255,167,59,0,106,204,255,233,38,0,42,253,255,141,55,0,68,5,0,143,77,0,138,22,0,37,80,0,228,34,0,143,75,0,117,62,0,20,99,0,25,63,0,34,113,0,101,81,0,110,119,0,251,79,0,137,133,0,248,45,0,24,129,0,169,74,0,83,158,0,224,57,0,228,173,0,197,41,0,96,168, +0,57,21,0,110,178,0,96,29,0,198,182,0,251,18,0,111,194,0,218,1,0,109,170,0,228,233,255,115,169,0,40,225,255,65,169,0,52,223,255,250,149,0,176,207,255,232,148,0,57,212,255,119,148,0,164,217,255,31,144,0,56,210,255,85,121,0,90,229,255,15,106,0,255,247, +255,228,108,0,11,250,255,27,98,0,168,5,0,6,77,0,164,20,0,119,87,0,165,42,0,230,71,0,147,41,0,185,56,0,29,46,0,91,55,0,247,37,0,46,40,0,179,52,0,240,49,0,197,47,0,226,27,0,204,56,0,112,15,0,221,35,0,161,9,0,83,33,0,9,245,255,134,39,0,188,216,255,163,12, +0,91,195,255,243,7,0,204,187,255,124,254,255,246,172,255,157,218,255,126,163,255,144,206,255,24,149,255,185,177,255,124,135,255,125,146,255,78,116,255,31,143,255,17,140,255,90,105,255,208,117,255,206,78,255,32,103,255,150,81,255,97,119,255,3,56,255,19, +101,255,2,44,255,30,83,255,21,37,255,188,98,255,27,34,255,13,90,255,135,55,255,194,103,255,34,43,255,186,137,255,254,66,255,200,155,255,102,38,255,61,137,255,186,71,255,3,189,255,181,74,255,155,199,255,169,86,255,207,219,255,41,115,255,247,245,255,80, +135,255,171,243,255,115,162,255,66,254,255,215,168,255,88,25,0,62,197,255,76,31,0,21,222,255,226,31,0,229,249,255,184,52,0,107,15,0,140,49,0,129,247,255,139,41,0,102,26,0,77,41,0,164,26,0,71,46,0,76,28,0,246,40,0,20,21,0,161,7,0,86,254,255,142,2,0,3, +235,255,186,5,0,150,203,255,249,208,255,55,194,255,174,208,255,39,164,255,46,174,255,202,166,255,52,167,255,144,139,255,160,127,255,126,148,255,226,108,255,125,144,255,35,125,255,137,138,255,117,75,255,19,147,255,80,79,255,49,134,255,216,65,255,153,168, +255,49,80,255,95,157,255,42,73,255,219,149,255,173,80,255,145,153,255,163,96,255,109,165,255,155,77,255,23,183,255,220,101,255,209,169,255,220,105,255,236,193,255,4,132,255,135,181,255,67,130,255,80,194,255,200,157,255,187,193,255,195,168,255,223,183, +255,135,190,255,79,182,255,138,212,255,159,171,255,238,218,255,185,179,255,197,241,255,248,183,255,136,7,0,73,183,255,84,249,255,182,210,255,231,10,0,162,207,255,205,8,0,77,233,255,210,251,255,77,225,255,133,231,255,37,203,255,111,206,255,159,234,255, +132,219,255,1,215,255,169,209,255,25,203,255,29,187,255,242,190,255,164,161,255,130,188,255,187,145,255,30,192,255,102,114,255,67,192,255,151,96,255,97,177,255,192,75,255,141,180,255,178,63,255,105,194,255,60,64,255,198,183,255,9,64,255,193,190,255,104, +69,255,44,210,255,91,63,255,219,202,255,60,64,255,208,222,255,55,81,255,69,210,255,136,76,255,166,239,255,201,98,255,127,219,255,207,105,255,146,232,255,167,138,255,3,239,255,6,148,255,64,223,255,25,147,255,24,195,255,113,163,255,99,195,255,140,179,255, +231,196,255,4,191,255,76,158,255,133,174,255,115,166,255,30,201,255,144,147,255,118,207,255,244,145,255,132,223,255,253,121,255,134,249,255,136,126,255,56,18,0,59,106,255,188,27,0,53,119,255,135,54,0,8,100,255,210,54,0,202,101,255,22,54,0,3,115,255,100, +76,0,11,128,255,66,61,0,187,136,255,249,70,0,180,131,255,1,25,0,132,155,255,141,254,255,110,173,255,53,238,255,154,180,255,213,218,255,205,194,255,10,194,255,76,217,255,50,157,255,216,233,255,27,177,255,226,217,255,50,151,255,31,11,0,244,156,255,10,240, +255,184,123,255,207,11,0,38,159,255,74,254,255,88,153,255,56,9,0,226,165,255,180,253,255,245,168,255,240,235,255,101,165,255,247,230,255,197,182,255,88,213,255,65,183,255,154,180,255,233,176,255,46,173,255,235,190,255,58,167,255,146,172,255,251,150,255, +245,166,255,130,129,255,0,161,255,205,129,255,220,170,255,186,128,255,125,157,255,84,106,255,101,163,255,159,112,255,204,134,255,232,98,255,161,133,255,70,96,255,6,89,255,102,101,255,20,99,255,62,79,255,154,73,255,224,73,255,109,50,255,55,76,255,59,54, +255,28,56,255,38,33,255,248,63,255,46,58,255,59,43,255,81,32,255,16,58,255,144,34,255,227,40,255,129,12,255,117,70,255,122,66,255,78,56,255,58,48,255,35,61,255,201,45,255,23,61,255,164,51,255,118,68,255,104,67,255,237,81,255,17,75,255,12,71,255,233,54, +255,226,91,255,34,60,255,61,65,255,235,64,255,43,72,255,54,69,255,119,90,255,254,77,255,1,89,255,92,75,255,24,75,255,72,62,255,252,99,255,90,55,255,117,123,255,33,48,255,99,134,255,16,65,255,111,130,255,144,36,255,224,134,255,238,33,255,195,157,255,137, +27,255,114,160,255,18,16,255,27,160,255,155,20,255,253,170,255,24,13,255,153,168,255,186,13,255,208,163,255,98,5,255,165,162,255,5,14,255,2,160,255,174,19,255,123,122,255,199,19,255,143,135,255,12,19,255,223,124,255,81,24,255,245,94,255,55,14,255,212, +79,255,212,21,255,242,72,255,217,10,255,5,70,255,142,10,255,22,45,255,72,255,254,234,55,255,129,10,255,157,29,255,154,10,255,245,27,255,130,20,255,175,22,255,192,14,255,225,24,255,220,38,255,51,26,255,165,57,255,66,48,255,234,60,255,195,37,255,179,77, +255,238,89,255,13,100,255,184,106,255,253,128,255,142,125,255,130,136,255,222,175,255,22,123,255,48,189,255,217,132,255,129,245,255,214,173,255,15,34,0,16,185,255,14,83,0,230,205,255,10,114,0,119,223,255,189,150,0,97,245,255,109,165,0,103,252,255,152, +219,0,13,29,0,97,230,0,150,21,0,123,238,0,83,38,0,169,1,1,91,51,0,205,245,0,165,39,0,93,247,0,133,38,0,161,240,0,197,52,0,195,212,0,57,30,0,30,180,0,57,30,0,184,161,0,101,29,0,59,157,0,125,23,0,91,111,0,124,13,0,100,73,0,234,245,255,148,55,0,235,251, +255,184,39,0,121,239,255,38,16,0,132,215,255,149,8,0,150,216,255,180,247,255,224,204,255,223,248,255,30,201,255,234,234,255,141,185,255,179,239,255,130,199,255,110,236,255,194,217,255,191,239,255,115,238,255,60,242,255,73,255,255,113,14,0,61,9,0,23,57, +0,96,40,0,206,66,0,141,53,0,2,91,0,125,76,0,20,137,0,255,124,0,61,175,0,242,124,0,251,199,0,1,153,0,126,4,1,113,212,0,71,15,1,195,217,0,49,57,1,105,248,0,252,81,1,133,28,1,87,122,1,209,44,1,101,134,1,9,38,1,28,154,1,60,48,1,41,160,1,12,68,1,116,162,1, +245,79,1,89,138,1,133,83,1,7,127,1,213,80,1,56,121,1,169,79,1,58,78,1,225,74,1,118,54,1,67,59,1,7,64,1,23,46,1,115,26,1,248,255,0,60,226,0,104,244,0,239,211,0,138,210,0,155,186,0,133,160,0,14,148,0,211,135,0,70,141,0,124,137,0,109,102,0,196,99,0,6,70, +0,176,88,0,68,60,0,242,59,0,210,43,0,173,66,0,159,31,0,85,54,0,172,43,0,235,60,0,115,34,0,46,42,0,165,38,0,2,41,0,254,52,0,197,50,0,236,55,0,236,64,0,4,50,0,84,46,0,44,72,0,62,74,0,38,77,0,149,68,0,46,92,0,67,59,0,109,100,0,162,78,0,210,106,0,16,57,0, +204,109,0,35,58,0,130,127,0,242,65,0,186,120,0,211,62,0,93,125,0,156,77,0,18,125,0,111,72,0,191,109,0,121,46,0,192,119,0,24,66,0,204,105,0,162,74,0,43,117,0,148,70,0,203,103,0,6,77,0,91,107,0,93,71,0,105,125,0,44,79,0,52,89,0,65,53,0,215,97,0,108,40, +0,75,126,0,192,63,0,134,108,0,12,15,0,142,121,0,233,38,0,47,98,0,25,17,0,47,104,0,157,30,0,51,81,0,151,31,0,29,54,0,194,24,0,109,37,0,200,21,0,131,11,0,179,252,255,86,254,255,235,1,0,79,239,255,42,4,0,136,254,255,129,250,255,85,242,255,183,231,255,69, +13,0,88,220,255,244,11,0,97,192,255,28,32,0,53,185,255,208,29,0,75,147,255,161,51,0,1,159,255,217,56,0,141,118,255,80,58,0,202,114,255,29,48,0,79,71,255,237,65,0,11,80,255,172,37,0,64,45,255,122,37,0,156,28,255,41,42,0,154,10,255,58,25,0,252,246,254, +221,29,0,208,237,254,200,16,0,4,203,254,82,21,0,79,205,254,220,23,0,27,183,254,75,6,0,151,175,254,77,26,0,176,175,254,194,13,0,47,192,254,2,34,0,75,167,254,125,16,0,222,196,254,88,18,0,160,204,254,89,30,0,181,217,254,27,26,0,227,250,254,251,20,0,254, +8,255,251,20,0,110,64,255,75,10,0,147,60,255,69,19,0,47,119,255,134,234,255,248,133,255,10,242,255,35,135,255,246,222,255,133,172,255,145,218,255,133,168,255,177,223,255,142,197,255,1,217,255,93,205,255,215,235,255,69,217,255,0,205,255,231,213,255,182, +218,255,213,218,255,3,239,255,156,217,255,27,227,255,136,202,255,7,9,0,223,198,255,66,241,255,99,204,255,66,239,255,68,152,255,22,238,255,125,153,255,161,254,255,141,132,255,30,255,255,233,107,255,92,251,255,132,103,255,87,8,0,85,127,255,226,18,0,182, +99,255,246,35,0,190,120,255,5,52,0,77,110,255,127,26,0,39,102,255,184,41,0,114,108,255,0,73,0,46,113,255,144,78,0,59,119,255,58,94,0,110,125,255,171,94,0,84,113,255,122,106,0,253,128,255,16,103,0,249,145,255,78,97,0,65,179,255,42,109,0,90,177,255,46, +94,0,159,172,255,247,104,0,181,213,255,53,95,0,45,227,255,134,94,0,78,238,255,2,87,0,62,17,0,134,102,0,76,35,0,44,76,0,239,27,0,93,64,0,3,43,0,0,71,0,192,63,0,67,58,0,100,76,0,174,63,0,105,73,0,197,43,0,19,81,0,85,49,0,7,85,0,238,14,0,133,103,0,101,22, +0,212,80,0,51,22,0,70,95,0,69,15,0,3,102,0,57,21,0,228,112,0,45,27,0,91,114,0,139,20,0,130,75,0,121,35,0,89,100,0,31,68,0,238,88,0,26,75,0,131,79,0,195,84,0,60,64,0,21,92,0,167,67,0,230,127,0,165,43,0,182,141,0,95,32,0,178,164,0,195,30,0,228,166,0,205, +12,0,99,183,0,42,4,0,244,204,0,32,28,0,38,197,0,206,16,0,247,226,0,93,14,0,91,223,0,112,15,0,117,237,0,8,38,0,243,245,0,221,44,0,1,4,1,16,49,0,201,12,1,215,45,0,58,13,1,16,55,0,22,27,1,223,64,0,160,37,1,237,78,0,230,52,1,177,102,0,217,50,1,3,108,0,56, +62,1,68,138,0,74,57,1,236,129,0,106,58,1,115,169,0,224,55,1,198,182,0,248,45,1,9,170,0,173,41,1,116,179,0,229,38,1,147,178,0,17,42,1,121,172,0,96,29,1,236,188,0,98,35,1,181,140,0,148,35,1,20,148,0,91,34,1,55,130,0,53,32,1,224,131,0,90,22,1,13,149,0,34, +21,1,99,141,0,97,37,1,85,178,0,169,3,1,196,162,0,38,2,1,34,168,0,92,241,0,170,154,0,19,3,1,121,166,0,68,243,0,101,153,0,48,232,0,43,132,0,46,218,0,141,116,0,57,204,0,241,114,0,93,190,0,122,111,0,67,174,0,27,104,0,36,177,0,122,111,0,202,158,0,22,115,0, +177,156,0,150,86,0,228,160,0,140,108,0,227,158,0,146,109,0,214,146,0,190,112,0,176,140,0,211,125,0,203,164,0,137,133,0,124,185,0,99,141,0,92,172,0,131,136,0,132,204,0,126,151,0,218,192,0,62,141,0,95,204,0,33,164,0,185,232,0,252,163,0,197,232,0,23,186, +0,211,246,0,133,164,0,22,33,1,110,176,0,245,17,1,47,174,0,235,35,1,148,186,0,141,26,1,52,157,0,69,58,1,122,178,0,129,40,1,146,168,0,173,39,1,229,181,0,91,36,1,76,153,0,155,44,1,233,166,0,228,30,1,63,149,0,72,33,1,76,157,0,69,255,0,82,150,0,163,2,1,159, +174,0,94,251,0,25,147,0,94,251,0,212,141,0,208,19,1,244,144,0,87,0,1,93,136,0,113,8,1,107,148,0,183,21,1,180,132,0,90,18,1,101,157,0,15,22,1,202,169,0,171,23,1,218,193,0,201,14,1,205,191,0,176,8,1,118,193,0,150,254,0,141,183,0,55,241,0,229,181,0,197, +228,0,230,138,0,90,219,0,223,123,0,90,211,0,20,95,0,37,187,0,224,68,0,39,203,0,76,29,0,250,191,0,207,22,0,51,197,0,141,244,255,4,172,0,138,222,255,191,172,0,68,209,255,157,143,0,245,225,255,93,129,0,210,190,255,74,120,0,236,204,255,69,72,0,10,184,255, +75,73,0,66,195,255,130,62,0,228,183,255,195,27,0,226,167,255,83,27,0,146,174,255,221,31,0,102,173,255,76,16,0,0,153,255,150,4,0,168,146,255,181,7,0,218,154,255,62,8,0,229,197,255,42,255,255,234,184,255,119,15,0,83,231,255,118,7,0,89,232,255,225,6,0,222, +251,255,57,21,0,130,6,0,228,34,0,75,19,0,159,37,0,182,26,0,118,60,0,82,36,0,95,80,0,174,15,0,85,106,0,94,24,0,44,133,0,187,21,0,173,177,0,36,9,0,101,201,0,245,32,0,232,206,0,161,7,0,96,212,0,65,246,255,13,201,0,83,227,255,107,194,0,25,214,255,236,187, +0,29,195,255,168,192,0,76,165,255,248,177,0,177,167,255,60,171,0,142,140,255,122,167,0,196,113,255,45,151,0,208,117,255,113,140,0,97,125,255,226,142,0,105,138,255,66,111,0,91,126,255,10,108,0,99,145,255,185,106,0,59,176,255,159,100,0,159,186,255,226, +87,0,70,221,255,102,91,0,15,242,255,48,116,0,86,13,0,228,103,0,14,35,0,85,104,0,171,40,0,235,108,0,10,58,0,223,108,0,118,81,0,130,117,0,44,85,0,22,104,0,76,94,0,112,132,0,197,113,0,6,127,0,110,121,0,150,136,0,213,147,0,67,119,0,117,126,0,254,111,0,144, +146,0,210,112,0,172,111,0,148,112,0,156,144,0,222,102,0,117,126,0,70,88,0,135,119,0,200,128,0,222,107,0,111,120,0,10,121,0,125,136,0,184,111,0,33,147,0,193,130,0,1,148,0,29,118,0,214,150,0,153,114,0,252,154,0,130,134,0,77,150,0,30,136,0,117,180,0,24, +135,0,125,197,0,156,136,0,130,180,0,144,142,0,194,204,0,165,165,0,163,197,0,12,135,0,209,222,0,244,142,0,63,199,0,148,129,0,246,220,0,19,142,0,12,187,0,188,149,0,1,211,0,88,151,0,191,225,0,134,174,0,190,221,0,242,189,0,158,212,0,24,194,0,77,219,0,50, +202,0,90,225,0,232,217,0,203,225,0,174,196,0,167,239,0,223,192,0,185,236,0,242,189,0,73,238,0,85,184,0,174,252,0,95,154,0,195,9,1,127,169,0,117,241,0,124,131,0,101,8,1,5,136,0,31,249,0,147,121,0,17,239,0,226,94,0,162,250,0,189,100,0,57,1,1,75,90,0,0, +252,0,158,107,0,76,10,1,253,118,0,220,19,1,193,138,0,129,32,1,96,170,0,82,5,1,153,177,0,203,30,1,241,240,0,161,51,1,244,16,1,236,43,1,239,29,1,250,71,1,24,68,1,126,69,1,71,95,1,133,76,1,118,120,1,13,71,1,6,130,1,203,93,1,122,164,1,197,90,1,221,154,1, +9,88,1,215,161,1,151,77,1,233,154,1,184,88,1,40,157,1,220,72,1,196,156,1,163,63,1,151,141,1,138,65,1,248,111,1,113,61,1,123,50,1,237,61,1,32,12,1,44,64,1,77,230,0,105,54,1,54,183,0,93,50,1,56,134,0,186,47,1,9,113,0,13,6,1,4,59,0,231,1,1,249,70,0,242, +241,0,95,34,0,215,221,0,57,26,0,193,196,0,69,22,0,37,193,0,93,18,0,14,209,0,101,35,0,134,220,0,65,43,0,70,210,0,182,26,0,110,228,0,73,70,0,105,245,0,14,94,0,14,16,1,127,100,0,77,12,1,70,158,0,102,20,1,161,194,0,115,28,1,190,238,0,60,35,1,6,4,1,180,50, +1,8,26,1,54,38,1,180,63,1,167,48,1,194,81,1,185,35,1,83,87,1,245,15,1,183,91,1,193,251,0,9,95,1,111,244,0,14,94,1,140,215,0,244,77,1,183,208,0,129,53,1,3,160,0,9,32,1,190,160,0,132,12,1,145,147,0,2,230,0,238,144,0,39,220,0,63,134,0,209,170,0,10,114,0, +18,134,0,209,100,0,233,103,0,89,83,0,211,66,0,14,87,0,249,13,0,215,95,0,141,244,255,62,63,0,236,198,255,68,60,0,54,195,255,2,89,0,20,172,255,26,75,0,166,128,255,169,72,0,121,113,255,196,94,0,114,112,255,253,99,0,182,95,255,227,93,0,50,88,255,216,113, +0,102,108,255,79,107,0,205,83,255,110,106,0,160,129,255,248,114,0,198,139,255,33,147,0,51,161,255,175,134,0,4,187,255,239,142,0,186,206,255,70,145,0,40,246,255,206,135,0,3,246,255,151,140,0,200,21,0,61,116,0,220,38,0,179,115,0,77,37,0,55,115,0,243,77, +0,20,147,0,126,98,0,113,134,0,14,98,0,145,80,0,70,95,0,163,71,0,4,114,0,176,85,0,115,106,0,25,73,0,82,95,0,231,62,0,220,95,0,74,63,0,3,108,0,12,71,0,97,111,0,56,68,0,196,99,0,48,53,0,2,104,0,224,63,0,232,95,0,12,61,0,220,93,0,61,53,0,243,130,0,231,13, +0,37,78,0,220,23,0,130,65,0,39,22,0,237,76,0,226,22,0,97,48,0,82,17,0,61,13,0,218,7,0,203,244,255,178,40,0,251,230,255,113,18,0,55,205,255,8,31,0,37,210,255,0,63,0,29,195,255,231,62,0,255,203,255,93,60,0,173,196,255,186,65,0,241,187,255,238,77,0,31,217, +255,213,75,0,35,192,255,119,78,0,247,184,255,218,70,0,215,177,255,74,67,0,40,183,255,219,72,0,72,192,255,42,50,0,196,174,255,132,74,0,117,195,255,205,60,0,12,204,255,116,50,0,50,210,255,211,51,0,237,208,255,170,23,0,225,220,255,156,3,0,187,208,255,100, +10,0,44,219,255,19,11,0,217,201,255,78,231,255,204,191,255,240,227,255,124,208,255,240,231,255,167,199,255,70,214,255,141,191,255,103,235,255,56,207,255,157,212,255,210,186,255,38,215,255,166,191,255,90,235,255,241,189,255,141,241,255,99,206,255,103, +235,255,184,239,255,142,245,255,160,249,255,72,234,255,71,237,255,119,9,0,72,245,255,150,10,0,200,13,0,0,14,0,232,32,0,95,27,0,240,39,0,31,70,0,206,77,0,117,52,0,22,50,0,231,76,0,239,96,0,51,85,0,40,100,0,60,106,0,67,128,0,9,92,0,207,144,0,111,122,0, +178,167,0,64,140,0,209,172,0,121,155,0,35,180,0,73,169,0,171,172,0,160,173,0,136,188,0,24,187,0,205,197,0,84,161,0,134,178,0,66,170,0,10,180,0,94,194,0,49,188,0,173,181,0,202,165,0,222,167,0,15,173,0,126,150,0,27,167,0,125,138,0,186,135,0,178,103,0,218, +130,0,97,104,0,160,113,0,201,81,0,184,107,0,212,65,0,252,106,0,246,31,0,94,89,0,144,11,0,15,45,0,26,18,0,22,52,0,190,225,255,100,21,0,2,223,255,43,18,0,101,221,255,130,8,0,195,210,255,40,236,255,246,226,255,225,214,255,151,215,255,62,212,255,46,230,255, +86,196,255,196,224,255,110,194,255,11,248,255,224,210,255,129,245,255,159,235,255,234,232,255,146,239,255,154,249,255,25,17,0,55,255,255,132,32,0,194,11,0,46,42,0,188,12,0,229,61,0,204,46,0,232,91,0,11,53,0,239,90,0,51,77,0,203,108,0,127,89,0,160,123, +0,140,97,0,86,131,0,241,103,0,151,157,0,105,125,0,107,154,0,237,128,0,52,167,0,169,131,0,234,170,0,93,127,0,4,177,0,37,126,0,59,168,0,187,126,0,109,170,0,167,115,0,122,180,0,123,114,0,152,163,0,4,107,0,184,174,0,36,122,0,166,173,0,128,103,0,162,143,0, +47,108,0,125,145,0,113,75,0,55,132,0,66,50,0,148,129,0,116,48,0,61,125,0,52,30,0,52,98,0,46,35,0,57,87,0,137,4,0,35,60,0,217,255,255,23,60,0,49,0,0,157,28,0,157,17,0,81,20,0,170,21,0,218,8,0,75,16,0,30,10,0,33,27,0,72,249,255,233,29,0,254,0,0,183,33, +0,217,6,0,253,38,0,123,7,0,10,41,0,216,248,255,62,65,0,143,18,0,54,54,0,23,7,0,193,60,0,173,255,255,218,66,0,254,0,0,55,56,0,72,251,255,32,76,0,160,251,255,1,75,0,191,246,255,61,53,0,227,236,255,124,61,0,58,227,255,75,69,0,216,248,255,109,37,0,216,254, +255,247,37,0,138,25,0,118,5,0,24,9,0,160,244,255,65,45,0,9,228,255,101,25,0,30,198,255,57,36,0,67,182,255,221,42,0,59,169,255,182,22,0,200,146,255,151,25,0,91,121,255,111,5,0,177,107,255,247,245,255,40,113,255,196,233,255,46,100,255,106,217,255,100,87, +255,103,179,255,42,70,255,94,160,255,18,74,255,5,146,255,25,87,255,79,124,255,86,63,255,230,85,255,244,92,255,227,53,255,116,115,255,77,49,255,241,117,255,249,21,255,188,152,255,123,11,255,102,170,255,104,12,255,43,200,255,86,11,255,197,238,255,37,19, +255,5,249,255,38,33,255,97,236,255,83,46,255,173,252,255,126,43,255,180,251,255,247,68,255,29,249,255,55,81,255,248,246,255,62,84,255,4,245,255,12,92,255,15,229,255,61,76,255,213,215,255,81,87,255,98,189,255,88,100,255,184,175,255,111,76,255,208,161, +255,118,81,255,168,137,255,75,90,255,151,91,255,125,88,255,181,84,255,27,114,255,129,58,255,109,117,255,102,34,255,185,129,255,27,235,254,219,93,255,16,245,254,165,112,255,158,230,254,177,112,255,198,197,254,219,99,255,239,168,254,249,84,255,34,177,254, +32,103,255,20,165,254,11,80,255,118,147,254,30,79,255,80,143,254,85,62,255,93,151,254,46,58,255,176,162,254,66,63,255,169,159,254,122,58,255,201,168,254,176,45,255,176,166,254,0,35,255,24,203,254,87,29,255,41,186,254,13,41,255,205,208,254,145,40,255, +127,237,254,91,0,255,60,2,255,131,28,255,174,8,255,11,11,255,25,24,255,12,19,255,140,36,255,50,25,255,173,59,255,156,28,255,62,71,255,37,29,255,169,82,255,44,32,255,205,72,255,45,46,255,38,83,255,38,37,255,237,77,255,34,50,255,76,89,255,85,68,255,113, +87,255,148,68,255,169,82,255,9,64,255,61,73,255,192,75,255,204,56,255,86,80,255,109,53,255,17,81,255,34,53,255,219,95,255,70,39,255,41,124,255,73,254,254,247,127,255,130,9,255,248,135,255,86,4,255,99,141,255,234,244,254,5,142,255,64,221,254,192,132,255, +119,218,254,136,135,255,231,220,254,241,124,255,74,209,254,145,105,255,157,218,254,112,82,255,45,226,254,253,61,255,83,228,254,97,62,255,136,6,255,232,46,255,111,0,255,87,23,255,204,249,254,148,17,255,25,22,255,100,29,255,39,34,255,188,33,255,221,47, +255,77,47,255,137,75,255,130,73,255,197,57,255,145,42,255,150,77,255,122,58,255,132,82,255,227,49,255,19,84,255,65,47,255,119,82,255,215,59,255,57,86,255,121,54,255,146,102,255,246,52,255,7,96,255,27,49,255,225,79,255,186,72,255,42,66,255,205,81,255, +160,57,255,199,82,255,189,36,255,180,83,255,205,15,255,57,93,255,129,251,254,159,121,255,227,243,254,115,110,255,176,225,254,203,126,255,233,226,254,148,131,255,252,239,254,94,154,255,175,219,254,181,154,255,252,235,254,232,168,255,169,226,254,141,181, +255,92,3,255,255,205,255,163,26,255,32,221,255,33,39,255,80,201,255,197,53,255,38,216,255,142,60,255,100,214,255,125,77,255,149,206,255,102,103,255,25,216,255,190,103,255,174,208,255,154,119,255,237,210,255,106,141,255,174,208,255,19,147,255,229,193, +255,239,158,255,235,192,255,51,156,255,24,208,255,44,153,255,217,203,255,176,150,255,116,185,255,70,151,255,219,223,255,118,141,255,254,195,255,206,143,255,148,190,255,213,142,255,125,210,255,55,133,255,174,202,255,68,141,255,239,230,255,215,107,255, +5,209,255,241,117,255,114,228,255,51,95,255,34,241,255,46,106,255,240,242,255,90,107,255,41,254,255,176,89,255,147,241,255,22,112,255,122,251,255,227,109,255,3,246,255,224,136,255,173,253,255,125,144,255,71,233,255,15,168,255,25,220,255,122,181,255,14, +232,255,232,210,255,81,217,255,96,230,255,163,212,255,15,227,255,149,206,255,56,3,0,169,219,255,124,0,0,62,208,255,214,20,0,112,214,255,251,20,0,246,239,255,147,234,255,132,215,255,183,226,255,241,187,255,22,236,255,127,234,255,103,231,255,50,210,255, +197,181,255,99,198,255,116,180,255,218,209,255,80,133,255,215,183,255,254,129,255,134,178,255,164,97,255,139,171,255,74,65,255,18,152,255,2,44,255,35,135,255,192,7,255,110,125,255,214,237,254,100,84,255,239,227,254,230,83,255,17,200,254,190,55,255,73, +193,254,165,59,255,183,173,254,145,40,255,195,169,254,84,1,255,64,164,254,161,13,255,38,150,254,174,19,255,56,149,254,239,238,254,245,165,254,147,9,255,238,152,254,42,8,255,246,177,254,242,14,255,140,182,254,139,45,255,204,190,254,127,47,255,182,224, +254,10,66,255,96,240,254,31,89,255,66,251,254,5,79,255,205,11,255,234,125,255,183,41,255,24,139,255,19,84,255,136,139,255,206,76,255,197,182,255,21,106,255,42,193,255,214,95,255,119,223,255,110,124,255,177,232,255,30,133,255,105,2,0,100,136,255,213,25, +0,176,148,255,86,72,0,226,156,255,5,63,0,248,187,255,118,75,0,209,167,255,197,107,0,35,177,255,202,104,0,178,178,255,164,100,0,219,202,255,16,116,0,170,212,255,251,92,0,82,208,255,14,94,0,203,227,255,243,77,0,208,220,255,43,73,0,31,204,255,0,74,0,175, +203,255,52,41,0,12,203,255,7,30,0,163,209,255,49,5,0,191,178,255,61,5,0,120,161,255,220,227,255,102,156,255,181,211,255,165,166,255,255,205,255,216,117,255,97,186,255,73,124,255,179,197,255,69,90,255,251,171,255,255,74,255,7,160,255,213,89,255,14,167, +255,241,64,255,170,162,255,45,39,255,145,166,255,10,51,255,141,181,255,252,36,255,12,149,255,233,41,255,157,156,255,176,34,255,176,169,255,138,26,255,118,146,255,196,39,255,51,169,255,185,55,255,167,197,255,79,60,255,186,200,255,152,36,255,212,212,255, +179,58,255,115,236,255,177,46,255,147,251,255,90,46,255,242,6,0,201,34,255,185,251,255,58,31,255,115,240,255,158,35,255,102,236,255,236,8,255,151,226,255,64,38,255,225,214,255,20,35,255,68,205,255,162,14,255,45,172,255,202,44,255,39,167,255,76,36,255, +235,131,255,32,25,255,143,144,255,189,36,255,177,114,255,15,44,255,140,120,255,226,38,255,231,87,255,62,16,255,222,64,255,252,44,255,94,91,255,126,32,255,98,72,255,157,33,255,250,90,255,41,48,255,189,114,255,140,50,255,46,107,255,144,27,255,247,131,255, +55,68,255,56,150,255,255,72,255,103,183,255,93,74,255,184,178,255,15,109,255,237,216,255,93,137,255,209,245,255,53,168,255,133,34,0,69,206,255,168,71,0,95,220,255,226,94,0,206,7,0,151,153,0,153,34,0,62,198,0,255,60,0,198,245,0,106,70,0,189,23,1,233,86, +0,178,37,1,242,111,0,89,84,1,50,132,0,148,111,1,145,149,0,250,135,1,146,159,0,196,148,1,122,161,0,41,173,1,48,173,0,179,165,1,175,197,0,63,208,1,94,198,0,194,191,1,95,208,0,63,208,1,30,241,0,114,212,1,74,240,0,70,207,1,143,253,0,29,234,1,157,7,1,96,221, +1,156,249,0,176,202,1,25,254,0,19,201,1,218,253,0,37,192,1,138,254,0,117,179,1,29,235,0,132,140,1,111,234,0,141,106,1,97,220,0,140,98,1,75,195,0,210,42,1,54,170,0,133,28,1,153,164,0,217,248,0,132,145,0,148,247,0,68,125,0,126,210,0,89,89,0,0,204,0,43, +58,0,154,179,0,135,43,0,209,168,0,196,31,0,151,151,0,43,1,0,242,132,0,234,238,255,110,113,0,83,220,255,221,103,0,168,198,255,150,76,0,133,216,255,200,80,0,255,196,255,20,89,0,34,171,255,188,88,0,15,172,255,173,64,0,146,169,255,42,69,0,52,164,255,77,100, +0,8,163,255,8,95,0,38,156,255,198,64,0,210,177,255,178,114,0,123,185,255,40,104,0,30,198,255,226,94,0,219,212,255,34,113,0,194,212,255,77,102,0,2,221,255,40,110,0,203,241,255,60,121,0,240,231,255,254,120,0,142,249,255,142,128,0,162,10,0,187,137,0,54, +243,255,60,119,0,73,250,255,68,136,0,84,228,255,65,102,0,29,249,255,158,97,0,108,222,255,107,85,0,209,232,255,70,93,0,90,231,255,67,63,0,4,241,255,89,41,0,76,221,255,57,32,0,223,185,255,251,25,0,5,196,255,70,32,0,241,176,255,115,242,255,15,166,255,35, +251,255,126,154,255,63,220,255,81,137,255,219,215,255,25,150,255,68,201,255,238,152,255,104,187,255,150,142,255,253,183,255,55,135,255,236,198,255,149,134,255,10,198,255,101,158,255,157,215,255,46,163,255,69,217,255,129,180,255,215,236,255,154,176,255, +128,238,255,236,195,255,205,6,0,207,212,255,108,36,0,184,228,255,196,44,0,3,233,255,174,68,0,190,235,255,71,107,0,6,1,0,86,127,0,137,4,0,137,141,0,150,6,0,38,153,0,154,46,0,178,181,0,111,57,0,184,178,0,157,82,0,199,196,0,177,89,0,37,196,0,123,112,0,243, +199,0,75,132,0,76,212,0,60,104,0,240,224,0,116,109,0,225,212,0,191,107,0,75,204,0,67,115,0,32,215,0,247,104,0,182,217,0,253,101,0,143,203,0,121,92,0,58,217,0,9,92,0,32,213,0,149,67,0,13,208,0,25,73,0,145,221,0,248,51,0,163,208,0,42,54,0,134,231,0,227, +30,0,126,210,0,203,34,0,125,206,0,195,23,0,13,208,0,56,3,0,213,208,0,238,8,0,207,211,0,116,237,255,181,209,0,205,1,0,149,196,0,62,4,0,50,200,0,34,236,255,42,189,0,96,230,255,254,185,0,61,252,255,85,176,0,229,249,255,43,191,0,186,2,0,227,165,0,132,21, +0,159,172,0,135,47,0,17,193,0,15,40,0,180,197,0,193,70,0,142,185,0,186,55,0,114,153,0,242,56,0,179,185,0,147,47,0,34,168,0,205,58,0,215,169,0,181,76,0,140,175,0,51,75,0,81,144,0,83,86,0,7,150,0,106,66,0,166,124,0,26,81,0,110,121,0,68,68,0,115,112,0,208, +92,0,54,120,0,178,97,0,123,127,0,65,93,0,245,101,0,53,105,0,29,120,0,172,100,0,152,104,0,112,126,0,147,113,0,47,100,0,139,94,0,147,110,0,135,117,0,199,120,0,167,126,0,198,116,0,135,123,0,66,105,0,218,130,0,154,109,0,12,137,0,211,118,0,102,165,0,166,113, +0,204,185,0,105,121,0,187,196,0,210,112,0,228,236,0,171,98,0,48,249,0,228,97,0,42,252,0,83,86,0,144,10,1,202,91,0,7,18,1,208,90,0,176,27,1,183,86,0,82,14,1,168,64,0,8,28,1,222,100,0,197,50,1,117,62,0,134,36,1,213,77,0,70,24,1,20,88,0,26,21,1,169,74,0, +254,244,0,59,96,0,36,249,0,208,96,0,8,227,0,65,95,0,234,231,0,189,85,0,44,213,0,83,90,0,87,196,0,166,107,0,80,195,0,78,101,0,195,156,0,179,105,0,245,156,0,230,127,0,151,155,0,148,112,0,224,131,0,56,127,0,94,152,0,237,136,0,118,138,0,157,137,0,219,146, +0,237,128,0,115,165,0,189,150,0,117,185,0,249,120,0,68,195,0,30,115,0,27,216,0,41,111,0,221,227,0,222,106,0,128,232,0,47,108,0,118,2,1,42,109,0,239,29,1,84,100,0,168,10,1,136,114,0,182,24,1,80,121,0,88,76,1,62,130,0,183,89,1,187,128,0,140,92,1,17,119, +0,91,100,1,69,139,0,181,128,1,21,153,0,237,135,1,213,138,0,131,126,1,149,130,0,119,128,1,96,149,0,183,142,1,45,141,0,29,112,1,9,161,0,83,152,1,146,161,0,187,125,1,178,164,0,11,121,1,179,172,0,166,110,1,29,174,0,239,82,1,30,178,0,86,62,1,216,162,0,73, +50,1,116,170,0,221,34,1,91,170,0,163,15,1,170,145,0,173,247,0,139,150,0,59,231,0,172,169,0,10,180,0,138,144,0,65,165,0,95,147,0,26,153,0,110,112,0,87,143,0,107,139,0,230,124,0,193,123,0,197,121,0,212,122,0,127,104,0,78,101,0,186,127,0,144,72,0,33,97, +0,163,81,0,223,125,0,242,54,0,99,133,0,223,51,0,254,126,0,135,49,0,32,142,0,3,42,0,128,173,0,68,1,0,7,156,0,249,4,0,172,170,0,31,3,0,17,183,0,131,11,0,190,175,0,249,4,0,149,190,0,193,1,0,185,180,0,188,14,0,99,194,0,185,246,255,211,194,0,87,4,0,52,222, +0,145,23,0,195,217,0,255,255,255,189,222,0,166,40,0,91,238,0,128,40,0,241,240,0,140,42,0,104,240,0,15,36,0,58,219,0,213,71,0,144,211,0,252,85,0,24,192,0,99,63,0,87,194,0,158,86,0,120,156,0,178,97,0,48,125,0,132,88,0,209,109,0,234,94,0,24,74,0,175,79, +0,143,81,0,194,78,0,23,58,0,210,43,0,34,46,0,160,47,0,140,45,0,69,13,0,111,9,0,150,10,0,35,1,0,168,5,0,28,252,255,35,242,255,250,220,255,4,241,255,43,215,255,13,211,255,124,198,255,118,204,255,253,183,255,181,202,255,202,169,255,19,202,255,247,188,255, +4,180,255,176,169,255,234,167,255,46,174,255,77,166,255,71,180,255,208,159,255,227,175,255,181,137,255,185,188,255,193,131,255,131,217,255,231,143,255,58,231,255,140,105,255,251,226,255,77,107,255,198,255,255,185,120,255,87,15,0,168,137,255,144,30,0, +124,128,255,108,44,0,202,160,255,74,78,0,214,158,255,52,100,0,92,192,255,37,131,0,232,208,255,32,146,0,167,245,255,42,185,0,151,14,0,211,192,0,122,41,0,220,223,0,7,78,0,84,231,0,158,92,0,218,10,1,40,156,0,103,37,1,59,161,0,103,45,1,194,194,0,255,67,1, +15,217,0,161,56,1,253,227,0,248,58,1,234,226,0,23,52,1,50,0,1,100,72,1,224,248,0,86,54,1,12,250,0,128,39,1,85,236,0,240,41,1,254,237,0,208,28,1,202,217,0,224,253,0,240,217,0,241,242,0,174,183,0,157,213,0,247,167,0,61,190,0,208,159,0,134,168,0,248,108, +0,19,146,0,98,114,0,230,124,0,140,99,0,84,105,0,142,62,0,195,93,0,203,34,0,50,86,0,31,9,0,86,66,0,45,224,255,160,58,0,81,210,255,181,73,0,118,194,255,4,57,0,154,180,255,61,62,0,234,167,255,198,62,0,228,170,255,2,41,0,14,164,255,247,48,0,92,188,255,42, +67,0,106,202,255,86,62,0,64,217,255,26,90,0,78,237,255,193,81,0,255,251,255,57,93,0,212,6,0,220,101,0,171,31,0,230,128,0,163,18,0,235,123,0,223,49,0,156,136,0,141,48,0,179,122,0,164,30,0,178,114,0,52,28,0,141,114,0,188,12,0,2,98,0,168,3,0,120,93,0,10, +238,255,87,76,0,97,234,255,168,75,0,214,223,255,164,33,0,37,201,255,150,23,0,192,182,255,46,237,255,23,193,255,39,224,255,161,195,255,187,204,255,222,177,255,98,200,255,241,178,255,179,187,255,139,160,255,114,167,255,184,165,255,62,155,255,97,175,255, +44,156,255,201,158,255,6,148,255,177,162,255,75,153,255,213,150,255,30,146,255,153,178,255,131,154,255,44,153,255,75,153,255,189,164,255,70,166,255,102,160,255,39,169,255,192,186,255,136,200,255,249,197,255,67,193,255,242,188,255,31,207,255,229,186,255, +207,219,255,73,179,255,45,231,255,42,196,255,78,246,255,216,180,255,122,251,255,243,196,255,255,10,0,155,192,255,186,3,0,53,172,255,38,29,0,102,156,255,44,24,0,113,142,255,236,3,0,230,129,255,181,10,0,135,118,255,136,9,0,113,93,255,148,1,0,12,81,255, +184,239,255,23,61,255,37,210,255,91,48,255,86,196,255,95,35,255,105,199,255,70,39,255,128,185,255,83,35,255,41,189,255,159,47,255,9,180,255,202,44,255,178,179,255,24,65,255,235,196,255,235,57,255,69,154,255,162,81,255,207,160,255,243,76,255,46,170,255, +251,97,255,226,171,255,53,109,255,199,147,255,222,118,255,173,131,255,17,127,255,239,110,255,0,140,255,19,101,255,85,120,255,186,72,255,148,130,255,96,48,255,199,134,255,34,54,255,21,110,255,27,45,255,42,133,255,244,36,255,30,129,255,0,35,255,190,103, +255,154,14,255,239,97,255,88,33,255,189,97,255,107,38,255,200,85,255,20,36,255,250,89,255,15,53,255,12,79,255,140,53,255,13,87,255,147,66,255,236,75,255,35,62,255,26,91,255,35,62,255,187,75,255,68,83,255,82,86,255,225,92,255,249,75,255,254,130,255,171, +100,255,105,138,255,142,119,255,91,126,255,171,104,255,169,150,255,155,125,255,164,169,255,218,141,255,247,184,255,77,166,255,183,170,255,137,203,255,53,185,255,92,188,255,140,173,255,1,213,255,248,198,255,32,214,255,185,184,255,152,219,255,134,176,255, +174,191,255,102,173,255,154,186,255,62,151,255,115,170,255,43,146,255,253,170,255,12,145,255,242,129,255,221,119,255,164,101,255,75,98,255,157,90,255,191,71,255,44,86,255,156,85,255,17,60,255,91,69,255,214,44,255,128,57,255,94,23,255,215,59,255,100,18, +255,19,28,255,43,19,255,51,43,255,18,13,255,172,62,255,19,21,255,239,45,255,86,4,255,147,64,255,93,11,255,56,85,255,24,10,255,209,115,255,137,14,255,23,141,255,126,28,255,106,150,255,201,28,255,44,156,255,22,51,255,52,173,255,96,47,255,84,180,255,199, +73,255,109,182,255,139,97,255,79,191,255,29,117,255,108,172,255,62,140,255,243,207,255,62,138,255,106,207,255,52,166,255,186,206,255,109,171,255,186,192,255,116,184,255,178,175,255,169,202,255,26,169,255,30,196,255,27,175,255,26,215,255,19,156,255,101, +213,255,24,143,255,180,198,255,225,155,255,248,181,255,147,129,255,247,177,255,48,131,255,251,154,255,59,123,255,67,129,255,203,118,255,192,119,255,177,112,255,219,92,255,181,91,255,229,60,255,216,65,255,117,60,255,140,57,255,171,43,255,237,31,255,196, +39,255,26,33,255,17,7,255,86,13,255,192,9,255,147,1,255,210,4,255,48,9,255,166,249,254,207,239,254,208,240,254,127,248,254,116,241,254,202,246,254,59,246,254,123,7,255,214,237,254,59,251,254,35,252,254,137,25,255,186,252,254,243,26,255,196,238,254,251, +43,255,160,252,254,95,46,255,111,10,255,178,63,255,38,30,255,159,58,255,200,26,255,102,49,255,137,14,255,47,3,255,63,22,255,124,23,255,62,16,255,79,2,255,76,30,255,54,8,255,157,23,255,85,3,255,13,24,255,219,229,254,181,19,255,193,221,254,11,4,255,167, +209,254,168,11,255,109,190,254,229,7,255,65,185,254,3,239,254,127,183,254,228,245,254,208,180,254,202,235,254,138,169,254,34,240,254,83,178,254,208,232,254,163,169,254,194,212,254,101,177,254,90,239,254,208,180,254,232,222,254,185,200,254,213,221,254, +204,201,254,116,241,254,119,231,254,116,245,254,80,215,254,135,254,254,233,243,254,96,37,255,236,23,255,106,21,255,32,38,255,227,44,255,35,62,255,180,72,255,125,88,255,213,87,255,144,93,255,142,127,255,49,139,255,244,147,255,19,158,255,230,188,255,199, +204,255,149,197,255,92,197,255,246,232,255,189,234,255,195,220,255,111,255,255,189,217,255,144,20,0,124,0,0,114,41,0,219,9,0,148,56,0,162,0,0,209,42,0,207,21,0,230,71,0,87,6,0,16,53,0,43,3,0,174,68,0,37,10,0,94,93,0,5,253,255,169,87,0,122,238,255,179, +63,0,7,17,0,111,70,0,168,7,0,214,90,0,99,2,0,18,69,0,37,2,0,50,82,0,143,7,0,11,70,0,11,252,255,154,59,0,19,7,0,148,56,0,237,4,0,24,72,0,120,21,0,147,48,0,21,27,0,152,47,0,120,31,0,183,38,0,84,37,0,251,35,0,178,38,0,25,21,0,248,45,0,67,10,0,198,55,0,98, +3,0,3,42,0,29,0,0,31,68,0,187,13,0,124,61,0,87,17,0,36,53,0,180,2,0,197,43,0,34,249,255,114,26,0,202,226,255,238,8,0,21,237,255,73,246,255,58,231,255,140,231,255,224,202,255,70,218,255,43,201,255,68,204,255,196,176,255,129,182,255,81,150,255,180,194, +255,179,128,255,151,152,255,86,76,255,177,164,255,21,52,255,37,144,255,119,38,255,88,148,255,142,14,255,20,157,255,228,0,255,225,144,255,202,240,254,226,158,255,117,14,255,132,155,255,165,252,254,67,133,255,203,0,255,191,121,255,191,12,255,166,113,255, +97,255,254,47,112,255,163,37,255,69,90,255,162,21,255,232,98,255,250,29,255,21,100,255,137,27,255,152,93,255,18,26,255,164,93,255,17,18,255,8,94,255,117,16,255,104,127,255,219,36,255,254,125,255,13,33,255,37,134,255,145,42,255,92,129,255,3,57,255,61, +130,255,46,48,255,55,125,255,124,76,255,36,128,255,19,87,255,30,133,255,68,85,255,46,100,255,45,99,255,132,82,255,149,84,255,79,60,255,44,97,255,34,47,255,57,101,255,135,57,255,75,92,255,64,36,255,11,80,255,115,46,255,155,81,255,220,31,255,22,60,255, +214,40,255,120,44,255,128,48,255,183,44,255,115,50,255,81,32,255,11,67,255,100,35,255,130,70,255,25,29,255,18,82,255,218,22,255,106,78,255,197,9,255,145,92,255,212,21,255,134,112,255,218,24,255,187,130,255,156,30,255,7,151,255,245,42,255,108,161,255, +52,45,255,114,164,255,158,50,255,164,160,255,40,57,255,91,178,255,145,99,255,166,176,255,61,74,255,181,200,255,46,111,255,199,193,255,253,124,255,219,208,255,201,163,255,250,207,255,44,154,255,209,224,255,34,182,255,75,213,255,199,198,255,160,246,255, +107,221,255,42,249,255,33,235,255,11,252,255,202,226,255,149,4,0,8,227,255,252,28,0,84,249,255,138,22,0,235,251,255,126,28,0,51,232,255,84,37,0,255,8,0,128,38,0,109,249,255,19,66,0,99,5,0,84,45,0,191,246,255,17,46,0,240,244,255,125,69,0,23,7,0,107,80, +0,244,16,0,231,72,0,79,250,255,213,77,0,130,8,0,178,101,0,25,23,0,35,106,0,51,35,0,120,86,0,152,41,0,56,123,0,211,66,0,73,112,0,97,48,0,130,123,0,21,44,0,73,114,0,110,60,0,218,129,0,154,61,0,26,138,0,124,68,0,132,145,0,137,78,0,26,142,0,54,57,0,28,160, +0,123,56,0,9,161,0,91,61,0,154,174,0,165,49,0,11,179,0,132,30,0,180,184,0,176,31,0,179,182,0,245,38,0,168,192,0,176,31,0,33,206,0,1,25,0,240,221,0,44,22,0,164,215,0,121,40,0,39,213,0,197,50,0,105,237,0,80,69,0,57,7,1,199,68,0,199,252,0,112,74,0,174,244, +0,55,73,0,71,23,1,144,89,0,53,30,1,57,93,0,73,43,1,157,95,0,182,74,1,178,118,0,82,74,1,230,128,0,82,74,1,209,115,0,122,94,1,67,122,0,148,104,1,199,127,0,187,116,1,122,117,0,144,131,1,12,141,0,159,143,1,32,142,0,27,144,1,231,136,0,159,151,1,147,113,0, +120,139,1,24,131,0,189,136,1,18,128,0,112,118,1,131,144,0,217,103,1,64,157,0,20,76,1,42,130,0,140,85,1,193,134,0,7,70,1,224,133,0,126,67,1,87,137,0,251,73,1,142,126,0,94,58,1,7,148,0,188,61,1,56,142,0,63,65,1,150,147,0,15,87,1,245,158,0,26,73,1,4,181, +0,199,53,1,79,179,0,129,40,1,104,185,0,42,48,1,92,189,0,123,43,1,124,190,0,168,50,1,32,209,0,32,64,1,120,219,0,17,44,1,77,216,0,62,53,1,114,218,0,131,56,1,35,241,0,199,49,1,36,249,0,209,33,1,255,4,1,227,28,1,178,238,0,246,31,1,21,229,0,204,42,1,180,250, +0,2,18,1,126,218,0,108,19,1,84,225,0,92,38,1,122,237,0,184,25,1,188,214,0,23,39,1,162,200,0,102,26,1,204,179,0,166,30,1,191,173,0,217,48,1,90,169,0,61,51,1,38,147,0,229,44,1,30,132,0,12,57,1,92,128,0,243,52,1,137,84,0,184,31,1,145,95,0,240,26,1,86,66, +0,98,35,1,26,35,0,244,11,1,1,33,0,88,8,1,231,18,0,132,5,1,23,3,0,207,9,1,85,1,0,157,11,1,146,233,255,131,3,1,35,247,255,11,238,0,244,217,255,136,240,0,140,238,255,129,231,0,233,229,255,147,226,0,178,248,255,175,195,0,170,225,255,1,205,0,232,227,255,242, +174,0,238,218,255,234,163,0,163,220,255,22,165,0,207,219,255,88,140,0,235,194,255,169,135,0,253,181,255,47,104,0,71,180,255,216,107,0,208,176,255,58,90,0,225,157,255,64,83,0,213,155,255,17,56,0,87,145,255,53,36,0,197,127,255,73,53,0,198,133,255,121,33, +0,182,99,255,3,36,0,82,103,255,176,18,0,162,88,255,160,53,0,126,106,255,192,48,0,182,101,255,218,66,0,133,107,255,167,62,0,53,120,255,242,54,0,75,92,255,8,80,0,195,109,255,152,93,0,47,125,255,60,106,0,48,127,255,168,129,0,248,139,255,81,127,0,230,144, +255,51,148,0,57,166,255,171,151,0,76,159,255,36,177,0,238,161,255,112,187,0,108,164,255,142,184,0,113,157,255,112,191,0,145,168,255,238,203,0,218,154,255,81,190,0,122,182,255,165,219,0,39,175,255,168,192,0,48,190,255,244,204,0,155,199,255,221,214,0,229, +199,255,132,198,0,35,192,255,181,196,0,114,228,255,180,180,0,129,197,255,160,169,0,237,206,255,235,175,0,85,188,255,34,157,0,222,184,255,69,129,0,50,147,255,243,133,0,167,140,255,74,124,0,192,132,255,216,107,0,163,96,255,74,122,0,7,97,255,5,115,0,29, +71,255,98,110,0,233,54,255,16,107,0,24,80,255,109,94,0,154,69,255,189,89,0,148,74,255,239,89,0,199,82,255,194,78,0,99,80,255,57,72,0,195,107,255,164,93,0,179,130,255,208,92,0,116,132,255,136,118,0,118,148,255,188,134,0,64,175,255,187,136,0,190,183,255, +233,145,0,55,203,255,116,164,0,209,239,255,28,164,0,11,5,0,110,173,0,211,7,0,47,163,0,136,13,0,111,179,0,56,24,0,104,170,0,176,25,0,173,181,0,138,27,0,142,180,0,194,16,0,242,178,0,4,0,0,203,166,0,122,249,255,43,180,0,185,253,255,171,155,0,131,211,255, +196,157,0,243,207,255,223,116,0,9,186,255,91,111,0,245,174,255,22,102,0,149,145,255,114,87,0,166,126,255,213,81,0,191,128,255,232,78,0,14,108,255,51,85,0,113,94,255,15,89,0,7,93,255,12,63,0,123,72,255,140,91,0,254,69,255,210,112,0,17,73,255,172,100,0, +247,62,255,196,98,0,20,103,255,90,97,0,238,96,255,222,102,0,53,126,255,139,93,0,36,143,255,152,91,0,112,145,255,222,110,0,177,171,255,5,115,0,55,201,255,205,123,0,255,211,255,207,141,0,134,243,255,145,149,0,36,9,0,3,168,0,101,33,0,198,181,0,107,32,0, +4,170,0,35,54,0,35,173,0,18,75,0,107,200,0,151,94,0,6,190,0,66,120,0,250,197,0,192,128,0,231,188,0,232,148,0,119,202,0,51,145,0,229,235,0,25,147,0,42,237,0,108,156,0,215,28,1,146,162,0,41,34,1,21,170,0,243,62,1,190,167,0,147,96,1,5,185,0,103,93,1,172, +176,0,0,128,1,178,171,0,52,148,1,211,194,0,68,176,1,111,190,0,63,187,1,146,227,0,31,182,1,40,228,0,138,197,1,62,7,1,15,207,1,72,237,0,38,191,1,92,252,0,100,185,1,29,240,0,24,179,1,229,244,0,180,166,1,176,220,0,152,144,1,218,199,0,39,138,1,174,200,0,91, +95,1,215,169,0,45,80,1,102,163,0,55,50,1,34,162,0,232,9,1,32,152,0,205,243,0,63,143,0,208,208,0,77,104,0,155,190,0,77,96,0,212,132,0,156,81,0,150,138,0,12,78,0,236,114,0,118,75,0,52,91,0,16,57,0,39,85,0,83,44,0,144,72,0,172,48,0,149,65,0,239,41,0,112, +69,0,122,52,0,156,66,0,186,66,0,199,61,0,203,45,0,137,73,0,53,53,0,34,98,0,83,38,0,147,104,0,240,39,0,141,113,0,2,39,0,3,158,0,41,53,0,178,164,0,28,49,0,166,172,0,78,55,0,32,200,0,145,38,0,82,198,0,32,32,0,213,203,0,38,33,0,177,211,0,219,24,0,185,232, +0,192,6,0,2,219,0,230,6,0,239,209,0,142,6,0,145,208,0,74,5,0,193,192,0,11,3,0,149,189,0,66,244,255,136,179,0,77,230,255,14,148,0,76,228,255,239,146,0,138,220,255,226,144,0,125,210,255,96,98,0,68,211,255,8,80,0,179,197,255,193,70,0,148,192,255,42,54,0, +254,189,255,115,34,0,109,176,255,128,40,0,91,181,255,140,38,0,21,180,255,121,29,0,71,170,255,136,250,255,18,148,255,215,36,0,38,157,255,203,44,0,134,123,255,222,37,0,137,141,255,111,55,0,79,124,255,178,34,0,58,111,255,22,39,0,64,112,255,27,30,0,162,88, +255,254,42,0,238,102,255,184,31,0,42,77,255,172,41,0,66,63,255,102,26,0,192,77,255,18,255,255,64,45,255,67,251,255,62,29,255,248,242,255,99,19,255,127,229,255,54,6,255,177,229,255,143,18,255,188,205,255,41,6,255,88,209,255,121,251,254,136,185,255,208, +247,254,166,184,255,234,3,255,160,181,255,235,5,255,122,175,255,203,254,254,21,169,255,166,6,255,254,180,255,147,9,255,198,179,255,205,18,255,25,203,255,74,21,255,42,196,255,142,14,255,150,199,255,100,31,255,215,227,255,32,44,255,64,221,255,129,75,255, +173,246,255,156,87,255,50,10,0,159,113,255,194,15,0,67,134,255,83,29,0,62,141,255,233,33,0,221,172,255,164,20,0,136,196,255,104,46,0,93,205,255,72,43,0,182,221,255,165,42,0,73,3,0,89,30,0,160,249,255,245,21,0,16,244,255,20,15,0,214,234,255,124,4,0,0, +220,255,142,245,255,242,201,255,14,221,255,147,186,255,112,197,255,1,169,255,44,202,255,105,142,255,190,172,255,177,114,255,164,154,255,101,98,255,119,149,255,142,73,255,179,127,255,3,63,255,28,119,255,63,31,255,135,118,255,170,44,255,10,114,255,30,24, +255,158,104,255,235,5,255,133,100,255,116,6,255,197,116,255,92,18,255,35,114,255,42,14,255,15,109,255,253,254,254,199,132,255,87,25,255,185,120,255,249,19,255,247,120,255,36,7,255,254,123,255,92,10,255,40,105,255,36,17,255,41,111,255,140,252,254,59,108, +255,255,22,255,177,107,255,167,14,255,169,84,255,217,16,255,3,119,255,174,21,255,27,107,255,42,10,255,21,106,255,255,22,255,47,114,255,99,17,255,16,117,255,162,29,255,4,127,255,137,25,255,148,116,255,250,31,255,200,140,255,245,46,255,167,119,255,176, +35,255,92,125,255,133,48,255,197,110,255,22,60,255,217,127,255,231,97,255,106,137,255,130,79,255,127,160,255,78,122,255,3,168,255,179,128,255,146,165,255,5,136,255,79,186,255,218,154,255,106,196,255,231,156,255,103,231,255,65,177,255,253,233,255,209, +182,255,234,238,255,84,180,255,1,20,0,44,217,255,69,15,0,155,203,255,163,18,0,193,205,255,216,44,0,7,223,255,87,63,0,203,238,255,19,70,0,202,236,255,183,86,0,47,241,255,47,98,0,242,6,0,104,109,0,198,253,255,28,105,0,53,252,255,74,122,0,178,246,255,171, +98,0,224,7,0,26,81,0,184,239,255,55,58,0,34,245,255,157,78,0,173,3,0,43,62,0,87,15,0,65,38,0,6,16,0,245,27,0,231,14,0,225,12,0,49,13,0,25,8,0,76,29,0,198,242,255,185,251,255,184,230,255,210,249,255,253,235,255,110,251,255,14,215,255,76,232,255,171,228, +255,223,249,255,51,215,255,134,239,255,14,219,255,2,236,255,14,217,255,76,222,255,63,209,255,14,224,255,219,212,255,51,226,255,127,227,255,196,239,255,25,205,255,32,225,255,24,195,255,149,204,255,83,222,255,204,189,255,246,222,255,97,184,255,244,210, +255,152,173,255,177,219,255,58,170,255,101,213,255,125,157,255,140,231,255,228,124,255,120,214,255,86,139,255,43,198,255,183,109,255,86,191,255,176,108,255,153,168,255,0,90,255,114,156,255,175,94,255,31,143,255,132,103,255,194,149,255,40,114,255,253, +117,255,225,92,255,148,126,255,108,105,255,42,133,255,244,97,255,93,137,255,145,109,255,60,124,255,34,121,255,226,150,255,5,136,255,145,161,255,50,147,255,39,154,255,81,152,255,240,166,255,247,186,255,36,189,255,109,180,255,56,202,255,0,210,255,128,231, +255,138,222,255,216,237,255,169,217,255,100,10,0,115,242,255,189,30,0,174,11,0,185,49,0,155,10,0,125,73,0,51,39,0,176,87,0,132,32,0,196,96,0,172,50,0,46,94,0,178,55,0,100,132,0,85,60,0,175,138,0,250,82,0,74,122,0,147,58,0,186,124,0,162,78,0,150,132,0, +217,69,0,28,105,0,30,67,0,184,94,0,22,52,0,63,73,0,65,49,0,84,37,0,82,28,0,13,12,0,181,10,0,62,10,0,141,254,255,85,236,255,62,212,255,93,194,255,31,215,255,191,176,255,239,177,255,83,157,255,237,151,255,132,145,255,195,166,255,161,132,255,128,118,255, +121,106,255,67,67,255,102,101,255,165,59,255,65,105,255,16,65,255,121,102,255,75,31,255,113,93,255,74,21,255,121,100,255,36,11,255,214,95,255,122,1,255,253,115,255,73,9,255,234,108,255,35,9,255,174,132,255,37,19,255,99,128,255,216,8,255,92,129,255,168, +26,255,12,140,255,170,44,255,107,145,255,221,60,255,62,140,255,155,75,255,52,164,255,6,89,255,40,176,255,135,125,255,197,171,255,8,111,255,193,200,255,119,156,255,0,205,255,195,162,255,172,175,255,41,189,255,218,198,255,73,196,255,231,202,255,75,216, +255,102,227,255,171,239,255,232,218,255,183,227,255,50,213,255,47,249,255,219,208,255,78,252,255,52,219,255,243,12,0,196,228,255,115,236,255,219,212,255,51,224,255,76,221,255,96,233,255,73,189,255,118,201,255,230,194,255,119,223,255,142,188,255,216,189, +255,5,188,255,185,190,255,233,157,255,220,168,255,28,178,255,33,178,255,74,134,255,49,141,255,20,155,255,167,132,255,157,149,255,52,112,255,142,129,255,219,99,255,166,117,255,193,87,255,166,111,255,104,67,255,154,127,255,154,67,255,234,118,255,247,68, +255,172,118,255,228,65,255,116,115,255,154,73,255,53,115,255,25,88,255,91,121,255,231,91,255,172,114,255,33,115,255,254,119,255,203,122,255,151,150,255,79,130,255,219,145,255,161,143,255,252,164,255,58,178,255,53,178,255,23,198,255,46,163,255,115,177, +255,156,200,255,23,196,255,176,211,255,249,210,255,119,210,255,159,180,255,195,220,255,17,201,255,107,214,255,167,197,255,6,204,255,108,168,255,163,205,255,163,163,255,125,205,255,53,189,255,235,183,255,224,151,255,196,163,255,222,125,255,165,166,255, +106,144,255,79,127,255,159,113,255,35,114,255,120,103,255,32,92,255,63,100,255,69,86,255,42,75,255,100,77,255,198,70,255,10,59,255,40,53,255,231,82,255,34,54,255,124,71,255,46,50,255,0,81,255,123,68,255,87,75,255,197,58,255,100,87,255,122,56,255,109, +102,255,162,90,255,108,96,255,89,108,255,236,128,255,11,139,255,187,130,255,44,150,255,181,137,255,55,199,255,57,151,255,95,225,255,17,186,255,55,8,0,44,202,255,71,40,0,134,228,255,125,82,0,249,2,0,109,115,0,252,28,0,225,143,0,35,47,0,85,184,0,192,58, +0,223,188,0,213,75,0,218,197,0,10,104,0,239,218,0,183,96,0,52,222,0,135,106,0,183,229,0,90,97,0,242,189,0,197,100,0,161,192,0,58,86,0,178,173,0,68,64,0,63,145,0,56,68,0,243,136,0,37,61,0,218,140,0,197,37,0,205,132,0,144,11,0,3,116,0,180,1,0,23,117,0, +85,244,255,145,101,0,45,218,255,75,86,0,150,209,255,233,103,0,131,206,255,232,85,0,254,188,255,138,88,0,54,190,255,14,88,0,161,191,255,8,91,0,108,167,255,160,64,0,118,198,255,100,80,0,211,195,255,156,83,0,5,194,255,133,40,0,83,216,255,199,72,0,119,206, +255,178,49,0,220,220,255,109,50,0,121,232,255,211,68,0,135,242,255,21,42,0,135,240,255,98,56,0,137,6,0,153,51,0,247,234,255,170,30,0,67,249,255,43,75,0,90,229,255,115,47,0,136,250,255,126,35,0,130,253,255,156,18,0,197,234,255,217,0,0,65,233,255,129,254, +255,72,238,255,110,1,0,237,201,255,127,240,255,167,182,255,26,222,255,232,210,255,190,238,255,216,170,255,136,206,255,152,166,255,15,236,255,21,169,255,235,251,255,227,160,255,41,248,255,15,170,255,105,10,0,46,173,255,243,18,0,129,180,255,129,57,0,135, +181,255,49,78,0,72,177,255,171,99,0,244,204,255,161,125,0,146,226,255,19,146,0,240,227,255,27,159,0,168,7,0,243,199,0,169,13,0,83,217,0,90,36,0,204,242,0,91,50,0,172,243,0,136,59,0,31,4,1,149,67,0,162,5,1,158,92,0,45,20,1,125,134,0,106,6,1,215,154,0, +144,16,1,22,171,0,25,7,1,155,190,0,205,2,1,212,195,0,160,243,0,134,220,0,177,226,0,111,234,0,220,213,0,129,231,0,111,194,0,163,207,0,118,199,0,251,207,0,6,197,0,246,218,0,140,165,0,95,200,0,79,179,0,43,184,0,1,159,0,3,168,0,112,139,0,76,134,0,255,138, +0,99,126,0,149,131,0,210,110,0,212,133,0,215,91,0,141,116,0,39,85,0,63,149,0,172,41,0,117,126,0,253,38,0,142,132,0,138,12,0,37,141,0,63,14,0,32,150,0,126,14,0,181,146,0,184,234,255,237,143,0,186,254,255,82,150,0,148,242,255,249,131,0,198,246,255,76,151, +0,164,223,255,124,137,0,35,242,255,201,147,0,198,246,255,8,160,0,110,242,255,212,139,0,36,252,255,106,146,0,97,238,255,89,157,0,169,9,0,2,167,0,244,5,0,103,173,0,191,243,255,134,172,0,73,242,255,177,163,0,82,17,0,98,190,0,86,252,255,22,174,0,181,7,0, +34,168,0,115,32,0,53,169,0,113,16,0,95,158,0,57,19,0,7,152,0,177,26,0,51,151,0,239,20,0,89,157,0,0,8,0,233,166,0,183,23,0,82,148,0,218,7,0,108,156,0,238,8,0,8,154,0,197,240,255,13,149,0,160,236,255,208,160,0,196,228,255,200,139,0,225,209,255,199,133, +0,44,206,255,70,101,0,224,197,255,57,95,0,93,198,255,231,77,0,192,188,255,49,72,0,48,185,255,221,46,0,41,180,255,252,33,0,77,166,255,99,11,0,215,168,255,173,7,0,131,147,255,90,238,255,243,137,255,76,218,255,64,154,255,101,228,255,179,117,255,4,193,255, +61,132,255,80,205,255,27,107,255,201,165,255,40,105,255,182,162,255,188,89,255,106,150,255,239,99,255,44,150,255,138,89,255,52,171,255,70,94,255,90,179,255,99,71,255,72,188,255,168,74,255,242,195,255,223,63,255,254,193,255,210,53,255,205,205,255,36,69, +255,240,242,255,148,63,255,92,2,0,17,66,255,41,252,255,134,39,255,243,12,0,243,74,255,247,58,0,226,95,255,52,43,0,159,106,255,206,77,0,48,122,255,127,96,0,45,161,255,223,119,0,247,177,255,105,128,0,21,167,255,126,157,0,193,190,255,49,188,0,161,189,255, +172,184,0,26,217,255,156,209,0,205,247,255,190,238,0,234,228,255,200,11,1,47,244,255,114,25,1,74,0,0,139,25,1,77,36,0,178,41,1,4,44,0,21,32,1,184,35,0,244,18,1,216,50,0,115,29,1,189,87,0,58,30,1,138,81,0,83,30,1,142,56,0,49,255,0,94,78,0,133,24,1,8,84, +0,169,16,1,135,43,0,219,18,1,35,45,0,183,36,1,233,25,0,129,53,1,29,247,255,42,53,1,10,244,255,12,74,1,165,229,255,113,82,1,12,199,255,157,77,1,150,203,255,164,84,1,125,207,255,115,102,1,136,185,255,98,115,1,48,187,255,174,117,1,185,179,255,233,148,1, +224,201,255,49,131,1,98,185,255,233,150,1,5,194,255,8,150,1,175,209,255,59,160,1,106,206,255,28,163,1,240,235,255,47,164,1,159,228,255,117,171,1,65,229,255,197,166,1,149,254,255,40,157,1,50,8,0,175,139,1,208,29,0,95,140,1,18,60,0,192,118,1,105,58,0,159, +91,1,97,108,0,227,92,1,204,105,0,50,66,1,80,115,0,105,51,1,174,126,0,85,46,1,76,140,0,201,23,1,102,150,0,32,22,1,251,144,0,37,7,1,221,159,0,163,15,1,34,155,0,19,6,1,108,149,0,241,238,0,44,133,0,237,5,1,175,132,0,238,11,1,156,135,0,235,249,0,248,114,0, +21,34,1,72,100,0,39,27,1,127,95,0,173,50,1,29,48,0,197,40,1,54,50,0,143,57,1,29,48,0,155,61,1,61,55,0,199,70,1,141,50,0,113,82,1,100,69,0,246,97,1,42,56,0,4,116,1,172,45,0,252,96,1,133,90,0,150,131,1,159,94,0,226,139,1,121,94,0,26,137,1,222,106,0,74, +180,1,191,107,0,31,193,1,226,142,0,80,185,1,109,157,0,225,196,1,85,163,0,84,225,1,250,195,0,140,220,1,224,187,0,102,214,1,76,205,0,251,208,1,220,210,0,170,205,1,245,212,0,55,183,1,77,219,0,99,184,1,195,212,0,172,160,1,24,187,0,109,162,1,5,184,0,131,130, +1,116,164,0,46,89,1,133,149,0,150,66,1,148,114,0,250,78,1,198,108,0,17,53,1,6,68,0,250,5,1,237,65,0,112,1,1,94,13,0,65,230,0,239,20,0,7,211,0,179,243,255,154,189,0,227,219,255,100,204,0,18,194,255,248,188,0,5,190,255,234,164,0,240,170,255,171,162,0,239, +158,255,25,143,0,177,162,255,31,138,0,243,143,255,129,120,0,50,146,255,5,128,0,28,113,255,52,98,0,230,137,255,96,103,0,179,113,255,245,95,0,179,127,255,253,108,0,149,138,255,228,108,0,182,149,255,191,114,0,7,155,255,147,113,0,78,168,255,55,130,0,115, +166,255,1,153,0,38,152,255,39,151,0,149,128,255,19,150,0,215,111,255,203,181,0,9,106,255,254,189,0,46,104,255,167,189,0,213,85,255,99,192,0,152,44,255,90,171,0,221,45,255,198,184,0,217,9,255,114,167,0,66,249,254,74,192,0,149,209,254,104,183,0,50,211, +254,222,180,0,110,195,254,102,161,0,249,201,254,233,162,0,147,181,254,181,142,0,173,193,254,220,150,0,36,199,254,92,122,0,49,205,254,76,98,0,34,242,254,147,117,0,209,248,254,228,118,0,36,4,255,145,95,0,172,49,255,152,104,0,59,45,255,39,92,0,112,81,255, +201,88,0,69,80,255,187,76,0,214,97,255,171,103,0,28,115,255,171,107,0,49,138,255,146,107,0,51,154,255,16,108,0,219,147,255,248,125,0,76,158,255,137,133,0,50,150,255,145,154,0,232,149,255,22,178,0,32,159,255,49,188,0,182,145,255,218,193,0,74,136,255,31, +201,0,142,129,255,251,210,0,102,103,255,188,218,0,251,97,255,146,225,0,5,72,255,65,222,0,114,36,255,188,204,0,64,28,255,24,196,0,55,9,255,81,207,0,153,245,254,174,190,0,7,216,254,92,189,0,198,197,254,52,163,0,125,213,254,158,156,0,54,184,254,217,124, +0,51,166,254,165,112,0,51,166,254,8,95,0,21,171,254,113,86,0,26,162,254,191,57,0,87,148,254,98,60,0,193,147,254,233,38,0,14,162,254,132,28,0,5,137,254,207,22,0,243,141,254,185,251,255,11,140,254,185,253,255,252,166,254,229,252,255,106,155,254,147,241, +255,46,171,254,1,228,255,9,179,254,129,252,255,140,180,254,221,235,255,6,210,254,41,252,255,247,191,254,127,240,255,67,190,254,24,5,0,11,201,254,149,5,0,33,224,254,38,23,0,153,241,254,183,34,0,54,251,254,123,60,0,87,18,255,52,47,0,76,32,255,24,68,0,151, +28,255,111,70,0,14,36,255,195,95,0,171,43,255,123,127,0,23,63,255,174,137,0,179,58,255,52,163,0,241,64,255,185,182,0,224,73,255,119,205,0,193,72,255,181,203,0,174,75,255,201,214,0,57,88,255,109,229,0,76,89,255,35,241,0,180,131,255,150,15,1,36,128,255, +62,7,1,182,145,255,63,19,1,251,156,255,90,33,1,240,160,255,122,42,1,90,164,255,143,65,1,160,179,255,155,65,1,186,185,255,83,87,1,229,184,255,225,76,1,73,193,255,42,112,1,199,187,255,55,114,1,124,201,255,79,116,1,6,204,255,122,107,1,76,221,255,220,93, +1,19,210,255,234,103,1,1,209,255,224,70,1,132,212,255,192,51,1,149,193,255,191,53,1,25,205,255,89,21,1,67,190,255,221,235,0,120,157,255,246,221,0,76,152,255,196,166,0,244,147,255,18,138,0,80,129,255,48,117,0,185,118,255,164,94,0,88,93,255,61,62,0,54, +58,255,90,43,0,28,46,255,99,11,0,163,26,255,47,255,255,191,253,254,45,229,255,128,241,254,63,218,255,21,234,254,224,208,255,38,219,254,172,188,255,80,202,254,92,193,255,0,213,254,97,178,255,79,194,254,91,181,255,148,203,254,73,196,255,223,195,254,153, +189,255,199,211,254,124,204,255,237,211,254,137,204,255,177,235,254,57,223,255,58,238,254,17,2,0,227,243,254,8,38,0,184,244,254,246,46,0,37,12,255,131,77,0,143,11,255,245,101,0,189,36,255,91,118,0,103,48,255,225,145,0,165,42,255,159,168,0,73,61,255,231, +201,0,249,77,255,236,194,0,225,79,255,200,204,0,105,125,255,110,237,0,29,127,255,129,244,0,110,116,255,11,245,0,30,129,255,123,249,0,54,117,255,135,245,0,78,111,255,139,220,0,72,116,255,88,208,0,113,85,255,97,178,0,108,94,255,31,138,0,231,76,255,158, +103,0,154,58,255,87,80,0,9,49,255,73,60,0,36,6,255,3,246,255,192,9,255,238,220,255,133,234,254,247,194,255,171,236,254,39,161,255,243,208,254,247,125,255,155,198,254,125,88,255,91,182,254,17,75,255,76,162,254,86,70,255,219,157,254,107,40,255,143,149, +254,213,43,255,79,131,254,71,52,255,103,125,254,157,46,255,121,114,254,240,57,255,91,125,254,221,54,255,40,115,254,74,76,255,227,113,254,193,91,255,185,132,254,16,122,255,170,102,254,223,129,255,9,120,254,214,169,255,23,130,254,133,172,255,123,130,254, +243,207,255,192,143,254,189,224,255,144,153,254,191,248,255,49,203,254,83,34,0,156,220,254,82,36,0,9,242,254,104,61,0,195,230,254,173,66,0,179,1,255,89,94,0,254,253,254,89,94,0,237,16,255,47,109,0,220,37,255,165,106,0,74,12,255,224,72,0,199,18,255,206, +83,0,32,25,255,181,81,0,47,246,254,148,60,0,24,10,255,54,61,0,10,2,255,177,37,0,93,9,255,15,43,0,85,244,254,178,248,255,215,241,254,20,229,255,35,250,254,200,220,255,47,252,254,147,184,255,161,209,254,109,180,255,44,220,254,143,152,255,72,244,254,4,138, +255,163,215,254,115,114,255,231,210,254,132,93,255,180,198,254,150,90,255,121,177,254,154,69,255,78,180,254,247,66,255,194,163,254,52,55,255,107,161,254,127,47,255,73,134,254,251,41,255,142,137,254,52,51,255,231,149,254,9,50,255,17,135,254,177,57,255, +12,146,254,32,101,255,92,139,254,243,85,255,41,125,254,232,95,255,18,149,254,122,119,255,13,156,254,178,120,255,138,166,254,175,151,255,3,182,254,250,163,255,34,183,254,206,154,255,217,196,254,153,175,255,67,190,254,3,185,255,13,217,254,175,212,255,251, +231,254,141,189,255,60,250,254,125,212,255,135,252,254,1,226,255,7,226,254,63,218,255,110,252,254,14,238,255,165,245,254,183,233,255,231,23,255,53,252,255,81,17,255,121,243,255,96,39,255,196,243,255,26,36,255,27,238,255,248,69,255,167,252,255,138,85, +255,116,244,255,47,116,255,66,254,255,54,127,255,148,249,255,192,119,255,191,248,255,50,140,255,206,20,0,51,152,255,120,34,0,253,172,255,26,29,0,133,167,255,41,59,0,242,188,255,52,47,0,111,189,255,230,71,0,148,189,255,11,60,0,133,163,255,172,52,0,227, +166,255,249,70,0,121,159,255,156,77,0,122,171,255,94,89,0,54,180,255,57,85,0,45,157,255,142,67,0,81,141,255,57,91,0,39,160,255,171,99,0,55,129,255,108,101,0,159,110,255,195,97,0,96,102,255,244,89,0,48,130,255,46,105,0,254,129,255,158,103,0,174,130,255, +196,99,0,130,135,255,103,112,0,37,134,255,83,107,0,107,145,255,3,112,0,85,124,255,83,99,0,176,148,255,82,91,0,164,150,255,221,103,0,243,137,255,212,78,0,112,138,255,30,73,0,213,146,255,154,57,0,175,142,255,209,42,0,226,150,255,144,16,0,253,170,255,200, +17,0,237,136,255,177,240,255,12,134,255,232,225,255,249,130,255,229,193,255,215,109,255,91,181,255,196,102,255,202,175,255,152,99,255,120,164,255,237,79,255,148,137,255,199,71,255,27,114,255,36,69,255,29,124,255,147,51,255,79,128,255,152,44,255,16,122, +255,146,37,255,217,136,255,208,39,255,41,132,255,26,28,255,198,133,255,113,20,255,248,139,255,217,9,255,231,154,255,155,11,255,220,164,255,118,11,255,245,164,255,36,0,255,101,161,255,179,7,255,119,154,255,149,6,255,0,153,255,168,11,255,14,171,255,66, +249,254,125,147,255,147,250,254,119,156,255,36,10,255,60,125,255,186,6,255,185,131,255,142,3,255,219,95,255,192,255,254,50,88,255,249,12,255,112,86,255,24,6,255,140,57,255,49,10,255,40,57,255,17,5,255,199,23,255,98,4,255,201,35,255,1,30,255,181,34,255, +95,25,255,154,10,255,80,7,255,158,251,254,42,3,255,178,2,255,48,250,254,5,10,255,255,7,255,178,254,254,7,216,254,67,4,255,213,223,254,74,13,255,157,222,254,80,14,255,119,216,254,22,7,255,24,205,254,42,8,255,25,211,254,218,26,255,207,224,254,225,33,255, +132,220,254,89,49,255,147,246,254,140,59,255,58,238,254,91,69,255,248,0,255,156,87,255,130,13,255,175,96,255,187,16,255,31,95,255,108,37,255,158,111,255,214,34,255,187,90,255,192,62,255,51,106,255,123,63,255,121,111,255,117,66,255,7,103,255,31,84,255, +164,102,255,69,86,255,7,97,255,224,71,255,219,97,255,197,114,255,17,77,255,189,99,255,209,62,255,152,103,255,163,33,255,46,106,255,70,42,255,15,113,255,67,10,255,251,97,255,18,16,255,251,101,255,91,252,254,76,93,255,33,239,254,14,95,255,128,2,255,224, +81,255,152,250,254,105,68,255,202,250,254,140,46,255,46,243,254,57,33,255,127,250,254,205,15,255,16,252,254,192,7,255,3,252,254,16,255,254,245,245,254,97,248,254,78,252,254,207,226,254,185,7,255,165,245,254,16,6,255,227,239,254,5,18,255,209,242,254,125, +31,255,17,3,255,225,37,255,7,27,255,159,62,255,26,32,255,186,78,255,235,59,255,82,93,255,167,62,255,57,97,255,21,104,255,129,124,255,190,109,255,128,122,255,17,133,255,192,136,255,94,145,255,167,140,255,241,182,255,208,168,255,0,207,255,188,153,255,158, +216,255,19,150,255,121,222,255,143,152,255,113,14,0,75,151,255,119,9,0,104,130,255,214,24,0,229,134,255,198,49,0,185,127,255,204,50,0,242,140,255,52,34,0,105,140,255,128,44,0,52,114,255,202,28,0,172,129,255,119,13,0,155,136,255,87,14,0,106,144,255,56, +3,0,72,123,255,197,238,255,216,124,255,133,220,255,133,101,255,15,229,255,33,109,255,5,188,255,152,112,255,212,193,255,68,85,255,19,202,255,158,109,255,255,192,255,119,91,255,236,187,255,120,101,255,35,177,255,145,99,255,187,201,255,188,92,255,229,184, +255,14,106,255,207,208,255,226,104,255,8,220,255,153,122,255,58,230,255,134,113,255,190,231,255,34,121,255,123,248,255,60,131,255,99,2,0,231,150,255,120,27,0,167,132,255,33,21,0,63,157,255,185,47,0,39,165,255,110,43,0,203,181,255,209,35,0,147,178,255, +185,47,0,118,205,255,59,41,0,106,207,255,132,25,0,81,215,255,82,25,0,138,222,255,233,29,0,89,228,255,100,14,0,195,225,255,130,255,255,250,222,255,111,250,255,223,255,255,196,232,255,83,233,255,228,227,255,2,234,255,138,215,255,113,222,255,226,211,255, +201,224,255,87,203,255,138,220,255,50,209,255,100,216,255,149,201,255,33,174,255,236,193,255,188,159,255,152,219,255,232,158,255,32,212,255,223,137,255,35,242,255,161,135,255,39,217,255,79,130,255,122,234,255,96,115,255,162,4,0,233,113,255,12,4,0,143, +79,255,209,35,0,193,85,255,128,44,0,8,109,255,4,46,0,106,87,255,236,51,0,207,95,255,41,40,0,25,98,255,234,31,0,164,106,255,172,45,0,21,115,255,247,43,0,177,112,255,154,46,0,79,130,255,221,31,0,78,116,255,142,56,0,198,139,255,135,47,0,79,138,255,64,24, +0,143,142,255,234,31,0,223,137,255,195,27,0,100,147,255,96,29,0,249,141,255,145,23,0,74,141,255,81,7,0,106,152,255,106,3,0,35,135,255,81,3,0,104,132,255,111,250,255,211,135,255,91,237,255,221,109,255,66,243,255,215,116,255,29,245,255,1,100,255,121,232, +255,69,95,255,179,245,255,68,89,255,104,239,255,53,59,255,72,238,255,91,61,255,127,227,255,13,37,255,46,228,255,20,40,255,43,5,0,169,36,255,162,0,0,129,6,255,62,8,0,41,4,255,145,21,0,210,7,255,115,34,0,244,229,254,69,74,0,147,255,254,111,59,0,183,245, +254,176,85,0,109,253,254,12,67,0,204,8,255,156,72,0,137,23,255,200,73,0,20,42,255,118,64,0,136,80,255,132,88,0,56,91,255,95,86,0,108,107,255,209,98,0,10,125,255,95,90,0,87,141,255,152,95,0,70,162,255,8,88,0,72,182,255,13,77,0,128,189,255,114,93,0,53, +185,255,83,86,0,219,217,255,231,76,0,111,206,255,233,88,0,196,235,255,134,102,0,46,233,255,164,87,0,165,238,255,193,70,0,7,229,255,219,74,0,78,238,255,18,68,0,20,225,255,160,49,0,181,211,255,128,42,0,118,201,255,51,22,0,245,174,255,121,29,0,235,186,255, +94,19,0,2,173,255,90,32,0,56,154,255,50,6,0,250,157,255,139,24,0,198,135,255,8,27,0,234,119,255,53,36,0,139,106,255,240,36,0,32,103,255,53,36,0,144,87,255,210,43,0,128,57,255,140,34,0,67,67,255,255,54,0,34,56,255,130,64,0,122,62,255,199,61,0,113,37,255, +120,84,0,170,48,255,194,82,0,207,36,255,101,81,0,243,26,255,27,97,0,164,41,255,196,92,0,133,50,255,182,84,0,65,51,255,50,71,0,71,50,255,145,80,0,128,53,255,81,66,0,151,41,255,105,58,0,163,43,255,91,48,0,156,28,255,78,40,0,14,43,255,214,20,0,167,20,255, +121,29,0,47,255,254,189,20,0,78,246,254,44,13,0,176,242,254,117,245,255,81,221,254,105,1,0,117,213,254,213,18,0,238,230,254,74,4,0,130,213,254,2,28,0,30,217,254,189,20,0,99,218,254,82,21,0,50,218,254,242,249,255,212,214,254,200,10,0,49,212,254,233,27, +0,106,223,254,28,38,0,47,253,254,140,42,0,59,1,255,243,64,0,92,8,255,37,65,0,217,10,255,102,91,0,214,47,255,46,90,0,182,46,255,86,118,0,166,65,255,54,103,0,202,57,255,119,135,0,43,89,255,219,135,0,75,88,255,244,137,0,75,94,255,142,182,0,63,96,255,22, +163,0,77,112,255,237,191,0,247,121,255,213,207,0,97,129,255,44,192,0,147,123,255,174,193,0,174,139,255,107,204,0,93,144,255,49,187,0,2,181,255,231,194,0,130,199,255,88,195,0,73,190,255,8,216,0,196,239,255,250,195,0,221,233,255,198,181,0,233,235,255,223, +181,0,90,238,255,154,172,0,240,238,255,166,166,0,95,227,255,9,157,0,33,233,255,170,153,0,152,232,255,227,158,0,41,254,255,33,151,0,65,240,255,101,148,0,166,244,255,143,129,0,58,231,255,21,149,0,28,242,255,5,121,0,133,233,255,243,129,0,0,216,255,204,115, +0,17,199,255,89,150,0,56,207,255,175,134,0,173,194,255,251,146,0,142,195,255,197,163,0,195,166,255,194,141,0,65,183,255,83,147,0,153,181,255,215,164,0,209,182,255,160,171,0,159,172,255,143,192,0,238,165,255,101,203,0,178,183,255,153,225,0,84,180,255, +180,243,0,247,186,255,236,242,0,24,202,255,53,28,1,68,207,255,89,16,1,243,207,255,11,45,1,207,223,255,18,56,1,178,242,255,2,89,1,29,250,255,121,84,1,165,238,255,240,93,1,238,25,0,72,94,1,243,14,0,192,101,1,39,39,0,145,135,1,60,64,0,220,129,1,92,63,0, +162,116,1,186,72,0,192,107,1,200,84,0,183,135,1,132,85,0,133,135,1,139,98,0,118,117,1,55,73,0,41,103,1,186,72,0,49,114,1,230,75,0,36,110,1,185,50,0,47,96,1,33,34,0,239,79,1,240,45,0,10,98,1,166,57,0,94,64,1,146,44,0,0,63,1,252,41,0,17,44,1,214,27,0,128, +34,1,180,8,0,128,34,1,55,6,0,63,4,1,202,232,255,252,18,1,39,230,255,5,237,0,1,226,255,123,232,0,51,228,255,160,234,0,113,218,255,148,234,0,195,231,255,216,225,0,12,214,255,204,231,0,26,228,255,4,229,0,188,216,255,85,228,0,163,218,255,31,243,0,153,238, +255,119,5,1,178,238,255,163,6,1,115,236,255,51,14,1,131,24,0,139,10,1,156,18,0,76,14,1,139,31,0,71,23,1,84,50,0,214,22,1,254,63,0,178,26,1,224,70,0,85,35,1,138,86,0,70,13,1,62,80,0,209,33,1,214,94,0,21,23,1,57,95,0,152,16,1,26,88,0,129,36,1,244,89,0, +43,54,1,10,58,0,168,54,1,172,54,0,129,42,1,117,65,0,148,45,1,117,67,0,148,43,1,130,65,0,48,35,1,234,48,0,149,53,1,126,33,0,241,38,1,175,19,0,80,50,1,7,28,0,24,47,1,80,10,0,100,59,1,175,17,0,179,42,1,119,22,0,136,45,1,137,15,0,23,43,1,224,5,0,148,43,1, +115,246,255,137,55,1,15,240,255,167,38,1,198,3,0,242,54,1,12,17,0,16,30,1,210,251,255,42,48,1,163,19,0,248,41,1,225,19,0,204,40,1,109,42,0,47,33,1,229,53,0,109,25,1,192,65,0,49,47,1,187,78,0,247,29,1,237,76,0,228,26,1,152,106,0,42,38,1,159,111,0,123, +41,1,141,124,0,78,24,1,98,129,0,40,32,1,85,119,0,71,21,1,210,123,0,221,27,1,243,130,0,231,255,0,78,118,0,157,9,1,203,114,0,211,244,0,225,82,0,145,9,1,55,71,0,5,243,0,178,51,0,100,248,0,202,43,0,59,220,0,139,37,0,179,239,0,5,12,0,86,234,0,186,5,0,13,195, +0,4,254,255,220,208,0,8,231,255,243,192,0,219,213,255,229,178,0,218,209,255,224,185,0,84,180,255,192,184,0,79,193,255,160,169,0,218,154,255,62,193,0,44,158,255,223,177,0,24,145,255,255,186,0,225,157,255,163,197,0,63,163,255,226,207,0,85,194,255,200,197, +0,227,179,255,143,190,0,64,169,255,101,205,0,17,201,255,58,216,0,220,225,255,182,202,0,232,225,255,238,203,0,51,218,255,2,219,0,16,254,255,84,218,0,6,14,0,30,243,0,245,30,0,143,245,0,165,39,0,155,243,0,78,49,0,32,9,1,224,68,0,172,33,1,86,72,0,166,40, +1,175,86,0,76,77,1,195,93,0,151,71,1,189,94,0,21,82,1,101,98,0,213,120,1,31,81,0,194,131,1,175,80,0,105,113,1,31,79,0,188,128,1,62,74,0,227,144,1,136,70,0,238,132,1,172,52,0,69,125,1,34,46,0,148,104,1,200,27,0,205,109,1,137,15,0,245,82,1,236,5,0,252, +87,1,11,3,0,180,48,1,70,231,255,1,67,1,21,243,255,223,41,1,85,251,255,229,40,1,252,232,255,204,44,1,63,226,255,57,9,1,26,226,255,78,34,1,247,249,255,39,14,1,134,243,255,77,12,1,233,229,255,212,248,0,0,21,0,251,16,1,238,23,0,46,19,1,115,45,0,227,28,1, +97,58,0,41,40,1,92,73,0,28,34,1,182,95,0,172,37,1,247,111,0,163,65,1,186,131,0,239,85,1,81,144,0,110,96,1,134,170,0,211,110,1,55,185,0,231,117,1,11,182,0,47,155,1,239,222,0,171,151,1,166,240,0,36,167,1,160,245,0,224,169,1,97,235,0,105,176,1,135,245,0, +75,181,1,204,244,0,136,177,1,45,221,0,245,192,1,14,224,0,18,180,1,116,234,0,131,182,1,84,235,0,118,182,1,26,214,0,213,183,1,49,198,0,162,179,1,106,201,0,125,185,1,224,194,0,210,165,1,161,190,0,16,158,1,48,186,0,198,157,1,143,197,0,40,154,1,223,184,0, +193,119,1,166,173,0,176,134,1,170,160,0,151,126,1,110,180,0,161,104,1,70,158,0,180,103,1,35,178,0,191,99,1,240,165,0,183,76,1,85,184,0,209,92,1,233,166,0,244,66,1,209,172,0,100,61,1,247,178,0,125,55,1,4,179,0,124,53,1,21,170,0,172,33,1,77,167,0,72,33, +1,99,196,0,92,46,1,132,158,0,217,44,1,140,171,0,202,22,1,47,178,0,135,43,1,42,183,0,153,30,1,253,171,0,59,21,1,54,181,0,35,33,1,52,167,0,83,15,1,226,151,0,207,11,1,221,164,0,251,6,1,254,179,0,207,17,1,113,145,0,102,12,1,119,150,0,194,3,1,106,144,0,243, +249,0,92,130,0,55,245,0,75,145,0,123,238,0,118,140,0,123,232,0,205,134,0,189,213,0,153,114,0,247,232,0,203,108,0,165,219,0,146,105,0,52,209,0,226,90,0,108,212,0,174,68,0,162,189,0,83,44,0,69,196,0,107,22,0,89,203,0,202,33,0,165,217,0,255,12,0,18,188, +0,160,249,255,212,195,0,64,232,255,145,206,0,220,225,255,205,190,0,148,196,255,244,200,0,35,192,255,10,169,0,53,183,255,123,175,0,147,186,255,171,151,0,47,188,255,108,153,0,207,162,255,202,148,0,17,136,255,51,138,0,19,154,255,17,119,0,141,128,255,217, +115,0,19,154,255,59,96,0,48,137,255,150,79,0,218,146,255,59,96,0,0,157,255,232,78,0,163,155,255,44,74,0,33,164,255,120,80,0,91,191,255,76,79,0,236,204,255,18,64,0,53,189,255,6,70,0,104,197,255,245,90,0,107,229,255,16,105,0,139,230,255,86,114,0,75,210, +255,44,133,0,246,239,255,250,136,0,214,234,255,95,141,0,178,244,255,86,181,0,59,241,255,98,179,0,180,2,0,201,205,0,156,18,0,154,231,0,37,15,0,190,227,0,243,8,0,193,249,0,150,19,0,211,244,0,124,15,0,11,240,0,149,15,0,48,236,0,30,6,0,129,235,0,109,239, +255,239,213,0,202,236,255,134,218,0,13,226,255,57,200,0,194,223,255,142,178,0,200,212,255,215,158,0,242,199,255,38,142,0,229,195,255,61,122,0,46,170,255,81,133,0,125,157,255,121,94,0,87,141,255,146,94,0,197,131,255,189,87,0,69,150,255,92,52,0,209,119, +255,192,52,0,204,134,255,241,46,0,55,136,255,195,23,0,207,103,255,138,18,0,91,122,255,255,1,0,208,111,255,149,0,0,13,100,255,50,16,0,116,118,255,149,2,0,202,116,255,225,8,0,95,99,255,251,24,0,206,97,255,145,27,0,7,103,255,64,26,0,126,100,255,251,20,0, +36,70,255,60,47,0,219,99,255,198,51,0,143,79,255,115,38,0,95,99,255,28,40,0,136,70,255,254,42,0,190,55,255,210,49,0,139,49,255,248,45,0,207,42,255,147,41,0,205,22,255,47,45,0,172,9,255,226,18,0,178,254,254,175,16,0,145,237,254,163,22,0,38,226,254,32, +15,0,125,224,254,54,245,255,107,231,254,205,251,255,167,203,254,105,253,255,168,217,254,29,241,255,112,218,254,53,235,255,4,205,254,40,229,255,105,209,254,128,231,255,155,219,254,247,236,255,192,213,254,127,225,255,114,238,254,202,219,255,55,10,255,83, +230,255,149,21,255,17,245,255,252,53,255,173,242,255,234,56,255,209,234,255,81,91,255,162,0,0,159,115,255,225,8,0,104,132,255,84,39,0,79,187,255,12,8,0,180,201,255,3,40,0,138,216,255,133,33,0,197,245,255,199,57,0,12,11,0,73,49,0,244,24,0,44,66,0,251, +31,0,106,70,0,110,60,0,119,76,0,158,40,0,103,97,0,179,67,0,90,95,0,174,72,0,157,84,0,199,78,0,53,101,0,187,74,0,153,105,0,231,77,0,116,113,0,217,65,0,73,116,0,173,62,0,65,95,0,253,51,0,211,124,0,194,20,0,151,85,0,103,248,255,93,127,0,192,252,255,168, +129,0,108,237,255,230,121,0,208,231,255,249,122,0,207,215,255,136,118,0,179,187,255,12,120,0,147,186,255,152,93,0,52,175,255,239,85,0,160,184,255,34,96,0,112,210,255,25,71,0,166,189,255,106,66,0,43,209,255,176,77,0,250,218,255,112,63,0,183,237,255,82, +76,0,178,248,255,192,58,0,75,21,0,74,65,0,28,47,0,135,53,0,18,73,0,33,90,0,202,104,0,107,78,0,122,117,0,128,105,0,210,113,0,115,99,0,136,125,0,233,88,0,188,151,0,254,111,0,90,165,0,123,116,0,52,159,0,181,125,0,84,168,0,84,157,0,166,181,0,34,161,0,215, +171,0,41,168,0,227,163,0,192,184,0,102,169,0,163,199,0,58,158,0,170,212,0,231,146,0,134,220,0,104,130,0,200,4,1,160,121,0,254,231,0,170,97,0,237,2,1,1,96,0,107,7,1,202,102,0,167,239,0,141,53,0,135,230,0,146,40,0,72,228,0,151,31,0,40,221,0,220,28,0,132, +204,0,242,6,0,157,206,0,115,236,255,156,194,0,63,216,255,201,209,0,84,239,255,156,188,0,107,225,255,112,189,0,249,208,255,198,179,0,126,226,255,203,164,0,165,242,255,239,150,0,175,214,255,125,136,0,47,245,255,161,124,0,51,218,255,194,135,0,215,242,255, +210,116,0,74,212,255,123,116,0,198,249,255,3,101,0,215,238,255,37,63,0,101,222,255,169,78,0,88,226,255,148,49,0,63,218,255,36,53,0,33,231,255,93,60,0,106,211,255,95,25,0,91,189,255,251,14,0,35,192,255,219,19,0,14,171,255,76,28,0,113,163,255,30,1,0,23, +137,255,97,238,255,116,126,255,181,3,0,176,106,255,23,242,255,64,104,255,48,242,255,237,90,255,60,246,255,73,64,255,211,252,255,255,79,255,204,245,255,15,57,255,30,255,255,30,83,255,34,236,255,109,56,255,180,251,255,30,81,255,54,245,255,0,88,255,148, +248,255,199,84,255,237,4,0,207,99,255,23,242,255,213,98,255,170,23,0,41,124,255,192,255,255,46,111,255,137,4,0,215,126,255,162,4,0,153,120,255,217,255,255,48,135,255,12,4,0,130,136,255,4,241,255,10,131,255,95,224,255,47,125,255,58,220,255,112,149,255, +14,217,255,104,128,255,181,206,255,102,112,255,124,191,255,240,112,255,86,193,255,32,93,255,147,175,255,30,81,255,153,170,255,148,68,255,0,146,255,133,50,255,220,151,255,0,25,255,236,128,255,166,6,255,54,121,255,121,243,254,167,127,255,94,231,254,210, +116,255,226,234,254,127,99,255,168,221,254,182,86,255,118,217,254,164,95,255,191,205,254,199,75,255,254,207,254,161,65,255,105,209,254,122,49,255,36,214,254,63,87,255,243,219,254,236,71,255,69,227,254,143,78,255,146,253,254,50,83,255,103,0,255,214,97, +255,193,32,255,180,131,255,96,50,255,93,135,255,28,59,255,83,163,255,31,85,255,16,184,255,231,97,255,201,211,255,181,154,255,27,227,255,139,171,255,178,237,255,141,191,255,211,252,255,236,204,255,68,11,0,71,233,255,37,10,0,236,255,255,171,35,0,29,254, +255,179,52,0,229,252,255,96,33,0,9,243,255,221,33,0,155,10,0,66,40,0,62,21,0,202,32,0,49,13,0,32,19,0,53,246,255,32,17,0,110,1,0,76,22,0,39,234,255,120,21,0,3,246,255,15,30,0,2,234,255,183,27,0,89,230,255,204,46,0,1,228,255,245,17,0,163,226,255,134,41, +0,160,251,255,176,22,0,146,239,255,72,41,0,129,250,255,220,23,0,204,250,255,94,19,0,147,245,255,184,35,0,148,253,255,184,35,0,117,10,0,233,25,0,173,255,255,190,32,0,253,244,255,178,40,0,197,245,255,190,42,0,59,249,255,60,51,0,14,232,255,223,59,0,147, +245,255,6,66,0,135,253,255,162,63,0,2,236,255,49,63,0,148,1,0,62,65,0,233,235,255,130,58,0,138,218,255,186,61,0,164,234,255,171,31,0,24,204,255,196,39,0,156,207,255,88,22,0,111,196,255,65,34,0,252,173,255,151,20,0,196,176,255,62,8,0,146,176,255,142,251, +255,76,159,255,172,240,255,138,159,255,67,251,255,81,150,255,140,231,255,232,162,255,198,248,255,158,164,255,199,250,255,95,168,255,249,0,0,35,192,255,237,4,0,31,207,255,143,5,0,99,206,255,220,21,0,205,201,255,119,19,0,101,226,255,3,32,0,185,1,0,164, +26,0,184,245,255,222,43,0,118,12,0,97,47,0,219,24,0,248,45,0,201,35,0,4,44,0,1,27,0,116,48,0,108,38,0,104,46,0,227,41,0,209,37,0,39,37,0,166,50,0,34,52,0,141,40,0,115,45,0,28,32,0,72,48,0,46,33,0,3,49,0,238,16,0,232,26,0,90,38,0,209,42,0,208,33,0,176, +31,0,131,9,0,164,33,0,68,11,0,43,12,0,207,11,0,237,21,0,125,12,0,57,32,0,182,11,0,49,11,0,167,251,255,17,4,0,123,248,255,149,5,0,118,253,255,41,252,255,39,22,0,130,10,0,204,243,255,16,250,255,23,242,255,78,238,255,147,230,255,121,235,255,209,234,255, +27,234,255,223,242,255,164,230,255,37,4,0,114,230,255,129,249,255,201,224,255,124,2,0,70,231,255,46,37,0,140,232,255,83,23,0,1,224,255,28,38,0,197,247,255,65,32,0,145,225,255,65,36,0,78,252,255,95,31,0,239,228,255,60,45,0,235,1,0,172,47,0,23,7,0,109, +35,0,182,28,0,110,51,0,107,28,0,155,58,0,113,33,0,90,32,0,78,55,0,232,17,0,115,43,0,126,28,0,243,71,0,241,50,0,148,62,0,27,34,0,179,63,0,254,48,0,74,68,0,235,47,0,4,61,0,3,40,0,30,65,0,98,59,0,68,71,0,217,46,0,87,78,0,221,33,0,242,69,0,110,51,0,183,44, +0,133,27,0,36,64,0,214,30,0,216,55,0,200,10,0,79,57,0,212,6,0,179,61,0,150,10,0,153,49,0,237,6,0,246,42,0,155,253,255,141,57,0,248,246,255,96,40,0,47,244,255,233,38,0,212,4,0,28,53,0,242,249,255,28,47,0,251,14,0,78,53,0,70,17,0,128,51,0,194,11,0,221, +36,0,89,28,0,23,60,0,48,51,0,97,58,0,24,55,0,221,42,0,74,63,0,157,22,0,150,73,0,218,71,0,252,85,0,59,56,0,150,69,0,73,66,0,190,91,0,112,80,0,197,104,0,149,78,0,93,127,0,133,103,0,50,130,0,239,100,0,70,147,0,123,129,0,215,158,0,117,130,0,21,159,0,5,136, +0,121,155,0,201,153,0,26,142,0,89,155,0,90,154,0,166,181,0,21,155,0,141,177,0,234,167,0,30,189,0,38,142,0,146,168,0,127,152,0,80,193,0,25,134,0,110,178,0,229,119,0,197,178,0,95,90,0,200,149,0,254,109,0,248,129,0,27,91,0,55,130,0,17,56,0,59,113,0,241, +44,0,101,92,0,139,24,0,113,92,0,94,15,0,240,102,0,52,227,255,92,67,0,77,227,255,104,67,0,15,233,255,254,53,0,224,201,255,38,29,0,30,196,255,21,40,0,50,199,255,70,38,0,192,182,255,172,251,255,10,181,255,18,8,0,90,166,255,245,233,255,210,179,255,160,253, +255,27,164,255,222,251,255,161,191,255,39,232,255,77,170,255,146,233,255,23,189,255,171,237,255,205,188,255,139,224,255,205,194,255,59,241,255,26,213,255,220,221,255,158,224,255,182,225,255,28,235,255,58,235,255,22,240,255,111,202,255,174,4,0,7,225,255, +130,5,0,97,251,255,170,23,0,254,254,255,58,27,0,103,252,255,231,13,0,29,2,0,112,6,0,44,22,0,221,29,0,14,39,0,177,26,0,10,52,0,126,18,0,121,42,0,6,1,0,53,51,0,0,4,0,54,57,0,144,9,0,22,50,0,173,252,255,5,69,0,86,2,0,38,86,0,161,248,255,162,76,0,224,0,0, +100,82,0,86,254,255,168,77,0,16,239,255,105,75,0,147,244,255,112,74,0,79,245,255,202,102,0,116,241,255,62,84,0,248,244,255,39,96,0,172,234,255,165,106,0,189,217,255,154,122,0,51,217,255,97,111,0,152,229,255,91,124,0,105,198,255,77,96,0,200,205,255,145, +101,0,49,195,255,208,99,0,72,181,255,188,88,0,236,193,255,178,112,0,253,178,255,180,69,0,254,180,255,154,61,0,2,164,255,26,33,0,228,170,255,133,36,0,28,176,255,249,15,0,2,170,255,67,10,0,139,164,255,180,6,0,79,186,255,187,21,0,218,198,255,179,4,0,229, +186,255,86,5,0,24,191,255,179,4,0,18,196,255,212,17,0,37,197,255,249,7,0,217,192,255,5,12,0,29,190,255,44,20,0,130,194,255,125,17,0,176,215,255,170,34,0,247,230,255,152,41,0,33,220,255,39,41,0,9,236,255,58,44,0,187,6,0,181,83,0,116,247,255,133,97,0,67, +253,255,215,108,0,82,17,0,186,125,0,152,36,0,120,158,0,152,36,0,212,139,0,135,49,0,230,191,0,22,45,0,248,192,0,242,52,0,219,209,0,50,71,0,177,232,0,137,69,0,197,233,0,25,73,0,196,235,0,140,97,0,130,2,1,17,109,0,187,5,1,10,114,0,6,4,1,24,128,0,104,47, +1,75,130,0,15,29,1,107,137,0,208,36,1,250,136,0,77,33,1,3,164,0,78,39,1,58,149,0,103,39,1,177,162,0,140,35,1,221,151,0,80,59,1,162,189,0,167,59,1,225,201,0,86,62,1,167,174,0,227,39,1,200,191,0,180,63,1,174,193,0,98,56,1,220,212,0,174,66,1,238,203,0,167, +57,1,86,181,0,173,54,1,1,201,0,228,47,1,175,191,0,20,28,1,136,183,0,21,32,1,36,175,0,31,8,1,68,188,0,150,7,1,154,172,0,75,11,1,130,182,0,251,21,1,54,176,0,224,253,0,44,194,0,20,20,1,80,180,0,153,234,0,216,176,0,104,244,0,47,167,0,23,245,0,198,179,0,191, +246,0,22,167,0,41,240,0,101,146,0,157,207,0,162,136,0,189,226,0,10,114,0,112,198,0,121,102,0,30,189,0,233,86,0,255,197,0,49,63,0,215,169,0,111,57,0,237,202,0,216,46,0,181,199,0,244,5,0,123,186,0,74,254,255,243,193,0,202,223,255,27,161,0,251,213,255,165, +171,0,93,198,255,46,170,0,42,192,255,239,163,0,91,178,255,101,155,0,43,200,255,187,143,0,204,176,255,24,131,0,97,175,255,205,134,0,15,166,255,16,114,0,53,176,255,48,119,0,59,169,255,44,89,0,137,193,255,208,93,0,187,193,255,181,73,0,36,193,255,140,45, +0,150,209,255,252,43,0,94,206,255,136,13,0,221,226,255,243,10,0,7,216,255,68,8,0,159,228,255,28,246,255,164,219,255,165,238,255,234,232,255,131,16,0,224,250,255,217,2,0,254,245,255,80,6,0,17,251,255,180,12,0,117,245,255,24,13,0,80,253,255,143,14,0,128, +235,255,51,39,0,202,223,255,39,39,0,232,218,255,122,48,0,117,186,255,9,50,0,248,189,255,146,50,0,226,156,255,220,30,0,224,132,255,129,61,0,216,117,255,187,21,0,35,114,255,51,35,0,153,105,255,207,26,0,108,98,255,203,45,0,182,92,255,193,8,0,147,112,255, +0,23,0,197,116,255,249,7,0,241,113,255,52,234,255,83,104,255,114,228,255,67,129,255,182,215,255,56,137,255,0,216,255,225,140,255,48,198,255,193,137,255,77,171,255,248,132,255,246,176,255,77,156,255,47,182,255,217,131,255,146,170,255,222,118,255,46,170, +255,61,132,255,21,176,255,141,115,255,222,184,255,178,111,255,164,167,255,4,127,255,148,196,255,179,113,255,121,180,255,159,102,255,88,226,255,127,101,255,72,241,255,84,112,255,185,249,255,234,112,255,191,246,255,146,102,255,73,1,0,232,88,255,207,26, +0,138,85,255,233,40,0,1,95,255,139,35,0,119,86,255,26,29,0,152,93,255,35,58,0,243,76,255,8,38,0,131,84,255,177,41,0,191,58,255,177,37,0,232,88,255,22,50,0,14,91,255,164,35,0,173,59,255,188,27,0,105,76,255,169,22,0,238,91,255,14,33,0,132,86,255,112,21, +0,20,98,255,241,51,0,228,117,255,27,39,0,125,144,255,195,38,0,212,144,255,239,33,0,90,170,255,183,34,0,144,212,255,196,36,0,52,223,255,10,56,0,151,211,255,162,74,0,5,253,255,178,118,0,162,4,0,229,122,0,112,6,0,123,127,0,27,26,0,82,150,0,208,23,0,108, +164,0,3,40,0,189,216,0,149,57,0,128,232,0,253,40,0,42,246,0,204,46,0,244,14,1,41,42,0,113,13,1,210,45,0,71,30,1,214,30,0,253,39,1,109,35,0,28,39,1,42,56,0,16,43,1,247,41,0,152,29,1,234,41,0,247,50,1,33,27,0,26,25,1,128,42,0,32,16,1,115,38,0,56,14,1,180, +54,0,154,244,0,136,51,0,55,252,0,153,44,0,203,240,0,148,49,0,210,241,0,221,35,0,15,226,0,160,53,0,66,236,0,16,42,0,1,218,0,221,39,0,127,222,0,16,44,0,51,214,0,48,47,0,76,208,0,255,54,0,94,205,0,105,58,0,27,220,0,29,48,0,175,208,0,44,72,0,79,242,0,94, +74,0,210,243,0,102,91,0,254,242,0,217,111,0,50,11,1,181,70,0,245,22,1,16,105,0,121,32,1,129,113,0,74,62,1,254,111,0,88,76,1,112,128,0,208,91,1,156,135,0,238,78,1,187,130,0,61,119,1,144,131,0,18,128,1,27,154,0,81,130,1,245,145,0,107,134,1,146,161,0,193, +128,1,254,178,0,251,145,1,206,188,0,145,150,1,186,187,0,100,139,1,80,180,0,169,138,1,77,211,0,186,115,1,241,229,0,222,113,1,114,203,0,39,86,1,237,191,0,145,77,1,130,186,0,248,54,1,140,158,0,153,41,1,240,154,0,69,10,1,247,159,0,66,244,0,33,147,0,2,222, +0,206,133,0,73,182,0,135,116,0,152,165,0,54,109,0,208,162,0,240,97,0,68,136,0,125,73,0,197,113,0,72,47,0,195,87,0,158,33,0,117,69,0,251,24,0,0,74,0,49,0,0,38,25,0,83,226,255,110,1,0,195,214,255,243,211,255,49,195,255,168,207,255,44,153,255,33,168,255, +36,130,255,232,164,255,148,120,255,247,127,255,101,95,255,239,104,255,150,79,255,54,71,255,45,31,255,91,59,255,63,22,255,58,44,255,130,9,255,63,27,255,108,232,254,212,21,255,227,237,254,212,31,255,189,227,254,219,30,255,205,208,254,0,25,255,163,219,254, +238,39,255,199,207,254,238,43,255,182,228,254,255,81,255,141,245,254,7,93,255,115,243,254,75,90,255,194,23,255,17,130,255,74,10,255,18,148,255,26,30,255,70,172,255,141,52,255,249,208,255,140,50,255,200,210,255,227,99,255,223,249,255,14,91,255,97,251, +255,52,103,255,87,11,0,143,135,255,208,34,0,60,124,255,144,30,0,180,135,255,164,41,0,81,141,255,129,63,0,113,150,255,79,57,0,94,147,255,72,52,0,92,129,255,252,41,0,29,127,255,25,19,0,47,114,255,255,8,0,238,89,255,171,235,255,86,73,255,4,191,255,42,64, +255,34,182,255,134,43,255,82,162,255,231,13,255,111,133,255,98,0,255,40,110,255,162,213,254,161,82,255,235,193,254,109,50,255,160,191,254,28,57,255,211,146,254,207,32,255,236,146,254,232,36,255,31,147,254,187,25,255,91,129,254,254,10,255,229,131,254, +160,1,255,11,130,254,130,16,255,226,158,254,61,11,255,15,170,254,152,248,254,160,193,254,108,44,255,72,181,254,18,16,255,237,213,254,231,30,255,38,223,254,123,64,255,176,231,254,122,62,255,171,240,254,141,67,255,173,4,255,157,99,255,171,242,254,53,120, +255,190,241,254,215,122,255,222,244,254,228,128,255,14,235,254,227,120,255,130,5,255,74,141,255,62,201,254,248,133,255,127,233,254,48,137,255,58,224,254,236,135,255,162,211,254,129,134,255,67,198,254,134,123,255,133,173,254,234,125,255,184,179,254,140, +114,255,133,175,254,171,113,255,132,159,254,77,118,255,182,165,254,126,102,255,211,142,254,8,111,255,101,162,254,203,122,255,87,144,254,218,146,255,237,148,254,72,129,255,64,166,254,166,126,255,96,171,254,25,147,255,28,180,254,161,143,255,147,189,254, +212,147,255,156,212,254,62,145,255,145,232,254,234,182,255,3,239,254,204,187,255,223,252,254,198,200,255,44,17,255,55,205,255,53,50,255,38,216,255,241,56,255,106,213,255,43,68,255,176,228,255,219,88,255,95,225,255,42,129,255,91,252,255,121,110,255,191, +246,255,87,138,255,33,227,255,94,145,255,231,18,0,143,137,255,248,253,255,212,140,255,18,18,0,208,157,255,105,10,0,233,157,255,131,20,0,19,153,255,174,5,0,226,152,255,125,17,0,18,139,255,57,26,0,150,140,255,39,41,0,32,159,255,228,49,0,25,144,255,8,42, +0,165,168,255,240,49,0,95,155,255,111,66,0,133,167,255,173,64,0,154,176,255,124,78,0,166,184,255,20,95,0,189,160,255,180,71,0,90,172,255,3,110,0,135,177,255,60,121,0,184,171,255,72,113,0,129,190,255,186,129,0,154,182,255,223,129,0,97,177,255,97,113,0, +196,165,255,84,109,0,6,202,255,60,123,0,43,194,255,228,112,0,162,193,255,70,101,0,85,181,255,114,104,0,156,196,255,164,96,0,252,168,255,134,52,0,254,180,255,246,46,0,168,194,255,113,27,0,115,170,255,237,17,0,185,177,255,223,255,255,7,151,255,202,234, +255,122,171,255,152,230,255,27,164,255,79,197,255,82,151,255,72,182,255,69,153,255,151,161,255,11,132,255,231,150,255,105,135,255,10,135,255,180,135,255,90,116,255,77,97,255,132,93,255,32,90,255,255,75,255,157,88,255,67,71,255,54,58,255,201,41,255,167, +60,255,94,30,255,255,68,255,80,18,255,166,52,255,229,10,255,145,31,255,111,17,255,230,15,255,125,31,255,195,31,255,167,10,255,154,3,255,238,29,255,223,6,255,88,37,255,153,247,254,221,60,255,146,242,254,228,61,255,200,217,254,209,58,255,102,235,254,41, +69,255,85,250,254,88,90,255,6,212,254,101,102,255,177,235,254,163,100,255,157,218,254,40,114,255,196,238,254,91,124,255,200,215,254,58,115,255,103,241,254,136,143,255,246,236,254,193,150,255,169,226,254,238,163,255,12,211,254,69,156,255,7,226,254,224, +145,255,75,211,254,235,137,255,12,205,254,97,121,255,73,191,254,95,101,255,4,190,254,188,102,255,33,171,254,65,61,255,15,174,254,102,47,255,89,164,254,186,17,255,137,150,254,228,254,254,67,133,254,111,216,254,191,125,254,229,197,254,209,118,254,232,176, +254,200,97,254,60,143,254,57,98,254,115,134,254,67,80,254,164,116,254,43,80,254,41,79,254,48,75,254,242,77,254,36,77,254,103,67,254,89,52,254,61,27,254,242,76,254,4,26,254,122,65,254,92,22,254,183,49,254,104,18,254,96,61,254,48,29,254,65,50,254,68,30, +254,4,60,254,138,51,254,225,81,254,216,69,254,49,81,254,105,93,254,124,83,254,146,127,254,232,96,254,240,124,254,58,104,254,213,169,254,195,108,254,198,200,254,134,126,254,5,217,254,147,128,254,183,237,254,11,144,254,230,12,255,3,184,254,27,55,255,60, +191,254,124,80,255,167,198,254,180,81,255,147,189,254,158,109,255,205,204,254,59,113,255,233,232,254,17,136,255,196,236,254,92,136,255,189,233,254,84,113,255,215,245,254,47,123,255,10,250,254,139,108,255,3,249,254,255,83,255,190,239,254,89,45,255,103, +249,254,31,32,255,215,241,254,116,4,255,17,7,255,9,249,254,145,230,254,61,206,254,169,212,254,29,205,254,225,209,254,116,201,254,216,184,254,31,156,254,85,185,254,130,150,254,4,190,254,104,148,254,144,159,254,184,123,254,21,181,254,51,110,254,197,181, +254,152,122,254,113,160,254,14,114,254,236,205,254,204,140,254,166,194,254,205,150,254,109,183,254,201,169,254,179,200,254,2,175,254,211,199,254,84,186,254,154,200,254,249,214,254,155,206,254,206,225,254,231,212,254,239,240,254,255,204,254,251,234,254, +130,208,254,198,7,255,105,198,254,112,21,255,210,191,254,43,16,255,200,213,254,139,41,255,149,211,254,51,33,255,205,198,254,95,42,255,63,219,254,238,37,255,2,237,254,251,45,255,216,249,254,9,58,255,217,3,255,181,34,255,62,18,255,81,32,255,206,17,255, +193,32,255,20,25,255,41,6,255,121,41,255,79,4,255,139,38,255,233,247,254,1,36,255,1,234,254,20,33,255,176,232,254,215,48,255,103,252,254,79,64,255,14,242,254,117,64,255,40,244,254,93,72,255,230,16,255,24,65,255,17,18,255,51,85,255,83,46,255,249,67,255, +77,49,255,11,73,255,42,67,255,181,84,255,49,86,255,126,89,255,194,97,255,177,99,255,42,130,255,164,95,255,184,119,255,96,110,255,249,141,255,65,107,255,193,146,255,35,124,255,44,156,255,184,110,255,146,170,255,88,93,255,40,183,255,126,95,255,105,195, +255,114,91,255,223,196,255,47,108,255,192,199,255,238,95,255,230,201,255,101,93,255,216,185,255,158,96,255,58,174,255,201,97,255,41,181,255,127,101,255,250,159,255,66,111,255,181,154,255,2,97,255,194,154,255,228,111,255,43,146,255,216,119,255,188,161, +255,179,123,255,255,142,255,166,121,255,95,172,255,30,139,255,251,161,255,25,144,255,39,167,255,13,146,255,47,186,255,14,154,255,25,155,255,195,151,255,50,153,255,32,145,255,251,161,255,130,135,255,105,142,255,225,140,255,145,166,255,232,155,255,114, +169,255,56,143,255,100,147,255,50,140,255,214,167,255,214,160,255,131,148,255,180,135,255,249,147,255,157,149,255,107,166,255,181,147,255,151,163,255,41,119,255,229,134,255,99,134,255,57,166,255,72,112,255,61,133,255,155,135,255,156,150,255,135,114,255, +210,129,255,95,98,255,184,115,255,34,102,255,228,118,255,7,92,255,182,103,255,131,78,255,70,99,255,74,75,255,162,86,255,236,65,255,87,82,255,186,67,255,135,72,255,166,54,255,196,60,255,165,40,255,8,46,255,44,21,255,150,27,255,4,60,255,112,29,255,78,48, +255,219,32,255,240,46,255,110,9,255,133,35,255,216,2,255,171,41,255,41,252,254,159,49,255,52,244,254,252,36,255,189,248,254,22,49,255,196,249,254,40,44,255,219,233,254,241,50,255,46,245,254,110,57,255,207,235,254,223,69,255,51,232,254,193,76,255,162, +222,254,112,77,255,61,214,254,249,73,255,254,203,254,243,84,255,185,194,254,95,98,255,5,211,254,77,99,255,250,230,254,4,121,255,207,231,254,86,128,255,215,248,254,53,111,255,61,7,255,143,131,255,250,33,255,23,124,255,173,70,255,146,110,255,46,58,255, +216,121,255,77,108,255,192,129,255,228,118,255,80,129,255,54,138,255,205,133,255,82,162,255,146,167,255,83,172,255,6,147,255,134,178,255,246,165,255,148,192,255,129,176,255,117,193,255,117,188,255,74,208,255,30,192,255,138,216,255,157,214,255,200,216, +255,89,221,255,170,231,255,171,222,255,58,233,255,208,222,255,227,236,255,73,250,255,98,7,0,148,252,255,248,1,0,80,253,255,216,246,255,254,239,255,178,248,255,34,234,255,14,238,255,235,242,255,171,235,255,237,0,0,151,228,255,147,236,255,80,201,255,83, +220,255,66,191,255,145,216,255,39,169,255,238,205,255,243,146,255,230,194,255,203,122,255,219,202,255,58,115,255,250,207,255,146,107,255,191,178,255,206,87,255,170,220,255,187,94,255,38,205,255,199,78,255,102,227,255,56,87,255,103,237,255,130,83,255, +216,237,255,157,101,255,34,238,255,239,110,255,173,248,255,128,122,255,111,252,255,99,139,255,192,249,255,194,156,255,11,250,255,232,168,255,207,19,0,141,189,255,95,27,0,230,207,255,93,60,0,227,240,255,91,50,0,30,10,0,130,64,0,187,11,0,218,60,0,23,58, +0,248,108,0,245,93,0,171,102,0,218,81,0,141,109,0,36,129,0,217,111,0,19,144,0,174,120,0,31,138,0,37,124,0,176,155,0,49,124,0,207,144,0,127,152,0,19,146,0,145,147,0,118,140,0,43,131,0,180,134,0,58,153,0,38,143,0,115,154,0,173,129,0,32,135,0,120,95,0,238, +138,0,171,99,0,118,129,0,180,69,0,23,114,0,67,69,0,217,121,0,235,54,0,247,100,0,88,29,0,97,104,0,84,42,0,239,93,0,145,34,0,60,106,0,101,35,0,147,100,0,220,28,0,46,90,0,101,29,0,15,89,0,26,29,0,203,101,0,13,29,0,23,114,0,114,35,0,249,130,0,214,33,0,216, +109,0,20,36,0,99,124,0,163,19,0,95,145,0,51,31,0,12,130,0,143,12,0,220,145,0,130,8,0,22,157,0,73,7,0,185,169,0,207,26,0,66,170,0,211,9,0,123,171,0,233,34,0,121,151,0,113,27,0,246,157,0,170,28,0,250,138,0,121,46,0,207,147,0,99,68,0,32,139,0,226,88,0,94, +131,0,244,85,0,51,144,0,59,111,0,163,144,0,141,120,0,199,124,0,10,117,0,111,118,0,234,107,0,193,125,0,124,133,0,93,121,0,219,146,0,247,110,0,49,129,0,179,115,0,219,148,0,78,97,0,87,137,0,227,99,0,212,137,0,246,96,0,67,128,0,240,99,0,159,109,0,10,104, +0,129,116,0,147,104,0,234,115,0,241,113,0,170,97,0,47,104,0,201,94,0,12,124,0,170,91,0,193,129,0,186,72,0,118,133,0,36,68,0,131,139,0,181,77,0,162,136,0,142,63,0,28,158,0,243,71,0,78,160,0,39,39,0,78,154,0,216,53,0,111,181,0,112,84,0,255,184,0,30,65, +0,114,213,0,188,86,0,146,220,0,207,87,0,152,219,0,227,102,0,85,232,0,57,91,0,231,1,1,84,105,0,153,225,0,170,93,0,93,249,0,90,112,0,100,254,0,197,107,0,80,241,0,77,104,0,14,10,1,61,125,0,243,249,0,12,135,0,13,254,0,124,141,0,19,255,0,175,145,0,62,246, +0,43,136,0,250,254,0,14,151,0,121,218,0,131,144,0,123,234,0,196,168,0,127,219,0,221,168,0,214,215,0,34,168,0,159,226,0,248,192,0,29,229,0,31,203,0,90,221,0,81,203,0,97,224,0,200,202,0,17,245,0,181,203,0,242,243,0,77,224,0,61,238,0,133,225,0,12,0,1,15, +222,0,14,16,1,248,251,0,226,12,1,142,254,0,96,25,1,150,13,1,194,5,1,77,23,1,75,2,1,75,11,1,132,11,1,96,32,1,152,22,1,34,38,1,7,11,1,15,33,1,106,251,0,66,45,1,0,252,0,127,33,1,29,229,0,175,13,1,216,231,0,38,15,1,229,235,0,24,255,0,203,233,0,132,14,1,55, +241,0,188,11,1,71,214,0,58,221,0,89,213,0,130,250,0,127,211,0,238,210,0,76,197,0,2,222,0,187,199,0,120,215,0,232,200,0,231,205,0,45,208,0,73,190,0,252,215,0,240,165,0,220,208,0,252,169,0,123,228,0,152,163,0,141,225,0,108,156,0,149,246,0,101,155,0,192, +243,0,207,144,0,248,234,0,217,126,0,56,253,0,162,137,0,220,13,1,150,149,0,237,2,1,8,154,0,87,248,0,5,132,0,46,15,1,62,137,0,55,247,0,193,140,0,238,14,1,15,167,0,25,6,1,153,173,0,45,7,1,189,157,0,231,255,0,76,155,0,83,13,1,76,155,0,25,2,1,82,154,0,55, +247,0,133,166,0,180,245,0,32,156,0,123,242,0,13,143,0,111,234,0,46,156,0,199,248,0,194,152,0,248,236,0,244,146,0,215,223,0,137,147,0,216,231,0,189,163,0,191,229,0,7,156,0,43,243,0,177,165,0,48,242,0,77,165,0,251,213,0,132,148,0,46,212,0,245,156,0,101, +203,0,172,174,0,145,208,0,209,164,0,35,226,0,229,179,0,239,213,0,155,191,0,82,208,0,255,195,0,13,201,0,224,194,0,92,239,0,159,231,0,152,217,0,42,187,0,147,230,0,38,212,0,61,242,0,1,216,0,2,219,0,105,191,0,179,239,0,17,193,0,144,1,1,70,211,0,153,24,1, +20,221,0,12,0,1,131,205,0,91,32,1,116,234,0,122,33,1,128,236,0,124,47,1,71,227,0,36,47,1,104,236,0,191,40,1,83,217,0,137,55,1,141,240,0,69,58,1,4,240,0,61,47,1,64,218,0,95,70,1,116,242,0,14,73,1,45,221,0,162,55,1,197,233,0,71,78,1,226,216,0,52,83,1,95, +215,0,159,88,1,151,224,0,135,98,1,32,211,0,111,104,1,31,199,0,241,95,1,100,208,0,106,115,1,93,195,0,75,118,1,238,210,0,174,106,1,126,218,0,162,118,1,107,209,0,42,111,1,107,211,0,237,116,1,40,228,0,84,90,1,196,229,0,242,107,1,191,246,0,60,96,1,211,251, +0,10,98,1,231,6,1,127,83,1,169,16,1,39,79,1,133,26,1,91,95,1,8,30,1,240,93,1,29,49,1,189,79,1,122,44,1,139,79,1,109,38,1,90,87,1,54,53,1,186,110,1,186,64,1,148,104,1,235,50,1,23,112,1,254,51,1,6,119,1,103,41,1,0,124,1,179,53,1,162,116,1,110,40,1,108, +145,1,80,57,1,225,126,1,122,44,1,140,148,1,161,56,1,146,147,1,81,67,1,209,143,1,222,50,1,159,151,1,36,58,1,9,153,1,5,59,1,73,167,1,237,76,1,135,165,1,120,81,1,17,166,1,194,71,1,107,186,1,214,92,1,181,182,1,148,109,1,16,152,1,150,70,1,115,154,1,252,94, +1,239,140,1,62,70,1,179,164,1,120,85,1,177,148,1,226,86,1,183,139,1,181,69,1,100,128,1,91,45,1,187,118,1,211,54,1,161,110,1,148,48,1,119,127,1,155,55,1,249,118,1,91,41,1,194,123,1,66,43,1,250,124,1,97,48,1,155,109,1,236,60,1,62,126,1,23,46,1,251,136, +1,54,49,1,46,145,1,168,65,1,70,143,1,162,68,1,97,157,1,94,71,1,128,156,1,224,60,1,86,171,1,162,70,1,143,172,1,146,95,1,211,171,1,83,83,1,36,167,1,144,79,1,59,153,1,34,105,1,11,171,1,122,101,1,240,144,1,40,92,1,96,151,1,146,89,1,23,167,1,122,97,1,171, +145,1,95,85,1,220,133,1,177,90,1,75,118,1,63,78,1,105,109,1,125,66,1,17,101,1,216,53,1,221,82,1,244,12,1,32,68,1,237,3,1,99,51,1,192,252,0,66,36,1,146,231,0,97,37,1,38,210,0,127,22,1,17,183,0,146,21,1,96,168,0,1,10,1,206,142,0,194,7,1,206,140,0,48,242, +0,165,108,0,94,255,0,89,100,0,193,245,0,151,94,0,206,255,0,48,64,0,131,255,0,196,46,0,231,1,1,47,54,0,82,9,1,229,63,0,142,237,0,66,51,0,32,9,1,167,69,0,156,249,0,82,85,0,119,3,1,226,90,0,163,2,1,156,81,0,231,5,1,177,96,0,150,254,0,59,109,0,218,255,0, +205,134,0,49,246,0,167,126,0,193,245,0,30,130,0,141,227,0,68,136,0,208,212,0,48,117,0,227,221,0,230,130,0,126,201,0,171,105,0,31,186,0,165,108,0,184,167,0,254,116,0,33,153,0,227,100,0,89,146,0,108,101,0,56,129,0,32,89,0,130,121,0,138,86,0,80,121,0,224, +70,0,183,96,0,51,92,0,4,107,0,187,80,0,202,85,0,55,71,0,165,95,0,252,43,0,82,80,0,121,46,0,106,66,0,59,42,0,27,91,0,240,39,0,56,74,0,208,38,0,19,70,0,224,9,0,171,92,0,37,11,0,90,93,0,47,247,255,195,84,0,128,238,255,98,112,0,65,246,255,34,98,0,244,217, +255,33,84,0,177,232,255,40,93,0,37,218,255,127,93,0,62,214,255,77,93,0,13,220,255,105,62,0,213,222,255,164,93,0,215,236,255,144,78,0,51,232,255,183,86,0,92,6,0,200,79,0,110,253,255,168,66,0,218,18,0,152,89,0,185,1,0,144,78,0,144,22,0,83,88,0,74,15,0, +173,118,0,121,50,0,241,103,0,97,52,0,41,111,0,98,60,0,242,119,0,4,59,0,106,127,0,131,81,0,232,141,0,146,103,0,159,157,0,114,94,0,5,176,0,203,114,0,73,163,0,34,113,0,248,177,0,223,129,0,200,201,0,255,128,0,62,187,0,68,138,0,124,187,0,148,119,0,8,210,0, +30,126,0,147,230,0,154,124,0,221,218,0,48,123,0,203,225,0,253,114,0,135,230,0,77,96,0,23,242,0,151,92,0,3,225,0,143,75,0,84,218,0,36,66,0,80,237,0,93,77,0,67,237,0,53,51,0,154,233,0,8,32,0,222,228,0,175,17,0,210,234,0,218,18,0,44,202,0,150,27,0,26,201, +0,43,8,0,2,215,0,132,22,0,255,190,0,35,1,0,136,183,0,37,17,0,62,183,0,137,11,0,111,179,0,87,17,0,240,158,0,124,5,0,42,172,0,251,27,0,51,144,0,186,3,0,20,145,0,136,13,0,157,145,0,200,19,0,63,138,0,62,15,0,157,143,0,231,16,0,206,139,0,179,254,255,1,144, +0,173,253,255,106,131,0,215,238,255,156,131,0,91,248,255,142,125,0,78,242,255,56,127,0,89,232,255,87,128,0,116,244,255,149,126,0,20,231,255,103,103,0,209,241,255,15,99,0,106,213,255,176,83,0,157,223,255,115,99,0,145,227,255,197,106,0,46,239,255,22,108, +0,222,241,255,169,135,0,121,235,255,143,133,0,115,246,255,246,157,0,135,1,0,43,180,0,111,9,0,146,214,0,253,47,0,195,208,0,197,50,0,92,241,0,13,82,0,63,6,1,158,101,0,158,17,1,166,120,0,117,44,1,158,156,0,37,55,1,145,154,0,164,73,1,111,190,0,102,81,1,118, +193,0,242,103,1,209,227,0,33,76,1,22,231,0,202,83,1,122,239,0,89,83,1,171,231,0,9,88,1,85,243,0,212,61,1,143,2,1,24,51,1,136,253,0,197,29,1,211,255,0,124,250,0,176,210,0,37,246,0,158,219,0,193,196,0,53,173,0,247,167,0,206,140,0,144,135,0,41,118,0,2,87, +0,253,110,0,157,78,0,4,61,0,233,27,0,71,40,0,70,21,0,237,21,0,72,234,255,153,248,255,193,200,255,108,227,255,48,187,255,74,204,255,83,161,255,97,184,255,217,131,255,56,152,255,31,141,255,51,165,255,253,121,255,143,148,255,230,135,255,69,150,255,110,120, +255,137,147,255,162,140,255,234,123,255,123,130,255,10,135,255,251,150,255,60,127,255,36,136,255,217,132,255,103,168,255,79,138,255,3,176,255,159,115,255,49,191,255,73,133,255,60,187,255,105,136,255,117,182,255,110,131,255,51,211,255,35,127,255,205,192, +255,63,94,255,2,223,255,116,132,255,144,206,255,215,116,255,151,211,255,219,89,255,23,193,255,5,79,255,204,184,255,217,75,255,134,165,255,253,61,255,251,158,255,158,44,255,64,154,255,76,41,255,207,145,255,43,20,255,122,118,255,253,252,254,58,104,255, +104,6,255,40,113,255,14,238,254,34,102,255,32,227,254,143,68,255,145,235,254,242,66,255,125,230,254,35,59,255,135,202,254,128,52,255,103,199,254,183,37,255,40,185,254,101,30,255,33,180,254,216,247,254,115,183,254,17,7,255,45,170,254,98,4,255,2,185,254, +228,251,254,101,177,254,131,11,255,231,168,254,222,246,254,158,182,254,98,4,255,219,170,254,160,254,254,197,196,254,229,255,254,214,185,254,205,11,255,58,182,254,187,18,255,9,190,254,244,23,255,189,175,254,251,32,255,154,197,254,150,22,255,177,191,254, +213,32,255,179,197,254,59,47,255,84,190,254,142,56,255,39,183,254,103,56,255,64,181,254,111,69,255,114,179,254,5,72,255,208,178,254,147,55,255,144,166,254,161,67,255,8,178,254,167,62,255,255,152,254,128,46,255,73,147,254,53,46,255,130,152,254,163,24, +255,72,133,254,233,33,255,23,143,254,217,9,255,209,133,254,248,252,254,214,112,254,36,0,255,246,125,254,253,247,254,10,135,254,252,233,254,90,126,254,121,240,254,83,119,254,207,224,254,40,126,254,31,214,254,0,106,254,139,233,254,232,107,254,125,215,254, +50,102,254,71,230,254,126,114,254,65,243,254,244,103,254,114,229,254,6,103,254,87,215,254,175,100,254,2,233,254,64,112,254,151,229,254,169,107,254,15,241,254,176,112,254,54,247,254,158,119,254,140,243,254,28,130,254,166,249,254,27,120,254,240,241,254, +11,141,254,140,235,254,67,146,254,101,219,254,229,148,254,9,242,254,143,158,254,151,231,254,125,161,254,77,233,254,119,170,254,222,246,254,245,174,254,190,243,254,202,181,254,200,26,255,9,194,254,116,48,255,187,222,254,253,54,255,63,224,254,48,67,255, +82,229,254,67,70,255,178,254,254,31,82,255,116,2,255,22,114,255,229,8,255,26,91,255,22,249,254,12,134,255,6,22,255,243,139,255,255,22,255,51,148,255,84,50,255,221,167,255,250,31,255,190,166,255,107,38,255,214,156,255,212,27,255,30,194,255,15,51,255,142, +182,255,155,26,255,228,172,255,68,26,255,190,168,255,189,45,255,126,154,255,17,12,255,22,181,255,245,42,255,56,147,255,251,39,255,102,170,255,127,51,255,19,153,255,202,47,255,175,144,255,32,40,255,179,117,255,48,72,255,30,135,255,142,73,255,28,109,255, +200,92,255,32,92,255,44,95,255,166,111,255,9,123,255,125,87,255,91,126,255,169,84,255,62,147,255,144,90,255,188,159,255,15,105,255,83,172,255,28,105,255,60,192,255,13,83,255,254,195,255,32,92,255,175,220,255,28,105,255,101,232,255,177,107,255,108,237, +255,241,113,255,140,240,255,141,115,255,166,250,255,128,113,255,174,9,0,77,101,255,117,2,0,150,136,255,111,7,0,173,126,255,167,252,255,150,142,255,199,9,0,120,155,255,179,0,0,100,146,255,145,225,255,89,156,255,175,214,255,129,176,255,52,230,255,183,161, +255,170,227,255,27,170,255,122,188,255,72,177,255,152,173,255,3,178,255,132,162,255,97,171,255,243,144,255,16,178,255,248,139,255,143,190,255,203,128,255,199,193,255,169,93,255,160,177,255,43,85,255,172,171,255,236,82,255,110,181,255,47,62,255,10,177, +255,30,77,255,159,171,255,221,50,255,113,150,255,35,68,255,183,163,255,234,62,255,233,161,255,161,82,255,39,154,255,92,67,255,68,137,255,161,76,255,187,144,255,138,96,255,37,138,255,199,84,255,197,173,255,93,89,255,145,153,255,83,109,255,75,144,255,19, +91,255,76,148,255,234,115,255,144,147,255,227,120,255,226,158,255,116,128,255,175,140,255,142,136,255,43,137,255,224,145,255,55,129,255,252,175,255,92,129,255,226,171,255,85,120,255,142,193,255,130,131,255,110,190,255,222,116,255,141,185,255,129,123, +255,156,213,255,247,114,255,48,198,255,15,109,255,23,196,255,173,126,255,12,208,255,248,132,255,24,208,255,143,137,255,31,207,255,129,117,255,97,186,255,143,135,255,175,212,255,45,151,255,79,197,255,217,127,255,221,172,255,44,145,255,17,201,255,98,130, +255,127,173,255,75,150,255,131,154,255,136,128,255,180,136,255,30,133,255,105,140,255,229,121,255,154,128,255,62,138,255,182,99,255,55,125,255,151,106,255,123,126,255,124,82,255,255,137,255,144,95,255,172,118,255,124,76,255,152,107,255,78,57,255,12,140, +255,242,77,255,35,118,255,198,70,255,41,121,255,229,69,255,134,102,255,155,77,255,173,116,255,94,93,255,3,109,255,250,90,255,202,101,255,43,83,255,128,109,255,51,96,255,131,80,255,182,95,255,119,82,255,70,109,255,59,110,255,66,126,255,96,104,255,93,138, +255,214,95,255,10,127,255,59,112,255,187,147,255,57,88,255,37,145,255,65,103,255,114,165,255,40,107,255,80,140,255,92,127,255,101,165,255,98,130,255,134,176,255,175,144,255,28,185,255,50,140,255,0,157,255,108,157,255,228,185,255,102,162,255,165,175,255, +228,170,255,107,156,255,185,183,255,222,184,255,157,149,255,200,149,255,40,172,255,65,173,255,113,148,255,63,157,255,225,148,255,51,161,255,81,139,255,50,147,255,155,135,255,159,117,255,42,129,255,54,132,255,196,104,255,64,112,255,2,97,255,133,107,255, +251,95,255,189,108,255,25,77,255,140,110,255,162,71,255,164,108,255,49,73,255,171,115,255,66,48,255,150,88,255,58,35,255,6,91,255,126,28,255,77,110,255,218,11,255,13,98,255,161,12,255,188,96,255,143,9,255,7,103,255,179,7,255,176,104,255,52,233,254,186, +78,255,173,2,255,230,75,255,229,7,255,105,79,255,242,5,255,56,95,255,255,11,255,237,94,255,242,7,255,12,88,255,239,30,255,131,95,255,75,24,255,81,89,255,147,45,255,127,110,255,82,33,255,226,98,255,171,39,255,71,113,255,253,52,255,54,130,255,49,69,255, +74,141,255,230,72,255,50,155,255,198,69,255,201,161,255,186,65,255,227,169,255,16,62,255,46,176,255,164,95,255,222,188,255,195,90,255,102,234,255,31,84,255,83,227,255,127,97,255,115,238,255,253,117,255,129,0,0,127,107,255,235,249,255,166,111,255,228, +244,255,67,125,255,161,255,255,175,144,255,78,246,255,240,170,255,84,245,255,83,161,255,72,245,255,153,172,255,54,4,0,123,187,255,201,25,0,161,195,255,218,12,0,224,197,255,244,24,0,64,227,255,58,38,0,51,215,255,78,53,0,128,241,255,168,77,0,255,255,255, +187,74,0,176,18,0,84,115,0,133,27,0,92,122,0,107,21,0,31,138,0,17,52,0,215,171,0,35,51,0,197,180,0,17,54,0,75,200,0,238,75,0,26,212,0,28,105,0,233,223,0,111,114,0,121,229,0,110,112,0,85,247,0,206,139,0,206,10,1,184,161,0,138,19,1,142,125,0,237,5,1,71, +159,0,27,27,1,151,150,0,13,13,1,215,160,0,32,22,1,220,147,0,213,15,1,51,140,0,88,13,1,221,155,0,194,12,1,152,158,0,67,252,0,226,150,0,200,5,1,58,153,0,168,0,1,33,149,0,157,16,1,150,138,0,198,251,0,61,122,0,205,0,1,26,144,0,11,245,0,43,127,0,27,230,0, +61,118,0,229,238,0,104,113,0,159,233,0,110,116,0,47,231,0,215,91,0,219,209,0,100,69,0,150,212,0,42,52,0,40,222,0,48,51,0,9,229,0,112,10,0,225,202,0,6,1,0,32,211,0,130,251,255,175,202,0,51,217,255,174,196,0,201,207,255,17,183,0,243,196,255,155,187,0,204, +184,255,49,192,0,95,155,255,128,171,0,128,178,255,10,174,0,189,160,255,52,161,0,54,180,255,245,158,0,205,188,255,59,168,0,223,185,255,58,160,0,232,214,255,56,144,0,37,201,255,82,152,0,121,232,255,208,166,0,210,240,255,247,176,0,186,252,255,171,168,0, +3,42,0,222,174,0,164,24,0,98,182,0,108,31,0,80,189,0,79,48,0,43,195,0,237,67,0,27,220,0,186,65,0,252,226,0,87,67,0,196,225,0,26,81,0,72,231,0,76,79,0,242,244,0,233,82,0,61,249,0,224,63,0,99,1,1,148,59,0,245,20,1,16,44,0,167,254,0,159,31,0,89,25,1,57, +15,0,69,16,1,17,251,255,187,13,1,230,247,255,117,252,0,240,225,255,60,243,0,51,217,255,134,233,0,79,190,255,44,207,0,50,209,255,25,200,0,24,197,255,42,187,0,116,180,255,133,166,0,198,179,255,201,161,0,210,179,255,75,141,0,23,185,255,118,134,0,68,198, +255,235,117,0,168,196,255,121,103,0,124,193,255,151,98,0,107,208,255,97,117,0,35,187,255,228,112,0,244,202,255,242,122,0,0,205,255,87,139,0,176,211,255,231,140,0,80,198,255,162,137,0,144,202,255,139,159,0,197,181,255,232,148,0,224,197,255,217,132,0,193, +194,255,254,116,0,210,179,255,38,147,0,175,144,255,115,108,0,44,149,255,42,120,0,195,157,255,11,125,0,30,139,255,119,85,0,55,125,255,168,77,0,146,102,255,229,53,0,170,88,255,72,52,0,117,70,255,59,42,0,49,69,255,94,24,0,190,50,255,231,14,0,79,64,255,98, +7,0,113,30,255,226,224,255,132,27,255,140,240,255,9,49,255,226,222,255,208,43,255,24,202,255,128,42,255,242,197,255,39,34,255,78,189,255,45,39,255,166,185,255,14,36,255,47,184,255,71,37,255,202,171,255,99,71,255,105,199,255,78,48,255,247,184,255,210, +63,255,206,211,255,216,64,255,7,223,255,74,75,255,208,227,255,248,65,255,235,253,255,174,73,255,239,27,0,146,104,255,2,35,0,13,83,255,120,34,0,244,82,255,28,53,0,226,87,255,59,46,0,117,66,255,67,73,0,236,75,255,231,73,0,224,73,255,121,99,0,49,73,255, +238,92,0,185,59,255,184,109,0,236,75,255,32,93,0,243,74,255,252,106,0,180,70,255,120,97,0,134,53,255,226,84,0,55,70,255,132,85,0,224,75,255,37,78,0,185,55,255,9,44,0,67,60,255,244,24,0,65,40,255,113,25,0,134,49,255,212,11,0,83,39,255,87,15,0,133,37,255, +104,0,0,8,31,255,28,252,255,20,33,255,103,248,255,107,25,255,209,235,255,95,33,255,139,230,255,150,20,255,209,239,255,75,18,255,72,241,255,30,7,255,80,209,255,238,26,255,41,254,255,229,253,254,53,242,255,193,11,255,23,253,255,242,5,255,185,247,255,30, +13,255,18,12,0,213,22,255,144,24,0,180,15,255,112,17,0,26,36,255,233,40,0,151,30,255,32,32,0,72,47,255,135,58,0,220,31,255,22,54,0,137,71,255,186,66,0,195,35,255,214,33,0,170,33,255,79,61,0,71,43,255,41,57,0,19,86,255,65,47,0,218,80,255,63,33,0,193,74, +255,90,45,0,239,101,255,110,64,0,154,127,255,142,63,0,9,110,255,16,49,0,50,140,255,55,71,0,184,167,255,139,94,0,196,159,255,143,77,0,185,173,255,200,86,0,129,176,255,238,82,0,181,196,255,196,109,0,130,188,255,173,123,0,81,206,255,120,156,0,59,175,255, +206,146,0,112,201,255,47,172,0,178,178,255,4,179,0,129,186,255,212,196,0,234,175,255,200,202,0,179,182,255,115,228,0,128,174,255,14,224,0,127,160,255,110,239,0,125,144,255,42,242,0,51,154,255,129,246,0,34,173,255,61,249,0,189,154,255,157,221,0,94,147, +255,64,220,0,239,158,255,19,213,0,120,161,255,101,210,0,206,143,255,141,183,0,82,151,255,79,181,0,1,156,255,54,181,0,142,182,255,225,143,0,156,206,255,165,165,0,94,212,255,201,147,0,139,217,255,111,125,0,38,213,255,137,133,0,141,247,255,95,156,0,116, +247,255,231,140,0,174,8,0,164,159,0,52,30,0,183,166,0,195,17,0,109,168,0,95,31,0,69,203,0,85,49,0,0,210,0,109,41,0,79,236,0,43,58,0,242,244,0,147,41,0,148,251,0,92,54,0,244,14,1,36,57,0,250,15,1,152,32,0,164,27,1,234,41,0,246,28,1,76,18,0,210,52,1,12, +254,255,198,58,1,212,6,0,210,56,1,47,240,255,66,47,1,60,246,255,92,53,1,223,248,255,128,41,1,58,222,255,132,16,1,170,214,255,31,8,1,137,201,255,242,248,0,112,193,255,209,231,0,255,192,255,227,222,0,74,195,255,32,213,0,104,184,255,128,175,0,53,172,255, +32,156,0,191,178,255,94,144,0,3,178,255,10,117,0,153,178,255,60,123,0,247,175,255,170,93,0,174,191,255,134,105,0,229,186,255,226,84,0,169,212,255,158,101,0,105,192,255,163,86,0,40,225,255,156,87,0,115,225,255,163,92,0,122,234,255,58,99,0,222,234,255, +214,98,0,24,252,255,88,88,0,97,244,255,190,106,0,30,1,0,66,116,0,12,2,0,66,120,0,62,8,0,42,130,0,191,243,255,243,136,0,110,246,255,24,131,0,147,238,255,131,140,0,134,228,255,111,135,0,183,224,255,188,147,0,82,208,255,180,130,0,195,214,255,38,147,0,38, +209,255,142,128,0,125,205,255,99,135,0,168,198,255,48,121,0,29,182,255,207,89,0,154,180,255,66,120,0,191,176,255,251,92,0,177,160,255,98,70,0,125,142,255,42,67,0,48,124,255,49,74,0,147,112,255,216,53,0,78,111,255,253,51,0,201,97,255,21,44,0,117,70,255, +42,2,0,179,64,255,149,9,0,80,62,255,24,13,0,203,52,255,73,3,0,177,46,255,229,4,0,84,47,255,72,247,255,13,26,255,95,227,255,183,43,255,134,241,255,45,35,255,12,208,255,120,33,255,43,209,255,88,30,255,55,201,255,66,58,255,205,203,255,214,36,255,236,198, +255,117,66,255,236,202,255,11,67,255,78,185,255,243,74,255,210,188,255,73,67,255,210,188,255,131,84,255,161,196,255,217,68,255,8,178,255,168,76,255,4,195,255,157,90,255,75,157,255,237,77,255,193,148,255,169,84,255,51,161,255,125,79,255,231,160,255,142, +56,255,18,152,255,11,63,255,162,147,255,186,67,255,42,134,255,247,55,255,111,139,255,182,27,255,98,127,255,112,12,255,66,122,255,76,22,255,145,105,255,185,0,255,71,107,255,89,235,254,168,89,255,89,229,254,26,100,255,32,220,254,92,73,255,64,225,254,117, +71,255,210,189,254,121,48,255,204,200,254,52,51,255,228,178,254,102,41,255,154,190,254,120,42,255,175,160,254,168,18,255,157,169,254,49,21,255,81,153,254,235,11,255,243,151,254,191,4,255,15,184,254,173,13,255,130,208,254,28,254,254,129,196,254,92,12, +255,62,215,254,161,13,255,27,241,254,24,19,255,164,227,254,137,21,255,198,252,254,139,41,255,118,11,255,234,52,255,152,40,255,141,69,255,210,53,255,118,81,255,143,78,255,0,90,255,226,87,255,192,79,255,207,90,255,46,121,255,32,92,255,83,115,255,170,92, +255,247,125,255,210,120,255,14,165,255,197,112,255,175,155,255,154,121,255,1,165,255,251,87,255,227,173,255,10,120,255,229,191,255,9,106,255,127,173,255,116,111,255,191,191,255,210,118,255,85,194,255,116,115,255,11,202,255,185,114,255,91,181,255,140, +107,255,48,200,255,170,92,255,142,193,255,50,83,255,253,185,255,121,104,255,168,201,255,214,93,255,249,204,255,89,101,255,180,195,255,114,101,255,100,216,255,13,85,255,144,213,255,121,104,255,106,213,255,71,106,255,158,233,255,113,93,255,112,214,255, +103,105,255,182,219,255,121,102,255,217,203,255,77,97,255,144,215,255,193,70,255,24,212,255,82,96,255,213,218,255,130,72,255,62,208,255,116,54,255,242,199,255,8,45,255,47,186,255,3,56,255,235,196,255,239,40,255,72,182,255,64,36,255,253,185,255,123,4, +255,68,148,255,254,56,255,208,176,255,237,20,255,11,139,255,237,24,255,250,163,255,171,242,254,243,154,255,136,8,255,56,144,255,136,0,255,98,137,255,242,7,255,33,164,255,122,248,254,206,152,255,134,244,254,130,146,255,29,253,254,75,155,255,86,6,255,237, +153,255,43,15,255,63,153,255,7,33,255,167,136,255,216,50,255,118,148,255,165,44,255,56,154,255,61,69,255,167,138,255,131,80,255,144,154,255,183,98,255,74,145,255,222,114,255,20,166,255,255,133,255,124,198,255,61,130,255,91,187,255,201,148,255,217,195, +255,227,166,255,124,208,255,74,195,255,51,222,255,9,171,255,206,217,255,196,169,255,209,235,255,91,178,255,152,234,255,87,201,255,55,6,0,18,204,255,24,13,0,81,210,255,173,255,255,36,195,255,11,5,0,251,211,255,55,2,0,151,215,255,140,232,255,207,212,255, +239,228,255,187,193,255,207,221,255,138,215,255,26,224,255,12,203,255,91,191,255,124,195,255,191,191,255,61,193,255,133,164,255,160,177,255,87,155,255,37,197,255,242,140,255,217,182,255,171,115,255,240,166,255,69,97,255,102,162,255,200,100,255,33,157, +255,107,93,255,164,150,255,114,98,255,68,135,255,110,62,255,72,116,255,191,65,255,35,114,255,246,56,255,128,109,255,59,50,255,132,82,255,100,31,255,7,86,255,207,32,255,223,69,255,119,30,255,68,74,255,186,17,255,160,57,255,67,8,255,65,50,255,93,22,255, +84,49,255,193,22,255,90,46,255,184,3,255,91,48,255,124,25,255,241,50,255,237,31,255,39,38,255,245,38,255,19,21,255,15,47,255,113,30,255,214,49,255,196,45,255,83,48,255,133,41,255,233,44,255,60,55,255,60,62,255,60,59,255,167,75,255,183,43,255,253,59,255, +178,48,255,9,64,255,24,71,255,193,89,255,130,70,255,148,70,255,132,92,255,7,97,255,163,89,255,218,87,255,158,104,255,212,94,255,167,123,255,152,114,255,18,135,255,183,113,255,255,135,255,33,107,255,203,178,255,162,149,255,115,166,255,130,142,255,116, +174,255,132,162,255,141,174,255,107,166,255,78,172,255,161,198,255,66,184,255,227,177,255,240,170,255,176,161,255,143,198,255,121,174,255,134,175,255,206,156,255,228,172,255,107,158,255,82,151,255,149,141,255,190,109,255,148,131,255,117,119,255,104,128, +255,245,100,255,211,135,255,64,91,255,101,96,255,212,73,255,244,93,255,204,60,255,250,96,255,96,37,255,242,75,255,125,20,255,121,52,255,186,6,255,19,38,255,90,243,254,244,34,255,127,237,254,7,30,255,237,207,254,147,255,254,95,226,254,47,249,254,162,211, +254,87,222,254,38,221,254,108,237,254,69,216,254,105,219,254,157,218,254,49,214,254,219,220,254,249,222,254,246,236,254,236,210,254,196,240,254,110,204,254,166,247,254,112,220,254,105,255,254,38,226,254,239,237,254,156,221,254,4,1,255,6,225,254,156,17, +255,113,232,254,126,22,255,96,247,254,83,35,255,35,9,255,246,43,255,254,4,255,233,37,255,107,30,255,64,38,255,57,38,255,192,68,255,109,54,255,91,54,255,90,47,255,249,75,255,10,62,255,254,56,255,92,71,255,188,87,255,17,75,255,67,66,255,50,92,255,155,68, +255,56,95,255,199,71,255,83,115,255,73,61,255,239,110,255,236,69,255,117,136,255,99,65,255,135,121,255,1,95,255,66,132,255,12,75,255,117,130,255,249,71,255,55,142,255,13,93,255,144,154,255,157,88,255,186,143,255,197,112,255,149,145,255,7,88,255,18,144, +255,66,117,255,244,160,255,187,130,255,211,145,255,94,139,255,113,153,255,195,157,255,19,158,255,232,147,255,156,150,255,84,175,255,92,134,255,132,214,255,13,159,255,230,198,255,93,152,255,213,215,255,189,165,255,1,219,255,193,150,255,21,230,255,2,173, +255,208,220,255,238,163,255,234,232,255,45,166,255,177,225,255,136,143,255,143,253,255,251,161,255,66,243,255,221,176,255,160,240,255,115,173,255,186,252,255,176,161,255,50,6,0,233,174,255,168,7,0,80,199,255,99,254,255,86,198,255,38,12,0,131,213,255, +99,2,0,207,225,255,170,23,0,240,238,255,244,15,0,74,9,0,139,24,0,33,40,0,115,38,0,172,48,0,90,36,0,154,59,0,117,58,0,144,89,0,0,67,0,37,80,0,188,81,0,141,116,0,232,84,0,3,108,0,223,108,0,142,132,0,117,111,0,175,149,0,64,150,0,214,159,0,217,119,0,8,160, +0,152,152,0,61,182,0,247,169,0,77,167,0,187,185,0,147,174,0,123,179,0,160,184,0,121,216,0,61,192,0,123,228,0,221,164,0,241,229,0,24,196,0,210,228,0,83,156,0,192,243,0,253,167,0,186,246,0,116,183,0,70,7,1,227,161,0,5,241,0,108,160,0,78,223,0,2,161,0,123, +236,0,33,154,0,17,241,0,94,148,0,252,221,0,220,156,0,139,213,0,207,152,0,82,200,0,198,129,0,212,191,0,131,136,0,213,197,0,81,138,0,74,177,0,202,104,0,16,174,0,196,99,0,97,167,0,96,99,0,60,171,0,108,93,0,28,162,0,5,73,0,76,134,0,192,65,0,75,126,0,123, +62,0,18,121,0,178,51,0,198,122,0,191,57,0,75,130,0,160,50,0,150,128,0,211,68,0,62,124,0,24,70,0,58,151,0,241,51,0,32,145,0,165,49,0,172,165,0,240,45,0,66,166,0,96,40,0,35,171,0,41,57,0,252,158,0,129,53,0,179,172,0,13,80,0,127,209,0,68,77,0,127,211,0, +250,82,0,165,223,0,64,96,0,208,212,0,2,104,0,114,213,0,242,132,0,177,219,0,42,120,0,16,227,0,210,119,0,73,242,0,73,127,0,54,233,0,37,135,0,241,233,0,220,150,0,204,235,0,139,159,0,234,222,0,215,165,0,95,210,0,33,160,0,239,209,0,100,143,0,8,206,0,80,128, +0,219,204,0,149,133,0,106,186,0,205,130,0,91,164,0,29,124,0,220,145,0,184,109,0,213,144,0,163,82,0,207,141,0,175,86,0,55,125,0,118,71,0,89,146,0,130,65,0,31,123,0,41,51,0,136,118,0,151,29,0,218,123,0,82,22,0,162,132,0,7,24,0,198,112,0,119,20,0,188,138, +0,105,10,0,221,151,0,47,247,255,15,156,0,244,16,0,84,165,0,230,6,0,129,170,0,26,31,0,7,200,0,221,42,0,193,190,0,146,40,0,136,179,0,242,65,0,134,218,0,150,84,0,234,220,0,117,67,0,193,245,0,2,94,0,9,220,0,244,83,0,197,232,0,47,109,0,124,250,0,92,132,0, +6,253,0,137,133,0,6,253,0,187,137,0,119,3,1,155,134,0,89,12,1,33,154,0,182,9,1,187,143,0,134,21,1,138,155,0,96,15,1,194,146,0,120,13,1,187,143,0,12,252,0,186,127,0,195,15,1,168,130,0,38,6,1,79,116,0,61,242,0,115,112,0,6,253,0,102,100,0,186,242,0,229, +59,0,30,241,0,97,54,0,67,241,0,6,20,0,160,234,0,174,11,0,204,237,0,242,6,0,98,232,0,141,244,255,92,235,0,140,242,255,72,228,0,212,210,255,228,223,0,0,216,255,174,246,0,32,225,255,29,229,0,6,207,255,149,248,0,213,218,255,196,224,0,89,224,255,184,224,0, +195,221,255,48,234,0,130,2,0,167,241,0,68,18,0,88,254,0,161,9,0,156,3,1,217,0,0,83,15,1,143,14,0,121,21,1,181,20,0,243,251,0,139,35,0,87,252,0,169,26,0,165,18,1,16,55,0,151,10,1,246,40,0,132,5,1,31,79,0,21,19,1,150,76,0,196,21,1,125,82,0,27,26,1,133, +97,0,215,28,1,165,108,0,203,32,1,23,119,0,187,55,1,191,124,0,124,53,1,192,126,0,189,75,1,44,150,0,209,84,1,140,171,0,103,93,1,28,171,0,140,87,1,72,168,0,11,112,1,197,178,0,224,114,1,166,177,0,145,129,1,31,207,0,7,129,1,58,217,0,220,133,1,168,201,0,160, +165,1,27,216,0,99,175,1,21,223,0,225,177,1,228,236,0,62,175,1,116,244,0,136,177,1,18,2,1,184,212,1,224,7,1,206,178,1,92,246,0,222,212,1,5,252,0,202,205,1,114,27,1,232,196,1,157,18,1,182,194,1,144,12,1,39,201,1,180,2,1,101,199,1,108,20,1,7,192,1,88,19, +1,18,180,1,162,3,1,150,185,1,175,13,1,38,193,1,221,34,1,248,171,1,63,9,1,156,182,1,7,18,1,192,160,1,68,4,1,28,156,1,122,239,0,34,153,1,5,252,0,253,150,1,166,246,0,211,163,1,92,252,0,7,137,1,234,231,0,196,145,1,92,248,0,174,173,1,166,236,0,4,166,1,47, +231,0,186,177,1,3,234,0,6,186,1,96,223,0,58,202,1,222,237,0,133,202,1,55,248,0,239,199,1,87,253,0,33,198,1,106,0,1,147,212,1,63,15,1,128,215,1,83,28,1,9,214,1,210,46,1,250,240,1,60,40,1,223,230,1,37,68,1,3,213,1,241,47,1,68,241,1,6,73,1,86,236,1,68,63, +1,181,241,1,98,56,1,250,240,1,55,55,1,55,229,1,23,54,1,128,217,1,2,31,1,211,230,1,181,10,1,171,204,1,237,13,1,233,200,1,159,241,0,219,186,1,154,246,0,157,192,1,176,216,0,150,183,1,159,227,0,78,156,1,31,203,0,53,156,1,255,187,0,141,152,1,104,187,0,41, +166,1,217,191,0,170,139,1,203,173,0,170,129,1,40,173,0,231,123,1,200,145,0,221,141,1,215,169,0,56,125,1,37,141,0,134,143,1,227,159,0,197,149,1,56,134,0,204,158,1,45,148,0,247,155,1,188,145,0,61,171,1,250,145,0,187,185,1,182,158,0,49,173,1,209,174,0,63, +191,1,126,161,0,32,190,1,190,169,0,76,195,1,223,186,0,139,199,1,141,177,0,44,194,1,130,197,0,76,203,1,25,206,0,63,197,1,43,191,0,4,215,1,18,201,0,15,207,1,244,201,0,57,200,1,74,198,0,68,176,1,25,206,0,43,176,1,218,193,0,7,188,1,32,215,0,175,183,1,223, +182,0,17,168,1,230,193,0,35,159,1,55,195,0,173,163,1,31,207,0,10,157,1,206,203,0,2,146,1,232,207,0,241,158,1,176,210,0,83,141,1,142,195,0,114,138,1,206,199,0,82,137,1,131,205,0,214,138,1,214,216,0,41,166,1,244,215,0,60,155,1,54,240,0,22,157,1,65,228, +0,106,178,1,182,221,0,168,176,1,195,223,0,106,188,1,139,222,0,41,215,1,46,229,0,39,203,1,218,199,0,103,213,1,2,220,0,35,222,1,250,198,0,204,225,1,1,212,0,78,213,1,37,198,0,184,216,1,47,178,0,92,233,1,122,178,0,66,219,1,2,163,0,90,207,1,35,176,0,221,204, +1,232,148,0,144,190,1,235,121,0,194,190,1,98,119,0,48,171,1,153,110,0,192,170,1,84,109,0,154,164,1,76,88,0,166,152,1,185,121,0,166,162,1,70,97,0,26,136,1,144,89,0,46,149,1,26,96,0,71,151,1,183,99,0,53,150,1,5,122,0,64,140,1,234,107,0,239,138,1,139,96, +0,84,147,1,19,140,0,205,166,1,1,145,0,69,127,1,47,115,0,54,158,1,160,113,0,33,149,1,112,141,0,53,152,1,92,122,0,95,135,1,60,121,0,162,112,1,196,109,0,198,108,1,123,119,0,93,109,1,153,108,0,99,112,1,81,87,0,166,99,1,189,90,0,85,102,1,218,77,0,151,67,1, +11,66,0,32,74,1,172,48,0,217,50,1,90,45,0,73,35,1,205,12,0,192,44,1,238,19,0,234,31,1,105,2,0,70,7,1,247,251,255,127,20,1,142,252,255,62,0,1,148,253,255,169,255,0,252,232,255,36,238,0,213,220,255,54,239,0,150,210,255,169,5,1,7,223,255,200,254,0,212,212, +255,151,10,1,0,210,255,38,8,1,50,216,255,223,43,1,219,215,255,226,16,1,113,218,255,98,43,1,238,220,255,23,49,1,89,230,255,87,63,1,220,227,255,2,81,1,198,1,0,171,78,1,255,8,0,184,88,1,201,25,0,60,100,1,133,40,0,187,118,1,128,55,0,243,121,1,87,76,0,114, +136,1,7,89,0,34,151,1,171,99,0,99,173,1,105,132,0,192,164,1,56,140,0,182,190,1,76,157,0,113,197,1,21,160,0,3,207,1,112,200,0,158,204,1,93,199,0,164,205,1,230,197,0,108,202,1,161,192,0,210,220,1,220,219,0,119,190,1,170,217,0,75,181,1,170,219,0,210,159, +1,16,236,0,114,142,1,54,250,0,59,149,1,60,237,0,201,130,1,234,231,0,251,132,1,159,241,0,169,123,1,121,229,0,143,115,1,251,220,0,212,122,1,96,223,0,43,115,1,224,200,0,249,112,1,149,196,0,43,117,1,22,178,0,56,125,1,10,178,0,118,109,1,132,158,0,19,131,1, +7,142,0,217,111,1,206,136,0,211,110,1,222,111,0,149,116,1,22,105,0,199,106,1,243,71,0,180,113,1,63,86,0,200,122,1,155,75,0,128,87,1,203,49,0,29,99,1,245,30,0,184,88,1,162,17,0,149,112,1,62,21,0,240,93,1,98,7,0,97,96,1,105,8,0,254,105,1,238,23,0,160,98, +1,155,8,0,255,115,1,18,16,0,18,123,1,200,27,0,235,104,1,107,32,0,30,111,1,173,56,0,215,91,1,52,47,0,209,90,1,17,65,0,222,96,1,129,67,0,39,73,1,224,72,0,35,106,1,181,77,0,104,103,1,95,91,0,209,92,1,226,90,0,251,79,1,1,86,0,114,69,1,125,84,0,157,64,1,139, +100,0,218,56,1,108,101,0,160,39,1,196,99,0,10,39,1,78,108,0,60,35,1,84,113,0,38,12,1,187,78,0,175,0,1,100,82,0,249,246,0,99,78,0,222,236,0,66,55,0,28,221,0,52,43,0,219,200,0,148,1,0,164,209,0,35,1,0,199,183,0,157,225,255,247,167,0,255,211,255,191,170, +0,116,189,255,13,138,0,158,170,255,242,121,0,49,149,255,104,113,0,79,134,255,74,120,0,65,116,255,195,86,0,168,89,255,32,82,0,149,80,255,139,89,0,18,79,255,157,80,0,209,60,255,224,63,0,64,49,255,193,64,0,169,30,255,247,47,0,73,7,255,148,53,0,117,14,255, +209,41,0,230,16,255,41,46,0,49,23,255,185,53,0,75,27,255,52,26,0,231,24,255,109,37,0,162,25,255,158,23,0,81,32,255,109,39,0,240,53,255,166,50,0,176,39,255,129,50,0,71,54,255,184,37,0,14,39,255,235,45,0,147,64,255,143,60,0,228,55,255,142,56,0,210,68,255, +181,66,0,61,80,255,52,83,0,244,95,255,94,82,0,143,85,255,200,71,0,231,89,255,169,82,0,62,82,255,26,85,0,15,110,255,150,75,0,193,87,255,31,74,0,251,104,255,225,73,0,146,111,255,115,91,0,239,110,255,176,81,0,83,107,255,66,105,0,27,104,255,83,86,0,139,98, +255,188,79,0,27,104,255,36,55,0,236,76,255,181,68,0,99,86,255,149,63,0,249,86,255,155,64,0,248,76,255,166,44,0,214,49,255,27,34,0,203,63,255,245,27,0,25,35,255,138,12,0,125,33,255,250,6,0,180,18,255,217,249,255,122,1,255,243,7,0,91,252,254,135,246,255, +239,244,254,112,0,0,33,241,254,0,8,0,197,251,254,15,227,255,202,240,254,152,229,255,150,228,254,126,221,255,139,244,254,71,228,255,88,228,254,165,235,255,63,228,254,202,219,255,76,230,254,197,238,255,195,239,254,97,240,255,163,230,254,148,242,255,231, +225,254,148,246,255,171,243,254,194,15,0,164,244,254,232,11,0,27,242,254,75,6,0,2,242,254,63,22,0,20,237,254,53,36,0,57,231,254,147,37,0,32,229,254,128,34,0,158,245,254,242,48,0,233,241,254,96,33,0,133,243,254,9,37,0,245,237,254,165,36,0,216,2,255,67, +54,0,29,12,255,53,38,0,86,13,255,42,50,0,37,19,255,148,53,0,182,40,255,204,48,0,169,40,255,152,30,0,34,54,255,128,34,0,251,43,255,215,34,0,3,59,255,178,44,0,41,65,255,246,31,0,189,47,255,42,255,255,146,54,255,103,38,0,214,49,255,244,9,0,122,58,255,40, +233,255,121,52,255,154,249,255,127,49,255,35,240,255,116,61,255,109,232,255,172,62,255,158,226,255,128,61,255,139,217,255,67,73,255,99,201,255,75,98,255,18,204,255,87,84,255,48,183,255,230,83,255,30,192,255,149,80,255,187,199,255,116,59,255,193,196,255, +74,76,255,7,210,255,67,77,255,219,212,255,47,66,255,181,200,255,145,44,255,119,208,255,254,14,255,76,211,255,56,28,255,232,212,255,153,6,255,102,219,255,110,3,255,119,206,255,171,249,254,127,223,255,76,232,254,118,200,255,108,241,254,166,170,255,5,213, +254,255,198,255,150,224,254,142,192,255,162,220,254,55,194,255,88,228,254,133,167,255,99,214,254,10,183,255,86,214,254,130,194,255,154,211,254,142,182,255,206,223,254,160,179,255,137,218,254,141,174,255,167,209,254,118,198,255,156,223,254,181,202,255, +118,219,254,75,205,255,212,224,254,7,212,255,143,225,254,69,208,255,27,242,254,29,190,255,1,226,254,37,207,255,232,233,254,138,205,255,84,247,254,233,222,255,235,11,255,56,206,255,198,11,255,40,225,255,5,16,255,63,211,255,243,28,255,232,214,255,206,28, +255,75,207,255,94,30,255,198,189,255,94,32,255,79,182,255,94,30,255,242,184,255,32,34,255,162,197,255,20,46,255,36,193,255,208,50,255,196,169,255,94,38,255,204,182,255,221,56,255,130,192,255,114,45,255,108,163,255,80,20,255,3,174,255,88,27,255,192,182, +255,63,31,255,71,165,255,67,14,255,202,166,255,199,19,255,219,149,255,249,19,255,189,158,255,111,11,255,233,157,255,4,12,255,63,150,255,0,31,255,213,150,255,193,32,255,21,165,255,82,34,255,57,153,255,107,30,255,2,160,255,180,26,255,110,177,255,207,32, +255,59,171,255,238,37,255,191,180,255,95,40,255,167,188,255,42,81,255,107,212,255,248,72,255,33,224,255,163,94,255,58,230,255,118,89,255,122,230,255,82,99,255,205,255,255,228,124,255,78,241,255,10,127,255,224,0,0,102,114,255,210,246,255,153,122,255,11, +248,255,11,143,255,116,247,255,229,134,255,42,245,255,215,112,255,66,237,255,40,114,255,20,216,255,106,85,255,181,206,255,29,69,255,174,197,255,184,66,255,205,190,255,16,63,255,109,171,255,165,53,255,50,144,255,74,17,255,248,132,255,123,15,255,142,125, +255,209,251,254,196,100,255,110,3,255,251,101,255,41,252,254,50,83,255,27,244,254,188,89,255,253,252,254,181,76,255,201,242,254,26,95,255,135,7,255,223,65,255,190,252,254,55,70,255,86,13,255,87,75,255,208,247,254,73,63,255,247,255,254,241,64,255,59,253, +254,51,93,255,92,8,255,229,66,255,221,249,254,176,95,255,221,247,254,214,103,255,101,238,254,169,80,255,184,249,254,212,81,255,90,244,254,27,101,255,176,236,254,188,87,255,161,206,254,52,107,255,57,227,254,48,120,255,199,214,254,221,108,255,50,222,254, +52,107,255,143,225,254,142,123,255,114,238,254,227,109,255,30,217,254,253,113,255,137,228,254,125,146,255,137,224,254,28,109,255,120,239,254,123,120,255,54,8,255,123,126,255,202,250,254,4,117,255,35,5,255,9,112,255,66,6,255,139,101,255,153,252,254,113, +93,255,184,3,255,20,92,255,141,6,255,219,82,255,95,237,254,107,88,255,14,238,254,76,85,255,7,231,254,93,78,255,124,216,254,238,89,255,230,215,254,18,82,255,199,212,254,48,63,255,140,193,254,8,45,255,220,182,254,110,55,255,22,190,254,141,54,255,241,191, +254,197,51,255,44,164,254,152,40,255,195,178,254,233,33,255,56,156,254,32,33,255,167,148,254,249,18,255,30,148,254,101,32,255,55,152,254,210,57,255,86,151,254,163,24,255,190,130,254,28,52,255,173,151,254,203,48,255,116,142,254,228,52,255,167,146,254, +222,57,255,242,148,254,127,44,255,187,157,254,47,59,255,27,179,254,236,67,255,126,177,254,247,57,255,163,169,254,169,84,255,169,168,254,216,64,255,115,187,254,14,91,255,11,208,254,95,88,255,117,207,254,13,83,255,50,228,254,249,81,255,201,236,254,165, +107,255,252,250,254,126,93,255,123,9,255,228,111,255,254,4,255,212,134,255,166,12,255,59,112,255,17,14,255,110,124,255,42,14,255,22,108,255,52,49,255,160,114,255,187,31,255,49,128,255,52,51,255,41,115,255,71,44,255,117,127,255,105,79,255,116,111,255, +216,71,255,90,107,255,135,62,255,15,109,255,74,86,255,190,105,255,24,80,255,70,96,255,11,84,255,246,104,255,168,91,255,167,119,255,7,101,255,110,116,255,188,100,255,142,123,255,0,94,255,49,136,255,120,99,255,130,125,255,158,107,255,94,145,255,187,94, +255,44,149,255,234,121,255,109,175,255,233,113,255,240,172,255,227,112,255,148,187,255,15,114,255,230,190,255,8,115,255,169,206,255,135,129,255,212,201,255,115,110,255,132,212,255,242,136,255,189,219,255,229,136,255,132,214,255,17,138,255,157,214,255, +130,140,255,70,220,255,24,149,255,0,207,255,242,132,255,25,203,255,180,140,255,89,223,255,198,137,255,174,197,255,191,126,255,4,186,255,154,128,255,223,183,255,34,121,255,103,172,255,16,126,255,19,147,255,47,125,255,219,141,255,59,117,255,255,137,255, +145,103,255,74,128,255,244,99,255,11,126,255,251,98,255,96,106,255,72,66,255,33,104,255,74,86,255,226,97,255,48,72,255,190,103,255,6,95,255,188,89,255,144,91,255,235,59,255,62,84,255,167,70,255,163,94,255,117,60,255,207,101,255,241,56,255,94,91,255,55, +68,255,101,100,255,135,61,255,68,89,255,97,51,255,174,88,255,35,51,255,213,102,255,129,60,255,31,89,255,180,68,255,108,109,255,204,60,255,52,104,255,86,73,255,64,112,255,250,79,255,14,102,255,125,79,255,21,111,255,75,77,255,38,96,255,95,94,255,208,107, +255,31,82,255,70,99,255,144,86,255,181,89,255,250,83,255,180,79,255,212,77,255,73,68,255,120,92,255,106,81,255,86,69,255,216,65,255,224,73,255,245,38,255,47,59,255,63,41,255,42,66,255,244,34,255,170,37,255,108,44,255,85,51,255,150,27,255,234,45,255,45, +40,255,76,30,255,34,50,255,224,8,255,138,39,255,212,10,255,70,42,255,250,16,255,114,41,255,35,252,254,71,48,255,253,245,254,60,72,255,189,233,254,66,69,255,146,240,254,197,62,255,169,226,254,192,75,255,96,236,254,87,84,255,120,230,254,118,81,255,52,227, +254,68,83,255,252,229,254,131,95,255,27,233,254,201,106,255,21,230,254,11,78,255,177,235,254,144,97,255,3,239,254,118,89,255,109,236,254,81,95,255,235,0,255,176,98,255,60,250,254,69,95,255,147,250,254,211,76,255,136,8,255,206,93,255,136,8,255,129,67, +255,32,23,255,210,68,255,148,254,254,3,53,255,181,19,255,201,49,255,99,10,255,2,51,255,248,2,255,25,35,255,88,22,255,100,35,255,133,35,255,174,15,255,225,16,255,49,17,255,128,42,255,191,8,255,94,21,255,48,9,255,201,34,255,161,13,255,251,28,255,230,22, +255,102,44,255,180,22,255,14,38,255,11,11,255,43,19,255,217,14,255,41,54,255,232,42,255,68,15,255,38,31,255,8,37,255,214,41,255,144,23,255,209,58,255,200,16,255,122,62,255,225,22,255,56,85,255,191,251,254,24,84,255,99,12,255,97,119,255,45,25,255,149, +145,255,52,44,255,186,141,255,244,19,255,0,161,255,89,38,255,176,169,255,51,32,255,134,176,255,146,41,255,180,199,255,59,43,255,141,187,255,246,39,255,43,205,255,99,65,255,174,204,255,28,46,255,135,190,255,118,68,255,4,187,255,122,55,255,164,171,255, +4,62,255,158,168,255,192,66,255,225,159,255,154,58,255,118,146,255,197,55,255,161,139,255,222,61,255,93,138,255,22,53,255,109,117,255,172,55,255,202,114,255,3,52,255,158,111,255,79,58,255,133,105,255,145,35,255,157,101,255,96,47,255,126,102,255,89,32, +255,168,89,255,119,23,255,26,106,255,164,32,255,23,135,255,128,46,255,166,122,255,238,28,255,179,130,255,15,44,255,37,149,255,77,38,255,136,143,255,162,20,255,139,161,255,77,38,255,113,157,255,152,44,255,244,221,255,182,29,255,87,212,255,66,58,255,60, +247,255,165,46,255,209,239,255,109,49,255,204,250,255,56,74,255,13,21,0,247,51,255,26,35,0,248,59,255,219,22,0,201,89,255,185,50,0,87,71,255,136,70,0,173,61,255,78,53,0,210,67,255,124,72,0,86,63,255,18,73,0,29,58,255,48,62,0,54,58,255,162,78,0,71,37, +255,4,61,0,171,47,255,87,76,0,57,27,255,236,68,0,98,254,254,128,49,0,125,20,255,10,56,0,48,2,255,84,52,0,115,243,254,21,44,0,226,227,254,51,29,0,94,220,254,251,25,0,144,220,254,19,20,0,7,222,254,148,7,0,68,204,254,231,18,0,135,197,254,212,17,0,210,191, +254,237,13,0,249,201,254,90,246,255,209,185,254,116,248,255,67,194,254,29,2,0,148,199,254,36,5,0,49,199,254,53,242,255,218,208,254,40,246,255,18,204,254,216,244,255,119,216,254,28,244,255,189,227,254,86,9,0,241,247,254,211,9,0,173,252,254,73,3,0,106, +17,255,187,17,0,252,40,255,251,25,0,65,46,255,171,46,0,229,60,255,127,37,0,134,53,255,210,54,0,136,73,255,209,46,0,6,74,255,227,33,0,61,69,255,136,62,0,109,49,255,235,58,0,172,49,255,137,76,0,103,56,255,123,66,0,251,32,255,39,94,0,50,24,255,26,90,0,89, +32,255,170,97,0,107,25,255,12,78,0,21,240,254,113,86,0,65,237,254,120,93,0,145,228,254,24,74,0,101,219,254,119,89,0,69,214,254,39,92,0,231,214,254,175,80,0,179,196,254,124,74,0,84,183,254,199,68,0,117,196,254,254,61,0,153,192,254,67,67,0,34,181,254,64, +35,0,209,185,254,221,46,0,54,184,254,239,33,0,93,204,254,230,12,0,212,207,254,25,21,0,92,198,254,49,15,0,76,223,254,143,18,0,169,216,254,126,25,0,181,220,254,83,34,0,79,247,254,95,34,0,116,249,254,96,50,0,50,18,255,223,60,0,49,16,255,142,65,0,37,16,255, +210,50,0,87,16,255,186,62,0,74,8,255,144,79,0,127,34,255,45,93,0,151,28,255,126,98,0,44,23,255,239,98,0,213,22,255,65,112,0,213,28,255,140,112,0,114,34,255,135,117,0,101,32,255,228,112,0,119,23,255,159,105,0,136,0,255,129,124,0,13,223,254,98,123,0,121, +238,254,211,127,0,88,213,254,148,123,0,161,205,254,190,112,0,92,198,254,141,120,0,71,177,254,185,113,0,62,152,254,91,124,0,250,156,254,29,114,0,51,156,254,154,124,0,224,138,254,167,126,0,242,139,254,78,112,0,5,139,254,185,119,0,149,138,254,172,115,0, +149,144,254,60,119,0,148,134,254,171,105,0,230,145,254,55,126,0,174,142,254,83,101,0,75,150,254,227,96,0,240,176,254,160,119,0,19,157,254,123,66,0,244,155,254,232,85,0,17,190,254,75,90,0,253,188,254,218,81,0,60,181,254,75,80,0,10,185,254,145,93,0,105, +202,254,1,86,0,59,183,254,38,86,0,205,204,254,111,70,0,247,191,254,40,106,0,73,195,254,63,82,0,35,185,254,218,77,0,91,186,254,83,97,0,173,195,254,94,79,0,66,182,254,125,90,0,190,176,254,208,97,0,202,176,254,51,88,0,84,177,254,45,95,0,1,166,254,34,107, +0,27,170,254,60,115,0,114,164,254,3,108,0,2,168,254,23,127,0,93,151,254,97,121,0,251,162,254,112,147,0,31,155,254,145,156,0,101,166,254,114,159,0,114,164,254,225,143,0,11,193,254,209,178,0,129,196,254,147,170,0,84,179,254,45,148,0,128,184,254,254,181, +0,122,191,254,227,169,0,68,206,254,23,180,0,176,225,254,198,184,0,214,229,254,48,184,0,40,233,254,192,195,0,121,238,254,19,199,0,153,249,254,149,200,0,142,3,255,12,200,0,217,5,255,142,195,0,42,7,255,254,189,0,175,16,255,137,204,0,100,24,255,217,195,0, +169,19,255,5,193,0,81,11,255,192,185,0,6,19,255,91,179,0,99,12,255,245,160,0,185,4,255,147,180,0,17,1,255,113,149,0,192,3,255,63,149,0,53,245,254,211,129,0,34,240,254,38,145,0,69,216,254,18,134,0,45,232,254,252,159,0,77,233,254,174,135,0,76,225,254,233, +156,0,231,216,254,145,154,0,103,243,254,215,167,0,20,232,254,13,145,0,152,239,254,251,155,0,109,240,254,97,172,0,185,250,254,9,162,0,186,2,255,210,182,0,198,4,255,172,176,0,219,25,255,143,197,0,255,15,255,254,185,0,11,4,255,43,201,0,169,19,255,68,193, +0,151,30,255,45,211,0,138,22,255,6,203,0,13,26,255,176,216,0,238,22,255,225,208,0,176,28,255,138,218,0,232,31,255,235,239,0,162,20,255,15,228,0,155,9,255,132,211,0,47,252,254,201,216,0,80,7,255,157,221,0,202,243,254,111,190,0,79,251,254,8,223,0,89,229, +254,83,217,0,245,226,254,69,203,0,194,218,254,37,200,0,3,239,254,201,218,0,25,217,254,82,211,0,60,195,254,50,206,0,217,198,254,67,185,0,31,214,254,218,199,0,100,211,254,29,183,0,166,188,254,3,173,0,169,222,254,65,167,0,169,218,254,67,187,0,76,229,254, +234,178,0,99,2,255,52,161,0,196,238,254,89,159,0,136,4,255,141,173,0,190,241,254,121,168,0,180,9,255,24,188,0,37,12,255,100,204,0,38,20,255,85,180,0,81,11,255,48,184,0,45,39,255,147,184,0,121,39,255,234,174,0,76,36,255,73,186,0,147,53,255,118,199,0,33, +37,255,30,195,0,108,41,255,200,206,0,177,40,255,210,182,0,164,38,255,216,173,0,64,36,255,200,206,0,144,27,255,161,188,0,74,16,255,122,180,0,180,11,255,161,188,0,66,255,254,211,192,0,66,241,254,178,177,0,122,244,254,35,174,0,134,246,254,105,191,0,33,224, +254,160,180,0,76,223,254,73,182,0,107,220,254,14,157,0,150,219,254,247,170,0,186,195,254,92,128,0,125,217,254,99,131,0,99,205,254,168,138,0,67,200,254,34,113,0,12,207,254,46,105,0,73,187,254,27,94,0,117,194,254,137,80,0,84,183,254,243,73,0,41,188,254, +251,98,0,147,185,254,169,83,0,158,167,254,32,93,0,9,173,254,93,77,0,67,194,254,183,93,0,207,169,254,12,74,0,247,181,254,1,86,0,31,204,254,169,85,0,136,199,254,39,92,0,142,206,254,12,78,0,181,214,254,43,73,0,226,227,254,227,106,0,222,246,254,171,99,0, +239,227,254,21,101,0,104,1,255,185,119,0,215,243,254,41,112,0,168,15,255,210,119,0,212,16,255,18,132,0,218,21,255,30,128,0,6,25,255,185,123,0,187,16,255,46,156,0,0,20,255,38,153,0,212,20,255,207,154,0,235,4,255,94,148,0,74,6,255,207,148,0,179,255,254, +242,128,0,39,227,254,41,116,0,120,222,254,46,99,0,62,209,254,126,98,0,3,186,254,131,73,0,108,175,254,141,51,0,40,178,254,66,55,0,115,180,254,243,14,0,163,160,254,31,14,0,208,173,254,234,245,255,190,180,254,15,242,255,203,182,254,39,230,255,170,161,254, +181,213,255,145,167,254,196,235,255,183,167,254,81,217,255,163,158,254,193,201,255,26,164,254,24,204,255,176,158,254,61,196,255,40,174,254,173,200,255,241,184,254,87,204,255,48,195,254,99,208,255,36,199,254,218,211,255,18,212,254,63,218,255,91,186,254, +183,231,255,60,195,254,94,223,255,85,195,254,100,214,255,130,200,254,138,220,255,181,212,254,76,224,255,227,176,254,225,220,255,97,187,254,41,248,255,41,188,254,253,244,255,215,172,254,29,254,255,77,168,254,210,249,255,113,156,254,228,244,255,104,133, +254,89,230,255,74,142,254,77,240,255,72,126,254,201,228,255,109,126,254,250,212,255,178,119,254,19,213,255,140,113,254,1,228,255,176,105,254,48,196,255,221,116,254,242,195,255,151,109,254,54,195,255,228,115,254,89,224,255,251,103,254,142,195,255,64,103, +254,58,178,255,102,113,254,203,183,255,45,106,254,233,172,255,145,112,254,78,185,255,133,114,254,176,169,255,172,132,254,219,162,255,54,135,254,152,167,255,116,121,254,87,147,255,22,126,254,26,159,255,174,146,254,176,159,255,38,156,254,219,162,255,170, +169,254,46,174,255,165,178,254,170,164,255,58,165,254,200,155,255,255,202,254,191,185,255,9,179,254,208,176,255,154,200,254,186,200,255,4,194,254,141,185,255,160,193,254,173,196,255,16,186,254,143,201,255,3,182,254,224,206,255,43,206,254,138,226,255, +210,193,254,56,217,255,91,188,254,187,208,255,202,176,254,63,220,255,22,189,254,205,205,255,210,189,254,181,213,255,78,176,254,106,217,255,131,147,254,63,216,255,219,155,254,186,202,255,162,154,254,136,198,255,57,163,254,147,188,255,15,178,254,190,183, +255,163,160,254,91,189,255,114,164,254,88,159,255,115,176,254,41,195,255,208,171,254,3,183,255,76,166,254,227,173,255,1,160,254,178,181,255,84,179,254,46,180,255,184,181,254,164,167,255,188,162,254,103,175,255,173,193,254,134,180,255,184,183,254,110, +190,255,48,195,254,27,171,255,43,208,254,84,176,255,211,205,254,11,200,255,234,244,254,203,181,255,252,233,254,228,181,255,77,235,254,53,181,255,178,247,254,120,166,255,112,16,255,186,200,255,29,1,255,166,187,255,74,2,255,222,186,255,132,25,255,154,197, +255,169,25,255,186,200,255,200,26,255,167,203,255,159,45,255,43,205,255,114,38,255,231,213,255,33,37,255,36,206,255,120,33,255,169,223,255,226,38,255,100,210,255,25,24,255,70,221,255,20,33,255,25,210,255,51,28,255,145,229,255,128,42,255,233,229,255,220, +31,255,215,236,255,200,24,255,214,230,255,195,33,255,77,230,255,183,43,255,128,244,255,165,40,255,134,243,255,152,38,255,223,253,255,248,59,255,254,0,0,106,78,255,23,7,0,106,80,255,212,21,0,95,88,255,123,62,0,196,102,255,71,46,0,116,117,255,23,62,0,248, +122,255,122,54,0,231,143,255,125,86,0,238,146,255,137,78,0,158,163,255,39,94,0,3,176,255,208,101,0,91,180,255,195,93,0,74,191,255,163,92,0,69,206,255,176,90,0,37,207,255,220,97,0,103,233,255,97,117,0,10,234,255,59,109,0,210,230,255,183,103,0,4,245,255, +164,104,0,208,226,255,97,115,0,234,228,255,11,125,0,4,237,255,205,128,0,77,233,255,93,134,0,247,240,255,123,125,0,154,245,255,243,138,0,72,238,255,175,149,0,61,248,255,224,133,0,118,253,255,6,134,0,5,251,255,45,154,0,37,4,0,245,150,0,56,3,0,251,147,0, +113,12,0,150,139,0,51,20,0,156,140,0,202,26,0,156,144,0,116,46,0,17,126,0,40,36,0,249,135,0,161,57,0,212,139,0,177,28,0,180,130,0,54,52,0,42,130,0,80,64,0,204,126,0,11,57,0,160,119,0,175,69,0,5,126,0,155,54,0,22,115,0,107,78,0,5,126,0,99,61,0,196,103, +0,132,74,0,122,121,0,99,71,0,83,107,0,117,62,0,44,89,0,6,64,0,15,100,0,135,47,0,119,89,0,167,48,0,70,93,0,195,21,0,51,88,0,58,25,0,31,79,0,188,22,0,24,72,0,124,4,0,237,76,0,224,250,255,199,72,0,187,4,0,5,63,0,252,229,255,97,48,0,108,222,255,162,74,0, +108,230,255,158,40,0,115,231,255,99,74,0,96,228,255,216,53,0,20,220,255,2,37,0,207,210,255,101,29,0,240,227,255,108,34,0,19,212,255,192,6,0,97,234,255,54,250,255,226,217,255,183,237,255,114,217,255,84,249,255,203,227,255,8,237,255,158,226,255,33,237, +255,160,242,255,25,220,255,92,249,255,1,222,255,53,235,255,151,224,255,72,240,255,48,200,255,12,4,0,130,201,255,210,240,255,110,194,255,130,251,255,80,199,255,205,1,0,189,224,255,7,19,0,132,223,255,155,5,0,118,205,255,101,18,0,145,225,255,63,16,0,210, +251,255,45,19,0,15,236,255,10,43,0,167,0,0,97,43,0,223,3,0,141,46,0,111,3,0,122,37,0,200,23,0,67,58,0,245,32,0,43,60,0,178,45,0,125,79,0,84,42,0,54,46,0,91,61,0,238,71,0,12,74,0,182,84,0,169,85,0,31,74,0,70,91,0,176,83,0,164,98,0,97,100,0,100,90,0,14, +87,0,219,85,0,94,82,0,234,105,0,108,90,0,33,95,0,35,110,0,76,98,0,22,98,0,208,99,0,54,103,0,239,90,0,91,109,0,186,72,0,153,101,0,212,74,0,72,102,0,165,49,0,17,109,0,191,51,0,4,111,0,53,45,0,60,106,0,26,31,0,147,100,0,241,51,0,209,100,0,33,38,0,26,79, +0,164,35,0,108,92,0,202,41,0,38,69,0,110,56,0,1,79,0,109,46,0,88,77,0,184,48,0,31,70,0,96,36,0,18,62,0,113,27,0,136,51,0,52,43,0,73,55,0,45,36,0,231,68,0,151,29,0,153,40,0,131,18,0,141,50,0,89,35,0,166,44,0,161,9,0,248,49,0,255,12,0,209,39,0,37,17,0, +210,49,0,136,7,0,217,48,0,173,3,0,116,50,0,37,11,0,17,46,0,85,251,255,5,52,0,136,7,0,229,52,0,84,249,255,128,38,0,214,234,255,192,56,0,185,249,255,84,35,0,133,227,255,157,19,0,25,220,255,15,36,0,20,235,255,232,17,0,215,236,255,132,15,0,78,238,255,184, +31,0,180,2,0,233,25,0,159,239,255,114,24,0,58,237,255,64,30,0,199,5,0,201,20,0,34,239,255,132,25,0,26,232,255,51,24,0,253,248,255,64,24,0,42,0,0,238,18,0,175,220,255,32,17,0,249,208,255,0,14,0,157,219,255,83,27,0,95,221,255,200,16,0,56,213,255,156,7, +0,181,207,255,121,29,0,70,227,255,232,15,0,57,223,255,118,11,0,124,206,255,66,40,0,67,203,255,102,26,0,105,205,255,37,61,0,191,250,255,136,61,0,134,243,255,143,66,0,109,243,255,165,91,0,230,12,0,145,90,0,24,15,0,8,86,0,200,21,0,161,114,0,178,45,0,205, +127,0,4,61,0,183,153,0,144,87,0,153,164,0,152,96,0,179,174,0,80,132,0,205,184,0,168,136,0,231,192,0,165,175,0,1,203,0,42,183,0,171,224,0,87,200,0,197,228,0,188,210,0,72,228,0,44,207,0,97,226,0,29,240,0,98,234,0,78,232,0,205,245,0,97,237,0,106,253,0,247, +243,0,224,252,0,28,234,0,249,242,0,192,244,0,187,254,0,52,226,0,243,251,0,190,230,0,77,26,1,27,222,0,231,1,1,181,205,0,249,252,0,230,193,0,24,244,0,107,158,0,218,251,0,146,166,0,67,245,0,151,155,0,255,245,0,42,126,0,78,217,0,122,113,0,40,221,0,164,90, +0,108,212,0,119,85,0,83,212,0,86,62,0,230,180,0,159,42,0,42,172,0,239,31,0,191,166,0,25,23,0,107,145,0,182,26,0,58,143,0,199,11,0,168,133,0,5,10,0,83,153,0,78,242,255,151,146,0,109,243,255,175,128,0,172,245,255,245,143,0,229,250,255,202,154,0,42,4,0, +81,131,0,218,12,0,78,154,0,125,19,0,227,148,0,120,38,0,228,160,0,184,52,0,254,168,0,92,59,0,206,196,0,69,83,0,80,178,0,175,82,0,157,204,0,244,89,0,133,214,0,227,100,0,34,224,0,43,136,0,109,220,0,180,128,0,84,224,0,142,132,0,179,233,0,39,157,0,172,230, +0,249,137,0,196,224,0,143,140,0,168,190,0,18,138,0,58,210,0,42,124,0,57,208,0,75,139,0,94,196,0,174,137,0,0,189,0,148,123,0,68,190,0,36,123,0,255,182,0,91,120,0,96,155,0,144,87,0,196,159,0,5,67,0,214,156,0,45,91,0,158,159,0,146,46,0,162,130,0,246,36, +0,184,161,0,239,27,0,57,135,0,193,18,0,0,130,0,80,6,0,43,127,0,204,252,255,121,98,0,205,6,0,111,114,0,67,6,0,82,135,0,16,248,255,241,107,0,181,10,0,129,111,0,168,8,0,198,114,0,219,24,0,249,130,0,144,24,0,44,129,0,182,32,0,13,132,0,107,30,0,208,151,0, +43,75,0,120,143,0,16,57,0,202,158,0,19,81,0,234,161,0,31,81,0,29,176,0,234,111,0,173,175,0,28,110,0,73,169,0,49,131,0,106,192,0,143,144,0,112,187,0,50,147,0,37,183,0,50,141,0,180,186,0,58,158,0,5,188,0,114,161,0,132,198,0,58,158,0,232,206,0,104,181,0, +55,180,0,173,188,0,38,201,0,141,183,0,163,199,0,23,186,0,63,201,0,174,198,0,138,195,0,125,204,0,75,199,0,56,197,0,182,202,0,205,193,0,199,185,0,167,195,0,74,185,0,192,187,0,252,215,0,38,210,0,94,192,0,94,205,0,94,192,0,54,181,0,142,176,0,28,169,0,199, +193,0,141,181,0,166,176,0,138,151,0,193,186,0,24,192,0,18,194,0,159,174,0,162,195,0,33,164,0,157,202,0,151,151,0,90,211,0,190,169,0,59,224,0,58,158,0,16,231,0,209,170,0,117,235,0,178,171,0,211,246,0,107,158,0,12,246,0,124,190,0,243,255,0,173,186,0,63, +4,1,250,206,0,161,240,0,181,209,0,89,10,1,106,205,0,219,5,1,39,218,0,226,6,1,102,222,0,131,253,0,39,216,0,15,24,1,10,237,0,107,9,1,192,248,0,183,15,1,192,248,0,188,10,1,56,4,1,138,8,1,144,10,1,195,19,1,194,18,1,40,18,1,93,8,1,170,13,1,79,246,0,207,11, +1,100,11,1,232,17,1,1,21,1,227,22,1,164,27,1,20,17,1,224,7,1,44,3,1,232,24,1,241,38,1,58,24,1,72,31,1,163,17,1,107,1,1,125,13,1,44,9,1,38,9,1,201,6,1,179,248,0,238,0,1,180,4,1,71,15,1,101,17,1,202,22,1,131,4,1,79,40,1,205,0,1,49,51,1,0,13,1,187,53,1, +190,37,1,1,73,1,20,20,1,90,81,1,162,9,1,253,95,1,120,24,1,42,107,1,47,44,1,54,109,1,35,46,1,212,112,1,190,39,1,119,121,1,141,41,1,244,131,1,243,63,1,19,129,1,49,64,1,107,131,1,18,63,1,105,117,1,98,56,1,163,134,1,207,77,1,137,118,1,6,69,1,155,111,1,93, +61,1,49,114,1,158,93,1,64,79,1,230,61,1,39,77,1,243,65,1,83,80,1,112,70,1,195,70,1,88,78,1,69,64,1,51,78,1,160,43,1,70,81,1,187,57,1,232,81,1,223,51,1,12,70,1,177,16,1,140,31,1,196,27,1,247,46,1,114,10,1,8,26,1,250,4,1,58,26,1,255,249,0,56,8,1,132,1, +1,60,247,0,67,241,0,92,242,0,166,225,0,145,219,0,242,239,0,60,233,0,59,218,0,219,209,0,71,218,0,38,208,0,132,200,0,30,191,0,127,213,0,157,207,0,138,201,0,160,184,0,113,205,0,185,176,0,50,193,0,186,194,0,171,216,0,128,175,0,33,216,0,206,199,0,52,213,0, +85,182,0,176,203,0,211,184,0,47,226,0,242,187,0,146,214,0,223,188,0,32,202,0,81,197,0,222,230,0,33,219,0,26,207,0,171,225,0,139,205,0,71,223,0,111,242,0,155,2,1,146,220,0,57,16,1,185,238,0,169,12,1,173,234,0,239,33,1,254,235,0,210,42,1,246,216,0,35,50, +1,166,225,0,184,38,1,138,254,0,100,66,1,49,250,0,72,34,1,149,244,0,153,41,1,27,219,0,83,28,1,84,222,0,1,15,1,34,228,0,82,22,1,153,225,0,144,12,1,84,214,0,6,8,1,60,232,0,150,11,1,71,212,0,128,236,0,233,216,0,127,228,0,252,221,0,163,214,0,144,200,0,210, +186,0,124,187,0,76,208,0,3,164,0,196,172,0,179,182,0,151,155,0,196,159,0,194,142,0,245,145,0,88,151,0,32,139,0,99,133,0,70,137,0,80,128,0,112,132,0,30,128,0,35,110,0,254,120,0,66,105,0,209,107,0,53,105,0,77,100,0,253,103,0,127,102,0,223,108,0,238,84, +0,89,89,0,63,88,0,158,90,0,0,78,0,144,76,0,75,82,0,57,82,0,144,87,0,139,83,0,251,88,0,125,71,0,200,82,0,95,88,0,218,77,0,32,72,0,170,101,0,0,77,0,193,67,0,2,83,0,108,93,0,20,80,0,106,87,0,183,90,0,140,102,0,58,88,0,152,106,0,233,92,0,34,105,0,21,92,0, +186,129,0,234,98,0,217,122,0,61,112,0,236,135,0,10,114,0,191,124,0,34,96,0,186,127,0,192,115,0,30,128,0,173,122,0,232,144,0,229,109,0,199,127,0,157,137,0,106,150,0,10,108,0,119,150,0,201,142,0,207,148,0,95,143,0,64,157,0,169,141,0,33,160,0,8,143,0,194, +142,0,76,144,0,150,143,0,252,158,0,120,164,0,27,154,0,3,169,0,148,175,0,147,180,0,172,163,0,64,157,0,134,163,0,182,150,0,243,190,0,139,161,0,206,194,0,191,177,0,95,206,0,84,174,0,1,211,0,67,187,0,2,213,0,142,185,0,218,245,0,132,215,0,211,246,0,88,210, +0,255,249,0,214,226,0,80,247,0,252,218,0,219,1,1,236,253,0,138,8,1,4,250,0,52,22,1,233,30,1,32,11,1,52,29,1,20,17,1,159,40,1,75,0,1,30,61,1,108,13,1,142,59,1,143,249,0,22,40,1,124,244,0,130,57,1,248,236,0,186,62,1,74,240,0,200,74,1,149,244,0,99,62,1, +161,240,0,255,59,1,129,229,0,62,60,1,147,224,0,95,24,1,190,227,0,59,38,1,46,212,0,127,23,1,90,217,0,194,12,1,151,207,0,107,12,1,213,203,0,157,18,1,107,200,0,227,226,0,107,202,0,214,226,0,12,193,0,220,219,0,199,189,0,31,201,0,129,170,0,181,203,0,37,189, +0,56,201,0,99,183,0,69,203,0,205,180,0,11,182,0,48,179,0,192,185,0,234,163,0,147,180,0,134,159,0,172,176,0,93,186,0,130,193,0,86,171,0,100,204,0,198,179,0,113,208,0,68,188,0,152,228,0,73,179,0,49,1,1,206,192,0,86,249,0,245,202,0,107,12,1,32,204,0,45, +24,1,164,211,0,246,34,1,77,219,0,172,44,1,90,217,0,186,56,1,9,222,0,23,52,1,123,234,0,198,56,1,16,229,0,29,49,1,3,217,0,33,28,1,35,232,0,161,60,1,53,221,0,47,42,1,17,239,0,145,24,1,183,218,0,2,23,1,58,210,0,13,13,1,96,216,0,232,20,1,220,212,0,124,1,1, +26,211,0,42,250,0,189,209,0,240,228,0,255,186,0,207,217,0,157,204,0,46,219,0,2,213,0,98,188,0,106,196,0,195,160,0,25,193,0,58,164,0,238,203,0,245,158,0,147,173,0,180,134,0,13,195,0,251,151,0,86,185,0,199,137,0,38,195,0,224,141,0,255,184,0,162,133,0,254, +168,0,32,148,0,16,170,0,8,160,0,58,143,0,188,147,0,14,150,0,232,152,0,238,140,0,185,176,0,43,131,0,90,165,0,91,111,0,246,166,0,179,113,0,58,164,0,88,77,0,9,168,0,220,90,0,4,177,0,55,58,0,127,169,0,210,49,0,213,145,0,122,51,0,108,160,0,74,63,0,70,156, +0,86,55,0,220,150,0,47,39,0,88,145,0,73,49,0,19,142,0,122,47,0,125,143,0,135,43,0,119,148,0,48,51,0,61,125,0,168,64,0,247,115,0,0,67,0,66,114,0,230,52,0,108,103,0,218,62,0,141,116,0,231,66,0,28,106,0,7,72,0,144,87,0,117,58,0,62,84,0,130,62,0,154,61,0, +221,29,0,96,44,0,191,44,0,221,46,0,60,45,0,83,40,0,254,42,0,39,39,0,246,25,0,119,22,0,31,5,0,201,31,0,191,241,255,136,7,0,217,255,255,188,19,0,151,213,255,185,249,255,226,211,255,117,2,0,224,191,255,78,242,255,17,192,255,168,14,0,57,208,255,212,15,0, +247,179,255,16,252,255,3,168,255,161,9,0,59,173,255,16,252,255,13,148,255,217,2,0,201,152,255,79,250,255,58,161,255,146,239,255,38,148,255,108,237,255,119,149,255,121,237,255,232,151,255,33,231,255,51,148,255,163,226,255,190,162,255,173,255,255,65,170, +255,8,235,255,191,174,255,116,248,255,139,164,255,110,251,255,172,175,255,184,243,255,123,183,255,185,247,255,30,194,255,104,250,255,143,200,255,92,0,0,119,208,255,8,233,255,157,208,255,202,230,255,240,235,255,227,232,255,234,234,255,226,226,255,4,241, +255,200,220,255,155,1,0,209,245,255,29,239,255,202,230,255,70,23,0,58,233,255,179,249,255,252,232,255,44,15,0,178,238,255,163,12,0,21,233,255,55,1,0,71,239,255,111,2,0,177,236,255,37,0,0,78,244,255,6,7,0,72,241,255,211,252,255,10,255,255,253,235,255, +182,225,255,106,7,0,159,245,255,140,225,255,8,237,255,10,240,255,109,241,255,110,236,255,28,244,255,247,238,255,28,246,255,21,232,255,60,255,255,240,221,255,147,247,255,196,222,255,53,248,255,120,216,255,159,235,255,76,221,255,214,234,255,166,233,255, +91,252,255,125,207,255,128,248,255,183,224,255,228,242,255,69,210,255,96,243,255,126,215,255,134,245,255,1,215,255,147,241,255,195,218,255,66,248,255,32,208,255,153,248,255,65,231,255,173,249,255,102,225,255,37,11,0,22,236,255,175,27,0,152,223,255,120, +34,0,217,247,255,52,37,0,135,246,255,15,47,0,67,253,255,78,55,0,164,221,255,215,49,0,179,239,255,60,54,0,43,7,0,102,43,0,43,7,0,37,74,0,51,18,0,179,59,0,12,2,0,114,37,0,183,23,0,45,34,0,31,11,0,46,46,0,176,18,0,8,42,0,51,20,0,197,52,0,195,25,0,32,28, +0,13,20,0,245,28,0,147,37,0,65,43,0,158,33,0,164,37,0,226,18,0,40,49,0,250,6,0,133,44,0,31,3,0,189,37,0,100,14,0,177,39,0,99,254,255,113,29,0,0,10,0,27,39,0,124,0,0,133,44,0,198,252,255,10,52,0,212,6,0,74,78,0,110,246,255,122,54,0,100,14,0,212,78,0,60, +250,255,150,76,0,8,21,0,94,85,0,227,36,0,80,75,0,187,4,0,112,74,0,215,42,0,202,96,0,178,44,0,250,86,0,145,27,0,114,96,0,162,67,0,75,82,0,167,54,0,106,83,0,238,75,0,137,84,0,37,67,0,167,69,0,118,64,0,50,80,0,186,61,0,40,45,0,128,48,0,134,46,0,111,57,0, +239,33,0,135,49,0,231,14,0,216,46,0,24,13,0,152,32,0,229,250,255,171,35,0,204,246,255,145,23,0,45,235,255,133,27,0,214,226,255,150,12,0,132,221,255,51,20,0,52,234,255,6,11,0,88,216,255,42,251,255,213,218,255,205,255,255,102,234,255,226,14,0,153,242,255, +55,253,255,135,251,255,193,3,0,181,16,0,125,16,0,91,250,255,0,4,0,104,4,0,143,7,0,149,11,0,150,16,0,45,38,0,175,10,0,39,31,0,80,1,0,210,50,0,37,8,0,196,46,0,69,9,0,98,66,0,187,6,0,6,71,0,0,4,0,130,65,0,13,12,0,24,72,0,71,31,0,30,69,0,194,11,0,61,72,0, +102,26,0,13,80,0,255,1,0,57,36,0,130,5,0,11,64,0,236,254,255,215,43,0,121,232,255,2,35,0,105,251,255,137,15,0,112,0,0,217,252,255,78,235,255,20,229,255,73,246,255,163,218,255,97,234,255,125,216,255,158,216,255,59,182,255,232,214,255,159,172,255,182,208, +255,81,154,255,245,216,255,99,141,255,176,207,255,27,110,255,76,211,255,59,113,255,75,199,255,238,98,255,111,191,255,174,86,255,205,192,255,93,83,255,142,186,255,184,62,255,237,201,255,47,66,255,238,207,255,23,78,255,37,201,255,166,67,255,136,189,255, +18,89,255,88,209,255,92,67,255,44,208,255,154,73,255,199,201,255,37,92,255,69,212,255,237,88,255,254,186,255,120,99,255,230,192,255,21,107,255,136,195,255,15,110,255,250,201,255,171,117,255,81,196,255,149,135,255,36,193,255,29,128,255,255,190,255,50, +153,255,3,176,255,48,131,255,236,187,255,142,140,255,236,187,255,117,140,255,91,176,255,20,166,255,222,173,255,154,128,255,168,198,255,131,154,255,42,188,255,6,150,255,8,167,255,17,134,255,135,181,255,220,166,255,224,187,255,209,125,255,93,196,255,61, +137,255,106,204,255,74,149,255,229,182,255,214,114,255,199,193,255,103,126,255,180,192,255,241,128,255,186,191,255,122,123,255,255,194,255,26,106,255,205,192,255,101,96,255,112,197,255,112,88,255,135,187,255,180,75,255,143,196,255,109,58,255,249,199, +255,115,51,255,212,193,255,239,41,255,37,203,255,19,30,255,129,186,255,250,31,255,12,201,255,49,19,255,175,199,255,149,25,255,36,189,255,19,32,255,93,200,255,26,33,255,43,200,255,120,44,255,63,209,255,38,31,255,145,214,255,15,57,255,181,204,255,7,36, +255,194,206,255,69,38,255,214,219,255,91,61,255,255,198,255,134,58,255,228,227,255,199,82,255,108,220,255,204,77,255,9,232,255,151,102,255,188,215,255,113,96,255,182,210,255,199,88,255,120,220,255,78,120,255,241,243,255,234,115,255,109,234,255,198,129, +255,172,234,255,25,151,255,118,5,0,163,157,255,235,242,255,238,155,255,71,29,0,58,170,255,82,19,0,13,163,255,60,45,0,178,179,255,191,40,0,79,197,255,160,43,0,72,192,255,12,65,0,203,183,255,106,66,0,141,189,255,213,77,0,173,196,255,131,76,0,40,183,255, +182,78,0,59,180,255,237,65,0,178,175,255,28,99,0,133,174,255,172,100,0,64,175,255,183,90,0,23,190,255,27,93,0,180,142,255,27,93,0,138,163,255,84,94,0,80,136,255,233,82,0,35,127,255,231,70,0,134,123,255,188,75,0,127,114,255,211,59,0,225,96,255,62,69,0, +249,86,255,185,43,0,173,70,255,210,47,0,4,75,255,146,31,0,110,72,255,220,23,0,65,53,255,146,39,0,196,56,255,51,18,0,242,20,255,55,253,255,242,10,255,76,20,0,197,5,255,135,246,255,251,236,254,24,0,0,32,231,254,211,252,255,149,222,254,90,229,255,180,213, +254,108,230,255,35,202,254,71,230,255,0,218,254,126,215,255,110,204,254,221,222,255,177,185,254,83,226,255,128,193,254,240,225,255,17,205,254,179,243,255,236,210,254,127,227,255,0,222,254,36,254,255,127,240,254,105,253,255,45,239,254,24,254,255,162,228, +254,182,19,0,79,6,255,84,45,0,67,14,255,150,71,0,116,8,255,64,85,0,112,27,255,52,91,0,157,40,255,2,91,0,197,66,255,49,120,0,205,83,255,155,127,0,44,91,255,169,131,0,171,115,255,207,141,0,22,123,255,227,148,0,43,146,255,158,153,0,19,158,255,171,151,0, +247,186,255,145,153,0,110,192,255,102,154,0,167,197,255,229,174,0,156,207,255,33,147,0,151,222,255,66,160,0,212,212,255,139,150,0,76,224,255,35,167,0,208,227,255,73,169,0,237,216,255,96,159,0,99,208,255,203,162,0,186,200,255,59,165,0,254,199,255,60,167, +0,174,206,255,247,169,0,180,195,255,136,185,0,172,186,255,13,197,0,113,218,255,187,195,0,117,199,255,158,208,0,211,200,255,59,228,0,18,207,255,203,229,0,232,223,255,125,248,0,100,210,255,182,13,1,63,220,255,240,26,1,39,230,255,215,28,1,240,240,255,248, +47,1,60,255,255,237,55,1,160,1,0,194,64,1,74,9,0,158,82,1,5,6,0,171,84,1,187,21,0,149,112,1,24,15,0,248,100,1,137,21,0,121,82,1,55,2,0,174,114,1,105,8,0,67,107,1,242,4,0,179,101,1,104,254,255,239,75,1,122,245,255,101,77,1,163,226,255,252,91,1,27,234, +255,93,60,1,168,211,255,115,87,1,236,202,255,7,72,1,69,213,255,16,34,1,73,190,255,236,51,1,97,184,255,67,48,1,179,187,255,243,52,1,239,167,255,87,63,1,197,182,255,225,65,1,15,179,255,18,50,1,35,190,255,25,55,1,95,172,255,255,56,1,200,157,255,145,70,1, +28,179,255,243,58,1,64,169,255,215,83,1,171,174,255,101,77,1,172,178,255,110,92,1,79,197,255,143,109,1,73,200,255,243,115,1,88,216,255,206,115,1,15,240,255,194,123,1,126,224,255,181,119,1,15,236,255,244,129,1,42,2,0,71,141,1,38,23,0,137,116,1,93,14,0, +233,143,1,158,34,0,52,144,1,141,51,0,153,156,1,200,23,0,233,137,1,190,47,0,129,168,1,236,64,0,91,156,1,91,51,0,115,148,1,64,41,0,79,168,1,122,48,0,134,149,1,184,48,0,9,149,1,27,39,0,188,128,1,45,34,0,170,137,1,213,23,0,139,132,1,5,6,0,174,110,1,54,4, +0,182,129,1,123,255,255,249,116,1,7,229,255,223,102,1,125,220,255,205,109,1,243,209,255,66,97,1,96,233,255,198,102,1,162,204,255,220,76,1,192,197,255,128,91,1,229,199,255,183,78,1,167,199,255,25,63,1,4,191,255,71,78,1,43,207,255,132,70,1,109,182,255, +62,63,1,73,190,255,224,57,1,71,180,255,194,62,1,121,176,255,124,51,1,8,170,255,188,61,1,67,203,255,147,86,1,255,201,255,188,65,1,153,189,255,239,77,1,141,189,255,7,72,1,99,204,255,67,105,1,237,214,255,4,109,1,124,204,255,186,104,1,101,226,255,247,98, +1,105,203,255,120,133,1,108,231,255,6,123,1,239,234,255,146,143,1,176,228,255,178,154,1,196,239,255,203,156,1,32,223,255,36,171,1,34,245,255,111,177,1,8,235,255,73,161,1,46,233,255,61,177,1,146,233,255,149,169,1,103,238,255,218,178,1,220,227,255,213, +183,1,197,245,255,68,176,1,208,233,255,44,184,1,9,249,255,218,178,1,70,221,255,175,181,1,240,242,255,100,185,1,116,248,255,30,174,1,215,242,255,117,168,1,52,236,255,173,165,1,33,233,255,4,164,1,146,235,255,251,134,1,137,214,255,134,149,1,189,228,255, +164,138,1,13,216,255,215,144,1,200,212,255,94,127,1,155,195,255,112,122,1,62,208,255,144,127,1,66,185,255,34,147,1,229,193,255,6,115,1,92,193,255,173,108,1,86,202,255,212,116,1,54,195,255,149,114,1,42,199,255,124,116,1,176,224,255,144,123,1,206,209,255, +175,122,1,70,229,255,119,121,1,140,242,255,25,128,1,184,245,255,120,139,1,48,7,0,201,130,1,237,11,0,2,142,1,33,44,0,101,140,1,14,35,0,166,152,1,128,55,0,117,170,1,143,81,0,61,171,1,101,92,0,168,176,1,202,100,0,180,170,1,169,87,0,221,208,1,222,111,0,240, +203,1,21,107,0,4,215,1,85,117,0,34,210,1,61,125,0,78,217,1,182,152,0,49,234,1,32,146,0,243,241,1,132,154,0,243,241,1,32,150,0,229,225,1,224,137,0,10,216,1,197,121,0,3,217,1,36,125,0,77,211,1,147,115,0,223,230,1,11,123,0,2,199,1,84,105,0,103,213,1,165, +106,0,25,183,1,188,86,0,112,185,1,125,76,0,99,173,1,253,51,0,4,160,1,171,46,0,252,144,1,220,34,0,219,121,1,94,30,0,11,114,1,100,23,0,234,94,1,84,245,255,201,75,1,97,245,255,27,75,1,191,244,255,219,64,1,64,232,255,131,60,1,53,248,255,186,51,1,97,245,255, +174,53,1,173,3,0,215,30,1,123,253,255,112,49,1,4,252,255,213,67,1,168,8,0,155,48,1,106,16,0,1,77,1,224,15,0,137,63,1,119,16,0,190,83,1,82,36,0,233,80,1,113,29,0,10,96,1,158,38,0,99,110,1,101,35,0,235,98,1,21,42,0,22,94,1,159,52,0,73,102,1,18,79,0,161, +106,1,62,74,0,34,90,1,75,80,0,211,108,1,44,85,0,9,90,1,212,80,0,126,71,1,237,80,0,90,85,1,89,98,0,205,52,1,248,66,0,173,43,1,167,59,0,224,57,1,92,63,0,22,37,1,150,84,0,40,26,1,187,80,0,107,9,1,31,77,0,40,26,1,199,74,0,101,8,1,62,76,0,106,255,0,104,67, +0,236,242,0,112,74,0,23,242,0,204,53,0,10,234,0,115,47,0,221,218,0,158,44,0,197,222,0,244,26,0,14,203,0,85,251,255,1,201,0,54,0,0,113,199,0,222,243,255,13,201,0,43,209,255,45,200,0,80,205,255,70,204,0,116,189,255,27,215,0,124,208,255,7,198,0,116,185, +255,189,211,0,110,194,255,82,200,0,120,172,255,235,232,0,36,206,255,222,228,0,89,175,255,208,218,0,216,193,255,140,219,0,54,187,255,211,240,0,179,191,255,98,242,0,91,195,255,206,251,0,68,201,255,81,247,0,171,229,255,118,249,0,88,222,255,138,8,1,150,220, +255,93,249,0,59,239,255,109,21,1,84,241,255,251,6,1,112,15,0,17,42,1,120,28,0,184,27,1,219,26,0,23,49,1,41,53,0,165,28,1,15,47,0,92,38,1,57,89,0,78,30,1,75,90,0,117,42,1,134,111,0,42,38,1,127,106,0,221,27,1,241,110,0,23,39,1,80,134,0,71,25,1,230,128, +0,103,30,1,30,126,0,32,5,1,241,114,0,212,254,0,185,121,0,166,235,0,134,105,0,228,229,0,58,101,0,145,206,0,65,102,0,9,220,0,243,81,0,150,193,0,210,64,0,188,201,0,231,81,0,175,199,0,241,55,0,119,192,0,146,44,0,112,189,0,44,24,0,217,178,0,139,33,0,160,171, +0,207,32,0,249,179,0,223,255,255,73,173,0,118,12,0,3,158,0,231,14,0,99,177,0,148,255,255,253,170,0,23,253,255,241,172,0,166,244,255,254,168,0,79,250,255,6,190,0,148,253,255,87,183,0,8,231,255,205,186,0,171,229,255,24,181,0,226,226,255,218,190,0,140,246, +255,244,198,0,173,1,0,199,189,0,98,3,0,5,178,0,88,25,0,97,167,0,0,19,0,97,167,0,157,32,0,227,156,0,159,42,0,95,147,0,214,41,0,207,137,0,160,64,0,28,105,0,191,53,0,210,108,0,229,59,0,91,105,0,224,70,0,130,62,0,30,67,0,230,58,0,29,57,0,109,39,0,60,60,0, +190,32,0,197,52,0,95,21,0,227,41,0,14,24,0,66,55,0,66,237,255,89,35,0,229,249,255,252,33,0,233,226,255,237,11,0,87,199,255,73,253,255,232,208,255,5,6,0,87,203,255,241,254,255,218,196,255,122,251,255,236,187,255,34,245,255,72,177,255,196,239,255,123,183, +255,69,213,255,215,172,255,75,220,255,146,165,255,144,217,255,102,156,255,80,203,255,14,164,255,161,206,255,197,171,255,156,217,255,126,152,255,199,204,255,222,173,255,8,231,255,245,153,255,224,206,255,24,138,255,235,196,255,64,154,255,125,220,255,120, +151,255,125,214,255,190,168,255,55,201,255,10,179,255,16,189,255,46,163,255,59,180,255,79,180,255,222,188,255,72,181,255,178,183,255,54,186,255,248,192,255,84,171,255,50,151,255,204,176,255,82,166,255,62,197,255,222,188,255,16,178,255,178,179,255,104, +180,255,237,210,255,168,190,255,236,202,255,160,179,255,100,216,255,92,192,255,119,219,255,217,184,255,108,227,255,112,193,255,3,242,255,141,178,255,3,242,255,60,179,255,255,8,0,84,171,255,174,5,0,209,171,255,83,34,0,78,174,255,229,61,0,214,156,255,67, +63,0,241,174,255,175,82,0,214,156,255,109,115,0,142,182,255,216,118,0,246,169,255,46,107,0,214,160,255,130,132,0,210,181,255,32,150,0,128,168,255,94,146,0,199,201,255,202,163,0,40,176,255,83,162,0,125,205,255,184,174,0,174,193,255,64,157,0,50,207,255, +132,150,0,57,214,255,58,154,0,214,213,255,113,149,0,176,211,255,135,123,0,100,205,255,221,105,0,63,211,255,48,121,0,44,206,255,82,89,0,103,231,255,39,96,0,246,222,255,80,75,0,75,205,255,221,42,0,7,212,255,63,33,0,26,215,255,39,31,0,198,189,255,113,23, +0,235,177,255,55,6,0,229,180,255,188,23,0,226,158,255,255,6,0,58,157,255,179,250,255,83,157,255,241,250,255,81,141,255,38,226,255,230,133,255,215,232,255,173,116,255,160,251,255,28,109,255,53,248,255,152,107,255,96,239,255,207,90,255,191,244,255,24,75, +255,29,4,0,11,73,255,205,12,0,103,52,255,17,4,0,59,49,255,231,18,0,15,50,255,242,0,0,195,37,255,81,18,0,52,38,255,74,15,0,194,25,255,171,36,0,76,30,255,231,16,0,152,34,255,100,27,0,16,56,255,63,33,0,158,35,255,163,25,0,22,51,255,51,35,0,21,37,255,63, +25,0,99,65,255,200,21,0,34,45,255,141,248,255,105,72,255,55,8,0,162,71,255,101,228,255,243,70,255,57,229,255,11,67,255,74,212,255,150,77,255,248,200,255,153,50,255,67,197,255,116,52,255,134,178,255,53,52,255,197,182,255,1,26,255,152,173,255,83,39,255, +201,167,255,63,24,255,90,173,255,90,237,254,250,157,255,42,253,254,75,155,255,83,234,254,142,136,255,13,223,254,85,129,255,32,216,254,18,146,255,99,209,254,173,135,255,198,203,254,69,150,255,43,204,254,87,145,255,193,214,254,12,145,255,46,177,254,99, +141,255,40,178,254,197,131,255,34,181,254,193,150,255,159,181,254,110,131,255,45,165,254,9,117,255,101,168,254,54,132,255,13,158,254,183,109,255,65,180,254,230,142,255,252,166,254,103,120,255,140,180,254,215,120,255,66,188,254,228,124,255,247,185,254, +147,115,255,105,198,254,90,120,255,236,199,254,29,128,255,11,201,254,185,129,255,224,211,254,85,131,255,2,231,254,31,154,255,137,211,254,92,134,255,126,221,254,44,158,255,95,224,254,143,148,255,169,222,254,226,161,255,233,232,254,76,159,255,177,243,254, +249,145,255,83,230,254,194,160,255,12,215,254,14,169,255,232,224,254,169,152,255,50,215,254,58,170,255,118,210,254,207,162,255,193,208,254,179,132,255,49,205,254,143,148,255,248,197,254,33,164,255,248,197,254,100,157,255,151,166,254,38,153,255,176,164, +254,197,131,255,170,167,254,46,178,255,170,161,254,0,151,255,186,146,254,46,174,255,94,153,254,83,172,255,99,148,254,152,173,255,81,151,254,15,183,255,34,118,254,201,161,255,85,124,254,122,192,255,228,123,254,140,175,255,209,120,254,33,172,255,72,120, +254,9,176,255,247,122,254,8,168,255,146,110,254,145,158,255,151,103,254,232,162,255,240,119,254,93,144,255,196,116,254,244,160,255,152,111,254,20,162,255,196,110,254,125,153,255,44,92,254,29,138,255,185,124,254,6,158,255,147,118,254,193,144,255,114,101, +254,156,150,255,77,111,254,195,164,255,189,101,254,18,146,255,185,134,254,237,147,255,22,126,254,93,144,255,85,128,254,161,139,255,17,137,254,22,129,255,180,143,254,42,136,255,174,138,254,199,143,255,42,127,254,123,137,255,211,132,254,205,138,255,67, +135,254,147,129,255,146,114,254,149,139,255,115,113,254,85,127,255,172,126,254,105,138,255,167,137,254,75,153,255,63,99,254,85,135,255,126,109,254,54,124,255,95,102,254,134,123,255,246,110,254,104,132,255,94,100,254,127,112,255,194,90,254,4,130,255,225, +97,254,152,108,255,0,89,254,208,109,255,199,79,254,0,98,255,232,96,254,45,109,255,60,122,254,159,115,255,26,99,254,151,106,255,108,104,254,214,114,255,164,111,254,134,117,255,166,125,254,170,109,255,3,123,254,238,102,255,73,128,254,189,104,255,154,127, +254,122,123,255,169,90,254,213,96,255,249,146,254,141,124,255,197,128,254,114,102,255,153,125,254,181,93,255,159,118,254,21,113,255,80,137,254,88,98,255,184,120,254,96,107,255,52,111,254,180,83,255,33,108,254,61,76,255,46,108,254,44,87,255,167,80,254, +17,73,255,24,79,254,178,63,255,250,93,254,49,76,255,10,69,254,237,94,255,13,38,254,81,81,255,57,43,254,213,92,255,137,26,254,168,83,255,192,13,254,61,78,255,7,31,254,245,101,255,149,16,254,93,79,255,219,33,254,68,89,255,254,11,254,194,97,255,130,13,254, +29,75,255,137,24,254,60,64,255,162,28,254,155,81,255,21,51,254,103,53,255,152,52,254,41,65,255,141,62,254,3,59,255,198,73,254,221,60,255,167,74,254,15,55,255,182,100,254,172,62,255,233,104,254,197,58,255,146,116,254,241,67,255,209,116,254,216,61,255, +230,141,254,154,71,255,12,148,254,230,83,255,180,145,254,191,67,255,122,183,254,63,94,255,152,174,254,147,62,255,246,175,254,114,49,255,66,192,254,241,65,255,145,171,254,155,79,255,60,187,254,115,57,255,219,159,254,190,59,255,81,155,254,147,58,255,114, +164,254,70,42,255,197,128,254,214,47,255,193,141,254,200,37,255,10,128,254,76,37,255,39,99,254,62,23,255,164,101,254,27,49,255,6,82,254,131,26,255,186,79,254,141,12,255,228,60,254,5,24,255,140,56,254,141,12,255,60,65,254,156,32,255,160,69,254,192,14, +255,221,57,254,130,18,255,192,70,254,38,35,255,38,36,254,157,36,255,23,65,254,20,36,255,198,73,254,147,62,255,179,64,254,65,47,255,48,75,254,128,61,255,1,93,254,27,55,255,192,74,254,203,61,255,14,107,254,29,67,255,121,110,254,184,66,255,96,116,254,178, +63,255,9,120,254,155,81,255,234,126,254,154,71,255,160,134,254,112,86,255,230,145,254,174,86,255,131,151,254,35,72,255,19,161,254,186,86,255,99,146,254,153,61,255,217,143,254,184,66,255,237,154,254,108,42,255,87,144,254,126,39,255,50,144,254,226,43,255, +64,164,254,63,27,255,185,134,254,188,37,255,211,136,254,131,32,255,93,151,254,87,25,255,122,124,254,253,248,254,3,123,254,94,30,255,196,114,254,155,16,255,41,129,254,54,12,255,120,104,254,154,10,255,46,118,254,207,32,255,1,97,254,117,12,255,132,96,254, +107,34,255,151,101,254,223,11,255,15,117,254,99,21,255,193,84,254,33,42,255,44,96,254,6,28,255,65,117,254,149,29,255,34,120,254,239,47,255,132,106,254,239,51,255,14,107,254,216,65,255,146,110,254,97,62,255,172,132,254,28,57,255,205,139,254,173,70,255, +142,133,254,170,52,255,87,152,254,61,70,255,180,143,254,229,73,255,6,149,254,155,75,255,225,156,254,152,47,255,161,142,254,77,47,255,224,142,254,197,62,255,201,158,254,196,60,255,126,158,254,184,62,255,75,154,254,221,56,255,81,153,254,133,52,255,169, +159,254,78,57,255,126,162,254,253,63,255,19,155,254,84,58,255,132,169,254,17,73,255,0,158,254,163,37,255,174,152,254,83,46,255,163,162,254,77,55,255,45,159,254,133,44,255,187,154,254,75,35,255,68,149,254,36,21,255,68,147,254,42,18,255,174,148,254,23, +5,255,12,146,254,48,7,255,105,143,254,41,0,255,11,134,254,28,254,254,237,144,254,39,242,254,6,145,254,213,232,254,136,136,254,189,238,254,10,132,254,58,241,254,103,123,254,206,225,254,131,151,254,58,239,254,162,154,254,144,231,254,106,149,254,240,252, +254,133,167,254,233,247,254,87,152,254,83,243,254,104,194,254,222,251,254,106,208,254,216,6,255,79,190,254,22,255,254,249,205,254,70,36,255,30,196,254,120,40,255,225,217,254,231,34,255,81,212,254,95,42,255,176,229,254,245,48,255,158,232,254,246,50,255, +240,241,254,172,58,255,182,222,254,142,77,255,226,221,254,11,84,255,184,248,254,245,111,255,252,229,254,25,98,255,122,246,254,196,115,255,128,249,254,48,131,255,171,240,254,68,146,255,252,233,254,143,142,255,47,242,254,32,160,255,167,255,254,207,166, +255,191,249,254,44,158,255,92,7,255,189,171,255,73,4,255,190,183,255,42,7,255,110,188,255,197,254,254,169,160,255,112,18,255,60,190,255,175,24,255,142,199,255,20,33,255,47,184,255,171,39,255,4,195,255,204,56,255,137,210,255,124,71,255,16,191,255,206, +84,255,55,201,255,163,85,255,166,189,255,220,100,255,73,200,255,40,105,255,216,189,255,205,127,255,204,189,255,79,127,255,24,204,255,104,127,255,72,186,255,244,147,255,253,187,255,81,139,255,210,186,255,182,149,255,182,160,255,169,143,255,77,173,255, +105,135,255,140,173,255,131,137,255,107,156,255,249,136,255,231,152,255,113,142,255,27,167,255,118,131,255,102,167,255,243,133,255,232,162,255,172,110,255,39,171,255,227,103,255,244,162,255,77,103,255,155,138,255,244,92,255,206,154,255,243,78,255,81, +144,255,131,80,255,90,116,255,45,94,255,62,147,255,201,89,255,67,134,255,175,77,255,3,126,255,68,78,255,28,126,255,132,92,255,90,116,255,133,96,255,129,128,255,201,93,255,248,129,255,215,105,255,231,146,255,64,91,255,150,151,255,79,123,255,39,161,255, +79,127,255,239,171,255,248,132,255,172,184,255,187,140,255,21,180,255,88,146,255,231,209,255,39,158,255,37,208,255,4,184,255,244,217,255,29,190,255,71,237,255,139,213,255,241,246,255,99,201,255,96,239,255,168,196,255,35,247,255,75,213,255,167,2,0,140, +229,255,136,9,0,195,220,255,238,19,0,246,224,255,119,16,0,55,251,255,212,13,0,249,254,255,224,5,0,130,253,255,7,26,0,107,25,0,248,3,0,69,19,0,24,11,0,115,32,0,230,8,0,84,37,0,66,252,255,41,42,0,61,7,0,109,41,0,211,3,0,103,38,0,168,8,0,248,55,0,156,18, +0,140,34,0,230,2,0,181,72,0,74,9,0,23,57,0,48,3,0,36,55,0,148,1,0,151,87,0,144,26,0,199,63,0,154,0,0,117,56,0,167,4,0,169,76,0,192,0,0,244,72,0,149,11,0,25,77,0,130,2,0,173,51,0,99,13,0,168,60,0,105,8,0,19,76,0,161,5,0,49,57,0,189,37,0,67,54,0,63,25, +0,162,67,0,51,35,0,79,54,0,145,28,0,243,60,0,28,45,0,73,53,0,147,48,0,237,63,0,227,41,0,151,77,0,252,33,0,82,72,0,191,55,0,162,63,0,228,49,0,62,63,0,247,52,0,255,60,0,129,53,0,193,64,0,23,64,0,56,66,0,173,60,0,182,80,0,224,78,0,92,54,0,54,61,0,149,63, +0,132,85,0,119,82,0,243,75,0,82,80,0,19,85,0,208,88,0,212,80,0,76,81,0,192,65,0,170,80,0,161,62,0,139,89,0,24,74,0,95,86,0,223,66,0,168,60,0,210,64,0,163,71,0,103,55,0,250,79,0,140,45,0,52,83,0,159,52,0,38,77,0,131,14,0,193,70,0,133,40,0,181,72,0,132, +26,0,118,68,0,70,28,0,7,78,0,181,24,0,14,85,0,171,36,0,120,80,0,57,28,0,68,68,0,218,18,0,108,92,0,69,26,0,252,95,0,237,21,0,140,95,0,201,29,0,35,110,0,82,32,0,209,94,0,246,40,0,172,106,0,89,35,0,185,112,0,122,48,0,142,111,0,75,19,0,125,134,0,153,51,0, +242,117,0,96,42,0,231,129,0,34,48,0,82,135,0,216,51,0,201,140,0,131,77,0,151,140,0,1,31,0,158,149,0,227,41,0,239,152,0,173,66,0,187,136,0,32,32,0,119,141,0,228,45,0,167,119,0,125,27,0,245,147,0,127,39,0,50,134,0,44,24,0,136,122,0,25,27,0,173,114,0,18, +8,0,44,129,0,142,10,0,239,146,0,239,27,0,205,123,0,94,24,0,178,107,0,231,10,0,85,104,0,38,23,0,160,112,0,19,24,0,80,117,0,192,2,0,242,117,0,105,8,0,186,122,0,232,32,0,250,128,0,64,35,0,187,128,0,113,27,0,142,125,0,125,23,0,231,129,0,172,48,0,13,142,0, +158,44,0,58,151,0,215,49,0,119,139,0,51,35,0,251,146,0,142,63,0,193,129,0,99,72,0,78,154,0,49,78,0,76,140,0,129,63,0,83,147,0,236,72,0,8,153,0,25,82,0,9,159,0,188,88,0,188,144,0,12,74,0,46,149,0,176,98,0,208,155,0,119,87,0,197,165,0,128,112,0,59,157, +0,221,105,0,177,158,0,198,119,0,120,200,0,173,125,0,198,175,0,78,114,0,48,169,0,54,120,0,168,188,0,209,115,0,194,200,0,229,116,0,237,193,0,167,128,0,63,201,0,254,122,0,127,213,0,161,135,0,71,216,0,26,145,0,201,207,0,173,129,0,202,215,0,150,147,0,170, +210,0,37,141,0,197,232,0,182,150,0,114,209,0,99,137,0,3,221,0,43,132,0,246,224,0,230,128,0,203,219,0,166,114,0,146,222,0,132,95,0,139,211,0,94,79,0,62,193,0,17,67,0,6,186,0,158,36,0,93,190,0,200,13,0,128,164,0,30,16,0,42,172,0,42,6,0,80,182,0,78,244, +255,9,157,0,113,226,255,171,159,0,1,228,255,107,143,0,80,209,255,140,154,0,187,208,255,238,134,0,217,195,255,60,114,0,148,200,255,92,119,0,129,191,255,154,115,0,224,202,255,162,130,0,68,205,255,243,125,0,75,214,255,174,124,0,225,216,255,193,125,0,145, +227,255,49,122,0,87,11,0,193,123,0,228,244,255,118,125,0,154,254,255,144,139,0,143,8,0,162,130,0,217,252,255,214,142,0,162,11,0,77,146,0,231,24,0,251,142,0,243,12,0,252,156,0,162,11,0,102,154,0,219,22,0,238,134,0,180,12,0,226,142,0,86,7,0,240,154,0,84, +245,255,68,127,0,252,240,255,254,115,0,172,245,255,116,107,0,27,240,255,233,86,0,80,201,255,239,83,0,121,176,255,1,75,0,69,158,255,17,46,0,156,154,255,202,36,0,227,112,255,109,37,0,250,100,255,65,34,0,52,104,255,6,5,0,126,106,255,174,4,0,143,79,255,14, +22,0,250,92,255,169,13,0,206,93,255,181,9,0,60,68,255,68,1,0,23,72,255,230,251,255,104,69,255,67,255,255,223,80,255,12,4,0,199,88,255,42,255,255,87,82,255,214,20,0,37,92,255,188,8,0,81,95,255,31,11,0,195,109,255,238,16,0,196,113,255,185,47,0,203,124, +255,211,57,0,180,146,255,228,34,0,168,146,255,23,49,0,176,163,255,208,29,0,46,176,255,117,54,0,79,197,255,167,56,0,99,198,255,17,50,0,167,193,255,192,62,0,187,208,255,73,49,0,47,192,255,235,49,0,30,201,255,35,41,0,53,179,255,85,51,0,174,204,255,228,38, +0,105,199,255,252,28,0,116,185,255,2,28,0,204,197,255,1,18,0,140,183,255,58,33,0,133,174,255,228,42,0,213,165,255,177,36,0,44,156,255,95,31,0,44,160,255,2,30,0,61,133,255,190,38,0,60,129,255,234,39,0,134,115,255,83,27,0,246,119,255,58,27,0,190,122,255, +160,53,0,141,118,255,141,44,0,60,121,255,196,35,0,239,110,255,116,40,0,228,118,255,8,27,0,246,115,255,46,29,0,97,129,255,184,35,0,110,135,255,84,35,0,195,162,255,240,34,0,242,138,255,141,40,0,81,144,255,154,56,0,151,163,255,167,62,0,246,178,255,243,70, +0,48,190,255,106,72,0,82,223,255,18,60,0,90,236,255,83,86,0,9,245,255,157,80,0,109,241,255,27,89,0,41,254,255,219,82,0,82,26,0,90,93,0,51,33,0,231,129,0,104,57,0,106,133,0,149,68,0,56,123,0,125,80,0,19,139,0,209,105,0,134,167,0,153,112,0,17,178,0,42, +124,0,0,193,0,230,138,0,51,207,0,182,150,0,141,227,0,102,163,0,96,218,0,246,166,0,165,219,0,201,161,0,16,223,0,170,164,0,39,10,1,154,183,0,118,253,0,147,174,0,137,0,1,159,168,0,1,12,1,188,145,0,244,5,1,41,177,0,250,4,1,170,156,0,114,14,1,244,146,0,39, +20,1,217,126,0,82,5,1,12,131,0,219,11,1,123,127,0,250,8,1,146,107,0,44,1,1,10,119,0,212,0,1,220,87,0,238,0,1,220,97,0,144,5,1,246,103,0,139,14,1,38,90,0,58,17,1,120,95,0,88,8,1,234,107,0,23,234,0,96,103,0,132,5,1,166,120,0,4,235,0,146,105,0,179,235,0, +22,115,0,5,251,0,73,129,0,11,242,0,42,122,0,60,232,0,73,121,0,115,221,0,104,116,0,26,211,0,15,104,0,128,221,0,142,126,0,213,207,0,218,130,0,126,207,0,240,106,0,49,181,0,101,98,0,224,189,0,196,105,0,11,181,0,146,103,0,178,166,0,115,110,0,245,153,0,98, +70,0,102,154,0,87,84,0,114,152,0,229,57,0,198,112,0,11,60,0,86,118,0,22,54,0,148,112,0,150,21,0,174,120,0,6,71,0,53,105,0,200,23,0,216,103,0,44,30,0,117,111,0,244,22,0,11,118,0,44,26,0,191,105,0,14,37,0,131,129,0,2,37,0,74,124,0,90,53,0,48,114,0,27,41, +0,186,120,0,214,35,0,189,152,0,101,25,0,190,158,0,147,48,0,19,139,0,129,53,0,254,176,0,166,61,0,37,187,0,34,50,0,124,187,0,193,77,0,99,187,0,95,91,0,175,195,0,245,95,0,187,189,0,138,82,0,144,198,0,7,85,0,46,212,0,208,93,0,94,202,0,112,84,0,153,221,0, +245,91,0,131,196,0,21,101,0,63,201,0,60,119,0,76,201,0,120,93,0,56,190,0,108,101,0,3,158,0,232,91,0,44,139,0,239,94,0,180,127,0,236,66,0,80,115,0,155,69,0,198,116,0,121,46,0,189,87,0,9,46,0,195,86,0,213,23,0,145,80,0,95,32,0,10,47,0,203,242,255,36,59, +0,40,246,255,42,50,0,89,228,255,250,10,0,182,221,255,49,254,255,73,200,255,91,247,255,159,182,255,29,243,255,172,186,255,72,234,255,176,169,255,207,218,255,75,151,255,65,225,255,174,139,255,19,212,255,35,127,255,188,211,255,161,133,255,49,195,255,214, +110,255,168,204,255,46,117,255,79,186,255,0,94,255,40,176,255,151,98,255,209,175,255,130,79,255,216,176,255,131,87,255,57,153,255,24,80,255,188,146,255,247,58,255,65,162,255,42,71,255,114,160,255,11,84,255,95,157,255,47,62,255,214,156,255,93,83,255,133, +161,255,242,83,255,173,120,255,211,82,255,200,142,255,190,116,255,126,154,255,228,126,255,31,143,255,134,115,255,26,158,255,53,122,255,52,162,255,254,130,255,179,123,255,129,124,255,157,151,255,144,156,255,105,135,255,212,147,255,175,142,255,70,164,255, +236,134,255,199,143,255,94,139,255,169,152,255,32,153,255,174,139,255,163,148,255,179,134,255,113,148,255,228,128,255,188,148,255,136,137,255,62,144,255,215,116,255,7,151,255,53,122,255,202,162,255,149,143,255,146,159,255,16,122,255,126,152,255,172,123, +255,104,176,255,178,124,255,2,162,255,29,138,255,125,144,255,222,125,255,205,129,255,228,126,255,244,145,255,142,134,255,38,156,255,4,128,255,119,147,255,184,123,255,94,145,255,178,126,255,106,139,255,130,138,255,227,160,255,212,147,255,9,169,255,168, +146,255,9,175,255,6,154,255,8,167,255,132,156,255,202,164,255,251,171,255,11,185,255,122,186,255,69,210,255,163,218,255,107,218,255,27,234,255,62,0,0,130,2,0,31,5,0,38,25,0,107,15,0,138,27,0,110,43,0,116,61,0,198,55,0,205,71,0,142,62,0,239,98,0,162,69, +0,254,126,0,146,96,0,30,136,0,43,117,0,220,156,0,172,100,0,238,151,0,218,127,0,170,164,0,88,140,0,222,174,0,29,172,0,26,208,0,135,169,0,217,181,0,123,177,0,253,173,0,119,192,0,35,178,0,5,188,0,92,187,0,141,166,0,37,194,0,10,163,0,211,184,0,74,185,0,49, +192,0,140,164,0,253,175,0,201,146,0,230,187,0,107,143,0,173,186,0,156,139,0,54,177,0,179,111,0,180,191,0,37,120,0,214,163,0,167,119,0,87,194,0,61,116,0,223,182,0,62,120,0,111,192,0,30,115,0,79,183,0,16,111,0,37,204,0,20,145,0,176,214,0,126,150,0,101, +212,0,96,155,0,251,220,0,139,156,0,15,230,0,142,176,0,191,242,0,18,186,0,255,250,0,119,196,0,250,13,1,195,210,0,245,26,1,239,213,0,52,31,1,15,217,0,85,48,1,77,213,0,83,30,1,34,224,0,35,48,1,77,219,0,130,59,1,85,230,0,100,76,1,160,232,0,193,63,1,166,225, +0,4,51,1,121,222,0,32,81,1,16,233,0,43,63,1,47,224,0,99,60,1,128,227,0,48,52,1,71,212,0,41,45,1,228,225,0,253,39,1,28,217,0,51,21,1,232,204,0,232,14,1,102,215,0,50,13,1,219,200,0,37,7,1,195,208,0,165,232,0,239,211,0,196,229,0,187,195,0,229,244,0,101, +205,0,195,223,0,29,174,0,239,218,0,80,182,0,14,218,0,167,180,0,168,199,0,80,180,0,174,200,0,60,171,0,143,199,0,47,165,0,106,199,0,165,154,0,6,203,0,22,157,0,199,200,0,23,169,0,89,216,0,177,152,0,157,207,0,171,155,0,151,216,0,96,149,0,219,211,0,14,148, +0,157,221,0,15,156,0,205,250,0,102,152,0,154,248,0,94,135,0,230,250,0,177,148,0,37,11,1,145,143,0,37,7,1,25,132,0,152,27,1,111,120,0,199,7,1,68,117,0,175,19,1,80,119,0,87,1,1,117,117,0,113,11,1,185,116,0,56,6,1,53,99,0,11,249,0,152,99,0,132,22,1,203, +103,0,82,14,1,240,91,0,62,1,1,44,70,0,138,11,1,221,88,0,236,251,0,171,92,0,129,246,0,82,76,0,71,227,0,150,71,0,146,225,0,213,79,0,76,208,0,63,73,0,162,206,0,168,66,0,118,199,0,136,61,0,133,219,0,51,77,0,161,188,0,74,65,0,24,198,0,5,58,0,54,187,0,69,72, +0,60,178,0,248,51,0,210,186,0,105,64,0,198,188,0,147,45,0,229,179,0,178,44,0,67,179,0,9,35,0,196,166,0,109,45,0,207,152,0,174,65,0,255,193,0,178,42,0,248,192,0,123,55,0,124,194,0,154,56,0,115,175,0,23,51,0,193,203,0,254,52,0,217,195,0,179,52,0,244,211, +0,106,66,0,207,213,0,105,62,0,243,197,0,136,59,0,64,224,0,12,65,0,131,209,0,37,63,0,224,190,0,89,85,0,144,207,0,82,80,0,70,211,0,171,88,0,43,195,0,223,59,0,115,165,0,151,77,0,40,163,0,105,58,0,114,157,0,255,58,0,214,161,0,153,48,0,137,147,0,84,45,0,54, +122,0,2,34,0,35,117,0,165,36,0,130,132,0,176,24,0,120,91,0,153,44,0,179,124,0,100,14,0,96,103,0,107,19,0,129,116,0,246,25,0,83,101,0,50,6,0,44,87,0,101,20,0,190,112,0,31,9,0,252,106,0,142,255,255,196,99,0,6,1,0,241,110,0,173,242,255,234,111,0,85,250, +255,142,128,0,36,248,255,131,140,0,172,244,255,68,138,0,199,254,255,156,140,0,74,254,255,250,139,0,224,4,0,151,153,0,241,237,255,182,150,0,128,241,255,89,153,0,92,245,255,75,145,0,48,248,255,70,158,0,171,226,255,7,142,0,52,229,255,226,151,0,1,219,255, +100,145,0,78,237,255,100,147,0,149,197,255,61,133,0,40,235,255,44,142,0,196,222,255,221,103,0,93,200,255,127,102,0,206,206,255,147,121,0,38,213,255,44,87,0,46,224,255,233,101,0,125,209,255,151,92,0,56,210,255,212,84,0,120,214,255,101,88,0,138,215,255, +26,88,0,48,189,255,156,73,0,190,231,255,194,85,0,237,203,255,163,92,0,91,237,255,34,107,0,114,223,255,177,96,0,114,227,255,122,117,0,131,3,0,117,130,0,188,14,0,125,145,0,182,15,0,251,147,0,163,14,0,188,155,0,208,27,0,220,160,0,202,36,0,77,159,0,11,55, +0,210,180,0,137,63,0,149,190,0,219,74,0,144,211,0,42,54,0,151,216,0,93,68,0,71,223,0,201,77,0,27,220,0,219,76,0,79,236,0,119,72,0,202,226,0,223,53,0,29,240,0,42,56,0,34,235,0,73,49,0,5,248,0,222,47,0,209,237,0,153,34,0,209,231,0,72,37,0,4,240,0,2,24, +0,72,231,0,89,20,0,215,230,0,137,10,0,189,226,0,7,13,0,27,224,0,20,15,0,57,213,0,188,12,0,254,189,0,42,251,255,31,197,0,55,255,255,67,187,0,62,0,0,217,189,0,235,236,255,23,190,0,211,250,255,250,204,0,23,242,255,0,200,0,78,237,255,78,173,0,185,246,255, +203,167,0,241,233,255,62,194,0,12,4,0,249,190,0,149,254,255,49,192,0,126,18,0,186,194,0,134,39,0,0,200,0,79,50,0,126,210,0,128,34,0,250,202,0,236,51,0,107,213,0,68,62,0,22,231,0,36,53,0,102,222,0,149,63,0,208,229,0,33,84,0,215,238,0,138,81,0,10,237,0, +203,101,0,11,255,0,226,87,0,191,246,0,46,90,0,87,253,0,253,103,0,59,32,1,1,81,0,57,16,1,207,80,0,82,18,1,196,98,0,70,24,1,206,68,0,79,43,1,17,56,0,185,46,1,23,57,0,85,40,1,211,61,0,216,45,1,204,48,0,77,23,1,17,50,0,108,30,1,190,34,0,239,33,1,25,14,0, +165,31,1,7,19,0,54,242,0,131,3,0,1,15,1,60,242,255,155,2,1,167,245,255,79,242,0,241,239,255,254,238,0,91,247,255,84,225,0,54,245,255,175,206,0,54,243,255,169,209,0,249,250,255,244,209,0,236,244,255,132,211,0,199,4,0,54,183,0,37,8,0,106,203,0,243,1,0, +55,195,0,195,25,0,18,191,0,187,10,0,62,196,0,239,20,0,149,190,0,236,57,0,255,191,0,135,47,0,147,184,0,199,57,0,94,203,0,194,68,0,106,205,0,51,81,0,157,211,0,69,78,0,65,230,0,159,98,0,13,210,0,207,80,0,31,201,0,45,82,0,164,216,0,37,65,0,208,229,0,190, +99,0,251,220,0,26,79,0,52,224,0,20,84,0,85,237,0,68,64,0,151,218,0,50,71,0,96,225,0,51,77,0,252,222,0,210,45,0,184,227,0,36,55,0,183,229,0,16,48,0,108,219,0,254,42,0,13,208,0,229,50,0,234,227,0,67,52,0,100,204,0,41,46,0,25,206,0,16,48,0,143,193,0,242, +48,0,120,217,0,222,43,0,12,200,0,134,41,0,143,199,0,59,35,0,4,181,0,246,33,0,10,174,0,65,34,0,60,184,0,189,24,0,42,179,0,170,23,0,105,195,0,108,23,0,241,183,0,82,21,0,61,192,0,76,28,0,118,197,0,245,17,0,248,184,0,228,40,0,203,181,0,210,47,0,87,198,0, +238,22,0,75,200,0,72,37,0,223,186,0,186,57,0,15,226,0,71,35,0,53,232,0,28,36,0,194,211,0,54,54,0,115,232,0,17,52,0,151,224,0,154,52,0,47,233,0,131,72,0,196,231,0,62,67,0,245,223,0,149,61,0,152,222,0,212,69,0,215,230,0,91,44,0,170,219,0,206,66,0,75,206, +0,5,58,0,169,205,0,80,62,0,94,209,0,31,74,0,167,191,0,160,43,0,228,175,0,46,33,0,96,162,0,95,31,0,57,152,0,207,19,0,165,165,0,249,4,0,177,159,0,76,18,0,201,147,0,68,1,0,182,150,0,185,246,255,69,146,0,203,231,255,243,138,0,62,0,0,192,122,0,188,215,255, +42,122,0,96,222,255,78,114,0,239,217,255,185,117,0,252,221,255,34,109,0,22,238,255,84,113,0,252,219,255,159,105,0,50,207,255,138,90,0,192,251,255,21,101,0,215,231,255,70,95,0,239,223,255,101,98,0,140,231,255,72,111,0,43,3,0,252,102,0,167,249,255,45,95, +0,142,255,255,159,115,0,87,8,0,203,114,0,63,16,0,46,107,0,50,16,0,58,103,0,77,32,0,242,124,0,133,29,0,123,119,0,202,26,0,218,136,0,10,45,0,72,117,0,71,35,0,236,125,0,108,33,0,235,117,0,219,19,0,11,127,0,21,31,0,99,135,0,249,254,255,236,135,0,108,31,0, +98,125,0,58,23,0,199,127,0,76,18,0,137,137,0,232,19,0,75,139,0,132,19,0,195,158,0,61,252,255,255,134,0,151,20,0,146,162,0,251,18,0,107,158,0,26,22,0,19,144,0,17,52,0,110,180,0,165,42,0,209,174,0,185,43,0,66,171,0,130,60,0,187,196,0,29,50,0,67,187,0,69, +74,0,238,214,0,139,87,0,94,207,0,14,85,0,251,216,0,132,82,0,56,207,0,71,96,0,114,222,0,217,111,0,134,229,0,222,104,0,150,212,0,205,123,0,184,237,0,193,129,0,234,233,0,237,132,0,245,219,0,207,141,0,206,209,0,194,137,0,195,219,0,3,158,0,170,217,0,122,161, +0,13,216,0,9,165,0,136,198,0,208,149,0,182,215,0,189,150,0,175,206,0,97,167,0,95,215,0,70,145,0,238,204,0,191,162,0,20,221,0,245,143,0,24,194,0,144,137,0,38,212,0,132,141,0,55,189,0,237,132,0,180,195,0,74,122,0,232,207,0,231,135,0,70,215,0,191,113,0, +8,219,0,81,133,0,140,228,0,155,125,0,108,227,0,126,142,0,38,212,0,113,140,0,64,216,0,181,125,0,199,190,0,22,157,0,35,237,0,183,153,0,57,213,0,16,168,0,69,207,0,247,173,0,223,188,0,104,170,0,74,198,0,111,177,0,43,191,0,30,178,0,131,203,0,237,185,0,175, +212,0,182,141,0,148,192,0,186,183,0,219,201,0,128,166,0,161,194,0,128,160,0,166,183,0,202,148,0,54,177,0,189,146,0,40,173,0,227,154,0,197,170,0,162,132,0,188,147,0,18,125,0,189,159,0,33,94,0,255,138,0,240,97,0,174,133,0,190,97,0,125,149,0,213,79,0,252, +100,0,39,83,0,21,101,0,54,46,0,44,89,0,191,40,0,124,68,0,150,16,0,39,41,0,152,30,0,65,47,0,219,19,0,238,25,0,131,11,0,30,12,0,85,236,255,126,31,0,78,235,255,47,249,255,185,236,255,59,243,255,13,213,255,188,226,255,195,214,255,148,249,255,194,212,255, +51,232,255,234,228,255,34,239,255,51,217,255,18,215,255,127,219,255,121,235,255,126,211,255,133,231,255,246,228,255,165,236,255,201,215,255,128,238,255,176,211,255,251,226,255,25,207,255,83,233,255,39,217,255,190,238,255,255,194,255,70,235,255,180,190, +255,90,236,255,63,213,255,43,8,0,149,197,255,96,239,255,174,193,255,165,232,255,124,191,255,96,233,255,172,181,255,49,208,255,15,166,255,45,231,255,140,166,255,89,224,255,239,160,255,74,204,255,14,158,255,204,197,255,238,148,255,103,189,255,152,160,255, +216,193,255,123,124,255,2,171,255,142,129,255,141,185,255,137,140,255,120,172,255,51,99,255,118,144,255,41,115,255,22,129,255,139,91,255,165,116,255,102,99,255,82,103,255,249,77,255,99,76,255,24,73,255,121,54,255,74,73,255,29,65,255,37,75,255,101,37, +255,224,73,255,187,27,255,155,66,255,130,18,255,149,75,255,72,1,255,198,63,255,30,14,255,154,54,255,170,245,254,51,36,255,70,233,254,73,67,255,203,0,255,98,61,255,208,247,254,167,66,255,110,1,255,93,74,255,123,9,255,225,83,255,73,15,255,212,73,255,55, +16,255,19,90,255,174,29,255,163,85,255,52,49,255,14,99,255,108,42,255,251,95,255,185,64,255,95,96,255,34,60,255,95,88,255,94,91,255,116,115,255,27,104,255,152,107,255,251,104,255,113,146,255,216,134,255,230,135,255,197,127,255,0,150,255,79,134,255,19, +143,255,94,150,255,25,150,255,87,147,255,225,144,255,132,156,255,227,162,255,14,175,255,27,164,255,113,155,255,242,188,255,254,140,255,27,166,255,37,149,255,95,161,255,56,154,255,154,176,255,81,152,255,254,186,255,87,149,255,110,183,255,162,149,255,166, +170,255,17,130,255,53,168,255,85,127,255,65,166,255,16,132,255,155,194,255,23,127,255,203,168,255,58,105,255,217,184,255,39,108,255,246,167,255,86,70,255,221,163,255,242,79,255,32,159,255,123,74,255,164,158,255,216,67,255,224,136,255,27,51,255,162,136, +255,37,23,255,164,154,255,206,30,255,124,132,255,23,5,255,48,124,255,209,255,254,30,135,255,186,13,255,204,117,255,97,255,254,164,101,255,145,245,254,171,102,255,185,5,255,187,79,255,3,254,254,101,85,255,185,9,255,243,70,255,40,250,254,61,73,255,4,6, +255,168,74,255,191,2,255,216,60,255,136,19,255,142,64,255,1,43,255,68,78,255,169,36,255,57,96,255,16,63,255,49,73,255,124,78,255,212,81,255,13,90,255,132,92,255,170,103,255,106,139,255,59,113,255,44,147,255,59,123,255,245,153,255,211,135,255,40,176,255, +168,144,255,73,187,255,173,137,255,120,216,255,51,165,255,52,223,255,210,186,255,248,248,255,25,161,255,87,6,0,234,180,255,161,2,0,184,176,255,92,245,255,213,161,255,81,13,0,70,172,255,62,10,0,138,153,255,132,25,0,219,162,255,99,2,0,36,143,255,149,254, +255,210,127,255,124,250,255,226,98,255,170,220,255,56,91,255,6,204,255,172,68,255,67,190,255,3,57,255,84,169,255,94,28,255,108,161,255,172,255,254,224,132,255,7,233,254,186,128,255,243,221,254,26,91,255,30,211,254,185,53,255,210,194,254,202,44,255,14, +179,254,140,36,255,202,181,254,74,16,255,254,138,254,191,251,254,222,139,254,146,234,254,103,140,254,58,234,254,115,128,254,146,234,254,203,130,254,52,235,254,66,142,254,46,240,254,171,123,254,16,247,254,86,147,254,220,224,254,108,125,254,196,246,254, +240,124,254,179,253,254,131,158,254,247,254,254,231,154,254,55,3,255,55,152,254,200,16,255,211,153,254,88,26,255,186,143,254,85,51,255,64,175,254,221,43,255,202,183,254,252,46,255,240,187,254,142,56,255,235,194,254,205,70,255,197,196,254,248,63,255,162, +224,254,32,86,255,112,222,254,231,80,255,164,234,254,125,77,255,155,219,254,164,97,255,182,239,254,87,77,255,189,240,254,144,80,255,118,221,254,55,70,255,151,242,254,116,58,255,7,231,254,100,77,255,169,229,254,156,76,255,19,227,254,111,69,255,239,244, +254,230,68,255,133,237,254,241,60,255,95,235,254,159,45,255,244,229,254,247,55,255,131,227,254,117,60,255,68,215,254,235,59,255,55,213,254,249,67,255,187,224,254,173,61,255,210,198,254,246,45,255,203,195,254,110,57,255,84,186,254,216,58,255,203,191,254, +196,49,255,157,170,254,24,79,255,44,166,254,105,70,255,25,165,254,50,81,255,186,143,254,137,71,255,253,136,254,212,77,255,65,130,254,56,84,255,53,136,254,239,93,255,140,126,254,132,90,255,154,142,254,195,94,255,199,159,254,126,85,255,239,122,254,22,112, +255,141,136,254,153,105,255,128,130,254,104,121,255,208,125,254,95,98,255,107,117,254,29,117,255,185,141,254,2,103,255,78,140,254,208,104,255,4,146,254,222,112,255,42,144,254,60,118,255,56,158,254,42,123,255,206,162,254,78,105,255,112,155,254,191,117, +255,220,172,254,16,111,255,218,162,254,67,119,255,252,185,254,250,146,255,72,196,254,123,126,255,220,176,254,92,123,255,78,197,254,82,155,255,140,183,254,98,122,255,189,179,254,213,148,255,16,195,254,81,143,255,83,184,254,50,146,255,15,181,254,232,149, +255,175,167,254,32,155,255,108,184,254,187,136,255,70,174,254,26,148,255,131,162,254,150,142,255,8,172,254,200,146,255,200,161,254,239,156,255,250,157,254,170,153,255,5,150,254,95,157,255,210,145,254,201,154,255,216,138,254,96,159,255,198,137,254,79, +184,255,198,141,254,48,183,255,110,141,254,25,199,255,147,137,254,11,191,255,116,132,254,161,191,255,208,125,254,189,217,255,250,161,254,51,217,255,155,156,254,196,222,255,244,170,254,196,232,255,113,173,254,63,209,255,38,161,254,250,201,255,9,184,254, +219,206,255,215,187,254,157,212,255,3,197,254,182,218,255,121,188,254,38,213,255,91,201,254,192,188,255,75,228,254,26,211,255,7,227,254,249,191,255,200,228,254,191,174,255,114,242,254,53,174,255,107,233,254,228,168,255,91,2,255,75,150,255,3,250,254,171, +163,255,155,18,255,213,150,255,248,17,255,127,166,255,5,18,255,76,154,255,137,21,255,139,164,255,211,19,255,243,137,255,142,10,255,51,158,255,106,22,255,151,158,255,150,35,255,10,177,255,63,41,255,102,166,255,239,41,255,154,186,255,149,25,255,142,188, +255,2,45,255,162,193,255,208,48,255,225,209,255,59,50,255,28,235,255,1,43,255,48,252,255,141,67,255,106,253,255,66,65,255,122,19,0,166,65,255,21,23,0,29,65,255,141,40,0,111,80,255,216,40,0,4,65,255,210,43,0,172,66,255,223,51,0,40,55,255,197,45,0,17,77, +255,117,52,0,190,63,255,147,45,0,226,45,255,80,60,0,115,51,255,191,44,0,170,46,255,253,40,0,1,43,255,54,48,0,213,43,255,83,33,0,181,32,255,184,31,0,9,1,255,151,20,0,108,247,254,105,1,0,133,245,254,45,21,0,61,17,255,18,3,0,153,2,255,201,20,0,5,10,255, +55,1,0,99,21,255,212,6,0,142,10,255,18,255,255,80,16,255,123,252,255,113,31,255,106,7,0,207,46,255,205,253,255,165,57,255,182,15,0,41,65,255,219,13,0,141,67,255,50,14,0,86,76,255,32,17,0,198,74,255,238,8,0,87,84,255,107,19,0,225,92,255,29,44,0,56,95, +255,153,42,0,8,109,255,235,53,0,53,120,255,172,47,0,103,116,255,32,72,0,241,128,255,175,73,0,130,140,255,107,82,0,109,123,255,66,105,0,161,133,255,23,116,0,246,115,255,179,119,0,118,144,255,24,128,0,118,152,255,173,122,0,73,135,255,242,117,0,4,130,255, +157,143,0,10,129,255,88,138,0,79,124,255,7,139,0,208,117,255,238,138,0,41,132,255,154,111,0,39,112,255,244,131,0,240,118,255,210,110,0,94,97,255,55,115,0,132,93,255,17,115,0,19,93,255,247,106,0,176,104,255,184,104,0,229,77,255,95,86,0,241,61,255,224, +67,0,42,67,255,112,71,0,158,54,255,125,75,0,177,53,255,221,35,0,0,35,255,101,28,0,180,26,255,100,12,0,219,40,255,112,0,0,149,25,255,134,232,255,93,20,255,134,230,255,137,23,255,228,231,255,130,18,255,190,227,255,36,7,255,19,210,255,72,253,254,244,204, +255,84,1,255,63,209,255,164,240,254,31,206,255,132,235,254,103,178,255,45,229,254,24,191,255,148,210,254,111,191,255,68,215,254,34,175,255,46,186,254,31,206,255,129,207,254,188,211,255,61,210,254,193,200,255,175,171,254,164,223,255,119,166,254,145,216, +255,243,158,254,152,227,255,94,170,254,72,240,255,161,143,254,85,244,255,229,148,254,255,247,255,78,140,254,23,250,255,229,144,254,100,6,0,222,135,254,105,1,0,41,140,254,217,247,255,241,132,254,172,240,255,53,130,254,141,243,255,4,142,254,76,217,255, +150,104,254,178,231,255,70,115,254,26,213,255,27,120,254,225,209,255,175,102,254,136,189,255,139,122,254,215,162,255,250,100,254,57,151,255,0,98,254,18,131,255,81,99,254,226,154,255,130,83,254,236,132,255,236,84,254,186,132,255,195,56,254,205,135,255, +41,69,254,202,105,255,78,67,254,122,112,255,108,62,254,95,98,255,133,52,254,185,120,255,197,66,254,191,115,255,233,54,254,191,111,255,108,58,254,153,109,255,140,61,254,173,120,255,176,51,254,175,144,255,8,62,254,48,130,255,222,66,254,5,131,255,205,83, +254,152,160,255,143,97,254,25,142,255,49,92,254,31,143,255,6,99,254,221,169,255,27,118,254,241,180,255,227,118,254,22,177,255,27,118,254,22,175,255,122,129,254,210,179,255,143,158,254,110,173,255,56,156,254,79,182,255,142,150,254,198,189,255,138,173, +254,136,185,255,64,175,254,245,153,255,70,180,254,60,179,255,177,183,254,158,163,255,114,181,254,82,145,255,238,173,254,249,140,255,157,172,254,207,147,255,194,168,254,27,162,255,252,177,254,20,155,255,126,169,254,190,162,255,70,176,254,237,138,255,56, +160,254,208,159,255,170,178,254,38,142,255,7,170,254,212,144,255,195,172,254,168,133,255,135,141,254,209,171,255,55,152,254,13,156,255,23,141,254,71,159,255,70,176,254,251,150,255,242,144,254,184,169,255,149,153,254,2,170,255,49,153,254,189,160,255,235, +135,254,52,170,255,225,157,254,199,195,255,156,162,254,186,185,255,60,141,254,24,191,255,161,143,254,249,195,255,29,142,254,99,195,255,150,165,254,195,210,255,94,168,254,99,193,255,84,188,254,39,227,255,22,196,254,152,227,255,73,204,254,20,216,255,217, +209,254,120,220,255,144,229,254,114,223,255,190,246,254,190,231,255,59,253,254,216,233,255,104,8,255,11,246,255,22,255,254,243,3,0,0,29,255,117,255,255,76,39,255,142,251,255,207,46,255,137,8,0,227,49,255,162,8,0,179,73,255,213,22,0,60,62,255,109,41,0, +36,70,255,53,40,0,61,70,255,186,51,0,175,92,255,0,67,0,20,99,255,219,68,0,170,105,255,207,74,0,205,85,255,20,80,0,156,85,255,47,104,0,113,94,255,171,98,0,32,97,255,129,113,0,232,99,255,148,112,0,219,99,255,8,86,0,80,83,255,166,103,0,63,90,255,228,103, +0,56,91,255,89,89,0,181,89,255,121,98,0,73,72,255,251,81,0,31,85,255,134,100,0,0,92,255,171,98,0,248,76,255,145,80,0,155,77,255,45,84,0,213,96,255,231,70,0,19,87,255,126,83,0,192,75,255,112,63,0,169,93,255,163,71,0,198,76,255,187,67,0,157,95,255,19,70, +0,143,83,255,140,38,0,29,75,255,17,54,0,61,80,255,171,39,0,240,63,255,54,52,0,128,63,255,159,35,0,122,66,255,28,40,0,123,64,255,159,45,0,61,70,255,239,30,0,17,71,255,234,37,0,254,71,255,202,28,0,191,69,255,152,36,0,41,65,255,166,46,0,36,78,255,217,56, +0,74,86,255,153,44,0,112,88,255,131,70,0,92,71,255,194,72,0,132,93,255,39,81,0,113,94,255,215,99,0,145,99,255,221,98,0,246,115,255,247,106,0,64,108,255,79,109,0,234,121,255,49,124,0,195,101,255,243,127,0,58,109,255,212,130,0,223,135,255,177,148,0,196, +119,255,153,160,0,134,115,255,169,137,0,22,119,255,202,158,0,189,114,255,245,147,0,79,124,255,239,150,0,104,128,255,20,145,0,222,127,255,104,166,0,41,132,255,59,157,0,24,139,255,46,155,0,116,128,255,60,171,0,101,159,255,114,146,0,84,176,255,8,153,0,32, +166,255,89,148,0,68,152,255,215,160,0,38,159,255,33,151,0,20,162,255,157,141,0,45,164,255,101,140,0,1,169,255,124,128,0,238,163,255,116,107,0,71,170,255,76,83,0,231,146,255,108,96,0,236,141,255,245,84,0,254,136,255,120,80,0,197,121,255,155,64,0,67,134, +255,173,51,0,85,129,255,89,30,0,114,112,255,189,26,0,183,111,255,208,23,0,37,84,255,146,33,0,23,78,255,190,36,0,160,70,255,2,30,0,28,53,255,66,48,0,115,57,255,69,19,0,177,47,255,175,16,0,170,44,255,148,49,0,196,60,255,12,61,0,95,42,255,171,39,0,119,34, +255,242,56,0,2,45,255,85,51,0,215,63,255,31,64,0,136,70,255,6,64,0,39,43,255,107,82,0,222,66,255,143,60,0,202,57,255,89,91,0,149,82,255,255,60,0,226,98,255,213,75,0,25,98,255,39,83,0,158,109,255,225,69,0,170,109,255,116,107,0,84,123,255,8,88,0,46,121, +255,172,104,0,205,138,255,222,102,0,210,137,255,106,66,0,28,122,255,144,82,0,236,145,255,201,83,0,247,125,255,178,97,0,241,124,255,32,76,0,163,100,255,182,82,0,133,109,255,23,57,0,12,82,255,98,59,0,60,72,255,193,60,0,191,71,255,113,22,0,201,35,255,7, +19,0,174,25,255,101,20,0,224,29,255,35,246,255,245,235,254,174,254,255,146,251,254,249,250,255,169,227,254,60,236,255,43,217,254,211,195,255,11,208,254,225,205,255,117,207,254,136,191,255,41,203,254,66,180,255,141,199,254,109,169,255,215,193,254,178, +178,255,120,176,254,96,173,255,41,197,254,52,164,255,41,199,254,110,183,255,208,188,254,109,169,255,116,201,254,54,190,255,192,211,254,98,187,255,130,213,254,225,199,255,144,227,254,130,198,255,144,223,254,235,177,255,64,232,254,50,213,255,125,224,254, +225,203,255,152,240,254,163,205,255,109,251,254,201,213,255,4,8,255,151,211,255,66,2,255,153,231,255,172,5,255,176,217,255,230,12,255,88,209,255,185,9,255,2,223,255,55,20,255,32,216,255,74,21,255,72,238,255,203,254,254,233,216,255,73,15,255,151,215,255, +41,252,254,134,234,255,248,11,255,119,212,255,117,10,255,71,228,255,117,12,255,9,228,255,5,24,255,220,218,255,117,14,255,52,219,255,209,3,255,64,221,255,217,14,255,44,212,255,17,14,255,251,217,255,86,13,255,193,204,255,116,4,255,97,238,255,211,23,255, +149,201,255,186,15,255,82,212,255,186,13,255,224,201,255,97,3,255,176,221,255,123,13,255,65,225,255,223,11,255,119,208,255,210,5,255,68,204,255,224,29,255,30,198,255,203,254,254,48,193,255,238,29,255,24,201,255,174,19,255,188,211,255,69,34,255,213,207, +255,224,25,255,152,219,255,155,26,255,19,208,255,50,25,255,126,217,255,55,24,255,2,223,255,163,35,255,141,247,255,27,45,255,164,223,255,7,34,255,128,237,255,132,40,255,137,8,0,105,77,255,40,235,255,47,62,255,224,250,255,247,66,255,118,5,0,100,94,255, +49,4,0,220,105,255,124,2,0,219,99,255,18,1,0,195,101,255,219,5,0,146,113,255,38,16,0,9,117,255,182,19,0,141,122,255,187,6,0,184,117,255,143,3,0,115,116,255,125,10,0,10,131,255,135,242,255,248,129,255,36,250,255,59,113,255,66,239,255,59,123,255,1,219, +255,27,104,255,215,235,255,197,125,255,121,228,255,77,110,255,23,246,255,252,106,255,227,229,255,84,123,255,109,232,255,114,106,255,53,241,255,52,118,255,147,240,255,34,119,255,103,231,255,140,116,255,54,239,255,171,111,255,14,223,255,172,123,255,154, +245,255,241,134,255,159,234,255,192,138,255,149,250,255,99,139,255,211,248,255,25,153,255,44,11,0,203,128,255,7,17,0,192,138,255,81,7,0,137,149,255,143,5,0,218,146,255,64,20,0,163,163,255,114,20,0,74,149,255,28,40,0,244,158,255,203,44,0,220,166,255,89, +20,0,255,144,255,97,43,0,200,151,255,15,26,0,57,162,255,189,30,0,88,157,255,133,27,0,33,164,255,151,22,0,221,174,255,138,18,0,245,166,255,120,31,0,127,177,255,206,9,0,49,149,255,41,40,0,95,168,255,169,9,0,119,150,255,33,21,0,200,151,255,87,14,0,244,162, +255,187,4,0,225,157,255,217,255,255,119,156,255,99,0,0,195,166,255,206,13,0,95,166,255,37,4,0,245,164,255,164,20,0,215,181,255,149,0,0,193,150,255,236,2,0,231,160,255,119,9,0,204,193,255,212,4,0,171,174,255,43,3,0,54,191,255,227,30,0,4,195,255,249,254, +255,2,181,255,169,19,0,99,208,255,103,48,0,191,191,255,202,28,0,204,189,255,189,30,0,67,199,255,173,49,0,254,199,255,41,46,0,75,214,255,229,48,0,230,207,255,253,40,0,225,216,255,151,22,0,234,182,255,172,47,0,55,201,255,148,51,0,212,208,255,110,49,0,223, +198,255,27,34,0,79,193,255,169,19,0,173,196,255,26,16,0,104,197,255,12,6,0,88,163,255,222,240,255,146,176,255,116,239,255,106,154,255,108,224,255,93,148,255,191,233,255,60,127,255,239,213,255,85,121,255,69,210,255,184,117,255,88,215,255,221,119,255,92, +182,255,244,97,255,232,204,255,57,101,255,48,183,255,137,88,255,90,166,255,112,84,255,116,180,255,62,92,255,252,162,255,155,77,255,107,145,255,135,68,255,151,150,255,236,82,255,243,143,255,60,62,255,106,143,255,17,75,255,111,126,255,155,77,255,46,106, +255,242,73,255,124,134,255,193,85,255,224,132,255,118,89,255,140,105,255,217,83,255,34,110,255,157,99,255,59,106,255,152,108,255,103,105,255,176,100,255,28,105,255,66,122,255,214,95,255,153,120,255,21,110,255,33,107,255,95,96,255,176,104,255,40,103,255, +92,136,255,90,103,255,190,122,255,134,102,255,165,120,255,160,124,255,18,152,255,64,95,255,192,136,255,78,105,255,85,129,255,22,116,255,183,164,255,83,94,255,86,143,255,95,94,255,148,133,255,59,106,255,112,151,255,133,96,255,248,133,255,147,118,255,193, +148,255,185,114,255,200,155,255,184,112,255,111,139,255,17,123,255,225,149,255,84,112,255,191,128,255,109,110,255,141,122,255,33,98,255,215,116,255,197,108,255,240,122,255,210,116,255,214,114,255,151,89,255,124,86,255,58,94,255,225,94,255,45,88,255,75, +94,255,45,92,255,180,81,255,100,81,255,137,88,255,180,70,255,66,69,255,99,65,255,209,66,255,75,77,255,169,97,255,36,69,255,30,73,255,155,62,255,218,87,255,214,36,255,149,86,255,226,32,255,74,82,255,8,39,255,180,83,255,85,51,255,101,106,255,171,41,255, +152,108,255,164,32,255,19,95,255,51,28,255,232,99,255,250,26,255,84,117,255,138,30,255,208,113,255,240,52,255,21,121,255,90,40,255,127,112,255,148,57,255,112,141,255,91,52,255,164,161,255,205,68,255,64,167,255,19,80,255,226,165,255,222,53,255,22,186, +255,230,70,255,117,199,255,150,73,255,204,191,255,200,87,255,156,217,255,118,68,255,113,226,255,150,83,255,59,241,255,95,98,255,217,2,0,201,91,255,82,32,0,29,117,255,32,30,0,185,110,255,32,28,0,37,132,255,65,53,0,254,123,255,104,67,0,174,132,255,5,67, +0,188,142,255,63,92,0,38,150,255,189,96,0,158,153,255,233,101,0,177,162,255,199,127,0,233,157,255,36,127,0,34,175,255,167,132,0,255,192,255,188,145,0,42,196,255,99,141,0,157,210,255,49,133,0,57,212,255,111,135,0,251,213,255,88,149,0,36,248,255,62,141, +0,185,242,255,2,157,0,172,240,255,250,149,0,87,6,0,218,138,0,178,241,255,157,158,0,243,7,0,144,142,0,222,238,255,0,143,0,217,255,255,94,146,0,204,249,255,226,153,0,106,11,0,21,160,0,79,247,255,200,143,0,153,235,255,38,153,0,109,234,255,20,152,0,137,0, +0,34,168,0,185,236,255,112,147,0,71,228,255,97,121,0,39,227,255,248,121,0,102,229,255,229,122,0,132,212,255,31,134,0,75,203,255,103,114,0,44,208,255,29,118,0,13,209,255,58,103,0,237,197,255,167,128,0,0,201,255,199,133,0,168,198,255,26,145,0,35,183,255, +196,162,0,161,195,255,187,143,0,154,184,255,183,164,0,115,170,255,21,164,0,10,187,255,11,188,0,4,182,255,215,175,0,179,182,255,242,191,0,230,192,255,142,191,0,158,167,255,25,210,0,209,175,255,62,200,0,210,181,255,231,201,0,5,188,255,149,204,0,198,185, +255,75,206,0,66,180,255,126,210,0,129,184,255,205,195,0,217,192,255,20,221,0,234,175,255,79,183,0,234,173,255,186,192,0,246,169,255,249,190,0,33,163,255,134,174,0,189,154,255,219,144,0,56,143,255,249,135,0,192,129,255,198,123,0,130,131,255,121,109,0, +84,112,255,239,100,0,83,104,255,193,75,0,146,100,255,12,74,0,119,90,255,129,63,0,75,81,255,158,44,0,30,70,255,44,24,0,49,79,255,251,35,0,73,63,255,250,23,0,186,65,255,28,252,255,22,59,255,103,242,255,147,45,255,29,250,255,235,53,255,178,238,255,153,48, +255,85,253,255,121,41,255,101,222,255,9,53,255,47,245,255,16,56,255,153,244,255,97,49,255,165,246,255,201,32,255,140,242,255,173,63,255,128,248,255,26,32,255,23,1,0,141,48,255,47,251,255,105,68,255,194,20,0,155,62,255,0,15,0,255,70,255,63,29,0,160,53, +255,184,52,0,9,47,255,179,59,0,85,55,255,12,74,0,103,42,255,19,83,0,152,42,255,171,105,0,190,44,255,146,103,0,212,18,255,16,114,0,14,34,255,101,155,0,109,45,255,90,165,0,82,33,255,153,173,0,95,33,255,67,179,0,82,29,255,211,188,0,76,30,255,203,167,0,21, +37,255,25,204,0,252,46,255,155,201,0,107,19,255,118,201,0,132,33,255,108,225,0,119,19,255,32,209,0,226,28,255,136,198,0,70,35,255,170,223,0,250,24,255,130,193,0,49,16,255,230,197,0,56,21,255,167,187,0,14,34,255,84,174,0,200,24,255,29,177,0,3,46,255,48, +182,0,171,39,255,222,176,0,227,42,255,4,183,0,3,46,255,53,169,0,58,41,255,40,169,0,117,60,255,254,185,0,204,62,255,117,185,0,88,87,255,104,185,0,12,75,255,99,194,0,26,89,255,100,204,0,189,93,255,130,197,0,34,116,255,197,239,0,40,109,255,15,228,0,30,125, +255,148,245,0,74,128,255,38,13,1,30,135,255,31,4,1,118,137,255,164,29,1,48,126,255,33,20,1,222,112,255,157,16,1,226,150,255,115,31,1,48,130,255,171,28,1,199,132,255,226,23,1,23,122,255,58,30,1,11,132,255,214,29,1,154,117,255,110,44,1,247,110,255,189, +25,1,92,125,255,183,36,1,109,108,255,246,36,1,96,104,255,157,16,1,22,116,255,238,15,1,85,114,255,6,6,1,22,118,255,132,22,1,234,110,255,160,239,0,47,108,255,124,255,0,28,113,255,154,242,0,52,101,255,214,226,0,158,104,255,145,221,0,200,87,255,64,216,0, +121,102,255,102,220,0,78,105,255,145,217,0,121,110,255,18,201,0,133,96,255,27,220,0,214,101,255,50,196,0,238,85,255,27,216,0,196,100,255,123,249,0,195,92,255,121,229,0,158,96,255,228,230,0,195,92,255,54,244,0,108,104,255,135,243,0,13,87,255,141,238,0, +233,106,255,18,8,1,115,107,255,214,25,1,97,112,255,218,4,1,236,128,255,39,25,1,19,143,255,125,9,1,235,116,255,126,19,1,181,139,255,207,22,1,126,154,255,157,18,1,160,173,255,133,24,1,22,171,255,173,54,1,152,166,255,35,54,1,172,181,255,37,64,1,130,192, +255,117,59,1,56,200,255,80,57,1,74,195,255,18,65,1,192,182,255,97,48,1,100,209,255,187,72,1,105,192,255,29,53,1,62,197,255,161,56,1,197,181,255,174,60,1,216,180,255,179,53,1,242,190,255,188,76,1,146,169,255,80,57,1,177,166,255,174,60,1,241,178,255,6, +67,1,129,180,255,181,71,1,41,178,255,6,73,1,96,163,255,95,77,1,34,171,255,107,81,1,2,170,255,55,65,1,197,173,255,26,82,1,108,157,255,32,77,1,75,144,255,13,78,1,106,143,255,151,82,1,238,152,255,40,92,1,251,154,255,58,93,1,119,143,255,56,73,1,56,141,255, +153,94,1,222,116,255,238,78,1,80,133,255,51,80,1,125,140,255,19,79,1,166,121,255,211,58,1,174,128,255,231,69,1,109,110,255,68,63,1,209,112,255,206,65,1,129,121,255,56,69,1,53,119,255,66,47,1,205,127,255,143,65,1,111,128,255,41,43,1,202,107,255,202,31, +1,73,120,255,240,31,1,255,127,255,115,39,1,179,123,255,58,30,1,85,120,255,152,31,1,254,129,255,134,32,1,237,140,255,140,33,1,128,113,255,137,9,1,180,125,255,38,13,1,34,112,255,77,27,1,216,113,255,112,5,1,232,94,255,56,8,1,195,92,255,62,11,1,189,91,255, +211,255,0,156,84,255,49,5,1,130,72,255,23,247,0,111,65,255,198,251,0,137,71,255,146,231,0,244,86,255,173,249,0,210,53,255,142,248,0,178,48,255,241,242,0,108,41,255,53,234,0,179,58,255,46,229,0,22,49,255,9,229,0,121,39,255,38,206,0,35,55,255,143,199,0, +146,47,255,220,217,0,2,42,255,156,199,0,14,28,255,50,210,0,116,48,255,80,191,0,198,65,255,244,201,0,115,44,255,178,177,0,146,41,255,142,187,0,98,59,255,223,188,0,47,49,255,29,181,0,253,48,255,80,193,0,3,46,255,5,191,0,24,69,255,68,195,0,199,71,255,92, +183,0,12,77,255,132,211,0,213,91,255,212,200,0,26,95,255,255,197,0,201,97,255,98,190,0,11,126,255,119,211,0,54,121,255,155,195,0,243,133,255,62,196,0,81,137,255,156,209,0,27,107,255,5,189,0,195,157,255,75,210,0,179,119,255,188,214,0,142,119,255,105,193, +0,11,126,255,194,211,0,9,112,255,130,193,0,210,118,255,64,218,0,41,121,255,157,207,0,158,94,255,60,178,0,1,99,255,44,199,0,115,105,255,245,213,0,206,78,255,156,205,0,198,65,255,14,214,0,181,76,255,107,215,0,152,97,255,157,221,0,152,99,255,116,236,0,58, +94,255,248,249,0,147,112,255,223,247,0,102,107,255,130,2,1,241,113,255,157,18,1,160,124,255,131,10,1,51,148,255,109,42,1,100,150,255,198,56,1,72,181,255,127,88,1,169,145,255,111,58,1,54,190,255,51,82,1,171,226,255,28,98,1,78,231,255,197,101,1,25,209, +255,67,114,1,70,224,255,81,126,1,191,233,255,11,125,1,167,245,255,99,127,1,180,255,255,5,122,1,193,1,0,117,118,1,106,3,0,48,113,1,123,242,255,146,95,1,195,17,0,253,104,1,137,4,0,171,89,1,244,15,0,165,92,1,255,1,0,68,63,1,155,5,0,119,75,1,17,247,255,211, +58,1,73,252,255,198,54,1,141,243,255,222,46,1,198,252,255,128,45,1,255,247,255,110,50,1,97,244,255,248,52,1,30,1,0,211,60,1,168,5,0,225,78,1,213,16,0,156,73,1,93,1,0,158,83,1,1,18,0,128,94,1,26,18,0,189,92,1,120,25,0,65,96,1,184,31,0,184,95,1,116,48, +0,254,112,1,16,42,0,42,118,1,167,56,0,199,123,1,42,54,0,148,113,1,56,70,0,157,140,1,10,100,0,194,132,1,89,87,0,1,145,1,171,92,0,15,155,1,240,95,0,214,153,1,66,101,0,22,166,1,161,122,0,23,178,1,56,133,0,200,188,1,105,117,0,56,191,1,56,127,0,100,192,1, +6,129,0,207,201,1,37,130,0,25,198,1,33,149,0,26,208,1,37,134,0,133,219,1,69,133,0,252,216,1,18,127,0,126,206,1,82,141,0,58,213,1,144,131,0,166,226,1,194,139,0,127,214,1,225,128,0,195,203,1,45,141,0,58,211,1,183,145,0,114,206,1,175,134,0,240,214,1,65, +154,0,102,216,1,64,150,0,189,216,1,47,165,0,147,227,1,142,176,0,173,237,1,185,165,0,230,240,1,153,166,0,118,252,1,162,185,0,75,5,2,123,175,0,55,250,1,112,193,0,194,2,2,239,205,0,32,4,2,169,194,0,101,17,2,214,211,0,107,14,2,194,204,0,170,16,2,245,208, +0,115,27,2,146,218,0,221,20,2,63,205,0,225,1,2,78,223,0,184,24,2,126,205,0,170,16,2,189,219,0,229,35,2,240,223,0,28,29,2,126,207,0,32,10,2,46,218,0,127,25,2,78,217,0,77,25,2,10,230,0,191,33,2,221,218,0,4,33,2,186,246,0,159,24,2,205,243,0,115,25,2,151, +4,1,109,34,2,192,241,0,151,13,2,155,247,0,182,10,2,70,7,1,53,27,2,5,245,0,62,251,1,225,4,1,81,2,2,74,250,0,181,248,1,248,236,0,168,250,1,55,237,0,24,243,1,43,243,0,216,232,1,60,236,0,102,218,1,191,229,0,72,233,1,145,210,0,168,193,1,21,218,0,126,210,1, +8,206,0,7,201,1,15,225,0,38,200,1,70,206,0,250,200,1,245,202,0,70,203,1,207,202,0,125,196,1,17,182,0,67,185,1,188,197,0,5,181,1,57,194,0,139,206,1,248,175,0,248,180,1,130,178,0,230,181,1,30,184,0,67,185,1,87,189,0,124,180,1,86,185,0,111,184,1,218,190, +0,29,173,1,11,175,0,234,160,1,92,174,0,26,151,1,249,187,0,120,140,1,221,161,0,74,117,1,19,192,0,191,106,1,16,164,0,58,91,1,252,154,0,37,66,1,117,178,0,155,57,1,121,155,0,158,28,1,241,162,0,188,17,1,121,153,0,47,231,0,9,165,0,178,230,0,158,151,0,139,220, +0,102,154,0,76,208,0,209,161,0,81,199,0,88,140,0,106,201,0,2,154,0,105,189,0,9,157,0,56,199,0,245,153,0,142,191,0,139,150,0,235,186,0,139,146,0,224,198,0,76,142,0,199,198,0,90,156,0,195,223,0,152,156,0,209,235,0,233,151,0,53,234,0,53,158,0,130,250,0, +179,174,0,203,236,0,253,162,0,13,15,1,29,174,0,10,54,1,122,165,0,16,41,1,196,161,0,55,61,1,216,172,0,186,62,1,17,178,0,218,67,1,23,179,0,26,78,1,238,207,0,34,101,1,242,180,0,152,92,1,215,223,0,47,97,1,180,190,0,27,94,1,208,216,0,97,105,1,252,217,0,40, +102,1,183,218,0,208,91,1,78,223,0,14,84,1,191,235,0,178,100,1,209,230,0,213,74,1,152,219,0,160,46,1,211,240,0,216,43,1,228,219,0,219,14,1,3,221,0,31,10,1,116,227,0,194,8,1,34,214,0,175,11,1,187,195,0,173,249,0,201,207,0,241,236,0,5,182,0,195,223,0,247, +167,0,239,216,0,191,176,0,143,197,0,34,155,0,217,181,0,113,140,0,147,184,0,234,159,0,143,201,0,176,140,0,216,177,0,88,140,0,60,178,0,101,142,0,40,163,0,100,134,0,192,185,0,93,121,0,210,176,0,252,156,0,155,201,0,18,127,0,8,164,0,239,146,0,174,200,0,181, +133,0,131,199,0,59,161,0,112,204,0,234,159,0,42,187,0,112,183,0,194,215,0,72,165,0,109,231,0,128,164,0,233,225,0,181,198,0,222,237,0,106,190,0,141,238,0,111,181,0,127,228,0,212,185,0,115,228,0,229,176,0,78,234,0,134,167,0,9,229,0,76,197,0,35,237,0,129, +174,0,20,211,0,230,190,0,56,207,0,30,182,0,17,189,0,210,171,0,122,170,0,66,160,0,94,152,0,20,143,0,53,175,0,213,134,0,138,155,0,239,146,0,93,140,0,198,122,0,242,122,0,236,124,0,116,114,0,81,131,0,66,114,0,204,119,0,105,138,0,24,120,0,202,106,0,150,136, +0,16,108,0,167,119,0,185,113,0,150,132,0,172,121,0,237,126,0,73,127,0,142,115,0,178,118,0,95,147,0,199,135,0,113,142,0,129,122,0,109,157,0,244,152,0,251,146,0,200,145,0,202,156,0,145,156,0,208,151,0,58,158,0,18,188,0,77,167,0,4,174,0,83,162,0,80,184, +0,178,177,0,156,188,0,208,162,0,30,184,0,222,174,0,170,206,0,223,188,0,45,208,0,29,177,0,203,225,0,17,185,0,185,228,0,218,203,0,186,240,0,6,207,0,41,229,0,61,188,0,54,229,0,218,197,0,154,239,0,220,217,0,100,246,0,175,208,0,231,253,0,238,212,0,185,234, +0,100,204,0,49,248,0,126,220,0,168,251,0,176,210,0,41,233,0,106,201,0,129,235,0,20,215,0,148,236,0,156,205,0,11,240,0,237,206,0,98,238,0,92,187,0,47,230,0,160,186,0,160,232,0,149,196,0,141,223,0,254,181,0,166,227,0,6,197,0,129,231,0,172,184,0,91,227, +0,246,164,0,240,223,0,59,162,0,171,216,0,94,150,0,216,225,0,178,167,0,90,211,0,167,128,0,95,210,0,112,137,0,223,181,0,242,128,0,169,202,0,85,123,0,120,208,0,62,74,0,218,186,0,238,88,0,220,202,0,169,85,0,149,187,0,169,85,0,9,165,0,142,67,0,161,183,0,55, +73,0,199,189,0,213,82,0,211,177,0,241,61,0,48,173,0,243,81,0,163,201,0,231,83,0,38,199,0,138,90,0,217,178,0,221,103,0,156,188,0,233,101,0,113,199,0,82,95,0,76,197,0,56,134,0,56,196,0,248,121,0,52,213,0,235,113,0,50,195,0,24,129,0,46,214,0,206,136,0,140, +215,0,51,155,0,21,216,0,170,158,0,40,217,0,182,150,0,158,214,0,188,151,0,190,227,0,188,149,0,179,233,0,27,159,0,41,223,0,38,147,0,73,234,0,142,132,0,204,237,0,10,119,0,12,250,0,30,132,0,5,251,0,223,129,0,255,243,0,37,137,0,138,2,1,93,136,0,107,1,1,176, +151,0,8,19,1,150,147,0,7,11,1,36,129,0,9,29,1,130,138,0,110,29,1,18,128,0,83,23,1,172,113,0,228,26,1,175,143,0,46,21,1,93,140,0,84,21,1,110,127,0,167,42,1,92,128,0,116,36,1,36,123,0,165,22,1,240,112,0,141,26,1,205,124,0,9,27,1,192,122,0,234,33,1,85,117, +0,89,20,1,199,137,0,78,28,1,160,127,0,83,13,1,18,128,0,69,3,1,3,116,0,88,254,0,154,124,0,46,23,1,218,136,0,31,253,0,89,104,0,188,6,1,123,129,0,125,252,0,160,119,0,150,252,0,160,123,0,156,255,0,60,121,0,43,253,0,147,115,0,99,246,0,77,106,0,35,232,0,192, +122,0,4,235,0,91,116,0,135,232,0,159,111,0,21,216,0,122,111,0,235,228,0,127,96,0,9,222,0,40,104,0,202,221,0,32,87,0,166,227,0,14,98,0,112,246,0,243,81,0,203,219,0,6,71,0,216,233,0,38,82,0,180,243,0,98,64,0,98,236,0,95,95,0,149,248,0,98,66,0,231,255,0, +10,56,0,182,11,1,59,50,0,126,4,1,173,60,0,175,2,1,54,61,0,68,249,0,214,41,0,237,2,1,116,57,0,111,242,0,94,22,0,57,9,1,213,25,0,145,7,1,233,30,0,106,255,0,137,11,0,67,235,0,250,21,0,11,244,0,98,253,255,222,230,0,48,253,255,35,230,0,10,1,0,70,210,0,180, +6,0,136,177,0,26,228,255,76,197,0,196,237,255,211,181,0,37,218,255,242,178,0,8,233,255,74,177,0,95,231,255,102,156,0,51,222,255,38,138,0,219,217,255,63,134,0,154,197,255,188,140,0,219,219,255,106,127,0,193,207,255,70,147,0,105,209,255,10,114,0,42,197, +255,186,120,0,92,199,255,204,119,0,166,191,255,63,132,0,111,206,255,123,112,0,205,199,255,85,112,0,86,196,255,68,123,0,49,206,255,187,132,0,80,199,255,167,115,0,110,190,255,63,132,0,202,173,255,0,126,0,252,179,255,38,138,0,117,197,255,69,133,0,198,190, +255,170,145,0,133,170,255,169,137,0,100,151,255,37,130,0,103,175,255,100,134,0,148,190,255,194,139,0,27,173,255,43,117,0,39,165,255,6,137,0,28,179,255,20,137,0,238,159,255,68,123,0,77,171,255,192,117,0,246,172,255,10,110,0,172,188,255,143,129,0,95,172, +255,225,128,0,59,182,255,6,127,0,228,183,255,133,96,0,253,181,255,110,116,0,124,198,255,116,113,0,160,190,255,97,102,0,117,193,255,53,95,0,70,172,255,83,92,0,117,199,255,76,83,0,91,181,255,21,96,0,42,193,255,181,72,0,174,204,255,144,82,0,180,199,255, +81,72,0,233,174,255,120,80,0,161,198,255,224,61,0,89,161,255,227,85,0,83,172,255,56,70,0,249,147,255,55,60,0,162,149,255,111,59,0,18,142,255,230,58,0,191,124,255,79,46,0,79,124,255,59,37,0,170,109,255,16,44,0,101,102,255,41,44,0,201,106,255,228,34,0, +1,96,255,164,28,0,179,73,255,253,40,0,60,72,255,170,25,0,42,73,255,65,32,0,110,68,255,232,17,0,167,73,255,56,9,0,73,64,255,107,17,0,186,76,255,75,10,0,242,79,255,151,20,0,98,70,255,144,19,0,124,80,255,231,7,0,178,65,255,13,14,0,106,85,255,245,17,0,173, +76,255,206,7,0,222,64,255,174,4,0,142,77,255,17,245,255,124,82,255,242,241,255,55,77,255,174,254,255,73,72,255,147,240,255,61,74,255,255,247,255,246,54,255,166,243,255,98,68,255,4,247,255,247,66,255,252,219,255,59,54,255,63,209,255,96,48,255,134,228, +255,181,28,255,200,205,255,162,27,255,88,211,255,173,13,255,48,193,255,146,251,254,69,208,255,5,20,255,255,198,255,240,252,254,255,190,255,83,243,254,79,176,255,98,7,255,44,149,255,190,250,254,142,192,255,126,236,254,28,176,255,159,3,255,27,164,255,64, +240,254,47,171,255,198,11,255,114,160,255,234,253,254,69,149,255,252,246,254,220,157,255,243,26,255,239,156,255,61,13,255,138,142,255,130,22,255,220,157,255,69,30,255,106,147,255,211,23,255,202,156,255,168,32,255,114,160,255,239,51,255,88,150,255,108, +42,255,114,164,255,196,52,255,234,167,255,186,19,255,144,149,255,89,41,255,102,160,255,119,38,255,247,175,255,240,57,255,27,164,255,234,56,255,85,181,255,2,55,255,61,185,255,21,58,255,182,214,255,190,59,255,12,201,255,196,50,255,23,193,255,44,38,255, +12,199,255,247,62,255,127,219,255,107,34,255,39,223,255,182,40,255,157,210,255,238,39,255,65,235,255,110,66,255,246,222,255,201,45,255,227,219,255,140,53,255,108,230,255,42,67,255,113,215,255,227,49,255,20,216,255,157,42,255,207,212,255,184,62,255,69, +208,255,127,51,255,245,216,255,241,67,255,161,185,255,146,50,255,236,191,255,79,67,255,185,183,255,168,81,255,160,183,255,171,54,255,22,171,255,104,71,255,70,157,255,123,64,255,72,181,255,135,68,255,241,176,255,203,55,255,15,166,255,83,42,255,245,155, +255,146,52,255,147,175,255,165,57,255,108,157,255,194,36,255,63,156,255,37,29,255,129,176,255,207,36,255,91,180,255,87,29,255,173,179,255,207,36,255,130,188,255,205,26,255,42,190,255,110,5,255,193,196,255,48,9,255,42,196,255,93,22,255,231,202,255,92, +12,255,244,208,255,115,250,254,63,209,255,128,252,254,5,194,255,22,253,254,230,198,255,79,8,255,110,183,255,162,222,254,194,206,255,66,6,255,174,187,255,126,236,254,85,177,255,232,235,254,161,185,255,83,235,254,21,169,255,93,219,254,130,188,255,210,5, +255,14,164,255,79,6,255,58,163,255,113,236,254,122,171,255,65,250,254,240,170,255,217,20,255,26,152,255,147,3,255,44,153,255,217,14,255,193,141,255,243,24,255,250,142,255,112,23,255,201,148,255,195,38,255,127,160,255,142,14,255,63,156,255,143,26,255, +122,173,255,28,61,255,232,155,255,1,43,255,241,182,255,115,47,255,216,176,255,63,37,255,48,185,255,160,64,255,185,179,255,48,68,255,60,179,255,74,82,255,217,182,255,69,93,255,249,195,255,29,71,255,29,186,255,143,83,255,248,187,255,87,82,255,105,192,255, +92,73,255,229,180,255,63,90,255,60,183,255,167,75,255,41,180,255,215,57,255,191,184,255,86,70,255,197,167,255,239,51,255,54,190,255,72,66,255,92,127,255,157,42,255,98,124,255,87,29,255,42,125,255,231,24,255,177,103,255,11,21,255,206,84,255,80,10,255, +231,80,255,235,9,255,136,63,255,41,0,255,66,52,255,190,246,254,233,39,255,209,249,254,187,14,255,37,218,254,51,28,255,132,229,254,192,255,254,6,219,254,43,11,255,184,251,254,78,243,254,159,194,254,16,255,254,229,203,254,178,251,254,161,206,254,167,255, +254,41,193,254,149,6,255,215,193,254,173,252,254,98,200,254,150,20,255,212,228,254,85,254,254,218,211,254,249,8,255,254,203,254,149,6,255,31,223,254,12,18,255,156,227,254,225,16,255,152,246,254,234,49,255,33,239,254,227,44,255,216,4,255,40,46,255,18, +24,255,235,59,255,8,42,255,90,50,255,88,35,255,107,82,255,208,48,255,94,90,255,164,49,255,20,92,255,230,79,255,50,83,255,30,81,255,64,97,255,188,98,255,90,109,255,0,94,255,77,99,255,234,119,255,234,112,255,184,121,255,42,127,255,190,120,255,42,123,255, +66,124,255,104,121,255,224,145,255,40,113,255,99,139,255,168,131,255,229,132,255,16,117,255,255,144,255,129,127,255,97,129,255,60,114,255,152,110,255,248,128,255,127,110,255,116,111,255,232,101,255,231,86,255,224,84,255,221,102,255,172,68,255,3,105,255, +168,22,255,240,105,255,108,46,255,155,66,255,103,250,254,218,76,255,55,16,255,204,60,255,11,13,255,15,44,255,59,249,254,11,63,255,77,240,254,103,52,255,240,252,254,167,64,255,235,5,255,10,55,255,77,238,254,64,38,255,48,7,255,155,70,255,79,2,255,109,45, +255,235,11,255,166,58,255,200,27,255,149,75,255,65,53,255,230,78,255,33,42,255,49,69,255,233,44,255,26,89,255,160,68,255,209,108,255,67,67,255,98,122,255,110,68,255,253,117,255,12,86,255,223,122,255,30,77,255,182,145,255,204,77,255,57,151,255,239,104, +255,7,159,255,8,105,255,133,153,255,21,115,255,214,160,255,234,119,255,158,163,255,40,116,255,136,185,255,31,144,255,236,189,255,242,142,255,17,182,255,247,131,255,223,183,255,0,155,255,124,191,255,95,158,255,55,196,255,1,159,255,30,198,255,200,159,255, +242,192,255,120,164,255,23,185,255,56,154,255,6,202,255,32,156,255,193,190,255,221,176,255,147,181,255,132,160,255,233,163,255,11,143,255,15,176,255,134,182,255,247,173,255,70,172,255,210,183,255,214,173,255,121,159,255,128,189,255,222,175,255,93,201, +255,41,184,255,61,196,255,42,192,255,254,199,255,104,180,255,237,216,255,147,181,255,55,201,255,179,186,255,81,215,255,149,201,255,56,211,255,158,222,255,112,212,255,171,228,255,26,226,255,97,238,255,233,235,255,204,243,255,54,250,255,179,239,255,133, +237,255,187,0,0,147,241,255,49,0,0,191,254,255,245,17,0,61,9,0,0,10,0,24,15,0,156,9,0,156,16,0,251,14,0,76,35,0,208,27,0,253,47,0,233,23,0,83,44,0,207,21,0,41,55,0,202,30,0,59,52,0,33,25,0,162,80,0,82,21,0,29,57,0,27,26,0,126,92,0,72,45,0,232,85,0,99, +2,0,98,70,0,175,12,0,220,95,0,149,254,255,237,80,0,223,252,255,149,78,0,179,249,255,242,59,0,17,245,255,220,87,0,14,223,255,191,61,0,204,245,255,148,62,0,39,227,255,72,56,0,42,251,255,48,64,0,17,249,255,3,53,0,41,239,255,191,51,0,190,227,255,177,39,0, +49,254,255,72,54,0,205,1,0,135,60,0,67,251,255,196,44,0,249,0,0,71,50,0,107,25,0,169,85,0,77,30,0,238,92,0,200,10,0,32,85,0,70,21,0,138,86,0,25,8,0,83,97,0,45,21,0,4,114,0,116,44,0,59,113,0,79,56,0,255,134,0,28,42,0,247,117,0,16,42,0,68,140,0,184,37, +0,220,150,0,52,91,0,13,143,0,94,72,0,133,156,0,176,81,0,201,151,0,100,69,0,115,169,0,60,114,0,23,180,0,147,110,0,35,184,0,83,90,0,140,175,0,141,113,0,17,193,0,249,120,0,198,188,0,118,125,0,98,188,0,162,130,0,118,197,0,123,118,0,243,197,0,250,132,0,151, +210,0,149,130,0,52,216,0,220,143,0,122,239,0,70,143,0,96,219,0,206,135,0,17,246,0,228,162,0,79,236,0,22,161,0,54,240,0,173,171,0,192,248,0,34,159,0,104,244,0,22,165,0,141,242,0,177,156,0,111,249,0,127,152,0,42,242,0,122,161,0,235,239,0,20,151,0,11,245, +0,229,174,0,124,251,0,39,148,0,61,255,0,115,154,0,206,6,1,90,152,0,83,26,1,77,152,0,128,31,1,195,149,0,225,19,1,143,127,0,65,35,1,26,144,0,134,34,1,17,117,0,167,57,1,110,116,0,110,40,1,102,156,0,23,50,1,21,149,0,142,49,1,39,144,0,192,51,1,201,150,0,61, +56,1,39,150,0,55,61,1,127,154,0,30,65,1,104,166,0,107,77,1,34,159,0,55,55,1,237,191,0,250,68,1,245,202,0,7,75,1,190,164,0,155,57,1,69,198,0,230,67,1,175,199,0,50,72,1,175,195,0,61,52,1,3,225,0,181,71,1,171,214,0,37,64,1,21,218,0,6,63,1,42,239,0,57,75, +1,114,209,0,199,60,1,191,229,0,118,61,1,61,234,0,191,49,1,243,249,0,210,52,1,86,236,0,110,48,1,163,0,1,231,69,1,211,244,0,28,41,1,217,237,0,235,42,1,232,3,1,78,37,1,153,225,0,164,29,1,142,237,0,201,27,1,222,226,0,6,10,1,172,230,0,251,21,1,248,236,0,51, +19,1,134,224,0,180,2,1,63,205,0,150,11,1,34,214,0,199,7,1,225,195,0,6,8,1,70,206,0,98,239,0,88,195,0,211,251,0,123,179,0,179,246,0,20,208,0,42,242,0,39,213,0,112,5,1,20,204,0,44,10,1,200,201,0,237,3,1,145,204,0,225,9,1,8,216,0,183,30,1,101,201,0,102, +33,1,114,209,0,85,46,1,207,210,0,35,46,1,13,197,0,141,43,1,212,193,0,129,47,1,193,190,0,149,58,1,161,181,0,187,66,1,80,182,0,134,42,1,63,195,0,235,42,1,40,162,0,80,55,1,55,174,0,165,35,1,173,181,0,110,50,1,60,169,0,65,39,1,92,182,0,247,44,1,103,160,0, +128,39,1,91,166,0,134,38,1,54,170,0,118,8,1,41,160,0,50,7,1,229,176,0,102,33,1,229,174,0,196,34,1,142,176,0,227,33,1,249,185,0,27,23,1,224,179,0,8,24,1,74,181,0,196,32,1,226,213,0,112,60,1,199,183,0,176,21,1,219,200,0,35,46,1,239,209,0,97,44,1,194,200, +0,198,52,1,162,193,0,43,67,1,28,221,0,74,64,1,196,224,0,83,83,1,215,221,0,106,73,1,187,248,0,232,83,1,229,237,0,246,95,1,135,228,0,178,98,1,149,250,0,122,103,1,236,240,0,98,113,1,80,237,0,131,132,1,187,2,1,39,147,1,62,0,1,69,136,1,82,7,1,35,166,1,75, +0,1,27,159,1,120,7,1,253,159,1,200,254,0,193,128,1,157,9,1,88,141,1,177,22,1,245,150,1,221,25,1,185,162,1,246,21,1,15,159,1,8,19,1,40,165,1,140,22,1,3,167,1,201,16,1,169,134,1,102,26,1,89,149,1,59,27,1,170,142,1,166,34,1,127,149,1,190,26,1,231,136,1, +78,34,1,89,149,1,167,38,1,95,144,1,153,26,1,202,153,1,66,36,1,232,140,1,210,41,1,133,150,1,198,41,1,214,151,1,223,43,1,152,155,1,31,58,1,38,145,1,241,38,1,40,157,1,168,54,1,8,146,1,87,63,1,106,136,1,211,51,1,70,150,1,168,54,1,63,145,1,236,47,1,68,126, +1,25,65,1,163,141,1,242,44,1,194,132,1,162,55,1,150,131,1,126,71,1,132,134,1,150,65,1,5,124,1,44,64,1,143,124,1,168,60,1,151,147,1,45,80,1,170,140,1,97,92,1,144,132,1,2,79,1,163,137,1,178,83,1,122,160,1,152,85,1,170,144,1,16,93,1,148,168,1,27,81,1,52, +155,1,254,101,1,34,164,1,80,111,1,22,166,1,66,95,1,186,178,1,93,115,1,41,169,1,80,113,1,55,183,1,29,109,1,73,174,1,99,114,1,206,189,1,16,97,1,42,171,1,154,95,1,186,184,1,247,102,1,191,163,1,72,100,1,253,163,1,48,98,1,77,149,1,42,101,1,65,165,1,197,86, +1,83,156,1,139,77,1,33,150,1,96,86,1,132,144,1,120,72,1,0,133,1,168,54,1,156,128,1,214,75,1,218,124,1,119,58,1,24,125,1,255,56,1,193,130,1,44,58,1,113,137,1,5,54,1,187,127,1,193,50,1,169,134,1,73,35,1,51,137,1,3,32,1,237,129,1,166,30,1,16,106,1,215,30, +1,136,119,1,35,33,1,68,120,1,204,44,1,70,150,1,167,44,1,186,121,1,243,58,1,0,133,1,82,64,1,120,144,1,131,52,1,218,124,1,38,67,1,187,125,1,101,71,1,205,122,1,183,80,1,150,135,1,237,59,1,193,126,1,51,77,1,127,151,1,171,88,1,227,155,1,221,86,1,115,155,1, +21,82,1,207,144,1,236,108,1,125,135,1,190,85,1,14,143,1,219,62,1,131,128,1,165,81,1,227,153,1,87,59,1,223,117,1,32,72,1,49,117,1,56,52,1,147,107,1,60,37,1,122,101,1,248,43,1,207,87,1,252,28,1,8,89,1,225,2,1,138,72,1,26,12,1,4,57,1,37,0,1,21,32,1,228, +229,0,182,18,1,216,229,0,120,20,1,139,211,0,86,251,0,152,215,0,118,254,0,162,189,0,136,247,0,182,200,0,235,245,0,200,195,0,246,229,0,249,193,0,62,253,0,62,189,0,235,249,0,244,194,0,102,226,0,95,210,0,78,228,0,169,200,0,126,220,0,102,219,0,10,243,0,142, +184,0,0,210,0,169,204,0,70,211,0,157,200,0,213,208,0,80,180,0,219,211,0,131,196,0,162,202,0,179,182,0,229,185,0,32,194,0,179,179,0,150,195,0,54,179,0,88,195,0,46,166,0,238,201,0,241,183,0,49,191,0,46,166,0,30,188,0,85,176,0,234,167,0,190,165,0,43,186, +0,51,153,0,179,176,0,144,148,0,172,163,0,60,123,0,70,145,0,204,126,0,41,164,0,167,132,0,133,153,0,141,114,0,139,156,0,147,113,0,144,139,0,65,102,0,206,139,0,175,80,0,2,146,0,225,86,0,232,137,0,217,69,0,251,140,0,99,72,0,207,147,0,91,61,0,238,140,0,185, +56,0,181,125,0,91,55,0,30,121,0,63,23,0,66,107,0,98,7,0,110,106,0,161,3,0,165,97,0,255,10,0,170,90,0,55,6,0,133,96,0,16,250,255,194,74,0,20,235,255,92,54,0,58,233,255,121,39,0,96,233,255,66,42,0,13,226,255,184,31,0,95,225,255,251,18,0,55,201,255,56,9, +0,29,193,255,112,10,0,217,201,255,147,240,255,129,187,255,97,238,255,22,188,255,222,230,255,51,165,255,119,212,255,13,161,255,251,217,255,81,154,255,188,209,255,239,173,255,188,211,255,188,163,255,170,214,255,159,180,255,207,210,255,1,165,255,209,228, +255,241,191,255,34,228,255,41,187,255,215,231,255,10,190,255,254,241,255,228,183,255,247,238,255,234,182,255,67,249,255,128,181,255,25,6,0,116,191,255,56,11,0,137,204,255,138,22,0,106,207,255,144,19,0,148,196,255,244,19,0,143,209,255,201,24,0,3,179,255, +232,17,0,146,176,255,202,28,0,234,180,255,59,35,0,202,177,255,113,12,0,135,190,255,68,11,0,189,171,255,211,2,0,56,148,255,81,7,0,163,155,255,174,4,0,94,150,255,181,9,0,68,148,255,86,252,255,50,157,255,84,234,255,242,136,255,27,229,255,186,137,255,235, +236,255,228,128,255,233,222,255,173,131,255,83,222,255,40,116,255,152,225,255,246,113,255,232,208,255,171,111,255,207,210,255,126,102,255,231,206,255,71,107,255,87,207,255,250,96,255,151,217,255,125,92,255,222,175,255,81,89,255,231,200,255,192,75,255, +85,187,255,193,85,255,116,174,255,30,81,255,104,184,255,19,93,255,251,158,255,155,79,255,120,155,255,163,100,255,15,168,255,224,82,255,226,150,255,180,81,255,203,168,255,112,92,255,151,158,255,50,84,255,126,152,255,194,93,255,176,152,255,37,82,255,251, +150,255,179,67,255,234,171,255,16,59,255,199,134,255,79,75,255,67,188,255,10,68,255,68,141,255,228,65,255,122,181,255,3,63,255,181,137,255,158,52,255,119,147,255,64,45,255,45,155,255,154,69,255,19,147,255,100,31,255,8,163,255,106,28,255,166,121,255,89, +41,255,84,173,255,183,44,255,127,160,255,107,30,255,121,163,255,175,27,255,20,157,255,1,43,255,189,156,255,63,37,255,160,183,255,226,35,255,49,138,255,167,10,255,248,181,255,221,60,255,45,151,255,134,54,255,221,159,255,40,51,255,13,156,255,166,65,255, +96,159,255,79,61,255,160,183,255,12,82,255,195,153,255,143,81,255,36,193,255,25,88,255,109,165,255,87,86,255,170,155,255,179,77,255,138,205,255,134,123,255,64,158,255,226,98,255,174,193,255,90,114,255,226,150,255,154,124,255,4,180,255,71,113,255,160, +179,255,153,120,255,107,153,255,58,115,255,112,199,255,46,111,255,201,154,255,158,111,255,41,180,255,60,121,255,191,174,255,159,121,255,209,165,255,81,95,255,180,188,255,159,115,255,188,148,255,19,101,255,35,183,255,33,107,255,147,175,255,205,89,255, +134,165,255,100,92,255,69,202,255,232,103,255,140,168,255,4,71,255,31,200,255,192,77,255,145,161,255,237,90,255,55,194,255,91,65,255,80,194,255,217,79,255,124,193,255,222,64,255,101,217,255,163,96,255,246,171,255,254,77,255,251,211,255,141,61,255,143, +198,255,10,62,255,161,185,255,253,61,255,246,222,255,241,65,255,71,159,255,70,36,255,94,212,255,11,70,255,210,177,255,76,33,255,247,179,255,20,46,255,112,193,255,92,67,255,53,168,255,132,42,255,61,193,255,82,38,255,109,175,255,32,44,255,22,179,255,93, +26,255,231,202,255,207,40,255,109,171,255,194,30,255,200,203,255,137,29,255,190,172,255,217,14,255,181,206,255,194,40,255,13,207,255,225,27,255,211,189,255,162,27,255,21,222,255,31,32,255,233,159,255,81,22,255,42,196,255,92,10,255,197,167,255,159,3,255, +34,171,255,124,25,255,178,170,255,56,22,255,155,135,255,222,3,255,222,177,255,55,10,255,49,128,255,98,11,255,251,154,255,17,14,255,93,131,255,79,12,255,116,121,255,185,9,255,182,145,255,9,253,254,8,102,255,121,253,254,79,127,255,52,248,254,10,118,255, +72,253,254,200,83,255,26,236,254,72,118,255,220,239,254,224,71,255,100,226,254,39,97,255,94,225,254,130,66,255,35,200,254,0,83,255,172,196,254,54,64,255,154,205,254,195,35,255,47,190,254,94,90,255,124,212,254,245,41,255,42,207,254,97,45,255,245,172,254, +22,53,255,78,193,254,176,34,255,104,203,254,136,59,255,220,182,254,207,31,255,84,188,254,27,44,255,183,188,254,2,38,255,150,163,254,12,22,255,18,154,254,45,29,255,251,171,254,183,37,255,105,156,254,89,28,255,138,163,254,25,14,255,70,172,254,74,6,255, +13,165,254,199,14,255,192,144,254,44,17,255,202,185,254,189,237,254,154,140,254,222,246,254,216,134,254,135,250,254,117,148,254,95,226,254,76,120,254,202,229,254,139,118,254,201,227,254,101,112,254,168,208,254,95,109,254,133,232,254,206,95,254,112,213, +254,80,93,254,154,194,254,193,89,254,37,211,254,250,98,254,18,212,254,69,101,254,124,203,254,129,81,254,168,210,254,35,82,254,197,189,254,203,63,254,10,185,254,214,53,254,146,177,254,122,80,254,115,182,254,0,43,254,73,197,254,121,62,254,11,197,254,101, +53,254,115,176,254,32,50,254,146,179,254,231,32,254,122,189,254,114,57,254,215,180,254,81,40,254,214,168,254,213,43,254,34,183,254,7,48,254,252,176,254,208,58,254,65,180,254,158,52,254,202,172,254,3,65,254,3,184,254,45,60,254,228,178,254,127,61,254,221, +179,254,90,71,254,180,206,254,161,90,254,28,180,254,180,93,254,85,195,254,68,95,254,211,205,254,112,100,254,142,202,254,250,94,254,158,230,254,214,116,254,132,220,254,155,89,254,245,234,254,32,105,254,33,232,254,244,107,254,209,246,254,66,132,254,186, +8,255,146,127,254,68,11,255,181,158,254,163,22,255,206,154,254,33,37,255,239,171,254,140,40,255,53,191,254,49,73,255,109,194,254,85,51,255,248,206,254,174,71,255,106,225,254,232,92,255,145,241,254,50,87,255,20,229,254,13,87,255,252,244,254,211,71,255, +232,233,254,6,80,255,141,2,255,182,92,255,29,8,255,206,84,255,146,249,254,87,81,255,139,248,254,1,85,255,121,245,254,168,72,255,209,251,254,168,76,255,145,235,254,47,59,255,189,234,254,227,40,255,162,218,254,121,43,255,206,227,254,224,10,255,141,205, +254,81,15,255,100,226,254,126,22,255,229,205,254,212,20,255,122,202,254,124,2,255,123,208,254,229,255,254,223,200,254,150,24,255,203,195,254,234,238,254,97,192,254,4,247,254,189,185,254,79,247,254,58,180,254,146,238,254,227,177,254,246,238,254,44,168, +254,70,228,254,32,170,254,246,242,254,25,159,254,142,202,254,193,154,254,32,226,254,175,163,254,229,190,254,205,152,254,62,207,254,170,119,254,117,202,254,30,150,254,104,192,254,229,134,254,254,190,254,48,139,254,12,207,254,65,134,254,140,186,254,186, +143,254,199,201,254,145,115,254,226,168,254,132,111,254,173,195,254,122,137,254,215,182,254,95,115,254,115,182,254,252,114,254,9,173,254,95,119,254,214,174,254,16,136,254,35,191,254,202,128,254,91,192,254,178,136,254,204,200,254,103,134,254,204,194,254, +233,117,254,242,202,254,12,149,254,66,188,254,190,120,254,93,202,254,18,154,254,137,207,254,100,165,254,11,199,254,61,147,254,232,218,254,225,167,254,167,196,254,243,162,254,120,224,254,255,156,254,246,242,254,246,180,254,176,221,254,45,170,254,87,205, +254,183,180,254,83,232,254,208,182,254,226,225,254,96,188,254,88,223,254,195,178,254,121,234,254,64,173,254,71,238,254,165,193,254,116,245,254,114,181,254,235,252,254,169,160,254,111,0,255,39,175,254,235,4,255,157,166,254,110,252,254,88,167,254,239,233, +254,130,154,254,52,235,254,68,152,254,4,251,254,116,138,254,116,247,254,86,143,254,40,239,254,11,141,254,40,227,254,85,145,254,188,215,254,17,148,254,90,239,254,105,146,254,126,227,254,135,139,254,33,228,254,35,137,254,38,223,254,41,138,254,118,204,254, +116,132,254,181,214,254,235,141,254,136,203,254,72,129,254,225,219,254,10,139,254,181,210,254,218,154,254,130,198,254,186,151,254,29,190,254,131,160,254,149,201,254,215,189,254,155,202,254,128,199,254,36,199,254,191,199,254,24,203,254,174,214,254,100, +217,254,94,229,254,43,206,254,127,248,254,143,210,254,140,246,254,245,234,254,17,14,255,15,237,254,237,21,255,85,248,254,169,30,255,49,8,255,252,47,255,210,4,255,113,35,255,11,4,255,40,55,255,171,41,255,186,78,255,138,22,255,247,66,255,124,12,255,54, +71,255,237,18,255,200,94,255,167,7,255,242,83,255,26,26,255,13,90,255,144,23,255,231,87,255,50,24,255,144,87,255,157,29,255,143,79,255,170,31,255,212,88,255,252,46,255,126,96,255,121,37,255,168,81,255,190,52,255,248,76,255,248,59,255,41,59,255,168,72, +255,141,61,255,203,52,255,103,59,255,153,50,255,230,75,255,48,63,255,180,83,255,238,87,255,16,69,255,174,75,255,241,67,255,38,89,255,178,63,255,133,98,255,230,81,255,104,119,255,152,110,255,67,123,255,151,98,255,148,126,255,220,105,255,10,124,255,228, +126,255,143,133,255,178,126,255,214,158,255,161,139,255,69,149,255,107,160,255,159,169,255,41,181,255,160,179,255,90,179,255,28,172,255,75,220,255,247,175,255,63,216,255,218,200,255,227,230,255,136,191,255,159,245,255,75,207,255,186,255,255,201,211,255, +187,15,0,147,240,255,34,42,0,97,234,255,151,25,0,71,230,255,45,38,0,134,234,255,127,37,0,229,249,255,196,46,0,160,244,255,158,40,0,253,235,255,239,33,0,137,4,0,159,42,0,255,253,255,59,48,0,59,238,255,52,41,0,211,252,255,228,45,0,253,231,255,84,48,0,17, +251,255,22,50,0,190,231,255,69,26,0,136,248,255,109,46,0,231,5,0,234,46,0,173,242,255,220,30,0,43,1,0,141,53,0,153,231,255,246,46,0,89,24,0,122,52,0,33,31,0,28,51,0,50,6,0,151,29,0,69,15,0,91,51,0,102,26,0,238,23,0,163,16,0,8,34,0,213,22,0,241,51,0,28, +38,0,153,49,0,242,52,0,240,45,0,167,58,0,35,58,0,229,52,0,29,57,0,112,71,0,154,67,0,131,70,0,141,57,0,181,66,0,99,78,0,130,68,0,255,65,0,176,85,0,46,99,0,161,65,0,238,84,0,14,83,0,240,106,0,144,82,0,189,96,0,37,61,0,232,87,0,145,90,0,116,118,0,220,90, +0,44,81,0,209,94,0,34,107,0,27,89,0,115,106,0,27,87,0,135,121,0,102,89,0,89,104,0,64,91,0,236,125,0,107,88,0,179,120,0,121,92,0,255,130,0,111,65,0,222,115,0,82,76,0,160,117,0,160,49,0,212,137,0,36,59,0,230,124,0,128,42,0,104,120,0,130,54,0,30,122,0,217, +56,0,68,132,0,172,45,0,209,115,0,25,63,0,41,116,0,58,25,0,33,95,0,66,50,0,220,101,0,183,23,0,0,78,0,118,60,0,195,97,0,207,17,0,7,89,0,179,48,0,130,75,0,133,33,0,162,74,0,193,66,0,88,86,0,218,66,0,156,73,0,145,84,0,149,72,0,182,82,0,63,82,0,141,46,0,196, +46,0,49,55,0,80,69,0,56,70,0,80,69,0,200,79,0,135,60,0,179,46,0,154,57,0,95,80,0,229,63,0,148,59,0,48,60,0,37,65,0,41,57,0,183,29,0,215,43,0,97,47,0,190,47,0,46,35,0,182,26,0,59,37,0,139,31,0,32,17,0,201,29,0,120,17,0,192,2,0,193,5,0,183,30,0,67,245, +255,19,24,0,149,8,0,7,30,0,35,240,255,107,22,0,135,240,255,137,21,0,70,214,255,162,21,0,216,237,255,2,35,0,58,230,255,215,43,0,63,205,255,188,19,0,102,227,255,0,19,0,36,189,255,20,34,0,203,241,255,31,24,0,94,208,255,168,18,0,178,227,255,188,25,0,198, +248,255,32,26,0,31,202,255,11,3,0,135,246,255,163,25,0,82,218,255,11,7,0,210,246,255,16,248,255,116,243,255,136,5,0,47,234,255,64,232,255,6,5,0,141,244,255,27,223,255,140,236,255,24,252,255,22,247,255,103,237,255,250,218,255,108,230,255,213,220,255,15, +233,255,56,215,255,33,222,255,227,236,255,200,6,0,96,239,255,101,217,255,176,218,255,9,234,255,21,237,255,11,246,255,164,228,255,139,219,255,151,222,255,231,7,0,225,216,255,248,187,255,70,221,255,176,217,255,245,227,255,43,204,255,122,251,255,223,179, +255,47,245,255,204,239,255,172,251,255,135,177,255,140,242,255,234,224,255,55,2,0,199,195,255,105,2,0,41,180,255,4,0,0,203,231,255,218,18,0,211,185,255,205,8,0,63,209,255,174,11,0,233,226,255,113,25,0,81,200,255,142,10,0,37,10,0,80,16,0,51,215,255,219, +16,0,98,242,255,168,14,0,14,221,255,154,0,0,127,227,255,92,6,0,39,20,0,162,21,0,96,222,255,243,18,0,48,248,255,107,28,0,199,254,255,43,18,0,1,16,0,216,250,255,184,39,0,219,24,0,20,21,0,69,20,0,126,18,0,205,6,0,99,67,0,2,39,0,240,36,0,165,39,0,75,73,0, +151,35,0,174,65,0,102,41,0,13,79,0,57,32,0,37,126,0,150,76,0,227,93,0,91,55,0,69,135,0,108,93,0,30,115,0,120,91,0,17,117,0,183,99,0,58,143,0,239,90,0,135,106,0,112,74,0,16,166,0,15,104,0,213,140,0,13,82,0,151,150,0,169,89,0,5,180,0,46,105,0,131,139,0, +162,80,0,145,149,0,50,86,0,233,149,0,37,76,0,181,129,0,92,69,0,47,171,0,217,69,0,44,133,0,69,30,0,208,151,0,121,50,0,26,144,0,43,16,0,179,119,0,157,22,0,50,134,0,26,31,0,204,109,0,30,6,0,137,126,0,0,19,0,210,108,0,5,12,0,108,96,0,62,15,0,6,127,0,213, +25,0,196,96,0,182,28,0,61,122,0,177,39,0,198,112,0,94,24,0,166,103,0,176,35,0,26,142,0,74,68,0,216,109,0,157,22,0,126,140,0,68,71,0,57,137,0,101,88,0,183,145,0,27,98,0,216,166,0,122,115,0,39,150,0,3,106,0,191,172,0,24,135,0,49,191,0,102,106,0,251,205, +0,25,143,0,196,214,0,31,140,0,109,222,0,62,139,0,172,232,0,59,170,0,124,240,0,107,158,0,73,242,0,184,178,0,133,15,1,111,192,0,125,254,0,17,189,0,83,17,1,113,214,0,195,15,1,66,175,0,169,5,1,193,193,0,75,0,1,185,186,0,182,9,1,192,191,0,25,254,0,137,204, +0,197,236,0,122,180,0,174,244,0,131,199,0,156,249,0,160,186,0,222,230,0,4,177,0,23,236,0,9,176,0,251,213,0,71,160,0,101,205,0,145,154,0,214,213,0,158,166,0,92,172,0,0,147,0,212,193,0,95,158,0,18,190,0,26,155,0,166,170,0,112,137,0,68,188,0,26,145,0,61, +177,0,138,145,0,247,173,0,32,148,0,3,158,0,143,144,0,120,145,0,161,135,0,28,162,0,110,119,0,177,156,0,246,105,0,8,143,0,97,113,0,184,157,0,200,86,0,180,117,0,192,69,0,151,140,0,117,69,0,30,125,0,79,61,0,29,103,0,57,28,0,23,114,0,96,36,0,216,105,0,245, +28,0,61,122,0,19,22,0,217,111,0,87,11,0,208,86,0,36,5,0,245,82,0,30,10,0,8,94,0,21,233,255,245,90,0,221,235,255,0,63,0,169,215,255,183,88,0,189,228,255,43,64,0,201,224,255,42,56,0,230,201,255,209,39,0,74,206,255,226,83,0,143,201,255,211,55,0,79,187,255, +36,57,0,252,179,255,49,59,0,116,181,255,61,57,0,22,192,255,79,52,0,145,162,255,174,57,0,64,161,255,97,45,0,183,174,255,13,75,0,188,153,255,55,58,0,194,158,255,79,50,0,31,154,255,29,46,0,69,158,255,248,51,0,233,174,255,74,67,0,19,156,255,209,39,0,63,153, +255,117,52,0,237,149,255,11,55,0,25,153,255,192,48,0,57,160,255,199,63,0,99,143,255,66,50,0,100,151,255,79,50,0,31,150,255,184,45,0,210,129,255,103,42,0,87,145,255,3,38,0,28,122,255,174,2,0,4,128,255,235,43,0,66,124,255,225,16,0,127,110,255,224,4,0,52, +108,255,38,18,0,243,87,255,47,236,255,192,73,255,156,3,0,154,73,255,109,234,255,190,59,255,46,226,255,109,50,255,53,231,255,198,80,255,20,214,255,102,49,255,152,227,255,215,59,255,142,192,255,77,49,255,168,204,255,181,28,255,33,224,255,220,44,255,151, +213,255,244,32,255,4,243,255,115,53,255,121,226,255,214,45,255,85,242,255,128,53,255,9,236,255,247,62,255,226,221,255,247,58,255,198,252,255,91,63,255,84,234,255,111,70,255,4,243,255,240,63,255,21,228,255,37,86,255,42,245,255,92,73,255,79,245,255,242, +73,255,122,240,255,129,71,255,139,217,255,223,76,255,46,230,255,110,62,255,170,214,255,173,72,255,140,225,255,85,64,255,89,219,255,165,63,255,83,222,255,40,61,255,189,223,255,196,54,255,149,201,255,172,58,255,249,199,255,170,42,255,236,195,255,169,36, +255,212,201,255,171,50,255,253,174,255,57,38,255,170,218,255,1,47,255,60,183,255,82,36,255,41,184,255,70,40,255,29,180,255,101,43,255,116,184,255,250,27,255,149,191,255,83,46,255,86,193,255,50,29,255,37,207,255,76,37,255,107,214,255,80,18,255,201,217, +255,125,35,255,165,229,255,39,49,255,207,208,255,146,50,255,90,235,255,57,34,255,97,236,255,178,55,255,85,240,255,115,55,255,81,3,0,9,58,255,72,238,255,77,45,255,36,248,255,128,53,255,211,254,255,164,51,255,42,251,255,104,61,255,117,255,255,10,62,255, +63,14,0,28,59,255,44,11,0,166,69,255,230,247,255,30,73,255,89,24,0,69,87,255,249,0,0,55,77,255,188,14,0,138,96,255,38,14,0,205,81,255,37,2,0,45,105,255,182,25,0,120,103,255,251,14,0,103,122,255,144,13,0,95,99,255,209,31,0,3,126,255,152,36,0,116,128,255, +250,12,0,179,130,255,233,23,0,222,125,255,201,14,0,72,129,255,190,38,0,216,128,255,143,7,0,196,119,255,92,255,255,172,119,255,199,2,0,102,112,255,149,0,0,245,105,255,54,247,255,1,104,255,244,11,0,182,99,255,19,7,0,49,82,255,205,255,255,44,87,255,30,253, +255,75,88,255,160,244,255,100,94,255,167,247,255,103,63,255,161,248,255,243,85,255,19,7,0,197,62,255,200,10,0,2,55,255,68,11,0,3,57,255,80,1,0,8,46,255,211,248,255,226,45,255,112,0,0,127,49,255,31,3,0,220,44,255,81,11,0,77,55,255,218,253,255,70,46,255, +99,2,0,220,44,255,115,32,0,247,64,255,169,9,0,29,65,255,156,13,0,128,63,255,243,1,0,228,65,255,123,246,255,242,75,255,29,245,255,184,66,255,41,241,255,235,64,255,129,245,255,75,84,255,90,225,255,68,79,255,113,211,255,16,69,255,190,225,255,156,91,255, +255,198,255,163,98,255,127,219,255,199,86,255,149,191,255,241,61,255,5,196,255,248,74,255,206,206,255,187,90,255,54,184,255,69,87,255,124,197,255,30,81,255,43,200,255,117,75,255,61,189,255,241,61,255,236,195,255,103,63,255,205,194,255,41,65,255,230,198, +255,229,73,255,137,199,255,46,58,255,35,179,255,231,28,255,97,177,255,95,46,255,193,196,255,53,53,255,86,191,255,170,44,255,80,192,255,77,49,255,246,167,255,112,27,255,148,189,255,204,10,255,148,185,255,136,17,255,27,170,255,186,13,255,29,182,255,168, +22,255,214,160,255,57,30,255,121,169,255,123,15,255,1,156,255,149,21,255,191,174,255,225,37,255,240,170,255,106,26,255,175,144,255,175,27,255,245,153,255,145,42,255,74,128,255,188,33,255,175,146,255,47,56,255,42,129,255,114,41,255,130,131,255,175,37, +255,117,127,255,71,58,255,105,129,255,139,45,255,148,124,255,113,35,255,186,122,255,164,51,255,209,106,255,114,41,255,38,150,255,142,73,255,62,140,255,171,54,255,163,152,255,178,65,255,38,150,255,98,68,255,237,142,255,155,77,255,11,126,255,198,80,255, +40,170,255,37,88,255,64,160,255,37,84,255,139,158,255,81,95,255,171,167,255,150,90,255,15,166,255,6,85,255,16,178,255,149,82,255,159,169,255,225,94,255,176,158,255,125,88,255,241,182,255,52,104,255,3,176,255,157,95,255,183,153,255,192,75,255,38,156,255, +150,90,255,248,187,255,37,84,255,220,153,255,169,93,255,15,170,255,157,103,255,42,188,255,124,82,255,26,156,255,185,74,255,238,146,255,62,82,255,5,133,255,24,82,255,249,138,255,117,73,255,180,125,255,160,74,255,178,115,255,192,73,255,215,107,255,37,92, +255,90,113,255,126,96,255,140,105,255,222,68,255,251,101,255,4,65,255,232,94,255,71,54,255,107,90,255,4,75,255,126,91,255,106,95,255,138,89,255,57,93,255,101,93,255,142,73,255,150,77,255,50,94,255,69,86,255,179,77,255,156,76,255,88,90,255,48,67,255,62, +84,255,11,67,255,176,98,255,211,69,255,100,88,255,24,75,255,221,109,255,50,77,255,74,76,255,226,91,255,182,101,255,49,79,255,152,108,255,102,103,255,171,111,255,115,103,255,46,113,255,144,90,255,227,112,255,249,73,255,116,122,255,41,111,255,159,117,255, +222,110,255,254,134,255,145,88,255,121,113,255,120,94,255,67,130,255,227,109,255,208,107,255,147,118,255,91,124,255,92,119,255,146,111,255,196,159,255,202,120,255,194,139,255,158,107,255,212,136,255,151,104,255,119,139,255,248,143,255,189,150,255,71, +117,255,168,137,255,136,137,255,238,154,255,184,123,255,46,169,255,161,139,255,168,135,255,111,143,255,23,189,255,244,160,255,99,132,255,223,135,255,96,167,255,56,148,255,50,150,255,250,155,255,197,177,255,218,154,255,201,158,255,245,168,255,12,144,255, +246,178,255,113,152,255,207,166,255,49,134,255,231,154,255,219,149,255,116,181,255,42,127,255,232,158,255,56,137,255,158,164,255,62,138,255,22,184,255,245,100,255,69,160,255,122,118,255,205,201,255,52,101,255,3,189,255,236,124,255,12,210,255,82,90,255, +61,200,255,15,109,255,48,200,255,148,122,255,50,220,255,238,91,255,112,214,255,29,121,255,146,235,255,140,105,255,96,235,255,155,135,255,129,4,0,55,125,255,118,18,0,178,111,255,67,10,0,123,124,255,44,22,0,36,122,255,124,15,0,187,138,255,164,31,0,211, +130,255,58,34,0,162,134,255,100,27,0,226,156,255,129,57,0,206,141,255,219,26,0,141,178,255,254,61,0,38,152,255,20,89,0,52,166,255,92,63,0,129,190,255,69,89,0,219,149,255,105,71,0,229,184,255,126,94,0,82,153,255,51,88,0,11,189,255,247,115,0,161,185,255, +71,109,0,122,177,255,134,111,0,112,207,255,131,146,0,57,153,255,129,122,0,50,207,255,220,160,0,150,209,255,175,139,0,65,166,255,24,135,0,0,205,255,32,156,0,116,174,255,164,157,0,92,190,255,89,163,0,62,203,255,222,178,0,2,162,255,215,165,0,251,217,255, +29,177,0,44,143,255,33,164,0,223,179,255,115,171,0,10,177,255,66,171,0,15,172,255,71,162,0,107,218,255,37,196,0,26,152,255,21,162,0,69,206,255,255,191,0,97,175,255,184,172,0,8,161,255,54,177,0,195,216,255,63,206,0,76,158,255,223,184,0,248,187,255,199, +190,0,110,173,255,186,194,0,172,177,255,243,197,0,212,193,255,179,185,0,3,168,255,119,209,0,224,197,255,194,209,0,224,187,255,13,206,0,246,167,255,161,188,0,45,218,255,90,226,0,108,161,255,189,216,0,222,181,255,163,212,0,157,208,255,77,220,0,102,162, +255,30,195,0,220,214,255,250,206,0,29,186,255,57,205,0,81,206,255,212,200,0,91,239,255,240,234,0,132,208,255,42,193,0,122,240,255,233,221,0,35,240,255,45,217,0,239,219,255,121,225,0,221,228,255,42,248,0,63,213,255,169,209,0,17,247,255,210,243,0,211,250, +255,180,250,0,90,225,255,65,230,0,74,2,0,62,3,1,227,223,255,48,245,0,191,237,255,50,13,1,60,236,255,23,245,0,45,214,255,6,8,1,142,245,255,226,21,1,6,206,255,137,5,1,76,215,255,133,30,1,190,231,255,133,30,1,106,206,255,114,23,1,52,227,255,34,38,1,161, +191,255,115,31,1,155,192,255,184,44,1,36,191,255,79,53,1,205,192,255,223,54,1,144,206,255,155,61,1,228,172,255,74,64,1,188,207,255,232,87,1,181,200,255,8,87,1,29,184,255,40,96,1,67,190,255,52,96,1,226,211,255,42,116,1,71,232,255,79,116,1,122,230,255, +206,134,1,180,251,255,214,145,1,105,255,255,196,152,1,168,253,255,158,150,1,188,12,0,248,180,1,8,21,0,66,173,1,153,42,0,92,177,1,40,34,0,67,181,1,196,35,0,165,161,1,128,44,0,204,171,1,16,48,0,71,162,1,159,45,0,77,153,1,25,67,0,166,167,1,124,57,0,176, +143,1,73,49,0,138,131,1,136,59,0,242,124,1,79,54,0,118,120,1,159,41,0,255,122,1,98,59,0,90,96,1,28,36,0,227,98,1,211,55,0,102,92,1,217,48,0,179,108,1,59,35,0,140,96,1,210,45,0,208,91,1,212,4,0,219,75,1,157,19,0,172,101,1,245,23,0,153,102,1,82,21,0,10, +103,1,95,21,0,171,99,1,189,20,0,204,110,1,65,32,0,61,119,1,225,8,0,99,125,1,89,20,0,77,151,1,251,14,0,221,158,1,251,14,0,103,167,1,13,10,0,40,159,1,249,4,0,207,144,1,187,0,0,118,189,1,225,12,0,107,201,1,137,0,0,175,188,1,58,31,0,46,219,1,233,29,0,114, +210,1,71,39,0,21,221,1,154,46,0,73,231,1,110,51,0,34,221,1,210,49,0,60,231,1,111,61,0,179,228,1,79,56,0,164,216,1,188,77,0,175,194,1,74,65,0,238,196,1,49,65,0,100,192,1,242,58,0,36,184,1,174,61,0,224,180,1,212,65,0,254,177,1,116,48,0,4,175,1,244,68,0, +137,186,1,5,58,0,181,185,1,42,50,0,24,186,1,129,56,0,161,180,1,41,42,0,193,183,1,74,59,0,187,188,1,66,50,0,42,181,1,28,40,0,201,202,1,167,52,0,100,202,1,66,42,0,188,200,1,105,54,0,239,208,1,147,41,0,2,218,1,99,65,0,178,230,1,64,83,0,4,230,1,26,75,0,22, +233,1,100,79,0,242,238,1,59,98,0,44,8,2,98,116,0,114,13,2,227,91,0,77,21,2,225,132,0,60,40,2,31,131,0,136,46,2,107,137,0,174,54,2,152,158,0,46,79,2,3,168,0,214,76,2,170,208,0,248,107,2,32,208,0,0,121,2,15,221,0,76,127,2,47,226,0,228,149,2,40,221,0,252, +143,2,74,248,0,190,153,2,16,229,0,236,166,2,222,232,0,10,166,2,217,237,0,204,163,2,130,241,0,124,178,2,96,222,0,53,149,2,43,249,0,185,164,2,115,217,0,235,164,2,33,216,0,207,136,2,158,208,0,27,143,2,118,188,0,8,138,2,150,201,0,221,140,2,224,189,0,84,150, +2,69,196,0,38,131,2,125,189,0,53,149,2,191,170,0,95,140,2,229,174,0,118,122,2,141,170,0,143,116,2,74,181,0,123,101,2,157,206,0,118,118,2,56,186,0,131,118,2,94,198,0,104,98,2,185,179,0,142,104,2,108,212,0,148,105,2,176,205,0,84,91,2,8,206,0,68,110,2,53, +227,0,35,103,2,96,218,0,138,131,2,164,211,0,117,106,2,14,213,0,75,121,2,16,227,0,158,142,2,43,243,0,170,142,2,59,224,0,210,160,2,230,247,0,203,153,2,35,236,0,180,173,2,157,7,1,41,159,2,99,240,0,137,182,2,219,3,1,42,161,2,197,228,0,210,162,2,23,242,0, +5,167,2,222,230,0,4,155,2,129,233,0,4,159,2,135,230,0,8,140,2,178,227,0,27,135,2,213,207,0,45,140,2,133,210,0,212,125,2,133,212,0,37,123,2,6,186,0,135,105,2,35,171,0,191,98,2,111,181,0,178,94,2,67,176,0,135,99,2,53,164,0,169,71,2,139,152,0,1,70,2,142, +125,0,37,52,2,91,164,0,210,38,2,150,134,0,254,41,2,113,138,0,166,29,2,75,130,0,42,39,2,206,131,0,69,4,2,182,147,0,126,7,2,137,132,0,67,240,1,144,135,0,0,3,2,204,109,0,30,240,1,99,124,0,17,242,1,206,133,0,148,235,1,86,118,0,167,234,1,161,114,0,127,218, +1,88,136,0,59,221,1,242,119,0,229,232,1,187,126,0,60,233,1,92,117,0,122,227,1,30,121,0,138,202,1,224,126,0,21,215,1,117,111,0,148,231,1,48,112,0,32,201,1,254,115,0,252,218,1,74,118,0,151,206,1,60,114,0,239,206,1,228,101,0,28,224,1,154,113,0,64,216,1, +73,116,0,110,176,1,204,119,0,204,175,1,235,108,0,141,167,1,86,114,0,154,171,1,97,102,0,82,148,1,200,75,0,155,124,1,12,120,0,67,114,1,43,68,0,253,110,1,208,96,0,196,97,1,207,74,0,13,76,1,145,90,0,177,90,1,231,68,0,6,63,1,206,72,0,200,72,1,116,48,0,173, +54,1,6,64,0,178,39,1,167,62,0,254,51,1,44,66,0,208,36,1,173,49,0,46,36,1,215,36,0,140,39,1,5,56,0,179,53,1,210,43,0,20,28,1,124,61,0,228,41,1,115,36,0,170,30,1,118,60,0,15,37,1,147,43,0,90,35,1,5,62,0,159,40,1,248,59,0,5,55,1,15,40,0,3,41,1,186,57,0, +178,41,1,136,65,0,249,62,1,69,70,0,105,57,1,6,64,0,197,50,1,114,89,0,156,69,1,19,74,0,149,60,1,144,78,0,219,77,1,233,82,0,5,59,1,69,76,0,230,61,1,51,79,0,235,50,1,219,72,0,108,83,1,243,64,0,135,50,1,79,54,0,155,57,1,173,59,0,49,64,1,197,47,0,230,61,1, +255,58,0,18,57,1,41,38,0,167,53,1,21,27,0,53,37,1,14,28,0,66,47,1,201,20,0,60,48,1,119,15,0,59,42,1,149,0,0,13,17,1,135,240,255,90,33,1,122,244,255,143,6,1,129,243,255,93,4,1,227,223,255,191,246,0,71,228,255,170,223,0,214,217,255,85,237,0,237,201,255, +152,222,0,100,209,255,89,218,0,16,239,255,15,228,0,59,228,255,214,216,0,46,222,255,95,211,0,132,218,255,186,194,0,209,228,255,31,201,0,17,253,255,19,213,0,141,243,255,100,208,0,42,249,255,75,210,0,147,244,255,250,204,0,243,253,255,70,221,0,91,237,255, +169,207,0,168,7,0,77,220,0,172,244,255,208,221,0,197,240,255,94,203,0,36,248,255,226,216,0,205,251,255,88,206,0,24,2,0,112,196,0,55,253,255,252,228,0,16,237,255,96,225,0,102,229,255,239,220,0,24,252,255,152,222,0,135,246,255,103,228,0,141,239,255,251, +216,0,205,251,255,134,227,0,91,241,255,195,213,0,141,247,255,159,231,0,153,241,255,119,205,0,149,254,255,52,220,0,30,253,255,114,218,0,206,3,0,132,217,0,0,10,0,47,237,0,25,4,0,228,230,0,131,7,0,128,236,0,136,248,255,229,242,0,194,11,0,47,235,0,125,12, +0,44,10,1,157,25,0,50,3,1,21,33,0,207,14,1,44,17,0,119,16,1,139,26,0,32,16,1,233,27,0,133,30,1,110,43,0,207,20,1,236,51,0,72,48,1,229,46,0,84,42,1,171,39,0,134,36,1,186,61,0,196,38,1,143,68,0,45,28,1,218,60,0,140,39,1,208,86,0,228,37,1,206,72,0,251,27, +1,102,95,0,46,32,1,66,101,0,166,47,1,210,116,0,229,45,1,148,116,0,221,38,1,68,121,0,127,29,1,137,132,0,87,7,1,56,129,0,1,19,1,18,131,0,23,249,0,87,130,0,144,10,1,68,125,0,248,249,0,7,135,0,173,249,0,169,131,0,79,240,0,12,128,0,146,231,0,148,122,0,145, +221,0,20,137,0,128,234,0,68,127,0,13,212,0,92,119,0,217,195,0,193,123,0,169,215,0,34,102,0,217,185,0,215,99,0,92,183,0,198,114,0,219,201,0,235,106,0,42,187,0,90,97,0,37,194,0,151,87,0,246,168,0,198,114,0,180,193,0,183,90,0,183,166,0,44,76,0,117,189,0, +150,79,0,96,164,0,94,76,0,50,139,0,8,84,0,89,159,0,1,81,0,188,155,0,24,61,0,249,133,0,121,96,0,36,129,0,151,87,0,160,123,0,14,87,0,123,123,0,221,88,0,192,128,0,200,79,0,174,131,0,91,109,0,97,121,0,115,91,0,148,129,0,120,84,0,66,118,0,210,108,0,116,116, +0,97,102,0,211,125,0,84,94,0,248,123,0,242,119,0,117,122,0,191,103,0,240,108,0,117,117,0,17,122,0,122,106,0,172,115,0,142,111,0,108,101,0,57,135,0,3,108,0,198,108,0,248,125,0,43,131,0,196,109,0,239,93,0,1,96,0,10,110,0,14,98,0,139,87,0,145,95,0,73,112, +0,108,99,0,21,86,0,182,91,0,101,83,0,226,88,0,214,83,0,55,71,0,93,70,0,173,66,0,6,74,0,250,86,0,74,65,0,173,60,0,81,70,0,230,65,0,111,55,0,216,55,0,249,61,0,136,62,0,243,62,0,172,52,0,27,83,0,17,61,0,31,60,0,140,49,0,87,63,0,208,44,0,246,31,0,51,25,0, +111,61,0,171,36,0,171,33,0,231,16,0,159,41,0,120,32,0,102,32,0,14,37,0,227,30,0,214,27,0,9,33,0,142,4,0,53,38,0,198,1,0,46,33,0,205,6,0,112,10,0,196,235,255,207,21,0,168,12,0,199,254,255,59,249,255,149,0,0,9,239,255,12,6,0,253,246,255,11,250,255,61,200, +255,229,249,255,206,207,255,103,233,255,192,197,255,60,242,255,36,196,255,165,235,255,109,178,255,71,222,255,14,171,255,166,233,255,77,171,255,140,229,255,175,153,255,183,222,255,19,160,255,115,225,255,117,140,255,169,212,255,23,137,255,71,226,255,72, +125,255,120,214,255,104,124,255,64,221,255,111,133,255,150,199,255,163,100,255,42,196,255,168,91,255,122,175,255,99,82,255,85,181,255,123,72,255,184,169,255,73,70,255,227,164,255,99,80,255,71,167,255,92,71,255,176,148,255,165,59,255,57,145,255,196,54, +255,181,143,255,170,52,255,156,147,255,32,38,255,85,124,255,0,35,255,69,143,255,201,41,255,69,145,255,111,17,255,124,132,255,223,11,255,236,124,255,248,11,255,80,135,255,148,15,255,25,146,255,165,252,254,50,142,255,195,245,254,25,144,255,3,250,254,195, +151,255,40,244,254,119,139,255,252,246,254,100,140,255,52,238,254,140,168,255,103,252,254,8,157,255,78,254,254,58,159,255,97,255,254,21,169,255,191,12,255,26,158,255,147,9,255,191,174,255,94,24,255,53,172,255,213,43,255,224,201,255,132,36,255,72,177, +255,121,54,255,92,182,255,242,75,255,206,202,255,216,67,255,36,195,255,143,85,255,250,201,255,120,101,255,106,210,255,212,94,255,230,192,255,186,86,255,136,195,255,59,113,255,76,217,255,22,119,255,201,221,255,95,109,255,37,201,255,66,126,255,46,222,255, +83,115,255,63,209,255,28,126,255,233,216,255,240,122,255,4,237,255,90,120,255,246,222,255,228,124,255,252,221,255,32,103,255,246,228,255,89,106,255,214,221,255,97,119,255,111,250,255,219,93,255,185,246,255,50,84,255,66,239,255,237,88,255,110,246,255, +249,86,255,9,234,255,147,60,255,190,235,255,47,62,255,151,217,255,3,57,255,221,232,255,103,59,255,112,207,255,201,45,255,133,224,255,152,47,255,150,205,255,163,33,255,224,201,255,163,37,255,238,207,255,5,24,255,138,205,255,160,9,255,98,189,255,224,19, +255,48,193,255,202,244,254,69,202,255,197,9,255,216,176,255,239,244,254,242,188,255,176,236,254,241,176,255,76,236,254,128,168,255,251,236,254,90,166,255,182,235,254,233,157,255,25,218,254,112,144,255,150,224,254,74,132,255,124,218,254,88,146,255,79, +199,254,25,140,255,215,193,254,185,120,255,64,179,254,121,104,255,71,186,254,141,113,255,138,169,254,244,88,255,7,168,254,220,96,255,173,147,254,87,71,255,55,146,254,11,63,255,96,127,254,167,60,255,33,117,254,129,60,255,139,112,254,253,58,255,212,102, +254,73,57,255,152,122,254,29,60,255,137,96,254,211,71,255,57,107,254,136,65,255,194,105,254,188,89,255,13,104,254,210,63,255,159,74,254,67,70,255,124,90,254,5,70,255,217,91,254,223,63,255,231,97,254,136,67,255,236,90,254,224,81,255,107,103,254,7,96,255, +138,114,254,99,71,255,112,98,254,238,91,255,251,106,254,115,103,255,219,101,254,157,88,255,174,96,254,96,100,255,195,115,254,208,98,255,49,100,254,140,107,255,100,98,254,197,118,255,75,102,254,1,93,255,175,98,254,142,127,255,205,89,254,108,100,255,87, +92,254,90,107,255,43,93,254,32,90,255,110,80,254,14,91,255,174,86,254,245,100,255,203,71,254,68,78,255,153,69,254,206,80,255,178,67,254,236,69,255,156,40,254,215,46,255,184,60,254,198,63,255,182,44,254,89,34,255,124,33,254,226,30,255,255,30,254,132,25, +255,135,15,254,95,29,255,111,21,254,37,22,255,223,15,254,207,31,255,223,19,254,158,236,254,180,227,253,224,18,255,169,241,253,91,251,254,205,223,253,55,5,255,186,224,253,227,239,254,41,209,253,22,246,254,11,222,253,14,235,254,223,214,253,101,219,254, +103,201,253,166,249,254,104,213,253,114,225,254,166,199,253,219,216,254,170,188,253,102,235,254,220,182,253,163,219,254,56,176,253,133,228,254,75,171,253,244,220,254,63,175,253,105,206,254,230,164,253,188,215,254,26,183,253,37,209,254,75,179,253,181, +216,254,95,186,253,69,216,254,176,183,253,245,224,254,227,191,253,144,222,254,70,186,253,99,205,254,146,188,253,164,237,254,223,216,253,251,225,254,227,191,253,238,225,254,240,207,253,152,237,254,65,197,253,58,238,254,200,228,253,245,226,254,150,234, +253,184,246,254,248,214,253,60,250,254,6,229,253,149,10,255,237,238,253,223,2,255,226,248,253,1,30,255,2,254,253,120,25,255,170,245,253,50,24,255,209,3,254,54,54,255,128,14,254,77,34,255,116,20,254,131,84,255,43,32,254,190,46,255,153,14,254,22,55,255, +147,9,254,81,78,255,62,39,254,59,43,255,22,17,254,238,91,255,149,23,254,190,50,255,96,3,254,151,32,255,123,15,254,177,44,255,115,8,254,140,46,255,208,249,253,46,37,255,112,232,253,38,20,255,214,252,253,181,13,255,193,233,253,192,3,255,124,222,253,164, +237,254,73,222,253,192,7,255,129,213,253,184,248,254,47,210,253,196,238,254,228,209,253,64,225,254,232,184,253,170,230,254,185,210,253,208,236,254,11,220,253,18,9,255,213,240,253,78,243,254,12,230,253,68,13,255,51,240,253,205,11,255,231,233,253,92,253, +254,58,255,253,68,15,255,15,4,254,98,4,255,85,15,254,119,17,255,222,13,254,120,35,255,174,29,254,164,38,255,198,21,254,0,14,255,197,7,254,116,48,255,62,33,254,82,27,255,173,25,254,170,31,255,186,31,254,71,41,255,154,18,254,84,53,255,179,12,254,102,40, +255,128,14,254,170,31,255,204,12,254,141,52,255,123,21,254,180,15,255,231,235,253,245,27,255,240,2,254,105,13,255,70,243,253,126,22,255,43,229,253,10,2,255,150,232,253,6,11,255,219,239,253,11,10,255,75,234,253,156,15,255,81,229,253,249,10,255,37,230, +253,254,249,254,254,221,253,184,248,254,248,218,253,204,255,254,149,222,253,246,242,254,113,234,253,241,251,254,119,235,253,123,254,254,74,230,253,141,247,254,220,243,253,3,249,254,6,239,253,40,233,254,211,218,253,160,250,254,7,245,253,35,2,255,225,234, +253,187,14,255,226,244,253,168,17,255,119,241,253,243,21,255,211,220,253,47,53,255,46,255,253,102,38,255,221,5,254,27,34,255,157,247,253,71,43,255,9,7,254,10,57,255,161,25,254,42,60,255,211,23,254,17,64,255,178,14,254,249,81,255,154,22,254,94,90,255, +123,25,254,149,75,255,137,35,254,32,88,255,188,45,254,225,89,255,125,39,254,58,104,255,164,55,254,157,88,255,100,41,254,238,91,255,88,51,254,109,110,255,168,36,254,146,106,255,52,61,254,135,114,255,255,83,254,141,111,255,195,52,254,165,109,255,222,72, +254,197,110,255,133,56,254,21,104,255,69,44,254,154,127,255,41,79,254,4,121,255,208,52,254,74,132,255,198,82,254,104,119,255,28,67,254,206,141,255,160,76,254,137,134,255,184,64,254,116,121,255,73,78,254,48,130,255,234,68,254,5,131,255,192,81,254,42,127, +255,10,74,254,28,109,255,235,76,254,24,138,255,203,73,254,123,130,255,254,77,254,248,124,255,72,74,254,145,155,255,173,78,254,106,143,255,104,85,254,236,130,255,211,90,254,88,146,255,200,108,254,164,154,255,121,125,254,246,167,255,196,117,254,109,165, +255,209,129,254,72,177,255,243,162,254,168,190,255,248,145,254,124,197,255,144,166,254,74,191,255,169,164,254,51,221,255,135,198,254,38,205,255,186,210,254,45,218,255,44,225,254,173,242,255,59,247,254,127,229,255,233,247,254,210,240,255,11,13,255,219, +11,0,194,30,255,60,244,255,188,35,255,220,21,0,32,44,255,143,5,0,220,44,255,63,18,0,239,45,255,228,34,0,250,31,255,134,35,0,164,49,255,139,20,0,38,33,255,8,23,0,155,26,255,232,21,0,13,35,255,182,21,0,24,19,255,146,29,0,230,22,255,182,17,0,161,23,255, +97,37,0,17,10,255,190,34,0,143,24,255,176,22,0,96,243,254,213,22,0,154,8,255,246,31,0,67,14,255,238,12,0,216,2,255,31,9,0,11,11,255,107,17,0,230,20,255,3,36,0,191,2,255,194,15,0,108,243,254,7,13,0,196,253,254,92,245,255,178,252,254,182,19,0,135,9,255, +156,3,0,204,12,255,157,21,0,37,23,255,173,246,255,204,8,255,224,2,0,249,25,255,209,31,0,32,30,255,180,255,255,117,16,255,8,25,0,112,29,255,20,23,0,87,23,255,27,30,0,37,25,255,164,26,0,49,19,255,115,36,0,176,45,255,122,41,0,133,46,255,90,32,0,8,46,255, +235,47,0,73,64,255,114,28,0,240,55,255,59,37,0,210,68,255,97,41,0,238,35,255,166,50,0,159,58,255,54,54,0,190,55,255,124,57,0,77,47,255,185,43,0,177,53,255,49,59,0,215,59,255,147,47,0,75,35,255,97,47,0,103,63,255,116,48,0,184,60,255,151,28,0,57,40,255, +250,71,0,42,67,255,215,42,0,8,46,255,254,50,0,239,51,255,192,56,0,220,46,255,129,50,0,84,56,255,17,46,0,122,66,255,223,55,0,246,56,255,35,51,0,110,68,255,156,66,0,25,90,255,161,57,0,149,82,255,4,54,0,132,93,255,116,50,0,145,105,255,248,59,0,151,104,255, +59,92,0,60,127,255,156,72,0,174,139,255,9,96,0,156,148,255,208,86,0,99,141,255,82,82,0,218,150,255,247,100,0,200,151,255,115,97,0,130,146,255,61,112,0,169,152,255,199,120,0,49,149,255,48,116,0,44,158,255,67,109,0,211,141,255,224,126,0,162,151,255,254, +111,0,106,152,255,173,112,0,5,144,255,31,123,0,250,159,255,0,126,0,73,137,255,67,115,0,128,126,255,6,131,0,130,138,255,255,117,0,161,143,255,86,118,0,30,146,255,223,118,0,98,133,255,37,124,0,232,158,255,187,126,0,50,157,255,32,145,0,131,150,255,12,124, +0,169,160,255,248,118,0,254,136,255,25,134,0,218,150,255,22,104,0,144,154,255,104,111,0,251,171,255,231,135,0,228,181,255,99,128,0,16,189,255,175,138,0,17,197,255,63,132,0,25,218,255,249,124,0,10,198,255,18,125,0,242,205,255,88,132,0,156,213,255,61,118, +0,157,215,255,25,130,0,124,198,255,112,132,0,124,206,255,161,122,0,249,206,255,137,128,0,14,224,255,170,147,0,44,219,255,68,131,0,237,212,255,12,130,0,117,203,255,63,142,0,167,195,255,74,120,0,144,219,255,118,129,0,185,188,255,204,109,0,147,186,255,191, +113,0,223,194,255,154,115,0,225,216,255,56,123,0,135,194,255,76,134,0,11,202,255,148,114,0,90,183,255,169,139,0,103,183,255,24,124,0,177,173,255,194,131,0,102,171,255,219,135,0,195,166,255,134,108,0,168,144,255,101,142,0,93,152,255,126,146,0,237,153, +255,19,139,0,249,145,255,233,151,0,18,148,255,170,143,0,186,135,255,250,136,0,243,154,255,187,136,0,141,122,255,89,150,0,148,137,255,182,143,0,153,122,255,130,127,0,217,136,255,107,143,0,186,135,255,236,120,0,37,155,255,151,146,0,150,153,255,30,125,0, +149,135,255,149,124,0,32,156,255,73,116,0,199,147,255,217,121,0,32,160,255,217,111,0,220,164,255,217,121,0,8,178,255,234,98,0,220,164,255,41,105,0,221,180,255,91,111,0,12,149,255,79,113,0,200,159,255,60,100,0,177,173,255,114,93,0,220,170,255,53,99,0, +239,169,255,177,99,0,126,155,255,32,72,0,199,145,255,159,104,0,6,150,255,214,89,0,149,143,255,66,105,0,37,145,255,184,100,0,91,118,255,97,102,0,221,119,255,180,121,0,216,124,255,89,89,0,150,90,255,190,99,0,215,116,255,223,118,0,19,97,255,246,96,0,199, +78,255,27,93,0,30,77,255,76,83,0,98,64,255,143,64,0,178,63,255,174,65,0,158,48,255,229,50,0,53,61,255,126,22,0,157,36,255,60,43,0,18,26,255,215,28,0,125,31,255,238,22,0,202,248,254,57,17,0,162,31,255,44,9,0,156,231,254,62,4,0,134,255,254,16,237,255,228, +6,255,141,239,255,177,248,254,102,227,255,31,22,255,37,2,0,1,37,255,9,230,255,43,22,255,74,0,0,111,70,255,160,244,255,234,52,255,87,8,0,73,70,255,206,7,0,157,95,255,215,32,0,190,116,255,203,42,0,98,127,255,192,54,0,12,147,255,149,63,0,25,157,255,255, +117,0,103,185,255,20,88,0,15,173,255,115,99,0,228,185,255,143,133,0,179,189,255,45,141,0,151,222,255,125,136,0,144,217,255,21,149,0,209,239,255,209,157,0,58,231,255,235,165,0,141,254,255,8,143,0,72,249,255,170,153,0,110,247,255,252,158,0,86,3,0,7,139, +0,204,246,255,31,127,0,52,234,255,244,137,0,171,235,255,31,123,0,47,247,255,110,108,0,214,228,255,191,107,0,95,225,255,171,92,0,63,220,255,125,75,0,75,220,255,22,98,0,139,230,255,7,82,0,19,213,255,46,96,0,225,218,255,206,72,0,231,215,255,111,114,0,12, +208,255,228,101,0,168,211,255,227,99,0,43,211,255,17,113,0,92,197,255,4,111,0,99,212,255,56,131,0,125,214,255,6,129,0,171,229,255,250,134,0,81,217,255,15,158,0,178,242,255,84,159,0,114,230,255,117,176,0,184,245,255,3,164,0,186,255,255,10,163,0,203,248, +255,49,187,0,167,2,0,203,166,0,3,248,255,174,185,0,87,15,0,160,175,0,243,18,0,62,189,0,242,6,0,10,173,0,19,20,0,127,158,0,113,19,0,117,178,0,144,24,0,177,158,0,206,18,0,122,157,0,173,249,255,170,147,0,173,7,0,86,122,0,80,6,0,181,135,0,49,5,0,67,113,0, +103,242,255,68,123,0,60,253,255,16,107,0,225,218,255,254,105,0,208,227,255,190,101,0,36,202,255,77,87,0,117,199,255,116,103,0,155,203,255,109,100,0,66,191,255,204,109,0,61,196,255,48,112,0,204,197,255,52,89,0,72,182,255,35,114,0,99,202,255,91,109,0,253, +191,255,55,125,0,50,220,255,86,114,0,36,206,255,76,148,0,200,212,255,19,139,0,181,213,255,46,153,0,101,218,255,2,152,0,39,234,255,85,163,0,218,209,255,90,154,0,121,239,255,116,166,0,213,222,255,167,174,0,203,242,255,21,153,0,167,252,255,3,160,0,17,4, +0,34,165,0,136,255,255,130,182,0,218,10,0,80,178,0,136,13,0,137,187,0,132,28,0,168,186,0,58,40,0,181,198,0,72,58,0,92,182,0,51,39,0,74,187,0,82,36,0,125,191,0,198,56,0,5,180,0,68,14,0,141,166,0,141,51,0,134,167,0,21,44,0,123,179,0,90,45,0,114,146,0,81, +24,0,171,159,0,95,34,0,39,148,0,128,55,0,208,159,0,126,29,0,32,145,0,251,35,0,114,144,0,155,12,0,140,154,0,25,17,0,32,141,0,224,9,0,173,171,0,42,2,0,152,156,0,103,242,255,228,166,0,73,7,0,136,179,0,228,244,255,71,159,0,195,231,255,135,169,0,208,229,255, +25,193,0,26,222,255,86,171,0,93,209,255,248,171,0,211,202,255,32,141,0,255,203,255,203,166,0,117,203,255,41,170,0,63,216,255,185,171,0,147,184,255,173,175,0,47,182,255,164,148,0,74,204,255,247,159,0,235,192,255,91,164,0,123,190,255,88,138,0,247,184,255, +140,160,0,24,208,255,111,122,0,204,195,255,163,134,0,171,176,255,136,122,0,235,190,255,197,104,0,91,181,255,172,104,0,28,183,255,71,96,0,121,176,255,156,66,0,115,179,255,100,79,0,185,184,255,172,43,0,9,176,255,29,48,0,215,183,255,146,39,0,140,183,255, +89,30,0,253,185,255,209,35,0,201,165,255,130,5,0,126,161,255,39,28,0,46,174,255,156,13,0,232,162,255,37,2,0,44,158,255,161,252,255,231,154,255,223,244,255,7,160,255,142,249,255,223,137,255,229,249,255,236,141,255,42,247,255,145,162,255,128,241,255,242, +136,255,110,236,255,179,132,255,192,249,255,167,132,255,167,249,255,3,116,255,42,255,255,235,127,255,187,4,0,47,129,255,56,11,0,222,131,255,100,16,0,88,100,255,139,20,0,66,124,255,74,2,0,26,106,255,137,0,0,106,95,255,95,25,0,158,105,255,62,0,0,33,115, +255,143,5,0,50,94,255,24,252,255,238,100,255,173,242,255,151,96,255,235,240,255,225,94,255,203,241,255,212,84,255,53,241,255,64,102,255,14,219,255,86,70,255,28,237,255,50,88,255,9,236,255,88,98,255,157,208,255,68,89,255,45,218,255,240,112,255,174,201, +255,21,111,255,168,196,255,220,105,255,176,215,255,16,124,255,223,189,255,159,119,255,75,209,255,86,137,255,124,197,255,229,130,255,237,197,255,78,122,255,113,211,255,192,132,255,125,199,255,30,146,255,69,202,255,92,134,255,239,217,255,20,166,255,195, +218,255,26,159,255,56,206,255,167,138,255,222,230,255,246,172,255,28,235,255,202,171,255,137,10,0,241,189,255,172,230,255,214,171,255,67,245,255,92,193,255,67,255,255,53,179,255,98,246,255,95,166,255,188,8,0,22,182,255,12,6,0,46,170,255,76,20,0,108,168, +255,213,16,0,158,170,255,6,11,0,93,148,255,195,17,0,157,156,255,50,10,0,19,156,255,137,8,0,62,141,255,99,2,0,130,138,255,111,254,255,210,133,255,67,249,255,16,128,255,117,245,255,50,147,255,33,226,255,227,114,255,183,226,255,139,102,255,222,230,255,190, +122,255,226,211,255,79,124,255,33,220,255,251,104,255,167,186,255,168,81,255,198,189,255,37,88,255,23,183,255,45,99,255,185,183,255,194,99,255,46,173,255,63,90,255,123,187,255,78,120,255,73,185,255,138,96,255,123,189,255,201,106,255,205,188,255,34,113, +255,168,190,255,78,116,255,247,175,255,178,122,255,237,199,255,36,143,255,212,193,255,105,138,255,129,190,255,113,153,255,60,187,255,213,163,255,75,205,255,120,158,255,225,203,255,85,184,255,43,200,255,148,194,255,193,200,255,48,198,255,27,227,255,150, +212,255,16,237,255,2,240,255,160,236,255,237,216,255,24,254,255,27,236,255,41,239,255,48,253,255,35,242,255,98,255,255,170,224,255,81,14,0,144,19,0,20,30,0,160,244,255,150,17,0,9,29,0,34,52,0,132,19,0,33,34,0,144,19,0,196,42,0,132,21,0,177,33,0,63,18, +0,100,23,0,107,19,0,184,48,0,202,36,0,35,54,0,234,37,0,121,36,0,34,37,0,206,24,0,59,37,0,21,46,0,184,45,0,110,56,0,241,40,0,210,50,0,58,31,0,240,49,0,163,18,0,22,50,0,39,28,0,58,40,0,212,4,0,146,36,0,14,22,0,190,39,0,182,11,0,14,39,0,75,6,0,32,32,0,231, +9,0,246,40,0,23,248,255,245,34,0,206,9,0,76,35,0,230,255,255,194,22,0,192,255,255,188,27,0,223,242,255,17,10,0,0,4,0,244,22,0,114,227,255,2,236,255,24,252,255,106,14,0,153,233,255,223,3,0,191,243,255,178,246,255,89,227,255,241,246,255,15,233,255,223, +249,255,220,218,255,166,250,255,0,207,255,173,1,0,231,206,255,47,255,255,30,194,255,53,252,255,111,191,255,84,243,255,131,204,255,170,227,255,235,183,255,196,239,255,178,174,255,63,220,255,178,168,255,50,210,255,147,171,255,21,233,255,227,166,255,74, +212,255,164,164,255,31,215,255,108,157,255,195,227,255,71,173,255,170,225,255,152,162,255,186,206,255,196,163,255,201,222,255,71,167,255,182,215,255,166,176,255,14,232,255,235,177,255,175,220,255,3,176,255,58,235,255,196,169,255,193,205,255,3,168,255, +150,214,255,63,156,255,164,224,255,33,157,255,162,210,255,207,149,255,248,202,255,212,144,255,255,201,255,31,147,255,67,203,255,11,136,255,74,208,255,92,125,255,35,194,255,242,127,255,251,171,255,230,133,255,23,194,255,55,135,255,210,186,255,111,126, +255,205,201,255,17,125,255,109,182,255,104,117,255,148,200,255,226,95,255,34,186,255,84,106,255,160,190,255,72,114,255,147,184,255,140,107,255,33,172,255,39,97,255,114,161,255,42,129,255,176,163,255,182,92,255,56,154,255,3,105,255,31,152,255,177,107, +255,205,144,255,65,109,255,252,169,255,183,94,255,169,156,255,151,95,255,160,131,255,26,99,255,68,144,255,198,63,255,161,139,255,174,69,255,97,121,255,148,63,255,143,144,255,161,69,255,142,130,255,98,59,255,215,116,255,16,62,255,247,125,255,98,67,255, +215,116,255,227,46,255,165,120,255,159,49,255,154,124,255,214,40,255,144,95,255,246,49,255,82,97,255,240,46,255,100,90,255,134,47,255,0,94,255,239,44,255,188,98,255,101,22,255,204,71,255,103,48,255,7,99,255,139,38,255,95,105,255,107,19,255,13,94,255, +114,28,255,57,93,255,6,17,255,151,100,255,46,41,255,31,89,255,103,46,255,219,103,255,242,9,255,118,89,255,118,5,255,1,96,255,87,14,255,141,118,255,162,18,255,35,125,255,181,19,255,197,123,255,2,38,255,237,149,255,57,25,255,187,151,255,164,38,255,46,174, +255,233,41,255,233,170,255,205,70,255,92,203,255,65,50,255,30,203,255,158,94,255,12,214,255,213,85,255,246,237,255,127,107,255,215,242,255,210,120,255,136,255,255,4,117,255,167,10,0,62,134,255,224,9,0,105,135,255,250,23,0,39,154,255,88,25,0,40,168,255, +227,33,0,1,152,255,121,46,0,145,161,255,179,53,0,127,162,255,59,50,0,145,157,255,158,44,0,115,172,255,200,27,0,53,174,255,153,51,0,151,154,255,28,49,0,26,156,255,195,28,0,1,154,255,202,41,0,201,154,255,231,18,0,251,156,255,244,16,0,120,153,255,106,14, +0,220,153,255,175,19,0,132,145,255,101,25,0,133,157,255,93,12,0,31,143,255,48,1,0,152,156,255,31,20,0,38,148,255,194,16,0,145,155,255,30,10,0,132,151,255,135,1,0,133,153,255,5,8,0,200,140,255,206,18,0,139,160,255,180,2,0,239,160,255,40,45,0,183,161,255, +237,17,0,195,153,255,226,25,0,212,144,255,194,26,0,158,153,255,34,46,0,226,154,255,216,55,0,55,135,255,47,54,0,169,139,255,2,39,0,194,149,255,223,62,0,113,152,255,192,63,0,183,153,255,117,67,0,151,150,255,187,78,0,169,143,255,74,76,0,69,147,255,1,88, +0,124,138,255,96,46,0,164,150,255,7,93,0,90,166,255,146,99,0,51,148,255,238,86,0,81,147,255,219,89,0,13,146,255,188,92,0,189,154,255,4,114,0,202,160,255,190,102,0,164,154,255,209,105,0,120,155,255,201,92,0,14,154,255,163,82,0,176,148,255,34,103,0,150, +146,255,194,79,0,120,151,255,181,83,0,39,154,255,137,84,0,136,132,255,117,65,0,37,134,255,130,65,0,242,131,255,211,62,0,55,131,255,41,57,0,255,127,255,231,77,0,60,124,255,99,74,0,43,137,255,48,64,0,186,122,255,241,57,0,6,143,255,60,64,0,155,131,255,16, +53,0,99,132,255,154,63,0,162,136,255,118,73,0,105,131,255,142,69,0,107,145,255,156,73,0,199,138,255,156,83,0,192,129,255,254,63,0,43,137,255,136,68,0,193,137,255,11,70,0,112,144,255,48,60,0,200,136,255,131,77,0,38,142,255,199,78,0,237,142,255,144,83, +0,74,138,255,151,90,0,244,145,255,69,87,0,238,154,255,158,107,0,95,151,255,34,103,0,83,159,255,141,114,0,189,158,255,234,111,0,15,162,255,133,101,0,247,173,255,185,121,0,27,166,255,11,125,0,113,142,255,22,105,0,28,168,255,9,109,0,33,161,255,148,125,0, +2,170,255,205,138,0,151,152,255,64,94,0,249,140,255,165,112,0,169,149,255,97,113,0,149,132,255,183,103,0,123,130,255,2,100,0,219,147,255,41,118,0,209,110,255,32,89,0,186,132,255,188,92,0,242,125,255,182,87,0,129,123,255,18,75,0,184,112,255,46,103,0,220, +153,255,8,101,0,186,126,255,115,106,0,217,131,255,102,110,0,80,133,255,114,100,0,239,156,255,85,121,0,202,164,255,23,121,0,21,167,255,93,136,0,202,162,255,175,139,0,13,152,255,162,133,0,71,165,255,25,143,0,104,182,255,34,166,0,245,155,255,94,152,0,217, +184,255,13,153,0,104,190,255,109,174,0,136,189,255,152,159,0,50,209,255,117,185,0,137,199,255,91,179,0,118,204,255,247,176,0,31,210,255,190,171,0,1,211,255,78,175,0,38,213,255,8,164,0,120,224,255,216,177,0,121,228,255,48,184,0,113,205,255,133,164,0,171, +222,255,170,150,0,126,211,255,187,143,0,245,216,255,207,150,0,218,190,255,192,132,0,143,194,255,87,141,0,125,205,255,167,128,0,5,192,255,109,115,0,12,197,255,109,111,0,217,188,255,11,123,0,223,183,255,210,123,0,204,184,255,254,122,0,5,192,255,248,123, +0,46,163,255,71,103,0,224,195,255,55,132,0,147,173,255,154,124,0,210,181,255,168,130,0,217,182,255,22,113,0,92,192,255,38,149,0,63,205,255,230,134,0,149,201,255,193,138,0,206,200,255,181,144,0,49,195,255,188,147,0,1,209,255,10,180,0,105,198,255,176,151, +0,215,229,255,209,178,0,83,224,255,40,173,0,122,244,255,170,154,0,215,225,255,3,165,0,120,224,255,202,165,0,5,251,255,33,160,0,186,254,255,61,182,0,108,27,0,160,186,0,112,0,0,221,166,0,126,14,0,83,164,0,188,22,0,139,157,0,60,45,0,55,195,0,51,18,0,191, +177,0,159,31,0,34,168,0,15,34,0,120,164,0,151,24,0,53,165,0,196,35,0,88,147,0,213,8,0,252,159,0,26,20,0,106,150,0,150,16,0,225,149,0,32,13,0,25,147,0,194,19,0,207,144,0,76,20,0,118,134,0,0,14,0,30,122,0,218,1,0,186,125,0,219,5,0,122,117,0,64,24,0,98, +127,0,108,23,0,112,139,0,224,250,255,166,114,0,181,7,0,37,141,0,158,23,0,193,134,0,81,11,0,194,142,0,232,17,0,100,147,0,176,18,0,227,163,0,44,17,0,79,183,0,162,6,0,21,166,0,227,26,0,254,183,0,226,24,0,117,191,0,219,15,0,88,202,0,59,37,0,14,214,0,232, +19,0,201,214,0,171,33,0,190,230,0,145,25,0,108,223,0,98,59,0,140,232,0,154,46,0,105,248,0,99,57,0,230,254,0,7,72,0,187,3,1,124,67,0,248,255,0,193,66,0,119,12,1,71,90,0,227,29,1,120,90,0,13,17,1,203,101,0,172,40,1,9,92,0,194,22,1,66,101,0,77,31,1,146, +96,0,141,47,1,17,113,0,31,69,1,98,110,0,41,45,1,59,102,0,120,24,1,99,120,0,241,43,1,161,114,0,210,42,1,109,104,0,156,12,1,8,94,0,12,3,1,10,106,0,169,16,1,78,103,0,166,246,0,208,90,0,184,241,0,34,94,0,152,232,0,208,86,0,171,231,0,194,76,0,22,231,0,72, +98,0,84,229,0,64,91,0,35,241,0,171,98,0,123,245,0,234,104,0,254,246,0,43,117,0,134,237,0,29,107,0,55,254,0,51,81,0,247,233,0,198,122,0,180,2,1,148,118,0,150,15,1,204,111,0,25,9,1,163,134,0,235,42,1,123,122,0,51,25,1,194,139,0,152,35,1,44,133,0,214,29, +1,101,146,0,5,59,1,145,143,0,33,30,1,25,134,0,65,33,1,81,133,0,171,32,1,252,148,0,191,47,1,226,150,0,10,44,1,67,178,0,122,42,1,83,151,0,130,51,1,201,150,0,122,44,1,193,129,0,10,46,1,164,148,0,83,30,1,39,146,0,39,25,1,149,130,0,77,33,1,69,139,0,208,30, +1,148,114,0,134,32,1,38,136,0,215,31,1,213,138,0,13,17,1,156,135,0,207,14,1,149,126,0,75,3,1,162,126,0,169,18,1,62,130,0,132,16,1,126,146,0,219,16,1,230,117,0,173,245,0,214,142,0,187,3,1,169,135,0,5,248,0,187,136,0,63,9,1,136,120,0,49,5,1,12,130,0,125, +11,1,51,144,0,64,17,1,64,148,0,125,11,1,166,166,0,74,255,0,152,156,0,156,12,1,51,142,0,75,9,1,222,169,0,126,17,1,201,150,0,107,12,1,172,169,0,219,16,1,115,158,0,127,33,1,101,140,0,113,9,1,14,146,0,132,16,1,176,140,0,14,21,1,107,141,0,69,14,1,132,137, +0,194,22,1,150,136,0,250,15,1,180,123,0,156,8,1,142,125,0,181,12,1,30,125,0,62,253,0,16,111,0,100,7,1,224,122,0,154,248,0,11,116,0,210,245,0,241,107,0,108,221,0,74,128,0,41,234,0,123,116,0,163,218,0,5,119,0,248,247,0,133,90,0,224,198,0,79,111,0,21,225, +0,214,93,0,237,206,0,168,64,0,19,209,0,20,80,0,87,204,0,161,61,0,60,176,0,11,57,0,167,195,0,162,67,0,98,184,0,0,77,0,202,169,0,10,51,0,255,128,0,155,54,0,113,149,0,134,39,0,80,130,0,28,32,0,179,126,0,139,26,0,230,124,0,114,28,0,4,114,0,120,17,0,247,115, +0,76,18,0,221,99,0,119,19,0,1,88,0,226,18,0,195,91,0,161,254,255,163,88,0,80,255,255,88,92,0,247,240,255,220,91,0,237,0,0,75,86,0,91,241,255,45,97,0,60,240,255,93,75,0,54,247,255,243,77,0,124,254,255,82,85,0,68,3,0,2,98,0,83,23,0,134,109,0,199,4,0,154, +120,0,120,25,0,254,122,0,103,38,0,49,133,0,1,22,0,186,135,0,171,35,0,120,156,0,190,38,0,47,168,0,186,51,0,23,186,0,84,37,0,130,191,0,114,93,0,63,202,0,111,59,0,112,202,0,15,89,0,38,202,0,40,89,0,78,228,0,205,117,0,80,2,1,64,148,0,124,251,0,10,114,0,42, +248,0,232,143,0,25,11,1,96,155,0,101,19,1,90,156,0,34,32,1,252,154,0,124,253,0,140,162,0,200,15,1,86,175,0,39,21,1,41,160,0,233,26,1,72,163,0,1,15,1,161,177,0,230,0,1,172,163,0,130,0,1,217,174,0,11,251,0,128,160,0,165,228,0,243,186,0,142,252,0,128,160, +0,154,248,0,232,141,0,96,219,0,208,155,0,207,217,0,158,149,0,95,213,0,26,142,0,51,212,0,62,126,0,105,193,0,132,143,0,220,213,0,213,140,0,155,193,0,70,141,0,247,174,0,24,118,0,56,207,0,67,119,0,147,180,0,156,129,0,155,193,0,217,119,0,167,195,0,219,135, +0,55,193,0,206,131,0,57,209,0,92,119,0,119,211,0,193,123,0,17,252,0,149,124,0,196,235,0,164,150,0,86,255,0,232,143,0,112,3,1,133,155,0,145,22,1,41,160,0,171,28,1,18,194,0,153,41,1,117,178,0,146,28,1,44,196,0,204,45,1,102,215,0,85,50,1,145,208,0,207,77, +1,83,212,0,130,55,1,28,227,0,18,67,1,221,218,0,181,65,1,146,214,0,36,52,1,24,250,0,47,48,1,23,238,0,224,60,1,233,216,0,255,57,1,35,230,0,11,52,1,26,203,0,252,33,1,53,217,0,144,16,1,158,216,0,52,29,1,115,217,0,107,16,1,131,190,0,101,19,1,205,186,0,98, +249,0,194,204,0,50,3,1,224,189,0,56,0,1,24,185,0,5,252,0,6,192,0,36,255,0,180,186,0,136,1,1,9,155,0,105,254,0,197,163,0,29,236,0,5,180,0,224,1,1,128,164,0,210,241,0,42,172,0,155,250,0,73,173,0,170,30,1,60,173,0,162,13,1,150,195,0,220,20,1,115,160,0,31, +0,1,62,191,0,252,29,1,149,183,0,246,28,1,45,200,0,116,45,1,193,196,0,241,53,1,248,181,0,92,51,1,193,192,0,227,35,1,38,195,0,248,48,1,20,206,0,135,44,1,210,179,0,97,48,1,167,178,0,120,24,1,187,191,0,64,25,1,203,166,0,246,38,1,80,184,0,158,26,1,113,195, +0,250,19,1,129,168,0,163,11,1,110,171,0,182,14,1,160,175,0,7,18,1,253,162,0,187,5,1,17,182,0,86,249,0,223,177,0,76,17,1,129,174,0,37,11,1,209,161,0,161,247,0,191,162,0,174,3,1,236,183,0,207,18,1,97,163,0,193,4,1,155,182,0,8,20,1,16,168,0,169,12,1,10, +171,0,6,14,1,50,189,0,128,31,1,66,166,0,200,13,1,254,174,0,186,253,0,160,173,0,14,31,1,192,178,0,182,22,1,98,171,0,37,3,1,106,188,0,208,26,1,118,190,0,84,42,1,211,181,0,164,27,1,36,181,0,107,18,1,108,206,0,128,41,1,1,201,0,122,40,1,14,203,0,140,39,1, +0,193,0,108,26,1,170,212,0,233,22,1,220,212,0,77,31,1,70,210,0,145,20,1,190,223,0,176,21,1,228,227,0,96,30,1,103,225,0,69,14,1,248,234,0,64,17,1,118,245,0,142,252,0,223,244,0,112,7,1,173,238,0,142,252,0,102,213,0,156,10,1,55,243,0,111,251,0,72,228,0, +174,3,1,72,220,0,221,231,0,16,233,0,242,254,0,115,219,0,104,240,0,90,221,0,72,237,0,164,205,0,122,237,0,189,209,0,60,233,0,13,199,0,71,229,0,229,174,0,165,228,0,224,185,0,138,214,0,123,171,0,207,217,0,211,187,0,40,230,0,253,170,0,46,219,0,73,169,0,57, +215,0,164,146,0,95,221,0,66,160,0,33,223,0,223,171,0,45,211,0,164,148,0,19,213,0,177,162,0,33,219,0,114,146,0,31,203,0,234,157,0,198,192,0,64,150,0,227,222,0,146,157,0,239,216,0,172,169,0,83,213,0,37,187,0,100,208,0,209,167,0,150,206,0,112,183,0,138, +218,0,157,200,0,151,224,0,181,196,0,251,210,0,69,202,0,209,233,0,134,222,0,23,239,0,214,205,0,197,237,0,46,216,0,55,254,0,114,209,0,124,5,1,102,219,0,242,244,0,196,218,0,211,253,0,52,213,0,142,246,0,189,215,0,3,236,0,40,219,0,105,250,0,227,215,0,236, +247,0,84,218,0,61,249,0,2,209,0,254,244,0,168,196,0,65,232,0,250,191,0,90,232,0,86,175,0,246,235,0,72,171,0,72,235,0,191,162,0,45,217,0,191,172,0,207,217,0,201,144,0,176,210,0,181,133,0,67,189,0,240,154,0,167,195,0,255,127,0,91,177,0,251,140,0,109,172, +0,194,141,0,77,167,0,124,126,0,126,157,0,210,116,0,84,168,0,160,116,0,238,149,0,137,130,0,182,152,0,24,120,0,232,148,0,10,106,0,99,137,0,96,98,0,11,133,0,217,119,0,143,144,0,50,136,0,182,150,0,128,107,0,99,135,0,77,95,0,73,129,0,98,116,0,245,154,0,35, +108,0,44,150,0,110,106,0,50,147,0,169,131,0,189,153,0,198,122,0,139,163,0,193,125,0,95,154,0,137,126,0,215,167,0,120,147,0,47,172,0,118,123,0,77,161,0,244,141,0,59,172,0,219,141,0,172,180,0,201,142,0,16,171,0,244,137,0,3,173,0,245,143,0,30,185,0,138, +138,0,134,178,0,75,130,0,21,164,0,64,140,0,191,181,0,212,130,0,164,159,0,137,136,0,77,163,0,162,132,0,189,157,0,219,131,0,139,163,0,248,114,0,83,156,0,223,108,0,14,157,0,73,106,0,1,159,0,47,98,0,49,129,0,3,95,0,80,130,0,115,91,0,249,133,0,2,91,0,162, +143,0,150,75,0,235,121,0,238,77,0,79,120,0,117,56,0,211,129,0,149,61,0,41,118,0,117,52,0,178,114,0,61,59,0,210,119,0,98,59,0,191,114,0,223,59,0,99,133,0,92,52,0,117,126,0,249,63,0,218,136,0,155,60,0,0,143,0,84,39,0,98,127,0,29,50,0,221,109,0,155,62,0, +55,128,0,97,41,0,68,132,0,119,78,0,254,120,0,154,56,0,66,120,0,44,76,0,255,128,0,188,79,0,129,126,0,186,57,0,167,122,0,175,69,0,192,126,0,38,77,0,29,120,0,233,86,0,116,116,0,226,87,0,52,106,0,177,99,0,168,130,0,58,86,0,250,86,0,53,99,0,160,121,0,150, +79,0,153,110,0,159,104,0,33,99,0,2,87,0,220,91,0,8,88,0,163,82,0,70,80,0,199,78,0,243,70,0,49,70,0,219,68,0,223,56,0,160,53,0,205,65,0,55,60,0,61,72,0,16,38,0,220,28,0,66,42,0,170,32,0,71,33,0,89,31,0,157,25,0,117,252,255,249,0,0,111,255,255,161,2,0, +166,244,255,94,9,0,177,232,255,62,6,0,219,217,255,111,252,255,188,222,255,136,2,0,99,212,255,73,242,255,174,202,255,55,255,255,49,202,255,235,236,255,79,191,255,78,235,255,11,196,255,37,6,0,191,185,255,6,5,0,55,201,255,232,218,255,91,185,255,152,227, +255,93,207,255,158,224,255,128,179,255,103,233,255,227,179,255,128,235,255,74,212,255,121,232,255,242,197,255,222,230,255,218,209,255,96,232,255,29,191,255,230,251,255,225,218,255,45,214,255,93,209,255,90,231,255,101,228,255,158,216,255,81,213,255,245, +218,255,50,214,255,138,209,255,25,220,255,37,203,255,205,205,255,62,197,255,87,208,255,67,186,255,130,199,255,230,190,255,181,207,255,219,202,255,137,210,255,78,178,255,243,207,255,160,187,255,125,216,255,16,180,255,235,190,255,86,185,255,135,184,255, +77,170,255,140,177,255,228,168,255,194,156,255,65,172,255,50,153,255,65,162,255,56,152,255,246,167,255,124,141,255,251,160,255,16,128,255,199,138,255,16,124,255,150,146,255,202,110,255,225,144,255,26,106,255,123,130,255,144,91,255,249,134,255,112,84, +255,254,123,255,216,69,255,192,123,255,242,83,255,210,124,255,112,78,255,178,105,255,193,81,255,152,103,255,107,38,255,212,77,255,165,57,255,246,108,255,254,77,255,131,80,255,183,54,255,133,94,255,153,63,255,25,83,255,67,71,255,57,82,255,191,61,255,95, +92,255,122,60,255,6,78,255,134,54,255,157,90,255,11,70,255,37,79,255,96,48,255,139,91,255,15,57,255,63,87,255,34,56,255,207,94,255,59,60,255,255,68,255,117,18,255,236,67,255,177,47,255,132,90,255,246,56,255,198,69,255,140,53,255,75,83,255,58,42,255,164, +95,255,1,43,255,127,99,255,12,25,255,92,66,255,237,27,255,4,62,255,132,38,255,163,85,255,231,34,255,149,69,255,205,18,255,110,61,255,179,10,255,130,72,255,245,245,254,147,51,255,248,7,255,185,57,255,142,16,255,215,46,255,41,2,255,190,44,255,41,6,255, +21,43,255,165,246,254,208,39,255,229,14,255,171,45,255,153,2,255,152,36,255,196,247,254,241,50,255,47,1,255,146,43,255,111,13,255,13,30,255,252,250,254,2,44,255,241,2,255,117,60,255,5,14,255,122,55,255,166,12,255,124,65,255,74,19,255,191,58,255,69,24, +255,6,78,255,212,25,255,150,77,255,125,33,255,169,86,255,108,44,255,236,75,255,51,33,255,33,94,255,163,43,255,139,97,255,126,39,255,114,101,255,234,58,255,160,116,255,253,55,255,144,86,255,52,45,255,202,103,255,221,60,255,97,108,255,207,46,255,167,119, +255,182,40,255,120,98,255,255,18,255,22,114,255,255,26,255,232,90,255,49,19,255,113,87,255,68,22,255,20,102,255,95,36,255,131,76,255,122,255,254,83,100,255,74,23,255,63,89,255,117,12,255,243,78,255,91,6,255,37,81,255,180,20,255,10,61,255,47,3,255,17, +70,255,204,14,255,239,44,255,34,253,254,49,69,255,135,5,255,142,60,255,211,23,255,185,57,255,93,20,255,185,59,255,230,26,255,18,74,255,50,35,255,180,66,255,51,37,255,29,62,255,156,30,255,80,62,255,27,47,255,194,88,255,34,54,255,237,83,255,252,57,255, +57,90,255,22,56,255,1,85,255,128,53,255,69,80,255,122,62,255,179,62,255,220,38,255,76,85,255,141,65,255,221,106,255,98,64,255,1,93,255,70,36,255,27,97,255,66,63,255,64,101,255,81,32,255,75,81,255,150,33,255,39,95,255,162,21,255,121,102,255,143,22,255, +177,101,255,130,18,255,39,101,255,154,8,255,72,102,255,160,9,255,220,94,255,247,251,254,64,101,255,91,0,255,225,89,255,192,20,255,94,90,255,178,2,255,76,93,255,102,244,254,95,88,255,84,247,254,31,82,255,132,239,254,225,79,255,82,231,254,39,91,255,202, +244,254,218,70,255,120,241,254,75,77,255,95,235,254,42,70,255,233,243,254,183,41,255,142,209,254,186,65,255,114,240,254,41,54,255,156,221,254,98,59,255,251,232,254,172,49,255,244,223,254,31,74,255,145,237,254,62,77,255,251,234,254,0,77,255,220,235,254, +149,65,255,84,249,254,3,56,255,37,222,254,189,101,255,202,248,254,100,77,255,13,234,254,67,62,255,32,227,254,156,84,255,50,228,254,37,79,255,8,239,254,220,90,255,127,240,254,112,71,255,172,3,255,48,57,255,58,235,254,36,69,255,35,5,255,247,55,255,184, +255,254,109,53,255,28,246,254,143,78,255,87,23,255,122,53,255,66,252,254,37,79,255,185,7,255,117,60,255,72,249,254,29,54,255,235,5,255,179,62,255,120,239,254,6,84,255,215,250,254,244,88,255,240,246,254,187,79,255,53,254,254,62,79,255,89,240,254,87,75, +255,187,228,254,195,92,255,78,246,254,43,78,255,161,212,254,62,77,255,222,194,254,137,77,255,255,213,254,12,71,255,165,183,254,178,52,255,8,186,254,172,55,255,14,169,254,117,64,255,126,179,254,36,67,255,52,181,254,78,56,255,165,183,254,46,47,255,65,183, +254,129,64,255,130,156,254,28,56,255,89,175,254,11,69,255,138,169,254,92,62,255,133,184,254,29,54,255,190,191,254,178,54,255,202,183,254,222,53,255,40,181,254,16,62,255,98,206,254,43,74,255,83,184,254,48,61,255,172,192,254,180,70,255,80,213,254,101,85, +255,6,219,254,187,77,255,222,192,254,152,99,255,206,223,254,38,87,255,104,201,254,1,91,255,162,214,254,201,95,255,143,217,254,189,95,255,180,209,254,228,115,255,99,216,254,201,91,255,75,218,254,182,88,255,49,210,254,245,94,255,191,199,254,117,70,255, +16,195,254,102,101,255,9,194,254,130,68,255,196,190,254,117,62,255,146,188,254,156,76,255,223,206,254,97,51,255,229,197,254,115,46,255,215,193,254,184,47,255,51,177,254,139,28,255,251,179,254,234,45,255,41,193,254,199,18,255,44,168,254,69,27,255,164, +177,254,237,20,255,245,174,254,162,20,255,14,173,254,7,29,255,146,180,254,57,23,255,32,164,254,181,23,255,146,188,254,225,20,255,233,174,254,90,40,255,58,182,254,103,56,255,3,193,254,72,49,255,157,170,254,216,56,255,165,191,254,100,77,255,140,189,254, +198,69,255,59,194,254,124,71,255,216,205,254,254,64,255,197,196,254,181,84,255,179,205,254,231,80,255,4,203,254,139,97,255,110,204,254,119,90,255,204,205,254,101,85,255,50,218,254,251,87,255,178,199,254,245,94,255,25,218,254,58,94,255,54,199,254,25,81, +255,110,204,254,43,74,255,130,215,254,112,75,255,73,204,254,93,78,255,241,199,254,131,74,255,130,209,254,224,77,255,233,188,254,186,67,255,84,196,254,245,100,255,41,195,254,152,97,255,165,193,254,88,93,255,35,200,254,252,99,255,103,199,254,26,93,255, +235,198,254,107,88,255,60,198,254,44,82,255,68,217,254,200,85,255,4,199,254,157,92,255,161,212,254,59,106,255,30,217,254,8,94,255,213,226,254,173,122,255,144,231,254,172,118,255,113,232,254,152,101,255,45,229,254,55,135,255,195,235,254,80,125,255,53, +246,254,237,140,255,247,251,254,250,144,255,96,247,254,5,135,255,35,5,255,160,173,255,128,2,255,8,163,255,247,255,254,145,157,255,172,3,255,82,153,255,196,247,254,109,171,255,172,5,255,175,136,255,121,251,254,250,152,255,226,242,254,38,152,255,122,3, +255,31,147,255,170,241,254,245,153,255,240,250,254,150,146,255,33,239,254,87,136,255,103,254,254,236,130,255,171,253,254,98,126,255,66,252,254,174,134,255,96,251,254,161,132,255,79,4,255,192,127,255,185,9,255,67,127,255,237,21,255,5,129,255,191,12,255, +136,126,255,185,5,255,233,157,255,222,9,255,0,144,255,174,25,255,207,145,255,99,23,255,195,161,255,195,38,255,189,164,255,145,38,255,117,190,255,214,45,255,245,159,255,144,34,255,166,184,255,84,50,255,184,169,255,234,56,255,133,161,255,188,33,255,116, +174,255,188,33,255,217,188,255,70,46,255,193,194,255,164,41,255,130,198,255,8,42,255,75,207,255,33,42,255,123,187,255,20,40,255,68,194,255,183,50,255,217,182,255,238,37,255,236,193,255,38,37,255,43,200,255,245,44,255,193,194,255,79,61,255,103,178,255, +95,46,255,42,192,255,145,38,255,230,188,255,90,47,255,217,184,255,9,56,255,56,204,255,3,53,255,160,181,255,145,48,255,17,188,255,247,68,255,167,192,255,95,46,255,67,190,255,153,59,255,17,188,255,129,65,255,223,179,255,17,71,255,167,186,255,5,77,255,109, +175,255,28,61,255,223,189,255,222,66,255,25,199,255,34,64,255,158,167,255,98,70,255,191,170,255,235,68,255,102,156,255,104,75,255,147,173,255,93,85,255,236,187,255,131,91,255,15,168,255,105,79,255,247,177,255,218,87,255,133,161,255,131,87,255,27,162, +255,74,82,255,210,173,255,12,86,255,190,166,255,61,74,255,139,164,255,141,65,255,114,158,255,133,48,255,166,170,255,212,29,255,225,148,255,159,62,255,169,149,255,58,48,255,113,152,255,232,46,255,89,156,255,126,39,255,246,171,255,169,40,255,46,173,255, +71,48,255,220,153,255,218,24,255,48,179,255,84,50,255,122,171,255,51,41,255,89,158,255,143,22,255,41,180,255,176,45,255,220,157,255,20,46,255,82,153,255,155,26,255,85,179,255,164,49,255,240,166,255,89,45,255,189,158,255,15,47,255,165,168,255,244,30,255, +248,185,255,27,49,255,208,161,255,26,39,255,240,166,255,45,46,255,215,162,255,207,36,255,135,179,255,219,34,255,72,171,255,77,55,255,59,175,255,225,37,255,174,187,255,193,85,255,136,189,255,53,59,255,166,176,255,254,69,255,239,223,255,87,88,255,250,209, +255,62,88,255,239,213,255,71,107,255,126,213,255,9,113,255,63,205,255,121,117,255,14,217,255,129,124,255,238,205,255,79,124,255,87,199,255,151,102,255,77,227,255,2,114,255,172,234,255,184,119,255,103,231,255,122,125,255,26,221,255,29,128,255,121,222, +255,91,124,255,195,216,255,42,136,255,47,240,255,73,131,255,226,215,255,54,124,255,115,235,255,147,123,255,255,247,255,16,124,255,172,234,255,177,116,255,118,253,255,240,118,255,255,255,255,191,128,255,198,242,255,176,104,255,30,1,0,90,114,255,247,236, +255,163,96,255,124,8,0,246,117,255,217,249,255,208,113,255,72,238,255,170,105,255,254,241,255,98,135,255,104,239,255,208,111,255,105,251,255,216,130,255,36,250,255,160,127,255,159,232,255,11,133,255,155,1,0,185,127,255,204,239,255,35,125,255,112,8,0, +181,148,255,118,7,0,54,132,255,160,240,255,228,126,255,124,250,255,90,120,255,17,253,255,179,132,255,95,25,0,93,148,255,129,249,255,152,108,255,79,247,255,71,113,255,243,3,0,158,105,255,87,14,0,157,99,255,7,9,0,164,110,255,233,25,0,209,125,255,164,24, +0,79,124,255,130,253,255,98,127,255,25,8,0,47,125,255,26,20,0,110,125,255,144,11,0,91,122,255,94,13,0,131,148,255,250,12,0,169,154,255,245,23,0,127,167,255,171,31,0,232,164,255,41,44,0,122,186,255,247,41,0,35,188,255,78,40,0,110,192,255,141,46,0,169, +217,255,113,75,0,138,218,255,157,74,0,163,220,255,207,78,0,106,213,255,230,58,0,32,225,255,102,91,0,197,245,255,27,89,0,15,242,255,27,83,0,29,250,255,201,87,0,210,1,0,22,100,0,92,4,0,127,91,0,219,22,0,214,89,0,198,3,0,209,98,0,24,5,0,228,97,0,35,255, +255,199,120,0,100,23,0,44,76,0,173,253,255,185,106,0,193,12,0,142,117,0,111,3,0,177,99,0,73,255,255,211,114,0,67,6,0,142,119,0,106,18,0,97,102,0,181,14,0,80,117,0,150,21,0,174,120,0,69,20,0,206,133,0,156,20,0,101,140,0,121,40,0,150,136,0,81,18,0,212, +136,0,150,23,0,250,138,0,38,29,0,132,137,0,119,22,0,232,137,0,27,37,0,101,140,0,203,47,0,163,144,0,204,53,0,27,150,0,178,45,0,91,166,0,141,51,0,248,171,0,180,71,0,171,161,0,155,75,0,109,165,0,211,62,0,66,170,0,130,75,0,180,180,0,73,66,0,218,182,0,49, +72,0,142,178,0,230,71,0,132,198,0,100,80,0,51,197,0,138,88,0,36,179,0,224,68,0,201,207,0,158,107,0,226,203,0,2,94,0,70,210,0,13,86,0,175,201,0,47,109,0,166,235,0,216,116,0,242,237,0,127,104,0,177,221,0,164,98,0,182,210,0,190,102,0,167,241,0,78,114,0, +171,220,0,77,102,0,96,222,0,217,122,0,217,237,0,210,123,0,100,248,0,4,120,0,250,0,1,91,120,0,156,255,0,237,137,0,68,243,0,16,116,0,248,238,0,118,144,0,33,13,1,14,151,0,199,0,1,155,130,0,192,247,0,135,123,0,30,251,0,147,115,0,131,255,0,93,138,0,5,237, +0,189,104,0,224,246,0,221,99,0,167,237,0,113,90,0,111,240,0,83,103,0,247,230,0,181,73,0,221,218,0,192,69,0,166,235,0,236,62,0,209,220,0,97,58,0,152,215,0,142,59,0,206,196,0,45,34,0,143,192,0,52,37,0,244,198,0,188,25,0,14,203,0,143,12,0,6,194,0,117,252, +255,219,194,0,35,247,255,242,180,0,79,254,255,254,178,0,147,241,255,13,197,0,178,242,255,80,178,0,227,230,255,179,182,0,35,253,255,178,164,0,241,246,255,133,153,0,214,228,255,62,191,0,35,247,255,3,164,0,189,230,255,152,152,0,209,241,255,253,162,0,2,240, +255,72,161,0,171,243,255,6,129,0,103,242,255,203,170,0,222,247,255,51,148,0,234,241,255,68,125,0,4,0,0,143,133,0,241,250,255,113,138,0,198,1,0,48,112,0,211,5,0,181,135,0,187,13,0,16,107,0,91,250,255,24,118,0,80,12,0,186,118,0,235,1,0,41,101,0,246,241, +255,172,106,0,255,8,0,59,98,0,179,250,255,71,96,0,86,7,0,253,99,0,148,255,255,70,88,0,73,3,0,127,89,0,242,2,0,26,79,0,65,236,255,76,83,0,7,223,255,192,56,0,82,223,255,10,51,0,186,206,255,128,38,0,118,201,255,73,55,0,209,182,255,51,24,0,134,178,255,113, +16,0,232,168,255,177,26,0,138,157,255,124,8,0,187,147,255,8,21,0,242,142,255,193,3,0,43,146,255,105,1,0,192,140,255,225,8,0,197,121,255,106,9,0,15,116,255,99,2,0,11,133,255,57,17,0,29,124,255,238,22,0,218,150,255,27,28,0,168,146,255,127,26,0,250,153, +255,139,28,0,27,167,255,97,43,0,83,168,255,54,50,0,165,177,255,161,65,0,192,193,255,93,70,0,168,211,255,39,81,0,243,203,255,28,101,0,113,218,255,17,109,0,65,246,255,222,104,0,70,231,255,247,104,0,160,249,255,18,123,0,92,6,0,160,106,0,48,1,0,250,136,0, +86,13,0,168,125,0,6,20,0,16,111,0,102,37,0,145,147,0,39,39,0,6,133,0,69,20,0,126,140,0,20,30,0,137,132,0,13,29,0,45,147,0,32,22,0,12,130,0,214,27,0,243,125,0,81,20,0,182,137,0,108,40,0,142,117,0,49,15,0,248,112,0,162,17,0,123,122,0,13,25,0,72,102,0,141, +254,255,252,89,0,179,252,255,78,103,0,42,10,0,140,99,0,91,250,255,151,83,0,249,9,0,15,99,0,84,249,255,94,82,0,211,5,0,232,78,0,167,10,0,30,119,0,1,25,0,28,101,0,124,5,0,122,100,0,114,31,0,159,98,0,21,40,0,174,124,0,106,24,0,42,119,0,239,37,0,98,114,0, +238,25,0,196,98,0,8,34,0,130,125,0,90,39,0,23,114,0,118,8,0,211,124,0,232,28,0,160,108,0,244,16,0,172,100,0,145,32,0,122,108,0,175,23,0,96,96,0,83,38,0,23,112,0,58,38,0,185,110,0,251,29,0,160,112,0,15,41,0,185,110,0,158,44,0,173,116,0,121,42,0,97,106, +0,179,59,0,224,122,0,110,58,0,55,121,0,223,64,0,167,121,0,241,61,0,98,112,0,255,67,0,92,119,0,162,70,0,193,127,0,169,79,0,217,111,0,44,83,0,111,114,0,42,63,0,220,143,0,237,80,0,231,131,0,123,64,0,62,130,0,210,58,0,5,121,0,140,45,0,99,120,0,140,49,0,12, +120,0,165,47,0,135,110,0,134,50,0,79,111,0,8,40,0,15,93,0,212,21,0,46,94,0,186,9,0,41,101,0,198,7,0,164,93,0,121,36,0,119,74,0,197,247,255,114,87,0,79,250,255,150,73,0,228,248,255,44,76,0,2,234,255,62,69,0,26,222,255,167,58,0,109,235,255,217,58,0,9,249, +255,105,58,0,51,228,255,180,54,0,32,223,255,153,40,0,182,221,255,101,24,0,239,230,255,3,36,0,239,228,255,227,26,0,52,240,255,221,33,0,59,241,255,120,27,0,5,10,0,188,12,0,160,251,255,71,39,0,86,13,0,237,6,0,105,10,0,75,14,0,244,22,0,182,11,0,168,14,0, +170,17,0,49,15,0,180,251,255,87,17,0,10,242,255,188,25,0,248,252,255,0,17,0,17,253,255,192,4,0,61,2,0,50,17,0,77,225,255,109,243,255,72,236,255,214,234,255,140,231,255,115,242,255,34,230,255,76,224,255,65,235,255,171,229,255,95,220,255,206,217,255,25, +209,255,91,191,255,71,222,255,210,194,255,213,207,255,109,180,255,131,202,255,65,173,255,113,205,255,109,176,255,136,189,255,57,162,255,198,183,255,80,146,255,112,193,255,24,143,255,186,195,255,67,138,255,185,173,255,137,147,255,255,141,255,210,137,255, +223,183,255,161,137,255,51,152,255,167,132,255,113,148,255,10,131,255,95,161,255,186,143,255,131,133,255,242,132,255,195,161,255,57,156,255,171,159,255,52,167,255,189,150,255,231,150,255,163,146,255,64,175,255,113,150,255,54,187,255,168,141,255,28,189, +255,102,164,255,80,199,255,112,140,255,189,169,255,194,149,255,54,191,255,145,151,255,248,202,255,32,155,255,150,210,255,0,144,255,181,217,255,89,156,255,244,221,255,207,145,255,225,216,255,152,162,255,94,219,255,187,136,255,225,218,255,213,152,255,195, +227,255,1,154,255,231,217,255,13,148,255,24,212,255,233,161,255,47,247,255,49,138,255,45,227,255,20,155,255,159,235,255,177,156,255,39,228,255,120,151,255,174,202,255,182,155,255,119,217,255,219,147,255,93,207,255,0,140,255,62,210,255,162,140,255,23, +190,255,118,141,255,212,208,255,206,139,255,85,190,255,201,154,255,47,188,255,100,150,255,104,197,255,40,172,255,130,203,255,74,191,255,113,226,255,29,182,255,68,211,255,36,189,255,144,223,255,6,200,255,52,234,255,167,182,255,95,225,255,17,188,255,172, +247,255,93,200,255,80,2,0,40,225,255,237,13,0,178,227,255,157,32,0,215,225,255,6,16,0,184,230,255,202,43,0,114,227,255,3,49,0,34,236,255,58,40,0,102,229,255,74,74,0,59,238,255,94,83,0,28,235,255,11,64,0,185,244,255,95,95,0,118,3,0,114,104,0,23,250,255, +245,101,0,72,234,255,177,106,0,46,230,255,102,110,0,110,242,255,173,125,0,198,244,255,236,125,0,106,3,0,54,124,0,246,232,255,204,126,0,216,241,255,155,138,0,142,249,255,76,151,0,66,247,255,113,155,0,92,251,255,30,136,0,62,4,0,93,140,0,248,252,255,170, +156,0,18,3,0,95,154,0,244,19,0,222,176,0,67,245,255,194,148,0,146,31,0,110,184,0,101,24,0,35,176,0,163,18,0,204,179,0,177,28,0,198,186,0,34,35,0,11,190,0,27,28,0,0,202,0,15,36,0,60,184,0,62,67,0,118,197,0,65,32,0,14,220,0,105,60,0,152,222,0,193,60,0, +2,222,0,124,63,0,124,251,0,219,72,0,79,240,0,49,61,0,147,243,0,192,58,0,254,246,0,212,69,0,118,8,1,93,64,0,18,0,1,183,86,0,180,2,1,102,99,0,81,4,1,8,94,0,115,29,1,240,91,0,144,12,1,52,93,0,25,13,1,166,103,0,206,8,1,197,100,0,252,25,1,90,101,0,27,31,1, +14,81,0,212,13,1,21,90,0,182,24,1,196,92,0,143,6,1,140,95,0,249,3,1,49,59,0,13,13,1,138,79,0,100,13,1,243,60,0,118,4,1,149,57,0,204,244,0,56,68,0,67,248,0,63,22,0,196,235,0,204,46,0,167,250,0,59,39,0,39,214,0,20,23,0,15,228,0,45,21,0,220,223,0,151,18, +0,221,229,0,32,13,0,144,209,0,57,15,0,144,207,0,61,252,255,158,223,0,75,12,0,175,208,0,43,7,0,95,215,0,94,13,0,50,204,0,88,16,0,195,221,0,49,4,0,246,225,0,245,17,0,158,229,0,234,37,0,9,231,0,164,20,0,41,240,0,114,28,0,210,239,0,78,40,0,79,242,0,28,42, +0,90,232,0,138,16,0,159,231,0,58,31,0,128,232,0,52,32,0,121,225,0,116,44,0,3,228,0,204,56,0,184,227,0,209,35,0,13,202,0,83,33,0,165,234,0,110,49,0,214,216,0,192,54,0,33,227,0,192,48,0,152,222,0,179,48,0,151,210,0,52,28,0,212,200,0,232,15,0,146,225,0, +247,41,0,127,222,0,140,32,0,163,212,0,146,31,0,77,224,0,75,10,0,57,211,0,1,16,0,7,211,0,227,30,0,57,215,0,70,27,0,107,213,0,176,22,0,119,211,0,156,3,0,50,210,0,81,9,0,31,207,0,217,255,255,44,199,0,125,12,0,245,217,0,150,10,0,158,219,0,169,11,0,59,229, +0,7,9,0,1,212,0,137,10,0,18,201,0,138,16,0,188,212,0,238,18,0,225,206,0,171,29,0,201,210,0,251,20,0,39,218,0,208,25,0,22,231,0,145,23,0,52,220,0,247,41,0,195,219,0,254,50,0,222,233,0,90,42,0,123,245,0,47,43,0,216,246,0,4,46,0,54,240,0,255,54,0,41,240, +0,23,43,0,234,231,0,224,63,0,216,240,0,147,47,0,46,227,0,254,46,0,180,254,0,102,36,0,79,242,0,27,34,0,241,240,0,250,12,0,152,228,0,83,29,0,252,232,0,101,20,0,4,244,0,102,32,0,191,240,0,19,17,0,114,222,0,45,23,0,15,228,0,39,28,0,176,220,0,51,20,0,252, +218,0,93,7,0,162,206,0,56,7,0,50,206,0,231,9,0,8,221,0,55,5,0,149,204,0,25,8,0,75,202,0,130,1,0,118,201,0,231,5,0,6,201,0,113,16,0,89,218,0,174,254,255,181,205,0,180,255,255,38,210,0,86,254,255,44,205,0,149,250,255,46,219,0,168,3,0,34,229,0,193,253,255, +243,199,0,143,5,0,65,222,0,244,9,0,211,198,0,169,9,0,131,209,0,244,11,0,42,189,0,201,22,0,112,204,0,132,25,0,157,211,0,225,6,0,233,221,0,64,28,0,184,233,0,21,33,0,77,230,0,227,28,0,232,213,0,38,16,0,87,204,0,245,27,0,56,203,0,233,25,0,129,189,0,78,44, +0,12,204,0,194,15,0,247,180,0,158,27,0,30,193,0,25,10,0,91,181,0,24,2,0,158,164,0,101,18,0,103,177,0,8,21,0,169,148,0,208,27,0,157,154,0,181,9,0,124,141,0,14,22,0,75,145,0,126,28,0,231,140,0,151,22,0,19,150,0,202,32,0,64,161,0,100,10,0,126,155,0,189, +30,0,184,174,0,15,34,0,127,167,0,65,36,0,77,159,0,24,65,0,255,191,0,178,38,0,44,209,0,84,39,0,69,207,0,196,31,0,219,205,0,103,40,0,89,224,0,96,33,0,52,224,0,115,32,0,146,229,0,176,20,0,46,225,0,151,22,0,222,243,0,40,36,0,199,1,1,165,32,0,11,253,0,236, +51,0,243,0,1,140,32,0,169,12,1,64,30,0,219,12,1,103,44,0,156,12,1,104,50,0,106,6,1,160,43,0,153,41,1,236,59,0,109,42,1,42,52,0,10,46,1,93,70,0,203,43,1,226,87,0,193,65,1,201,87,0,117,53,1,202,89,0,24,60,1,242,121,0,155,59,1,17,109,0,153,41,1,248,108, +0,216,49,1,20,137,0,199,66,1,243,129,0,74,58,1,74,124,0,218,67,1,37,124,0,98,52,1,89,148,0,180,63,1,186,124,0,142,53,1,81,127,0,67,53,1,0,132,0,229,49,1,205,117,0,166,45,1,169,135,0,216,45,1,187,126,0,198,48,1,143,129,0,234,34,1,23,106,0,83,30,1,53,105, +0,132,22,1,248,116,0,138,11,1,76,81,0,124,5,1,27,91,0,219,14,1,180,64,0,238,15,1,58,88,0,237,13,1,62,63,0,95,20,1,76,83,0,133,24,1,141,44,0,156,6,1,245,80,0,101,21,1,110,43,0,149,3,1,75,69,0,52,23,1,111,57,0,107,18,1,68,66,0,40,35,1,39,81,0,209,34,1, +52,93,0,252,35,1,182,84,0,203,43,1,96,96,0,217,51,1,226,81,0,136,52,1,238,81,0,241,49,1,253,101,0,205,63,1,227,95,0,206,65,1,180,127,0,157,81,1,92,119,0,94,73,1,160,108,0,31,69,1,218,127,0,162,66,1,207,141,0,194,75,1,219,139,0,120,85,1,187,132,0,145, +85,1,235,112,0,86,54,1,20,143,0,76,78,1,41,160,0,57,85,1,2,152,0,94,71,1,216,170,0,184,97,1,89,146,0,113,78,1,85,167,0,127,96,1,236,181,0,96,95,1,35,171,0,240,98,1,86,185,0,233,91,1,216,166,0,203,106,1,185,179,0,204,108,1,230,186,0,74,127,1,223,181,0, +5,120,1,80,188,0,173,115,1,138,203,0,34,164,1,81,190,0,152,145,1,136,185,0,228,159,1,96,214,0,93,193,1,232,206,0,44,142,1,88,205,0,65,165,1,133,212,0,55,185,1,121,212,0,149,186,1,82,204,0,44,195,1,164,211,0,206,185,1,240,217,0,136,178,1,197,230,0,19, +199,1,147,230,0,205,179,1,218,245,0,110,170,1,112,250,0,198,168,1,230,243,0,197,170,1,44,5,1,103,163,1,217,237,0,201,147,1,138,4,1,196,154,1,67,245,0,252,151,1,5,251,0,137,127,1,0,252,0,173,113,1,99,246,0,191,108,1,117,241,0,39,94,1,10,230,0,241,106, +1,2,219,0,9,95,1,41,233,0,178,102,1,47,220,0,253,110,1,40,215,0,34,105,1,102,213,0,72,97,1,221,218,0,128,104,1,122,220,0,193,128,1,237,193,0,29,106,1,140,217,0,186,119,1,203,229,0,13,135,1,132,200,0,16,110,1,3,227,0,167,122,1,16,227,0,125,131,1,116,223, +0,193,122,1,215,217,0,131,132,1,122,224,0,51,143,1,122,220,0,171,154,1,190,221,0,197,160,1,229,237,0,143,130,1,188,203,0,224,129,1,253,219,0,25,135,1,191,231,0,44,138,1,128,225,0,208,152,1,221,224,0,76,143,1,179,231,0,69,134,1,130,241,0,65,151,1,54,231, +0,126,145,1,42,235,0,183,146,1,210,238,0,238,143,1,204,231,0,231,128,1,116,229,0,205,126,1,105,247,0,111,117,1,234,226,0,172,107,1,141,225,0,167,114,1,59,224,0,73,115,1,21,222,0,152,96,1,157,202,0,39,80,1,88,199,0,157,77,1,96,216,0,202,88,1,100,199,0, +182,83,1,194,204,0,156,69,1,111,185,0,125,72,1,226,209,0,163,78,1,150,201,0,19,79,1,25,193,0,152,90,1,158,210,0,113,78,1,52,209,0,240,100,1,51,207,0,63,76,1,205,190,0,70,91,1,45,210,0,97,103,1,212,193,0,20,83,1,254,178,0,169,79,1,233,208,0,28,100,1,224, +179,0,145,83,1,54,176,0,171,89,1,13,205,0,145,85,1,11,185,0,250,74,1,43,184,0,32,75,1,119,194,0,1,84,1,248,177,0,243,73,1,203,170,0,97,48,1,128,160,0,17,49,1,34,161,0,16,47,1,247,173,0,160,52,1,129,176,0,116,47,1,9,161,0,134,36,1,214,146,0,171,34,1,25, +126,0,201,21,1,168,127,0,226,21,1,244,131,0,32,16,1,150,134,0,192,2,1,215,154,0,100,13,1,150,136,0,237,5,1,45,147,0,75,7,1,245,145,0,186,1,1,223,118,0,131,4,1,114,146,0,111,255,0,68,121,0,144,12,1,225,136,0,144,18,1,119,131,0,1,15,1,61,112,0,57,12,1, +129,119,0,125,13,1,92,113,0,212,5,1,124,120,0,25,11,1,136,120,0,70,18,1,38,136,0,49,5,1,224,126,0,43,254,0,243,123,0,182,20,1,148,118,0,194,8,1,82,135,0,37,3,1,173,122,0,50,11,1,192,117,0,200,5,1,61,112,0,173,247,0,142,125,0,249,3,1,81,123,0,117,250, +0,165,105,0,186,255,0,173,118,0,190,234,0,128,103,0,110,237,0,196,102,0,173,245,0,108,96,0,3,238,0,32,82,0,97,235,0,19,76,0,157,211,0,144,78,0,129,240,0,121,92,0,84,225,0,19,70,0,157,215,0,193,60,0,47,241,0,44,70,0,215,234,0,174,67,0,147,237,0,129,56, +0,52,222,0,23,57,0,203,234,0,193,60,0,103,238,0,59,35,0,19,213,0,223,55,0,184,227,0,53,44,0,138,214,0,153,40,0,34,233,0,211,55,0,101,216,0,230,54,0,15,228,0,89,28,0,227,222,0,62,67,0,228,230,0,148,53,0,71,227,0,205,60,0,190,234,0,35,47,0,138,218,0,37, +61,0,153,234,0,68,64,0,22,235,0,74,65,0,121,229,0,255,58,0,207,211,0,31,64,0,77,220,0,89,85,0,77,230,0,239,83,0,96,225,0,105,68,0,202,226,0,123,49,0,109,229,0,5,62,0,240,230,0,181,68,0,121,227,0,37,67,0,240,224,0,168,64,0,85,233,0,36,53,0,234,233,0,137, +63,0,92,242,0,216,46,0,22,231,0,96,35,0,36,249,0,254,42,0,122,239,0,131,66,0,241,236,0,17,56,0,79,246,0,235,45,0,71,227,0,115,38,0,166,240,0,141,44,0,146,231,0,149,61,0,196,229,0,72,45,0,203,240,0,84,41,0,103,230,0,9,23,0,20,211,0,85,47,0,158,229,0,200, +12,0,34,235,0,19,9,0,157,213,0,5,251,255,108,219,0,113,22,0,162,206,0,249,254,255,192,187,0,217,245,255,225,202,0,175,16,0,174,190,0,128,237,255,98,186,0,146,232,255,49,192,0,29,249,255,234,168,0,152,225,255,84,168,0,147,236,255,15,159,0,196,226,255, +233,162,0,107,208,255,70,152,0,151,215,255,164,153,0,86,193,255,112,137,0,162,199,255,158,160,0,207,210,255,56,134,0,149,201,255,168,136,0,144,202,255,176,147,0,162,203,255,182,150,0,206,202,255,100,149,0,6,200,255,87,139,0,150,209,255,138,145,0,85,183, +255,133,160,0,118,204,255,203,167,0,87,197,255,221,162,0,199,195,255,102,159,0,42,186,255,134,170,0,60,179,255,121,162,0,74,191,255,141,179,0,121,169,255,151,155,0,116,184,255,133,166,0,191,178,255,33,154,0,196,165,255,102,159,0,94,210,255,171,166,0, +36,195,255,132,158,0,61,189,255,131,140,0,87,203,255,193,138,0,200,199,255,238,141,0,153,178,255,173,129,0,220,157,255,98,129,0,116,180,255,16,112,0,141,174,255,57,93,0,227,164,255,63,86,0,246,169,255,88,86,0,174,138,255,54,61,0,43,139,255,111,70,0,50, +142,255,65,53,0,199,130,255,29,61,0,166,117,255,190,45,0,154,123,255,77,37,0,121,102,255,56,14,0,158,104,255,81,20,0,139,93,255,70,28,0,139,91,255,100,19,0,93,68,255,106,18,0,13,83,255,233,34,0,24,73,255,32,30,0,236,67,255,75,21,0,85,61,255,106,20,0, +55,66,255,8,36,0,78,50,255,82,30,0,233,41,255,69,30,0,47,55,255,103,49,0,209,51,255,115,45,0,173,65,255,193,77,0,153,46,255,85,58,0,144,82,255,245,93,0,100,77,255,27,100,0,170,88,255,60,119,0,62,81,255,154,116,0,51,95,255,41,116,0,173,116,255,143,136, +0,232,92,255,38,139,0,54,127,255,39,151,0,5,131,255,102,159,0,137,138,255,121,168,0,68,135,255,226,157,0,187,140,255,97,174,0,200,142,255,191,183,0,51,156,255,15,169,0,113,148,255,209,164,0,0,144,255,178,181,0,189,164,255,254,179,0,255,133,255,34,170, +0,206,139,255,59,168,0,35,124,255,101,155,0,10,124,255,77,159,0,235,126,255,125,145,0,67,119,255,194,152,0,208,100,255,195,158,0,152,97,255,81,140,0,181,84,255,97,113,0,182,86,255,10,111,0,92,64,255,239,94,0,73,57,255,196,99,0,177,44,255,39,96,0,111, +59,255,76,94,0,195,37,255,31,81,0,239,30,255,125,90,0,94,21,255,218,75,0,230,15,255,142,65,0,205,5,255,79,61,0,155,11,255,241,55,0,247,250,254,159,42,0,66,255,254,141,61,0,72,252,254,241,47,0,90,233,254,83,44,0,42,1,255,233,44,0,14,235,254,165,45,0,104, +247,254,160,50,0,8,238,254,153,49,0,87,215,254,240,49,0,109,246,254,160,64,0,114,227,254,235,58,0,166,253,254,104,59,0,191,249,254,98,60,0,161,4,255,192,63,0,93,5,255,208,97,0,186,8,255,139,98,0,248,4,255,195,97,0,204,255,254,100,90,0,205,11,255,3,112, +0,87,14,255,171,99,0,143,9,255,17,130,0,131,11,255,48,119,0,137,16,255,223,129,0,186,6,255,4,118,0,16,255,254,53,112,0,123,254,254,184,109,0,202,243,254,215,106,0,166,249,254,32,85,0,15,243,254,131,87,0,89,231,254,237,78,0,207,224,254,254,61,0,131,214, +254,211,66,0,175,217,254,103,53,0,43,212,254,209,52,0,211,195,254,73,60,0,230,198,254,239,31,0,10,185,254,45,28,0,194,155,254,73,255,255,159,179,254,37,17,0,179,137,254,216,246,255,213,158,254,121,243,255,6,145,254,13,226,255,211,132,254,26,224,255,30, +143,254,37,208,255,243,145,254,243,211,255,229,131,254,254,197,255,252,109,254,67,193,255,91,127,254,12,210,255,46,108,254,5,205,255,253,115,254,242,197,255,183,110,254,205,201,255,133,114,254,42,197,255,47,116,254,79,193,255,177,111,254,150,210,255, +232,100,254,75,214,255,82,98,254,237,208,255,177,117,254,16,254,255,109,122,254,171,235,255,3,121,254,110,247,255,222,122,254,3,248,255,179,127,254,242,0,0,53,119,254,60,253,255,115,113,254,102,230,255,149,138,254,85,253,255,59,118,254,195,225,255,159, +118,254,76,232,255,166,131,254,14,234,255,159,126,254,220,221,255,233,108,254,145,221,255,221,110,254,73,200,255,215,113,254,161,196,255,226,109,254,245,174,255,100,95,254,247,194,255,151,105,254,145,162,255,175,97,254,50,155,255,154,74,254,99,145,255, +33,108,254,187,145,255,112,91,254,110,121,255,217,76,254,127,114,255,74,85,254,125,90,255,243,84,254,52,112,255,66,68,254,200,92,255,180,86,254,244,97,255,247,69,254,199,82,255,216,66,254,87,82,255,10,69,254,89,104,255,165,54,254,42,75,255,23,69,254, +13,94,255,33,47,254,41,69,255,214,46,254,223,74,255,182,43,254,174,82,255,170,39,254,205,79,255,213,40,254,91,69,255,243,25,254,6,85,255,182,37,254,85,72,255,146,47,254,12,92,255,113,34,254,17,71,255,125,30,254,74,80,255,96,53,254,130,79,255,27,48,254, +242,83,255,176,36,254,198,76,255,25,32,254,68,89,255,128,56,254,180,79,255,77,44,254,50,94,255,63,44,254,112,78,255,171,47,254,211,86,255,10,63,254,108,101,255,184,59,254,213,92,255,222,55,254,58,109,255,142,70,254,140,110,255,16,56,254,76,106,255,203, +56,254,237,84,255,77,50,254,244,93,255,58,49,254,212,84,255,246,53,254,131,85,255,131,27,254,134,56,255,51,40,254,246,60,255,188,30,254,123,68,255,233,47,254,91,61,255,79,7,254,107,40,255,214,245,253,245,48,255,230,17,254,158,44,255,103,249,253,46,48, +255,210,254,253,168,32,255,249,219,253,217,20,255,114,245,253,219,36,255,34,250,253,0,25,255,213,233,253,27,45,255,63,237,253,145,42,255,160,6,254,240,57,255,228,3,254,177,53,255,2,243,253,247,64,255,25,30,254,199,86,255,44,35,254,0,90,255,208,41,254, +65,116,255,213,40,254,123,72,255,122,69,254,250,94,255,242,74,254,59,119,255,222,61,254,234,125,255,161,77,254,4,128,255,69,100,254,143,142,255,176,95,254,34,123,255,41,119,254,104,132,255,160,124,254,5,142,255,14,109,254,50,151,255,10,132,254,130,146, +255,168,149,254,29,134,255,216,131,254,255,144,255,115,123,254,209,119,255,144,159,254,66,128,255,50,154,254,135,127,255,94,155,254,247,127,255,113,156,254,228,118,255,58,167,254,181,150,255,152,174,254,163,153,255,244,157,254,16,128,255,244,159,254, +211,143,255,19,157,254,153,116,255,163,158,254,159,121,255,57,157,254,255,138,255,239,168,254,184,121,255,165,176,254,231,146,255,215,182,254,73,133,255,209,179,254,160,129,255,72,179,254,103,126,255,48,191,254,123,137,255,68,202,254,73,131,255,217,202, +254,12,149,255,12,211,254,4,130,255,95,218,254,205,142,255,185,193,254,198,129,255,138,223,254,68,152,255,163,221,254,85,135,255,125,219,254,215,126,255,13,213,254,179,128,255,69,220,254,184,125,255,169,226,254,217,132,255,206,220,254,145,103,255,114, +229,254,57,93,255,75,217,254,13,104,255,158,234,254,226,98,255,33,234,254,80,83,255,109,240,254,168,87,255,208,240,254,198,72,255,38,223,254,30,73,255,182,218,254,235,68,255,171,236,254,160,68,255,114,231,254,147,58,255,45,232,254,53,63,255,25,221,254, +8,52,255,102,233,254,92,67,255,26,219,254,3,57,255,165,235,254,16,69,255,176,231,254,197,58,255,2,227,254,85,72,255,64,235,254,178,65,255,253,247,254,16,65,255,78,239,254,23,68,255,171,236,254,178,55,255,10,254,254,235,68,255,3,239,254,197,58,255,142, +1,255,122,66,255,60,248,254,105,73,255,185,254,254,93,81,255,24,10,255,115,47,255,253,243,254,99,76,255,30,7,255,86,80,255,210,0,255,61,80,255,59,246,254,224,84,255,222,248,254,111,76,255,205,11,255,166,61,255,192,7,255,91,59,255,255,15,255,227,53,255, +249,18,255,14,49,255,32,27,255,108,46,255,138,22,255,208,50,255,171,43,255,245,44,255,214,40,255,202,47,255,188,28,255,75,25,255,15,40,255,194,34,255,216,56,255,38,35,255,8,35,255,87,29,255,134,43,255,119,38,255,96,47,255,232,38,255,97,53,255,194,34, +255,59,49,255,193,32,255,222,53,255,252,47,255,227,36,255,232,38,255,6,19,255,64,45,255,88,26,255,238,39,255,219,29,255,21,48,255,122,45,255,7,34,255,69,17,255,70,40,255,18,19,255,140,53,255,151,32,255,45,46,255,81,19,255,239,51,255,118,15,255,50,29, +255,101,36,255,27,45,255,163,22,255,193,26,255,246,43,255,7,30,255,202,36,255,168,26,255,201,38,255,222,5,255,251,32,255,178,2,255,96,39,255,91,6,255,78,46,255,214,244,254,116,48,255,66,6,255,47,59,255,128,252,254,115,42,255,108,243,254,210,59,255,115, +250,254,168,78,255,83,243,254,199,77,255,84,253,254,132,86,255,153,0,255,251,91,255,42,8,255,227,99,255,146,243,254,164,95,255,152,250,254,101,95,255,128,2,255,208,98,255,183,247,254,97,108,255,66,6,255,173,126,255,28,254,254,110,116,255,140,250,254, +235,122,255,46,243,254,217,131,255,165,250,254,136,128,255,157,233,254,173,122,255,241,254,254,148,124,255,177,250,254,168,135,255,114,244,254,198,122,255,113,228,254,100,136,255,17,18,255,54,121,255,9,251,254,119,143,255,110,5,255,13,152,255,222,5,255, +248,126,255,41,4,255,217,129,255,74,21,255,91,121,255,46,251,254,69,147,255,180,16,255,61,130,255,153,2,255,199,134,255,55,14,255,119,145,255,70,36,255,225,144,255,6,28,255,237,138,255,131,28,255,120,151,255,175,27,255,190,168,255,107,36,255,5,192,255, +208,48,255,254,180,255,54,65,255,221,167,255,185,68,255,137,201,255,198,70,255,31,210,255,137,84,255,113,209,255,231,97,255,254,184,255,140,59,255,95,224,255,27,104,255,201,215,255,0,94,255,123,248,255,188,100,255,236,250,255,221,117,255,11,252,255,229, +132,255,212,0,0,211,141,255,219,11,0,11,133,255,208,25,0,174,143,255,126,22,0,163,157,255,14,24,0,138,157,255,246,29,0,95,168,255,216,40,0,13,159,255,240,32,0,58,168,255,221,33,0,151,159,255,36,55,0,251,171,255,242,58,0,84,182,255,186,59,0,109,180,255, +167,56,0,141,191,255,18,64,0,73,194,255,225,69,0,227,169,255,136,59,0,160,188,255,101,81,0,55,201,255,151,77,0,80,209,255,51,85,0,48,200,255,183,90,0,205,205,255,128,97,0,149,208,255,2,89,0,186,202,255,115,91,0,162,210,255,80,115,0,169,209,255,235,110, +0,77,236,255,197,100,0,201,222,255,218,125,0,102,234,255,99,124,0,114,232,255,86,120,0,207,225,255,5,125,0,172,247,255,118,127,0,238,222,255,92,115,0,128,238,255,119,139,0,27,236,255,39,146,0,33,237,255,14,154,0,71,243,255,133,149,0,121,239,255,138,140, +0,245,231,255,78,164,0,173,1,0,245,145,0,123,3,0,122,161,0,78,238,255,103,164,0,247,243,255,84,165,0,248,1,0,48,179,0,205,2,0,98,169,0,2,240,255,30,180,0,123,3,0,61,179,0,153,244,255,133,210,0,109,235,255,212,195,0,140,242,255,38,197,0,196,239,255,194, +200,0,191,250,255,150,193,0,52,236,255,32,204,0,255,203,255,3,223,0,240,244,255,239,211,0,174,208,255,95,208,0,194,215,255,126,205,0,252,234,255,229,231,0,152,234,255,29,229,0,138,222,255,71,218,0,188,216,255,141,225,0,133,237,255,201,209,0,177,236,255, +71,212,0,93,209,255,190,221,0,39,230,255,152,217,0,33,231,255,39,203,0,237,206,255,83,206,0,94,217,255,32,194,0,94,223,255,187,199,0,81,217,255,199,193,0,75,210,255,49,185,0,18,205,255,147,173,0,231,217,255,48,173,0,197,247,255,224,189,0,127,230,255, +166,170,0,69,219,255,224,193,0,114,234,255,37,191,0,125,216,255,30,188,0,244,217,255,99,183,0,244,215,255,38,205,0,194,219,255,120,210,0,31,215,255,31,192,0,237,210,255,207,202,0,138,218,255,114,209,0,127,230,255,157,206,0,102,234,255,84,220,0,63,216, +255,115,217,0,57,229,255,66,227,0,213,222,255,217,247,0,253,246,255,190,227,0,235,247,255,162,0,1,196,243,255,223,240,0,191,254,255,236,250,0,9,249,255,120,9,1,184,245,255,130,247,0,47,249,255,198,244,0,129,252,255,59,21,1,209,235,255,45,11,1,187,13, +0,53,24,1,137,17,0,135,29,1,25,17,0,202,22,1,128,248,255,115,18,1,204,254,255,77,20,1,150,17,0,246,31,1,20,36,0,15,24,1,30,16,0,78,28,1,220,28,0,162,59,1,239,41,0,73,41,1,65,43,0,216,42,1,102,39,0,81,60,1,41,59,0,68,50,1,234,42,0,50,59,1,97,58,0,174, +45,1,95,34,0,43,52,1,65,47,0,43,60,1,120,34,0,124,47,1,206,20,0,93,50,1,212,13,0,67,48,1,205,12,0,118,54,1,212,11,0,135,29,1,34,249,255,217,50,1,218,8,0,104,36,1,143,8,0,202,22,1,172,247,255,122,27,1,221,237,255,159,21,1,184,245,255,228,34,1,40,236,255, +33,23,1,250,212,255,158,13,1,224,208,255,146,19,1,30,209,255,101,8,1,17,197,255,102,18,1,142,197,255,182,5,1,179,187,255,200,4,1,18,205,255,39,14,1,34,176,255,150,2,1,123,196,255,186,244,0,66,185,255,58,17,1,110,184,255,13,2,1,9,182,255,42,241,0,28,181, +255,149,248,0,207,166,255,99,246,0,64,167,255,137,246,0,208,174,255,254,237,0,214,171,255,67,239,0,170,158,255,173,240,0,202,171,255,85,236,0,200,155,255,180,243,0,12,151,255,72,230,0,201,165,255,178,227,0,164,167,255,172,230,0,33,174,255,103,227,0,102, +171,255,191,231,0,164,169,255,156,251,0,177,173,255,223,240,0,197,184,255,60,230,0,59,176,255,203,229,0,176,161,255,36,248,0,127,173,255,249,246,0,216,185,255,179,235,0,245,166,255,161,238,0,24,202,255,34,220,0,32,166,255,155,241,0,147,188,255,210,232, +0,126,165,255,222,226,0,2,171,255,85,230,0,184,176,255,183,216,0,100,157,255,172,226,0,125,157,255,48,238,0,177,173,255,142,235,0,106,148,255,74,250,0,69,156,255,87,248,0,48,137,255,87,248,0,178,122,255,186,244,0,49,145,255,75,2,1,68,152,255,97,226,0, +29,128,255,17,241,0,179,134,255,84,224,0,41,128,255,235,238,0,253,124,255,5,241,0,5,144,255,251,207,0,22,129,255,209,220,0,218,144,255,227,221,0,98,137,255,208,212,0,186,141,255,239,213,0,125,147,255,75,199,0,136,139,255,195,208,0,94,150,255,94,194,0, +181,152,255,99,183,0,174,145,255,145,208,0,156,154,255,241,176,0,209,125,255,172,226,0,119,150,255,51,203,0,6,154,255,208,214,0,206,150,255,146,218,0,99,145,255,89,203,0,231,146,255,183,212,0,87,147,255,60,230,0,95,162,255,228,223,0,93,144,255,96,222, +0,151,159,255,205,243,0,145,168,255,107,202,0,150,147,255,217,243,0,52,173,255,79,239,0,251,167,255,197,236,0,245,164,255,230,243,0,145,162,255,23,238,0,62,149,255,130,241,0,57,160,255,61,234,0,113,159,255,148,242,0,50,155,255,80,237,0,122,178,255,234, +220,0,76,159,255,9,218,0,37,149,255,214,209,0,170,164,255,139,209,0,206,156,255,5,241,0,251,167,255,128,221,0,177,167,255,78,217,0,165,173,255,227,221,0,65,173,255,14,213,0,2,177,255,179,231,0,248,192,255,39,213,0,91,189,255,20,206,0,181,207,255,10,226, +0,249,210,255,111,234,0,156,211,255,229,237,0,14,224,255,162,252,0,38,220,255,69,3,1,97,247,255,56,3,1,58,237,255,74,250,0,9,241,255,113,8,1,173,1,0,139,14,1,169,24,0,46,25,1,91,254,255,213,6,1,211,5,0,113,6,1,187,21,0,188,4,1,117,6,0,187,2,1,167,4,0, +18,251,0,117,252,255,175,254,0,47,245,255,50,2,1,145,225,255,37,0,1,158,233,255,168,249,0,46,237,255,98,228,0,251,224,255,247,230,0,51,218,255,253,227,0,229,199,255,191,231,0,98,194,255,239,209,0,154,191,255,44,202,0,59,186,255,26,207,0,4,197,255,88, +205,0,208,176,255,219,198,0,64,167,255,120,200,0,89,167,255,248,177,0,101,159,255,155,184,0,227,173,255,127,154,0,63,157,255,78,164,0,50,157,255,230,180,0,62,155,255,189,148,0,51,159,255,44,139,0,173,133,255,89,146,0,118,146,255,84,155,0,87,145,255,114, +150,0,106,148,255,134,159,0,199,145,255,134,161,0,63,159,255,29,174,0,250,157,255,185,179,0,227,169,255,164,148,0,7,162,255,229,168,0,171,170,255,42,176,0,33,174,255,184,167,0,101,169,255,61,177,0,63,157,255,148,179,0,83,164,255,75,191,0,95,168,255,49, +187,0,152,171,255,250,201,0,244,158,255,111,175,0,163,153,255,255,184,0,102,167,255,193,190,0,120,164,255,211,181,0,206,156,255,223,175,0,62,145,255,61,179,0,118,148,255,186,181,0,124,139,255,55,182,0,83,115,255,96,157,0,78,126,255,114,148,0,72,121,255, +145,147,0,46,111,255,236,118,0,107,99,255,69,135,0,213,96,255,35,114,0,114,104,255,93,127,0,56,87,255,96,98,0,137,86,255,227,93,0,124,78,255,213,79,0,61,70,255,251,77,0,78,59,255,85,53,0,246,54,255,231,72,0,203,63,255,185,53,0,166,65,255,146,29,0,69, +34,255,138,16,0,19,30,255,252,26,0,232,46,255,114,24,0,83,52,255,151,22,0,7,36,255,132,25,0,165,59,255,232,21,0,119,38,255,74,8,0,1,33,255,182,11,0,131,28,255,37,6,0,7,40,255,125,16,0,178,61,255,124,2,0,175,33,255,82,21,0,159,58,255,201,24,0,106,81,255, +163,14,0,222,62,255,221,35,0,111,70,255,219,19,0,68,83,255,240,34,0,87,88,255,39,28,0,48,78,255,97,37,0,121,107,255,33,31,0,227,110,255,23,51,0,132,99,255,246,33,0,164,106,255,85,47,0,195,109,255,205,54,0,66,128,255,252,36,0,202,114,255,142,52,0,252, +114,255,148,49,0,142,130,255,103,40,0,66,126,255,248,51,0,53,120,255,66,42,0,72,129,255,59,39,0,115,114,255,171,39,0,34,119,255,96,33,0,102,104,255,251,24,0,19,101,255,58,31,0,233,111,255,251,24,0,138,100,255,225,12,0,57,97,255,55,255,255,6,89,255,175, +16,0,14,102,255,85,244,255,131,85,255,196,232,255,192,77,255,29,249,255,35,66,255,97,238,255,148,72,255,123,246,255,228,59,255,185,246,255,60,72,255,180,1,0,255,83,255,166,241,255,154,73,255,133,224,255,153,63,255,29,247,255,144,91,255,59,238,255,148, +72,255,115,235,255,116,65,255,234,232,255,148,76,255,116,237,255,104,67,255,68,1,0,7,97,255,97,244,255,143,83,255,236,254,255,138,94,255,48,252,255,120,103,255,236,254,255,155,77,255,61,2,0,37,88,255,154,249,255,198,74,255,207,15,0,200,96,255,195,23, +0,225,100,255,89,30,0,97,119,255,200,16,0,164,106,255,208,33,0,42,134,255,221,39,0,4,130,255,126,24,0,197,121,255,1,12,0,159,121,255,246,35,0,35,131,255,103,42,0,172,125,255,135,49,0,173,135,255,71,33,0,192,132,255,110,47,0,178,120,255,12,63,0,55,142, +255,241,44,0,160,131,255,97,45,0,27,112,255,59,37,0,228,126,255,235,43,0,140,116,255,153,48,0,221,115,255,66,50,0,46,117,255,71,33,0,233,113,255,172,43,0,19,97,255,50,12,0,170,109,255,7,15,0,102,110,255,195,27,0,227,110,255,237,4,0,81,91,255,198,248, +255,232,95,255,81,7,0,225,100,255,193,5,0,139,108,255,39,20,0,164,110,255,55,5,0,82,97,255,136,254,255,15,110,255,249,2,0,177,114,255,118,253,255,16,126,255,155,247,255,225,92,255,41,243,255,145,99,255,174,4,0,203,124,255,117,251,255,202,110,255,118, +7,0,2,110,255,35,244,255,152,112,255,194,13,0,221,119,255,38,12,0,240,118,255,125,6,0,190,118,255,75,12,0,109,123,255,181,9,0,190,116,255,226,22,0,141,126,255,244,13,0,177,116,255,145,27,0,244,103,255,113,16,0,151,98,255,163,16,0,57,99,255,168,3,0,6, +89,255,82,19,0,249,88,255,32,15,0,217,83,255,225,10,0,228,65,255,36,252,255,208,54,255,143,5,0,58,46,255,123,242,255,25,25,255,115,235,255,239,47,255,229,243,255,87,23,255,52,219,255,219,34,255,185,236,255,113,33,255,182,210,255,217,14,255,50,199,255, +116,8,255,221,222,255,85,9,255,232,208,255,104,8,255,200,205,255,148,15,255,117,192,255,247,1,255,7,214,255,204,12,255,201,221,255,211,19,255,48,189,255,203,0,255,85,181,255,110,9,255,160,181,255,160,9,255,110,187,255,166,8,255,197,181,255,32,30,255, +172,171,255,243,28,255,86,191,255,231,30,255,149,195,255,13,33,255,161,185,255,238,39,255,55,198,255,178,59,255,231,206,255,80,73,255,223,189,255,230,75,255,137,203,255,112,82,255,44,206,255,161,82,255,160,236,255,75,88,255,151,211,255,138,96,255,85, +244,255,21,107,255,211,248,255,70,101,255,130,253,255,95,101,255,73,252,255,21,115,255,173,248,255,178,118,255,156,7,0,22,125,255,232,15,0,222,121,255,75,14,0,79,130,255,168,3,0,63,98,255,75,14,0,47,119,255,31,5,0,44,97,255,230,255,255,132,93,255,107, +19,0,195,107,255,188,8,0,37,82,255,213,14,0,175,90,255,46,33,0,111,80,255,107,21,0,37,82,255,133,23,0,68,89,255,226,22,0,55,81,255,33,23,0,143,79,255,90,32,0,225,96,255,52,28,0,157,103,255,134,39,0,84,117,255,141,44,0,184,115,255,243,62,0,184,125,255, +78,44,0,23,133,255,166,50,0,198,133,255,49,65,0,19,150,255,175,73,0,112,145,255,101,83,0,106,148,255,193,70,0,220,164,255,201,83,0,132,166,255,16,103,0,98,194,255,164,89,0,165,175,255,83,90,0,247,188,255,173,108,0,142,203,255,84,100,0,229,199,255,79, +109,0,225,212,255,85,112,0,224,206,255,179,111,0,59,239,255,233,96,0,122,247,255,153,101,0,252,238,255,209,102,0,192,2,0,52,89,0,39,238,255,91,103,0,26,228,255,66,105,0,204,0,0,183,96,0,222,245,255,108,90,0,127,236,255,65,99,0,159,245,255,164,89,0,238, +222,255,233,90,0,237,214,255,90,101,0,69,219,255,244,78,0,91,187,255,240,95,0,204,189,255,213,81,0,124,198,255,58,94,0,178,179,255,209,94,0,2,181,255,131,131,0,203,179,255,115,95,0,152,173,255,43,123,0,104,193,255,37,128,0,152,177,255,143,129,0,28,185, +255,145,143,0,65,179,255,76,138,0,35,188,255,250,134,0,41,181,255,110,167,0,123,196,255,135,175,0,175,210,255,229,168,0,143,201,255,241,172,0,243,207,255,160,179,0,95,231,255,237,193,0,52,240,255,81,192,0,22,241,255,187,195,0,241,250,255,85,167,0,190, +242,255,194,194,0,182,22,0,144,196,0,175,23,0,169,202,0,90,43,0,173,179,0,203,45,0,201,209,0,146,46,0,103,223,0,74,74,0,141,227,0,237,74,0,123,236,0,182,95,0,159,222,0,166,116,0,99,240,0,78,114,0,67,245,0,80,132,0,30,243,0,30,130,0,193,245,0,193,130, +0,248,240,0,26,149,0,6,249,0,244,142,0,113,4,1,163,149,0,198,238,0,223,123,0,37,250,0,142,132,0,168,249,0,17,126,0,30,251,0,54,118,0,255,249,0,140,112,0,167,241,0,172,111,0,207,11,1,115,108,0,181,3,1,171,107,0,125,6,1,56,77,0,113,8,1,208,97,0,71,15,1, +56,81,0,132,11,1,151,88,0,246,23,1,193,67,0,26,14,1,131,81,0,171,19,1,79,67,0,251,14,1,99,78,0,27,18,1,105,69,0,147,29,1,213,88,0,135,29,1,251,92,0,146,21,1,137,80,0,123,45,1,46,99,0,198,47,1,45,91,0,230,50,1,66,114,0,238,69,1,31,75,0,101,67,1,116,114, +0,143,60,1,2,104,0,176,63,1,198,125,0,219,60,1,81,144,0,60,43,1,243,130,0,205,52,1,200,143,0,218,54,1,102,159,0,14,77,1,54,179,0,151,69,1,18,191,0,62,55,1,180,187,0,40,91,1,19,199,0,37,59,1,161,194,0,207,72,1,194,211,0,89,77,1,1,208,0,186,51,1,117,187, +0,186,49,1,173,192,0,17,52,1,3,173,0,223,45,1,143,199,0,21,25,1,28,175,0,79,36,1,245,156,0,227,18,1,176,151,0,190,22,1,188,151,0,232,9,1,12,139,0,27,20,1,180,130,0,38,2,1,55,126,0,69,3,1,11,129,0,242,243,0,9,107,0,83,17,1,66,114,0,75,2,1,240,102,0,219, +7,1,103,108,0,176,6,1,220,91,0,94,251,0,232,95,0,127,18,1,246,109,0,195,11,1,102,104,0,90,18,1,145,101,0,64,16,1,153,114,0,209,33,1,53,116,0,121,19,1,9,105,0,233,19,1,36,123,0,46,19,1,116,118,0,30,245,0,152,104,0,8,19,1,110,113,0,96,25,1,28,108,0,77, +22,1,171,109,0,188,4,1,28,112,0,125,2,1,65,106,0,65,26,1,40,104,0,239,12,1,216,110,0,153,26,1,22,115,0,102,18,1,47,111,0,92,38,1,209,109,0,72,33,1,85,119,0,102,26,1,103,118,0,60,35,1,73,123,0,147,37,1,166,124,0,47,33,1,191,116,0,13,6,1,160,119,0,233, +15,1,252,100,0,197,35,1,154,120,0,113,4,1,199,135,0,114,16,1,90,112,0,120,17,1,190,106,0,127,18,1,117,122,0,64,10,1,110,123,0,145,7,1,184,111,0,13,254,0,47,113,0,182,9,1,253,108,0,250,8,1,77,100,0,124,238,0,172,117,0,232,5,1,185,113,0,18,251,0,240,106, +0,144,255,0,120,101,0,5,251,0,235,121,0,193,253,0,137,133,0,125,0,1,203,114,0,84,25,1,131,136,0,51,12,1,5,132,0,2,18,1,106,144,0,221,23,1,194,148,0,215,20,1,219,142,0,3,30,1,109,172,0,253,34,1,214,161,0,254,42,1,159,174,0,29,38,1,173,186,0,205,48,1,215, +175,0,149,57,1,30,189,0,206,56,1,106,203,0,150,61,1,136,188,0,176,63,1,255,197,0,25,59,1,111,192,0,149,53,1,218,197,0,55,54,1,205,197,0,123,41,1,113,208,0,186,49,1,244,209,0,73,43,1,106,203,0,247,35,1,225,204,0,130,48,1,145,213,0,135,35,1,57,209,0,142, +44,1,35,237,0,8,19,1,225,208,0,111,47,1,62,198,0,21,29,1,83,217,0,73,43,1,38,208,0,179,36,1,164,216,0,78,28,1,51,214,0,148,43,1,100,204,0,59,25,1,205,187,0,185,41,1,226,210,0,233,15,1,164,222,0,39,20,1,232,211,0,127,26,1,76,218,0,52,22,1,253,230,0,222, +29,1,164,220,0,253,32,1,209,233,0,253,30,1,240,230,0,48,41,1,135,245,0,185,37,1,159,241,0,24,57,1,11,255,0,149,53,1,142,248,0,104,42,1,232,14,1,236,47,1,117,250,0,13,67,1,6,0,1,168,50,1,162,7,1,11,47,1,173,255,0,58,78,1,175,15,1,188,65,1,231,8,1,76,67, +1,106,6,1,74,57,1,250,19,1,156,52,1,7,18,1,149,53,1,101,19,1,237,65,1,50,13,1,89,69,1,151,23,1,92,46,1,180,254,0,161,51,1,207,24,1,4,36,1,243,4,1,161,47,1,130,2,1,240,24,1,200,11,1,27,22,1,190,238,0,13,8,1,9,225,0,89,14,1,21,227,0,143,247,0,70,217,0, +30,241,0,1,214,0,123,238,0,103,228,0,185,236,0,38,208,0,21,222,0,194,211,0,236,242,0,155,193,0,216,233,0,182,217,0,236,240,0,195,219,0,9,228,0,1,212,0,102,219,0,69,209,0,78,223,0,225,208,0,141,223,0,84,229,0,20,204,0,88,212,0,197,226,0,176,214,0,190, +227,0,120,215,0,233,218,0,181,209,0,250,201,0,163,214,0,39,211,0,93,199,0,215,223,0,69,209,0,0,195,0,151,214,0,245,208,0,168,199,0,95,208,0,145,213,0,69,202,0,97,237,0,224,189,0,92,185,0,56,186,0,68,201,0,12,189,0,50,200,0,161,177,0,217,189,0,135,169, +0,62,194,0,234,167,0,29,179,0,66,164,0,152,169,0,147,169,0,73,186,0,152,158,0,97,180,0,52,152,0,48,184,0,133,151,0,227,161,0,101,140,0,178,167,0,70,141,0,164,157,0,0,132,0,42,193,0,81,123,0,138,155,0,88,132,0,192,187,0,185,108,0,60,178,0,136,124,0,227, +169,0,219,131,0,109,174,0,60,106,0,135,182,0,166,103,0,121,168,0,142,125,0,147,178,0,180,121,0,154,189,0,180,121,0,105,191,0,98,110,0,195,156,0,239,93,0,44,199,0,234,98,0,247,174,0,23,114,0,173,182,0,147,104,0,21,170,0,169,82,0,252,165,0,172,100,0,95, +158,0,19,76,0,8,154,0,101,81,0,174,135,0,24,65,0,105,138,0,180,62,0,11,133,0,6,70,0,17,122,0,142,58,0,59,113,0,237,67,0,152,102,0,167,58,0,90,112,0,90,38,0,176,94,0,186,55,0,103,108,0,83,33,0,59,111,0,95,31,0,130,128,0,78,44,0,97,111,0,46,37,0,84,109, +0,197,43,0,65,112,0,95,27,0,121,107,0,27,26,0,41,114,0,132,19,0,41,116,0,239,20,0,173,125,0,228,40,0,253,118,0,51,20,0,141,118,0,222,37,0,249,133,0,58,27,0,191,124,0,83,27,0,12,131,0,215,38,0,147,117,0,79,46,0,31,134,0,184,35,0,61,133,0,79,54,0,50,139, +0,198,49,0,223,125,0,22,35,0,42,120,0,33,31,0,67,122,0,252,28,0,243,140,0,20,15,0,214,98,0,227,32,0,215,106,0,158,23,0,85,119,0,194,13,0,190,102,0,82,17,0,146,99,0,152,26,0,203,108,0,56,11,0,207,91,0,99,0,0,195,97,0,0,14,0,246,105,0,231,5,0,8,101,0,87, +14,0,63,90,0,224,250,255,251,98,0,222,234,255,213,92,0,75,6,0,202,104,0,234,238,255,151,94,0,34,228,255,188,92,0,116,237,255,178,108,0,170,220,255,107,85,0,121,226,255,100,90,0,15,233,255,81,87,0,18,200,255,75,90,0,232,204,255,213,92,0,112,203,255,188, +92,0,25,203,255,80,73,0,223,189,255,243,75,0,174,193,255,33,97,0,124,191,255,132,85,0,235,183,255,57,95,0,129,190,255,32,85,0,204,176,255,102,106,0,98,179,255,2,98,0,208,163,255,203,108,0,63,205,255,243,134,0,235,179,255,23,119,0,160,173,255,185,117, +0,86,185,255,233,103,0,203,178,255,98,129,0,58,163,255,85,121,0,33,163,255,122,113,0,103,172,255,130,132,0,192,186,255,24,129,0,254,180,255,189,100,0,51,158,255,66,120,0,115,162,255,254,116,0,71,165,255,246,105,0,122,173,255,148,119,0,103,172,255,171, +105,0,98,187,255,54,118,0,253,174,255,215,104,0,79,176,255,102,104,0,189,156,255,127,104,0,51,158,255,27,104,0,150,146,255,164,98,0,220,151,255,15,110,0,19,147,255,63,90,0,83,159,255,147,115,0,226,156,255,112,74,0,201,152,255,68,77,0,187,140,255,130, +69,0,244,149,255,38,86,0,12,140,255,225,82,0,51,152,255,37,76,0,132,145,255,44,79,0,113,150,255,211,66,0,80,133,255,193,75,0,131,141,255,32,83,0,225,140,255,161,68,0,163,148,255,63,82,0,56,143,255,187,84,0,81,137,255,39,94,0,230,133,255,14,96,0,200,136, +255,63,88,0,199,138,255,53,110,0,242,129,255,120,101,0,167,123,255,202,96,0,148,116,255,239,100,0,25,140,255,1,96,0,179,113,255,250,82,0,254,123,255,244,83,0,240,107,255,92,63,0,83,104,255,224,74,0,146,100,255,111,62,0,146,96,255,85,54,0,70,92,255,53, +55,0,225,89,255,185,54,0,151,89,255,140,39,0,244,88,255,176,31,0,205,68,255,12,11,0,116,58,255,214,27,0,223,69,255,12,19,0,193,70,255,232,26,0,254,56,255,38,25,0,134,43,255,112,15,0,142,56,255,20,28,0,252,42,255,182,28,0,221,45,255,8,40,0,70,39,255,233, +38,0,92,62,255,113,19,0,222,53,255,103,49,0,10,57,255,182,22,0,186,67,255,152,39,0,143,72,255,14,33,0,249,67,255,115,39,0,93,68,255,70,36,0,106,80,255,185,58,0,251,93,255,104,59,0,81,80,255,127,39,0,25,77,255,102,43,0,151,85,255,187,78,0,26,85,255,203, +49,0,170,88,255,129,67,0,43,74,255,184,46,0,206,78,255,239,41,0,222,53,255,183,44,0,102,44,255,26,29,0,111,63,255,89,31,0,2,38,255,249,13,0,221,49,255,7,24,0,33,31,255,252,240,255,87,16,255,196,233,255,106,15,255,35,1,0,106,15,255,153,238,255,174,18, +255,102,234,255,130,3,255,51,226,255,91,247,254,81,215,255,247,248,254,230,205,255,248,2,255,226,224,255,97,246,254,225,216,255,213,225,254,5,205,255,245,234,254,57,225,255,83,234,254,218,211,255,97,242,254,130,195,255,84,236,254,218,211,255,227,239, +254,218,207,255,190,241,254,44,223,255,54,247,254,207,215,255,72,246,254,18,215,255,53,245,254,58,227,255,60,252,254,250,212,255,86,4,255,239,232,255,203,251,254,10,190,255,168,11,255,199,208,255,220,224,254,9,182,255,253,241,254,60,184,255,78,245,254, +129,197,255,130,3,255,91,187,255,14,225,254,202,169,255,4,251,254,196,174,255,221,236,254,245,166,255,196,232,254,175,151,255,73,0,255,108,164,255,215,235,254,138,159,255,221,238,254,93,148,255,246,238,254,45,162,255,189,231,254,187,145,255,183,230,254, +245,164,255,71,236,254,187,145,255,145,226,254,32,160,255,152,233,254,144,160,255,102,237,254,164,165,255,45,228,254,125,147,255,128,247,254,8,178,255,233,234,254,95,172,255,183,232,254,229,197,255,120,232,254,224,210,255,233,236,254,55,199,255,3,245, +254,168,201,255,53,239,254,42,197,255,9,240,254,248,202,255,36,4,255,125,210,255,111,6,255,6,221,255,136,2,255,243,209,255,67,7,255,225,220,255,99,6,255,238,222,255,173,4,255,150,214,255,205,9,255,76,226,255,101,30,255,113,222,255,81,11,255,187,210,255, +255,15,255,49,204,255,135,254,254,253,191,255,31,21,255,67,203,255,36,4,255,160,194,255,202,239,254,97,184,255,46,238,254,169,150,255,208,236,254,184,180,255,82,218,254,43,144,255,64,225,254,185,133,255,36,203,254,255,148,255,208,177,254,228,122,255, +159,189,254,153,120,255,175,160,254,14,112,255,238,162,254,202,120,255,219,155,254,33,111,255,212,150,254,7,101,255,193,147,254,70,103,255,154,137,254,155,77,255,199,138,254,107,99,255,90,123,254,35,66,255,77,109,254,28,59,255,9,118,254,86,78,255,251, +99,254,3,59,255,165,117,254,42,77,255,128,119,254,123,64,255,160,128,254,28,53,255,112,91,254,125,31,255,167,133,254,121,50,255,191,131,254,89,39,255,86,142,254,114,39,255,167,137,254,226,35,255,190,115,254,170,48,255,184,126,254,20,36,255,152,111,254, +255,22,255,14,109,254,48,9,255,234,116,254,62,23,255,108,114,254,23,11,255,69,98,254,210,11,255,191,125,254,191,4,255,56,86,254,234,3,255,189,101,254,121,253,254,63,101,254,183,247,254,42,70,254,154,4,255,5,70,254,226,242,254,186,77,254,137,228,254,204, +68,254,118,219,254,139,48,254,149,216,254,162,32,254,142,213,254,87,24,254,24,210,254,18,21,254,154,207,254,255,19,254,98,210,254,98,18,254,123,200,254,36,14,254,92,207,254,141,5,254,198,206,254,236,10,254,42,207,254,67,11,254,49,212,254,9,252,253,217, +213,254,216,1,254,13,224,254,39,243,253,247,202,254,109,252,253,216,195,254,179,5,254,30,209,254,40,251,253,142,211,254,123,14,254,30,213,254,152,251,253,124,216,254,70,242,253,53,197,254,34,0,254,72,190,254,92,15,254,37,212,254,8,238,253,201,179,254, +178,3,254,240,193,254,240,249,253,243,211,254,248,8,254,114,185,254,98,8,254,59,184,254,28,1,254,216,199,254,4,5,254,199,216,254,115,251,253,140,189,254,180,23,254,197,196,254,200,34,254,11,214,254,230,19,254,166,197,254,83,47,254,168,219,254,151,40, +254,244,229,254,232,35,254,117,207,254,245,43,254,10,202,254,181,25,254,116,201,254,24,24,254,248,210,254,100,24,254,218,211,254,111,20,254,181,223,254,86,10,254,229,197,254,4,9,254,191,195,254,142,11,254,224,216,254,3,255,253,143,221,254,46,250,253, +131,227,254,197,2,254,5,217,254,98,8,254,249,218,254,71,246,253,112,224,254,249,215,253,56,225,254,139,245,253,162,224,254,63,229,253,87,220,254,168,218,253,125,224,254,75,231,253,38,234,254,207,230,253,120,237,254,164,235,253,102,242,254,51,243,253, +77,244,254,221,248,253,114,240,254,159,250,253,121,247,254,141,3,254,53,4,255,93,19,254,250,29,255,48,12,254,143,18,255,64,52,254,24,17,255,196,47,254,39,45,255,151,46,254,214,45,255,47,59,254,109,56,255,72,65,254,38,41,255,148,71,254,163,37,255,18,84, +254,146,50,255,24,79,254,184,60,255,157,96,254,30,77,255,14,107,254,135,66,255,127,117,254,98,68,255,78,123,254,136,70,255,207,98,254,71,48,255,15,111,254,140,51,255,1,103,254,183,44,255,114,109,254,8,46,255,60,124,254,220,38,255,3,121,254,95,40,255, +207,96,254,234,255,254,209,126,254,131,32,255,182,96,254,16,4,255,66,127,254,117,16,255,162,89,254,135,5,255,96,116,254,240,252,254,206,84,254,40,254,254,26,103,254,65,250,254,106,92,254,65,250,254,248,67,254,106,221,254,32,94,254,246,243,254,201,103, +254,79,6,255,13,95,254,104,2,255,55,82,254,78,250,254,14,109,254,30,16,255,37,85,254,11,13,255,95,102,254,242,12,255,207,100,254,125,29,255,201,99,254,6,26,255,53,117,254,76,33,255,113,103,254,136,17,255,89,107,254,212,31,255,95,112,254,95,40,255,103, +119,254,245,38,255,114,105,254,65,53,255,61,138,254,104,69,255,10,122,254,135,72,255,6,149,254,60,72,255,106,155,254,19,87,255,118,151,254,161,82,255,51,160,254,114,104,255,7,161,254,147,121,255,16,182,254,77,110,255,141,184,254,32,93,255,23,193,254, +72,119,255,229,196,254,197,127,255,25,221,254,172,127,255,30,206,254,193,146,255,217,198,254,17,138,255,20,222,254,105,140,255,96,230,254,67,138,255,201,225,254,112,149,255,183,230,254,237,151,255,86,2,255,220,168,255,51,30,255,134,176,255,93,9,255,133, +170,255,169,19,255,111,196,255,57,27,255,216,187,255,121,47,255,81,215,255,246,43,255,6,207,255,65,42,255,37,212,255,23,59,255,20,225,255,25,77,255,8,237,255,135,61,255,151,226,255,111,65,255,171,233,255,87,71,255,235,247,255,161,67,255,226,228,255,244, +92,255,248,5,0,120,88,255,61,9,0,52,101,255,33,235,255,232,92,255,246,235,255,47,112,255,11,5,0,129,119,255,188,19,0,23,130,255,161,7,0,192,129,255,32,22,0,166,121,255,225,17,0,3,115,255,237,21,0,23,120,255,187,15,0,5,129,255,214,41,0,222,120,255,142, +10,0,168,133,255,132,26,0,111,126,255,56,18,0,47,114,255,22,255,255,97,114,255,18,8,0,115,103,255,49,15,0,135,120,255,104,4,0,242,131,255,100,19,0,169,82,255,98,253,255,110,118,255,25,27,0,227,103,255,124,5,0,159,112,255,5,10,0,142,125,255,112,21,0,154, +117,255,69,20,0,24,128,255,20,32,0,185,118,255,227,37,0,136,126,255,3,43,0,189,154,255,112,17,0,182,151,255,52,37,0,0,144,255,152,43,0,175,136,255,195,38,0,143,131,255,135,60,0,149,132,255,101,33,0,12,140,255,96,40,0,156,141,255,57,36,0,137,138,255,33, +40,0,162,144,255,20,36,0,100,144,255,33,38,0,155,135,255,102,43,0,249,140,255,171,44,0,125,144,255,134,52,0,248,132,255,120,38,0,212,136,255,41,55,0,81,141,255,223,62,0,36,136,255,159,48,0,43,139,255,48,60,0,202,156,255,73,62,0,44,145,255,85,60,0,251, +150,255,187,84,0,202,156,255,231,73,0,218,139,255,42,67,0,233,161,255,106,79,0,113,150,255,167,69,0,71,159,255,117,67,0,7,151,255,142,69,0,151,154,255,8,91,0,68,137,255,62,74,0,30,139,255,200,76,0,193,141,255,104,67,0,90,166,255,106,77,0,93,141,255,54, +63,0,127,156,255,34,52,0,214,160,255,234,42,0,253,172,255,139,37,0,126,158,255,190,39,0,195,151,255,32,26,0,116,174,255,152,39,0,66,180,255,161,9,0,122,173,255,57,26,0,84,165,255,69,26,0,207,151,255,211,5,0,214,158,255,64,35,0,57,151,255,206,10,0,14, +154,255,224,11,0,57,151,255,230,6,0,255,141,255,79,4,0,107,149,255,42,0,0,18,139,255,104,254,255,213,148,255,167,0,0,248,126,255,78,246,255,194,143,255,41,250,255,230,135,255,223,3,0,113,146,255,136,5,0,24,138,255,161,9,0,193,141,255,131,24,0,208,153, +255,200,27,0,139,158,255,29,63,0,64,158,255,90,43,0,108,163,255,9,50,0,79,180,255,53,51,0,47,177,255,254,57,0,48,179,255,229,63,0,49,197,255,137,80,0,166,184,255,137,74,0,188,207,255,88,82,0,131,200,255,6,77,0,126,217,255,175,80,0,120,224,255,93,77,0, +64,219,255,239,96,0,77,229,255,0,80,0,159,234,255,83,103,0,246,222,255,228,104,0,61,248,255,220,93,0,252,227,255,8,95,0,211,252,255,206,83,0,217,249,255,113,86,0,243,3,0,25,84,0,26,20,0,176,92,0,181,13,0,230,75,0,118,5,0,229,63,0,183,29,0,117,63,0,209, +35,0,144,83,0,252,30,0,193,75,0,246,29,0,156,83,0,131,9,0,243,67,0,23,53,0,251,90,0,45,27,0,164,98,0,63,22,0,131,87,0,166,40,0,8,91,0,213,22,0,164,98,0,240,36,0,102,106,0,235,43,0,178,110,0,178,42,0,91,120,0,133,23,0,209,109,0,163,14,0,203,110,0,41,42, +0,210,123,0,78,42,0,79,126,0,109,41,0,39,151,0,147,37,0,205,128,0,159,41,0,81,138,0,235,53,0,174,135,0,230,54,0,13,149,0,143,60,0,86,129,0,123,55,0,168,134,0,192,48,0,168,138,0,235,53,0,24,125,0,173,51,0,103,114,0,6,74,0,178,118,0,72,45,0,128,118,0,129, +56,0,205,130,0,249,67,0,5,128,0,44,70,0,161,131,0,187,73,0,124,135,0,14,85,0,75,145,0,12,71,0,51,151,0,177,89,0,193,134,0,219,72,0,189,159,0,95,88,0,157,152,0,216,105,0,208,160,0,183,92,0,214,157,0,43,117,0,178,181,0,78,99,0,152,163,0,134,98,0,64,157, +0,123,114,0,239,157,0,34,96,0,46,170,0,180,117,0,211,184,0,28,105,0,146,166,0,167,117,0,2,163,0,65,99,0,158,164,0,207,137,0,242,185,0,136,114,0,124,200,0,161,122,0,173,188,0,56,123,0,205,193,0,2,152,0,106,203,0,162,136,0,155,195,0,140,164,0,39,218,0, +18,131,0,149,200,0,72,167,0,245,213,0,215,164,0,44,209,0,216,172,0,219,211,0,248,175,0,63,208,0,76,203,0,154,246,0,161,183,0,134,233,0,242,180,0,153,238,0,118,190,0,10,239,0,123,175,0,176,220,0,80,188,0,165,228,0,137,189,0,115,232,0,179,174,0,253,230, +0,229,172,0,207,215,0,154,174,0,88,210,0,43,180,0,183,229,0,28,168,0,170,223,0,66,170,0,19,209,0,228,164,0,39,218,0,254,174,0,112,196,0,48,175,0,213,208,0,11,177,0,104,183,0,92,172,0,140,169,0,241,168,0,189,159,0,149,183,0,28,175,0,165,158,0,3,175,0, +3,164,0,233,156,0,218,192,0,89,161,0,73,169,0,212,143,0,247,173,0,251,157,0,32,202,0,178,173,0,75,193,0,203,173,0,19,192,0,121,168,0,181,188,0,251,153,0,150,191,0,165,171,0,159,220,0,8,160,0,57,208,0,84,174,0,203,223,0,166,181,0,246,216,0,108,162,0,128, +221,0,160,182,0,46,216,0,161,188,0,171,216,0,154,179,0,98,234,0,123,186,0,60,230,0,236,184,0,61,238,0,226,157,0,130,241,0,210,186,0,17,235,0,8,164,0,73,232,0,96,166,0,29,235,0,128,181,0,62,246,0,42,179,0,155,241,0,159,170,0,80,241,0,117,185,0,211,240, +0,245,160,0,112,0,1,84,170,0,106,253,0,209,174,0,149,246,0,78,175,0,129,239,0,153,177,0,137,250,0,11,186,0,116,233,0,96,168,0,237,248,0,230,191,0,174,248,0,59,170,0,193,245,0,203,171,0,74,250,0,240,175,0,69,1,1,108,162,0,230,243,0,227,161,0,235,234,0, +239,153,0,188,4,1,153,171,0,255,253,0,83,160,0,219,3,1,253,171,0,51,8,1,196,162,0,177,16,1,191,173,0,111,242,0,70,152,0,164,16,1,214,153,0,164,16,1,157,150,0,96,15,1,8,154,0,101,14,1,32,146,0,240,26,1,206,146,0,177,18,1,138,149,0,201,12,1,156,136,0,239, +16,1,100,139,0,171,19,1,28,116,0,201,12,1,6,140,0,101,4,1,73,123,0,71,23,1,53,110,0,34,27,1,179,116,0,27,20,1,232,91,0,127,20,1,40,110,0,15,24,1,240,102,0,41,34,1,107,95,0,71,21,1,251,98,0,122,31,1,77,104,0,120,9,1,219,83,0,83,17,1,127,96,0,113,6,1,132, +89,0,157,7,1,74,78,0,249,242,0,182,87,0,41,231,0,11,66,0,49,246,0,67,67,0,106,249,0,73,60,0,242,237,0,53,53,0,226,213,0,239,33,0,159,224,0,158,38,0,190,217,0,195,34,0,214,215,0,156,14,0,6,196,0,111,3,0,101,207,0,186,9,0,0,199,0,174,5,0,7,208,0,193,12, +0,88,197,0,180,2,0,74,187,0,253,242,255,237,193,0,10,255,255,49,177,0,177,230,255,94,192,0,164,230,255,234,167,0,27,234,255,205,182,0,246,239,255,140,160,0,174,206,255,72,165,0,38,216,255,203,166,0,235,196,255,24,183,0,218,205,255,217,174,0,54,197,255, +34,159,0,212,204,255,66,168,0,141,191,255,233,151,0,26,165,255,129,176,0,103,181,255,166,176,0,70,164,255,159,163,0,39,175,255,122,167,0,2,171,255,196,157,0,155,146,255,147,173,0,132,162,255,4,174,0,89,169,255,154,172,0,0,151,255,43,186,0,231,154,255, +5,182,0,170,164,255,30,184,0,82,162,255,6,192,0,107,162,255,137,191,0,93,148,255,120,206,0,1,163,255,249,183,0,238,161,255,38,201,0,239,177,255,170,208,0,250,149,255,212,189,0,75,153,255,50,189,0,208,174,255,37,191,0,64,165,255,143,188,0,7,166,255,1, +205,0,164,167,255,1,201,0,26,163,255,119,196,0,72,182,255,62,183,0,85,190,255,162,195,0,55,209,255,126,205,0,248,198,255,32,208,0,114,228,255,45,206,0,113,220,255,102,219,0,151,226,255,96,214,0,250,220,255,223,234,0,84,235,255,36,238,0,19,223,255,128, +227,0,3,246,255,89,16,1,67,0,0,112,252,0,3,246,255,114,12,1,198,7,0,165,24,1,117,0,0,103,24,1,47,241,255,84,21,1,192,0,0,252,28,1,199,5,0,185,37,1,224,5,0,67,46,1,11,3,0,68,50,1,4,2,0,163,65,1,117,0,0,168,52,1,173,253,255,56,56,1,140,246,255,112,53,1, +65,238,255,229,44,1,8,235,255,244,60,1,40,242,255,244,70,1,21,243,255,6,56,1,22,249,255,101,69,1,147,241,255,31,62,1,110,253,255,104,46,1,235,253,255,63,67,1,91,254,255,234,23,1,78,252,255,86,41,1,80,8,0,135,43,1,41,250,255,249,55,1,249,15,0,199,55,1, +42,0,0,149,49,1,4,0,0,7,68,1,141,254,255,125,63,1,236,3,0,249,59,1,155,6,0,142,105,1,134,249,255,124,110,1,117,0,0,204,95,1,214,234,255,115,91,1,179,252,255,237,116,1,98,255,255,25,118,1,53,248,255,169,125,1,118,8,0,246,143,1,208,34,0,31,121,1,141,254, +255,56,125,1,32,30,0,152,148,1,130,6,0,133,141,1,61,7,0,195,135,1,105,10,0,103,152,1,31,14,0,16,156,1,180,12,0,22,153,1,75,17,0,191,156,1,55,8,0,202,142,1,93,8,0,21,151,1,154,250,255,128,146,1,192,6,0,76,140,1,183,233,255,238,130,1,78,242,255,245,135, +1,39,238,255,25,126,1,111,206,255,50,124,1,13,216,255,223,102,1,186,206,255,168,119,1,61,200,255,253,93,1,68,207,255,106,123,1,87,204,255,136,114,1,86,200,255,242,109,1,85,190,255,197,94,1,234,182,255,242,107,1,55,209,255,99,112,1,248,200,255,22,96,1, +60,188,255,110,100,1,66,187,255,149,112,1,229,189,255,13,124,1,41,185,255,132,137,1,3,185,255,113,134,1,9,176,255,6,119,1,141,191,255,217,107,1,254,195,255,144,121,1,39,169,255,218,113,1,0,161,255,205,111,1,126,169,255,241,101,1,5,140,255,160,96,1,225, +153,255,172,90,1,86,139,255,52,83,1,173,131,255,1,77,1,112,149,255,236,51,1,221,119,255,5,48,1,202,114,255,247,39,1,2,108,255,85,37,1,83,109,255,221,31,1,102,108,255,89,12,1,161,76,255,171,19,1,106,85,255,1,14,1,43,79,255,131,255,0,29,67,255,224,250, +0,60,72,255,166,235,0,54,75,255,55,237,0,61,80,255,97,220,0,114,49,255,203,233,0,3,57,255,248,240,0,145,46,255,4,233,0,108,46,255,52,213,0,164,41,255,172,230,0,112,29,255,160,232,0,20,42,255,136,240,0,63,31,255,91,223,0,87,23,255,191,231,0,131,24,255, +152,219,0,255,18,255,148,242,0,80,16,255,179,231,0,143,22,255,37,250,0,18,20,255,73,234,0,243,18,255,11,238,0,18,16,255,130,237,0,74,13,255,217,239,0,86,11,255,218,249,0,198,7,255,166,235,0,125,27,255,72,224,0,23,5,255,198,238,0,72,255,254,10,232,0,179, +4,255,48,234,0,245,237,254,154,231,0,177,246,254,92,235,0,81,225,254,72,230,0,137,224,254,39,207,0,211,210,254,60,226,0,217,203,254,95,208,0,181,223,254,72,226,0,85,202,254,164,211,0,99,218,254,65,221,0,124,216,254,15,219,0,38,230,254,163,197,0,50,228, +254,58,212,0,195,239,254,10,232,0,190,252,254,170,210,0,34,249,254,47,224,0,83,241,254,10,230,0,228,248,254,252,217,0,74,17,255,91,233,0,148,13,255,241,233,0,111,13,255,15,215,0,68,16,255,74,246,0,18,26,255,167,241,0,178,2,255,9,228,0,218,18,255,117, +235,0,216,6,255,178,223,0,192,20,255,168,247,0,187,27,255,179,241,0,198,13,255,42,241,0,5,16,255,215,227,0,197,1,255,60,230,0,170,239,254,184,230,0,207,235,254,159,220,0,183,237,254,114,209,0,102,240,254,141,225,0,69,223,254,65,221,0,90,244,254,131,196, +0,251,228,254,24,191,0,213,232,254,192,184,0,213,230,254,249,183,0,143,219,254,24,191,0,63,228,254,55,178,0,191,201,254,60,173,0,18,209,254,16,170,0,67,211,254,235,165,0,74,210,254,59,161,0,85,202,254,15,162,0,123,206,254,39,154,0,35,198,254,3,164,0, +140,187,254,252,156,0,10,198,254,146,161,0,65,189,254,133,151,0,146,188,254,96,157,0,246,190,254,85,163,0,10,200,254,196,155,0,203,195,254,197,167,0,196,184,254,155,180,0,197,196,254,58,153,0,221,186,254,67,176,0,65,189,254,246,155,0,165,183,254,96,157, +0,253,193,254,189,152,0,234,192,254,219,137,0,15,181,254,40,156,0,209,186,254,145,147,0,47,190,254,29,166,0,91,197,254,151,138,0,183,180,254,188,138,0,128,199,254,225,138,0,16,197,254,203,170,0,181,217,254,95,147,0,177,191,254,175,142,0,42,205,254,7, +135,0,116,195,254,56,123,0,212,214,254,106,135,0,210,208,254,213,134,0,222,202,254,118,129,0,39,232,254,211,114,0,100,224,254,248,118,0,7,233,254,173,108,0,107,233,254,95,141,0,85,255,254,4,107,0,26,232,254,217,115,0,137,228,254,178,107,0,113,236,254, +165,105,0,157,235,254,229,105,0,96,243,254,196,102,0,143,219,254,255,117,0,233,247,254,110,110,0,162,220,254,23,114,0,7,233,254,92,113,0,77,240,254,236,118,0,164,234,254,235,116,0,100,220,254,37,130,0,235,194,254,97,102,0,142,213,254,12,130,0,225,220, +254,142,119,0,190,191,254,123,116,0,11,204,254,186,114,0,65,187,254,172,106,0,54,201,254,47,98,0,72,194,254,98,112,0,121,186,254,127,99,0,26,177,254,29,103,0,178,193,254,95,90,0,190,183,254,133,96,0,49,210,254,69,76,0,42,211,254,50,67,0,103,193,254,57, +78,0,142,209,254,156,72,0,69,225,254,151,77,0,75,228,254,225,69,0,119,227,254,181,66,0,13,226,254,243,60,0,14,236,254,186,61,0,199,222,254,219,68,0,208,243,254,18,64,0,170,245,254,5,62,0,166,6,255,181,68,0,222,5,255,130,54,0,9,251,254,206,76,0,209,253, +254,138,77,0,220,239,254,187,69,0,121,249,254,76,77,0,76,232,254,219,76,0,179,8,255,23,106,0,215,0,255,2,93,0,179,10,255,128,103,0,173,13,255,2,93,0,18,16,255,209,98,0,160,9,255,12,128,0,98,11,255,166,113,0,86,13,255,210,106,0,154,8,255,223,116,0,142, +14,255,107,84,0,134,255,254,222,106,0,53,4,255,244,72,0,121,243,254,22,102,0,197,1,255,75,75,0,220,245,254,208,86,0,164,238,254,145,80,0,100,226,254,161,65,0,6,215,254,94,74,0,118,219,254,237,67,0,104,203,254,234,41,0,92,207,254,66,42,0,217,209,254,145, +25,0,47,192,254,46,33,0,227,187,254,245,23,0,45,180,254,81,7,0,40,181,254,105,5,0,26,177,254,6,11,0,27,179,254,66,247,255,152,177,254,134,230,255,227,187,254,216,233,255,203,191,254,55,253,255,176,179,254,178,231,255,208,180,254,148,242,255,61,204,254, +223,244,255,95,178,254,1,213,255,178,189,254,59,232,255,72,190,254,72,236,255,126,175,254,160,240,255,35,202,254,3,239,255,92,209,254,46,230,255,72,200,254,78,237,255,123,206,254,228,233,255,146,186,254,52,229,255,37,220,254,225,209,255,209,192,254,85, +236,255,223,208,254,151,213,255,61,210,254,62,207,255,206,217,254,171,232,255,149,222,254,34,228,255,57,223,254,7,214,255,87,218,254,221,228,255,32,231,254,193,200,255,193,221,254,175,205,255,6,225,254,81,200,255,172,202,254,130,192,255,48,208,254,222, +175,255,12,220,254,103,178,255,181,223,254,54,182,255,174,218,254,228,172,255,206,223,254,178,172,255,243,219,254,176,158,255,186,210,254,116,178,255,131,221,254,171,165,255,156,217,254,127,162,255,149,218,254,38,152,255,123,214,254,227,160,255,38,226, +254,64,158,255,99,212,254,240,172,255,226,238,254,114,158,255,101,238,254,102,166,255,121,245,254,115,168,255,218,221,254,171,167,255,3,246,254,245,159,255,170,235,254,141,178,255,232,239,254,84,173,255,232,239,254,166,178,255,239,244,254,77,170,255, +166,2,255,234,169,255,158,251,254,120,161,255,123,7,255,10,179,255,86,7,255,79,190,255,197,1,255,184,171,255,160,11,255,67,182,255,0,31,255,121,167,255,11,13,255,96,169,255,30,14,255,253,178,255,51,41,255,203,170,255,100,27,255,217,182,255,168,24,255, +189,160,255,143,18,255,46,169,255,236,23,255,233,159,255,99,23,255,85,179,255,188,35,255,53,178,255,26,37,255,251,160,255,193,32,255,158,163,255,58,48,255,35,177,255,1,41,255,227,160,255,176,39,255,146,165,255,101,43,255,185,183,255,166,61,255,241,178, +255,240,57,255,16,180,255,222,66,255,148,189,255,55,73,255,246,167,255,104,61,255,135,183,255,88,94,255,55,196,255,225,96,255,117,186,255,237,94,255,38,209,255,39,102,255,237,199,255,33,109,255,100,203,255,3,124,255,213,211,255,33,111,255,156,202,255, +6,152,255,113,215,255,250,157,255,102,223,255,33,168,255,160,236,255,20,164,255,91,247,255,2,173,255,110,236,255,52,175,255,248,246,255,53,183,255,254,249,255,204,193,255,218,3,0,137,204,255,231,3,0,188,212,255,98,248,255,117,199,255,67,245,255,107,229, +255,244,13,0,119,215,255,67,255,255,44,219,255,243,1,0,143,207,255,211,2,0,95,225,255,81,11,0,100,214,255,217,255,255,245,227,255,19,11,0,44,213,255,151,28,0,158,233,255,81,13,0,55,205,255,14,18,0,144,219,255,102,26,0,1,222,255,114,20,0,127,236,255,82, +21,0,34,241,255,14,24,0,16,244,255,196,35,0,228,248,255,126,28,0,108,233,255,245,21,0,244,221,255,227,26,0,97,241,255,215,32,0,198,7,0,208,27,0,73,3,0,71,31,0,235,251,255,35,43,0,84,249,255,157,21,0,30,8,0,31,7,0,205,8,0,157,15,0,48,3,0,44,17,0,177,33, +0,19,7,0,93,12,0,43,3,0,74,15,0,55,1,0,10,1,0,142,255,255,255,12,0,55,253,255,211,9,0,172,244,255,98,7,0,52,233,255,168,8,0,114,227,255,117,10,0,145,214,255,205,6,0,31,210,255,147,251,255,230,194,255,145,229,255,170,220,255,239,232,255,232,218,255,29, +2,0,68,198,255,140,238,255,212,197,255,175,210,255,112,199,255,57,219,255,160,183,255,242,205,255,92,182,255,60,192,255,166,176,255,219,162,255,105,188,255,101,169,255,101,148,255,81,154,255,102,162,255,56,148,255,52,160,255,242,142,255,63,146,255,199, +141,255,215,168,255,111,143,255,161,126,255,190,112,255,173,124,255,91,132,255,112,144,255,172,121,255,162,130,255,36,133,255,160,114,255,201,108,255,148,120,255,86,133,255,88,83,255,191,126,255,172,114,255,47,125,255,189,97,255,247,125,255,176,95,255, +23,131,255,38,85,255,198,135,255,32,86,255,156,150,255,93,74,255,187,149,255,237,77,255,150,151,255,211,69,255,113,155,255,123,67,255,236,135,255,43,72,255,144,160,255,91,58,255,7,156,255,75,77,255,95,164,255,165,50,255,131,150,255,98,63,255,123,190, +255,216,60,255,140,173,255,9,53,255,253,183,255,186,69,255,99,202,255,147,49,255,54,195,255,203,58,255,192,193,255,86,65,255,232,219,255,198,61,255,226,224,255,28,50,255,169,219,255,253,58,255,52,230,255,202,46,255,79,197,255,37,71,255,239,226,255,96, +43,255,44,213,255,179,60,255,149,206,255,158,37,255,243,209,255,185,53,255,110,194,255,215,48,255,31,211,255,179,56,255,119,213,255,84,49,255,40,183,255,226,34,255,73,190,255,184,51,255,180,195,255,96,39,255,172,184,255,204,66,255,223,192,255,72,53,255, +205,199,255,98,57,255,17,193,255,215,52,255,137,204,255,72,55,255,173,190,255,153,48,255,81,207,255,197,53,255,227,236,255,10,55,255,221,235,255,32,33,255,152,232,255,136,69,255,74,13,0,199,73,255,98,3,0,82,88,255,36,9,0,50,87,255,175,27,0,156,76,255, +46,40,0,82,90,255,147,52,0,20,96,255,48,60,0,158,104,255,69,79,0,59,106,255,239,98,0,33,98,255,195,93,0,72,112,255,3,108,0,42,129,255,190,102,0,187,138,255,159,111,0,163,142,255,81,138,0,62,134,255,49,131,0,131,133,255,216,120,0,37,134,255,110,121,0, +250,146,255,85,117,0,187,140,255,117,128,0,118,141,255,60,117,0,49,134,255,222,115,0,128,115,255,96,107,0,217,127,255,47,115,0,35,124,255,190,112,0,23,122,255,240,102,0,41,119,255,184,109,0,16,119,255,28,110,0,222,110,255,210,121,0,240,111,255,241,114, +0,72,116,255,64,96,0,233,102,255,133,101,0,108,104,255,139,96,0,229,119,255,134,111,0,199,130,255,115,110,0,23,122,255,60,115,0,112,134,255,146,105,0,138,146,255,141,120,0,55,125,255,68,132,0,117,133,255,142,122,0,119,147,255,75,145,0,251,150,255,194, +148,0,81,139,255,82,148,0,150,146,255,51,149,0,150,144,255,46,156,0,231,145,255,166,177,0,76,148,255,134,172,0,113,146,255,156,199,0,210,179,255,75,196,0,228,176,255,44,209,0,221,163,255,120,217,0,204,184,255,228,230,0,184,169,255,102,226,0,242,190,255, +10,239,0,236,193,255,223,249,0,248,183,255,130,0,1,4,186,255,225,11,1,175,205,255,178,43,1,250,203,255,179,53,1,122,177,255,117,49,1,14,219,255,13,78,1,111,191,255,87,70,1,162,207,255,82,79,1,62,197,255,200,76,1,71,222,255,96,91,1,1,213,255,162,66,1, +113,209,255,137,60,1,69,206,255,74,58,1,243,198,255,174,60,1,77,219,255,17,55,1,50,203,255,47,38,1,175,199,255,89,25,1,105,194,255,213,17,1,44,202,255,146,28,1,119,206,255,58,26,1,182,212,255,58,24,1,92,186,255,137,3,1,242,184,255,154,244,0,129,184,255, +79,240,0,144,206,255,47,241,0,123,189,255,49,253,0,166,184,255,158,229,0,199,187,255,73,247,0,29,190,255,229,238,0,40,176,255,192,250,0,198,183,255,205,254,0,125,203,255,1,19,1,193,194,255,50,13,1,54,184,255,151,19,1,93,194,255,170,30,1,81,204,255,99, +58,1,43,204,255,4,57,1,55,188,255,69,79,1,224,201,255,220,87,1,14,219,255,44,79,1,171,226,255,28,98,1,226,215,255,215,100,1,180,188,255,34,97,1,215,225,255,125,129,1,208,220,255,186,117,1,150,209,255,223,117,1,83,216,255,124,125,1,38,215,255,138,139, +1,170,210,255,117,116,1,82,214,255,17,122,1,125,203,255,137,127,1,82,212,255,181,132,1,124,201,255,119,132,1,199,197,255,212,131,1,110,183,255,200,139,1,105,194,255,71,152,1,36,195,255,51,147,1,175,199,255,19,138,1,118,198,255,169,132,1,166,184,255,245, +152,1,24,195,255,208,148,1,118,200,255,207,140,1,174,197,255,195,146,1,62,197,255,19,132,1,177,225,255,160,162,1,18,198,255,220,146,1,0,207,255,164,149,1,44,206,255,129,165,1,108,220,255,141,167,1,241,239,255,160,172,1,83,216,255,110,166,1,46,232,255, +192,171,1,9,236,255,160,170,1,253,231,255,40,161,1,184,228,255,66,167,1,130,253,255,161,180,1,54,249,255,252,161,1,48,252,255,62,196,1,32,13,0,124,180,1,92,245,255,110,172,1,155,247,255,11,178,1,205,247,255,105,181,1,165,235,255,6,191,1,33,224,255,36, +174,1,15,227,255,248,174,1,83,230,255,253,169,1,214,219,255,127,159,1,165,225,255,135,168,1,19,208,255,123,172,1,11,193,255,10,170,1,11,189,255,47,166,1,244,206,255,142,177,1,124,191,255,166,173,1,190,172,255,209,164,1,197,173,255,22,168,1,8,161,255, +153,163,1,216,174,255,166,167,1,143,133,255,231,136,1,84,171,255,59,160,1,2,166,255,133,148,1,101,148,255,214,145,1,7,151,255,176,137,1,45,151,255,153,157,1,26,156,255,15,159,1,135,173,255,134,164,1,232,151,255,163,141,1,253,170,255,242,183,1,140,168, +255,41,163,1,113,152,255,68,183,1,152,156,255,104,179,1,210,179,255,205,183,1,203,174,255,180,177,1,61,191,255,19,195,1,53,178,255,44,191,1,241,182,255,25,192,1,42,190,255,245,213,1,5,188,255,52,222,1,12,197,255,189,210,1,5,188,255,197,219,1,62,203,255, +122,225,1,87,197,255,128,222,1,187,203,255,79,228,1,0,201,255,52,214,1,200,199,255,255,242,1,250,203,255,97,227,1,30,194,255,123,231,1,31,202,255,184,223,1,112,203,255,127,214,1,132,218,255,11,239,1,56,202,255,161,243,1,193,200,255,109,227,1,64,219,255, +223,231,1,169,212,255,142,238,1,170,216,255,91,230,1,150,209,255,116,228,1,166,237,255,230,244,1,37,201,255,48,241,1,52,223,255,225,251,1,46,232,255,211,247,1,113,215,255,18,246,1,155,247,255,69,254,1,93,3,0,108,18,2,128,241,255,37,255,1,121,228,255, +38,11,2,74,2,0,46,26,2,30,1,0,192,41,2,206,3,0,226,13,2,119,9,0,3,29,2,23,250,255,54,45,2,149,0,0,28,33,2,187,6,0,59,34,2,107,25,0,217,41,2,201,22,0,124,50,2,239,24,0,54,37,2,134,35,0,65,27,2,238,18,0,91,43,2,38,18,0,92,47,2,226,14,0,214,19,2,9,33,0, +232,14,2,124,4,0,245,10,2,111,252,255,126,7,2,28,237,255,220,16,2,242,251,255,158,12,2,160,240,255,69,254,1,59,232,255,42,248,1,27,227,255,124,253,1,194,212,255,214,19,2,189,217,255,95,14,2,5,196,255,37,251,1,201,213,255,63,9,2,37,197,255,99,245,1,173, +185,255,164,9,2,92,192,255,137,253,1,249,195,255,250,251,1,247,175,255,42,244,1,127,164,255,117,244,1,73,185,255,143,0,2,121,165,255,92,244,1,230,188,255,238,11,2,160,183,255,237,249,1,202,156,255,19,254,1,171,169,255,198,241,1,216,170,255,218,248,1, +34,165,255,248,239,1,110,181,255,242,240,1,153,172,255,47,223,1,232,153,255,234,219,1,217,184,255,28,228,1,28,178,255,9,225,1,184,169,255,38,208,1,245,157,255,184,217,1,170,153,255,125,198,1,21,173,255,57,205,1,228,172,255,182,197,1,214,164,255,108,209, +1,60,179,255,251,206,1,108,167,255,162,190,1,170,157,255,96,211,1,86,185,255,145,203,1,197,181,255,152,214,1,166,176,255,57,203,1,148,183,255,171,211,1,247,177,255,102,216,1,140,168,255,164,210,1,136,189,255,176,200,1,84,175,255,32,203,1,115,172,255, +64,216,1,157,155,255,125,196,1,167,188,255,251,210,1,98,185,255,106,195,1,134,175,255,137,190,1,50,150,255,79,175,1,51,158,255,23,172,1,220,161,255,14,147,1,227,160,255,146,162,1,63,150,255,146,156,1,193,133,255,207,142,1,56,143,255,56,132,1,185,114, +255,60,111,1,143,135,255,216,108,1,129,121,255,28,108,1,42,125,255,2,92,1,60,118,255,140,96,1,153,115,255,212,76,1,106,84,255,140,37,1,78,113,255,66,45,1,200,85,255,185,46,1,75,81,255,128,35,1,161,69,255,92,53,1,49,75,255,202,25,1,203,48,255,138,15,1, +116,52,255,213,21,1,185,57,255,75,11,1,140,50,255,238,15,1,241,58,255,49,5,1,253,52,255,249,3,1,53,46,255,150,9,1,107,33,255,61,245,0,138,20,255,203,238,0,206,27,255,234,235,0,115,44,255,47,241,0,31,15,255,244,209,0,252,36,255,214,226,0,253,251,254,213, +208,0,112,14,255,98,182,0,87,8,255,128,181,0,23,2,255,65,167,0,211,12,255,1,145,0,149,12,255,207,154,0,80,3,255,173,119,0,224,8,255,32,146,0,248,252,254,168,140,0,74,2,255,248,119,0,152,235,254,4,118,0,84,242,254,66,114,0,91,247,254,47,113,0,253,241, +254,146,99,0,239,231,254,82,89,0,140,239,254,32,87,0,119,216,254,183,99,0,34,236,254,240,112,0,70,232,254,145,101,0,240,241,254,108,103,0,108,228,254,200,82,0,102,235,254,54,118,0,53,243,254,140,108,0,47,244,254,10,111,0,183,234,254,165,112,0,4,253,254, +255,134,0,224,10,255,211,131,0,55,9,255,203,112,0,87,16,255,68,132,0,43,15,255,174,133,0,55,9,255,143,130,0,157,25,255,133,156,0,126,30,255,63,149,0,205,11,255,19,146,0,52,34,255,231,140,0,1,28,255,110,121,0,202,42,255,143,130,0,218,21,255,209,107,0, +169,25,255,47,111,0,147,49,255,59,107,0,219,29,255,88,92,0,83,39,255,162,80,0,22,49,255,156,81,0,134,45,255,143,75,0,160,53,255,44,79,0,21,41,255,47,54,0,78,46,255,122,58,0,160,55,255,252,37,0,155,68,255,184,46,0,135,57,255,213,29,0,245,35,255,182,22, +0,172,51,255,183,40,0,83,41,255,37,17,0,243,15,255,219,26,0,219,23,255,133,38,0,27,34,255,100,17,0,10,252,254,167,4,0,137,12,255,43,12,0,24,16,255,162,17,0,36,10,255,229,254,255,35,2,255,160,1,0,229,249,254,92,0,0,40,243,254,22,255,255,71,230,254,154, +250,255,71,240,254,119,24,0,227,235,254,197,247,255,223,252,254,123,253,255,11,10,255,143,18,0,206,19,255,60,1,0,87,12,255,92,4,0,119,27,255,111,7,0,5,13,255,12,15,0,171,47,255,177,41,0,3,48,255,234,42,0,216,60,255,125,27,0,177,46,255,146,36,0,84,49, +255,134,46,0,230,68,255,221,46,0,161,63,255,35,56,0,205,68,255,248,62,0,37,81,255,218,77,0,123,67,255,72,54,0,139,91,255,191,57,0,213,89,255,30,67,0,241,113,255,36,70,0,248,122,255,136,66,0,84,110,255,210,56,0,16,117,255,111,72,0,31,141,255,63,90,0,92, +127,255,160,58,0,94,149,255,233,93,0,18,141,255,43,71,0,104,121,255,130,69,0,212,140,255,87,78,0,119,139,255,161,68,0,106,143,255,140,47,0,189,158,255,6,75,0,107,145,255,97,58,0,166,117,255,46,50,0,117,129,255,21,46,0,255,131,255,103,53,0,242,129,255, +39,35,0,3,111,255,32,30,0,60,124,255,68,16,0,134,106,255,249,9,0,196,106,255,66,254,255,153,115,255,116,254,255,3,105,255,198,255,255,82,82,255,143,209,255,2,101,255,140,232,255,195,98,255,190,240,255,48,124,255,152,234,255,202,101,255,113,222,255,172, +118,255,78,252,255,72,118,255,143,205,255,202,105,255,213,220,255,234,118,255,114,228,255,152,101,255,133,231,255,88,142,255,184,243,255,49,138,255,45,221,255,136,130,255,165,246,255,66,121,255,33,235,255,1,148,255,46,237,255,207,145,255,20,235,255,2, +164,255,3,246,255,16,178,255,95,227,255,7,159,255,29,254,255,34,165,255,98,253,255,89,158,255,66,244,255,190,162,255,227,234,255,21,169,255,220,227,255,220,155,255,34,245,255,33,157,255,232,221,255,177,164,255,175,220,255,207,145,255,74,212,255,226,154, +255,50,216,255,51,152,255,18,215,255,195,161,255,130,209,255,150,142,255,224,202,255,56,139,255,105,199,255,182,155,255,10,184,255,70,151,255,41,195,255,25,144,255,33,172,255,43,137,255,133,174,255,174,132,255,214,169,255,18,139,255,33,164,255,36,132, +255,48,137,255,174,132,255,187,147,255,156,147,255,18,146,255,6,141,255,223,133,255,43,131,255,53,120,255,112,138,255,120,103,255,228,113,255,33,107,255,172,118,255,156,85,255,86,128,255,0,94,255,186,132,255,74,80,255,90,109,255,41,69,255,3,111,255,123, +70,255,117,129,255,143,85,255,57,149,255,160,70,255,86,130,255,85,68,255,211,130,255,15,57,255,217,129,255,133,52,255,244,149,255,127,51,255,98,126,255,109,58,255,236,124,255,22,56,255,117,133,255,66,63,255,23,130,255,42,67,255,148,130,255,129,71,255, +69,139,255,10,72,255,84,165,255,215,59,255,132,145,255,42,77,255,74,136,255,196,60,255,195,147,255,116,63,255,100,150,255,177,47,255,38,156,255,15,61,255,207,147,255,33,52,255,62,134,255,50,35,255,163,142,255,43,26,255,5,129,255,238,33,255,80,131,255, +76,41,255,155,129,255,124,21,255,99,128,255,36,13,255,17,133,255,167,16,255,242,125,255,59,243,254,144,139,255,197,255,254,162,134,255,104,4,255,49,136,255,75,228,254,255,133,255,69,225,254,88,142,255,206,217,254,67,123,255,200,224,254,61,132,255,236, +210,254,94,143,255,179,207,254,249,130,255,248,200,254,50,140,255,39,173,254,206,141,255,165,187,254,243,141,255,140,191,254,202,162,255,16,197,254,201,154,255,14,183,254,234,173,255,77,185,254,40,170,255,95,178,254,2,170,255,65,187,254,122,175,255,231, +158,254,102,170,255,150,165,254,241,174,255,169,164,254,104,182,255,220,182,254,166,174,255,62,161,254,213,150,255,199,149,254,210,181,255,195,172,254,184,171,255,26,173,254,58,167,255,68,156,254,197,177,255,230,146,254,104,180,255,130,154,254,212,144, +255,222,133,254,168,141,255,115,124,254,221,165,255,59,129,254,240,170,255,184,131,254,27,166,255,165,128,254,224,138,255,78,132,254,214,154,255,113,110,254,203,168,255,248,137,254,234,167,255,40,122,254,14,160,255,97,133,254,30,188,255,222,139,254,158, +167,255,97,135,254,105,192,255,254,140,254,63,205,255,117,150,254,93,204,255,77,124,254,14,223,255,171,123,254,82,214,255,210,141,254,8,220,255,20,109,254,76,221,255,1,114,254,83,222,255,151,116,254,194,202,255,13,102,254,222,236,255,127,120,254,89,227, +255,195,113,254,10,242,255,45,109,254,253,233,255,129,85,254,226,221,255,229,79,254,77,227,255,237,96,254,50,213,255,59,74,254,171,228,255,222,72,254,126,217,255,158,62,254,113,211,255,122,70,254,149,191,255,21,68,254,55,196,255,171,58,254,156,200,255, +108,60,254,136,191,255,182,54,254,131,196,255,252,63,254,17,192,255,72,66,254,30,192,255,126,51,254,98,185,255,51,51,254,74,201,255,215,71,254,38,209,255,178,71,254,145,210,255,172,74,254,119,210,255,124,92,254,95,214,255,231,101,254,232,214,255,223, +82,254,222,236,255,158,115,254,67,249,255,8,113,254,66,247,255,239,118,254,81,9,0,73,141,254,44,11,0,22,135,254,236,51,0,92,154,254,29,44,0,105,156,254,61,57,0,126,169,254,136,61,0,187,165,254,206,68,0,95,182,254,26,85,0,72,190,254,165,97,0,190,193,254, +240,101,0,96,186,254,135,110,0,146,194,254,212,126,0,16,197,254,84,102,0,247,188,254,42,119,0,254,197,254,187,128,0,165,193,254,235,106,0,127,187,254,236,124,0,63,169,254,43,121,0,183,184,254,79,107,0,69,170,254,124,130,0,0,163,254,232,137,0,44,158,254, +218,129,0,50,161,254,70,143,0,148,145,254,96,157,0,162,155,254,163,142,0,149,159,254,147,163,0,6,166,254,94,135,0,142,146,254,34,155,0,173,143,254,194,139,0,185,141,254,26,144,0,235,145,254,26,140,0,222,135,254,57,141,0,196,121,254,68,123,0,106,95,254, +242,117,0,25,98,254,185,116,0,24,94,254,55,125,0,174,96,254,18,125,0,135,76,254,167,111,0,115,67,254,235,106,0,109,70,254,78,97,0,76,49,254,52,93,0,226,47,254,246,88,0,187,35,254,78,97,0,155,24,254,104,111,0,87,29,254,46,96,0,54,16,254,172,106,0,254, +24,254,51,81,0,206,32,254,2,93,0,42,24,254,2,91,0,231,36,254,100,75,0,112,29,254,9,98,0,118,40,254,96,94,0,93,34,254,164,83,0,117,24,254,129,115,0,210,19,254,78,97,0,236,31,254,122,100,0,118,36,254,197,110,0,24,37,254,97,104,0,145,54,254,85,106,0,225, +39,254,127,95,0,120,46,254,223,108,0,207,44,254,86,122,0,70,56,254,186,122,0,171,64,254,124,120,0,3,71,254,55,119,0,158,58,254,93,125,0,39,59,254,125,134,0,127,61,254,249,126,0,72,72,254,181,135,0,171,62,254,212,130,0,189,59,254,112,130,0,247,66,254, +68,121,0,6,40,254,31,129,0,3,67,254,82,137,0,203,67,254,168,127,0,114,59,254,108,149,0,23,80,254,148,122,0,232,50,254,201,140,0,70,52,254,238,144,0,158,58,254,188,140,0,9,64,254,90,152,0,200,35,254,176,146,0,156,32,254,121,151,0,239,49,254,203,164,0, +221,3,254,190,164,0,4,16,254,164,150,0,41,12,254,252,156,0,180,26,254,59,157,0,116,10,254,200,132,0,176,250,253,183,149,0,34,11,254,212,130,0,40,4,254,69,133,0,140,4,254,125,132,0,241,12,254,55,125,0,40,2,254,161,118,0,116,6,254,249,130,0,107,247,253, +231,129,0,140,8,254,123,118,0,146,5,254,254,115,0,28,10,254,69,133,0,217,20,254,222,104,0,152,0,254,74,118,0,97,17,254,192,121,0,215,2,254,150,142,0,36,31,254,242,119,0,23,19,254,233,149,0,74,33,254,157,143,0,118,30,254,82,137,0,86,31,254,108,149,0,142, +22,254,239,148,0,94,38,254,96,149,0,112,37,254,94,133,0,186,21,254,28,158,0,30,34,254,195,149,0,211,27,254,196,157,0,6,42,254,59,157,0,176,43,254,158,155,0,33,56,254,10,171,0,114,49,254,222,163,0,157,44,254,40,162,0,128,71,254,103,162,0,89,49,254,37, +183,0,228,73,254,67,176,0,52,65,254,162,191,0,104,81,254,90,221,0,187,92,254,100,199,0,68,89,254,44,196,0,63,104,254,65,211,0,174,86,254,224,179,0,129,79,254,70,200,0,61,88,254,112,193,0,104,81,254,7,202,0,30,91,254,21,212,0,167,81,254,141,223,0,248, +82,254,200,201,0,179,81,254,88,195,0,178,69,254,150,199,0,153,69,254,18,190,0,9,68,254,175,201,0,179,77,254,173,171,0,252,57,254,63,199,0,172,70,254,61,175,0,127,59,254,166,168,0,114,55,254,65,162,0,166,75,254,154,176,0,77,65,254,179,178,0,80,87,254, +123,171,0,226,112,254,155,184,0,192,85,254,12,183,0,101,114,254,161,183,0,119,107,254,136,185,0,238,110,254,199,187,0,171,117,254,238,197,0,104,144,254,57,200,0,121,131,254,231,192,0,243,156,254,188,201,0,66,136,254,57,208,0,224,159,254,116,223,0,53, +191,254,128,221,0,163,167,254,234,230,0,121,188,254,62,250,0,17,207,254,93,243,0,223,200,254,68,243,0,129,203,254,236,246,0,162,214,254,243,251,0,119,223,254,217,243,0,5,209,254,237,252,0,61,208,254,125,6,1,61,214,254,162,254,0,18,217,254,220,13,1,230, +213,254,201,10,1,136,214,254,200,4,1,175,220,254,244,3,1,31,215,254,50,0,1,123,204,254,33,13,1,93,219,254,127,12,1,217,213,254,38,2,1,192,209,254,63,2,1,68,215,254,127,22,1,218,225,254,39,14,1,162,218,254,69,9,1,242,209,254,46,19,1,248,210,254,232,11, +1,209,196,254,40,18,1,88,224,254,178,26,1,111,210,254,20,13,1,92,209,254,126,4,1,6,215,254,214,12,1,76,232,254,214,22,1,138,232,254,16,30,1,2,238,254,126,10,1,214,234,254,245,17,1,45,239,254,127,20,1,127,250,254,226,14,1,9,247,254,132,7,1,30,14,255,7, +11,1,75,35,255,108,15,1,181,28,255,102,26,1,82,34,255,209,31,1,53,61,255,190,22,1,33,48,255,202,18,1,210,64,255,65,28,1,141,65,255,184,31,1,231,91,255,123,35,1,179,71,255,235,41,1,99,86,255,134,27,1,194,93,255,146,19,1,164,102,255,161,45,1,232,103,255, +171,19,1,26,100,255,119,58,1,63,100,255,42,46,1,39,106,255,89,20,1,125,90,255,166,32,1,8,107,255,247,33,1,21,111,255,11,45,1,107,97,255,247,35,1,51,100,255,58,15,1,100,90,255,159,27,1,234,119,255,222,33,1,71,117,255,77,20,1,62,92,255,3,32,1,57,103,255, +189,18,1,235,129,255,103,24,1,207,103,255,139,16,1,237,94,255,77,26,1,150,90,255,159,21,1,200,92,255,39,20,1,140,57,255,158,17,1,3,61,255,232,11,1,29,65,255,31,253,0,73,68,255,136,240,0,177,57,255,108,15,1,98,72,255,82,7,1,28,59,255,212,2,1,178,61,255, +236,250,0,4,75,255,149,244,0,129,65,255,87,252,0,54,69,255,44,251,0,211,86,255,111,238,0,74,76,255,48,236,0,233,54,255,198,240,0,95,105,255,16,229,0,113,90,255,233,218,0,57,103,255,146,214,0,126,98,255,29,229,0,207,101,255,77,213,0,207,99,255,164,215, +0,175,96,255,238,203,0,27,104,255,183,214,0,98,135,255,139,209,0,35,127,255,44,202,0,66,132,255,251,205,0,73,135,255,32,194,0,68,146,255,13,195,0,218,148,255,120,208,0,131,154,255,19,198,0,125,151,255,13,197,0,253,183,255,187,195,0,127,167,255,101,207, +0,225,155,255,45,210,0,171,170,255,101,203,0,46,178,255,226,199,0,27,177,255,245,206,0,15,181,255,119,196,0,178,183,255,119,194,0,28,183,255,199,185,0,16,187,255,95,200,0,87,210,255,46,214,0,19,213,255,182,204,0,198,190,255,45,208,0,186,206,255,32,194, +0,32,219,255,57,198,0,62,208,255,26,207,0,6,217,255,64,213,0,68,201,255,195,216,0,70,227,255,244,198,0,213,218,255,63,205,0,165,238,255,1,197,0,192,0,0,208,208,0,204,246,255,184,220,0,104,0,0,251,207,0,123,1,0,165,223,0,194,20,0,9,224,0,0,23,0,248,238, +0,202,39,0,78,217,0,14,33,0,3,231,0,253,55,0,53,221,0,160,60,0,117,241,0,97,48,0,10,232,0,212,78,0,141,229,0,155,71,0,60,226,0,75,82,0,76,203,0,94,93,0,203,229,0,219,79,0,8,206,0,39,96,0,176,207,0,101,92,0,44,198,0,114,94,0,13,201,0,9,103,0,187,195,0, +46,107,0,166,166,0,56,83,0,117,174,0,65,106,0,98,173,0,13,90,0,10,171,0,172,113,0,218,188,0,83,99,0,170,149,0,28,106,0,47,157,0,108,97,0,52,156,0,159,105,0,131,135,0,15,106,0,164,148,0,33,97,0,37,126,0,151,90,0,200,136,0,38,82,0,213,140,0,195,95,0,130, +121,0,255,75,0,243,133,0,51,92,0,169,139,0,218,81,0,163,144,0,11,66,0,125,134,0,32,85,0,237,128,0,49,72,0,45,137,0,7,83,0,124,130,0,7,85,0,45,137,0,150,82,0,233,145,0,45,91,0,213,138,0,63,88,0,139,148,0,247,107,0,174,124,0,219,89,0,12,124,0,171,99,0, +212,136,0,22,111,0,143,127,0,172,111,0,94,135,0,203,112,0,25,132,0,104,126,0,176,140,0,10,119,0,200,134,0,5,132,0,76,138,0,92,130,0,55,121,0,73,123,0,142,111,0,117,126,0,93,127,0,252,161,0,237,130,0,34,170,0,161,124,0,133,156,0,93,129,0,109,170,0,151, +140,0,110,178,0,225,136,0,229,189,0,24,128,0,48,186,0,138,140,0,180,193,0,57,137,0,80,185,0,255,121,0,236,194,0,207,147,0,119,205,0,49,124,0,192,191,0,100,130,0,219,207,0,94,131,0,209,178,0,74,128,0,217,189,0,244,137,0,175,204,0,4,107,0,142,187,0,248, +116,0,66,171,0,77,95,0,115,169,0,177,89,0,17,179,0,190,99,0,41,171,0,203,101,0,166,173,0,102,93,0,79,183,0,127,95,0,228,171,0,152,95,0,97,180,0,237,65,0,255,187,0,8,84,0,117,187,0,206,66,0,11,190,0,100,69,0,213,208,0,94,72,0,26,212,0,68,60,0,252,226, +0,131,66,0,194,211,0,179,52,0,44,213,0,88,75,0,77,230,0,192,62,0,239,226,0,38,73,0,160,239,0,134,45,0,47,231,0,192,56,0,130,2,1,168,70,0,128,238,0,68,62,0,173,247,0,73,53,0,136,251,0,194,74,0,85,243,0,85,51,0,104,246,0,193,64,0,209,237,0,193,70,0,68, +254,0,244,68,0,253,240,0,81,68,0,209,227,0,126,77,0,141,238,0,38,69,0,254,238,0,123,59,0,135,239,0,81,66,0,246,235,0,80,58,0,20,217,0,128,48,0,146,229,0,47,45,0,113,210,0,84,45,0,2,224,0,178,44,0,95,213,0,71,39,0,201,210,0,239,30,0,126,214,0,90,38,0, +213,212,0,113,14,0,193,201,0,21,27,0,99,194,0,232,21,0,24,198,0,187,6,0,205,193,0,37,0,0,236,194,0,66,239,255,199,198,0,161,254,255,206,205,0,91,247,255,102,222,0,85,240,255,213,208,0,190,235,255,81,201,0,108,224,255,101,218,0,228,231,255,27,226,0,97, +236,255,20,221,0,240,231,255,209,235,0,79,245,255,11,255,0,116,237,255,31,0,1,186,2,0,219,14,1,230,255,255,202,25,1,165,235,255,94,16,1,173,248,255,168,61,1,141,247,255,159,42,1,211,248,255,36,52,1,174,4,0,101,82,1,224,4,0,218,63,1,232,17,0,95,85,1,113, +18,0,53,94,1,68,11,0,201,86,1,195,17,0,201,80,1,250,6,0,232,77,1,119,19,0,18,71,1,47,43,0,81,71,1,22,35,0,163,82,1,209,39,0,201,86,1,52,32,0,133,89,1,82,19,0,130,59,1,26,18,0,30,65,1,101,24,0,185,46,1,144,11,0,92,55,1,118,7,0,197,40,1,224,4,0,138,17, +1,87,0,0,64,31,1,135,244,255,116,41,1,108,226,255,122,42,1,216,239,255,202,25,1,167,251,255,208,32,1,197,230,255,251,27,1,85,236,255,176,25,1,154,245,255,16,43,1,58,224,255,84,38,1,139,213,255,202,35,1,2,221,255,210,52,1,32,212,255,9,36,1,200,209,255, +134,36,1,40,229,255,86,58,1,76,221,255,16,43,1,232,214,255,197,50,1,221,232,255,210,52,1,8,220,255,223,54,1,32,214,255,223,58,1,91,237,255,195,87,1,85,244,255,188,80,1,140,225,255,60,48,1,42,255,255,22,101,1,177,223,255,27,92,1,191,243,255,178,98,1,142, +249,255,103,102,1,116,247,255,197,105,1,16,239,255,92,114,1,55,255,255,212,127,1,85,250,255,188,135,1,192,255,255,155,114,1,12,6,0,63,131,1,29,245,255,187,125,1,216,239,255,69,132,1,222,238,255,199,123,1,30,253,255,142,122,1,206,3,0,116,106,1,204,249, +255,143,124,1,255,1,0,16,108,1,100,10,0,97,107,1,36,248,255,235,115,1,18,3,0,111,119,1,188,16,0,42,118,1,239,20,0,102,90,1,244,15,0,78,98,1,88,12,0,197,101,1,9,39,0,61,121,1,209,37,0,193,126,1,52,28,0,29,116,1,183,23,0,148,119,1,122,41,0,149,121,1,197, +37,0,185,107,1,90,36,0,175,129,1,16,38,0,41,108,1,203,42,0,193,124,1,9,37,0,74,117,1,27,30,0,175,131,1,101,28,0,125,129,1,109,37,0,8,146,1,33,31,0,37,123,1,33,23,0,157,144,1,215,28,0,44,138,1,112,6,0,249,127,1,126,20,0,202,153,1,31,5,0,0,133,1,231,13, +0,14,153,1,29,247,255,130,114,1,11,250,255,181,130,1,12,4,0,74,121,1,197,236,255,198,115,1,40,235,255,55,122,1,172,240,255,125,129,1,234,228,255,184,101,1,133,222,255,60,109,1,102,229,255,39,94,1,9,226,255,233,95,1,252,227,255,189,92,1,194,212,255,120, +87,1,24,201,255,238,74,1,52,225,255,228,100,1,100,199,255,201,82,1,189,223,255,188,80,1,121,222,255,207,87,1,195,216,255,84,99,1,170,216,255,158,85,1,71,222,255,70,85,1,252,227,255,182,79,1,32,214,255,107,85,1,170,210,255,30,65,1,75,199,255,244,71,1, +200,203,255,102,86,1,118,200,255,104,53,1,175,209,255,107,75,1,238,207,255,62,70,1,30,198,255,165,35,1,69,208,255,216,45,1,44,212,255,67,55,1,211,191,255,71,36,1,126,215,255,48,52,1,63,211,255,198,48,1,5,192,255,185,50,1,135,187,255,85,48,1,25,203,255, +71,32,1,44,208,255,72,34,1,85,181,255,101,19,1,198,185,255,0,9,1,228,172,255,169,18,1,203,172,255,142,254,0,153,174,255,108,20,1,83,159,255,179,242,0,2,162,255,4,244,0,245,157,255,73,243,0,157,151,255,186,251,0,156,133,255,190,238,0,70,155,255,28,232, +0,217,129,255,195,223,0,67,129,255,148,247,0,12,144,255,4,244,0,200,136,255,202,232,0,193,141,255,80,2,1,230,131,255,109,231,0,152,160,255,206,8,1,201,158,255,186,1,1,13,150,255,41,244,0,93,141,255,200,9,1,46,167,255,14,25,1,89,158,255,208,26,1,33,163, +255,64,21,1,122,175,255,246,38,1,236,187,255,140,29,1,184,169,255,226,21,1,197,177,255,90,33,1,198,189,255,229,45,1,254,188,255,74,54,1,179,184,255,14,27,1,113,205,255,172,40,1,237,197,255,228,47,1,112,197,255,109,36,1,218,190,255,23,50,1,199,195,255, +79,43,1,149,201,255,151,23,1,144,206,255,222,42,1,40,176,255,55,254,0,61,185,255,244,18,1,209,175,255,137,9,1,204,180,255,231,10,1,193,200,255,112,3,1,130,188,255,175,15,1,117,188,255,219,12,1,93,196,255,211,255,0,119,202,255,112,7,1,179,186,255,231, +10,1,62,203,255,43,0,1,172,181,255,76,21,1,80,194,255,38,15,1,112,203,255,151,17,1,150,203,255,120,22,1,0,203,255,41,51,1,87,199,255,227,35,1,182,208,255,122,48,1,230,198,255,103,45,1,131,196,255,5,55,1,113,209,255,136,56,1,94,202,255,30,65,1,218,196, +255,63,74,1,184,232,255,139,84,1,76,215,255,170,81,1,233,216,255,147,107,1,158,220,255,9,101,1,146,226,255,8,93,1,134,230,255,36,115,1,127,227,255,160,105,1,27,229,255,99,125,1,54,239,255,180,118,1,167,247,255,106,132,1,21,224,255,229,114,1,74,8,0,179, +116,1,219,5,0,29,112,1,168,253,255,230,122,1,194,13,0,163,141,1,55,255,255,166,104,1,101,22,0,40,98,1,163,12,0,35,103,1,124,250,255,250,76,1,120,17,0,47,103,1,238,14,0,184,101,1,144,11,0,213,74,1,25,14,0,148,105,1,174,2,0,159,95,1,62,10,0,245,85,1,56, +9,0,47,101,1,31,3,0,209,99,1,174,254,255,10,113,1,155,253,255,185,111,1,190,231,255,72,105,1,99,254,255,206,132,1,150,6,0,106,126,1,80,5,0,86,125,1,254,239,255,86,115,1,179,239,255,247,107,1,247,230,255,168,120,1,205,247,255,87,127,1,147,240,255,31,136, +1,235,242,255,101,145,1,37,6,0,225,135,1,243,7,0,113,131,1,124,4,0,1,145,1,91,243,255,0,133,1,12,2,0,157,138,1,242,249,255,162,129,1,185,244,255,32,148,1,255,247,255,173,115,1,174,4,0,250,135,1,25,14,0,245,150,1,207,15,0,132,142,1,233,25,0,195,140,1, +226,20,0,131,132,1,118,1,0,38,139,1,0,4,0,106,132,1,62,0,0,70,140,1,238,8,0,6,136,1,126,14,0,76,141,1,199,254,255,192,114,1,118,253,255,179,106,1,150,16,0,208,95,1,53,237,255,226,90,1,152,26,0,90,98,1,204,249,255,114,88,1,226,14,0,53,100,1,225,10,0,126, +82,1,119,9,0,197,105,1,43,5,0,239,86,1,62,0,0,128,94,1,11,250,255,154,116,1,141,243,255,159,95,1,238,16,0,136,117,1,48,242,255,208,91,1,43,3,0,242,114,1,37,0,0,234,107,1,217,245,255,86,115,1,25,4,0,37,131,1,114,28,0,125,135,1,53,231,255,218,130,1,230, +253,255,21,154,1,168,7,0,130,124,1,250,8,0,45,146,1,167,255,255,106,132,1,118,7,0,211,119,1,143,3,0,149,121,1,152,26,0,37,129,1,114,24,0,61,125,1,33,25,0,229,114,1,190,28,0,105,118,1,134,39,0,129,110,1,71,39,0,202,88,1,209,31,0,181,69,1,217,56,0,226, +82,1,29,48,0,0,72,1,76,22,0,205,63,1,197,43,0,79,53,1,6,11,0,22,44,1,27,26,0,89,31,1,249,2,0,89,23,1,150,10,0,70,24,1,44,11,0,6,14,1,16,239,255,62,3,1,229,245,255,95,24,1,197,240,255,126,21,1,96,226,255,56,6,1,121,232,255,233,22,1,109,232,255,173,251, +0,108,230,255,30,254,0,203,235,255,138,11,1,138,211,255,161,1,1,62,201,255,161,255,0,211,189,255,62,1,1,82,214,255,74,255,0,123,187,255,121,227,0,170,214,255,5,248,0,223,185,255,186,247,0,37,207,255,48,249,0,223,183,255,241,236,0,231,206,255,10,243,0, +106,196,255,151,224,0,76,221,255,148,249,0,75,199,255,114,218,0,143,204,255,27,230,0,118,196,255,89,218,0,155,190,255,200,208,0,144,208,255,56,199,0,54,180,255,50,196,0,86,193,255,95,211,0,205,194,255,25,210,0,28,174,255,80,193,0,235,181,255,230,195, +0,96,165,255,64,216,0,177,166,255,219,209,0,234,171,255,119,205,0,176,150,255,11,192,0,39,154,255,105,191,0,99,134,255,184,172,0,139,160,255,0,206,0,92,129,255,154,189,0,161,126,255,242,187,0,175,144,255,191,181,0,212,138,255,241,183,0,168,141,255,73, +186,0,231,139,255,191,179,0,12,144,255,79,183,0,5,139,255,199,194,0,150,136,255,209,174,0,177,160,255,63,212,0,169,139,255,203,177,0,58,157,255,43,195,0,158,153,255,249,194,0,7,149,255,161,188,0,56,143,255,135,184,0,7,153,255,205,191,0,222,171,255,80, +185,0,164,154,255,191,181,0,137,138,255,204,185,0,209,167,255,15,173,0,8,157,255,4,183,0,102,166,255,79,177,0,182,151,255,102,161,0,69,149,255,32,148,0,188,142,255,175,145,0,123,124,255,150,143,0,224,134,255,181,136,0,85,118,255,86,127,0,16,111,255,122, +121,0,88,93,255,191,116,0,221,106,255,168,138,0,64,95,255,170,101,0,139,95,255,34,105,0,219,82,255,28,106,0,125,81,255,7,87,0,113,79,255,63,88,0,248,69,255,219,79,0,199,77,255,20,89,0,125,81,255,37,78,0,168,74,255,244,83,0,23,63,255,142,69,0,120,94,255, +107,89,0,176,85,255,151,88,0,13,83,255,131,73,0,61,69,255,106,79,0,47,112,255,190,102,0,191,111,255,240,106,0,102,101,255,78,108,0,52,103,255,54,124,0,116,115,255,235,123,0,142,127,255,62,139,0,50,150,255,71,162,0,32,159,255,9,162,0,184,165,255,114,163, +0,177,162,255,208,166,0,58,163,255,165,171,0,153,172,255,216,183,0,222,181,255,50,196,0,168,194,255,169,209,0,142,188,255,32,213,0,167,192,255,33,223,0,38,213,255,226,216,0,213,215,255,222,237,0,193,194,255,10,237,0,214,223,255,194,8,1,8,220,255,37,3, +1,60,240,255,54,244,0,148,248,255,204,244,0,79,243,255,23,245,0,154,239,255,123,249,0,193,5,0,148,247,0,205,255,255,166,246,0,237,4,0,159,237,0,61,2,0,45,211,0,74,0,0,83,213,0,249,2,0,207,217,0,151,18,0,89,220,0,175,10,0,177,222,0,44,9,0,195,223,0,18, +255,255,26,214,0,142,245,255,89,214,0,189,26,0,8,223,0,225,10,0,151,216,0,192,247,255,156,203,0,212,6,0,89,220,0,173,246,255,27,216,0,187,6,0,213,214,0,243,1,0,163,212,0,1,16,0,153,240,0,35,246,255,163,210,0,89,227,255,76,214,0,109,238,255,64,216,0,234, +238,255,81,207,0,246,232,255,182,217,0,39,219,255,145,213,0,89,219,255,25,204,0,137,197,255,93,195,0,32,218,255,37,200,0,246,222,255,98,188,0,32,212,255,175,202,0,220,216,255,128,181,0,19,206,255,60,174,0,105,188,255,85,180,0,250,205,255,109,168,0,89, +221,255,78,169,0,38,213,255,215,165,0,171,222,255,247,170,0,13,213,255,238,155,0,126,221,255,199,141,0,63,213,255,23,127,0,198,242,255,85,123,0,132,212,255,22,113,0,126,213,255,184,111,0,136,195,255,127,96,0,237,197,255,20,91,0,175,209,255,177,96,0,237, +203,255,220,87,0,35,183,255,66,61,0,179,184,255,43,71,0,133,157,255,42,63,0,125,146,255,38,33,0,187,140,255,39,39,0,72,116,255,51,25,0,173,126,255,163,19,0,65,109,255,148,1,0,83,98,255,67,6,0,253,107,255,175,13,0,46,104,255,191,250,255,120,98,255,179, +254,255,8,94,255,167,0,0,181,78,255,79,4,0,138,89,255,105,2,0,213,85,255,84,243,255,57,92,255,236,7,0,139,97,255,237,11,0,184,106,255,61,13,0,195,90,255,73,3,0,113,83,255,235,1,0,46,106,255,69,22,0,159,112,255,198,1,0,178,109,255,12,19,0,198,122,255, +60,1,0,30,131,255,125,23,0,86,126,255,204,4,0,197,116,255,211,255,255,148,126,255,16,252,255,35,124,255,221,237,255,78,115,255,33,231,255,61,126,255,232,223,255,191,117,255,165,240,255,212,134,255,135,247,255,173,116,255,189,228,255,232,94,255,174,208, +255,191,115,255,174,208,255,107,92,255,241,189,255,13,89,255,204,193,255,158,98,255,9,186,255,208,96,255,140,173,255,81,80,255,57,166,255,218,80,255,183,164,255,250,79,255,150,147,255,250,89,255,142,136,255,75,81,255,117,134,255,51,85,255,59,123,255, +69,90,255,147,129,255,150,73,255,141,122,255,26,93,255,184,121,255,143,68,255,29,138,255,68,74,255,212,147,255,29,60,255,186,143,255,88,85,255,243,144,255,169,86,255,2,167,255,181,80,255,34,176,255,209,108,255,92,197,255,165,103,255,91,187,255,189,99, +255,42,199,255,59,110,255,76,224,255,235,116,255,87,212,255,129,117,255,252,236,255,248,122,255,230,6,0,17,127,255,191,254,255,69,139,255,30,10,0,188,142,255,13,23,0,94,139,255,84,249,255,32,153,255,123,1,0,169,139,255,205,8,0,175,142,255,175,13,0,120, +153,255,244,22,0,182,149,255,179,4,0,184,165,255,211,9,0,20,159,255,121,243,255,108,167,255,153,244,255,230,137,255,172,241,255,95,155,255,178,242,255,7,155,255,245,229,255,245,153,255,163,216,255,100,150,255,224,204,255,55,133,255,217,199,255,242,131, +255,91,195,255,69,147,255,130,195,255,66,121,255,46,178,255,253,121,255,122,188,255,4,117,255,7,156,255,227,105,255,164,161,255,22,112,255,2,171,255,52,103,255,108,170,255,251,101,255,119,150,255,219,82,255,229,140,255,132,92,255,82,160,255,221,104,255, +63,157,255,244,92,255,18,148,255,201,97,255,51,163,255,108,94,255,187,151,255,34,102,255,31,148,255,102,101,255,138,153,255,13,89,255,137,149,255,164,101,255,36,141,255,26,95,255,124,141,255,134,102,255,56,152,255,52,101,255,224,145,255,170,94,255,134, +119,255,70,98,255,254,136,255,15,105,255,19,156,255,43,72,255,136,135,255,230,78,255,72,123,255,144,76,255,164,102,255,243,80,255,239,110,255,123,63,255,232,101,255,35,51,255,131,81,255,5,66,255,211,86,255,156,74,255,223,76,255,96,41,255,85,68,255,114, +36,255,97,56,255,14,34,255,52,45,255,151,28,255,21,54,255,50,24,255,27,47,255,62,12,255,92,10,255,250,16,255,5,18,255,219,25,255,162,25,255,223,4,255,97,1,255,38,20,255,136,13,255,182,27,255,97,1,255,17,3,255,176,232,254,160,254,254,252,244,254,55,3, +255,243,217,254,60,250,254,130,213,254,19,17,255,243,221,254,54,255,254,101,179,254,22,252,254,22,190,254,4,251,254,233,174,254,192,9,255,215,187,254,30,7,255,172,192,254,4,5,255,129,201,254,160,250,254,46,178,254,120,224,254,82,166,254,165,235,254,150, +171,254,189,227,254,47,190,254,101,219,254,99,159,254,124,205,254,80,152,254,44,220,254,7,174,254,231,212,254,126,179,254,200,209,254,113,177,254,88,217,254,190,187,254,229,194,254,2,179,254,236,201,254,232,172,254,172,191,254,211,147,254,209,185,254, +220,172,254,2,168,254,207,166,254,196,179,254,107,174,254,57,159,254,151,175,254,208,173,254,226,169,254,33,171,254,206,164,254,100,152,254,225,163,254,89,162,254,124,157,254,108,169,254,198,151,254,132,159,254,220,176,254,101,168,254,33,172,254,40,170, +254,93,160,254,87,152,254,122,139,254,51,156,254,81,164,254,101,162,254,140,126,254,189,168,254,179,138,254,69,157,254,96,123,254,69,151,254,164,116,254,226,166,254,15,122,254,144,159,254,187,98,254,156,157,254,212,92,254,226,164,254,151,106,254,237, +154,254,99,90,254,180,143,254,207,111,254,188,152,254,191,79,254,26,160,254,246,68,254,14,172,254,184,74,254,95,161,254,246,62,254,71,175,254,134,74,254,8,171,254,46,58,254,50,148,254,171,58,254,155,149,254,0,43,254,19,155,254,162,39,254,62,144,254,19, +38,254,1,162,254,94,38,254,42,131,254,150,41,254,91,129,254,236,25,254,228,119,254,78,8,254,29,131,254,30,24,254,191,127,254,153,14,254,133,104,254,245,249,253,81,90,254,51,244,253,225,93,254,226,244,253,249,85,254,8,255,253,18,80,254,95,249,253,5,70, +254,92,219,253,242,72,254,130,227,253,209,55,254,180,219,253,228,56,254,199,226,253,176,38,254,10,216,253,183,41,254,240,207,253,169,31,254,97,210,253,143,29,254,41,209,253,86,18,254,96,198,253,1,38,254,165,201,253,202,50,254,95,190,253,182,43,254,208, +194,253,106,29,254,100,173,253,6,27,254,101,183,253,139,52,254,89,187,253,7,31,254,26,183,253,96,61,254,39,187,253,90,50,254,30,162,253,187,32,254,106,168,253,216,66,254,102,199,253,196,51,254,107,174,253,110,69,254,225,181,253,223,73,254,69,176,253, +204,70,254,64,189,253,237,91,254,26,185,253,30,74,254,138,175,253,242,70,254,50,173,253,155,80,254,72,200,253,86,83,254,57,178,253,87,95,254,214,185,253,6,88,254,157,178,253,112,89,254,190,195,253,138,99,254,239,185,253,152,115,254,89,189,253,161,79, +254,202,193,253,180,86,254,107,182,253,101,105,254,175,173,253,170,102,254,210,210,253,7,96,254,46,194,253,82,102,254,23,212,253,13,101,254,76,177,253,240,113,254,65,195,253,97,128,254,166,199,253,70,108,254,71,198,253,122,122,254,95,190,253,213,103, +254,226,189,253,232,106,254,97,200,253,21,114,254,165,191,253,29,129,254,140,197,253,103,125,254,196,196,253,159,120,254,154,209,253,223,130,254,246,204,253,97,122,254,147,204,253,217,135,254,216,215,253,234,126,254,116,209,253,124,142,254,203,207,253, +248,130,254,253,207,253,234,126,254,140,201,253,7,157,254,218,227,253,24,142,254,91,209,253,231,149,254,231,237,253,75,150,254,245,245,253,126,164,254,106,233,253,170,167,254,71,5,254,152,174,254,2,6,254,196,175,254,115,4,254,190,176,254,177,2,254,72, +179,254,104,12,254,247,191,254,172,11,254,179,194,254,46,255,253,200,213,254,204,22,254,248,189,254,241,14,254,20,222,254,242,28,254,43,208,254,143,32,254,93,212,254,236,23,254,44,218,254,125,41,254,174,201,254,217,24,254,76,229,254,125,41,254,11,201, +254,181,36,254,63,219,254,61,27,254,174,207,254,255,30,254,32,220,254,111,31,254,21,238,254,137,35,254,98,197,254,98,25,254,26,223,254,13,45,254,71,238,254,105,26,254,76,219,254,24,33,254,51,229,254,187,39,254,207,226,254,18,36,254,82,220,254,82,48,254, +165,239,254,69,44,254,157,224,254,207,54,254,177,235,254,70,56,254,41,245,254,65,71,254,40,233,254,21,62,254,91,241,254,15,67,254,197,244,254,166,69,254,173,252,254,249,90,254,66,255,254,60,78,254,199,12,255,36,90,254,116,251,254,21,62,254,222,246,254, +79,79,254,141,247,254,113,51,254,56,15,255,148,78,254,149,8,255,105,93,254,210,252,254,146,62,254,235,4,255,173,80,254,30,7,255,198,80,254,5,3,255,184,74,254,228,245,254,253,69,254,217,5,255,140,65,254,72,252,254,85,72,254,79,255,254,217,77,254,92,253, +254,147,76,254,140,243,254,114,57,254,18,13,255,230,83,254,158,236,254,202,59,254,27,235,254,70,52,254,8,238,254,134,64,254,90,243,254,19,42,254,208,232,254,15,63,254,34,240,254,239,49,254,153,249,254,243,36,254,82,226,254,194,38,254,1,223,254,130,28, +254,57,226,254,43,32,254,64,231,254,211,31,254,246,238,254,166,16,254,164,227,254,243,30,254,166,251,254,200,35,254,53,241,254,81,36,254,98,254,254,142,22,254,49,12,255,69,38,254,41,255,254,16,16,254,128,249,254,6,32,254,246,238,254,118,26,254,248,0, +255,180,28,254,128,239,254,160,17,254,35,250,254,235,15,254,221,238,254,187,29,254,234,244,254,217,24,254,3,249,254,122,11,254,15,233,254,121,5,254,217,255,254,46,9,254,17,253,254,123,23,254,57,226,254,30,24,254,72,246,254,67,18,254,103,245,254,129,22, +254,103,249,254,224,29,254,124,2,255,111,27,254,177,237,254,67,26,254,79,251,254,17,28,254,155,9,255,207,40,254,136,6,255,237,37,254,124,12,255,214,49,254,143,11,255,189,49,254,225,24,255,75,35,254,4,5,255,1,47,254,214,34,255,252,55,254,207,29,255,245, +52,254,207,23,255,8,54,254,239,32,255,139,59,254,139,32,255,64,59,254,160,53,255,161,80,254,140,50,255,33,52,254,60,61,255,246,64,254,85,57,255,202,65,254,247,57,255,233,52,254,220,90,255,43,99,254,106,80,255,183,62,254,231,84,255,177,61,254,224,73,255, +159,74,254,39,97,255,93,89,254,189,101,255,79,85,254,78,115,255,2,126,254,241,123,255,246,117,254,134,106,255,150,98,254,215,107,255,253,132,254,154,117,255,101,116,254,117,125,255,229,142,254,48,120,255,255,146,254,200,146,255,107,166,254,149,132,255, +123,151,254,44,143,255,82,172,254,201,152,255,196,186,254,239,160,255,46,182,254,10,177,255,162,222,254,2,170,255,41,195,254,55,192,255,187,220,254,6,204,255,6,223,254,13,207,255,134,251,254,32,208,255,220,241,254,165,235,255,121,245,254,200,209,255, +16,252,254,47,234,255,110,9,255,4,241,255,34,1,255,147,230,255,147,1,255,60,244,255,30,20,255,131,7,0,25,29,255,141,247,255,136,15,255,167,247,255,154,14,255,170,21,0,201,39,255,137,4,0,206,24,255,156,3,0,242,20,255,1,12,0,63,31,255,101,22,0,132,36,255, +81,7,0,198,11,255,9,37,0,62,19,255,13,14,0,29,6,255,63,16,0,55,24,255,147,45,0,254,8,255,144,19,0,53,4,255,146,39,0,107,30,255,59,41,0,149,25,255,59,35,0,85,5,255,68,60,0,63,33,255,51,24,0,62,19,255,184,45,0,43,22,255,191,50,0,234,58,255,76,28,0,156, +32,255,228,42,0,28,57,255,248,45,0,203,63,255,161,59,0,34,64,255,156,66,0,133,52,255,254,48,0,213,33,255,117,62,0,42,71,255,140,42,0,184,58,255,49,61,0,112,84,255,213,77,0,80,77,255,249,57,0,7,99,255,58,84,0,27,112,255,118,70,0,163,100,255,202,91,0,128, +126,255,214,85,0,97,119,255,183,92,0,179,132,255,120,84,0,102,112,255,9,102,0,97,129,255,87,126,0,235,137,255,54,113,0,116,124,255,197,110,0,23,135,255,86,114,0,95,105,255,6,127,0,115,114,255,224,122,0,231,97,255,18,123,0,108,101,255,111,122,0,200,96, +255,250,134,0,239,104,255,88,136,0,232,105,255,100,136,0,8,109,255,23,114,0,75,84,255,231,139,0,32,97,255,62,124,0,73,70,255,75,130,0,125,88,255,175,134,0,182,103,255,4,117,0,242,69,255,212,128,0,168,89,255,211,118,0,225,90,255,238,134,0,158,105,255, +224,130,0,95,105,255,103,107,0,163,96,255,155,125,0,19,95,255,111,124,0,114,98,255,168,123,0,82,93,255,122,110,0,233,109,255,74,128,0,246,113,255,223,108,0,171,115,255,100,134,0,11,133,255,86,118,0,204,130,255,242,121,0,155,136,255,12,126,0,218,144,255, +236,124,0,162,151,255,250,134,0,181,150,255,175,136,0,27,175,255,255,121,0,8,174,255,162,132,0,47,184,255,216,176,0,180,199,255,219,141,0,172,186,255,36,175,0,194,209,255,72,161,0,98,200,255,123,177,0,242,205,255,230,182,0,155,203,255,54,172,0,99,202, +255,104,176,0,89,224,255,35,169,0,5,203,255,48,179,0,163,212,255,17,172,0,121,235,255,226,205,0,193,205,255,17,176,0,186,206,255,105,180,0,242,205,255,224,193,0,218,205,255,80,188,0,152,230,255,161,177,0,101,222,255,181,192,0,18,205,255,97,165,0,74,212, +255,75,191,0,87,214,255,6,192,0,124,206,255,31,190,0,87,210,255,20,210,0,169,215,255,232,202,0,50,220,255,25,195,0,156,217,255,14,207,0,207,223,255,193,186,0,207,215,255,77,209,0,126,226,255,214,215,0,184,243,255,31,186,0,82,229,255,38,195,0,63,222,255, +38,201,0,176,222,255,101,197,0,202,240,255,32,198,0,34,243,255,237,189,0,70,227,255,225,191,0,0,218,255,144,202,0,96,235,255,55,180,0,61,200,255,105,182,0,163,220,255,152,152,0,145,227,255,132,147,0,74,202,255,147,169,0,56,217,255,86,175,0,142,203,255, +47,157,0,235,194,255,15,162,0,17,203,255,183,159,0,62,212,255,173,179,0,138,218,255,14,148,0,100,216,255,183,159,0,28,185,255,92,174,0,230,207,255,146,155,0,136,202,255,23,179,0,204,197,255,135,171,0,113,216,255,179,172,0,250,218,255,47,167,0,92,193, +255,149,185,0,230,205,255,55,178,0,152,236,255,231,188,0,27,230,255,255,190,0,84,239,255,200,195,0,84,243,255,230,182,0,116,248,255,107,202,0,48,253,255,36,181,0,4,0,0,206,196,0,157,26,0,27,209,0,43,8,0,20,206,0,199,9,0,152,215,0,113,25,0,214,215,0,30, +6,0,112,248,0,162,21,0,141,227,0,105,10,0,228,225,0,47,48,0,61,240,0,96,36,0,141,227,0,13,29,0,123,238,0,40,43,0,125,252,0,145,34,0,93,253,0,106,24,0,230,243,0,119,26,0,135,236,0,75,23,0,166,231,0,245,34,0,0,252,0,27,41,0,111,240,0,207,22,0,35,236,0, +51,35,0,129,229,0,132,22,0,142,241,0,94,20,0,106,251,0,244,24,0,216,229,0,187,17,0,129,235,0,125,21,0,35,226,0,188,29,0,59,228,0,138,27,0,88,199,0,100,23,0,240,221,0,26,25,0,246,218,0,51,31,0,98,228,0,26,29,0,232,204,0,76,31,0,3,223,0,203,45,0,232,202, +0,77,37,0,14,207,0,135,60,0,138,197,0,76,33,0,245,210,0,233,44,0,88,205,0,22,52,0,95,208,0,28,51,0,6,196,0,236,64,0,101,203,0,255,71,0,22,224,0,105,69,0,126,207,0,4,57,0,21,222,0,32,85,0,215,217,0,225,82,0,203,233,0,169,89,0,61,244,0,208,97,0,172,228, +0,94,87,0,100,254,0,95,97,0,68,243,0,96,105,0,7,7,1,71,109,0,195,15,1,3,102,0,199,252,0,114,104,0,114,12,1,41,118,0,59,25,1,108,103,0,254,40,1,203,118,0,195,9,1,47,111,0,172,29,1,91,124,0,233,15,1,54,122,0,109,31,1,112,139,0,46,25,1,84,109,0,126,14,1, +148,127,0,59,31,1,49,129,0,213,8,1,191,120,0,81,253,0,99,131,0,42,239,0,11,129,0,206,1,1,215,112,0,112,252,0,118,134,0,29,235,0,62,139,0,149,250,0,98,129,0,155,241,0,56,140,0,129,239,0,239,157,0,154,239,0,206,140,0,230,243,0,144,142,0,181,255,0,102,159, +0,138,8,1,190,167,0,120,9,1,104,181,0,158,13,1,5,189,0,77,12,1,49,198,0,197,29,1,25,210,0,72,31,1,33,221,0,59,29,1,232,211,0,74,51,1,222,237,0,210,41,1,22,235,0,87,63,1,112,253,0,194,66,1,91,236,0,130,48,1,34,225,0,49,53,1,134,235,0,138,61,1,203,230, +0,64,75,1,185,239,0,58,76,1,67,242,0,189,73,1,170,221,0,208,78,1,60,239,0,164,75,1,41,236,0,19,62,1,108,225,0,208,76,1,182,217,0,56,60,1,13,208,0,0,65,1,232,213,0,13,69,1,199,200,0,31,56,1,19,205,0,81,56,1,131,203,0,197,35,1,80,195,0,254,48,1,36,188, +0,143,46,1,199,194,0,9,31,1,149,204,0,3,30,1,54,181,0,96,29,1,191,183,0,53,28,1,167,189,0,175,4,1,30,191,0,32,9,1,149,190,0,74,248,0,73,182,0,81,249,0,221,166,0,43,249,0,35,174,0,60,230,0,216,183,0,248,244,0,204,183,0,54,231,0,139,167,0,131,255,0,42, +183,0,3,225,0,153,181,0,36,234,0,37,194,0,128,227,0,215,175,0,222,232,0,49,188,0,93,247,0,153,175,0,209,230,0,246,168,0,135,228,0,135,176,0,141,229,0,140,175,0,255,249,0,240,171,0,12,0,1,86,186,0,236,236,0,153,171,0,123,242,0,245,158,0,91,227,0,183,164, +0,179,233,0,254,179,0,23,234,0,34,168,0,134,222,0,126,157,0,43,253,0,54,179,0,3,227,0,115,175,0,116,229,0,96,166,0,148,238,0,189,161,0,209,220,0,146,162,0,160,234,0,171,168,0,23,236,0,147,180,0,223,240,0,27,167,0,128,225,0,17,185,0,41,231,0,17,187,0, +179,233,0,117,189,0,204,231,0,62,204,0,140,221,0,111,190,0,36,240,0,233,219,0,144,251,0,13,216,0,60,236,0,47,231,0,16,233,0,195,219,0,154,233,0,221,231,0,111,242,0,195,223,0,198,234,0,77,220,0,230,253,0,171,229,0,74,244,0,116,240,0,243,251,0,223,255, +0,95,11,1,69,16,1,188,10,1,157,14,1,32,15,1,180,0,1,70,7,1,62,7,1,139,14,1,194,22,1,226,16,1,81,8,1,152,16,1,72,40,1,177,22,1,69,12,1,254,40,1,98,46,1,215,20,1,149,58,1,116,32,1,148,50,1,28,24,1,173,52,1,29,42,1,93,63,1,249,49,1,199,62,1,30,48,1,202, +88,1,94,68,1,88,78,1,118,56,1,145,77,1,112,55,1,14,80,1,44,68,1,246,97,1,76,71,1,228,110,1,146,82,1,115,92,1,147,92,1,102,96,1,102,85,1,228,102,1,103,89,1,184,99,1,4,103,1,60,103,1,185,96,1,246,95,1,252,91,1,202,92,1,136,104,1,59,95,1,129,99,1,34,97, +1,248,104,1,15,92,1,248,100,1,196,97,1,28,91,1,78,94,1,78,93,1,65,102,1,184,86,1,223,115,1,203,89,1,215,98,1,133,78,1,16,110,1,240,83,1,245,87,1,129,103,1,216,106,1,122,90,1,90,98,1,59,90,1,203,100,1,152,75,1,170,85,1,21,86,1,154,108,1,252,77,1,241,102, +1,156,52,1,180,114,1,207,66,1,117,122,1,64,83,1,56,126,1,6,62,1,42,122,1,207,70,1,104,112,1,138,65,1,124,117,1,208,76,1,205,122,1,27,83,1,148,111,1,170,76,1,5,122,1,119,62,1,98,109,1,181,60,1,103,104,1,176,73,1,29,106,1,89,75,1,152,92,1,208,80,1,197, +105,1,101,73,1,15,102,1,201,77,1,153,102,1,176,69,1,34,99,1,238,71,1,244,77,1,27,83,1,52,90,1,206,62,1,57,85,1,138,71,1,206,73,1,162,49,1,23,56,1,148,45,1,216,49,1,127,22,1,142,59,1,106,52,1,210,50,1,216,42,1,54,49,1,240,26,1,184,38,1,208,25,1,53,35, +1,22,35,1,46,36,1,26,12,1,194,22,1,90,22,1,157,22,1,134,21,1,46,26,1,171,19,1,154,53,1,150,2,1,215,31,1,237,254,0,175,15,1,212,252,0,8,34,1,242,239,0,221,28,1,174,244,0,15,33,1,50,2,1,21,36,1,162,254,0,80,55,1,129,231,0,149,58,1,128,223,0,9,42,1,187, +248,0,105,57,1,29,229,0,255,63,1,206,251,0,250,68,1,54,235,0,198,52,1,73,232,0,137,60,1,171,218,0,179,55,1,72,230,0,18,67,1,120,9,1,162,68,1,161,240,0,61,56,1,225,0,1,106,63,1,100,248,0,93,63,1,249,252,0,24,60,1,225,254,0,54,49,1,0,2,1,209,44,1,55,247, +0,102,31,1,69,251,0,52,31,1,230,243,0,77,27,1,41,229,0,226,17,1,131,251,0,156,12,1,234,220,0,213,15,1,103,225,0,143,0,1,127,215,0,30,252,0,200,195,0,61,245,0,138,197,0,118,4,1,20,206,0,110,243,0,156,192,0,21,225,0,36,185,0,91,236,0,15,156,0,1,214,0,40, +156,0,246,229,0,189,148,0,134,231,0,225,136,0,83,217,0,126,150,0,182,211,0,186,122,0,44,207,0,182,147,0,72,235,0,226,146,0,132,211,0,125,138,0,58,221,0,224,120,0,201,216,0,124,130,0,40,222,0,186,124,0,247,233,0,204,115,0,97,233,0,85,106,0,78,228,0,210, +106,0,103,228,0,147,104,0,101,218,0,86,116,0,203,234,0,68,125,0,85,233,0,136,122,0,132,215,0,155,123,0,139,220,0,68,121,0,7,205,0,37,126,0,131,199,0,97,100,0,156,209,0,12,120,0,131,207,0,60,114,0,92,183,0,224,126,0,80,189,0,210,108,0,23,182,0,210,108, +0,152,169,0,159,104,0,198,184,0,78,99,0,109,168,0,58,84,0,225,139,0,45,84,0,101,151,0,115,91,0,125,143,0,12,61,0,125,143,0,149,65,0,236,125,0,231,66,0,231,142,0,247,47,0,4,120,0,28,42,0,49,133,0,174,57,0,173,129,0,172,41,0,42,120,0,216,46,0,222,107,0, +196,29,0,191,116,0,178,42,0,247,113,0,141,46,0,135,121,0,59,39,0,46,103,0,197,41,0,154,126,0,77,32,0,32,87,0,171,35,0,222,111,0,140,36,0,211,127,0,203,38,0,97,115,0,91,50,0,248,123,0,139,26,0,245,97,0,70,25,0,3,116,0,208,29,0,108,99,0,170,23,0,235,121, +0,93,11,0,173,129,0,139,30,0,177,100,0,201,24,0,59,105,0,226,14,0,52,106,0,215,28,0,46,107,0,194,9,0,185,117,0,32,17,0,77,104,0,149,4,0,171,107,0,84,35,0,116,116,0,8,21,0,9,105,0,195,25,0,42,130,0,144,11,0,34,105,0,113,18,0,172,121,0,125,10,0,191,116, +0,114,20,0,192,126,0,107,17,0,155,128,0,163,14,0,187,137,0,34,37,0,149,131,0,26,18,0,198,125,0,146,35,0,106,142,0,221,25,0,93,136,0,120,17,0,109,109,0,33,27,0,141,110,0,243,3,0,116,118,0,100,14,0,164,96,0,66,42,0,205,124,0,40,32,0,128,108,0,255,253,255, +182,85,0,218,7,0,141,116,0,35,240,255,233,99,0,200,12,0,52,106,0,25,4,0,75,86,0,218,3,0,208,101,0,86,2,0,202,96,0,110,244,255,195,97,0,205,251,255,90,106,0,167,251,255,158,107,0,87,0,0,65,106,0,10,244,255,70,101,0,118,253,255,138,90,0,91,233,255,133, +97,0,110,242,255,210,119,0,109,234,255,254,126,0,10,238,255,123,125,0,30,251,255,12,137,0,147,236,255,248,123,0,197,240,255,119,142,0,249,2,0,46,162,0,167,249,255,169,142,0,254,249,255,163,151,0,92,251,255,9,166,0,101,20,0,121,172,0,145,27,0,228,167, +0,120,25,0,170,164,0,245,23,0,22,168,0,206,13,0,97,176,0,25,14,0,191,177,0,182,17,0,222,170,0,39,24,0,235,180,0,102,30,0,120,156,0,177,32,0,250,149,0,177,26,0,59,172,0,31,7,0,13,143,0,123,252,255,61,127,0,175,16,0,65,104,0,113,22,0,148,123,0,238,18,0, +23,121,0,60,250,255,133,103,0,193,253,255,253,108,0,30,251,255,77,100,0,167,255,255,156,79,0,128,237,255,54,61,0,110,240,255,182,87,0,129,239,255,131,87,0,120,220,255,54,67,0,84,234,255,219,85,0,131,204,255,5,67,0,199,191,255,249,64,0,12,199,255,11,62, +0,135,179,255,205,71,0,48,185,255,194,79,0,134,175,255,228,49,0,197,181,255,148,66,0,8,163,255,136,62,0,242,192,255,170,93,0,197,177,255,175,86,0,104,182,255,202,104,0,85,183,255,122,115,0,123,185,255,86,125,0,18,204,255,148,125,0,50,209,255,17,124,0, +105,194,255,248,125,0,21,226,255,123,127,0,22,236,255,119,148,0,15,227,255,39,155,0,59,234,255,38,147,0,32,218,255,188,145,0,222,234,255,174,127,0,167,245,255,76,153,0,53,237,255,43,128,0,236,250,255,169,152,0,160,240,255,137,143,0,5,251,255,193,136, +0,131,7,0,126,151,0,237,4,0,176,147,0,76,22,0,187,137,0,233,25,0,62,135,0,239,20,0,189,159,0,219,9,0,182,152,0,13,14,0,88,151,0,13,20,0,190,167,0,56,13,0,164,159,0,151,20,0,76,157,0,88,18,0,251,157,0,207,19,0,28,169,0,113,14,0,203,173,0,26,20,0,139,161, +0,250,8,0,158,166,0,182,11,0,77,165,0,118,5,0,226,153,0,206,13,0,85,176,0,111,250,255,13,153,0,174,0,0,241,173,0,162,10,0,9,162,0,25,12,0,40,165,0,205,1,0,165,175,0,211,248,255,195,156,0,68,3,0,203,167,0,99,8,0,172,176,0,25,6,0,34,162,0,224,4,0,2,157, +0,144,19,0,158,160,0,183,27,0,228,171,0,114,20,0,128,175,0,175,6,0,149,133,0,24,254,255,34,172,0,162,8,0,120,156,0,61,254,255,106,142,0,207,15,0,195,154,0,230,1,0,206,142,0,50,12,0,100,149,0,193,253,255,12,137,0,241,243,255,25,141,0,42,251,255,186,125, +0,192,255,255,219,142,0,102,227,255,18,134,0,16,237,255,236,125,0,19,13,0,94,142,0,230,1,0,100,139,0,236,248,255,94,142,0,37,2,0,87,143,0,168,5,0,5,136,0,45,19,0,151,153,0,107,15,0,119,146,0,236,252,255,38,153,0,71,29,0,88,149,0,121,39,0,165,169,0,245, +23,0,64,159,0,190,38,0,171,166,0,10,41,0,158,156,0,190,34,0,4,187,0,197,43,0,229,181,0,110,53,0,205,201,0,48,49,0,101,210,0,49,63,0,34,235,0,168,64,0,229,238,0,104,50,0,137,7,1,125,73,0,122,241,0,102,89,0,167,254,0,64,87,0,187,5,1,118,68,0,198,255,0, +227,85,0,224,3,1,132,78,0,36,255,0,196,88,0,120,28,1,163,81,0,119,16,1,127,91,0,1,19,1,101,77,0,224,253,0,27,87,0,99,251,0,227,85,0,248,245,0,243,70,0,140,228,0,76,81,0,58,227,0,51,75,0,64,216,0,224,63,0,176,218,0,21,90,0,45,221,0,225,65,0,19,213,0,182, +82,0,152,222,0,46,86,0,146,229,0,28,95,0,58,221,0,145,80,0,127,224,0,250,75,0,115,228,0,103,97,0,186,247,0,252,95,0,92,246,0,52,89,0,31,4,1,203,103,0,87,11,1,152,99,0,55,254,0,229,105,0,176,23,1,198,114,0,194,14,1,56,123,0,94,10,1,143,123,0,21,34,1,168, +127,0,169,16,1,111,124,0,215,31,1,252,148,0,178,37,1,88,140,0,184,44,1,226,142,0,54,47,1,150,142,0,55,61,1,102,154,0,159,40,1,53,162,0,178,37,1,152,156,0,58,26,1,16,166,0,1,21,1,252,152,0,138,13,1,54,170,0,138,17,1,201,150,0,107,14,1,240,154,0,194,12, +1,159,157,0,193,0,1,28,168,0,94,16,1,164,150,0,101,17,1,183,159,0,43,8,1,58,151,0,79,246,0,134,165,0,125,9,1,83,149,0,150,13,1,137,132,0,49,255,0,252,156,0,44,6,1,7,145,0,143,0,1,252,158,0,168,10,1,23,173,0,152,35,1,252,156,0,240,37,1,246,151,0,20,28, +1,61,179,0,134,42,1,242,184,0,122,48,1,191,170,0,86,52,1,16,174,0,88,74,1,224,189,0,217,55,1,205,190,0,0,70,1,228,166,0,35,50,1,118,188,0,5,55,1,7,208,0,81,73,1,201,207,0,207,81,1,204,176,0,117,53,1,57,194,0,237,62,1,238,199,0,11,58,1,206,198,0,69,69, +1,113,201,0,118,67,1,238,207,0,243,63,1,213,203,0,255,59,1,191,225,0,254,49,1,9,218,0,92,49,1,183,208,0,152,35,1,78,221,0,172,42,1,127,211,0,234,44,1,216,225,0,214,27,1,200,199,0,52,31,1,28,225,0,196,28,1,157,206,0,101,17,1,134,220,0,140,39,1,19,192, +0,89,25,1,181,194,0,64,17,1,25,193,0,13,9,1,200,197,0,169,14,1,24,191,0,118,8,1,18,186,0,176,17,1,231,194,0,243,2,1,131,190,0,58,34,1,112,187,0,44,6,1,118,184,0,196,36,1,135,175,0,182,18,1,255,186,0,15,37,1,0,199,0,60,44,1,74,187,0,153,39,1,24,191,0, +142,55,1,144,196,0,223,54,1,157,204,0,4,57,1,106,190,0,224,66,1,80,182,0,199,64,1,105,182,0,173,48,1,251,199,0,130,51,1,14,207,0,62,68,1,169,200,0,229,59,1,113,195,0,147,42,1,38,199,0,58,30,1,69,202,0,157,16,1,140,219,0,157,18,1,150,201,0,212,7,1,220, +206,0,244,8,1,213,197,0,59,231,0,152,213,0,98,247,0,170,206,0,88,202,0,150,199,0,46,219,0,157,202,0,50,210,0,18,186,0,61,182,0,95,206,0,5,189,0,12,183,0,110,180,0,0,199,0,186,194,0,161,183,0,240,161,0,149,183,0,52,167,0,3,158,0,159,168,0,246,157,0,145, +154,0,197,167,0,139,167,0,72,165,0,28,169,0,208,155,0,83,158,0,234,157,0,189,163,0,41,164,0,223,182,0,223,171,0,94,207,0,247,159,0,86,190,0,146,151,0,233,223,0,43,180,0,72,237,0,129,168,0,65,226,0,74,187,0,91,238,0,193,190,0,54,236,0,141,172,0,236,251, +0,160,173,0,254,248,0,162,185,0,192,254,0,174,189,0,136,251,0,55,182,0,48,243,0,250,195,0,23,247,0,193,196,0,98,247,0,7,202,0,85,247,0,45,204,0,140,230,0,75,193,0,235,239,0,138,199,0,221,235,0,246,214,0,10,241,0,101,197,0,176,214,0,88,199,0,226,216,0, +16,223,0,181,209,0,59,218,0,208,219,0,252,211,0,187,202,0,201,203,0,148,192,0,208,218,0,80,191,0,196,214,0,243,199,0,220,202,0,229,189,0,206,188,0,41,177,0,88,191,0,78,171,0,167,178,0,58,154,0,248,181,0,177,159,0,131,194,0,150,147,0,172,165,0,5,132,0, +11,177,0,87,137,0,173,179,0,211,129,0,185,171,0,24,129,0,11,175,0,150,145,0,110,173,0,179,126,0,97,165,0,60,123,0,184,157,0,162,133,0,241,176,0,205,124,0,160,171,0,249,131,0,254,176,0,241,120,0,192,180,0,112,143,0,202,152,0,130,134,0,54,176,0,173,123, +0,197,167,0,148,129,0,78,168,0,213,147,0,148,177,0,188,151,0,10,163,0,180,128,0,152,162,0,187,143,0,254,174,0,179,122,0,189,156,0,9,113,0,247,167,0,131,140,0,228,160,0,29,124,0,125,138,0,147,115,0,209,163,0,192,132,0,8,149,0,127,110,0,51,148,0,72,115, +0,225,132,0,70,97,0,239,156,0,73,119,0,245,153,0,236,127,0,43,131,0,184,115,0,32,141,0,224,131,0,158,149,0,250,139,0,173,122,0,160,123,0,250,134,0,179,126,0,144,145,0,36,125,0,168,129,0,87,143,0,12,120,0,129,120,0,101,140,0,86,135,0,255,127,0,55,132, +0,129,119,0,249,137,0,70,143,0,132,158,0,145,147,0,232,152,0,210,173,0,15,163,0,240,164,0,51,149,0,11,181,0,19,144,0,12,183,0,230,138,0,123,175,0,155,134,0,187,191,0,243,130,0,148,181,0,56,136,0,101,197,0,11,133,0,180,190,0,184,111,0,138,195,0,31,134, +0,32,200,0,211,127,0,93,190,0,90,110,0,120,200,0,157,89,0,145,210,0,46,99,0,205,180,0,71,105,0,14,203,0,253,118,0,180,190,0,216,110,0,18,186,0,40,108,0,242,178,0,95,95,0,34,165,0,97,115,0,43,186,0,28,106,0,72,161,0,116,116,0,253,170,0,209,115,0,133,149, +0,16,108,0,35,167,0,109,115,0,195,143,0,189,98,0,140,158,0,123,123,0,227,154,0,85,117,0,145,143,0,4,120,0,159,157,0,177,104,0,96,155,0,60,115,0,208,145,0,28,108,0,140,158,0,128,118,0,179,174,0,217,126,0,98,169,0,213,145,0,222,163,0,243,130,0,6,196,0, +51,151,0,132,202,0,113,149,0,238,203,0,194,146,0,245,208,0,119,152,0,251,213,0,172,170,0,23,232,0,39,157,0,177,217,0,28,165,0,135,236,0,158,156,0,24,244,0,102,167,0,196,224,0,26,149,0,36,234,0,175,149,0,241,225,0,13,147,0,183,214,0,83,156,0,182,206,0, +0,141,0,210,234,0,245,158,0,158,218,0,124,141,0,139,211,0,81,136,0,192,178,0,11,127,0,249,179,0,91,120,0,129,172,0,35,111,0,253,164,0,16,108,0,9,155,0,65,106,0,21,149,0,88,88,0,82,141,0,119,83,0,111,122,0,225,76,0,238,134,0,20,93,0,53,105,0,111,72,0, +45,84,0,228,51,0,84,94,0,247,52,0,203,103,0,77,47,0,208,96,0,16,49,0,72,108,0,46,42,0,197,110,0,34,46,0,252,93,0,15,45,0,115,101,0,19,22,0,14,87,0,150,21,0,134,98,0,101,25,0,246,96,0,231,20,0,253,97,0,142,10,0,229,111,0,154,0,0,78,103,0,224,9,0,124,126, +0,105,2,0,254,115,0,221,237,255,3,101,0,33,237,255,177,89,0,252,234,255,248,108,0,191,246,255,95,84,0,109,235,255,245,80,0,32,221,255,137,73,0,84,235,255,207,74,0,127,230,255,74,67,0,125,216,255,1,75,0,33,231,255,192,62,0,2,236,255,125,73,0,221,235,255, +167,56,0,26,226,255,74,59,0,33,227,255,36,55,0,219,219,255,36,57,0,22,251,255,190,36,0,213,222,255,77,34,0,126,224,255,60,43,0,9,239,255,104,50,0,90,246,255,29,50,0,76,232,255,21,33,0,109,243,255,227,36,0,83,227,255,85,47,0,105,2,0,178,38,0,93,16,0,249, +57,0,111,3,0,148,59,0,171,237,255,141,44,0,79,0,0,141,40,0,11,5,0,22,41,0,196,233,255,123,53,0,153,246,255,24,55,0,140,238,255,79,56,0,159,245,255,167,58,0,15,242,255,216,44,0,144,217,255,134,45,0,232,223,255,191,50,0,51,228,255,161,55,0,88,222,255,142, +58,0,149,204,255,28,32,0,63,216,255,228,38,0,157,225,255,47,39,0,124,208,255,247,37,0,62,210,255,66,40,0,38,220,255,215,38,0,82,229,255,84,41,0,163,218,255,209,35,0,6,215,255,215,38,0,78,238,255,16,38,0,183,237,255,91,50,0,191,254,255,135,53,0,255,8, +0,109,35,0,229,250,255,162,67,0,36,7,0,18,60,0,173,3,0,198,55,0,167,252,255,81,66,0,213,23,0,31,74,0,123,7,0,198,51,0,92,2,0,50,71,0,175,19,0,186,59,0,199,11,0,218,66,0,130,12,0,230,64,0,136,3,0,138,75,0,63,27,0,81,72,0,97,251,255,25,71,0,241,254,255, +51,81,0,210,249,255,6,70,0,15,246,255,26,75,0,191,246,255,6,64,0,247,243,255,14,81,0,29,4,0,83,82,0,208,231,255,149,65,0,200,210,255,18,60,0,216,246,255,43,58,0,101,222,255,149,63,0,158,227,255,160,47,0,132,215,255,22,35,0,155,205,255,218,60,0,186,192, +255,52,30,0,73,194,255,127,36,0,249,210,255,186,55,0,61,200,255,164,20,0,69,223,255,110,43,0,6,211,255,176,24,0,44,219,255,192,48,0,156,207,255,158,33,0,44,223,255,213,22,0,27,234,255,159,41,0,155,2,0,252,26,0,40,242,255,90,42,0,204,0,0,189,30,0,5,6, +0,26,79,0,255,8,0,223,53,0,104,4,0,36,49,0,186,5,0,204,50,0,119,22,0,173,55,0,180,2,0,161,65,0,154,250,255,112,67,0,186,3,0,224,63,0,90,242,255,56,68,0,177,236,255,81,70,0,228,246,255,168,70,0,176,226,255,56,70,0,176,226,255,74,67,0,239,234,255,250,73, +0,63,216,255,65,89,0,159,245,255,175,69,0,231,209,255,175,75,0,213,222,255,193,66,0,120,225,255,249,63,0,230,207,255,243,60,0,117,199,255,255,60,0,41,195,255,211,57,0,223,200,255,192,52,0,175,210,255,195,23,0,16,191,255,165,32,0,66,191,255,4,50,0,61, +196,255,152,32,0,150,212,255,91,50,0,124,204,255,246,33,0,37,208,255,19,9,0,237,208,255,109,35,0,214,234,255,71,29,0,19,217,255,44,17,0,251,224,255,107,15,0,20,225,255,81,11,0,176,218,255,111,250,255,212,214,255,7,19,0,71,239,255,81,11,0,139,228,255, +237,6,0,209,241,255,106,9,0,60,251,255,23,242,255,213,220,255,198,242,255,227,240,255,6,5,0,170,227,255,149,4,0,8,231,255,238,12,0,127,230,255,15,229,255,175,220,255,38,14,0,75,216,255,11,250,255,16,195,255,12,2,0,161,206,255,38,18,0,194,217,255,203, +241,255,156,211,255,130,1,0,76,224,255,149,250,255,192,197,255,91,247,255,205,201,255,180,247,255,255,207,255,254,249,255,249,208,255,49,0,0,123,196,255,197,236,255,247,194,255,41,237,255,212,204,255,199,250,255,236,200,255,209,234,255,54,187,255,123, +246,255,223,198,255,135,246,255,212,210,255,96,222,255,92,199,255,84,238,255,80,199,255,42,251,255,142,197,255,240,231,255,109,186,255,4,247,255,23,194,255,141,241,255,128,189,255,173,248,255,2,175,255,222,238,255,90,177,255,185,242,255,81,148,255,120, +224,255,232,164,255,182,218,255,47,188,255,197,234,255,107,162,255,58,216,255,143,138,255,51,211,255,68,144,255,207,208,255,111,137,255,111,195,255,27,112,255,48,183,255,159,121,255,185,179,255,64,112,255,109,171,255,157,99,255,194,143,255,56,95,255, +170,161,255,39,106,255,43,135,255,74,76,255,216,119,255,15,47,255,36,130,255,196,60,255,23,124,255,245,48,255,48,120,255,71,44,255,158,98,255,139,41,255,77,103,255,162,31,255,146,104,255,174,25,255,158,94,255,194,34,255,159,108,255,149,23,255,202,105, +255,105,16,255,57,82,255,235,1,255,14,97,255,42,14,255,253,117,255,242,20,255,152,107,255,243,24,255,5,133,255,158,44,255,192,119,255,200,27,255,84,112,255,132,34,255,98,122,255,194,30,255,60,118,255,202,53,255,241,121,255,165,55,255,48,126,255,147,64, +255,223,128,255,74,76,255,85,118,255,254,73,255,148,120,255,141,67,255,116,115,255,92,75,255,190,109,255,235,74,255,237,136,255,18,85,255,208,104,255,242,77,255,234,108,255,126,102,255,215,105,255,30,83,255,241,113,255,250,94,255,97,114,255,71,107,255, +184,106,255,255,81,255,165,105,255,119,93,255,128,113,255,240,120,255,133,100,255,14,112,255,40,109,255,114,112,255,22,108,255,133,101,255,222,120,255,44,97,255,47,112,255,227,116,255,78,105,255,63,94,255,121,104,255,81,81,255,27,101,255,81,85,255,201, +89,255,223,80,255,163,79,255,199,84,255,43,78,255,22,60,255,231,80,255,129,65,255,232,90,255,235,70,255,191,58,255,163,43,255,205,68,255,15,55,255,55,70,255,140,55,255,110,61,255,188,43,255,156,74,255,52,49,255,148,59,255,100,35,255,134,45,255,245,38, +255,10,61,255,214,41,255,136,59,255,180,26,255,204,62,255,221,52,255,123,61,255,225,27,255,210,57,255,33,48,255,61,67,255,216,67,255,166,52,255,166,61,255,61,67,255,167,77,255,100,79,255,223,72,255,238,95,255,7,97,255,105,70,255,224,78,255,70,96,255, +132,103,255,48,124,255,186,137,255,21,110,255,229,134,255,102,107,255,205,144,255,98,124,255,100,157,255,191,121,255,100,151,255,111,132,255,119,160,255,230,127,255,238,155,255,152,160,255,82,158,255,194,149,255,250,163,255,83,159,255,115,173,255,18, +131,255,243,148,255,213,142,255,118,142,255,73,187,255,78,181,255,252,164,255,56,150,255,33,157,255,101,161,255,214,156,255,100,147,255,34,171,255,19,150,255,227,162,255,139,169,255,83,161,255,183,164,255,10,181,255,238,165,255,34,173,255,0,157,255,46, +163,255,33,174,255,208,161,255,26,169,255,71,159,255,38,153,255,95,157,255,115,177,255,140,170,255,157,162,255,51,158,255,157,158,255,84,165,255,26,165,255,127,156,255,7,160,255,57,153,255,58,164,255,39,154,255,32,156,255,124,132,255,236,145,255,248, +128,255,244,158,255,218,139,255,181,150,255,254,123,255,188,157,255,246,108,255,82,156,255,204,123,255,250,149,255,47,116,255,173,133,255,79,121,255,88,159,255,177,97,255,71,113,255,8,98,255,54,124,255,16,111,255,148,127,255,102,99,255,2,110,255,184, +108,255,96,107,255,103,113,255,177,110,255,242,129,255,78,116,255,217,129,255,20,103,255,40,113,255,88,96,255,190,105,255,96,107,255,36,126,255,232,95,255,211,132,255,238,96,255,91,111,255,213,98,255,215,107,255,213,92,255,111,130,255,89,104,255,28,113, +255,95,103,255,122,112,255,219,95,255,166,115,255,125,90,255,51,99,255,13,94,255,9,110,255,245,111,255,202,103,255,195,111,255,189,101,255,15,116,255,53,115,255,228,128,255,187,79,255,253,124,255,127,99,255,146,111,255,9,106,255,128,122,255,226,101,255, +80,140,255,190,103,255,109,123,255,166,115,255,73,127,255,139,95,255,235,129,255,75,83,255,155,136,255,188,89,255,190,116,255,94,86,255,134,119,255,12,81,255,32,101,255,36,65,255,101,100,255,60,55,255,45,105,255,94,82,255,219,103,255,116,48,255,91,59, +255,78,56,255,60,72,255,214,36,255,241,61,255,120,33,255,27,45,255,132,25,255,101,33,255,132,29,255,70,36,255,130,3,255,43,24,255,136,4,255,87,23,255,92,1,255,184,249,254,208,240,254,150,230,254,153,241,254,9,249,254,3,239,254,93,219,254,166,247,254, +76,236,254,108,228,254,163,226,254,246,232,254,51,234,254,32,226,254,169,223,254,199,207,254,119,223,254,12,215,254,181,223,254,148,203,254,100,224,254,167,200,254,162,214,254,230,204,254,197,194,254,174,209,254,154,207,254,68,202,254,179,207,254,137, +207,254,255,213,254,123,193,254,124,216,254,177,174,254,51,226,254,147,189,254,168,219,254,52,174,254,55,209,254,97,187,254,119,229,254,71,175,254,125,230,254,176,166,254,63,226,254,14,172,254,27,244,254,182,161,254,183,237,254,0,158,254,233,245,254, +64,166,254,197,251,254,13,160,254,76,234,254,221,177,254,10,255,254,45,169,254,214,244,254,132,165,254,101,234,254,114,164,254,189,244,254,125,154,254,96,243,254,156,153,254,64,240,254,215,182,254,157,239,254,252,166,254,231,227,254,201,158,254,145,241, +254,82,163,254,126,238,254,158,171,254,196,243,254,163,162,254,106,225,254,253,178,254,255,209,254,252,180,254,25,218,254,153,184,254,31,215,254,168,204,254,118,217,254,153,186,254,249,212,254,198,193,254,147,198,254,92,190,254,148,214,254,172,187,254, +110,208,254,100,211,254,63,228,254,87,211,254,89,238,254,46,238,254,101,238,254,212,207,254,198,13,255,118,210,254,135,7,255,150,213,254,75,25,255,249,211,254,38,31,255,219,212,254,125,29,255,157,224,254,218,24,255,189,227,254,199,25,255,178,247,254, +39,45,255,132,224,254,37,19,255,84,240,254,244,30,255,19,216,254,244,40,255,222,246,254,54,67,255,240,243,254,110,66,255,72,244,254,22,66,255,36,6,255,80,77,255,129,253,254,253,65,255,230,15,255,131,95,255,56,21,255,232,103,255,225,24,255,33,109,255, +82,27,255,234,115,255,63,20,255,214,114,255,107,33,255,229,132,255,165,42,255,192,136,255,126,22,255,89,161,255,77,38,255,218,144,255,40,46,255,170,164,255,104,54,255,120,162,255,127,34,255,114,161,255,47,49,255,201,163,255,184,45,255,83,172,255,39,32, +255,114,169,255,97,49,255,154,187,255,201,34,255,239,169,255,220,41,255,96,174,255,116,54,255,14,167,255,67,64,255,77,175,255,247,61,255,159,186,255,181,74,255,242,199,255,14,97,255,122,186,255,20,88,255,54,193,255,184,102,255,114,171,255,46,102,255, +211,202,255,82,92,255,5,203,255,112,81,255,74,202,255,34,112,255,207,215,255,245,94,255,82,223,255,28,113,255,212,214,255,221,108,255,25,216,255,115,109,255,133,233,255,198,126,255,177,230,255,174,130,255,24,9,0,175,140,255,110,253,255,223,128,255,124, +5,0,112,136,255,167,252,255,203,170,255,163,23,0,176,150,255,186,9,0,25,144,255,82,28,0,120,153,255,51,29,0,252,166,255,107,28,0,152,164,255,253,45,0,130,192,255,171,46,0,98,183,255,58,44,0,199,187,255,134,50,0,83,167,255,85,54,0,47,175,255,248,66,0, +255,196,255,111,68,0,77,162,255,139,33,0,199,187,255,146,42,0,212,193,255,159,42,0,189,164,255,201,35,0,234,173,255,190,39,0,246,167,255,182,22,0,131,141,255,24,5,0,74,136,255,255,12,0,235,122,255,17,2,0,187,134,255,211,3,0,237,138,255,111,13,0,229,121, +255,8,237,255,123,124,255,173,255,255,68,131,255,117,10,0,72,116,255,246,239,255,150,136,255,5,8,0,146,104,255,248,253,255,170,98,255,160,247,255,26,93,255,16,248,255,239,99,255,208,233,255,251,97,255,208,229,255,120,98,255,102,234,255,232,94,255,152, +240,255,20,102,255,96,239,255,165,109,255,134,245,255,52,103,255,132,229,255,203,111,255,191,244,255,228,107,255,179,254,255,179,117,255,188,220,255,154,123,255,228,244,255,79,119,255,83,237,255,53,109,255,76,232,255,41,117,255,132,229,255,146,110,255, +74,212,255,241,113,255,209,235,255,158,96,255,43,211,255,14,95,255,211,200,255,96,102,255,194,215,255,8,104,255,169,219,255,71,100,255,153,189,255,46,106,255,9,186,255,232,90,255,11,196,255,63,89,255,138,157,255,42,64,255,176,159,255,175,79,255,221,182, +255,122,55,255,87,155,255,36,63,255,89,167,255,124,75,255,226,165,255,75,81,255,65,177,255,235,57,255,140,177,255,65,50,255,39,175,255,141,54,255,166,189,255,98,67,255,217,199,255,211,65,255,86,200,255,218,70,255,29,195,255,42,64,255,68,207,255,175,79, +255,119,213,255,11,67,255,150,220,255,143,72,255,143,211,255,37,79,255,191,244,255,44,90,255,11,3,0,2,101,255,71,237,255,194,84,255,33,233,255,159,108,255,46,243,255,39,99,255,13,226,255,159,108,255,135,247,255,219,88,255,237,216,255,132,90,255,33,227, +255,151,85,255,37,214,255,156,84,255,13,220,255,80,72,255,56,215,255,157,86,255,149,202,255,152,99,255,24,206,255,206,84,255,224,208,255,100,81,255,6,211,255,232,94,255,194,213,255,131,76,255,86,202,255,30,72,255,99,204,255,106,78,255,155,199,255,255, +70,255,122,188,255,198,69,255,85,192,255,244,82,255,91,191,255,103,50,255,166,185,255,60,51,255,98,194,255,239,44,255,22,188,255,53,42,255,160,188,255,103,48,255,210,186,255,226,28,255,179,189,255,39,42,255,216,187,255,95,31,255,83,170,255,7,33,255,20, +166,255,21,41,255,159,176,255,249,12,255,14,171,255,200,20,255,60,192,255,44,23,255,139,171,255,150,24,255,129,197,255,130,9,255,185,188,255,167,9,255,141,191,255,142,7,255,223,194,255,61,10,255,202,175,255,168,13,255,229,189,255,56,11,255,196,180,255, +19,21,255,252,179,255,100,24,255,66,187,255,238,26,255,240,183,255,82,29,255,46,178,255,149,14,255,211,196,255,222,254,254,84,176,255,206,13,255,33,178,255,99,6,255,207,160,255,179,249,254,232,158,255,223,4,255,95,162,255,160,254,254,82,158,255,4,1,255, +120,162,255,105,255,254,18,146,255,158,236,254,32,156,255,127,231,254,32,156,255,203,245,254,62,141,255,38,223,254,31,144,255,59,236,254,44,160,255,213,225,254,99,143,255,8,232,254,100,155,255,140,239,254,138,159,255,114,225,254,196,180,255,195,234,254, +90,179,255,208,230,254,140,183,255,51,221,254,230,203,255,39,231,254,105,205,255,38,223,254,125,212,255,95,218,254,245,223,255,141,247,254,82,223,255,146,240,254,8,231,255,84,242,254,176,226,255,17,1,255,22,247,255,247,248,254,8,231,255,246,236,254,207, +225,255,136,0,255,8,235,255,248,6,255,72,241,255,250,10,255,33,235,255,193,5,255,139,224,255,144,27,255,14,238,255,218,21,255,82,229,255,212,18,255,178,238,255,169,21,255,100,220,255,12,12,255,0,220,255,246,39,255,163,218,255,71,43,255,113,218,255,175, +24,255,14,232,255,250,26,255,91,244,255,119,21,255,139,230,255,239,30,255,159,245,255,28,48,255,186,7,0,208,41,255,166,250,255,14,42,255,249,7,0,146,37,255,70,28,0,164,38,255,81,18,0,240,42,255,214,31,0,183,33,255,171,42,0,203,50,255,160,60,0,70,25,255, +154,63,0,33,35,255,186,62,0,34,43,255,211,72,0,14,32,255,222,58,0,247,51,255,191,57,0,114,38,255,68,81,0,187,24,255,52,41,0,57,27,255,212,74,0,151,32,255,117,69,0,177,38,255,202,41,0,214,34,255,193,75,0,78,42,255,167,65,0,228,48,255,255,71,0,195,35,255, +192,59,0,98,63,255,193,71,0,230,74,255,224,70,0,66,56,255,82,93,0,162,71,255,93,75,0,124,69,255,200,84,0,199,75,255,214,90,0,45,94,255,61,72,0,58,104,255,183,97,0,182,86,255,158,97,0,206,78,255,147,111,0,65,99,255,159,115,0,45,96,255,77,104,0,58,98,255, +211,129,0,215,111,255,15,102,0,79,121,255,191,124,0,115,99,255,44,140,0,66,117,255,0,147,0,192,129,255,76,151,0,73,124,255,89,159,0,86,126,255,202,163,0,174,132,255,115,169,0,112,134,255,178,177,0,219,147,255,116,177,0,81,147,255,55,185,0,138,152,255, +30,195,0,158,167,255,168,199,0,221,167,255,74,194,0,8,167,255,81,197,0,103,172,255,182,211,0,40,168,255,205,201,0,3,176,255,150,212,0,154,182,255,77,216,0,78,178,255,25,202,0,34,171,255,133,223,0,41,184,255,126,210,0,235,181,255,8,223,0,17,190,255,180, +201,0,166,180,255,118,199,0,154,186,255,230,193,0,180,190,255,253,175,0,73,179,255,10,178,0,146,159,255,214,163,0,184,169,255,114,159,0,140,162,255,250,149,0,35,181,255,76,153,0,221,159,255,161,131,0,1,148,255,231,142,0,182,145,255,142,126,0,106,143, +255,104,116,0,55,131,255,127,102,0,249,134,255,120,101,0,106,137,255,102,100,0,103,109,255,45,95,0,222,112,255,164,100,0,61,122,255,142,63,0,172,108,255,48,62,0,177,103,255,182,89,0,176,93,255,103,55,0,76,95,255,190,49,0,47,112,255,110,56,0,184,102,255, +11,70,0,14,101,255,137,76,0,49,73,255,255,75,0,233,102,255,44,85,0,26,93,255,74,76,0,183,100,255,201,90,0,181,84,255,168,73,0,189,93,255,14,94,0,245,94,255,176,88,0,114,97,255,233,101,0,232,98,255,189,94,0,231,80,255,70,97,0,182,88,255,46,105,0,195,98, +255,154,122,0,152,99,255,251,98,0,94,84,255,184,109,0,44,86,255,64,98,0,138,83,255,168,81,0,254,64,255,6,79,0,107,92,255,77,96,0,125,83,255,201,88,0,85,61,255,80,75,0,230,72,255,205,67,0,54,64,255,229,57,0,255,70,255,99,74,0,130,72,255,97,48,0,67,62, +255,91,57,0,248,65,255,231,77,0,4,54,255,216,47,0,172,55,255,4,57,0,35,61,255,15,43,0,65,46,255,165,47,0,84,53,255,64,41,0,148,57,255,170,32,0,97,55,255,70,34,0,78,52,255,76,31,0,59,43,255,75,21,0,22,55,255,163,29,0,239,44,255,131,18,0,158,35,255,88, +23,0,207,35,255,200,27,0,239,44,255,35,253,255,65,42,255,48,3,0,19,23,255,2,234,255,8,31,255,85,247,255,182,27,255,108,237,255,187,18,255,28,242,255,81,19,255,144,223,255,249,8,255,237,216,255,249,18,255,56,215,255,159,248,254,130,195,255,192,255,254, +64,230,255,248,6,255,168,205,255,18,19,255,213,220,255,187,14,255,17,201,255,230,11,255,18,209,255,16,255,254,101,226,255,143,9,255,187,210,255,223,6,255,126,222,255,104,1,255,133,231,255,237,16,255,39,234,255,180,5,255,58,227,255,99,6,255,133,237,255, +58,234,254,25,218,255,229,7,255,217,252,255,4,247,254,18,211,255,55,13,255,67,6,0,229,253,254,70,225,255,196,246,254,64,230,255,60,252,254,213,220,255,149,14,255,239,234,255,0,14,255,89,234,255,54,255,254,9,245,255,203,251,254,14,238,255,16,255,254,51, +228,255,41,245,254,1,222,255,104,1,255,252,238,255,203,247,254,133,231,255,178,251,254,95,221,255,47,248,254,151,218,255,99,12,255,108,237,255,216,1,255,252,234,255,115,239,254,92,203,255,192,5,255,171,243,255,15,237,254,50,210,255,40,243,254,57,223, +255,105,7,255,243,211,255,128,241,254,68,201,255,66,249,254,149,198,255,129,1,255,156,213,255,197,254,254,197,186,255,49,12,255,111,200,255,128,249,254,181,207,255,11,6,255,6,215,255,142,3,255,125,214,255,100,14,255,201,224,255,225,24,255,206,207,255, +56,21,255,213,220,255,182,35,255,120,221,255,0,18,255,157,225,255,93,9,255,218,209,255,13,26,255,132,215,255,151,26,255,36,206,255,31,11,255,214,224,255,169,25,255,211,202,255,129,1,255,67,193,255,82,27,255,29,193,255,50,20,255,178,179,255,181,23,255, +73,200,255,63,20,255,160,188,255,181,19,255,240,179,255,132,23,255,178,185,255,7,29,255,72,182,255,62,14,255,2,173,255,188,28,255,2,177,255,49,16,255,252,179,255,67,1,255,69,156,255,155,13,255,169,156,255,73,4,255,82,160,255,135,248,254,173,131,255,160, +0,255,28,116,255,235,250,254,11,137,255,96,236,254,155,138,255,196,236,254,75,147,255,127,235,254,224,151,255,145,228,254,79,128,255,45,228,254,105,142,255,233,236,254,79,124,255,244,222,254,73,133,255,95,232,254,36,139,255,164,237,254,23,127,255,118, +206,254,98,135,255,7,226,254,130,138,255,165,239,254,211,143,255,8,224,254,253,128,255,161,8,255,37,155,255,159,242,254,111,143,255,190,241,254,247,131,255,180,5,255,132,160,255,86,4,255,148,133,255,148,2,255,198,129,255,122,244,254,174,141,255,242,7, +255,255,142,255,86,6,255,155,138,255,80,7,255,197,125,255,192,3,255,23,131,255,154,3,255,226,104,255,138,30,255,152,110,255,125,14,255,190,116,255,86,4,255,151,98,255,51,28,255,145,109,255,68,15,255,31,87,255,50,14,255,206,87,255,31,21,255,138,94,255, +180,15,255,131,81,255,106,11,255,155,75,255,101,26,255,100,92,255,80,5,255,182,101,255,2,241,254,24,76,255,149,6,255,0,94,255,122,252,254,237,84,255,60,252,254,212,94,255,87,12,255,224,86,255,54,253,254,112,84,255,211,6,255,171,115,255,160,250,254,83, +105,255,198,6,255,141,118,255,169,21,255,176,98,255,68,11,255,28,120,255,230,11,255,46,121,255,241,1,255,82,103,255,93,9,255,113,100,255,158,39,255,246,119,255,226,38,255,78,122,255,153,48,255,195,111,255,128,48,255,197,123,255,62,18,255,188,98,255,170, +35,255,126,102,255,183,33,255,251,108,255,219,25,255,121,107,255,35,57,255,239,110,255,140,44,255,63,98,255,40,50,255,159,113,255,108,35,255,89,104,255,185,57,255,184,119,255,216,50,255,234,115,255,86,63,255,139,108,255,247,57,255,77,104,255,10,61,255, +253,118,255,18,68,255,44,95,255,37,77,255,250,100,255,162,81,255,151,106,255,111,73,255,40,110,255,49,73,255,86,78,255,124,69,255,223,80,255,205,74,255,213,96,255,129,60,255,172,62,255,198,67,255,124,78,255,129,56,255,129,75,255,72,45,255,106,87,255, +210,57,255,198,70,255,30,76,255,32,93,255,112,77,255,17,67,255,42,62,255,159,56,255,81,78,255,22,66,255,142,64,255,204,73,255,104,60,255,172,62,255,192,68,255,94,30,255,136,65,255,84,60,255,16,54,255,51,41,255,232,88,255,140,55,255,156,76,255,162,27, +255,55,66,255,144,30,255,149,71,255,168,32,255,223,69,255,65,47,255,79,54,255,26,33,255,215,52,255,143,18,255,62,75,255,157,38,255,223,63,255,7,36,255,37,71,255,143,18,255,212,81,255,13,37,255,206,78,255,64,39,255,69,84,255,75,31,255,179,56,255,124,17, +255,5,66,255,226,41,255,135,57,255,167,16,255,87,75,255,17,10,255,49,65,255,41,2,255,160,51,255,33,239,254,92,64,255,240,246,254,173,65,255,115,246,254,197,53,255,182,239,254,211,65,255,250,226,254,47,51,255,231,223,254,235,53,255,56,215,254,117,56,255, +69,227,254,201,38,255,192,211,254,41,52,255,198,206,254,110,51,255,191,197,254,146,43,255,93,215,254,167,64,255,41,203,254,184,45,255,91,195,254,8,41,255,228,199,254,173,61,255,200,220,254,127,38,255,124,218,254,128,52,255,187,214,254,36,69,255,33,239, +254,202,44,255,107,231,254,98,67,255,158,237,254,242,62,255,226,236,254,222,57,255,214,244,254,244,88,255,10,3,255,169,84,255,10,5,255,112,77,255,179,10,255,113,85,255,184,253,254,238,91,255,117,10,255,175,81,255,197,9,255,13,85,255,131,227,254,49,79, +255,59,243,254,233,96,255,163,232,254,27,97,255,246,253,254,174,75,255,58,239,254,206,76,255,113,234,254,176,85,255,71,245,254,200,83,255,155,209,254,25,81,255,24,220,254,37,71,255,101,232,254,100,77,255,162,220,254,16,54,255,242,209,254,199,73,255,141, +201,254,235,63,255,118,221,254,173,57,255,84,194,254,160,59,255,89,185,254,68,68,255,208,180,254,15,46,255,64,179,254,53,48,255,164,179,254,123,57,255,82,170,254,241,56,255,2,179,254,74,65,255,200,165,254,9,49,255,44,164,254,10,61,255,248,145,254,67, +64,255,86,151,254,16,48,255,49,155,254,192,68,255,107,172,254,247,57,255,223,147,254,68,74,255,62,155,254,111,65,255,207,170,254,137,75,255,228,132,254,142,62,255,156,168,254,66,56,255,7,168,254,80,72,255,19,168,254,130,72,255,138,163,254,176,89,255, +96,180,254,129,64,255,188,167,254,176,93,255,216,199,254,119,84,255,209,190,254,28,109,255,174,222,254,152,99,255,198,208,254,46,110,255,167,207,254,223,124,255,182,235,254,154,113,255,232,239,254,190,105,255,21,245,254,57,153,255,86,17,255,201,158,255, +159,255,254,245,157,255,189,41,255,20,159,255,106,32,255,242,192,255,226,41,255,122,177,255,219,36,255,191,174,255,65,47,255,73,189,255,39,43,255,88,213,255,33,46,255,6,198,255,126,39,255,81,210,255,7,38,255,182,210,255,32,40,255,101,215,255,100,35,255, +32,212,255,217,14,255,26,215,255,137,23,255,196,224,255,205,16,255,64,219,255,28,0,255,129,247,255,199,15,255,138,215,255,90,250,254,8,222,255,102,248,254,71,228,255,178,2,255,83,230,255,109,249,254,177,225,255,183,241,254,154,245,255,115,246,254,202, +229,255,111,13,255,221,228,255,247,5,255,59,232,255,165,0,255,199,0,0,192,14,255,249,254,255,161,23,255,185,244,255,69,24,255,39,22,0,57,38,255,181,7,0,232,32,255,56,13,0,113,31,255,232,15,0,132,42,255,65,34,0,233,48,255,90,32,0,197,58,255,88,16,0,189, +45,255,77,32,0,46,50,255,16,42,0,171,50,255,146,33,0,182,42,255,141,44,0,102,45,255,209,41,0,251,45,255,36,53,0,226,39,255,148,49,0,204,14,255,5,52,0,205,16,255,200,75,0,88,33,255,23,47,0,73,5,255,235,49,0,138,33,255,174,63,0,55,18,255,148,59,0,81,28, +255,173,55,0,101,33,255,6,64,0,118,24,255,236,51,0,130,20,255,186,61,0,88,35,255,188,71,0,85,66,255,255,54,0,59,56,255,63,75,0,33,48,255,132,78,0,245,44,255,255,58,0,109,60,255,69,74,0,231,89,255,189,87,0,187,84,255,231,66,0,63,90,255,252,85,0,18,89, +255,158,90,0,27,108,255,139,89,0,158,111,255,117,117,0,153,120,255,112,130,0,5,136,255,186,120,0,191,128,255,106,133,0,162,149,255,69,139,0,119,156,255,245,147,0,230,144,255,28,164,0,157,166,255,45,151,0,14,165,255,49,183,0,52,173,255,122,169,0,8,164, +255,88,195,0,134,180,255,236,181,0,232,168,255,48,175,0,246,176,255,167,184,0,189,171,255,49,185,0,72,184,255,62,193,0,2,181,255,201,203,0,214,169,255,63,201,0,134,182,255,182,206,0,108,168,255,105,180,0,116,181,255,174,193,0,253,185,255,134,220,0,10, +190,255,230,184,0,5,205,255,25,189,0,23,194,255,200,199,0,10,184,255,57,194,0,247,186,255,82,202,0,186,192,255,231,188,0,108,168,255,152,219,0,52,173,255,58,212,0,164,167,255,250,195,0,125,147,255,226,199,0,114,171,255,0,189,0,117,136,255,152,217,0,107, +162,255,65,211,0,238,159,255,95,208,0,231,160,255,37,193,0,13,163,255,145,212,0,194,154,255,64,207,0,140,179,255,157,202,0,159,172,255,226,209,0,214,171,255,120,208,0,8,172,255,152,215,0,191,185,255,213,203,0,214,173,255,44,192,0,189,165,255,163,201, +0,253,183,255,228,223,0,208,174,255,90,217,0,23,194,255,47,224,0,210,192,255,152,217,0,216,189,255,116,227,0,28,179,255,179,235,0,166,187,255,9,222,0,117,193,255,83,206,0,102,177,255,255,239,0,53,189,255,30,237,0,211,198,255,254,237,0,129,187,255,222, +232,0,203,181,255,48,234,0,59,180,255,218,245,0,210,190,255,118,249,0,2,177,255,142,237,0,39,175,255,6,253,0,64,171,255,131,255,0,65,177,255,188,10,1,72,184,255,202,24,1,41,185,255,36,238,0,116,181,255,100,252,0,53,183,255,174,252,0,30,209,255,101,10, +1,99,206,255,32,15,1,255,211,255,82,11,1,199,204,255,250,8,1,50,210,255,146,21,1,163,216,255,56,3,1,43,209,255,114,20,1,7,225,255,158,13,1,185,247,255,128,28,1,132,229,255,150,252,0,133,231,255,164,16,1,4,254,255,71,15,1,176,228,255,226,16,1,253,242, +255,133,17,1,253,244,255,90,26,1,128,246,255,70,7,1,202,226,255,238,14,1,128,244,255,215,30,1,65,246,255,187,248,0,241,248,255,90,22,1,246,239,255,110,29,1,99,11,0,140,22,1,78,242,255,63,2,1,239,226,255,96,19,1,183,227,255,77,18,1,233,235,255,153,24, +1,189,234,255,158,19,1,46,237,255,16,40,1,27,238,255,103,34,1,189,234,255,123,43,1,222,245,255,22,35,1,227,232,255,181,60,1,190,232,255,214,16,1,39,234,255,23,39,1,208,233,255,15,28,1,31,215,255,165,18,1,49,206,255,131,255,0,241,191,255,13,4,1,223,198, +255,180,245,0,136,198,255,126,8,1,116,187,255,231,1,1,115,177,255,84,228,0,153,181,255,6,253,0,216,187,255,253,223,0,22,184,255,224,248,0,186,198,255,255,249,0,253,183,255,179,231,0,85,188,255,35,230,0,55,209,255,234,224,0,48,194,255,172,230,0,130,209, +255,129,239,0,37,210,255,240,227,0,3,189,255,192,241,0,126,224,255,48,238,0,207,219,255,100,0,1,65,236,255,250,4,1,35,247,255,215,20,1,136,3,0,95,11,1,17,2,0,188,10,1,234,245,255,228,26,1,218,12,0,67,38,1,107,26,0,88,6,1,19,24,0,180,44,1,63,33,0,3,34, +1,58,34,0,41,36,1,84,42,0,129,42,1,167,67,0,111,41,1,14,37,0,43,56,1,177,43,0,242,54,1,84,42,0,76,77,1,242,63,0,158,72,1,179,57,0,15,87,1,124,68,0,156,58,1,20,89,0,102,79,1,85,64,0,177,85,1,120,91,0,78,89,1,200,82,0,154,101,1,138,88,0,228,89,1,83,99, +0,46,82,1,133,99,0,53,97,1,239,98,0,199,106,1,146,105,0,71,82,1,51,96,0,244,70,1,35,121,0,217,101,1,48,123,0,108,76,1,116,120,0,226,73,1,129,124,0,238,67,1,123,119,0,195,74,1,48,117,0,137,59,1,103,112,0,95,74,1,242,122,0,1,73,1,9,113,0,226,71,1,149,131, +0,15,89,1,224,127,0,63,67,1,3,112,0,238,71,1,175,139,0,44,62,1,155,138,0,202,85,1,255,138,0,190,87,1,218,136,0,248,110,1,102,167,0,192,107,1,178,175,0,243,117,1,122,176,0,236,110,1,118,193,0,130,111,1,111,190,0,232,127,1,24,194,0,231,117,1,148,186,0, +188,134,1,218,203,0,239,138,1,18,201,0,253,152,1,70,215,0,63,134,1,51,214,0,222,153,1,58,221,0,234,153,1,76,218,0,235,155,1,227,228,0,142,174,1,213,214,0,23,165,1,186,247,0,173,161,1,221,221,0,197,153,1,251,220,0,97,149,1,8,221,0,136,163,1,209,231,0, +29,158,1,162,202,0,109,151,1,194,209,0,59,153,1,120,213,0,27,144,1,114,216,0,214,136,1,170,213,0,190,140,1,20,211,0,95,143,1,88,206,0,197,149,1,175,212,0,195,133,1,144,209,0,244,131,1,236,188,0,231,117,1,230,193,0,10,100,1,38,210,0,6,115,1,106,205,0, +1,130,1,33,227,0,43,123,1,137,202,0,99,110,1,192,191,0,17,105,1,75,200,0,254,105,1,126,212,0,167,103,1,217,244,0,19,127,1,57,211,0,150,122,1,220,223,0,150,118,1,34,233,0,171,141,1,73,239,0,182,127,1,99,251,0,120,143,1,67,252,0,20,137,1,206,8,1,83,143, +1,232,24,1,37,181,1,29,43,1,242,164,1,146,30,1,200,183,1,34,38,1,37,179,1,141,43,1,241,158,1,110,48,1,185,161,1,183,28,1,60,165,1,171,28,1,229,168,1,215,41,1,74,175,1,52,33,1,141,162,1,20,24,1,129,162,1,19,14,1,45,143,1,175,13,1,120,129,1,230,250,0,90, +148,1,4,250,0,125,128,1,215,234,0,37,122,1,45,215,0,155,111,1,64,216,0,255,109,1,225,202,0,104,101,1,231,209,0,78,93,1,105,193,0,138,71,1,225,208,0,20,76,1,160,182,0,141,40,1,16,175,0,199,55,1,190,175,0,27,18,1,96,164,0,228,26,1,40,169,0,61,49,1,157, +148,0,115,18,1,240,175,0,45,7,1,2,161,0,206,255,0,175,139,0,133,13,1,101,153,0,129,239,0,137,143,0,100,2,1,131,146,0,55,243,0,18,134,0,76,4,1,226,153,0,230,253,0,119,152,0,247,226,0,136,129,0,186,242,0,240,165,0,23,236,0,77,159,0,11,238,0,64,159,0,242, +241,0,53,171,0,187,248,0,144,152,0,144,255,0,29,183,0,187,248,0,171,162,0,150,252,0,67,189,0,160,234,0,77,163,0,186,246,0,213,151,0,163,4,1,143,138,0,111,242,0,219,142,0,192,237,0,37,137,0,18,249,0,137,133,0,179,233,0,99,133,0,210,234,0,154,116,0,98, +232,0,230,134,0,136,234,0,246,105,0,29,233,0,78,108,0,54,229,0,144,85,0,9,222,0,212,76,0,59,224,0,155,75,0,145,204,0,230,67,0,32,198,0,68,71,0,81,196,0,58,40,0,44,198,0,196,42,0,254,176,0,164,41,0,240,164,0,227,37,0,158,149,0,142,4,0,139,150,0,57,28, +0,113,136,0,208,30,0,250,136,0,99,5,0,27,152,0,126,35,0,236,120,0,48,3,0,44,139,0,69,24,0,242,117,0,25,21,0,193,125,0,11,9,0,36,122,0,187,15,0,91,109,0,224,11,0,49,118,0,200,21,0,198,112,0,58,34,0,73,112,0,214,35,0,216,105,0,129,53,0,99,120,0,158,44, +0,97,102,0,171,40,0,167,117,0,84,48,0,167,119,0,160,58,0,43,117,0,153,51,0,42,109,0,85,60,0,62,120,0,203,49,0,178,103,0,59,48,0,28,101,0,158,40,0,253,103,0,65,39,0,185,112,0,234,48,0,204,111,0,160,58,0,96,94,0,89,41,0,10,114,0,45,34,0,223,108,0,251,27, +0,73,116,0,125,27,0,117,115,0,71,46,0,91,105,0,106,24,0,170,90,0,62,15,0,248,112,0,170,34,0,90,99,0,235,253,255,68,117,0,175,13,0,59,98,0,2,39,0,209,94,0,142,10,0,96,94,0,74,11,0,14,87,0,99,13,0,253,97,0,87,11,0,252,89,0,31,20,0,39,85,0,73,1,0,44,76, +0,131,20,0,164,83,0,76,31,0,5,56,0,232,32,0,19,74,0,254,61,0,11,53,0,176,31,0,49,63,0,51,33,0,235,53,0,227,33,0,19,74,0,25,23,0,18,62,0,189,37,0,79,52,0,95,38,0,73,53,0,146,40,0,198,59,0,58,44,0,5,60,0,17,65,0,62,63,0,59,56,0,7,78,0,160,64,0,43,58,0, +254,57,0,137,63,0,206,73,0,250,71,0,137,80,0,112,73,0,41,61,0,238,75,0,195,93,0,124,61,0,80,75,0,162,69,0,86,70,0,114,83,0,227,100,0,124,61,0,87,74,0,119,72,0,150,86,0,176,81,0,201,98,0,120,86,0,189,90,0,213,79,0,126,98,0,127,93,0,235,113,0,109,98,0, +210,121,0,221,98,0,8,101,0,102,91,0,123,123,0,15,99,0,14,151,0,171,94,0,206,140,0,190,97,0,43,134,0,230,117,0,227,159,0,116,103,0,86,133,0,130,125,0,83,158,0,190,97,0,139,153,0,25,134,0,35,180,0,230,121,0,59,170,0,167,117,0,53,165,0,137,132,0,241,179, +0,74,128,0,240,175,0,149,130,0,47,168,0,212,126,0,86,188,0,200,138,0,178,173,0,119,141,0,92,185,0,145,143,0,234,178,0,177,148,0,207,154,0,45,145,0,97,174,0,26,142,0,253,173,0,145,143,0,11,192,0,177,148,0,67,183,0,38,138,0,9,168,0,182,137,0,158,164,0, +44,135,0,2,161,0,62,126,0,46,166,0,68,123,0,69,144,0,73,106,0,226,151,0,224,126,0,214,153,0,135,116,0,150,139,0,160,106,0,62,137,0,5,125,0,119,146,0,43,125,0,146,172,0,60,104,0,125,143,0,172,106,0,63,143,0,180,123,0,139,161,0,136,124,0,187,141,0,30,121, +0,221,166,0,134,102,0,201,155,0,95,141,0,240,175,0,100,136,0,123,182,0,38,132,0,211,188,0,156,131,0,129,187,0,182,141,0,113,214,0,226,140,0,43,201,0,234,157,0,150,208,0,51,142,0,234,227,0,197,163,0,104,236,0,22,157,0,145,223,0,171,155,0,95,217,0,116, +166,0,220,223,0,66,164,0,108,227,0,245,149,0,170,223,0,151,150,0,239,220,0,115,154,0,64,224,0,8,151,0,6,207,0,206,129,0,169,205,0,175,132,0,180,201,0,129,115,0,78,173,0,238,134,0,116,181,0,93,125,0,222,178,0,41,111,0,219,146,0,97,106,0,213,147,0,10,106, +0,100,143,0,46,90,0,12,139,0,70,80,0,17,122,0,12,65,0,216,110,0,98,59,0,239,90,0,242,48,0,39,94,0,221,33,0,19,83,0,21,37,0,192,65,0,220,21,0,141,61,0,226,18,0,25,80,0,116,243,255,48,60,0,134,234,255,16,55,0,47,244,255,165,39,0,41,243,255,233,44,0,208, +216,255,225,76,0,120,216,255,154,67,0,135,236,255,30,71,0,234,224,255,168,77,0,45,218,255,243,77,0,195,214,255,131,79,0,54,243,255,51,94,0,116,233,255,195,97,0,40,233,255,220,93,0,15,229,255,78,108,0,9,234,255,120,97,0,9,232,255,134,109,0,236,252,255, +137,76,0,67,245,255,214,96,0,104,243,255,226,88,0,159,232,255,237,78,0,223,252,255,139,104,0,204,249,255,124,72,0,221,228,255,51,92,0,115,225,255,75,84,0,196,228,255,116,61,0,139,221,255,229,59,0,50,213,255,228,51,0,66,237,255,42,63,0,196,226,255,85, +58,0,220,220,255,34,52,0,121,222,255,40,45,0,251,217,255,235,50,0,79,190,255,134,50,0,218,198,255,122,48,0,91,184,255,145,32,0,104,190,255,214,37,0,217,192,255,188,29,0,231,200,255,190,45,0,187,201,255,65,53,0,226,207,255,202,43,0,214,213,255,197,48, +0,205,190,255,216,53,0,117,182,255,241,57,0,254,180,255,148,64,0,224,187,255,187,70,0,94,212,255,79,61,0,206,200,255,147,52,0,255,194,255,65,45,0,1,211,255,67,65,0,86,191,255,139,37,0,218,200,255,171,46,0,169,208,255,15,47,0,76,211,255,88,33,0,50,207, +255,128,51,0,181,204,255,40,45,0,194,206,255,28,45,0,193,204,255,78,49,0,213,211,255,172,52,0,117,192,255,26,35,0,175,203,255,190,45,0,163,205,255,136,68,0,81,202,255,41,59,0,224,195,255,72,52,0,161,195,255,207,85,0,205,198,255,188,92,0,23,189,255,7, +89,0,246,226,255,102,102,0,68,204,255,64,94,0,46,222,255,147,113,0,1,213,255,228,110,0,15,233,255,41,118,0,146,228,255,73,129,0,162,203,255,124,131,0,227,229,255,186,129,0,72,234,255,75,139,0,148,252,255,108,156,0,86,2,0,182,154,0,25,6,0,115,165,0,162, +8,0,197,180,0,26,18,0,127,159,0,114,28,0,192,187,0,50,16,0,235,182,0,215,32,0,12,194,0,190,38,0,150,208,0,240,38,0,193,201,0,186,57,0,164,222,0,173,53,0,12,204,0,122,47,0,76,218,0,47,43,0,134,233,0,249,57,0,178,236,0,125,69,0,49,251,0,18,68,0,79,246, +0,75,71,0,165,232,0,29,48,0,60,237,0,80,58,0,42,252,0,107,74,0,116,240,0,215,42,0,202,222,0,30,58,0,28,238,0,29,50,0,218,4,1,134,45,0,215,232,0,112,63,0,98,247,0,64,30,0,208,223,0,39,26,0,7,215,0,42,50,0,225,212,0,245,21,0,219,201,0,120,23,0,213,208, +0,119,19,0,136,194,0,237,10,0,205,195,0,195,17,0,205,191,0,58,33,0,111,188,0,100,12,0,196,172,0,132,15,0,142,195,0,88,16,0,36,192,0,55,255,255,229,185,0,101,20,0,110,178,0,75,14,0,68,193,0,100,16,0,242,189,0,114,30,0,231,201,0,238,16,0,49,192,0,75,14, +0,137,202,0,120,27,0,38,206,0,163,18,0,195,223,0,134,31,0,15,222,0,195,23,0,90,228,0,40,32,0,244,207,0,84,37,0,50,210,0,30,52,0,151,220,0,109,45,0,176,214,0,165,42,0,165,228,0,179,46,0,13,202,0,95,31,0,215,228,0,77,30,0,215,224,0,234,37,0,69,209,0,10, +45,0,106,201,0,234,39,0,124,194,0,177,30,0,114,163,0,119,15,0,67,185,0,120,27,0,59,162,0,231,13,0,250,149,0,95,21,0,219,152,0,214,20,0,207,154,0,174,254,255,182,154,0,248,252,255,24,133,0,211,244,255,73,125,0,204,245,255,253,108,0,47,236,255,79,126,0, +235,240,255,172,115,0,84,234,255,115,108,0,240,221,255,114,100,0,107,214,255,114,100,0,201,211,255,232,95,0,191,184,255,194,85,0,75,207,255,99,68,0,180,188,255,249,74,0,10,183,255,86,72,0,91,184,255,54,63,0,241,180,255,51,88,0,42,186,255,48,64,0,110, +181,255,217,69,0,105,194,255,167,69,0,124,195,255,255,67,0,79,180,255,160,56,0,249,197,255,203,55,0,171,222,255,86,68,0,55,192,255,67,65,0,18,198,255,149,74,0,37,197,255,195,97,0,220,210,255,63,92,0,68,204,255,76,88,0,1,209,255,40,100,0,249,199,255,64, +96,0,89,223,255,60,115,0,58,226,255,86,129,0,246,228,255,49,135,0,115,225,255,87,137,0,34,228,255,24,125,0,4,247,255,118,136,0,18,3,0,106,142,0,203,233,255,19,142,0,123,246,255,119,152,0,177,219,255,186,127,0,72,234,255,199,137,0,4,245,255,48,117,0,60, +240,255,84,113,0,9,236,255,235,123,0,197,230,255,73,125,0,115,229,255,78,110,0,109,228,255,104,116,0,89,223,255,27,98,0,218,200,255,238,86,0,131,206,255,62,80,0,144,208,255,32,83,0,237,203,255,6,71,0,180,192,255,137,74,0,175,199,255,167,65,0,192,192, +255,124,78,0,74,197,255,59,56,0,85,181,255,54,67,0,91,184,255,185,50,0,4,184,255,52,37,0,167,186,255,248,60,0,11,195,255,72,52,0,15,166,255,4,61,0,197,181,255,135,60,0,134,165,255,168,75,0,221,163,255,100,90,0,16,174,255,151,94,0,20,157,255,94,79,0,241, +174,255,106,81,0,110,173,255,44,83,0,15,170,255,244,79,0,203,172,255,182,85,0,213,150,255,68,81,0,127,162,255,232,85,0,40,166,255,123,70,0,229,180,255,39,98,0,3,168,255,213,92,0,105,194,255,53,108,0,30,196,255,109,109,0,156,196,255,203,110,0,168,196, +255,102,96,0,150,205,255,8,99,0,200,203,255,232,89,0,17,186,255,167,67,0,88,205,255,168,81,0,1,213,255,188,86,0,113,215,255,63,90,0,131,206,255,33,97,0,244,210,255,237,76,0,61,189,255,145,97,0,112,201,255,220,93,0,200,199,255,182,91,0,213,205,255,52, +102,0,31,206,255,19,87,0,86,195,255,45,93,0,49,201,255,183,93,0,181,196,255,140,106,0,207,210,255,90,108,0,94,202,255,8,91,0,87,199,255,147,121,0,131,206,255,115,102,0,31,202,255,122,111,0,7,210,255,148,127,0,115,229,255,48,127,0,77,223,255,67,124,0, +221,224,255,42,120,0,166,239,255,25,139,0,4,241,255,87,139,0,54,249,255,208,160,0,47,234,255,242,126,0,5,255,255,31,140,0,136,250,255,37,135,0,187,0,0,122,115,0,88,16,0,198,129,0,212,0,0,71,105,0,68,3,0,190,106,0,182,11,0,202,102,0,81,7,0,220,95,0,26, +22,0,139,104,0,194,9,0,100,90,0,42,253,255,162,84,0,236,248,255,118,77,0,153,233,255,31,75,0,248,244,255,175,86,0,36,254,255,99,68,0,222,240,255,16,59,0,116,247,255,169,79,0,133,224,255,72,52,0,91,241,255,72,56,0,183,222,255,191,57,0,91,247,255,214,90, +0,208,222,255,199,68,0,243,196,255,137,80,0,73,246,255,231,77,0,40,233,255,251,92,0,209,238,255,38,82,0,36,250,255,102,102,0,223,242,255,16,108,0,156,7,0,146,107,0,162,8,0,240,108,0,200,10,0,3,116,0,238,18,0,92,128,0,32,19,0,159,105,0,221,35,0,9,103, +0,88,18,0,158,97,0,128,34,0,77,96,0,53,44,0,160,117,0,58,33,0,219,79,0,201,20,0,194,83,0,76,18,0,1,88,0,27,30,0,156,79,0,82,25,0,169,79,0,227,28,0,18,73,0,81,11,0,187,74,0,184,37,0,142,65,0,31,7,0,112,84,0,137,10,0,118,71,0,219,9,0,212,76,0,51,22,0,112, +84,0,37,8,0,250,82,0,150,10,0,120,91,0,136,2,0,232,87,0,20,15,0,218,81,0,57,15,0,134,109,0,67,245,255,82,91,0,48,248,255,166,116,0,30,255,255,160,123,0,112,4,0,122,121,0,55,1,0,71,109,0,180,255,255,116,114,0,193,3,0,179,124,0,36,252,255,116,120,0,102, +30,0,134,111,0,205,255,255,194,85,0,144,15,0,22,111,0,56,7,0,163,92,0,235,246,255,219,79,0,104,249,255,147,58,0,213,12,0,186,72,0,1,22,0,143,77,0,210,246,255,227,39,0,80,251,255,90,43,0,223,248,255,202,39,0,192,247,255,200,27,0,161,248,255,188,23,0,116, +243,255,37,21,0,92,245,255,32,26,0,71,232,255,60,253,255,72,240,255,105,6,0,165,231,255,105,2,0,220,220,255,163,25,0,64,227,255,92,6,0,172,234,255,217,6,0,46,222,255,94,20,0,252,229,255,251,25,0,119,208,255,87,17,0,59,238,255,103,51,0,227,225,255,46, +44,0,114,217,255,184,48,0,102,229,255,241,47,0,233,226,255,34,50,0,91,233,255,174,70,0,122,244,255,173,62,0,73,252,255,255,69,0,172,230,255,30,65,0,46,232,255,111,70,0,81,3,0,154,59,0,111,2,0,250,82,0,141,243,255,71,46,0,54,249,255,242,69,0,24,252,255, +116,61,0,245,17,0,117,65,0,118,5,0,171,46,0,174,250,255,213,23,0,169,15,0,14,39,0,56,13,0,113,23,0,7,9,0,99,11,0,25,6,0,40,246,255,56,11,0,187,13,0,61,254,255,147,251,255,131,11,0,159,239,255,205,251,255,221,239,255,204,249,255,207,225,255,137,8,0,141, +250,255,229,245,255,70,229,255,41,241,255,245,227,255,61,254,255,210,251,255,116,247,255,65,238,255,247,238,255,147,241,255,159,238,255,102,240,255,201,14,0,217,6,0,203,233,255,197,241,255,179,249,255,156,18,0,242,245,255,81,14,0,92,251,255,150,27,0, +137,6,0,88,29,0,37,2,0,221,44,0,11,0,0,26,31,0,26,16,0,202,43,0,180,1,0,27,41,0,225,10,0,17,63,0,82,25,0,91,55,0,164,30,0,190,47,0,9,33,0,241,47,0,223,45,0,84,52,0,67,56,0,230,71,0,205,54,0,54,57,0,10,51,0,17,63,0,211,61,0,149,68,0,39,85,0,112,78,0,225, +73,0,193,81,0,136,65,0,74,74,0,13,77,0,36,70,0,118,64,0,48,62,0,6,68,0,243,67,0,87,67,0,62,80,0,86,59,0,237,78,0,225,73,0,35,56,0,207,84,0,117,63,0,237,63,0,128,51,0,149,63,0,253,55,0,236,61,0,193,73,0,5,56,0,123,66,0,91,46,0,4,57,0,30,52,0,32,22,0,179, +46,0,234,42,0,124,57,0,97,52,0,80,58,0,89,41,0,111,55,0,34,52,0,81,66,0,96,46,0,117,54,0,75,27,0,13,75,0,76,31,0,229,56,0,171,36,0,56,70,0,239,33,0,180,62,0,119,26,0,181,70,0,82,30,0,148,59,0,68,16,0,225,75,0,239,33,0,236,59,0,180,8,0,142,62,0,127,39, +0,251,81,0,176,31,0,255,60,0,195,30,0,11,57,0,12,19,0,73,49,0,39,31,0,10,43,0,68,18,0,46,37,0,224,11,0,140,36,0,245,28,0,251,24,0,37,17,0,189,30,0,80,8,0,124,8,0,117,0,0,138,22,0,24,15,0,168,1,0,98,3,0,212,10,0,54,254,255,237,6,0,129,4,0,12,6,0,98,3, +0,87,4,0,35,255,255,137,6,0,236,7,0,27,30,0,178,242,255,1,18,0,112,21,0,214,24,0,249,9,0,39,20,0,223,253,255,235,49,0,186,255,255,190,34,0,49,11,0,29,44,0,167,10,0,152,36,0,78,252,255,247,41,0,165,246,255,184,45,0,153,244,255,185,53,0,230,2,0,197,41, +0,108,237,255,98,55,0,202,236,255,193,60,0,34,239,255,231,62,0,215,240,255,186,61,0,215,232,255,36,55,0,119,223,255,155,58,0,158,231,255,29,46,0,201,222,255,99,57,0,120,231,255,91,50,0,32,219,255,79,46,0,233,233,255,10,45,0,108,227,255,208,33,0,81,215, +255,239,20,0,162,204,255,44,17,0,17,193,255,214,30,0,179,197,255,182,19,0,216,189,255,33,25,0,110,188,255,162,4,0,28,183,255,56,9,0,148,196,255,74,254,255,174,204,255,29,243,255,166,187,255,105,253,255,223,192,255,248,248,255,137,204,255,0,14,0,81,211, +255,193,253,255,155,201,255,205,253,255,27,230,255,174,254,255,69,217,255,193,7,0,196,237,255,175,16,0,117,252,255,155,1,0,84,241,255,101,28,0,80,2,0,87,0,0,211,5,0,157,21,0,61,3,0,45,27,0,136,9,0,208,23,0,186,3,0,190,42,0,31,14,0,126,28,0,138,25,0,205, +54,0,161,5,0,35,45,0,131,18,0,135,53,0,29,4,0,222,47,0,128,248,255,79,56,0,215,242,255,167,52,0,209,235,255,141,46,0,57,225,255,178,34,0,219,217,255,98,53,0,194,215,255,9,29,0,155,209,255,46,35,0,41,185,255,126,28,0,154,193,255,15,30,0,15,173,255,246, +29,0,177,177,255,32,19,0,83,172,255,26,18,0,164,165,255,182,21,0,22,182,255,7,19,0,220,166,255,151,14,0,58,164,255,124,0,0,82,162,255,155,5,0,253,185,255,19,7,0,33,174,255,47,240,255,76,159,255,218,3,0,170,164,255,80,253,255,38,163,255,123,246,255,219, +152,255,66,241,255,195,162,255,59,238,255,164,161,255,255,251,255,250,159,255,226,221,255,91,128,255,66,241,255,5,142,255,221,226,255,81,144,255,126,221,255,199,141,255,196,226,255,99,149,255,171,228,255,67,140,255,19,208,255,67,140,255,100,209,255,159, +117,255,120,218,255,216,124,255,44,206,255,22,119,255,151,213,255,123,127,255,219,204,255,227,120,255,106,200,255,14,106,255,95,214,255,247,125,255,162,201,255,242,138,255,75,203,255,67,134,255,126,215,255,168,148,255,182,210,255,211,141,255,208,222, +255,119,150,255,208,226,255,30,142,255,189,221,255,74,141,255,59,228,255,39,167,255,103,233,255,137,149,255,65,225,255,69,154,255,16,235,255,132,156,255,203,235,255,178,179,255,23,248,255,226,165,255,197,238,255,107,162,255,129,239,255,226,163,255,53, +237,255,151,159,255,66,237,255,174,141,255,153,237,255,13,157,255,77,233,255,229,130,255,222,236,255,49,141,255,215,229,255,155,138,255,221,226,255,120,105,255,103,231,255,247,127,255,241,237,255,48,127,255,108,216,255,127,104,255,83,220,255,34,113,255, +196,226,255,175,96,255,113,209,255,168,83,255,159,238,255,75,90,255,3,229,255,87,92,255,142,251,255,107,103,255,147,238,255,90,114,255,153,231,255,126,102,255,178,231,255,25,92,255,165,231,255,52,112,255,142,255,255,165,116,255,196,232,255,208,117,255, +73,250,255,46,121,255,210,242,255,96,113,255,136,250,255,137,141,255,246,232,255,148,131,255,183,220,255,192,140,255,1,209,255,110,131,255,15,225,255,210,127,255,2,227,255,198,139,255,15,227,255,85,127,255,114,217,255,89,112,255,182,212,255,59,117,255, +25,203,255,122,125,255,121,228,255,33,115,255,114,219,255,189,104,255,45,218,255,15,116,255,232,204,255,46,107,255,182,214,255,129,130,255,237,201,255,110,127,255,126,215,255,52,104,255,83,224,255,227,112,255,162,201,255,221,109,255,89,223,255,147,123, +255,159,234,255,182,103,255,134,228,255,121,115,255,85,246,255,208,113,255,10,238,255,246,115,255,217,249,255,83,107,255,254,241,255,215,120,255,160,244,255,101,106,255,79,239,255,120,105,255,112,0,0,168,89,255,198,244,255,109,113,255,203,233,255,189, +104,255,99,254,255,158,107,255,161,248,255,170,105,255,135,242,255,186,78,255,36,248,255,99,80,255,105,1,0,55,83,255,60,242,255,65,61,255,23,244,255,214,51,255,209,230,255,146,56,255,215,229,255,53,59,255,14,219,255,111,70,255,65,225,255,188,39,255,32, +214,255,88,37,255,88,211,255,102,45,255,68,204,255,26,33,255,210,183,255,7,34,255,37,201,255,78,57,255,242,192,255,183,50,255,248,185,255,1,39,255,118,200,255,220,44,255,222,175,255,144,36,255,254,184,255,190,63,255,106,206,255,9,56,255,148,187,255,155, +81,255,11,189,255,143,79,255,24,201,255,94,95,255,231,196,255,124,86,255,218,190,255,44,91,255,206,206,255,33,115,255,106,204,255,213,102,255,170,218,255,108,101,255,143,204,255,21,121,255,118,200,255,71,115,255,81,204,255,66,124,255,107,208,255,165, +112,255,218,198,255,47,119,255,139,221,255,102,110,255,39,227,255,154,130,255,222,240,255,252,106,255,246,232,255,6,95,255,114,227,255,157,99,255,247,230,255,55,77,255,126,221,255,74,82,255,77,229,255,242,75,255,102,229,255,222,66,255,199,250,255,217, +77,255,85,244,255,178,55,255,186,254,255,185,68,255,188,6,0,252,57,255,5,245,255,128,59,255,154,245,255,153,61,255,212,4,0,40,61,255,153,241,255,147,64,255,187,4,0,118,85,255,254,249,255,22,66,255,192,245,255,192,79,255,237,0,0,50,94,255,159,31,0,207, +101,255,58,27,0,255,81,255,58,23,0,250,92,255,215,34,0,236,86,255,53,40,0,112,92,255,159,31,0,238,96,255,20,25,0,244,97,255,28,36,0,182,105,255,227,36,0,107,97,255,33,27,0,20,103,255,52,26,0,82,103,255,184,31,0,83,109,255,40,34,0,84,117,255,83,29,0,151, +96,255,228,42,0,115,114,255,103,38,0,46,115,255,213,8,0,213,98,255,7,15,0,31,95,255,202,26,0,193,91,255,195,23,0,213,100,255,162,4,0,205,81,255,225,6,0,152,112,255,31,5,0,161,80,255,27,28,0,133,107,255,13,20,0,37,92,255,25,8,0,213,92,255,114,26,0,189, +110,255,226,14,0,119,95,255,207,21,0,181,93,255,140,42,0,146,107,255,115,32,0,6,87,255,149,63,0,120,99,255,140,34,0,175,94,255,149,61,0,45,103,255,205,62,0,52,112,255,132,84,0,184,115,255,231,66,0,76,102,255,132,74,0,89,106,255,82,78,0,134,123,255,143, +60,0,38,98,255,101,81,0,82,97,255,93,70,0,6,89,255,142,62,0,218,91,255,105,58,0,25,90,255,87,71,0,44,95,255,231,66,0,94,95,255,135,49,0,184,60,255,248,45,0,147,58,255,74,57,0,240,57,255,60,43,0,1,41,255,247,47,0,116,63,255,245,21,0,163,43,255,15,36,0, +146,50,255,202,32,0,27,55,255,132,21,0,193,26,255,8,25,0,184,62,255,71,33,0,46,50,255,50,12,0,96,44,255,8,23,0,121,48,255,108,33,0,83,52,255,46,29,0,117,71,255,95,25,0,215,63,255,165,42,0,148,70,255,152,26,0,60,68,255,27,30,0,185,74,255,9,37,0,94,87, +255,95,25,0,237,90,255,210,43,0,241,71,255,4,48,0,89,106,255,173,53,0,14,108,255,179,56,0,72,125,255,217,52,0,140,114,255,80,58,0,36,133,255,237,69,0,215,112,255,111,61,0,178,122,255,238,71,0,205,140,255,132,88,0,43,148,255,14,87,0,205,142,255,177,89, +0,167,134,255,170,86,0,4,138,255,188,77,0,85,125,255,249,130,0,93,138,255,185,112,0,4,138,255,240,101,0,124,135,255,29,109,0,67,138,255,141,103,0,128,120,255,48,116,0,42,140,255,147,104,0,192,132,255,2,91,0,117,130,255,90,97,0,217,142,255,240,97,0,190, +116,255,239,89,0,178,120,255,222,100,0,85,125,255,212,73,0,228,118,255,112,67,0,9,113,255,168,66,0,251,104,255,94,76,0,245,111,255,192,58,0,7,97,255,160,47,0,193,91,255,141,40,0,200,94,255,211,59,0,26,96,255,35,45,0,114,112,255,228,40,0,201,106,255,11, +53,0,208,107,255,192,48,0,163,94,255,229,46,0,120,103,255,43,68,0,213,92,255,236,59,0,200,100,255,94,74,0,182,105,255,13,77,0,174,88,255,244,68,0,149,82,255,143,70,0,75,88,255,238,79,0,4,75,255,56,74,0,37,84,255,102,89,0,249,82,255,131,76,0,118,81,255, +220,84,0,104,61,255,88,77,0,91,69,255,195,86,0,160,72,255,47,98,0,203,65,255,207,80,0,159,60,255,244,76,0,240,55,255,241,107,0,123,70,255,169,82,0,226,41,255,123,59,0,110,62,255,169,76,0,128,63,255,201,81,0,91,65,255,124,61,0,78,59,255,37,61,0,90,55, +255,62,71,0,66,63,255,31,60,0,246,50,255,173,55,0,173,76,255,54,52,0,205,75,255,72,47,0,63,94,255,149,57,0,86,80,255,116,50,0,175,92,255,161,59,0,53,126,255,110,47,0,232,101,255,97,45,0,57,103,255,242,58,0,142,130,255,254,48,0,221,119,255,206,68,0,236, +139,255,188,75,0,72,125,255,137,67,0,103,118,255,32,72,0,111,143,255,124,61,0,221,119,255,159,94,0,16,124,255,220,90,0,73,135,255,125,79,0,128,126,255,221,96,0,97,129,255,27,91,0,89,112,255,84,96,0,61,139,255,29,107,0,85,121,255,247,100,0,46,117,255, +241,113,0,116,132,255,86,120,0,197,123,255,123,122,0,209,119,255,197,110,0,108,115,255,79,111,0,189,108,255,196,94,0,151,106,255,103,103,0,165,120,255,71,96,0,1,102,255,0,73,0,201,98,255,70,88,0,177,110,255,68,68,0,157,103,255,205,62,0,83,105,255,55, +62,0,213,106,255,205,62,0,58,105,255,180,54,0,33,105,255,230,58,0,60,121,255,59,41,0,21,121,255,184,45,0,69,95,255,247,43,0,16,126,255,85,51,0,85,131,255,103,44,0,228,128,255,72,37,0,135,129,255,4,44,0,184,119,255,6,68,0,228,128,255,218,66,0,5,140,255, +213,71,0,196,115,255,105,62,0,248,137,255,255,58,0,46,107,255,127,89,0,16,126,255,88,81,0,104,130,255,194,82,0,52,112,255,206,76,0,47,129,255,193,60,0,141,118,255,31,74,0,246,123,255,136,59,0,110,121,255,230,58,0,221,119,255,210,49,0,170,107,255,23,49, +0,127,110,255,140,42,0,133,111,255,222,37,0,46,107,255,79,56,0,122,129,255,240,32,0,102,114,255,198,51,0,2,112,255,126,28,0,97,121,255,176,18,0,134,117,255,202,30,0,189,106,255,83,27,0,134,115,255,89,30,0,48,127,255,120,21,0,37,155,255,16,42,0,18,144, +255,29,46,0,250,155,255,162,67,0,121,176,255,160,53,0,177,171,255,68,68,0,116,187,255,179,52,0,151,165,255,8,88,0,157,215,255,167,54,0,240,181,255,14,91,0,10,198,255,106,70,0,4,201,255,39,87,0,155,199,255,13,79,0,230,203,255,132,88,0,217,201,255,127, +95,0,117,199,255,15,95,0,212,212,255,158,96,0,30,205,255,236,114,0,218,205,255,22,108,0,198,192,255,228,97,0,234,188,255,58,90,0,235,186,255,22,98,0,123,196,255,214,83,0,4,187,255,189,83,0,205,205,255,13,77,0,210,192,255,231,76,0,30,199,255,64,85,0,17, +203,255,57,78,0,135,194,255,145,86,0,219,215,255,243,64,0,254,199,255,251,81,0,112,212,255,144,76,0,206,213,255,25,77,0,48,198,255,164,89,0,204,193,255,150,69,0,24,208,255,213,71,0,150,210,255,12,71,0,24,212,255,188,77,0,112,208,255,130,64,0,170,221, +255,229,52,0,123,190,255,167,54,0,161,198,255,86,61,0,85,190,255,55,60,0,79,195,255,185,53,0,170,168,255,91,50,0,104,191,255,229,46,0,109,182,255,115,32,0,38,163,255,114,30,0,8,168,255,247,37,0,165,177,255,215,32,0,19,156,255,221,25,0,253,187,255,156, +9,0,134,176,255,37,6,0,70,172,255,182,25,0,76,169,255,45,27,0,221,172,255,244,15,0,171,172,255,202,26,0,71,180,255,15,30,0,84,178,255,79,249,255,233,174,255,118,11,0,35,194,255,46,29,0,78,189,255,157,11,0,99,206,255,94,13,0,227,230,255,238,18,0,184,241, +255,238,18,0,114,232,255,163,22,0,210,249,255,38,14,0,97,241,255,87,14,0,210,253,255,254,42,0,17,4,0,158,33,0,38,29,0,110,43,0,231,16,0,177,28,0,227,41,0,111,57,0,93,8,0,24,61,0,230,12,0,99,61,0,169,24,0,219,68,0,164,33,0,238,75,0,163,25,0,138,75,0,219, +26,0,81,70,0,93,18,0,125,69,0,75,19,0,186,55,0,238,25,0,79,46,0,30,6,0,237,67,0,155,6,0,66,44,0,247,245,255,190,42,0,22,251,255,95,27,0,177,236,255,251,24,0,164,230,255,150,10,0,38,216,255,175,6,0,233,237,255,100,14,0,208,231,255,13,14,0,178,238,255, +17,247,255,144,223,255,49,4,0,83,233,255,185,246,255,21,239,255,80,255,255,164,230,255,25,8,0,184,243,255,62,4,0,135,251,255,100,14,0,162,21,0,131,9,0,156,20,0,24,0,0,143,18,0,195,23,0,25,17,0,186,2,0,202,41,0,69,13,0,58,40,0,146,31,0,121,44,0,139,26, +0,172,54,0,208,23,0,102,43,0,154,46,0,148,64,0,151,28,0,62,84,0,8,31,0,225,82,0,146,33,0,181,73,0,116,44,0,187,74,0,184,45,0,56,83,0,217,52,0,219,85,0,90,42,0,174,70,0,134,39,0,113,86,0,142,54,0,83,103,0,159,37,0,19,81,0,96,29,0,213,92,0,147,41,0,107, +85,0,114,30,0,170,95,0,201,20,0,6,79,0,58,31,0,194,83,0,234,31,0,142,65,0,101,20,0,50,86,0,236,2,0,73,60,0,24,2,0,98,70,0,217,245,255,185,58,0,198,248,255,42,69,0,237,0,0,79,67,0,155,1,0,80,65,0,179,249,255,167,67,0,242,251,255,212,74,0,121,222,255,235, +56,0,103,235,255,196,40,0,221,228,255,190,45,0,164,223,255,21,44,0,246,226,255,5,65,0,58,222,255,65,45,0,147,238,255,109,48,0,28,237,255,214,37,0,65,231,255,253,51,0,240,221,255,77,43,0,72,236,255,80,69,0,46,232,255,5,63,0,21,232,255,30,69,0,73,242,255, +242,63,0,116,241,255,136,62,0,129,243,255,212,74,0,192,247,255,255,71,0,72,244,255,118,73,0,142,249,255,220,91,0,188,8,0,31,79,0,43,5,0,89,94,0,5,251,255,123,70,0,137,4,0,125,82,0,20,21,0,151,88,0,151,18,0,50,80,0,105,5,0,26,96,0,215,38,0,100,80,0,80, +255,255,200,80,0,176,22,0,177,106,0,240,28,0,129,124,0,202,28,0,241,118,0,188,22,0,178,112,0,21,27,0,253,108,0,107,19,0,18,128,0,126,20,0,62,139,0,203,34,0,181,144,0,58,29,0,163,151,0,46,31,0,76,151,0,0,14,0,52,159,0,96,35,0,233,166,0,184,35,0,52,161, +0,135,43,0,6,199,0,151,28,0,37,196,0,134,41,0,24,194,0,122,45,0,68,191,0,229,46,0,148,188,0,72,41,0,243,199,0,97,47,0,74,192,0,59,35,0,186,188,0,172,41,0,149,204,0,103,44,0,195,213,0,159,35,0,51,218,0,147,41,0,224,200,0,104,50,0,7,213,0,234,39,0,62,204, +0,72,37,0,250,206,0,128,42,0,100,204,0,90,38,0,213,208,0,34,39,0,32,215,0,246,29,0,221,231,0,197,45,0,27,226,0,81,66,0,76,208,0,53,44,0,83,213,0,231,62,0,134,229,0,203,44,0,81,207,0,109,45,0,39,216,0,197,47,0,152,226,0,166,44,0,200,204,0,147,45,0,244, +211,0,58,29,0,157,211,0,155,60,0,45,215,0,23,51,0,163,210,0,30,62,0,90,222,0,160,43,0,188,210,0,234,35,0,223,192,0,241,40,0,255,187,0,27,26,0,162,200,0,176,24,0,54,181,0,244,13,0,146,166,0,74,2,0,118,193,0,168,7,0,110,176,0,182,17,0,123,192,0,98,250, +255,9,170,0,37,2,0,9,170,0,203,235,255,214,161,0,60,242,255,120,160,0,21,228,255,188,155,0,147,230,255,249,133,0,209,232,255,243,134,0,162,207,255,155,132,0,1,209,255,36,133,0,169,206,255,73,123,0,188,207,255,135,113,0,60,187,255,36,129,0,76,211,255, +124,135,0,0,201,255,236,125,0,74,197,255,30,132,0,44,206,255,0,137,0,43,200,255,193,138,0,86,195,255,144,146,0,25,199,255,32,152,0,131,206,255,151,161,0,68,204,255,140,165,0,237,197,255,77,161,0,162,201,255,197,176,0,244,206,255,170,160,0,29,184,255, +64,157,0,180,190,255,47,168,0,228,178,255,176,155,0,24,201,255,46,166,0,193,190,255,1,145,0,55,188,255,138,155,0,92,186,255,112,147,0,184,171,255,1,153,0,192,182,255,160,119,0,206,206,255,237,137,0,167,186,255,86,129,0,192,192,255,148,129,0,179,180,255, +237,133,0,179,180,255,241,118,0,230,188,255,23,127,0,10,177,255,228,112,0,46,173,255,171,103,0,156,196,255,9,107,0,159,171,255,145,97,0,134,169,255,127,100,0,240,170,255,29,114,0,7,155,255,196,99,0,126,154,255,32,93,0,138,146,255,24,70,0,227,162,255, +243,81,0,32,145,255,106,77,0,64,154,255,107,85,0,61,126,255,24,66,0,18,139,255,242,65,0,92,133,255,118,75,0,23,120,255,117,65,0,27,107,255,97,58,0,202,99,255,204,53,0,158,98,255,179,59,0,89,101,255,99,72,0,126,93,255,222,52,0,58,98,255,97,54,0,234,108, +255,235,58,0,246,104,255,104,63,0,126,95,255,209,52,0,77,101,255,174,70,0,9,110,255,166,51,0,115,105,255,226,84,0,211,128,255,100,76,0,179,121,255,49,72,0,248,124,255,7,93,0,205,135,255,232,95,0,92,127,255,96,105,0,118,137,255,237,78,0,241,121,255,46, +107,0,138,150,255,20,95,0,163,148,255,121,103,0,88,150,255,64,100,0,137,138,255,189,104,0,146,159,255,251,92,0,82,155,255,49,78,0,175,140,255,250,80,0,1,154,255,108,103,0,200,144,255,188,92,0,43,141,255,216,55,0,252,166,255,69,83,0,19,143,255,110,58, +0,244,149,255,223,56,0,0,144,255,177,41,0,137,138,255,246,40,0,199,134,255,16,53,0,198,126,255,144,24,0,117,133,255,20,32,0,24,128,255,87,21,0,246,106,255,232,22,0,202,101,255,144,16,0,89,91,255,142,2,0,228,107,255,181,10,0,77,99,255,123,3,0,94,80,255, +36,3,0,163,87,255,246,241,255,176,85,255,186,255,255,179,56,255,90,246,255,236,75,255,209,243,255,172,55,255,159,239,255,136,73,255,152,240,255,229,64,255,116,248,255,167,64,255,242,6,0,112,71,255,167,4,0,249,71,255,242,6,0,26,85,255,104,0,0,1,85,255, +187,21,0,180,72,255,24,5,0,69,90,255,44,20,0,182,92,255,6,16,0,146,102,255,238,19,0,95,94,255,25,19,0,226,101,255,125,19,0,121,102,255,56,18,0,58,100,255,104,4,0,102,97,255,199,15,0,88,85,255,210,1,0,65,105,255,87,15,0,184,106,255,237,13,0,20,92,255, +211,9,0,106,84,255,99,9,0,219,92,255,78,248,255,76,85,255,202,234,255,207,88,255,60,247,255,165,99,255,123,1,0,45,98,255,47,245,255,2,103,255,102,236,255,2,103,255,171,237,255,6,84,255,78,242,255,95,92,255,24,5,0,239,97,255,48,7,0,222,116,255,229,0,0, +121,106,255,32,26,0,123,116,255,158,34,0,222,112,255,119,26,0,146,106,255,39,39,0,15,107,255,20,32,0,153,115,255,208,38,0,48,122,255,151,29,0,42,129,255,78,53,0,4,127,255,54,59,0,112,144,255,136,68,0,125,150,255,229,53,0,245,161,255,199,78,0,183,157, +255,249,78,0,121,165,255,180,69,0,139,154,255,218,67,0,47,171,255,39,94,0,242,188,255,201,98,0,148,187,255,214,94,0,81,196,255,153,110,0,184,175,255,22,109,0,36,189,255,197,115,0,218,194,255,88,92,0,95,216,255,91,120,0,168,204,255,210,117,0,170,218,255, +205,138,0,168,204,255,85,121,0,1,213,255,1,149,0,165,225,255,201,161,0,32,212,255,200,149,0,103,231,255,231,136,0,247,234,255,172,176,0,79,239,255,46,166,0,84,232,255,71,162,0,73,248,255,248,184,0,102,225,255,54,181,0,98,250,255,22,168,0,229,249,255, +236,194,0,112,6,0,168,193,0,130,253,255,224,198,0,185,246,255,28,175,0,101,22,0,29,187,0,112,6,0,130,195,0,137,10,0,197,176,0,124,4,0,55,185,0,24,254,255,138,155,0,1,16,0,252,169,0,73,252,255,119,146,0,23,246,255,100,149,0,248,242,255,25,137,0,40,229, +255,104,124,0,48,246,255,172,111,0,177,223,255,140,106,0,42,247,255,96,107,0,198,244,255,90,106,0,170,220,255,145,97,0,106,204,255,69,87,0,118,194,255,169,87,0,74,197,255,174,74,0,141,174,255,41,53,0,81,196,255,203,55,0,71,173,255,96,40,0,127,162,255, +181,24,0,152,160,255,208,36,0,181,137,255,162,17,0,226,150,255,86,3,0,174,128,255,204,254,255,130,131,255,99,13,0,85,118,255,254,252,255,29,127,255,153,242,255,35,114,255,71,243,255,98,124,255,172,241,255,124,128,255,89,230,255,65,107,255,120,229,255, +47,114,255,143,209,255,217,131,255,51,232,255,111,128,255,253,242,255,124,128,255,183,233,255,187,138,255,153,246,255,194,139,255,134,245,255,151,152,255,78,244,255,188,146,255,21,237,255,56,141,255,190,242,255,71,159,255,109,243,255,189,156,255,178, +246,255,207,151,255,70,221,255,170,155,255,196,229,255,76,148,255,83,233,255,162,138,255,6,213,255,95,151,255,129,193,255,178,172,255,28,185,255,167,129,255,240,175,255,55,131,255,107,162,255,125,150,255,144,150,255,235,120,255,176,159,255,134,108,255, +183,164,255,226,95,255,61,133,255,177,101,255,209,125,255,206,80,255,34,119,255,149,71,255,83,105,255,17,64,255,64,108,255,69,84,255,121,107,255,23,57,255,218,85,255,177,40,255,193,89,255,232,35,255,128,63,255,126,26,255,128,63,255,119,19,255,24,80,255, +42,3,255,147,62,255,91,245,254,120,40,255,11,0,255,210,68,255,10,250,254,40,57,255,164,233,254,45,46,255,95,228,254,159,56,255,114,231,254,84,56,255,70,222,254,245,48,255,176,227,254,115,51,255,100,217,254,220,46,255,130,206,254,231,34,255,213,225,254, +9,60,255,64,221,254,69,38,255,127,233,254,92,67,255,202,237,254,253,61,255,219,226,254,215,57,255,140,237,254,104,65,255,159,246,254,230,85,255,29,253,254,191,69,255,130,9,255,168,89,255,132,23,255,224,86,255,74,2,255,81,89,255,2,44,255,75,90,255,89, +34,255,107,97,255,43,13,255,36,70,255,31,15,255,236,72,255,133,35,255,31,89,255,177,40,255,179,77,255,90,40,255,248,72,255,243,17,255,40,51,255,60,57,255,10,68,255,16,52,255,227,49,255,109,43,255,40,61,255,97,45,255,228,61,255,103,46,255,13,37,255,110, +61,255,79,75,255,110,51,255,135,66,255,90,44,255,15,61,255,8,31,255,246,56,255,11,65,255,178,65,255,69,27,255,172,68,255,40,40,255,230,79,255,139,34,255,152,51,255,58,41,255,87,84,255,13,26,255,11,76,255,214,40,255,129,65,255,6,15,255,223,70,255,95,29, +255,225,100,255,86,6,255,154,71,255,95,35,255,6,89,255,51,36,255,44,87,255,112,14,255,132,93,255,218,13,255,246,60,255,56,21,255,217,77,255,125,24,255,122,62,255,7,33,255,96,52,255,68,13,255,42,71,255,238,22,255,30,73,255,52,34,255,253,63,255,94,27,255, +32,44,255,77,38,255,222,66,255,9,49,255,28,59,255,77,44,255,91,63,255,72,53,255,251,45,255,222,53,255,21,52,255,153,50,255,63,33,255,10,59,255,206,30,255,86,69,255,32,38,255,249,67,255,70,46,255,224,81,255,189,41,255,31,80,255,21,50,255,57,88,255,178, +61,255,181,76,255,160,74,255,152,93,255,117,73,255,93,76,255,17,77,255,182,90,255,230,81,255,95,98,255,154,67,255,188,87,255,190,59,255,81,84,255,44,97,255,113,93,255,120,109,255,243,84,255,106,91,255,144,82,255,183,113,255,188,85,255,246,117,255,199, +77,255,108,101,255,220,90,255,33,111,255,249,77,255,87,92,255,128,105,255,159,113,255,170,94,255,119,97,255,14,91,255,103,118,255,251,91,255,194,99,255,203,113,255,53,120,255,34,110,255,239,108,255,234,108,255,1,102,255,183,104,255,174,88,255,226,101, +255,213,96,255,20,102,255,174,84,255,214,101,255,17,75,255,71,104,255,211,78,255,46,100,255,0,88,255,85,120,255,123,64,255,54,117,255,56,89,255,159,108,255,92,71,255,22,118,255,55,83,255,134,106,255,124,86,255,110,116,255,175,94,255,53,109,255,217,73, +255,193,135,255,186,82,255,42,123,255,101,100,255,192,127,255,225,100,255,166,115,255,175,90,255,97,114,255,195,101,255,22,116,255,139,108,255,16,115,255,119,93,255,65,103,255,2,118,255,161,126,255,83,105,255,71,110,255,176,102,255,92,129,255,78,116, +255,181,143,255,86,133,255,179,127,255,228,124,255,110,124,255,155,136,255,57,153,255,186,141,255,75,144,255,148,133,255,46,159,255,107,156,255,121,163,255,248,143,255,100,150,255,25,151,255,254,188,255,76,163,255,148,179,255,176,165,255,56,200,255,234, +184,255,103,174,255,108,164,255,150,207,255,145,168,255,112,207,255,158,164,255,139,213,255,58,164,255,232,212,255,120,172,255,121,226,255,133,174,255,138,211,255,96,176,255,98,189,255,213,163,255,71,222,255,95,168,255,114,213,255,114,171,255,31,210, +255,101,161,255,93,198,255,125,147,255,48,189,255,49,149,255,29,186,255,174,149,255,128,178,255,236,135,255,179,176,255,255,138,255,92,188,255,130,136,255,120,161,255,192,136,255,165,166,255,173,131,255,145,161,255,97,125,255,114,154,255,140,120,255, +175,142,255,221,109,255,162,136,255,108,111,255,213,150,255,138,100,255,18,135,255,126,100,255,181,141,255,13,104,255,43,135,255,43,83,255,1,152,255,16,128,255,113,150,255,176,108,255,162,134,255,63,94,255,42,133,255,10,127,255,1,152,255,96,117,255,144, +145,255,232,101,255,200,142,255,197,123,255,125,146,255,15,110,255,214,160,255,16,122,255,139,154,255,109,123,255,250,144,255,230,138,255,128,168,255,154,132,255,84,171,255,22,129,255,247,179,255,118,146,255,11,189,255,122,121,255,60,187,255,79,132,255, +184,167,255,171,117,255,103,168,255,134,115,255,65,170,255,48,131,255,102,170,255,214,104,255,134,171,255,251,102,255,53,178,255,118,81,255,215,166,255,11,84,255,201,152,255,56,87,255,171,165,255,88,90,255,164,154,255,237,90,255,69,147,255,67,67,255, +88,150,255,5,77,255,218,135,255,42,67,255,144,149,255,215,53,255,144,139,255,196,50,255,231,141,255,247,64,255,43,131,255,3,61,255,187,134,255,177,53,255,180,129,255,247,62,255,118,137,255,27,51,255,55,125,255,77,55,255,141,113,255,96,48,255,232,98,255, +109,56,255,253,113,255,114,49,255,161,122,255,251,41,255,90,103,255,213,43,255,255,127,255,17,67,255,65,113,255,200,37,255,246,106,255,90,47,255,86,128,255,188,43,255,22,112,255,193,26,255,60,124,255,170,46,255,109,102,255,168,32,255,66,115,255,182,42, +255,42,123,255,238,35,255,221,104,255,31,26,255,202,101,255,63,31,255,133,94,255,163,35,255,34,112,255,88,35,255,27,97,255,245,42,255,182,86,255,212,21,255,232,98,255,145,46,255,194,84,255,188,35,255,57,86,255,12,27,255,71,100,255,161,23,255,152,93,255, +145,42,255,44,90,255,156,34,255,140,103,255,152,53,255,52,107,255,202,47,255,46,106,255,170,52,255,247,114,255,240,55,255,78,115,255,216,65,255,5,139,255,248,72,255,123,120,255,107,93,255,74,138,255,106,89,255,139,156,255,221,117,255,81,139,255,71,113, +255,115,170,255,141,132,255,190,166,255,143,142,255,83,163,255,192,140,255,9,171,255,19,160,255,125,207,255,78,181,255,54,190,255,28,179,255,176,213,255,162,208,255,249,197,255,55,209,255,88,213,255,237,210,255,96,222,255,6,211,255,171,226,255,175,212, +255,23,246,255,69,219,255,128,241,255,0,218,255,3,239,255,7,225,255,197,240,255,45,221,255,78,241,255,82,219,255,53,235,255,144,213,255,166,239,255,175,212,255,34,234,255,236,202,255,134,234,255,92,203,255,210,242,255,87,214,255,78,241,255,117,197,255, +46,232,255,28,179,255,153,241,255,46,180,255,254,239,255,145,168,255,77,233,255,102,173,255,79,245,255,58,164,255,43,204,255,14,175,255,127,219,255,77,175,255,121,228,255,58,172,255,121,232,255,165,173,255,115,229,255,165,177,255,157,218,255,134,180, +255,178,235,255,196,176,255,208,220,255,85,188,255,197,240,255,248,200,255,72,234,255,255,211,255,22,234,255,200,212,255,24,252,255,222,247,255,112,4,0,134,245,255,95,21,0,74,11,0,86,2,0,180,12,0,202,28,0,157,28,0,158,23,0,169,22,0,31,11,0,176,35,0,66, +50,0,72,48,0,93,68,0,180,75,0,61,53,0,41,55,0,54,46,0,105,75,0,136,59,0,217,63,0,38,73,0,86,72,0,245,82,0,74,76,0,164,93,0,145,93,0,223,112,0,34,109,0,35,100,0,119,89,0,71,96,0,245,91,0,68,127,0,40,100,0,156,133,0,89,98,0,86,118,0,202,106,0,228,107,0, +118,73,0,7,141,0,19,83,0,236,124,0,19,77,0,186,122,0,119,89,0,38,142,0,117,67,0,167,111,0,241,57,0,11,122,0,231,73,0,24,124,0,15,41,0,75,136,0,85,56,0,243,133,0,102,43,0,192,115,0,207,32,0,106,133,0,155,65,0,217,121,0,177,43,0,94,135,0,225,76,0,33,147, +0,35,56,0,1,142,0,123,70,0,187,136,0,175,82,0,32,137,0,62,74,0,53,168,0,253,108,0,128,166,0,209,111,0,172,165,0,115,108,0,191,176,0,30,122,0,253,170,0,161,125,0,147,169,0,49,129,0,3,162,0,236,135,0,147,169,0,150,143,0,245,208,0,126,151,0,75,189,0,102, +159,0,130,178,0,137,141,0,93,188,0,102,159,0,236,187,0,94,150,0,185,171,0,87,139,0,155,184,0,1,153,0,173,179,0,220,154,0,210,175,0,239,157,0,147,165,0,75,147,0,215,164,0,7,152,0,229,174,0,207,148,0,205,182,0,125,139,0,154,178,0,206,136,0,53,168,0,43, +136,0,223,177,0,173,123,0,111,181,0,194,146,0,67,172,0,174,133,0,206,196,0,150,139,0,223,181,0,245,150,0,137,189,0,169,146,0,130,182,0,79,122,0,207,206,0,111,135,0,118,188,0,224,137,0,125,193,0,38,143,0,7,204,0,176,147,0,111,185,0,119,148,0,24,187,0, +195,150,0,93,190,0,32,152,0,94,198,0,65,163,0,63,195,0,225,149,0,182,206,0,116,177,0,189,211,0,114,167,0,245,210,0,110,182,0,40,221,0,199,200,0,148,232,0,244,205,0,153,225,0,225,204,0,17,241,0,163,212,0,160,230,0,149,198,0,30,243,0,205,197,0,99,246,0, +157,207,0,188,4,1,247,233,0,199,252,0,243,199,0,242,239,0,157,217,0,186,240,0,8,223,0,145,11,1,224,198,0,77,26,1,190,224,0,177,22,1,95,217,0,77,16,1,46,227,0,164,16,1,158,223,0,90,26,1,152,222,0,184,25,1,151,224,0,182,9,1,66,234,0,3,28,1,85,237,0,253, +26,1,118,4,1,114,12,1,73,245,0,84,31,1,205,2,1,201,12,1,130,2,1,14,20,1,163,15,1,113,4,1,23,243,0,214,18,1,237,3,1,125,6,1,91,230,0,240,26,1,84,235,0,121,21,1,72,233,0,39,16,1,3,234,0,209,29,1,167,248,0,78,34,1,36,249,0,179,42,1,8,227,0,235,35,1,240, +228,0,17,42,1,154,242,0,129,40,1,228,234,0,54,38,1,153,236,0,141,32,1,115,226,0,119,58,1,139,222,0,172,37,1,27,224,0,100,55,1,46,227,0,166,36,1,245,213,0,235,39,1,139,226,0,34,21,1,255,197,0,55,48,1,131,203,0,97,37,1,145,213,0,3,30,1,13,202,0,84,31,1, +24,198,0,107,9,1,162,204,0,153,24,1,212,196,0,165,22,1,151,218,0,226,10,1,235,182,0,41,30,1,63,202,0,168,253,0,155,193,0,132,7,1,101,216,0,134,21,1,126,210,0,75,0,1,113,208,0,13,12,1,215,228,0,22,27,1,126,214,0,227,20,1,220,217,0,202,22,1,83,223,0,171, +21,1,103,238,0,253,32,1,254,248,0,190,26,1,173,245,0,129,46,1,50,3,1,248,41,1,137,9,1,212,61,1,80,248,0,193,54,1,117,252,0,156,56,1,74,255,0,15,89,1,226,17,1,55,54,1,250,5,1,21,78,1,196,28,1,71,84,1,157,14,1,170,80,1,111,255,0,91,93,1,137,5,1,135,92, +1,69,10,1,0,118,1,181,16,1,135,100,1,42,248,0,229,99,1,168,4,1,42,111,1,101,17,1,248,104,1,161,255,0,100,122,1,243,6,1,205,117,1,154,248,0,8,143,1,180,4,1,131,123,1,73,243,0,18,123,1,87,7,1,131,119,1,184,237,0,61,110,1,100,3,1,50,122,1,84,231,0,186,100, +1,153,236,0,91,97,1,90,232,0,129,95,1,91,240,0,40,91,1,245,217,0,128,87,1,51,218,0,233,78,1,39,218,0,143,60,1,238,204,0,14,75,1,249,190,0,87,59,1,180,197,0,193,54,1,134,174,0,204,44,1,54,187,0,236,53,1,55,195,0,200,65,1,98,190,0,79,36,1,178,173,0,192, +44,1,65,169,0,241,38,1,203,175,0,19,58,1,152,165,0,168,56,1,145,156,0,4,42,1,108,160,0,43,54,1,64,155,0,42,52,1,163,145,0,12,57,1,187,143,0,155,48,1,157,152,0,101,69,1,139,153,0,19,58,1,14,155,0,11,49,1,15,159,0,90,18,1,142,132,0,123,45,1,20,156,0,91, +40,1,180,134,0,114,16,1,38,145,0,165,22,1,180,132,0,78,28,1,248,119,0,13,4,1,74,137,0,77,20,1,140,112,0,157,9,1,167,122,0,83,19,1,65,106,0,166,30,1,154,124,0,50,252,0,204,116,0,195,13,1,154,116,0,76,4,1,48,121,0,245,15,1,27,100,0,75,252,0,153,118,0,81, +255,0,154,120,0,101,4,1,145,101,0,102,22,1,69,87,0,1,8,1,108,93,0,120,17,1,34,107,0,230,253,0,193,73,0,239,18,1,61,68,0,84,21,1,86,66,0,206,251,0,40,47,0,213,4,1,59,42,0,163,2,1,90,45,0,44,251,0,145,28,0,105,237,0,119,24,0,198,234,0,107,32,0,168,247, +0,214,31,0,55,237,0,182,28,0,17,239,0,84,42,0,36,242,0,221,40,0,72,226,0,177,43,0,3,225,0,208,34,0,53,221,0,121,36,0,252,221,0,46,50,0,204,237,0,22,56,0,153,221,0,29,57,0,141,225,0,56,79,0,65,219,0,224,72,0,61,234,0,143,75,0,134,220,0,36,66,0,35,226, +0,5,69,0,241,233,0,50,84,0,201,213,0,229,53,0,171,216,0,135,64,0,217,239,0,249,70,0,253,229,0,146,40,0,41,229,0,78,53,0,217,241,0,184,48,0,129,229,0,232,32,0,110,228,0,130,10,0,54,235,0,44,24,0,240,219,0,213,23,0,28,231,0,232,28,0,102,219,0,154,4,0,158, +214,0,140,240,255,246,218,0,255,4,0,247,228,0,140,232,255,171,214,0,64,230,255,108,212,0,108,233,255,218,188,0,193,205,255,195,212,0,157,215,255,43,188,0,249,206,255,150,191,0,192,193,255,210,179,0,203,183,255,99,181,0,235,186,255,248,181,0,4,187,255, +197,173,0,166,185,255,212,185,0,4,191,255,34,159,0,115,177,255,20,151,0,154,187,255,164,150,0,203,179,255,34,165,0,165,183,255,32,141,0,33,168,255,8,151,0,102,173,255,159,157,0,133,170,255,72,165,0,158,164,255,171,151,0,164,169,255,201,140,0,211,143, +255,101,148,0,100,153,255,132,147,0,54,134,255,28,160,0,155,138,255,243,127,0,216,128,255,124,124,0,185,129,255,104,113,0,96,115,255,153,101,0,50,94,255,234,94,0,183,109,255,231,76,0,125,92,255,100,75,0,1,96,255,161,65,0,162,86,255,143,64,0,199,84,255, +69,70,0,182,95,255,91,40,0,125,90,255,223,45,0,48,72,255,231,62,0,205,79,255,136,65,0,136,78,255,253,38,0,111,76,255,16,48,0,196,54,255,190,38,0,2,55,255,152,36,0,116,59,255,41,38,0,202,53,255,33,27,0,140,59,255,114,26,0,214,51,255,164,28,0,3,61,255, +133,27,0,9,50,255,134,41,0,8,48,255,182,19,0,189,41,255,70,27,0,39,43,255,39,20,0,157,46,255,150,10,0,37,29,255,164,30,0,203,59,255,86,2,0,176,35,255,207,15,0,101,37,255,23,250,255,211,19,255,201,22,0,114,41,255,136,2,0,181,32,255,105,251,255,18,24,255, +179,249,255,112,29,255,74,254,255,128,53,255,12,254,255,95,40,255,109,238,255,136,19,255,116,241,255,32,34,255,42,245,255,206,28,255,44,216,255,172,1,255,13,209,255,119,229,254,215,229,255,116,2,255,4,237,255,2,242,254,86,195,255,251,228,254,220,218, +255,2,248,254,89,219,255,20,235,254,232,214,255,251,238,254,88,215,255,226,228,254,125,205,255,68,215,254,241,182,255,24,212,254,68,204,255,5,213,254,206,202,255,167,207,254,130,188,255,73,204,254,99,193,255,50,218,254,104,184,255,47,194,254,161,189, +255,80,211,254,168,200,255,19,227,254,31,204,255,2,242,254,37,199,255,65,246,254,161,189,255,158,243,254,12,203,255,22,249,254,130,198,255,191,6,255,212,199,255,235,1,255,5,190,255,52,242,254,180,190,255,117,12,255,120,218,255,178,2,255,119,206,255,22, +255,254,223,189,255,153,0,255,144,202,255,199,21,255,69,210,255,223,17,255,247,179,255,209,249,254,205,192,255,247,3,255,130,192,255,20,239,254,180,194,255,233,245,254,60,181,255,58,235,254,48,185,255,77,244,254,68,198,255,218,217,254,146,169,255,137, +218,254,128,178,255,79,199,254,171,163,255,103,195,254,96,159,255,246,184,254,158,163,255,90,187,254,183,161,255,150,167,254,226,154,255,255,156,254,69,145,255,142,148,254,187,130,255,228,130,254,183,104,255,190,128,254,17,129,255,0,159,254,35,124,255, +122,129,254,35,118,255,252,122,254,40,105,255,152,124,254,189,91,255,226,110,254,19,80,255,21,125,254,143,68,255,21,121,254,89,95,255,197,135,254,99,65,255,171,131,254,146,102,255,4,142,254,203,58,255,240,124,254,242,66,255,122,137,254,136,67,255,108, +119,254,194,88,255,74,159,254,16,62,255,84,131,254,36,67,255,31,156,254,194,84,255,25,155,254,160,61,255,99,155,254,30,68,255,81,164,254,161,65,255,1,167,254,234,55,255,212,159,254,37,71,255,27,179,254,180,72,255,52,183,254,223,69,255,8,182,254,186,69, +255,104,205,254,151,85,255,152,191,254,150,73,255,192,211,254,238,85,255,217,209,254,64,91,255,199,214,254,201,97,255,244,223,254,215,105,255,62,216,254,2,103,255,6,225,254,221,108,255,105,217,254,190,109,255,5,217,254,98,122,255,192,213,254,42,123,255, +68,213,254,228,117,255,24,212,254,173,120,255,129,205,254,34,110,255,184,192,254,158,94,255,135,200,254,110,116,255,179,205,254,209,110,255,141,205,254,100,87,255,159,196,254,18,82,255,99,214,254,136,73,255,41,203,254,86,67,255,134,196,254,104,64,255, +121,184,254,160,61,255,34,190,254,136,69,255,115,189,254,11,67,255,3,189,254,98,61,255,26,177,254,230,72,255,29,201,254,184,51,255,10,198,254,253,52,255,90,191,254,104,58,255,197,194,254,18,78,255,173,204,254,92,66,255,156,223,254,76,95,255,206,221,254, +211,75,255,12,220,254,39,99,255,158,241,254,225,89,255,101,238,254,113,93,255,92,14,255,233,106,255,68,26,255,214,103,255,63,33,255,4,127,255,95,46,255,28,115,255,221,54,255,99,134,255,46,52,255,35,114,255,164,51,255,137,134,255,173,72,255,74,128,255, +73,70,255,30,135,255,230,81,255,118,137,255,94,91,255,137,140,255,220,105,255,187,136,255,26,100,255,201,150,255,18,89,255,194,143,255,21,115,255,14,164,255,197,131,255,77,170,255,136,135,255,202,162,255,9,123,255,90,166,255,241,124,255,128,172,255,98, +135,255,20,157,255,204,130,255,225,148,255,67,136,255,169,145,255,10,135,255,163,152,255,18,144,255,27,166,255,66,122,255,75,140,255,129,130,255,124,138,255,154,124,255,40,162,255,48,131,255,57,145,255,210,129,255,157,145,255,54,138,255,82,145,255,136, +139,255,232,153,255,23,133,255,75,142,255,218,154,255,137,144,255,192,134,255,187,134,255,155,138,255,139,156,255,172,125,255,63,152,255,111,139,255,200,142,255,224,147,255,101,152,255,180,140,255,158,161,255,69,156,255,114,158,255,205,146,255,244,149, +255,56,154,255,216,174,255,147,184,255,63,152,255,28,183,255,120,161,255,57,162,255,82,149,255,50,157,255,33,167,255,183,164,255,102,160,255,234,180,255,19,153,255,214,171,255,202,166,255,222,186,255,138,152,255,67,197,255,69,153,255,200,159,255,238, +144,255,10,188,255,7,149,255,80,203,255,6,141,255,198,194,255,146,165,255,168,201,255,38,156,255,207,219,255,76,158,255,6,211,255,62,140,255,206,213,255,154,127,255,111,206,255,232,151,255,56,215,255,242,129,255,44,219,255,181,139,255,37,212,255,5,129, +255,18,209,255,214,154,255,40,242,255,6,141,255,101,218,255,92,133,255,247,247,255,236,132,255,171,235,255,252,164,255,28,242,255,250,142,255,9,241,255,43,141,255,247,251,255,255,127,255,109,241,255,220,157,255,67,2,0,194,145,255,48,253,255,64,154,255, +141,248,255,181,143,255,58,237,255,242,129,255,97,241,255,7,153,255,254,254,255,231,139,255,233,231,255,255,137,255,227,230,255,11,132,255,218,207,255,86,132,255,119,215,255,47,112,255,107,223,255,40,113,255,87,210,255,116,117,255,7,225,255,252,99,255, +121,174,255,21,104,255,253,187,255,164,95,255,240,183,255,117,64,255,2,177,255,89,95,255,91,181,255,174,71,255,159,172,255,61,67,255,72,178,255,216,60,255,171,172,255,185,53,255,114,161,255,243,70,255,34,180,255,253,50,255,106,144,255,211,71,255,250, +155,255,11,65,255,191,185,255,242,66,255,183,170,255,87,71,255,238,161,255,12,79,255,16,191,255,229,64,255,60,184,255,218,76,255,66,187,255,236,69,255,72,178,255,100,77,255,106,213,255,134,102,255,151,224,255,87,75,255,135,188,255,202,105,255,121,235, +255,72,108,255,77,234,255,152,93,255,203,238,255,173,126,255,184,243,255,3,105,255,101,228,255,202,101,255,204,0,0,246,106,255,56,14,0,128,113,255,254,0,0,71,104,255,224,11,0,108,104,255,38,23,0,127,107,255,244,22,0,246,106,255,95,28,0,72,118,255,245, +32,0,109,112,255,94,30,0,35,120,255,220,34,0,59,116,255,72,52,0,103,109,255,239,41,0,66,111,255,32,32,0,78,113,255,134,52,0,53,113,255,58,44,0,46,100,255,197,52,0,177,107,255,184,48,0,70,98,255,216,53,0,206,82,255,8,40,0,84,112,255,154,57,0,33,100,255, +166,53,0,82,86,255,147,58,0,224,77,255,151,31,0,64,91,255,10,52,0,86,67,255,4,51,0,81,80,255,141,61,0,76,95,255,197,48,0,181,82,255,91,55,0,30,68,255,204,59,0,188,83,255,236,64,0,127,99,255,173,64,0,38,89,255,218,73,0,218,78,255,99,72,0,184,112,255,151, +92,0,79,123,255,44,85,0,3,109,255,220,87,0,86,122,255,185,119,0,199,128,255,253,110,0,104,119,255,39,98,0,130,131,255,109,105,0,106,143,255,109,111,0,200,136,255,197,113,0,106,137,255,97,121,0,81,137,255,79,122,0,161,132,255,154,116,0,0,150,255,62,135, +0,43,139,255,191,116,0,248,128,255,216,120,0,152,160,255,194,146,0,18,139,255,53,114,0,30,133,255,11,123,0,49,138,255,81,138,0,119,143,255,106,140,0,69,143,255,6,140,0,94,139,255,178,118,0,187,134,255,67,124,0,244,145,255,68,132,0,249,130,255,63,143, +0,82,151,255,212,143,0,217,123,255,11,127,0,6,131,255,220,160,0,154,127,255,137,139,0,222,120,255,194,146,0,92,125,255,132,152,0,42,125,255,76,151,0,216,121,255,246,162,0,142,127,255,244,148,0,204,117,255,47,174,0,35,114,255,104,179,0,166,121,255,40, +165,0,110,124,255,248,186,0,111,122,255,221,172,0,29,121,255,91,179,0,118,141,255,241,177,0,162,136,255,146,168,0,212,134,255,229,183,0,106,147,255,223,184,0,162,130,255,115,165,0,237,138,255,255,193,0,19,143,255,217,181,0,200,142,255,20,158,0,138,148, +255,97,180,0,106,147,255,229,181,0,100,140,255,172,176,0,176,152,255,196,172,0,219,149,255,21,166,0,201,150,255,11,192,0,134,169,255,238,204,0,50,146,255,92,191,0,115,168,255,105,197,0,101,152,255,129,183,0,157,155,255,0,202,0,120,155,255,98,182,0,18, +137,255,37,198,0,232,149,255,97,178,0,194,145,255,172,178,0,81,141,255,108,166,0,136,130,255,159,174,0,236,124,255,171,172,0,122,118,255,34,168,0,91,111,255,97,174,0,164,101,255,121,172,0,189,97,255,178,177,0,214,101,255,104,179,0,221,104,255,136,190, +0,25,83,255,52,167,0,172,110,255,86,186,0,145,98,255,135,184,0,165,103,255,43,195,0,153,111,255,155,195,0,47,108,255,214,216,0,246,102,255,200,208,0,143,137,255,77,224,0,204,121,255,84,229,0,225,146,255,56,4,1,56,143,255,18,4,1,238,152,255,23,249,0,115, +162,255,75,7,1,240,166,255,192,254,0,173,179,255,157,18,1,166,170,255,45,24,1,134,171,255,238,19,1,116,176,255,132,22,1,161,189,255,57,22,1,209,175,255,224,3,1,35,177,255,100,13,1,160,179,255,192,244,0,71,165,255,80,2,1,34,173,255,166,240,0,195,155,255, +171,231,0,126,158,255,177,226,0,120,161,255,44,205,0,126,152,255,93,197,0,125,142,255,67,187,0,133,161,255,11,182,0,199,132,255,34,168,0,67,123,255,128,173,0,223,126,255,120,160,0,15,113,255,106,150,0,152,103,255,52,157,0,91,121,255,34,166,0,222,114, +255,140,165,0,76,95,255,26,151,0,190,105,255,252,169,0,1,99,255,195,158,0,49,73,255,134,168,0,94,84,255,5,193,0,181,80,255,78,171,0,238,87,255,180,193,0,90,99,255,205,193,0,27,97,255,231,199,0,208,102,255,17,193,0,25,81,255,27,222,0,208,102,255,58,223, +0,185,120,255,238,214,0,171,106,255,65,232,0,55,129,255,161,253,0,210,122,255,23,253,0,0,144,255,207,14,1,83,157,255,57,12,1,43,141,255,87,11,1,26,158,255,138,17,1,51,154,255,200,13,1,254,184,255,139,23,1,32,159,255,238,15,1,162,193,255,139,21,1,96,165, +255,49,255,0,249,197,255,25,17,1,221,169,255,175,13,1,5,190,255,131,10,1,250,209,255,68,4,1,78,168,255,250,9,1,92,192,255,66,234,0,49,197,255,103,232,0,117,192,255,201,216,0,212,201,255,110,237,0,11,185,255,238,204,0,118,198,255,14,214,0,254,182,255, +7,205,0,109,171,255,74,194,0,18,200,255,130,197,0,97,171,255,110,182,0,14,158,255,41,181,0,45,161,255,191,177,0,206,139,255,148,182,0,69,143,255,186,190,0,61,130,255,210,182,0,187,144,255,225,206,0,204,123,255,85,182,0,48,126,255,80,189,0,174,132,255, +175,206,0,131,139,255,2,226,0,104,119,255,151,218,0,94,145,255,227,226,0,18,137,255,29,242,0,156,133,255,235,243,0,151,152,255,165,234,0,128,174,255,25,13,1,240,170,255,42,248,0,252,168,255,129,246,0,104,182,255,112,7,1,179,180,255,162,13,1,28,174,255, +117,248,0,254,188,255,204,252,0,192,192,255,228,240,0,29,190,255,54,242,0,49,195,255,203,234,0,96,173,255,40,228,0,192,182,255,215,228,0,210,173,255,77,222,0,229,182,255,157,207,0,174,197,255,220,213,0,179,184,255,219,215,0,134,175,255,75,204,0,17,186, +255,119,207,0,141,176,255,36,188,0,24,195,255,118,201,0,65,170,255,19,205,0,198,185,255,64,214,0,4,182,255,189,226,0,104,186,255,139,220,0,167,182,255,39,220,0,203,174,255,214,216,0,149,193,255,104,242,0,211,187,255,147,233,0,192,188,255,48,249,0,19, +202,255,243,0,1,199,195,255,62,1,1,4,182,255,110,247,0,43,204,255,167,2,1,88,215,255,107,14,1,118,198,255,37,7,1,81,200,255,230,0,1,143,196,255,244,18,1,217,188,255,108,20,1,125,199,255,195,30,1,218,198,255,144,10,1,18,200,255,50,13,1,12,197,255,13,13, +1,29,186,255,86,255,0,17,190,255,2,23,1,48,185,255,95,18,1,4,182,255,206,10,1,146,169,255,198,249,0,208,153,255,242,250,0,110,173,255,110,247,0,240,164,255,165,234,0,95,161,255,178,234,0,210,177,255,190,230,0,183,157,255,164,222,0,240,170,255,40,232, +0,83,167,255,245,223,0,129,180,255,195,223,0,65,172,255,201,210,0,221,167,255,235,243,0,141,178,255,84,225,0,159,171,255,97,237,0,3,172,255,4,242,0,47,181,255,172,241,0,17,190,255,192,252,0,191,176,255,218,4,1,16,178,255,107,18,1,18,200,255,70,18,1,228, +178,255,124,5,1,68,198,255,220,26,1,54,186,255,31,6,1,48,179,255,82,12,1,43,198,255,8,20,1,43,204,255,208,26,1,25,205,255,145,26,1,206,202,255,225,9,1,70,214,255,52,27,1,200,199,255,134,34,1,212,203,255,147,42,1,244,206,255,216,47,1,108,216,255,157,18, +1,31,210,255,184,38,1,63,211,255,152,35,1,133,216,255,165,39,1,132,210,255,147,40,1,163,209,255,208,32,1,21,232,255,30,55,1,75,209,255,234,34,1,202,229,255,204,53,1,20,220,255,65,33,1,253,231,255,30,57,1,139,213,255,42,49,1,95,224,255,35,48,1,225,203, +255,241,53,1,39,219,255,165,31,1,71,228,255,240,37,1,225,209,255,133,26,1,70,216,255,227,35,1,143,198,255,152,31,1,126,211,255,138,19,1,195,210,255,187,7,1,182,212,255,151,21,1,176,211,255,87,7,1,88,205,255,50,7,1,105,198,255,225,9,1,187,197,255,19,14, +1,49,195,255,107,14,1,52,219,255,45,22,1,75,205,255,221,32,1,71,222,255,129,49,1,251,213,255,59,42,1,34,228,255,110,46,1,204,243,255,51,74,1,65,225,255,249,62,1,129,249,255,139,84,1,244,11,0,252,92,1,194,15,0,90,94,1,131,9,0,241,106,1,227,26,0,162,125, +1,89,30,0,29,106,1,20,25,0,90,102,1,33,25,0,178,102,1,103,42,0,101,82,1,147,47,0,27,86,1,242,48,0,24,68,1,164,30,0,206,69,1,60,49,0,111,54,1,92,52,0,215,39,1,234,37,0,2,37,1,227,30,0,183,32,1,213,12,0,175,19,1,230,253,255,80,2,1,64,26,0,188,11,1,148, +252,255,254,246,0,117,255,255,72,233,0,116,239,255,229,238,0,97,240,255,165,228,0,139,227,255,58,219,0,75,213,255,139,216,0,95,216,255,146,235,0,70,216,255,0,202,0,121,228,255,27,216,0,176,213,255,52,216,0,96,230,255,171,231,0,88,209,255,253,234,0,95, +214,255,184,241,0,145,218,255,60,239,0,202,229,255,241,236,0,160,246,255,87,5,1,104,243,255,80,254,0,162,0,0,220,219,0,204,245,255,123,243,0,155,247,255,56,4,1,69,9,0,136,251,0,1,12,0,169,16,1,177,26,0,121,30,1,226,20,0,182,24,1,100,16,0,7,12,1,228,42, +0,108,26,1,72,37,0,27,33,1,141,40,0,194,12,1,136,51,0,2,27,1,141,50,0,102,27,1,197,45,0,207,24,1,148,51,0,126,19,1,48,47,0,71,26,1,47,43,0,244,14,1,211,61,0,131,10,1,74,59,0,219,14,1,14,24,0,62,1,1,52,26,0,135,243,0,202,32,0,246,235,0,64,30,0,115,230, +0,171,31,0,176,218,0,201,24,0,194,207,0,59,37,0,250,204,0,7,19,0,154,189,0,156,9,0,116,177,0,137,10,0,228,171,0,236,250,255,95,154,0,6,3,0,132,152,0,205,5,0,13,149,0,118,1,0,135,127,0,118,3,0,161,131,0,85,246,255,179,122,0,79,245,255,128,114,0,97,238, +255,215,112,0,148,248,255,169,148,0,153,241,255,142,122,0,24,254,255,129,124,0,3,239,255,60,119,0,172,240,255,204,122,0,123,248,255,176,151,0,123,252,255,6,140,0,47,240,255,135,119,0,78,237,255,17,130,0,109,228,255,205,132,0,136,250,255,156,144,0,27, +225,255,231,136,0,146,228,255,42,122,0,114,227,255,192,128,0,233,220,255,78,114,0,51,211,255,110,119,0,255,196,255,247,117,0,213,207,255,185,123,0,245,218,255,36,125,0,163,215,255,172,121,0,164,223,255,55,132,0,20,214,255,102,110,0,85,242,255,99,141, +0,79,239,255,30,128,0,228,231,255,91,116,0,72,240,255,129,120,0,173,246,255,67,122,0,206,3,0,195,101,0,238,14,0,116,124,0,23,248,255,198,129,0,120,17,0,128,112,0,131,13,0,205,130,0,61,2,0,92,126,0,194,11,0,226,92,0,242,255,255,126,94,0,75,16,0,177,102, +0,13,20,0,88,92,0,124,250,255,14,88,0,100,14,0,221,105,0,205,5,0,100,90,0,43,5,0,55,65,0,206,3,0,231,77,0,5,249,255,249,68,0,131,3,0,199,74,0,156,13,0,217,65,0,41,239,255,80,71,0,255,1,0,62,78,0,46,232,255,11,64,0,229,245,255,248,66,0,22,236,255,224, +74,0,203,235,255,198,64,0,77,223,255,85,56,0,178,231,255,59,52,0,116,241,255,147,58,0,45,224,255,121,46,0,240,225,255,146,50,0,45,220,255,254,61,0,3,229,255,197,50,0,13,207,255,136,66,0,240,225,255,198,56,0,247,236,255,127,41,0,208,222,255,109,52,0,76, +221,255,64,41,0,45,218,255,53,53,0,161,248,255,59,52,0,166,239,255,58,34,0,3,233,255,0,21,0,79,249,255,88,29,0,211,254,255,249,13,0,73,250,255,113,19,0,42,255,255,25,27,0,162,6,0,18,12,0,203,237,255,229,254,255,222,234,255,22,249,255,23,242,255,37,11, +0,179,249,255,112,11,0,242,251,255,70,28,0,167,251,255,213,23,0,104,239,255,120,34,0,210,246,255,19,22,0,111,250,255,255,6,0,73,252,255,25,23,0,216,243,255,44,30,0,180,253,255,235,54,0,74,0,0,139,35,0,180,251,255,119,24,0,130,1,0,72,48,0,110,244,255, +44,30,0,231,3,0,3,47,0,81,13,0,234,48,0,231,5,0,66,61,0,144,9,0,116,55,0,74,0,0,249,64,0,106,9,0,4,57,0,226,24,0,84,50,0,14,24,0,17,61,0,163,18,0,248,56,0,14,28,0,159,46,0,58,27,0,189,35,0,146,29,0,108,36,0,208,33,0,162,15,0,105,60,0,195,38,0,96,35,0, +202,240,255,141,40,0,222,251,255,247,41,0,14,228,255,181,66,0,71,243,255,89,24,0,81,213,255,209,39,0,224,210,255,40,32,0,167,203,255,166,44,0,237,214,255,71,31,0,217,197,255,166,40,0,118,207,255,34,35,0,185,194,255,164,30,0,205,201,255,239,26,0,230,207, +255,64,28,0,198,192,255,145,21,0,161,200,255,64,24,0,188,222,255,44,17,0,56,207,255,45,23,0,82,221,255,201,22,0,152,234,255,227,30,0,64,230,255,60,43,0,166,250,255,79,54,0,129,4,0,198,51,0,81,18,0,56,64,0,177,33,0,237,69,0,132,30,0,126,81,0,209,52,0, +233,86,0,161,66,0,209,94,0,4,61,0,72,102,0,148,66,0,129,113,0,117,67,0,249,122,0,224,78,0,112,130,0,32,87,0,87,128,0,237,70,0,204,115,0,13,82,0,189,150,0,119,79,0,57,139,0,199,74,0,190,164,0,111,68,0,220,149,0,212,70,0,183,155,0,243,67,0,14,148,0,109, +42,0,219,141,0,115,45,0,152,148,0,20,32,0,102,152,0,189,31,0,218,127,0,154,4,0,93,121,0,70,28,0,99,126,0,217,2,0,149,126,0,171,239,255,205,121,0,54,254,255,235,112,0,160,253,255,210,116,0,159,245,255,91,111,0,97,249,255,220,86,0,252,234,255,190,101,0, +107,225,255,197,110,0,28,242,255,52,89,0,146,239,255,170,86,0,226,226,255,60,108,0,38,216,255,239,93,0,14,232,255,122,110,0,140,246,255,115,99,0,159,239,255,198,118,0,109,249,255,230,123,0,10,247,255,173,112,0,232,227,255,206,135,0,10,251,255,155,117, +0,20,229,255,19,139,0,58,237,255,219,131,0,54,254,255,94,133,0,209,235,255,108,149,0,177,240,255,13,136,0,2,240,255,60,167,0,122,241,255,115,160,0,153,242,255,189,156,0,165,238,255,70,137,0,78,248,255,214,152,0,103,244,255,177,156,0,217,2,0,202,156,0, +215,242,255,158,159,0,140,246,255,239,150,0,82,225,255,173,171,0,53,248,255,59,157,0,98,255,255,190,164,0,34,245,255,95,147,0,34,239,255,120,145,0,240,238,255,127,148,0,198,1,0,113,140,0,216,244,255,163,138,0,146,235,255,182,135,0,157,225,255,12,120, +0,169,223,255,236,118,0,226,226,255,129,111,0,151,222,255,211,114,0,224,204,255,234,100,0,185,190,255,16,105,0,61,202,255,165,99,0,121,174,255,80,117,0,160,184,255,12,120,0,246,182,255,223,108,0,90,179,255,166,109,0,184,186,255,155,125,0,228,185,255, +200,132,0,53,179,255,129,113,0,153,183,255,25,134,0,228,187,255,150,128,0,147,188,255,169,131,0,196,180,255,38,138,0,111,198,255,246,155,0,192,199,255,44,135,0,134,186,255,219,137,0,4,195,255,1,140,0,224,206,255,19,133,0,147,188,255,200,136,0,78,181, +255,237,130,0,211,202,255,75,130,0,140,179,255,129,109,0,128,179,255,217,117,0,173,192,255,16,111,0,222,188,255,243,129,0,47,184,255,2,97,0,64,167,255,169,76,0,107,166,255,112,71,0,19,156,255,74,67,0,99,149,255,120,84,0,112,145,255,191,46,0,21,121,255, +137,63,0,91,124,255,243,70,0,13,104,255,61,61,0,239,110,255,17,52,0,133,109,255,35,41,0,1,100,255,210,43,0,180,79,255,161,57,0,13,98,255,168,64,0,236,78,255,190,38,0,10,72,255,98,59,0,44,87,255,42,50,0,160,66,255,218,60,0,123,70,255,13,73,0,212,84,255, +180,62,0,236,72,255,61,59,0,141,69,255,231,68,0,75,92,255,204,56,0,230,75,255,213,71,0,188,96,255,63,75,0,144,91,255,237,67,0,193,89,255,18,62,0,78,116,255,7,78,0,163,96,255,19,72,0,13,104,255,211,57,0,49,86,255,80,62,0,233,107,255,212,69,0,139,112,255, +162,69,0,19,101,255,126,77,0,101,106,255,180,54,0,132,103,255,31,74,0,40,118,255,44,70,0,40,110,255,13,73,0,58,115,255,96,96,0,114,108,255,20,84,0,190,112,255,150,71,0,102,108,255,121,92,0,8,107,255,189,89,0,147,119,255,144,82,0,159,115,255,174,67,0, +145,109,255,114,89,0,15,118,255,182,78,0,101,102,255,181,76,0,15,114,255,20,78,0,34,123,255,18,62,0,215,120,255,18,60,0,69,93,255,0,69,0,45,103,255,200,79,0,133,101,255,75,73,0,219,93,255,188,75,0,77,104,255,23,53,0,139,104,255,86,65,0,108,101,255,57, +80,0,207,105,255,104,46,0,87,88,255,228,44,0,206,97,255,5,62,0,6,89,255,122,51,0,56,85,255,6,70,0,215,120,255,92,56,0,33,107,255,250,69,0,112,82,255,200,79,0,13,104,255,63,73,0,69,93,255,94,72,0,184,117,255,45,82,0,228,124,255,151,83,0,101,106,255,2, +83,0,213,102,255,227,91,0,165,114,255,226,81,0,227,110,255,114,83,0,19,93,255,52,87,0,185,127,255,195,84,0,148,131,255,152,95,0,227,120,255,95,88,0,41,126,255,204,105,0,67,130,255,60,104,0,205,138,255,109,98,0,222,131,255,236,114,0,11,137,255,115,105, +0,251,161,255,137,126,0,223,139,255,87,130,0,68,146,255,85,104,0,145,166,255,74,128,0,25,157,255,0,126,0,71,170,255,45,143,0,2,181,255,88,134,0,215,175,255,24,128,0,120,168,255,153,105,0,71,176,255,7,139,0,165,173,255,68,125,0,118,152,255,213,134,0,65, +173,255,57,135,0,88,153,255,192,117,0,137,141,255,162,128,0,57,156,255,236,124,0,99,149,255,42,113,0,130,140,255,116,109,0,253,124,255,30,121,0,0,147,255,191,103,0,60,129,255,211,124,0,82,160,255,140,105,0,192,136,255,159,104,0,61,143,255,179,109,0,66, +132,255,60,100,0,169,152,255,203,97,0,236,145,255,47,104,0,50,155,255,123,114,0,27,177,255,197,110,0,78,181,255,205,123,0,47,192,255,99,128,0,161,196,255,70,147,0,143,211,255,219,141,0,26,222,255,144,145,0,170,231,255,215,154,0,172,241,255,139,152,0, +8,231,255,42,182,0,41,254,255,235,175,0,85,253,255,147,169,0,34,249,255,131,192,0,205,12,0,175,195,0,175,13,0,89,207,0,55,8,0,195,212,0,178,244,255,228,225,0,105,10,0,105,237,0,30,8,0,115,225,0,205,12,0,159,224,0,91,252,255,228,233,0,45,32,0,86,238,0, +69,26,0,235,228,0,69,30,0,167,243,0,49,9,0,190,223,0,231,16,0,134,222,0,132,30,0,84,218,0,138,23,0,71,214,0,7,26,0,202,217,0,208,38,0,76,207,0,231,14,0,8,210,0,162,15,0,26,205,0,214,31,0,207,210,0,162,21,0,251,205,0,32,30,0,206,198,0,157,32,0,133,208, +0,1,27,0,202,211,0,210,50,0,38,199,0,157,30,0,72,226,0,67,59,0,18,184,0,44,30,0,231,194,0,221,42,0,21,218,0,4,55,0,27,213,0,178,55,0,8,216,0,15,45,0,3,217,0,71,44,0,59,224,0,155,71,0,61,244,0,160,58,0,243,245,0,255,69,0,254,235,0,241,61,0,138,6,1,92, +67,0,54,231,0,190,39,0,94,1,1,69,30,0,173,236,0,101,31,0,131,245,0,95,32,0,247,230,0,82,28,0,47,224,0,100,19,0,19,255,0,200,17,0,35,236,0,14,39,0,5,243,0,239,27,0,103,227,0,225,23,0,47,230,0,75,17,0,83,212,0,189,31,0,221,220,0,225,19,0,73,236,0,251,35, +0,59,224,0,108,40,0,117,237,0,215,43,0,104,235,0,40,49,0,86,240,0,211,72,0,124,240,0,243,75,0,118,245,0,175,84,0,186,242,0,157,85,0,218,245,0,27,104,0,10,236,0,191,118,0,230,245,0,224,141,0,211,244,0,104,120,0,195,17,1,19,140,0,75,0,1,149,133,0,102,20, +1,88,149,0,245,19,1,243,136,0,2,18,1,86,129,0,184,31,1,199,127,0,147,29,1,17,126,0,77,20,1,156,140,0,33,17,1,110,117,0,93,50,1,227,102,0,21,25,1,138,92,0,85,43,1,207,95,0,127,22,1,255,75,0,9,25,1,126,94,0,246,21,1,156,79,0,90,24,1,194,85,0,73,41,1,60, +64,0,229,38,1,140,49,0,26,12,1,121,44,0,63,6,1,116,55,0,50,6,1,241,57,0,219,1,1,158,40,0,225,0,1,72,58,0,195,13,1,92,73,0,69,255,0,73,70,0,50,254,0,217,63,0,87,0,1,132,85,0,94,1,1,64,100,0,87,248,0,132,89,0,100,252,0,121,105,0,75,254,0,223,119,0,31,255, +0,110,127,0,145,9,1,148,127,0,15,18,1,94,144,0,19,5,1,17,122,0,178,32,1,168,136,0,219,11,1,250,143,0,97,33,1,155,130,0,21,21,1,11,127,0,10,33,1,200,145,0,66,40,1,187,141,0,174,53,1,22,111,0,248,41,1,180,138,0,172,33,1,224,133,0,173,43,1,122,121,0,92, +44,1,85,119,0,197,31,1,140,106,0,164,20,1,158,97,0,124,47,1,133,99,0,14,20,1,238,82,0,2,22,1,74,72,0,240,30,1,237,70,0,239,18,1,72,56,0,207,7,1,177,41,0,238,10,1,215,39,0,225,8,1,52,47,0,212,0,1,51,33,0,67,241,0,18,16,0,43,253,0,112,17,0,35,226,0,49, +19,0,230,243,0,142,4,0,120,204,0,199,9,0,115,225,0,248,5,0,94,202,0,216,248,255,225,191,0,103,238,255,18,186,0,191,246,255,250,197,0,135,253,255,74,185,0,222,243,255,193,182,0,54,250,255,146,161,0,59,239,255,49,183,0,216,246,255,228,170,0,147,251,255, +141,168,0,65,236,255,28,160,0,43,8,0,247,165,0,23,3,0,107,145,0,246,237,255,154,178,0,62,11,0,48,173,0,16,244,255,172,167,0,209,245,255,5,178,0,147,251,255,142,174,0,128,244,255,254,176,0,197,247,255,161,183,0,228,242,255,224,189,0,239,230,255,161,181, +0,126,224,255,100,195,0,66,244,255,144,200,0,237,212,255,134,167,0,57,223,255,242,184,0,221,235,255,93,186,0,37,208,255,112,183,0,99,198,255,183,159,0,42,199,255,230,182,0,24,206,255,128,166,0,231,215,255,46,149,0,199,204,255,20,147,0,16,195,255,14,140, +0,79,187,255,252,152,0,159,186,255,238,140,0,124,208,255,157,141,0,30,199,255,237,126,0,11,206,255,233,145,0,217,201,255,176,144,0,31,215,255,157,141,0,143,209,255,69,135,0,69,219,255,244,137,0,138,218,255,126,146,0,57,225,255,246,157,0,197,245,255,1, +144,0,209,241,255,146,155,0,7,229,255,234,159,0,128,248,255,96,155,0,185,247,255,10,171,0,177,236,255,16,166,0,33,227,255,9,161,0,145,225,255,36,177,0,101,224,255,74,183,0,175,214,255,110,169,0,219,213,255,242,178,0,46,237,255,16,164,0,0,214,255,173, +179,0,89,228,255,146,159,0,43,207,255,252,158,0,193,201,255,179,172,0,192,203,255,210,179,0,187,210,255,16,174,0,124,206,255,187,185,0,92,199,255,81,190,0,36,200,255,42,176,0,31,207,255,243,182,0,1,228,255,242,174,0,148,196,255,158,155,0,73,190,255,247, +173,0,98,194,255,153,166,0,98,190,255,71,155,0,73,196,255,165,154,0,74,202,255,226,144,0,34,182,255,201,150,0,173,196,255,199,130,0,221,176,255,20,141,0,39,175,255,78,154,0,253,185,255,113,142,0,9,180,255,125,136,0,102,177,255,249,130,0,40,179,255,77, +156,0,229,199,255,2,154,0,61,196,255,96,153,0,255,203,255,147,165,0,11,206,255,146,157,0,179,189,255,235,165,0,124,204,255,139,148,0,55,199,255,23,173,0,200,210,255,3,168,0,113,220,255,24,177,0,94,215,255,86,181,0,183,229,255,183,159,0,35,194,255,248, +171,0,181,217,255,127,154,0,186,206,255,92,172,0,205,201,255,119,194,0,243,209,255,223,175,0,157,219,255,185,173,0,49,208,255,147,169,0,147,188,255,178,170,0,193,207,255,214,156,0,34,180,255,240,158,0,122,192,255,247,167,0,210,194,255,109,163,0,140,177, +255,221,151,0,120,158,255,177,156,0,34,176,255,9,155,0,90,179,255,26,142,0,99,145,255,213,144,0,57,156,255,188,134,0,111,143,255,143,127,0,180,142,255,162,128,0,242,142,255,229,115,0,150,151,255,37,120,0,160,131,255,171,92,0,129,128,255,227,93,0,129, +130,255,71,96,0,204,130,255,1,81,0,11,139,255,252,89,0,118,138,255,89,89,0,79,130,255,100,69,0,184,123,255,231,76,0,5,140,255,132,78,0,199,145,255,13,75,0,247,125,255,8,80,0,109,113,255,175,69,0,210,133,255,187,69,0,30,146,255,119,74,0,60,131,255,4,54, +0,205,144,255,88,79,0,29,130,255,162,67,0,137,145,255,143,66,0,106,148,255,236,61,0,35,135,255,231,72,0,255,144,255,75,73,0,250,149,255,232,74,0,4,134,255,105,60,0,88,153,255,124,67,0,224,147,255,0,77,0,60,129,255,108,86,0,100,147,255,126,83,0,60,135, +255,143,66,0,155,136,255,49,57,0,27,118,255,243,66,0,172,127,255,218,66,0,159,115,255,97,51,0,232,105,255,255,58,0,174,78,255,66,40,0,185,68,255,128,44,0,149,86,255,215,28,0,154,67,255,202,30,0,141,67,255,13,14,0,202,47,255,184,31,0,52,47,255,94,19,0, +38,35,255,6,11,0,56,26,255,139,20,0,99,13,255,119,13,0,173,7,255,102,26,0,25,27,255,212,10,0,243,18,255,180,255,255,19,32,255,48,252,255,198,11,255,218,1,0,30,20,255,243,3,0,236,23,255,218,3,0,150,33,255,193,5,0,174,25,255,219,13,0,45,40,255,224,254, +255,71,48,255,144,9,0,139,49,255,251,20,0,241,65,255,63,12,0,103,53,255,3,32,0,80,73,255,106,13,0,78,53,255,220,27,0,40,53,255,250,12,0,214,47,255,55,5,0,4,71,255,124,8,0,15,57,255,67,253,255,147,64,255,68,3,0,54,67,255,28,231,255,70,42,255,210,246,255, +244,30,255,116,241,255,139,41,255,10,244,255,207,40,255,73,246,255,26,43,255,153,233,255,13,33,255,52,233,255,244,34,255,71,222,255,17,12,255,14,221,255,149,23,255,183,222,255,30,16,255,171,228,255,157,38,255,39,219,255,25,35,255,3,235,255,50,31,255, +121,228,255,138,35,255,216,241,255,195,38,255,171,226,255,8,48,255,9,236,255,132,34,255,186,252,255,195,46,255,174,250,255,182,38,255,41,239,255,157,38,255,199,0,0,44,34,255,178,233,255,176,39,255,125,12,0,88,27,255,168,253,255,64,43,255,80,253,255,7, +38,255,30,251,255,158,50,255,94,9,0,40,53,255,112,0,0,226,39,255,217,255,255,230,22,255,86,252,255,250,31,255,185,244,255,31,32,255,228,227,255,157,38,255,34,236,255,133,52,255,52,229,255,14,45,255,114,227,255,225,27,255,75,207,255,239,41,255,246,226, +255,19,32,255,158,224,255,212,29,255,245,218,255,45,42,255,18,198,255,31,28,255,167,182,255,243,18,255,143,198,255,236,13,255,36,185,255,0,35,255,150,205,255,235,9,255,41,178,255,140,0,255,5,190,255,138,234,254,223,185,255,55,14,255,131,204,255,212,25, +255,42,188,255,36,13,255,236,185,255,141,8,255,204,180,255,38,31,255,218,194,255,86,7,255,255,194,255,131,30,255,135,187,255,174,23,255,117,184,255,224,15,255,67,180,255,212,29,255,10,179,255,185,9,255,168,198,255,1,41,255,102,170,255,174,29,255,147, +171,255,81,22,255,49,195,255,113,31,255,42,182,255,130,18,255,216,174,255,185,7,255,160,173,255,123,13,255,60,187,255,86,15,255,195,161,255,10,3,255,127,160,255,46,241,254,138,148,255,34,249,254,177,166,255,181,227,254,65,166,255,78,250,254,197,173,255, +101,238,254,71,163,255,176,234,254,45,161,255,7,233,254,169,143,255,205,219,254,188,142,255,30,211,254,213,148,255,50,224,254,26,152,255,52,238,254,250,152,255,194,229,254,24,138,255,23,204,254,250,152,255,98,210,254,36,130,255,244,223,254,132,145,255, +105,209,254,38,142,255,226,236,254,192,119,255,88,226,254,155,135,255,45,229,254,230,131,255,106,221,254,187,138,255,89,236,254,60,124,255,19,225,254,12,134,255,119,227,254,105,131,255,120,235,254,205,133,255,243,221,254,81,141,255,82,237,254,67,127, +255,57,223,254,244,149,255,233,237,254,200,142,255,158,241,254,151,148,255,240,248,254,88,150,255,53,254,254,176,158,255,158,251,254,38,156,255,186,19,255,83,157,255,57,38,255,189,158,255,168,32,255,240,164,255,139,41,255,223,183,255,122,56,255,41,178, +255,172,66,255,198,185,255,153,63,255,234,173,255,246,50,255,92,182,255,118,79,255,67,190,255,13,90,255,218,198,255,125,90,255,30,192,255,168,89,255,130,188,255,236,86,255,99,195,255,131,81,255,35,187,255,169,99,255,87,199,255,250,94,255,207,214,255, +70,99,255,218,194,255,169,97,255,10,179,255,195,105,255,147,173,255,38,98,255,67,188,255,164,106,255,228,170,255,52,108,255,174,197,255,220,105,255,252,164,255,255,79,255,22,175,255,200,92,255,72,177,255,102,112,255,103,174,255,77,110,255,34,173,255, +182,103,255,160,177,255,194,95,255,84,169,255,175,96,255,34,173,255,8,107,255,46,173,255,39,102,255,173,189,255,123,131,255,223,185,255,122,121,255,111,191,255,161,133,255,12,203,255,238,165,255,218,196,255,238,163,255,178,233,255,67,193,255,139,217, +255,149,208,255,108,224,255,169,219,255,117,245,255,82,219,255,13,14,0,5,6,0,55,255,255,203,238,255,238,12,0,211,255,255,39,22,0,42,6,0,95,17,0,224,7,0,107,15,0,59,245,255,152,30,0,253,250,255,71,33,0,217,252,255,152,32,0,117,10,0,227,32,0,73,255,255, +165,34,0,17,4,0,133,27,0,9,245,255,135,47,0,147,251,255,64,30,0,240,238,255,202,26,0,134,241,255,208,27,0,227,230,255,143,253,255,84,245,255,132,19,0,41,244,255,151,14,0,90,240,255,101,24,0,128,238,255,105,5,0,234,245,255,223,248,255,26,232,255,87,4, +0,41,248,255,219,5,0,86,9,0,150,10,0,23,3,0,63,16,0,174,5,0,42,245,255,48,7,0,62,6,0,199,15,0,16,235,255,124,5,0,205,251,255,199,15,0,142,255,255,119,16,0,55,251,255,243,12,0,5,249,255,74,5,0,137,6,0,175,19,0,90,229,255,72,251,255,143,1,0,161,9,0,4,237, +255,193,8,0,197,240,255,253,248,255,41,241,255,53,246,255,229,243,255,28,246,255,33,226,255,114,230,255,9,232,255,50,220,255,166,239,255,103,244,255,64,221,255,187,210,255,208,226,255,114,234,255,151,215,255,249,204,255,106,196,255,179,193,255,133,220, +255,222,190,255,19,210,255,158,174,255,101,213,255,51,169,255,162,197,255,164,169,255,205,190,255,20,166,255,248,187,255,1,163,255,97,171,255,170,166,255,96,169,255,237,151,255,53,176,255,83,172,255,122,175,255,102,171,255,113,150,255,143,148,255,214, +160,255,213,161,255,156,137,255,89,165,255,183,157,255,65,183,255,101,158,255,140,179,255,70,157,255,84,186,255,158,153,255,163,163,255,80,131,255,235,192,255,62,134,255,54,193,255,12,140,255,36,202,255,92,133,255,231,215,255,61,136,255,18,211,255,48, +126,255,90,236,255,56,137,255,145,229,255,250,146,255,83,227,255,207,155,255,177,234,255,44,143,255,91,244,255,39,158,255,191,246,255,170,155,255,203,248,255,142,188,255,41,244,255,213,152,255,158,233,255,209,169,255,214,228,255,112,144,255,162,210,255, +228,172,255,107,219,255,197,175,255,107,225,255,114,154,255,111,196,255,13,150,255,204,195,255,9,165,255,211,196,255,133,161,255,15,181,255,179,127,255,94,160,255,54,127,255,8,174,255,113,142,255,15,179,255,79,119,255,45,166,255,146,106,255,158,168,255, +8,100,255,207,162,255,233,100,255,251,165,255,72,114,255,228,181,255,2,101,255,159,178,255,228,115,255,103,185,255,108,100,255,221,180,255,189,91,255,117,195,255,20,102,255,207,221,255,0,83,255,167,203,255,30,76,255,139,228,255,31,80,255,151,224,255, +50,83,255,150,216,255,108,100,255,195,221,255,95,88,255,163,218,255,26,93,255,57,225,255,228,111,255,69,219,255,28,109,255,107,219,255,121,96,255,51,232,255,3,111,255,91,244,255,104,119,255,202,236,255,223,122,255,107,229,255,191,113,255,220,231,255, +115,113,255,102,230,255,47,108,255,232,225,255,216,113,255,227,232,255,21,104,255,2,230,255,171,102,255,130,201,255,82,92,255,169,219,255,162,77,255,124,204,255,107,88,255,212,206,255,42,70,255,128,179,255,198,61,255,39,169,255,30,70,255,246,178,255, +70,39,255,220,168,255,21,41,255,28,181,255,52,38,255,87,155,255,83,39,255,126,169,255,10,59,255,91,189,255,237,10,255,241,187,255,114,28,255,237,210,255,252,36,255,250,218,255,239,40,255,138,212,255,42,60,255,132,229,255,228,52,255,253,244,255,203,58, +255,28,248,255,88,85,255,180,8,0,150,81,255,63,33,0,18,82,255,221,36,0,44,84,255,70,38,0,14,101,255,239,37,0,15,103,255,179,53,0,246,108,255,48,60,0,164,101,255,9,44,0,240,109,255,196,42,0,96,110,255,190,43,0,171,104,255,50,23,0,210,120,255,233,36,0, +72,112,255,233,30,0,190,107,255,248,3,0,197,118,255,73,1,0,214,103,255,53,238,255,221,108,255,71,243,255,30,70,255,249,208,255,124,75,255,6,221,255,156,80,255,222,186,255,143,72,255,148,190,255,68,68,255,146,176,255,195,41,255,127,171,255,246,39,255, +83,164,255,77,44,255,124,145,255,70,35,255,144,154,255,144,19,255,238,165,255,100,18,255,236,135,255,242,5,255,120,164,255,131,11,255,207,160,255,167,255,254,95,164,255,247,254,254,202,171,255,91,249,254,233,174,255,48,2,255,46,180,255,216,249,254,10, +194,255,23,4,255,173,196,255,242,5,255,188,212,255,131,11,255,232,225,255,119,17,255,14,230,255,251,34,255,133,231,255,237,18,255,152,240,255,237,20,255,49,15,0,240,42,255,231,18,0,227,40,255,118,12,0,221,45,255,58,38,0,44,82,255,41,59,0,156,74,255,184, +42,0,22,53,255,57,32,0,82,96,255,61,66,0,246,108,255,97,54,0,115,103,255,196,46,0,38,93,255,128,51,0,78,109,255,128,49,0,223,128,255,110,54,0,236,130,255,195,38,0,205,129,255,134,46,0,48,120,255,49,19,0,237,138,255,126,29,0,10,122,255,39,41,0,209,110, +255,161,7,0,62,140,255,81,24,0,59,108,255,206,20,0,253,121,255,195,30,0,248,124,255,125,21,0,121,104,255,96,42,0,78,115,255,166,51,0,41,111,255,98,56,0,109,110,255,117,65,0,71,106,255,123,64,0,251,97,255,106,87,0,202,107,255,232,89,0,152,99,255,226,84, +0,199,130,255,229,122,0,110,116,255,162,137,0,160,114,255,179,116,0,235,120,255,12,137,0,216,119,255,244,148,0,137,144,255,112,143,0,130,135,255,198,129,0,57,145,255,173,129,0,51,148,255,19,140,0,30,139,255,194,142,0,231,145,255,235,113,0,243,139,255, +93,138,0,226,154,255,44,142,0,158,159,255,244,144,0,108,161,255,131,136,0,160,177,255,136,135,0,240,164,255,67,130,0,46,165,255,190,118,0,126,158,255,23,125,0,20,153,255,202,112,0,172,165,255,206,99,0,185,163,255,250,102,0,130,178,255,206,115,0,165,144, +255,224,100,0,110,137,255,210,100,0,66,134,255,203,95,0,242,150,255,146,80,0,161,137,255,185,90,0,61,129,255,202,89,0,66,116,255,108,82,0,174,127,255,177,87,0,18,124,255,45,80,0,37,107,255,175,71,0,232,128,255,101,85,0,177,119,255,250,67,0,226,103,255, +49,63,0,47,140,255,99,91,0,15,103,255,242,60,0,111,108,255,10,79,0,254,91,255,11,73,0,124,106,255,79,78,0,81,125,255,16,74,0,50,92,255,204,70,0,8,111,255,59,87,0,82,101,255,52,56,0,27,98,255,134,59,0,166,88,255,127,50,0,222,107,255,146,59,0,111,95,255, +170,55,0,205,100,255,214,38,0,44,100,255,240,26,0,58,78,255,70,49,0,14,95,255,233,37,0,221,80,255,159,15,0,47,84,255,228,30,0,179,81,255,204,0,0,160,90,255,190,28,0,32,69,255,204,6,0,46,63,255,236,249,255,64,64,255,60,255,255,42,52,255,172,3,0,35,59, +255,187,237,255,139,37,255,225,229,255,171,36,255,231,238,255,96,48,255,21,224,255,254,39,255,225,235,255,206,29,255,101,229,255,120,19,255,39,231,255,103,18,255,130,252,255,167,10,255,46,218,255,50,11,255,161,245,255,182,12,255,25,245,255,165,9,255, +82,238,255,218,249,254,47,255,255,155,9,255,232,238,255,123,18,255,41,8,0,88,8,255,28,6,0,109,255,254,165,16,0,250,22,255,165,12,0,180,35,255,6,27,0,248,40,255,110,40,0,88,38,255,33,44,0,223,56,255,222,38,0,104,65,255,65,41,0,157,86,255,68,58,0,117,71, +255,45,44,0,154,73,255,226,47,0,99,101,255,235,65,0,146,92,255,204,58,0,11,86,255,103,58,0,218,112,255,234,88,0,217,91,255,99,80,0,15,99,255,231,71,0,156,91,255,117,54,0,176,88,255,51,64,0,252,84,255,63,64,0,36,106,255,113,64,0,224,77,255,185,72,0,73, +112,255,37,66,0,150,81,255,9,76,0,243,88,255,10,95,0,158,103,255,132,82,0,62,91,255,38,104,0,181,96,255,171,97,0,182,96,255,72,91,0,27,112,255,188,98,0,16,110,255,78,111,0,142,108,255,51,92,0,252,120,255,36,121,0,39,122,255,175,96,0,226,128,255,17,99, +0,184,142,255,144,91,0,43,133,255,87,132,0,31,135,255,3,101,0,63,155,255,251,105,0,185,146,255,237,107,0,253,168,255,4,129,0,154,164,255,38,118,0,5,147,255,132,117,0,110,171,255,149,124,0,54,170,255,123,122,0,245,158,255,38,129,0,188,165,255,35,139,0, +226,165,255,99,165,0,246,179,255,62,161,0,66,176,255,217,164,0,182,183,255,69,190,0,150,186,255,65,181,0,183,198,255,123,191,0,32,202,255,192,205,0,3,182,255,191,205,0,35,196,255,208,208,0,104,195,255,66,199,0,77,186,255,75,222,0,103,186,255,42,208,0, +172,185,255,9,211,0,114,205,255,146,194,0,252,201,255,242,202,0,37,211,255,179,215,0,18,210,255,150,206,0,229,214,255,83,201,0,223,215,255,29,209,0,254,214,255,232,186,0,117,227,255,141,192,0,190,233,255,178,192,0,230,12,0,193,212,0,155,255,255,106,208, +0,60,245,255,92,184,0,25,254,255,144,215,0,149,254,255,175,216,0,109,247,255,58,211,0,222,2,0,47,231,0,10,245,255,33,233,0,51,5,0,168,222,0,17,12,0,14,230,0,51,5,0,230,244,0,60,13,0,175,252,0,30,244,255,188,224,0,253,3,0,88,248,0,236,0,0,197,241,0,238, +7,0,188,242,0,53,3,0,49,255,0,53,14,0,247,255,0,129,1,0,36,251,0,194,8,0,44,1,1,212,20,0,75,247,0,195,6,0,84,4,1,240,25,0,12,9,1,138,16,0,215,12,1,77,38,0,249,248,0,166,45,0,128,253,0,16,47,0,42,13,1,69,50,0,51,8,1,110,42,0,63,6,1,67,54,0,41,0,1,115, +67,0,70,255,0,20,68,0,47,6,1,137,60,0,56,246,0,62,60,0,128,248,0,23,62,0,165,248,0,238,67,0,175,239,0,199,60,0,186,250,0,230,68,0,112,248,0,255,68,0,243,254,0,75,47,0,38,251,0,45,73,0,54,254,0,42,68,0,36,242,0,209,69,0,2,254,0,34,60,0,50,247,0,86,47, +0,21,251,0,36,56,0,215,239,0,172,58,0,105,244,0,132,71,0,241,6,1,199,63,0,162,248,0,168,62,0,253,13,1,12,81,0,134,21,1,106,71,0,139,13,1,128,73,0,196,17,1,148,63,0,93,3,1,117,80,0,149,20,1,147,90,0,106,35,1,218,96,0,202,37,1,209,117,0,129,42,1,87,86, +0,50,37,1,67,85,0,181,36,1,45,90,0,126,33,1,207,90,0,230,32,1,147,95,0,184,26,1,235,84,0,55,14,1,108,88,0,179,30,1,245,113,0,197,29,1,43,90,0,238,23,1,30,90,0,81,15,1,12,105,0,19,22,1,223,82,0,216,6,1,164,101,0,250,248,0,15,108,0,155,249,0,82,93,0,227, +4,1,223,96,0,177,242,0,44,95,0,155,229,0,215,106,0,19,234,0,226,106,0,65,245,0,107,91,0,22,221,0,105,132,0,121,244,0,216,109,0,26,220,0,29,109,0,240,216,0,133,103,0,221,245,0,102,93,0,126,239,0,124,127,0,224,225,0,151,93,0,223,225,0,86,120,0,44,222,0, +176,93,0,218,213,0,170,108,0,172,216,0,9,106,0,248,219,0,235,102,0,214,238,0,75,86,0,68,218,0,96,90,0,96,226,0,129,87,0,43,244,0,90,89,0,196,224,0,185,100,0,115,223,0,211,77,0,107,224,0,73,86,0,7,210,0,7,97,0,110,211,0,48,84,0,77,219,0,25,75,0,67,194, +0,235,70,0,44,185,0,144,74,0,164,182,0,115,71,0,155,164,0,242,48,0,73,163,0,127,78,0,99,156,0,13,59,0,171,158,0,6,53,0,121,116,0,181,58,0,234,135,0,225,71,0,78,141,0,98,40,0,242,118,0,6,51,0,172,126,0,73,59,0,204,111,0,159,47,0,156,109,0,252,41,0,91, +111,0,154,20,0,185,91,0,107,49,0,12,89,0,66,13,0,138,68,0,160,19,0,110,77,0,197,7,0,58,60,0,68,11,0,191,69,0,190,8,0,187,54,0,55,6,0,69,41,0,40,15,0,130,50,0,173,5,0,0,73,0,91,1,0,6,48,0,212,5,0,108,27,0,245,234,255,55,29,0,17,18,0,60,49,0,125,242,255, +155,29,0,242,219,255,252,7,0,17,250,255,5,29,0,20,4,0,122,25,0,241,18,0,99,35,0,162,254,255,230,22,0,188,242,255,57,3,0,217,255,255,102,7,0,40,8,0,108,13,0,251,247,255,198,255,255,123,0,0,162,248,255,211,0,0,239,2,0,170,14,0,250,224,255,103,1,0,137,231, +255,141,18,0,212,231,255,5,28,0,48,226,255,132,9,0,73,233,255,38,15,0,255,215,255,41,1,0,213,224,255,26,20,0,99,226,255,233,24,0,148,216,255,154,45,0,233,240,255,225,20,0,47,223,255,247,22,0,241,222,255,175,254,255,90,229,255,63,3,0,85,206,255,179,11, +0,28,219,255,54,6,0,25,221,255,126,3,0,246,208,255,245,2,0,35,240,255,226,13,0,191,239,255,91,6,0,155,222,255,35,17,0,210,235,255,142,21,0,101,221,255,27,13,0,1,243,255,17,6,0,160,240,255,71,2,0,98,250,255,117,255,255,60,235,255,80,26,0,131,254,255,99, +30,0,61,245,255,70,44,0,9,237,255,237,45,0,181,3,0,85,52,0,208,21,0,94,39,0,39,12,0,83,54,0,87,14,0,204,61,0,59,16,0,85,77,0,134,16,0,207,99,0,192,10,0,214,83,0,226,248,255,225,88,0,188,248,255,181,104,0,173,255,255,249,103,0,2,248,255,239,96,0,25,220, +255,127,96,0,33,232,255,76,116,0,133,232,255,5,84,0,152,213,255,186,88,0,102,228,255,134,75,0,77,228,255,200,91,0,74,220,255,29,69,0,95,224,255,170,65,0,139,233,255,250,99,0,20,244,255,220,65,0,245,204,255,154,82,0,254,241,255,76,79,0,224,235,255,133, +73,0,28,228,255,173,71,0,21,224,255,220,73,0,108,234,255,111,66,0,153,238,255,74,79,0,156,221,255,194,101,0,176,248,255,243,73,0,207,234,255,194,96,0,25,240,255,74,97,0,114,235,255,66,103,0,139,243,255,201,113,0,113,240,255,131,104,0,156,231,255,128, +129,0,8,231,255,188,126,0,27,225,255,223,136,0,239,235,255,114,134,0,127,230,255,38,152,0,87,250,255,48,167,0,109,229,255,246,167,0,177,248,255,161,165,0,165,230,255,75,178,0,22,208,255,206,172,0,34,244,255,184,183,0,255,228,255,240,182,0,63,227,255, +173,189,0,146,226,255,219,209,0,54,220,255,46,181,0,156,223,255,178,175,0,219,210,255,170,163,0,223,216,255,158,158,0,234,208,255,158,161,0,122,208,255,156,163,0,186,203,255,252,160,0,182,197,255,232,169,0,136,182,255,140,155,0,229,170,255,238,160,0, +108,163,255,120,151,0,128,167,255,31,148,0,213,164,255,92,127,0,213,156,255,235,126,0,176,148,255,244,128,0,113,140,255,212,132,0,95,165,255,167,133,0,11,147,255,68,112,0,218,154,255,10,121,0,40,137,255,53,109,0,93,130,255,73,124,0,16,137,255,154,107, +0,110,136,255,69,118,0,5,132,255,32,113,0,193,135,255,236,117,0,18,137,255,253,118,0,182,135,255,86,122,0,84,106,255,83,127,0,34,111,255,175,115,0,181,124,255,162,123,0,118,113,255,121,122,0,44,110,255,37,115,0,0,122,255,126,94,0,68,91,255,254,138,0, +98,108,255,61,131,0,209,121,255,162,86,0,249,92,255,98,118,0,201,87,255,37,121,0,6,93,255,246,118,0,66,95,255,215,114,0,54,103,255,110,121,0,190,84,255,131,139,0,114,70,255,103,106,0,18,84,255,118,107,0,222,85,255,126,122,0,22,106,255,75,111,0,239,75, +255,36,92,0,63,66,255,44,91,0,79,72,255,243,102,0,28,69,255,57,75,0,253,69,255,124,68,0,76,33,255,153,61,0,46,26,255,154,64,0,125,43,255,157,81,0,202,68,255,244,73,0,239,57,255,156,81,0,73,53,255,158,54,0,232,25,255,253,78,0,43,35,255,23,60,0,136,39, +255,93,62,0,133,38,255,121,79,0,205,40,255,143,73,0,95,40,255,161,77,0,170,21,255,29,81,0,185,35,255,9,85,0,228,14,255,141,84,0,236,10,255,47,74,0,36,249,254,210,83,0,14,7,255,144,49,0,2,7,255,28,84,0,86,251,254,23,69,0,91,7,255,27,70,0,221,242,254,204, +79,0,251,254,254,28,65,0,84,244,254,251,65,0,44,221,254,165,65,0,254,212,254,61,39,0,103,214,254,87,59,0,77,222,254,178,57,0,208,215,254,209,39,0,142,208,254,207,36,0,244,214,254,2,40,0,108,208,254,53,43,0,152,215,254,109,39,0,206,213,254,41,60,0,66, +220,254,41,49,0,10,227,254,101,40,0,196,210,254,117,27,0,48,235,254,75,65,0,49,235,254,144,36,0,16,213,254,180,47,0,84,228,254,53,35,0,56,230,254,238,29,0,35,225,254,217,47,0,47,205,254,115,35,0,255,201,254,226,32,0,30,206,254,70,59,0,170,198,254,57, +59,0,232,172,254,7,56,0,113,170,254,122,31,0,220,160,254,50,66,0,107,168,254,119,42,0,137,163,254,211,26,0,56,147,254,224,55,0,36,139,254,87,49,0,10,127,254,66,47,0,3,125,254,166,53,0,222,112,254,123,23,0,44,105,254,51,41,0,122,97,254,86,23,0,43,98,254, +49,3,0,175,91,254,240,16,0,63,99,254,198,6,0,43,94,254,111,0,0,197,86,254,191,246,255,108,65,254,198,230,255,149,83,254,59,247,255,0,91,254,253,217,255,214,71,254,110,230,255,93,83,254,211,210,255,8,80,254,112,210,255,11,92,254,70,238,255,229,90,254, +118,217,255,208,79,254,242,220,255,137,94,254,251,228,255,215,106,254,42,234,255,223,87,254,4,231,255,198,98,254,24,224,255,246,112,254,5,234,255,98,103,254,192,246,255,67,107,254,241,246,255,172,108,254,44,252,255,76,117,254,28,4,0,182,127,254,114,254, +255,104,111,254,239,7,0,144,135,254,61,9,0,42,131,254,148,6,0,77,136,254,65,22,0,104,142,254,194,14,0,110,158,254,89,10,0,100,146,254,243,14,0,80,147,254,204,2,0,49,136,254,3,4,0,253,149,254,126,7,0,109,162,254,255,5,0,198,144,254,56,14,0,52,159,254, +222,6,0,238,150,254,36,30,0,174,149,254,122,0,0,72,145,254,246,27,0,57,165,254,218,5,0,228,140,254,114,13,0,246,162,254,234,9,0,3,166,254,196,12,0,6,157,254,241,26,0,94,172,254,251,4,0,128,150,254,93,249,255,82,135,254,36,6,0,4,149,254,200,13,0,244,159, +254,14,10,0,101,163,254,20,243,255,59,128,254,32,249,255,192,142,254,102,251,255,136,134,254,251,254,255,43,141,254,255,255,255,251,137,254,54,242,255,126,118,254,45,240,255,104,121,254,235,229,255,47,116,254,198,238,255,66,108,254,243,246,255,158,115, +254,198,238,255,78,104,254,157,234,255,229,101,254,206,240,255,186,93,254,208,222,255,240,97,254,80,224,255,138,114,254,99,241,255,24,119,254,126,229,255,28,126,254,180,221,255,238,113,254,17,245,255,110,133,254,98,250,255,75,127,254,138,229,255,138, +133,254,43,233,255,19,134,254,179,233,255,146,150,254,14,235,255,12,125,254,137,219,255,254,139,254,46,218,255,30,132,254,100,238,255,56,144,254,9,246,255,84,154,254,124,219,255,88,139,254,62,244,255,5,149,254,23,237,255,134,131,254,156,230,255,48,115, +254,143,236,255,190,116,254,182,224,255,168,110,254,173,209,255,186,111,254,214,229,255,158,113,254,120,208,255,63,101,254,202,213,255,70,96,254,116,210,255,206,89,254,158,183,255,167,66,254,150,187,255,210,70,254,147,183,255,69,65,254,2,187,255,170, +62,254,209,151,255,198,40,254,203,162,255,121,42,254,175,174,255,105,66,254,40,168,255,213,55,254,226,155,255,86,44,254,174,167,255,76,70,254,147,163,255,204,61,254,242,149,255,164,63,254,228,171,255,169,70,254,59,185,255,74,106,254,46,191,255,21,85, +254,168,184,255,240,100,254,150,189,255,178,96,254,190,190,255,145,90,254,240,190,255,118,112,254,89,199,255,75,126,254,201,202,255,164,113,254,73,201,255,31,133,254,184,204,255,173,121,254,132,200,255,148,114,254,168,177,255,129,125,254,253,170,255, +179,115,254,191,183,255,31,118,254,207,164,255,163,100,254,228,173,255,247,115,254,160,158,255,239,80,254,87,168,255,110,101,254,12,148,255,251,69,254,166,133,255,206,63,254,198,151,255,203,78,254,123,141,255,199,83,254,37,121,255,95,55,254,90,132,255, +4,63,254,198,121,255,234,48,254,78,125,255,125,58,254,127,118,255,97,50,254,22,113,255,250,67,254,221,103,255,188,50,254,69,132,255,23,68,254,239,134,255,249,82,254,213,117,255,141,69,254,101,127,255,120,93,254,52,157,255,34,89,254,163,150,255,107,125, +254,17,147,255,180,121,254,207,145,255,7,124,254,204,154,255,227,136,254,153,167,255,2,162,254,148,159,255,93,156,254,92,187,255,200,151,254,53,183,255,87,174,254,44,184,255,22,159,254,18,177,255,108,175,254,140,183,255,111,162,254,255,194,255,255,181, +254,225,176,255,138,162,254,130,187,255,211,168,254,122,181,255,20,173,254,243,167,255,33,166,254,213,162,255,79,168,254,33,153,255,255,141,254,72,157,255,226,153,254,207,146,255,194,147,254,248,154,255,157,157,254,99,171,255,106,163,254,191,162,255, +60,167,254,5,172,255,207,173,254,170,142,255,16,171,254,192,148,255,184,183,254,126,181,255,4,184,254,31,165,255,243,178,254,250,150,255,94,184,254,133,176,255,106,201,254,117,161,255,5,193,254,238,181,255,105,214,254,155,161,255,64,202,254,75,166,255, +5,206,254,88,180,255,154,223,254,146,179,255,246,207,254,180,164,255,191,219,254,237,166,255,225,211,254,38,190,255,76,217,254,231,171,255,17,235,254,174,190,255,85,240,254,47,196,255,106,249,254,7,174,255,225,237,254,242,195,255,200,240,254,36,189,255, +215,2,255,184,196,255,11,7,255,17,180,255,178,5,255,221,210,255,83,27,255,120,220,255,166,26,255,17,201,255,187,42,255,29,208,255,131,47,255,140,215,255,157,51,255,250,225,255,166,71,255,176,229,255,111,69,255,106,237,255,212,59,255,209,231,255,180,60, +255,229,226,255,229,67,255,131,230,255,199,47,255,171,238,255,97,53,255,130,226,255,95,63,255,241,226,255,221,67,255,219,230,255,114,75,255,212,228,255,179,65,255,157,212,255,63,67,255,226,214,255,254,83,255,198,206,255,228,86,255,21,201,255,74,84,255, +241,211,255,38,88,255,162,206,255,30,107,255,65,210,255,212,106,255,149,231,255,77,106,255,205,211,255,40,128,255,148,238,255,187,131,255,107,237,255,112,134,255,85,238,255,172,141,255,58,14,0,224,156,255,126,5,0,36,170,255,180,21,0,48,177,255,146,44, +0,130,194,255,79,50,0,218,202,255,73,37,0,162,185,255,49,56,0,202,212,255,238,61,0,249,222,255,103,72,0,144,220,255,1,90,0,108,228,255,144,81,0,234,221,255,72,93,0,214,241,255,171,104,0,128,4,0,243,89,0,238,226,255,186,98,0,25,236,255,185,79,0,126,233, +255,122,94,0,62,236,255,19,89,0,91,230,255,187,80,0,146,235,255,12,72,0,152,252,255,204,74,0,30,249,255,94,86,0,88,3,0,153,74,0,142,12,0,225,77,0,23,17,0,239,51,0,105,12,0,111,65,0,191,12,0,2,62,0,222,33,0,63,54,0,194,28,0,35,80,0,27,30,0,30,67,0,90, +30,0,190,59,0,11,33,0,62,77,0,228,54,0,104,71,0,55,31,0,252,75,0,2,53,0,234,85,0,225,42,0,144,76,0,126,34,0,167,72,0,69,47,0,35,104,0,255,63,0,56,72,0,234,41,0,240,72,0,160,45,0,57,88,0,136,53,0,199,98,0,64,46,0,94,104,0,130,63,0,147,82,0,143,67,0,37, +94,0,1,65,0,157,97,0,127,70,0,51,114,0,182,68,0,109,93,0,170,76,0,136,106,0,168,56,0,64,111,0,218,68,0,189,92,0,103,47,0,83,82,0,76,66,0,213,96,0,13,66,0,92,97,0,227,87,0,183,59,0,133,61,0,200,96,0,112,82,0,241,82,0,228,76,0,228,66,0,95,65,0,216,90,0, +198,78,0,200,65,0,70,57,0,225,73,0,190,60,0,215,54,0,177,76,0,51,45,0,29,52,0,14,37,0,4,56,0,227,26,0,91,48,0,220,48,0,38,51,0,16,22,0,136,39,0,155,27,0,64,44,0,59,28,0,142,61,0,180,23,0,12,55,0,239,22,0,144,42,0,164,22,0,11,63,0,232,28,0,20,54,0,229, +15,0,193,46,0,140,26,0,240,37,0,164,26,0,35,51,0,241,15,0,122,39,0,143,11,0,193,26,0,61,25,0,248,40,0,250,10,0,125,24,0,48,252,255,89,24,0,23,0,0,118,5,0,153,250,255,202,240,255,197,219,255,150,239,255,22,227,255,75,255,255,151,212,255,239,248,255,30, +213,255,26,226,255,210,211,255,201,223,255,172,202,255,200,218,255,69,209,255,45,195,255,132,197,255,29,206,255,145,197,255,198,213,255,145,180,255,11,221,255,43,175,255,105,198,255,118,196,255,209,225,255,251,195,255,235,221,255,128,195,255,151,239, +255,99,189,255,96,241,255,158,218,255,8,253,255,244,205,255,238,17,0,158,218,255,219,249,255,248,215,255,71,23,0,141,229,255,15,21,0,15,215,255,118,18,0,82,221,255,127,51,0,139,228,255,171,45,0,107,221,255,42,64,0,98,218,255,61,58,0,116,224,255,29,64, +0,36,222,255,49,67,0,173,244,255,203,86,0,182,234,255,183,84,0,237,197,255,59,58,0,31,237,255,137,72,0,85,217,255,66,52,0,3,214,255,238,69,0,182,221,255,151,56,0,54,232,255,117,57,0,163,192,255,33,45,0,24,230,255,203,83,0,162,218,255,138,52,0,141,219, +255,195,50,0,50,226,255,3,61,0,36,234,255,122,68,0,103,214,255,19,71,0,242,211,255,45,45,0,141,219,255,54,66,0,198,226,255,79,84,0,149,217,255,183,60,0,169,229,255,209,78,0,233,234,255,110,100,0,139,209,255,107,90,0,251,214,255,241,103,0,150,226,255, +36,105,0,117,232,255,213,111,0,39,235,255,166,99,0,164,231,255,202,121,0,7,241,255,40,147,0,62,225,255,159,119,0,88,244,255,117,140,0,102,231,255,242,154,0,137,239,255,197,125,0,38,234,255,158,124,0,140,249,255,239,163,0,96,242,255,242,128,0,195,242, +255,57,165,0,199,221,255,219,156,0,250,217,255,242,147,0,157,228,255,33,152,0,237,226,255,206,143,0,174,230,255,95,166,0,235,225,255,246,154,0,143,232,255,218,148,0,16,212,255,155,148,0,213,226,255,253,162,0,138,239,255,92,176,0,81,227,255,0,174,0,220, +242,255,205,177,0,224,225,255,221,174,0,101,239,255,164,181,0,61,247,255,11,184,0,102,11,0,76,199,0,238,2,0,4,196,0,185,252,255,235,181,0,157,18,0,108,208,0,155,250,255,77,206,0,68,17,0,228,207,0,212,248,255,7,227,0,175,6,0,98,215,0,76,243,255,6,194, +0,181,18,0,242,214,0,188,2,0,124,212,0,247,1,0,208,216,0,159,0,0,184,212,0,80,3,0,85,217,0,39,243,255,210,199,0,173,252,255,80,206,0,215,249,255,129,168,0,23,0,0,35,213,0,131,245,255,116,202,0,120,9,0,100,220,0,210,247,255,30,203,0,21,4,0,168,228,0,14, +11,0,246,240,0,233,5,0,22,215,0,157,9,0,207,211,0,188,2,0,83,221,0,168,255,255,193,235,0,87,20,0,216,250,0,251,249,255,167,4,1,186,1,0,218,237,0,161,16,0,147,248,0,147,15,0,111,254,0,143,255,255,206,12,1,181,14,0,228,11,1,65,27,0,136,34,1,243,19,0,192, +32,1,242,24,0,202,17,1,203,28,0,171,20,1,201,32,0,213,27,1,143,19,0,193,20,1,69,19,0,158,16,1,215,43,0,138,8,1,45,24,0,200,255,0,166,33,0,185,244,0,232,25,0,117,1,1,168,24,0,32,2,1,111,16,0,30,238,0,15,17,0,131,244,0,136,21,0,32,234,0,168,9,0,95,225, +0,1,11,0,227,219,0,236,247,255,211,223,0,55,254,255,41,219,0,59,240,255,205,211,0,245,246,255,184,213,0,219,225,255,82,191,0,148,226,255,109,198,0,36,251,255,117,212,0,217,229,255,51,205,0,193,229,255,196,194,0,62,252,255,209,210,0,109,230,255,111,206, +0,25,246,255,178,198,0,111,236,255,69,199,0,124,231,255,125,213,0,186,231,255,97,217,0,82,239,255,113,224,0,39,252,255,248,230,0,153,206,255,117,216,0,238,243,255,137,241,0,249,237,255,23,235,0,45,223,255,89,232,0,174,231,255,39,243,0,229,228,255,247, +248,0,136,225,255,122,237,0,120,223,255,247,217,0,108,218,255,142,236,0,31,195,255,142,231,0,118,201,255,100,197,0,223,193,255,213,198,0,203,184,255,214,194,0,237,177,255,5,205,0,110,186,255,193,180,0,101,188,255,157,197,0,182,169,255,212,189,0,104,183, +255,88,189,0,38,181,255,192,181,0,254,162,255,192,176,0,143,189,255,153,186,0,76,170,255,152,197,0,107,173,255,106,182,0,45,178,255,22,195,0,76,175,255,73,174,0,240,171,255,83,184,0,217,166,255,16,193,0,203,171,255,24,186,0,233,179,255,22,191,0,104,176, +255,180,196,0,32,154,255,216,196,0,17,158,255,87,194,0,103,164,255,233,188,0,56,170,255,191,203,0,57,148,255,47,199,0,108,171,255,73,189,0,45,159,255,49,195,0,34,165,255,118,216,0,212,145,255,62,202,0,239,157,255,174,209,0,30,157,255,49,231,0,4,122,255, +116,211,0,89,155,255,17,200,0,133,147,255,218,208,0,124,148,255,249,194,0,18,156,255,73,204,0,150,137,255,25,188,0,45,151,255,25,200,0,133,140,255,116,191,0,208,129,255,182,188,0,242,145,255,183,195,0,96,151,255,253,187,0,58,150,255,28,180,0,11,151,255, +141,164,0,160,140,255,58,178,0,18,154,255,95,190,0,204,125,255,134,191,0,197,151,255,8,202,0,183,150,255,54,201,0,188,146,255,29,219,0,141,159,255,91,226,0,19,147,255,33,222,0,52,157,255,148,242,0,193,154,255,11,224,0,31,158,255,105,246,0,183,178,255, +34,236,0,186,174,255,229,248,0,30,181,255,5,27,1,179,158,255,144,6,1,21,176,255,252,17,1,133,177,255,200,16,1,199,185,255,246,21,1,115,168,255,168,20,1,101,185,255,16,30,1,239,192,255,157,40,1,186,178,255,254,22,1,30,174,255,18,33,1,151,185,255,240,46, +1,133,182,255,158,24,1,51,196,255,4,65,1,196,182,255,103,41,1,112,189,255,157,51,1,191,204,255,235,47,1,252,191,255,38,41,1,196,213,255,12,66,1,86,200,255,213,38,1,220,206,255,96,48,1,130,210,255,50,50,1,127,221,255,214,53,1,119,223,255,45,43,1,42,215, +255,68,36,1,252,228,255,184,46,1,44,216,255,156,39,1,159,231,255,14,55,1,111,219,255,164,38,1,75,219,255,112,31,1,72,217,255,137,38,1,17,227,255,123,57,1,78,233,255,47,31,1,120,223,255,180,50,1,60,211,255,54,55,1,39,219,255,152,36,1,57,222,255,41,50, +1,25,225,255,57,59,1,103,227,255,43,72,1,158,236,255,105,73,1,5,233,255,182,69,1,83,235,255,239,74,1,216,234,255,157,84,1,220,230,255,17,102,1,73,250,255,224,108,1,143,255,255,85,100,1,2,251,255,18,118,1,15,9,0,239,126,1,233,243,255,255,115,1,5,246,255, +239,134,1,219,6,0,20,129,1,71,33,0,120,145,1,82,19,0,230,152,1,123,21,0,236,157,1,1,22,0,152,152,1,120,47,0,183,170,1,7,32,0,21,156,1,193,40,0,129,156,1,56,32,0,113,148,1,21,33,0,80,151,1,26,57,0,161,142,1,138,37,0,185,136,1,188,38,0,143,141,1,118,40, +0,97,123,1,183,49,0,99,139,1,225,45,0,95,131,1,52,37,0,215,123,1,202,46,0,191,124,1,23,21,0,213,117,1,234,36,0,53,125,1,126,24,0,255,115,1,204,12,0,122,103,1,60,28,0,27,134,1,82,13,0,177,122,1,248,2,0,55,102,1,97,235,255,98,107,1,37,250,255,45,120,1, +107,6,0,23,115,1,129,253,255,188,119,1,113,244,255,221,96,1,0,250,255,190,108,1,61,242,255,219,97,1,105,247,255,179,103,1,174,229,255,5,103,1,171,249,255,150,102,1,98,1,0,225,112,1,197,243,255,249,105,1,163,252,255,182,95,1,218,6,0,159,97,1,249,244,255, +186,99,1,128,245,255,26,63,1,221,16,0,99,108,1,60,8,0,15,95,1,54,4,0,209,110,1,4,244,255,58,86,1,52,3,0,59,95,1,215,253,255,168,95,1,14,243,255,167,88,1,104,5,0,9,97,1,187,251,255,25,101,1,8,254,255,106,91,1,152,252,255,120,77,1,33,247,255,216,100,1, +120,7,0,168,79,1,13,242,255,238,85,1,182,248,255,81,111,1,39,243,255,186,93,1,52,243,255,117,97,1,65,252,255,115,89,1,196,1,0,235,88,1,179,238,255,22,86,1,113,235,255,238,76,1,58,247,255,15,92,1,85,232,255,95,81,1,125,243,255,150,78,1,212,243,255,107, +83,1,129,237,255,13,70,1,5,228,255,42,34,1,201,228,255,138,50,1,207,215,255,75,42,1,32,213,255,1,50,1,137,217,255,195,33,1,76,218,255,43,31,1,106,213,255,98,28,1,199,209,255,162,22,1,44,204,255,114,24,1,190,203,255,253,11,1,118,204,255,35,13,1,37,199, +255,159,7,1,53,202,255,178,12,1,34,188,255,204,14,1,94,196,255,193,16,1,42,193,255,45,255,0,19,177,255,133,248,0,19,177,255,145,10,1,140,176,255,191,1,1,75,173,255,148,5,1,60,188,255,128,1,1,34,178,255,90,9,1,189,166,255,44,12,1,242,177,255,113,19,1, +126,173,255,94,6,1,78,165,255,83,25,1,250,156,255,212,13,1,152,164,255,130,8,1,239,165,255,251,25,1,229,175,255,61,13,1,189,173,255,22,21,1,118,166,255,146,244,0,134,177,255,32,21,1,117,173,255,173,26,1,234,177,255,157,16,1,62,168,255,184,10,1,219,175, +255,45,16,1,62,185,255,81,17,1,219,183,255,246,31,1,20,181,255,106,10,1,80,189,255,146,31,1,209,212,255,163,17,1,135,184,255,148,34,1,42,206,255,154,31,1,207,191,255,8,14,1,225,196,255,244,55,1,254,199,255,135,10,1,136,211,255,59,37,1,17,214,255,209, +40,1,140,195,255,60,40,1,208,200,255,171,32,1,163,213,255,199,36,1,13,210,255,9,42,1,54,185,255,195,44,1,158,189,255,166,32,1,102,194,255,13,38,1,128,185,255,47,27,1,72,188,255,137,61,1,218,188,255,210,42,1,22,187,255,183,40,1,110,179,255,243,32,1,201, +174,255,2,26,1,98,169,255,229,42,1,109,177,255,12,36,1,46,156,255,155,23,1,147,168,255,154,23,1,26,169,255,185,20,1,95,165,255,232,9,1,107,164,255,99,22,1,167,163,255,171,2,1,138,149,255,55,8,1,213,160,255,18,254,0,21,153,255,77,18,1,78,159,255,97,16, +1,57,162,255,140,246,0,70,152,255,173,255,0,203,171,255,170,8,1,190,149,255,95,7,1,80,159,255,127,5,1,226,147,255,251,252,0,47,182,255,52,15,1,205,160,255,211,26,1,228,147,255,125,7,1,225,166,255,165,21,1,203,157,255,201,21,1,161,152,255,32,25,1,204, +179,255,73,30,1,78,164,255,70,6,1,66,164,255,107,19,1,227,176,255,15,35,1,223,183,255,153,28,1,105,188,255,16,17,1,191,177,255,123,37,1,197,192,255,55,32,1,169,200,255,243,37,1,227,186,255,248,32,1,103,184,255,51,32,1,88,192,255,228,16,1,186,203,255, +143,40,1,4,204,255,62,35,1,239,195,255,209,24,1,194,210,255,42,41,1,108,210,255,54,65,1,93,206,255,173,29,1,112,213,255,154,23,1,60,211,255,128,35,1,81,218,255,252,26,1,237,215,255,102,13,1,9,219,255,0,22,1,34,208,255,160,11,1,191,217,255,64,27,1,201, +214,255,2,15,1,237,202,255,133,12,1,134,209,255,2,18,1,229,182,255,245,29,1,139,190,255,103,11,1,198,186,255,131,4,1,38,186,255,236,12,1,115,177,255,94,18,1,193,180,255,62,36,1,54,164,255,217,20,1,35,194,255,113,41,1,179,178,255,32,22,1,199,174,255,62, +41,1,30,188,255,16,45,1,119,203,255,81,51,1,39,196,255,104,51,1,164,224,255,227,53,1,246,195,255,85,47,1,234,221,255,113,65,1,170,218,255,36,50,1,66,224,255,211,68,1,202,212,255,220,78,1,147,219,255,199,84,1,46,241,255,53,73,1,130,226,255,69,80,1,148, +245,255,32,80,1,112,233,255,120,84,1,72,243,255,179,70,1,43,223,255,14,51,1,89,234,255,91,71,1,146,216,255,84,52,1,165,236,255,171,54,1,182,228,255,216,52,1,189,236,255,38,45,1,183,214,255,189,38,1,185,202,255,213,39,1,26,201,255,154,42,1,33,211,255, +13,51,1,166,210,255,44,32,1,99,202,255,224,30,1,11,185,255,195,26,1,216,209,255,13,58,1,12,185,255,254,11,1,215,193,255,228,41,1,183,183,255,12,33,1,210,173,255,233,35,1,29,175,255,190,44,1,11,182,255,1,37,1,4,187,255,183,38,1,182,196,255,118,36,1,48, +196,255,145,39,1,32,191,255,59,40,1,34,192,255,137,48,1,51,198,255,176,53,1,132,208,255,122,49,1,232,210,255,183,49,1,249,200,255,147,36,1,117,204,255,54,61,1,73,210,255,181,36,1,130,203,255,30,49,1,110,209,255,96,40,1,122,210,255,171,28,1,178,186,255, +76,18,1,251,201,255,245,16,1,195,208,255,202,26,1,212,198,255,85,18,1,178,184,255,53,9,1,133,190,255,157,3,1,98,191,255,124,9,1,200,196,255,7,19,1,194,187,255,56,3,1,187,196,255,240,6,1,24,189,255,86,253,0,189,161,255,150,3,1,227,180,255,110,18,1,249, +194,255,46,14,1,126,192,255,254,35,1,203,181,255,234,25,1,245,205,255,96,39,1,252,216,255,60,42,1,50,206,255,195,44,1,28,210,255,45,61,1,31,214,255,105,43,1,115,210,255,171,35,1,181,199,255,55,46,1,87,205,255,154,30,1,93,231,255,129,31,1,182,198,255, +148,63,1,51,205,255,21,38,1,216,213,255,31,37,1,231,218,255,86,30,1,176,226,255,48,9,1,65,226,255,57,6,1,213,206,255,117,26,1,63,202,255,165,8,1,146,198,255,200,7,1,229,212,255,9,16,1,68,228,255,80,250,0,147,218,255,181,0,1,170,214,255,170,240,0,4,223, +255,80,236,0,143,210,255,86,247,0,120,212,255,240,240,0,10,212,255,191,220,0,133,213,255,3,234,0,54,225,255,129,222,0,107,211,255,158,232,0,98,215,255,233,237,0,242,211,255,212,223,0,172,216,255,178,230,0,228,229,255,123,220,0,44,227,255,78,228,0,3,219, +255,181,239,0,71,233,255,161,228,0,142,227,255,30,237,0,151,243,255,100,232,0,138,242,255,224,238,0,49,235,255,59,226,0,229,252,255,181,254,0,230,231,255,129,225,0,150,240,255,17,248,0,216,251,255,190,228,0,89,242,255,78,251,0,229,229,255,15,252,0,137, +239,255,11,247,0,237,217,255,32,239,0,168,227,255,209,228,0,181,227,255,57,246,0,248,240,255,140,242,0,249,216,255,150,241,0,61,232,255,134,207,0,239,219,255,143,230,0,18,218,255,73,212,0,244,231,255,200,223,0,228,223,255,180,210,0,65,214,255,28,226, +0,18,216,255,211,229,0,113,210,255,73,223,0,113,209,255,183,227,0,42,214,255,74,198,0,252,221,255,110,202,0,61,199,255,4,181,0,220,199,255,98,176,0,238,211,255,239,195,0,51,201,255,134,176,0,244,194,255,163,189,0,197,198,255,31,168,0,119,188,255,88,156, +0,14,199,255,139,167,0,107,186,255,78,169,0,133,189,255,197,162,0,233,194,255,194,157,0,218,186,255,135,162,0,114,203,255,136,171,0,136,197,255,136,172,0,151,201,255,141,151,0,108,219,255,69,156,0,111,226,255,115,152,0,127,202,255,184,138,0,191,210,255, +32,162,0,98,225,255,33,167,0,179,206,255,123,146,0,21,212,255,196,146,0,85,217,255,144,140,0,255,215,255,206,146,0,147,221,255,107,143,0,163,194,255,233,115,0,73,219,255,15,123,0,118,203,255,234,121,0,169,209,255,107,105,0,57,201,255,182,113,0,153,192, +255,200,91,0,19,194,255,210,83,0,241,204,255,159,82,0,95,208,255,27,89,0,204,199,255,66,102,0,176,185,255,72,77,0,213,186,255,218,79,0,67,181,255,194,80,0,179,190,255,195,90,0,94,189,255,233,96,0,146,207,255,150,107,0,143,187,255,219,88,0,193,199,255, +170,93,0,143,187,255,170,93,0,217,193,255,46,88,0,135,205,255,125,115,0,147,203,255,147,110,0,171,202,255,233,114,0,186,216,255,61,110,0,233,205,255,170,105,0,148,203,255,122,115,0,141,228,255,133,115,0,189,228,255,217,102,0,83,252,255,242,111,0,102, +221,255,253,109,0,82,244,255,229,114,0,254,247,255,253,111,0,134,9,0,8,103,0,99,17,0,104,98,0,245,14,0,90,99,0,99,17,0,28,91,0,233,23,0,200,100,0,38,17,0,88,93,0,63,23,0,16,104,0,88,31,0,137,92,0,172,25,0,50,85,0,246,28,0,38,92,0,137,39,0,245,86,0,232, +21,0,36,80,0,13,18,0,171,83,0,74,25,0,243,79,0,37,15,0,171,94,0,122,18,0,23,75,0,84,4,0,35,76,0,144,246,255,107,76,0,47,0,0,33,64,0,242,1,0,215,68,0,72,253,255,116,51,0,22,5,0,56,44,0,133,0,0,105,55,0,71,2,0,55,45,0,60,1,0,66,36,0,23,253,255,127,28,0, +206,251,255,249,21,0,144,241,255,199,12,0,72,244,255,175,0,0,182,3,0,175,5,0,182,5,0,126,2,0,59,8,0,150,248,255,96,247,255,150,251,255,60,25,0,187,16,0,207,5,0,188,255,255,121,25,0,138,243,255,84,9,0,90,5,0,108,255,255,175,2,0,120,21,0,29,2,0,131,26, +0,4,0,0,11,9,0,151,250,255,35,2,0,236,248,255,133,250,255,79,228,255,60,254,255,102,241,255,48,246,255,18,218,255,168,2,0,68,202,255,144,6,0,153,209,255,193,254,255,7,204,255,60,3,0,19,212,255,11,246,255,18,226,255,71,252,255,46,195,255,48,253,255,44, +206,255,48,242,255,192,202,255,217,7,0,44,207,255,11,252,255,35,185,255,157,254,255,191,207,255,194,253,255,143,205,255,143,20,0,191,215,255,131,13,0,44,226,255,81,28,0,94,216,255,81,27,0,180,216,255,199,55,0,153,236,255,236,52,0,141,235,255,200,43,0, +27,6,0,134,76,0,3,11,0,182,79,0,224,248,255,62,68,0,112,16,0,106,92,0,86,21,0,8,93,0,50,20,0,106,90,0,87,20,0,215,93,0,75,9,0,42,104,0,159,21,0,104,90,0,226,244,255,224,102,0,85,27,0,56,84,0,138,3,0,91,93,0,249,247,255,188,97,0,190,237,255,19,82,0,167, +236,255,137,101,0,34,230,255,119,66,0,47,221,255,247,92,0,183,220,255,104,73,0,221,209,255,214,75,0,125,203,255,190,68,0,32,187,255,157,58,0,205,177,255,190,68,0,45,186,255,233,42,0,99,160,255,94,58,0,237,150,255,194,47,0,154,142,255,119,53,0,229,134, +255,20,58,0,168,141,255,132,50,0,113,119,255,53,73,0,24,136,255,106,54,0,211,124,255,181,48,0,53,122,255,8,52,0,33,107,255,55,58,0,225,121,255,80,57,0,180,109,255,232,36,0,240,114,255,119,43,0,63,139,255,253,45,0,231,110,255,230,40,0,144,117,255,197, +26,0,132,115,255,245,29,0,171,110,255,167,45,0,117,131,255,100,26,0,137,107,255,106,43,0,91,103,255,39,61,0,28,111,255,170,66,0,138,111,255,247,58,0,129,105,255,207,69,0,229,97,255,204,40,0,228,68,255,222,54,0,36,97,255,180,71,0,163,83,255,37,61,0,142, +77,255,212,48,0,64,57,255,22,35,0,93,48,255,172,57,0,7,54,255,102,48,0,11,44,255,194,29,0,84,46,255,239,41,0,131,54,255,115,14,0,72,20,255,89,18,0,214,35,255,243,26,0,26,20,255,127,13,0,176,12,255,101,18,0,123,24,255,116,10,0,152,15,255,59,1,0,96,9,255, +210,18,0,6,21,255,81,7,0,172,8,255,223,15,0,84,15,255,57,6,0,8,253,254,127,14,0,73,18,255,23,29,0,175,9,255,62,19,0,44,233,254,24,24,0,231,25,255,15,17,0,218,3,255,34,27,0,169,4,255,93,6,0,110,236,254,164,35,0,186,2,255,210,15,0,91,252,254,249,36,0,141, +228,254,65,39,0,4,237,254,14,16,0,47,228,254,219,48,0,111,221,254,222,15,0,185,200,254,111,18,0,147,204,254,145,24,0,245,204,254,215,4,0,94,171,254,126,14,0,131,172,254,107,26,0,156,174,254,121,23,0,193,176,254,174,14,0,199,169,254,27,17,0,36,157,254, +210,14,0,101,153,254,52,13,0,44,147,254,131,24,0,252,149,254,3,15,0,87,141,254,75,39,0,155,156,254,26,36,0,43,140,254,3,35,0,23,156,254,140,27,0,243,157,254,121,21,0,55,171,254,1,16,0,26,158,254,108,22,0,229,148,254,18,7,0,81,154,254,10,1,0,42,182,254, +234,250,255,55,162,254,203,239,255,41,168,254,199,10,0,203,163,254,98,17,0,77,154,254,215,240,255,29,155,254,149,248,255,164,155,254,37,252,255,36,168,254,178,6,0,217,154,254,63,250,255,14,151,254,230,19,0,79,146,254,145,0,0,103,131,254,50,251,255,165, +131,254,24,18,0,241,149,254,251,242,255,199,122,254,32,242,255,192,136,254,241,19,0,246,129,254,207,254,255,19,125,254,133,17,0,103,112,254,59,1,0,179,110,254,253,20,0,35,128,254,69,3,0,55,84,254,117,23,0,207,131,254,37,15,0,144,120,254,61,15,0,43,110, +254,231,16,0,96,105,254,97,16,0,72,108,254,195,14,0,219,109,254,10,0,0,55,103,254,194,16,0,0,97,254,58,3,0,140,92,254,33,19,0,91,94,254,238,245,255,249,63,254,36,255,255,162,70,254,235,250,255,33,66,254,2,12,0,189,71,254,222,250,255,200,58,254,197,251, +255,159,51,254,98,236,255,64,50,254,206,238,255,163,51,254,154,227,255,124,41,254,140,231,255,164,24,254,58,243,255,28,45,254,181,225,255,182,37,254,102,248,255,21,45,254,193,226,255,97,29,254,59,226,255,34,47,254,97,240,255,184,46,254,6,232,255,176, +43,254,136,236,255,111,36,254,15,237,255,12,41,254,85,239,255,178,49,254,198,236,255,162,56,254,16,235,255,117,53,254,167,229,255,217,52,254,189,217,255,48,53,254,254,227,255,200,50,254,149,223,255,143,48,254,235,221,255,159,44,254,204,229,255,20,53, +254,211,221,255,151,59,254,249,219,255,241,42,254,74,197,255,192,45,254,108,214,255,91,50,254,198,209,255,169,48,254,105,218,255,72,36,254,129,204,255,127,44,254,246,196,255,117,32,254,7,206,255,73,42,254,157,201,255,89,27,254,134,200,255,54,41,254,251, +205,255,210,59,254,225,222,255,171,36,254,105,219,255,169,56,254,128,207,255,244,55,254,67,209,255,35,47,254,113,212,255,149,57,254,188,235,255,53,58,254,236,236,255,62,50,254,122,214,255,121,54,254,13,254,255,83,58,254,234,238,255,58,48,254,163,250, +255,237,79,254,139,249,255,78,57,254,208,228,255,34,54,254,29,250,255,102,62,254,22,1,0,171,68,254,27,239,255,168,47,254,98,241,255,80,41,254,242,230,255,105,42,254,241,220,255,87,50,254,88,239,255,218,43,254,133,219,255,219,44,254,36,219,255,211,42, +254,104,212,255,81,52,254,99,205,255,78,57,254,152,201,255,173,37,254,39,216,255,236,62,254,172,206,255,243,45,254,34,198,255,53,42,254,34,187,255,158,37,254,165,201,255,64,36,254,16,193,255,29,48,254,218,186,255,201,26,254,65,193,255,166,37,254,69,189, +255,38,46,254,243,175,255,149,35,254,244,174,255,209,14,254,47,166,255,16,16,254,58,190,255,4,18,254,185,185,255,98,11,254,197,175,255,48,3,254,74,187,255,205,251,253,130,180,255,36,252,253,10,191,255,92,3,254,229,190,255,204,247,253,107,180,255,127, +242,253,195,167,255,224,244,253,241,169,255,52,237,253,50,188,255,138,250,253,95,171,255,94,237,253,118,161,255,149,244,253,11,159,255,195,237,253,161,167,255,187,236,253,97,171,255,105,1,254,194,139,255,35,0,254,92,143,255,112,254,253,112,148,255,245, +1,254,253,142,255,64,2,254,96,121,255,184,5,254,11,132,255,80,13,254,154,134,255,207,0,254,237,126,255,5,18,254,192,134,255,96,25,254,221,131,255,136,24,254,244,132,255,205,9,254,36,134,255,213,15,254,145,114,255,241,3,254,110,103,255,212,255,253,159, +124,255,26,4,254,144,127,255,15,4,254,98,115,255,121,246,253,82,108,255,250,231,253,14,125,255,72,220,253,107,120,255,120,203,253,202,111,255,75,222,253,124,116,255,245,185,253,146,128,255,174,204,253,71,120,255,198,188,253,168,121,255,174,199,253,80, +114,255,4,182,253,166,115,255,110,177,253,81,105,255,191,163,253,116,98,255,111,161,253,188,99,255,12,174,253,132,86,255,141,152,253,240,59,255,73,150,253,0,58,255,235,149,253,134,49,255,162,161,253,207,59,255,26,155,253,219,41,255,177,143,253,60,43, +255,49,151,253,53,48,255,54,159,253,35,27,255,209,144,253,201,21,255,182,158,253,100,61,255,67,164,253,73,46,255,215,164,253,221,53,255,55,186,253,178,59,255,210,191,253,31,51,255,42,199,253,201,61,255,226,209,253,64,65,255,250,220,253,28,74,255,86,235, +253,49,77,255,241,239,253,231,86,255,30,6,254,144,88,255,197,10,254,139,84,255,117,17,254,233,104,255,95,25,254,219,106,255,114,22,254,216,109,255,29,15,254,45,110,255,193,38,254,56,111,255,85,39,254,199,105,255,178,34,254,199,106,255,37,16,254,78,106, +255,16,32,254,113,124,255,81,22,254,10,120,255,49,12,254,34,95,255,153,17,254,55,90,255,70,248,253,85,111,255,160,254,253,149,101,255,254,2,254,139,100,255,188,255,253,241,105,255,62,243,253,66,93,255,194,7,254,33,83,255,221,6,254,161,87,255,11,2,254, +3,80,255,210,8,254,54,70,255,184,11,254,7,94,255,255,253,253,126,88,255,81,35,254,165,87,255,116,12,254,58,86,255,48,19,254,53,90,255,193,53,254,66,82,255,151,50,254,97,102,255,139,59,254,184,101,255,133,48,254,132,95,255,45,68,254,238,114,255,225,71, +254,32,122,255,15,82,254,42,132,255,138,99,254,175,133,255,150,100,254,60,121,255,176,84,254,184,120,255,187,94,254,139,141,255,138,119,254,230,138,255,69,118,254,186,151,255,2,116,254,240,155,255,180,126,254,148,168,255,51,125,254,216,140,255,188,132, +254,230,170,255,134,128,254,242,148,255,155,124,254,240,157,255,249,134,254,17,160,255,247,129,254,137,169,255,21,128,254,81,174,255,51,140,254,92,152,255,232,134,254,143,166,255,106,115,254,23,150,255,17,127,254,204,166,255,123,129,254,31,161,255,246, +152,254,2,164,255,32,136,254,79,162,255,149,154,254,16,171,255,165,175,254,108,204,255,67,177,254,27,194,255,45,176,254,12,203,255,252,199,254,61,203,255,92,194,254,147,210,255,222,204,254,78,215,255,99,213,254,54,223,255,104,211,254,8,206,255,55,212, +254,8,236,255,113,229,254,159,225,255,99,231,254,88,224,255,193,234,254,244,218,255,124,239,254,78,202,255,255,227,254,244,218,255,92,238,254,220,218,255,160,234,254,241,220,255,226,232,254,162,217,255,44,247,254,184,211,255,143,232,254,76,204,255,176, +235,254,12,192,255,49,232,254,9,201,255,145,247,254,209,197,255,214,236,254,151,203,255,203,250,254,130,208,255,12,0,255,60,214,255,63,7,255,55,189,255,233,14,255,106,222,255,12,51,255,29,231,255,217,45,255,68,230,255,175,56,255,77,232,255,251,61,255, +5,245,255,62,86,255,190,1,0,38,93,255,184,18,0,83,103,255,133,13,0,222,100,255,130,28,0,139,119,255,226,42,0,241,117,255,208,38,0,213,146,255,67,43,0,222,128,255,215,48,0,65,148,255,24,53,0,31,154,255,65,57,0,151,162,255,65,70,0,7,161,255,224,62,0,155, +160,255,112,64,0,62,158,255,111,78,0,54,169,255,249,68,0,234,170,255,200,68,0,225,162,255,212,88,0,9,188,255,142,73,0,251,175,255,2,70,0,243,173,255,17,88,0,10,168,255,26,83,0,104,176,255,88,101,0,255,154,255,180,78,0,18,171,255,222,68,0,57,163,255,113, +94,0,196,160,255,65,87,0,99,135,255,206,76,0,79,158,255,68,85,0,175,153,255,94,77,0,137,173,255,75,68,0,243,162,255,167,58,0,135,168,255,127,66,0,61,163,255,133,69,0,44,172,255,97,62,0,114,186,255,188,65,0,201,185,255,86,74,0,95,196,255,116,52,0,168, +196,255,16,66,0,20,204,255,33,63,0,144,227,255,137,72,0,44,223,255,210,72,0,5,224,255,9,69,0,109,227,255,161,59,0,154,235,255,214,81,0,48,252,255,83,56,0,232,232,255,253,67,0,93,254,255,27,71,0,79,5,0,75,65,0,228,3,0,155,80,0,24,252,255,249,63,0,222, +244,255,194,66,0,135,13,0,100,82,0,99,7,0,30,99,0,208,13,0,30,111,0,81,28,0,247,93,0,50,31,0,182,101,0,65,12,0,36,107,0,137,6,0,133,119,0,145,32,0,118,114,0,186,30,0,212,115,0,228,15,0,79,133,0,193,44,0,164,126,0,127,40,0,171,140,0,34,62,0,78,138,0,151, +46,0,117,154,0,243,43,0,143,147,0,28,59,0,249,142,0,165,45,0,49,139,0,18,75,0,202,147,0,36,84,0,170,156,0,250,109,0,169,156,0,240,78,0,0,156,0,200,97,0,91,147,0,52,93,0,205,167,0,114,120,0,227,150,0,149,109,0,1,154,0,248,102,0,156,149,0,138,97,0,148, +158,0,195,110,0,74,164,0,247,108,0,168,148,0,140,84,0,173,174,0,166,106,0,74,163,0,250,100,0,31,166,0,202,94,0,178,142,0,223,84,0,29,155,0,2,91,0,151,154,0,80,83,0,104,153,0,63,62,0,255,150,0,46,70,0,56,141,0,78,61,0,163,136,0,234,61,0,86,132,0,70,42, +0,224,135,0,70,64,0,69,123,0,229,41,0,103,96,0,233,28,0,224,96,0,168,41,0,158,98,0,109,35,0,93,100,0,170,45,0,78,101,0,60,62,0,159,86,0,66,49,0,132,98,0,236,70,0,235,106,0,168,68,0,34,98,0,234,76,0,213,72,0,46,63,0,22,114,0,121,83,0,6,89,0,46,84,0,46, +103,0,88,103,0,197,127,0,26,87,0,187,104,0,236,101,0,253,123,0,142,100,0,177,130,0,238,116,0,133,122,0,78,117,0,74,121,0,198,96,0,86,148,0,149,133,0,33,139,0,143,109,0,244,152,0,59,135,0,235,161,0,72,134,0,106,143,0,235,110,0,243,157,0,233,127,0,142, +169,0,136,132,0,134,151,0,156,118,0,57,168,0,211,120,0,255,166,0,179,118,0,140,158,0,218,116,0,191,151,0,210,104,0,142,141,0,5,119,0,88,138,0,152,97,0,208,117,0,1,105,0,10,124,0,17,103,0,92,125,0,232,104,0,199,105,0,166,111,0,77,121,0,214,111,0,145,107, +0,170,104,0,38,101,0,42,122,0,238,103,0,167,110,0,92,88,0,174,112,0,77,84,0,26,128,0,252,76,0,191,114,0,112,74,0,77,137,0,100,69,0,12,123,0,41,73,0,214,145,0,82,71,0,167,134,0,113,68,0,50,137,0,246,98,0,202,149,0,25,74,0,232,136,0,81,71,0,203,153,0,203, +90,0,67,159,0,46,90,0,133,141,0,87,103,0,107,157,0,76,127,0,6,178,0,221,127,0,115,163,0,177,110,0,160,154,0,63,117,0,122,164,0,5,135,0,112,173,0,228,143,0,96,179,0,52,135,0,9,175,0,73,151,0,177,180,0,255,141,0,24,178,0,246,149,0,91,204,0,241,136,0,70, +183,0,217,131,0,254,196,0,64,139,0,129,173,0,113,148,0,135,195,0,249,132,0,43,178,0,43,132,0,80,192,0,254,144,0,108,180,0,37,124,0,202,186,0,91,122,0,184,159,0,228,115,0,228,170,0,197,118,0,107,146,0,106,115,0,30,157,0,100,84,0,34,160,0,188,121,0,73, +173,0,172,98,0,253,154,0,192,109,0,22,178,0,31,115,0,83,187,0,100,88,0,159,166,0,190,114,0,216,191,0,191,104,0,238,168,0,189,109,0,84,185,0,81,104,0,61,189,0,144,98,0,139,196,0,252,117,0,17,201,0,184,101,0,111,197,0,29,114,0,137,210,0,24,139,0,67,218, +0,166,126,0,115,222,0,109,115,0,209,209,0,215,107,0,1,214,0,98,124,0,238,234,0,196,123,0,122,227,0,212,135,0,243,236,0,55,135,0,52,221,0,98,146,0,21,237,0,130,138,0,132,222,0,63,136,0,97,212,0,0,155,0,243,216,0,199,157,0,27,224,0,162,134,0,191,212,0, +207,144,0,206,215,0,90,138,0,165,203,0,196,134,0,249,198,0,202,136,0,171,195,0,6,110,0,182,182,0,218,121,0,175,193,0,162,110,0,148,180,0,246,119,0,144,177,0,26,111,0,79,183,0,174,114,0,135,193,0,185,92,0,32,182,0,225,108,0,255,179,0,50,101,0,200,173, +0,249,99,0,226,185,0,54,104,0,53,164,0,49,92,0,200,181,0,153,98,0,235,185,0,166,93,0,123,182,0,147,109,0,99,199,0,57,111,0,169,182,0,130,84,0,229,186,0,233,99,0,42,201,0,79,89,0,151,192,0,174,98,0,241,203,0,74,108,0,101,205,0,192,104,0,76,214,0,171,125, +0,0,228,0,170,103,0,158,201,0,227,122,0,35,210,0,33,122,0,86,222,0,229,121,0,23,227,0,199,140,0,19,219,0,128,135,0,159,225,0,11,138,0,79,223,0,187,139,0,215,217,0,229,128,0,67,222,0,45,142,0,0,237,0,239,154,0,245,227,0,23,141,0,9,233,0,243,144,0,255, +244,0,107,132,0,50,235,0,43,146,0,210,242,0,218,152,0,171,238,0,84,127,0,126,224,0,26,130,0,118,214,0,72,126,0,172,241,0,220,121,0,48,242,0,127,115,0,191,217,0,69,110,0,11,233,0,52,124,0,39,231,0,119,130,0,208,235,0,67,131,0,117,241,0,62,116,0,36,248, +0,246,127,0,227,248,0,49,124,0,177,240,0,118,121,0,21,248,0,91,122,0,246,224,0,41,139,0,178,247,0,128,121,0,163,231,0,61,119,0,157,212,0,35,124,0,77,235,0,149,109,0,97,207,0,218,114,0,82,212,0,101,117,0,76,197,0,106,111,0,201,191,0,204,98,0,225,183,0, +104,107,0,13,193,0,152,95,0,240,173,0,29,108,0,36,193,0,12,89,0,140,178,0,17,79,0,54,174,0,32,86,0,138,186,0,209,87,0,255,183,0,43,70,0,91,169,0,55,78,0,64,198,0,54,74,0,117,184,0,220,75,0,71,191,0,63,79,0,13,190,0,234,90,0,130,207,0,93,89,0,156,198, +0,87,99,0,91,227,0,4,70,0,106,218,0,148,90,0,208,208,0,190,108,0,38,220,0,171,102,0,22,209,0,204,107,0,161,226,0,71,99,0,8,201,0,73,106,0,9,216,0,52,101,0,240,207,0,36,114,0,29,205,0,12,102,0,214,207,0,177,103,0,107,183,0,197,112,0,201,199,0,149,104, +0,159,185,0,2,89,0,91,195,0,105,83,0,148,188,0,197,92,0,9,178,0,142,82,0,237,178,0,65,80,0,196,168,0,221,72,0,114,159,0,104,59,0,77,167,0,183,53,0,20,142,0,117,51,0,189,138,0,195,53,0,219,155,0,5,48,0,171,132,0,189,43,0,92,134,0,89,25,0,91,134,0,45,47, +0,155,152,0,116,24,0,9,125,0,84,61,0,118,167,0,192,42,0,154,136,0,51,37,0,37,131,0,200,47,0,208,130,0,227,42,0,32,159,0,222,51,0,202,147,0,128,35,0,165,147,0,240,34,0,83,161,0,110,37,0,34,161,0,227,38,0,133,164,0,37,37,0,149,147,0,200,50,0,96,175,0,223, +24,0,120,175,0,160,40,0,227,171,0,91,35,0,13,159,0,46,34,0,71,163,0,116,31,0,3,169,0,134,33,0,45,163,0,183,21,0,171,135,0,168,37,0,60,143,0,200,42,0,145,154,0,40,17,0,255,131,0,44,12,0,137,130,0,150,9,0,116,125,0,228,11,0,21,117,0,243,21,0,180,131,0, +172,2,0,172,126,0,204,0,0,221,107,0,142,4,0,252,112,0,16,2,0,242,111,0,145,248,255,249,98,0,99,6,0,51,107,0,73,3,0,14,114,0,220,6,0,146,107,0,175,250,255,221,95,0,86,21,0,207,110,0,26,10,0,140,97,0,132,7,0,12,103,0,207,28,0,85,110,0,119,29,0,96,96,0, +207,35,0,154,118,0,63,17,0,108,106,0,7,37,0,53,119,0,29,45,0,104,129,0,7,44,0,177,132,0,152,55,0,9,128,0,255,42,0,7,118,0,201,40,0,62,119,0,105,40,0,120,116,0,133,39,0,150,132,0,158,42,0,15,122,0,105,47,0,210,121,0,81,29,0,166,116,0,8,40,0,20,120,0,43, +40,0,232,114,0,232,34,0,243,107,0,169,28,0,250,112,0,96,35,0,156,115,0,145,24,0,213,94,0,47,14,0,191,97,0,162,30,0,249,94,0,165,18,0,233,102,0,35,28,0,201,97,0,185,12,0,243,92,0,138,19,0,48,75,0,91,8,0,9,86,0,250,11,0,97,85,0,155,7,0,116,76,0,186,254, +255,114,87,0,33,11,0,141,86,0,7,243,255,215,85,0,233,2,0,192,85,0,177,18,0,139,86,0,90,254,255,78,76,0,190,253,255,1,91,0,34,7,0,186,93,0,168,235,255,213,85,0,235,226,255,160,107,0,159,248,255,136,100,0,67,1,0,114,113,0,79,250,255,113,96,0,135,248,255, +190,81,0,197,12,0,201,105,0,109,13,0,179,111,0,0,245,255,29,99,0,89,5,0,252,121,0,253,13,0,37,110,0,146,6,0,99,89,0,31,18,0,165,101,0,238,14,0,209,112,0,11,17,0,150,98,0,140,21,0,234,98,0,50,33,0,14,92,0,36,20,0,28,88,0,196,12,0,5,84,0,212,21,0,247,67, +0,231,16,0,12,65,0,172,19,0,118,59,0,8,4,0,186,60,0,145,3,0,141,29,0,156,3,0,118,22,0,10,10,0,153,12,0,161,231,255,80,19,0,151,227,255,14,14,0,147,238,255,222,13,0,65,221,255,95,254,255,198,224,255,117,12,0,100,238,255,3,17,0,252,206,255,113,3,0,99,212, +255,7,19,0,220,215,255,244,20,0,36,216,255,253,14,0,146,232,255,145,21,0,206,222,255,251,31,0,111,235,255,224,32,0,238,233,255,56,22,0,67,244,255,247,42,0,17,18,0,228,57,0,235,1,0,111,56,0,19,14,0,89,39,0,208,5,0,179,54,0,132,3,0,70,41,0,245,8,0,237, +38,0,208,5,0,119,37,0,74,9,0,157,56,0,52,15,0,60,40,0,64,8,0,192,37,0,62,255,255,33,31,0,199,247,255,24,43,0,178,250,255,56,28,0,219,2,0,125,16,0,81,234,255,127,25,0,36,217,255,18,6,0,28,229,255,97,20,0,129,205,255,187,252,255,179,211,255,102,249,255, +197,219,255,155,251,255,120,217,255,102,249,255,169,217,255,46,245,255,29,200,255,162,249,255,18,206,255,199,230,255,146,201,255,68,236,255,119,205,255,56,239,255,220,188,255,77,227,255,160,207,255,220,237,255,149,197,255,167,232,255,35,199,255,75,247, +255,85,211,255,125,237,255,119,196,255,166,229,255,85,208,255,94,229,255,65,207,255,209,221,255,114,191,255,63,250,255,134,211,255,25,241,255,24,215,255,131,229,255,242,205,255,165,236,255,50,233,255,22,242,255,153,203,255,209,237,255,152,188,255,28, +234,255,149,192,255,252,235,255,10,200,255,48,229,255,105,191,255,60,232,255,63,171,255,7,218,255,194,190,255,30,209,255,51,193,255,168,220,255,29,180,255,139,212,255,103,167,255,79,212,255,133,172,255,203,211,255,191,157,255,81,193,255,138,143,255,184, +188,255,90,134,255,109,186,255,119,148,255,108,180,255,7,137,255,5,191,255,179,124,255,16,176,255,10,118,255,10,190,255,247,116,255,89,170,255,144,121,255,193,159,255,4,111,255,24,190,255,116,101,255,230,162,255,49,121,255,128,188,255,58,116,255,95,178, +255,240,128,255,101,198,255,12,122,255,169,193,255,24,131,255,90,213,255,142,144,255,15,235,255,241,134,255,102,207,255,219,146,255,195,223,255,123,143,255,75,211,255,127,145,255,200,231,255,136,155,255,71,209,255,210,179,255,16,235,255,242,180,255,112, +244,255,66,170,255,0,230,255,154,181,255,151,216,255,155,181,255,248,222,255,14,168,255,36,218,255,147,168,255,12,236,255,128,182,255,148,217,255,16,165,255,37,212,255,41,174,255,217,221,255,81,152,255,38,191,255,102,150,255,242,197,255,182,175,255,143, +189,255,103,153,255,222,202,255,228,143,255,128,190,255,111,151,255,227,189,255,153,150,255,135,191,255,69,153,255,253,186,255,69,153,255,85,180,255,20,133,255,48,192,255,182,140,255,145,195,255,65,122,255,214,178,255,182,123,255,18,185,255,102,122,255, +219,177,255,59,118,255,60,207,255,218,129,255,216,210,255,81,116,255,87,189,255,137,117,255,165,208,255,243,109,255,229,207,255,103,102,255,118,199,255,55,108,255,24,216,255,97,104,255,50,213,255,22,105,255,191,231,255,108,122,255,30,235,255,95,131,255, +1,248,255,118,146,255,61,225,255,26,125,255,8,232,255,28,145,255,13,254,255,131,149,255,0,234,255,52,168,255,192,254,255,249,164,255,223,235,255,206,163,255,226,243,255,250,167,255,94,246,255,132,178,255,240,254,255,152,185,255,8,255,255,82,176,255,219, +242,255,18,177,255,200,235,255,199,171,255,40,233,255,229,181,255,212,232,255,139,197,255,78,244,255,93,171,255,99,222,255,65,186,255,146,248,255,35,182,255,156,220,255,179,165,255,59,243,255,203,168,255,255,242,255,12,165,255,69,232,255,202,160,255, +89,233,255,86,159,255,184,239,255,9,163,255,168,254,255,133,148,255,120,240,255,198,147,255,75,245,255,30,164,255,178,246,255,110,151,255,62,234,255,252,149,255,215,229,255,22,158,255,77,11,0,109,149,255,252,15,0,136,137,255,252,254,255,10,161,255,39, +6,0,22,147,255,226,21,0,169,180,255,156,26,0,207,174,255,201,49,0,190,192,255,94,60,0,183,202,255,101,61,0,19,218,255,101,61,0,222,221,255,241,84,0,229,233,255,82,82,0,177,248,255,97,81,0,92,240,255,199,99,0,149,4,0,122,103,0,150,23,0,118,112,0,181,16, +0,250,109,0,118,25,0,235,118,0,41,26,0,165,131,0,183,43,0,38,138,0,3,32,0,47,147,0,20,50,0,169,168,0,7,42,0,118,155,0,217,43,0,192,171,0,95,52,0,97,176,0,171,48,0,251,187,0,103,28,0,53,172,0,215,30,0,44,190,0,157,32,0,61,189,0,80,36,0,104,176,0,201,41, +0,40,185,0,24,54,0,163,195,0,119,54,0,79,184,0,67,55,0,202,183,0,101,80,0,139,200,0,142,73,0,102,189,0,168,78,0,119,193,0,134,83,0,211,191,0,51,88,0,128,180,0,91,71,0,114,172,0,149,90,0,97,181,0,107,86,0,18,196,0,36,99,0,92,171,0,119,91,0,50,175,0,86, +85,0,109,183,0,161,103,0,31,195,0,22,110,0,35,207,0,48,96,0,184,195,0,86,90,0,193,193,0,143,96,0,84,209,0,213,99,0,40,200,0,140,83,0,27,184,0,213,112,0,108,211,0,31,99,0,74,197,0,151,107,0,26,213,0,168,103,0,128,206,0,172,118,0,83,208,0,124,102,0,170, +220,0,206,97,0,119,210,0,53,99,0,40,214,0,205,126,0,47,215,0,177,90,0,69,202,0,244,104,0,88,216,0,80,111,0,44,215,0,124,104,0,236,225,0,195,104,0,102,207,0,45,100,0,218,234,0,217,99,0,27,215,0,16,106,0,214,229,0,254,109,0,0,231,0,152,139,0,23,4,1,141, +128,0,34,252,0,81,123,0,17,232,0,52,142,0,27,253,0,92,141,0,167,251,0,188,128,0,101,252,0,190,156,0,124,1,1,178,122,0,9,248,0,55,133,0,65,246,0,242,126,0,210,248,0,240,142,0,25,6,1,10,132,0,61,241,0,161,125,0,251,241,0,214,124,0,66,237,0,146,105,0,54, +234,0,245,117,0,218,240,0,54,127,0,50,232,0,31,124,0,125,226,0,178,100,0,170,211,0,109,120,0,123,226,0,210,111,0,74,226,0,244,119,0,213,237,0,209,101,0,91,232,0,9,123,0,234,237,0,61,109,0,145,238,0,175,123,0,23,233,0,2,119,0,208,242,0,58,135,0,193,245, +0,14,129,0,123,1,1,33,145,0,195,249,0,253,149,0,131,14,1,7,163,0,22,19,1,104,155,0,131,6,1,114,173,0,190,16,1,204,164,0,185,37,1,42,155,0,64,37,1,140,182,0,27,42,1,152,172,0,66,46,1,1,181,0,45,63,1,117,189,0,160,61,1,104,179,0,254,56,1,178,186,0,95,64, +1,171,182,0,189,59,1,123,172,0,53,57,1,105,203,0,176,56,1,198,186,0,230,57,1,1,167,0,94,40,1,2,169,0,146,44,1,21,185,0,145,44,1,7,185,0,59,24,1,189,157,0,80,12,1,145,186,0,177,9,1,240,176,0,65,7,1,245,155,0,69,1,1,2,163,0,38,0,1,70,166,0,176,242,0,106, +161,0,197,225,0,146,155,0,240,233,0,250,163,0,235,239,0,93,156,0,215,223,0,219,132,0,245,229,0,239,150,0,72,235,0,115,146,0,192,215,0,105,128,0,63,224,0,30,136,0,238,215,0,201,140,0,18,228,0,7,116,0,191,212,0,0,137,0,255,206,0,28,131,0,163,222,0,56,135, +0,148,220,0,14,136,0,40,210,0,153,115,0,58,199,0,152,142,0,40,227,0,6,130,0,221,214,0,163,132,0,35,203,0,99,123,0,84,205,0,115,127,0,242,197,0,245,132,0,80,208,0,5,137,0,109,197,0,174,139,0,12,197,0,227,128,0,107,190,0,185,139,0,153,207,0,34,133,0,145, +189,0,52,151,0,154,199,0,209,148,0,168,196,0,235,157,0,189,187,0,217,127,0,254,176,0,19,133,0,84,174,0,53,114,0,250,179,0,119,120,0,134,178,0,212,113,0,41,182,0,16,133,0,58,205,0,60,129,0,4,182,0,144,124,0,141,183,0,93,122,0,164,183,0,230,121,0,63,184, +0,230,128,0,237,192,0,35,143,0,101,193,0,175,134,0,224,211,0,153,131,0,107,215,0,105,150,0,105,213,0,235,136,0,109,231,0,73,130,0,55,239,0,70,147,0,120,233,0,83,149,0,87,244,0,100,162,0,101,4,1,35,170,0,1,7,1,77,157,0,159,11,1,75,169,0,53,20,1,203,179, +0,160,15,1,209,199,0,206,27,1,62,183,0,81,23,1,106,181,0,75,24,1,119,216,0,200,65,1,82,209,0,233,44,1,199,207,0,74,54,1,27,217,0,6,53,1,46,225,0,60,28,1,121,231,0,90,57,1,138,237,0,218,41,1,98,249,0,31,61,1,132,254,0,237,74,1,216,14,1,54,56,1,49,9,1, +68,46,1,88,250,0,250,80,1,207,8,1,180,70,1,81,2,1,220,76,1,195,26,1,103,66,1,242,26,1,80,77,1,65,16,1,50,71,1,145,21,1,172,61,1,99,23,1,222,67,1,202,19,1,228,75,1,53,22,1,110,63,1,22,30,1,79,87,1,185,26,1,98,74,1,162,37,1,141,86,1,69,34,1,218,64,1,25, +40,1,240,71,1,145,19,1,142,85,1,1,28,1,100,72,1,86,41,1,86,79,1,85,39,1,138,94,1,24,32,1,59,72,1,197,33,1,74,85,1,49,36,1,188,88,1,138,30,1,208,86,1,208,30,1,7,106,1,85,10,1,151,92,1,53,16,1,52,90,1,51,32,1,93,100,1,38,41,1,155,113,1,89,31,1,151,86,1, +15,38,1,49,103,1,27,31,1,71,112,1,206,24,1,97,100,1,46,11,1,148,81,1,204,17,1,99,81,1,84,17,1,87,67,1,164,15,1,8,84,1,53,9,1,52,64,1,112,11,1,209,68,1,5,4,1,123,50,1,24,247,0,53,25,1,127,3,1,178,28,1,85,242,0,38,16,1,251,6,1,45,1,1,201,249,0,226,14,1, +114,227,0,198,1,1,181,241,0,101,228,0,154,239,0,48,240,0,2,216,0,212,211,0,35,223,0,163,227,0,183,213,0,4,203,0,154,216,0,121,210,0,75,224,0,236,215,0,192,193,0,150,193,0,172,210,0,145,207,0,14,208,0,227,214,0,117,202,0,195,193,0,10,215,0,109,222,0,29, +209,0,148,217,0,213,208,0,76,208,0,221,202,0,42,225,0,227,194,0,153,233,0,190,223,0,16,236,0,213,203,0,59,228,0,15,213,0,166,241,0,217,213,0,160,242,0,242,230,0,172,244,0,79,216,0,88,235,0,173,216,0,211,254,0,45,211,0,169,235,0,105,213,0,247,236,0,139, +213,0,43,225,0,253,216,0,33,253,0,141,197,0,10,211,0,158,185,0,255,201,0,104,201,0,63,214,0,152,190,0,209,209,0,85,200,0,17,207,0,163,190,0,90,189,0,159,184,0,214,188,0,142,176,0,23,177,0,230,173,0,4,163,0,55,159,0,185,145,0,83,156,0,136,156,0,23,132, +0,183,143,0,246,137,0,222,138,0,231,131,0,10,133,0,101,109,0,101,125,0,234,128,0,3,134,0,156,101,0,2,119,0,250,99,0,1,117,0,133,107,0,172,101,0,33,108,0,14,108,0,156,105,0,138,122,0,20,93,0,1,123,0,98,83,0,253,97,0,58,88,0,93,102,0,44,82,0,35,93,0,99, +89,0,12,110,0,203,96,0,121,131,0,36,96,0,96,116,0,193,102,0,135,141,0,85,87,0,94,127,0,153,94,0,99,143,0,39,95,0,60,120,0,24,102,0,78,140,0,139,92,0,51,147,0,234,94,0,231,136,0,35,87,0,151,131,0,89,90,0,24,128,0,251,78,0,148,127,0,26,80,0,46,143,0,37, +80,0,165,147,0,38,82,0,79,120,0,27,73,0,85,125,0,146,73,0,36,121,0,223,72,0,177,117,0,138,47,0,94,102,0,242,77,0,126,109,0,136,60,0,34,100,0,177,61,0,174,94,0,179,48,0,48,93,0,188,59,0,112,88,0,201,44,0,134,59,0,214,46,0,34,66,0,142,46,0,72,51,0,180, +33,0,255,50,0,9,40,0,178,51,0,249,25,0,175,41,0,86,14,0,230,19,0,133,14,0,233,35,0,191,6,0,102,14,0,182,20,0,100,27,0,150,9,0,83,7,0,168,12,0,36,11,0,112,5,0,211,18,0,248,252,255,26,19,0,111,255,255,142,5,0,187,248,255,188,26,0,70,2,0,229,19,0,157,247, +255,233,10,0,172,3,0,164,22,0,69,250,255,193,21,0,56,244,255,73,17,0,17,226,255,211,26,0,24,229,255,124,35,0,173,236,255,149,10,0,78,236,255,134,29,0,194,245,255,44,28,0,40,255,255,103,22,0,151,246,255,226,11,0,78,232,255,150,22,0,212,252,255,83,17,0, +135,255,255,114,18,0,153,252,255,244,14,0,129,2,0,100,6,0,74,239,255,89,14,0,217,243,255,60,13,0,83,6,0,221,22,0,82,2,0,207,12,0,58,2,0,72,21,0,235,244,255,147,254,255,40,249,255,44,44,0,246,238,255,101,18,0,213,250,255,65,14,0,15,245,255,185,30,0,111, +243,255,154,11,0,123,251,255,250,27,0,111,243,255,226,21,0,235,228,255,28,6,0,171,245,255,195,12,0,68,224,255,23,23,0,187,224,255,59,23,0,62,217,255,178,19,0,183,237,255,208,22,0,26,223,255,237,33,0,87,227,255,137,52,0,211,218,255,89,54,0,135,219,255, +59,61,0,27,215,255,197,56,0,206,235,255,207,46,0,195,231,255,53,58,0,165,228,255,40,60,0,189,246,255,88,52,0,218,247,255,147,66,0,5,225,255,200,71,0,225,248,255,188,71,0,100,249,255,50,86,0,153,10,0,44,79,0,35,0,0,104,71,0,178,10,0,193,86,0,88,7,0,56, +89,0,200,18,0,126,75,0,135,21,0,210,67,0,152,26,0,96,72,0,38,39,0,48,70,0,127,40,0,59,90,0,67,46,0,29,77,0,105,30,0,184,71,0,211,22,0,5,73,0,67,40,0,16,83,0,145,33,0,171,89,0,56,34,0,93,76,0,210,46,0,195,63,0,134,11,0,136,65,0,215,31,0,159,61,0,58,254, +255,53,45,0,228,23,0,39,69,0,212,8,0,175,70,0,49,31,0,39,53,0,189,6,0,18,35,0,220,243,255,154,38,0,178,252,255,224,46,0,207,249,255,1,20,0,5,245,255,140,52,0,227,238,255,250,26,0,42,243,255,192,24,0,10,219,255,131,24,0,163,227,255,22,34,0,106,217,255, +67,21,0,174,204,255,98,10,0,120,203,255,68,7,0,109,201,255,188,1,0,253,195,255,226,247,255,239,211,255,70,251,255,243,187,255,17,254,255,233,183,255,138,244,255,6,191,255,178,247,255,103,183,255,43,238,255,67,183,255,188,228,255,156,186,255,230,227,255, +7,191,255,245,213,255,194,155,255,234,213,255,7,164,255,43,215,255,89,172,255,127,184,255,156,163,255,149,196,255,35,173,255,124,175,255,192,167,255,248,182,255,153,162,255,142,180,255,233,149,255,16,181,255,212,160,255,91,196,255,113,159,255,162,175, +255,107,160,255,35,163,255,134,125,255,36,157,255,18,138,255,204,157,255,2,137,255,40,168,255,119,145,255,206,151,255,158,135,255,32,158,255,152,138,255,14,157,255,250,149,255,246,183,255,65,133,255,192,182,255,241,124,255,47,154,255,144,132,255,157, +165,255,9,127,255,71,154,255,43,116,255,58,160,255,221,101,255,3,169,255,65,107,255,216,154,255,180,83,255,214,141,255,62,85,255,202,145,255,165,82,255,166,128,255,15,72,255,203,126,255,11,67,255,24,111,255,175,77,255,210,110,255,140,43,255,0,87,255, +11,43,255,251,83,255,35,47,255,170,81,255,119,62,255,27,83,255,229,39,255,91,56,255,235,55,255,98,57,255,94,23,255,210,45,255,134,32,255,3,46,255,135,45,255,207,42,255,156,10,255,19,25,255,59,20,255,232,44,255,18,17,255,94,36,255,100,251,254,49,32,255, +28,255,254,224,42,255,30,1,255,99,45,255,183,18,255,118,46,255,209,16,255,63,64,255,20,14,255,86,66,255,87,17,255,249,65,255,209,252,254,215,63,255,55,26,255,154,82,255,44,13,255,252,63,255,140,13,255,33,75,255,233,32,255,27,78,255,85,20,255,154,77,255, +183,31,255,134,69,255,76,5,255,176,70,255,192,28,255,123,71,255,120,43,255,128,87,255,124,35,255,109,64,255,185,35,255,100,62,255,243,17,255,186,34,255,106,9,255,253,44,255,32,26,255,240,61,255,60,31,255,132,54,255,67,21,255,165,49,255,49,11,255,112, +48,255,195,7,255,247,44,255,51,11,255,231,43,255,201,12,255,45,35,255,235,250,254,223,26,255,174,11,255,74,40,255,138,2,255,71,35,255,160,251,254,211,32,255,58,0,255,190,30,255,231,3,255,232,29,255,84,11,255,167,10,255,124,241,254,48,23,255,156,4,255, +133,32,255,83,255,254,120,25,255,178,1,255,43,28,255,153,252,254,124,32,255,52,6,255,45,37,255,86,248,254,40,18,255,250,254,254,126,25,255,120,243,254,10,32,255,187,244,254,102,9,255,90,230,254,222,18,255,105,237,254,160,6,255,113,234,254,199,249,254, +113,238,254,114,15,255,77,249,254,35,2,255,171,242,254,240,7,255,140,247,254,216,249,254,36,245,254,71,253,254,21,242,254,11,10,255,174,228,254,111,4,255,99,236,254,41,4,255,99,254,254,132,12,255,28,238,254,93,9,255,56,252,254,75,19,255,160,249,254,12, +36,255,161,249,254,65,37,255,147,15,255,16,59,255,205,10,255,37,54,255,196,17,255,122,54,255,58,20,255,81,62,255,2,25,255,109,83,255,165,40,255,37,85,255,10,26,255,124,81,255,77,50,255,6,90,255,158,45,255,153,100,255,162,41,255,152,79,255,43,59,255,186, +113,255,224,64,255,125,108,255,141,73,255,161,101,255,152,59,255,235,92,255,222,70,255,151,92,255,88,76,255,4,107,255,117,70,255,235,101,255,126,74,255,220,75,255,150,60,255,214,83,255,157,82,255,95,108,255,72,79,255,11,112,255,249,58,255,156,117,255, +118,53,255,107,96,255,158,63,255,22,98,255,218,49,255,62,87,255,31,61,255,244,92,255,53,42,255,248,79,255,153,59,255,4,75,255,12,36,255,174,85,255,60,45,255,154,81,255,253,27,255,4,70,255,168,24,255,8,73,255,47,49,255,26,81,255,11,44,255,200,80,255,239, +42,255,201,73,255,28,47,255,145,62,255,189,46,255,220,74,255,251,53,255,212,84,255,34,57,255,151,79,255,18,56,255,126,88,255,26,41,255,22,65,255,76,46,255,9,109,255,192,64,255,22,102,255,144,45,255,239,98,255,105,63,255,174,106,255,28,64,255,116,97,255, +52,71,255,216,107,255,221,83,255,92,113,255,94,67,255,131,116,255,199,69,255,184,112,255,172,80,255,179,104,255,71,81,255,66,112,255,77,89,255,217,135,255,68,80,255,64,121,255,199,99,255,68,124,255,23,92,255,113,140,255,180,95,255,215,134,255,110,102, +255,73,134,255,71,113,255,163,152,255,91,86,255,201,124,255,10,115,255,66,130,255,215,94,255,253,134,255,244,95,255,145,129,255,156,89,255,152,123,255,90,90,255,12,116,255,73,91,255,81,130,255,156,86,255,58,130,255,206,96,255,148,129,255,196,82,255,67, +117,255,8,82,255,233,134,255,28,74,255,235,127,255,10,87,255,0,120,255,172,74,255,66,119,255,213,87,255,79,119,255,209,64,255,204,113,255,238,99,255,89,133,255,140,69,255,155,122,255,33,69,255,106,124,255,242,63,255,185,140,255,22,76,255,61,134,255,237, +86,255,89,142,255,102,80,255,107,148,255,113,65,255,204,146,255,181,86,255,96,153,255,36,78,255,14,170,255,197,67,255,131,150,255,7,84,255,229,153,255,229,71,255,82,157,255,117,72,255,188,164,255,185,86,255,24,157,255,17,78,255,102,146,255,114,66,255, +154,142,255,31,78,255,93,149,255,241,97,255,22,134,255,167,96,255,63,140,255,14,111,255,152,156,255,251,101,255,246,131,255,19,112,255,23,161,255,236,105,255,167,149,255,175,102,255,69,148,255,150,119,255,126,165,255,179,115,255,195,172,255,80,119,255, +47,173,255,46,129,255,102,182,255,212,129,255,31,187,255,246,131,255,239,181,255,225,144,255,195,184,255,74,132,255,94,180,255,101,140,255,154,180,255,137,145,255,246,187,255,201,136,255,45,177,255,154,131,255,160,161,255,233,130,255,193,158,255,93,128, +255,101,161,255,251,126,255,26,150,255,19,132,255,64,148,255,58,135,255,89,158,255,62,126,255,123,145,255,142,125,255,146,140,255,24,130,255,247,141,255,214,125,255,115,143,255,54,116,255,205,147,255,233,144,255,38,139,255,58,157,255,88,142,255,41,128, +255,207,142,255,7,141,255,103,145,255,186,146,255,41,152,255,57,149,255,102,165,255,84,147,255,72,166,255,241,145,255,74,169,255,142,149,255,70,163,255,99,137,255,199,173,255,6,145,255,85,161,255,43,153,255,236,196,255,227,149,255,157,171,255,219,160, +255,158,184,255,152,166,255,177,183,255,175,176,255,115,208,255,15,154,255,124,197,255,245,178,255,191,204,255,210,186,255,102,200,255,92,191,255,108,222,255,143,192,255,45,221,255,7,206,255,36,232,255,47,207,255,9,231,255,226,215,255,236,234,255,200, +217,255,61,240,255,41,216,255,35,242,255,185,224,255,217,0,0,23,238,255,163,22,0,71,220,255,148,3,0,195,234,255,135,21,0,15,236,255,29,16,0,221,245,255,52,21,0,112,242,255,63,13,0,134,239,255,52,21,0,138,224,255,45,30,0,109,241,255,179,15,0,140,240,255, +103,22,0,215,233,255,190,15,0,73,254,255,96,31,0,71,238,255,42,32,0,133,236,255,200,33,0,4,244,255,49,26,0,143,238,255,46,41,0,133,236,255,116,33,0,56,229,255,24,15,0,106,248,255,67,22,0,138,234,255,148,19,0,214,246,255,17,32,0,3,233,255,106,31,0,145, +241,255,52,32,0,97,241,255,202,15,0,124,239,255,197,17,0,136,247,255,165,15,0,227,238,255,251,13,0,12,235,255,202,10,0,52,4,0,119,255,255,96,254,255,41,27,0,172,7,0,45,20,0,121,9,0,104,28,0,176,8,0,241,35,0,231,18,0,97,48,0,226,14,0,116,39,0,150,21,0, +227,67,0,114,21,0,123,65,0,160,26,0,75,73,0,100,26,0,236,80,0,34,57,0,248,91,0,144,47,0,214,86,0,133,47,0,35,83,0,65,59,0,10,110,0,220,51,0,179,92,0,83,52,0,49,103,0,47,52,0,33,102,0,127,76,0,124,115,0,27,53,0,86,101,0,70,74,0,231,99,0,0,66,0,40,85,0, +121,64,0,223,103,0,206,48,0,72,98,0,84,42,0,39,85,0,82,44,0,63,88,0,170,18,0,117,87,0,185,49,0,36,79,0,142,39,0,22,76,0,146,40,0,186,84,0,85,23,0,105,68,0,140,58,0,6,89,0,89,35,0,45,87,0,116,33,0,237,63,0,202,20,0,125,70,0,230,35,0,26,69,0,133,51,0,216, +72,0,203,23,0,86,75,0,133,40,0,219,87,0,233,47,0,35,91,0,158,43,0,213,83,0,133,32,0,186,99,0,215,54,0,168,95,0,121,32,0,86,81,0,254,55,0,95,103,0,185,50,0,171,93,0,252,52,0,93,97,0,120,57,0,224,86,0,103,56,0,104,83,0,223,62,0,9,100,0,251,69,0,176,92, +0,213,57,0,91,97,0,64,61,0,77,80,0,199,65,0,16,88,0,209,73,0,180,85,0,118,77,0,121,82,0,162,62,0,40,77,0,142,83,0,34,90,0,68,65,0,124,83,0,129,80,0,80,81,0,0,66,0,106,59,0,118,66,0,60,88,0,71,72,0,103,67,0,67,48,0,254,52,0,11,66,0,2,57,0,201,55,0,42, +61,0,161,54,0,110,66,0,104,63,0,102,67,0,211,43,0,81,62,0,18,51,0,93,62,0,98,36,0,246,62,0,51,36,0,194,58,0,149,31,0,178,60,0,3,30,0,27,55,0,177,41,0,93,51,0,227,24,0,249,37,0,7,34,0,226,46,0,2,27,0,122,26,0,63,42,0,158,41,0,48,24,0,37,17,0,92,29,0,38, +26,0,23,38,0,96,23,0,158,16,0,72,5,0,185,20,0,28,12,0,252,25,0,69,22,0,91,23,0,179,17,0,176,9,0,91,7,0,192,7,0,90,251,255,134,16,0,220,248,255,65,249,255,69,234,255,246,247,255,14,238,255,80,244,255,240,253,255,244,11,0,31,248,255,5,228,255,223,222,255, +190,236,255,7,230,255,179,239,255,117,228,255,179,230,255,177,237,255,148,234,255,192,223,255,76,231,255,66,230,255,120,236,255,8,230,255,105,229,255,247,201,255,38,245,255,58,222,255,148,225,255,83,204,255,85,242,255,36,210,255,106,229,255,44,203,255, +113,222,255,118,198,255,161,225,255,56,212,255,184,243,255,151,221,255,129,229,255,29,208,255,149,237,255,33,221,255,228,227,255,26,201,255,255,228,255,191,216,255,75,233,255,128,206,255,52,224,255,219,217,255,176,244,255,26,219,255,114,240,255,73,225, +255,31,243,255,127,233,255,224,244,255,254,241,255,12,229,255,90,223,255,246,3,0,205,253,255,162,228,255,40,241,255,0,244,255,48,2,0,177,235,255,198,248,255,190,235,255,122,253,255,126,246,255,76,241,255,114,240,255,169,0,0,34,6,0,225,255,255,248,241, +255,65,235,255,172,249,255,63,0,0,0,244,255,226,240,255,170,242,255,78,235,255,152,3,0,171,241,255,212,253,255,195,238,255,212,253,255,229,228,255,90,252,255,56,217,255,82,250,255,99,197,255,81,6,0,50,184,255,226,26,0,86,215,255,142,244,255,37,177,255, +166,247,255,99,181,255,234,3,0,115,185,255,215,235,255,180,174,255,162,246,255,172,178,255,9,237,255,92,163,255,255,230,255,136,178,255,153,231,255,249,167,255,25,222,255,4,158,255,226,238,255,167,170,255,169,232,255,136,174,255,186,246,255,224,160,255, +216,235,255,10,169,255,177,231,255,43,168,255,225,244,255,119,163,255,77,236,255,124,164,255,184,242,255,116,165,255,232,233,255,239,160,255,67,233,255,157,157,255,195,229,255,185,148,255,176,227,255,150,161,255,51,222,255,63,150,255,120,212,255,172, +154,255,38,225,255,95,165,255,254,213,255,136,147,255,226,218,255,105,145,255,22,214,255,83,142,255,127,204,255,78,137,255,60,218,255,35,148,255,114,226,255,130,148,255,158,222,255,78,143,255,239,212,255,131,161,255,73,218,255,186,153,255,196,229,255, +95,154,255,104,220,255,217,165,255,248,224,255,254,188,255,1,237,255,229,194,255,219,222,255,145,184,255,207,232,255,223,179,255,23,230,255,119,173,255,22,246,255,84,183,255,138,229,255,24,166,255,91,249,255,96,186,255,43,252,255,113,194,255,171,248, +255,212,172,255,36,250,255,46,175,255,158,238,255,221,168,255,179,237,255,53,170,255,253,248,255,132,169,255,100,228,255,66,157,255,213,230,255,156,159,255,127,245,255,141,168,255,107,233,255,77,153,255,242,238,255,195,153,255,222,229,255,163,147,255, +106,223,255,223,144,255,37,213,255,83,131,255,97,227,255,16,142,255,112,221,255,84,134,255,232,191,255,112,125,255,17,231,255,131,144,255,235,219,255,246,153,255,204,210,255,84,130,255,49,216,255,82,153,255,228,227,255,186,142,255,192,220,255,186,135, +255,148,231,255,134,137,255,224,229,255,194,147,255,140,215,255,22,162,255,178,226,255,246,145,255,131,1,0,225,166,255,103,235,255,78,161,255,153,246,255,98,177,255,236,246,255,175,179,255,226,233,255,51,170,255,179,1,0,87,170,255,73,15,0,132,197,255, +236,253,255,248,172,255,243,6,0,12,189,255,96,250,255,228,187,255,152,0,0,91,202,255,4,254,255,94,185,255,170,244,255,216,183,255,106,11,0,53,187,255,1,8,0,243,201,255,180,5,0,14,189,255,159,16,0,254,187,255,154,253,255,156,175,255,30,13,0,106,202,255, +193,30,0,195,190,255,28,16,0,165,181,255,251,19,0,152,191,255,97,5,0,98,182,255,222,7,0,133,178,255,120,54,0,24,195,255,146,23,0,128,187,255,136,27,0,244,197,255,198,21,0,245,208,255,146,41,0,250,202,255,61,51,0,87,192,255,34,25,0,80,197,255,57,32,0, +187,204,255,138,46,0,244,200,255,202,37,0,40,213,255,107,33,0,163,197,255,114,17,0,168,202,255,216,45,0,3,234,255,157,23,0,100,224,255,160,6,0,167,201,255,198,25,0,74,220,255,90,17,0,104,207,255,226,19,0,13,212,255,139,18,0,15,194,255,61,12,0,40,198, +255,160,10,0,56,192,255,233,18,0,109,212,255,188,11,0,51,183,255,68,25,0,101,180,255,80,7,0,90,184,255,167,250,255,9,166,255,26,16,0,12,163,255,225,1,0,105,148,255,255,10,0,88,150,255,97,250,255,136,139,255,244,237,255,9,136,255,118,249,255,225,148,255, +129,249,255,76,127,255,152,234,255,25,133,255,68,248,255,21,113,255,246,241,255,154,125,255,251,250,255,44,131,255,225,223,255,72,106,255,48,253,255,225,117,255,103,252,255,188,135,255,38,231,255,126,115,255,208,3,0,169,125,255,106,234,255,87,121,255, +202,246,255,121,128,255,93,226,255,11,119,255,5,228,255,50,116,255,183,236,255,244,129,255,65,228,255,83,126,255,165,226,255,212,107,255,79,221,255,35,107,255,76,224,255,111,116,255,159,205,255,149,128,255,131,215,255,52,119,255,119,215,255,50,122,255, +234,210,255,177,102,255,240,189,255,199,105,255,139,202,255,1,113,255,223,210,255,132,121,255,203,196,255,218,99,255,128,202,255,28,110,255,113,201,255,182,87,255,214,199,255,244,99,255,243,201,255,175,80,255,241,204,255,170,86,255,161,197,255,50,85, +255,123,204,255,103,79,255,35,202,255,65,70,255,53,204,255,66,82,255,179,187,255,60,52,255,155,187,255,254,81,255,144,179,255,166,75,255,42,196,255,25,75,255,27,191,255,101,92,255,157,195,255,128,89,255,48,194,255,177,105,255,44,200,255,53,95,255,67, +196,255,236,93,255,243,176,255,208,91,255,128,185,255,44,103,255,197,188,255,245,99,255,244,172,255,240,105,255,204,186,255,76,109,255,148,179,255,214,100,255,75,198,255,106,95,255,216,178,255,22,90,255,55,195,255,217,96,255,114,179,255,123,68,255,194, +166,255,216,51,255,56,179,255,213,58,255,168,177,255,50,70,255,130,168,255,83,73,255,57,159,255,234,52,255,205,173,255,11,56,255,232,162,255,228,53,255,88,177,255,22,51,255,104,162,255,55,66,255,34,154,255,127,62,255,189,167,255,3,72,255,177,187,255, +48,79,255,82,158,255,76,60,255,93,182,255,191,75,255,114,173,255,153,74,255,64,184,255,227,99,255,35,174,255,44,101,255,179,179,255,120,82,255,123,188,255,124,91,255,87,188,255,114,104,255,44,197,255,207,99,255,21,185,255,160,107,255,141,190,255,142, +109,255,207,180,255,195,128,255,105,177,255,48,121,255,165,173,255,94,104,255,153,177,255,6,131,255,137,171,255,171,118,255,239,178,255,75,130,255,152,172,255,166,137,255,15,173,255,202,133,255,70,176,255,23,136,255,202,177,255,228,146,255,255,183,255, +209,152,255,2,185,255,56,160,255,154,176,255,222,139,255,109,177,255,237,140,255,100,186,255,174,147,255,36,201,255,252,171,255,188,188,255,159,171,255,30,186,255,94,169,255,1,197,255,181,179,255,137,186,255,158,162,255,133,210,255,201,173,255,227,206, +255,10,163,255,113,203,255,22,167,255,212,209,255,117,172,255,83,213,255,81,167,255,166,209,255,30,148,255,249,227,255,207,161,255,182,228,255,149,166,255,102,220,255,14,155,255,184,233,255,240,151,255,7,246,255,52,160,255,244,229,255,15,159,255,240, +241,255,235,175,255,226,249,255,76,186,255,205,254,255,173,174,255,192,249,255,195,160,255,185,251,255,219,173,255,61,253,255,107,175,255,106,239,255,139,187,255,249,235,255,110,180,255,158,245,255,171,190,255,246,252,255,89,199,255,198,242,255,238,211, +255,254,246,255,16,211,255,200,243,255,73,206,255,145,231,255,130,214,255,72,248,255,86,215,255,66,241,255,193,220,255,210,220,255,37,228,255,210,242,255,254,248,255,83,207,255,137,221,255,64,236,255,139,213,255,77,227,255,183,225,255,77,241,255,61,223, +255,98,235,255,224,218,255,128,215,255,27,219,255,160,223,255,82,227,255,230,227,255,155,191,255,26,230,255,103,221,255,86,226,255,5,187,255,78,213,255,169,205,255,111,217,255,241,178,255,55,218,255,74,172,255,7,208,255,107,157,255,55,218,255,104,165, +255,152,214,255,247,175,255,1,182,255,120,143,255,199,195,255,32,164,255,107,196,255,181,134,255,92,176,255,136,130,255,229,193,255,108,161,255,242,165,255,117,141,255,76,188,255,232,135,255,131,158,255,174,135,255,207,160,255,11,150,255,103,175,255, +228,147,255,253,145,255,67,143,255,49,143,255,51,127,255,119,166,255,36,145,255,80,155,255,159,137,255,255,135,255,168,126,255,209,159,255,30,132,255,79,140,255,249,135,255,211,155,255,80,147,255,84,151,255,150,137,255,167,146,255,210,128,255,193,152, +255,117,157,255,230,157,255,216,149,255,96,160,255,217,159,255,51,141,255,219,155,255,130,164,255,165,147,255,79,162,255,199,166,255,122,165,255,105,146,255,51,170,255,44,150,255,200,143,255,198,165,255,238,169,255,220,179,255,66,161,255,41,158,255,152, +167,255,68,169,255,56,176,255,148,183,255,71,167,255,85,161,255,88,174,255,135,182,255,40,164,255,79,173,255,15,188,255,202,175,255,88,169,255,54,172,255,40,163,255,94,179,255,99,168,255,104,168,255,72,156,255,219,162,255,71,171,255,44,182,255,188,160, +255,223,173,255,221,154,255,189,148,255,2,166,255,202,143,255,177,165,255,22,157,255,172,153,255,29,149,255,122,172,255,22,151,255,172,137,255,201,132,255,176,164,255,177,142,255,22,153,255,134,143,255,30,146,255,160,139,255,194,156,255,106,151,255,88, +150,255,215,163,255,17,155,255,118,166,255,1,148,255,27,167,255,215,159,255,83,171,255,138,151,255,150,159,255,21,177,255,87,167,255,246,167,255,119,171,255,189,178,255,240,183,255,119,178,255,152,180,255,184,170,255,153,191,255,46,187,255,24,212,255, +169,163,255,244,195,255,3,194,255,126,216,255,152,203,255,31,199,255,61,167,255,147,198,255,223,198,255,144,213,255,211,176,255,137,204,255,17,184,255,45,210,255,164,197,255,164,211,255,51,178,255,93,216,255,102,179,255,6,219,255,222,191,255,102,220, +255,125,184,255,128,210,255,81,164,255,178,195,255,245,174,255,70,210,255,83,186,255,174,226,255,129,169,255,175,210,255,142,153,255,195,203,255,166,142,255,234,210,255,51,154,255,240,196,255,200,180,255,101,219,255,124,149,255,239,184,255,26,169,255, +30,213,255,95,135,255,63,206,255,68,155,255,216,195,255,207,143,255,225,205,255,110,158,255,9,191,255,101,148,255,187,198,255,5,175,255,106,181,255,21,154,255,163,186,255,31,170,255,40,189,255,232,176,255,210,197,255,245,171,255,243,179,255,111,174,255, +35,197,255,113,169,255,173,190,255,146,191,255,196,190,255,101,186,255,166,215,255,182,179,255,84,209,255,25,200,255,166,209,255,146,196,255,241,211,255,236,205,255,75,216,255,172,191,255,252,211,255,160,191,255,96,232,255,51,224,255,199,236,255,146, +201,255,173,223,255,81,221,255,101,240,255,100,207,255,50,226,255,135,201,255,117,242,255,158,207,255,197,229,255,157,206,255,245,230,255,81,197,255,189,249,255,61,216,255,52,233,255,194,201,255,89,234,255,147,194,255,10,235,255,154,204,255,233,3,0,149, +195,255,236,243,255,51,187,255,157,244,255,99,205,255,174,235,255,130,191,255,160,234,255,39,198,255,232,241,255,181,193,255,182,251,255,114,182,255,86,244,255,89,181,255,81,247,255,17,192,255,122,250,255,44,188,255,235,230,255,145,198,255,79,240,255, +82,189,255,88,232,255,111,192,255,185,234,255,18,198,255,151,216,255,46,176,255,214,225,255,115,175,255,124,208,255,54,186,255,211,229,255,21,168,255,249,212,255,234,188,255,57,203,255,122,191,255,129,217,255,109,158,255,72,192,255,34,187,255,136,201, +255,193,190,255,100,200,255,253,172,255,189,185,255,166,188,255,191,205,255,60,194,255,183,201,255,207,159,255,67,182,255,159,171,255,180,192,255,92,166,255,77,187,255,114,165,255,55,194,255,232,178,255,56,201,255,235,173,255,109,198,255,219,171,255, +115,194,255,223,159,255,41,192,255,38,161,255,252,172,255,79,157,255,93,188,255,231,144,255,57,181,255,220,170,255,102,193,255,122,154,255,151,181,255,6,168,255,92,167,255,210,164,255,228,171,255,161,162,255,201,162,255,97,152,255,220,166,255,243,142, +255,146,157,255,27,152,255,148,158,255,13,137,255,55,158,255,105,129,255,70,146,255,163,128,255,65,143,255,12,129,255,18,149,255,106,142,255,144,154,255,85,130,255,251,162,255,166,149,255,222,151,255,234,134,255,59,165,255,86,143,255,144,160,255,7,144, +255,149,149,255,84,162,255,208,163,255,59,154,255,49,179,255,208,179,255,48,192,255,193,177,255,137,182,255,142,174,255,122,180,255,5,183,255,93,197,255,54,184,255,43,196,255,212,194,255,6,229,255,243,192,255,9,210,255,93,207,255,48,226,255,196,198,255, +8,223,255,51,217,255,24,247,255,214,209,255,30,236,255,3,208,255,43,237,255,142,208,255,227,242,255,236,201,255,178,255,255,62,216,255,45,245,255,177,200,255,142,233,255,85,201,255,108,226,255,75,202,255,231,230,255,151,191,255,65,221,255,160,203,255, +233,223,255,1,206,255,54,236,255,120,193,255,89,221,255,7,195,255,118,225,255,10,212,255,119,232,255,185,211,255,109,219,255,128,212,255,109,241,255,27,222,255,76,242,255,118,220,255,175,246,255,199,242,255,141,254,255,232,233,255,193,242,255,33,233, +255,47,13,0,110,245,255,231,10,0,161,255,255,144,30,0,193,245,255,89,33,0,149,255,255,73,30,0,249,244,255,112,40,0,215,244,255,7,25,0,247,2,0,92,35,0,185,7,0,54,49,0,188,242,255,124,48,0,175,249,255,192,39,0,62,251,255,252,40,0,171,6,0,183,65,0,240,245, +255,103,74,0,7,254,255,242,50,0,238,19,0,203,63,0,98,4,0,149,59,0,47,17,0,15,79,0,145,20,0,184,74,0,246,25,0,80,68,0,133,20,0,122,73,0,152,17,0,135,82,0,199,26,0,240,82,0,124,38,0,238,81,0,82,41,0,17,90,0,102,56,0,9,101,0,133,61,0,85,89,0,212,59,0,9, +102,0,255,73,0,237,98,0,187,75,0,125,102,0,100,88,0,159,118,0,59,93,0,147,110,0,43,90,0,71,114,0,29,105,0,1,115,0,10,100,0,108,133,0,5,131,0,138,138,0,230,108,0,252,154,0,14,130,0,5,136,0,148,143,0,24,167,0,51,132,0,86,162,0,56,128,0,96,178,0,149,136, +0,204,164,0,89,127,0,213,171,0,39,142,0,69,178,0,182,153,0,228,192,0,45,130,0,8,186,0,33,148,0,53,185,0,149,157,0,25,191,0,125,148,0,32,188,0,111,138,0,133,212,0,92,159,0,84,211,0,244,160,0,21,208,0,75,156,0,211,211,0,124,158,0,211,194,0,120,156,0,24, +186,0,177,182,0,216,208,0,204,177,0,34,222,0,194,161,0,156,209,0,213,158,0,140,206,0,10,155,0,59,189,0,8,163,0,127,198,0,136,173,0,4,212,0,192,171,0,52,232,0,234,178,0,246,230,0,22,167,0,93,210,0,222,160,0,200,204,0,204,155,0,217,218,0,10,169,0,148,191, +0,48,163,0,73,197,0,149,160,0,215,209,0,120,156,0,33,186,0,236,165,0,190,181,0,209,163,0,170,184,0,232,154,0,1,171,0,245,165,0,65,157,0,238,170,0,87,156,0,90,164,0,149,150,0,4,152,0,23,153,0,170,183,0,201,136,0,185,157,0,117,125,0,234,170,0,129,136,0, +72,172,0,139,145,0,43,168,0,153,127,0,229,177,0,177,138,0,71,173,0,134,152,0,75,177,0,240,144,0,137,181,0,25,151,0,16,178,0,196,157,0,112,170,0,154,162,0,248,177,0,81,160,0,167,169,0,190,174,0,209,176,0,226,176,0,209,176,0,190,156,0,19,164,0,227,168, +0,165,160,0,222,143,0,141,170,0,85,157,0,57,169,0,70,154,0,118,172,0,145,149,0,99,156,0,127,144,0,136,158,0,247,148,0,245,152,0,128,135,0,241,148,0,14,128,0,137,161,0,137,145,0,203,157,0,19,134,0,160,151,0,147,134,0,119,146,0,52,133,0,9,142,0,109,121, +0,207,154,0,225,121,0,177,148,0,101,126,0,65,153,0,119,133,0,239,153,0,193,137,0,202,151,0,160,140,0,254,157,0,120,146,0,197,159,0,117,155,0,159,157,0,248,137,0,102,182,0,211,158,0,86,155,0,85,149,0,237,179,0,13,171,0,248,178,0,118,172,0,248,179,0,61, +162,0,162,177,0,145,165,0,4,183,0,58,161,0,208,201,0,183,194,0,23,204,0,33,185,0,24,218,0,142,190,0,155,210,0,142,178,0,136,203,0,182,173,0,230,216,0,223,167,0,195,206,0,37,169,0,5,191,0,146,174,0,177,201,0,127,154,0,3,216,0,167,161,0,101,197,0,98,150, +0,126,211,0,141,159,0,228,197,0,233,134,0,141,192,0,94,135,0,6,200,0,201,125,0,245,193,0,238,128,0,222,194,0,248,114,0,124,178,0,16,116,0,228,189,0,152,99,0,203,176,0,124,95,0,211,173,0,159,95,0,10,171,0,52,106,0,84,176,0,41,95,0,165,150,0,68,86,0,43, +172,0,154,92,0,96,166,0,176,104,0,119,152,0,115,88,0,2,154,0,202,95,0,152,152,0,192,97,0,79,150,0,98,96,0,38,143,0,179,82,0,41,162,0,11,106,0,70,155,0,213,97,0,79,153,0,208,106,0,244,156,0,229,116,0,76,166,0,75,115,0,192,179,0,50,86,0,67,184,0,251,103, +0,183,171,0,243,109,0,143,179,0,205,119,0,50,182,0,32,124,0,202,169,0,48,116,0,108,213,0,0,128,0,235,182,0,136,124,0,64,205,0,135,123,0,172,179,0,187,116,0,67,196,0,154,104,0,44,182,0,18,110,0,92,169,0,246,103,0,179,192,0,17,95,0,194,183,0,1,105,0,80, +188,0,186,87,0,0,175,0,224,92,0,151,159,0,37,93,0,127,175,0,187,74,0,24,165,0,210,75,0,212,167,0,92,89,0,22,179,0,17,82,0,220,163,0,218,71,0,255,182,0,194,71,0,70,184,0,33,75,0,32,165,0,57,93,0,143,173,0,174,93,0,57,169,0,105,96,0,56,170,0,244,112,0, +169,182,0,210,115,0,27,181,0,149,112,0,70,176,0,212,120,0,165,197,0,116,133,0,40,186,0,85,139,0,94,198,0,44,132,0,186,180,0,172,149,0,131,188,0,222,138,0,55,197,0,195,134,0,18,196,0,33,137,0,236,190,0,104,139,0,254,203,0,71,144,0,205,201,0,125,139,0, +226,198,0,201,131,0,144,199,0,25,129,0,35,193,0,11,125,0,187,215,0,130,131,0,136,210,0,159,123,0,160,193,0,61,114,0,187,200,0,67,126,0,104,201,0,85,118,0,175,182,0,204,123,0,11,204,0,183,127,0,239,176,0,189,121,0,24,188,0,72,120,0,144,197,0,242,133,0, +35,191,0,221,138,0,60,174,0,168,128,0,198,194,0,114,136,0,127,193,0,135,133,0,116,195,0,70,143,0,234,201,0,64,156,0,162,199,0,20,162,0,13,206,0,69,169,0,117,205,0,238,157,0,213,236,0,15,180,0,174,251,0,69,174,0,255,230,0,209,173,0,8,253,0,59,178,0,131, +242,0,161,151,0,96,12,1,121,188,0,27,249,0,101,174,0,240,2,1,210,184,0,154,252,0,213,168,0,97,0,1,145,175,0,237,2,1,88,179,0,21,16,1,161,187,0,255,22,1,37,197,0,48,7,1,70,171,0,180,15,1,152,199,0,54,255,0,128,173,0,210,10,1,187,203,0,221,13,1,22,202, +0,52,28,1,37,212,0,52,30,1,235,213,0,231,16,1,179,221,0,171,16,1,225,223,0,230,22,1,182,232,0,73,39,1,42,234,0,73,44,1,223,224,0,181,28,1,52,236,0,182,61,1,171,245,0,237,55,1,100,246,0,100,67,1,250,244,0,66,42,1,135,253,0,107,65,1,137,5,1,38,69,1,220, +13,1,3,73,1,211,244,0,118,75,1,199,248,0,81,70,1,133,232,0,17,93,1,172,245,0,105,82,1,53,241,0,133,68,1,119,233,0,201,67,1,252,219,0,64,81,1,78,222,0,41,82,1,215,218,0,63,50,1,34,201,0,130,79,1,30,228,0,68,74,1,222,212,0,64,67,1,46,207,0,219,47,1,229, +199,0,196,49,1,40,194,0,52,44,1,181,204,0,235,35,1,115,180,0,27,45,1,166,198,0,129,40,1,143,202,0,20,30,1,196,189,0,33,39,1,173,188,0,58,50,1,219,191,0,146,38,1,182,190,0,204,42,1,184,199,0,142,33,1,181,193,0,178,39,1,44,205,0,69,32,1,64,196,0,117,43, +1,122,200,0,48,48,1,143,198,0,70,52,1,202,200,0,175,58,1,235,199,0,32,54,1,108,202,0,252,49,1,165,205,0,112,57,1,26,210,0,190,44,1,49,216,0,97,57,1,94,215,0,164,49,1,234,219,0,163,49,1,116,217,0,106,64,1,172,212,0,196,56,1,241,215,0,192,39,1,65,208,0, +27,35,1,142,190,0,211,34,1,140,181,0,164,39,1,90,168,0,209,37,1,68,182,0,43,31,1,216,168,0,30,29,1,64,166,0,66,43,1,107,148,0,203,34,1,84,148,0,176,17,1,208,130,0,25,31,1,137,127,0,149,6,1,92,132,0,58,29,1,173,147,0,183,23,1,146,122,0,181,7,1,124,133, +0,145,14,1,43,145,0,213,11,1,168,123,0,235,11,1,133,125,0,221,255,0,63,137,0,150,253,0,5,143,0,90,250,0,248,124,0,158,244,0,108,135,0,64,244,0,201,142,0,250,253,0,62,157,0,248,254,0,95,143,0,236,250,0,14,151,0,235,1,1,130,159,0,151,236,0,70,143,0,92, +248,0,45,145,0,208,248,0,139,157,0,124,230,0,161,154,0,251,240,0,68,160,0,41,235,0,241,145,0,237,226,0,159,160,0,224,232,0,100,146,0,107,205,0,6,135,0,1,221,0,202,118,0,221,206,0,238,121,0,139,219,0,203,132,0,10,202,0,167,108,0,67,199,0,154,116,0,42, +204,0,38,93,0,65,206,0,142,108,0,75,201,0,165,88,0,227,183,0,200,95,0,120,195,0,71,80,0,190,171,0,25,67,0,178,178,0,12,80,0,130,174,0,71,65,0,48,183,0,187,70,0,129,164,0,199,50,0,35,159,0,210,54,0,139,169,0,163,66,0,104,163,0,24,44,0,9,167,0,234,32,0, +20,189,0,93,49,0,183,170,0,104,54,0,88,169,0,114,65,0,204,175,0,67,69,0,53,163,0,137,69,0,179,169,0,253,69,0,248,171,0,172,60,0,224,169,0,77,77,0,85,161,0,249,91,0,255,186,0,96,106,0,211,164,0,166,99,0,234,163,0,110,81,0,232,172,0,49,101,0,11,168,0,246, +100,0,196,166,0,96,91,0,77,177,0,143,79,0,172,156,0,96,87,0,89,161,0,212,87,0,44,151,0,109,74,0,10,142,0,118,81,0,79,137,0,52,59,0,158,154,0,146,53,0,174,120,0,21,37,0,126,130,0,33,30,0,35,120,0,163,18,0,12,110,0,57,26,0,236,93,0,97,0,0,212,94,0,77,242, +255,156,83,0,112,240,255,227,74,0,53,250,255,100,72,0,11,225,255,173,52,0,197,227,255,195,59,0,33,232,255,252,61,0,26,207,255,242,52,0,151,224,255,233,36,0,212,213,255,134,66,0,0,225,255,23,41,0,52,205,255,195,50,0,232,231,255,103,48,0,133,210,255,112, +56,0,221,224,255,238,59,0,125,235,255,167,64,0,160,236,255,24,73,0,197,232,255,176,73,0,86,251,255,2,71,0,124,244,255,241,85,0,79,20,0,21,82,0,186,16,0,171,86,0,115,17,0,251,85,0,160,21,0,254,79,0,61,3,0,187,103,0,219,20,0,210,104,0,221,13,0,132,124, +0,81,15,0,18,120,0,22,16,0,60,96,0,37,5,0,151,99,0,67,17,0,139,101,0,219,15,0,229,105,0,4,255,255,58,95,0,97,254,255,241,103,0,10,238,255,229,102,0,10,238,255,142,83,0,4,227,255,152,86,0,3,228,255,40,74,0,101,214,255,198,55,0,116,204,255,50,45,0,240, +216,255,93,57,0,138,209,255,63,42,0,75,193,255,154,20,0,106,205,255,250,9,0,172,183,255,105,25,0,43,188,255,3,19,0,50,171,255,94,22,0,107,177,255,204,7,0,83,178,255,51,242,255,251,166,255,93,225,255,40,172,255,193,238,255,241,165,255,245,251,255,243, +161,255,221,227,255,35,161,255,33,230,255,199,158,255,68,232,255,80,166,255,49,223,255,179,152,255,43,236,255,68,169,255,245,227,255,82,164,255,143,222,255,153,185,255,196,232,255,188,163,255,141,226,255,64,157,255,65,237,255,50,185,255,41,216,255,65, +155,255,164,226,255,52,159,255,156,245,255,243,174,255,148,235,255,62,187,255,205,238,255,215,184,255,80,233,255,67,179,255,94,251,255,189,190,255,63,242,255,153,194,255,146,239,255,136,160,255,25,249,255,109,168,255,178,224,255,44,159,255,6,243,255, +88,164,255,131,227,255,73,151,255,191,224,255,79,162,255,163,210,255,70,137,255,7,221,255,133,150,255,12,212,255,158,149,255,159,197,255,28,132,255,186,213,255,98,154,255,38,207,255,46,162,255,48,210,255,92,126,255,100,203,255,174,126,255,33,197,255, +187,125,255,61,172,255,151,106,255,28,187,255,21,113,255,248,171,255,174,111,255,209,178,255,188,89,255,244,159,255,176,90,255,199,158,255,176,93,255,52,152,255,59,113,255,255,145,255,156,71,255,94,161,255,163,80,255,146,154,255,131,76,255,125,149,255, +155,76,255,105,146,255,94,83,255,195,152,255,112,74,255,226,157,255,111,94,255,249,142,255,92,71,255,62,161,255,100,78,255,40,142,255,201,85,255,120,162,255,85,68,255,116,152,255,122,84,255,12,153,255,114,79,255,74,163,255,101,82,255,19,126,255,215,53, +255,178,149,255,32,51,255,195,143,255,167,43,255,69,125,255,196,35,255,201,136,255,112,41,255,151,141,255,140,34,255,113,131,255,215,14,255,10,114,255,96,20,255,125,99,255,169,0,255,161,100,255,171,255,254,242,85,255,200,233,254,165,81,255,19,3,255,6, +61,255,213,234,254,242,73,255,53,233,254,250,64,255,98,237,254,0,57,255,217,234,254,178,53,255,203,224,254,49,56,255,33,235,254,21,50,255,59,220,254,108,57,255,116,223,254,223,31,255,203,217,254,187,34,255,86,205,254,8,27,255,251,203,254,55,27,255,89, +205,254,10,13,255,41,193,254,39,21,255,201,213,254,167,35,255,197,206,254,11,2,255,116,208,254,233,16,255,117,208,254,20,36,255,42,216,254,117,17,255,20,230,254,54,26,255,73,209,254,222,47,255,38,226,254,72,33,255,25,229,254,122,58,255,229,235,254,21, +41,255,183,223,254,58,27,255,57,237,254,0,55,255,62,245,254,97,51,255,193,243,254,215,63,255,134,245,254,14,69,255,21,14,255,66,62,255,30,5,255,56,62,255,143,240,254,1,73,255,151,15,255,124,65,255,159,8,255,41,56,255,181,10,255,136,68,255,214,244,254, +223,74,255,206,11,255,120,49,255,2,249,254,201,62,255,69,254,254,203,61,255,102,2,255,224,65,255,81,244,254,79,60,255,235,10,255,206,37,255,141,0,255,53,52,255,143,12,255,166,57,255,30,254,254,207,39,255,43,255,254,9,41,255,233,19,255,40,34,255,64,14, +255,27,36,255,110,16,255,238,35,255,39,30,255,204,36,255,195,26,255,69,20,255,199,12,255,177,18,255,39,22,255,253,24,255,234,25,255,27,31,255,250,11,255,188,45,255,123,34,255,173,26,255,116,20,255,71,25,255,198,43,255,234,26,255,38,18,255,234,38,255, +129,44,255,50,48,255,217,38,255,190,25,255,227,40,255,241,23,255,151,25,255,145,28,255,137,29,255,238,27,255,152,38,255,87,51,255,163,39,255,50,32,255,119,26,255,87,53,255,136,12,255,32,51,255,97,17,255,226,55,255,112,26,255,50,47,255,216,26,255,6,35, +255,181,28,255,125,54,255,141,34,255,45,54,255,242,38,255,240,57,255,207,39,255,58,55,255,34,39,255,25,54,255,62,46,255,209,56,255,75,56,255,49,65,255,79,32,255,117,67,255,80,53,255,249,54,255,159,56,255,64,64,255,203,59,255,221,59,255,11,76,255,155, +57,255,224,42,255,215,66,255,220,66,255,42,67,255,96,65,255,102,75,255,59,68,255,135,78,255,145,54,255,229,77,255,142,47,255,161,77,255,126,52,255,226,72,255,162,51,255,211,75,255,162,32,255,215,82,255,35,53,255,102,70,255,52,49,255,13,78,255,150,35, +255,108,77,255,11,17,255,213,67,255,75,32,255,32,55,255,24,37,255,155,50,255,12,38,255,149,36,255,117,10,255,88,40,255,212,37,255,88,31,255,123,26,255,148,20,255,64,28,255,158,23,255,17,38,255,187,19,255,242,35,255,51,27,255,125,47,255,88,17,255,144, +23,255,77,27,255,111,22,255,104,16,255,161,20,255,142,23,255,212,26,255,67,28,255,253,13,255,6,13,255,32,15,255,134,22,255,161,14,255,21,21,255,119,21,255,200,17,255,92,245,254,47,21,255,236,4,255,67,33,255,105,254,254,101,26,255,195,2,255,107,21,255, +4,254,254,47,15,255,193,234,254,102,27,255,145,254,254,84,24,255,104,4,255,20,20,255,109,248,254,206,3,255,158,230,254,52,7,255,198,244,254,109,17,255,164,228,254,70,4,255,20,232,254,144,10,255,72,237,254,1,5,255,215,243,254,199,5,255,193,218,254,46, +8,255,249,212,254,28,5,255,201,231,254,39,254,254,227,213,254,200,238,254,58,211,254,153,248,254,88,224,254,58,242,254,17,209,254,194,229,254,49,204,254,221,235,254,33,192,254,2,236,254,80,209,254,185,238,254,32,219,254,14,237,254,89,213,254,112,251, +254,38,225,254,81,249,254,12,236,254,190,238,254,56,230,254,190,255,254,76,250,254,135,254,254,151,239,254,213,18,255,196,249,254,2,4,255,243,233,254,83,21,255,227,237,254,148,25,255,157,238,254,221,31,255,17,247,254,5,37,255,184,5,255,109,38,255,6,1, +255,158,20,255,49,20,255,37,57,255,108,20,255,192,39,255,25,7,255,20,46,255,212,13,255,173,44,255,136,27,255,31,32,255,22,26,255,69,46,255,23,41,255,16,21,255,153,33,255,79,48,255,98,47,255,227,20,255,125,37,255,9,43,255,123,55,255,223,39,255,173,46, +255,202,39,255,50,28,255,202,32,255,224,36,255,239,46,255,50,67,255,82,51,255,201,67,255,122,48,255,232,63,255,91,61,255,56,73,255,181,79,255,113,88,255,225,65,255,85,92,255,190,74,255,233,87,255,150,93,255,51,100,255,83,99,255,54,99,255,231,86,255,189, +102,255,143,84,255,112,121,255,153,93,255,66,107,255,192,83,255,84,111,255,107,86,255,60,112,255,249,77,255,152,112,255,226,78,255,123,131,255,70,82,255,252,130,255,227,85,255,64,111,255,219,77,255,240,124,255,27,81,255,129,129,255,192,80,255,170,118, +255,107,69,255,188,115,255,236,61,255,8,112,255,177,69,255,102,111,255,150,65,255,224,108,255,250,82,255,113,112,255,8,68,255,76,107,255,128,59,255,110,101,255,146,63,255,63,109,255,188,73,255,62,103,255,54,57,255,244,98,255,137,70,255,137,115,255,217, +57,255,9,94,255,255,63,255,235,105,255,16,54,255,210,100,255,171,72,255,188,106,255,108,69,255,224,113,255,238,75,255,138,109,255,54,88,255,178,127,255,72,105,255,250,153,255,117,86,255,247,148,255,229,102,255,233,150,255,203,104,255,75,148,255,225,118, +255,12,178,255,9,110,255,40,162,255,111,118,255,137,186,255,82,122,255,243,185,255,132,113,255,70,192,255,187,129,255,230,193,255,250,133,255,224,203,255,34,118,255,38,211,255,35,150,255,211,218,255,199,156,255,40,216,255,93,151,255,43,221,255,1,157, +255,19,222,255,157,161,255,192,228,255,67,160,255,16,210,255,78,135,255,56,208,255,39,150,255,209,219,255,66,142,255,167,223,255,100,143,255,122,210,255,103,141,255,20,209,255,13,153,255,60,219,255,35,141,255,78,209,255,133,151,255,250,216,255,16,152, +255,144,211,255,202,158,255,65,210,255,121,139,255,170,210,255,118,135,255,56,209,255,215,133,255,182,216,255,180,146,255,197,245,255,244,149,255,43,241,255,137,151,255,215,217,255,119,136,255,65,242,255,152,162,255,17,255,255,232,132,255,130,226,255, +4,155,255,153,244,255,179,167,255,77,242,255,33,165,255,235,250,255,210,181,255,52,255,255,180,173,255,94,251,255,114,171,255,214,5,0,49,187,255,139,14,0,170,185,255,5,23,0,248,168,255,56,9,0,138,196,255,94,13,0,243,183,255,203,17,0,216,174,255,183,253, +255,113,197,255,243,8,0,169,180,255,183,3,0,110,181,255,60,251,255,109,176,255,18,255,255,79,162,255,252,3,0,185,173,255,169,237,255,232,161,255,1,240,255,9,169,255,58,246,255,24,185,255,31,254,255,95,167,255,46,2,0,209,156,255,11,8,0,70,139,255,6,249, +255,234,155,255,122,249,255,6,160,255,81,246,255,186,151,255,127,247,255,162,175,255,91,3,0,9,165,255,138,8,0,152,163,255,128,13,0,82,164,255,20,26,0,160,171,255,122,27,0,85,168,255,11,31,0,229,166,255,215,38,0,58,187,255,43,32,0,35,188,255,101,54,0, +187,192,255,32,48,0,248,202,255,54,65,0,24,199,255,152,57,0,17,208,255,40,66,0,103,200,255,108,67,0,112,235,255,89,65,0,171,201,255,147,70,0,202,225,255,217,64,0,187,221,255,57,74,0,209,227,255,1,68,0,103,228,255,161,63,0,179,225,255,127,57,0,69,228, +255,9,74,0,105,222,255,27,65,0,59,233,255,4,38,0,99,241,255,45,51,0,152,211,255,213,70,0,137,224,255,251,52,0,92,223,255,20,57,0,79,229,255,254,66,0,161,234,255,218,72,0,50,243,255,10,83,0,247,221,255,133,74,0,100,220,255,63,74,0,63,221,255,189,69,0, +171,219,255,114,93,0,84,206,255,71,75,0,230,224,255,104,97,0,179,237,255,19,104,0,89,220,255,103,81,0,224,206,255,52,104,0,169,215,255,196,107,0,68,214,255,134,98,0,4,238,255,244,116,0,65,226,255,84,110,0,253,235,255,11,106,0,121,227,255,77,107,0,121, +227,255,218,90,0,115,235,255,114,90,0,104,224,255,162,79,0,192,237,255,242,79,0,165,228,255,156,76,0,20,236,255,0,84,0,135,231,255,126,74,0,129,244,255,38,77,0,217,231,255,177,61,0,234,244,255,244,57,0,0,230,255,25,47,0,35,245,255,128,52,0,116,230,255, +128,57,0,16,233,255,134,39,0,86,228,255,192,49,0,206,221,255,175,56,0,17,228,255,221,51,0,158,227,255,195,57,0,91,241,255,142,60,0,43,237,255,139,46,0,251,222,255,217,72,0,242,206,255,194,67,0,186,215,255,208,66,0,61,229,255,179,83,0,143,204,255,160, +86,0,142,229,255,115,105,0,102,217,255,247,93,0,42,213,255,188,98,0,224,229,255,142,108,0,134,208,255,95,113,0,112,223,255,42,130,0,95,230,255,164,146,0,154,239,255,34,133,0,109,234,255,157,134,0,185,236,255,196,156,0,125,227,255,176,140,0,145,243,255, +120,149,0,115,222,255,98,139,0,242,236,255,197,140,0,250,252,255,131,143,0,103,246,255,82,135,0,99,243,255,62,143,0,61,230,255,8,136,0,95,3,0,187,143,0,158,238,255,62,123,0,11,246,255,154,118,0,116,4,0,111,140,0,165,240,255,176,123,0,144,239,255,14,123, +0,204,238,255,18,121,0,99,6,0,199,122,0,27,12,0,69,109,0,178,244,255,131,135,0,177,2,0,186,122,0,237,253,255,142,112,0,105,241,255,163,126,0,177,7,0,62,139,0,0,18,0,244,144,0,103,251,255,147,118,0,248,2,0,192,132,0,65,10,0,74,133,0,27,254,255,59,125, +0,122,6,0,101,131,0,248,212,255,222,119,0,124,243,255,120,141,0,77,248,255,251,144,0,48,241,255,23,129,0,239,252,255,97,145,0,135,234,255,39,149,0,53,235,255,69,146,0,249,248,255,128,154,0,43,252,255,214,170,0,118,245,255,167,161,0,109,240,255,241,150, +0,26,241,255,102,154,0,165,236,255,95,166,0,58,251,255,195,176,0,215,239,255,113,194,0,161,242,255,78,198,0,99,1,0,93,192,0,219,17,0,211,195,0,86,15,0,255,178,0,184,17,0,82,195,0,187,16,0,247,189,0,41,19,0,30,201,0,18,6,0,219,177,0,244,12,0,240,160,0, +194,18,0,239,182,0,192,244,255,155,157,0,40,249,255,179,156,0,203,1,0,80,180,0,243,255,255,95,170,0,229,4,0,209,157,0,199,241,255,235,164,0,121,253,255,214,163,0,211,237,255,201,155,0,8,5,0,38,168,0,246,254,255,239,174,0,167,249,255,80,169,0,67,9,0,100, +161,0,105,16,0,119,175,0,215,253,255,138,168,0,240,239,255,13,184,0,215,5,0,9,181,0,227,5,0,138,197,0,204,248,255,23,192,0,103,0,0,163,204,0,217,13,0,240,188,0,199,15,0,56,213,0,143,10,0,132,210,0,49,11,0,214,209,0,149,4,0,58,219,0,231,20,0,117,214,0, +160,46,0,162,231,0,237,26,0,229,223,0,63,39,0,161,251,0,236,60,0,88,244,0,35,49,0,177,232,0,203,55,0,12,250,0,74,64,0,216,251,0,92,49,0,5,8,1,137,66,0,123,250,0,222,64,0,82,248,0,213,55,0,105,239,0,86,59,0,207,4,1,239,74,0,1,3,1,174,56,0,234,237,0,149, +53,0,184,234,0,186,64,0,249,231,0,102,73,0,150,237,0,251,61,0,11,229,0,64,50,0,102,229,0,124,61,0,14,215,0,87,66,0,82,227,0,115,56,0,52,209,0,112,61,0,126,235,0,39,62,0,15,225,0,172,40,0,47,210,0,255,63,0,45,222,0,59,51,0,179,227,0,4,50,0,193,230,0,176, +54,0,10,233,0,133,61,0,165,227,0,201,57,0,170,225,0,15,58,0,246,226,0,134,72,0,86,245,0,161,55,0,221,210,0,27,73,0,227,255,0,108,69,0,221,229,0,183,59,0,65,227,0,4,57,0,198,240,0,73,49,0,252,233,0,14,65,0,30,234,0,92,58,0,156,226,0,61,57,0,124,248,0, +144,56,0,73,234,0,190,60,0,192,232,0,43,55,0,103,219,0,51,52,0,134,255,0,76,59,0,216,254,0,229,54,0,56,226,0,152,45,0,134,242,0,4,52,0,247,227,0,95,64,0,95,239,0,193,54,0,162,235,0,97,44,0,170,240,0,161,57,0,141,238,0,43,54,0,98,244,0,4,67,0,244,237, +0,39,59,0,143,232,0,239,61,0,35,222,0,200,59,0,114,230,0,207,41,0,176,220,0,31,31,0,98,200,0,50,70,0,62,223,0,221,63,0,163,216,0,126,45,0,253,205,0,170,53,0,117,189,0,86,39,0,183,197,0,124,49,0,204,164,0,95,36,0,94,173,0,102,34,0,20,178,0,169,38,0,24, +173,0,72,21,0,148,166,0,245,43,0,85,175,0,30,16,0,15,156,0,139,18,0,38,167,0,23,18,0,53,166,0,160,11,0,0,153,0,81,29,0,236,151,0,111,23,0,181,172,0,149,7,0,127,163,0,225,12,0,141,151,0,49,17,0,104,148,0,86,254,255,14,162,0,28,20,0,84,154,0,37,17,0,53, +156,0,55,15,0,2,165,0,15,2,0,47,143,0,127,14,0,114,158,0,148,11,0,62,156,0,226,26,0,66,180,0,98,5,0,81,157,0,39,9,0,103,157,0,52,250,255,192,165,0,39,247,255,232,156,0,155,23,0,17,169,0,238,4,0,2,141,0,236,23,0,245,169,0,220,17,0,56,163,0,180,26,0,196, +169,0,58,10,0,45,166,0,237,40,0,133,174,0,13,17,0,3,168,0,180,15,0,60,175,0,93,31,0,214,191,0,11,14,0,45,179,0,186,20,0,177,198,0,221,20,0,141,177,0,148,14,0,125,189,0,236,19,0,83,177,0,14,6,0,89,175,0,24,10,0,138,177,0,4,9,0,249,171,0,171,14,0,42,167, +0,159,0,0,146,167,0,203,4,0,66,156,0,182,7,0,58,172,0,121,5,0,137,155,0,39,26,0,21,148,0,17,254,255,211,132,0,44,14,0,52,135,0,218,252,255,59,129,0,235,254,255,159,151,0,71,255,255,159,123,0,233,251,255,196,115,0,110,1,0,101,119,0,198,248,255,15,100, +0,152,248,255,22,115,0,100,236,255,15,110,0,247,240,255,193,122,0,9,229,255,128,93,0,140,214,255,33,94,0,231,221,255,237,105,0,206,218,255,14,106,0,190,206,255,66,111,0,222,217,255,107,126,0,60,204,255,68,93,0,134,206,255,214,121,0,53,213,255,144,118, +0,77,216,255,177,125,0,1,215,255,196,126,0,69,208,255,83,132,0,240,219,255,245,128,0,189,190,255,21,143,0,151,218,255,88,140,0,125,199,255,175,138,0,132,207,255,126,142,0,58,212,255,142,154,0,27,214,255,229,135,0,91,229,255,246,153,0,13,232,255,12,151, +0,168,227,255,207,151,0,227,223,255,193,138,0,10,243,255,159,121,0,124,243,255,212,132,0,106,2,0,17,112,0,156,1,0,217,117,0,232,255,255,202,111,0,1,242,255,12,113,0,18,244,255,43,94,0,26,15,0,74,98,0,103,3,0,119,105,0,134,4,0,123,107,0,98,11,0,220,112, +0,3,235,255,152,95,0,172,246,255,21,80,0,90,243,255,82,69,0,227,227,255,51,91,0,152,232,255,209,85,0,110,218,255,166,74,0,129,190,255,92,56,0,217,214,255,15,65,0,135,182,255,192,57,0,171,185,255,136,66,0,72,177,255,73,45,0,149,172,255,199,58,0,31,186, +255,25,68,0,113,179,255,157,44,0,142,187,255,78,66,0,208,185,255,202,41,0,34,179,255,242,33,0,7,180,255,225,28,0,1,169,255,149,52,0,21,183,255,164,32,0,223,181,255,218,55,0,57,189,255,197,45,0,75,187,255,191,37,0,234,172,255,102,52,0,47,195,255,195,39, +0,153,185,255,36,42,0,46,180,255,83,38,0,201,172,255,109,28,0,150,177,255,77,24,0,100,178,255,36,26,0,82,186,255,138,26,0,54,175,255,49,16,0,70,177,255,68,20,0,242,174,255,238,5,0,118,180,255,250,5,0,115,168,255,92,4,0,118,180,255,227,11,0,144,176,255, +83,16,0,104,181,255,85,6,0,108,183,255,71,19,0,141,202,255,133,21,0,125,191,255,196,38,0,209,193,255,121,24,0,76,195,255,75,21,0,245,205,255,98,30,0,234,202,255,111,33,0,88,198,255,131,12,0,168,189,255,247,21,0,119,190,255,117,25,0,138,179,255,92,1,0, +188,184,255,55,20,0,72,163,255,16,6,0,134,168,255,153,253,255,218,167,255,137,245,255,127,173,255,63,231,255,207,161,255,201,228,255,249,144,255,228,218,255,78,156,255,121,222,255,86,136,255,166,207,255,247,142,255,171,221,255,151,131,255,140,211,255, +159,129,255,224,201,255,138,147,255,201,204,255,81,135,255,98,192,255,1,138,255,64,189,255,143,134,255,198,190,255,171,136,255,34,188,255,106,123,255,138,188,255,233,141,255,28,181,255,3,156,255,238,177,255,81,127,255,82,158,255,92,145,255,33,168,255, +197,130,255,162,176,255,90,143,255,98,190,255,233,130,255,156,172,255,153,130,255,221,170,255,112,126,255,100,172,255,220,125,255,173,156,255,236,130,255,214,181,255,209,131,255,227,172,255,114,132,255,98,161,255,169,118,255,104,189,255,203,124,255,189, +185,255,142,128,255,10,181,255,193,127,255,154,191,255,17,134,255,163,192,255,223,114,255,138,169,255,249,125,255,117,186,255,136,145,255,7,179,255,204,128,255,14,201,255,45,119,255,63,174,255,57,119,255,55,182,255,157,123,255,119,189,255,212,106,255, +45,182,255,65,129,255,137,199,255,1,122,255,45,179,255,2,96,255,201,163,255,171,120,255,175,187,255,144,104,255,252,159,255,33,109,255,50,155,255,196,97,255,185,153,255,18,113,255,191,166,255,180,110,255,191,163,255,0,92,255,31,166,255,161,98,255,137, +174,255,88,105,255,118,153,255,51,117,255,27,173,255,31,88,255,250,149,255,143,106,255,182,163,255,31,97,255,69,160,255,83,107,255,109,159,255,20,80,255,79,155,255,216,97,255,205,175,255,149,94,255,27,148,255,69,100,255,24,169,255,48,108,255,53,176,255, +121,110,255,63,165,255,154,130,255,42,176,255,65,113,255,25,166,255,230,112,255,16,174,255,144,119,255,13,189,255,41,136,255,153,194,255,85,131,255,251,176,255,164,123,255,204,176,255,67,144,255,129,175,255,238,150,255,203,188,255,121,134,255,81,173, +255,79,150,255,112,188,255,13,155,255,188,175,255,155,165,255,182,185,255,33,181,255,200,164,255,247,168,255,206,168,255,116,175,255,82,176,255,254,175,255,184,193,255,32,165,255,74,170,255,103,156,255,150,171,255,204,165,255,142,162,255,100,149,255, +13,171,255,184,137,255,6,173,255,196,137,255,164,168,255,111,111,255,80,169,255,91,143,255,112,186,255,158,133,255,229,172,255,204,122,255,173,147,255,251,119,255,229,172,255,170,122,255,19,184,255,169,120,255,65,165,255,241,111,255,221,169,255,115,122, +255,134,168,255,61,135,255,180,168,255,230,125,255,122,168,255,96,127,255,20,168,255,48,128,255,52,166,255,73,138,255,226,168,255,187,136,255,21,160,255,42,127,255,192,163,255,13,142,255,158,171,255,115,145,255,119,175,255,184,153,255,2,189,255,249,146, +255,232,170,255,114,151,255,242,184,255,168,160,255,149,179,255,229,154,255,171,182,255,132,155,255,99,183,255,255,164,255,143,186,255,45,157,255,164,197,255,80,173,255,231,179,255,211,164,255,67,196,255,125,168,255,172,201,255,14,178,255,202,186,255, +247,164,255,2,190,255,0,184,255,176,187,255,255,178,255,234,187,255,169,185,255,96,187,255,2,181,255,225,181,255,90,190,255,104,188,255,222,186,255,238,194,255,225,196,255,151,188,255,17,178,255,83,193,255,137,182,255,252,170,255,151,184,255,146,189, +255,170,188,255,8,184,255,149,190,255,240,186,255,57,185,255,227,171,255,65,199,255,61,188,255,90,180,255,191,174,255,194,201,255,81,168,255,205,188,255,96,175,255,19,181,255,30,172,255,90,191,255,243,173,255,41,184,255,228,174,255,232,182,255,168,172, +255,249,181,255,60,181,255,131,195,255,110,188,255,246,187,255,16,186,255,70,183,255,1,192,255,154,182,255,124,198,255,233,185,255,212,191,255,123,179,255,237,193,255,53,187,255,248,201,255,105,178,255,54,196,255,135,197,255,40,194,255,145,200,255,21, +206,255,89,210,255,96,202,255,186,196,255,193,188,255,191,200,255,137,198,255,195,225,255,234,207,255,206,207,255,60,190,255,24,230,255,65,204,255,54,231,255,40,202,255,1,225,255,102,196,255,169,236,255,97,192,255,207,230,255,79,191,255,57,253,255,18, +197,255,101,241,255,254,198,255,134,254,255,31,212,255,119,247,255,34,209,255,66,8,0,4,218,255,200,1,0,62,228,255,183,10,0,146,212,255,157,33,0,62,223,255,229,17,0,158,212,255,237,23,0,35,229,255,67,15,0,79,227,255,214,8,0,143,233,255,73,34,0,196,229, +255,243,34,0,24,239,255,129,19,0,97,233,255,96,36,0,107,0,0,179,38,0,185,229,255,41,23,0,161,244,255,83,14,0,169,230,255,159,10,0,76,223,255,216,246,255,188,216,255,76,8,0,222,216,255,137,12,0,209,214,255,170,251,255,50,179,255,199,11,0,94,197,255,69, +7,0,21,198,255,113,251,255,67,188,255,248,254,255,56,188,255,123,239,255,75,179,255,173,253,255,243,175,255,81,253,255,146,196,255,4,245,255,79,171,255,34,251,255,165,170,255,31,254,255,168,184,255,166,242,255,176,180,255,40,252,255,73,190,255,137,246, +255,254,173,255,244,250,255,9,167,255,233,6,0,176,173,255,219,253,255,162,181,255,204,5,0,43,165,255,207,9,0,2,181,255,106,4,0,254,164,255,31,254,255,163,181,255,118,238,255,199,171,255,96,240,255,187,181,255,9,10,0,233,176,255,225,254,255,171,182,255, +138,2,0,123,185,255,196,253,255,166,171,255,208,4,0,127,189,255,190,247,255,49,184,255,74,1,0,242,165,255,56,0,0,74,186,255,134,242,255,190,169,255,26,255,255,184,187,255,37,4,0,111,188,255,138,9,0,175,170,255,142,250,255,59,180,255,147,7,0,210,184,255, +134,254,255,35,197,255,212,3,0,140,180,255,33,0,0,231,180,255,72,255,255,63,170,255,147,19,0,22,169,255,41,3,0,14,166,255,105,241,255,136,155,255,230,253,255,103,176,255,235,3,0,63,161,255,2,4,0,50,159,255,93,4,0,237,170,255,186,6,0,133,161,255,195,246, +255,20,156,255,220,248,255,80,153,255,199,250,255,216,158,255,4,243,255,161,153,255,160,251,255,185,146,255,28,243,255,151,153,255,73,222,255,0,142,255,155,245,255,156,157,255,81,230,255,148,133,255,56,221,255,99,122,255,7,231,255,9,108,255,164,206,255, +133,113,255,137,207,255,183,96,255,152,213,255,157,106,255,161,209,255,130,100,255,37,211,255,184,115,255,248,217,255,98,107,255,117,218,255,56,111,255,78,219,255,34,111,255,33,226,255,134,107,255,64,215,255,134,114,255,190,215,255,21,107,255,91,205, +255,19,119,255,90,203,255,194,123,255,201,206,255,10,105,255,151,223,255,149,121,255,198,225,255,238,110,255,143,227,255,41,113,255,4,232,255,76,120,255,27,232,255,253,135,255,34,235,255,192,136,255,61,223,255,175,121,255,166,234,255,51,130,255,71,228, +255,252,122,255,76,236,255,23,120,255,10,240,255,226,116,255,174,239,255,185,131,255,29,227,255,45,125,255,68,215,255,252,109,255,249,231,255,5,140,255,58,242,255,231,129,255,132,243,255,142,113,255,207,235,255,5,120,255,96,223,255,232,118,255,52,241, +255,128,132,255,58,233,255,171,119,255,139,244,255,54,113,255,210,221,255,138,110,255,199,230,255,75,107,255,135,227,255,151,117,255,102,249,255,146,111,255,248,236,255,215,118,255,199,239,255,62,90,255,211,250,255,89,105,255,116,233,255,238,87,255,69, +240,255,181,105,255,93,233,255,82,100,255,60,244,255,233,104,255,253,233,255,217,105,255,98,230,255,186,109,255,148,249,255,13,123,255,124,216,255,159,117,255,109,239,255,104,121,255,39,237,255,30,100,255,0,238,255,242,121,255,230,242,255,214,120,255, +255,255,255,174,150,255,157,243,255,196,137,255,75,239,255,47,146,255,240,229,255,209,128,255,241,242,255,69,151,255,110,239,255,38,137,255,42,252,255,36,153,255,237,243,255,101,167,255,180,254,255,120,159,255,239,4,0,170,145,255,67,11,0,85,168,255,219, +240,255,153,155,255,209,255,255,74,168,255,87,5,0,146,172,255,33,0,0,10,163,255,233,1,0,182,174,255,10,0,0,130,173,255,72,255,255,17,164,255,6,248,255,232,169,255,160,4,0,49,169,255,177,3,0,31,166,255,234,235,255,233,158,255,187,244,255,163,165,255,236, +9,0,163,163,255,252,249,255,20,151,255,210,3,0,44,162,255,174,12,0,171,166,255,227,2,0,182,151,255,249,11,0,180,158,255,178,7,0,52,152,255,62,14,0,20,154,255,240,19,0,221,172,255,249,13,0,94,153,255,232,14,0,225,152,255,49,27,0,98,159,255,233,31,0,49, +149,255,7,37,0,128,162,255,12,38,0,166,157,255,24,55,0,99,172,255,34,17,0,30,155,255,168,28,0,156,170,255,216,53,0,115,184,255,75,24,0,213,170,255,49,33,0,71,203,255,155,28,0,202,185,255,128,27,0,114,195,255,239,38,0,143,194,255,120,41,0,97,211,255,118, +54,0,243,220,255,74,58,0,234,209,255,201,47,0,3,218,255,203,53,0,72,235,255,156,51,0,191,234,255,186,75,0,182,242,255,132,51,0,121,245,255,169,59,0,35,244,255,120,66,0,73,237,255,157,80,0,144,249,255,99,74,0,55,1,0,38,81,0,158,1,0,69,96,0,26,19,0,177, +97,0,200,14,0,96,112,0,158,20,0,163,112,0,116,15,0,116,108,0,228,7,0,138,108,0,78,24,0,219,116,0,232,25,0,196,114,0,142,31,0,16,126,0,6,35,0,218,118,0,6,37,0,1,122,0,108,33,0,236,131,0,176,37,0,171,120,0,104,15,0,28,119,0,210,35,0,148,124,0,1,44,0,25, +142,0,58,44,0,210,129,0,176,33,0,239,136,0,152,31,0,0,140,0,158,34,0,205,109,0,80,13,0,223,118,0,213,24,0,35,121,0,74,10,0,250,111,0,231,250,255,244,120,0,58,15,0,20,109,0,10,253,255,243,114,0,107,2,0,220,116,0,67,1,0,184,108,0,186,254,255,110,109,0, +184,246,255,227,102,0,32,255,255,28,105,0,168,251,255,182,110,0,227,7,0,33,100,0,171,19,0,16,119,0,231,254,255,174,111,0,210,4,0,248,112,0,90,17,0,72,115,0,180,253,255,202,110,0,243,252,255,8,118,0,28,16,0,236,122,0,62,14,0,19,116,0,89,9,0,52,122,0,215, +7,0,228,117,0,74,16,0,74,110,0,169,251,255,175,104,0,198,2,0,197,116,0,209,0,0,25,96,0,179,241,255,201,103,0,15,252,255,65,99,0,10,245,255,212,91,0,89,245,255,148,92,0,237,241,255,245,93,0,191,227,255,216,78,0,60,228,255,119,87,0,26,244,255,243,77,0, +220,236,255,151,93,0,220,244,255,249,70,0,220,214,255,106,91,0,226,247,255,128,85,0,255,250,255,213,82,0,135,249,255,110,88,0,231,22,0,144,98,0,254,254,255,86,88,0,72,0,0,17,114,0,192,255,255,182,95,0,237,15,0,12,89,0,124,245,255,204,109,0,27,6,0,72, +108,0,67,5,0,94,110,0,213,17,0,66,107,0,55,3,0,71,112,0,14,14,0,224,109,0,225,9,0,240,114,0,226,7,0,159,118,0,225,9,0,211,97,0,117,10,0,221,105,0,42,9,0,137,92,0,56,241,255,1,86,0,90,249,255,136,94,0,148,245,255,205,84,0,232,248,255,201,67,0,229,233, +255,205,76,0,68,245,255,46,72,0,103,233,255,18,67,0,239,247,255,142,71,0,229,233,255,233,73,0,34,245,255,45,70,0,188,238,255,77,47,0,55,224,255,33,64,0,75,236,255,58,60,0,42,228,255,85,59,0,37,229,255,39,59,0,122,230,255,118,65,0,227,247,255,66,68,0, +35,237,255,87,74,0,231,227,255,37,67,0,213,232,255,200,72,0,240,239,255,39,80,0,131,248,255,73,82,0,251,243,255,0,73,0,32,230,255,15,82,0,24,241,255,180,77,0,36,243,255,166,93,0,239,245,255,244,70,0,208,235,255,105,80,0,97,244,255,119,68,0,75,219,255, +44,67,0,153,202,255,73,89,0,29,223,255,154,60,0,46,203,255,100,48,0,120,206,255,201,48,0,100,192,255,31,50,0,1,182,255,29,54,0,252,199,255,89,44,0,104,182,255,210,33,0,142,187,255,245,33,0,45,192,255,176,16,0,188,191,255,162,26,0,156,204,255,172,26,0, +13,207,255,172,28,0,158,198,255,235,8,0,26,186,255,39,33,0,46,213,255,155,6,0,98,208,255,17,12,0,51,216,255,172,7,0,161,211,255,52,27,0,183,232,255,134,19,0,190,227,255,37,22,0,195,228,255,148,43,0,153,237,255,250,47,0,63,233,255,254,65,0,117,241,255, +99,51,0,16,254,255,155,53,0,248,242,255,148,71,0,92,247,255,72,91,0,230,245,255,125,101,0,149,249,255,72,91,0,186,0,0,5,100,0,60,2,0,15,102,0,105,17,0,110,105,0,249,14,0,90,125,0,107,24,0,151,98,0,215,12,0,93,126,0,43,29,0,17,120,0,95,41,0,32,121,0,215, +36,0,153,129,0,87,33,0,161,137,0,0,49,0,104,109,0,147,38,0,46,122,0,9,27,0,237,113,0,189,20,0,58,118,0,255,35,0,207,103,0,222,20,0,250,107,0,168,25,0,230,101,0,32,12,0,34,105,0,140,11,0,120,91,0,245,18,0,172,101,0,40,20,0,223,87,0,179,1,0,0,79,0,250, +8,0,202,72,0,140,2,0,248,79,0,26,2,0,245,85,0,122,248,255,172,71,0,185,236,255,55,57,0,215,231,255,236,66,0,30,217,255,105,67,0,220,254,255,177,59,0,40,230,255,111,55,0,13,249,255,255,61,0,181,222,255,88,57,0,176,232,255,138,45,0,10,224,255,115,36,0, +215,233,255,88,44,0,163,225,255,195,65,0,79,253,255,128,61,0,233,243,255,23,56,0,235,248,255,18,64,0,248,10,0,51,75,0,225,1,0,243,57,0,178,12,0,171,74,0,157,30,0,181,85,0,127,22,0,253,86,0,104,33,0,28,102,0,50,63,0,182,99,0,225,46,0,236,94,0,107,61,0, +44,110,0,104,67,0,62,116,0,200,59,0,138,111,0,86,77,0,190,128,0,27,72,0,233,139,0,128,97,0,232,132,0,189,82,0,248,131,0,150,90,0,195,134,0,32,112,0,173,139,0,224,96,0,86,142,0,139,95,0,87,156,0,244,107,0,66,127,0,29,105,0,166,154,0,65,103,0,246,120,0, +1,104,0,156,143,0,248,106,0,106,131,0,34,104,0,52,134,0,92,77,0,136,119,0,22,88,0,18,132,0,197,80,0,253,120,0,67,70,0,171,131,0,4,55,0,113,117,0,92,59,0,18,121,0,34,43,0,253,109,0,175,30,0,123,108,0,105,41,0,39,91,0,178,26,0,120,96,0,115,18,0,170,81, +0,151,249,255,137,79,0,48,9,0,151,84,0,10,6,0,68,58,0,203,13,0,184,61,0,7,3,0,173,61,0,127,9,0,196,52,0,64,17,0,11,49,0,22,13,0,233,62,0,156,1,0,224,37,0,241,2,0,236,44,0,243,5,0,159,40,0,117,0,0,125,54,0,56,248,255,227,47,0,135,241,255,165,39,0,231, +235,255,101,40,0,213,236,255,126,38,0,186,228,255,251,38,0,133,210,255,182,59,0,177,205,255,186,41,0,30,205,255,54,28,0,163,195,255,88,28,0,85,181,255,170,24,0,80,173,255,251,10,0,212,172,255,228,3,0,217,154,255,114,10,0,25,173,255,121,9,0,55,172,255, +3,250,255,64,162,255,169,230,255,64,150,255,154,241,255,253,161,255,136,230,255,125,120,255,131,241,255,180,148,255,177,222,255,51,135,255,49,219,255,107,137,255,232,217,255,108,130,255,231,207,255,50,139,255,143,203,255,92,148,255,159,199,255,62,139, +255,126,199,255,23,138,255,83,190,255,228,133,255,31,191,255,153,127,255,199,188,255,221,141,255,56,172,255,140,119,255,134,186,255,118,131,255,14,175,255,1,142,255,85,166,255,180,115,255,39,192,255,164,143,255,178,188,255,57,132,255,245,178,255,53,131, +255,19,183,255,123,141,255,8,178,255,249,134,255,50,187,255,126,134,255,49,177,255,52,128,255,111,183,255,167,145,255,123,188,255,146,143,255,73,177,255,87,135,255,251,176,255,76,135,255,242,196,255,198,132,255,124,178,255,196,124,255,75,182,255,165, +127,255,36,166,255,102,118,255,125,156,255,210,102,255,72,164,255,13,133,255,122,155,255,210,119,255,113,153,255,25,113,255,236,145,255,204,105,255,1,158,255,207,103,255,68,128,255,124,112,255,31,137,255,171,95,255,133,127,255,106,78,255,78,110,255,182, +82,255,84,111,255,186,73,255,233,104,255,121,61,255,192,100,255,199,48,255,200,89,255,250,69,255,97,96,255,153,60,255,84,93,255,236,58,255,221,88,255,137,56,255,171,87,255,84,69,255,57,94,255,89,70,255,102,94,255,133,72,255,196,92,255,200,74,255,72,117, +255,182,95,255,40,102,255,63,71,255,205,116,255,243,98,255,145,110,255,239,107,255,96,119,255,248,109,255,89,120,255,201,106,255,149,128,255,244,128,255,101,145,255,18,128,255,18,134,255,194,114,255,156,147,255,149,124,255,57,150,255,4,132,255,6,141, +255,186,122,255,154,136,255,230,124,255,9,139,255,14,126,255,204,147,255,53,117,255,27,130,255,169,115,255,188,133,255,132,132,255,254,145,255,162,113,255,221,153,255,250,138,255,28,140,255,74,126,255,11,141,255,88,129,255,253,152,255,177,126,255,102, +151,255,128,125,255,69,177,255,223,131,255,192,156,255,16,120,255,83,167,255,174,143,255,149,151,255,109,128,255,66,163,255,243,130,255,88,155,255,88,136,255,44,163,255,49,137,255,191,150,255,161,121,255,94,156,255,164,132,255,182,163,255,66,120,255, +22,150,255,200,127,255,21,139,255,117,113,255,121,133,255,25,110,255,6,143,255,67,122,255,48,124,255,166,103,255,23,131,255,224,116,255,237,136,255,153,123,255,53,122,255,153,110,255,219,129,255,240,109,255,145,130,255,181,116,255,243,121,255,70,119, +255,168,127,255,240,119,255,101,106,255,97,112,255,181,122,255,59,116,255,25,125,255,120,130,255,239,130,255,192,131,255,205,143,255,182,123,255,62,112,255,165,135,255,195,143,255,44,141,255,68,129,255,178,143,255,202,126,255,164,150,255,106,151,255, +248,175,255,52,141,255,83,152,255,61,156,255,251,157,255,51,143,255,59,157,255,72,156,255,189,169,255,255,151,255,245,166,255,157,149,255,254,160,255,10,149,255,22,180,255,48,163,255,175,192,255,12,157,255,205,156,255,208,174,255,38,170,255,54,167,255, +124,177,255,194,165,255,124,193,255,131,158,255,229,180,255,5,171,255,11,193,255,119,174,255,98,200,255,59,181,255,142,197,255,134,172,255,64,200,255,129,187,255,140,210,255,182,167,255,11,214,255,249,175,255,154,208,255,69,186,255,169,214,255,60,189, +255,5,210,255,113,180,255,253,196,255,197,181,255,113,195,255,212,190,255,7,202,255,97,184,255,25,209,255,100,182,255,79,203,255,86,181,255,127,223,255,132,184,255,140,204,255,110,173,255,122,205,255,92,163,255,131,196,255,112,165,255,237,186,255,245, +167,255,125,189,255,92,182,255,162,184,255,83,166,255,206,181,255,253,144,255,30,171,255,27,138,255,227,172,255,43,153,255,71,178,255,74,155,255,209,184,255,3,132,255,188,162,255,75,141,255,99,168,255,237,139,255,255,184,255,16,157,255,73,192,255,243, +132,255,222,187,255,195,142,255,103,188,255,81,139,255,154,181,255,16,151,255,231,186,255,222,140,255,34,185,255,195,150,255,149,191,255,172,133,255,79,165,255,185,136,255,200,164,255,107,142,255,157,187,255,100,137,255,79,190,255,152,136,255,109,172, +255,133,134,255,88,198,255,95,141,255,14,182,255,191,117,255,104,162,255,11,134,255,178,149,255,60,132,255,117,145,255,85,121,255,104,153,255,12,128,255,56,152,255,5,129,255,234,134,255,122,127,255,147,149,255,197,137,255,163,133,255,223,118,255,5,133, +255,224,118,255,152,130,255,180,121,255,77,128,255,69,107,255,246,122,255,115,104,255,24,134,255,28,125,255,224,136,255,211,108,255,107,138,255,48,101,255,254,135,255,8,99,255,207,137,255,167,102,255,67,133,255,194,103,255,204,136,255,79,111,255,221, +149,255,172,97,255,82,151,255,57,111,255,202,167,255,244,121,255,99,152,255,180,113,255,88,158,255,108,100,255,149,156,255,107,114,255,210,157,255,168,112,255,17,145,255,91,98,255,248,152,255,191,118,255,42,169,255,180,115,255,115,170,255,124,109,255, +160,158,255,114,112,255,247,160,255,205,118,255,40,162,255,117,133,255,202,172,255,206,106,255,185,170,255,136,117,255,120,174,255,130,136,255,24,184,255,225,122,255,107,173,255,25,111,255,228,172,255,176,121,255,66,192,255,249,119,255,33,186,255,181, +110,255,214,183,255,198,111,255,101,177,255,2,107,255,7,170,255,146,106,255,3,169,255,124,88,255,215,159,255,169,97,255,50,166,255,118,77,255,208,151,255,231,95,255,255,157,255,146,84,255,225,149,255,249,75,255,29,172,255,72,70,255,180,164,255,114,87, +255,46,140,255,254,82,255,216,152,255,123,92,255,156,151,255,75,91,255,221,150,255,26,108,255,14,155,255,172,83,255,158,142,255,175,102,255,30,141,255,117,86,255,174,143,255,145,115,255,61,155,255,195,122,255,148,154,255,101,127,255,200,168,255,14,122, +255,230,164,255,228,140,255,101,190,255,64,135,255,218,182,255,173,143,255,88,183,255,44,117,255,60,185,255,174,140,255,28,201,255,77,138,255,254,210,255,76,147,255,196,219,255,65,153,255,244,232,255,25,142,255,66,236,255,147,160,255,5,225,255,135,150, +255,87,229,255,99,143,255,205,224,255,122,162,255,172,240,255,219,170,255,186,244,255,14,163,255,142,219,255,62,170,255,95,253,255,241,160,255,101,236,255,210,167,255,251,243,255,110,183,255,37,243,255,70,178,255,166,251,255,104,181,255,146,245,255,127, +175,255,96,250,255,230,191,255,195,9,0,112,199,255,64,254,255,171,190,255,81,12,0,26,165,255,212,24,0,184,184,255,24,9,0,241,197,255,159,9,0,114,199,255,100,5,0,195,203,255,154,20,0,231,197,255,12,12,0,215,202,255,60,16,0,50,203,255,160,19,0,81,199,255, +220,20,0,92,199,255,223,21,0,70,215,255,98,17,0,243,213,255,71,16,0,224,201,255,0,18,0,205,218,255,194,9,0,113,198,255,79,2,0,120,200,255,112,5,0,36,218,255,21,18,0,159,208,255,229,13,0,32,220,255,120,1,0,89,220,255,221,4,0,63,219,255,244,11,0,214,207, +255,7,1,0,109,229,255,238,6,0,50,215,255,181,255,255,222,219,255,222,1,0,53,216,255,131,4,0,218,208,255,142,1,0,233,219,255,230,10,0,21,213,255,205,3,0,240,221,255,119,17,0,40,215,255,254,4,0,58,217,255,78,5,0,9,219,255,7,11,0,33,243,255,102,19,0,50, +231,255,142,21,0,121,232,255,167,35,0,139,244,255,102,26,0,250,1,0,142,41,0,30,6,0,217,50,0,231,248,255,105,47,0,99,13,0,84,68,0,183,25,0,250,57,0,193,21,0,25,74,0,108,26,0,77,66,0,177,23,0,206,78,0,89,17,0,59,74,0,162,49,0,206,78,0,243,26,0,47,71,0, +55,34,0,118,72,0,152,50,0,177,73,0,69,45,0,68,71,0,162,29,0,220,52,0,147,21,0,53,49,0,114,28,0,13,37,0,71,29,0,73,38,0,189,3,0,105,17,0,206,8,0,96,4,0,245,3,0,96,28,0,3,240,255,159,255,255,170,236,255,157,2,0,238,243,255,58,238,255,202,232,255,167,230, +255,143,231,255,2,245,255,109,217,255,137,217,255,90,218,255,4,211,255,145,200,255,26,214,255,31,210,255,221,208,255,65,203,255,239,196,255,1,197,255,98,208,255,247,200,255,254,204,255,111,196,255,98,201,255,3,215,255,193,220,255,99,185,255,19,197,255, +146,189,255,7,190,255,211,206,255,94,210,255,0,207,255,233,218,255,19,209,255,76,197,255,201,199,255,171,209,255,227,200,255,119,189,255,218,204,255,209,189,255,158,217,255,238,184,255,210,205,255,21,197,255,214,217,255,58,205,255,2,203,255,158,183,255, +112,206,255,95,177,255,50,193,255,10,186,255,156,191,255,235,164,255,83,200,255,171,176,255,47,174,255,133,171,255,100,198,255,134,182,255,53,179,255,168,171,255,249,184,255,66,185,255,8,197,255,57,182,255,31,190,255,59,168,255,68,180,255,62,169,255, +102,191,255,124,156,255,68,176,255,84,150,255,234,175,255,117,161,255,204,187,255,117,142,255,96,159,255,113,126,255,114,150,255,205,145,255,34,153,255,163,120,255,140,151,255,64,139,255,87,122,255,58,107,255,43,133,255,250,107,255,1,134,255,73,104,255, +206,131,255,128,100,255,71,138,255,28,100,255,126,134,255,211,97,255,153,135,255,254,100,255,171,122,255,164,92,255,150,130,255,159,109,255,170,129,255,112,108,255,33,117,255,100,100,255,240,133,255,63,110,255,34,132,255,249,104,255,21,135,255,134,122, +255,140,118,255,177,117,255,104,136,255,41,109,255,60,140,255,222,147,255,73,129,255,26,138,255,173,128,255,227,145,255,250,158,255,187,154,255,166,137,255,15,145,255,147,153,255,38,145,255,114,142,255,87,150,255,222,163,255,198,161,255,182,176,255,144, +154,255,155,182,255,129,160,255,181,187,255,35,174,255,117,200,255,45,181,255,206,184,255,41,164,255,202,202,255,160,174,255,206,219,255,119,187,255,184,207,255,172,182,255,92,230,255,112,200,255,232,216,255,119,194,255,146,237,255,26,197,255,118,231, +255,38,197,255,58,222,255,85,194,255,119,223,255,130,190,255,141,231,255,100,199,255,80,245,255,215,208,255,26,242,255,182,204,255,97,239,255,120,190,255,40,227,255,213,195,255,190,240,255,188,174,255,222,251,255,71,192,255,208,222,255,59,180,255,81, +241,255,110,206,255,75,243,255,5,204,255,178,244,255,160,191,255,168,244,255,177,201,255,246,248,255,205,211,255,238,5,0,214,239,255,134,236,255,80,239,255,95,238,255,60,236,255,161,2,0,84,240,255,176,3,0,159,239,255,134,252,255,63,237,255,79,17,0,78, +250,255,157,37,0,249,7,0,5,23,0,53,14,0,75,28,0,106,21,0,203,54,0,43,27,0,168,25,0,56,15,0,52,32,0,157,15,0,41,44,0,86,26,0,243,32,0,145,27,0,14,43,0,252,50,0,172,60,0,191,44,0,57,63,0,89,44,0,67,71,0,27,42,0,146,63,0,34,53,0,66,71,0,13,62,0,195,73,0, +164,68,0,240,52,0,223,69,0,206,86,0,29,64,0,150,61,0,105,63,0,165,58,0,162,51,0,161,82,0,211,78,0,49,57,0,196,51,0,235,72,0,120,65,0,10,68,0,68,54,0,249,82,0,184,64,0,45,90,0,222,70,0,133,81,0,251,68,0,152,84,0,118,86,0,221,85,0,1,59,0,224,99,0,126,81, +0,49,88,0,145,84,0,186,93,0,91,81,0,53,107,0,68,94,0,63,85,0,86,92,0,161,119,0,46,90,0,4,119,0,97,105,0,45,118,0,81,82,0,186,116,0,98,106,0,30,108,0,168,90,0,140,129,0,36,113,0,191,123,0,241,110,0,1,146,0,25,118,0,203,128,0,220,111,0,252,139,0,120,116, +0,155,132,0,127,106,0,206,139,0,155,130,0,144,128,0,138,115,0,190,129,0,67,114,0,228,131,0,139,120,0,188,124,0,237,119,0,162,136,0,167,123,0,63,133,0,116,134,0,30,129,0,220,131,0,252,119,0,2,107,0,87,139,0,242,118,0,47,132,0,140,127,0,138,142,0,212,120, +0,103,151,0,253,123,0,197,148,0,64,133,0,191,155,0,210,156,0,53,154,0,201,139,0,233,159,0,150,146,0,120,150,0,61,151,0,92,148,0,207,124,0,160,162,0,20,144,0,96,159,0,221,149,0,183,163,0,146,137,0,127,168,0,183,138,0,55,176,0,200,136,0,173,160,0,214,147, +0,218,165,0,225,138,0,103,169,0,81,158,0,53,167,0,198,155,0,220,181,0,136,167,0,112,178,0,239,154,0,167,183,0,119,175,0,1,175,0,176,185,0,50,191,0,179,177,0,254,178,0,220,166,0,88,194,0,84,185,0,158,195,0,243,181,0,56,181,0,59,161,0,8,204,0,166,197,0, +95,198,0,12,166,0,170,202,0,31,169,0,131,200,0,234,175,0,35,193,0,200,175,0,156,192,0,19,170,0,250,204,0,149,178,0,244,202,0,112,172,0,31,193,0,252,170,0,185,192,0,31,162,0,12,195,0,113,159,0,219,193,0,131,167,0,122,185,0,64,163,0,224,196,0,157,184,0, +37,188,0,211,154,0,14,203,0,0,175,0,226,188,0,140,173,0,12,203,0,147,171,0,108,206,0,18,174,0,168,184,0,123,181,0,187,202,0,96,180,0,2,180,0,22,177,0,25,196,0,131,166,0,17,183,0,65,162,0,113,186,0,163,161,0,139,183,0,131,162,0,86,195,0,211,163,0,236, +187,0,223,174,0,104,189,0,205,161,0,153,196,0,159,171,0,26,215,0,106,183,0,112,209,0,129,163,0,36,195,0,81,147,0,59,206,0,63,170,0,90,200,0,11,172,0,8,220,0,87,171,0,135,232,0,133,188,0,234,216,0,200,162,0,251,214,0,2,159,0,48,224,0,172,186,0,97,211, +0,80,170,0,92,204,0,242,157,0,29,191,0,195,167,0,2,200,0,184,162,0,240,191,0,21,160,0,47,180,0,56,145,0,153,193,0,21,134,0,113,159,0,244,139,0,106,156,0,238,121,0,243,158,0,173,127,0,12,149,0,162,122,0,129,136,0,209,108,0,38,120,0,57,105,0,30,138,0,213, +94,0,90,135,0,193,117,0,177,112,0,63,109,0,81,99,0,147,90,0,64,96,0,1,90,0,156,114,0,245,100,0,152,107,0,247,101,0,171,110,0,223,95,0,1,126,0,31,111,0,224,115,0,17,99,0,224,121,0,85,116,0,46,111,0,212,107,0,115,123,0,235,113,0,189,132,0,133,135,0,37, +118,0,106,133,0,30,137,0,205,132,0,24,146,0,112,148,0,138,141,0,89,131,0,16,148,0,212,137,0,40,166,0,2,150,0,204,136,0,234,126,0,62,144,0,16,146,0,16,149,0,148,140,0,228,155,0,121,155,0,142,163,0,75,132,0,42,158,0,222,127,0,229,156,0,95,126,0,70,150, +0,219,126,0,124,155,0,246,140,0,57,127,0,59,114,0,233,131,0,156,112,0,173,141,0,66,124,0,24,134,0,130,111,0,84,154,0,71,104,0,199,127,0,221,112,0,195,136,0,205,110,0,48,136,0,141,112,0,167,128,0,207,100,0,66,129,0,238,122,0,35,113,0,73,101,0,87,129,0, +81,111,0,17,110,0,62,113,0,42,123,0,47,123,0,22,119,0,72,113,0,134,137,0,73,132,0,80,127,0,202,129,0,192,127,0,78,135,0,144,132,0,91,130,0,78,127,0,193,119,0,74,125,0,56,130,0,48,129,0,176,135,0,66,127,0,37,151,0,88,133,0,229,146,0,211,158,0,177,149, +0,216,130,0,223,137,0,238,137,0,82,159,0,74,133,0,252,142,0,129,127,0,128,154,0,212,123,0,114,153,0,42,141,0,3,160,0,36,126,0,237,154,0,146,125,0,195,143,0,107,141,0,175,164,0,87,105,0,172,137,0,9,131,0,205,156,0,96,111,0,5,114,0,52,106,0,238,119,0,162, +111,0,77,136,0,115,104,0,122,130,0,64,107,0,77,124,0,149,111,0,108,110,0,200,102,0,231,117,0,16,93,0,4,102,0,165,95,0,31,106,0,135,117,0,11,133,0,30,121,0,248,128,0,166,103,0,8,132,0,231,115,0,115,123,0,171,113,0,83,137,0,125,106,0,90,142,0,136,113,0, +125,130,0,108,104,0,139,152,0,200,119,0,189,148,0,152,117,0,152,147,0,109,125,0,62,147,0,6,137,0,27,166,0,138,123,0,137,166,0,216,136,0,168,145,0,147,129,0,249,153,0,232,133,0,189,151,0,95,166,0,201,159,0,206,139,0,215,148,0,86,141,0,156,146,0,224,144, +0,37,156,0,205,153,0,156,140,0,93,140,0,90,148,0,201,158,0,101,142,0,219,149,0,217,131,0,188,151,0,55,149,0,213,153,0,248,151,0,103,162,0,129,133,0,57,155,0,122,143,0,188,153,0,215,125,0,27,130,0,122,116,0,94,123,0,5,120,0,98,126,0,105,134,0,227,109, +0,112,111,0,232,127,0,116,135,0,178,100,0,130,94,0,25,88,0,46,105,0,102,87,0,131,96,0,121,86,0,96,95,0,25,67,0,111,83,0,132,57,0,63,74,0,233,65,0,250,87,0,207,41,0,40,67,0,119,49,0,114,72,0,185,49,0,182,80,0,106,41,0,74,83,0,161,26,0,215,65,0,29,28,0, +97,54,0,210,36,0,32,63,0,177,44,0,193,59,0,223,30,0,195,53,0,184,34,0,199,48,0,65,29,0,9,33,0,142,14,0,196,24,0,172,41,0,46,36,0,117,43,0,84,47,0,10,46,0,128,31,0,211,38,0,46,29,0,204,41,0,27,39,0,149,42,0,63,17,0,37,42,0,172,23,0,69,33,0,46,21,0,228, +74,0,69,6,0,48,50,0,60,248,255,165,77,0,206,24,0,102,57,0,39,9,0,40,53,0,41,18,0,66,55,0,141,10,0,76,47,0,129,33,0,160,51,0,118,26,0,5,52,0,7,34,0,63,30,0,89,21,0,237,26,0,73,26,0,132,32,0,162,42,0,118,30,0,11,46,0,193,19,0,2,39,0,130,38,0,249,48,0,88, +41,0,175,35,0,219,30,0,62,51,0,101,26,0,143,37,0,3,44,0,4,50,0,187,23,0,129,43,0,149,28,0,86,36,0,124,27,0,217,34,0,25,20,0,69,32,0,31,41,0,212,39,0,148,28,0,33,30,0,146,43,0,37,42,0,134,27,0,143,38,0,95,31,0,86,28,0,23,28,0,120,20,0,166,17,0,46,32,0, +81,29,0,119,29,0,127,30,0,223,23,0,185,32,0,184,19,0,132,35,0,129,27,0,149,38,0,129,45,0,76,34,0,98,30,0,179,37,0,240,45,0,102,28,0,95,37,0,144,27,0,66,32,0,206,32,0,132,49,0,85,25,0,89,32,0,52,34,0,190,32,0,134,19,0,214,25,0,103,12,0,245,32,0,51,43, +0,121,41,0,220,26,0,240,47,0,234,18,0,244,23,0,74,34,0,67,34,0,24,40,0,151,29,0,86,26,0,149,27,0,228,51,0,98,32,0,77,56,0,29,49,0,60,42,0,255,42,0,9,56,0,142,50,0,68,59,0,130,69,0,221,46,0,19,61,0,63,55,0,126,57,0,5,63,0,76,62,0,178,68,0,154,62,0,60, +73,0,26,87,0,103,62,0,36,77,0,144,49,0,130,81,0,194,54,0,126,98,0,203,52,0,23,96,0,194,54,0,135,86,0,112,71,0,57,107,0,168,51,0,48,99,0,239,55,0,149,90,0,32,60,0,225,99,0,181,64,0,214,79,0,220,79,0,63,104,0,10,72,0,161,93,0,83,77,0,90,89,0,134,73,0,160, +93,0,160,67,0,74,86,0,29,80,0,3,92,0,59,98,0,39,95,0,246,75,0,222,80,0,217,80,0,9,68,0,139,91,0,115,85,0,112,87,0,198,78,0,86,72,0,168,72,0,183,81,0,157,72,0,30,106,0,9,70,0,228,81,0,152,57,0,66,88,0,156,61,0,181,91,0,71,66,0,186,74,0,180,41,0,31,66, +0,54,49,0,155,67,0,116,34,0,214,70,0,90,42,0,109,54,0,251,35,0,177,68,0,25,44,0,145,46,0,73,36,0,180,48,0,214,43,0,1,48,0,167,30,0,248,26,0,224,31,0,246,37,0,83,36,0,245,35,0,193,34,0,216,40,0,246,31,0,212,37,0,101,44,0,121,35,0,201,42,0,114,39,0,21, +30,0,23,38,0,57,20,0,200,36,0,134,9,0,20,46,0,47,34,0,88,36,0,71,36,0,173,43,0,168,45,0,60,43,0,53,42,0,191,51,0,196,39,0,8,35,0,221,30,0,50,45,0,88,31,0,170,41,0,7,53,0,92,43,0,239,26,0,130,73,0,1,60,0,137,30,0,127,26,0,4,57,0,243,31,0,100,64,0,42,32, +0,127,45,0,57,24,0,255,38,0,9,32,0,143,38,0,52,17,0,164,37,0,31,32,0,161,46,0,200,7,0,52,37,0,244,7,0,63,36,0,249,255,255,136,17,0,45,251,255,89,15,0,145,251,255,202,17,0,164,234,255,130,24,0,21,237,255,238,6,0,3,214,255,18,251,255,43,235,255,92,248, +255,170,212,255,92,248,255,246,210,255,184,237,255,198,191,255,110,241,255,90,196,255,128,236,255,129,188,255,59,219,255,145,165,255,203,230,255,219,188,255,61,221,255,116,170,255,24,231,255,185,171,255,152,223,255,91,181,255,4,219,255,106,199,255,251, +220,255,181,194,255,163,222,255,2,208,255,101,229,255,131,187,255,74,221,255,240,197,255,100,227,255,66,204,255,229,219,255,54,202,255,83,233,255,219,214,255,99,224,255,4,209,255,239,217,255,158,206,255,167,226,255,94,225,255,187,239,255,48,224,255,68, +243,255,149,224,255,161,248,255,11,233,255,78,2,0,233,233,255,21,239,255,2,237,255,143,239,255,241,228,255,234,2,0,139,240,255,174,251,255,154,230,255,251,234,255,194,224,255,37,7,0,249,237,255,103,6,0,13,236,255,181,245,255,189,232,255,143,238,255,159, +220,255,125,6,0,145,232,255,30,253,255,211,230,255,106,250,255,74,208,255,190,3,0,123,215,255,191,242,255,39,223,255,40,13,0,189,213,255,201,2,0,232,227,255,119,251,255,72,203,255,133,1,0,43,210,255,6,250,255,109,226,255,126,8,0,178,211,255,105,247,255, +125,216,255,51,250,255,149,217,255,125,243,255,11,191,255,113,241,255,160,218,255,208,230,255,191,213,255,30,231,255,123,209,255,125,222,255,30,202,255,33,236,255,151,200,255,226,223,255,157,210,255,62,228,255,224,189,255,186,210,255,215,193,255,246, +218,255,176,203,255,24,220,255,54,181,255,183,202,255,245,183,255,82,202,255,106,171,255,151,183,255,136,164,255,123,216,255,220,177,255,217,203,255,87,178,255,82,199,255,175,175,255,115,198,255,8,174,255,44,188,255,58,159,255,194,175,255,3,162,255,48, +197,255,221,175,255,182,195,255,248,159,255,164,203,255,221,173,255,199,183,255,61,163,255,210,206,255,253,191,255,249,194,255,162,186,255,138,219,255,145,198,255,104,216,255,179,199,255,68,211,255,123,198,255,10,205,255,254,190,255,133,231,255,75,212, +255,237,213,255,214,199,255,169,210,255,200,192,255,196,222,255,149,203,255,15,241,255,186,210,255,40,221,255,23,193,255,20,224,255,14,195,255,51,219,255,168,189,255,1,203,255,7,177,255,12,205,255,170,168,255,255,197,255,229,174,255,250,211,255,239,169, +255,196,187,255,113,160,255,99,196,255,63,174,255,185,185,255,139,166,255,52,186,255,93,162,255,9,189,255,15,161,255,99,191,255,180,151,255,94,178,255,110,142,255,46,197,255,5,159,255,217,175,255,2,149,255,140,173,255,216,154,255,174,175,255,60,155,255, +197,178,255,193,146,255,53,179,255,151,157,255,143,181,255,115,146,255,244,182,255,142,160,255,175,176,255,222,127,255,46,191,255,150,144,255,20,176,255,35,133,255,170,191,255,104,133,255,201,184,255,64,150,255,254,170,255,25,128,255,73,199,255,10,152, +255,170,186,255,239,133,255,45,177,255,131,145,255,15,189,255,190,151,255,59,183,255,120,138,255,70,184,255,78,149,255,125,175,255,69,151,255,128,189,255,22,143,255,249,182,255,178,142,255,246,162,255,145,142,255,174,188,255,81,149,255,136,171,255,12, +137,255,149,174,255,72,152,255,226,167,255,127,149,255,63,188,255,255,172,255,145,151,255,8,162,255,173,172,255,109,161,255,230,181,255,54,163,255,80,149,255,254,158,255,27,162,255,74,147,255,118,172,255,143,154,255,228,160,255,23,168,255,151,163,255, +192,174,255,207,161,255,168,161,255,76,170,255,14,174,255,197,164,255,201,160,255,198,165,255,15,179,255,244,177,255,92,171,255,168,187,255,61,183,255,90,184,255,18,196,255,57,187,255,249,173,255,79,178,255,197,190,255,14,189,255,19,185,255,239,216,255, +41,190,255,171,199,255,196,174,255,251,213,255,88,200,255,218,214,255,110,195,255,74,218,255,122,203,255,173,209,255,157,220,255,6,217,255,1,216,255,74,230,255,46,227,255,210,238,255,214,222,255,64,238,255,148,237,255,242,227,255,14,240,255,9,245,255, +115,243,255,199,246,255,237,235,255,199,1,0,137,233,255,132,0,0,204,240,255,10,2,0,59,249,255,220,233,255,59,247,255,109,239,255,137,255,255,198,240,255,226,251,255,87,240,255,204,0,0,88,244,255,171,7,0,88,8,0,81,5,0,232,249,255,138,22,0,133,251,255, +181,16,0,88,248,255,149,32,0,43,6,0,193,14,0,143,2,0,193,22,0,99,4,0,70,46,0,21,11,0,14,38,0,110,10,0,69,46,0,97,37,0,225,37,0,53,32,0,247,25,0,152,39,0,13,39,0,52,40,0,146,39,0,106,50,0,180,38,0,96,46,0,90,38,0,151,47,0,213,42,0,95,51,0,56,43,0,116, +62,0,121,64,0,127,62,0,99,61,0,184,48,0,177,48,0,205,45,0,200,43,0,215,57,0,154,46,0,60,56,0,110,48,0,138,46,0,75,58,0,82,49,0,53,56,0,192,50,0,221,43,0,38,42,0,222,40,0,139,37,0,108,52,0,58,61,0,153,48,0,237,46,0,43,34,0,191,52,0,74,52,0,149,37,0,109, +42,0,159,41,0,219,43,0,148,37,0,64,37,0,5,29,0,28,58,0,172,30,0,152,45,0,223,52,0,16,58,0,151,25,0,140,49,0,11,52,0,160,58,0,191,43,0,95,49,0,114,35,0,183,52,0,212,46,0,79,65,0,78,47,0,204,55,0,95,70,0,166,77,0,245,48,0,113,62,0,63,61,0,199,71,0,209, +55,0,185,84,0,94,67,0,207,88,0,116,69,0,243,69,0,82,70,0,229,82,0,161,63,0,120,67,0,171,67,0,250,83,0,16,64,0,198,68,0,10,86,0,170,89,0,141,92,0,26,83,0,31,86,0,127,83,0,243,82,0,59,82,0,55,75,0,177,97,0,223,74,0,127,75,0,205,95,0,59,79,0,30,85,0,126, +78,0,49,94,0,55,91,0,195,89,0,132,91,0,47,99,0,154,91,0,123,102,0,217,102,0,154,103,0,197,92,0,66,103,0,113,108,0,222,98,0,194,99,0,230,107,0,43,117,0,163,107,0,70,134,0,135,121,0,51,122,0,36,118,0,181,99,0,196,104,0,217,120,0,164,130,0,39,120,0,223, +119,0,230,112,0,135,114,0,160,120,0,77,118,0,130,109,0,243,91,0,201,97,0,177,115,0,35,96,0,219,122,0,155,97,0,58,106,0,53,100,0,146,105,0,211,95,0,57,105,0,89,93,0,59,98,0,167,90,0,252,113,0,98,95,0,212,102,0,138,79,0,153,110,0,29,73,0,158,96,0,25,82, +0,187,103,0,78,85,0,182,91,0,155,61,0,186,79,0,14,79,0,252,81,0,146,80,0,132,74,0,50,72,0,169,91,0,24,77,0,30,78,0,145,79,0,126,85,0,105,93,0,61,80,0,167,78,0,105,80,0,109,84,0,255,69,0,253,85,0,145,89,0,146,97,0,246,86,0,236,94,0,248,102,0,246,116,0, +191,106,0,158,116,0,13,103,0,255,121,0,45,106,0,103,134,0,19,111,0,157,136,0,124,122,0,74,144,0,26,116,0,103,150,0,196,131,0,36,148,0,76,127,0,212,152,0,178,142,0,164,158,0,0,141,0,252,157,0,60,131,0,18,156,0,58,135,0,16,158,0,45,138,0,124,144,0,170, +130,0,132,149,0,84,125,0,98,128,0,175,139,0,15,136,0,120,137,0,180,137,0,119,136,0,133,122,0,136,125,0,20,123,0,16,122,0,11,100,0,65,94,0,130,105,0,198,93,0,156,80,0,66,90,0,246,76,0,19,93,0,39,71,0,16,99,0,98,63,0,20,73,0,237,54,0,93,80,0,222,60,0,133, +68,0,157,39,0,222,69,0,59,53,0,125,81,0,159,34,0,156,66,0,137,35,0,237,60,0,13,38,0,31,52,0,221,25,0,97,53,0,111,39,0,102,45,0,98,26,0,135,46,0,31,42,0,255,48,0,151,12,0,59,58,0,78,21,0,149,41,0,246,19,0,1,45,0,18,12,0,184,52,0,226,32,0,71,39,0,144,21, +0,136,41,0,33,38,0,145,29,0,215,32,0,33,46,0,103,48,0,192,41,0,222,37,0,132,61,0,156,35,0,53,48,0,32,38,0,101,57,0,123,50,0,216,51,0,15,29,0,3,39,0,15,30,0,14,68,0,0,49,0,55,57,0,88,51,0,86,46,0,232,35,0,182,50,0,170,29,0,76,58,0,248,44,0,225,66,0,157, +32,0,125,66,0,193,28,0,61,77,0,92,42,0,16,64,0,58,30,0,10,70,0,156,31,0,102,65,0,255,19,0,255,68,0,222,18,0,185,72,0,157,30,0,241,70,0,125,28,0,7,72,0,226,14,0,165,68,0,241,21,0,218,70,0,117,24,0,247,63,0,73,9,0,214,61,0,160,26,0,183,57,0,141,8,0,49, +58,0,123,17,0,94,71,0,55,18,0,212,49,0,117,253,255,87,66,0,94,255,255,139,44,0,84,253,255,47,34,0,52,252,255,237,45,0,88,236,255,52,54,0,101,246,255,151,40,0,162,241,255,178,35,0,255,236,255,198,37,0,127,242,255,168,34,0,70,244,255,80,32,0,91,245,255, +216,30,0,94,243,255,183,16,0,32,238,255,68,46,0,196,252,255,175,13,0,172,230,255,106,28,0,234,247,255,95,39,0,29,253,255,87,47,0,29,8,0,94,40,0,57,234,255,25,42,0,194,255,255,63,49,0,192,24,0,89,45,0,13,2,0,235,43,0,216,255,255,10,34,0,124,13,0,245,42, +0,39,21,0,119,47,0,181,12,0,95,60,0,178,15,0,231,46,0,52,18,0,153,45,0,219,6,0,167,42,0,43,17,0,73,48,0,182,22,0,1,30,0,254,5,0,230,35,0,188,249,255,73,35,0,222,3,0,189,31,0,33,4,0,117,35,0,9,240,255,228,25,0,11,238,255,156,19,0,74,231,255,106,35,0,74, +242,255,137,38,0,110,228,255,175,22,0,2,237,255,8,33,0,229,221,255,209,42,0,179,216,255,249,25,0,82,224,255,71,36,0,216,223,255,89,29,0,111,228,255,8,23,0,111,228,255,246,48,0,151,242,255,231,41,0,80,247,255,113,27,0,204,234,255,65,51,0,46,2,0,161,44, +0,221,250,255,238,44,0,100,3,0,28,73,0,35,12,0,80,56,0,166,4,0,29,52,0,169,10,0,200,57,0,36,21,0,236,54,0,37,30,0,195,61,0,136,20,0,70,63,0,7,26,0,226,63,0,214,29,0,116,42,0,64,25,0,103,53,0,135,40,0,1,65,0,224,30,0,161,70,0,160,47,0,103,62,0,54,61,0, +207,68,0,237,37,0,85,86,0,215,46,0,94,78,0,233,50,0,155,83,0,165,41,0,58,71,0,94,36,0,63,103,0,22,49,0,9,101,0,169,56,0,206,103,0,204,54,0,77,109,0,87,59,0,138,104,0,150,71,0,118,102,0,65,31,0,187,90,0,49,44,0,78,115,0,37,54,0,233,97,0,247,45,0,3,85, +0,235,37,0,57,104,0,209,40,0,59,111,0,20,49,0,53,106,0,86,58,0,162,98,0,228,42,0,88,95,0,24,54,0,1,111,0,161,42,0,39,99,0,6,59,0,57,101,0,68,71,0,32,103,0,87,64,0,42,104,0,233,71,0,76,102,0,200,79,0,79,117,0,172,83,0,135,99,0,254,63,0,206,121,0,117,91, +0,166,108,0,205,74,0,3,105,0,109,80,0,109,109,0,103,67,0,127,120,0,195,89,0,74,101,0,50,73,0,81,96,0,177,69,0,116,102,0,118,80,0,91,112,0,48,49,0,240,116,0,138,56,0,34,96,0,152,46,0,79,79,0,142,36,0,181,101,0,75,45,0,167,87,0,34,34,0,134,102,0,54,28, +0,110,95,0,192,48,0,170,84,0,84,38,0,18,81,0,204,47,0,21,71,0,183,38,0,158,91,0,11,58,0,232,94,0,100,50,0,51,81,0,234,25,0,243,85,0,184,44,0,168,91,0,204,61,0,163,94,0,253,50,0,81,97,0,255,48,0,167,98,0,250,52,0,100,91,0,152,58,0,101,97,0,164,65,0,35, +89,0,246,47,0,109,99,0,39,44,0,178,97,0,179,46,0,194,100,0,179,77,0,125,87,0,106,51,0,40,107,0,63,50,0,57,87,0,198,33,0,13,102,0,26,45,0,141,90,0,103,60,0,33,110,0,141,49,0,84,105,0,80,52,0,116,98,0,147,52,0,179,115,0,81,66,0,70,113,0,156,60,0,146,99, +0,154,47,0,21,108,0,1,53,0,244,107,0,45,60,0,46,99,0,18,41,0,19,87,0,172,56,0,170,118,0,189,52,0,154,93,0,178,52,0,100,98,0,94,56,0,48,96,0,107,40,0,76,99,0,129,40,0,167,97,0,67,30,0,163,71,0,32,31,0,129,86,0,177,16,0,20,70,0,69,14,0,211,68,0,53,11,0, +244,61,0,60,20,0,124,53,0,195,254,255,157,53,0,62,254,255,144,61,0,26,0,0,145,46,0,83,248,255,18,63,0,70,0,0,116,50,0,15,0,0,124,59,0,108,253,255,97,48,0,114,249,255,44,60,0,242,246,255,236,71,0,64,253,255,67,72,0,55,252,255,27,70,0,48,0,0,18,68,0,187, +252,255,245,78,0,250,254,255,112,84,0,103,7,0,130,80,0,187,252,255,79,84,0,161,248,255,74,93,0,160,242,255,84,80,0,212,231,255,176,78,0,184,241,255,56,64,0,140,228,255,52,86,0,141,227,255,149,74,0,26,217,255,197,65,0,246,205,255,186,58,0,10,233,255,160, +54,0,177,219,255,240,33,0,59,211,255,199,38,0,207,209,255,8,46,0,162,216,255,86,32,0,202,212,255,203,22,0,68,200,255,34,24,0,182,173,255,73,14,0,205,198,255,136,16,0,30,191,255,54,6,0,174,191,255,7,8,0,71,174,255,79,248,255,131,184,255,230,250,255,226, +181,255,64,7,0,226,194,255,3,10,0,190,177,255,95,8,0,113,189,255,196,251,255,103,176,255,244,11,0,91,183,255,56,249,255,58,190,255,148,247,255,153,180,255,205,26,0,134,215,255,20,238,255,2,184,255,109,12,0,90,197,255,122,5,0,241,193,255,30,7,0,148,196, +255,1,255,255,100,204,255,254,23,0,243,199,255,190,10,0,108,188,255,25,27,0,183,213,255,121,23,0,61,184,255,66,29,0,153,212,255,13,22,0,192,197,255,13,22,0,160,185,255,129,25,0,5,185,255,84,19,0,43,194,255,168,21,0,198,188,255,48,44,0,190,193,255,26, +20,0,208,172,255,161,25,0,68,199,255,204,20,0,67,194,255,154,23,0,232,171,255,129,24,0,16,192,255,231,17,0,122,172,255,88,28,0,209,201,255,42,18,0,244,183,255,81,14,0,38,193,255,164,6,0,32,196,255,178,4,0,40,198,255,254,5,0,47,200,255,149,2,0,224,183, +255,11,10,0,146,195,255,13,4,0,182,199,255,234,4,0,8,198,255,35,249,255,189,207,255,242,250,255,133,208,255,251,251,255,81,217,255,236,242,255,111,191,255,99,250,255,47,212,255,145,238,255,152,193,255,252,245,255,234,202,255,162,246,255,122,192,255,59, +248,255,183,195,255,168,9,0,58,213,255,218,6,0,229,205,255,44,250,255,37,218,255,83,13,0,78,220,255,77,250,255,231,215,255,46,9,0,50,217,255,203,24,0,164,221,255,169,25,0,221,231,255,34,31,0,122,236,255,220,37,0,193,250,255,187,53,0,118,9,0,116,39,0, +25,251,255,220,53,0,242,18,0,168,67,0,230,24,0,29,75,0,250,30,0,44,78,0,165,44,0,184,90,0,247,42,0,76,89,0,118,61,0,167,82,0,174,50,0,235,76,0,169,42,0,61,90,0,204,51,0,253,88,0,243,64,0,143,98,0,83,56,0,249,84,0,52,60,0,180,101,0,158,72,0,45,107,0,28, +71,0,39,94,0,93,56,0,211,86,0,238,45,0,250,93,0,143,58,0,212,80,0,219,59,0,63,82,0,138,55,0,255,65,0,94,50,0,207,77,0,142,53,0,11,75,0,38,50,0,128,87,0,217,59,0,126,78,0,112,66,0,140,71,0,171,49,0,151,91,0,49,65,0,42,95,0,167,71,0,26,92,0,233,66,0,162, +100,0,195,53,0,89,113,0,128,68,0,193,106,0,132,56,0,87,123,0,145,70,0,10,123,0,79,80,0,110,127,0,51,77,0,205,129,0,36,79,0,53,142,0,198,90,0,126,139,0,185,86,0,102,144,0,111,94,0,88,150,0,120,90,0,214,143,0,217,81,0,57,144,0,124,73,0,20,145,0,22,69,0, +245,143,0,255,59,0,26,142,0,153,60,0,52,145,0,212,44,0,222,128,0,120,26,0,222,123,0,98,31,0,94,116,0,17,37,0,146,112,0,33,21,0,115,116,0,123,15,0,160,106,0,98,7,0,176,94,0,117,255,255,240,95,0,37,9,0,71,101,0,77,2,0,34,88,0,35,24,0,143,84,0,39,246,255, +248,86,0,132,6,0,14,87,0,64,7,0,235,77,0,100,6,0,123,87,0,186,16,0,110,69,0,90,15,0,93,85,0,58,19,0,40,75,0,144,15,0,163,88,0,32,34,0,111,91,0,76,34,0,27,94,0,143,29,0,145,81,0,143,29,0,48,98,0,87,34,0,95,74,0,31,16,0,118,92,0,207,30,0,232,95,0,186,34, +0,29,78,0,111,15,0,200,89,0,160,22,0,57,89,0,17,26,0,208,95,0,43,29,0,85,77,0,248,26,0,168,97,0,56,42,0,102,88,0,3,18,0,69,92,0,246,9,0,148,91,0,41,12,0,11,84,0,9,7,0,93,95,0,239,3,0,221,79,0,202,0,0,41,98,0,9,254,255,209,88,0,248,251,255,168,91,0,165, +15,0,56,74,0,81,4,0,79,78,0,177,1,0,7,76,0,214,251,255,174,79,0,0,240,255,13,73,0,70,247,255,92,68,0,207,250,255,49,54,0,227,242,255,85,66,0,252,236,255,206,57,0,168,239,255,173,53,0,69,235,255,135,46,0,228,233,255,176,47,0,31,228,255,11,64,0,58,252, +255,45,42,0,57,214,255,4,75,0,62,246,255,247,49,0,81,235,255,23,59,0,16,230,255,82,57,0,216,229,255,119,51,0,5,234,255,84,56,0,244,244,255,199,50,0,219,241,255,1,71,0,130,237,255,204,73,0,94,234,255,70,57,0,212,231,255,67,62,0,89,228,255,36,57,0,104, +243,255,52,55,0,90,219,255,161,51,0,67,240,255,34,66,0,237,243,255,51,55,0,161,234,255,117,76,0,173,246,255,18,30,0,26,231,255,157,48,0,233,232,255,189,44,0,33,241,255,164,33,0,186,237,255,15,31,0,50,218,255,23,40,0,219,229,255,92,35,0,58,211,255,210, +32,0,52,242,255,19,25,0,195,226,255,254,36,0,85,234,255,173,21,0,91,236,255,220,40,0,148,231,255,162,21,0,110,237,255,228,33,0,27,235,255,66,40,0,105,243,255,164,28,0,83,255,255,58,43,0,75,250,255,189,35,0,171,239,255,18,29,0,25,252,255,4,50,0,131,10, +0,53,52,0,84,251,255,59,34,0,23,1,0,150,41,0,125,252,255,67,51,0,205,7,0,2,62,0,220,21,0,217,56,0,61,7,0,143,43,0,17,15,0,115,65,0,25,24,0,40,76,0,104,23,0,143,82,0,33,33,0,18,56,0,104,31,0,132,78,0,109,37,0,18,87,0,169,47,0,254,93,0,100,48,0,233,112, +0,168,51,0,231,101,0,0,48,0,251,113,0,188,71,0,6,114,0,40,84,0,225,118,0,46,78,0,138,125,0,3,89,0,241,139,0,71,96,0,89,138,0,201,112,0,222,153,0,209,117,0,234,156,0,123,139,0,94,128,0,118,129,0,40,150,0,241,124,0,14,136,0,210,150,0,165,133,0,111,146, +0,211,132,0,69,137,0,68,128,0,89,134,0,137,146,0,168,137,0,195,137,0,67,137,0,65,132,0,35,118,0,244,112,0,36,106,0,190,119,0,67,114,0,209,101,0,144,95,0,200,104,0,181,101,0,75,105,0,46,98,0,206,94,0,94,78,0,189,92,0,205,66,0,187,78,0,110,61,0,143,74, +0,162,47,0,206,97,0,14,56,0,77,70,0,140,47,0,136,80,0,84,21,0,213,72,0,235,59,0,73,60,0,251,50,0,224,94,0,154,53,0,226,71,0,80,59,0,242,84,0,7,58,0,194,74,0,108,68,0,52,63,0,71,58,0,201,79,0,79,85,0,171,74,0,210,81,0,111,65,0,185,71,0,53,73,0,218,71, +0,73,77,0,133,88,0,251,80,0,83,90,0,128,102,0,129,82,0,93,81,0,138,97,0,153,83,0,227,118,0,187,86,0,255,105,0,90,96,0,235,126,0,58,99,0,61,125,0,234,110,0,174,138,0,105,116,0,81,143,0,171,119,0,207,152,0,192,123,0,0,144,0,159,137,0,154,158,0,113,141, +0,34,182,0,49,140,0,123,171,0,130,142,0,133,178,0,81,140,0,166,178,0,9,152,0,212,177,0,4,143,0,109,178,0,128,145,0,195,175,0,204,149,0,16,172,0,68,143,0,42,181,0,44,147,0,94,185,0,238,141,0,46,186,0,144,132,0,193,174,0,12,146,0,224,178,0,203,144,0,46, +192,0,249,133,0,125,191,0,136,113,0,229,172,0,237,126,0,20,189,0,172,129,0,191,173,0,67,141,0,97,164,0,254,120,0,20,157,0,116,139,0,57,159,0,100,130,0,65,170,0,79,109,0,240,146,0,249,124,0,119,149,0,102,122,0,141,132,0,86,113,0,128,112,0,234,118,0,128, +122,0,46,115,0,6,129,0,63,123,0,184,118,0,245,121,0,4,122,0,177,118,0,177,123,0,52,119,0,220,140,0,175,98,0,77,116,0,91,100,0,65,123,0,237,92,0,102,122,0,165,104,0,156,122,0,103,106,0,27,134,0,161,105,0,93,147,0,118,91,0,134,128,0,238,101,0,212,144,0, +63,104,0,105,143,0,26,125,0,144,171,0,75,100,0,149,156,0,248,94,0,30,165,0,214,111,0,57,180,0,39,114,0,205,168,0,176,132,0,25,179,0,54,129,0,1,163,0,224,127,0,116,171,0,167,121,0,240,173,0,80,127,0,82,184,0,124,130,0,73,170,0,91,120,0,100,165,0,95,145, +0,73,176,0,33,137,0,216,169,0,128,138,0,174,162,0,150,151,0,9,165,0,190,129,0,202,166,0,225,138,0,123,147,0,78,136,0,62,132,0,131,136,0,161,145,0,217,130,0,227,151,0,202,131,0,52,138,0,161,130,0,2,133,0,142,113,0,124,126,0,121,109,0,80,116,0,224,111, +0,254,113,0,55,115,0,139,121,0,99,102,0,37,138,0,8,106,0,192,121,0,110,118,0,146,125,0,163,96,0,200,122,0,219,92,0,186,132,0,239,83,0,240,116,0,210,69,0,103,108,0,213,84,0,186,122,0,216,48,0,182,104,0,67,53,0,216,110,0,216,45,0,249,97,0,154,47,0,94,94, +0,86,38,0,187,83,0,215,20,0,171,78,0,31,25,0,15,85,0,59,14,0,211,82,0,26,11,0,20,80,0,205,7,0,114,72,0,206,13,0,188,85,0,201,11,0,203,87,0,237,29,0,119,92,0,152,25,0,128,86,0,83,29,0,5,90,0,170,32,0,58,84,0,255,39,0,147,99,0,97,37,0,59,102,0,70,54,0, +132,109,0,183,50,0,172,104,0,26,51,0,21,103,0,109,43,0,103,89,0,80,54,0,31,103,0,137,38,0,26,92,0,73,53,0,59,98,0,98,64,0,7,103,0,255,66,0,85,115,0,105,59,0,251,87,0,248,68,0,28,97,0,144,54,0,122,83,0,46,63,0,144,98,0,31,76,0,198,98,0,64,76,0,66,98,0, +176,69,0,17,96,0,139,67,0,76,110,0,74,73,0,207,98,0,91,56,0,137,102,0,160,70,0,42,113,0,135,62,0,188,115,0,149,58,0,96,125,0,240,66,0,73,122,0,247,52,0,54,136,0,147,52,0,201,117,0,103,73,0,253,141,0,243,56,0,198,123,0,162,69,0,238,133,0,139,78,0,110, +132,0,28,84,0,170,136,0,50,87,0,97,150,0,112,70,0,173,141,0,104,87,0,154,131,0,148,84,0,99,128,0,20,74,0,238,129,0,15,84,0,68,142,0,182,86,0,122,139,0,113,81,0,3,147,0,69,81,0,24,159,0,101,90,0,34,156,0,229,85,0,176,156,0,108,85,0,189,164,0,157,101,0, +71,169,0,60,109,0,240,159,0,196,105,0,6,180,0,226,114,0,189,198,0,224,103,0,207,199,0,182,111,0,167,186,0,219,133,0,166,209,0,5,117,0,80,194,0,8,116,0,131,209,0,19,116,0,226,201,0,25,137,0,129,209,0,18,136,0,213,207,0,89,123,0,167,213,0,58,125,0,73,183, +0,57,131,0,132,213,0,93,130,0,19,208,0,58,116,0,19,199,0,158,127,0,194,196,0,253,125,0,3,194,0,185,131,0,131,195,0,161,120,0,189,188,0,156,124,0,31,189,0,251,142,0,147,201,0,106,131,0,170,198,0,245,126,0,69,184,0,219,127,0,209,193,0,144,115,0,202,155, +0,3,137,0,127,174,0,87,149,0,221,164,0,240,118,0,99,167,0,221,120,0,103,160,0,145,100,0,20,136,0,158,119,0,218,158,0,96,115,0,24,143,0,40,93,0,146,137,0,249,98,0,5,142,0,85,81,0,253,126,0,83,76,0,220,126,0,109,75,0,139,127,0,97,64,0,134,103,0,182,73, +0,49,130,0,251,58,0,123,114,0,150,42,0,81,116,0,73,42,0,163,112,0,194,53,0,56,100,0,190,40,0,68,97,0,64,44,0,131,100,0,59,40,0,12,97,0,71,34,0,198,83,0,30,36,0,187,94,0,22,16,0,105,68,0,120,27,0,168,74,0,128,6,0,136,68,0,134,7,0,124,71,0,166,2,0,66,39, +0,238,3,0,187,66,0,52,6,0,123,41,0,51,246,255,58,30,0,132,242,255,195,31,0,128,243,255,42,23,0,81,244,255,83,32,0,68,247,255,92,16,0,255,244,255,159,13,0,134,228,255,109,1,0,209,215,255,19,7,0,242,226,255,27,13,0,141,213,255,179,240,255,6,238,255,117, +10,0,88,210,255,74,244,255,213,217,255,7,2,0,165,210,255,75,236,255,59,196,255,75,228,255,138,182,255,253,230,255,31,171,255,205,223,255,10,176,255,80,232,255,170,188,255,88,233,255,132,192,255,207,236,255,231,160,255,239,223,255,50,159,255,220,209,255, +174,153,255,78,201,255,22,171,255,162,210,255,188,155,255,229,199,255,80,139,255,90,209,255,76,156,255,127,192,255,175,140,255,193,192,255,93,152,255,144,196,255,147,147,255,113,201,255,226,157,255,29,216,255,242,156,255,94,211,255,183,170,255,84,216, +255,182,168,255,231,202,255,123,169,255,149,211,255,10,196,255,64,221,255,72,163,255,145,212,255,104,174,255,224,214,255,21,178,255,9,216,255,253,180,255,93,227,255,181,169,255,253,223,255,234,177,255,182,245,255,67,183,255,124,238,255,55,178,255,245, +225,255,129,184,255,47,228,255,96,174,255,17,222,255,152,179,255,207,234,255,196,184,255,36,223,255,229,179,255,74,219,255,221,181,255,127,227,255,129,172,255,96,214,255,126,193,255,251,211,255,237,162,255,14,200,255,247,175,255,226,189,255,108,172,255, +26,210,255,96,175,255,102,190,255,175,154,255,122,198,255,179,166,255,13,216,255,15,156,255,254,193,255,49,148,255,139,217,255,178,149,255,207,204,255,157,174,255,199,206,255,137,161,255,124,188,255,100,147,255,49,200,255,54,150,255,34,191,255,206,143, +255,25,196,255,229,153,255,69,206,255,150,156,255,25,201,255,30,156,255,254,201,255,75,161,255,211,206,255,246,167,255,94,213,255,26,170,255,220,214,255,98,176,255,30,215,255,40,167,255,15,231,255,168,160,255,13,224,255,36,183,255,166,244,255,240,159, +255,199,219,255,61,165,255,208,222,255,97,157,255,102,224,255,184,177,255,45,222,255,149,175,255,210,239,255,54,172,255,65,215,255,159,163,255,68,202,255,29,153,255,211,187,255,59,144,255,103,182,255,113,137,255,5,182,255,86,153,255,84,179,255,194,114, +255,83,172,255,175,138,255,101,151,255,32,119,255,37,170,255,49,125,255,152,147,255,11,119,255,133,149,255,5,96,255,250,145,255,197,107,255,153,140,255,61,96,255,184,143,255,94,106,255,177,135,255,58,102,255,9,153,255,13,100,255,122,140,255,100,93,255, +158,132,255,145,93,255,220,133,255,181,90,255,133,143,255,77,96,255,87,141,255,4,86,255,99,153,255,233,79,255,112,143,255,130,73,255,11,139,255,92,84,255,241,139,255,24,63,255,15,148,255,108,76,255,216,140,255,96,79,255,71,131,255,180,75,255,233,134, +255,116,63,255,215,138,255,248,51,255,50,129,255,80,69,255,70,127,255,83,59,255,235,122,255,217,49,255,158,127,255,134,48,255,192,108,255,55,49,255,11,119,255,3,32,255,44,100,255,45,61,255,116,87,255,200,49,255,12,105,255,37,68,255,39,97,255,52,53,255, +160,97,255,16,61,255,57,103,255,199,62,255,127,102,255,67,60,255,44,99,255,82,78,255,179,103,255,210,60,255,114,103,255,37,81,255,208,97,255,201,86,255,121,123,255,50,88,255,32,114,255,244,70,255,173,126,255,55,92,255,224,127,255,67,92,255,82,118,255, +127,89,255,230,126,255,28,89,255,147,144,255,27,87,255,53,129,255,203,87,255,50,123,255,72,87,255,57,147,255,19,80,255,183,146,255,205,94,255,247,165,255,9,94,255,129,160,255,49,95,255,145,152,255,31,85,255,5,184,255,85,76,255,229,160,255,6,86,255,129, +165,255,60,91,255,246,168,255,238,79,255,149,154,255,212,87,255,233,164,255,244,78,255,132,167,255,54,93,255,56,167,255,114,92,255,5,155,255,166,86,255,140,145,255,53,112,255,201,153,255,111,100,255,208,138,255,5,104,255,186,129,255,23,105,255,171,139, +255,84,106,255,79,122,255,6,109,255,98,127,255,146,98,255,73,112,255,214,118,255,61,117,255,196,97,255,210,102,255,5,103,255,194,108,255,67,97,255,221,116,255,122,106,255,66,112,255,140,98,255,2,105,255,54,100,255,114,91,255,65,89,255,117,93,255,83,81, +255,220,90,255,35,89,255,236,82,255,74,90,255,247,78,255,151,90,255,246,76,255,154,74,255,191,65,255,186,83,255,214,74,255,157,78,255,209,73,255,101,72,255,106,54,255,38,67,255,37,46,255,213,65,255,124,82,255,77,55,255,251,54,255,153,62,255,39,35,255, +238,56,255,241,41,255,169,37,255,167,45,255,17,48,255,172,53,255,13,58,255,237,40,255,222,29,255,168,41,255,53,48,255,43,49,255,94,40,255,138,41,255,144,30,255,251,36,255,5,32,255,120,45,255,32,31,255,63,50,255,73,34,255,57,58,255,41,32,255,164,39,255, +233,22,255,93,36,255,180,33,255,17,47,255,93,7,255,70,19,255,133,21,255,223,28,255,208,15,255,203,17,255,36,19,255,183,19,255,54,254,254,26,7,255,182,1,255,181,254,254,107,1,255,166,244,254,17,4,255,2,238,254,215,6,255,38,255,254,251,253,254,12,243,254, +17,250,254,97,222,254,215,7,255,195,242,254,172,248,254,43,229,254,3,4,255,195,236,254,90,230,254,156,218,254,144,250,254,246,235,254,157,226,254,125,227,254,234,237,254,16,240,254,236,226,254,57,230,254,178,227,254,34,235,254,37,238,254,163,242,254, +49,240,254,186,229,254,217,231,254,30,243,254,165,222,254,17,9,255,163,212,254,46,236,254,210,231,254,41,11,255,94,239,254,107,246,254,50,235,254,28,251,254,47,240,254,182,232,254,194,248,254,174,255,254,95,225,254,189,248,254,25,239,254,217,245,254, +239,227,254,192,233,254,221,231,254,200,236,254,14,5,255,104,238,254,25,240,254,244,228,254,94,229,254,60,228,254,14,230,254,104,220,254,9,248,254,163,234,254,44,233,254,207,234,254,112,235,254,209,232,254,43,217,254,173,216,254,124,210,254,168,211,254, +193,216,254,208,212,254,143,230,254,215,236,254,156,209,254,11,221,254,117,244,254,96,226,254,150,219,254,37,225,254,95,230,254,21,222,254,103,237,254,216,233,254,192,239,254,120,233,254,227,218,254,113,220,254,95,231,254,225,234,254,18,250,254,137,245, +254,164,237,254,138,243,254,192,236,254,76,232,254,208,250,254,158,248,254,10,238,254,42,233,254,99,240,254,220,245,254,70,219,254,171,236,254,204,231,254,48,243,254,163,210,254,133,225,254,63,217,254,145,227,254,212,222,254,51,233,254,169,216,254,44, +218,254,90,221,254,106,223,254,220,209,254,79,210,254,233,209,254,140,215,254,59,205,254,223,216,254,115,203,254,117,226,254,157,185,254,8,212,254,69,202,254,157,215,254,164,213,254,238,233,254,99,199,254,3,218,254,67,197,254,4,220,254,8,190,254,163, +213,254,72,209,254,198,223,254,110,190,254,210,219,254,54,211,254,69,219,254,245,212,254,252,222,254,11,197,254,85,223,254,177,209,254,145,210,254,221,197,254,217,221,254,98,206,254,220,227,254,46,204,254,199,231,254,74,197,254,81,233,254,64,197,254, +201,217,254,154,209,254,232,242,254,41,214,254,68,226,254,124,209,254,65,231,254,87,212,254,44,235,254,165,204,254,138,230,254,253,210,254,63,214,254,153,221,254,48,215,254,246,220,254,44,230,254,144,217,254,78,222,254,200,227,254,134,234,254,235,213, +254,87,219,254,159,215,254,175,219,254,134,206,254,242,211,254,249,227,254,53,222,254,22,213,254,114,209,254,132,231,254,18,223,254,188,227,254,30,227,254,60,219,254,161,239,254,83,201,254,142,229,254,46,212,254,28,222,254,188,220,254,215,230,254,16, +220,254,53,246,254,246,224,254,216,244,254,117,210,254,241,234,254,22,200,254,90,232,254,16,223,254,122,254,254,237,209,254,251,235,254,178,208,254,54,251,254,182,186,254,29,242,254,198,207,254,253,243,254,188,211,254,178,249,254,82,197,254,234,249,254, +242,198,254,88,244,254,90,202,254,170,1,255,135,200,254,222,248,254,54,207,254,76,251,254,11,219,254,39,246,254,35,211,254,235,6,255,201,203,254,248,254,254,203,201,254,9,254,254,238,201,254,219,244,254,68,212,254,45,0,255,170,202,254,109,8,255,79,199, +254,170,11,255,249,225,254,244,6,255,189,211,254,53,238,254,31,216,254,33,9,255,199,204,254,173,250,254,12,216,254,230,15,255,78,226,254,228,6,255,4,220,254,39,255,254,27,218,254,64,249,254,189,232,254,91,254,254,14,219,254,163,1,255,114,217,254,192, +254,254,223,219,254,141,248,254,98,203,254,216,0,255,218,234,254,65,0,255,160,210,254,175,254,254,202,222,254,111,2,255,249,216,254,163,12,255,37,217,254,152,20,255,210,206,254,16,25,255,234,206,254,139,13,255,225,200,254,45,24,255,47,201,254,252,28, +255,196,221,254,234,41,255,166,217,254,114,45,255,228,214,254,59,49,255,231,225,254,8,62,255,191,238,254,42,58,255,47,231,254,17,55,255,105,225,254,77,71,255,102,224,254,13,54,255,162,246,254,54,66,255,62,237,254,158,67,255,79,238,254,98,72,255,126,249, +254,191,58,255,87,0,255,249,48,255,126,1,255,167,70,255,177,254,254,210,57,255,53,253,254,92,55,255,17,252,254,120,56,255,184,20,255,131,58,255,135,25,255,221,69,255,170,32,255,100,73,255,185,26,255,49,69,255,182,21,255,192,65,255,59,20,255,176,81,255, +8,14,255,118,78,255,124,26,255,104,88,255,129,29,255,52,99,255,248,48,255,17,105,255,185,33,255,28,109,255,43,37,255,76,110,255,23,46,255,108,125,255,43,43,255,43,116,255,11,43,255,228,129,255,208,65,255,7,150,255,153,69,255,188,147,255,43,73,255,42, +170,255,13,69,255,171,154,255,85,81,255,136,180,255,129,70,255,46,177,255,180,80,255,86,185,255,237,87,255,13,181,255,132,103,255,51,204,255,53,89,255,153,196,255,164,96,255,54,198,255,248,93,255,72,208,255,181,110,255,39,197,255,228,115,255,113,203, +255,163,104,255,122,196,255,7,105,255,74,193,255,137,105,255,217,213,255,141,110,255,182,208,255,230,108,255,78,209,255,140,125,255,254,205,255,52,98,255,28,210,255,76,116,255,216,215,255,12,123,255,100,209,255,218,127,255,85,208,255,208,125,255,204, +190,255,190,112,255,25,218,255,122,127,255,51,210,255,187,118,255,173,217,255,207,104,255,8,212,255,109,97,255,53,192,255,33,124,255,65,217,255,254,102,255,125,218,255,33,99,255,171,194,255,180,109,255,57,186,255,3,97,255,8,196,255,193,91,255,80,193, +255,195,98,255,214,198,255,73,95,255,12,192,255,244,92,255,161,196,255,197,73,255,46,188,255,150,79,255,25,197,255,166,82,255,160,191,255,176,68,255,120,194,255,24,70,255,110,210,255,80,84,255,56,194,255,250,74,255,252,194,255,90,97,255,189,197,255,29, +68,255,30,193,255,25,83,255,129,191,255,159,86,255,163,198,255,99,73,255,58,208,255,232,78,255,167,201,255,193,65,255,77,182,255,85,81,255,179,201,255,127,76,255,43,193,255,172,60,255,149,160,255,239,74,255,249,179,255,136,68,255,104,171,255,203,73,255, +184,188,255,104,54,255,163,179,255,165,69,255,172,190,255,51,63,255,202,187,255,116,49,255,14,177,255,253,71,255,242,179,255,120,54,255,125,182,255,222,78,255,51,180,255,234,43,255,167,186,255,133,63,255,2,209,255,164,79,255,82,184,255,232,63,255,87, +192,255,51,66,255,80,207,255,254,86,255,121,218,255,137,77,255,70,214,255,251,92,255,55,227,255,98,87,255,58,235,255,238,89,255,80,235,255,242,92,255,149,231,255,227,91,255,105,245,255,248,114,255,165,251,255,116,90,255,180,252,255,64,95,255,160,1,0, +214,111,255,157,5,0,144,112,255,102,12,0,154,107,255,112,7,0,168,129,255,197,21,0,120,116,255,222,31,0,249,125,255,64,44,0,132,135,255,160,32,0,108,132,255,205,49,0,185,132,255,158,46,0,147,138,255,47,43,0,233,128,255,120,52,0,45,144,255,21,35,0,63,131, +255,60,58,0,74,126,255,9,83,0,127,133,255,11,69,0,49,125,255,192,61,0,245,125,255,78,55,0,10,128,255,90,58,0,40,120,255,63,76,0,73,137,255,203,66,0,47,119,255,251,60,0,206,130,255,239,72,0,35,116,255,45,70,0,175,118,255,93,66,0,64,149,255,73,69,0,17, +148,255,241,85,0,212,143,255,92,76,0,13,142,255,126,91,0,161,141,255,202,96,0,141,151,255,63,104,0,78,171,255,153,117,0,60,162,255,60,106,0,1,173,255,57,125,0,221,176,255,124,123,0,123,181,255,104,141,0,64,192,255,215,132,0,82,186,255,222,141,0,135,198, +255,186,150,0,173,204,255,3,158,0,164,212,255,45,153,0,88,202,255,108,160,0,192,191,255,13,156,0,4,220,255,40,165,0,253,210,255,95,170,0,33,219,255,35,184,0,115,208,255,162,181,0,228,209,255,68,172,0,218,224,255,4,185,0,199,217,255,60,168,0,242,237,255, +163,187,0,146,230,255,185,195,0,38,225,255,223,189,0,37,227,255,244,199,0,73,233,255,181,192,0,152,236,255,128,195,0,38,245,255,73,195,0,142,249,255,131,214,0,38,245,255,251,204,0,185,8,0,238,219,0,203,253,255,29,211,0,188,252,255,185,215,0,215,5,0,227, +230,0,91,14,0,144,216,0,164,11,0,74,220,0,218,21,0,152,226,0,237,5,0,159,215,0,179,17,0,113,225,0,69,14,0,193,239,0,250,16,0,41,229,0,18,2,0,22,235,0,16,255,255,110,210,0,88,16,0,184,246,0,255,255,255,120,236,0,43,251,255,3,242,0,148,2,0,226,236,0,82, +7,0,118,239,0,177,4,0,71,241,0,188,252,255,102,220,0,198,9,0,47,236,0,69,252,255,189,226,0,220,1,0,233,234,0,235,2,0,206,236,0,202,7,0,218,221,0,136,7,0,181,233,0,99,6,0,104,220,0,185,246,255,228,203,0,37,4,0,22,232,0,234,245,255,57,217,0,17,250,255, +118,214,0,48,4,0,48,213,0,149,5,0,82,195,0,51,10,0,236,209,0,167,4,0,139,220,0,33,3,0,188,198,0,202,2,0,174,208,0,254,12,0,25,209,0,158,250,255,52,192,0,11,3,0,51,205,0,74,21,0,108,214,0,251,14,0,172,206,0,204,253,255,174,199,0,50,250,255,173,199,0,165, +9,0,248,191,0,42,0,0,157,190,0,129,0,0,165,195,0,169,10,0,217,200,0,217,3,0,113,172,0,203,13,0,116,189,0,254,15,0,246,189,0,84,253,255,15,175,0,87,3,0,167,189,0,87,251,255,105,190,0,218,243,255,124,184,0,152,243,255,105,174,0,55,251,255,251,200,0,40, +242,255,79,187,0,250,243,255,217,173,0,139,226,255,208,171,0,218,235,255,21,165,0,208,243,255,188,180,0,119,229,255,101,169,0,232,222,255,1,166,0,54,240,255,15,178,0,36,238,255,169,168,0,80,219,255,84,160,0,211,233,255,91,165,0,233,233,255,193,169,0, +237,234,255,146,163,0,195,226,255,68,157,0,251,232,255,30,164,0,58,227,255,243,169,0,228,226,255,217,146,0,127,225,255,101,169,0,153,218,255,237,143,0,105,228,255,191,148,0,202,211,255,104,162,0,218,226,255,158,165,0,77,226,255,198,170,0,16,227,255,155, +145,0,14,229,255,42,158,0,133,229,255,185,173,0,73,222,255,145,160,0,35,229,255,53,187,0,244,227,255,245,175,0,147,241,255,71,178,0,110,237,255,103,192,0,53,242,255,191,173,0,132,254,255,2,200,0,64,239,255,12,186,0,207,234,255,166,187,0,239,231,255,58, +190,0,156,246,255,49,205,0,29,244,255,172,192,0,138,233,255,30,175,0,3,240,255,229,185,0,231,246,255,236,187,0,150,233,255,171,190,0,95,250,255,29,190,0,123,243,255,145,192,0,188,246,255,101,201,0,88,228,255,162,183,0,74,233,255,110,198,0,63,230,255, +152,172,0,28,232,255,11,178,0,143,228,255,176,179,0,41,224,255,147,180,0,6,229,255,182,181,0,93,235,255,88,194,0,228,213,255,121,171,0,121,225,255,28,187,0,44,242,255,42,188,0,101,234,255,145,178,0,79,228,255,115,179,0,3,228,255,175,181,0,210,240,255, +243,179,0,144,225,255,21,163,0,143,251,255,237,172,0,40,229,255,176,185,0,9,244,255,153,182,0,55,233,255,14,177,0,59,246,255,89,162,0,30,232,255,187,177,0,85,253,255,127,176,0,215,250,255,144,166,0,71,252,255,21,183,0,239,12,0,86,192,0,223,255,255,232, +167,0,196,4,0,30,195,0,132,254,255,39,183,0,241,10,0,9,193,0,118,3,0,218,167,0,219,13,0,101,168,0,161,253,255,158,190,0,190,11,0,175,174,0,204,3,0,26,166,0,215,18,0,36,172,0,243,8,0,162,171,0,179,8,0,39,170,0,103,255,255,62,174,0,175,4,0,195,175,0,160, +3,0,129,181,0,27,246,255,38,174,0,176,242,255,71,165,0,31,6,0,250,179,0,82,252,255,28,187,0,67,1,0,131,189,0,185,16,0,36,196,0,71,252,255,204,201,0,107,0,0,28,185,0,80,14,0,165,212,0,141,13,0,144,191,0,187,26,0,123,182,0,68,26,0,170,202,0,209,26,0,115, +202,0,43,28,0,251,198,0,17,30,0,237,185,0,234,46,0,196,192,0,68,17,0,215,179,0,203,31,0,63,182,0,158,18,0,208,162,0,113,30,0,179,185,0,114,24,0,154,172,0,240,20,0,33,159,0,119,38,0,55,178,0,34,26,0,179,161,0,49,40,0,43,169,0,206,32,0,34,160,0,51,31,0, +165,170,0,174,26,0,197,161,0,41,41,0,120,167,0,144,33,0,252,168,0,2,36,0,128,170,0,69,43,0,209,178,0,13,33,0,62,167,0,10,32,0,104,170,0,255,34,0,245,180,0,194,32,0,165,179,0,3,43,0,104,190,0,62,51,0,31,191,0,4,53,0,235,194,0,227,36,0,90,209,0,24,43,0, +13,206,0,35,43,0,226,215,0,178,44,0,19,205,0,169,51,0,128,212,0,186,53,0,248,203,0,153,40,0,238,197,0,24,50,0,29,219,0,153,40,0,213,216,0,60,48,0,113,206,0,196,53,0,184,205,0,3,70,0,1,202,0,180,55,0,123,200,0,129,66,0,218,206,0,222,71,0,47,217,0,108, +73,0,175,207,0,228,70,0,96,203,0,167,78,0,143,211,0,150,76,0,72,183,0,174,67,0,221,196,0,197,64,0,85,194,0,98,67,0,192,181,0,38,82,0,6,197,0,104,79,0,223,191,0,23,61,0,86,199,0,223,76,0,9,199,0,229,75,0,155,201,0,59,79,0,234,199,0,25,82,0,77,201,0,43, +71,0,33,204,0,63,84,0,113,189,0,192,94,0,8,221,0,250,89,0,175,199,0,83,101,0,74,215,0,221,87,0,24,220,0,247,95,0,147,215,0,69,104,0,200,208,0,252,121,0,149,230,0,212,105,0,245,223,0,46,114,0,105,210,0,162,100,0,197,195,0,122,111,0,197,226,0,15,98,0,147, +214,0,93,99,0,64,212,0,170,89,0,1,206,0,151,97,0,129,199,0,60,75,0,72,181,0,86,73,0,129,175,0,159,86,0,178,181,0,113,75,0,114,171,0,119,77,0,163,173,0,17,58,0,100,160,0,92,72,0,157,137,0,76,60,0,108,135,0,3,75,0,199,151,0,58,65,0,210,134,0,28,59,0,18, +138,0,72,59,0,45,133,0,68,58,0,195,126,0,251,58,0,37,138,0,172,57,0,139,115,0,33,61,0,16,121,0,164,58,0,237,105,0,47,55,0,105,133,0,136,49,0,62,119,0,3,73,0,152,149,0,59,45,0,144,125,0,253,70,0,163,153,0,0,65,0,199,140,0,83,64,0,140,142,0,238,58,0,45, +136,0,204,54,0,98,136,0,72,64,0,168,145,0,141,73,0,241,123,0,2,59,0,133,134,0,144,74,0,51,121,0,9,69,0,201,128,0,188,49,0,73,122,0,117,62,0,20,126,0,169,54,0,55,116,0,54,48,0,4,110,0,33,63,0,47,121,0,12,56,0,215,116,0,85,48,0,37,107,0,213,62,0,34,106, +0,219,46,0,180,101,0,175,53,0,193,87,0,8,59,0,81,97,0,96,41,0,145,82,0,57,35,0,186,74,0,125,51,0,83,72,0,176,50,0,31,69,0,236,26,0,124,79,0,243,36,0,12,74,0,73,56,0,184,74,0,120,42,0,45,82,0,167,25,0,200,76,0,172,34,0,220,72,0,7,37,0,135,91,0,9,26,0, +248,78,0,43,42,0,155,68,0,79,17,0,48,84,0,166,29,0,162,75,0,40,49,0,217,79,0,147,37,0,133,80,0,208,32,0,127,78,0,14,36,0,125,70,0,93,45,0,204,75,0,72,34,0,156,62,0,75,31,0,126,78,0,151,24,0,62,75,0,191,34,0,168,51,0,241,33,0,126,36,0,80,33,0,23,61,0, +193,35,0,38,55,0,50,30,0,234,48,0,235,27,0,120,46,0,38,30,0,61,44,0,143,21,0,44,42,0,76,32,0,178,40,0,105,27,0,41,37,0,110,13,0,99,43,0,35,29,0,48,44,0,59,10,0,0,22,0,110,29,0,226,54,0,75,16,0,242,52,0,157,19,0,106,38,0,21,24,0,42,54,0,48,38,0,42,54, +0,166,34,0,112,72,0,192,28,0,213,62,0,120,25,0,183,67,0,180,27,0,110,84,0,243,35,0,251,88,0,251,22,0,170,54,0,195,29,0,139,79,0,157,35,0,134,65,0,151,37,0,129,59,0,248,25,0,77,56,0,142,54,0,92,50,0,151,17,0,177,37,0,231,47,0,44,40,0,107,37,0,27,46,0, +197,14,0,23,32,0,36,39,0,18,26,0,118,33,0,85,27,0,238,42,0,141,28,0,20,33,0,198,29,0,122,31,0,254,30,0,197,35,0,113,248,255,168,24,0,101,4,0,13,18,0,191,10,0,176,31,0,180,245,255,192,29,0,2,243,255,112,27,0,98,3,0,2,18,0,8,249,255,46,2,0,247,250,255, +206,14,0,176,235,255,45,253,255,188,227,255,110,245,255,6,240,255,141,1,0,51,228,255,252,254,255,237,225,255,3,10,0,161,212,255,149,8,0,58,218,255,26,254,255,71,223,255,131,1,0,81,231,255,10,252,255,180,219,255,48,250,255,203,228,255,118,9,0,108,233, +255,96,0,0,113,222,255,159,4,0,4,230,255,95,17,0,23,229,255,170,17,0,156,222,255,255,12,0,69,239,255,217,10,0,243,222,255,122,2,0,197,212,255,211,29,0,187,221,255,196,19,0,40,227,255,117,13,0,117,214,255,250,19,0,182,223,255,39,255,255,140,228,255,187, +24,0,72,218,255,253,16,0,227,228,255,237,252,255,24,229,255,117,9,0,51,222,255,18,8,0,241,225,255,158,17,0,167,212,255,14,15,0,86,223,255,176,2,0,194,223,255,237,252,255,58,220,255,13,15,0,13,215,255,194,19,0,29,217,255,93,17,0,241,229,255,64,14,0,221, +216,255,41,9,0,63,231,255,106,23,0,248,232,255,140,19,0,214,231,255,194,19,0,244,221,255,206,24,0,127,240,255,103,17,0,38,243,255,135,40,0,2,237,255,78,62,0,186,4,0,139,60,0,166,247,255,60,54,0,151,250,255,76,71,0,165,14,0,204,56,0,210,10,0,135,78,0, +131,32,0,155,91,0,18,39,0,247,85,0,49,48,0,28,93,0,39,39,0,86,99,0,101,43,0,45,91,0,106,45,0,240,111,0,203,64,0,179,103,0,250,47,0,201,113,0,74,55,0,69,112,0,80,67,0,249,130,0,152,61,0,63,129,0,224,79,0,93,128,0,219,77,0,216,121,0,25,72,0,94,129,0,106, +70,0,190,134,0,124,73,0,155,128,0,50,74,0,190,130,0,50,55,0,125,130,0,160,51,0,176,134,0,224,51,0,78,119,0,211,50,0,26,130,0,17,26,0,13,129,0,231,30,0,78,125,0,64,42,0,211,107,0,183,13,0,85,123,0,143,246,255,221,107,0,210,247,255,203,94,0,78,236,255, +239,106,0,62,253,255,236,95,0,72,223,255,200,113,0,101,221,255,47,83,0,62,218,255,76,96,0,242,232,255,64,81,0,230,206,255,3,88,0,83,228,255,28,95,0,7,217,255,102,69,0,67,205,255,106,81,0,83,207,255,198,74,0,91,226,255,197,84,0,78,220,255,148,71,0,105, +207,255,117,87,0,107,233,255,156,65,0,164,235,255,212,76,0,41,212,255,142,74,0,230,215,255,234,72,0,28,221,255,31,83,0,78,214,255,179,87,0,187,215,255,136,77,0,229,225,255,23,74,0,21,217,255,112,81,0,175,219,255,240,81,0,247,217,255,177,82,0,224,211, +255,140,75,0,234,216,255,72,89,0,66,202,255,163,81,0,198,214,255,208,82,0,75,196,255,150,86,0,68,192,255,191,80,0,14,213,255,32,81,0,109,196,255,250,104,0,208,197,255,20,97,0,114,187,255,50,85,0,145,170,255,124,90,0,91,192,255,192,76,0,230,164,255,152, +78,0,252,175,255,146,75,0,178,175,255,89,68,0,20,155,255,128,66,0,73,149,255,127,60,0,195,145,255,31,50,0,215,144,255,74,50,0,96,127,255,179,60,0,151,116,255,39,43,0,235,120,255,94,27,0,178,118,255,223,44,0,136,107,255,31,28,0,118,114,255,185,24,0,144, +93,255,194,18,0,20,101,255,28,21,0,68,98,255,90,31,0,122,109,255,77,19,0,246,89,255,139,0,0,130,84,255,121,2,0,110,101,255,238,19,0,67,84,255,21,12,0,23,77,255,252,9,0,8,86,255,221,4,0,197,89,255,93,255,255,214,92,255,188,4,0,145,112,255,166,248,255, +9,102,255,107,245,255,222,83,255,121,8,0,61,83,255,234,5,0,144,75,255,77,240,255,218,79,255,247,1,0,34,96,255,215,251,255,31,100,255,56,246,255,182,82,255,199,16,0,61,98,255,42,12,0,95,86,255,106,0,0,130,81,255,205,19,0,143,94,255,62,5,0,242,89,255,166, +4,0,165,81,255,204,25,0,219,93,255,81,22,0,62,95,255,200,35,0,236,90,255,22,38,0,92,87,255,247,38,0,122,97,255,163,45,0,197,103,255,205,32,0,45,95,255,7,23,0,219,108,255,170,6,0,185,82,255,54,26,0,111,107,255,27,29,0,207,106,255,186,9,0,154,106,255,182, +13,0,215,91,255,10,13,0,206,92,255,24,21,0,46,111,255,174,15,0,178,100,255,89,15,0,137,94,255,102,23,0,215,102,255,51,25,0,170,100,255,152,21,0,31,113,255,135,24,0,141,114,255,67,28,0,111,115,255,226,27,0,39,110,255,242,36,0,85,124,255,207,35,0,69,127, +255,155,43,0,71,121,255,141,47,0,9,122,255,4,49,0,8,141,255,27,57,0,25,144,255,64,73,0,55,156,255,248,74,0,218,150,255,38,71,0,117,154,255,11,74,0,218,163,255,160,93,0,131,169,255,192,87,0,16,170,255,103,79,0,132,169,255,40,93,0,31,159,255,244,87,0,19, +171,255,12,90,0,122,168,255,30,88,0,131,180,255,92,80,0,11,179,255,137,81,0,83,163,255,223,89,0,73,163,255,96,97,0,40,162,255,216,92,0,159,169,255,149,83,0,94,169,255,248,92,0,143,166,255,4,87,0,2,150,255,191,83,0,255,140,255,167,82,0,146,152,255,41, +91,0,62,167,255,88,87,0,198,158,255,86,93,0,189,173,255,127,100,0,172,175,255,145,83,0,196,169,255,114,98,0,73,166,255,81,91,0,67,169,255,73,93,0,74,166,255,208,98,0,17,171,255,201,101,0,209,170,255,65,96,0,139,166,255,178,100,0,69,169,255,183,112,0, +120,174,255,1,112,0,185,174,255,226,112,0,73,164,255,10,112,0,39,184,255,92,132,0,0,179,255,213,142,0,109,195,255,2,115,0,96,185,255,21,129,0,153,180,255,99,131,0,224,185,255,15,125,0,18,183,255,55,124,0,100,195,255,13,125,0,225,185,255,146,105,0,164, +187,255,75,132,0,26,195,255,103,106,0,142,186,255,236,117,0,95,190,255,69,113,0,187,179,255,146,115,0,170,174,255,107,118,0,110,185,255,154,106,0,76,184,255,50,117,0,133,186,255,208,99,0,141,175,255,203,112,0,121,160,255,238,106,0,129,166,255,145,101, +0,4,184,255,5,101,0,145,161,255,202,89,0,222,162,255,33,123,0,230,176,255,249,117,0,212,162,255,158,113,0,33,164,255,182,124,0,124,168,255,8,122,0,93,169,255,126,123,0,23,172,255,195,110,0,255,160,255,241,130,0,82,192,255,125,115,0,39,175,255,116,151, +0,40,184,255,208,139,0,75,177,255,248,138,0,52,193,255,209,133,0,141,178,255,3,132,0,223,166,255,117,137,0,25,187,255,75,138,0,21,176,255,68,142,0,42,184,255,196,142,0,26,170,255,43,123,0,130,167,255,212,148,0,102,179,255,212,131,0,112,169,255,183,134, +0,252,160,255,105,123,0,75,182,255,0,116,0,63,190,255,89,129,0,120,166,255,120,137,0,8,170,255,243,133,0,193,181,255,145,132,0,185,165,255,170,145,0,62,178,255,196,122,0,84,187,255,246,138,0,163,191,255,99,159,0,1,199,255,16,154,0,238,190,255,8,147,0, +145,211,255,216,143,0,152,208,255,80,127,0,88,199,255,13,154,0,81,192,255,11,134,0,193,196,255,13,136,0,231,192,255,143,128,0,138,204,255,180,123,0,168,192,255,120,129,0,214,185,255,85,136,0,182,175,255,148,116,0,140,176,255,83,116,0,190,153,255,102, +124,0,83,152,255,104,136,0,91,140,255,65,121,0,108,135,255,57,113,0,123,128,255,144,105,0,116,131,255,244,109,0,111,136,255,65,82,0,233,99,255,24,115,0,190,118,255,195,115,0,85,119,255,57,107,0,66,121,255,163,107,0,27,125,255,210,100,0,20,117,255,139, +94,0,172,108,255,195,117,0,39,124,255,57,108,0,133,142,255,19,104,0,201,134,255,226,98,0,120,138,255,28,104,0,57,128,255,157,94,0,33,125,255,167,94,0,17,119,255,44,100,0,172,134,255,112,93,0,20,131,255,10,99,0,181,120,255,114,96,0,108,122,255,20,110, +0,78,111,255,175,94,0,8,116,255,71,98,0,170,106,255,45,93,0,128,106,255,227,106,0,14,97,255,57,96,0,111,98,255,103,77,0,158,90,255,81,77,0,67,72,255,219,64,0,119,80,255,109,73,0,77,92,255,40,68,0,114,73,255,83,69,0,231,83,255,49,56,0,52,98,255,93,45, +0,204,87,255,90,54,0,102,92,255,24,52,0,124,92,255,92,56,0,12,74,255,182,38,0,53,82,255,54,39,0,78,74,255,10,50,0,165,97,255,136,72,0,157,75,255,172,53,0,111,82,255,119,53,0,154,95,255,134,33,0,38,71,255,50,61,0,254,84,255,5,46,0,89,91,255,38,60,0,2, +75,255,143,44,0,124,80,255,178,62,0,166,91,255,66,43,0,52,68,255,137,51,0,156,90,255,254,63,0,98,69,255,116,26,0,139,53,255,234,53,0,2,67,255,20,53,0,97,51,255,60,51,0,250,67,255,187,36,0,142,52,255,30,54,0,59,53,255,61,52,0,40,55,255,23,45,0,77,46,255, +222,40,0,10,41,255,125,67,0,222,51,255,49,52,0,196,43,255,194,46,0,134,45,255,237,47,0,127,34,255,242,54,0,126,46,255,108,47,0,121,52,255,5,24,0,158,44,255,248,20,0,211,41,255,234,29,0,189,38,255,209,39,0,23,44,255,83,27,0,159,39,255,196,23,0,189,33, +255,29,14,0,249,41,255,169,14,0,148,49,255,39,12,0,220,28,255,56,5,0,181,32,255,197,249,255,11,31,255,191,16,0,129,30,255,47,9,0,89,32,255,115,255,255,184,44,255,240,9,0,1,42,255,79,248,255,239,43,255,113,11,0,12,39,255,147,14,0,152,38,255,242,13,0,187, +57,255,181,17,0,2,52,255,82,31,0,91,71,255,174,41,0,186,50,255,88,40,0,162,64,255,209,47,0,143,66,255,155,46,0,63,74,255,169,52,0,233,69,255,202,54,0,34,75,255,133,65,0,95,85,255,34,59,0,144,78,255,75,58,0,101,113,255,227,62,0,197,92,255,205,61,0,80, +109,255,17,70,0,246,100,255,138,58,0,139,98,255,32,59,0,162,99,255,138,60,0,152,99,255,253,54,0,92,104,255,38,52,0,186,120,255,195,47,0,229,119,255,103,55,0,251,119,255,44,44,0,7,119,255,36,50,0,61,122,255,162,47,0,208,95,255,129,67,0,23,128,255,6,57, +0,174,108,255,160,45,0,154,107,255,78,53,0,61,94,255,204,50,0,96,98,255,24,52,0,158,91,255,147,65,0,223,90,255,91,59,0,13,97,255,89,54,0,183,93,255,5,36,0,180,84,255,165,59,0,54,86,255,56,55,0,75,84,255,235,50,0,225,61,255,228,59,0,60,72,255,2,56,0,131, +60,255,164,61,0,40,72,255,165,37,0,113,63,255,172,31,0,15,58,255,41,49,0,117,69,255,195,35,0,29,61,255,21,30,0,255,60,255,211,22,0,190,57,255,62,25,0,47,70,255,23,36,0,185,66,255,88,37,0,231,73,255,85,30,0,72,74,255,13,39,0,72,70,255,87,36,0,173,81,255, +112,48,0,137,98,255,62,29,0,187,83,255,176,46,0,84,94,255,148,60,0,213,93,255,181,63,0,218,104,255,198,52,0,152,98,255,211,60,0,47,101,255,177,55,0,56,94,255,255,64,0,62,108,255,178,62,0,81,100,255,96,69,0,149,108,255,138,71,0,36,119,255,200,63,0,86, +107,255,166,59,0,151,108,255,168,70,0,192,100,255,138,39,0,230,81,255,62,33,0,180,90,255,160,42,0,212,88,255,89,55,0,34,98,255,52,37,0,138,84,255,72,35,0,201,76,255,42,44,0,97,82,255,206,19,0,82,64,255,71,32,0,64,70,255,212,39,0,108,70,255,122,28,0,5, +85,255,104,39,0,97,61,255,57,22,0,195,68,255,80,27,0,237,64,255,126,44,0,85,90,255,18,40,0,233,81,255,92,38,0,107,94,255,147,48,0,202,78,255,132,26,0,235,80,255,241,35,0,153,92,255,132,24,0,155,95,255,111,28,0,217,83,255,226,21,0,239,79,255,77,17,0,25, +76,255,120,21,0,100,70,255,110,28,0,5,72,255,223,3,0,50,79,255,117,6,0,135,70,255,169,253,255,78,44,255,29,245,255,74,73,255,233,248,255,254,63,255,222,253,255,10,64,255,220,239,255,72,50,255,212,1,0,254,40,255,30,248,255,65,56,255,134,228,255,236,49, +255,190,241,255,77,49,255,125,243,255,132,59,255,177,224,255,175,47,255,155,223,255,37,42,255,166,221,255,69,27,255,145,215,255,219,31,255,60,220,255,147,43,255,49,213,255,224,53,255,60,211,255,117,42,255,39,218,255,247,55,255,113,214,255,55,42,255,253, +212,255,163,41,255,17,217,255,110,34,255,93,224,255,165,52,255,136,208,255,6,48,255,19,223,255,93,49,255,93,214,255,115,55,255,136,217,255,139,68,255,94,221,255,213,60,255,148,216,255,182,50,255,63,201,255,56,66,255,73,208,255,14,59,255,41,214,255,15, +54,255,212,223,255,240,58,255,191,223,255,208,62,255,117,212,255,7,62,255,75,191,255,200,57,255,192,205,255,30,48,255,86,212,255,86,36,255,128,213,255,64,67,255,246,203,255,173,43,255,86,220,255,120,42,255,44,211,255,88,55,255,214,211,255,240,45,255, +98,195,255,178,38,255,141,197,255,40,40,255,204,209,255,201,33,255,77,202,255,106,45,255,47,196,255,11,41,255,91,182,255,183,36,255,197,190,255,142,39,255,240,191,255,121,41,255,111,198,255,153,49,255,145,191,255,155,40,255,35,209,255,80,54,255,229,202, +255,5,63,255,69,202,255,210,52,255,7,192,255,52,46,255,25,212,255,10,49,255,154,210,255,2,42,255,6,206,255,183,47,255,167,200,255,98,55,255,27,207,255,122,43,255,157,200,255,25,58,255,95,187,255,176,54,255,87,179,255,222,39,255,235,183,255,242,55,255, +211,198,255,255,40,255,34,180,255,247,36,255,35,174,255,214,45,255,97,189,255,65,50,255,13,183,255,216,51,255,32,197,255,77,56,255,170,203,255,236,65,255,88,187,255,99,60,255,45,193,255,118,72,255,86,199,255,103,52,255,65,202,255,60,63,255,160,205,255, +30,55,255,60,225,255,38,70,255,255,213,255,124,69,255,19,219,255,156,74,255,83,216,255,72,70,255,6,230,255,78,92,255,69,229,255,8,79,255,110,239,255,15,98,255,69,233,255,135,91,255,134,229,255,146,91,255,242,227,255,79,104,255,47,234,255,71,100,255,123, +231,255,208,107,255,35,244,255,13,120,255,14,241,255,15,115,255,105,223,255,89,119,255,192,219,255,139,130,255,29,230,255,213,138,255,158,226,255,140,133,255,191,223,255,155,122,255,107,222,255,57,129,255,231,230,255,68,132,255,17,235,255,223,145,255, +57,213,255,201,149,255,28,232,255,243,152,255,63,227,255,84,152,255,91,236,255,76,146,255,3,245,255,168,159,255,23,249,255,209,165,255,173,246,255,61,162,255,39,6,0,19,163,255,7,6,0,81,167,255,240,9,0,132,174,255,67,15,0,183,179,255,22,20,0,75,184,255, +167,30,0,32,186,255,173,41,0,124,199,255,157,30,0,209,199,255,218,35,0,79,205,255,88,38,0,191,216,255,173,40,0,82,223,255,67,39,0,241,225,255,215,39,0,40,245,255,226,38,0,127,243,255,38,31,0,111,232,255,221,49,0,169,245,255,105,45,0,128,241,255,50,50, +0,84,10,0,77,37,0,254,245,255,0,41,0,131,1,0,163,33,0,216,235,255,213,39,0,189,246,255,211,43,0,159,242,255,48,30,0,75,241,255,116,40,0,83,225,255,43,36,0,106,223,255,229,9,0,79,213,255,28,45,0,71,228,255,178,23,0,193,221,255,221,22,0,195,216,255,31, +38,0,189,208,255,242,22,0,119,202,255,137,39,0,183,221,255,48,27,0,179,228,255,65,34,0,120,220,255,217,27,0,170,226,255,124,24,0,10,227,255,194,49,0,239,235,255,184,47,0,119,240,255,57,45,0,182,242,255,0,51,0,49,252,255,75,50,0,195,1,0,200,54,0,152,1, +0,234,50,0,255,6,0,101,75,0,135,28,0,97,64,0,242,11,0,157,53,0,85,40,0,50,70,0,14,16,0,13,62,0,31,24,0,244,65,0,132,49,0,131,59,0,144,30,0,200,51,0,167,27,0,105,66,0,176,30,0,12,61,0,152,32,0,69,70,0,191,54,0,55,44,0,53,53,0,155,68,0,122,61,0,63,62,0, +50,57,0,19,48,0,65,66,0,74,60,0,4,61,0,154,67,0,92,71,0,66,70,0,228,75,0,73,75,0,99,76,0,23,70,0,202,80,0,212,72,0,183,77,0,62,90,0,225,76,0,138,86,0,46,88,0,239,93,0,77,89,0,63,101,0,152,102,0,19,88,0,218,98,0,92,117,0,71,109,0,182,110,0,145,108,0,192, +97,0,129,102,0,226,121,0,221,106,0,76,121,0,233,103,0,8,112,0,35,111,0,75,135,0,3,123,0,101,127,0,95,114,0,168,122,0,225,125,0,251,138,0,107,112,0,36,127,0,229,117,0,238,126,0,36,105,0,164,138,0,51,100,0,124,133,0,212,122,0,135,119,0,232,111,0,173,123, +0,194,104,0,171,126,0,15,115,0,238,121,0,205,116,0,219,117,0,241,123,0,231,103,0,145,109,0,243,100,0,16,99,0,98,96,0,119,101,0,6,115,0,79,110,0,75,96,0,2,112,0,103,113,0,214,101,0,48,90,0,37,95,0,165,114,0,105,78,0,106,94,0,157,91,0,124,86,0,71,80,0, +78,102,0,86,86,0,125,96,0,149,86,0,107,80,0,21,74,0,149,69,0,42,74,0,39,61,0,65,84,0,105,69,0,186,57,0,32,67,0,166,55,0,233,68,0,96,61,0,130,64,0,129,71,0,112,60,0,30,62,0,248,63,0,161,69,0,54,54,0,139,70,0,20,56,0,172,58,0,129,52,0,88,67,0,94,55,0,243, +71,0,191,54,0,226,66,0,157,77,0,19,71,0,88,61,0,152,87,0,255,52,0,40,82,0,165,68,0,227,86,0,192,41,0,202,89,0,172,82,0,55,86,0,250,89,0,32,88,0,53,72,0,90,72,0,136,74,0,16,81,0,190,72,0,25,73,0,26,67,0,33,75,0,93,63,0,48,50,0,106,81,0,75,54,0,218,54, +0,108,43,0,121,66,0,166,28,0,51,51,0,55,43,0,240,53,0,50,37,0,214,47,0,162,31,0,125,41,0,10,24,0,245,47,0,136,45,0,22,47,0,143,38,0,179,30,0,113,36,0,96,47,0,1,51,0,245,27,0,23,40,0,206,53,0,31,52,0,113,32,0,65,41,0,230,41,0,55,68,0,177,40,0,54,50,0, +37,42,0,91,64,0,109,34,0,228,65,0,117,27,0,46,66,0,50,48,0,220,90,0,66,44,0,169,78,0,162,53,0,56,66,0,24,52,0,243,97,0,35,42,0,155,71,0,185,41,0,192,85,0,206,41,0,10,104,0,19,37,0,64,112,0,145,47,0,234,102,0,255,52,0,115,113,0,174,49,0,213,101,0,80,56, +0,138,110,0,44,51,0,55,108,0,252,55,0,174,97,0,28,73,0,224,108,0,182,67,0,62,110,0,72,79,0,101,103,0,234,94,0,64,107,0,112,72,0,239,102,0,208,89,0,63,116,0,208,80,0,215,121,0,159,85,0,168,115,0,108,91,0,16,118,0,215,82,0,163,102,0,109,115,0,65,120,0, +67,114,0,130,127,0,215,114,0,122,133,0,238,112,0,213,119,0,179,116,0,155,122,0,207,119,0,242,137,0,214,129,0,102,130,0,111,119,0,171,125,0,75,113,0,237,131,0,146,123,0,91,129,0,128,121,0,222,109,0,16,108,0,134,119,0,150,118,0,210,109,0,19,105,0,40,109, +0,178,96,0,169,107,0,38,106,0,30,116,0,49,90,0,163,111,0,67,91,0,10,106,0,109,91,0,56,111,0,20,86,0,4,102,0,53,85,0,36,117,0,87,91,0,98,118,0,143,81,0,16,123,0,105,85,0,203,109,0,45,89,0,192,117,0,73,115,0,179,142,0,44,90,0,211,133,0,49,109,0,233,155, +0,203,104,0,94,163,0,31,105,0,199,171,0,132,131,0,150,182,0,185,131,0,57,172,0,250,114,0,138,189,0,248,138,0,145,191,0,204,131,0,111,177,0,71,127,0,86,194,0,83,140,0,159,179,0,190,139,0,251,196,0,116,124,0,31,171,0,0,131,0,112,173,0,136,146,0,46,167, +0,52,130,0,218,150,0,228,140,0,181,154,0,85,136,0,124,141,0,168,122,0,30,133,0,157,136,0,239,127,0,109,132,0,137,117,0,143,137,0,68,113,0,63,134,0,43,115,0,30,127,0,47,98,0,180,125,0,205,119,0,122,135,0,20,108,0,226,129,0,72,115,0,162,129,0,165,103,0, +202,130,0,194,104,0,232,124,0,6,116,0,160,129,0,6,129,0,41,124,0,45,110,0,178,130,0,239,122,0,118,128,0,217,142,0,221,116,0,176,127,0,78,112,0,193,136,0,236,112,0,247,122,0,69,96,0,231,131,0,204,105,0,153,140,0,75,86,0,230,138,0,110,90,0,148,129,0,181, +91,0,57,133,0,66,90,0,11,134,0,202,91,0,55,126,0,125,86,0,141,132,0,122,75,0,179,114,0,162,69,0,2,112,0,223,84,0,230,115,0,119,63,0,119,111,0,117,51,0,98,91,0,158,64,0,77,110,0,114,59,0,24,97,0,132,73,0,134,100,0,35,80,0,182,97,0,198,65,0,185,82,0,133, +72,0,134,106,0,201,88,0,49,93,0,129,68,0,154,93,0,162,79,0,201,109,0,206,78,0,153,106,0,154,83,0,90,99,0,231,94,0,46,100,0,235,91,0,38,104,0,131,96,0,28,116,0,55,85,0,28,103,0,103,87,0,159,119,0,19,74,0,163,98,0,69,94,0,34,117,0,89,76,0,169,106,0,74, +84,0,185,121,0,226,76,0,180,105,0,82,79,0,97,104,0,94,84,0,78,121,0,230,73,0,14,114,0,120,57,0,169,92,0,171,64,0,222,98,0,206,80,0,205,119,0,72,66,0,115,98,0,151,57,0,66,96,0,57,74,0,185,94,0,153,85,0,242,103,0,117,81,0,244,108,0,190,76,0,75,119,0,186, +78,0,18,103,0,113,77,0,87,106,0,177,76,0,100,127,0,68,72,0,146,108,0,80,94,0,177,131,0,215,78,0,123,114,0,120,89,0,56,115,0,165,76,0,11,128,0,14,89,0,138,133,0,166,81,0,216,119,0,149,84,0,144,118,0,40,80,0,210,122,0,203,66,0,83,116,0,22,78,0,243,115, +0,22,83,0,140,102,0,213,94,0,109,118,0,147,72,0,213,102,0,149,77,0,148,102,0,207,63,0,182,101,0,110,64,0,178,103,0,127,71,0,253,102,0,134,84,0,159,90,0,133,62,0,171,100,0,139,86,0,240,119,0,122,62,0,243,95,0,181,75,0,247,109,0,215,74,0,255,105,0,70,83, +0,150,104,0,98,106,0,64,110,0,76,90,0,21,115,0,250,98,0,95,115,0,226,94,0,9,110,0,230,92,0,14,113,0,79,93,0,151,118,0,18,92,0,97,97,0,168,85,0,23,102,0,35,93,0,207,94,0,39,96,0,98,106,0,125,90,0,42,97,0,34,88,0,175,99,0,46,87,0,159,96,0,93,79,0,157,97, +0,241,63,0,105,86,0,5,49,0,39,87,0,206,64,0,64,74,0,195,54,0,235,73,0,127,46,0,233,84,0,218,48,0,166,81,0,53,56,0,226,82,0,143,48,0,112,81,0,221,41,0,237,107,0,176,47,0,124,95,0,152,38,0,74,104,0,43,60,0,156,110,0,162,38,0,115,129,0,203,49,0,142,131, +0,65,54,0,161,132,0,168,50,0,33,142,0,160,64,0,17,144,0,107,69,0,25,170,0,159,59,0,80,149,0,0,69,0,40,167,0,70,76,0,49,143,0,69,66,0,211,156,0,253,89,0,144,162,0,242,79,0,124,176,0,152,76,0,102,166,0,251,94,0,40,165,0,145,94,0,168,169,0,26,105,0,43,148, +0,75,106,0,183,171,0,195,109,0,84,153,0,61,117,0,123,154,0,119,90,0,144,144,0,99,104,0,94,147,0,23,95,0,0,156,0,220,111,0,58,153,0,105,115,0,9,146,0,127,119,0,189,151,0,151,122,0,52,145,0,34,108,0,192,158,0,94,114,0,58,161,0,120,102,0,98,157,0,247,116, +0,124,178,0,238,115,0,71,168,0,58,110,0,84,181,0,192,102,0,158,171,0,228,128,0,46,192,0,191,121,0,20,203,0,229,113,0,115,198,0,93,126,0,30,202,0,150,124,0,12,224,0,137,134,0,71,216,0,93,125,0,211,210,0,210,134,0,208,229,0,22,151,0,152,239,0,82,143,0, +107,249,0,76,145,0,183,1,1,244,159,0,3,5,1,25,144,0,26,8,1,161,153,0,150,242,0,14,148,0,218,253,0,190,140,0,193,254,0,43,162,0,97,254,0,233,148,0,190,254,0,252,135,0,18,237,0,140,160,0,114,254,0,91,167,0,251,2,1,81,153,0,86,0,1,91,153,0,200,0,1,26,149, +0,118,12,1,17,152,0,146,13,1,90,161,0,250,13,1,66,162,0,125,25,1,117,158,0,167,29,1,31,154,0,17,16,1,71,163,0,18,28,1,146,167,0,141,29,1,193,178,0,93,40,1,83,192,0,44,55,1,215,194,0,78,36,1,151,181,0,214,27,1,115,195,0,37,47,1,232,199,0,1,61,1,23,193, +0,71,58,1,95,198,0,109,59,1,193,196,0,26,62,1,243,201,0,97,58,1,113,202,0,61,55,1,163,203,0,198,63,1,170,204,0,234,61,1,126,200,0,238,54,1,216,197,0,182,55,1,5,201,0,254,72,1,111,209,0,112,52,1,191,202,0,46,48,1,140,192,0,141,56,1,9,219,0,116,65,1,1, +192,0,86,68,1,154,219,0,115,56,1,69,202,0,63,72,1,82,205,0,190,46,1,185,218,0,229,63,1,65,215,0,102,67,1,34,210,0,168,65,1,28,208,0,109,75,1,47,204,0,191,67,1,161,213,0,81,81,1,144,207,0,22,62,1,219,214,0,223,65,1,120,203,0,96,81,1,144,197,0,238,62,1, +46,198,0,70,57,1,214,190,0,235,58,1,171,206,0,220,63,1,30,187,0,178,46,1,60,183,0,151,40,1,43,185,0,165,58,1,193,176,0,134,41,1,128,164,0,175,25,1,27,162,0,33,14,1,13,155,0,174,16,1,186,157,0,236,16,1,145,148,0,179,245,0,71,148,0,181,4,1,224,126,0,167, +245,0,43,138,0,33,239,0,239,120,0,38,217,0,5,120,0,203,218,0,206,120,0,134,204,0,237,108,0,239,192,0,14,116,0,232,218,0,209,114,0,78,204,0,205,84,0,226,215,0,5,103,0,142,191,0,55,100,0,241,213,0,245,96,0,101,213,0,179,85,0,17,201,0,87,72,0,187,212,0, +169,73,0,190,199,0,182,76,0,93,199,0,95,84,0,27,196,0,129,68,0,43,190,0,134,62,0,26,184,0,42,57,0,211,201,0,200,61,0,21,197,0,241,46,0,80,175,0,115,38,0,14,160,0,186,43,0,137,165,0,136,57,0,70,166,0,174,24,0,61,131,0,172,21,0,159,145,0,120,17,0,128,148, +0,78,28,0,22,118,0,42,22,0,0,118,0,196,5,0,47,101,0,131,13,0,70,104,0,114,19,0,96,102,0,251,4,0,70,111,0,93,245,255,130,86,0,245,251,255,42,91,0,67,243,255,90,81,0,13,251,255,200,98,0,97,251,255,48,88,0,227,239,255,115,94,0,78,232,255,254,93,0,224,229, +255,171,85,0,20,230,255,120,81,0,177,238,255,88,88,0,101,239,255,163,95,0,173,221,255,201,100,0,68,217,255,59,94,0,93,227,255,115,89,0,222,226,255,211,92,0,160,204,255,124,93,0,79,221,255,49,79,0,111,214,255,28,86,0,236,218,255,151,76,0,67,200,255,110, +72,0,213,197,255,153,75,0,245,197,255,133,46,0,201,187,255,138,55,0,86,194,255,222,62,0,74,177,255,4,50,0,170,191,255,137,55,0,84,163,255,241,59,0,184,176,255,35,39,0,209,164,255,151,57,0,207,161,255,112,24,0,100,151,255,222,47,0,245,156,255,209,37,0, +153,141,255,218,34,0,64,132,255,45,39,0,66,153,255,214,60,0,76,146,255,159,43,0,10,140,255,205,45,0,34,136,255,147,40,0,104,141,255,169,36,0,165,128,255,241,12,0,188,124,255,178,12,0,244,130,255,229,30,0,8,142,255,89,24,0,155,132,255,68,24,0,9,128,255, +193,38,0,62,132,255,147,22,0,214,141,255,204,17,0,36,144,255,231,36,0,193,145,255,85,42,0,157,126,255,115,29,0,102,130,255,13,38,0,14,118,255,24,31,0,50,151,255,151,41,0,148,133,255,208,26,0,14,139,255,115,42,0,4,129,255,159,28,0,139,150,255,102,36,0, +244,147,255,171,41,0,16,139,255,207,36,0,191,144,255,4,27,0,60,132,255,5,33,0,153,153,255,217,46,0,160,131,255,18,29,0,186,143,255,135,42,0,134,133,255,139,34,0,28,140,255,48,26,0,83,136,255,76,27,0,194,141,255,27,36,0,87,135,255,184,36,0,245,119,255, +182,30,0,135,114,255,184,26,0,89,112,255,14,23,0,127,117,255,34,30,0,113,105,255,192,20,0,183,103,255,237,6,0,108,120,255,94,11,0,103,96,255,33,250,255,200,105,255,28,245,255,57,117,255,146,251,255,2,118,255,35,253,255,104,100,255,84,241,255,73,113,255, +238,242,255,101,101,255,134,232,255,240,91,255,15,233,255,160,103,255,76,237,255,213,103,255,201,218,255,140,103,255,206,233,255,187,105,255,134,245,255,134,115,255,127,241,255,56,94,255,238,252,255,225,104,255,56,240,255,184,94,255,110,233,255,34,92, +255,253,238,255,203,76,255,228,233,255,72,81,255,69,246,255,12,74,255,115,238,255,178,94,255,246,224,255,14,93,255,205,246,255,168,69,255,126,238,255,225,87,255,128,247,255,30,92,255,246,253,255,209,111,255,231,254,255,117,98,255,75,4,0,194,110,255,222, +7,0,211,102,255,173,6,0,121,107,255,149,7,0,31,109,255,100,18,0,225,117,255,8,8,0,248,126,255,228,21,0,181,118,255,239,5,0,133,117,255,188,14,0,25,118,255,230,14,0,230,132,255,200,35,0,22,116,255,147,29,0,28,127,255,217,24,0,249,115,255,202,22,0,57,122, +255,21,29,0,75,123,255,184,18,0,10,124,255,132,27,0,221,133,255,196,42,0,73,118,255,127,25,0,183,123,255,171,31,0,75,121,255,71,17,0,172,136,255,65,37,0,15,136,255,71,11,0,51,153,255,61,35,0,4,127,255,110,30,0,206,145,255,1,25,0,241,126,255,81,35,0,84, +129,255,190,19,0,24,131,255,102,20,0,11,132,255,232,13,0,208,148,255,59,32,0,110,146,255,165,32,0,20,154,255,200,34,0,189,151,255,234,27,0,173,138,255,238,26,0,246,153,255,214,27,0,116,154,255,73,34,0,78,150,255,100,32,0,55,148,255,59,38,0,168,158,255, +230,34,0,154,156,255,87,27,0,112,159,255,107,33,0,95,149,255,110,41,0,195,148,255,181,42,0,212,152,255,224,50,0,242,141,255,176,40,0,42,156,255,141,50,0,42,153,255,220,60,0,74,147,255,60,40,0,71,157,255,35,50,0,73,142,255,111,49,0,234,150,255,168,45, +0,129,153,255,215,55,0,147,160,255,40,57,0,223,165,255,110,52,0,34,142,255,16,66,0,102,158,255,68,69,0,40,155,255,178,56,0,34,151,255,8,68,0,155,164,255,22,70,0,99,171,255,220,79,0,195,165,255,39,88,0,244,166,255,157,73,0,108,163,255,186,88,0,232,181, +255,45,89,0,52,167,255,190,95,0,131,183,255,161,80,0,154,177,255,154,93,0,42,176,255,54,83,0,118,184,255,192,77,0,130,175,255,133,87,0,77,181,255,42,69,0,35,184,255,213,71,0,216,172,255,47,56,0,183,167,255,47,56,0,168,174,255,63,49,0,235,173,255,30,38, +0,32,174,255,190,26,0,222,171,255,132,19,0,145,161,255,64,9,0,149,157,255,112,2,0,8,136,255,17,244,255,244,160,255,9,4,0,187,128,255,241,232,255,56,135,255,59,247,255,181,130,255,185,236,255,155,123,255,141,228,255,101,118,255,57,228,255,167,126,255, +84,232,255,117,117,255,123,219,255,235,111,255,16,217,255,172,117,255,43,229,255,114,113,255,40,230,255,18,108,255,139,215,255,125,105,255,140,223,255,72,108,255,94,216,255,154,117,255,233,229,255,43,105,255,134,233,255,139,105,255,42,235,255,222,116, +255,119,226,255,74,92,255,255,229,255,207,96,255,154,228,255,44,103,255,116,235,255,229,123,255,112,228,255,113,110,255,160,221,255,102,113,255,93,249,255,116,115,255,153,215,255,39,124,255,17,239,255,190,118,255,236,218,255,212,110,255,177,233,255,85, +113,255,44,224,255,168,116,255,74,230,255,255,121,255,27,226,255,115,106,255,18,215,255,209,117,255,74,230,255,248,107,255,183,224,255,131,121,255,177,212,255,152,108,255,19,215,255,183,103,255,43,214,255,143,108,255,61,215,255,213,101,255,253,217,255, +41,97,255,253,217,255,97,99,255,111,221,255,209,100,255,235,219,255,223,102,255,124,223,255,28,114,255,58,216,255,140,94,255,99,211,255,71,101,255,18,218,255,119,92,255,108,214,255,253,93,255,110,219,255,178,83,255,96,233,255,107,106,255,208,218,255, +223,93,255,185,203,255,253,112,255,25,214,255,202,91,255,250,213,255,123,95,255,183,227,255,13,112,255,19,221,255,116,123,255,243,228,255,192,128,255,32,223,255,179,134,255,192,238,255,183,146,255,33,228,255,166,122,255,100,227,255,205,141,255,174,240, +255,166,148,255,0,231,255,173,136,255,156,247,255,82,156,255,104,234,255,188,161,255,83,229,255,172,165,255,81,219,255,2,181,255,235,243,255,90,170,255,85,231,255,84,174,255,119,246,255,136,192,255,92,232,255,32,169,255,121,230,255,177,167,255,4,238, +255,71,170,255,10,234,255,208,180,255,124,237,255,80,168,255,150,208,255,67,166,255,219,227,255,199,152,255,220,214,255,60,168,255,41,227,255,90,171,255,175,230,255,29,148,255,189,219,255,70,151,255,162,213,255,179,145,255,173,213,255,128,160,255,50, +215,255,140,162,255,117,229,255,133,164,255,79,223,255,163,132,255,3,211,255,106,138,255,245,221,255,31,136,255,180,209,255,43,131,255,27,218,255,178,114,255,117,214,255,147,134,255,1,207,255,8,115,255,94,205,255,61,120,255,37,211,255,38,113,255,156, +215,255,10,115,255,4,209,255,142,121,255,113,203,255,216,116,255,218,186,255,170,105,255,111,179,255,2,120,255,56,192,255,187,121,255,189,188,255,140,115,255,49,189,255,11,133,255,186,184,255,73,126,255,68,192,255,118,128,255,66,178,255,189,136,255,58, +180,255,96,131,255,21,169,255,216,147,255,0,169,255,45,126,255,152,173,255,235,133,255,0,167,255,57,138,255,100,168,255,75,139,255,36,166,255,149,139,255,155,175,255,36,141,255,235,164,255,101,143,255,134,168,255,227,136,255,62,170,255,185,112,255,254, +167,255,79,122,255,43,170,255,27,115,255,233,172,255,76,123,255,147,175,255,30,124,255,5,167,255,164,96,255,6,169,255,190,126,255,125,185,255,51,108,255,33,168,255,58,116,255,39,174,255,75,117,255,203,158,255,47,114,255,193,163,255,120,107,255,245,149, +255,227,114,255,247,158,255,88,103,255,164,146,255,185,105,255,12,126,255,107,99,255,143,118,255,0,102,255,226,128,255,197,98,255,14,112,255,121,94,255,170,110,255,40,96,255,185,121,255,250,89,255,51,104,255,66,88,255,12,106,255,13,86,255,246,96,255, +86,91,255,8,112,255,33,96,255,55,125,255,13,96,255,124,98,255,167,97,255,56,104,255,186,93,255,1,105,255,35,94,255,170,114,255,33,97,255,185,90,255,211,90,255,43,110,255,147,100,255,168,122,255,181,88,255,97,124,255,57,83,255,229,132,255,64,105,255,31, +118,255,102,106,255,80,128,255,87,114,255,84,146,255,235,100,255,161,122,255,125,113,255,168,130,255,13,110,255,137,123,255,5,103,255,43,130,255,163,89,255,177,110,255,77,115,255,224,123,255,128,113,255,181,121,255,48,92,255,227,111,255,156,105,255,66, +112,255,228,94,255,144,109,255,34,100,255,145,111,255,176,92,255,36,110,255,67,91,255,82,116,255,173,109,255,74,102,255,136,115,255,135,114,255,191,110,255,93,105,255,152,114,255,82,110,255,127,106,255,125,103,255,26,119,255,167,119,255,155,107,255,192, +116,255,147,91,255,219,99,255,27,117,255,8,113,255,89,122,255,81,102,255,217,108,255,188,95,255,178,103,255,249,100,255,180,96,255,133,98,255,112,104,255,207,105,255,155,95,255,126,91,255,109,96,255,129,86,255,154,89,255,181,73,255,182,83,255,239,63, +255,18,78,255,94,74,255,190,84,255,169,65,255,160,75,255,170,54,255,111,79,255,125,57,255,191,60,255,234,43,255,160,71,255,39,69,255,93,59,255,234,39,255,210,63,255,225,39,255,157,68,255,37,39,255,127,59,255,82,23,255,183,76,255,137,25,255,203,61,255, +20,39,255,157,73,255,171,14,255,162,70,255,85,30,255,116,80,255,185,38,255,234,73,255,220,22,255,199,74,255,42,42,255,155,79,255,102,32,255,151,69,255,48,39,255,152,69,255,108,40,255,33,57,255,68,44,255,199,66,255,181,34,255,83,60,255,246,23,255,151, +55,255,198,31,255,132,59,255,217,38,255,189,41,255,20,38,255,4,47,255,190,18,255,186,29,255,243,31,255,123,40,255,166,30,255,114,25,255,240,30,255,253,31,255,139,21,255,42,38,255,11,13,255,225,31,255,208,18,255,98,27,255,202,13,255,174,16,255,147,16, +255,150,32,255,178,23,255,245,32,255,136,23,255,133,40,255,78,31,255,146,42,255,12,36,255,90,62,255,0,41,255,66,63,255,153,29,255,222,59,255,172,34,255,125,60,255,175,55,255,49,65,255,191,56,255,245,87,255,227,62,255,212,81,255,109,54,255,239,78,255, +132,56,255,183,100,255,61,77,255,183,81,255,78,63,255,161,90,255,188,77,255,216,96,255,52,73,255,133,96,255,20,84,255,240,102,255,60,76,255,82,113,255,160,96,255,206,105,255,18,89,255,85,123,255,206,106,255,151,112,255,168,99,255,116,113,255,34,99,255, +143,116,255,46,105,255,187,120,255,111,111,255,135,118,255,127,106,255,49,129,255,179,104,255,149,128,255,247,101,255,40,131,255,187,109,255,183,138,255,229,111,255,221,137,255,44,117,255,19,148,255,49,112,255,141,155,255,116,107,255,106,158,255,220, +124,255,21,150,255,30,139,255,111,149,255,54,128,255,93,165,255,92,135,255,64,173,255,34,153,255,142,174,255,44,149,255,134,180,255,167,166,255,240,194,255,166,148,255,227,166,255,94,154,255,158,200,255,15,184,255,102,201,255,253,164,255,138,200,255, +26,184,255,87,206,255,188,183,255,203,214,255,37,186,255,178,219,255,2,187,255,14,200,255,120,178,255,136,211,255,128,195,255,21,215,255,45,191,255,241,215,255,56,197,255,68,220,255,255,209,255,173,212,255,109,201,255,95,219,255,21,214,255,2,229,255, +174,225,255,55,231,255,158,210,255,201,227,255,100,215,255,212,241,255,164,231,255,46,255,255,13,252,255,35,11,0,66,234,255,25,9,0,107,242,255,135,20,0,192,6,0,46,25,0,9,5,0,166,32,0,108,20,0,229,34,0,166,21,0,20,44,0,202,24,0,182,45,0,77,40,0,192,51, +0,29,41,0,223,69,0,118,76,0,29,74,0,175,53,0,128,87,0,13,56,0,237,92,0,216,87,0,222,93,0,158,82,0,126,95,0,189,84,0,15,104,0,198,94,0,120,92,0,83,86,0,25,104,0,187,100,0,182,114,0,77,101,0,218,107,0,202,97,0,13,110,0,143,100,0,49,117,0,117,101,0,116, +102,0,17,106,0,225,109,0,1,93,0,188,108,0,58,98,0,131,105,0,2,75,0,37,97,0,146,99,0,181,119,0,9,103,0,191,113,0,188,85,0,223,95,0,204,80,0,102,104,0,100,70,0,205,106,0,62,81,0,248,96,0,252,63,0,231,109,0,26,66,0,208,115,0,246,70,0,108,112,0,37,64,0,103, +111,0,235,58,0,252,120,0,239,69,0,164,119,0,136,61,0,253,108,0,38,77,0,143,103,0,27,75,0,153,105,0,168,78,0,193,117,0,16,83,0,246,107,0,31,80,0,62,104,0,86,89,0,51,110,0,141,96,0,145,104,0,95,91,0,168,90,0,45,104,0,38,114,0,64,114,0,179,109,0,95,110, +0,9,123,0,220,108,0,49,104,0,210,106,0,26,110,0,58,105,0,72,111,0,241,98,0,155,130,0,204,101,0,160,106,0,184,95,0,78,121,0,97,107,0,169,112,0,141,95,0,203,102,0,120,78,0,197,116,0,234,74,0,114,114,0,88,97,0,182,111,0,157,105,0,35,111,0,135,92,0,235,107, +0,123,94,0,77,109,0,63,82,0,160,109,0,129,87,0,109,101,0,23,74,0,171,101,0,54,93,0,59,110,0,45,68,0,73,92,0,213,64,0,1,122,0,11,74,0,62,92,0,110,73,0,180,97,0,171,60,0,17,102,0,6,71,0,202,93,0,195,65,0,251,86,0,199,53,0,47,100,0,210,66,0,84,95,0,52,68, +0,141,83,0,54,64,0,70,90,0,124,55,0,10,82,0,127,47,0,3,72,0,76,58,0,39,99,0,61,68,0,190,98,0,157,62,0,77,79,0,199,75,0,112,82,0,231,58,0,170,79,0,179,56,0,156,87,0,12,56,0,201,90,0,103,49,0,129,88,0,55,52,0,114,85,0,171,61,0,217,100,0,152,55,0,48,102, +0,182,46,0,212,84,0,99,44,0,111,89,0,3,48,0,4,80,0,109,31,0,35,102,0,39,58,0,130,100,0,57,42,0,90,83,0,7,38,0,234,98,0,140,53,0,165,77,0,67,53,0,29,88,0,39,67,0,218,97,0,39,47,0,255,85,0,55,42,0,203,72,0,129,51,0,101,77,0,50,72,0,175,73,0,67,60,0,42, +89,0,2,64,0,49,75,0,125,77,0,8,82,0,255,76,0,160,81,0,147,64,0,175,69,0,148,51,0,134,78,0,85,71,0,44,70,0,187,64,0,200,81,0,63,71,0,5,84,0,206,68,0,146,90,0,135,64,0,116,79,0,80,59,0,147,88,0,50,55,0,27,78,0,85,56,0,184,67,0,214,50,0,229,79,0,244,52, +0,152,94,0,194,39,0,22,73,0,166,26,0,172,76,0,217,26,0,203,67,0,83,15,0,48,81,0,160,18,0,79,72,0,112,1,0,55,60,0,201,249,255,224,72,0,92,255,255,40,66,0,231,20,0,65,67,0,10,15,0,39,57,0,61,15,0,72,64,0,3,32,0,141,61,0,151,30,0,9,78,0,77,30,0,150,70,0, +23,50,0,73,76,0,118,39,0,7,73,0,196,63,0,12,81,0,92,47,0,157,65,0,187,43,0,157,72,0,199,64,0,252,77,0,134,68,0,85,77,0,187,66,0,18,76,0,3,67,0,217,74,0,180,81,0,144,74,0,189,53,0,195,74,0,115,69,0,62,79,0,35,65,0,151,97,0,5,68,0,23,87,0,88,68,0,83,98, +0,63,46,0,177,103,0,216,64,0,99,74,0,211,56,0,227,77,0,172,45,0,204,86,0,244,47,0,214,79,0,145,53,0,29,75,0,84,44,0,102,82,0,243,47,0,20,85,0,117,68,0,208,78,0,148,61,0,246,75,0,192,45,0,68,82,0,140,57,0,132,66,0,35,45,0,137,79,0,70,65,0,245,80,0,255, +62,0,27,92,0,209,73,0,68,80,0,203,67,0,32,79,0,119,74,0,123,83,0,154,75,0,17,90,0,65,76,0,120,90,0,165,68,0,145,79,0,150,84,0,84,82,0,167,71,0,249,77,0,56,72,0,153,81,0,96,74,0,166,94,0,164,85,0,25,95,0,164,85,0,60,96,0,87,77,0,161,105,0,194,78,0,223, +105,0,43,67,0,155,104,0,48,90,0,153,111,0,44,94,0,84,107,0,7,93,0,249,107,0,209,94,0,211,108,0,194,93,0,48,121,0,209,87,0,113,129,0,172,115,0,127,108,0,154,106,0,53,108,0,147,97,0,250,120,0,26,98,0,170,116,0,74,112,0,173,112,0,127,105,0,173,112,0,173, +106,0,238,113,0,246,104,0,98,102,0,116,88,0,150,127,0,191,123,0,15,100,0,74,93,0,151,93,0,0,103,0,150,120,0,21,108,0,63,119,0,54,106,0,46,108,0,124,108,0,121,111,0,187,96,0,251,110,0,32,111,0,134,122,0,222,107,0,252,113,0,155,111,0,77,121,0,246,108,0, +33,128,0,32,124,0,94,128,0,120,108,0,46,119,0,64,112,0,126,141,0,13,115,0,236,120,0,179,100,0,36,122,0,188,110,0,112,123,0,157,105,0,237,113,0,132,99,0,230,109,0,158,103,0,135,134,0,170,96,0,46,110,0,69,112,0,143,101,0,254,104,0,82,104,0,49,110,0,207, +109,0,3,99,0,121,101,0,6,97,0,97,108,0,140,97,0,251,100,0,134,93,0,217,84,0,82,101,0,134,97,0,186,106,0,140,91,0,114,86,0,45,73,0,47,90,0,163,107,0,36,95,0,100,97,0,255,103,0,237,100,0,53,97,0,113,121,0,118,121,0,161,102,0,156,97,0,140,128,0,53,113,0, +49,116,0,165,102,0,188,122,0,55,101,0,87,123,0,143,102,0,102,132,0,80,102,0,176,109,0,71,100,0,155,125,0,222,91,0,130,132,0,11,101,0,174,125,0,69,100,0,105,105,0,29,82,0,107,124,0,191,94,0,103,118,0,115,70,0,79,125,0,167,78,0,26,104,0,201,50,0,205,110, +0,219,57,0,9,100,0,125,57,0,134,95,0,39,67,0,100,102,0,109,48,0,167,93,0,3,50,0,193,97,0,243,37,0,133,98,0,175,57,0,166,80,0,78,51,0,86,94,0,103,52,0,125,96,0,87,56,0,121,90,0,35,48,0,182,79,0,156,55,0,1,86,0,139,43,0,132,101,0,6,54,0,0,86,0,42,50,0, +126,84,0,164,44,0,248,86,0,6,49,0,176,105,0,213,41,0,167,84,0,190,59,0,118,74,0,42,56,0,165,81,0,221,35,0,175,62,0,206,31,0,253,88,0,79,52,0,162,75,0,37,33,0,128,77,0,123,42,0,245,78,0,188,40,0,113,79,0,180,38,0,219,96,0,108,30,0,178,69,0,146,21,0,31, +85,0,140,44,0,21,66,0,8,34,0,188,80,0,27,28,0,104,88,0,219,35,0,166,66,0,12,38,0,29,74,0,157,24,0,87,73,0,162,34,0,32,75,0,104,13,0,225,77,0,106,16,0,63,78,0,12,16,0,248,83,0,12,16,0,164,72,0,254,17,0,101,55,0,111,23,0,165,64,0,228,24,0,176,70,0,30,10, +0,138,57,0,33,8,0,33,71,0,82,24,0,80,64,0,77,28,0,100,47,0,235,15,0,211,63,0,173,29,0,106,57,0,77,3,0,228,62,0,22,16,0,45,55,0,203,12,0,235,53,0,74,5,0,17,53,0,101,1,0,126,46,0,174,7,0,36,50,0,76,0,0,172,56,0,118,6,0,91,62,0,219,2,0,52,63,0,68,9,0,40, +54,0,213,9,0,69,62,0,191,6,0,198,75,0,192,9,0,232,50,0,67,3,0,203,62,0,16,9,0,253,76,0,161,6,0,71,43,0,229,255,255,150,68,0,24,0,0,80,60,0,10,22,0,243,59,0,177,28,0,5,51,0,217,19,0,98,80,0,132,33,0,226,75,0,25,38,0,156,67,0,87,32,0,16,63,0,104,31,0,246, +84,0,41,57,0,137,80,0,87,41,0,159,83,0,225,45,0,199,77,0,7,42,0,195,70,0,118,44,0,9,97,0,45,38,0,150,84,0,3,38,0,53,92,0,145,37,0,8,103,0,158,41,0,52,95,0,223,21,0,190,90,0,50,31,0,186,86,0,45,15,0,61,77,0,187,5,0,164,80,0,111,19,0,208,63,0,118,3,0,191, +73,0,76,0,0,239,78,0,201,9,0,97,67,0,163,10,0,9,63,0,79,10,0,99,59,0,160,0,0,107,52,0,128,250,255,109,47,0,80,245,255,12,58,0,62,255,255,5,50,0,212,241,255,81,51,0,146,249,255,254,47,0,49,251,255,128,50,0,208,240,255,8,36,0,7,248,255,70,45,0,22,234,255, +156,37,0,60,239,255,225,54,0,92,8,0,92,49,0,6,1,0,106,50,0,159,0,0,203,54,0,97,0,0,138,35,0,167,246,255,68,36,0,132,254,255,224,42,0,169,0,0,241,63,0,180,3,0,75,35,0,163,251,255,39,40,0,253,250,255,33,35,0,81,242,255,194,43,0,72,255,255,59,40,0,86,0, +0,242,48,0,173,4,0,117,42,0,6,10,0,46,39,0,243,16,0,175,31,0,249,8,0,206,25,0,173,254,255,197,41,0,6,1,0,229,35,0,0,255,255,251,45,0,29,14,0,137,42,0,25,250,255,136,26,0,71,242,255,207,35,0,151,225,255,228,32,0,180,234,255,17,31,0,5,228,255,96,30,0,240, +211,255,167,26,0,44,211,255,177,26,0,196,210,255,198,23,0,88,199,255,2,20,0,202,183,255,212,21,0,91,184,255,36,18,0,86,182,255,78,18,0,94,178,255,39,249,255,59,183,255,94,4,0,50,177,255,208,250,255,219,194,255,158,1,0,172,176,255,237,3,0,164,167,255, +57,2,0,244,169,255,241,244,255,25,172,255,127,241,255,128,168,255,88,232,255,113,173,255,118,238,255,69,185,255,142,236,255,23,200,255,216,246,255,213,188,255,132,226,255,28,172,255,54,221,255,61,192,255,216,223,255,20,202,255,71,236,255,12,183,255,35, +218,255,82,192,255,37,212,255,72,182,255,238,210,255,45,163,255,65,201,255,92,165,255,110,202,255,155,155,255,142,199,255,51,148,255,230,197,255,236,154,255,241,187,255,30,141,255,202,181,255,142,130,255,74,173,255,240,118,255,215,165,255,137,111,255, +196,172,255,88,95,255,59,171,255,166,90,255,238,175,255,209,90,255,181,177,255,80,78,255,90,174,255,154,75,255,224,184,255,91,64,255,71,164,255,55,62,255,97,169,255,24,55,255,142,153,255,47,59,255,226,167,255,242,51,255,53,144,255,35,44,255,152,156,255, +191,47,255,142,149,255,143,55,255,113,139,255,120,47,255,139,127,255,62,48,255,17,138,255,129,46,255,136,122,255,19,26,255,63,125,255,41,40,255,161,116,255,191,31,255,71,103,255,180,30,255,82,103,255,184,38,255,7,98,255,167,25,255,214,98,255,223,19,255, +97,104,255,88,22,255,212,86,255,17,15,255,196,91,255,89,32,255,249,84,255,164,8,255,123,76,255,127,9,255,165,76,255,42,4,255,94,69,255,178,15,255,69,67,255,145,252,254,86,59,255,11,3,255,62,68,255,90,250,254,142,63,255,65,255,254,226,63,255,100,7,255, +249,67,255,197,8,255,42,56,255,156,253,254,49,69,255,237,252,254,120,61,255,68,5,255,158,70,255,74,3,255,72,72,255,206,9,255,99,63,255,126,6,255,73,61,255,253,10,255,164,78,255,214,14,255,206,89,255,186,11,255,203,69,255,164,10,255,119,72,255,84,18,255, +67,90,255,247,2,255,28,76,255,45,18,255,55,96,255,153,8,255,15,78,255,59,11,255,31,72,255,220,20,255,222,88,255,164,18,255,75,91,255,27,20,255,5,84,255,124,25,255,200,87,255,234,23,255,73,93,255,37,15,255,15,94,255,100,30,255,25,90,255,244,33,255,241, +93,255,34,39,255,138,93,255,200,46,255,147,88,255,141,43,255,174,90,255,4,53,255,40,109,255,98,68,255,169,103,255,59,46,255,125,98,255,182,49,255,2,117,255,105,77,255,123,100,255,19,68,255,37,91,255,21,53,255,129,102,255,109,66,255,105,108,255,219,87, +255,187,115,255,154,78,255,209,104,255,246,62,255,9,114,255,187,59,255,185,98,255,175,62,255,196,102,255,194,61,255,63,114,255,216,61,255,140,104,255,115,50,255,46,107,255,158,62,255,56,87,255,6,43,255,179,94,255,122,59,255,34,86,255,122,43,255,162,79, +255,236,31,255,168,97,255,132,54,255,170,93,255,42,43,255,69,90,255,237,34,255,254,93,255,174,49,255,213,85,255,66,47,255,163,97,255,138,58,255,249,98,255,144,56,255,4,95,255,72,60,255,2,102,255,48,62,255,251,106,255,62,79,255,21,125,255,80,106,255,15, +126,255,27,101,255,183,131,255,114,118,255,60,139,255,238,138,255,206,143,255,78,136,255,39,159,255,239,146,255,148,177,255,39,177,255,242,177,255,229,162,255,151,190,255,77,171,255,95,180,255,241,170,255,10,187,255,118,179,255,19,203,255,67,187,255, +191,201,255,80,192,255,140,197,255,57,183,255,226,194,255,118,178,255,160,201,255,62,189,255,29,198,255,0,168,255,208,199,255,65,173,255,25,200,255,60,175,255,75,191,255,48,174,255,208,186,255,87,173,255,31,181,255,42,167,255,118,179,255,48,165,255,155, +181,255,3,159,255,101,180,255,67,168,255,168,190,255,175,166,255,7,179,255,121,156,255,210,190,255,109,168,255,247,171,255,137,167,255,153,175,255,39,177,255,57,199,255,221,167,255,68,195,255,82,173,255,239,189,255,141,172,255,97,198,255,179,170,255, +102,200,255,41,190,255,26,207,255,233,201,255,39,204,255,198,195,255,117,206,255,97,196,255,104,235,255,43,216,255,81,208,255,223,196,255,226,221,255,91,197,255,84,231,255,136,216,255,161,233,255,194,201,255,90,216,255,178,212,255,208,235,255,137,225, +255,170,232,255,156,211,255,236,212,255,50,214,255,189,240,255,98,226,255,150,215,255,15,212,255,38,211,255,52,210,255,32,221,255,81,214,255,120,219,255,20,201,255,57,214,255,244,217,255,181,205,255,46,203,255,244,210,255,160,180,255,71,202,255,32,201, +255,237,193,255,160,180,255,15,200,255,135,196,255,148,217,255,223,198,255,232,195,255,68,175,255,115,198,255,129,184,255,54,185,255,65,178,255,49,191,255,22,191,255,205,201,255,214,189,255,102,192,255,82,185,255,87,203,255,216,199,255,70,209,255,246, +184,255,118,203,255,21,199,255,251,207,255,63,190,255,16,213,255,107,191,255,221,226,255,105,190,255,90,218,255,136,194,255,76,221,255,20,207,255,228,224,255,237,198,255,130,245,255,158,209,255,12,243,255,150,219,255,121,232,255,211,228,255,97,235,255, +114,212,255,196,233,255,15,223,255,103,252,255,9,244,255,37,240,255,119,228,255,190,244,255,118,237,255,203,4,0,180,237,255,217,252,255,96,241,255,51,10,0,253,252,255,37,3,0,195,244,255,187,1,0,36,247,255,179,12,0,183,248,255,69,9,0,223,1,0,94,252,255, +32,250,255,30,0,0,162,243,255,246,251,255,73,245,255,8,246,255,100,243,255,21,247,255,229,250,255,253,249,255,245,248,255,215,236,255,30,244,255,118,229,255,228,240,255,255,245,255,144,239,255,209,243,255,228,245,255,143,226,255,105,220,255,100,230,255, +187,225,255,251,228,255,97,226,255,241,223,255,172,222,255,94,247,255,107,221,255,134,231,255,215,233,255,32,232,255,85,220,255,119,239,255,29,223,255,201,234,255,100,222,255,91,230,255,184,228,255,99,239,255,3,220,255,9,246,255,142,227,255,35,243,255, +57,221,255,213,239,255,213,216,255,171,223,255,223,237,255,202,239,255,194,222,255,155,241,255,42,234,255,137,237,255,137,240,255,221,238,255,105,250,255,109,239,255,89,242,255,13,242,255,129,241,255,17,249,255,85,245,255,134,251,255,209,240,255,248, +241,255,188,245,255,102,0,0,12,239,255,50,5,0,249,223,255,190,24,0,198,239,255,144,6,0,213,231,255,198,252,255,12,234,255,67,9,0,127,223,255,64,2,0,190,224,255,32,23,0,152,231,255,68,4,0,145,216,255,169,8,0,130,208,255,11,12,0,29,231,255,114,246,255, +140,197,255,246,245,255,42,205,255,121,233,255,75,217,255,108,237,255,201,207,255,41,245,255,122,198,255,254,232,255,206,187,255,133,228,255,36,212,255,106,236,255,13,205,255,20,228,255,4,217,255,83,212,255,187,204,255,16,209,255,9,208,255,90,204,255, +64,193,255,59,221,255,47,206,255,150,214,255,150,194,255,221,219,255,185,191,255,102,216,255,109,189,255,144,216,255,145,203,255,249,217,255,197,208,255,103,199,255,160,193,255,60,209,255,45,192,255,32,211,255,81,195,255,155,216,255,221,198,255,45,212, +255,121,182,255,206,221,255,202,193,255,245,214,255,110,199,255,72,215,255,118,186,255,213,237,255,138,197,255,41,227,255,223,192,255,245,225,255,75,202,255,203,249,255,199,226,255,188,240,255,198,201,255,115,246,255,29,205,255,14,253,255,59,216,255, +209,246,255,23,219,255,186,251,255,109,209,255,66,3,0,42,230,255,241,253,255,161,227,255,35,247,255,223,221,255,146,14,0,27,245,255,45,15,0,157,243,255,71,6,0,157,237,255,90,5,0,181,245,255,224,249,255,151,252,255,220,3,0,90,240,255,229,2,0,65,243,255, +248,7,0,59,252,255,108,4,0,130,8,0,159,10,0,200,13,0,109,11,0,113,10,0,176,27,0,201,8,0,21,14,0,52,30,0,215,19,0,90,28,0,111,38,0,192,34,0,105,28,0,51,17,0,112,46,0,19,42,0,168,48,0,29,36,0,114,47,0,249,25,0,123,53,0,51,50,0,174,33,0,83,31,0,28,65,0, +255,36,0,208,55,0,82,24,0,143,53,0,123,31,0,74,62,0,168,40,0,212,45,0,194,30,0,141,39,0,24,20,0,43,36,0,27,42,0,45,71,0,115,39,0,8,47,0,9,31,0,139,45,0,167,33,0,57,39,0,107,28,0,5,38,0,228,33,0,94,36,0,22,33,0,172,40,0,91,31,0,170,53,0,240,28,0,152,48, +0,2,34,0,18,34,0,194,10,0,80,27,0,21,12,0,37,40,0,213,9,0,3,38,0,189,14,0,18,35,0,176,247,255,135,23,0,39,245,255,99,41,0,114,247,255,67,19,0,127,249,255,117,11,0,214,230,255,250,3,0,243,229,255,81,14,0,118,221,255,250,3,0,158,205,255,36,253,255,225, +216,255,63,250,255,102,194,255,164,0,0,172,185,255,190,12,0,237,180,255,198,251,255,150,191,255,175,242,255,242,198,255,54,236,255,0,164,255,67,238,255,32,194,255,88,231,255,233,168,255,166,228,255,177,172,255,136,236,255,246,184,255,167,236,255,62,193, +255,144,249,255,212,197,255,51,249,255,191,204,255,3,252,255,205,207,255,62,9,0,143,206,255,12,2,0,39,213,255,64,10,0,65,240,255,160,5,0,196,246,255,71,16,0,122,4,0,7,22,0,52,254,255,231,29,0,13,248,255,251,28,0,5,9,0,85,19,0,205,253,255,203,31,0,147, +8,0,241,28,0,77,249,255,212,30,0,204,4,0,90,31,0,237,253,255,210,13,0,0,237,255,206,9,0,86,248,255,195,17,0,31,237,255,157,4,0,78,225,255,10,9,0,236,228,255,175,1,0,142,210,255,58,14,0,167,205,255,223,255,255,152,209,255,129,245,255,84,196,255,66,244, +255,53,178,255,249,233,255,115,178,255,75,234,255,121,183,255,27,237,255,243,173,255,63,223,255,131,173,255,163,230,255,167,195,255,221,218,255,137,195,255,93,205,255,183,190,255,241,208,255,220,178,255,141,228,255,163,190,255,55,207,255,46,196,255,47, +226,255,213,197,255,158,207,255,26,195,255,117,225,255,27,196,255,33,205,255,129,213,255,211,216,255,221,203,255,154,211,255,2,200,255,19,210,255,34,219,255,140,235,255,251,220,255,11,239,255,83,216,255,146,240,255,180,229,255,35,233,255,186,207,255, +187,231,255,219,219,255,181,244,255,175,225,255,85,241,255,214,223,255,9,0,0,231,219,255,194,9,0,191,230,255,77,6,0,127,237,255,215,1,0,39,212,255,153,10,0,57,229,255,44,13,0,35,208,255,100,8,0,246,223,255,208,3,0,209,217,255,140,7,0,225,222,255,248, +2,0,142,231,255,112,10,0,242,217,255,214,9,0,101,221,255,250,15,0,206,223,255,75,241,255,43,214,255,26,7,0,72,222,255,51,1,0,240,226,255,7,244,255,8,220,255,243,253,255,172,229,255,255,245,255,164,231,255,11,2,0,134,232,255,137,5,0,57,227,255,193,244, +255,190,247,255,18,254,255,78,226,255,125,3,0,103,242,255,231,252,255,246,241,255,165,2,0,44,244,255,146,4,0,29,228,255,145,248,255,64,232,255,89,9,0,241,1,0,50,11,0,233,238,255,57,7,0,67,246,255,89,254,255,237,242,255,242,7,0,40,251,255,187,3,0,4,245, +255,108,7,0,223,249,255,30,0,0,29,250,255,165,2,0,189,234,255,209,6,0,4,245,255,53,3,0,63,253,255,15,19,0,237,242,255,86,251,255,170,235,255,39,243,255,46,234,255,164,245,255,244,236,255,220,250,255,89,235,255,106,249,255,160,247,255,126,248,255,251, +233,255,142,243,255,227,253,255,162,255,255,11,253,255,29,243,255,36,234,255,252,251,255,26,234,255,205,244,255,129,246,255,161,253,255,244,249,255,107,237,255,247,240,255,150,240,255,40,237,255,172,241,255,175,252,255,40,244,255,204,236,255,93,246,255, +109,246,255,168,7,0,224,6,0,140,10,0,64,242,255,5,250,255,172,249,255,145,3,0,154,9,0,67,252,255,132,7,0,112,0,0,53,253,255,27,253,255,156,12,0,95,5,0,205,8,0,255,13,0,130,18,0,208,6,0,243,19,0,166,4,0,238,11,0,118,23,0,229,28,0,44,21,0,0,37,0,136,6, +0,61,23,0,201,24,0,237,25,0,167,6,0,92,10,0,83,18,0,189,30,0,202,12,0,149,32,0,77,24,0,163,38,0,93,17,0,55,32,0,17,27,0,57,49,0,253,26,0,67,34,0,233,29,0,0,40,0,84,5,0,89,52,0,156,21,0,25,65,0,167,37,0,118,50,0,75,23,0,42,60,0,85,39,0,100,53,0,45,25, +0,213,57,0,224,31,0,170,69,0,158,24,0,96,49,0,170,28,0,90,56,0,249,24,0,173,59,0,57,30,0,16,55,0,145,38,0,55,69,0,236,36,0,100,58,0,87,45,0,9,62,0,114,57,0,77,56,0,217,40,0,225,64,0,136,43,0,146,51,0,53,59,0,40,65,0,210,47,0,70,64,0,1,59,0,223,63,0,229, +63,0,44,74,0,19,75,0,216,69,0,55,85,0,185,90,0,248,82,0,75,75,0,12,83,0,52,91,0,108,91,0,161,84,0,59,97,0,93,94,0,79,95,0,25,101,0,78,95,0,74,118,0,199,92,0,201,107,0,46,94,0,197,122,0,206,88,0,29,112,0,122,106,0,229,124,0,134,90,0,3,126,0,143,87,0,11, +101,0,183,86,0,20,122,0,2,95,0,104,126,0,240,79,0,102,124,0,167,77,0,34,110,0,164,70,0,255,102,0,162,68,0,34,91,0,40,68,0,57,96,0,222,66,0,138,97,0,149,61,0,31,87,0,166,57,0,30,88,0,198,60,0,254,85,0,245,51,0,57,79,0,183,49,0,160,80,0,108,43,0,67,81, +0,29,51,0,85,78,0,93,59,0,245,67,0,255,26,0,163,66,0,66,44,0,55,55,0,113,32,0,150,62,0,53,37,0,5,58,0,215,31,0,120,38,0,244,27,0,223,43,0,158,44,0,20,44,0,213,27,0,23,26,0,160,20,0,160,38,0,72,3,0,198,28,0,209,17,0,33,27,0,12,8,0,22,26,0,114,7,0,45,31, +0,97,20,0,228,30,0,112,2,0,114,24,0,241,245,255,162,15,0,123,3,0,74,31,0,193,255,255,93,23,0,225,6,0,239,35,0,72,6,0,131,17,0,10,5,0,122,21,0,74,11,0,64,33,0,223,251,255,213,15,0,134,7,0,72,28,0,236,5,0,171,16,0,227,10,0,111,18,0,91,4,0,129,9,0,26,244, +255,129,11,0,74,16,0,112,24,0,194,0,0,121,20,0,153,2,0,25,5,0,81,1,0,136,253,255,99,247,255,198,2,0,175,8,0,198,2,0,141,250,255,115,252,255,79,248,255,54,252,255,25,236,255,166,248,255,129,238,255,84,246,255,158,236,255,152,229,255,3,223,255,215,240, +255,125,222,255,204,234,255,3,223,255,122,230,255,175,205,255,18,222,255,207,210,255,174,232,255,11,200,255,38,215,255,178,218,255,222,211,255,186,200,255,69,212,255,54,210,255,109,204,255,177,209,255,223,217,255,205,194,255,108,196,255,197,203,255,233, +205,255,247,185,255,18,208,255,228,200,255,121,207,255,196,187,255,18,195,255,45,205,255,8,205,255,107,208,255,103,221,255,231,222,255,216,232,255,36,216,255,194,211,255,67,215,255,175,225,255,118,218,255,72,220,255,139,218,255,22,233,255,27,210,255, +2,226,255,251,198,255,247,225,255,149,206,255,94,225,255,28,213,255,196,217,255,242,206,255,53,223,255,170,194,255,63,215,255,58,191,255,197,208,255,131,200,255,135,214,255,140,175,255,84,205,255,243,178,255,54,219,255,152,172,255,3,208,255,131,152,255, +239,185,255,60,159,255,168,194,255,122,147,255,25,170,255,102,162,255,106,191,255,11,156,255,128,176,255,165,156,255,77,182,255,11,152,255,5,180,255,84,141,255,231,177,255,125,155,255,37,182,255,219,135,255,7,176,255,208,150,255,27,184,255,137,155,255, +8,173,255,200,148,255,79,194,255,77,156,255,223,191,255,158,181,255,223,200,255,149,161,255,203,188,255,210,171,255,223,198,255,220,177,255,172,200,255,46,183,255,150,220,255,220,185,255,110,210,255,229,198,255,151,211,255,169,190,255,234,202,255,191, +186,255,223,216,255,88,192,255,80,210,255,160,185,255,185,199,255,184,172,255,81,210,255,203,182,255,184,205,255,89,193,255,217,190,255,18,189,255,206,196,255,112,184,255,135,194,255,63,177,255,240,185,255,1,176,255,209,188,255,156,169,255,68,173,255, +56,161,255,172,167,255,107,166,255,56,189,255,25,169,255,88,180,255,206,187,255,179,190,255,107,172,255,213,180,255,201,167,255,169,194,255,250,176,255,139,190,255,6,172,255,232,191,255,6,174,255,148,202,255,6,176,255,17,195,255,66,186,255,84,214,255, +18,172,255,46,203,255,171,175,255,47,203,255,70,171,255,180,204,255,243,178,255,91,192,255,224,171,255,90,199,255,183,176,255,197,216,255,229,158,255,84,181,255,127,155,255,14,216,255,168,157,255,185,189,255,196,174,255,41,193,255,230,160,255,49,204, +255,127,163,255,169,177,255,6,163,255,14,185,255,183,152,255,46,183,255,148,168,255,57,179,255,106,140,255,49,174,255,67,169,255,223,176,255,113,154,255,129,182,255,143,157,255,121,177,255,197,151,255,198,192,255,57,145,255,66,191,255,43,157,255,210, +189,255,102,163,255,244,211,255,90,171,255,3,200,255,122,167,255,135,201,255,35,186,255,104,204,255,235,198,255,224,214,255,66,184,255,61,210,255,41,198,255,160,221,255,150,207,255,160,223,255,188,216,255,168,228,255,188,215,255,29,215,255,119,210,255, +207,206,255,16,212,255,210,224,255,22,223,255,181,221,255,124,224,255,160,199,255,133,228,255,146,208,255,24,220,255,8,223,255,8,209,255,87,205,255,87,219,255,53,213,255,131,211,255,99,203,255,143,208,255,5,206,255,182,189,255,236,195,255,75,201,255, +179,184,255,241,176,255,234,178,255,172,190,255,89,182,255,7,172,255,96,169,255,243,171,255,227,193,255,78,177,255,17,186,255,160,156,255,82,178,255,233,155,255,180,187,255,134,170,255,29,184,255,10,172,255,139,190,255,215,171,255,187,177,255,114,190, +255,174,203,255,117,186,255,65,177,255,142,179,255,57,193,255,134,195,255,234,188,255,38,202,255,14,198,255,243,182,255,249,199,255,172,200,255,119,213,255,116,191,255,78,195,255,147,193,255,196,204,255,167,210,255,253,212,255,90,185,255,237,205,255, +53,198,255,231,215,255,108,190,255,77,199,255,171,207,255,206,207,255,30,185,255,19,194,255,34,195,255,124,208,255,21,184,255,32,208,255,123,185,255,183,196,255,107,195,255,16,218,255,65,181,255,129,202,255,246,187,255,143,197,255,150,194,255,151,200, +255,98,196,255,132,199,255,223,176,255,76,191,255,198,199,255,135,227,255,194,190,255,91,200,255,24,200,255,29,217,255,160,198,255,226,212,255,15,200,255,242,220,255,230,201,255,109,235,255,210,215,255,66,240,255,222,198,255,228,227,255,115,221,255,150, +251,255,130,200,255,146,242,255,49,213,255,163,6,0,105,220,255,223,248,255,103,224,255,2,1,0,222,229,255,228,0,0,11,238,255,109,252,255,110,243,255,29,21,0,127,235,255,29,6,0,8,1,0,94,30,0,28,244,255,98,11,0,117,6,0,164,18,0,161,1,0,113,3,0,70,1,0,144, +4,0,201,4,0,230,10,0,51,12,0,60,6,0,7,17,0,192,8,0,228,7,0,188,12,0,176,21,0,212,8,0,1,24,0,188,24,0,196,21,0,82,30,0,215,11,0,138,36,0,72,10,0,144,28,0,214,25,0,77,35,0,78,28,0,245,43,0,18,27,0,227,39,0,25,31,0,154,52,0,90,38,0,70,56,0,20,36,0,196,63, +0,17,39,0,246,63,0,142,37,0,19,54,0,67,40,0,3,61,0,188,41,0,154,74,0,212,49,0,120,78,0,169,39,0,152,76,0,198,29,0,28,77,0,28,49,0,127,80,0,131,47,0,159,90,0,252,36,0,15,67,0,53,42,0,87,67,0,238,40,0,17,76,0,156,30,0,224,72,0,176,29,0,112,72,0,136,17, +0,41,59,0,247,29,0,38,62,0,128,25,0,175,69,0,247,29,0,14,54,0,156,28,0,70,60,0,75,17,0,216,57,0,15,37,0,108,62,0,239,16,0,70,59,0,80,22,0,164,45,0,220,24,0,8,69,0,194,19,0,235,45,0,2,49,0,122,56,0,19,42,0,207,63,0,240,35,0,49,58,0,52,29,0,253,77,0,208, +46,0,69,57,0,235,39,0,203,46,0,244,51,0,51,64,0,20,39,0,104,52,0,175,37,0,186,61,0,87,53,0,121,64,0,122,48,0,87,58,0,9,29,0,117,57,0,170,61,0,38,55,0,94,56,0,49,54,0,3,35,0,53,60,0,14,53,0,39,63,0,245,66,0,128,76,0,161,48,0,58,74,0,57,50,0,235,60,0,78, +59,0,242,82,0,253,57,0,227,76,0,252,67,0,174,78,0,79,76,0,31,87,0,213,65,0,66,74,0,252,85,0,78,81,0,150,85,0,227,93,0,63,71,0,221,98,0,134,89,0,65,82,0,62,80,0,113,84,0,211,74,0,213,104,0,15,94,0,167,90,0,37,92,0,187,90,0,60,89,0,80,94,0,72,87,0,196, +99,0,139,91,0,72,99,0,37,81,0,129,103,0,24,84,0,141,110,0,0,86,0,125,79,0,155,83,0,201,110,0,110,96,0,24,95,0,220,80,0,31,89,0,203,94,0,88,100,0,217,90,0,74,112,0,232,103,0,219,109,0,42,91,0,82,112,0,118,95,0,129,115,0,64,89,0,36,107,0,152,100,0,18,113, +0,177,79,0,7,113,0,166,88,0,20,111,0,251,93,0,141,111,0,143,81,0,239,106,0,124,96,0,86,105,0,38,74,0,139,95,0,19,89,0,87,96,0,10,104,0,124,98,0,120,89,0,182,85,0,189,82,0,78,85,0,39,80,0,33,81,0,154,86,0,146,87,0,253,87,0,221,92,0,175,84,0,127,101,0, +209,89,0,250,93,0,83,99,0,142,96,0,5,89,0,251,98,0,5,96,0,85,101,0,35,111,0,89,105,0,19,100,0,45,107,0,112,106,0,237,107,0,240,109,0,238,99,0,100,99,0,14,106,0,158,108,0,186,114,0,193,90,0,226,114,0,189,100,0,26,96,0,40,104,0,240,118,0,124,94,0,183,107, +0,249,100,0,15,110,0,89,104,0,200,116,0,246,115,0,193,135,0,43,115,0,138,116,0,23,107,0,248,109,0,163,101,0,109,121,0,122,108,0,66,122,0,52,114,0,137,122,0,187,112,0,228,115,0,114,105,0,149,119,0,142,99,0,87,127,0,196,111,0,11,115,0,59,114,0,182,116, +0,124,103,0,73,121,0,186,123,0,20,115,0,245,131,0,130,129,0,44,122,0,49,115,0,6,106,0,117,103,0,190,119,0,146,103,0,120,124,0,100,107,0,5,119,0,91,119,0,104,107,0,62,111,0,223,122,0,153,118,0,154,134,0,89,113,0,19,115,0,43,102,0,34,111,0,15,114,0,246, +112,0,153,116,0,220,109,0,62,109,0,103,118,0,172,123,0,109,114,0,143,108,0,15,108,0,52,120,0,193,85,0,155,119,0,150,99,0,205,126,0,198,101,0,99,115,0,185,89,0,135,105,0,85,101,0,202,133,0,102,96,0,172,119,0,185,95,0,130,126,0,170,104,0,38,113,0,182,103, +0,76,121,0,233,109,0,213,137,0,17,110,0,12,135,0,141,108,0,183,136,0,169,116,0,47,125,0,116,129,0,201,143,0,179,115,0,96,144,0,174,136,0,152,147,0,184,136,0,135,144,0,183,112,0,185,132,0,140,131,0,121,133,0,60,130,0,172,145,0,154,134,0,26,147,0,136,126, +0,1,137,0,83,139,0,236,148,0,116,144,0,78,145,0,11,133,0,155,141,0,21,144,0,98,144,0,30,145,0,63,140,0,25,147,0,20,141,0,145,142,0,187,138,0,88,139,0,186,138,0,65,146,0,239,142,0,17,162,0,76,154,0,64,152,0,70,163,0,103,146,0,115,148,0,193,153,0,91,156, +0,143,152,0,222,174,0,125,150,0,50,167,0,251,171,0,50,166,0,29,169,0,254,177,0,252,157,0,45,174,0,176,148,0,149,172,0,225,155,0,46,178,0,115,147,0,208,178,0,237,147,0,105,167,0,162,160,0,10,185,0,6,144,0,35,182,0,205,158,0,101,184,0,79,148,0,65,176,0, +51,152,0,185,182,0,109,159,0,180,173,0,87,165,0,145,175,0,38,147,0,113,175,0,6,147,0,197,162,0,107,153,0,144,168,0,115,131,0,118,143,0,30,144,0,199,154,0,196,158,0,67,148,0,204,137,0,41,156,0,29,149,0,225,139,0,162,131,0,151,134,0,214,136,0,232,128,0, +201,132,0,36,135,0,160,142,0,180,134,0,233,130,0,242,122,0,194,123,0,231,117,0,191,119,0,252,111,0,190,125,0,9,126,0,126,126,0,74,118,0,151,102,0,116,96,0,154,121,0,54,107,0,140,107,0,153,113,0,26,102,0,104,112,0,209,102,0,208,105,0,51,94,0,78,104,0, +190,101,0,113,117,0,111,89,0,23,100,0,219,101,0,215,116,0,186,97,0,201,123,0,228,91,0,18,128,0,105,91,0,166,114,0,212,104,0,59,127,0,13,86,0,204,120,0,214,102,0,64,134,0,255,96,0,89,121,0,3,95,0,206,118,0,187,94,0,234,129,0,70,102,0,31,134,0,62,126,0, +111,134,0,95,119,0,248,126,0,225,130,0,118,135,0,120,131,0,180,134,0,211,131,0,116,140,0,96,127,0,173,132,0,222,135,0,158,149,0,230,121,0,169,138,0,119,130,0,29,127,0,79,149,0,68,142,0,225,132,0,62,135,0,125,136,0,91,130,0,106,130,0,150,136,0,77,134, +0,27,141,0,171,137,0,212,120,0,228,139,0,245,123,0,185,110,0,8,124,0,20,126,0,114,127,0,138,127,0,224,108,0,30,116,0,43,126,0,201,121,0,174,131,0,171,101,0,195,111,0,10,105,0,45,124,0,43,118,0,171,117,0,215,94,0,72,111,0,204,118,0,93,125,0,225,103,0, +188,118,0,60,104,0,20,125,0,73,107,0,207,132,0,199,105,0,184,128,0,218,110,0,114,118,0,111,112,0,63,127,0,141,112,0,80,133,0,192,126,0,236,131,0,28,126,0,61,132,0,52,110,0,212,132,0,102,115,0,192,127,0,151,125,0,45,138,0,43,141,0,233,149,0,17,130,0,98, +141,0,162,128,0,211,140,0,51,123,0,170,145,0,14,139,0,95,155,0,80,132,0,96,159,0,207,134,0,93,146,0,185,130,0,215,173,0,92,130,0,129,143,0,112,130,0,221,147,0,4,128,0,144,136,0,121,130,0,185,153,0,127,109,0,67,142,0,124,119,0,222,136,0,129,112,0,2,139, +0,125,118,0,42,130,0,137,108,0,128,114,0,191,111,0,72,125,0,247,108,0,29,126,0,230,115,0,115,110,0,131,101,0,96,131,0,83,95,0,107,117,0,53,99,0,251,112,0,254,91,0,34,109,0,155,94,0,132,119,0,51,99,0,236,122,0,114,81,0,80,119,0,205,98,0,239,129,0,59,108, +0,222,127,0,46,79,0,22,117,0,229,96,0,48,136,0,109,82,0,60,122,0,155,92,0,242,126,0,16,95,0,159,131,0,57,95,0,189,135,0,78,103,0,107,135,0,69,68,0,62,124,0,46,107,0,71,128,0,100,97,0,215,127,0,93,108,0,43,127,0,218,90,0,85,130,0,213,79,0,65,121,0,120, +92,0,100,119,0,77,97,0,38,115,0,154,111,0,104,113,0,101,91,0,195,117,0,99,100,0,14,116,0,3,114,0,60,97,0,121,107,0,160,93,0,32,106,0,237,103,0,0,106,0,183,104,0,85,92,0,196,98,0,37,103,0,185,74,0,254,81,0,28,76,0,107,95,0,152,87,0,113,76,0,146,81,0,10, +89,0,173,74,0,24,83,0,18,75,0,2,71,0,155,69,0,106,66,0,136,68,0,214,71,0,58,79,0,159,65,0,123,69,0,80,68,0,123,65,0,194,55,0,247,76,0,86,77,0,99,86,0,29,56,0,40,73,0,63,62,0,222,93,0,108,80,0,226,111,0,185,62,0,6,98,0,122,82,0,134,103,0,69,71,0,117,121, +0,242,63,0,119,112,0,243,82,0,245,126,0,85,84,0,73,122,0,167,60,0,89,119,0,99,82,0,22,137,0,192,93,0,80,130,0,63,88,0,56,139,0,174,80,0,18,134,0,59,89,0,186,135,0,3,83,0,35,123,0,149,93,0,181,129,0,194,87,0,121,132,0,198,105,0,11,135,0,144,102,0,193, +135,0,246,94,0,165,130,0,29,103,0,44,122,0,6,96,0,89,116,0,171,95,0,221,116,0,160,99,0,21,111,0,121,113,0,7,112,0,115,85,0,187,105,0,98,91,0,14,109,0,103,89,0,86,101,0,207,88,0,27,100,0,201,90,0,3,101,0,54,88,0,136,89,0,253,78,0,222,76,0,212,89,0,133, +90,0,157,94,0,254,94,0,172,81,0,129,91,0,105,94,0,33,93,0,56,75,0,186,85,0,211,70,0,234,82,0,5,75,0,15,95,0,205,76,0,230,83,0,245,72,0,195,103,0,81,80,0,175,77,0,156,82,0,83,99,0,49,73,0,19,100,0,219,81,0,163,99,0,9,69,0,93,95,0,238,81,0,125,87,0,15, +63,0,98,89,0,124,60,0,92,91,0,154,78,0,221,92,0,10,68,0,181,88,0,38,90,0,27,85,0,27,65,0,131,73,0,113,74,0,119,77,0,245,81,0,245,86,0,179,72,0,118,77,0,28,89,0,167,81,0,187,83,0,22,93,0,72,63,0,184,96,0,89,78,0,218,77,0,148,64,0,91,61,0,211,60,0,173, +82,0,110,63,0,155,74,0,135,58,0,245,74,0,247,61,0,67,69,0,245,55,0,74,84,0,23,51,0,17,65,0,24,47,0,66,62,0,145,33,0,21,67,0,251,42,0,220,47,0,179,42,0,38,54,0,223,20,0,64,24,0,73,16,0,138,37,0,203,13,0,190,19,0,227,22,0,60,22,0,216,19,0,203,8,0,85,12, +0,91,254,255,7,250,255,248,228,255,146,254,255,14,0,0,159,253,255,209,255,255,238,254,255,98,231,255,114,248,255,188,245,255,137,1,0,180,241,255,39,236,255,109,214,255,33,248,255,63,216,255,120,236,255,99,231,255,62,235,255,154,216,255,37,223,255,248, +205,255,238,207,255,27,218,255,163,195,255,142,180,255,188,217,255,48,211,255,128,210,255,190,201,255,138,200,255,247,176,255,28,200,255,21,197,255,124,195,255,243,194,255,22,192,255,190,185,255,202,193,255,1,181,255,30,190,255,158,186,255,222,200,255, +18,189,255,86,188,255,168,183,255,145,179,255,43,171,255,223,180,255,147,167,255,194,180,255,42,162,255,138,172,255,178,151,255,39,178,255,243,153,255,214,161,255,89,160,255,64,170,255,26,145,255,20,165,255,183,150,255,77,163,255,220,148,255,31,165,255, +137,149,255,39,166,255,228,146,255,118,160,255,194,147,255,177,164,255,90,142,255,132,156,255,150,139,255,214,143,255,17,130,255,187,142,255,5,115,255,183,153,255,5,131,255,177,133,255,112,123,255,100,132,255,171,127,255,156,143,255,13,126,255,54,134, +255,168,119,255,131,145,255,37,122,255,85,131,255,178,116,255,19,111,255,74,114,255,228,125,255,67,123,255,247,116,255,123,115,255,142,105,255,28,104,255,83,114,255,211,104,255,51,93,255,73,94,255,104,114,255,164,100,255,70,97,255,83,91,255,88,95,255, +192,86,255,97,86,255,217,91,255,220,92,255,178,91,255,92,79,255,135,67,255,36,84,255,116,70,255,151,86,255,236,68,255,25,66,255,193,69,255,149,78,255,195,56,255,197,79,255,30,73,255,141,78,255,27,68,255,250,73,255,149,59,255,52,87,255,110,83,255,80,79, +255,57,69,255,108,74,255,241,87,255,206,84,255,224,74,255,214,76,255,11,90,255,40,92,255,61,93,255,135,79,255,164,99,255,15,91,255,37,107,255,80,96,255,78,113,255,229,88,255,129,113,255,8,97,255,252,116,255,164,81,255,40,119,255,138,92,255,7,126,255, +118,98,255,201,114,255,15,93,255,221,108,255,178,90,255,191,135,255,3,88,255,246,119,255,226,79,255,153,120,255,123,86,255,5,116,255,29,96,255,198,113,255,198,91,255,101,124,255,101,102,255,64,123,255,210,91,255,79,122,255,119,106,255,65,132,255,240, +115,255,158,108,255,90,109,255,246,118,255,253,103,255,190,108,255,108,110,255,59,111,255,123,115,255,136,95,255,117,105,255,183,99,255,179,105,255,16,104,255,224,104,255,151,100,255,224,110,255,239,101,255,94,107,255,189,107,255,130,117,255,109,104, +255,163,108,255,27,99,255,41,97,255,213,75,255,5,93,255,45,83,255,223,97,255,151,96,255,246,85,255,0,99,255,178,76,255,201,85,255,182,78,255,87,92,255,3,86,255,227,81,255,237,83,255,119,72,255,47,63,255,213,80,255,207,89,255,117,107,255,58,83,255,116, +85,255,6,81,255,12,103,255,15,70,255,188,88,255,66,90,255,236,103,255,164,94,255,170,102,255,164,83,255,98,97,255,217,105,255,22,113,255,14,108,255,163,127,255,174,95,255,138,112,255,105,117,255,24,113,255,29,113,255,66,135,255,191,116,255,22,139,255, +215,118,255,168,138,255,28,100,255,61,137,255,239,120,255,50,143,255,185,110,255,94,153,255,253,111,255,220,152,255,1,125,255,73,140,255,182,109,255,175,148,255,1,134,255,33,165,255,120,115,255,62,146,255,246,117,255,109,150,255,161,110,255,160,131,255, +146,117,255,29,131,255,237,101,255,242,128,255,16,117,255,126,127,255,6,101,255,98,121,255,160,103,255,90,118,255,119,98,255,211,118,255,233,103,255,143,115,255,53,89,255,244,96,255,5,94,255,244,91,255,226,92,255,170,100,255,138,86,255,99,106,255,91, +118,255,141,103,255,100,102,255,169,109,255,140,105,255,144,108,255,181,97,255,70,101,255,164,91,255,108,107,255,31,97,255,25,116,255,232,119,255,49,110,255,204,116,255,34,130,255,109,93,255,15,114,255,80,125,255,28,140,255,201,117,255,226,136,255,233, +109,255,12,134,255,241,131,255,144,142,255,115,122,255,112,137,255,49,113,255,4,134,255,201,121,255,141,122,255,82,139,255,210,128,255,76,125,255,95,121,255,90,124,255,121,112,255,17,117,255,195,106,255,51,127,255,45,119,255,198,102,255,205,96,255,109, +112,255,252,118,255,231,117,255,106,96,255,228,113,255,82,92,255,230,97,255,52,79,255,143,104,255,39,80,255,138,103,255,154,74,255,115,96,255,64,69,255,47,88,255,115,95,255,213,74,255,45,69,255,37,83,255,73,88,255,129,96,255,209,87,255,254,77,255,21, +89,255,8,81,255,20,74,255,182,91,255,230,85,255,81,73,255,114,89,255,140,89,255,31,95,255,205,78,255,57,91,255,49,82,255,188,94,255,210,85,255,245,90,255,206,76,255,124,103,255,79,88,255,237,90,255,29,93,255,154,96,255,11,108,255,130,102,255,47,94,255, +244,109,255,73,98,255,194,99,255,198,115,255,10,110,255,69,107,255,210,98,255,62,114,255,99,101,255,131,97,255,69,101,255,124,109,255,237,97,255,90,110,255,47,107,255,204,107,255,49,94,255,243,90,255,245,83,255,64,102,255,111,89,255,51,103,255,172,79, +255,108,99,255,111,72,255,159,94,255,23,84,255,146,100,255,111,90,255,255,103,255,206,79,255,51,114,255,74,82,255,3,101,255,155,82,255,222,102,255,240,69,255,198,108,255,112,81,255,181,110,255,200,84,255,24,104,255,186,83,255,84,107,255,143,74,255,63, +100,255,47,73,255,191,106,255,159,78,255,192,101,255,222,80,255,66,85,255,197,57,255,107,112,255,223,63,255,41,99,255,193,78,255,92,82,255,22,61,255,242,97,255,246,68,255,32,92,255,44,66,255,184,97,255,225,76,255,167,106,255,218,90,255,241,98,255,244, +79,255,218,99,255,90,80,255,119,106,255,159,88,255,63,110,255,90,95,255,83,115,255,230,110,255,110,97,255,6,89,255,65,115,255,108,96,255,52,123,255,110,101,255,219,117,255,162,103,255,148,127,255,209,123,255,12,145,255,243,120,255,148,156,255,117,131, +255,182,148,255,99,128,255,222,153,255,0,135,255,4,157,255,88,148,255,53,148,255,113,135,255,255,167,255,22,140,255,185,160,255,97,132,255,222,168,255,38,146,255,137,162,255,66,137,255,104,165,255,219,132,255,29,145,255,231,127,255,173,149,255,138,123, +255,22,161,255,106,145,255,28,148,255,128,121,255,148,153,255,252,125,255,173,138,255,182,111,255,133,145,255,179,119,255,207,149,255,242,107,255,3,131,255,60,112,255,213,141,255,106,99,255,196,138,255,234,100,255,172,146,255,233,91,255,184,148,255,165, +100,255,35,150,255,153,117,255,134,153,255,36,107,255,200,161,255,114,110,255,84,167,255,67,114,255,80,168,255,94,115,255,30,161,255,66,110,255,216,167,255,182,125,255,140,182,255,44,120,255,212,182,255,213,146,255,182,182,255,143,146,255,31,189,255, +68,154,255,139,192,255,72,167,255,230,192,255,90,186,255,92,189,255,13,176,255,32,205,255,90,170,255,141,201,255,254,190,255,51,210,255,162,193,255,52,212,255,145,208,255,214,228,255,59,189,255,133,237,255,242,209,255,52,219,255,233,202,255,25,232,255, +146,217,255,170,231,255,20,214,255,175,239,255,147,226,255,105,232,255,236,231,255,228,243,255,234,227,255,161,240,255,173,227,255,211,249,255,211,230,255,17,252,255,148,235,255,131,4,0,6,206,255,65,10,0,166,240,255,130,11,0,209,217,255,154,17,0,129, +208,255,160,9,0,65,209,255,128,7,0,53,225,255,219,7,0,107,204,255,57,16,0,132,212,255,28,9,0,81,210,255,122,15,0,69,217,255,0,13,0,56,198,255,15,12,0,138,202,255,166,12,0,150,217,255,126,25,0,214,212,255,181,13,0,187,218,255,125,12,0,92,232,255,193,251, +255,64,212,255,18,7,0,134,221,255,196,12,0,24,225,255,102,6,0,8,233,255,204,21,0,140,235,255,174,23,0,48,255,255,248,18,0,46,249,255,111,15,0,204,11,0,251,15,0,62,252,255,202,41,0,84,26,0,37,46,0,95,15,0,213,58,0,61,18,0,10,41,0,153,24,0,104,66,0,66, +32,0,56,57,0,239,38,0,113,62,0,52,48,0,142,60,0,106,32,0,189,67,0,128,53,0,211,71,0,177,51,0,213,81,0,209,40,0,175,74,0,147,53,0,44,89,0,4,60,0,240,75,0,66,53,0,218,86,0,253,41,0,204,91,0,167,38,0,209,73,0,170,35,0,73,93,0,183,58,0,197,71,0,26,42,0,57, +90,0,63,47,0,34,99,0,250,35,0,247,75,0,32,43,0,67,79,0,194,17,0,28,87,0,170,39,0,138,85,0,76,25,0,63,88,0,42,28,0,149,93,0,245,21,0,154,75,0,223,32,0,61,86,0,168,31,0,249,95,0,50,49,0,213,75,0,195,42,0,126,91,0,182,55,0,212,73,0,80,26,0,189,86,0,139, +45,0,79,90,0,68,45,0,77,84,0,255,73,0,250,71,0,191,55,0,17,88,0,37,68,0,70,79,0,212,63,0,75,82,0,158,68,0,110,81,0,115,58,0,121,87,0,62,69,0,101,93,0,83,81,0,159,85,0,127,49,0,236,94,0,50,69,0,229,87,0,84,60,0,28,93,0,223,58,0,44,94,0,231,40,0,73,92, +0,116,49,0,152,88,0,160,44,0,108,99,0,91,54,0,104,110,0,212,56,0,77,105,0,141,58,0,134,128,0,27,65,0,42,116,0,5,55,0,18,127,0,196,61,0,239,135,0,151,68,0,212,132,0,241,70,0,176,127,0,48,99,0,142,142,0,16,85,0,90,136,0,46,87,0,94,135,0,181,92,0,19,136, +0,42,116,0,12,133,0,131,104,0,82,133,0,135,97,0,37,140,0,59,96,0,82,143,0,154,113,0,66,150,0,4,115,0,250,131,0,153,103,0,200,145,0,168,118,0,218,141,0,253,123,0,42,140,0,27,110,0,7,147,0,131,103,0,120,130,0,186,120,0,105,127,0,175,102,0,189,138,0,59, +91,0,174,131,0,34,98,0,63,127,0,72,104,0,168,112,0,57,97,0,97,114,0,77,107,0,142,111,0,247,97,0,251,115,0,140,102,0,115,118,0,35,113,0,205,100,0,80,92,0,9,111,0,95,91,0,159,97,0,9,90,0,233,110,0,99,74,0,109,89,0,169,80,0,127,107,0,139,76,0,77,99,0,56, +100,0,212,92,0,16,88,0,61,98,0,200,101,0,110,104,0,211,89,0,179,104,0,45,94,0,194,101,0,110,91,0,128,102,0,74,92,0,241,119,0,57,107,0,185,118,0,48,87,0,114,126,0,85,113,0,24,118,0,202,102,0,1,132,0,233,117,0,136,127,0,241,102,0,64,139,0,66,120,0,74,133, +0,75,126,0,64,129,0,98,137,0,61,143,0,191,138,0,26,136,0,82,126,0,161,137,0,156,135,0,19,141,0,116,129,0,45,128,0,100,126,0,106,124,0,187,144,0,159,135,0,140,122,0,104,128,0,215,123,0,138,133,0,132,133,0,154,120,0,39,139,0,45,135,0,244,140,0,153,143, +0,10,152,0,112,139,0,235,130,0,64,127,0,15,124,0,210,120,0,246,141,0,192,112,0,97,133,0,17,109,0,120,119,0,199,120,0,136,133,0,215,96,0,83,118,0,164,117,0,178,115,0,247,99,0,29,128,0,84,109,0,211,120,0,130,106,0,163,108,0,230,102,0,195,117,0,12,92,0, +38,105,0,125,97,0,162,106,0,49,98,0,8,101,0,76,89,0,104,100,0,159,98,0,232,102,0,147,100,0,101,102,0,255,76,0,134,109,0,151,103,0,244,107,0,132,97,0,32,124,0,224,102,0,28,119,0,75,115,0,59,143,0,187,107,0,49,128,0,248,116,0,1,148,0,204,109,0,115,134, +0,52,115,0,234,151,0,64,107,0,17,152,0,19,119,0,91,153,0,224,92,0,155,141,0,153,118,0,48,157,0,149,113,0,255,163,0,75,110,0,188,153,0,172,116,0,235,159,0,78,113,0,243,150,0,17,100,0,165,155,0,110,105,0,180,152,0,244,106,0,71,157,0,123,106,0,78,152,0, +181,112,0,145,158,0,19,123,0,76,165,0,210,123,0,64,167,0,56,116,0,238,179,0,155,107,0,197,168,0,173,111,0,194,161,0,147,110,0,204,150,0,191,122,0,35,155,0,229,115,0,77,162,0,141,109,0,48,145,0,57,106,0,158,165,0,34,101,0,69,150,0,145,117,0,5,147,0,201, +96,0,13,118,0,251,103,0,21,153,0,23,108,0,90,142,0,210,94,0,136,130,0,219,85,0,114,132,0,150,92,0,34,130,0,32,86,0,96,135,0,14,91,0,128,138,0,110,79,0,142,121,0,75,80,0,116,122,0,132,75,0,59,150,0,33,80,0,90,130,0,164,98,0,201,162,0,212,82,0,68,141,0, +134,87,0,25,143,0,21,82,0,72,165,0,234,76,0,194,152,0,5,90,0,137,169,0,26,86,0,121,161,0,8,91,0,69,154,0,103,108,0,83,173,0,36,100,0,46,165,0,131,92,0,161,148,0,54,86,0,65,165,0,184,93,0,158,166,0,98,94,0,154,156,0,24,91,0,48,164,0,194,84,0,212,147,0, +41,88,0,250,149,0,88,76,0,200,156,0,138,69,0,17,130,0,162,61,0,92,136,0,103,68,0,218,126,0,153,59,0,196,114,0,179,58,0,224,130,0,137,60,0,37,117,0,176,46,0,132,109,0,64,41,0,51,102,0,119,35,0,148,106,0,103,29,0,143,91,0,16,25,0,29,102,0,233,8,0,118,90, +0,105,6,0,226,92,0,202,10,0,222,103,0,195,248,255,206,90,0,129,7,0,84,87,0,190,254,255,218,93,0,67,251,255,178,93,0,34,236,255,142,80,0,38,237,255,49,84,0,76,234,255,211,87,0,7,239,255,29,108,0,242,233,255,179,89,0,203,238,255,12,90,0,117,246,255,213, +95,0,26,241,255,158,99,0,116,241,255,68,99,0,126,241,255,239,104,0,230,237,255,103,93,0,223,250,255,124,96,0,163,1,0,198,97,0,84,255,255,182,91,0,33,1,0,12,108,0,213,13,0,120,93,0,216,253,255,89,81,0,1,254,255,35,102,0,49,17,0,4,92,0,87,19,0,33,87,0, +108,29,0,96,83,0,225,16,0,86,76,0,103,23,0,145,71,0,120,15,0,170,77,0,190,15,0,153,78,0,210,15,0,131,70,0,87,19,0,242,73,0,22,18,0,114,76,0,88,7,0,238,72,0,188,7,0,1,73,0,247,2,0,133,76,0,71,254,255,175,62,0,132,247,255,192,76,0,35,9,0,81,76,0,63,6,0, +164,62,0,184,245,255,240,76,0,140,234,255,236,65,0,244,245,255,241,69,0,101,234,255,33,72,0,96,218,255,11,64,0,71,254,255,234,85,0,3,222,255,143,72,0,249,236,255,192,82,0,252,232,255,18,66,0,4,240,255,191,82,0,249,231,255,111,77,0,40,244,255,46,91,0, +253,237,255,46,96,0,51,229,255,167,84,0,131,244,255,26,104,0,89,236,255,236,99,0,166,245,255,193,101,0,247,238,255,184,109,0,179,241,255,202,111,0,71,244,255,251,101,0,87,243,255,173,94,0,1,249,255,153,94,0,120,236,255,164,92,0,9,251,255,165,105,0,167, +248,255,111,94,0,214,237,255,229,91,0,18,233,255,219,86,0,235,237,255,109,68,0,249,233,255,88,73,0,115,237,255,11,69,0,200,233,255,206,47,0,104,229,255,60,61,0,82,239,255,42,46,0,249,238,255,57,45,0,151,241,255,198,40,0,247,227,255,229,56,0,248,235,255, +58,56,0,77,227,255,199,51,0,131,215,255,255,37,0,207,219,255,143,34,0,185,229,255,254,55,0,59,209,255,181,36,0,101,225,255,193,47,0,182,199,255,194,37,0,171,204,255,23,42,0,25,205,255,163,42,0,179,193,255,241,39,0,52,204,255,36,56,0,192,196,255,81,55, +0,69,198,255,98,65,0,72,188,255,163,53,0,124,199,255,168,73,0,92,193,255,237,70,0,217,197,255,50,63,0,48,197,255,191,66,0,98,181,255,251,42,0,9,192,255,172,80,0,34,204,255,64,75,0,81,187,255,36,57,0,59,189,255,145,65,0,99,197,255,5,65,0,210,189,255,110, +56,0,82,192,255,137,55,0,150,194,255,186,52,0,182,200,255,107,55,0,17,196,255,155,41,0,245,182,255,38,42,0,228,196,255,21,32,0,52,186,255,5,33,0,112,186,255,56,28,0,27,168,255,97,23,0,33,167,255,20,18,0,202,183,255,23,0,0,53,164,255,168,241,255,219,146, +255,179,230,255,129,171,255,193,0,0,186,167,255,63,245,255,178,151,255,100,236,255,6,164,255,47,246,255,201,124,255,4,231,255,211,143,255,8,249,255,119,148,255,191,247,255,250,162,255,83,253,255,153,157,255,168,7,0,243,143,255,89,255,255,106,152,255, +41,19,0,36,149,255,145,26,0,132,145,255,76,9,0,242,153,255,227,35,0,48,152,255,31,22,0,111,144,255,22,25,0,150,155,255,217,35,0,8,157,255,16,32,0,101,166,255,144,37,0,178,168,255,220,33,0,83,158,255,237,35,0,112,166,255,190,33,0,206,173,255,174,40,0, +252,163,255,50,19,0,213,169,255,51,28,0,72,160,255,106,15,0,128,167,255,116,15,0,171,145,255,55,9,0,125,140,255,113,3,0,26,146,255,121,8,0,133,142,255,228,246,255,103,142,255,38,4,0,158,146,255,182,247,255,12,141,255,208,246,255,174,139,255,132,250,255, +79,140,255,15,239,255,226,136,255,221,232,255,17,139,255,95,236,255,127,136,255,108,234,255,132,149,255,15,239,255,73,149,255,148,240,255,219,130,255,190,255,255,134,149,255,205,245,255,2,148,255,173,3,0,12,154,255,147,7,0,22,148,255,100,2,0,49,141,255, +91,14,0,123,148,255,70,17,0,8,149,255,180,14,0,174,136,255,243,15,0,6,160,255,220,17,0,183,174,255,220,14,0,50,140,255,129,243,255,157,145,255,193,0,0,195,135,255,166,251,255,198,154,255,123,0,0,186,135,255,223,232,255,3,152,255,197,233,255,120,130,255, +37,239,255,11,154,255,64,244,255,102,142,255,177,236,255,12,145,255,108,233,255,169,141,255,52,222,255,143,151,255,47,236,255,113,139,255,224,235,255,171,141,255,94,232,255,101,147,255,145,226,255,115,148,255,41,237,255,166,142,255,78,230,255,86,151, +255,136,248,255,24,144,255,42,231,255,224,147,255,214,244,255,190,127,255,132,234,255,115,144,255,66,229,255,153,143,255,178,236,255,23,127,255,189,230,255,212,130,255,68,239,255,43,133,255,65,213,255,181,129,255,43,228,255,93,139,255,187,223,255,144, +145,255,44,228,255,3,132,255,120,227,255,139,134,255,16,219,255,18,124,255,242,218,255,234,129,255,231,218,255,101,112,255,53,215,255,53,134,255,236,219,255,71,127,255,107,213,255,96,135,255,222,205,255,65,128,255,247,216,255,81,136,255,188,210,255,78, +125,255,19,210,255,85,127,255,63,205,255,63,120,255,63,208,255,165,127,255,66,212,255,225,117,255,42,201,255,228,121,255,24,211,255,172,109,255,156,215,255,75,110,255,71,210,255,8,91,255,129,200,255,38,94,255,210,197,255,162,85,255,181,194,255,99,97, +255,231,184,255,187,83,255,247,189,255,2,84,255,183,194,255,172,84,255,30,193,255,240,90,255,118,202,255,72,67,255,162,177,255,37,75,255,173,174,255,251,63,255,134,164,255,171,56,255,200,156,255,59,81,255,55,171,255,155,76,255,145,174,255,179,74,255, +67,171,255,114,92,255,137,181,255,37,79,255,43,193,255,151,90,255,219,198,255,134,91,255,13,186,255,3,100,255,227,187,255,84,107,255,62,182,255,44,90,255,107,190,255,63,103,255,17,190,255,4,103,255,41,208,255,121,105,255,136,193,255,29,114,255,161,201, +255,181,118,255,166,196,255,93,105,255,151,201,255,108,103,255,17,196,255,190,117,255,154,202,255,202,114,255,53,208,255,92,100,255,0,190,255,16,101,255,144,195,255,225,104,255,85,195,255,196,111,255,20,193,255,38,94,255,126,188,255,241,95,255,169,186, +255,153,95,255,243,173,255,98,93,255,194,170,255,3,84,255,76,163,255,88,89,255,193,159,255,196,88,255,204,152,255,213,80,255,110,168,255,222,79,255,150,164,255,93,79,255,213,151,255,251,78,255,249,153,255,237,69,255,246,148,255,190,84,255,137,159,255, +211,77,255,79,159,255,215,78,255,73,157,255,158,75,255,135,147,255,192,87,255,167,151,255,114,73,255,19,162,255,23,83,255,75,157,255,24,83,255,240,162,255,165,90,255,82,159,255,35,86,255,72,166,255,120,84,255,90,165,255,249,87,255,30,172,255,172,95,255, +221,176,255,43,102,255,163,169,255,223,84,255,149,164,255,96,106,255,158,160,255,152,108,255,222,176,255,90,107,255,105,162,255,69,114,255,255,184,255,35,112,255,206,166,255,25,104,255,191,160,255,201,114,255,112,175,255,49,116,255,61,174,255,199,120, +255,82,167,255,251,124,255,85,168,255,183,132,255,120,162,255,8,126,255,240,170,255,101,123,255,2,181,255,185,117,255,132,170,255,14,105,255,151,166,255,248,118,255,174,174,255,54,108,255,135,178,255,164,126,255,53,192,255,33,122,255,122,180,255,133, +118,255,42,195,255,37,131,255,98,190,255,15,126,255,71,187,255,210,128,255,70,198,255,149,127,255,233,188,255,71,116,255,223,184,255,49,111,255,62,187,255,44,120,255,187,185,255,116,121,255,97,177,255,242,119,255,183,191,255,130,118,255,93,175,255,61, +106,255,25,187,255,75,100,255,123,179,255,118,120,255,70,185,255,13,118,255,249,177,255,224,118,255,181,166,255,53,125,255,63,174,255,113,125,255,211,193,255,123,117,255,221,177,255,132,128,255,203,170,255,47,137,255,37,187,255,32,139,255,56,190,255, +43,147,255,166,194,255,108,149,255,26,198,255,136,156,255,52,204,255,176,168,255,154,213,255,154,155,255,51,219,255,170,169,255,113,220,255,51,165,255,68,226,255,111,177,255,4,228,255,60,196,255,245,225,255,205,174,255,206,209,255,164,178,255,170,231, +255,1,176,255,124,224,255,84,177,255,142,215,255,59,191,255,237,238,255,226,186,255,233,232,255,82,196,255,236,229,255,220,179,255,25,224,255,115,189,255,173,252,255,116,181,255,236,233,255,98,194,255,94,240,255,132,204,255,129,234,255,34,192,255,169, +242,255,51,199,255,0,242,255,5,200,255,197,2,0,167,197,255,217,250,255,33,191,255,230,251,255,49,189,255,90,234,255,221,203,255,117,241,255,229,206,255,73,239,255,147,209,255,120,238,255,8,201,255,9,246,255,121,198,255,99,229,255,25,229,255,191,247,255, +96,221,255,117,245,255,186,221,255,9,250,255,91,227,255,89,250,255,214,220,255,158,228,255,248,226,255,193,239,255,114,237,255,9,254,255,84,237,255,137,245,255,107,234,255,8,245,255,196,251,255,187,241,255,236,238,255,227,15,0,212,245,255,176,249,255, +146,242,255,129,250,255,240,244,255,145,10,0,192,249,255,74,252,255,10,243,255,60,3,0,111,231,255,6,1,0,91,244,255,60,255,255,139,234,255,80,3,0,30,230,255,96,6,0,250,226,255,177,249,255,51,235,255,83,0,0,138,229,255,173,252,255,87,242,255,250,255,255, +41,235,255,83,9,0,168,243,255,32,4,0,120,239,255,110,8,0,121,6,0,200,17,0,46,246,255,122,13,0,250,15,0,85,33,0,33,2,0,127,20,0,180,15,0,49,30,0,238,14,0,231,32,0,57,18,0,26,29,0,18,32,0,198,35,0,136,41,0,55,38,0,82,25,0,162,23,0,16,36,0,111,27,0,239, +38,0,239,22,0,36,41,0,2,32,0,195,41,0,161,23,0,5,36,0,44,24,0,140,48,0,239,27,0,166,18,0,166,35,0,47,37,0,135,25,0,110,34,0,6,20,0,4,31,0,82,28,0,224,27,0,149,27,0,102,26,0,36,40,0,6,42,0,237,46,0,69,20,0,82,43,0,56,42,0,52,58,0,121,26,0,199,57,0,158, +34,0,218,66,0,118,39,0,73,63,0,201,41,0,191,63,0,30,45,0,226,46,0,76,38,0,70,58,0,30,55,0,35,55,0,58,49,0,176,56,0,133,47,0,113,50,0,238,50,0,189,53,0,208,50,0,196,47,0,82,47,0,92,35,0,18,55,0,215,47,0,130,66,0,174,56,0,4,53,0,189,59,0,79,71,0,169,64, +0,9,61,0,4,56,0,114,79,0,154,62,0,94,59,0,79,64,0,157,71,0,162,56,0,49,67,0,67,48,0,1,68,0,145,58,0,35,55,0,206,64,0,14,65,0,58,44,0,74,75,0,53,57,0,100,37,0,170,46,0,172,60,0,233,32,0,84,55,0,76,33,0,75,35,0,1,30,0,53,55,0,94,32,0,61,49,0,119,35,0,32, +44,0,189,30,0,202,40,0,222,32,0,130,33,0,133,32,0,163,46,0,227,24,0,160,44,0,165,23,0,185,52,0,117,13,0,37,58,0,194,12,0,116,53,0,226,13,0,194,47,0,193,22,0,24,52,0,28,8,0,190,40,0,97,8,0,63,63,0,149,31,0,108,55,0,70,31,0,7,65,0,212,22,0,172,58,0,239, +32,0,171,57,0,229,26,0,116,60,0,91,38,0,185,54,0,105,35,0,99,73,0,191,44,0,143,70,0,0,26,0,85,77,0,96,24,0,42,75,0,236,48,0,211,59,0,187,37,0,87,62,0,59,43,0,145,72,0,181,45,0,7,73,0,39,49,0,238,75,0,32,51,0,75,67,0,156,42,0,217,69,0,212,46,0,136,57, +0,233,30,0,62,60,0,254,36,0,90,71,0,26,31,0,13,67,0,44,24,0,181,55,0,133,18,0,229,66,0,207,26,0,75,81,0,192,24,0,107,88,0,115,8,0,159,72,0,234,252,255,48,77,0,103,18,0,207,77,0,193,13,0,180,79,0,188,254,255,21,73,0,188,254,255,193,70,0,6,252,255,41,74, +0,174,7,0,254,59,0,151,255,255,129,74,0,187,9,0,228,68,0,115,2,0,84,77,0,154,7,0,34,65,0,88,15,0,242,71,0,235,21,0,221,46,0,19,16,0,71,70,0,200,18,0,33,59,0,127,28,0,4,60,0,229,17,0,137,56,0,31,30,0,24,54,0,67,15,0,142,66,0,31,30,0,152,79,0,3,25,0,5, +74,0,115,27,0,191,67,0,127,10,0,66,82,0,67,28,0,59,78,0,203,27,0,31,92,0,202,13,0,123,94,0,114,27,0,59,85,0,251,19,0,223,108,0,4,33,0,225,97,0,194,34,0,122,121,0,190,45,0,241,102,0,130,38,0,150,121,0,10,44,0,145,118,0,230,59,0,243,104,0,232,54,0,109, +121,0,172,60,0,244,119,0,84,68,0,192,131,0,110,73,0,73,125,0,152,74,0,119,137,0,134,76,0,85,141,0,44,89,0,45,134,0,83,82,0,73,141,0,123,69,0,183,128,0,3,69,0,117,138,0,210,75,0,231,149,0,225,86,0,90,127,0,118,81,0,60,148,0,139,89,0,32,136,0,132,77,0, +99,156,0,180,91,0,148,142,0,66,87,0,251,124,0,113,72,0,131,138,0,219,77,0,140,153,0,229,99,0,168,159,0,36,74,0,7,151,0,150,71,0,230,141,0,173,81,0,194,158,0,30,78,0,253,151,0,241,80,0,150,156,0,46,76,0,56,168,0,166,77,0,41,172,0,206,92,0,138,164,0,74, +68,0,136,171,0,102,74,0,165,171,0,85,77,0,17,157,0,141,82,0,116,165,0,52,75,0,141,170,0,250,60,0,62,155,0,229,67,0,41,178,0,201,84,0,78,169,0,60,74,0,117,154,0,111,69,0,202,167,0,170,76,0,177,179,0,166,81,0,250,167,0,153,79,0,202,161,0,114,80,0,142,177, +0,251,87,0,56,173,0,253,81,0,157,159,0,134,81,0,127,168,0,236,76,0,61,171,0,154,66,0,32,172,0,91,64,0,43,174,0,253,75,0,181,191,0,200,72,0,44,184,0,195,52,0,161,184,0,97,62,0,70,175,0,177,71,0,189,184,0,166,69,0,163,180,0,192,59,0,129,152,0,147,63,0, +221,164,0,67,79,0,65,175,0,119,65,0,253,184,0,87,63,0,63,175,0,23,59,0,124,169,0,153,61,0,60,156,0,111,76,0,101,159,0,117,73,0,51,159,0,59,75,0,12,160,0,146,82,0,23,153,0,37,82,0,81,170,0,236,84,0,9,169,0,138,85,0,121,164,0,148,95,0,187,170,0,81,88,0, +99,163,0,14,100,0,135,178,0,12,98,0,163,178,0,109,98,0,212,179,0,41,108,0,188,194,0,47,96,0,243,172,0,19,98,0,99,187,0,129,108,0,3,181,0,14,85,0,76,204,0,48,98,0,225,187,0,253,87,0,234,197,0,28,100,0,208,192,0,166,99,0,151,186,0,62,105,0,31,175,0,143, +98,0,46,191,0,29,93,0,13,189,0,91,106,0,131,190,0,78,93,0,145,204,0,135,101,0,173,204,0,202,90,0,38,209,0,83,100,0,191,195,0,76,93,0,242,197,0,83,91,0,80,194,0,140,79,0,251,188,0,236,77,0,186,183,0,214,75,0,217,216,0,61,91,0,135,194,0,164,75,0,67,197, +0,219,82,0,115,196,0,155,87,0,48,189,0,165,88,0,57,179,0,100,92,0,61,184,0,154,88,0,192,177,0,24,98,0,62,188,0,144,89,0,189,176,0,158,94,0,187,186,0,231,88,0,186,164,0,201,77,0,60,179,0,187,95,0,208,179,0,25,80,0,62,183,0,172,90,0,25,176,0,229,88,0,56, +179,0,177,86,0,24,188,0,74,93,0,51,175,0,21,66,0,98,173,0,229,79,0,147,174,0,124,84,0,61,179,0,35,84,0,210,181,0,208,78,0,94,173,0,117,76,0,108,180,0,103,72,0,177,181,0,134,87,0,160,160,0,206,67,0,197,171,0,139,69,0,181,165,0,103,75,0,189,164,0,57,79, +0,93,168,0,123,63,0,178,176,0,221,63,0,234,161,0,74,52,0,33,158,0,27,55,0,243,163,0,58,71,0,190,159,0,38,58,0,69,157,0,117,45,0,81,161,0,11,49,0,10,160,0,57,46,0,39,160,0,223,29,0,154,156,0,153,29,0,119,150,0,160,25,0,180,153,0,119,36,0,186,150,0,147, +34,0,67,136,0,44,2,0,138,140,0,86,5,0,56,137,0,78,8,0,134,123,0,220,240,255,0,129,0,255,248,255,167,130,0,142,242,255,233,126,0,164,231,255,170,106,0,206,249,255,85,113,0,94,244,255,150,108,0,224,247,255,227,91,0,163,229,255,235,104,0,196,233,255,170, +95,0,1,238,255,68,108,0,64,242,255,132,116,0,226,250,255,93,102,0,185,246,255,97,110,0,115,4,0,20,97,0,209,254,255,62,118,0,189,14,0,95,124,0,154,20,0,100,118,0,224,6,0,185,128,0,101,15,0,85,127,0,49,10,0,141,140,0,163,21,0,227,138,0,162,18,0,199,141, +0,119,29,0,34,147,0,72,33,0,78,157,0,23,34,0,170,162,0,175,43,0,2,148,0,93,36,0,178,145,0,122,36,0,27,140,0,213,23,0,203,159,0,189,52,0,247,152,0,250,36,0,224,144,0,194,42,0,144,145,0,23,38,0,211,143,0,30,33,0,86,149,0,213,43,0,221,146,0,212,41,0,45, +149,0,148,52,0,94,151,0,117,51,0,142,131,0,23,60,0,166,141,0,160,38,0,247,146,0,89,55,0,17,141,0,37,70,0,215,125,0,22,40,0,98,149,0,215,52,0,2,158,0,149,59,0,75,148,0,253,51,0,163,147,0,138,59,0,193,150,0,92,45,0,180,145,0,192,47,0,233,155,0,15,49,0, +102,150,0,186,59,0,163,156,0,180,44,0,195,164,0,108,62,0,72,154,0,14,50,0,180,157,0,71,46,0,34,164,0,36,58,0,245,175,0,190,50,0,77,176,0,222,54,0,158,161,0,81,47,0,255,183,0,225,64,0,158,166,0,228,47,0,210,173,0,241,55,0,91,175,0,214,63,0,63,153,0,80, +47,0,113,158,0,21,50,0,222,163,0,158,48,0,215,174,0,202,62,0,181,163,0,218,53,0,167,154,0,113,63,0,65,147,0,164,39,0,64,174,0,235,48,0,115,153,0,243,42,0,212,150,0,116,45,0,164,158,0,195,46,0,96,162,0,194,45,0,127,139,0,172,38,0,227,145,0,3,35,0,176, +142,0,241,40,0,194,137,0,99,28,0,230,129,0,106,13,0,183,141,0,184,11,0,3,135,0,55,10,0,249,136,0,114,6,0,219,134,0,33,255,255,69,130,0,162,4,0,225,123,0,217,239,255,75,117,0,108,238,255,84,118,0,113,216,255,14,118,0,242,220,255,237,102,0,162,214,255, +59,102,0,112,209,255,117,97,0,174,221,255,201,76,0,92,207,255,90,71,0,172,208,255,139,66,0,190,199,255,238,71,0,132,203,255,68,58,0,41,191,255,195,52,0,3,193,255,87,59,0,162,201,255,68,66,0,14,195,255,146,67,0,132,196,255,194,55,0,213,201,255,98,70,0, +252,199,255,86,64,0,203,194,255,6,55,0,252,194,255,57,76,0,185,207,255,194,67,0,56,197,255,214,72,0,104,189,255,44,53,0,124,186,255,192,59,0,115,181,255,124,72,0,4,161,255,123,64,0,230,154,255,123,73,0,5,158,255,112,61,0,6,164,255,239,58,0,94,149,255, +61,43,0,94,135,255,187,18,0,115,137,255,227,23,0,85,123,255,98,25,0,223,127,255,186,16,0,75,93,255,98,12,0,106,112,255,176,3,0,67,101,255,136,250,255,97,104,255,97,248,255,10,100,255,205,232,255,217,106,255,116,233,255,179,97,255,166,216,255,111,87,255, +215,221,255,92,89,255,88,217,255,162,62,255,235,216,255,182,69,255,166,217,255,154,76,255,108,198,255,175,73,255,207,197,255,166,63,255,0,210,255,69,54,255,119,203,255,90,62,255,80,197,255,140,54,255,120,196,255,132,43,255,51,199,255,53,59,255,61,196, +255,25,50,255,63,182,255,26,52,255,92,183,255,28,41,255,250,194,255,139,29,255,83,191,255,61,41,255,54,185,255,81,43,255,44,184,255,3,46,255,47,169,255,123,38,255,165,177,255,241,50,255,213,191,255,222,56,255,48,165,255,246,37,255,236,162,255,106,54, +255,32,153,255,228,38,255,60,166,255,168,51,255,248,156,255,111,44,255,23,157,255,122,45,255,63,154,255,234,30,255,173,146,255,86,34,255,191,161,255,196,35,255,143,157,255,108,39,255,102,165,255,128,44,255,163,166,255,231,23,255,45,169,255,24,32,255, +224,156,255,93,39,255,173,170,255,204,32,255,243,165,255,194,39,255,69,157,255,176,34,255,241,179,255,208,29,255,113,182,255,80,38,255,225,168,255,91,37,255,194,176,255,209,44,255,241,185,255,199,45,255,233,184,255,171,46,255,136,174,255,56,37,255,8, +178,255,121,58,255,222,191,255,103,59,255,187,174,255,46,54,255,100,173,255,60,41,255,11,176,255,247,47,255,40,178,255,149,47,255,88,181,255,138,55,255,111,174,255,135,37,255,90,182,255,248,56,255,53,173,255,204,46,255,241,173,255,48,44,255,36,166,255, +194,50,255,151,180,255,209,42,255,166,163,255,59,51,255,126,167,255,42,47,255,61,184,255,50,54,255,88,165,255,225,66,255,58,169,255,54,48,255,42,159,255,133,53,255,110,164,255,239,62,255,30,169,255,200,65,255,185,177,255,160,69,255,128,171,255,61,72, +255,63,162,255,87,59,255,117,177,255,106,65,255,133,164,255,175,65,255,218,174,255,69,87,255,216,153,255,226,67,255,171,171,255,189,87,255,128,179,255,39,96,255,226,184,255,93,109,255,52,174,255,199,94,255,89,183,255,29,103,255,221,173,255,216,105,255, +185,167,255,61,102,255,179,181,255,165,111,255,209,180,255,104,97,255,183,197,255,232,98,255,231,198,255,212,102,255,135,195,255,196,117,255,243,197,255,220,108,255,217,211,255,78,98,255,133,201,255,168,98,255,50,190,255,223,107,255,19,195,255,70,100, +255,178,192,255,82,98,255,205,198,255,242,93,255,167,196,255,170,101,255,1,213,255,82,84,255,106,199,255,34,102,255,145,221,255,172,103,255,180,210,255,163,104,255,175,204,255,209,111,255,102,210,255,10,115,255,145,222,255,91,113,255,74,227,255,190,114, +255,175,222,255,67,124,255,5,227,255,97,125,255,8,223,255,41,121,255,22,216,255,5,149,255,226,220,255,76,131,255,74,212,255,1,143,255,65,210,255,61,142,255,34,214,255,151,156,255,198,218,255,39,148,255,39,222,255,33,142,255,202,213,255,236,164,255,229, +218,255,40,150,255,246,205,255,5,159,255,22,219,255,12,164,255,73,202,255,94,160,255,124,213,255,20,168,255,121,219,255,73,163,255,95,213,255,250,164,255,197,224,255,151,180,255,74,202,255,177,172,255,121,220,255,64,180,255,64,217,255,21,172,255,36,230, +255,163,195,255,71,223,255,133,180,255,73,234,255,226,175,255,156,228,255,203,180,255,0,227,255,0,190,255,159,237,255,205,193,255,229,235,255,204,195,255,126,243,255,76,181,255,8,230,255,223,182,255,188,239,255,26,171,255,43,235,255,96,184,255,50,239, +255,127,182,255,134,232,255,222,173,255,204,231,255,214,171,255,28,229,255,251,176,255,161,224,255,200,178,255,50,227,255,66,161,255,19,230,255,133,176,255,120,226,255,133,179,255,117,230,255,231,178,255,87,219,255,68,149,255,84,236,255,8,163,255,54, +236,255,221,155,255,178,216,255,170,158,255,155,232,255,187,174,255,214,221,255,142,159,255,220,238,255,178,163,255,150,227,255,75,146,255,202,236,255,183,158,255,53,227,255,238,152,255,126,221,255,195,156,255,229,216,255,13,152,255,134,224,255,117,170, +255,162,238,255,228,177,255,235,221,255,190,166,255,251,225,255,218,167,255,134,225,255,5,176,255,215,222,255,143,187,255,207,209,255,35,176,255,122,217,255,15,199,255,135,214,255,184,186,255,109,210,255,214,196,255,119,211,255,229,181,255,65,204,255, +189,171,255,58,202,255,231,190,255,199,198,255,76,178,255,183,195,255,129,174,255,36,206,255,72,173,255,80,191,255,7,168,255,200,189,255,54,161,255,137,193,255,37,180,255,74,178,255,5,172,255,167,184,255,120,176,255,64,179,255,102,174,255,119,183,255, +198,177,255,68,176,255,201,174,255,124,189,255,223,182,255,89,184,255,147,181,255,164,188,255,205,182,255,108,186,255,250,186,255,63,192,255,196,192,255,119,205,255,25,196,255,166,189,255,169,180,255,35,201,255,88,193,255,83,202,255,185,203,255,50,206, +255,91,209,255,160,214,255,134,206,255,164,229,255,98,222,255,94,240,255,155,223,255,5,232,255,48,233,255,93,232,255,252,234,255,212,240,255,15,235,255,134,230,255,34,246,255,117,228,255,76,244,255,109,226,255,219,238,255,209,234,255,238,238,255,67,239, +255,137,250,255,74,241,255,49,242,255,9,238,255,102,237,255,159,236,255,15,254,255,76,239,255,77,243,255,22,235,255,98,242,255,62,218,255,228,248,255,233,231,255,79,241,255,186,229,255,134,236,255,185,231,255,2,249,255,246,229,255,24,247,255,113,234, +255,69,250,255,215,222,255,37,235,255,205,214,255,44,238,255,0,230,255,154,237,255,32,228,255,36,253,255,132,218,255,27,244,255,101,228,255,156,235,255,149,212,255,132,239,255,19,207,255,144,245,255,146,207,255,0,243,255,115,209,255,216,251,255,1,222, +255,185,4,0,51,205,255,218,249,255,186,199,255,30,251,255,178,214,255,97,3,0,127,208,255,32,9,0,82,197,255,221,255,255,187,200,255,166,3,0,72,198,255,247,250,255,13,214,255,11,2,0,227,215,255,110,24,0,10,224,255,245,18,0,39,217,255,169,16,0,53,221,255, +176,18,0,89,232,255,113,36,0,53,229,255,227,39,0,153,235,255,145,49,0,248,253,255,128,55,0,76,249,255,232,72,0,214,22,0,118,84,0,58,0,0,154,78,0,242,16,0,247,111,0,214,15,0,164,85,0,232,38,0,101,117,0,202,31,0,123,122,0,144,52,0,189,124,0,32,48,0,98, +139,0,125,44,0,157,153,0,187,63,0,84,149,0,107,64,0,37,146,0,55,59,0,80,164,0,49,56,0,109,164,0,107,63,0,149,156,0,129,75,0,215,171,0,158,75,0,129,176,0,19,69,0,126,163,0,182,58,0,120,160,0,49,82,0,192,171,0,197,60,0,98,160,0,251,70,0,89,173,0,215,74, +0,139,165,0,218,72,0,25,175,0,164,69,0,23,176,0,235,80,0,146,172,0,162,82,0,85,179,0,194,81,0,244,170,0,106,87,0,217,182,0,126,73,0,105,177,0,76,100,0,107,188,0,242,93,0,157,180,0,123,94,0,22,185,0,101,95,0,0,179,0,47,92,0,45,181,0,27,85,0,213,186,0, +21,89,0,72,194,0,245,83,0,14,193,0,101,74,0,64,198,0,119,75,0,80,187,0,25,79,0,85,196,0,93,91,0,95,201,0,49,88,0,178,216,0,159,73,0,43,189,0,85,89,0,15,206,0,91,66,0,13,201,0,143,64,0,157,183,0,103,83,0,236,194,0,12,60,0,148,200,0,163,57,0,157,200,0, +180,83,0,178,210,0,140,65,0,132,195,0,54,76,0,22,190,0,66,86,0,112,231,0,147,72,0,174,198,0,29,84,0,213,203,0,44,81,0,54,210,0,59,71,0,188,205,0,211,74,0,214,194,0,212,73,0,12,210,0,125,78,0,217,197,0,186,64,0,146,204,0,52,74,0,39,197,0,68,70,0,190,188, +0,103,67,0,40,201,0,129,68,0,213,202,0,168,68,0,154,196,0,169,44,0,108,193,0,28,58,0,243,194,0,94,53,0,50,180,0,22,55,0,129,191,0,88,45,0,77,180,0,130,38,0,21,167,0,225,39,0,223,168,0,51,38,0,237,160,0,165,28,0,93,169,0,126,34,0,229,157,0,24,25,0,47, +155,0,145,28,0,127,153,0,251,12,0,194,148,0,223,6,0,83,133,0,253,6,0,46,142,0,181,247,255,89,145,0,126,11,0,14,154,0,23,3,0,191,153,0,246,4,0,197,149,0,33,248,255,27,134,0,103,247,255,93,130,0,241,1,0,76,139,0,31,238,255,208,141,0,186,244,255,237,125, +0,195,250,255,222,138,0,107,245,255,226,141,0,217,254,255,1,140,0,205,255,255,136,120,0,13,232,255,96,130,0,228,243,255,211,126,0,7,236,255,191,110,0,15,247,255,103,120,0,192,252,255,246,117,0,193,246,255,124,129,0,31,228,255,62,110,0,242,246,255,61, +115,0,207,239,255,69,116,0,203,231,255,199,119,0,36,231,255,110,114,0,68,235,255,168,109,0,169,233,255,123,127,0,245,219,255,232,126,0,24,243,255,63,127,0,33,228,255,134,135,0,155,236,255,174,145,0,122,238,255,202,145,0,27,231,255,234,118,0,154,226,255, +22,126,0,203,221,255,76,133,0,45,222,255,6,109,0,115,227,255,190,119,0,86,231,255,181,108,0,216,210,255,240,108,0,78,206,255,234,106,0,72,229,255,204,96,0,45,223,255,117,100,0,20,226,255,254,95,0,235,221,255,176,99,0,110,215,255,161,82,0,114,213,255, +64,96,0,78,202,255,31,83,0,129,211,255,61,78,0,251,194,255,52,72,0,64,200,255,125,70,0,115,194,255,97,74,0,207,183,255,163,75,0,73,196,255,77,69,0,129,183,255,184,69,0,121,187,255,40,63,0,129,188,255,141,42,0,245,198,255,18,59,0,15,178,255,199,47,0,186, +171,255,134,45,0,209,188,255,219,51,0,131,179,255,145,35,0,193,163,255,90,15,0,219,156,255,161,41,0,171,179,255,185,34,0,13,175,255,131,32,0,102,171,255,198,37,0,200,175,255,112,36,0,225,168,255,8,48,0,113,184,255,233,39,0,113,171,255,183,44,0,119,182, +255,79,56,0,87,174,255,252,43,0,178,164,255,48,47,0,220,172,255,155,56,0,144,167,255,64,53,0,113,172,255,202,61,0,87,166,255,252,56,0,107,166,255,222,65,0,180,182,255,40,72,0,100,170,255,67,60,0,105,168,255,81,58,0,25,182,255,36,47,0,228,170,255,159, +62,0,14,179,255,164,64,0,77,177,255,60,58,0,84,174,255,94,56,0,202,178,255,56,77,0,210,179,255,0,58,0,28,178,255,181,51,0,54,188,255,30,49,0,147,173,255,249,38,0,209,172,255,156,36,0,204,183,255,205,36,0,192,175,255,0,40,0,180,185,255,156,23,0,234,170, +255,146,40,0,160,177,255,61,30,0,153,172,255,164,28,0,157,162,255,154,36,0,175,167,255,191,20,0,209,165,255,58,44,0,26,181,255,61,30,0,222,168,255,128,22,0,197,175,255,113,37,0,223,168,255,8,48,0,55,157,255,159,46,0,10,168,255,26,53,0,1,168,255,249,49, +0,26,166,255,155,60,0,36,166,255,9,68,0,37,174,255,59,63,0,101,172,255,173,56,0,60,165,255,230,73,0,168,189,255,128,87,0,244,186,255,53,81,0,25,184,255,160,81,0,214,207,255,112,93,0,239,205,255,203,91,0,229,217,255,242,103,0,72,218,255,60,102,0,211,229, +255,34,116,0,89,231,255,14,120,0,181,233,255,201,107,0,18,244,255,32,124,0,182,249,255,83,107,0,1,243,255,34,131,0,181,1,0,211,122,0,13,10,0,3,127,0,45,5,0,109,131,0,228,254,255,23,138,0,213,248,255,152,121,0,40,251,255,239,125,0,102,250,255,37,135,0, +64,5,0,57,131,0,178,247,255,229,120,0,165,248,255,193,119,0,189,250,255,118,121,0,31,247,255,154,130,0,248,246,255,3,112,0,75,253,255,230,130,0,194,4,0,133,122,0,0,248,255,166,128,0,126,0,0,206,131,0,192,12,0,245,131,0,150,2,0,78,131,0,82,32,0,193,128, +0,97,30,0,15,140,0,55,35,0,85,135,0,118,37,0,33,140,0,189,36,0,26,131,0,152,46,0,73,146,0,116,45,0,27,137,0,91,32,0,203,137,0,101,43,0,237,161,0,42,32,0,182,137,0,172,38,0,12,142,0,182,53,0,104,155,0,233,48,0,254,142,0,83,53,0,115,150,0,11,47,0,116,142, +0,172,45,0,18,142,0,167,32,0,255,137,0,185,29,0,88,115,0,232,33,0,35,131,0,228,31,0,25,127,0,129,24,0,27,126,0,139,35,0,189,116,0,104,15,0,61,124,0,35,23,0,29,128,0,244,14,0,246,109,0,166,32,0,254,120,0,2,31,0,145,117,0,140,27,0,191,121,0,10,21,0,134, +117,0,236,31,0,190,114,0,28,25,0,138,108,0,22,38,0,183,123,0,220,26,0,8,112,0,101,37,0,61,121,0,53,51,0,17,144,0,219,26,0,178,145,0,50,45,0,197,138,0,105,46,0,173,150,0,73,47,0,194,142,0,90,44,0,144,149,0,134,39,0,49,134,0,132,50,0,22,140,0,56,63,0,176, +161,0,7,67,0,253,151,0,53,50,0,174,151,0,10,41,0,69,143,0,128,51,0,14,145,0,226,54,0,213,136,0,137,44,0,159,131,0,198,33,0,106,129,0,204,51,0,113,133,0,53,39,0,185,114,0,74,42,0,1,110,0,231,38,0,85,118,0,2,26,0,77,97,0,180,32,0,83,98,0,59,20,0,251,97, +0,181,18,0,212,83,0,88,252,255,156,72,0,133,11,0,48,72,0,118,16,0,100,71,0,234,16,0,168,71,0,182,17,0,161,63,0,168,19,0,150,77,0,94,14,0,76,65,0,141,18,0,65,69,0,74,11,0,116,58,0,151,21,0,34,76,0,198,8,0,94,62,0,214,13,0,55,62,0,198,15,0,251,71,0,26, +4,0,37,58,0,59,16,0,103,55,0,231,17,0,253,57,0,31,12,0,200,55,0,13,5,0,31,43,0,29,6,0,113,48,0,143,7,0,25,55,0,155,6,0,245,46,0,8,13,0,137,40,0,185,0,0,164,34,0,130,248,255,115,47,0,208,248,255,229,38,0,174,243,255,2,49,0,128,255,255,58,40,0,246,232, +255,5,38,0,143,247,255,124,34,0,16,247,255,244,36,0,228,248,255,52,51,0,89,9,0,100,64,0,233,3,0,75,56,0,203,3,0,33,38,0,138,2,0,230,56,0,126,243,255,27,46,0,59,9,0,24,47,0,145,6,0,254,48,0,150,251,255,182,43,0,220,4,0,247,66,0,117,12,0,169,47,0,156,9, +0,185,54,0,253,6,0,195,57,0,103,254,255,76,39,0,184,0,0,113,55,0,108,249,255,35,27,0,130,251,255,254,38,0,75,241,255,107,29,0,41,2,0,37,42,0,2,252,255,250,39,0,214,237,255,91,49,0,237,236,255,192,48,0,208,227,255,184,38,0,75,232,255,196,25,0,40,234,255, +9,38,0,227,230,255,86,32,0,217,212,255,40,34,0,136,213,255,8,23,0,20,216,255,218,33,0,189,230,255,147,40,0,199,221,255,124,29,0,195,222,255,4,33,0,229,245,255,137,28,0,83,245,255,201,29,0,216,243,255,227,42,0,157,246,255,123,26,0,5,4,0,233,55,0,45,245, +255,181,47,0,122,251,255,206,36,0,57,0,0,148,51,0,180,254,255,70,36,0,47,12,0,170,56,0,141,19,0,118,54,0,160,19,0,92,47,0,62,22,0,131,50,0,12,40,0,156,60,0,136,23,0,19,54,0,152,27,0,192,37,0,134,18,0,81,32,0,169,19,0,18,19,0,138,28,0,34,20,0,103,30,0, +27,25,0,78,20,0,242,10,0,120,22,0,195,254,255,185,14,0,39,1,0,221,15,0,182,255,255,91,13,0,26,255,255,240,251,255,73,244,255,43,10,0,3,233,255,251,236,255,188,227,255,122,234,255,185,231,255,163,239,255,85,226,255,49,221,255,120,233,255,175,227,255,121, +227,255,240,225,255,130,236,255,222,222,255,111,230,255,188,212,255,18,229,255,147,221,255,45,235,255,29,230,255,196,225,255,221,231,255,172,238,255,182,214,255,52,239,255,105,225,255,108,251,255,199,226,255,8,232,255,54,226,255,183,235,255,32,224,255, +159,253,255,142,220,255,19,243,255,119,227,255,36,238,255,194,225,255,87,218,255,75,223,255,218,236,255,89,219,255,123,216,255,41,216,255,134,213,255,5,218,255,135,210,255,154,209,255,117,196,255,158,202,255,25,186,255,213,209,255,35,186,255,195,214, +255,207,198,255,206,211,255,238,184,255,197,211,255,184,169,255,23,216,255,149,168,255,23,208,255,7,178,255,10,220,255,168,163,255,132,213,255,149,174,255,164,196,255,141,168,255,241,199,255,78,167,255,157,217,255,130,174,255,212,199,255,134,176,255, +87,207,255,81,191,255,178,198,255,1,181,255,8,202,255,50,189,255,241,205,255,136,176,255,124,197,255,54,188,255,105,213,255,167,200,255,54,211,255,148,197,255,208,217,255,46,212,255,250,208,255,132,207,255,161,214,255,88,198,255,226,204,255,218,213,255, +173,208,255,244,206,255,114,219,255,182,191,255,234,218,255,21,206,255,126,208,255,7,194,255,87,216,255,44,197,255,30,213,255,39,188,255,205,200,255,37,194,255,199,204,255,88,196,255,223,211,255,81,177,255,202,209,255,232,186,255,135,206,255,190,182, +255,67,201,255,83,174,255,76,209,255,148,175,255,172,199,255,29,160,255,50,190,255,79,165,255,113,207,255,12,165,255,130,187,255,193,161,255,46,181,255,62,165,255,150,187,255,47,143,255,64,192,255,109,163,255,190,166,255,222,138,255,174,181,255,247,147, +255,82,177,255,196,143,255,139,180,255,105,149,255,210,164,255,213,144,255,182,169,255,236,138,255,109,160,255,227,148,255,6,172,255,94,145,255,246,155,255,180,138,255,26,157,255,142,135,255,42,163,255,41,134,255,39,164,255,1,124,255,216,156,255,181, +123,255,200,160,255,117,117,255,101,166,255,27,133,255,223,162,255,22,122,255,49,162,255,185,110,255,148,154,255,12,110,255,126,155,255,196,95,255,250,163,255,47,114,255,243,145,255,128,93,255,5,144,255,242,94,255,201,146,255,133,97,255,119,145,255,206, +101,255,61,140,255,126,87,255,83,137,255,205,82,255,128,133,255,97,85,255,182,127,255,174,68,255,177,131,255,225,75,255,195,114,255,190,72,255,224,134,255,196,68,255,34,126,255,95,67,255,139,134,255,212,77,255,218,131,255,3,71,255,120,139,255,229,83, +255,16,136,255,112,81,255,180,139,255,246,89,255,114,136,255,35,79,255,49,143,255,64,84,255,69,138,255,69,83,255,55,144,255,255,78,255,74,137,255,227,73,255,65,130,255,36,70,255,240,137,255,157,74,255,142,140,255,201,85,255,233,115,255,138,72,255,12, +134,255,204,80,255,0,125,255,76,71,255,82,117,255,244,68,255,14,127,255,46,72,255,73,105,255,208,51,255,34,108,255,24,56,255,216,106,255,199,54,255,202,100,255,75,44,255,45,96,255,16,47,255,233,105,255,135,37,255,171,99,255,41,39,255,11,91,255,186,49, +255,59,77,255,150,32,255,28,80,255,112,25,255,56,78,255,2,26,255,17,69,255,15,35,255,50,66,255,207,31,255,182,67,255,223,13,255,66,67,255,105,14,255,183,72,255,62,20,255,119,88,255,200,1,255,249,80,255,174,10,255,149,81,255,181,4,255,140,74,255,216,247, +254,28,85,255,72,3,255,10,92,255,143,249,254,168,82,255,253,244,254,92,82,255,163,3,255,157,69,255,108,7,255,240,91,255,210,11,255,147,88,255,38,255,254,138,72,255,232,253,254,5,90,255,85,7,255,135,73,255,152,10,255,139,77,255,195,7,255,187,75,255,203, +10,255,23,68,255,195,3,255,194,67,255,230,18,255,211,70,255,99,15,255,11,74,255,246,1,255,8,82,255,163,12,255,29,84,255,8,10,255,128,86,255,173,10,255,136,82,255,49,26,255,114,90,255,150,14,255,66,83,255,183,11,255,238,86,255,138,6,255,50,94,255,106, +16,255,21,83,255,241,12,255,104,91,255,192,26,255,66,75,255,199,27,255,139,99,255,141,23,255,192,98,255,85,18,255,26,94,255,69,38,255,53,106,255,199,17,255,20,96,255,185,23,255,111,93,255,48,10,255,235,105,255,228,9,255,186,85,255,11,17,255,224,81,255, +163,247,254,223,77,255,132,250,254,193,64,255,142,246,254,163,69,255,70,245,254,242,71,255,204,237,254,216,64,255,8,231,254,67,65,255,88,233,254,159,62,255,179,226,254,69,54,255,53,235,254,215,54,255,242,210,254,158,54,255,210,211,254,176,57,255,48,222, +254,19,49,255,61,217,254,193,49,255,142,210,254,48,45,255,163,221,254,242,54,255,142,213,254,200,55,255,168,214,254,96,46,255,8,220,254,249,51,255,226,217,254,65,60,255,30,218,254,240,49,255,226,220,254,180,54,255,78,221,254,128,53,255,231,224,254,90, +51,255,16,229,254,201,61,255,160,221,254,167,71,255,161,232,254,90,69,255,43,224,254,76,81,255,156,238,254,240,77,255,129,251,254,30,83,255,188,251,254,47,86,255,69,252,254,83,76,255,46,251,254,129,94,255,33,252,254,196,103,255,197,7,255,199,96,255,109, +251,254,94,111,255,211,9,255,75,111,255,92,25,255,110,114,255,122,12,255,169,116,255,193,18,255,12,117,255,69,16,255,198,121,255,93,28,255,73,106,255,225,29,255,25,123,255,180,37,255,129,130,255,111,27,255,190,138,255,70,32,255,82,111,255,1,37,255,6, +132,255,152,42,255,159,139,255,246,43,255,187,135,255,177,33,255,242,140,255,145,36,255,132,120,255,32,42,255,89,142,255,239,35,255,195,140,255,97,41,255,173,139,255,40,41,255,237,148,255,168,43,255,62,138,255,73,47,255,68,143,255,106,40,255,251,135, +255,41,48,255,89,143,255,55,64,255,175,137,255,238,58,255,100,139,255,45,79,255,155,146,255,45,73,255,167,131,255,251,54,255,47,132,255,223,81,255,160,145,255,166,85,255,59,142,255,89,83,255,32,146,255,197,85,255,183,155,255,191,105,255,238,160,255,112, +91,255,83,160,255,243,82,255,125,178,255,237,102,255,191,164,255,91,90,255,76,160,255,206,74,255,58,174,255,209,86,255,214,184,255,41,93,255,58,166,255,156,69,255,142,173,255,51,71,255,128,172,255,8,58,255,191,173,255,119,53,255,104,167,255,38,58,255, +81,168,255,107,42,255,135,181,255,17,65,255,139,160,255,134,57,255,53,162,255,163,53,255,222,161,255,247,50,255,93,166,255,30,41,255,146,153,255,148,61,255,12,159,255,222,70,255,103,144,255,73,69,255,22,149,255,69,58,255,13,133,255,230,61,255,105,142, +255,28,75,255,116,128,255,96,81,255,233,128,255,87,67,255,160,125,255,147,73,255,36,133,255,119,73,255,22,122,255,250,74,255,138,136,255,63,81,255,57,135,255,228,83,255,183,133,255,142,79,255,58,137,255,177,74,255,78,137,255,167,86,255,171,140,255,160, +74,255,209,144,255,198,88,255,94,136,255,161,76,255,224,151,255,243,91,255,219,162,255,1,103,255,221,144,255,249,102,255,52,159,255,109,111,255,32,175,255,28,106,255,148,165,255,247,107,255,61,175,255,207,113,255,231,170,255,2,110,255,212,174,255,192, +107,255,172,184,255,215,112,255,44,179,255,19,103,255,206,189,255,185,95,255,86,190,255,151,106,255,179,183,255,3,99,255,101,185,255,214,113,255,253,180,255,243,94,255,107,188,255,49,106,255,149,172,255,241,108,255,164,169,255,80,96,255,37,179,255,49, +93,255,245,157,255,81,102,255,82,178,255,21,93,255,190,170,255,215,95,255,150,176,255,138,99,255,182,170,255,12,103,255,173,166,255,238,110,255,235,167,255,185,111,255,244,156,255,155,100,255,115,174,255,205,117,255,57,159,255,185,104,255,45,167,255, +62,119,255,211,161,255,126,131,255,114,165,255,30,118,255,27,167,255,92,121,255,172,152,255,204,122,255,170,160,255,47,117,255,22,157,255,43,114,255,201,158,255,250,119,255,252,152,255,87,121,255,24,157,255,194,119,255,197,163,255,135,110,255,188,161, +255,175,125,255,67,162,255,73,113,255,242,158,255,218,115,255,246,150,255,173,120,255,18,155,255,171,115,255,68,153,255,112,106,255,230,161,255,19,111,255,169,169,255,250,115,255,207,158,255,232,100,255,191,152,255,180,101,255,208,158,255,182,112,255, +242,161,255,118,106,255,139,166,255,70,106,255,236,177,255,28,105,255,59,174,255,165,101,255,224,163,255,154,94,255,76,158,255,161,102,255,120,161,255,85,102,255,133,166,255,4,103,255,95,142,255,29,104,255,112,159,255,76,95,255,76,155,255,154,95,255, +107,140,255,84,92,255,118,140,255,82,111,255,86,137,255,118,106,255,30,144,255,98,79,255,194,135,255,239,87,255,128,124,255,75,100,255,219,125,255,218,97,255,0,121,255,167,94,255,41,117,255,145,82,255,228,111,255,94,99,255,231,116,255,253,91,255,97,118, +255,64,96,255,216,121,255,38,101,255,106,102,255,210,96,255,105,97,255,2,90,255,113,110,255,30,92,255,28,108,255,0,98,255,91,118,255,42,92,255,252,117,255,98,96,255,26,125,255,124,113,255,147,117,255,118,107,255,141,122,255,9,97,255,179,131,255,77,106, +255,13,128,255,96,117,255,239,122,255,34,109,255,2,141,255,63,118,255,130,148,255,57,130,255,60,152,255,234,133,255,87,147,255,167,142,255,105,151,255,89,137,255,55,171,255,165,155,255,120,152,255,46,154,255,205,172,255,6,174,255,132,166,255,41,171,255, +201,178,255,108,180,255,246,193,255,97,200,255,181,175,255,52,194,255,164,178,255,2,198,255,109,183,255,117,200,255,95,196,255,140,201,255,38,189,255,15,210,255,99,199,255,103,208,255,24,197,255,199,224,255,207,197,255,157,221,255,46,200,255,80,221,255, +159,192,255,200,222,255,11,203,255,19,239,255,171,195,255,156,230,255,57,214,255,16,245,255,143,223,255,10,232,255,115,228,255,44,247,255,218,213,255,251,232,255,74,225,255,202,241,255,82,215,255,150,240,255,58,228,255,47,255,255,127,226,255,6,247,255, +130,229,255,157,251,255,21,221,255,22,0,0,244,238,255,129,0,0,212,235,255,129,5,0,153,230,255,31,2,0,126,247,255,134,255,255,132,246,255,4,5,0,80,245,255,110,5,0,106,242,255,65,13,0,66,232,255,47,255,255,13,1,0,164,4,0,34,248,255,26,252,255,199,253,255, +224,251,255,232,254,255,78,253,255,202,249,255,180,8,0,10,10,0,193,9,0,10,249,255,154,4,0,226,11,0,241,9,0,116,15,0,154,21,0,94,12,0,239,250,255,169,9,0,71,22,0,2,13,0,52,32,0,50,252,255,162,23,0,198,19,0,216,32,0,139,16,0,238,23,0,76,10,0,46,38,0,200, +17,0,104,38,0,154,20,0,185,49,0,207,14,0,38,51,0,73,19,0,4,67,0,73,19,0,234,69,0,163,30,0,52,77,0,167,16,0,86,76,0,174,23,0,31,84,0,176,41,0,215,92,0,251,23,0,132,88,0,150,24,0,226,100,0,190,27,0,14,90,0,8,40,0,78,107,0,251,38,0,87,102,0,103,50,0,100, +98,0,180,55,0,161,99,0,159,57,0,153,97,0,154,66,0,215,106,0,220,63,0,183,95,0,121,65,0,26,97,0,192,56,0,105,85,0,28,61,0,74,92,0,190,73,0,47,90,0,190,63,0,138,89,0,19,59,0,24,87,0,113,71,0,16,90,0,116,72,0,210,83,0,198,81,0,153,86,0,239,64,0,74,83,0, +26,69,0,135,84,0,249,72,0,89,87,0,187,71,0,68,92,0,159,66,0,242,100,0,190,72,0,97,92,0,141,72,0,97,95,0,180,67,0,204,93,0,186,53,0,158,91,0,206,74,0,102,102,0,217,72,0,74,110,0,149,72,0,124,103,0,28,68,0,176,91,0,217,88,0,113,111,0,154,71,0,96,96,0,58, +74,0,11,99,0,196,59,0,52,113,0,26,68,0,79,110,0,2,72,0,18,120,0,179,81,0,23,116,0,13,91,0,251,126,0,3,78,0,102,133,0,191,69,0,2,124,0,112,87,0,113,139,0,31,86,0,165,143,0,177,76,0,80,133,0,110,76,0,103,145,0,99,76,0,193,146,0,30,81,0,161,143,0,4,87,0, +174,152,0,100,90,0,29,160,0,202,89,0,114,152,0,209,102,0,107,169,0,207,96,0,190,171,0,47,108,0,239,158,0,221,103,0,18,161,0,255,110,0,80,157,0,224,107,0,79,168,0,59,112,0,186,171,0,38,117,0,130,172,0,5,119,0,4,180,0,61,116,0,91,167,0,121,125,0,148,175, +0,246,128,0,250,166,0,243,122,0,8,188,0,81,114,0,44,171,0,202,127,0,82,185,0,215,117,0,71,171,0,6,118,0,109,160,0,0,136,0,139,180,0,166,123,0,59,174,0,97,120,0,92,170,0,80,132,0,168,167,0,134,120,0,77,180,0,172,117,0,199,171,0,214,113,0,168,165,0,37, +98,0,88,159,0,114,112,0,235,163,0,226,89,0,254,163,0,216,89,0,240,162,0,228,84,0,82,161,0,156,80,0,253,141,0,111,81,0,46,168,0,239,68,0,192,146,0,99,75,0,255,148,0,223,75,0,106,161,0,175,72,0,212,150,0,186,64,0,106,133,0,8,74,0,78,142,0,102,65,0,25,135, +0,78,61,0,75,136,0,214,90,0,236,147,0,51,73,0,175,126,0,154,81,0,88,149,0,46,69,0,72,139,0,10,96,0,222,138,0,143,78,0,55,137,0,65,101,0,145,147,0,124,96,0,169,143,0,83,101,0,47,147,0,159,101,0,67,159,0,63,110,0,95,168,0,142,102,0,158,164,0,215,113,0, +250,166,0,181,123,0,84,180,0,195,110,0,59,170,0,100,131,0,117,185,0,89,131,0,232,203,0,105,136,0,80,189,0,24,144,0,32,204,0,250,128,0,37,209,0,131,121,0,218,206,0,41,132,0,63,209,0,229,125,0,120,209,0,52,127,0,29,205,0,234,118,0,105,190,0,3,145,0,75, +202,0,213,127,0,39,197,0,142,135,0,223,195,0,208,126,0,42,187,0,195,119,0,55,176,0,3,110,0,255,167,0,31,107,0,248,165,0,63,99,0,184,151,0,158,99,0,62,149,0,122,97,0,39,139,0,253,90,0,6,138,0,117,96,0,193,146,0,82,100,0,254,132,0,79,99,0,79,147,0,190, +89,0,149,145,0,97,87,0,6,127,0,240,93,0,69,132,0,122,86,0,4,136,0,105,87,0,54,134,0,94,99,0,27,141,0,181,96,0,71,137,0,96,103,0,221,139,0,175,85,0,45,138,0,191,103,0,214,156,0,110,99,0,102,157,0,172,88,0,156,172,0,79,89,0,239,162,0,222,89,0,213,160,0, +128,93,0,102,171,0,251,89,0,158,174,0,209,85,0,49,167,0,188,75,0,160,169,0,242,90,0,2,168,0,219,92,0,57,161,0,233,100,0,221,171,0,234,88,0,142,161,0,252,91,0,113,155,0,85,93,0,120,148,0,30,94,0,41,157,0,42,98,0,234,145,0,69,85,0,214,135,0,47,84,0,32, +129,0,44,96,0,17,134,0,121,87,0,48,109,0,28,88,0,144,116,0,238,94,0,16,128,0,96,82,0,44,118,0,133,88,0,9,113,0,84,88,0,102,122,0,149,74,0,48,117,0,184,80,0,10,124,0,89,100,0,39,121,0,9,86,0,7,107,0,111,88,0,89,122,0,150,69,0,205,116,0,141,79,0,138,123, +0,23,65,0,126,129,0,105,67,0,30,126,0,46,53,0,116,126,0,154,44,0,136,113,0,147,62,0,67,113,0,59,48,0,234,111,0,236,53,0,171,116,0,237,40,0,254,108,0,18,44,0,223,108,0,109,56,0,210,100,0,231,65,0,193,101,0,30,52,0,126,101,0,216,60,0,85,97,0,114,58,0,104, +87,0,92,57,0,236,107,0,4,77,0,75,108,0,136,63,0,235,90,0,156,70,0,70,93,0,87,73,0,43,97,0,237,86,0,77,92,0,107,84,0,1,103,0,245,96,0,118,97,0,37,94,0,157,101,0,0,91,0,82,98,0,181,91,0,168,95,0,110,93,0,146,87,0,180,84,0,162,100,0,71,86,0,113,114,0,229, +81,0,27,100,0,234,69,0,18,111,0,167,83,0,193,109,0,77,61,0,137,92,0,237,88,0,49,109,0,132,53,0,75,105,0,226,63,0,185,107,0,212,69,0,202,110,0,80,66,0,177,108,0,176,77,0,192,117,0,201,72,0,41,115,0,190,72,0,94,110,0,27,65,0,229,103,0,212,66,0,253,116, +0,137,67,0,251,97,0,196,71,0,61,109,0,53,79,0,31,105,0,20,81,0,13,102,0,37,84,0,99,102,0,132,84,0,80,110,0,245,98,0,55,108,0,102,95,0,76,105,0,178,84,0,4,107,0,46,92,0,125,99,0,218,96,0,42,111,0,82,99,0,211,103,0,174,79,0,82,90,0,137,80,0,60,89,0,77, +68,0,150,87,0,221,83,0,41,86,0,124,83,0,72,98,0,230,72,0,84,73,0,48,72,0,221,78,0,210,68,0,120,88,0,239,76,0,205,91,0,101,75,0,42,95,0,21,62,0,134,86,0,51,59,0,62,92,0,104,61,0,27,90,0,215,60,0,236,93,0,79,55,0,83,86,0,246,38,0,25,86,0,23,60,0,142,106, +0,185,48,0,251,96,0,82,53,0,160,79,0,112,54,0,180,99,0,43,53,0,161,95,0,208,54,0,188,91,0,186,57,0,115,104,0,70,49,0,127,94,0,64,62,0,111,103,0,104,55,0,169,76,0,182,56,0,38,101,0,190,59,0,85,85,0,237,63,0,6,100,0,2,45,0,242,95,0,37,56,0,119,88,0,214, +42,0,196,84,0,63,59,0,194,100,0,192,69,0,101,93,0,208,60,0,19,95,0,132,64,0,150,90,0,114,77,0,22,113,0,164,74,0,108,97,0,242,71,0,24,98,0,51,67,0,37,108,0,137,63,0,203,89,0,159,77,0,244,103,0,250,83,0,6,104,0,216,81,0,184,98,0,241,67,0,32,95,0,184,88, +0,147,99,0,96,71,0,13,87,0,40,72,0,67,102,0,51,64,0,179,85,0,176,69,0,77,74,0,121,70,0,206,72,0,144,72,0,217,77,0,139,70,0,92,60,0,69,52,0,245,60,0,120,66,0,151,61,0,163,60,0,68,50,0,167,62,0,36,61,0,50,44,0,24,52,0,166,53,0,9,54,0,119,58,0,62,52,0,95, +56,0,10,46,0,149,59,0,178,53,0,84,60,0,92,53,0,251,62,0,206,53,0,70,67,0,124,46,0,25,68,0,115,64,0,154,49,0,176,57,0,194,54,0,98,43,0,241,54,0,143,38,0,210,31,0,103,46,0,154,36,0,228,42,0,40,37,0,235,45,0,29,36,0,61,27,0,180,44,0,106,21,0,255,26,0,85, +29,0,45,26,0,61,36,0,238,36,0,131,33,0,172,32,0,153,21,0,205,34,0,237,47,0,71,30,0,39,26,0,185,43,0,122,20,0,193,24,0,149,19,0,94,36,0,215,19,0,225,30,0,106,17,0,125,33,0,85,12,0,202,29,0,182,3,0,44,45,0,155,13,0,26,41,0,98,18,0,21,48,0,208,11,0,100, +35,0,110,252,255,67,33,0,42,252,255,131,46,0,149,1,0,48,24,0,80,251,255,158,36,0,52,247,255,4,45,0,108,5,0,205,31,0,159,11,0,224,26,0,67,3,0,11,25,0,102,11,0,242,21,0,216,1,0,52,36,0,105,8,0,154,25,0,251,251,255,155,16,0,166,0,0,47,29,0,140,16,0,197, +23,0,87,255,255,174,31,0,61,5,0,52,27,0,100,10,0,182,30,0,209,254,255,56,24,0,72,6,0,251,12,0,171,12,0,246,24,0,76,254,255,137,22,0,25,253,255,121,19,0,40,4,0,169,9,0,135,250,255,192,21,0,210,244,255,217,24,0,215,252,255,33,13,0,221,245,255,98,7,0,227, +233,255,45,9,0,76,224,255,14,3,0,53,227,255,31,7,0,84,223,255,155,12,0,100,206,255,201,6,0,97,220,255,174,17,0,121,222,255,243,3,0,95,218,255,48,6,0,204,210,255,56,10,0,215,205,255,48,247,255,116,193,255,62,3,0,88,209,255,128,238,255,191,187,255,222, +253,255,51,204,255,223,232,255,247,191,255,202,242,255,101,184,255,54,234,255,106,202,255,109,238,255,11,192,255,118,227,255,126,192,255,46,224,255,123,174,255,238,246,255,113,200,255,235,228,255,114,174,255,249,241,255,15,193,255,32,226,255,6,177,255, +27,229,255,224,181,255,215,227,255,214,197,255,37,229,255,145,201,255,104,234,255,125,211,255,177,243,255,147,202,255,29,246,255,190,210,255,226,244,255,113,215,255,88,236,255,165,217,255,81,248,255,134,232,255,152,245,255,129,218,255,127,242,255,62, +218,255,101,4,0,64,236,255,56,250,255,89,228,255,226,255,255,140,241,255,103,5,0,200,243,255,113,0,0,126,255,255,134,18,0,173,238,255,28,6,0,7,241,255,65,5,0,18,248,255,134,1,0,134,237,255,153,1,0,176,228,255,118,9,0,238,248,255,120,4,0,2,244,255,188, +249,255,127,233,255,251,8,0,236,247,255,181,1,0,54,240,255,34,10,0,138,245,255,125,13,0,131,240,255,99,21,0,232,232,255,201,19,0,34,251,255,199,12,0,157,239,255,8,12,0,215,1,0,129,22,0,26,252,255,253,22,0,87,255,255,22,27,0,232,0,0,5,16,0,28,247,255, +211,26,0,140,8,0,150,24,0,116,5,0,21,27,0,25,251,255,115,26,0,108,6,0,142,19,0,217,240,255,184,40,0,54,21,0,129,29,0,103,3,0,152,51,0,243,20,0,36,31,0,165,6,0,141,44,0,126,12,0,185,41,0,199,16,0,250,34,0,55,9,0,121,56,0,166,38,0,77,46,0,240,31,0,156, +48,0,93,35,0,194,48,0,248,30,0,60,61,0,234,40,0,242,62,0,86,30,0,222,68,0,142,49,0,98,55,0,176,40,0,165,75,0,120,41,0,31,69,0,187,48,0,248,81,0,152,51,0,242,83,0,245,69,0,12,83,0,211,45,0,196,85,0,112,56,0,79,90,0,88,60,0,180,88,0,55,57,0,210,96,0,28, +65,0,172,97,0,92,70,0,40,98,0,57,59,0,91,94,0,56,52,0,210,77,0,133,45,0,96,112,0,191,67,0,49,99,0,81,56,0,68,85,0,192,48,0,125,93,0,96,54,0,170,98,0,225,37,0,14,96,0,216,51,0,87,87,0,62,23,0,174,88,0,47,33,0,225,91,0,152,26,0,76,80,0,170,11,0,10,88,0, +135,13,0,94,87,0,191,19,0,151,73,0,71,23,0,137,77,0,3,7,0,107,62,0,67,254,255,165,55,0,197,2,0,154,47,0,128,1,0,37,45,0,161,245,255,36,59,0,21,248,255,190,46,0,224,242,255,4,50,0,192,247,255,247,31,0,141,229,255,159,52,0,62,249,255,151,31,0,124,238,255, +58,40,0,110,235,255,46,38,0,39,231,255,207,30,0,157,249,255,63,53,0,112,244,255,178,46,0,73,235,255,249,41,0,55,251,255,96,49,0,219,245,255,56,40,0,20,238,255,182,42,0,25,250,255,107,35,0,149,235,255,11,43,0,209,237,255,175,37,0,199,228,255,6,39,0,197, +226,255,55,48,0,194,240,255,131,32,0,64,226,255,235,48,0,139,209,255,254,32,0,241,214,255,23,30,0,59,213,255,231,20,0,119,199,255,59,28,0,180,202,255,205,23,0,246,192,255,53,15,0,43,189,255,202,12,0,107,186,255,189,17,0,183,186,255,49,11,0,248,202,255, +89,21,0,233,196,255,119,14,0,134,201,255,38,10,0,132,208,255,31,21,0,172,227,255,227,27,0,215,232,255,138,24,0,109,239,255,55,17,0,190,253,255,219,19,0,114,243,255,181,20,0,178,3,0,157,34,0,153,254,255,79,22,0,78,254,255,27,28,0,200,16,0,242,42,0,249, +8,0,144,39,0,248,25,0,8,47,0,177,30,0,69,50,0,45,23,0,223,62,0,4,29,0,177,74,0,110,40,0,31,61,0,53,31,0,8,58,0,155,29,0,168,75,0,137,39,0,64,76,0,165,38,0,176,75,0,91,32,0,92,76,0,214,21,0,240,73,0,99,31,0,170,70,0,164,29,0,109,76,0,168,33,0,183,74,0, +90,21,0,97,75,0,16,24,0,224,78,0,139,44,0,133,63,0,183,30,0,78,65,0,202,20,0,154,76,0,147,32,0,74,72,0,228,28,0,156,69,0,56,27,0,28,65,0,78,31,0,22,69,0,234,35,0,119,72,0,209,39,0,197,75,0,30,30,0,183,69,0,189,28,0,60,70,0,162,29,0,167,85,0,23,45,0,211, +69,0,253,36,0,127,83,0,118,34,0,139,87,0,190,41,0,157,75,0,47,42,0,57,82,0,244,38,0,88,85,0,114,42,0,111,79,0,100,36,0,14,89,0,170,41,0,37,83,0,223,36,0,53,79,0,52,49,0,190,85,0,247,43,0,60,76,0,237,43,0,42,68,0,95,32,0,32,79,0,159,66,0,28,75,0,87,46, +0,41,67,0,152,45,0,179,75,0,96,59,0,152,77,0,21,48,0,153,91,0,117,62,0,246,89,0,100,66,0,204,85,0,248,74,0,254,103,0,36,70,0,24,99,0,183,78,0,233,100,0,129,69,0,228,94,0,197,58,0,217,94,0,218,62,0,233,102,0,29,77,0,229,98,0,190,64,0,59,115,0,183,95,0, +12,116,0,17,89,0,196,123,0,184,85,0,146,120,0,16,102,0,84,127,0,38,80,0,181,117,0,235,90,0,119,124,0,85,81,0,18,117,0,158,91,0,84,131,0,94,95,0,71,127,0,12,88,0,93,118,0,188,82,0,58,124,0,166,93,0,12,128,0,227,84,0,203,115,0,3,76,0,116,114,0,244,82,0, +2,115,0,4,79,0,157,105,0,5,82,0,112,126,0,162,76,0,145,118,0,71,67,0,67,101,0,18,58,0,114,117,0,126,64,0,132,101,0,227,58,0,230,107,0,160,59,0,82,99,0,224,55,0,23,95,0,163,64,0,43,97,0,184,52,0,102,85,0,206,42,0,89,80,0,252,56,0,252,82,0,229,67,0,99, +81,0,24,57,0,81,86,0,149,60,0,15,85,0,214,59,0,111,71,0,191,70,0,248,81,0,11,72,0,82,73,0,151,67,0,111,73,0,7,85,0,52,89,0,145,76,0,44,74,0,160,70,0,93,98,0,122,72,0,211,67,0,183,58,0,49,87,0,16,67,0,27,83,0,170,51,0,17,82,0,21,61,0,142,88,0,128,45,0, +35,84,0,187,50,0,226,87,0,241,43,0,116,74,0,251,23,0,88,75,0,254,31,0,169,87,0,62,26,0,80,82,0,99,24,0,130,65,0,86,18,0,45,69,0,21,23,0,21,55,0,85,16,0,202,59,0,144,19,0,64,47,0,160,12,0,187,47,0,12,22,0,83,48,0,28,16,0,25,46,0,245,11,0,28,56,0,87,21, +0,218,55,0,247,18,0,199,57,0,113,14,0,95,59,0,99,30,0,1,61,0,12,25,0,129,48,0,123,48,0,105,66,0,46,43,0,238,65,0,245,42,0,189,63,0,117,58,0,31,74,0,211,59,0,48,68,0,19,53,0,181,73,0,183,60,0,192,76,0,57,57,0,118,85,0,118,68,0,98,82,0,32,69,0,106,79,0, +47,57,0,60,85,0,191,63,0,249,84,0,64,50,0,98,87,0,197,53,0,110,102,0,92,53,0,136,95,0,14,43,0,190,123,0,13,42,0,146,103,0,23,44,0,127,102,0,206,58,0,166,108,0,137,48,0,252,117,0,41,43,0,220,105,0,35,59,0,115,102,0,82,58,0,239,106,0,146,47,0,236,103,0, +72,62,0,75,100,0,109,59,0,209,111,0,81,58,0,205,93,0,108,56,0,197,105,0,126,57,0,176,93,0,51,64,0,31,81,0,107,56,0,251,103,0,115,50,0,251,102,0,145,61,0,50,92,0,211,57,0,11,91,0,182,54,0,116,100,0,184,75,0,163,93,0,200,61,0,209,89,0,182,69,0,46,74,0, +94,48,0,151,91,0,39,65,0,215,81,0,237,60,0,18,96,0,76,68,0,215,86,0,56,60,0,139,86,0,75,59,0,119,90,0,65,62,0,224,91,0,245,72,0,204,86,0,188,62,0,52,83,0,46,76,0,50,82,0,149,67,0,202,90,0,243,57,0,116,83,0,72,72,0,135,83,0,206,79,0,125,90,0,148,79,0, +162,88,0,5,74,0,67,93,0,167,82,0,76,88,0,175,81,0,123,100,0,32,77,0,236,98,0,117,89,0,103,93,0,22,82,0,36,103,0,40,82,0,216,97,0,59,88,0,186,103,0,191,95,0,129,99,0,181,92,0,252,98,0,181,89,0,137,107,0,66,79,0,137,99,0,142,86,0,212,106,0,142,86,0,155, +100,0,94,77,0,126,104,0,207,88,0,97,92,0,122,74,0,59,88,0,141,70,0,106,82,0,141,55,0,124,91,0,253,73,0,68,80,0,198,51,0,219,76,0,178,54,0,94,86,0,206,59,0,199,77,0,101,53,0,113,81,0,226,39,0,236,76,0,65,39,0,142,68,0,74,43,0,0,72,0,4,64,0,236,66,0,176, +53,0,198,62,0,224,49,0,236,63,0,72,54,0,84,65,0,205,44,0,178,65,0,42,56,0,93,61,0,110,40,0,141,61,0,50,59,0,43,72,0,241,47,0,251,75,0,171,65,0,250,76,0,49,60,0,147,66,0,165,44,0,242,65,0,39,60,0,107,75,0,29,62,0,203,66,0,153,52,0,153,80,0,226,65,0,133, +77,0,123,61,0,133,75,0,104,56,0,200,76,0,161,58,0,227,77,0,188,60,0,114,73,0,10,52,0,20,69,0,236,53,0,106,62,0,188,56,0,129,45,0,206,60,0,89,56,0,34,62,0,228,63,0,167,61,0,20,60,0,208,45,0,2,54,0,33,63,0,37,33,0,216,51,0,139,38,0,224,55,0,135,50,0,234, +50,0,88,50,0,255,44,0,214,39,0,61,56,0,89,45,0,27,44,0,31,48,0,5,51,0,72,37,0,148,48,0,203,40,0,51,56,0,179,55,0,20,62,0,48,52,0,141,41,0,189,51,0,119,48,0,126,42,0,109,49,0,66,52,0,214,45,0,161,48,0,3,52,0,250,64,0,118,48,0,84,51,0,192,52,0,106,43,0, +216,61,0,41,63,0,166,67,0,156,58,0,186,64,0,16,52,0,228,76,0,239,62,0,104,78,0,175,55,0,169,78,0,162,62,0,4,66,0,173,58,0,227,75,0,141,66,0,5,83,0,15,49,0,254,77,0,253,67,0,119,80,0,217,62,0,215,78,0,127,51,0,185,81,0,51,72,0,95,89,0,90,69,0,210,85,0, +75,59,0,61,78,0,172,53,0,233,75,0,179,57,0,248,83,0,92,42,0,199,84,0,215,40,0,96,62,0,129,43,0,207,65,0,92,40,0,175,53,0,121,57,0,238,59,0,5,42,0,152,60,0,84,37,0,185,51,0,246,50,0,69,72,0,254,36,0,180,42,0,165,42,0,62,67,0,204,41,0,7,45,0,83,37,0,138, +47,0,28,33,0,141,41,0,34,38,0,198,57,0,47,33,0,238,53,0,223,38,0,17,43,0,250,24,0,204,44,0,183,41,0,197,57,0,154,42,0,218,53,0,48,28,0,254,40,0,198,31,0,85,53,0,234,33,0,130,56,0,223,21,0,159,55,0,47,29,0,62,58,0,12,38,0,154,46,0,36,30,0,130,39,0,6,33, +0,68,46,0,135,23,0,224,55,0,240,8,0,132,50,0,217,27,0,67,61,0,196,16,0,53,53,0,217,12,0,54,52,0,28,13,0,191,59,0,47,254,255,168,50,0,66,255,255,92,50,0,217,12,0,83,49,0,12,8,0,236,46,0,23,6,0,3,41,0,119,4,0,179,46,0,171,253,255,61,51,0,79,6,0,59,28,0, +5,247,255,110,22,0,186,3,0,10,29,0,32,249,255,42,11,0,115,252,255,168,251,255,216,231,255,137,254,255,151,230,255,39,3,0,153,228,255,101,253,255,171,241,255,195,9,0,52,223,255,133,222,255,120,221,255,69,233,255,247,217,255,193,231,255,94,219,255,159, +226,255,88,215,255,75,226,255,14,226,255,201,233,255,19,231,255,156,219,255,12,204,255,146,231,255,50,216,255,185,218,255,174,215,255,6,229,255,101,212,255,19,214,255,229,195,255,155,210,255,92,212,255,236,226,255,117,205,255,35,208,255,74,190,255,18, +205,255,243,191,255,32,211,255,203,195,255,121,218,255,76,210,255,4,233,255,54,203,255,216,240,255,207,202,255,137,233,255,107,187,255,91,231,255,225,192,255,222,233,255,147,196,255,246,238,255,79,198,255,57,238,255,180,192,255,132,240,255,233,185,255, +199,249,255,92,216,255,255,249,255,242,208,255,244,251,255,41,211,255,12,247,255,89,200,255,240,236,255,227,215,255,125,247,255,83,217,255,50,247,255,45,197,255,254,241,255,240,202,255,65,241,255,44,219,255,44,233,255,248,204,255,31,228,255,226,207,255, +244,242,255,139,191,255,139,233,255,143,206,255,252,243,255,5,202,255,229,229,255,175,183,255,27,223,255,191,187,255,103,231,255,127,195,255,28,222,255,205,193,255,137,227,255,34,184,255,62,217,255,114,180,255,16,225,255,155,187,255,125,211,255,173,197, +255,23,237,255,109,187,255,41,210,255,13,197,255,79,211,255,154,180,255,15,209,255,24,187,255,74,216,255,165,171,255,162,213,255,84,185,255,240,202,255,114,176,255,79,221,255,112,177,255,72,219,255,101,162,255,215,217,255,97,175,255,158,218,255,98,175, +255,73,219,255,43,173,255,123,233,255,143,177,255,197,243,255,242,174,255,254,226,255,124,161,255,82,236,255,99,167,255,40,224,255,31,169,255,139,236,255,60,169,255,244,227,255,82,167,255,229,232,255,251,168,255,79,232,255,23,170,255,205,228,255,221, +162,255,181,241,255,233,177,255,82,229,255,116,180,255,41,240,255,45,169,255,7,245,255,70,156,255,249,216,255,126,173,255,49,226,255,148,163,255,44,222,255,204,172,255,150,228,255,11,152,255,228,227,255,51,159,255,24,231,255,171,161,255,241,208,255,152, +162,255,57,227,255,51,160,255,213,216,255,114,148,255,166,216,255,25,152,255,36,222,255,242,144,255,134,212,255,17,159,255,231,195,255,50,156,255,152,198,255,60,148,255,221,203,255,240,141,255,144,190,255,64,153,255,165,196,255,225,168,255,48,199,255, +51,157,255,183,197,255,145,151,255,163,191,255,241,157,255,124,200,255,214,156,255,3,184,255,146,144,255,166,182,255,12,160,255,43,190,255,200,147,255,39,186,255,212,138,255,253,182,255,54,137,255,226,181,255,222,132,255,228,180,255,135,141,255,156,177, +255,148,125,255,70,172,255,161,130,255,113,175,255,105,109,255,156,172,255,1,117,255,165,172,255,155,122,255,231,159,255,131,133,255,237,155,255,39,111,255,119,159,255,36,101,255,124,149,255,6,89,255,168,145,255,254,88,255,86,137,255,151,88,255,229,149, +255,107,93,255,232,141,255,217,96,255,2,144,255,79,101,255,106,144,255,215,99,255,189,146,255,41,89,255,188,154,255,126,77,255,129,149,255,244,87,255,143,160,255,40,86,255,159,136,255,87,80,255,210,147,255,72,90,255,180,155,255,127,86,255,104,130,255, +36,91,255,176,120,255,85,90,255,10,144,255,166,93,255,37,151,255,91,87,255,172,112,255,255,92,255,99,136,255,239,103,255,26,135,255,84,94,255,206,141,255,201,98,255,57,140,255,186,90,255,47,141,255,226,108,255,60,127,255,159,103,255,89,139,255,192,106, +255,90,157,255,188,115,255,227,142,255,149,111,255,18,162,255,24,107,255,22,147,255,9,117,255,31,160,255,141,130,255,227,156,255,94,118,255,60,160,255,94,130,255,252,176,255,72,115,255,124,168,255,112,114,255,69,156,255,16,110,255,218,151,255,134,107, +255,43,155,255,90,112,255,122,147,255,56,110,255,109,150,255,173,108,255,48,153,255,126,97,255,90,151,255,113,106,255,177,150,255,17,84,255,124,154,255,248,88,255,18,150,255,90,87,255,88,142,255,213,76,255,124,143,255,254,80,255,57,133,255,185,77,255, +149,146,255,36,65,255,36,141,255,6,61,255,197,135,255,190,81,255,118,132,255,113,83,255,246,129,255,39,66,255,134,140,255,32,93,255,139,143,255,147,81,255,241,139,255,63,87,255,147,145,255,225,97,255,107,130,255,86,86,255,156,129,255,162,102,255,65,144, +255,69,102,255,43,141,255,203,90,255,168,140,255,26,106,255,189,139,255,116,109,255,76,129,255,98,109,255,251,142,255,124,100,255,1,119,255,160,112,255,150,136,255,147,109,255,29,125,255,198,102,255,153,114,255,246,102,255,83,143,255,161,92,255,98,135, +255,146,101,255,180,142,255,222,107,255,13,136,255,187,100,255,91,140,255,192,98,255,185,151,255,166,97,255,211,142,255,101,92,255,129,131,255,167,108,255,9,150,255,32,105,255,194,142,255,54,104,255,158,157,255,149,109,255,113,161,255,215,109,255,175, +154,255,183,97,255,135,160,255,191,118,255,86,151,255,159,105,255,215,148,255,148,97,255,129,149,255,141,116,255,67,152,255,4,109,255,27,149,255,27,112,255,18,164,255,77,111,255,240,176,255,152,117,255,187,160,255,113,113,255,83,175,255,36,124,255,152, +169,255,248,117,255,94,165,255,96,113,255,229,168,255,41,113,255,251,167,255,134,133,255,197,166,255,111,126,255,5,163,255,222,118,255,65,157,255,247,120,255,98,174,255,245,126,255,43,164,255,206,132,255,146,179,255,182,130,255,56,163,255,176,138,255, +153,176,255,243,138,255,34,179,255,128,130,255,221,166,255,68,132,255,20,163,255,222,126,255,193,157,255,121,130,255,209,163,255,213,122,255,11,159,255,223,127,255,200,168,255,234,131,255,87,164,255,144,120,255,109,153,255,218,107,255,190,151,255,61, +129,255,137,163,255,198,118,255,152,147,255,187,110,255,203,136,255,202,103,255,213,145,255,185,107,255,202,142,255,130,116,255,12,143,255,18,98,255,144,134,255,237,115,255,225,136,255,98,110,255,194,129,255,46,95,255,80,121,255,69,111,255,47,137,255, +140,91,255,195,125,255,160,104,255,238,136,255,206,101,255,191,141,255,255,96,255,96,120,255,110,89,255,224,113,255,30,92,255,153,111,255,94,89,255,41,120,255,205,77,255,12,99,255,126,71,255,94,118,255,112,95,255,147,120,255,48,95,255,163,100,255,230, +76,255,115,105,255,105,104,255,216,120,255,156,98,255,57,128,255,200,87,255,231,105,255,140,102,255,48,129,255,63,82,255,192,111,255,246,89,255,64,109,255,100,87,255,126,124,255,107,106,255,156,124,255,109,105,255,198,139,255,182,98,255,128,124,255,88, +115,255,103,136,255,94,96,255,121,128,255,224,110,255,230,130,255,244,114,255,111,133,255,17,115,255,230,135,255,25,120,255,253,133,255,76,102,255,157,118,255,93,124,255,176,139,255,92,116,255,202,144,255,39,115,255,222,148,255,3,119,255,233,156,255, +44,122,255,66,151,255,164,123,255,210,150,255,48,133,255,246,151,255,221,136,255,94,160,255,90,132,255,191,163,255,15,120,255,94,165,255,26,132,255,155,167,255,3,126,255,92,162,255,224,144,255,85,173,255,249,142,255,78,172,255,129,149,255,110,163,255, +231,130,255,202,164,255,238,147,255,89,184,255,100,142,255,7,187,255,68,144,255,175,172,255,190,152,255,190,166,255,241,143,255,204,176,255,147,147,255,132,171,255,123,142,255,3,174,255,168,135,255,206,176,255,28,143,255,164,162,255,69,134,255,241,181, +255,172,142,255,44,162,255,183,134,255,51,163,255,130,156,255,13,175,255,37,152,255,70,171,255,145,154,255,46,166,255,6,165,255,183,175,255,114,175,255,15,171,255,175,177,255,212,202,255,242,165,255,35,186,255,177,180,255,194,175,255,52,193,255,145,199, +255,9,184,255,4,184,255,180,191,255,117,184,255,74,192,255,63,176,255,126,194,255,203,184,255,144,202,255,222,195,255,179,199,255,186,191,255,34,205,255,84,194,255,216,200,255,192,189,255,33,198,255,48,183,255,241,205,255,44,199,255,29,200,255,40,190, +255,47,193,255,133,183,255,150,204,255,109,200,255,135,199,255,60,186,255,233,205,255,178,184,255,5,206,255,241,182,255,173,203,255,4,201,255,78,200,255,48,188,255,105,204,255,212,201,255,73,206,255,155,194,255,240,210,255,47,196,255,104,205,255,167, +186,255,173,204,255,179,203,255,234,206,255,151,196,255,12,194,255,225,200,255,134,201,255,166,180,255,49,198,255,112,190,255,126,197,255,118,195,255,179,195,255,238,185,255,14,201,255,202,188,255,181,198,255,54,198,255,28,203,255,53,195,255,14,208,255, +239,196,255,112,189,255,1,187,255,45,190,255,241,206,255,10,203,255,152,211,255,23,198,255,44,213,255,119,215,255,73,206,255,58,227,255,158,216,255,249,205,255,121,223,255,14,240,255,24,231,255,49,231,255,205,237,255,24,240,255,190,232,255,97,12,0,53, +241,255,17,253,255,46,5,0,248,15,0,12,246,255,115,9,0,88,249,255,246,9,0,10,250,255,106,19,0,173,252,255,46,27,0,188,8,0,7,34,0,171,253,255,175,31,0,216,1,0,185,21,0,180,253,255,220,25,0,40,10,0,148,54,0,149,15,0,126,25,0,54,12,0,12,32,0,119,19,0,248, +28,0,248,13,0,171,32,0,232,12,0,55,23,0,229,20,0,175,34,0,128,19,0,52,34,0,234,11,0,171,32,0,190,20,0,15,37,0,38,27,0,210,31,0,191,13,0,92,33,0,106,23,0,99,37,0,174,19,0,135,44,0,15,35,0,84,42,0,63,18,0,54,20,0,177,21,0,222,30,0,121,24,0,111,39,0,192, +19,0,0,35,0,161,23,0,231,49,0,238,19,0,4,40,0,96,13,0,194,36,0,141,17,0,64,45,0,254,4,0,125,37,0,165,252,255,230,49,0,46,11,0,49,50,0,228,16,0,213,45,0,62,15,0,59,46,0,255,13,0,106,43,0,112,17,0,219,49,0,192,9,0,36,41,0,40,16,0,222,32,0,180,13,0,87,46, +0,243,14,0,255,24,0,112,17,0,113,40,0,231,24,0,214,25,0,74,17,0,160,37,0,210,31,0,47,37,0,150,26,0,213,47,0,201,40,0,231,44,0,179,38,0,110,50,0,195,54,0,107,60,0,238,49,0,187,49,0,81,39,0,127,53,0,13,55,0,69,66,0,192,64,0,247,75,0,98,76,0,184,74,0,95, +74,0,162,78,0,22,76,0,115,93,0,238,76,0,238,102,0,0,89,0,159,97,0,234,83,0,14,98,0,87,88,0,52,107,0,184,99,0,38,93,0,71,96,0,100,97,0,133,91,0,162,113,0,215,82,0,24,103,0,197,85,0,154,100,0,15,80,0,191,94,0,21,63,0,16,102,0,49,81,0,231,96,0,204,79,0, +215,89,0,180,78,0,193,84,0,254,54,0,230,87,0,175,70,0,48,88,0,84,63,0,189,70,0,91,46,0,36,65,0,25,52,0,22,72,0,3,56,0,134,72,0,198,36,0,3,69,0,46,54,0,91,62,0,150,36,0,224,64,0,30,53,0,76,75,0,220,49,0,79,71,0,228,52,0,234,75,0,76,53,0,29,66,0,152,38, +0,161,74,0,41,52,0,228,71,0,116,46,0,238,76,0,38,44,0,101,75,0,211,57,0,40,85,0,26,59,0,83,92,0,173,60,0,232,89,0,224,67,0,93,94,0,163,37,0,209,107,0,227,63,0,200,104,0,104,72,0,234,105,0,87,57,0,254,110,0,231,70,0,14,103,0,9,75,0,121,93,0,223,72,0,115, +106,0,28,80,0,114,112,0,64,86,0,13,94,0,191,87,0,211,105,0,31,90,0,81,96,0,175,83,0,157,112,0,124,101,0,194,115,0,10,104,0,226,111,0,105,109,0,10,94,0,31,89,0,138,103,0,27,104,0,183,109,0,127,110,0,247,87,0,96,86,0,57,99,0,250,82,0,41,106,0,152,97,0, +225,85,0,160,100,0,55,96,0,188,94,0,133,87,0,180,88,0,173,86,0,238,82,0,161,92,0,240,92,0,210,86,0,233,86,0,253,106,0,10,96,0,89,99,0,36,110,0,96,102,0,11,101,0,113,116,0,7,102,0,19,116,0,171,106,0,94,116,0,17,107,0,184,130,0,194,115,0,33,133,0,43,126, +0,96,139,0,226,127,0,214,145,0,35,144,0,144,154,0,138,141,0,69,154,0,207,137,0,216,157,0,56,148,0,83,160,0,122,153,0,185,176,0,99,159,0,150,183,0,126,167,0,90,168,0,14,167,0,26,178,0,118,169,0,180,179,0,95,162,0,95,179,0,90,171,0,83,174,0,124,169,0,165, +190,0,251,183,0,216,186,0,64,159,0,0,186,0,21,163,0,164,187,0,105,155,0,94,180,0,165,143,0,95,195,0,254,173,0,120,185,0,20,170,0,32,186,0,23,169,0,51,183,0,27,165,0,6,185,0,96,169,0,244,191,0,156,157,0,115,193,0,46,164,0,60,195,0,179,158,0,245,195,0, +75,158,0,243,185,0,52,164,0,173,186,0,208,175,0,160,197,0,230,184,0,16,185,0,94,180,0,151,191,0,89,176,0,111,176,0,199,171,0,18,196,0,208,166,0,113,188,0,50,163,0,53,191,0,40,173,0,245,197,0,115,188,0,60,181,0,102,171,0,171,186,0,71,184,0,0,189,0,25, +186,0,84,194,0,250,183,0,252,186,0,83,185,0,191,192,0,147,180,0,44,191,0,238,178,0,172,189,0,135,180,0,248,181,0,127,162,0,95,189,0,13,187,0,231,170,0,117,169,0,221,185,0,157,161,0,243,176,0,18,170,0,134,190,0,19,167,0,106,175,0,92,150,0,95,180,0,121, +157,0,75,190,0,136,160,0,136,176,0,111,159,0,17,180,0,95,163,0,82,175,0,58,165,0,139,167,0,206,158,0,48,171,0,140,153,0,92,164,0,15,166,0,113,163,0,214,148,0,145,157,0,237,166,0,40,155,0,230,160,0,238,152,0,12,168,0,200,164,0,211,184,0,16,153,0,160,180, +0,149,167,0,68,177,0,39,171,0,91,190,0,80,165,0,98,171,0,142,180,0,49,169,0,86,170,0,30,181,0,172,150,0,203,160,0,71,171,0,113,171,0,193,166,0,132,166,0,226,169,0,63,157,0,81,163,0,66,156,0,152,178,0,217,165,0,127,165,0,211,140,0,251,164,0,215,134,0, +144,165,0,5,147,0,135,160,0,124,138,0,37,156,0,150,119,0,174,152,0,181,123,0,185,149,0,173,113,0,26,156,0,153,113,0,82,158,0,143,120,0,60,147,0,86,106,0,157,148,0,41,115,0,53,134,0,242,104,0,174,134,0,209,117,0,93,133,0,241,111,0,175,124,0,202,109,0, +149,135,0,217,105,0,231,126,0,54,113,0,59,113,0,180,107,0,76,134,0,253,119,0,202,114,0,60,111,0,82,102,0,228,113,0,64,111,0,68,118,0,226,103,0,122,116,0,236,98,0,246,122,0,220,95,0,232,114,0,60,102,0,7,121,0,149,94,0,123,115,0,169,89,0,135,128,0,219, +97,0,22,128,0,11,77,0,247,114,0,2,95,0,99,109,0,94,77,0,234,110,0,98,94,0,188,112,0,170,81,0,237,102,0,97,85,0,38,105,0,254,92,0,175,110,0,148,86,0,109,108,0,219,98,0,130,98,0,196,99,0,237,97,0,165,95,0,56,100,0,211,95,0,18,93,0,175,99,0,153,92,0,52, +86,0,173,96,0,232,103,0,184,102,0,53,110,0,154,98,0,52,99,0,164,100,0,126,99,0,183,102,0,117,90,0,172,111,0,154,92,0,137,88,0,134,90,0,244,98,0,83,93,0,137,99,0,238,85,0,194,101,0,156,89,0,79,97,0,168,88,0,111,96,0,180,96,0,153,97,0,230,93,0,79,103,0, +127,93,0,200,101,0,196,81,0,111,91,0,106,100,0,105,110,0,130,83,0,85,99,0,220,110,0,250,104,0,254,128,0,159,112,0,129,94,0,142,105,0,161,95,0,246,87,0,254,119,0,169,107,0,22,99,0,18,103,0,251,104,0,67,111,0,121,95,0,196,98,0,52,98,0,187,100,0,201,87, +0,34,88,0,203,93,0,209,84,0,213,82,0,248,90,0,0,75,0,30,84,0,110,69,0,134,73,0,217,70,0,86,73,0,0,62,0,153,62,0,140,66,0,32,64,0,27,62,0,8,78,0,35,43,0,26,61,0,228,52,0,102,69,0,130,51,0,16,59,0,67,61,0,152,66,0,22,33,0,175,65,0,202,45,0,203,69,0,73, +51,0,126,57,0,58,48,0,221,67,0,186,44,0,78,76,0,161,54,0,117,65,0,147,53,0,140,68,0,4,66,0,182,69,0,90,57,0,175,60,0,83,44,0,93,70,0,67,58,0,30,65,0,8,67,0,232,68,0,66,54,0,180,65,0,74,52,0,210,58,0,38,58,0,163,60,0,194,75,0,70,64,0,45,50,0,17,53,0,221, +48,0,235,46,0,189,47,0,189,58,0,157,29,0,94,42,0,57,43,0,70,45,0,194,33,0,9,44,0,50,30,0,54,30,0,161,24,0,101,36,0,150,20,0,207,25,0,84,16,0,216,23,0,165,29,0,184,30,0,234,20,0,104,23,0,192,17,0,224,21,0,233,12,0,103,21,0,102,14,0,154,26,0,245,3,0,2, +37,0,233,10,0,230,42,0,69,3,0,223,19,0,189,1,0,150,31,0,14,13,0,214,27,0,251,16,0,169,35,0,129,14,0,60,24,0,162,7,0,113,45,0,27,6,0,158,37,0,129,10,0,228,38,0,59,7,0,83,31,0,200,23,0,134,42,0,31,25,0,195,45,0,134,17,0,55,33,0,204,28,0,64,43,0,138,10, +0,83,29,0,222,16,0,254,32,0,218,27,0,13,34,0,226,33,0,73,43,0,36,26,0,12,36,0,86,37,0,216,34,0,133,39,0,44,49,0,39,29,0,35,29,0,128,30,0,10,46,0,254,27,0,221,23,0,254,19,0,21,16,0,207,19,0,155,23,0,95,19,0,53,13,0,203,8,0,137,9,0,207,15,0,133,8,0,185, +8,0,3,2,0,59,253,255,176,249,255,170,1,0,22,4,0,127,233,255,71,234,255,56,244,255,57,231,255,131,234,255,32,244,255,29,238,255,151,227,255,244,226,255,234,233,255,91,227,255,33,236,255,231,225,255,120,220,255,36,225,255,252,210,255,102,217,255,210,209, +255,52,214,255,70,215,255,233,217,255,20,210,255,224,215,255,209,225,255,118,212,255,151,206,255,88,199,255,62,211,255,178,194,255,29,216,255,81,191,255,201,223,255,218,205,255,85,241,255,26,212,255,201,225,255,181,207,255,107,223,255,82,214,255,185, +230,255,142,215,255,120,234,255,113,225,255,173,242,255,71,226,255,38,245,255,243,225,255,182,246,255,95,225,255,45,1,0,192,228,255,228,246,255,97,232,255,143,252,255,50,238,255,222,253,255,48,227,255,95,6,0,34,228,255,149,12,0,175,241,255,38,10,0,3, +240,255,136,248,255,69,240,255,76,6,0,25,228,255,219,248,255,189,242,255,0,251,255,46,224,255,130,251,255,79,221,255,225,4,0,240,215,255,123,243,255,204,211,255,161,243,255,51,212,255,251,223,255,4,199,255,83,225,255,111,213,255,87,241,255,210,197,255, +71,220,255,116,201,255,179,219,255,102,202,255,215,210,255,200,201,255,8,218,255,38,191,255,60,202,255,68,187,255,5,202,255,31,196,255,118,200,255,144,181,255,232,194,255,74,195,255,191,215,255,106,174,255,220,191,255,251,173,255,241,187,255,209,198, +255,96,199,255,238,185,255,2,192,255,184,168,255,222,191,255,208,180,255,54,180,255,181,189,255,62,164,255,208,193,255,200,170,255,52,178,255,189,174,255,135,160,255,160,156,255,113,177,255,55,173,255,204,163,255,147,157,255,254,157,255,234,169,255,33, +175,255,99,163,255,72,160,255,210,174,255,64,171,255,48,155,255,6,157,255,114,164,255,107,152,255,144,169,255,175,164,255,77,182,255,219,152,255,127,169,255,51,163,255,103,170,255,94,162,255,222,185,255,136,145,255,163,182,255,176,150,255,205,174,255, +212,154,255,162,177,255,23,151,255,126,184,255,17,147,255,71,175,255,210,144,255,60,188,255,45,149,255,0,180,255,91,135,255,83,180,255,50,152,255,252,178,255,250,144,255,235,176,255,36,146,255,63,186,255,229,150,255,60,183,255,138,162,255,231,177,255, +48,151,255,144,176,255,160,144,255,245,178,255,172,140,255,211,174,255,117,149,255,139,172,255,157,152,255,141,170,255,19,136,255,182,150,255,142,155,255,170,161,255,56,138,255,229,150,255,198,143,255,38,153,255,238,146,255,192,152,255,86,145,255,86, +160,255,48,154,255,103,148,255,233,142,255,68,146,255,222,146,255,41,146,255,170,142,255,211,142,255,154,154,255,125,153,255,46,150,255,191,141,255,110,157,255,6,153,255,48,141,255,94,154,255,95,155,255,44,160,255,226,141,255,232,158,255,112,138,255, +54,148,255,81,137,255,43,164,255,13,143,255,115,161,255,185,130,255,26,169,255,209,150,255,46,174,255,70,155,255,127,178,255,0,151,255,129,176,255,79,152,255,23,170,255,110,148,255,51,170,255,66,146,255,18,178,255,203,167,255,223,176,255,16,159,255,252, +164,255,190,156,255,87,162,255,130,169,255,132,176,255,224,162,255,233,190,255,1,157,255,67,190,255,89,163,255,164,179,255,154,158,255,93,175,255,180,167,255,154,181,255,3,162,255,65,194,255,195,161,255,169,175,255,55,168,255,117,171,255,42,162,255,53, +176,255,162,147,255,222,174,255,111,158,255,76,172,255,1,163,255,112,169,255,75,158,255,48,162,255,238,154,255,124,172,255,99,144,255,228,165,255,166,142,255,244,157,255,203,132,255,114,149,255,173,131,255,62,145,255,94,127,255,4,149,255,135,118,255, +86,131,255,40,132,255,46,125,255,95,122,255,57,128,255,35,128,255,229,129,255,68,119,255,36,104,255,221,110,255,99,121,255,149,123,255,31,110,255,217,116,255,113,99,255,91,117,255,210,95,255,226,113,255,182,115,255,7,124,255,21,109,255,42,123,255,25, +112,255,22,120,255,255,114,255,103,114,255,130,110,255,167,111,255,134,106,255,102,121,255,17,127,255,5,117,255,220,124,255,129,133,255,193,129,255,103,123,255,21,130,255,101,112,255,234,140,255,51,103,255,145,146,255,75,125,255,229,146,255,250,122,255, +192,156,255,171,133,255,220,169,255,195,137,255,140,157,255,76,135,255,55,151,255,250,139,255,39,162,255,179,132,255,187,167,255,165,133,255,140,169,255,94,139,255,136,176,255,248,151,255,24,165,255,139,128,255,103,153,255,116,155,255,148,163,255,19, +138,255,206,161,255,190,147,255,249,152,255,104,154,255,230,157,255,246,144,255,119,162,255,237,152,255,132,163,255,70,157,255,1,165,255,153,146,255,244,163,255,205,158,255,212,159,255,242,158,255,150,157,255,30,166,255,201,169,255,43,159,255,105,165, +255,0,160,255,203,161,255,209,145,255,63,166,255,163,161,255,81,179,255,223,173,255,45,171,255,40,152,255,46,166,255,191,158,255,101,171,255,131,162,255,168,158,255,187,170,255,213,160,255,150,159,255,59,161,255,81,163,255,128,162,255,124,154,255,180, +150,255,254,151,255,130,165,255,171,170,255,144,150,255,50,134,255,67,157,255,103,147,255,95,157,255,47,141,255,234,143,255,24,145,255,20,159,255,7,137,255,79,146,255,106,147,255,109,155,255,96,141,255,228,146,255,191,139,255,119,152,255,112,140,255, +177,144,255,209,141,255,66,155,255,10,131,255,4,156,255,248,144,255,29,152,255,134,143,255,85,163,255,24,129,255,38,132,255,173,143,255,9,165,255,60,120,255,213,148,255,94,127,255,162,152,255,193,140,255,143,166,255,153,139,255,43,155,255,36,120,255, +75,139,255,145,139,255,229,149,255,109,139,255,78,151,255,248,133,255,134,131,255,135,138,255,107,151,255,44,144,255,224,141,255,10,145,255,239,140,255,214,142,255,13,153,255,93,147,255,252,138,255,152,148,255,0,131,255,232,147,255,76,137,255,119,152, +255,70,141,255,113,141,255,157,136,255,62,154,255,130,145,255,244,147,255,34,126,255,94,152,255,230,132,255,108,156,255,27,135,255,215,149,255,252,118,255,37,148,255,235,130,255,1,142,255,14,101,255,138,153,255,200,104,255,202,147,255,47,99,255,165,129, +255,4,88,255,225,136,255,113,87,255,192,131,255,231,71,255,8,134,255,186,89,255,97,127,255,63,91,255,117,130,255,86,95,255,6,127,255,247,87,255,228,124,255,209,83,255,129,127,255,18,105,255,36,115,255,22,106,255,9,121,255,165,107,255,99,117,255,61,115, +255,4,110,255,179,96,255,157,117,255,32,108,255,87,112,255,38,101,255,183,113,255,148,118,255,107,109,255,56,103,255,188,114,255,45,114,255,4,111,255,56,99,255,20,116,255,219,104,255,138,115,255,217,109,255,136,117,255,7,119,255,38,115,255,202,91,255, +75,124,255,19,107,255,128,123,255,1,110,255,15,122,255,129,106,255,83,126,255,146,105,255,3,130,255,93,112,255,206,136,255,36,99,255,33,146,255,129,108,255,48,138,255,159,99,255,226,145,255,37,117,255,38,131,255,70,106,255,96,116,255,242,95,255,97,138, +255,44,109,255,105,134,255,180,95,255,183,129,255,133,101,255,239,126,255,147,99,255,115,118,255,139,96,255,204,126,255,145,98,255,33,118,255,191,104,255,37,122,255,224,99,255,41,123,255,174,94,255,51,123,255,245,96,255,200,133,255,255,96,255,181,126, +255,127,99,255,216,138,255,4,111,255,17,133,255,96,120,255,60,138,255,207,107,255,180,141,255,33,117,255,151,150,255,177,125,255,2,156,255,90,130,255,162,160,255,228,136,255,191,170,255,125,142,255,38,155,255,51,145,255,38,191,255,9,146,255,18,177,255, +194,146,255,32,172,255,75,156,255,214,184,255,171,164,255,48,184,255,210,161,255,215,184,255,254,183,255,152,188,255,15,180,255,75,180,255,71,177,255,216,194,255,204,188,255,168,200,255,116,196,255,64,182,255,1,188,255,148,216,255,45,204,255,178,200, +255,171,206,255,125,211,255,244,219,255,7,208,255,126,213,255,236,221,255,252,225,255,15,221,255,96,229,255,159,233,255,87,0,0,188,237,255,231,231,255,103,247,255,77,249,255,202,249,255,0,255,255,236,231,255,32,236,255,155,249,255,102,248,255,182,252, +255,174,244,255,95,240,255,162,229,255,252,240,255,193,230,255,123,12,0,56,227,255,243,247,255,20,224,255,105,251,255,201,226,255,128,249,255,14,218,255,221,249,255,52,211,255,129,253,255,168,213,255,27,249,255,176,202,255,240,249,255,33,211,255,171, +251,255,154,204,255,20,243,255,29,202,255,102,246,255,229,208,255,11,243,255,115,203,255,237,234,255,101,208,255,135,237,255,237,207,255,158,246,255,234,220,255,189,247,255,242,205,255,41,251,255,215,216,255,214,239,255,179,202,255,21,250,255,19,208, +255,100,238,255,161,209,255,34,248,255,227,206,255,120,242,255,51,209,255,184,249,255,116,213,255,235,247,255,42,213,255,137,252,255,39,208,255,72,252,255,111,218,255,211,0,0,174,225,255,116,10,0,186,222,255,216,17,0,29,233,255,167,16,0,71,235,255,242, +5,0,217,238,255,226,6,0,166,236,255,168,5,0,62,250,255,15,3,0,153,253,255,167,16,0,115,8,0,2,24,0,22,4,0,242,24,0,178,15,0,85,24,0,208,16,0,78,6,0,157,6,0,13,25,0,31,23,0,26,42,0,207,31,0,219,30,0,238,17,0,189,37,0,87,27,0,61,53,0,237,36,0,33,45,0,182, +40,0,125,53,0,51,24,0,121,59,0,70,32,0,172,38,0,28,30,0,18,47,0,128,41,0,46,51,0,76,19,0,8,43,0,58,23,0,243,53,0,232,19,0,47,48,0,216,20,0,254,54,0,91,26,0,160,61,0,181,13,0,129,60,0,65,19,0,184,68,0,252,16,0,6,51,0,47,15,0,89,55,0,185,7,0,12,58,0,216, +12,0,132,70,0,153,9,0,201,44,0,127,22,0,242,50,0,102,19,0,134,55,0,118,22,0,172,52,0,9,31,0,197,51,0,42,21,0,193,33,0,143,1,0,172,40,0,244,17,0,1,42,0,58,8,0,5,48,0,211,2,0,244,56,0,141,8,0,64,50,0,125,5,0,15,49,0,120,7,0,76,39,0,186,251,255,26,54,0, +73,254,255,102,38,0,123,252,255,78,40,0,90,245,255,22,40,0,237,14,0,89,37,0,6,249,255,249,43,0,193,246,255,222,39,0,162,1,0,84,52,0,238,254,255,109,38,0,18,254,255,95,36,0,76,12,0,91,60,0,9,20,0,26,38,0,42,5,0,182,47,0,79,14,0,144,46,0,157,20,0,253,63, +0,171,31,0,33,59,0,212,42,0,126,56,0,90,41,0,138,57,0,201,46,0,39,54,0,84,47,0,7,61,0,247,50,0,35,79,0,13,53,0,120,54,0,99,50,0,3,86,0,3,62,0,51,87,0,125,59,0,136,75,0,217,59,0,210,71,0,223,66,0,119,81,0,217,59,0,207,79,0,79,64,0,125,84,0,250,62,0,121, +87,0,2,67,0,162,94,0,118,61,0,0,87,0,160,55,0,136,86,0,207,51,0,38,97,0,22,55,0,32,90,0,215,41,0,236,100,0,76,55,0,16,101,0,150,46,0,92,84,0,200,25,0,53,106,0,226,29,0,133,86,0,61,29,0,174,75,0,33,15,0,2,100,0,48,32,0,139,76,0,37,17,0,130,81,0,26,21, +0,29,72,0,232,18,0,79,79,0,102,27,0,36,57,0,159,9,0,229,62,0,250,9,0,172,66,0,205,38,0,207,70,0,222,37,0,54,72,0,139,37,0,28,78,0,230,37,0,184,73,0,73,56,0,203,74,0,150,63,0,12,85,0,128,66,0,101,79,0,71,80,0,82,79,0,232,73,0,57,90,0,215,89,0,117,88,0, +81,71,0,133,102,0,24,95,0,6,108,0,82,107,0,105,112,0,254,101,0,185,111,0,15,111,0,28,106,0,253,96,0,69,129,0,178,90,0,129,132,0,78,102,0,182,126,0,67,106,0,74,128,0,179,102,0,17,127,0,219,104,0,192,138,0,52,104,0,62,138,0,27,85,0,126,122,0,0,65,0,163, +128,0,124,88,0,103,136,0,227,74,0,145,119,0,238,70,0,154,114,0,16,49,0,74,121,0,141,47,0,49,107,0,33,43,0,21,102,0,192,40,0,39,113,0,50,43,0,253,99,0,195,31,0,94,87,0,148,15,0,237,90,0,88,28,0,113,93,0,161,22,0,12,83,0,27,25,0,176,66,0,223,32,0,12,67, +0,111,20,0,157,72,0,19,26,0,149,73,0,231,26,0,232,73,0,25,46,0,157,78,0,140,43,0,113,85,0,130,59,0,108,99,0,162,68,0,159,102,0,90,63,0,174,95,0,56,82,0,203,113,0,138,93,0,135,122,0,239,99,0,246,140,0,195,106,0,158,126,0,172,109,0,239,137,0,184,128,0, +105,145,0,73,134,0,100,143,0,217,133,0,254,153,0,98,128,0,211,156,0,98,134,0,54,156,0,234,133,0,159,142,0,97,123,0,69,155,0,122,145,0,149,148,0,26,137,0,227,163,0,128,144,0,97,151,0,204,134,0,86,162,0,52,114,0,197,163,0,254,120,0,236,159,0,149,130,0, +229,150,0,6,121,0,215,165,0,103,125,0,133,166,0,214,126,0,188,161,0,42,128,0,247,158,0,153,123,0,234,168,0,157,126,0,17,165,0,35,119,0,116,164,0,229,114,0,118,160,0,203,109,0,102,162,0,163,114,0,166,156,0,219,121,0,225,147,0,106,113,0,185,152,0,236,108, +0,196,160,0,20,106,0,210,145,0,116,103,0,227,138,0,10,100,0,178,150,0,139,94,0,113,156,0,209,92,0,17,147,0,94,89,0,93,150,0,52,99,0,148,144,0,53,87,0,95,146,0,12,97,0,188,134,0,248,89,0,192,138,0,212,96,0,61,143,0,158,91,0,103,161,0,177,112,0,62,152, +0,33,108,0,96,144,0,227,109,0,146,154,0,57,113,0,226,153,0,56,126,0,183,149,0,120,119,0,151,160,0,124,123,0,250,159,0,29,135,0,160,161,0,104,123,0,179,155,0,7,133,0,187,169,0,76,130,0,42,164,0,176,124,0,193,161,0,210,136,0,0,169,0,193,124,0,245,160,0, +181,129,0,213,165,0,145,130,0,119,157,0,54,117,0,246,171,0,130,141,0,166,166,0,211,119,0,112,153,0,92,105,0,84,146,0,157,128,0,114,156,0,77,116,0,35,153,0,253,125,0,213,149,0,1,123,0,245,160,0,130,109,0,111,157,0,246,107,0,249,150,0,219,100,0,2,144,0, +45,79,0,106,140,0,222,81,0,58,139,0,113,90,0,136,136,0,1,82,0,239,138,0,67,76,0,185,124,0,212,67,0,46,139,0,162,71,0,202,125,0,68,62,0,20,119,0,114,62,0,174,133,0,234,71,0,120,119,0,216,48,0,219,118,0,86,55,0,2,114,0,22,56,0,22,100,0,18,52,0,15,110,0, +12,64,0,226,94,0,129,46,0,34,96,0,8,37,0,223,101,0,131,40,0,184,99,0,185,48,0,4,87,0,103,32,0,237,90,0,102,39,0,87,80,0,230,14,0,93,94,0,196,16,0,142,89,0,210,13,0,45,76,0,54,5,0,72,76,0,93,6,0,90,67,0,243,1,0,236,76,0,161,1,0,35,69,0,129,245,255,75, +64,0,241,247,255,251,65,0,48,246,255,206,66,0,231,254,255,231,73,0,220,244,255,151,67,0,52,250,255,209,61,0,239,253,255,147,55,0,132,247,255,245,53,0,178,248,255,47,66,0,221,253,255,84,66,0,109,14,0,184,47,0,145,4,0,139,49,0,251,19,0,195,50,0,73,15,0, +97,63,0,62,13,0,182,66,0,206,20,0,125,54,0,241,18,0,82,58,0,76,19,0,74,40,0,230,17,0,92,50,0,208,13,0,5,46,0,121,18,0,56,41,0,97,2,0,90,39,0,44,251,255,99,29,0,101,7,0,202,42,0,110,252,255,43,38,0,247,242,255,103,24,0,229,223,255,125,28,0,23,237,255, +71,9,0,227,220,255,143,28,0,77,236,255,22,16,0,1,212,255,225,17,0,226,217,255,33,18,0,17,209,255,153,20,0,13,215,255,111,23,0,140,223,255,211,12,0,32,215,255,21,16,0,67,223,255,241,15,0,4,213,255,220,12,0,41,224,255,85,15,0,86,223,255,99,10,0,250,222, +255,176,3,0,198,225,255,26,12,0,8,216,255,227,21,0,191,216,255,112,16,0,37,218,255,53,255,255,251,223,255,207,8,0,175,219,255,35,255,255,52,213,255,189,8,0,17,227,255,205,5,0,247,215,255,94,5,0,29,230,255,50,7,0,121,218,255,228,0,0,198,223,255,78,8,0, +65,228,255,253,253,255,15,210,255,73,1,0,86,206,255,157,3,0,222,216,255,160,7,0,58,206,255,228,0,0,183,226,255,171,253,255,207,208,255,130,247,255,26,197,255,34,253,255,159,204,255,108,255,255,147,199,255,17,242,255,183,198,255,25,241,255,226,193,255, +167,247,255,220,196,255,17,242,255,99,181,255,59,235,255,91,196,255,199,239,255,190,191,255,32,223,255,112,184,255,159,234,255,227,205,255,59,222,255,24,189,255,117,226,255,88,188,255,128,214,255,195,183,255,58,219,255,39,181,255,143,238,255,42,185,255, +253,222,255,118,189,255,112,231,255,143,184,255,81,226,255,241,194,255,145,225,255,249,191,255,150,216,255,204,193,255,246,224,255,238,187,255,68,218,255,206,195,255,199,222,255,113,176,255,111,228,255,7,182,255,76,230,255,49,157,255,229,225,255,20,171, +255,109,224,255,242,173,255,58,229,255,118,165,255,175,227,255,7,178,255,20,210,255,6,174,255,228,221,255,68,170,255,20,209,255,122,149,255,188,214,255,56,162,255,147,204,255,167,145,255,31,192,255,110,140,255,209,199,255,194,142,255,173,201,255,118, +153,255,74,202,255,142,145,255,179,192,255,113,140,255,16,195,255,78,142,255,142,190,255,123,139,255,245,194,255,54,126,255,125,191,255,70,140,255,5,187,255,236,121,255,123,184,255,49,130,255,109,194,255,200,140,255,118,192,255,254,136,255,181,187,255, +99,135,255,82,191,255,38,142,255,50,180,255,95,146,255,205,177,255,40,120,255,114,177,255,93,137,255,236,183,255,79,146,255,78,178,255,240,135,255,33,177,255,55,128,255,220,187,255,93,129,255,183,185,255,204,131,255,12,168,255,22,132,255,213,164,255, +133,133,255,237,176,255,253,133,255,189,171,255,208,134,255,64,177,255,182,137,255,148,183,255,190,131,255,26,169,255,121,140,255,96,158,255,62,127,255,216,163,255,81,125,255,0,170,255,210,126,255,186,180,255,169,139,255,27,167,255,32,138,255,112,171, +255,133,138,255,20,172,255,203,122,255,134,181,255,78,133,255,25,187,255,13,125,255,80,183,255,151,124,255,82,187,255,79,128,255,155,185,255,166,142,255,118,181,255,62,126,255,74,190,255,215,148,255,148,192,255,250,138,255,95,194,255,209,156,255,96,203, +255,161,146,255,68,197,255,156,161,255,56,182,255,222,167,255,170,201,255,104,173,255,179,197,255,206,172,255,3,183,255,132,164,255,52,200,255,43,181,255,35,202,255,88,171,255,156,212,255,27,181,255,54,205,255,82,180,255,107,191,255,119,179,255,237,202, +255,128,179,255,147,206,255,227,170,255,46,202,255,89,159,255,53,189,255,136,161,255,131,216,255,110,166,255,157,207,255,147,169,255,193,199,255,173,154,255,186,210,255,93,165,255,185,208,255,166,157,255,21,201,255,166,158,255,184,190,255,110,139,255, +39,197,255,48,154,255,11,184,255,111,142,255,30,188,255,205,157,255,13,198,255,41,152,255,205,190,255,50,145,255,132,189,255,189,156,255,168,179,255,6,154,255,141,177,255,208,158,255,14,184,255,245,164,255,224,183,255,100,171,255,179,174,255,156,168, +255,225,187,255,175,172,255,6,191,255,10,176,255,89,193,255,56,181,255,7,205,255,149,179,255,199,207,255,167,190,255,26,196,255,250,185,255,164,206,255,168,195,255,36,213,255,58,202,255,165,214,255,13,185,255,55,208,255,160,195,255,193,206,255,215,203, +255,238,208,255,197,189,255,146,226,255,207,195,255,128,225,255,207,198,255,28,224,255,25,193,255,120,218,255,43,199,255,56,225,255,16,202,255,175,219,255,90,199,255,121,211,255,172,201,255,166,219,255,154,200,255,139,224,255,191,190,255,250,210,255, +128,193,255,158,214,255,146,201,255,177,220,255,10,186,255,104,211,255,167,187,255,160,205,255,103,182,255,216,203,255,104,178,255,97,201,255,134,164,255,53,195,255,16,166,255,155,189,255,8,155,255,93,172,255,74,148,255,49,167,255,1,148,255,187,168,255, +140,146,255,60,162,255,49,146,255,208,154,255,171,129,255,207,163,255,88,142,255,219,154,255,234,142,255,130,144,255,96,153,255,4,137,255,147,130,255,12,148,255,31,163,255,132,143,255,52,151,255,39,152,255,235,155,255,151,148,255,187,165,255,64,168,255, +115,166,255,215,149,255,72,156,255,65,166,255,115,168,255,152,191,255,99,161,255,92,176,255,190,166,255,185,169,255,51,176,255,117,189,255,160,177,255,217,190,255,165,194,255,130,176,255,168,189,255,81,189,255,95,188,255,136,191,255,237,171,255,234,200, +255,96,189,255,34,200,255,208,183,255,198,204,255,86,194,255,95,210,255,152,187,255,235,202,255,73,179,255,184,190,255,147,177,255,115,208,255,142,195,255,168,189,255,29,176,255,222,188,255,114,174,255,104,189,255,158,178,255,128,172,255,159,175,255, +182,177,255,127,164,255,167,169,255,242,178,255,240,171,255,232,155,255,97,165,255,250,157,255,174,155,255,54,170,255,37,159,255,93,165,255,240,152,255,104,164,255,4,152,255,80,156,255,193,136,255,32,164,255,109,141,255,142,162,255,83,139,255,125,159, +255,126,148,255,5,164,255,4,138,255,198,141,255,118,149,255,117,161,255,24,136,255,221,154,255,253,136,255,170,148,255,42,140,255,68,173,255,202,152,255,215,172,255,51,143,255,188,172,255,102,152,255,225,173,255,121,153,255,117,172,255,60,166,255,83, +185,255,173,159,255,202,186,255,163,163,255,219,188,255,150,173,255,152,178,255,18,162,255,79,196,255,112,160,255,176,185,255,51,172,255,9,192,255,212,179,255,218,194,255,155,169,255,162,198,255,112,181,255,88,200,255,169,179,255,224,185,255,164,171, +255,156,192,255,118,173,255,244,200,255,104,164,255,144,200,255,55,173,255,252,203,255,251,165,255,201,197,255,53,162,255,105,189,255,34,165,255,80,186,255,18,162,255,51,191,255,1,160,255,199,187,255,66,159,255,47,182,255,14,157,255,3,181,255,89,153, +255,243,163,255,176,147,255,163,174,255,81,153,255,161,164,255,15,144,255,15,150,255,24,145,255,191,175,255,162,143,255,210,161,255,71,146,255,139,173,255,85,138,255,245,165,255,116,148,255,115,170,255,203,126,255,17,181,255,126,134,255,12,174,255,132, +153,255,201,192,255,121,130,255,142,174,255,33,140,255,157,192,255,80,140,255,28,181,255,46,149,255,143,186,255,158,147,255,185,192,255,224,145,255,48,181,255,177,148,255,91,185,255,194,150,255,112,194,255,21,151,255,243,189,255,246,155,255,201,210,255, +86,163,255,149,206,255,69,150,255,142,192,255,92,144,255,198,191,255,247,170,255,18,213,255,187,141,255,251,206,255,114,141,255,167,209,255,50,155,255,28,212,255,37,149,255,3,210,255,55,161,255,9,213,255,250,147,255,89,206,255,109,153,255,85,199,255, +97,146,255,36,203,255,127,154,255,194,190,255,203,141,255,137,204,255,168,150,255,175,191,255,216,148,255,128,182,255,111,144,255,134,176,255,205,152,255,54,175,255,120,135,255,100,164,255,155,138,255,16,166,255,46,127,255,42,158,255,12,136,255,253,167, +255,182,140,255,190,167,255,0,141,255,149,173,255,211,150,255,157,185,255,145,133,255,254,179,255,192,132,255,173,189,255,168,129,255,133,173,255,211,133,255,82,189,255,36,135,255,33,183,255,65,135,255,247,199,255,53,128,255,177,186,255,8,139,255,88, +204,255,141,144,255,103,208,255,20,127,255,61,204,255,90,131,255,113,208,255,157,129,255,170,215,255,242,127,255,177,217,255,117,153,255,103,200,255,13,130,255,188,225,255,143,146,255,254,223,255,171,146,255,226,234,255,87,158,255,83,249,255,250,141, +255,133,254,255,127,156,255,112,238,255,97,177,255,4,8,0,78,178,255,102,1,0,52,159,255,232,255,255,125,169,255,98,14,0,245,177,255,235,14,0,106,179,255,9,20,0,120,175,255,237,20,0,150,182,255,29,19,0,222,183,255,60,15,0,148,193,255,222,25,0,103,184,255, +9,29,0,73,187,255,68,33,0,249,185,255,125,22,0,198,190,255,57,18,0,92,188,255,181,29,0,237,180,255,178,23,0,248,204,255,39,25,0,216,200,255,223,23,0,0,214,255,21,25,0,18,206,255,61,38,0,9,199,255,107,21,0,118,207,255,117,28,0,121,205,255,175,33,0,13, +204,255,132,46,0,128,207,255,78,46,0,252,210,255,177,54,0,101,207,255,182,50,0,213,213,255,111,63,0,31,229,255,242,60,0,223,205,255,154,57,0,98,218,255,25,66,0,212,222,255,105,59,0,8,218,255,210,70,0,182,218,255,17,79,0,133,228,255,24,66,0,158,215,255, +96,65,0,219,232,255,168,73,0,67,223,255,89,63,0,106,221,255,135,63,0,91,226,255,37,75,0,23,222,255,103,66,0,238,225,255,64,67,0,11,232,255,109,75,0,119,233,255,130,87,0,108,235,255,94,72,0,113,231,255,224,69,0,255,226,255,192,65,0,48,232,255,179,75,0, +177,245,255,242,75,0,155,234,255,74,78,0,29,240,255,76,90,0,70,243,255,28,71,0,51,223,255,74,77,0,199,229,255,232,81,0,48,219,255,170,80,0,113,232,255,16,86,0,125,236,255,156,76,0,120,227,255,54,70,0,127,228,255,88,92,0,67,233,255,76,87,0,119,221,255, +240,86,0,29,234,255,153,96,0,211,234,255,117,76,0,55,235,255,241,104,0,92,235,255,12,98,0,33,238,255,44,95,0,24,231,255,183,92,0,133,251,255,100,99,0,58,240,255,17,93,0,159,252,255,167,102,0,180,250,255,107,93,0,242,245,255,136,104,0,86,246,255,9,97, +0,245,255,255,127,109,0,35,250,255,160,117,0,198,244,255,86,105,0,211,254,255,10,101,0,12,253,255,151,122,0,233,8,0,9,119,0,139,247,255,80,114,0,88,7,0,66,135,0,17,6,0,240,127,0,68,8,0,68,132,0,227,18,0,157,127,0,59,14,0,253,135,0,23,32,0,66,150,0,106, +31,0,47,144,0,88,31,0,58,160,0,235,59,0,60,170,0,117,12,0,234,151,0,245,40,0,173,161,0,111,27,0,61,168,0,239,38,0,135,178,0,208,29,0,181,171,0,151,36,0,48,180,0,49,37,0,124,171,0,114,42,0,18,163,0,136,45,0,4,159,0,16,29,0,208,162,0,74,38,0,54,161,0,167, +42,0,66,153,0,14,41,0,95,157,0,129,26,0,67,146,0,49,47,0,167,151,0,169,41,0,74,152,0,175,48,0,109,141,0,238,48,0,211,139,0,132,46,0,0,156,0,239,36,0,233,130,0,60,40,0,187,141,0,8,49,0,109,149,0,14,40,0,250,146,0,20,42,0,135,149,0,91,48,0,180,143,0,194, +40,0,42,149,0,121,46,0,224,143,0,113,40,0,17,152,0,251,38,0,174,150,0,4,29,0,95,148,0,67,29,0,44,124,0,240,44,0,209,144,0,118,31,0,116,139,0,28,46,0,64,159,0,88,37,0,90,148,0,183,35,0,158,140,0,80,47,0,249,160,0,177,33,0,127,146,0,119,35,0,150,148,0, +64,40,0,225,157,0,86,33,0,198,151,0,52,36,0,81,155,0,105,32,0,207,155,0,70,26,0,111,142,0,17,45,0,96,160,0,119,39,0,224,149,0,93,29,0,27,162,0,3,38,0,127,146,0,127,39,0,233,148,0,111,28,0,111,159,0,117,39,0,232,157,0,67,47,0,49,172,0,75,37,0,116,155, +0,126,39,0,168,146,0,215,45,0,61,154,0,140,46,0,73,152,0,232,50,0,28,161,0,193,56,0,111,160,0,159,50,0,27,146,0,225,39,0,86,134,0,243,58,0,11,163,0,202,55,0,98,150,0,45,66,0,76,133,0,201,65,0,180,154,0,136,51,0,155,138,0,169,53,0,67,141,0,242,57,0,147, +146,0,13,58,0,203,145,0,219,50,0,27,151,0,151,43,0,161,147,0,244,37,0,128,145,0,55,36,0,69,142,0,74,40,0,171,145,0,255,40,0,124,150,0,241,24,0,157,142,0,105,38,0,166,142,0,50,24,0,156,142,0,197,19,0,29,137,0,137,31,0,82,155,0,169,37,0,43,147,0,137,17, +0,251,147,0,85,20,0,140,152,0,186,33,0,108,154,0,202,7,0,83,139,0,240,20,0,245,135,0,116,5,0,8,126,0,105,19,0,28,138,0,37,17,0,174,120,0,162,22,0,112,127,0,120,25,0,218,124,0,111,7,0,187,117,0,241,6,0,36,102,0,1,12,0,102,105,0,45,4,0,86,99,0,137,12,0, +4,99,0,155,16,0,249,103,0,116,9,0,93,95,0,62,9,0,137,91,0,64,16,0,112,94,0,46,16,0,85,102,0,127,8,0,251,92,0,208,25,0,198,91,0,53,13,0,151,83,0,208,4,0,186,79,0,31,6,0,157,80,0,106,9,0,132,83,0,239,250,255,161,73,0,221,250,255,193,92,0,218,3,0,60,90, +0,110,255,255,80,81,0,138,242,255,125,85,0,83,255,255,151,85,0,34,240,255,146,83,0,116,240,255,159,81,0,125,244,255,79,84,0,100,235,255,124,72,0,143,240,255,89,67,0,8,232,255,91,58,0,157,226,255,168,64,0,157,226,255,197,63,0,96,229,255,185,48,0,80,220, +255,119,57,0,239,206,255,100,41,0,233,217,255,89,50,0,224,209,255,111,44,0,0,208,255,195,47,0,138,211,255,236,25,0,120,215,255,98,22,0,246,200,255,75,20,0,216,201,255,103,31,0,146,216,255,129,24,0,114,214,255,87,26,0,193,208,255,33,26,0,162,217,255,6, +22,0,0,205,255,156,16,0,153,221,255,125,37,0,19,201,255,145,32,0,140,204,255,208,17,0,205,207,255,157,23,0,35,218,255,192,12,0,3,212,255,247,8,0,129,209,255,14,18,0,124,211,255,111,23,0,146,206,255,166,0,0,117,214,255,121,15,0,5,212,255,48,4,0,66,198, +255,196,14,0,247,217,255,155,16,0,202,217,255,112,11,0,135,211,255,31,7,0,76,213,255,96,14,0,33,205,255,71,13,0,126,215,255,97,6,0,193,214,255,124,17,0,98,190,255,12,22,0,245,204,255,117,20,0,9,204,255,225,20,0,103,221,255,59,25,0,17,212,255,180,31,0, +246,211,255,5,21,0,201,204,255,119,19,0,218,219,255,109,30,0,137,208,255,113,32,0,35,220,255,252,20,0,109,205,255,5,28,0,253,202,255,195,28,0,89,199,255,112,7,0,25,217,255,188,27,0,62,206,255,249,17,0,39,219,255,45,12,0,122,204,255,139,249,255,252,203, +255,222,3,0,54,206,255,113,245,255,16,207,255,24,248,255,94,198,255,3,228,255,50,208,255,127,236,255,114,194,255,142,227,255,237,199,255,233,209,255,69,201,255,191,194,255,220,192,255,108,209,255,39,206,255,109,212,255,157,185,255,199,188,255,65,210, +255,125,213,255,174,189,255,189,199,255,30,196,255,63,206,255,185,199,255,170,210,255,169,188,255,188,203,255,252,198,255,235,206,255,118,187,255,11,219,255,47,197,255,247,229,255,225,188,255,160,228,255,59,193,255,216,244,255,130,187,255,71,251,255, +71,199,255,16,251,255,240,200,255,158,3,0,45,202,255,106,12,0,251,193,255,166,0,0,182,205,255,20,14,0,80,206,255,68,26,0,189,206,255,219,17,0,98,216,255,177,29,0,115,217,255,112,36,0,54,226,255,162,31,0,204,244,255,245,37,0,194,231,255,54,34,0,237,229, +255,145,37,0,249,231,255,89,41,0,233,240,255,113,32,0,241,247,255,27,40,0,0,246,255,166,39,0,91,239,255,185,35,0,67,241,255,244,40,0,161,240,255,42,28,0,236,236,255,36,30,0,228,242,255,26,24,0,245,255,255,38,23,0,119,239,255,214,28,0,247,5,0,223,18,0, +56,2,0,156,32,0,0,249,255,193,16,0,229,8,0,124,21,0,243,0,0,129,10,0,39,242,255,132,15,0,90,6,0,233,27,0,238,5,0,199,20,0,185,248,255,76,22,0,81,0,0,223,255,255,143,0,0,171,23,0,35,253,255,136,7,0,182,249,255,185,15,0,149,251,255,133,8,0,176,248,255, +175,3,0,109,249,255,51,5,0,85,236,255,42,2,0,52,244,255,220,3,0,65,255,255,1,10,0,202,236,255,212,15,0,181,228,255,251,11,0,128,249,255,55,13,0,151,247,255,83,25,0,10,243,255,61,23,0,88,241,255,133,14,0,209,243,255,37,25,0,236,246,255,215,41,0,35,247, +255,185,36,0,198,0,0,185,39,0,11,11,0,100,49,0,243,18,0,220,63,0,165,11,0,244,49,0,89,15,0,159,71,0,2,11,0,101,69,0,200,29,0,62,82,0,193,28,0,28,75,0,237,14,0,81,81,0,154,32,0,139,74,0,94,31,0,196,67,0,223,30,0,51,64,0,25,21,0,195,67,0,19,23,0,74,65, +0,231,30,0,71,60,0,138,28,0,23,55,0,246,28,0,18,39,0,23,30,0,170,54,0,84,16,0,105,37,0,220,22,0,48,41,0,181,11,0,45,33,0,152,6,0,100,18,0,145,14,0,237,29,0,206,29,0,54,21,0,115,9,0,95,11,0,17,3,0,224,10,0,83,19,0,39,253,255,67,7,0,198,7,0,21,10,0,74, +6,0,203,1,0,220,0,0,6,9,0,190,1,0,245,5,0,151,255,255,96,254,255,243,240,255,206,0,0,92,251,255,15,251,255,254,248,255,91,5,0,36,254,255,195,254,255,54,4,0,1,2,0,50,8,0,73,5,0,1,9,0,241,248,255,203,8,0,234,0,0,116,7,0,57,252,255,255,31,0,52,14,0,199, +34,0,68,1,0,115,32,0,195,254,255,10,31,0,153,0,0,225,37,0,17,11,0,18,34,0,224,14,0,206,40,0,141,20,0,17,37,0,16,22,0,121,30,0,18,16,0,40,41,0,66,29,0,180,31,0,223,25,0,241,40,0,2,21,0,139,46,0,100,13,0,210,30,0,141,36,0,31,46,0,247,23,0,161,26,0,76,23, +0,246,38,0,51,25,0,12,35,0,231,44,0,36,36,0,27,40,0,17,20,0,140,25,0,6,34,0,26,32,0,243,28,0,237,31,0,211,24,0,237,31,0,98,28,0,177,38,0,48,32,0,217,26,0,186,18,0,29,31,0,110,11,0,94,25,0,18,17,0,59,22,0,213,10,0,19,18,0,82,22,0,15,19,0,197,9,0,43,8, +0,189,9,0,26,21,0,147,8,0,9,13,0,199,27,0,81,10,0,97,12,0,29,12,0,208,11,0,254,2,0,45,14,0,39,4,0,192,13,0,139,4,0,51,250,255,96,254,255,93,8,0,224,0,0,236,246,255,133,246,255,111,0,0,219,247,255,162,11,0,139,239,255,134,247,255,91,7,0,40,5,0,2,255,255, +139,0,0,9,5,0,162,6,0,78,241,255,103,243,255,183,4,0,108,244,255,71,251,255,63,249,255,237,255,255,159,245,255,247,1,0,106,250,255,5,239,255,28,239,255,177,254,255,216,252,255,157,247,255,141,245,255,112,247,255,66,241,255,158,6,0,13,233,255,116,15,0, +208,244,255,201,4,0,75,241,255,147,4,0,151,250,255,13,1,0,144,247,255,154,2,0,162,252,255,1,12,0,119,239,255,169,239,255,113,238,255,177,254,255,178,240,255,67,1,0,227,229,255,156,4,0,29,239,255,147,255,255,164,234,255,32,252,255,120,219,255,210,245, +255,117,232,255,11,243,255,85,209,255,229,6,0,113,226,255,41,252,255,232,233,255,55,253,255,106,223,255,75,250,255,127,210,255,185,8,0,126,213,255,107,0,0,164,205,255,22,1,0,211,212,255,101,4,0,235,208,255,240,3,0,155,220,255,186,3,0,29,210,255,110,4, +0,239,212,255,239,252,255,201,215,255,36,7,0,22,222,255,59,3,0,38,213,255,9,2,0,156,220,255,38,4,0,134,214,255,82,2,0,224,226,255,252,251,255,65,230,255,149,3,0,228,225,255,121,1,0,71,231,255,2,255,255,54,233,255,245,248,255,20,223,255,162,2,0,128,235, +255,51,17,0,77,239,255,197,0,0,78,234,255,2,11,0,54,252,255,27,2,0,150,241,255,60,24,0,122,2,0,27,16,0,223,248,255,226,11,0,175,237,255,9,9,0,176,11,0,80,14,0,9,3,0,82,18,0,220,16,0,155,18,0,89,8,0,8,28,0,221,18,0,58,29,0,83,19,0,117,30,0,196,6,0,101, +27,0,188,15,0,102,29,0,68,25,0,248,33,0,253,12,0,142,21,0,80,8,0,129,38,0,165,16,0,163,34,0,241,22,0,51,35,0,195,13,0,172,34,0,50,4,0,82,27,0,83,254,255,165,40,0,203,11,0,37,36,0,127,5,0,129,31,0,144,3,0,36,27,0,34,255,255,46,29,0,6,253,255,88,25,0,30, +240,255,28,29,0,151,253,255,57,15,0,245,254,255,185,21,0,204,253,255,72,29,0,194,251,255,8,27,0,191,245,255,223,9,0,61,246,255,86,12,0,115,237,255,195,14,0,203,242,255,1,13,0,10,234,255,64,13,0,3,227,255,182,8,0,49,229,255,14,14,0,106,235,255,182,17, +0,63,230,255,75,255,255,161,217,255,248,5,0,6,222,255,102,10,0,13,218,255,191,8,0,122,218,255,101,253,255,140,218,255,27,13,0,230,209,255,58,246,255,19,197,255,108,2,0,100,197,255,109,238,255,197,189,255,88,254,255,131,203,255,246,244,255,66,212,255, +105,252,255,15,205,255,41,237,255,236,204,255,30,242,255,9,209,255,79,230,255,94,197,255,26,0,0,181,200,255,105,250,255,137,202,255,131,237,255,254,200,255,169,241,255,37,211,255,162,247,255,53,218,255,38,238,255,195,199,255,212,233,255,176,219,255,197, +243,255,241,212,255,166,244,255,144,205,255,252,243,255,53,214,255,192,242,255,148,213,255,246,240,255,128,207,255,116,226,255,210,211,255,70,237,255,9,227,255,172,247,255,24,217,255,33,233,255,115,221,255,79,237,255,19,214,255,196,235,255,96,217,255, +60,233,255,139,205,255,47,232,255,68,211,255,227,232,255,7,215,255,221,225,255,234,204,255,228,238,255,112,220,255,100,226,255,187,211,255,171,243,255,134,219,255,48,234,255,53,213,255,32,240,255,171,219,255,102,255,255,220,216,255,236,230,255,62,209, +255,115,233,255,165,204,255,10,245,255,11,221,255,68,240,255,32,216,255,236,247,255,195,220,255,0,239,255,12,198,255,172,245,255,155,221,255,75,226,255,84,194,255,126,233,255,225,205,255,0,231,255,224,193,255,230,234,255,14,196,255,18,231,255,17,189, +255,234,225,255,60,198,255,99,233,255,153,191,255,80,209,255,45,187,255,220,224,255,176,188,255,224,211,255,226,179,255,23,216,255,88,200,255,202,212,255,200,189,255,64,225,255,250,190,255,0,213,255,183,197,255,42,224,255,94,209,255,190,219,255,0,202, +255,32,208,255,251,184,255,82,211,255,55,190,255,127,209,255,32,193,255,218,217,255,145,196,255,236,229,255,146,202,255,47,231,255,110,198,255,138,229,255,56,204,255,192,231,255,124,203,255,232,216,255,214,199,255,84,227,255,39,216,255,75,235,255,214, +223,255,107,240,255,80,223,255,44,236,255,107,239,255,80,230,255,211,228,255,153,236,255,18,229,255,180,220,255,183,236,255,116,246,255,178,255,255,147,249,255,228,236,255,125,246,255,76,236,255,135,240,255,117,235,255,219,249,255,246,246,255,129,253, +255,142,255,255,161,0,0,238,236,255,63,252,255,166,242,255,134,0,0,162,233,255,219,249,255,153,243,255,16,2,0,193,236,255,111,255,255,171,239,255,147,1,0,79,226,255,222,8,0,1,237,255,33,12,0,147,225,255,103,249,255,6,232,255,155,9,0,145,235,255,168,10, +0,172,233,255,84,1,0,61,230,255,176,16,0,55,237,255,126,17,0,234,243,255,112,20,0,140,242,255,93,22,0,56,6,0,36,19,0,169,234,255,221,10,0,79,1,0,67,20,0,36,247,255,92,24,0,67,254,255,14,12,0,53,255,255,214,21,0,141,3,0,118,30,0,158,9,0,132,25,0,234,247, +255,165,22,0,122,9,0,161,15,0,253,6,0,148,14,0,23,11,0,201,18,0,140,9,0,123,23,0,126,25,0,53,32,0,28,23,0,88,19,0,149,24,0,41,25,0,35,16,0,68,25,0,38,17,0,194,23,0,38,19,0,97,19,0,91,21,0,142,15,0,206,27,0,174,29,0,121,26,0,92,18,0,23,22,0,21,29,0,197, +23,0,34,17,0,58,24,0,150,17,0,228,13,0,245,40,0,132,16,0,192,14,0,240,27,0,30,27,0,124,25,0,31,25,0,53,12,0,43,26,0,129,11,0,24,28,0,92,2,0,175,21,0,142,12,0,29,51,0,129,24,0,57,34,0,184,18,0,192,32,0,126,17,0,21,45,0,217,15,0,132,26,0,32,18,0,160,33, +0,68,16,0,26,33,0,110,24,0,175,39,0,245,13,0,16,44,0,28,15,0,25,33,0,193,18,0,39,41,0,109,13,0,202,37,0,230,3,0,41,44,0,158,5,0,119,32,0,24,3,0,133,40,0,62,255,255,199,32,0,182,9,0,203,33,0,201,247,255,170,36,0,85,254,255,197,34,0,31,254,255,122,31,0, +69,12,0,118,30,0,130,254,255,174,42,0,163,251,255,33,20,0,194,3,0,98,25,0,143,15,0,52,27,0,35,15,0,79,25,0,116,6,0,136,28,0,13,7,0,178,18,0,247,14,0,103,15,0,170,22,0,149,27,0,12,16,0,252,19,0,184,5,0,55,35,0,68,19,0,76,20,0,94,30,0,240,25,0,154,25,0, +245,24,0,89,22,0,192,36,0,138,37,0,2,24,0,219,28,0,190,26,0,67,28,0,63,49,0,192,21,0,221,46,0,73,32,0,246,36,0,91,32,0,74,45,0,51,31,0,58,48,0,17,34,0,246,55,0,131,17,0,223,54,0,177,22,0,193,32,0,9,11,0,246,53,0,237,26,0,177,42,0,22,19,0,199,41,0,253, +9,0,172,48,0,55,23,0,175,44,0,209,7,0,3,46,0,132,8,0,158,61,0,47,7,0,182,46,0,137,7,0,221,28,0,81,4,0,176,40,0,132,1,0,204,45,0,126,253,255,223,43,0,197,11,0,79,43,0,102,5,0,255,47,0,234,253,255,157,40,0,87,1,0,192,23,0,165,5,0,248,43,0,213,13,0,60,43, +0,112,15,0,35,29,0,247,8,0,164,40,0,75,22,0,2,25,0,65,7,0,217,52,0,31,27,0,111,33,0,108,26,0,200,50,0,68,20,0,12,50,0,231,33,0,253,45,0,29,29,0,206,42,0,35,21,0,20,40,0,23,25,0,252,40,0,135,19,0,197,47,0,83,22,0,235,55,0,82,24,0,185,44,0,85,25,0,191, +43,0,95,18,0,156,41,0,204,21,0,110,53,0,11,17,0,253,53,0,86,18,0,88,62,0,48,20,0,175,39,0,158,18,0,155,41,0,112,18,0,169,55,0,134,19,0,251,63,0,40,23,0,127,61,0,44,24,0,200,64,0,65,35,0,2,49,0,71,34,0,31,62,0,117,42,0,237,57,0,169,34,0,120,57,0,94,41, +0,216,54,0,98,32,0,68,73,0,136,40,0,242,54,0,113,21,0,51,53,0,120,28,0,216,67,0,90,30,0,105,61,0,13,13,0,200,50,0,90,25,0,97,46,0,159,1,0,106,54,0,166,3,0,56,50,0,203,6,0,64,55,0,189,2,0,138,48,0,206,250,255,69,41,0,123,252,255,86,59,0,79,252,255,186, +44,0,13,246,255,175,46,0,5,249,255,138,51,0,34,244,255,241,50,0,216,232,255,215,63,0,148,246,255,149,52,0,145,253,255,29,59,0,136,253,255,207,64,0,24,1,0,152,74,0,125,15,0,94,65,0,132,9,0,168,66,0,164,0,0,186,66,0,247,14,0,144,75,0,126,18,0,83,78,0,189, +13,0,54,99,0,209,24,0,107,75,0,234,21,0,133,83,0,219,19,0,58,98,0,215,34,0,188,81,0,119,16,0,171,92,0,123,20,0,119,90,0,217,24,0,205,84,0,220,17,0,185,97,0,187,15,0,180,82,0,57,19,0,111,83,0,186,20,0,153,85,0,7,12,0,48,94,0,214,18,0,143,85,0,194,20,0, +45,77,0,141,12,0,253,56,0,148,9,0,78,68,0,173,253,255,132,52,0,85,251,255,40,54,0,194,235,255,30,40,0,208,242,255,249,47,0,218,248,255,227,46,0,192,251,255,22,46,0,238,243,255,163,54,0,52,238,255,30,46,0,224,244,255,65,29,0,170,241,255,104,41,0,41,243, +255,104,44,0,115,252,255,104,50,0,251,227,255,251,54,0,191,239,255,58,44,0,52,246,255,228,47,0,161,241,255,141,45,0,153,244,255,214,51,0,204,232,255,12,58,0,66,242,255,19,55,0,17,235,255,118,58,0,212,240,255,211,59,0,113,234,255,88,60,0,251,241,255,133, +66,0,160,252,255,185,77,0,122,234,255,178,78,0,85,245,255,11,76,0,109,244,255,238,83,0,130,248,255,234,82,0,67,245,255,44,90,0,41,251,255,81,76,0,147,6,0,197,85,0,176,1,0,78,84,0,245,6,0,118,83,0,56,0,0,180,80,0,42,254,255,225,86,0,241,2,0,146,87,0,99, +8,0,70,100,0,146,0,0,12,78,0,102,6,0,68,85,0,102,6,0,17,83,0,63,2,0,16,80,0,63,11,0,155,85,0,122,7,0,75,88,0,30,15,0,194,77,0,6,10,0,121,83,0,27,8,0,5,80,0,241,14,0,203,72,0,226,9,0,129,74,0,3,18,0,159,69,0,205,17,0,0,73,0,0,23,0,134,67,0,0,255,255,190, +71,0,77,10,0,34,76,0,12,253,255,115,67,0,131,7,0,152,80,0,250,8,0,253,84,0,167,251,255,83,78,0,190,0,0,56,72,0,185,7,0,210,73,0,63,2,0,140,77,0,215,243,255,94,64,0,189,237,255,147,67,0,77,232,255,248,62,0,175,226,255,94,77,0,51,229,255,82,73,0,187,214, +255,165,80,0,252,218,255,40,74,0,182,222,255,216,64,0,65,215,255,229,56,0,147,209,255,228,62,0,187,198,255,255,59,0,237,203,255,115,54,0,199,202,255,215,61,0,134,217,255,144,55,0,52,213,255,230,54,0,164,199,255,191,59,0,132,203,255,9,71,0,19,207,255, +245,50,0,190,214,255,180,46,0,95,215,255,130,57,0,123,209,255,161,46,0,57,211,255,126,40,0,223,206,255,108,56,0,46,213,255,23,51,0,67,211,255,85,48,0,4,201,255,1,40,0,181,197,255,34,39,0,218,194,255,2,44,0,112,181,255,160,43,0,33,175,255,179,37,0,95, +181,255,64,34,0,118,183,255,4,25,0,43,165,255,63,27,0,80,185,255,252,28,0,69,181,255,93,32,0,136,189,255,24,26,0,188,175,255,98,34,0,225,182,255,125,24,0,221,177,255,78,30,0,208,182,255,7,30,0,91,195,255,64,55,0,44,197,255,70,44,0,149,186,255,188,45, +0,57,185,255,24,54,0,16,210,255,122,37,0,131,189,255,60,61,0,74,208,255,24,68,0,129,205,255,179,59,0,3,218,255,163,60,0,229,202,255,107,49,0,25,206,255,29,60,0,74,204,255,25,59,0,137,211,255,134,70,0,210,222,255,133,63,0,11,214,255,185,73,0,233,210,255, +123,70,0,29,217,255,89,67,0,53,216,255,212,63,0,194,219,255,65,65,0,242,220,255,2,72,0,136,224,255,206,61,0,51,222,255,71,68,0,241,230,255,239,71,0,184,225,255,54,65,0,122,225,255,79,68,0,240,222,255,145,55,0,208,231,255,209,56,0,20,227,255,215,66,0, +130,228,255,63,51,0,226,220,255,51,54,0,226,220,255,13,64,0,77,228,255,213,55,0,203,236,255,56,49,0,145,223,255,109,67,0,80,229,255,5,65,0,8,247,255,224,67,0,254,231,255,135,64,0,88,243,255,187,78,0,247,254,255,162,90,0,231,247,255,133,93,0,125,236,255, +197,83,0,103,1,0,47,95,0,240,247,255,52,90,0,93,249,255,132,105,0,166,5,0,211,101,0,201,253,255,224,107,0,188,255,255,80,106,0,1,3,0,167,106,0,108,240,255,253,120,0,66,249,255,166,102,0,169,247,255,172,105,0,181,233,255,110,113,0,44,235,255,8,100,0,121, +234,255,147,95,0,30,225,255,154,106,0,113,238,255,205,97,0,15,230,255,132,97,0,164,233,255,247,85,0,85,222,255,6,93,0,61,223,255,80,79,0,65,205,255,196,83,0,177,215,255,128,69,0,124,219,255,95,86,0,213,215,255,221,75,0,140,218,255,174,78,0,33,222,255, +220,83,0,10,223,255,110,66,0,152,203,255,208,70,0,221,222,255,96,72,0,24,209,255,218,75,0,19,211,255,95,60,0,209,212,255,175,68,0,38,215,255,151,53,0,2,211,255,156,68,0,92,203,255,237,52,0,132,205,255,207,63,0,16,209,255,92,43,0,99,202,255,84,56,0,120, +199,255,76,40,0,129,203,255,88,50,0,147,203,255,213,46,0,187,209,255,249,50,0,55,201,255,23,53,0,52,204,255,101,48,0,37,222,255,47,44,0,217,189,255,135,35,0,141,199,255,6,54,0,12,218,255,240,47,0,180,205,255,181,53,0,170,204,255,81,48,0,202,202,255,104, +76,0,52,211,255,243,53,0,246,206,255,199,54,0,130,214,255,118,62,0,69,219,255,70,52,0,232,203,255,159,65,0,147,222,255,82,58,0,85,187,255,180,54,0,88,193,255,36,53,0,66,182,255,45,49,0,143,176,255,230,53,0,177,175,255,116,36,0,82,167,255,153,28,0,77, +169,255,42,26,0,205,166,255,116,23,0,15,164,255,16,22,0,63,152,255,83,11,0,174,163,255,148,8,0,85,149,255,255,246,255,37,138,255,200,241,255,158,145,255,183,237,255,192,139,255,176,233,255,188,132,255,94,236,255,40,129,255,130,232,255,187,135,255,133, +229,255,106,130,255,92,231,255,70,120,255,77,223,255,32,123,255,30,226,255,158,123,255,116,215,255,76,122,255,104,218,255,182,121,255,64,239,255,44,123,255,5,231,255,30,125,255,87,237,255,140,140,255,252,225,255,199,119,255,141,223,255,40,129,255,244, +230,255,66,128,255,173,235,255,177,130,255,176,232,255,232,140,255,31,254,255,2,140,255,77,241,255,172,150,255,155,244,255,162,139,255,9,242,255,70,132,255,47,239,255,85,135,255,5,245,255,167,136,255,216,239,255,238,145,255,127,238,255,162,147,255,159, +246,255,225,152,255,43,246,255,12,162,255,166,250,255,137,157,255,102,254,255,198,166,255,151,247,255,177,164,255,196,242,255,91,155,255,152,242,255,181,160,255,3,243,255,5,156,255,7,250,255,18,163,255,35,231,255,47,159,255,242,232,255,146,154,255,89, +226,255,191,149,255,204,215,255,175,150,255,41,239,255,103,159,255,40,223,255,11,146,255,210,224,255,254,148,255,194,219,255,123,144,255,205,210,255,69,148,255,38,216,255,38,135,255,48,206,255,191,130,255,206,210,255,161,154,255,34,192,255,200,129,255, +78,202,255,53,137,255,42,191,255,137,139,255,176,175,255,4,138,255,35,192,255,227,144,255,239,186,255,130,138,255,144,182,255,34,144,255,68,184,255,155,153,255,82,181,255,118,146,255,171,181,255,58,147,255,110,182,255,223,139,255,104,172,255,84,140,255, +30,181,255,85,146,255,179,174,255,11,138,255,133,189,255,30,133,255,158,199,255,18,130,255,214,195,255,98,130,255,0,195,255,160,124,255,82,207,255,127,130,255,2,201,255,42,138,255,176,215,255,127,124,255,60,215,255,38,140,255,221,210,255,158,126,255, +143,217,255,234,128,255,197,200,255,78,125,255,113,209,255,73,121,255,45,210,255,190,121,255,48,206,255,62,124,255,112,195,255,64,119,255,158,190,255,244,108,255,232,192,255,131,115,255,76,200,255,75,113,255,146,193,255,91,123,255,37,179,255,185,120, +255,36,178,255,74,116,255,171,173,255,253,117,255,113,188,255,204,125,255,87,169,255,18,119,255,163,160,255,176,117,255,44,170,255,251,119,255,110,172,255,29,125,255,252,165,255,136,99,255,157,167,255,46,123,255,255,160,255,15,107,255,71,162,255,63,115, +255,156,165,255,76,124,255,52,160,255,156,110,255,45,167,255,156,123,255,240,180,255,36,112,255,9,166,255,141,110,255,92,168,255,221,129,255,21,161,255,95,121,255,75,168,255,98,129,255,204,184,255,223,129,255,241,165,255,207,130,255,132,169,255,169,141, +255,61,176,255,235,130,255,233,171,255,102,156,255,223,177,255,112,143,255,119,172,255,98,125,255,171,164,255,69,143,255,46,183,255,39,147,255,179,162,255,177,136,255,126,182,255,145,152,255,52,187,255,229,148,255,150,173,255,108,143,255,76,177,255,66, +145,255,156,183,255,251,143,255,30,189,255,163,150,255,19,187,255,178,154,255,59,190,255,180,162,255,21,202,255,24,151,255,61,198,255,3,162,255,184,204,255,21,169,255,184,190,255,64,153,255,124,213,255,176,172,255,5,202,255,165,162,255,165,202,255,41, +169,255,120,194,255,43,163,255,208,215,255,111,190,255,77,195,255,135,165,255,210,201,255,208,166,255,147,185,255,30,158,255,13,192,255,232,163,255,31,192,255,80,161,255,9,188,255,146,180,255,202,170,255,187,168,255,229,185,255,58,156,255,244,183,255, +183,172,255,203,170,255,98,159,255,255,168,255,63,167,255,17,176,255,70,165,255,182,181,255,149,171,255,156,165,255,116,173,255,162,186,255,240,156,255,32,172,255,87,170,255,18,167,255,170,164,255,218,179,255,80,171,255,106,166,255,83,174,255,239,173, +255,119,182,255,243,194,255,217,181,255,182,185,255,73,196,255,162,183,255,147,190,255,145,183,255,177,184,255,18,180,255,41,190,255,80,179,255,208,205,255,93,183,255,96,208,255,103,201,255,138,206,255,168,186,255,112,188,255,93,190,255,249,200,255,88, +195,255,253,213,255,93,198,255,15,214,255,203,193,255,70,215,255,244,199,255,115,207,255,201,199,255,229,215,255,209,189,255,85,221,255,21,204,255,194,234,255,127,221,255,179,245,255,104,217,255,103,230,255,198,204,255,106,243,255,121,206,255,220,252, +255,153,212,255,238,252,255,243,223,255,228,4,0,94,224,255,231,254,255,139,225,255,16,5,0,162,230,255,203,15,0,143,229,255,87,15,0,143,229,255,120,3,0,115,247,255,183,13,0,144,240,255,139,14,0,133,237,255,219,13,0,108,249,255,227,23,0,159,237,255,187, +8,0,76,243,255,133,7,0,76,242,255,130,3,0,168,246,255,171,255,255,127,240,255,235,248,255,43,234,255,218,3,0,248,236,255,169,8,0,219,222,255,34,251,255,161,227,255,199,246,255,51,243,255,210,250,255,200,219,255,114,239,255,116,225,255,96,251,255,93,218, +255,66,247,255,87,210,255,150,240,255,132,199,255,177,240,255,58,195,255,237,249,255,74,193,255,189,255,255,138,194,255,181,245,255,191,182,255,226,246,255,223,187,255,227,247,255,125,187,255,89,252,255,158,183,255,30,245,255,7,182,255,208,2,0,163,176, +255,68,248,255,10,196,255,86,5,0,123,180,255,158,250,255,176,193,255,133,251,255,30,199,255,179,11,0,231,194,255,189,12,0,114,205,255,170,11,0,20,222,255,140,20,0,128,211,255,174,17,0,53,230,255,163,28,0,38,221,255,107,23,0,223,220,255,120,30,0,6,226, +255,224,27,0,1,232,255,81,26,0,21,221,255,85,32,0,181,223,255,134,40,0,21,220,255,129,33,0,229,227,255,223,41,0,165,224,255,236,49,0,25,240,255,187,57,0,132,228,255,71,41,0,221,228,255,149,39,0,66,235,255,247,39,0,61,241,255,26,55,0,15,239,255,214,44, +0,68,222,255,254,37,0,213,228,255,103,36,0,56,230,255,30,49,0,131,223,255,190,35,0,68,220,255,16,40,0,6,220,255,98,28,0,22,217,255,41,23,0,169,242,255,128,37,0,146,215,255,246,25,0,205,210,255,158,44,0,84,232,255,90,33,0,252,231,255,112,43,0,111,213, +255,23,41,0,21,210,255,240,32,0,20,207,255,172,41,0,237,197,255,116,52,0,154,209,255,102,42,0,85,212,255,240,55,0,148,214,255,122,66,0,134,201,255,150,53,0,233,225,255,255,50,0,155,209,255,134,59,0,224,224,255,120,66,0,248,217,255,105,75,0,204,217,255, +156,50,0,250,221,255,103,50,0,169,216,255,131,55,0,152,219,255,247,59,0,249,239,255,18,60,0,33,230,255,123,58,0,204,237,255,146,53,0,212,235,255,32,54,0,141,234,255,96,62,0,220,233,255,122,59,0,127,244,255,237,63,0,152,241,255,145,52,0,45,236,255,40, +56,0,47,242,255,143,48,0,231,237,255,243,58,0,148,225,255,154,59,0,105,228,255,138,62,0,187,236,255,235,64,0,18,233,255,162,56,0,11,238,255,28,55,0,73,236,255,172,62,0,194,226,255,186,53,0,190,246,255,9,53,0,249,234,255,143,60,0,37,234,255,160,56,0,105, +224,255,88,52,0,137,245,255,116,65,0,207,238,255,123,56,0,66,242,255,177,63,0,146,243,255,231,70,0,6,247,255,220,100,0,16,0,0,173,88,0,253,248,255,85,92,0,34,0,0,49,92,0,237,254,255,7,106,0,28,17,0,245,106,0,183,251,255,233,92,0,169,13,0,191,108,0,237, +0,0,224,96,0,115,6,0,142,91,0,140,1,0,134,99,0,139,251,255,223,105,0,71,7,0,168,97,0,253,245,255,34,93,0,76,240,255,77,87,0,200,241,255,66,74,0,154,228,255,136,71,0,75,230,255,152,61,0,101,231,255,18,52,0,137,226,255,237,41,0,241,208,255,254,37,0,3,210, +255,227,31,0,118,213,255,183,30,0,2,201,255,156,28,0,144,199,255,146,28,0,144,187,255,76,27,0,136,191,255,234,28,0,12,190,255,181,17,0,215,178,255,39,13,0,225,195,255,145,14,0,101,189,255,74,16,0,244,187,255,234,23,0,200,193,255,101,24,0,253,189,255, +171,22,0,42,189,255,251,30,0,219,192,255,21,25,0,166,200,255,56,40,0,229,203,255,242,28,0,185,199,255,214,36,0,43,200,255,109,24,0,70,198,255,2,37,0,203,194,255,90,25,0,212,216,255,117,39,0,142,200,255,222,40,0,150,211,255,152,38,0,19,205,255,19,30,0, +63,209,255,222,30,0,29,202,255,169,34,0,144,196,255,151,27,0,47,191,255,134,20,0,172,187,255,28,19,0,31,195,255,186,22,0,92,198,255,169,24,0,254,173,255,18,25,0,236,187,255,63,21,0,122,180,255,176,30,0,141,177,255,230,24,0,221,167,255,255,33,0,86,197, +255,220,31,0,35,177,255,122,34,0,71,182,255,254,41,0,239,181,255,120,45,0,255,194,255,145,53,0,205,185,255,125,68,0,109,177,255,143,59,0,150,200,255,74,52,0,195,198,255,205,53,0,0,199,255,52,65,0,36,200,255,26,66,0,134,200,255,52,67,0,90,198,255,87,63, +0,249,201,255,125,52,0,132,210,255,50,65,0,61,216,255,182,67,0,89,207,255,237,59,0,222,208,255,246,55,0,255,216,255,15,64,0,236,222,255,239,47,0,178,208,255,204,41,0,53,216,255,17,48,0,230,216,255,79,45,0,218,229,255,94,55,0,245,227,255,175,45,0,107, +218,255,53,42,0,118,207,255,26,44,0,186,219,255,228,44,0,55,215,255,8,42,0,153,214,255,212,38,0,111,206,255,80,37,0,220,199,255,116,34,0,25,203,255,101,50,0,11,194,255,213,32,0,196,195,255,7,42,0,105,202,255,49,46,0,28,199,255,159,56,0,246,207,255,27, +57,0,186,200,255,203,57,0,183,210,255,32,65,0,219,211,255,64,49,0,168,206,255,84,63,0,158,207,255,31,63,0,88,210,255,211,77,0,65,224,255,9,73,0,228,213,255,43,76,0,129,217,255,192,77,0,215,224,255,190,80,0,14,219,255,28,88,0,97,233,255,240,85,0,205,228, +255,216,77,0,84,222,255,13,78,0,161,228,255,182,92,0,118,226,255,53,103,0,20,230,255,196,97,0,120,241,255,98,99,0,217,223,255,193,101,0,178,232,255,44,100,0,217,241,255,143,111,0,187,249,255,199,103,0,157,240,255,99,108,0,3,247,255,139,116,0,71,254,255, +33,113,0,176,254,255,226,114,0,254,0,0,181,115,0,64,250,255,5,130,0,141,254,255,209,108,0,178,10,0,29,115,0,246,255,255,188,113,0,3,9,0,91,112,0,161,10,0,88,116,0,182,4,0,224,108,0,127,247,255,169,95,0,26,255,255,145,105,0,23,245,255,249,91,0,48,247, +255,213,106,0,42,243,255,137,100,0,146,245,255,203,92,0,37,238,255,237,93,0,62,239,255,49,98,0,170,236,255,51,94,0,120,231,255,58,96,0,255,227,255,4,82,0,203,226,255,215,82,0,53,239,255,31,93,0,107,225,255,107,83,0,90,226,255,250,93,0,197,223,255,254, +99,0,185,228,255,173,101,0,31,221,255,237,97,0,23,233,255,251,101,0,196,225,255,158,107,0,29,238,255,67,110,0,45,241,255,92,124,0,169,252,255,169,126,0,158,255,255,212,127,0,239,8,0,133,138,0,17,11,0,2,134,0,222,8,0,114,137,0,194,10,0,36,146,0,228,12, +0,207,140,0,90,7,0,27,133,0,197,29,0,198,150,0,237,22,0,215,137,0,74,28,0,144,149,0,242,16,0,69,142,0,238,31,0,61,151,0,145,27,0,239,135,0,93,37,0,0,148,0,250,38,0,158,147,0,41,34,0,133,144,0,218,33,0,8,134,0,151,29,0,36,132,0,111,24,0,155,125,0,148, +32,0,65,138,0,145,25,0,151,128,0,173,33,0,195,127,0,83,25,0,142,127,0,192,31,0,191,140,0,99,37,0,56,143,0,174,32,0,86,128,0,112,42,0,45,143,0,238,38,0,232,130,0,147,31,0,55,130,0,94,32,0,213,139,0,202,28,0,198,136,0,69,29,0,197,146,0,78,20,0,68,141,0, +123,28,0,201,149,0,45,26,0,148,139,0,123,27,0,174,147,0,49,22,0,27,152,0,131,19,0,195,132,0,82,24,0,59,145,0,40,31,0,152,148,0,103,19,0,30,146,0,23,29,0,241,145,0,58,39,0,4,152,0,2,33,0,25,139,0,192,27,0,36,136,0,151,24,0,183,138,0,155,29,0,4,140,0,125, +24,0,204,124,0,179,31,0,189,138,0,35,25,0,35,124,0,90,32,0,74,146,0,253,26,0,219,123,0,232,29,0,212,129,0,236,34,0,168,138,0,46,30,0,176,137,0,180,37,0,214,134,0,84,27,0,0,136,0,201,33,0,58,147,0,158,32,0,157,135,0,188,36,0,246,150,0,27,55,0,14,160,0, +126,45,0,218,157,0,125,38,0,55,153,0,150,38,0,153,151,0,109,44,0,3,158,0,83,51,0,175,169,0,225,41,0,106,151,0,247,37,0,243,154,0,130,40,0,123,158,0,240,50,0,7,174,0,16,38,0,103,158,0,16,38,0,181,158,0,43,38,0,53,162,0,36,43,0,82,151,0,61,22,0,46,143, +0,166,37,0,253,146,0,156,38,0,68,138,0,103,31,0,119,139,0,206,40,0,146,138,0,167,36,0,233,145,0,175,22,0,29,124,0,60,29,0,172,129,0,217,30,0,29,145,0,90,26,0,149,139,0,125,26,0,213,129,0,125,19,0,110,141,0,98,26,0,234,132,0,60,21,0,38,134,0,240,17,0, +230,134,0,96,27,0,23,151,0,11,25,0,228,148,0,18,33,0,255,161,0,140,20,0,235,155,0,3,45,0,97,159,0,20,38,0,66,155,0,48,30,0,57,148,0,87,20,0,184,157,0,91,37,0,205,161,0,148,33,0,253,157,0,40,35,0,82,159,0,86,40,0,160,159,0,65,49,0,27,173,0,37,37,0,52, +153,0,37,30,0,252,141,0,117,29,0,100,155,0,129,33,0,228,151,0,250,28,0,156,145,0,64,29,0,117,128,0,31,40,0,11,147,0,18,24,0,84,157,0,5,21,0,233,144,0,134,29,0,206,144,0,98,23,0,149,146,0,28,23,0,227,140,0,219,24,0,90,149,0,26,24,0,85,146,0,56,34,0,37, +136,0,194,35,0,165,156,0,116,28,0,71,148,0,130,37,0,10,159,0,42,31,0,199,155,0,66,38,0,105,153,0,185,47,0,191,171,0,83,38,0,75,154,0,222,45,0,8,163,0,166,47,0,216,158,0,31,49,0,128,169,0,123,52,0,115,171,0,173,48,0,198,168,0,70,46,0,229,159,0,235,41, +0,86,171,0,64,38,0,94,171,0,142,50,0,46,179,0,237,39,0,119,153,0,200,52,0,211,173,0,154,47,0,16,168,0,237,50,0,106,154,0,220,44,0,130,172,0,248,59,0,132,170,0,162,36,0,18,158,0,44,38,0,218,164,0,207,46,0,47,161,0,158,38,0,63,161,0,80,48,0,160,149,0,70, +38,0,150,149,0,83,51,0,78,150,0,133,47,0,124,148,0,167,48,0,175,143,0,164,44,0,248,141,0,2,41,0,80,130,0,156,54,0,28,140,0,191,43,0,154,132,0,24,38,0,168,118,0,221,19,0,191,104,0,11,35,0,154,131,0,176,20,0,1,117,0,231,29,0,178,105,0,168,14,0,75,124,0, +66,17,0,225,118,0,44,10,0,215,108,0,91,13,0,195,114,0,134,13,0,239,124,0,236,10,0,164,121,0,65,7,0,48,117,0,75,12,0,65,127,0,201,20,0,74,111,0,47,23,0,140,133,0,197,22,0,234,124,0,2,3,0,17,127,0,208,26,0,33,128,0,211,24,0,244,122,0,37,28,0,143,119,0, +102,26,0,79,120,0,163,21,0,86,126,0,80,23,0,82,118,0,56,32,0,159,143,0,222,27,0,171,121,0,196,32,0,240,131,0,117,17,0,56,116,0,236,24,0,4,115,0,132,23,0,218,108,0,254,23,0,72,106,0,242,25,0,250,109,0,6,10,0,17,78,0,43,19,0,46,81,0,7,19,0,204,90,0,4,253, +255,22,79,0,198,6,0,24,64,0,238,250,255,91,70,0,11,254,255,225,73,0,105,255,255,182,77,0,225,243,255,184,62,0,197,244,255,4,50,0,70,246,255,78,62,0,115,232,255,117,46,0,39,235,255,253,57,0,227,242,255,157,75,0,217,243,255,21,63,0,3,240,255,175,65,0,138, +234,255,178,77,0,33,252,255,246,73,0,61,251,255,12,76,0,153,249,255,207,88,0,210,251,255,174,87,0,177,250,255,250,88,0,198,1,0,44,81,0,184,251,255,149,81,0,33,14,0,255,89,0,47,254,255,253,94,0,201,17,0,111,86,0,185,3,0,38,87,0,172,10,0,61,80,0,122,4, +0,160,83,0,250,10,0,146,107,0,190,9,0,4,90,0,232,6,0,49,85,0,177,7,0,61,87,0,220,3,0,214,68,0,175,4,0,54,86,0,65,2,0,130,70,0,76,1,0,70,73,0,57,228,255,198,75,0,115,255,255,109,71,0,6,244,255,71,60,0,43,243,255,96,60,0,190,223,255,179,58,0,195,221,255, +228,47,0,20,217,255,214,20,0,239,217,255,235,31,0,128,220,255,105,18,0,66,212,255,185,13,0,73,213,255,179,24,0,239,201,255,75,7,0,143,201,255,31,3,0,19,206,255,121,254,255,59,196,255,104,14,0,109,197,255,191,242,255,58,213,255,189,243,255,149,207,255, +8,246,255,239,202,255,252,254,255,227,196,255,117,0,0,96,208,255,90,0,0,173,209,255,246,253,255,171,210,255,58,11,0,70,212,255,130,10,0,106,212,255,3,4,0,75,218,255,7,14,0,241,214,255,134,4,0,170,203,255,194,1,0,117,211,255,146,10,0,32,218,255,70,9,0, +216,222,255,180,11,0,120,218,255,95,21,0,121,206,255,115,253,255,205,200,255,38,4,0,203,205,255,84,255,255,21,204,255,49,3,0,154,177,255,120,224,255,59,192,255,226,243,255,238,198,255,47,233,255,70,180,255,92,225,255,247,187,255,224,232,255,23,193,255, +13,229,255,84,201,255,220,227,255,192,177,255,217,217,255,193,192,255,65,226,255,15,186,255,47,215,255,91,191,255,70,224,255,95,193,255,67,218,255,221,192,255,38,208,255,142,196,255,229,216,255,152,192,255,74,204,255,164,194,255,186,209,255,213,185,255, +45,209,255,177,200,255,132,195,255,126,185,255,68,189,255,136,192,255,119,197,255,211,179,255,151,191,255,137,192,255,222,191,255,113,184,255,131,200,255,247,172,255,181,183,255,144,175,255,134,206,255,162,175,255,192,197,255,105,181,255,245,211,255, +52,188,255,68,194,255,244,178,255,222,217,255,219,181,255,82,210,255,27,181,255,176,225,255,211,192,255,152,228,255,237,192,255,126,224,255,199,183,255,192,233,255,56,202,255,136,224,255,177,185,255,102,220,255,47,202,255,118,231,255,203,189,255,44,212, +255,203,189,255,223,207,255,210,207,255,189,224,255,102,202,255,8,213,255,205,206,255,21,218,255,85,195,255,37,212,255,75,199,255,140,206,255,24,202,255,154,204,255,181,209,255,9,196,255,181,209,255,8,203,255,196,210,255,65,205,255,141,218,255,108,212, +255,42,219,255,123,203,255,80,218,255,206,215,255,207,213,255,130,197,255,109,214,255,108,209,255,52,219,255,203,213,255,4,224,255,172,205,255,49,227,255,55,220,255,47,218,255,50,212,255,27,222,255,97,224,255,173,230,255,130,228,255,72,212,255,55,223, +255,200,223,255,88,234,255,70,213,255,158,234,255,48,218,255,210,231,255,125,225,255,8,238,255,143,225,255,51,238,255,220,229,255,102,232,255,29,238,255,25,235,255,219,236,255,212,237,255,228,239,255,239,230,255,158,236,255,79,244,255,152,251,255,249, +249,255,252,0,0,87,238,255,90,5,0,17,248,255,85,10,0,176,250,255,103,13,0,72,253,255,173,16,0,96,241,255,209,3,0,122,235,255,95,19,0,193,238,255,147,25,0,251,2,0,21,17,0,41,255,255,192,12,0,153,246,255,43,28,0,177,247,255,33,19,0,89,244,255,38,14,0,250, +227,255,35,15,0,182,242,255,49,4,0,196,234,255,192,12,0,136,240,255,220,8,0,84,240,255,194,17,0,9,229,255,227,18,0,86,224,255,107,5,0,147,224,255,51,3,0,81,238,255,227,18,0,197,237,255,189,16,0,170,222,255,64,20,0,206,225,255,39,7,0,133,229,255,220,17, +0,52,227,255,17,21,0,81,226,255,129,9,0,38,229,255,185,14,0,79,230,255,110,16,0,215,228,255,252,15,0,172,234,255,155,15,0,67,234,255,240,19,0,117,223,255,251,27,0,41,240,255,167,20,0,7,234,255,152,13,0,205,226,255,125,34,0,219,236,255,195,22,0,62,227, +255,81,31,0,123,239,255,20,28,0,118,235,255,40,30,0,217,231,255,238,28,0,35,213,255,32,53,0,236,248,255,82,42,0,47,250,255,83,27,0,240,238,255,95,55,0,205,238,255,32,41,0,167,242,255,232,41,0,13,241,255,181,52,0,133,236,255,164,49,0,55,233,255,188,61, +0,119,238,255,79,34,0,197,221,255,104,37,0,87,237,255,108,50,0,15,232,255,18,45,0,145,221,255,184,42,0,234,229,255,74,35,0,215,224,255,82,55,0,149,220,255,51,34,0,162,216,255,128,37,0,146,210,255,83,32,0,203,217,255,10,33,0,129,210,255,131,22,0,84,202, +255,71,41,0,23,216,255,103,39,0,215,202,255,70,30,0,82,211,255,137,31,0,186,209,255,242,25,0,30,214,255,114,27,0,10,204,255,202,24,0,179,206,255,244,27,0,113,213,255,69,22,0,182,216,255,179,23,0,95,208,255,164,33,0,138,219,255,51,30,0,72,207,255,56,26, +0,62,213,255,23,36,0,146,222,255,238,26,0,25,214,255,39,31,0,252,222,255,202,37,0,109,223,255,161,20,0,243,217,255,153,36,0,26,222,255,123,37,0,120,220,255,230,28,0,97,219,255,70,37,0,98,232,255,32,30,0,248,221,255,140,34,0,92,210,255,8,40,0,95,204,255, +73,20,0,128,194,255,229,36,0,76,202,255,118,22,0,184,161,255,16,24,0,166,188,255,185,7,0,215,181,255,193,7,0,77,160,255,139,5,0,62,146,255,210,2,0,7,155,255,26,5,0,143,146,255,183,5,0,50,140,255,191,253,255,203,144,255,19,250,255,131,129,255,125,4,0, +216,130,255,236,15,0,75,141,255,210,2,0,162,131,255,63,255,255,11,145,255,125,9,0,160,132,255,56,252,255,252,123,255,188,244,255,204,122,255,236,245,255,45,128,255,202,250,255,164,124,255,180,249,255,118,125,255,81,237,255,22,115,255,15,241,255,144,118, +255,3,237,255,70,122,255,71,230,255,199,110,255,29,232,255,80,117,255,113,233,255,30,114,255,39,224,255,174,103,255,221,227,255,121,96,255,177,217,255,167,108,255,138,231,255,80,103,255,131,218,255,85,102,255,239,217,255,173,112,255,33,226,255,153,103, +255,231,212,255,112,115,255,74,222,255,23,111,255,205,222,255,73,114,255,50,224,255,48,124,255,203,235,255,207,136,255,70,221,255,47,110,255,81,235,255,178,125,255,131,221,255,195,123,255,78,246,255,20,116,255,67,244,255,195,126,255,158,243,255,150,124, +255,154,232,255,61,110,255,124,255,255,240,121,255,206,249,255,187,119,255,99,250,255,162,124,255,198,237,255,138,121,255,106,248,255,220,106,255,93,254,255,173,112,255,120,5,0,17,100,255,140,14,0,108,123,255,196,247,255,160,109,255,167,248,255,13,104, +255,74,1,0,45,110,255,126,8,0,32,109,255,165,251,255,237,96,255,182,251,255,195,108,255,51,237,255,200,102,255,176,255,255,194,123,255,89,234,255,16,110,255,200,251,255,3,116,255,199,230,255,54,105,255,47,238,255,167,105,255,248,233,255,150,103,255,201, +246,255,138,111,255,166,239,255,19,120,255,49,240,255,140,104,255,114,239,255,51,112,255,235,237,255,38,111,255,203,234,255,206,115,255,244,244,255,77,122,255,236,239,255,38,128,255,87,230,255,44,115,255,172,233,255,44,113,255,198,233,255,254,101,255, +29,241,255,198,114,255,156,235,255,227,109,255,67,247,255,101,101,255,22,243,255,89,109,255,193,246,255,214,113,255,190,249,255,106,114,255,197,245,255,111,97,255,232,245,255,96,108,255,210,237,255,251,102,255,237,246,255,71,97,255,85,254,255,244,95, +255,16,247,255,77,98,255,173,249,255,17,103,255,109,241,255,248,97,255,89,246,255,159,100,255,52,249,255,180,104,255,95,247,255,36,110,255,177,246,255,67,109,255,67,252,255,20,117,255,63,244,255,133,106,255,107,8,0,203,106,255,172,245,255,136,119,255, +178,248,255,39,124,255,204,248,255,147,121,255,200,13,0,112,128,255,126,250,255,185,134,255,69,2,0,240,140,255,233,0,0,81,141,255,57,5,0,153,145,255,147,11,0,96,142,255,211,10,0,72,146,255,55,32,0,154,174,255,188,18,0,55,155,255,111,20,0,41,161,255,242, +24,0,138,165,255,203,36,0,195,151,255,151,25,0,195,162,255,50,33,0,189,168,255,26,28,0,240,162,255,201,32,0,88,161,255,194,36,0,65,169,255,127,35,0,66,158,255,103,26,0,150,159,255,175,34,0,33,160,255,247,42,0,45,153,255,169,33,0,74,148,255,93,41,0,125, +155,255,71,23,0,180,148,255,195,35,0,200,154,255,96,23,0,80,141,255,32,26,0,211,158,255,104,19,0,197,155,255,9,23,0,207,155,255,13,20,0,15,168,255,94,15,0,248,177,255,111,17,0,200,170,255,84,11,0,163,181,255,66,24,0,197,173,255,253,29,0,215,175,255,87, +29,0,35,185,255,71,37,0,89,172,255,87,29,0,59,188,255,149,37,0,111,186,255,207,46,0,174,175,255,15,40,0,11,183,255,69,52,0,158,181,255,224,46,0,158,175,255,113,64,0,125,181,255,95,62,0,225,176,255,125,63,0,178,181,255,213,65,0,236,184,255,79,72,0,94, +195,255,121,66,0,113,207,255,60,68,0,205,204,255,7,66,0,172,189,255,233,74,0,79,201,255,89,73,0,23,196,255,158,63,0,114,199,255,15,74,0,206,200,255,243,59,0,219,195,255,169,62,0,51,200,255,59,55,0,224,192,255,159,60,0,246,199,255,72,62,0,51,194,255,2, +52,0,86,184,255,201,54,0,147,184,255,158,48,0,112,182,255,44,44,0,203,181,255,157,46,0,74,187,255,70,48,0,239,179,255,82,67,0,63,194,255,17,54,0,171,195,255,190,42,0,19,172,255,168,47,0,7,197,255,98,57,0,229,196,255,76,66,0,47,202,255,50,48,0,99,208, +255,141,63,0,243,215,255,223,58,0,121,217,255,5,64,0,156,215,255,183,67,0,21,226,255,131,65,0,108,226,255,212,68,0,65,236,255,8,55,0,135,232,255,38,64,0,43,237,255,51,59,0,138,241,255,192,76,0,199,245,255,46,60,0,186,246,255,201,68,0,40,234,255,188,63, +0,79,235,255,91,69,0,26,237,255,213,67,0,248,232,255,151,73,0,115,223,255,168,73,0,167,223,255,116,65,0,217,214,255,196,80,0,250,228,255,221,57,0,104,212,255,75,74,0,174,216,255,212,76,0,161,215,255,66,66,0,223,207,255,238,72,0,113,218,255,151,74,0,124, +208,255,185,72,0,98,212,255,172,75,0,63,214,255,182,65,0,120,211,255,129,69,0,68,209,255,20,70,0,82,208,255,21,79,0,26,209,255,236,62,0,114,203,255,204,73,0,153,208,255,215,78,0,206,200,255,105,64,0,45,207,255,140,62,0,212,197,255,149,58,0,78,198,255, +65,46,0,190,183,255,206,55,0,9,196,255,29,33,0,254,192,255,107,31,0,71,198,255,117,25,0,216,189,255,66,23,0,11,181,255,250,15,0,8,178,255,125,27,0,146,195,255,197,4,0,36,174,255,233,11,0,76,175,255,165,254,255,53,178,255,115,3,0,186,172,255,151,10,0, +236,182,255,107,255,255,254,165,255,141,1,0,203,178,255,157,7,0,183,164,255,170,6,0,252,175,255,147,254,255,37,160,255,214,4,0,219,175,255,48,253,255,170,167,255,159,255,255,20,177,255,75,249,255,103,178,255,81,1,0,69,165,255,107,23,0,96,176,255,202, +12,0,19,183,255,124,255,255,132,174,255,187,15,0,176,163,255,53,5,0,139,160,255,255,8,0,242,164,255,39,253,255,121,164,255,113,5,0,244,182,255,15,249,255,187,163,255,80,3,0,9,166,255,147,7,0,184,164,255,169,6,0,249,156,255,1,243,255,155,156,255,159,255, +255,143,144,255,153,4,0,142,139,255,200,252,255,122,154,255,231,251,255,14,148,255,19,12,0,237,145,255,85,240,255,99,136,255,230,246,255,172,130,255,28,1,0,93,141,255,190,245,255,252,137,255,4,239,255,137,127,255,21,239,255,189,136,255,115,234,255,56, +142,255,189,226,255,13,128,255,72,227,255,55,132,255,69,231,255,131,145,255,89,213,255,171,137,255,187,223,255,0,135,255,169,232,255,192,147,255,211,241,255,196,143,255,78,217,255,223,127,255,112,226,255,103,148,255,235,224,255,96,139,255,169,232,255, +223,152,255,96,224,255,82,137,255,238,220,255,223,133,255,203,220,255,93,142,255,199,221,255,249,142,255,96,226,255,133,143,255,221,227,255,204,148,255,46,205,255,4,143,255,170,213,255,36,149,255,64,205,255,78,144,255,176,212,255,208,144,255,39,217,255, +209,151,255,243,216,255,228,144,255,164,218,255,14,135,255,28,221,255,92,142,255,199,211,255,188,142,255,139,218,255,247,151,255,106,216,255,10,150,255,122,223,255,216,154,255,47,221,255,35,159,255,20,221,255,163,151,255,134,231,255,222,165,255,131,230, +255,176,159,255,225,232,255,20,166,255,95,232,255,160,176,255,42,229,255,65,176,255,223,229,255,3,161,255,70,232,255,75,181,255,75,236,255,41,196,255,10,252,255,182,184,255,37,230,255,16,191,255,62,247,255,153,193,255,117,233,255,99,192,255,188,241,255, +101,195,255,177,240,255,10,191,255,97,247,255,222,190,255,211,240,255,45,201,255,16,251,255,246,189,255,175,242,255,86,200,255,129,246,255,120,205,255,20,242,255,60,200,255,51,246,255,236,198,255,229,225,255,177,201,255,133,227,255,151,191,255,86,236, +255,119,204,255,197,228,255,25,202,255,139,226,255,31,206,255,151,232,255,93,214,255,141,242,255,191,202,255,78,249,255,131,202,255,154,233,255,58,211,255,51,251,255,89,220,255,140,249,255,96,230,255,99,242,255,77,219,255,203,250,255,171,229,255,155, +251,255,72,233,255,156,254,255,75,226,255,87,3,0,244,235,255,21,247,255,110,239,255,54,6,0,52,245,255,120,0,0,176,243,255,178,15,0,185,243,255,74,15,0,176,243,255,170,10,0,44,250,255,69,16,0,141,240,255,197,5,0,233,247,255,211,9,0,196,1,0,56,12,0,81, +251,255,198,8,0,236,0,0,0,19,0,110,244,255,73,12,0,218,245,255,85,24,0,167,248,255,2,17,0,43,255,255,145,13,0,217,242,255,73,15,0,77,239,255,25,16,0,249,244,255,83,10,0,138,231,255,110,21,0,190,231,255,78,22,0,90,224,255,23,13,0,127,222,255,31,2,0,119, +222,255,92,2,0,25,225,255,66,13,0,112,225,255,97,9,0,7,222,255,73,7,0,236,226,255,32,253,255,37,226,255,32,13,0,42,230,255,155,3,0,88,239,255,229,2,0,9,247,255,40,2,0,186,240,255,218,12,0,49,243,255,124,4,0,85,238,255,93,8,0,120,230,255,24,8,0,83,240, +255,84,16,0,85,227,255,37,4,0,40,240,255,156,6,0,69,241,255,150,18,0,25,241,255,125,10,0,179,243,255,121,9,0,235,250,255,87,26,0,53,247,255,127,22,0,163,249,255,191,15,0,66,234,255,104,9,0,189,249,255,78,29,0,155,249,255,17,6,0,91,251,255,31,25,0,230, +254,255,76,14,0,183,247,255,222,11,0,83,254,255,211,13,0,100,251,255,217,18,0,192,247,255,103,3,0,69,252,255,238,5,0,180,246,255,114,1,0,241,246,255,71,254,255,224,249,255,247,11,0,5,242,255,209,1,0,177,248,255,210,4,0,240,237,255,21,243,255,206,243, +255,253,7,0,255,245,255,94,6,0,207,246,255,83,8,0,71,232,255,111,250,255,14,236,255,171,253,255,227,244,255,42,0,0,201,241,255,16,253,255,129,240,255,25,253,255,20,241,255,200,4,0,52,243,255,44,239,255,109,242,255,74,2,0,207,246,255,177,5,0,106,247,255, +10,254,255,228,247,255,99,249,255,135,242,255,25,253,255,193,0,0,65,240,255,248,245,255,99,249,255,124,253,255,71,4,0,196,251,255,5,255,255,112,255,255,132,248,255,233,255,255,99,255,255,144,245,255,159,5,0,248,242,255,175,254,255,81,247,255,231,3,0, +199,2,0,183,251,255,133,0,0,180,253,255,119,248,255,53,4,0,130,255,255,183,1,0,207,5,0,233,250,255,170,254,255,134,249,255,185,247,255,47,8,0,36,9,0,192,254,255,97,3,0,5,255,255,241,5,0,115,248,255,183,6,0,16,253,255,170,254,255,39,255,255,152,4,0,93, +6,0,160,13,0,194,2,0,130,255,255,92,249,255,206,248,255,183,1,0,168,7,0,77,0,0,74,244,255,101,12,0,41,254,255,135,9,0,166,249,255,215,253,255,30,247,255,92,6,0,40,244,255,147,250,255,236,227,255,24,246,255,27,236,255,214,0,0,41,228,255,197,0,0,169,224, +255,91,232,255,76,225,255,166,241,255,177,224,255,150,225,255,84,218,255,149,241,255,210,233,255,60,230,255,143,234,255,204,229,255,244,226,255,160,232,255,232,228,255,225,227,255,124,233,255,62,237,255,3,226,255,199,237,255,224,225,255,181,233,255,253, +226,255,230,242,255,42,234,255,229,238,255,36,232,255,14,245,255,173,235,255,53,240,255,159,233,255,202,241,255,27,228,255,192,230,255,217,235,255,130,250,255,139,238,255,40,6,0,127,237,255,93,249,255,160,233,255,115,244,255,164,231,255,113,1,0,51,227, +255,68,7,0,198,234,255,172,253,255,49,233,255,141,251,255,98,246,255,74,248,255,81,239,255,95,11,0,186,229,255,25,249,255,164,220,255,74,6,0,221,243,255,51,246,255,167,235,255,129,246,255,165,217,255,192,240,255,242,227,255,80,247,255,235,231,255,118, +234,255,215,223,255,237,237,255,210,224,255,197,238,255,213,222,255,72,247,255,182,216,255,249,242,255,125,228,255,77,242,255,31,239,255,161,230,255,24,229,255,10,232,255,79,223,255,188,234,255,50,225,255,199,217,255,110,214,255,98,229,255,15,232,255, +7,219,255,210,227,255,248,230,255,53,226,255,251,224,255,117,235,255,62,235,255,120,247,255,83,226,255,21,238,255,30,214,255,250,229,255,144,237,255,27,3,0,170,233,255,252,252,255,177,240,255,227,4,0,144,244,255,171,13,0,231,241,255,163,2,0,160,236,255, +123,7,0,123,246,255,179,13,0,221,244,255,80,11,0,37,250,255,107,8,0,183,250,255,69,14,0,185,243,255,157,15,0,19,246,255,72,19,0,146,0,0,13,20,0,37,250,255,212,9,0,49,248,255,243,15,0,29,2,0,183,11,0,185,251,255,217,19,0,27,253,255,212,5,0,212,251,255, +171,10,0,7,240,255,128,18,0,82,251,255,133,32,0,172,241,255,11,27,0,78,245,255,206,14,0,87,249,255,55,8,0,249,252,255,156,7,0,237,251,255,218,20,0,65,255,255,139,7,0,167,246,255,1,3,0,199,1,0,50,14,0,14,3,0,119,10,0,18,5,0,78,7,0,171,4,0,29,12,0,184, +2,0,121,247,255,177,7,0,108,253,255,175,2,0,214,254,255,12,2,0,93,254,255,144,12,0,147,255,255,89,254,255,4,9,0,104,249,255,43,7,0,202,7,0,215,7,0,44,1,0,156,255,255,221,247,255,43,250,255,108,242,255,90,17,0,112,240,255,217,8,0,62,245,255,49,14,0,192, +245,255,89,17,0,155,244,255,130,12,0,46,237,255,166,4,0,126,225,255,137,11,0,20,245,255,45,12,0,29,250,255,54,13,0,101,247,255,29,13,0,40,238,255,88,4,0,225,253,255,23,19,0,216,253,255,85,20,0,57,255,255,197,20,0,7,4,0,147,34,0,45,6,0,117,23,0,226,15, +0,224,25,0,63,11,0,63,22,0,112,14,0,162,29,0,118,17,0,139,26,0,250,23,0,33,29,0,20,29,0,185,32,0,65,12,0,64,32,0,70,6,0,112,21,0,187,13,0,211,28,0,82,21,0,246,33,0,250,19,0,126,15,0,187,18,0,126,33,0,241,10,0,149,23,0,88,253,255,25,21,0,245,254,255,192, +9,0,253,240,255,120,3,0,201,249,255,22,252,255,184,254,255,36,4,0,206,242,255,65,243,255,247,237,255,193,238,255,138,243,255,165,246,255,224,243,255,155,231,255,86,233,255,6,234,255,84,232,255,54,246,255,13,235,255,103,240,255,15,232,255,137,230,255, +40,236,255,224,240,255,221,226,255,231,239,255,242,243,255,0,235,255,239,246,255,175,237,255,127,241,255,200,236,255,184,249,255,161,253,255,195,245,255,64,237,255,143,245,255,68,244,255,48,245,255,153,229,255,169,255,255,58,233,255,251,253,255,164,230, +255,195,235,255,115,246,255,145,0,0,87,240,255,140,253,255,230,238,255,111,246,255,34,244,255,170,251,255,74,247,255,64,244,255,148,235,255,182,232,255,212,227,255,245,244,255,140,225,255,122,232,255,183,225,255,181,226,255,144,217,255,71,227,255,70, +224,255,46,217,255,238,211,255,36,195,255,125,215,255,127,219,255,70,218,255,146,209,255,224,212,255,159,201,255,160,204,255,86,193,255,22,199,255,209,205,255,113,186,255,146,187,255,114,186,255,200,183,255,82,187,255,44,171,255,213,183,255,244,183,255, +166,180,255,20,188,255,215,178,255,77,175,255,75,198,255,49,184,255,224,194,255,139,175,255,55,196,255,48,177,255,150,190,255,154,184,255,148,211,255,142,187,255,128,209,255,239,183,255,79,216,255,233,196,255,221,224,255,93,194,255,204,219,255,40,193, +255,175,228,255,118,193,255,127,230,255,255,209,255,89,245,255,11,195,255,121,226,255,17,205,255,83,235,255,36,212,255,17,242,255,13,213,255,219,234,255,195,220,255,148,250,255,126,214,255,165,232,255,12,218,255,40,240,255,56,224,255,129,236,255,173, +216,255,58,247,255,53,216,255,67,253,255,155,227,255,10,237,255,197,226,255,217,250,255,92,231,255,110,247,255,244,229,255,110,253,255,235,235,255,102,9,0,104,239,255,244,7,0,5,229,255,140,0,0,119,250,255,14,14,0,224,239,255,200,250,255,151,242,255,41, +21,0,211,248,255,12,13,0,85,250,255,215,17,0,177,248,255,130,18,0,207,14,0,176,39,0,91,248,255,190,37,0,29,253,255,164,37,0,19,2,0,159,47,0,188,7,0,161,36,0,84,19,0,190,51,0,213,20,0,170,42,0,203,25,0,84,62,0,202,24,0,124,47,0,37,23,0,197,44,0,22,25, +0,208,66,0,108,32,0,132,61,0,175,24,0,4,62,0,226,37,0,230,64,0,164,29,0,216,67,0,97,37,0,15,51,0,131,44,0,229,64,0,205,28,0,74,78,0,124,32,0,10,62,0,13,33,0,134,65,0,150,47,0,14,58,0,31,48,0,253,86,0,128,50,0,233,77,0,86,44,0,67,75,0,205,43,0,91,74,0, +200,54,0,51,76,0,164,31,0,248,84,0,21,41,0,212,76,0,220,35,0,75,76,0,255,36,0,90,83,0,249,46,0,68,71,0,119,45,0,20,67,0,226,41,0,166,83,0,89,49,0,164,66,0,42,31,0,132,68,0,63,42,0,84,64,0,81,43,0,65,78,0,182,41,0,114,69,0,194,53,0,4,79,0,142,44,0,46, +70,0,83,38,0,200,71,0,106,51,0,225,78,0,127,39,0,193,81,0,203,46,0,127,84,0,187,48,0,88,80,0,155,50,0,45,96,0,247,56,0,26,87,0,188,50,0,227,100,0,89,46,0,205,96,0,130,69,0,164,98,0,71,53,0,101,104,0,98,80,0,83,112,0,61,62,0,249,99,0,47,65,0,185,96,0, +185,66,0,191,93,0,42,60,0,174,94,0,16,78,0,155,93,0,212,69,0,73,89,0,109,69,0,163,111,0,217,66,0,247,102,0,149,67,0,0,94,0,202,60,0,38,99,0,108,69,0,92,102,0,160,61,0,103,88,0,125,62,0,76,105,0,180,65,0,195,96,0,132,52,0,225,101,0,75,55,0,213,98,0,72, +51,0,173,92,0,117,45,0,36,83,0,212,46,0,239,100,0,15,46,0,184,97,0,251,43,0,29,87,0,250,42,0,154,84,0,94,50,0,48,90,0,223,42,0,30,91,0,172,42,0,246,83,0,15,39,0,37,80,0,246,40,0,128,97,0,15,49,0,135,85,0,180,43,0,238,86,0,39,48,0,92,86,0,28,36,0,231, +89,0,239,53,0,144,89,0,220,40,0,136,80,0,94,44,0,33,91,0,96,36,0,86,82,0,126,41,0,196,82,0,204,43,0,141,88,0,220,31,0,127,83,0,49,43,0,244,79,0,220,54,0,141,69,0,79,38,0,167,58,0,34,35,0,0,65,0,96,38,0,117,61,0,33,35,0,192,71,0,0,37,0,52,55,0,76,24,0, +201,60,0,234,29,0,247,65,0,142,21,0,104,58,0,233,29,0,8,55,0,162,25,0,174,60,0,108,21,0,77,57,0,47,20,0,151,66,0,123,19,0,121,61,0,52,15,0,46,51,0,173,4,0,239,59,0,57,11,0,187,58,0,176,22,0,48,69,0,209,8,0,171,60,0,211,23,0,37,66,0,85,14,0,135,73,0,67, +13,0,72,54,0,147,18,0,221,61,0,39,11,0,241,52,0,120,16,0,144,63,0,75,12,0,28,55,0,218,8,0,214,39,0,79,6,0,119,52,0,26,18,0,72,45,0,186,14,0,181,42,0,0,17,0,127,52,0,150,11,0,146,40,0,18,18,0,163,41,0,148,21,0,220,37,0,239,17,0,145,40,0,60,18,0,145,40, +0,254,14,0,152,38,0,33,16,0,79,32,0,127,16,0,136,41,0,201,11,0,165,33,0,24,17,0,136,42,0,34,18,0,192,52,0,4,10,0,81,38,0,70,24,0,197,47,0,174,8,0,167,37,0,215,5,0,159,39,0,166,11,0,203,42,0,218,12,0,28,35,0,239,2,0,30,40,0,237,16,0,47,40,0,130,6,0,245, +44,0,62,8,0,129,34,0,148,8,0,23,47,0,47,12,0,245,46,0,174,9,0,31,45,0,128,3,0,13,45,0,124,13,0,76,53,0,146,6,0,251,45,0,219,18,0,113,63,0,160,19,0,110,56,0,179,23,0,205,58,0,108,18,0,228,54,0,102,27,0,247,59,0,214,27,0,51,60,0,220,22,0,175,76,0,177,22, +0,113,71,0,28,35,0,62,71,0,120,29,0,132,76,0,198,33,0,21,81,0,65,46,0,184,81,0,152,24,0,249,74,0,113,63,0,38,85,0,8,60,0,46,84,0,57,52,0,72,88,0,230,56,0,184,94,0,143,58,0,56,94,0,150,50,0,248,82,0,75,61,0,130,89,0,82,53,0,120,85,0,31,57,0,10,91,0,116, +55,0,215,94,0,80,52,0,59,86,0,122,48,0,220,82,0,46,53,0,184,80,0,132,57,0,2,73,0,173,53,0,79,73,0,13,65,0,157,77,0,180,50,0,80,83,0,52,51,0,102,69,0,102,46,0,101,63,0,189,57,0,61,78,0,127,49,0,151,58,0,8,48,0,136,76,0,66,41,0,194,64,0,58,46,0,186,73, +0,168,43,0,255,82,0,145,57,0,154,87,0,149,34,0,140,58,0,228,49,0,161,90,0,217,35,0,14,82,0,47,46,0,124,77,0,133,48,0,91,91,0,21,38,0,88,75,0,166,37,0,215,72,0,234,39,0,224,72,0,148,41,0,96,72,0,96,35,0,103,66,0,241,32,0,152,51,0,53,35,0,43,76,0,248,22, +0,93,57,0,111,28,0,142,49,0,222,19,0,176,49,0,17,29,0,74,51,0,247,22,0,82,46,0,239,32,0,22,42,0,170,27,0,14,63,0,78,33,0,209,49,0,128,40,0,184,56,0,85,31,0,217,64,0,34,39,0,183,66,0,178,45,0,199,62,0,66,52,0,199,70,0,118,49,0,173,79,0,203,58,0,62,74, +0,108,73,0,35,77,0,133,68,0,154,85,0,226,77,0,196,94,0,81,70,0,135,97,0,81,69,0,219,105,0,54,76,0,126,94,0,148,71,0,253,93,0,241,75,0,235,104,0,122,71,0,106,98,0,207,72,0,38,96,0,240,70,0,98,88,0,86,71,0,139,95,0,240,63,0,79,99,0,247,65,0,53,91,0,112, +54,0,225,76,0,161,68,0,223,84,0,204,61,0,72,66,0,70,44,0,106,58,0,163,51,0,89,60,0,110,54,0,120,76,0,1,43,0,199,63,0,112,41,0,250,57,0,103,41,0,61,61,0,2,29,0,164,55,0,179,43,0,247,65,0,138,34,0,10,53,0,95,32,0,77,60,0,34,40,0,17,62,0,228,47,0,239,55, +0,34,34,0,212,58,0,240,29,0,90,70,0,154,29,0,228,62,0,139,23,0,5,68,0,121,25,0,98,65,0,87,26,0,78,77,0,228,40,0,208,69,0,130,22,0,70,73,0,172,23,0,239,76,0,0,28,0,83,82,0,78,22,0,43,73,0,23,37,0,66,77,0,83,32,0,13,82,0,46,43,0,165,89,0,92,31,0,187,68, +0,123,41,0,185,75,0,201,35,0,160,72,0,99,32,0,164,83,0,67,26,0,234,76,0,50,26,0,187,89,0,94,19,0,22,70,0,223,44,0,24,63,0,56,30,0,28,74,0,175,30,0,75,62,0,185,28,0,12,67,0,6,28,0,238,57,0,234,30,0,36,48,0,56,29,0,207,47,0,126,23,0,208,41,0,158,8,0,214, +50,0,31,5,0,44,48,0,172,14,0,198,43,0,247,254,255,218,38,0,252,6,0,64,58,0,215,247,255,74,32,0,113,249,255,39,34,0,141,5,0,186,49,0,159,241,255,58,31,0,64,244,255,96,40,0,127,0,0,134,31,0,19,249,255,101,27,0,237,0,0,112,40,0,140,245,255,53,20,0,197,252, +255,33,27,0,189,250,255,49,29,0,134,2,0,77,23,0,97,248,255,85,40,0,222,252,255,10,36,0,28,249,255,226,30,0,89,8,0,163,36,0,122,250,255,155,36,0,199,8,0,193,43,0,55,5,0,97,47,0,61,251,255,170,52,0,1,253,255,11,46,0,115,6,0,34,51,0,230,254,255,220,53,0, +111,11,0,149,58,0,33,13,0,121,61,0,43,253,255,192,56,0,226,5,0,188,61,0,72,6,0,96,57,0,26,11,0,9,62,0,67,0,0,14,65,0,71,248,255,41,63,0,55,5,0,191,81,0,60,11,0,16,74,0,198,7,0,44,69,0,102,12,0,100,62,0,86,10,0,171,82,0,94,254,255,2,67,0,192,4,0,79,78, +0,128,254,255,127,70,0,205,22,0,238,80,0,153,11,0,15,94,0,20,19,0,57,82,0,222,22,0,17,78,0,213,22,0,105,86,0,93,36,0,25,90,0,171,33,0,158,93,0,55,28,0,165,95,0,185,25,0,148,82,0,96,31,0,113,82,0,0,44,0,207,93,0,179,33,0,84,97,0,115,50,0,180,92,0,140, +62,0,232,91,0,232,52,0,94,93,0,246,55,0,250,76,0,21,49,0,24,104,0,249,50,0,59,103,0,224,50,0,221,101,0,235,56,0,98,94,0,159,65,0,43,109,0,51,62,0,182,105,0,104,48,0,104,105,0,224,47,0,13,112,0,183,45,0,111,106,0,189,58,0,33,107,0,68,59,0,10,103,0,236, +52,0,5,108,0,107,53,0,20,100,0,215,55,0,10,101,0,236,41,0,104,110,0,87,45,0,28,88,0,108,41,0,167,85,0,44,45,0,206,88,0,238,37,0,227,92,0,153,37,0,206,105,0,147,33,0,250,93,0,191,23,0,255,97,0,130,24,0,150,80,0,120,34,0,201,81,0,130,32,0,185,97,0,120, +25,0,250,90,0,156,22,0,180,74,0,241,14,0,199,89,0,11,23,0,253,85,0,90,29,0,103,82,0,35,33,0,22,77,0,185,19,0,196,73,0,154,15,0,201,67,0,240,40,0,30,76,0,151,35,0,171,71,0,5,37,0,155,69,0,58,34,0,30,58,0,113,38,0,93,62,0,241,38,0,46,66,0,56,36,0,255,53, +0,52,39,0,194,62,0,38,36,0,205,59,0,110,32,0,99,63,0,66,33,0,83,54,0,32,41,0,149,71,0,160,25,0,131,63,0,124,34,0,176,61,0,207,20,0,83,68,0,251,26,0,4,77,0,224,27,0,61,71,0,67,15,0,162,65,0,219,16,0,179,64,0,83,24,0,160,57,0,105,11,0,0,64,0,231,13,0,89, +60,0,91,16,0,16,71,0,141,2,0,247,54,0,100,8,0,101,63,0,221,255,255,133,64,0,17,255,255,76,69,0,95,254,255,167,56,0,226,243,255,100,56,0,100,1,0,200,57,0,244,250,255,63,57,0,63,3,0,137,73,0,17,248,255,152,68,0,197,254,255,64,69,0,46,252,255,119,66,0,228, +0,0,237,66,0,67,7,0,109,67,0,100,8,0,49,73,0,83,1,0,244,53,0,194,249,255,133,60,0,156,10,0,194,72,0,37,252,255,67,57,0,104,11,0,29,54,0,54,4,0,255,49,0,22,251,255,44,48,0,233,3,0,229,42,0,224,246,255,2,34,0,31,244,255,178,36,0,153,248,255,87,40,0,28, +240,255,231,27,0,241,239,255,82,24,0,164,227,255,114,25,0,237,230,255,228,16,0,212,223,255,190,26,0,159,225,255,18,20,0,48,213,255,4,12,0,87,216,255,27,26,0,13,214,255,79,13,0,154,204,255,18,14,0,14,208,255,224,12,0,130,204,255,186,253,255,54,203,255, +220,15,0,80,203,255,180,251,255,200,203,255,252,4,0,112,199,255,246,2,0,217,209,255,239,1,0,195,225,255,147,250,255,253,208,255,177,3,0,82,209,255,254,252,255,88,205,255,150,254,255,203,208,255,120,7,0,28,212,255,160,253,255,36,213,255,58,3,0,32,204, +255,41,253,255,185,210,255,147,250,255,81,206,255,192,10,0,215,207,255,203,253,255,124,211,255,153,252,255,146,191,255,73,249,255,91,217,255,126,8,0,182,207,255,246,2,0,4,202,255,90,243,255,251,207,255,249,245,255,107,201,255,226,243,255,15,195,255,20, +239,255,238,194,255,122,239,255,43,194,255,22,227,255,21,192,255,94,219,255,249,187,255,138,229,255,120,172,255,116,210,255,207,193,255,48,211,255,169,174,255,132,201,255,13,177,255,106,196,255,155,178,255,214,203,255,40,176,255,116,201,255,179,175,255, +30,202,255,146,164,255,130,198,255,233,163,255,9,194,255,235,178,255,236,211,255,29,164,255,196,210,255,138,160,255,248,204,255,99,158,255,54,214,255,137,146,255,169,196,255,146,156,255,220,217,255,253,158,255,62,220,255,194,148,255,172,210,255,122,156, +255,37,215,255,42,154,255,154,221,255,105,147,255,229,217,255,23,151,255,77,212,255,42,145,255,237,218,255,83,146,255,0,208,255,94,155,255,23,209,255,105,154,255,12,206,255,163,165,255,253,204,255,169,147,255,43,193,255,56,154,255,195,194,255,49,163, +255,208,196,255,188,162,255,94,194,255,60,158,255,226,186,255,120,153,255,169,185,255,86,158,255,82,187,255,141,156,255,52,190,255,207,167,255,235,187,255,132,167,255,60,186,255,229,151,255,192,183,255,192,167,255,126,187,255,114,154,255,2,181,255,54, +150,255,149,189,255,205,170,255,173,185,255,34,176,255,239,182,255,34,167,255,46,195,255,111,167,255,178,193,255,119,172,255,182,200,255,212,177,255,84,198,255,52,172,255,232,196,255,30,166,255,205,188,255,11,172,255,185,190,255,157,180,255,116,182,255, +84,165,255,60,180,255,48,171,255,117,191,255,117,162,255,219,182,255,213,156,255,60,190,255,186,153,255,151,178,255,219,167,255,5,188,255,209,150,255,104,185,255,1,158,255,72,189,255,219,155,255,33,183,255,154,149,255,116,180,255,145,150,255,222,169, +255,73,148,255,151,158,255,131,153,255,59,162,255,65,140,255,109,171,255,58,148,255,219,172,255,176,136,255,88,174,255,84,140,255,194,146,255,188,139,255,172,162,255,233,142,255,95,150,255,204,153,255,40,157,255,24,150,255,58,148,255,214,140,255,209, +136,255,230,141,255,163,147,255,92,130,255,144,127,255,219,118,255,52,123,255,81,132,255,194,133,255,165,133,255,242,122,255,220,123,255,159,130,255,188,114,255,142,126,255,232,122,255,177,122,255,207,110,255,40,119,255,213,120,255,30,120,255,253,105, +255,92,111,255,195,105,255,253,103,255,206,100,255,249,110,255,49,119,255,49,105,255,60,114,255,164,123,255,70,102,255,183,94,255,121,122,255,108,114,255,251,113,255,145,129,255,185,109,255,32,103,255,162,128,255,200,112,255,212,109,255,233,101,255,149, +119,255,177,112,255,241,116,255,108,105,255,213,125,255,53,127,255,136,122,255,87,127,255,173,133,255,181,127,255,248,122,255,105,120,255,203,120,255,206,124,255,131,122,255,245,130,255,147,123,255,68,134,255,139,131,255,146,133,255,131,131,255,23,136, +255,102,129,255,255,123,255,40,127,255,71,134,255,166,128,255,166,137,255,128,134,255,230,128,255,150,128,255,151,133,255,109,139,255,83,134,255,35,135,255,0,126,255,85,143,255,127,145,255,141,130,255,244,135,255,187,147,255,43,134,255,24,145,255,71, +137,255,216,146,255,174,133,255,105,136,255,197,127,255,118,156,255,15,133,255,83,150,255,145,128,255,46,148,255,8,122,255,23,158,255,208,120,255,42,143,255,197,129,255,219,151,255,200,128,255,166,141,255,216,96,255,205,150,255,59,113,255,74,134,255, +154,109,255,91,138,255,75,96,255,140,146,255,76,107,255,109,124,255,68,93,255,241,122,255,7,94,255,172,109,255,29,96,255,191,122,255,185,95,255,47,123,255,27,105,255,199,127,255,235,96,255,219,133,255,104,98,255,51,122,255,76,96,255,28,129,255,254,114, +255,7,113,255,133,98,255,249,136,255,48,119,255,89,122,255,173,110,255,191,136,255,129,118,255,22,133,255,64,107,255,230,131,255,176,127,255,20,131,255,51,113,255,223,138,255,195,127,255,220,136,255,88,119,255,97,135,255,208,119,255,198,142,255,239,124, +255,93,147,255,96,134,255,25,148,255,47,144,255,192,152,255,9,146,255,184,159,255,212,136,255,243,159,255,254,146,255,34,162,255,6,151,255,255,155,255,141,148,255,4,161,255,49,148,255,12,178,255,112,160,255,54,178,255,87,150,255,31,174,255,186,145,255, +129,179,255,173,160,255,87,192,255,82,166,255,96,182,255,172,151,255,154,186,255,90,144,255,137,183,255,248,142,255,104,196,255,15,154,255,249,189,255,38,142,255,118,204,255,178,147,255,224,183,255,69,134,255,136,194,255,72,133,255,5,183,255,51,135,255, +243,186,255,27,128,255,130,184,255,183,108,255,160,176,255,208,118,255,121,178,255,45,119,255,152,173,255,230,101,255,94,173,255,98,113,255,207,169,255,219,93,255,117,152,255,181,92,255,160,177,255,199,95,255,182,166,255,81,89,255,118,171,255,207,74, +255,245,162,255,142,80,255,130,161,255,84,83,255,2,162,255,229,77,255,19,168,255,238,71,255,28,153,255,164,77,255,12,162,255,131,80,255,218,161,255,192,92,255,36,172,255,145,76,255,50,173,255,20,85,255,158,183,255,244,102,255,55,169,255,222,98,255,38, +160,255,178,105,255,163,182,255,188,111,255,79,182,255,76,115,255,161,174,255,7,125,255,215,170,255,140,123,255,240,191,255,45,145,255,53,189,255,169,131,255,163,186,255,221,140,255,59,190,255,104,146,255,163,201,255,239,140,255,142,191,255,200,151,255, +66,194,255,212,147,255,173,186,255,134,145,255,42,182,255,146,147,255,179,199,255,141,152,255,166,198,255,179,142,255,215,190,255,174,135,255,68,188,255,161,140,255,13,193,255,248,148,255,231,182,255,226,124,255,142,198,255,5,119,255,241,173,255,32,113, +255,154,197,255,52,121,255,166,196,255,192,105,255,238,203,255,146,118,255,145,192,255,5,109,255,105,197,255,188,110,255,168,196,255,248,113,255,77,207,255,235,112,255,167,205,255,233,110,255,53,201,255,9,98,255,173,203,255,124,105,255,90,200,255,132, +108,255,194,202,255,18,113,255,76,202,255,89,123,255,239,204,255,62,107,255,82,217,255,35,125,255,232,229,255,113,133,255,97,215,255,96,133,255,46,221,255,164,136,255,17,211,255,207,133,255,149,226,255,223,153,255,142,223,255,75,149,255,159,223,255,210, +166,255,204,222,255,136,171,255,137,230,255,19,171,255,236,239,255,12,168,255,65,240,255,137,174,255,155,238,255,177,183,255,84,242,255,253,183,255,35,2,0,68,186,255,201,0,0,90,190,255,132,251,255,205,191,255,71,4,0,85,197,255,181,4,0,152,192,255,0,13, +0,62,213,255,252,16,0,63,218,255,111,10,0,71,202,255,176,16,0,138,205,255,127,10,0,136,219,255,50,13,0,195,206,255,157,14,0,159,204,255,0,29,0,42,201,255,243,32,0,243,212,255,162,15,0,72,200,255,81,27,0,157,205,255,19,28,0,138,198,255,117,21,0,234,205, +255,23,16,0,188,201,255,223,22,0,79,193,255,22,32,0,98,195,255,91,29,0,2,204,255,198,22,0,173,201,255,96,25,0,95,194,255,79,14,0,41,190,255,126,23,0,188,194,255,80,19,0,248,186,255,150,26,0,238,184,255,229,30,0,160,195,255,41,31,0,54,202,255,119,25,0, +72,194,255,30,29,0,216,199,255,75,33,0,125,201,255,250,26,0,151,201,255,157,26,0,226,191,255,66,33,0,49,209,255,161,12,0,4,195,255,64,31,0,210,194,255,57,28,0,141,207,255,68,32,0,57,207,255,194,40,0,110,204,255,87,34,0,208,215,255,50,45,0,28,221,255, +77,52,0,45,221,255,39,43,0,40,225,255,200,40,0,241,213,255,148,48,0,142,210,255,50,57,0,73,228,255,124,65,0,167,225,255,166,40,0,100,225,255,176,49,0,90,233,255,59,49,0,145,234,255,70,53,0,253,237,255,121,55,0,142,240,255,220,63,0,179,244,255,41,61,0, +185,247,255,189,57,0,106,253,255,85,65,0,80,2,0,126,80,0,114,2,0,73,83,0,172,12,0,153,79,0,56,9,0,55,78,0,210,18,0,106,85,0,207,21,0,50,84,0,50,25,0,20,83,0,66,30,0,92,86,0,173,33,0,55,99,0,3,31,0,136,90,0,24,25,0,215,94,0,202,20,0,198,96,0,217,25,0, +233,98,0,104,38,0,158,95,0,75,20,0,69,101,0,110,22,0,89,100,0,80,16,0,61,110,0,253,22,0,170,110,0,64,18,0,32,106,0,21,9,0,36,107,0,208,25,0,116,108,0,22,18,0,109,119,0,235,15,0,164,113,0,74,27,0,139,115,0,205,28,0,98,112,0,108,29,0,11,136,0,31,41,0,74, +123,0,110,33,0,198,135,0,14,48,0,14,132,0,157,57,0,64,132,0,148,64,0,133,129,0,82,75,0,23,145,0,177,81,0,83,140,0,209,79,0,161,139,0,144,92,0,25,146,0,240,91,0,206,149,0,50,90,0,246,161,0,119,103,0,246,156,0,27,91,0,218,152,0,182,90,0,19,169,0,78,102, +0,97,161,0,121,104,0,245,171,0,99,105,0,139,181,0,4,101,0,177,166,0,29,101,0,65,171,0,244,104,0,67,170,0,120,92,0,126,181,0,204,101,0,176,163,0,210,88,0,99,181,0,173,102,0,172,159,0,97,82,0,117,160,0,109,92,0,235,164,0,111,89,0,20,154,0,247,84,0,110, +174,0,147,77,0,132,166,0,33,78,0,54,153,0,163,77,0,157,159,0,242,76,0,144,162,0,103,77,0,139,161,0,93,73,0,241,160,0,82,78,0,255,152,0,168,75,0,81,162,0,253,66,0,164,151,0,176,75,0,193,152,0,173,82,0,138,155,0,16,79,0,150,156,0,84,83,0,174,141,0,111, +76,0,251,149,0,1,76,0,210,142,0,15,68,0,19,152,0,123,81,0,21,119,0,107,55,0,71,136,0,254,69,0,114,140,0,17,67,0,126,130,0,40,59,0,37,129,0,26,56,0,118,134,0,174,63,0,182,126,0,201,56,0,185,125,0,211,60,0,220,133,0,63,59,0,12,111,0,65,48,0,93,122,0,154, +53,0,254,128,0,42,45,0,96,138,0,11,59,0,178,132,0,169,51,0,160,134,0,220,57,0,141,128,0,193,49,0,84,121,0,58,47,0,232,130,0,106,62,0,22,134,0,2,63,0,134,129,0,155,60,0,88,138,0,94,69,0,49,129,0,45,52,0,51,126,0,63,66,0,80,125,0,20,62,0,12,127,0,27,52, +0,157,118,0,148,51,0,220,121,0,48,57,0,71,112,0,114,51,0,83,113,0,114,53,0,225,119,0,133,44,0,228,118,0,200,40,0,59,108,0,57,42,0,243,110,0,120,43,0,121,109,0,69,35,0,94,107,0,35,37,0,170,111,0,26,35,0,59,103,0,101,31,0,239,102,0,55,32,0,218,107,0,51, +31,0,149,97,0,117,23,0,57,107,0,167,29,0,211,104,0,234,25,0,130,101,0,75,17,0,202,98,0,3,18,0,146,97,0,36,0,0,225,90,0,45,6,0,216,80,0,2,244,255,254,95,0,108,7,0,119,93,0,145,248,255,25,95,0,104,246,255,147,88,0,104,252,255,206,76,0,209,247,255,130,82, +0,221,254,255,53,84,0,62,250,255,69,92,0,41,249,255,187,76,0,165,13,0,115,83,0,103,6,0,252,88,0,187,6,0,168,86,0,148,19,0,109,82,0,111,6,0,210,82,0,183,7,0,124,90,0,181,21,0,89,94,0,219,24,0,178,81,0,227,18,0,147,92,0,93,14,0,123,80,0,1,16,0,195,69,0, +119,8,0,153,69,0,183,255,255,93,73,0,3,252,255,163,78,0,228,8,0,15,79,0,73,11,0,115,58,0,9,243,255,129,70,0,115,5,0,154,72,0,124,255,255,64,77,0,63,252,255,72,58,0,197,248,255,190,71,0,179,252,255,136,66,0,156,244,255,234,78,0,12,252,255,116,76,0,172, +250,255,72,69,0,177,247,255,72,78,0,150,253,255,107,72,0,118,245,255,169,92,0,148,244,255,86,86,0,148,229,255,18,75,0,234,238,255,226,75,0,40,240,255,120,78,0,220,228,255,1,82,0,122,218,255,161,80,0,15,214,255,157,62,0,10,217,255,31,60,0,227,208,255, +229,55,0,196,200,255,86,46,0,8,199,255,69,31,0,135,197,255,73,41,0,1,197,255,127,31,0,202,199,255,124,26,0,155,189,255,144,42,0,143,192,255,132,15,0,110,179,255,40,26,0,74,187,255,63,30,0,213,184,255,138,19,0,116,198,255,202,16,0,216,189,255,95,10,0, +104,188,255,152,16,0,226,198,255,163,21,0,253,196,255,19,21,0,42,200,255,41,29,0,114,208,255,23,22,0,127,209,255,37,21,0,136,218,255,227,25,0,175,224,255,207,22,0,88,225,255,125,27,0,31,219,255,194,34,0,107,221,255,33,54,0,53,229,255,75,34,0,140,214, +255,126,41,0,101,235,255,149,36,0,238,220,255,136,46,0,174,223,255,211,46,0,91,221,255,2,44,0,143,219,255,81,36,0,39,227,255,122,38,0,206,211,255,66,41,0,254,215,255,24,25,0,102,210,255,221,47,0,156,204,255,10,35,0,149,202,255,211,28,0,6,204,255,204, +31,0,111,196,255,70,31,0,108,186,255,184,14,0,38,178,255,236,26,0,254,189,255,69,17,0,254,175,255,159,21,0,118,179,255,219,10,0,63,175,255,198,11,0,9,167,255,31,16,0,106,168,255,187,1,0,244,169,255,0,5,0,109,178,255,90,9,0,10,169,255,114,4,0,147,165, +255,80,4,0,65,170,255,117,5,0,76,168,255,134,5,0,238,176,255,178,20,0,170,185,255,52,8,0,148,181,255,48,14,0,225,179,255,16,12,0,240,176,255,230,23,0,196,187,255,153,8,0,121,187,255,217,12,0,106,185,255,228,8,0,6,185,255,176,10,0,17,176,255,160,15,0, +229,191,255,80,9,0,131,182,255,21,4,0,146,191,255,11,250,255,208,187,255,121,255,255,120,169,255,253,252,255,30,186,255,124,239,255,237,149,255,241,251,255,42,148,255,5,243,255,216,152,255,1,242,255,186,148,255,91,234,255,162,148,255,77,220,255,230,136, +255,253,235,255,25,142,255,16,234,255,121,133,255,187,225,255,94,125,255,147,218,255,24,126,255,164,223,255,27,144,255,1,217,255,22,140,255,12,220,255,87,134,255,138,225,255,34,128,255,228,212,255,50,135,255,126,209,255,56,124,255,18,219,255,95,128,255, +47,205,255,27,120,255,92,216,255,30,128,255,166,208,255,183,131,255,124,213,255,136,127,255,195,209,255,136,124,255,239,212,255,159,141,255,140,215,255,17,133,255,71,204,255,50,130,255,106,202,255,52,123,255,81,212,255,191,119,255,49,220,255,245,120, +255,12,219,255,133,134,255,215,217,255,17,124,255,115,217,255,58,131,255,55,214,255,51,126,255,200,212,255,235,131,255,203,213,255,207,135,255,176,215,255,217,125,255,146,216,255,165,132,255,193,207,255,190,116,255,187,213,255,75,127,255,186,207,255, +127,122,255,150,196,255,169,127,255,34,204,255,176,121,255,50,201,255,77,129,255,231,184,255,192,102,255,107,195,255,195,113,255,12,199,255,147,108,255,246,191,255,49,103,255,28,196,255,218,106,255,112,196,255,63,91,255,51,206,255,10,103,255,141,197, +255,12,82,255,101,192,255,169,89,255,18,187,255,104,92,255,77,192,255,117,93,255,113,193,255,12,94,255,201,197,255,53,91,255,32,188,255,116,81,255,74,177,255,124,75,255,27,167,255,233,91,255,146,170,255,19,81,255,107,179,255,172,95,255,47,173,255,187, +86,255,230,178,255,160,93,255,123,170,255,43,93,255,106,167,255,182,83,255,66,162,255,64,77,255,234,165,255,255,87,255,86,182,255,85,89,255,103,171,255,65,76,255,208,161,255,126,96,255,224,172,255,88,83,255,227,164,255,151,87,255,44,156,255,8,78,255, +2,153,255,101,78,255,228,164,255,85,86,255,137,167,255,162,75,255,208,157,255,127,60,255,168,163,255,116,73,255,61,152,255,250,78,255,239,161,255,202,87,255,133,159,255,161,87,255,48,158,255,195,87,255,158,164,255,135,83,255,214,160,255,72,84,255,73, +166,255,87,89,255,211,176,255,72,95,255,41,181,255,241,95,255,183,166,255,28,99,255,78,179,255,237,93,255,118,181,255,33,106,255,141,180,255,45,98,255,239,179,255,149,93,255,39,179,255,241,87,255,174,188,255,198,95,255,213,184,255,221,91,255,143,180, +255,186,93,255,192,185,255,73,97,255,233,188,255,191,88,255,145,183,255,200,91,255,57,178,255,65,84,255,227,176,255,255,95,255,124,190,255,175,84,255,91,178,255,27,96,255,61,173,255,75,95,255,34,172,255,229,87,255,163,158,255,211,77,255,43,175,255,132, +84,255,24,186,255,71,95,255,153,160,255,108,81,255,193,159,255,78,97,255,252,165,255,238,97,255,130,166,255,234,95,255,139,160,255,18,92,255,255,153,255,80,87,255,212,171,255,179,120,255,49,166,255,100,112,255,220,177,255,131,120,255,82,175,255,200,127, +255,241,156,255,65,126,255,254,189,255,140,132,255,236,188,255,200,129,255,17,184,255,243,126,255,142,184,255,76,126,255,173,186,255,136,145,255,61,197,255,197,130,255,36,197,255,89,133,255,173,195,255,156,136,255,107,195,255,7,133,255,144,209,255,8, +143,255,7,208,255,237,134,255,39,204,255,132,135,255,180,223,255,119,149,255,17,211,255,101,142,255,68,218,255,133,141,255,243,221,255,28,139,255,54,222,255,193,154,255,124,220,255,147,136,255,192,224,255,60,154,255,48,216,255,200,156,255,145,218,255, +43,150,255,74,223,255,238,151,255,114,222,255,80,164,255,172,219,255,20,150,255,177,204,255,172,147,255,14,212,255,53,146,255,57,219,255,235,155,255,218,200,255,16,147,255,245,197,255,193,148,255,184,206,255,12,145,255,243,203,255,60,144,255,67,206,255, +29,148,255,81,201,255,77,150,255,130,204,255,199,152,255,69,196,255,206,141,255,139,197,255,145,160,255,178,189,255,116,141,255,18,202,255,233,148,255,160,202,255,92,151,255,52,195,255,51,162,255,2,205,255,143,158,255,198,200,255,123,146,255,189,196, +255,71,159,255,219,205,255,66,174,255,194,198,255,133,174,255,210,208,255,101,171,255,75,200,255,137,186,255,2,197,255,81,169,255,148,213,255,6,190,255,179,219,255,46,189,255,177,225,255,183,183,255,34,221,255,160,191,255,250,206,255,254,188,255,170, +229,255,113,192,255,207,220,255,9,190,255,217,224,255,233,204,255,72,226,255,117,193,255,122,226,255,93,186,255,15,223,255,169,179,255,184,224,255,155,191,255,188,229,255,87,190,255,222,233,255,78,175,255,231,215,255,103,182,255,210,228,255,89,183,255, +11,217,255,226,177,255,121,225,255,128,178,255,174,211,255,173,179,255,59,212,255,243,169,255,232,211,255,238,174,255,108,215,255,181,171,255,190,195,255,224,156,255,72,206,255,120,169,255,147,202,255,202,168,255,70,197,255,114,162,255,87,193,255,5,169, +255,26,192,255,76,167,255,14,190,255,213,168,255,67,187,255,173,165,255,186,192,255,107,161,255,49,190,255,77,170,255,28,184,255,90,172,255,60,187,255,70,174,255,13,184,255,210,181,255,55,192,255,161,177,255,195,195,255,4,189,255,249,173,255,224,183, +255,56,192,255,142,191,255,77,170,255,185,184,255,159,193,255,36,192,255,91,188,255,20,196,255,199,192,255,75,202,255,79,190,255,104,200,255,200,196,255,172,213,255,234,204,255,71,220,255,82,199,255,123,209,255,143,212,255,177,219,255,140,211,255,238, +216,255,152,208,255,210,206,255,63,226,255,86,227,255,139,218,255,202,231,255,186,221,255,212,219,255,201,220,255,208,221,255,89,226,255,3,231,255,99,231,255,72,228,255,28,233,255,133,229,255,3,237,255,216,229,255,123,226,255,154,227,255,8,235,255,114, +232,255,188,225,255,163,227,255,223,243,255,214,228,255,249,226,255,164,236,255,71,237,255,195,239,255,252,228,255,206,223,255,182,239,255,85,234,255,163,224,255,74,241,255,203,232,255,34,242,255,223,234,255,45,239,255,29,241,255,103,239,255,176,235, +255,34,246,255,97,233,255,68,246,255,114,242,255,133,250,255,129,232,255,138,1,0,63,228,255,215,254,255,41,234,255,117,8,0,121,246,255,105,15,0,12,245,255,224,16,0,200,239,255,88,6,0,1,234,255,122,15,0,116,247,255,230,20,0,152,239,255,238,38,0,23,4,0, +122,34,0,67,248,255,161,37,0,129,254,255,249,40,0,102,16,0,212,47,0,146,255,255,78,52,0,2,11,0,224,54,0,103,21,0,178,66,0,233,15,0,55,63,0,169,2,0,150,60,0,184,11,0,253,62,0,216,34,0,218,71,0,103,12,0,49,70,0,170,36,0,58,80,0,41,29,0,146,83,0,125,30, +0,253,83,0,243,36,0,212,98,0,254,28,0,169,93,0,138,28,0,242,97,0,232,30,0,113,95,0,86,52,0,158,112,0,194,37,0,197,101,0,150,41,0,133,113,0,97,49,0,113,106,0,41,56,0,54,121,0,220,54,0,174,119,0,117,62,0,148,119,0,19,53,0,244,127,0,214,71,0,29,118,0,204, +65,0,234,127,0,18,63,0,177,123,0,216,73,0,113,120,0,180,61,0,208,128,0,96,61,0,8,134,0,180,67,0,153,121,0,29,77,0,169,121,0,9,70,0,102,126,0,86,77,0,85,121,0,16,75,0,244,128,0,242,71,0,171,124,0,22,74,0,83,132,0,245,68,0,120,119,0,124,71,0,75,128,0,9, +77,0,124,117,0,67,83,0,124,129,0,114,65,0,157,129,0,253,80,0,221,117,0,184,68,0,245,123,0,22,76,0,185,127,0,10,63,0,15,120,0,215,73,0,127,117,0,141,68,0,152,135,0,7,68,0,78,119,0,209,64,0,68,124,0,17,75,0,94,137,0,186,66,0,146,133,0,79,55,0,203,127,0, +236,61,0,16,142,0,16,64,0,101,132,0,28,67,0,50,144,0,184,66,0,91,144,0,168,79,0,116,169,0,211,74,0,67,158,0,248,83,0,80,174,0,124,78,0,74,171,0,94,63,0,175,166,0,33,85,0,36,181,0,211,76,0,143,175,0,234,87,0,214,185,0,102,64,0,98,180,0,180,79,0,87,185, +0,19,83,0,8,195,0,61,84,0,220,193,0,83,82,0,11,206,0,72,105,0,75,205,0,122,93,0,185,201,0,89,94,0,127,215,0,35,104,0,31,200,0,207,90,0,227,205,0,5,108,0,29,206,0,96,95,0,161,200,0,92,99,0,252,195,0,174,105,0,107,193,0,136,95,0,246,185,0,210,102,0,243, +191,0,197,92,0,58,190,0,6,99,0,175,205,0,100,108,0,136,201,0,39,86,0,144,195,0,151,76,0,75,187,0,136,92,0,209,203,0,132,82,0,228,192,0,37,87,0,210,199,0,218,86,0,222,196,0,234,79,0,174,185,0,5,75,0,202,202,0,84,72,0,88,199,0,54,68,0,151,204,0,123,71, +0,200,205,0,123,71,0,48,203,0,181,64,0,28,209,0,175,74,0,137,211,0,109,75,0,215,201,0,65,95,0,51,225,0,25,82,0,93,227,0,77,92,0,227,222,0,30,95,0,106,241,0,52,101,0,203,240,0,89,112,0,8,238,0,232,114,0,63,237,0,51,116,0,102,236,0,48,130,0,204,240,0,158, +125,0,133,244,0,16,132,0,160,240,0,119,137,0,224,247,0,223,126,0,149,241,0,238,141,0,99,250,0,84,129,0,191,228,0,33,129,0,42,238,0,52,124,0,228,235,0,51,116,0,231,240,0,119,102,0,229,231,0,200,101,0,122,233,0,212,105,0,79,233,0,86,88,0,165,213,0,123, +92,0,234,217,0,218,80,0,103,220,0,46,74,0,155,216,0,135,72,0,96,207,0,219,74,0,139,210,0,60,64,0,205,203,0,226,56,0,74,197,0,90,62,0,35,201,0,4,68,0,37,205,0,163,61,0,101,195,0,179,60,0,164,192,0,94,49,0,140,194,0,91,55,0,232,188,0,23,54,0,76,191,0,73, +55,0,85,184,0,170,43,0,245,179,0,233,49,0,228,179,0,218,41,0,208,187,0,128,53,0,65,185,0,210,34,0,166,179,0,50,40,0,104,186,0,241,41,0,199,182,0,157,30,0,154,179,0,144,35,0,62,189,0,211,36,0,46,192,0,228,37,0,8,187,0,165,41,0,216,189,0,226,35,0,114,198, +0,33,52,0,138,209,0,91,53,0,163,200,0,80,50,0,234,198,0,130,41,0,82,196,0,252,48,0,91,209,0,199,55,0,176,213,0,189,53,0,94,206,0,233,57,0,39,221,0,162,52,0,132,215,0,29,73,0,100,231,0,189,55,0,165,219,0,13,76,0,48,242,0,164,68,0,82,234,0,254,67,0,178, +232,0,49,71,0,187,235,0,192,74,0,32,230,0,219,78,0,28,237,0,41,85,0,115,222,0,138,81,0,228,232,0,51,64,0,39,212,0,10,79,0,170,236,0,248,76,0,129,227,0,252,70,0,113,218,0,221,73,0,113,219,0,203,73,0,174,226,0,87,73,0,141,216,0,59,69,0,103,224,0,206,67, +0,78,226,0,222,67,0,89,232,0,233,58,0,40,222,0,93,73,0,165,226,0,178,77,0,21,223,0,196,67,0,84,235,0,218,77,0,200,238,0,28,78,0,46,231,0,82,73,0,55,235,0,84,76,0,153,250,0,22,70,0,191,232,0,220,86,0,95,0,1,55,87,0,93,0,1,140,91,0,212,249,0,47,89,0,81, +255,0,165,80,0,236,253,0,46,90,0,156,7,1,96,76,0,102,1,1,36,89,0,158,0,1,72,81,0,34,3,1,228,77,0,237,255,0,28,77,0,60,252,0,151,76,0,72,245,0,187,65,0,31,250,0,191,75,0,21,250,0,22,68,0,52,248,0,169,81,0,196,242,0,74,75,0,133,253,0,80,70,0,79,246,0,219, +71,0,101,244,0,4,69,0,203,236,0,69,69,0,37,236,0,250,66,0,69,239,0,215,64,0,229,230,0,194,74,0,152,226,0,160,72,0,30,235,0,146,59,0,184,230,0,83,69,0,47,243,0,99,67,0,240,235,0,95,82,0,158,239,0,213,67,0,239,242,0,111,61,0,29,235,0,148,72,0,0,250,0,82, +74,0,173,254,0,110,83,0,213,0,1,28,86,0,169,254,0,117,83,0,230,10,1,156,79,0,17,253,0,15,105,0,105,19,1,195,100,0,62,20,1,111,98,0,76,18,1,127,97,0,93,26,1,11,103,0,116,26,1,2,101,0,14,22,1,142,101,0,182,38,1,68,103,0,169,27,1,239,99,0,192,26,1,166,104, +0,191,31,1,205,96,0,41,34,1,47,97,0,168,19,1,72,100,0,2,25,1,128,95,0,0,23,1,126,92,0,194,14,1,204,108,0,196,29,1,242,96,0,223,10,1,201,102,0,229,9,1,9,95,0,63,15,1,34,100,0,20,16,1,130,86,0,230,254,0,1,107,0,231,12,1,197,98,0,202,1,1,90,102,0,201,5, +1,155,102,0,201,13,1,196,100,0,74,4,1,153,103,0,230,9,1,93,88,0,63,8,1,67,78,0,143,254,0,100,88,0,190,246,0,9,90,0,73,253,0,48,73,0,37,250,0,39,73,0,159,240,0,22,72,0,41,237,0,71,65,0,173,244,0,4,65,0,154,242,0,37,69,0,243,231,0,127,66,0,200,225,0,110, +67,0,182,231,0,176,72,0,248,246,0,191,59,0,188,233,0,199,45,0,28,220,0,34,62,0,18,220,0,115,41,0,92,222,0,239,42,0,189,221,0,32,41,0,6,217,0,173,49,0,145,211,0,156,42,0,251,203,0,49,38,0,242,193,0,131,49,0,116,184,0,89,37,0,198,177,0,238,13,0,40,170, +0,237,36,0,154,184,0,188,31,0,153,174,0,55,30,0,29,171,0,204,21,0,184,168,0,245,17,0,175,162,0,180,12,0,150,157,0,14,17,0,224,150,0,204,18,0,25,147,0,180,8,0,98,150,0,89,6,0,6,148,0,246,2,0,30,147,0,0,248,255,14,132,0,0,249,255,152,145,0,140,251,255, +251,135,0,208,234,255,110,136,0,1,238,255,241,136,0,101,231,255,208,128,0,101,229,255,68,117,0,2,236,255,147,137,0,170,212,255,255,128,0,250,235,255,254,129,0,12,230,255,46,131,0,21,226,255,171,121,0,45,228,255,88,124,0,145,228,255,221,116,0,22,224,255, +154,111,0,53,229,255,127,119,0,29,232,255,52,120,0,239,216,255,54,104,0,114,222,255,51,117,0,179,228,255,141,117,0,213,222,255,184,109,0,197,221,255,7,120,0,120,232,255,244,127,0,21,236,255,226,129,0,106,225,255,196,113,0,61,238,255,20,118,0,236,235, +255,42,130,0,68,246,255,200,122,0,4,238,255,214,126,0,133,249,255,237,131,0,134,244,255,111,134,0,156,230,255,78,129,0,198,253,255,26,137,0,81,231,255,21,126,0,36,242,255,108,133,0,193,244,255,52,126,0,33,229,255,210,117,0,104,238,255,187,134,0,239,231, +255,44,116,0,79,241,255,226,111,0,158,227,255,251,111,0,127,221,255,99,95,0,42,209,255,35,89,0,131,213,255,9,91,0,33,210,255,36,82,0,229,196,255,212,76,0,227,203,255,73,70,0,100,191,255,8,67,0,206,195,255,148,67,0,216,190,255,70,74,0,251,189,255,23,68, +0,168,189,255,113,69,0,146,203,255,86,73,0,19,176,255,131,63,0,61,193,255,232,75,0,16,202,255,158,74,0,81,186,255,221,78,0,207,200,255,178,81,0,21,193,255,149,72,0,209,199,255,180,91,0,244,193,255,224,85,0,134,200,255,33,87,0,177,198,255,85,82,0,26,204, +255,154,89,0,77,201,255,97,88,0,131,193,255,240,82,0,57,194,255,56,85,0,47,198,255,209,76,0,72,198,255,74,65,0,232,207,255,192,75,0,38,201,255,180,67,0,91,210,255,144,70,0,119,204,255,94,56,0,63,203,255,210,69,0,224,210,255,75,59,0,201,207,255,116,58, +0,209,209,255,18,58,0,185,207,255,203,64,0,169,206,255,245,48,0,211,206,255,77,54,0,213,191,255,62,50,0,47,206,255,5,61,0,123,205,255,62,49,0,251,210,255,243,61,0,162,209,255,193,61,0,94,187,255,46,60,0,14,184,255,139,68,0,172,183,255,170,57,0,225,203, +255,77,60,0,12,190,255,115,65,0,59,193,255,68,73,0,87,190,255,225,59,0,42,195,255,51,72,0,128,191,255,156,62,0,173,198,255,28,67,0,218,193,255,20,55,0,30,190,255,223,59,0,33,210,255,45,54,0,71,193,255,79,41,0,79,203,255,209,43,0,201,196,255,150,34,0, +151,197,255,207,35,0,215,189,255,187,38,0,233,199,255,176,42,0,115,182,255,86,19,0,223,171,255,182,13,0,44,179,255,144,9,0,150,181,255,66,23,0,228,176,255,231,3,0,91,163,255,151,0,0,121,168,255,227,254,255,30,169,255,85,10,0,64,168,255,162,7,0,73,169, +255,164,4,0,104,172,255,23,252,255,172,160,255,22,6,0,29,154,255,241,0,0,130,172,255,12,9,0,247,161,255,105,5,0,36,158,255,187,253,255,245,146,255,246,13,0,68,161,255,4,8,0,155,166,255,224,10,0,132,155,255,166,10,0,247,156,255,10,11,0,81,167,255,18,10, +0,166,165,255,57,21,0,29,162,255,245,23,0,155,169,255,75,20,0,157,150,255,254,22,0,137,172,255,199,10,0,141,168,255,66,20,0,187,173,255,136,15,0,135,168,255,233,9,0,10,170,255,12,16,0,46,175,255,76,9,0,117,163,255,210,254,255,37,161,255,171,5,0,198,173, +255,245,4,0,60,156,255,6,245,255,114,168,255,68,0,0,171,169,255,63,245,255,140,152,255,199,226,255,174,159,255,34,226,255,33,161,255,70,239,255,70,165,255,135,248,255,100,153,255,114,237,255,117,153,255,113,230,255,206,171,255,78,247,255,89,165,255,4, +240,255,160,161,255,1,242,255,226,154,255,142,241,255,141,157,255,1,243,255,195,154,255,129,246,255,156,160,255,208,242,255,193,149,255,51,242,255,66,168,255,58,251,255,11,159,255,247,244,255,65,169,255,71,254,255,56,156,255,34,243,255,221,164,255,38, +247,255,149,169,255,33,244,255,52,161,255,144,248,255,33,171,255,242,249,255,183,156,255,158,243,255,204,153,255,241,235,255,174,165,255,236,240,255,163,161,255,151,235,255,30,162,255,220,239,255,241,165,255,80,240,255,167,166,255,71,247,255,168,165, +255,146,240,255,14,151,255,196,233,255,152,159,255,8,232,255,26,149,255,213,232,255,143,148,255,44,243,255,157,163,255,80,241,255,34,151,255,104,234,255,220,141,255,94,236,255,153,155,255,192,237,255,94,144,255,107,233,255,167,158,255,9,245,255,111,151, +255,195,228,255,12,152,255,131,227,255,147,156,255,242,230,255,134,160,255,26,238,255,95,171,255,139,240,255,235,159,255,182,232,255,239,169,255,45,231,255,186,166,255,6,223,255,29,173,255,191,232,255,241,175,255,239,233,255,226,168,255,2,221,255,154, +173,255,169,225,255,30,162,255,216,221,255,166,177,255,191,221,255,114,162,255,27,221,255,46,152,255,90,217,255,217,154,255,84,222,255,10,149,255,144,226,255,34,156,255,63,219,255,211,159,255,47,213,255,192,156,255,136,220,255,236,160,255,72,231,255, +144,144,255,162,220,255,14,161,255,36,216,255,223,153,255,211,215,255,79,145,255,179,203,255,42,143,255,107,202,255,67,160,255,131,214,255,150,138,255,211,188,255,110,127,255,74,186,255,44,144,255,43,191,255,16,130,255,7,177,255,168,128,255,156,187,255, +3,134,255,50,171,255,237,116,255,2,154,255,23,122,255,182,166,255,128,124,255,136,164,255,38,119,255,127,165,255,231,123,255,63,159,255,207,118,255,247,152,255,38,131,255,13,145,255,116,119,255,252,150,255,179,121,255,146,155,255,219,112,255,95,151,255, +78,124,255,204,150,255,236,118,255,241,143,255,78,120,255,93,149,255,74,123,255,144,143,255,55,115,255,35,140,255,19,122,255,250,149,255,239,124,255,243,139,255,199,119,255,2,146,255,233,119,255,74,153,255,39,127,255,89,149,255,17,136,255,247,158,255, +170,119,255,177,161,255,109,131,255,38,156,255,21,135,255,174,164,255,188,124,255,178,167,255,146,135,255,223,184,255,118,142,255,165,175,255,112,141,255,146,177,255,171,127,255,115,176,255,112,147,255,209,179,255,107,141,255,79,188,255,251,139,255,40, +168,255,137,143,255,125,176,255,61,126,255,203,174,255,103,131,255,83,168,255,92,133,255,111,180,255,75,134,255,175,172,255,13,146,255,190,178,255,245,131,255,128,167,255,186,142,255,246,161,255,143,148,255,242,173,255,215,145,255,229,176,255,95,148, +255,104,163,255,57,138,255,24,158,255,111,158,255,95,169,255,17,147,255,25,167,255,241,155,255,125,158,255,143,155,255,38,170,255,71,155,255,161,175,255,93,174,255,214,177,255,123,158,255,65,174,255,164,167,255,53,176,255,132,176,255,180,174,255,71,178, +255,41,188,255,29,179,255,207,191,255,170,183,255,185,194,255,37,171,255,113,189,255,175,185,255,220,202,255,148,195,255,155,198,255,30,184,255,31,207,255,67,199,255,6,203,255,230,204,255,27,201,255,132,196,255,96,199,255,156,192,255,177,204,255,203, +193,255,15,199,255,93,191,255,226,196,255,93,212,255,44,214,255,27,200,255,122,204,255,234,195,255,195,204,255,67,209,255,154,200,255,22,203,255,205,212,255,59,201,255,100,211,255,97,203,255,116,216,255,93,201,255,254,204,255,75,210,255,143,223,255,186, +204,255,92,212,255,50,211,255,65,217,255,154,212,255,234,227,255,156,203,255,23,218,255,93,210,255,187,226,255,204,204,255,226,219,255,122,232,255,21,231,255,164,220,255,34,233,255,76,219,255,143,232,255,201,218,255,104,227,255,18,231,255,229,222,255, +200,234,255,204,234,255,141,231,255,167,232,255,141,243,255,91,245,255,150,239,255,83,230,255,32,252,255,194,239,255,131,244,255,191,237,255,167,250,255,68,237,255,177,1,0,91,230,255,170,8,0,246,242,255,154,8,0,135,244,255,210,16,0,191,237,255,134,21, +0,23,239,255,38,12,0,55,243,255,73,30,0,48,243,255,73,30,0,61,237,255,209,24,0,124,238,255,251,27,0,70,240,255,66,25,0,76,249,255,227,19,0,66,246,255,191,17,0,35,238,255,150,24,0,184,241,255,74,25,0,252,251,255,74,25,0,181,246,255,65,25,0,1,253,255,97, +18,0,164,239,255,67,28,0,225,241,255,148,21,0,140,239,255,74,28,0,216,238,255,132,28,0,174,242,255,82,35,0,241,241,255,188,32,0,79,244,255,236,32,0,170,247,255,104,29,0,247,246,255,48,32,0,247,246,255,86,40,0,241,252,255,65,49,0,101,249,255,229,35,0, +63,248,255,198,34,0,134,249,255,151,33,0,25,1,0,59,44,0,237,15,0,87,46,0,236,254,255,96,39,0,238,1,0,156,41,0,50,250,255,18,40,0,255,4,0,7,55,0,205,18,0,103,42,0,197,250,255,24,44,0,5,6,0,83,40,0,16,254,255,113,51,0,75,253,255,90,30,0,125,246,255,193, +45,0,190,253,255,233,35,0,74,240,255,132,46,0,245,237,255,132,46,0,95,235,255,247,42,0,128,238,255,242,41,0,44,226,255,200,31,0,51,223,255,101,35,0,117,226,255,123,36,0,237,224,255,52,38,0,105,228,255,40,36,0,244,225,255,245,39,0,39,235,255,231,38,0, +148,231,255,26,38,0,152,229,255,181,38,0,83,237,255,36,34,0,83,237,255,198,44,0,111,242,255,41,48,0,93,243,255,50,54,0,54,255,255,150,50,0,229,241,255,178,45,0,143,246,255,15,67,0,213,4,0,9,60,0,16,254,255,137,64,0,111,246,255,19,59,0,169,2,0,215,68, +0,102,6,0,51,62,0,182,253,255,226,73,0,123,4,0,80,66,0,218,8,0,80,66,0,142,0,0,20,76,0,79,2,0,78,82,0,136,2,0,115,77,0,185,255,255,9,83,0,237,4,0,156,80,0,71,2,0,135,81,0,158,250,255,88,77,0,223,0,0,246,82,0,109,6,0,210,80,0,104,8,0,16,82,0,107,10,0, +97,85,0,71,11,0,203,79,0,38,2,0,37,83,0,56,20,0,169,73,0,76,6,0,185,88,0,96,14,0,51,83,0,30,17,0,45,73,0,227,255,255,161,81,0,207,3,0,90,80,0,76,15,0,25,77,0,101,244,255,84,73,0,47,249,255,214,76,0,248,0,0,47,65,0,196,254,255,110,69,0,208,253,255,14, +65,0,91,245,255,48,76,0,74,248,255,68,63,0,173,242,255,7,67,0,126,0,0,106,58,0,248,253,255,99,63,0,132,245,255,181,63,0,187,237,255,117,68,0,101,253,255,139,60,0,30,2,0,95,67,0,150,3,0,35,59,0,73,1,0,225,64,0,216,8,0,162,63,0,161,252,255,255,53,0,39, +249,255,90,62,0,123,254,255,216,58,0,57,243,255,170,71,0,81,243,255,215,58,0,112,255,255,150,55,0,238,248,255,122,45,0,247,245,255,133,55,0,200,250,255,180,50,0,230,251,255,79,45,0,61,236,255,231,49,0,146,232,255,206,49,0,208,239,255,152,48,0,7,238,255, +215,40,0,23,230,255,216,37,0,124,226,255,58,35,0,162,227,255,104,36,0,52,231,255,171,41,0,100,218,255,57,27,0,101,223,255,99,43,0,158,223,255,109,45,0,156,213,255,223,34,0,230,213,255,13,44,0,201,217,255,90,48,0,38,220,255,156,48,0,153,217,255,140,53, +0,139,219,255,199,55,0,4,218,255,171,56,0,174,221,255,217,65,0,216,229,255,128,54,0,253,233,255,231,52,0,173,211,255,190,60,0,147,217,255,98,50,0,97,212,255,241,51,0,41,225,255,117,49,0,246,217,255,33,39,0,197,217,255,78,48,0,239,222,255,231,38,0,212, +215,255,112,45,0,115,220,255,60,38,0,46,224,255,132,28,0,214,212,255,5,37,0,222,220,255,160,29,0,246,215,255,77,22,0,105,221,255,254,20,0,225,214,255,43,30,0,235,216,255,108,30,0,224,217,255,76,27,0,65,221,255,143,24,0,144,222,255,169,31,0,219,224,255, +140,35,0,225,235,255,34,40,0,210,232,255,23,41,0,46,235,255,45,34,0,160,240,255,131,40,0,30,245,255,157,42,0,86,248,255,136,51,0,240,243,255,186,63,0,128,250,255,232,54,0,164,244,255,223,59,0,251,255,255,25,72,0,44,0,0,7,80,0,53,22,0,174,86,0,123,23, +0,102,88,0,100,30,0,123,89,0,229,28,0,6,102,0,84,47,0,133,88,0,94,44,0,192,87,0,119,51,0,190,95,0,104,58,0,246,95,0,248,49,0,4,99,0,38,58,0,197,97,0,100,42,0,163,90,0,132,49,0,147,97,0,9,47,0,182,101,0,101,51,0,178,97,0,78,43,0,20,98,0,203,57,0,138,94, +0,216,60,0,132,98,0,255,58,0,113,101,0,109,65,0,63,106,0,170,66,0,190,102,0,24,61,0,8,110,0,44,81,0,188,114,0,224,76,0,196,114,0,141,79,0,138,119,0,134,76,0,252,121,0,149,81,0,36,115,0,9,79,0,7,123,0,226,89,0,8,113,0,158,80,0,225,123,0,69,87,0,60,119, +0,233,84,0,39,120,0,142,94,0,242,120,0,0,90,0,87,129,0,106,85,0,180,137,0,246,89,0,196,116,0,181,82,0,208,124,0,206,77,0,151,117,0,41,75,0,233,121,0,65,75,0,8,120,0,148,79,0,0,115,0,7,68,0,67,112,0,80,68,0,91,112,0,124,60,0,70,113,0,139,67,0,126,104, +0,70,52,0,84,88,0,57,42,0,150,113,0,45,59,0,247,97,0,224,34,0,199,101,0,153,58,0,177,98,0,48,51,0,120,93,0,43,59,0,177,93,0,150,52,0,160,102,0,202,51,0,151,93,0,232,58,0,184,95,0,41,66,0,25,103,0,172,79,0,143,97,0,198,74,0,133,104,0,152,73,0,25,91,0, +184,73,0,200,103,0,59,67,0,65,102,0,4,82,0,136,98,0,65,83,0,232,85,0,142,86,0,2,92,0,170,85,0,125,105,0,218,83,0,219,110,0,163,91,0,183,102,0,63,85,0,147,107,0,218,87,0,70,95,0,206,68,0,78,99,0,239,81,0,144,92,0,190,83,0,16,100,0,78,78,0,128,83,0,22, +60,0,21,92,0,240,67,0,233,83,0,172,59,0,153,89,0,28,54,0,117,96,0,44,54,0,65,101,0,189,50,0,188,92,0,220,48,0,205,81,0,58,37,0,128,86,0,9,50,0,5,84,0,232,51,0,223,80,0,146,33,0,135,86,0,169,61,0,135,73,0,139,43,0,154,85,0,188,43,0,107,78,0,196,45,0,85, +73,0,206,49,0,206,71,0,78,48,0,253,65,0,64,37,0,51,75,0,233,54,0,109,64,0,128,33,0,124,56,0,194,39,0,97,67,0,255,44,0,116,60,0,123,32,0,255,51,0,24,30,0,166,49,0,102,35,0,166,55,0,186,32,0,16,54,0,150,31,0,75,43,0,156,21,0,108,53,0,67,25,0,156,51,0,26, +23,0,96,62,0,182,31,0,233,54,0,131,21,0,147,55,0,79,24,0,106,51,0,164,29,0,139,53,0,115,25,0,146,55,0,17,25,0,58,63,0,82,25,0,192,70,0,226,42,0,72,59,0,164,39,0,203,69,0,234,52,0,120,53,0,54,50,0,43,68,0,148,53,0,116,62,0,30,54,0,131,54,0,249,48,0,156, +58,0,248,46,0,95,67,0,196,63,0,53,71,0,126,48,0,138,60,0,113,49,0,150,61,0,84,58,0,100,73,0,60,66,0,19,63,0,149,50,0,3,67,0,104,55,0,131,57,0,222,46,0,205,63,0,54,51,0,212,67,0,78,55,0,49,59,0,115,48,0,33,57,0,252,54,0,89,67,0,101,59,0,227,61,0,138,58, +0,173,62,0,56,58,0,43,64,0,203,46,0,26,66,0,76,51,0,153,59,0,193,56,0,245,56,0,34,63,0,82,64,0,55,48,0,30,51,0,122,61,0,4,67,0,143,56,0,230,69,0,216,50,0,56,62,0,67,43,0,209,70,0,148,66,0,209,64,0,174,54,0,250,60,0,136,61,0,132,57,0,15,51,0,16,71,0,38, +59,0,66,65,0,14,57,0,20,62,0,207,65,0,92,68,0,145,68,0,228,59,0,8,60,0,55,69,0,105,60,0,68,62,0,20,53,0,234,63,0,253,67,0,3,75,0,230,59,0,63,63,0,135,62,0,20,69,0,67,59,0,52,69,0,184,60,0,3,71,0,161,69,0,108,69,0,137,82,0,108,67,0,174,79,0,13,70,0,25, +87,0,158,74,0,15,76,0,32,71,0,38,78,0,91,65,0,237,64,0,97,54,0,64,70,0,42,63,0,79,74,0,52,66,0,226,81,0,10,57,0,74,71,0,40,65,0,250,66,0,111,56,0,71,68,0,192,54,0,162,60,0,98,55,0,167,68,0,57,55,0,79,49,0,53,56,0,64,56,0,220,42,0,111,60,0,6,57,0,203, +52,0,100,56,0,226,45,0,31,44,0,152,56,0,17,49,0,109,53,0,27,54,0,187,50,0,8,49,0,124,44,0,107,54,0,38,45,0,246,50,0,135,45,0,81,47,0,221,42,0,67,41,0,253,31,0,181,50,0,216,50,0,224,51,0,141,38,0,251,45,0,72,28,0,163,52,0,118,41,0,133,53,0,27,36,0,122, +41,0,45,39,0,142,58,0,23,44,0,239,33,0,94,39,0,76,42,0,181,41,0,42,44,0,207,39,0,154,39,0,220,38,0,175,36,0,103,44,0,236,37,0,100,48,0,19,40,0,73,45,0,201,48,0,61,51,0,221,47,0,169,40,0,223,50,0,120,54,0,89,44,0,118,49,0,108,61,0,220,48,0,128,39,0,3, +42,0,79,32,0,119,45,0,8,49,0,52,35,0,239,48,0,223,40,0,212,31,0,213,44,0,179,33,0,36,40,0,231,32,0,119,43,0,223,32,0,3,40,0,123,43,0,189,33,0,206,39,0,22,22,0,238,39,0,248,22,0,204,34,0,234,27,0,84,39,0,15,25,0,221,32,0,190,24,0,72,31,0,158,12,0,11,37, +0,140,19,0,178,29,0,246,24,0,224,26,0,62,20,0,27,37,0,78,20,0,242,24,0,51,7,0,43,30,0,40,11,0,127,26,0,5,8,0,63,24,0,50,14,0,26,25,0,152,13,0,165,28,0,59,12,0,93,16,0,141,5,0,5,19,0,231,15,0,119,36,0,26,24,0,245,18,0,0,14,0,87,12,0,67,12,0,104,22,0,91, +22,0,223,24,0,48,21,0,128,17,0,52,15,0,109,14,0,54,18,0,38,22,0,114,24,0,249,22,0,77,13,0,87,17,0,136,11,0,142,19,0,145,19,0,56,20,0,100,10,0,219,13,0,80,9,0,245,21,0,64,14,0,237,11,0,108,5,0,175,12,0,179,2,0,58,16,0,246,0,0,169,10,0,166,3,0,47,0,0,218, +255,255,73,3,0,13,244,255,99,11,0,140,243,255,71,7,0,138,250,255,156,244,255,233,252,255,175,2,0,60,251,255,203,236,255,220,240,255,189,247,255,130,245,255,236,244,255,37,241,255,168,248,255,195,227,255,10,249,255,48,242,255,220,236,255,23,221,255,8, +246,255,171,227,255,240,240,255,131,232,255,178,246,255,219,229,255,11,226,255,209,218,255,145,238,255,135,220,255,171,233,255,246,235,255,203,225,255,157,235,255,12,239,255,7,231,255,253,244,255,232,233,255,130,238,255,12,238,255,36,255,255,249,244, +255,167,250,255,50,229,255,194,248,255,193,244,255,97,11,0,16,239,255,40,19,0,229,237,255,54,5,0,77,243,255,141,15,0,48,252,255,94,10,0,157,248,255,124,20,0,82,5,0,242,11,0,247,251,255,148,12,0,7,244,255,213,23,0,137,255,255,36,18,0,192,246,255,84,7, +0,220,250,255,115,9,0,131,253,255,242,0,0,58,239,255,71,8,0,239,232,255,253,246,255,44,234,255,109,255,255,2,231,255,179,254,255,160,224,255,136,242,255,255,215,255,209,228,255,189,206,255,237,221,255,92,200,255,25,223,255,254,189,255,119,219,255,22, +187,255,101,213,255,93,189,255,163,209,255,186,179,255,235,203,255,253,174,255,138,214,255,203,176,255,111,202,255,55,178,255,128,202,255,155,156,255,85,195,255,119,163,255,207,198,255,7,166,255,189,200,255,236,158,255,129,190,255,99,155,255,230,203, +255,65,160,255,8,190,255,251,157,255,15,201,255,230,158,255,150,200,255,241,150,255,10,202,255,131,148,255,224,206,255,12,163,255,213,202,255,214,160,255,133,205,255,154,170,255,90,201,255,216,163,255,61,205,255,58,179,255,143,217,255,231,177,255,65, +218,255,216,186,255,64,203,255,68,185,255,160,199,255,138,181,255,38,214,255,228,187,255,98,203,255,113,186,255,90,200,255,183,182,255,126,210,255,84,184,255,193,208,255,62,179,255,169,214,255,44,187,255,235,202,255,23,185,255,41,199,255,118,175,255, +211,199,255,226,188,255,115,190,255,55,169,255,144,198,255,1,182,255,119,182,255,134,177,255,3,193,255,13,168,255,222,184,255,165,167,255,154,192,255,177,159,255,84,171,255,82,144,255,115,189,255,67,141,255,248,190,255,119,145,255,88,175,255,249,136, +255,29,177,255,25,130,255,175,180,255,154,133,255,45,164,255,127,122,255,18,169,255,9,129,255,243,168,255,215,140,255,19,156,255,26,132,255,126,160,255,69,123,255,101,153,255,200,114,255,244,158,255,77,129,255,239,159,255,244,137,255,139,148,255,19,131, +255,72,166,255,38,138,255,230,145,255,99,133,255,175,165,255,61,150,255,195,153,255,63,134,255,150,161,255,101,149,255,49,159,255,108,145,255,195,162,255,128,140,255,217,161,255,147,147,255,65,158,255,53,135,255,78,163,255,27,147,255,238,165,255,131, +143,255,152,173,255,64,135,255,115,174,255,230,140,255,38,169,255,140,146,255,6,175,255,130,148,255,197,174,255,54,140,255,44,174,255,37,149,255,39,175,255,56,140,255,118,174,255,95,146,255,72,178,255,109,148,255,208,174,255,137,146,255,197,183,255,96, +142,255,143,170,255,19,136,255,132,175,255,180,139,255,39,170,255,46,147,255,32,177,255,122,138,255,131,174,255,225,133,255,132,178,255,96,133,255,224,158,255,7,129,255,237,167,255,141,131,255,189,167,255,236,126,255,120,179,255,162,125,255,244,166,255, +0,128,255,42,155,255,80,124,255,72,164,255,39,116,255,48,164,255,109,125,255,225,167,255,216,122,255,128,167,255,131,116,255,148,157,255,105,115,255,129,170,255,173,134,255,31,166,255,182,109,255,241,169,255,75,122,255,98,148,255,148,118,255,228,152, +255,32,120,255,3,163,255,2,128,255,238,141,255,184,126,255,153,165,255,147,127,255,123,143,255,123,119,255,59,154,255,70,117,255,211,150,255,85,116,255,7,141,255,102,116,255,231,147,255,58,121,255,31,151,255,154,124,255,54,150,255,46,111,255,10,152,255, +14,118,255,60,130,255,165,113,255,184,142,255,106,119,255,196,140,255,220,119,255,66,143,255,166,112,255,116,143,255,183,112,255,210,149,255,54,123,255,189,135,255,81,105,255,182,143,255,205,117,255,26,145,255,227,108,255,241,159,255,219,84,255,66,144, +255,186,95,255,6,142,255,185,98,255,22,153,255,83,95,255,87,149,255,74,90,255,4,152,255,225,100,255,166,152,255,135,91,255,159,148,255,94,98,255,138,149,255,113,95,255,193,156,255,39,106,255,204,149,255,130,106,255,49,148,255,40,109,255,197,149,255,95, +108,255,247,150,255,102,103,255,17,155,255,242,112,255,221,148,255,192,111,255,164,147,255,225,111,255,78,132,255,138,107,255,130,125,255,174,104,255,71,136,255,93,116,255,172,133,255,47,104,255,255,134,255,192,112,255,232,134,255,82,113,255,142,129, +255,240,111,255,61,137,255,102,114,255,255,128,255,105,98,255,251,134,255,77,117,255,38,132,255,168,109,255,91,125,255,28,111,255,164,125,255,184,112,255,153,136,255,163,109,255,217,131,255,146,104,255,16,139,255,251,112,255,150,133,255,33,98,255,161, +130,255,181,99,255,88,129,255,116,107,255,161,120,255,155,97,255,55,132,255,43,106,255,145,128,255,239,102,255,173,125,255,246,101,255,15,131,255,28,118,255,217,126,255,129,102,255,17,131,255,136,105,255,55,120,255,236,116,255,141,132,255,176,113,255, +161,134,255,115,114,255,72,133,255,30,116,255,248,150,255,10,127,255,159,140,255,240,115,255,127,140,255,69,132,255,211,146,255,108,140,255,227,136,255,209,119,255,6,148,255,242,128,255,196,155,255,55,131,255,184,152,255,238,125,255,235,158,255,157,124, +255,28,159,255,92,128,255,78,150,255,181,128,255,78,169,255,24,130,255,247,159,255,159,128,255,205,177,255,250,124,255,143,163,255,32,128,255,73,160,255,33,133,255,150,162,255,135,131,255,90,159,255,73,122,255,4,156,255,180,123,255,65,163,255,217,125, +255,219,153,255,47,114,255,189,159,255,124,121,255,101,144,255,205,121,255,132,138,255,174,116,255,236,137,255,172,120,255,99,121,255,214,105,255,73,125,255,163,113,255,178,129,255,60,118,255,74,124,255,169,100,255,185,117,255,184,104,255,243,133,255, +155,100,255,176,131,255,38,107,255,66,127,255,9,98,255,207,129,255,117,110,255,8,125,255,221,109,255,33,119,255,36,108,255,165,137,255,167,120,255,98,135,255,220,122,255,152,143,255,22,129,255,59,129,255,8,125,255,249,143,255,156,137,255,200,147,255, +109,132,255,229,155,255,154,134,255,112,141,255,148,152,255,145,152,255,57,155,255,179,153,255,47,142,255,211,152,255,229,156,255,234,156,255,226,148,255,38,165,255,35,171,255,15,160,255,136,152,255,85,169,255,199,156,255,43,156,255,179,164,255,41,160, +255,209,162,255,248,169,255,43,164,255,125,167,255,146,162,255,21,161,255,238,164,255,45,161,255,197,169,255,225,168,255,218,166,255,179,164,255,127,164,255,223,166,255,221,162,255,195,163,255,254,162,255,60,158,255,138,159,255,137,161,255,240,175,255, +130,167,255,19,159,255,235,155,255,116,153,255,113,153,255,83,152,255,73,147,255,241,149,255,202,152,255,149,140,255,238,149,255,28,145,255,83,146,255,203,155,255,145,150,255,106,148,255,211,132,255,91,142,255,32,136,255,75,148,255,72,148,255,232,125, +255,106,142,255,129,138,255,15,140,255,224,150,255,54,145,255,74,138,255,244,142,255,202,137,255,36,148,255,124,145,255,201,151,255,202,149,255,126,149,255,251,156,255,0,164,255,35,156,255,98,151,255,196,162,255,246,146,255,170,160,255,253,152,255,129, +159,255,17,169,255,188,168,255,158,172,255,48,178,255,202,169,255,5,161,255,130,175,255,189,174,255,225,166,255,130,171,255,219,160,255,188,172,255,176,171,255,9,191,255,98,180,255,203,177,255,185,178,255,20,185,255,240,177,255,224,181,255,118,175,255, +140,170,255,243,179,255,247,186,255,116,165,255,93,170,255,0,176,255,0,165,255,207,174,255,31,149,255,126,173,255,175,155,255,120,174,255,114,165,255,18,184,255,93,167,255,202,182,255,102,160,255,249,165,255,208,153,255,93,162,255,132,149,255,197,160, +255,195,147,255,146,165,255,251,146,255,222,160,255,71,150,255,199,152,255,253,162,255,207,160,255,150,163,255,213,165,255,51,159,255,196,156,255,60,152,255,76,155,255,112,163,255,76,147,255,184,154,255,42,160,255,13,167,255,243,168,255,76,166,255,200, +172,255,207,167,255,158,171,255,85,173,255,193,173,255,104,168,255,226,173,255,145,177,255,70,168,255,122,177,255,103,178,255,157,171,255,95,186,255,68,170,255,145,196,255,169,174,255,119,202,255,225,191,255,231,192,255,36,185,255,7,202,255,145,200,255, +191,201,255,164,185,255,134,199,255,124,193,255,168,201,255,141,193,255,178,204,255,6,204,255,70,218,255,33,206,255,174,198,255,45,193,255,186,212,255,50,198,255,224,208,255,148,209,255,186,210,255,237,200,255,246,216,255,11,207,255,209,208,255,4,198, +255,234,200,255,151,191,255,151,206,255,109,209,255,13,203,255,249,193,255,87,206,255,180,196,255,127,194,255,245,196,255,203,198,255,182,198,255,19,179,255,136,189,255,124,189,255,27,193,255,181,189,255,39,176,255,121,183,255,240,187,255,3,196,255,136, +198,255,27,185,255,32,187,255,81,182,255,199,195,255,224,180,255,78,193,255,4,197,255,228,178,255,168,178,255,56,183,255,183,175,255,44,177,255,109,183,255,36,189,255,149,159,255,245,176,255,6,173,255,200,169,255,238,182,255,8,168,255,88,186,255,157, +187,255,63,184,255,68,172,255,131,176,255,108,172,255,167,181,255,118,173,255,245,177,255,96,152,255,168,169,255,55,173,255,48,193,255,61,170,255,253,174,255,234,164,255,9,194,255,169,175,255,128,178,255,39,170,255,179,182,255,241,172,255,150,186,255, +207,168,255,186,192,255,11,174,255,112,202,255,148,174,255,76,179,255,152,180,255,186,190,255,67,185,255,241,202,255,91,198,255,158,196,255,137,193,255,113,185,255,174,188,255,111,196,255,228,197,255,38,194,255,167,188,255,249,197,255,199,203,255,120, +212,255,9,222,255,94,208,255,202,206,255,196,201,255,239,215,255,33,197,255,95,216,255,32,209,255,188,209,255,132,199,255,99,223,255,211,213,255,188,224,255,163,212,255,224,231,255,247,203,255,70,229,255,159,204,255,165,225,255,131,211,255,2,237,255, +61,197,255,150,226,255,144,203,255,26,236,255,204,213,255,218,236,255,30,197,255,131,220,255,20,211,255,241,231,255,161,201,255,251,235,255,28,208,255,113,232,255,69,210,255,175,226,255,110,212,255,51,236,255,212,205,255,40,227,255,170,222,255,76,239, +255,76,206,255,144,227,255,175,212,255,82,231,255,123,222,255,46,242,255,117,228,255,35,235,255,107,222,255,113,227,255,65,215,255,141,239,255,83,219,255,157,239,255,249,238,255,67,232,255,238,227,255,38,242,255,160,233,255,238,239,255,177,235,255,242, +254,255,89,237,255,174,240,255,142,226,255,121,250,255,255,229,255,1,250,255,234,237,255,163,1,0,193,232,255,90,252,255,101,220,255,45,234,255,110,219,255,47,242,255,33,231,255,88,245,255,114,233,255,41,250,255,255,224,255,151,238,255,43,234,255,192, +243,255,89,229,255,209,249,255,18,232,255,130,251,255,9,227,255,231,238,255,155,237,255,19,2,0,130,231,255,155,255,255,49,224,255,227,3,0,118,253,255,51,4,0,206,251,255,141,9,0,236,237,255,124,7,0,191,2,0,235,0,0,38,250,255,45,12,0,165,245,255,243,253, +255,231,1,0,92,12,0,125,246,255,243,4,0,119,5,0,13,19,0,127,254,255,109,13,0,160,7,0,222,25,0,216,3,0,164,13,0,174,242,255,244,16,0,78,250,255,213,25,0,151,247,255,172,17,0,246,246,255,3,8,0,78,243,255,156,24,0,30,245,255,52,17,0,119,254,255,179,7,0, +222,233,255,107,4,0,30,245,255,42,253,255,31,247,255,106,250,255,79,236,255,195,246,255,127,247,255,139,242,255,254,233,255,3,253,255,14,241,255,139,243,255,15,236,255,3,235,255,87,247,255,11,249,255,31,247,255,234,252,255,183,248,255,27,252,255,151, +237,255,235,249,255,183,248,255,155,2,0,174,1,0,34,12,0,151,250,255,179,249,255,207,246,255,130,10,0,103,0,0,43,251,255,254,11,0,17,21,0,198,15,0,152,35,0,86,13,0,162,13,0,53,14,0,112,27,0,124,23,0,247,37,0,253,22,0,6,42,0,4,28,0,125,57,0,148,24,0,236, +53,0,90,38,0,43,62,0,231,57,0,179,65,0,41,44,0,72,78,0,143,52,0,104,80,0,126,59,0,24,78,0,21,62,0,37,87,0,206,55,0,141,86,0,141,56,0,197,83,0,42,72,0,51,88,0,163,66,0,28,82,0,195,66,0,42,88,0,187,61,0,227,77,0,162,66,0,235,79,0,203,57,0,234,78,0,126, +76,0,94,94,0,249,62,0,42,77,0,134,73,0,208,79,0,160,61,0,183,83,0,246,70,0,64,77,0,23,64,0,15,80,0,76,74,0,67,93,0,205,69,0,214,78,0,210,74,0,3,87,0,210,74,0,17,94,0,115,70,0,25,90,0,208,77,0,255,93,0,51,66,0,166,95,0,106,72,0,147,102,0,170,70,0,171, +102,0,180,83,0,98,102,0,231,70,0,242,100,0,238,76,0,253,114,0,15,70,0,111,105,0,116,76,0,229,109,0,150,69,0,226,113,0,204,72,0,59,109,0,200,84,0,22,124,0,126,68,0,0,114,0,227,72,0,148,122,0,120,80,0,206,115,0,157,86,0,224,107,0,45,85,0,6,132,0,63,78, +0,123,116,0,16,94,0,198,127,0,43,105,0,83,133,0,33,89,0,80,118,0,7,92,0,140,125,0,147,99,0,91,127,0,45,111,0,16,113,0,59,113,0,23,131,0,238,103,0,143,129,0,243,109,0,144,125,0,57,115,0,1,121,0,58,110,0,15,140,0,15,113,0,45,125,0,11,121,0,92,126,0,68, +116,0,91,127,0,181,113,0,111,133,0,7,107,0,193,127,0,240,119,0,132,119,0,116,109,0,33,123,0,68,124,0,20,145,0,125,120,0,20,130,0,196,121,0,113,133,0,94,117,0,10,131,0,154,122,0,216,145,0,161,122,0,136,144,0,71,124,0,137,155,0,56,120,0,77,160,0,104,120, +0,180,159,0,115,113,0,145,163,0,188,136,0,243,157,0,124,122,0,79,149,0,32,140,0,0,173,0,205,130,0,72,183,0,151,150,0,124,175,0,222,150,0,100,173,0,75,155,0,149,181,0,254,147,0,59,183,0,53,160,0,220,179,0,236,172,0,148,201,0,218,161,0,153,191,0,15,165, +0,94,195,0,2,170,0,86,193,0,8,171,0,186,208,0,174,183,0,201,207,0,187,186,0,86,198,0,101,171,0,213,198,0,138,173,0,117,207,0,126,177,0,245,205,0,72,184,0,155,206,0,150,162,0,207,209,0,218,176,0,52,201,0,245,182,0,142,207,0,8,187,0,114,210,0,175,197,0, +247,212,0,57,192,0,179,215,0,10,190,0,172,213,0,14,204,0,27,222,0,13,193,0,251,210,0,253,190,0,196,207,0,208,185,0,114,218,0,218,201,0,85,222,0,99,207,0,212,220,0,177,199,0,86,217,0,99,195,0,33,221,0,169,186,0,12,225,0,241,193,0,97,217,0,198,187,0,162, +234,0,170,181,0,212,210,0,11,187,0,218,229,0,85,175,0,103,213,0,146,177,0,215,221,0,183,179,0,142,220,0,105,175,0,124,202,0,83,190,0,70,208,0,185,181,0,195,218,0,135,182,0,161,210,0,120,189,0,169,208,0,160,187,0,120,208,0,246,187,0,194,205,0,156,188, +0,26,212,0,242,197,0,97,202,0,127,199,0,21,197,0,36,209,0,59,206,0,47,197,0,178,205,0,43,207,0,135,199,0,211,198,0,222,206,0,195,204,0,230,197,0,251,210,0,36,206,0,113,204,0,246,194,0,148,207,0,140,187,0,182,203,0,33,197,0,237,210,0,172,185,0,84,203, +0,166,197,0,247,198,0,97,193,0,224,204,0,243,189,0,108,192,0,174,185,0,94,189,0,179,165,0,58,183,0,116,178,0,83,181,0,199,159,0,123,188,0,176,164,0,158,169,0,16,171,0,188,169,0,101,150,0,93,168,0,194,144,0,224,149,0,26,130,0,26,155,0,12,149,0,114,146, +0,52,141,0,68,151,0,59,141,0,40,139,0,66,134,0,132,148,0,41,141,0,239,124,0,84,130,0,229,132,0,61,143,0,13,125,0,227,136,0,23,129,0,38,133,0,176,134,0,235,128,0,50,145,0,93,133,0,15,140,0,8,129,0,63,146,0,132,132,0,28,142,0,174,123,0,157,146,0,125,142, +0,146,141,0,33,132,0,131,146,0,154,137,0,76,158,0,164,141,0,91,158,0,182,151,0,97,158,0,118,144,0,137,157,0,45,145,0,124,154,0,71,142,0,48,156,0,235,150,0,112,155,0,16,146,0,178,147,0,15,140,0,13,156,0,209,137,0,229,149,0,183,138,0,148,149,0,220,133, +0,224,145,0,91,134,0,79,139,0,16,118,0,147,147,0,134,124,0,138,136,0,25,116,0,90,135,0,21,100,0,230,125,0,30,110,0,14,137,0,183,97,0,218,138,0,200,113,0,0,128,0,225,88,0,58,138,0,249,105,0,158,116,0,220,91,0,44,123,0,125,90,0,255,131,0,97,87,0,159,125, +0,252,84,0,124,115,0,177,80,0,73,123,0,188,72,0,193,121,0,133,83,0,15,112,0,185,79,0,66,120,0,245,81,0,48,110,0,198,86,0,3,113,0,156,87,0,230,104,0,160,89,0,31,115,0,249,88,0,61,110,0,67,97,0,196,115,0,139,86,0,62,103,0,53,79,0,111,112,0,117,79,0,91, +104,0,216,81,0,86,101,0,207,76,0,142,90,0,170,69,0,21,91,0,168,80,0,238,73,0,140,67,0,65,92,0,116,72,0,88,98,0,215,69,0,210,90,0,177,62,0,86,93,0,130,67,0,231,71,0,181,54,0,100,88,0,22,59,0,33,85,0,255,47,0,129,79,0,37,44,0,97,89,0,153,41,0,101,86,0, +184,36,0,5,86,0,235,29,0,194,97,0,83,39,0,234,86,0,229,42,0,210,86,0,242,29,0,86,79,0,211,19,0,117,84,0,2,15,0,12,75,0,67,19,0,56,77,0,107,9,0,65,71,0,76,9,0,159,67,0,112,11,0,104,71,0,60,255,255,29,63,0,139,4,0,171,54,0,131,9,0,180,44,0,193,0,0,49,41, +0,228,254,255,114,40,0,113,252,255,5,38,0,193,247,255,85,33,0,121,233,255,106,21,0,219,227,255,135,18,0,94,240,255,121,12,0,45,227,255,80,8,0,251,232,255,59,2,0,218,219,255,214,251,255,25,202,255,41,255,255,103,190,255,13,239,255,4,183,255,91,235,255, +57,171,255,44,244,255,10,176,255,233,232,255,38,183,255,128,228,255,91,162,255,93,221,255,113,159,255,54,212,255,210,154,255,221,230,255,225,164,255,145,219,255,160,161,255,255,220,255,60,150,255,95,221,255,138,160,255,84,227,255,60,164,255,77,218,255, +249,161,255,207,212,255,62,164,255,131,215,255,177,162,255,231,225,255,132,174,255,145,220,255,7,173,255,23,239,255,226,179,255,197,227,255,248,168,255,66,233,255,79,174,255,108,232,255,110,187,255,168,234,255,163,172,255,124,228,255,128,157,255,98,229, +255,131,156,255,253,223,255,60,160,255,182,235,255,5,160,255,11,221,255,102,143,255,128,218,255,137,142,255,23,215,255,19,138,255,220,212,255,135,136,255,94,216,255,151,128,255,173,192,255,254,104,255,140,193,255,244,110,255,176,183,255,229,102,255,57, +183,255,202,96,255,33,179,255,78,91,255,62,153,255,67,77,255,150,173,255,118,80,255,153,164,255,56,72,255,154,148,255,235,63,255,160,157,255,228,63,255,45,140,255,206,55,255,192,142,255,177,62,255,180,125,255,155,58,255,30,133,255,214,57,255,171,138, +255,72,57,255,146,139,255,30,67,255,213,138,255,13,68,255,33,152,255,1,74,255,124,143,255,145,82,255,148,151,255,211,81,255,186,148,255,155,93,255,159,158,255,75,94,255,104,158,255,140,90,255,76,164,255,196,109,255,213,163,255,118,109,255,82,169,255, +1,112,255,172,179,255,134,106,255,40,178,255,99,130,255,139,195,255,15,133,255,67,188,255,45,123,255,17,193,255,118,119,255,79,190,255,17,126,255,78,205,255,143,134,255,195,192,255,213,124,255,251,206,255,34,119,255,241,211,255,4,119,255,160,212,255, +107,123,255,7,206,255,177,110,255,2,205,255,123,106,255,153,205,255,230,115,255,6,214,255,223,126,255,190,203,255,117,117,255,206,196,255,127,113,255,76,208,255,241,126,255,169,202,255,14,115,255,124,208,255,254,111,255,118,197,255,186,113,255,233,202, +255,90,107,255,148,205,255,137,118,255,89,203,255,124,107,255,45,205,255,48,99,255,225,206,255,250,98,255,223,197,255,145,89,255,142,188,255,199,90,255,134,195,255,45,92,255,131,186,255,19,90,255,75,180,255,191,68,255,43,190,255,169,88,255,188,176,255, +39,83,255,115,177,255,215,83,255,71,172,255,64,87,255,113,168,255,14,82,255,5,174,255,145,94,255,168,172,255,156,93,255,188,171,255,61,100,255,234,172,255,91,114,255,162,169,255,5,101,255,69,188,255,254,123,255,222,184,255,205,111,255,94,191,255,137, +136,255,215,200,255,236,138,255,180,208,255,105,127,255,177,206,255,123,136,255,73,210,255,60,146,255,177,216,255,179,143,255,124,215,255,44,153,255,26,210,255,77,153,255,164,225,255,103,149,255,153,223,255,74,142,255,119,246,255,21,151,255,23,240,255, +250,151,255,236,231,255,103,150,255,94,234,255,168,147,255,123,232,255,77,136,255,55,237,255,7,139,255,78,222,255,190,142,255,139,235,255,135,136,255,201,236,255,210,138,255,218,214,255,204,125,255,187,223,255,78,125,255,126,219,255,138,118,255,113,221, +255,85,117,255,187,208,255,156,127,255,156,220,255,75,128,255,18,212,255,212,127,255,21,223,255,63,124,255,51,221,255,201,123,255,228,214,255,94,116,255,210,218,255,90,127,255,4,212,255,24,119,255,176,219,255,70,123,255,42,219,255,81,134,255,39,217,255, +45,130,255,77,218,255,239,129,255,40,214,255,24,124,255,225,234,255,221,145,255,125,224,255,220,140,255,41,220,255,213,143,255,146,219,255,197,149,255,180,233,255,240,154,255,120,226,255,47,158,255,149,224,255,191,155,255,119,241,255,3,166,255,249,231, +255,89,158,255,167,238,255,0,156,255,131,254,255,181,174,255,234,251,255,237,171,255,114,243,255,149,183,255,245,250,255,139,184,255,190,250,255,246,177,255,138,1,0,60,173,255,206,250,255,22,167,255,119,8,0,145,191,255,32,5,0,33,186,255,60,12,0,91,188, +255,92,23,0,46,196,255,194,1,0,23,176,255,255,13,0,66,189,255,83,18,0,187,183,255,167,27,0,229,193,255,195,28,0,105,187,255,57,24,0,68,200,255,246,35,0,164,208,255,208,21,0,49,204,255,117,36,0,232,215,255,41,24,0,111,205,255,107,31,0,233,212,255,98,26, +0,175,213,255,31,35,0,196,222,255,37,33,0,120,202,255,65,34,0,196,214,255,250,33,0,254,208,255,33,26,0,92,204,255,195,41,0,108,212,255,18,31,0,134,198,255,16,37,0,179,210,255,212,40,0,154,205,255,229,37,0,188,199,255,170,38,0,94,204,255,49,31,0,61,202, +255,110,42,0,183,201,255,74,33,0,99,195,255,105,41,0,102,194,255,109,45,0,164,205,255,9,49,0,22,200,255,248,38,0,58,201,255,146,43,0,178,206,255,65,46,0,33,199,255,26,30,0,254,210,255,21,42,0,64,197,255,126,49,0,189,195,255,52,37,0,193,204,255,33,43, +0,100,201,255,134,46,0,233,194,255,111,38,0,183,195,255,98,32,0,115,199,255,72,35,0,214,198,255,239,32,0,14,204,255,8,30,0,139,197,255,187,26,0,108,197,255,149,38,0,139,192,255,116,23,0,210,205,255,45,23,0,174,194,255,31,15,0,166,189,255,196,10,0,211, +205,255,149,20,0,61,205,255,138,26,0,67,196,255,122,26,0,12,208,255,63,17,0,108,198,255,61,8,0,112,192,255,209,21,0,4,201,255,196,10,0,176,197,255,224,16,0,36,189,255,227,10,0,86,193,255,243,10,0,166,188,255,91,18,0,121,185,255,123,8,0,248,190,255,149, +17,0,147,192,255,179,25,0,7,206,255,230,14,0,25,203,255,59,18,0,49,203,255,229,26,0,51,212,255,75,25,0,139,212,255,111,21,0,75,210,255,156,34,0,36,217,255,111,33,0,134,221,255,79,33,0,105,225,255,132,41,0,1,240,255,254,42,0,71,233,255,180,36,0,114,232, +255,137,46,0,13,241,255,38,31,0,77,229,255,152,39,0,183,235,255,87,35,0,23,217,255,106,34,0,74,237,255,157,47,0,115,239,255,225,29,0,167,226,255,201,29,0,43,237,255,197,37,0,16,231,255,169,36,0,114,237,255,233,31,0,69,232,255,179,35,0,39,229,255,52,40, +0,241,237,255,126,39,0,83,221,255,132,44,0,89,233,255,151,43,0,36,244,255,77,53,0,150,234,255,146,35,0,8,236,255,217,42,0,233,251,255,182,43,0,100,237,255,154,44,0,125,239,255,99,44,0,124,246,255,13,48,0,248,2,0,74,51,0,10,247,255,96,49,0,23,1,0,21,41, +0,18,7,0,207,44,0,161,2,0,55,47,0,220,10,0,100,52,0,43,11,0,75,50,0,127,14,0,31,40,0,1,14,0,250,56,0,102,21,0,147,45,0,77,19,0,38,49,0,253,27,0,56,66,0,73,29,0,206,68,0,115,37,0,30,73,0,143,49,0,167,72,0,155,37,0,166,70,0,164,43,0,163,62,0,223,55,0,169, +71,0,165,47,0,32,74,0,227,45,0,84,79,0,5,43,0,33,80,0,43,39,0,112,71,0,0,42,0,32,80,0,204,51,0,227,63,0,22,51,0,161,70,0,46,55,0,123,74,0,130,47,0,24,75,0,71,61,0,186,80,0,43,62,0,134,77,0,0,65,0,18,76,0,157,61,0,30,75,0,181,65,0,33,91,0,97,79,0,87,85, +0,151,73,0,53,98,0,191,83,0,179,85,0,197,75,0,148,91,0,70,92,0,193,81,0,68,86,0,192,98,0,225,88,0,186,108,0,10,95,0,128,102,0,33,97,0,46,107,0,108,100,0,129,110,0,32,97,0,201,103,0,69,87,0,125,100,0,175,90,0,60,111,0,5,91,0,124,121,0,186,97,0,243,106, +0,196,82,0,61,110,0,35,89,0,99,108,0,2,83,0,151,117,0,102,100,0,24,117,0,18,95,0,125,111,0,135,91,0,147,99,0,143,101,0,39,100,0,150,91,0,67,101,0,160,92,0,101,104,0,18,88,0,133,104,0,33,86,0,104,103,0,120,100,0,55,93,0,68,93,0,197,99,0,86,88,0,137,86, +0,215,83,0,57,86,0,41,89,0,6,83,0,226,76,0,158,78,0,44,88,0,114,71,0,240,72,0,244,70,0,165,75,0,243,68,0,0,77,0,121,69,0,188,65,0,33,71,0,10,54,0,14,64,0,144,56,0,72,59,0,80,54,0,210,60,0,60,55,0,16,67,0,170,55,0,252,51,0,217,53,0,125,67,0,189,52,0,82, +62,0,54,56,0,85,71,0,148,66,0,230,60,0,46,50,0,241,73,0,48,73,0,150,72,0,209,74,0,79,66,0,8,67,0,192,69,0,189,63,0,212,72,0,35,62,0,156,74,0,193,62,0,172,70,0,81,74,0,140,70,0,206,78,0,130,76,0,96,72,0,239,82,0,38,86,0,176,78,0,226,84,0,102,71,0,2,77, +0,19,70,0,132,74,0,199,74,0,112,73,0,196,65,0,104,75,0,32,78,0,135,75,0,97,62,0,241,72,0,133,59,0,25,65,0,62,61,0,56,65,0,249,61,0,146,68,0,207,58,0,46,73,0,86,66,0,209,79,0,28,59,0,50,68,0,147,55,0,176,66,0,196,49,0,128,68,0,98,59,0,160,77,0,138,42, +0,214,79,0,16,56,0,98,73,0,211,45,0,65,77,0,11,55,0,222,73,0,20,51,0,251,79,0,34,42,0,8,75,0,213,46,0,225,85,0,44,45,0,148,79,0,124,43,0,105,89,0,129,47,0,91,68,0,191,51,0,203,86,0,18,49,0,54,82,0,60,52,0,219,82,0,142,51,0,186,93,0,30,46,0,109,76,0,72, +58,0,68,91,0,156,64,0,88,88,0,0,60,0,79,90,0,93,53,0,159,84,0,212,49,0,81,80,0,227,58,0,242,70,0,136,48,0,127,71,0,59,55,0,230,69,0,13,51,0,176,56,0,103,52,0,105,65,0,96,50,0,143,56,0,135,48,0,116,48,0,50,53,0,210,37,0,147,38,0,18,36,0,222,44,0,146,48, +0,210,36,0,57,36,0,72,19,0,120,18,0,45,18,0,12,30,0,22,25,0,135,34,0,146,20,0,145,30,0,80,19,0,255,39,0,52,11,0,251,31,0,231,15,0,139,33,0,248,27,0,28,26,0,36,11,0,208,28,0,223,15,0,177,35,0,199,22,0,116,31,0,39,12,0,95,32,0,205,12,0,171,43,0,55,12,0, +132,36,0,0,12,0,30,36,0,184,13,0,237,30,0,158,10,0,129,40,0,103,10,0,181,44,0,139,16,0,235,32,0,134,5,0,118,42,0,137,6,0,215,38,0,75,11,0,144,45,0,144,6,0,25,33,0,109,12,0,80,57,0,40,252,255,138,53,0,103,3,0,161,60,0,19,255,255,171,56,0,50,250,255,105, +48,0,153,4,0,65,55,0,176,255,255,92,54,0,69,246,255,211,52,0,156,239,255,4,49,0,58,250,255,107,54,0,75,238,255,242,40,0,7,244,255,4,59,0,1,237,255,254,49,0,78,239,255,211,38,0,146,243,255,31,31,0,153,233,255,101,16,0,6,236,255,171,28,0,200,240,255,13, +38,0,165,229,255,111,22,0,50,235,255,150,12,0,21,228,255,230,20,0,160,240,255,212,24,0,167,242,255,229,17,0,204,239,255,244,12,0,130,235,255,84,21,0,185,230,255,217,31,0,30,236,255,95,27,0,152,232,255,8,27,0,17,244,255,36,26,0,222,237,255,78,27,0,36, +225,255,65,33,0,50,232,255,252,40,0,6,230,255,152,31,0,199,229,255,66,41,0,107,217,255,121,31,0,102,241,255,100,45,0,197,218,255,90,39,0,89,234,255,55,51,0,18,231,255,81,36,0,112,226,255,105,39,0,142,228,255,198,36,0,118,233,255,110,41,0,167,231,255, +214,39,0,188,230,255,215,50,0,149,225,255,182,47,0,100,232,255,11,37,0,41,220,255,91,35,0,223,223,255,119,34,0,238,239,255,136,40,0,5,221,255,209,38,0,134,230,255,220,39,0,22,221,255,110,23,0,35,212,255,185,22,0,24,219,255,64,21,0,235,224,255,69,28,0, +221,219,255,208,14,0,222,203,255,35,11,0,205,208,255,54,7,0,205,197,255,98,17,0,14,196,255,249,1,0,194,182,255,133,255,255,2,197,255,36,6,0,53,187,255,119,250,255,132,182,255,62,252,255,39,179,255,181,236,255,115,181,255,130,240,255,252,171,255,126,236, +255,190,171,255,253,242,255,139,172,255,157,255,255,23,178,255,117,238,255,157,181,255,175,242,255,224,174,255,50,248,255,179,177,255,90,245,255,221,167,255,79,241,255,126,186,255,51,248,255,26,184,255,48,244,255,139,182,255,178,1,0,48,180,255,189,244, +255,209,184,255,47,255,255,186,187,255,117,249,255,58,186,255,35,3,0,88,188,255,220,2,0,192,183,255,132,7,0,249,201,255,126,8,0,104,185,255,138,248,255,14,189,255,196,246,255,201,203,255,149,252,255,77,183,255,23,249,255,30,180,255,70,243,255,99,185, +255,62,246,255,104,175,255,82,230,255,192,184,255,78,243,255,32,177,255,156,228,255,247,175,255,17,223,255,213,168,255,28,230,255,253,162,255,182,232,255,118,164,255,96,235,255,50,168,255,253,238,255,99,165,255,217,224,255,5,156,255,61,233,255,134,163, +255,97,238,255,82,170,255,133,237,255,90,173,255,220,246,255,146,146,255,121,220,255,24,159,255,90,232,255,28,154,255,241,239,255,91,154,255,33,240,255,119,159,255,226,236,255,226,154,255,64,243,255,239,153,255,41,234,255,172,154,255,102,227,255,8,154, +255,104,231,255,123,159,255,31,236,255,212,150,255,236,227,255,248,149,255,175,234,255,11,160,255,56,221,255,236,156,255,105,206,255,23,155,255,90,231,255,177,141,255,73,218,255,74,153,255,28,222,255,63,132,255,119,214,255,182,139,255,118,220,255,65, +139,255,184,218,255,147,137,255,102,210,255,28,142,255,181,223,255,38,149,255,127,223,255,98,151,255,245,207,255,119,143,255,62,209,255,199,150,255,39,219,255,45,154,255,115,218,255,6,144,255,16,216,255,78,141,255,149,209,255,23,154,255,252,209,255,166, +151,255,193,214,255,187,130,255,247,207,255,106,145,255,187,221,255,25,140,255,246,206,255,47,146,255,20,210,255,131,128,255,252,205,255,22,131,255,152,199,255,165,145,255,78,204,255,148,127,255,110,201,255,106,129,255,25,211,255,99,122,255,173,201,255, +224,132,255,1,190,255,155,139,255,95,204,255,174,123,255,86,210,255,98,120,255,198,204,255,66,130,255,32,210,255,59,123,255,206,204,255,214,136,255,107,205,255,145,129,255,0,213,255,35,132,255,142,213,255,136,131,255,25,199,255,41,141,255,229,217,255, +88,137,255,122,211,255,164,125,255,232,204,255,213,133,255,81,217,255,26,129,255,201,207,255,223,140,255,128,206,255,234,134,255,37,207,255,218,137,255,34,220,255,94,141,255,56,208,255,29,132,255,86,211,255,0,129,255,87,197,255,235,140,255,41,208,255, +118,125,255,110,200,255,112,140,255,32,211,255,65,136,255,76,202,255,233,130,255,42,208,255,144,128,255,185,205,255,55,126,255,250,195,255,154,117,255,75,197,255,23,125,255,145,208,255,138,116,255,44,208,255,124,109,255,120,196,255,30,108,255,238,188, +255,163,123,255,46,205,255,137,102,255,38,197,255,198,116,255,1,194,255,30,110,255,21,196,255,98,116,255,101,189,255,204,110,255,104,194,255,137,119,255,59,191,255,63,124,255,178,176,255,72,109,255,173,181,255,107,110,255,236,181,255,123,114,255,159, +181,255,3,104,255,214,181,255,80,115,255,99,194,255,144,115,255,246,197,255,51,111,255,160,185,255,93,112,255,185,185,255,68,111,255,133,182,255,50,105,255,178,193,255,231,101,255,155,193,255,142,107,255,147,197,255,232,100,255,193,188,255,117,101,255, +97,199,255,55,92,255,230,203,255,207,94,255,178,192,255,183,105,255,28,199,255,27,105,255,100,204,255,9,103,255,182,206,255,109,110,255,216,207,255,142,98,255,166,197,255,102,105,255,86,208,255,6,103,255,213,201,255,240,107,255,144,197,255,94,103,255, +26,196,255,211,107,255,25,200,255,188,115,255,110,216,255,228,111,255,231,201,255,82,103,255,197,208,255,212,114,255,241,202,255,181,118,255,163,215,255,111,100,255,150,203,255,188,103,255,37,205,255,149,116,255,156,219,255,167,112,255,158,202,255,233, +109,255,177,204,255,122,103,255,174,202,255,195,113,255,12,203,255,32,113,255,26,211,255,77,93,255,22,199,255,214,104,255,48,210,255,151,108,255,132,222,255,157,106,255,140,222,255,35,116,255,163,217,255,155,117,255,210,212,255,216,130,255,174,228,255, +188,108,255,29,230,255,172,121,255,161,229,255,150,117,255,4,233,255,118,125,255,195,240,255,38,119,255,124,235,255,244,130,255,131,244,255,165,138,255,115,244,255,99,121,255,157,231,255,112,143,255,125,254,255,154,149,255,110,255,255,148,140,255,240, +2,0,9,155,255,210,249,255,254,142,255,175,5,0,102,154,255,85,244,255,155,152,255,60,248,255,136,140,255,71,255,255,228,158,255,121,252,255,174,148,255,48,250,255,181,142,255,70,244,255,79,141,255,65,241,255,77,149,255,103,250,255,179,134,255,45,248,255, +2,140,255,174,251,255,53,142,255,58,236,255,80,129,255,184,221,255,242,127,255,175,241,255,166,122,255,238,231,255,185,140,255,159,230,255,140,146,255,182,235,255,14,129,255,83,221,255,35,126,255,228,213,255,176,132,255,228,213,255,47,139,255,225,221, +255,99,142,255,185,226,255,160,124,255,254,214,255,88,133,255,55,211,255,221,149,255,40,211,255,39,141,255,131,220,255,186,140,255,14,214,255,5,144,255,236,217,255,133,140,255,138,230,255,132,139,255,159,228,255,19,141,255,107,230,255,105,146,255,174, +222,255,72,139,255,162,230,255,35,145,255,20,223,255,186,158,255,5,229,255,139,146,255,23,242,255,140,140,255,21,241,255,244,148,255,236,238,255,39,139,255,3,239,255,189,146,255,92,235,255,24,150,255,30,241,255,190,146,255,222,239,255,41,150,255,61,241, +255,202,130,255,209,235,255,244,144,255,6,240,255,126,136,255,236,243,255,244,130,255,6,234,255,162,120,255,2,237,255,61,144,255,204,230,255,191,135,255,201,228,255,91,142,255,208,227,255,94,138,255,163,222,255,6,129,255,237,218,255,68,134,255,231,226, +255,241,128,255,239,226,255,159,137,255,61,221,255,24,134,255,102,215,255,162,145,255,92,220,255,157,133,255,154,219,255,47,151,255,193,213,255,202,137,255,51,211,255,113,133,255,233,213,255,210,129,255,136,210,255,208,140,255,229,216,255,92,140,255, +210,213,255,51,130,255,148,213,255,2,128,255,211,206,255,76,138,255,17,206,255,111,133,255,151,201,255,81,126,255,80,207,255,202,123,255,185,209,255,145,119,255,139,210,255,89,124,255,139,195,255,20,110,255,179,203,255,85,126,255,84,201,255,16,126,255, +26,198,255,187,118,255,15,202,255,123,123,255,29,193,255,117,123,255,158,181,255,173,116,255,182,181,255,231,119,255,88,180,255,161,118,255,202,185,255,209,111,255,135,179,255,53,125,255,229,195,255,33,112,255,28,188,255,203,118,255,134,185,255,114,113, +255,30,189,255,171,122,255,240,188,255,129,127,255,40,199,255,10,115,255,167,184,255,136,132,255,168,210,255,220,129,255,121,200,255,37,132,255,84,194,255,165,126,255,73,199,255,204,134,255,135,207,255,162,122,255,208,201,255,32,131,255,6,209,255,122, +127,255,65,197,255,2,131,255,77,209,255,51,124,255,94,194,255,158,138,255,248,199,255,206,130,255,185,198,255,46,132,255,48,201,255,250,133,255,237,212,255,39,122,255,99,196,255,130,137,255,75,196,255,94,139,255,45,196,255,159,123,255,51,193,255,11,122, +255,77,205,255,222,121,255,49,190,255,220,109,255,246,183,255,190,118,255,138,193,255,237,117,255,186,184,255,144,127,255,119,197,255,149,132,255,141,195,255,56,122,255,63,184,255,247,126,255,239,201,255,205,120,255,70,193,255,230,132,255,232,200,255, +64,127,255,135,205,255,204,136,255,129,206,255,249,132,255,102,201,255,141,142,255,29,198,255,65,145,255,167,215,255,38,128,255,10,201,255,225,137,255,87,200,255,30,158,255,49,211,255,211,148,255,95,210,255,214,151,255,217,206,255,152,151,255,6,215,255, +161,152,255,50,211,255,89,147,255,27,211,255,172,143,255,21,214,255,186,151,255,52,213,255,211,141,255,10,196,255,27,143,255,97,197,255,236,140,255,42,209,255,226,136,255,59,185,255,93,132,255,11,208,255,171,144,255,158,193,255,85,130,255,187,202,255, +236,133,255,203,189,255,37,138,255,39,187,255,97,132,255,233,185,255,235,141,255,36,195,255,19,129,255,54,198,255,92,133,255,81,175,255,204,137,255,182,202,255,101,132,255,78,182,255,140,131,255,116,194,255,210,130,255,65,184,255,191,150,255,201,191, +255,36,134,255,114,203,255,193,151,255,222,201,255,49,142,255,241,190,255,61,147,255,35,197,255,109,148,255,251,194,255,225,147,255,175,195,255,248,146,255,126,191,255,92,142,255,160,180,255,141,146,255,125,187,255,63,144,255,53,180,255,159,148,255,185, +180,255,49,143,255,189,187,255,252,142,255,8,164,255,161,146,255,83,173,255,237,141,255,109,179,255,87,132,255,183,169,255,250,152,255,48,179,255,224,142,255,152,185,255,114,138,255,198,182,255,250,145,255,200,186,255,227,142,255,170,186,255,13,151,255, +105,199,255,109,156,255,44,201,255,132,151,255,216,200,255,71,154,255,213,193,255,124,149,255,79,208,255,59,161,255,87,207,255,144,157,255,128,211,255,255,184,255,250,229,255,109,164,255,223,219,255,96,171,255,148,225,255,19,170,255,247,218,255,22,180, +255,81,233,255,231,174,255,64,226,255,119,187,255,160,236,255,36,194,255,240,244,255,235,183,255,130,236,255,149,178,255,185,239,255,223,194,255,201,244,255,216,193,255,37,241,255,109,198,255,6,238,255,185,193,255,28,233,255,8,195,255,154,240,255,40, +199,255,44,233,255,96,202,255,231,237,255,219,195,255,146,233,255,41,199,255,240,237,255,135,200,255,67,230,255,235,190,255,174,220,255,4,201,255,108,237,255,112,191,255,84,232,255,5,201,255,148,242,255,199,201,255,76,233,255,207,199,255,177,226,255, +208,202,255,203,244,255,184,193,255,30,232,255,171,210,255,40,242,255,94,212,255,140,236,255,148,206,255,141,247,255,227,215,255,88,255,255,126,214,255,81,3,0,111,215,255,142,2,0,49,212,255,159,12,0,104,217,255,66,11,0,197,214,255,104,15,0,183,230,255, +67,27,0,168,234,255,245,24,0,145,244,255,214,29,0,161,244,255,98,40,0,146,255,255,121,39,0,61,3,0,59,50,0,69,0,0,4,52,0,224,13,0,66,56,0,124,18,0,151,51,0,209,14,0,96,60,0,30,16,0,251,65,0,170,12,0,2,63,0,200,12,0,165,63,0,246,32,0,102,71,0,153,29,0, +16,73,0,53,30,0,1,60,0,83,34,0,15,66,0,44,34,0,69,71,0,90,31,0,255,73,0,20,33,0,154,65,0,175,35,0,161,60,0,12,39,0,37,62,0,120,35,0,14,58,0,90,32,0,190,66,0,57,43,0,98,62,0,57,35,0,90,56,0,3,30,0,20,57,0,66,22,0,245,47,0,205,26,0,43,52,0,135,22,0,13, +40,0,4,21,0,42,47,0,19,18,0,89,49,0,137,10,0,252,44,0,113,12,0,49,50,0,48,32,0,113,39,0,244,19,0,27,41,0,158,22,0,0,57,0,158,20,0,202,50,0,152,12,0,63,49,0,149,24,0,108,52,0,141,25,0,91,62,0,116,34,0,67,60,0,209,34,0,239,54,0,92,36,0,89,64,0,192,36,0, +214,59,0,176,37,0,79,66,0,8,27,0,19,56,0,30,30,0,71,64,0,142,43,0,87,63,0,252,37,0,129,76,0,213,36,0,220,55,0,164,45,0,180,59,0,74,36,0,111,53,0,182,36,0,57,51,0,227,42,0,104,73,0,69,50,0,112,48,0,116,45,0,13,64,0,122,28,0,14,62,0,54,42,0,3,46,0,77,23, +0,43,40,0,78,39,0,198,39,0,47,41,0,104,42,0,159,30,0,57,43,0,180,34,0,188,45,0,47,38,0,62,49,0,230,25,0,237,35,0,140,36,0,48,42,0,81,28,0,204,39,0,246,22,0,216,47,0,78,33,0,163,43,0,131,36,0,91,48,0,157,28,0,156,57,0,189,26,0,57,54,0,162,35,0,202,57, +0,107,35,0,47,58,0,223,35,0,179,55,0,159,55,0,38,74,0,103,43,0,136,62,0,164,43,0,194,69,0,47,45,0,239,72,0,130,66,0,48,83,0,122,49,0,122,71,0,208,61,0,208,86,0,165,53,0,214,72,0,176,61,0,132,79,0,88,67,0,148,93,0,79,55,0,173,88,0,77,57,0,168,95,0,169, +70,0,158,85,0,139,68,0,185,77,0,15,68,0,120,81,0,3,74,0,226,84,0,127,73,0,134,68,0,223,55,0,47,70,0,87,61,0,118,80,0,78,63,0,224,84,0,91,65,0,74,75,0,136,55,0,186,68,0,86,59,0,3,75,0,190,66,0,13,70,0,220,55,0,186,78,0,205,53,0,116,78,0,251,66,0,147,76, +0,75,62,0,30,77,0,203,66,0,253,66,0,133,55,0,234,72,0,188,65,0,157,70,0,40,65,0,197,67,0,20,59,0,225,82,0,153,57,0,183,64,0,214,69,0,29,84,0,100,66,0,242,77,0,128,69,0,130,59,0,54,63,0,7,79,0,90,65,0,214,71,0,123,63,0,18,64,0,132,60,0,148,76,0,171,69, +0,193,66,0,160,63,0,248,65,0,62,59,0,7,66,0,158,55,0,143,69,0,82,72,0,47,73,0,227,64,0,7,74,0,211,55,0,34,68,0,213,61,0,183,65,0,85,76,0,8,89,0,252,59,0,68,72,0,28,69,0,242,66,0,236,68,0,187,77,0,115,65,0,212,65,0,248,72,0,101,67,0,208,73,0,130,78,0, +246,64,0,196,82,0,115,63,0,104,80,0,126,76,0,49,72,0,106,72,0,216,66,0,9,76,0,171,72,0,202,75,0,102,71,0,28,71,0,117,71,0,9,74,0,147,71,0,54,67,0,178,71,0,96,63,0,154,71,0,90,77,0,14,63,0,84,58,0,2,67,0,107,67,0,81,73,0,244,68,0,98,63,0,52,66,0,110,57, +0,144,66,0,141,57,0,219,60,0,68,69,0,249,76,0,192,68,0,236,57,0,43,61,0,223,63,0,148,72,0,224,69,0,98,75,0,213,72,0,169,88,0,229,71,0,106,81,0,64,73,0,61,87,0,151,71,0,196,83,0,215,75,0,21,95,0,142,86,0,83,87,0,130,82,0,223,93,0,26,85,0,120,87,0,143, +90,0,52,100,0,160,96,0,206,92,0,24,92,0,245,98,0,35,95,0,172,108,0,198,94,0,99,89,0,190,94,0,228,98,0,159,101,0,128,97,0,73,101,0,59,103,0,89,100,0,215,94,0,67,105,0,187,97,0,159,98,0,118,96,0,188,99,0,173,88,0,129,103,0,217,90,0,222,109,0,84,91,0,200, +107,0,235,80,0,128,102,0,37,77,0,105,107,0,227,79,0,110,109,0,68,76,0,58,107,0,146,81,0,123,90,0,105,70,0,118,94,0,243,83,0,205,92,0,102,78,0,229,97,0,51,81,0,91,90,0,205,75,0,82,90,0,49,75,0,92,94,0,233,76,0,235,84,0,219,62,0,232,98,0,169,84,0,28,81, +0,205,73,0,32,96,0,79,80,0,149,89,0,197,78,0,246,91,0,149,79,0,108,90,0,235,84,0,200,102,0,13,94,0,131,95,0,203,84,0,211,98,0,135,100,0,125,104,0,55,84,0,75,95,0,192,97,0,130,117,0,69,102,0,66,112,0,31,89,0,1,108,0,152,102,0,101,108,0,66,96,0,62,119, +0,5,101,0,99,108,0,176,94,0,247,101,0,172,85,0,193,117,0,184,93,0,94,110,0,70,80,0,255,110,0,64,95,0,179,109,0,249,89,0,250,96,0,70,84,0,38,109,0,18,82,0,65,101,0,20,75,0,10,101,0,229,74,0,46,91,0,26,65,0,172,94,0,245,62,0,152,92,0,250,69,0,226,83,0, +8,55,0,216,79,0,70,44,0,105,80,0,253,45,0,53,73,0,106,40,0,178,72,0,45,39,0,67,74,0,30,39,0,122,73,0,46,33,0,202,60,0,54,38,0,65,64,0,249,52,0,163,75,0,70,42,0,81,78,0,138,43,0,156,69,0,230,48,0,77,65,0,65,50,0,19,82,0,229,58,0,176,95,0,200,67,0,144, +85,0,82,83,0,195,82,0,133,70,0,54,93,0,218,84,0,74,85,0,215,90,0,149,95,0,166,87,0,16,96,0,188,92,0,248,105,0,140,112,0,62,105,0,36,109,0,33,108,0,142,105,0,41,107,0,90,113,0,106,119,0,157,104,0,85,117,0,80,108,0,113,114,0,10,104,0,120,123,0,66,107,0, +70,111,0,150,88,0,243,118,0,181,106,0,167,107,0,50,92,0,26,99,0,133,88,0,19,107,0,78,93,0,99,96,0,77,84,0,29,91,0,176,84,0,37,91,0,36,71,0,208,94,0,219,81,0,76,90,0,164,72,0,192,85,0,122,65,0,201,93,0,30,69,0,23,84,0,147,59,0,129,89,0,239,72,0,6,71,0, +227,57,0,237,84,0,169,63,0,191,75,0,196,69,0,113,92,0,13,81,0,133,89,0,9,70,0,101,85,0,42,73,0,238,86,0,39,74,0,217,80,0,189,89,0,158,91,0,109,82,0,64,83,0,133,77,0,168,89,0,7,82,0,60,93,0,219,84,0,71,99,0,131,94,0,130,92,0,174,91,0,247,99,0,82,99,0, +227,93,0,32,92,0,47,94,0,207,93,0,108,94,0,127,94,0,106,99,0,81,98,0,109,101,0,243,89,0,214,106,0,32,111,0,150,99,0,2,90,0,43,98,0,166,92,0,4,102,0,200,90,0,96,102,0,237,99,0,128,101,0,206,86,0,14,96,0,6,82,0,141,105,0,161,85,0,162,94,0,120,78,0,95,85, +0,178,80,0,34,92,0,102,75,0,218,92,0,94,67,0,249,84,0,30,68,0,66,83,0,88,58,0,177,81,0,141,66,0,238,81,0,233,58,0,35,78,0,139,51,0,167,85,0,236,68,0,177,76,0,136,56,0,168,76,0,195,61,0,54,83,0,81,60,0,232,78,0,174,52,0,200,71,0,226,60,0,243,76,0,212, +67,0,172,77,0,49,60,0,77,74,0,122,54,0,180,76,0,121,69,0,63,84,0,11,55,0,38,77,0,239,60,0,26,86,0,196,66,0,182,74,0,171,59,0,133,86,0,203,69,0,109,108,0,70,70,0,165,92,0,12,68,0,206,94,0,90,82,0,68,101,0,221,74,0,92,93,0,111,68,0,37,104,0,238,80,0,67, +104,0,73,71,0,137,96,0,196,74,0,8,95,0,139,72,0,124,98,0,128,91,0,61,88,0,72,81,0,232,90,0,73,84,0,239,87,0,228,69,0,5,95,0,88,73,0,143,81,0,162,74,0,154,100,0,41,76,0,42,88,0,129,71,0,109,85,0,107,67,0,230,79,0,148,62,0,150,73,0,74,64,0,193,74,0,53, +46,0,1,77,0,184,56,0,87,73,0,73,47,0,101,70,0,132,41,0,50,82,0,24,41,0,105,78,0,63,44,0,10,72,0,24,41,0,153,80,0,121,42,0,47,79,0,69,41,0,195,68,0,76,38,0,17,85,0,192,41,0,150,77,0,196,36,0,234,87,0,157,59,0,138,75,0,216,50,0,90,82,0,68,57,0,46,84,0, +158,58,0,97,82,0,24,56,0,184,97,0,77,66,0,166,85,0,229,57,0,239,83,0,56,52,0,236,90,0,187,61,0,23,102,0,179,61,0,76,105,0,69,65,0,255,101,0,35,63,0,26,87,0,15,55,0,11,90,0,166,50,0,100,94,0,120,62,0,234,86,0,196,50,0,219,92,0,6,52,0,110,83,0,183,58,0, +92,93,0,29,39,0,112,88,0,76,51,0,134,85,0,137,51,0,84,77,0,3,43,0,37,68,0,196,30,0,105,65,0,0,35,0,113,65,0,137,29,0,128,65,0,170,25,0,232,60,0,244,35,0,83,67,0,80,21,0,39,60,0,147,31,0,25,56,0,136,32,0,105,70,0,44,32,0,133,68,0,15,34,0,119,64,0,126, +45,0,244,72,0,228,38,0,52,57,0,174,38,0,56,64,0,19,38,0,89,66,0,6,52,0,234,75,0,119,41,0,114,62,0,137,43,0,225,72,0,66,43,0,214,76,0,90,40,0,53,73,0,231,39,0,189,62,0,194,38,0,5,76,0,142,52,0,162,69,0,14,45,0,233,68,0,197,51,0,121,81,0,121,45,0,37,75, +0,63,38,0,143,84,0,156,43,0,0,71,0,84,41,0,250,72,0,68,33,0,8,85,0,84,44,0,150,72,0,20,36,0,173,72,0,150,42,0,233,75,0,107,35,0,23,70,0,97,33,0,175,65,0,32,23,0,143,65,0,102,17,0,161,64,0,248,28,0,15,61,0,197,24,0,175,64,0,241,25,0,46,58,0,236,24,0,212, +59,0,81,16,0,87,51,0,185,20,0,234,45,0,145,23,0,95,48,0,66,13,0,184,46,0,122,12,0,255,48,0,201,14,0,67,55,0,113,21,0,88,47,0,218,8,0,254,59,0,221,15,0,51,44,0,225,8,0,238,43,0,245,12,0,158,41,0,189,18,0,178,42,0,254,25,0,220,46,0,231,22,0,129,35,0,196, +10,0,165,41,0,19,21,0,215,42,0,23,22,0,142,46,0,32,19,0,153,34,0,182,15,0,215,55,0,210,21,0,195,38,0,222,9,0,81,35,0,131,11,0,157,35,0,244,4,0,239,36,0,197,7,0,251,29,0,92,6,0,249,27,0,205,4,0,75,26,0,97,245,255,140,30,0,239,241,255,101,33,0,242,240, +255,228,21,0,35,232,255,32,7,0,160,229,255,172,14,0,27,222,255,199,15,0,80,230,255,8,253,255,146,221,255,59,8,0,30,224,255,238,15,0,67,212,255,181,13,0,207,224,255,180,6,0,201,193,255,252,251,255,210,193,255,201,250,255,34,193,255,84,243,255,179,183, +255,230,253,255,91,192,255,250,239,255,213,190,255,166,239,255,63,179,255,54,241,255,160,185,255,118,230,255,126,179,255,215,243,255,247,197,255,178,228,255,108,185,255,126,225,255,159,181,255,37,219,255,52,176,255,73,220,255,25,185,255,231,221,255,91, +174,255,95,213,255,44,167,255,117,221,255,182,177,255,83,222,255,226,161,255,229,210,255,43,168,255,90,203,255,16,155,255,107,217,255,177,155,255,172,204,255,233,162,255,122,198,255,56,155,255,225,190,255,59,152,255,87,200,255,131,156,255,216,198,255, +49,141,255,175,187,255,176,140,255,29,185,255,179,137,255,211,188,255,25,147,255,213,185,255,198,127,255,173,174,255,135,123,255,118,184,255,124,129,255,62,185,255,37,128,255,245,176,255,60,119,255,49,182,255,41,106,255,239,171,255,29,110,255,103,166, +255,177,105,255,70,167,255,84,108,255,164,178,255,135,102,255,219,171,255,107,97,255,8,163,255,220,91,255,139,163,255,99,98,255,146,161,255,132,100,255,112,167,255,75,92,255,81,149,255,104,86,255,105,158,255,249,93,255,232,150,255,116,92,255,168,151, +255,0,86,255,241,143,255,121,89,255,242,143,255,111,81,255,149,137,255,114,76,255,116,129,255,208,78,255,216,138,255,70,74,255,54,132,255,24,79,255,22,128,255,100,84,255,185,130,255,1,75,255,156,132,255,87,86,255,55,137,255,146,76,255,64,137,255,37,86, +255,18,137,255,97,82,255,239,140,255,100,86,255,53,143,255,80,79,255,25,147,255,180,90,255,199,141,255,39,78,255,108,150,255,127,75,255,249,138,255,223,81,255,253,157,255,213,95,255,210,139,255,139,84,255,118,148,255,175,76,255,183,147,255,6,92,255,48, +153,255,72,93,255,15,154,255,167,101,255,41,138,255,208,94,255,18,145,255,36,104,255,6,155,255,156,103,255,153,159,255,64,101,255,203,145,255,79,93,255,133,148,255,20,95,255,255,148,255,42,89,255,189,154,255,208,94,255,153,145,255,0,95,255,111,142,255, +206,89,255,67,146,255,223,89,255,195,153,255,189,86,255,74,157,255,238,94,255,213,155,255,78,92,255,15,142,255,160,78,255,57,156,255,202,90,255,22,151,255,190,79,255,106,164,255,161,87,255,197,158,255,238,83,255,171,155,255,68,84,255,140,170,255,57,102, +255,139,162,255,191,97,255,102,170,255,169,97,255,38,171,255,236,98,255,226,170,255,91,100,255,177,175,255,169,98,255,247,175,255,115,119,255,228,178,255,77,117,255,111,183,255,124,117,255,134,185,255,182,118,255,24,174,255,38,116,255,124,186,255,186, +132,255,247,184,255,232,132,255,164,194,255,50,138,255,114,183,255,81,136,255,38,181,255,113,146,255,138,189,255,95,143,255,1,189,255,57,135,255,66,184,255,127,147,255,181,194,255,211,143,255,44,180,255,113,141,255,163,187,255,187,138,255,53,198,255, +180,142,255,100,184,255,200,135,255,12,187,255,205,138,255,254,182,255,41,149,255,48,190,255,229,134,255,109,184,255,206,146,255,152,183,255,5,143,255,120,205,255,131,148,255,137,189,255,10,140,255,114,191,255,179,144,255,61,193,255,176,141,255,118,200, +255,237,157,255,255,212,255,4,162,255,222,201,255,24,157,255,10,195,255,67,160,255,5,208,255,166,160,255,127,210,255,124,167,255,155,205,255,191,160,255,84,223,255,174,180,255,142,218,255,127,165,255,80,228,255,238,193,255,36,218,255,99,176,255,64,230, +255,95,181,255,8,229,255,243,165,255,250,239,255,95,193,255,46,229,255,17,180,255,106,237,255,55,182,255,24,227,255,216,165,255,168,233,255,38,175,255,68,218,255,90,170,255,228,222,255,12,167,255,48,225,255,106,155,255,57,219,255,33,162,255,134,221,255, +123,155,255,21,213,255,206,146,255,114,209,255,242,156,255,190,211,255,187,151,255,176,222,255,194,155,255,0,209,255,99,158,255,177,207,255,84,147,255,124,209,255,38,151,255,210,203,255,156,154,255,29,223,255,86,160,255,254,209,255,4,145,255,210,207, +255,93,140,255,70,204,255,150,156,255,20,203,255,250,147,255,147,204,255,224,157,255,61,210,255,176,165,255,249,207,255,203,166,255,145,221,255,107,158,255,79,206,255,14,164,255,173,209,255,45,164,255,89,200,255,61,155,255,123,214,255,237,166,255,116, +212,255,167,170,255,111,215,255,82,174,255,160,218,255,244,181,255,226,206,255,232,173,255,43,215,255,128,196,255,7,220,255,216,186,255,234,224,255,78,197,255,21,224,255,89,200,255,163,232,255,89,202,255,180,244,255,105,191,255,229,245,255,106,198,255, +188,244,255,173,195,255,83,249,255,40,194,255,206,247,255,14,195,255,155,250,255,10,196,255,224,248,255,5,192,255,62,252,255,28,192,255,170,1,0,158,185,255,198,254,255,102,198,255,233,246,255,103,182,255,242,251,255,136,185,255,84,247,255,56,195,255, +25,250,255,116,190,255,202,253,255,247,195,255,157,246,255,199,185,255,234,246,255,88,188,255,8,247,255,53,196,255,217,236,255,75,193,255,2,238,255,244,191,255,178,243,255,255,199,255,147,250,255,118,192,255,151,251,255,45,195,255,180,246,255,205,195, +255,238,1,0,145,207,255,56,250,255,74,204,255,52,251,255,86,203,255,114,249,255,189,204,255,109,6,0,29,211,255,32,13,0,83,216,255,65,255,255,101,212,255,84,5,0,30,211,255,52,12,0,117,207,255,44,22,0,164,222,255,74,17,0,89,220,255,188,12,0,165,215,255, +17,11,0,190,213,255,47,23,0,9,226,255,251,20,0,96,227,255,34,29,0,145,228,255,51,22,0,95,219,255,173,37,0,227,227,255,69,23,0,240,219,255,84,33,0,220,235,255,31,28,0,107,225,255,67,35,0,95,226,255,62,36,0,96,229,255,146,39,0,204,237,255,197,38,0,154, +233,255,68,36,0,46,222,255,104,48,0,34,236,255,240,45,0,79,246,255,187,40,0,24,235,255,27,48,0,111,236,255,159,36,0,250,234,255,215,24,0,209,246,255,218,33,0,237,240,255,95,38,0,74,231,255,74,31,0,207,232,255,236,34,0,212,231,255,126,28,0,224,238,255, +173,18,0,75,231,255,64,25,0,119,254,255,55,17,0,82,236,255,164,28,0,237,232,255,120,21,0,151,239,255,46,27,0,160,234,255,110,15,0,56,232,255,148,15,0,154,229,255,100,22,0,184,234,255,236,19,0,183,231,255,190,30,0,69,223,255,106,11,0,156,224,255,147,12, +0,54,231,255,115,17,0,122,239,255,170,23,0,190,247,255,172,29,0,241,238,255,77,28,0,57,243,255,211,24,0,200,234,255,123,31,0,129,244,255,55,34,0,85,247,255,203,38,0,104,243,255,86,37,0,126,254,255,99,39,0,122,2,0,86,43,0,236,241,255,199,37,0,214,247, +255,223,46,0,209,251,255,173,50,0,128,249,255,182,45,0,200,253,255,106,37,0,85,236,255,187,36,0,134,251,255,105,45,0,97,1,0,206,43,0,88,248,255,207,35,0,210,1,0,161,38,0,244,5,0,145,35,0,113,249,255,22,40,0,32,253,255,130,44,0,236,255,255,56,42,0,134, +251,255,130,47,0,205,249,255,140,42,0,193,239,255,159,35,0,15,2,0,149,43,0,188,10,0,230,42,0,79,12,0,45,41,0,186,6,0,242,50,0,104,4,0,92,39,0,21,7,0,199,45,0,74,4,0,48,37,0,254,12,0,81,44,0,240,245,255,215,37,0,41,244,255,190,36,0,94,253,255,65,38,0, +213,243,255,181,36,0,188,242,255,141,38,0,83,246,255,16,40,0,236,243,255,94,29,0,18,241,255,163,20,0,228,240,255,198,34,0,210,251,255,74,24,0,209,229,255,236,25,0,189,236,255,175,22,0,103,226,255,154,32,0,47,237,255,172,24,0,223,231,255,109,17,0,195, +223,255,239,30,0,214,218,255,219,25,0,31,233,255,180,15,0,214,227,255,180,15,0,5,229,255,171,24,0,9,221,255,206,20,0,70,224,255,39,23,0,216,228,255,233,31,0,68,220,255,234,22,0,109,218,255,93,27,0,132,224,255,98,32,0,90,232,255,160,36,0,56,240,255,209, +28,0,41,240,255,104,35,0,23,239,255,248,38,0,21,254,255,148,31,0,78,0,0,53,33,0,139,0,0,70,34,0,227,18,0,79,28,0,175,9,0,97,36,0,234,5,0,210,39,0,35,24,0,240,49,0,19,40,0,204,43,0,181,35,0,67,50,0,16,26,0,162,52,0,66,38,0,57,56,0,29,42,0,183,41,0,218, +35,0,114,61,0,204,49,0,11,63,0,35,45,0,59,61,0,1,40,0,86,63,0,175,57,0,87,67,0,114,50,0,78,77,0,13,46,0,25,77,0,112,60,0,87,71,0,83,47,0,105,76,0,33,52,0,8,77,0,22,47,0,169,85,0,237,52,0,75,84,0,55,38,0,250,88,0,93,42,0,187,77,0,28,47,0,5,77,0,99,45, +0,84,93,0,206,38,0,220,93,0,253,39,0,243,86,0,40,39,0,185,77,0,198,28,0,224,85,0,4,33,0,20,82,0,245,32,0,32,77,0,179,30,0,117,78,0,83,31,0,134,83,0,135,38,0,173,69,0,39,36,0,142,69,0,174,35,0,50,65,0,147,26,0,142,62,0,7,24,0,21,59,0,67,24,0,10,69,0,135, +50,0,232,66,0,165,24,0,193,77,0,168,48,0,158,71,0,65,57,0,99,65,0,118,46,0,109,74,0,78,68,0,173,68,0,103,69,0,120,72,0,178,50,0,142,95,0,208,69,0,243,85,0,119,63,0,175,93,0,228,80,0,96,100,0,169,77,0,27,96,0,40,70,0,33,103,0,232,67,0,79,100,0,144,81, +0,238,112,0,142,80,0,50,113,0,56,75,0,158,103,0,148,72,0,23,116,0,159,74,0,221,101,0,238,76,0,179,99,0,80,69,0,158,100,0,178,69,0,252,82,0,21,66,0,124,99,0,237,68,0,70,111,0,37,71,0,240,105,0,188,67,0,209,97,0,247,58,0,100,96,0,159,52,0,105,99,0,216, +50,0,219,104,0,117,50,0,234,100,0,179,51,0,148,103,0,4,55,0,138,98,0,173,48,0,141,100,0,1,62,0,154,99,0,203,48,0,79,104,0,80,56,0,67,102,0,106,45,0,104,102,0,54,59,0,86,101,0,2,60,0,61,104,0,36,62,0,112,108,0,47,60,0,25,98,0,89,54,0,38,101,0,199,65,0, +55,107,0,108,61,0,208,95,0,165,55,0,122,103,0,203,55,0,74,84,0,128,60,0,107,90,0,67,69,0,207,96,0,49,68,0,148,93,0,96,64,0,68,100,0,187,69,0,169,97,0,23,62,0,208,94,0,217,47,0,5,113,0,29,71,0,191,98,0,41,65,0,38,93,0,82,62,0,54,94,0,192,46,0,124,95,0, +178,52,0,146,105,0,71,61,0,30,99,0,86,47,0,158,99,0,97,54,0,148,93,0,31,51,0,78,116,0,84,56,0,74,105,0,244,42,0,88,109,0,82,50,0,244,103,0,26,44,0,250,88,0,174,42,0,108,99,0,189,52,0,30,98,0,193,50,0,156,102,0,48,59,0,48,91,0,138,54,0,14,94,0,26,65,0, +38,90,0,139,55,0,17,87,0,189,63,0,100,87,0,169,60,0,192,84,0,140,46,0,165,76,0,168,55,0,81,91,0,167,55,0,106,93,0,235,65,0,86,90,0,187,58,0,32,90,0,55,67,0,181,83,0,247,59,0,167,90,0,47,62,0,62,91,0,38,56,0,150,100,0,15,72,0,85,87,0,106,62,0,26,104,0, +11,70,0,94,110,0,149,61,0,147,100,0,82,67,0,156,107,0,100,81,0,133,113,0,191,70,0,33,107,0,43,84,0,210,104,0,175,76,0,81,104,0,78,88,0,180,105,0,162,89,0,94,109,0,157,86,0,135,118,0,93,90,0,57,111,0,238,97,0,132,111,0,85,85,0,236,111,0,108,97,0,52,115, +0,147,87,0,140,113,0,148,88,0,137,112,0,150,96,0,140,109,0,175,87,0,99,107,0,58,90,0,12,117,0,165,80,0,187,106,0,23,82,0,209,100,0,78,83,0,163,106,0,174,82,0,179,95,0,242,76,0,200,107,0,250,77,0,230,101,0,141,63,0,97,98,0,105,71,0,3,102,0,174,78,0,159, +88,0,95,70,0,224,92,0,185,57,0,248,82,0,151,60,0,182,84,0,199,50,0,252,80,0,254,59,0,185,81,0,231,59,0,116,87,0,104,54,0,178,76,0,9,51,0,59,91,0,57,60,0,82,86,0,199,59,0,152,81,0,100,72,0,105,87,0,82,63,0,181,94,0,177,81,0,53,75,0,2,80,0,159,109,0,185, +82,0,180,88,0,41,83,0,60,97,0,91,87,0,94,87,0,209,92,0,123,93,0,134,100,0,73,97,0,73,107,0,242,100,0,141,108,0,189,100,0,101,121,0,56,97,0,25,107,0,157,114,0,243,121,0,190,103,0,169,116,0,197,104,0,171,112,0,82,110,0,70,124,0,235,105,0,202,121,0,252, +108,0,185,113,0,40,116,0,114,111,0,142,113,0,207,106,0,59,99,0,251,105,0,174,101,0,242,105,0,249,109,0,166,105,0,109,121,0,18,109,0,205,104,0,104,97,0,218,102,0,66,106,0,255,103,0,12,81,0,99,90,0,58,91,0,139,101,0,90,77,0,33,102,0,55,97,0,170,104,0,209, +77,0,17,94,0,52,79,0,233,91,0,233,71,0,158,102,0,212,74,0,84,96,0,13,71,0,132,98,0,24,75,0,172,84,0,12,62,0,217,86,0,241,66,0,219,79,0,90,66,0,194,78,0,171,73,0,110,77,0,235,69,0,141,70,0,177,72,0,134,80,0,105,87,0,204,75,0,142,77,0,5,72,0,98,71,0,15, +75,0,40,93,0,191,79,0,6,79,0,1,78,0,92,74,0,250,79,0,207,87,0,167,69,0,74,81,0,159,80,0,138,77,0,108,73,0,178,71,0,163,77,0,202,73,0,153,65,0,29,66,0,98,82,0,215,62,0,84,74,0,198,60,0,219,74,0,97,67,0,199,68,0,153,62,0,191,67,0,194,57,0,205,68,0,14,69, +0,0,67,0,140,57,0,228,58,0,157,59,0,25,60,0,64,56,0,123,60,0,181,62,0,23,69,0,108,67,0,58,67,0,50,61,0,123,62,0,232,61,0,73,55,0,12,60,0,195,58,0,83,67,0,190,62,0,167,68,0,28,57,0,214,60,0,89,59,0,59,66,0,121,63,0,129,70,0,121,65,0,60,69,0,8,52,0,43, +79,0,170,71,0,78,76,0,225,63,0,227,86,0,214,59,0,222,79,0,12,63,0,18,80,0,9,57,0,225,87,0,231,64,0,77,80,0,149,68,0,77,81,0,124,63,0,239,74,0,245,50,0,188,78,0,225,57,0,213,70,0,79,53,0,240,78,0,45,59,0,252,74,0,105,60,0,177,77,0,13,58,0,56,76,0,90,62, +0,59,68,0,174,50,0,64,64,0,144,51,0,228,76,0,147,42,0,165,57,0,17,55,0,141,71,0,105,67,0,219,60,0,241,51,0,140,53,0,132,60,0,209,58,0,237,45,0,107,49,0,121,56,0,95,57,0,63,46,0,205,52,0,239,52,0,136,49,0,94,49,0,83,49,0,65,53,0,68,50,0,165,40,0,186,45, +0,59,58,0,233,49,0,251,49,0,199,39,0,56,31,0,62,40,0,65,55,0,204,36,0,146,53,0,190,41,0,138,52,0,69,40,0,104,42,0,70,43,0,150,47,0,33,45,0,228,53,0,248,59,0,208,42,0,0,40,0,184,38,0,211,41,0,78,37,0,69,45,0,131,39,0,34,54,0,172,24,0,205,50,0,115,36,0, +229,56,0,97,28,0,22,43,0,240,28,0,76,50,0,213,14,0,74,41,0,184,16,0,14,46,0,3,16,0,205,55,0,9,9,0,6,46,0,24,10,0,193,42,0,254,253,255,191,33,0,74,0,0,4,40,0,107,13,0,201,48,0,91,7,0,251,36,0,66,253,255,2,35,0,104,1,0,101,41,0,171,249,255,77,34,0,7,6, +0,92,37,0,82,1,0,123,41,0,222,241,255,142,23,0,179,253,255,135,25,0,195,2,0,240,30,0,37,1,0,60,31,0,157,255,255,74,22,0,224,249,255,231,16,0,210,0,0,132,17,0,164,252,255,49,14,0,59,255,255,27,15,0,89,255,255,33,11,0,127,251,255,78,2,0,89,242,255,86,7, +0,157,251,255,11,4,0,224,248,255,71,3,0,96,244,255,100,255,255,171,243,255,169,9,0,254,235,255,131,6,0,21,244,255,93,12,0,44,240,255,101,7,0,240,243,255,191,15,0,209,223,255,56,4,0,52,239,255,244,1,0,22,232,255,11,10,0,22,225,255,25,1,0,112,218,255,251, +247,255,52,227,255,168,252,255,120,228,255,153,5,0,90,226,255,213,253,255,159,216,255,116,252,255,84,214,255,206,255,255,227,213,255,48,255,255,47,203,255,18,248,255,228,208,255,116,249,255,244,203,255,244,251,255,100,221,255,9,6,0,138,218,255,93,251, +255,109,209,255,199,251,255,49,211,255,48,248,255,64,214,255,131,249,255,27,212,255,185,243,255,87,212,255,64,247,255,157,203,255,88,234,255,254,209,255,253,242,255,255,205,255,239,232,255,0,202,255,171,237,255,30,204,255,16,225,255,38,203,255,232,237, +255,25,198,255,235,220,255,159,200,255,23,230,255,126,178,255,89,234,255,13,185,255,195,233,255,245,195,255,226,231,255,144,180,255,53,235,255,130,174,255,169,218,255,233,187,255,105,235,255,204,183,255,144,229,255,136,187,255,135,238,255,31,187,255, +88,247,255,41,181,255,217,240,255,236,184,255,250,233,255,136,194,255,159,235,255,217,174,255,152,233,255,18,189,255,97,242,255,170,185,255,224,246,255,20,185,255,24,235,255,222,191,255,173,239,255,22,182,255,42,226,255,231,190,255,71,231,255,227,179, +255,84,215,255,46,184,255,145,236,255,246,169,255,209,223,255,100,181,255,121,217,255,134,193,255,113,221,255,146,184,255,53,221,255,34,184,255,135,224,255,151,172,255,228,217,255,12,183,255,107,219,255,56,187,255,60,225,255,10,192,255,52,227,255,228, +174,255,186,229,255,86,172,255,34,234,255,226,182,255,46,241,255,49,173,255,175,239,255,199,176,255,6,231,255,4,177,255,59,230,255,43,175,255,192,235,255,99,168,255,226,229,255,13,176,255,161,222,255,84,172,255,8,228,255,90,175,255,206,223,255,157,179, +255,112,231,255,228,173,255,243,226,255,1,178,255,163,221,255,8,164,255,1,214,255,157,167,255,181,230,255,31,167,255,122,228,255,126,171,255,83,217,255,252,162,255,75,219,255,209,175,255,237,226,255,132,165,255,126,222,255,106,172,255,96,237,255,46,160, +255,52,221,255,178,167,255,214,229,255,96,166,255,223,251,255,13,169,255,176,242,255,212,176,255,167,244,255,146,175,255,175,245,255,117,173,255,85,244,255,105,182,255,154,255,255,161,176,255,115,1,0,113,182,255,76,3,0,146,203,255,118,7,0,80,189,255, +253,252,255,238,190,255,221,255,255,159,185,255,95,252,255,83,186,255,19,10,0,61,186,255,54,13,0,32,185,255,80,7,0,168,195,255,187,5,0,224,192,255,46,248,255,222,196,255,18,10,0,39,189,255,66,252,255,255,192,255,174,236,255,86,188,255,166,248,255,78, +199,255,158,3,0,95,198,255,210,3,0,198,190,255,10,237,255,193,208,255,121,248,255,111,198,255,7,240,255,111,198,255,61,248,255,21,209,255,171,251,255,226,206,255,220,246,255,146,213,255,95,253,255,206,204,255,54,248,255,138,204,255,126,5,0,213,205,255, +106,249,255,163,202,255,135,250,255,24,217,255,44,13,0,217,210,255,72,6,0,56,206,255,33,8,0,72,205,255,174,10,0,229,198,255,167,18,0,74,213,255,144,10,0,197,209,255,228,9,0,235,201,255,175,17,0,179,196,255,216,13,0,75,196,255,153,16,0,127,197,255,192, +6,0,52,197,255,195,11,0,97,198,255,37,4,0,237,193,255,224,252,255,167,180,255,56,255,255,248,190,255,124,246,255,52,192,255,196,241,255,22,184,255,126,229,255,44,185,255,70,225,255,122,183,255,74,236,255,233,185,255,217,221,255,157,171,255,25,210,255, +148,180,255,23,220,255,1,178,255,252,216,255,17,178,255,28,215,255,80,183,255,30,221,255,243,178,255,32,220,255,243,171,255,234,220,255,163,184,255,129,228,255,159,166,255,171,209,255,177,179,255,103,217,255,53,190,255,192,219,255,66,172,255,196,215, +255,6,179,255,55,214,255,152,183,255,151,223,255,143,185,255,189,216,255,132,182,255,124,227,255,44,174,255,244,227,255,56,177,255,108,215,255,91,173,255,55,223,255,177,177,255,29,232,255,240,175,255,179,232,255,9,174,255,225,218,255,41,173,255,115,223, +255,9,169,255,201,220,255,252,173,255,44,227,255,48,175,255,7,226,255,83,178,255,56,223,255,235,176,255,28,222,255,31,172,255,167,224,255,227,184,255,196,226,255,124,177,255,195,220,255,73,194,255,186,216,255,113,193,255,66,222,255,11,196,255,239,234, +255,214,184,255,142,222,255,120,182,255,24,226,255,94,185,255,60,228,255,197,181,255,140,230,255,220,193,255,134,235,255,126,197,255,106,228,255,14,191,255,13,236,255,244,181,255,14,223,255,85,195,255,147,237,255,48,189,255,74,224,255,169,183,255,122, +233,255,105,186,255,124,226,255,255,192,255,38,223,255,133,182,255,32,228,255,205,191,255,225,224,255,216,172,255,152,228,255,111,184,255,224,225,255,144,182,255,57,221,255,217,178,255,140,221,255,100,176,255,127,225,255,208,185,255,231,226,255,95,181, +255,141,226,255,157,174,255,104,221,255,229,177,255,92,219,255,76,174,255,239,215,255,25,174,255,229,217,255,67,170,255,169,218,255,37,171,255,181,220,255,187,161,255,199,223,255,221,180,255,239,222,255,238,168,255,174,220,255,25,171,255,31,221,255,65, +185,255,209,227,255,231,169,255,88,223,255,124,171,255,251,219,255,109,192,255,56,235,255,77,178,255,239,223,255,145,178,255,98,222,255,209,181,255,47,236,255,152,184,255,69,242,255,214,183,255,27,225,255,162,188,255,236,231,255,255,186,255,211,227,255, +86,199,255,174,227,255,66,188,255,75,214,255,31,187,255,159,218,255,42,195,255,145,227,255,82,179,255,152,213,255,7,184,255,219,228,255,191,177,255,4,222,255,49,201,255,168,218,255,31,184,255,163,221,255,216,181,255,233,229,255,68,185,255,142,225,255, +63,184,255,154,227,255,199,179,255,152,219,255,69,185,255,249,224,255,53,191,255,153,233,255,212,190,255,111,222,255,18,181,255,97,226,255,49,185,255,24,225,255,16,183,255,60,217,255,39,183,255,195,226,255,139,186,255,5,228,255,128,184,255,235,220,255, +234,179,255,228,211,255,79,187,255,62,230,255,59,190,255,1,222,255,219,189,255,161,220,255,152,180,255,251,216,255,83,194,255,212,213,255,36,183,255,174,213,255,47,177,255,77,222,255,137,190,255,237,229,255,76,191,255,252,229,255,197,186,255,150,219, +255,150,192,255,107,218,255,234,183,255,70,222,255,113,192,255,148,221,255,16,192,255,75,228,255,234,188,255,247,228,255,133,190,255,111,229,255,46,201,255,235,227,255,64,200,255,37,237,255,81,191,255,48,223,255,81,179,255,192,230,255,136,190,255,138, +227,255,95,192,255,84,224,255,43,184,255,38,225,255,152,174,255,251,215,255,18,178,255,234,220,255,252,173,255,86,216,255,210,172,255,48,208,255,233,176,255,105,210,255,89,177,255,101,212,255,63,168,255,242,201,255,154,175,255,173,202,255,13,171,255, +67,203,255,232,174,255,190,194,255,33,169,255,167,206,255,255,159,255,50,201,255,225,171,255,104,200,255,168,166,255,151,203,255,21,169,255,6,201,255,228,159,255,218,200,255,118,177,255,62,211,255,100,175,255,152,207,255,79,190,255,163,213,255,150,173, +255,232,212,255,45,185,255,73,225,255,71,187,255,238,221,255,170,201,255,108,226,255,215,194,255,240,224,255,243,202,255,31,224,255,202,208,255,188,235,255,25,207,255,174,238,255,118,209,255,164,243,255,59,209,255,90,239,255,64,214,255,138,241,255,0, +216,255,153,252,255,32,215,255,79,255,255,19,225,255,212,245,255,145,222,255,228,248,255,215,217,255,221,248,255,55,219,255,215,2,0,71,208,255,197,249,255,212,219,255,131,245,255,136,223,255,175,10,0,223,218,255,68,236,255,46,210,255,142,243,255,251, +212,255,223,237,255,5,205,255,201,230,255,175,206,255,48,232,255,254,201,255,105,233,255,21,205,255,102,224,255,48,200,255,63,222,255,168,193,255,140,221,255,135,201,255,72,221,255,173,194,255,220,222,255,87,193,255,229,218,255,87,200,255,93,219,255, +6,196,255,28,228,255,102,190,255,2,223,255,202,199,255,74,231,255,19,191,255,209,224,255,128,196,255,16,227,255,166,196,255,153,226,255,241,186,255,10,230,255,173,190,255,128,211,255,136,190,255,158,224,255,216,181,255,175,220,255,198,196,255,160,217, +255,82,201,255,181,221,255,73,205,255,174,227,255,2,207,255,239,219,255,139,209,255,139,220,255,198,187,255,196,215,255,204,201,255,46,228,255,74,199,255,66,220,255,20,203,255,186,226,255,232,202,255,85,228,255,98,208,255,148,217,255,205,198,255,241, +222,255,213,198,255,251,224,255,239,212,255,210,232,255,28,216,255,118,242,255,186,222,255,42,249,255,166,218,255,226,238,255,202,234,255,223,251,255,135,240,255,7,248,255,135,222,255,13,11,0,88,247,255,134,16,0,242,242,255,117,14,0,28,250,255,107,9, +0,44,244,255,67,10,0,227,251,255,57,2,0,46,246,255,184,8,0,61,249,255,114,9,0,255,246,255,35,2,0,150,255,255,91,6,0,168,254,255,77,3,0,124,251,255,124,11,0,1,2,0,46,9,0,161,239,255,134,1,0,101,248,255,0,7,0,25,243,255,228,11,0,30,244,255,195,9,0,24,249, +255,66,10,0,69,252,255,219,17,0,5,248,255,238,27,0,241,252,255,225,15,0,88,242,255,251,25,0,178,236,255,4,42,0,50,242,255,48,28,0,241,246,255,196,34,0,113,241,255,227,45,0,33,1,0,73,44,0,169,248,255,2,34,0,160,1,0,161,50,0,115,1,0,179,54,0,119,247,255, +43,49,0,247,16,0,119,51,0,31,255,255,23,59,0,179,16,0,181,61,0,158,24,0,143,64,0,137,18,0,98,64,0,204,18,0,206,57,0,90,27,0,217,69,0,151,18,0,156,53,0,46,32,0,179,69,0,172,32,0,93,65,0,20,41,0,119,69,0,239,48,0,184,72,0,221,38,0,135,68,0,159,47,0,131, +72,0,214,43,0,25,75,0,141,45,0,136,67,0,16,47,0,217,70,0,208,53,0,218,80,0,229,64,0,242,87,0,232,55,0,70,82,0,6,69,0,42,86,0,162,66,0,251,91,0,63,64,0,76,87,0,34,61,0,1,74,0,225,67,0,70,81,0,96,73,0,125,82,0,190,66,0,197,80,0,168,71,0,147,82,0,253,77, +0,222,84,0,127,69,0,77,80,0,183,78,0,93,82,0,184,67,0,176,84,0,141,79,0,222,78,0,90,76,0,168,71,0,3,65,0,35,73,0,115,62,0,28,83,0,192,71,0,248,71,0,203,62,0,0,69,0,1,65,0,250,75,0,105,65,0,252,74,0,49,61,0,240,68,0,192,50,0,164,76,0,254,52,0,40,75,0, +73,55,0,94,79,0,205,53,0,31,75,0,56,68,0,136,87,0,82,54,0,98,82,0,65,57,0,231,87,0,220,62,0,3,91,0,83,63,0,122,86,0,169,69,0,23,91,0,248,67,0,74,89,0,49,69,0,183,97,0,48,79,0,232,95,0,103,68,0,53,83,0,172,72,0,79,96,0,73,63,0,174,77,0,99,76,0,28,81,0, +189,71,0,159,72,0,127,76,0,45,80,0,149,64,0,126,68,0,160,70,0,22,75,0,213,53,0,236,61,0,112,78,0,200,63,0,49,55,0,57,56,0,39,51,0,160,42,0,193,47,0,241,47,0,225,46,0,27,44,0,223,49,0,60,38,0,25,34,0,206,32,0,238,44,0,120,26,0,174,36,0,208,10,0,126,44, +0,126,31,0,216,39,0,91,28,0,171,39,0,196,21,0,128,27,0,61,12,0,253,41,0,243,20,0,20,37,0,200,17,0,127,27,0,14,15,0,255,24,0,31,21,0,68,29,0,118,8,0,208,27,0,84,7,0,79,30,0,49,13,0,147,32,0,7,19,0,145,21,0,117,6,0,56,30,0,68,14,0,222,27,0,252,10,0,194, +22,0,28,15,0,81,29,0,170,10,0,9,26,0,35,17,0,132,27,0,160,24,0,115,32,0,196,22,0,145,14,0,180,27,0,158,30,0,23,36,0,97,24,0,105,25,0,251,31,0,129,31,0,28,31,0,167,26,0,245,35,0,221,32,0,196,32,0,123,37,0,86,29,0,22,40,0,138,16,0,144,24,0,228,33,0,74, +25,0,122,38,0,60,18,0,111,26,0,32,13,0,126,17,0,138,8,0,182,18,0,64,6,0,176,24,0,170,16,0,134,19,0,223,5,0,86,20,0,96,5,0,224,10,0,155,3,0,79,11,0,60,250,255,157,12,0,235,249,255,49,5,0,50,255,255,14,0,0,141,242,255,22,4,0,234,243,255,68,10,0,141,242, +255,224,249,255,181,235,255,47,255,255,203,237,255,252,4,0,151,239,255,176,248,255,5,228,255,132,254,255,2,227,255,169,250,255,20,230,255,149,243,255,183,218,255,174,240,255,117,226,255,249,240,255,93,214,255,31,247,255,1,217,255,109,250,255,59,209,255, +205,242,255,164,207,255,68,249,255,102,214,255,212,234,255,45,201,255,45,229,255,50,212,255,8,235,255,189,225,255,242,230,255,17,205,255,176,234,255,65,206,255,8,229,255,143,199,255,143,237,255,14,202,255,19,222,255,215,212,255,76,229,255,245,200,255, +27,218,255,186,202,255,250,214,255,224,212,255,57,214,255,205,203,255,102,210,255,184,199,255,147,216,255,187,202,255,106,209,255,166,206,255,62,207,255,222,195,255,237,200,255,170,203,255,115,203,255,189,202,255,89,216,255,148,199,255,119,212,255,183, +196,255,182,213,255,157,213,255,75,218,255,246,209,255,68,226,255,34,218,255,209,214,255,173,211,255,173,210,255,146,218,255,147,219,255,254,219,255,222,213,255,212,230,255,218,218,255,172,225,255,23,236,255,75,233,255,248,218,255,36,222,255,127,236, +255,75,237,255,70,226,255,109,230,255,192,225,255,132,226,255,217,236,255,135,239,255,51,227,255,170,228,255,233,228,255,151,233,255,83,244,255,67,224,255,243,239,255,52,228,255,222,235,255,100,229,255,10,232,255,157,224,255,24,242,255,58,217,255,5,226, +255,150,203,255,167,234,255,189,212,255,19,232,255,79,206,255,237,235,255,252,198,255,189,236,255,50,191,255,59,224,255,162,193,255,198,228,255,107,192,255,200,224,255,131,188,255,35,232,255,83,187,255,40,225,255,96,182,255,238,222,255,89,182,255,203, +227,255,71,183,255,154,219,255,41,174,255,176,221,255,48,178,255,24,211,255,22,166,255,50,197,255,49,176,255,89,204,255,155,170,255,182,205,255,54,175,255,221,199,255,38,172,255,85,200,255,110,169,255,130,198,255,186,163,255,153,196,255,93,168,255,73, +194,255,233,170,255,6,187,255,191,157,255,131,189,255,158,169,255,185,185,255,24,151,255,142,183,255,247,160,255,74,187,255,205,156,255,4,186,255,204,142,255,153,186,255,206,165,255,158,187,255,217,159,255,145,181,255,1,165,255,243,188,255,195,161,255, +131,192,255,70,170,255,247,189,255,142,167,255,144,189,255,36,173,255,79,194,255,141,173,255,143,202,255,176,179,255,145,189,255,94,156,255,102,205,255,185,154,255,228,198,255,8,163,255,135,199,255,93,178,255,90,208,255,29,174,255,52,210,255,74,174,255, +219,197,255,134,181,255,156,205,255,75,167,255,52,191,255,79,175,255,50,204,255,73,180,255,85,213,255,172,176,255,220,211,255,86,172,255,243,197,255,130,169,255,67,209,255,21,177,255,38,202,255,216,163,255,102,201,255,127,170,255,219,191,255,248,161, +255,133,192,255,52,155,255,95,196,255,190,154,255,143,190,255,61,143,255,210,202,255,6,144,255,144,185,255,133,137,255,228,181,255,247,140,255,107,180,255,35,143,255,135,184,255,235,133,255,116,168,255,193,119,255,61,179,255,99,127,255,170,183,255,185, +133,255,203,179,255,159,129,255,221,175,255,119,130,255,225,176,255,112,147,255,166,193,255,130,143,255,212,179,255,111,139,255,246,185,255,170,141,255,141,192,255,203,142,255,7,184,255,126,148,255,160,193,255,195,156,255,163,189,255,129,156,255,109, +188,255,211,161,255,168,200,255,98,165,255,125,193,255,165,165,255,226,207,255,187,170,255,28,205,255,45,182,255,5,220,255,8,174,255,225,209,255,14,171,255,24,193,255,216,166,255,55,209,255,111,173,255,55,206,255,7,170,255,69,211,255,29,170,255,199,194, +255,50,164,255,79,209,255,241,166,255,196,206,255,60,175,255,3,213,255,48,176,255,122,216,255,76,175,255,121,205,255,166,170,255,245,212,255,42,173,255,33,213,255,99,164,255,187,215,255,18,177,255,34,208,255,144,177,255,235,224,255,98,179,255,116,205, +255,21,167,255,216,217,255,222,178,255,192,219,255,194,173,255,71,223,255,146,174,255,32,225,255,250,174,255,43,213,255,165,178,255,116,204,255,174,170,255,32,214,255,74,174,255,136,198,255,15,168,255,96,199,255,136,161,255,229,188,255,96,165,255,72, +193,255,223,168,255,233,200,255,88,167,255,108,192,255,242,158,255,212,195,255,93,163,255,233,183,255,90,153,255,102,192,255,88,155,255,48,180,255,233,151,255,110,175,255,139,129,255,153,177,255,236,143,255,64,185,255,10,141,255,65,180,255,189,130,255, +73,183,255,37,131,255,194,175,255,6,130,255,235,185,255,66,147,255,83,186,255,202,145,255,41,181,255,144,142,255,220,181,255,179,144,255,174,189,255,84,144,255,218,180,255,55,147,255,194,185,255,111,151,255,117,198,255,129,158,255,183,186,255,45,142, +255,218,188,255,27,155,255,36,195,255,208,159,255,131,194,255,88,155,255,5,185,255,53,147,255,68,198,255,247,156,255,31,204,255,50,157,255,41,196,255,174,147,255,67,200,255,54,146,255,252,197,255,240,143,255,240,198,255,169,144,255,98,194,255,190,149, +255,81,190,255,161,149,255,74,187,255,193,150,255,160,198,255,234,151,255,57,198,255,141,149,255,196,200,255,21,151,255,84,206,255,160,159,255,105,202,255,67,148,255,90,208,255,234,171,255,197,191,255,253,157,255,163,198,255,213,171,255,53,195,255,216, +172,255,136,205,255,167,173,255,26,202,255,115,185,255,135,207,255,239,178,255,226,202,255,49,191,255,118,206,255,176,182,255,238,219,255,157,186,255,42,224,255,134,192,255,98,232,255,205,194,255,56,223,255,9,195,255,30,218,255,60,182,255,15,218,255, +248,183,255,232,229,255,221,197,255,34,223,255,37,190,255,184,224,255,219,186,255,110,217,255,161,173,255,217,235,255,220,186,255,35,233,255,28,179,255,198,220,255,88,176,255,216,221,255,130,178,255,242,226,255,243,172,255,239,218,255,18,173,255,150, +221,255,132,178,255,34,215,255,174,173,255,137,205,255,32,172,255,253,217,255,140,174,255,138,215,255,6,170,255,206,209,255,58,170,255,90,213,255,126,160,255,6,208,255,120,164,255,153,211,255,227,165,255,94,218,255,94,168,255,12,214,255,120,173,255,84, +220,255,31,176,255,139,225,255,200,179,255,38,229,255,111,175,255,29,225,255,184,192,255,64,231,255,71,187,255,237,222,255,2,182,255,111,239,255,91,189,255,232,230,255,170,191,255,248,234,255,138,190,255,153,234,255,14,194,255,26,226,255,136,192,255, +54,236,255,165,195,255,140,224,255,30,194,255,226,241,255,46,198,255,96,242,255,193,194,255,239,236,255,150,194,255,34,237,255,34,188,255,227,245,255,153,195,255,131,241,255,0,185,255,36,249,255,97,200,255,5,233,255,48,186,255,119,246,255,202,193,255, +189,244,255,30,195,255,65,241,255,171,192,255,19,251,255,73,190,255,116,248,255,133,191,255,202,254,255,3,199,255,120,246,255,5,204,255,146,244,255,41,192,255,69,254,255,110,193,255,172,6,0,243,216,255,218,3,0,110,208,255,150,2,0,220,211,255,72,252,255, +129,210,255,106,6,0,51,207,255,242,0,0,125,219,255,233,247,255,228,219,255,23,1,0,206,223,255,235,0,0,26,225,255,192,253,255,238,204,255,192,253,255,251,215,255,65,4,0,56,225,255,84,250,255,148,219,255,106,2,0,103,222,255,203,255,255,127,211,255,4,255, +255,126,214,255,168,0,0,99,207,255,94,12,0,10,215,255,130,247,255,182,212,255,251,253,255,41,207,255,197,251,255,88,196,255,150,250,255,86,203,255,31,253,255,10,197,255,129,255,255,142,201,255,215,249,255,223,205,255,240,255,255,149,196,255,248,251,255, +238,196,255,163,253,255,127,195,255,240,246,255,178,199,255,233,255,255,226,188,255,48,246,255,112,186,255,79,247,255,253,186,255,214,1,0,99,195,255,60,231,255,98,181,255,204,251,255,16,198,255,190,247,255,175,196,255,201,249,255,248,190,255,176,247, +255,193,188,255,115,237,255,219,195,255,14,247,255,120,206,255,187,254,255,148,196,255,34,241,255,157,187,255,86,237,255,154,190,255,209,245,255,97,186,255,20,246,255,55,201,255,182,232,255,124,193,255,101,237,255,119,185,255,140,238,255,156,194,255, +79,246,255,70,200,255,30,233,255,90,194,255,220,242,255,165,199,255,157,234,255,15,192,255,63,240,255,50,205,255,132,242,255,9,217,255,81,247,255,195,218,255,22,247,255,47,212,255,59,247,255,61,226,255,170,6,0,231,217,255,125,6,0,177,215,255,37,1,0,146, +219,255,203,4,0,100,232,255,15,6,0,59,224,255,22,16,0,228,224,255,19,255,255,172,226,255,65,5,0,49,232,255,14,0,0,85,221,255,10,8,0,172,230,255,154,6,0,156,214,255,246,19,0,1,229,255,102,11,0,93,226,255,39,8,0,186,219,255,115,4,0,87,216,255,170,12,0, +194,219,255,25,8,0,99,219,255,203,4,0,58,232,255,192,7,0,189,231,255,17,8,0,220,216,255,65,11,0,68,217,255,246,254,255,128,212,255,157,8,0,89,227,255,203,254,255,141,211,255,119,13,0,78,218,255,90,8,0,194,222,255,51,18,0,14,225,255,127,253,255,204,218, +255,156,8,0,7,219,255,168,6,0,214,220,255,128,15,0,189,229,255,186,3,0,171,220,255,238,3,0,118,225,255,234,6,0,209,233,255,45,252,255,51,224,255,11,10,0,49,234,255,239,10,0,125,242,255,114,4,0,29,230,255,191,7,0,180,233,255,200,2,0,150,226,255,252,252, +255,249,235,255,54,3,0,63,245,255,201,3,0,13,240,255,223,253,255,106,244,255,72,6,0,156,243,255,13,6,0,75,236,255,92,11,0,231,244,255,36,0,0,158,237,255,148,252,255,238,237,255,151,5,0,116,233,255,71,255,255,201,237,255,5,6,0,147,247,255,250,8,0,66,227, +255,24,16,0,172,236,255,24,10,0,241,232,255,113,4,0,57,238,255,254,12,0,113,249,255,86,6,0,203,238,255,73,21,0,69,242,255,217,5,0,148,240,255,70,12,0,49,244,255,50,7,0,152,237,255,63,5,0,132,239,255,55,12,0,175,245,255,106,253,255,112,248,255,168,1,0, +109,252,255,88,15,0,175,252,255,109,7,0,160,244,255,138,15,0,24,248,255,45,2,0,222,240,255,33,12,0,3,241,255,82,17,0,114,250,255,154,9,0,111,255,255,62,13,0,123,244,255,186,12,0,95,237,255,71,6,0,196,235,255,151,253,255,37,230,255,36,0,0,186,240,255, +94,7,0,145,235,255,244,3,0,7,244,255,144,254,255,217,233,255,18,5,0,202,241,255,10,4,0,20,243,255,239,6,0,92,241,255,162,2,0,109,243,255,65,248,255,11,240,255,76,4,0,182,243,255,231,253,255,192,246,255,60,3,0,201,247,255,6,7,0,28,251,255,250,248,255, +240,250,255,176,1,0,198,253,255,2,4,0,45,254,255,134,13,0,58,5,0,215,14,0,199,17,0,178,3,0,105,9,0,45,12,0,152,23,0,218,27,0,94,23,0,100,18,0,235,26,0,235,21,0,34,22,0,168,20,0,132,26,0,101,39,0,111,37,0,109,20,0,140,28,0,22,32,0,235,28,0,178,46,0,157, +41,0,49,40,0,147,39,0,164,48,0,45,39,0,26,60,0,188,46,0,27,63,0,3,54,0,52,67,0,137,47,0,29,67,0,79,59,0,29,68,0,68,55,0,242,69,0,153,62,0,32,62,0,90,67,0,97,73,0,114,71,0,77,76,0,110,77,0,213,83,0,74,79,0,12,80,0,62,72,0,137,82,0,221,82,0,231,81,0,155, +94,0,119,91,0,140,96,0,94,87,0,224,102,0,193,82,0,150,114,0,6,77,0,87,97,0,69,72,0,77,105,0,30,81,0,126,102,0,210,91,0,39,119,0,202,90,0,73,103,0,72,95,0,222,109,0,149,90,0,163,110,0,212,85,0,244,97,0,76,93,0,254,104,0,226,100,0,186,101,0,24,95,0,177, +99,0,236,94,0,46,104,0,194,86,0,13,98,0,137,90,0,103,104,0,38,97,0,224,97,0,18,88,0,178,94,0,138,81,0,115,103,0,127,91,0,152,104,0,55,94,0,236,113,0,225,82,0,26,106,0,140,90,0,166,109,0,88,89,0,183,116,0,236,95,0,21,117,0,235,93,0,201,110,0,2,100,0,127, +112,0,244,102,0,117,126,0,184,103,0,160,126,0,136,113,0,204,126,0,129,115,0,227,134,0,68,110,0,254,130,0,180,119,0,201,128,0,180,123,0,58,119,0,98,120,0,88,124,0,84,124,0,21,123,0,10,124,0,41,121,0,35,114,0,97,116,0,25,108,0,109,108,0,172,114,0,134,123, +0,111,108,0,144,108,0,188,101,0,186,104,0,173,101,0,177,100,0,43,109,0,169,101,0,73,90,0,85,93,0,217,81,0,195,95,0,218,89,0,200,89,0,191,71,0,206,87,0,1,75,0,101,78,0,13,92,0,116,83,0,21,68,0,27,77,0,191,75,0,114,80,0,246,61,0,200,69,0,35,69,0,107,85, +0,179,64,0,156,77,0,69,65,0,185,79,0,164,67,0,17,84,0,153,49,0,235,77,0,31,63,0,104,83,0,199,63,0,198,82,0,103,60,0,190,85,0,132,62,0,131,81,0,95,64,0,226,88,0,168,69,0,108,82,0,241,65,0,174,86,0,160,71,0,202,90,0,14,79,0,253,95,0,138,77,0,193,85,0,248, +81,0,221,79,0,239,80,0,243,85,0,92,76,0,242,81,0,4,81,0,198,82,0,127,74,0,160,74,0,222,68,0,188,74,0,103,59,0,159,68,0,163,75,0,12,70,0,147,60,0,84,62,0,44,59,0,62,54,0,153,59,0,61,61,0,123,60,0,75,59,0,247,53,0,200,58,0,218,40,0,90,50,0,115,58,0,169, +55,0,20,42,0,199,41,0,231,48,0,0,54,0,34,39,0,242,42,0,238,44,0,95,55,0,77,40,0,124,52,0,238,38,0,109,43,0,127,39,0,240,49,0,32,39,0,5,58,0,157,30,0,78,62,0,157,31,0,26,54,0,171,37,0,32,66,0,98,29,0,105,60,0,185,30,0,119,65,0,199,31,0,83,63,0,186,22, +0,207,55,0,156,27,0,236,56,0,170,27,0,46,53,0,33,17,0,134,47,0,141,22,0,8,56,0,75,27,0,1,55,0,135,16,0,8,49,0,55,16,0,155,45,0,105,20,0,249,49,0,173,6,0,142,32,0,84,13,0,201,30,0,195,7,0,151,24,0,210,8,0,120,33,0,124,254,255,218,15,0,195,3,0,194,26,0, +16,245,255,93,20,0,65,0,0,143,23,0,29,253,255,64,17,0,9,245,255,196,15,0,230,9,0,237,26,0,31,247,255,155,5,0,64,3,0,222,24,0,50,0,0,143,20,0,48,6,0,251,23,0,223,8,0,148,24,0,97,15,0,14,33,0,124,253,255,206,25,0,180,5,0,111,25,0,119,12,0,44,28,0,224,3, +0,9,23,0,151,4,0,162,25,0,85,5,0,151,34,0,30,14,0,0,27,0,143,7,0,204,27,0,5,3,0,239,32,0,233,255,255,33,35,0,202,2,0,232,30,0,206,250,255,81,41,0,6,255,255,197,42,0,3,247,255,233,42,0,115,2,0,61,50,0,50,1,0,129,44,0,58,254,255,48,46,0,126,250,255,29, +38,0,4,244,255,66,37,0,71,243,255,105,31,0,240,240,255,82,33,0,111,250,255,116,37,0,197,239,255,158,40,0,54,248,255,184,31,0,116,240,255,47,43,0,184,251,255,58,34,0,191,237,255,123,20,0,43,242,255,241,32,0,5,245,255,212,18,0,6,242,255,175,19,0,231,246, +255,79,32,0,124,241,255,157,25,0,43,242,255,205,16,0,196,244,255,169,28,0,94,242,255,137,33,0,226,242,255,221,13,0,24,251,255,210,19,0,93,245,255,150,22,0,241,253,255,190,27,0,4,3,0,105,35,0,74,252,255,179,32,0,203,0,0,130,29,0,113,249,255,228,35,0,132, +254,255,209,42,0,81,8,0,224,41,0,100,1,0,12,52,0,195,2,0,152,39,0,247,0,0,227,45,0,77,249,255,181,49,0,102,10,0,129,60,0,0,254,255,206,43,0,227,253,255,152,67,0,205,253,255,152,56,0,169,252,255,138,65,0,250,6,0,235,71,0,80,255,255,71,66,0,25,4,0,80,73, +0,89,253,255,3,68,0,138,245,255,32,77,0,178,5,0,150,84,0,206,6,0,123,81,0,123,9,0,19,81,0,144,1,0,61,92,0,124,8,0,192,82,0,158,19,0,119,91,0,249,15,0,53,91,0,66,25,0,252,97,0,234,15,0,227,91,0,8,33,0,217,102,0,115,26,0,235,97,0,166,26,0,212,88,0,174, +34,0,27,91,0,43,42,0,171,101,0,122,27,0,205,86,0,193,44,0,41,106,0,150,35,0,185,82,0,104,38,0,126,91,0,122,34,0,96,75,0,87,40,0,175,75,0,203,48,0,202,85,0,251,35,0,14,82,0,221,36,0,194,69,0,248,37,0,179,53,0,78,40,0,111,71,0,186,26,0,185,69,0,108,23, +0,3,60,0,40,18,0,122,65,0,54,19,0,3,74,0,113,17,0,224,71,0,239,16,0,130,63,0,74,12,0,141,66,0,191,19,0,206,66,0,84,17,0,247,68,0,103,12,0,115,75,0,170,18,0,47,70,0,0,20,0,201,83,0,254,14,0,210,73,0,194,15,0,153,79,0,109,26,0,9,90,0,100,21,0,11,81,0,141, +10,0,203,78,0,198,18,0,172,86,0,22,26,0,223,86,0,92,15,0,97,87,0,109,19,0,126,86,0,195,20,0,33,84,0,161,11,0,80,74,0,35,20,0,254,74,0,167,13,0,251,70,0,7,12,0,157,69,0,220,10,0,31,58,0,14,6,0,72,47,0,104,10,0,200,56,0,14,6,0,96,51,0,102,255,255,93,41, +0,63,1,0,199,43,0,84,246,255,132,32,0,45,248,255,189,21,0,129,245,255,17,18,0,190,249,255,148,12,0,116,232,255,117,7,0,202,239,255,67,1,0,248,231,255,160,8,0,90,235,255,86,9,0,244,229,255,115,3,0,220,236,255,40,5,0,5,223,255,218,2,0,19,223,255,6,14,0, +24,236,255,151,3,0,211,221,255,104,6,0,158,223,255,78,20,0,106,224,255,231,9,0,211,222,255,157,10,0,50,223,255,213,6,0,42,218,255,7,8,0,243,220,255,172,15,0,5,224,255,173,14,0,70,203,255,28,3,0,48,198,255,68,11,0,211,207,255,112,5,0,50,213,255,141,21, +0,185,216,255,8,17,0,163,201,255,102,12,0,76,201,255,204,12,0,30,213,255,88,17,0,103,208,255,10,10,0,48,211,255,123,12,0,125,208,255,143,9,0,80,209,255,62,9,0,146,204,255,138,2,0,96,209,255,87,2,0,85,212,255,107,8,0,191,204,255,174,7,0,78,217,255,53, +10,0,163,214,255,14,2,0,191,210,255,245,3,0,56,208,255,250,251,255,15,211,255,238,244,255,98,209,255,247,253,255,174,212,255,142,250,255,106,214,255,189,243,255,24,211,255,76,246,255,214,201,255,180,240,255,192,211,255,219,243,255,81,212,255,124,243, +255,99,206,255,184,247,255,56,210,255,40,4,0,111,212,255,167,244,255,85,197,255,112,237,255,210,196,255,90,233,255,198,195,255,210,240,255,191,204,255,233,244,255,171,199,255,194,236,255,90,181,255,160,235,255,19,199,255,86,245,255,151,185,255,35,245, +255,10,191,255,47,242,255,216,199,255,164,246,255,108,194,255,145,240,255,83,201,255,176,252,255,77,187,255,136,246,255,124,190,255,182,244,255,248,199,255,128,246,255,78,196,255,121,242,255,59,195,255,249,252,255,166,192,255,19,242,255,3,190,255,133, +0,0,214,194,255,72,241,255,189,196,255,43,245,255,98,195,255,5,242,255,154,196,255,138,241,255,207,187,255,63,234,255,199,200,255,227,244,255,161,201,255,46,235,255,187,191,255,103,240,255,224,195,255,129,234,255,33,196,255,40,227,255,156,205,255,15, +233,255,152,203,255,55,235,255,196,191,255,214,231,255,208,193,255,32,228,255,132,191,255,106,231,255,201,205,255,66,233,255,234,191,255,3,236,255,133,211,255,190,237,255,231,193,255,163,224,255,63,202,255,101,242,255,212,200,255,15,234,255,60,208,255, +111,233,255,1,197,255,215,243,255,210,198,255,100,235,255,198,201,255,167,234,255,152,206,255,136,243,255,228,193,255,253,235,255,51,195,255,63,243,255,200,208,255,160,242,255,252,204,255,139,253,255,45,206,255,29,246,255,50,215,255,92,255,255,232,211, +255,70,251,255,72,204,255,78,251,255,124,218,255,149,3,0,71,212,255,33,255,255,161,211,255,117,8,0,43,205,255,35,9,0,160,219,255,127,14,0,28,209,255,92,6,0,238,202,255,174,12,0,185,218,255,171,21,0,169,204,255,137,9,0,167,195,255,74,4,0,221,218,255,182, +22,0,126,194,255,121,9,0,36,210,255,185,10,0,210,196,255,32,249,255,44,206,255,153,250,255,208,201,255,252,2,0,203,193,255,111,239,255,245,197,255,189,243,255,241,196,255,211,250,255,30,200,255,213,242,255,43,201,255,22,233,255,13,198,255,130,227,255, +29,198,255,170,232,255,221,210,255,218,237,255,238,202,255,186,235,255,145,205,255,54,242,255,148,207,255,131,237,255,182,205,255,172,248,255,6,216,255,196,1,0,202,236,255,84,255,255,92,220,255,217,251,255,5,227,255,168,4,0,110,232,255,254,11,0,102,229, +255,120,16,0,206,241,255,201,15,0,133,235,255,77,12,0,106,247,255,83,16,0,156,241,255,59,17,0,57,243,255,139,23,0,232,249,255,85,15,0,16,239,255,37,4,0,253,240,255,123,20,0,234,242,255,212,13,0,11,238,255,242,6,0,36,246,255,142,255,255,177,232,255,171, +246,255,221,229,255,201,242,255,221,232,255,141,243,255,172,222,255,199,246,255,81,227,255,42,242,255,91,220,255,34,233,255,61,211,255,206,231,255,230,204,255,143,233,255,91,214,255,253,242,255,195,198,255,93,227,255,93,204,255,88,232,255,171,205,255, +67,226,255,36,219,255,186,234,255,221,206,255,144,227,255,112,206,255,45,235,255,47,221,255,126,244,255,214,200,255,78,234,255,99,203,255,82,232,255,176,228,255,153,242,255,150,224,255,155,238,255,61,219,255,145,245,255,184,216,255,153,242,255,148,222, +255,187,228,255,224,218,255,78,237,255,155,222,255,1,242,255,225,229,255,216,240,255,127,219,255,31,236,255,193,222,255,13,240,255,212,220,255,92,229,255,86,224,255,135,235,255,100,213,255,124,231,255,8,218,255,234,233,255,127,220,255,48,241,255,146, +218,255,131,237,255,7,216,255,248,228,255,141,209,255,173,229,255,244,206,255,60,225,255,189,202,255,157,227,255,120,209,255,108,218,255,162,210,255,125,220,255,229,204,255,81,226,255,236,204,255,19,219,255,213,199,255,110,204,255,29,195,255,64,213,255, +240,203,255,193,211,255,247,203,255,11,195,255,171,210,255,81,221,255,213,208,255,101,208,255,125,203,255,235,215,255,161,209,255,218,213,255,244,205,255,78,206,255,208,205,255,55,204,255,204,212,255,183,213,255,29,210,255,82,216,255,127,206,255,217, +206,255,38,207,255,240,195,255,199,201,255,234,208,255,91,206,255,17,216,255,162,207,255,210,204,255,153,205,255,55,200,255,111,205,255,248,201,255,63,209,255,182,204,255,24,205,255,136,205,255,93,209,255,125,204,255,77,207,255,79,205,255,90,200,255, +157,211,255,200,210,255,58,200,255,254,209,255,118,207,255,182,196,255,172,201,255,83,203,255,202,203,255,172,210,255,167,213,255,229,208,255,123,211,255,105,216,255,237,204,255,177,224,255,170,197,255,115,223,255,55,217,255,43,223,255,134,210,255,23, +220,255,26,215,255,178,229,255,207,215,255,35,221,255,112,213,255,220,227,255,173,222,255,226,230,255,143,230,255,152,231,255,233,219,255,72,241,255,196,227,255,251,224,255,140,214,255,107,229,255,142,228,255,217,248,255,136,235,255,87,236,255,130,225, +255,150,239,255,35,235,255,243,242,255,75,239,255,81,243,255,99,231,255,255,245,255,80,230,255,211,248,255,54,224,255,75,243,255,19,224,255,87,246,255,73,230,255,74,236,255,89,227,255,164,237,255,78,219,255,196,241,255,0,221,255,132,236,255,203,216,255, +221,235,255,204,211,255,135,242,255,205,218,255,11,238,255,190,223,255,123,227,255,162,211,255,170,226,255,150,210,255,96,222,255,228,225,255,243,233,255,143,208,255,116,225,255,251,208,255,85,235,255,18,223,255,151,228,255,27,213,255,13,219,255,233, +205,255,5,224,255,106,218,255,251,231,255,217,215,255,56,224,255,14,211,255,92,231,255,250,214,255,249,220,255,25,210,255,0,228,255,236,221,255,147,223,255,206,219,255,200,236,255,7,227,255,147,223,255,26,219,255,25,232,255,252,230,255,159,233,255,237, +221,255,199,225,255,158,223,255,52,235,255,24,229,255,31,237,255,149,235,255,30,242,255,135,226,255,230,247,255,238,241,255,78,245,255,101,232,255,29,249,255,62,242,255,79,249,255,17,227,255,170,252,255,250,233,255,119,250,255,149,233,255,139,244,255, +158,246,255,7,249,255,187,235,255,245,0,0,65,226,255,242,3,0,140,236,255,155,3,0,10,223,255,105,246,255,154,221,255,230,245,255,30,226,255,124,251,255,176,232,255,153,251,255,97,221,255,97,246,255,106,225,255,234,1,0,55,223,255,224,249,255,174,222,255, +184,246,255,54,219,255,226,253,255,221,219,255,168,240,255,54,211,255,44,247,255,76,230,255,142,250,255,114,219,255,252,2,0,1,214,255,65,2,0,233,220,255,41,11,0,44,231,255,215,252,255,217,227,255,1,12,0,73,244,255,30,14,0,179,234,255,74,16,0,2,235,255, +141,11,0,202,242,255,222,23,0,26,245,255,127,11,0,177,245,255,242,11,0,196,244,255,250,17,0,189,246,255,65,35,0,105,10,0,59,26,0,169,10,0,137,45,0,76,12,0,78,35,0,238,13,0,100,39,0,185,28,0,8,24,0,206,16,0,91,31,0,106,28,0,41,41,0,224,23,0,55,33,0,90, +20,0,164,39,0,83,16,0,152,40,0,199,22,0,228,49,0,220,28,0,209,38,0,154,20,0,198,41,0,155,24,0,169,37,0,161,6,0,10,45,0,230,25,0,20,26,0,201,1,0,121,46,0,42,15,0,179,28,0,219,14,0,164,50,0,179,11,0,174,33,0,164,7,0,178,30,0,128,15,0,27,32,0,88,12,0,87, +39,0,175,10,0,159,37,0,143,255,255,166,33,0,215,3,0,3,36,0,35,5,0,235,28,0,248,246,255,115,35,0,234,242,255,86,31,0,127,242,255,139,32,0,150,232,255,243,47,0,151,245,255,126,28,0,4,242,255,224,44,0,169,252,255,213,43,0,165,251,255,151,40,0,119,250,255, +238,42,0,13,5,0,112,37,0,28,255,255,113,31,0,114,1,0,222,25,0,142,3,0,205,39,0,248,15,0,59,26,0,65,16,0,110,39,0,190,21,0,179,38,0,125,19,0,14,49,0,152,23,0,145,43,0,147,28,0,242,57,0,45,32,0,242,55,0,219,30,0,176,44,0,11,37,0,152,52,0,44,36,0,139,42, +0,177,24,0,110,57,0,132,41,0,235,58,0,235,20,0,105,58,0,73,17,0,220,47,0,251,12,0,5,52,0,236,14,0,4,54,0,244,10,0,43,55,0,72,8,0,9,47,0,50,10,0,174,47,0,252,251,255,186,46,0,33,250,255,244,44,0,249,252,255,186,42,0,67,247,255,227,37,0,152,251,255,168, +50,0,230,244,255,152,45,0,163,241,255,30,34,0,222,246,255,178,51,0,23,249,255,204,46,0,141,250,255,96,53,0,95,2,0,156,49,0,169,7,0,116,48,0,79,6,0,126,49,0,185,3,0,1,46,0,145,11,0,40,38,0,155,5,0,27,41,0,159,13,0,150,48,0,246,20,0,23,51,0,63,26,0,106, +48,0,155,21,0,211,45,0,168,16,0,137,42,0,209,6,0,34,39,0,7,13,0,4,48,0,153,16,0,202,40,0,27,22,0,113,37,0,63,8,0,144,40,0,207,1,0,198,46,0,249,10,0,141,44,0,190,14,0,76,44,0,196,14,0,100,45,0,85,6,0,35,52,0,206,17,0,167,46,0,94,11,0,240,44,0,52,7,0,142, +45,0,178,1,0,100,60,0,209,4,0,161,54,0,174,9,0,197,47,0,75,5,0,220,57,0,147,10,0,178,48,0,66,2,0,221,60,0,217,14,0,105,48,0,73,2,0,214,58,0,107,4,0,144,54,0,38,12,0,85,51,0,226,10,0,44,52,0,3,10,0,48,49,0,0,9,0,245,50,0,50,9,0,129,52,0,52,12,0,229,47, +0,245,14,0,233,46,0,184,3,0,225,51,0,20,11,0,214,52,0,144,19,0,120,42,0,223,19,0,182,54,0,114,29,0,188,46,0,134,16,0,251,53,0,42,29,0,237,56,0,61,23,0,4,45,0,14,22,0,185,53,0,248,21,0,34,61,0,122,35,0,10,50,0,152,30,0,72,62,0,129,27,0,219,66,0,62,29, +0,63,46,0,0,30,0,203,58,0,22,20,0,95,58,0,120,27,0,201,55,0,100,25,0,0,55,0,10,21,0,154,59,0,0,15,0,153,51,0,94,15,0,120,55,0,234,6,0,134,60,0,81,18,0,28,66,0,82,29,0,212,68,0,21,28,0,26,63,0,41,25,0,89,68,0,136,23,0,32,63,0,138,29,0,123,73,0,81,40,0, +106,75,0,162,41,0,73,63,0,155,41,0,19,75,0,231,40,0,0,79,0,22,48,0,43,71,0,181,54,0,137,74,0,77,61,0,218,67,0,21,59,0,167,78,0,232,63,0,209,75,0,103,69,0,142,80,0,33,78,0,64,75,0,41,76,0,16,68,0,221,54,0,128,78,0,40,65,0,145,79,0,23,64,0,111,66,0,100, +52,0,223,71,0,250,55,0,43,57,0,99,52,0,214,68,0,153,48,0,163,59,0,214,47,0,5,65,0,225,37,0,64,63,0,26,41,0,251,72,0,57,45,0,255,51,0,153,46,0,231,73,0,29,54,0,201,64,0,188,43,0,237,76,0,126,47,0,141,69,0,130,46,0,198,69,0,32,53,0,157,82,0,209,61,0,214, +82,0,5,60,0,216,92,0,77,66,0,88,84,0,221,75,0,109,93,0,126,69,0,233,85,0,198,63,0,113,107,0,35,70,0,17,106,0,110,66,0,97,98,0,93,74,0,51,100,0,9,75,0,237,100,0,241,64,0,33,102,0,149,59,0,34,112,0,165,75,0,225,99,0,46,70,0,251,101,0,76,71,0,195,96,0,176, +74,0,135,92,0,109,64,0,24,88,0,22,73,0,59,91,0,4,72,0,247,92,0,251,55,0,28,81,0,217,62,0,116,82,0,155,57,0,85,69,0,214,58,0,85,85,0,69,64,0,213,72,0,131,44,0,210,74,0,222,43,0,149,76,0,152,47,0,93,61,0,71,40,0,133,66,0,91,49,0,189,69,0,4,52,0,39,63,0, +80,41,0,201,62,0,218,36,0,53,57,0,89,36,0,7,62,0,228,44,0,83,61,0,210,49,0,188,57,0,8,45,0,226,55,0,231,49,0,185,49,0,181,36,0,29,57,0,6,38,0,71,50,0,218,43,0,195,51,0,7,42,0,88,55,0,167,50,0,182,62,0,59,40,0,211,59,0,63,32,0,139,49,0,27,32,0,184,47, +0,229,26,0,76,47,0,193,29,0,114,41,0,118,21,0,129,45,0,143,33,0,104,47,0,78,26,0,57,38,0,243,23,0,253,36,0,82,25,0,177,34,0,188,10,0,22,32,0,47,11,0,216,36,0,212,22,0,11,27,0,99,19,0,169,27,0,172,9,0,210,16,0,72,13,0,26,24,0,254,4,0,126,17,0,91,5,0,127, +21,0,209,10,0,111,13,0,179,244,255,57,8,0,144,255,255,212,10,0,49,13,0,52,9,0,227,5,0,236,11,0,73,3,0,31,5,0,253,252,255,116,9,0,114,13,0,86,8,0,7,13,0,116,16,0,240,253,255,170,7,0,17,4,0,205,14,0,157,6,0,227,3,0,134,5,0,117,13,0,2,15,0,132,14,0,249, +13,0,59,13,0,54,12,0,80,5,0,62,9,0,222,12,0,195,11,0,40,3,0,16,15,0,38,6,0,245,7,0,96,10,0,4,16,0,180,9,0,26,9,0,150,8,0,232,8,0,87,13,0,151,7,0,93,8,0,193,22,0,33,11,0,74,12,0,246,10,0,219,9,0,99,12,0,115,23,0,133,11,0,70,14,0,128,16,0,110,20,0,155, +11,0,18,25,0,34,16,0,233,21,0,203,14,0,227,30,0,7,9,0,41,26,0,131,10,0,243,35,0,177,12,0,58,24,0,59,18,0,105,18,0,110,19,0,191,31,0,240,11,0,161,30,0,211,15,0,45,25,0,129,30,0,216,37,0,175,11,0,4,22,0,158,14,0,249,32,0,178,21,0,24,34,0,243,9,0,237,12, +0,159,19,0,194,29,0,94,10,0,192,11,0,118,3,0,77,19,0,182,7,0,105,19,0,61,7,0,108,12,0,237,1,0,59,13,0,198,255,255,16,4,0,21,5,0,129,255,255,254,250,255,162,15,0,137,253,255,254,10,0,144,6,0,74,0,0,85,0,0,218,252,255,228,0,0,105,253,255,105,246,255,97, +1,0,76,246,255,208,250,255,191,246,255,88,251,255,187,243,255,64,245,255,48,246,255,26,248,255,136,1,0,101,250,255,17,249,255,188,246,255,37,248,255,197,248,255,208,248,255,142,249,255,166,229,255,4,238,255,202,248,255,190,238,255,164,242,255,39,247, +255,159,243,255,101,245,255,17,244,255,176,252,255,207,237,255,97,252,255,83,235,255,145,251,255,169,235,255,64,254,255,34,245,255,101,250,255,30,233,255,53,246,255,41,240,255,1,255,255,39,229,255,137,245,255,143,226,255,61,247,255,161,218,255,236,239, +255,234,219,255,30,240,255,4,218,255,10,251,255,25,218,255,229,244,255,180,221,255,205,242,255,174,211,255,180,234,255,211,217,255,153,246,255,75,217,255,35,232,255,210,216,255,89,240,255,163,218,255,141,242,255,31,221,255,236,243,255,31,215,255,36,249, +255,70,223,255,234,247,255,37,219,255,11,251,255,174,231,255,232,251,255,193,229,255,78,3,0,130,230,255,144,5,0,127,233,255,143,254,255,11,226,255,252,11,0,60,242,255,213,14,0,97,237,255,17,12,0,234,249,255,253,12,0,8,246,255,155,8,0,173,2,0,226,25,0, +154,254,255,56,15,0,161,10,0,30,23,0,204,254,255,83,20,0,37,2,0,95,24,0,193,7,0,167,25,0,151,2,0,231,24,0,7,7,0,44,30,0,52,15,0,247,26,0,215,14,0,199,28,0,96,4,0,215,30,0,135,19,0,245,38,0,34,6,0,187,24,0,82,10,0,226,41,0,5,6,0,62,35,0,182,17,0,154,34, +0,53,17,0,62,35,0,172,2,0,206,36,0,71,7,0,134,43,0,144,15,0,22,45,0,38,17,0,14,45,0,140,19,0,248,44,0,78,14,0,126,57,0,106,20,0,232,56,0,122,29,0,85,66,0,239,25,0,49,67,0,176,27,0,106,81,0,3,26,0,144,77,0,245,32,0,232,73,0,251,31,0,103,73,0,187,31,0, +252,79,0,81,33,0,223,80,0,53,34,0,153,74,0,213,30,0,200,80,0,112,37,0,152,82,0,4,35,0,154,70,0,253,42,0,206,88,0,212,30,0,77,80,0,231,42,0,161,87,0,143,40,0,110,87,0,21,32,0,72,69,0,208,42,0,134,91,0,159,28,0,120,76,0,45,36,0,86,70,0,189,38,0,18,75,0, +203,38,0,168,67,0,160,30,0,60,75,0,80,28,0,73,66,0,245,30,0,161,69,0,51,37,0,155,63,0,99,26,0,41,63,0,235,18,0,162,64,0,250,19,0,123,60,0,82,23,0,99,49,0,219,17,0,99,50,0,149,10,0,106,49,0,98,17,0,78,32,0,19,7,0,71,43,0,141,27,0,198,41,0,67,5,0,68,30, +0,103,6,0,71,25,0,98,8,0,245,29,0,190,254,255,4,31,0,68,7,0,134,34,0,30,250,255,183,32,0,184,0,0,161,32,0,48,255,255,1,28,0,103,242,255,181,31,0,107,1,0,34,25,0,232,7,0,163,37,0,187,249,255,148,36,0,121,1,0,75,34,0,251,249,255,164,50,0,209,5,0,230,53, +0,140,9,0,73,65,0,94,4,0,215,53,0,215,14,0,115,65,0,11,8,0,205,61,0,145,28,0,25,59,0,137,17,0,204,62,0,204,21,0,31,60,0,136,27,0,204,64,0,31,19,0,154,64,0,159,18,0,38,49,0,101,28,0,241,68,0,1,29,0,43,73,0,139,21,0,137,75,0,37,17,0,155,69,0,63,27,0,98, +71,0,73,18,0,213,74,0,185,16,0,233,60,0,168,23,0,210,70,0,78,15,0,207,65,0,203,8,0,68,60,0,212,13,0,220,67,0,161,11,0,35,52,0,113,15,0,131,60,0,58,4,0,247,50,0,54,11,0,41,53,0,206,1,0,199,56,0,69,254,255,237,47,0,144,7,0,76,53,0,72,245,255,33,53,0,63, +0,0,142,42,0,135,241,255,89,38,0,130,246,255,229,32,0,204,251,255,47,39,0,8,244,255,45,36,0,9,246,255,178,31,0,12,235,255,78,30,0,170,239,255,245,39,0,206,238,255,81,41,0,0,238,255,144,38,0,199,239,255,153,42,0,3,247,255,39,44,0,252,244,255,209,43,0, +240,250,255,154,50,0,55,254,255,45,44,0,147,250,255,210,48,0,179,6,0,233,57,0,210,248,255,160,52,0,127,255,255,4,55,0,226,255,255,195,51,0,190,250,255,192,44,0,106,0,0,137,54,0,204,250,255,2,56,0,35,3,0,242,47,0,33,252,255,206,47,0,174,245,255,57,51, +0,125,245,255,65,55,0,212,254,255,104,44,0,140,250,255,155,45,0,77,254,255,33,48,0,192,4,0,46,41,0,55,251,255,65,33,0,41,253,255,90,47,0,141,1,0,158,39,0,91,254,255,94,35,0,170,2,0,202,45,0,84,0,0,213,30,0,62,246,255,22,33,0,204,249,255,177,27,0,239, +246,255,177,34,0,83,249,255,20,31,0,75,241,255,92,37,0,232,245,255,125,21,0,210,234,255,204,26,0,189,237,255,104,27,0,125,239,255,125,18,0,90,240,255,11,22,0,54,236,255,39,14,0,55,240,255,82,24,0,105,242,255,146,20,0,84,234,255,245,11,0,155,244,255,81, +17,0,162,239,255,245,22,0,27,231,255,31,13,0,148,224,255,24,17,0,212,226,255,244,23,0,35,235,255,2,23,0,177,238,255,38,29,0,56,236,255,37,37,0,141,242,255,87,21,0,56,252,255,115,37,0,98,249,255,179,28,0,21,238,255,164,33,0,213,249,255,186,31,0,163,247, +255,100,36,0,241,248,255,142,40,0,13,1,0,98,47,0,214,241,255,6,36,0,248,249,255,19,51,0,77,255,255,89,51,0,248,1,0,47,44,0,148,8,0,96,54,0,219,2,0,25,51,0,168,11,0,187,59,0,69,7,0,200,61,0,180,20,0,142,68,0,55,5,0,1,51,0,188,19,0,50,58,0,32,13,0,147, +68,0,37,27,0,145,76,0,131,18,0,255,56,0,236,20,0,4,65,0,235,25,0,27,54,0,77,32,0,209,66,0,149,30,0,144,71,0,157,26,0,117,60,0,6,31,0,36,71,0,12,35,0,0,70,0,92,28,0,133,73,0,5,32,0,58,63,0,134,25,0,99,65,0,198,25,0,247,68,0,176,26,0,211,67,0,255,23,0, +22,56,0,169,27,0,212,61,0,13,25,0,56,57,0,71,19,0,204,61,0,14,21,0,154,59,0,13,23,0,54,61,0,29,16,0,225,55,0,89,6,0,136,45,0,226,20,0,185,45,0,92,18,0,168,53,0,140,22,0,200,42,0,47,5,0,249,42,0,151,13,0,7,46,0,166,8,0,26,49,0,198,17,0,152,53,0,255,17, +0,6,44,0,65,13,0,250,36,0,8,28,0,116,51,0,136,11,0,36,39,0,54,20,0,145,49,0,240,17,0,239,43,0,199,12,0,63,38,0,92,14,0,36,36,0,5,18,0,129,33,0,218,3,0,101,31,0,140,16,0,172,32,0,95,6,0,180,28,0,119,1,0,192,32,0,154,3,0,165,30,0,143,252,255,96,25,0,212, +0,0,139,25,0,240,0,0,128,32,0,130,7,0,227,33,0,133,2,0,82,24,0,158,250,255,56,18,0,246,246,255,221,16,0,89,246,255,1,15,0,209,236,255,105,7,0,18,247,255,226,6,0,152,236,255,255,5,0,74,237,255,154,8,0,142,243,255,77,238,255,36,241,255,246,251,255,41,235, +255,54,241,255,83,224,255,161,230,255,145,227,255,176,239,255,249,220,255,14,226,255,129,220,255,25,231,255,176,203,255,223,222,255,171,210,255,141,217,255,227,202,255,6,218,255,251,198,255,93,216,255,77,204,255,205,230,255,8,202,255,153,213,255,236, +201,255,189,212,255,63,195,255,12,213,255,76,198,255,56,211,255,60,201,255,222,207,255,8,204,255,234,210,255,3,201,255,224,215,255,58,196,255,224,206,255,181,194,255,241,203,255,195,194,255,143,202,255,228,207,255,223,209,255,59,197,255,243,202,255,225, +194,255,21,205,255,255,210,255,244,202,255,219,194,255,11,200,255,16,208,255,225,217,255,64,211,255,109,203,255,64,203,255,187,213,255,167,207,255,54,202,255,8,203,255,195,203,255,127,205,255,31,214,255,174,209,255,9,215,255,250,211,255,190,211,255,196, +201,255,68,213,255,227,198,255,35,219,255,165,204,255,55,220,255,18,203,255,10,207,255,28,200,255,26,206,255,94,191,255,205,212,255,180,189,255,13,213,255,180,183,255,120,205,255,4,190,255,52,203,255,115,185,255,77,199,255,205,180,255,3,203,255,116,193, +255,227,199,255,146,177,255,52,189,255,60,178,255,183,186,255,172,180,255,106,194,255,126,185,255,45,198,255,201,188,255,21,187,255,48,178,255,232,189,255,67,181,255,19,190,255,57,185,255,67,185,255,45,183,255,52,179,255,69,181,255,121,175,255,51,165, +255,210,165,255,50,187,255,131,180,255,195,164,255,86,176,255,15,167,255,59,176,255,181,171,255,128,165,255,232,171,255,61,182,255,76,178,255,175,175,255,148,178,255,198,174,255,150,176,255,97,170,255,253,173,255,211,163,255,186,177,255,125,177,255,73, +171,255,52,167,255,40,182,255,2,175,255,8,173,255,0,177,255,162,181,255,92,178,255,208,173,255,25,175,255,54,184,255,135,178,255,169,177,255,215,177,255,234,170,255,108,178,255,171,188,255,99,192,255,34,185,255,101,191,255,128,184,255,18,196,255,148, +185,255,55,201,255,250,183,255,170,194,255,74,189,255,126,207,255,244,189,255,100,205,255,14,186,255,227,200,255,86,191,255,141,202,255,83,194,255,244,204,255,234,187,255,143,206,255,73,186,255,211,214,255,130,192,255,245,215,255,8,188,255,56,192,255, +244,181,255,8,213,255,179,177,255,8,203,255,49,185,255,40,200,255,204,175,255,81,207,255,38,183,255,26,200,255,72,185,255,210,201,255,94,195,255,229,192,255,122,175,255,163,194,255,214,186,255,15,189,255,190,188,255,158,188,255,220,182,255,87,189,255, +6,184,255,83,187,255,128,183,255,100,185,255,120,184,255,47,183,255,6,190,255,155,187,255,211,175,255,245,184,255,163,180,255,137,181,255,247,191,255,85,193,255,83,177,255,252,185,255,252,183,255,110,186,255,68,183,255,5,195,255,152,194,255,50,189,255, +160,189,255,252,201,255,172,191,255,70,200,255,73,191,255,250,203,255,124,195,255,74,208,255,7,193,255,47,202,255,49,199,255,178,214,255,184,203,255,3,213,255,151,212,255,195,222,255,62,205,255,178,224,255,116,216,255,70,221,255,52,212,255,161,226,255, +7,205,255,1,211,255,93,200,255,237,214,255,11,207,255,96,214,255,142,205,255,39,219,255,99,206,255,224,223,255,200,209,255,18,210,255,75,208,255,220,217,255,75,213,255,158,216,255,198,202,255,166,211,255,73,210,255,215,220,255,143,202,255,44,208,255, +176,208,255,140,215,255,140,200,255,243,221,255,28,208,255,178,222,255,83,205,255,80,222,255,118,193,255,246,211,255,189,201,255,205,215,255,252,202,255,250,209,255,172,195,255,161,216,255,100,200,255,211,208,255,235,200,255,254,220,255,186,196,255,44, +219,255,255,205,255,19,209,255,47,199,255,208,210,255,180,200,255,60,210,255,128,198,255,10,215,255,192,190,255,125,214,255,199,202,255,215,207,255,215,193,255,152,203,255,43,203,255,255,213,255,66,206,255,135,205,255,231,205,255,93,209,255,219,216,255, +65,217,255,67,218,255,5,215,255,232,217,255,201,220,255,220,216,255,252,219,255,100,216,255,103,224,255,32,219,255,27,227,255,232,229,255,196,235,255,188,234,255,55,239,255,178,232,255,210,235,255,163,225,255,80,233,255,213,236,255,252,247,255,189,0, +0,73,252,255,193,239,255,124,255,255,213,255,255,222,3,0,114,255,255,50,1,0,142,255,255,153,10,0,174,4,0,244,14,0,31,254,255,182,13,0,61,253,255,96,10,0,104,8,0,90,17,0,167,4,0,24,252,255,104,253,255,2,11,0,203,0,0,158,7,0,174,4,0,45,0,0,166,1,0,202, +6,0,108,251,255,56,12,0,84,7,0,176,12,0,203,249,255,215,3,0,255,255,255,131,10,0,247,252,255,63,12,0,98,252,255,153,2,0,43,6,0,179,14,0,224,4,0,91,15,0,121,248,255,158,10,0,64,6,0,80,10,0,132,7,0,18,13,0,18,1,0,129,7,0,219,255,255,248,21,0,224,14,0,127, +18,0,46,18,0,129,7,0,71,6,0,166,6,0,26,14,0,18,13,0,79,19,0,168,12,0,149,6,0,184,14,0,79,12,0,56,8,0,18,11,0,222,16,0,58,12,0,44,7,0,212,9,0,149,4,0,65,25,0,246,21,0,114,25,0,97,31,0,189,23,0,39,29,0,64,22,0,22,20,0,241,25,0,48,31,0,48,26,0,227,39,0, +89,23,0,134,36,0,41,42,0,89,47,0,130,27,0,60,44,0,102,36,0,41,59,0,221,36,0,25,50,0,78,31,0,29,48,0,11,42,0,200,50,0,68,35,0,188,43,0,34,25,0,52,56,0,30,36,0,45,59,0,168,28,0,176,57,0,109,26,0,150,56,0,172,32,0,41,57,0,106,30,0,8,53,0,117,28,0,59,55, +0,49,27,0,53,48,0,169,39,0,197,71,0,230,25,0,137,63,0,23,29,0,177,55,0,171,32,0,31,57,0,32,25,0,164,57,0,106,41,0,251,62,0,240,32,0,54,59,0,71,26,0,24,62,0,247,38,0,0,63,0,91,44,0,105,63,0,248,37,0,60,67,0,153,47,0,224,66,0,67,39,0,224,63,0,55,38,0,52, +58,0,174,44,0,143,67,0,174,38,0,70,56,0,174,38,0,62,65,0,139,49,0,82,71,0,27,43,0,25,71,0,89,49,0,234,66,0,129,47,0,204,58,0,204,48,0,51,71,0,143,47,0,46,73,0,131,54,0,144,70,0,6,59,0,220,68,0,197,53,0,214,70,0,198,61,0,137,78,0,191,69,0,205,84,0,179, +65,0,24,72,0,11,70,0,203,68,0,145,78,0,61,85,0,196,69,0,48,70,0,250,78,0,204,75,0,222,61,0,43,72,0,45,64,0,188,78,0,125,68,0,12,75,0,164,75,0,225,66,0,21,62,0,177,60,0,45,58,0,251,61,0,198,61,0,215,72,0,181,54,0,116,64,0,176,64,0,71,65,0,203,48,0,116, +69,0,61,48,0,74,66,0,112,53,0,48,65,0,120,55,0,51,69,0,167,53,0,162,67,0,32,48,0,57,69,0,215,40,0,87,68,0,62,55,0,124,62,0,243,45,0,57,71,0,175,31,0,208,59,0,201,42,0,124,64,0,19,29,0,8,60,0,215,37,0,62,58,0,202,31,0,9,49,0,144,37,0,103,58,0,54,36,0, +136,51,0,161,38,0,34,57,0,234,37,0,132,65,0,86,32,0,182,62,0,65,42,0,210,62,0,160,43,0,151,60,0,233,42,0,89,67,0,226,47,0,235,65,0,97,50,0,207,72,0,218,42,0,193,62,0,14,52,0,193,62,0,196,47,0,145,66,0,90,42,0,166,61,0,253,49,0,131,56,0,32,45,0,82,58, +0,207,33,0,218,57,0,19,42,0,216,65,0,153,39,0,248,49,0,54,42,0,99,59,0,52,47,0,222,60,0,20,41,0,255,51,0,89,46,0,126,59,0,236,39,0,177,58,0,154,43,0,73,60,0,26,34,0,165,45,0,153,36,0,176,53,0,177,35,0,171,50,0,223,43,0,247,48,0,176,28,0,103,56,0,80,39, +0,125,58,0,165,29,0,136,40,0,177,37,0,158,56,0,69,47,0,169,71,0,23,41,0,245,55,0,221,45,0,129,58,0,160,28,0,124,62,0,104,44,0,226,63,0,16,36,0,2,72,0,92,48,0,90,82,0,252,55,0,70,79,0,240,59,0,94,78,0,74,58,0,221,73,0,66,56,0,179,75,0,246,43,0,212,78, +0,113,61,0,57,89,0,166,57,0,166,81,0,87,60,0,203,78,0,22,67,0,164,88,0,108,64,0,86,81,0,151,66,0,77,84,0,138,72,0,60,89,0,16,66,0,202,75,0,31,70,0,144,82,0,231,60,0,80,82,0,168,62,0,245,72,0,152,60,0,248,71,0,80,67,0,166,68,0,95,60,0,217,56,0,164,56, +0,75,65,0,59,58,0,222,63,0,108,58,0,149,57,0,190,54,0,199,59,0,2,47,0,165,54,0,21,56,0,230,51,0,6,52,0,43,48,0,55,54,0,59,54,0,35,45,0,189,46,0,160,43,0,136,60,0,28,36,0,12,55,0,200,48,0,34,48,0,227,46,0,254,60,0,235,35,0,202,50,0,213,33,0,129,53,0,110, +49,0,197,62,0,244,30,0,16,55,0,212,35,0,11,48,0,8,31,0,151,48,0,176,27,0,161,47,0,226,37,0,120,57,0,118,25,0,88,54,0,66,30,0,61,45,0,21,33,0,186,62,0,234,30,0,216,51,0,75,27,0,232,48,0,48,29,0,169,46,0,5,25,0,197,58,0,72,26,0,221,53,0,40,29,0,213,41, +0,214,15,0,174,36,0,8,24,0,173,32,0,102,15,0,184,43,0,179,17,0,54,30,0,147,22,0,236,36,0,84,20,0,84,31,0,24,19,0,130,28,0,10,25,0,154,31,0,66,23,0,168,25,0,213,15,0,90,29,0,37,9,0,83,23,0,170,17,0,9,28,0,9,17,0,54,25,0,199,7,0,30,34,0,128,17,0,247,24, +0,202,20,0,19,17,0,83,10,0,33,21,0,78,23,0,215,21,0,78,15,0,82,17,0,106,15,0,29,26,0,198,15,0,67,27,0,37,9,0,217,28,0,89,10,0,120,16,0,173,10,0,203,28,0,251,4,0,130,17,0,201,6,0,174,34,0,114,5,0,70,24,0,12,4,0,97,32,0,88,16,0,138,32,0,75,4,0,156,31,0, +9,5,0,67,36,0,149,1,0,2,21,0,138,10,0,236,24,0,17,14,0,154,33,0,80,14,0,83,41,0,242,12,0,167,22,0,136,12,0,167,37,0,61,8,0,107,36,0,26,19,0,246,25,0,141,22,0,13,33,0,210,13,0,131,35,0,63,11,0,146,16,0,193,10,0,146,14,0,25,10,0,183,19,0,181,0,0,121,15, +0,18,6,0,112,10,0,34,2,0,119,253,255,199,253,255,138,3,0,40,247,255,18,250,255,20,245,255,202,244,255,9,237,255,170,245,255,14,241,255,107,234,255,13,236,255,246,242,255,138,236,255,170,238,255,3,224,255,6,233,255,105,234,255,27,226,255,89,229,255,50, +229,255,26,229,255,43,231,255,20,218,255,208,219,255,118,220,255,177,229,255,65,221,255,89,230,255,239,223,255,134,224,255,172,217,255,61,214,255,41,222,255,51,213,255,248,221,255,52,220,255,202,215,255,81,220,255,125,215,255,76,232,255,251,224,255,245, +230,255,229,226,255,122,233,255,42,224,255,102,236,255,189,217,255,51,226,255,119,238,255,4,238,255,174,226,255,83,234,255,209,226,255,230,234,255,124,230,255,143,247,255,225,231,255,230,248,255,212,243,255,6,243,255,245,228,255,135,244,255,90,235,255, +44,237,255,132,223,255,18,233,255,120,226,255,88,233,255,92,221,255,80,235,255,195,225,255,119,229,255,162,221,255,121,220,255,231,211,255,222,226,255,172,200,255,141,222,255,159,215,255,139,214,255,169,204,255,192,213,255,99,199,255,76,221,255,12,195, +255,241,208,255,79,189,255,107,200,255,59,194,255,102,198,255,120,186,255,68,208,255,20,180,255,245,189,255,135,181,255,147,196,255,75,177,255,163,187,255,25,181,255,90,193,255,204,175,255,140,186,255,61,169,255,154,188,255,140,179,255,174,190,255,134, +172,255,156,181,255,182,169,255,240,178,255,193,170,255,12,179,255,239,161,255,86,178,255,18,167,255,126,182,255,143,174,255,55,179,255,70,175,255,40,186,255,67,169,255,99,179,255,148,165,255,9,182,255,105,172,255,127,184,255,222,176,255,216,193,255, +19,176,255,69,193,255,39,170,255,118,185,255,109,175,255,147,185,255,235,180,255,10,194,255,96,175,255,140,190,255,79,176,255,65,188,255,243,172,255,29,195,255,228,171,255,205,185,255,193,184,255,8,179,255,239,183,255,138,191,255,235,181,255,239,192, +255,4,178,255,142,184,255,217,182,255,8,181,255,99,190,255,55,196,255,242,191,255,146,193,255,78,192,255,12,198,255,91,178,255,231,193,255,152,188,255,145,203,255,229,177,255,242,197,255,117,196,255,215,200,255,100,186,255,57,198,255,135,186,255,189, +195,255,125,201,255,60,202,255,219,191,255,208,205,255,74,189,255,2,198,255,192,202,255,92,211,255,22,190,255,235,204,255,158,194,255,179,201,255,126,192,255,174,199,255,107,190,255,95,212,255,202,186,255,255,200,255,53,193,255,221,203,255,207,196,255, +139,198,255,129,195,255,228,203,255,192,192,255,249,194,255,23,203,255,171,208,255,114,197,255,67,205,255,122,203,255,230,206,255,173,192,255,63,206,255,32,197,255,235,205,255,83,189,255,16,198,255,83,192,255,48,199,255,184,187,255,220,198,255,87,202, +255,218,194,255,38,199,255,240,209,255,99,195,255,52,200,255,51,195,255,241,206,255,100,198,255,43,208,255,75,196,255,209,210,255,55,199,255,179,206,255,110,211,255,89,206,255,139,208,255,185,220,255,9,206,255,106,216,255,194,201,255,204,216,255,219, +212,255,81,217,255,117,219,255,65,222,255,140,217,255,4,229,255,122,218,255,237,227,255,4,221,255,160,230,255,128,214,255,25,229,255,217,216,255,116,232,255,51,220,255,179,235,255,200,218,255,252,230,255,173,215,255,30,231,255,246,229,255,14,233,255, +129,220,255,19,238,255,84,228,255,103,235,255,25,220,255,237,226,255,47,227,255,253,224,255,62,224,255,156,224,255,12,230,255,218,233,255,36,228,255,239,233,255,123,223,255,86,233,255,91,224,255,253,220,255,230,227,255,248,237,255,73,225,255,168,219, +255,85,231,255,255,217,255,88,229,255,43,209,255,141,234,255,113,226,255,32,225,255,142,223,255,166,229,255,73,223,255,194,229,255,116,213,255,202,226,255,31,223,255,94,221,255,43,211,255,159,232,255,126,214,255,166,225,255,105,214,255,97,222,255,184, +215,255,122,224,255,156,215,255,247,220,255,64,214,255,222,221,255,52,198,255,253,223,255,164,194,255,84,208,255,173,195,255,32,213,255,73,204,255,17,209,255,71,199,255,27,210,255,65,189,255,154,204,255,179,183,255,172,195,255,208,183,255,232,204,255, +169,195,255,121,204,255,110,186,255,52,190,255,213,181,255,150,197,255,83,193,255,122,186,255,90,182,255,189,195,255,135,187,255,74,204,255,178,187,255,156,203,255,29,171,255,167,205,255,95,191,255,105,201,255,33,176,255,15,201,255,76,180,255,156,202, +255,202,180,255,20,207,255,248,186,255,231,193,255,89,175,255,248,198,255,78,187,255,134,189,255,45,165,255,132,188,255,119,171,255,123,194,255,238,175,255,156,193,255,128,175,255,44,192,255,37,167,255,221,186,255,59,167,255,29,187,255,26,168,255,217, +191,255,144,163,255,153,182,255,75,171,255,6,193,255,30,169,255,181,189,255,174,167,255,190,194,255,12,174,255,57,181,255,66,160,255,59,190,255,99,155,255,208,187,255,159,165,255,107,193,255,145,165,255,196,188,255,160,177,255,43,192,255,249,176,255, +167,199,255,142,178,255,155,208,255,122,174,255,125,207,255,219,182,255,243,202,255,157,186,255,220,217,255,188,188,255,181,210,255,211,188,255,167,206,255,138,190,255,146,218,255,137,198,255,187,209,255,136,193,255,2,219,255,53,197,255,155,215,255,219, +209,255,229,209,255,163,191,255,9,223,255,243,206,255,167,217,255,199,196,255,229,217,255,3,199,255,70,213,255,12,200,255,201,212,255,59,203,255,104,216,255,81,199,255,235,206,255,104,200,255,242,215,255,214,204,255,64,221,255,201,200,255,253,208,255, +173,199,255,108,204,255,252,196,255,108,213,255,193,198,255,148,212,255,131,198,255,209,215,255,79,200,255,194,214,255,75,197,255,46,227,255,232,200,255,230,224,255,105,203,255,240,221,255,69,202,255,247,221,255,61,196,255,148,215,255,69,206,255,65,234, +255,137,205,255,214,231,255,163,198,255,26,236,255,31,203,255,35,237,255,205,208,255,79,214,255,22,201,255,114,239,255,84,215,255,150,230,255,122,207,255,14,247,255,238,215,255,41,231,255,231,205,255,72,233,255,6,218,255,36,237,255,224,204,255,68,240, +255,19,217,255,60,239,255,223,223,255,221,235,255,6,212,255,19,235,255,200,211,255,84,236,255,205,215,255,223,231,255,186,216,255,121,232,255,255,205,255,159,224,255,5,210,255,15,236,255,252,212,255,241,222,255,47,204,255,140,225,255,69,205,255,200,228, +255,220,208,255,33,217,255,218,201,255,205,215,255,42,210,255,197,231,255,134,211,255,196,224,255,71,205,255,178,232,255,0,192,255,191,231,255,38,200,255,3,225,255,108,188,255,138,227,255,255,200,255,118,216,255,215,202,255,189,223,255,61,206,255,227, +214,255,207,200,255,146,233,255,61,199,255,30,235,255,195,206,255,239,223,255,213,198,255,47,231,255,199,210,255,92,222,255,62,205,255,246,223,255,129,208,255,235,231,255,126,212,255,7,226,255,175,199,255,114,234,255,66,207,255,64,233,255,103,209,255, +74,223,255,22,191,255,1,226,255,162,192,255,30,221,255,96,201,255,124,236,255,180,195,255,148,220,255,249,194,255,182,225,255,140,195,255,131,230,255,182,196,255,45,220,255,134,202,255,231,225,255,6,199,255,171,227,255,169,195,255,44,232,255,112,193, +255,87,227,255,192,203,255,249,236,255,69,198,255,214,228,255,41,197,255,204,238,255,30,199,255,116,226,255,245,192,255,205,225,255,235,202,255,36,229,255,147,204,255,88,232,255,84,204,255,15,229,255,106,197,255,184,224,255,197,212,255,156,231,255,196, +217,255,47,233,255,59,212,255,184,238,255,8,217,255,54,240,255,71,232,255,46,239,255,160,238,255,56,242,255,170,241,255,66,238,255,90,237,255,199,247,255,254,250,255,100,4,0,253,1,0,69,1,0,96,4,0,200,0,0,85,7,0,199,7,0,117,13,0,229,18,0,203,24,0,106, +12,0,125,22,0,88,25,0,172,29,0,65,30,0,158,20,0,80,40,0,210,25,0,62,45,0,158,38,0,255,35,0,99,35,0,203,40,0,113,26,0,70,47,0,198,37,0,58,41,0,27,32,0,234,45,0,49,16,0,151,37,0,138,24,0,39,45,0,43,27,0,145,38,0,237,17,0,93,34,0,37,28,0,32,36,0,40,14,0, +233,37,0,4,23,0,184,27,0,96,14,0,157,37,0,225,20,0,253,36,0,104,17,0,41,31,0,181,18,0,198,29,0,150,14,0,76,33,0,244,9,0,89,21,0,5,15,0,237,14,0,30,11,0,168,26,0,49,19,0,80,29,0,29,9,0,26,21,0,8,9,0,170,19,0,58,12,0,24,30,0,173,18,0,124,35,0,246,14,0, +43,39,0,129,26,0,67,21,0,145,7,0,103,37,0,94,14,0,228,37,0,183,13,0,77,27,0,226,16,0,161,29,0,140,23,0,44,33,0,93,25,0,66,34,0,17,28,0,159,27,0,135,28,0,240,37,0,55,35,0,146,31,0,218,28,0,185,38,0,253,30,0,65,36,0,97,37,0,6,43,0,14,39,0,185,42,0,155, +44,0,169,51,0,103,52,0,15,48,0,233,49,0,122,56,0,141,45,0,37,53,0,121,47,0,145,63,0,229,58,0,164,62,0,232,50,0,50,55,0,182,48,0,8,55,0,184,54,0,195,56,0,240,57,0,58,61,0,203,52,0,181,58,0,233,40,0,23,63,0,230,50,0,113,62,0,157,43,0,154,62,0,39,43,0,79, +48,0,129,42,0,110,61,0,133,37,0,7,62,0,73,22,0,70,65,0,204,24,0,233,58,0,79,23,0,189,51,0,73,25,0,77,48,0,84,18,0,243,52,0,78,23,0,164,42,0,70,19,0,251,35,0,48,13,0,11,44,0,237,22,0,146,32,0,24,4,0,146,31,0,170,5,0,96,27,0,185,8,0,248,27,0,123,9,0,212, +24,0,89,13,0,52,22,0,121,3,0,20,31,0,74,9,0,25,25,0,100,5,0,248,32,0,157,11,0,251,16,0,12,15,0,74,28,0,88,15,0,186,36,0,48,19,0,165,37,0,248,18,0,60,31,0,198,7,0,56,50,0,21,27,0,96,41,0,88,16,0,94,32,0,11,10,0,193,47,0,179,23,0,179,49,0,67,21,0,87,42, +0,69,30,0,129,47,0,90,34,0,213,54,0,159,37,0,240,50,0,220,32,0,32,52,0,124,36,0,143,55,0,255,39,0,46,57,0,199,39,0,107,56,0,67,36,0,10,56,0,233,33,0,223,56,0,4,40,0,2,61,0,205,43,0,57,54,0,18,39,0,153,57,0,122,42,0,132,47,0,100,37,0,117,53,0,155,39,0, +131,45,0,169,29,0,131,44,0,58,29,0,20,49,0,72,24,0,74,55,0,216,20,0,61,28,0,203,16,0,94,45,0,22,35,0,143,37,0,57,22,0,198,37,0,209,28,0,67,24,0,99,12,0,191,26,0,70,20,0,45,43,0,243,24,0,86,39,0,105,13,0,2,39,0,229,24,0,99,38,0,166,25,0,237,42,0,110,33, +0,133,44,0,186,29,0,153,46,0,46,41,0,62,51,0,18,39,0,137,55,0,52,44,0,205,61,0,120,47,0,155,68,0,98,54,0,126,72,0,84,52,0,22,72,0,42,52,0,9,62,0,28,58,0,151,78,0,61,59,0,172,74,0,32,61,0,135,82,0,183,69,0,45,81,0,89,53,0,211,75,0,81,54,0,55,94,0,127, +64,0,133,81,0,62,43,0,213,88,0,156,52,0,160,79,0,122,48,0,28,78,0,41,40,0,195,74,0,88,44,0,41,75,0,234,39,0,94,81,0,139,34,0,89,73,0,171,38,0,254,74,0,32,42,0,208,66,0,32,40,0,212,72,0,36,27,0,73,72,0,224,44,0,219,68,0,214,51,0,8,59,0,48,52,0,64,54,0, +215,48,0,226,64,0,33,52,0,135,64,0,78,42,0,17,67,0,26,50,0,117,55,0,105,61,0,132,68,0,253,51,0,242,68,0,36,56,0,45,59,0,75,62,0,145,67,0,168,53,0,165,69,0,127,67,0,132,79,0,221,71,0,30,74,0,54,56,0,22,75,0,74,73,0,90,75,0,89,71,0,45,84,0,213,70,0,92, +71,0,8,65,0,9,83,0,235,65,0,176,79,0,219,69,0,127,79,0,219,66,0,208,82,0,134,57,0,245,74,0,221,61,0,47,69,0,206,62,0,0,80,0,236,56,0,11,84,0,177,64,0,12,66,0,162,65,0,175,71,0,54,59,0,204,67,0,51,62,0,79,68,0,47,69,0,231,67,0,220,68,0,46,64,0,168,62, +0,249,58,0,141,72,0,116,61,0,168,60,0,99,64,0,129,66,0,187,56,0,54,64,0,96,70,0,125,72,0,37,61,0,28,82,0,109,56,0,114,76,0,92,61,0,61,83,0,21,74,0,6,71,0,56,62,0,191,71,0,181,71,0,81,80,0,32,65,0,86,93,0,185,73,0,249,86,0,55,71,0,195,84,0,113,66,0,14, +84,0,28,77,0,31,79,0,219,70,0,95,85,0,102,79,0,36,80,0,197,81,0,40,82,0,113,82,0,80,84,0,45,78,0,125,78,0,189,89,0,0,78,0,6,84,0,85,93,0,192,92,0,234,87,0,229,88,0,213,86,0,72,85,0,155,88,0,209,94,0,92,107,0,213,87,0,195,97,0,176,90,0,172,91,0,186,94, +0,101,84,0,112,91,0,34,90,0,251,80,0,18,91,0,108,94,0,111,86,0,102,101,0,0,86,0,168,78,0,173,84,0,83,88,0,151,77,0,207,79,0,232,70,0,56,62,0,67,69,0,211,66,0,117,66,0,78,67,0,88,52,0,129,63,0,97,64,0,120,58,0,108,52,0,207,60,0,42,48,0,46,55,0,104,55, +0,253,61,0,116,49,0,129,53,0,205,50,0,97,50,0,4,35,0,159,57,0,207,39,0,194,42,0,221,38,0,72,46,0,79,35,0,65,46,0,41,39,0,116,50,0,90,45,0,93,59,0,70,57,0,152,47,0,215,36,0,107,44,0,108,39,0,170,50,0,51,54,0,14,53,0,176,53,0,13,54,0,151,50,0,19,48,0,130, +50,0,96,59,0,44,60,0,23,50,0,147,53,0,84,50,0,15,60,0,156,54,0,218,57,0,80,53,0,31,64,0,159,63,0,1,59,0,208,49,0,214,59,0,165,44,0,172,47,0,25,45,0,96,47,0,212,44,0,230,43,0,62,55,0,7,58,0,158,48,0,184,47,0,180,41,0,63,38,0,179,54,0,106,54,0,133,39,0, +230,42,0,213,48,0,152,38,0,40,42,0,235,43,0,206,41,0,194,36,0,237,44,0,241,31,0,52,48,0,135,33,0,27,40,0,76,31,0,83,39,0,74,26,0,125,32,0,90,25,0,177,41,0,35,30,0,236,37,0,90,29,0,187,37,0,148,33,0,127,30,0,188,17,0,192,39,0,78,28,0,242,26,0,106,16,0, +111,42,0,51,16,0,138,26,0,98,17,0,6,32,0,241,13,0,84,47,0,12,9,0,208,35,0,122,14,0,223,34,0,35,12,0,53,27,0,222,11,0,233,37,0,160,16,0,112,29,0,159,12,0,69,30,0,189,15,0,118,14,0,75,7,0,165,35,0,142,14,0,188,33,0,29,11,0,87,31,0,62,17,0,99,28,0,146,26, +0,138,34,0,232,28,0,230,37,0,72,29,0,118,28,0,233,27,0,183,40,0,108,33,0,248,43,0,160,25,0,92,41,0,144,31,0,154,41,0,155,38,0,51,50,0,70,44,0,233,48,0,52,32,0,180,46,0,38,47,0,70,46,0,203,42,0,114,34,0,88,40,0,58,53,0,154,46,0,152,45,0,103,39,0,59,43, +0,8,33,0,144,41,0,107,36,0,87,33,0,16,27,0,22,44,0,78,23,0,226,45,0,68,20,0,204,37,0,249,10,0,126,20,0,41,11,0,151,26,0,183,3,0,29,29,0,79,4,0,122,18,0,64,0,0,146,7,0,220,249,255,246,18,0,142,250,255,239,18,0,67,250,255,166,12,0,238,242,255,76,8,0,92, +239,255,53,9,0,216,247,255,254,4,0,237,247,255,220,4,0,247,241,255,72,253,255,177,246,255,75,12,0,181,252,255,92,2,0,40,2,0,202,2,0,100,243,255,169,5,0,150,246,255,240,12,0,149,250,255,183,13,0,138,249,255,1,19,0,152,9,0,245,21,0,1,5,0,140,14,0,171,10, +0,33,16,0,71,4,0,219,12,0,251,19,0,43,22,0,222,8,0,44,18,0,75,6,0,251,25,0,38,15,0,226,12,0,78,4,0,164,12,0,57,0,0,254,11,0,14,9,0,249,14,0,126,0,0,154,2,0,214,253,255,121,5,0,119,0,0,239,4,0,168,244,255,153,2,0,28,253,255,187,10,0,144,242,255,192,248, +255,193,238,255,139,251,255,16,241,255,240,248,255,93,244,255,198,0,0,64,245,255,151,248,255,97,235,255,188,254,255,217,233,255,191,0,0,217,233,255,253,249,255,1,227,255,244,246,255,69,228,255,137,252,255,13,236,255,170,242,255,255,217,255,39,253,255, +194,224,255,48,234,255,181,213,255,143,238,255,231,212,255,71,240,255,254,211,255,62,241,255,139,203,255,26,235,255,210,209,255,142,239,255,234,204,255,133,237,255,167,193,255,92,233,255,249,197,255,160,223,255,127,200,255,87,236,255,163,206,255,22,234, +255,144,209,255,112,217,255,142,193,255,97,228,255,147,201,255,219,222,255,117,192,255,18,226,255,253,200,255,29,221,255,57,199,255,106,217,255,206,203,255,213,212,255,42,203,255,90,212,255,30,199,255,239,223,255,91,203,255,151,219,255,52,202,255,245, +217,255,164,211,255,221,209,255,34,211,255,109,210,255,119,197,255,7,216,255,244,200,255,37,209,255,73,193,255,11,205,255,97,202,255,104,210,255,42,205,255,252,202,255,232,184,255,2,200,255,219,187,255,147,197,255,38,188,255,106,197,255,219,181,255,8, +201,255,142,182,255,248,192,255,34,172,255,142,203,255,90,178,255,145,196,255,28,169,255,106,195,255,127,171,255,215,183,255,202,153,255,28,190,255,241,151,255,93,195,255,66,150,255,127,180,255,209,154,255,60,186,255,232,141,255,37,175,255,203,136,255, +138,182,255,181,140,255,239,174,255,141,134,255,235,173,255,48,130,255,87,163,255,21,127,255,129,160,255,176,120,255,196,158,255,124,110,255,80,164,255,66,121,255,42,151,255,99,116,255,102,155,255,25,119,255,170,153,255,181,117,255,187,149,255,94,111, +255,2,149,255,222,118,255,29,138,255,97,93,255,50,141,255,99,110,255,220,145,255,128,110,255,39,135,255,158,115,255,93,124,255,11,108,255,197,124,255,81,111,255,192,124,255,121,109,255,18,120,255,225,112,255,35,116,255,165,106,255,75,134,255,217,102, +255,130,123,255,4,100,255,209,119,255,23,104,255,226,118,255,149,95,255,181,120,255,246,95,255,89,119,255,148,99,255,16,121,255,51,86,255,57,119,255,186,96,255,92,122,255,60,89,255,14,126,255,49,91,255,160,123,255,120,91,255,61,119,255,187,92,255,41, +130,255,12,86,255,176,126,255,155,92,255,234,117,255,108,84,255,143,121,255,21,92,255,1,118,255,172,95,255,243,120,255,92,92,255,58,115,255,179,96,255,85,121,255,14,99,255,137,120,255,91,91,255,95,118,255,141,91,255,130,121,255,19,96,255,30,115,255,91, +103,255,99,115,255,122,97,255,231,115,255,48,89,255,194,111,255,169,88,255,138,120,255,83,98,255,255,120,255,20,83,255,217,114,255,2,88,255,98,118,255,84,78,255,126,113,255,8,71,255,174,116,255,164,72,255,187,119,255,49,80,255,153,107,255,246,71,255, +155,109,255,251,62,255,167,105,255,160,53,255,197,107,255,210,58,255,67,100,255,3,67,255,2,99,255,12,59,255,104,107,255,242,63,255,52,99,255,85,56,255,233,96,255,159,57,255,102,97,255,186,58,255,166,99,255,96,56,255,179,97,255,102,62,255,143,108,255, +159,57,255,82,96,255,84,60,255,212,111,255,75,76,255,244,105,255,187,73,255,99,101,255,62,84,255,158,105,255,201,69,255,182,116,255,64,89,255,238,104,255,234,85,255,244,112,255,22,95,255,3,120,255,105,88,255,39,115,255,194,98,255,84,126,255,59,105,255, +109,125,255,114,110,255,84,122,255,36,116,255,188,115,255,47,108,255,196,117,255,240,103,255,193,116,255,195,105,255,164,129,255,236,110,255,131,138,255,210,117,255,169,130,255,248,109,255,148,126,255,49,126,255,112,127,255,251,111,255,100,129,255,8, +115,255,197,138,255,63,106,255,132,133,255,239,107,255,85,126,255,233,107,255,255,138,255,72,102,255,159,134,255,226,99,255,183,142,255,141,98,255,206,128,255,24,92,255,50,146,255,103,91,255,187,126,255,146,82,255,144,138,255,84,78,255,101,128,255,181, +80,255,145,125,255,238,73,255,135,133,255,89,80,255,78,132,255,17,77,255,147,121,255,113,75,255,247,120,255,165,72,255,11,137,255,56,77,255,105,129,255,234,75,255,165,132,255,208,75,255,7,137,255,186,87,255,251,127,255,186,83,255,102,129,255,44,83,255, +184,138,255,47,89,255,46,128,255,53,96,255,254,136,255,25,97,255,77,138,255,135,108,255,66,142,255,211,108,255,89,133,255,181,109,255,186,137,255,205,115,255,133,143,255,213,119,255,79,152,255,8,130,255,22,155,255,102,131,255,223,146,255,83,131,255,134, +161,255,144,144,255,66,159,255,98,146,255,43,160,255,134,156,255,201,158,255,230,150,255,65,158,255,135,150,255,232,170,255,199,156,255,133,173,255,103,150,255,46,175,255,222,170,255,210,173,255,207,154,255,161,188,255,179,171,255,183,192,255,251,164, +255,97,181,255,212,170,255,224,188,255,66,177,255,81,184,255,52,171,255,107,197,255,78,180,255,195,183,255,176,159,255,236,179,255,115,161,255,131,186,255,240,173,255,81,187,255,152,171,255,71,188,255,47,172,255,184,179,255,9,159,255,109,187,255,157, +162,255,76,195,255,96,164,255,36,191,255,32,153,255,193,189,255,145,156,255,163,194,255,50,160,255,78,209,255,167,170,255,103,192,255,216,154,255,52,185,255,49,147,255,29,194,255,23,153,255,36,194,255,252,160,255,46,195,255,99,161,255,90,204,255,72,163, +255,18,215,255,161,179,255,167,194,255,189,175,255,85,206,255,16,178,255,243,204,255,54,175,255,123,209,255,142,185,255,60,221,255,139,188,255,215,218,255,179,179,255,106,218,255,180,194,255,69,219,255,220,185,255,145,215,255,143,197,255,226,221,255, +233,195,255,254,219,255,17,204,255,69,223,255,139,193,255,205,227,255,40,213,255,21,227,255,111,203,255,254,225,255,209,206,255,137,231,255,89,215,255,135,226,255,145,209,255,11,230,255,98,222,255,205,237,255,251,225,255,71,238,255,96,217,255,240,244, +255,22,230,255,157,250,255,242,237,255,67,0,0,54,229,255,177,254,255,154,235,255,54,254,255,144,236,255,10,251,255,77,234,255,197,0,0,159,245,255,159,255,255,69,238,255,255,255,255,100,239,255,242,251,255,205,240,255,0,254,255,56,236,255,119,255,255, +73,235,255,95,245,255,141,228,255,130,5,0,22,229,255,196,2,0,163,226,255,91,248,255,32,228,255,63,1,0,28,242,255,195,253,255,74,219,255,25,251,255,115,219,255,87,2,0,231,230,255,64,255,255,109,221,255,230,2,0,106,220,255,37,255,255,231,230,255,83,3,0, +115,239,255,181,253,255,17,238,255,127,253,255,187,231,255,56,3,0,164,246,255,211,5,0,80,243,255,210,0,0,184,246,255,174,11,0,72,245,255,9,8,0,113,245,255,192,3,0,197,239,255,31,11,0,203,243,255,129,0,0,60,243,255,33,14,0,155,245,255,98,255,255,200,237, +255,37,13,0,221,242,255,32,2,0,104,237,255,222,9,0,252,241,255,232,10,0,191,241,255,78,6,0,148,245,255,77,13,0,52,240,255,185,8,0,7,236,255,221,16,0,156,231,255,219,8,0,253,229,255,139,6,0,186,234,255,69,8,0,236,230,255,72,14,0,172,239,255,0,15,0,142, +228,255,42,18,0,68,233,255,134,7,0,156,245,255,30,16,0,236,252,255,64,9,0,31,244,255,77,6,0,88,250,255,55,13,0,122,250,255,179,6,0,203,240,255,23,9,0,142,250,255,232,8,0,125,251,255,28,8,0,148,247,255,85,9,0,3,249,255,31,17,0,159,0,0,28,6,0,149,255,255, +48,26,0,128,6,0,222,12,0,130,7,0,106,7,0,59,6,0,207,22,0,140,3,0,166,9,0,75,255,255,207,22,0,222,6,0,177,16,0,199,0,0,116,16,0,25,1,0,210,21,0,61,255,255,244,18,0,82,245,255,11,15,0,9,243,255,69,27,0,85,3,0,41,24,0,163,250,255,78,36,0,178,245,255,213, +25,0,19,244,255,23,31,0,169,252,255,70,17,0,63,232,255,121,24,0,251,236,255,16,20,0,95,236,255,106,21,0,17,243,255,66,24,0,48,247,255,162,8,0,227,237,255,192,9,0,147,232,255,17,10,0,83,242,255,108,11,0,150,236,255,181,2,0,162,230,255,250,0,0,165,242, +255,19,11,0,216,246,255,151,1,0,153,237,255,167,2,0,192,242,255,171,254,255,254,245,255,103,1,0,215,251,255,42,254,255,215,254,255,184,6,0,146,245,255,61,6,0,133,251,255,140,2,0,132,242,255,147,5,0,218,255,255,133,2,0,172,253,255,58,19,0,75,2,0,99,5, +0,93,1,0,16,16,0,165,253,255,247,16,0,82,8,0,7,15,0,245,252,255,14,18,0,9,6,0,170,18,0,134,4,0,215,26,0,68,5,0,165,22,0,161,7,0,134,26,0,166,12,0,181,29,0,163,17,0,11,20,0,193,9,0,67,39,0,113,16,0,176,24,0,9,21,0,67,30,0,253,21,0,62,28,0,233,33,0,175, +27,0,4,28,0,177,16,0,165,24,0,69,50,0,44,28,0,109,28,0,169,29,0,49,35,0,229,38,0,42,35,0,75,33,0,241,33,0,165,34,0,236,37,0,149,30,0,79,27,0,72,29,0,15,32,0,228,32,0,178,36,0,156,27,0,31,40,0,151,28,0,221,37,0,60,27,0,179,27,0,229,17,0,18,28,0,140,20, +0,101,29,0,131,19,0,39,35,0,102,18,0,69,30,0,68,15,0,122,36,0,165,16,0,67,39,0,44,23,0,163,30,0,38,17,0,91,38,0,82,19,0,18,45,0,24,27,0,104,38,0,138,30,0,229,46,0,68,32,0,76,38,0,34,32,0,181,46,0,99,41,0,56,45,0,225,40,0,111,42,0,76,40,0,43,49,0,88,46, +0,200,36,0,129,50,0,131,46,0,123,61,0,1,42,0,150,61,0,149,52,0,95,64,0,42,39,0,37,66,0,232,46,0,227,66,0,176,49,0,229,64,0,222,66,0,216,75,0,44,55,0,80,72,0,179,58,0,232,77,0,58,59,0,63,78,0,101,71,0,184,88,0,251,72,0,70,86,0,181,64,0,123,96,0,2,63,0, +81,92,0,220,78,0,90,97,0,116,81,0,196,93,0,18,83,0,193,95,0,95,81,0,34,94,0,229,77,0,96,91,0,72,95,0,53,105,0,165,87,0,107,87,0,245,94,0,177,96,0,206,99,0,197,85,0,142,87,0,51,87,0,39,102,0,51,91,0,205,96,0,128,97,0,235,106,0,169,90,0,202,92,0,99,89, +0,201,103,0,103,99,0,214,92,0,196,95,0,196,101,0,169,103,0,243,105,0,67,88,0,38,105,0,123,93,0,201,117,0,90,98,0,156,107,0,25,100,0,87,103,0,163,102,0,13,112,0,253,108,0,51,115,0,45,105,0,115,117,0,35,108,0,229,117,0,146,114,0,144,111,0,218,113,0,237, +119,0,200,115,0,226,121,0,97,123,0,113,115,0,41,110,0,231,121,0,227,125,0,9,127,0,97,129,0,157,123,0,42,125,0,215,130,0,110,130,0,95,132,0,132,123,0,44,122,0,254,132,0,136,129,0,98,137,0,116,130,0,232,137,0,168,129,0,123,137,0,181,138,0,52,136,0,30,129, +0,157,143,0,99,135,0,198,157,0,90,134,0,253,141,0,143,125,0,109,145,0,80,129,0,190,150,0,39,125,0,72,149,0,36,128,0,156,147,0,111,134,0,138,140,0,201,122,0,47,148,0,57,122,0,185,128,0,224,125,0,126,135,0,253,127,0,39,136,0,186,128,0,203,133,0,36,128, +0,91,122,0,249,117,0,236,120,0,153,131,0,206,123,0,139,122,0,53,121,0,164,126,0,94,117,0,8,122,0,104,120,0,85,110,0,214,112,0,138,114,0,183,110,0,237,118,0,8,112,0,167,122,0,45,120,0,247,122,0,227,124,0,34,120,0,90,119,0,182,120,0,222,117,0,198,118,0, +152,116,0,4,110,0,242,119,0,8,119,0,70,127,0,105,116,0,189,121,0,230,119,0,27,117,0,136,121,0,50,130,0,122,121,0,176,118,0,37,119,0,250,129,0,12,111,0,225,126,0,186,115,0,79,124,0,86,122,0,237,132,0,114,113,0,165,135,0,204,121,0,108,123,0,165,117,0,39, +128,0,215,121,0,57,127,0,142,123,0,16,127,0,249,122,0,53,125,0,217,119,0,19,126,0,190,109,0,182,122,0,172,111,0,225,119,0,15,111,0,40,112,0,105,113,0,177,114,0,222,104,0,245,109,0,39,104,0,96,110,0,1,108,0,215,114,0,17,99,0,154,115,0,171,104,0,141,116, +0,207,88,0,0,112,0,229,91,0,16,115,0,99,96,0,76,109,0,219,95,0,81,114,0,84,96,0,64,112,0,112,98,0,39,121,0,202,100,0,83,119,0,253,98,0,39,116,0,222,95,0,122,125,0,147,89,0,190,114,0,165,107,0,238,115,0,142,92,0,109,122,0,190,87,0,255,127,0,171,102,0, +64,127,0,145,97,0,107,123,0,254,92,0,142,119,0,243,95,0,98,130,0,217,97,0,204,122,0,241,95,0,203,129,0,227,102,0,117,132,0,41,99,0,48,124,0,81,93,0,196,125,0,135,101,0,113,131,0,134,93,0,7,120,0,213,106,0,53,127,0,34,104,0,10,118,0,147,110,0,18,113,0, +229,104,0,225,119,0,155,105,0,229,117,0,99,104,0,129,111,0,23,103,0,21,120,0,77,97,0,163,107,0,152,98,0,172,102,0,216,103,0,185,110,0,123,98,0,218,110,0,223,97,0,149,110,0,245,93,0,158,105,0,113,89,0,222,110,0,232,94,0,150,106,0,164,95,0,4,102,0,101, +93,0,5,104,0,136,104,0,24,120,0,151,90,0,75,109,0,147,94,0,6,118,0,20,89,0,71,106,0,105,85,0,202,110,0,55,84,0,243,113,0,235,81,0,4,111,0,84,87,0,35,117,0,21,86,0,202,117,0,45,82,0,60,117,0,110,80,0,43,114,0,238,80,0,207,108,0,167,76,0,96,115,0,33,78, +0,134,112,0,50,85,0,106,113,0,53,80,0,11,113,0,67,91,0,202,117,0,130,87,0,207,106,0,91,79,0,206,105,0,216,76,0,79,110,0,94,86,0,84,118,0,51,83,0,163,106,0,93,76,0,179,100,0,126,98,0,96,110,0,48,81,0,116,98,0,184,96,0,121,109,0,8,84,0,183,101,0,231,75, +0,222,99,0,46,83,0,246,95,0,248,83,0,76,95,0,184,78,0,153,89,0,28,79,0,110,87,0,78,84,0,250,97,0,60,77,0,147,82,0,80,78,0,64,79,0,143,71,0,200,71,0,192,61,0,218,79,0,131,75,0,232,81,0,149,58,0,227,73,0,171,63,0,157,69,0,35,63,0,5,62,0,119,56,0,163,71, +0,137,52,0,83,73,0,187,58,0,107,68,0,230,49,0,161,68,0,131,56,0,21,74,0,125,59,0,41,75,0,44,59,0,31,70,0,215,49,0,235,73,0,73,50,0,241,73,0,197,58,0,63,69,0,12,51,0,56,69,0,197,61,0,39,80,0,133,52,0,226,76,0,7,60,0,89,72,0,9,49,0,95,72,0,111,52,0,246, +81,0,164,50,0,0,73,0,171,51,0,5,69,0,134,64,0,56,82,0,149,50,0,235,76,0,30,56,0,245,65,0,84,58,0,165,72,0,158,61,0,214,79,0,136,57,0,243,66,0,62,58,0,105,78,0,169,55,0,90,75,0,14,58,0,81,70,0,155,60,0,157,78,0,208,56,0,53,69,0,112,51,0,101,76,0,97,48, +0,213,67,0,207,57,0,193,74,0,41,43,0,2,66,0,16,50,0,110,66,0,110,51,0,6,58,0,237,47,0,196,64,0,194,39,0,127,58,0,140,37,0,14,69,0,45,37,0,112,53,0,180,40,0,104,48,0,58,39,0,56,46,0,192,34,0,10,57,0,117,30,0,142,38,0,104,30,0,237,42,0,117,30,0,135,40, +0,198,31,0,114,37,0,224,31,0,60,38,0,130,35,0,12,41,0,196,16,0,99,34,0,188,13,0,220,31,0,182,21,0,233,30,0,87,21,0,18,29,0,195,14,0,37,30,0,135,20,0,212,27,0,107,8,0,232,24,0,161,13,0,212,23,0,80,10,0,218,23,0,187,16,0,211,27,0,39,11,0,170,25,0,207,14, +0,143,20,0,127,13,0,96,23,0,5,9,0,96,20,0,241,10,0,116,27,0,92,17,0,76,16,0,180,8,0,89,18,0,173,10,0,8,17,0,112,19,0,129,13,0,126,10,0,129,11,0,201,0,0,42,4,0,160,2,0,176,15,0,187,5,0,124,254,255,221,255,255,232,255,255,127,255,255,190,7,0,149,244,255, +36,2,0,67,249,255,217,4,0,142,243,255,171,252,255,74,247,255,149,6,0,208,254,255,178,253,255,219,228,255,92,242,255,253,229,255,173,240,255,159,231,255,200,242,255,106,224,255,206,245,255,105,232,255,67,235,255,136,212,255,229,235,255,73,226,255,128, +233,255,82,216,255,9,225,255,110,212,255,178,224,255,86,201,255,78,221,255,141,199,255,219,222,255,226,209,255,206,222,255,76,192,255,115,211,255,39,209,255,53,215,255,214,206,255,81,214,255,190,200,255,96,209,255,244,199,255,89,214,255,178,198,255,49, +211,255,98,198,255,136,216,255,206,200,255,163,215,255,163,207,255,97,213,255,24,201,255,84,213,255,226,202,255,17,213,255,98,204,255,206,211,255,186,205,255,203,222,255,231,209,255,144,220,255,77,209,255,231,219,255,32,205,255,165,217,255,182,201,255, +60,211,255,141,203,255,188,212,255,24,212,255,174,215,255,196,202,255,116,207,255,219,212,255,128,214,255,0,205,255,39,201,255,104,201,255,107,202,255,25,198,255,65,191,255,206,199,255,42,198,255,39,184,255,25,193,255,150,179,255,228,191,255,81,183,255, +238,185,255,156,182,255,134,179,255,47,185,255,204,175,255,159,166,255,159,172,255,135,161,255,235,156,255,72,168,255,67,169,255,101,153,255,39,160,255,79,145,255,74,160,255,147,144,255,30,155,255,235,157,255,117,157,255,201,148,255,125,157,255,159,151, +255,143,162,255,81,148,255,121,155,255,128,139,255,244,154,255,24,145,255,185,162,255,173,145,255,47,171,255,163,153,255,197,179,255,177,152,255,124,178,255,63,154,255,74,184,255,45,162,255,38,178,255,149,169,255,38,189,255,255,173,255,226,190,255,37, +168,255,123,205,255,125,168,255,120,190,255,239,178,255,196,198,255,201,176,255,73,201,255,134,177,255,58,205,255,79,189,255,10,197,255,137,184,255,32,204,255,34,188,255,38,206,255,11,193,255,66,205,255,159,184,255,116,202,255,189,190,255,187,206,255, +145,195,255,245,201,255,142,191,255,184,202,255,62,191,255,223,205,255,42,191,255,27,215,255,127,178,255,95,197,255,120,187,255,23,195,255,207,189,255,179,203,255,216,186,255,135,199,255,31,183,255,196,208,255,106,174,255,213,195,255,173,183,255,229, +193,255,50,187,255,88,193,255,123,188,255,87,203,255,129,167,255,114,180,255,213,179,255,38,191,255,220,187,255,44,192,255,62,191,255,240,184,255,150,176,255,239,194,255,41,179,255,62,197,255,114,173,255,247,186,255,218,177,255,35,198,255,17,185,255, +219,188,255,243,181,255,70,190,255,56,180,255,31,196,255,23,166,255,80,187,255,253,180,255,71,205,255,151,182,255,91,198,255,181,171,255,8,201,255,161,179,255,150,201,255,34,179,255,35,209,255,196,179,255,31,213,255,72,189,255,66,212,255,122,187,255, +212,214,255,32,184,255,48,211,255,255,176,255,199,214,255,128,183,255,223,217,255,198,174,255,55,199,255,63,188,255,235,213,255,226,193,255,130,230,255,60,192,255,44,217,255,216,197,255,207,228,255,224,196,255,132,223,255,158,190,255,161,221,255,139, +202,255,52,229,255,100,194,255,155,227,255,221,201,255,58,230,255,124,198,255,123,232,255,86,208,255,11,230,255,60,208,255,253,230,255,225,199,255,220,242,255,111,205,255,184,238,255,182,208,255,238,249,255,197,213,255,94,252,255,147,210,255,18,248,255, +86,222,255,250,0,0,74,215,255,239,254,255,235,216,255,246,243,255,195,221,255,172,249,255,82,215,255,36,250,255,162,216,255,209,251,255,167,217,255,112,254,255,134,223,255,34,252,255,105,214,255,201,247,255,54,217,255,146,243,255,143,216,255,39,3,0,156, +222,255,204,5,0,44,221,255,90,5,0,229,223,255,29,240,255,42,228,255,141,7,0,192,211,255,31,249,255,203,223,255,226,249,255,15,224,255,45,254,255,224,228,255,76,246,255,12,236,255,96,251,255,130,223,255,196,251,255,121,235,255,119,254,255,100,236,255, +81,248,255,85,237,255,3,4,0,19,237,255,247,253,255,224,239,255,161,6,0,74,241,255,124,4,0,25,242,255,181,11,0,91,238,255,90,4,0,113,237,255,22,5,0,57,239,255,254,7,0,211,239,255,83,9,0,153,242,255,143,19,0,3,230,255,99,16,0,115,236,255,135,24,0,255,241, +255,48,14,0,147,246,255,191,22,0,40,242,255,179,12,0,159,239,255,15,14,0,193,238,255,121,19,0,36,240,255,61,10,0,209,228,255,191,4,0,92,226,255,99,254,255,119,239,255,78,3,0,0,225,255,190,247,255,211,227,255,224,243,255,68,233,255,234,232,255,175,238, +255,255,240,255,247,226,255,64,238,255,96,233,255,188,236,255,54,230,255,67,228,255,134,222,255,248,228,255,208,226,255,82,223,255,232,215,255,188,228,255,4,220,255,126,225,255,250,225,255,196,232,255,194,227,255,239,234,255,164,225,255,134,233,255,12, +216,255,106,242,255,30,225,255,233,250,255,220,212,255,235,245,255,66,212,255,94,249,255,185,217,255,146,242,255,214,212,255,163,248,255,154,224,255,155,245,255,52,225,255,238,255,255,86,217,255,165,251,255,98,222,255,93,254,255,242,220,255,190,252,255, +239,218,255,175,253,255,53,229,255,236,0,0,107,225,255,65,10,0,206,222,255,219,6,0,61,225,255,38,255,255,21,221,255,40,254,255,108,225,255,229,245,255,166,219,255,37,248,255,120,226,255,107,250,255,83,232,255,65,251,255,199,223,255,48,1,0,222,222,255, +16,245,255,92,227,255,212,251,255,160,223,255,58,251,255,189,233,255,158,255,255,113,213,255,105,251,255,217,218,255,57,252,255,233,224,255,209,253,255,73,224,255,196,249,255,21,223,255,35,249,255,35,223,255,61,1,0,42,230,255,18,6,0,85,232,255,130,0, +0,113,235,255,38,23,0,115,220,255,65,2,0,244,226,255,3,10,0,45,229,255,49,17,0,105,226,255,116,7,0,58,233,255,145,16,0,250,244,255,3,10,0,208,235,255,2,27,0,210,234,255,225,16,0,40,239,255,145,19,0,193,236,255,182,17,0,60,229,255,152,12,0,217,234,255, +10,16,0,104,237,255,194,11,0,103,241,255,170,3,0,1,245,255,165,12,0,105,240,255,129,13,0,64,244,255,217,6,0,51,244,255,82,7,0,178,244,255,63,6,0,151,244,255,60,14,0,11,244,255,102,13,0,13,246,255,6,8,0,135,255,255,35,13,0,137,251,255,242,10,0,29,245, +255,191,15,0,167,249,255,12,24,0,165,241,255,234,26,0,96,248,255,131,21,0,52,247,255,12,17,0,255,252,255,122,25,0,19,253,255,91,21,0,28,249,255,222,25,0,55,8,0,57,33,0,157,245,255,92,23,0,166,250,255,110,24,0,61,249,255,167,25,0,8,252,255,145,32,0,110, +254,255,209,27,0,208,249,255,60,28,0,211,248,255,79,34,0,18,6,0,230,35,0,148,255,255,68,21,0,66,6,0,226,31,0,226,6,0,208,33,0,197,254,255,232,28,0,164,254,255,176,29,0,147,8,0,118,31,0,143,1,0,30,37,0,201,5,0,163,40,0,91,12,0,81,32,0,204,15,0,94,38,0, +249,16,0,178,36,0,234,22,0,223,48,0,77,18,0,110,45,0,4,12,0,201,40,0,212,17,0,147,43,0,217,15,0,149,45,0,203,18,0,254,48,0,183,26,0,108,56,0,150,23,0,138,49,0,160,19,0,148,53,0,48,21,0,12,51,0,123,26,0,206,56,0,235,21,0,101,58,0,230,20,0,68,63,0,216, +15,0,221,55,0,208,21,0,41,60,0,169,15,0,151,61,0,6,24,0,10,75,0,138,19,0,148,78,0,83,28,0,149,64,0,79,24,0,84,66,0,254,18,0,248,75,0,107,26,0,185,68,0,185,27,0,89,66,0,28,28,0,224,65,0,0,26,0,16,81,0,183,22,0,175,71,0,136,35,0,74,76,0,56,27,0,116,75, +0,3,27,0,207,63,0,179,18,0,142,67,0,225,21,0,5,71,0,156,19,0,18,76,0,228,17,0,212,73,0,228,17,0,60,67,0,129,24,0,55,74,0,252,13,0,185,65,0,60,20,0,253,64,0,26,20,0,194,66,0,107,12,0,144,67,0,134,12,0,20,61,0,233,12,0,22,65,0,146,15,0,92,56,0,233,22,0, +109,47,0,77,18,0,43,54,0,231,3,0,233,55,0,12,27,0,176,54,0,9,11,0,72,55,0,245,15,0,114,47,0,121,26,0,108,49,0,36,23,0,219,52,0,183,18,0,109,46,0,169,23,0,227,56,0,202,23,0,249,48,0,222,23,0,158,59,0,48,30,0,210,52,0,192,24,0,19,56,0,113,21,0,213,58,0, +176,20,0,144,61,0,232,33,0,31,77,0,224,29,0,135,73,0,109,34,0,118,65,0,247,30,0,127,78,0,242,27,0,146,78,0,239,28,0,78,76,0,181,27,0,138,78,0,204,26,0,241,86,0,163,24,0,18,80,0,154,34,0,141,74,0,45,23,0,88,76,0,209,24,0,244,75,0,13,27,0,203,66,0,149, +24,0,69,75,0,251,30,0,200,60,0,9,33,0,121,66,0,26,27,0,74,57,0,170,21,0,255,54,0,229,19,0,5,44,0,122,28,0,183,49,0,66,29,0,110,42,0,93,22,0,165,37,0,11,16,0,28,38,0,68,19,0,150,44,0,64,27,0,35,42,0,90,16,0,162,44,0,186,13,0,230,39,0,236,14,0,123,37,0, +181,8,0,23,39,0,11,9,0,80,31,0,200,4,0,2,35,0,134,10,0,203,28,0,193,4,0,101,35,0,175,253,255,230,34,0,217,252,255,39,27,0,189,3,0,46,31,0,123,5,0,205,29,0,59,2,0,159,33,0,20,2,0,126,35,0,233,6,0,206,24,0,225,254,255,179,24,0,23,1,0,12,33,0,47,245,255, +185,37,0,146,6,0,23,25,0,59,2,0,66,28,0,9,3,0,84,35,0,202,3,0,55,48,0,45,254,255,229,31,0,69,5,0,230,41,0,10,15,0,91,53,0,83,9,0,144,49,0,133,6,0,146,46,0,19,8,0,227,56,0,213,20,0,44,63,0,42,1,0,185,48,0,146,2,0,225,56,0,0,16,0,152,54,0,205,8,0,38,54, +0,43,13,0,233,53,0,225,0,0,127,47,0,249,1,0,33,45,0,188,255,255,199,55,0,59,0,0,99,39,0,178,0,0,76,42,0,59,2,0,185,49,0,109,249,255,168,36,0,66,244,255,84,45,0,46,250,255,11,35,0,99,242,255,41,28,0,192,250,255,213,26,0,29,251,255,91,21,0,14,240,255,233, +22,0,68,5,0,194,14,0,16,249,255,210,17,0,130,239,255,118,7,0,55,255,255,149,25,0,133,246,255,128,10,0,222,1,0,20,20,0,206,248,255,160,18,0,60,250,255,139,24,0,134,9,0,95,27,0,92,4,0,38,26,0,39,252,255,23,21,0,63,14,0,253,27,0,45,2,0,77,26,0,119,254,255, +75,17,0,209,251,255,55,36,0,243,247,255,255,32,0,112,252,255,222,30,0,236,251,255,223,37,0,60,250,255,245,46,0,116,251,255,85,44,0,1,246,255,176,39,0,72,243,255,2,39,0,81,248,255,246,47,0,11,247,255,11,40,0,196,251,255,246,45,0,102,244,255,22,46,0,219, +254,255,106,43,0,26,254,255,0,41,0,246,250,255,131,45,0,8,250,255,250,47,0,1,250,255,74,44,0,225,0,0,142,40,0,158,11,0,50,56,0,14,3,0,93,44,0,230,4,0,94,40,0,189,8,0,252,53,0,118,11,0,103,50,0,254,19,0,59,60,0,185,18,0,203,48,0,154,12,0,45,51,0,6,23, +0,211,51,0,78,18,0,23,46,0,96,22,0,86,54,0,166,21,0,177,49,0,47,28,0,209,51,0,196,20,0,230,63,0,137,18,0,125,59,0,65,30,0,233,69,0,56,34,0,213,74,0,124,30,0,66,67,0,180,22,0,23,66,0,116,25,0,247,75,0,68,29,0,70,76,0,90,30,0,193,75,0,251,33,0,9,71,0,230, +40,0,109,81,0,234,32,0,91,75,0,198,43,0,146,83,0,39,43,0,91,85,0,28,49,0,46,83,0,111,53,0,230,78,0,92,46,0,253,82,0,9,45,0,248,85,0,65,56,0,104,86,0,17,48,0,198,82,0,54,57,0,150,84,0,171,49,0,186,78,0,107,55,0,206,76,0,191,52,0,154,74,0,239,50,0,51,78, +0,211,47,0,174,67,0,56,44,0,24,63,0,219,38,0,172,59,0,182,39,0,213,67,0,7,36,0,1,60,0,83,42,0,31,64,0,73,41,0,99,65,0,206,21,0,36,51,0,116,40,0,81,66,0,204,33,0,147,61,0,68,32,0,137,60,0,11,25,0,155,62,0,84,28,0,20,64,0,82,30,0,23,60,0,234,22,0,136,63, +0,4,28,0,151,69,0,92,21,0,163,66,0,45,26,0,97,74,0,33,24,0,9,74,0,42,25,0,157,75,0,209,23,0,48,69,0,93,27,0,96,80,0,7,30,0,211,79,0,70,26,0,136,62,0,67,22,0,12,71,0,137,24,0,141,67,0,41,28,0,160,75,0,139,25,0,221,65,0,203,24,0,122,60,0,13,25,0,153,54, +0,23,29,0,83,61,0,94,37,0,29,55,0,149,35,0,200,52,0,239,31,0,149,56,0,143,24,0,184,54,0,137,30,0,220,50,0,252,34,0,146,55,0,57,33,0,39,55,0,51,39,0,153,50,0,21,29,0,19,58,0,59,40,0,216,49,0,238,40,0,52,44,0,105,40,0,10,49,0,239,38,0,100,54,0,214,36,0, +37,44,0,54,33,0,168,49,0,13,41,0,161,55,0,74,30,0,30,47,0,60,21,0,19,48,0,153,21,0,181,41,0,66,27,0,104,42,0,223,29,0,236,42,0,218,24,0,171,34,0,248,17,0,158,43,0,176,23,0,230,40,0,187,10,0,199,23,0,155,11,0,13,41,0,43,17,0,227,39,0,83,255,255,59,23, +0,137,15,0,43,31,0,78,15,0,213,30,0,157,15,0,69,31,0,221,14,0,66,36,0,206,16,0,212,33,0,179,10,0,75,28,0,225,19,0,134,31,0,35,33,0,125,39,0,219,26,0,98,36,0,193,26,0,104,45,0,123,31,0,165,46,0,24,28,0,37,42,0,129,37,0,16,51,0,220,30,0,196,52,0,63,31, +0,49,45,0,46,39,0,114,51,0,251,36,0,35,55,0,9,31,0,180,55,0,53,43,0,113,48,0,123,35,0,158,54,0,35,41,0,120,52,0,97,39,0,113,52,0,97,36,0,145,55,0,78,33,0,78,55,0,55,35,0,83,54,0,126,41,0,65,62,0,126,31,0,241,54,0,9,22,0,145,56,0,237,37,0,80,64,0,14,35, +0,131,63,0,121,29,0,144,60,0,174,29,0,13,54,0,38,31,0,249,53,0,4,20,0,233,41,0,195,30,0,71,47,0,113,29,0,69,42,0,152,25,0,253,42,0,79,32,0,151,37,0,33,29,0,107,42,0,26,25,0,77,26,0,222,24,0,152,31,0,165,29,0,68,29,0,18,25,0,235,26,0,113,30,0,27,28,0, +4,21,0,220,22,0,223,36,0,102,22,0,151,33,0,193,18,0,243,33,0,159,14,0,246,20,0,199,14,0,116,21,0,40,3,0,223,22,0,30,12,0,106,8,0,165,251,255,47,12,0,14,255,255,63,6,0,181,252,255,149,7,0,239,248,255,208,251,255,190,250,255,214,254,255,9,0,0,239,253,255, +226,248,255,88,246,255,174,248,255,40,253,255,30,249,255,62,246,255,98,246,255,130,255,255,139,247,255,240,238,255,146,239,255,31,235,255,151,242,255,130,239,255,88,244,255,54,237,255,159,243,255,62,234,255,234,236,255,160,229,255,39,246,255,219,245, +255,115,244,255,112,232,255,219,247,255,155,238,255,79,238,255,112,223,255,205,238,255,67,232,255,207,239,255,84,222,255,95,227,255,188,233,255,59,254,255,206,236,255,88,239,255,87,232,255,182,244,255,201,237,255,131,245,255,176,225,255,221,244,255,155, +237,255,159,242,255,112,235,255,45,236,255,125,230,255,57,231,255,48,236,255,245,233,255,101,227,255,209,231,255,208,228,255,73,237,255,183,233,255,69,234,255,254,227,255,100,228,255,12,229,255,254,243,255,223,233,255,220,224,255,49,240,255,128,224,255, +93,220,255,87,214,255,81,230,255,218,222,255,233,230,255,197,216,255,144,223,255,163,211,255,64,222,255,130,206,255,7,219,255,241,214,255,1,215,255,246,208,255,20,209,255,241,194,255,16,225,255,195,209,255,91,212,255,189,194,255,23,210,255,65,190,255, +187,214,255,249,194,255,204,207,255,50,188,255,190,211,255,191,189,255,254,199,255,247,186,255,99,196,255,232,184,255,17,189,255,252,189,255,227,193,255,80,183,255,230,210,255,146,188,255,49,192,255,19,181,255,201,186,255,44,185,255,250,188,255,165,181, +255,146,184,255,190,179,255,14,193,255,42,182,255,134,184,255,110,178,255,53,187,255,30,171,255,90,201,255,236,172,255,204,196,255,181,175,255,14,203,255,228,186,255,79,196,255,50,174,255,156,199,255,25,175,255,237,200,255,13,181,255,20,201,255,148,183, +255,113,189,255,240,188,255,18,198,255,163,189,255,73,205,255,199,186,255,49,207,255,241,187,255,43,213,255,153,191,255,18,208,255,211,189,255,168,206,255,105,200,255,175,201,255,28,196,255,49,205,255,152,188,255,32,201,255,115,190,255,137,207,255,198, +193,255,203,200,255,55,200,255,74,209,255,238,198,255,9,203,255,144,184,255,104,212,255,218,185,255,129,197,255,132,178,255,99,206,255,75,185,255,233,201,255,146,183,255,80,206,255,191,182,255,25,197,255,161,177,255,217,197,255,233,176,255,86,197,255, +94,168,255,38,195,255,105,165,255,54,197,255,144,178,255,116,186,255,125,178,255,155,191,255,137,169,255,49,190,255,20,184,255,10,190,255,12,175,255,187,189,255,141,178,255,168,189,255,87,177,255,0,184,255,77,186,255,150,183,255,233,175,255,225,185,255, +236,171,255,203,181,255,189,184,255,129,187,255,143,183,255,20,189,255,88,180,255,232,189,255,174,195,255,123,185,255,21,185,255,69,191,255,219,192,255,35,196,255,132,199,255,135,198,255,223,188,255,196,207,255,61,199,255,181,196,255,13,188,255,75,203, +255,249,202,255,3,203,255,8,189,255,123,204,255,159,195,255,74,209,255,201,198,255,88,209,255,217,193,255,166,216,255,137,200,255,153,215,255,145,200,255,188,209,255,119,200,255,147,197,255,159,192,255,132,221,255,148,203,255,4,218,255,220,193,255,143, +218,255,98,178,255,134,223,255,132,188,255,192,202,255,68,180,255,20,210,255,213,199,255,49,213,255,11,192,255,9,211,255,238,186,255,30,213,255,204,183,255,37,214,255,121,186,255,221,212,255,8,182,255,87,209,255,34,171,255,170,214,255,185,181,255,42, +198,255,155,173,255,219,206,255,52,165,255,14,193,255,250,155,255,0,202,255,4,158,255,167,194,255,207,156,255,146,181,255,22,153,255,211,189,255,63,156,255,207,193,255,163,156,255,117,185,255,122,151,255,53,186,255,214,150,255,210,196,255,255,162,255, +96,179,255,239,145,255,130,179,255,179,153,255,234,189,255,211,162,255,3,186,255,154,165,255,110,188,255,41,162,255,190,174,255,182,153,255,123,185,255,13,168,255,8,192,255,114,172,255,240,181,255,77,162,255,254,194,255,9,169,255,111,197,255,137,174, +255,124,196,255,92,175,255,12,193,255,69,166,255,230,195,255,0,172,255,164,193,255,16,163,255,12,207,255,253,176,255,81,197,255,162,178,255,60,192,255,26,164,255,78,204,255,209,176,255,160,195,255,125,161,255,144,203,255,50,171,255,7,205,255,160,164, +255,205,187,255,27,156,255,24,192,255,81,159,255,97,194,255,199,155,255,203,195,255,85,164,255,207,186,255,182,160,255,182,188,255,185,145,255,43,185,255,124,159,255,116,184,255,157,155,255,145,190,255,143,149,255,113,194,255,11,143,255,245,194,255,247, +139,255,192,189,255,205,150,255,217,181,255,83,131,255,159,183,255,204,138,255,146,179,255,139,135,255,232,182,255,14,132,255,245,177,255,245,131,255,88,179,255,29,134,255,135,178,255,35,121,255,11,179,255,98,138,255,13,187,255,230,133,255,156,175,255, +216,126,255,84,173,255,54,132,255,229,170,255,16,137,255,111,172,255,16,127,255,107,182,255,104,136,255,120,172,255,71,127,255,227,184,255,14,138,255,42,176,255,113,131,255,109,181,255,23,140,255,63,172,255,161,139,255,111,181,255,85,149,255,14,192,255, +171,151,255,171,184,255,87,146,255,7,185,255,172,145,255,245,190,255,29,158,255,252,194,255,234,161,255,9,187,255,103,153,255,23,189,255,150,157,255,50,194,255,243,163,255,241,195,255,152,168,255,31,186,255,251,167,255,51,194,255,134,169,255,32,195,255, +55,178,255,118,192,255,95,178,255,20,201,255,254,180,255,198,197,255,45,164,255,145,203,255,130,174,255,27,208,255,117,183,255,186,207,255,217,178,255,167,206,255,198,181,255,233,199,255,166,175,255,36,203,255,42,179,255,220,210,255,49,177,255,23,215, +255,220,179,255,214,209,255,135,182,255,207,213,255,221,181,255,3,224,255,110,181,255,169,213,255,143,184,255,63,223,255,176,185,255,69,225,255,159,177,255,246,229,255,164,183,255,17,228,255,99,187,255,241,227,255,200,176,255,39,220,255,23,176,255,84, +221,255,107,189,255,236,219,255,96,182,255,62,237,255,255,177,255,208,233,255,123,182,255,63,235,255,202,184,255,222,228,255,130,188,255,181,235,255,45,188,255,17,234,255,255,191,255,69,238,255,171,188,255,188,234,255,108,203,255,216,229,255,65,196,255, +208,237,255,160,209,255,59,229,255,224,195,255,118,253,255,12,221,255,212,245,255,202,203,255,230,232,255,138,199,255,191,249,255,238,217,255,111,234,255,75,194,255,254,238,255,202,209,255,182,238,255,67,202,255,203,235,255,239,198,255,6,238,255,193, +201,255,116,239,255,206,201,255,84,239,255,104,197,255,230,236,255,72,196,255,196,240,255,13,194,255,232,230,255,26,182,255,75,231,255,175,171,255,142,229,255,169,186,255,206,233,255,21,183,255,86,222,255,221,161,255,255,225,255,170,174,255,139,222,255, +251,170,255,48,221,255,235,163,255,190,227,255,176,167,255,137,213,255,164,164,255,169,217,255,42,175,255,193,208,255,79,169,255,181,219,255,37,173,255,217,214,255,12,174,255,218,213,255,228,175,255,13,218,255,126,184,255,226,224,255,177,186,255,39,231, +255,23,195,255,166,227,255,89,194,255,47,230,255,231,199,255,175,224,255,61,211,255,92,242,255,92,214,255,166,229,255,18,208,255,171,242,255,161,209,255,115,238,255,219,213,255,116,236,255,123,209,255,135,237,255,112,216,255,141,238,255,37,211,255,6, +244,255,181,223,255,74,241,255,113,216,255,165,252,255,253,213,255,179,251,255,95,215,255,94,4,0,129,222,255,84,10,0,190,221,255,233,249,255,42,217,255,62,250,255,150,222,255,39,8,0,86,221,255,78,0,0,98,213,255,126,5,0,134,219,255,43,11,0,189,225,255, +127,13,0,21,221,255,31,10,0,194,210,255,237,14,0,249,216,255,48,13,0,255,225,255,108,19,0,8,232,255,128,19,0,28,223,255,173,20,0,151,225,255,176,16,0,244,215,255,189,23,0,252,222,255,239,18,0,244,224,255,160,19,0,52,219,255,36,26,0,224,217,255,142,32, +0,163,236,255,117,23,0,87,225,255,150,14,0,142,222,255,175,24,0,196,221,255,254,15,0,53,212,255,110,8,0,206,218,255,247,15,0,86,228,255,158,13,0,110,216,255,115,16,0,162,217,255,22,18,0,237,214,255,189,14,0,100,235,255,50,22,0,1,236,255,190,26,0,84,238, +255,132,32,0,21,243,255,188,28,0,244,242,255,106,38,0,153,249,255,43,42,0,177,252,255,138,38,0,36,5,0,24,48,0,248,10,0,83,47,0,133,0,0,193,47,0,196,252,255,231,55,0,25,10,0,14,56,0,176,3,0,31,70,0,124,9,0,55,66,0,208,10,0,238,71,0,240,10,0,13,61,0,96, +4,0,35,58,0,183,2,0,14,71,0,182,3,0,167,56,0,168,4,0,80,64,0,135,4,0,123,60,0,41,1,0,190,52,0,194,248,255,133,56,0,183,252,255,149,47,0,87,245,255,7,63,0,24,237,255,206,48,0,0,235,255,82,53,0,250,234,255,153,48,0,171,229,255,138,38,0,19,219,255,139,37, +0,219,227,255,88,35,0,209,219,255,48,30,0,69,216,255,114,24,0,82,211,255,41,25,0,156,215,255,118,31,0,98,215,255,230,25,0,215,210,255,222,15,0,87,198,255,96,27,0,143,206,255,190,4,0,115,202,255,255,10,0,129,212,255,211,3,0,213,203,255,39,20,0,248,206, +255,52,15,0,228,207,255,7,14,0,26,207,255,159,18,0,101,205,255,114,22,0,26,223,255,144,29,0,17,205,255,76,16,0,97,209,255,30,26,0,213,210,255,73,18,0,176,209,255,146,12,0,147,216,255,255,23,0,147,216,255,175,29,0,43,221,255,110,19,0,70,207,255,253,24, +0,72,215,255,176,32,0,171,219,255,136,19,0,120,223,255,191,21,0,216,215,255,137,18,0,149,212,255,247,28,0,91,207,255,29,20,0,111,221,255,39,22,0,59,216,255,198,29,0,202,217,255,172,20,0,167,219,255,183,17,0,239,210,255,165,25,0,49,224,255,170,21,0,241, +231,255,140,19,0,212,211,255,138,29,0,87,221,255,83,22,0,213,220,255,151,25,0,227,215,255,212,14,0,222,219,255,15,24,0,65,219,255,223,28,0,28,218,255,58,25,0,18,216,255,123,25,0,17,217,255,90,21,0,216,219,255,44,30,0,24,213,255,105,28,0,124,216,255,18, +13,0,59,204,255,125,11,0,23,206,255,202,4,0,138,208,255,227,12,0,206,202,255,136,4,0,54,196,255,242,7,0,56,191,255,177,11,0,40,197,255,211,254,255,212,196,255,2,250,255,13,186,255,64,248,255,14,190,255,108,253,255,112,190,255,146,2,0,230,194,255,103, +252,255,9,198,255,154,253,255,74,194,255,156,248,255,244,202,255,7,255,255,14,207,255,75,250,255,34,207,255,226,253,255,85,204,255,154,1,0,92,219,255,182,248,255,149,217,255,154,249,255,217,215,255,213,253,255,112,227,255,146,13,0,85,235,255,169,22,0, +237,234,255,235,25,0,137,239,255,66,21,0,96,247,255,6,29,0,206,244,255,74,34,0,104,250,255,82,33,0,231,252,255,87,41,0,181,251,255,111,49,0,221,5,0,27,52,0,174,9,0,170,52,0,212,10,0,4,57,0,202,15,0,88,64,0,54,21,0,112,65,0,70,23,0,101,74,0,41,28,0,137, +65,0,123,29,0,102,76,0,92,35,0,94,70,0,231,34,0,73,70,0,68,34,0,102,75,0,187,36,0,131,63,0,99,31,0,112,76,0,169,35,0,170,73,0,46,44,0,96,80,0,218,46,0,237,68,0,63,35,0,36,67,0,104,31,0,99,81,0,66,27,0,114,73,0,14,20,0,193,82,0,31,28,0,110,71,0,199,22, +0,114,85,0,14,33,0,255,73,0,222,17,0,82,71,0,39,20,0,168,74,0,232,18,0,195,76,0,134,15,0,92,72,0,45,17,0,58,66,0,137,17,0,128,73,0,116,27,0,18,69,0,18,8,0,94,70,0,217,19,0,130,65,0,229,13,0,188,74,0,227,20,0,46,64,0,242,25,0,82,68,0,60,19,0,10,65,0,112, +19,0,216,75,0,87,18,0,150,69,0,162,35,0,182,78,0,128,35,0,95,88,0,109,29,0,42,82,0,46,40,0,37,87,0,243,42,0,30,84,0,8,45,0,3,87,0,73,45,0,145,99,0,133,50,0,84,97,0,80,59,0,94,89,0,235,56,0,55,106,0,191,64,0,102,108,0,16,75,0,169,118,0,155,68,0,57,113, +0,220,62,0,5,121,0,20,64,0,106,119,0,255,69,0,41,130,0,34,83,0,92,130,0,32,78,0,238,128,0,55,76,0,134,125,0,10,67,0,186,130,0,148,75,0,96,132,0,147,75,0,156,125,0,80,67,0,219,134,0,116,71,0,149,122,0,185,69,0,152,123,0,219,60,0,27,123,0,146,52,0,233, +118,0,185,38,0,84,120,0,53,55,0,19,114,0,233,45,0,50,109,0,175,39,0,152,104,0,172,35,0,214,97,0,123,39,0,41,101,0,248,38,0,229,90,0,59,25,0,127,94,0,162,25,0,35,86,0,107,13,0,22,86,0,163,22,0,254,76,0,137,14,0,17,74,0,169,14,0,64,76,0,184,13,0,155,73, +0,105,11,0,220,73,0,179,10,0,12,70,0,174,4,0,23,68,0,82,12,0,16,68,0,42,253,255,153,65,0,42,243,255,238,67,0,118,254,255,20,66,0,3,248,255,66,63,0,2,251,255,54,70,0,119,5,0,188,73,0,111,249,255,61,67,0,211,243,255,188,60,0,185,248,255,240,65,0,133,248, +255,154,53,0,205,243,255,154,65,0,204,246,255,161,57,0,183,249,255,7,49,0,177,239,255,217,60,0,95,243,255,235,58,0,172,236,255,78,51,0,77,235,255,111,58,0,202,230,255,23,47,0,54,227,255,87,40,0,118,225,255,75,37,0,213,216,255,68,37,0,101,217,255,52,38, +0,100,215,255,164,35,0,170,211,255,139,37,0,206,224,255,198,32,0,34,216,255,169,33,0,11,210,255,189,35,0,53,209,255,137,30,0,197,223,255,154,38,0,181,224,255,127,31,0,72,219,255,69,24,0,236,221,255,209,25,0,169,217,255,58,30,0,99,226,255,230,24,0,165, +221,255,122,28,0,239,234,255,92,29,0,165,226,255,110,25,0,193,232,255,130,27,0,234,234,255,62,28,0,56,237,255,223,33,0,157,238,255,145,26,0,98,243,255,50,25,0,119,238,255,80,17,0,145,247,255,217,28,0,163,252,255,2,26,0,102,246,255,148,16,0,152,240,255, +219,27,0,199,244,255,175,22,0,118,234,255,255,28,0,250,249,255,11,27,0,86,234,255,111,28,0,184,234,255,67,32,0,88,238,255,60,32,0,78,239,255,178,27,0,204,223,255,67,23,0,190,232,255,253,28,0,71,222,255,20,34,0,93,215,255,37,26,0,63,212,255,0,19,0,240, +207,255,69,24,0,239,201,255,23,20,0,167,208,255,254,10,0,18,206,255,180,15,0,71,197,255,143,8,0,173,200,255,85,10,0,140,196,255,136,6,0,12,185,255,139,3,0,228,191,255,63,15,0,253,183,255,62,9,0,95,184,255,219,250,255,30,178,255,209,251,255,115,178,255, +177,251,255,197,181,255,122,250,255,4,185,255,26,241,255,121,187,255,1,245,255,73,182,255,241,243,255,45,187,255,20,241,255,156,187,255,208,233,255,221,181,255,111,245,255,115,192,255,27,243,255,125,191,255,163,229,255,245,196,255,7,229,255,239,184,255, +21,239,255,130,190,255,245,232,255,241,196,255,145,229,255,118,190,255,148,236,255,93,204,255,177,229,255,193,181,255,213,240,255,80,194,255,193,240,255,23,192,255,80,245,255,127,188,255,171,241,255,69,196,255,90,236,255,228,195,255,68,239,255,167,198, +255,197,241,255,19,190,255,244,235,255,243,187,255,146,245,255,82,191,255,153,241,255,64,183,255,247,234,255,18,185,255,170,238,255,75,178,255,215,236,255,3,186,255,201,244,255,63,180,255,159,245,255,245,184,255,12,233,255,181,180,255,135,235,255,100, +185,255,223,232,255,65,184,255,191,230,255,22,176,255,17,245,255,27,186,255,42,230,255,111,175,255,10,232,255,236,184,255,188,233,255,17,180,255,251,243,255,109,191,255,79,246,255,219,195,255,175,233,255,164,198,255,63,247,255,62,192,255,49,251,255,55, +198,255,216,255,255,143,197,255,83,245,255,243,211,255,2,246,255,117,201,255,148,243,255,194,203,255,228,248,255,80,208,255,20,252,255,109,200,255,163,250,255,153,217,255,105,1,0,45,213,255,49,251,255,155,213,255,33,252,255,74,214,255,247,241,255,62, +203,255,205,249,255,229,216,255,91,234,255,135,208,255,150,248,255,200,219,255,83,240,255,15,204,255,235,239,255,35,202,255,220,236,255,67,204,255,220,236,255,27,199,255,14,241,255,214,203,255,147,235,255,12,207,255,59,243,255,44,209,255,162,238,255, +110,207,255,149,231,255,126,210,255,4,230,255,231,199,255,183,234,255,22,198,255,108,230,255,42,198,255,55,239,255,193,208,255,152,241,255,137,211,255,3,227,255,52,206,255,8,245,255,254,218,255,125,238,255,104,220,255,60,243,255,62,214,255,100,248,255, +102,224,255,207,0,0,168,224,255,172,248,255,180,219,255,85,3,0,172,235,255,49,4,0,10,230,255,204,253,255,0,236,255,186,7,0,47,234,255,236,4,0,126,237,255,144,11,0,73,239,255,57,10,0,225,240,255,124,13,0,223,244,255,46,23,0,163,246,255,132,16,0,49,242, +255,145,9,0,148,250,255,47,26,0,10,254,255,78,18,0,85,243,255,156,13,0,174,240,255,15,14,0,66,248,255,138,14,0,116,255,255,232,10,0,0,245,255,252,13,0,235,246,255,228,19,0,89,247,255,24,15,0,168,240,255,222,14,0,35,251,255,224,15,0,157,243,255,247,1, +0,136,240,255,84,8,0,128,239,255,233,16,0,13,237,255,50,18,0,29,238,255,146,23,0,70,239,255,151,17,0,25,242,255,241,17,0,53,232,255,10,23,0,168,234,255,172,10,0,173,228,255,27,17,0,211,230,255,8,17,0,73,232,255,66,17,0,145,232,255,18,16,0,98,234,255, +197,26,0,5,241,255,50,8,0,47,226,255,146,10,0,180,233,255,204,13,0,158,221,255,212,11,0,179,227,255,176,12,0,149,228,255,98,4,0,30,224,255,124,4,0,117,228,255,140,5,0,82,232,255,11,5,0,22,223,255,32,0,0,169,222,255,135,0,0,113,220,255,158,255,255,56, +226,255,86,249,255,47,225,255,115,0,0,229,228,255,17,247,255,47,219,255,183,249,255,72,230,255,186,250,255,102,220,255,3,238,255,52,218,255,41,246,255,60,227,255,52,245,255,74,213,255,121,250,255,32,226,255,7,251,255,211,225,255,181,245,255,151,227,255, +82,241,255,197,230,255,225,244,255,7,223,255,68,249,255,240,226,255,212,241,255,230,221,255,214,239,255,58,222,255,100,237,255,56,224,255,228,239,255,87,217,255,116,241,255,15,220,255,210,231,255,186,212,255,150,242,255,102,218,255,60,239,255,173,215, +255,127,237,255,144,207,255,32,232,255,123,209,255,136,229,255,32,202,255,120,224,255,28,206,255,10,224,255,200,208,255,5,231,255,80,200,255,87,233,255,51,198,255,117,222,255,241,202,255,69,227,255,183,199,255,247,216,255,73,202,255,90,215,255,132,199, +255,134,227,255,19,197,255,112,209,255,102,193,255,35,219,255,213,193,255,105,215,255,141,199,255,128,207,255,31,199,255,37,203,255,30,195,255,105,208,255,247,200,255,238,200,255,214,199,255,189,208,255,14,202,255,240,217,255,172,207,255,45,206,255,176, +202,255,246,213,255,51,204,255,125,207,255,57,210,255,137,213,255,202,208,255,221,213,255,165,202,255,60,220,255,93,215,255,113,224,255,20,207,255,202,223,255,130,207,255,108,214,255,55,201,255,38,211,255,107,201,255,12,228,255,39,206,255,119,223,255, +90,202,255,19,214,255,142,202,255,56,227,255,215,206,255,189,215,255,214,191,255,72,214,255,255,192,255,25,209,255,157,191,255,246,203,255,169,183,255,222,211,255,229,184,255,28,203,255,153,188,255,206,205,255,198,180,255,254,203,255,42,183,255,128,193, +255,229,186,255,152,203,255,241,178,255,202,194,255,103,176,255,67,198,255,129,191,255,216,202,255,12,186,255,14,196,255,36,188,255,238,195,255,21,183,255,87,197,255,77,189,255,212,198,255,36,199,255,217,201,255,207,201,255,50,197,255,89,207,255,84,198, +255,127,199,255,183,195,255,102,211,255,71,205,255,164,201,255,224,208,255,221,212,255,2,214,255,181,219,255,148,212,255,106,208,255,103,208,255,29,216,255,214,221,255,185,213,255,89,211,255,219,214,255,165,210,255,93,207,255,25,215,255,65,201,255,227, +208,255,200,205,255,109,206,255,91,205,255,34,220,255,159,211,255,4,217,255,48,210,255,222,212,255,111,209,255,54,224,255,51,216,255,193,222,255,226,212,255,20,214,255,107,205,255,227,223,255,38,219,255,153,225,255,162,220,255,21,223,255,4,222,255,90, +230,255,130,220,255,190,232,255,125,225,255,233,226,255,157,225,255,191,233,255,78,219,255,80,227,255,180,227,255,98,226,255,142,223,255,143,226,255,117,237,255,78,230,255,5,230,255,238,238,255,123,232,255,212,233,255,8,242,255,222,226,255,209,238,255, +242,226,255,100,238,255,62,222,255,83,225,255,252,234,255,220,236,255,24,222,255,152,233,255,44,222,255,190,228,255,122,227,255,147,229,255,170,229,255,150,241,255,42,220,255,218,234,255,69,225,255,110,230,255,39,222,255,141,239,255,113,219,255,215,236, +255,113,224,255,179,238,255,63,230,255,129,239,255,27,222,255,74,241,255,207,222,255,94,242,255,158,218,255,17,247,255,213,226,255,173,254,255,19,220,255,208,251,255,205,224,255,98,250,255,242,217,255,181,250,255,150,226,255,106,1,0,34,226,255,233,250, +255,221,237,255,216,246,255,160,229,255,93,246,255,252,225,255,249,241,255,93,237,255,46,244,255,62,227,255,6,248,255,143,224,255,71,237,255,129,240,255,41,245,255,241,225,255,197,235,255,115,233,255,227,233,255,205,233,255,226,232,255,38,233,255,41, +233,255,248,231,255,18,223,255,59,228,255,198,229,255,215,223,255,58,218,255,113,230,255,64,230,255,142,227,255,186,223,255,24,225,255,54,225,255,42,229,255,83,222,255,136,227,255,32,223,255,218,225,255,230,221,255,157,228,255,247,218,255,2,227,255,53, +223,255,83,230,255,22,224,255,188,232,255,104,216,255,29,227,255,79,216,255,46,231,255,158,231,255,4,228,255,115,226,255,240,225,255,88,225,255,39,230,255,49,224,255,76,214,255,155,227,255,115,221,255,235,230,255,187,223,255,5,231,255,237,207,255,168, +227,255,162,223,255,157,242,255,77,229,255,124,227,255,40,222,255,107,229,255,189,224,255,18,237,255,158,216,255,163,234,255,93,223,255,163,233,255,9,222,255,253,241,255,9,230,255,88,235,255,23,223,255,243,237,255,122,225,255,13,238,255,97,234,255,120, +243,255,182,228,255,6,229,255,236,231,255,76,245,255,230,231,255,116,246,255,154,233,255,136,238,255,67,228,255,82,243,255,119,228,255,216,241,255,141,223,255,109,236,255,82,238,255,175,247,255,170,235,255,193,245,255,92,234,255,23,249,255,159,228,255, +82,242,255,235,227,255,128,243,255,45,239,255,222,240,255,194,223,255,73,238,255,186,230,255,142,245,255,83,228,255,180,235,255,41,232,255,231,242,255,56,226,255,233,237,255,109,217,255,196,238,255,134,226,255,120,239,255,63,226,255,199,242,255,152,223, +255,104,234,255,164,233,255,105,235,255,180,226,255,104,244,255,107,233,255,252,235,255,92,219,255,145,237,255,228,219,255,57,240,255,232,226,255,201,234,255,108,221,255,246,234,255,9,227,255,61,246,255,185,209,255,232,230,255,152,220,255,207,242,255, +51,221,255,43,235,255,221,226,255,212,241,255,147,219,255,143,242,255,23,227,255,43,247,255,21,223,255,24,248,255,142,220,255,57,249,255,58,232,255,254,246,255,113,226,255,80,245,255,248,226,255,67,2,0,211,228,255,218,251,255,166,229,255,194,255,255, +59,231,255,10,3,0,102,227,255,175,0,0,231,242,255,64,250,255,219,230,255,225,251,255,175,246,255,32,249,255,180,245,255,77,250,255,207,231,255,115,249,255,250,241,255,199,251,255,149,229,255,65,251,255,61,232,255,87,242,255,53,244,255,181,253,255,118, +228,255,113,242,255,18,235,255,208,238,255,255,236,255,50,245,255,131,229,255,5,244,255,60,224,255,153,245,255,34,221,255,19,247,255,156,223,255,160,248,255,249,232,255,69,243,255,105,221,255,33,250,255,246,221,255,172,243,255,107,227,255,114,242,255, +226,216,255,253,237,255,167,210,255,228,237,255,130,212,255,49,239,255,226,212,255,42,236,255,47,209,255,107,240,255,119,215,255,82,241,255,144,209,255,255,236,255,227,208,255,234,232,255,189,211,255,16,229,255,254,215,255,203,232,255,242,213,255,96, +242,255,76,214,255,153,237,255,177,203,255,185,232,255,90,216,255,153,237,255,218,218,255,51,240,255,251,218,255,1,250,255,109,211,255,136,249,255,2,223,255,2,254,255,28,218,255,15,0,0,21,213,255,91,244,255,214,222,255,66,5,0,227,220,255,213,246,255, +195,218,255,27,254,255,234,222,255,200,248,255,74,222,255,193,241,255,42,222,255,123,240,255,4,212,255,8,230,255,242,232,255,219,240,255,43,228,255,66,234,255,82,222,255,47,237,255,153,216,255,54,240,255,76,211,255,233,245,255,128,212,255,169,238,255, +218,213,255,99,231,255,167,217,255,118,236,255,59,214,255,73,245,255,130,205,255,144,246,255,238,219,255,48,240,255,157,200,255,35,249,255,169,218,255,15,252,255,214,212,255,72,6,0,80,215,255,98,7,0,188,218,255,201,252,255,248,206,255,238,3,0,55,215, +255,180,8,0,63,210,255,169,253,255,196,217,255,96,14,0,101,217,255,34,255,255,229,217,255,115,12,0,107,220,255,103,11,0,95,221,255,186,8,0,224,217,255,84,9,0,146,222,255,89,13,0,228,228,255,101,17,0,47,239,255,208,27,0,177,229,255,114,16,0,23,235,255, +85,28,0,110,246,255,35,23,0,231,246,255,53,27,0,200,246,255,248,39,0,97,248,255,19,32,0,212,250,255,228,40,0,90,250,255,114,35,0,233,7,0,197,58,0,214,9,0,254,55,0,11,4,0,40,63,0,118,8,0,85,62,0,59,13,0,30,73,0,106,24,0,95,67,0,145,23,0,38,81,0,173,14, +0,103,79,0,35,25,0,25,80,0,112,24,0,46,91,0,242,36,0,222,95,0,4,37,0,239,100,0,180,29,0,93,94,0,250,44,0,94,106,0,87,35,0,70,100,0,129,42,0,0,113,0,162,39,0,59,108,0,217,43,0,172,111,0,101,44,0,88,110,0,144,46,0,53,114,0,169,47,0,211,116,0,252,47,0,232, +97,0,3,45,0,249,100,0,95,40,0,127,98,0,107,39,0,180,94,0,183,42,0,34,90,0,227,42,0,55,85,0,109,35,0,60,87,0,202,38,0,172,78,0,213,31,0,73,82,0,34,29,0,196,67,0,155,30,0,76,64,0,164,26,0,131,66,0,153,32,0,89,61,0,32,20,0,189,63,0,208,24,0,153,59,0,91, +28,0,220,63,0,230,19,0,127,47,0,130,15,0,241,59,0,194,26,0,108,67,0,244,6,0,189,59,0,213,15,0,104,71,0,220,4,0,246,58,0,13,17,0,112,57,0,25,9,0,47,58,0,42,22,0,44,71,0,192,16,0,90,68,0,48,22,0,254,70,0,171,19,0,211,76,0,77,16,0,188,81,0,220,21,0,191, +75,0,54,12,0,78,72,0,90,15,0,251,70,0,137,21,0,130,78,0,32,16,0,131,68,0,165,25,0,46,77,0,153,16,0,87,73,0,150,28,0,255,61,0,216,25,0,168,66,0,100,17,0,103,66,0,9,20,0,39,58,0,185,23,0,114,68,0,189,10,0,232,54,0,71,13,0,64,56,0,16,18,0,66,54,0,251,11, +0,235,49,0,138,10,0,255,48,0,187,4,0,30,42,0,174,12,0,198,46,0,16,10,0,227,42,0,2,4,0,111,43,0,57,6,0,130,35,0,138,9,0,152,39,0,232,3,0,96,37,0,8,253,255,45,37,0,203,249,255,244,35,0,209,243,255,9,33,0,93,251,255,125,39,0,168,3,0,159,30,0,253,244,255, +106,31,0,249,248,255,220,39,0,15,246,255,207,38,0,177,250,255,10,38,0,140,249,255,80,37,0,225,253,255,179,46,0,142,241,255,79,44,0,82,250,255,235,59,0,1,254,255,102,40,0,140,249,255,99,54,0,219,247,255,34,49,0,224,248,255,189,47,0,159,249,255,25,56,0, +64,255,255,252,53,0,209,0,0,167,60,0,157,7,0,169,64,0,126,7,0,86,57,0,170,7,0,179,59,0,146,11,0,149,57,0,10,19,0,46,63,0,128,16,0,201,67,0,167,26,0,186,73,0,102,22,0,110,73,0,100,28,0,225,83,0,42,29,0,23,75,0,54,35,0,77,72,0,123,30,0,247,84,0,1,30,0, +17,84,0,28,29,0,221,83,0,65,30,0,125,94,0,218,40,0,245,99,0,70,46,0,165,96,0,14,29,0,35,93,0,23,42,0,234,101,0,96,45,0,155,102,0,149,43,0,50,114,0,59,43,0,211,112,0,147,49,0,14,116,0,75,45,0,108,121,0,46,48,0,204,125,0,32,53,0,160,119,0,61,55,0,156,121, +0,29,55,0,130,126,0,6,57,0,29,129,0,22,50,0,155,124,0,224,55,0,119,136,0,217,56,0,7,124,0,207,53,0,122,132,0,218,59,0,204,141,0,141,63,0,171,132,0,17,65,0,95,140,0,148,58,0,194,137,0,66,57,0,194,127,0,25,58,0,72,131,0,111,60,0,212,140,0,113,63,0,125, +137,0,163,54,0,67,137,0,151,58,0,231,146,0,117,72,0,139,143,0,53,72,0,150,143,0,225,63,0,12,141,0,164,74,0,175,142,0,236,76,0,81,144,0,93,82,0,141,146,0,62,81,0,37,146,0,20,79,0,39,144,0,135,82,0,182,150,0,136,89,0,180,154,0,77,98,0,27,154,0,130,88,0, +198,145,0,112,99,0,41,155,0,145,90,0,18,153,0,179,96,0,151,152,0,161,99,0,100,160,0,177,92,0,127,158,0,32,111,0,240,166,0,240,96,0,250,151,0,3,108,0,159,155,0,68,103,0,185,158,0,224,100,0,251,160,0,17,102,0,124,166,0,18,105,0,132,157,0,147,107,0,28,165, +0,17,104,0,199,157,0,168,93,0,40,156,0,89,94,0,149,159,0,160,93,0,241,156,0,198,100,0,23,164,0,104,91,0,202,155,0,242,88,0,194,159,0,219,86,0,62,157,0,212,90,0,223,155,0,219,82,0,110,157,0,38,83,0,127,154,0,110,85,0,135,149,0,11,80,0,173,148,0,131,87, +0,130,150,0,36,86,0,233,156,0,149,94,0,167,146,0,222,88,0,92,148,0,63,88,0,156,147,0,40,86,0,129,154,0,16,95,0,185,147,0,66,88,0,30,141,0,216,89,0,66,141,0,162,94,0,23,140,0,173,91,0,202,142,0,158,92,0,119,135,0,181,93,0,90,133,0,178,87,0,66,135,0,181, +95,0,38,139,0,235,83,0,114,128,0,214,87,0,120,128,0,5,83,0,108,127,0,17,83,0,198,139,0,104,84,0,31,136,0,230,77,0,240,136,0,37,88,0,173,134,0,101,78,0,217,140,0,90,86,0,27,139,0,176,71,0,108,136,0,215,83,0,139,139,0,237,78,0,31,132,0,48,74,0,132,135, +0,93,95,0,167,139,0,55,76,0,22,135,0,195,82,0,30,146,0,194,82,0,238,137,0,210,86,0,248,131,0,20,95,0,103,130,0,150,84,0,160,130,0,105,84,0,76,130,0,49,80,0,229,126,0,243,81,0,90,125,0,64,90,0,11,123,0,207,82,0,166,118,0,219,94,0,125,122,0,235,83,0,112, +119,0,89,77,0,165,117,0,171,74,0,76,111,0,191,73,0,179,104,0,226,77,0,116,109,0,49,71,0,177,101,0,168,74,0,164,101,0,200,62,0,87,98,0,229,66,0,99,95,0,195,61,0,71,90,0,63,60,0,146,96,0,251,44,0,194,91,0,237,53,0,25,84,0,212,55,0,126,75,0,30,57,0,8,88, +0,162,46,0,230,82,0,113,45,0,251,75,0,250,49,0,201,83,0,240,39,0,27,81,0,28,40,0,116,78,0,123,51,0,81,82,0,23,50,0,133,81,0,8,40,0,144,84,0,152,46,0,190,86,0,108,43,0,62,86,0,35,47,0,233,91,0,160,53,0,179,95,0,60,55,0,82,90,0,62,54,0,218,94,0,140,50, +0,119,87,0,80,62,0,81,95,0,82,53,0,145,89,0,162,51,0,177,94,0,224,62,0,69,96,0,18,58,0,146,90,0,49,63,0,156,83,0,233,55,0,44,82,0,66,61,0,39,84,0,193,58,0,26,81,0,138,57,0,139,76,0,51,51,0,187,74,0,99,52,0,47,69,0,222,43,0,115,72,0,162,44,0,217,64,0, +93,46,0,179,74,0,139,43,0,31,72,0,151,43,0,172,66,0,239,43,0,93,72,0,75,40,0,190,71,0,236,39,0,251,69,0,30,35,0,232,64,0,38,32,0,244,59,0,218,33,0,74,56,0,12,27,0,166,47,0,71,36,0,41,49,0,137,35,0,252,48,0,138,32,0,9,46,0,248,31,0,81,50,0,158,19,0,48, +38,0,28,25,0,66,29,0,192,23,0,181,33,0,99,10,0,251,23,0,150,10,0,249,36,0,140,253,255,9,26,0,236,18,0,28,26,0,131,10,0,245,35,0,105,17,0,89,36,0,143,10,0,177,34,0,221,2,0,43,34,0,178,11,0,221,50,0,116,8,0,5,41,0,145,14,0,60,51,0,68,14,0,95,47,0,207,19, +0,105,55,0,46,22,0,224,55,0,189,30,0,210,67,0,0,27,0,5,63,0,211,33,0,162,61,0,48,30,0,103,57,0,1,31,0,113,67,0,106,34,0,203,55,0,116,35,0,3,47,0,141,44,0,185,63,0,67,34,0,219,53,0,183,42,0,209,52,0,26,42,0,183,50,0,85,41,0,8,51,0,117,45,0,83,47,0,238, +47,0,234,34,0,84,41,0,139,34,0,113,46,0,97,33,0,191,32,0,79,26,0,221,39,0,92,19,0,123,27,0,204,11,0,230,14,0,64,9,0,78,25,0,20,7,0,92,18,0,30,10,0,98,16,0,150,8,0,101,19,0,51,248,255,59,14,0,176,255,255,109,12,0,138,253,255,228,4,0,196,244,255,112,250, +255,13,246,255,159,251,255,124,249,255,27,255,255,192,252,255,178,247,255,14,252,255,237,238,255,11,247,255,240,237,255,207,247,255,35,242,255,196,240,255,228,239,255,6,5,0,133,233,255,124,245,255,63,235,255,39,248,255,155,230,255,255,252,255,215,233, +255,40,252,255,215,231,255,239,249,255,51,225,255,81,245,255,159,241,255,15,0,0,140,237,255,204,0,0,24,234,255,198,4,0,179,247,255,176,11,0,255,241,255,69,5,0,119,246,255,59,14,0,163,252,255,217,10,0,157,252,255,230,8,0,243,251,255,109,10,0,77,11,0,232, +13,0,12,0,0,147,4,0,14,19,0,201,17,0,96,15,0,103,14,0,14,13,0,206,13,0,40,5,0,135,8,0,154,5,0,43,3,0,177,19,0,251,13,0,76,17,0,50,255,255,39,7,0,141,252,255,174,12,0,37,251,255,122,1,0,165,245,255,129,251,255,31,251,255,52,5,0,221,249,255,18,250,255, +190,245,255,53,255,255,190,247,255,28,251,255,210,241,255,185,240,255,40,239,255,25,235,255,196,230,255,122,242,255,183,234,255,216,231,255,90,224,255,244,234,255,44,221,255,209,235,255,83,217,255,192,238,255,214,214,255,243,236,255,218,213,255,41,238, +255,20,219,255,44,230,255,71,208,255,234,224,255,26,199,255,68,223,255,191,197,255,80,225,255,37,209,255,144,234,255,154,197,255,14,237,255,97,212,255,97,224,255,60,201,255,105,229,255,40,205,255,79,233,255,25,204,255,108,232,255,166,209,255,235,230, +255,189,208,255,74,231,255,101,217,255,46,221,255,147,220,255,43,222,255,241,206,255,170,229,255,67,225,255,191,232,255,91,213,255,20,227,255,161,211,255,179,232,255,67,211,255,107,231,255,24,209,255,139,229,255,131,204,255,92,221,255,150,204,255,237, +223,255,238,213,255,48,223,255,18,206,255,18,214,255,139,190,255,200,223,255,201,199,255,128,208,255,214,194,255,184,205,255,69,194,255,104,208,255,130,193,255,16,203,255,11,186,255,51,209,255,93,188,255,130,208,255,180,190,255,30,203,255,254,189,255, +68,196,255,116,172,255,233,206,255,86,187,255,1,206,255,207,185,255,135,202,255,118,177,255,100,193,255,248,183,255,140,201,255,166,178,255,248,201,255,225,181,255,22,196,255,121,172,255,31,187,255,252,164,255,173,198,255,135,177,255,125,199,255,202, +171,255,211,205,255,78,184,255,222,192,255,237,172,255,102,192,255,165,183,255,2,197,255,184,175,255,12,201,255,252,182,255,40,194,255,139,187,255,71,191,255,40,190,255,74,205,255,182,191,255,222,188,255,157,191,255,25,195,255,9,192,255,237,191,255,215, +186,255,119,194,255,41,192,255,12,194,255,211,184,255,241,197,255,235,178,255,158,194,255,30,192,255,77,202,255,47,188,255,36,198,255,58,182,255,70,191,255,92,180,255,83,196,255,235,171,255,198,191,255,161,166,255,15,199,255,129,171,255,252,184,255,23, +171,255,66,188,255,107,161,255,68,178,255,197,153,255,135,190,255,83,158,255,52,189,255,31,157,255,104,179,255,74,148,255,2,186,255,62,159,255,180,178,255,151,148,255,228,177,255,236,146,255,75,184,255,151,147,255,7,173,255,149,154,255,229,168,255,95, +149,255,106,169,255,29,153,255,162,163,255,244,153,255,145,166,255,221,151,255,114,166,255,196,145,255,45,160,255,235,156,255,143,161,255,116,145,255,67,152,255,190,141,255,80,146,255,250,139,255,195,161,255,52,146,255,143,148,255,204,140,255,175,154, +255,237,146,255,33,158,255,229,151,255,55,156,255,109,150,255,44,162,255,185,150,255,219,146,255,175,142,255,207,158,255,254,152,255,67,151,255,150,147,255,175,157,255,40,154,255,237,159,255,64,159,255,47,164,255,254,150,255,8,160,255,36,163,255,82,147, +255,240,158,255,70,159,255,149,162,255,71,153,255,17,165,255,84,165,255,71,157,255,37,157,255,71,160,255,104,165,255,28,160,255,192,158,255,197,159,255,150,159,255,215,158,255,43,158,255,154,165,255,188,158,255,86,165,255,147,159,255,28,164,255,214,164, +255,51,166,255,189,167,255,186,167,255,198,171,255,213,164,255,142,174,255,91,169,255,139,166,255,40,168,255,5,174,255,52,171,255,101,175,255,83,177,255,41,179,255,202,176,255,133,184,255,24,175,255,249,172,255,129,187,255,242,178,255,163,188,255,129, +174,255,168,187,255,189,186,255,179,196,255,188,182,255,131,190,255,8,186,255,71,198,255,88,195,255,44,207,255,101,195,255,71,204,255,0,198,255,176,217,255,81,197,255,19,210,255,139,201,255,24,219,255,104,199,255,43,219,255,81,200,255,91,214,255,196, +197,255,39,213,255,215,204,255,60,214,255,212,206,255,164,216,255,232,195,255,213,222,255,40,204,255,82,208,255,211,197,255,78,209,255,233,206,255,139,215,255,108,195,255,124,210,255,217,200,255,208,211,255,138,216,255,24,206,255,43,204,255,231,198,255, +159,198,255,212,190,255,130,214,255,212,212,255,129,202,255,32,210,255,233,200,255,221,202,255,165,208,255,97,218,255,49,206,255,35,211,255,143,194,255,20,213,255,147,200,255,104,210,255,173,204,255,123,222,255,189,206,255,90,217,255,213,209,255,224, +222,255,201,213,255,47,221,255,165,214,255,174,225,255,155,215,255,109,228,255,89,217,255,100,222,255,62,220,255,210,244,255,157,220,255,153,240,255,122,234,255,26,239,255,14,229,255,191,240,255,252,228,255,232,234,255,205,230,255,224,245,255,89,232, +255,152,239,255,125,231,255,117,249,255,1,236,255,67,253,255,85,233,255,205,240,255,174,238,255,202,238,255,175,226,255,250,232,255,229,237,255,87,245,255,15,237,255,7,233,255,135,237,255,151,242,255,132,230,255,11,236,255,213,225,255,141,239,255,15, +245,255,68,240,255,98,232,255,139,242,255,27,231,255,184,247,255,103,236,255,139,242,255,139,230,255,198,243,255,125,229,255,76,246,255,72,231,255,57,241,255,211,232,255,193,249,255,118,227,255,1,255,255,6,228,255,115,251,255,147,235,255,41,6,0,142,226, +255,134,251,255,138,247,255,32,9,0,248,240,255,214,4,0,106,246,255,79,1,0,197,229,255,112,253,255,53,239,255,198,11,0,29,240,255,42,7,0,122,239,255,223,1,0,81,241,255,27,5,0,238,241,255,128,5,0,141,244,255,32,255,255,19,246,255,151,9,0,228,243,255,2, +10,0,7,252,255,142,12,0,114,7,0,45,15,0,174,250,255,139,10,0,173,254,255,91,11,0,62,0,0,23,18,0,81,6,0,75,20,0,43,6,0,95,16,0,186,5,0,62,36,0,249,16,0,38,38,0,127,13,0,3,35,0,169,18,0,12,37,0,99,17,0,172,35,0,17,22,0,79,36,0,242,16,0,175,44,0,239,19, +0,3,48,0,245,19,0,114,40,0,124,35,0,139,58,0,214,20,0,30,39,0,41,22,0,180,57,0,250,13,0,86,51,0,43,12,0,110,44,0,85,11,0,47,45,0,139,8,0,17,46,0,31,13,0,36,40,0,161,255,255,118,29,0,90,4,0,87,29,0,94,1,0,217,21,0,117,255,255,7,25,0,220,1,0,13,24,0,167, +255,255,173,16,0,85,241,255,66,21,0,40,246,255,149,16,0,134,246,255,209,6,0,255,248,255,223,15,0,27,238,255,68,4,0,217,240,255,113,12,0,91,247,255,225,18,0,4,247,255,18,25,0,40,245,255,12,26,0,47,246,255,130,25,0,247,253,255,1,28,0,193,249,255,23,40, +0,124,248,255,131,42,0,195,251,255,49,49,0,112,248,255,90,39,0,142,6,0,78,48,0,237,0,0,48,50,0,227,3,0,45,54,0,15,12,0,74,53,0,148,255,255,247,50,0,90,13,0,58,65,0,119,10,0,47,51,0,15,14,0,219,57,0,110,15,0,78,61,0,25,18,0,158,51,0,8,21,0,23,55,0,120, +21,0,25,68,0,223,26,0,237,58,0,241,24,0,187,59,0,146,31,0,27,55,0,78,25,0,16,58,0,207,21,0,163,53,0,37,20,0,162,63,0,107,22,0,66,60,0,194,22,0,17,53,0,66,17,0,245,48,0,204,17,0,165,51,0,210,17,0,230,55,0,68,10,0,126,50,0,35,18,0,230,46,0,109,6,0,81,50, +0,174,10,0,138,51,0,247,7,0,37,50,0,42,10,0,101,43,0,134,6,0,39,44,0,199,12,0,20,56,0,20,17,0,12,53,0,209,7,0,23,52,0,245,15,0,150,57,0,123,10,0,137,57,0,18,26,0,96,64,0,193,13,0,127,64,0,211,12,0,235,69,0,229,24,0,200,74,0,183,20,0,223,73,0,71,34,0, +14,82,0,58,35,0,90,86,0,65,22,0,146,86,0,17,42,0,36,94,0,97,40,0,166,93,0,71,38,0,46,92,0,120,52,0,202,108,0,153,58,0,128,97,0,208,57,0,223,103,0,37,50,0,115,101,0,150,53,0,242,108,0,145,59,0,31,115,0,65,64,0,28,109,0,167,71,0,54,115,0,189,64,0,131,105, +0,82,65,0,94,112,0,180,60,0,244,114,0,231,63,0,239,101,0,186,60,0,115,109,0,148,61,0,113,103,0,8,54,0,108,87,0,157,55,0,215,93,0,114,55,0,144,89,0,138,52,0,214,95,0,119,54,0,187,92,0,185,45,0,154,86,0,196,40,0,88,76,0,32,34,0,137,73,0,114,45,0,72,67, +0,14,44,0,99,77,0,12,34,0,97,71,0,193,37,0,167,83,0,61,35,0,3,77,0,179,30,0,195,73,0,186,37,0,214,72,0,84,28,0,188,74,0,185,36,0,224,67,0,85,35,0,245,83,0,140,29,0,49,72,0,203,34,0,243,81,0,103,39,0,73,86,0,128,42,0,167,86,0,140,44,0,241,88,0,221,39, +0,133,80,0,203,58,0,246,98,0,127,58,0,146,99,0,2,55,0,51,95,0,101,54,0,6,99,0,232,63,0,155,92,0,95,66,0,105,100,0,13,66,0,216,101,0,243,68,0,60,98,0,237,68,0,196,108,0,123,56,0,145,96,0,104,65,0,175,104,0,178,69,0,50,98,0,122,65,0,155,96,0,21,63,0,178, +104,0,108,60,0,60,91,0,26,71,0,147,92,0,51,58,0,21,91,0,206,64,0,207,92,0,181,53,0,51,87,0,231,60,0,70,74,0,218,53,0,144,78,0,55,59,0,224,78,0,105,57,0,243,69,0,161,45,0,205,70,0,29,56,0,23,74,0,79,48,0,167,66,0,253,52,0,60,68,0,47,48,0,73,64,0,141,44, +0,223,61,0,148,39,0,248,59,0,247,43,0,101,69,0,238,25,0,65,58,0,149,30,0,235,52,0,168,27,0,196,54,0,200,23,0,103,51,0,155,26,0,252,51,0,176,16,0,21,50,0,143,22,0,103,47,0,114,12,0,92,38,0,186,24,0,96,45,0,27,12,0,229,38,0,47,6,0,168,32,0,47,6,0,206,29, +0,45,12,0,157,25,0,69,15,0,52,39,0,229,3,0,166,14,0,119,14,0,235,30,0,54,3,0,125,24,0,240,6,0,186,26,0,216,2,0,47,15,0,165,7,0,106,25,0,147,5,0,233,16,0,141,4,0,133,16,0,60,2,0,148,24,0,18,0,0,14,15,0,46,248,255,45,16,0,44,252,255,34,27,0,213,252,255, +30,23,0,225,252,255,165,13,0,242,1,0,60,24,0,159,246,255,226,15,0,228,246,255,179,21,0,155,243,255,33,13,0,158,249,255,48,22,0,235,245,255,170,26,0,246,249,255,34,24,0,136,0,0,83,25,0,201,251,255,212,17,0,59,247,255,86,30,0,167,1,0,230,28,0,197,2,0,73, +31,0,50,254,255,240,22,0,231,254,255,27,22,0,11,12,0,76,25,0,185,1,0,65,20,0,235,1,0,1,22,0,108,5,0,174,26,0,163,252,255,206,14,0,223,0,0,118,15,0,13,254,255,156,13,0,193,254,255,218,14,0,120,252,255,125,12,0,65,241,255,102,0,0,199,245,255,95,1,0,89, +242,255,179,252,255,58,233,255,207,247,255,52,233,255,20,247,255,248,228,255,191,245,255,104,230,255,171,236,255,174,228,255,41,245,255,10,224,255,41,236,255,139,226,255,119,232,255,69,220,255,201,239,255,55,222,255,31,226,255,117,214,255,17,228,255, +18,215,255,60,229,255,148,208,255,247,221,255,53,218,255,199,227,255,1,206,255,220,224,255,122,210,255,173,229,255,243,215,255,178,230,255,119,216,255,219,227,255,180,217,255,84,239,255,221,206,255,214,233,255,122,213,255,51,234,255,22,214,255,90,240, +255,62,211,255,246,240,255,161,220,255,65,248,255,134,223,255,132,243,255,51,218,255,30,245,255,10,223,255,192,252,255,13,219,255,44,251,255,207,232,255,28,254,255,54,237,255,201,7,0,13,241,255,189,0,0,92,236,255,160,4,0,187,241,255,71,0,0,101,234,255, +179,4,0,183,246,255,0,8,0,217,243,255,17,4,0,99,249,255,221,6,0,135,244,255,150,8,0,207,247,255,50,2,0,99,243,255,129,4,0,196,245,255,53,255,255,125,236,255,45,7,0,6,249,255,226,250,255,30,244,255,248,247,255,9,241,255,227,243,255,193,243,255,151,250, +255,98,239,255,178,231,255,127,235,255,253,231,255,64,236,255,117,236,255,108,236,255,119,228,255,95,231,255,117,231,255,24,233,255,109,227,255,245,236,255,56,230,255,219,226,255,10,227,255,52,220,255,50,225,255,241,224,255,65,228,255,215,225,255,30, +221,255,65,215,255,149,226,255,255,223,255,84,228,255,59,221,255,122,228,255,230,218,255,255,232,255,141,215,255,188,231,255,12,214,255,103,229,255,2,218,255,189,235,255,131,214,255,186,232,255,9,228,255,76,236,255,244,214,255,173,233,255,17,217,255, +32,232,255,124,211,255,203,235,255,227,223,255,165,240,255,129,227,255,120,237,255,151,230,255,133,246,255,112,231,255,61,239,255,58,225,255,151,237,255,139,230,255,139,232,255,249,241,255,24,244,255,55,237,255,29,245,255,197,238,255,55,244,255,233,244, +255,90,255,255,190,239,255,220,251,255,20,232,255,67,245,255,222,234,255,119,248,255,34,240,255,170,247,255,232,236,255,115,242,255,8,245,255,236,253,255,212,241,255,101,252,255,132,241,255,103,246,255,186,238,255,252,242,255,28,236,255,148,241,255,60, +235,255,174,244,255,171,236,255,204,232,255,19,234,255,210,237,255,56,230,255,3,234,255,254,226,255,33,218,255,86,239,255,59,226,255,255,230,255,181,219,255,114,233,255,230,224,255,72,224,255,109,226,255,155,227,255,201,227,255,180,235,255,86,221,255, +90,233,255,12,221,255,9,233,255,148,222,255,137,231,255,115,219,255,24,228,255,127,224,255,130,224,255,24,230,255,159,229,255,206,229,255,155,236,255,66,239,255,137,236,255,206,233,255,155,236,255,96,236,255,130,225,255,113,237,255,189,227,255,183,236, +255,182,239,255,22,240,255,217,229,255,209,236,255,30,237,255,96,248,255,32,240,255,251,252,255,9,250,255,133,248,255,36,245,255,128,255,255,16,246,255,247,247,255,209,249,255,84,3,0,133,243,255,73,247,255,210,252,255,254,5,0,97,253,255,3,252,255,20, +6,0,193,253,255,233,250,255,99,254,255,39,9,0,243,4,0,63,6,0,185,254,255,36,7,0,254,254,255,232,12,0,219,7,0,66,4,0,140,255,255,239,8,0,65,3,0,138,9,0,138,7,0,75,6,0,196,245,255,107,9,0,249,253,255,75,6,0,189,252,255,11,7,0,193,250,255,138,12,0,240,248, +255,77,1,0,107,246,255,71,8,0,131,247,255,119,2,0,107,246,255,181,255,255,173,241,255,47,250,255,39,230,255,157,251,255,147,235,255,149,249,255,79,235,255,57,242,255,40,236,255,92,233,255,254,228,255,197,237,255,165,223,255,171,231,255,105,225,255,136, +227,255,141,223,255,169,226,255,27,218,255,206,223,255,66,214,255,114,226,255,147,201,255,5,212,255,157,212,255,101,220,255,15,209,255,107,214,255,202,190,255,246,216,255,199,204,255,111,200,255,172,196,255,234,213,255,8,201,255,119,212,255,134,191,255, +159,208,255,176,204,255,85,211,255,152,201,255,9,206,255,84,192,255,189,212,255,246,192,255,86,211,255,250,196,255,86,217,255,149,197,255,117,220,255,144,197,255,233,215,255,90,202,255,180,217,255,39,206,255,34,219,255,99,210,255,5,221,255,181,210,255, +119,220,255,49,205,255,31,215,255,20,219,255,138,220,255,251,212,255,94,215,255,128,212,255,32,218,255,91,218,255,131,215,255,118,214,255,133,206,255,11,221,255,52,209,255,129,218,255,50,213,255,130,212,255,156,216,255,228,221,255,190,212,255,157,214, +255,167,211,255,239,211,255,14,216,255,67,224,255,201,213,255,29,211,255,121,213,255,118,210,255,208,210,255,37,216,255,36,218,255,55,208,255,1,220,255,58,207,255,221,221,255,20,205,255,52,214,255,216,206,255,41,211,255,245,199,255,150,212,255,220,202, +255,26,223,255,92,196,255,231,215,255,167,204,255,70,223,255,83,203,255,57,213,255,212,201,255,248,216,255,200,201,255,196,204,255,107,196,255,89,213,255,58,201,255,148,214,255,35,198,255,245,197,255,57,189,255,76,201,255,209,193,255,35,192,255,31,190, +255,115,203,255,135,196,255,230,199,255,46,187,255,179,195,255,36,181,255,57,202,255,53,182,255,251,191,255,154,184,255,111,198,255,193,186,255,202,189,255,161,189,255,235,183,255,108,176,255,224,188,255,38,182,255,152,180,255,50,180,255,86,177,255,117, +178,255,70,174,255,41,179,255,200,164,255,212,168,255,72,171,255,186,176,255,222,178,255,39,188,255,72,174,255,31,177,255,248,178,255,44,179,255,230,171,255,18,187,255,241,167,255,201,186,255,139,178,255,255,182,255,64,181,255,207,189,255,119,179,255, +207,189,255,169,184,255,79,191,255,77,186,255,242,202,255,118,185,255,143,200,255,167,190,255,71,204,255,251,196,255,158,204,255,251,203,255,242,212,255,147,198,255,226,209,255,242,202,255,185,213,255,114,204,255,199,217,255,186,205,255,175,224,255,101, +207,255,7,213,255,60,206,255,221,223,255,120,207,255,156,213,255,13,217,255,235,218,255,44,210,255,139,206,255,164,207,255,113,211,255,70,208,255,217,205,255,174,217,255,142,212,255,92,207,255,236,207,255,117,220,255,19,212,255,21,206,255,118,210,255, +91,212,255,175,203,255,135,212,255,148,215,255,228,214,255,109,207,255,221,210,255,125,208,255,157,209,255,12,213,255,190,217,255,90,214,255,235,210,255,108,210,255,237,218,255,224,217,255,79,213,255,23,210,255,117,215,255,228,214,255,217,221,255,99, +220,255,141,222,255,213,217,255,209,224,255,61,223,255,144,221,255,117,223,255,25,209,255,114,224,255,30,216,255,4,230,255,193,213,255,176,226,255,228,218,255,115,226,255,63,209,255,53,222,255,163,209,255,214,224,255,109,215,255,253,234,255,52,209,255, +246,224,255,180,212,255,54,220,255,213,207,255,61,222,255,109,209,255,9,225,255,101,214,255,178,214,255,112,196,255,154,216,255,129,215,255,231,207,255,175,210,255,213,207,255,77,204,255,253,206,255,130,217,255,130,208,255,158,212,255,149,204,255,85, +206,255,189,201,255,113,205,255,119,196,255,225,213,255,120,204,255,169,207,255,194,194,255,149,204,255,1,201,255,1,196,255,7,185,255,48,203,255,205,193,255,55,193,255,243,191,255,243,204,255,228,200,255,126,202,255,234,194,255,182,200,255,228,204,255, +8,189,255,143,196,255,122,198,255,39,198,255,218,195,255,85,201,255,198,192,255,12,189,255,151,193,255,132,202,255,60,185,255,4,192,255,17,193,255,90,202,255,237,192,255,149,203,255,189,186,255,44,205,255,197,197,255,153,202,255,158,194,255,222,213,255, +42,192,255,8,207,255,213,183,255,199,209,255,37,190,255,115,216,255,114,193,255,61,206,255,230,188,255,41,205,255,116,202,255,251,207,255,249,190,255,46,213,255,216,202,255,159,218,255,195,199,255,248,219,255,153,188,255,14,210,255,198,204,255,109,215, +255,46,198,255,73,211,255,229,208,255,239,213,255,118,210,255,85,213,255,80,203,255,205,207,255,46,215,255,106,220,255,106,210,255,105,215,255,159,209,255,139,216,255,142,214,255,207,216,255,80,218,255,59,207,255,50,216,255,154,203,255,235,225,255,199, +217,255,194,212,255,2,206,255,69,209,255,211,210,255,53,219,255,208,209,255,47,212,255,40,201,255,127,214,255,198,207,255,242,206,255,151,210,255,11,207,255,25,195,255,10,209,255,175,205,255,133,211,255,160,206,255,111,214,255,61,208,255,202,204,255, +48,210,255,235,207,255,207,214,255,74,209,255,250,214,255,37,204,255,202,212,255,254,202,255,170,204,255,171,203,255,110,207,255,41,210,255,58,213,255,43,213,255,121,211,255,226,205,255,202,216,255,16,214,255,99,214,255,130,208,255,230,212,255,46,206, +255,111,204,255,45,208,255,57,214,255,3,201,255,218,212,255,246,202,255,90,212,255,29,206,255,157,207,255,175,195,255,250,207,255,91,196,255,3,209,255,205,207,255,45,216,255,136,204,255,142,215,255,70,207,255,144,221,255,132,207,255,252,222,255,45,209, +255,81,225,255,237,204,255,167,225,255,213,209,255,240,227,255,243,214,255,116,229,255,48,217,255,205,225,255,35,214,255,135,242,255,74,220,255,82,230,255,115,211,255,62,229,255,193,213,255,50,229,255,61,222,255,149,237,255,180,215,255,26,229,255,150, +215,255,48,215,255,200,218,255,206,227,255,27,215,255,94,221,255,226,213,255,201,225,255,65,215,255,94,221,255,237,212,255,102,224,255,247,208,255,88,218,255,35,212,255,192,223,255,69,219,255,133,235,255,128,212,255,205,223,255,118,213,255,61,230,255, +92,212,255,205,234,255,241,210,255,219,232,255,177,214,255,24,241,255,115,219,255,176,243,255,135,217,255,172,241,255,84,219,255,244,246,255,108,224,255,104,249,255,44,231,255,111,2,0,31,225,255,10,254,255,45,223,255,66,254,255,32,237,255,252,8,0,139, +212,255,207,1,0,189,221,255,45,0,0,223,231,255,87,5,0,207,223,255,125,250,255,92,233,255,206,9,0,125,234,255,107,3,0,134,238,255,197,2,0,136,233,255,198,3,0,60,235,255,203,252,255,237,225,255,27,250,255,78,228,255,150,244,255,16,228,255,58,244,255,66, +225,255,68,234,255,55,232,255,220,242,255,97,231,255,191,237,255,23,225,255,182,232,255,124,223,255,22,238,255,81,226,255,3,244,255,148,213,255,250,232,255,55,228,255,14,237,255,225,217,255,71,241,255,180,222,255,94,234,255,154,225,255,71,241,255,173, +225,255,217,237,255,131,216,255,127,225,255,112,215,255,198,230,255,173,218,255,112,233,255,242,235,255,227,232,255,231,229,255,67,238,255,22,229,255,120,230,255,148,224,255,86,235,255,198,224,255,160,232,255,147,223,255,48,221,255,1,220,255,39,229,255, +20,220,255,124,232,255,150,217,255,237,230,255,130,213,255,66,227,255,189,218,255,184,231,255,67,222,255,171,237,255,88,216,255,53,240,255,194,217,255,126,239,255,174,219,255,165,244,255,72,224,255,114,236,255,35,224,255,52,246,255,149,222,255,217,242, +255,224,226,255,104,237,255,119,229,255,27,249,255,169,226,255,199,249,255,250,230,255,99,248,255,29,241,255,142,252,255,94,232,255,92,247,255,107,236,255,124,252,255,57,243,255,164,5,0,60,241,255,30,6,0,212,236,255,80,3,0,187,236,255,130,7,0,75,246, +255,52,12,0,63,239,255,8,11,0,76,239,255,119,8,0,26,242,255,27,8,0,53,240,255,232,6,0,190,237,255,79,2,0,7,234,255,250,2,0,158,236,255,44,7,0,108,239,255,243,9,0,34,235,255,31,251,255,214,236,255,4,249,255,117,245,255,123,3,0,2,238,255,2,252,255,68,241, +255,171,250,255,13,237,255,119,244,255,176,247,255,130,251,255,91,244,255,33,248,255,228,232,255,192,235,255,3,246,255,177,246,255,109,239,255,180,231,255,55,240,255,90,241,255,56,240,255,112,247,255,49,244,255,92,254,255,192,237,255,30,241,255,120,246, +255,141,250,255,150,250,255,65,1,0,186,254,255,41,2,0,162,250,255,138,1,0,25,1,0,92,7,0,2,2,0,253,13,0,23,4,0,180,18,0,14,7,0,188,20,0,249,13,0,51,23,0,29,18,0,5,25,0,78,18,0,11,30,0,227,15,0,247,37,0,138,22,0,191,27,0,74,34,0,24,45,0,9,27,0,179,37,0, +18,34,0,86,37,0,227,25,0,99,38,0,140,34,0,46,40,0,220,30,0,83,45,0,155,37,0,170,52,0,117,31,0,153,48,0,157,29,0,1,49,0,36,36,0,33,51,0,242,34,0,219,43,0,39,29,0,97,43,0,1,27,0,136,46,0,106,23,0,120,43,0,9,24,0,8,47,0,113,24,0,103,39,0,41,20,0,31,46,0, +196,22,0,158,40,0,246,23,0,61,41,0,57,24,0,198,33,0,178,23,0,201,41,0,203,24,0,35,46,0,134,39,0,63,50,0,255,33,0,30,48,0,24,29,0,122,43,0,51,26,0,35,36,0,148,37,0,152,37,0,232,41,0,255,43,0,92,48,0,144,42,0,156,39,0,58,54,0,197,32,0,219,39,0,51,39,0, +10,56,0,123,44,0,226,52,0,28,41,0,116,53,0,129,45,0,0,54,0,241,47,0,226,47,0,214,51,0,52,64,0,68,46,0,29,53,0,112,35,0,195,55,0,238,39,0,152,55,0,245,40,0,212,54,0,100,43,0,171,50,0,2,30,0,58,41,0,193,38,0,250,37,0,255,47,0,102,43,0,141,36,0,132,43,0, +240,37,0,173,41,0,254,33,0,162,50,0,36,42,0,113,36,0,219,50,0,122,40,0,209,38,0,122,34,0,93,39,0,134,33,0,80,46,0,248,46,0,6,46,0,73,42,0,173,49,0,59,47,0,229,35,0,208,51,0,137,50,0,130,53,0,97,47,0,46,56,0,203,42,0,166,61,0,35,55,0,63,55,0,232,49,0, +197,64,0,227,51,0,225,61,0,169,56,0,133,69,0,19,53,0,26,66,0,222,47,0,42,72,0,102,50,0,92,66,0,89,58,0,6,75,0,245,55,0,224,74,0,207,53,0,239,78,0,46,51,0,215,62,0,158,54,0,187,66,0,128,48,0,43,71,0,150,44,0,40,77,0,117,51,0,186,78,0,48,48,0,225,72,0, +178,51,0,64,70,0,169,48,0,89,72,0,111,54,0,8,70,0,82,46,0,253,62,0,133,51,0,182,77,0,60,42,0,74,60,0,206,53,0,39,76,0,0,57,0,173,64,0,134,57,0,90,71,0,3,51,0,3,81,0,16,55,0,219,75,0,20,51,0,166,68,0,153,62,0,91,77,0,130,65,0,133,76,0,17,60,0,153,70,0, +152,75,0,221,72,0,222,69,0,63,75,0,116,67,0,189,72,0,210,72,0,171,75,0,117,70,0,237,72,0,153,73,0,62,80,0,61,72,0,220,80,0,29,84,0,24,79,0,208,75,0,92,83,0,233,78,0,45,76,0,62,64,0,31,73,0,46,75,0,102,83,0,12,83,0,7,75,0,65,79,0,81,81,0,31,85,0,139,91, +0,239,74,0,148,84,0,197,77,0,19,82,0,19,78,0,7,86,0,87,83,0,90,101,0,208,81,0,178,91,0,140,79,0,161,81,0,70,93,0,181,87,0,67,84,0,91,95,0,154,93,0,74,101,0,108,85,0,25,105,0,77,85,0,18,106,0,52,85,0,169,102,0,207,98,0,96,109,0,192,94,0,127,114,0,3,95, +0,48,118,0,239,91,0,106,111,0,0,90,0,186,121,0,167,103,0,124,119,0,31,103,0,26,120,0,133,97,0,103,119,0,199,93,0,54,121,0,61,114,0,157,123,0,102,108,0,247,119,0,137,106,0,184,112,0,201,95,0,68,115,0,80,99,0,157,110,0,237,99,0,224,114,0,169,99,0,9,110, +0,235,98,0,56,108,0,52,100,0,154,115,0,43,90,0,42,103,0,135,97,0,53,112,0,73,97,0,131,103,0,169,88,0,148,100,0,145,100,0,214,99,0,64,90,0,127,84,0,142,98,0,73,101,0,111,89,0,84,95,0,19,98,0,126,106,0,85,96,0,150,98,0,72,95,0,222,102,0,53,92,0,26,106, +0,46,97,0,152,106,0,21,94,0,164,104,0,160,105,0,77,111,0,116,110,0,15,113,0,226,93,0,210,107,0,29,110,0,98,124,0,58,117,0,18,122,0,160,115,0,217,130,0,87,107,0,88,129,0,42,119,0,38,128,0,60,114,0,68,126,0,150,117,0,231,129,0,160,124,0,115,121,0,195,128, +0,246,132,0,114,131,0,94,124,0,237,118,0,233,122,0,2,133,0,98,126,0,167,124,0,84,130,0,215,121,0,217,129,0,24,128,0,88,128,0,18,119,0,209,125,0,29,123,0,135,125,0,22,121,0,96,127,0,204,119,0,95,127,0,20,121,0,136,133,0,27,113,0,77,121,0,138,128,0,93, +125,0,108,119,0,1,121,0,254,114,0,231,124,0,172,125,0,255,118,0,192,115,0,231,116,0,217,128,0,21,122,0,102,123,0,2,121,0,100,127,0,152,125,0,143,120,0,201,119,0,63,121,0,183,116,0,159,120,0,16,121,0,190,117,0,67,109,0,38,129,0,25,124,0,53,119,0,196,120, +0,67,126,0,24,120,0,114,129,0,175,120,0,174,127,0,218,131,0,40,125,0,166,123,0,233,126,0,133,126,0,184,124,0,143,130,0,241,117,0,27,127,0,15,130,0,205,134,0,151,124,0,27,134,0,233,128,0,47,142,0,70,135,0,48,137,0,253,132,0,253,138,0,198,130,0,194,144, +0,6,123,0,117,138,0,7,130,0,48,152,0,250,140,0,39,155,0,169,141,0,62,154,0,33,144,0,17,156,0,228,141,0,141,161,0,57,151,0,214,157,0,11,154,0,43,168,0,175,153,0,74,165,0,16,152,0,55,163,0,227,152,0,103,161,0,69,161,0,74,167,0,4,154,0,45,163,0,110,158, +0,139,164,0,10,160,0,230,163,0,231,164,0,48,180,0,134,161,0,249,157,0,171,168,0,217,167,0,169,159,0,243,163,0,208,163,0,172,157,0,112,167,0,162,160,0,218,152,0,105,161,0,110,148,0,245,159,0,199,150,0,73,151,0,108,156,0,241,144,0,142,149,0,95,142,0,179, +146,0,14,143,0,210,143,0,76,140,0,71,149,0,223,137,0,222,148,0,39,129,0,136,140,0,118,136,0,163,135,0,82,134,0,119,135,0,221,125,0,82,127,0,179,131,0,37,136,0,91,133,0,85,119,0,191,121,0,168,129,0,200,130,0,136,130,0,93,119,0,166,121,0,182,112,0,228, +126,0,136,115,0,100,132,0,253,119,0,216,129,0,82,119,0,62,123,0,176,114,0,31,123,0,214,119,0,132,118,0,171,111,0,128,114,0,150,113,0,86,113,0,104,116,0,177,112,0,149,99,0,226,103,0,108,103,0,120,105,0,203,104,0,112,106,0,237,99,0,117,100,0,76,95,0,125, +103,0,147,90,0,104,105,0,229,86,0,161,90,0,227,81,0,88,89,0,218,77,0,4,93,0,186,78,0,178,88,0,141,80,0,114,79,0,178,66,0,150,79,0,61,67,0,226,75,0,40,58,0,46,83,0,18,67,0,194,75,0,12,54,0,229,70,0,23,55,0,83,69,0,188,48,0,85,79,0,43,52,0,145,67,0,229, +60,0,222,74,0,244,62,0,198,79,0,138,64,0,33,73,0,42,63,0,30,70,0,223,58,0,196,73,0,21,59,0,166,67,0,45,53,0,23,64,0,249,50,0,186,54,0,210,41,0,133,62,0,198,51,0,116,56,0,222,40,0,105,59,0,184,36,0,175,51,0,170,37,0,165,44,0,234,24,0,180,51,0,190,30,0, +35,55,0,28,23,0,164,53,0,198,33,0,55,43,0,188,26,0,21,46,0,199,32,0,30,43,0,76,13,0,206,33,0,78,22,0,123,41,0,99,10,0,115,33,0,13,15,0,145,33,0,57,19,0,206,37,0,44,19,0,95,29,0,89,17,0,207,40,0,223,21,0,94,38,0,231,24,0,77,37,0,170,15,0,7,39,0,18,11, +0,26,39,0,47,16,0,80,34,0,224,15,0,62,43,0,201,14,0,90,44,0,211,20,0,187,44,0,1,14,0,175,43,0,186,16,0,42,34,0,97,14,0,183,54,0,89,16,0,23,43,0,19,18,0,85,37,0,131,3,0,71,38,0,99,4,0,138,42,0,42,10,0,68,40,0,66,10,0,143,42,0,141,0,0,153,39,0,184,0,0, +251,26,0,128,1,0,19,35,0,129,252,255,171,39,0,187,246,255,75,34,0,137,243,255,157,35,0,129,252,255,238,30,0,184,244,255,64,21,0,56,237,255,1,30,0,129,252,255,204,20,0,27,244,255,199,19,0,82,244,255,230,19,0,94,240,255,238,21,0,17,235,255,57,13,0,216, +232,255,198,12,0,3,225,255,201,10,0,156,232,255,173,12,0,183,230,255,64,12,0,50,234,255,249,6,0,21,222,255,54,11,0,83,229,255,198,8,0,14,234,255,30,7,0,34,226,255,168,8,0,207,231,255,49,3,0,143,230,255,136,5,0,37,232,255,37,255,255,51,238,255,150,253, +255,220,224,255,150,0,0,153,228,255,52,8,0,241,230,255,198,253,255,81,221,255,121,252,255,176,222,255,113,4,0,109,226,255,51,247,255,232,222,255,152,245,255,64,214,255,247,246,255,18,220,255,0,252,255,165,216,255,105,241,255,50,216,255,179,230,255,109, +210,255,48,239,255,8,213,255,168,230,255,240,202,255,59,220,255,63,203,255,54,226,255,196,200,255,209,231,255,25,198,255,172,228,255,119,200,255,14,222,255,161,203,255,184,225,255,185,197,255,144,224,255,66,206,255,169,224,255,159,205,255,122,223,255, +24,197,255,170,211,255,206,197,255,157,221,255,31,197,255,30,224,255,146,197,255,104,224,255,176,194,255,181,225,255,58,193,255,245,220,255,93,194,255,84,222,255,15,194,255,70,226,255,171,189,255,177,218,255,60,187,255,192,220,255,95,185,255,63,236,255, +70,189,255,211,232,255,125,186,255,166,224,255,83,189,255,36,223,255,23,186,255,70,230,255,40,184,255,177,234,255,143,190,255,232,225,255,228,187,255,149,233,255,220,197,255,37,238,255,130,203,255,125,233,255,52,203,255,134,235,255,125,206,255,108,230, +255,93,201,255,124,231,255,170,202,255,185,228,255,63,207,255,77,225,255,16,201,255,181,230,255,36,212,255,20,218,255,38,208,255,236,230,255,204,210,255,176,230,255,250,214,255,120,220,255,223,210,255,117,216,255,55,212,255,48,220,255,119,219,255,10, +218,255,114,216,255,216,218,255,105,212,255,155,213,255,68,210,255,29,218,255,108,211,255,216,213,255,24,211,255,243,220,255,19,216,255,195,220,255,140,208,255,63,217,255,90,209,255,99,217,255,148,197,255,208,220,255,161,202,255,20,215,255,209,200,255, +227,220,255,187,199,255,45,207,255,196,193,255,251,212,255,186,192,255,141,208,255,194,194,255,206,201,255,148,175,255,217,207,255,37,179,255,67,209,255,201,171,255,109,204,255,10,178,255,187,202,255,207,172,255,79,207,255,61,165,255,165,199,255,87,167, +255,226,204,255,8,160,255,215,201,255,175,161,255,146,205,255,247,157,255,242,193,255,4,168,255,83,204,255,224,167,255,7,208,255,162,168,255,251,200,255,154,169,255,64,200,255,63,172,255,28,200,255,200,178,255,72,207,255,172,180,255,104,211,255,250,183, +255,231,221,255,217,184,255,136,218,255,238,193,255,65,208,255,53,197,255,161,218,255,16,205,255,155,223,255,76,203,255,184,233,255,184,208,255,143,223,255,94,208,255,65,230,255,111,204,255,204,235,255,81,211,255,137,228,255,180,215,255,187,237,255,167, +227,255,178,245,255,36,215,255,190,236,255,173,218,255,119,247,255,65,225,255,11,249,255,19,222,255,64,252,255,20,226,255,38,253,255,87,217,255,17,247,255,8,215,255,127,244,255,38,213,255,232,250,255,158,218,255,14,246,255,140,202,255,36,242,255,115, +196,255,133,249,255,166,197,255,24,231,255,126,192,255,240,236,255,253,190,255,244,230,255,68,185,255,4,232,255,42,188,255,81,228,255,85,179,255,138,212,255,26,170,255,144,212,255,2,164,255,197,217,255,40,170,255,174,208,255,173,157,255,25,212,255,106, +173,255,43,197,255,154,156,255,79,208,255,62,159,255,243,210,255,17,158,255,41,198,255,71,152,255,1,206,255,66,152,255,181,196,255,48,148,255,242,196,255,107,153,255,0,190,255,196,154,255,133,186,255,52,156,255,86,194,255,68,155,255,21,196,255,38,149, +255,221,202,255,32,158,255,70,198,255,10,155,255,116,201,255,250,158,255,187,204,255,178,148,255,153,193,255,174,158,255,76,205,255,20,151,255,230,202,255,200,160,255,110,200,255,254,156,255,195,206,255,249,154,255,29,205,255,216,147,255,121,215,255, +194,161,255,148,202,255,101,150,255,233,208,255,18,156,255,143,212,255,194,160,255,197,204,255,215,149,255,74,207,255,75,144,255,84,204,255,28,150,255,139,196,255,44,147,255,91,198,255,57,139,255,122,188,255,100,139,255,80,196,255,191,139,255,196,186, +255,33,138,255,242,185,255,203,132,255,55,193,255,197,142,255,20,185,255,19,132,255,59,188,255,56,134,255,226,185,255,229,133,255,236,188,255,88,138,255,41,185,255,203,136,255,122,188,255,72,132,255,8,175,255,86,124,255,114,189,255,20,136,255,168,174, +255,146,125,255,245,173,255,31,133,255,35,188,255,11,134,255,166,183,255,66,140,255,216,179,255,18,144,255,162,179,255,187,146,255,125,187,255,243,142,255,9,197,255,68,159,255,222,187,255,167,155,255,112,186,255,97,162,255,14,196,255,244,167,255,169, +189,255,137,165,255,118,192,255,186,163,255,56,202,255,106,173,255,164,193,255,155,173,255,139,210,255,60,173,255,2,208,255,147,176,255,119,207,255,62,180,255,212,212,255,28,176,255,252,218,255,65,174,255,210,218,255,2,184,255,8,212,255,212,179,255,248, +216,255,72,185,255,187,227,255,72,189,255,189,216,255,92,176,255,141,221,255,184,174,255,35,217,255,3,169,255,127,222,255,254,175,255,206,220,255,244,173,255,195,218,255,201,170,255,80,215,255,198,169,255,30,205,255,17,168,255,225,222,255,130,163,255, +174,214,255,102,168,255,30,221,255,239,172,255,134,212,255,183,171,255,143,220,255,227,157,255,224,214,255,10,168,255,56,214,255,6,169,255,132,218,255,77,168,255,139,213,255,12,154,255,121,213,255,112,157,255,69,209,255,109,163,255,125,212,255,107,157, +255,114,205,255,246,157,255,232,201,255,106,163,255,226,206,255,157,154,255,183,208,255,175,166,255,205,207,255,81,164,255,218,207,255,91,163,255,117,205,255,242,168,255,222,206,255,204,172,255,179,208,255,226,171,255,92,204,255,14,167,255,132,203,255, +191,173,255,123,217,255,65,178,255,184,209,255,231,177,255,170,216,255,149,180,255,49,213,255,232,179,255,230,208,255,160,184,255,197,206,255,73,172,255,10,206,255,249,183,255,187,212,255,173,181,255,202,208,255,236,169,255,100,213,255,161,175,255,219, +202,255,39,174,255,250,210,255,117,176,255,97,209,255,70,174,255,61,214,255,141,173,255,79,208,255,195,170,255,210,205,255,213,167,255,110,211,255,155,173,255,208,206,255,41,175,255,220,206,255,78,167,255,141,211,255,241,170,255,139,207,255,223,167,255, +84,198,255,116,164,255,135,202,255,21,167,255,119,211,255,228,168,255,245,208,255,216,173,255,101,208,255,32,168,255,57,204,255,172,169,255,198,205,255,249,168,255,46,207,255,174,175,255,30,213,255,192,177,255,149,204,255,103,166,255,155,195,255,2,166, +255,140,208,255,217,171,255,229,201,255,32,171,255,73,204,255,192,161,255,175,195,255,145,161,255,94,196,255,26,176,255,152,195,255,151,172,255,101,199,255,251,168,255,45,195,255,99,166,255,190,198,255,215,167,255,146,203,255,130,175,255,127,196,255, +233,169,255,46,191,255,244,165,255,214,200,255,110,170,255,62,202,255,66,165,255,246,185,255,29,164,255,16,193,255,119,161,255,22,196,255,206,162,255,93,192,255,16,156,255,125,196,255,228,157,255,129,201,255,49,154,255,134,197,255,164,147,255,185,195, +255,174,162,255,206,196,255,161,154,255,123,200,255,164,162,255,72,198,255,81,159,255,29,200,255,50,164,255,30,194,255,247,157,255,199,194,255,165,164,255,80,201,255,95,158,255,19,200,255,236,156,255,145,207,255,45,166,255,38,200,255,6,160,255,191,198, +255,202,159,255,26,203,255,45,161,255,95,198,255,80,170,255,85,192,255,93,167,255,200,192,255,54,168,255,229,205,255,139,179,255,121,201,255,176,172,255,245,200,255,247,182,255,188,201,255,162,173,255,191,210,255,54,173,255,178,198,255,233,172,255,42, +206,255,99,170,255,212,207,255,52,178,255,9,204,255,237,162,255,134,207,255,117,169,255,71,208,255,73,167,255,229,198,255,217,174,255,94,211,255,48,169,255,45,210,255,123,171,255,62,209,255,6,164,255,114,211,255,150,179,255,171,217,255,39,173,255,196, +210,255,203,170,255,247,215,255,107,177,255,237,212,255,205,178,255,240,218,255,5,176,255,77,221,255,217,181,255,151,218,255,95,187,255,36,225,255,19,184,255,149,220,255,98,192,255,47,220,255,26,188,255,29,224,255,132,194,255,153,226,255,129,184,255, +109,225,255,208,196,255,211,233,255,197,197,255,51,230,255,171,195,255,114,232,255,246,201,255,230,225,255,147,211,255,8,233,255,204,204,255,70,230,255,59,207,255,162,231,255,158,205,255,25,236,255,32,217,255,109,236,255,14,208,255,90,235,255,246,211, +255,199,231,255,3,217,255,42,230,255,230,221,255,58,237,255,124,217,255,29,238,255,195,221,255,231,232,255,118,222,255,231,241,255,109,228,255,218,231,255,251,231,255,53,238,255,19,227,255,4,241,255,148,230,255,100,246,255,173,235,255,80,244,255,159, +238,255,163,239,255,175,227,255,171,240,255,202,230,255,44,239,255,243,233,255,32,239,255,192,226,255,32,239,255,119,220,255,19,238,255,229,236,255,55,243,255,181,226,255,102,242,255,241,226,255,163,248,255,98,226,255,35,241,255,68,231,255,3,244,255, +228,229,255,84,237,255,240,229,255,90,242,255,126,234,255,53,245,255,112,232,255,147,239,255,178,227,255,233,246,255,106,232,255,253,242,255,157,234,255,48,246,255,218,235,255,118,255,255,53,243,255,118,250,255,136,242,255,162,247,255,121,239,255,32, +248,255,100,241,255,217,253,255,242,246,255,203,1,0,191,248,255,195,4,0,15,251,255,104,3,0,96,249,255,157,8,0,216,249,255,239,7,0,122,1,0,109,2,0,110,250,255,220,0,0,106,8,0,39,4,0,148,3,0,61,8,0,198,5,0,185,7,0,190,253,255,10,18,0,232,9,0,232,6,0,152, +7,0,6,8,0,16,8,0,93,11,0,191,4,0,93,11,0,178,9,0,102,8,0,188,8,0,219,5,0,92,14,0,95,21,0,235,20,0,204,9,0,132,5,0,101,21,0,125,18,0,194,4,0,18,18,0,201,12,0,158,8,0,150,16,0,148,10,0,85,17,0,102,12,0,255,20,0,72,13,0,75,19,0,137,19,0,91,18,0,64,10,0, +26,12,0,209,5,0,125,24,0,178,11,0,215,9,0,249,251,255,110,20,0,118,18,0,193,19,0,92,8,0,131,16,0,237,2,0,7,18,0,225,10,0,11,16,0,37,255,255,135,23,0,70,11,0,219,7,0,73,246,255,37,20,0,51,10,0,58,8,0,232,252,255,125,18,0,252,7,0,54,10,0,153,3,0,158,6, +0,57,2,0,128,14,0,174,7,0,43,12,0,87,11,0,165,7,0,242,11,0,90,11,0,207,13,0,69,6,0,28,4,0,138,12,0,231,13,0,34,9,0,142,14,0,7,13,0,240,9,0,154,10,0,120,17,0,181,5,0,223,20,0,229,5,0,133,9,0,189,9,0,3,12,0,99,8,0,172,6,0,128,18,0,127,20,0,91,5,0,114,19, +0,133,5,0,183,14,0,53,12,0,219,27,0,92,7,0,101,18,0,253,7,0,129,16,0,21,9,0,158,14,0,113,14,0,1,10,0,169,18,0,30,21,0,222,17,0,161,22,0,54,17,0,198,12,0,27,22,0,243,19,0,88,12,0,211,14,0,126,17,0,127,13,0,22,12,0,85,14,0,245,18,0,106,21,0,24,18,0,66, +10,0,143,18,0,85,254,255,212,10,0,178,8,0,76,14,0,142,9,0,236,13,0,59,8,0,105,13,0,17,10,0,132,20,0,190,8,0,34,16,0,171,6,0,93,15,0,100,9,0,17,19,0,209,250,255,165,17,0,147,7,0,115,7,0,246,255,255,247,14,0,223,1,0,105,16,0,67,253,255,80,12,0,192,253, +255,79,9,0,128,1,0,3,14,0,187,1,0,110,17,0,68,2,0,115,13,0,224,8,0,243,23,0,229,3,0,17,1,0,116,4,0,119,5,0,182,7,0,144,8,0,111,9,0,53,3,0,82,9,0,203,8,0,124,15,0,42,4,0,52,14,0,255,255,255,194,8,0,120,8,0,35,18,0,107,4,0,142,19,0,10,253,255,141,12,0, +6,7,0,64,19,0,189,255,255,28,17,0,231,255,255,64,22,0,96,14,0,93,21,0,160,6,0,164,15,0,34,253,255,15,11,0,72,15,0,235,15,0,112,6,0,135,17,0,47,4,0,8,5,0,130,9,0,110,12,0,89,13,0,98,9,0,83,14,0,240,4,0,83,21,0,26,3,0,83,12,0,193,3,0,118,16,0,121,5,0,154, +8,0,145,9,0,201,12,0,156,255,255,82,6,0,44,2,0,58,7,0,50,250,255,46,8,0,62,251,255,112,4,0,73,252,255,237,7,0,2,250,255,23,0,0,67,2,0,35,0,0,127,253,255,83,252,255,162,0,0,214,254,255,103,253,255,190,250,255,80,250,255,155,248,255,211,250,255,30,248, +255,115,251,255,189,255,255,2,1,0,24,252,255,216,5,0,209,246,255,7,3,0,96,247,255,9,253,255,96,246,255,234,1,0,203,245,255,223,252,255,237,253,255,244,8,0,172,253,255,173,9,0,243,254,255,126,6,0,224,4,0,113,12,0,221,248,255,36,7,0,149,250,255,198,3,0, +212,3,0,95,9,0,96,249,255,47,11,0,47,0,0,23,11,0,48,251,255,22,16,0,154,254,255,220,8,0,203,251,255,34,12,0,131,252,255,142,7,0,219,1,0,148,9,0,107,253,255,87,12,0,15,6,0,138,20,0,76,1,0,86,14,0,186,9,0,74,15,0,7,10,0,99,10,0,185,253,255,10,11,0,169, +8,0,32,15,0,247,3,0,231,8,0,174,9,0,208,6,0,118,0,0,235,11,0,96,251,255,67,2,0,247,4,0,76,8,0,42,253,255,227,2,0,227,9,0,84,2,0,49,250,255,244,3,0,85,6,0,211,10,0,90,253,255,137,5,0,13,252,255,206,9,0,82,1,0,220,3,0,137,253,255,68,11,0,102,252,255,162, +13,0,30,254,255,60,14,0,75,246,255,134,8,0,189,246,255,127,0,0,131,254,255,42,2,0,112,255,255,59,5,0,69,248,255,226,3,0,125,254,255,34,6,0,250,254,255,130,4,0,102,253,255,158,8,0,185,253,255,57,8,0,72,253,255,124,4,0,30,254,255,123,7,0,33,3,0,37,10,0, +160,255,255,57,253,255,108,244,255,92,255,255,140,249,255,65,4,0,90,253,255,53,251,255,206,249,255,62,254,255,168,252,255,67,247,255,32,251,255,182,253,255,58,0,0,80,255,255,4,249,255,108,249,255,109,252,255,238,2,0,41,248,255,147,253,255,141,249,255, +183,236,255,251,253,255,32,248,255,78,253,255,212,245,255,107,247,255,230,237,255,60,239,255,194,237,255,247,242,255,117,231,255,3,243,255,82,229,255,113,239,255,79,226,255,236,235,255,218,230,255,17,241,255,139,233,255,131,233,255,219,230,255,53,226, +255,37,221,255,57,236,255,124,231,255,176,229,255,137,229,255,49,225,255,245,228,255,106,215,255,161,223,255,91,226,255,167,230,255,105,223,255,63,221,255,31,226,255,236,233,255,148,223,255,83,232,255,160,229,255,170,247,255,58,218,255,202,232,255,102, +228,255,100,239,255,96,229,255,187,249,255,145,221,255,46,241,255,84,229,255,188,254,255,191,229,255,15,249,255,6,224,255,208,245,255,118,238,255,233,250,255,216,229,255,131,251,255,54,243,255,153,253,255,15,235,255,190,252,255,127,235,255,145,5,0,17, +238,255,247,254,255,159,239,255,200,248,255,67,236,255,5,3,0,199,229,255,244,252,255,59,239,255,201,253,255,149,238,255,240,255,255,18,238,255,251,250,255,171,239,255,251,0,0,209,249,255,107,1,0,39,247,255,98,250,255,109,248,255,170,254,255,252,242,255, +38,245,255,99,246,255,145,245,255,248,240,255,51,244,255,136,240,255,94,243,255,225,240,255,88,233,255,158,242,255,54,237,255,53,235,255,3,230,255,153,246,255,99,229,255,145,228,255,169,235,255,100,241,255,205,225,255,226,235,255,197,232,255,230,222, +255,138,213,255,12,231,255,94,220,255,93,223,255,62,222,255,30,222,255,96,214,255,182,220,255,112,230,255,197,217,255,124,216,255,231,223,255,230,217,255,141,224,255,238,225,255,120,222,255,254,226,255,76,229,255,139,228,255,215,218,255,224,218,255,249, +224,255,42,235,255,132,223,255,109,229,255,251,223,255,176,237,255,253,222,255,52,241,255,109,232,255,106,245,255,244,224,255,186,247,255,124,230,255,97,4,0,239,232,255,154,1,0,133,232,255,169,255,255,96,229,255,241,7,0,192,237,255,50,4,0,28,236,255, +134,7,0,227,238,255,193,11,0,224,252,255,47,10,0,114,242,255,168,16,0,222,245,255,35,10,0,172,247,255,40,6,0,205,1,0,157,19,0,158,245,255,175,7,0,174,254,255,121,11,0,207,3,0,182,14,0,199,249,255,145,11,0,92,5,0,9,7,0,250,247,255,106,13,0,97,254,255, +44,252,255,243,255,255,66,1,0,46,4,0,62,11,0,121,246,255,135,254,255,58,0,0,157,255,255,7,240,255,120,0,0,245,239,255,160,253,255,109,250,255,200,247,255,134,246,255,84,1,0,103,250,255,54,1,0,22,249,255,242,250,255,196,244,255,196,4,0,26,243,255,218, +2,0,7,244,255,140,6,0,7,251,255,224,9,0,66,2,0,134,6,0,100,252,255,195,5,0,67,5,0,216,17,0,219,252,255,65,12,0,200,7,0,240,16,0,144,251,255,71,18,0,54,6,0,18,25,0,50,15,0,130,18,0,40,7,0,31,17,0,212,10,0,18,21,0,170,7,0,58,15,0,75,4,0,202,14,0,99,10, +0,74,26,0,133,11,0,210,19,0,2,8,0,84,20,0,104,17,0,200,18,0,10,7,0,244,26,0,182,0,0,92,25,0,35,6,0,12,14,0,96,5,0,158,21,0,204,4,0,238,16,0,187,10,0,92,28,0,222,7,0,149,32,0,38,254,255,70,17,0,49,8,0,224,20,0,0,12,0,244,28,0,43,14,0,7,22,0,220,14,0,153, +32,0,244,14,0,147,32,0,43,11,0,38,30,0,235,6,0,50,30,0,222,7,0,85,27,0,237,5,0,222,26,0,58,9,0,90,30,0,198,4,0,109,26,0,147,9,0,198,32,0,95,11,0,65,30,0,217,12,0,79,26,0,170,6,0,57,28,0,243,5,0,152,25,0,193,6,0,73,20,0,134,3,0,112,21,0,52,0,0,49,23,0, +236,250,255,13,9,0,72,249,255,48,9,0,41,0,0,197,14,0,44,246,255,88,4,0,189,247,255,167,0,0,227,246,255,207,1,0,143,241,255,119,251,255,67,241,255,139,250,255,53,250,255,33,2,0,65,250,255,237,254,255,216,246,255,16,255,255,247,245,255,208,0,0,168,1,0, +15,2,0,250,249,255,40,255,255,48,242,255,252,7,0,211,251,255,225,6,0,101,250,255,33,7,0,209,252,255,8,16,0,205,3,0,44,13,0,95,250,255,60,11,0,45,254,255,119,3,0,82,253,255,206,14,0,97,1,0,68,5,0,19,247,255,94,6,0,161,255,255,25,13,0,37,250,255,64,19, +0,226,247,255,72,8,0,171,248,255,161,18,0,159,248,255,124,6,0,191,247,255,209,20,0,112,243,255,102,10,0,119,250,255,109,12,0,9,247,255,141,11,0,42,243,255,15,12,0,37,255,255,36,18,0,129,246,255,62,12,0,19,245,255,19,15,0,203,245,255,148,13,0,7,248,255, +169,21,0,210,247,255,173,12,0,232,245,255,12,20,0,37,250,255,253,23,0,227,247,255,36,22,0,206,239,255,190,10,0,15,245,255,145,21,0,160,241,255,129,13,0,191,250,255,211,18,0,86,240,255,29,15,0,250,243,255,7,12,0,182,244,255,114,14,0,255,239,255,47,3,0, +91,250,255,220,7,0,157,238,255,10,246,255,6,242,255,156,2,0,17,240,255,186,253,255,131,253,255,142,3,0,107,244,255,181,255,255,136,251,255,188,255,255,101,253,255,37,0,0,140,247,255,109,2,0,30,251,255,116,6,0,163,245,255,55,0,0,36,251,255,135,12,0,76, +2,0,141,3,0,71,4,0,82,21,0,200,249,255,28,10,0,140,0,0,84,22,0,207,8,0,5,25,0,180,7,0,252,21,0,17,0,0,171,18,0,241,4,0,85,28,0,106,6,0,62,19,0,235,4,0,89,20,0,227,7,0,106,20,0,226,3,0,36,20,0,204,11,0,26,21,0,155,255,255,87,16,0,80,9,0,123,20,0,104,13, +0,232,19,0,39,11,0,242,11,0,210,9,0,245,16,0,9,13,0,171,15,0,208,3,0,110,18,0,84,255,255,115,8,0,60,251,255,176,5,0,72,1,0,50,12,0,205,250,255,49,6,0,128,250,255,145,18,0,146,254,255,47,19,0,152,248,255,58,9,0,234,250,255,244,10,0,206,2,0,237,8,0,46, +254,255,194,13,0,184,241,255,120,6,0,249,249,255,23,15,0,194,242,255,72,12,0,120,247,255,108,12,0,211,244,255,25,6,0,146,246,255,87,7,0,70,244,255,84,4,0,194,246,255,226,0,0,29,0,0,175,7,0,197,239,255,55,252,255,196,251,255,146,1,0,185,253,255,63,7,0, +41,246,255,161,254,255,2,255,255,60,4,0,84,3,0,107,8,0,129,252,255,128,255,255,211,2,0,93,1,0,253,254,255,60,8,0,83,7,0,204,5,0,38,12,0,93,3,0,10,6,0,172,4,0,148,5,0,240,3,0,43,3,0,66,4,0,224,9,0,156,9,0,34,4,0,230,8,0,108,255,255,219,13,0,79,253,255, +147,8,0,192,4,0,148,15,0,72,248,255,101,4,0,0,252,255,84,13,0,81,2,0,215,5,0,215,251,255,106,8,0,167,255,255,68,7,0,244,244,255,172,0,0,192,251,255,148,11,0,86,249,255,174,5,0,199,0,0,146,17,0,14,246,255,199,10,0,216,0,0,139,14,0,195,250,255,193,17,0, +99,238,255,181,17,0,62,244,255,58,17,0,106,245,255,33,12,0,179,246,255,34,17,0,20,248,255,209,19,0,38,253,255,20,21,0,236,245,255,153,25,0,223,240,255,5,22,0,92,251,255,231,21,0,19,1,0,56,24,0,253,252,255,152,25,0,197,253,255,209,22,0,123,0,0,115,27, +0,32,6,0,190,26,0,165,247,255,105,25,0,23,249,255,39,20,0,52,0,0,84,24,0,34,0,0,149,17,0,192,2,0,61,5,0,59,254,255,69,11,0,29,5,0,90,5,0,116,251,255,221,254,255,121,248,255,111,255,255,220,250,255,240,250,255,225,1,0,94,250,255,68,2,0,74,249,255,115, +248,255,76,240,255,37,242,255,187,242,255,109,240,255,42,238,255,206,244,255,121,244,255,82,249,255,140,242,255,87,251,255,128,242,255,58,251,255,62,236,255,197,245,255,219,230,255,45,248,255,158,229,255,195,244,255,237,233,255,34,240,255,155,230,255, +243,239,255,243,230,255,59,238,255,220,225,255,166,239,255,135,234,255,97,234,255,176,231,255,221,245,255,248,240,255,84,241,255,27,246,255,4,242,255,105,244,255,21,239,255,92,246,255,94,240,255,49,248,255,198,234,255,236,242,255,230,246,255,84,253,255, +136,235,255,232,243,255,94,237,255,177,5,0,188,243,255,233,1,0,168,236,255,44,254,255,241,243,255,220,6,0,219,249,255,198,1,0,144,244,255,226,6,0,73,255,255,213,11,0,203,244,255,23,255,255,171,251,255,31,3,0,15,252,255,214,3,0,231,246,255,191,251,255, +213,246,255,172,250,255,86,253,255,43,247,255,112,239,255,197,242,255,6,242,255,86,245,255,96,243,255,191,245,255,32,240,255,25,241,255,77,248,255,98,242,255,242,233,255,72,244,255,122,241,255,53,246,255,251,241,255,18,243,255,9,237,255,32,235,255,40, +241,255,67,247,255,197,231,255,67,235,255,41,241,255,161,241,255,8,242,255,240,230,255,190,239,255,233,242,255,122,231,255,108,234,255,91,236,255,203,232,255,218,238,255,222,242,255,254,242,255,32,237,255,239,240,255,184,240,255,18,244,255,4,238,255, +225,232,255,41,242,255,130,238,255,251,245,255,216,243,255,182,252,255,76,240,255,94,252,255,234,240,255,50,250,255,200,247,255,19,3,0,96,248,255,90,13,0,37,244,255,121,1,0,84,251,255,8,17,0,102,251,255,155,14,0,86,3,0,142,20,0,14,5,0,231,21,0,90,2,0, +102,24,0,126,255,255,182,30,0,170,15,0,53,37,0,255,6,0,234,20,0,136,12,0,32,32,0,234,18,0,159,35,0,145,14,0,5,30,0,99,11,0,24,42,0,26,20,0,241,39,0,11,22,0,176,42,0,179,21,0,14,33,0,184,28,0,32,37,0,241,31,0,156,45,0,177,31,0,103,45,0,49,28,0,104,46, +0,24,31,0,155,49,0,55,32,0,127,50,0,22,34,0,84,53,0,173,33,0,191,43,0,64,35,0,160,42,0,76,35,0,49,62,0,34,27,0,197,48,0,127,39,0,106,54,0,62,42,0,180,45,0,10,43,0,22,57,0,62,43,0,42,55,0,91,43,0,5,54,0,171,46,0,141,60,0,122,49,0,73,61,0,34,45,0,233,59, +0,82,54,0,230,78,0,74,57,0,31,70,0,220,53,0,95,66,0,229,60,0,42,75,0,124,65,0,141,83,0,140,60,0,105,79,0,33,72,0,140,88,0,25,62,0,54,81,0,73,72,0,162,88,0,195,72,0,156,80,0,100,67,0,49,88,0,77,72,0,49,93,0,208,70,0,217,84,0,207,70,0,63,96,0,1,69,0,166, +91,0,130,65,0,11,85,0,159,66,0,245,81,0,255,64,0,89,83,0,97,69,0,67,80,0,29,71,0,245,78,0,210,71,0,76,79,0,95,69,0,152,75,0,21,61,0,3,82,0,101,70,0,71,81,0,249,67,0,149,84,0,254,67,0,36,83,0,23,65,0,130,79,0,66,67,0,97,81,0,202,64,0,46,78,0,94,72,0,177, +86,0,78,74,0,220,78,0,72,59,0,161,73,0,108,76,0,115,80,0,193,69,0,67,74,0,157,64,0,108,75,0,154,67,0,124,69,0,80,58,0,156,61,0,247,73,0,18,69,0,217,67,0,66,65,0,154,64,0,167,62,0,116,62,0,125,67,0,56,66,0,205,72,0,38,60,0,8,68,0,236,61,0,106,67,0,227, +75,0,167,65,0,251,65,0,132,72,0,42,67,0,165,76,0,77,85,0,235,70,0,174,65,0,21,79,0,58,67,0,97,74,0,21,66,0,214,75,0,11,74,0,56,88,0,228,64,0,238,65,0,64,64,0,2,76,0,144,75,0,245,86,0,216,78,0,223,82,0,103,70,0,229,84,0,83,68,0,57,88,0,2,70,0,177,80,0, +97,66,0,50,75,0,227,75,0,161,76,0,131,66,0,205,67,0,61,74,0,201,70,0,232,63,0,67,64,0,83,74,0,40,60,0,171,68,0,82,63,0,50,63,0,41,56,0,156,58,0,18,50,0,178,57,0,165,44,0,29,61,0,77,44,0,198,46,0,18,28,0,247,35,0,8,31,0,82,41,0,227,27,0,211,35,0,35,14, +0,203,32,0,239,21,0,94,27,0,176,14,0,218,20,0,28,12,0,149,23,0,65,7,0,75,26,0,182,7,0,34,17,0,245,6,0,216,18,0,32,10,0,53,20,0,28,13,0,83,3,0,231,2,0,28,8,0,160,10,0,200,4,0,200,8,0,242,15,0,123,8,0,167,18,0,59,8,0,21,7,0,102,2,0,253,15,0,188,8,0,68, +9,0,46,15,0,81,11,0,123,7,0,19,14,0,7,9,0,85,19,0,120,12,0,198,22,0,149,13,0,12,13,0,142,21,0,140,24,0,236,13,0,46,22,0,243,26,0,245,14,0,106,21,0,246,26,0,175,19,0,81,25,0,203,17,0,128,25,0,68,16,0,196,21,0,147,23,0,79,22,0,88,23,0,57,13,0,9,15,0,57, +24,0,82,23,0,62,24,0,78,27,0,71,31,0,121,20,0,144,25,0,2,14,0,12,33,0,21,17,0,167,26,0,234,11,0,143,25,0,167,19,0,64,34,0,244,9,0,2,23,0,55,18,0,53,21,0,193,12,0,177,24,0,186,9,0,168,18,0,37,2,0,220,16,0,67,3,0,93,19,0,196,6,0,244,19,0,252,254,255,79, +13,0,20,2,0,233,3,0,136,255,255,55,13,0,183,1,0,0,5,0,151,249,255,206,9,0,147,254,255,75,2,0,49,2,0,229,10,0,3,4,0,144,254,255,79,5,0,156,255,255,69,11,0,15,247,255,231,7,0,48,9,0,249,8,0,220,0,0,178,7,0,215,3,0,168,15,0,46,1,0,46,19,0,232,4,0,114,6, +0,88,9,0,140,24,0,28,0,0,215,24,0,117,8,0,181,26,0,101,19,0,197,25,0,153,17,0,94,35,0,141,23,0,176,45,0,66,23,0,76,40,0,119,32,0,105,44,0,170,24,0,145,35,0,119,37,0,93,47,0,66,36,0,40,43,0,25,41,0,249,45,0,95,44,0,138,45,0,25,40,0,155,49,0,135,49,0,115, +49,0,251,54,0,230,49,0,47,56,0,143,55,0,0,54,0,2,47,0,121,60,0,136,55,0,4,53,0,60,53,0,213,47,0,182,52,0,248,49,0,158,49,0,160,51,0,116,52,0,236,47,0,151,60,0,165,48,0,238,51,0,170,49,0,75,49,0,94,50,0,226,44,0,1,50,0,179,40,0,175,51,0,184,46,0,111,48, +0,9,48,0,1,39,0,55,46,0,175,31,0,235,41,0,211,31,0,108,34,0,116,38,0,44,31,0,13,27,0,91,29,0,52,33,0,10,26,0,75,31,0,178,25,0,18,21,0,108,23,0,72,16,0,44,25,0,46,25,0,143,19,0,237,30,0,84,23,0,135,14,0,151,11,0,46,23,0,178,18,0,116,23,0,189,21,0,48,14, +0,255,11,0,17,20,0,242,16,0,24,14,0,214,13,0,87,19,0,249,9,0,249,20,0,168,10,0,219,23,0,138,13,0,52,18,0,91,11,0,115,20,0,229,255,255,238,16,0,112,2,0,62,20,0,72,255,255,4,21,0,170,2,0,33,20,0,250,5,0,117,13,0,75,6,0,195,19,0,190,11,0,35,12,0,179,249, +255,238,13,0,241,254,255,21,17,0,251,243,255,106,8,0,55,240,255,88,9,0,25,242,255,130,6,0,23,233,255,243,13,0,209,233,255,242,1,0,197,234,255,86,1,0,52,234,255,130,6,0,208,238,255,254,244,255,33,228,255,100,251,255,2,231,255,36,240,255,232,224,255,122, +242,255,50,217,255,187,241,255,120,217,255,143,235,255,81,214,255,50,236,255,199,213,255,1,231,255,218,210,255,193,230,255,171,212,255,168,222,255,79,211,255,53,223,255,128,206,255,184,227,255,51,211,255,232,225,255,31,205,255,244,223,255,236,203,255, +140,224,255,224,206,255,3,221,255,239,209,255,151,227,255,104,222,255,186,217,255,217,210,255,111,217,255,236,207,255,244,218,255,170,202,255,162,229,255,166,218,255,182,216,255,180,215,255,89,218,255,105,198,255,218,215,255,226,199,255,14,217,255,91, +195,255,104,222,255,166,196,255,73,217,255,147,199,255,184,216,255,16,196,255,203,215,255,110,195,255,120,209,255,53,186,255,153,221,255,105,188,255,137,211,255,98,183,255,141,207,255,194,186,255,160,213,255,186,176,255,248,204,255,255,170,255,237,204, +255,76,170,255,136,201,255,229,175,255,117,204,255,72,163,255,116,205,255,115,168,255,243,193,255,81,161,255,222,198,255,239,153,255,64,193,255,96,152,255,77,185,255,30,149,255,161,190,255,152,150,255,43,186,255,145,145,255,64,183,255,19,152,255,13,176, +255,93,142,255,98,179,255,23,143,255,139,172,255,65,142,255,49,170,255,9,142,255,50,170,255,20,137,255,107,166,255,203,141,255,142,167,255,99,136,255,99,164,255,77,130,255,58,171,255,210,137,255,176,170,255,123,144,255,102,158,255,99,134,255,190,169, +255,248,143,255,137,165,255,71,147,255,223,167,255,152,148,255,248,155,255,49,142,255,87,171,255,9,154,255,253,168,255,173,153,255,25,171,255,228,151,255,244,162,255,99,159,255,228,172,255,53,149,255,121,170,255,86,152,255,69,176,255,6,167,255,37,174, +255,222,156,255,90,174,255,9,166,255,219,184,255,253,156,255,219,169,255,203,160,255,154,176,255,73,168,255,61,177,255,88,166,255,100,174,255,12,167,255,66,183,255,117,172,255,196,167,255,205,162,255,29,172,255,196,180,255,16,174,255,126,171,255,102, +175,255,220,166,255,132,175,255,112,165,255,37,173,255,56,169,255,221,174,255,77,162,255,243,171,255,5,165,255,225,177,255,247,157,255,156,177,255,150,166,255,242,174,255,147,160,255,171,176,255,69,163,255,124,168,255,106,148,255,102,168,255,201,156, +255,210,183,255,30,159,255,47,171,255,189,153,255,103,173,255,86,153,255,102,166,255,54,148,255,169,164,255,245,148,255,245,168,255,159,148,255,92,171,255,130,149,255,183,168,255,134,143,255,104,176,255,247,150,255,41,163,255,77,144,255,57,169,255,227, +153,255,201,166,255,248,155,255,21,175,255,4,161,255,222,173,255,53,159,255,45,176,255,62,158,255,184,172,255,106,168,255,7,183,255,101,156,255,226,176,255,170,165,255,89,175,255,223,169,255,203,177,255,127,164,255,127,182,255,172,165,255,157,182,255, +102,174,255,207,180,255,226,169,255,177,177,255,132,163,255,175,186,255,124,165,255,47,180,255,189,157,255,65,187,255,36,163,255,134,180,255,50,162,255,149,168,255,179,158,255,68,172,255,195,163,255,249,179,255,97,167,255,110,172,255,218,164,255,112, +175,255,198,163,255,215,180,255,14,166,255,33,178,255,93,175,255,40,174,255,90,167,255,123,177,255,249,169,255,22,179,255,64,173,255,130,174,255,150,167,255,37,178,255,9,162,255,84,188,255,231,175,255,164,182,255,73,176,255,241,185,255,25,171,255,98, +181,255,136,174,255,141,187,255,45,177,255,230,186,255,64,173,255,176,181,255,172,175,255,107,184,255,207,175,255,187,188,255,39,179,255,2,189,255,31,174,255,21,188,255,203,165,255,59,190,255,217,168,255,165,192,255,163,169,255,184,182,255,99,167,255, +244,197,255,57,162,255,148,190,255,247,172,255,133,183,255,138,166,255,51,187,255,206,164,255,188,188,255,69,170,255,2,186,255,84,162,255,5,188,255,233,169,255,67,186,255,224,165,255,241,189,255,143,166,255,72,193,255,63,172,255,102,190,255,94,168,255, +250,188,255,124,162,255,251,179,255,244,160,255,250,177,255,51,162,255,91,176,255,150,165,255,159,180,255,250,170,255,60,178,255,184,160,255,1,173,255,132,161,255,248,174,255,130,165,255,54,176,255,71,160,255,72,176,255,74,165,255,73,170,255,156,162, +255,72,177,255,7,162,255,187,186,255,159,161,255,210,172,255,157,160,255,130,175,255,204,163,255,196,174,255,67,154,255,24,174,255,186,164,255,0,175,255,160,160,255,88,180,255,151,162,255,45,176,255,49,159,255,27,177,255,94,160,255,129,175,255,7,163, +255,147,175,255,251,155,255,143,183,255,87,167,255,249,177,255,245,169,255,228,171,255,122,165,255,40,181,255,75,166,255,181,180,255,192,163,255,127,168,255,167,172,255,46,187,255,250,166,255,238,189,255,199,161,255,136,178,255,138,163,255,158,187,255, +234,172,255,205,187,255,127,179,255,179,183,255,39,167,255,22,184,255,132,172,255,154,190,255,173,175,255,167,184,255,8,169,255,198,194,255,224,181,255,144,190,255,217,169,255,24,182,255,109,174,255,198,192,255,215,173,255,215,185,255,199,178,255,34, +186,255,232,179,255,96,192,255,197,177,255,175,188,255,14,179,255,202,189,255,167,188,255,82,179,255,114,174,255,31,184,255,232,178,255,118,189,255,78,190,255,218,176,255,50,190,255,202,176,255,253,180,255,117,185,255,248,192,255,239,178,255,151,192, +255,87,179,255,81,197,255,0,187,255,60,194,255,136,188,255,122,195,255,35,187,255,163,197,255,25,196,255,1,214,255,113,191,255,91,206,255,61,196,255,121,201,255,250,199,255,137,213,255,43,199,255,47,210,255,39,201,255,160,209,255,97,210,255,201,218,255, +170,202,255,225,211,255,218,217,255,8,215,255,49,218,255,3,217,255,179,215,255,5,212,255,150,224,255,5,212,255,216,234,255,47,216,255,224,229,255,78,211,255,174,233,255,92,221,255,129,237,255,224,217,255,192,233,255,148,213,255,92,236,255,159,218,255, +128,231,255,129,214,255,43,235,255,70,215,255,13,231,255,106,210,255,175,233,255,17,209,255,22,228,255,114,205,255,7,227,255,175,206,255,11,230,255,207,203,255,45,228,255,125,206,255,121,228,255,92,199,255,183,218,255,72,194,255,58,226,255,189,204,255, +211,210,255,88,201,255,82,209,255,212,192,255,187,217,255,20,197,255,143,216,255,4,199,255,171,219,255,197,196,255,130,213,255,206,199,255,238,205,255,241,197,255,212,215,255,141,206,255,138,200,255,174,205,255,200,209,255,102,206,255,86,213,255,192, +207,255,86,215,255,236,214,255,138,209,255,69,200,255,182,218,255,225,206,255,58,213,255,162,216,255,7,207,255,208,210,255,114,212,255,180,208,255,5,210,255,31,216,255,192,213,255,201,217,255,43,221,255,103,221,255,122,214,255,66,212,255,243,216,255, +153,212,255,133,216,255,119,216,255,56,225,255,15,226,255,129,218,255,5,216,255,235,215,255,175,215,255,82,226,255,187,215,255,89,222,255,216,211,255,19,228,255,75,222,255,193,224,255,78,219,255,140,232,255,34,215,255,207,227,255,119,217,255,190,229, +255,8,216,255,99,227,255,135,218,255,148,228,255,69,213,255,76,227,255,118,218,255,177,228,255,173,219,255,30,231,255,53,219,255,209,227,255,205,231,255,224,224,255,34,227,255,30,235,255,43,237,255,241,239,255,83,232,255,169,242,255,198,241,255,116,239, +255,175,241,255,15,238,255,224,242,255,207,241,255,247,242,255,161,243,255,228,248,255,50,238,255,142,248,255,128,237,255,188,250,255,237,250,255,115,253,255,228,240,255,204,245,255,126,0,0,252,248,255,11,245,255,4,252,255,27,251,255,5,248,255,217,249, +255,96,1,0,4,2,0,96,3,0,222,2,0,212,255,255,169,255,255,87,251,255,161,254,255,250,252,255,93,1,0,178,255,255,60,13,0,18,16,0,217,7,0,32,10,0,202,15,0,71,14,0,218,5,0,165,8,0,204,16,0,159,8,0,222,14,0,37,17,0,25,18,0,213,16,0,96,26,0,31,22,0,213,20,0, +148,25,0,227,26,0,201,21,0,157,16,0,232,22,0,145,28,0,88,27,0,86,25,0,123,32,0,46,20,0,197,27,0,163,19,0,52,29,0,121,23,0,229,26,0,188,17,0,87,22,0,193,22,0,97,34,0,255,19,0,205,31,0,189,23,0,45,24,0,168,29,0,59,20,0,113,20,0,59,33,0,225,19,0,58,30,0, +61,25,0,35,25,0,198,15,0,9,16,0,73,18,0,128,36,0,164,15,0,18,23,0,119,18,0,13,13,0,196,14,0,57,20,0,228,18,0,109,20,0,246,16,0,243,8,0,35,14,0,236,18,0,122,20,0,45,23,0,87,17,0,106,19,0,168,20,0,218,15,0,209,23,0,163,22,0,200,19,0,35,24,0,7,20,0,50,23, +0,17,25,0,55,20,0,88,29,0,36,33,0,188,22,0,44,26,0,116,29,0,7,22,0,79,25,0,177,21,0,21,33,0,226,34,0,22,28,0,240,24,0,80,40,0,186,26,0,5,37,0,8,34,0,96,34,0,5,33,0,50,43,0,234,33,0,93,33,0,215,38,0,227,40,0,165,39,0,76,42,0,71,35,0,190,39,0,126,43,0, +107,44,0,153,45,0,163,46,0,235,49,0,170,38,0,1,47,0,183,36,0,22,43,0,246,48,0,118,46,0,92,46,0,71,42,0,111,38,0,204,46,0,78,42,0,241,39,0,1,44,0,73,41,0,112,42,0,4,47,0,47,38,0,57,42,0,142,34,0,145,37,0,142,34,0,37,38,0,212,38,0,175,35,0,45,38,0,3,26, +0,136,31,0,205,27,0,194,35,0,48,32,0,121,30,0,225,35,0,181,25,0,254,26,0,23,33,0,82,29,0,126,30,0,188,31,0,58,24,0,17,25,0,201,27,0,18,29,0,170,26,0,153,31,0,87,28,0,144,33,0,95,16,0,180,27,0,85,30,0,122,30,0,45,27,0,77,24,0,44,30,0,82,24,0,163,26,0, +105,34,0,95,23,0,243,28,0,88,26,0,19,28,0,255,27,0,101,29,0,20,34,0,252,34,0,172,29,0,118,36,0,55,38,0,150,35,0,154,36,0,221,33,0,126,40,0,91,38,0,153,39,0,221,26,0,199,29,0,125,27,0,59,38,0,89,30,0,183,30,0,227,27,0,43,32,0,173,18,0,197,39,0,149,21, +0,83,36,0,88,19,0,112,37,0,73,9,0,60,33,0,123,20,0,44,30,0,24,11,0,60,25,0,81,15,0,46,12,0,160,6,0,170,19,0,221,9,0,145,10,0,240,14,0,4,15,0,220,8,0,4,3,0,122,4,0,76,6,0,96,10,0,129,7,0,13,8,0,38,3,0,152,13,0,235,1,0,184,11,0,189,1,0,125,14,0,220,7,0, +156,20,0,57,5,0,118,18,0,239,4,0,109,20,0,67,12,0,182,19,0,69,14,0,41,25,0,215,16,0,219,17,0,15,12,0,165,19,0,117,20,0,140,31,0,218,19,0,166,29,0,228,35,0,211,38,0,20,16,0,38,19,0,133,29,0,230,31,0,26,26,0,6,21,0,146,30,0,97,30,0,249,35,0,194,26,0,176, +41,0,89,33,0,127,34,0,114,31,0,56,28,0,111,29,0,130,42,0,199,31,0,254,27,0,109,32,0,22,24,0,87,28,0,49,28,0,80,18,0,52,30,0,88,29,0,199,34,0,196,29,0,254,28,0,232,31,0,228,20,0,7,29,0,190,17,0,107,22,0,250,25,0,119,28,0,46,27,0,135,27,0,103,21,0,10,23, +0,160,27,0,194,24,0,4,20,0,171,24,0,186,20,0,94,27,0,161,29,0,92,31,0,182,27,0,190,21,0,27,21,0,192,23,0,245,33,0,32,34,0,106,26,0,114,31,0,6,29,0,232,30,0,93,31,0,18,27,0,53,31,0,66,35,0,35,42,0,90,31,0,50,40,0,238,31,0,126,48,0,198,31,0,8,45,0,219, +41,0,170,48,0,30,41,0,156,51,0,252,41,0,32,47,0,153,45,0,81,51,0,98,48,0,104,46,0,219,50,0,10,44,0,104,50,0,176,51,0,167,57,0,34,52,0,55,53,0,197,50,0,70,52,0,161,42,0,52,58,0,96,47,0,117,54,0,151,45,0,101,56,0,120,48,0,36,61,0,44,54,0,14,63,0,235,44, +0,21,58,0,21,56,0,187,60,0,216,50,0,206,55,0,65,46,0,249,60,0,9,56,0,251,56,0,21,58,0,107,62,0,221,52,0,248,61,0,162,58,0,71,69,0,214,59,0,34,73,0,248,52,0,234,67,0,0,57,0,139,71,0,11,65,0,28,69,0,229,58,0,49,74,0,68,66,0,117,76,0,76,62,0,26,84,0,88, +64,0,230,76,0,99,55,0,31,78,0,172,64,0,198,73,0,121,65,0,35,69,0,198,61,0,108,68,0,95,61,0,138,62,0,92,68,0,169,68,0,141,64,0,188,61,0,72,64,0,169,59,0,199,59,0,123,69,0,145,55,0,29,56,0,132,53,0,196,50,0,224,54,0,84,55,0,186,60,0,230,51,0,248,59,0,237, +56,0,6,56,0,185,54,0,136,65,0,88,55,0,34,57,0,29,54,0,171,59,0,251,53,0,250,57,0,90,63,0,117,66,0,118,63,0,137,75,0,110,70,0,209,71,0,171,69,0,246,78,0,129,78,0,124,75,0,15,80,0,179,73,0,240,75,0,5,82,0,125,87,0,150,74,0,173,83,0,138,89,0,211,92,0,223, +90,0,191,88,0,252,92,0,28,97,0,209,89,0,217,100,0,113,90,0,82,108,0,28,95,0,81,94,0,205,83,0,133,98,0,35,88,0,203,105,0,48,94,0,97,98,0,76,95,0,251,100,0,5,90,0,84,97,0,4,92,0,130,103,0,180,94,0,238,104,0,83,93,0,252,98,0,199,85,0,243,90,0,198,86,0,113, +95,0,201,78,0,252,87,0,82,82,0,79,82,0,17,78,0,184,73,0,172,82,0,247,76,0,77,70,0,198,66,0,169,75,0,215,66,0,104,72,0,225,65,0,154,67,0,7,59,0,61,59,0,193,49,0,4,59,0,107,49,0,15,64,0,28,56,0,25,61,0,94,46,0,160,54,0,253,45,0,194,53,0,88,46,0,233,52, +0,252,42,0,63,61,0,97,36,0,22,56,0,200,41,0,95,51,0,57,38,0,54,47,0,85,42,0,197,55,0,193,41,0,185,58,0,153,48,0,116,47,0,215,50,0,178,53,0,226,49,0,218,57,0,4,55,0,24,55,0,180,46,0,40,51,0,248,61,0,16,50,0,59,56,0,147,54,0,178,58,0,141,55,0,178,68,0, +191,57,0,200,68,0,202,57,0,222,65,0,3,56,0,210,69,0,138,61,0,169,79,0,229,63,0,15,72,0,103,70,0,94,71,0,182,57,0,212,76,0,124,65,0,121,73,0,61,64,0,98,68,0,186,60,0,29,71,0,48,68,0,228,61,0,14,67,0,96,69,0,64,70,0,181,61,0,30,65,0,67,64,0,62,73,0,219, +67,0,244,67,0,145,64,0,249,70,0,54,61,0,231,69,0,42,59,0,116,73,0,212,62,0,145,65,0,31,53,0,93,66,0,81,55,0,70,67,0,138,54,0,228,66,0,184,49,0,79,69,0,213,44,0,51,64,0,205,53,0,144,57,0,191,39,0,249,63,0,240,44,0,95,63,0,102,47,0,149,53,0,230,36,0,181, +56,0,15,35,0,49,41,0,136,45,0,195,46,0,35,40,0,4,54,0,44,45,0,83,38,0,176,39,0,126,44,0,13,35,0,70,42,0,210,37,0,172,40,0,165,37,0,237,32,0,33,39,0,92,38,0,80,34,0,167,36,0,244,35,0,219,33,0,179,39,0,35,36,0,235,41,0,231,29,0,114,31,0,15,41,0,179,38, +0,75,48,0,254,34,0,247,42,0,128,36,0,212,42,0,52,39,0,232,36,0,144,35,0,129,36,0,135,30,0,24,43,0,50,30,0,235,40,0,179,31,0,249,45,0,243,39,0,148,41,0,172,34,0,67,44,0,108,37,0,200,38,0,61,39,0,203,43,0,119,35,0,241,45,0,36,41,0,4,41,0,80,32,0,151,42, +0,254,36,0,128,42,0,120,32,0,132,35,0,245,40,0,139,41,0,55,35,0,174,38,0,207,26,0,60,31,0,152,24,0,129,37,0,52,29,0,201,40,0,137,29,0,105,47,0,86,28,0,130,34,0,73,22,0,185,45,0,101,30,0,210,41,0,8,24,0,21,42,0,255,27,0,221,48,0,55,22,0,154,37,0,229,24, +0,242,41,0,54,22,0,84,40,0,46,25,0,157,40,0,163,20,0,170,29,0,40,18,0,178,33,0,147,26,0,254,30,0,110,21,0,77,31,0,71,20,0,126,27,0,115,15,0,198,21,0,77,12,0,188,26,0,62,17,0,229,24,0,17,9,0,16,20,0,110,6,0,22,20,0,1,8,0,165,12,0,160,1,0,207,16,0,46,8, +0,160,18,0,190,255,255,96,12,0,88,5,0,181,6,0,98,7,0,81,10,0,103,7,0,198,6,0,218,5,0,116,252,255,246,5,0,192,6,0,130,8,0,119,5,0,70,6,0,101,18,0,13,18,0,199,11,0,64,12,0,10,12,0,37,17,0,216,16,0,109,24,0,3,19,0,17,31,0,90,17,0,231,21,0,69,27,0,188,24, +0,114,21,0,40,24,0,208,34,0,52,29,0,20,18,0,170,19,0,106,39,0,155,33,0,30,30,0,2,22,0,53,29,0,40,34,0,63,36,0,78,29,0,64,35,0,44,29,0,247,33,0,98,26,0,9,38,0,105,30,0,219,42,0,228,26,0,193,39,0,134,29,0,227,34,0,37,34,0,52,43,0,236,34,0,155,42,0,191, +33,0,193,48,0,110,39,0,124,54,0,213,38,0,169,44,0,2,39,0,180,44,0,128,42,0,253,49,0,80,39,0,57,41,0,135,45,0,110,58,0,148,48,0,32,52,0,181,53,0,111,43,0,197,49,0,242,46,0,234,50,0,146,55,0,44,53,0,211,48,0,8,54,0,43,50,0,219,52,0,255,57,0,193,54,0,71, +63,0,115,53,0,169,57,0,145,60,0,51,56,0,133,56,0,225,56,0,2,52,0,236,56,0,85,57,0,227,54,0,114,48,0,221,58,0,80,47,0,202,59,0,36,63,0,202,55,0,224,53,0,229,55,0,149,54,0,184,59,0,29,46,0,149,51,0,40,42,0,55,53,0,64,41,0,216,51,0,91,37,0,242,48,0,57,33, +0,223,49,0,181,33,0,166,45,0,32,34,0,176,46,0,110,35,0,220,47,0,13,35,0,103,49,0,91,28,0,252,51,0,61,33,0,13,48,0,195,38,0,255,52,0,63,35,0,29,55,0,65,41,0,68,59,0,238,42,0,146,52,0,250,34,0,105,49,0,70,33,0,140,59,0,93,40,0,37,56,0,26,36,0,47,53,0,65, +36,0,51,57,0,105,35,0,61,54,0,103,43,0,236,57,0,18,36,0,53,51,0,175,37,0,134,60,0,234,35,0,75,65,0,251,35,0,56,52,0,40,39,0,222,50,0,186,36,0,122,49,0,41,38,0,54,52,0,17,32,0,206,42,0,136,28,0,136,43,0,223,30,0,202,34,0,95,22,0,84,40,0,132,20,0,248,36, +0,155,26,0,96,39,0,127,26,0,207,30,0,64,20,0,115,31,0,153,17,0,238,25,0,78,15,0,172,24,0,91,14,0,84,29,0,68,20,0,194,24,0,21,18,0,79,28,0,172,9,0,63,21,0,130,17,0,88,26,0,58,19,0,123,22,0,7,16,0,236,19,0,8,12,0,11,18,0,102,10,0,237,18,0,160,6,0,175,21, +0,252,5,0,205,23,0,252,5,0,250,35,0,108,10,0,201,31,0,245,18,0,75,35,0,155,12,0,7,26,0,181,10,0,81,28,0,79,16,0,61,21,0,0,254,255,169,26,0,28,4,0,196,18,0,209,251,255,99,21,0,70,0,0,92,22,0,34,251,255,99,18,0,10,252,255,32,15,0,127,244,255,205,4,0,59, +244,255,74,16,0,50,246,255,86,249,255,232,234,255,16,0,0,142,228,255,217,1,0,0,226,255,46,255,255,93,225,255,56,253,255,195,225,255,40,247,255,184,222,255,227,244,255,247,219,255,4,248,255,108,221,255,100,237,255,132,215,255,212,235,255,89,214,255,126, +236,255,43,204,255,177,241,255,77,215,255,125,231,255,184,215,255,248,229,255,148,206,255,24,231,255,128,205,255,92,215,255,232,204,255,27,222,255,50,205,255,94,233,255,234,219,255,18,229,255,210,207,255,205,221,255,24,215,255,255,224,255,193,220,255, +180,230,255,29,218,255,72,228,255,50,214,255,138,234,255,102,216,255,22,228,255,80,221,255,39,223,255,57,216,255,234,224,255,135,222,255,235,234,255,79,217,255,162,239,255,222,221,255,161,232,255,142,219,255,153,226,255,117,218,255,112,234,255,236,218, +255,198,226,255,217,219,255,189,237,255,37,219,255,234,230,255,245,207,255,232,231,255,147,206,255,2,233,255,85,211,255,47,231,255,84,209,255,100,218,255,54,203,255,37,228,255,122,203,255,20,221,255,104,206,255,27,228,255,250,211,255,135,225,255,191, +203,255,131,220,255,160,202,255,118,216,255,37,209,255,252,217,255,51,208,255,0,216,255,184,202,255,195,213,255,247,202,255,78,201,255,254,197,255,93,209,255,186,204,255,213,215,255,254,195,255,118,206,255,31,199,255,20,207,255,63,200,255,25,205,255, +71,195,255,90,202,255,28,194,255,244,208,255,112,181,255,125,202,255,171,189,255,204,193,255,22,177,255,155,197,255,159,179,255,54,193,255,0,182,255,229,197,255,229,181,255,108,203,255,45,174,255,61,193,255,235,177,255,183,194,255,140,179,255,198,210, +255,253,177,255,14,201,255,16,171,255,194,197,255,136,173,255,235,207,255,59,179,255,231,196,255,106,174,255,114,200,255,133,175,255,196,201,255,24,178,255,115,200,255,200,180,255,119,201,255,231,177,255,32,200,255,52,181,255,124,210,255,247,176,255, +79,206,255,214,184,255,163,202,255,46,182,255,68,202,255,80,178,255,184,197,255,180,181,255,217,197,255,67,175,255,114,192,255,251,176,255,159,192,255,134,178,255,20,194,255,182,167,255,254,191,255,42,175,255,220,187,255,192,164,255,218,184,255,92,164, +255,174,180,255,98,176,255,226,186,255,195,172,255,119,182,255,218,172,255,106,187,255,154,181,255,168,185,255,5,178,255,90,187,255,12,178,255,104,194,255,111,179,255,241,184,255,216,182,255,204,191,255,39,185,255,126,197,255,90,189,255,88,189,255,119, +189,255,206,191,255,55,186,255,116,197,255,140,188,255,219,191,255,233,187,255,12,204,255,87,193,255,9,194,255,194,176,255,68,193,255,201,189,255,189,196,255,39,187,255,185,192,255,169,187,255,155,202,255,122,184,255,228,208,255,96,193,255,77,204,255, +41,191,255,129,213,255,186,186,255,238,205,255,225,188,255,86,209,255,21,189,255,215,215,255,69,201,255,206,216,255,97,194,255,109,213,255,121,197,255,143,226,255,128,208,255,211,222,255,54,210,255,103,228,255,189,203,255,157,227,255,144,205,255,144, +226,255,161,216,255,248,225,255,4,216,255,65,228,255,109,213,255,191,231,255,121,211,255,127,228,255,33,202,255,203,236,255,245,213,255,19,227,255,4,206,255,107,231,255,29,207,255,136,222,255,37,201,255,30,236,255,95,206,255,52,224,255,79,199,255,199, +229,255,116,205,255,197,219,255,79,208,255,133,220,255,15,195,255,84,218,255,105,190,255,66,215,255,121,187,255,232,209,255,32,187,255,52,204,255,109,179,255,172,207,255,244,181,255,142,196,255,244,176,255,42,199,255,204,168,255,133,197,255,125,170,255, +92,186,255,151,169,255,125,200,255,154,167,255,91,190,255,67,168,255,109,195,255,47,166,255,53,195,255,200,174,255,118,186,255,102,165,255,129,188,255,31,163,255,231,183,255,142,167,255,219,190,255,114,169,255,218,187,255,176,169,255,207,184,255,124, +173,255,148,185,255,93,174,255,44,186,255,68,175,255,239,190,255,186,177,255,37,187,255,201,176,255,85,191,255,77,170,255,34,188,255,174,173,255,183,189,255,180,165,255,115,191,255,35,170,255,193,188,255,1,167,255,50,189,255,126,162,255,251,191,255,21, +165,255,10,188,255,166,164,255,207,188,255,80,171,255,1,191,255,134,159,255,211,189,255,213,167,255,174,190,255,95,155,255,201,189,255,99,162,255,22,186,255,211,170,255,245,191,255,93,150,255,200,188,255,57,154,255,70,187,255,60,169,255,184,179,255,248, +153,255,118,185,255,110,165,255,71,186,255,82,153,255,183,189,255,199,161,255,209,179,255,163,159,255,48,182,255,103,174,255,231,175,255,125,159,255,210,169,255,152,152,255,199,169,255,50,160,255,98,174,255,164,160,255,85,176,255,252,165,255,189,168, +255,53,163,255,234,171,255,174,164,255,241,165,255,250,153,255,191,183,255,2,170,255,9,166,255,76,155,255,52,180,255,162,165,255,212,172,255,255,163,255,43,177,255,16,167,255,73,175,255,74,158,255,25,179,255,235,166,255,195,176,255,245,168,255,71,185, +255,138,174,255,168,192,255,115,179,255,23,192,255,6,184,255,165,190,255,46,184,255,19,199,255,218,186,255,133,203,255,92,187,255,66,196,255,114,190,255,168,200,255,14,190,255,189,202,255,30,192,255,67,209,255,144,193,255,249,204,255,17,197,255,0,209, +255,40,194,255,208,209,255,3,188,255,226,213,255,49,202,255,180,205,255,144,202,255,132,213,255,207,202,255,8,216,255,92,193,255,187,205,255,3,190,255,245,213,255,116,204,255,129,210,255,103,188,255,73,221,255,230,201,255,124,206,255,223,200,255,232, +211,255,79,204,255,139,201,255,98,198,255,90,209,255,81,190,255,145,212,255,233,183,255,175,194,255,187,189,255,49,199,255,32,190,255,170,197,255,215,188,255,84,196,255,57,187,255,218,199,255,159,183,255,204,200,255,9,187,255,248,192,255,140,185,255, +128,197,255,97,178,255,60,200,255,121,174,255,119,202,255,74,184,255,131,198,255,161,182,255,32,203,255,176,188,255,201,200,255,192,187,255,18,213,255,156,201,255,185,203,255,98,191,255,200,214,255,172,196,255,71,209,255,134,208,255,96,211,255,111,203, +255,82,217,255,50,212,255,194,217,255,220,213,255,0,231,255,22,220,255,64,220,255,31,218,255,138,233,255,215,226,255,73,222,255,7,220,255,173,239,255,38,236,255,126,241,255,10,231,255,87,241,255,230,237,255,131,241,255,48,230,255,84,239,255,130,233,255, +202,243,255,202,227,255,149,246,255,50,231,255,13,249,255,163,227,255,90,243,255,107,236,255,97,235,255,78,226,255,149,241,255,230,226,255,210,240,255,164,222,255,99,246,255,40,226,255,181,239,255,31,218,255,117,246,255,70,217,255,252,242,255,31,227, +255,14,239,255,103,216,255,158,233,255,60,222,255,76,234,255,175,220,255,16,230,255,138,211,255,205,234,255,184,217,255,51,226,255,32,216,255,162,230,255,139,211,255,124,226,255,80,218,255,187,221,255,85,223,255,169,231,255,225,217,255,184,234,255,46, +228,255,105,233,255,49,219,255,158,225,255,37,224,255,184,239,255,225,227,255,165,225,255,122,236,255,56,234,255,93,241,255,48,249,255,44,236,255,166,237,255,196,243,255,98,249,255,176,245,255,103,247,255,214,244,255,171,255,255,245,253,255,132,255,255, +155,252,255,100,250,255,67,4,0,99,6,0,17,254,255,2,3,0,52,0,0,153,10,0,51,5,0,139,13,0,82,2,0,92,11,0,95,11,0,23,15,0,240,4,0,153,10,0,198,14,0,37,12,0,118,6,0,244,13,0,205,10,0,201,9,0,133,10,0,153,11,0,237,1,0,226,5,0,13,7,0,146,10,0,167,253,255,237, +12,0,36,8,0,129,9,0,209,249,255,251,16,0,72,4,0,21,7,0,85,255,255,32,7,0,247,255,255,237,12,0,229,5,0,244,8,0,50,5,0,238,6,0,225,255,255,228,8,0,74,8,0,235,11,0,176,11,0,238,15,0,13,0,0,167,10,0,146,7,0,138,17,0,186,9,0,31,15,0,249,3,0,88,18,0,44,14, +0,2,14,0,179,253,255,220,15,0,202,8,0,221,26,0,50,5,0,45,12,0,33,5,0,213,23,0,170,11,0,254,18,0,234,6,0,237,6,0,116,5,0,149,20,0,62,8,0,103,18,0,207,8,0,101,24,0,179,9,0,231,17,0,171,3,0,16,12,0,112,8,0,202,16,0,196,8,0,160,22,0,244,4,0,237,20,0,74,11, +0,206,25,0,255,6,0,223,14,0,241,12,0,0,28,0,33,7,0,74,18,0,46,10,0,219,19,0,53,16,0,181,23,0,131,15,0,75,22,0,163,13,0,86,23,0,220,17,0,85,20,0,24,15,0,131,26,0,4,22,0,127,14,0,214,17,0,147,8,0,3,19,0,229,20,0,200,10,0,11,18,0,77,8,0,12,6,0,106,12,0, +153,12,0,129,14,0,2,9,0,33,10,0,247,7,0,94,9,0,129,7,0,216,10,0,253,10,0,33,10,0,48,253,255,220,2,0,182,252,255,38,12,0,166,255,255,139,11,0,242,247,255,53,5,0,249,255,255,188,10,0,225,247,255,15,10,0,93,251,255,104,10,0,116,2,0,226,7,0,132,255,255,109, +10,0,104,253,255,232,11,0,200,2,0,61,22,0,149,253,255,76,12,0,254,249,255,4,15,0,133,0,0,77,21,0,138,254,255,148,10,0,38,254,255,154,14,0,216,252,255,87,13,0,133,4,0,198,13,0,139,9,0,198,14,0,160,255,255,108,10,0,138,2,0,30,4,0,16,5,0,169,6,0,32,2,0, +241,4,0,116,7,0,247,10,0,155,6,0,97,7,0,149,2,0,219,13,0,238,5,0,130,7,0,222,5,0,130,11,0,238,9,0,35,18,0,11,255,255,196,17,0,149,10,0,102,26,0,93,13,0,118,18,0,238,12,0,179,27,0,26,18,0,212,30,0,70,11,0,100,36,0,48,19,0,216,37,0,8,19,0,233,32,0,231, +14,0,99,32,0,75,17,0,131,45,0,87,12,0,181,37,0,13,19,0,20,37,0,35,23,0,30,40,0,86,15,0,52,36,0,67,25,0,140,38,0,85,21,0,17,41,0,251,22,0,145,40,0,32,32,0,238,48,0,33,27,0,100,39,0,215,32,0,5,39,0,133,23,0,221,40,0,4,28,0,7,50,0,81,30,0,69,46,0,165,28, +0,58,44,0,33,20,0,185,44,0,186,28,0,219,40,0,79,32,0,64,38,0,104,24,0,118,42,0,79,32,0,178,44,0,141,29,0,23,41,0,219,26,0,129,38,0,133,32,0,217,41,0,44,32,0,86,48,0,189,29,0,242,44,0,110,32,0,121,41,0,142,35,0,79,49,0,26,33,0,136,44,0,100,41,0,89,48, +0,125,47,0,182,51,0,71,41,0,232,51,0,153,45,0,79,57,0,239,38,0,189,46,0,39,48,0,65,49,0,193,38,0,4,45,0,87,39,0,206,52,0,180,41,0,128,53,0,121,47,0,181,56,0,87,49,0,128,62,0,202,50,0,145,60,0,212,51,0,85,67,0,118,50,0,54,72,0,62,49,0,139,69,0,220,54, +0,53,72,0,234,58,0,126,90,0,118,57,0,202,81,0,199,70,0,163,90,0,89,57,0,132,85,0,218,63,0,109,85,0,12,72,0,176,101,0,227,74,0,154,90,0,84,80,0,52,92,0,121,73,0,36,99,0,126,82,0,77,102,0,22,87,0,251,107,0,115,79,0,16,108,0,9,87,0,237,108,0,170,86,0,123, +110,0,220,84,0,172,93,0,119,84,0,186,105,0,72,87,0,226,109,0,245,85,0,78,106,0,211,77,0,12,96,0,163,88,0,173,101,0,228,82,0,108,98,0,240,94,0,20,103,0,60,89,0,130,96,0,168,99,0,31,100,0,196,90,0,144,89,0,0,84,0,90,86,0,216,76,0,24,85,0,201,81,0,54,81, +0,254,69,0,39,84,0,116,74,0,213,81,0,177,66,0,108,79,0,212,64,0,0,75,0,215,66,0,30,78,0,211,63,0,212,72,0,32,64,0,233,66,0,80,59,0,220,67,0,161,55,0,65,60,0,238,49,0,221,65,0,167,54,0,5,70,0,190,64,0,31,71,0,247,56,0,190,66,0,233,52,0,204,68,0,241,49, +0,246,64,0,157,49,0,178,71,0,41,60,0,157,69,0,192,64,0,69,79,0,73,60,0,42,72,0,191,64,0,59,76,0,140,64,0,239,84,0,20,67,0,33,79,0,17,64,0,22,78,0,210,69,0,117,92,0,118,72,0,101,91,0,255,72,0,81,98,0,109,74,0,122,106,0,98,73,0,73,104,0,159,72,0,170,95, +0,98,72,0,195,102,0,204,75,0,58,100,0,238,74,0,249,106,0,86,81,0,198,102,0,16,78,0,244,90,0,195,81,0,205,94,0,192,73,0,86,95,0,175,73,0,243,93,0,117,69,0,57,90,0,242,71,0,125,93,0,158,76,0,15,87,0,170,70,0,92,87,0,238,73,0,140,87,0,72,72,0,68,87,0,77, +67,0,137,93,0,88,62,0,156,86,0,132,71,0,37,83,0,187,66,0,162,84,0,52,63,0,202,87,0,102,58,0,41,78,0,77,60,0,59,76,0,112,58,0,161,82,0,54,60,0,225,75,0,255,58,0,75,79,0,66,62,0,31,78,0,16,58,0,70,82,0,224,51,0,240,70,0,143,57,0,169,69,0,162,55,0,215,67, +0,235,58,0,167,61,0,200,59,0,35,72,0,41,65,0,159,78,0,234,61,0,250,64,0,16,66,0,88,80,0,27,62,0,147,69,0,133,61,0,3,73,0,114,62,0,249,74,0,131,58,0,26,75,0,245,59,0,47,64,0,105,56,0,60,73,0,99,52,0,7,67,0,181,56,0,45,71,0,30,49,0,136,69,0,11,47,0,215, +64,0,103,48,0,86,72,0,8,52,0,9,75,0,195,38,0,183,62,0,46,41,0,201,75,0,255,31,0,209,62,0,253,32,0,150,61,0,59,25,0,186,58,0,42,29,0,142,54,0,18,26,0,251,52,0,51,33,0,154,53,0,89,20,0,191,47,0,52,25,0,203,36,0,12,26,0,200,48,0,83,26,0,126,39,0,71,13,0, +14,36,0,227,19,0,103,39,0,251,21,0,74,43,0,65,23,0,69,42,0,49,13,0,168,29,0,170,13,0,45,30,0,26,10,0,196,35,0,52,11,0,182,24,0,15,10,0,89,20,0,8,11,0,61,36,0,154,3,0,79,19,0,239,5,0,26,24,0,79,8,0,118,25,0,213,7,0,106,22,0,62,8,0,193,20,0,92,4,0,229, +12,0,27,253,255,186,11,0,205,249,255,249,7,0,174,10,0,136,23,0,3,4,0,38,19,0,187,12,0,7,18,0,169,251,255,200,18,0,67,8,0,104,13,0,91,7,0,18,18,0,224,1,0,108,17,0,67,5,0,10,16,0,154,0,0,30,17,0,26,3,0,100,15,0,61,2,0,60,7,0,113,246,255,42,5,0,18,252,255, +64,5,0,9,251,255,97,5,0,132,250,255,233,9,0,132,242,255,36,5,0,112,249,255,151,0,0,184,235,255,53,2,0,237,242,255,237,1,0,54,229,255,58,253,255,137,237,255,94,1,0,71,226,255,86,250,255,103,224,255,4,244,255,221,218,255,163,245,255,56,226,255,210,241, +255,164,214,255,204,236,255,127,216,255,183,233,255,138,219,255,189,235,255,56,208,255,180,229,255,232,206,255,67,225,255,180,202,255,165,226,255,242,199,255,206,220,255,166,199,255,156,215,255,180,195,255,113,212,255,241,198,255,81,212,255,223,194,255, +161,216,255,255,192,255,243,209,255,50,190,255,74,203,255,180,194,255,194,204,255,166,183,255,64,198,255,115,189,255,133,207,255,83,196,255,230,211,255,118,193,255,124,219,255,182,192,255,248,213,255,213,191,255,6,213,255,140,206,255,25,219,255,181,193, +255,210,218,255,215,205,255,49,221,255,6,198,255,162,220,255,85,209,255,186,236,255,192,199,255,29,230,255,18,210,255,146,232,255,146,212,255,130,241,255,85,210,255,103,239,255,126,214,255,128,240,255,37,212,255,227,231,255,156,211,255,162,228,255,211, +209,255,4,232,255,250,211,255,174,228,255,40,205,255,195,226,255,107,209,255,141,228,255,241,204,255,112,229,255,44,206,255,174,226,255,209,202,255,161,218,255,123,201,255,2,218,255,189,208,255,10,217,255,122,202,255,63,218,255,120,203,255,143,217,255, +30,195,255,2,214,255,13,200,255,90,212,255,71,201,255,163,216,255,125,191,255,125,205,255,21,195,255,244,215,255,247,189,255,204,205,255,213,183,255,100,205,255,195,180,255,125,206,255,217,193,255,250,209,255,181,190,255,58,211,255,237,190,255,44,206, +255,168,185,255,191,213,255,68,194,255,241,217,255,147,191,255,215,221,255,140,184,255,33,215,255,209,183,255,173,210,255,186,194,255,32,222,255,78,181,255,247,220,255,124,189,255,246,218,255,206,187,255,2,219,255,249,198,255,108,229,255,183,194,255, +82,220,255,11,195,255,9,231,255,162,200,255,150,226,255,111,203,255,103,231,255,133,197,255,84,232,255,208,206,255,200,220,255,146,201,255,253,225,255,245,205,255,27,231,255,17,204,255,39,231,255,4,205,255,39,219,255,42,213,255,42,230,255,30,206,255, +224,230,255,162,212,255,144,229,255,15,202,255,130,230,255,245,212,255,61,235,255,46,203,255,204,216,255,147,212,255,160,220,255,94,200,255,206,229,255,227,194,255,210,224,255,218,207,255,182,228,255,176,195,255,81,225,255,52,202,255,207,231,255,184, +189,255,6,228,255,137,192,255,98,229,255,61,203,255,228,222,255,8,186,255,217,226,255,53,195,255,84,230,255,87,191,255,39,223,255,22,191,255,131,218,255,28,193,255,74,219,255,65,190,255,175,213,255,218,196,255,213,228,255,247,181,255,46,216,255,190,191, +255,189,216,255,87,191,255,245,212,255,96,188,255,73,220,255,168,181,255,80,218,255,89,191,255,119,216,255,60,188,255,188,210,255,49,188,255,110,221,255,32,192,255,89,210,255,225,194,255,242,207,255,93,201,255,30,217,255,27,196,255,231,218,255,193,189, +255,182,216,255,186,200,255,196,224,255,82,200,255,57,221,255,204,193,255,89,218,255,127,195,255,206,223,255,73,193,255,190,228,255,23,209,255,131,231,255,3,198,255,29,227,255,43,203,255,151,237,255,244,202,255,229,218,255,87,205,255,223,242,255,241, +205,255,27,233,255,164,202,255,190,242,255,172,203,255,149,248,255,149,200,255,212,237,255,242,202,255,230,235,255,55,204,255,133,238,255,16,211,255,149,243,255,114,193,255,225,235,255,187,201,255,243,238,255,87,200,255,91,231,255,176,203,255,132,230, +255,123,206,255,0,227,255,9,199,255,238,233,255,10,202,255,112,230,255,45,197,255,43,234,255,36,195,255,15,236,255,1,194,255,206,225,255,147,195,255,132,234,255,171,201,255,144,232,255,157,202,255,187,234,255,45,193,255,155,229,255,238,198,255,145,232, +255,102,201,255,234,235,255,198,208,255,182,239,255,113,198,255,217,246,255,211,203,255,167,248,255,48,220,255,219,244,255,30,205,255,45,250,255,53,216,255,116,5,0,243,204,255,65,252,255,123,218,255,20,9,0,0,214,255,120,252,255,130,213,255,182,8,0,198, +228,255,188,17,0,78,223,255,240,10,0,251,221,255,217,18,0,122,231,255,20,24,0,138,225,255,241,22,0,88,233,255,115,28,0,160,236,255,193,20,0,170,239,255,131,25,0,52,240,255,32,31,0,200,234,255,90,27,0,235,232,255,177,33,0,25,240,255,36,28,0,97,234,255, +129,34,0,164,244,255,67,24,0,182,245,255,99,24,0,236,232,255,185,23,0,229,243,255,150,28,0,99,244,255,230,24,0,149,235,255,130,26,0,231,244,255,83,28,0,166,235,255,222,29,0,46,242,255,86,27,0,149,241,255,139,29,0,67,241,255,67,29,0,85,245,255,17,32,0, +101,238,255,221,23,0,234,239,255,88,32,0,51,248,255,72,26,0,194,241,255,89,26,0,241,230,255,80,21,0,187,240,255,47,18,0,73,244,255,182,20,0,146,238,255,110,16,0,78,237,255,21,12,0,49,246,255,38,26,0,177,230,255,59,15,0,211,244,255,87,16,0,101,237,255, +156,11,0,95,233,255,145,15,0,236,239,255,103,12,0,228,230,255,150,11,0,201,234,255,99,6,0,237,243,255,73,11,0,109,234,255,155,11,0,130,245,255,249,19,0,9,237,255,33,21,0,159,238,255,183,19,0,55,238,255,50,14,0,131,245,255,81,21,0,88,253,255,31,24,0,60, +241,255,130,25,0,227,247,255,208,26,0,88,241,255,10,21,0,22,241,255,182,19,0,149,242,255,136,26,0,125,240,255,247,23,0,119,244,255,44,23,0,31,243,255,204,24,0,112,242,255,55,19,0,206,247,255,8,33,0,153,240,255,7,20,0,170,240,255,225,24,0,112,238,255, +141,18,0,164,240,255,49,20,0,171,241,255,217,14,0,198,240,255,50,16,0,253,245,255,233,27,0,50,244,255,181,16,0,182,245,255,248,13,0,112,245,255,113,19,0,4,0,0,158,25,0,8,250,255,136,16,0,3,3,0,246,26,0,129,246,255,123,23,0,181,244,255,142,35,0,177,249, +255,0,22,0,140,250,255,234,21,0,251,252,255,227,24,0,204,253,255,14,30,0,60,252,255,66,28,0,222,4,0,247,33,0,53,255,255,114,32,0,230,11,0,61,39,0,36,4,0,86,27,0,104,1,0,14,41,0,43,11,0,70,38,0,138,7,0,201,48,0,249,9,0,135,49,0,245,10,0,32,45,0,224,11, +0,75,50,0,46,8,0,188,48,0,27,6,0,149,48,0,208,12,0,224,58,0,244,10,0,32,52,0,239,16,0,12,49,0,91,4,0,246,48,0,147,18,0,123,52,0,60,24,0,113,48,0,168,17,0,246,50,0,186,19,0,177,47,0,53,23,0,253,47,0,158,13,0,133,48,0,162,23,0,185,51,0,120,25,0,128,50, +0,127,21,0,161,38,0,71,20,0,161,38,0,10,19,0,251,42,0,250,19,0,65,42,0,63,18,0,17,44,0,96,24,0,34,45,0,187,22,0,171,39,0,222,18,0,239,50,0,71,22,0,235,45,0,115,22,0,5,45,0,78,17,0,203,41,0,153,22,0,37,52,0,8,12,0,124,45,0,126,16,0,238,53,0,49,16,0,233, +46,0,244,13,0,108,55,0,136,16,0,102,63,0,58,14,0,145,54,0,130,23,0,188,71,0,230,17,0,50,69,0,198,20,0,107,66,0,167,22,0,29,81,0,89,28,0,64,77,0,245,17,0,246,73,0,134,23,0,239,72,0,95,22,0,51,69,0,206,25,0,33,68,0,144,22,0,114,67,0,41,24,0,162,75,0,219, +21,0,40,72,0,163,19,0,138,64,0,252,31,0,23,74,0,145,26,0,215,68,0,122,25,0,154,68,0,214,24,0,199,71,0,86,29,0,82,68,0,65,22,0,75,66,0,21,32,0,7,73,0,28,36,0,37,69,0,9,31,0,238,58,0,167,31,0,61,65,0,176,28,0,240,66,0,171,29,0,139,60,0,214,28,0,113,65, +0,158,26,0,243,52,0,202,27,0,98,59,0,27,41,0,191,60,0,236,32,0,212,61,0,33,29,0,21,46,0,191,31,0,122,57,0,113,26,0,176,56,0,73,38,0,252,55,0,176,22,0,147,55,0,232,27,0,185,54,0,189,27,0,212,55,0,57,26,0,191,59,0,75,31,0,222,56,0,183,29,0,47,58,0,221, +30,0,10,63,0,3,30,0,150,59,0,6,26,0,243,63,0,82,25,0,126,55,0,77,28,0,138,59,0,147,22,0,17,61,0,104,28,0,107,53,0,8,17,0,255,59,0,48,25,0,52,54,0,30,18,0,220,49,0,8,15,0,187,50,0,9,23,0,148,52,0,74,21,0,12,52,0,247,16,0,178,41,0,236,13,0,97,47,0,220, +19,0,10,51,0,197,13,0,154,36,0,197,11,0,235,30,0,197,12,0,240,31,0,92,5,0,208,36,0,70,7,0,251,33,0,212,2,0,196,33,0,229,10,0,75,28,0,136,5,0,96,25,0,16,7,0,189,26,0,141,4,0,243,30,0,201,255,255,145,28,0,49,8,0,57,34,0,141,1,0,188,24,0,157,6,0,19,26,0, +233,252,255,46,24,0,157,7,0,7,34,0,86,7,0,111,27,0,103,3,0,39,37,0,206,250,255,148,31,0,113,2,0,186,32,0,233,0,0,114,38,0,195,3,0,76,30,0,173,5,0,254,43,0,140,9,0,135,40,0,179,253,255,69,40,0,205,10,0,46,43,0,32,0,0,85,36,0,45,23,0,39,49,0,40,21,0,208, +44,0,204,13,0,17,44,0,51,16,0,153,42,0,253,10,0,32,48,0,236,16,0,145,56,0,8,11,0,107,49,0,88,18,0,176,59,0,147,20,0,185,65,0,164,17,0,208,54,0,108,22,0,97,63,0,76,21,0,218,55,0,75,26,0,67,64,0,254,24,0,50,68,0,78,30,0,229,66,0,220,27,0,106,59,0,47,23, +0,192,59,0,141,35,0,74,70,0,84,25,0,31,64,0,192,28,0,48,60,0,27,32,0,181,67,0,146,33,0,185,70,0,39,43,0,143,80,0,43,45,0,193,74,0,17,41,0,227,70,0,156,44,0,178,67,0,55,37,0,84,69,0,110,36,0,61,70,0,47,42,0,254,75,0,19,43,0,2,78,0,224,46,0,145,72,0,155, +41,0,120,79,0,182,41,0,138,73,0,190,47,0,17,86,0,100,41,0,218,85,0,23,41,0,226,88,0,8,49,0,210,98,0,213,51,0,3,96,0,122,47,0,210,95,0,16,41,0,207,98,0,58,53,0,237,91,0,117,44,0,187,101,0,207,47,0,135,105,0,63,51,0,220,116,0,174,55,0,56,106,0,217,56,0, +5,109,0,69,57,0,143,112,0,207,61,0,29,110,0,3,65,0,241,117,0,50,68,0,228,110,0,84,65,0,49,117,0,100,63,0,185,113,0,225,71,0,145,116,0,110,72,0,46,106,0,51,68,0,167,112,0,67,68,0,49,108,0,87,70,0,100,111,0,203,75,0,176,101,0,196,68,0,164,94,0,250,66,0, +130,102,0,205,68,0,45,99,0,72,64,0,97,93,0,211,66,0,186,88,0,125,64,0,202,81,0,94,68,0,29,85,0,86,63,0,118,81,0,240,67,0,80,88,0,25,63,0,78,82,0,24,70,0,35,87,0,143,63,0,18,87,0,100,62,0,220,85,0,117,61,0,89,84,0,105,54,0,203,89,0,105,60,0,235,89,0,25, +64,0,80,98,0,201,61,0,198,92,0,119,61,0,167,108,0,56,64,0,169,104,0,246,63,0,60,104,0,49,58,0,57,106,0,159,56,0,221,110,0,226,59,0,196,112,0,12,67,0,99,116,0,27,67,0,80,123,0,171,64,0,183,111,0,193,69,0,33,119,0,42,62,0,55,117,0,251,69,0,100,114,0,13, +67,0,31,128,0,84,66,0,249,115,0,117,65,0,242,120,0,59,68,0,195,123,0,0,72,0,197,120,0,30,79,0,217,115,0,94,69,0,10,110,0,113,71,0,127,111,0,173,65,0,59,97,0,207,78,0,100,109,0,114,73,0,190,105,0,162,78,0,244,99,0,160,74,0,27,108,0,250,71,0,1,101,0,109, +65,0,3,94,0,118,66,0,234,100,0,143,72,0,133,92,0,57,57,0,59,90,0,244,68,0,198,96,0,125,58,0,246,86,0,174,66,0,116,90,0,157,66,0,96,88,0,81,53,0,213,80,0,18,55,0,42,73,0,179,51,0,7,87,0,98,51,0,39,83,0,136,50,0,196,78,0,168,50,0,202,81,0,9,43,0,231,75, +0,178,50,0,218,84,0,180,44,0,25,78,0,242,42,0,177,77,0,221,45,0,237,76,0,237,41,0,86,83,0,219,42,0,121,81,0,162,48,0,23,76,0,51,53,0,250,88,0,229,46,0,178,85,0,248,55,0,233,88,0,143,56,0,156,84,0,104,53,0,0,94,0,127,51,0,232,86,0,80,61,0,58,90,0,113, +68,0,70,96,0,116,65,0,65,95,0,237,67,0,142,86,0,2,68,0,59,87,0,164,57,0,23,100,0,233,65,0,152,92,0,209,59,0,125,88,0,15,65,0,167,92,0,162,68,0,225,78,0,209,54,0,12,79,0,181,58,0,94,85,0,156,56,0,80,76,0,228,58,0,182,76,0,115,54,0,145,78,0,68,49,0,171, +68,0,35,42,0,226,57,0,140,51,0,0,69,0,150,41,0,160,57,0,140,37,0,238,48,0,70,33,0,251,47,0,114,36,0,253,42,0,91,33,0,7,30,0,91,20,0,240,33,0,242,23,0,143,16,0,235,11,0,190,17,0,136,12,0,6,17,0,148,11,0,239,10,0,42,0,0,255,7,0,93,2,0,151,14,0,92,6,0,107, +14,0,201,2,0,21,17,0,241,1,0,116,3,0,153,248,255,33,4,0,60,243,255,164,6,0,244,243,255,181,15,0,76,243,255,11,4,0,85,238,255,87,4,0,136,237,255,132,9,0,8,245,255,52,8,0,172,241,255,173,7,0,34,243,255,82,9,0,92,241,255,221,7,0,18,243,255,200,1,0,194,238, +255,131,9,0,148,243,255,220,255,255,250,235,255,231,2,0,231,225,255,124,1,0,162,244,255,206,251,255,20,234,255,89,250,255,134,231,255,40,242,255,254,230,255,119,243,255,62,229,255,235,236,255,182,223,255,142,234,255,255,219,255,126,231,255,252,221,255, +232,227,255,221,215,255,120,221,255,193,213,255,146,216,255,246,208,255,128,212,255,17,207,255,13,210,255,201,207,255,98,206,255,247,195,255,12,198,255,150,206,255,191,195,255,106,196,255,116,187,255,223,192,255,202,185,255,55,182,255,135,181,255,203, +189,255,135,184,255,23,185,255,61,176,255,96,189,255,237,175,255,116,185,255,22,180,255,6,184,255,88,185,255,28,184,255,12,183,255,110,184,255,105,185,255,144,181,255,35,183,255,136,180,255,25,183,255,118,184,255,61,184,255,51,185,255,55,187,255,145, +187,255,180,192,255,117,183,255,23,195,255,71,189,255,224,190,255,204,188,255,191,200,255,101,191,255,103,196,255,49,188,255,87,201,255,234,197,255,184,204,255,83,195,255,192,198,255,186,200,255,28,204,255,90,195,255,164,204,255,104,203,255,23,202,255, +248,204,255,130,212,255,113,202,255,165,204,255,138,203,255,99,205,255,167,205,255,60,217,255,99,202,255,150,216,255,7,207,255,213,219,255,226,208,255,132,217,255,0,201,255,33,220,255,133,209,255,253,223,255,154,207,255,22,223,255,62,205,255,16,214,255, +224,205,255,138,222,255,107,207,255,15,226,255,218,208,255,132,227,255,101,203,255,24,225,255,220,210,255,108,226,255,78,215,255,208,225,255,138,215,255,198,218,255,200,212,255,87,224,255,163,212,255,175,221,255,52,211,255,201,215,255,194,202,255,98, +222,255,81,204,255,87,216,255,220,205,255,13,211,255,64,207,255,230,215,255,236,199,255,222,212,255,113,199,255,161,213,255,184,199,255,96,211,255,76,197,255,166,205,255,101,202,255,234,208,255,129,202,255,146,213,255,45,197,255,97,205,255,73,205,255, +184,207,255,216,202,255,118,210,255,91,207,255,80,210,255,175,208,255,54,208,255,73,212,255,227,214,255,79,208,255,203,213,255,128,204,255,52,213,255,26,208,255,50,214,255,253,206,255,212,210,255,207,211,255,105,212,255,27,208,255,200,207,255,160,205, +255,168,215,255,201,200,255,252,208,255,15,203,255,71,221,255,78,202,255,166,208,255,148,202,255,0,208,255,47,208,255,224,213,255,85,204,255,217,206,255,83,197,255,72,204,255,88,192,255,134,211,255,214,197,255,237,203,255,99,196,255,169,199,255,203,190, +255,129,200,255,81,197,255,148,199,255,114,197,255,18,207,255,78,189,255,150,195,255,199,183,255,186,207,255,99,188,255,228,198,255,151,185,255,246,196,255,74,184,255,16,192,255,55,187,255,11,192,255,30,183,255,44,192,255,205,184,255,215,191,255,125, +186,255,174,194,255,117,178,255,135,180,255,146,183,255,116,183,255,176,182,255,241,185,255,73,181,255,201,184,255,121,176,255,215,176,255,39,173,255,23,172,255,245,173,255,218,179,255,56,175,255,84,172,255,32,178,255,33,175,255,22,178,255,214,174,255, +119,178,255,203,178,255,44,173,255,137,177,255,36,169,255,167,178,255,18,161,255,204,173,255,189,167,255,80,170,255,231,164,255,62,176,255,211,171,255,45,175,255,3,169,255,248,172,255,11,167,255,220,166,255,234,166,255,137,172,255,29,170,255,117,182, +255,168,162,255,110,176,255,150,168,255,131,178,255,170,172,255,220,174,255,33,168,255,205,169,255,189,170,255,236,173,255,247,174,255,218,172,255,242,169,255,160,172,255,170,165,255,252,169,255,88,169,255,244,170,255,31,167,255,153,170,255,233,158,255, +238,164,255,188,154,255,87,166,255,163,154,255,207,161,255,193,163,255,225,169,255,30,154,255,192,158,255,245,161,255,57,160,255,110,145,255,80,150,255,189,162,255,33,158,255,243,159,255,224,159,255,53,155,255,56,160,255,37,157,255,201,157,255,224,156, +255,109,167,255,198,145,255,135,169,255,153,149,255,141,166,255,174,151,255,64,173,255,66,150,255,39,165,255,33,152,255,20,163,255,144,145,255,252,166,255,233,157,255,28,161,255,84,157,255,156,174,255,231,155,255,198,167,255,89,153,255,163,168,255,74, +156,255,58,160,255,98,157,255,111,157,255,27,150,255,231,160,255,138,148,255,39,157,255,5,157,255,31,164,255,93,158,255,154,160,255,164,152,255,85,163,255,149,149,255,16,160,255,82,153,255,92,160,255,138,145,255,238,151,255,56,149,255,237,159,255,60, +151,255,71,162,255,181,146,255,83,162,255,90,155,255,45,161,255,137,150,255,193,159,255,225,151,255,59,162,255,142,158,255,12,165,255,120,151,255,13,156,255,125,153,255,101,163,255,29,153,255,247,169,255,46,153,255,128,162,255,23,161,255,177,168,255, +51,161,255,151,168,255,125,144,255,69,157,255,15,164,255,55,164,255,235,157,255,131,167,255,99,162,255,184,166,255,114,154,255,244,170,255,172,166,255,106,160,255,162,159,255,81,164,255,72,173,255,147,168,255,51,169,255,59,169,255,25,169,255,232,170, +255,113,167,255,50,166,255,170,168,255,63,170,255,70,169,255,217,172,255,228,163,255,219,159,255,173,165,255,15,165,255,66,175,255,43,165,255,151,163,255,122,160,255,250,168,255,171,156,255,247,180,255,99,176,255,253,158,255,249,168,255,228,173,255,243, +163,255,54,167,255,136,170,255,137,172,255,58,171,255,43,162,255,96,171,255,203,176,255,57,177,255,56,162,255,108,178,255,1,168,255,7,186,255,46,169,255,211,186,255,0,166,255,90,179,255,41,172,255,17,184,255,16,165,255,130,180,255,182,176,255,194,187, +255,64,171,255,211,187,255,4,174,255,2,195,255,222,172,255,82,190,255,110,172,255,235,179,255,245,172,255,22,188,255,221,174,255,221,188,255,67,174,255,16,191,255,35,182,255,250,193,255,71,172,255,70,194,255,50,180,255,127,192,255,73,185,255,127,196, +255,18,179,255,249,190,255,113,186,255,213,191,255,26,184,255,5,200,255,141,190,255,209,200,255,117,192,255,230,199,255,46,204,255,203,203,255,162,197,255,34,205,255,44,202,255,162,204,255,182,204,255,28,208,255,212,202,255,241,221,255,5,208,255,151, +217,255,117,207,255,199,211,255,177,203,255,159,218,255,180,210,255,13,222,255,215,207,255,92,220,255,181,205,255,13,231,255,192,205,255,146,220,255,192,210,255,138,232,255,173,212,255,211,230,255,234,208,255,43,233,255,46,207,255,185,225,255,194,215, +255,192,237,255,85,207,255,11,243,255,15,207,255,39,234,255,255,210,255,140,239,255,36,205,255,13,234,255,107,212,255,222,240,255,1,206,255,46,234,255,205,212,255,68,241,255,20,209,255,204,243,255,227,212,255,37,242,255,216,211,255,204,231,255,75,215, +255,143,246,255,158,217,255,161,236,255,156,215,255,253,243,255,189,215,255,195,231,255,27,213,255,125,237,255,245,217,255,242,236,255,148,229,255,26,246,255,245,223,255,107,247,255,91,224,255,45,243,255,34,226,255,129,241,255,200,225,255,242,242,255, +18,225,255,93,243,255,151,230,255,57,237,255,42,228,255,159,237,255,71,230,255,209,233,255,241,228,255,139,232,255,77,230,255,137,229,255,191,233,255,49,232,255,78,231,255,248,226,255,137,232,255,38,238,255,25,231,255,231,232,255,110,230,255,57,235,255, +165,232,255,107,237,255,96,233,255,210,239,255,162,235,255,106,235,255,234,230,255,126,232,255,194,234,255,12,237,255,56,236,255,58,234,255,79,238,255,0,236,255,219,230,255,16,234,255,98,232,255,195,238,255,9,226,255,35,229,255,196,235,255,167,236,255, +2,223,255,227,228,255,89,224,255,168,226,255,93,222,255,228,218,255,216,222,255,56,226,255,238,221,255,62,227,255,29,219,255,93,215,255,0,214,255,196,216,255,218,212,255,174,214,255,127,209,255,175,215,255,238,206,255,5,216,255,200,204,255,229,203,255, +52,205,255,237,208,255,142,202,255,161,204,255,245,194,255,56,207,255,236,196,255,168,205,255,1,193,255,204,199,255,160,188,255,110,191,255,89,195,255,87,198,255,98,189,255,222,187,255,21,197,255,204,194,255,107,198,255,214,189,255,86,197,255,179,195, +255,12,198,255,150,187,255,165,188,255,142,192,255,251,208,255,118,198,255,106,200,255,13,202,255,54,203,255,204,200,255,5,200,255,77,200,255,45,208,255,100,205,255,52,212,255,249,198,255,53,212,255,240,203,255,79,211,255,150,205,255,54,216,255,159,218, +255,107,214,255,249,214,255,115,220,255,69,218,255,182,209,255,10,216,255,83,219,255,38,217,255,157,214,255,50,224,255,155,227,255,135,224,255,229,223,255,125,222,255,107,225,255,248,226,255,85,221,255,55,216,255,96,218,255,227,220,255,177,219,255,217, +224,255,171,215,255,35,219,255,252,222,255,201,217,255,6,217,255,239,219,255,28,220,255,100,213,255,119,214,255,112,223,255,211,222,255,80,215,255,19,215,255,27,221,255,184,208,255,17,217,255,84,215,255,22,219,255,228,206,255,60,217,255,74,205,255,146, +210,255,229,208,255,61,217,255,97,206,255,61,211,255,33,204,255,99,211,255,55,203,255,180,208,255,87,203,255,138,209,255,50,211,255,26,217,255,72,202,255,91,211,255,121,197,255,182,203,255,127,206,255,235,206,255,133,200,255,18,203,255,48,204,255,109, +209,255,111,209,255,124,214,255,176,209,255,162,213,255,247,202,255,232,211,255,182,211,255,108,225,255,130,207,255,62,217,255,1,216,255,84,213,255,167,211,255,71,226,255,254,207,255,207,216,255,172,216,255,248,224,255,125,214,255,244,221,255,179,215, +255,217,225,255,140,225,255,67,228,255,26,212,255,218,221,255,67,220,255,142,227,255,132,215,255,80,222,255,73,222,255,52,226,255,255,216,255,184,236,255,118,216,255,199,239,255,179,227,255,75,227,255,245,219,255,151,223,255,143,224,255,49,226,255,214, +220,255,29,223,255,83,213,255,47,218,255,212,212,255,103,211,255,93,218,255,76,213,255,122,213,255,109,213,255,20,215,255,66,215,255,230,210,255,52,211,255,197,216,255,122,209,255,32,216,255,168,202,255,33,216,255,45,205,255,73,209,255,124,208,255,88, +212,255,76,209,255,37,208,255,148,205,255,177,206,255,250,203,255,155,209,255,86,213,255,123,210,255,52,208,255,172,208,255,240,216,255,129,211,255,43,217,255,55,210,255,191,220,255,72,210,255,203,219,255,64,205,255,152,225,255,78,209,255,201,223,255, +46,220,255,63,233,255,66,214,255,223,233,255,164,220,255,133,241,255,34,224,255,152,244,255,98,234,255,207,243,255,122,229,255,240,250,255,148,231,255,209,248,255,42,230,255,139,2,0,193,236,255,186,3,0,217,241,255,100,13,0,17,245,255,200,14,0,7,252,255, +61,23,0,186,255,255,9,20,0,47,7,0,58,27,0,199,3,0,124,22,0,192,5,0,59,25,0,215,11,0,137,26,0,36,15,0,159,39,0,251,19,0,136,33,0,34,24,0,141,34,0,48,12,0,153,32,0,82,17,0,234,30,0,204,16,0,129,41,0,129,24,0,141,32,0,52,34,0,39,46,0,164,19,0,252,33,0,248, +27,0,74,42,0,38,29,0,153,36,0,127,25,0,80,40,0,248,32,0,181,51,0,149,29,0,206,52,0,97,34,0,184,40,0,131,37,0,131,46,0,23,38,0,188,53,0,184,37,0,140,47,0,143,34,0,166,47,0,177,37,0,114,50,0,129,37,0,17,57,0,176,32,0,13,50,0,147,34,0,10,58,0,209,25,0,101, +51,0,131,34,0,146,54,0,198,30,0,158,51,0,189,28,0,83,62,0,233,32,0,227,61,0,255,35,0,41,66,0,177,39,0,77,66,0,59,40,0,64,58,0,153,46,0,51,70,0,238,55,0,146,69,0,127,44,0,213,70,0,48,48,0,202,75,0,146,60,0,76,68,0,75,56,0,121,80,0,119,64,0,145,86,0,231, +63,0,194,89,0,20,71,0,205,102,0,186,69,0,32,94,0,189,75,0,108,92,0,126,73,0,214,96,0,111,72,0,17,91,0,68,81,0,179,92,0,225,73,0,11,99,0,190,79,0,19,96,0,16,78,0,47,94,0,67,83,0,233,97,0,85,85,0,61,107,0,168,86,0,105,92,0,6,83,0,56,100,0,239,79,0,33,101, +0,54,77,0,47,89,0,148,78,0,167,98,0,33,80,0,180,96,0,251,79,0,148,99,0,240,79,0,190,95,0,30,85,0,231,91,0,50,81,0,253,102,0,210,80,0,179,97,0,111,78,0,170,99,0,238,77,0,248,99,0,197,80,0,177,104,0,38,71,0,89,98,0,14,77,0,9,97,0,222,75,0,199,97,0,137, +86,0,12,97,0,4,78,0,243,87,0,152,85,0,76,103,0,76,82,0,155,92,0,31,83,0,160,91,0,107,89,0,177,90,0,233,89,0,14,99,0,166,80,0,48,90,0,86,87,0,86,96,0,13,89,0,67,90,0,205,91,0,87,97,0,196,83,0,177,93,0,159,85,0,171,90,0,253,86,0,196,90,0,193,83,0,233,86, +0,89,84,0,4,93,0,95,80,0,60,94,0,204,78,0,176,84,0,194,80,0,135,92,0,106,78,0,73,81,0,250,77,0,92,85,0,56,79,0,154,82,0,126,68,0,160,78,0,40,75,0,50,86,0,40,68,0,130,82,0,36,70,0,198,79,0,217,69,0,132,77,0,171,67,0,230,72,0,60,73,0,247,86,0,24,63,0,92, +77,0,162,65,0,119,73,0,6,60,0,149,74,0,246,71,0,173,81,0,32,63,0,68,80,0,42,63,0,136,65,0,245,70,0,56,80,0,31,59,0,189,73,0,149,61,0,199,76,0,90,67,0,34,76,0,34,59,0,91,79,0,15,61,0,223,79,0,42,66,0,241,83,0,78,75,0,171,83,0,129,70,0,95,81,0,102,61,0, +189,84,0,60,69,0,10,83,0,166,77,0,179,94,0,166,74,0,89,88,0,46,67,0,107,89,0,35,75,0,69,95,0,43,68,0,198,93,0,172,72,0,24,92,0,11,78,0,65,98,0,140,77,0,177,97,0,115,73,0,180,95,0,239,74,0,110,92,0,13,78,0,139,96,0,186,81,0,221,102,0,77,77,0,72,94,0,230, +82,0,195,106,0,36,78,0,12,94,0,110,83,0,36,100,0,47,82,0,137,104,0,161,78,0,188,97,0,180,86,0,240,97,0,51,82,0,132,90,0,173,86,0,84,92,0,144,77,0,251,93,0,139,69,0,169,81,0,57,70,0,176,80,0,40,75,0,225,74,0,240,68,0,184,73,0,174,71,0,232,75,0,235,62, +0,158,67,0,198,64,0,13,63,0,237,63,0,138,61,0,45,61,0,225,62,0,180,62,0,196,56,0,240,68,0,236,59,0,155,58,0,125,66,0,1,56,0,70,57,0,26,61,0,254,57,0,170,60,0,23,68,0,128,53,0,63,71,0,56,54,0,120,62,0,214,54,0,244,65,0,183,58,0,6,74,0,97,54,0,15,72,0, +196,54,0,199,70,0,10,61,0,62,74,0,91,58,0,109,76,0,51,61,0,75,79,0,140,59,0,45,87,0,139,57,0,126,86,0,211,62,0,225,95,0,192,63,0,22,89,0,78,64,0,220,92,0,63,70,0,0,95,0,252,66,0,22,92,0,173,70,0,252,97,0,57,67,0,146,99,0,83,67,0,73,98,0,34,74,0,83,96, +0,154,72,0,225,102,0,12,76,0,181,98,0,180,82,0,13,93,0,151,89,0,148,102,0,34,87,0,229,105,0,220,80,0,210,106,0,154,85,0,151,106,0,34,88,0,43,100,0,245,86,0,114,101,0,251,81,0,165,95,0,135,93,0,69,93,0,168,94,0,208,100,0,249,85,0,43,98,0,26,93,0,10,92, +0,213,88,0,23,87,0,64,82,0,11,85,0,205,88,0,158,89,0,78,80,0,102,76,0,9,80,0,143,74,0,19,74,0,203,71,0,189,75,0,4,74,0,99,73,0,83,68,0,56,77,0,212,67,0,13,71,0,254,63,0,55,65,0,52,63,0,131,66,0,147,65,0,60,59,0,59,64,0,116,61,0,56,57,0,76,66,0,119,59, +0,103,54,0,143,56,0,104,65,0,170,61,0,230,59,0,109,62,0,70,52,0,91,55,0,119,55,0,19,67,0,53,54,0,163,55,0,130,58,0,26,66,0,249,55,0,69,60,0,248,44,0,206,58,0,35,52,0,119,64,0,224,63,0,218,70,0,245,61,0,221,74,0,50,61,0,229,71,0,226,58,0,6,86,0,141,60, +0,117,71,0,78,58,0,208,83,0,153,50,0,125,84,0,42,66,0,221,78,0,56,63,0,89,83,0,15,59,0,108,80,0,153,71,0,182,83,0,112,72,0,115,75,0,55,59,0,230,77,0,254,61,0,27,76,0,113,62,0,1,72,0,104,61,0,60,75,0,176,60,0,140,64,0,162,61,0,103,69,0,31,55,0,213,69, +0,188,57,0,153,66,0,92,54,0,215,61,0,244,47,0,171,63,0,203,45,0,24,56,0,171,55,0,175,58,0,1,57,0,109,52,0,121,47,0,25,55,0,4,54,0,33,49,0,205,45,0,142,51,0,49,41,0,116,54,0,253,43,0,225,51,0,151,45,0,201,50,0,121,43,0,21,50,0,249,42,0,10,50,0,207,47, +0,65,46,0,29,40,0,110,45,0,249,37,0,207,49,0,127,42,0,216,56,0,29,51,0,12,44,0,125,47,0,170,52,0,254,38,0,190,44,0,205,40,0,233,45,0,121,43,0,80,42,0,139,36,0,162,36,0,213,34,0,147,42,0,244,39,0,163,34,0,28,34,0,88,39,0,105,36,0,13,44,0,226,36,0,201, +35,0,81,32,0,251,34,0,254,37,0,8,28,0,145,38,0,95,44,0,117,29,0,249,31,0,29,33,0,191,28,0,54,27,0,130,24,0,216,32,0,209,27,0,24,25,0,13,29,0,248,27,0,228,23,0,192,25,0,80,20,0,141,23,0,34,21,0,67,23,0,49,20,0,136,21,0,74,8,0,133,22,0,118,9,0,189,9,0, +49,3,0,15,12,0,216,5,0,73,12,0,21,8,0,172,12,0,123,0,0,76,5,0,186,0,0,67,9,0,166,7,0,52,253,255,219,1,0,22,254,255,105,255,255,157,250,255,17,6,0,187,249,255,121,255,255,158,244,255,95,255,255,16,247,255,63,2,0,217,251,255,166,4,0,72,249,255,90,9,0,250, +252,255,5,5,0,72,246,255,6,255,255,193,3,0,141,5,0,36,253,255,154,3,0,208,255,255,221,9,0,137,4,0,116,9,0,255,9,0,102,7,0,24,6,0,64,6,0,235,10,0,125,15,0,100,15,0,174,13,0,64,12,0,61,15,0,2,9,0,251,5,0,127,8,0,177,12,0,201,12,0,174,10,0,86,16,0,73,13, +0,87,17,0,170,11,0,155,17,0,209,16,0,125,11,0,95,14,0,95,19,0,97,15,0,3,14,0,28,15,0,136,15,0,184,10,0,125,11,0,118,8,0,7,17,0,223,12,0,135,11,0,72,9,0,123,10,0,202,16,0,119,11,0,31,10,0,138,2,0,34,8,0,198,11,0,236,10,0,229,7,0,68,18,0,16,5,0,129,5,0, +21,5,0,134,13,0,124,255,255,78,6,0,235,0,0,235,2,0,79,1,0,171,5,0,20,4,0,75,4,0,60,254,255,252,3,0,132,245,255,4,254,255,0,244,255,204,2,0,110,244,255,187,253,255,242,253,255,162,2,0,176,242,255,115,7,0,152,243,255,180,4,0,229,246,255,218,5,0,21,252, +255,115,3,0,46,251,255,86,9,0,188,247,255,68,254,255,47,252,255,125,254,255,222,249,255,214,253,255,247,248,255,253,255,255,249,254,255,186,252,255,50,3,0,224,253,255,51,251,255,131,254,255,66,255,255,4,248,255,214,241,255,196,246,255,109,246,255,215, +249,255,205,252,255,22,255,255,82,255,255,204,249,255,68,252,255,241,249,255,5,246,255,191,236,255,2,244,255,42,239,255,176,239,255,48,239,255,197,249,255,240,242,255,134,244,255,127,234,255,230,245,255,149,235,255,56,239,255,166,235,255,23,237,255,174, +239,255,236,235,255,73,237,255,255,238,255,16,237,255,143,241,255,23,233,255,36,233,255,236,230,255,40,231,255,195,226,255,31,239,255,157,235,255,70,229,255,176,233,255,110,232,255,62,235,255,197,235,255,210,229,255,14,236,255,229,240,255,205,232,255, +132,236,255,51,229,255,0,241,255,122,240,255,185,243,255,64,239,255,216,248,255,227,239,255,184,254,255,49,240,255,42,254,255,92,247,255,89,253,255,18,246,255,62,253,255,153,251,255,244,1,0,240,0,0,15,4,0,213,255,255,49,0,0,227,4,0,162,5,0,213,6,0,143, +14,0,185,4,0,105,6,0,106,4,0,135,3,0,91,12,0,23,8,0,70,4,0,33,7,0,63,2,0,165,1,0,100,2,0,165,2,0,135,255,255,117,8,0,142,250,255,51,3,0,178,2,0,127,8,0,252,3,0,118,2,0,180,251,255,214,252,255,181,254,255,134,249,255,86,253,255,105,253,255,60,253,255, +21,253,255,79,249,255,239,250,255,30,246,255,248,247,255,20,1,0,96,1,0,10,0,0,198,252,255,17,249,255,114,251,255,122,250,255,132,255,255,233,252,255,35,4,0,99,245,255,236,253,255,235,246,255,16,254,255,121,248,255,129,5,0,229,0,0,250,4,0,179,248,255, +111,9,0,98,255,255,114,5,0,33,249,255,231,11,0,113,254,255,226,13,0,151,1,0,152,10,0,228,252,255,152,10,0,12,7,0,54,14,0,119,255,255,253,15,0,89,1,0,131,10,0,55,11,0,188,10,0,84,3,0,22,14,0,196,11,0,184,15,0,233,12,0,250,6,0,238,10,0,2,2,0,134,16,0,124, +8,0,166,15,0,253,2,0,39,12,0,207,3,0,201,12,0,177,9,0,142,7,0,188,249,255,254,18,0,45,4,0,144,14,0,232,0,0,247,11,0,17,255,255,168,8,0,22,255,255,195,11,0,122,2,0,84,8,0,175,3,0,250,254,255,48,249,255,99,4,0,169,0,0,207,250,255,137,254,255,172,4,0,54, +255,255,192,253,255,7,0,0,130,255,255,164,2,0,61,250,255,106,0,0,192,0,0,49,0,0,155,248,255,90,251,255,255,2,0,163,251,255,20,249,255,189,252,255,139,242,255,169,250,255,103,251,255,2,251,255,93,248,255,38,246,255,88,246,255,237,248,255,192,254,255,242, +250,255,51,248,255,242,252,255,4,244,255,221,249,255,109,244,255,75,250,255,224,243,255,195,247,255,140,255,255,39,251,255,151,245,255,122,250,255,94,245,255,18,243,255,5,244,255,117,248,255,63,242,255,232,244,255,42,245,255,233,243,255,162,247,255,77, +238,255,173,243,255,211,251,255,89,244,255,212,245,255,209,248,255,66,245,255,100,243,255,20,236,255,162,249,255,63,233,255,162,247,255,234,242,255,167,253,255,57,236,255,63,250,255,156,237,255,168,249,255,152,236,255,52,255,255,152,239,255,48,249,255, +57,241,255,115,250,255,47,242,255,5,255,255,131,240,255,99,252,255,38,235,255,0,253,255,141,242,255,242,247,255,111,237,255,161,254,255,121,240,255,69,247,255,243,234,255,162,252,255,210,239,255,248,245,255,238,233,255,146,238,255,188,229,255,138,246, +255,254,236,255,253,232,255,246,229,255,63,238,255,42,232,255,251,237,255,243,223,255,36,226,255,223,223,255,213,229,255,116,216,255,138,235,255,27,218,255,235,227,255,252,205,255,226,224,255,204,209,255,184,226,255,193,212,255,123,224,255,182,201,255, +4,222,255,131,200,255,239,221,255,58,201,255,157,220,255,202,196,255,152,220,255,7,191,255,30,214,255,153,202,255,196,216,255,15,197,255,210,220,255,204,197,255,2,210,255,85,195,255,152,213,255,9,193,255,117,212,255,108,194,255,139,210,255,65,188,255, +15,209,255,81,190,255,171,210,255,127,192,255,210,207,255,54,194,255,211,215,255,151,198,255,97,214,255,117,203,255,81,216,255,37,198,255,77,215,255,160,195,255,244,215,255,206,197,255,82,216,255,85,200,255,174,211,255,125,196,255,65,212,255,73,196,255, +207,211,255,89,196,255,71,204,255,65,186,255,65,214,255,29,195,255,26,211,255,135,178,255,90,209,255,202,187,255,220,210,255,184,184,255,81,208,255,180,184,255,178,205,255,220,180,255,220,205,255,19,178,255,101,204,255,247,174,255,28,206,255,162,178, +255,213,197,255,133,176,255,164,206,255,28,177,255,246,202,255,80,172,255,202,199,255,237,173,255,53,203,255,10,164,255,44,202,255,177,172,255,57,200,255,21,178,255,198,195,255,239,168,255,23,199,255,165,176,255,93,203,255,109,176,255,118,204,255,32, +170,255,202,199,255,116,170,255,45,206,255,156,173,255,232,201,255,37,179,255,52,194,255,246,168,255,191,202,255,236,179,255,84,200,255,40,178,255,189,205,255,162,182,255,93,202,255,12,182,255,43,195,255,94,173,255,53,202,255,237,187,255,170,210,255, +161,181,255,74,203,255,94,181,255,35,206,255,214,181,255,64,208,255,240,197,255,122,213,255,60,196,255,2,219,255,146,198,255,245,216,255,147,193,255,74,220,255,43,199,255,85,225,255,232,198,255,77,223,255,111,195,255,36,223,255,112,194,255,64,231,255, +243,199,255,27,222,255,50,195,255,33,231,255,101,201,255,240,223,255,208,194,255,109,220,255,143,188,255,108,234,255,242,202,255,53,224,255,155,197,255,54,223,255,204,196,255,12,228,255,33,200,255,36,221,255,23,200,255,21,217,255,34,200,255,192,218,255, +65,196,255,247,220,255,46,200,255,131,217,255,163,202,255,106,217,255,117,194,255,174,217,255,204,199,255,23,217,255,168,200,255,103,216,255,156,201,255,110,215,255,164,196,255,14,213,255,102,212,255,81,210,255,129,211,255,221,211,255,139,208,255,44, +223,255,38,210,255,94,217,255,99,208,255,73,221,255,30,213,255,87,215,255,18,218,255,238,219,255,149,214,255,23,228,255,18,222,255,96,224,255,199,219,255,220,225,255,65,219,255,119,230,255,132,227,255,222,238,255,215,227,255,212,249,255,85,238,255,147, +247,255,110,235,255,210,5,0,25,230,255,125,248,255,171,233,255,10,252,255,240,229,255,119,7,0,137,232,255,2,8,0,100,236,255,47,6,0,4,234,255,101,8,0,109,237,255,54,1,0,141,230,255,195,4,0,145,224,255,57,6,0,36,224,255,131,5,0,53,224,255,182,6,0,236,223, +255,161,246,255,10,222,255,157,5,0,122,223,255,34,244,255,120,212,255,235,2,0,59,224,255,177,246,255,13,214,255,222,247,255,142,218,255,109,243,255,135,216,255,223,243,255,51,214,255,123,238,255,102,215,255,158,239,255,133,212,255,42,234,255,96,210,255, +225,236,255,95,214,255,161,234,255,95,217,255,167,231,255,101,205,255,8,233,255,77,219,255,159,230,255,39,220,255,132,228,255,188,215,255,152,234,255,102,220,255,140,238,255,104,222,255,139,236,255,110,219,255,144,239,255,144,223,255,255,238,255,127, +224,255,140,241,255,90,222,255,185,237,255,42,226,255,56,245,255,58,234,255,213,241,255,12,231,255,239,250,255,211,244,255,120,250,255,88,238,255,232,248,255,145,243,255,186,245,255,28,245,255,170,0,0,87,252,255,77,0,0,119,4,0,220,4,0,4,252,255,250,7, +0,88,1,0,171,5,0,173,0,0,198,2,0,4,252,255,38,12,0,6,254,255,76,16,0,60,2,0,55,11,0,249,249,255,193,12,0,95,251,255,172,12,0,31,239,255,143,16,0,169,245,255,186,10,0,79,236,255,233,15,0,152,238,255,91,13,0,197,239,255,194,6,0,131,226,255,209,4,0,42,229, +255,159,10,0,25,235,255,132,6,0,81,233,255,5,12,0,133,233,255,31,7,0,162,234,255,164,8,0,169,236,255,196,7,0,59,234,255,128,5,0,228,228,255,112,8,0,13,239,255,93,2,0,80,239,255,198,6,0,52,245,255,36,9,0,108,243,255,193,13,0,6,247,255,80,15,0,227,250, +255,224,13,0,104,252,255,152,15,0,52,3,0,6,20,0,250,5,0,48,24,0,112,13,0,239,22,0,29,11,0,77,25,0,210,20,0,138,25,0,105,25,0,121,28,0,54,18,0,100,28,0,138,24,0,88,33,0,52,25,0,48,41,0,239,29,0,115,28,0,48,20,0,18,36,0,107,17,0,49,36,0,255,22,0,53,36, +0,16,18,0,206,35,0,17,9,0,204,31,0,133,8,0,15,28,0,240,0,0,138,24,0,175,255,255,99,27,0,162,0,0,230,22,0,231,251,255,70,28,0,199,241,255,41,21,0,49,239,255,219,20,0,212,240,255,78,16,0,222,234,255,8,9,0,90,227,255,106,11,0,12,229,255,253,10,0,17,223, +255,7,13,0,56,224,255,10,10,0,168,229,255,154,10,0,202,222,255,92,4,0,221,223,255,80,5,0,102,217,255,82,6,0,187,218,255,131,253,255,237,223,255,33,251,255,136,222,255,89,253,255,28,218,255,12,253,255,52,217,255,178,1,0,83,225,255,17,7,0,55,228,255,49, +255,255,187,227,255,40,0,0,224,221,255,17,5,0,9,228,255,161,5,0,252,230,255,188,3,0,224,233,255,104,9,0,164,236,255,86,8,0,85,233,255,249,9,0,147,233,255,164,17,0,12,241,255,93,13,0,76,244,255,106,25,0,57,249,255,117,4,0,198,241,255,44,23,0,101,252,255, +202,18,0,193,0,0,185,24,0,12,0,0,94,27,0,235,0,0,194,19,0,218,2,0,50,24,0,141,13,0,19,24,0,224,9,0,71,22,0,66,1,0,221,31,0,184,5,0,198,19,0,157,7,0,154,29,0,169,12,0,47,28,0,184,3,0,225,20,0,236,3,0,203,33,0,97,10,0,236,27,0,242,255,255,91,25,0,13,12, +0,171,17,0,154,250,255,19,25,0,219,7,0,189,25,0,146,0,0,64,25,0,59,249,255,138,21,0,228,246,255,99,27,0,239,0,0,119,22,0,29,252,255,149,17,0,12,237,255,194,16,0,100,244,255,72,17,0,5,238,255,129,17,0,38,234,255,24,19,0,236,235,255,58,21,0,128,240,255, +101,14,0,29,242,255,181,13,0,56,235,255,43,6,0,98,235,255,8,17,0,193,241,255,116,14,0,38,241,255,237,18,0,202,238,255,202,21,0,160,245,255,48,19,0,150,245,255,234,22,0,90,3,0,72,16,0,131,251,255,200,18,0,63,253,255,15,16,0,2,3,0,12,20,0,129,4,0,164,21, +0,235,3,0,42,27,0,18,8,0,192,22,0,253,7,0,78,25,0,43,3,0,127,32,0,215,9,0,156,28,0,97,12,0,71,27,0,196,10,0,108,33,0,171,8,0,163,27,0,112,15,0,192,26,0,217,13,0,56,31,0,112,15,0,140,26,0,73,16,0,235,33,0,153,18,0,6,35,0,44,12,0,211,32,0,83,19,0,165,32, +0,252,22,0,171,33,0,118,22,0,9,35,0,95,18,0,161,36,0,245,21,0,143,32,0,6,26,0,187,40,0,9,25,0,68,37,0,110,24,0,161,34,0,220,22,0,117,45,0,194,34,0,108,46,0,6,30,0,113,46,0,147,31,0,88,47,0,171,30,0,177,51,0,131,28,0,10,50,0,52,27,0,116,52,0,209,32,0, +236,44,0,117,20,0,140,52,0,36,27,0,221,51,0,136,26,0,112,54,0,10,21,0,104,59,0,177,23,0,194,48,0,79,16,0,95,58,0,86,21,0,69,55,0,247,15,0,30,53,0,202,16,0,29,53,0,120,20,0,251,50,0,153,8,0,173,43,0,230,11,0,248,49,0,91,8,0,138,45,0,216,12,0,108,49,0, +223,14,0,82,39,0,93,9,0,147,41,0,14,15,0,229,45,0,180,9,0,59,45,0,11,10,0,86,39,0,63,7,0,26,48,0,203,18,0,243,45,0,160,17,0,52,34,0,47,14,0,5,45,0,41,17,0,235,48,0,169,24,0,242,46,0,155,22,0,212,43,0,45,20,0,29,45,0,55,20,0,142,53,0,212,30,0,111,57,0, +248,34,0,18,53,0,94,23,0,195,55,0,139,30,0,11,57,0,28,40,0,169,60,0,233,40,0,66,60,0,136,37,0,32,67,0,145,32,0,22,63,0,212,36,0,23,69,0,39,34,0,77,59,0,140,37,0,219,62,0,86,35,0,241,64,0,204,35,0,216,65,0,44,31,0,100,63,0,65,27,0,241,65,0,59,40,0,189, +66,0,65,32,0,207,64,0,189,24,0,49,66,0,45,29,0,6,65,0,88,21,0,119,61,0,98,17,0,95,63,0,124,18,0,37,62,0,198,15,0,215,52,0,4,16,0,132,52,0,223,15,0,32,55,0,48,14,0,42,55,0,32,9,0,243,46,0,242,13,0,193,48,0,50,12,0,91,49,0,67,8,0,153,40,0,29,1,0,131,39, +0,0,8,0,140,38,0,127,7,0,27,44,0,68,15,0,153,36,0,107,13,0,86,37,0,195,14,0,41,33,0,94,10,0,131,36,0,37,10,0,82,34,0,142,7,0,150,35,0,13,12,0,168,39,0,235,14,0,178,39,0,98,15,0,227,30,0,46,9,0,202,32,0,166,11,0,41,37,0,147,20,0,234,40,0,161,12,0,65,42, +0,1,17,0,111,41,0,223,13,0,96,42,0,123,16,0,184,44,0,218,19,0,173,37,0,184,10,0,137,45,0,87,16,0,41,47,0,169,23,0,1,42,0,132,16,0,25,40,0,9,17,0,195,49,0,235,17,0,81,54,0,160,20,0,63,52,0,206,19,0,201,38,0,44,16,0,233,54,0,25,19,0,111,49,0,204,18,0,229, +50,0,125,22,0,115,49,0,4,18,0,63,58,0,180,21,0,81,54,0,220,27,0,197,53,0,25,28,0,85,55,0,176,31,0,140,53,0,255,28,0,78,53,0,130,26,0,122,50,0,96,29,0,161,57,0,41,23,0,38,48,0,152,20,0,173,44,0,7,18,0,229,44,0,69,20,0,157,43,0,146,19,0,48,52,0,13,20,0, +185,41,0,48,10,0,51,42,0,202,9,0,36,41,0,248,11,0,8,39,0,246,5,0,223,39,0,28,0,0,200,35,0,234,3,0,147,41,0,28,1,0,134,37,0,247,253,255,44,31,0,153,251,255,125,42,0,65,5,0,125,31,0,207,1,0,55,36,0,10,7,0,233,34,0,81,6,0,155,30,0,10,8,0,146,34,0,177,3, +0,54,37,0,98,10,0,1,34,0,26,25,0,65,42,0,171,14,0,172,42,0,126,18,0,233,42,0,90,35,0,112,48,0,22,33,0,118,52,0,225,42,0,65,48,0,17,35,0,141,49,0,37,49,0,250,55,0,102,49,0,124,64,0,85,45,0,126,58,0,233,43,0,51,66,0,116,47,0,224,62,0,138,57,0,247,53,0, +104,44,0,111,67,0,131,52,0,208,70,0,196,50,0,6,64,0,184,40,0,67,61,0,15,44,0,138,66,0,229,42,0,228,53,0,227,34,0,160,50,0,140,32,0,244,63,0,160,35,0,11,53,0,16,28,0,139,55,0,66,28,0,96,45,0,209,25,0,214,51,0,9,18,0,28,43,0,152,19,0,212,42,0,96,23,0,232, +40,0,90,19,0,181,44,0,126,19,0,221,43,0,64,15,0,67,35,0,27,7,0,205,40,0,166,14,0,61,34,0,68,11,0,224,33,0,145,11,0,81,33,0,78,10,0,49,32,0,104,9,0,121,31,0,53,0,0,162,24,0,206,7,0,136,27,0,7,1,0,238,29,0,68,0,0,94,28,0,94,254,255,166,21,0,125,251,255, +22,25,0,2,252,255,125,17,0,74,254,255,160,27,0,150,255,255,73,23,0,120,247,255,31,31,0,165,2,0,174,28,0,227,0,0,102,25,0,222,2,0,5,24,0,1,7,0,81,24,0,165,4,0,228,33,0,76,12,0,135,35,0,11,7,0,109,35,0,97,8,0,237,35,0,79,19,0,195,36,0,35,13,0,171,30,0, +27,22,0,205,35,0,6,24,0,77,34,0,145,38,0,211,30,0,169,26,0,127,34,0,233,32,0,230,33,0,83,37,0,199,33,0,119,36,0,174,31,0,100,28,0,233,35,0,222,30,0,57,27,0,40,24,0,18,33,0,125,26,0,246,26,0,159,17,0,50,28,0,204,20,0,139,23,0,159,17,0,158,26,0,71,19,0, +205,21,0,22,12,0,58,18,0,189,4,0,122,13,0,113,3,0,245,11,0,75,252,255,57,20,0,82,3,0,107,10,0,112,250,255,142,11,0,3,253,255,69,15,0,133,249,255,105,14,0,130,245,255,233,13,0,222,245,255,199,19,0,63,255,255,74,14,0,51,250,255,161,23,0,148,249,255,49, +22,0,2,255,255,162,20,0,158,251,255,100,29,0,79,254,255,45,27,0,250,3,0,241,24,0,142,252,255,165,30,0,199,3,0,234,26,0,92,3,0,230,23,0,244,5,0,122,33,0,88,10,0,66,31,0,163,12,0,19,32,0,110,14,0,86,31,0,95,13,0,126,32,0,22,16,0,90,31,0,49,21,0,168,22, +0,140,21,0,1,27,0,179,9,0,226,19,0,138,9,0,11,20,0,53,14,0,114,17,0,217,20,0,95,22,0,158,10,0,247,17,0,143,9,0,174,12,0,155,13,0,145,9,0,250,2,0,121,7,0,63,0,0,207,2,0,90,254,255,142,6,0,74,249,255,235,5,0,133,246,255,56,5,0,154,251,255,120,246,255,64, +236,255,59,252,255,224,240,255,53,252,255,207,237,255,46,249,255,177,230,255,112,249,255,46,229,255,49,246,255,135,227,255,197,246,255,20,224,255,60,245,255,15,219,255,205,249,255,185,229,255,209,255,255,98,224,255,180,248,255,3,222,255,73,248,255,196, +229,255,113,254,255,163,221,255,169,249,255,77,226,255,214,250,255,71,222,255,203,251,255,186,225,255,58,253,255,49,224,255,150,2,0,16,227,255,203,251,255,43,236,255,130,253,255,234,238,255,20,251,255,243,235,255,218,242,255,53,232,255,219,251,255,1, +228,255,13,243,255,111,235,255,168,237,255,226,228,255,72,241,255,189,230,255,61,233,255,10,230,255,200,236,255,249,227,255,244,238,255,173,222,255,76,238,255,192,223,255,62,232,255,3,224,255,116,235,255,31,218,255,78,232,255,235,218,255,92,234,255,12, +213,255,122,226,255,12,209,255,6,229,255,100,213,255,132,226,255,206,201,255,41,218,255,95,201,255,44,220,255,192,197,255,85,228,255,187,202,255,182,212,255,249,189,255,82,207,255,147,182,255,42,211,255,185,185,255,157,209,255,58,181,255,158,204,255, +218,184,255,236,200,255,216,171,255,165,196,255,19,174,255,194,194,255,56,166,255,25,195,255,45,171,255,230,187,255,214,171,255,143,184,255,84,170,255,20,182,255,157,162,255,139,185,255,119,161,255,94,177,255,247,157,255,29,177,255,59,161,255,181,178, +255,235,153,255,73,176,255,203,151,255,137,178,255,6,147,255,104,173,255,81,156,255,63,171,255,121,157,255,41,176,255,250,157,255,92,173,255,3,159,255,87,173,255,248,163,255,142,178,255,163,166,255,133,181,255,101,167,255,173,182,255,162,168,255,175, +188,255,33,170,255,8,178,255,185,174,255,222,182,255,206,174,255,70,188,255,195,182,255,230,184,255,122,180,255,217,183,255,94,182,255,28,187,255,240,184,255,30,183,255,231,180,255,32,189,255,50,173,255,239,184,255,165,175,255,13,189,255,40,177,255,161, +189,255,106,181,255,239,185,255,174,177,255,54,190,255,73,174,255,43,194,255,59,180,255,86,187,255,131,171,255,87,190,255,145,172,255,225,178,255,223,166,255,176,183,255,164,174,255,60,192,255,77,175,255,135,184,255,176,168,255,148,186,255,55,174,255, +68,194,255,173,171,255,76,193,255,93,182,255,102,196,255,242,182,255,60,191,255,166,179,255,117,194,255,106,179,255,52,202,255,53,189,255,159,194,255,16,182,255,149,205,255,22,190,255,171,199,255,64,187,255,34,205,255,231,193,255,60,210,255,174,191,255, +140,211,255,232,191,255,243,213,255,29,196,255,68,212,255,167,196,255,38,225,255,253,199,255,0,216,255,186,208,255,217,225,255,90,213,255,145,218,255,135,211,255,153,219,255,66,213,255,221,216,255,209,218,255,174,219,255,249,216,255,162,223,255,1,213, +255,193,220,255,61,216,255,181,219,255,210,213,255,255,220,255,100,215,255,227,214,255,121,220,255,121,219,255,90,208,255,27,225,255,142,210,255,14,222,255,246,209,255,132,214,255,50,201,255,98,216,255,33,200,255,148,219,255,34,197,255,210,214,255,62, +206,255,18,216,255,1,199,255,91,213,255,111,200,255,253,216,255,169,192,255,103,215,255,55,196,255,45,209,255,8,197,255,249,218,255,198,201,255,68,220,255,242,202,255,238,214,255,154,203,255,11,214,255,192,202,255,197,217,255,50,209,255,52,212,255,175, +201,255,96,213,255,184,202,255,51,213,255,71,207,255,130,216,255,4,217,255,22,219,255,231,213,255,121,216,255,53,218,255,99,217,255,47,212,255,97,218,255,129,216,255,184,220,255,54,220,255,134,220,255,42,219,255,207,217,255,211,214,255,117,221,255,248, +218,255,174,227,255,95,225,255,8,222,255,251,226,255,168,232,255,192,223,255,233,224,255,213,225,255,58,225,255,163,229,255,116,235,255,44,232,255,254,228,255,7,235,255,38,240,255,22,231,255,134,228,255,250,227,255,126,233,255,78,227,255,231,234,255, +64,237,255,31,237,255,21,232,255,105,242,255,249,234,255,102,239,255,186,235,255,232,236,255,97,230,255,136,236,255,222,229,255,250,241,255,60,227,255,148,239,255,83,226,255,124,243,255,169,234,255,198,238,255,73,232,255,136,244,255,152,233,255,152,248, +255,53,242,255,157,244,255,89,238,255,165,245,255,128,231,255,139,247,255,206,238,255,177,248,255,229,239,255,243,250,255,45,249,255,92,242,255,231,248,255,129,251,255,73,252,255,127,246,255,12,252,255,172,254,255,104,252,255,60,252,255,11,4,0,112,250, +255,137,251,255,112,250,255,248,253,255,79,247,255,2,0,0,135,249,255,203,249,255,107,246,255,204,4,0,213,248,255,246,252,255,43,253,255,43,252,255,27,248,255,199,0,0,129,255,255,30,255,255,81,254,255,102,4,0,32,248,255,13,252,255,78,6,0,207,255,255,203, +252,255,73,0,0,50,254,255,122,4,0,139,255,255,112,253,255,23,246,255,171,250,255,148,250,255,104,254,255,187,5,0,55,255,255,70,249,255,59,252,255,5,247,255,141,248,255,171,2,0,176,1,0,25,247,255,218,253,255,131,251,255,211,252,255,85,0,0,120,252,255, +156,249,255,88,249,255,48,248,255,245,244,255,3,246,255,0,248,255,21,252,255,32,246,255,66,247,255,67,246,255,163,247,255,199,236,255,12,250,255,64,237,255,254,242,255,59,242,255,78,245,255,247,242,255,0,244,255,45,232,255,211,243,255,93,236,255,113, +242,255,194,241,255,233,236,255,126,237,255,198,239,255,189,238,255,202,251,255,17,246,255,26,241,255,50,242,255,200,237,255,98,243,255,83,242,255,127,245,255,194,247,255,133,248,255,62,241,255,189,251,255,91,246,255,248,2,0,55,248,255,93,3,0,212,240, +255,49,17,0,42,249,255,253,10,0,205,250,255,216,12,0,41,6,0,169,14,0,201,8,0,154,28,0,210,2,0,185,23,0,204,4,0,131,27,0,202,9,0,79,26,0,31,18,0,12,37,0,153,13,0,120,24,0,90,23,0,33,35,0,40,23,0,231,30,0,222,20,0,187,34,0,195,14,0,88,32,0,242,21,0,19, +34,0,25,24,0,87,32,0,22,22,0,138,21,0,14,9,0,8,19,0,133,26,0,224,27,0,105,18,0,198,18,0,41,13,0,158,15,0,243,10,0,131,20,0,0,13,0,56,15,0,202,13,0,253,12,0,51,7,0,136,8,0,226,6,0,151,8,0,29,3,0,178,6,0,243,1,0,42,3,0,9,6,0,186,5,0,43,9,0,65,5,0,232,250, +255,89,1,0,234,2,0,173,6,0,171,253,255,69,1,0,45,4,0,119,1,0,43,9,0,153,10,0,42,5,0,227,2,0,213,8,0,89,11,0,138,5,0,221,5,0,119,13,0,222,9,0,21,8,0,237,6,0,132,12,0,17,11,0,159,13,0,43,8,0,118,9,0,239,11,0,229,9,0,137,17,0,109,17,0,15,24,0,45,15,0,231, +24,0,155,22,0,115,24,0,229,13,0,167,21,0,225,14,0,195,27,0,148,17,0,253,33,0,124,14,0,102,30,0,176,19,0,13,31,0,242,20,0,237,41,0,63,22,0,166,37,0,209,22,0,55,41,0,239,26,0,147,43,0,26,25,0,220,37,0,42,26,0,136,43,0,112,26,0,186,43,0,239,27,0,204,37, +0,116,34,0,23,42,0,149,24,0,203,37,0,245,20,0,49,39,0,160,25,0,64,31,0,110,25,0,237,41,0,169,25,0,134,40,0,89,21,0,99,28,0,240,21,0,92,39,0,188,29,0,150,38,0,135,27,0,53,37,0,238,24,0,170,29,0,237,15,0,199,28,0,89,27,0,9,25,0,225,32,0,170,34,0,220,18, +0,131,36,0,50,29,0,233,33,0,232,30,0,237,32,0,22,27,0,68,35,0,86,26,0,71,38,0,122,22,0,224,35,0,153,28,0,51,39,0,39,35,0,232,44,0,0,32,0,162,35,0,86,37,0,212,45,0,88,29,0,220,38,0,230,36,0,19,39,0,81,39,0,199,44,0,122,40,0,231,46,0,169,42,0,91,54,0,50, +39,0,166,48,0,249,43,0,69,59,0,230,45,0,5,61,0,110,46,0,204,58,0,8,45,0,24,73,0,114,58,0,50,75,0,14,54,0,135,75,0,178,58,0,7,80,0,15,68,0,14,76,0,132,64,0,155,84,0,129,68,0,255,84,0,152,66,0,187,88,0,2,69,0,148,92,0,91,68,0,149,94,0,102,76,0,74,90,0, +6,64,0,253,88,0,88,73,0,116,94,0,147,72,0,150,94,0,153,75,0,44,88,0,142,75,0,43,87,0,55,67,0,124,83,0,59,73,0,206,93,0,195,59,0,33,77,0,178,65,0,67,85,0,30,63,0,219,87,0,16,58,0,166,77,0,252,59,0,59,75,0,224,55,0,152,81,0,158,47,0,170,71,0,24,58,0,80, +73,0,254,57,0,216,74,0,103,59,0,205,74,0,89,53,0,135,77,0,94,54,0,165,69,0,215,55,0,99,68,0,173,53,0,218,66,0,158,55,0,141,74,0,73,57,0,247,68,0,240,61,0,43,72,0,16,56,0,5,69,0,41,66,0,232,72,0,239,52,0,192,63,0,67,62,0,188,78,0,151,60,0,168,70,0,62, +65,0,69,76,0,181,62,0,188,73,0,164,71,0,27,75,0,121,67,0,116,72,0,152,71,0,101,74,0,232,72,0,171,76,0,98,64,0,206,77,0,58,67,0,63,74,0,122,65,0,181,69,0,43,56,0,29,68,0,86,67,0,166,74,0,89,65,0,144,70,0,8,62,0,107,67,0,183,63,0,203,70,0,146,59,0,207, +68,0,106,63,0,114,65,0,156,63,0,238,61,0,139,59,0,93,65,0,46,52,0,146,60,0,147,53,0,70,56,0,115,51,0,74,56,0,119,47,0,17,50,0,122,39,0,148,56,0,18,48,0,167,55,0,73,47,0,77,59,0,64,30,0,248,61,0,105,33,0,95,56,0,225,35,0,180,55,0,230,35,0,179,56,0,109, +35,0,189,60,0,144,41,0,149,64,0,188,33,0,98,59,0,218,39,0,157,61,0,182,31,0,137,62,0,107,46,0,26,64,0,36,37,0,141,66,0,252,37,0,185,60,0,111,38,0,154,59,0,165,37,0,33,63,0,70,42,0,47,62,0,220,47,0,41,66,0,174,37,0,76,52,0,194,43,0,146,59,0,128,43,0,190, +59,0,92,45,0,104,54,0,62,44,0,235,53,0,132,41,0,144,45,0,137,39,0,204,46,0,246,39,0,139,38,0,46,40,0,93,40,0,101,35,0,148,39,0,45,37,0,23,27,0,210,36,0,28,30,0,199,38,0,118,29,0,170,31,0,158,24,0,191,21,0,175,14,0,210,27,0,139,18,0,215,25,0,165,12,0, +120,19,0,201,7,0,105,19,0,105,11,0,114,23,0,134,14,0,231,18,0,50,9,0,109,24,0,164,13,0,60,17,0,55,5,0,172,10,0,238,0,0,0,13,0,235,9,0,242,9,0,189,12,0,166,12,0,224,9,0,127,6,0,245,6,0,21,10,0,198,14,0,35,14,0,196,18,0,160,13,0,151,16,0,10,13,0,122,16, +0,98,18,0,200,19,0,172,7,0,60,19,0,234,15,0,252,26,0,1,19,0,159,32,0,167,18,0,162,38,0,100,22,0,206,40,0,168,16,0,48,33,0,215,22,0,71,47,0,29,24,0,139,30,0,48,13,0,235,38,0,7,25,0,37,43,0,49,20,0,68,39,0,178,23,0,104,46,0,94,21,0,162,40,0,134,21,0,55, +43,0,97,24,0,154,34,0,114,20,0,3,35,0,28,12,0,235,32,0,220,25,0,36,38,0,249,19,0,120,38,0,96,23,0,69,31,0,16,14,0,36,35,0,132,12,0,191,27,0,87,12,0,191,26,0,250,7,0,129,21,0,183,17,0,135,26,0,153,11,0,161,17,0,213,10,0,110,19,0,101,19,0,233,21,0,92,18, +0,199,20,0,80,14,0,44,19,0,216,19,0,109,25,0,11,11,0,149,11,0,141,19,0,30,24,0,248,15,0,78,26,0,157,10,0,63,19,0,156,18,0,55,29,0,20,18,0,105,29,0,21,17,0,30,35,0,31,23,0,110,34,0,246,23,0,79,41,0,14,38,0,161,44,0,29,37,0,171,44,0,174,37,0,83,53,0,237, +44,0,87,60,0,78,43,0,114,50,0,17,37,0,99,49,0,155,45,0,245,54,0,227,42,0,221,57,0,94,45,0,176,57,0,94,44,0,55,46,0,39,49,0,47,65,0,7,46,0,189,57,0,54,49,0,77,59,0,14,48,0,94,66,0,15,46,0,16,58,0,246,50,0,224,59,0,168,42,0,195,48,0,3,42,0,181,61,0,207, +32,0,175,52,0,55,43,0,208,63,0,231,37,0,114,56,0,168,40,0,226,54,0,226,41,0,118,56,0,41,41,0,161,53,0,181,36,0,194,49,0,148,38,0,64,44,0,120,31,0,3,40,0,227,34,0,247,41,0,135,35,0,185,38,0,195,35,0,44,43,0,6,38,0,157,35,0,87,37,0,208,38,0,169,35,0,142, +30,0,167,40,0,230,40,0,69,34,0,157,38,0,163,35,0,121,34,0,217,31,0,4,32,0,73,30,0,166,34,0,219,33,0,140,34,0,94,33,0,225,30,0,149,32,0,200,29,0,92,29,0,135,25,0,107,25,0,125,29,0,30,31,0,252,35,0,6,30,0,60,33,0,202,29,0,217,34,0,252,28,0,94,33,0,34,30, +0,188,37,0,115,33,0,77,41,0,250,25,0,252,41,0,219,33,0,108,43,0,180,32,0,156,41,0,33,37,0,80,52,0,251,42,0,130,52,0,228,33,0,8,42,0,17,37,0,82,46,0,178,43,0,255,50,0,210,41,0,221,46,0,69,42,0,33,44,0,77,50,0,93,44,0,241,43,0,0,49,0,149,41,0,238,43,0, +246,49,0,52,44,0,166,49,0,208,39,0,117,48,0,47,40,0,231,41,0,244,31,0,56,48,0,162,39,0,23,43,0,56,33,0,195,41,0,235,33,0,33,36,0,166,23,0,7,40,0,176,26,0,170,31,0,54,24,0,148,29,0,219,20,0,90,27,0,30,26,0,59,25,0,46,19,0,193,28,0,172,21,0,216,23,0,75, +19,0,242,19,0,169,20,0,106,23,0,57,18,0,26,23,0,178,20,0,175,23,0,239,13,0,42,25,0,191,21,0,190,17,0,11,21,0,17,10,0,144,22,0,162,21,0,253,19,0,128,18,0,143,22,0,237,12,0,63,22,0,46,13,0,237,14,0,159,8,0,125,18,0,44,17,0,247,22,0,117,12,0,199,18,0,77, +12,0,54,21,0,183,14,0,10,15,0,27,12,0,191,11,0,157,12,0,186,8,0,205,13,0,210,14,0,102,12,0,208,15,0,229,13,0,42,13,0,47,9,0,168,15,0,88,11,0,92,13,0,195,15,0,199,14,0,86,4,0,12,13,0,242,6,0,249,1,0,87,9,0,38,12,0,21,7,0,173,7,0,94,5,0,160,8,0,133,8,0, +199,11,0,67,11,0,81,8,0,144,5,0,4,14,0,207,8,0,128,255,255,38,8,0,201,5,0,4,5,0,196,5,0,89,0,0,206,5,0,142,254,255,240,249,255,172,3,0,184,1,0,177,254,255,10,3,0,228,249,255,225,249,255,32,252,255,13,253,255,79,251,255,68,248,255,101,255,255,199,252, +255,104,244,255,106,254,255,16,253,255,147,251,255,125,246,255,192,246,255,235,248,255,165,247,255,4,249,255,82,249,255,125,253,255,207,244,255,188,249,255,57,249,255,213,245,255,186,249,255,181,250,255,100,254,255,217,250,255,54,246,255,102,243,255, +210,245,255,0,249,255,188,244,255,247,254,255,163,246,255,103,250,255,91,254,255,54,2,0,131,247,255,163,254,255,178,253,255,182,252,255,142,249,255,160,253,255,171,254,255,210,255,255,93,251,255,94,243,255,184,244,255,125,251,255,82,243,255,239,249,255, +154,246,255,12,244,255,212,232,255,78,250,255,238,240,255,104,241,255,38,230,255,221,238,255,75,225,255,89,237,255,213,228,255,99,233,255,200,225,255,236,228,255,86,217,255,25,231,255,76,217,255,89,227,255,223,214,255,95,225,255,134,206,255,232,226,255, +122,201,255,190,219,255,212,203,255,6,221,255,80,198,255,220,217,255,238,197,255,156,213,255,64,197,255,122,217,255,234,199,255,196,221,255,235,195,255,11,220,255,81,195,255,133,217,255,80,192,255,77,214,255,110,194,255,74,217,255,6,196,255,187,212,255, +253,191,255,246,216,255,236,194,255,12,205,255,28,194,255,68,218,255,166,193,255,92,215,255,241,191,255,153,218,255,32,197,255,73,209,255,102,203,255,246,217,255,83,199,255,178,211,255,21,200,255,92,212,255,231,209,255,141,216,255,181,204,255,116,209, +255,71,208,255,217,212,255,66,212,255,147,218,255,171,210,255,124,214,255,216,212,255,178,218,255,37,216,255,182,222,255,93,210,255,29,220,255,239,215,255,172,224,255,116,211,255,104,222,255,249,217,255,49,215,255,27,213,255,185,211,255,197,211,255,7, +216,255,163,204,255,132,216,255,34,211,255,25,217,255,195,214,255,250,222,255,46,209,255,131,215,255,2,202,255,4,216,255,214,206,255,60,209,255,176,199,255,49,213,255,100,203,255,175,214,255,71,203,255,26,211,255,48,199,255,170,211,255,54,199,255,231, +209,255,59,194,255,197,209,255,86,192,255,128,204,255,238,186,255,35,197,255,41,191,255,180,200,255,16,186,255,158,196,255,74,185,255,254,194,255,106,178,255,154,193,255,147,186,255,43,197,255,82,175,255,229,198,255,194,181,255,179,187,255,62,179,255, +106,185,255,164,167,255,231,185,255,113,171,255,206,187,255,46,169,255,251,184,255,97,164,255,3,181,255,233,170,255,137,170,255,196,163,255,180,185,255,243,164,255,125,176,255,172,165,255,58,177,255,86,158,255,133,177,255,176,169,255,17,178,255,2,160, +255,124,179,255,205,170,255,103,178,255,220,167,255,0,178,255,42,167,255,88,177,255,40,165,255,232,185,255,181,160,255,250,178,255,1,167,255,208,179,255,98,174,255,162,183,255,146,170,255,106,182,255,95,174,255,143,186,255,18,169,255,176,181,255,137, +180,255,242,179,255,253,169,255,22,180,255,193,174,255,146,183,255,44,173,255,7,176,255,117,166,255,65,184,255,208,173,255,85,180,255,81,167,255,185,171,255,176,170,255,142,178,255,148,164,255,248,172,255,41,168,255,114,171,255,219,164,255,66,175,255, +51,173,255,2,162,255,143,162,255,178,163,255,211,160,255,240,167,255,217,154,255,94,162,255,95,151,255,255,153,255,33,152,255,203,157,255,130,150,255,156,158,255,3,150,255,156,151,255,80,144,255,222,151,255,25,140,255,44,154,255,87,144,255,181,148,255, +57,150,255,226,148,255,16,141,255,71,153,255,254,137,255,63,143,255,89,135,255,9,153,255,127,133,255,98,145,255,167,125,255,128,151,255,34,135,255,243,144,255,206,130,255,232,146,255,247,126,255,22,147,255,108,121,255,64,152,255,254,129,255,127,150,255, +66,132,255,16,151,255,10,137,255,97,148,255,40,129,255,42,158,255,106,133,255,117,158,255,195,136,255,180,156,255,184,134,255,121,163,255,213,136,255,11,166,255,100,144,255,55,160,255,242,141,255,225,161,255,183,145,255,191,157,255,27,138,255,39,165, +255,0,151,255,237,156,255,170,152,255,23,158,255,133,153,255,255,157,255,26,158,255,171,160,255,102,154,255,210,154,255,159,151,255,241,155,255,10,158,255,82,153,255,104,153,255,146,152,255,164,152,255,61,159,255,198,151,255,211,164,255,31,155,255,97, +158,255,248,145,255,24,158,255,96,144,255,10,158,255,108,155,255,29,156,255,102,153,255,111,153,255,71,150,255,58,163,255,248,148,255,16,165,255,211,145,255,40,163,255,39,149,255,58,165,255,115,150,255,48,164,255,96,145,255,42,162,255,24,146,255,168, +153,255,94,145,255,199,159,255,199,145,255,51,158,255,143,137,255,60,161,255,243,142,255,114,159,255,71,131,255,99,158,255,24,137,255,157,150,255,226,136,255,157,148,255,109,130,255,167,159,255,110,135,255,171,150,255,104,139,255,235,155,255,44,136,255, +184,151,255,46,137,255,220,146,255,194,135,255,53,157,255,5,144,255,115,154,255,198,137,255,23,155,255,44,140,255,110,157,255,213,146,255,216,152,255,187,149,255,105,154,255,62,146,255,247,157,255,184,155,255,212,155,255,227,152,255,253,156,255,79,151, +255,95,161,255,181,160,255,223,160,255,204,157,255,136,168,255,132,159,255,107,167,255,207,157,255,22,171,255,134,158,255,210,171,255,57,160,255,52,169,255,241,160,255,73,178,255,176,164,255,43,175,255,167,156,255,41,180,255,38,161,255,89,175,255,104, +162,255,120,176,255,135,155,255,146,177,255,202,167,255,91,175,255,62,162,255,170,181,255,25,155,255,234,180,255,135,165,255,234,178,255,92,166,255,196,188,255,79,167,255,252,181,255,120,168,255,223,181,255,207,164,255,197,177,255,118,160,255,159,187, +255,208,161,255,104,184,255,226,166,255,176,189,255,180,161,255,140,185,255,74,163,255,112,188,255,98,171,255,48,185,255,249,165,255,188,188,255,236,165,255,105,189,255,191,176,255,145,188,255,244,168,255,238,183,255,85,164,255,46,183,255,14,168,255, +25,190,255,245,176,255,103,185,255,155,170,255,149,189,255,182,176,255,252,182,255,18,170,255,44,192,255,80,174,255,253,184,255,175,178,255,132,187,255,37,173,255,235,184,255,144,181,255,233,191,255,168,177,255,130,190,255,185,183,255,140,190,255,128, +189,255,43,191,255,48,180,255,78,188,255,193,183,255,232,191,255,80,185,255,31,193,255,27,188,255,228,188,255,77,184,255,42,189,255,136,179,255,130,188,255,29,188,255,33,191,255,159,189,255,117,188,255,12,189,255,133,186,255,51,184,255,124,188,255,145, +180,255,60,187,255,234,179,255,51,185,255,166,180,255,33,192,255,83,181,255,186,191,255,193,187,255,10,196,255,16,180,255,202,189,255,243,176,255,115,201,255,23,192,255,175,203,255,0,198,255,175,198,255,44,191,255,38,203,255,213,199,255,73,204,255,248, +204,255,73,212,255,91,210,255,59,219,255,8,211,255,217,221,255,43,213,255,133,224,255,18,219,255,247,223,255,136,220,255,26,228,255,43,227,255,65,229,255,68,223,255,12,225,255,4,226,255,45,241,255,161,236,255,208,230,255,78,237,255,36,232,255,171,244, +255,76,233,255,73,235,255,164,241,255,83,236,255,189,237,255,112,241,255,170,234,255,251,236,255,238,238,255,153,231,255,150,237,255,101,223,255,2,238,255,200,227,255,82,239,255,37,227,255,18,236,255,176,226,255,148,231,255,213,215,255,227,227,255,40, +218,255,188,229,255,80,217,255,193,228,255,46,218,255,18,224,255,23,214,255,167,221,255,45,208,255,169,231,255,216,215,255,47,227,255,10,213,255,177,222,255,137,203,255,60,221,255,66,211,255,165,217,255,255,204,255,33,217,255,37,211,255,1,225,255,245, +208,255,161,219,255,156,210,255,146,221,255,175,214,255,134,214,255,89,208,255,203,227,255,173,222,255,27,213,255,242,209,255,72,223,255,100,222,255,235,223,255,160,220,255,205,214,255,38,218,255,142,233,255,23,232,255,141,216,255,73,220,255,212,222, +255,192,228,255,108,225,255,107,221,255,150,230,255,46,226,255,200,228,255,195,225,255,186,227,255,69,222,255,207,225,255,53,224,255,62,223,255,192,223,255,64,237,255,70,231,255,21,235,255,144,231,255,120,233,255,107,236,255,94,229,255,23,229,255,131, +233,255,249,229,255,106,226,255,142,235,255,213,229,255,110,233,255,168,230,255,91,232,255,116,227,255,99,235,255,201,225,255,110,226,255,169,229,255,190,231,255,155,236,255,189,233,255,143,233,255,237,228,255,104,233,255,94,230,255,180,230,255,198,221, +255,239,230,255,159,228,255,20,235,255,162,225,255,113,235,255,251,225,255,196,229,255,173,225,255,161,230,255,176,227,255,82,232,255,187,227,255,231,230,255,146,229,255,173,229,255,21,226,255,230,232,255,151,230,255,76,228,255,175,224,255,54,231,255, +199,226,255,135,229,255,180,225,255,114,231,255,23,225,255,183,225,255,184,233,255,166,228,255,159,234,255,227,226,255,146,232,255,6,227,255,89,235,255,53,224,255,55,230,255,177,228,255,242,235,255,100,227,255,220,232,255,98,229,255,164,240,255,39,230, +255,241,241,255,241,229,255,193,236,255,164,228,255,255,233,255,27,233,255,251,237,255,181,236,255,157,238,255,253,243,255,34,244,255,72,242,255,79,243,255,42,243,255,104,247,255,64,250,255,17,246,255,42,252,255,56,251,255,52,252,255,242,4,0,186,4,0, +202,252,255,230,255,255,64,1,0,254,0,0,28,250,255,209,5,0,245,253,255,76,10,0,209,3,0,240,8,0,47,255,255,6,11,0,204,3,0,58,8,0,218,4,0,168,6,0,122,10,0,202,3,0,145,3,0,253,9,0,80,4,0,254,4,0,207,9,0,219,9,0,11,17,0,215,16,0,14,14,0,211,19,0,155,19,0, +81,17,0,75,20,0,30,22,0,112,29,0,255,11,0,84,24,0,225,15,0,192,31,0,130,20,0,199,29,0,211,14,0,149,26,0,75,24,0,212,30,0,52,27,0,94,30,0,49,25,0,76,36,0,225,36,0,75,33,0,97,29,0,65,36,0,32,37,0,44,33,0,129,30,0,163,43,0,247,33,0,36,42,0,216,27,0,60,39, +0,99,33,0,88,46,0,26,29,0,122,39,0,176,27,0,106,40,0,200,30,0,47,40,0,62,34,0,248,36,0,44,33,0,222,40,0,26,35,0,76,39,0,50,35,0,118,34,0,56,24,0,182,23,0,138,28,0,173,29,0,75,14,0,97,18,0,179,23,0,116,21,0,247,14,0,9,21,0,168,17,0,204,18,0,11,11,0,198, +15,0,241,11,0,168,12,0,133,11,0,175,14,0,89,11,0,30,16,0,66,13,0,137,19,0,30,11,0,230,10,0,255,11,0,223,11,0,162,14,0,98,13,0,23,15,0,146,13,0,170,21,0,174,14,0,154,24,0,38,16,0,215,20,0,84,18,0,232,24,0,242,14,0,116,29,0,145,22,0,245,33,0,84,29,0,75, +38,0,178,28,0,197,41,0,205,32,0,183,43,0,142,37,0,7,48,0,231,36,0,10,46,0,166,48,0,109,56,0,157,47,0,100,58,0,28,48,0,55,53,0,89,54,0,183,57,0,116,55,0,144,54,0,44,54,0,99,57,0,111,60,0,192,54,0,185,54,0,45,54,0,172,53,0,78,62,0,245,58,0,239,54,0,154, +67,0,71,60,0,227,64,0,252,57,0,182,67,0,53,51,0,39,62,0,142,50,0,76,55,0,160,53,0,126,62,0,104,49,0,63,56,0,233,45,0,255,55,0,225,46,0,233,56,0,155,47,0,29,55,0,121,37,0,194,53,0,109,45,0,104,51,0,12,37,0,166,42,0,122,43,0,173,43,0,23,41,0,143,43,0,178, +39,0,212,45,0,171,40,0,179,42,0,212,36,0,171,34,0,22,38,0,102,41,0,136,35,0,178,37,0,158,38,0,165,36,0,173,40,0,33,38,0,109,31,0,185,33,0,55,38,0,231,48,0,191,38,0,110,38,0,157,33,0,241,36,0,196,33,0,116,37,0,247,34,0,186,45,0,53,40,0,108,43,0,63,42, +0,131,43,0,155,40,0,181,49,0,213,46,0,239,58,0,159,42,0,63,51,0,171,43,0,102,53,0,222,48,0,10,61,0,21,57,0,140,59,0,232,56,0,122,67,0,83,44,0,192,53,0,183,64,0,18,69,0,21,62,0,132,68,0,60,64,0,34,74,0,161,64,0,182,73,0,100,67,0,72,76,0,245,63,0,249,75, +0,133,75,0,112,77,0,118,77,0,103,74,0,224,75,0,20,80,0,177,68,0,65,77,0,23,71,0,108,79,0,231,71,0,24,73,0,47,70,0,231,76,0,254,69,0,247,75,0,49,65,0,217,71,0,13,69,0,53,72,0,143,60,0,113,71,0,83,62,0,93,69,0,129,59,0,219,57,0,155,60,0,18,63,0,233,52, +0,90,52,0,1,55,0,225,54,0,208,48,0,116,49,0,205,49,0,163,55,0,192,48,0,216,51,0,92,47,0,65,51,0,24,45,0,79,49,0,88,50,0,66,54,0,124,47,0,243,51,0,125,43,0,237,44,0,254,42,0,205,56,0,30,47,0,193,49,0,195,51,0,157,55,0,212,48,0,51,49,0,148,46,0,168,56, +0,36,44,0,243,46,0,0,50,0,75,54,0,210,48,0,139,57,0,160,48,0,80,55,0,249,51,0,112,54,0,204,55,0,214,50,0,150,53,0,187,51,0,12,55,0,228,52,0,79,59,0,171,53,0,236,51,0,40,49,0,15,55,0,139,64,0,3,52,0,4,51,0,193,59,0,126,56,0,116,48,0,123,48,0,139,62,0, +54,62,0,144,53,0,15,60,0,243,54,0,105,54,0,54,52,0,236,59,0,120,61,0,157,64,0,65,61,0,162,62,0,214,55,0,89,62,0,149,55,0,131,69,0,10,56,0,95,66,0,43,61,0,4,67,0,2,63,0,155,73,0,228,54,0,21,69,0,73,60,0,54,69,0,42,62,0,77,69,0,244,58,0,212,71,0,254,59, +0,130,64,0,33,58,0,141,68,0,209,56,0,4,68,0,80,58,0,117,66,0,230,58,0,116,74,0,136,60,0,206,73,0,234,53,0,83,62,0,41,51,0,99,52,0,208,61,0,239,60,0,129,49,0,106,54,0,190,54,0,44,55,0,31,49,0,39,47,0,179,51,0,206,51,0,34,55,0,142,48,0,46,48,0,95,41,0, +242,46,0,168,38,0,164,43,0,123,41,0,222,41,0,175,31,0,67,53,0,8,33,0,32,47,0,177,27,0,126,39,0,238,29,0,116,51,0,128,36,0,100,45,0,93,33,0,14,43,0,48,32,0,148,45,0,119,37,0,154,49,0,226,35,0,197,46,0,132,34,0,221,46,0,253,34,0,108,46,0,118,38,0,205,49, +0,119,45,0,235,50,0,94,45,0,160,52,0,172,42,0,208,49,0,226,53,0,64,54,0,197,50,0,195,51,0,54,56,0,254,48,0,64,53,0,251,53,0,85,51,0,135,54,0,245,58,0,238,52,0,142,54,0,94,47,0,136,54,0,0,49,0,223,54,0,180,53,0,187,60,0,220,51,0,255,54,0,213,50,0,218, +48,0,151,48,0,146,56,0,139,50,0,33,49,0,17,46,0,22,48,0,124,43,0,161,47,0,29,49,0,178,49,0,130,41,0,65,41,0,14,49,0,80,42,0,68,35,0,41,42,0,101,50,0,94,42,0,76,42,0,165,34,0,243,36,0,70,28,0,252,36,0,165,34,0,99,30,0,22,33,0,182,31,0,117,35,0,76,32,0, +249,28,0,212,36,0,112,28,0,45,35,0,127,24,0,222,25,0,71,18,0,117,35,0,230,21,0,127,31,0,30,16,0,61,42,0,189,16,0,248,36,0,224,21,0,26,29,0,193,20,0,68,36,0,14,20,0,121,32,0,161,17,0,94,30,0,203,20,0,238,29,0,91,25,0,10,34,0,151,22,0,55,35,0,255,29,0, +128,36,0,134,25,0,108,31,0,158,25,0,133,27,0,91,31,0,6,26,0,105,21,0,165,31,0,141,23,0,173,24,0,173,27,0,238,26,0,238,29,0,219,27,0,68,24,0,95,30,0,222,28,0,26,24,0,139,23,0,232,21,0,225,21,0,8,26,0,127,21,0,122,29,0,161,26,0,213,33,0,61,29,0,247,29, +0,100,24,0,218,24,0,59,21,0,134,28,0,247,21,0,65,32,0,38,20,0,163,34,0,230,30,0,7,33,0,188,26,0,165,31,0,148,25,0,161,39,0,239,18,0,230,28,0,244,18,0,193,44,0,3,21,0,209,34,0,49,24,0,172,37,0,20,18,0,170,42,0,46,28,0,152,31,0,58,24,0,184,35,0,217,23, +0,84,39,0,79,28,0,208,43,0,240,29,0,142,32,0,128,29,0,148,35,0,218,27,0,71,42,0,163,24,0,206,35,0,60,30,0,1,40,0,208,28,0,159,32,0,153,26,0,14,33,0,122,30,0,148,38,0,241,28,0,110,33,0,136,31,0,236,32,0,23,28,0,164,35,0,40,26,0,12,33,0,248,25,0,111,37, +0,190,26,0,77,37,0,89,18,0,92,38,0,255,30,0,90,36,0,10,26,0,84,34,0,70,21,0,223,33,0,135,25,0,125,31,0,220,12,0,74,36,0,41,23,0,53,34,0,161,10,0,215,29,0,92,8,0,190,27,0,113,12,0,31,30,0,213,8,0,65,31,0,108,12,0,156,29,0,10,9,0,174,26,0,157,2,0,177,23, +0,143,4,0,176,21,0,121,251,255,220,22,0,139,5,0,190,21,0,94,1,0,66,24,0,192,7,0,188,12,0,252,252,255,123,24,0,36,0,0,35,22,0,142,0,0,229,9,0,165,251,255,236,19,0,156,255,255,215,14,0,93,253,255,77,19,0,104,3,0,171,10,0,87,248,255,143,16,0,1,254,255,57, +19,0,136,254,255,89,13,0,39,249,255,22,18,0,10,251,255,177,18,0,189,252,255,252,10,0,78,249,255,224,14,0,93,253,255,67,5,0,165,251,255,78,10,0,49,247,255,98,12,0,125,237,255,19,8,0,34,238,255,232,13,0,43,235,255,223,14,0,159,236,255,120,6,0,9,232,255, +106,4,0,34,235,255,203,11,0,116,233,255,226,1,0,136,227,255,255,4,0,92,231,255,28,251,255,39,232,255,9,250,255,214,229,255,86,2,0,224,235,255,236,245,255,6,228,255,135,248,255,214,227,255,29,244,255,118,224,255,246,243,255,216,220,255,232,236,255,61, +220,255,77,239,255,4,219,255,49,231,255,236,216,255,122,229,255,6,205,255,7,223,255,166,204,255,230,220,255,220,201,255,132,230,255,196,208,255,144,220,255,143,205,255,251,214,255,48,200,255,247,215,255,0,202,255,140,221,255,170,202,255,156,213,255,60, +199,255,161,217,255,3,197,255,196,215,255,42,197,255,37,212,255,90,203,255,212,211,255,129,201,255,81,217,255,183,203,255,61,222,255,183,204,255,215,223,255,231,206,255,197,218,255,219,200,255,66,225,255,54,206,255,99,228,255,30,207,255,186,229,255,160, +212,255,220,230,255,106,216,255,175,233,255,214,211,255,176,231,255,2,212,255,14,240,255,132,214,255,98,236,255,193,220,255,239,233,255,254,214,255,88,238,255,29,222,255,127,238,255,54,221,255,226,244,255,221,225,255,74,237,255,223,223,255,36,238,255, +243,222,255,255,233,255,91,218,255,239,238,255,119,220,255,31,228,255,50,213,255,129,237,255,144,220,255,59,231,255,190,214,255,214,230,255,140,210,255,58,225,255,54,208,255,100,228,255,35,201,255,220,221,255,196,199,255,30,225,255,0,205,255,115,221, +255,12,193,255,206,214,255,81,192,255,160,218,255,21,189,255,99,216,255,96,185,255,167,208,255,23,188,255,110,207,255,184,177,255,135,208,255,56,175,255,79,206,255,223,172,255,58,201,255,122,173,255,169,202,255,191,172,255,7,208,255,169,178,255,24,205, +255,112,170,255,62,206,255,38,175,255,149,207,255,229,172,255,186,210,255,148,164,255,90,210,255,197,172,255,150,208,255,127,183,255,233,207,255,178,181,255,40,208,255,163,183,255,221,205,255,224,179,255,53,211,255,202,183,255,222,205,255,32,187,255, +74,210,255,254,187,255,198,213,255,194,196,255,0,208,255,153,194,255,15,208,255,88,193,255,24,209,255,57,196,255,170,214,255,237,194,255,200,224,255,174,201,255,223,215,255,14,203,255,117,215,255,222,197,255,225,219,255,181,195,255,199,221,255,66,201, +255,40,217,255,24,195,255,45,222,255,49,200,255,160,218,255,55,189,255,34,219,255,13,189,255,80,212,255,117,191,255,3,217,255,61,190,255,219,219,255,1,198,255,237,210,255,236,190,255,168,217,255,191,188,255,59,216,255,31,190,255,98,221,255,52,188,255, +198,218,255,170,191,255,232,218,255,254,190,255,80,221,255,68,198,255,67,220,255,63,204,255,59,214,255,57,192,255,224,209,255,209,194,255,255,216,255,125,201,255,165,224,255,218,209,255,44,216,255,30,205,255,143,210,255,89,205,255,35,221,255,66,209,255, +255,214,255,192,208,255,130,222,255,78,211,255,209,225,255,76,214,255,242,226,255,53,213,255,88,226,255,37,215,255,82,224,255,202,214,255,170,238,255,242,221,255,152,226,255,51,220,255,127,231,255,138,224,255,208,235,255,16,222,255,77,229,255,50,222, +255,144,237,255,252,226,255,163,237,255,17,233,255,120,237,255,152,222,255,91,245,255,46,230,255,189,243,255,57,229,255,100,242,255,4,229,255,167,246,255,245,229,255,79,250,255,211,233,255,108,254,255,161,231,255,62,3,0,229,227,255,235,245,255,57,230, +255,227,251,255,37,224,255,167,253,255,251,226,255,201,0,0,192,224,255,137,1,0,46,235,255,232,248,255,85,222,255,242,1,0,125,228,255,235,249,255,209,226,255,252,251,255,80,229,255,143,250,255,149,231,255,191,253,255,151,227,255,210,253,255,9,223,255, +5,249,255,122,228,255,162,247,255,104,233,255,68,249,255,24,226,255,41,4,0,86,233,255,163,3,0,58,236,255,255,2,0,141,235,255,142,254,255,237,244,255,161,1,0,96,236,255,108,1,0,196,240,255,29,5,0,183,251,255,144,8,0,177,240,255,87,5,0,34,248,255,5,11, +0,74,0,0,236,10,0,183,251,255,46,9,0,155,0,0,62,11,0,66,2,0,78,13,0,39,9,0,133,17,0,126,6,0,217,18,0,29,12,0,191,14,0,236,6,0,50,20,0,169,11,0,55,20,0,170,13,0,198,20,0,121,6,0,4,16,0,176,7,0,178,18,0,162,4,0,125,26,0,38,9,0,39,25,0,71,4,0,128,21,0,204, +2,0,171,21,0,71,4,0,227,22,0,41,253,255,242,16,0,183,254,255,28,15,0,144,1,0,27,21,0,164,246,255,13,18,0,182,252,255,124,10,0,54,249,255,92,14,0,225,242,255,247,18,0,25,244,255,234,12,0,178,232,255,250,14,0,16,239,255,78,16,0,93,239,255,54,16,0,18,238, +255,179,6,0,248,236,255,13,12,0,14,238,255,249,2,0,14,231,255,161,10,0,4,231,255,113,254,255,243,227,255,193,1,0,81,229,255,126,6,0,198,235,255,201,253,255,48,229,255,235,9,0,69,226,255,195,254,255,71,216,255,209,254,255,154,225,255,175,250,255,100,212, +255,163,251,255,216,216,255,163,251,255,137,211,255,197,244,255,10,210,255,247,239,255,204,207,255,136,237,255,43,213,255,168,236,255,60,214,255,110,236,255,216,215,255,245,240,255,197,209,255,133,241,255,176,212,255,17,231,255,236,213,255,65,235,255, +102,209,255,44,230,255,15,216,255,24,224,255,152,215,255,18,233,255,175,218,255,118,227,255,2,212,255,158,235,255,247,216,255,12,232,255,170,204,255,234,233,255,8,210,255,160,230,255,95,204,255,1,231,255,16,213,255,115,229,255,89,205,255,3,230,255,96, +214,255,78,231,255,97,214,255,215,224,255,198,194,255,191,226,255,26,210,255,153,230,255,61,202,255,155,227,255,216,203,255,29,230,255,255,203,255,133,225,255,160,203,255,178,234,255,60,203,255,148,219,255,245,202,255,24,219,255,197,212,255,24,221,255, +71,209,255,137,222,255,127,210,255,173,223,255,115,207,255,188,219,255,165,214,255,59,225,255,225,215,255,136,225,255,42,212,255,178,235,255,236,215,255,48,235,255,90,218,255,88,231,255,239,214,255,164,242,255,90,222,255,98,231,255,67,231,255,28,234, +255,64,225,255,132,240,255,182,231,255,221,248,255,222,243,255,146,244,255,83,238,255,45,246,255,236,238,255,68,248,255,53,244,255,244,252,255,75,241,255,212,246,255,86,244,255,110,252,255,207,249,255,116,250,255,119,246,255,227,4,0,172,253,255,80,7, +0,248,255,255,185,0,0,149,251,255,230,1,0,62,253,255,83,6,0,75,252,255,73,1,0,79,252,255,8,7,0,243,250,255,168,1,0,37,252,255,160,4,0,216,246,255,87,6,0,53,253,255,167,5,0,213,249,255,181,5,0,146,249,255,145,4,0,93,249,255,90,5,0,232,244,255,212,252, +255,117,244,255,214,251,255,217,241,255,53,254,255,66,247,255,87,252,255,112,241,255,215,254,255,201,245,255,183,4,0,61,249,255,168,1,0,6,253,255,120,1,0,89,249,255,95,251,255,205,247,255,164,4,0,204,254,255,86,254,255,254,245,255,150,4,0,137,246,255, +147,0,0,235,245,255,72,9,0,80,246,255,51,8,0,74,251,255,151,5,0,76,249,255,167,6,0,219,249,255,40,10,0,145,253,255,165,19,0,204,4,0,93,13,0,23,4,0,135,16,0,59,3,0,222,11,0,62,2,0,197,13,0,78,6,0,138,15,0,30,9,0,238,18,0,226,6,0,230,13,0,51,4,0,9,21,0, +143,11,0,241,20,0,0,11,0,164,17,0,213,19,0,184,24,0,184,13,0,196,16,0,90,8,0,137,15,0,58,18,0,133,22,0,29,15,0,137,22,0,254,16,0,186,20,0,202,19,0,98,22,0,38,18,0,78,15,0,111,13,0,98,25,0,207,7,0,216,18,0,252,5,0,69,19,0,76,9,0,68,15,0,23,8,0,78,15,0, +184,1,0,199,13,0,114,255,255,10,18,0,5,255,255,253,18,0,77,3,0,14,14,0,0,251,255,151,14,0,91,252,255,215,12,0,197,0,0,125,12,0,30,252,255,26,13,0,80,250,255,12,10,0,185,247,255,163,12,0,250,249,255,155,14,0,28,247,255,128,8,0,189,250,255,169,6,0,7,245, +255,172,9,0,57,247,255,141,7,0,230,248,255,26,10,0,246,246,255,134,1,0,53,251,255,142,16,0,75,254,255,132,8,0,237,250,255,32,8,0,19,251,255,44,2,0,177,251,255,236,3,0,229,255,255,121,7,0,8,1,0,225,6,0,47,2,0,235,2,0,165,6,0,169,255,255,12,5,0,101,2,0, +210,3,0,24,5,0,221,5,0,143,1,0,221,9,0,23,9,0,252,3,0,102,7,0,252,7,0,74,8,0,220,4,0,217,8,0,252,7,0,47,19,0,33,3,0,93,13,0,149,14,0,167,15,0,99,12,0,43,25,0,192,15,0,22,23,0,189,12,0,107,23,0,191,9,0,237,20,0,194,12,0,104,25,0,142,18,0,92,18,0,94,13, +0,94,26,0,36,12,0,129,18,0,79,17,0,181,17,0,142,8,0,234,23,0,97,16,0,86,18,0,142,19,0,131,21,0,76,9,0,80,22,0,116,12,0,140,21,0,246,13,0,143,13,0,195,9,0,111,21,0,52,9,0,185,18,0,152,9,0,107,10,0,235,1,0,54,16,0,166,4,0,118,12,0,142,3,0,223,13,0,47,253, +255,226,11,0,202,251,255,49,4,0,3,252,255,242,7,0,28,3,0,236,5,0,161,3,0,94,6,0,15,254,255,175,0,0,35,249,255,176,1,0,155,251,255,154,246,255,222,251,255,1,245,255,190,246,255,77,251,255,27,251,255,103,247,255,211,241,255,21,246,255,18,237,255,96,243, +255,56,237,255,109,241,255,144,233,255,117,238,255,216,241,255,88,237,255,42,235,255,243,243,255,117,233,255,87,243,255,144,239,255,115,242,255,87,239,255,50,236,255,53,237,255,220,242,255,121,239,255,181,240,255,88,231,255,90,238,255,81,234,255,56,245, +255,98,238,255,90,247,255,16,237,255,153,240,255,35,225,255,192,242,255,144,235,255,103,243,255,93,238,255,73,239,255,253,234,255,190,246,255,201,233,255,136,241,255,213,238,255,17,242,255,147,241,255,121,239,255,44,242,255,120,249,255,218,238,255,161, +245,255,186,240,255,69,239,255,69,244,255,208,243,255,92,243,255,75,240,255,125,243,255,225,248,255,4,248,255,242,242,255,91,238,255,248,246,255,160,247,255,100,244,255,154,240,255,220,247,255,231,245,255,242,241,255,174,243,255,205,243,255,166,250,255, +196,247,255,43,248,255,111,249,255,223,249,255,101,246,255,207,241,255,173,248,255,58,253,255,30,246,255,76,248,255,58,241,255,47,243,255,70,253,255,118,241,255,45,247,255,155,239,255,88,246,255,72,248,255,254,244,255,80,238,255,197,247,255,170,233,255, +31,246,255,109,237,255,69,245,255,166,238,255,27,246,255,232,238,255,56,252,255,199,237,255,36,242,255,47,227,255,70,243,255,48,234,255,84,241,255,195,235,255,65,238,255,63,236,255,189,237,255,191,232,255,222,233,255,196,233,255,75,240,255,101,233,255, +104,245,255,149,240,255,19,230,255,187,232,255,104,239,255,35,239,255,100,239,255,239,245,255,152,230,255,207,238,255,232,243,255,248,249,255,190,240,255,102,248,255,147,242,255,55,248,255,0,244,255,200,3,0,57,246,255,173,254,255,203,253,255,6,1,0,170, +254,255,21,252,255,66,254,255,96,3,0,151,251,255,1,5,0,13,2,0,184,13,0,36,3,0,193,15,0,131,3,0,55,15,0,72,15,0,202,14,0,185,14,0,111,19,0,231,19,0,33,25,0,103,22,0,120,20,0,137,15,0,180,24,0,242,12,0,104,23,0,172,25,0,112,28,0,63,25,0,14,24,0,253,22, +0,222,22,0,0,28,0,130,14,0,9,27,0,198,23,0,148,34,0,90,20,0,71,25,0,54,26,0,127,26,0,230,23,0,61,23,0,166,15,0,188,26,0,188,21,0,232,23,0,70,19,0,233,19,0,151,17,0,110,18,0,3,18,0,95,19,0,61,16,0,249,13,0,196,10,0,218,18,0,220,19,0,99,18,0,219,12,0,25, +4,0,7,8,0,8,12,0,243,10,0,197,11,0,92,8,0,77,5,0,32,14,0,242,7,0,31,7,0,210,4,0,28,12,0,146,8,0,14,12,0,170,8,0,91,9,0,212,8,0,234,7,0,209,6,0,219,8,0,198,16,0,122,12,0,88,10,0,140,5,0,139,3,0,193,12,0,66,7,0,103,12,0,131,9,0,6,16,0,89,8,0,76,16,0,32, +8,0,162,15,0,241,6,0,227,10,0,218,11,0,203,17,0,61,6,0,16,19,0,48,12,0,168,25,0,203,13,0,70,36,0,80,19,0,85,29,0,13,19,0,61,34,0,228,23,0,107,30,0,184,24,0,233,31,0,95,23,0,120,36,0,215,32,0,214,36,0,214,27,0,36,34,0,3,36,0,131,38,0,76,33,0,208,36,0, +235,29,0,57,30,0,146,28,0,217,30,0,183,28,0,147,29,0,103,33,0,220,21,0,81,25,0,183,19,0,190,30,0,58,27,0,38,25,0,131,19,0,193,26,0,47,18,0,211,16,0,105,16,0,219,23,0,199,16,0,59,17,0,211,18,0,11,7,0,32,8,0,196,11,0,234,14,0,151,255,255,22,13,0,182,6, +0,16,9,0,138,254,255,137,11,0,42,0,0,222,11,0,146,251,255,117,7,0,2,253,255,123,15,0,80,0,0,151,15,0,194,250,255,207,11,0,40,253,255,5,15,0,253,253,255,238,13,0,181,2,0,246,18,0,8,252,255,126,16,0,248,1,0,170,18,0,127,8,0,12,24,0,78,5,0,79,19,0,134,10, +0,204,21,0,44,6,0,64,20,0,13,8,0,58,24,0,246,11,0,73,23,0,84,12,0,139,19,0,202,12,0,139,23,0,95,10,0,27,14,0,19,11,0,211,14,0,143,13,0,165,20,0,121,12,0,170,9,0,229,12,0,183,6,0,192,15,0,17,6,0,48,10,0,235,9,0,179,7,0,219,252,255,32,7,0,52,250,255,57, +6,0,51,247,255,55,1,0,240,254,255,64,4,0,24,250,255,157,251,255,74,241,255,246,251,255,51,237,255,252,247,255,66,230,255,249,246,255,229,235,255,199,245,255,153,232,255,70,246,255,196,232,255,77,241,255,208,227,255,49,241,255,63,230,255,225,237,255,217, +228,255,2,241,255,36,226,255,176,235,255,71,225,255,143,245,255,91,234,255,112,237,255,128,225,255,216,234,255,126,230,255,220,232,255,104,229,255,251,236,255,167,228,255,163,226,255,204,226,255,231,234,255,96,232,255,2,230,255,69,225,255,159,232,255, +182,228,255,188,223,255,21,220,255,195,225,255,95,230,255,117,224,255,141,228,255,163,225,255,237,227,255,209,223,255,30,230,255,15,229,255,120,230,255,4,216,255,181,219,255,8,220,255,199,214,255,214,218,255,171,228,255,56,214,255,63,225,255,252,224, +255,19,229,255,189,214,255,63,223,255,44,219,255,21,223,255,199,228,255,159,225,255,235,210,255,113,222,255,176,220,255,72,227,255,201,222,255,181,229,255,32,227,255,153,229,255,233,223,255,198,225,255,148,228,255,153,222,255,132,227,255,167,230,255, +242,226,255,130,232,255,45,231,255,136,229,255,38,225,255,30,228,255,245,225,255,233,223,255,165,218,255,90,224,255,163,224,255,255,229,255,41,224,255,133,224,255,202,226,255,194,217,255,133,223,255,205,221,255,23,222,255,90,215,255,2,223,255,120,217, +255,226,217,255,26,215,255,147,224,255,214,210,255,244,220,255,155,219,255,7,205,255,57,207,255,169,216,255,124,209,255,67,213,255,94,203,255,101,215,255,36,204,255,20,209,255,141,206,255,201,210,255,210,205,255,5,210,255,111,205,255,228,207,255,70,205, +255,94,213,255,82,204,255,0,204,255,187,199,255,240,204,255,205,204,255,171,208,255,164,206,255,142,211,255,135,209,255,148,215,255,46,211,255,69,208,255,18,209,255,171,211,255,39,215,255,147,212,255,112,214,255,243,211,255,103,216,255,166,212,255,109, +224,255,214,214,255,130,219,255,13,218,255,150,221,255,58,213,255,132,223,255,2,217,255,252,230,255,19,216,255,172,226,255,3,217,255,169,230,255,90,212,255,140,222,255,56,225,255,155,232,255,134,224,255,103,226,255,56,217,255,254,230,255,177,220,255, +97,221,255,229,226,255,253,229,255,91,223,255,161,222,255,147,221,255,230,225,255,174,220,255,129,224,255,15,222,255,108,223,255,245,210,255,90,223,255,231,212,255,251,211,255,88,219,255,116,226,255,178,219,255,42,220,255,205,218,255,205,219,255,85,217, +255,95,218,255,98,216,255,52,228,255,140,220,255,203,218,255,6,223,255,34,226,255,202,220,255,55,227,255,112,222,255,102,229,255,94,220,255,197,225,255,75,224,255,140,229,255,63,216,255,104,225,255,221,217,255,102,224,255,104,215,255,167,230,255,202, +232,255,141,240,255,130,231,255,186,230,255,37,227,255,195,234,255,20,228,255,115,236,255,90,225,255,72,231,255,204,230,255,155,244,255,232,230,255,159,248,255,178,233,255,224,243,255,210,228,255,94,246,255,165,236,255,102,250,255,212,238,255,94,248, +255,192,240,255,31,252,255,45,234,255,255,244,255,239,242,255,69,247,255,149,244,255,183,248,255,187,244,255,104,253,255,114,240,255,15,253,255,51,249,255,197,253,255,0,242,255,162,249,255,109,242,255,40,249,255,63,240,255,102,252,255,164,239,255,15, +253,255,240,242,255,35,249,255,145,246,255,24,253,255,202,236,255,4,247,255,94,249,255,64,254,255,171,237,255,176,249,255,127,236,255,242,249,255,96,237,255,23,247,255,188,241,255,76,245,255,121,240,255,0,250,255,70,243,255,69,252,255,1,241,255,36,249, +255,21,236,255,105,251,255,98,245,255,186,254,255,190,247,255,119,3,0,68,244,255,91,3,0,112,251,255,114,3,0,201,245,255,229,4,0,144,253,255,96,3,0,172,253,255,58,6,0,153,247,255,141,255,255,144,0,0,97,10,0,132,254,255,137,17,0,182,253,255,192,8,0,38, +248,255,89,8,0,234,12,0,175,15,0,250,2,0,169,14,0,211,7,0,131,23,0,43,254,255,216,18,0,163,3,0,191,17,0,80,4,0,65,20,0,94,7,0,117,27,0,61,10,0,25,34,0,181,6,0,147,22,0,119,2,0,58,16,0,20,8,0,39,29,0,210,10,0,62,22,0,247,3,0,107,18,0,107,7,0,200,21,0, +198,8,0,32,21,0,245,15,0,109,23,0,87,9,0,241,14,0,113,8,0,125,15,0,62,5,0,148,11,0,158,3,0,198,7,0,246,6,0,248,6,0,140,4,0,171,11,0,163,4,0,146,3,0,211,5,0,77,253,255,218,255,255,101,1,0,117,4,0,92,1,0,94,1,0,146,0,0,196,0,0,145,255,255,137,254,255,30, +4,0,39,2,0,82,4,0,42,253,255,80,255,255,120,255,255,239,3,0,25,254,255,100,0,0,52,253,255,79,6,0,242,0,0,231,0,0,128,254,255,161,4,0,94,1,0,0,7,0,92,3,0,151,8,0,224,4,0,23,11,0,226,254,255,210,7,0,80,249,255,135,15,0,173,248,255,210,11,0,32,0,0,41,15, +0,186,0,0,16,18,0,50,255,255,130,15,0,45,255,255,128,14,0,171,4,0,222,23,0,68,3,0,252,16,0,80,1,0,6,18,0,99,11,0,56,21,0,57,7,0,155,23,0,170,7,0,73,15,0,219,0,0,39,10,0,6,7,0,47,18,0,114,3,0,117,13,0,41,14,0,177,18,0,72,8,0,225,9,0,188,12,0,218,12,0, +168,11,0,87,6,0,77,9,0,4,8,0,28,12,0,173,9,0,63,9,0,156,1,0,206,1,0,254,6,0,2,4,0,78,247,255,72,4,0,145,254,255,20,253,255,11,251,255,37,6,0,115,2,0,12,254,255,191,248,255,222,255,255,128,245,255,118,253,255,104,249,255,183,253,255,130,241,255,209,250, +255,126,242,255,192,246,255,158,241,255,232,249,255,173,241,255,247,250,255,186,240,255,207,246,255,229,247,255,19,244,255,144,246,255,42,250,255,232,245,255,53,253,255,61,247,255,168,251,255,37,253,255,88,241,255,38,248,255,73,248,255,46,253,255,239, +244,255,167,252,255,173,251,255,143,2,0,253,252,255,124,9,0,85,251,255,197,7,0,164,251,255,92,12,0,137,253,255,109,0,0,201,2,0,86,9,0,142,252,255,42,7,0,232,255,255,90,8,0,228,1,0,62,17,0,35,253,255,71,9,0,73,8,0,137,9,0,228,0,0,90,10,0,40,8,0,141,9, +0,116,0,0,42,7,0,114,6,0,94,8,0,136,3,0,95,11,0,248,5,0,101,3,0,60,255,255,140,254,255,52,5,0,186,6,0,29,6,0,85,0,0,55,1,0,79,252,255,186,2,0,34,255,255,84,3,0,126,239,255,15,6,0,223,249,255,15,249,255,85,242,255,92,253,255,233,237,255,246,1,0,110,244, +255,116,0,0,121,248,255,84,2,0,222,245,255,139,0,0,18,249,255,84,3,0,210,252,255,255,255,255,77,2,0,172,2,0,30,3,0,80,9,0,87,5,0,76,9,0,101,7,0,131,5,0,86,1,0,10,11,0,8,10,0,118,13,0,255,11,0,20,14,0,111,17,0,49,20,0,167,14,0,58,19,0,237,19,0,48,19,0, +93,24,0,44,23,0,177,28,0,19,18,0,97,23,0,49,29,0,200,31,0,243,25,0,228,29,0,155,27,0,213,25,0,29,30,0,250,29,0,108,27,0,40,28,0,238,26,0,7,27,0,116,23,0,95,20,0,125,19,0,7,22,0,116,25,0,169,20,0,222,25,0,76,21,0,3,21,0,67,15,0,27,17,0,173,15,0,63,21, +0,201,17,0,254,23,0,168,21,0,198,13,0,187,10,0,231,13,0,229,9,0,253,19,0,80,13,0,81,19,0,117,8,0,118,17,0,93,14,0,95,20,0,70,13,0,169,13,0,23,10,0,29,20,0,84,11,0,191,26,0,213,13,0,38,19,0,149,10,0,14,21,0,26,17,0,232,20,0,130,12,0,45,27,0,156,15,0,59, +25,0,24,26,0,227,20,0,155,17,0,13,18,0,179,15,0,127,26,0,44,16,0,95,23,0,77,15,0,175,19,0,234,17,0,76,23,0,243,18,0,79,27,0,18,22,0,89,23,0,102,22,0,194,29,0,108,30,0,76,20,0,85,28,0,75,22,0,226,36,0,217,27,0,231,33,0,58,28,0,208,32,0,199,24,0,161,33, +0,53,29,0,255,40,0,74,34,0,212,32,0,34,27,0,167,27,0,173,28,0,133,30,0,217,31,0,27,38,0,80,26,0,49,30,0,165,34,0,121,32,0,155,25,0,66,31,0,104,33,0,139,33,0,186,26,0,83,32,0,90,30,0,83,23,0,205,32,0,155,27,0,199,25,0,59,32,0,215,22,0,18,29,0,220,20,0, +94,25,0,138,33,0,212,22,0,227,24,0,109,24,0,159,21,0,22,21,0,3,24,0,204,18,0,121,28,0,164,22,0,105,24,0,167,10,0,95,24,0,147,13,0,191,12,0,183,14,0,206,10,0,152,11,0,103,11,0,231,4,0,57,17,0,13,10,0,105,14,0,49,5,0,131,10,0,136,0,0,112,11,0,96,254,255, +169,9,0,0,2,0,216,8,0,116,252,255,216,2,0,120,253,255,56,4,0,111,3,0,189,7,0,237,2,0,180,12,0,39,255,255,91,7,0,229,0,0,127,8,0,163,7,0,203,6,0,238,11,0,218,16,0,74,13,0,218,15,0,37,18,0,183,13,0,82,14,0,29,14,0,12,15,0,17,16,0,198,24,0,216,17,0,185, +23,0,172,19,0,154,26,0,91,21,0,145,31,0,178,27,0,234,29,0,111,29,0,114,28,0,114,21,0,42,31,0,150,31,0,27,31,0,188,25,0,207,27,0,182,26,0,29,24,0,64,23,0,191,28,0,158,17,0,234,27,0,70,26,0,67,27,0,191,16,0,52,19,0,165,23,0,251,23,0,14,17,0,128,21,0,70, +12,0,142,16,0,79,16,0,150,13,0,178,14,0,236,14,0,157,8,0,173,8,0,170,13,0,55,6,0,209,11,0,7,7,0,108,14,0,67,8,0,135,19,0,115,6,0,139,7,0,14,13,0,252,17,0,198,10,0,118,17,0,7,11,0,62,13,0,221,18,0,168,17,0,197,22,0,190,14,0,221,29,0,182,17,0,72,22,0,215, +20,0,60,24,0,242,24,0,194,27,0,207,26,0,119,28,0,134,25,0,101,31,0,159,27,0,151,35,0,103,30,0,51,40,0,142,36,0,27,37,0,244,32,0,1,35,0,108,29,0,19,39,0,127,46,0,29,38,0,37,37,0,251,38,0,135,39,0,207,36,0,91,34,0,243,33,0,159,38,0,153,34,0,226,39,0,143, +31,0,135,25,0,242,20,0,56,28,0,124,28,0,56,34,0,143,30,0,87,29,0,75,26,0,208,28,0,79,20,0,193,19,0,143,20,0,37,24,0,27,23,0,145,17,0,109,24,0,79,8,0,63,11,0,140,17,0,71,15,0,235,21,0,204,16,0,32,15,0,63,14,0,254,9,0,214,12,0,242,16,0,172,18,0,80,16,0, +17,14,0,23,14,0,223,12,0,132,18,0,7,14,0,239,15,0,135,9,0,252,18,0,131,14,0,142,17,0,113,14,0,223,21,0,91,16,0,57,21,0,144,17,0,6,15,0,110,21,0,160,25,0,121,17,0,238,28,0,37,20,0,250,26,0,219,16,0,191,31,0,31,23,0,18,26,0,220,23,0,87,29,0,237,24,0,145, +22,0,85,26,0,177,25,0,249,25,0,75,30,0,100,15,0,44,29,0,20,21,0,224,24,0,82,22,0,156,23,0,40,27,0,198,25,0,120,21,0,67,26,0,180,21,0,120,27,0,126,20,0,3,30,0,195,20,0,15,26,0,84,20,0,81,25,0,221,21,0,161,27,0,162,20,0,74,26,0,32,23,0,51,21,0,208,27,0, +248,17,0,188,23,0,51,21,0,169,28,0,148,26,0,30,30,0,81,29,0,104,30,0,48,31,0,138,34,0,32,30,0,250,35,0,246,29,0,112,39,0,109,35,0,72,43,0,114,39,0,125,44,0,86,41,0,154,43,0,157,33,0,150,47,0,55,42,0,192,53,0,53,45,0,156,48,0,236,39,0,217,54,0,144,41, +0,100,54,0,117,47,0,102,53,0,95,42,0,223,48,0,95,48,0,210,47,0,230,41,0,188,57,0,180,51,0,35,55,0,161,53,0,74,56,0,130,46,0,140,53,0,129,50,0,84,53,0,103,47,0,231,57,0,165,52,0,201,58,0,188,54,0,131,60,0,228,46,0,155,53,0,150,54,0,21,63,0,41,53,0,83, +62,0,211,57,0,163,55,0,136,59,0,19,63,0,216,50,0,129,65,0,124,66,0,239,71,0,58,58,0,127,67,0,48,66,0,152,72,0,112,64,0,1,73,0,210,63,0,76,76,0,145,69,0,75,76,0,245,67,0,125,80,0,233,70,0,221,80,0,98,72,0,148,77,0,212,78,0,171,77,0,70,79,0,71,76,0,77, +76,0,140,87,0,192,72,0,205,75,0,91,79,0,223,84,0,197,69,0,127,76,0,58,67,0,214,74,0,182,69,0,124,73,0,189,64,0,233,75,0,210,68,0,157,72,0,38,63,0,178,65,0,90,64,0,246,67,0,214,60,0,39,70,0,224,56,0,234,62,0,199,53,0,212,58,0,19,60,0,98,59,0,121,54,0, +63,56,0,253,49,0,226,55,0,202,49,0,56,58,0,191,46,0,132,64,0,156,47,0,137,60,0,96,50,0,110,56,0,148,51,0,44,60,0,226,46,0,110,59,0,52,47,0,173,61,0,205,48,0,134,60,0,62,48,0,225,60,0,152,45,0,84,59,0,106,55,0,47,59,0,4,50,0,113,63,0,74,46,0,125,52,0, +22,53,0,220,59,0,16,50,0,207,47,0,11,50,0,252,52,0,34,53,0,77,55,0,83,55,0,117,52,0,118,57,0,116,54,0,92,53,0,207,54,0,56,54,0,2,56,0,222,46,0,189,55,0,216,51,0,192,52,0,154,53,0,167,54,0,205,51,0,19,54,0,156,52,0,81,53,0,247,41,0,14,54,0,169,50,0,247, +51,0,156,42,0,234,49,0,89,41,0,242,46,0,23,40,0,200,43,0,64,37,0,106,45,0,203,38,0,210,41,0,163,45,0,139,40,0,186,37,0,200,38,0,31,35,0,107,41,0,9,39,0,206,43,0,156,33,0,177,39,0,151,39,0,82,41,0,98,35,0,92,29,0,156,31,0,218,31,0,51,32,0,146,35,0,47, +32,0,167,34,0,238,34,0,79,34,0,33,36,0,39,38,0,200,34,0,217,38,0,83,33,0,220,37,0,130,31,0,198,35,0,194,34,0,228,37,0,135,35,0,166,35,0,169,33,0,253,29,0,65,31,0,179,29,0,154,29,0,19,30,0,80,26,0,73,22,0,23,28,0,100,29,0,1,26,0,88,24,0,87,25,0,147,23, +0,37,22,0,145,22,0,114,18,0,29,21,0,76,20,0,230,13,0,247,18,0,252,13,0,13,22,0,66,15,0,11,17,0,130,15,0,33,20,0,209,19,0,214,10,0,193,14,0,8,11,0,132,17,0,130,17,0,40,17,0,250,10,0,48,20,0,160,12,0,13,18,0,73,12,0,197,14,0,204,7,0,195,9,0,90,11,0,110, +10,0,223,11,0,11,13,0,171,6,0,231,12,0,206,4,0,157,16,0,117,7,0,131,9,0,244,2,0,208,13,0,3,8,0,212,17,0,153,7,0,197,11,0,12,12,0,15,17,0,87,10,0,98,22,0,70,11,0,238,11,0,211,5,0,221,13,0,130,7,0,158,10,0,94,12,0,28,13,0,107,7,0,123,17,0,32,10,0,194,14, +0,2,8,0,17,16,0,7,9,0,82,13,0,84,13,0,104,17,0,186,13,0,113,17,0,243,11,0,140,16,0,216,12,0,214,17,0,226,8,0,191,17,0,82,16,0,78,20,0,176,13,0,223,17,0,232,9,0,77,19,0,217,19,0,107,17,0,50,12,0,179,20,0,138,13,0,189,22,0,253,13,0,0,21,0,24,14,0,53,25, +0,87,13,0,44,25,0,240,10,0,89,25,0,174,13,0,43,25,0,134,9,0,15,31,0,154,12,0,155,16,0,138,15,0,4,23,0,125,17,0,167,21,0,238,14,0,168,15,0,59,8,0,245,21,0,232,6,0,114,11,0,139,10,0,176,22,0,32,9,0,166,13,0,98,12,0,255,10,0,90,5,0,254,16,0,106,2,0,74,14, +0,253,3,0,95,11,0,30,254,255,96,12,0,198,251,255,220,13,0,27,249,255,173,4,0,14,249,255,197,5,0,191,246,255,94,1,0,90,246,255,146,5,0,236,245,255,25,1,0,113,246,255,157,255,255,172,243,255,162,0,0,114,238,255,193,254,255,152,239,255,250,1,0,157,239,255, +216,255,255,75,230,255,18,252,255,18,237,255,85,1,0,163,243,255,159,249,255,203,238,255,132,251,255,210,244,255,151,241,255,143,236,255,156,241,255,44,242,255,197,253,255,25,238,255,160,250,255,52,235,255,154,246,255,74,234,255,62,245,255,203,234,255, +241,247,255,75,235,255,149,243,255,21,238,255,249,243,255,135,235,255,62,244,255,80,231,255,108,244,255,217,233,255,52,239,255,208,232,255,143,236,255,63,238,255,26,243,255,22,236,255,75,236,255,57,226,255,96,247,255,195,229,255,35,239,255,137,236,255, +63,243,255,246,228,255,232,242,255,224,232,255,242,245,255,0,230,255,201,244,255,138,233,255,169,242,255,0,228,255,96,246,255,33,228,255,46,248,255,46,220,255,189,255,255,38,236,255,184,248,255,148,231,255,38,249,255,66,229,255,61,255,255,181,228,255, +166,252,255,185,226,255,102,253,255,58,225,255,116,250,255,190,225,255,207,0,0,237,230,255,79,3,0,27,225,255,226,0,0,64,228,255,175,248,255,192,233,255,98,252,255,19,229,255,52,247,255,1,230,255,75,247,255,38,230,255,52,246,255,124,233,255,167,245,255, +120,231,255,89,246,255,116,229,255,186,244,255,207,237,255,104,243,255,58,223,255,241,238,255,191,222,255,55,233,255,163,231,255,136,245,255,250,233,255,214,240,255,208,233,255,9,240,255,103,236,255,15,236,255,255,232,255,38,235,255,127,233,255,220,240, +255,255,233,255,174,240,255,13,236,255,168,247,255,30,241,255,145,250,255,53,240,255,39,250,255,149,241,255,48,253,255,73,237,255,185,252,255,251,238,255,77,248,255,158,243,255,247,4,0,242,237,255,239,241,255,41,240,255,133,245,255,229,238,255,92,246, +255,227,231,255,93,244,255,208,235,255,8,238,255,150,232,255,171,243,255,54,231,255,183,235,255,157,226,255,138,235,255,255,222,255,154,230,255,148,218,255,150,219,255,199,217,255,7,223,255,203,219,255,20,224,255,156,212,255,16,215,255,115,214,255,186, +213,255,176,212,255,138,209,255,46,207,255,248,201,255,53,204,255,163,208,255,182,203,255,44,200,255,15,200,255,21,202,255,82,205,255,247,199,255,2,192,255,194,189,255,165,196,255,121,198,255,247,199,255,249,191,255,26,195,255,141,198,255,232,187,255, +181,192,255,150,188,255,57,195,255,1,188,255,177,194,255,145,184,255,149,196,255,78,184,255,178,195,255,232,186,255,32,203,255,75,191,255,73,204,255,105,188,255,169,198,255,169,189,255,190,208,255,222,193,255,76,203,255,214,186,255,161,211,255,156,197, +255,56,207,255,11,191,255,250,210,255,158,196,255,160,209,255,143,199,255,40,212,255,243,201,255,61,215,255,102,195,255,240,214,255,138,197,255,237,218,255,177,200,255,119,218,255,77,201,255,89,222,255,174,205,255,178,225,255,173,201,255,125,223,255, +99,204,255,117,223,255,160,202,255,6,220,255,91,204,255,43,214,255,5,204,255,35,218,255,25,193,255,95,209,255,134,198,255,209,214,255,155,197,255,223,204,255,65,191,255,72,205,255,156,192,255,218,196,255,255,189,255,23,201,255,215,189,255,97,201,255, +77,182,255,84,196,255,51,182,255,75,192,255,58,184,255,1,198,255,203,182,255,221,193,255,110,184,255,203,185,255,75,180,255,44,194,255,92,182,255,131,190,255,93,177,255,126,191,255,149,185,255,142,194,255,135,186,255,46,199,255,145,186,255,194,194,255, +154,179,255,232,201,255,212,193,255,149,206,255,230,182,255,72,211,255,145,189,255,129,209,255,159,190,255,41,218,255,101,193,255,148,221,255,223,198,255,127,223,255,48,197,255,89,225,255,111,205,255,225,230,255,54,208,255,192,223,255,32,211,255,62,233, +255,1,207,255,152,227,255,2,218,255,141,236,255,245,213,255,199,233,255,99,221,255,10,232,255,211,219,255,54,233,255,156,223,255,17,234,255,166,219,255,248,228,255,240,219,255,89,238,255,4,215,255,131,234,255,139,220,255,12,238,255,252,221,255,196,237, +255,2,218,255,216,229,255,53,221,255,150,231,255,144,221,255,115,237,255,209,220,255,98,236,255,32,217,255,80,233,255,52,213,255,112,233,255,219,214,255,99,242,255,137,212,255,129,234,255,119,209,255,248,231,255,0,216,255,80,240,255,32,210,255,91,239, +255,149,214,255,238,238,255,151,210,255,146,236,255,225,213,255,79,238,255,240,215,255,43,241,255,81,212,255,178,233,255,255,218,255,15,242,255,126,222,255,109,243,255,178,218,255,37,242,255,146,221,255,151,242,255,50,222,255,63,241,255,61,224,255,96, +248,255,32,225,255,237,251,255,47,230,255,142,248,255,129,230,255,42,251,255,134,230,255,156,253,255,184,230,255,105,251,255,41,229,255,31,255,255,151,231,255,189,253,255,0,237,255,236,1,0,94,233,255,31,255,255,202,236,255,237,254,255,228,242,255,246, +254,255,3,241,255,177,254,255,207,244,255,249,6,0,4,241,255,111,253,255,114,238,255,153,4,0,254,238,255,142,0,0,17,244,255,72,6,0,103,239,255,223,10,0,124,238,255,136,1,0,184,240,255,88,2,0,107,242,255,17,11,0,6,233,255,249,8,0,173,241,255,193,16,0,192, +236,255,16,16,0,172,244,255,165,14,0,177,244,255,202,11,0,110,241,255,71,11,0,215,241,255,99,13,0,143,245,255,101,14,0,44,245,255,215,25,0,65,241,255,84,20,0,165,248,255,180,15,0,94,247,255,85,19,0,99,245,255,241,16,0,175,250,255,40,21,0,108,243,255, +218,18,0,119,253,255,81,23,0,179,248,255,168,20,0,138,244,255,181,27,0,55,247,255,69,24,0,91,249,255,58,29,0,241,251,255,146,30,0,186,4,0,62,29,0,58,254,255,122,24,0,46,249,255,178,21,0,108,0,0,52,33,0,119,255,255,196,23,0,200,249,255,180,24,0,228,251, +255,175,16,0,126,4,0,9,31,0,78,253,255,131,23,0,147,3,0,20,26,0,203,254,255,119,26,0,110,5,0,160,36,0,212,2,0,166,29,0,124,1,0,252,21,0,200,7,0,227,22,0,69,253,255,91,16,0,232,255,255,163,18,0,42,255,255,150,16,0,115,251,255,231,16,0,202,4,0,31,24,0, +184,245,255,35,7,0,99,2,0,127,23,0,31,254,255,232,15,0,88,255,255,42,19,0,136,250,255,94,5,0,23,250,255,113,12,0,226,252,255,73,6,0,108,254,255,41,6,0,199,5,0,234,12,0,51,248,255,126,10,0,7,251,255,87,13,0,167,254,255,11,23,0,116,2,0,114,20,0,89,251, +255,254,22,0,70,255,255,118,27,0,129,4,0,117,29,0,19,8,0,146,30,0,118,3,0,63,34,0,200,10,0,230,39,0,193,9,0,203,37,0,114,13,0,147,41,0,183,16,0,254,40,0,34,9,0,235,47,0,49,12,0,139,42,0,42,23,0,166,45,0,229,19,0,51,44,0,229,12,0,17,43,0,86,13,0,99,36, +0,102,17,0,69,40,0,82,8,0,122,37,0,160,14,0,221,32,0,186,11,0,71,34,0,205,9,0,86,35,0,81,16,0,151,26,0,85,0,0,183,24,0,236,4,0,39,22,0,144,0,0,228,19,0,25,2,0,249,23,0,82,1,0,62,17,0,69,249,255,37,16,0,66,250,255,244,13,0,117,248,255,137,11,0,214,249, +255,233,3,0,198,248,255,7,12,0,225,242,255,18,13,0,129,244,255,174,12,0,158,242,255,175,15,0,171,242,255,34,12,0,232,240,255,146,6,0,243,244,255,249,11,0,113,248,255,85,19,0,245,245,255,160,18,0,157,244,255,183,18,0,31,241,255,115,15,0,76,247,255,146, +18,0,211,253,255,69,21,0,154,251,255,97,19,0,46,251,255,179,23,0,100,4,0,141,28,0,111,255,255,18,27,0,245,254,255,18,31,0,29,2,0,51,32,0,152,9,0,59,38,0,203,7,0,112,31,0,173,5,0,127,42,0,8,7,0,24,40,0,105,8,0,213,40,0,254,15,0,11,41,0,218,12,0,68,40, +0,174,20,0,101,38,0,111,17,0,26,36,0,145,19,0,37,38,0,145,15,0,193,33,0,19,19,0,15,32,0,1,16,0,207,38,0,196,13,0,241,26,0,143,18,0,136,25,0,178,10,0,92,26,0,226,12,0,65,19,0,179,7,0,181,18,0,202,11,0,246,12,0,254,6,0,86,14,0,196,255,255,157,10,0,131, +249,255,6,4,0,154,253,255,216,6,0,129,251,255,116,253,255,170,247,255,157,2,0,2,246,255,148,2,0,214,245,255,193,253,255,95,244,255,245,252,255,176,244,255,241,0,0,200,232,255,70,252,255,46,236,255,100,247,255,243,234,255,93,249,255,45,239,255,17,253, +255,125,233,255,43,252,255,250,240,255,245,251,255,10,235,255,205,252,255,43,236,255,34,248,255,16,241,255,73,255,255,71,241,255,137,246,255,110,239,255,32,250,255,75,241,255,52,1,0,185,237,255,177,250,255,26,246,255,130,3,0,67,241,255,148,253,255,125, +240,255,232,0,0,252,241,255,91,250,255,218,237,255,197,252,255,150,242,255,199,5,0,176,240,255,28,0,0,123,242,255,59,4,0,21,249,255,252,253,255,85,239,255,210,1,0,24,241,255,122,5,0,103,245,255,171,10,0,187,236,255,21,2,0,71,232,255,179,3,0,248,239,255, +26,3,0,145,240,255,167,5,0,39,242,255,186,7,0,132,239,255,35,9,0,229,242,255,181,13,0,44,242,255,253,13,0,127,244,255,77,20,0,20,246,255,122,12,0,246,248,255,136,14,0,165,248,255,115,17,0,28,244,255,251,18,0,243,249,255,85,19,0,23,251,255,231,16,0,208, +251,255,194,14,0,196,254,255,242,20,0,139,248,255,72,13,0,154,251,255,204,17,0,165,255,255,7,19,0,250,255,255,158,17,0,37,5,0,68,25,0,160,253,255,41,16,0,202,1,0,23,18,0,155,7,0,91,19,0,174,254,255,222,11,0,46,4,0,41,20,0,171,2,0,17,17,0,119,8,0,208, +22,0,46,6,0,226,21,0,181,6,0,23,21,0,209,9,0,237,29,0,134,255,255,163,23,0,55,6,0,255,30,0,96,7,0,23,24,0,40,0,0,80,22,0,249,7,0,13,24,0,69,8,0,8,23,0,62,1,0,89,24,0,65,11,0,178,21,0,239,6,0,128,20,0,14,6,0,160,24,0,77,6,0,110,19,0,216,7,0,229,15,0,224, +2,0,137,23,0,186,11,0,180,19,0,22,4,0,27,18,0,121,2,0,125,11,0,210,0,0,170,13,0,247,5,0,67,18,0,27,9,0,94,20,0,84,255,255,67,16,0,169,253,255,214,13,0,31,0,0,80,17,0,85,3,0,191,12,0,35,4,0,173,16,0,93,255,255,237,22,0,94,0,0,245,21,0,201,255,255,240, +20,0,111,252,255,6,21,0,17,5,0,51,27,0,143,249,255,127,19,0,179,2,0,1,32,0,197,253,255,203,30,0,242,2,0,234,33,0,58,254,255,45,37,0,129,4,0,197,32,0,98,2,0,79,42,0,89,2,0,30,31,0,62,1,0,8,30,0,120,6,0,34,30,0,52,11,0,213,32,0,93,3,0,78,34,0,22,0,0,213, +29,0,174,5,0,218,26,0,101,8,0,171,30,0,6,11,0,225,28,0,159,6,0,95,28,0,204,7,0,228,33,0,137,5,0,189,25,0,106,4,0,40,26,0,37,10,0,157,26,0,247,15,0,188,27,0,114,8,0,158,21,0,248,7,0,98,25,0,34,3,0,227,26,0,101,6,0,44,23,0,125,13,0,53,22,0,168,6,0,75,22, +0,73,9,0,154,15,0,233,10,0,4,19,0,162,9,0,81,17,0,246,13,0,98,18,0,68,7,0,240,20,0,9,253,255,40,16,0,203,6,0,155,19,0,111,2,0,194,11,0,112,8,0,129,16,0,225,6,0,100,20,0,108,253,255,95,12,0,248,251,255,205,16,0,76,255,255,168,9,0,195,2,0,136,9,0,61,250, +255,20,9,0,226,251,255,166,2,0,181,251,255,124,5,0,19,253,255,152,3,0,123,243,255,122,1,0,90,246,255,93,4,0,2,243,255,241,5,0,199,236,255,250,5,0,46,238,255,241,5,0,239,245,255,228,4,0,94,241,255,77,1,0,208,238,255,230,0,0,210,248,255,227,5,0,114,239, +255,198,8,0,155,238,255,111,10,0,114,246,255,140,14,0,100,240,255,21,11,0,164,238,255,79,5,0,203,246,255,58,15,0,68,247,255,180,13,0,194,253,255,178,15,0,73,247,255,40,14,0,127,252,255,124,9,0,138,250,255,214,20,0,141,252,255,189,12,0,234,3,0,210,19, +0,1,254,255,108,17,0,96,252,255,179,13,0,160,1,0,192,18,0,212,8,0,142,24,0,175,14,0,142,24,0,238,8,0,123,25,0,142,11,0,7,24,0,102,10,0,187,22,0,35,14,0,182,28,0,44,14,0,137,23,0,84,10,0,193,20,0,158,16,0,23,29,0,207,12,0,12,26,0,102,14,0,56,22,0,202, +12,0,112,28,0,51,11,0,88,21,0,82,15,0,37,22,0,55,15,0,230,17,0,197,12,0,246,19,0,65,10,0,41,18,0,44,8,0,247,21,0,183,8,0,39,23,0,128,9,0,46,21,0,126,7,0,13,14,0,244,5,0,252,16,0,66,12,0,245,22,0,164,8,0,230,23,0,171,6,0,154,19,0,70,8,0,130,20,0,221,13, +0,76,24,0,91,6,0,226,18,0,170,14,0,84,21,0,208,16,0,70,21,0,192,14,0,26,20,0,101,15,0,186,28,0,169,11,0,208,28,0,232,21,0,225,28,0,164,18,0,71,23,0,128,18,0,121,29,0,207,19,0,135,32,0,2,18,0,225,24,0,34,21,0,249,26,0,67,16,0,156,25,0,46,25,0,66,22,0, +233,22,0,220,27,0,138,19,0,179,17,0,187,26,0,135,26,0,115,26,0,76,27,0,161,28,0,1,26,0,69,26,0,20,25,0,57,19,0,39,27,0,183,21,0,91,25,0,10,17,0,16,24,0,50,17,0,168,33,0,45,20,0,60,27,0,146,15,0,232,25,0,127,22,0,83,29,0,127,22,0,63,33,0,196,14,0,206, +30,0,136,10,0,24,29,0,149,16,0,14,38,0,28,7,0,237,18,0,43,12,0,3,27,0,7,9,0,43,19,0,148,10,0,255,20,0,67,8,0,0,20,0,165,8,0,97,21,0,216,9,0,128,13,0,89,8,0,209,23,0,200,5,0,50,19,0,132,6,0,83,13,0,205,5,0,84,12,0,108,12,0,212,15,0,131,4,0,250,14,0,17, +5,0,65,20,0,19,9,0,146,17,0,117,14,0,249,9,0,203,11,0,103,16,0,242,19,0,82,15,0,80,7,0,219,3,0,109,16,0,106,14,0,245,17,0,11,22,0,100,13,0,202,17,0,229,11,0,1,10,0,28,11,0,187,13,0,132,10,0,42,12,0,138,19,0,55,17,0,100,13,0,239,9,0,25,10,0,110,18,0,57, +14,0,18,15,0,146,12,0,75,20,0,196,11,0,105,23,0,63,11,0,91,23,0,4,9,0,178,24,0,211,1,0,212,22,0,53,9,0,150,22,0,233,10,0,173,26,0,211,3,0,222,17,0,82,3,0,34,26,0,97,9,0,53,23,0,171,1,0,241,16,0,196,6,0,48,21,0,100,1,0,53,16,0,96,7,0,12,21,0,185,7,0,78, +21,0,30,13,0,140,19,0,88,0,0,42,21,0,178,6,0,14,15,0,202,5,0,192,13,0,84,2,0,225,16,0,122,3,0,251,2,0,206,5,0,134,15,0,186,4,0,76,13,0,51,5,0,80,15,0,19,249,255,233,6,0,173,2,0,48,13,0,42,3,0,37,16,0,119,4,0,102,11,0,86,7,0,15,10,0,84,2,0,88,9,0,31,0, +0,201,10,0,33,253,255,148,6,0,219,1,0,43,13,0,250,5,0,7,15,0,64,1,0,127,11,0,199,2,0,187,16,0,96,8,0,139,21,0,182,254,255,73,15,0,194,4,0,108,19,0,255,255,255,100,24,0,220,6,0,180,20,0,77,3,0,186,25,0,188,3,0,88,23,0,191,7,0,209,19,0,134,5,0,83,25,0, +80,7,0,110,19,0,157,10,0,245,24,0,39,9,0,198,21,0,141,11,0,171,30,0,164,5,0,154,21,0,107,12,0,65,28,0,168,7,0,229,19,0,223,10,0,174,18,0,204,5,0,182,13,0,248,12,0,205,21,0,221,9,0,236,14,0,73,6,0,172,15,0,37,16,0,246,12,0,156,13,0,102,21,0,217,10,0,245, +14,0,25,12,0,120,14,0,155,15,0,139,17,0,131,9,0,171,15,0,244,10,0,62,14,0,233,7,0,151,17,0,40,11,0,143,20,0,173,13,0,180,16,0,159,10,0,186,27,0,186,13,0,213,17,0,78,10,0,164,20,0,106,16,0,35,17,0,120,14,0,216,22,0,69,15,0,102,23,0,31,14,0,123,28,0,72, +12,0,108,24,0,204,11,0,177,26,0,246,13,0,179,25,0,252,8,0,149,20,0,220,5,0,8,18,0,147,9,0,145,18,0,80,6,0,53,19,0,44,9,0,168,13,0,229,11,0,116,14,0,137,3,0,233,9,0,71,6,0,228,0,0,75,0,0,92,1,0,196,248,255,235,2,0,48,250,255,83,251,255,177,250,255,200, +249,255,144,249,255,24,250,255,80,250,255,253,249,255,111,244,255,46,247,255,173,241,255,60,244,255,196,248,255,212,245,255,181,240,255,225,238,255,7,239,255,74,241,255,82,242,255,85,246,255,203,233,255,241,236,255,110,236,255,54,242,255,43,239,255,114, +244,255,95,238,255,112,239,255,157,234,255,243,237,255,91,231,255,223,235,255,202,234,255,3,240,255,101,235,255,157,246,255,197,237,255,194,243,255,16,241,255,116,248,255,9,242,255,231,237,255,200,243,255,224,242,255,41,239,255,247,239,255,14,242,255, +194,242,255,136,241,255,134,244,255,209,234,255,182,236,255,185,240,255,167,238,255,1,238,255,85,240,255,134,242,255,240,243,255,208,237,255,64,244,255,59,242,255,247,241,255,32,245,255,154,246,255,39,240,255,75,242,255,241,242,255,188,240,255,23,236, +255,160,242,255,159,244,255,2,248,255,45,240,255,248,242,255,96,242,255,44,245,255,10,240,255,61,245,255,5,240,255,14,246,255,197,246,255,184,243,255,200,239,255,106,250,255,246,250,255,172,254,255,4,252,255,120,246,255,173,248,255,44,254,255,240,248, +255,96,253,255,195,247,255,87,253,255,142,252,255,77,0,0,209,253,255,74,2,0,175,255,255,242,2,0,239,252,255,229,252,255,233,255,255,58,4,0,125,253,255,179,1,0,34,4,0,130,5,0,75,1,0,57,3,0,111,1,0,250,12,0,2,9,0,13,9,0,175,255,255,89,5,0,131,5,0,226,4, +0,118,5,0,42,7,0,126,4,0,154,15,0,185,0,0,224,8,0,127,0,0,200,6,0,217,2,0,17,9,0,221,1,0,129,6,0,214,4,0,27,5,0,160,3,0,16,16,0,67,3,0,110,11,0,50,3,0,52,9,0,110,1,0,10,7,0,93,2,0,195,5,0,56,255,255,242,9,0,221,1,0,97,4,0,10,4,0,175,9,0,60,254,255,230, +5,0,134,3,0,214,9,0,23,3,0,203,6,0,181,2,0,107,7,0,213,2,0,69,11,0,167,9,0,158,12,0,212,10,0,126,10,0,49,12,0,96,13,0,226,12,0,233,13,0,153,7,0,48,14,0,125,14,0,85,18,0,79,10,0,132,15,0,202,9,0,149,14,0,77,17,0,133,9,0,175,10,0,233,14,0,40,14,0,70,6, +0,137,15,0,192,12,0,17,14,0,1,11,0,33,10,0,33,2,0,77,8,0,94,12,0,63,6,0,51,4,0,99,249,255,14,253,255,254,253,255,253,255,255,130,249,255,113,2,0,209,249,255,76,254,255,85,244,255,235,254,255,107,247,255,24,0,0,94,246,255,92,246,255,45,245,255,17,245, +255,86,247,255,27,249,255,72,246,255,9,248,255,228,251,255,128,250,255,117,251,255,172,249,255,224,252,255,1,252,255,185,1,0,24,0,0,149,255,255,103,254,255,56,248,255,204,249,255,167,253,255,32,253,255,65,250,255,23,252,255,52,0,0,200,253,255,105,1,0, +107,255,255,4,11,0,112,9,0,198,4,0,147,8,0,220,3,0,15,5,0,92,0,0,37,5,0,88,3,0,108,3,0,70,3,0,173,4,0,189,6,0,55,4,0,211,253,255,169,3,0,35,254,255,195,3,0,52,1,0,37,0,0,211,0,0,226,4,0,198,253,255,208,6,0,66,252,255,50,3,0,145,251,255,249,1,0,234,246, +255,82,250,255,119,253,255,139,249,255,45,248,255,201,253,255,213,241,255,113,249,255,254,239,255,135,245,255,139,238,255,176,244,255,109,237,255,255,245,255,16,236,255,136,246,255,57,233,255,124,241,255,26,237,255,175,247,255,57,234,255,101,244,255, +22,235,255,177,245,255,89,232,255,182,242,255,123,237,255,120,242,255,93,236,255,238,247,255,232,229,255,122,251,255,232,232,255,122,250,255,60,233,255,100,251,255,18,240,255,122,252,255,25,232,255,83,249,255,230,239,255,13,248,255,224,231,255,60,242, +255,118,232,255,136,249,255,70,233,255,10,245,255,127,234,255,36,246,255,20,238,255,154,240,255,20,240,255,180,241,255,108,239,255,134,235,255,113,239,255,115,239,255,211,237,255,245,235,255,83,237,255,252,229,255,112,242,255,157,235,255,224,239,255, +213,231,255,72,234,255,94,230,255,55,242,255,175,229,255,164,229,255,184,221,255,208,237,255,160,233,255,255,233,255,180,221,255,93,238,255,81,225,255,203,232,255,75,221,255,24,230,255,47,225,255,181,226,255,235,220,255,114,234,255,229,223,255,180,228, +255,185,224,255,180,228,255,255,218,255,117,231,255,40,231,255,31,228,255,162,234,255,173,227,255,25,235,255,170,233,255,37,237,255,112,235,255,59,244,255,38,234,255,238,234,255,153,244,255,253,238,255,201,245,255,60,243,255,68,241,255,184,248,255,116, +241,255,228,248,255,223,245,255,130,249,255,8,245,255,183,249,255,147,247,255,116,245,255,119,249,255,112,250,255,18,255,255,220,253,255,121,252,255,78,249,255,204,243,255,20,245,255,37,248,255,212,247,255,219,251,255,10,242,255,245,246,255,157,245,255, +195,249,255,197,244,255,132,246,255,57,244,255,234,240,255,0,243,255,121,248,255,216,243,255,99,244,255,64,241,255,149,238,255,6,238,255,122,243,255,213,233,255,22,238,255,147,233,255,241,234,255,181,231,255,225,233,255,186,231,255,247,233,255,49,227, +255,47,236,255,240,226,255,113,223,255,55,222,255,126,228,255,230,224,255,220,227,255,91,226,255,89,226,255,185,217,255,188,224,255,12,219,255,133,223,255,30,219,255,49,228,255,98,221,255,136,221,255,184,216,255,207,221,255,198,219,255,212,224,255,240, +221,255,53,222,255,178,215,255,147,224,255,138,223,255,37,221,255,38,215,255,197,223,255,7,219,255,231,225,255,27,218,255,252,222,255,245,216,255,95,222,255,204,221,255,111,220,255,24,214,255,170,229,255,140,220,255,154,221,255,63,215,255,113,226,255, +224,217,255,42,227,255,244,219,255,65,223,255,143,216,255,65,227,255,145,221,255,9,223,255,75,221,255,60,231,255,63,221,255,232,227,255,126,220,255,123,233,255,232,226,255,11,226,255,215,229,255,197,228,255,164,228,255,108,235,255,47,227,255,112,236, +255,101,230,255,220,234,255,249,234,255,51,230,255,211,233,255,235,233,255,249,234,255,187,236,255,157,234,255,83,238,255,40,239,255,67,240,255,120,239,255,187,242,255,79,240,255,34,242,255,17,240,255,238,238,255,11,244,255,218,237,255,224,243,255,206, +236,255,104,241,255,222,240,255,193,246,255,226,243,255,102,245,255,21,240,255,115,248,255,201,245,255,17,244,255,109,245,255,174,250,255,195,246,255,84,251,255,197,245,255,205,247,255,80,242,255,208,0,0,99,249,255,168,0,0,43,251,255,8,255,255,46,247, +255,1,254,255,230,252,255,86,250,255,247,1,0,241,1,0,38,8,0,73,2,0,204,254,255,156,2,0,187,5,0,144,6,0,106,4,0,203,5,0,10,6,0,184,8,0,95,5,0,148,4,0,49,9,0,112,9,0,148,7,0,103,9,0,222,10,0,98,14,0,171,9,0,86,9,0,219,4,0,38,18,0,160,10,0,73,11,0,130,7, +0,225,9,0,50,10,0,31,12,0,133,1,0,86,6,0,192,2,0,197,12,0,30,9,0,154,7,0,185,8,0,12,8,0,84,8,0,53,5,0,70,6,0,5,5,0,132,10,0,62,7,0,1,14,0,101,5,0,65,11,0,123,7,0,142,16,0,169,8,0,79,8,0,156,8,0,219,8,0,36,0,0,62,14,0,245,7,0,77,7,0,116,6,0,199,9,0,186, +4,0,83,0,0,133,2,0,146,3,0,83,11,0,61,8,0,179,11,0,131,4,0,89,8,0,222,8,0,131,7,0,13,2,0,207,6,0,58,5,0,135,9,0,183,4,0,135,5,0,196,2,0,222,1,0,123,13,0,4,3,0,82,4,0,185,254,255,104,8,0,23,254,255,73,8,0,253,5,0,176,3,0,246,4,0,185,255,255,234,250,255, +176,5,0,148,255,255,76,253,255,236,253,255,213,0,0,211,4,0,38,6,0,203,2,0,158,3,0,201,255,255,194,1,0,211,2,0,16,2,0,37,250,255,86,2,0,117,1,0,255,255,255,168,254,255,215,1,0,114,253,255,164,6,0,40,2,0,92,7,0,20,252,255,16,2,0,195,254,255,213,2,0,95, +250,255,226,7,0,215,251,255,130,0,0,57,253,255,201,254,255,60,1,0,34,2,0,11,254,255,113,254,255,228,251,255,206,8,0,101,251,255,21,5,0,222,252,255,74,254,255,117,1,0,72,11,0,163,0,0,149,8,0,134,6,0,239,5,0,45,0,0,245,1,0,186,254,255,192,13,0,228,253, +255,236,8,0,152,1,0,121,7,0,98,254,255,193,6,0,16,254,255,51,10,0,133,3,0,91,8,0,164,254,255,109,11,0,211,0,0,171,1,0,236,250,255,43,8,0,240,255,255,31,11,0,241,245,255,27,12,0,45,253,255,94,5,0,62,253,255,22,3,0,41,251,255,162,6,0,35,255,255,28,10,0, +39,255,255,225,2,0,85,251,255,55,5,0,91,252,255,165,3,0,1,250,255,221,2,0,110,0,0,223,4,0,157,255,255,97,1,0,237,0,0,44,251,255,234,254,255,117,253,255,171,253,255,119,7,0,36,0,0,194,5,0,135,2,0,88,1,0,76,0,0,98,5,0,155,7,0,130,6,0,208,1,0,53,1,0,189, +3,0,51,12,0,43,5,0,28,5,0,62,9,0,28,8,0,30,8,0,185,12,0,61,15,0,135,20,0,144,12,0,145,15,0,131,12,0,182,13,0,241,13,0,242,16,0,97,10,0,92,18,0,177,18,0,3,20,0,27,13,0,21,21,0,201,16,0,158,19,0,154,11,0,134,24,0,191,19,0,70,26,0,80,18,0,224,20,0,54,15, +0,15,28,0,95,20,0,2,24,0,79,10,0,83,23,0,234,12,0,230,26,0,192,14,0,100,27,0,152,17,0,96,28,0,249,18,0,80,25,0,241,15,0,122,24,0,123,15,0,170,33,0,145,16,0,45,30,0,134,18,0,89,23,0,223,19,0,34,29,0,142,22,0,187,25,0,90,26,0,133,28,0,67,21,0,91,30,0,244, +24,0,173,30,0,44,25,0,52,35,0,216,27,0,148,41,0,152,38,0,159,34,0,243,33,0,31,42,0,127,31,0,110,43,0,79,36,0,27,43,0,89,43,0,47,47,0,55,44,0,164,47,0,250,43,0,184,51,0,223,48,0,208,44,0,252,42,0,138,44,0,78,48,0,149,43,0,87,49,0,223,48,0,188,45,0,62, +54,0,207,48,0,92,49,0,122,35,0,202,51,0,164,44,0,38,48,0,42,40,0,237,48,0,146,34,0,170,52,0,139,37,0,120,50,0,75,34,0,129,46,0,223,28,0,39,42,0,92,29,0,180,40,0,142,26,0,234,43,0,6,25,0,81,42,0,121,22,0,161,33,0,153,18,0,40,35,0,72,14,0,160,39,0,209, +17,0,191,28,0,60,17,0,129,33,0,100,19,0,186,28,0,104,11,0,194,34,0,30,11,0,80,27,0,138,10,0,174,23,0,245,15,0,108,31,0,23,15,0,176,29,0,106,9,0,19,27,0,5,6,0,6,29,0,141,8,0,16,16,0,214,255,255,145,21,0,253,255,255,194,25,0,22,5,0,119,22,0,225,3,0,173, +19,0,35,253,255,185,16,0,171,0,0,40,23,0,136,0,0,211,18,0,156,253,255,251,10,0,86,251,255,24,18,0,215,1,0,171,17,0,10,1,0,248,14,0,77,250,255,226,14,0,23,254,255,128,9,0,209,254,255,218,17,0,184,1,0,109,17,0,217,249,255,64,11,0,43,250,255,157,6,0,83, +253,255,102,10,0,23,255,255,117,17,0,198,3,0,1,8,0,179,0,0,0,4,0,194,247,255,36,6,0,174,254,255,122,4,0,67,2,0,251,1,0,85,2,0,13,5,0,156,248,255,52,3,0,17,246,255,97,9,0,252,249,255,126,4,0,104,245,255,130,3,0,121,245,255,95,4,0,194,239,255,203,253,255, +233,236,255,129,255,255,34,239,255,74,8,0,143,238,255,7,250,255,77,232,255,94,249,255,217,236,255,87,11,0,135,242,255,3,1,0,238,227,255,90,248,255,174,225,255,121,254,255,165,230,255,64,250,255,127,227,255,134,245,255,27,221,255,199,247,255,123,224,255, +125,249,255,210,225,255,147,241,255,98,223,255,173,248,255,185,222,255,130,244,255,55,224,255,48,237,255,12,223,255,183,233,255,182,218,255,31,243,255,213,221,255,240,239,255,31,226,255,131,245,255,162,221,255,92,242,255,192,223,255,158,239,255,20,219, +255,241,235,255,54,221,255,136,239,255,180,224,255,167,242,255,55,221,255,132,242,255,185,225,255,158,243,255,86,225,255,224,240,255,248,217,255,31,249,255,82,225,255,234,237,255,19,220,255,171,244,255,162,222,255,72,243,255,50,220,255,228,242,255,155, +217,255,32,232,255,143,215,255,165,238,255,129,220,255,16,244,255,235,216,255,149,236,255,142,210,255,143,242,255,182,211,255,206,235,255,191,211,255,66,240,255,180,219,255,181,233,255,52,213,255,235,229,255,10,211,255,27,229,255,30,207,255,221,233,255, +148,207,255,134,234,255,207,210,255,142,227,255,69,200,255,151,227,255,245,207,255,59,230,255,196,211,255,253,223,255,80,200,255,25,229,255,29,199,255,25,222,255,213,198,255,205,227,255,89,205,255,246,223,255,110,206,255,122,222,255,72,198,255,192,220, +255,42,207,255,232,220,255,59,201,255,246,219,255,211,201,255,145,222,255,187,205,255,234,225,255,14,207,255,5,225,255,81,211,255,99,228,255,109,209,255,14,232,255,133,206,255,187,234,255,163,208,255,156,241,255,42,215,255,148,241,255,102,216,255,66, +241,255,212,215,255,243,236,255,52,209,255,140,241,255,75,214,255,192,241,255,114,220,255,0,243,255,165,223,255,141,240,255,74,218,255,236,246,255,171,215,255,47,239,255,36,217,255,16,235,255,208,214,255,4,239,255,21,210,255,252,238,255,89,218,255,247, +228,255,125,206,255,10,238,255,51,212,255,180,232,255,211,208,255,96,234,255,26,212,255,191,235,255,38,209,255,171,233,255,62,207,255,132,233,255,250,210,255,111,233,255,16,212,255,44,235,255,45,214,255,204,236,255,199,207,255,91,241,255,242,217,255, +250,233,255,42,210,255,76,235,255,116,219,255,178,233,255,38,223,255,203,238,255,189,220,255,102,236,255,68,221,255,223,232,255,191,219,255,25,239,255,98,226,255,183,246,255,250,225,255,81,244,255,140,228,255,66,246,255,45,228,255,249,249,255,156,225, +255,49,242,255,194,223,255,249,245,255,185,227,255,206,249,255,108,234,255,102,253,255,116,231,255,185,252,255,144,234,255,14,254,255,56,239,255,81,0,0,62,230,255,183,5,0,39,239,255,24,1,0,178,239,255,142,0,0,123,238,255,182,9,0,207,243,255,196,8,0,1, +239,255,85,4,0,29,238,255,235,5,0,143,240,255,208,2,0,183,242,255,197,4,0,78,250,255,111,4,0,228,238,255,217,8,0,133,245,255,65,6,0,98,245,255,183,254,255,116,245,255,71,17,0,224,245,255,50,7,0,100,247,255,48,2,0,131,240,255,195,8,0,26,245,255,67,13, +0,32,247,255,28,7,0,76,243,255,14,11,0,147,245,255,200,13,0,174,247,255,114,13,0,9,251,255,249,18,0,88,247,255,246,17,0,83,245,255,157,10,0,180,249,255,243,10,0,241,243,255,111,17,0,40,242,255,192,9,0,44,245,255,78,13,0,26,246,255,138,8,0,240,244,255, +199,10,0,58,250,255,171,17,0,246,243,255,178,20,0,194,246,255,205,14,0,193,255,255,62,9,0,181,246,255,241,13,0,124,255,255,109,17,0,234,3,0,30,18,0,253,250,255,233,20,0,80,2,0,194,20,0,12,255,255,0,20,0,50,7,0,164,25,0,139,13,0,168,22,0,113,13,0,153, +23,0,130,13,0,6,23,0,27,15,0,55,22,0,39,18,0,151,29,0,67,14,0,133,19,0,8,11,0,121,28,0,39,15,0,73,21,0,205,14,0,93,17,0,155,1,0,7,24,0,246,10,0,24,19,0,70,7,0,20,26,0,174,2,0,77,18,0,152,0,0,47,27,0,216,3,0,212,15,0,75,0,0,30,20,0,198,1,0,69,24,0,99, +1,0,177,17,0,161,249,255,29,18,0,157,247,255,183,16,0,98,242,255,211,19,0,238,243,255,210,13,0,123,240,255,68,13,0,240,242,255,30,19,0,0,246,255,144,9,0,2,243,255,11,11,0,74,246,255,229,10,0,243,243,255,16,11,0,183,239,255,111,0,0,149,243,255,220,10, +0,224,244,255,101,5,0,50,243,255,124,10,0,195,248,255,195,7,0,197,245,255,5,255,255,227,243,255,173,5,0,214,247,255,160,3,0,197,243,255,186,5,0,2,246,255,42,6,0,154,245,255,14,15,0,23,250,255,168,13,0,191,252,255,235,12,0,180,249,255,200,16,0,197,253, +255,34,15,0,245,253,255,125,11,0,157,250,255,85,17,0,227,1,0,179,19,0,25,3,0,62,14,0,102,1,0,16,15,0,97,252,255,159,9,0,84,254,255,3,15,0,179,250,255,143,12,0,76,250,255,172,14,0,120,255,255,106,22,0,44,0,0,46,13,0,94,255,255,196,11,0,16,250,255,238, +8,0,245,244,255,97,13,0,229,247,255,252,11,0,174,240,255,36,6,0,177,237,255,93,2,0,248,236,255,37,4,0,29,238,255,128,0,0,122,230,255,70,255,255,122,230,255,200,253,255,90,226,255,79,4,0,202,226,255,115,251,255,141,223,255,37,2,0,15,222,255,239,248,255, +42,220,255,130,247,255,200,219,255,141,246,255,162,214,255,155,239,255,155,215,255,41,240,255,164,212,255,95,239,255,114,213,255,192,235,255,57,209,255,231,230,255,86,208,255,72,235,255,20,212,255,92,231,255,210,202,255,6,228,255,198,202,255,56,227,255, +237,199,255,14,230,255,6,202,255,195,225,255,143,196,255,209,230,255,149,199,255,20,227,255,30,202,255,13,223,255,131,195,255,177,229,255,240,198,255,89,227,255,169,202,255,100,226,255,11,202,255,115,221,255,108,206,255,218,224,255,65,203,255,190,219, +255,17,199,255,218,217,255,52,205,255,43,227,255,36,211,255,230,219,255,21,212,255,41,222,255,110,211,255,145,222,255,93,208,255,71,224,255,214,214,255,12,218,255,226,213,255,110,221,255,161,209,255,2,223,255,254,211,255,249,221,255,3,212,255,206,224, +255,54,205,255,166,226,255,112,209,255,251,225,255,46,204,255,65,227,255,209,204,255,185,220,255,203,198,255,167,222,255,61,204,255,6,223,255,55,202,255,156,223,255,45,197,255,24,220,255,57,199,255,109,226,255,122,196,255,168,218,255,106,196,255,54,222, +255,164,194,255,203,221,255,235,192,255,36,221,255,45,193,255,104,216,255,151,184,255,170,214,255,66,188,255,193,215,255,147,183,255,216,215,255,137,184,255,161,216,255,180,196,255,85,208,255,18,188,255,41,210,255,40,187,255,225,214,255,48,190,255,239, +206,255,1,181,255,255,213,255,34,192,255,152,208,255,239,186,255,139,207,255,133,177,255,1,206,255,147,186,255,219,204,255,136,187,255,149,202,255,82,184,255,136,201,255,89,177,255,31,203,255,104,182,255,243,200,255,242,183,255,248,205,255,207,181,255, +244,199,255,49,185,255,18,210,255,63,185,255,194,199,255,9,181,255,140,200,255,218,179,255,251,199,255,122,181,255,90,200,255,157,181,255,213,203,255,217,179,255,201,199,255,64,180,255,253,199,255,4,178,255,167,202,255,105,180,255,27,203,255,155,182, +255,81,205,255,67,178,255,96,202,255,169,188,255,153,209,255,99,190,255,86,204,255,133,188,255,251,207,255,52,188,255,80,212,255,234,196,255,139,204,255,82,198,255,136,218,255,150,203,255,88,215,255,226,201,255,189,218,255,141,206,255,100,219,255,36, +202,255,78,218,255,135,209,255,9,222,255,212,208,255,199,218,255,161,207,255,25,227,255,145,216,255,9,227,255,236,202,255,28,231,255,33,213,255,30,234,255,33,211,255,148,230,255,181,208,255,111,225,255,58,208,255,26,232,255,37,215,255,16,229,255,114, +207,255,56,222,255,135,196,255,54,227,255,199,202,255,57,223,255,61,199,255,179,227,255,24,200,255,251,225,255,18,195,255,118,224,255,58,195,255,3,222,255,148,193,255,154,214,255,190,190,255,71,218,255,83,188,255,37,218,255,192,190,255,175,210,255,248, +190,255,245,212,255,183,185,255,10,211,255,159,188,255,185,208,255,74,185,255,160,208,255,92,187,255,166,210,255,219,196,255,152,203,255,26,188,255,160,201,255,2,192,255,150,209,255,42,197,255,93,201,255,77,194,255,60,204,255,6,197,255,237,209,255,127, +201,255,253,203,255,225,198,255,242,207,255,33,195,255,37,205,255,162,198,255,157,201,255,31,202,255,116,206,255,250,204,255,128,199,255,178,204,255,71,213,255,136,206,255,76,208,255,60,207,255,3,210,255,151,210,255,64,213,255,211,210,255,218,212,255, +67,212,255,176,211,255,63,212,255,211,216,255,123,211,255,237,218,255,103,223,255,101,215,255,14,215,255,33,227,255,240,220,255,12,216,255,138,214,255,0,220,255,169,226,255,60,224,255,173,226,255,9,234,255,173,230,255,235,229,255,225,226,255,23,228,255, +166,221,255,121,227,255,174,231,255,228,225,255,247,226,255,83,229,255,226,229,255,254,233,255,103,231,255,164,231,255,116,230,255,173,236,255,162,236,255,75,234,255,155,233,255,178,234,255,39,236,255,81,231,255,125,233,255,60,231,255,252,240,255,68, +232,255,130,235,255,145,232,255,31,240,255,249,227,255,240,239,255,132,236,255,197,240,255,138,229,255,165,234,255,104,231,255,117,238,255,22,237,255,65,244,255,2,233,255,176,241,255,48,236,255,103,246,255,18,238,255,19,242,255,151,237,255,112,243,255, +161,231,255,125,243,255,184,239,255,14,246,255,26,241,255,74,246,255,17,243,255,1,246,255,231,242,255,213,249,255,202,240,255,24,244,255,56,242,255,7,242,255,134,250,255,113,245,255,230,244,255,112,247,255,38,246,255,44,246,255,82,244,255,110,242,255, +206,250,255,164,245,255,125,243,255,133,240,255,233,241,255,7,245,255,126,242,255,20,245,255,56,246,255,140,243,255,166,247,255,242,237,255,100,244,255,215,233,255,166,241,255,245,240,255,5,246,255,79,241,255,252,246,255,228,241,255,87,245,255,163,242, +255,148,243,255,233,240,255,82,246,255,249,249,255,40,246,255,111,244,255,64,248,255,234,239,255,217,249,255,106,247,255,47,249,255,232,249,255,9,248,255,178,247,255,247,248,255,34,246,255,205,254,255,124,251,255,75,251,255,85,252,255,60,249,255,199, +253,255,202,1,0,32,255,255,228,251,255,131,248,255,246,250,255,193,0,0,6,253,255,124,252,255,61,253,255,198,255,255,175,254,255,255,253,255,181,252,255,58,245,255,21,250,255,155,250,255,174,255,255,139,249,255,240,1,0,5,252,255,187,250,255,249,245,255, +216,247,255,243,247,255,252,245,255,218,247,255,168,248,255,197,247,255,177,252,255,140,249,255,211,252,255,79,251,255,77,246,255,114,250,255,8,247,255,176,251,255,77,246,255,227,247,255,142,241,255,18,244,255,67,244,255,78,248,255,25,243,255,210,0,0, +205,242,255,0,253,255,179,243,255,212,2,0,61,250,255,189,3,0,200,247,255,101,254,255,177,245,255,38,13,0,39,255,255,133,15,0,100,253,255,131,10,0,98,248,255,103,15,0,49,246,255,229,20,0,232,253,255,208,19,0,131,7,0,246,23,0,48,5,0,38,23,0,151,8,0,235, +28,0,213,16,0,116,28,0,247,16,0,219,30,0,74,18,0,18,31,0,249,21,0,184,37,0,151,24,0,245,32,0,82,21,0,197,29,0,185,24,0,146,29,0,207,29,0,20,28,0,196,31,0,235,32,0,245,35,0,133,32,0,0,31,0,11,31,0,174,37,0,182,36,0,15,32,0,229,35,0,220,37,0,24,39,0,72, +36,0,193,39,0,55,36,0,187,40,0,192,37,0,113,50,0,14,37,0,186,37,0,119,40,0,243,41,0,146,36,0,192,41,0,176,41,0,27,46,0,113,32,0,12,47,0,41,43,0,242,49,0,177,39,0,133,56,0,186,33,0,133,53,0,149,35,0,44,58,0,11,36,0,97,53,0,253,36,0,80,58,0,209,36,0,44, +62,0,110,42,0,218,69,0,65,36,0,85,64,0,207,42,0,77,66,0,153,41,0,240,62,0,81,43,0,101,63,0,250,43,0,64,67,0,149,42,0,186,65,0,154,39,0,236,62,0,237,45,0,226,63,0,235,46,0,130,59,0,186,49,0,147,63,0,36,45,0,165,55,0,196,45,0,31,63,0,140,48,0,109,62,0, +40,44,0,65,60,0,54,45,0,241,51,0,111,46,0,123,55,0,166,44,0,151,51,0,206,47,0,222,51,0,246,43,0,70,55,0,18,47,0,243,55,0,106,52,0,6,57,0,29,45,0,129,52,0,224,47,0,223,60,0,175,39,0,146,51,0,47,39,0,127,54,0,118,44,0,154,53,0,140,43,0,112,52,0,161,41, +0,38,51,0,110,45,0,112,56,0,255,42,0,129,45,0,35,46,0,192,51,0,109,47,0,65,53,0,181,40,0,68,45,0,204,39,0,181,45,0,40,36,0,123,40,0,135,37,0,59,42,0,207,35,0,126,40,0,134,31,0,9,35,0,250,36,0,223,40,0,245,32,0,237,39,0,78,35,0,37,41,0,56,27,0,168,41, +0,248,30,0,19,51,0,102,29,0,180,43,0,154,28,0,14,43,0,70,24,0,94,37,0,137,24,0,9,39,0,151,27,0,46,41,0,18,26,0,143,43,0,62,23,0,3,39,0,96,23,0,254,40,0,203,26,0,224,44,0,32,23,0,101,44,0,125,30,0,13,49,0,72,31,0,93,43,0,50,31,0,207,43,0,239,39,0,195, +46,0,113,24,0,32,36,0,62,31,0,169,44,0,201,29,0,88,46,0,175,31,0,83,44,0,46,32,0,50,49,0,92,32,0,11,49,0,144,31,0,141,51,0,163,25,0,188,45,0,194,31,0,175,45,0,5,27,0,69,52,0,8,29,0,185,49,0,227,24,0,34,52,0,211,27,0,141,56,0,231,29,0,177,43,0,115,28, +0,81,49,0,169,18,0,243,50,0,164,25,0,119,52,0,145,24,0,7,46,0,211,18,0,226,46,0,203,21,0,102,48,0,49,28,0,97,45,0,122,29,0,195,49,0,158,20,0,131,41,0,115,30,0,162,45,0,85,25,0,228,42,0,59,22,0,45,44,0,199,25,0,250,43,0,38,28,0,84,48,0,48,26,0,244,45, +0,84,25,0,244,40,0,245,20,0,112,37,0,100,25,0,215,41,0,115,24,0,184,46,0,114,29,0,53,41,0,156,18,0,36,41,0,62,29,0,234,41,0,93,24,0,54,40,0,248,27,0,254,44,0,48,29,0,252,43,0,250,26,0,15,43,0,10,29,0,127,36,0,54,31,0,216,43,0,224,32,0,61,41,0,249,29, +0,248,36,0,124,34,0,62,42,0,16,32,0,213,39,0,65,31,0,143,47,0,143,33,0,248,47,0,58,33,0,16,48,0,216,31,0,60,53,0,151,40,0,221,61,0,36,37,0,74,55,0,155,34,0,38,54,0,126,35,0,123,55,0,136,40,0,79,58,0,73,41,0,179,61,0,76,44,0,51,64,0,75,40,0,49,59,0,131, +41,0,20,68,0,66,48,0,87,57,0,156,46,0,210,62,0,123,47,0,244,63,0,199,48,0,210,56,0,245,48,0,255,59,0,65,46,0,130,57,0,44,50,0,193,66,0,222,52,0,126,63,0,131,46,0,189,64,0,149,56,0,222,60,0,19,53,0,15,64,0,196,41,0,120,60,0,226,55,0,13,68,0,13,49,0,121, +63,0,245,55,0,177,65,0,38,55,0,245,62,0,237,52,0,29,66,0,157,53,0,112,61,0,85,58,0,185,63,0,22,54,0,212,66,0,116,57,0,122,61,0,202,55,0,186,68,0,94,62,0,214,67,0,132,63,0,153,71,0,244,52,0,188,68,0,19,61,0,116,74,0,0,64,0,85,73,0,243,53,0,254,69,0,226, +65,0,241,71,0,224,63,0,244,76,0,171,61,0,199,73,0,153,60,0,237,74,0,152,67,0,95,78,0,206,60,0,86,73,0,133,54,0,49,69,0,138,62,0,237,74,0,139,59,0,15,70,0,103,56,0,190,69,0,220,56,0,132,66,0,217,58,0,183,68,0,15,53,0,111,62,0,15,55,0,101,60,0,177,52,0, +255,59,0,255,49,0,95,53,0,189,53,0,65,53,0,162,58,0,88,58,0,53,45,0,144,53,0,241,44,0,245,47,0,111,47,0,155,45,0,132,39,0,178,42,0,217,41,0,122,49,0,1,49,0,51,43,0,233,52,0,73,46,0,169,42,0,185,44,0,172,49,0,155,45,0,235,51,0,226,45,0,29,42,0,231,39, +0,219,47,0,152,52,0,95,41,0,52,44,0,225,43,0,109,52,0,81,41,0,111,48,0,183,46,0,249,47,0,98,45,0,210,47,0,139,45,0,166,43,0,113,41,0,117,47,0,57,41,0,51,41,0,216,40,0,182,45,0,76,38,0,75,41,0,106,39,0,80,44,0,14,46,0,20,41,0,238,34,0,175,41,0,154,36, +0,3,29,0,241,34,0,199,40,0,11,41,0,31,44,0,10,36,0,88,36,0,202,32,0,212,31,0,0,32,0,57,33,0,80,39,0,82,35,0,174,27,0,161,31,0,124,26,0,89,33,0,90,31,0,51,36,0,132,26,0,4,34,0,39,25,0,92,32,0,76,20,0,95,22,0,197,26,0,196,24,0,101,33,0,141,31,0,142,27, +0,61,25,0,12,28,0,253,18,0,91,27,0,132,28,0,146,26,0,118,28,0,174,26,0,190,23,0,86,34,0,34,26,0,94,33,0,180,28,0,148,27,0,226,27,0,160,28,0,37,25,0,1,27,0,69,33,0,84,27,0,69,33,0,33,31,0,211,34,0,7,32,0,161,30,0,242,30,0,147,37,0,53,30,0,159,35,0,28, +28,0,192,37,0,52,34,0,157,43,0,13,37,0,223,45,0,155,39,0,169,41,0,243,33,0,26,39,0,187,38,0,105,42,0,196,34,0,58,43,0,190,38,0,212,45,0,63,43,0,197,49,0,125,44,0,66,50,0,80,38,0,85,42,0,151,38,0,7,48,0,98,43,0,94,51,0,148,43,0,85,49,0,215,42,0,244,49, +0,127,39,0,7,41,0,149,46,0,229,52,0,88,40,0,206,44,0,48,46,0,80,44,0,180,38,0,107,49,0,82,42,0,101,50,0,42,45,0,125,42,0,134,43,0,177,46,0,174,46,0,152,45,0,187,35,0,169,43,0,120,36,0,167,38,0,59,38,0,183,38,0,246,33,0,2,38,0,254,33,0,148,39,0,217,31, +0,68,39,0,38,28,0,13,31,0,18,32,0,180,38,0,56,31,0,135,37,0,197,33,0,177,35,0,136,30,0,114,29,0,232,23,0,172,29,0,95,33,0,141,30,0,48,28,0,62,22,0,141,32,0,135,25,0,59,29,0,126,26,0,146,29,0,1,19,0,9,27,0,46,20,0,155,28,0,228,23,0,87,28,0,198,17,0,96, +27,0,190,22,0,69,29,0,185,17,0,34,25,0,204,9,0,33,27,0,155,17,0,137,22,0,124,19,0,20,26,0,1,16,0,181,23,0,73,15,0,248,28,0,140,14,0,6,26,0,0,17,0,170,30,0,234,21,0,29,24,0,234,17,0,97,26,0,95,17,0,219,21,0,182,13,0,6,25,0,114,14,0,41,23,0,138,11,0,47, +20,0,167,11,0,112,22,0,212,7,0,79,26,0,162,3,0,211,23,0,133,7,0,14,14,0,148,0,0,82,13,0,12,2,0,57,17,0,125,250,255,115,9,0,217,249,255,162,8,0,222,249,255,16,4,0,221,242,255,184,255,255,181,237,255,44,5,0,113,242,255,68,2,0,105,238,255,76,251,255,95, +232,255,93,254,255,62,232,255,174,249,255,59,235,255,1,254,255,149,240,255,83,245,255,21,232,255,77,250,255,228,234,255,27,250,255,229,229,255,173,250,255,10,235,255,189,244,255,58,237,255,225,252,255,28,238,255,33,3,0,86,238,255,31,254,255,73,235,255, +48,254,255,117,240,255,66,0,0,193,237,255,62,3,0,165,236,255,235,5,0,24,242,255,64,5,0,52,230,255,119,7,0,23,240,255,54,3,0,240,237,255,36,7,0,16,236,255,36,1,0,208,230,255,172,252,255,185,235,255,166,0,0,1,232,255,173,248,255,52,232,255,56,251,255,88, +236,255,58,244,255,51,230,255,90,248,255,145,232,255,12,247,255,64,233,255,200,247,255,80,228,255,131,246,255,67,237,255,145,248,255,164,234,255,232,243,255,203,230,255,80,244,255,122,234,255,22,249,255,251,232,255,233,240,255,220,231,255,151,250,255, +113,238,255,93,244,255,169,234,255,71,250,255,55,233,255,143,247,255,203,234,255,119,244,255,3,232,255,172,242,255,208,234,255,168,247,255,50,234,255,23,244,255,108,232,255,0,248,255,47,236,255,69,242,255,193,231,255,14,235,255,180,222,255,103,244,255, +123,231,255,8,239,255,142,230,255,233,239,255,173,222,255,52,240,255,1,230,255,225,234,255,199,224,255,21,239,255,90,225,255,181,236,255,241,229,255,172,241,255,73,223,255,150,237,255,248,223,255,186,240,255,21,227,255,32,236,255,109,220,255,162,240, +255,220,219,255,155,235,255,84,218,255,90,241,255,121,221,255,98,230,255,111,211,255,49,234,255,52,214,255,201,231,255,10,208,255,50,234,255,151,200,255,146,232,255,228,210,255,81,227,255,64,196,255,244,229,255,16,202,255,46,224,255,153,200,255,162,222, +255,27,197,255,53,233,255,137,201,255,84,220,255,139,194,255,236,215,255,6,188,255,119,226,255,193,197,255,156,218,255,222,193,255,80,225,255,140,189,255,47,217,255,99,185,255,214,213,255,23,182,255,150,212,255,78,182,255,222,208,255,2,177,255,122,212, +255,245,177,255,250,203,255,248,170,255,7,204,255,193,173,255,112,202,255,51,168,255,59,200,255,97,174,255,46,199,255,151,167,255,94,196,255,187,170,255,58,194,255,120,165,255,38,190,255,38,167,255,186,182,255,73,163,255,106,196,255,155,168,255,167,184, +255,118,159,255,113,181,255,93,154,255,83,187,255,157,163,255,212,180,255,238,159,255,152,183,255,205,156,255,24,185,255,109,162,255,81,184,255,185,162,255,107,184,255,188,165,255,121,182,255,202,161,255,48,187,255,114,169,255,90,189,255,107,167,255, +124,187,255,234,170,255,85,190,255,124,175,255,230,194,255,182,172,255,104,193,255,133,177,255,74,187,255,143,175,255,109,195,255,22,174,255,92,202,255,173,179,255,169,203,255,173,186,255,10,199,255,188,182,255,216,203,255,193,182,255,191,202,255,240, +187,255,136,201,255,160,186,255,215,201,255,193,188,255,56,205,255,71,181,255,220,195,255,45,180,255,122,204,255,244,179,255,2,201,255,141,176,255,173,195,255,165,172,255,192,199,255,253,172,255,31,202,255,211,174,255,82,197,255,58,165,255,90,199,255, +114,171,255,15,198,255,53,157,255,112,196,255,153,165,255,244,192,255,113,171,255,80,193,255,56,165,255,88,192,255,167,164,255,177,189,255,154,162,255,28,195,255,30,171,255,164,194,255,250,167,255,17,192,255,182,168,255,144,193,255,126,172,255,153,196, +255,214,172,255,225,187,255,76,170,255,132,195,255,134,169,255,163,199,255,208,174,255,20,200,255,181,172,255,8,203,255,231,171,255,95,203,255,206,177,255,66,199,255,176,182,255,145,198,255,88,177,255,77,203,255,110,184,255,201,202,255,116,181,255,182, +200,255,178,180,255,208,204,255,59,181,255,251,201,255,52,177,255,10,200,255,27,176,255,75,205,255,51,178,255,88,201,255,14,178,255,77,202,255,174,175,255,196,204,255,20,177,255,131,201,255,187,178,255,98,208,255,229,177,255,239,208,255,30,180,255,21, +204,255,129,183,255,251,206,255,100,182,255,116,207,255,59,185,255,129,211,255,48,186,255,182,210,255,40,185,255,196,211,255,177,188,255,224,209,255,216,185,255,212,213,255,72,194,255,2,210,255,230,189,255,14,213,255,230,193,255,219,215,255,191,195,255, +114,222,255,174,194,255,205,212,255,9,193,255,105,220,255,219,200,255,46,218,255,128,200,255,21,217,255,14,201,255,216,217,255,211,193,255,19,219,255,228,193,255,144,219,255,85,194,255,30,221,255,92,192,255,104,214,255,54,190,255,60,211,255,66,183,255, +241,214,255,49,186,255,243,210,255,66,185,255,243,215,255,92,185,255,252,215,255,78,182,255,128,214,255,74,187,255,190,208,255,254,177,255,67,214,255,5,180,255,245,214,255,174,184,255,4,212,255,95,182,255,25,211,255,166,182,255,222,207,255,113,181,255, +159,211,255,69,181,255,206,206,255,163,185,255,93,210,255,161,187,255,223,212,255,110,191,255,83,213,255,161,191,255,161,210,255,206,197,255,87,217,255,142,200,255,242,212,255,186,196,255,52,212,255,124,201,255,86,221,255,169,208,255,52,218,255,207,200, +255,110,217,255,60,203,255,126,223,255,148,202,255,191,221,255,71,205,255,77,224,255,13,203,255,98,225,255,168,206,255,53,224,255,217,203,255,235,223,255,50,208,255,51,228,255,76,209,255,2,229,255,245,208,255,61,230,255,116,201,255,24,229,255,212,204, +255,182,232,255,246,205,255,73,227,255,134,199,255,157,230,255,90,202,255,86,227,255,209,199,255,169,226,255,197,196,255,206,221,255,52,192,255,87,223,255,136,194,255,8,222,255,193,187,255,195,224,255,241,196,255,29,215,255,93,195,255,158,219,255,172, +191,255,208,216,255,0,195,255,104,210,255,224,194,255,69,223,255,195,194,255,142,211,255,56,191,255,28,216,255,193,189,255,82,212,255,194,192,255,115,211,255,47,200,255,21,214,255,26,197,255,55,215,255,52,193,255,93,222,255,69,192,255,229,216,255,136, +192,255,218,221,255,71,194,255,172,221,255,80,192,255,12,218,255,200,195,255,82,218,255,152,197,255,104,214,255,24,200,255,249,216,255,33,197,255,212,218,255,109,196,255,122,217,255,233,196,255,28,214,255,139,193,255,140,218,255,247,194,255,90,224,255, +110,205,255,74,218,255,9,200,255,87,220,255,142,197,255,161,223,255,197,195,255,154,218,255,153,191,255,166,222,255,165,195,255,151,218,255,76,191,255,77,217,255,160,189,255,218,218,255,117,183,255,244,216,255,65,179,255,115,220,255,238,185,255,126,213, +255,241,176,255,67,221,255,74,188,255,126,217,255,139,178,255,227,211,255,192,186,255,238,218,255,28,183,255,171,210,255,244,182,255,198,206,255,31,180,255,174,217,255,162,185,255,153,207,255,36,183,255,223,209,255,78,184,255,16,213,255,26,194,255,186, +211,255,246,191,255,222,216,255,172,192,255,49,218,255,219,201,255,230,219,255,221,199,255,196,221,255,39,201,255,167,224,255,76,211,255,84,226,255,215,207,255,129,227,255,110,212,255,195,227,255,238,221,255,49,232,255,27,223,255,87,238,255,128,227,255, +134,235,255,61,223,255,76,244,255,26,228,255,105,237,255,83,229,255,107,241,255,199,229,255,188,251,255,86,239,255,249,246,255,227,237,255,129,252,255,209,241,255,116,253,255,134,241,255,241,2,0,165,239,255,116,254,255,8,234,255,176,251,255,40,241,255, +6,252,255,251,240,255,31,2,0,220,249,255,21,4,0,202,252,255,202,4,0,61,248,255,31,7,0,251,247,255,155,6,0,14,250,255,45,5,0,90,248,255,46,3,0,60,255,255,20,10,0,232,251,255,31,11,0,245,250,255,147,5,0,249,250,255,175,11,0,29,6,0,167,11,0,83,1,0,251,8, +0,64,251,255,114,15,0,244,252,255,1,7,0,60,3,0,169,12,0,215,0,0,42,11,0,148,1,0,237,14,0,128,6,0,128,7,0,239,253,255,71,7,0,148,6,0,104,11,0,186,1,0,202,7,0,130,255,255,62,15,0,141,0,0,249,13,0,78,2,0,116,11,0,182,4,0,2,13,0,198,5,0,209,12,0,109,3,0, +88,9,0,172,254,255,223,10,0,143,6,0,144,18,0,126,2,0,185,14,0,225,2,0,66,25,0,68,7,0,83,17,0,190,4,0,56,22,0,23,6,0,250,25,0,126,13,0,182,23,0,71,11,0,40,24,0,201,12,0,164,34,0,35,13,0,126,21,0,126,16,0,230,26,0,85,19,0,174,28,0,101,19,0,231,31,0,239, +20,0,168,32,0,234,21,0,55,34,0,191,19,0,73,35,0,105,18,0,200,35,0,133,19,0,209,37,0,47,18,0,225,34,0,182,25,0,62,36,0,122,26,0,205,30,0,128,19,0,148,35,0,49,22,0,126,33,0,238,19,0,165,34,0,87,21,0,212,30,0,37,21,0,145,33,0,232,20,0,77,29,0,22,29,0,233, +31,0,177,29,0,130,31,0,207,22,0,187,37,0,23,27,0,84,37,0,251,34,0,233,33,0,148,28,0,23,36,0,23,29,0,111,34,0,205,28,0,17,42,0,12,36,0,111,44,0,186,32,0,74,44,0,12,35,0,21,43,0,61,40,0,109,42,0,169,39,0,65,51,0,84,43,0,169,47,0,226,44,0,51,51,0,240,45, +0,78,52,0,119,43,0,228,50,0,121,49,0,183,52,0,20,55,0,221,51,0,129,51,0,112,52,0,103,56,0,116,49,0,23,57,0,206,56,0,124,55,0,244,53,0,255,50,0,148,51,0,109,56,0,68,47,0,138,53,0,203,47,0,207,48,0,59,56,0,229,56,0,126,50,0,246,51,0,163,52,0,126,51,0,71, +48,0,201,48,0,183,47,0,2,42,0,41,48,0,123,47,0,220,44,0,160,51,0,225,39,0,148,44,0,171,48,0,242,46,0,173,40,0,98,44,0,40,45,0,157,45,0,83,39,0,254,43,0,236,36,0,82,45,0,124,41,0,7,37,0,57,39,0,255,44,0,204,41,0,182,41,0,140,38,0,38,39,0,50,32,0,25,39, +0,215,39,0,78,45,0,182,29,0,237,33,0,181,31,0,222,38,0,27,42,0,113,47,0,147,35,0,144,36,0,196,39,0,20,46,0,89,35,0,206,43,0,105,35,0,162,44,0,143,38,0,145,42,0,220,44,0,235,42,0,193,43,0,159,54,0,233,45,0,240,54,0,87,44,0,169,49,0,240,47,0,21,62,0,151, +48,0,111,56,0,233,46,0,246,61,0,32,55,0,82,63,0,78,45,0,176,59,0,45,54,0,133,63,0,23,54,0,189,63,0,158,54,0,229,67,0,186,54,0,31,65,0,106,58,0,134,77,0,48,60,0,19,66,0,135,59,0,62,67,0,54,53,0,81,74,0,81,57,0,248,65,0,29,58,0,197,57,0,59,62,0,166,71, +0,6,48,0,222,63,0,2,56,0,88,62,0,116,58,0,39,60,0,216,55,0,230,62,0,144,49,0,60,56,0,83,47,0,151,52,0,160,47,0,125,57,0,209,50,0,129,49,0,33,45,0,79,49,0,87,43,0,29,44,0,45,43,0,163,54,0,48,37,0,159,47,0,69,35,0,188,42,0,186,29,0,180,40,0,230,31,0,82, +46,0,85,36,0,227,42,0,60,33,0,233,41,0,46,38,0,226,39,0,148,35,0,11,41,0,136,30,0,200,39,0,176,30,0,102,42,0,90,27,0,113,39,0,68,35,0,24,43,0,182,35,0,21,47,0,78,31,0,35,46,0,173,35,0,104,49,0,88,36,0,56,50,0,183,40,0,246,49,0,88,43,0,222,53,0,241,48, +0,112,63,0,51,47,0,138,59,0,27,44,0,121,65,0,177,41,0,75,62,0,102,57,0,15,64,0,187,60,0,82,66,0,19,57,0,106,66,0,181,60,0,77,63,0,25,63,0,27,66,0,87,61,0,59,66,0,53,57,0,244,65,0,250,55,0,234,64,0,197,59,0,231,66,0,137,58,0,109,60,0,205,53,0,118,54,0, +110,57,0,209,59,0,197,51,0,193,56,0,132,48,0,95,57,0,117,50,0,138,56,0,82,52,0,65,65,0,230,46,0,200,54,0,172,46,0,139,55,0,107,43,0,130,55,0,206,40,0,37,53,0,25,47,0,139,53,0,38,36,0,242,47,0,33,31,0,136,48,0,124,37,0,246,48,0,168,33,0,23,55,0,83,38, +0,148,45,0,38,34,0,222,55,0,20,33,0,112,52,0,85,38,0,109,54,0,71,37,0,42,53,0,254,36,0,56,50,0,167,35,0,43,56,0,75,33,0,104,56,0,39,35,0,22,56,0,251,45,0,152,57,0,30,40,0,213,58,0,195,38,0,152,54,0,42,41,0,31,56,0,234,41,0,208,59,0,254,41,0,195,60,0, +127,42,0,217,57,0,244,42,0,86,63,0,144,45,0,227,63,0,191,49,0,147,66,0,19,50,0,209,69,0,73,52,0,182,66,0,54,49,0,61,76,0,20,54,0,86,78,0,132,52,0,31,70,0,110,57,0,123,75,0,212,52,0,88,73,0,7,57,0,19,75,0,237,63,0,166,79,0,105,53,0,160,77,0,178,61,0,145, +74,0,39,64,0,51,83,0,214,57,0,221,83,0,93,61,0,33,83,0,208,56,0,76,81,0,242,60,0,246,81,0,201,60,0,154,70,0,108,56,0,59,78,0,216,62,0,205,78,0,109,52,0,150,76,0,164,58,0,20,71,0,146,56,0,45,74,0,30,53,0,166,73,0,32,59,0,48,77,0,74,53,0,155,71,0,167,55, +0,191,71,0,251,52,0,76,72,0,133,55,0,45,66,0,111,51,0,227,63,0,110,52,0,100,67,0,29,53,0,54,65,0,199,53,0,147,65,0,125,53,0,106,66,0,132,51,0,250,62,0,152,50,0,37,58,0,171,52,0,171,63,0,142,48,0,12,61,0,40,53,0,218,61,0,242,48,0,38,58,0,193,51,0,184, +59,0,107,51,0,48,57,0,158,43,0,147,68,0,166,45,0,247,61,0,189,36,0,241,56,0,217,40,0,192,61,0,33,37,0,90,62,0,123,36,0,198,59,0,0,40,0,121,65,0,126,33,0,140,61,0,202,31,0,9,61,0,108,33,0,240,66,0,165,29,0,206,67,0,71,31,0,35,65,0,42,31,0,176,62,0,111, +29,0,106,64,0,119,28,0,37,64,0,199,32,0,109,62,0,199,30,0,174,57,0,231,31,0,229,59,0,43,37,0,253,61,0,176,38,0,110,59,0,144,34,0,17,52,0,53,39,0,166,57,0,21,38,0,101,54,0,250,45,0,33,63,0,215,35,0,245,54,0,3,39,0,160,52,0,115,39,0,134,55,0,189,36,0,69, +51,0,134,41,0,208,61,0,0,41,0,109,63,0,196,34,0,15,51,0,75,42,0,194,58,0,51,41,0,18,63,0,79,39,0,158,54,0,212,42,0,241,56,0,125,34,0,207,59,0,205,34,0,7,59,0,151,37,0,141,57,0,226,41,0,158,65,0,86,35,0,131,58,0,177,39,0,58,56,0,48,37,0,243,59,0,28,35, +0,142,56,0,110,40,0,151,53,0,235,40,0,74,59,0,239,39,0,246,54,0,107,35,0,153,53,0,41,37,0,75,53,0,142,36,0,121,56,0,254,30,0,3,48,0,118,27,0,40,47,0,219,27,0,1,50,0,166,26,0,43,40,0,182,26,0,54,40,0,216,17,0,3,37,0,70,17,0,120,36,0,36,19,0,247,33,0,195, +10,0,188,30,0,82,10,0,249,29,0,113,11,0,87,28,0,175,10,0,88,26,0,201,12,0,103,28,0,204,3,0,1,17,0,105,0,0,148,10,0,244,3,0,123,16,0,176,2,0,150,18,0,21,254,255,134,12,0,202,250,255,204,10,0,135,248,255,220,11,0,242,251,255,115,10,0,37,250,255,213,13, +0,208,249,255,91,9,0,192,249,255,163,10,0,128,248,255,89,11,0,122,250,255,32,11,0,36,0,0,88,17,0,219,246,255,139,5,0,136,252,255,206,10,0,202,251,255,143,13,0,228,254,255,125,14,0,1,2,0,86,9,0,131,254,255,15,19,0,192,253,255,114,5,0,32,0,0,134,9,0,123, +254,255,58,16,0,154,3,0,49,13,0,245,253,255,52,10,0,200,5,0,225,11,0,227,3,0,114,16,0,119,254,255,3,17,0,118,2,0,226,13,0,33,255,255,159,15,0,89,255,255,197,13,0,199,255,255,142,11,0,22,247,255,145,9,0,11,246,255,113,12,0,219,248,255,243,11,0,144,250, +255,9,17,0,72,246,255,40,8,0,205,246,255,40,11,0,80,246,255,233,9,0,247,242,255,17,4,0,58,242,255,48,5,0,224,238,255,8,4,0,136,241,255,204,3,0,45,246,255,200,3,0,80,244,255,196,6,0,59,238,255,128,2,0,226,235,255,59,5,0,13,240,255,135,9,0,236,234,255, +165,10,0,70,240,255,53,6,0,128,239,255,47,14,0,183,240,255,57,9,0,154,238,255,138,9,0,228,243,255,120,10,0,30,243,255,65,12,0,33,236,255,56,15,0,228,243,255,90,14,0,72,248,255,37,14,0,46,244,255,144,7,0,181,245,255,86,13,0,111,249,255,132,15,0,139,249, +255,35,15,0,220,241,255,200,7,0,67,249,255,207,18,0,81,250,255,31,17,0,251,255,255,60,14,0,248,247,255,60,14,0,57,250,255,47,14,0,194,248,255,50,17,0,68,253,255,188,14,0,153,246,255,220,9,0,45,255,255,177,11,0,19,254,255,240,7,0,246,251,255,247,12,0, +166,248,255,172,11,0,219,243,255,100,1,0,78,248,255,95,11,0,49,239,255,181,10,0,75,243,255,98,5,0,150,244,255,34,9,0,84,240,255,226,12,0,108,245,255,208,13,0,181,245,255,239,7,0,23,243,255,147,13,0,102,244,255,19,10,0,205,241,255,161,14,0,22,248,255, +196,19,0,72,245,255,233,16,0,65,245,255,133,22,0,73,243,255,64,18,0,87,248,255,66,19,0,45,245,255,160,20,0,201,248,255,69,23,0,162,245,255,14,18,0,167,253,255,224,34,0,217,252,255,22,22,0,219,255,255,30,28,0,5,3,0,146,30,0,172,2,0,41,28,0,11,2,0,244, +27,0,162,11,0,2,27,0,43,6,0,109,26,0,3,6,0,58,29,0,218,5,0,241,28,0,83,6,0,29,25,0,41,3,0,43,26,0,164,0,0,83,26,0,118,255,255,204,20,0,149,254,255,95,20,0,68,254,255,248,18,0,137,252,255,79,18,0,79,251,255,215,11,0,225,247,255,250,8,0,240,249,255,122, +9,0,2,244,255,214,4,0,39,242,255,160,8,0,74,241,255,49,4,0,27,242,255,101,6,0,131,239,255,73,4,0,113,238,255,195,5,0,152,230,255,237,248,255,170,233,255,147,254,255,201,225,255,149,248,255,137,230,255,1,246,255,77,232,255,222,243,255,221,219,255,24,238, +255,73,234,255,0,250,255,63,223,255,76,235,255,64,221,255,224,239,255,149,218,255,225,237,255,68,215,255,203,241,255,169,225,255,250,240,255,74,223,255,3,244,255,189,222,255,21,245,255,84,227,255,213,244,255,128,229,255,167,248,255,111,223,255,114,245, +255,59,220,255,80,244,255,138,227,255,58,245,255,81,223,255,43,246,255,1,232,255,160,249,255,148,233,255,33,247,255,244,224,255,188,237,255,152,233,255,176,243,255,202,228,255,154,238,255,56,227,255,107,248,255,225,229,255,94,244,255,119,222,255,0,243, +255,54,224,255,117,240,255,147,221,255,136,239,255,193,213,255,69,240,255,230,216,255,188,235,255,72,218,255,6,234,255,126,213,255,137,229,255,165,208,255,70,227,255,31,213,255,139,227,255,11,209,255,92,231,255,47,202,255,89,228,255,218,203,255,170,229, +255,54,203,255,12,224,255,179,203,255,82,225,255,191,202,255,53,224,255,248,195,255,127,225,255,238,196,255,232,218,255,85,195,255,145,215,255,230,198,255,87,216,255,7,192,255,244,212,255,182,193,255,98,218,255,165,199,255,235,214,255,213,187,255,8,212, +255,101,194,255,255,205,255,135,191,255,210,212,255,155,190,255,192,205,255,85,187,255,135,212,255,148,185,255,210,206,255,209,185,255,215,206,255,252,178,255,230,208,255,136,186,255,235,213,255,109,186,255,201,206,255,207,187,255,75,204,255,168,183, +255,169,205,255,177,183,255,21,200,255,64,181,255,91,206,255,83,179,255,194,199,255,228,178,255,90,193,255,41,179,255,149,201,255,99,175,255,216,198,255,176,180,255,165,203,255,27,172,255,96,197,255,153,178,255,51,199,255,178,178,255,20,194,255,248,174, +255,133,200,255,139,177,255,51,197,255,205,184,255,187,201,255,203,173,255,18,193,255,24,174,255,166,197,255,146,181,255,29,201,255,170,179,255,170,200,255,216,181,255,31,201,255,0,180,255,37,203,255,177,186,255,94,204,255,133,184,255,91,211,255,174, +190,255,150,208,255,223,192,255,221,211,255,141,194,255,120,209,255,222,193,255,195,214,255,209,189,255,34,211,255,98,190,255,202,209,255,109,195,255,249,214,255,46,195,255,194,216,255,166,194,255,156,219,255,249,198,255,73,220,255,128,194,255,56,216, +255,213,194,255,29,217,255,186,185,255,60,215,255,35,195,255,252,221,255,81,188,255,189,213,255,7,181,255,49,213,255,97,183,255,173,212,255,99,186,255,16,205,255,247,182,255,247,212,255,60,184,255,70,208,255,221,183,255,114,204,255,251,185,255,123,205, +255,4,186,255,242,201,255,78,178,255,187,201,255,170,186,255,102,210,255,0,176,255,80,200,255,175,185,255,189,201,255,160,184,255,231,203,255,45,186,255,135,202,255,106,182,255,123,202,255,91,181,255,160,203,255,64,186,255,158,206,255,228,182,255,105, +197,255,214,186,255,70,201,255,251,185,255,191,200,255,89,192,255,11,198,255,209,190,255,156,201,255,222,188,255,192,191,255,39,187,255,214,194,255,56,187,255,127,197,255,125,190,255,55,194,255,22,187,255,124,193,255,47,188,255,209,197,255,60,193,255, +42,197,255,169,189,255,42,197,255,33,190,255,59,195,255,90,187,255,181,193,255,251,192,255,56,206,255,208,192,255,106,200,255,225,190,255,50,201,255,213,195,255,134,205,255,83,191,255,103,203,255,127,194,255,72,202,255,56,196,255,145,202,255,152,200, +255,4,209,255,237,196,255,89,210,255,43,193,255,210,210,255,255,196,255,53,216,255,248,192,255,119,210,255,188,199,255,242,215,255,37,197,255,27,213,255,250,195,255,184,213,255,159,197,255,84,214,255,53,192,255,144,216,255,128,196,255,249,216,255,97, +198,255,26,215,255,108,203,255,33,219,255,38,199,255,195,213,255,207,198,255,218,219,255,216,196,255,219,216,255,187,201,255,79,218,255,190,206,255,110,223,255,30,198,255,98,215,255,140,195,255,154,215,255,189,195,255,83,214,255,219,201,255,8,213,255, +20,193,255,98,211,255,183,196,255,109,214,255,236,195,255,177,207,255,151,200,255,149,208,255,149,197,255,133,210,255,65,192,255,204,211,255,160,194,255,123,207,255,6,193,255,131,209,255,135,192,255,11,210,255,252,198,255,91,212,255,87,195,255,73,209, +255,207,197,255,241,216,255,164,203,255,214,215,255,61,202,255,175,222,255,44,205,255,71,223,255,105,204,255,245,219,255,208,207,255,53,226,255,190,210,255,158,231,255,116,214,255,189,227,255,223,216,255,230,232,255,19,212,255,63,232,255,214,213,255, +165,234,255,169,216,255,82,234,255,204,218,255,170,234,255,196,223,255,153,240,255,207,220,255,242,234,255,235,221,255,198,240,255,23,227,255,105,242,255,132,226,255,92,238,255,142,228,255,166,236,255,178,220,255,213,232,255,102,229,255,29,234,255,16, +219,255,54,237,255,252,228,255,171,240,255,10,222,255,213,238,255,230,222,255,234,237,255,236,224,255,251,237,255,152,221,255,83,229,255,111,219,255,205,231,255,154,220,255,200,232,255,184,218,255,36,229,255,213,214,255,125,224,255,120,212,255,11,223, +255,109,211,255,213,229,255,3,218,255,144,226,255,52,207,255,21,223,255,70,212,255,140,227,255,136,211,255,223,225,255,123,209,255,220,224,255,0,209,255,13,228,255,86,211,255,32,229,255,31,214,255,3,223,255,56,207,255,103,227,255,143,212,255,248,229, +255,143,212,255,140,230,255,185,214,255,51,231,255,36,219,255,243,234,255,160,219,255,235,234,255,27,221,255,141,233,255,60,224,255,211,238,255,105,226,255,140,241,255,9,227,255,239,235,255,204,224,255,33,244,255,172,224,255,255,239,255,73,224,255,46, +237,255,14,224,255,134,240,255,79,229,255,148,239,255,101,231,255,12,245,255,190,224,255,241,244,255,75,233,255,250,246,255,114,225,255,48,237,255,160,230,255,17,248,255,173,226,255,252,242,255,229,229,255,4,246,255,7,221,255,140,240,255,148,231,255, +188,248,255,252,225,255,62,242,255,25,223,255,40,246,255,80,224,255,44,246,255,189,228,255,37,248,255,88,229,255,55,247,255,16,230,255,91,242,255,12,225,255,24,239,255,117,227,255,95,250,255,146,226,255,116,244,255,162,234,255,11,240,255,172,233,255, +79,235,255,134,232,255,60,237,255,183,229,255,101,232,255,135,232,255,69,237,255,111,232,255,221,234,255,130,228,255,125,225,255,27,226,255,202,229,255,209,226,255,44,231,255,7,226,255,232,226,255,111,224,255,101,226,255,230,222,255,37,231,255,188,217, +255,53,229,255,55,216,255,25,227,255,215,222,255,77,225,255,113,224,255,132,232,255,22,226,255,179,226,255,69,229,255,5,237,255,16,217,255,129,234,255,53,225,255,253,236,255,60,228,255,45,235,255,203,226,255,129,241,255,196,230,255,43,249,255,63,235, +255,13,248,255,42,232,255,148,248,255,7,238,255,235,252,255,84,241,255,3,253,255,176,243,255,233,253,255,178,246,255,182,3,0,101,245,255,247,2,0,164,251,255,211,8,0,4,250,255,154,5,0,81,251,255,138,7,0,164,247,255,52,12,0,2,249,255,154,7,0,172,255,255, +119,8,0,96,1,0,91,14,0,231,3,0,206,10,0,16,252,255,208,2,0,12,5,0,194,12,0,238,0,0,216,9,0,236,255,255,129,5,0,110,249,255,167,6,0,163,250,255,218,4,0,18,253,255,4,255,255,71,247,255,128,0,0,146,242,255,123,253,255,205,242,255,12,253,255,149,244,255, +191,251,255,102,237,255,110,252,255,155,240,255,230,255,255,132,236,255,71,248,255,57,238,255,39,250,255,82,239,255,112,246,255,11,239,255,49,246,255,209,236,255,69,254,255,12,239,255,239,251,255,241,241,255,21,251,255,183,237,255,66,254,255,245,243, +255,132,0,0,253,241,255,255,3,0,195,244,255,242,2,0,249,246,255,59,4,0,40,246,255,72,5,0,186,251,255,157,1,0,109,247,255,246,2,0,75,251,255,209,9,0,154,245,255,106,4,0,254,254,255,47,10,0,224,247,255,63,7,0,208,252,255,139,2,0,33,249,255,186,2,0,178, +245,255,26,1,0,159,251,255,17,6,0,208,255,255,131,5,0,232,2,0,40,2,0,213,253,255,71,8,0,126,3,0,120,6,0,171,4,0,237,8,0,190,1,0,22,1,0,223,5,0,206,12,0,28,4,0,217,14,0,236,6,0,171,6,0,212,2,0,181,11,0,115,4,0,26,11,0,209,7,0,80,13,0,159,1,0,235,7,0,172, +9,0,242,13,0,213,4,0,233,12,0,242,8,0,99,13,0,222,5,0,238,10,0,209,0,0,66,15,0,148,255,255,111,13,0,39,4,0,203,11,0,183,254,255,20,10,0,248,3,0,45,15,0,186,1,0,93,12,0,57,2,0,230,7,0,2,255,255,149,17,0,123,5,0,55,14,0,220,4,0,86,18,0,19,4,0,10,21,0,2, +3,0,23,19,0,178,5,0,167,21,0,169,8,0,84,21,0,174,5,0,34,23,0,25,11,0,232,19,0,126,9,0,250,26,0,115,10,0,154,21,0,239,12,0,252,25,0,5,21,0,17,28,0,24,20,0,117,25,0,188,18,0,110,31,0,158,21,0,34,31,0,108,28,0,205,38,0,29,23,0,153,32,0,114,32,0,180,42,0, +240,27,0,87,40,0,189,32,0,36,42,0,92,30,0,200,45,0,45,31,0,0,49,0,115,36,0,79,43,0,16,30,0,24,45,0,15,35,0,25,41,0,57,40,0,176,44,0,48,34,0,148,44,0,61,36,0,227,38,0,90,32,0,53,45,0,245,35,0,85,34,0,80,30,0,170,38,0,121,27,0,132,36,0,0,30,0,228,31,0, +38,27,0,69,31,0,228,30,0,238,30,0,98,23,0,26,33,0,25,28,0,150,29,0,33,29,0,244,29,0,69,22,0,240,21,0,119,29,0,14,28,0,182,20,0,20,23,0,208,28,0,234,26,0,211,17,0,100,20,0,84,24,0,71,27,0,236,19,0,55,25,0,0,24,0,211,23,0,249,15,0,112,21,0,17,27,0,155, +23,0,47,25,0,22,26,0,0,27,0,211,27,0,205,27,0,139,26,0,207,21,0,61,28,0,183,23,0,182,26,0,232,31,0,241,26,0,121,28,0,95,29,0,121,31,0,82,26,0,108,27,0,121,24,0,185,24,0,46,23,0,158,25,0,220,28,0,115,30,0,164,27,0,87,30,0,112,27,0,94,26,0,152,28,0,11, +31,0,135,26,0,72,17,0,12,21,0,147,21,0,67,22,0,210,23,0,102,18,0,40,20,0,106,23,0,52,22,0,153,21,0,20,20,0,144,15,0,134,18,0,93,19,0,114,17,0,49,16,0,177,14,0,171,18,0,121,15,0,230,17,0,227,13,0,21,18,0,38,19,0,91,17,0,254,17,0,9,17,0,109,13,0,134,16, +0,211,14,0,134,21,0,210,20,0,137,22,0,13,21,0,240,19,0,150,24,0,97,23,0,245,13,0,12,11,0,67,23,0,11,13,0,28,17,0,227,15,0,220,25,0,100,20,0,244,15,0,30,13,0,176,20,0,187,17,0,152,24,0,41,16,0,84,26,0,5,19,0,199,20,0,142,20,0,10,22,0,35,22,0,173,26,0, +86,23,0,225,23,0,157,19,0,103,21,0,62,21,0,138,22,0,226,24,0,161,25,0,238,21,0,153,23,0,2,22,0,76,30,0,214,22,0,154,28,0,42,20,0,55,30,0,207,19,0,22,23,0,186,21,0,134,26,0,88,19,0,220,18,0,46,15,0,193,24,0,94,14,0,119,23,0,220,13,0,236,24,0,185,11,0, +70,18,0,15,12,0,56,21,0,62,13,0,41,19,0,250,13,0,25,19,0,14,15,0,22,24,0,34,13,0,197,19,0,153,18,0,183,16,0,141,18,0,2,23,0,190,21,0,254,22,0,112,20,0,169,25,0,85,24,0,96,22,0,30,25,0,127,28,0,226,25,0,128,32,0,8,33,0,204,35,0,138,32,0,230,37,0,216,37, +0,86,34,0,74,43,0,82,40,0,35,43,0,184,39,0,203,42,0,233,41,0,96,43,0,142,41,0,9,49,0,117,43,0,229,43,0,8,40,0,205,42,0,175,47,0,251,48,0,58,45,0,171,39,0,202,46,0,155,44,0,69,50,0,40,40,0,0,46,0,253,38,0,93,43,0,189,34,0,159,47,0,248,38,0,37,42,0,237, +32,0,72,42,0,97,34,0,131,33,0,73,30,0,57,40,0,1,26,0,27,29,0,29,17,0,113,34,0,28,22,0,230,30,0,231,15,0,123,30,0,116,19,0,138,26,0,60,20,0,6,21,0,71,9,0,241,21,0,231,10,0,227,23,0,184,9,0,46,19,0,197,8,0,115,13,0,150,4,0,88,16,0,54,9,0,193,13,0,126,1, +0,212,6,0,242,2,0,52,20,0,208,8,0,60,9,0,182,3,0,106,13,0,18,6,0,42,14,0,79,4,0,82,10,0,61,6,0,110,9,0,53,3,0,126,12,0,176,2,0,146,15,0,92,9,0,190,11,0,62,2,0,204,15,0,152,5,0,44,21,0,233,6,0,36,14,0,119,3,0,116,13,0,164,11,0,231,15,0,182,3,0,134,11, +0,77,8,0,143,13,0,200,10,0,88,13,0,115,6,0,253,15,0,147,11,0,125,20,0,163,8,0,116,12,0,248,9,0,114,16,0,67,15,0,9,18,0,212,12,0,186,15,0,116,13,0,207,16,0,161,12,0,230,22,0,156,10,0,134,21,0,89,18,0,199,19,0,5,8,0,220,20,0,164,17,0,55,23,0,209,13,0,28, +20,0,44,13,0,39,20,0,230,12,0,66,18,0,244,8,0,66,10,0,16,11,0,251,9,0,250,6,0,207,20,0,222,9,0,244,16,0,0,1,0,246,12,0,122,8,0,23,12,0,137,3,0,114,14,0,24,5,0,92,10,0,132,255,255,206,10,0,5,0,0,56,8,0,75,254,255,189,6,0,104,253,255,121,11,0,194,251,255, +154,3,0,10,251,255,85,7,0,175,253,255,253,5,0,56,247,255,209,3,0,61,253,255,243,4,0,60,254,255,51,4,0,90,246,255,141,8,0,169,252,255,233,7,0,110,254,255,233,7,0,120,251,255,78,2,0,237,249,255,189,5,0,160,1,0,166,9,0,80,2,0,24,8,0,122,0,0,88,9,0,97,255, +255,125,6,0,15,3,0,218,8,0,218,3,0,148,16,0,3,1,0,173,7,0,78,5,0,7,10,0,222,1,0,97,14,0,60,12,0,198,14,0,66,255,255,51,17,0,214,7,0,6,18,0,192,6,0,184,17,0,46,5,0,158,12,0,61,9,0,45,8,0,214,1,0,237,19,0,247,0,0,238,13,0,105,255,255,187,11,0,28,2,0,190, +6,0,168,255,255,146,8,0,97,255,255,75,3,0,159,1,0,116,4,0,214,248,255,201,8,0,118,247,255,153,3,0,15,248,255,123,6,0,156,246,255,78,5,0,24,251,255,156,5,0,0,246,255,202,0,0,18,245,255,222,254,255,174,238,255,98,247,255,140,238,255,14,253,255,0,241,255, +220,248,255,124,238,255,207,252,255,224,239,255,3,251,255,101,240,255,11,251,255,217,237,255,50,0,0,151,237,255,241,248,255,11,232,255,165,1,0,185,233,255,132,251,255,185,233,255,3,248,255,84,233,255,160,254,255,157,235,255,184,254,255,121,234,255,185, +255,255,208,232,255,153,252,255,139,230,255,50,0,0,66,230,255,131,250,255,61,232,255,81,245,255,0,233,255,228,252,255,34,235,255,117,245,255,193,231,255,126,249,255,2,222,255,195,251,255,165,233,255,214,245,255,66,231,255,120,250,255,7,231,255,240,249, +255,41,233,255,102,245,255,192,229,255,136,241,255,123,229,255,166,243,255,235,222,255,36,242,255,109,224,255,195,238,255,194,220,255,197,246,255,1,227,255,249,237,255,197,218,255,209,239,255,192,220,255,152,243,255,153,216,255,93,239,255,56,219,255, +76,238,255,6,216,255,145,240,255,152,214,255,50,239,255,49,219,255,223,230,255,96,211,255,7,245,255,64,214,255,66,231,255,161,209,255,67,236,255,215,215,255,154,229,255,117,207,255,241,234,255,224,208,255,136,238,255,46,208,255,31,230,255,100,203,255, +46,232,255,102,205,255,62,233,255,4,203,255,94,229,255,170,201,255,204,226,255,78,198,255,84,226,255,52,202,255,131,218,255,140,196,255,159,218,255,37,201,255,75,219,255,235,196,255,151,216,255,240,200,255,253,213,255,26,200,255,98,213,255,178,194,255, +10,214,255,167,199,255,67,211,255,150,196,255,211,210,255,186,196,255,214,213,255,141,197,255,116,216,255,91,197,255,149,208,255,4,194,255,147,210,255,170,197,255,208,212,255,97,202,255,32,216,255,149,197,255,25,211,255,23,194,255,143,217,255,86,200, +255,7,211,255,133,193,255,219,219,255,253,203,255,248,220,255,165,198,255,118,223,255,246,201,255,39,226,255,107,202,255,224,223,255,171,209,255,170,223,255,15,208,255,35,224,255,23,207,255,10,221,255,178,206,255,25,226,255,213,211,255,248,228,255,45, +207,255,225,227,255,78,211,255,167,227,255,137,210,255,235,230,255,13,211,255,251,230,255,250,208,255,202,234,255,194,211,255,110,227,255,134,206,255,190,232,255,51,212,255,95,226,255,134,205,255,29,234,255,109,208,255,116,237,255,247,210,255,80,234, +255,201,209,255,87,232,255,103,207,255,234,228,255,104,206,255,154,232,255,178,208,255,150,231,255,207,209,255,47,235,255,93,204,255,50,232,255,238,204,255,20,234,255,11,211,255,231,237,255,125,212,255,180,236,255,94,209,255,254,235,255,130,212,255,88, +239,255,254,208,255,72,236,255,189,211,255,231,235,255,96,210,255,190,239,255,174,207,255,73,238,255,172,215,255,179,241,255,83,213,255,167,240,255,220,214,255,63,238,255,193,212,255,90,239,255,34,213,255,132,236,255,86,217,255,55,235,255,183,211,255, +40,234,255,222,211,255,188,242,255,99,215,255,211,233,255,61,210,255,65,239,255,127,218,255,165,232,255,132,214,255,22,235,255,140,207,255,42,234,255,168,207,255,178,238,255,45,216,255,66,235,255,196,210,255,50,234,255,251,213,255,225,239,255,4,216,255, +32,235,255,59,212,255,190,239,255,82,212,255,98,236,255,87,212,255,129,238,255,157,212,255,117,241,255,188,219,255,134,238,255,81,216,255,141,241,255,42,214,255,134,240,255,100,222,255,246,238,255,141,215,255,193,238,255,175,222,255,81,235,255,51,225, +255,54,237,255,172,218,255,91,243,255,102,223,255,197,239,255,73,218,255,213,239,255,162,219,255,183,237,255,24,217,255,236,243,255,240,220,255,138,244,255,70,222,255,186,241,255,208,217,255,174,243,255,195,222,255,175,240,255,186,216,255,234,239,255, +58,218,255,143,244,255,178,217,255,252,234,255,180,214,255,242,239,255,172,217,255,250,238,255,136,211,255,225,235,255,126,217,255,172,243,255,224,217,255,205,238,255,37,212,255,10,241,255,190,217,255,167,238,255,229,210,255,50,231,255,137,209,255,237, +238,255,45,210,255,226,229,255,42,209,255,193,234,255,199,205,255,130,237,255,83,206,255,2,238,255,13,208,255,49,236,255,243,206,255,122,239,255,44,205,255,174,230,255,98,206,255,124,236,255,154,210,255,125,235,255,160,207,255,255,237,255,235,212,255, +7,233,255,254,207,255,3,239,255,157,215,255,145,235,255,87,216,255,177,245,255,32,218,255,159,239,255,116,220,255,191,242,255,245,219,255,206,244,255,24,221,255,48,247,255,46,223,255,78,244,255,40,222,255,205,250,255,75,227,255,243,251,255,180,227,255, +180,248,255,70,229,255,223,252,255,182,230,255,0,255,255,234,232,255,85,4,0,87,233,255,84,9,0,145,233,255,168,253,255,215,229,255,192,0,0,172,230,255,204,0,0,120,232,255,220,255,255,230,235,255,94,2,0,243,225,255,146,4,0,195,228,255,254,0,0,176,231,255, +222,1,0,190,226,255,90,6,0,205,234,255,154,4,0,3,235,255,144,2,0,180,233,255,34,0,0,11,228,255,204,0,0,116,232,255,230,1,0,131,236,255,197,3,0,71,231,255,16,255,255,213,236,255,105,255,255,108,240,255,137,1,0,158,237,255,165,7,0,151,243,255,111,10,0, +226,245,255,149,1,0,124,244,255,229,8,0,189,244,255,152,5,0,8,1,0,33,10,0,13,250,255,91,7,0,60,249,255,53,3,0,132,250,255,32,8,0,101,247,255,189,9,0,76,252,255,232,11,0,98,3,0,245,7,0,169,255,255,241,10,0,174,4,0,17,7,0,191,250,255,106,4,0,251,248,255, +6,9,0,228,251,255,206,4,0,211,249,255,15,8,0,20,251,255,138,14,0,60,242,255,235,11,0,10,247,255,31,13,0,215,247,255,83,6,0,137,242,255,103,16,0,89,246,255,252,12,0,198,240,255,28,17,0,82,246,255,83,16,0,199,240,255,77,20,0,250,242,255,172,13,0,69,242, +255,54,12,0,146,245,255,229,21,0,171,251,255,5,16,0,171,246,255,79,13,0,135,247,255,17,20,0,235,247,255,212,16,0,94,244,255,154,23,0,11,248,255,138,21,0,34,1,0,111,19,0,103,253,255,199,19,0,172,255,255,25,21,0,134,255,255,187,19,0,103,253,255,242,27, +0,202,2,0,246,20,0,57,255,255,82,28,0,183,4,0,87,29,0,217,9,0,165,24,0,208,5,0,115,26,0,156,6,0,240,27,0,175,4,0,2,28,0,49,14,0,254,27,0,224,9,0,15,29,0,235,7,0,113,28,0,139,11,0,145,31,0,216,11,0,89,26,0,71,12,0,137,31,0,144,14,0,227,32,0,78,8,0,123, +30,0,169,17,0,201,29,0,38,15,0,37,36,0,180,17,0,254,29,0,12,12,0,11,33,0,118,17,0,103,29,0,33,13,0,175,35,0,36,23,0,252,35,0,212,14,0,159,33,0,111,14,0,113,31,0,237,9,0,20,31,0,123,14,0,58,27,0,142,12,0,183,32,0,157,16,0,251,32,0,120,11,0,188,31,0,155, +11,0,246,32,0,234,17,0,114,38,0,83,12,0,83,36,0,145,10,0,180,37,0,179,12,0,237,39,0,96,13,0,86,43,0,231,11,0,252,44,0,48,12,0,146,34,0,148,10,0,161,41,0,4,16,0,242,39,0,168,15,0,219,35,0,140,15,0,173,40,0,208,12,0,166,41,0,104,19,0,118,47,0,165,19,0, +101,39,0,82,23,0,102,40,0,43,20,0,137,41,0,215,22,0,58,40,0,198,21,0,230,42,0,217,27,0,253,37,0,138,28,0,51,44,0,148,30,0,100,41,0,211,26,0,244,43,0,14,28,0,215,42,0,90,31,0,115,45,0,46,30,0,60,39,0,203,24,0,186,39,0,11,33,0,109,39,0,144,32,0,204,39, +0,47,26,0,150,39,0,81,23,0,176,42,0,117,27,0,240,41,0,242,29,0,172,39,0,73,26,0,218,40,0,195,26,0,225,40,0,160,29,0,118,41,0,175,23,0,9,43,0,4,28,0,145,45,0,80,27,0,245,39,0,176,28,0,12,47,0,106,27,0,165,41,0,116,26,0,192,48,0,43,30,0,136,40,0,79,28, +0,200,43,0,61,26,0,249,53,0,88,34,0,220,48,0,41,33,0,85,48,0,98,26,0,207,52,0,238,35,0,247,50,0,237,35,0,238,50,0,112,37,0,109,52,0,173,37,0,86,49,0,152,36,0,132,53,0,30,37,0,81,53,0,185,40,0,80,53,0,77,43,0,61,58,0,0,36,0,98,53,0,63,42,0,86,49,0,150, +41,0,48,55,0,188,42,0,75,47,0,176,33,0,30,49,0,136,40,0,62,47,0,135,36,0,144,50,0,246,36,0,114,42,0,234,31,0,153,48,0,93,33,0,42,39,0,91,26,0,55,42,0,34,27,0,87,45,0,63,26,0,158,38,0,202,28,0,164,42,0,239,26,0,63,40,0,235,26,0,27,39,0,225,29,0,121,32, +0,248,25,0,195,35,0,151,23,0,23,36,0,107,26,0,202,41,0,230,27,0,205,34,0,39,23,0,32,40,0,31,29,0,177,40,0,155,26,0,77,40,0,30,29,0,221,39,0,250,26,0,74,38,0,43,26,0,255,41,0,96,25,0,49,43,0,203,27,0,34,37,0,21,37,0,147,43,0,50,28,0,69,41,0,80,28,0,215, +43,0,122,36,0,107,43,0,104,32,0,159,40,0,43,34,0,25,41,0,49,31,0,140,44,0,238,35,0,203,40,0,53,33,0,161,42,0,180,35,0,60,48,0,245,37,0,16,45,0,241,38,0,225,44,0,140,46,0,25,44,0,172,42,0,22,45,0,100,44,0,193,46,0,146,47,0,220,47,0,26,45,0,17,49,0,66, +41,0,160,45,0,246,44,0,35,49,0,203,42,0,59,42,0,65,42,0,232,48,0,69,46,0,20,45,0,3,45,0,32,49,0,11,51,0,172,45,0,25,47,0,113,44,0,12,44,0,125,45,0,115,46,0,52,47,0,168,44,0,35,45,0,18,45,0,50,42,0,25,44,0,26,46,0,63,50,0,15,49,0,204,52,0,132,47,0,43, +48,0,105,40,0,199,50,0,135,48,0,179,50,0,81,44,0,132,46,0,30,42,0,117,52,0,182,41,0,142,52,0,98,41,0,245,46,0,40,45,0,114,51,0,173,40,0,236,49,0,108,40,0,2,49,0,111,39,0,9,50,0,118,37,0,189,41,0,29,42,0,95,49,0,71,41,0,237,42,0,155,38,0,137,44,0,96,41, +0,121,44,0,57,43,0,98,43,0,209,44,0,78,43,0,210,38,0,12,45,0,116,44,0,96,42,0,174,39,0,153,39,0,73,46,0,185,47,0,103,44,0,228,40,0,7,43,0,18,40,0,204,47,0,127,41,0,104,46,0,230,41,0,7,49,0,18,45,0,27,47,0,156,40,0,136,47,0,101,45,0,150,48,0,35,46,0,69, +50,0,204,42,0,198,51,0,114,47,0,116,53,0,22,45,0,27,53,0,85,39,0,10,48,0,120,46,0,99,52,0,237,45,0,185,53,0,70,44,0,90,51,0,196,42,0,18,57,0,5,49,0,223,50,0,98,45,0,232,53,0,238,46,0,216,53,0,242,50,0,216,51,0,120,50,0,43,53,0,102,53,0,42,47,0,199,48, +0,183,46,0,48,45,0,203,55,0,93,52,0,38,55,0,197,55,0,215,52,0,78,55,0,124,55,0,128,53,0,143,55,0,2,58,0,131,54,0,131,63,0,21,58,0,213,59,0,177,51,0,249,66,0,169,57,0,177,60,0,172,57,0,100,70,0,102,58,0,125,65,0,228,66,0,234,71,0,100,63,0,59,70,0,200, +61,0,6,73,0,43,65,0,70,68,0,92,64,0,0,77,0,181,62,0,210,75,0,121,69,0,103,79,0,114,72,0,150,81,0,8,70,0,226,76,0,113,66,0,44,86,0,34,72,0,227,80,0,97,73,0,120,88,0,189,71,0,215,83,0,108,75,0,175,88,0,145,76,0,99,90,0,138,78,0,214,88,0,160,81,0,36,90, +0,190,81,0,178,91,0,105,81,0,139,91,0,4,82,0,135,93,0,87,81,0,233,93,0,56,88,0,222,99,0,79,83,0,194,95,0,135,90,0,210,96,0,149,83,0,88,96,0,216,87,0,97,103,0,82,86,0,227,101,0,239,91,0,115,102,0,218,98,0,167,101,0,89,90,0,153,99,0,19,90,0,36,110,0,4, +92,0,176,100,0,163,98,0,205,106,0,197,94,0,197,102,0,247,102,0,187,109,0,41,95,0,76,105,0,89,92,0,63,105,0,58,97,0,193,103,0,114,94,0,204,106,0,245,92,0,232,106,0,64,95,0,81,113,0,130,93,0,24,109,0,171,96,0,241,107,0,242,90,0,70,112,0,222,87,0,30,104, +0,74,89,0,3,106,0,94,90,0,126,109,0,254,91,0,176,105,0,233,89,0,104,104,0,145,86,0,54,103,0,140,86,0,223,101,0,11,85,0,42,94,0,254,87,0,198,98,0,9,85,0,22,100,0,143,86,0,96,98,0,187,81,0,188,89,0,157,90,0,73,94,0,92,82,0,54,93,0,253,78,0,198,85,0,162, +87,0,231,85,0,127,79,0,6,85,0,129,75,0,44,84,0,108,80,0,86,81,0,8,71,0,195,72,0,170,71,0,6,75,0,141,72,0,164,73,0,181,70,0,171,77,0,197,71,0,17,71,0,86,69,0,170,70,0,225,67,0,192,74,0,227,59,0,238,69,0,186,60,0,221,74,0,123,61,0,192,70,0,207,60,0,40, +72,0,132,57,0,233,76,0,46,56,0,218,75,0,216,58,0,13,79,0,120,60,0,83,77,0,38,65,0,210,82,0,44,55,0,159,74,0,78,57,0,63,76,0,54,61,0,85,80,0,146,64,0,93,79,0,126,62,0,29,76,0,220,64,0,201,79,0,46,67,0,239,78,0,248,64,0,244,77,0,60,67,0,47,84,0,146,67, +0,142,72,0,24,61,0,35,83,0,97,64,0,149,79,0,190,70,0,8,84,0,151,70,0,211,77,0,192,70,0,108,82,0,113,69,0,95,88,0,226,71,0,222,81,0,102,70,0,37,89,0,129,71,0,32,87,0,219,69,0,160,89,0,66,71,0,218,91,0,96,69,0,186,86,0,172,65,0,16,87,0,19,67,0,49,87,0, +10,69,0,41,90,0,11,61,0,6,88,0,187,65,0,179,90,0,50,63,0,193,83,0,53,63,0,253,83,0,24,64,0,161,86,0,130,57,0,173,77,0,87,57,0,241,78,0,215,49,0,4,72,0,198,51,0,153,68,0,82,47,0,251,63,0,99,49,0,172,64,0,210,48,0,212,64,0,97,40,0,139,58,0,81,46,0,90,56, +0,155,42,0,157,56,0,29,42,0,44,51,0,103,38,0,100,57,0,41,40,0,44,53,0,163,39,0,65,49,0,134,37,0,66,53,0,122,37,0,64,52,0,174,37,0,124,52,0,168,35,0,234,53,0,33,37,0,10,50,0,104,36,0,179,53,0,177,38,0,171,53,0,170,35,0,15,56,0,120,42,0,232,55,0,220,34, +0,70,53,0,171,41,0,243,56,0,135,40,0,142,54,0,55,40,0,205,64,0,251,40,0,186,58,0,59,41,0,114,62,0,92,41,0,125,55,0,87,44,0,55,58,0,241,43,0,158,59,0,109,41,0,133,51,0,219,42,0,254,55,0,204,35,0,5,53,0,179,44,0,251,54,0,114,37,0,135,52,0,234,36,0,166, +50,0,213,34,0,104,49,0,45,37,0,15,48,0,178,34,0,176,47,0,18,29,0,192,44,0,62,29,0,89,44,0,219,27,0,253,37,0,98,27,0,119,36,0,231,24,0,223,30,0,92,21,0,236,32,0,222,19,0,60,30,0,189,15,0,151,26,0,60,15,0,37,21,0,85,14,0,154,27,0,141,18,0,66,21,0,111,14, +0,114,24,0,24,14,0,100,22,0,128,11,0,1,21,0,70,9,0,60,24,0,251,10,0,190,23,0,128,1,0,178,16,0,227,7,0,116,25,0,186,9,0,169,20,0,38,8,0,213,18,0,119,4,0,140,24,0,69,16,0,114,30,0,52,6,0,25,27,0,36,5,0,27,25,0,12,3,0,13,29,0,101,6,0,188,25,0,152,3,0,180, +25,0,141,4,0,33,25,0,140,10,0,184,26,0,220,5,0,29,26,0,114,12,0,191,27,0,86,8,0,23,22,0,118,5,0,227,24,0,172,7,0,160,19,0,234,3,0,94,15,0,136,11,0,239,19,0,200,2,0,6,13,0,161,1,0,36,12,0,176,255,255,157,4,0,48,255,255,117,7,0,216,250,255,83,7,0,204,248, +255,2,4,0,131,244,255,76,254,255,188,244,255,240,246,255,243,239,255,187,246,255,44,239,255,116,248,255,227,230,255,227,237,255,167,233,255,236,244,255,46,226,255,14,242,255,180,218,255,126,236,255,4,222,255,110,233,255,246,223,255,246,235,255,170,212, +255,91,230,255,133,214,255,205,232,255,6,218,255,47,232,255,89,211,255,77,225,255,18,214,255,210,231,255,41,212,255,41,232,255,230,214,255,112,229,255,106,211,255,128,228,255,69,215,255,80,233,255,179,209,255,91,232,255,187,213,255,95,232,255,180,214, +255,156,228,255,147,223,255,100,235,255,12,222,255,168,236,255,178,222,255,85,244,255,114,220,255,36,239,255,254,223,255,165,239,255,85,227,255,195,238,255,232,227,255,199,237,255,146,229,255,7,244,255,34,222,255,196,239,255,60,230,255,109,239,255,124, +230,255,207,242,255,113,228,255,46,236,255,235,225,255,118,238,255,208,228,255,86,245,255,107,228,255,6,236,255,191,224,255,193,239,255,104,229,255,151,245,255,68,226,255,76,244,255,59,231,255,39,244,255,1,227,255,65,244,255,67,231,255,2,241,255,230, +230,255,191,241,255,210,223,255,150,240,255,104,226,255,44,241,255,245,221,255,121,237,255,245,224,255,111,235,255,218,225,255,234,239,255,40,220,255,90,232,255,202,222,255,139,232,255,110,219,255,155,231,255,197,219,255,117,234,255,101,215,255,85,230, +255,9,213,255,104,231,255,170,215,255,121,227,255,246,215,255,152,227,255,228,207,255,37,224,255,107,210,255,254,226,255,73,205,255,148,229,255,93,210,255,91,224,255,81,206,255,236,227,255,116,211,255,136,232,255,249,205,255,251,222,255,23,200,255,135, +222,255,85,205,255,74,225,255,145,206,255,152,227,255,196,209,255,152,227,255,12,205,255,218,230,255,167,205,255,81,229,255,61,201,255,33,228,255,160,206,255,100,229,255,136,208,255,120,227,255,154,206,255,31,237,255,60,202,255,254,235,255,250,204,255, +106,233,255,0,199,255,173,224,255,243,201,255,218,225,255,189,204,255,188,225,255,227,204,255,155,225,255,91,197,255,197,221,255,106,203,255,222,222,255,81,202,255,191,220,255,78,198,255,251,208,255,219,201,255,94,212,255,27,198,255,244,209,255,90,196, +255,188,209,255,4,196,255,224,204,255,36,192,255,118,198,255,63,196,255,58,199,255,209,193,255,7,194,255,232,190,255,203,191,255,99,185,255,34,192,255,145,189,255,241,189,255,93,182,255,94,183,255,19,183,255,126,189,255,206,184,255,39,187,255,213,182, +255,61,185,255,50,174,255,180,190,255,173,179,255,192,187,255,146,174,255,184,188,255,240,175,255,209,187,255,84,178,255,132,193,255,35,173,255,98,188,255,250,176,255,143,185,255,183,170,255,144,182,255,75,177,255,67,194,255,161,172,255,207,191,255,10, +179,255,81,193,255,219,175,255,86,190,255,181,168,255,214,190,255,254,176,255,96,192,255,223,175,255,30,189,255,84,173,255,63,190,255,47,171,255,253,186,255,110,172,255,175,189,255,196,173,255,84,188,255,53,172,255,232,185,255,3,174,255,165,185,255,157, +169,255,35,180,255,151,166,255,53,184,255,212,169,255,29,183,255,34,166,255,102,177,255,250,163,255,204,177,255,79,163,255,55,178,255,156,162,255,47,179,255,177,159,255,56,176,255,98,163,255,63,175,255,0,162,255,71,175,255,1,162,255,116,171,255,63,159, +255,149,172,255,198,160,255,0,173,255,136,162,255,55,174,255,168,157,255,3,172,255,1,155,255,133,169,255,152,157,255,16,177,255,194,157,255,191,174,255,99,155,255,154,174,255,166,162,255,245,172,255,30,162,255,2,175,255,253,157,255,229,176,255,156,160, +255,210,177,255,129,163,255,31,175,255,78,165,255,29,179,255,112,166,255,122,178,255,223,165,255,243,180,255,123,163,255,33,183,255,203,169,255,154,185,255,238,173,255,200,185,255,152,166,255,53,186,255,33,172,255,76,184,255,49,172,255,223,186,255,159, +172,255,147,191,255,166,169,255,246,187,255,233,172,255,157,187,255,79,175,255,210,195,255,72,177,255,180,188,255,91,181,255,209,196,255,202,171,255,151,194,255,233,171,255,254,197,255,82,176,255,110,193,255,249,181,255,38,201,255,18,179,255,234,197, +255,28,177,255,122,199,255,51,177,255,239,201,255,94,182,255,100,205,255,185,180,255,5,208,255,246,175,255,238,197,255,31,180,255,136,207,255,100,183,255,124,204,255,185,182,255,170,204,255,55,186,255,161,203,255,243,184,255,205,209,255,146,188,255,128, +207,255,187,185,255,90,201,255,58,193,255,169,206,255,64,189,255,81,204,255,129,187,255,232,202,255,143,193,255,42,202,255,181,190,255,13,202,255,242,191,255,133,199,255,161,188,255,178,201,255,185,191,255,211,203,255,205,189,255,235,201,255,243,189, +255,172,201,255,53,188,255,19,208,255,163,186,255,149,199,255,92,188,255,119,204,255,33,185,255,39,205,255,205,184,255,31,201,255,48,186,255,138,208,255,141,188,255,126,204,255,211,187,255,108,204,255,36,186,255,249,206,255,88,185,255,34,203,255,170, +184,255,249,199,255,0,188,255,97,205,255,212,180,255,4,201,255,7,189,255,139,201,255,123,179,255,242,199,255,208,183,255,154,200,255,95,188,255,110,196,255,27,176,255,145,197,255,215,177,255,84,195,255,101,180,255,239,193,255,18,172,255,241,197,255,148, +174,255,219,190,255,179,181,255,117,195,255,68,173,255,1,190,255,89,182,255,128,196,255,128,183,255,197,193,255,187,181,255,163,196,255,254,183,255,111,195,255,163,177,255,71,195,255,140,187,255,201,198,255,135,188,255,72,198,255,111,185,255,90,201,255, +228,186,255,100,195,255,14,187,255,136,205,255,82,191,255,102,200,255,148,189,255,231,201,255,64,195,255,235,209,255,139,194,255,23,204,255,170,200,255,8,208,255,252,198,255,16,212,255,149,194,255,64,207,255,12,199,255,146,211,255,23,197,255,242,214, +255,217,202,255,138,214,255,189,198,255,203,215,255,80,200,255,160,217,255,150,198,255,4,222,255,198,202,255,242,220,255,152,204,255,152,224,255,178,198,255,91,216,255,138,198,255,137,217,255,215,200,255,41,218,255,251,198,255,159,214,255,21,197,255, +233,212,255,249,198,255,174,213,255,220,198,255,247,215,255,138,196,255,7,210,255,106,196,255,64,212,255,97,198,255,104,217,255,158,193,255,209,209,255,49,197,255,5,209,255,167,191,255,120,207,255,178,198,255,39,206,255,237,194,255,104,201,255,149,196, +255,27,201,255,55,190,255,190,198,255,8,192,255,10,200,255,194,189,255,6,199,255,58,190,255,122,197,255,46,187,255,107,196,255,192,186,255,243,199,255,116,191,255,177,199,255,30,185,255,223,204,255,244,187,255,26,198,255,141,190,255,131,199,255,163,185, +255,169,199,255,206,189,255,13,197,255,181,187,255,159,195,255,215,187,255,38,198,255,55,182,255,216,197,255,169,186,255,195,199,255,120,180,255,110,195,255,238,189,255,130,197,255,234,181,255,19,196,255,58,187,255,238,190,255,58,180,255,228,191,255, +189,180,255,252,195,255,42,181,255,160,197,255,69,181,255,124,195,255,207,179,255,151,191,255,198,177,255,15,190,255,80,182,255,146,194,255,82,177,255,217,191,255,68,185,255,51,198,255,225,179,255,60,195,255,7,181,255,34,197,255,68,183,255,180,196,255, +94,185,255,18,195,255,222,179,255,111,196,255,204,183,255,75,196,255,142,182,255,224,198,255,228,188,255,232,200,255,255,184,255,114,201,255,131,182,255,179,193,255,254,184,255,116,200,255,128,188,255,45,203,255,215,186,255,98,201,255,12,185,255,131, +206,255,153,186,255,7,202,255,224,191,255,0,202,255,236,189,255,46,201,255,130,189,255,232,202,255,182,191,255,76,204,255,22,194,255,158,207,255,119,197,255,24,209,255,132,195,255,43,201,255,243,195,255,98,202,255,76,190,255,100,200,255,108,196,255,32, +204,255,30,198,255,18,206,255,182,192,255,124,201,255,9,192,255,27,204,255,177,199,255,186,207,255,210,193,255,153,201,255,100,193,255,78,204,255,152,194,255,209,203,255,111,196,255,86,212,255,39,200,255,161,213,255,96,194,255,180,212,255,9,191,255,142, +209,255,116,194,255,175,211,255,236,192,255,121,210,255,55,193,255,255,216,255,50,191,255,176,212,255,249,200,255,1,215,255,37,196,255,163,212,255,2,195,255,2,215,255,66,194,255,22,214,255,41,200,255,12,219,255,250,199,255,204,215,255,189,197,255,43, +223,255,193,198,255,80,219,255,138,199,255,239,214,255,108,199,255,59,218,255,179,196,255,252,218,255,159,203,255,51,216,255,220,197,255,145,220,255,39,202,255,49,220,255,63,201,255,8,216,255,247,203,255,131,221,255,6,205,255,228,220,255,63,208,255,174, +223,255,134,204,255,190,223,255,236,206,255,64,223,255,163,206,255,124,219,255,10,212,255,135,223,255,92,208,255,60,225,255,50,203,255,41,222,255,155,209,255,52,223,255,108,213,255,251,228,255,148,211,255,255,224,255,115,211,255,176,226,255,251,212,255, +196,232,255,11,213,255,218,232,255,37,217,255,160,232,255,193,220,255,94,235,255,148,221,255,49,239,255,75,224,255,142,239,255,68,221,255,36,235,255,221,223,255,218,237,255,214,226,255,80,245,255,129,224,255,102,239,255,5,226,255,126,247,255,6,228,255, +97,250,255,30,233,255,180,246,255,214,231,255,198,252,255,192,228,255,185,248,255,203,232,255,213,252,255,222,232,255,167,250,255,148,235,255,99,1,0,3,239,255,244,248,255,103,233,255,203,254,255,6,240,255,152,0,0,17,237,255,211,254,255,65,240,255,224, +255,255,251,242,255,56,6,0,91,235,255,253,253,255,175,241,255,169,255,255,220,243,255,136,4,0,189,239,255,100,254,255,196,240,255,68,5,0,159,240,255,192,8,0,187,246,255,178,8,0,110,241,255,15,8,0,140,246,255,245,12,0,19,250,255,31,12,0,191,249,255,186, +7,0,185,248,255,56,5,0,216,247,255,230,7,0,34,255,255,151,10,0,54,247,255,196,10,0,140,251,255,254,15,0,134,250,255,135,11,0,245,252,255,247,10,0,35,3,0,59,12,0,24,1,0,128,10,0,183,0,0,95,10,0,21,254,255,246,1,0,29,2,0,237,9,0,21,0,0,104,13,0,200,255, +255,183,8,0,36,2,0,43,10,0,244,3,0,221,9,0,215,3,0,197,10,0,86,5,0,254,7,0,180,0,0,16,12,0,108,255,255,215,6,0,126,255,255,154,9,0,76,252,255,95,5,0,156,253,255,178,6,0,9,1,0,249,11,0,66,252,255,23,8,0,132,252,255,32,15,0,223,249,255,148,12,0,31,249, +255,213,20,0,33,0,0,140,14,0,180,254,255,253,22,0,119,253,255,29,23,0,180,252,255,40,27,0,167,253,255,251,28,0,36,0,0,189,29,0,170,3,0,221,31,0,17,2,0,223,32,0,116,2,0,89,41,0,53,6,0,55,36,0,130,13,0,210,39,0,190,18,0,129,44,0,243,15,0,212,43,0,175,16, +0,28,41,0,127,26,0,126,55,0,198,22,0,181,51,0,106,32,0,115,49,0,5,31,0,24,50,0,11,31,0,237,53,0,146,38,0,10,49,0,99,34,0,251,46,0,94,41,0,83,55,0,153,39,0,237,50,0,189,44,0,233,45,0,51,43,0,155,50,0,242,38,0,186,44,0,255,40,0,43,50,0,153,38,0,50,50,0, +107,43,0,203,50,0,197,39,0,251,45,0,163,42,0,91,47,0,193,40,0,104,46,0,167,37,0,229,47,0,138,35,0,95,43,0,108,35,0,31,45,0,207,32,0,104,45,0,45,32,0,50,50,0,133,26,0,190,41,0,194,28,0,75,35,0,20,28,0,119,42,0,112,25,0,186,43,0,216,26,0,4,42,0,229,25, +0,124,41,0,235,21,0,92,43,0,220,24,0,121,46,0,213,28,0,6,49,0,160,20,0,71,42,0,42,24,0,41,42,0,206,26,0,55,45,0,132,26,0,36,42,0,32,29,0,2,45,0,28,30,0,252,50,0,219,30,0,230,51,0,185,33,0,179,52,0,9,31,0,135,53,0,11,29,0,45,48,0,24,27,0,112,50,0,251, +32,0,146,47,0,149,33,0,166,50,0,27,33,0,19,51,0,75,34,0,90,45,0,113,31,0,159,44,0,160,36,0,107,44,0,163,35,0,100,46,0,0,39,0,64,48,0,46,37,0,243,42,0,50,34,0,7,46,0,139,30,0,123,46,0,223,35,0,118,50,0,138,31,0,16,46,0,73,37,0,70,47,0,177,36,0,213,52, +0,58,39,0,89,50,0,232,36,0,62,48,0,142,34,0,240,47,0,156,34,0,148,48,0,103,33,0,33,46,0,77,32,0,96,49,0,235,34,0,191,56,0,140,35,0,214,52,0,117,34,0,144,53,0,21,34,0,90,49,0,118,32,0,99,48,0,158,32,0,196,46,0,220,32,0,190,50,0,218,36,0,85,46,0,190,34, +0,151,47,0,82,30,0,196,42,0,68,33,0,46,46,0,211,35,0,251,38,0,225,32,0,47,43,0,9,35,0,139,43,0,51,32,0,252,44,0,100,37,0,118,40,0,194,35,0,102,39,0,249,38,0,50,49,0,120,34,0,209,45,0,225,35,0,52,48,0,35,36,0,135,46,0,60,36,0,249,53,0,141,38,0,23,46,0, +114,35,0,215,54,0,186,36,0,64,55,0,120,36,0,15,51,0,112,35,0,103,56,0,111,33,0,113,54,0,129,34,0,119,51,0,213,36,0,141,57,0,33,34,0,140,54,0,201,36,0,51,58,0,40,38,0,95,57,0,83,34,0,203,55,0,119,36,0,17,63,0,104,40,0,151,65,0,198,40,0,124,57,0,168,32, +0,130,51,0,215,40,0,46,62,0,248,35,0,74,54,0,134,40,0,77,55,0,119,34,0,201,55,0,169,40,0,79,57,0,194,40,0,162,52,0,219,40,0,183,55,0,226,42,0,106,55,0,53,43,0,171,53,0,38,40,0,93,52,0,67,42,0,137,52,0,190,43,0,206,50,0,102,42,0,187,46,0,67,46,0,123,51, +0,79,40,0,229,47,0,107,41,0,80,44,0,239,40,0,199,45,0,36,43,0,93,43,0,222,42,0,74,43,0,167,43,0,112,48,0,55,36,0,89,38,0,187,42,0,130,47,0,247,37,0,74,35,0,68,35,0,30,45,0,159,34,0,74,42,0,89,35,0,229,36,0,47,28,0,90,35,0,137,30,0,250,36,0,182,27,0,38, +36,0,89,28,0,233,40,0,222,24,0,121,35,0,122,27,0,17,38,0,188,27,0,119,38,0,126,31,0,147,38,0,58,22,0,198,37,0,168,28,0,165,37,0,174,29,0,163,40,0,184,29,0,107,40,0,87,32,0,81,40,0,114,30,0,199,43,0,211,25,0,214,35,0,33,35,0,44,44,0,129,32,0,228,52,0, +241,33,0,23,47,0,143,31,0,205,46,0,135,32,0,4,46,0,156,32,0,254,41,0,46,33,0,171,39,0,64,37,0,99,47,0,0,34,0,84,37,0,163,35,0,147,40,0,17,34,0,132,44,0,186,32,0,197,40,0,178,33,0,14,40,0,128,35,0,100,36,0,23,38,0,1,41,0,194,29,0,104,39,0,44,33,0,123, +38,0,192,30,0,201,35,0,114,28,0,40,35,0,194,27,0,41,33,0,253,30,0,137,31,0,117,23,0,102,29,0,244,27,0,40,33,0,116,23,0,49,31,0,212,25,0,170,29,0,97,27,0,5,33,0,243,19,0,156,28,0,38,19,0,95,34,0,143,23,0,168,33,0,94,25,0,51,26,0,109,24,0,141,33,0,182, +20,0,236,26,0,88,19,0,82,27,0,185,23,0,225,32,0,218,13,0,169,33,0,96,18,0,148,35,0,213,14,0,100,32,0,1,17,0,203,30,0,64,13,0,131,32,0,210,19,0,1,40,0,223,17,0,238,33,0,161,20,0,158,36,0,5,19,0,196,34,0,143,19,0,132,38,0,97,15,0,208,32,0,142,17,0,59,35, +0,234,18,0,39,36,0,173,20,0,216,31,0,95,21,0,12,36,0,106,21,0,77,36,0,127,13,0,223,33,0,129,17,0,160,33,0,89,19,0,111,34,0,94,18,0,212,29,0,145,18,0,16,34,0,185,20,0,53,33,0,101,15,0,115,30,0,24,18,0,198,27,0,87,22,0,207,31,0,95,21,0,85,37,0,41,23,0, +180,31,0,115,17,0,133,33,0,144,22,0,10,35,0,91,23,0,119,39,0,18,23,0,207,34,0,31,24,0,39,36,0,80,27,0,211,42,0,123,27,0,211,37,0,91,22,0,19,41,0,38,21,0,227,42,0,243,24,0,207,36,0,167,24,0,33,40,0,21,24,0,141,38,0,35,24,0,250,38,0,146,25,0,102,39,0,250, +21,0,121,36,0,21,25,0,204,38,0,37,20,0,66,42,0,178,16,0,108,34,0,158,23,0,200,33,0,221,14,0,106,31,0,59,17,0,69,31,0,166,16,0,237,28,0,110,11,0,59,28,0,108,10,0,237,20,0,91,17,0,9,25,0,64,14,0,185,22,0,54,13,0,198,19,0,133,12,0,221,16,0,167,9,0,161,15, +0,174,9,0,230,13,0,119,9,0,206,14,0,58,5,0,232,10,0,145,9,0,17,16,0,163,7,0,50,14,0,46,11,0,201,7,0,5,8,0,128,9,0,20,13,0,47,13,0,146,8,0,119,10,0,150,8,0,34,12,0,225,5,0,106,7,0,202,0,0,255,0,0,190,255,255,122,3,0,255,1,0,191,3,0,157,1,0,84,253,255, +90,0,0,104,1,0,91,3,0,162,252,255,180,248,255,11,248,255,53,2,0,226,0,0,244,252,255,196,245,255,78,250,255,134,250,255,169,250,255,24,254,255,80,249,255,7,252,255,63,244,255,152,244,255,123,248,255,91,247,255,35,245,255,164,245,255,159,248,255,55,247, +255,68,242,255,181,246,255,46,241,255,175,250,255,235,233,255,47,246,255,147,238,255,162,248,255,171,239,255,233,250,255,119,244,255,190,250,255,230,240,255,3,248,255,23,249,255,57,254,255,12,245,255,130,2,0,89,249,255,239,2,0,7,247,255,173,1,0,7,247, +255,146,3,0,183,248,255,101,2,0,33,1,0,217,5,0,19,254,255,68,8,0,14,0,0,152,255,255,208,2,0,115,9,0,26,2,0,198,5,0,179,2,0,125,11,0,195,7,0,4,14,0,180,7,0,157,11,0,44,5,0,114,12,0,25,4,0,218,11,0,124,6,0,222,8,0,16,10,0,226,12,0,108,8,0,236,15,0,86,4, +0,162,6,0,81,3,0,47,3,0,58,5,0,232,12,0,22,5,0,21,6,0,51,5,0,233,9,0,243,2,0,130,3,0,71,4,0,29,7,0,39,0,0,10,2,0,157,3,0,114,5,0,58,1,0,203,255,255,23,3,0,174,4,0,122,0,0,24,7,0,191,0,0,27,1,0,89,255,255,79,3,0,112,247,255,56,251,255,2,255,255,15,255, +255,126,251,255,204,1,0,45,255,255,127,255,255,59,248,255,159,249,255,99,254,255,103,250,255,33,252,255,145,254,255,205,250,255,238,253,255,188,251,255,79,253,255,47,1,0,130,253,255,95,252,255,78,251,255,222,254,255,139,251,255,9,253,255,178,0,0,189, +253,255,21,252,255,5,252,255,13,250,255,70,253,255,114,250,255,159,2,0,202,252,255,114,247,255,46,3,0,3,1,0,255,2,0,201,254,255,136,3,0,217,4,0,197,1,0,245,0,0,57,4,0,208,254,255,109,254,255,194,255,255,117,0,0,188,2,0,106,1,0,196,8,0,54,6,0,88,6,0,128, +2,0,206,5,0,153,2,0,19,6,0,252,5,0,109,7,0,24,5,0,115,3,0,204,4,0,250,9,0,216,8,0,217,8,0,165,6,0,207,9,0,110,2,0,26,10,0,128,4,0,79,5,0,161,6,0,47,6,0,63,1,0,220,3,0,139,8,0,101,7,0,214,3,0,151,9,0,67,6,0,119,5,0,143,6,0,101,5,0,120,0,0,176,6,0,171, +255,255,28,9,0,12,254,255,78,7,0,243,252,255,144,0,0,52,248,255,122,5,0,239,251,255,201,1,0,49,243,255,158,1,0,211,247,255,248,0,0,196,246,255,93,2,0,110,245,255,108,253,255,122,241,255,133,253,255,114,242,255,130,251,255,165,241,255,72,251,255,220,240, +255,58,251,255,133,241,255,219,255,255,227,244,255,36,252,255,217,241,255,86,0,0,105,244,255,141,250,255,226,248,255,70,246,255,25,246,255,46,254,255,147,250,255,146,247,255,80,242,255,207,248,255,79,249,255,166,251,255,46,252,255,116,249,255,29,248, +255,21,254,255,249,247,255,10,255,255,4,247,255,250,248,255,239,244,255,163,251,255,152,247,255,130,254,255,163,246,255,60,247,255,6,243,255,39,246,255,134,240,255,248,246,255,78,237,255,64,240,255,90,234,255,249,244,255,76,241,255,129,240,255,48,233, +255,31,242,255,212,230,255,233,241,255,155,230,255,48,239,255,26,229,255,158,241,255,112,223,255,15,233,255,32,226,255,132,238,255,156,224,255,232,232,255,61,221,255,225,234,255,24,223,255,233,237,255,163,226,255,69,230,255,18,223,255,48,235,255,44,228, +255,85,235,255,222,220,255,110,236,255,89,227,255,27,236,255,88,229,255,48,233,255,244,227,255,38,242,255,18,233,255,122,235,255,28,224,255,58,235,255,87,233,255,253,239,255,51,228,255,123,240,255,50,235,255,96,238,255,80,233,255,226,237,255,10,232,255, +55,245,255,183,231,255,104,242,255,11,235,255,180,238,255,170,231,255,187,238,255,184,231,255,234,238,255,115,233,255,206,246,255,75,225,255,17,244,255,83,233,255,95,242,255,103,231,255,79,244,255,102,229,255,161,245,255,30,233,255,110,242,255,131,237, +255,169,244,255,48,234,255,47,244,255,201,236,255,90,244,255,15,235,255,197,242,255,91,235,255,248,241,255,33,236,255,190,245,255,192,235,255,205,241,255,225,231,255,139,240,255,102,226,255,72,239,255,18,228,255,231,241,255,158,231,255,59,238,255,154, +229,255,34,238,255,35,226,255,197,240,255,40,222,255,171,238,255,174,222,255,255,237,255,110,222,255,5,236,255,169,215,255,55,237,255,15,218,255,237,235,255,196,215,255,106,234,255,189,215,255,18,230,255,209,214,255,75,233,255,248,212,255,71,234,255, +27,217,255,250,226,255,177,218,255,22,231,255,166,218,255,16,225,255,59,213,255,203,230,255,168,215,255,206,231,255,198,222,255,39,230,255,213,222,255,150,228,255,215,221,255,167,234,255,88,225,255,14,238,255,205,216,255,181,232,255,7,220,255,108,233, +255,7,225,255,131,230,255,166,222,255,82,234,255,229,226,255,232,230,255,162,223,255,152,236,255,133,228,255,82,237,255,167,225,255,202,236,255,30,226,255,127,241,255,179,227,255,141,239,255,7,225,255,249,239,255,198,225,255,14,238,255,7,226,255,242, +239,255,146,224,255,85,234,255,102,221,255,121,241,255,156,221,255,169,240,255,87,222,255,64,237,255,209,220,255,191,240,255,109,224,255,3,237,255,165,217,255,100,237,255,198,219,255,233,237,255,103,220,255,76,231,255,97,224,255,112,233,255,160,221,255, +189,234,255,152,218,255,62,233,255,9,224,255,134,237,255,67,228,255,140,236,255,128,226,255,235,237,255,227,227,255,103,239,255,136,228,255,49,239,255,241,233,255,69,242,255,88,231,255,252,238,255,149,231,255,157,241,255,0,236,255,209,238,255,126,238, +255,139,243,255,251,238,255,122,241,255,177,241,255,53,245,255,170,243,255,74,247,255,18,246,255,225,245,255,151,244,255,135,242,255,20,245,255,72,250,255,40,246,255,137,250,255,198,249,255,228,249,255,192,245,255,206,2,0,171,252,255,153,0,0,112,251, +255,99,0,0,203,250,255,57,3,0,119,248,255,16,7,0,219,253,255,67,5,0,145,249,255,32,3,0,60,244,255,105,4,0,98,251,255,202,10,0,46,255,255,61,9,0,7,247,255,177,10,0,36,253,255,118,6,0,11,250,255,246,6,0,77,251,255,212,10,0,37,250,255,44,10,0,49,243,255, +218,4,0,96,243,255,124,3,0,104,241,255,136,1,0,116,242,255,53,0,0,210,242,255,114,3,0,39,240,255,227,5,0,185,233,255,193,1,0,202,238,255,103,253,255,75,236,255,17,250,255,46,239,255,41,246,255,74,238,255,10,250,255,4,239,255,158,251,255,15,239,255,207, +253,255,176,239,255,231,249,255,40,239,255,12,251,255,213,237,255,178,249,255,249,233,255,185,246,255,111,238,255,230,248,255,80,238,255,130,251,255,64,244,255,248,244,255,94,237,255,1,250,255,51,237,255,84,247,255,192,239,255,231,248,255,202,238,255, +10,244,255,171,243,255,133,246,255,32,246,255,141,251,255,67,245,255,17,252,255,4,238,255,245,0,0,24,245,255,101,250,255,78,245,255,196,253,255,183,243,255,158,254,255,139,245,255,177,251,255,183,247,255,96,252,255,161,241,255,41,250,255,91,237,255,92, +252,255,216,243,255,232,247,255,102,247,255,65,253,255,30,251,255,63,255,255,253,244,255,138,250,255,229,245,255,148,249,255,60,247,255,172,248,255,157,244,255,8,253,255,62,251,255,183,253,255,251,244,255,204,2,0,186,250,255,95,255,255,178,248,255,248, +255,255,253,247,255,21,0,0,187,251,255,21,0,0,70,252,255,39,2,0,109,250,255,202,255,255,190,249,255,118,3,0,176,249,255,43,2,0,103,253,255,182,3,0,187,1,0,64,1,0,127,251,255,74,1,0,150,255,255,247,4,0,199,252,255,9,6,0,216,250,255,147,5,0,105,247,255, +190,6,0,155,249,255,220,1,0,127,249,255,98,7,0,185,251,255,253,4,0,46,250,255,39,3,0,240,244,255,33,4,0,163,248,255,217,3,0,187,247,255,26,6,0,123,245,255,17,2,0,113,245,255,56,1,0,67,246,255,68,4,0,60,247,255,3,4,0,224,247,255,220,2,0,166,243,255,216, +253,255,214,250,255,21,3,0,252,246,255,213,255,255,104,251,255,167,7,0,182,250,255,18,8,0,178,251,255,28,8,0,79,254,255,160,8,0,33,1,0,53,8,0,204,253,255,106,9,0,211,0,0,24,7,0,5,2,0,223,7,0,115,0,0,127,13,0,62,3,0,67,14,0,104,6,0,166,11,0,8,7,0,38,15, +0,15,7,0,219,16,0,161,7,0,215,14,0,153,12,0,176,12,0,242,9,0,90,13,0,90,6,0,37,14,0,17,13,0,4,13,0,64,11,0,249,15,0,39,9,0,161,12,0,164,6,0,252,18,0,123,15,0,107,11,0,242,4,0,195,14,0,201,11,0,118,9,0,141,9,0,67,14,0,167,5,0,167,11,0,92,5,0,8,8,0,217, +5,0,214,8,0,180,8,0,14,9,0,64,4,0,149,9,0,176,9,0,57,9,0,109,7,0,58,13,0,159,4,0,117,8,0,202,5,0,146,15,0,98,7,0,170,16,0,230,6,0,34,18,0,244,13,0,167,13,0,121,11,0,74,16,0,16,6,0,116,23,0,240,14,0,180,15,0,2,13,0,136,19,0,175,14,0,48,16,0,154,13,0,34, +15,0,241,10,0,31,26,0,8,20,0,158,21,0,127,16,0,24,25,0,43,20,0,106,24,0,31,21,0,59,25,0,9,23,0,48,25,0,253,23,0,243,29,0,186,28,0,246,25,0,230,30,0,189,24,0,66,26,0,98,32,0,145,24,0,247,26,0,245,21,0,246,27,0,187,23,0,91,35,0,231,21,0,244,34,0,7,21,0, +15,31,0,43,16,0,183,28,0,146,19,0,82,35,0,59,21,0,86,33,0,246,17,0,215,27,0,227,19,0,65,32,0,217,22,0,25,28,0,220,14,0,150,27,0,188,18,0,4,31,0,102,14,0,8,30,0,137,15,0,126,24,0,73,15,0,20,27,0,99,17,0,196,24,0,30,15,0,113,26,0,110,12,0,131,25,0,102, +13,0,119,26,0,238,15,0,9,22,0,85,16,0,68,19,0,122,14,0,38,21,0,33,21,0,7,13,0,194,12,0,172,18,0,113,18,0,31,17,0,149,11,0,139,21,0,81,14,0,179,13,0,68,13,0,130,13,0,238,13,0,6,13,0,111,12,0,158,16,0,243,11,0,230,15,0,190,8,0,137,12,0,138,10,0,183,12, +0,107,9,0,235,13,0,213,9,0,171,16,0,139,3,0,88,17,0,20,8,0,5,15,0,94,2,0,105,14,0,169,2,0,100,7,0,162,255,255,55,14,0,173,1,0,63,11,0,215,252,255,97,12,0,53,252,255,101,11,0,65,248,255,8,12,0,124,254,255,21,10,0,179,248,255,39,12,0,254,250,255,183,10, +0,249,243,255,55,8,0,154,248,255,60,12,0,9,248,255,96,6,0,250,245,255,84,12,0,176,245,255,136,8,0,9,246,255,25,11,0,158,248,255,73,5,0,103,247,255,120,9,0,34,251,255,165,5,0,92,243,255,129,5,0,126,246,255,100,255,255,150,238,255,188,8,0,44,249,255,197, +0,0,210,245,255,24,2,0,200,251,255,163,253,255,119,240,255,6,0,0,116,244,255,195,255,255,7,244,255,164,3,0,80,245,255,68,255,255,42,251,255,165,254,255,153,246,255,215,254,255,130,247,255,231,1,0,84,243,255,217,251,255,196,248,255,160,255,255,93,246, +255,158,2,0,234,248,255,84,252,255,76,246,255,82,3,0,9,246,255,102,252,255,129,244,255,50,255,255,232,244,255,201,250,255,215,236,255,149,253,255,177,243,255,67,250,255,38,240,255,28,254,255,92,238,255,162,245,255,123,237,255,54,246,255,216,240,255,57, +248,255,77,239,255,145,248,255,248,242,255,19,246,255,238,238,255,58,246,255,98,236,255,91,249,255,237,239,255,172,251,255,179,238,255,104,248,255,152,239,255,206,250,255,196,235,255,92,252,255,65,246,255,179,251,255,131,243,255,29,250,255,52,242,255, +10,0,0,46,245,255,98,251,255,223,246,255,165,0,0,15,253,255,44,2,0,232,1,0,203,5,0,230,0,0,132,4,0,15,0,0,93,7,0,87,1,0,60,6,0,243,7,0,148,9,0,152,8,0,17,17,0,67,10,0,44,13,0,119,7,0,233,18,0,238,12,0,156,19,0,133,16,0,130,21,0,124,17,0,191,16,0,67,23, +0,17,21,0,255,21,0,46,22,0,168,23,0,43,32,0,39,27,0,226,20,0,203,23,0,217,25,0,239,30,0,31,26,0,183,28,0,169,30,0,230,36,0,168,23,0,115,31,0,154,23,0,236,33,0,63,24,0,115,35,0,134,26,0,70,33,0,39,22,0,66,30,0,99,23,0,16,33,0,252,25,0,194,28,0,198,24, +0,232,28,0,100,22,0,78,30,0,151,20,0,255,23,0,148,25,0,71,23,0,153,26,0,197,22,0,76,24,0,111,17,0,54,19,0,19,13,0,139,20,0,189,14,0,112,21,0,63,15,0,114,20,0,204,7,0,111,26,0,103,17,0,205,20,0,123,12,0,49,19,0,165,12,0,156,22,0,68,14,0,191,27,0,151,13, +0,45,25,0,142,15,0,12,24,0,179,18,0,77,21,0,157,12,0,183,23,0,62,18,0,121,25,0,146,22,0,177,25,0,100,22,0,251,26,0,81,26,0,212,26,0,73,26,0,149,27,0,30,24,0,38,30,0,233,24,0,123,27,0,63,28,0,181,31,0,25,31,0,6,26,0,101,36,0,66,28,0,22,34,0,183,30,0,45, +38,0,54,27,0,198,36,0,156,27,0,192,33,0,61,27,0,91,35,0,145,27,0,238,36,0,118,25,0,13,37,0,197,28,0,24,38,0,174,25,0,25,35,0,25,32,0,17,33,0,61,25,0,189,35,0,191,27,0,236,30,0,150,30,0,223,33,0,232,27,0,242,28,0,183,29,0,118,26,0,212,21,0,226,25,0,20, +26,0,18,22,0,198,21,0,248,18,0,247,24,0,10,23,0,17,19,0,215,14,0,109,19,0,60,11,0,226,14,0,94,7,0,194,10,0,28,11,0,97,18,0,102,15,0,222,14,0,237,8,0,124,18,0,13,11,0,155,12,0,9,3,0,190,13,0,188,8,0,105,10,0,201,3,0,31,11,0,233,1,0,161,6,0,33,5,0,77,7, +0,149,3,0,34,7,0,219,254,255,115,6,0,33,5,0,111,2,0,71,3,0,132,11,0,239,9,0,241,9,0,194,8,0,167,9,0,43,5,0,121,10,0,95,7,0,61,12,0,88,10,0,241,5,0,35,10,0,232,14,0,242,8,0,144,15,0,112,12,0,68,12,0,192,13,0,119,18,0,114,16,0,50,12,0,44,12,0,69,17,0,230, +13,0,128,19,0,247,13,0,241,16,0,15,17,0,86,16,0,98,21,0,144,20,0,188,23,0,118,15,0,221,14,0,243,15,0,134,13,0,56,20,0,218,13,0,211,17,0,31,16,0,85,15,0,252,14,0,203,17,0,120,10,0,109,17,0,134,10,0,139,11,0,248,5,0,197,13,0,221,10,0,24,16,0,146,4,0,128, +10,0,185,4,0,159,9,0,181,6,0,81,12,0,226,6,0,224,5,0,44,255,255,254,9,0,115,3,0,237,8,0,114,5,0,75,8,0,128,5,0,87,7,0,63,2,0,163,7,0,173,6,0,29,10,0,93,4,0,164,11,0,49,8,0,237,6,0,149,4,0,190,8,0,197,6,0,32,14,0,76,8,0,119,9,0,203,7,0,65,7,0,178,13,0, +243,7,0,134,15,0,144,8,0,218,10,0,177,6,0,239,5,0,96,7,0,132,13,0,175,8,0,214,10,0,95,7,0,31,16,0,182,17,0,82,9,0,66,8,0,62,11,0,5,10,0,128,12,0,54,10,0,113,13,0,87,4,0,72,3,0,156,5,0,11,9,0,124,13,0,41,10,0,64,14,0,143,6,0,176,10,0,93,3,0,2,8,0,84,5, +0,39,6,0,54,0,0,219,8,0,188,254,255,31,7,0,88,253,255,167,7,0,205,255,255,15,9,0,148,253,255,141,8,0,79,252,255,44,7,0,193,253,255,175,6,0,189,250,255,114,4,0,28,250,255,110,4,0,185,254,255,190,8,0,143,254,255,156,7,0,176,3,0,92,1,0,140,1,0,200,8,0,15, +6,0,96,1,0,210,1,0,212,9,0,135,5,0,100,9,0,165,9,0,42,14,0,176,14,0,113,4,0,169,11,0,233,3,0,144,12,0,106,10,0,160,10,0,23,12,0,226,13,0,18,13,0,34,15,0,229,11,0,54,16,0,28,5,0,125,12,0,225,9,0,50,13,0,144,12,0,192,11,0,214,9,0,131,10,0,184,5,0,122,16, +0,40,6,0,79,4,0,30,3,0,46,5,0,135,0,0,155,2,0,169,3,0,81,3,0,1,1,0,211,251,255,36,1,0,77,252,255,246,252,255,25,254,255,120,250,255,39,247,255,228,252,255,140,245,255,15,250,255,249,240,255,75,250,255,75,244,255,10,249,255,244,239,255,167,242,255,84, +234,255,62,245,255,148,234,255,238,242,255,92,236,255,19,233,255,23,232,255,201,237,255,51,232,255,25,238,255,211,230,255,186,236,255,2,226,255,238,234,255,166,226,255,69,231,255,236,226,255,218,230,255,19,225,255,0,231,255,18,224,255,210,229,255,194, +221,255,167,224,255,106,222,255,37,227,255,204,214,255,61,227,255,168,219,255,19,222,255,10,220,255,159,218,255,220,218,255,126,221,255,92,214,255,68,217,255,205,219,255,157,214,255,225,216,255,70,220,255,189,217,255,215,219,255,100,213,255,0,221,255, +128,215,255,219,212,255,209,213,255,248,219,255,120,218,255,159,217,255,62,216,255,41,212,255,112,207,255,91,213,255,120,212,255,103,211,255,211,212,255,255,212,255,177,212,255,178,209,255,171,210,255,250,215,255,193,208,255,225,214,255,35,209,255,29, +213,255,214,214,255,67,207,255,246,202,255,116,212,255,85,213,255,121,212,255,45,204,255,139,207,255,47,207,255,17,209,255,216,203,255,38,209,255,190,204,255,188,206,255,126,207,255,136,205,255,130,202,255,101,207,255,179,207,255,197,200,255,140,203, +255,107,208,255,57,208,255,141,207,255,203,205,255,162,206,255,200,207,255,124,203,255,133,209,255,54,205,255,249,212,255,90,205,255,178,204,255,41,210,255,139,212,255,205,207,255,41,211,255,33,214,255,213,212,255,217,210,255,165,212,255,7,208,255,147, +214,255,87,211,255,239,212,255,204,209,255,21,212,255,44,215,255,45,218,255,48,215,255,131,212,255,85,220,255,21,220,255,245,213,255,32,217,255,0,213,255,175,217,255,10,213,255,189,212,255,104,219,255,107,217,255,196,217,255,138,216,255,171,215,255,85, +218,255,12,219,255,45,215,255,169,219,255,248,216,255,13,215,255,255,216,255,213,221,255,154,215,255,53,224,255,204,215,255,48,217,255,149,220,255,146,226,255,62,219,255,12,227,255,232,218,255,128,229,255,80,223,255,120,227,255,194,226,255,217,231,255, +87,222,255,208,237,255,81,231,255,68,225,255,92,227,255,166,231,255,213,230,255,202,227,255,61,231,255,244,238,255,39,240,255,98,232,255,200,241,255,45,235,255,44,241,255,186,227,255,73,238,255,97,233,255,249,241,255,163,233,255,97,241,255,42,227,255, +69,234,255,249,231,255,85,237,255,18,225,255,141,238,255,77,232,255,99,243,255,147,233,255,126,235,255,185,231,255,228,237,255,173,235,255,158,236,255,50,230,255,136,231,255,45,233,255,156,229,255,50,228,255,160,229,255,203,229,255,115,228,255,89,229, +255,225,224,255,83,230,255,29,228,255,101,231,255,154,226,255,253,227,255,163,221,255,38,226,255,218,218,255,236,225,255,184,218,255,192,229,255,202,220,255,215,221,255,28,216,255,154,225,255,155,221,255,234,224,255,127,218,255,86,226,255,179,216,255, +162,223,255,187,219,255,42,225,255,115,220,255,250,223,255,46,214,255,45,220,255,64,217,255,115,222,255,124,220,255,193,226,255,170,218,255,214,223,255,129,223,255,0,227,255,101,219,255,145,219,255,112,216,255,167,225,255,96,223,255,181,228,255,173,224, +255,92,222,255,38,221,255,248,223,255,139,223,255,158,226,255,195,224,255,180,224,255,140,225,255,235,223,255,206,225,255,160,223,255,179,223,255,43,222,255,245,226,255,57,227,255,41,227,255,154,224,255,8,222,255,141,225,255,229,226,255,193,226,255,119, +221,255,66,224,255,78,225,255,35,226,255,181,229,255,228,230,255,137,232,255,249,231,255,182,232,255,80,232,255,114,227,255,226,232,255,9,235,255,149,236,255,54,236,255,118,236,255,124,234,255,164,234,255,124,235,255,250,235,255,48,235,255,178,236,255, +14,235,255,198,240,255,187,235,255,82,235,255,226,233,255,165,236,255,127,231,255,68,237,255,92,235,255,168,240,255,230,236,255,41,236,255,143,237,255,255,229,255,25,231,255,211,230,255,200,235,255,185,227,255,185,230,255,85,227,255,205,232,255,215,224, +255,18,235,255,247,223,255,81,235,255,9,223,255,223,233,255,54,223,255,121,230,255,239,221,255,64,235,255,228,222,255,87,237,255,12,220,255,198,237,255,26,221,255,190,240,255,39,224,255,25,240,255,231,227,255,251,242,255,37,229,255,147,244,255,202,230, +255,146,245,255,252,228,255,69,242,255,120,236,255,116,249,255,41,230,255,205,250,255,142,240,255,7,253,255,182,241,255,157,255,255,71,238,255,85,254,255,142,241,255,219,255,255,117,247,255,36,4,0,17,242,255,171,7,0,101,245,255,202,255,255,30,252,255, +23,3,0,177,250,255,56,5,0,25,254,255,196,2,0,174,249,255,119,3,0,121,3,0,95,7,0,142,2,0,34,6,0,144,0,0,73,1,0,68,0,0,192,3,0,48,7,0,227,5,0,197,2,0,162,254,255,28,6,0,69,1,0,213,3,0,112,6,0,203,3,0,134,5,0,215,5,0,118,4,0,70,8,0,110,8,0,107,6,0,33,6, +0,12,7,0,208,3,0,130,3,0,246,0,0,126,10,0,73,7,0,44,3,0,121,7,0,7,2,0,90,10,0,77,4,0,52,7,0,136,10,0,241,19,0,163,7,0,102,11,0,203,8,0,3,16,0,57,12,0,211,17,0,255,5,0,36,22,0,60,6,0,32,14,0,52,7,0,75,21,0,43,12,0,239,24,0,21,7,0,0,20,0,65,8,0,244,17, +0,66,12,0,119,20,0,24,10,0,244,19,0,81,11,0,179,21,0,77,6,0,111,18,0,193,12,0,229,19,0,45,14,0,20,21,0,207,11,0,169,15,0,253,15,0,89,28,0,137,12,0,109,21,0,180,13,0,247,20,0,5,15,0,175,20,0,38,18,0,115,23,0,47,16,0,161,17,0,133,18,0,213,21,0,253,14,0, +96,19,0,215,16,0,130,19,0,232,12,0,207,22,0,152,12,0,116,21,0,164,13,0,215,21,0,21,16,0,212,25,0,191,15,0,204,21,0,200,18,0,142,21,0,88,19,0,243,24,0,106,16,0,221,25,0,25,19,0,50,22,0,10,18,0,218,20,0,136,18,0,120,23,0,214,13,0,92,25,0,230,19,0,148,28, +0,101,20,0,70,31,0,235,14,0,44,32,0,128,22,0,46,34,0,63,18,0,72,31,0,241,22,0,177,35,0,242,23,0,178,38,0,116,22,0,101,33,0,91,28,0,25,42,0,181,27,0,134,44,0,147,27,0,47,44,0,143,32,0,142,48,0,24,33,0,116,47,0,7,31,0,73,49,0,185,36,0,230,44,0,16,33,0, +26,51,0,9,36,0,217,48,0,58,42,0,96,50,0,64,37,0,209,48,0,24,38,0,80,50,0,253,35,0,49,45,0,29,37,0,79,48,0,41,34,0,207,41,0,59,38,0,235,42,0,200,36,0,109,41,0,188,32,0,50,38,0,111,37,0,129,39,0,163,38,0,29,39,0,198,33,0,89,35,0,191,34,0,138,36,0,78,34, +0,139,35,0,186,30,0,14,34,0,27,33,0,49,35,0,60,29,0,22,36,0,193,29,0,199,35,0,158,31,0,169,33,0,14,26,0,236,32,0,46,30,0,111,35,0,137,23,0,97,35,0,211,22,0,237,35,0,228,29,0,87,40,0,38,28,0,8,43,0,57,30,0,202,46,0,53,33,0,243,50,0,1,33,0,124,49,0,28, +37,0,233,52,0,153,29,0,150,52,0,57,36,0,208,53,0,104,44,0,161,55,0,86,43,0,92,55,0,102,39,0,176,58,0,40,47,0,26,64,0,95,48,0,239,66,0,16,49,0,65,60,0,223,47,0,49,63,0,105,46,0,193,60,0,200,46,0,59,56,0,82,54,0,174,60,0,106,51,0,199,58,0,177,50,0,100, +55,0,125,51,0,68,55,0,216,46,0,133,51,0,21,55,0,236,48,0,155,52,0,125,51,0,140,48,0,12,47,0,118,51,0,207,44,0,124,51,0,75,42,0,152,48,0,147,38,0,142,51,0,139,42,0,251,44,0,11,40,0,136,42,0,198,34,0,147,39,0,194,39,0,168,35,0,216,38,0,31,35,0,29,34,0, +75,36,0,42,34,0,41,37,0,89,33,0,169,34,0,204,32,0,27,30,0,138,31,0,58,26,0,68,27,0,219,27,0,74,27,0,96,28,0,200,26,0,47,27,0,74,29,0,236,29,0,102,31,0,113,22,0,113,26,0,216,24,0,97,31,0,48,25,0,231,25,0,139,33,0,147,31,0,207,32,0,131,35,0,127,28,0,113, +33,0,237,33,0,205,36,0,8,35,0,14,37,0,4,34,0,156,36,0,228,29,0,72,43,0,68,36,0,24,49,0,40,35,0,180,43,0,220,32,0,104,44,0,124,32,0,110,46,0,89,32,0,242,41,0,249,38,0,122,42,0,153,35,0,252,47,0,255,32,0,104,42,0,84,40,0,35,45,0,162,38,0,68,42,0,110,34, +0,218,41,0,147,31,0,74,38,0,150,32,0,90,33,0,255,33,0,120,32,0,80,32,0,130,30,0,145,33,0,58,31,0,199,30,0,249,27,0,222,27,0,235,23,0,198,29,0,184,21,0,21,25,0,122,19,0,149,28,0,156,17,0,143,24,0,47,13,0,129,22,0,91,17,0,217,22,0,248,13,0,160,17,0,121, +15,0,104,23,0,222,19,0,33,18,0,193,10,0,46,21,0,83,14,0,251,15,0,185,15,0,155,18,0,17,16,0,151,17,0,51,17,0,106,20,0,19,19,0,244,13,0,164,15,0,58,19,0,166,17,0,37,20,0,39,18,0,85,18,0,234,17,0,103,15,0,95,23,0,216,20,0,85,20,0,135,27,0,248,22,0,223,18, +0,247,22,0,69,20,0,204,26,0,42,19,0,223,22,0,22,25,0,189,21,0,53,23,0,230,20,0,14,17,0,18,21,0,255,19,0,129,17,0,201,18,0,188,20,0,100,14,0,199,12,0,171,16,0,100,17,0,199,14,0,251,16,0,132,11,0,230,10,0,25,14,0,20,14,0,110,8,0,54,8,0,89,9,0,33,3,0,136, +9,0,36,255,255,156,5,0,119,2,0,79,3,0,255,253,255,75,3,0,175,251,255,119,255,255,185,252,255,7,255,255,247,255,255,83,1,0,50,250,255,235,250,255,42,0,0,40,0,0,175,255,255,63,253,255,192,252,255,180,0,0,26,255,255,134,254,255,58,253,255,196,253,255,240, +251,255,168,2,0,145,251,255,94,1,0,200,254,255,4,2,0,179,251,255,57,252,255,108,255,255,143,255,255,60,2,0,127,254,255,81,254,255,0,255,255,225,253,255,116,255,255,55,4,0,46,4,0,10,1,0,4,5,0,154,253,255,148,4,0,222,0,0,41,2,0,26,2,0,183,3,0,77,5,0,13, +3,0,199,3,0,10,3,0,133,4,0,246,4,0,83,6,0,168,4,0,109,4,0,247,6,0,152,8,0,31,8,0,183,7,0,233,4,0,242,9,0,99,7,0,194,6,0,38,13,0,182,8,0,136,10,0,68,9,0,192,9,0,175,8,0,191,4,0,50,7,0,169,8,0,50,2,0,19,8,0,110,8,0,126,2,0,210,4,0,142,5,0,253,5,0,132,0, +0,227,252,255,43,3,0,228,251,255,77,0,0,99,254,255,182,3,0,174,0,0,56,254,255,206,255,255,35,252,255,38,247,255,187,255,255,34,252,255,220,0,0,60,248,255,68,251,255,165,244,255,215,252,255,154,244,255,254,251,255,93,242,255,119,251,255,189,244,255,77, +254,255,196,246,255,147,248,255,76,245,255,154,246,255,142,244,255,20,249,255,97,249,255,111,252,255,251,248,255,226,248,255,231,248,255,199,250,255,204,250,255,60,248,255,12,247,255,19,250,255,154,254,255,121,254,255,247,251,255,11,1,0,94,253,255,164, +1,0,116,6,0,213,0,0,11,6,0,43,4,0,84,5,0,87,14,0,53,11,0,80,10,0,228,8,0,244,7,0,213,12,0,1,14,0,171,11,0,45,14,0,188,13,0,80,17,0,100,22,0,231,12,0,177,17,0,173,12,0,232,20,0,55,19,0,91,26,0,130,26,0,67,26,0,240,25,0,113,23,0,35,22,0,69,28,0,186,24, +0,68,30,0,172,26,0,36,29,0,232,23,0,225,29,0,250,29,0,23,28,0,120,31,0,213,23,0,139,33,0,25,27,0,240,28,0,204,27,0,196,26,0,18,30,0,27,26,0,116,25,0,18,25,0,174,26,0,172,24,0,232,22,0,193,27,0,72,24,0,177,23,0,150,21,0,179,17,0,156,24,0,140,18,0,109, +22,0,4,21,0,80,18,0,195,22,0,210,16,0,23,17,0,7,14,0,33,15,0,170,17,0,76,17,0,58,14,0,214,16,0,169,17,0,75,13,0,203,11,0,141,12,0,250,14,0,110,12,0,223,11,0,118,13,0,235,10,0,127,12,0,154,10,0,117,13,0,67,11,0,20,14,0,57,12,0,213,14,0,78,9,0,92,12,0, +191,18,0,217,8,0,174,14,0,162,15,0,102,14,0,234,20,0,2,15,0,85,20,0,27,21,0,219,19,0,38,18,0,0,20,0,237,22,0,247,25,0,64,26,0,141,24,0,135,22,0,242,28,0,243,27,0,172,25,0,179,27,0,122,31,0,144,30,0,243,30,0,133,30,0,168,30,0,6,29,0,61,28,0,83,37,0,102, +25,0,37,30,0,22,31,0,240,32,0,90,33,0,105,32,0,146,27,0,123,30,0,126,32,0,204,30,0,119,33,0,157,32,0,131,32,0,141,28,0,163,35,0,50,30,0,88,29,0,161,24,0,194,32,0,246,25,0,194,22,0,58,22,0,86,23,0,231,18,0,211,30,0,135,17,0,166,22,0,67,16,0,102,22,0,69, +20,0,20,22,0,7,11,0,129,17,0,37,11,0,105,18,0,16,10,0,245,14,0,166,13,0,234,20,0,22,9,0,240,18,0,123,9,0,200,20,0,195,11,0,239,19,0,180,8,0,136,13,0,219,5,0,237,15,0,240,9,0,163,16,0,69,12,0,75,15,0,84,6,0,88,14,0,157,12,0,84,15,0,42,15,0,131,13,0,105, +11,0,226,15,0,25,13,0,82,10,0,135,10,0,120,13,0,169,12,0,161,15,0,204,17,0,30,20,0,170,19,0,178,19,0,189,15,0,218,18,0,38,17,0,164,20,0,98,18,0,89,18,0,229,17,0,173,17,0,252,13,0,250,14,0,80,13,0,119,22,0,134,14,0,125,21,0,241,7,0,3,15,0,49,5,0,245,11, +0,153,5,0,9,23,0,146,9,0,249,13,0,89,8,0,225,14,0,116,2,0,26,15,0,237,8,0,150,14,0,21,2,0,173,13,0,18,2,0,153,9,0,102,255,255,103,6,0,75,255,255,96,11,0,29,252,255,183,8,0,146,254,255,119,9,0,254,255,255,41,10,0,11,3,0,15,8,0,28,255,255,53,1,0,195,249, +255,221,4,0,206,0,0,105,7,0,8,0,0,87,255,255,210,0,0,86,4,0,95,2,0,129,5,0,106,255,255,29,1,0,18,0,0,128,9,0,185,3,0,237,4,0,163,254,255,156,5,0,68,1,0,52,12,0,51,2,0,107,8,0,196,255,255,190,11,0,90,6,0,220,11,0,152,2,0,60,16,0,47,4,0,45,11,0,42,6,0, +176,10,0,34,3,0,153,16,0,6,11,0,203,17,0,37,10,0,205,13,0,214,11,0,122,17,0,204,10,0,228,19,0,149,12,0,115,16,0,18,11,0,164,18,0,48,12,0,106,18,0,40,9,0,212,21,0,209,13,0,74,16,0,117,9,0,181,16,0,192,11,0,131,15,0,202,6,0,172,13,0,224,3,0,104,19,0,98, +10,0,71,18,0,222,6,0,17,18,0,207,8,0,169,11,0,27,1,0,54,16,0,216,4,0,197,13,0,135,1,0,104,12,0,52,0,0,87,8,0,249,253,255,229,6,0,183,255,255,201,8,0,106,255,255,25,5,0,188,253,255,11,10,0,67,2,0,165,2,0,48,249,255,209,6,0,17,1,0,68,6,0,99,255,255,125, +6,0,182,249,255,181,3,0,9,255,255,156,5,0,67,254,255,174,252,255,196,252,255,87,6,0,171,247,255,161,255,255,40,251,255,89,1,0,118,247,255,109,250,255,117,245,255,251,0,0,67,251,255,117,0,0,152,250,255,105,251,255,47,248,255,25,254,255,58,247,255,160, +250,255,41,244,255,241,250,255,133,246,255,174,247,255,99,238,255,53,253,255,252,239,255,227,242,255,50,237,255,27,247,255,68,234,255,89,246,255,14,234,255,253,249,255,186,231,255,163,238,255,169,221,255,145,239,255,235,222,255,165,239,255,197,221,255, +254,240,255,139,222,255,220,231,255,233,217,255,20,233,255,66,217,255,16,231,255,14,214,255,177,231,255,182,212,255,58,228,255,35,217,255,46,227,255,53,219,255,62,228,255,34,223,255,161,225,255,73,217,255,44,232,255,192,221,255,131,230,255,64,222,255, +196,234,255,97,225,255,65,234,255,54,223,255,209,237,255,74,230,255,189,230,255,178,228,255,235,231,255,17,235,255,96,237,255,128,237,255,220,241,255,64,235,255,197,235,255,92,241,255,170,239,255,84,242,255,99,246,255,99,241,255,186,240,255,58,242,255, +99,244,255,108,242,255,73,248,255,51,240,255,152,247,255,204,243,255,107,244,255,199,242,255,77,246,255,201,237,255,38,253,255,77,237,255,105,251,255,119,242,255,137,250,255,195,241,255,177,252,255,73,238,255,3,250,255,229,237,255,116,249,255,171,238, +255,219,251,255,2,241,255,25,249,255,24,240,255,159,249,255,224,242,255,52,246,255,213,236,255,29,251,255,229,240,255,124,250,255,146,238,255,117,247,255,50,241,255,39,246,255,210,233,255,146,246,255,235,239,255,20,247,255,183,235,255,109,248,255,221, +233,255,243,246,255,26,235,255,152,245,255,188,233,255,137,244,255,8,233,255,59,243,255,25,228,255,207,246,255,146,231,255,76,245,255,212,227,255,184,241,255,179,227,255,195,236,255,89,224,255,151,238,255,147,222,255,221,240,255,227,221,255,134,243,255, +160,218,255,12,238,255,207,215,255,73,236,255,211,215,255,160,233,255,253,219,255,33,232,255,48,217,255,72,231,255,69,214,255,148,230,255,126,211,255,120,231,255,1,218,255,65,233,255,91,211,255,123,233,255,214,216,255,69,236,255,74,219,255,133,233,255, +99,217,255,48,231,255,0,221,255,0,229,255,38,222,255,21,230,255,43,223,255,205,229,255,208,220,255,192,226,255,178,220,255,144,228,255,198,222,255,159,225,255,46,223,255,138,228,255,183,220,255,88,227,255,162,226,255,62,227,255,231,223,255,132,226,255, +102,224,255,88,225,255,106,224,255,210,227,255,17,229,255,119,225,255,103,223,255,109,224,255,176,222,255,33,225,255,198,224,255,15,227,255,71,223,255,206,228,255,44,222,255,199,227,255,171,221,255,115,224,255,249,217,255,253,231,255,86,218,255,112,229, +255,160,222,255,40,230,255,96,221,255,171,231,255,192,224,255,217,236,255,239,219,255,201,235,255,76,223,255,75,237,255,34,219,255,114,233,255,254,218,255,144,239,255,189,220,255,154,233,255,121,217,255,63,243,255,79,225,255,62,241,255,22,223,255,18, +238,255,31,226,255,95,238,255,111,226,255,67,235,255,80,223,255,82,239,255,177,221,255,15,245,255,53,228,255,24,243,255,211,230,255,42,236,255,177,225,255,235,244,255,198,227,255,170,239,255,214,225,255,41,239,255,49,227,255,33,236,255,46,228,255,71, +238,255,212,222,255,8,238,255,13,225,255,130,232,255,10,225,255,167,232,255,71,227,255,234,234,255,41,223,255,80,229,255,224,223,255,41,229,255,155,222,255,82,230,255,2,222,255,115,231,255,143,221,255,122,228,255,216,217,255,219,230,255,227,224,255,126, +229,255,121,221,255,64,229,255,2,223,255,124,233,255,122,220,255,151,228,255,109,221,255,92,230,255,50,216,255,175,228,255,107,221,255,242,232,255,21,222,255,209,236,255,8,222,255,96,237,255,2,223,255,139,243,255,166,223,255,217,238,255,86,225,255,210, +235,255,173,222,255,137,239,255,34,227,255,101,240,255,198,225,255,231,238,255,211,229,255,255,235,255,215,229,255,188,238,255,48,231,255,62,239,255,59,233,255,59,241,255,36,232,255,77,234,255,216,229,255,162,241,255,161,240,255,103,238,255,73,235,255, +219,241,255,233,235,255,13,243,255,236,237,255,210,239,255,239,239,255,181,236,255,86,240,255,5,240,255,193,238,255,59,237,255,0,240,255,24,244,255,29,244,255,88,241,255,65,235,255,189,237,255,125,237,255,117,244,255,240,233,255,193,245,255,66,235,255, +204,243,255,36,237,255,136,241,255,61,234,255,234,238,255,208,234,255,145,236,255,230,237,255,255,242,255,176,239,255,215,238,255,49,234,255,112,237,255,156,234,255,75,239,255,215,230,255,92,233,255,112,225,255,166,237,255,121,233,255,124,231,255,200, +229,255,217,231,255,113,225,255,119,230,255,133,222,255,150,228,255,106,223,255,224,232,255,43,219,255,57,230,255,255,219,255,95,228,255,57,219,255,27,222,255,192,212,255,132,224,255,49,214,255,110,228,255,27,213,255,75,231,255,79,207,255,8,224,255,110, +210,255,8,225,255,121,210,255,24,226,255,60,208,255,179,220,255,118,203,255,167,227,255,237,213,255,115,226,255,120,211,255,59,226,255,119,213,255,231,230,255,113,213,255,202,226,255,107,213,255,136,227,255,215,219,255,36,228,255,125,220,255,123,227, +255,63,219,255,230,227,255,185,224,255,79,226,255,204,222,255,93,229,255,102,225,255,102,230,255,64,227,255,216,226,255,61,224,255,58,226,255,78,227,255,70,227,255,177,228,255,228,226,255,233,226,255,12,227,255,10,230,255,99,224,255,141,223,255,91,222, +255,182,225,255,253,220,255,32,221,255,217,223,255,103,223,255,43,222,255,148,222,255,153,222,255,222,219,255,135,218,255,148,215,255,224,219,255,238,217,255,113,216,255,27,215,255,68,218,255,10,208,255,43,220,255,46,211,255,70,215,255,132,209,255,96, +213,255,218,205,255,142,221,255,146,210,255,28,213,255,19,209,255,0,217,255,99,204,255,241,213,255,55,198,255,155,211,255,87,200,255,7,209,255,21,203,255,99,212,255,21,199,255,238,208,255,207,201,255,206,212,255,197,197,255,76,211,255,184,202,255,67, +207,255,12,201,255,63,210,255,247,203,255,130,214,255,209,207,255,71,210,255,215,214,255,100,213,255,76,219,255,195,216,255,126,223,255,130,216,255,34,223,255,53,221,255,114,225,255,141,216,255,103,226,255,70,221,255,233,228,255,162,220,255,51,232,255, +189,226,255,32,236,255,239,228,255,32,236,255,19,233,255,32,240,255,28,232,255,52,236,255,183,232,255,87,241,255,190,232,255,32,237,255,247,241,255,220,239,255,11,242,255,224,242,255,16,238,255,215,242,255,56,238,255,233,241,255,55,242,255,37,242,255, +87,239,255,214,241,255,178,238,255,188,234,255,252,241,255,44,244,255,7,240,255,62,238,255,121,244,255,143,244,255,108,244,255,112,243,255,84,245,255,162,238,255,12,248,255,181,235,255,57,250,255,100,243,255,89,246,255,32,239,255,222,244,255,191,237, +255,36,246,255,30,237,255,196,247,255,118,236,255,216,247,255,29,236,255,216,244,255,120,237,255,65,245,255,91,234,255,224,242,255,192,233,255,111,241,255,67,230,255,39,247,255,85,231,255,142,242,255,120,230,255,164,247,255,218,231,255,117,240,255,28, +229,255,185,239,255,211,233,255,235,239,255,176,237,255,233,240,255,45,235,255,55,240,255,252,234,255,219,239,255,26,235,255,10,243,255,234,232,255,255,244,255,144,233,255,78,242,255,48,236,255,215,240,255,209,228,255,88,242,255,54,238,255,250,242,255, +115,236,255,88,241,255,6,236,255,155,242,255,168,236,255,5,243,255,97,233,255,66,245,255,244,239,255,41,239,255,114,237,255,111,239,255,237,234,255,157,243,255,135,238,255,127,242,255,15,235,255,228,241,255,171,233,255,168,235,255,177,231,255,202,240, +255,102,232,255,211,234,255,244,227,255,38,236,255,35,229,255,118,232,255,173,227,255,114,230,255,88,227,255,188,232,255,53,224,255,111,229,255,235,224,255,5,233,255,178,222,255,227,230,255,80,222,255,139,225,255,115,220,255,233,227,255,165,220,255,170, +225,255,51,220,255,154,226,255,104,220,255,243,223,255,124,220,255,170,228,255,5,217,255,18,226,255,3,218,255,91,225,255,101,221,255,91,226,255,226,214,255,77,229,255,236,212,255,101,231,255,8,216,255,11,226,255,207,218,255,199,227,255,217,218,255,246, +229,255,57,220,255,149,231,255,74,218,255,251,230,255,236,221,255,94,234,255,155,223,255,177,235,255,193,227,255,167,231,255,147,225,255,175,236,255,185,231,255,153,238,255,84,230,255,117,238,255,88,234,255,157,239,255,47,238,255,127,238,255,253,235, +255,52,239,255,40,234,255,164,237,255,113,238,255,116,247,255,117,238,255,187,238,255,238,233,255,139,241,255,169,234,255,70,244,255,39,236,255,12,244,255,180,237,255,18,243,255,108,236,255,156,239,255,158,239,255,55,242,255,17,238,255,29,246,255,254, +240,255,36,243,255,4,240,255,134,239,255,205,239,255,157,245,255,225,243,255,138,244,255,255,243,255,177,245,255,22,245,255,181,245,255,229,242,255,142,244,255,58,247,255,30,248,255,231,251,255,145,248,255,212,249,255,154,250,255,164,244,255,29,254,255, +143,250,255,236,255,255,87,255,255,206,255,255,80,254,255,52,254,255,44,255,255,147,255,255,122,0,0,90,4,0,174,3,0,185,4,0,96,1,0,95,8,0,163,8,0,215,3,0,78,6,0,252,8,0,228,7,0,23,8,0,46,4,0,78,8,0,130,6,0,120,10,0,56,11,0,242,8,0,122,8,0,113,10,0,228, +7,0,143,8,0,60,7,0,244,9,0,154,10,0,120,7,0,254,6,0,247,10,0,138,9,0,179,14,0,24,13,0,152,8,0,254,12,0,100,15,0,224,12,0,178,9,0,216,9,0,130,12,0,105,14,0,131,10,0,60,11,0,12,11,0,53,12,0,230,14,0,123,15,0,52,10,0,200,12,0,246,14,0,147,13,0,221,11,0, +82,12,0,193,14,0,31,18,0,12,14,0,130,17,0,37,11,0,181,14,0,35,9,0,146,17,0,197,16,0,205,17,0,232,12,0,127,20,0,126,10,0,1,17,0,13,12,0,56,17,0,215,17,0,172,15,0,249,19,0,23,17,0,176,20,0,75,17,0,241,19,0,67,22,0,154,21,0,242,20,0,169,22,0,99,29,0,53, +20,0,40,22,0,35,28,0,254,24,0,14,26,0,26,22,0,204,29,0,182,26,0,19,27,0,230,27,0,79,28,0,220,27,0,170,29,0,83,29,0,198,26,0,71,24,0,249,27,0,120,30,0,199,34,0,46,35,0,237,28,0,251,29,0,215,33,0,22,35,0,148,31,0,72,34,0,40,31,0,244,37,0,201,32,0,7,35, +0,88,31,0,47,34,0,27,32,0,239,37,0,126,34,0,146,29,0,76,31,0,202,31,0,176,32,0,212,31,0,8,33,0,102,35,0,134,28,0,162,31,0,110,31,0,242,29,0,134,30,0,43,33,0,104,35,0,194,27,0,225,27,0,0,33,0,44,30,0,208,28,0,57,27,0,8,26,0,158,27,0,1,29,0,66,27,0,79, +26,0,190,29,0,254,27,0,150,25,0,247,20,0,39,22,0,25,24,0,193,22,0,150,19,0,38,20,0,192,19,0,145,18,0,193,18,0,56,23,0,126,19,0,211,15,0,210,15,0,56,16,0,188,10,0,69,18,0,190,15,0,123,13,0,176,11,0,104,18,0,36,19,0,44,19,0,138,14,0,89,13,0,150,13,0,213, +19,0,203,12,0,136,16,0,211,15,0,230,14,0,138,10,0,84,23,0,232,16,0,182,17,0,57,17,0,181,23,0,251,14,0,79,18,0,210,15,0,238,16,0,112,15,0,85,20,0,38,20,0,36,25,0,127,19,0,179,23,0,36,24,0,108,26,0,166,22,0,12,25,0,140,24,0,113,30,0,1,28,0,3,31,0,196,30, +0,204,28,0,1,31,0,203,30,0,233,34,0,99,33,0,86,34,0,176,30,0,118,39,0,146,30,0,236,35,0,252,39,0,122,43,0,60,35,0,246,44,0,251,42,0,81,45,0,217,44,0,198,46,0,9,37,0,212,42,0,6,38,0,175,47,0,67,43,0,239,47,0,87,39,0,196,47,0,36,46,0,162,46,0,240,43,0, +87,44,0,92,48,0,6,48,0,150,48,0,134,44,0,159,48,0,157,47,0,108,44,0,208,44,0,98,44,0,37,49,0,132,43,0,199,49,0,214,44,0,113,46,0,117,43,0,60,49,0,130,47,0,143,48,0,48,47,0,32,48,0,183,49,0,89,51,0,81,49,0,151,49,0,24,45,0,89,49,0,190,49,0,91,53,0,26, +48,0,244,50,0,102,44,0,197,46,0,195,43,0,251,49,0,40,49,0,181,48,0,0,45,0,150,46,0,187,47,0,54,50,0,101,47,0,239,50,0,32,46,0,149,48,0,185,48,0,240,49,0,215,50,0,87,50,0,201,50,0,130,48,0,191,51,0,65,49,0,244,49,0,48,49,0,11,47,0,65,47,0,26,46,0,101, +48,0,86,49,0,63,47,0,0,49,0,33,46,0,20,51,0,196,49,0,130,51,0,32,47,0,35,52,0,85,50,0,123,48,0,222,46,0,104,50,0,21,49,0,97,50,0,124,49,0,181,46,0,91,49,0,140,50,0,25,50,0,97,55,0,123,46,0,9,50,0,84,48,0,127,47,0,239,47,0,16,48,0,157,47,0,54,48,0,195, +45,0,115,48,0,44,44,0,7,47,0,63,44,0,20,50,0,101,45,0,51,49,0,230,44,0,117,44,0,54,45,0,121,47,0,254,44,0,211,49,0,106,39,0,71,51,0,0,44,0,96,49,0,207,43,0,163,49,0,179,40,0,104,50,0,244,44,0,165,48,0,168,42,0,222,46,0,255,43,0,231,50,0,8,43,0,94,46, +0,56,41,0,45,49,0,240,41,0,161,49,0,94,44,0,169,48,0,93,43,0,127,52,0,5,43,0,19,50,0,43,42,0,141,51,0,162,45,0,250,46,0,83,38,0,46,48,0,135,42,0,226,47,0,251,41,0,212,44,0,237,41,0,241,46,0,198,33,0,198,39,0,109,36,0,207,41,0,66,38,0,206,41,0,69,41,0, +147,40,0,75,39,0,225,38,0,19,38,0,104,42,0,148,39,0,246,42,0,135,35,0,53,43,0,209,37,0,67,38,0,169,36,0,112,35,0,213,39,0,108,34,0,77,37,0,204,37,0,0,34,0,70,39,0,82,39,0,51,35,0,218,37,0,252,34,0,53,35,0,13,40,0,32,38,0,54,32,0,253,32,0,230,35,0,219, +35,0,51,36,0,113,31,0,19,33,0,116,31,0,195,30,0,155,28,0,102,34,0,155,27,0,3,29,0,106,21,0,38,30,0,220,24,0,122,28,0,236,18,0,124,23,0,111,14,0,38,21,0,174,18,0,29,24,0,224,14,0,161,25,0,30,12,0,85,20,0,164,9,0,171,16,0,34,10,0,220,15,0,194,8,0,199,17, +0,145,9,0,103,16,0,147,4,0,186,11,0,18,4,0,74,10,0,14,5,0,234,12,0,157,4,0,134,11,0,211,5,0,191,12,0,226,7,0,155,8,0,122,3,0,97,8,0,148,3,0,216,8,0,8,8,0,240,7,0,210,1,0,134,9,0,236,1,0,229,8,0,185,248,255,215,9,0,20,253,255,56,6,0,149,253,255,18,5,0, +138,251,255,158,7,0,205,252,255,133,6,0,237,252,255,21,12,0,3,247,255,197,10,0,232,251,255,36,9,0,92,252,255,44,8,0,67,251,255,24,8,0,198,249,255,225,7,0,115,252,255,0,12,0,5,252,255,93,6,0,48,254,255,164,6,0,35,254,255,141,10,0,73,2,0,194,8,0,248,1, +0,208,7,0,106,5,0,111,10,0,2,5,0,243,7,0,77,255,255,246,7,0,245,1,0,122,5,0,68,1,0,20,7,0,176,255,255,240,4,0,208,253,255,135,5,0,54,255,255,213,7,0,211,253,255,124,1,0,219,252,255,193,253,255,124,248,255,107,255,255,150,250,255,97,253,255,48,247,255, +29,255,255,177,247,255,46,255,255,117,246,255,10,250,255,67,245,255,60,249,255,188,242,255,37,252,255,202,241,255,155,248,255,39,245,255,16,244,255,237,237,255,237,243,255,100,236,255,179,245,255,151,239,255,213,242,255,219,237,255,198,239,255,235,233, +255,160,239,255,226,230,255,66,237,255,236,230,255,113,236,255,165,231,255,239,232,255,42,227,255,230,236,255,244,226,255,14,232,255,170,224,255,87,237,255,71,226,255,195,238,255,213,226,255,181,233,255,3,223,255,6,234,255,146,226,255,188,235,255,128, +226,255,150,235,255,35,222,255,244,231,255,189,225,255,232,240,255,161,230,255,97,233,255,197,226,255,246,236,255,119,225,255,7,235,255,247,224,255,143,233,255,166,228,255,69,237,255,3,226,255,67,240,255,253,227,255,89,235,255,80,225,255,186,240,255, +102,227,255,9,240,255,142,230,255,238,240,255,50,228,255,24,241,255,118,223,255,166,241,255,101,224,255,199,249,255,248,226,255,36,242,255,182,222,255,131,243,255,12,224,255,164,239,255,156,223,255,184,244,255,160,223,255,71,244,255,53,225,255,142,246, +255,138,231,255,5,242,255,101,229,255,106,240,255,97,222,255,61,245,255,150,226,255,25,242,255,15,228,255,243,235,255,244,223,255,220,232,255,254,220,255,25,235,255,109,222,255,196,236,255,157,227,255,83,235,255,54,218,255,129,229,255,144,223,255,247, +231,255,15,219,255,228,228,255,92,218,255,212,224,255,107,220,255,1,228,255,149,216,255,112,222,255,87,211,255,169,224,255,63,219,255,100,226,255,3,213,255,18,227,255,96,212,255,137,222,255,82,213,255,140,222,255,222,210,255,129,223,255,46,218,255,140, +221,255,212,216,255,166,224,255,200,212,255,88,226,255,27,216,255,98,226,255,146,219,255,171,224,255,158,217,255,171,228,255,128,215,255,248,227,255,215,215,255,129,226,255,158,220,255,26,230,255,226,219,255,77,228,255,40,214,255,161,224,255,38,219,255, +93,227,255,74,224,255,106,231,255,93,218,255,89,234,255,29,222,255,83,230,255,55,222,255,157,234,255,62,228,255,253,234,255,154,220,255,1,235,255,122,219,255,107,235,255,154,224,255,36,234,255,5,225,255,4,240,255,245,224,255,182,236,255,209,227,255,138, +237,255,94,228,255,245,240,255,225,226,255,232,237,255,95,221,255,32,241,255,30,224,255,199,240,255,197,224,255,139,235,255,130,224,255,10,240,255,10,226,255,193,241,255,205,232,255,138,238,255,215,223,255,251,240,255,1,225,255,97,240,255,141,229,255, +167,237,255,217,223,255,141,234,255,28,224,255,91,239,255,52,227,255,167,232,255,42,222,255,136,234,255,148,223,255,188,235,255,245,222,255,81,228,255,176,227,255,255,235,255,118,224,255,217,234,255,135,226,255,22,232,255,74,221,255,154,237,255,239,230, +255,17,237,255,178,227,255,235,236,255,220,225,255,30,237,255,45,233,255,162,236,255,109,226,255,149,243,255,103,232,255,226,239,255,213,231,255,93,240,255,181,234,255,144,239,255,242,237,255,51,242,255,245,232,255,64,244,255,38,234,255,125,240,255,156, +238,255,237,245,255,182,235,255,81,241,255,250,233,255,11,241,255,36,237,255,78,244,255,145,235,255,228,244,255,59,239,255,226,242,255,97,239,255,149,246,255,224,244,255,155,247,255,82,238,255,84,249,255,49,245,255,245,245,255,114,241,255,38,243,255, +242,240,255,107,248,255,111,241,255,151,250,255,106,238,255,53,249,255,120,235,255,158,251,255,110,237,255,243,246,255,13,240,255,48,245,255,170,239,255,53,249,255,112,242,255,59,251,255,16,235,255,175,248,255,223,237,255,118,248,255,226,238,255,5,250, +255,189,236,255,81,246,255,129,236,255,58,248,255,255,233,255,239,243,255,41,235,255,72,245,255,79,230,255,38,243,255,254,232,255,64,244,255,188,230,255,110,242,255,29,230,255,195,244,255,30,229,255,132,243,255,140,227,255,175,241,255,11,226,255,104, +242,255,214,223,255,217,245,255,149,225,255,225,239,255,213,221,255,193,244,255,221,224,255,53,243,255,14,224,255,28,243,255,231,225,255,3,238,255,7,219,255,232,236,255,146,221,255,200,240,255,204,229,255,87,239,255,41,226,255,50,241,255,195,226,255, +220,240,255,103,226,255,125,239,255,92,232,255,85,238,255,252,228,255,40,239,255,111,233,255,51,238,255,72,234,255,175,242,255,30,235,255,37,240,255,170,236,255,53,240,255,197,238,255,191,242,255,65,236,255,168,240,255,15,239,255,229,240,255,111,236, +255,194,243,255,57,245,255,212,248,255,225,249,255,244,247,255,198,245,255,202,248,255,76,246,255,226,250,255,214,248,255,112,246,255,136,249,255,119,254,255,166,251,255,144,249,255,234,247,255,240,252,255,173,251,255,78,251,255,119,251,255,51,253,255, +55,248,255,9,251,255,162,252,255,140,253,255,124,1,0,93,252,255,195,246,255,69,251,255,199,248,255,177,0,0,37,253,255,246,250,255,223,247,255,127,0,0,141,249,255,221,252,255,199,253,255,179,1,0,245,252,255,246,1,0,62,251,255,61,4,0,151,251,255,117,254, +255,194,250,255,26,6,0,21,255,255,215,3,0,49,249,255,3,6,0,43,251,255,218,5,0,246,0,0,8,3,0,198,252,255,195,3,0,74,252,255,186,7,0,85,1,0,224,7,0,100,0,0,143,12,0,101,5,0,166,7,0,189,0,0,227,13,0,184,7,0,204,11,0,193,255,255,114,10,0,103,6,0,140,17,0, +137,8,0,78,16,0,105,10,0,205,14,0,121,8,0,96,16,0,189,13,0,250,19,0,201,15,0,48,16,0,224,13,0,30,19,0,139,21,0,90,21,0,204,15,0,60,21,0,34,21,0,126,20,0,151,21,0,43,23,0,131,16,0,145,16,0,83,18,0,161,21,0,12,20,0,248,15,0,77,17,0,206,20,0,158,13,0,75, +17,0,99,14,0,168,18,0,131,17,0,196,18,0,209,14,0,138,20,0,148,14,0,200,19,0,100,11,0,74,17,0,196,9,0,229,14,0,172,10,0,248,15,0,115,8,0,108,17,0,169,5,0,42,18,0,214,3,0,40,17,0,143,5,0,56,17,0,151,4,0,123,15,0,72,7,0,121,13,0,58,3,0,80,14,0,234,7,0,87, +11,0,192,7,0,63,13,0,84,7,0,9,10,0,3,5,0,4,11,0,202,7,0,58,12,0,211,7,0,80,12,0,44,5,0,229,8,0,91,8,0,73,12,0,190,9,0,62,13,0,169,10,0,154,21,0,16,17,0,146,16,0,6,9,0,163,14,0,18,13,0,81,15,0,169,11,0,105,17,0,83,15,0,246,15,0,75,18,0,251,14,0,244,11, +0,164,17,0,30,17,0,252,21,0,89,16,0,240,18,0,77,17,0,44,19,0,113,20,0,42,21,0,130,22,0,57,16,0,243,20,0,108,22,0,207,20,0,133,21,0,200,19,0,86,17,0,199,23,0,239,20,0,122,17,0,84,20,0,5,17,0,26,19,0,193,15,0,13,20,0,77,12,0,194,20,0,217,14,0,195,18,0, +182,13,0,182,18,0,124,11,0,215,21,0,193,10,0,159,17,0,47,4,0,206,17,0,104,4,0,105,18,0,51,6,0,141,14,0,141,1,0,141,16,0,214,2,0,25,19,0,97,3,0,225,12,0,180,5,0,172,16,0,232,0,0,183,12,0,255,1,0,160,9,0,39,0,0,81,10,0,89,255,255,211,12,0,218,252,255,182, +9,0,29,253,255,198,9,0,39,0,0,115,7,0,185,1,0,148,2,0,145,248,255,254,7,0,235,255,255,203,6,0,242,0,0,74,12,0,112,5,0,136,8,0,131,4,0,47,7,0,241,1,0,51,11,0,159,2,0,12,5,0,93,5,0,136,10,0,93,8,0,6,2,0,125,4,0,110,5,0,222,2,0,240,8,0,159,11,0,27,10,0, +241,13,0,31,8,0,175,13,0,141,8,0,111,7,0,220,13,0,95,12,0,80,13,0,155,13,0,134,11,0,9,13,0,54,17,0,221,10,0,54,14,0,57,9,0,4,14,0,246,12,0,136,14,0,233,10,0,88,18,0,109,12,0,161,14,0,91,6,0,141,16,0,120,6,0,17,20,0,15,9,0,140,19,0,124,3,0,148,21,0,160, +9,0,213,15,0,202,3,0,184,17,0,151,6,0,29,17,0,6,3,0,101,18,0,190,3,0,18,18,0,59,6,0,77,20,0,49,7,0,153,19,0,180,10,0,52,17,0,215,9,0,249,14,0,21,12,0,3,20,0,33,14,0,102,17,0,18,12,0,17,15,0,23,15,0,78,19,0,40,18,0,168,16,0,166,17,0,230,17,0,87,17,0,141, +18,0,144,16,0,36,14,0,77,16,0,220,17,0,55,21,0,223,22,0,49,25,0,46,17,0,57,16,0,207,15,0,215,16,0,39,17,0,226,18,0,247,17,0,188,18,0,66,18,0,107,15,0,50,17,0,159,17,0,177,20,0,45,18,0,38,16,0,140,13,0,202,15,0,211,22,0,73,19,0,112,15,0,207,20,0,182,15, +0,151,19,0,104,17,0,197,16,0,230,17,0,225,17,0,34,17,0,209,20,0,46,18,0,207,22,0,117,19,0,221,24,0,242,20,0,99,22,0,139,18,0,124,19,0,68,20,0,194,17,0,51,17,0,209,24,0,38,17,0,180,22,0,67,17,0,62,26,0,189,23,0,232,22,0,53,17,0,40,28,0,36,21,0,137,34, +0,237,21,0,83,25,0,208,19,0,168,22,0,164,21,0,111,22,0,17,20,0,242,25,0,86,23,0,88,22,0,64,20,0,19,27,0,119,21,0,46,22,0,243,14,0,148,23,0,249,22,0,153,24,0,198,22,0,73,22,0,24,20,0,163,28,0,223,19,0,134,28,0,184,20,0,121,23,0,111,25,0,171,28,0,13,25, +0,199,25,0,14,24,0,151,23,0,221,19,0,250,24,0,111,26,0,175,28,0,156,27,0,194,21,0,30,27,0,86,26,0,54,30,0,105,23,0,169,28,0,226,26,0,167,27,0,67,27,0,104,31,0,22,30,0,63,33,0,133,31,0,34,29,0,101,31,0,24,33,0,129,29,0,173,34,0,233,26,0,116,34,0,4,32, +0,118,34,0,205,29,0,96,34,0,125,32,0,112,35,0,198,35,0,118,41,0,147,33,0,146,31,0,203,35,0,26,35,0,111,37,0,213,41,0,96,42,0,13,36,0,136,38,0,66,36,0,107,40,0,59,38,0,205,34,0,94,32,0,157,36,0,197,32,0,236,35,0,234,32,0,60,35,0,10,34,0,226,33,0,151,34, +0,21,35,0,72,27,0,171,35,0,46,34,0,174,33,0,216,30,0,61,33,0,190,30,0,39,34,0,17,32,0,85,33,0,255,27,0,211,27,0,2,29,0,240,30,0,252,28,0,195,30,0,208,23,0,29,30,0,170,23,0,45,26,0,64,24,0,169,25,0,132,29,0,36,24,0,249,25,0,133,27,0,121,26,0,89,27,0,76, +23,0,134,23,0,130,26,0,204,22,0,158,24,0,193,26,0,75,32,0,248,26,0,12,32,0,48,23,0,27,29,0,217,20,0,66,31,0,123,24,0,14,29,0,191,27,0,244,31,0,231,26,0,140,34,0,193,23,0,74,32,0,164,26,0,77,32,0,16,22,0,128,34,0,152,24,0,120,39,0,106,26,0,164,36,0,14, +25,0,168,35,0,158,25,0,161,38,0,108,26,0,67,35,0,232,29,0,56,34,0,134,25,0,31,35,0,108,28,0,22,32,0,27,29,0,126,30,0,111,29,0,146,32,0,55,30,0,41,34,0,216,24,0,56,30,0,16,34,0,102,30,0,73,32,0,22,27,0,64,29,0,119,29,0,34,26,0,88,30,0,177,31,0,236,32, +0,181,28,0,97,30,0,12,34,0,140,30,0,192,33,0,17,35,0,53,31,0,163,28,0,44,32,0,74,26,0,3,34,0,118,28,0,180,32,0,104,32,0,119,36,0,47,33,0,212,35,0,66,35,0,242,35,0,169,35,0,218,30,0,11,33,0,102,31,0,73,32,0,100,36,0,97,32,0,104,31,0,97,32,0,23,34,0,159, +25,0,9,30,0,85,29,0,212,31,0,99,23,0,251,28,0,230,26,0,4,31,0,248,24,0,28,29,0,66,22,0,67,24,0,121,20,0,24,28,0,224,21,0,176,23,0,61,21,0,100,23,0,145,19,0,25,25,0,36,22,0,16,26,0,38,18,0,224,24,0,150,16,0,5,23,0,44,22,0,17,23,0,144,25,0,198,24,0,146, +26,0,191,22,0,159,25,0,87,21,0,152,27,0,12,23,0,173,27,0,18,26,0,179,27,0,227,22,0,119,28,0,89,22,0,228,30,0,223,19,0,74,30,0,132,23,0,52,32,0,101,18,0,20,30,0,60,20,0,235,31,0,46,23,0,60,31,0,87,19,0,191,28,0,58,23,0,124,32,0,167,23,0,11,35,0,130,19, +0,36,29,0,54,23,0,147,32,0,109,23,0,16,29,0,107,19,0,25,29,0,6,21,0,114,33,0,56,20,0,93,29,0,46,21,0,103,25,0,77,20,0,45,31,0,80,19,0,115,22,0,166,13,0,176,18,0,31,15,0,248,24,0,142,17,0,187,19,0,3,14,0,232,16,0,64,17,0,175,16,0,73,17,0,209,16,0,154, +17,0,70,13,0,61,14,0,214,12,0,128,11,0,116,8,0,210,14,0,6,9,0,233,12,0,118,9,0,130,11,0,122,13,0,85,8,0,177,9,0,180,5,0,155,9,0,108,11,0,65,13,0,188,7,0,124,8,0,207,6,0,122,6,0,227,9,0,55,9,0,79,7,0,40,7,0,254,6,0,21,7,0,146,9,0,119,9,0,197,7,0,111,7, +0,209,7,0,205,10,0,166,6,0,159,5,0,245,8,0,214,6,0,49,4,0,185,4,0,252,7,0,140,5,0,212,6,0,181,12,0,221,3,0,39,7,0,55,8,0,240,12,0,26,5,0,133,6,0,176,4,0,250,10,0,185,4,0,175,11,0,7,5,0,245,9,0,93,3,0,155,12,0,212,2,0,252,11,0,107,4,0,179,9,0,112,8,0, +241,12,0,127,6,0,204,9,0,48,4,0,114,8,0,172,4,0,67,8,0,32,4,0,237,6,0,115,5,0,38,9,0,134,2,0,184,9,0,220,8,0,136,7,0,111,6,0,202,9,0,134,2,0,96,4,0,64,3,0,251,4,0,157,3,0,37,4,0,29,4,0,220,1,0,37,2,0,76,2,0,115,2,0,103,0,0,136,7,0,43,4,0,195,0,0,187, +0,0,242,253,255,106,254,255,34,0,0,184,254,255,2,0,0,19,252,255,246,250,255,23,0,0,158,249,255,250,251,255,6,253,255,162,254,255,252,251,255,34,3,0,195,2,0,188,253,255,228,246,255,13,0,0,16,249,255,202,252,255,144,248,255,210,249,255,140,247,255,142, +249,255,90,251,255,224,252,255,139,254,255,9,253,255,103,255,255,91,250,255,69,253,255,91,252,255,125,253,255,51,254,255,24,250,255,76,252,255,226,250,255,14,248,255,220,254,255,17,252,255,92,254,255,124,249,255,212,255,255,163,254,255,199,255,255,51, +252,255,53,1,0,240,252,255,126,2,0,10,2,0,2,0,0,79,254,255,176,0,0,124,255,255,188,0,0,174,253,255,126,0,0,128,0,0,34,254,255,38,0,0,38,255,255,125,0,0,227,1,0,76,254,255,100,1,0,139,250,255,69,250,255,240,251,255,180,252,255,59,2,0,17,253,255,135,254, +255,25,254,255,37,255,255,161,254,255,218,248,255,107,250,255,108,247,255,250,253,255,77,249,255,146,246,255,178,245,255,78,249,255,10,247,255,96,251,255,61,251,255,120,247,255,115,244,255,20,246,255,36,242,255,43,250,255,81,240,255,152,242,255,7,246, +255,140,235,255,47,240,255,125,241,255,153,240,255,100,241,255,147,234,255,98,242,255,37,238,255,171,234,255,188,234,255,65,233,255,196,232,255,247,232,255,63,235,255,123,231,255,16,231,255,204,227,255,172,228,255,58,230,255,86,231,255,240,228,255,55, +227,255,102,226,255,171,225,255,153,227,255,202,228,255,11,223,255,220,223,255,13,221,255,126,224,255,91,225,255,110,223,255,224,224,255,157,228,255,227,219,255,192,224,255,239,222,255,166,225,255,44,225,255,119,229,255,85,221,255,62,226,255,23,225,255, +86,228,255,190,224,255,236,230,255,154,224,255,211,235,255,204,225,255,115,234,255,248,225,255,152,233,255,98,226,255,30,234,255,108,226,255,46,235,255,121,228,255,67,234,255,75,227,255,83,234,255,60,233,255,246,237,255,120,229,255,5,237,255,148,229, +255,14,236,255,2,232,255,197,238,255,214,229,255,127,238,255,19,233,255,108,235,255,178,229,255,232,236,255,146,233,255,249,231,255,84,232,255,67,231,255,35,230,255,86,232,255,85,231,255,120,230,255,89,232,255,210,231,255,218,228,255,112,229,255,200, +229,255,103,229,255,138,228,255,223,225,255,71,229,255,193,229,255,80,226,255,163,230,255,75,227,255,237,225,255,155,225,255,194,225,255,181,227,255,126,222,255,184,224,255,186,222,255,110,220,255,143,222,255,247,223,255,190,226,255,133,215,255,252,217, +255,60,221,255,194,220,255,187,217,255,176,220,255,230,221,255,118,221,255,197,218,255,112,218,255,152,216,255,230,220,255,242,215,255,172,219,255,141,220,255,7,218,255,200,215,255,232,222,255,133,215,255,116,221,255,41,214,255,218,220,255,152,218,255, +64,222,255,57,221,255,216,223,255,145,215,255,239,216,255,27,222,255,109,222,255,74,221,255,119,223,255,248,220,255,12,219,255,134,222,255,169,223,255,86,219,255,22,224,255,107,222,255,72,224,255,157,222,255,140,225,255,131,219,255,148,221,255,47,224, +255,104,225,255,230,221,255,92,225,255,247,219,255,117,224,255,234,222,255,20,222,255,29,228,255,24,223,255,20,220,255,111,222,255,246,220,255,127,222,255,53,219,255,16,224,255,18,217,255,244,218,255,171,221,255,142,220,255,19,217,255,242,218,255,72, +218,255,255,218,255,105,214,255,79,221,255,255,217,255,244,223,255,100,214,255,154,225,255,218,220,255,182,226,255,213,213,255,177,220,255,23,219,255,142,228,255,225,221,255,75,232,255,205,220,255,117,234,255,251,225,255,133,230,255,197,224,255,228,236, +255,22,224,255,29,239,255,73,223,255,49,233,255,49,231,255,156,238,255,251,229,255,133,237,255,62,227,255,161,237,255,73,229,255,75,244,255,155,231,255,180,237,255,124,236,255,184,243,255,178,234,255,5,244,255,246,234,255,153,241,255,1,237,255,230,241, +255,244,240,255,213,243,255,101,233,255,61,244,255,181,233,255,183,242,255,120,236,255,151,241,255,105,239,255,3,242,255,200,237,255,100,240,255,138,234,255,225,244,255,157,234,255,31,239,255,88,236,255,0,242,255,66,237,255,211,238,255,19,235,255,100, +244,255,128,231,255,165,241,255,232,235,255,253,239,255,212,236,255,84,243,255,16,236,255,117,241,255,197,237,255,2,242,255,21,238,255,135,239,255,154,240,255,17,248,255,97,239,255,21,247,255,149,242,255,48,248,255,11,242,255,242,245,255,224,239,255, +208,248,255,118,245,255,192,251,255,192,245,255,72,253,255,65,246,255,252,254,255,15,247,255,51,253,255,81,250,255,120,252,255,200,246,255,38,4,0,215,249,255,76,255,255,165,243,255,248,253,255,247,246,255,34,3,0,37,245,255,95,1,0,193,247,255,63,4,0,126, +249,255,154,254,255,217,252,255,208,3,0,154,253,255,143,253,255,42,252,255,64,255,255,53,253,255,85,253,255,64,252,255,136,254,255,72,251,255,120,0,0,176,253,255,99,2,0,202,252,255,52,255,255,7,253,255,113,255,255,239,248,255,156,253,255,197,255,255, +78,254,255,100,249,255,21,253,255,165,252,255,96,249,255,158,251,255,174,250,255,170,244,255,151,249,255,158,244,255,237,247,255,115,246,255,127,249,255,179,245,255,126,243,255,183,241,255,105,243,255,13,245,255,37,245,255,147,241,255,247,239,255,9,238, +255,62,243,255,52,236,255,214,244,255,179,234,255,143,238,255,30,237,255,104,239,255,87,233,255,19,236,255,81,241,255,147,235,255,198,236,255,158,234,255,177,236,255,174,234,255,106,235,255,98,231,255,254,233,255,193,237,255,170,237,255,131,233,255,175, +232,255,50,234,255,173,236,255,95,233,255,85,230,255,88,235,255,49,231,255,162,232,255,183,236,255,120,235,255,92,233,255,164,233,255,31,236,255,126,235,255,71,233,255,131,237,255,48,234,255,113,236,255,65,235,255,206,238,255,39,233,255,96,237,255,52, +242,255,134,242,255,165,237,255,206,240,255,178,241,255,63,249,255,39,243,255,133,249,255,148,242,255,34,247,255,243,238,255,166,247,255,55,244,255,147,250,255,221,241,255,48,249,255,42,242,255,90,252,255,185,240,255,145,251,255,144,243,255,80,250,255, +254,242,255,134,254,255,153,242,255,229,249,255,192,240,255,206,252,255,126,241,255,224,245,255,95,247,255,101,248,255,178,240,255,121,245,255,210,236,255,198,240,255,129,234,255,226,246,255,162,238,255,145,243,255,37,237,255,172,242,255,65,237,255,21, +237,255,169,236,255,231,242,255,144,235,255,199,238,255,105,237,255,98,238,255,93,235,255,159,237,255,154,234,255,136,238,255,253,238,255,117,236,255,152,235,255,123,236,255,104,236,255,63,236,255,125,235,255,48,235,255,119,235,255,201,237,255,135,236, +255,146,237,255,114,235,255,50,239,255,1,234,255,81,241,255,26,235,255,108,241,255,240,234,255,130,240,255,222,233,255,234,237,255,235,240,255,226,246,255,190,240,255,61,243,255,16,237,255,58,245,255,29,238,255,131,246,255,130,238,255,150,245,255,103, +239,255,171,250,255,48,241,255,193,249,255,234,240,255,111,252,255,222,240,255,80,247,255,101,242,255,227,0,0,180,243,255,221,253,255,141,243,255,181,0,0,25,244,255,19,5,0,34,244,255,165,9,0,101,246,255,31,6,0,3,248,255,95,5,0,129,246,255,180,5,0,47, +245,255,246,9,0,138,246,255,91,5,0,144,247,255,134,5,0,218,247,255,191,9,0,227,248,255,105,9,0,35,248,255,203,6,0,3,245,255,141,11,0,106,247,255,190,10,0,156,251,255,21,12,0,29,248,255,15,12,0,16,245,255,202,9,0,163,250,255,144,8,0,9,247,255,145,6,0, +85,247,255,243,4,0,166,251,255,188,11,0,40,253,255,123,6,0,180,248,255,94,3,0,128,248,255,21,3,0,253,247,255,127,4,0,0,249,255,50,0,0,85,249,255,194,3,0,189,243,255,26,254,255,27,244,255,39,254,255,151,247,255,48,2,0,197,241,255,60,254,255,32,242,255, +6,1,0,180,244,255,146,1,0,6,241,255,94,253,255,13,240,255,102,251,255,166,244,255,168,0,0,224,244,255,154,3,0,121,240,255,50,251,255,83,238,255,152,253,255,189,242,255,181,255,255,83,243,255,110,253,255,201,240,255,224,251,255,48,241,255,237,1,0,90,242, +255,45,2,0,158,244,255,76,5,0,189,244,255,107,0,0,84,243,255,209,5,0,203,239,255,67,1,0,88,242,255,228,1,0,138,244,255,63,5,0,148,247,255,6,4,0,213,246,255,248,2,0,151,247,255,117,2,0,51,247,255,237,4,0,167,247,255,52,1,0,197,241,255,22,0,0,226,246,255, +156,0,0,225,244,255,249,1,0,236,245,255,204,251,255,250,244,255,254,252,255,94,245,255,0,254,255,133,245,255,174,0,0,234,245,255,13,0,0,16,247,255,136,1,0,251,246,255,85,1,0,139,251,255,150,0,0,234,243,255,34,0,0,234,250,255,147,4,0,125,248,255,37,5, +0,136,249,255,187,4,0,130,249,255,200,3,0,203,253,255,57,6,0,253,250,255,229,6,0,37,251,255,12,1,0,252,249,255,162,4,0,205,250,255,112,5,0,117,250,255,92,8,0,10,253,255,241,8,0,137,253,255,97,9,0,119,253,255,27,9,0,202,0,0,190,7,0,116,255,255,222,10, +0,107,253,255,201,4,0,70,1,0,160,7,0,5,0,0,196,9,0,50,4,0,238,13,0,190,0,0,18,8,0,122,253,255,220,5,0,143,255,255,124,8,0,115,3,0,186,16,0,119,1,0,16,9,0,169,254,255,118,11,0,175,254,255,67,14,0,75,2,0,108,20,0,78,0,0,196,13,0,81,0,0,110,15,0,110,1,0, +197,19,0,168,253,255,186,18,0,75,5,0,251,17,0,31,255,255,146,18,0,59,2,0,110,16,0,21,3,0,122,19,0,198,7,0,253,22,0,136,6,0,131,17,0,246,7,0,101,17,0,73,1,0,37,14,0,206,7,0,72,19,0,41,8,0,85,20,0,164,7,0,201,16,0,218,10,0,106,17,0,163,7,0,8,17,0,166,7, +0,79,18,0,135,13,0,255,19,0,206,8,0,44,14,0,143,9,0,160,19,0,71,16,0,92,18,0,207,10,0,185,13,0,115,15,0,122,18,0,68,10,0,150,19,0,87,12,0,172,21,0,136,13,0,83,16,0,199,13,0,222,16,0,61,10,0,121,19,0,193,9,0,140,21,0,142,9,0,96,19,0,74,16,0,33,20,0,2, +8,0,244,19,0,246,8,0,168,20,0,62,9,0,35,20,0,193,6,0,85,19,0,110,4,0,13,20,0,247,1,0,47,16,0,254,2,0,81,18,0,129,0,0,69,14,0,64,3,0,159,18,0,34,254,255,195,14,0,223,0,0,196,15,0,142,251,255,148,16,0,220,251,255,66,16,0,191,253,255,170,13,0,206,252,255, +97,13,0,122,253,255,118,12,0,10,252,255,101,9,0,119,253,255,30,13,0,155,253,255,139,15,0,120,0,0,107,9,0,202,250,255,239,8,0,23,254,255,244,7,0,44,254,255,243,12,0,125,253,255,79,11,0,253,0,0,115,8,0,123,255,255,219,5,0,59,254,255,135,5,0,86,255,255, +175,10,0,210,255,255,26,6,0,98,254,255,59,7,0,186,1,0,153,7,0,249,0,0,14,7,0,108,3,0,95,9,0,27,0,0,53,5,0,17,252,255,83,7,0,183,4,0,246,13,0,72,0,0,31,12,0,90,3,0,140,16,0,159,4,0,122,20,0,33,254,255,118,18,0,243,7,0,250,21,0,86,10,0,214,22,0,98,2,0, +12,20,0,103,13,0,242,26,0,101,10,0,107,25,0,34,8,0,79,24,0,226,11,0,132,30,0,94,10,0,186,28,0,132,14,0,98,30,0,71,17,0,9,33,0,29,14,0,31,30,0,194,17,0,123,30,0,80,14,0,147,28,0,118,16,0,118,34,0,67,17,0,85,31,0,21,18,0,147,32,0,87,18,0,249,33,0,20,17, +0,210,31,0,49,19,0,53,31,0,229,19,0,169,32,0,12,22,0,42,34,0,145,17,0,31,30,0,208,17,0,82,28,0,172,16,0,208,27,0,160,10,0,78,33,0,32,13,0,155,30,0,209,14,0,100,30,0,104,19,0,144,36,0,130,13,0,255,30,0,243,10,0,116,35,0,81,15,0,104,35,0,40,12,0,53,33, +0,156,13,0,227,29,0,162,13,0,62,32,0,54,17,0,237,30,0,133,15,0,235,31,0,213,16,0,33,32,0,121,15,0,197,29,0,182,17,0,208,33,0,83,16,0,124,28,0,89,20,0,184,32,0,115,17,0,181,27,0,253,17,0,87,31,0,238,13,0,116,25,0,169,16,0,121,29,0,17,14,0,117,29,0,203, +14,0,220,28,0,159,19,0,71,29,0,233,17,0,155,32,0,235,18,0,130,29,0,123,22,0,167,31,0,131,22,0,76,31,0,124,20,0,64,31,0,46,19,0,224,32,0,76,19,0,115,33,0,20,24,0,163,32,0,83,17,0,195,35,0,185,20,0,82,34,0,240,21,0,159,34,0,225,21,0,244,35,0,106,20,0,105, +38,0,63,18,0,123,35,0,78,20,0,58,39,0,123,17,0,56,37,0,227,18,0,241,35,0,112,21,0,107,39,0,230,17,0,9,40,0,166,18,0,123,39,0,118,20,0,94,40,0,136,22,0,34,42,0,243,20,0,161,38,0,12,20,0,87,37,0,21,22,0,237,41,0,47,18,0,32,37,0,216,21,0,217,37,0,4,20,0, +8,36,0,55,24,0,4,38,0,193,15,0,145,40,0,2,19,0,6,38,0,245,20,0,179,36,0,106,17,0,43,36,0,32,14,0,20,35,0,6,15,0,176,29,0,174,17,0,36,34,0,213,15,0,68,30,0,133,14,0,175,32,0,148,12,0,220,30,0,255,16,0,81,30,0,6,16,0,210,26,0,187,6,0,180,22,0,167,11,0, +68,30,0,149,7,0,194,22,0,59,9,0,222,25,0,48,5,0,33,23,0,191,12,0,42,23,0,94,11,0,230,21,0,90,11,0,110,23,0,161,8,0,194,24,0,57,11,0,184,18,0,142,15,0,89,24,0,46,10,0,60,25,0,21,14,0,204,24,0,212,14,0,124,27,0,182,20,0,108,24,0,252,13,0,173,21,0,207,13, +0,31,25,0,164,15,0,116,19,0,71,17,0,188,22,0,178,15,0,152,23,0,163,18,0,28,21,0,64,18,0,197,20,0,47,13,0,38,23,0,201,17,0,151,23,0,235,15,0,13,20,0,38,13,0,94,21,0,175,17,0,37,21,0,38,14,0,233,16,0,64,13,0,174,17,0,180,17,0,133,23,0,180,13,0,179,17,0, +230,16,0,155,17,0,224,13,0,116,18,0,193,11,0,247,18,0,9,10,0,243,16,0,217,8,0,75,16,0,219,12,0,206,16,0,41,9,0,41,19,0,208,9,0,157,15,0,94,9,0,116,17,0,176,6,0,185,13,0,138,3,0,114,9,0,174,254,255,237,11,0,175,5,0,169,7,0,98,0,0,49,6,0,213,249,255,226, +3,0,16,254,255,71,3,0,1,253,255,76,1,0,255,247,255,174,1,0,58,248,255,58,0,0,177,246,255,244,253,255,250,249,255,107,253,255,99,244,255,9,254,255,147,244,255,238,251,255,43,245,255,230,255,255,72,243,255,169,251,255,239,241,255,130,248,255,33,240,255, +243,249,255,113,238,255,115,247,255,152,238,255,46,245,255,20,242,255,95,251,255,148,241,255,192,246,255,97,240,255,9,250,255,49,236,255,17,246,255,184,240,255,161,252,255,11,236,255,238,245,255,9,239,255,62,245,255,221,239,255,101,247,255,134,239,255, +155,246,255,25,238,255,125,248,255,13,238,255,170,249,255,49,240,255,149,245,255,67,239,255,72,253,255,11,243,255,34,251,255,68,240,255,37,246,255,250,237,255,49,248,255,89,238,255,254,248,255,236,234,255,186,245,255,24,246,255,58,248,255,224,240,255, +153,249,255,230,239,255,38,246,255,239,240,255,235,245,255,14,236,255,38,247,255,128,236,255,164,243,255,123,232,255,4,241,255,76,232,255,167,244,255,102,234,255,1,241,255,229,241,255,135,242,255,57,228,255,237,239,255,30,231,255,80,241,255,206,232,255, +125,239,255,69,232,255,122,241,255,80,229,255,218,239,255,78,235,255,229,241,255,231,232,255,81,241,255,232,231,255,233,239,255,109,227,255,210,239,255,200,231,255,2,247,255,193,229,255,90,242,255,27,234,255,87,243,255,21,229,255,222,241,255,9,231,255, +62,240,255,158,231,255,152,240,255,202,233,255,249,243,255,107,228,255,186,239,255,242,226,255,94,238,255,169,225,255,166,239,255,178,226,255,219,235,255,244,230,255,150,232,255,232,232,255,58,237,255,146,227,255,42,234,255,199,228,255,174,233,255,149, +228,255,158,235,255,40,228,255,146,228,255,190,223,255,216,226,255,128,227,255,16,228,255,100,226,255,208,226,255,214,221,255,241,226,255,36,222,255,226,223,255,205,222,255,62,225,255,193,220,255,48,221,255,101,217,255,172,220,255,195,222,255,197,222, +255,72,218,255,51,220,255,232,219,255,148,222,255,217,214,255,161,221,255,109,216,255,127,224,255,71,216,255,234,224,255,93,215,255,25,220,255,96,219,255,149,224,255,253,220,255,164,224,255,174,219,255,196,223,255,176,218,255,125,223,255,5,223,255,156, +225,255,136,223,255,6,227,255,143,223,255,173,227,255,54,221,255,192,226,255,13,226,255,7,230,255,16,227,255,190,226,255,241,225,255,145,227,255,148,226,255,92,232,255,106,227,255,71,228,255,122,224,255,79,229,255,117,226,255,215,232,255,135,222,255, +219,229,255,135,227,255,195,232,255,182,225,255,17,230,255,129,221,255,51,230,255,226,222,255,217,232,255,245,219,255,93,230,255,72,223,255,122,233,255,163,220,255,68,232,255,172,218,255,3,232,255,18,221,255,15,232,255,181,225,255,69,232,255,185,225, +255,254,231,255,92,220,255,79,234,255,55,221,255,30,229,255,9,221,255,52,227,255,175,225,255,32,232,255,185,219,255,217,228,255,68,226,255,207,229,255,98,226,255,154,229,255,43,224,255,252,227,255,140,226,255,65,228,255,153,226,255,178,228,255,234,229, +255,41,229,255,11,225,255,150,231,255,26,227,255,95,229,255,190,228,255,27,229,255,116,225,255,241,227,255,76,228,255,130,230,255,78,232,255,26,229,255,69,229,255,182,231,255,197,229,255,86,234,255,27,228,255,153,233,255,254,224,255,212,235,255,40,236, +255,111,240,255,70,236,255,208,236,255,208,235,255,242,238,255,181,237,255,159,246,255,181,231,255,218,240,255,183,238,255,168,246,255,92,239,255,179,245,255,89,241,255,206,245,255,210,238,255,250,247,255,166,244,255,162,248,255,216,240,255,19,250,255, +99,241,255,74,248,255,230,246,255,25,249,255,80,247,255,224,247,255,31,248,255,210,248,255,145,243,255,98,245,255,104,243,255,219,244,255,41,245,255,184,244,255,158,243,255,140,244,255,157,246,255,129,245,255,109,244,255,83,243,255,22,242,255,13,243, +255,222,241,255,250,244,255,25,241,255,215,244,255,136,244,255,32,245,255,168,233,255,76,239,255,118,238,255,168,244,255,41,241,255,187,246,255,218,241,255,112,249,255,220,238,255,234,246,255,20,239,255,43,246,255,106,240,255,90,246,255,131,241,255,238, +252,255,155,241,255,128,249,255,53,244,255,160,249,255,49,248,255,54,0,0,169,247,255,8,3,0,84,247,255,32,252,255,204,245,255,106,253,255,34,247,255,107,1,0,108,245,255,179,251,255,231,244,255,103,254,255,235,244,255,220,250,255,70,247,255,203,251,255, +208,243,255,141,250,255,73,245,255,185,248,255,155,240,255,116,245,255,14,242,255,148,240,255,150,240,255,101,241,255,150,242,255,202,241,255,144,236,255,175,237,255,170,235,255,152,236,255,92,240,255,163,235,255,227,237,255,26,235,255,124,236,255,250, +230,255,154,233,255,253,229,255,184,232,255,0,229,255,128,236,255,16,229,255,152,232,255,251,222,255,209,226,255,78,225,255,59,228,255,255,225,255,60,228,255,221,225,255,202,226,255,171,224,255,99,230,255,198,221,255,0,222,255,249,223,255,4,223,255,123, +222,255,84,222,255,236,221,255,128,226,255,69,222,255,193,225,255,167,219,255,248,220,255,123,221,255,220,217,255,211,222,255,143,219,255,29,226,255,236,217,255,149,219,255,160,219,255,84,221,255,182,214,255,97,221,255,135,216,255,169,218,255,124,218, +255,47,224,255,143,214,255,11,220,255,94,215,255,52,221,255,162,216,255,103,222,255,106,217,255,179,224,255,213,217,255,25,221,255,158,216,255,102,221,255,140,219,255,46,223,255,226,218,255,244,221,255,102,215,255,72,220,255,195,219,255,50,218,255,185, +217,255,241,219,255,181,215,255,65,220,255,113,216,255,1,215,255,9,220,255,25,216,255,79,212,255,156,214,255,238,217,255,181,217,255,150,214,255,175,210,255,254,213,255,162,213,255,108,209,255,55,207,255,222,211,255,102,209,255,202,211,255,210,203,255, +75,210,255,223,202,255,34,207,255,160,201,255,195,208,255,106,201,255,115,210,255,99,199,255,72,210,255,124,191,255,178,211,255,57,203,255,180,202,255,189,197,255,127,207,255,53,197,255,149,207,255,211,195,255,90,205,255,176,199,255,172,203,255,67,198, +255,175,200,255,84,199,255,222,205,255,178,203,255,223,201,255,96,195,255,174,202,255,223,204,255,79,201,255,86,202,255,147,204,255,79,204,255,29,203,255,49,208,255,205,204,255,172,206,255,215,209,255,178,212,255,237,208,255,83,211,255,4,205,255,248, +211,255,76,207,255,193,211,255,30,207,255,78,213,255,82,209,255,124,212,255,61,212,255,133,217,255,237,213,255,203,213,255,24,215,255,70,215,255,215,217,255,13,216,255,152,219,255,110,219,255,160,216,255,8,219,255,165,219,255,38,221,255,30,220,255,198, +218,255,3,219,255,86,219,255,172,218,255,6,218,255,74,221,255,165,220,255,75,219,255,97,215,255,86,224,255,73,220,255,120,221,255,75,221,255,32,222,255,123,215,255,78,221,255,65,217,255,255,220,255,96,216,255,156,220,255,9,216,255,66,220,255,99,215,255, +234,214,255,75,212,255,207,217,255,150,208,255,76,219,255,134,209,255,9,212,255,84,208,255,64,216,255,77,206,255,44,211,255,126,207,255,228,212,255,199,204,255,36,210,255,5,207,255,137,213,255,166,207,255,128,210,255,126,204,255,219,212,255,98,207,255, +91,214,255,77,206,255,211,211,255,197,208,255,215,214,255,56,209,255,188,213,255,84,207,255,26,213,255,46,206,255,141,214,255,16,207,255,50,215,255,61,210,255,0,212,255,160,212,255,17,219,255,31,214,255,223,217,255,162,215,255,193,221,255,20,219,255, +240,218,255,51,223,255,125,219,255,87,226,255,55,224,255,54,228,255,8,224,255,176,226,255,181,224,255,245,232,255,229,228,255,25,237,255,158,230,255,147,239,255,202,226,255,54,235,255,61,228,255,17,243,255,122,227,255,170,237,255,116,229,255,60,242,255, +185,231,255,187,244,255,187,233,255,96,243,255,248,233,255,11,245,255,221,235,255,145,241,255,162,237,255,87,246,255,251,235,255,7,238,255,106,236,255,133,239,255,42,235,255,126,241,255,115,240,255,106,241,255,2,240,255,184,240,255,244,235,255,209,242, +255,250,241,255,109,240,255,192,235,255,147,235,255,251,241,255,198,237,255,11,239,255,105,237,255,10,242,255,88,237,255,125,238,255,222,236,255,166,237,255,251,234,255,2,241,255,106,235,255,210,237,255,87,238,255,40,240,255,75,236,255,83,239,255,178, +237,255,12,243,255,234,239,255,226,244,255,235,242,255,27,243,255,6,243,255,214,242,255,104,238,255,17,245,255,160,241,255,53,248,255,198,239,255,192,247,255,230,239,255,228,249,255,9,239,255,62,250,255,228,239,255,143,243,255,59,238,255,181,244,255, +158,238,255,42,246,255,191,237,255,106,250,255,249,236,255,53,244,255,160,241,255,74,246,255,12,240,255,156,246,255,247,233,255,197,245,255,117,238,255,243,241,255,108,238,255,121,244,255,109,237,255,142,246,255,205,239,255,244,242,255,138,237,255,50, +242,255,246,237,255,84,244,255,145,237,255,111,243,255,14,240,255,251,241,255,230,236,255,118,240,255,157,238,255,232,237,255,77,236,255,66,242,255,153,234,255,133,239,255,211,234,255,57,244,255,133,235,255,123,234,255,61,233,255,239,239,255,230,233, +255,233,240,255,168,240,255,175,239,255,120,236,255,77,238,255,185,235,255,65,240,255,23,233,255,112,239,255,226,234,255,127,239,255,124,237,255,97,235,255,7,233,255,39,237,255,193,233,255,36,238,255,243,233,255,31,236,255,143,235,255,1,238,255,229,233, +255,215,235,255,95,235,255,187,239,255,158,238,255,120,241,255,19,238,255,141,241,255,36,234,255,138,236,255,56,234,255,121,240,255,159,238,255,188,236,255,33,235,255,141,238,255,230,228,255,208,237,255,229,229,255,209,241,255,228,232,255,116,241,255, +218,230,255,226,238,255,3,231,255,112,236,255,154,228,255,64,239,255,89,230,255,167,237,255,13,228,255,200,240,255,127,227,255,20,240,255,193,228,255,89,238,255,8,228,255,39,239,255,248,230,255,199,239,255,227,231,255,238,245,255,73,232,255,182,242,255, +221,229,255,118,239,255,179,228,255,49,243,255,218,240,255,100,247,255,134,234,255,194,246,255,47,241,255,247,242,255,197,236,255,191,247,255,91,244,255,37,250,255,100,244,255,38,252,255,198,247,255,142,253,255,204,250,255,72,250,255,6,251,255,216,251, +255,178,248,255,39,251,255,228,252,255,47,252,255,120,251,255,103,251,255,134,254,255,197,253,255,98,250,255,223,250,255,173,250,255,14,251,255,54,253,255,53,247,255,146,253,255,56,252,255,157,0,0,231,251,255,100,251,255,193,249,255,116,252,255,128,248, +255,26,248,255,162,253,255,10,251,255,181,254,255,185,248,255,68,248,255,182,248,255,148,251,255,119,248,255,164,252,255,221,243,255,223,253,255,132,245,255,187,250,255,239,247,255,202,250,255,89,243,255,218,1,0,18,244,255,25,252,255,169,244,255,160, +255,255,249,245,255,167,250,255,48,240,255,203,249,255,181,238,255,234,254,255,200,241,255,37,254,255,15,243,255,37,252,255,255,238,255,132,0,0,181,243,255,121,254,255,223,244,255,43,0,0,31,243,255,108,253,255,126,243,255,19,251,255,127,246,255,161,251, +255,25,245,255,132,253,255,6,246,255,95,251,255,111,241,255,154,255,255,28,252,255,194,252,255,212,248,255,233,253,255,164,255,255,175,253,255,130,253,255,165,1,0,11,252,255,181,5,0,93,2,0,57,251,255,85,0,0,143,5,0,49,5,0,236,0,0,109,7,0,94,8,0,161,4, +0,167,3,0,92,2,0,9,4,0,106,7,0,132,6,0,197,6,0,58,11,0,119,9,0,140,9,0,228,9,0,26,11,0,58,13,0,145,15,0,26,12,0,90,15,0,189,14,0,47,13,0,232,14,0,169,14,0,18,14,0,118,19,0,37,13,0,251,16,0,220,11,0,203,22,0,247,13,0,135,16,0,93,12,0,12,18,0,149,13,0, +96,19,0,82,17,0,153,19,0,175,15,0,18,25,0,102,18,0,146,18,0,165,18,0,6,25,0,49,18,0,11,20,0,196,18,0,4,24,0,78,19,0,80,21,0,162,20,0,158,23,0,4,21,0,96,25,0,119,23,0,94,23,0,250,20,0,67,22,0,162,30,0,158,27,0,59,26,0,101,29,0,55,25,0,172,28,0,246,27, +0,242,30,0,85,30,0,156,26,0,56,31,0,213,27,0,133,30,0,234,30,0,18,34,0,233,29,0,237,37,0,143,28,0,253,32,0,37,31,0,138,36,0,186,31,0,139,41,0,8,34,0,80,42,0,93,33,0,199,37,0,77,39,0,214,40,0,133,34,0,95,42,0,184,39,0,86,42,0,10,33,0,197,39,0,177,38,0, +214,40,0,240,41,0,52,42,0,93,44,0,230,44,0,28,40,0,191,43,0,212,43,0,101,43,0,130,40,0,143,41,0,84,44,0,62,45,0,195,47,0,73,45,0,249,45,0,187,37,0,58,49,0,45,45,0,65,52,0,182,46,0,73,50,0,41,43,0,6,54,0,123,46,0,249,53,0,169,44,0,185,53,0,18,48,0,78, +51,0,132,49,0,244,45,0,21,53,0,26,53,0,106,53,0,187,52,0,105,53,0,62,55,0,61,53,0,66,56,0,79,56,0,93,48,0,146,51,0,0,49,0,182,60,0,105,51,0,101,60,0,60,52,0,60,57,0,136,54,0,146,54,0,20,54,0,175,58,0,175,53,0,32,56,0,217,52,0,58,59,0,249,49,0,73,55,0, +92,51,0,14,55,0,254,52,0,39,55,0,65,50,0,40,51,0,251,48,0,45,51,0,111,45,0,131,50,0,145,49,0,90,49,0,244,50,0,20,44,0,238,44,0,253,42,0,158,47,0,137,42,0,214,48,0,121,43,0,232,45,0,164,42,0,162,45,0,61,37,0,7,44,0,117,37,0,88,43,0,201,35,0,191,41,0,73, +36,0,157,44,0,114,35,0,195,42,0,137,33,0,140,45,0,238,32,0,107,42,0,86,35,0,5,44,0,191,39,0,185,43,0,57,33,0,13,45,0,219,34,0,176,38,0,17,38,0,251,40,0,25,38,0,120,45,0,238,36,0,144,43,0,75,39,0,34,46,0,155,38,0,246,45,0,151,41,0,137,39,0,44,39,0,132, +43,0,245,40,0,129,45,0,67,37,0,82,43,0,244,42,0,188,42,0,236,41,0,167,42,0,129,41,0,49,44,0,126,43,0,14,47,0,135,42,0,104,45,0,133,46,0,237,38,0,76,40,0,42,40,0,222,42,0,208,37,0,156,41,0,243,41,0,146,37,0,112,37,0,24,33,0,197,37,0,138,38,0,136,37,0, +245,34,0,143,31,0,129,32,0,164,30,0,169,30,0,101,32,0,88,30,0,67,29,0,242,23,0,86,31,0,173,30,0,66,29,0,101,21,0,210,28,0,32,19,0,119,27,0,9,19,0,146,24,0,118,20,0,201,27,0,124,22,0,158,21,0,185,15,0,204,24,0,213,21,0,217,23,0,134,16,0,179,25,0,173,17, +0,199,21,0,46,10,0,234,22,0,210,13,0,215,19,0,43,15,0,7,24,0,70,16,0,235,17,0,24,14,0,130,18,0,249,16,0,30,21,0,90,17,0,19,19,0,179,15,0,54,17,0,226,16,0,224,21,0,2,21,0,13,20,0,83,19,0,25,18,0,200,17,0,110,20,0,187,19,0,216,18,0,23,20,0,56,16,0,4,22, +0,254,17,0,17,18,0,129,21,0,220,19,0,246,15,0,167,15,0,181,16,0,131,10,0,22,18,0,208,13,0,2,12,0,227,10,0,85,12,0,49,9,0,249,14,0,50,10,0,16,15,0,25,11,0,166,14,0,138,3,0,55,15,0,84,4,0,57,14,0,17,9,0,37,11,0,238,7,0,175,13,0,13,11,0,77,12,0,231,10,0, +205,12,0,138,8,0,178,10,0,72,8,0,29,13,0,28,10,0,120,13,0,3,11,0,213,13,0,252,12,0,95,15,0,87,9,0,219,9,0,146,8,0,7,13,0,143,13,0,244,13,0,42,16,0,161,14,0,213,16,0,103,13,0,101,15,0,80,13,0,245,18,0,84,15,0,137,21,0,170,16,0,121,17,0,168,20,0,53,24, +0,67,16,0,161,20,0,38,16,0,88,22,0,215,17,0,227,22,0,170,20,0,135,22,0,248,17,0,143,22,0,148,18,0,154,21,0,207,22,0,109,24,0,240,21,0,240,23,0,39,17,0,93,21,0,167,18,0,7,19,0,95,18,0,72,22,0,81,21,0,174,20,0,86,17,0,139,16,0,12,21,0,163,13,0,180,20,0, +15,15,0,62,18,0,78,14,0,60,26,0,144,19,0,76,19,0,168,15,0,59,20,0,210,15,0,112,19,0,22,14,0,144,24,0,82,18,0,114,21,0,255,14,0,208,19,0,169,14,0,165,15,0,206,15,0,136,16,0,106,16,0,36,23,0,146,21,0,33,18,0,6,23,0,237,20,0,182,24,0,72,23,0,153,28,0,131, +23,0,16,28,0,20,19,0,15,31,0,124,24,0,108,33,0,161,24,0,243,35,0,178,18,0,252,31,0,66,24,0,216,36,0,49,23,0,130,36,0,119,22,0,10,36,0,62,22,0,3,39,0,182,28,0,18,45,0,102,30,0,64,40,0,221,29,0,253,40,0,116,35,0,32,46,0,141,36,0,142,44,0,28,39,0,247,42, +0,156,38,0,217,44,0,170,36,0,14,46,0,40,39,0,227,43,0,103,35,0,231,40,0,223,39,0,226,48,0,192,32,0,32,48,0,203,36,0,164,43,0,147,39,0,163,45,0,215,37,0,96,46,0,120,38,0,82,48,0,249,36,0,125,46,0,246,40,0,214,48,0,81,39,0,38,47,0,160,39,0,221,52,0,243, +36,0,88,51,0,169,39,0,201,49,0,153,41,0,125,47,0,28,40,0,228,45,0,234,40,0,133,49,0,185,40,0,198,48,0,207,41,0,208,52,0,158,37,0,10,50,0,90,43,0,205,50,0,77,44,0,192,51,0,190,43,0,13,51,0,81,44,0,117,54,0,75,47,0,237,51,0,111,47,0,191,51,0,83,48,0,53, +55,0,178,49,0,239,55,0,204,47,0,173,55,0,67,50,0,120,56,0,237,49,0,111,58,0,33,48,0,88,60,0,8,52,0,160,61,0,131,53,0,3,63,0,186,51,0,44,64,0,116,52,0,238,66,0,174,52,0,158,63,0,121,53,0,148,66,0,85,54,0,71,65,0,210,53,0,199,64,0,247,54,0,94,68,0,58,50, +0,217,61,0,237,47,0,141,64,0,65,57,0,217,68,0,189,47,0,158,60,0,255,48,0,245,62,0,177,49,0,245,59,0,126,52,0,206,62,0,9,50,0,96,58,0,25,46,0,160,58,0,123,44,0,163,55,0,249,44,0,41,57,0,178,44,0,248,58,0,3,39,0,233,50,0,163,47,0,49,57,0,191,41,0,155,59, +0,99,47,0,117,55,0,27,42,0,102,53,0,117,45,0,153,58,0,142,47,0,168,55,0,206,45,0,82,55,0,135,45,0,143,55,0,202,43,0,18,55,0,252,48,0,132,52,0,91,44,0,26,54,0,145,40,0,223,52,0,52,46,0,96,51,0,86,42,0,241,52,0,95,43,0,137,54,0,211,44,0,207,54,0,120,44, +0,27,51,0,86,42,0,210,54,0,0,44,0,254,51,0,24,44,0,221,50,0,233,39,0,181,50,0,154,43,0,30,53,0,82,42,0,79,52,0,149,39,0,145,51,0,85,44,0,238,49,0,49,46,0,146,48,0,86,47,0,236,49,0,123,42,0,146,47,0,10,39,0,235,43,0,88,39,0,150,44,0,234,43,0,16,43,0,210, +35,0,172,38,0,14,38,0,177,45,0,150,40,0,32,45,0,87,35,0,216,39,0,86,34,0,39,38,0,193,35,0,84,43,0,81,34,0,144,37,0,14,32,0,146,36,0,134,31,0,75,37,0,100,31,0,240,35,0,203,30,0,72,34,0,1,28,0,12,34,0,85,32,0,120,37,0,185,26,0,22,29,0,168,27,0,210,28,0, +132,23,0,8,26,0,183,25,0,51,33,0,14,20,0,69,25,0,15,23,0,89,27,0,113,24,0,66,21,0,171,21,0,101,24,0,99,25,0,109,18,0,249,21,0,241,17,0,228,19,0,136,17,0,22,18,0,210,11,0,72,19,0,140,14,0,164,16,0,170,9,0,133,15,0,221,10,0,209,17,0,198,10,0,41,12,0,192, +13,0,13,10,0,180,8,0,232,11,0,5,9,0,99,9,0,67,9,0,200,6,0,168,6,0,85,8,0,227,6,0,98,4,0,212,254,255,76,5,0,66,4,0,132,1,0,99,1,0,2,2,0,136,2,0,137,254,255,111,255,255,202,1,0,184,254,255,61,1,0,164,0,0,8,4,0,189,255,255,165,0,0,246,0,0,64,255,255,80, +255,255,145,2,0,18,3,0,30,1,0,7,0,0,205,255,255,248,1,0,137,3,0,48,7,0,193,2,0,46,1,0,64,1,0,54,2,0,41,1,0,8,7,0,58,0,0,62,4,0,210,255,255,183,4,0,22,1,0,44,8,0,162,0,0,157,4,0,183,253,255,166,4,0,7,3,0,186,2,0,117,2,0,14,3,0,164,251,255,15,255,255,10, +2,0,236,3,0,67,0,0,134,254,255,223,1,0,218,255,255,232,2,0,243,254,255,240,251,255,239,252,255,159,251,255,208,3,0,185,250,255,84,252,255,93,249,255,154,248,255,156,251,255,6,252,255,19,251,255,39,254,255,210,251,255,109,254,255,0,254,255,26,1,0,96,249, +255,53,254,255,144,249,255,171,254,255,236,246,255,40,1,0,39,255,255,181,0,0,75,248,255,52,251,255,53,251,255,44,254,255,52,249,255,232,251,255,70,252,255,203,255,255,108,249,255,28,253,255,51,247,255,103,255,255,153,253,255,62,1,0,231,251,255,174,1, +0,208,244,255,252,254,255,77,247,255,11,254,255,139,244,255,174,254,255,39,249,255,96,0,0,73,246,255,124,253,255,34,240,255,208,247,255,184,241,255,180,251,255,105,248,255,42,1,0,186,240,255,252,251,255,210,242,255,136,250,255,160,241,255,224,254,255, +49,241,255,238,246,255,137,243,255,239,248,255,130,239,255,173,247,255,200,239,255,241,249,255,87,240,255,136,246,255,55,242,255,88,246,255,101,243,255,172,246,255,11,241,255,208,240,255,219,239,255,150,239,255,26,241,255,115,243,255,131,240,255,228, +240,255,174,235,255,46,236,255,83,239,255,86,238,255,73,238,255,174,235,255,24,237,255,251,234,255,159,235,255,30,232,255,103,235,255,248,233,255,213,231,255,0,230,255,96,229,255,202,230,255,92,228,255,108,228,255,213,228,255,243,228,255,86,225,255,109, +224,255,221,229,255,163,226,255,222,225,255,50,225,255,136,225,255,223,226,255,194,229,255,168,229,255,112,221,255,72,228,255,125,222,255,25,228,255,3,222,255,25,227,255,180,220,255,167,226,255,51,221,255,98,229,255,0,225,255,237,228,255,252,222,255, +66,232,255,234,226,255,233,231,255,86,223,255,118,233,255,187,228,255,116,235,255,85,228,255,239,235,255,204,230,255,66,238,255,212,231,255,192,241,255,39,231,255,38,243,255,114,233,255,189,240,255,84,233,255,133,242,255,126,236,255,80,242,255,122,241, +255,12,244,255,149,239,255,122,248,255,118,238,255,95,245,255,113,242,255,14,245,255,239,242,255,116,246,255,19,243,255,19,247,255,121,241,255,128,237,255,82,240,255,214,243,255,126,243,255,221,241,255,109,242,255,14,239,255,19,240,255,46,241,255,116, +243,255,123,235,255,176,236,255,3,235,255,17,241,255,61,237,255,159,240,255,68,235,255,55,234,255,216,234,255,63,237,255,34,236,255,120,233,255,98,236,255,37,233,255,81,235,255,80,230,255,118,235,255,125,230,255,169,230,255,181,230,255,60,235,255,146, +225,255,27,235,255,99,231,255,207,231,255,253,230,255,14,235,255,236,228,255,26,237,255,155,227,255,147,230,255,115,230,255,39,231,255,3,227,255,206,229,255,155,230,255,85,232,255,191,227,255,75,227,255,167,230,255,144,231,255,104,233,255,203,231,255, +170,229,255,69,229,255,27,232,255,70,232,255,241,229,255,37,230,255,162,233,255,96,232,255,109,232,255,97,232,255,24,235,255,55,229,255,82,232,255,72,230,255,225,233,255,3,226,255,214,232,255,245,226,255,122,232,255,40,228,255,234,233,255,2,226,255,237, +232,255,172,226,255,29,229,255,0,224,255,49,227,255,9,226,255,11,228,255,18,222,255,42,229,255,52,221,255,148,222,255,242,216,255,41,219,255,126,212,255,194,223,255,124,215,255,31,219,255,75,215,255,232,221,255,17,216,255,30,217,255,57,216,255,41,222, +255,53,211,255,79,217,255,33,216,255,131,213,255,71,215,255,153,217,255,72,212,255,222,221,255,75,215,255,107,217,255,129,214,255,24,217,255,192,220,255,116,220,255,31,221,255,253,220,255,35,218,255,233,222,255,161,219,255,177,226,255,227,223,255,20, +223,255,140,227,255,139,226,255,99,226,255,37,225,255,3,231,255,26,227,255,149,230,255,132,226,255,235,230,255,130,227,255,223,233,255,129,230,255,21,233,255,78,232,255,136,232,255,201,226,255,119,232,255,234,234,255,233,233,255,148,230,255,126,237,255, +132,233,255,35,231,255,79,234,255,48,234,255,152,229,255,4,233,255,70,229,255,9,227,255,25,235,255,138,234,255,27,232,255,79,224,255,31,231,255,224,224,255,141,233,255,34,226,255,202,226,255,225,227,255,57,232,255,32,226,255,34,230,255,62,224,255,142, +227,255,72,227,255,72,225,255,22,224,255,118,227,255,6,221,255,4,228,255,0,222,255,239,229,255,91,220,255,46,229,255,207,218,255,70,228,255,170,223,255,210,227,255,229,223,255,209,228,255,39,228,255,99,228,255,109,225,255,161,233,255,136,226,255,92,228, +255,249,228,255,55,232,255,242,232,255,41,232,255,0,233,255,209,229,255,67,236,255,157,234,255,148,241,255,210,229,255,161,237,255,0,236,255,106,239,255,198,233,255,238,240,255,250,237,255,216,245,255,156,234,255,106,245,255,51,239,255,35,246,255,175, +239,255,34,0,0,213,240,255,214,254,255,226,241,255,105,255,255,117,238,255,225,252,255,187,246,255,123,0,0,25,247,255,182,255,255,123,246,255,128,0,0,240,248,255,40,0,0,71,250,255,26,4,0,19,252,255,211,4,0,172,253,255,149,5,0,184,251,255,145,2,0,95,253, +255,178,4,0,146,0,0,225,2,0,34,255,255,7,7,0,3,5,0,136,6,0,80,7,0,166,4,0,154,2,0,86,6,0,103,8,0,104,3,0,57,7,0,20,7,0,69,10,0,11,9,0,165,7,0,161,5,0,86,9,0,192,8,0,5,8,0,204,6,0,162,10,0,189,11,0,157,11,0,106,8,0,121,11,0,33,10,0,251,6,0,63,4,0,137, +11,0,14,5,0,140,6,0,68,4,0,209,6,0,98,3,0,122,10,0,27,7,0,34,14,0,55,2,0,67,8,0,154,5,0,26,5,0,208,3,0,43,6,0,48,7,0,252,8,0,12,4,0,59,9,0,149,3,0,113,4,0,211,4,0,217,7,0,220,9,0,240,8,0,97,11,0,208,6,0,136,11,0,217,7,0,242,10,0,66,8,0,146,14,0,196,9, +0,209,14,0,252,11,0,219,18,0,22,14,0,232,17,0,149,11,0,255,18,0,10,9,0,25,17,0,249,7,0,242,17,0,162,10,0,232,19,0,253,11,0,160,20,0,57,11,0,255,16,0,84,11,0,245,15,0,185,9,0,195,19,0,29,17,0,81,18,0,45,16,0,119,18,0,39,10,0,115,15,0,3,16,0,236,16,0,250, +14,0,174,7,0,34,13,0,205,9,0,47,12,0,102,6,0,137,17,0,55,4,0,20,13,0,124,254,255,95,9,0,113,254,255,194,6,0,39,254,255,26,8,0,127,251,255,141,7,0,24,249,255,188,5,0,51,244,255,49,4,0,126,245,255,8,6,0,170,244,255,104,2,0,85,243,255,176,3,0,247,244,255, +49,0,0,53,248,255,226,5,0,94,245,255,112,255,255,141,241,255,68,3,0,122,246,255,151,253,255,86,242,255,142,252,255,103,245,255,236,1,0,139,244,255,170,252,255,200,247,255,65,0,0,128,248,255,143,252,255,200,246,255,93,253,255,178,246,255,113,251,255,128, +248,255,36,249,255,38,246,255,212,249,255,13,248,255,20,251,255,148,250,255,23,247,255,138,243,255,216,248,255,151,247,255,62,249,255,48,245,255,102,253,255,90,252,255,122,252,255,20,248,255,124,252,255,211,251,255,5,255,255,175,246,255,229,251,255,182, +249,255,174,252,255,176,251,255,138,253,255,142,246,255,136,252,255,207,249,255,91,4,0,22,252,255,97,3,0,21,253,255,131,7,0,122,0,0,182,2,0,93,252,255,88,4,0,192,253,255,148,4,0,227,255,255,187,4,0,240,251,255,171,7,0,100,255,255,51,6,0,1,0,0,89,6,0, +128,255,255,121,7,0,164,254,255,172,8,0,103,4,0,81,9,0,252,6,0,215,9,0,215,4,0,178,7,0,70,4,0,81,5,0,204,4,0,64,5,0,4,0,0,160,5,0,14,254,255,49,3,0,144,0,0,96,3,0,180,2,0,53,1,0,202,252,255,97,1,0,169,252,255,22,2,0,190,250,255,244,3,0,10,252,255,109, +250,255,39,244,255,211,255,255,151,248,255,35,250,255,61,245,255,190,249,255,88,245,255,128,251,255,172,241,255,43,251,255,32,239,255,105,246,255,7,239,255,57,251,255,4,240,255,106,251,255,125,240,255,110,247,255,55,239,255,117,251,255,118,242,255,158, +249,255,73,243,255,95,254,255,90,243,255,52,251,255,131,241,255,72,252,255,182,244,255,192,251,255,47,245,255,36,253,255,174,244,255,166,254,255,2,246,255,47,255,255,16,253,255,247,1,0,128,253,255,53,3,0,40,251,255,19,0,0,48,0,0,78,1,0,147,253,255,75, +1,0,112,253,255,103,0,0,232,255,255,72,1,0,80,254,255,72,1,0,146,0,0,180,0,0,169,255,255,102,255,255,169,253,255,217,3,0,237,252,255,114,0,0,7,254,255,108,2,0,46,246,255,101,254,255,254,248,255,31,1,0,186,248,255,39,250,255,112,248,255,187,253,255,104, +248,255,85,252,255,1,251,255,211,252,255,229,245,255,229,251,255,86,249,255,170,249,255,189,243,255,232,0,0,207,246,255,102,252,255,234,246,255,55,254,255,254,247,255,68,254,255,57,249,255,72,249,255,126,247,255,92,253,255,48,248,255,163,253,255,207, +248,255,75,252,255,86,244,255,191,253,255,14,249,255,136,0,0,75,247,255,8,254,255,255,246,255,108,252,255,201,247,255,153,253,255,67,250,255,248,253,255,56,250,255,80,2,0,218,244,255,180,0,0,217,249,255,174,0,0,109,247,255,145,1,0,153,247,255,227,254, +255,237,246,255,45,255,255,82,242,255,40,252,255,36,239,255,152,251,255,245,244,255,159,253,255,6,242,255,103,247,255,231,244,255,118,253,255,131,245,255,116,249,255,161,244,255,214,249,255,124,240,255,74,253,255,221,238,255,209,249,255,122,242,255,197, +246,255,184,239,255,82,245,255,25,242,255,122,250,255,78,244,255,110,247,255,178,241,255,88,245,255,104,240,255,72,245,255,167,240,255,98,250,255,67,242,255,237,248,255,3,245,255,172,250,255,228,241,255,196,248,255,67,240,255,125,248,255,246,243,255, +205,249,255,11,243,255,88,250,255,56,244,255,163,245,255,59,246,255,60,246,255,181,242,255,69,249,255,116,245,255,102,249,255,5,249,255,88,250,255,206,243,255,241,250,255,255,238,255,181,247,255,27,241,255,252,250,255,196,245,255,127,250,255,237,242, +255,18,251,255,44,243,255,250,249,255,216,244,255,250,246,255,178,241,255,236,247,255,165,247,255,237,249,255,170,244,255,220,251,255,217,241,255,46,252,255,212,242,255,155,251,255,177,243,255,60,251,255,87,244,255,147,254,255,41,245,255,213,249,255, +253,244,255,50,249,255,169,244,255,63,251,255,183,244,255,183,250,255,52,246,255,167,248,255,206,242,255,197,247,255,154,245,255,128,244,255,32,244,255,85,250,255,92,245,255,243,250,255,37,245,255,5,247,255,49,244,255,160,249,255,134,243,255,119,0,0, +236,245,255,1,252,255,73,247,255,100,249,255,175,242,255,137,251,255,66,244,255,145,253,255,56,243,255,234,253,255,188,246,255,136,254,255,83,245,255,129,253,255,223,242,255,5,255,255,29,245,255,243,253,255,250,239,255,190,0,0,152,244,255,49,255,255, +181,250,255,43,0,0,181,247,255,197,252,255,143,246,255,126,1,0,213,247,255,183,253,255,46,246,255,244,3,0,233,246,255,190,252,255,228,246,255,66,1,0,115,252,255,154,3,0,113,248,255,166,255,255,212,247,255,128,2,0,87,250,255,241,0,0,10,255,255,178,1,0, +79,253,255,154,6,0,49,1,0,159,4,0,229,0,0,99,4,0,72,2,0,110,6,0,141,4,0,89,3,0,142,0,0,187,2,0,233,4,0,88,6,0,37,255,255,40,5,0,113,2,0,136,4,0,108,255,255,233,2,0,238,250,255,247,4,0,70,255,255,232,254,255,114,249,255,69,1,0,242,251,255,179,253,255, +77,251,255,77,252,255,46,250,255,183,252,255,14,243,255,141,253,255,59,246,255,100,251,255,184,244,255,251,250,255,57,241,255,215,248,255,69,243,255,244,247,255,235,238,255,57,251,255,19,240,255,92,247,255,61,241,255,36,247,255,197,239,255,3,247,255, +165,241,255,64,248,255,51,241,255,222,248,255,165,241,255,77,247,255,97,240,255,171,246,255,198,243,255,132,247,255,232,244,255,244,246,255,127,242,255,17,248,255,202,243,255,82,246,255,116,239,255,163,250,255,14,244,255,53,246,255,236,244,255,51,247, +255,140,243,255,79,252,255,176,246,255,63,252,255,177,246,255,98,250,255,191,246,255,210,248,255,128,248,255,97,246,255,206,250,255,222,249,255,178,244,255,180,247,255,134,248,255,207,244,255,254,246,255,196,247,255,159,246,255,17,246,255,95,247,255, +38,248,255,26,245,255,27,248,255,120,244,255,242,249,255,222,243,255,56,243,255,33,240,255,127,244,255,194,241,255,165,241,255,157,238,255,89,243,255,189,241,255,2,242,255,49,234,255,245,241,255,47,235,255,174,240,255,48,235,255,177,240,255,5,231,255, +248,236,255,246,228,255,128,235,255,152,224,255,43,236,255,248,225,255,76,237,255,215,227,255,110,234,255,251,223,255,126,232,255,227,222,255,13,232,255,89,226,255,216,232,255,25,221,255,226,231,255,38,224,255,145,229,255,222,218,255,136,233,255,99,225, +255,109,231,255,105,220,255,249,228,255,169,221,255,119,227,255,29,220,255,114,233,255,135,220,255,180,227,255,249,221,255,235,230,255,248,225,255,36,231,255,173,222,255,86,234,255,63,224,255,87,234,255,101,229,255,230,234,255,136,227,255,11,229,255, +112,226,255,23,233,255,4,224,255,102,232,255,145,226,255,16,231,255,65,229,255,235,233,255,141,228,255,224,231,255,164,230,255,206,234,255,129,230,255,217,232,255,138,227,255,158,230,255,95,229,255,100,236,255,222,226,255,49,233,255,201,230,255,192,230, +255,202,227,255,236,232,255,189,230,255,120,235,255,251,225,255,129,229,255,185,227,255,143,232,255,2,229,255,38,234,255,107,230,255,136,232,255,205,228,255,130,238,255,200,230,255,123,238,255,222,233,255,105,234,255,53,233,255,181,233,255,83,230,255, +240,237,255,201,237,255,14,235,255,115,235,255,165,236,255,227,231,255,28,239,255,224,234,255,241,237,255,135,235,255,90,238,255,146,237,255,120,239,255,219,238,255,42,241,255,31,236,255,23,243,255,73,242,255,14,246,255,166,240,255,219,245,255,129,239, +255,84,245,255,211,241,255,125,245,255,239,239,255,109,246,255,135,240,255,216,248,255,24,240,255,114,247,255,156,242,255,36,248,255,69,239,255,11,249,255,4,239,255,83,250,255,242,242,255,152,252,255,164,243,255,140,250,255,187,241,255,210,249,255,195, +238,255,125,249,255,75,240,255,74,249,255,2,242,255,200,249,255,120,239,255,45,252,255,94,242,255,214,245,255,132,241,255,205,246,255,80,244,255,138,247,255,158,240,255,108,247,255,3,240,255,18,243,255,5,237,255,181,241,255,103,239,255,192,244,255,71, +236,255,101,244,255,132,238,255,190,244,255,134,239,255,231,240,255,172,236,255,51,246,255,96,237,255,78,246,255,98,238,255,1,248,255,146,239,255,195,240,255,121,232,255,185,247,255,199,237,255,215,239,255,30,238,255,26,243,255,228,236,255,197,244,255, +141,238,255,207,247,255,172,239,255,167,247,255,187,238,255,94,250,255,73,239,255,44,252,255,18,243,255,138,245,255,122,246,255,39,254,255,152,241,255,83,251,255,24,243,255,230,254,255,8,246,255,192,252,255,13,248,255,206,254,255,165,249,255,4,3,0,133, +249,255,41,1,0,106,245,255,105,5,0,116,250,255,143,3,0,167,250,255,90,8,0,103,252,255,220,3,0,118,251,255,62,5,0,4,252,255,40,7,0,116,254,255,195,2,0,186,254,255,99,7,0,127,254,255,210,6,0,201,253,255,49,10,0,32,253,255,48,3,0,86,253,255,128,7,0,247, +253,255,62,8,0,87,254,255,136,3,0,151,254,255,250,255,255,166,255,255,134,3,0,203,1,0,194,4,0,67,253,255,31,5,0,191,253,255,157,5,0,227,254,255,75,4,0,170,251,255,135,5,0,104,249,255,47,2,0,183,250,255,96,6,0,80,255,255,212,254,255,231,250,255,236,5, +0,102,255,255,20,2,0,97,253,255,4,3,0,58,251,255,85,0,0,183,253,255,152,253,255,217,249,255,120,253,255,33,249,255,64,253,255,242,249,255,249,250,255,152,250,255,133,253,255,165,250,255,238,1,0,7,250,255,11,1,0,54,251,255,3,2,0,110,247,255,23,0,0,192, +249,255,223,250,255,179,245,255,187,253,255,104,250,255,233,254,255,35,250,255,233,253,255,172,247,255,227,253,255,132,247,255,189,0,0,216,248,255,13,1,0,41,245,255,175,255,255,42,248,255,74,255,255,127,246,255,61,0,0,246,243,255,34,0,0,151,244,255,101, +0,0,93,245,255,233,252,255,166,240,255,173,255,255,74,245,255,141,248,255,155,238,255,139,251,255,242,240,255,34,247,255,107,237,255,181,246,255,83,235,255,226,245,255,18,237,255,128,245,255,4,233,255,219,245,255,73,232,255,31,243,255,135,233,255,34, +242,255,197,231,255,189,240,255,101,229,255,206,242,255,182,230,255,33,246,255,129,230,255,241,240,255,108,227,255,204,239,255,31,228,255,121,240,255,80,231,255,42,239,255,120,227,255,68,241,255,206,230,255,224,240,255,140,225,255,48,242,255,92,231,255, +248,238,255,16,230,255,110,241,255,139,232,255,46,238,255,37,235,255,28,241,255,113,233,255,28,244,255,105,233,255,2,240,255,206,236,255,245,240,255,92,237,255,226,240,255,20,238,255,1,238,255,104,235,255,170,242,255,209,234,255,101,245,255,194,240,255, +206,239,255,46,236,255,233,240,255,123,232,255,11,245,255,94,231,255,219,244,255,128,235,255,9,243,255,197,235,255,235,244,255,31,240,255,156,244,255,108,235,255,250,242,255,134,230,255,75,242,255,10,236,255,165,242,255,88,235,255,71,246,255,201,234, +255,177,241,255,35,231,255,81,238,255,206,230,255,10,243,255,182,232,255,217,243,255,96,233,255,254,244,255,33,233,255,99,236,255,21,231,255,168,242,255,163,231,255,69,239,255,189,229,255,69,244,255,126,232,255,175,240,255,112,230,255,69,237,255,50,228, +255,82,237,255,234,225,255,31,235,255,114,226,255,96,237,255,90,227,255,249,236,255,194,227,255,22,238,255,57,226,255,121,234,255,213,225,255,203,235,255,40,229,255,136,236,255,173,229,255,34,238,255,211,226,255,21,235,255,121,223,255,154,235,255,40, +223,255,163,232,255,15,222,255,116,232,255,196,225,255,114,231,255,57,218,255,21,234,255,47,221,255,122,230,255,26,219,255,217,231,255,227,215,255,244,233,255,19,217,255,47,227,255,0,211,255,142,230,255,82,212,255,224,226,255,64,210,255,175,233,255,226, +213,255,93,226,255,131,211,255,68,225,255,2,215,255,180,225,255,101,211,255,11,225,255,166,213,255,209,218,255,72,210,255,35,220,255,65,212,255,33,224,255,87,212,255,214,222,255,50,211,255,102,221,255,98,215,255,18,223,255,200,211,255,95,221,255,172, +211,255,173,223,255,219,214,255,192,219,255,32,210,255,102,225,255,202,214,255,122,219,255,53,213,255,9,219,255,207,208,255,250,223,255,118,213,255,199,217,255,245,209,255,100,220,255,226,210,255,116,222,255,95,206,255,116,219,255,19,208,255,87,218,255, +64,210,255,137,220,255,212,209,255,123,218,255,40,211,255,218,217,255,190,209,255,118,217,255,219,210,255,57,219,255,0,213,255,88,220,255,125,210,255,204,213,255,230,213,255,132,218,255,89,212,255,189,218,255,75,210,255,100,222,255,66,214,255,30,219, +255,232,212,255,181,218,255,123,210,255,211,222,255,171,213,255,250,220,255,241,210,255,247,222,255,252,216,255,128,222,255,89,213,255,87,222,255,52,216,255,70,220,255,193,216,255,20,223,255,191,215,255,80,221,255,213,219,255,125,224,255,171,218,255, +224,224,255,58,219,255,124,225,255,183,218,255,65,226,255,3,217,255,138,224,255,205,222,255,130,222,255,161,217,255,39,225,255,82,222,255,229,227,255,101,226,255,52,226,255,140,223,255,143,227,255,250,226,255,1,228,255,132,227,255,47,229,255,28,231,255, +197,232,255,236,226,255,252,232,255,13,230,255,95,233,255,60,227,255,31,230,255,5,227,255,133,235,255,23,230,255,70,234,255,210,227,255,85,238,255,76,229,255,203,234,255,198,225,255,241,236,255,243,228,255,186,235,255,159,225,255,52,236,255,23,227,255, +184,234,255,168,224,255,128,231,255,84,220,255,82,236,255,77,225,255,74,232,255,96,224,255,24,235,255,4,226,255,210,232,255,29,225,255,12,234,255,227,223,255,86,232,255,244,224,255,132,232,255,126,225,255,169,234,255,205,226,255,222,234,255,92,232,255, +138,234,255,24,228,255,205,235,255,189,227,255,210,238,255,213,230,255,97,237,255,171,229,255,2,239,255,108,230,255,53,238,255,171,235,255,122,238,255,106,233,255,151,238,255,53,236,255,232,242,255,182,237,255,174,242,255,152,234,255,69,244,255,17,237, +255,16,244,255,218,236,255,27,243,255,56,240,255,112,250,255,175,241,255,0,247,255,7,246,255,127,247,255,94,248,255,117,251,255,60,247,255,247,249,255,110,253,255,123,251,255,18,2,0,233,253,255,216,252,255,16,254,255,143,0,0,208,255,255,31,3,0,92,3,0, +106,5,0,67,2,0,86,4,0,253,3,0,68,7,0,102,4,0,27,10,0,239,4,0,82,5,0,80,5,0,219,4,0,160,4,0,230,4,0,185,5,0,99,10,0,85,6,0,58,8,0,83,8,0,158,4,0,52,7,0,191,3,0,177,9,0,11,7,0,9,4,0,139,2,0,26,6,0,177,4,0,44,9,0,0,4,0,44,3,0,41,3,0,168,6,0,40,7,0,4,6,0, +245,4,0,149,9,0,185,3,0,6,10,0,211,3,0,237,7,0,242,4,0,79,5,0,58,3,0,159,6,0,149,7,0,186,8,0,246,2,0,92,7,0,101,5,0,10,10,0,247,3,0,46,10,0,44,4,0,113,11,0,163,6,0,202,7,0,85,9,0,114,12,0,228,11,0,238,9,0,54,11,0,156,12,0,59,11,0,15,13,0,7,15,0,69,12, +0,41,17,0,16,12,0,43,15,0,252,10,0,142,19,0,254,14,0,109,16,0,220,12,0,35,18,0,10,12,0,1,20,0,26,15,0,72,21,0,76,15,0,121,20,0,122,16,0,47,18,0,20,19,0,239,19,0,40,19,0,230,18,0,240,19,0,246,23,0,100,17,0,249,22,0,26,21,0,67,21,0,244,20,0,236,20,0,7, +21,0,142,21,0,30,21,0,208,24,0,47,23,0,186,24,0,250,17,0,229,20,0,141,21,0,129,23,0,112,18,0,9,24,0,94,19,0,194,26,0,242,21,0,66,27,0,56,24,0,43,29,0,191,21,0,148,29,0,85,23,0,243,31,0,19,23,0,208,30,0,253,27,0,50,33,0,46,31,0,195,35,0,201,29,0,115,34, +0,102,31,0,16,39,0,83,34,0,3,40,0,63,33,0,67,43,0,108,35,0,61,40,0,120,38,0,114,46,0,0,40,0,228,45,0,26,40,0,144,42,0,239,40,0,143,47,0,119,42,0,52,45,0,252,46,0,125,46,0,6,43,0,186,48,0,118,44,0,60,46,0,76,46,0,176,44,0,111,49,0,57,49,0,22,46,0,180, +45,0,78,46,0,92,49,0,27,44,0,59,47,0,153,47,0,181,47,0,144,46,0,225,48,0,176,44,0,123,45,0,223,47,0,70,46,0,191,46,0,252,47,0,128,43,0,203,43,0,40,47,0,239,44,0,90,44,0,105,45,0,38,49,0,71,48,0,222,44,0,136,49,0,155,43,0,61,46,0,112,42,0,170,48,0,122, +42,0,72,48,0,140,46,0,97,48,0,102,44,0,240,46,0,93,44,0,43,48,0,22,42,0,185,45,0,13,44,0,154,50,0,114,43,0,231,47,0,205,44,0,238,50,0,206,44,0,22,49,0,72,42,0,189,47,0,74,45,0,52,50,0,60,42,0,118,50,0,249,47,0,0,54,0,128,43,0,106,49,0,18,46,0,13,51,0, +168,45,0,198,49,0,81,45,0,192,50,0,82,48,0,157,49,0,118,46,0,190,47,0,161,48,0,184,46,0,152,48,0,204,48,0,149,46,0,140,49,0,134,49,0,253,49,0,65,50,0,242,50,0,30,52,0,29,52,0,153,53,0,144,55,0,162,47,0,5,53,0,54,49,0,165,55,0,21,49,0,106,51,0,155,51, +0,39,58,0,7,52,0,134,59,0,217,48,0,33,59,0,167,51,0,200,57,0,151,55,0,161,60,0,2,54,0,28,62,0,56,53,0,163,60,0,82,51,0,47,60,0,58,55,0,11,58,0,181,61,0,188,60,0,160,55,0,80,60,0,195,55,0,255,61,0,255,57,0,17,61,0,246,57,0,163,63,0,86,54,0,15,56,0,170, +54,0,235,57,0,77,52,0,95,62,0,102,55,0,93,62,0,72,52,0,221,54,0,219,53,0,166,56,0,56,56,0,3,60,0,92,56,0,45,58,0,155,56,0,64,61,0,103,55,0,178,57,0,253,55,0,26,57,0,32,54,0,241,57,0,133,56,0,165,56,0,38,56,0,96,54,0,21,56,0,26,52,0,156,53,0,190,54,0, +31,54,0,0,55,0,206,52,0,25,50,0,189,53,0,14,55,0,129,49,0,186,51,0,109,50,0,126,50,0,70,47,0,206,50,0,113,49,0,66,53,0,191,51,0,75,51,0,102,48,0,36,50,0,15,48,0,8,49,0,125,49,0,155,47,0,164,50,0,131,49,0,249,50,0,186,52,0,251,46,0,71,53,0,23,48,0,172, +49,0,14,48,0,233,51,0,64,51,0,39,53,0,229,49,0,125,52,0,244,47,0,23,54,0,224,48,0,159,54,0,156,49,0,42,55,0,112,45,0,102,51,0,173,47,0,30,53,0,104,45,0,142,54,0,92,46,0,148,54,0,222,43,0,91,45,0,223,44,0,165,50,0,122,43,0,157,48,0,144,43,0,133,46,0,213, +39,0,193,47,0,146,41,0,203,45,0,214,39,0,193,43,0,209,38,0,166,46,0,178,42,0,189,41,0,156,41,0,27,41,0,68,40,0,48,39,0,48,38,0,144,37,0,248,33,0,168,38,0,148,32,0,182,34,0,198,34,0,57,35,0,222,32,0,14,29,0,225,31,0,59,28,0,154,34,0,120,31,0,203,30,0, +62,27,0,57,31,0,127,28,0,73,32,0,240,31,0,219,30,0,64,28,0,148,30,0,147,24,0,3,31,0,40,25,0,204,30,0,147,27,0,175,30,0,100,21,0,15,32,0,152,29,0,242,27,0,115,28,0,43,30,0,62,28,0,249,27,0,52,29,0,240,26,0,126,23,0,109,31,0,20,30,0,237,29,0,241,27,0,172, +37,0,34,29,0,202,28,0,253,28,0,220,30,0,149,30,0,177,35,0,94,30,0,17,31,0,254,28,0,250,34,0,109,30,0,6,34,0,39,33,0,3,35,0,92,31,0,103,31,0,252,32,0,54,37,0,112,35,0,117,33,0,137,34,0,73,34,0,165,36,0,253,33,0,171,31,0,180,31,0,238,33,0,63,30,0,113,34, +0,34,33,0,226,32,0,219,29,0,97,32,0,169,31,0,197,33,0,233,34,0,211,32,0,64,32,0,35,30,0,38,32,0,14,30,0,12,25,0,246,32,0,223,31,0,201,27,0,176,27,0,66,30,0,171,23,0,29,29,0,240,26,0,183,22,0,190,28,0,241,25,0,254,25,0,225,23,0,234,21,0,18,23,0,175,20, +0,33,24,0,204,25,0,217,19,0,67,23,0,92,21,0,13,20,0,28,18,0,25,22,0,208,20,0,6,23,0,21,22,0,58,22,0,140,20,0,93,22,0,50,23,0,169,19,0,52,18,0,176,20,0,114,22,0,177,22,0,87,20,0,242,25,0,49,22,0,142,28,0,131,28,0,31,22,0,181,24,0,247,26,0,220,23,0,103, +25,0,30,21,0,66,25,0,95,24,0,220,26,0,142,22,0,110,28,0,211,26,0,98,26,0,12,25,0,92,30,0,218,25,0,138,26,0,97,24,0,68,29,0,162,26,0,41,26,0,80,25,0,199,31,0,159,25,0,75,28,0,187,25,0,103,27,0,157,26,0,186,29,0,231,26,0,112,33,0,170,28,0,213,26,0,178, +24,0,89,29,0,18,27,0,226,28,0,184,27,0,185,24,0,205,24,0,178,25,0,80,22,0,249,23,0,146,17,0,230,21,0,116,19,0,152,19,0,17,19,0,86,18,0,218,14,0,57,23,0,92,18,0,130,24,0,189,19,0,65,19,0,90,17,0,98,17,0,215,18,0,122,16,0,107,15,0,119,16,0,170,20,0,83, +18,0,170,16,0,202,15,0,138,14,0,44,16,0,228,16,0,221,18,0,55,18,0,68,11,0,140,14,0,29,15,0,105,19,0,88,11,0,73,19,0,61,17,0,116,14,0,31,16,0,2,18,0,126,16,0,26,21,0,59,18,0,151,19,0,183,19,0,174,19,0,249,14,0,216,20,0,176,16,0,41,18,0,23,17,0,1,19,0, +203,18,0,132,20,0,81,19,0,107,21,0,192,18,0,177,19,0,150,17,0,151,17,0,168,20,0,160,19,0,144,15,0,66,20,0,143,19,0,72,19,0,226,23,0,28,19,0,47,22,0,236,19,0,248,20,0,128,16,0,136,22,0,47,18,0,37,24,0,191,13,0,117,22,0,35,14,0,207,19,0,32,13,0,54,15,0, +59,9,0,63,20,0,61,12,0,83,17,0,7,2,0,218,19,0,102,5,0,145,18,0,168,5,0,21,13,0,181,253,255,190,14,0,231,2,0,224,11,0,153,253,255,199,8,0,57,252,255,131,6,0,232,252,255,154,7,0,108,250,255,65,7,0,124,255,255,46,2,0,227,251,255,235,6,0,23,255,255,11,4, +0,196,251,255,162,3,0,115,253,255,202,1,0,88,1,0,88,3,0,77,255,255,24,3,0,124,1,0,62,3,0,35,2,0,168,7,0,80,6,0,78,5,0,185,7,0,148,9,0,82,7,0,21,14,0,84,14,0,22,10,0,247,10,0,74,13,0,55,15,0,128,18,0,99,16,0,166,16,0,245,16,0,130,15,0,106,18,0,9,16,0, +36,15,0,207,23,0,106,20,0,27,17,0,218,16,0,93,16,0,228,18,0,8,21,0,140,15,0,3,17,0,63,16,0,133,18,0,170,17,0,137,17,0,170,16,0,9,19,0,11,15,0,101,19,0,185,14,0,3,15,0,251,14,0,111,15,0,151,12,0,108,12,0,91,16,0,2,17,0,251,7,0,240,14,0,156,7,0,67,10,0, +57,3,0,81,11,0,64,6,0,140,11,0,90,2,0,195,7,0,31,2,0,150,9,0,234,255,255,31,6,0,250,252,255,71,9,0,150,255,255,203,9,0,95,250,255,176,6,0,205,249,255,17,8,0,202,251,255,126,4,0,73,249,255,127,7,0,93,249,255,189,4,0,234,249,255,65,7,0,76,248,255,59,3, +0,182,246,255,171,9,0,15,248,255,185,2,0,246,246,255,129,6,0,135,248,255,214,5,0,76,249,255,65,5,0,93,252,255,150,5,0,160,250,255,93,6,0,21,252,255,232,7,0,238,253,255,65,8,0,133,253,255,156,6,0,61,254,255,6,2,0,1,0,0,41,6,0,36,1,0,123,9,0,20,254,255, +89,7,0,11,0,0,86,9,0,90,0,0,231,4,0,49,253,255,218,7,0,168,252,255,66,3,0,237,255,255,212,7,0,23,254,255,144,4,0,230,254,255,138,2,0,48,249,255,123,4,0,72,251,255,36,4,0,141,246,255,209,0,0,73,250,255,111,3,0,112,252,255,168,0,0,125,247,255,188,2,0,239, +245,255,56,2,0,102,245,255,39,255,255,148,245,255,19,252,255,222,238,255,55,254,255,246,242,255,231,250,255,191,239,255,213,254,255,40,240,255,63,250,255,33,240,255,200,250,255,236,239,255,37,248,255,43,234,255,235,249,255,83,233,255,254,248,255,123, +234,255,28,252,255,195,232,255,233,245,255,170,232,255,136,245,255,242,236,255,134,249,255,238,235,255,40,247,255,47,239,255,0,248,255,193,239,255,60,249,255,44,242,255,8,250,255,127,243,255,236,251,255,151,242,255,130,250,255,108,244,255,200,253,255, +30,247,255,181,249,255,16,248,255,234,254,255,125,250,255,188,254,255,15,255,255,219,1,0,16,0,0,149,0,0,224,250,255,164,5,0,91,1,0,137,0,0,47,254,255,86,6,0,97,2,0,119,7,0,229,255,255,195,3,0,187,251,255,236,4,0,84,252,255,223,6,0,144,251,255,201,4,0, +106,250,255,77,5,0,207,249,255,134,3,0,241,250,255,7,8,0,115,245,255,12,4,0,214,247,255,163,2,0,120,247,255,208,1,0,226,246,255,148,254,255,163,242,255,152,1,0,135,246,255,71,1,0,223,239,255,211,254,255,172,238,255,60,250,255,180,239,255,162,251,255, +178,240,255,248,250,255,85,235,255,22,251,255,18,232,255,160,251,255,93,234,255,80,248,255,177,234,255,209,247,255,63,232,255,197,248,255,215,230,255,68,250,255,114,231,255,162,248,255,241,229,255,98,246,255,194,230,255,102,250,255,80,230,255,9,244,255, +127,232,255,179,245,255,13,230,255,157,244,255,19,231,255,177,246,255,63,234,255,53,243,255,151,230,255,239,246,255,81,230,255,74,243,255,44,236,255,81,241,255,97,229,255,122,243,255,202,232,255,59,244,255,195,233,255,250,247,255,124,235,255,242,244, +255,173,234,255,240,245,255,3,236,255,131,245,255,141,234,255,5,242,255,134,234,255,157,244,255,30,232,255,127,245,255,79,233,255,99,245,255,59,231,255,140,241,255,138,232,255,186,246,255,161,233,255,161,242,255,97,228,255,123,244,255,89,232,255,131, +246,255,55,229,255,130,240,255,162,229,255,245,246,255,250,224,255,53,244,255,115,229,255,199,241,255,173,224,255,240,241,255,77,224,255,112,239,255,67,220,255,232,237,255,9,219,255,185,235,255,115,216,255,172,236,255,106,216,255,0,236,255,34,220,255, +141,234,255,5,219,255,21,232,255,209,213,255,197,229,255,14,215,255,101,226,255,222,214,255,250,228,255,72,213,255,107,227,255,87,211,255,196,226,255,254,208,255,31,225,255,215,212,255,24,224,255,166,210,255,21,227,255,39,209,255,26,223,255,77,207,255, +22,223,255,245,210,255,99,219,255,167,207,255,17,222,255,156,207,255,135,220,255,221,208,255,11,218,255,190,207,255,223,219,255,232,207,255,81,218,255,213,207,255,8,219,255,51,208,255,177,217,255,87,206,255,197,215,255,100,212,255,51,216,255,114,206, +255,207,214,255,253,202,255,17,216,255,23,209,255,208,215,255,56,209,255,115,218,255,185,205,255,52,214,255,164,207,255,227,212,255,174,203,255,189,213,255,143,205,255,34,212,255,188,206,255,36,213,255,128,202,255,145,214,255,7,208,255,219,212,255,36, +203,255,232,212,255,197,202,255,20,215,255,196,198,255,229,212,255,179,196,255,202,214,255,54,200,255,103,215,255,101,200,255,12,214,255,233,198,255,138,217,255,179,204,255,0,215,255,146,199,255,203,215,255,65,200,255,83,222,255,57,203,255,133,219,255, +102,203,255,80,218,255,39,205,255,78,218,255,16,203,255,236,221,255,204,206,255,97,220,255,225,206,255,103,225,255,214,211,255,19,226,255,10,215,255,201,223,255,238,208,255,181,223,255,115,210,255,124,223,255,41,213,255,207,222,255,224,211,255,252,223, +255,188,213,255,229,222,255,198,211,255,228,223,255,193,213,255,75,220,255,167,211,255,233,219,255,133,214,255,152,220,255,174,211,255,255,219,255,255,211,255,193,222,255,160,213,255,185,218,255,142,208,255,146,221,255,137,214,255,63,221,255,27,213,255, +197,220,255,148,213,255,143,221,255,52,214,255,157,219,255,102,217,255,224,220,255,114,219,255,16,224,255,123,219,255,197,219,255,82,216,255,13,220,255,13,217,255,65,222,255,193,219,255,73,222,255,141,218,255,45,219,255,233,216,255,207,221,255,79,218, +255,35,222,255,95,217,255,228,220,255,182,214,255,209,219,255,111,215,255,218,221,255,52,211,255,93,221,255,157,212,255,138,218,255,31,210,255,136,216,255,200,208,255,51,217,255,53,209,255,30,219,255,104,208,255,108,216,255,157,206,255,143,212,255,193, +203,255,14,213,255,126,204,255,102,212,255,12,201,255,111,214,255,126,205,255,248,214,255,201,210,255,27,214,255,199,208,255,171,209,255,7,209,255,55,217,255,91,211,255,108,214,255,155,210,255,247,216,255,213,212,255,250,218,255,61,216,255,189,217,255, +172,216,255,232,219,255,201,214,255,42,223,255,21,218,255,215,223,255,238,220,255,123,224,255,70,223,255,144,228,255,148,224,255,204,228,255,31,224,255,7,225,255,8,229,255,36,234,255,119,229,255,7,234,255,210,228,255,121,231,255,30,228,255,211,232,255, +101,229,255,16,234,255,16,230,255,112,232,255,102,230,255,100,232,255,158,229,255,151,231,255,45,230,255,28,233,255,234,230,255,157,237,255,72,233,255,145,226,255,194,226,255,29,234,255,42,230,255,95,228,255,173,225,255,17,225,255,156,225,255,53,225, +255,124,226,255,244,228,255,111,223,255,122,228,255,131,224,255,66,226,255,54,228,255,64,222,255,225,224,255,51,225,255,8,223,255,83,222,255,88,225,255,132,221,255,176,222,255,231,224,255,83,223,255,229,224,255,158,225,255,8,223,255,236,225,255,206,224, +255,189,225,255,173,225,255,138,224,255,1,225,255,195,226,255,59,228,255,127,226,255,110,225,255,186,226,255,179,227,255,41,229,255,54,227,255,27,226,255,106,229,255,218,226,255,236,230,255,120,232,255,32,229,255,73,227,255,16,228,255,105,228,255,14, +233,255,117,234,255,11,234,255,96,231,255,172,231,255,121,229,255,122,232,255,183,232,255,21,231,255,169,230,255,93,232,255,158,231,255,160,231,255,206,231,255,9,230,255,60,232,255,122,230,255,194,229,255,216,229,255,185,229,255,53,230,255,7,228,255, +71,230,255,232,226,255,227,227,255,189,227,255,219,228,255,189,226,255,140,228,255,94,228,255,85,225,255,185,224,255,184,224,255,103,228,255,23,231,255,70,229,255,55,226,255,127,228,255,215,225,255,251,227,255,171,228,255,194,227,255,224,225,255,245, +227,255,171,229,255,209,233,255,123,228,255,199,225,255,100,229,255,186,229,255,108,229,255,144,229,255,241,230,255,127,236,255,41,228,255,172,233,255,207,229,255,210,234,255,77,234,255,17,235,255,154,233,255,15,235,255,137,233,255,179,234,255,73,233, +255,215,237,255,203,236,255,19,242,255,79,237,255,79,241,255,91,235,255,214,238,255,7,236,255,187,241,255,180,237,255,229,240,255,70,232,255,225,234,255,104,234,255,209,239,255,213,232,255,232,239,255,43,234,255,177,239,255,126,235,255,95,239,255,134, +230,255,209,237,255,215,231,255,246,236,255,148,232,255,117,236,255,245,231,255,62,235,255,150,234,255,79,238,255,127,231,255,139,233,255,87,229,255,98,234,255,247,229,255,140,237,255,136,230,255,159,235,255,169,230,255,102,234,255,184,231,255,115,235, +255,190,230,255,196,236,255,49,233,255,244,238,255,106,231,255,45,236,255,108,233,255,44,241,255,131,228,255,0,242,255,150,229,255,72,242,255,44,230,255,128,244,255,1,236,255,178,245,255,194,228,255,215,242,255,3,231,255,248,246,255,4,234,255,122,247, +255,67,235,255,70,248,255,192,235,255,219,248,255,194,232,255,202,250,255,103,233,255,172,248,255,7,234,255,8,246,255,74,235,255,249,250,255,219,234,255,250,248,255,197,236,255,255,246,255,35,239,255,96,251,255,88,239,255,34,246,255,153,236,255,14,248, +255,235,237,255,223,248,255,164,237,255,165,252,255,179,237,255,37,249,255,124,240,255,101,251,255,144,241,255,101,251,255,121,237,255,99,251,255,196,237,255,106,253,255,77,238,255,44,252,255,151,240,255,165,0,0,114,241,255,20,252,255,111,241,255,149, +251,255,49,242,255,214,0,0,137,240,255,139,2,0,158,238,255,233,254,255,109,243,255,83,4,0,237,241,255,40,2,0,94,239,255,160,4,0,219,239,255,166,6,0,0,240,255,255,8,0,121,243,255,94,6,0,201,242,255,113,4,0,224,241,255,159,5,0,249,241,255,101,6,0,29,241, +255,202,11,0,59,244,255,79,2,0,16,242,255,8,8,0,132,243,255,238,5,0,253,244,255,61,9,0,183,242,255,72,4,0,57,243,255,79,5,0,181,243,255,27,5,0,147,248,255,112,4,0,225,244,255,119,4,0,63,245,255,87,6,0,225,245,255,255,1,0,111,245,255,13,0,0,25,247,255, +127,0,0,51,246,255,105,3,0,167,247,255,55,3,0,66,244,255,63,2,0,102,248,255,18,5,0,174,250,255,18,2,0,254,247,255,50,5,0,210,244,255,185,4,0,87,253,255,55,9,0,132,246,255,228,9,0,240,247,255,51,12,0,234,246,255,18,13,0,67,251,255,139,15,0,66,252,255, +193,17,0,159,249,255,141,15,0,14,252,255,120,15,0,29,248,255,92,16,0,70,249,255,177,15,0,255,250,255,206,13,0,47,250,255,113,14,0,250,250,255,242,12,0,192,249,255,81,12,0,122,248,255,122,14,0,108,249,255,72,14,0,137,248,255,127,12,0,123,249,255,86,11, +0,180,251,255,245,12,0,132,250,255,137,8,0,27,246,255,0,7,0,30,246,255,234,6,0,121,248,255,112,8,0,129,246,255,75,6,0,240,240,255,105,6,0,60,243,255,138,5,0,205,242,255,253,3,0,135,240,255,6,3,0,120,239,255,55,3,0,110,239,255,246,4,0,53,241,255,19,8, +0,5,236,255,133,5,0,21,240,255,252,7,0,195,234,255,143,3,0,73,236,255,38,1,0,227,237,255,144,0,0,247,237,255,83,5,0,177,238,255,37,3,0,183,240,255,185,3,0,32,238,255,231,1,0,104,239,255,207,4,0,96,236,255,170,3,0,27,240,255,168,4,0,255,237,255,222,4, +0,64,238,255,44,4,0,249,238,255,239,5,0,93,242,255,119,6,0,226,240,255,229,4,0,36,240,255,46,4,0,249,242,255,184,4,0,180,240,255,83,4,0,212,239,255,134,255,255,43,242,255,169,4,0,87,240,255,165,6,0,213,241,255,172,7,0,53,239,255,98,6,0,251,238,255,167, +8,0,178,243,255,31,7,0,15,241,255,75,7,0,127,245,255,65,9,0,238,243,255,26,10,0,88,241,255,77,13,0,34,245,255,104,11,0,14,244,255,62,11,0,214,245,255,57,10,0,57,245,255,84,15,0,13,245,255,46,13,0,59,249,255,213,16,0,210,245,255,191,13,0,151,247,255,3, +18,0,181,246,255,224,15,0,148,248,255,255,22,0,190,249,255,179,16,0,137,247,255,186,19,0,95,247,255,25,19,0,129,249,255,220,17,0,132,249,255,138,19,0,6,250,255,184,18,0,112,249,255,247,20,0,175,253,255,232,19,0,92,253,255,85,23,0,94,253,255,21,21,0,207, +254,255,40,23,0,250,251,255,25,22,0,137,0,0,23,21,0,157,0,0,205,19,0,168,253,255,232,23,0,182,254,255,98,24,0,100,252,255,33,21,0,8,254,255,181,23,0,248,251,255,243,22,0,247,252,255,14,22,0,254,250,255,110,21,0,127,249,255,126,22,0,68,253,255,234,24, +0,49,249,255,25,24,0,221,252,255,106,24,0,52,251,255,168,25,0,124,251,255,162,26,0,133,251,255,38,27,0,244,248,255,52,24,0,40,252,255,196,27,0,172,252,255,0,31,0,166,253,255,233,31,0,175,254,255,252,31,0,35,1,0,82,31,0,32,253,255,85,32,0,61,4,0,229,32, +0,24,2,0,228,35,0,252,2,0,98,39,0,77,5,0,249,41,0,232,5,0,115,40,0,159,11,0,105,41,0,72,7,0,96,37,0,171,6,0,207,38,0,231,9,0,131,42,0,54,10,0,152,40,0,4,12,0,55,42,0,244,10,0,220,41,0,5,11,0,122,38,0,65,10,0,224,40,0,237,9,0,99,39,0,175,10,0,250,39,0, +108,10,0,188,37,0,30,10,0,98,40,0,58,9,0,54,34,0,186,10,0,234,36,0,222,10,0,17,38,0,47,11,0,131,38,0,250,9,0,13,38,0,148,10,0,104,42,0,171,11,0,137,39,0,24,11,0,149,40,0,145,10,0,149,38,0,212,8,0,204,40,0,230,4,0,55,41,0,119,6,0,4,40,0,171,4,0,178,39, +0,29,7,0,63,37,0,54,8,0,1,37,0,85,7,0,29,36,0,17,4,0,251,39,0,156,4,0,209,40,0,52,3,0,111,34,0,96,6,0,47,38,0,254,5,0,228,36,0,233,10,0,32,41,0,129,7,0,255,39,0,132,6,0,128,37,0,127,7,0,223,41,0,254,6,0,241,41,0,117,5,0,42,41,0,114,10,0,146,41,0,200, +12,0,245,45,0,202,11,0,100,45,0,11,12,0,94,45,0,139,14,0,98,46,0,142,11,0,84,44,0,207,15,0,94,48,0,19,17,0,90,46,0,206,15,0,84,46,0,133,17,0,52,46,0,32,14,0,132,48,0,52,16,0,113,46,0,161,18,0,97,44,0,185,14,0,182,46,0,82,17,0,224,44,0,230,15,0,77,45, +0,6,15,0,69,47,0,27,15,0,172,39,0,54,17,0,135,45,0,163,15,0,112,40,0,85,17,0,94,44,0,102,15,0,73,43,0,31,14,0,38,39,0,211,12,0,174,39,0,57,13,0,247,35,0,208,13,0,124,34,0,172,4,0,38,34,0,28,6,0,196,35,0,230,4,0,227,30,0,188,4,0,14,31,0,193,3,0,122,28, +0,52,4,0,72,30,0,177,2,0,82,26,0,8,5,0,213,27,0,172,0,0,139,25,0,70,1,0,33,29,0,58,254,255,199,25,0,19,254,255,254,26,0,202,255,255,30,31,0,58,255,255,165,33,0,132,254,255,145,33,0,134,255,255,153,33,0,204,0,0,251,32,0,111,0,0,189,37,0,234,3,0,176,37, +0,103,1,0,227,36,0,35,5,0,167,42,0,180,2,0,183,42,0,188,5,0,140,42,0,247,4,0,28,41,0,18,5,0,131,46,0,254,8,0,219,44,0,99,7,0,161,42,0,79,8,0,5,44,0,177,9,0,76,43,0,234,8,0,43,46,0,1,4,0,211,44,0,55,9,0,82,44,0,156,7,0,64,46,0,203,9,0,170,41,0,81,6,0, +225,41,0,14,11,0,109,42,0,200,9,0,147,41,0,171,8,0,32,39,0,247,10,0,225,39,0,109,7,0,110,37,0,247,7,0,251,36,0,229,6,0,215,35,0,174,5,0,60,36,0,238,8,0,139,36,0,193,3,0,65,32,0,5,4,0,223,33,0,184,2,0,83,30,0,246,3,0,81,31,0,179,0,0,129,29,0,22,3,0,86, +30,0,247,252,255,50,29,0,114,254,255,38,32,0,106,254,255,70,27,0,59,253,255,32,28,0,143,250,255,167,28,0,161,248,255,80,31,0,241,248,255,44,27,0,250,250,255,12,30,0,48,249,255,41,30,0,144,250,255,159,32,0,150,254,255,130,34,0,141,252,255,53,30,0,235, +254,255,38,35,0,246,255,255,22,37,0,222,3,0,224,39,0,189,1,0,52,38,0,101,3,0,231,38,0,78,4,0,217,37,0,196,4,0,173,38,0,166,3,0,190,35,0,139,2,0,67,37,0,139,6,0,65,39,0,141,5,0,108,40,0,142,7,0,208,39,0,199,6,0,225,40,0,218,6,0,125,40,0,37,6,0,230,39, +0,230,9,0,78,37,0,188,8,0,150,38,0,14,9,0,153,40,0,135,9,0,129,38,0,239,5,0,107,38,0,214,10,0,131,40,0,46,7,0,154,40,0,247,7,0,37,40,0,35,5,0,179,41,0,191,8,0,9,42,0,110,6,0,240,40,0,152,8,0,218,41,0,81,6,0,46,44,0,33,7,0,196,42,0,25,7,0,230,45,0,186, +4,0,170,39,0,136,6,0,210,39,0,211,9,0,191,45,0,219,10,0,42,43,0,182,12,0,165,45,0,242,11,0,161,43,0,73,12,0,15,44,0,85,13,0,210,44,0,85,12,0,66,42,0,208,16,0,41,48,0,99,17,0,101,45,0,134,19,0,5,47,0,228,19,0,26,50,0,119,17,0,155,52,0,225,17,0,210,51, +0,80,19,0,163,48,0,35,23,0,246,53,0,228,24,0,78,50,0,30,20,0,98,52,0,189,20,0,255,49,0,167,20,0,239,51,0,183,20,0,225,51,0,1,22,0,81,55,0,246,16,0,73,52,0,89,22,0,79,52,0,48,20,0,141,52,0,147,21,0,158,54,0,243,19,0,186,54,0,117,20,0,190,53,0,220,21,0, +238,51,0,160,19,0,37,51,0,243,20,0,56,54,0,95,22,0,136,55,0,204,19,0,209,51,0,253,21,0,212,52,0,126,19,0,143,52,0,194,22,0,67,48,0,181,23,0,96,51,0,12,18,0,188,48,0,92,24,0,139,48,0,60,21,0,236,48,0,34,23,0,213,52,0,127,21,0,116,48,0,213,20,0,232,46, +0,158,23,0,107,51,0,197,22,0,6,52,0,86,24,0,168,50,0,241,20,0,96,54,0,180,26,0,120,53,0,101,24,0,192,52,0,22,23,0,94,52,0,6,25,0,209,54,0,184,26,0,100,56,0,79,25,0,199,55,0,198,23,0,52,51,0,16,24,0,70,51,0,111,25,0,44,54,0,78,26,0,66,55,0,156,22,0,63, +52,0,61,25,0,217,51,0,141,22,0,165,49,0,22,20,0,145,47,0,93,19,0,99,50,0,149,22,0,234,45,0,127,20,0,44,46,0,59,18,0,179,43,0,1,20,0,20,42,0,245,17,0,215,41,0,202,14,0,166,36,0,32,19,0,203,42,0,71,13,0,13,38,0,231,13,0,88,35,0,115,14,0,34,35,0,217,14, +0,141,34,0,125,13,0,209,36,0,37,14,0,222,33,0,8,12,0,3,31,0,94,14,0,76,32,0,180,11,0,64,28,0,233,9,0,62,29,0,209,7,0,119,29,0,186,5,0,77,26,0,12,10,0,91,29,0,225,10,0,85,28,0,2,7,0,190,28,0,88,6,0,188,27,0,60,5,0,58,27,0,215,7,0,148,29,0,170,5,0,62,27, +0,183,6,0,114,24,0,62,9,0,125,23,0,0,5,0,157,25,0,99,6,0,98,27,0,101,6,0,179,23,0,102,8,0,71,28,0,168,7,0,40,25,0,89,8,0,229,27,0,231,4,0,251,24,0,9,6,0,152,28,0,19,6,0,1,29,0,219,5,0,135,25,0,104,4,0,76,23,0,100,7,0,167,25,0,21,6,0,242,27,0,135,5,0, +208,27,0,12,3,0,213,22,0,207,5,0,177,23,0,10,6,0,147,23,0,196,3,0,215,18,0,149,4,0,3,24,0,57,5,0,102,20,0,31,0,0,190,22,0,244,1,0,176,21,0,117,3,0,86,19,0,222,255,255,100,17,0,196,1,0,52,18,0,59,0,0,94,18,0,253,255,255,61,17,0,186,1,0,204,16,0,83,2,0, +127,16,0,116,2,0,45,13,0,195,1,0,78,15,0,83,1,0,112,13,0,7,0,0,171,13,0,66,255,255,20,15,0,155,255,255,1,12,0,184,255,255,188,19,0,55,252,255,19,13,0,79,253,255,219,17,0,227,253,255,199,20,0,108,251,255,82,16,0,50,255,255,63,16,0,72,253,255,193,18,0, +179,255,255,234,21,0,95,0,0,70,19,0,1,1,0,9,22,0,113,3,0,21,25,0,101,253,255,25,20,0,35,0,0,228,19,0,96,254,255,41,20,0,51,254,255,188,21,0,84,2,0,183,20,0,17,2,0,84,21,0,169,3,0,85,23,0,8,2,0,28,21,0,71,3,0,244,19,0,9,3,0,17,22,0,227,254,255,210,15, +0,168,4,0,131,18,0,72,2,0,155,17,0,157,0,0,193,17,0,29,2,0,116,17,0,52,252,255,161,12,0,176,253,255,44,14,0,198,255,255,0,9,0,193,255,255,234,14,0,255,250,255,132,8,0,137,249,255,136,8,0,147,251,255,240,4,0,141,252,255,198,6,0,194,250,255,255,6,0,199, +252,255,207,6,0,51,252,255,67,10,0,87,254,255,78,11,0,154,252,255,97,10,0,87,254,255,146,7,0,92,254,255,47,8,0,69,255,255,44,16,0,178,2,0,242,14,0,235,4,0,231,15,0,177,3,0,189,16,0,102,4,0,41,18,0,9,9,0,172,19,0,196,6,0,112,19,0,102,5,0,189,20,0,189, +6,0,116,21,0,218,7,0,197,22,0,228,9,0,169,23,0,4,10,0,97,23,0,16,8,0,24,24,0,211,7,0,76,24,0,97,10,0,236,23,0,219,6,0,213,22,0,152,6,0,161,23,0,209,6,0,43,19,0,152,9,0,75,18,0,7,7,0,150,23,0,224,5,0,174,18,0,248,8,0,185,20,0,35,6,0,206,20,0,244,6,0,115, +23,0,192,10,0,151,18,0,209,8,0,8,15,0,145,9,0,190,21,0,39,10,0,51,16,0,85,12,0,60,19,0,27,10,0,47,19,0,154,10,0,189,18,0,75,12,0,183,17,0,221,15,0,110,18,0,48,12,0,202,18,0,180,10,0,64,19,0,155,9,0,26,14,0,47,11,0,166,16,0,247,9,0,145,16,0,67,10,0,207, +17,0,209,8,0,7,18,0,102,8,0,245,13,0,247,10,0,217,10,0,229,8,0,110,16,0,71,12,0,118,14,0,141,7,0,162,10,0,175,14,0,34,13,0,240,8,0,84,12,0,91,10,0,247,14,0,46,11,0,46,18,0,36,10,0,88,15,0,145,8,0,42,8,0,97,11,0,192,16,0,114,10,0,56,13,0,161,12,0,215, +17,0,75,11,0,169,16,0,222,10,0,72,15,0,146,9,0,183,15,0,51,14,0,123,18,0,117,11,0,193,18,0,19,14,0,53,19,0,33,14,0,29,18,0,130,15,0,33,20,0,132,16,0,104,17,0,51,14,0,137,20,0,112,14,0,1,18,0,121,15,0,255,17,0,79,13,0,148,18,0,85,13,0,132,14,0,145,12, +0,212,14,0,35,13,0,27,13,0,214,14,0,77,12,0,121,10,0,59,10,0,136,13,0,123,9,0,170,11,0,83,13,0,204,9,0,208,8,0,196,10,0,44,9,0,8,7,0,197,9,0,180,7,0,169,8,0,50,3,0,210,6,0,2,7,0,86,8,0,187,2,0,108,7,0,71,3,0,157,7,0,69,5,0,138,7,0,161,2,0,49,5,0,106, +7,0,48,11,0,5,6,0,4,9,0,149,5,0,108,9,0,174,7,0,212,9,0,146,6,0,112,9,0,230,4,0,98,8,0,156,8,0,212,10,0,75,9,0,110,8,0,145,9,0,48,5,0,16,10,0,38,8,0,54,10,0,49,9,0,177,12,0,62,10,0,211,8,0,187,3,0,150,10,0,53,9,0,222,9,0,191,6,0,130,8,0,253,3,0,81,12, +0,131,6,0,115,7,0,143,4,0,143,5,0,153,1,0,183,7,0,33,3,0,131,5,0,95,4,0,207,4,0,88,4,0,34,7,0,3,2,0,246,1,0,4,255,255,13,4,0,70,1,0,182,255,255,190,0,0,215,1,0,136,1,0,218,255,255,19,4,0,117,251,255,249,252,255,16,254,255,190,254,255,229,252,255,77,252, +255,97,255,255,206,0,0,27,255,255,153,1,0,178,253,255,33,255,255,226,251,255,84,252,255,126,250,255,130,253,255,94,0,0,144,255,255,141,251,255,97,255,255,181,254,255,178,1,0,235,0,0,3,0,0,1,255,255,57,0,0,66,1,0,144,0,0,129,3,0,95,0,0,255,254,255,171, +253,255,122,1,0,145,1,0,202,4,0,12,2,0,53,3,0,157,1,0,242,4,0,28,2,0,15,3,0,210,255,255,21,6,0,147,0,0,191,6,0,175,4,0,151,7,0,40,7,0,115,7,0,57,5,0,41,9,0,73,3,0,51,12,0,79,7,0,231,9,0,150,7,0,229,9,0,153,9,0,133,12,0,173,8,0,225,13,0,132,5,0,118,12, +0,29,9,0,3,11,0,68,5,0,169,12,0,32,9,0,12,12,0,49,5,0,40,12,0,129,5,0,237,14,0,199,6,0,93,12,0,28,6,0,185,16,0,122,8,0,22,14,0,108,8,0,203,15,0,79,11,0,17,9,0,168,6,0,141,13,0,147,10,0,80,12,0,60,8,0,187,10,0,85,9,0,39,13,0,240,6,0,184,13,0,172,7,0,53, +13,0,116,7,0,74,11,0,94,6,0,242,11,0,31,7,0,232,14,0,129,6,0,59,12,0,157,5,0,190,10,0,249,1,0,195,8,0,4,6,0,223,10,0,33,3,0,10,13,0,129,5,0,29,11,0,212,1,0,106,11,0,14,2,0,110,14,0,171,4,0,133,14,0,102,254,255,147,14,0,13,4,0,136,17,0,18,4,0,62,13,0, +167,6,0,138,15,0,35,7,0,163,16,0,17,6,0,215,14,0,102,5,0,82,17,0,78,6,0,72,18,0,198,3,0,12,20,0,220,7,0,171,19,0,75,2,0,188,17,0,255,6,0,246,18,0,23,10,0,27,19,0,125,7,0,170,19,0,91,5,0,121,17,0,200,7,0,85,22,0,45,10,0,198,17,0,49,7,0,120,17,0,233,6, +0,58,21,0,64,12,0,242,16,0,113,9,0,29,21,0,206,9,0,87,18,0,147,10,0,41,17,0,218,6,0,157,20,0,9,9,0,218,14,0,175,9,0,26,17,0,96,11,0,211,16,0,195,7,0,115,18,0,194,6,0,99,17,0,80,7,0,63,18,0,162,2,0,98,17,0,189,6,0,109,13,0,112,3,0,117,14,0,202,4,0,210, +14,0,100,5,0,24,19,0,104,0,0,139,16,0,52,6,0,235,14,0,211,252,255,76,12,0,150,4,0,214,12,0,250,253,255,66,12,0,205,1,0,214,13,0,149,1,0,0,14,0,229,2,0,164,13,0,240,1,0,100,14,0,251,3,0,33,11,0,26,2,0,225,12,0,213,2,0,46,13,0,73,5,0,177,13,0,228,4,0,150, +9,0,129,2,0,13,15,0,236,2,0,63,12,0,214,6,0,112,12,0,116,4,0,97,15,0,128,7,0,212,13,0,162,7,0,23,16,0,27,7,0,155,15,0,190,7,0,137,17,0,223,8,0,19,19,0,18,9,0,76,22,0,119,9,0,94,18,0,136,8,0,245,21,0,64,8,0,135,21,0,122,12,0,188,22,0,245,12,0,120,22,0, +173,13,0,241,23,0,39,16,0,128,25,0,232,11,0,60,26,0,213,15,0,61,25,0,47,16,0,24,22,0,111,13,0,188,25,0,52,13,0,84,22,0,208,12,0,5,24,0,104,15,0,119,27,0,66,14,0,210,21,0,167,13,0,190,18,0,123,13,0,14,21,0,32,13,0,0,24,0,45,11,0,32,23,0,208,10,0,163,19, +0,194,12,0,35,21,0,21,10,0,30,20,0,111,8,0,8,19,0,55,5,0,150,19,0,243,5,0,42,17,0,59,0,0,42,21,0,122,4,0,20,19,0,27,3,0,108,15,0,19,253,255,13,17,0,243,255,255,33,16,0,1,255,255,131,13,0,141,252,255,58,14,0,13,252,255,53,13,0,160,251,255,206,14,0,197, +251,255,173,18,0,250,252,255,177,15,0,128,249,255,245,12,0,179,250,255,213,11,0,236,247,255,207,15,0,5,248,255,208,16,0,167,246,255,6,16,0,57,247,255,202,13,0,254,244,255,207,11,0,76,246,255,216,17,0,124,249,255,76,11,0,68,246,255,133,13,0,135,248,255, +136,10,0,250,249,255,166,11,0,200,248,255,86,12,0,200,252,255,216,8,0,122,246,255,123,12,0,157,250,255,29,9,0,3,252,255,34,8,0,120,250,255,194,8,0,123,250,255,114,5,0,255,251,255,215,4,0,3,252,255,54,5,0,45,249,255,202,6,0,151,247,255,208,10,0,205,250, +255,247,7,0,170,250,255,29,4,0,25,249,255,13,3,0,156,248,255,12,4,0,13,244,255,115,6,0,148,247,255,31,3,0,185,242,255,31,1,0,74,242,255,117,1,0,21,239,255,182,1,0,36,241,255,82,3,0,138,239,255,77,1,0,140,237,255,62,0,0,97,239,255,158,255,255,56,234,255, +62,254,255,21,237,255,140,255,255,124,232,255,107,255,255,82,231,255,123,1,0,24,232,255,38,253,255,127,229,255,204,253,255,110,230,255,76,0,0,186,231,255,53,2,0,128,230,255,220,255,255,112,232,255,203,0,0,233,230,255,159,0,0,236,230,255,95,1,0,202,232, +255,90,254,255,217,233,255,169,1,0,66,232,255,202,1,0,39,235,255,204,1,0,188,235,255,82,2,0,240,238,255,94,2,0,13,237,255,32,3,0,192,236,255,40,2,0,181,236,255,56,5,0,55,236,255,65,1,0,165,237,255,141,1,0,51,242,255,16,1,0,189,238,255,129,1,0,246,239, +255,122,3,0,125,241,255,126,3,0,170,245,255,98,3,0,4,243,255,32,0,0,211,243,255,14,6,0,164,243,255,37,6,0,108,241,255,17,7,0,227,241,255,33,2,0,149,242,255,148,1,0,236,240,255,220,2,0,153,240,255,209,4,0,241,240,255,207,4,0,242,241,255,123,3,0,141,242, +255,174,5,0,44,241,255,118,4,0,19,241,255,21,3,0,245,245,255,65,3,0,255,241,255,143,4,0,195,241,255,0,4,0,205,241,255,104,4,0,233,241,255,189,4,0,8,245,255,173,4,0,209,243,255,123,7,0,43,243,255,136,4,0,233,244,255,60,7,0,9,247,255,37,8,0,5,248,255,4, +9,0,206,247,255,182,8,0,3,246,255,186,9,0,158,248,255,91,9,0,158,249,255,116,13,0,133,251,255,218,10,0,232,251,255,10,9,0,34,249,255,19,9,0,99,245,255,247,9,0,11,251,255,45,15,0,191,248,255,204,12,0,110,249,255,105,14,0,88,248,255,93,14,0,255,245,255, +181,9,0,255,243,255,182,13,0,211,245,255,120,11,0,192,242,255,208,10,0,222,243,255,102,10,0,158,242,255,107,14,0,55,242,255,195,12,0,201,240,255,224,8,0,130,240,255,252,6,0,230,239,255,236,7,0,73,240,255,243,5,0,154,240,255,52,4,0,122,239,255,16,8,0, +65,240,255,111,2,0,182,240,255,64,8,0,126,239,255,255,7,0,53,242,255,235,5,0,149,240,255,91,8,0,161,237,255,216,9,0,245,245,255,99,6,0,99,241,255,254,7,0,167,242,255,57,9,0,162,244,255,165,9,0,58,244,255,31,6,0,44,242,255,170,8,0,35,243,255,218,5,0,233, +240,255,187,6,0,74,241,255,18,5,0,242,236,255,23,4,0,163,235,255,41,2,0,87,238,255,27,5,0,100,241,255,195,4,0,112,234,255,103,2,0,106,238,255,127,1,0,40,234,255,183,4,0,238,234,255,58,3,0,232,234,255,52,4,0,19,236,255,36,2,0,180,234,255,142,4,0,89,235, +255,37,5,0,112,232,255,255,3,0,40,233,255,184,5,0,150,232,255,224,2,0,25,235,255,71,5,0,158,232,255,32,5,0,112,232,255,212,6,0,201,235,255,127,4,0,217,232,255,19,2,0,255,233,255,68,2,0,8,231,255,183,251,255,181,231,255,19,1,0,88,232,255,78,254,255,66, +235,255,152,255,255,147,233,255,75,0,0,117,234,255,1,255,255,213,236,255,142,254,255,114,235,255,86,2,0,16,236,255,215,3,0,252,235,255,71,1,0,103,237,255,46,1,0,40,238,255,129,3,0,215,239,255,78,5,0,152,241,255,56,7,0,169,238,255,194,8,0,231,242,255, +22,5,0,111,243,255,166,3,0,117,240,255,86,5,0,17,237,255,104,9,0,114,243,255,82,6,0,245,239,255,37,4,0,182,235,255,216,5,0,204,237,255,8,4,0,42,235,255,26,4,0,222,233,255,149,2,0,88,234,255,48,4,0,158,230,255,62,2,0,238,228,255,64,1,0,52,228,255,2,1, +0,30,230,255,175,253,255,197,226,255,160,0,0,70,229,255,184,250,255,3,224,255,90,253,255,155,227,255,136,251,255,174,227,255,118,249,255,67,219,255,102,247,255,205,219,255,8,250,255,169,221,255,52,248,255,152,224,255,251,247,255,45,222,255,226,248,255, +249,221,255,251,250,255,148,220,255,213,248,255,199,220,255,7,247,255,49,220,255,197,245,255,219,217,255,47,242,255,88,214,255,40,245,255,105,215,255,162,242,255,186,212,255,105,245,255,24,215,255,182,246,255,69,216,255,56,241,255,84,214,255,28,244,255, +48,216,255,16,242,255,216,215,255,174,240,255,70,216,255,104,239,255,221,211,255,31,240,255,92,217,255,23,243,255,123,216,255,254,238,255,219,212,255,185,236,255,164,211,255,108,240,255,55,212,255,32,237,255,29,215,255,193,240,255,74,215,255,5,239,255, +229,217,255,195,238,255,253,216,255,39,240,255,46,217,255,178,240,255,91,216,255,214,238,255,165,215,255,30,238,255,149,214,255,231,239,255,78,215,255,165,236,255,252,216,255,28,239,255,151,215,255,45,239,255,153,213,255,214,238,255,30,214,255,98,242, +255,204,215,255,168,238,255,254,211,255,240,241,255,166,214,255,124,239,255,103,214,255,53,243,255,228,210,255,42,242,255,183,211,255,232,242,255,1,214,255,224,241,255,40,215,255,219,242,255,232,213,255,107,244,255,251,213,255,53,240,255,177,213,255, +81,240,255,92,212,255,34,241,255,98,216,255,143,238,255,138,212,255,96,243,255,132,214,255,132,242,255,223,211,255,48,240,255,127,210,255,82,241,255,8,212,255,248,236,255,77,212,255,118,240,255,153,212,255,187,238,255,251,211,255,67,236,255,47,211,255, +131,238,255,61,210,255,82,234,255,242,208,255,19,234,255,99,212,255,174,231,255,212,210,255,15,233,255,175,208,255,214,232,255,221,207,255,7,231,255,159,204,255,245,229,255,124,205,255,111,231,255,150,208,255,199,230,255,24,205,255,38,236,255,44,208, +255,97,231,255,224,205,255,187,229,255,110,206,255,49,233,255,204,205,255,50,233,255,128,208,255,132,233,255,22,208,255,168,231,255,168,207,255,143,234,255,6,208,255,113,233,255,110,209,255,36,233,255,220,208,255,119,233,255,25,208,255,130,237,255,35, +211,255,234,235,255,247,211,255,164,235,255,59,215,255,243,232,255,226,209,255,224,235,255,215,217,255,109,234,255,54,214,255,83,237,255,18,217,255,103,236,255,231,214,255,138,235,255,252,220,255,29,233,255,222,215,255,175,234,255,201,219,255,137,235, +255,147,219,255,117,237,255,175,219,255,165,237,255,156,215,255,236,237,255,182,217,255,155,241,255,160,220,255,71,238,255,231,217,255,142,241,255,67,214,255,104,238,255,190,215,255,107,235,255,229,212,255,103,236,255,233,213,255,124,236,255,191,211, +255,238,234,255,106,210,255,81,236,255,69,209,255,102,238,255,183,208,255,99,232,255,187,206,255,178,234,255,231,209,255,78,229,255,146,206,255,72,238,255,9,206,255,242,229,255,29,204,255,77,232,255,194,203,255,230,235,255,140,206,255,155,231,255,186, +201,255,135,234,255,65,206,255,34,238,255,138,208,255,171,236,255,51,207,255,156,239,255,24,211,255,131,237,255,150,210,255,214,239,255,160,210,255,11,238,255,156,210,255,9,238,255,43,209,255,61,239,255,187,211,255,5,243,255,147,215,255,65,241,255,114, +215,255,137,242,255,195,215,255,203,242,255,52,214,255,140,242,255,157,216,255,14,245,255,42,220,255,178,243,255,82,217,255,170,243,255,64,218,255,101,242,255,64,219,255,86,244,255,1,223,255,137,245,255,233,221,255,56,245,255,115,220,255,2,243,255,1, +223,255,16,245,255,134,221,255,36,243,255,70,223,255,95,243,255,163,223,255,26,245,255,169,220,255,170,246,255,88,223,255,75,242,255,210,222,255,139,243,255,25,222,255,156,245,255,86,217,255,109,242,255,55,217,255,203,237,255,16,212,255,93,239,255,212, +208,255,190,242,255,164,213,255,46,238,255,68,211,255,249,240,255,243,211,255,88,239,255,48,207,255,182,238,255,201,203,255,230,236,255,22,207,255,72,237,255,95,203,255,131,237,255,4,205,255,193,233,255,20,201,255,69,235,255,66,206,255,220,235,255,176, +201,255,240,233,255,244,200,255,80,236,255,102,201,255,71,235,255,160,202,255,0,235,255,67,203,255,29,235,255,127,203,255,209,234,255,242,205,255,219,235,255,218,204,255,193,229,255,204,204,255,43,236,255,13,206,255,5,231,255,116,207,255,212,230,255, +0,208,255,12,233,255,38,205,255,177,230,255,84,205,255,68,231,255,215,208,255,158,235,255,8,210,255,195,230,255,37,211,255,50,233,255,1,210,255,94,235,255,45,209,255,108,234,255,217,210,255,205,233,255,99,209,255,46,235,255,184,211,255,225,235,255,200, +209,255,56,235,255,117,207,255,243,233,255,142,209,255,73,236,255,170,211,255,242,232,255,97,209,255,13,234,255,188,208,255,72,235,255,202,206,255,234,233,255,248,205,255,28,233,255,43,208,255,11,233,255,111,204,255,135,230,255,90,204,255,32,229,255, +201,203,255,129,233,255,112,202,255,67,231,255,230,200,255,164,227,255,247,200,255,79,230,255,6,200,255,190,230,255,156,196,255,124,225,255,7,197,255,199,223,255,215,194,255,29,225,255,66,196,255,77,224,255,216,194,255,122,226,255,40,197,255,18,222,255, +44,194,255,19,224,255,133,195,255,204,221,255,186,194,255,118,226,255,37,194,255,221,224,255,203,193,255,52,222,255,70,199,255,104,222,255,83,198,255,204,221,255,48,199,255,173,222,255,20,200,255,111,223,255,160,200,255,245,220,255,55,202,255,203,221, +255,198,202,255,21,223,255,227,200,255,71,219,255,83,203,255,205,222,255,100,204,255,145,225,255,174,202,255,23,224,255,96,203,255,89,221,255,52,201,255,181,222,255,176,202,255,43,222,255,242,199,255,21,222,255,181,195,255,152,222,255,89,197,255,82,221, +255,46,197,255,34,220,255,43,194,255,6,218,255,166,190,255,11,218,255,103,192,255,24,217,255,216,193,255,238,214,255,55,187,255,77,217,255,54,190,255,117,216,255,90,189,255,71,216,255,164,191,255,90,216,255,242,188,255,51,218,255,180,187,255,14,218,255, +79,189,255,242,217,255,34,193,255,103,218,255,62,191,255,28,220,255,198,195,255,209,215,255,29,191,255,203,219,255,32,194,255,234,222,255,101,197,255,230,218,255,8,196,255,0,219,255,238,197,255,17,220,255,110,199,255,125,222,255,34,198,255,101,222,255, +248,198,255,113,217,255,48,198,255,54,220,255,147,197,255,116,223,255,209,197,255,161,220,255,153,198,255,82,221,255,155,199,255,60,220,255,63,197,255,223,218,255,147,194,255,252,218,255,169,197,255,151,218,255,25,197,255,183,215,255,199,194,255,37,216, +255,189,198,255,229,217,255,145,192,255,41,216,255,17,196,255,238,215,255,18,192,255,27,218,255,169,196,255,105,217,255,41,195,255,14,216,255,135,193,255,211,215,255,115,194,255,187,215,255,131,193,255,99,219,255,87,195,255,58,220,255,119,193,255,134, +215,255,171,192,255,114,218,255,47,196,255,246,216,255,138,196,255,78,218,255,154,193,255,165,216,255,149,193,255,105,219,255,249,194,255,43,217,255,14,193,255,99,215,255,124,192,255,80,217,255,37,194,255,194,215,255,243,193,255,175,214,255,122,194,255, +128,217,255,229,195,255,151,217,255,16,196,255,232,219,255,245,194,255,146,215,255,235,193,255,71,219,255,117,197,255,238,219,255,143,199,255,101,214,255,164,193,255,99,215,255,92,197,255,160,213,255,69,200,255,119,216,255,68,198,255,202,214,255,96,199, +255,63,215,255,62,200,255,75,215,255,242,196,255,77,218,255,149,203,255,190,218,255,43,201,255,191,215,255,126,196,255,170,217,255,108,200,255,97,217,255,52,207,255,164,220,255,36,207,255,105,219,255,29,205,255,170,221,255,247,206,255,22,225,255,133, +206,255,80,226,255,76,212,255,45,227,255,81,208,255,215,227,255,211,210,255,55,228,255,43,213,255,164,229,255,80,213,255,138,229,255,138,215,255,187,230,255,34,211,255,90,233,255,182,215,255,94,231,255,229,213,255,170,232,255,218,218,255,237,232,255, +115,216,255,54,231,255,220,217,255,134,235,255,9,222,255,207,233,255,179,221,255,127,233,255,59,222,255,176,234,255,104,220,255,255,233,255,239,221,255,162,233,255,84,222,255,207,233,255,27,222,255,88,236,255,164,221,255,33,236,255,97,223,255,226,234, +255,83,222,255,65,234,255,93,219,255,63,238,255,162,222,255,210,236,255,242,221,255,146,238,255,10,221,255,77,241,255,221,219,255,39,242,255,210,222,255,157,237,255,249,219,255,23,241,255,55,221,255,251,241,255,172,226,255,110,241,255,13,228,255,110, +241,255,236,226,255,54,244,255,38,229,255,217,245,255,55,232,255,90,244,255,61,231,255,141,246,255,92,230,255,45,245,255,199,235,255,37,248,255,10,236,255,24,246,255,133,237,255,98,247,255,70,238,255,246,249,255,146,238,255,160,249,255,144,241,255,128, +251,255,97,240,255,224,249,255,4,243,255,165,249,255,135,242,255,213,248,255,22,242,255,41,249,255,1,243,255,166,251,255,252,244,255,117,253,255,79,242,255,246,251,255,106,243,255,182,251,255,197,243,255,12,254,255,59,242,255,114,0,0,106,246,255,118, +3,0,185,249,255,218,255,255,187,247,255,83,4,0,216,247,255,26,1,0,188,244,255,33,2,0,70,246,255,203,8,0,156,246,255,164,4,0,30,246,255,59,6,0,168,247,255,179,3,0,103,244,255,54,6,0,96,242,255,246,5,0,120,245,255,106,5,0,25,245,255,113,8,0,45,247,255, +87,12,0,103,246,255,16,7,0,236,247,255,150,6,0,101,246,255,181,6,0,225,247,255,77,4,0,91,247,255,4,7,0,53,249,255,207,6,0,45,249,255,167,7,0,177,250,255,32,6,0,65,250,255,111,7,0,60,251,255,96,8,0,23,255,255,204,10,0,73,0,0,36,6,0,45,252,255,40,6,0,105, +254,255,124,4,0,219,255,255,228,4,0,58,0,0,250,5,0,53,2,0,255,9,0,82,2,0,205,12,0,189,6,0,155,9,0,83,5,0,142,10,0,124,7,0,62,11,0,19,10,0,102,15,0,255,9,0,230,12,0,220,8,0,27,13,0,136,8,0,13,13,0,62,7,0,120,14,0,217,9,0,142,18,0,51,9,0,73,20,0,63,7,0, +151,16,0,59,10,0,234,17,0,8,11,0,92,18,0,6,13,0,76,19,0,157,11,0,17,17,0,79,12,0,146,18,0,250,13,0,57,18,0,185,11,0,95,26,0,215,14,0,135,21,0,94,14,0,199,18,0,97,15,0,97,18,0,23,14,0,99,18,0,210,13,0,210,19,0,124,13,0,27,19,0,61,14,0,59,20,0,40,8,0,225, +18,0,207,10,0,101,14,0,167,10,0,9,13,0,125,8,0,150,14,0,34,6,0,95,14,0,252,6,0,17,13,0,238,4,0,140,10,0,126,6,0,242,11,0,230,3,0,49,13,0,251,4,0,130,7,0,17,1,0,217,9,0,203,2,0,28,9,0,108,2,0,17,11,0,152,0,0,176,8,0,26,3,0,11,10,0,167,2,0,168,9,0,193, +1,0,152,6,0,168,1,0,137,10,0,124,3,0,253,9,0,186,4,0,180,9,0,224,5,0,27,13,0,22,7,0,8,14,0,191,8,0,200,13,0,163,9,0,231,15,0,7,12,0,223,13,0,155,11,0,202,14,0,63,15,0,207,19,0,64,13,0,192,14,0,44,14,0,241,15,0,7,22,0,251,18,0,24,21,0,235,22,0,146,22, +0,183,21,0,15,20,0,237,20,0,81,21,0,244,18,0,167,19,0,145,22,0,158,19,0,207,20,0,156,20,0,208,18,0,147,21,0,24,20,0,184,22,0,241,22,0,231,20,0,198,20,0,55,20,0,183,20,0,197,21,0,73,23,0,238,20,0,50,20,0,3,18,0,2,21,0,60,19,0,73,20,0,136,19,0,56,24,0, +149,21,0,238,20,0,32,21,0,199,20,0,49,17,0,73,19,0,155,18,0,97,19,0,199,18,0,142,18,0,177,21,0,80,17,0,78,16,0,240,19,0,219,18,0,12,18,0,188,16,0,129,19,0,251,19,0,144,17,0,152,19,0,153,16,0,250,20,0,166,15,0,237,17,0,206,17,0,192,21,0,57,17,0,192,19, +0,33,16,0,102,20,0,17,17,0,10,24,0,74,17,0,54,20,0,37,20,0,59,24,0,225,18,0,187,21,0,46,17,0,192,21,0,155,16,0,240,22,0,16,20,0,255,22,0,16,18,0,235,21,0,221,18,0,170,23,0,55,21,0,148,21,0,139,19,0,215,23,0,241,18,0,231,19,0,90,18,0,199,22,0,128,20,0, +110,23,0,64,20,0,75,23,0,173,19,0,103,25,0,147,19,0,90,25,0,15,19,0,73,23,0,100,22,0,66,26,0,177,17,0,167,27,0,250,24,0,102,26,0,128,21,0,116,29,0,203,21,0,86,30,0,184,23,0,111,28,0,86,22,0,40,26,0,93,25,0,142,31,0,147,25,0,15,28,0,125,23,0,3,29,0,76, +23,0,221,28,0,214,22,0,3,32,0,48,22,0,173,27,0,228,26,0,190,26,0,205,23,0,165,29,0,238,22,0,41,30,0,60,19,0,27,30,0,167,20,0,7,26,0,63,19,0,168,27,0,83,20,0,254,28,0,92,19,0,142,24,0,41,20,0,196,28,0,166,20,0,37,29,0,238,18,0,87,30,0,211,17,0,253,26, +0,223,19,0,53,32,0,221,20,0,181,30,0,19,16,0,201,29,0,236,21,0,65,37,0,215,17,0,75,31,0,95,20,0,68,32,0,228,18,0,72,29,0,121,18,0,8,32,0,164,19,0,147,30,0,214,20,0,9,33,0,246,19,0,10,29,0,85,20,0,195,33,0,171,22,0,125,31,0,154,21,0,165,34,0,41,21,0,231, +32,0,72,23,0,5,34,0,187,21,0,111,31,0,241,21,0,168,33,0,50,23,0,45,33,0,124,24,0,239,31,0,126,24,0,0,34,0,217,26,0,160,34,0,128,23,0,8,35,0,113,24,0,167,34,0,166,21,0,127,34,0,92,23,0,15,32,0,249,18,0,191,33,0,177,22,0,224,30,0,153,21,0,132,32,0,148, +20,0,92,31,0,104,21,0,145,30,0,119,20,0,140,26,0,157,22,0,161,31,0,252,16,0,128,30,0,199,17,0,14,30,0,253,21,0,181,27,0,125,22,0,147,30,0,211,20,0,210,29,0,204,17,0,142,27,0,136,19,0,221,31,0,225,14,0,69,29,0,148,20,0,241,32,0,226,16,0,97,30,0,136,19, +0,171,29,0,66,20,0,111,29,0,48,20,0,238,31,0,211,19,0,216,29,0,21,22,0,187,30,0,253,20,0,144,31,0,250,20,0,228,32,0,28,21,0,89,29,0,195,19,0,220,30,0,215,23,0,242,34,0,167,21,0,218,27,0,32,22,0,213,28,0,43,21,0,58,28,0,115,23,0,68,25,0,23,20,0,117,28, +0,133,20,0,185,26,0,233,18,0,53,24,0,233,17,0,97,23,0,193,15,0,38,20,0,113,15,0,24,23,0,15,15,0,31,22,0,105,10,0,115,15,0,106,8,0,197,12,0,1,12,0,154,14,0,202,6,0,80,12,0,26,10,0,208,13,0,66,6,0,227,11,0,90,7,0,13,13,0,3,6,0,203,13,0,110,2,0,160,12,0, +194,4,0,85,14,0,17,2,0,190,12,0,90,4,0,200,17,0,146,4,0,127,16,0,4,2,0,216,15,0,206,5,0,204,20,0,165,3,0,214,18,0,169,3,0,27,23,0,25,4,0,82,23,0,22,3,0,107,23,0,248,5,0,146,25,0,176,7,0,112,27,0,65,6,0,41,28,0,212,6,0,242,27,0,174,7,0,63,30,0,191,5,0, +92,27,0,163,8,0,46,27,0,202,8,0,76,28,0,119,10,0,191,27,0,222,7,0,102,23,0,64,9,0,62,26,0,60,10,0,149,25,0,4,10,0,149,25,0,66,10,0,127,22,0,141,9,0,134,24,0,156,11,0,229,22,0,179,10,0,133,18,0,73,13,0,123,16,0,240,7,0,11,16,0,19,5,0,143,13,0,192,7,0, +174,17,0,117,7,0,37,14,0,13,7,0,199,16,0,193,5,0,127,14,0,223,6,0,6,16,0,188,3,0,194,13,0,115,6,0,133,17,0,194,2,0,1,17,0,66,1,0,1,17,0,38,254,255,86,15,0,253,253,255,86,16,0,12,0,0,234,17,0,93,252,255,124,16,0,214,253,255,137,20,0,227,251,255,2,19,0, +70,250,255,124,18,0,182,250,255,143,15,0,217,251,255,158,18,0,253,248,255,112,18,0,124,251,255,168,15,0,174,248,255,135,15,0,47,250,255,195,15,0,32,249,255,14,17,0,37,251,255,231,16,0,105,251,255,147,15,0,196,249,255,172,17,0,155,250,255,88,15,0,233, +250,255,77,15,0,24,253,255,55,16,0,179,251,255,242,13,0,159,253,255,81,13,0,225,1,0,66,18,0,111,1,0,59,18,0,249,254,255,142,19,0,93,1,0,28,18,0,24,3,0,130,19,0,250,1,0,51,17,0,124,4,0,25,20,0,171,5,0,169,16,0,245,3,0,152,18,0,111,4,0,61,19,0,47,6,0,238, +20,0,62,2,0,61,18,0,112,2,0,248,20,0,174,255,255,123,19,0,60,5,0,16,22,0,8,3,0,245,16,0,254,4,0,101,18,0,62,5,0,127,17,0,231,3,0,33,19,0,189,1,0,239,16,0,93,1,0,50,18,0,160,0,0,147,17,0,158,254,255,24,17,0,146,1,0,51,18,0,211,252,255,116,12,0,237,254, +255,188,12,0,157,253,255,97,13,0,232,251,255,241,10,0,132,252,255,25,12,0,72,248,255,93,10,0,79,250,255,126,13,0,203,248,255,204,10,0,85,247,255,97,11,0,73,248,255,123,11,0,25,247,255,71,9,0,76,251,255,254,12,0,133,250,255,184,13,0,79,249,255,162,8,0, +227,252,255,253,12,0,38,251,255,56,10,0,129,250,255,184,12,0,93,252,255,54,13,0,150,254,255,85,13,0,146,251,255,193,12,0,44,0,0,172,13,0,104,252,255,163,15,0,152,254,255,196,17,0,35,255,255,48,17,0,3,255,255,124,17,0,224,252,255,223,12,0,53,1,0,88,19, +0,25,1,0,167,15,0,161,254,255,122,17,0,27,252,255,128,16,0,138,255,255,238,11,0,129,255,255,35,16,0,180,254,255,53,19,0,162,0,0,235,17,0,246,254,255,162,16,0,138,255,255,32,18,0,74,254,255,189,18,0,193,254,255,65,19,0,93,0,0,58,17,0,198,254,255,182,21, +0,221,253,255,175,20,0,89,0,0,239,19,0,31,254,255,106,19,0,176,255,255,229,19,0,65,255,255,21,19,0,55,253,255,157,17,0,206,253,255,1,18,0,19,253,255,14,21,0,65,255,255,92,18,0,174,255,255,183,20,0,89,255,255,55,17,0,251,254,255,244,18,0,65,1,0,128,20, +0,243,254,255,0,17,0,172,1,0,134,19,0,123,254,255,247,18,0,129,3,0,44,16,0,64,253,255,176,15,0,12,2,0,137,17,0,113,3,0,170,18,0,127,1,0,194,16,0,253,0,0,156,18,0,253,255,255,130,14,0,47,4,0,130,18,0,172,255,255,180,18,0,140,255,255,195,17,0,201,1,0,253, +15,0,254,1,0,148,16,0,90,2,0,29,18,0,223,3,0,247,13,0,100,255,255,118,15,0,97,0,0,86,13,0,22,2,0,149,15,0,153,255,255,138,15,0,22,1,0,46,14,0,221,253,255,157,11,0,69,1,0,127,16,0,108,0,0,145,9,0,205,254,255,54,11,0,20,254,255,249,8,0,230,252,255,151, +8,0,70,253,255,28,10,0,181,252,255,14,12,0,200,246,255,189,8,0,203,248,255,208,3,0,101,252,255,86,11,0,241,248,255,143,0,0,198,249,255,135,4,0,246,246,255,88,6,0,135,248,255,62,8,0,167,248,255,181,4,0,154,249,255,137,5,0,176,246,255,20,7,0,82,245,255, +28,2,0,9,246,255,145,4,0,217,248,255,100,7,0,47,245,255,242,6,0,176,247,255,129,4,0,208,246,255,138,4,0,123,249,255,180,4,0,199,248,255,29,6,0,89,248,255,60,5,0,245,247,255,37,9,0,209,246,255,131,7,0,43,251,255,101,10,0,182,246,255,189,6,0,222,246,255, +103,7,0,138,251,255,157,9,0,162,251,255,3,8,0,100,247,255,252,6,0,149,250,255,73,9,0,195,248,255,124,6,0,245,251,255,126,6,0,70,252,255,15,3,0,188,250,255,51,4,0,69,255,255,122,6,0,196,248,255,28,5,0,127,252,255,198,2,0,6,252,255,45,0,0,135,250,255,128, +2,0,144,250,255,183,0,0,131,248,255,11,255,255,190,246,255,52,0,0,123,248,255,200,255,255,129,248,255,19,252,255,24,248,255,91,252,255,100,247,255,91,255,255,147,246,255,108,251,255,229,247,255,240,253,255,211,250,255,151,254,255,226,248,255,149,253, +255,133,247,255,178,0,0,239,248,255,134,3,0,144,247,255,242,255,255,15,247,255,216,255,255,100,247,255,79,2,0,243,250,255,178,2,0,94,246,255,93,4,0,38,251,255,31,5,0,95,246,255,194,5,0,198,247,255,232,3,0,11,246,255,40,3,0,250,246,255,96,0,0,169,248, +255,147,4,0,67,250,255,92,6,0,183,246,255,10,4,0,254,247,255,62,5,0,71,246,255,155,0,0,134,248,255,52,3,0,147,247,255,117,0,0,57,246,255,113,0,0,93,247,255,147,255,255,89,247,255,84,254,255,230,244,255,181,254,255,31,245,255,48,254,255,194,245,255,79, +255,255,136,248,255,38,254,255,72,245,255,250,250,255,252,248,255,177,254,255,235,242,255,211,251,255,3,246,255,163,253,255,208,246,255,185,252,255,14,243,255,89,251,255,101,248,255,40,254,255,66,243,255,170,251,255,107,246,255,186,0,0,138,243,255,132, +253,255,207,244,255,132,2,0,52,245,255,238,255,255,145,247,255,203,0,0,63,247,255,238,1,0,64,247,255,168,1,0,87,247,255,205,2,0,193,248,255,109,5,0,115,245,255,253,255,255,184,249,255,11,4,0,187,245,255,164,3,0,186,246,255,0,2,0,142,246,255,29,4,0,225, +247,255,90,3,0,151,248,255,65,4,0,115,248,255,87,2,0,2,249,255,234,0,0,223,248,255,85,3,0,42,248,255,149,2,0,11,248,255,107,1,0,27,247,255,46,255,255,81,246,255,11,253,255,160,251,255,107,254,255,35,249,255,2,254,255,245,251,255,5,0,0,234,247,255,155, +254,255,176,249,255,226,252,255,58,251,255,86,255,255,197,251,255,116,250,255,234,249,255,84,254,255,3,249,255,252,254,255,144,250,255,174,254,255,239,250,255,75,253,255,252,250,255,3,255,255,30,247,255,35,251,255,195,248,255,122,255,255,46,251,255,76, +255,255,138,248,255,137,253,255,31,247,255,50,250,255,128,246,255,132,252,255,161,243,255,119,248,255,11,245,255,229,254,255,1,246,255,137,253,255,194,245,255,53,249,255,145,241,255,181,249,255,203,240,255,187,249,255,199,240,255,196,250,255,172,243, +255,43,250,255,46,240,255,142,248,255,194,238,255,123,246,255,56,240,255,157,246,255,144,242,255,178,248,255,186,241,255,241,247,255,65,240,255,63,248,255,0,244,255,128,248,255,174,243,255,14,252,255,219,243,255,36,251,255,211,242,255,21,251,255,44,242, +255,52,252,255,190,245,255,143,251,255,208,242,255,125,254,255,180,245,255,76,252,255,61,249,255,15,0,0,235,248,255,146,254,255,118,248,255,177,255,255,228,247,255,79,2,0,210,245,255,174,0,0,139,246,255,75,2,0,150,246,255,59,0,0,238,246,255,171,252,255, +64,249,255,165,254,255,148,249,255,169,254,255,141,248,255,82,250,255,75,250,255,97,247,255,108,248,255,36,248,255,181,248,255,223,247,255,178,249,255,222,246,255,136,248,255,21,249,255,72,249,255,234,245,255,173,249,255,218,244,255,194,249,255,156,246, +255,230,244,255,137,242,255,127,249,255,252,244,255,244,247,255,243,243,255,160,248,255,120,245,255,115,249,255,60,245,255,127,248,255,73,247,255,210,251,255,158,248,255,118,247,255,215,251,255,1,249,255,95,252,255,219,250,255,236,255,255,100,252,255, +205,255,255,112,249,255,35,5,0,25,254,255,236,7,0,61,252,255,67,7,0,6,0,0,11,10,0,83,0,0,45,11,0,146,254,255,88,10,0,60,3,0,120,15,0,79,4,0,8,14,0,218,3,0,119,11,0,241,2,0,95,13,0,95,3,0,162,17,0,98,4,0,110,16,0,156,4,0,66,15,0,198,5,0,93,17,0,193,4, +0,230,15,0,93,8,0,255,17,0,11,6,0,64,14,0,232,3,0,243,11,0,243,9,0,101,15,0,7,8,0,123,13,0,150,13,0,123,16,0,190,8,0,186,12,0,43,12,0,28,15,0,255,12,0,124,14,0,190,13,0,63,16,0,239,10,0,176,11,0,0,13,0,110,14,0,156,12,0,124,12,0,28,10,0,221,12,0,161, +12,0,187,9,0,26,13,0,168,11,0,25,9,0,160,10,0,145,7,0,128,7,0,141,10,0,22,9,0,182,6,0,113,9,0,110,6,0,30,6,0,43,5,0,2,10,0,78,6,0,233,10,0,234,5,0,118,9,0,77,7,0,14,10,0,238,4,0,188,9,0,66,9,0,113,10,0,4,8,0,27,13,0,124,7,0,249,13,0,237,6,0,79,12,0,176, +8,0,207,14,0,96,9,0,91,17,0,246,10,0,10,16,0,44,10,0,1,15,0,180,11,0,221,16,0,49,11,0,83,16,0,217,7,0,167,15,0,225,15,0,96,18,0,144,14,0,209,16,0,0,15,0,236,14,0,17,17,0,167,18,0,249,14,0,198,18,0,228,17,0,157,20,0,92,15,0,68,18,0,160,18,0,192,19,0,148, +17,0,106,19,0,18,20,0,28,18,0,202,18,0,132,19,0,255,21,0,126,21,0,242,21,0,226,20,0,33,23,0,51,23,0,252,21,0,223,20,0,99,22,0,131,20,0,82,24,0,101,22,0,119,21,0,15,21,0,148,21,0,66,25,0,86,22,0,124,23,0,41,23,0,244,22,0,75,25,0,169,24,0,250,20,0,115, +22,0,90,22,0,177,21,0,170,20,0,201,20,0,136,20,0,90,24,0,244,23,0,233,18,0,216,20,0,146,19,0,254,21,0,39,20,0,242,22,0,221,20,0,115,20,0,193,18,0,151,22,0,236,20,0,31,22,0,43,18,0,125,21,0,18,18,0,130,20,0,187,17,0,116,22,0,173,19,0,188,20,0,99,17,0, +242,20,0,142,20,0,27,22,0,112,16,0,84,24,0,189,18,0,79,21,0,178,18,0,174,18,0,88,17,0,37,21,0,22,14,0,98,21,0,92,17,0,58,19,0,241,15,0,183,19,0,243,15,0,254,17,0,234,14,0,160,15,0,80,12,0,149,19,0,225,16,0,101,19,0,112,13,0,72,15,0,11,14,0,166,21,0,107, +12,0,134,17,0,231,12,0,177,20,0,173,15,0,73,20,0,96,13,0,192,19,0,81,13,0,75,21,0,40,16,0,117,23,0,211,14,0,234,18,0,223,15,0,46,25,0,165,16,0,126,22,0,67,15,0,204,24,0,81,17,0,94,25,0,190,18,0,58,25,0,119,22,0,65,28,0,150,20,0,129,24,0,77,22,0,6,29, +0,120,19,0,20,25,0,150,19,0,203,24,0,28,20,0,11,24,0,104,17,0,204,24,0,216,15,0,53,25,0,13,17,0,184,23,0,0,18,0,18,26,0,33,16,0,74,23,0,156,16,0,26,22,0,214,14,0,242,23,0,65,20,0,40,25,0,144,16,0,72,27,0,250,15,0,101,25,0,26,16,0,120,22,0,194,18,0,28, +24,0,35,17,0,203,27,0,74,20,0,36,22,0,37,16,0,101,26,0,72,18,0,59,27,0,35,17,0,250,26,0,15,19,0,101,26,0,155,18,0,227,25,0,156,19,0,94,22,0,198,20,0,62,18,0,101,15,0,62,22,0,218,17,0,118,21,0,69,15,0,156,22,0,103,16,0,225,20,0,145,11,0,82,20,0,151,14, +0,1,21,0,38,11,0,73,18,0,63,12,0,123,21,0,210,11,0,140,20,0,35,11,0,242,20,0,232,11,0,97,17,0,66,8,0,18,19,0,41,10,0,68,18,0,51,8,0,212,19,0,195,8,0,35,19,0,114,10,0,246,16,0,5,7,0,121,17,0,157,5,0,95,17,0,65,6,0,177,19,0,66,5,0,10,16,0,31,7,0,76,15, +0,7,8,0,157,16,0,203,7,0,72,16,0,229,7,0,115,14,0,4,8,0,16,14,0,8,9,0,80,14,0,158,9,0,91,17,0,109,10,0,176,12,0,242,6,0,140,14,0,26,10,0,15,11,0,131,11,0,254,13,0,37,11,0,234,15,0,121,12,0,199,17,0,163,11,0,25,17,0,183,10,0,80,13,0,124,13,0,122,16,0, +255,11,0,71,12,0,14,11,0,116,15,0,128,14,0,138,14,0,0,12,0,144,14,0,239,11,0,109,15,0,122,11,0,21,15,0,43,9,0,140,12,0,57,9,0,73,12,0,61,8,0,126,14,0,46,5,0,90,11,0,214,8,0,154,13,0,208,5,0,71,12,0,234,5,0,171,11,0,146,4,0,237,11,0,240,2,0,68,10,0,146, +4,0,74,13,0,234,3,0,45,9,0,87,0,0,203,9,0,172,1,0,139,6,0,95,0,0,212,9,0,112,255,255,26,7,0,5,255,255,31,5,0,11,254,255,137,4,0,233,252,255,210,6,0,142,255,255,97,7,0,168,252,255,74,4,0,137,251,255,236,6,0,124,250,255,83,6,0,22,253,255,200,4,0,134,251, +255,199,2,0,71,250,255,123,6,0,216,250,255,230,5,0,194,250,255,33,5,0,248,252,255,69,7,0,187,252,255,215,5,0,127,253,255,117,7,0,235,253,255,87,7,0,235,253,255,80,8,0,238,0,0,180,10,0,136,0,0,76,9,0,37,1,0,27,9,0,252,0,0,194,9,0,139,1,0,153,9,0,133,1, +0,196,6,0,0,6,0,20,9,0,148,4,0,239,8,0,174,2,0,153,10,0,69,4,0,171,8,0,210,3,0,191,11,0,44,8,0,28,8,0,19,8,0,3,6,0,27,6,0,96,9,0,251,10,0,34,12,0,126,7,0,180,10,0,156,9,0,159,12,0,202,13,0,136,16,0,222,13,0,64,13,0,77,11,0,213,14,0,83,15,0,254,15,0,39, +14,0,86,15,0,152,14,0,121,21,0,126,17,0,161,21,0,118,18,0,152,20,0,98,19,0,106,19,0,59,17,0,83,19,0,80,19,0,10,24,0,16,18,0,185,21,0,191,15,0,254,22,0,159,14,0,184,22,0,172,15,0,126,24,0,214,15,0,252,22,0,6,19,0,107,21,0,246,15,0,251,21,0,221,15,0,148, +19,0,186,15,0,27,20,0,64,15,0,208,20,0,144,14,0,137,17,0,77,14,0,186,19,0,153,13,0,43,19,0,234,12,0,163,19,0,233,10,0,42,18,0,87,12,0,35,15,0,163,10,0,167,17,0,192,11,0,155,19,0,71,11,0,135,17,0,142,11,0,212,18,0,185,10,0,29,16,0,11,8,0,189,16,0,95,10, +0,245,11,0,117,6,0,103,14,0,68,8,0,208,13,0,252,3,0,186,11,0,72,4,0,183,12,0,4,5,0,69,14,0,167,2,0,213,13,0,230,2,0,17,13,0,254,2,0,88,14,0,75,3,0,39,14,0,242,1,0,185,12,0,185,1,0,246,11,0,94,1,0,71,12,0,195,2,0,71,9,0,110,2,0,229,11,0,11,4,0,108,12, +0,162,3,0,44,15,0,106,5,0,46,14,0,66,3,0,127,14,0,124,6,0,198,12,0,29,3,0,153,12,0,105,3,0,250,12,0,221,1,0,177,12,0,186,2,0,44,14,0,161,3,0,38,9,0,151,255,255,98,10,0,114,1,0,164,11,0,220,0,0,174,11,0,123,255,255,76,8,0,163,0,0,219,7,0,31,0,0,143,3, +0,103,255,255,22,9,0,2,254,255,2,6,0,89,255,255,10,6,0,82,253,255,147,5,0,133,253,255,245,4,0,239,252,255,108,3,0,181,249,255,71,1,0,226,249,255,160,1,0,39,250,255,94,2,0,223,248,255,117,254,255,180,249,255,36,0,0,146,251,255,33,255,255,64,248,255,48, +251,255,13,245,255,20,254,255,127,243,255,229,253,255,157,247,255,178,255,255,228,244,255,179,253,255,6,242,255,1,253,255,124,242,255,19,250,255,94,239,255,77,254,255,77,243,255,84,249,255,200,239,255,218,251,255,44,242,255,196,253,255,81,239,255,207, +249,255,18,240,255,152,250,255,107,241,255,234,246,255,58,239,255,138,246,255,165,237,255,66,248,255,200,238,255,179,247,255,26,240,255,217,245,255,238,239,255,214,246,255,114,241,255,251,244,255,231,241,255,54,245,255,253,238,255,27,247,255,8,241,255, +166,245,255,97,241,255,88,247,255,196,240,255,68,247,255,77,238,255,2,247,255,6,241,255,28,244,255,145,240,255,2,248,255,137,240,255,33,248,255,211,247,255,93,248,255,183,245,255,79,248,255,246,245,255,13,251,255,204,243,255,116,251,255,251,248,255,7, +251,255,251,249,255,64,251,255,7,252,255,242,251,255,251,253,255,117,250,255,96,250,255,228,252,255,237,253,255,2,254,255,134,252,255,188,251,255,185,253,255,208,251,255,197,251,255,148,249,255,203,251,255,151,253,255,160,249,255,135,254,255,205,251, +255,108,250,255,142,249,255,146,251,255,142,249,255,97,253,255,253,249,255,201,254,255,203,249,255,53,252,255,98,245,255,36,254,255,56,244,255,14,251,255,135,244,255,78,255,255,203,245,255,42,251,255,200,244,255,251,251,255,72,243,255,186,250,255,252, +243,255,73,250,255,252,243,255,35,250,255,139,241,255,241,249,255,137,241,255,97,254,255,11,244,255,129,249,255,17,244,255,48,250,255,244,245,255,65,246,255,230,243,255,191,248,255,4,244,255,105,250,255,106,243,255,124,249,255,201,245,255,221,246,255, +209,243,255,148,250,255,193,243,255,194,246,255,155,243,255,249,251,255,181,246,255,1,246,255,245,246,255,110,244,255,231,245,255,3,247,255,219,245,255,155,249,255,206,248,255,96,250,255,203,247,255,227,248,255,203,247,255,255,250,255,60,248,255,60,249, +255,49,249,255,39,248,255,189,246,255,38,249,255,231,245,255,154,249,255,142,247,255,68,246,255,211,242,255,107,246,255,204,242,255,45,244,255,19,242,255,51,246,255,211,243,255,34,247,255,101,237,255,98,246,255,148,238,255,180,245,255,157,238,255,60, +245,255,88,235,255,160,244,255,192,235,255,50,245,255,199,236,255,168,243,255,224,232,255,239,244,255,50,235,255,50,243,255,113,232,255,219,244,255,217,234,255,245,242,255,27,233,255,19,241,255,165,232,255,140,244,255,163,236,255,29,241,255,207,235,255, +190,243,255,174,237,255,35,243,255,255,236,255,29,244,255,109,236,255,57,243,255,236,237,255,26,242,255,149,241,255,22,240,255,187,243,255,250,242,255,174,243,255,63,244,255,38,243,255,11,243,255,166,243,255,185,245,255,93,247,255,120,243,255,53,249, +255,156,247,255,5,250,255,158,248,255,155,252,255,134,247,255,21,253,255,74,249,255,147,255,255,122,250,255,87,254,255,112,251,255,139,0,0,156,251,255,221,255,255,180,253,255,47,255,255,128,254,255,188,2,0,247,255,255,111,255,255,29,0,0,125,254,255,81, +2,0,210,2,0,19,0,0,242,0,0,92,2,0,98,1,0,40,255,255,241,255,255,64,254,255,104,253,255,139,0,0,229,254,255,206,2,0,111,255,255,90,1,0,183,252,255,33,1,0,115,251,255,135,3,0,248,252,255,11,0,0,225,252,255,51,1,0,119,252,255,157,253,255,71,252,255,36,255, +255,254,250,255,233,253,255,244,251,255,172,255,255,88,251,255,63,254,255,162,249,255,14,255,255,121,255,255,136,255,255,169,1,0,171,253,255,238,254,255,139,254,255,62,0,0,170,255,255,66,0,0,119,2,0,147,1,0,173,0,0,81,5,0,69,254,255,164,6,0,184,4,0,2, +8,0,247,3,0,99,5,0,92,1,0,125,10,0,199,1,0,227,8,0,233,3,0,102,11,0,190,4,0,212,10,0,218,5,0,145,11,0,252,3,0,63,11,0,74,7,0,120,10,0,67,6,0,13,12,0,244,5,0,71,12,0,211,4,0,205,11,0,69,7,0,169,11,0,254,3,0,50,9,0,246,4,0,37,11,0,2,5,0,48,10,0,94,6,0, +138,12,0,10,6,0,212,9,0,140,4,0,80,12,0,6,7,0,222,10,0,18,6,0,17,10,0,53,6,0,207,9,0,180,4,0,15,8,0,190,5,0,31,9,0,146,4,0,107,11,0,55,6,0,8,7,0,63,7,0,226,11,0,137,5,0,129,7,0,156,8,0,26,9,0,129,6,0,161,7,0,219,7,0,121,8,0,224,5,0,234,8,0,75,5,0,156, +5,0,35,4,0,37,5,0,156,4,0,179,4,0,134,5,0,36,1,0,3,6,0,221,1,0,29,4,0,124,0,0,47,2,0,189,255,255,80,4,0,215,254,255,176,1,0,80,254,255,18,4,0,205,0,0,25,0,0,241,253,255,96,2,0,110,255,255,194,255,255,172,254,255,202,255,255,127,250,255,149,252,255,214, +251,255,49,251,255,83,254,255,27,252,255,86,0,0,102,251,255,138,253,255,104,252,255,9,254,255,90,252,255,196,254,255,83,250,255,28,1,0,244,251,255,98,255,255,113,250,255,198,1,0,226,247,255,240,1,0,171,251,255,202,2,0,200,252,255,58,3,0,214,248,255,228, +0,0,69,252,255,229,2,0,229,250,255,39,1,0,38,249,255,210,1,0,149,249,255,46,3,0,122,251,255,22,1,0,2,250,255,74,254,255,202,252,255,34,0,0,166,248,255,75,255,255,72,248,255,142,255,255,136,249,255,192,252,255,227,247,255,164,250,255,52,247,255,120,251, +255,54,249,255,190,248,255,25,248,255,116,246,255,93,251,255,82,244,255,248,247,255,220,247,255,101,248,255,169,247,255,100,247,255,253,244,255,196,248,255,44,244,255,186,249,255,191,245,255,30,245,255,22,247,255,66,245,255,91,245,255,7,244,255,48,245, +255,127,247,255,132,248,255,97,246,255,38,247,255,185,244,255,81,249,255,54,248,255,96,251,255,84,246,255,63,248,255,52,247,255,76,250,255,149,247,255,156,247,255,211,245,255,104,250,255,41,247,255,193,249,255,177,246,255,122,248,255,71,247,255,223,251, +255,142,248,255,227,250,255,46,244,255,23,246,255,179,244,255,56,249,255,193,243,255,45,251,255,31,241,255,235,247,255,64,240,255,24,245,255,236,238,255,14,245,255,128,238,255,118,241,255,105,237,255,32,243,255,206,238,255,182,241,255,141,235,255,188, +239,255,183,237,255,106,242,255,107,231,255,163,236,255,125,232,255,26,237,255,100,230,255,101,237,255,221,231,255,43,238,255,152,231,255,234,234,255,246,231,255,69,238,255,146,228,255,220,235,255,208,232,255,106,236,255,144,230,255,65,235,255,148,230, +255,236,233,255,252,229,255,246,231,255,229,229,255,85,234,255,177,227,255,52,229,255,214,229,255,58,229,255,91,229,255,126,229,255,3,229,255,172,228,255,116,226,255,156,227,255,123,223,255,222,226,255,12,228,255,95,226,255,117,228,255,60,226,255,185, +224,255,107,224,255,34,227,255,55,224,255,123,225,255,238,225,255,130,225,255,107,225,255,219,222,255,87,228,255,171,224,255,69,227,255,67,226,255,44,224,255,76,223,255,58,227,255,95,222,255,205,224,255,23,225,255,138,225,255,186,223,255,33,227,255,117, +222,255,181,225,255,71,222,255,27,227,255,16,223,255,29,228,255,15,225,255,109,231,255,4,225,255,76,229,255,72,223,255,163,230,255,83,227,255,143,233,255,103,227,255,104,233,255,27,227,255,154,233,255,162,228,255,137,233,255,165,228,255,5,236,255,157, +229,255,89,235,255,93,229,255,126,237,255,240,228,255,38,236,255,212,232,255,161,240,255,79,233,255,97,238,255,174,232,255,53,241,255,59,232,255,147,243,255,45,233,255,180,240,255,45,235,255,69,243,255,156,233,255,71,243,255,125,233,255,197,243,255,38, +233,255,11,246,255,223,235,255,7,245,255,253,233,255,4,246,255,17,234,255,14,246,255,143,234,255,130,246,255,183,232,255,143,244,255,136,233,255,15,242,255,198,236,255,36,245,255,146,232,255,42,245,255,208,232,255,143,242,255,236,235,255,245,241,255, +189,232,255,103,241,255,71,236,255,172,241,255,15,233,255,138,239,255,100,234,255,40,243,255,91,235,255,154,243,255,238,235,255,81,241,255,68,236,255,86,244,255,151,235,255,6,244,255,146,235,255,245,244,255,205,235,255,120,244,255,239,235,255,79,246, +255,128,234,255,240,244,255,181,233,255,19,247,255,248,234,255,113,249,255,205,237,255,205,249,255,207,240,255,146,251,255,14,240,255,74,251,255,122,241,255,207,252,255,148,240,255,4,252,255,164,240,255,123,253,255,252,240,255,151,255,255,210,240,255, +79,254,255,1,241,255,125,253,255,229,243,255,184,252,255,89,243,255,59,252,255,231,241,255,57,253,255,56,243,255,134,250,255,84,243,255,151,252,255,168,243,255,41,250,255,26,243,255,158,251,255,140,242,255,242,253,255,150,243,255,66,251,255,250,243,255, +248,250,255,128,244,255,177,251,255,190,243,255,237,250,255,246,241,255,13,253,255,163,243,255,157,250,255,169,243,255,116,251,255,189,243,255,121,252,255,119,243,255,214,253,255,66,244,255,118,249,255,253,243,255,168,250,255,59,244,255,139,252,255,21, +244,255,177,253,255,139,241,255,137,252,255,123,242,255,175,253,255,99,245,255,27,253,255,75,242,255,5,252,255,158,246,255,183,255,255,49,243,255,209,254,255,112,244,255,118,254,255,65,245,255,143,0,0,233,245,255,121,253,255,43,246,255,117,0,0,123,244, +255,237,1,0,191,243,255,238,253,255,27,245,255,47,2,0,25,243,255,8,3,0,181,248,255,138,3,0,89,249,255,158,3,0,160,244,255,187,3,0,94,247,255,50,5,0,78,246,255,245,3,0,191,246,255,195,4,0,218,244,255,120,2,0,121,244,255,220,1,0,3,245,255,197,1,0,200,246, +255,131,2,0,177,245,255,131,255,255,253,245,255,240,1,0,236,245,255,21,3,0,13,245,255,133,2,0,180,246,255,114,4,0,81,246,255,92,2,0,196,246,255,3,1,0,212,246,255,55,1,0,195,246,255,45,1,0,243,244,255,247,1,0,131,247,255,41,1,0,100,248,255,34,3,0,48,247, +255,80,0,0,33,248,255,210,255,255,136,247,255,159,2,0,97,248,255,32,1,0,6,248,255,101,2,0,67,249,255,126,3,0,89,247,255,111,3,0,157,247,255,234,3,0,117,245,255,222,255,255,20,246,255,65,4,0,218,244,255,99,1,0,211,244,255,131,4,0,80,244,255,103,5,0,55, +247,255,140,6,0,142,244,255,126,6,0,134,246,255,14,9,0,214,245,255,184,9,0,210,245,255,24,11,0,93,247,255,101,11,0,226,246,255,73,12,0,118,246,255,0,13,0,219,246,255,112,10,0,158,248,255,149,15,0,155,249,255,46,13,0,231,248,255,82,13,0,54,253,255,93, +13,0,228,251,255,255,14,0,123,254,255,90,16,0,54,255,255,155,17,0,97,255,255,151,16,0,106,254,255,104,18,0,182,255,255,93,17,0,156,254,255,118,15,0,72,1,0,208,15,0,24,1,0,120,16,0,66,253,255,112,14,0,157,255,255,153,13,0,226,250,255,180,9,0,149,252,255, +180,14,0,17,251,255,144,11,0,247,254,255,102,14,0,234,252,255,101,10,0,47,250,255,125,9,0,104,253,255,152,10,0,249,251,255,24,7,0,220,251,255,104,8,0,69,249,255,64,9,0,72,251,255,70,7,0,22,252,255,151,7,0,102,250,255,187,6,0,181,252,255,249,8,0,17,252, +255,156,7,0,165,252,255,141,8,0,215,250,255,24,10,0,177,253,255,5,12,0,133,252,255,144,13,0,90,0,0,71,11,0,211,254,255,73,12,0,26,253,255,201,14,0,153,255,255,51,17,0,76,0,0,27,17,0,42,0,0,132,16,0,167,3,0,165,18,0,196,1,0,70,18,0,125,3,0,75,20,0,75, +6,0,21,21,0,236,6,0,143,22,0,228,5,0,22,23,0,165,6,0,186,22,0,155,4,0,30,21,0,212,7,0,135,24,0,29,8,0,107,24,0,77,8,0,242,23,0,152,7,0,156,23,0,229,6,0,5,24,0,30,8,0,14,24,0,102,6,0,171,25,0,198,5,0,50,21,0,99,8,0,200,25,0,210,7,0,121,30,0,172,6,0,39, +27,0,178,6,0,174,23,0,87,7,0,40,29,0,220,5,0,175,25,0,97,4,0,226,26,0,33,5,0,71,27,0,181,4,0,100,26,0,193,4,0,216,23,0,164,4,0,235,25,0,74,6,0,9,24,0,161,6,0,19,24,0,245,3,0,73,23,0,87,4,0,151,23,0,43,6,0,243,22,0,128,5,0,1,22,0,158,6,0,173,24,0,2,6, +0,199,22,0,183,9,0,179,23,0,36,8,0,181,21,0,237,4,0,208,25,0,118,6,0,157,23,0,153,6,0,118,21,0,164,12,0,220,24,0,31,7,0,233,22,0,218,7,0,92,24,0,21,10,0,1,25,0,119,8,0,39,24,0,32,8,0,236,24,0,97,10,0,203,25,0,55,11,0,150,26,0,33,13,0,134,26,0,3,9,0,209, +26,0,86,9,0,203,26,0,7,9,0,163,25,0,65,11,0,150,26,0,151,11,0,56,27,0,185,11,0,246,26,0,54,10,0,90,27,0,115,11,0,248,26,0,241,10,0,207,25,0,173,12,0,122,26,0,245,8,0,53,22,0,230,8,0,176,26,0,63,9,0,30,25,0,251,12,0,170,23,0,205,10,0,26,25,0,144,11,0, +18,25,0,28,9,0,5,23,0,93,10,0,13,25,0,154,11,0,27,22,0,46,7,0,128,21,0,64,12,0,190,23,0,246,6,0,105,22,0,88,7,0,21,20,0,212,7,0,54,20,0,183,6,0,123,20,0,207,5,0,149,16,0,226,3,0,124,14,0,244,2,0,37,16,0,74,255,255,211,12,0,247,1,0,20,12,0,106,1,0,159, +12,0,180,1,0,109,12,0,93,0,0,74,10,0,101,254,255,10,7,0,26,251,255,135,9,0,190,252,255,75,10,0,127,252,255,11,8,0,119,253,255,42,7,0,24,252,255,99,10,0,168,253,255,2,9,0,186,253,255,169,6,0,69,255,255,165,10,0,184,252,255,131,6,0,101,255,255,186,10,0, +213,253,255,197,10,0,59,252,255,112,11,0,236,253,255,132,15,0,12,254,255,189,12,0,95,0,0,28,15,0,51,253,255,232,12,0,242,252,255,164,13,0,239,254,255,188,14,0,250,252,255,52,14,0,182,252,255,116,14,0,20,250,255,197,13,0,215,251,255,133,9,0,198,251,255, +214,8,0,17,251,255,12,8,0,40,250,255,22,9,0,32,250,255,130,8,0,33,249,255,130,4,0,57,248,255,245,3,0,46,250,255,246,5,0,195,246,255,254,3,0,251,247,255,188,1,0,244,245,255,19,255,255,5,247,255,96,254,255,38,245,255,36,255,255,247,244,255,163,254,255, +102,244,255,81,254,255,88,245,255,137,252,255,126,245,255,160,255,255,157,245,255,133,252,255,49,248,255,54,0,0,60,242,255,233,252,255,142,244,255,3,253,255,9,246,255,146,253,255,24,246,255,135,254,255,99,243,255,188,253,255,85,244,255,13,254,255,158, +246,255,135,0,0,67,245,255,196,255,255,18,245,255,245,254,255,21,241,255,108,255,255,115,243,255,92,255,255,205,245,255,217,255,255,245,244,255,44,255,255,40,247,255,242,255,255,251,246,255,131,254,255,154,245,255,126,1,0,94,243,255,181,0,0,41,242,255, +37,255,255,55,244,255,37,255,255,53,244,255,18,253,255,126,239,255,141,253,255,178,241,255,56,255,255,190,241,255,82,254,255,16,241,255,189,252,255,227,239,255,214,252,255,125,238,255,122,250,255,143,236,255,153,252,255,136,238,255,78,250,255,207,235, +255,25,252,255,160,236,255,189,249,255,110,239,255,84,251,255,247,238,255,234,247,255,63,237,255,197,248,255,239,233,255,31,248,255,120,234,255,79,248,255,195,238,255,180,250,255,90,239,255,242,250,255,20,235,255,84,246,255,157,234,255,223,248,255,120, +234,255,18,249,255,234,234,255,174,248,255,162,235,255,102,249,255,38,235,255,255,247,255,209,234,255,0,250,255,217,234,255,103,246,255,22,234,255,6,250,255,71,236,255,80,250,255,126,235,255,61,248,255,180,234,255,120,247,255,116,235,255,209,247,255, +121,236,255,78,246,255,60,237,255,147,247,255,197,233,255,222,245,255,79,234,255,235,245,255,19,233,255,144,247,255,67,234,255,206,245,255,243,233,255,146,244,255,238,233,255,34,245,255,25,235,255,93,247,255,69,233,255,172,247,255,38,237,255,66,248,255, +130,237,255,21,252,255,1,236,255,113,245,255,27,238,255,27,246,255,151,238,255,87,248,255,32,238,255,17,248,255,215,236,255,172,248,255,177,239,255,97,248,255,36,238,255,8,250,255,198,237,255,111,248,255,3,239,255,64,249,255,239,239,255,13,247,255,190, +237,255,174,244,255,104,236,255,109,243,255,29,237,255,190,244,255,161,237,255,100,244,255,233,232,255,49,240,255,36,235,255,12,244,255,202,234,255,246,244,255,128,232,255,203,243,255,8,231,255,222,243,255,163,230,255,151,242,255,171,232,255,236,243, +255,55,233,255,255,243,255,161,230,255,235,242,255,233,229,255,228,240,255,228,232,255,0,243,255,225,235,255,38,243,255,154,231,255,19,246,255,129,230,255,54,243,255,188,230,255,142,247,255,96,232,255,77,244,255,141,236,255,245,249,255,133,233,255,192, +245,255,225,235,255,205,247,255,94,239,255,220,253,255,5,237,255,91,252,255,208,239,255,54,255,255,93,240,255,149,253,255,113,240,255,57,255,255,51,243,255,203,253,255,172,243,255,79,4,0,6,244,255,45,1,0,194,245,255,208,1,0,175,245,255,183,0,0,151,248, +255,55,3,0,66,247,255,199,1,0,155,249,255,239,3,0,166,244,255,209,0,0,125,247,255,100,3,0,223,246,255,254,4,0,203,246,255,1,0,0,136,248,255,92,1,0,178,247,255,250,252,255,216,243,255,133,253,255,119,245,255,91,0,0,240,246,255,85,254,255,143,249,255,7, +255,255,144,245,255,220,251,255,233,244,255,224,252,255,235,243,255,102,254,255,200,244,255,72,254,255,0,247,255,199,250,255,191,246,255,4,250,255,143,247,255,98,250,255,164,243,255,66,253,255,242,245,255,103,251,255,127,243,255,223,251,255,88,243,255, +236,252,255,59,245,255,41,251,255,12,243,255,5,253,255,55,242,255,144,249,255,149,243,255,190,252,255,217,244,255,108,253,255,94,242,255,23,250,255,59,243,255,228,247,255,132,241,255,153,251,255,40,239,255,184,248,255,172,243,255,37,250,255,241,240,255, +130,247,255,101,240,255,201,248,255,27,241,255,13,248,255,162,243,255,185,247,255,54,241,255,196,249,255,26,239,255,198,249,255,137,241,255,133,250,255,188,242,255,98,250,255,91,240,255,242,247,255,49,242,255,134,252,255,243,241,255,124,252,255,51,242, +255,71,249,255,248,243,255,242,250,255,129,242,255,212,253,255,69,243,255,174,249,255,58,243,255,232,249,255,38,244,255,219,249,255,215,245,255,50,251,255,15,247,255,243,251,255,164,244,255,208,250,255,124,246,255,73,252,255,84,246,255,179,249,255,248, +246,255,218,250,255,130,244,255,91,255,255,215,245,255,239,252,255,23,246,255,17,253,255,17,245,255,99,254,255,2,245,255,14,252,255,148,245,255,225,251,255,162,246,255,169,249,255,186,244,255,123,251,255,60,247,255,68,255,255,255,245,255,57,253,255,146, +244,255,67,252,255,165,244,255,143,250,255,216,246,255,49,251,255,113,247,255,123,250,255,239,244,255,141,253,255,107,246,255,246,252,255,105,248,255,223,251,255,125,247,255,41,255,255,101,251,255,27,0,0,241,247,255,187,2,0,248,251,255,6,0,0,36,251,255, +17,2,0,228,251,255,16,3,0,131,250,255,24,2,0,90,250,255,5,4,0,33,253,255,129,5,0,242,252,255,168,6,0,239,252,255,151,5,0,4,254,255,207,3,0,60,251,255,106,5,0,85,252,255,197,3,0,222,252,255,117,2,0,206,253,255,153,4,0,72,253,255,197,2,0,235,255,255,249, +2,0,241,252,255,79,1,0,179,253,255,20,1,0,223,251,255,164,0,0,99,252,255,61,254,255,35,252,255,199,255,255,239,250,255,251,0,0,64,253,255,56,255,255,236,251,255,230,254,255,97,251,255,251,253,255,240,252,255,118,1,0,235,253,255,171,255,255,177,251,255, +160,1,0,62,254,255,212,0,0,103,248,255,227,252,255,168,254,255,223,2,0,135,253,255,147,2,0,222,254,255,162,1,0,116,0,0,236,3,0,66,255,255,197,2,0,150,255,255,201,255,255,218,1,0,242,255,255,191,255,255,247,0,0,84,253,255,156,1,0,107,0,0,54,1,0,83,1,0, +74,1,0,247,1,0,39,1,0,10,1,0,59,2,0,234,254,255,179,2,0,135,0,0,56,4,0,182,254,255,41,4,0,32,254,255,110,3,0,42,253,255,146,5,0,11,255,255,159,2,0,252,254,255,196,2,0,26,252,255,171,2,0,62,254,255,248,1,0,183,255,255,104,0,0,137,253,255,204,3,0,61,250, +255,13,1,0,38,254,255,18,1,0,20,253,255,236,253,255,67,252,255,103,1,0,150,251,255,71,0,0,95,252,255,247,249,255,78,253,255,221,254,255,44,252,255,152,252,255,112,250,255,74,253,255,250,253,255,65,251,255,100,250,255,99,252,255,76,253,255,102,251,255, +25,253,255,108,252,255,82,253,255,82,253,255,56,255,255,206,251,255,88,253,255,186,251,255,86,255,255,69,250,255,13,254,255,147,251,255,78,255,255,77,251,255,68,1,0,143,253,255,54,255,255,28,251,255,87,254,255,14,254,255,37,254,255,103,253,255,35,1,0, +176,252,255,136,0,0,225,251,255,147,255,255,199,250,255,175,252,255,207,251,255,169,1,0,225,254,255,15,253,255,126,251,255,26,253,255,119,250,255,214,253,255,90,252,255,24,252,255,62,251,255,152,254,255,191,251,255,43,252,255,232,250,255,180,252,255, +48,251,255,10,254,255,166,250,255,128,252,255,244,250,255,161,252,255,47,251,255,241,250,255,233,250,255,134,255,255,132,250,255,152,253,255,67,250,255,79,253,255,60,250,255,177,252,255,163,248,255,37,252,255,20,251,255,116,252,255,247,248,255,81,252, +255,159,249,255,162,252,255,173,250,255,70,254,255,57,246,255,116,253,255,16,248,255,182,254,255,235,249,255,163,251,255,221,247,255,147,250,255,169,249,255,233,252,255,204,250,255,67,253,255,1,250,255,204,251,255,203,251,255,6,254,255,216,252,255,189, +252,255,239,251,255,62,250,255,69,248,255,19,251,255,192,249,255,250,251,255,239,251,255,186,251,255,63,250,255,53,250,255,123,252,255,75,255,255,33,249,255,93,254,255,231,247,255,215,250,255,159,248,255,112,251,255,233,248,255,194,254,255,208,247,255, +77,253,255,152,247,255,211,251,255,236,247,255,105,253,255,146,248,255,169,249,255,254,246,255,42,254,255,89,246,255,126,250,255,62,244,255,188,251,255,32,243,255,142,251,255,55,245,255,227,252,255,245,244,255,156,252,255,72,245,255,227,248,255,237,242, +255,110,252,255,66,243,255,134,248,255,60,243,255,221,249,255,235,240,255,47,247,255,143,241,255,90,248,255,140,242,255,93,246,255,123,241,255,97,249,255,213,241,255,105,246,255,189,239,255,109,247,255,211,242,255,133,247,255,40,243,255,33,243,255,9, +243,255,81,247,255,68,243,255,236,245,255,75,243,255,72,246,255,66,246,255,27,247,255,161,244,255,44,248,255,164,243,255,201,247,255,163,245,255,247,250,255,34,247,255,218,249,255,12,247,255,217,250,255,201,246,255,219,251,255,121,247,255,122,251,255, +50,246,255,85,251,255,43,246,255,144,253,255,1,249,255,3,254,255,144,245,255,62,255,255,102,249,255,226,254,255,137,249,255,233,1,0,62,250,255,86,3,0,20,251,255,30,1,0,238,248,255,21,2,0,218,249,255,211,1,0,231,248,255,55,2,0,143,249,255,8,2,0,35,251, +255,174,1,0,103,251,255,177,2,0,57,253,255,171,4,0,146,254,255,236,2,0,22,253,255,103,1,0,65,251,255,200,0,0,253,251,255,74,0,0,185,252,255,60,3,0,153,254,255,84,255,255,175,252,255,128,255,255,144,252,255,141,254,255,56,252,255,86,254,255,236,250,255, +188,255,255,2,251,255,20,255,255,4,251,255,85,2,0,90,251,255,48,1,0,84,252,255,160,0,0,41,252,255,90,1,0,195,250,255,46,255,255,224,249,255,165,2,0,97,252,255,225,0,0,253,251,255,50,4,0,14,252,255,125,0,0,198,250,255,172,2,0,225,254,255,119,1,0,130,253, +255,155,4,0,54,252,255,244,3,0,15,253,255,97,4,0,216,254,255,113,4,0,87,1,0,118,4,0,115,253,255,140,5,0,68,3,0,100,4,0,167,2,0,178,8,0,67,5,0,18,5,0,92,2,0,185,9,0,232,5,0,147,10,0,150,6,0,229,10,0,114,5,0,201,11,0,30,10,0,207,11,0,149,10,0,67,15,0,55, +12,0,134,13,0,91,12,0,63,15,0,73,13,0,219,18,0,245,15,0,62,17,0,116,16,0,172,16,0,221,14,0,91,19,0,161,18,0,145,22,0,151,20,0,124,20,0,62,19,0,160,21,0,243,19,0,170,20,0,197,21,0,242,21,0,9,22,0,185,19,0,246,18,0,197,22,0,104,20,0,13,19,0,156,18,0,239, +22,0,201,19,0,97,23,0,193,18,0,129,21,0,1,17,0,233,24,0,154,19,0,97,21,0,191,15,0,205,22,0,168,15,0,87,21,0,117,15,0,114,23,0,245,17,0,93,21,0,58,16,0,55,22,0,90,15,0,196,23,0,12,18,0,176,21,0,163,16,0,119,21,0,94,16,0,27,23,0,49,17,0,237,22,0,131,15, +0,126,21,0,152,16,0,69,24,0,159,16,0,199,21,0,16,15,0,63,21,0,8,13,0,71,24,0,71,15,0,56,21,0,245,14,0,198,21,0,191,16,0,255,22,0,242,15,0,84,22,0,230,16,0,110,20,0,24,17,0,175,22,0,116,13,0,211,23,0,138,16,0,223,20,0,113,18,0,199,21,0,128,16,0,146,23, +0,145,16,0,103,24,0,33,19,0,69,23,0,14,18,0,132,24,0,161,17,0,39,27,0,23,18,0,91,27,0,98,19,0,113,30,0,25,20,0,143,29,0,143,19,0,1,29,0,223,20,0,189,31,0,49,23,0,241,32,0,204,21,0,67,29,0,174,20,0,133,31,0,166,24,0,218,32,0,30,24,0,244,33,0,81,26,0,156, +32,0,70,24,0,188,34,0,162,25,0,6,38,0,187,30,0,101,34,0,201,28,0,243,34,0,82,28,0,13,37,0,229,27,0,198,34,0,136,28,0,65,36,0,232,30,0,26,35,0,252,28,0,18,37,0,2,29,0,98,35,0,182,27,0,122,31,0,183,27,0,54,36,0,59,27,0,70,33,0,152,25,0,90,32,0,9,26,0,210, +34,0,89,27,0,146,34,0,222,25,0,51,35,0,146,23,0,136,34,0,32,22,0,11,33,0,241,21,0,190,34,0,171,21,0,152,30,0,93,22,0,20,30,0,43,20,0,105,31,0,49,21,0,87,33,0,39,22,0,78,32,0,28,20,0,13,29,0,111,19,0,51,32,0,190,22,0,98,32,0,163,23,0,215,31,0,174,22,0, +134,29,0,98,21,0,104,32,0,244,23,0,222,29,0,133,24,0,171,31,0,16,23,0,247,30,0,95,25,0,163,32,0,119,23,0,201,30,0,18,25,0,216,33,0,107,27,0,16,33,0,62,24,0,156,30,0,56,26,0,76,32,0,199,24,0,104,30,0,85,26,0,177,31,0,210,26,0,127,31,0,109,24,0,114,29, +0,44,25,0,234,30,0,76,21,0,107,31,0,232,22,0,37,31,0,95,24,0,118,30,0,222,22,0,157,30,0,102,23,0,170,26,0,29,22,0,117,29,0,172,23,0,18,31,0,34,25,0,50,28,0,58,23,0,99,31,0,134,27,0,67,30,0,225,27,0,111,29,0,195,26,0,52,32,0,111,28,0,240,31,0,237,29,0, +9,33,0,181,30,0,216,33,0,91,30,0,106,35,0,146,31,0,122,37,0,92,29,0,70,36,0,49,33,0,190,40,0,40,35,0,108,38,0,96,34,0,227,36,0,21,34,0,142,36,0,70,34,0,63,41,0,82,34,0,80,41,0,40,35,0,132,39,0,56,34,0,224,40,0,55,37,0,103,38,0,33,34,0,116,40,0,128,36, +0,223,38,0,65,36,0,180,40,0,248,36,0,3,41,0,161,37,0,81,40,0,71,35,0,38,41,0,29,40,0,150,40,0,72,35,0,133,39,0,8,37,0,130,40,0,182,36,0,0,43,0,204,36,0,74,42,0,2,35,0,151,43,0,255,32,0,40,45,0,192,36,0,156,43,0,159,35,0,168,45,0,54,35,0,127,45,0,154, +37,0,123,44,0,68,36,0,123,45,0,76,36,0,23,45,0,108,34,0,12,46,0,184,36,0,189,44,0,145,37,0,115,43,0,189,34,0,107,44,0,11,34,0,150,43,0,107,33,0,26,40,0,182,34,0,166,40,0,123,33,0,9,40,0,116,36,0,14,39,0,65,35,0,207,39,0,157,35,0,242,37,0,154,33,0,77, +39,0,246,31,0,39,38,0,96,31,0,193,38,0,95,32,0,250,34,0,184,30,0,241,34,0,172,30,0,9,35,0,188,29,0,135,33,0,255,26,0,200,35,0,96,29,0,41,34,0,121,25,0,239,36,0,109,26,0,65,33,0,2,25,0,131,36,0,96,25,0,200,32,0,224,22,0,9,34,0,236,23,0,59,32,0,161,24, +0,83,33,0,99,23,0,192,30,0,160,22,0,83,31,0,248,20,0,168,28,0,8,18,0,228,29,0,202,19,0,122,30,0,157,20,0,54,30,0,61,20,0,227,28,0,113,20,0,11,28,0,129,20,0,72,30,0,64,20,0,7,28,0,250,18,0,99,25,0,20,23,0,75,27,0,142,19,0,154,28,0,170,17,0,215,27,0,187, +18,0,101,25,0,134,17,0,97,26,0,126,18,0,7,25,0,36,17,0,83,24,0,213,18,0,28,26,0,169,16,0,110,24,0,151,15,0,11,25,0,29,16,0,48,24,0,95,16,0,147,22,0,46,17,0,78,25,0,78,16,0,157,22,0,197,15,0,71,22,0,243,14,0,100,22,0,122,17,0,53,22,0,76,13,0,121,23,0, +197,14,0,27,25,0,169,13,0,193,22,0,31,14,0,253,22,0,80,14,0,15,22,0,212,15,0,226,20,0,1,15,0,72,22,0,60,13,0,161,20,0,68,16,0,64,23,0,18,14,0,195,23,0,25,15,0,98,21,0,226,14,0,155,20,0,85,17,0,58,19,0,87,16,0,48,20,0,152,16,0,8,22,0,245,16,0,204,22,0, +112,16,0,123,22,0,112,15,0,177,19,0,142,13,0,131,22,0,124,15,0,86,20,0,187,14,0,182,19,0,83,13,0,33,19,0,63,13,0,149,18,0,81,11,0,151,19,0,189,9,0,254,19,0,246,10,0,86,17,0,166,9,0,115,18,0,11,9,0,230,16,0,235,7,0,44,17,0,205,7,0,249,16,0,244,5,0,50, +15,0,170,6,0,105,17,0,228,5,0,149,18,0,41,7,0,127,18,0,119,8,0,170,17,0,201,7,0,173,15,0,192,7,0,232,15,0,123,7,0,209,18,0,125,7,0,73,19,0,61,10,0,153,17,0,103,10,0,31,19,0,204,11,0,29,17,0,44,10,0,146,18,0,178,13,0,60,16,0,130,11,0,68,16,0,87,13,0,46, +19,0,199,17,0,54,17,0,76,18,0,50,17,0,23,17,0,215,18,0,219,16,0,98,19,0,136,19,0,102,17,0,85,18,0,42,19,0,56,18,0,68,19,0,181,18,0,212,19,0,207,16,0,91,20,0,9,16,0,128,19,0,198,18,0,4,18,0,164,15,0,241,20,0,129,17,0,166,19,0,215,14,0,192,20,0,128,14, +0,123,17,0,156,11,0,148,17,0,69,11,0,190,17,0,98,9,0,115,15,0,238,7,0,162,15,0,210,7,0,9,15,0,81,7,0,233,13,0,176,3,0,142,13,0,213,3,0,47,14,0,32,5,0,55,16,0,206,0,0,125,14,0,225,255,255,240,13,0,223,1,0,177,11,0,126,255,255,57,12,0,84,253,255,29,10, +0,23,251,255,219,8,0,227,252,255,228,8,0,247,254,255,154,9,0,99,251,255,85,9,0,228,251,255,111,12,0,63,254,255,46,8,0,17,253,255,198,12,0,157,253,255,97,7,0,197,252,255,37,10,0,108,253,255,50,8,0,138,252,255,224,9,0,199,252,255,223,7,0,230,253,255,191, +8,0,47,254,255,184,7,0,7,255,255,94,6,0,230,253,255,99,6,0,176,253,255,55,5,0,102,252,255,155,6,0,226,253,255,131,5,0,27,254,255,112,4,0,188,252,255,224,3,0,97,252,255,212,2,0,136,254,255,222,0,0,238,247,255,173,2,0,181,249,255,54,2,0,25,252,255,73,254, +255,63,249,255,184,255,255,37,248,255,3,254,255,181,247,255,145,253,255,239,247,255,239,252,255,176,247,255,195,250,255,100,244,255,171,250,255,49,245,255,247,248,255,196,243,255,21,249,255,97,242,255,139,247,255,196,243,255,23,249,255,101,242,255,200, +249,255,156,242,255,47,247,255,76,242,255,241,249,255,177,240,255,240,247,255,19,242,255,135,249,255,164,239,255,230,248,255,6,241,255,61,250,255,2,237,255,141,251,255,221,238,255,175,248,255,211,238,255,183,249,255,245,242,255,22,252,255,252,240,255, +141,253,255,20,240,255,85,252,255,55,239,255,116,252,255,101,239,255,18,253,255,255,239,255,193,250,255,254,239,255,185,250,255,98,240,255,222,253,255,55,243,255,23,253,255,125,245,255,83,253,255,174,242,255,126,252,255,234,243,255,199,251,255,114,243, +255,2,254,255,196,245,255,88,253,255,84,246,255,59,253,255,236,247,255,93,252,255,78,247,255,62,253,255,133,249,255,117,254,255,74,248,255,246,250,255,235,246,255,166,254,255,104,245,255,202,251,255,85,243,255,62,252,255,215,245,255,2,253,255,146,245, +255,232,253,255,49,243,255,47,251,255,131,241,255,152,251,255,235,244,255,179,249,255,180,244,255,138,250,255,99,240,255,112,249,255,42,237,255,96,250,255,39,240,255,25,246,255,174,237,255,172,247,255,5,236,255,160,245,255,178,237,255,247,241,255,165, +234,255,134,242,255,75,236,255,18,241,255,224,232,255,54,238,255,44,231,255,189,238,255,22,232,255,97,240,255,202,233,255,54,238,255,55,232,255,142,237,255,92,233,255,15,238,255,85,234,255,187,236,255,119,234,255,210,235,255,234,231,255,242,239,255,88, +236,255,5,238,255,1,234,255,17,239,255,230,236,255,88,238,255,223,238,255,165,241,255,202,236,255,110,241,255,199,236,255,132,243,255,148,238,255,82,240,255,148,236,255,156,244,255,222,241,255,135,243,255,45,241,255,228,247,255,95,240,255,189,248,255, +5,243,255,3,249,255,217,243,255,32,247,255,2,241,255,179,246,255,244,241,255,164,250,255,194,241,255,97,250,255,179,243,255,207,249,255,66,240,255,122,251,255,146,240,255,101,250,255,109,241,255,3,252,255,203,239,255,225,251,255,194,240,255,173,248,255, +37,240,255,52,251,255,28,242,255,248,248,255,131,239,255,71,248,255,31,239,255,244,246,255,169,237,255,227,247,255,128,240,255,183,246,255,236,236,255,4,247,255,243,236,255,91,247,255,57,238,255,3,246,255,70,238,255,216,245,255,237,234,255,54,243,255, +199,236,255,237,246,255,11,237,255,235,243,255,158,234,255,176,242,255,121,236,255,35,241,255,144,236,255,231,243,255,108,236,255,45,244,255,52,236,255,183,242,255,224,235,255,184,242,255,69,236,255,139,242,255,59,236,255,98,244,255,137,239,255,119,242, +255,119,236,255,17,244,255,137,237,255,80,243,255,126,240,255,184,244,255,15,240,255,81,242,255,53,239,255,10,244,255,76,242,255,5,247,255,180,243,255,26,246,255,173,243,255,133,249,255,73,246,255,36,248,255,236,243,255,247,248,255,70,246,255,11,247, +255,43,245,255,60,248,255,172,247,255,31,247,255,65,247,255,130,250,255,171,247,255,218,250,255,194,249,255,231,248,255,237,247,255,95,248,255,49,249,255,33,252,255,181,249,255,210,251,255,253,250,255,144,254,255,190,248,255,129,253,255,235,251,255,32, +251,255,114,247,255,63,254,255,222,248,255,153,254,255,234,248,255,69,253,255,6,247,255,230,0,0,121,248,255,41,252,255,213,244,255,88,251,255,17,245,255,12,255,255,163,245,255,109,253,255,148,243,255,14,252,255,22,243,255,97,253,255,23,243,255,0,252, +255,128,245,255,216,250,255,3,244,255,119,252,255,173,245,255,242,249,255,95,243,255,214,251,255,83,243,255,157,252,255,201,247,255,213,249,255,57,244,255,235,252,255,113,245,255,128,250,255,62,246,255,154,251,255,214,247,255,158,251,255,148,244,255, +233,249,255,53,248,255,148,253,255,81,250,255,229,252,255,35,250,255,6,254,255,175,253,255,76,254,255,159,250,255,140,253,255,89,251,255,194,0,0,241,255,255,85,254,255,240,0,0,123,0,0,1,1,0,144,255,255,57,1,0,118,0,0,143,1,0,46,4,0,169,1,0,18,3,0,25, +0,0,82,2,0,119,0,0,6,3,0,150,0,0,248,5,0,83,1,0,194,3,0,166,255,255,175,5,0,112,1,0,59,7,0,99,255,255,127,4,0,110,0,0,52,2,0,157,251,255,190,3,0,155,251,255,174,2,0,66,251,255,168,2,0,244,249,255,39,3,0,243,248,255,38,1,0,140,245,255,199,2,0,254,247, +255,233,0,0,35,247,255,150,1,0,115,247,255,249,255,255,211,246,255,90,1,0,5,247,255,139,255,255,129,243,255,102,254,255,255,245,255,190,255,255,216,247,255,150,0,0,107,244,255,28,255,255,56,242,255,77,1,0,42,246,255,54,254,255,55,245,255,5,254,255,143, +244,255,169,254,255,221,247,255,250,255,255,200,248,255,196,254,255,93,249,255,19,255,255,8,250,255,225,253,255,211,248,255,23,253,255,144,250,255,159,252,255,178,250,255,202,254,255,14,252,255,236,253,255,181,252,255,152,253,255,181,254,255,134,255, +255,250,252,255,100,0,0,130,251,255,23,255,255,138,253,255,149,254,255,166,254,255,255,2,0,202,255,255,15,1,0,62,255,255,4,3,0,217,255,255,235,1,0,82,255,255,67,5,0,2,255,255,247,2,0,152,253,255,3,3,0,169,254,255,107,0,0,60,253,255,29,2,0,176,252,255, +237,2,0,116,252,255,44,0,0,154,251,255,61,0,0,197,248,255,221,255,255,161,247,255,100,1,0,83,248,255,68,1,0,213,245,255,41,254,255,123,246,255,34,255,255,255,244,255,66,253,255,95,244,255,66,254,255,222,243,255,116,253,255,4,242,255,176,251,255,47,242, +255,178,252,255,77,242,255,241,253,255,101,243,255,227,248,255,177,240,255,204,251,255,114,241,255,163,252,255,82,242,255,52,252,255,231,242,255,103,251,255,238,241,255,97,252,255,35,243,255,90,252,255,92,242,255,67,254,255,205,242,255,46,250,255,72, +241,255,55,254,255,223,244,255,139,253,255,225,242,255,92,252,255,145,243,255,144,252,255,234,243,255,238,251,255,113,243,255,219,252,255,17,244,255,248,250,255,9,240,255,118,251,255,90,242,255,92,252,255,41,242,255,238,250,255,1,242,255,200,252,255, +216,240,255,137,251,255,19,243,255,28,250,255,80,244,255,173,248,255,7,241,255,122,250,255,13,242,255,154,250,255,31,244,255,181,248,255,204,239,255,81,248,255,221,240,255,49,250,255,121,240,255,108,247,255,39,242,255,132,248,255,102,241,255,203,246, +255,206,238,255,56,248,255,157,240,255,239,245,255,24,237,255,39,245,255,146,239,255,43,246,255,115,238,255,58,246,255,99,236,255,216,244,255,176,236,255,220,245,255,18,235,255,2,245,255,48,234,255,229,241,255,65,232,255,24,242,255,114,235,255,108,238, +255,75,234,255,35,244,255,206,234,255,255,241,255,70,234,255,233,239,255,98,233,255,61,242,255,159,236,255,119,242,255,254,230,255,2,240,255,114,230,255,201,240,255,235,231,255,163,239,255,160,231,255,180,239,255,227,229,255,159,240,255,117,232,255,110, +241,255,177,235,255,186,241,255,76,233,255,193,242,255,111,234,255,121,242,255,17,234,255,52,242,255,2,232,255,184,243,255,48,236,255,166,242,255,90,234,255,188,243,255,0,236,255,255,242,255,219,236,255,88,242,255,238,236,255,71,245,255,134,237,255,149, +245,255,233,238,255,210,245,255,135,237,255,66,246,255,4,239,255,157,247,255,12,238,255,173,248,255,187,239,255,78,247,255,217,240,255,143,245,255,150,240,255,126,247,255,46,240,255,20,245,255,125,239,255,78,247,255,210,239,255,254,248,255,24,238,255, +240,246,255,227,235,255,60,248,255,101,237,255,96,244,255,26,235,255,230,246,255,92,234,255,189,244,255,131,234,255,159,243,255,44,233,255,159,243,255,51,235,255,159,245,255,30,233,255,31,245,255,22,232,255,180,245,255,124,232,255,28,245,255,42,233,255, +10,244,255,177,230,255,140,245,255,104,232,255,27,245,255,179,231,255,125,243,255,219,231,255,33,243,255,99,235,255,197,247,255,8,235,255,128,246,255,193,234,255,33,246,255,183,233,255,158,246,255,42,234,255,117,248,255,63,237,255,225,248,255,111,236, +255,24,246,255,95,235,255,243,245,255,132,238,255,97,247,255,155,236,255,65,247,255,176,237,255,114,246,255,251,234,255,142,245,255,188,235,255,46,248,255,78,238,255,252,245,255,129,238,255,232,246,255,49,237,255,178,245,255,138,238,255,113,245,255,13, +237,255,206,245,255,23,239,255,212,244,255,14,238,255,17,244,255,107,238,255,107,246,255,85,239,255,182,242,255,84,237,255,31,245,255,142,238,255,36,246,255,191,236,255,163,245,255,216,236,255,71,247,255,233,236,255,40,244,255,54,236,255,44,244,255,172, +236,255,252,246,255,170,233,255,86,245,255,151,233,255,68,243,255,63,232,255,50,244,255,60,233,255,51,244,255,46,232,255,60,244,255,45,231,255,249,244,255,119,231,255,163,244,255,81,233,255,47,244,255,27,232,255,228,242,255,193,230,255,230,243,255,25, +233,255,177,243,255,138,231,255,205,241,255,134,232,255,183,243,255,101,233,255,143,243,255,10,232,255,122,239,255,198,229,255,182,243,255,23,234,255,151,244,255,7,230,255,161,241,255,38,231,255,186,241,255,71,233,255,163,241,255,64,235,255,80,241,255, +47,235,255,116,243,255,74,236,255,105,244,255,6,234,255,23,242,255,224,235,255,80,243,255,27,235,255,41,246,255,65,238,255,53,245,255,174,239,255,252,244,255,128,236,255,231,246,255,78,239,255,255,244,255,236,239,255,196,246,255,234,236,255,78,245,255, +112,238,255,173,249,255,110,242,255,182,247,255,16,239,255,1,249,255,118,240,255,65,248,255,1,241,255,58,250,255,45,241,255,79,247,255,209,239,255,191,250,255,53,240,255,42,249,255,99,241,255,38,247,255,113,239,255,146,249,255,117,236,255,140,249,255, +24,239,255,100,252,255,2,241,255,135,252,255,55,240,255,233,250,255,49,240,255,37,254,255,14,241,255,74,254,255,164,239,255,101,252,255,61,237,255,151,252,255,103,237,255,253,250,255,220,238,255,147,249,255,50,236,255,89,251,255,55,239,255,201,247,255, +237,237,255,152,251,255,118,239,255,232,248,255,60,239,255,222,248,255,243,240,255,210,249,255,53,240,255,62,250,255,131,244,255,177,249,255,18,243,255,161,251,255,162,244,255,162,252,255,44,246,255,87,252,255,161,247,255,157,252,255,187,246,255,41,253, +255,16,249,255,94,255,255,225,250,255,121,0,0,219,252,255,108,1,0,0,253,255,169,0,0,182,250,255,200,4,0,183,254,255,60,2,0,224,1,0,5,3,0,50,255,255,0,6,0,95,255,255,188,5,0,212,0,0,253,3,0,218,0,0,113,6,0,1,2,0,85,7,0,132,0,0,127,8,0,162,0,0,145,8,0, +80,0,0,41,9,0,150,2,0,171,8,0,233,2,0,243,9,0,128,3,0,239,9,0,230,2,0,30,8,0,42,0,0,41,7,0,39,1,0,171,10,0,104,4,0,56,12,0,0,1,0,80,9,0,11,2,0,179,9,0,10,1,0,54,10,0,227,254,255,19,8,0,21,255,255,187,12,0,13,2,0,21,10,0,63,1,0,38,9,0,122,255,255,11,9, +0,252,1,0,129,8,0,231,254,255,62,11,0,166,1,0,182,8,0,177,255,255,190,8,0,204,1,0,16,10,0,2,0,0,135,7,0,135,253,255,155,6,0,54,255,255,109,6,0,58,0,0,213,8,0,41,1,0,126,11,0,81,3,0,156,8,0,83,2,0,88,8,0,254,0,0,244,6,0,155,1,0,17,7,0,62,254,255,104,8, +0,108,5,0,160,8,0,251,3,0,100,9,0,82,6,0,221,7,0,163,3,0,19,10,0,7,3,0,109,8,0,228,5,0,95,8,0,129,7,0,14,12,0,84,7,0,79,9,0,97,2,0,63,12,0,167,7,0,196,11,0,139,5,0,80,11,0,152,5,0,8,11,0,52,3,0,67,10,0,180,4,0,255,9,0,49,5,0,156,12,0,153,6,0,12,10,0, +92,4,0,238,10,0,183,3,0,39,13,0,63,5,0,232,11,0,20,4,0,22,13,0,146,4,0,94,11,0,232,2,0,104,13,0,113,2,0,44,13,0,91,1,0,199,12,0,234,3,0,219,10,0,86,3,0,64,12,0,185,2,0,45,13,0,244,4,0,221,10,0,195,2,0,198,13,0,251,5,0,80,14,0,167,5,0,168,11,0,221,5,0, +58,14,0,249,8,0,42,12,0,50,6,0,31,13,0,193,8,0,170,14,0,111,9,0,70,15,0,168,9,0,227,16,0,184,8,0,182,14,0,86,9,0,229,14,0,213,10,0,226,15,0,32,12,0,178,15,0,83,11,0,17,16,0,92,12,0,238,13,0,170,12,0,191,13,0,205,13,0,57,17,0,72,13,0,123,14,0,176,12,0, +210,14,0,230,12,0,129,16,0,19,15,0,25,16,0,199,14,0,233,16,0,49,14,0,187,14,0,187,15,0,201,17,0,211,12,0,50,18,0,117,15,0,245,18,0,89,16,0,75,15,0,140,14,0,233,17,0,3,17,0,158,18,0,193,12,0,137,23,0,68,15,0,248,18,0,252,14,0,243,18,0,40,16,0,245,17,0, +182,15,0,61,19,0,43,14,0,61,20,0,145,15,0,177,21,0,228,16,0,10,21,0,175,17,0,62,22,0,243,15,0,81,22,0,236,17,0,136,21,0,209,17,0,147,22,0,227,19,0,87,22,0,189,17,0,14,25,0,17,17,0,220,20,0,135,18,0,147,23,0,93,18,0,171,22,0,74,18,0,193,24,0,198,19,0, +230,24,0,5,21,0,152,24,0,234,17,0,185,24,0,216,19,0,145,26,0,228,20,0,28,25,0,239,20,0,190,26,0,51,22,0,102,28,0,91,22,0,100,27,0,213,21,0,56,27,0,3,20,0,48,28,0,203,22,0,145,28,0,215,23,0,154,28,0,133,22,0,163,28,0,15,21,0,96,26,0,241,20,0,184,26,0, +225,20,0,79,25,0,81,20,0,201,25,0,97,21,0,85,26,0,255,21,0,171,24,0,161,21,0,98,24,0,60,20,0,88,23,0,167,19,0,114,23,0,239,19,0,147,21,0,137,20,0,199,18,0,166,19,0,77,21,0,9,16,0,110,20,0,31,14,0,0,20,0,11,14,0,90,19,0,116,13,0,132,18,0,221,14,0,166, +19,0,197,12,0,46,18,0,162,11,0,61,18,0,134,13,0,160,18,0,244,9,0,141,16,0,142,10,0,87,17,0,148,10,0,209,16,0,62,11,0,87,16,0,21,11,0,191,15,0,205,11,0,49,16,0,46,12,0,83,17,0,186,11,0,82,18,0,134,13,0,24,17,0,17,14,0,140,18,0,82,14,0,82,17,0,163,13,0, +129,16,0,5,12,0,224,17,0,206,12,0,134,15,0,33,13,0,146,19,0,34,13,0,138,15,0,82,10,0,67,16,0,201,12,0,92,20,0,144,13,0,229,17,0,74,10,0,125,18,0,25,11,0,247,14,0,155,10,0,29,15,0,222,8,0,239,15,0,126,7,0,235,12,0,189,5,0,4,11,0,212,6,0,163,11,0,188,5, +0,129,12,0,82,5,0,20,7,0,185,4,0,218,7,0,8,4,0,116,6,0,19,4,0,198,5,0,17,4,0,41,7,0,38,7,0,34,6,0,213,3,0,108,3,0,231,3,0,142,3,0,218,0,0,73,3,0,184,4,0,105,2,0,187,4,0,196,3,0,194,3,0,223,2,0,118,3,0,29,3,0,14,1,0,80,5,0,209,1,0,102,4,0,13,1,0,104,5, +0,64,3,0,43,9,0,124,4,0,205,5,0,174,4,0,233,7,0,240,2,0,123,9,0,230,3,0,188,10,0,255,3,0,254,6,0,188,2,0,5,9,0,229,3,0,15,9,0,175,5,0,238,8,0,253,3,0,255,7,0,230,3,0,224,8,0,147,4,0,188,7,0,145,3,0,195,8,0,111,4,0,56,8,0,181,2,0,103,8,0,108,0,0,169,8, +0,77,2,0,158,9,0,153,1,0,104,7,0,192,0,0,128,5,0,90,0,0,146,6,0,149,1,0,206,4,0,236,254,255,202,5,0,194,254,255,142,4,0,162,0,0,151,2,0,128,253,255,201,3,0,104,0,0,32,3,0,20,1,0,116,4,0,239,255,255,208,1,0,191,1,0,56,3,0,34,1,0,114,0,0,213,2,0,212,2, +0,132,255,255,190,4,0,169,3,0,64,1,0,142,255,255,47,1,0,206,0,0,157,1,0,165,3,0,242,0,0,253,255,255,184,2,0,72,4,0,104,2,0,79,255,255,255,1,0,93,1,0,51,0,0,44,0,0,95,1,0,71,2,0,131,1,0,77,1,0,159,2,0,227,1,0,120,5,0,20,2,0,114,3,0,72,1,0,122,3,0,69,3, +0,147,2,0,0,2,0,49,6,0,92,3,0,132,5,0,13,3,0,2,3,0,65,3,0,161,4,0,198,2,0,67,3,0,173,3,0,230,4,0,149,4,0,225,4,0,143,2,0,110,5,0,52,4,0,14,6,0,26,4,0,5,5,0,143,1,0,95,5,0,165,2,0,121,5,0,160,3,0,66,4,0,179,1,0,169,3,0,91,1,0,170,3,0,107,1,0,32,3,0,192, +254,255,75,4,0,28,0,0,102,2,0,134,254,255,109,2,0,136,253,255,173,4,0,81,253,255,90,4,0,164,253,255,165,1,0,127,252,255,9,0,0,100,251,255,57,2,0,190,250,255,107,1,0,54,253,255,161,253,255,4,251,255,218,253,255,54,250,255,21,255,255,1,251,255,44,1,0,3, +250,255,221,253,255,178,252,255,83,252,255,245,250,255,208,253,255,58,251,255,229,254,255,135,248,255,52,254,255,150,251,255,15,252,255,233,251,255,96,253,255,59,253,255,137,252,255,233,250,255,132,252,255,125,252,255,165,254,255,127,252,255,94,254,255, +9,253,255,227,254,255,106,253,255,46,254,255,46,252,255,24,0,0,160,253,255,47,255,255,234,253,255,174,0,0,196,253,255,116,255,255,16,253,255,61,255,255,89,253,255,248,0,0,34,252,255,212,251,255,249,253,255,72,2,0,157,254,255,224,253,255,66,251,255,227, +255,255,97,250,255,238,255,255,249,252,255,58,255,255,145,251,255,184,252,255,56,248,255,24,253,255,203,251,255,140,253,255,113,249,255,44,254,255,110,250,255,17,254,255,238,251,255,40,251,255,174,249,255,34,252,255,248,249,255,225,254,255,251,249,255, +244,251,255,146,250,255,100,249,255,7,250,255,206,250,255,79,249,255,142,251,255,158,247,255,219,249,255,19,250,255,162,251,255,69,249,255,29,250,255,40,249,255,1,249,255,157,248,255,173,251,255,239,248,255,121,249,255,142,248,255,177,249,255,4,249,255, +31,251,255,190,250,255,74,250,255,202,250,255,147,251,255,147,249,255,10,253,255,136,252,255,213,253,255,146,252,255,105,252,255,143,252,255,127,0,0,170,0,0,109,252,255,19,254,255,255,255,255,234,0,0,104,254,255,85,0,0,47,254,255,148,2,0,32,1,0,215,2, +0,176,0,0,201,1,0,175,4,0,165,4,0,9,2,0,16,3,0,9,2,0,106,4,0,162,2,0,25,3,0,187,2,0,214,0,0,139,2,0,141,2,0,163,4,0,61,3,0,52,2,0,225,255,255,243,255,255,55,253,255,110,255,255,30,254,255,90,253,255,203,250,255,172,254,255,55,254,255,14,253,255,142,250, +255,181,252,255,68,248,255,87,251,255,167,250,255,218,252,255,118,249,255,58,248,255,21,249,255,177,248,255,22,247,255,163,245,255,198,248,255,50,245,255,179,247,255,209,245,255,15,247,255,229,244,255,73,248,255,121,247,255,132,249,255,244,243,255,196, +247,255,232,243,255,47,247,255,64,244,255,39,249,255,172,246,255,33,251,255,176,244,255,46,249,255,222,245,255,186,248,255,185,247,255,141,251,255,88,248,255,22,251,255,178,248,255,70,251,255,73,247,255,200,253,255,196,246,255,65,254,255,114,251,255, +31,255,255,69,247,255,233,251,255,254,248,255,167,0,0,245,253,255,10,1,0,87,252,255,239,255,255,39,0,0,47,3,0,98,255,255,167,3,0,127,254,255,170,3,0,24,255,255,164,2,0,208,255,255,27,5,0,209,255,255,59,2,0,228,0,0,241,5,0,7,255,255,101,5,0,30,0,0,167, +4,0,21,3,0,126,5,0,145,2,0,201,4,0,49,3,0,85,6,0,207,2,0,54,4,0,166,4,0,33,7,0,175,2,0,226,6,0,197,2,0,205,3,0,173,2,0,152,6,0,32,1,0,35,6,0,172,3,0,119,7,0,177,0,0,90,5,0,76,1,0,49,7,0,7,255,255,3,6,0,210,0,0,167,7,0,45,0,0,246,6,0,20,2,0,107,7,0,124, +0,0,150,6,0,65,2,0,120,6,0,167,255,255,174,5,0,205,0,0,85,5,0,107,2,0,101,5,0,243,1,0,200,6,0,78,255,255,231,3,0,146,255,255,233,5,0,9,255,255,196,4,0,94,0,0,229,5,0,60,255,255,199,6,0,30,254,255,36,7,0,235,255,255,216,5,0,251,255,255,135,7,0,113,255, +255,78,6,0,237,254,255,178,7,0,135,255,255,222,8,0,160,0,0,253,8,0,225,0,0,196,7,0,17,2,0,236,9,0,56,0,0,99,8,0,216,2,0,191,9,0,64,3,0,59,8,0,247,3,0,97,8,0,64,3,0,49,8,0,46,4,0,132,7,0,34,5,0,63,10,0,185,2,0,233,8,0,127,2,0,227,7,0,230,1,0,69,7,0,146, +2,0,1,7,0,67,2,0,177,7,0,135,3,0,31,8,0,151,1,0,164,5,0,118,1,0,46,5,0,204,2,0,132,5,0,174,2,0,5,6,0,92,1,0,135,7,0,58,2,0,212,5,0,126,1,0,152,4,0,31,1,0,188,5,0,24,2,0,126,4,0,135,2,0,218,5,0,238,254,255,164,5,0,79,255,255,209,2,0,253,253,255,148,4, +0,230,254,255,168,3,0,249,254,255,70,4,0,205,252,255,61,2,0,81,254,255,73,1,0,131,252,255,200,1,0,81,252,255,156,4,0,83,253,255,46,2,0,136,251,255,26,1,0,83,248,255,81,0,0,181,250,255,62,1,0,24,249,255,220,0,0,106,247,255,200,254,255,222,249,255,217, +255,255,0,248,255,215,253,255,36,250,255,56,254,255,145,247,255,3,253,255,130,245,255,32,255,255,148,246,255,89,255,255,157,244,255,98,251,255,41,247,255,117,254,255,121,245,255,215,254,255,154,246,255,205,252,255,200,245,255,200,249,255,225,245,255, +68,253,255,138,247,255,91,254,255,104,247,255,115,251,255,224,247,255,170,253,255,10,250,255,27,254,255,125,248,255,86,255,255,121,249,255,220,252,255,167,249,255,91,254,255,154,248,255,201,252,255,213,250,255,169,255,255,29,251,255,117,254,255,12,248, +255,132,254,255,130,249,255,99,253,255,107,253,255,77,0,0,240,249,255,59,1,0,191,251,255,67,255,255,234,252,255,40,254,255,248,253,255,128,254,255,86,252,255,115,252,255,241,250,255,20,253,255,67,251,255,212,253,255,6,251,255,56,253,255,44,251,255,162, +253,255,208,249,255,122,253,255,161,248,255,148,252,255,176,254,255,233,251,255,94,249,255,14,253,255,204,247,255,108,253,255,132,249,255,194,252,255,104,248,255,2,253,255,25,250,255,188,252,255,58,248,255,84,253,255,67,250,255,120,251,255,66,249,255, +206,253,255,101,248,255,45,252,255,192,247,255,54,254,255,40,249,255,236,255,255,11,249,255,28,254,255,23,250,255,114,253,255,94,249,255,227,251,255,145,250,255,248,254,255,31,249,255,1,255,255,63,250,255,71,0,0,19,249,255,173,254,255,112,249,255,238, +252,255,36,249,255,253,253,255,12,249,255,236,255,255,229,248,255,4,0,0,19,248,255,49,253,255,232,249,255,104,253,255,56,247,255,63,252,255,42,250,255,140,0,0,196,248,255,69,254,255,49,251,255,26,255,255,87,249,255,198,253,255,143,247,255,12,254,255, +154,249,255,136,253,255,140,248,255,9,251,255,132,248,255,225,255,255,49,250,255,233,252,255,190,248,255,69,253,255,82,248,255,91,252,255,67,246,255,30,252,255,48,249,255,161,254,255,182,249,255,231,253,255,75,249,255,84,255,255,34,249,255,56,252,255, +251,248,255,247,254,255,14,250,255,2,255,255,107,248,255,128,253,255,52,252,255,188,254,255,219,249,255,90,253,255,89,253,255,146,1,0,34,251,255,78,254,255,97,252,255,111,0,0,221,253,255,226,253,255,93,254,255,70,255,255,120,250,255,125,0,0,98,253,255, +22,1,0,31,254,255,168,255,255,211,252,255,170,255,255,220,250,255,145,255,255,198,250,255,161,255,255,252,251,255,31,0,0,137,253,255,148,0,0,116,249,255,46,255,255,177,248,255,66,255,255,94,250,255,218,255,255,110,250,255,117,255,255,249,250,255,76,0, +0,255,248,255,168,2,0,57,249,255,209,1,0,60,249,255,80,0,0,123,247,255,205,255,255,224,249,255,234,2,0,136,250,255,35,0,0,89,249,255,82,2,0,31,248,255,141,2,0,253,247,255,205,1,0,65,250,255,56,5,0,176,249,255,86,4,0,35,253,255,79,3,0,201,251,255,80,2, +0,3,251,255,214,4,0,139,249,255,221,2,0,84,251,255,203,4,0,87,251,255,45,3,0,242,253,255,71,4,0,51,254,255,53,7,0,10,254,255,72,6,0,236,253,255,120,2,0,124,255,255,186,4,0,244,254,255,100,3,0,103,1,0,228,3,0,10,0,0,35,5,0,169,255,255,113,4,0,72,0,0,122, +3,0,98,0,0,181,5,0,155,0,0,137,5,0,177,255,255,227,4,0,172,0,0,253,2,0,123,0,0,126,3,0,47,0,0,216,3,0,34,255,255,38,3,0,101,1,0,148,6,0,229,0,0,186,3,0,27,1,0,7,5,0,43,0,0,26,5,0,176,254,255,203,2,0,7,0,0,78,3,0,125,255,255,54,3,0,241,253,255,169,2,0, +180,253,255,58,4,0,213,0,0,125,6,0,176,254,255,121,4,0,10,254,255,78,3,0,47,0,0,15,5,0,94,255,255,136,6,0,42,1,0,34,4,0,35,254,255,55,5,0,135,255,255,135,6,0,142,255,255,223,6,0,93,0,0,206,7,0,14,254,255,146,7,0,101,1,0,156,9,0,200,1,0,147,10,0,160,255, +255,49,11,0,189,1,0,200,10,0,165,3,0,51,14,0,25,3,0,44,13,0,207,1,0,192,13,0,114,3,0,118,13,0,117,5,0,164,13,0,64,7,0,152,13,0,47,7,0,225,13,0,98,5,0,147,13,0,189,5,0,65,13,0,107,7,0,219,11,0,107,7,0,119,14,0,64,9,0,82,14,0,5,8,0,68,14,0,169,8,0,179, +12,0,95,9,0,9,13,0,15,11,0,34,16,0,209,9,0,69,12,0,215,12,0,45,13,0,73,11,0,45,14,0,223,12,0,22,11,0,146,11,0,38,12,0,150,11,0,4,13,0,89,11,0,176,11,0,27,12,0,25,12,0,215,10,0,163,13,0,48,11,0,145,11,0,28,13,0,21,14,0,0,9,0,229,11,0,249,8,0,66,13,0,198, +8,0,114,12,0,187,8,0,214,11,0,121,7,0,121,11,0,185,7,0,180,9,0,72,7,0,127,13,0,43,7,0,235,11,0,88,6,0,140,11,0,182,8,0,242,10,0,109,5,0,95,9,0,74,4,0,174,7,0,252,6,0,249,12,0,3,6,0,219,12,0,145,7,0,100,9,0,109,7,0,22,11,0,153,7,0,148,10,0,218,6,0,84, +12,0,35,5,0,151,11,0,123,6,0,144,10,0,2,9,0,112,12,0,152,8,0,255,13,0,149,9,0,212,12,0,59,10,0,11,11,0,199,9,0,43,11,0,15,10,0,17,12,0,55,13,0,250,12,0,175,11,0,123,13,0,150,12,0,203,11,0,35,11,0,203,11,0,116,10,0,7,12,0,182,12,0,33,10,0,19,12,0,47,13, +0,136,11,0,50,12,0,247,10,0,16,11,0,80,13,0,196,13,0,72,12,0,44,11,0,120,13,0,224,10,0,244,13,0,195,13,0,237,14,0,73,13,0,228,13,0,128,12,0,149,12,0,121,12,0,76,14,0,116,12,0,83,13,0,7,13,0,138,13,0,137,11,0,28,13,0,40,12,0,122,12,0,144,10,0,76,14,0, +137,12,0,78,13,0,233,11,0,236,11,0,127,14,0,72,12,0,223,10,0,254,12,0,71,14,0,217,13,0,208,11,0,2,15,0,1,14,0,32,14,0,151,13,0,62,15,0,167,13,0,173,14,0,71,14,0,15,17,0,249,13,0,53,15,0,232,13,0,24,17,0,50,13,0,40,13,0,15,14,0,233,13,0,43,13,0,80,15, +0,105,15,0,156,14,0,3,15,0,156,16,0,210,15,0,17,15,0,80,14,0,70,16,0,228,14,0,77,15,0,184,14,0,29,16,0,24,15,0,135,15,0,39,16,0,4,16,0,88,15,0,62,17,0,112,17,0,239,17,0,52,16,0,241,16,0,150,16,0,190,15,0,116,16,0,250,14,0,157,15,0,230,16,0,82,16,0,54, +17,0,219,17,0,129,17,0,87,15,0,151,17,0,229,14,0,89,21,0,105,16,0,89,18,0,116,17,0,79,18,0,109,18,0,94,20,0,187,18,0,166,18,0,252,17,0,205,19,0,16,16,0,121,19,0,226,20,0,227,19,0,102,17,0,253,21,0,114,18,0,163,17,0,30,19,0,61,23,0,17,19,0,157,19,0,2, +18,0,33,20,0,69,16,0,169,20,0,119,17,0,58,20,0,52,16,0,54,20,0,115,17,0,155,18,0,116,19,0,130,19,0,82,19,0,83,19,0,235,13,0,17,21,0,148,16,0,149,19,0,243,16,0,86,17,0,220,13,0,152,17,0,252,12,0,192,17,0,132,12,0,150,16,0,188,11,0,233,18,0,104,10,0,231, +17,0,200,10,0,144,16,0,150,10,0,231,16,0,41,8,0,224,15,0,233,7,0,82,14,0,100,6,0,215,15,0,72,8,0,105,13,0,95,9,0,155,14,0,228,7,0,224,14,0,232,7,0,189,13,0,83,6,0,216,14,0,173,6,0,178,13,0,182,5,0,247,15,0,163,7,0,116,13,0,184,7,0,19,11,0,122,6,0,224, +13,0,146,6,0,243,12,0,207,6,0,8,15,0,162,7,0,238,12,0,216,6,0,58,13,0,52,6,0,157,13,0,232,9,0,116,15,0,102,7,0,141,15,0,233,5,0,60,14,0,49,6,0,201,13,0,90,7,0,103,16,0,68,7,0,180,14,0,193,6,0,208,14,0,123,8,0,249,12,0,99,5,0,38,15,0,199,3,0,197,14,0, +99,4,0,183,14,0,109,5,0,71,13,0,172,3,0,185,14,0,18,4,0,74,11,0,8,3,0,252,11,0,106,2,0,178,11,0,2,0,0,177,10,0,121,254,255,193,9,0,27,254,255,146,10,0,99,0,0,28,8,0,111,253,255,8,7,0,21,0,0,187,7,0,232,253,255,203,7,0,8,254,255,135,7,0,147,254,255,214, +6,0,116,253,255,7,8,0,9,254,255,46,8,0,107,255,255,219,8,0,96,255,255,172,8,0,198,0,0,91,8,0,92,254,255,206,10,0,41,254,255,254,9,0,17,255,255,82,12,0,16,255,255,0,12,0,193,0,0,79,10,0,39,0,0,228,11,0,114,255,255,123,11,0,25,255,255,225,12,0,77,255,255, +134,10,0,217,253,255,128,12,0,97,254,255,27,10,0,96,254,255,221,10,0,159,251,255,204,11,0,67,254,255,251,7,0,69,251,255,197,9,0,229,251,255,223,7,0,28,253,255,180,4,0,164,249,255,60,7,0,173,249,255,223,8,0,252,249,255,8,6,0,213,248,255,179,5,0,197,249, +255,8,5,0,16,249,255,163,4,0,141,248,255,106,5,0,238,249,255,38,2,0,165,247,255,151,5,0,13,251,255,82,2,0,167,247,255,170,1,0,65,249,255,220,1,0,99,249,255,37,2,0,134,248,255,226,4,0,225,248,255,61,4,0,205,250,255,207,2,0,74,251,255,39,3,0,87,250,255, +116,3,0,149,249,255,79,6,0,2,251,255,156,5,0,54,252,255,147,6,0,203,251,255,38,4,0,178,250,255,38,5,0,117,249,255,222,4,0,238,248,255,147,7,0,211,248,255,83,6,0,24,250,255,101,6,0,114,249,255,93,5,0,71,248,255,143,7,0,171,248,255,155,6,0,162,247,255, +84,4,0,189,245,255,20,5,0,6,246,255,101,5,0,88,247,255,91,4,0,159,244,255,232,4,0,140,244,255,208,4,0,137,242,255,116,2,0,79,238,255,219,3,0,105,241,255,76,3,0,248,240,255,216,3,0,225,242,255,9,1,0,54,242,255,224,3,0,115,242,255,56,2,0,173,239,255,4, +1,0,146,240,255,200,5,0,246,238,255,208,1,0,58,240,255,173,0,0,126,239,255,98,2,0,255,238,255,87,3,0,233,237,255,22,4,0,191,237,255,129,2,0,211,238,255,113,2,0,176,237,255,94,255,255,62,236,255,102,1,0,42,236,255,203,3,0,210,235,255,110,0,0,233,235,255, +98,255,255,145,235,255,137,254,255,101,237,255,30,254,255,251,234,255,100,253,255,193,233,255,196,252,255,31,235,255,96,252,255,128,233,255,201,252,255,226,233,255,121,253,255,192,235,255,61,251,255,59,234,255,89,251,255,233,235,255,133,251,255,207,234, +255,167,252,255,184,234,255,193,252,255,25,236,255,13,251,255,207,237,255,113,249,255,252,233,255,249,249,255,124,235,255,33,249,255,236,233,255,76,250,255,209,233,255,176,248,255,244,233,255,47,249,255,230,232,255,252,246,255,137,231,255,240,246,255, +94,230,255,224,246,255,199,229,255,33,248,255,84,229,255,231,247,255,45,230,255,61,247,255,116,226,255,71,248,255,143,224,255,169,247,255,172,225,255,196,245,255,228,226,255,234,248,255,226,221,255,191,243,255,226,223,255,71,247,255,196,223,255,243,245, +255,224,224,255,182,245,255,38,224,255,40,244,255,101,223,255,106,244,255,41,222,255,222,244,255,245,223,255,198,246,255,151,225,255,213,244,255,135,223,255,131,246,255,19,226,255,167,246,255,17,225,255,85,246,255,183,226,255,195,245,255,45,228,255,146, +245,255,40,228,255,184,245,255,50,229,255,151,246,255,65,229,255,72,244,255,62,230,255,124,247,255,95,230,255,123,246,255,251,229,255,120,246,255,116,229,255,83,248,255,223,228,255,252,246,255,82,228,255,180,247,255,101,231,255,249,247,255,141,228,255, +37,249,255,92,229,255,210,247,255,43,226,255,169,247,255,255,227,255,212,246,255,194,228,255,191,245,255,164,227,255,155,245,255,229,229,255,160,245,255,194,228,255,248,245,255,164,226,255,60,246,255,47,227,255,212,243,255,134,226,255,23,245,255,30,224, +255,54,245,255,61,226,255,16,244,255,131,226,255,124,242,255,178,224,255,146,244,255,87,223,255,96,243,255,99,224,255,225,243,255,124,224,255,151,243,255,98,222,255,110,241,255,139,223,255,83,243,255,213,221,255,51,241,255,217,221,255,166,244,255,123, +220,255,136,240,255,34,218,255,226,240,255,233,219,255,199,240,255,173,217,255,135,240,255,149,218,255,237,240,255,94,217,255,82,240,255,77,217,255,4,239,255,240,215,255,143,240,255,212,216,255,254,237,255,79,215,255,32,239,255,129,214,255,84,238,255, +114,216,255,107,236,255,29,216,255,239,234,255,57,214,255,186,234,255,145,215,255,84,235,255,242,214,255,100,234,255,227,214,255,51,233,255,61,211,255,161,234,255,215,214,255,70,234,255,218,212,255,14,234,255,122,214,255,203,232,255,190,213,255,252,233, +255,142,212,255,226,232,255,217,211,255,251,228,255,141,210,255,158,231,255,241,211,255,239,230,255,84,208,255,25,230,255,75,207,255,7,228,255,110,207,255,215,229,255,19,208,255,109,229,255,7,207,255,42,225,255,184,205,255,102,227,255,133,204,255,220, +226,255,234,203,255,155,223,255,176,203,255,124,225,255,133,204,255,110,225,255,52,204,255,138,222,255,220,202,255,101,223,255,241,201,255,210,222,255,90,202,255,50,222,255,228,202,255,36,221,255,140,204,255,245,223,255,151,204,255,212,223,255,218,205, +255,163,225,255,90,207,255,17,224,255,139,207,255,240,228,255,65,212,255,99,227,255,73,211,255,189,226,255,164,211,255,91,227,255,80,212,255,181,227,255,198,214,255,139,228,255,80,214,255,196,232,255,223,213,255,15,231,255,58,215,255,7,233,255,183,216, +255,226,232,255,49,218,255,239,232,255,199,216,255,175,233,255,104,217,255,74,234,255,137,216,255,48,235,255,251,216,255,45,235,255,145,218,255,41,236,255,94,215,255,143,234,255,74,214,255,57,235,255,200,214,255,46,234,255,34,216,255,228,234,255,106, +212,255,102,232,255,234,214,255,192,234,255,24,214,255,55,235,255,30,213,255,107,233,255,229,213,255,161,233,255,168,212,255,91,233,255,161,213,255,127,231,255,59,211,255,1,232,255,213,211,255,42,231,255,200,208,255,207,229,255,217,210,255,27,230,255, +254,207,255,66,229,255,173,210,255,87,229,255,162,209,255,32,229,255,88,210,255,12,229,255,152,210,255,202,227,255,63,210,255,93,229,255,186,211,255,186,229,255,121,210,255,229,229,255,24,213,255,110,229,255,214,213,255,8,231,255,224,213,255,249,229, +255,156,212,255,231,230,255,190,214,255,182,231,255,64,216,255,213,231,255,57,217,255,95,232,255,80,217,255,90,233,255,223,217,255,17,236,255,254,219,255,165,234,255,152,221,255,103,232,255,180,221,255,163,234,255,105,223,255,137,235,255,25,224,255,251, +234,255,84,224,255,156,236,255,80,223,255,17,237,255,225,225,255,194,235,255,144,224,255,84,237,255,236,224,255,99,236,255,193,223,255,7,239,255,174,226,255,155,237,255,219,226,255,238,237,255,88,226,255,117,239,255,195,225,255,101,240,255,102,226,255, +129,240,255,210,225,255,67,241,255,185,226,255,196,239,255,52,224,255,108,240,255,101,224,255,206,239,255,94,225,255,131,240,255,188,224,255,52,241,255,191,225,255,236,238,255,124,223,255,111,239,255,75,225,255,164,238,255,222,224,255,174,238,255,138, +223,255,79,238,255,237,224,255,78,238,255,153,223,255,33,239,255,224,224,255,36,237,255,199,224,255,254,238,255,99,225,255,226,238,255,27,226,255,210,238,255,135,226,255,240,237,255,19,228,255,40,238,255,72,227,255,16,239,255,57,228,255,125,238,255,45, +228,255,67,240,255,88,228,255,67,239,255,151,229,255,122,238,255,163,229,255,214,240,255,72,230,255,18,245,255,151,230,255,214,239,255,175,228,255,31,242,255,112,231,255,201,240,255,251,229,255,32,239,255,87,228,255,13,241,255,138,230,255,18,244,255, +161,230,255,230,240,255,246,230,255,4,242,255,11,230,255,7,241,255,126,230,255,91,241,255,14,230,255,139,241,255,93,229,255,9,241,255,40,229,255,62,240,255,128,228,255,8,243,255,210,230,255,148,241,255,23,229,255,78,240,255,11,229,255,122,241,255,81, +229,255,120,241,255,20,228,255,24,240,255,34,228,255,32,241,255,35,228,255,207,240,255,162,229,255,65,242,255,197,228,255,227,242,255,141,229,255,119,241,255,24,227,255,123,242,255,1,229,255,53,242,255,164,228,255,87,245,255,159,231,255,207,241,255,80, +231,255,53,242,255,37,231,255,20,243,255,1,232,255,94,244,255,222,232,255,226,243,255,198,234,255,123,246,255,4,235,255,129,245,255,148,236,255,163,246,255,164,237,255,37,245,255,182,237,255,217,247,255,145,238,255,202,246,255,71,238,255,214,248,255, +35,241,255,180,247,255,103,241,255,201,249,255,219,240,255,244,249,255,72,242,255,95,251,255,194,242,255,156,249,255,39,244,255,119,250,255,9,245,255,129,252,255,121,247,255,123,251,255,100,244,255,17,254,255,153,245,255,60,251,255,70,245,255,67,252, +255,148,246,255,90,252,255,153,246,255,71,252,255,119,245,255,203,253,255,131,249,255,79,252,255,110,245,255,122,253,255,247,245,255,219,253,255,99,245,255,224,251,255,42,245,255,249,254,255,149,247,255,156,251,255,238,244,255,164,252,255,247,244,255, +229,251,255,162,246,255,27,252,255,192,243,255,110,253,255,216,245,255,99,252,255,145,246,255,201,253,255,209,245,255,179,251,255,156,244,255,51,253,255,89,247,255,7,253,255,205,244,255,94,250,255,111,247,255,253,251,255,79,247,255,40,253,255,48,247, +255,12,251,255,144,246,255,122,253,255,131,248,255,169,251,255,119,248,255,206,253,255,201,247,255,193,252,255,249,249,255,95,251,255,140,248,255,28,253,255,36,249,255,31,253,255,126,246,255,250,252,255,148,249,255,84,254,255,66,248,255,132,253,255,74, +248,255,108,253,255,234,246,255,248,251,255,161,248,255,121,253,255,74,248,255,71,255,255,32,248,255,78,253,255,198,247,255,123,252,255,253,247,255,239,253,255,118,247,255,0,251,255,72,246,255,236,253,255,37,250,255,200,252,255,237,248,255,84,254,255, +125,249,255,104,250,255,220,248,255,206,252,255,170,251,255,156,250,255,113,248,255,183,249,255,123,251,255,144,250,255,53,250,255,203,252,255,230,251,255,205,250,255,253,248,255,244,248,255,214,252,255,238,250,255,121,251,255,25,250,255,88,252,255,174, +249,255,94,251,255,51,251,255,70,251,255,83,251,255,144,252,255,142,251,255,242,250,255,178,251,255,244,253,255,44,253,255,153,250,255,191,252,255,247,252,255,10,253,255,7,253,255,158,252,255,136,252,255,215,251,255,107,250,255,220,253,255,116,251,255, +112,253,255,123,251,255,51,254,255,145,249,255,198,252,255,126,249,255,68,252,255,200,248,255,55,253,255,64,250,255,159,252,255,176,249,255,183,251,255,8,249,255,251,251,255,223,249,255,220,253,255,84,250,255,242,252,255,105,249,255,155,252,255,209,250, +255,136,252,255,209,250,255,136,252,255,153,250,255,211,253,255,244,250,255,73,253,255,211,251,255,238,253,255,188,253,255,208,252,255,132,252,255,245,253,255,98,253,255,228,252,255,63,254,255,180,253,255,239,254,255,247,253,255,41,0,0,180,252,255,126, +1,0,188,252,255,157,255,255,42,254,255,131,3,0,47,253,255,186,0,0,126,255,255,78,1,0,108,253,255,3,3,0,42,254,255,130,2,0,174,254,255,28,4,0,174,255,255,24,3,0,184,255,255,205,3,0,218,1,0,196,3,0,143,254,255,43,3,0,45,255,255,109,3,0,55,1,0,5,4,0,232, +254,255,221,1,0,155,0,0,187,4,0,247,2,0,138,4,0,55,1,0,227,2,0,141,2,0,77,4,0,226,1,0,90,5,0,84,1,0,151,0,0,239,0,0,47,0,0,25,0,0,115,2,0,234,2,0,92,1,0,117,0,0,113,255,255,215,253,255,88,254,255,102,0,0,2,0,0,42,255,255,245,255,255,7,254,255,77,255, +255,205,254,255,21,255,255,17,254,255,171,255,255,144,253,255,41,0,0,108,254,255,146,255,255,57,252,255,26,1,0,56,251,255,160,1,0,77,254,255,174,0,0,126,253,255,185,1,0,100,252,255,234,1,0,234,252,255,182,2,0,220,253,255,157,2,0,118,253,255,75,2,0,247, +253,255,98,4,0,155,254,255,94,4,0,254,253,255,28,5,0,168,252,255,198,4,0,11,253,255,128,3,0,37,255,255,68,4,0,119,254,255,168,4,0,250,255,255,20,4,0,45,254,255,161,3,0,97,253,255,77,4,0,26,255,255,194,5,0,206,0,0,23,6,0,112,255,255,226,4,0,22,255,255, +199,7,0,97,254,255,111,7,0,120,255,255,222,7,0,251,254,255,155,7,0,98,1,0,76,9,0,211,1,0,217,10,0,51,4,0,82,10,0,109,2,0,198,10,0,91,2,0,30,11,0,184,4,0,68,12,0,92,4,0,215,12,0,130,7,0,210,12,0,39,6,0,66,13,0,172,8,0,68,15,0,118,7,0,13,15,0,131,9,0,194, +16,0,184,9,0,213,16,0,235,9,0,131,17,0,87,10,0,167,17,0,34,13,0,113,19,0,164,11,0,147,19,0,108,14,0,164,21,0,151,11,0,222,20,0,81,14,0,3,23,0,170,13,0,239,22,0,27,14,0,176,23,0,228,14,0,77,22,0,239,16,0,127,24,0,244,16,0,154,23,0,99,16,0,100,25,0,52, +17,0,119,24,0,139,16,0,244,25,0,224,17,0,121,25,0,26,18,0,202,28,0,58,16,0,159,24,0,185,17,0,19,28,0,71,17,0,215,26,0,232,19,0,176,29,0,128,18,0,142,27,0,23,20,0,136,28,0,71,19,0,179,31,0,12,21,0,233,30,0,84,22,0,137,32,0,177,20,0,102,31,0,82,24,0,34, +34,0,204,22,0,128,36,0,11,25,0,201,34,0,133,23,0,89,35,0,249,24,0,183,36,0,143,26,0,219,34,0,132,25,0,89,36,0,238,25,0,147,36,0,146,27,0,244,38,0,88,28,0,145,39,0,242,27,0,27,40,0,206,27,0,129,40,0,123,29,0,53,40,0,158,27,0,51,39,0,159,27,0,138,39,0, +65,28,0,181,38,0,185,28,0,117,38,0,90,28,0,69,37,0,24,26,0,184,36,0,200,27,0,85,37,0,78,25,0,202,36,0,83,26,0,55,37,0,215,26,0,12,36,0,65,25,0,44,35,0,193,25,0,123,35,0,147,24,0,146,36,0,190,22,0,47,32,0,248,24,0,126,34,0,24,24,0,134,32,0,117,24,0,7, +33,0,196,21,0,222,31,0,6,24,0,78,34,0,118,22,0,23,34,0,201,22,0,147,32,0,125,23,0,214,32,0,41,22,0,188,32,0,117,22,0,43,32,0,27,24,0,251,32,0,172,22,0,67,33,0,123,24,0,238,33,0,92,23,0,35,33,0,10,24,0,250,32,0,230,23,0,123,32,0,126,23,0,183,33,0,243, +24,0,46,35,0,239,23,0,110,34,0,224,23,0,182,34,0,216,23,0,34,35,0,113,23,0,29,33,0,239,23,0,235,34,0,198,21,0,221,31,0,188,22,0,171,33,0,139,22,0,14,34,0,98,24,0,10,32,0,113,23,0,15,34,0,95,21,0,53,34,0,229,21,0,148,33,0,94,22,0,170,33,0,216,22,0,201, +33,0,57,22,0,246,34,0,18,22,0,190,34,0,165,22,0,237,36,0,49,22,0,243,35,0,171,20,0,34,33,0,90,21,0,29,34,0,185,18,0,77,34,0,87,21,0,109,34,0,42,20,0,175,32,0,74,21,0,252,34,0,122,21,0,126,33,0,197,20,0,112,34,0,214,20,0,187,33,0,227,21,0,161,31,0,84, +20,0,141,34,0,207,18,0,10,32,0,38,21,0,248,32,0,183,20,0,115,31,0,242,19,0,228,31,0,39,20,0,158,30,0,69,20,0,187,30,0,223,18,0,101,30,0,5,20,0,127,31,0,102,20,0,68,31,0,199,19,0,61,31,0,231,16,0,107,30,0,108,19,0,196,31,0,216,17,0,114,30,0,183,18,0,103, +29,0,80,17,0,70,30,0,87,15,0,71,29,0,185,16,0,92,31,0,50,15,0,40,28,0,200,16,0,147,27,0,223,14,0,227,24,0,237,16,0,99,29,0,4,13,0,63,26,0,14,13,0,190,25,0,174,12,0,223,24,0,210,12,0,222,26,0,107,13,0,20,27,0,129,10,0,144,25,0,74,13,0,249,26,0,211,11, +0,25,25,0,67,11,0,64,26,0,222,11,0,59,25,0,50,14,0,247,25,0,165,12,0,111,28,0,85,12,0,148,28,0,198,13,0,22,27,0,209,12,0,103,27,0,107,14,0,171,28,0,126,13,0,68,28,0,197,13,0,9,29,0,179,16,0,184,28,0,217,14,0,117,30,0,45,15,0,148,28,0,129,15,0,207,27, +0,182,16,0,48,29,0,233,17,0,14,28,0,197,16,0,105,29,0,226,18,0,39,28,0,217,16,0,87,28,0,253,18,0,104,29,0,116,17,0,124,28,0,61,17,0,52,28,0,102,18,0,34,30,0,85,18,0,162,29,0,172,17,0,219,28,0,17,17,0,169,29,0,168,17,0,152,27,0,19,19,0,169,28,0,178,15, +0,170,26,0,89,18,0,123,29,0,72,15,0,254,27,0,254,16,0,71,28,0,201,16,0,16,29,0,162,15,0,75,28,0,94,15,0,91,26,0,158,13,0,220,26,0,6,12,0,27,27,0,65,14,0,35,27,0,88,11,0,41,25,0,243,13,0,203,28,0,116,12,0,109,27,0,216,12,0,176,27,0,121,15,0,99,28,0,75, +14,0,217,26,0,131,12,0,201,25,0,193,12,0,169,27,0,172,13,0,55,27,0,211,13,0,105,26,0,22,14,0,47,25,0,223,12,0,139,24,0,31,14,0,230,25,0,107,15,0,177,24,0,176,13,0,61,24,0,136,14,0,253,21,0,112,11,0,149,23,0,48,14,0,55,22,0,167,14,0,5,23,0,69,10,0,171, +20,0,230,12,0,188,23,0,43,11,0,254,20,0,81,10,0,143,20,0,139,9,0,232,17,0,18,9,0,210,18,0,236,8,0,240,19,0,102,8,0,56,18,0,17,8,0,238,19,0,212,7,0,62,19,0,97,8,0,51,18,0,68,7,0,111,18,0,115,7,0,87,19,0,222,6,0,82,20,0,44,8,0,247,21,0,212,7,0,8,21,0,138, +8,0,204,21,0,28,9,0,171,19,0,232,8,0,178,21,0,134,7,0,219,20,0,103,9,0,24,21,0,115,10,0,62,21,0,35,9,0,141,20,0,218,9,0,197,18,0,238,8,0,100,19,0,228,7,0,50,20,0,245,7,0,244,16,0,44,7,0,189,16,0,18,7,0,18,16,0,94,7,0,78,14,0,212,7,0,210,14,0,44,5,0,100, +13,0,167,5,0,155,14,0,130,4,0,71,13,0,16,3,0,231,12,0,128,2,0,225,12,0,32,255,255,38,9,0,134,3,0,127,12,0,8,1,0,138,11,0,171,1,0,180,12,0,191,1,0,92,12,0,87,254,255,240,10,0,102,255,255,63,11,0,163,255,255,150,10,0,187,255,255,50,12,0,237,255,255,155, +9,0,204,255,255,36,10,0,160,255,255,26,11,0,84,253,255,75,10,0,143,255,255,66,10,0,86,253,255,245,8,0,244,254,255,72,9,0,183,255,255,58,8,0,115,255,255,108,5,0,90,253,255,159,6,0,137,253,255,210,6,0,226,252,255,234,5,0,93,252,255,106,5,0,61,253,255,32, +4,0,80,252,255,24,3,0,114,252,255,193,3,0,45,251,255,167,3,0,192,249,255,74,2,0,88,249,255,82,1,0,231,246,255,240,255,255,234,248,255,122,0,0,46,247,255,220,255,255,178,246,255,147,254,255,53,245,255,104,255,255,120,245,255,37,255,255,101,243,255,136, +253,255,246,243,255,191,251,255,254,242,255,14,250,255,100,241,255,249,250,255,125,244,255,103,251,255,229,240,255,21,248,255,151,243,255,81,250,255,34,240,255,78,248,255,13,240,255,203,246,255,104,238,255,162,247,255,214,238,255,190,246,255,18,236,255, +28,246,255,111,237,255,58,245,255,59,236,255,69,244,255,137,235,255,148,243,255,87,234,255,9,244,255,35,233,255,19,244,255,174,234,255,68,244,255,126,233,255,37,244,255,132,234,255,117,243,255,176,233,255,109,242,255,45,233,255,100,244,255,94,232,255, +79,242,255,154,233,255,203,240,255,118,233,255,213,242,255,39,234,255,62,243,255,203,231,255,104,243,255,13,232,255,127,242,255,67,233,255,136,241,255,65,233,255,0,242,255,124,232,255,218,242,255,111,232,255,227,241,255,55,233,255,175,242,255,12,233, +255,165,242,255,213,234,255,197,243,255,163,234,255,221,243,255,166,233,255,134,243,255,227,235,255,179,244,255,0,235,255,181,242,255,91,236,255,75,246,255,213,235,255,214,244,255,105,237,255,96,247,255,95,237,255,41,245,255,21,239,255,186,244,255,1, +238,255,169,245,255,116,238,255,236,246,255,164,237,255,20,248,255,54,241,255,201,249,255,129,238,255,206,248,255,33,239,255,82,250,255,126,239,255,139,249,255,250,239,255,243,250,255,43,241,255,149,250,255,139,240,255,85,252,255,235,241,255,99,251,255, +204,240,255,53,252,255,135,242,255,119,253,255,234,242,255,120,253,255,165,243,255,42,253,255,182,241,255,32,254,255,80,242,255,243,253,255,136,243,255,132,254,255,250,241,255,62,254,255,255,241,255,78,254,255,122,242,255,73,0,0,109,243,255,94,252,255, +58,243,255,87,255,255,193,240,255,30,253,255,136,241,255,33,254,255,221,239,255,28,252,255,71,239,255,245,251,255,236,240,255,24,251,255,2,239,255,135,250,255,232,239,255,155,251,255,61,239,255,254,249,255,80,240,255,6,250,255,24,239,255,241,250,255, +144,238,255,161,250,255,111,240,255,61,250,255,242,238,255,91,250,255,215,239,255,174,248,255,208,239,255,148,248,255,174,240,255,168,247,255,68,241,255,103,249,255,186,238,255,164,248,255,109,238,255,102,248,255,211,241,255,195,247,255,187,240,255,242, +248,255,87,240,255,93,251,255,82,240,255,41,250,255,41,238,255,195,247,255,27,240,255,221,248,255,98,239,255,65,251,255,128,239,255,125,249,255,1,240,255,166,249,255,1,240,255,161,250,255,116,237,255,115,248,255,215,239,255,196,250,255,35,241,255,171, +250,255,163,238,255,72,249,255,9,239,255,144,251,255,157,240,255,73,251,255,120,238,255,92,250,255,242,239,255,168,250,255,140,240,255,87,251,255,215,240,255,67,253,255,22,241,255,167,253,255,167,241,255,17,254,255,28,243,255,200,251,255,22,244,255,133, +252,255,131,243,255,116,254,255,171,244,255,175,0,0,124,243,255,218,255,255,250,244,255,6,0,0,112,245,255,159,255,255,0,244,255,184,255,255,49,246,255,163,0,0,244,245,255,3,0,0,138,246,255,35,1,0,171,246,255,32,1,0,205,247,255,77,4,0,110,247,255,228, +2,0,124,249,255,178,2,0,29,249,255,69,3,0,70,249,255,35,2,0,110,250,255,151,4,0,17,248,255,210,3,0,246,249,255,20,6,0,3,251,255,21,6,0,27,251,255,232,4,0,129,251,255,126,6,0,28,250,255,87,5,0,241,251,255,232,6,0,219,253,255,114,8,0,140,253,255,213,8, +0,209,254,255,244,7,0,210,255,255,174,10,0,101,253,255,69,10,0,51,255,255,4,12,0,98,1,0,49,11,0,52,1,0,207,11,0,75,5,0,58,17,0,85,2,0,220,13,0,145,2,0,32,15,0,147,4,0,58,16,0,166,3,0,136,13,0,55,6,0,15,16,0,185,5,0,158,16,0,66,7,0,75,15,0,243,4,0,244, +15,0,15,7,0,172,16,0,22,6,0,148,15,0,104,8,0,104,15,0,50,6,0,250,14,0,228,5,0,253,13,0,42,5,0,57,14,0,57,6,0,140,11,0,199,4,0,191,10,0,22,6,0,177,11,0,8,4,0,72,12,0,51,3,0,132,9,0,27,3,0,116,10,0,254,1,0,49,9,0,42,3,0,214,8,0,162,1,0,225,5,0,0,3,0,66, +7,0,150,1,0,53,6,0,37,2,0,101,6,0,252,254,255,93,5,0,249,0,0,108,5,0,98,2,0,80,4,0,127,1,0,102,4,0,118,0,0,221,5,0,255,254,255,97,5,0,181,0,0,49,6,0,123,0,0,191,6,0,233,254,255,201,5,0,167,0,0,142,8,0,80,1,0,80,6,0,5,0,0,107,6,0,164,1,0,120,9,0,202,1, +0,15,9,0,151,2,0,194,10,0,142,4,0,34,11,0,160,1,0,62,10,0,234,2,0,194,10,0,142,4,0,54,12,0,95,2,0,104,12,0,228,4,0,177,10,0,95,2,0,175,12,0,165,4,0,226,12,0,26,3,0,44,10,0,102,2,0,102,10,0,183,3,0,87,9,0,189,2,0,42,11,0,236,1,0,15,10,0,134,2,0,222,9, +0,151,0,0,235,7,0,231,0,0,59,8,0,42,2,0,177,7,0,179,0,0,209,6,0,140,0,0,200,7,0,234,0,0,47,8,0,22,2,0,32,7,0,163,254,255,54,7,0,34,255,255,85,7,0,176,255,255,108,8,0,196,254,255,89,5,0,6,254,255,198,5,0,237,255,255,38,5,0,7,254,255,46,5,0,218,254,255, +57,7,0,227,251,255,160,5,0,195,251,255,88,3,0,96,252,255,243,3,0,44,253,255,104,4,0,220,252,255,117,4,0,228,252,255,44,5,0,149,253,255,236,5,0,245,253,255,185,5,0,73,252,255,245,4,0,178,251,255,182,3,0,96,252,255,169,4,0,136,252,255,89,4,0,178,250,255, +98,3,0,253,249,255,114,2,0,233,250,255,126,3,0,104,250,255,203,2,0,226,250,255,228,3,0,97,250,255,7,3,0,177,252,255,205,2,0,177,252,255,75,5,0,76,253,255,210,3,0,52,252,255,207,4,0,206,252,255,208,5,0,146,254,255,140,3,0,153,254,255,90,4,0,234,253,255, +174,5,0,183,255,255,59,5,0,240,0,0,203,6,0,70,1,0,109,6,0,39,4,0,201,7,0,150,1,0,218,6,0,85,1,0,233,8,0,57,3,0,38,8,0,227,2,0,46,10,0,72,3,0,146,9,0,1,2,0,57,9,0,203,1,0,111,10,0,61,1,0,185,9,0,35,1,0,114,8,0,215,0,0,190,8,0,33,0,0,97,8,0,207,1,0,195, +7,0,184,1,0,163,8,0,103,255,255,194,3,0,16,0,0,199,4,0,122,255,255,145,5,0,229,254,255,128,4,0,244,0,0,143,2,0,81,254,255,210,2,0,193,254,255,192,2,0,224,254,255,246,3,0,173,254,255,138,2,0,59,255,255,146,3,0,160,252,255,176,1,0,108,253,255,126,1,0,160, +253,255,157,2,0,205,253,255,103,3,0,229,251,255,52,1,0,146,252,255,67,1,0,167,250,255,232,1,0,211,252,255,146,0,0,32,252,255,187,0,0,232,249,255,125,0,0,107,252,255,228,255,255,49,252,255,151,0,0,154,253,255,191,255,255,243,252,255,231,255,255,132,252, +255,213,255,255,21,253,255,157,252,255,169,251,255,213,253,255,56,250,255,140,255,255,71,253,255,0,0,0,160,251,255,16,254,255,68,252,255,176,255,255,228,251,255,236,255,255,148,251,255,196,254,255,222,252,255,91,254,255,235,250,255,176,255,255,37,252, +255,245,0,0,220,251,255,13,0,0,197,250,255,119,0,0,1,252,255,95,1,0,224,251,255,35,0,0,33,252,255,127,0,0,118,250,255,73,0,0,152,253,255,105,1,0,254,253,255,150,1,0,37,253,255,117,4,0,136,254,255,105,4,0,169,0,0,8,3,0,212,254,255,142,3,0,226,255,255, +12,4,0,68,253,255,28,3,0,98,255,255,235,5,0,1,0,0,41,5,0,51,1,0,132,4,0,61,1,0,135,5,0,132,0,0,159,4,0,27,1,0,57,6,0,143,254,255,41,6,0,65,1,0,201,6,0,108,255,255,69,7,0,4,0,0,197,6,0,156,255,255,154,5,0,6,1,0,214,6,0,112,0,0,231,6,0,100,0,0,164,6,0, +253,255,255,238,7,0,62,0,0,214,8,0,146,1,0,223,8,0,184,255,255,20,4,0,56,0,0,207,4,0,248,0,0,101,6,0,111,0,0,41,5,0,69,1,0,67,5,0,151,2,0,183,7,0,206,1,0,186,7,0,230,1,0,137,7,0,178,1,0,191,8,0,124,2,0,42,8,0,191,1,0,145,6,0,5,3,0,25,9,0,109,2,0,104, +9,0,19,3,0,117,10,0,60,3,0,247,7,0,41,2,0,244,7,0,202,1,0,143,9,0,236,3,0,45,11,0,54,5,0,5,11,0,227,3,0,30,10,0,98,5,0,218,10,0,56,6,0,147,10,0,135,4,0,38,9,0,213,4,0,114,8,0,231,3,0,228,9,0,197,5,0,80,9,0,57,2,0,221,8,0,156,6,0,54,11,0,11,4,0,201,8, +0,219,3,0,86,8,0,20,4,0,70,7,0,42,6,0,224,7,0,15,3,0,195,6,0,73,3,0,103,7,0,139,2,0,139,5,0,171,3,0,10,7,0,30,3,0,59,5,0,172,0,0,181,3,0,186,2,0,209,6,0,192,1,0,171,5,0,196,1,0,169,3,0,7,1,0,141,4,0,151,0,0,128,5,0,181,0,0,105,5,0,79,2,0,252,6,0,233, +1,0,128,6,0,82,2,0,42,7,0,239,2,0,87,7,0,204,2,0,2,7,0,235,3,0,3,8,0,222,3,0,182,6,0,64,4,0,228,5,0,91,3,0,177,5,0,107,1,0,169,8,0,228,3,0,186,7,0,120,5,0,193,8,0,206,3,0,195,5,0,95,5,0,133,6,0,89,5,0,28,7,0,129,3,0,215,5,0,214,3,0,167,5,0,238,5,0,52, +5,0,79,2,0,4,4,0,130,6,0,50,5,0,111,2,0,26,3,0,187,3,0,5,4,0,189,1,0,65,4,0,224,2,0,58,3,0,243,0,0,148,1,0,87,1,0,126,4,0,131,0,0,77,3,0,181,1,0,53,3,0,141,1,0,191,2,0,40,0,0,71,2,0,101,255,255,86,2,0,187,0,0,130,0,0,231,254,255,124,0,0,203,254,255,77, +255,255,116,0,0,182,2,0,69,1,0,116,255,255,136,255,255,131,255,255,94,1,0,41,1,0,135,254,255,94,1,0,41,0,0,39,0,0,239,253,255,206,254,255,25,255,255,168,254,255,68,0,0,235,255,255,50,255,255,4,255,255,91,254,255,176,253,255,198,252,255,142,254,255,30, +253,255,233,252,255,72,253,255,121,253,255,179,253,255,60,252,255,28,252,255,221,253,255,210,251,255,245,252,255,223,251,255,52,250,255,212,251,255,5,253,255,99,251,255,157,251,255,55,252,255,56,252,255,99,251,255,118,250,255,145,251,255,132,251,255, +223,250,255,105,252,255,118,250,255,255,250,255,170,250,255,119,250,255,215,250,255,69,252,255,178,250,255,20,251,255,71,250,255,13,252,255,13,250,255,162,255,255,246,251,255,226,253,255,167,251,255,235,253,255,219,250,255,38,254,255,62,250,255,213,254, +255,31,251,255,166,0,0,152,250,255,253,253,255,236,250,255,189,255,255,225,250,255,7,254,255,163,250,255,155,253,255,125,251,255,74,255,255,51,252,255,252,254,255,192,249,255,127,254,255,83,252,255,1,255,255,58,252,255,46,254,255,167,251,255,193,254, +255,239,251,255,197,255,255,217,250,255,15,254,255,162,251,255,54,252,255,243,251,255,79,253,255,72,250,255,79,253,255,90,251,255,184,252,255,181,250,255,205,253,255,13,249,255,51,252,255,22,250,255,106,252,255,77,249,255,19,251,255,37,251,255,152,251, +255,105,249,255,238,252,255,192,249,255,1,251,255,108,250,255,132,251,255,190,248,255,100,248,255,122,250,255,92,252,255,24,250,255,2,250,255,103,251,255,90,251,255,94,250,255,23,251,255,73,251,255,191,251,255,16,251,255,126,252,255,140,251,255,41,253, +255,123,252,255,162,255,255,228,250,255,8,252,255,44,251,255,137,0,0,221,252,255,244,255,255,189,251,255,188,255,255,155,253,255,152,255,255,28,254,255,119,1,0,70,255,255,176,2,0,53,252,255,162,3,0,227,254,255,18,3,0,227,254,255,41,3,0,153,0,0,166,4, +0,99,1,0,53,6,0,160,0,0,49,5,0,168,1,0,216,6,0,211,2,0,242,5,0,146,1,0,208,6,0,216,3,0,7,6,0,18,3,0,120,7,0,106,2,0,103,5,0,166,3,0,155,6,0,31,3,0,28,6,0,238,2,0,177,5,0,160,3,0,56,5,0,236,2,0,61,4,0,45,2,0,13,6,0,194,2,0,3,6,0,165,3,0,251,6,0,115,4, +0,13,4,0,64,2,0,223,5,0,89,2,0,126,6,0,125,1,0,156,5,0,45,2,0,55,5,0,143,2,0,231,4,0,178,3,0,147,6,0,153,1,0,29,7,0,25,2,0,101,5,0,36,3,0,191,4,0,135,2,0,22,4,0,114,2,0,28,6,0,101,1,0,115,5,0,174,2,0,8,4,0,169,2,0,136,6,0,85,3,0,248,5,0,211,2,0,221,4, +0,18,2,0,68,4,0,138,3,0,83,4,0,230,4,0,64,6,0,217,1,0,194,7,0,135,3,0,183,9,0,155,3,0,36,6,0,174,3,0,18,9,0,164,3,0,109,8,0,3,3,0,205,8,0,6,5,0,134,9,0,91,6,0,188,10,0,215,4,0,109,9,0,216,4,0,180,10,0,91,5,0,208,10,0,161,5,0,33,9,0,187,5,0,71,9,0,7,5, +0,40,10,0,16,5,0,208,7,0,17,6,0,101,9,0,128,4,0,14,7,0,153,4,0,183,6,0,80,5,0,87,7,0,95,5,0,10,7,0,109,4,0,143,6,0,118,2,0,156,3,0,234,2,0,105,5,0,224,1,0,217,3,0,96,2,0,22,4,0,137,2,0,130,4,0,175,1,0,200,2,0,64,1,0,197,2,0,178,0,0,80,2,0,1,255,255,40, +0,0,94,255,255,138,0,0,241,255,255,50,2,0,145,254,255,181,0,0,72,254,255,181,255,255,248,253,255,111,254,255,255,253,255,116,255,255,202,252,255,60,254,255,35,252,255,252,252,255,53,252,255,118,254,255,222,251,255,113,250,255,157,251,255,143,252,255, +121,251,255,37,252,255,71,252,255,249,252,255,66,251,255,150,251,255,217,251,255,41,251,255,24,251,255,102,251,255,44,252,255,7,253,255,107,253,255,130,252,255,87,254,255,177,252,255,107,253,255,54,253,255,218,253,255,234,253,255,238,253,255,144,253, +255,158,254,255,27,0,0,79,254,255,140,255,255,220,253,255,18,254,255,157,254,255,182,0,0,226,253,255,113,255,255,187,255,255,42,0,0,226,254,255,247,0,0,136,254,255,67,1,0,79,255,255,172,1,0,65,255,255,30,0,0,144,255,255,2,1,0,228,254,255,157,1,0,89,0, +0,150,2,0,99,255,255,7,0,0,187,254,255,70,1,0,122,253,255,107,0,0,127,254,255,186,0,0,41,254,255,121,1,0,116,255,255,99,0,0,50,254,255,54,1,0,13,253,255,0,2,0,34,254,255,122,0,0,219,253,255,232,255,255,162,254,255,176,2,0,136,252,255,213,255,255,230, +255,255,194,0,0,84,253,255,143,1,0,228,253,255,103,0,0,110,252,255,119,254,255,121,253,255,141,255,255,196,252,255,87,255,255,11,250,255,61,253,255,233,250,255,134,255,255,237,251,255,60,255,255,176,251,255,27,253,255,58,252,255,247,254,255,152,251,255, +98,255,255,221,251,255,165,0,0,135,253,255,206,255,255,176,249,255,52,254,255,73,252,255,155,0,0,135,252,255,22,255,255,255,250,255,136,255,255,126,251,255,254,254,255,99,252,255,96,254,255,202,251,255,242,254,255,176,253,255,207,254,255,146,253,255, +242,0,0,205,254,255,105,1,0,66,252,255,106,252,255,205,253,255,236,255,255,22,253,255,246,254,255,146,254,255,81,0,0,121,253,255,198,253,255,89,251,255,82,255,255,177,253,255,205,254,255,210,252,255,150,253,255,68,254,255,149,253,255,136,253,255,8,253, +255,174,251,255,160,253,255,189,252,255,98,253,255,156,252,255,30,252,255,175,252,255,94,253,255,173,251,255,2,251,255,106,252,255,172,251,255,97,251,255,29,252,255,212,250,255,68,251,255,51,251,255,168,251,255,86,249,255,205,251,255,67,250,255,244,251, +255,184,250,255,181,250,255,20,251,255,40,252,255,150,249,255,201,250,255,65,250,255,178,252,255,121,249,255,115,250,255,245,250,255,108,253,255,223,249,255,188,252,255,115,251,255,199,253,255,104,250,255,153,252,255,65,251,255,205,254,255,209,250,255, +26,255,255,80,249,255,116,253,255,182,250,255,254,254,255,142,252,255,104,255,255,242,251,255,76,0,0,26,251,255,126,0,0,61,250,255,126,254,255,18,252,255,113,255,255,188,251,255,249,255,255,47,252,255,180,255,255,113,253,255,42,0,0,115,253,255,131,0, +0,99,253,255,156,255,255,27,253,255,153,254,255,64,255,255,163,254,255,255,252,255,161,253,255,22,255,255,220,255,255,1,255,255,40,254,255,90,254,255,148,254,255,220,254,255,188,255,255,139,255,255,235,255,255,171,255,255,150,255,255,196,252,255,224, +0,0,183,254,255,120,1,0,108,253,255,168,255,255,29,253,255,238,255,255,199,253,255,18,2,0,119,252,255,105,1,0,105,253,255,220,1,0,157,252,255,242,1,0,7,253,255,206,1,0,173,253,255,120,0,0,121,254,255,153,1,0,105,252,255,245,0,0,95,253,255,13,1,0,114, +253,255,229,1,0,252,253,255,157,2,0,215,252,255,214,0,0,82,253,255,226,1,0,136,253,255,129,0,0,38,254,255,109,255,255,166,253,255,203,1,0,62,254,255,180,1,0,175,253,255,123,1,0,29,253,255,216,0,0,196,254,255,227,255,255,143,252,255,197,0,0,9,253,255, +59,1,0,64,253,255,188,0,0,213,252,255,237,255,255,130,253,255,221,1,0,106,252,255,198,0,0,3,251,255,120,255,255,115,253,255,8,0,0,189,251,255,12,1,0,129,251,255,196,253,255,35,253,255,205,253,255,10,252,255,66,254,255,4,252,255,71,251,255,72,252,255, +136,254,255,107,252,255,185,252,255,186,252,255,49,253,255,240,252,255,153,252,255,163,252,255,120,252,255,35,251,255,5,251,255,17,251,255,249,250,255,176,252,255,109,251,255,184,252,255,155,251,255,99,252,255,89,250,255,104,249,255,220,250,255,93,251, +255,131,248,255,186,250,255,150,247,255,121,250,255,9,249,255,119,248,255,194,247,255,168,248,255,37,249,255,105,248,255,11,248,255,134,249,255,192,246,255,119,247,255,60,246,255,27,248,255,24,246,255,157,246,255,84,247,255,234,247,255,91,246,255,159, +246,255,122,246,255,138,247,255,130,245,255,170,245,255,190,245,255,14,246,255,105,245,255,183,247,255,131,246,255,130,245,255,212,244,255,144,244,255,46,246,255,144,245,255,9,245,255,26,243,255,13,245,255,127,245,255,115,244,255,36,246,255,230,245,255, +87,244,255,254,244,255,201,245,255,32,245,255,49,246,255,147,244,255,139,245,255,185,245,255,230,243,255,91,244,255,238,245,255,74,244,255,216,242,255,229,243,255,62,243,255,141,243,255,86,243,255,144,241,255,129,243,255,139,241,255,140,244,255,39,242, +255,35,243,255,63,241,255,85,242,255,155,241,255,192,242,255,2,241,255,245,242,255,22,241,255,27,245,255,80,241,255,164,243,255,74,240,255,237,243,255,242,240,255,139,243,255,34,242,255,220,242,255,23,243,255,11,243,255,103,241,255,175,242,255,254,240, +255,90,244,255,59,243,255,99,243,255,84,244,255,157,242,255,140,243,255,65,243,255,14,245,255,102,243,255,74,245,255,153,242,255,177,243,255,140,241,255,91,244,255,122,243,255,141,243,255,10,243,255,209,243,255,201,243,255,124,243,255,245,242,255,233, +246,255,146,243,255,36,245,255,151,243,255,184,245,255,20,244,255,94,246,255,106,244,255,241,244,255,241,245,255,204,246,255,151,243,255,158,245,255,90,245,255,152,245,255,94,246,255,29,246,255,78,245,255,197,246,255,106,247,255,128,245,255,133,246,255, +65,246,255,114,245,255,190,245,255,87,246,255,215,246,255,226,244,255,182,244,255,112,247,255,35,248,255,120,246,255,103,246,255,113,247,255,19,247,255,13,246,255,38,248,255,134,246,255,63,247,255,137,246,255,68,247,255,1,248,255,205,247,255,157,245, +255,200,247,255,202,246,255,155,247,255,217,247,255,218,247,255,102,247,255,213,247,255,179,247,255,246,245,255,106,247,255,222,247,255,131,248,255,216,246,255,225,247,255,119,247,255,103,247,255,203,246,255,18,247,255,111,247,255,111,250,255,80,250, +255,184,248,255,185,247,255,251,247,255,125,247,255,70,247,255,115,247,255,225,247,255,103,248,255,132,247,255,161,244,255,208,249,255,206,246,255,112,246,255,11,246,255,21,249,255,64,245,255,162,247,255,119,245,255,209,246,255,188,244,255,31,248,255, +138,243,255,196,246,255,244,244,255,201,247,255,120,243,255,122,247,255,0,242,255,128,247,255,106,243,255,233,246,255,96,242,255,194,245,255,63,241,255,99,244,255,66,242,255,141,245,255,200,243,255,5,245,255,63,243,255,153,244,255,248,241,255,24,246, +255,140,244,255,8,247,255,110,243,255,139,244,255,207,242,255,44,246,255,211,244,255,142,244,255,177,244,255,201,244,255,252,244,255,101,245,255,137,245,255,12,245,255,243,246,255,9,245,255,161,244,255,99,246,255,163,247,255,157,247,255,69,248,255,228, +247,255,216,247,255,38,249,255,246,248,255,170,247,255,190,247,255,89,248,255,160,248,255,243,248,255,225,250,255,99,248,255,140,249,255,254,249,255,166,250,255,165,250,255,227,248,255,39,250,255,247,251,255,177,250,255,216,249,255,103,250,255,4,251, +255,183,249,255,255,250,255,173,252,255,7,253,255,128,252,255,41,252,255,12,253,255,111,251,255,192,254,255,63,252,255,66,254,255,56,252,255,249,254,255,220,251,255,111,254,255,47,252,255,184,255,255,196,253,255,106,254,255,134,252,255,61,255,255,198, +252,255,237,255,255,139,254,255,66,255,255,185,255,255,222,255,255,4,254,255,7,1,0,199,0,0,248,253,255,45,255,255,119,1,0,18,0,0,92,0,0,159,255,255,97,0,0,127,254,255,179,255,255,66,255,255,164,0,0,254,0,0,61,2,0,88,3,0,176,255,255,13,0,0,214,2,0,154, +1,0,140,2,0,12,2,0,76,3,0,81,2,0,200,1,0,153,2,0,116,4,0,35,4,0,161,4,0,127,4,0,236,5,0,49,5,0,237,4,0,183,3,0,44,5,0,75,5,0,37,4,0,20,3,0,208,7,0,240,3,0,162,7,0,149,4,0,0,6,0,180,3,0,42,7,0,254,3,0,143,5,0,89,2,0,156,6,0,170,2,0,163,5,0,36,3,0,185, +5,0,73,1,0,131,5,0,241,0,0,128,4,0,53,1,0,255,4,0,228,255,255,224,4,0,188,255,255,191,2,0,185,254,255,151,3,0,15,254,255,6,2,0,255,253,255,200,0,0,164,252,255,147,3,0,88,253,255,19,3,0,7,255,255,91,2,0,237,251,255,210,0,0,192,251,255,125,255,255,129, +252,255,46,0,0,65,252,255,127,255,255,10,252,255,93,0,0,4,251,255,157,255,255,181,249,255,220,253,255,2,252,255,254,254,255,116,251,255,171,254,255,63,251,255,76,255,255,156,251,255,46,0,0,135,251,255,132,254,255,157,251,255,111,255,255,205,251,255,211, +255,255,166,251,255,137,0,0,165,253,255,87,255,255,81,251,255,104,1,0,141,254,255,225,0,0,66,252,255,229,255,255,38,253,255,54,1,0,136,254,255,154,0,0,40,252,255,172,0,0,217,254,255,222,0,0,224,253,255,78,2,0,16,253,255,141,255,255,102,253,255,7,2,0, +71,255,255,222,255,255,145,252,255,193,0,0,51,254,255,142,1,0,68,255,255,145,255,255,111,253,255,23,1,0,36,253,255,63,1,0,181,254,255,7,0,0,119,252,255,190,255,255,89,251,255,103,254,255,218,252,255,171,0,0,152,252,255,210,1,0,192,250,255,29,255,255, +193,250,255,240,1,0,16,252,255,73,2,0,175,251,255,178,0,0,82,252,255,236,0,0,211,251,255,61,0,0,171,251,255,193,2,0,79,253,255,63,2,0,133,250,255,43,1,0,166,251,255,122,1,0,10,253,255,184,255,255,176,251,255,84,255,255,227,251,255,170,255,255,181,252, +255,177,255,255,120,252,255,233,0,0,103,253,255,143,253,255,234,250,255,51,255,255,142,252,255,90,255,255,56,252,255,67,253,255,30,251,255,155,253,255,43,252,255,11,254,255,60,250,255,196,253,255,230,248,255,142,252,255,164,250,255,33,253,255,101,250, +255,2,253,255,98,248,255,221,251,255,236,248,255,32,253,255,51,250,255,150,253,255,85,248,255,147,252,255,46,248,255,87,254,255,140,250,255,104,254,255,124,249,255,97,254,255,41,249,255,206,254,255,240,249,255,0,253,255,201,248,255,168,253,255,252,249, +255,247,252,255,147,249,255,179,253,255,171,248,255,43,0,0,108,250,255,143,255,255,37,249,255,246,254,255,76,248,255,26,255,255,175,248,255,210,253,255,111,248,255,75,255,255,37,249,255,15,253,255,119,247,255,150,253,255,140,248,255,102,251,255,17,247, +255,36,251,255,113,247,255,154,250,255,111,246,255,49,252,255,108,245,255,200,249,255,166,244,255,15,249,255,72,245,255,86,249,255,230,243,255,244,248,255,112,242,255,140,244,255,165,240,255,149,245,255,172,240,255,197,245,255,240,239,255,28,244,255, +119,238,255,92,245,255,119,238,255,152,245,255,209,237,255,13,244,255,76,236,255,113,244,255,8,237,255,37,244,255,9,236,255,104,244,255,192,235,255,0,243,255,44,236,255,74,244,255,165,236,255,163,244,255,159,236,255,119,242,255,25,236,255,68,244,255, +143,236,255,181,244,255,245,235,255,219,244,255,188,236,255,136,243,255,107,236,255,49,245,255,244,237,255,85,244,255,145,236,255,171,243,255,51,239,255,96,245,255,203,237,255,48,244,255,136,238,255,47,244,255,237,238,255,177,244,255,187,238,255,209, +244,255,100,239,255,227,243,255,129,240,255,6,245,255,30,239,255,143,244,255,80,240,255,110,244,255,232,238,255,65,245,255,199,240,255,203,244,255,189,240,255,72,245,255,118,240,255,164,245,255,41,242,255,229,244,255,224,243,255,95,245,255,98,242,255, +30,245,255,29,243,255,177,244,255,229,242,255,69,244,255,70,242,255,149,244,255,100,244,255,51,244,255,190,241,255,79,245,255,106,242,255,103,245,255,51,243,255,230,244,255,240,242,255,87,244,255,224,241,255,224,244,255,2,243,255,37,246,255,206,241,255, +150,244,255,147,243,255,184,246,255,155,243,255,221,247,255,25,243,255,77,248,255,26,243,255,96,247,255,171,242,255,170,247,255,64,244,255,121,250,255,239,244,255,251,248,255,150,242,255,72,251,255,240,245,255,182,248,255,210,245,255,151,252,255,68,245, +255,18,250,255,231,243,255,119,251,255,28,247,255,7,252,255,31,246,255,23,251,255,133,246,255,96,251,255,38,247,255,74,252,255,151,246,255,183,249,255,120,247,255,227,250,255,6,248,255,0,252,255,153,249,255,198,251,255,29,249,255,179,250,255,208,247, +255,86,249,255,181,248,255,243,250,255,174,248,255,41,251,255,69,251,255,13,249,255,66,248,255,104,250,255,115,248,255,102,252,255,145,249,255,126,251,255,148,248,255,244,250,255,187,247,255,19,252,255,130,250,255,234,250,255,165,249,255,119,251,255, +80,250,255,210,252,255,93,249,255,6,253,255,69,250,255,146,252,255,198,250,255,173,252,255,243,248,255,22,254,255,27,250,255,95,253,255,47,250,255,58,254,255,130,250,255,46,254,255,104,251,255,123,254,255,219,251,255,167,254,255,134,250,255,20,254,255, +203,251,255,211,254,255,51,251,255,32,0,0,44,250,255,108,255,255,177,250,255,117,253,255,111,249,255,7,254,255,48,250,255,218,253,255,81,249,255,192,252,255,117,251,255,246,253,255,53,250,255,75,254,255,10,249,255,11,251,255,238,249,255,77,252,255,185, +250,255,203,253,255,189,247,255,18,253,255,65,248,255,15,253,255,88,249,255,86,252,255,253,250,255,46,254,255,154,250,255,41,254,255,2,252,255,123,253,255,24,251,255,104,254,255,18,254,255,15,254,255,234,251,255,81,254,255,9,254,255,6,254,255,172,252, +255,191,254,255,146,252,255,109,255,255,49,252,255,27,253,255,177,253,255,160,254,255,107,253,255,113,255,255,0,254,255,49,0,0,181,255,255,209,254,255,182,253,255,119,255,255,241,253,255,218,254,255,229,254,255,14,255,255,95,254,255,128,254,255,141,255, +255,122,254,255,47,255,255,246,254,255,107,254,255,248,255,255,202,255,255,99,255,255,47,254,255,162,253,255,95,254,255,221,253,255,35,255,255,120,255,255,181,0,0,87,255,255,103,254,255,203,0,0,226,255,255,177,1,0,158,0,0,83,255,255,165,255,255,241,0, +0,234,1,0,42,0,0,138,1,0,18,3,0,118,3,0,111,1,0,146,2,0,124,3,0,23,3,0,239,2,0,45,3,0,207,2,0,196,2,0,8,5,0,63,3,0,239,3,0,59,4,0,182,5,0,22,4,0,201,5,0,160,5,0,179,5,0,50,5,0,7,5,0,171,2,0,247,7,0,210,4,0,49,6,0,131,4,0,120,6,0,128,5,0,102,6,0,46,5, +0,230,6,0,25,5,0,25,7,0,26,6,0,191,5,0,165,5,0,81,5,0,139,4,0,196,5,0,51,4,0,110,4,0,182,2,0,84,3,0,106,2,0,219,2,0,92,2,0,69,2,0,56,2,0,121,3,0,140,0,0,174,2,0,222,255,255,237,1,0,57,1,0,194,1,0,233,0,0,27,0,0,91,254,255,34,0,0,52,2,0,150,1,0,9,0,0, +244,255,255,64,254,255,247,255,255,51,255,255,217,255,255,186,254,255,68,255,255,196,255,255,147,253,255,138,254,255,42,255,255,91,255,255,44,253,255,52,255,255,138,253,255,67,0,0,108,255,255,35,1,0,129,255,255,171,0,0,169,254,255,0,254,255,117,255,255, +4,2,0,60,254,255,159,0,0,103,255,255,107,0,0,203,254,255,194,0,0,202,254,255,23,0,0,104,254,255,178,1,0,147,255,255,0,255,255,149,255,255,218,255,255,121,255,255,174,255,255,23,255,255,43,253,255,161,255,255,172,253,255,251,255,255,141,253,255,86,255, +255,79,253,255,5,255,255,235,252,255,93,254,255,83,252,255,35,254,255,209,253,255,127,254,255,65,252,255,129,254,255,233,249,255,120,252,255,114,248,255,245,251,255,24,248,255,128,252,255,218,248,255,129,251,255,170,246,255,247,251,255,197,248,255,66, +252,255,162,247,255,117,251,255,28,247,255,247,248,255,61,248,255,154,250,255,122,247,255,162,250,255,8,248,255,214,248,255,108,247,255,23,250,255,18,249,255,206,247,255,24,248,255,44,249,255,59,248,255,126,247,255,33,248,255,50,249,255,99,248,255,67, +248,255,20,249,255,67,248,255,253,248,255,218,246,255,17,249,255,100,249,255,71,250,255,128,247,255,67,250,255,65,247,255,147,251,255,234,247,255,129,252,255,245,246,255,59,251,255,32,248,255,54,251,255,17,247,255,190,251,255,95,248,255,11,254,255,47, +247,255,32,253,255,141,250,255,154,254,255,123,247,255,238,253,255,227,250,255,111,255,255,27,250,255,132,0,0,45,249,255,228,255,255,246,250,255,9,0,0,250,250,255,11,0,0,187,250,255,17,1,0,245,251,255,140,0,0,147,250,255,186,255,255,128,252,255,153,0, +0,114,252,255,253,254,255,153,251,255,254,254,255,29,250,255,193,254,255,255,251,255,237,254,255,80,250,255,40,252,255,212,251,255,89,253,255,149,252,255,223,252,255,160,250,255,255,252,255,196,249,255,76,251,255,21,250,255,232,252,255,121,251,255,59, +253,255,35,249,255,150,253,255,10,250,255,169,253,255,132,251,255,215,254,255,237,249,255,204,253,255,125,250,255,96,255,255,46,250,255,208,253,255,5,251,255,63,255,255,237,248,255,59,254,255,108,251,255,204,255,255,112,251,255,65,0,0,137,249,255,225, +254,255,42,252,255,56,0,0,146,252,255,173,2,0,186,250,255,34,0,0,49,251,255,12,1,0,82,250,255,227,255,255,225,251,255,4,1,0,164,251,255,149,2,0,149,251,255,218,1,0,144,254,255,234,2,0,14,252,255,13,2,0,176,253,255,102,2,0,39,254,255,200,2,0,9,255,255, +69,2,0,124,254,255,144,1,0,35,254,255,2,2,0,111,254,255,185,1,0,43,254,255,123,1,0,161,253,255,102,1,0,173,254,255,229,0,0,39,254,255,66,3,0,48,253,255,178,255,255,21,253,255,156,255,255,127,254,255,107,0,0,214,252,255,230,254,255,114,249,255,170,253, +255,124,251,255,133,253,255,33,251,255,64,254,255,175,249,255,235,252,255,207,248,255,132,249,255,107,249,255,160,251,255,129,247,255,251,250,255,240,246,255,64,250,255,184,247,255,183,250,255,9,247,255,66,250,255,171,245,255,204,250,255,68,246,255,157, +250,255,238,246,255,45,249,255,177,245,255,8,250,255,128,246,255,203,250,255,179,246,255,128,250,255,6,247,255,142,250,255,50,248,255,123,251,255,104,247,255,70,251,255,65,248,255,4,253,255,123,246,255,25,253,255,56,247,255,71,252,255,202,248,255,14, +255,255,54,248,255,246,254,255,28,249,255,145,255,255,51,249,255,153,254,255,186,248,255,7,0,0,194,248,255,214,0,0,86,249,255,33,0,0,17,250,255,184,255,255,157,249,255,64,0,0,47,251,255,209,255,255,241,248,255,248,0,0,62,248,255,205,255,255,3,250,255, +135,254,255,185,249,255,166,254,255,28,250,255,94,254,255,101,250,255,88,253,255,137,247,255,184,252,255,245,249,255,217,252,255,151,248,255,179,252,255,124,248,255,142,251,255,134,248,255,14,253,255,75,247,255,236,251,255,205,247,255,148,250,255,76, +248,255,215,251,255,214,244,255,33,251,255,53,247,255,36,251,255,121,246,255,211,250,255,247,245,255,105,251,255,251,245,255,120,250,255,64,244,255,120,251,255,213,245,255,124,250,255,162,245,255,188,250,255,38,245,255,200,250,255,18,245,255,141,251, +255,65,244,255,220,250,255,39,243,255,22,250,255,218,243,255,3,251,255,65,243,255,183,251,255,185,244,255,27,251,255,112,243,255,198,250,255,182,245,255,253,251,255,52,245,255,219,252,255,218,244,255,231,251,255,85,246,255,169,252,255,151,246,255,155, +252,255,16,246,255,56,251,255,242,244,255,7,252,255,251,245,255,160,252,255,8,247,255,160,253,255,214,248,255,149,252,255,167,246,255,29,253,255,121,247,255,182,252,255,37,248,255,162,254,255,225,247,255,211,254,255,198,247,255,11,0,0,163,247,255,157, +254,255,243,246,255,90,254,255,57,248,255,179,255,255,90,249,255,55,255,255,206,248,255,49,255,255,29,248,255,21,0,0,178,248,255,128,254,255,111,249,255,238,255,255,180,248,255,60,255,255,2,248,255,219,255,255,189,248,255,105,254,255,141,248,255,98,254, +255,117,248,255,88,255,255,154,248,255,104,254,255,77,247,255,199,253,255,25,248,255,222,254,255,14,245,255,166,252,255,39,247,255,59,253,255,142,244,255,96,252,255,20,245,255,74,253,255,88,243,255,14,251,255,192,243,255,120,252,255,18,244,255,147,251, +255,130,244,255,217,252,255,128,243,255,116,252,255,2,245,255,9,253,255,186,244,255,251,253,255,96,244,255,162,252,255,116,244,255,188,253,255,252,244,255,42,254,255,74,245,255,14,255,255,228,246,255,202,0,0,233,246,255,187,255,255,2,247,255,113,255, +255,242,246,255,123,255,255,211,247,255,88,255,255,37,247,255,178,1,0,169,247,255,65,0,0,155,247,255,91,1,0,16,248,255,43,0,0,197,246,255,205,255,255,178,248,255,57,0,0,139,247,255,7,1,0,248,247,255,31,2,0,235,248,255,7,1,0,183,248,255,15,1,0,189,248, +255,4,2,0,56,249,255,129,1,0,131,250,255,17,3,0,196,248,255,19,2,0,91,249,255,25,3,0,19,250,255,250,1,0,187,250,255,14,5,0,177,249,255,107,3,0,108,251,255,5,4,0,100,251,255,60,5,0,155,250,255,162,4,0,177,251,255,10,6,0,238,250,255,100,6,0,44,253,255, +29,5,0,100,252,255,109,6,0,25,253,255,181,5,0,224,252,255,75,7,0,242,253,255,190,4,0,231,252,255,25,6,0,139,253,255,200,6,0,172,254,255,113,7,0,146,255,255,62,7,0,101,254,255,19,6,0,182,0,0,34,6,0,18,0,0,209,4,0,212,254,255,54,5,0,134,0,0,113,6,0,243, +0,0,198,6,0,51,0,0,78,6,0,228,253,255,156,5,0,161,0,0,46,7,0,97,255,255,190,6,0,48,254,255,250,7,0,38,255,255,75,8,0,220,254,255,52,8,0,165,255,255,99,8,0,33,255,255,69,11,0,246,254,255,95,9,0,241,255,255,234,10,0,171,254,255,78,11,0,91,0,0,50,12,0,157, +0,0,11,13,0,97,255,255,207,11,0,252,0,0,148,14,0,210,255,255,247,12,0,225,1,0,199,12,0,41,2,0,159,13,0,234,1,0,25,13,0,252,2,0,143,14,0,50,2,0,149,13,0,83,2,0,3,14,0,228,4,0,169,14,0,129,3,0,180,13,0,151,4,0,52,16,0,243,3,0,169,14,0,141,3,0,47,13,0,181, +4,0,184,13,0,70,4,0,250,12,0,3,4,0,252,13,0,113,4,0,174,13,0,26,4,0,100,12,0,20,6,0,127,13,0,59,5,0,177,11,0,97,5,0,109,12,0,25,6,0,87,13,0,99,5,0,136,13,0,196,5,0,229,11,0,97,5,0,0,14,0,178,4,0,241,11,0,74,5,0,134,14,0,126,6,0,215,14,0,142,4,0,148,14, +0,66,5,0,140,15,0,235,4,0,158,14,0,63,6,0,15,14,0,115,5,0,247,13,0,193,6,0,126,15,0,70,4,0,81,14,0,130,6,0,239,14,0,87,5,0,117,15,0,121,5,0,105,15,0,105,5,0,177,15,0,114,5,0,45,15,0,201,6,0,110,14,0,52,5,0,201,14,0,129,4,0,158,14,0,62,4,0,41,13,0,43, +5,0,131,13,0,233,2,0,115,13,0,123,3,0,191,13,0,241,2,0,21,12,0,187,1,0,185,11,0,45,3,0,55,11,0,38,4,0,147,11,0,17,3,0,8,10,0,212,1,0,212,10,0,171,3,0,24,10,0,19,3,0,164,10,0,201,1,0,105,10,0,221,1,0,105,9,0,110,1,0,60,10,0,32,2,0,137,8,0,37,2,0,245,10, +0,20,1,0,103,9,0,138,1,0,198,10,0,187,1,0,254,10,0,251,1,0,58,10,0,69,3,0,170,11,0,147,1,0,171,10,0,32,4,0,134,12,0,187,3,0,252,10,0,206,2,0,197,10,0,7,4,0,175,11,0,167,3,0,150,11,0,58,4,0,243,11,0,240,4,0,179,11,0,104,4,0,120,11,0,26,4,0,154,12,0,86, +5,0,29,13,0,57,6,0,57,12,0,186,4,0,68,11,0,24,3,0,253,10,0,157,4,0,253,12,0,97,4,0,205,10,0,165,3,0,140,12,0,185,2,0,240,10,0,250,2,0,72,11,0,230,3,0,71,11,0,8,2,0,155,10,0,102,1,0,104,9,0,53,3,0,73,9,0,14,3,0,220,9,0,241,1,0,249,8,0,203,1,0,245,7,0, +124,1,0,18,8,0,26,1,0,136,7,0,132,0,0,183,7,0,219,1,0,30,7,0,56,0,0,234,5,0,130,1,0,118,7,0,117,0,0,101,6,0,190,0,0,81,6,0,219,0,0,121,6,0,191,1,0,85,6,0,247,254,255,61,6,0,145,1,0,21,6,0,19,0,0,124,5,0,90,0,0,49,5,0,89,0,0,206,3,0,69,255,255,236,4,0, +196,253,255,73,3,0,113,0,0,144,5,0,230,254,255,89,3,0,52,254,255,19,3,0,109,255,255,4,3,0,25,255,255,200,3,0,28,254,255,18,3,0,1,254,255,231,2,0,120,253,255,29,2,0,106,255,255,45,3,0,119,254,255,6,1,0,86,253,255,197,3,0,121,252,255,154,1,0,152,253,255, +96,1,0,53,252,255,155,2,0,153,253,255,140,2,0,144,254,255,96,1,0,216,252,255,77,1,0,45,254,255,176,1,0,155,253,255,116,2,0,10,253,255,59,1,0,65,252,255,79,0,0,204,252,255,54,0,0,133,253,255,71,0,0,196,253,255,134,255,255,148,253,255,177,255,255,125,254, +255,30,255,255,146,254,255,48,1,0,63,253,255,188,0,0,229,253,255,37,1,0,28,252,255,95,0,0,195,252,255,171,2,0,250,253,255,107,1,0,50,254,255,238,1,0,186,253,255,89,3,0,31,253,255,146,2,0,113,254,255,130,3,0,200,255,255,106,4,0,131,255,255,250,3,0,2,254, +255,246,3,0,242,254,255,96,4,0,0,1,0,194,6,0,55,0,0,37,5,0,243,0,0,196,5,0,148,0,0,119,6,0,22,2,0,24,7,0,196,1,0,140,7,0,175,2,0,110,7,0,165,2,0,4,8,0,126,3,0,135,9,0,218,4,0,31,7,0,120,5,0,171,10,0,187,3,0,16,8,0,247,5,0,188,10,0,129,5,0,157,10,0,114, +5,0,122,9,0,155,7,0,203,11,0,211,5,0,210,10,0,41,7,0,208,10,0,60,6,0,61,10,0,196,5,0,226,10,0,241,5,0,255,9,0,213,4,0,120,10,0,94,6,0,197,8,0,182,6,0,11,11,0,212,4,0,104,9,0,254,4,0,242,8,0,7,5,0,238,7,0,233,4,0,41,8,0,236,4,0,63,7,0,138,5,0,243,7,0, +5,3,0,116,6,0,99,4,0,91,6,0,73,4,0,53,7,0,39,4,0,224,6,0,14,5,0,129,6,0,235,4,0,169,5,0,9,4,0,129,6,0,63,5,0,48,6,0,17,4,0,252,5,0,195,3,0,63,5,0,240,4,0,33,7,0,112,4,0,192,5,0,197,3,0,135,5,0,226,4,0,46,6,0,205,4,0,106,5,0,85,5,0,83,5,0,87,4,0,64,5, +0,155,4,0,217,6,0,115,5,0,65,6,0,119,4,0,37,6,0,181,4,0,229,5,0,59,5,0,184,6,0,154,4,0,83,7,0,232,4,0,218,6,0,67,6,0,32,7,0,50,6,0,93,7,0,147,4,0,182,7,0,251,6,0,43,7,0,124,5,0,254,6,0,80,5,0,144,7,0,5,4,0,196,6,0,132,4,0,47,7,0,26,5,0,174,5,0,29,5,0, +158,5,0,172,4,0,140,5,0,21,6,0,185,4,0,112,4,0,131,4,0,199,2,0,138,5,0,89,4,0,119,4,0,69,4,0,244,2,0,217,4,0,89,4,0,91,2,0,198,4,0,97,3,0,66,3,0,60,2,0,166,3,0,98,3,0,236,3,0,136,2,0,217,2,0,183,4,0,222,3,0,237,1,0,48,3,0,89,3,0,200,1,0,54,3,0,113,2, +0,107,4,0,95,2,0,181,2,0,20,3,0,245,2,0,206,2,0,19,3,0,8,3,0,51,3,0,218,1,0,211,3,0,158,3,0,216,3,0,72,3,0,188,3,0,98,3,0,119,4,0,89,4,0,130,3,0,99,3,0,178,4,0,71,4,0,149,3,0,97,3,0,90,4,0,225,4,0,92,5,0,2,6,0,145,5,0,132,5,0,171,5,0,31,5,0,9,5,0,29, +5,0,41,6,0,199,6,0,48,5,0,154,4,0,255,5,0,112,4,0,149,5,0,220,4,0,164,4,0,77,4,0,249,6,0,9,6,0,15,6,0,34,5,0,80,6,0,208,4,0,60,5,0,56,5,0,164,4,0,0,5,0,244,4,0,205,4,0,42,4,0,165,4,0,23,4,0,114,5,0,190,2,0,196,3,0,236,3,0,103,4,0,204,1,0,1,2,0,35,2,0, +23,3,0,14,2,0,178,2,0,58,2,0,127,3,0,90,2,0,168,3,0,42,2,0,138,2,0,0,2,0,224,2,0,197,2,0,182,3,0,84,1,0,126,3,0,213,1,0,118,2,0,22,3,0,216,3,0,228,2,0,250,3,0,52,4,0,44,3,0,245,4,0,6,5,0,185,2,0,25,5,0,189,5,0,143,5,0,55,6,0,2,5,0,161,5,0,98,5,0,1,6, +0,146,4,0,146,7,0,181,5,0,163,8,0,159,5,0,110,7,0,199,5,0,253,8,0,49,7,0,15,9,0,221,5,0,203,7,0,226,5,0,49,9,0,79,6,0,187,7,0,15,6,0,229,9,0,133,5,0,84,10,0,251,6,0,123,8,0,154,5,0,211,9,0,32,6,0,169,9,0,33,7,0,171,9,0,222,4,0,28,9,0,217,5,0,185,8,0, +122,6,0,35,9,0,213,5,0,221,9,0,7,7,0,101,9,0,75,7,0,238,8,0,253,7,0,26,9,0,68,8,0,159,7,0,90,8,0,118,7,0,239,8,0,12,9,0,228,8,0,206,8,0,255,7,0,84,9,0,140,8,0,169,8,0,61,9,0,113,9,0,203,8,0,143,8,0,114,7,0,66,8,0,122,8,0,223,8,0,72,7,0,48,9,0,18,8,0, +143,8,0,223,7,0,193,8,0,130,7,0,167,9,0,160,7,0,65,7,0,241,5,0,157,8,0,85,7,0,215,8,0,234,5,0,79,9,0,29,6,0,105,9,0,150,4,0,32,8,0,54,4,0,66,8,0,160,4,0,3,8,0,120,4,0,158,9,0,38,5,0,134,10,0,201,3,0,23,9,0,175,4,0,65,8,0,36,3,0,86,8,0,19,4,0,21,9,0,114, +4,0,86,9,0,202,4,0,43,7,0,220,3,0,161,8,0,87,3,0,42,9,0,209,4,0,237,7,0,132,4,0,16,8,0,49,5,0,108,9,0,69,4,0,40,8,0,188,4,0,241,8,0,238,4,0,55,8,0,213,3,0,206,8,0,223,5,0,113,8,0,106,4,0,230,7,0,189,4,0,172,7,0,40,4,0,236,7,0,53,5,0,165,8,0,191,4,0,36, +7,0,31,5,0,139,7,0,6,6,0,145,7,0,58,4,0,219,7,0,175,3,0,113,7,0,9,5,0,98,7,0,196,4,0,22,8,0,62,4,0,108,7,0,183,2,0,253,6,0,205,2,0,97,8,0,219,1,0,235,6,0,167,2,0,24,8,0,236,2,0,33,7,0,163,1,0,4,8,0,168,3,0,79,8,0,195,1,0,164,6,0,240,2,0,52,7,0,22,2,0, +230,6,0,246,1,0,19,6,0,1,3,0,108,7,0,71,3,0,35,7,0,206,1,0,136,6,0,84,2,0,19,7,0,230,1,0,7,7,0,33,2,0,157,5,0,202,1,0,225,5,0,23,2,0,194,6,0,198,2,0,8,8,0,170,1,0,182,6,0,79,2,0,241,6,0,135,0,0,211,5,0,236,0,0,213,5,0,221,255,255,8,7,0,160,1,0,183,5, +0,166,255,255,160,5,0,187,255,255,24,7,0,164,255,255,169,6,0,155,255,255,16,5,0,215,255,255,10,6,0,175,255,255,230,6,0,243,255,255,125,6,0,13,254,255,132,5,0,96,255,255,28,5,0,209,254,255,225,5,0,230,255,255,228,5,0,244,255,255,96,4,0,94,254,255,189, +5,0,79,255,255,147,5,0,101,255,255,93,6,0,111,255,255,201,4,0,48,255,255,124,4,0,60,254,255,215,4,0,60,255,255,246,4,0,167,254,255,22,5,0,127,254,255,213,5,0,148,253,255,93,5,0,160,253,255,97,4,0,131,254,255,67,5,0,81,253,255,54,4,0,73,252,255,132,3, +0,88,252,255,81,4,0,55,253,255,12,4,0,9,253,255,155,3,0,174,252,255,220,2,0,248,250,255,15,2,0,36,251,255,204,2,0,112,252,255,244,1,0,42,251,255,176,0,0,191,252,255,64,255,255,82,249,255,221,254,255,138,249,255,36,255,255,147,248,255,172,255,255,220, +249,255,83,255,255,208,248,255,92,253,255,149,248,255,227,252,255,219,245,255,54,253,255,192,247,255,205,253,255,73,248,255,186,253,255,198,247,255,72,253,255,199,247,255,124,254,255,161,247,255,179,251,255,151,246,255,47,254,255,175,248,255,127,253, +255,113,247,255,244,253,255,5,247,255,23,255,255,127,249,255,114,252,255,75,247,255,66,254,255,132,247,255,244,254,255,224,248,255,247,254,255,195,248,255,57,255,255,42,247,255,105,255,255,251,247,255,65,1,0,118,249,255,137,253,255,208,247,255,22,255, +255,115,248,255,16,254,255,12,248,255,239,254,255,150,247,255,126,254,255,47,248,255,120,255,255,247,248,255,35,253,255,42,246,255,79,254,255,202,246,255,129,252,255,8,246,255,49,253,255,6,247,255,176,253,255,172,245,255,61,253,255,133,246,255,56,253, +255,54,246,255,252,251,255,203,245,255,150,252,255,124,245,255,15,253,255,215,245,255,111,251,255,141,245,255,107,251,255,79,245,255,126,251,255,114,245,255,218,249,255,245,243,255,184,252,255,139,245,255,112,250,255,208,244,255,131,252,255,36,245,255, +110,250,255,188,243,255,29,251,255,153,245,255,94,252,255,123,246,255,78,252,255,175,245,255,216,254,255,198,245,255,252,252,255,177,247,255,118,251,255,53,247,255,218,253,255,0,249,255,6,254,255,157,247,255,177,253,255,24,248,255,62,253,255,166,247, +255,12,254,255,88,250,255,25,254,255,119,250,255,16,254,255,72,250,255,252,253,255,90,249,255,195,253,255,74,250,255,65,255,255,141,251,255,67,255,255,144,250,255,31,254,255,157,250,255,105,255,255,102,250,255,65,255,255,185,249,255,37,0,0,201,250,255, +83,255,255,156,251,255,183,254,255,70,250,255,207,0,0,68,251,255,3,1,0,67,252,255,132,0,0,41,251,255,203,255,255,190,251,255,216,255,255,171,252,255,249,1,0,80,253,255,111,0,0,145,252,255,121,2,0,75,253,255,43,0,0,68,252,255,26,1,0,131,254,255,92,2,0, +17,253,255,36,1,0,39,254,255,54,2,0,80,254,255,211,1,0,120,254,255,190,0,0,223,253,255,191,255,255,234,253,255,105,1,0,177,254,255,69,0,0,98,253,255,223,0,0,70,253,255,24,1,0,206,252,255,85,1,0,135,253,255,232,0,0,88,252,255,37,2,0,155,253,255,240,0, +0,219,252,255,161,2,0,104,255,255,90,1,0,141,252,255,55,2,0,143,252,255,192,1,0,29,254,255,247,2,0,224,253,255,85,2,0,198,253,255,114,3,0,177,253,255,170,3,0,106,253,255,91,3,0,23,255,255,214,3,0,90,255,255,28,4,0,11,255,255,198,4,0,146,255,255,134,4, +0,87,255,255,96,4,0,43,0,0,113,4,0,102,0,0,86,3,0,1,1,0,228,3,0,232,1,0,158,3,0,180,0,0,117,3,0,172,0,0,146,3,0,170,0,0,105,4,0,239,1,0,43,4,0,140,1,0,68,2,0,157,255,255,156,3,0,240,255,255,152,3,0,225,254,255,252,2,0,46,254,255,100,3,0,3,255,255,246, +1,0,129,253,255,192,0,0,46,254,255,199,0,0,245,251,255,49,1,0,213,252,255,213,0,0,198,250,255,119,1,0,216,250,255,34,0,0,125,249,255,146,254,255,34,249,255,8,255,255,159,250,255,179,253,255,253,247,255,34,255,255,81,247,255,233,253,255,149,247,255,207, +252,255,52,248,255,217,252,255,184,246,255,135,252,255,43,247,255,177,252,255,175,246,255,61,252,255,238,246,255,59,253,255,38,246,255,206,252,255,184,247,255,113,254,255,60,247,255,72,253,255,197,247,255,4,253,255,223,247,255,250,253,255,223,247,255, +47,254,255,9,249,255,200,254,255,238,248,255,248,253,255,151,249,255,229,254,255,0,252,255,120,0,0,47,252,255,217,255,255,95,252,255,254,255,255,54,253,255,76,0,0,164,253,255,227,255,255,170,254,255,21,1,0,131,254,255,204,0,0,86,0,0,87,1,0,39,255,255, +6,2,0,237,255,255,165,3,0,132,0,0,115,1,0,29,255,255,68,2,0,186,0,0,218,1,0,135,255,255,172,2,0,70,255,255,46,1,0,172,254,255,220,1,0,167,255,255,195,0,0,103,254,255,130,0,0,142,253,255,119,0,0,62,253,255,85,255,255,151,252,255,148,1,0,168,252,255,51, +0,0,128,250,255,62,254,255,43,252,255,17,255,255,62,251,255,90,255,255,135,251,255,17,255,255,122,252,255,99,255,255,197,250,255,130,254,255,122,249,255,250,254,255,247,250,255,77,255,255,3,250,255,65,255,255,20,251,255,154,255,255,89,250,255,159,0,0, +191,252,255,164,254,255,246,251,255,187,254,255,54,253,255,106,0,0,2,252,255,164,1,0,107,252,255,238,0,0,182,252,255,103,1,0,75,253,255,128,1,0,225,253,255,123,0,0,153,253,255,95,0,0,35,254,255,205,1,0,191,254,255,42,3,0,144,254,255,253,1,0,54,255,255, +72,3,0,161,255,255,60,3,0,228,255,255,227,3,0,197,0,0,143,4,0,122,1,0,234,3,0,99,2,0,25,5,0,173,2,0,196,4,0,0,2,0,226,4,0,244,2,0,43,5,0,136,2,0,166,4,0,75,3,0,202,5,0,202,4,0,89,5,0,126,3,0,228,5,0,12,4,0,214,4,0,3,4,0,183,4,0,127,3,0,95,5,0,90,4,0, +58,5,0,1,4,0,42,3,0,77,3,0,166,4,0,232,3,0,22,4,0,245,3,0,253,3,0,195,3,0,252,3,0,160,3,0,121,3,0,90,4,0,34,4,0,255,2,0,199,4,0,172,2,0,44,5,0,96,3,0,97,3,0,140,2,0,162,3,0,96,2,0,170,4,0,85,1,0,219,3,0,59,2,0,140,4,0,144,1,0,204,3,0,87,0,0,33,5,0,219, +1,0,23,3,0,77,2,0,240,2,0,238,0,0,224,2,0,240,0,0,224,2,0,226,255,255,116,3,0,50,0,0,35,2,0,159,255,255,31,1,0,200,254,255,104,1,0,84,255,255,245,1,0,29,255,255,76,0,0,40,254,255,128,1,0,43,254,255,135,0,0,234,253,255,88,255,255,122,253,255,53,255,255, +35,253,255,85,255,255,73,254,255,103,0,0,58,254,255,81,254,255,44,253,255,220,254,255,243,252,255,100,254,255,47,253,255,157,254,255,136,254,255,155,255,255,214,253,255,106,0,0,224,252,255,16,255,255,86,253,255,8,255,255,76,253,255,103,0,0,59,254,255, +139,255,255,21,255,255,15,255,255,180,254,255,216,254,255,250,254,255,241,255,255,140,254,255,79,255,255,239,254,255,146,255,255,74,255,255,62,0,0,32,255,255,220,255,255,117,254,255,192,255,255,12,254,255,139,1,0,160,254,255,60,254,255,131,252,255,235, +254,255,250,252,255,244,254,255,64,252,255,40,255,255,18,253,255,84,254,255,178,252,255,210,254,255,185,252,255,110,253,255,78,252,255,191,254,255,64,253,255,178,254,255,184,252,255,177,253,255,157,252,255,139,254,255,170,252,255,57,254,255,43,252,255, +212,254,255,55,252,255,60,253,255,230,252,255,201,253,255,255,253,255,24,255,255,62,253,255,240,254,255,253,253,255,214,253,255,219,254,255,66,254,255,55,254,255,243,253,255,223,253,255,203,253,255,27,255,255,59,254,255,65,0,0,248,254,255,92,0,0,8,255, +255,1,255,255,72,255,255,24,0,0,166,255,255,196,1,0,172,255,255,241,0,0,87,255,255,22,1,0,252,255,255,66,1,0,240,0,0,182,1,0,67,255,255,142,0,0,163,255,255,190,1,0,94,0,0,45,1,0,89,0,0,212,1,0,234,1,0,40,3,0,185,0,0,114,1,0,41,1,0,252,0,0,236,0,0,136, +0,0,164,1,0,114,1,0,163,1,0,154,0,0,166,1,0,47,1,0,251,1,0,233,1,0,248,255,255,97,1,0,95,2,0,128,2,0,204,0,0,123,1,0,34,1,0,149,1,0,255,0,0,194,0,0,228,0,0,252,0,0,29,1,0,153,1,0,238,0,0,41,1,0,242,1,0,235,1,0,79,1,0,54,0,0,190,0,0,26,1,0,253,1,0,194, +1,0,1,2,0,33,0,0,86,1,0,1,1,0,127,1,0,208,0,0,27,1,0,248,0,0,185,1,0,24,1,0,134,2,0,37,1,0,211,2,0,209,1,0,203,2,0,186,2,0,86,3,0,32,3,0,87,2,0,239,1,0,26,3,0,124,3,0,62,2,0,100,3,0,68,3,0,42,3,0,196,3,0,186,3,0,250,4,0,125,4,0,90,3,0,175,4,0,87,4,0, +191,5,0,178,3,0,138,5,0,155,3,0,109,4,0,179,4,0,32,5,0,31,3,0,204,4,0,145,4,0,195,5,0,20,4,0,68,5,0,183,4,0,49,6,0,80,3,0,145,5,0,152,3,0,155,5,0,59,4,0,253,5,0,104,3,0,123,6,0,62,4,0,168,5,0,207,3,0,112,6,0,94,4,0,222,5,0,164,3,0,28,7,0,48,4,0,210,6, +0,166,2,0,17,6,0,130,4,0,218,7,0,132,3,0,209,5,0,138,3,0,61,6,0,0,5,0,135,5,0,195,2,0,198,4,0,52,3,0,131,5,0,251,2,0,105,4,0,200,3,0,39,5,0,101,4,0,70,5,0,134,3,0,108,4,0,38,3,0,111,4,0,7,2,0,199,3,0,109,3,0,40,4,0,38,3,0,168,5,0,201,2,0,126,4,0,215, +2,0,220,4,0,161,1,0,64,5,0,129,2,0,161,4,0,53,2,0,56,5,0,203,2,0,149,5,0,164,3,0,100,6,0,217,1,0,23,4,0,124,2,0,162,4,0,206,1,0,215,4,0,60,2,0,16,5,0,244,2,0,12,5,0,222,3,0,1,7,0,29,3,0,146,4,0,29,3,0,85,4,0,105,3,0,71,4,0,241,2,0,77,4,0,154,2,0,62,4, +0,189,3,0,43,4,0,5,3,0,19,4,0,149,5,0,128,5,0,202,3,0,157,4,0,205,4,0,167,4,0,181,4,0,102,4,0,97,4,0,29,4,0,12,4,0,133,5,0,60,4,0,138,4,0,160,4,0,191,5,0,90,3,0,142,5,0,230,4,0,190,5,0,192,3,0,55,6,0,29,5,0,44,7,0,69,4,0,22,6,0,251,4,0,65,6,0,145,4,0, +142,7,0,13,5,0,87,7,0,85,4,0,69,8,0,18,4,0,248,6,0,253,4,0,43,7,0,125,4,0,203,7,0,249,5,0,2,9,0,215,4,0,32,7,0,154,4,0,82,7,0,212,4,0,59,7,0,52,4,0,192,6,0,49,6,0,80,8,0,59,5,0,142,7,0,103,4,0,230,7,0,159,4,0,105,6,0,226,4,0,153,6,0,177,3,0,214,6,0,70, +4,0,7,5,0,246,2,0,241,5,0,178,1,0,229,4,0,251,3,0,120,4,0,114,3,0,62,4,0,104,2,0,154,4,0,103,3,0,89,5,0,200,2,0,107,4,0,236,2,0,128,4,0,55,2,0,86,4,0,77,3,0,133,4,0,136,2,0,73,4,0,102,2,0,76,4,0,171,2,0,28,4,0,247,0,0,1,4,0,173,2,0,69,4,0,169,1,0,220, +3,0,30,2,0,38,3,0,7,1,0,95,3,0,80,0,0,54,3,0,49,0,0,60,1,0,45,0,0,248,1,0,195,255,255,141,1,0,46,0,0,37,2,0,27,0,0,130,2,0,60,254,255,199,0,0,228,254,255,222,0,0,197,255,255,250,1,0,228,255,255,181,255,255,56,255,255,159,254,255,120,254,255,12,1,0,135, +0,0,32,1,0,207,254,255,185,255,255,29,254,255,99,255,255,86,254,255,213,254,255,160,254,255,49,0,0,142,255,255,140,0,0,27,255,255,86,255,255,35,254,255,96,255,255,146,254,255,41,255,255,2,255,255,138,255,255,253,252,255,176,253,255,77,253,255,99,254, +255,171,253,255,105,254,255,103,252,255,188,253,255,183,251,255,3,253,255,160,251,255,27,252,255,161,252,255,137,253,255,2,250,255,231,250,255,153,250,255,140,252,255,114,250,255,199,251,255,60,250,255,194,251,255,215,250,255,187,251,255,191,250,255, +147,251,255,170,250,255,12,251,255,17,249,255,185,250,255,183,247,255,94,250,255,216,247,255,220,249,255,103,249,255,105,249,255,7,248,255,101,249,255,134,248,255,21,250,255,172,247,255,82,249,255,100,248,255,74,249,255,86,248,255,51,249,255,155,248, +255,248,249,255,97,247,255,212,249,255,25,249,255,100,250,255,68,249,255,8,251,255,50,249,255,169,251,255,247,249,255,16,251,255,153,249,255,12,251,255,99,251,255,192,250,255,72,250,255,175,250,255,18,250,255,135,251,255,71,251,255,163,252,255,56,252, +255,111,252,255,144,251,255,16,253,255,128,252,255,36,253,255,247,252,255,59,254,255,85,252,255,13,254,255,230,252,255,95,253,255,61,254,255,29,254,255,57,254,255,237,254,255,94,253,255,22,254,255,99,253,255,204,254,255,224,254,255,111,254,255,118,254, +255,178,254,255,193,253,255,20,253,255,40,255,255,36,253,255,136,253,255,208,251,255,219,253,255,214,251,255,81,253,255,77,252,255,161,254,255,219,252,255,124,253,255,164,251,255,136,254,255,152,251,255,255,251,255,1,250,255,169,253,255,246,251,255,210, +253,255,151,251,255,3,253,255,25,252,255,92,252,255,130,251,255,18,252,255,214,249,255,149,253,255,146,252,255,198,252,255,113,252,255,26,253,255,153,253,255,160,252,255,237,253,255,132,252,255,116,252,255,47,252,255,86,253,255,254,251,255,6,253,255, +71,252,255,95,254,255,61,252,255,119,253,255,86,252,255,24,254,255,80,252,255,179,254,255,249,253,255,244,253,255,189,252,255,238,254,255,0,252,255,52,255,255,196,253,255,94,255,255,148,253,255,59,255,255,123,254,255,72,255,255,120,254,255,229,0,0,128, +254,255,226,0,0,137,254,255,206,255,255,244,254,255,90,0,0,101,0,0,235,0,0,18,255,255,78,255,255,150,0,0,197,255,255,235,255,255,15,0,0,74,0,0,40,255,255,22,255,255,138,255,255,149,255,255,33,0,0,79,255,255,36,0,0,100,255,255,234,255,255,146,255,255, +116,0,0,42,255,255,66,0,0,92,255,255,11,0,0,154,254,255,138,255,255,87,255,255,99,0,0,113,254,255,245,255,255,151,255,255,220,0,0,103,255,255,121,1,0,134,255,255,87,1,0,227,255,255,96,0,0,224,255,255,123,2,0,78,0,0,169,2,0,178,0,0,179,2,0,24,0,0,188, +2,0,19,2,0,141,3,0,74,1,0,188,3,0,124,2,0,37,5,0,182,2,0,235,4,0,195,2,0,41,4,0,100,3,0,128,5,0,140,4,0,51,4,0,188,4,0,247,6,0,3,4,0,20,5,0,215,5,0,189,5,0,208,4,0,133,3,0,109,5,0,71,4,0,174,4,0,135,3,0,48,4,0,210,1,0,171,6,0,11,3,0,69,4,0,114,2,0,50, +5,0,108,2,0,27,5,0,186,0,0,86,5,0,205,2,0,146,4,0,104,1,0,81,4,0,194,0,0,20,4,0,10,1,0,254,2,0,33,0,0,247,2,0,56,1,0,238,2,0,46,1,0,159,2,0,108,255,255,132,4,0,100,2,0,88,2,0,37,0,0,155,2,0,196,1,0,170,2,0,17,2,0,64,2,0,9,2,0,86,2,0,127,3,0,162,3,0,239, +2,0,82,3,0,23,3,0,195,2,0,9,4,0,160,3,0,11,5,0,15,3,0,58,5,0,204,3,0,68,5,0,4,4,0,120,5,0,188,4,0,39,6,0,16,4,0,233,4,0,119,4,0,160,4,0,213,3,0,158,4,0,254,4,0,247,5,0,253,4,0,62,5,0,8,5,0,213,5,0,52,6,0,91,5,0,22,5,0,239,4,0,61,6,0,236,4,0,58,6,0,185, +4,0,59,5,0,49,4,0,143,5,0,17,5,0,82,5,0,82,4,0,150,5,0,53,3,0,154,5,0,192,4,0,33,6,0,148,3,0,38,7,0,247,3,0,203,6,0,124,3,0,66,7,0,47,3,0,75,6,0,129,3,0,47,7,0,107,4,0,29,5,0,11,3,0,240,6,0,26,4,0,219,6,0,173,4,0,185,6,0,125,3,0,87,5,0,129,4,0,193,5, +0,102,4,0,170,6,0,161,4,0,199,5,0,80,3,0,239,6,0,203,4,0,216,5,0,87,4,0,103,5,0,36,5,0,84,5,0,132,5,0,53,4,0,119,5,0,230,4,0,89,5,0,18,4,0,182,4,0,226,4,0,167,4,0,114,3,0,44,4,0,103,3,0,90,4,0,251,2,0,53,4,0,226,3,0,128,4,0,208,2,0,44,3,0,94,4,0,126, +2,0,250,3,0,146,3,0,37,2,0,219,1,0,215,2,0,223,1,0,162,1,0,236,1,0,249,1,0,14,2,0,176,2,0,219,0,0,20,2,0,179,0,0,192,4,0,45,1,0,67,2,0,84,255,255,25,2,0,31,1,0,194,2,0,126,1,0,126,2,0,42,0,0,23,3,0,117,1,0,82,3,0,231,1,0,100,3,0,209,0,0,172,3,0,91,1, +0,60,3,0,41,1,0,199,3,0,125,2,0,206,3,0,93,1,0,216,3,0,123,2,0,88,3,0,117,1,0,237,3,0,82,2,0,148,3,0,255,1,0,160,4,0,104,1,0,126,4,0,192,1,0,131,4,0,37,2,0,232,3,0,45,2,0,142,3,0,147,1,0,112,4,0,242,1,0,225,2,0,181,1,0,82,2,0,218,0,0,113,2,0,160,1,0, +202,1,0,131,1,0,220,1,0,94,1,0,145,3,0,174,1,0,212,2,0,24,1,0,246,2,0,125,1,0,89,2,0,31,1,0,54,2,0,48,1,0,185,2,0,206,0,0,18,3,0,238,1,0,137,3,0,204,1,0,8,3,0,202,1,0,43,3,0,218,0,0,78,5,0,162,2,0,169,5,0,231,0,0,209,4,0,128,2,0,101,5,0,227,2,0,173,4, +0,109,2,0,136,5,0,70,2,0,229,4,0,20,3,0,74,4,0,246,1,0,64,5,0,11,3,0,49,5,0,166,3,0,120,5,0,98,2,0,174,4,0,109,3,0,135,5,0,15,3,0,39,6,0,162,3,0,192,5,0,91,2,0,8,6,0,2,4,0,65,4,0,179,4,0,254,5,0,119,4,0,89,5,0,116,4,0,108,5,0,115,5,0,52,6,0,89,5,0,73, +7,0,27,6,0,27,7,0,77,5,0,12,7,0,92,6,0,57,6,0,50,6,0,184,6,0,137,6,0,52,8,0,199,6,0,197,7,0,32,7,0,96,8,0,119,7,0,197,7,0,229,6,0,98,8,0,8,7,0,18,8,0,130,7,0,93,9,0,208,7,0,197,7,0,133,7,0,128,9,0,40,7,0,15,9,0,247,6,0,59,8,0,16,7,0,243,9,0,214,7,0,122, +8,0,83,7,0,123,9,0,41,7,0,255,9,0,242,7,0,185,9,0,12,8,0,219,9,0,214,7,0,212,9,0,101,8,0,121,10,0,241,7,0,123,10,0,167,7,0,43,11,0,174,9,0,2,11,0,155,9,0,44,12,0,88,9,0,224,11,0,109,9,0,175,11,0,234,8,0,235,11,0,125,9,0,43,12,0,148,9,0,127,12,0,7,9,0, +87,12,0,232,9,0,73,13,0,155,10,0,165,11,0,167,8,0,158,11,0,133,9,0,114,11,0,244,8,0,49,12,0,156,9,0,49,11,0,182,9,0,230,11,0,137,10,0,124,10,0,153,8,0,248,11,0,64,9,0,72,10,0,157,8,0,180,9,0,147,8,0,111,10,0,58,9,0,189,9,0,38,9,0,34,10,0,245,7,0,39,9, +0,41,9,0,53,11,0,113,9,0,28,9,0,134,7,0,118,10,0,26,9,0,188,9,0,219,7,0,170,10,0,164,7,0,25,9,0,95,7,0,39,10,0,137,7,0,178,10,0,135,7,0,106,11,0,82,7,0,72,9,0,206,5,0,145,9,0,91,6,0,119,9,0,234,5,0,150,8,0,152,6,0,90,8,0,16,6,0,208,7,0,125,5,0,1,7,0, +220,5,0,48,7,0,90,6,0,116,7,0,45,5,0,224,6,0,224,4,0,98,6,0,77,4,0,56,6,0,126,3,0,156,5,0,164,4,0,46,6,0,191,4,0,206,6,0,40,4,0,238,4,0,137,3,0,196,5,0,166,4,0,155,4,0,7,3,0,128,6,0,73,4,0,40,5,0,10,3,0,74,6,0,165,3,0,192,5,0,137,3,0,17,7,0,192,3,0,19, +7,0,44,3,0,140,6,0,174,2,0,101,6,0,227,2,0,153,6,0,127,2,0,18,6,0,223,1,0,145,6,0,199,1,0,62,8,0,136,3,0,144,6,0,7,2,0,188,6,0,27,2,0,132,6,0,247,0,0,137,5,0,68,0,0,165,5,0,182,1,0,210,4,0,12,0,0,8,4,0,27,255,255,217,4,0,140,255,255,88,3,0,39,255,255, +25,4,0,43,254,255,197,3,0,91,254,255,9,2,0,169,254,255,235,1,0,133,253,255,149,1,0,80,253,255,80,0,0,84,254,255,77,0,0,225,254,255,218,0,0,33,254,255,70,0,0,56,254,255,50,0,0,231,254,255,184,255,255,240,254,255,185,0,0,120,254,255,228,255,255,53,255, +255,181,0,0,95,255,255,135,1,0,122,1,0,19,1,0,224,1,0,107,1,0,214,0,0,240,0,0,3,1,0,165,2,0,132,2,0,73,1,0,161,2,0,250,3,0,228,1,0,21,4,0,251,2,0,219,4,0,179,3,0,77,4,0,157,1,0,162,5,0,1,4,0,134,5,0,133,3,0,83,5,0,157,3,0,167,5,0,10,4,0,38,6,0,230,4, +0,34,5,0,67,4,0,127,6,0,46,4,0,57,6,0,69,5,0,248,6,0,225,3,0,174,7,0,91,5,0,185,6,0,252,4,0,76,7,0,216,5,0,46,7,0,26,5,0,73,7,0,182,5,0,212,7,0,177,6,0,212,7,0,251,5,0,187,7,0,220,5,0,150,7,0,189,5,0,204,7,0,0,7,0,113,6,0,107,5,0,22,8,0,31,6,0,49,7,0, +142,5,0,154,6,0,233,5,0,198,6,0,232,5,0,141,5,0,10,6,0,126,6,0,128,6,0,38,6,0,33,5,0,123,5,0,1,5,0,153,5,0,149,5,0,127,6,0,36,6,0,141,6,0,69,5,0,228,5,0,27,6,0,113,6,0,222,4,0,4,7,0,86,6,0,102,6,0,26,6,0,20,6,0,102,7,0,78,7,0,53,6,0,146,6,0,190,5,0,49, +7,0,196,5,0,40,7,0,116,6,0,16,5,0,112,6,0,104,5,0,190,5,0,160,6,0,108,6,0,147,6,0,182,6,0,88,5,0,42,7,0,238,6,0,94,7,0,103,7,0,83,6,0,154,7,0,81,8,0,230,6,0,124,7,0,21,7,0,156,6,0,89,6,0,109,7,0,67,6,0,29,6,0,33,6,0,77,6,0,174,6,0,147,5,0,72,7,0,11,7, +0,201,5,0,123,7,0,41,6,0,59,7,0,69,6,0,115,6,0,69,6,0,60,6,0,9,7,0,78,7,0,58,6,0,106,7,0,136,5,0,159,6,0,93,6,0,105,6,0,143,6,0,87,6,0,109,6,0,95,6,0,79,6,0,164,6,0,166,6,0,91,5,0,214,6,0,156,6,0,225,5,0,201,6,0,125,6,0,118,5,0,63,6,0,225,6,0,33,6,0, +180,6,0,29,6,0,49,6,0,208,4,0,113,6,0,172,6,0,12,7,0,187,6,0,251,6,0,167,6,0,5,8,0,76,7,0,153,7,0,49,7,0,39,7,0,210,6,0,30,7,0,193,6,0,194,8,0,56,7,0,33,7,0,155,7,0,228,8,0,187,7,0,128,8,0,146,8,0,138,9,0,15,9,0,92,9,0,133,8,0,61,8,0,178,7,0,87,8,0,185, +7,0,168,9,0,171,7,0,202,9,0,156,8,0,182,8,0,189,8,0,112,9,0,101,8,0,247,8,0,48,9,0,22,9,0,178,8,0,195,9,0,37,10,0,69,9,0,223,9,0,233,9,0,143,9,0,40,10,0,45,9,0,145,9,0,229,9,0,214,9,0,141,9,0,144,9,0,224,9,0,220,10,0,132,9,0,214,10,0,63,10,0,28,11,0, +48,10,0,149,11,0,99,10,0,13,12,0,158,10,0,102,12,0,3,11,0,120,12,0,161,9,0,162,11,0,3,11,0,70,12,0,108,11,0,249,12,0,253,10,0,173,12,0,159,10,0,187,12,0,208,9,0,18,12,0,240,10,0,0,13,0,240,11,0,60,13,0,200,9,0,230,11,0,137,11,0,80,14,0,32,11,0,120,11, +0,123,9,0,233,11,0,85,10,0,35,12,0,153,10,0,175,12,0,29,10,0,202,10,0,99,10,0,185,11,0,168,9,0,121,11,0,80,9,0,156,10,0,161,9,0,189,9,0,212,8,0,183,9,0,92,9,0,186,9,0,58,9,0,74,10,0,47,9,0,157,9,0,249,7,0,61,9,0,67,9,0,84,9,0,177,8,0,141,9,0,172,7,0, +113,9,0,99,8,0,147,10,0,243,7,0,85,9,0,241,7,0,87,10,0,26,8,0,34,9,0,149,7,0,67,9,0,6,8,0,57,9,0,94,7,0,101,10,0,150,7,0,185,9,0,203,7,0,137,10,0,12,8,0,250,8,0,11,8,0,86,8,0,111,7,0,237,8,0,222,7,0,141,9,0,71,8,0,161,9,0,141,8,0,91,9,0,241,8,0,181,8, +0,117,8,0,50,9,0,191,7,0,20,8,0,137,8,0,28,9,0,181,7,0,54,8,0,158,7,0,21,8,0,167,7,0,22,9,0,130,7,0,94,7,0,137,8,0,216,7,0,15,7,0,224,6,0,21,8,0,151,8,0,136,7,0,239,6,0,87,7,0,255,7,0,120,6,0,48,7,0,121,7,0,102,7,0,177,7,0,15,8,0,32,7,0,178,7,0,164,6, +0,110,7,0,97,7,0,140,8,0,138,6,0,41,9,0,91,7,0,93,9,0,17,7,0,252,8,0,226,5,0,142,8,0,147,6,0,19,9,0,134,7,0,12,10,0,4,7,0,157,9,0,183,6,0,211,8,0,245,5,0,81,9,0,65,7,0,237,9,0,147,5,0,198,9,0,26,7,0,176,9,0,29,6,0,34,9,0,167,6,0,241,9,0,71,6,0,85,10, +0,226,6,0,3,8,0,19,7,0,85,9,0,35,7,0,153,8,0,142,7,0,83,8,0,204,6,0,65,9,0,125,8,0,207,9,0,176,7,0,226,8,0,219,7,0,144,8,0,74,7,0,149,8,0,20,8,0,11,9,0,162,7,0,38,8,0,152,6,0,225,8,0,169,6,0,1,9,0,153,7,0,167,8,0,30,7,0,93,8,0,185,5,0,150,7,0,227,6,0, +89,7,0,254,7,0,152,8,0,150,7,0,180,7,0,156,7,0,16,9,0,201,6,0,213,8,0,148,6,0,223,8,0,68,6,0,9,9,0,173,6,0,208,8,0,116,7,0,31,10,0,14,8,0,107,10,0,47,7,0,253,9,0,36,8,0,140,10,0,129,6,0,4,10,0,32,6,0,105,9,0,182,7,0,255,10,0,200,6,0,174,9,0,110,7,0,202, +9,0,198,6,0,82,9,0,151,7,0,14,9,0,180,6,0,90,9,0,6,6,0,105,8,0,111,6,0,248,9,0,20,7,0,112,8,0,79,6,0,170,8,0,222,7,0,241,7,0,131,5,0,209,7,0,182,6,0,102,8,0,20,6,0,196,6,0,160,6,0,91,7,0,106,5,0,143,6,0,39,6,0,171,6,0,60,5,0,68,6,0,89,5,0,122,6,0,208, +4,0,150,5,0,241,3,0,1,6,0,140,4,0,65,5,0,117,3,0,13,5,0,35,4,0,66,5,0,147,2,0,215,4,0,108,2,0,130,4,0,62,3,0,231,3,0,92,2,0,38,4,0,6,3,0,155,3,0,135,2,0,247,3,0,144,1,0,94,3,0,129,2,0,112,3,0,41,2,0,125,3,0,44,1,0,29,3,0,132,1,0,210,3,0,32,1,0,176,3, +0,153,1,0,18,4,0,81,2,0,200,4,0,203,0,0,156,4,0,214,0,0,194,3,0,99,1,0,217,4,0,222,1,0,18,5,0,141,1,0,45,5,0,201,1,0,47,6,0,197,1,0,39,6,0,166,1,0,108,5,0,200,0,0,98,5,0,33,2,0,6,5,0,74,1,0,20,5,0,169,1,0,112,5,0,107,2,0,198,5,0,197,2,0,81,3,0,23,2,0, +38,3,0,26,1,0,79,3,0,208,0,0,144,2,0,162,255,255,208,2,0,81,1,0,6,2,0,145,0,0,110,1,0,6,0,0,143,0,0,177,254,255,122,0,0,69,255,255,107,0,0,84,254,255,112,255,255,162,255,255,193,255,255,70,253,255,31,254,255,198,254,255,50,255,255,125,254,255,28,255, +255,15,254,255,146,254,255,202,254,255,117,255,255,3,254,255,252,254,255,50,254,255,107,255,255,33,254,255,77,254,255,198,252,255,45,254,255,11,253,255,111,254,255,244,253,255,255,254,255,165,253,255,169,253,255,243,253,255,146,254,255,11,254,255,115, +254,255,2,254,255,138,254,255,111,254,255,174,255,255,181,253,255,107,255,255,236,253,255,116,255,255,16,254,255,100,0,0,248,253,255,36,0,0,1,254,255,179,255,255,223,253,255,129,0,0,225,252,255,138,0,0,13,253,255,89,1,0,13,253,255,71,0,0,175,252,255, +185,255,255,46,252,255,12,0,0,2,252,255,245,254,255,120,252,255,133,255,255,51,252,255,134,254,255,128,252,255,224,253,255,3,251,255,44,254,255,0,251,255,40,254,255,19,250,255,245,253,255,111,251,255,63,253,255,52,250,255,201,252,255,14,250,255,39,252, +255,9,251,255,233,251,255,184,250,255,132,251,255,196,249,255,2,252,255,60,250,255,164,251,255,3,250,255,164,250,255,113,250,255,145,252,255,87,250,255,247,250,255,184,249,255,99,252,255,177,249,255,18,251,255,72,249,255,209,250,255,60,250,255,1,252, +255,44,250,255,182,252,255,96,249,255,154,251,255,233,249,255,103,251,255,47,250,255,11,252,255,215,249,255,13,251,255,100,250,255,143,251,255,12,251,255,108,252,255,186,251,255,113,252,255,186,251,255,253,252,255,83,251,255,174,253,255,82,250,255,59, +253,255,189,251,255,229,254,255,193,251,255,157,254,255,130,252,255,183,254,255,24,252,255,189,255,255,73,252,255,240,255,255,150,252,255,149,254,255,50,252,255,44,255,255,166,253,255,213,255,255,198,252,255,230,254,255,209,252,255,69,255,255,99,252, +255,5,255,255,108,253,255,129,254,255,226,252,255,97,254,255,161,253,255,182,254,255,78,252,255,145,254,255,184,252,255,178,254,255,44,252,255,87,253,255,55,251,255,49,252,255,223,250,255,236,251,255,82,251,255,63,252,255,135,251,255,52,251,255,14,250, +255,17,250,255,204,250,255,248,249,255,228,248,255,177,249,255,66,250,255,117,249,255,213,248,255,86,249,255,124,248,255,197,248,255,76,248,255,157,248,255,123,247,255,139,248,255,67,247,255,157,248,255,114,247,255,182,248,255,228,247,255,76,247,255, +98,247,255,165,247,255,178,247,255,231,248,255,234,247,255,85,248,255,56,247,255,125,248,255,239,247,255,232,248,255,11,248,255,37,249,255,186,247,255,30,249,255,246,247,255,93,248,255,194,247,255,55,250,255,59,248,255,42,249,255,246,247,255,57,250,255, +61,248,255,61,250,255,193,247,255,5,249,255,203,248,255,194,250,255,160,249,255,228,250,255,169,249,255,155,250,255,115,249,255,66,250,255,137,249,255,126,250,255,147,250,255,236,250,255,61,249,255,173,249,255,114,250,255,195,249,255,163,249,255,116, +250,255,155,249,255,160,249,255,249,249,255,41,250,255,231,249,255,44,249,255,164,249,255,62,249,255,183,248,255,183,249,255,85,249,255,135,248,255,239,248,255,50,249,255,13,249,255,116,249,255,49,248,255,254,248,255,179,247,255,65,248,255,211,247,255, +38,248,255,159,248,255,28,247,255,71,247,255,145,247,255,37,246,255,198,247,255,102,246,255,40,247,255,15,246,255,236,246,255,27,246,255,114,246,255,122,245,255,234,245,255,4,246,255,254,245,255,218,244,255,248,244,255,200,244,255,218,245,255,89,244, +255,64,245,255,222,243,255,197,244,255,111,243,255,249,244,255,10,244,255,188,243,255,129,243,255,134,244,255,234,242,255,64,243,255,210,243,255,129,244,255,79,243,255,8,244,255,154,243,255,165,243,255,49,244,255,226,243,255,180,244,255,102,244,255,72, +245,255,58,244,255,52,245,255,159,244,255,139,244,255,139,244,255,104,245,255,89,244,255,66,246,255,182,244,255,158,245,255,133,245,255,117,246,255,20,246,255,7,246,255,247,244,255,228,246,255,71,246,255,203,246,255,132,246,255,70,247,255,63,246,255, +35,247,255,62,246,255,82,247,255,102,247,255,58,247,255,22,246,255,64,246,255,89,246,255,122,245,255,225,245,255,74,246,255,53,246,255,83,246,255,201,245,255,238,246,255,152,245,255,227,246,255,217,245,255,90,246,255,18,245,255,212,244,255,21,244,255, +203,244,255,79,243,255,223,244,255,96,244,255,219,243,255,206,242,255,22,244,255,73,242,255,226,242,255,97,242,255,237,242,255,129,241,255,63,244,255,3,241,255,75,242,255,84,241,255,95,242,255,31,241,255,110,242,255,126,240,255,223,242,255,216,240,255, +103,241,255,246,240,255,157,242,255,38,240,255,63,242,255,149,240,255,1,242,255,120,240,255,220,241,255,165,240,255,122,242,255,250,241,255,164,241,255,131,241,255,223,240,255,99,241,255,53,242,255,193,242,255,134,242,255,53,242,255,82,244,255,128,242, +255,239,241,255,134,242,255,175,242,255,126,242,255,124,243,255,33,244,255,96,243,255,54,244,255,26,244,255,200,243,255,110,244,255,148,243,255,92,244,255,186,244,255,209,244,255,81,244,255,100,245,255,70,246,255,183,245,255,172,244,255,167,244,255,151, +244,255,98,246,255,18,245,255,215,245,255,45,244,255,46,245,255,214,244,255,188,246,255,183,244,255,208,244,255,31,244,255,32,245,255,53,244,255,113,245,255,33,244,255,4,245,255,45,243,255,216,244,255,212,242,255,122,244,255,238,242,255,131,244,255,141, +242,255,96,244,255,178,241,255,181,243,255,43,242,255,97,243,255,153,241,255,97,243,255,102,241,255,103,242,255,175,240,255,254,242,255,109,240,255,4,242,255,133,240,255,82,241,255,250,239,255,217,240,255,246,239,255,114,242,255,114,240,255,226,240,255, +219,240,255,235,240,255,232,240,255,62,241,255,137,241,255,188,240,255,131,240,255,22,241,255,89,240,255,8,241,255,49,240,255,50,242,255,152,241,255,9,242,255,93,241,255,110,241,255,34,241,255,176,242,255,58,241,255,98,242,255,97,242,255,142,242,255, +78,242,255,37,243,255,153,242,255,251,243,255,24,244,255,90,244,255,160,244,255,50,245,255,240,244,255,5,245,255,189,244,255,216,245,255,139,244,255,59,246,255,34,246,255,229,246,255,233,247,255,163,247,255,87,247,255,102,247,255,247,247,255,77,248,255, +208,247,255,124,248,255,103,248,255,82,249,255,54,249,255,150,248,255,84,248,255,211,248,255,125,248,255,155,249,255,232,248,255,36,250,255,244,247,255,214,248,255,63,248,255,5,249,255,29,247,255,34,249,255,172,247,255,122,248,255,208,246,255,151,248, +255,82,246,255,17,248,255,192,246,255,110,247,255,227,246,255,37,247,255,100,245,255,177,246,255,172,245,255,18,247,255,51,244,255,156,246,255,34,245,255,233,245,255,111,244,255,9,246,255,6,245,255,93,245,255,234,243,255,225,244,255,172,243,255,7,245, +255,244,243,255,205,243,255,0,243,255,250,243,255,206,242,255,159,244,255,240,242,255,59,244,255,102,242,255,179,244,255,78,243,255,232,245,255,127,243,255,15,246,255,246,243,255,229,244,255,88,243,255,200,246,255,27,244,255,144,246,255,169,243,255,42, +247,255,213,243,255,19,247,255,45,244,255,167,247,255,197,244,255,221,246,255,195,244,255,201,247,255,77,245,255,192,247,255,72,246,255,136,248,255,138,245,255,55,248,255,97,245,255,74,248,255,39,246,255,158,249,255,143,246,255,84,249,255,205,245,255, +18,249,255,224,245,255,139,248,255,195,245,255,94,249,255,84,246,255,60,249,255,108,246,255,167,249,255,160,246,255,153,249,255,163,245,255,12,249,255,115,245,255,140,248,255,192,245,255,141,249,255,69,245,255,167,248,255,54,245,255,151,248,255,102,244, +255,209,248,255,82,245,255,245,247,255,238,244,255,86,248,255,171,244,255,212,247,255,157,244,255,229,247,255,213,244,255,169,247,255,181,244,255,87,247,255,69,244,255,71,247,255,147,243,255,18,247,255,53,243,255,179,246,255,195,243,255,36,246,255,251, +243,255,161,246,255,39,243,255,50,246,255,99,243,255,20,247,255,75,244,255,48,246,255,83,243,255,13,246,255,16,243,255,26,246,255,23,244,255,241,246,255,132,244,255,61,245,255,134,243,255,248,245,255,209,243,255,137,246,255,225,244,255,243,245,255,4, +245,255,175,246,255,105,245,255,255,245,255,168,245,255,103,246,255,243,244,255,204,247,255,234,245,255,101,246,255,126,245,255,240,246,255,201,245,255,180,246,255,237,245,255,124,247,255,53,246,255,18,247,255,33,245,255,237,247,255,32,245,255,83,248, +255,221,245,255,12,248,255,178,244,255,67,248,255,207,245,255,186,247,255,235,245,255,100,248,255,178,245,255,12,248,255,107,245,255,254,247,255,65,244,255,241,247,255,25,244,255,73,248,255,148,244,255,25,248,255,180,244,255,4,248,255,136,244,255,225, +248,255,208,245,255,115,248,255,106,244,255,1,249,255,188,244,255,155,247,255,38,243,255,61,248,255,106,243,255,185,248,255,200,243,255,86,248,255,132,243,255,175,247,255,53,243,255,119,248,255,251,242,255,19,248,255,147,242,255,37,248,255,237,242,255, +134,248,255,123,243,255,212,247,255,41,243,255,16,248,255,198,243,255,147,247,255,152,242,255,146,247,255,129,243,255,176,246,255,120,243,255,212,247,255,106,244,255,219,246,255,207,244,255,102,248,255,70,245,255,124,247,255,2,244,255,4,248,255,160,245, +255,105,247,255,57,245,255,163,247,255,2,245,255,73,248,255,50,246,255,169,247,255,229,245,255,108,248,255,176,246,255,69,248,255,122,246,255,155,248,255,199,246,255,166,248,255,3,247,255,182,249,255,67,248,255,55,249,255,194,247,255,190,249,255,80,248, +255,153,250,255,33,248,255,220,249,255,118,248,255,16,250,255,47,248,255,196,250,255,67,248,255,126,250,255,83,247,255,25,251,255,89,247,255,228,250,255,15,247,255,55,251,255,143,247,255,172,250,255,153,246,255,185,250,255,187,247,255,135,250,255,165, +246,255,189,250,255,79,247,255,190,250,255,249,246,255,13,251,255,175,245,255,96,250,255,18,246,255,130,250,255,113,246,255,143,250,255,245,246,255,106,250,255,30,246,255,50,250,255,98,246,255,148,250,255,223,245,255,205,250,255,32,247,255,50,249,255, +4,246,255,95,250,255,233,246,255,1,251,255,152,246,255,214,249,255,244,246,255,76,250,255,161,247,255,200,250,255,101,247,255,96,251,255,12,248,255,67,250,255,131,247,255,73,250,255,172,247,255,168,250,255,196,246,255,204,249,255,242,247,255,101,249, +255,80,247,255,233,249,255,181,247,255,78,250,255,13,248,255,19,250,255,122,247,255,92,249,255,74,247,255,139,250,255,46,248,255,229,249,255,213,247,255,127,249,255,42,247,255,74,251,255,101,247,255,174,249,255,103,247,255,11,250,255,3,248,255,16,250, +255,104,248,255,103,251,255,184,248,255,82,251,255,190,248,255,155,251,255,29,247,255,179,251,255,43,248,255,234,250,255,128,248,255,62,251,255,53,248,255,219,251,255,184,248,255,26,252,255,134,248,255,62,252,255,222,248,255,105,252,255,23,250,255,219, +252,255,72,250,255,137,252,255,122,249,255,251,252,255,5,250,255,253,252,255,156,250,255,92,254,255,192,250,255,216,253,255,19,250,255,164,254,255,88,251,255,160,253,255,155,250,255,116,254,255,2,252,255,71,254,255,166,251,255,210,253,255,191,250,255, +109,254,255,18,252,255,134,255,255,252,250,255,119,255,255,185,251,255,109,254,255,65,251,255,95,255,255,52,251,255,82,255,255,167,251,255,171,255,255,147,252,255,81,255,255,57,252,255,81,254,255,201,251,255,137,255,255,52,252,255,120,255,255,232,251, +255,142,255,255,151,251,255,128,255,255,61,252,255,145,255,255,74,252,255,94,0,0,208,252,255,228,0,0,195,252,255,233,255,255,28,252,255,10,0,0,19,253,255,131,255,255,195,252,255,197,0,0,78,252,255,137,0,0,174,253,255,41,0,0,200,252,255,25,1,0,229,252, +255,184,255,255,63,253,255,57,0,0,63,253,255,3,0,0,19,254,255,63,0,0,149,253,255,83,0,0,141,254,255,133,0,0,129,253,255,174,0,0,191,252,255,91,1,0,38,253,255,182,0,0,173,252,255,10,1,0,216,253,255,27,1,0,195,253,255,183,255,255,119,252,255,98,1,0,134, +254,255,118,2,0,134,254,255,9,1,0,4,255,255,105,2,0,175,255,255,19,2,0,56,255,255,242,2,0,81,255,255,215,1,0,59,255,255,68,3,0,88,255,255,32,3,0,168,254,255,104,2,0,72,255,255,61,2,0,251,254,255,83,2,0,70,255,255,76,2,0,192,254,255,169,2,0,99,255,255, +14,3,0,23,255,255,159,1,0,187,254,255,173,1,0,176,254,255,126,2,0,93,255,255,118,2,0,64,255,255,217,1,0,112,254,255,155,2,0,62,255,255,61,2,0,69,255,255,165,2,0,36,0,0,7,3,0,231,254,255,107,3,0,15,255,255,38,2,0,222,253,255,194,2,0,149,254,255,122,2, +0,90,255,255,17,3,0,162,255,255,75,3,0,85,255,255,115,4,0,104,255,255,97,4,0,163,255,255,152,3,0,55,255,255,50,4,0,166,255,255,116,4,0,5,0,0,218,3,0,210,255,255,40,4,0,89,0,0,235,4,0,16,0,0,8,4,0,248,0,0,111,4,0,29,0,0,178,4,0,94,1,0,173,3,0,132,0,0, +110,5,0,14,1,0,22,5,0,96,1,0,62,4,0,56,1,0,30,5,0,144,2,0,207,4,0,96,2,0,203,5,0,226,2,0,3,5,0,26,2,0,98,6,0,203,2,0,27,5,0,153,2,0,208,5,0,178,2,0,202,5,0,41,3,0,60,6,0,100,2,0,15,6,0,109,3,0,30,6,0,228,2,0,188,5,0,207,2,0,187,6,0,234,2,0,174,6,0,244, +2,0,183,5,0,235,2,0,199,6,0,198,2,0,65,6,0,178,3,0,45,6,0,197,2,0,111,5,0,232,3,0,75,5,0,105,2,0,194,5,0,218,2,0,71,4,0,57,2,0,191,5,0,42,3,0,53,5,0,12,2,0,47,4,0,148,1,0,204,3,0,242,0,0,199,4,0,75,1,0,50,4,0,228,0,0,153,3,0,66,0,0,151,3,0,199,0,0,185, +3,0,155,0,0,39,3,0,64,0,0,251,3,0,199,0,0,136,3,0,250,0,0,165,3,0,235,0,0,212,2,0,5,1,0,141,3,0,69,1,0,12,4,0,195,1,0,72,4,0,214,1,0,38,4,0,254,1,0,166,4,0,138,1,0,41,4,0,122,2,0,168,3,0,75,2,0,146,4,0,92,3,0,147,4,0,81,3,0,54,4,0,4,4,0,85,5,0,227,3, +0,70,5,0,81,3,0,24,5,0,122,4,0,68,5,0,104,4,0,176,3,0,198,4,0,196,4,0,144,4,0,20,5,0,124,5,0,39,5,0,46,5,0,89,5,0,211,4,0,244,5,0,10,5,0,30,5,0,171,5,0,64,5,0,26,5,0,170,5,0,233,4,0,61,5,0,170,5,0,243,5,0,116,5,0,8,6,0,22,5,0,187,5,0,185,4,0,105,5,0, +90,5,0,254,5,0,20,5,0,163,5,0,79,4,0,160,5,0,213,4,0,218,5,0,183,4,0,38,6,0,36,4,0,119,5,0,226,3,0,163,4,0,57,3,0,68,6,0,105,4,0,131,5,0,102,4,0,93,5,0,52,3,0,234,4,0,133,3,0,239,4,0,42,3,0,215,4,0,36,4,0,137,4,0,242,3,0,80,4,0,196,2,0,125,4,0,120,4, +0,229,3,0,102,3,0,123,4,0,181,3,0,197,4,0,132,3,0,214,3,0,41,4,0,108,3,0,101,4,0,42,4,0,138,4,0,64,4,0,0,5,0,122,3,0,72,4,0,46,4,0,129,4,0,244,3,0,107,5,0,57,4,0,57,4,0,61,4,0,175,4,0,48,4,0,214,4,0,92,4,0,212,4,0,145,4,0,105,5,0,34,4,0,243,5,0,10,4, +0,215,4,0,25,5,0,174,4,0,79,5,0,73,5,0,151,4,0,140,4,0,173,4,0,186,4,0,200,4,0,16,5,0,199,4,0,164,5,0,225,4,0,198,4,0,21,5,0,4,5,0,245,5,0,108,5,0,99,5,0,223,5,0,185,5,0,123,5,0,166,5,0,113,5,0,185,5,0,96,5,0,39,5,0,237,5,0,1,7,0,0,7,0,255,5,0,241,5, +0,28,6,0,184,5,0,67,6,0,67,6,0,186,6,0,123,6,0,240,5,0,154,6,0,250,5,0,162,6,0,11,7,0,8,7,0,143,6,0,89,7,0,63,7,0,34,8,0,201,7,0,99,8,0,78,7,0,228,8,0,254,7,0,90,8,0,21,8,0,131,9,0,151,7,0,55,9,0,93,8,0,42,9,0,187,7,0,148,8,0,36,8,0,158,9,0,28,8,0,192, +8,0,14,8,0,252,8,0,168,7,0,30,9,0,200,7,0,16,9,0,201,7,0,65,9,0,127,7,0,114,8,0,53,8,0,137,9,0,198,7,0,99,8,0,191,6,0,106,8,0,106,7,0,201,8,0,80,7,0,199,7,0,183,6,0,14,8,0,185,6,0,175,8,0,177,6,0,71,8,0,156,6,0,108,8,0,230,6,0,1,8,0,7,6,0,210,8,0,203, +6,0,127,8,0,28,7,0,17,8,0,16,7,0,32,9,0,12,7,0,7,9,0,15,7,0,180,8,0,55,7,0,101,8,0,168,7,0,131,9,0,249,7,0,163,9,0,70,8,0,90,9,0,97,8,0,88,9,0,218,7,0,110,9,0,179,8,0,170,9,0,96,7,0,154,8,0,226,8,0,209,9,0,220,8,0,142,8,0,247,8,0,42,9,0,15,9,0,228,8, +0,152,7,0,42,9,0,112,8,0,68,9,0,241,8,0,222,8,0,119,8,0,134,9,0,141,7,0,75,8,0,146,8,0,179,8,0,99,7,0,123,7,0,221,7,0,16,9,0,15,7,0,169,7,0,245,6,0,88,7,0,1,7,0,64,7,0,226,6,0,254,6,0,36,7,0,172,7,0,170,5,0,184,6,0,2,6,0,107,7,0,178,5,0,114,6,0,242,5, +0,97,6,0,140,6,0,138,7,0,158,5,0,244,6,0,221,5,0,140,7,0,186,5,0,161,7,0,108,4,0,120,6,0,39,5,0,79,7,0,125,5,0,98,7,0,155,5,0,99,7,0,142,5,0,83,8,0,183,5,0,44,7,0,239,5,0,52,8,0,56,5,0,187,7,0,210,4,0,13,7,0,255,4,0,165,6,0,108,5,0,200,6,0,54,5,0,255, +6,0,118,4,0,146,6,0,226,4,0,95,6,0,143,4,0,28,6,0,228,4,0,150,5,0,244,3,0,119,4,0,111,3,0,231,4,0,47,3,0,194,3,0,29,3,0,252,3,0,39,3,0,220,3,0,253,2,0,146,3,0,56,3,0,232,3,0,68,3,0,109,3,0,26,3,0,33,3,0,217,2,0,209,3,0,198,2,0,53,3,0,197,2,0,248,2,0, +177,2,0,211,3,0,142,2,0,63,3,0,99,2,0,127,3,0,92,2,0,138,3,0,76,2,0,155,3,0,64,3,0,148,4,0,161,2,0,216,3,0,58,2,0,162,3,0,69,2,0,6,4,0,189,1,0,237,3,0,222,1,0,119,4,0,66,2,0,125,4,0,238,1,0,60,4,0,23,2,0,57,3,0,152,2,0,254,3,0,111,1,0,58,4,0,98,1,0,249, +3,0,151,1,0,242,3,0,60,1,0,81,4,0,26,1,0,151,2,0,45,1,0,126,3,0,12,1,0,161,2,0,228,255,255,224,2,0,14,0,0,93,2,0,7,1,0,6,2,0,74,0,0,96,2,0,187,0,0,187,1,0,41,0,0,86,1,0,161,255,255,234,1,0,164,255,255,94,1,0,29,0,0,86,1,0,250,255,255,226,1,0,39,255,255, +118,1,0,250,255,255,188,1,0,104,255,255,255,0,0,218,254,255,193,0,0,117,255,255,69,1,0,96,255,255,145,0,0,203,255,255,106,0,0,192,254,255,249,0,0,224,254,255,3,0,0,166,254,255,239,0,0,185,254,255,118,0,0,24,255,255,61,0,0,63,254,255,233,255,255,130,254, +255,90,0,0,116,254,255,137,0,0,145,254,255,207,0,0,4,254,255,122,255,255,82,254,255,86,0,0,98,254,255,125,0,0,40,254,255,252,255,255,137,253,255,35,0,0,76,253,255,225,254,255,84,254,255,17,255,255,74,254,255,49,255,255,165,253,255,73,255,255,43,254,255, +188,254,255,70,253,255,211,254,255,175,253,255,190,254,255,131,253,255,184,254,255,131,252,255,209,253,255,229,252,255,39,254,255,183,252,255,254,253,255,60,252,255,171,253,255,7,252,255,230,253,255,134,252,255,118,253,255,24,252,255,142,253,255,20,251, +255,189,252,255,103,251,255,182,252,255,51,251,255,139,252,255,55,250,255,121,252,255,130,251,255,210,252,255,224,250,255,21,252,255,78,251,255,45,253,255,215,250,255,3,253,255,232,250,255,88,253,255,161,250,255,50,252,255,1,251,255,241,252,255,10,251, +255,238,252,255,209,250,255,31,253,255,83,250,255,248,252,255,139,250,255,114,253,255,123,251,255,126,252,255,175,250,255,217,252,255,141,251,255,117,252,255,251,250,255,188,252,255,74,251,255,124,253,255,251,250,255,93,253,255,105,251,255,36,253,255, +31,251,255,168,252,255,127,250,255,145,252,255,253,249,255,22,253,255,162,249,255,203,251,255,21,250,255,60,252,255,67,250,255,66,252,255,61,250,255,179,251,255,195,249,255,218,251,255,204,249,255,139,251,255,107,249,255,141,251,255,139,249,255,241,251, +255,179,249,255,126,251,255,166,249,255,212,252,255,195,249,255,96,252,255,248,249,255,241,251,255,20,250,255,10,252,255,124,250,255,29,253,255,104,250,255,144,252,255,92,250,255,6,253,255,38,250,255,16,253,255,76,251,255,162,252,255,169,251,255,227, +253,255,223,250,255,211,253,255,167,250,255,87,253,255,88,251,255,22,254,255,156,251,255,139,254,255,93,251,255,224,254,255,146,251,255,124,254,255,152,252,255,253,253,255,4,252,255,166,254,255,71,252,255,175,253,255,74,252,255,17,254,255,81,252,255, +219,253,255,251,252,255,66,254,255,176,252,255,32,254,255,231,251,255,121,253,255,90,252,255,152,253,255,185,252,255,203,253,255,47,253,255,92,254,255,117,252,255,45,254,255,42,252,255,128,254,255,200,251,255,88,254,255,50,252,255,188,253,255,16,252, +255,174,254,255,78,252,255,148,254,255,4,253,255,5,255,255,125,252,255,240,254,255,121,253,255,226,255,255,8,253,255,53,255,255,159,253,255,161,255,255,208,253,255,203,0,0,57,254,255,158,0,0,118,254,255,1,1,0,38,254,255,34,1,0,138,254,255,103,1,0,169, +254,255,66,1,0,209,255,255,113,1,0,221,255,255,207,1,0,83,255,255,111,1,0,93,255,255,164,1,0,57,255,255,156,1,0,79,255,255,89,1,0,233,254,255,160,1,0,115,254,255,71,1,0,174,254,255,229,1,0,185,254,255,24,1,0,186,254,255,254,0,0,167,254,255,77,0,0,124, +254,255,198,255,255,90,254,255,100,0,0,147,253,255,235,254,255,64,253,255,186,254,255,159,253,255,124,254,255,64,254,255,158,254,255,161,253,255,33,254,255,101,253,255,17,255,255,23,254,255,178,254,255,243,252,255,195,254,255,173,252,255,58,254,255,198, +252,255,199,253,255,165,252,255,150,254,255,149,252,255,186,253,255,18,252,255,171,253,255,69,252,255,43,253,255,225,251,255,199,253,255,200,251,255,68,253,255,120,252,255,124,253,255,147,252,255,108,253,255,69,252,255,126,253,255,189,251,255,200,253, +255,199,252,255,193,253,255,35,251,255,195,252,255,219,251,255,227,253,255,54,251,255,128,253,255,251,250,255,119,253,255,119,250,255,240,252,255,35,251,255,255,252,255,94,251,255,223,252,255,3,252,255,126,253,255,212,251,255,191,253,255,35,251,255,139, +253,255,186,251,255,20,253,255,106,251,255,212,252,255,115,251,255,86,253,255,6,252,255,158,252,255,46,251,255,64,253,255,220,251,255,145,252,255,8,251,255,14,253,255,99,251,255,2,253,255,239,250,255,66,252,255,81,251,255,4,252,255,167,250,255,128,251, +255,182,250,255,0,252,255,132,250,255,171,251,255,192,250,255,174,251,255,50,250,255,154,251,255,203,249,255,115,251,255,230,249,255,92,251,255,59,249,255,77,251,255,85,250,255,74,251,255,28,250,255,40,252,255,34,249,255,39,251,255,59,250,255,60,251, +255,110,249,255,125,251,255,154,249,255,166,251,255,169,249,255,198,252,255,50,249,255,229,252,255,16,250,255,196,252,255,230,249,255,143,252,255,196,250,255,83,253,255,64,250,255,82,253,255,27,250,255,1,253,255,254,249,255,98,253,255,36,250,255,67,254, +255,68,250,255,25,254,255,234,250,255,15,254,255,218,250,255,247,253,255,80,251,255,112,254,255,216,251,255,167,254,255,177,251,255,102,254,255,109,251,255,254,253,255,213,251,255,67,254,255,162,252,255,78,254,255,94,252,255,56,254,255,121,252,255,58, +254,255,245,251,255,154,253,255,7,252,255,189,253,255,226,251,255,66,253,255,24,252,255,93,253,255,5,252,255,135,252,255,79,252,255,190,252,255,150,251,255,117,252,255,193,251,255,89,252,255,49,252,255,206,251,255,204,251,255,171,251,255,195,252,255, +125,252,255,229,252,255,249,251,255,22,252,255,92,252,255,198,251,255,204,251,255,232,251,255,36,252,255,42,252,255,86,252,255,127,251,255,60,252,255,140,252,255,77,253,255,179,251,255,248,252,255,113,251,255,155,252,255,194,251,255,232,253,255,121,252, +255,236,253,255,105,251,255,110,254,255,156,251,255,252,253,255,184,251,255,22,254,255,18,252,255,215,253,255,58,252,255,17,254,255,89,252,255,136,254,255,55,252,255,104,254,255,170,252,255,63,254,255,107,252,255,32,254,255,95,252,255,20,254,255,46,253, +255,133,253,255,116,252,255,35,253,255,194,252,255,213,253,255,31,253,255,5,253,255,136,253,255,115,253,255,72,253,255,0,253,255,107,252,255,213,252,255,197,252,255,30,253,255,165,253,255,231,252,255,106,252,255,192,252,255,162,252,255,105,252,255,214, +252,255,170,252,255,211,253,255,239,252,255,38,253,255,246,252,255,89,252,255,76,252,255,170,252,255,253,251,255,227,252,255,67,252,255,188,252,255,19,252,255,160,252,255,242,251,255,128,252,255,29,253,255,131,252,255,233,252,255,46,253,255,107,252,255, +30,253,255,199,252,255,201,252,255,175,252,255,16,252,255,55,253,255,177,252,255,15,254,255,218,252,255,192,253,255,15,252,255,210,253,255,226,252,255,189,253,255,245,252,255,159,254,255,211,252,255,176,254,255,78,253,255,188,254,255,74,253,255,43,255, +255,102,253,255,184,254,255,60,253,255,83,255,255,10,254,255,165,255,255,50,254,255,99,255,255,241,253,255,229,255,255,183,253,255,45,0,0,209,254,255,77,0,0,84,254,255,143,0,0,137,255,255,73,1,0,37,255,255,245,0,0,4,0,0,110,1,0,23,255,255,95,1,0,209, +255,255,71,1,0,219,255,255,114,1,0,74,0,0,136,1,0,24,0,0,247,0,0,46,0,0,230,0,0,167,255,255,46,0,0,186,255,255,195,0,0,246,0,0,204,0,0,172,0,0,150,0,0,148,0,0,209,0,0,107,0,0,165,0,0,41,0,0,143,255,255,251,255,255,210,255,255,188,255,255,126,255,255, +220,255,255,180,255,255,130,255,255,197,255,255,155,255,255,66,0,0,27,0,0,234,255,255,100,255,255,222,254,255,102,255,255,173,254,255,14,0,0,116,255,255,107,255,255,136,255,255,127,255,255,16,255,255,138,255,255,161,255,255,184,255,255,62,255,255,183, +255,255,96,255,255,221,255,255,87,255,255,187,255,255,137,254,255,127,255,255,120,254,255,220,255,255,24,255,255,94,255,255,1,255,255,135,255,255,175,254,255,79,255,255,18,254,255,228,255,255,218,253,255,142,255,255,237,254,255,248,254,255,122,254,255, +250,254,255,130,254,255,22,255,255,251,253,255,41,255,255,119,254,255,227,254,255,108,254,255,70,254,255,58,254,255,51,255,255,183,254,255,175,254,255,89,254,255,248,254,255,66,254,255,19,255,255,174,254,255,36,254,255,68,254,255,1,255,255,105,254,255, +96,255,255,136,254,255,175,254,255,70,255,255,132,255,255,147,254,255,67,255,255,238,254,255,0,255,255,153,254,255,230,254,255,82,254,255,155,254,255,226,254,255,1,255,255,67,254,255,109,254,255,17,255,255,22,255,255,109,254,255,184,255,255,250,254,255, +37,255,255,87,255,255,114,254,255,251,254,255,131,255,255,19,255,255,138,254,255,81,255,255,119,255,255,241,254,255,167,255,255,249,255,255,151,255,255,85,0,0,181,255,255,30,0,0,88,255,255,101,255,255,16,0,0,242,255,255,156,0,0,118,0,0,105,0,0,31,1,0, +142,0,0,189,0,0,157,1,0,211,1,0,115,1,0,6,2,0,24,1,0,174,1,0,154,1,0,178,1,0,181,1,0,96,2,0,227,1,0,181,2,0,164,2,0,115,3,0,46,2,0,134,3,0,69,2,0,18,2,0,151,2,0,17,3,0,217,2,0,217,2,0,176,2,0,53,3,0,194,2,0,161,2,0,81,2,0,123,3,0,237,2,0,211,3,0,30,3, +0,88,3,0,251,2,0,222,2,0,254,1,0,211,2,0,190,2,0,146,2,0,81,3,0,8,3,0,144,2,0,177,2,0,201,2,0,191,2,0,194,2,0,116,3,0,59,2,0,97,2,0,251,2,0,2,2,0,179,2,0,5,3,0,36,2,0,251,1,0,198,2,0,122,2,0,7,3,0,125,2,0,212,1,0,51,2,0,23,2,0,252,1,0,110,2,0,228,1,0, +167,2,0,192,1,0,41,2,0,240,1,0,62,2,0,199,0,0,215,1,0,145,1,0,102,2,0,197,1,0,59,2,0,96,1,0,202,2,0,45,2,0,219,2,0,247,2,0,172,2,0,247,1,0,241,2,0,85,2,0,229,2,0,78,3,0,85,3,0,31,3,0,198,2,0,178,2,0,195,3,0,153,3,0,218,3,0,211,3,0,219,3,0,164,3,0,218, +3,0,183,3,0,28,4,0,26,4,0,127,4,0,23,4,0,123,4,0,80,4,0,207,4,0,31,4,0,198,4,0,172,4,0,154,4,0,171,3,0,51,5,0,53,4,0,182,4,0,145,3,0,207,4,0,96,3,0,115,4,0,185,3,0,213,4,0,120,3,0,191,4,0,76,3,0,208,4,0,0,4,0,171,4,0,223,3,0,81,4,0,249,3,0,204,4,0,214, +3,0,111,4,0,218,3,0,232,3,0,204,3,0,50,5,0,32,4,0,84,4,0,90,4,0,228,4,0,97,4,0,228,4,0,36,4,0,29,4,0,231,3,0,151,4,0,86,4,0,99,5,0,115,4,0,188,4,0,160,4,0,191,4,0,81,4,0,45,6,0,223,4,0,231,4,0,205,4,0,177,5,0,100,4,0,60,5,0,213,4,0,52,6,0,178,5,0,204, +5,0,58,5,0,254,5,0,22,5,0,10,6,0,133,5,0,73,6,0,143,5,0,114,6,0,93,5,0,30,6,0,139,5,0,7,7,0,20,6,0,238,6,0,248,5,0,57,7,0,22,6,0,86,6,0,244,5,0,33,7,0,141,6,0,206,7,0,147,6,0,158,7,0,167,6,0,216,6,0,111,6,0,155,6,0,196,6,0,36,7,0,7,7,0,247,6,0,34,7,0, +139,7,0,169,6,0,252,6,0,37,7,0,177,7,0,80,7,0,250,6,0,133,7,0,67,7,0,194,7,0,11,7,0,173,7,0,249,6,0,180,7,0,63,8,0,200,7,0,141,7,0,139,7,0,156,7,0,74,8,0,192,7,0,178,7,0,61,7,0,119,7,0,218,7,0,23,8,0,116,7,0,239,7,0,183,7,0,0,8,0,233,7,0,190,7,0,46,7, +0,82,7,0,250,7,0,210,7,0,110,7,0,68,7,0,164,7,0,154,7,0,70,8,0,191,7,0,5,8,0,66,7,0,15,8,0,88,7,0,158,8,0,247,7,0,237,7,0,135,7,0,7,8,0,129,8,0,118,8,0,114,8,0,45,8,0,46,8,0,129,8,0,107,8,0,125,8,0,40,9,0,233,8,0,118,9,0,57,9,0,210,9,0,29,9,0,118,9,0, +157,9,0,36,10,0,195,9,0,245,9,0,207,9,0,158,9,0,254,9,0,9,10,0,228,9,0,184,9,0,57,10,0,148,10,0,230,9,0,106,9,0,88,10,0,137,9,0,246,10,0,177,9,0,51,10,0,225,8,0,96,10,0,251,8,0,208,9,0,251,8,0,125,9,0,33,8,0,10,10,0,234,7,0,249,8,0,200,7,0,46,9,0,201, +7,0,99,9,0,166,6,0,13,9,0,203,6,0,154,8,0,39,7,0,87,9,0,136,6,0,8,8,0,189,5,0,89,8,0,212,5,0,33,8,0,139,5,0,217,7,0,142,5,0,38,7,0,134,4,0,58,7,0,8,5,0,193,6,0,135,4,0,179,6,0,21,4,0,173,6,0,125,4,0,60,6,0,253,3,0,81,6,0,175,3,0,150,5,0,185,3,0,227,5, +0,240,2,0,251,5,0,9,4,0,207,5,0,155,3,0,133,5,0,104,3,0,83,5,0,251,3,0,34,5,0,134,3,0,106,5,0,147,3,0,53,5,0,216,3,0,170,4,0,127,3,0,145,4,0,123,3,0,230,4,0,103,3,0,93,4,0,57,4,0,169,4,0,21,3,0,2,4,0,111,3,0,75,4,0,198,3,0,239,3,0,154,2,0,45,4,0,183, +2,0,209,3,0,121,3,0,245,3,0,220,2,0,52,4,0,61,2,0,177,3,0,204,1,0,219,3,0,88,2,0,56,4,0,30,2,0,67,3,0,16,2,0,191,3,0,195,1,0,252,3,0,235,1,0,243,2,0,139,1,0,78,3,0,234,0,0,54,3,0,255,0,0,218,2,0,110,1,0,239,2,0,242,0,0,185,2,0,61,1,0,146,2,0,187,0,0, +142,2,0,180,0,0,149,2,0,56,1,0,209,2,0,235,0,0,252,1,0,254,0,0,198,2,0,66,1,0,138,2,0,179,0,0,231,1,0,236,0,0,55,2,0,13,1,0,119,2,0,44,1,0,102,2,0,94,1,0,90,2,0,243,1,0,188,2,0,33,1,0,202,2,0,80,2,0,230,2,0,165,1,0,189,2,0,250,1,0,118,3,0,206,1,0,42, +3,0,33,2,0,58,3,0,194,2,0,75,3,0,8,2,0,206,3,0,162,2,0,114,3,0,97,2,0,163,3,0,33,3,0,26,3,0,88,2,0,140,3,0,255,2,0,178,3,0,211,2,0,108,3,0,175,2,0,124,3,0,164,2,0,182,3,0,114,2,0,191,2,0,28,2,0,227,2,0,6,2,0,11,4,0,105,1,0,78,3,0,112,1,0,0,3,0,25,1,0, +12,3,0,146,1,0,209,2,0,49,1,0,159,2,0,197,0,0,1,3,0,127,1,0,159,2,0,168,0,0,15,3,0,125,1,0,255,1,0,253,255,255,119,1,0,69,0,0,15,2,0,68,0,0,64,2,0,230,0,0,193,1,0,111,0,0,135,2,0,246,0,0,86,2,0,247,0,0,107,2,0,20,1,0,35,2,0,17,0,0,121,2,0,191,0,0,238, +2,0,191,0,0,73,2,0,205,0,0,193,2,0,23,1,0,71,2,0,213,0,0,10,3,0,153,1,0,9,2,0,6,1,0,59,2,0,136,0,0,125,2,0,26,1,0,217,1,0,76,1,0,137,2,0,43,1,0,20,3,0,59,1,0,159,2,0,133,0,0,212,2,0,227,0,0,168,2,0,57,1,0,201,2,0,134,1,0,35,3,0,184,1,0,222,2,0,43,1,0, +164,2,0,110,1,0,93,2,0,23,1,0,206,3,0,236,1,0,37,3,0,221,0,0,80,2,0,221,0,0,209,2,0,118,1,0,179,2,0,17,1,0,110,2,0,154,1,0,1,3,0,198,1,0,176,2,0,92,1,0,255,2,0,155,1,0,16,3,0,63,1,0,223,2,0,60,1,0,165,2,0,213,1,0,207,2,0,107,1,0,185,2,0,147,1,0,202,2, +0,237,1,0,166,2,0,202,1,0,74,2,0,220,0,0,161,2,0,26,1,0,248,2,0,12,1,0,56,2,0,31,1,0,232,2,0,202,0,0,20,2,0,202,0,0,55,3,0,72,1,0,125,2,0,133,0,0,21,2,0,116,0,0,117,2,0,141,0,0,82,2,0,29,0,0,26,2,0,66,255,255,126,1,0,136,255,255,201,1,0,125,255,255,149, +1,0,116,255,255,208,1,0,101,255,255,110,1,0,27,255,255,170,1,0,49,255,255,53,2,0,250,254,255,160,1,0,144,254,255,222,1,0,34,255,255,30,1,0,155,255,255,52,1,0,253,254,255,132,1,0,85,255,255,1,1,0,51,255,255,214,0,0,252,254,255,243,0,0,35,255,255,227,0, +0,46,255,255,174,0,0,2,255,255,49,1,0,18,255,255,198,0,0,240,254,255,152,0,0,248,254,255,160,0,0,115,255,255,204,0,0,228,255,255,226,0,0,92,255,255,147,0,0,27,255,255,9,1,0,121,255,255,151,0,0,60,255,255,202,0,0,221,254,255,47,1,0,84,255,255,67,0,0,39, +255,255,241,255,255,230,254,255,48,0,0,79,254,255,229,255,255,86,254,255,51,0,0,46,255,255,177,255,255,188,254,255,241,255,255,96,254,255,125,255,255,102,254,255,191,255,255,208,253,255,78,255,255,241,253,255,252,255,255,165,253,255,121,255,255,53,253, +255,22,255,255,188,252,255,52,255,255,127,252,255,212,255,255,151,252,255,15,255,255,52,253,255,222,254,255,95,252,255,126,255,255,60,253,255,3,255,255,51,252,255,202,254,255,79,252,255,144,255,255,153,252,255,145,255,255,170,252,255,34,255,255,233,252, +255,10,255,255,194,252,255,18,255,255,232,252,255,69,255,255,78,253,255,11,255,255,162,253,255,193,255,255,195,253,255,224,254,255,68,253,255,34,255,255,10,254,255,223,254,255,80,254,255,190,255,255,14,254,255,87,255,255,255,253,255,175,255,255,53,254, +255,4,0,0,190,254,255,10,0,0,222,253,255,114,255,255,156,253,255,27,0,0,32,253,255,45,0,0,110,253,255,164,255,255,111,253,255,125,255,255,15,253,255,73,255,255,139,252,255,97,255,255,137,252,255,176,255,255,84,252,255,22,255,255,32,252,255,26,255,255, +30,252,255,190,254,255,24,252,255,247,254,255,147,252,255,14,254,255,231,251,255,60,254,255,251,251,255,3,254,255,83,251,255,0,254,255,163,251,255,216,253,255,172,251,255,19,253,255,5,251,255,243,252,255,170,251,255,78,253,255,217,251,255,137,253,255, +12,251,255,134,253,255,88,251,255,154,252,255,170,250,255,197,252,255,182,250,255,117,252,255,190,250,255,81,252,255,180,250,255,193,252,255,9,250,255,181,252,255,104,250,255,24,252,255,69,250,255,12,252,255,133,250,255,131,252,255,236,249,255,128,252, +255,61,250,255,99,252,255,104,250,255,233,251,255,74,250,255,161,252,255,102,250,255,111,252,255,223,250,255,103,252,255,168,250,255,19,252,255,124,250,255,110,252,255,156,250,255,255,252,255,5,251,255,13,253,255,216,250,255,44,253,255,154,251,255,36, +253,255,34,252,255,73,253,255,165,251,255,195,253,255,96,252,255,219,253,255,148,251,255,200,253,255,44,252,255,222,253,255,117,252,255,99,254,255,87,252,255,73,254,255,21,253,255,188,254,255,123,252,255,149,254,255,255,252,255,114,254,255,152,252,255, +122,254,255,36,253,255,94,254,255,182,252,255,235,254,255,236,252,255,13,254,255,88,252,255,198,254,255,37,253,255,126,254,255,35,252,255,205,254,255,168,252,255,132,254,255,177,252,255,60,254,255,53,252,255,73,254,255,108,252,255,234,253,255,167,252, +255,204,253,255,22,252,255,162,254,255,33,252,255,205,253,255,27,252,255,35,254,255,2,252,255,60,254,255,60,252,255,127,254,255,45,252,255,10,254,255,249,251,255,224,253,255,134,252,255,98,254,255,207,251,255,61,254,255,38,252,255,24,254,255,20,252,255, +238,253,255,55,252,255,64,254,255,46,252,255,138,254,255,64,252,255,153,254,255,114,252,255,192,254,255,89,252,255,141,254,255,4,253,255,156,254,255,178,252,255,9,255,255,55,253,255,149,254,255,64,253,255,46,255,255,196,253,255,59,255,255,35,253,255, +51,255,255,119,253,255,99,254,255,138,253,255,11,255,255,186,253,255,86,254,255,242,252,255,225,254,255,215,253,255,7,255,255,114,253,255,231,254,255,181,253,255,27,255,255,18,254,255,242,254,255,234,253,255,225,254,255,112,253,255,96,254,255,114,253, +255,57,255,255,182,253,255,152,254,255,35,253,255,132,254,255,62,253,255,224,254,255,210,252,255,131,254,255,167,252,255,196,254,255,103,252,255,33,255,255,226,252,255,120,254,255,11,253,255,221,254,255,220,252,255,178,254,255,243,252,255,12,255,255, +102,253,255,39,255,255,158,253,255,73,255,255,140,253,255,176,255,255,216,253,255,103,255,255,209,253,255,124,255,255,247,253,255,115,255,255,73,254,255,177,255,255,28,254,255,156,255,255,131,254,255,252,255,255,132,254,255,40,0,0,175,254,255,228,255, +255,80,254,255,38,0,0,5,254,255,41,0,0,0,255,255,237,255,255,101,255,255,44,0,0,179,254,255,26,0,0,255,254,255,87,0,0,250,254,255,89,0,0,16,255,255,221,255,255,48,254,255,30,0,0,25,255,255,220,255,255,180,254,255,40,255,255,232,254,255,193,255,255,23, +255,255,224,255,255,178,254,255,70,255,255,152,254,255,171,255,255,146,254,255,48,255,255,127,254,255,156,255,255,202,254,255,106,255,255,177,254,255,26,255,255,128,254,255,210,255,255,30,255,255,32,255,255,52,254,255,61,0,0,49,255,255,140,255,255,22, +255,255,122,255,255,144,254,255,177,255,255,154,254,255,165,255,255,188,254,255,239,255,255,198,254,255,161,255,255,7,255,255,201,255,255,154,254,255,70,0,0,62,255,255,233,255,255,26,255,255,107,0,0,98,255,255,125,0,0,89,255,255,255,255,255,200,255,255, +152,0,0,162,255,255,222,255,255,123,255,255,121,0,0,77,0,0,86,0,0,145,255,255,95,0,0,146,255,255,192,0,0,118,255,255,135,0,0,151,255,255,58,0,0,128,255,255,146,0,0,92,255,255,139,0,0,27,255,255,82,0,0,196,254,255,163,0,0,203,254,255,208,0,0,137,255,255, +82,0,0,82,255,255,170,0,0,121,254,255,156,0,0,57,254,255,93,0,0,43,254,255,88,0,0,216,253,255,213,255,255,68,253,255,12,0,0,22,254,255,37,255,255,100,253,255,151,255,255,210,253,255,49,255,255,118,253,255,166,254,255,151,253,255,239,254,255,154,253,255, +181,254,255,29,253,255,67,254,255,63,253,255,108,254,255,90,253,255,199,254,255,143,253,255,110,254,255,143,253,255,163,254,255,231,253,255,135,254,255,132,253,255,219,254,255,99,253,255,69,255,255,130,253,255,119,254,255,226,253,255,76,254,255,155,253, +255,215,254,255,152,253,255,227,254,255,24,254,255,84,255,255,206,253,255,133,255,255,189,253,255,150,254,255,139,253,255,86,255,255,194,253,255,49,255,255,201,253,255,149,254,255,12,253,255,214,254,255,69,253,255,121,254,255,232,252,255,24,255,255,48, +253,255,144,254,255,199,252,255,99,254,255,76,252,255,201,253,255,8,252,255,229,253,255,21,252,255,234,253,255,222,251,255,223,252,255,109,251,255,26,254,255,133,251,255,46,253,255,249,250,255,244,252,255,57,251,255,60,253,255,45,251,255,6,253,255,250, +250,255,243,252,255,213,250,255,180,252,255,185,250,255,145,252,255,122,250,255,164,252,255,250,250,255,145,252,255,65,251,255,203,252,255,90,251,255,25,253,255,97,251,255,49,253,255,189,251,255,12,253,255,128,251,255,82,253,255,180,251,255,121,252,255, +215,251,255,43,253,255,137,252,255,221,252,255,36,252,255,244,252,255,86,252,255,39,253,255,133,252,255,98,253,255,93,252,255,95,253,255,50,253,255,151,253,255,37,253,255,71,253,255,239,252,255,178,253,255,125,253,255,67,253,255,92,253,255,220,253,255, +196,253,255,236,253,255,188,253,255,123,253,255,179,253,255,227,253,255,204,253,255,87,253,255,176,253,255,137,253,255,184,253,255,194,253,255,72,253,255,134,253,255,159,253,255,133,253,255,102,253,255,227,253,255,116,253,255,141,253,255,244,252,255, +130,253,255,207,252,255,238,253,255,192,252,255,192,253,255,200,252,255,139,253,255,206,252,255,175,253,255,162,252,255,185,253,255,239,252,255,202,253,255,17,252,255,122,253,255,11,252,255,156,253,255,49,252,255,191,253,255,156,251,255,118,253,255,221, +251,255,178,253,255,80,252,255,129,253,255,142,251,255,76,253,255,243,251,255,65,253,255,160,252,255,103,253,255,5,252,255,200,252,255,190,251,255,183,253,255,49,252,255,36,253,255,64,252,255,114,253,255,94,252,255,235,252,255,123,252,255,94,253,255, +45,252,255,97,253,255,104,252,255,48,253,255,134,252,255,84,253,255,177,252,255,90,253,255,147,252,255,21,253,255,147,252,255,75,253,255,224,252,255,42,253,255,180,252,255,95,253,255,147,252,255,146,252,255,105,252,255,231,252,255,57,253,255,249,252, +255,36,252,255,41,253,255,203,252,255,185,252,255,241,252,255,211,252,255,49,252,255,27,253,255,158,252,255,14,253,255,145,252,255,30,253,255,192,252,255,11,253,255,223,252,255,75,253,255,132,252,255,39,253,255,117,252,255,5,253,255,140,252,255,221,252, +255,131,252,255,232,252,255,94,252,255,220,252,255,139,252,255,165,253,255,52,253,255,51,253,255,218,252,255,171,253,255,23,253,255,162,253,255,253,252,255,19,254,255,134,253,255,42,254,255,7,253,255,235,253,255,21,253,255,33,254,255,67,253,255,100,254, +255,98,253,255,61,254,255,52,253,255,134,254,255,196,253,255,98,254,255,112,253,255,93,254,255,16,254,255,162,253,255,149,253,255,124,254,255,36,254,255,67,254,255,121,253,255,209,253,255,62,254,255,171,253,255,139,253,255,219,253,255,34,254,255,56,253, +255,30,254,255,252,253,255,122,254,255,212,253,255,59,254,255,124,253,255,225,253,255,248,253,255,65,254,255,215,253,255,72,254,255,247,253,255,145,254,255,248,253,255,66,254,255,233,253,255,108,254,255,82,254,255,83,254,255,54,254,255,68,254,255,111, +254,255,47,254,255,230,254,255,104,254,255,121,254,255,9,254,255,179,254,255,190,253,255,150,254,255,171,253,255,151,254,255,149,254,255,216,254,255,245,253,255,236,254,255,46,254,255,146,254,255,237,253,255,70,255,255,80,254,255,199,254,255,200,253, +255,170,255,255,52,254,255,234,254,255,170,253,255,158,254,255,58,254,255,205,254,255,237,253,255,132,254,255,211,253,255,12,255,255,6,254,255,147,254,255,89,254,255,187,254,255,180,254,255,130,254,255,131,254,255,30,254,255,44,254,255,88,254,255,112, +254,255,6,254,255,162,254,255,68,254,255,200,254,255,12,254,255,168,254,255,100,254,255,186,254,255,115,254,255,209,254,255,148,254,255,237,254,255,69,254,255,73,255,255,73,254,255,187,254,255,210,253,255,13,255,255,121,254,255,147,255,255,89,254,255, +173,255,255,5,255,255,34,0,0,63,254,255,101,255,255,251,254,255,172,255,255,26,255,255,214,255,255,83,255,255,243,255,255,241,254,255,151,255,255,81,255,255,223,255,255,50,255,255,238,255,255,20,255,255,132,255,255,62,255,255,135,255,255,231,254,255, +157,255,255,197,255,255,157,255,255,80,0,0,49,0,0,227,255,255,217,255,255,183,0,0,48,0,0,38,0,0,230,255,255,196,0,0,152,0,0,153,0,0,76,0,0,215,0,0,117,0,0,197,0,0,182,0,0,23,1,0,192,0,0,123,0,0,35,1,0,208,0,0,187,0,0,71,1,0,70,1,0,35,1,0,245,0,0,184, +0,0,78,1,0,144,0,0,18,1,0,28,1,0,57,1,0,249,0,0,170,1,0,73,1,0,45,1,0,58,1,0,35,1,0,224,0,0,82,1,0,204,0,0,255,0,0,31,1,0,114,1,0,102,0,0,42,1,0,209,0,0,99,1,0,121,0,0,166,1,0,114,0,0,170,1,0,165,0,0,181,1,0,107,0,0,114,1,0,183,0,0,137,1,0,152,0,0,27, +1,0,47,0,0,70,1,0,124,0,0,30,1,0,61,0,0,117,1,0,156,0,0,254,0,0,45,0,0,171,0,0,90,0,0,142,1,0,14,0,0,217,0,0,140,0,0,211,0,0,65,0,0,27,1,0,162,0,0,173,0,0,133,0,0,118,1,0,145,0,0,129,1,0,191,0,0,59,1,0,243,0,0,153,1,0,52,1,0,78,1,0,30,1,0,240,1,0,223, +1,0,54,2,0,126,1,0,176,1,0,135,1,0,239,1,0,52,2,0,79,2,0,246,1,0,13,2,0,62,2,0,113,2,0,27,2,0,90,2,0,70,2,0,120,2,0,115,2,0,134,2,0,204,1,0,45,2,0,62,2,0,49,2,0,204,1,0,5,2,0,195,1,0,57,2,0,208,1,0,36,2,0,249,1,0,187,1,0,229,1,0,185,1,0,196,1,0,199,1, +0,111,1,0,211,1,0,240,1,0,199,1,0,15,1,0,72,1,0,24,1,0,132,1,0,186,0,0,58,1,0,69,1,0,123,1,0,79,1,0,32,1,0,236,0,0,76,1,0,189,0,0,33,1,0,193,0,0,74,1,0,50,0,0,233,0,0,125,0,0,159,1,0,220,0,0,71,1,0,117,0,0,26,1,0,125,0,0,102,1,0,180,0,0,116,1,0,154,0, +0,21,1,0,201,0,0,84,1,0,197,0,0,80,1,0,142,0,0,200,1,0,230,0,0,113,1,0,147,0,0,198,1,0,87,0,0,33,1,0,109,0,0,192,1,0,234,0,0,194,1,0,114,0,0,184,1,0,0,1,0,158,1,0,242,0,0,234,1,0,155,1,0,16,2,0,129,1,0,218,1,0,97,1,0,75,2,0,118,1,0,86,2,0,217,1,0,150, +2,0,233,1,0,118,2,0,255,1,0,223,2,0,9,2,0,197,2,0,237,1,0,69,2,0,242,1,0,202,2,0,159,1,0,188,2,0,35,2,0,163,2,0,156,1,0,108,2,0,31,2,0,158,2,0,12,1,0,118,2,0,72,1,0,244,1,0,251,0,0,111,1,0,26,1,0,188,1,0,250,0,0,153,1,0,119,0,0,107,1,0,162,0,0,72,1,0, +189,0,0,251,0,0,52,0,0,239,0,0,39,0,0,229,0,0,43,0,0,251,0,0,33,0,0,233,0,0,36,0,0,206,0,0,208,255,255,178,0,0,54,0,0,69,1,0,123,0,0,247,0,0,93,0,0,43,1,0,5,0,0,109,1,0,176,0,0,55,1,0,189,0,0,146,1,0,181,0,0,230,1,0,33,1,0,205,1,0,35,1,0,218,1,0,12,1, +0,200,1,0,21,1,0,234,1,0,97,1,0,189,1,0,231,1,0,98,2,0,96,1,0,195,1,0,74,1,0,26,2,0,109,1,0,11,2,0,59,1,0,240,1,0,70,1,0,217,1,0,112,1,0,73,1,0,249,0,0,90,1,0,218,0,0,63,1,0,42,1,0,192,1,0,13,1,0,147,1,0,234,0,0,33,1,0,207,0,0,10,1,0,188,0,0,127,1,0, +2,1,0,50,1,0,144,0,0,44,1,0,59,0,0,243,0,0,217,0,0,179,0,0,104,0,0,98,1,0,246,255,255,122,0,0,89,0,0,151,0,0,72,0,0,10,1,0,239,255,255,222,0,0,29,0,0,255,0,0,7,0,0,247,0,0,233,255,255,189,0,0,250,255,255,228,0,0,35,0,0,170,0,0,100,0,0,247,0,0,36,0,0, +168,0,0,106,0,0,156,0,0,27,0,0,167,0,0,24,0,0,176,0,0,240,255,255,223,0,0,118,0,0,234,0,0,216,255,255,187,0,0,23,0,0,178,0,0,228,255,255,228,0,0,38,0,0,133,0,0,0,0,0,55,1,0,94,0,0,182,0,0,11,0,0,185,0,0,13,0,0,123,0,0,28,0,0,161,0,0,200,255,255,243,0, +0,27,0,0,227,0,0,69,255,255,155,0,0,63,0,0,225,0,0,203,255,255,95,0,0,246,255,255,156,0,0,185,255,255,146,0,0,157,255,255,93,0,0,227,255,255,188,255,255,204,255,255,244,255,255,149,255,255,25,0,0,160,255,255,170,255,255,127,255,255,205,255,255,46,255, +255,189,255,255,14,255,255,192,255,255,52,255,255,149,255,255,198,254,255,66,255,255,221,254,255,81,255,255,93,255,255,151,255,255,245,254,255,41,255,255,67,255,255,96,255,255,207,254,255,166,255,255,187,254,255,117,255,255,230,254,255,141,255,255,215, +254,255,45,255,255,60,255,255,213,255,255,225,254,255,92,255,255,10,255,255,127,255,255,126,255,255,64,0,0,62,255,255,211,255,255,181,255,255,26,0,0,42,255,255,14,0,0,75,255,255,17,0,0,7,255,255,85,0,0,98,255,255,114,0,0,116,255,255,123,0,0,66,255,255, +35,0,0,143,255,255,116,0,0,80,255,255,33,0,0,29,255,255,59,0,0,13,255,255,93,0,0,28,255,255,66,0,0,40,255,255,52,0,0,56,255,255,32,0,0,40,255,255,29,0,0,124,255,255,88,0,0,180,254,255,190,255,255,21,255,255,137,255,255,39,255,255,132,255,255,5,255,255, +122,255,255,191,254,255,220,255,255,43,255,255,218,254,255,240,254,255,200,254,255,207,254,255,104,255,255,225,254,255,188,254,255,201,254,255,172,254,255,164,254,255,210,254,255,85,254,255,153,254,255,182,254,255,156,254,255,129,254,255,85,254,255,107, +254,255,162,254,255,87,254,255,6,254,255,229,253,255,111,254,255,23,254,255,62,254,255,21,254,255,102,254,255,220,253,255,56,254,255,219,253,255,3,254,255,209,253,255,57,254,255,80,253,255,58,254,255,245,253,255,26,254,255,25,254,255,82,254,255,51,254, +255,14,254,255,231,253,255,79,254,255,192,253,255,100,254,255,228,253,255,80,254,255,14,254,255,177,254,255,245,253,255,93,254,255,65,254,255,106,254,255,137,253,255,229,253,255,206,253,255,137,254,255,183,253,255,188,254,255,236,253,255,161,254,255, +217,253,255,196,254,255,164,253,255,151,254,255,250,253,255,130,254,255,188,253,255,20,254,255,184,253,255,93,254,255,60,253,255,34,254,255,217,253,255,28,254,255,121,253,255,241,253,255,45,253,255,45,254,255,47,253,255,50,254,255,170,253,255,227,253, +255,179,253,255,5,254,255,125,253,255,168,253,255,111,253,255,210,253,255,120,253,255,188,253,255,43,253,255,165,253,255,113,253,255,213,253,255,117,253,255,161,253,255,56,253,255,27,253,255,188,253,255,239,253,255,137,253,255,131,253,255,155,253,255, +169,253,255,199,253,255,205,253,255,144,253,255,211,253,255,133,253,255,192,253,255,131,253,255,219,253,255,183,253,255,189,253,255,149,253,255,246,253,255,132,253,255,245,253,255,165,253,255,94,254,255,217,253,255,66,254,255,248,253,255,93,254,255,252, +253,255,211,254,255,21,254,255,190,254,255,84,254,255,57,255,255,74,254,255,43,255,255,172,254,255,251,254,255,75,254,255,239,254,255,127,254,255,209,254,255,93,254,255,120,255,255,237,254,255,28,255,255,30,255,255,110,255,255,247,254,255,241,254,255, +14,255,255,74,255,255,197,254,255,19,255,255,243,254,255,208,254,255,251,254,255,29,255,255,29,255,255,18,255,255,161,255,255,62,255,255,83,255,255,246,254,255,239,254,255,76,255,255,100,255,255,90,255,255,244,254,255,216,254,255,25,255,255,25,255,255, +117,255,255,250,254,255,20,255,255,172,254,255,94,255,255,222,254,255,212,254,255,143,254,255,190,254,255,196,254,255,153,254,255,254,254,255,188,254,255,211,254,255,236,254,255,226,254,255,167,254,255,44,255,255,115,254,255,201,254,255,1,255,255,254, +254,255,223,254,255,234,254,255,241,254,255,43,255,255,252,254,255,98,255,255,217,254,255,250,254,255,239,254,255,42,255,255,29,255,255,146,255,255,62,255,255,138,255,255,0,255,255,160,255,255,102,255,255,169,255,255,63,255,255,72,255,255,197,255,255, +98,255,255,94,255,255,80,255,255,102,255,255,143,255,255,199,255,255,160,255,255,49,255,255,97,255,255,145,255,255,167,255,255,23,255,255,96,255,255,4,0,0,172,255,255,83,255,255,89,255,255,152,255,255,136,255,255,100,255,255,252,254,255,124,255,255,3, +255,255,59,0,0,95,255,255,214,255,255,87,255,255,128,255,255,74,255,255,138,255,255,238,254,255,184,255,255,44,255,255,143,255,255,14,255,255,48,255,255,114,254,255,153,255,255,112,254,255,124,255,255,210,254,255,126,255,255,141,254,255,36,255,255,87, +254,255,89,255,255,161,254,255,65,255,255,236,254,255,73,255,255,132,254,255,74,255,255,16,255,255,46,255,255,45,254,255,98,255,255,149,254,255,223,254,255,107,254,255,146,254,255,211,254,255,179,254,255,184,254,255,43,255,255,66,254,255,169,254,255, +151,254,255,129,254,255,78,254,255,220,254,255,166,254,255,191,254,255,110,254,255,166,254,255,65,254,255,197,254,255,44,254,255,115,254,255,180,254,255,136,254,255,72,254,255,104,254,255,149,254,255,9,255,255,133,254,255,214,254,255,93,254,255,241,254, +255,113,254,255,179,254,255,143,254,255,124,254,255,72,254,255,190,254,255,74,254,255,148,254,255,157,254,255,208,254,255,101,254,255,146,254,255,82,254,255,214,254,255,180,254,255,235,254,255,38,254,255,1,255,255,60,254,255,51,255,255,125,254,255,12, +255,255,231,254,255,197,254,255,107,254,255,151,255,255,164,254,255,49,255,255,67,254,255,115,255,255,122,254,255,66,255,255,215,254,255,39,255,255,178,254,255,165,255,255,7,255,255,91,255,255,43,254,255,95,255,255,7,255,255,125,255,255,180,254,255,126, +255,255,240,254,255,161,255,255,34,255,255,115,255,255,144,255,255,207,255,255,12,255,255,240,255,255,5,255,255,215,255,255,41,255,255,163,255,255,0,255,255,25,0,0,78,255,255,2,0,0,219,254,255,44,0,0,57,255,255,12,0,0,77,255,255,230,255,255,9,255,255, +46,0,0,22,255,255,58,0,0,73,255,255,108,0,0,30,255,255,110,0,0,86,255,255,53,0,0,12,255,255,71,0,0,136,255,255,31,0,0,79,255,255,65,0,0,136,255,255,57,0,0,140,255,255,255,255,255,80,255,255,80,0,0,82,255,255,24,0,0,116,255,255,249,255,255,79,255,255, +246,255,255,92,255,255,238,255,255,62,255,255,28,0,0,88,255,255,240,255,255,112,255,255,26,0,0,45,255,255,227,255,255,211,254,255,238,255,255,221,254,255,40,0,0,85,255,255,16,0,0,248,254,255,34,0,0,29,255,255,253,255,255,113,255,255,10,0,0,34,255,255, +222,255,255,74,255,255,219,255,255,136,255,255,4,0,0,91,255,255,35,0,0,92,255,255,22,0,0,123,255,255,22,0,0,72,255,255,7,0,0,77,255,255,76,0,0,146,255,255,113,0,0,143,255,255,175,0,0,132,255,255,192,0,0,217,255,255,147,0,0,118,255,255,188,0,0,223,255, +255,234,0,0,195,255,255,228,0,0,237,255,255,43,1,0,25,0,0,220,0,0,224,255,255,81,1,0,57,0,0,252,0,0,198,255,255,71,1,0,9,0,0,247,0,0,209,255,255,252,0,0,217,255,255,121,1,0,14,0,0,33,1,0,233,255,255,117,1,0,177,255,255,71,1,0,30,0,0,74,1,0,227,255,255, +235,0,0,167,255,255,57,1,0,189,255,255,212,0,0,115,255,255,193,0,0,166,255,255,198,0,0,139,255,255,174,0,0,48,255,255,136,0,0,37,255,255,209,0,0,132,255,255,115,0,0,1,255,255,86,0,0,76,255,255,105,0,0,102,255,255,106,0,0,65,255,255,83,0,0,38,255,255, +58,0,0,252,254,255,147,0,0,148,255,255,12,0,0,8,255,255,166,0,0,97,255,255,114,0,0,46,255,255,6,0,0,55,255,255,255,255,255,48,255,255,88,0,0,90,255,255,53,0,0,169,255,255,77,0,0,99,255,255,74,0,0,134,255,255,74,0,0,146,255,255,31,0,0,180,255,255,76,0, +0,178,255,255,86,0,0,215,255,255,124,0,0,42,0,0,164,0,0,125,0,0,61,0,0,88,0,0,153,0,0,182,0,0,11,1,0,190,0,0,38,1,0,63,1,0,206,0,0,233,0,0,61,1,0,25,1,0,59,1,0,17,1,0,90,1,0,20,1,0,95,1,0,187,0,0,104,1,0,243,0,0,152,1,0,9,1,0,120,1,0,251,0,0,157,1,0, +238,0,0,186,1,0,200,0,0,223,1,0,179,0,0,171,1,0,182,0,0,139,1,0,177,0,0,133,1,0,111,0,0,182,1,0,112,0,0,169,1,0,46,0,0,174,1,0,46,0,0,145,1,0,6,0,0,94,1,0,83,0,0,200,1,0,62,0,0,127,1,0,176,0,0,106,1,0,72,0,0,57,1,0,66,0,0,86,1,0,82,0,0,75,1,0,10,0,0, +38,1,0,114,0,0,118,1,0,131,0,0,56,1,0,181,0,0,60,1,0,135,0,0,30,1,0,177,0,0,66,1,0,137,0,0,165,1,0,241,0,0,104,1,0,244,0,0,76,1,0,214,0,0,127,1,0,221,0,0,31,1,0,222,0,0,77,1,0,2,1,0,106,1,0,24,1,0,89,1,0,37,1,0,177,1,0,35,1,0,87,1,0,54,1,0,109,1,0,12, +1,0,180,1,0,47,1,0,203,1,0,29,1,0,175,1,0,246,0,0,108,1,0,8,1,0,187,1,0,81,1,0,150,1,0,77,1,0,177,1,0,38,1,0,191,1,0,5,1,0,218,1,0,12,1,0,226,1,0,211,0,0,134,1,0,253,0,0,152,1,0,178,0,0,127,1,0,166,0,0,146,1,0,192,0,0,224,1,0,87,0,0,156,1,0,99,0,0,248, +1,0,164,0,0,84,1,0,24,0,0,141,1,0,63,0,0,155,1,0,232,255,255,152,1,0,13,0,0,115,1,0,233,255,255,87,1,0,187,255,255,105,1,0,21,0,0,99,1,0,167,255,255,107,1,0,130,255,255,83,1,0,193,255,255,61,1,0,166,255,255,81,1,0,154,255,255,56,1,0,215,255,255,122,1, +0,219,255,255,81,1,0,253,255,255,51,1,0,250,255,255,8,1,0,32,0,0,22,1,0,25,0,0,18,1,0,48,0,0,228,0,0,64,0,0,248,0,0,69,0,0,30,1,0,131,0,0,37,1,0,81,0,0,2,1,0,143,0,0,45,1,0,127,0,0,29,1,0,136,0,0,115,1,0,174,0,0,54,1,0,132,0,0,248,0,0,132,0,0,69,1,0, +7,1,0,52,1,0,174,0,0,103,1,0,173,0,0,66,1,0,167,0,0,101,1,0,154,0,0,98,1,0,159,0,0,241,0,0,141,0,0,47,1,0,170,0,0,44,1,0,189,0,0,75,1,0,200,0,0,23,1,0,154,0,0,92,1,0,178,0,0,76,1,0,133,0,0,101,1,0,143,0,0,149,1,0,183,0,0,87,1,0,140,0,0,129,1,0,188,0, +0,69,1,0,102,0,0,93,1,0,138,0,0,88,1,0,105,0,0,109,1,0,133,0,0,192,1,0,153,0,0,77,1,0,95,0,0,215,1,0,243,0,0,154,1,0,173,0,0,128,1,0,218,0,0,158,1,0,35,1,0,239,1,0,31,1,0,229,1,0,90,1,0,189,1,0,78,1,0,184,1,0,89,1,0,186,1,0,88,1,0,236,1,0,115,1,0,7,2, +0,123,1,0,221,1,0,182,1,0,35,2,0,161,1,0,44,2,0,154,1,0,89,2,0,170,1,0,44,2,0,158,1,0,109,2,0,128,1,0,156,2,0,193,1,0,98,2,0,167,1,0,118,2,0,209,1,0,251,2,0,199,1,0,150,2,0,171,1,0,118,2,0,161,1,0,180,2,0,181,1,0,115,2,0,189,1,0,151,2,0,98,1,0,134,2, +0,191,1,0,64,2,0,129,1,0,185,2,0,214,1,0,151,2,0,156,1,0,208,2,0,235,1,0,156,2,0,198,1,0,157,2,0,218,1,0,134,2,0,11,2,0,156,2,0,220,1,0,115,2,0,199,1,0,183,2,0,248,1,0,176,2,0,22,2,0,120,2,0,217,1,0,133,2,0,250,1,0,62,2,0,1,2,0,145,2,0,213,1,0,90,2,0, +187,1,0,137,2,0,212,1,0,144,2,0,228,1,0,155,2,0,230,1,0,144,2,0,176,1,0,198,2,0,5,2,0,181,2,0,231,1,0,195,2,0,251,1,0,193,2,0,55,2,0,225,2,0,60,2,0,211,2,0,81,2,0,48,3,0,54,2,0,241,2,0,79,2,0,31,3,0,120,2,0,3,3,0,144,2,0,43,3,0,168,2,0,20,3,0,159,2,0, +208,2,0,180,2,0,41,3,0,217,2,0,40,3,0,233,2,0,52,3,0,176,2,0,96,3,0,164,2,0,147,3,0,232,2,0,45,3,0,238,2,0,40,3,0,207,2,0,80,3,0,60,3,0,47,3,0,224,2,0,21,3,0,21,3,0,58,3,0,63,3,0,56,3,0,20,3,0,83,3,0,65,3,0,118,3,0,115,3,0,71,3,0,73,3,0,103,3,0,128,3, +0,21,3,0,104,3,0,160,3,0,101,3,0,69,3,0,81,3,0,137,3,0,179,3,0,101,3,0,103,3,0,110,3,0,139,3,0,166,3,0,136,3,0,113,3,0,45,3,0,155,3,0,89,3,0,105,3,0,99,3,0,79,3,0,84,3,0,125,3,0,44,3,0,100,3,0,236,2,0,143,3,0,232,2,0,89,3,0,205,2,0,68,3,0,168,2,0,54, +3,0,105,2,0,27,3,0,123,2,0,58,3,0,99,2,0,48,3,0,96,2,0,237,2,0,66,2,0,222,2,0,66,2,0,240,2,0,5,2,0,214,2,0,133,2,0,235,2,0,74,2,0,226,2,0,70,2,0,232,2,0,110,2,0,187,2,0,88,2,0,184,2,0,132,2,0,183,2,0,149,2,0,195,2,0,214,2,0,67,2,0,114,2,0,150,2,0,116, +2,0,80,2,0,125,2,0,121,2,0,213,2,0,71,2,0,185,2,0,131,2,0,215,2,0,172,2,0,154,2,0,112,2,0,192,2,0,130,2,0,208,2,0,179,2,0,204,2,0,178,2,0,209,2,0,197,2,0,177,2,0,207,2,0,200,2,0,131,2,0,224,2,0,193,2,0,186,2,0,193,2,0,197,2,0,146,2,0,148,2,0,175,2,0, +135,2,0,245,2,0,233,2,0,208,2,0,185,2,0,184,2,0,150,2,0,191,2,0,133,2,0,153,2,0,170,2,0,159,2,0,87,2,0,125,2,0,71,2,0,1,3,0,156,2,0,138,2,0,94,2,0,132,2,0,93,2,0,133,2,0,69,2,0,119,2,0,43,2,0,12,2,0,17,2,0,104,2,0,37,2,0,89,2,0,41,2,0,47,2,0,253,1,0, +245,1,0,211,1,0,211,1,0,191,1,0,186,1,0,177,1,0,232,1,0,138,1,0,196,1,0,90,1,0,158,1,0,170,1,0,97,1,0,74,1,0,173,1,0,156,1,0,75,1,0,91,1,0,148,1,0,121,1,0,125,1,0,118,1,0,68,1,0,71,1,0,52,1,0,81,1,0,94,1,0,71,1,0,244,0,0,92,1,0,61,1,0,80,1,0,98,1,0,83, +1,0,251,0,0,75,1,0,48,1,0,32,1,0,4,1,0,72,1,0,230,0,0,59,1,0,235,0,0,69,1,0,1,1,0,44,1,0,65,1,0,111,1,0,15,1,0,16,1,0,231,0,0,84,1,0,222,0,0,52,1,0,230,0,0,85,1,0,184,0,0,229,0,0,225,0,0,201,0,0,224,0,0,0,1,0,216,0,0,216,0,0,3,1,0,193,0,0,214,0,0,3,1, +0,253,0,0,27,1,0,232,0,0,247,0,0,231,0,0,239,0,0,172,0,0,181,0,0,169,0,0,21,1,0,171,0,0,223,0,0,224,0,0,0,1,0,171,0,0,26,1,0,206,0,0,49,1,0,134,0,0,255,0,0,156,0,0,235,0,0,169,0,0,13,1,0,83,0,0,199,0,0,147,0,0,253,0,0,98,0,0,10,1,0,114,0,0,229,0,0,152, +0,0,64,1,0,89,0,0,236,0,0,130,0,0,227,0,0,164,0,0,245,0,0,139,0,0,12,1,0,139,0,0,227,0,0,114,0,0,199,0,0,91,0,0,177,0,0,161,0,0,222,0,0,131,0,0,224,0,0,69,0,0,240,0,0,95,0,0,201,0,0,87,0,0,154,0,0,96,0,0,208,0,0,96,0,0,183,0,0,62,0,0,181,0,0,130,0,0, +197,0,0,74,0,0,164,0,0,54,0,0,163,0,0,83,0,0,168,0,0,55,0,0,149,0,0,65,0,0,172,0,0,120,0,0,200,0,0,52,0,0,194,0,0,70,0,0,165,0,0,67,0,0,210,0,0,83,0,0,172,0,0,27,0,0,106,0,0,252,255,255,144,0,0,234,255,255,156,0,0,226,255,255,127,0,0,247,255,255,188, +0,0,197,255,255,144,0,0,183,255,255,137,0,0,181,255,255,90,0,0,150,255,255,89,0,0,151,255,255,105,0,0,164,255,255,54,0,0,118,255,255,112,0,0,129,255,255,83,0,0,137,255,255,85,0,0,121,255,255,2,0,0,42,255,255,13,0,0,96,255,255,75,0,0,134,255,255,16,0, +0,76,255,255,31,0,0,70,255,255,245,255,255,82,255,255,21,0,0,54,255,255,250,255,255,116,255,255,0,0,0,60,255,255,13,0,0,113,255,255,45,0,0,98,255,255,37,0,0,102,255,255,21,0,0,144,255,255,25,0,0,157,255,255,52,0,0,95,255,255,85,0,0,107,255,255,31,0,0, +144,255,255,47,0,0,187,255,255,30,0,0,124,255,255,50,0,0,141,255,255,36,0,0,169,255,255,65,0,0,205,255,255,58,0,0,160,255,255,75,0,0,126,255,255,70,0,0,140,255,255,56,0,0,189,255,255,101,0,0,122,255,255,63,0,0,166,255,255,100,0,0,155,255,255,82,0,0,110, +255,255,96,0,0,199,255,255,102,0,0,165,255,255,102,0,0,161,255,255,148,0,0,180,255,255,120,0,0,181,255,255,144,0,0,201,255,255,126,0,0,156,255,255,88,0,0,179,255,255,128,0,0,200,255,255,182,0,0,187,255,255,159,0,0,201,255,255,122,0,0,112,255,255,87,0, +0,189,255,255,82,0,0,133,255,255,60,0,0,141,255,255,29,0,0,101,255,255,60,0,0,115,255,255,42,0,0,91,255,255,255,255,255,70,255,255,213,255,255,45,255,255,223,255,255,12,255,255,194,255,255,247,254,255,184,255,255,230,254,255,201,255,255,218,254,255,173, +255,255,218,254,255,176,255,255,21,255,255,216,255,255,10,255,255,213,255,255,226,254,255,224,255,255,36,255,255,236,255,255,42,255,255,33,0,0,33,255,255,7,0,0,28,255,255,3,0,0,100,255,255,33,0,0,112,255,255,38,0,0,100,255,255,64,0,0,73,255,255,16,0, +0,100,255,255,79,0,0,143,255,255,50,0,0,130,255,255,82,0,0,146,255,255,85,0,0,132,255,255,55,0,0,225,255,255,70,0,0,236,255,255,55,0,0,152,255,255,35,0,0,173,255,255,36,0,0,174,255,255,66,0,0,167,255,255,44,0,0,207,255,255,74,0,0,207,255,255,63,0,0,196, +255,255,108,0,0,212,255,255,49,0,0,205,255,255,59,0,0,167,255,255,16,0,0,125,255,255,31,0,0,190,255,255,58,0,0,93,255,255,233,255,255,93,255,255,231,255,255,111,255,255,165,255,255,111,255,255,237,255,255,114,255,255,219,255,255,54,255,255,158,255,255, +66,255,255,142,255,255,72,255,255,173,255,255,45,255,255,128,255,255,23,255,255,156,255,255,207,254,255,103,255,255,25,255,255,116,255,255,0,255,255,125,255,255,233,254,255,96,255,255,226,254,255,91,255,255,222,254,255,86,255,255,214,254,255,71,255,255, +213,254,255,85,255,255,165,254,255,33,255,255,136,254,255,36,255,255,184,254,255,84,255,255,172,254,255,66,255,255,208,254,255,121,255,255,153,254,255,70,255,255,162,254,255,110,255,255,188,254,255,93,255,255,164,254,255,63,255,255,184,254,255,123,255, +255,183,254,255,102,255,255,217,254,255,124,255,255,180,254,255,85,255,255,220,254,255,145,255,255,219,254,255,131,255,255,147,254,255,109,255,255,201,254,255,133,255,255,195,254,255,137,255,255,194,254,255,158,255,255,208,254,255,102,255,255,217,254, +255,113,255,255,179,254,255,113,255,255,207,254,255,108,255,255,229,254,255,144,255,255,177,254,255,112,255,255,201,254,255,83,255,255,216,254,255,97,255,255,217,254,255,92,255,255,199,254,255,49,255,255,234,254,255,92,255,255,209,254,255,65,255,255, +165,254,255,79,255,255,198,254,255,42,255,255,183,254,255,5,255,255,174,254,255,24,255,255,137,254,255,36,255,255,118,254,255,252,254,255,169,254,255,16,255,255,174,254,255,12,255,255,117,254,255,7,255,255,143,254,255,4,255,255,145,254,255,38,255,255, +129,254,255,11,255,255,141,254,255,29,255,255,162,254,255,79,255,255,91,254,255,68,255,255,144,254,255,93,255,255,135,254,255,100,255,255,143,254,255,138,255,255,174,254,255,93,255,255,145,254,255,110,255,255,167,254,255,128,255,255,174,254,255,138,255, +255,212,254,255,193,255,255,182,254,255,165,255,255,219,254,255,144,255,255,206,254,255,141,255,255,208,254,255,159,255,255,188,254,255,147,255,255,207,254,255,139,255,255,210,254,255,152,255,255,219,254,255,148,255,255,205,254,255,128,255,255,214,254, +255,128,255,255,200,254,255,118,255,255,192,254,255,94,255,255,179,254,255,69,255,255,187,254,255,68,255,255,185,254,255,50,255,255,173,254,255,17,255,255,197,254,255,60,255,255,184,254,255,61,255,255,207,254,255,53,255,255,182,254,255,62,255,255,167, +254,255,15,255,255,232,254,255,50,255,255,192,254,255,27,255,255,156,254,255,81,255,255,176,254,255,68,255,255,192,254,255,38,255,255,137,254,255,55,255,255,196,254,255,105,255,255,176,254,255,110,255,255,165,254,255,53,255,255,192,254,255,92,255,255, +180,254,255,114,255,255,198,254,255,121,255,255,202,254,255,125,255,255,194,254,255,82,255,255,207,254,255,117,255,255,197,254,255,133,255,255,210,254,255,138,255,255,207,254,255,133,255,255,250,254,255,118,255,255,227,254,255,85,255,255,208,254,255, +121,255,255,243,254,255,103,255,255,2,255,255,159,255,255,213,254,255,142,255,255,4,255,255,123,255,255,223,254,255,133,255,255,244,254,255,136,255,255,214,254,255,116,255,255,206,254,255,128,255,255,254,254,255,146,255,255,11,255,255,159,255,255,247, +254,255,153,255,255,254,254,255,147,255,255,228,254,255,94,255,255,28,255,255,139,255,255,214,254,255,134,255,255,16,255,255,148,255,255,231,254,255,133,255,255,244,254,255,127,255,255,13,255,255,117,255,255,0,255,255,102,255,255,241,254,255,109,255, +255,250,254,255,121,255,255,31,255,255,100,255,255,19,255,255,58,255,255,43,255,255,115,255,255,45,255,255,99,255,255,20,255,255,86,255,255,31,255,255,109,255,255,35,255,255,97,255,255,43,255,255,103,255,255,67,255,255,149,255,255,34,255,255,91,255,255, +17,255,255,129,255,255,56,255,255,122,255,255,245,254,255,119,255,255,20,255,255,141,255,255,41,255,255,153,255,255,73,255,255,159,255,255,66,255,255,188,255,255,36,255,255,187,255,255,49,255,255,171,255,255,42,255,255,170,255,255,45,255,255,180,255, +255,79,255,255,199,255,255,75,255,255,203,255,255,58,255,255,201,255,255,77,255,255,217,255,255,84,255,255,193,255,255,64,255,255,202,255,255,47,255,255,195,255,255,71,255,255,188,255,255,69,255,255,206,255,255,117,255,255,202,255,255,78,255,255,198, +255,255,89,255,255,185,255,255,52,255,255,162,255,255,88,255,255,179,255,255,92,255,255,190,255,255,123,255,255,154,255,255,88,255,255,157,255,255,88,255,255,155,255,255,52,255,255,129,255,255,97,255,255,118,255,255,101,255,255,147,255,255,59,255,255, +114,255,255,59,255,255,115,255,255,75,255,255,125,255,255,73,255,255,96,255,255,63,255,255,69,255,255,71,255,255,75,255,255,74,255,255,92,255,255,86,255,255,87,255,255,70,255,255,88,255,255,64,255,255,109,255,255,42,255,255,83,255,255,66,255,255,89,255, +255,83,255,255,102,255,255,77,255,255,110,255,255,19,255,255,111,255,255,25,255,255,101,255,255,72,255,255,128,255,255,36,255,255,131,255,255,5,255,255,101,255,255,13,255,255,117,255,255,46,255,255,109,255,255,32,255,255,102,255,255,59,255,255,92,255, +255,18,255,255,89,255,255,48,255,255,125,255,255,18,255,255,111,255,255,9,255,255,110,255,255,53,255,255,144,255,255,26,255,255,103,255,255,9,255,255,86,255,255,25,255,255,114,255,255,24,255,255,114,255,255,45,255,255,110,255,255,46,255,255,111,255,255, +4,255,255,90,255,255,22,255,255,78,255,255,86,255,255,115,255,255,61,255,255,114,255,255,81,255,255,131,255,255,63,255,255,111,255,255,52,255,255,113,255,255,83,255,255,131,255,255,87,255,255,108,255,255,74,255,255,118,255,255,72,255,255,143,255,255, +97,255,255,129,255,255,109,255,255,122,255,255,106,255,255,144,255,255,64,255,255,130,255,255,108,255,255,140,255,255,94,255,255,149,255,255,113,255,255,147,255,255,75,255,255,159,255,255,105,255,255,151,255,255,111,255,255,155,255,255,81,255,255,145, +255,255,69,255,255,132,255,255,91,255,255,157,255,255,83,255,255,148,255,255,64,255,255,134,255,255,78,255,255,145,255,255,83,255,255,134,255,255,60,255,255,143,255,255,74,255,255,151,255,255,54,255,255,105,255,255,83,255,255,125,255,255,72,255,255,98, +255,255,65,255,255,95,255,255,45,255,255,131,255,255,39,255,255,87,255,255,72,255,255,98,255,255,35,255,255,58,255,255,52,255,255,95,255,255,45,255,255,73,255,255,53,255,255,96,255,255,35,255,255,101,255,255,67,255,255,88,255,255,44,255,255,98,255,255, +48,255,255,84,255,255,61,255,255,86,255,255,53,255,255,104,255,255,62,255,255,124,255,255,71,255,255,91,255,255,112,255,255,112,255,255,76,255,255,124,255,255,79,255,255,124,255,255,76,255,255,113,255,255,88,255,255,127,255,255,81,255,255,138,255,255, +110,255,255,141,255,255,88,255,255,171,255,255,95,255,255,135,255,255,118,255,255,150,255,255,115,255,255,164,255,255,94,255,255,163,255,255,96,255,255,171,255,255,99,255,255,154,255,255,100,255,255,161,255,255,104,255,255,141,255,255,112,255,255,173, +255,255,102,255,255,152,255,255,116,255,255,170,255,255,103,255,255,147,255,255,98,255,255,127,255,255,82,255,255,104,255,255,92,255,255,144,255,255,64,255,255,133,255,255,66,255,255,100,255,255,56,255,255,122,255,255,83,255,255,93,255,255,83,255,255, +102,255,255,47,255,255,105,255,255,54,255,255,97,255,255,42,255,255,94,255,255,68,255,255,80,255,255,66,255,255,83,255,255,47,255,255,101,255,255,62,255,255,86,255,255,49,255,255,76,255,255,73,255,255,90,255,255,65,255,255,81,255,255,61,255,255,78,255, +255,63,255,255,94,255,255,62,255,255,111,255,255,67,255,255,108,255,255,91,255,255,122,255,255,87,255,255,136,255,255,82,255,255,139,255,255,107,255,255,132,255,255,101,255,255,145,255,255,115,255,255,157,255,255,128,255,255,190,255,255,145,255,255,191, +255,255,146,255,255,173,255,255,149,255,255,218,255,255,164,255,255,204,255,255,180,255,255,230,255,255,187,255,255,0,0,0,190,255,255,237,255,255,203,255,255,244,255,255,219,255,255,253,255,255,204,255,255,2,0,0,223,255,255,247,255,255,211,255,255,9, +0,0,221,255,255,239,255,255,208,255,255,13,0,0,206,255,255,7,0,0,215,255,255,8,0,0,199,255,255,246,255,255,227,255,255,255,255,255,200,255,255,255,255,255,201,255,255,3,0,0,221,255,255,239,255,255,201,255,255,249,255,255,199,255,255,255,255,255,198,255, +255,228,255,255,199,255,255,240,255,255,211,255,255,239,255,255,195,255,255,238,255,255,216,255,255,238,255,255,222,255,255,249,255,255,216,255,255,233,255,255,208,255,255,227,255,255,237,255,255,232,255,255,226,255,255,246,255,255,205,255,255,235,255, +255,245,255,255,241,255,255,223,255,255,235,255,255,226,255,255,237,255,255,235,255,255,245,255,255,197,255,255,240,255,255,231,255,255,240,255,255,226,255,255,244,255,255,213,255,255,225,255,255,226,255,255,243,255,255,223,255,255,224,255,255,219,255, +255,235,255,255,232,255,255,247,255,255,217,255,255,248,255,255,230,255,255,246,255,255,237,255,255,228,255,255,251,255,255,249,255,255,229,255,255,245,255,255,247,255,255,237,255,255,245,255,255,239,255,255,232,255,255,220,255,255,249,255,255,220,255, +255,0,0,0,240,255,255,231,255,255,219,255,255,225,255,255,208,255,255,232,255,255,215,255,255,228,255,255,224,255,255,226,255,255,213,255,255,213,255,255,198,255,255,202,255,255,202,255,255,212,255,255,197,255,255,192,255,255,182,255,255,200,255,255, +217,255,255,191,255,255,194,255,255,182,255,255,209,255,255,196,255,255,205,255,255,197,255,255,188,255,255,203,255,255,196,255,255,198,255,255,203,255,255,201,255,255,191,255,255,182,255,255,191,255,255,216,255,255,208,255,255,196,255,255,202,255,255, +191,255,255,183,255,255,211,255,255,196,255,255,224,255,255,203,255,255,216,255,255,212,255,255,225,255,255,210,255,255,208,255,255,221,255,255,220,255,255,221,255,255,227,255,255,220,255,255,235,255,255,220,255,255,245,255,255,238,255,255,241,255,255, +234,255,255,230,255,255,223,255,255,231,255,255,219,255,255,236,255,255,239,255,255,239,255,255,234,255,255,237,255,255,232,255,255,237,255,255,234,255,255,229,255,255,229,255,255,224,255,255,214,255,255,228,255,255,213,255,255,233,255,255,211,255,255, +231,255,255,199,255,255,223,255,255,200,255,255,216,255,255,193,255,255,224,255,255,190,255,255,208,255,255,187,255,255,222,255,255,177,255,255,212,255,255,190,255,255,206,255,255,181,255,255,199,255,255,178,255,255,209,255,255,190,255,255,209,255,255, +171,255,255,207,255,255,188,255,255,207,255,255,172,255,255,203,255,255,177,255,255,199,255,255,176,255,255,194,255,255,167,255,255,205,255,255,179,255,255,197,255,255,156,255,255,191,255,255,168,255,255,191,255,255,170,255,255,188,255,255,177,255,255, +195,255,255,181,255,255,186,255,255,163,255,255,200,255,255,196,255,255,193,255,255,192,255,255,183,255,255,184,255,255,211,255,255,195,255,255,202,255,255,194,255,255,206,255,255,199,255,255,210,255,255,196,255,255,214,255,255,209,255,255,223,255,255, +208,255,255,213,255,255,214,255,255,223,255,255,223,255,255,219,255,255,219,255,255,227,255,255,227,255,255,233,255,255,241,255,255,223,255,255,242,255,255,240,255,255,243,255,255,248,255,255,245,255,255,254,255,255,8,0,0,252,255,255,253,255,255,4,0, +0,11,0,0,8,0,0,8,0,0,14,0,0,19,0,0,3,0,0,20,0,0,7,0,0,20,0,0,20,0,0,14,0,0,21,0,0,16,0,0,13,0,0,13,0,0,24,0,0,26,0,0,15,0,0,23,0,0,26,0,0,13,0,0,31,0,0,19,0,0,30,0,0,17,0,0,36,0,0,27,0,0,37,0,0,16,0,0,31,0,0,16,0,0,34,0,0,15,0,0,42,0,0,13,0,0,34,0,0, +14,0,0,41,0,0,16,0,0,40,0,0,21,0,0,29,0,0,15,0,0,35,0,0,16,0,0,34,0,0,35,0,0,32,0,0,26,0,0,39,0,0,28,0,0,25,0,0,31,0,0,36,0,0,23,0,0,39,0,0,28,0,0,33,0,0,35,0,0,32,0,0,23,0,0,36,0,0,28,0,0,40,0,0,32,0,0,30,0,0,35,0,0,30,0,0,40,0,0,30,0,0,25,0,0,35,0, +0,37,0,0,39,0,0,38,0,0,34,0,0,44,0,0,36,0,0,38,0,0,29,0,0,41,0,0,31,0,0,38,0,0,41,0,0,42,0,0,31,0,0,32,0,0,38,0,0,41,0,0,40,0,0,35,0,0,42,0,0,43,0,0,33,0,0,37,0,0,47,0,0,41,0,0,46,0,0,46,0,0,44,0,0,38,0,0,44,0,0,37,0,0,42,0,0,40,0,0,45,0,0,36,0,0,35, +0,0,27,0,0,48,0,0,37,0,0,37,0,0,26,0,0,39,0,0,28,0,0,39,0,0,29,0,0,41,0,0,27,0,0,43,0,0,27,0,0,34,0,0,26,0,0,33,0,0,24,0,0,32,0,0,24,0,0,28,0,0,23,0,0,33,0,0,28,0,0,27,0,0,24,0,0,29,0,0,26,0,0,29,0,0,22,0,0,27,0,0,24,0,0,26,0,0,23,0,0,24,0,0,24,0,0,22, +0,0,19,0,0,22,0,0,23,0,0,21,0,0,27,0,0,21,0,0,24,0,0,23,0,0,22,0,0,27,0,0,24,0,0,25,0,0,22,0,0,28,0,0,26,0,0,23,0,0,24,0,0,26,0,0,22,0,0,23,0,0,22,0,0,23,0,0,21,0,0,22,0,0,24,0,0,19,0,0,20,0,0,22,0,0,19,0,0,21,0,0,13,0,0,22,0,0,18,0,0,21,0,0,14,0,0,19, +0,0,16,0,0,20,0,0,12,0,0,19,0,0,14,0,0,17,0,0,11,0,0,18,0,0,13,0,0,16,0,0,11,0,0,15,0,0,11,0,0,14,0,0,11,0,0,12,0,0,10,0,0,11,0,0,10,0,0,12,0,0,8,0,0,10,0,0,8,0,0,12,0,0,9,0,0,9,0,0,8,0,0,9,0,0,8,0,0,9,0,0,6,0,0,10,0,0,7,0,0,9,0,0,7,0,0,8,0,0,7,0,0,6, +0,0,5,0,0,6,0,0,6,0,0,5,0,0,5,0,0,7,0,0,6,0,0,6,0,0,4,0,0,6,0,0,3,0,0,5,0,0,2,0,0,5,0,0,4,0,0,5,0,0,3,0,0,4,0,0,2,0,0,5,0,0,2,0,0,4,0,0,1,0,0,3,0,0,2,0,0,3,0,0,1,0,0,3,0,0,1,0,0,3,0,0,2,0,0,2,0,0,1,0,0,2,0,0,1,0,0,1,0,0,1,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,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }; + +const char* reverb_ir_wav = (const char*) temp_binary_data_4; + +//================== singing.ogg ================== +static const unsigned char temp_binary_data_5[] = +{ 79,103,103,83,0,2,0,0,0,0,0,0,0,0,139,173,239,94,0,0,0,0,176,225,157,76,1,30,1,118,111,114,98,105,115,0,0,0,0,2,68,172,0,0,0,0,0,0,128,56,1,0,0,0,0,0,184,1,79,103,103,83,0,0,0,0,0,0,0,0,0,0,139,173,239,94,1,0,0,0,125,71,104,21,15,59,255,255,255,255,255, +255,255,255,255,255,255,255,255,169,3,118,111,114,98,105,115,43,0,0,0,88,105,112,104,46,79,114,103,32,108,105,98,86,111,114,98,105,115,32,73,32,50,48,49,50,48,50,48,51,32,40,79,109,110,105,112,114,101,115,101,110,116,41,0,0,0,0,1,5,118,111,114,98,105, +115,33,66,67,86,1,0,0,1,0,24,99,84,41,70,153,82,210,74,137,25,115,148,49,70,153,98,146,74,137,165,132,22,66,72,157,115,20,83,169,57,215,156,107,172,185,181,32,132,16,26,83,80,41,5,153,82,142,82,105,25,99,144,41,5,153,82,16,75,73,37,116,18,58,39,157,99, +16,91,73,193,214,152,107,139,65,182,28,132,13,154,82,76,41,196,148,82,138,66,8,25,83,140,41,197,148,82,74,66,7,37,116,14,58,230,28,83,142,74,40,65,184,156,115,171,181,150,150,99,139,169,116,146,74,231,36,100,76,66,72,41,133,146,74,7,165,83,78,66,72,53, +150,214,82,41,29,115,82,82,106,65,232,32,132,16,66,182,32,132,13,130,208,144,85,0,0,1,0,192,64,16,26,178,10,0,80,0,0,16,138,161,24,138,2,132,134,172,2,0,50,0,0,4,160,40,142,226,40,142,35,57,146,99,73,22,16,26,178,10,0,0,2,0,16,0,0,192,112,20,73,145,20, +201,177,36,75,210,44,75,211,68,81,85,125,213,54,85,85,246,117,93,215,117,93,215,117,32,52,100,21,0,0,1,0,64,72,167,153,165,26,32,194,12,100,24,8,13,89,5,0,32,0,0,0,70,40,194,16,3,66,67,86,1,0,0,1,0,0,98,40,57,136,38,180,230,124,115,142,131,102,57,104, +42,197,230,116,112,34,213,230,73,110,42,230,230,156,115,206,57,39,155,115,198,56,231,156,115,138,114,102,49,104,38,180,230,156,115,18,131,102,41,104,38,180,230,156,115,158,196,230,65,107,170,180,230,156,115,198,57,167,131,113,70,24,231,156,115,154,180, +230,65,106,54,214,230,156,115,22,180,166,57,106,46,197,230,156,115,34,229,230,73,109,46,213,230,156,115,206,57,231,156,115,206,57,231,156,115,170,23,167,115,112,78,56,231,156,115,162,246,230,90,110,66,23,231,156,115,62,25,167,123,115,66,56,231,156,115, +206,57,231,156,115,206,57,231,156,115,130,208,144,85,0,0,16,0,0,65,24,54,134,113,167,32,72,159,163,129,24,69,136,105,200,164,7,221,163,195,36,104,12,114,10,169,71,163,163,145,82,234,32,148,84,198,73,41,157,32,52,100,21,0,0,8,0,0,33,132,20,82,72,33,133, +20,82,72,33,133,20,82,136,33,134,24,98,200,41,167,156,130,10,42,169,164,162,138,50,202,44,179,204,50,203,44,179,204,50,235,176,179,206,58,236,48,196,16,67,12,173,180,18,75,77,181,213,88,99,173,185,231,156,107,14,210,90,105,173,181,214,74,41,165,148,82, +74,41,8,13,89,5,0,128,0,0,16,8,25,100,144,65,70,33,133,20,82,136,33,166,156,114,202,41,168,160,2,66,67,86,1,0,128,0,0,2,0,0,0,60,201,115,68,71,116,68,71,116,68,71,116,68,71,116,68,199,115,60,71,148,68,73,148,68,73,180,76,203,212,76,79,21,85,213,149,93, +91,214,101,221,246,109,97,23,118,221,247,117,223,247,117,227,215,133,97,89,150,101,89,150,101,89,150,101,89,150,101,89,150,101,89,130,208,144,85,0,0,8,0,0,128,16,66,8,33,133,20,82,72,33,165,24,99,204,49,231,160,147,80,66,32,52,100,21,0,0,8,0,32,0,0,0, +192,81,28,197,113,36,71,114,36,201,146,44,73,147,52,75,179,60,205,211,60,77,244,68,81,20,77,211,84,69,87,116,69,221,180,69,217,148,77,215,116,77,217,116,85,89,181,93,89,182,109,217,214,109,95,150,109,223,247,125,223,247,125,223,247,125,223,247,125,223, +247,117,29,8,13,89,5,0,72,0,0,232,72,142,164,72,138,164,72,142,227,56,146,36,1,161,33,171,0,0,25,0,0,1,0,40,138,163,56,142,227,72,146,36,73,150,164,73,158,229,89,162,102,106,166,103,122,170,168,2,161,33,171,0,0,64,0,0,1,0,0,0,0,0,40,154,226,41,166,226, +41,162,226,57,162,35,74,162,101,90,162,166,106,174,40,155,178,235,186,174,235,186,174,235,186,174,235,186,174,235,186,174,235,186,174,235,186,174,235,186,174,235,186,174,235,186,174,235,186,174,235,186,46,16,26,178,10,0,144,0,0,208,145,28,201,145,28, +73,145,20,73,145,28,201,1,66,67,86,1,0,50,0,0,2,0,112,12,199,144,20,201,177,44,75,211,60,205,211,60,77,244,68,79,244,76,79,21,93,209,5,66,67,86,1,0,128,0,0,2,0,0,0,0,0,48,36,195,82,44,71,115,52,73,148,84,75,181,84,77,181,84,75,21,85,79,85,85,85,85,85, +85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,53,77,211,52,77,32,52,100,37,0,16,5,0,64,57,108,177,230,222,27,97,152,114,20,115,105,140,83,142,106,80,145,66,202,89,13,42,66,10,49,137,189,85,204,49,39,49,199,206,49, +230,164,229,156,49,132,24,180,154,59,167,20,115,146,2,161,33,43,4,128,208,12,0,135,227,0,146,102,1,146,165,1,0,0,0,0,0,0,128,164,105,128,230,121,128,230,121,0,0,0,0,0,0,0,32,105,26,160,121,30,160,121,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,142,166,1,154,231,1,154,231,1,0,0,0,0,0,0,128,230,121,128,39,154,128,39,138,0,0,0,0,0,0,0,96,121,30,224,137,30,224,137,34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,142,166,1,154,231,1,154,39,2,0,0,0,0,0,0,128,229,121,128,103,138,128,231,137,0,0,0,0,0,0,0,160,121,30,224,137,34,224,137,34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,0,128,0,7,0,128,0,11,161,208,144,21,1,64,156,0, +128,67,113,44,9,0,0,28,199,177,44,0,0,112,28,201,178,0,0,192,178,44,207,3,0,0,203,178,60,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,192,128,3,0,64,128,9,101, +160,208,144,149,0,64,20,0,128,65,49,52,13,200,178,101,1,151,101,1,52,13,160,105,0,79,4,120,30,64,53,1,128,0,0,128,2,7,0,128,0,27,52,37,22,7,40,52,100,37,0,16,5,0,96,80,20,75,178,44,207,131,166,105,154,40,66,211,52,77,20,161,105,158,103,154,208,52,207, +51,77,136,162,231,153,38,60,207,243,76,19,166,41,138,170,10,68,81,85,5,0,0,20,56,0,0,4,216,160,41,177,56,64,161,33,43,1,128,144,0,0,131,163,88,150,166,121,158,231,137,162,105,170,42,52,205,243,68,81,20,77,211,52,85,21,154,230,121,162,40,138,166,105,154, +170,10,77,243,60,81,20,69,211,84,85,85,133,166,121,158,40,138,162,105,170,170,171,194,243,68,81,52,77,211,52,85,213,117,225,121,162,104,138,166,105,154,170,234,186,16,69,81,52,77,211,84,85,215,117,93,32,138,166,105,154,170,234,186,174,11,68,209,52,77, +85,85,93,87,150,129,40,154,166,105,170,170,235,202,50,48,77,211,84,85,215,117,93,89,6,152,166,170,186,174,235,202,50,64,85,93,215,117,101,89,150,1,170,170,170,174,43,203,178,12,112,93,215,117,93,89,182,109,0,174,235,186,178,108,219,2,0,0,14,28,0,0,2, +140,160,147,140,42,139,176,209,132,11,15,64,161,33,43,2,128,40,0,0,192,24,166,20,83,202,48,38,33,164,16,26,198,36,132,20,66,37,37,165,148,74,169,32,164,82,82,41,21,132,84,82,42,37,163,146,82,106,41,101,16,82,41,41,149,10,66,41,165,149,84,0,0,216,129, +3,0,216,129,133,80,104,200,74,0,32,15,0,128,32,68,41,198,24,115,78,74,169,20,99,206,57,39,165,84,138,49,231,156,147,82,50,198,152,115,206,73,41,25,99,204,57,231,164,148,140,57,231,156,115,82,74,198,156,115,206,57,41,165,115,206,57,231,156,148,82,74,231, +156,115,78,74,41,37,132,206,57,39,165,148,210,57,231,156,19,0,0,84,224,0,0,16,96,163,200,230,4,35,65,133,134,172,4,0,82,1,0,12,142,99,89,154,166,105,158,103,138,154,100,105,154,231,121,158,40,154,166,38,73,154,230,121,158,39,138,166,201,243,60,79,20, +69,209,52,85,147,231,121,158,40,138,162,105,170,42,215,21,69,209,52,77,85,85,85,178,44,138,162,104,154,170,170,170,48,77,211,84,85,87,117,93,152,166,41,170,170,171,202,46,100,217,52,85,213,117,101,25,182,109,154,170,234,186,178,12,84,87,85,93,215,150, +129,171,170,170,108,218,178,0,0,240,4,7,0,160,2,27,86,71,56,41,26,11,44,52,100,37,0,144,1,0,64,16,130,144,82,10,33,165,20,66,74,41,132,148,82,8,9,0,0,24,112,0,0,8,48,161,12,20,26,178,18,0,72,5,0,0,12,145,82,74,41,165,148,210,56,37,165,148,82,74,41,165, +113,76,74,41,165,148,82,74,41,165,148,82,74,41,165,148,82,74,41,165,148,82,74,41,165,148,82,74,41,165,148,82,74,41,165,148,82,74,41,165,148,82,74,41,165,148,82,74,41,165,148,82,74,41,165,148,82,74,41,165,148,82,74,41,165,148,82,74,41,165,148,82,74,41, +165,148,82,74,41,165,148,82,74,41,165,148,82,74,41,5,0,46,85,56,0,232,62,216,176,58,194,73,209,88,96,161,33,43,1,128,84,0,0,192,24,133,24,131,80,74,107,21,66,140,57,39,165,165,214,42,132,24,115,78,74,74,173,229,140,57,7,33,165,214,98,203,157,115,12,66, +41,173,197,216,83,233,156,148,148,90,139,177,167,20,58,42,41,181,22,91,239,189,164,146,90,107,45,198,222,123,10,41,212,214,90,140,189,247,86,83,107,45,198,26,123,239,57,182,18,75,172,49,246,222,123,143,181,197,216,98,236,189,247,30,91,75,181,229,88,0, +0,102,131,3,0,68,130,13,171,35,156,20,141,5,22,26,178,18,0,8,9,0,32,140,81,74,41,198,156,115,206,57,231,164,148,140,49,230,28,132,16,66,8,161,148,146,49,199,156,131,16,66,8,33,148,82,50,230,156,131,16,66,8,37,132,82,74,198,156,131,14,66,8,37,132,82,82, +234,156,115,16,66,8,161,132,80,74,41,157,115,14,66,8,33,132,80,74,74,169,115,16,66,8,33,132,16,74,41,37,165,212,57,8,33,148,16,66,8,41,165,148,66,8,33,132,16,66,8,33,149,146,82,8,33,132,16,66,40,165,148,84,82,10,33,132,16,66,8,165,132,82,82,74,41,133, +16,74,8,33,132,80,82,74,41,165,82,74,9,33,132,16,74,74,41,165,20,74,8,33,148,16,66,74,41,165,148,74,9,33,132,16,74,72,169,164,148,82,73,33,132,16,66,8,5,0,0,28,56,0,0,4,24,65,39,25,85,22,97,163,9,23,30,128,66,67,86,2,0,81,0,0,16,130,18,66,73,45,2,72, +41,38,173,134,72,57,39,173,214,18,57,164,28,197,26,34,166,148,147,150,66,6,153,82,76,74,9,45,116,140,73,75,41,182,18,58,72,169,230,28,83,8,41,0,0,0,130,0,128,0,19,64,96,128,160,224,11,33,32,198,0,0,4,33,50,67,36,20,86,193,2,131,50,104,112,152,7,0,15, +16,17,18,1,64,98,130,34,237,226,2,186,12,112,65,23,119,29,8,33,8,65,8,98,113,0,5,36,224,224,132,27,158,120,195,19,110,112,130,78,81,169,3,1,0,0,0,0,96,0,128,7,0,0,132,2,136,136,104,230,42,44,46,48,50,52,54,56,58,60,62,64,4,0,0,0,0,128,11,0,62,0,0,144, +16,32,34,162,153,171,176,184,192,200,208,216,224,232,240,248,0,9,0,0,4,16,0,0,0,0,0,1,4,32,32,32,0,0,0,0,0,16,0,0,0,32,32,79,103,103,83,0,0,64,83,0,0,0,0,0,0,139,173,239,94,2,0,0,0,10,149,235,126,24,50,53,53,196,209,205,199,200,193,199,195,197,190,195, +185,189,184,197,186,180,192,184,196,190,236,204,205,215,202,113,116,231,56,190,214,106,133,165,1,129,230,36,3,197,115,14,143,110,17,33,93,186,252,10,151,223,95,116,78,221,88,71,165,171,255,48,24,161,157,115,153,205,67,2,60,199,166,129,183,104,211,128, +107,211,98,1,77,168,69,194,72,144,224,104,180,73,104,154,155,159,155,155,223,252,187,177,56,172,172,12,58,231,48,140,131,101,89,93,90,45,107,32,163,206,165,0,43,84,77,185,137,133,89,185,137,95,213,10,19,84,50,45,169,17,35,18,196,130,128,48,112,206,81, +138,175,93,230,48,13,91,237,108,201,88,102,82,14,98,242,92,173,16,52,208,219,101,182,85,127,5,58,233,37,50,203,59,134,9,119,103,135,125,218,68,144,133,233,171,26,4,203,59,134,9,119,143,25,241,211,54,130,177,49,241,15,0,144,9,32,82,67,168,229,50,58,34, +38,44,65,134,33,100,143,4,16,81,142,200,0,150,35,161,90,52,124,71,68,13,219,145,202,45,67,50,85,117,78,163,209,64,77,149,70,59,80,205,2,48,119,2,208,30,0,255,160,29,204,158,15,130,251,85,12,95,60,184,130,20,83,80,23,31,56,51,138,180,166,132,243,168,42, +120,228,92,44,175,18,172,244,251,119,224,3,222,42,107,190,34,163,114,43,253,178,166,30,6,167,44,172,51,13,31,167,98,198,29,182,243,145,79,143,212,213,40,212,173,55,19,82,14,208,128,1,192,192,142,226,241,215,29,147,239,4,57,186,216,206,98,0,61,64,57,240, +173,127,28,94,249,165,97,154,184,188,218,124,223,207,103,158,211,121,87,83,38,139,232,235,90,168,177,229,242,104,227,190,238,39,226,110,242,160,154,1,44,2,191,3,0,0,0,120,18,108,203,86,169,53,169,211,35,251,179,3,0,49,149,0,64,57,161,0,0,0,148,188,212, +130,171,109,59,4,0,192,119,244,52,218,25,0,0,40,169,61,130,9,0,12,104,90,0,116,42,0,72,179,39,0,144,189,5,32,110,0,168,225,20,19,91,0,52,2,32,203,56,38,0,116,59,0,40,0,105,102,182,67,128,185,2,87,7,83,108,139,152,41,113,25,76,105,216,0,123,0,144,206, +156,6,17,154,234,15,98,33,9,246,192,122,238,147,77,27,154,152,185,189,31,129,214,134,132,2,19,16,187,228,108,90,129,92,108,216,34,175,42,68,131,76,125,169,37,104,114,223,62,183,110,65,158,165,125,40,116,251,211,1,62,185,149,89,221,250,69,43,35,253,232, +239,188,174,123,14,253,36,160,2,7,188,158,189,45,75,174,90,104,229,245,188,35,253,190,135,55,5,84,1,10,126,7,0,0,0,240,89,6,0,68,35,191,233,1,134,27,0,129,142,15,76,33,203,50,128,201,36,0,144,69,0,128,40,133,4,0,0,8,49,3,0,0,133,201,29,4,0,0,40,68,104, +130,23,2,0,224,27,161,57,99,67,0,0,192,114,207,164,105,1,136,93,142,0,192,222,237,54,0,208,225,206,34,0,88,111,246,22,0,186,13,0,194,212,10,64,220,11,0,235,1,224,98,5,0,186,13,192,0,14,24,134,179,128,70,141,179,10,13,143,107,0,66,154,243,25,216,11,9, +94,80,126,172,107,114,192,112,24,134,109,0,43,192,193,231,25,195,62,226,110,146,78,205,213,197,0,37,67,8,28,0,48,88,156,1,30,169,101,97,105,244,34,181,49,238,244,110,170,126,166,160,48,1,89,146,180,154,141,157,34,46,67,105,227,156,207,230,211,207,28, +162,129,88,146,248,37,66,2,80,79,0,0,159,53,0,16,77,184,3,194,29,144,182,77,33,135,35,205,39,195,26,36,147,109,110,9,0,128,66,1,0,50,138,4,0,0,144,33,0,0,144,178,16,0,0,0,183,128,31,3,0,0,36,170,15,105,6,0,157,144,23,0,216,51,206,2,160,238,0,128,78,30, +173,8,0,86,135,0,64,76,149,5,0,86,11,156,13,64,231,24,0,160,18,112,192,0,120,0,136,3,16,8,177,147,182,161,146,138,109,67,65,204,71,206,239,3,204,3,156,13,103,131,72,198,74,10,18,208,6,87,0,18,4,95,71,6,46,14,95,60,112,56,172,184,211,88,188,179,222,198, +58,2,192,1,30,169,101,65,153,137,109,73,99,158,125,135,223,77,10,223,148,200,24,90,205,38,72,173,94,166,50,231,181,118,132,221,48,108,83,2,99,240,59,0,0,0,128,207,72,0,152,152,236,216,94,96,1,203,166,199,32,197,135,104,236,6,24,192,16,134,84,0,64,13, +0,160,97,82,1,0,192,188,14,0,96,48,73,201,0,0,0,10,48,70,130,48,64,198,70,83,121,138,2,0,216,37,198,103,172,2,0,0,78,231,137,73,41,0,34,157,74,1,232,112,231,227,0,96,108,114,10,0,198,119,30,0,208,221,22,0,12,50,161,0,208,237,8,0,56,0,192,10,224,4,14, +66,2,22,27,154,208,189,84,208,138,110,1,40,40,3,173,25,64,140,1,136,88,148,157,33,176,15,128,3,32,81,32,225,112,64,8,6,78,134,11,100,153,105,90,18,74,192,37,3,254,168,101,161,111,124,211,82,155,87,223,121,86,231,157,83,102,99,104,53,27,37,22,226,162, +133,49,239,250,136,196,253,30,116,202,144,51,242,15,0,80,2,128,38,211,231,20,0,160,33,60,128,49,29,155,194,48,197,135,48,100,22,140,225,244,24,0,48,195,142,0,0,32,66,61,54,0,0,162,84,4,0,0,20,184,147,52,241,80,0,128,200,86,207,212,1,160,49,53,0,48,154, +42,10,0,123,247,6,0,236,13,0,52,147,155,15,0,114,6,164,0,96,208,52,0,32,86,129,246,0,48,140,5,16,192,193,0,97,0,140,161,64,119,11,106,136,8,217,6,128,1,176,199,52,128,122,6,104,15,140,113,128,128,48,248,224,109,67,104,20,26,88,43,124,44,144,7,24,128, +116,56,128,205,203,189,179,81,67,205,93,81,46,1,62,185,101,121,63,197,182,148,121,174,181,99,171,239,87,80,155,9,219,1,180,106,150,65,108,184,40,233,121,206,107,70,216,13,131,98,38,224,217,47,81,68,2,200,118,35,0,128,239,106,3,192,88,37,128,181,77,219, +36,200,77,143,41,134,45,24,195,185,235,24,5,0,128,50,45,21,0,248,168,181,21,0,0,214,85,166,74,0,0,0,210,180,243,226,0,0,208,110,251,38,10,64,196,212,38,2,128,205,56,6,0,86,13,0,96,111,2,0,49,105,7,0,216,172,12,4,128,61,115,2,128,174,4,160,0,196,51,0, +80,1,16,64,32,9,28,0,124,134,8,152,195,24,241,173,27,32,2,160,246,82,4,112,25,64,52,14,71,27,33,137,76,94,170,77,49,173,40,64,156,194,4,36,39,4,128,3,72,17,103,142,188,252,62,245,24,129,13,64,2,190,57,150,97,153,196,197,84,230,184,159,45,252,123,56,178, +13,20,60,172,166,181,157,26,113,177,210,156,247,115,68,124,79,193,137,172,46,221,48,128,22,0,128,207,38,0,192,110,234,1,164,109,219,20,198,233,145,81,172,122,72,192,48,166,191,97,89,228,12,0,64,13,179,85,0,80,165,93,0,0,224,178,32,0,0,176,37,91,33,34, +12,108,97,41,218,110,19,0,0,165,99,164,219,137,0,96,16,0,144,228,141,3,128,209,148,179,0,192,110,0,0,145,55,14,0,206,203,30,0,96,48,13,0,232,106,0,30,36,224,56,87,128,6,20,56,96,0,0,39,29,64,186,63,146,194,102,26,0,3,8,93,85,8,134,51,0,28,96,1,180,177, +40,64,51,164,40,0,168,182,24,243,0,49,192,78,9,140,200,56,135,82,160,1,120,0,190,89,166,217,58,177,93,225,236,227,154,121,212,253,6,187,36,6,15,163,105,17,150,150,237,20,247,56,175,25,225,253,14,57,50,121,240,59,0,0,0,128,207,158,0,80,140,123,0,97,187, +128,165,162,78,143,140,138,45,195,117,0,32,138,4,0,26,134,35,0,0,68,249,54,0,0,200,110,0,0,0,172,0,227,110,56,20,0,192,119,200,112,57,81,0,0,8,63,111,26,147,3,0,98,80,0,168,169,183,0,144,12,24,5,0,230,30,0,96,144,17,0,216,223,17,0,60,24,96,0,33,86,10, +180,38,0,16,64,224,81,104,1,224,5,160,176,175,41,48,225,6,144,3,138,172,130,64,4,242,139,192,57,168,4,57,203,68,144,200,137,239,96,13,8,61,41,64,128,134,39,16,82,130,0,13,9,69,53,61,79,89,178,16,15,148,244,0,94,106,22,86,47,125,179,90,59,59,59,47,116, +31,103,81,246,148,154,150,118,43,117,179,218,216,231,185,243,194,247,43,44,145,237,201,63,0,192,2,0,147,234,190,83,0,128,122,17,192,56,166,163,150,138,92,10,25,181,90,24,78,97,0,64,131,69,0,0,64,253,243,21,13,0,128,73,163,5,0,0,64,210,41,226,98,3,0,224, +150,19,1,128,24,152,15,0,198,51,121,0,96,92,61,3,0,43,0,16,150,73,1,160,49,48,11,0,53,88,5,128,91,128,3,72,100,7,192,24,0,0,26,160,40,156,0,74,65,117,25,48,193,240,44,160,1,48,199,4,30,17,8,9,206,1,129,136,102,114,26,228,67,120,52,87,3,112,138,18,66, +168,0,131,21,138,178,217,1,9,58,192,230,179,125,144,44,51,20,8,52,94,122,166,153,49,45,95,105,140,203,28,121,84,167,76,27,136,199,84,52,11,198,180,97,165,214,46,107,228,89,247,28,180,1,60,248,29,0,0,0,192,111,0,0,142,99,59,20,206,34,67,180,5,62,11,0, +100,17,0,32,74,9,0,84,147,12,73,0,0,124,139,55,6,69,0,0,192,74,87,180,136,11,0,0,160,197,50,106,22,0,178,3,21,0,105,102,0,0,152,13,72,3,0,58,104,20,0,50,121,2,0,166,86,0,48,204,5,0,34,175,89,0,96,169,2,6,20,100,95,2,90,160,1,7,128,46,3,30,96,186,112, +49,199,38,235,2,32,205,216,0,141,64,231,161,8,224,46,154,166,77,196,128,146,136,238,253,37,4,16,104,12,0,87,60,201,206,36,176,76,89,171,33,57,103,34,4,203,236,59,249,25,135,2,13,7,190,122,22,118,223,124,179,204,185,53,99,58,247,43,144,146,204,158,87, +201,50,168,187,111,147,113,142,107,199,116,238,27,72,73,102,207,110,104,64,2,0,248,60,6,0,69,205,29,176,166,99,35,2,48,61,50,68,91,224,83,177,162,2,0,32,171,149,0,64,70,26,4,0,0,26,57,0,0,128,228,226,215,98,1,0,128,36,244,203,38,0,144,25,92,1,48,172, +46,0,96,239,121,0,0,195,8,0,33,47,0,64,228,165,0,160,131,68,0,128,125,0,208,88,0,14,38,129,182,1,120,130,86,33,198,2,166,136,22,0,58,199,16,16,3,252,224,0,76,104,132,76,26,146,124,105,104,204,139,8,1,165,236,64,1,90,136,29,32,1,124,195,16,202,32,80,176, +80,73,151,26,147,0,12,0,210,158,138,102,193,220,198,216,202,104,135,26,205,167,222,176,24,32,82,46,61,179,96,106,219,184,82,41,235,165,249,186,231,184,205,0,30,253,146,2,128,44,155,2,0,248,172,36,0,76,78,199,228,183,17,129,140,94,35,138,45,113,136,9, +174,20,11,0,32,52,10,0,144,181,6,1,0,96,166,226,162,2,0,0,118,218,200,83,3,5,181,56,23,0,218,65,115,0,64,58,121,12,0,44,43,1,0,251,6,0,208,149,17,0,162,121,1,128,202,93,54,1,0,199,253,64,65,237,93,67,2,32,0,240,3,156,0,208,136,54,52,101,21,141,18,33, +103,2,36,0,237,50,180,240,112,128,3,99,1,201,120,197,78,161,141,54,2,0,230,32,145,64,210,153,220,144,194,161,23,9,76,150,223,101,251,143,192,1,1,0,190,138,166,214,94,122,94,218,28,183,94,98,127,119,195,64,27,104,132,116,90,102,214,94,250,80,202,108,151, +42,177,63,249,48,109,32,17,179,127,0,128,72,0,168,52,250,60,73,0,40,170,238,128,176,77,59,198,233,249,32,136,25,196,17,224,16,0,48,243,212,101,0,0,34,249,34,0,0,144,67,11,0,0,32,39,141,237,176,211,8,0,64,26,221,123,217,20,0,114,22,1,64,186,114,8,0,232, +32,17,0,116,101,0,0,181,18,0,232,110,8,0,58,120,154,45,0,122,24,1,4,246,163,128,0,13,196,172,208,59,128,117,24,10,213,140,41,77,2,181,3,88,204,60,27,17,12,96,0,43,209,254,186,5,25,3,128,169,168,129,246,225,126,18,136,195,128,164,64,72,150,173,34,0,20, +222,106,118,246,84,248,69,72,163,29,178,229,81,247,13,118,201,3,43,64,169,216,216,99,124,235,194,104,203,22,147,190,175,96,217,160,80,145,0,126,7,0,0,0,240,173,3,128,152,18,144,30,64,218,182,90,14,99,102,50,106,54,131,152,130,0,128,154,0,32,138,36,24, +0,0,194,152,243,1,0,0,64,210,14,0,0,0,83,76,229,192,53,53,0,0,206,8,145,115,170,0,0,144,80,119,232,1,0,209,129,0,32,233,82,0,48,236,63,2,128,89,94,1,192,234,8,0,228,229,2,128,91,0,112,2,24,188,16,112,144,28,0,120,160,173,0,24,3,1,161,203,144,34,5,235, +1,20,2,64,132,49,20,147,5,238,48,14,96,53,100,173,59,24,14,5,0,117,10,96,0,240,16,142,149,225,209,64,59,28,190,165,61,25,82,1,0,18,190,138,22,214,220,214,80,90,115,234,173,169,186,239,220,102,36,75,66,40,88,88,83,91,67,40,195,161,143,166,210,253,78,49, +35,89,1,253,18,25,0,40,78,0,0,124,22,1,0,245,116,7,132,99,170,37,96,14,35,88,31,1,50,2,65,65,0,0,163,207,21,0,100,9,3,0,128,209,48,0,0,32,146,46,167,198,4,0,0,171,248,200,96,10,0,131,140,3,64,231,50,22,0,186,124,20,0,186,52,10,0,251,6,0,96,117,0,0,49, +152,6,0,60,11,176,2,128,3,156,109,14,32,216,184,6,6,26,43,136,186,159,36,239,22,179,152,113,46,233,199,1,6,112,0,163,97,10,150,168,100,0,52,64,211,93,0,16,210,33,101,227,125,67,58,129,0,26,27,96,43,157,122,91,102,192,1,222,90,54,246,210,99,48,105,164, +107,182,188,160,251,61,244,13,96,69,220,252,50,107,41,53,119,161,133,107,142,136,243,201,171,6,168,68,4,191,32,1,40,106,0,0,62,27,0,64,165,234,216,244,118,12,25,61,31,4,49,59,2,28,198,162,8,0,64,232,115,5,0,153,75,5,0,0,25,13,197,31,0,0,64,21,31,23,10, +64,13,154,1,0,49,48,31,0,194,10,2,0,44,107,17,0,152,11,0,184,29,0,200,106,33,32,144,223,12,0,24,91,64,20,84,172,128,16,28,0,156,22,144,26,128,15,84,128,229,164,72,10,50,18,134,224,76,4,86,76,50,236,128,143,29,107,130,1,0,9,32,87,192,160,0,78,185,215, +20,160,60,107,75,92,2,238,109,203,24,56,0,222,90,214,214,210,244,209,149,25,143,57,194,239,126,138,54,162,173,4,157,94,105,47,101,109,66,218,241,168,22,254,125,15,117,9,37,43,130,223,1,0,0,0,252,6,0,96,171,165,183,135,145,70,150,65,134,49,35,56,38,1, +160,148,0,64,25,0,48,87,43,138,42,0,128,163,223,223,10,10,0,0,206,66,123,13,59,1,0,64,19,244,53,163,25,0,44,90,118,14,0,22,45,3,0,178,172,2,64,88,65,1,224,189,0,224,108,1,192,178,4,0,12,204,9,0,112,2,136,198,190,60,192,193,145,0,122,90,74,99,1,4,222, +34,16,21,141,165,17,17,219,9,110,7,136,209,190,223,61,96,156,0,7,112,180,219,174,59,19,4,232,163,16,130,2,148,19,24,243,147,19,0,120,107,128,169,132,97,155,90,112,1,56,190,138,54,252,156,216,182,17,235,122,107,190,187,51,160,152,1,89,2,43,191,210,158, +219,184,104,37,229,169,229,49,55,63,164,146,11,150,68,255,0,0,3,0,168,212,125,27,1,192,145,0,198,177,77,155,128,233,195,117,28,98,2,0,64,184,123,151,0,0,128,88,154,213,6,0,0,38,146,6,0,0,16,121,23,141,185,41,0,192,226,150,191,2,0,150,93,28,0,96,122,25, +0,104,156,54,7,128,100,156,0,96,189,20,0,44,2,128,54,119,73,4,0,78,0,1,66,196,9,56,43,28,112,54,180,7,192,248,73,27,169,198,234,152,102,192,156,192,145,225,113,25,18,16,160,35,64,186,166,67,100,72,178,20,144,128,0,2,33,11,16,219,99,55,126,105,80,43,96, +3,101,236,209,194,3,158,122,150,225,210,172,77,41,45,31,107,228,89,221,71,40,37,25,69,204,141,91,26,206,179,182,73,169,228,163,143,60,210,125,15,18,169,17,179,223,1,0,0,0,124,86,3,0,138,211,220,1,97,242,171,37,112,122,100,100,13,49,153,0,0,32,139,0,0, +81,76,54,0,0,56,22,1,0,0,120,84,51,194,34,132,41,0,128,85,108,251,84,34,0,0,144,48,111,110,83,0,200,230,3,64,78,195,4,128,238,63,7,0,140,0,32,135,97,1,0,150,2,68,64,87,56,44,0,227,1,60,80,112,190,82,0,14,72,192,35,48,25,0,28,35,84,194,48,238,87,229,149, +98,1,12,16,225,154,65,199,0,109,80,128,16,180,157,75,230,160,202,62,128,217,249,13,16,40,229,160,184,68,10,192,146,220,128,55,201,18,0,58,25,167,17,0,126,74,54,86,107,219,198,141,22,143,107,132,127,151,67,74,9,21,17,225,176,74,131,62,181,193,148,145, +142,167,133,189,231,112,74,4,92,68,32,191,100,100,2,240,76,2,0,248,13,0,192,49,76,181,20,152,99,8,48,214,16,83,199,78,233,6,0,96,78,230,0,160,70,0,0,243,59,185,24,0,0,234,223,90,202,233,12,0,0,32,222,114,205,102,26,0,105,172,64,0,96,209,146,108,0,192, +181,211,2,64,246,79,0,80,108,2,0,150,125,1,128,90,1,0,11,203,230,0,192,91,64,11,0,198,192,35,149,9,135,11,9,40,0,240,12,48,240,156,163,248,34,94,0,20,216,59,187,96,146,99,0,104,230,57,109,104,99,114,0,2,7,192,76,235,12,81,1,10,29,82,182,73,11,14,192, +2,155,10,40,0,79,103,103,83,0,0,64,171,0,0,0,0,0,0,139,173,239,94,3,0,0,0,74,3,224,72,22,181,191,187,193,192,191,192,185,190,188,197,197,197,201,193,195,200,211,208,204,201,212,158,58,214,234,88,214,24,140,120,232,34,209,185,215,41,3,131,83,26,244,54, +70,23,135,237,41,194,251,6,165,36,64,131,223,1,0,0,0,124,14,9,0,121,202,182,109,43,129,19,100,36,102,24,83,113,12,0,168,1,0,148,219,10,0,0,22,45,150,166,7,0,192,25,249,140,219,76,1,0,128,176,237,223,141,57,0,98,73,46,0,152,45,155,22,0,246,237,47,0,68, +151,42,0,186,63,0,32,78,175,0,72,246,3,128,249,10,18,0,208,22,2,32,128,204,28,72,0,65,0,133,68,83,128,251,167,154,225,33,140,20,246,24,0,2,216,233,16,32,24,38,129,141,129,125,175,97,166,243,1,104,5,192,25,58,199,0,109,5,160,131,95,35,181,186,100,18,230, +197,6,135,2,94,74,150,97,159,34,15,105,183,213,136,73,223,199,113,53,3,202,2,22,173,52,51,53,109,112,105,148,147,70,83,125,15,67,191,100,133,44,192,63,0,64,53,1,160,54,213,247,36,0,160,168,1,210,177,77,155,194,171,48,89,5,63,32,0,96,173,233,6,0,128,210, +36,111,0,0,0,158,83,7,0,0,96,90,44,61,72,163,0,0,56,231,222,0,0,178,203,79,3,128,56,173,5,64,196,233,21,0,57,111,0,192,176,210,0,64,71,64,128,105,167,129,0,236,43,208,66,0,206,65,224,32,193,97,4,18,144,18,128,83,3,24,246,152,152,224,29,100,129,57,5,184, +147,137,19,194,0,64,0,25,22,102,211,50,166,49,192,1,241,6,8,64,132,155,173,211,116,9,38,153,252,103,77,113,3,32,68,76,212,4,0,158,74,118,65,47,106,155,210,40,199,158,242,66,247,13,171,54,80,52,122,204,178,112,44,107,76,90,58,122,202,179,238,43,184,75, +54,225,134,22,244,0,0,188,1,244,1,225,216,166,90,10,39,38,70,16,107,136,147,231,194,104,178,0,0,124,195,164,2,128,44,34,49,1,0,96,18,227,211,6,0,0,81,165,115,3,10,0,0,9,115,103,0,32,186,130,12,0,72,151,206,0,128,7,83,0,176,40,0,186,178,5,0,246,42,4,160, +131,68,0,192,15,180,21,45,84,199,0,84,179,106,64,64,3,0,253,76,80,144,165,128,160,186,34,226,155,28,64,248,68,14,7,248,216,85,160,104,172,168,162,253,40,2,108,0,34,48,151,255,232,83,3,99,146,155,184,205,50,37,7,64,228,165,132,56,56,20,0,126,74,54,193, +212,248,38,164,217,14,61,196,164,239,119,172,109,168,56,33,52,185,21,225,52,197,198,165,221,142,30,98,171,187,97,216,150,172,40,33,228,151,49,9,128,226,24,0,192,103,3,0,168,148,142,105,171,165,224,102,42,214,16,39,140,124,168,3,0,208,61,87,0,144,201, +16,0,0,248,183,211,36,9,0,0,154,231,58,216,2,192,10,99,58,0,96,233,178,0,16,93,38,1,0,179,43,0,96,46,1,0,153,37,5,0,203,6,128,210,230,1,0,121,192,2,66,196,220,15,96,72,144,160,161,12,156,128,64,186,20,65,37,206,25,27,17,211,36,0,18,160,45,99,3,72,2,70, +105,64,105,140,105,202,114,50,0,7,2,149,255,41,165,30,20,142,134,248,73,58,154,8,112,127,108,96,163,130,244,15,160,208,32,0,190,122,246,252,212,232,69,139,39,156,86,8,255,126,199,82,162,74,54,193,198,26,219,216,150,52,29,122,104,42,220,55,204,37,26,227, +119,0,0,0,0,159,153,0,16,13,182,109,170,69,111,98,42,214,16,114,8,14,0,40,18,0,184,187,249,6,0,0,194,20,12,60,28,2,0,96,53,60,206,103,20,0,0,234,230,234,206,19,0,200,44,63,42,0,228,45,41,0,216,191,31,0,194,146,57,0,56,142,1,0,43,38,0,216,223,0,8,154, +46,1,0,167,1,17,12,73,20,218,34,65,20,104,1,8,9,64,27,4,0,93,66,161,85,230,10,181,154,10,112,128,182,186,12,1,4,214,76,201,0,16,100,69,137,164,57,14,225,0,128,187,131,210,80,174,19,196,181,33,185,243,47,53,168,15,134,115,183,182,19,39,8,0,158,122,246, +246,88,206,77,27,41,31,167,60,234,190,199,186,100,198,116,134,141,61,54,107,108,37,228,165,60,250,126,15,167,100,69,248,7,0,8,0,80,169,251,105,4,0,141,106,0,64,225,216,106,109,26,220,196,84,172,33,228,200,24,0,48,211,17,0,0,16,221,140,104,0,0,80,203, +13,0,0,32,158,91,92,210,8,0,64,106,173,138,0,128,129,185,1,0,77,150,8,0,196,210,20,0,100,44,128,160,179,252,17,0,188,1,4,136,197,121,1,0,29,1,98,64,5,109,158,64,44,144,112,160,13,40,12,4,160,116,65,0,146,213,36,86,76,2,13,16,145,253,37,170,9,24,11,144, +64,104,134,44,173,38,190,156,67,3,16,192,128,31,6,198,97,23,224,198,116,51,19,6,212,83,74,65,16,235,110,18,5,0,158,106,142,65,109,218,102,181,150,183,90,243,213,253,1,98,66,112,28,42,246,97,111,218,166,141,17,15,85,242,232,251,61,136,13,148,240,15,0, +80,3,128,40,154,240,225,0,0,30,64,216,166,90,170,72,143,169,88,199,4,226,24,0,80,202,16,0,0,68,141,10,0,212,8,0,0,32,42,156,97,81,1,0,192,81,59,77,253,152,2,0,128,29,214,255,58,1,96,117,53,5,0,233,178,0,160,153,37,0,192,42,0,176,156,71,0,136,17,0,176, +28,1,112,10,136,161,136,166,205,8,48,212,228,9,36,11,141,3,216,6,35,32,89,12,24,87,164,4,233,138,64,16,104,5,36,218,69,37,115,4,26,27,0,109,117,24,67,98,145,198,0,36,32,17,204,213,136,120,41,129,20,217,249,184,165,200,81,163,243,28,14,0,126,106,246,106, +43,24,39,211,113,142,72,221,55,72,145,193,101,232,216,91,45,58,46,219,49,75,36,186,225,33,71,38,252,146,20,0,148,53,0,0,223,30,0,48,46,129,112,7,164,169,50,41,144,113,152,196,28,132,201,131,201,5,0,16,238,87,0,0,13,46,1,0,128,180,150,36,5,0,0,144,216, +104,0,0,192,14,106,189,24,0,0,136,75,101,24,0,204,172,0,64,182,195,4,0,59,1,128,238,95,33,0,194,1,8,93,172,20,0,58,6,224,21,128,116,53,2,100,225,35,0,92,6,188,0,193,120,129,152,222,76,249,37,1,19,0,207,103,41,96,37,97,78,49,48,241,150,243,43,100,227, +1,62,56,34,0,210,11,94,0,52,41,116,222,195,16,114,218,128,222,177,70,65,21,18,0,94,90,118,225,216,196,182,148,59,157,103,138,240,85,82,48,149,25,29,251,112,44,125,91,218,73,231,153,34,124,21,56,166,50,126,68,36,0,99,245,73,0,160,177,234,123,156,0,112, +82,3,164,227,6,192,176,109,10,38,244,200,200,42,248,27,11,0,128,120,47,207,2,0,192,30,99,119,0,0,176,167,59,40,1,0,192,86,32,0,0,128,16,10,0,217,65,18,0,208,1,0,224,51,0,136,129,45,0,88,0,32,98,144,6,0,100,108,0,10,64,134,37,66,175,145,85,59,100,208, +144,103,0,162,1,128,183,19,20,116,71,211,76,25,110,0,135,2,211,14,225,14,72,2,31,32,1,52,99,131,68,196,91,6,192,7,5,32,0,194,242,166,15,129,146,47,155,173,89,54,181,130,73,232,74,216,33,184,19,64,1,94,74,246,246,60,19,155,54,70,186,118,225,223,239,225, +175,72,41,57,90,243,164,155,54,90,186,118,225,119,127,194,190,34,126,7,0,0,0,240,89,38,0,84,38,59,22,91,45,109,18,19,134,19,60,23,3,0,202,0,64,212,35,0,0,16,217,237,226,240,54,21,0,192,53,115,166,233,77,0,0,16,59,25,126,124,4,64,116,106,25,0,144,12,146, +5,0,145,215,0,128,188,4,144,7,128,72,6,20,0,88,17,0,204,166,202,2,64,188,0,74,17,68,76,42,160,129,6,49,78,184,230,242,49,176,240,6,20,96,245,171,28,189,246,3,22,208,140,115,206,160,233,30,112,71,226,81,53,31,72,99,32,0,40,99,255,174,164,6,129,152,210, +4,116,170,175,200,28,136,12,198,1,192,33,188,135,163,47,28,30,58,246,225,212,198,166,165,17,174,46,143,234,62,192,53,101,51,74,142,153,169,105,219,86,134,235,146,103,117,31,193,85,9,191,3,0,0,0,248,13,0,192,86,217,38,173,96,4,25,97,56,9,33,55,0,16,53, +1,64,148,18,0,40,28,206,184,155,2,0,216,233,114,18,80,0,0,196,8,164,75,237,2,0,0,104,154,198,102,0,16,249,83,40,0,50,83,31,47,0,172,140,5,128,238,25,0,192,9,0,228,71,0,0,11,2,96,102,5,0,56,3,80,128,208,73,1,72,24,18,0,2,106,155,69,122,12,219,128,48,19, +18,37,24,205,157,24,75,124,99,208,128,69,119,32,164,248,108,2,34,192,152,1,23,20,35,66,0,134,236,212,157,133,7,72,171,106,143,46,243,211,143,49,149,98,222,17,2,165,38,93,120,78,2,216,65,0,254,9,54,246,218,125,52,169,133,107,137,94,254,115,133,209,0,148, +134,189,181,118,31,77,106,174,37,122,203,171,48,152,6,192,13,5,8,0,0,223,134,0,128,108,10,24,91,216,54,197,77,24,97,19,60,119,72,177,24,0,128,4,149,1,64,198,137,2,0,0,215,168,40,0,0,96,85,197,213,4,0,0,195,8,39,0,208,236,128,0,192,48,119,0,160,80,21, +129,8,0,26,249,16,0,25,11,0,34,31,0,200,8,96,3,161,6,171,5,192,184,200,152,125,195,142,245,122,108,245,44,205,164,197,77,185,92,198,145,91,45,67,255,80,117,113,23,67,39,104,27,131,121,131,1,226,156,161,171,163,1,7,24,56,115,215,69,100,48,6,192,172,63, +219,224,128,190,58,92,2,178,202,220,104,61,0,220,207,195,192,152,5,82,214,209,6,144,6,62,42,78,214,210,136,177,164,153,206,46,212,110,56,220,102,202,156,138,163,53,181,12,46,204,116,172,22,126,55,12,106,51,209,145,31,145,9,64,212,78,3,0,217,232,219,4, +0,40,202,4,184,3,150,206,84,33,125,250,25,158,77,86,146,102,6,0,144,175,217,17,0,0,57,43,105,9,0,0,48,218,144,24,26,0,0,8,163,49,0,0,0,43,137,22,0,172,0,0,119,0,64,61,0,154,174,4,0,100,41,0,56,102,20,0,245,2,0,14,0,144,15,120,241,115,62,23,209,154,11, +183,83,165,158,113,79,44,135,153,253,14,21,5,131,211,224,199,190,132,26,0,191,33,124,245,1,238,158,32,31,71,105,24,144,128,179,254,0,92,193,205,39,1,28,210,96,135,3,95,142,58,160,113,21,20,44,156,186,68,156,43,118,24,161,177,6,16,254,25,142,193,84,138, +177,165,217,86,169,169,116,191,194,219,70,128,165,167,229,20,140,17,155,149,70,57,244,212,124,186,111,88,219,40,144,212,15,25,0,68,67,35,0,100,54,245,211,0,0,162,168,3,0,37,191,98,115,20,155,202,88,146,77,14,33,230,6,0,8,89,90,29,1,0,32,132,127,43,0, +0,128,18,192,0,0,96,231,3,0,24,86,243,1,128,156,10,0,92,28,0,128,165,0,8,157,52,0,64,179,24,152,97,207,14,0,186,20,166,0,128,113,177,129,128,51,4,49,22,92,198,150,139,87,72,83,109,202,1,1,65,129,213,124,70,188,0,36,0,140,23,6,179,38,65,215,231,57,211, +157,166,31,7,0,142,48,67,225,212,3,160,177,247,119,194,140,161,1,8,210,36,160,6,250,49,222,61,6,152,56,134,242,51,129,224,183,104,227,8,52,190,9,54,234,210,154,161,216,237,228,66,253,185,199,109,70,166,180,236,236,181,145,67,73,167,29,92,243,253,115, +87,104,38,132,223,1,0,0,0,124,206,1,64,212,108,149,173,150,54,33,140,99,199,56,53,0,160,72,0,160,60,69,1,0,64,200,138,164,120,4,5,0,192,42,88,66,0,5,0,128,240,173,79,13,154,0,64,50,85,182,0,144,201,155,1,128,185,11,0,24,23,0,224,42,0,68,243,3,0,237,8, +0,12,30,0,192,1,60,4,8,232,228,0,94,26,118,28,25,194,229,76,250,114,175,65,218,12,77,196,38,32,190,218,75,3,208,224,0,152,219,192,32,90,2,193,120,80,32,124,202,6,0,132,30,242,214,128,129,184,193,46,96,192,176,91,145,40,31,233,0,8,99,35,169,95,60,249, +20,170,181,13,82,6,158,233,141,246,82,138,139,84,70,60,118,205,87,55,28,106,19,1,74,201,201,154,26,46,82,27,241,188,228,81,221,112,184,77,4,225,119,0,0,0,0,159,19,0,160,90,115,180,105,80,73,234,225,19,194,0,0,141,3,0,81,206,13,0,0,144,163,102,164,168, +0,0,68,200,254,78,39,8,0,0,102,224,222,212,0,64,50,72,26,0,180,131,10,0,48,41,0,160,93,2,108,0,192,92,61,0,160,237,88,0,48,14,5,64,146,22,160,0,36,227,48,3,40,99,115,184,175,165,251,54,129,242,215,117,138,108,83,137,117,250,239,1,72,178,12,205,10,192, +215,208,43,129,197,38,249,109,7,192,62,32,16,41,139,52,64,234,96,31,169,129,100,48,32,106,72,10,180,79,1,179,109,21,174,23,46,113,123,48,145,103,219,23,68,167,3,30,185,53,153,101,38,182,169,237,52,215,84,250,121,5,194,68,153,210,113,204,172,141,110,211, +56,105,41,47,244,248,21,155,40,225,119,0,0,0,0,159,101,0,64,81,183,57,211,166,78,210,215,9,59,73,2,32,139,0,0,81,106,82,0,0,80,113,86,95,35,1,0,128,149,224,99,198,34,0,0,136,191,245,196,89,1,144,49,16,0,12,76,198,0,160,89,33,0,28,15,0,13,0,48,172,52, +0,176,82,0,48,28,188,1,128,140,0,167,0,181,87,10,12,223,133,187,175,244,111,226,34,196,72,54,27,205,129,0,113,130,65,197,10,31,156,193,25,6,132,108,71,10,228,37,128,211,70,101,219,16,72,128,59,28,42,73,172,96,8,224,189,206,197,128,22,32,65,56,231,50, +28,134,88,127,149,42,152,209,135,164,4,4,240,50,61,251,166,73,81,0,222,168,141,217,125,230,151,161,236,120,71,77,235,126,195,190,137,16,163,227,18,172,147,184,116,109,187,186,230,211,253,142,125,3,193,79,81,10,0,198,234,147,0,192,20,99,190,21,0,80,173, +1,210,209,42,21,149,16,66,102,179,9,57,164,68,0,0,110,119,183,0,0,112,111,95,106,0,0,176,215,174,0,0,0,76,26,20,0,178,83,70,0,160,205,19,0,116,143,0,30,0,146,189,5,192,249,27,160,24,199,9,0,183,128,86,0,86,142,5,60,234,200,254,200,149,77,156,43,203,36, +103,94,78,152,220,158,8,187,154,160,142,153,144,114,214,10,251,130,166,119,171,103,248,123,247,144,175,33,205,200,199,152,171,22,19,143,148,208,100,42,164,77,117,70,211,113,167,108,18,197,227,82,201,130,112,39,4,140,14,86,163,99,188,85,54,164,40,124, +143,13,236,125,13,66,219,142,133,167,6,197,0,126,136,245,225,58,113,205,133,145,175,18,234,253,30,124,19,152,206,177,15,151,73,92,115,97,196,179,11,245,23,7,160,137,20,191,3,0,0,0,248,56,36,0,152,194,29,176,194,212,36,35,115,236,201,25,0,160,6,0,80,71, +49,0,0,196,151,230,13,0,0,224,226,50,13,111,169,31,0,192,214,14,209,138,0,0,32,206,250,83,158,10,128,142,123,91,0,176,10,0,82,172,129,41,0,144,85,1,128,44,5,128,227,216,169,240,10,248,1,130,122,92,164,178,69,2,0,209,244,185,42,141,55,157,198,11,152,251, +72,75,3,29,108,52,226,142,96,97,141,253,206,116,49,190,167,71,215,137,217,225,48,240,149,33,182,36,123,96,34,226,0,67,24,91,119,48,219,16,99,2,36,5,128,33,249,151,140,172,136,58,203,167,183,50,159,220,39,109,12,88,164,137,49,249,199,6,225,88,6,30,88, +141,217,117,38,175,59,59,159,43,52,173,222,225,182,17,150,30,71,199,197,94,91,174,185,180,203,209,67,179,116,207,176,181,81,149,129,146,127,0,128,241,14,0,49,133,207,81,1,0,38,220,43,128,73,79,79,196,44,209,79,88,60,1,128,201,184,10,0,0,212,145,140,20, +0,0,112,8,207,203,0,0,128,10,74,85,79,19,0,0,179,106,147,100,202,0,64,117,79,0,160,182,1,128,110,215,0,64,11,0,187,2,0,212,5,0,142,123,18,0,136,6,78,1,65,180,133,0,128,100,88,101,102,78,52,24,28,16,227,248,30,4,134,53,180,53,255,24,168,233,192,201,180, +29,218,111,199,101,28,34,42,52,205,72,184,218,201,51,227,3,129,15,6,115,9,104,208,141,193,56,189,115,96,1,204,156,53,167,204,88,156,116,175,66,98,165,60,73,209,84,204,25,2,30,72,141,234,81,200,49,229,217,142,94,34,254,185,194,104,59,84,6,164,82,112,179, +167,34,46,76,108,241,172,18,147,185,231,240,183,209,226,160,228,23,178,0,64,29,0,192,47,77,94,0,64,108,0,0,199,230,55,185,235,196,242,53,188,146,88,0,0,163,79,77,0,32,255,21,0,0,128,101,106,2,0,74,189,169,13,0,0,96,12,125,85,175,31,0,0,192,156,116,5, +0,176,226,100,0,192,14,5,128,157,0,0,91,0,69,76,2,0,97,15,0,32,43,0,0,7,0,206,110,16,196,7,78,129,116,113,220,33,7,32,45,200,30,105,0,88,2,13,149,206,10,207,154,0,222,4,132,144,79,85,16,246,173,60,10,97,103,192,21,67,134,214,157,19,146,58,11,65,148,44, +128,0,98,208,228,28,34,45,246,11,128,26,169,248,125,160,96,134,157,81,0,222,87,157,248,199,89,153,233,82,186,248,204,179,122,124,214,174,11,132,66,197,73,217,75,121,25,204,114,204,210,171,4,247,43,248,219,176,209,24,220,16,176,0,0,126,3,0,224,231,85, +76,84,172,19,213,255,139,215,181,41,0,0,124,91,204,122,0,96,89,159,0,160,15,117,175,54,0,0,64,108,99,131,11,10,0,0,64,182,236,247,131,157,207,0,16,79,221,177,4,0,245,211,103,5,128,77,93,13,0,174,0,0,162,30,0,246,225,53,0,104,239,20,0,240,62,15,0,32,30, +78,161,5,225,160,92,13,24,244,58,237,180,67,100,78,10,21,16,23,192,201,176,40,161,104,112,184,141,195,0,107,255,119,239,122,107,0,195,184,68,58,16,148,118,52,132,132,56,243,235,8,148,180,14,61,145,141,194,26,154,243,67,164,204,71,250,90,193,39,131,23, +224,0,204,156,62,209,8,144,232,60,128,3,79,103,103,83,0,4,83,234,0,0,0,0,0,0,139,173,239,94,4,0,0,0,39,227,103,179,16,211,194,196,190,204,196,198,198,197,189,195,197,193,194,183,110,158,71,253,247,40,111,26,3,14,16,234,45,214,210,250,86,132,237,90,98, +215,247,59,254,13,4,55,172,128,219,2,0,248,13,0,192,148,134,129,22,89,198,254,255,93,44,95,26,0,192,251,197,222,0,128,225,6,0,184,241,121,244,50,202,80,6,168,228,74,103,230,253,48,101,0,64,134,181,251,101,184,195,1,176,249,224,2,0,249,157,107,0,144,183, +2,0,157,78,0,96,229,2,64,95,221,116,2,192,151,48,125,242,4,188,190,181,62,0,220,17,224,9,128,156,114,22,66,175,108,106,219,187,147,39,25,85,200,205,144,86,177,191,177,240,204,87,222,189,76,146,141,242,251,138,33,130,21,8,56,87,164,41,136,129,19,5,250, +8,203,118,126,160,2,28,49,179,214,191,169,14,104,160,236,2,24,232,4,204,221,165,224,115,247,68,198,142,204,32,251,219,82,51,198,152,84,29,137,204,216,102,13,174,147,219,130,113,206,5,107,59,191,186,102,213,121,211,38,202,179,223,1,0,0,0,60,128,219,58, +210,48,208,162,78,30,199,100,0,192,135,29,0,244,219,246,135,0,0,224,98,115,249,78,238,235,42,5,0,24,123,252,223,255,22,1,0,64,178,189,119,207,22,0,241,193,38,0,16,223,188,1,0,190,25,0,72,121,0,72,121,0,200,229,47,239,1,192,202,3,64,255,26,0,72,58,0,47, +0,33,119,202,34,199,38,4,50,35,179,114,0,9,165,48,248,41,128,139,170,216,18,241,246,54,91,9,139,97,146,66,205,80,38,156,251,241,197,152,99,1,176,212,201,173,143,206,219,46,133,139,176,70,4,140,89,175,113,41,220,207,96,200,154,2,134,0,56,177,6,183,217, +61,130,137,161,205,70,197,167,191,13,109,27,93,82,14,7,110,180,219,212,125,230,3,116,15,103,106,214,247,43,29,211,161,215,207,133,139,14,192,63,243,202,43,0,48,252,230,111,248,8,0,134,175,116,171,48,13,89,16,157,250,25,97,83,209,2,0,200,109,150,25,0, +0,206,105,56,27,0,0,120,135,43,0,122,249,11,0,248,137,117,0,64,185,220,1,0,41,3,38,1,144,247,119,0,208,55,0,112,201,123,0,160,83,6,0,58,3,128,114,25,8,255,228,118,238,73,196,151,183,188,211,104,47,75,237,181,63,4,225,145,69,25,222,58,84,73,88,177,218, +249,91,66,34,164,2,90,200,91,135,66,81,121,79,59,52,86,174,83,110,141,164,144,140,176,221,50,152,164,68,10,171,83,31,224,220,90,1,49,212,6,199,34,140,160,174,9,62,63,132,1,199,126,127,159,216,32,128,196,151,203,7,0,174,147,235,237,189,109,150,236,157, +196,191,18,246,241,29,77,196,57,217,63,0,128,14,128,225,211,95,241,84,224,185,140,166,129,150,217,255,3,0,190,221,45,0,0,232,165,205,223,37,0,0,180,55,89,210,150,47,190,2,0,176,74,122,207,6,0,250,167,34,0,52,127,189,22,0,233,36,1,138,28,79,20,0,125,235, +181,5,32,239,45,0,189,188,67,1,210,73,132,196,166,12,72,185,195,166,152,190,148,137,12,202,16,33,187,28,197,125,22,51,104,164,96,190,232,173,15,151,209,193,247,135,140,242,144,172,137,18,177,81,190,129,109,41,157,58,213,222,86,233,149,38,173,120,193, +159,160,83,177,151,180,146,55,148,9,132,207,60,128,181,171,29,15,53,20,61,78,38,147,53,99,203,94,46,16,3,40,141,169,248,0,46,180,219,248,115,98,68,109,4,221,159,208,247,112,214,38,210,201,63,0,192,111,0,0,159,246,253,202,48,0,192,43,37,192,150,82,65, +139,44,61,251,179,3,0,184,249,222,0,0,88,254,217,121,0,0,96,24,93,8,0,0,176,255,101,239,182,40,0,64,243,216,104,63,88,7,0,141,254,245,10,0,174,229,0,128,116,30,0,36,0,114,58,229,114,0,200,114,103,0,57,191,95,91,0,24,129,57,64,76,249,114,214,250,23,6, +196,106,36,33,164,147,32,59,198,172,62,243,61,103,171,247,78,205,218,166,166,244,3,193,72,102,44,38,241,2,198,123,223,219,214,80,109,229,77,134,34,86,218,13,71,218,132,224,175,197,162,193,157,107,128,69,152,182,233,227,113,168,151,165,28,153,1,111,65, +55,204,16,112,157,245,239,254,74,101,239,2,117,142,105,39,56,189,201,1,238,243,91,149,165,212,220,105,73,254,151,98,91,247,227,236,219,136,165,103,127,0,0,183,3,143,223,1,0,0,0,60,15,192,84,76,163,168,83,236,179,3,0,110,254,63,4,0,0,92,254,125,8,0,184, +1,0,116,134,0,0,0,176,90,198,124,1,0,64,22,254,53,183,0,0,0,99,198,220,105,1,0,0,128,179,31,20,0,218,191,6,0,36,239,0,64,202,128,49,111,10,0,250,30,0,72,243,6,0,120,7,128,93,6,27,130,157,109,210,86,71,103,56,103,78,39,97,53,34,104,141,169,210,252,5,0, +41,208,201,255,17,161,125,22,243,65,225,189,33,48,45,15,70,225,34,150,27,152,128,19,32,25,105,248,207,97,156,104,193,173,195,167,166,216,6,149,131,0,43,29,68,153,0,228,128,76,34,178,88,130,96,16,117,53,116,5,238,179,219,213,165,100,195,28,234,159,184, +46,186,223,99,54,145,225,167,187,24,0,240,207,252,230,0,0,254,185,159,254,105,0,112,241,155,151,0,128,99,43,134,16,9,75,207,38,207,166,208,8,0,64,250,39,59,2,0,192,231,236,109,0,0,192,52,13,0,0,0,167,31,20,0,124,104,19,0,224,3,0,64,223,10,0,237,156,1, +144,188,21,0,218,191,6,0,122,202,3,128,59,1,128,64,237,220,9,196,240,28,63,196,93,85,97,56,55,72,235,143,160,237,140,103,236,222,20,175,124,124,56,31,22,23,40,167,26,17,41,250,158,116,168,80,205,52,116,62,145,102,117,24,202,98,126,146,221,5,182,28,235, +32,82,186,89,66,23,195,64,3,32,184,12,202,193,200,48,217,208,203,48,91,142,172,100,59,81,179,206,135,67,253,66,173,157,250,1,238,179,59,90,227,36,183,170,77,103,106,90,247,12,150,9,127,246,203,112,57,12,0,122,255,103,0,0,252,124,26,0,244,254,149,14,0, +6,83,42,26,69,81,194,8,71,206,62,77,246,0,0,248,191,29,0,192,45,22,0,0,168,109,179,111,0,0,192,28,71,1,0,160,101,44,111,0,32,239,127,77,1,224,173,60,0,190,83,6,0,233,12,0,119,242,151,6,0,233,53,5,208,94,223,61,24,40,124,50,34,144,232,24,172,213,67,32, +113,231,109,82,185,3,126,176,93,101,247,193,32,208,47,226,102,20,30,37,55,217,88,48,128,63,236,210,140,133,115,51,157,84,32,18,185,45,9,32,36,12,88,49,75,113,192,145,13,133,6,231,97,6,216,10,36,105,83,216,29,200,72,175,118,221,14,74,41,24,175,187,111, +79,109,113,1,141,228,97,0,174,115,91,213,101,146,150,204,147,116,127,66,223,51,172,154,14,111,255,0,0,67,7,128,151,255,220,167,1,0,134,79,43,90,107,20,69,179,220,135,207,0,128,15,178,111,0,0,36,206,121,2,0,0,63,90,228,223,42,1,0,24,35,209,126,104,93, +0,226,155,11,0,119,58,229,2,64,222,10,0,222,3,152,7,0,215,191,190,85,248,203,7,208,122,211,192,72,60,247,41,77,100,150,78,78,190,253,243,23,32,217,101,184,215,57,141,59,246,138,145,196,95,38,77,58,103,179,232,13,147,105,87,25,106,253,152,196,183,156, +112,159,159,218,236,113,117,35,20,210,101,24,45,151,161,180,67,35,27,220,249,33,81,2,70,30,11,177,49,76,40,21,8,209,177,17,44,35,161,54,245,99,89,159,58,98,171,106,255,234,173,109,225,35,184,96,58,57,110,51,219,184,105,134,68,115,6,241,45,228,126,147, +24,142,235,167,247,11,0,252,243,139,79,3,192,240,149,127,198,71,29,0,253,211,131,41,108,77,161,39,170,255,217,95,2,0,172,215,34,0,0,112,115,240,7,0,0,125,184,0,160,127,121,3,128,252,229,122,5,128,228,29,0,220,9,240,17,0,226,3,1,128,190,5,2,212,245,173, +41,66,52,96,1,224,13,8,109,74,196,72,135,124,198,214,251,121,177,217,185,69,170,122,52,141,159,113,223,122,203,207,166,80,183,244,34,123,56,198,18,146,191,116,80,21,41,103,43,64,24,23,42,113,121,169,216,117,250,80,91,139,160,199,163,14,58,191,37,137, +106,169,29,73,8,114,146,42,198,13,109,161,4,103,26,21,158,82,108,180,151,146,165,53,2,101,238,186,1,174,51,219,136,105,50,146,237,29,116,95,33,189,71,107,162,94,253,3,0,24,0,224,211,255,220,177,74,197,16,121,178,220,207,178,29,0,248,17,0,0,192,242,102, +78,238,110,11,0,0,171,165,229,39,158,6,160,31,124,232,191,220,20,0,241,205,0,160,31,68,0,64,167,28,0,56,229,0,192,229,0,192,157,114,0,224,242,215,22,0,125,3,0,46,11,0,161,28,135,150,227,221,60,167,232,134,177,78,216,145,63,40,84,54,109,140,157,101,185, +99,247,153,142,23,217,205,199,74,44,22,99,43,213,191,17,23,105,187,175,34,217,160,116,217,186,124,220,186,27,23,129,104,66,119,249,211,225,7,29,153,102,22,167,32,131,148,192,136,17,6,150,148,174,169,49,205,150,67,89,67,198,160,38,146,140,82,211,3,60, +145,85,33,96,156,30,238,82,91,237,121,114,65,194,51,235,159,66,238,227,120,13,247,237,23,46,59,0,253,43,0,0,62,94,2,0,191,97,72,67,8,148,135,37,58,153,157,197,252,3,0,112,120,3,0,184,57,2,0,0,180,105,81,5,0,128,108,246,216,37,1,32,239,127,13,0,228,250, +62,0,40,119,6,0,233,60,0,148,1,160,249,235,229,18,0,68,103,0,164,83,46,39,144,106,1,64,238,200,113,121,173,226,240,58,192,116,92,78,108,238,4,61,226,85,204,69,31,102,20,27,220,206,101,10,214,85,92,51,251,157,9,29,11,235,151,162,248,171,74,58,91,177,212, +72,173,40,145,166,117,0,96,14,131,41,172,147,205,55,195,166,87,49,173,125,1,64,56,23,196,53,199,14,66,96,72,35,42,135,49,100,11,47,214,21,119,138,198,5,106,225,124,9,0,174,83,219,201,169,148,82,180,17,228,63,209,190,123,6,218,116,232,236,151,75,189,3, +224,43,0,0,158,219,2,151,105,210,12,84,8,198,136,126,246,217,27,3,0,120,103,183,0,64,255,72,170,3,0,0,234,180,191,74,11,0,0,100,115,171,158,250,80,1,16,151,222,222,2,128,188,247,45,0,224,175,0,128,119,0,32,86,184,111,86,0,168,183,4,128,94,58,29,0,176, +7,151,50,30,96,101,148,59,64,24,253,74,101,176,165,140,147,71,245,226,27,10,214,76,171,158,129,143,26,24,50,31,103,214,132,131,64,198,169,121,75,146,6,209,79,99,17,67,96,48,52,245,52,237,67,194,228,128,203,75,16,62,138,219,34,220,64,215,236,253,129,135, +106,138,72,39,156,105,71,246,74,1,117,68,182,111,56,146,0,16,118,234,7,110,51,59,113,189,52,202,76,242,17,219,190,167,32,27,174,213,143,238,18,0,95,121,229,37,0,232,254,0,0,42,128,41,41,99,158,51,106,194,62,184,49,0,128,57,167,61,0,0,160,243,111,59,0, +112,121,33,1,0,0,68,51,71,5,0,0,114,171,46,127,13,0,184,252,53,0,32,29,0,32,157,0,128,18,116,255,242,158,0,128,188,3,128,78,32,0,115,202,96,178,1,130,154,242,42,167,140,73,116,8,35,190,64,241,33,255,87,119,112,214,194,47,237,93,169,148,34,149,8,118,204, +51,251,177,76,241,229,15,66,102,35,73,80,111,137,246,22,141,233,213,37,123,173,143,98,240,167,88,0,38,118,223,249,202,102,62,74,205,105,11,203,56,83,9,162,149,61,73,211,37,146,175,236,151,116,43,31,37,199,90,220,90,86,0,110,115,122,163,126,178,32,95, +186,65,131,98,66,95,175,10,220,94,2,165,141,86,68,244,147,235,239,247,205,37,3,0,116,70,151,197,118,12,0,22,238,236,93,94,250,230,94,90,67,193,217,247,254,229,175,161,46,87,185,190,93,103,148,183,242,203,1,178,156,176,201,11,33,159,129,99,229,123,241, +158,20,164,225,178,65,230,44,148,243,115,232,116,50,157,153,27,219,55,116,202,150,33,199,189,229,114,30,111,70,180,110,210,169,156,243,214,155,82,124,186,186,44,220,106,187,52,22,139,109,121,164,135,109,15,59,237,126,175,223,25,137,97,199,161,113,76, +10,231,101,114,4,106,154,98,53,188,167,210,40,42,50,231,160,33,216,79,200,73,191,213,212,38,191,215,180,13,6,12,4,133,56,114,1,46,175,250,103,73,119,105,130,177,184,206,212,62,27,16,126,83,2,20,35,7,0,132,24,66,12,49,6,24,67,216,203,213,229,221,219,213, +219,187,183,119,31,124,200,217,94,122,202,211,223,252,180,167,126,226,3,215,55,0,239,127,185,186,92,229,122,121,191,212,229,122,161,151,78,8,0,128,78,25,0,30,175,83,238,128,28,178,222,23,232,148,1,0,4,160,15,0,1,1,192,65,0,232,4,8,64,3,208,208,0,0,0 }; + +const char* singing_ogg = (const char*) temp_binary_data_5; + + +const char* getNamedResource (const char* resourceNameUTF8, int& numBytes); +const char* getNamedResource (const char* resourceNameUTF8, int& numBytes) +{ + unsigned int hash = 0; + + if (resourceNameUTF8 != nullptr) + while (*resourceNameUTF8 != 0) + hash = 31 * hash + (unsigned int) *resourceNameUTF8++; + + switch (hash) + { + case 0x409ff6ec: numBytes = 37902; return cassette_recorder_wav; + case 0x62032efa: numBytes = 46348; return cello_wav; + case 0x700ccf3c: numBytes = 90246; return guitar_amp_wav; + case 0xb1ef755b: numBytes = 452; return proaudio_path; + case 0x67900de3: numBytes = 648404; return reverb_ir_wav; + case 0x09d82643: numBytes = 15354; return singing_ogg; + default: break; + } + + numBytes = 0; + return nullptr; +} + +const char* namedResourceList[] = +{ + "cassette_recorder_wav", + "cello_wav", + "guitar_amp_wav", + "proaudio_path", + "reverb_ir_wav", + "singing_ogg" +}; + +const char* originalFilenames[] = +{ + "cassette_recorder.wav", + "cello.wav", + "guitar_amp.wav", + "proaudio.path", + "reverb_ir.wav", + "singing.ogg" +}; + +const char* getNamedResourceOriginalFilename (const char* resourceNameUTF8); +const char* getNamedResourceOriginalFilename (const char* resourceNameUTF8) +{ + for (unsigned int i = 0; i < (sizeof (namedResourceList) / sizeof (namedResourceList[0])); ++i) + { + if (namedResourceList[i] == resourceNameUTF8) + return originalFilenames[i]; + } + + return nullptr; +} + +} diff --git a/extras/AudioPluginHost/JuceLibraryCode/BinaryData.h b/extras/AudioPluginHost/JuceLibraryCode/BinaryData.h new file mode 100644 index 00000000..a573a8d6 --- /dev/null +++ b/extras/AudioPluginHost/JuceLibraryCode/BinaryData.h @@ -0,0 +1,45 @@ +/* ========================================================================================= + + This is an auto-generated file: Any edits you make may be overwritten! + +*/ + +#pragma once + +namespace BinaryData +{ + extern const char* cassette_recorder_wav; + const int cassette_recorder_wavSize = 37902; + + extern const char* cello_wav; + const int cello_wavSize = 46348; + + extern const char* guitar_amp_wav; + const int guitar_amp_wavSize = 90246; + + extern const char* proaudio_path; + const int proaudio_pathSize = 452; + + extern const char* reverb_ir_wav; + const int reverb_ir_wavSize = 648404; + + extern const char* singing_ogg; + const int singing_oggSize = 15354; + + // Number of elements in the namedResourceList and originalFileNames arrays. + const int namedResourceListSize = 6; + + // Points to the start of a list of resource names. + extern const char* namedResourceList[]; + + // Points to the start of a list of resource filenames. + extern const char* originalFilenames[]; + + // 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); + + // If you provide the name of one of the binary resource variables above, this function will + // return the corresponding original, non-mangled filename (or a null pointer if the name isn't found). + const char* getNamedResourceOriginalFilename (const char* resourceNameUTF8); +} diff --git a/extras/AudioPluginHost/JuceLibraryCode/JuceHeader.h b/extras/AudioPluginHost/JuceLibraryCode/JuceHeader.h index e69b2d89..c65ab85d 100644 --- a/extras/AudioPluginHost/JuceLibraryCode/JuceHeader.h +++ b/extras/AudioPluginHost/JuceLibraryCode/JuceHeader.h @@ -28,6 +28,7 @@ #include #include +#include "BinaryData.h" #if defined (JUCE_PROJUCER_VERSION) && JUCE_PROJUCER_VERSION < JUCE_VERSION /** If you've hit this error then the version of the Projucer that was used to generate this project is diff --git a/extras/AudioPluginHost/Source/HostStartup.cpp b/extras/AudioPluginHost/Source/HostStartup.cpp index 77428db4..175d8505 100644 --- a/extras/AudioPluginHost/Source/HostStartup.cpp +++ b/extras/AudioPluginHost/Source/HostStartup.cpp @@ -31,16 +31,96 @@ #error "If you're building the audio plugin host, you probably want to enable VST and/or AU support" #endif +class PluginScannerSubprocess : private ChildProcessWorker, + private AsyncUpdater +{ +public: + PluginScannerSubprocess() + { + formatManager.addDefaultFormats(); + } + + using ChildProcessWorker::initialiseFromCommandLine; + +private: + void handleMessageFromCoordinator (const MemoryBlock& mb) override + { + { + const std::lock_guard lock (mutex); + pendingBlocks.emplace (mb); + } + + triggerAsyncUpdate(); + } + + void handleConnectionLost() override + { + JUCEApplicationBase::quit(); + } + + // It's important to run the plugin scan on the main thread! + void handleAsyncUpdate() override + { + for (;;) + { + const auto block = [&]() -> MemoryBlock + { + const std::lock_guard lock (mutex); + + if (pendingBlocks.empty()) + return {}; + + auto out = std::move (pendingBlocks.front()); + pendingBlocks.pop(); + return out; + }(); + + if (block.isEmpty()) + return; + + MemoryInputStream stream { block, false }; + const auto formatName = stream.readString(); + const auto identifier = stream.readString(); + + OwnedArray results; + + for (auto* format : formatManager.getFormats()) + if (format->getName() == formatName) + format->findAllTypesForFile (results, identifier); + + XmlElement xml ("LIST"); + + for (const auto& desc : results) + xml.addChildElement (desc->createXml().release()); + + const auto str = xml.toString(); + sendMessageToCoordinator ({ str.toRawUTF8(), str.getNumBytesAsUTF8() }); + } + } + + AudioPluginFormatManager formatManager; + + std::mutex mutex; + std::queue pendingBlocks; +}; //============================================================================== class PluginHostApp : public JUCEApplication, private AsyncUpdater { public: - PluginHostApp() {} + PluginHostApp() = default; - void initialise (const String&) override + void initialise (const String& commandLine) override { + auto scannerSubprocess = std::make_unique(); + + if (scannerSubprocess->initialiseFromCommandLine (commandLine, processUID)) + { + storedScannerSubprocess = std::move (scannerSubprocess); + return; + } + // initialise our settings file.. PropertiesFile::Options options; @@ -142,6 +222,7 @@ public: private: std::unique_ptr mainWindow; + std::unique_ptr storedScannerSubprocess; }; static PluginHostApp& getApp() { return *dynamic_cast(JUCEApplication::getInstance()); } diff --git a/extras/AudioPluginHost/Source/JUCEAppIcon.png b/extras/AudioPluginHost/Source/JUCEAppIcon.png index 19be2f28..b2ace789 100644 Binary files a/extras/AudioPluginHost/Source/JUCEAppIcon.png and b/extras/AudioPluginHost/Source/JUCEAppIcon.png differ diff --git a/extras/AudioPluginHost/Source/Plugins/InternalPlugins.cpp b/extras/AudioPluginHost/Source/Plugins/InternalPlugins.cpp index 7c167ce5..996ad510 100644 --- a/extras/AudioPluginHost/Source/Plugins/InternalPlugins.cpp +++ b/extras/AudioPluginHost/Source/Plugins/InternalPlugins.cpp @@ -30,6 +30,25 @@ #include "InternalPlugins.h" #include "PluginGraph.h" +#define PIP_DEMO_UTILITIES_INCLUDED 1 + +// An alternative version of createAssetInputStream from the demo utilities header +// that fetches resources from embedded binary data instead of files +static std::unique_ptr createAssetInputStream (const char* resourcePath) +{ + for (int i = 0; i < BinaryData::namedResourceListSize; ++i) + { + if (String (BinaryData::originalFilenames[i]) == String (resourcePath)) + { + int dataSizeInBytes; + auto* resource = BinaryData::getNamedResource (BinaryData::namedResourceList[i], dataSizeInBytes); + return std::make_unique (resource, dataSizeInBytes, false); + } + } + + return {}; +} + #include "../../../../examples/Plugins/AUv3SynthPluginDemo.h" #include "../../../../examples/Plugins/ArpeggiatorPluginDemo.h" #include "../../../../examples/Plugins/AudioPluginDemo.h" @@ -232,7 +251,7 @@ private: double cyclesPerSecond = MidiMessage::getMidiNoteInHertz (midiNoteNumber); double cyclesPerSample = cyclesPerSecond / getSampleRate(); - angleDelta = cyclesPerSample * 2.0 * double_Pi; + angleDelta = cyclesPerSample * 2.0 * MathConstants::pi; } void stopNote (float /*velocity*/, bool allowTailOff) override diff --git a/extras/AudioPluginHost/Source/UI/GraphEditorPanel.cpp b/extras/AudioPluginHost/Source/UI/GraphEditorPanel.cpp index e835ea92..e7a90ce5 100644 --- a/extras/AudioPluginHost/Source/UI/GraphEditorPanel.cpp +++ b/extras/AudioPluginHost/Source/UI/GraphEditorPanel.cpp @@ -174,7 +174,8 @@ struct GraphEditorPanel::PinComponent : public Component, //============================================================================== struct GraphEditorPanel::PluginComponent : public Component, public Timer, - private AudioProcessorParameter::Listener + private AudioProcessorParameter::Listener, + private AsyncUpdater { PluginComponent (GraphEditorPanel& p, AudioProcessorGraph::NodeID id) : panel (p), graph (p.graph), pluginID (id) { @@ -338,12 +339,14 @@ struct GraphEditorPanel::PluginComponent : public Component, const AudioProcessorGraph::Node::Ptr f (graph.graph.getNodeForId (pluginID)); jassert (f != nullptr); - numIns = f->getProcessor()->getTotalNumInputChannels(); - if (f->getProcessor()->acceptsMidi()) + auto& processor = *f->getProcessor(); + + numIns = processor.getTotalNumInputChannels(); + if (processor.acceptsMidi()) ++numIns; - numOuts = f->getProcessor()->getTotalNumOutputChannels(); - if (f->getProcessor()->producesMidi()) + numOuts = processor.getTotalNumOutputChannels(); + if (processor.producesMidi()) ++numOuts; int w = 100; @@ -351,14 +354,13 @@ struct GraphEditorPanel::PluginComponent : public Component, w = jmax (w, (jmax (numIns, numOuts) + 1) * 20); - const int textWidth = font.getStringWidth (f->getProcessor()->getName()); + const int textWidth = font.getStringWidth (processor.getName()); w = jmax (w, 16 + jmin (textWidth, 300)); if (textWidth > 300) h = 100; setSize (w, h); - - setName (f->getProcessor()->getName()); + setName (processor.getName() + formatSuffix); { auto p = graph.getNodePosition (pluginID); @@ -372,16 +374,16 @@ struct GraphEditorPanel::PluginComponent : public Component, pins.clear(); - for (int i = 0; i < f->getProcessor()->getTotalNumInputChannels(); ++i) + for (int i = 0; i < processor.getTotalNumInputChannels(); ++i) addAndMakeVisible (pins.add (new PinComponent (panel, { pluginID, i }, true))); - if (f->getProcessor()->acceptsMidi()) + if (processor.acceptsMidi()) addAndMakeVisible (pins.add (new PinComponent (panel, { pluginID, AudioProcessorGraph::midiChannelIndex }, true))); - for (int i = 0; i < f->getProcessor()->getTotalNumOutputChannels(); ++i) + for (int i = 0; i < processor.getTotalNumOutputChannels(); ++i) addAndMakeVisible (pins.add (new PinComponent (panel, { pluginID, i }, false))); - if (f->getProcessor()->producesMidi()) + if (processor.producesMidi()) addAndMakeVisible (pins.add (new PinComponent (panel, { pluginID, AudioProcessorGraph::midiChannelIndex }, false))); resized(); @@ -404,7 +406,9 @@ struct GraphEditorPanel::PluginComponent : public Component, menu->addItem (3, "Toggle Bypass"); menu->addSeparator(); - menu->addItem (10, "Show plugin GUI"); + if (getProcessor()->hasEditor()) + menu->addItem (10, "Show plugin GUI"); + menu->addItem (11, "Show all programs"); menu->addItem (12, "Show all parameters"); menu->addItem (13, "Show debug log"); @@ -471,11 +475,15 @@ struct GraphEditorPanel::PluginComponent : public Component, void parameterValueChanged (int, float) override { - repaint(); + // Parameter changes might come from the audio thread or elsewhere, but + // we can only call repaint from the message thread. + triggerAsyncUpdate(); } void parameterGestureChanged (int, bool) override {} + void handleAsyncUpdate() override { repaint(); } + GraphEditorPanel& panel; PluginGraph& graph; const AudioProcessorGraph::NodeID pluginID; @@ -487,6 +495,7 @@ struct GraphEditorPanel::PluginComponent : public Component, int numIns = 0, numOuts = 0; DropShadowEffect shadow; std::unique_ptr menu; + const String formatSuffix = getFormatSuffix (getProcessor()); }; diff --git a/extras/AudioPluginHost/Source/UI/MainHostWindow.cpp b/extras/AudioPluginHost/Source/UI/MainHostWindow.cpp index 6ba07140..a0e410fd 100644 --- a/extras/AudioPluginHost/Source/UI/MainHostWindow.cpp +++ b/extras/AudioPluginHost/Source/UI/MainHostWindow.cpp @@ -27,6 +27,203 @@ #include "MainHostWindow.h" #include "../Plugins/InternalPlugins.h" +constexpr const char* scanModeKey = "pluginScanMode"; + +class CustomPluginScanner : public KnownPluginList::CustomScanner, + private ChangeListener +{ +public: + CustomPluginScanner() + { + if (auto* file = getAppProperties().getUserSettings()) + file->addChangeListener (this); + + changeListenerCallback (nullptr); + } + + ~CustomPluginScanner() override + { + if (auto* file = getAppProperties().getUserSettings()) + file->removeChangeListener (this); + } + + bool findPluginTypesFor (AudioPluginFormat& format, + OwnedArray& result, + const String& fileOrIdentifier) override + { + if (scanInProcess) + { + superprocess = nullptr; + format.findAllTypesForFile (result, fileOrIdentifier); + return true; + } + + if (superprocess == nullptr) + { + superprocess = std::make_unique (*this); + + std::unique_lock lock (mutex); + connectionLost = false; + } + + MemoryBlock block; + MemoryOutputStream stream { block, true }; + stream.writeString (format.getName()); + stream.writeString (fileOrIdentifier); + + if (superprocess->sendMessageToWorker (block)) + { + std::unique_lock lock (mutex); + gotResponse = false; + pluginDescription = nullptr; + + for (;;) + { + if (condvar.wait_for (lock, + std::chrono::milliseconds (50), + [this] { return gotResponse || shouldExit(); })) + { + break; + } + } + + if (shouldExit()) + { + superprocess = nullptr; + return true; + } + + if (connectionLost) + { + superprocess = nullptr; + return false; + } + + if (pluginDescription != nullptr) + { + for (const auto* item : pluginDescription->getChildIterator()) + { + auto desc = std::make_unique(); + + if (desc->loadFromXml (*item)) + result.add (std::move (desc)); + } + } + + return true; + } + + superprocess = nullptr; + return false; + } + + void scanFinished() override + { + superprocess = nullptr; + } + +private: + class Superprocess : private ChildProcessCoordinator + { + public: + explicit Superprocess (CustomPluginScanner& o) + : owner (o) + { + launchWorkerProcess (File::getSpecialLocation (File::currentExecutableFile), processUID, 0, 0); + } + + using ChildProcessCoordinator::sendMessageToWorker; + + private: + void handleMessageFromWorker (const MemoryBlock& mb) override + { + auto xml = parseXML (mb.toString()); + + const std::lock_guard lock (owner.mutex); + owner.pluginDescription = std::move (xml); + owner.gotResponse = true; + owner.condvar.notify_one(); + } + + void handleConnectionLost() override + { + const std::lock_guard lock (owner.mutex); + owner.pluginDescription = nullptr; + owner.gotResponse = true; + owner.connectionLost = true; + owner.condvar.notify_one(); + } + + CustomPluginScanner& owner; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (Superprocess) + }; + + void changeListenerCallback (ChangeBroadcaster*) override + { + if (auto* file = getAppProperties().getUserSettings()) + scanInProcess = (file->getIntValue (scanModeKey) == 0); + } + + std::unique_ptr superprocess; + std::mutex mutex; + std::condition_variable condvar; + std::unique_ptr pluginDescription; + bool gotResponse = false; + bool connectionLost = false; + + std::atomic scanInProcess { true }; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (CustomPluginScanner) +}; + +//============================================================================== +class CustomPluginListComponent : public PluginListComponent +{ +public: + CustomPluginListComponent (AudioPluginFormatManager& manager, + KnownPluginList& listToRepresent, + const File& pedal, + PropertiesFile* props, + bool async) + : PluginListComponent (manager, listToRepresent, pedal, props, async) + { + addAndMakeVisible (validationModeLabel); + addAndMakeVisible (validationModeBox); + + validationModeLabel.attachToComponent (&validationModeBox, true); + validationModeLabel.setJustificationType (Justification::right); + validationModeLabel.setSize (100, 30); + + auto unusedId = 1; + + for (const auto mode : { "In-process", "Out-of-process" }) + validationModeBox.addItem (mode, unusedId++); + + validationModeBox.setSelectedItemIndex (getAppProperties().getUserSettings()->getIntValue (scanModeKey)); + + validationModeBox.onChange = [this] + { + getAppProperties().getUserSettings()->setValue (scanModeKey, validationModeBox.getSelectedItemIndex()); + }; + + resized(); + } + + void resized() override + { + PluginListComponent::resized(); + + const auto& buttonBounds = getOptionsButton().getBounds(); + validationModeBox.setBounds (buttonBounds.withWidth (130).withRightX (getWidth() - buttonBounds.getX())); + } + +private: + Label validationModeLabel { {}, "Scan mode" }; + ComboBox validationModeBox; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (CustomPluginListComponent) +}; //============================================================================== class MainHostWindow::PluginListWindow : public DocumentWindow @@ -41,10 +238,11 @@ public: auto deadMansPedalFile = getAppProperties().getUserSettings() ->getFile().getSiblingFile ("RecentlyCrashedPluginsList"); - setContentOwned (new PluginListComponent (pluginFormatManager, - owner.knownPluginList, - deadMansPedalFile, - getAppProperties().getUserSettings(), true), true); + setContentOwned (new CustomPluginListComponent (pluginFormatManager, + owner.knownPluginList, + deadMansPedalFile, + getAppProperties().getUserSettings(), + true), true); setResizable (true, false); setResizeLimits (300, 400, 800, 1500); @@ -96,6 +294,8 @@ MainHostWindow::MainHostWindow() centreWithSize (800, 600); #endif + knownPluginList.setCustomScanner (std::make_unique()); + graphHolder.reset (new GraphDocumentComponent (formatManager, deviceManager, knownPluginList)); setContentNonOwned (graphHolder.get(), false); diff --git a/extras/AudioPluginHost/Source/UI/MainHostWindow.h b/extras/AudioPluginHost/Source/UI/MainHostWindow.h index 1a434498..7919946f 100644 --- a/extras/AudioPluginHost/Source/UI/MainHostWindow.h +++ b/extras/AudioPluginHost/Source/UI/MainHostWindow.h @@ -71,6 +71,8 @@ void setAutoScaleValueForPlugin (const String&, AutoScale); bool shouldAutoScalePlugin (const PluginDescription&); void addPluginAutoScaleOptionsSubMenu (AudioPluginInstance*, PopupMenu&); +constexpr const char* processUID = "juceaudiopluginhost"; + //============================================================================== class MainHostWindow : public DocumentWindow, public MenuBarModel, diff --git a/extras/AudioPluginHost/Source/UI/PluginWindow.h b/extras/AudioPluginHost/Source/UI/PluginWindow.h index 991cc904..13636d79 100644 --- a/extras/AudioPluginHost/Source/UI/PluginWindow.h +++ b/extras/AudioPluginHost/Source/UI/PluginWindow.h @@ -27,6 +27,19 @@ #include "../Plugins/IOConfigurationWindow.h" +inline String getFormatSuffix (const AudioProcessor* plugin) +{ + const auto format = [plugin]() + { + if (auto* instance = dynamic_cast (plugin)) + return instance->getPluginDescription().pluginFormatName; + + return String(); + }(); + + return format.isNotEmpty() ? (" (" + format + ")") : format; +} + class PluginGraph; /** @@ -140,17 +153,19 @@ public: }; PluginWindow (AudioProcessorGraph::Node* n, Type t, OwnedArray& windowList) - : DocumentWindow (n->getProcessor()->getName(), + : DocumentWindow (n->getProcessor()->getName() + getFormatSuffix (n->getProcessor()), LookAndFeel::getDefaultLookAndFeel().findColour (ResizableWindow::backgroundColourId), DocumentWindow::minimiseButton | DocumentWindow::closeButton), activeWindowList (windowList), node (n), type (t) { - setResizable (true, false); setSize (400, 300); if (auto* ui = createProcessorEditor (*node->getProcessor(), type)) + { setContentOwned (ui, true); + setResizable (ui->isResizable(), false); + } #if JUCE_IOS || JUCE_ANDROID auto screenBounds = Desktop::getInstance().getDisplays().getTotalBounds (true).toFloat(); diff --git a/extras/BinaryBuilder/BinaryBuilder.jucer b/extras/BinaryBuilder/BinaryBuilder.jucer index 9a732452..72c5d39c 100644 --- a/extras/BinaryBuilder/BinaryBuilder.jucer +++ b/extras/BinaryBuilder/BinaryBuilder.jucer @@ -25,7 +25,7 @@ - + @@ -33,7 +33,7 @@ - + diff --git a/extras/BinaryBuilder/Builds/LinuxMakefile/Makefile b/extras/BinaryBuilder/Builds/LinuxMakefile/Makefile index cd0c1807..20304ecc 100644 --- a/extras/BinaryBuilder/Builds/LinuxMakefile/Makefile +++ b/extras/BinaryBuilder/Builds/LinuxMakefile/Makefile @@ -35,7 +35,7 @@ ifeq ($(CONFIG),Debug) TARGET_ARCH := endif - JUCE_CPPFLAGS := $(DEPFLAGS) "-DLINUX=1" "-DDEBUG=1" "-D_DEBUG=1" "-DJUCE_DISPLAY_SPLASH_SCREEN=0" "-DJUCE_USE_DARK_SPLASH_SCREEN=1" "-DJUCE_PROJUCER_VERSION=0x60100" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCER_LINUX_MAKE_6D53C8B4=1" "-DJUCE_APP_VERSION=1.0.0" "-DJUCE_APP_VERSION_HEX=0x10000" $(shell pkg-config --cflags libcurl) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS) + JUCE_CPPFLAGS := $(DEPFLAGS) "-DLINUX=1" "-DDEBUG=1" "-D_DEBUG=1" "-DJUCE_DISPLAY_SPLASH_SCREEN=0" "-DJUCE_USE_DARK_SPLASH_SCREEN=1" "-DJUCE_PROJUCER_VERSION=0x60103" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCER_LINUX_MAKE_6D53C8B4=1" "-DJUCE_APP_VERSION=1.0.0" "-DJUCE_APP_VERSION_HEX=0x10000" $(shell pkg-config --cflags libcurl) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS) JUCE_CPPFLAGS_CONSOLEAPP := "-DJucePlugin_Build_VST=0" "-DJucePlugin_Build_VST3=0" "-DJucePlugin_Build_AU=0" "-DJucePlugin_Build_AUv3=0" "-DJucePlugin_Build_RTAS=0" "-DJucePlugin_Build_AAX=0" "-DJucePlugin_Build_Standalone=0" "-DJucePlugin_Build_Unity=0" JUCE_TARGET_CONSOLEAPP := BinaryBuilder @@ -56,7 +56,7 @@ ifeq ($(CONFIG),Release) TARGET_ARCH := endif - JUCE_CPPFLAGS := $(DEPFLAGS) "-DLINUX=1" "-DNDEBUG=1" "-DJUCE_DISPLAY_SPLASH_SCREEN=0" "-DJUCE_USE_DARK_SPLASH_SCREEN=1" "-DJUCE_PROJUCER_VERSION=0x60100" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCER_LINUX_MAKE_6D53C8B4=1" "-DJUCE_APP_VERSION=1.0.0" "-DJUCE_APP_VERSION_HEX=0x10000" $(shell pkg-config --cflags libcurl) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS) + JUCE_CPPFLAGS := $(DEPFLAGS) "-DLINUX=1" "-DNDEBUG=1" "-DJUCE_DISPLAY_SPLASH_SCREEN=0" "-DJUCE_USE_DARK_SPLASH_SCREEN=1" "-DJUCE_PROJUCER_VERSION=0x60103" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCER_LINUX_MAKE_6D53C8B4=1" "-DJUCE_APP_VERSION=1.0.0" "-DJUCE_APP_VERSION_HEX=0x10000" $(shell pkg-config --cflags libcurl) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS) JUCE_CPPFLAGS_CONSOLEAPP := "-DJucePlugin_Build_VST=0" "-DJucePlugin_Build_VST3=0" "-DJucePlugin_Build_AU=0" "-DJucePlugin_Build_AUv3=0" "-DJucePlugin_Build_RTAS=0" "-DJucePlugin_Build_AAX=0" "-DJucePlugin_Build_Standalone=0" "-DJucePlugin_Build_Unity=0" JUCE_TARGET_CONSOLEAPP := BinaryBuilder diff --git a/extras/BinaryBuilder/Builds/MacOSX/BinaryBuilder.xcodeproj/project.pbxproj b/extras/BinaryBuilder/Builds/MacOSX/BinaryBuilder.xcodeproj/project.pbxproj index 086de4c4..84794742 100644 --- a/extras/BinaryBuilder/Builds/MacOSX/BinaryBuilder.xcodeproj/project.pbxproj +++ b/extras/BinaryBuilder/Builds/MacOSX/BinaryBuilder.xcodeproj/project.pbxproj @@ -140,7 +140,7 @@ 36B6F402BC83F21646259DEF = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1310; ORGANIZATIONNAME = "Raw Material Software Limited"; }; buildConfigurationList = E4C85B0464A93027D035AA1F; @@ -189,10 +189,12 @@ CLANG_CXX_LANGUAGE_STANDARD = "c++14"; CLANG_CXX_LIBRARY = "libc++"; CLANG_LINK_OBJC_RUNTIME = NO; - CODE_SIGN_IDENTITY = ""; + CODE_SIGN_IDENTITY = "-"; + CODE_SIGN_STYLE = Manual; COMBINE_HIDPI_IMAGES = YES; CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; COPY_PHASE_STRIP = NO; + EXCLUDED_ARCHS = ""; GCC_DYNAMIC_NO_PIC = NO; GCC_OPTIMIZATION_LEVEL = 0; GCC_PREPROCESSOR_DEFINITIONS = ( @@ -200,7 +202,7 @@ "DEBUG=1", "JUCE_DISPLAY_SPLASH_SCREEN=0", "JUCE_USE_DARK_SPLASH_SCREEN=1", - "JUCE_PROJUCER_VERSION=0x60100", + "JUCE_PROJUCER_VERSION=0x60103", "JUCE_MODULE_AVAILABLE_juce_core=1", "JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1", "JUCE_STANDALONE_APPLICATION=1", @@ -227,6 +229,7 @@ MTL_HEADER_SEARCH_PATHS = "$(SRCROOT)/../../JuceLibraryCode $(SRCROOT)/../../../../modules"; PRODUCT_BUNDLE_IDENTIFIER = com.juce.binarybuilder; PRODUCT_NAME = "BinaryBuilder"; + PROVISIONING_PROFILE_SPECIFIER = ""; USE_HEADERMAP = NO; VALID_ARCHS = "i386 x86_64 arm64 arm64e"; }; @@ -254,7 +257,7 @@ CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = ""; + CODE_SIGN_IDENTITY = "-"; DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = NO; @@ -286,10 +289,12 @@ CLANG_CXX_LANGUAGE_STANDARD = "c++14"; CLANG_CXX_LIBRARY = "libc++"; CLANG_LINK_OBJC_RUNTIME = NO; - CODE_SIGN_IDENTITY = ""; + CODE_SIGN_IDENTITY = "-"; + CODE_SIGN_STYLE = Manual; COMBINE_HIDPI_IMAGES = YES; CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; DEAD_CODE_STRIPPING = YES; + EXCLUDED_ARCHS = ""; GCC_GENERATE_DEBUGGING_SYMBOLS = NO; GCC_OPTIMIZATION_LEVEL = s; GCC_PREPROCESSOR_DEFINITIONS = ( @@ -297,7 +302,7 @@ "NDEBUG=1", "JUCE_DISPLAY_SPLASH_SCREEN=0", "JUCE_USE_DARK_SPLASH_SCREEN=1", - "JUCE_PROJUCER_VERSION=0x60100", + "JUCE_PROJUCER_VERSION=0x60103", "JUCE_MODULE_AVAILABLE_juce_core=1", "JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1", "JUCE_STANDALONE_APPLICATION=1", @@ -325,6 +330,7 @@ MTL_HEADER_SEARCH_PATHS = "$(SRCROOT)/../../JuceLibraryCode $(SRCROOT)/../../../../modules"; PRODUCT_BUNDLE_IDENTIFIER = com.juce.binarybuilder; PRODUCT_NAME = "BinaryBuilder"; + PROVISIONING_PROFILE_SPECIFIER = ""; USE_HEADERMAP = NO; VALID_ARCHS = "i386 x86_64 arm64 arm64e"; }; @@ -352,7 +358,7 @@ CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = ""; + CODE_SIGN_IDENTITY = "-"; DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = NO; diff --git a/extras/BinaryBuilder/Builds/VisualStudio2019/BinaryBuilder.sln b/extras/BinaryBuilder/Builds/VisualStudio2019/BinaryBuilder.sln deleted file mode 100644 index 017ba022..00000000 --- a/extras/BinaryBuilder/Builds/VisualStudio2019/BinaryBuilder.sln +++ /dev/null @@ -1,20 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2019 - -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BinaryBuilder - ConsoleApp", "BinaryBuilder_ConsoleApp.vcxproj", "{88983F7C-DB65-9E04-84E7-05F8979E0383}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|x64 = Debug|x64 - Release|x64 = Release|x64 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {88983F7C-DB65-9E04-84E7-05F8979E0383}.Debug|x64.ActiveCfg = Debug|x64 - {88983F7C-DB65-9E04-84E7-05F8979E0383}.Debug|x64.Build.0 = Debug|x64 - {88983F7C-DB65-9E04-84E7-05F8979E0383}.Release|x64.ActiveCfg = Release|x64 - {88983F7C-DB65-9E04-84E7-05F8979E0383}.Release|x64.Build.0 = Release|x64 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/extras/BinaryBuilder/Builds/VisualStudio2019/BinaryBuilder_ConsoleApp.vcxproj b/extras/BinaryBuilder/Builds/VisualStudio2019/BinaryBuilder_ConsoleApp.vcxproj deleted file mode 100644 index 4d9458d2..00000000 --- a/extras/BinaryBuilder/Builds/VisualStudio2019/BinaryBuilder_ConsoleApp.vcxproj +++ /dev/null @@ -1,609 +0,0 @@ - - - - - - Debug - x64 - - - Release - x64 - - - - {88983F7C-DB65-9E04-84E7-05F8979E0383} - - - - Application - false - false - v142 - 10.0 - - - Application - false - true - v142 - 10.0 - - - - - - - - <_ProjectFileVersion>10.0.30319.1 - .exe - $(SolutionDir)$(Platform)\$(Configuration)\ConsoleApp\ - $(Platform)\$(Configuration)\ConsoleApp\ - BinaryBuilder - true - $(SolutionDir)$(Platform)\$(Configuration)\ConsoleApp\ - $(Platform)\$(Configuration)\ConsoleApp\ - BinaryBuilder - true - - - - _DEBUG;%(PreprocessorDefinitions) - true - true - Win32 - - - - Disabled - ProgramDatabase - ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_WARNINGS;_CONSOLE;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60100;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2019_78A5026=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) - MultiThreadedDebugDLL - true - NotUsing - $(IntDir)\ - $(IntDir)\ - $(IntDir)\BinaryBuilder.pdb - Level4 - true - true - stdcpp14 - - - _DEBUG;%(PreprocessorDefinitions) - - - $(OutDir)\BinaryBuilder.exe - true - libcmt.lib; msvcrt.lib;;%(IgnoreSpecificDefaultLibraries) - true - $(IntDir)\BinaryBuilder.pdb - Console - true - - - true - $(IntDir)\BinaryBuilder.bsc - - - - - - NDEBUG;%(PreprocessorDefinitions) - true - true - Win32 - - - - Full - ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_WARNINGS;_CONSOLE;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60100;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2019_78A5026=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) - MultiThreadedDLL - true - NotUsing - $(IntDir)\ - $(IntDir)\ - $(IntDir)\BinaryBuilder.pdb - Level4 - true - true - stdcpp14 - - - NDEBUG;%(PreprocessorDefinitions) - - - $(OutDir)\BinaryBuilder.exe - true - %(IgnoreSpecificDefaultLibraries) - false - $(IntDir)\BinaryBuilder.pdb - Console - true - true - true - UseLinkTimeCodeGeneration - - - true - $(IntDir)\BinaryBuilder.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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/extras/BinaryBuilder/Builds/VisualStudio2019/BinaryBuilder_ConsoleApp.vcxproj.filters b/extras/BinaryBuilder/Builds/VisualStudio2019/BinaryBuilder_ConsoleApp.vcxproj.filters deleted file mode 100644 index 0c8b6848..00000000 --- a/extras/BinaryBuilder/Builds/VisualStudio2019/BinaryBuilder_ConsoleApp.vcxproj.filters +++ /dev/null @@ -1,854 +0,0 @@ - - - - - - {5B0DB3D7-8E47-D519-6890-CB8CEA6FE601} - - - {38A5DEA0-740E-61B3-3B47-06B91B23854C} - - - {42F7BE9D-3C8A-AE26-289B-8F355C068036} - - - {7868764A-6572-381A-906C-9C26792A4C29} - - - {03678508-A517-48BB-FB4A-485628C34E08} - - - {07D27C1D-3227-F527-356C-17DA11551A99} - - - {6146D580-99D2-A6C8-5908-30DC355BB6BA} - - - {C67003E8-BEA8-2188-F4B3-A122F4B4FA3F} - - - {09B91E68-1FF4-C7ED-9055-D4D96E66A0BA} - - - {30B3DA63-C1E4-F2EA-CEF0-8035D8CBFF64} - - - {4F24EEED-AA33-AC6C-9A39-72E71CF83EF0} - - - {0F70B1A9-BB50-23F5-2AE7-F95E51A00389} - - - {D4C8DC40-2CD2-04B6-05D0-1E7A88841390} - - - {58BED6AF-DB89-7560-B2B8-D937C1C0825A} - - - {B958F86B-6926-8D9B-2FC6-8BFD4BDC72C9} - - - {DB624F7D-D513-25AC-C13C-B9062EB3BEEE} - - - {89AA9B6C-4029-A34F-C1B0-3B5D8691F4D4} - - - {1A7F541C-B032-9C66-C320-A13B2A8A9866} - - - {4BAB7C18-51AB-0D9D-83CD-9C37F28D2E38} - - - {5523922E-8B0C-A52B-477C-752C09F8197F} - - - {857B6D8B-0ECB-FE9E-D1EB-D5E45E72F057} - - - {BAA582FA-40B7-320E-EE7A-4C3892C7BE72} - - - {FE955B6B-68AC-AA07-70D8-2413F6DB65C8} - - - {7ED5A90E-41AF-A1EF-659B-37CEEAB9BA61} - - - - - BinaryBuilder\Source - - - 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\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\javascript - - - JUCE Modules\juce_core\javascript - - - JUCE Modules\juce_core\logging - - - JUCE Modules\juce_core\logging - - - 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\misc - - - 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\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\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\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\system - - - 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\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\unit_tests - - - JUCE Modules\juce_core\xml - - - JUCE Modules\juce_core\xml - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip - - - JUCE Modules\juce_core\zip - - - JUCE Modules\juce_core\zip - - - JUCE Modules\juce_core - - - JUCE Modules\juce_core - - - JUCE Library Code - - - - - 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\containers - - - JUCE Modules\juce_core\containers - - - 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\files - - - JUCE Modules\juce_core\javascript - - - JUCE Modules\juce_core\javascript - - - JUCE Modules\juce_core\logging - - - JUCE Modules\juce_core\logging - - - 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\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\memory - - - JUCE Modules\juce_core\memory - - - JUCE Modules\juce_core\misc - - - JUCE Modules\juce_core\misc - - - JUCE Modules\juce_core\misc - - - 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\native - - - JUCE Modules\juce_core\native - - - JUCE Modules\juce_core\native - - - 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\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\streams - - - 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\system - - - 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\text - - - 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\unit_tests - - - JUCE Modules\juce_core\unit_tests - - - JUCE Modules\juce_core\xml - - - JUCE Modules\juce_core\xml - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip - - - JUCE Modules\juce_core\zip - - - JUCE Modules\juce_core\zip - - - JUCE Modules\juce_core - - - JUCE Library Code - - - - - JUCE Modules\juce_core\native\java - - - - - JUCE Library Code - - - diff --git a/extras/BinaryBuilder/Builds/VisualStudio2019/resources.rc b/extras/BinaryBuilder/Builds/VisualStudio2019/resources.rc deleted file mode 100644 index dc885ea9..00000000 --- a/extras/BinaryBuilder/Builds/VisualStudio2019/resources.rc +++ /dev/null @@ -1,33 +0,0 @@ -#pragma code_page(65001) - -#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 "CompanyName", "Raw Material Software Limited\0" - VALUE "LegalCopyright", "Raw Material Software Limited\0" - VALUE "FileDescription", "BinaryBuilder\0" - VALUE "FileVersion", "1.0.0\0" - VALUE "ProductName", "BinaryBuilder\0" - VALUE "ProductVersion", "1.0.0\0" - END - END - - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1252 - END -END - -#endif diff --git a/extras/BinaryBuilder/Builds/VisualStudio2022/BinaryBuilder.sln b/extras/BinaryBuilder/Builds/VisualStudio2022/BinaryBuilder.sln new file mode 100644 index 00000000..a10c526d --- /dev/null +++ b/extras/BinaryBuilder/Builds/VisualStudio2022/BinaryBuilder.sln @@ -0,0 +1,21 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio Version 17 + +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BinaryBuilder - ConsoleApp", "BinaryBuilder_ConsoleApp.vcxproj", "{88983F7C-DB65-9E04-84E7-05F8979E0383}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 + Release|x64 = Release|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {88983F7C-DB65-9E04-84E7-05F8979E0383}.Debug|x64.ActiveCfg = Debug|x64 + {88983F7C-DB65-9E04-84E7-05F8979E0383}.Debug|x64.Build.0 = Debug|x64 + {88983F7C-DB65-9E04-84E7-05F8979E0383}.Release|x64.ActiveCfg = Release|x64 + {88983F7C-DB65-9E04-84E7-05F8979E0383}.Release|x64.Build.0 = Release|x64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/extras/BinaryBuilder/Builds/VisualStudio2022/BinaryBuilder_ConsoleApp.vcxproj b/extras/BinaryBuilder/Builds/VisualStudio2022/BinaryBuilder_ConsoleApp.vcxproj new file mode 100644 index 00000000..73a4a0ed --- /dev/null +++ b/extras/BinaryBuilder/Builds/VisualStudio2022/BinaryBuilder_ConsoleApp.vcxproj @@ -0,0 +1,611 @@ + + + + + + Debug + x64 + + + Release + x64 + + + + {88983F7C-DB65-9E04-84E7-05F8979E0383} + + + + Application + false + false + v143 + 10.0 + + + Application + false + true + v143 + 10.0 + + + + + + + + <_ProjectFileVersion>10.0.30319.1 + .exe + $(SolutionDir)$(Platform)\$(Configuration)\ConsoleApp\ + $(Platform)\$(Configuration)\ConsoleApp\ + BinaryBuilder + true + $(SolutionDir)$(Platform)\$(Configuration)\ConsoleApp\ + $(Platform)\$(Configuration)\ConsoleApp\ + BinaryBuilder + true + + + + _DEBUG;%(PreprocessorDefinitions) + true + true + Win32 + + + + Disabled + ProgramDatabase + ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) + _CRT_SECURE_NO_WARNINGS;_CONSOLE;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2022_78A503E=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) + MultiThreadedDebugDLL + true + NotUsing + $(IntDir)\ + $(IntDir)\ + $(IntDir)\BinaryBuilder.pdb + Level4 + true + true + stdcpp14 + + + _DEBUG;%(PreprocessorDefinitions) + + + $(OutDir)\BinaryBuilder.exe + true + libcmt.lib; msvcrt.lib;;%(IgnoreSpecificDefaultLibraries) + true + $(IntDir)\BinaryBuilder.pdb + Console + true + + + true + $(IntDir)\BinaryBuilder.bsc + + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + Win32 + + + + Full + ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) + _CRT_SECURE_NO_WARNINGS;_CONSOLE;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2022_78A503E=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) + MultiThreadedDLL + true + NotUsing + $(IntDir)\ + $(IntDir)\ + $(IntDir)\BinaryBuilder.pdb + Level4 + true + true + stdcpp14 + + + NDEBUG;%(PreprocessorDefinitions) + + + $(OutDir)\BinaryBuilder.exe + true + %(IgnoreSpecificDefaultLibraries) + false + $(IntDir)\BinaryBuilder.pdb + Console + true + true + true + UseLinkTimeCodeGeneration + + + true + $(IntDir)\BinaryBuilder.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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/extras/BinaryBuilder/Builds/VisualStudio2022/BinaryBuilder_ConsoleApp.vcxproj.filters b/extras/BinaryBuilder/Builds/VisualStudio2022/BinaryBuilder_ConsoleApp.vcxproj.filters new file mode 100644 index 00000000..2587eff5 --- /dev/null +++ b/extras/BinaryBuilder/Builds/VisualStudio2022/BinaryBuilder_ConsoleApp.vcxproj.filters @@ -0,0 +1,860 @@ + + + + + + {5B0DB3D7-8E47-D519-6890-CB8CEA6FE601} + + + {38A5DEA0-740E-61B3-3B47-06B91B23854C} + + + {42F7BE9D-3C8A-AE26-289B-8F355C068036} + + + {7868764A-6572-381A-906C-9C26792A4C29} + + + {03678508-A517-48BB-FB4A-485628C34E08} + + + {07D27C1D-3227-F527-356C-17DA11551A99} + + + {6146D580-99D2-A6C8-5908-30DC355BB6BA} + + + {C67003E8-BEA8-2188-F4B3-A122F4B4FA3F} + + + {09B91E68-1FF4-C7ED-9055-D4D96E66A0BA} + + + {30B3DA63-C1E4-F2EA-CEF0-8035D8CBFF64} + + + {4F24EEED-AA33-AC6C-9A39-72E71CF83EF0} + + + {0F70B1A9-BB50-23F5-2AE7-F95E51A00389} + + + {D4C8DC40-2CD2-04B6-05D0-1E7A88841390} + + + {58BED6AF-DB89-7560-B2B8-D937C1C0825A} + + + {B958F86B-6926-8D9B-2FC6-8BFD4BDC72C9} + + + {DB624F7D-D513-25AC-C13C-B9062EB3BEEE} + + + {89AA9B6C-4029-A34F-C1B0-3B5D8691F4D4} + + + {1A7F541C-B032-9C66-C320-A13B2A8A9866} + + + {4BAB7C18-51AB-0D9D-83CD-9C37F28D2E38} + + + {5523922E-8B0C-A52B-477C-752C09F8197F} + + + {857B6D8B-0ECB-FE9E-D1EB-D5E45E72F057} + + + {BAA582FA-40B7-320E-EE7A-4C3892C7BE72} + + + {FE955B6B-68AC-AA07-70D8-2413F6DB65C8} + + + {7ED5A90E-41AF-A1EF-659B-37CEEAB9BA61} + + + + + BinaryBuilder\Source + + + 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\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\javascript + + + JUCE Modules\juce_core\javascript + + + JUCE Modules\juce_core\logging + + + JUCE Modules\juce_core\logging + + + 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\misc + + + 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\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\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\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\system + + + 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\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\unit_tests + + + JUCE Modules\juce_core\xml + + + JUCE Modules\juce_core\xml + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip + + + JUCE Modules\juce_core\zip + + + JUCE Modules\juce_core\zip + + + JUCE Modules\juce_core + + + JUCE Modules\juce_core + + + JUCE Library Code + + + + + 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\containers + + + JUCE Modules\juce_core\containers + + + JUCE Modules\juce_core\containers + + + 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\files + + + JUCE Modules\juce_core\javascript + + + JUCE Modules\juce_core\javascript + + + JUCE Modules\juce_core\logging + + + JUCE Modules\juce_core\logging + + + 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\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\memory + + + JUCE Modules\juce_core\memory + + + JUCE Modules\juce_core\memory + + + JUCE Modules\juce_core\misc + + + JUCE Modules\juce_core\misc + + + JUCE Modules\juce_core\misc + + + 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\native + + + JUCE Modules\juce_core\native + + + JUCE Modules\juce_core\native + + + 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\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\streams + + + 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\system + + + 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\text + + + 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\unit_tests + + + JUCE Modules\juce_core\unit_tests + + + JUCE Modules\juce_core\xml + + + JUCE Modules\juce_core\xml + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip + + + JUCE Modules\juce_core\zip + + + JUCE Modules\juce_core\zip + + + JUCE Modules\juce_core + + + JUCE Library Code + + + + + JUCE Modules\juce_core\native\java + + + + + JUCE Library Code + + + diff --git a/extras/BinaryBuilder/Builds/VisualStudio2022/resources.rc b/extras/BinaryBuilder/Builds/VisualStudio2022/resources.rc new file mode 100644 index 00000000..dc885ea9 --- /dev/null +++ b/extras/BinaryBuilder/Builds/VisualStudio2022/resources.rc @@ -0,0 +1,33 @@ +#pragma code_page(65001) + +#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 "CompanyName", "Raw Material Software Limited\0" + VALUE "LegalCopyright", "Raw Material Software Limited\0" + VALUE "FileDescription", "BinaryBuilder\0" + VALUE "FileVersion", "1.0.0\0" + VALUE "ProductName", "BinaryBuilder\0" + VALUE "ProductVersion", "1.0.0\0" + END + END + + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1252 + END +END + +#endif diff --git a/extras/Build/CMake/JUCEConfig.cmake.in b/extras/Build/CMake/JUCEConfig.cmake.in index 8bfb26df..782c7321 100644 --- a/extras/Build/CMake/JUCEConfig.cmake.in +++ b/extras/Build/CMake/JUCEConfig.cmake.in @@ -31,6 +31,7 @@ check_required_components("@PROJECT_NAME@") set(JUCE_MODULES_DIR "@PACKAGE_JUCE_MODULE_PATH@" CACHE INTERNAL "The path to JUCE modules") +include("@PACKAGE_UTILS_INSTALL_DIR@/JUCEModuleSupport.cmake") include("@PACKAGE_UTILS_INSTALL_DIR@/JUCEUtils.cmake") set(_juce_modules diff --git a/extras/Build/CMake/JUCEHelperTargets.cmake b/extras/Build/CMake/JUCEHelperTargets.cmake index 3ef8f34d..47085b17 100644 --- a/extras/Build/CMake/JUCEHelperTargets.cmake +++ b/extras/Build/CMake/JUCEHelperTargets.cmake @@ -5,27 +5,26 @@ if((CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") OR (CMAKE_CXX_COMPILER_FRONTEND_VARIA target_compile_options(juce_recommended_warning_flags INTERFACE "/W4") elseif((CMAKE_CXX_COMPILER_ID STREQUAL "Clang") OR (CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")) target_compile_options(juce_recommended_warning_flags INTERFACE - -Wall -Wshadow-all -Wshorten-64-to-32 -Wstrict-aliasing -Wuninitialized - -Wunused-parameter -Wconversion -Wsign-compare -Wint-conversion - -Wconditional-uninitialized -Woverloaded-virtual -Wreorder - -Wconstant-conversion -Wsign-conversion -Wunused-private-field - -Wbool-conversion -Wextra-semi -Wunreachable-code - -Wzero-as-null-pointer-constant -Wcast-align - -Winconsistent-missing-destructor-override -Wshift-sign-overflow - -Wnullable-to-nonnull-conversion -Wno-missing-field-initializers - -Wno-ignored-qualifiers -Wswitch-enum -Wpedantic) + -Wall -Wshadow-all -Wshorten-64-to-32 -Wstrict-aliasing + -Wuninitialized -Wunused-parameter -Wconversion -Wsign-compare + -Wint-conversion -Wconditional-uninitialized -Wconstant-conversion + -Wsign-conversion -Wbool-conversion -Wextra-semi -Wunreachable-code + -Wcast-align -Wshift-sign-overflow -Wno-missing-field-initializers + -Wnullable-to-nonnull-conversion -Wno-ignored-qualifiers -Wswitch-enum + -Wpedantic + $<$,$>: + -Wzero-as-null-pointer-constant -Wunused-private-field + -Woverloaded-virtual -Wreorder + -Winconsistent-missing-destructor-override>) elseif(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") target_compile_options(juce_recommended_warning_flags INTERFACE - -Wall -Wextra -Wstrict-aliasing -Wuninitialized -Wunused-parameter - -Wsign-compare -Woverloaded-virtual -Wreorder -Wsign-conversion - -Wunreachable-code -Wzero-as-null-pointer-constant -Wcast-align - -Wno-implicit-fallthrough -Wno-maybe-uninitialized + -Wall -Wextra -Wpedantic -Wstrict-aliasing -Wuninitialized + -Wunused-parameter -Wsign-compare -Wsign-conversion -Wunreachable-code + -Wcast-align -Wno-implicit-fallthrough -Wno-maybe-uninitialized -Wno-missing-field-initializers -Wno-ignored-qualifiers -Wswitch-enum - -Wredundant-decls -Wpedantic) - - if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER "7.0.0") - target_compile_options(juce_recommended_warning_flags INTERFACE "-Wno-strict-overflow") - endif() + -Wredundant-decls -Wno-strict-overflow -Wshadow + $<$: + -Woverloaded-virtual -Wreorder -Wzero-as-null-pointer-constant>) endif() # ================================================================================================== @@ -35,7 +34,7 @@ add_library(juce::juce_recommended_config_flags ALIAS juce_recommended_config_fl if((CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") OR (CMAKE_CXX_COMPILER_FRONTEND_VARIANT STREQUAL "MSVC")) target_compile_options(juce_recommended_config_flags INTERFACE - $,/Od,/Ox> $<$:/MP> /EHsc) + $,/Od /Zi,/Ox> $<$:/MP> /EHsc) elseif((CMAKE_CXX_COMPILER_ID STREQUAL "Clang") OR (CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang") OR (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")) diff --git a/extras/Build/CMake/JUCEModuleSupport.cmake b/extras/Build/CMake/JUCEModuleSupport.cmake index 17abb65b..785c6fcb 100644 --- a/extras/Build/CMake/JUCEModuleSupport.cmake +++ b/extras/Build/CMake/JUCEModuleSupport.cmake @@ -590,3 +590,18 @@ function(juce_add_modules) endforeach() endfunction() +# When source groups are enabled, this function sets the HEADER_FILE_ONLY property on any module +# source files that should not be built. This is called automatically by the juce_add_* functions. +function(_juce_fixup_module_source_groups) + if(JUCE_ENABLE_MODULE_SOURCE_GROUPS) + get_property(all_modules GLOBAL PROPERTY _juce_module_names) + + foreach(module_name IN LISTS all_modules) + get_target_property(path ${module_name} INTERFACE_JUCE_MODULE_PATH) + get_target_property(header_files ${module_name} INTERFACE_JUCE_MODULE_HEADERS) + get_target_property(source_files ${module_name} INTERFACE_JUCE_MODULE_SOURCES) + source_group(TREE ${path} PREFIX "JUCE Modules" FILES ${header_files} ${source_files}) + set_source_files_properties(${header_files} PROPERTIES HEADER_FILE_ONLY TRUE) + endforeach() + endif() +endfunction() diff --git a/extras/Build/CMake/JUCEUtils.cmake b/extras/Build/CMake/JUCEUtils.cmake index d8ac3bc8..a734f2da 100644 --- a/extras/Build/CMake/JUCEUtils.cmake +++ b/extras/Build/CMake/JUCEUtils.cmake @@ -300,6 +300,7 @@ function(_juce_write_configure_time_info target) _juce_append_target_property(file_content BACKGROUND_AUDIO_ENABLED ${target} JUCE_BACKGROUND_AUDIO_ENABLED) _juce_append_target_property(file_content BACKGROUND_BLE_ENABLED ${target} JUCE_BACKGROUND_BLE_ENABLED) _juce_append_target_property(file_content PUSH_NOTIFICATIONS_ENABLED ${target} JUCE_PUSH_NOTIFICATIONS_ENABLED) + _juce_append_target_property(file_content NETWORK_MULTICAST_ENABLED ${target} JUCE_NETWORK_MULTICAST_ENABLED) _juce_append_target_property(file_content PLUGIN_MANUFACTURER_CODE ${target} JUCE_PLUGIN_MANUFACTURER_CODE) _juce_append_target_property(file_content PLUGIN_CODE ${target} JUCE_PLUGIN_CODE) _juce_append_target_property(file_content IPHONE_SCREEN_ORIENTATIONS ${target} JUCE_IPHONE_SCREEN_ORIENTATIONS) @@ -446,8 +447,12 @@ function(_juce_version_code version_in out_var) set(${out_var} "${hex}" PARENT_SCOPE) endfunction() -function(_juce_to_char_literal str out_var) - string(APPEND str " ") # Make sure there are at least 4 characters in the string. +function(_juce_to_char_literal str out_var help_text) + string(LENGTH "${str}" string_length) + + if(NOT "${string_length}" EQUAL "4") + message(FATAL_ERROR "The ${help_text} code must contain exactly four characters, but it was set to '${str}'") + endif() # Round-tripping through a file is the simplest way to convert a string to hex... string(SUBSTRING "${str}" 0 4 four_chars) @@ -1048,6 +1053,15 @@ function(_juce_link_plugin_wrapper shared_code_target kind) C_VISIBILITY_PRESET hidden CXX_VISIBILITY_PRESET hidden JUCE_TARGET_KIND_STRING "${juce_kind_string}") + + # Under the Xcode generator, POST_BUILD commands (including the plugin copy step) run before + # signing, but M1 macs will only load signed binaries. Setting "adhoc_codesign" forces the + # linker to sign bundles, so that they can be loaded even if they are copied before the "real" + # signing step. See issue 21854 on the CMake Gitlab repo. + if("${CMAKE_GENERATOR};${CMAKE_SYSTEM_NAME};${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "Xcode;Darwin;arm64") + target_link_options(${target_name} PRIVATE LINKER:-adhoc_codesign) + endif() + add_dependencies(${shared_code_target}_All ${target_name}) _juce_configure_bundle(${shared_code_target} ${target_name}) @@ -1128,11 +1142,11 @@ function(_juce_configure_plugin_targets target) get_target_property(use_legacy_compatibility_plugin_code ${target} JUCE_USE_LEGACY_COMPATIBILITY_PLUGIN_CODE) if(use_legacy_compatibility_plugin_code) - set(project_manufacturer_code "project_manufacturer_code-NOTFOUND") + set(project_manufacturer_code "proj") endif() - _juce_to_char_literal(${project_manufacturer_code} project_manufacturer_code) - _juce_to_char_literal(${project_plugin_code} project_plugin_code) + _juce_to_char_literal(${project_manufacturer_code} project_manufacturer_code "plugin manufacturer") + _juce_to_char_literal(${project_plugin_code} project_plugin_code "plugin") _juce_get_vst3_category_string(${target} vst3_category_string) @@ -1484,6 +1498,7 @@ function(_juce_initialise_target target) NEEDS_WEB_BROWSER # Set this true if you want to link webkit on Linux NEEDS_STORE_KIT # Set this true if you want in-app-purchases on Mac PUSH_NOTIFICATIONS_ENABLED + NETWORK_MULTICAST_ENABLED HARDENED_RUNTIME_ENABLED APP_SANDBOX_ENABLED APP_SANDBOX_INHERIT @@ -1596,18 +1611,7 @@ function(_juce_initialise_target target) _juce_write_generate_time_info(${target}) _juce_link_optional_libraries(${target}) - - if(JUCE_ENABLE_MODULE_SOURCE_GROUPS) - get_property(all_modules GLOBAL PROPERTY _juce_module_names) - - foreach(module_name IN LISTS all_modules) - get_target_property(path ${module_name} INTERFACE_JUCE_MODULE_PATH) - get_target_property(header_files ${module_name} INTERFACE_JUCE_MODULE_HEADERS) - get_target_property(source_files ${module_name} INTERFACE_JUCE_MODULE_SOURCES) - source_group(TREE ${path} PREFIX "JUCE Modules" FILES ${header_files} ${source_files}) - set_source_files_properties(${header_files} PROPERTIES HEADER_FILE_ONLY TRUE) - endforeach() - endif() + _juce_fixup_module_source_groups() endfunction() # ================================================================================================== diff --git a/extras/Build/juce_build_tools/juce_build_tools.h b/extras/Build/juce_build_tools/juce_build_tools.h index 9ac3b993..1fadffe2 100644 --- a/extras/Build/juce_build_tools/juce_build_tools.h +++ b/extras/Build/juce_build_tools/juce_build_tools.h @@ -34,7 +34,7 @@ ID: juce_build_tools vendor: juce - version: 6.1.0 + version: 6.1.3 name: JUCE Build Tools description: Classes for generating intermediate files for JUCE projects. website: http://www.juce.com/juce diff --git a/extras/Build/juce_build_tools/utils/juce_Entitlements.cpp b/extras/Build/juce_build_tools/utils/juce_Entitlements.cpp index 779c62e6..bb4c02f1 100644 --- a/extras/Build/juce_build_tools/utils/juce_Entitlements.cpp +++ b/extras/Build/juce_build_tools/utils/juce_Entitlements.cpp @@ -110,6 +110,9 @@ namespace build_tools entitlements.set (option, ""); } + if (isNetworkingMulticastEnabled) + entitlements.set ("com.apple.developer.networking.multicast", ""); + return entitlements; } } diff --git a/extras/Build/juce_build_tools/utils/juce_Entitlements.h b/extras/Build/juce_build_tools/utils/juce_Entitlements.h index 97b2fdbb..b7d15385 100644 --- a/extras/Build/juce_build_tools/utils/juce_Entitlements.h +++ b/extras/Build/juce_build_tools/utils/juce_Entitlements.h @@ -42,6 +42,7 @@ namespace build_tools bool isHardenedRuntimeEnabled = false; bool isAppSandboxEnabled = false; bool isAppSandboxInhertianceEnabled = false; + bool isNetworkingMulticastEnabled = false; String appGroupIdString; diff --git a/extras/Build/juce_build_tools/utils/juce_PlistOptions.cpp b/extras/Build/juce_build_tools/utils/juce_PlistOptions.cpp index 3f4abd9c..df8f633a 100644 --- a/extras/Build/juce_build_tools/utils/juce_PlistOptions.cpp +++ b/extras/Build/juce_build_tools/utils/juce_PlistOptions.cpp @@ -28,22 +28,28 @@ namespace juce namespace build_tools { //============================================================================== - static bool keyFoundAndNotSequentialDuplicate (XmlElement& xml, const String& key) + static XmlElement* getKeyWithName (XmlElement& xml, const String& key) { for (auto* element : xml.getChildWithTagNameIterator ("key")) - { if (element->getAllSubText().trim().equalsIgnoreCase (key)) - { - if (element->getNextElement() != nullptr && element->getNextElement()->hasTagName ("key")) - { - // found broken plist format (sequential duplicate), fix by removing - xml.removeChildElement (element, true); - return false; - } + return element; + + return nullptr; + } - // key found (not sequential duplicate) - return true; + static bool keyFoundAndNotSequentialDuplicate (XmlElement& xml, const String& key) + { + if (auto* element = getKeyWithName (xml, key)) + { + if (element->getNextElement() != nullptr && element->getNextElement()->hasTagName ("key")) + { + // found broken plist format (sequential duplicate), fix by removing + xml.removeChildElement (element, true); + return false; } + + // key found (not sequential duplicate) + return true; } // key not found @@ -87,6 +93,9 @@ namespace build_tools static void addArrayToPlist (XmlElement& dict, String arrayKey, const StringArray& arrayElements) { + if (getKeyWithName (dict, arrayKey) != nullptr) + return; + dict.createNewChildElement ("key")->addTextElement (arrayKey); auto* plistStringArray = dict.createNewChildElement ("array"); @@ -197,6 +206,7 @@ namespace build_tools addPlistDictionaryKey (*dict2, "CFBundleTypeRole", "Editor"); addPlistDictionaryKey (*dict2, "CFBundleTypeIconFile", "Icon"); addPlistDictionaryKey (*dict2, "NSPersistentStoreTypeKey", "XML"); + addPlistDictionaryKey (*dict2, "LSHandlerRank", "Default"); } arrayTag->createNewChildElement ("string")->addTextElement (ex); diff --git a/extras/Build/juceaide/Main.cpp b/extras/Build/juceaide/Main.cpp index a3b9a9a4..cdfcda1d 100644 --- a/extras/Build/juceaide/Main.cpp +++ b/extras/Build/juceaide/Main.cpp @@ -341,6 +341,7 @@ juce::build_tools::EntitlementOptions parseEntitlementsOptions (const juce::File updateField ("APP_SANDBOX_ENABLED", result.isAppSandboxEnabled); updateField ("APP_SANDBOX_INHERIT", result.isAppSandboxInhertianceEnabled); updateField ("APP_SANDBOX_OPTIONS", result.appSandboxOptions); + updateField ("NETWORK_MULTICAST_ENABLED", result.isNetworkingMulticastEnabled); result.type = type; diff --git a/extras/NetworkGraphicsDemo/Builds/Android/app/CMakeLists.txt b/extras/NetworkGraphicsDemo/Builds/Android/app/CMakeLists.txt index 905993a1..0a203619 100644 --- a/extras/NetworkGraphicsDemo/Builds/Android/app/CMakeLists.txt +++ b/extras/NetworkGraphicsDemo/Builds/Android/app/CMakeLists.txt @@ -12,7 +12,7 @@ add_subdirectory (${OBOE_DIR} ./oboe) add_library("cpufeatures" STATIC "${ANDROID_NDK}/sources/android/cpufeatures/cpu-features.c") set_source_files_properties("${ANDROID_NDK}/sources/android/cpufeatures/cpu-features.c" PROPERTIES COMPILE_FLAGS "-Wno-sign-conversion -Wno-gnu-statement-expression") -add_definitions("-DJUCE_ANDROID=1" "-DJUCE_ANDROID_API_VERSION=16" "-DJUCE_PUSH_NOTIFICATIONS=1" "-DJUCE_PUSH_NOTIFICATIONS_ACTIVITY=\"com/rmsl/juce/JuceActivity\"" "-DJUCER_ANDROIDSTUDIO_7F0E4A25=1" "-DJUCE_APP_VERSION=1.0.0" "-DJUCE_APP_VERSION_HEX=0x10000") +add_definitions([[-DJUCE_ANDROID=1]] [[-DJUCE_ANDROID_API_VERSION=16]] [[-DJUCE_PUSH_NOTIFICATIONS=1]] [[-DJUCE_PUSH_NOTIFICATIONS_ACTIVITY="com/rmsl/juce/JuceActivity"]] [[-DJUCER_ANDROIDSTUDIO_7F0E4A25=1]] [[-DJUCE_APP_VERSION=1.0.0]] [[-DJUCE_APP_VERSION_HEX=0x10000]]) include_directories( AFTER "../../../JuceLibraryCode" @@ -23,9 +23,9 @@ include_directories( AFTER enable_language(ASM) if(JUCE_BUILD_CONFIGURATION MATCHES "DEBUG") - add_definitions("-DJUCE_DISPLAY_SPLASH_SCREEN=0" "-DJUCE_USE_DARK_SPLASH_SCREEN=1" "-DJUCE_PROJUCER_VERSION=0x60100" "-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_MODULE_AVAILABLE_juce_cryptography=1" "-DJUCE_MODULE_AVAILABLE_juce_data_structures=1" "-DJUCE_MODULE_AVAILABLE_juce_events=1" "-DJUCE_MODULE_AVAILABLE_juce_graphics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1" "-DJUCE_MODULE_AVAILABLE_juce_opengl=1" "-DJUCE_MODULE_AVAILABLE_juce_osc=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCE_DEBUG=0" "-DJUCER_ANDROIDSTUDIO_7F0E4A25=1" "-DJUCE_APP_VERSION=1.0.0" "-DJUCE_APP_VERSION_HEX=0x10000" "-DDEBUG=1" "-D_DEBUG=1") + add_definitions([[-DJUCE_DISPLAY_SPLASH_SCREEN=0]] [[-DJUCE_USE_DARK_SPLASH_SCREEN=1]] [[-DJUCE_PROJUCER_VERSION=0x60103]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1]] [[-DJUCE_MODULE_AVAILABLE_juce_core=1]] [[-DJUCE_MODULE_AVAILABLE_juce_cryptography=1]] [[-DJUCE_MODULE_AVAILABLE_juce_data_structures=1]] [[-DJUCE_MODULE_AVAILABLE_juce_events=1]] [[-DJUCE_MODULE_AVAILABLE_juce_graphics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1]] [[-DJUCE_MODULE_AVAILABLE_juce_opengl=1]] [[-DJUCE_MODULE_AVAILABLE_juce_osc=1]] [[-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1]] [[-DJUCE_STANDALONE_APPLICATION=1]] [[-DJUCE_DEBUG=0]] [[-DJUCER_ANDROIDSTUDIO_7F0E4A25=1]] [[-DJUCE_APP_VERSION=1.0.0]] [[-DJUCE_APP_VERSION_HEX=0x10000]] [[-DDEBUG=1]] [[-D_DEBUG=1]]) elseif(JUCE_BUILD_CONFIGURATION MATCHES "RELEASE") - add_definitions("-DJUCE_DISPLAY_SPLASH_SCREEN=0" "-DJUCE_USE_DARK_SPLASH_SCREEN=1" "-DJUCE_PROJUCER_VERSION=0x60100" "-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_MODULE_AVAILABLE_juce_cryptography=1" "-DJUCE_MODULE_AVAILABLE_juce_data_structures=1" "-DJUCE_MODULE_AVAILABLE_juce_events=1" "-DJUCE_MODULE_AVAILABLE_juce_graphics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1" "-DJUCE_MODULE_AVAILABLE_juce_opengl=1" "-DJUCE_MODULE_AVAILABLE_juce_osc=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCER_ANDROIDSTUDIO_7F0E4A25=1" "-DJUCE_APP_VERSION=1.0.0" "-DJUCE_APP_VERSION_HEX=0x10000" "-DNDEBUG=1") + add_definitions([[-DJUCE_DISPLAY_SPLASH_SCREEN=0]] [[-DJUCE_USE_DARK_SPLASH_SCREEN=1]] [[-DJUCE_PROJUCER_VERSION=0x60103]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1]] [[-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1]] [[-DJUCE_MODULE_AVAILABLE_juce_core=1]] [[-DJUCE_MODULE_AVAILABLE_juce_cryptography=1]] [[-DJUCE_MODULE_AVAILABLE_juce_data_structures=1]] [[-DJUCE_MODULE_AVAILABLE_juce_events=1]] [[-DJUCE_MODULE_AVAILABLE_juce_graphics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1]] [[-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1]] [[-DJUCE_MODULE_AVAILABLE_juce_opengl=1]] [[-DJUCE_MODULE_AVAILABLE_juce_osc=1]] [[-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1]] [[-DJUCE_STANDALONE_APPLICATION=1]] [[-DJUCER_ANDROIDSTUDIO_7F0E4A25=1]] [[-DJUCE_APP_VERSION=1.0.0]] [[-DJUCE_APP_VERSION_HEX=0x10000]] [[-DNDEBUG=1]]) else() message( FATAL_ERROR "No matching build-configuration found." ) endif() @@ -37,7 +37,7 @@ add_library( ${BINARY_NAME} "../../../Source/Demos.h" "../../../Source/Main.cpp" "../../../Source/MasterComponent.h" - "../../../Source/SlaveComponent.h" + "../../../Source/ClientComponent.h" "../../../Source/SharedCanvas.h" "../../../Source/juce_icon.png" "../../../../../modules/juce_audio_basics/audio_play_head/juce_AudioPlayHead.h" @@ -590,6 +590,7 @@ add_library( ${BINARY_NAME} "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameterGroup.h" "../../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp" "../../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.h" + "../../../../../modules/juce_audio_processors/processors/juce_HostedAudioProcessorParameter.h" "../../../../../modules/juce_audio_processors/processors/juce_PluginDescription.cpp" "../../../../../modules/juce_audio_processors/processors/juce_PluginDescription.h" "../../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp" @@ -678,6 +679,7 @@ add_library( ${BINARY_NAME} "../../../../../modules/juce_core/containers/juce_ReferenceCountedArray.cpp" "../../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h" "../../../../../modules/juce_core/containers/juce_ScopedValueSetter.h" + "../../../../../modules/juce_core/containers/juce_SingleThreadedAbstractFifo.h" "../../../../../modules/juce_core/containers/juce_SortedSet.h" "../../../../../modules/juce_core/containers/juce_SparseSet.cpp" "../../../../../modules/juce_core/containers/juce_SparseSet.h" @@ -733,6 +735,7 @@ add_library( ${BINARY_NAME} "../../../../../modules/juce_core/memory/juce_MemoryBlock.h" "../../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h" "../../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h" + "../../../../../modules/juce_core/memory/juce_Reservoir.h" "../../../../../modules/juce_core/memory/juce_ScopedPointer.h" "../../../../../modules/juce_core/memory/juce_SharedResourcePointer.h" "../../../../../modules/juce_core/memory/juce_Singleton.h" @@ -1039,6 +1042,7 @@ add_library( ${BINARY_NAME} "../../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h" "../../../../../modules/juce_graphics/geometry/juce_Point.h" "../../../../../modules/juce_graphics/geometry/juce_Rectangle.h" + "../../../../../modules/juce_graphics/geometry/juce_Rectangle_test.cpp" "../../../../../modules/juce_graphics/geometry/juce_RectangleList.h" "../../../../../modules/juce_graphics/image_formats/jpglib/cderror.h" "../../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt" @@ -1133,6 +1137,7 @@ add_library( ${BINARY_NAME} "../../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h" "../../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp" "../../../../../modules/juce_graphics/images/juce_ImageFileFormat.h" + "../../../../../modules/juce_graphics/images/juce_ScaledImage.h" "../../../../../modules/juce_graphics/native/juce_android_Fonts.cpp" "../../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp" "../../../../../modules/juce_graphics/native/juce_android_IconHelpers.cpp" @@ -1395,6 +1400,7 @@ add_library( ${BINARY_NAME} "../../../../../modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm" "../../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm" "../../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h" + "../../../../../modules/juce_gui_basics/native/juce_ScopedDPIAwarenessDisabler.h" "../../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp" "../../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp" "../../../../../modules/juce_gui_basics/native/juce_win32_ScopedThreadDPIAwarenessSetter.h" @@ -1497,7 +1503,6 @@ add_library( ${BINARY_NAME} "../../../../../modules/juce_gui_extra/embedding/juce_AndroidViewComponent.h" "../../../../../modules/juce_gui_extra/embedding/juce_HWNDComponent.h" "../../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h" - "../../../../../modules/juce_gui_extra/embedding/juce_ScopedDPIAwarenessDisabler.h" "../../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h" "../../../../../modules/juce_gui_extra/embedding/juce_XEmbedComponent.h" "../../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp" @@ -1620,7 +1625,7 @@ add_library( ${BINARY_NAME} set_source_files_properties("../../../Source/Demos.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../Source/MasterComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../Source/SlaveComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../Source/ClientComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../Source/SharedCanvas.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../Source/juce_icon.png" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_audio_basics/audio_play_head/juce_AudioPlayHead.h" PROPERTIES HEADER_FILE_ONLY TRUE) @@ -2173,6 +2178,7 @@ set_source_files_properties("../../../../../modules/juce_audio_processors/proces set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameterGroup.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_HostedAudioProcessorParameter.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_PluginDescription.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_audio_processors/processors/juce_PluginDescription.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) @@ -2261,6 +2267,7 @@ set_source_files_properties("../../../../../modules/juce_core/containers/juce_Pr set_source_files_properties("../../../../../modules/juce_core/containers/juce_ReferenceCountedArray.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_core/containers/juce_ScopedValueSetter.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/containers/juce_SingleThreadedAbstractFifo.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_core/containers/juce_SortedSet.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_core/containers/juce_SparseSet.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_core/containers/juce_SparseSet.h" PROPERTIES HEADER_FILE_ONLY TRUE) @@ -2316,6 +2323,7 @@ set_source_files_properties("../../../../../modules/juce_core/memory/juce_Memory set_source_files_properties("../../../../../modules/juce_core/memory/juce_MemoryBlock.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_core/memory/juce_Reservoir.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_core/memory/juce_ScopedPointer.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_core/memory/juce_SharedResourcePointer.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_core/memory/juce_Singleton.h" PROPERTIES HEADER_FILE_ONLY TRUE) @@ -2622,6 +2630,7 @@ set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_ set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_Point.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_Rectangle.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_Rectangle_test.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_graphics/geometry/juce_RectangleList.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/cderror.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt" PROPERTIES HEADER_FILE_ONLY TRUE) @@ -2716,6 +2725,7 @@ set_source_files_properties("../../../../../modules/juce_graphics/images/juce_Im set_source_files_properties("../../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_graphics/images/juce_ImageFileFormat.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_graphics/images/juce_ScaledImage.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_graphics/native/juce_android_Fonts.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_graphics/native/juce_android_IconHelpers.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) @@ -2978,6 +2988,7 @@ set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_ set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h" PROPERTIES HEADER_FILE_ONLY TRUE) +set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_ScopedDPIAwarenessDisabler.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_gui_basics/native/juce_win32_ScopedThreadDPIAwarenessSetter.h" PROPERTIES HEADER_FILE_ONLY TRUE) @@ -3080,7 +3091,6 @@ set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juc set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_AndroidViewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_HWNDComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) -set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_ScopedDPIAwarenessDisabler.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_gui_extra/embedding/juce_XEmbedComponent.h" PROPERTIES HEADER_FILE_ONLY TRUE) set_source_files_properties("../../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp" PROPERTIES HEADER_FILE_ONLY TRUE) diff --git a/extras/NetworkGraphicsDemo/Builds/Android/app/src/main/AndroidManifest.xml b/extras/NetworkGraphicsDemo/Builds/Android/app/src/main/AndroidManifest.xml index 6624aa7f..c04fe00a 100644 --- a/extras/NetworkGraphicsDemo/Builds/Android/app/src/main/AndroidManifest.xml +++ b/extras/NetworkGraphicsDemo/Builds/Android/app/src/main/AndroidManifest.xml @@ -6,6 +6,7 @@ android:xlargeScreens="true"/> + @@ -14,7 +15,8 @@ + android:screenOrientation="unspecified" android:launchMode="singleTask" android:hardwareAccelerated="true" + android:exported="true"> diff --git a/extras/NetworkGraphicsDemo/Builds/LinuxMakefile/Makefile b/extras/NetworkGraphicsDemo/Builds/LinuxMakefile/Makefile index f753903d..134b230d 100644 --- a/extras/NetworkGraphicsDemo/Builds/LinuxMakefile/Makefile +++ b/extras/NetworkGraphicsDemo/Builds/LinuxMakefile/Makefile @@ -35,7 +35,7 @@ ifeq ($(CONFIG),Debug) TARGET_ARCH := endif - JUCE_CPPFLAGS := $(DEPFLAGS) "-DLINUX=1" "-DDEBUG=1" "-D_DEBUG=1" "-DJUCE_DISPLAY_SPLASH_SCREEN=0" "-DJUCE_USE_DARK_SPLASH_SCREEN=1" "-DJUCE_PROJUCER_VERSION=0x60100" "-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_MODULE_AVAILABLE_juce_cryptography=1" "-DJUCE_MODULE_AVAILABLE_juce_data_structures=1" "-DJUCE_MODULE_AVAILABLE_juce_events=1" "-DJUCE_MODULE_AVAILABLE_juce_graphics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1" "-DJUCE_MODULE_AVAILABLE_juce_opengl=1" "-DJUCE_MODULE_AVAILABLE_juce_osc=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCER_LINUX_MAKE_6D53C8B4=1" "-DJUCE_APP_VERSION=1.0.0" "-DJUCE_APP_VERSION_HEX=0x10000" $(shell pkg-config --cflags alsa freetype2 libcurl webkit2gtk-4.0 gtk+-x11-3.0) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS) + JUCE_CPPFLAGS := $(DEPFLAGS) "-DLINUX=1" "-DDEBUG=1" "-D_DEBUG=1" "-DJUCE_DISPLAY_SPLASH_SCREEN=0" "-DJUCE_USE_DARK_SPLASH_SCREEN=1" "-DJUCE_PROJUCER_VERSION=0x60103" "-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_MODULE_AVAILABLE_juce_cryptography=1" "-DJUCE_MODULE_AVAILABLE_juce_data_structures=1" "-DJUCE_MODULE_AVAILABLE_juce_events=1" "-DJUCE_MODULE_AVAILABLE_juce_graphics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1" "-DJUCE_MODULE_AVAILABLE_juce_opengl=1" "-DJUCE_MODULE_AVAILABLE_juce_osc=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCER_LINUX_MAKE_6D53C8B4=1" "-DJUCE_APP_VERSION=1.0.0" "-DJUCE_APP_VERSION_HEX=0x10000" $(shell pkg-config --cflags alsa freetype2 libcurl webkit2gtk-4.0 gtk+-x11-3.0) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS) JUCE_CPPFLAGS_APP := "-DJucePlugin_Build_VST=0" "-DJucePlugin_Build_VST3=0" "-DJucePlugin_Build_AU=0" "-DJucePlugin_Build_AUv3=0" "-DJucePlugin_Build_RTAS=0" "-DJucePlugin_Build_AAX=0" "-DJucePlugin_Build_Standalone=0" "-DJucePlugin_Build_Unity=0" JUCE_TARGET_APP := JUCE\ Network\ Graphics\ Demo @@ -56,7 +56,7 @@ ifeq ($(CONFIG),Release) TARGET_ARCH := endif - JUCE_CPPFLAGS := $(DEPFLAGS) "-DLINUX=1" "-DNDEBUG=1" "-DJUCE_DISPLAY_SPLASH_SCREEN=0" "-DJUCE_USE_DARK_SPLASH_SCREEN=1" "-DJUCE_PROJUCER_VERSION=0x60100" "-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_MODULE_AVAILABLE_juce_cryptography=1" "-DJUCE_MODULE_AVAILABLE_juce_data_structures=1" "-DJUCE_MODULE_AVAILABLE_juce_events=1" "-DJUCE_MODULE_AVAILABLE_juce_graphics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1" "-DJUCE_MODULE_AVAILABLE_juce_opengl=1" "-DJUCE_MODULE_AVAILABLE_juce_osc=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCER_LINUX_MAKE_6D53C8B4=1" "-DJUCE_APP_VERSION=1.0.0" "-DJUCE_APP_VERSION_HEX=0x10000" $(shell pkg-config --cflags alsa freetype2 libcurl webkit2gtk-4.0 gtk+-x11-3.0) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS) + JUCE_CPPFLAGS := $(DEPFLAGS) "-DLINUX=1" "-DNDEBUG=1" "-DJUCE_DISPLAY_SPLASH_SCREEN=0" "-DJUCE_USE_DARK_SPLASH_SCREEN=1" "-DJUCE_PROJUCER_VERSION=0x60103" "-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_MODULE_AVAILABLE_juce_cryptography=1" "-DJUCE_MODULE_AVAILABLE_juce_data_structures=1" "-DJUCE_MODULE_AVAILABLE_juce_events=1" "-DJUCE_MODULE_AVAILABLE_juce_graphics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1" "-DJUCE_MODULE_AVAILABLE_juce_opengl=1" "-DJUCE_MODULE_AVAILABLE_juce_osc=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCER_LINUX_MAKE_6D53C8B4=1" "-DJUCE_APP_VERSION=1.0.0" "-DJUCE_APP_VERSION_HEX=0x10000" $(shell pkg-config --cflags alsa freetype2 libcurl webkit2gtk-4.0 gtk+-x11-3.0) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS) JUCE_CPPFLAGS_APP := "-DJucePlugin_Build_VST=0" "-DJucePlugin_Build_VST3=0" "-DJucePlugin_Build_AU=0" "-DJucePlugin_Build_AUv3=0" "-DJucePlugin_Build_RTAS=0" "-DJucePlugin_Build_AAX=0" "-DJucePlugin_Build_Standalone=0" "-DJucePlugin_Build_Unity=0" JUCE_TARGET_APP := JUCE\ Network\ Graphics\ Demo diff --git a/extras/NetworkGraphicsDemo/Builds/MacOSX/NetworkGraphicsDemo.xcodeproj/project.pbxproj b/extras/NetworkGraphicsDemo/Builds/MacOSX/NetworkGraphicsDemo.xcodeproj/project.pbxproj index 0c458fa6..1ec9134e 100644 --- a/extras/NetworkGraphicsDemo/Builds/MacOSX/NetworkGraphicsDemo.xcodeproj/project.pbxproj +++ b/extras/NetworkGraphicsDemo/Builds/MacOSX/NetworkGraphicsDemo.xcodeproj/project.pbxproj @@ -67,7 +67,6 @@ 7BE6330821794919A88ED8ED /* include_juce_gui_extra.mm */ /* include_juce_gui_extra.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_gui_extra.mm; path = ../../JuceLibraryCode/include_juce_gui_extra.mm; sourceTree = SOURCE_ROOT; }; 84B287BB2AD252B7D69AC47E /* include_juce_gui_basics.mm */ /* include_juce_gui_basics.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_gui_basics.mm; path = ../../JuceLibraryCode/include_juce_gui_basics.mm; sourceTree = SOURCE_ROOT; }; 89583CD42AD218E9753DF11C /* juce_audio_devices */ /* juce_audio_devices */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_audio_devices; path = ../../../../modules/juce_audio_devices; sourceTree = SOURCE_ROOT; }; - 8E2F72AFA0CDA64F0C07F105 /* SlaveComponent.h */ /* SlaveComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SlaveComponent.h; path = ../../Source/SlaveComponent.h; sourceTree = SOURCE_ROOT; }; 8EACAADD3A23DED3E252C92F /* juce_core */ /* juce_core */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_core; path = ../../../../modules/juce_core; sourceTree = SOURCE_ROOT; }; 92800676AF753D1A60108F11 /* BinaryData.h */ /* BinaryData.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = BinaryData.h; path = ../../JuceLibraryCode/BinaryData.h; sourceTree = SOURCE_ROOT; }; 935CA85EF98714D3A17AE737 /* QuartzCore.framework */ /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; @@ -83,6 +82,7 @@ AFF729977947528F3E4AAA96 /* include_juce_cryptography.mm */ /* include_juce_cryptography.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_cryptography.mm; path = ../../JuceLibraryCode/include_juce_cryptography.mm; sourceTree = SOURCE_ROOT; }; B5433B00F012AD87AADBFCD6 /* juce_cryptography */ /* juce_cryptography */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_cryptography; path = ../../../../modules/juce_cryptography; sourceTree = SOURCE_ROOT; }; B76F10A7778664E164A01934 /* juce_audio_basics */ /* juce_audio_basics */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_audio_basics; path = ../../../../modules/juce_audio_basics; sourceTree = SOURCE_ROOT; }; + B9B80E3572715F63FFC3678B /* ClientComponent.h */ /* ClientComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ClientComponent.h; path = ../../Source/ClientComponent.h; sourceTree = SOURCE_ROOT; }; BA2E40409255F1B078406221 /* juce_data_structures */ /* juce_data_structures */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_data_structures; path = ../../../../modules/juce_data_structures; sourceTree = SOURCE_ROOT; }; C6E2284D86D93F1D9D5C7666 /* include_juce_audio_formats.mm */ /* include_juce_audio_formats.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_audio_formats.mm; path = ../../JuceLibraryCode/include_juce_audio_formats.mm; sourceTree = SOURCE_ROOT; }; C78806A6727F44EACFDED4A5 /* Cocoa.framework */ /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; @@ -138,7 +138,7 @@ 4FF648D72D6F1A78956CDA1B, 77C0AC21C1028911123844FC, 9982F39121710EFFD5FEEAEF, - 8E2F72AFA0CDA64F0C07F105, + B9B80E3572715F63FFC3678B, 25DEDA8C9F94A6C8DFC8E53E, ); name = Source; @@ -265,7 +265,7 @@ A5398ADB6F5B128C00EB935C = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1310; ORGANIZATIONNAME = "Raw Material Software Limited"; TargetAttributes = { 4311FBCBD02948A0ED96C7DD = { @@ -353,10 +353,12 @@ CLANG_CXX_LANGUAGE_STANDARD = "c++14"; CLANG_CXX_LIBRARY = "libc++"; CLANG_LINK_OBJC_RUNTIME = NO; - CODE_SIGN_IDENTITY = ""; + CODE_SIGN_IDENTITY = "-"; + CODE_SIGN_STYLE = Manual; COMBINE_HIDPI_IMAGES = YES; CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; DEAD_CODE_STRIPPING = YES; + EXCLUDED_ARCHS = ""; GCC_GENERATE_DEBUGGING_SYMBOLS = NO; GCC_OPTIMIZATION_LEVEL = 3; GCC_PREPROCESSOR_DEFINITIONS = ( @@ -364,7 +366,7 @@ "NDEBUG=1", "JUCE_DISPLAY_SPLASH_SCREEN=0", "JUCE_USE_DARK_SPLASH_SCREEN=1", - "JUCE_PROJUCER_VERSION=0x60100", + "JUCE_PROJUCER_VERSION=0x60103", "JUCE_MODULE_AVAILABLE_juce_audio_basics=1", "JUCE_MODULE_AVAILABLE_juce_audio_devices=1", "JUCE_MODULE_AVAILABLE_juce_audio_formats=1", @@ -407,6 +409,7 @@ MTL_HEADER_SEARCH_PATHS = "$(SRCROOT)/../../JuceLibraryCode $(SRCROOT)/../../../../modules"; PRODUCT_BUNDLE_IDENTIFIER = com.juce.NetworkGraphicsDemo; PRODUCT_NAME = "JUCE Network Graphics Demo"; + PROVISIONING_PROFILE_SPECIFIER = ""; USE_HEADERMAP = NO; VALIDATE_WORKSPACE_SKIPPED_SDK_FRAMEWORKS = OpenGL; VALID_ARCHS = "i386 x86_64 arm64 arm64e"; @@ -435,7 +438,7 @@ CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = ""; + CODE_SIGN_IDENTITY = "-"; DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = NO; @@ -484,7 +487,7 @@ CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = ""; + CODE_SIGN_IDENTITY = "-"; DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = NO; @@ -516,10 +519,12 @@ CLANG_CXX_LANGUAGE_STANDARD = "c++14"; CLANG_CXX_LIBRARY = "libc++"; CLANG_LINK_OBJC_RUNTIME = NO; - CODE_SIGN_IDENTITY = ""; + CODE_SIGN_IDENTITY = "-"; + CODE_SIGN_STYLE = Manual; COMBINE_HIDPI_IMAGES = YES; CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; COPY_PHASE_STRIP = NO; + EXCLUDED_ARCHS = ""; GCC_DYNAMIC_NO_PIC = NO; GCC_OPTIMIZATION_LEVEL = 0; GCC_PREPROCESSOR_DEFINITIONS = ( @@ -527,7 +532,7 @@ "DEBUG=1", "JUCE_DISPLAY_SPLASH_SCREEN=0", "JUCE_USE_DARK_SPLASH_SCREEN=1", - "JUCE_PROJUCER_VERSION=0x60100", + "JUCE_PROJUCER_VERSION=0x60103", "JUCE_MODULE_AVAILABLE_juce_audio_basics=1", "JUCE_MODULE_AVAILABLE_juce_audio_devices=1", "JUCE_MODULE_AVAILABLE_juce_audio_formats=1", @@ -569,6 +574,7 @@ MTL_HEADER_SEARCH_PATHS = "$(SRCROOT)/../../JuceLibraryCode $(SRCROOT)/../../../../modules"; PRODUCT_BUNDLE_IDENTIFIER = com.juce.NetworkGraphicsDemo; PRODUCT_NAME = "JUCE Network Graphics Demo"; + PROVISIONING_PROFILE_SPECIFIER = ""; USE_HEADERMAP = NO; VALIDATE_WORKSPACE_SKIPPED_SDK_FRAMEWORKS = OpenGL; VALID_ARCHS = "i386 x86_64 arm64 arm64e"; diff --git a/extras/NetworkGraphicsDemo/Builds/VisualStudio2019/NetworkGraphicsDemo.sln b/extras/NetworkGraphicsDemo/Builds/VisualStudio2019/NetworkGraphicsDemo.sln deleted file mode 100644 index b36a7021..00000000 --- a/extras/NetworkGraphicsDemo/Builds/VisualStudio2019/NetworkGraphicsDemo.sln +++ /dev/null @@ -1,20 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2019 - -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "NetworkGraphicsDemo - App", "NetworkGraphicsDemo_App.vcxproj", "{2F8ABED0-7428-13A5-07CD-EF1F3B43B926}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|x64 = Debug|x64 - Release|x64 = Release|x64 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {2F8ABED0-7428-13A5-07CD-EF1F3B43B926}.Debug|x64.ActiveCfg = Debug|x64 - {2F8ABED0-7428-13A5-07CD-EF1F3B43B926}.Debug|x64.Build.0 = Debug|x64 - {2F8ABED0-7428-13A5-07CD-EF1F3B43B926}.Release|x64.ActiveCfg = Release|x64 - {2F8ABED0-7428-13A5-07CD-EF1F3B43B926}.Release|x64.Build.0 = Release|x64 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/extras/NetworkGraphicsDemo/Builds/VisualStudio2019/NetworkGraphicsDemo_App.vcxproj b/extras/NetworkGraphicsDemo/Builds/VisualStudio2019/NetworkGraphicsDemo_App.vcxproj deleted file mode 100644 index 5322953e..00000000 --- a/extras/NetworkGraphicsDemo/Builds/VisualStudio2019/NetworkGraphicsDemo_App.vcxproj +++ /dev/null @@ -1,3035 +0,0 @@ - - - - - - Debug - x64 - - - Release - x64 - - - - {2F8ABED0-7428-13A5-07CD-EF1F3B43B926} - - - - Application - false - false - v142 - 10.0 - - - Application - false - true - v142 - 10.0 - - - - - - - - <_ProjectFileVersion>10.0.30319.1 - .exe - $(SolutionDir)$(Platform)\$(Configuration)\App\ - $(Platform)\$(Configuration)\App\ - JUCE Network Graphics Demo - true - $(SolutionDir)$(Platform)\$(Configuration)\App\ - $(Platform)\$(Configuration)\App\ - JUCE Network Graphics Demo - true - - - - _DEBUG;%(PreprocessorDefinitions) - true - true - Win32 - - - - Disabled - ProgramDatabase - ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60100;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_osc=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2019_78A5026=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) - MultiThreadedDebugDLL - true - NotUsing - $(IntDir)\ - $(IntDir)\ - $(IntDir)\JUCE Network Graphics Demo.pdb - Level4 - true - true - stdcpp14 - - - _DEBUG;%(PreprocessorDefinitions) - - - $(OutDir)\JUCE Network Graphics Demo.exe - true - libcmt.lib; msvcrt.lib;;%(IgnoreSpecificDefaultLibraries) - true - $(IntDir)\JUCE Network Graphics Demo.pdb - Windows - true - - - true - $(IntDir)\JUCE Network Graphics Demo.bsc - - - - - - NDEBUG;%(PreprocessorDefinitions) - true - true - Win32 - - - - Full - ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60100;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_osc=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2019_78A5026=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) - MultiThreadedDLL - true - NotUsing - $(IntDir)\ - $(IntDir)\ - $(IntDir)\JUCE Network Graphics Demo.pdb - Level4 - true - true - stdcpp14 - - - NDEBUG;%(PreprocessorDefinitions) - - - $(OutDir)\JUCE Network Graphics Demo.exe - true - %(IgnoreSpecificDefaultLibraries) - false - $(IntDir)\JUCE Network Graphics Demo.pdb - Windows - true - true - true - UseLinkTimeCodeGeneration - - - true - $(IntDir)\JUCE Network Graphics Demo.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 - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - - - - - - - - - - - - /bigobj %(AdditionalOptions) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/extras/NetworkGraphicsDemo/Builds/VisualStudio2019/NetworkGraphicsDemo_App.vcxproj.filters b/extras/NetworkGraphicsDemo/Builds/VisualStudio2019/NetworkGraphicsDemo_App.vcxproj.filters deleted file mode 100644 index c2a396aa..00000000 --- a/extras/NetworkGraphicsDemo/Builds/VisualStudio2019/NetworkGraphicsDemo_App.vcxproj.filters +++ /dev/null @@ -1,5228 +0,0 @@ - - - - - - {6803489B-B275-0512-8D8B-D30728E17A76} - - - {B8E36EB7-A210-7AC5-D731-E337E72C8A1E} - - - {EB58F05A-A968-CEBE-40C4-107CDD8F240F} - - - {5FCF559E-451A-CB1E-B177-A5DC5A0005BB} - - - {05CE33FC-868F-AA1A-12B8-79C98E753648} - - - {D78296AF-218E-B17E-7F8B-9D148601188D} - - - {B96EBA26-E668-FFAF-FC53-1EC1337DAF5A} - - - {D8532E5E-469E-5042-EFC8-238241704735} - - - {777B5D1D-9AF0-B22B-8894-034603EE97F5} - - - {8292766D-2459-2E7E-7615-17216318BA93} - - - {9BD56105-DAB4-EBD5-00DD-BD540E98FE88} - - - {10472B2C-9888-D269-F351-0D0AC3BCD16C} - - - {BF23FC10-1D57-2A9B-706F-6DD8A7B593D4} - - - {386862D5-4DCC-A4B3-5642-60A201E303EF} - - - {092EFC17-7C95-7E04-0ACA-0D61A462EE81} - - - {285118C6-8FDA-7DCE-BEF4-FFB2120876C5} - - - {69ED6B61-9B8D-D47E-E4A6-2E9F9A94A75A} - - - {7CDB7CD1-BB96-F593-3C78-1E06182B5839} - - - {B0A708DE-B4CF-196B-14FB-DC8221509B8E} - - - {34F46ADE-EE31-227A-A69E-7732E70145F1} - - - {BB9B3C77-17FB-E994-8B75-88F1727E4655} - - - {C0971D77-2F14-190A-E2AE-89D6285F4D5A} - - - {AABEA333-6524-8891-51C7-6DAEB5700628} - - - {F2D29337-983E-BAD7-7B5C-E0AB3D53D404} - - - {C674B0FB-1FC0-2986-94B1-083845018994} - - - {0AFC1CE8-F6E6-9817-8C21-8432B2A375DA} - - - {0D1AF264-3AC1-78A2-B2A4-AE6171F9194A} - - - {9A5DB854-CFFB-5F88-C566-0E10F994DDB3} - - - {38A5DDC7-416E-548F-39DA-887875FE6B20} - - - {980FE2DB-05D3-5FDA-79DA-067A56F5D19D} - - - {F336DC25-747A-0663-93D6-E3EB9AA0CBF8} - - - {7D78546A-80FC-4DCA-00B9-F191F0AB2179} - - - {9EB3EC7F-2AB7-DDAA-3C05-DF382B728D3F} - - - {6B9FBFDC-1D10-6246-356D-00FF4535CECB} - - - {D6FCFC8E-7136-9109-78C0-91A3EB4C443F} - - - {EBF18AC1-F0ED-937A-2824-4307CE2ADAF7} - - - {5A0F7922-2EFB-6465-57E4-A445B804EFB5} - - - {4EC45416-0E7C-7567-6F75-D0C8CEE7DC4F} - - - {C2985031-0496-55B5-41A8-BAB99E53D89D} - - - {FB4AB426-7009-0036-BB75-E34256AA7C89} - - - {E684D858-09E8-0251-8E86-5657129641E1} - - - {1EF1BF17-F941-243A-04D1-EE617D140CBA} - - - {344DB016-679C-FBD0-3EC6-4570C47522DE} - - - {3D9758A0-9359-1710-87C1-05D475C08B17} - - - {E824435F-FC7B-10BE-5D1A-5DACC51A8836} - - - {86737735-F6BA-F64A-5EC7-5C9F36755F79} - - - {4DC60E78-BBC0-B540-63A2-37E14ABBEF09} - - - {80C72173-A1E1-C3C5-9288-B889CE2EAFEA} - - - {4138B955-AA0B-FA86-DBF9-404CAFFFA866} - - - {2B4166B8-F470-F07C-4F51-D2DAAAECBB18} - - - {9C295115-C0CD-3129-1C4D-FB53299B23FB} - - - {65526A8B-3447-9DF0-FD5D-00D111126027} - - - {A54A1F5C-F32F-F97B-9E8A-69922B770A54} - - - {B90A44F3-B62D-B5C0-81A2-683D2650AEE6} - - - {DAF30656-5915-0E45-C4E4-54439617D525} - - - {9266EA90-6A0A-5DDB-9CB7-966BEF03BA5C} - - - {9C713CBA-A9E2-5F4E-F83C-2CAB8533913C} - - - {63571A07-9AA3-5BB0-1103-0B42A2E6BC9E} - - - {314F43F2-BC8F-B464-EAE7-86B9675454E9} - - - {874C5D0C-6D29-68EE-38BB-26200B56BC89} - - - {86BAA7A7-DC50-35B6-910B-932AEAF257F2} - - - {6B7BE34D-1BC1-C7B9-111F-C55CA8250943} - - - {9B6B6D54-D378-80C2-8CC9-D1D8FB44C2A8} - - - {D0584AC3-6837-14F6-90BF-5EA604D1F074} - - - {794B64EC-B809-32E3-AD00-4EE6A74802CA} - - - {67BE498C-9E1F-C73A-B99A-387C034CE680} - - - {1A9C8538-959B-25E3-473D-B462C9A9D458} - - - {AA9F594C-DFAF-C0A7-0CCD-9F90E54D3A01} - - - {230BF784-34F4-3BE8-46D4-54E6B67E5E9E} - - - {39F680F3-5161-4D1C-EAD0-3911ED808874} - - - {3197198B-A978-E330-C7FB-07E5CE8236C7} - - - {42F7BE9D-3C8A-AE26-289B-8F355C068036} - - - {7868764A-6572-381A-906C-9C26792A4C29} - - - {03678508-A517-48BB-FB4A-485628C34E08} - - - {07D27C1D-3227-F527-356C-17DA11551A99} - - - {6146D580-99D2-A6C8-5908-30DC355BB6BA} - - - {C67003E8-BEA8-2188-F4B3-A122F4B4FA3F} - - - {09B91E68-1FF4-C7ED-9055-D4D96E66A0BA} - - - {30B3DA63-C1E4-F2EA-CEF0-8035D8CBFF64} - - - {4F24EEED-AA33-AC6C-9A39-72E71CF83EF0} - - - {0F70B1A9-BB50-23F5-2AE7-F95E51A00389} - - - {D4C8DC40-2CD2-04B6-05D0-1E7A88841390} - - - {58BED6AF-DB89-7560-B2B8-D937C1C0825A} - - - {B958F86B-6926-8D9B-2FC6-8BFD4BDC72C9} - - - {DB624F7D-D513-25AC-C13C-B9062EB3BEEE} - - - {89AA9B6C-4029-A34F-C1B0-3B5D8691F4D4} - - - {1A7F541C-B032-9C66-C320-A13B2A8A9866} - - - {4BAB7C18-51AB-0D9D-83CD-9C37F28D2E38} - - - {5523922E-8B0C-A52B-477C-752C09F8197F} - - - {857B6D8B-0ECB-FE9E-D1EB-D5E45E72F057} - - - {BAA582FA-40B7-320E-EE7A-4C3892C7BE72} - - - {89B3E447-34BE-C691-638E-09796C6B647E} - - - {9BE78436-DBF4-658C-579B-ED19FFD0EB5D} - - - {21E7FA61-9E0A-4BA1-04B7-AF47AFA9CB8B} - - - {632B4C79-AF7D-BFB5-D006-5AE67F607130} - - - {B10E20C2-4583-2B79-60B7-FE4D4B044313} - - - {CFB54F15-8A8A-0505-9B7F-ECA41CEE38E8} - - - {911F0159-A7A8-4A43-3FD4-154F62F4A44B} - - - {9D5816C2-E2B2-2E3F-B095-AC8BD1100D29} - - - {3FDCD000-763F-8477-9AF8-70ABA2E91E5E} - - - {0947506F-66FA-EF8D-8A4E-4D48BCDBB226} - - - {E4B6AED3-F54C-3FF2-069F-640BACAE0E08} - - - {D5EADBCC-6A1C-C940-0206-26E49110AF08} - - - {D27DC92D-5BEB-9294-DCD1-81D54E245AD5} - - - {BCD73D20-42B1-6CDB-DE66-B06236A60F47} - - - {20DC13F6-2369-8841-9F0B-D13FA14EEE74} - - - {A302A8DB-120F-9EBB-A3D5-2C29963AA56B} - - - {45489C2A-6E0E-CCDC-6638-0DACEEB63CCA} - - - {F1B90726-DB55-0293-BFAF-C65C7DF5489C} - - - {2C55FD42-0ACD-B0B8-7EAE-EB17F09BAEEC} - - - {B68CD2B2-701F-9AB7-4638-2485D6E06BCF} - - - {B0B7C78E-729E-0FFA-D611-82AE8BC7FE2C} - - - {0A4F7E12-220C-14EF-0026-9C0629FA9C17} - - - {37F49E10-4E62-6D5C-FF70-722D0CA3D97E} - - - {160D9882-0F68-278D-C5F9-8960FD7421D2} - - - {4CED05DA-E0A2-E548-F753-1F2EF299A8E3} - - - {46AE69B8-AD58-4381-6CDE-25C8D75B01D2} - - - {E56CB4FC-32E8-8740-A3BB-B323CD937A99} - - - {4ECDCA0C-BB38-0729-A6B6-2FB0B4D0863B} - - - {294E4CD5-B06F-97D1-04A3-51871CEA507C} - - - {77228F15-BD91-06FF-2C7E-0377D25C2C94} - - - {5CB531E6-BF9A-2C50-056C-EE5A525D28D3} - - - {E4EA47E5-B41C-2A19-1783-7E9104096ECD} - - - {B331BC33-9770-3DB5-73F2-BC2469ECCF7F} - - - {46A17AC9-0BFF-B5CE-26D6-B9D1992C88AC} - - - {D90A8DF7-FBAB-D363-13C0-6707BB22B72B} - - - {8AE77C40-6839-EC37-4515-BD3CC269BCE4} - - - {0EAD99DB-011F-09E5-45A2-365F646EB004} - - - {F57590C6-3B90-1BE1-1006-488BA33E8BD9} - - - {7C319D73-0D93-5842-0874-398D2D3038D5} - - - {2CB4DB0C-DD3B-6195-D822-76EC7A5C88D2} - - - {FE3CB19C-EF43-5CF5-DAF0-09D4E43D0AB9} - - - {C0E5DD5D-F8F1-DD25-67D7-291946AB3828} - - - {FE7E6CD5-C7A0-DB20-4E7E-D6E7F08C4578} - - - {895C2D33-E08D-B1BA-BB36-FC4CA65090C8} - - - {D64A57DB-A956-5519-1929-1D929B56E1B0} - - - {5A99CC24-AC45-7ED6-C11A-B8B86E76D884} - - - {7A131EEC-25A7-22F6-2839-A2194DDF3007} - - - {EA9DB76C-CEF7-6BFC-2070-28B7DF8E8063} - - - {3C206A40-6F1B-E683-ACF1-DEC3703D0140} - - - {DF95D4BF-E18C-125A-5EBB-8993A06E232C} - - - {118946F2-AC24-0F09-62D5-753DF87A60CD} - - - {07329F9B-7D3D-CEB3-C771-714842076140} - - - {08BBBECB-B0D1-7611-37EC-F57E1D0CE2A2} - - - {268E8F2A-980C-BF2F-B161-AACABC9D91F3} - - - {A4D76113-9EDC-DA60-D89B-5BACF7F1C426} - - - {1A9221A3-E993-70B2-6EA2-8E1DB5FF646A} - - - {CC2DAD7A-5B45-62AB-4C54-6FE6B1AE86C3} - - - {599138A9-EA63-53DD-941F-ABE3412D2949} - - - {422A4014-8587-1AE6-584F-32A62613A37B} - - - {9FBFF5E5-56F1-34A1-2C85-F760DA2B1EB7} - - - {EEE9B92C-AD26-4BEA-4D95-3F859090EA9F} - - - {B1DE8DB1-C00A-12C0-D690-8B3C9504A60A} - - - {FE955B6B-68AC-AA07-70D8-2413F6DB65C8} - - - {7ED5A90E-41AF-A1EF-659B-37CEEAB9BA61} - - - - - NetworkGraphicsDemo\Source - - - JUCE Modules\juce_audio_basics\buffers - - - JUCE Modules\juce_audio_basics\buffers - - - JUCE Modules\juce_audio_basics\buffers - - - JUCE Modules\juce_audio_basics\buffers - - - JUCE Modules\juce_audio_basics\midi\ump - - - JUCE Modules\juce_audio_basics\midi\ump - - - JUCE Modules\juce_audio_basics\midi\ump - - - JUCE Modules\juce_audio_basics\midi\ump - - - JUCE Modules\juce_audio_basics\midi\ump - - - 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\midi - - - JUCE Modules\juce_audio_basics\mpe - - - JUCE Modules\juce_audio_basics\mpe - - - JUCE Modules\juce_audio_basics\mpe - - - JUCE Modules\juce_audio_basics\mpe - - - JUCE Modules\juce_audio_basics\mpe - - - JUCE Modules\juce_audio_basics\mpe - - - JUCE Modules\juce_audio_basics\mpe - - - JUCE Modules\juce_audio_basics\mpe - - - JUCE Modules\juce_audio_basics\mpe - - - 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\utilities - - - JUCE Modules\juce_audio_basics\utilities - - - JUCE Modules\juce_audio_basics\utilities - - - JUCE Modules\juce_audio_basics\utilities - - - JUCE Modules\juce_audio_basics\utilities - - - JUCE Modules\juce_audio_basics\utilities - - - JUCE Modules\juce_audio_basics - - - 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\midi_io\ump - - - JUCE Modules\juce_audio_devices\midi_io - - - JUCE Modules\juce_audio_devices\midi_io - - - JUCE Modules\juce_audio_devices\native\oboe\src\aaudio - - - JUCE Modules\juce_audio_devices\native\oboe\src\aaudio - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\fifo - - - JUCE Modules\juce_audio_devices\native\oboe\src\fifo - - - JUCE Modules\juce_audio_devices\native\oboe\src\fifo - - - JUCE Modules\juce_audio_devices\native\oboe\src\fifo - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\opensles - - - JUCE Modules\juce_audio_devices\native\oboe\src\opensles - - - JUCE Modules\juce_audio_devices\native\oboe\src\opensles - - - JUCE Modules\juce_audio_devices\native\oboe\src\opensles - - - JUCE Modules\juce_audio_devices\native\oboe\src\opensles - - - JUCE Modules\juce_audio_devices\native\oboe\src\opensles - - - JUCE Modules\juce_audio_devices\native\oboe\src\opensles - - - 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\sources - - - JUCE Modules\juce_audio_devices\sources - - - JUCE Modules\juce_audio_devices - - - JUCE Modules\juce_audio_devices - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis - - - 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\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\sampler - - - JUCE Modules\juce_audio_formats - - - JUCE Modules\juce_audio_formats - - - JUCE Modules\juce_audio_processors\format - - - JUCE Modules\juce_audio_processors\format - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\thread\source - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\common - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\common - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst - - - 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\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\scanning - - - JUCE Modules\juce_audio_processors\scanning - - - JUCE Modules\juce_audio_processors\scanning - - - JUCE Modules\juce_audio_processors\utilities - - - JUCE Modules\juce_audio_processors\utilities - - - JUCE Modules\juce_audio_processors\utilities - - - JUCE Modules\juce_audio_processors\utilities - - - JUCE Modules\juce_audio_processors\utilities - - - JUCE Modules\juce_audio_processors\utilities - - - JUCE Modules\juce_audio_processors\utilities - - - JUCE Modules\juce_audio_processors\utilities - - - JUCE Modules\juce_audio_processors\utilities - - - JUCE Modules\juce_audio_processors - - - JUCE Modules\juce_audio_processors - - - JUCE Modules\juce_audio_utils\audio_cd - - - 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\native - - - JUCE Modules\juce_audio_utils\native - - - JUCE Modules\juce_audio_utils\native - - - JUCE Modules\juce_audio_utils\native - - - JUCE Modules\juce_audio_utils\native - - - JUCE Modules\juce_audio_utils\native - - - JUCE Modules\juce_audio_utils\native - - - JUCE Modules\juce_audio_utils\native - - - JUCE Modules\juce_audio_utils\native - - - JUCE Modules\juce_audio_utils\native - - - JUCE Modules\juce_audio_utils\players - - - JUCE Modules\juce_audio_utils\players - - - JUCE Modules\juce_audio_utils - - - JUCE Modules\juce_audio_utils - - - 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\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\javascript - - - JUCE Modules\juce_core\javascript - - - JUCE Modules\juce_core\logging - - - JUCE Modules\juce_core\logging - - - 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\misc - - - 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\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\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\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\system - - - 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\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\unit_tests - - - JUCE Modules\juce_core\xml - - - JUCE Modules\juce_core\xml - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip - - - JUCE Modules\juce_core\zip - - - JUCE Modules\juce_core\zip - - - JUCE Modules\juce_core - - - 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\hashing - - - JUCE Modules\juce_cryptography - - - JUCE Modules\juce_cryptography - - - JUCE Modules\juce_data_structures\app_properties - - - JUCE Modules\juce_data_structures\app_properties - - - JUCE Modules\juce_data_structures\undomanager - - - JUCE Modules\juce_data_structures\values - - - JUCE Modules\juce_data_structures\values - - - JUCE Modules\juce_data_structures\values - - - JUCE Modules\juce_data_structures\values - - - JUCE Modules\juce_data_structures\values - - - JUCE Modules\juce_data_structures - - - JUCE Modules\juce_data_structures - - - 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\interprocess - - - JUCE Modules\juce_events\messages - - - JUCE Modules\juce_events\messages - - - JUCE Modules\juce_events\messages - - - JUCE Modules\juce_events\messages - - - 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_events\native - - - JUCE Modules\juce_events\native - - - JUCE Modules\juce_events\timers - - - JUCE Modules\juce_events\timers - - - JUCE Modules\juce_events - - - 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\contexts - - - JUCE Modules\juce_graphics\contexts - - - JUCE Modules\juce_graphics\contexts - - - JUCE Modules\juce_graphics\effects - - - JUCE Modules\juce_graphics\effects - - - 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\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\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\pnglib - - - JUCE Modules\juce_graphics\image_formats\pnglib - - - JUCE Modules\juce_graphics\image_formats\pnglib - - - JUCE Modules\juce_graphics\image_formats\pnglib - - - JUCE Modules\juce_graphics\image_formats\pnglib - - - JUCE Modules\juce_graphics\image_formats\pnglib - - - JUCE Modules\juce_graphics\image_formats\pnglib - - - JUCE Modules\juce_graphics\image_formats\pnglib - - - JUCE Modules\juce_graphics\image_formats\pnglib - - - JUCE Modules\juce_graphics\image_formats\pnglib - - - JUCE Modules\juce_graphics\image_formats\pnglib - - - JUCE Modules\juce_graphics\image_formats\pnglib - - - JUCE Modules\juce_graphics\image_formats\pnglib - - - JUCE Modules\juce_graphics\image_formats\pnglib - - - JUCE Modules\juce_graphics\image_formats\pnglib - - - JUCE Modules\juce_graphics\image_formats - - - JUCE Modules\juce_graphics\image_formats - - - JUCE Modules\juce_graphics\image_formats - - - JUCE Modules\juce_graphics\images - - - JUCE Modules\juce_graphics\images - - - JUCE Modules\juce_graphics\images - - - JUCE Modules\juce_graphics\images - - - 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_graphics\native - - - JUCE Modules\juce_graphics\native - - - JUCE Modules\juce_graphics\native - - - JUCE Modules\juce_graphics\native - - - JUCE Modules\juce_graphics\placement - - - JUCE Modules\juce_graphics - - - JUCE Modules\juce_graphics - - - JUCE Modules\juce_gui_basics\accessibility - - - JUCE Modules\juce_gui_basics\application - - - 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\commands - - - JUCE Modules\juce_gui_basics\commands - - - JUCE Modules\juce_gui_basics\commands - - - JUCE Modules\juce_gui_basics\commands - - - 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\desktop - - - JUCE Modules\juce_gui_basics\desktop - - - 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\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\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\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\layout - - - JUCE Modules\juce_gui_basics\layout - - - 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\lookandfeel - - - JUCE Modules\juce_gui_basics\menus - - - JUCE Modules\juce_gui_basics\menus - - - JUCE Modules\juce_gui_basics\menus - - - JUCE Modules\juce_gui_basics\menus - - - JUCE Modules\juce_gui_basics\misc - - - JUCE Modules\juce_gui_basics\misc - - - JUCE Modules\juce_gui_basics\misc - - - 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\native\accessibility - - - JUCE Modules\juce_gui_basics\native\accessibility - - - JUCE Modules\juce_gui_basics\native\accessibility - - - JUCE Modules\juce_gui_basics\native\accessibility - - - JUCE Modules\juce_gui_basics\native\accessibility - - - JUCE Modules\juce_gui_basics\native\accessibility - - - JUCE Modules\juce_gui_basics\native\x11 - - - JUCE Modules\juce_gui_basics\native\x11 - - - JUCE Modules\juce_gui_basics\native\x11 - - - 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_basics\native - - - JUCE Modules\juce_gui_basics\native - - - JUCE Modules\juce_gui_basics\native - - - 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\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\properties - - - 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 - - - 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\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\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_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 - - - 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\opengl - - - JUCE Modules\juce_opengl\utils - - - JUCE Modules\juce_opengl - - - JUCE Modules\juce_opengl - - - JUCE Modules\juce_osc\osc - - - JUCE Modules\juce_osc\osc - - - JUCE Modules\juce_osc\osc - - - JUCE Modules\juce_osc\osc - - - JUCE Modules\juce_osc\osc - - - JUCE Modules\juce_osc\osc - - - JUCE Modules\juce_osc\osc - - - JUCE Modules\juce_osc\osc - - - JUCE Modules\juce_osc - - - 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 Library Code - - - - - NetworkGraphicsDemo\Source - - - NetworkGraphicsDemo\Source - - - NetworkGraphicsDemo\Source - - - NetworkGraphicsDemo\Source - - - JUCE Modules\juce_audio_basics\audio_play_head - - - JUCE Modules\juce_audio_basics\buffers - - - JUCE Modules\juce_audio_basics\buffers - - - JUCE Modules\juce_audio_basics\buffers - - - JUCE Modules\juce_audio_basics\buffers - - - JUCE Modules\juce_audio_basics\buffers - - - JUCE Modules\juce_audio_basics\midi\ump - - - JUCE Modules\juce_audio_basics\midi\ump - - - JUCE Modules\juce_audio_basics\midi\ump - - - JUCE Modules\juce_audio_basics\midi\ump - - - JUCE Modules\juce_audio_basics\midi\ump - - - JUCE Modules\juce_audio_basics\midi\ump - - - JUCE Modules\juce_audio_basics\midi\ump - - - JUCE Modules\juce_audio_basics\midi\ump - - - JUCE Modules\juce_audio_basics\midi\ump - - - JUCE Modules\juce_audio_basics\midi\ump - - - JUCE Modules\juce_audio_basics\midi\ump - - - JUCE Modules\juce_audio_basics\midi\ump - - - JUCE Modules\juce_audio_basics\midi\ump - - - JUCE Modules\juce_audio_basics\midi\ump - - - JUCE Modules\juce_audio_basics\midi\ump - - - 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\midi - - - JUCE Modules\juce_audio_basics\midi - - - JUCE Modules\juce_audio_basics\mpe - - - JUCE Modules\juce_audio_basics\mpe - - - JUCE Modules\juce_audio_basics\mpe - - - JUCE Modules\juce_audio_basics\mpe - - - JUCE Modules\juce_audio_basics\mpe - - - JUCE Modules\juce_audio_basics\mpe - - - JUCE Modules\juce_audio_basics\mpe - - - JUCE Modules\juce_audio_basics\mpe - - - JUCE Modules\juce_audio_basics\mpe - - - JUCE Modules\juce_audio_basics\native - - - 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\sources - - - JUCE Modules\juce_audio_basics\synthesisers - - - JUCE Modules\juce_audio_basics\utilities - - - JUCE Modules\juce_audio_basics\utilities - - - JUCE Modules\juce_audio_basics\utilities - - - JUCE Modules\juce_audio_basics\utilities - - - JUCE Modules\juce_audio_basics\utilities - - - JUCE Modules\juce_audio_basics\utilities - - - JUCE Modules\juce_audio_basics\utilities - - - 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\ump - - - JUCE Modules\juce_audio_devices\midi_io\ump - - - JUCE Modules\juce_audio_devices\midi_io - - - JUCE Modules\juce_audio_devices\midi_io - - - JUCE Modules\juce_audio_devices\native\oboe\include\oboe - - - JUCE Modules\juce_audio_devices\native\oboe\include\oboe - - - JUCE Modules\juce_audio_devices\native\oboe\include\oboe - - - JUCE Modules\juce_audio_devices\native\oboe\include\oboe - - - JUCE Modules\juce_audio_devices\native\oboe\include\oboe - - - JUCE Modules\juce_audio_devices\native\oboe\include\oboe - - - JUCE Modules\juce_audio_devices\native\oboe\include\oboe - - - JUCE Modules\juce_audio_devices\native\oboe\include\oboe - - - JUCE Modules\juce_audio_devices\native\oboe\include\oboe - - - JUCE Modules\juce_audio_devices\native\oboe\include\oboe - - - JUCE Modules\juce_audio_devices\native\oboe\include\oboe - - - JUCE Modules\juce_audio_devices\native\oboe\src\aaudio - - - JUCE Modules\juce_audio_devices\native\oboe\src\aaudio - - - JUCE Modules\juce_audio_devices\native\oboe\src\aaudio - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\fifo - - - JUCE Modules\juce_audio_devices\native\oboe\src\fifo - - - JUCE Modules\juce_audio_devices\native\oboe\src\fifo - - - JUCE Modules\juce_audio_devices\native\oboe\src\fifo - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\opensles - - - JUCE Modules\juce_audio_devices\native\oboe\src\opensles - - - JUCE Modules\juce_audio_devices\native\oboe\src\opensles - - - JUCE Modules\juce_audio_devices\native\oboe\src\opensles - - - JUCE Modules\juce_audio_devices\native\oboe\src\opensles - - - JUCE Modules\juce_audio_devices\native\oboe\src\opensles - - - JUCE Modules\juce_audio_devices\native\oboe\src\opensles - - - JUCE Modules\juce_audio_devices\native - - - JUCE Modules\juce_audio_devices\native - - - JUCE Modules\juce_audio_devices\sources - - - JUCE Modules\juce_audio_devices\sources - - - JUCE Modules\juce_audio_devices - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected - - - JUCE Modules\juce_audio_formats\codecs\flac - - - JUCE Modules\juce_audio_formats\codecs\flac - - - JUCE Modules\juce_audio_formats\codecs\flac - - - JUCE Modules\juce_audio_formats\codecs\flac - - - JUCE Modules\juce_audio_formats\codecs\flac - - - JUCE Modules\juce_audio_formats\codecs\flac - - - JUCE Modules\juce_audio_formats\codecs\flac - - - JUCE Modules\juce_audio_formats\codecs\flac - - - JUCE Modules\juce_audio_formats\codecs\flac - - - JUCE Modules\juce_audio_formats\codecs\flac - - - JUCE Modules\juce_audio_formats\codecs\flac - - - JUCE Modules\juce_audio_formats\codecs\flac - - - JUCE Modules\juce_audio_formats\codecs\flac - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\books\coupled - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\books\coupled - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\books\floor - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\books\uncoupled - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis - - - 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\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\sampler - - - JUCE Modules\juce_audio_formats - - - JUCE Modules\juce_audio_processors\format - - - JUCE Modules\juce_audio_processors\format - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\thread\include - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\gui - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\gui - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\common - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\common - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst - - - 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\format_types - - - JUCE Modules\juce_audio_processors\format_types - - - 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\processors - - - JUCE Modules\juce_audio_processors\scanning - - - JUCE Modules\juce_audio_processors\scanning - - - JUCE Modules\juce_audio_processors\scanning - - - JUCE Modules\juce_audio_processors\utilities - - - JUCE Modules\juce_audio_processors\utilities - - - JUCE Modules\juce_audio_processors\utilities - - - JUCE Modules\juce_audio_processors\utilities - - - JUCE Modules\juce_audio_processors\utilities - - - JUCE Modules\juce_audio_processors\utilities - - - JUCE Modules\juce_audio_processors\utilities - - - JUCE Modules\juce_audio_processors\utilities - - - JUCE Modules\juce_audio_processors\utilities - - - JUCE Modules\juce_audio_processors\utilities - - - JUCE Modules\juce_audio_processors\utilities - - - JUCE Modules\juce_audio_processors\utilities - - - JUCE Modules\juce_audio_processors - - - JUCE Modules\juce_audio_utils\audio_cd - - - JUCE Modules\juce_audio_utils\audio_cd - - - 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\gui - - - JUCE Modules\juce_audio_utils\gui - - - JUCE Modules\juce_audio_utils\players - - - JUCE Modules\juce_audio_utils\players - - - JUCE Modules\juce_audio_utils - - - 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\containers - - - JUCE Modules\juce_core\containers - - - 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\files - - - JUCE Modules\juce_core\javascript - - - JUCE Modules\juce_core\javascript - - - JUCE Modules\juce_core\logging - - - JUCE Modules\juce_core\logging - - - 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\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\memory - - - JUCE Modules\juce_core\memory - - - JUCE Modules\juce_core\misc - - - JUCE Modules\juce_core\misc - - - JUCE Modules\juce_core\misc - - - 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\native - - - JUCE Modules\juce_core\native - - - JUCE Modules\juce_core\native - - - 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\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\streams - - - 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\system - - - 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\text - - - 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\unit_tests - - - JUCE Modules\juce_core\unit_tests - - - JUCE Modules\juce_core\xml - - - JUCE Modules\juce_core\xml - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip - - - JUCE Modules\juce_core\zip - - - JUCE Modules\juce_core\zip - - - 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\hashing - - - JUCE Modules\juce_cryptography - - - JUCE Modules\juce_data_structures\app_properties - - - JUCE Modules\juce_data_structures\app_properties - - - JUCE Modules\juce_data_structures\undomanager - - - JUCE Modules\juce_data_structures\undomanager - - - JUCE Modules\juce_data_structures\values - - - JUCE Modules\juce_data_structures\values - - - JUCE Modules\juce_data_structures\values - - - JUCE Modules\juce_data_structures\values - - - JUCE Modules\juce_data_structures\values - - - JUCE Modules\juce_data_structures - - - 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\interprocess - - - 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\native - - - JUCE Modules\juce_events\native - - - JUCE Modules\juce_events\native - - - JUCE Modules\juce_events\native - - - JUCE Modules\juce_events\native - - - JUCE Modules\juce_events\timers - - - JUCE Modules\juce_events\timers - - - 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\effects - - - JUCE Modules\juce_graphics\effects - - - JUCE Modules\juce_graphics\effects - - - 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\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\geometry - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\pnglib - - - JUCE Modules\juce_graphics\image_formats\pnglib - - - JUCE Modules\juce_graphics\image_formats\pnglib - - - JUCE Modules\juce_graphics\image_formats\pnglib - - - JUCE Modules\juce_graphics\image_formats\pnglib - - - JUCE Modules\juce_graphics\image_formats\pnglib - - - JUCE Modules\juce_graphics\images - - - JUCE Modules\juce_graphics\images - - - JUCE Modules\juce_graphics\images - - - JUCE Modules\juce_graphics\images - - - JUCE Modules\juce_graphics\native - - - JUCE Modules\juce_graphics\native - - - JUCE Modules\juce_graphics\native - - - JUCE Modules\juce_graphics\native - - - JUCE Modules\juce_graphics\placement - - - JUCE Modules\juce_graphics\placement - - - JUCE Modules\juce_graphics - - - JUCE Modules\juce_gui_basics\accessibility\enums - - - JUCE Modules\juce_gui_basics\accessibility\enums - - - JUCE Modules\juce_gui_basics\accessibility\enums - - - JUCE Modules\juce_gui_basics\accessibility\interfaces - - - JUCE Modules\juce_gui_basics\accessibility\interfaces - - - JUCE Modules\juce_gui_basics\accessibility\interfaces - - - JUCE Modules\juce_gui_basics\accessibility\interfaces - - - JUCE Modules\juce_gui_basics\accessibility - - - JUCE Modules\juce_gui_basics\accessibility - - - JUCE Modules\juce_gui_basics\application - - - 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\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\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\components - - - JUCE Modules\juce_gui_basics\desktop - - - JUCE Modules\juce_gui_basics\desktop - - - 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\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\filebrowser - - - 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\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\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\lookandfeel - - - 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\menus - - - JUCE Modules\juce_gui_basics\menus - - - JUCE Modules\juce_gui_basics\menus - - - JUCE Modules\juce_gui_basics\menus - - - JUCE Modules\juce_gui_basics\misc - - - JUCE Modules\juce_gui_basics\misc - - - JUCE Modules\juce_gui_basics\misc - - - 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\native\accessibility - - - JUCE Modules\juce_gui_basics\native\accessibility - - - JUCE Modules\juce_gui_basics\native\accessibility - - - JUCE Modules\juce_gui_basics\native\accessibility - - - JUCE Modules\juce_gui_basics\native\accessibility - - - JUCE Modules\juce_gui_basics\native\accessibility - - - JUCE Modules\juce_gui_basics\native\accessibility - - - JUCE Modules\juce_gui_basics\native\accessibility - - - JUCE Modules\juce_gui_basics\native\accessibility - - - JUCE Modules\juce_gui_basics\native\accessibility - - - JUCE Modules\juce_gui_basics\native\accessibility - - - JUCE Modules\juce_gui_basics\native\accessibility - - - JUCE Modules\juce_gui_basics\native\accessibility - - - JUCE Modules\juce_gui_basics\native\accessibility - - - JUCE Modules\juce_gui_basics\native\accessibility - - - JUCE Modules\juce_gui_basics\native\accessibility - - - JUCE Modules\juce_gui_basics\native\accessibility - - - JUCE Modules\juce_gui_basics\native\x11 - - - JUCE Modules\juce_gui_basics\native\x11 - - - JUCE Modules\juce_gui_basics\native - - - JUCE Modules\juce_gui_basics\native - - - 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\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\properties - - - 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\windows - - - 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\embedding - - - 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\misc - - - JUCE Modules\juce_gui_extra\native - - - JUCE Modules\juce_gui_extra - - - JUCE Modules\juce_opengl\geometry - - - JUCE Modules\juce_opengl\geometry - - - JUCE Modules\juce_opengl\geometry - - - JUCE Modules\juce_opengl\geometry - - - 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\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\opengl - - - JUCE Modules\juce_opengl\opengl - - - JUCE Modules\juce_opengl\opengl - - - JUCE Modules\juce_opengl\opengl - - - JUCE Modules\juce_opengl\utils - - - JUCE Modules\juce_opengl - - - JUCE Modules\juce_osc\osc - - - JUCE Modules\juce_osc\osc - - - JUCE Modules\juce_osc\osc - - - JUCE Modules\juce_osc\osc - - - JUCE Modules\juce_osc\osc - - - JUCE Modules\juce_osc\osc - - - JUCE Modules\juce_osc\osc - - - JUCE Modules\juce_osc\osc - - - JUCE Modules\juce_osc - - - JUCE Library Code - - - JUCE Library Code - - - - - NetworkGraphicsDemo - - - JUCE Modules\juce_audio_devices\native\oboe - - - JUCE Modules\juce_audio_devices\native\oboe - - - JUCE Modules\juce_audio_formats\codecs\flac - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7 - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK - - - JUCE Modules\juce_core\native\java - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\pnglib - - - - - JUCE Library Code - - - diff --git a/extras/NetworkGraphicsDemo/Builds/VisualStudio2019/resources.rc b/extras/NetworkGraphicsDemo/Builds/VisualStudio2019/resources.rc deleted file mode 100644 index 4a3e44a5..00000000 --- a/extras/NetworkGraphicsDemo/Builds/VisualStudio2019/resources.rc +++ /dev/null @@ -1,33 +0,0 @@ -#pragma code_page(65001) - -#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 "CompanyName", "Raw Material Software Limited\0" - VALUE "LegalCopyright", "Raw Material Software Limited\0" - VALUE "FileDescription", "NetworkGraphicsDemo\0" - VALUE "FileVersion", "1.0.0\0" - VALUE "ProductName", "NetworkGraphicsDemo\0" - VALUE "ProductVersion", "1.0.0\0" - END - END - - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1252 - END -END - -#endif diff --git a/extras/NetworkGraphicsDemo/Builds/VisualStudio2022/NetworkGraphicsDemo.sln b/extras/NetworkGraphicsDemo/Builds/VisualStudio2022/NetworkGraphicsDemo.sln new file mode 100644 index 00000000..9e04b5e2 --- /dev/null +++ b/extras/NetworkGraphicsDemo/Builds/VisualStudio2022/NetworkGraphicsDemo.sln @@ -0,0 +1,21 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio Version 17 + +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "NetworkGraphicsDemo - App", "NetworkGraphicsDemo_App.vcxproj", "{2F8ABED0-7428-13A5-07CD-EF1F3B43B926}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 + Release|x64 = Release|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {2F8ABED0-7428-13A5-07CD-EF1F3B43B926}.Debug|x64.ActiveCfg = Debug|x64 + {2F8ABED0-7428-13A5-07CD-EF1F3B43B926}.Debug|x64.Build.0 = Debug|x64 + {2F8ABED0-7428-13A5-07CD-EF1F3B43B926}.Release|x64.ActiveCfg = Release|x64 + {2F8ABED0-7428-13A5-07CD-EF1F3B43B926}.Release|x64.Build.0 = Release|x64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/extras/NetworkGraphicsDemo/Builds/VisualStudio2022/NetworkGraphicsDemo_App.vcxproj b/extras/NetworkGraphicsDemo/Builds/VisualStudio2022/NetworkGraphicsDemo_App.vcxproj new file mode 100644 index 00000000..5bff99f6 --- /dev/null +++ b/extras/NetworkGraphicsDemo/Builds/VisualStudio2022/NetworkGraphicsDemo_App.vcxproj @@ -0,0 +1,3042 @@ + + + + + + Debug + x64 + + + Release + x64 + + + + {2F8ABED0-7428-13A5-07CD-EF1F3B43B926} + + + + Application + false + false + v143 + 10.0 + + + Application + false + true + v143 + 10.0 + + + + + + + + <_ProjectFileVersion>10.0.30319.1 + .exe + $(SolutionDir)$(Platform)\$(Configuration)\App\ + $(Platform)\$(Configuration)\App\ + JUCE Network Graphics Demo + true + $(SolutionDir)$(Platform)\$(Configuration)\App\ + $(Platform)\$(Configuration)\App\ + JUCE Network Graphics Demo + true + + + + _DEBUG;%(PreprocessorDefinitions) + true + true + Win32 + + + + Disabled + ProgramDatabase + ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) + _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_osc=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2022_78A503E=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) + MultiThreadedDebugDLL + true + NotUsing + $(IntDir)\ + $(IntDir)\ + $(IntDir)\JUCE Network Graphics Demo.pdb + Level4 + true + true + stdcpp14 + + + _DEBUG;%(PreprocessorDefinitions) + + + $(OutDir)\JUCE Network Graphics Demo.exe + true + libcmt.lib; msvcrt.lib;;%(IgnoreSpecificDefaultLibraries) + true + $(IntDir)\JUCE Network Graphics Demo.pdb + Windows + true + + + true + $(IntDir)\JUCE Network Graphics Demo.bsc + + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + Win32 + + + + Full + ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) + _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_osc=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2022_78A503E=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) + MultiThreadedDLL + true + NotUsing + $(IntDir)\ + $(IntDir)\ + $(IntDir)\JUCE Network Graphics Demo.pdb + Level4 + true + true + stdcpp14 + + + NDEBUG;%(PreprocessorDefinitions) + + + $(OutDir)\JUCE Network Graphics Demo.exe + true + %(IgnoreSpecificDefaultLibraries) + false + $(IntDir)\JUCE Network Graphics Demo.pdb + Windows + true + true + true + UseLinkTimeCodeGeneration + + + true + $(IntDir)\JUCE Network Graphics Demo.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 + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + + + + + + + + + + + + /bigobj %(AdditionalOptions) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/extras/NetworkGraphicsDemo/Builds/VisualStudio2022/NetworkGraphicsDemo_App.vcxproj.filters b/extras/NetworkGraphicsDemo/Builds/VisualStudio2022/NetworkGraphicsDemo_App.vcxproj.filters new file mode 100644 index 00000000..908524f2 --- /dev/null +++ b/extras/NetworkGraphicsDemo/Builds/VisualStudio2022/NetworkGraphicsDemo_App.vcxproj.filters @@ -0,0 +1,5243 @@ + + + + + + {6803489B-B275-0512-8D8B-D30728E17A76} + + + {B8E36EB7-A210-7AC5-D731-E337E72C8A1E} + + + {EB58F05A-A968-CEBE-40C4-107CDD8F240F} + + + {5FCF559E-451A-CB1E-B177-A5DC5A0005BB} + + + {05CE33FC-868F-AA1A-12B8-79C98E753648} + + + {D78296AF-218E-B17E-7F8B-9D148601188D} + + + {B96EBA26-E668-FFAF-FC53-1EC1337DAF5A} + + + {D8532E5E-469E-5042-EFC8-238241704735} + + + {777B5D1D-9AF0-B22B-8894-034603EE97F5} + + + {8292766D-2459-2E7E-7615-17216318BA93} + + + {9BD56105-DAB4-EBD5-00DD-BD540E98FE88} + + + {10472B2C-9888-D269-F351-0D0AC3BCD16C} + + + {BF23FC10-1D57-2A9B-706F-6DD8A7B593D4} + + + {386862D5-4DCC-A4B3-5642-60A201E303EF} + + + {092EFC17-7C95-7E04-0ACA-0D61A462EE81} + + + {285118C6-8FDA-7DCE-BEF4-FFB2120876C5} + + + {69ED6B61-9B8D-D47E-E4A6-2E9F9A94A75A} + + + {7CDB7CD1-BB96-F593-3C78-1E06182B5839} + + + {B0A708DE-B4CF-196B-14FB-DC8221509B8E} + + + {34F46ADE-EE31-227A-A69E-7732E70145F1} + + + {BB9B3C77-17FB-E994-8B75-88F1727E4655} + + + {C0971D77-2F14-190A-E2AE-89D6285F4D5A} + + + {AABEA333-6524-8891-51C7-6DAEB5700628} + + + {F2D29337-983E-BAD7-7B5C-E0AB3D53D404} + + + {C674B0FB-1FC0-2986-94B1-083845018994} + + + {0AFC1CE8-F6E6-9817-8C21-8432B2A375DA} + + + {0D1AF264-3AC1-78A2-B2A4-AE6171F9194A} + + + {9A5DB854-CFFB-5F88-C566-0E10F994DDB3} + + + {38A5DDC7-416E-548F-39DA-887875FE6B20} + + + {980FE2DB-05D3-5FDA-79DA-067A56F5D19D} + + + {F336DC25-747A-0663-93D6-E3EB9AA0CBF8} + + + {7D78546A-80FC-4DCA-00B9-F191F0AB2179} + + + {9EB3EC7F-2AB7-DDAA-3C05-DF382B728D3F} + + + {6B9FBFDC-1D10-6246-356D-00FF4535CECB} + + + {D6FCFC8E-7136-9109-78C0-91A3EB4C443F} + + + {EBF18AC1-F0ED-937A-2824-4307CE2ADAF7} + + + {5A0F7922-2EFB-6465-57E4-A445B804EFB5} + + + {4EC45416-0E7C-7567-6F75-D0C8CEE7DC4F} + + + {C2985031-0496-55B5-41A8-BAB99E53D89D} + + + {FB4AB426-7009-0036-BB75-E34256AA7C89} + + + {E684D858-09E8-0251-8E86-5657129641E1} + + + {1EF1BF17-F941-243A-04D1-EE617D140CBA} + + + {344DB016-679C-FBD0-3EC6-4570C47522DE} + + + {3D9758A0-9359-1710-87C1-05D475C08B17} + + + {E824435F-FC7B-10BE-5D1A-5DACC51A8836} + + + {86737735-F6BA-F64A-5EC7-5C9F36755F79} + + + {4DC60E78-BBC0-B540-63A2-37E14ABBEF09} + + + {80C72173-A1E1-C3C5-9288-B889CE2EAFEA} + + + {4138B955-AA0B-FA86-DBF9-404CAFFFA866} + + + {2B4166B8-F470-F07C-4F51-D2DAAAECBB18} + + + {9C295115-C0CD-3129-1C4D-FB53299B23FB} + + + {65526A8B-3447-9DF0-FD5D-00D111126027} + + + {A54A1F5C-F32F-F97B-9E8A-69922B770A54} + + + {B90A44F3-B62D-B5C0-81A2-683D2650AEE6} + + + {DAF30656-5915-0E45-C4E4-54439617D525} + + + {9266EA90-6A0A-5DDB-9CB7-966BEF03BA5C} + + + {9C713CBA-A9E2-5F4E-F83C-2CAB8533913C} + + + {63571A07-9AA3-5BB0-1103-0B42A2E6BC9E} + + + {314F43F2-BC8F-B464-EAE7-86B9675454E9} + + + {874C5D0C-6D29-68EE-38BB-26200B56BC89} + + + {86BAA7A7-DC50-35B6-910B-932AEAF257F2} + + + {6B7BE34D-1BC1-C7B9-111F-C55CA8250943} + + + {9B6B6D54-D378-80C2-8CC9-D1D8FB44C2A8} + + + {D0584AC3-6837-14F6-90BF-5EA604D1F074} + + + {794B64EC-B809-32E3-AD00-4EE6A74802CA} + + + {67BE498C-9E1F-C73A-B99A-387C034CE680} + + + {1A9C8538-959B-25E3-473D-B462C9A9D458} + + + {AA9F594C-DFAF-C0A7-0CCD-9F90E54D3A01} + + + {230BF784-34F4-3BE8-46D4-54E6B67E5E9E} + + + {39F680F3-5161-4D1C-EAD0-3911ED808874} + + + {3197198B-A978-E330-C7FB-07E5CE8236C7} + + + {42F7BE9D-3C8A-AE26-289B-8F355C068036} + + + {7868764A-6572-381A-906C-9C26792A4C29} + + + {03678508-A517-48BB-FB4A-485628C34E08} + + + {07D27C1D-3227-F527-356C-17DA11551A99} + + + {6146D580-99D2-A6C8-5908-30DC355BB6BA} + + + {C67003E8-BEA8-2188-F4B3-A122F4B4FA3F} + + + {09B91E68-1FF4-C7ED-9055-D4D96E66A0BA} + + + {30B3DA63-C1E4-F2EA-CEF0-8035D8CBFF64} + + + {4F24EEED-AA33-AC6C-9A39-72E71CF83EF0} + + + {0F70B1A9-BB50-23F5-2AE7-F95E51A00389} + + + {D4C8DC40-2CD2-04B6-05D0-1E7A88841390} + + + {58BED6AF-DB89-7560-B2B8-D937C1C0825A} + + + {B958F86B-6926-8D9B-2FC6-8BFD4BDC72C9} + + + {DB624F7D-D513-25AC-C13C-B9062EB3BEEE} + + + {89AA9B6C-4029-A34F-C1B0-3B5D8691F4D4} + + + {1A7F541C-B032-9C66-C320-A13B2A8A9866} + + + {4BAB7C18-51AB-0D9D-83CD-9C37F28D2E38} + + + {5523922E-8B0C-A52B-477C-752C09F8197F} + + + {857B6D8B-0ECB-FE9E-D1EB-D5E45E72F057} + + + {BAA582FA-40B7-320E-EE7A-4C3892C7BE72} + + + {89B3E447-34BE-C691-638E-09796C6B647E} + + + {9BE78436-DBF4-658C-579B-ED19FFD0EB5D} + + + {21E7FA61-9E0A-4BA1-04B7-AF47AFA9CB8B} + + + {632B4C79-AF7D-BFB5-D006-5AE67F607130} + + + {B10E20C2-4583-2B79-60B7-FE4D4B044313} + + + {CFB54F15-8A8A-0505-9B7F-ECA41CEE38E8} + + + {911F0159-A7A8-4A43-3FD4-154F62F4A44B} + + + {9D5816C2-E2B2-2E3F-B095-AC8BD1100D29} + + + {3FDCD000-763F-8477-9AF8-70ABA2E91E5E} + + + {0947506F-66FA-EF8D-8A4E-4D48BCDBB226} + + + {E4B6AED3-F54C-3FF2-069F-640BACAE0E08} + + + {D5EADBCC-6A1C-C940-0206-26E49110AF08} + + + {D27DC92D-5BEB-9294-DCD1-81D54E245AD5} + + + {BCD73D20-42B1-6CDB-DE66-B06236A60F47} + + + {20DC13F6-2369-8841-9F0B-D13FA14EEE74} + + + {A302A8DB-120F-9EBB-A3D5-2C29963AA56B} + + + {45489C2A-6E0E-CCDC-6638-0DACEEB63CCA} + + + {F1B90726-DB55-0293-BFAF-C65C7DF5489C} + + + {2C55FD42-0ACD-B0B8-7EAE-EB17F09BAEEC} + + + {B68CD2B2-701F-9AB7-4638-2485D6E06BCF} + + + {B0B7C78E-729E-0FFA-D611-82AE8BC7FE2C} + + + {0A4F7E12-220C-14EF-0026-9C0629FA9C17} + + + {37F49E10-4E62-6D5C-FF70-722D0CA3D97E} + + + {160D9882-0F68-278D-C5F9-8960FD7421D2} + + + {4CED05DA-E0A2-E548-F753-1F2EF299A8E3} + + + {46AE69B8-AD58-4381-6CDE-25C8D75B01D2} + + + {E56CB4FC-32E8-8740-A3BB-B323CD937A99} + + + {4ECDCA0C-BB38-0729-A6B6-2FB0B4D0863B} + + + {294E4CD5-B06F-97D1-04A3-51871CEA507C} + + + {77228F15-BD91-06FF-2C7E-0377D25C2C94} + + + {5CB531E6-BF9A-2C50-056C-EE5A525D28D3} + + + {E4EA47E5-B41C-2A19-1783-7E9104096ECD} + + + {B331BC33-9770-3DB5-73F2-BC2469ECCF7F} + + + {46A17AC9-0BFF-B5CE-26D6-B9D1992C88AC} + + + {D90A8DF7-FBAB-D363-13C0-6707BB22B72B} + + + {8AE77C40-6839-EC37-4515-BD3CC269BCE4} + + + {0EAD99DB-011F-09E5-45A2-365F646EB004} + + + {F57590C6-3B90-1BE1-1006-488BA33E8BD9} + + + {7C319D73-0D93-5842-0874-398D2D3038D5} + + + {2CB4DB0C-DD3B-6195-D822-76EC7A5C88D2} + + + {FE3CB19C-EF43-5CF5-DAF0-09D4E43D0AB9} + + + {C0E5DD5D-F8F1-DD25-67D7-291946AB3828} + + + {FE7E6CD5-C7A0-DB20-4E7E-D6E7F08C4578} + + + {895C2D33-E08D-B1BA-BB36-FC4CA65090C8} + + + {D64A57DB-A956-5519-1929-1D929B56E1B0} + + + {5A99CC24-AC45-7ED6-C11A-B8B86E76D884} + + + {7A131EEC-25A7-22F6-2839-A2194DDF3007} + + + {EA9DB76C-CEF7-6BFC-2070-28B7DF8E8063} + + + {3C206A40-6F1B-E683-ACF1-DEC3703D0140} + + + {DF95D4BF-E18C-125A-5EBB-8993A06E232C} + + + {118946F2-AC24-0F09-62D5-753DF87A60CD} + + + {07329F9B-7D3D-CEB3-C771-714842076140} + + + {08BBBECB-B0D1-7611-37EC-F57E1D0CE2A2} + + + {268E8F2A-980C-BF2F-B161-AACABC9D91F3} + + + {A4D76113-9EDC-DA60-D89B-5BACF7F1C426} + + + {1A9221A3-E993-70B2-6EA2-8E1DB5FF646A} + + + {CC2DAD7A-5B45-62AB-4C54-6FE6B1AE86C3} + + + {599138A9-EA63-53DD-941F-ABE3412D2949} + + + {422A4014-8587-1AE6-584F-32A62613A37B} + + + {9FBFF5E5-56F1-34A1-2C85-F760DA2B1EB7} + + + {EEE9B92C-AD26-4BEA-4D95-3F859090EA9F} + + + {B1DE8DB1-C00A-12C0-D690-8B3C9504A60A} + + + {FE955B6B-68AC-AA07-70D8-2413F6DB65C8} + + + {7ED5A90E-41AF-A1EF-659B-37CEEAB9BA61} + + + + + NetworkGraphicsDemo\Source + + + JUCE Modules\juce_audio_basics\buffers + + + JUCE Modules\juce_audio_basics\buffers + + + JUCE Modules\juce_audio_basics\buffers + + + JUCE Modules\juce_audio_basics\buffers + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + 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\midi + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + 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\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics + + + 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\midi_io\ump + + + JUCE Modules\juce_audio_devices\midi_io + + + JUCE Modules\juce_audio_devices\midi_io + + + JUCE Modules\juce_audio_devices\native\oboe\src\aaudio + + + JUCE Modules\juce_audio_devices\native\oboe\src\aaudio + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\fifo + + + JUCE Modules\juce_audio_devices\native\oboe\src\fifo + + + JUCE Modules\juce_audio_devices\native\oboe\src\fifo + + + JUCE Modules\juce_audio_devices\native\oboe\src\fifo + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + 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\sources + + + JUCE Modules\juce_audio_devices\sources + + + JUCE Modules\juce_audio_devices + + + JUCE Modules\juce_audio_devices + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis + + + 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\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\sampler + + + JUCE Modules\juce_audio_formats + + + JUCE Modules\juce_audio_formats + + + JUCE Modules\juce_audio_processors\format + + + JUCE Modules\juce_audio_processors\format + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\thread\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\common + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\common + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + 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\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\scanning + + + JUCE Modules\juce_audio_processors\scanning + + + JUCE Modules\juce_audio_processors\scanning + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors + + + JUCE Modules\juce_audio_processors + + + JUCE Modules\juce_audio_utils\audio_cd + + + 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\native + + + JUCE Modules\juce_audio_utils\native + + + JUCE Modules\juce_audio_utils\native + + + JUCE Modules\juce_audio_utils\native + + + JUCE Modules\juce_audio_utils\native + + + JUCE Modules\juce_audio_utils\native + + + JUCE Modules\juce_audio_utils\native + + + JUCE Modules\juce_audio_utils\native + + + JUCE Modules\juce_audio_utils\native + + + JUCE Modules\juce_audio_utils\native + + + JUCE Modules\juce_audio_utils\players + + + JUCE Modules\juce_audio_utils\players + + + JUCE Modules\juce_audio_utils + + + JUCE Modules\juce_audio_utils + + + 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\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\javascript + + + JUCE Modules\juce_core\javascript + + + JUCE Modules\juce_core\logging + + + JUCE Modules\juce_core\logging + + + 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\misc + + + 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\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\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\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\system + + + 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\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\unit_tests + + + JUCE Modules\juce_core\xml + + + JUCE Modules\juce_core\xml + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip + + + JUCE Modules\juce_core\zip + + + JUCE Modules\juce_core\zip + + + JUCE Modules\juce_core + + + 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\hashing + + + JUCE Modules\juce_cryptography + + + JUCE Modules\juce_cryptography + + + JUCE Modules\juce_data_structures\app_properties + + + JUCE Modules\juce_data_structures\app_properties + + + JUCE Modules\juce_data_structures\undomanager + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures + + + JUCE Modules\juce_data_structures + + + 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\interprocess + + + JUCE Modules\juce_events\messages + + + JUCE Modules\juce_events\messages + + + JUCE Modules\juce_events\messages + + + JUCE Modules\juce_events\messages + + + 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_events\native + + + JUCE Modules\juce_events\native + + + JUCE Modules\juce_events\timers + + + JUCE Modules\juce_events\timers + + + JUCE Modules\juce_events + + + 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\contexts + + + JUCE Modules\juce_graphics\contexts + + + JUCE Modules\juce_graphics\contexts + + + JUCE Modules\juce_graphics\effects + + + JUCE Modules\juce_graphics\effects + + + 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\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\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats + + + JUCE Modules\juce_graphics\image_formats + + + JUCE Modules\juce_graphics\image_formats + + + JUCE Modules\juce_graphics\images + + + JUCE Modules\juce_graphics\images + + + JUCE Modules\juce_graphics\images + + + JUCE Modules\juce_graphics\images + + + 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_graphics\native + + + JUCE Modules\juce_graphics\native + + + JUCE Modules\juce_graphics\native + + + JUCE Modules\juce_graphics\native + + + JUCE Modules\juce_graphics\placement + + + JUCE Modules\juce_graphics + + + JUCE Modules\juce_graphics + + + JUCE Modules\juce_gui_basics\accessibility + + + JUCE Modules\juce_gui_basics\application + + + 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\commands + + + JUCE Modules\juce_gui_basics\commands + + + JUCE Modules\juce_gui_basics\commands + + + JUCE Modules\juce_gui_basics\commands + + + 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\desktop + + + JUCE Modules\juce_gui_basics\desktop + + + 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\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\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\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\layout + + + JUCE Modules\juce_gui_basics\layout + + + 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\lookandfeel + + + JUCE Modules\juce_gui_basics\menus + + + JUCE Modules\juce_gui_basics\menus + + + JUCE Modules\juce_gui_basics\menus + + + JUCE Modules\juce_gui_basics\menus + + + JUCE Modules\juce_gui_basics\misc + + + JUCE Modules\juce_gui_basics\misc + + + JUCE Modules\juce_gui_basics\misc + + + 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\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\x11 + + + JUCE Modules\juce_gui_basics\native\x11 + + + JUCE Modules\juce_gui_basics\native\x11 + + + 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_basics\native + + + JUCE Modules\juce_gui_basics\native + + + JUCE Modules\juce_gui_basics\native + + + 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\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\properties + + + 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 + + + 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\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\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_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 + + + 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\opengl + + + JUCE Modules\juce_opengl\utils + + + JUCE Modules\juce_opengl + + + JUCE Modules\juce_opengl + + + JUCE Modules\juce_osc\osc + + + JUCE Modules\juce_osc\osc + + + JUCE Modules\juce_osc\osc + + + JUCE Modules\juce_osc\osc + + + JUCE Modules\juce_osc\osc + + + JUCE Modules\juce_osc\osc + + + JUCE Modules\juce_osc\osc + + + JUCE Modules\juce_osc\osc + + + JUCE Modules\juce_osc + + + 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 Library Code + + + + + NetworkGraphicsDemo\Source + + + NetworkGraphicsDemo\Source + + + NetworkGraphicsDemo\Source + + + NetworkGraphicsDemo\Source + + + JUCE Modules\juce_audio_basics\audio_play_head + + + JUCE Modules\juce_audio_basics\buffers + + + JUCE Modules\juce_audio_basics\buffers + + + JUCE Modules\juce_audio_basics\buffers + + + JUCE Modules\juce_audio_basics\buffers + + + JUCE Modules\juce_audio_basics\buffers + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + 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\midi + + + JUCE Modules\juce_audio_basics\midi + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\native + + + 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\sources + + + JUCE Modules\juce_audio_basics\synthesisers + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + 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\ump + + + JUCE Modules\juce_audio_devices\midi_io\ump + + + JUCE Modules\juce_audio_devices\midi_io + + + JUCE Modules\juce_audio_devices\midi_io + + + JUCE Modules\juce_audio_devices\native\oboe\include\oboe + + + JUCE Modules\juce_audio_devices\native\oboe\include\oboe + + + JUCE Modules\juce_audio_devices\native\oboe\include\oboe + + + JUCE Modules\juce_audio_devices\native\oboe\include\oboe + + + JUCE Modules\juce_audio_devices\native\oboe\include\oboe + + + JUCE Modules\juce_audio_devices\native\oboe\include\oboe + + + JUCE Modules\juce_audio_devices\native\oboe\include\oboe + + + JUCE Modules\juce_audio_devices\native\oboe\include\oboe + + + JUCE Modules\juce_audio_devices\native\oboe\include\oboe + + + JUCE Modules\juce_audio_devices\native\oboe\include\oboe + + + JUCE Modules\juce_audio_devices\native\oboe\include\oboe + + + JUCE Modules\juce_audio_devices\native\oboe\src\aaudio + + + JUCE Modules\juce_audio_devices\native\oboe\src\aaudio + + + JUCE Modules\juce_audio_devices\native\oboe\src\aaudio + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\fifo + + + JUCE Modules\juce_audio_devices\native\oboe\src\fifo + + + JUCE Modules\juce_audio_devices\native\oboe\src\fifo + + + JUCE Modules\juce_audio_devices\native\oboe\src\fifo + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native + + + JUCE Modules\juce_audio_devices\native + + + JUCE Modules\juce_audio_devices\sources + + + JUCE Modules\juce_audio_devices\sources + + + JUCE Modules\juce_audio_devices + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\books\coupled + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\books\coupled + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\books\floor + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\books\uncoupled + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis + + + 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\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\sampler + + + JUCE Modules\juce_audio_formats + + + JUCE Modules\juce_audio_processors\format + + + JUCE Modules\juce_audio_processors\format + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\thread\include + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\gui + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\gui + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\common + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\common + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + 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\format_types + + + JUCE Modules\juce_audio_processors\format_types + + + 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\processors + + + JUCE Modules\juce_audio_processors\processors + + + JUCE Modules\juce_audio_processors\scanning + + + JUCE Modules\juce_audio_processors\scanning + + + JUCE Modules\juce_audio_processors\scanning + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors + + + JUCE Modules\juce_audio_utils\audio_cd + + + JUCE Modules\juce_audio_utils\audio_cd + + + 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\gui + + + JUCE Modules\juce_audio_utils\gui + + + JUCE Modules\juce_audio_utils\players + + + JUCE Modules\juce_audio_utils\players + + + JUCE Modules\juce_audio_utils + + + 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\containers + + + JUCE Modules\juce_core\containers + + + JUCE Modules\juce_core\containers + + + 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\files + + + JUCE Modules\juce_core\javascript + + + JUCE Modules\juce_core\javascript + + + JUCE Modules\juce_core\logging + + + JUCE Modules\juce_core\logging + + + 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\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\memory + + + JUCE Modules\juce_core\memory + + + JUCE Modules\juce_core\memory + + + JUCE Modules\juce_core\misc + + + JUCE Modules\juce_core\misc + + + JUCE Modules\juce_core\misc + + + 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\native + + + JUCE Modules\juce_core\native + + + JUCE Modules\juce_core\native + + + 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\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\streams + + + 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\system + + + 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\text + + + 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\unit_tests + + + JUCE Modules\juce_core\unit_tests + + + JUCE Modules\juce_core\xml + + + JUCE Modules\juce_core\xml + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip + + + JUCE Modules\juce_core\zip + + + JUCE Modules\juce_core\zip + + + 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\hashing + + + JUCE Modules\juce_cryptography + + + JUCE Modules\juce_data_structures\app_properties + + + JUCE Modules\juce_data_structures\app_properties + + + JUCE Modules\juce_data_structures\undomanager + + + JUCE Modules\juce_data_structures\undomanager + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures + + + 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\interprocess + + + 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\native + + + JUCE Modules\juce_events\native + + + JUCE Modules\juce_events\native + + + JUCE Modules\juce_events\native + + + JUCE Modules\juce_events\native + + + JUCE Modules\juce_events\timers + + + JUCE Modules\juce_events\timers + + + 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\effects + + + JUCE Modules\juce_graphics\effects + + + JUCE Modules\juce_graphics\effects + + + 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\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\geometry + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\images + + + JUCE Modules\juce_graphics\images + + + JUCE Modules\juce_graphics\images + + + JUCE Modules\juce_graphics\images + + + JUCE Modules\juce_graphics\images + + + JUCE Modules\juce_graphics\native + + + JUCE Modules\juce_graphics\native + + + JUCE Modules\juce_graphics\native + + + JUCE Modules\juce_graphics\native + + + JUCE Modules\juce_graphics\placement + + + JUCE Modules\juce_graphics\placement + + + JUCE Modules\juce_graphics + + + JUCE Modules\juce_gui_basics\accessibility\enums + + + JUCE Modules\juce_gui_basics\accessibility\enums + + + JUCE Modules\juce_gui_basics\accessibility\enums + + + JUCE Modules\juce_gui_basics\accessibility\interfaces + + + JUCE Modules\juce_gui_basics\accessibility\interfaces + + + JUCE Modules\juce_gui_basics\accessibility\interfaces + + + JUCE Modules\juce_gui_basics\accessibility\interfaces + + + JUCE Modules\juce_gui_basics\accessibility + + + JUCE Modules\juce_gui_basics\accessibility + + + JUCE Modules\juce_gui_basics\application + + + 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\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\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\components + + + JUCE Modules\juce_gui_basics\desktop + + + JUCE Modules\juce_gui_basics\desktop + + + 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\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\filebrowser + + + 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\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\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\lookandfeel + + + 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\menus + + + JUCE Modules\juce_gui_basics\menus + + + JUCE Modules\juce_gui_basics\menus + + + JUCE Modules\juce_gui_basics\menus + + + JUCE Modules\juce_gui_basics\misc + + + JUCE Modules\juce_gui_basics\misc + + + JUCE Modules\juce_gui_basics\misc + + + 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\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\x11 + + + JUCE Modules\juce_gui_basics\native\x11 + + + JUCE Modules\juce_gui_basics\native + + + JUCE Modules\juce_gui_basics\native + + + JUCE Modules\juce_gui_basics\native + + + 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\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\properties + + + 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\windows + + + 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\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\misc + + + JUCE Modules\juce_gui_extra\native + + + JUCE Modules\juce_gui_extra + + + JUCE Modules\juce_opengl\geometry + + + JUCE Modules\juce_opengl\geometry + + + JUCE Modules\juce_opengl\geometry + + + JUCE Modules\juce_opengl\geometry + + + 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\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\opengl + + + JUCE Modules\juce_opengl\opengl + + + JUCE Modules\juce_opengl\opengl + + + JUCE Modules\juce_opengl\opengl + + + JUCE Modules\juce_opengl\utils + + + JUCE Modules\juce_opengl + + + JUCE Modules\juce_osc\osc + + + JUCE Modules\juce_osc\osc + + + JUCE Modules\juce_osc\osc + + + JUCE Modules\juce_osc\osc + + + JUCE Modules\juce_osc\osc + + + JUCE Modules\juce_osc\osc + + + JUCE Modules\juce_osc\osc + + + JUCE Modules\juce_osc\osc + + + JUCE Modules\juce_osc + + + JUCE Library Code + + + JUCE Library Code + + + + + NetworkGraphicsDemo + + + JUCE Modules\juce_audio_devices\native\oboe + + + JUCE Modules\juce_audio_devices\native\oboe + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7 + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK + + + JUCE Modules\juce_core\native\java + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + + + JUCE Library Code + + + diff --git a/extras/NetworkGraphicsDemo/Builds/VisualStudio2022/resources.rc b/extras/NetworkGraphicsDemo/Builds/VisualStudio2022/resources.rc new file mode 100644 index 00000000..4a3e44a5 --- /dev/null +++ b/extras/NetworkGraphicsDemo/Builds/VisualStudio2022/resources.rc @@ -0,0 +1,33 @@ +#pragma code_page(65001) + +#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 "CompanyName", "Raw Material Software Limited\0" + VALUE "LegalCopyright", "Raw Material Software Limited\0" + VALUE "FileDescription", "NetworkGraphicsDemo\0" + VALUE "FileVersion", "1.0.0\0" + VALUE "ProductName", "NetworkGraphicsDemo\0" + VALUE "ProductVersion", "1.0.0\0" + END + END + + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1252 + END +END + +#endif diff --git a/extras/NetworkGraphicsDemo/Builds/iOS/NetworkGraphicsDemo.xcodeproj/project.pbxproj b/extras/NetworkGraphicsDemo/Builds/iOS/NetworkGraphicsDemo.xcodeproj/project.pbxproj index 18cf463b..cb34b3f3 100644 --- a/extras/NetworkGraphicsDemo/Builds/iOS/NetworkGraphicsDemo.xcodeproj/project.pbxproj +++ b/extras/NetworkGraphicsDemo/Builds/iOS/NetworkGraphicsDemo.xcodeproj/project.pbxproj @@ -71,7 +71,6 @@ 7BE6330821794919A88ED8ED /* include_juce_gui_extra.mm */ /* include_juce_gui_extra.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_gui_extra.mm; path = ../../JuceLibraryCode/include_juce_gui_extra.mm; sourceTree = SOURCE_ROOT; }; 84B287BB2AD252B7D69AC47E /* include_juce_gui_basics.mm */ /* include_juce_gui_basics.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_gui_basics.mm; path = ../../JuceLibraryCode/include_juce_gui_basics.mm; sourceTree = SOURCE_ROOT; }; 89583CD42AD218E9753DF11C /* juce_audio_devices */ /* juce_audio_devices */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_audio_devices; path = ../../../../modules/juce_audio_devices; sourceTree = SOURCE_ROOT; }; - 8E2F72AFA0CDA64F0C07F105 /* SlaveComponent.h */ /* SlaveComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SlaveComponent.h; path = ../../Source/SlaveComponent.h; sourceTree = SOURCE_ROOT; }; 8EACAADD3A23DED3E252C92F /* juce_core */ /* juce_core */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_core; path = ../../../../modules/juce_core; sourceTree = SOURCE_ROOT; }; 9193D2A3C463BEAA07FD424D /* CoreText.framework */ /* CoreText.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreText.framework; path = System/Library/Frameworks/CoreText.framework; sourceTree = SDKROOT; }; 92800676AF753D1A60108F11 /* BinaryData.h */ /* BinaryData.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = BinaryData.h; path = ../../JuceLibraryCode/BinaryData.h; sourceTree = SOURCE_ROOT; }; @@ -88,6 +87,7 @@ AFF729977947528F3E4AAA96 /* include_juce_cryptography.mm */ /* include_juce_cryptography.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_cryptography.mm; path = ../../JuceLibraryCode/include_juce_cryptography.mm; sourceTree = SOURCE_ROOT; }; B5433B00F012AD87AADBFCD6 /* juce_cryptography */ /* juce_cryptography */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_cryptography; path = ../../../../modules/juce_cryptography; sourceTree = SOURCE_ROOT; }; B76F10A7778664E164A01934 /* juce_audio_basics */ /* juce_audio_basics */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_audio_basics; path = ../../../../modules/juce_audio_basics; sourceTree = SOURCE_ROOT; }; + B9B80E3572715F63FFC3678B /* ClientComponent.h */ /* ClientComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ClientComponent.h; path = ../../Source/ClientComponent.h; sourceTree = SOURCE_ROOT; }; BA2E40409255F1B078406221 /* juce_data_structures */ /* juce_data_structures */ = {isa = PBXFileReference; lastKnownFileType = folder; name = juce_data_structures; path = ../../../../modules/juce_data_structures; sourceTree = SOURCE_ROOT; }; C6E2284D86D93F1D9D5C7666 /* include_juce_audio_formats.mm */ /* include_juce_audio_formats.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_audio_formats.mm; path = ../../JuceLibraryCode/include_juce_audio_formats.mm; sourceTree = SOURCE_ROOT; }; C821C5805007FFDC2636BBE6 /* OpenGLES.framework */ /* OpenGLES.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; }; @@ -147,7 +147,7 @@ 4FF648D72D6F1A78956CDA1B, 77C0AC21C1028911123844FC, 9982F39121710EFFD5FEEAEF, - 8E2F72AFA0CDA64F0C07F105, + B9B80E3572715F63FFC3678B, 25DEDA8C9F94A6C8DFC8E53E, ); name = Source; @@ -276,7 +276,7 @@ A5398ADB6F5B128C00EB935C = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1310; ORGANIZATIONNAME = "Raw Material Software Limited"; TargetAttributes = { 4311FBCBD02948A0ED96C7DD = { @@ -362,11 +362,12 @@ 2E06386CE7CCA5FF76819BFF /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "-"; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_CXX_LANGUAGE_STANDARD = "c++14"; CLANG_CXX_LIBRARY = "libc++"; CLANG_LINK_OBJC_RUNTIME = NO; + CODE_SIGN_STYLE = Manual; COMBINE_HIDPI_IMAGES = YES; CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; DEAD_CODE_STRIPPING = YES; @@ -378,7 +379,7 @@ "JUCE_CONTENT_SHARING=1", "JUCE_DISPLAY_SPLASH_SCREEN=0", "JUCE_USE_DARK_SPLASH_SCREEN=1", - "JUCE_PROJUCER_VERSION=0x60100", + "JUCE_PROJUCER_VERSION=0x60103", "JUCE_MODULE_AVAILABLE_juce_audio_basics=1", "JUCE_MODULE_AVAILABLE_juce_audio_devices=1", "JUCE_MODULE_AVAILABLE_juce_audio_formats=1", @@ -420,6 +421,7 @@ MTL_HEADER_SEARCH_PATHS = "$(SRCROOT)/../../JuceLibraryCode $(SRCROOT)/../../../../modules"; PRODUCT_BUNDLE_IDENTIFIER = com.juce.NetworkGraphicsDemo; PRODUCT_NAME = "JUCE Network Graphics Demo"; + PROVISIONING_PROFILE_SPECIFIER = ""; USE_HEADERMAP = NO; VALIDATE_WORKSPACE_SKIPPED_SDK_FRAMEWORKS = OpenGLES; }; @@ -428,7 +430,7 @@ 3BF0365A560ACD4FD24D40CE /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "-"; ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ENABLE_OBJC_WEAK = YES; CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; @@ -479,7 +481,7 @@ 9C6D2FD441D79104734762A5 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "-"; ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ENABLE_OBJC_WEAK = YES; CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; @@ -529,11 +531,12 @@ EE7498599191DDC73ECB55B0 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "-"; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_CXX_LANGUAGE_STANDARD = "c++14"; CLANG_CXX_LIBRARY = "libc++"; CLANG_LINK_OBJC_RUNTIME = NO; + CODE_SIGN_STYLE = Manual; COMBINE_HIDPI_IMAGES = YES; CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; COPY_PHASE_STRIP = NO; @@ -545,7 +548,7 @@ "JUCE_CONTENT_SHARING=1", "JUCE_DISPLAY_SPLASH_SCREEN=0", "JUCE_USE_DARK_SPLASH_SCREEN=1", - "JUCE_PROJUCER_VERSION=0x60100", + "JUCE_PROJUCER_VERSION=0x60103", "JUCE_MODULE_AVAILABLE_juce_audio_basics=1", "JUCE_MODULE_AVAILABLE_juce_audio_devices=1", "JUCE_MODULE_AVAILABLE_juce_audio_formats=1", @@ -586,6 +589,7 @@ MTL_HEADER_SEARCH_PATHS = "$(SRCROOT)/../../JuceLibraryCode $(SRCROOT)/../../../../modules"; PRODUCT_BUNDLE_IDENTIFIER = com.juce.NetworkGraphicsDemo; PRODUCT_NAME = "JUCE Network Graphics Demo"; + PROVISIONING_PROFILE_SPECIFIER = ""; USE_HEADERMAP = NO; VALIDATE_WORKSPACE_SKIPPED_SDK_FRAMEWORKS = OpenGLES; }; diff --git a/extras/NetworkGraphicsDemo/NetworkGraphicsDemo.jucer b/extras/NetworkGraphicsDemo/NetworkGraphicsDemo.jucer index d2ae171b..bc5acc0d 100644 --- a/extras/NetworkGraphicsDemo/NetworkGraphicsDemo.jucer +++ b/extras/NetworkGraphicsDemo/NetworkGraphicsDemo.jucer @@ -10,8 +10,8 @@ - + @@ -41,7 +41,7 @@ - + @@ -62,7 +62,7 @@ - + diff --git a/extras/NetworkGraphicsDemo/Source/ClientComponent.h b/extras/NetworkGraphicsDemo/Source/ClientComponent.h new file mode 100644 index 00000000..9d09ab08 --- /dev/null +++ b/extras/NetworkGraphicsDemo/Source/ClientComponent.h @@ -0,0 +1,224 @@ +/* + ============================================================================== + + This file is part of the JUCE library. + Copyright (c) 2020 - Raw Material Software Limited + + JUCE is an open source library subject to commercial or open-source + licensing. + + By using JUCE, you agree to the terms of both the JUCE 6 End-User License + Agreement and JUCE Privacy Policy (both effective as of the 16th June 2020). + + End User License Agreement: www.juce.com/juce-6-licence + Privacy Policy: www.juce.com/juce-privacy-policy + + Or: You may also use this code under the terms of the GPL v3 (see + www.gnu.org/licenses). + + JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER + EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE + DISCLAIMED. + + ============================================================================== +*/ + + +/** + This component runs in a client process, draws the part of the canvas that this + particular client covers, and updates itself when messages arrive from the master + containing new canvas states. +*/ +class ClientCanvasComponent : public Component, + private OSCSender, + private OSCReceiver, + private OSCReceiver::Listener, + private AsyncUpdater, + private Timer +{ +public: + ClientCanvasComponent (PropertiesFile& p, int windowIndex) : properties (p) + { + { + String uuidPropName ("UUID" + String (windowIndex)); + clientName = properties.getValue (uuidPropName); + + if (clientName.isEmpty()) + { + clientName = "CLIENT_" + String (Random().nextInt (10000)).toUpperCase(); + properties.setValue (uuidPropName, clientName); + } + } + + setOpaque (true); + setSize (1500, 900); + + if (! OSCSender::connect (getBroadcastIPAddress(), clientPortNumber)) + error = "Client app OSC sender: network connection error."; + + if (! OSCReceiver::connect (masterPortNumber)) + error = "Client app OSC receiver: network connection error."; + + OSCReceiver::addListener (this); + + timerCallback(); + startTimer (2000); + } + + ~ClientCanvasComponent() override + { + OSCReceiver::removeListener (this); + } + +private: + void mouseDrag (const MouseEvent& e) override + { + auto clientArea = getAreaInGlobalSpace(); + + if (! clientArea.isEmpty()) + { + OSCMessage message (userInputOSCAddress); + + message.addString (clientName); + message.addFloat32 (e.position.x * clientArea.getWidth() / (float) getWidth() + clientArea.getX()); + message.addFloat32 (e.position.y * clientArea.getHeight() / (float) getHeight() + clientArea.getY()); + + send (message); + } + } + + //============================================================================== + void oscMessageReceived (const OSCMessage& message) override + { + auto address = message.getAddressPattern(); + + if (address.matches (canvasStateOSCAddress)) + canvasStateOSCMessageReceived (message); + } + + struct NewStateMessage : public Message + { + NewStateMessage (const MemoryBlock& d) : data (d) {} + MemoryBlock data; + }; + + void canvasStateOSCMessageReceived (const OSCMessage& message) + { + if (message.isEmpty() || ! message[0].isBlob()) + return; + + if (packetiser.appendIncomingBlock (message[0].getBlob())) + { + const ScopedLock sl (canvasLock); + + MemoryBlock newCanvasData; + + if (packetiser.reassemble (newCanvasData)) + { + MemoryInputStream i (newCanvasData.getData(), newCanvasData.getSize(), false); + canvas2.load (i); + triggerAsyncUpdate(); + } + } + } + + //============================================================================== + String getMachineInfoToDisplay() const + { + auto* display = Desktop::getInstance().getDisplays().getDisplayForPoint (getScreenBounds().getCentre()); + return getOSName() + " " + String (display->dpi) + " " + String (display->scale); + } + + static String getOSName() + { + #if JUCE_MAC + return "Mac OSX"; + #elif JUCE_ANDROID + return "Android"; + #elif JUCE_IOS + return "iOS"; + #elif JUCE_WINDOWS + return "Windows"; + #elif JUCE_LINUX + return "Linux"; + #elif JUCE_BSD + return "BSD"; + #endif + } + + void paint (Graphics& g) override + { + g.fillAll (canvas.backgroundColour); + + auto clientArea = getAreaInGlobalSpace(); + + if (clientArea.isEmpty()) + { + g.setColour (Colours::red.withAlpha (0.5f)); + g.setFont (20.0f); + g.drawText ("Not Connected", getLocalBounds(), Justification::centred, false); + return; + } + + canvas.draw (g, getLocalBounds().toFloat(), clientArea); + + g.setFont (Font (34.0f)); + g.setColour (Colours::white.withAlpha (0.6f)); + + g.drawText (getMachineInfoToDisplay(), + getLocalBounds().reduced (10).removeFromBottom (20), + Justification::centredRight, true); + + if (error.isNotEmpty()) + { + g.setColour (Colours::red); + g.drawText (error, getLocalBounds().reduced (10).removeFromBottom (80), + Justification::centredRight, true); + } + } + + Rectangle getAreaInGlobalSpace() const + { + if (auto client = canvas.findClient (clientName)) + { + auto screenBounds = getScreenBounds(); + auto* display = Desktop::getInstance().getDisplays().getDisplayForPoint (screenBounds.getCentre()); + return ((screenBounds - display->userArea.getCentre()).toFloat() / (client->scaleFactor * display->dpi / display->scale)) + client->centre; + } + + return {}; + } + + Rectangle getScreenAreaInGlobalSpace() const + { + if (auto client = canvas.findClient (clientName)) + { + auto* display = Desktop::getInstance().getDisplays().getDisplayForPoint (getScreenBounds().getCentre()); + return (display->userArea.toFloat() / (client->scaleFactor * display->dpi / display->scale)).withCentre (client->centre); + } + + return {}; + } + + void timerCallback() override + { + send (newClientOSCAddress, clientName + ":" + IPAddress::getLocalAddress().toString() + + ":" + getScreenAreaInGlobalSpace().toString()); + } + + void handleAsyncUpdate() override + { + const ScopedLock sl (canvasLock); + canvas.swapWith (canvas2); + repaint(); + } + + SharedCanvasDescription canvas, canvas2; + PropertiesFile& properties; + String clientName, error; + + CriticalSection canvasLock; + BlockPacketiser packetiser; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ClientCanvasComponent) +}; diff --git a/extras/NetworkGraphicsDemo/Source/Main.cpp b/extras/NetworkGraphicsDemo/Source/Main.cpp index c055dc78..ff6e705f 100644 --- a/extras/NetworkGraphicsDemo/Source/Main.cpp +++ b/extras/NetworkGraphicsDemo/Source/Main.cpp @@ -41,7 +41,7 @@ namespace } #include "SharedCanvas.h" -#include "SlaveComponent.h" +#include "ClientComponent.h" #include "Demos.h" #include "MasterComponent.h" @@ -107,7 +107,7 @@ public: : DocumentWindow ("JUCE Networked Graphics Demo", Colours::black, DocumentWindow::allButtons) { setUsingNativeTitleBar (true); - setContentOwned (new SlaveCanvasComponent (props, windowIndex), true); + setContentOwned (new ClientCanvasComponent (props, windowIndex), true); setBounds (500, 100, getWidth(), getHeight()); setResizable (true, false); setVisible (true); diff --git a/extras/NetworkGraphicsDemo/Source/SharedCanvas.h b/extras/NetworkGraphicsDemo/Source/SharedCanvas.h index cdeb6343..450755eb 100644 --- a/extras/NetworkGraphicsDemo/Source/SharedCanvas.h +++ b/extras/NetworkGraphicsDemo/Source/SharedCanvas.h @@ -399,7 +399,7 @@ public: { Path p; Font& font = getState().font; - font.getTypeface()->getOutlineForGlyph (glyphNumber, p); + font.getTypefacePtr()->getOutlineForGlyph (glyphNumber, p); fillPath (p, AffineTransform::scale (font.getHeight() * font.getHorizontalScale(), font.getHeight()).followedBy (transform)); } diff --git a/extras/NetworkGraphicsDemo/Source/SlaveComponent.h b/extras/NetworkGraphicsDemo/Source/SlaveComponent.h deleted file mode 100644 index b62f37c9..00000000 --- a/extras/NetworkGraphicsDemo/Source/SlaveComponent.h +++ /dev/null @@ -1,224 +0,0 @@ -/* - ============================================================================== - - This file is part of the JUCE library. - Copyright (c) 2020 - Raw Material Software Limited - - JUCE is an open source library subject to commercial or open-source - licensing. - - By using JUCE, you agree to the terms of both the JUCE 6 End-User License - Agreement and JUCE Privacy Policy (both effective as of the 16th June 2020). - - End User License Agreement: www.juce.com/juce-6-licence - Privacy Policy: www.juce.com/juce-privacy-policy - - Or: You may also use this code under the terms of the GPL v3 (see - www.gnu.org/licenses). - - JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER - EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE - DISCLAIMED. - - ============================================================================== -*/ - - -/** - This component runs in a slave process, draws the part of the canvas that this - particular client covers, and updates itself when messages arrive from the master - containing new canvas states. -*/ -class SlaveCanvasComponent : public Component, - private OSCSender, - private OSCReceiver, - private OSCReceiver::Listener, - private AsyncUpdater, - private Timer -{ -public: - SlaveCanvasComponent (PropertiesFile& p, int windowIndex) : properties (p) - { - { - String uuidPropName ("UUID" + String (windowIndex)); - clientName = properties.getValue (uuidPropName); - - if (clientName.isEmpty()) - { - clientName = "CLIENT_" + String (Random().nextInt (10000)).toUpperCase(); - properties.setValue (uuidPropName, clientName); - } - } - - setOpaque (true); - setSize (1500, 900); - - if (! OSCSender::connect (getBroadcastIPAddress(), clientPortNumber)) - error = "Client app OSC sender: network connection error."; - - if (! OSCReceiver::connect (masterPortNumber)) - error = "Client app OSC receiver: network connection error."; - - OSCReceiver::addListener (this); - - timerCallback(); - startTimer (2000); - } - - ~SlaveCanvasComponent() override - { - OSCReceiver::removeListener (this); - } - -private: - void mouseDrag (const MouseEvent& e) override - { - auto clientArea = getAreaInGlobalSpace(); - - if (! clientArea.isEmpty()) - { - OSCMessage message (userInputOSCAddress); - - message.addString (clientName); - message.addFloat32 (e.position.x * clientArea.getWidth() / (float) getWidth() + clientArea.getX()); - message.addFloat32 (e.position.y * clientArea.getHeight() / (float) getHeight() + clientArea.getY()); - - send (message); - } - } - - //============================================================================== - void oscMessageReceived (const OSCMessage& message) override - { - auto address = message.getAddressPattern(); - - if (address.matches (canvasStateOSCAddress)) - canvasStateOSCMessageReceived (message); - } - - struct NewStateMessage : public Message - { - NewStateMessage (const MemoryBlock& d) : data (d) {} - MemoryBlock data; - }; - - void canvasStateOSCMessageReceived (const OSCMessage& message) - { - if (message.isEmpty() || ! message[0].isBlob()) - return; - - if (packetiser.appendIncomingBlock (message[0].getBlob())) - { - const ScopedLock sl (canvasLock); - - MemoryBlock newCanvasData; - - if (packetiser.reassemble (newCanvasData)) - { - MemoryInputStream i (newCanvasData.getData(), newCanvasData.getSize(), false); - canvas2.load (i); - triggerAsyncUpdate(); - } - } - } - - //============================================================================== - String getMachineInfoToDisplay() const - { - auto* display = Desktop::getInstance().getDisplays().getDisplayForPoint (getScreenBounds().getCentre()); - return getOSName() + " " + String (display->dpi) + " " + String (display->scale); - } - - static String getOSName() - { - #if JUCE_MAC - return "Mac OSX"; - #elif JUCE_ANDROID - return "Android"; - #elif JUCE_IOS - return "iOS"; - #elif JUCE_WINDOWS - return "Windows"; - #elif JUCE_LINUX - return "Linux"; - #elif JUCE_BSD - return "BSD"; - #endif - } - - void paint (Graphics& g) override - { - g.fillAll (canvas.backgroundColour); - - auto clientArea = getAreaInGlobalSpace(); - - if (clientArea.isEmpty()) - { - g.setColour (Colours::red.withAlpha (0.5f)); - g.setFont (20.0f); - g.drawText ("Not Connected", getLocalBounds(), Justification::centred, false); - return; - } - - canvas.draw (g, getLocalBounds().toFloat(), clientArea); - - g.setFont (Font (34.0f)); - g.setColour (Colours::white.withAlpha (0.6f)); - - g.drawText (getMachineInfoToDisplay(), - getLocalBounds().reduced (10).removeFromBottom (20), - Justification::centredRight, true); - - if (error.isNotEmpty()) - { - g.setColour (Colours::red); - g.drawText (error, getLocalBounds().reduced (10).removeFromBottom (80), - Justification::centredRight, true); - } - } - - Rectangle getAreaInGlobalSpace() const - { - if (auto client = canvas.findClient (clientName)) - { - auto screenBounds = getScreenBounds(); - auto* display = Desktop::getInstance().getDisplays().getDisplayForPoint (screenBounds.getCentre()); - return ((screenBounds - display->userArea.getCentre()).toFloat() / (client->scaleFactor * display->dpi / display->scale)) + client->centre; - } - - return {}; - } - - Rectangle getScreenAreaInGlobalSpace() const - { - if (auto client = canvas.findClient (clientName)) - { - auto* display = Desktop::getInstance().getDisplays().getDisplayForPoint (getScreenBounds().getCentre()); - return (display->userArea.toFloat() / (client->scaleFactor * display->dpi / display->scale)).withCentre (client->centre); - } - - return {}; - } - - void timerCallback() override - { - send (newClientOSCAddress, clientName + ":" + IPAddress::getLocalAddress().toString() - + ":" + getScreenAreaInGlobalSpace().toString()); - } - - void handleAsyncUpdate() override - { - const ScopedLock sl (canvasLock); - canvas.swapWith (canvas2); - repaint(); - } - - SharedCanvasDescription canvas, canvas2; - PropertiesFile& properties; - String clientName, error; - - CriticalSection canvasLock; - BlockPacketiser packetiser; - - JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (SlaveCanvasComponent) -}; diff --git a/extras/Projucer/Builds/LinuxMakefile/Makefile b/extras/Projucer/Builds/LinuxMakefile/Makefile index 864b12d9..2893bd94 100644 --- a/extras/Projucer/Builds/LinuxMakefile/Makefile +++ b/extras/Projucer/Builds/LinuxMakefile/Makefile @@ -35,7 +35,7 @@ ifeq ($(CONFIG),Debug) TARGET_ARCH := endif - JUCE_CPPFLAGS := $(DEPFLAGS) "-DLINUX=1" "-DDEBUG=1" "-D_DEBUG=1" "-DJUCE_DISPLAY_SPLASH_SCREEN=0" "-DJUCE_USE_DARK_SPLASH_SCREEN=1" "-DJUCE_PROJUCER_VERSION=0x60100" "-DJUCE_MODULE_AVAILABLE_juce_build_tools=1" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_MODULE_AVAILABLE_juce_cryptography=1" "-DJUCE_MODULE_AVAILABLE_juce_data_structures=1" "-DJUCE_MODULE_AVAILABLE_juce_events=1" "-DJUCE_MODULE_AVAILABLE_juce_graphics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_LOG_ASSERTIONS=1" "-DJUCE_USE_CURL=1" "-DJUCE_LOAD_CURL_SYMBOLS_LAZILY=1" "-DJUCE_ALLOW_STATIC_NULL_VARIABLES=0" "-DJUCE_STRICT_REFCOUNTEDPOINTER=1" "-DJUCE_WEB_BROWSER=0" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCER_LINUX_MAKE_6D53C8B4=1" "-DJUCE_APP_VERSION=6.1.0" "-DJUCE_APP_VERSION_HEX=0x60100" $(shell pkg-config --cflags freetype2) -pthread -I../../JuceLibraryCode -I../../../Build -I../../../../modules $(CPPFLAGS) + JUCE_CPPFLAGS := $(DEPFLAGS) "-DLINUX=1" "-DDEBUG=1" "-D_DEBUG=1" "-DJUCE_DISPLAY_SPLASH_SCREEN=0" "-DJUCE_USE_DARK_SPLASH_SCREEN=1" "-DJUCE_PROJUCER_VERSION=0x60103" "-DJUCE_MODULE_AVAILABLE_juce_build_tools=1" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_MODULE_AVAILABLE_juce_cryptography=1" "-DJUCE_MODULE_AVAILABLE_juce_data_structures=1" "-DJUCE_MODULE_AVAILABLE_juce_events=1" "-DJUCE_MODULE_AVAILABLE_juce_graphics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_LOG_ASSERTIONS=1" "-DJUCE_USE_CURL=1" "-DJUCE_LOAD_CURL_SYMBOLS_LAZILY=1" "-DJUCE_ALLOW_STATIC_NULL_VARIABLES=0" "-DJUCE_STRICT_REFCOUNTEDPOINTER=1" "-DJUCE_WEB_BROWSER=0" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCER_LINUX_MAKE_6D53C8B4=1" "-DJUCE_APP_VERSION=6.1.3" "-DJUCE_APP_VERSION_HEX=0x60103" $(shell pkg-config --cflags freetype2) -pthread -I../../JuceLibraryCode -I../../../Build -I../../../../modules $(CPPFLAGS) JUCE_CPPFLAGS_APP := "-DJucePlugin_Build_VST=0" "-DJucePlugin_Build_VST3=0" "-DJucePlugin_Build_AU=0" "-DJucePlugin_Build_AUv3=0" "-DJucePlugin_Build_RTAS=0" "-DJucePlugin_Build_AAX=0" "-DJucePlugin_Build_Standalone=0" "-DJucePlugin_Build_Unity=0" JUCE_TARGET_APP := Projucer @@ -56,7 +56,7 @@ ifeq ($(CONFIG),Release) TARGET_ARCH := endif - JUCE_CPPFLAGS := $(DEPFLAGS) "-DLINUX=1" "-DNDEBUG=1" "-DJUCE_DISPLAY_SPLASH_SCREEN=0" "-DJUCE_USE_DARK_SPLASH_SCREEN=1" "-DJUCE_PROJUCER_VERSION=0x60100" "-DJUCE_MODULE_AVAILABLE_juce_build_tools=1" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_MODULE_AVAILABLE_juce_cryptography=1" "-DJUCE_MODULE_AVAILABLE_juce_data_structures=1" "-DJUCE_MODULE_AVAILABLE_juce_events=1" "-DJUCE_MODULE_AVAILABLE_juce_graphics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_LOG_ASSERTIONS=1" "-DJUCE_USE_CURL=1" "-DJUCE_LOAD_CURL_SYMBOLS_LAZILY=1" "-DJUCE_ALLOW_STATIC_NULL_VARIABLES=0" "-DJUCE_STRICT_REFCOUNTEDPOINTER=1" "-DJUCE_WEB_BROWSER=0" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCER_LINUX_MAKE_6D53C8B4=1" "-DJUCE_APP_VERSION=6.1.0" "-DJUCE_APP_VERSION_HEX=0x60100" $(shell pkg-config --cflags freetype2) -pthread -I../../JuceLibraryCode -I../../../Build -I../../../../modules $(CPPFLAGS) + JUCE_CPPFLAGS := $(DEPFLAGS) "-DLINUX=1" "-DNDEBUG=1" "-DJUCE_DISPLAY_SPLASH_SCREEN=0" "-DJUCE_USE_DARK_SPLASH_SCREEN=1" "-DJUCE_PROJUCER_VERSION=0x60103" "-DJUCE_MODULE_AVAILABLE_juce_build_tools=1" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_MODULE_AVAILABLE_juce_cryptography=1" "-DJUCE_MODULE_AVAILABLE_juce_data_structures=1" "-DJUCE_MODULE_AVAILABLE_juce_events=1" "-DJUCE_MODULE_AVAILABLE_juce_graphics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_LOG_ASSERTIONS=1" "-DJUCE_USE_CURL=1" "-DJUCE_LOAD_CURL_SYMBOLS_LAZILY=1" "-DJUCE_ALLOW_STATIC_NULL_VARIABLES=0" "-DJUCE_STRICT_REFCOUNTEDPOINTER=1" "-DJUCE_WEB_BROWSER=0" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCER_LINUX_MAKE_6D53C8B4=1" "-DJUCE_APP_VERSION=6.1.3" "-DJUCE_APP_VERSION_HEX=0x60103" $(shell pkg-config --cflags freetype2) -pthread -I../../JuceLibraryCode -I../../../Build -I../../../../modules $(CPPFLAGS) JUCE_CPPFLAGS_APP := "-DJucePlugin_Build_VST=0" "-DJucePlugin_Build_VST3=0" "-DJucePlugin_Build_AU=0" "-DJucePlugin_Build_AUv3=0" "-DJucePlugin_Build_RTAS=0" "-DJucePlugin_Build_AAX=0" "-DJucePlugin_Build_Standalone=0" "-DJucePlugin_Build_Unity=0" JUCE_TARGET_APP := Projucer diff --git a/extras/Projucer/Builds/MacOSX/Icon.icns b/extras/Projucer/Builds/MacOSX/Icon.icns index 6ab69158..cab8a1da 100644 Binary files a/extras/Projucer/Builds/MacOSX/Icon.icns and b/extras/Projucer/Builds/MacOSX/Icon.icns differ diff --git a/extras/Projucer/Builds/MacOSX/Info-App.plist b/extras/Projucer/Builds/MacOSX/Info-App.plist index e8493b40..f6c9ea0c 100644 --- a/extras/Projucer/Builds/MacOSX/Info-App.plist +++ b/extras/Projucer/Builds/MacOSX/Info-App.plist @@ -22,9 +22,9 @@ CFBundleSignature ???? CFBundleShortVersionString - 6.1.0 + 6.1.3 CFBundleVersion - 6.1.0 + 6.1.3 NSHumanReadableCopyright Raw Material Software Limited NSHighResolutionCapable @@ -46,6 +46,8 @@ Icon NSPersistentStoreTypeKey XML + LSHandlerRank + Default diff --git a/extras/Projucer/Builds/MacOSX/Projucer.xcodeproj/project.pbxproj b/extras/Projucer/Builds/MacOSX/Projucer.xcodeproj/project.pbxproj index bb742c5a..a0a636fd 100644 --- a/extras/Projucer/Builds/MacOSX/Projucer.xcodeproj/project.pbxproj +++ b/extras/Projucer/Builds/MacOSX/Projucer.xcodeproj/project.pbxproj @@ -989,7 +989,7 @@ 74EA481348A24104E6ACE009 = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1310; ORGANIZATIONNAME = "Raw Material Software Limited"; TargetAttributes = { 0039FE1A254FE518518BF8B8 = { @@ -1119,10 +1119,12 @@ CLANG_CXX_LANGUAGE_STANDARD = "c++14"; CLANG_CXX_LIBRARY = "libc++"; CLANG_LINK_OBJC_RUNTIME = NO; - CODE_SIGN_IDENTITY = ""; + CODE_SIGN_IDENTITY = "-"; + CODE_SIGN_STYLE = Manual; COMBINE_HIDPI_IMAGES = YES; CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; DEAD_CODE_STRIPPING = YES; + EXCLUDED_ARCHS = ""; GCC_GENERATE_DEBUGGING_SYMBOLS = NO; GCC_OPTIMIZATION_LEVEL = 3; GCC_PREPROCESSOR_DEFINITIONS = ( @@ -1130,7 +1132,7 @@ "NDEBUG=1", "JUCE_DISPLAY_SPLASH_SCREEN=0", "JUCE_USE_DARK_SPLASH_SCREEN=1", - "JUCE_PROJUCER_VERSION=0x60100", + "JUCE_PROJUCER_VERSION=0x60103", "JUCE_MODULE_AVAILABLE_juce_build_tools=1", "JUCE_MODULE_AVAILABLE_juce_core=1", "JUCE_MODULE_AVAILABLE_juce_cryptography=1", @@ -1148,8 +1150,8 @@ "JUCE_WEB_BROWSER=0", "JUCE_STANDALONE_APPLICATION=1", "JUCER_XCODE_MAC_F6D2F4CF=1", - "JUCE_APP_VERSION=6.1.0", - "JUCE_APP_VERSION_HEX=0x60100", + "JUCE_APP_VERSION=6.1.3", + "JUCE_APP_VERSION_HEX=0x60103", "JucePlugin_Build_VST=0", "JucePlugin_Build_VST3=0", "JucePlugin_Build_AU=0", @@ -1171,9 +1173,11 @@ INSTALL_PATH = "$(HOME)/Applications"; MACOSX_DEPLOYMENT_TARGET = 10.12; MTL_HEADER_SEARCH_PATHS = "$(SRCROOT)/../../JuceLibraryCode $(SRCROOT)/../../../Build $(SRCROOT)/../../../../modules"; - OTHER_CPLUSPLUSFLAGS = "-Wall -Wshadow-all -Wshorten-64-to-32 -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wconversion -Wsign-compare -Wint-conversion -Wconditional-uninitialized -Woverloaded-virtual -Wreorder -Wconstant-conversion -Wsign-conversion -Wunused-private-field -Wbool-conversion -Wextra-semi -Wunreachable-code -Wzero-as-null-pointer-constant -Wcast-align -Winconsistent-missing-destructor-override -Wshift-sign-overflow -Wnullable-to-nonnull-conversion -Wno-missing-field-initializers -Wno-ignored-qualifiers -Wswitch-enum"; + OTHER_CFLAGS = "-Wall -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wswitch-enum -Wsign-conversion -Wsign-compare -Wunreachable-code -Wcast-align -Wno-ignored-qualifiers -Wshorten-64-to-32 -Wconversion -Wint-conversion -Wconditional-uninitialized -Wconstant-conversion -Wbool-conversion -Wextra-semi -Wshift-sign-overflow -Wno-missing-field-initializers -Wshadow-all -Wnullable-to-nonnull-conversion"; + OTHER_CPLUSPLUSFLAGS = "-Woverloaded-virtual -Wreorder -Wzero-as-null-pointer-constant -Wunused-private-field -Winconsistent-missing-destructor-override -Wall -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wswitch-enum -Wsign-conversion -Wsign-compare -Wunreachable-code -Wcast-align -Wno-ignored-qualifiers -Wshorten-64-to-32 -Wconversion -Wint-conversion -Wconditional-uninitialized -Wconstant-conversion -Wbool-conversion -Wextra-semi -Wshift-sign-overflow -Wno-missing-field-initializers -Wshadow-all -Wnullable-to-nonnull-conversion"; PRODUCT_BUNDLE_IDENTIFIER = com.juce.theprojucer; PRODUCT_NAME = "Projucer"; + PROVISIONING_PROFILE_SPECIFIER = ""; USE_HEADERMAP = NO; VALIDATE_WORKSPACE_SKIPPED_SDK_FRAMEWORKS = OpenGL; VALID_ARCHS = "i386 x86_64 arm64 arm64e"; @@ -1186,10 +1190,12 @@ CLANG_CXX_LANGUAGE_STANDARD = "c++14"; CLANG_CXX_LIBRARY = "libc++"; CLANG_LINK_OBJC_RUNTIME = NO; - CODE_SIGN_IDENTITY = ""; + CODE_SIGN_IDENTITY = "-"; + CODE_SIGN_STYLE = Manual; COMBINE_HIDPI_IMAGES = YES; CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; COPY_PHASE_STRIP = NO; + EXCLUDED_ARCHS = ""; GCC_DYNAMIC_NO_PIC = NO; GCC_OPTIMIZATION_LEVEL = 0; GCC_PREPROCESSOR_DEFINITIONS = ( @@ -1197,7 +1203,7 @@ "DEBUG=1", "JUCE_DISPLAY_SPLASH_SCREEN=0", "JUCE_USE_DARK_SPLASH_SCREEN=1", - "JUCE_PROJUCER_VERSION=0x60100", + "JUCE_PROJUCER_VERSION=0x60103", "JUCE_MODULE_AVAILABLE_juce_build_tools=1", "JUCE_MODULE_AVAILABLE_juce_core=1", "JUCE_MODULE_AVAILABLE_juce_cryptography=1", @@ -1215,8 +1221,8 @@ "JUCE_WEB_BROWSER=0", "JUCE_STANDALONE_APPLICATION=1", "JUCER_XCODE_MAC_F6D2F4CF=1", - "JUCE_APP_VERSION=6.1.0", - "JUCE_APP_VERSION_HEX=0x60100", + "JUCE_APP_VERSION=6.1.3", + "JUCE_APP_VERSION_HEX=0x60103", "JucePlugin_Build_VST=0", "JucePlugin_Build_VST3=0", "JucePlugin_Build_AU=0", @@ -1238,9 +1244,11 @@ INSTALL_PATH = "$(HOME)/Applications"; MACOSX_DEPLOYMENT_TARGET = 10.12; MTL_HEADER_SEARCH_PATHS = "$(SRCROOT)/../../JuceLibraryCode $(SRCROOT)/../../../Build $(SRCROOT)/../../../../modules"; - OTHER_CPLUSPLUSFLAGS = "-Wall -Wshadow-all -Wshorten-64-to-32 -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wconversion -Wsign-compare -Wint-conversion -Wconditional-uninitialized -Woverloaded-virtual -Wreorder -Wconstant-conversion -Wsign-conversion -Wunused-private-field -Wbool-conversion -Wextra-semi -Wunreachable-code -Wzero-as-null-pointer-constant -Wcast-align -Winconsistent-missing-destructor-override -Wshift-sign-overflow -Wnullable-to-nonnull-conversion -Wno-missing-field-initializers -Wno-ignored-qualifiers -Wswitch-enum"; + OTHER_CFLAGS = "-Wall -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wswitch-enum -Wsign-conversion -Wsign-compare -Wunreachable-code -Wcast-align -Wno-ignored-qualifiers -Wshorten-64-to-32 -Wconversion -Wint-conversion -Wconditional-uninitialized -Wconstant-conversion -Wbool-conversion -Wextra-semi -Wshift-sign-overflow -Wno-missing-field-initializers -Wshadow-all -Wnullable-to-nonnull-conversion"; + OTHER_CPLUSPLUSFLAGS = "-Woverloaded-virtual -Wreorder -Wzero-as-null-pointer-constant -Wunused-private-field -Winconsistent-missing-destructor-override -Wall -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wswitch-enum -Wsign-conversion -Wsign-compare -Wunreachable-code -Wcast-align -Wno-ignored-qualifiers -Wshorten-64-to-32 -Wconversion -Wint-conversion -Wconditional-uninitialized -Wconstant-conversion -Wbool-conversion -Wextra-semi -Wshift-sign-overflow -Wno-missing-field-initializers -Wshadow-all -Wnullable-to-nonnull-conversion"; PRODUCT_BUNDLE_IDENTIFIER = com.juce.theprojucer; PRODUCT_NAME = "Projucer"; + PROVISIONING_PROFILE_SPECIFIER = ""; USE_HEADERMAP = NO; VALIDATE_WORKSPACE_SKIPPED_SDK_FRAMEWORKS = OpenGL; VALID_ARCHS = "i386 x86_64 arm64 arm64e"; @@ -1269,7 +1277,7 @@ CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = ""; + CODE_SIGN_IDENTITY = "-"; DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = NO; @@ -1317,7 +1325,7 @@ CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = ""; + CODE_SIGN_IDENTITY = "-"; DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = NO; diff --git a/extras/Projucer/Builds/VisualStudio2015/Projucer.sln b/extras/Projucer/Builds/VisualStudio2015/Projucer.sln index b1d6d7a8..ad322078 100644 --- a/extras/Projucer/Builds/VisualStudio2015/Projucer.sln +++ b/extras/Projucer/Builds/VisualStudio2015/Projucer.sln @@ -1,5 +1,6 @@ + Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2015 +# Visual Studio 14 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Projucer - App", "Projucer_App.vcxproj", "{E4CFCE31-1AF5-C360-751D-9682E333BE4D}" EndProject diff --git a/extras/Projucer/Builds/VisualStudio2015/Projucer_App.vcxproj b/extras/Projucer/Builds/VisualStudio2015/Projucer_App.vcxproj index 2b5a9efa..9c0e8101 100644 --- a/extras/Projucer/Builds/VisualStudio2015/Projucer_App.vcxproj +++ b/extras/Projucer/Builds/VisualStudio2015/Projucer_App.vcxproj @@ -64,7 +64,7 @@ Disabled ProgramDatabase ..\..\JuceLibraryCode;..\..\..\Build;..\..\..\..\modules;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60100;JUCE_MODULE_AVAILABLE_juce_build_tools=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_LOG_ASSERTIONS=1;JUCE_USE_CURL=1;JUCE_LOAD_CURL_SYMBOLS_LAZILY=1;JUCE_ALLOW_STATIC_NULL_VARIABLES=0;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_WEB_BROWSER=0;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=6.1.0;JUCE_APP_VERSION_HEX=0x60100;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) + _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_build_tools=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_LOG_ASSERTIONS=1;JUCE_USE_CURL=1;JUCE_LOAD_CURL_SYMBOLS_LAZILY=1;JUCE_ALLOW_STATIC_NULL_VARIABLES=0;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_WEB_BROWSER=0;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=6.1.3;JUCE_APP_VERSION_HEX=0x60103;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) MultiThreadedDebugDLL true NotUsing @@ -106,7 +106,7 @@ Full ..\..\JuceLibraryCode;..\..\..\Build;..\..\..\..\modules;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60100;JUCE_MODULE_AVAILABLE_juce_build_tools=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_LOG_ASSERTIONS=1;JUCE_USE_CURL=1;JUCE_LOAD_CURL_SYMBOLS_LAZILY=1;JUCE_ALLOW_STATIC_NULL_VARIABLES=0;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_WEB_BROWSER=0;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=6.1.0;JUCE_APP_VERSION_HEX=0x60100;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) + _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_build_tools=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_LOG_ASSERTIONS=1;JUCE_USE_CURL=1;JUCE_LOAD_CURL_SYMBOLS_LAZILY=1;JUCE_ALLOW_STATIC_NULL_VARIABLES=0;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_WEB_BROWSER=0;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=6.1.3;JUCE_APP_VERSION_HEX=0x60103;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) MultiThreaded true NotUsing @@ -741,6 +741,9 @@ true + + true + true @@ -1690,6 +1693,7 @@ + @@ -1725,6 +1729,7 @@ + @@ -1912,6 +1917,7 @@ + @@ -2048,6 +2054,7 @@ + @@ -2102,7 +2109,6 @@ - diff --git a/extras/Projucer/Builds/VisualStudio2015/Projucer_App.vcxproj.filters b/extras/Projucer/Builds/VisualStudio2015/Projucer_App.vcxproj.filters index b2774ea4..e7c74bbe 100644 --- a/extras/Projucer/Builds/VisualStudio2015/Projucer_App.vcxproj.filters +++ b/extras/Projucer/Builds/VisualStudio2015/Projucer_App.vcxproj.filters @@ -1054,6 +1054,9 @@ JUCE Modules\juce_graphics\geometry + + JUCE Modules\juce_graphics\geometry + JUCE Modules\juce_graphics\image_formats\jpglib @@ -2445,6 +2448,9 @@ JUCE Modules\juce_core\containers + + JUCE Modules\juce_core\containers + JUCE Modules\juce_core\containers @@ -2550,6 +2556,9 @@ JUCE Modules\juce_core\memory + + JUCE Modules\juce_core\memory + JUCE Modules\juce_core\memory @@ -3111,6 +3120,9 @@ JUCE Modules\juce_graphics\images + + JUCE Modules\juce_graphics\images + JUCE Modules\juce_graphics\native @@ -3519,6 +3531,9 @@ JUCE Modules\juce_gui_basics\native + + JUCE Modules\juce_gui_basics\native + JUCE Modules\juce_gui_basics\native @@ -3681,9 +3696,6 @@ JUCE Modules\juce_gui_extra\embedding - - JUCE Modules\juce_gui_extra\embedding - JUCE Modules\juce_gui_extra\embedding diff --git a/extras/Projucer/Builds/VisualStudio2015/icon.ico b/extras/Projucer/Builds/VisualStudio2015/icon.ico index 09d32ad7..66ef92d6 100644 Binary files a/extras/Projucer/Builds/VisualStudio2015/icon.ico and b/extras/Projucer/Builds/VisualStudio2015/icon.ico differ diff --git a/extras/Projucer/Builds/VisualStudio2015/resources.rc b/extras/Projucer/Builds/VisualStudio2015/resources.rc index 59dbfc97..b9a0ab5d 100644 --- a/extras/Projucer/Builds/VisualStudio2015/resources.rc +++ b/extras/Projucer/Builds/VisualStudio2015/resources.rc @@ -9,7 +9,7 @@ #include VS_VERSION_INFO VERSIONINFO -FILEVERSION 6,1,0,0 +FILEVERSION 6,1,3,0 BEGIN BLOCK "StringFileInfo" BEGIN @@ -18,9 +18,9 @@ BEGIN VALUE "CompanyName", "Raw Material Software Limited\0" VALUE "LegalCopyright", "Raw Material Software Limited\0" VALUE "FileDescription", "Projucer\0" - VALUE "FileVersion", "6.1.0\0" + VALUE "FileVersion", "6.1.3\0" VALUE "ProductName", "Projucer\0" - VALUE "ProductVersion", "6.1.0\0" + VALUE "ProductVersion", "6.1.3\0" END END diff --git a/extras/Projucer/Builds/VisualStudio2017/Projucer.sln b/extras/Projucer/Builds/VisualStudio2017/Projucer.sln index bec53738..8d2a01b7 100644 --- a/extras/Projucer/Builds/VisualStudio2017/Projucer.sln +++ b/extras/Projucer/Builds/VisualStudio2017/Projucer.sln @@ -1,5 +1,6 @@ + Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2017 +# Visual Studio 15 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Projucer - App", "Projucer_App.vcxproj", "{E4CFCE31-1AF5-C360-751D-9682E333BE4D}" EndProject diff --git a/extras/Projucer/Builds/VisualStudio2017/Projucer_App.vcxproj b/extras/Projucer/Builds/VisualStudio2017/Projucer_App.vcxproj index f2fa185f..543efbf5 100644 --- a/extras/Projucer/Builds/VisualStudio2017/Projucer_App.vcxproj +++ b/extras/Projucer/Builds/VisualStudio2017/Projucer_App.vcxproj @@ -64,7 +64,7 @@ Disabled ProgramDatabase ..\..\JuceLibraryCode;..\..\..\Build;..\..\..\..\modules;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60100;JUCE_MODULE_AVAILABLE_juce_build_tools=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_LOG_ASSERTIONS=1;JUCE_USE_CURL=1;JUCE_LOAD_CURL_SYMBOLS_LAZILY=1;JUCE_ALLOW_STATIC_NULL_VARIABLES=0;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_WEB_BROWSER=0;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2017_78A5024=1;JUCE_APP_VERSION=6.1.0;JUCE_APP_VERSION_HEX=0x60100;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) + _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_build_tools=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_LOG_ASSERTIONS=1;JUCE_USE_CURL=1;JUCE_LOAD_CURL_SYMBOLS_LAZILY=1;JUCE_ALLOW_STATIC_NULL_VARIABLES=0;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_WEB_BROWSER=0;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2017_78A5024=1;JUCE_APP_VERSION=6.1.3;JUCE_APP_VERSION_HEX=0x60103;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) MultiThreadedDebug true NotUsing @@ -106,7 +106,7 @@ Full ..\..\JuceLibraryCode;..\..\..\Build;..\..\..\..\modules;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60100;JUCE_MODULE_AVAILABLE_juce_build_tools=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_LOG_ASSERTIONS=1;JUCE_USE_CURL=1;JUCE_LOAD_CURL_SYMBOLS_LAZILY=1;JUCE_ALLOW_STATIC_NULL_VARIABLES=0;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_WEB_BROWSER=0;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2017_78A5024=1;JUCE_APP_VERSION=6.1.0;JUCE_APP_VERSION_HEX=0x60100;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) + _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_build_tools=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_LOG_ASSERTIONS=1;JUCE_USE_CURL=1;JUCE_LOAD_CURL_SYMBOLS_LAZILY=1;JUCE_ALLOW_STATIC_NULL_VARIABLES=0;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_WEB_BROWSER=0;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2017_78A5024=1;JUCE_APP_VERSION=6.1.3;JUCE_APP_VERSION_HEX=0x60103;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) MultiThreaded true NotUsing @@ -741,6 +741,9 @@ true + + true + true @@ -1690,6 +1693,7 @@ + @@ -1725,6 +1729,7 @@ + @@ -1912,6 +1917,7 @@ + @@ -2048,6 +2054,7 @@ + @@ -2102,7 +2109,6 @@ - diff --git a/extras/Projucer/Builds/VisualStudio2017/Projucer_App.vcxproj.filters b/extras/Projucer/Builds/VisualStudio2017/Projucer_App.vcxproj.filters index 0a628c18..cde02d3f 100644 --- a/extras/Projucer/Builds/VisualStudio2017/Projucer_App.vcxproj.filters +++ b/extras/Projucer/Builds/VisualStudio2017/Projucer_App.vcxproj.filters @@ -1054,6 +1054,9 @@ JUCE Modules\juce_graphics\geometry + + JUCE Modules\juce_graphics\geometry + JUCE Modules\juce_graphics\image_formats\jpglib @@ -2445,6 +2448,9 @@ JUCE Modules\juce_core\containers + + JUCE Modules\juce_core\containers + JUCE Modules\juce_core\containers @@ -2550,6 +2556,9 @@ JUCE Modules\juce_core\memory + + JUCE Modules\juce_core\memory + JUCE Modules\juce_core\memory @@ -3111,6 +3120,9 @@ JUCE Modules\juce_graphics\images + + JUCE Modules\juce_graphics\images + JUCE Modules\juce_graphics\native @@ -3519,6 +3531,9 @@ JUCE Modules\juce_gui_basics\native + + JUCE Modules\juce_gui_basics\native + JUCE Modules\juce_gui_basics\native @@ -3681,9 +3696,6 @@ JUCE Modules\juce_gui_extra\embedding - - JUCE Modules\juce_gui_extra\embedding - JUCE Modules\juce_gui_extra\embedding diff --git a/extras/Projucer/Builds/VisualStudio2017/icon.ico b/extras/Projucer/Builds/VisualStudio2017/icon.ico index 09d32ad7..66ef92d6 100644 Binary files a/extras/Projucer/Builds/VisualStudio2017/icon.ico and b/extras/Projucer/Builds/VisualStudio2017/icon.ico differ diff --git a/extras/Projucer/Builds/VisualStudio2017/resources.rc b/extras/Projucer/Builds/VisualStudio2017/resources.rc index 59dbfc97..b9a0ab5d 100644 --- a/extras/Projucer/Builds/VisualStudio2017/resources.rc +++ b/extras/Projucer/Builds/VisualStudio2017/resources.rc @@ -9,7 +9,7 @@ #include VS_VERSION_INFO VERSIONINFO -FILEVERSION 6,1,0,0 +FILEVERSION 6,1,3,0 BEGIN BLOCK "StringFileInfo" BEGIN @@ -18,9 +18,9 @@ BEGIN VALUE "CompanyName", "Raw Material Software Limited\0" VALUE "LegalCopyright", "Raw Material Software Limited\0" VALUE "FileDescription", "Projucer\0" - VALUE "FileVersion", "6.1.0\0" + VALUE "FileVersion", "6.1.3\0" VALUE "ProductName", "Projucer\0" - VALUE "ProductVersion", "6.1.0\0" + VALUE "ProductVersion", "6.1.3\0" END END diff --git a/extras/Projucer/Builds/VisualStudio2019/Projucer.sln b/extras/Projucer/Builds/VisualStudio2019/Projucer.sln index c0224fe3..f7c946d3 100644 --- a/extras/Projucer/Builds/VisualStudio2019/Projucer.sln +++ b/extras/Projucer/Builds/VisualStudio2019/Projucer.sln @@ -1,5 +1,6 @@ + Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2019 +# Visual Studio Version 16 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Projucer - App", "Projucer_App.vcxproj", "{E4CFCE31-1AF5-C360-751D-9682E333BE4D}" EndProject diff --git a/extras/Projucer/Builds/VisualStudio2019/Projucer_App.vcxproj b/extras/Projucer/Builds/VisualStudio2019/Projucer_App.vcxproj index 1ad1e957..d25c153a 100644 --- a/extras/Projucer/Builds/VisualStudio2019/Projucer_App.vcxproj +++ b/extras/Projucer/Builds/VisualStudio2019/Projucer_App.vcxproj @@ -64,7 +64,7 @@ Disabled ProgramDatabase ..\..\JuceLibraryCode;..\..\..\Build;..\..\..\..\modules;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60100;JUCE_MODULE_AVAILABLE_juce_build_tools=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_LOG_ASSERTIONS=1;JUCE_USE_CURL=1;JUCE_LOAD_CURL_SYMBOLS_LAZILY=1;JUCE_ALLOW_STATIC_NULL_VARIABLES=0;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_WEB_BROWSER=0;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2019_78A5026=1;JUCE_APP_VERSION=6.1.0;JUCE_APP_VERSION_HEX=0x60100;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) + _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_build_tools=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_LOG_ASSERTIONS=1;JUCE_USE_CURL=1;JUCE_LOAD_CURL_SYMBOLS_LAZILY=1;JUCE_ALLOW_STATIC_NULL_VARIABLES=0;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_WEB_BROWSER=0;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2019_78A5026=1;JUCE_APP_VERSION=6.1.3;JUCE_APP_VERSION_HEX=0x60103;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) MultiThreadedDebug true NotUsing @@ -106,7 +106,7 @@ Full ..\..\JuceLibraryCode;..\..\..\Build;..\..\..\..\modules;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60100;JUCE_MODULE_AVAILABLE_juce_build_tools=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_LOG_ASSERTIONS=1;JUCE_USE_CURL=1;JUCE_LOAD_CURL_SYMBOLS_LAZILY=1;JUCE_ALLOW_STATIC_NULL_VARIABLES=0;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_WEB_BROWSER=0;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2019_78A5026=1;JUCE_APP_VERSION=6.1.0;JUCE_APP_VERSION_HEX=0x60100;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) + _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_build_tools=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_LOG_ASSERTIONS=1;JUCE_USE_CURL=1;JUCE_LOAD_CURL_SYMBOLS_LAZILY=1;JUCE_ALLOW_STATIC_NULL_VARIABLES=0;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_WEB_BROWSER=0;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2019_78A5026=1;JUCE_APP_VERSION=6.1.3;JUCE_APP_VERSION_HEX=0x60103;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) MultiThreaded true NotUsing @@ -741,6 +741,9 @@ true + + true + true @@ -1690,6 +1693,7 @@ + @@ -1725,6 +1729,7 @@ + @@ -1912,6 +1917,7 @@ + @@ -2048,6 +2054,7 @@ + @@ -2102,7 +2109,6 @@ - diff --git a/extras/Projucer/Builds/VisualStudio2019/Projucer_App.vcxproj.filters b/extras/Projucer/Builds/VisualStudio2019/Projucer_App.vcxproj.filters index b75acdfa..65de2b36 100644 --- a/extras/Projucer/Builds/VisualStudio2019/Projucer_App.vcxproj.filters +++ b/extras/Projucer/Builds/VisualStudio2019/Projucer_App.vcxproj.filters @@ -1054,6 +1054,9 @@ JUCE Modules\juce_graphics\geometry + + JUCE Modules\juce_graphics\geometry + JUCE Modules\juce_graphics\image_formats\jpglib @@ -2445,6 +2448,9 @@ JUCE Modules\juce_core\containers + + JUCE Modules\juce_core\containers + JUCE Modules\juce_core\containers @@ -2550,6 +2556,9 @@ JUCE Modules\juce_core\memory + + JUCE Modules\juce_core\memory + JUCE Modules\juce_core\memory @@ -3111,6 +3120,9 @@ JUCE Modules\juce_graphics\images + + JUCE Modules\juce_graphics\images + JUCE Modules\juce_graphics\native @@ -3519,6 +3531,9 @@ JUCE Modules\juce_gui_basics\native + + JUCE Modules\juce_gui_basics\native + JUCE Modules\juce_gui_basics\native @@ -3681,9 +3696,6 @@ JUCE Modules\juce_gui_extra\embedding - - JUCE Modules\juce_gui_extra\embedding - JUCE Modules\juce_gui_extra\embedding diff --git a/extras/Projucer/Builds/VisualStudio2019/icon.ico b/extras/Projucer/Builds/VisualStudio2019/icon.ico index 09d32ad7..66ef92d6 100644 Binary files a/extras/Projucer/Builds/VisualStudio2019/icon.ico and b/extras/Projucer/Builds/VisualStudio2019/icon.ico differ diff --git a/extras/Projucer/Builds/VisualStudio2019/resources.rc b/extras/Projucer/Builds/VisualStudio2019/resources.rc index 59dbfc97..b9a0ab5d 100644 --- a/extras/Projucer/Builds/VisualStudio2019/resources.rc +++ b/extras/Projucer/Builds/VisualStudio2019/resources.rc @@ -9,7 +9,7 @@ #include VS_VERSION_INFO VERSIONINFO -FILEVERSION 6,1,0,0 +FILEVERSION 6,1,3,0 BEGIN BLOCK "StringFileInfo" BEGIN @@ -18,9 +18,9 @@ BEGIN VALUE "CompanyName", "Raw Material Software Limited\0" VALUE "LegalCopyright", "Raw Material Software Limited\0" VALUE "FileDescription", "Projucer\0" - VALUE "FileVersion", "6.1.0\0" + VALUE "FileVersion", "6.1.3\0" VALUE "ProductName", "Projucer\0" - VALUE "ProductVersion", "6.1.0\0" + VALUE "ProductVersion", "6.1.3\0" END END diff --git a/extras/Projucer/Builds/VisualStudio2022/Projucer.sln b/extras/Projucer/Builds/VisualStudio2022/Projucer.sln new file mode 100644 index 00000000..10408559 --- /dev/null +++ b/extras/Projucer/Builds/VisualStudio2022/Projucer.sln @@ -0,0 +1,21 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio Version 17 + +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Projucer - App", "Projucer_App.vcxproj", "{E4CFCE31-1AF5-C360-751D-9682E333BE4D}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 + Release|x64 = Release|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {E4CFCE31-1AF5-C360-751D-9682E333BE4D}.Debug|x64.ActiveCfg = Debug|x64 + {E4CFCE31-1AF5-C360-751D-9682E333BE4D}.Debug|x64.Build.0 = Debug|x64 + {E4CFCE31-1AF5-C360-751D-9682E333BE4D}.Release|x64.ActiveCfg = Release|x64 + {E4CFCE31-1AF5-C360-751D-9682E333BE4D}.Release|x64.Build.0 = Release|x64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/extras/Projucer/Builds/VisualStudio2022/Projucer_App.vcxproj b/extras/Projucer/Builds/VisualStudio2022/Projucer_App.vcxproj new file mode 100644 index 00000000..96de4929 --- /dev/null +++ b/extras/Projucer/Builds/VisualStudio2022/Projucer_App.vcxproj @@ -0,0 +1,2173 @@ + + + + + + Debug + x64 + + + Release + x64 + + + + {E4CFCE31-1AF5-C360-751D-9682E333BE4D} + + + + Application + false + false + v143 + 10.0 + + + Application + false + false + v143 + 10.0 + + + + + + + + <_ProjectFileVersion>10.0.30319.1 + .exe + $(SolutionDir)$(Platform)\$(Configuration)\App\ + $(Platform)\$(Configuration)\App\ + Projucer + true + $(SolutionDir)$(Platform)\$(Configuration)\App\ + $(Platform)\$(Configuration)\App\ + Projucer + true + + + + _DEBUG;%(PreprocessorDefinitions) + true + true + Win32 + + + + Disabled + ProgramDatabase + ..\..\JuceLibraryCode;..\..\..\Build;..\..\..\..\modules;%(AdditionalIncludeDirectories) + _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_build_tools=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_LOG_ASSERTIONS=1;JUCE_USE_CURL=1;JUCE_LOAD_CURL_SYMBOLS_LAZILY=1;JUCE_ALLOW_STATIC_NULL_VARIABLES=0;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_WEB_BROWSER=0;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2022_78A503E=1;JUCE_APP_VERSION=6.1.3;JUCE_APP_VERSION_HEX=0x60103;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) + MultiThreadedDebug + true + NotUsing + $(IntDir)\ + $(IntDir)\ + $(IntDir)\Projucer.pdb + Level4 + true + true + /w44265 /w45038 /w44062 %(AdditionalOptions) + stdcpp14 + + + _DEBUG;%(PreprocessorDefinitions) + + + $(OutDir)\Projucer.exe + true + libcmt.lib; msvcrt.lib;;%(IgnoreSpecificDefaultLibraries) + true + $(IntDir)\Projucer.pdb + Windows + true + + + true + $(IntDir)\Projucer.bsc + + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + Win32 + + + + Full + ..\..\JuceLibraryCode;..\..\..\Build;..\..\..\..\modules;%(AdditionalIncludeDirectories) + _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_build_tools=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_LOG_ASSERTIONS=1;JUCE_USE_CURL=1;JUCE_LOAD_CURL_SYMBOLS_LAZILY=1;JUCE_ALLOW_STATIC_NULL_VARIABLES=0;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_WEB_BROWSER=0;JUCE_STANDALONE_APPLICATION=1;JUCER_VS2022_78A503E=1;JUCE_APP_VERSION=6.1.3;JUCE_APP_VERSION_HEX=0x60103;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) + MultiThreaded + true + NotUsing + $(IntDir)\ + $(IntDir)\ + $(IntDir)\Projucer.pdb + Level4 + true + true + /w44265 /w45038 /w44062 %(AdditionalOptions) + stdcpp14 + + + NDEBUG;%(PreprocessorDefinitions) + + + $(OutDir)\Projucer.exe + true + %(IgnoreSpecificDefaultLibraries) + false + $(IntDir)\Projucer.pdb + Windows + true + true + true + + + true + $(IntDir)\Projucer.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 + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + + + + + + + + /bigobj %(AdditionalOptions) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/extras/Projucer/Builds/VisualStudio2022/Projucer_App.vcxproj.filters b/extras/Projucer/Builds/VisualStudio2022/Projucer_App.vcxproj.filters new file mode 100644 index 00000000..aff17bbd --- /dev/null +++ b/extras/Projucer/Builds/VisualStudio2022/Projucer_App.vcxproj.filters @@ -0,0 +1,3866 @@ + + + + + + {1E1D2D75-0ADA-6E9E-105F-2F87632B55AF} + + + {DA27985D-8427-CE70-CA06-EAF7009CCC60} + + + {DC7E18A5-E854-3D99-627F-AAA88246B712} + + + {4F8BCD36-CE20-D951-FB82-2CCEDD0C5898} + + + {661FA330-2192-FAA3-E7B2-FAF8EBB783C6} + + + {3A77FAA0-7E92-6D59-9C5F-BAAA2BF82833} + + + {D8DD148A-AB2B-B485-520B-8924DA606099} + + + {FE290DF2-C600-4159-D484-7F48DB498EBE} + + + {DE3E40F0-B495-2AC0-52AF-AA073FFE8E4C} + + + {A61A4546-CC78-CCFD-CC99-D5CD03650B08} + + + {485EE240-BE7D-E5FD-07C2-760B7401D5F3} + + + {35957741-E3A5-47F8-86DC-FDE691866C74} + + + {16DF510D-120E-D924-C478-E1E82643ED83} + + + {3207865A-047C-278E-870A-BC204B74ECB3} + + + {5F21E507-E5E8-0A74-F1AE-874BB67C26CC} + + + {F5C79836-30DE-9DC7-9392-DAAB3F04C18E} + + + {A0A94AE6-B447-151A-D0DA-FAE9B5410EBF} + + + {D2E33EF7-EDDC-06BA-9343-EF957E30A158} + + + {BBF7BD20-FB7D-59E5-D1DD-3E6F1455CA02} + + + {C4676327-23FA-ED8F-1881-BC5E53840936} + + + {FAD9788E-4FE6-172B-0E32-913C0C8FC2FB} + + + {A353D068-8C43-A573-8460-59B6BA167F83} + + + {A4B9C07E-05B1-BCE9-E075-7E573FFD23B0} + + + {ACCBC32A-58D5-1EC6-FC4D-B3B32CB6588E} + + + {A90A32B8-1A07-8900-6E90-EC981F56EC9D} + + + {F77CA057-8DE4-E076-7EB6-D2646794864B} + + + {7DBEF27C-2AFE-DA02-1DBF-E80FAAC99EA7} + + + {D9FAFF6D-6737-F775-056A-D0B29BE13820} + + + {065C11E4-EB37-5B72-0A01-F549675EB866} + + + {42F7BE9D-3C8A-AE26-289B-8F355C068036} + + + {7868764A-6572-381A-906C-9C26792A4C29} + + + {03678508-A517-48BB-FB4A-485628C34E08} + + + {07D27C1D-3227-F527-356C-17DA11551A99} + + + {6146D580-99D2-A6C8-5908-30DC355BB6BA} + + + {C67003E8-BEA8-2188-F4B3-A122F4B4FA3F} + + + {09B91E68-1FF4-C7ED-9055-D4D96E66A0BA} + + + {30B3DA63-C1E4-F2EA-CEF0-8035D8CBFF64} + + + {4F24EEED-AA33-AC6C-9A39-72E71CF83EF0} + + + {0F70B1A9-BB50-23F5-2AE7-F95E51A00389} + + + {D4C8DC40-2CD2-04B6-05D0-1E7A88841390} + + + {58BED6AF-DB89-7560-B2B8-D937C1C0825A} + + + {B958F86B-6926-8D9B-2FC6-8BFD4BDC72C9} + + + {DB624F7D-D513-25AC-C13C-B9062EB3BEEE} + + + {89AA9B6C-4029-A34F-C1B0-3B5D8691F4D4} + + + {1A7F541C-B032-9C66-C320-A13B2A8A9866} + + + {4BAB7C18-51AB-0D9D-83CD-9C37F28D2E38} + + + {5523922E-8B0C-A52B-477C-752C09F8197F} + + + {857B6D8B-0ECB-FE9E-D1EB-D5E45E72F057} + + + {BAA582FA-40B7-320E-EE7A-4C3892C7BE72} + + + {89B3E447-34BE-C691-638E-09796C6B647E} + + + {9BE78436-DBF4-658C-579B-ED19FFD0EB5D} + + + {21E7FA61-9E0A-4BA1-04B7-AF47AFA9CB8B} + + + {632B4C79-AF7D-BFB5-D006-5AE67F607130} + + + {B10E20C2-4583-2B79-60B7-FE4D4B044313} + + + {CFB54F15-8A8A-0505-9B7F-ECA41CEE38E8} + + + {911F0159-A7A8-4A43-3FD4-154F62F4A44B} + + + {9D5816C2-E2B2-2E3F-B095-AC8BD1100D29} + + + {3FDCD000-763F-8477-9AF8-70ABA2E91E5E} + + + {0947506F-66FA-EF8D-8A4E-4D48BCDBB226} + + + {E4B6AED3-F54C-3FF2-069F-640BACAE0E08} + + + {D5EADBCC-6A1C-C940-0206-26E49110AF08} + + + {D27DC92D-5BEB-9294-DCD1-81D54E245AD5} + + + {BCD73D20-42B1-6CDB-DE66-B06236A60F47} + + + {20DC13F6-2369-8841-9F0B-D13FA14EEE74} + + + {A302A8DB-120F-9EBB-A3D5-2C29963AA56B} + + + {45489C2A-6E0E-CCDC-6638-0DACEEB63CCA} + + + {F1B90726-DB55-0293-BFAF-C65C7DF5489C} + + + {2C55FD42-0ACD-B0B8-7EAE-EB17F09BAEEC} + + + {B68CD2B2-701F-9AB7-4638-2485D6E06BCF} + + + {B0B7C78E-729E-0FFA-D611-82AE8BC7FE2C} + + + {0A4F7E12-220C-14EF-0026-9C0629FA9C17} + + + {37F49E10-4E62-6D5C-FF70-722D0CA3D97E} + + + {160D9882-0F68-278D-C5F9-8960FD7421D2} + + + {4CED05DA-E0A2-E548-F753-1F2EF299A8E3} + + + {46AE69B8-AD58-4381-6CDE-25C8D75B01D2} + + + {E56CB4FC-32E8-8740-A3BB-B323CD937A99} + + + {4ECDCA0C-BB38-0729-A6B6-2FB0B4D0863B} + + + {294E4CD5-B06F-97D1-04A3-51871CEA507C} + + + {77228F15-BD91-06FF-2C7E-0377D25C2C94} + + + {5CB531E6-BF9A-2C50-056C-EE5A525D28D3} + + + {E4EA47E5-B41C-2A19-1783-7E9104096ECD} + + + {B331BC33-9770-3DB5-73F2-BC2469ECCF7F} + + + {46A17AC9-0BFF-B5CE-26D6-B9D1992C88AC} + + + {D90A8DF7-FBAB-D363-13C0-6707BB22B72B} + + + {8AE77C40-6839-EC37-4515-BD3CC269BCE4} + + + {0EAD99DB-011F-09E5-45A2-365F646EB004} + + + {F57590C6-3B90-1BE1-1006-488BA33E8BD9} + + + {7C319D73-0D93-5842-0874-398D2D3038D5} + + + {2CB4DB0C-DD3B-6195-D822-76EC7A5C88D2} + + + {FE3CB19C-EF43-5CF5-DAF0-09D4E43D0AB9} + + + {C0E5DD5D-F8F1-DD25-67D7-291946AB3828} + + + {FE7E6CD5-C7A0-DB20-4E7E-D6E7F08C4578} + + + {895C2D33-E08D-B1BA-BB36-FC4CA65090C8} + + + {D64A57DB-A956-5519-1929-1D929B56E1B0} + + + {5A99CC24-AC45-7ED6-C11A-B8B86E76D884} + + + {7A131EEC-25A7-22F6-2839-A2194DDF3007} + + + {EA9DB76C-CEF7-6BFC-2070-28B7DF8E8063} + + + {3C206A40-6F1B-E683-ACF1-DEC3703D0140} + + + {DF95D4BF-E18C-125A-5EBB-8993A06E232C} + + + {118946F2-AC24-0F09-62D5-753DF87A60CD} + + + {07329F9B-7D3D-CEB3-C771-714842076140} + + + {08BBBECB-B0D1-7611-37EC-F57E1D0CE2A2} + + + {268E8F2A-980C-BF2F-B161-AACABC9D91F3} + + + {A4D76113-9EDC-DA60-D89B-5BACF7F1C426} + + + {FE955B6B-68AC-AA07-70D8-2413F6DB65C8} + + + {7ED5A90E-41AF-A1EF-659B-37CEEAB9BA61} + + + + + Projucer\Application\StartPage + + + Projucer\Application\StartPage + + + Projucer\Application + + + Projucer\Application + + + Projucer\Application + + + Projucer\Application + + + Projucer\Application + + + Projucer\BinaryData\Templates + + + Projucer\BinaryData\Templates + + + Projucer\BinaryData\Templates + + + Projucer\BinaryData\Templates + + + Projucer\BinaryData\Templates + + + Projucer\BinaryData\Templates + + + Projucer\BinaryData\Templates + + + Projucer\BinaryData\Templates + + + Projucer\BinaryData\Templates + + + Projucer\BinaryData\Templates + + + Projucer\BinaryData\Templates + + + Projucer\BinaryData\Templates + + + Projucer\BinaryData + + + Projucer\CodeEditor + + + Projucer\CodeEditor + + + Projucer\CodeEditor + + + Projucer\ComponentEditor\Components + + + Projucer\ComponentEditor\Documents + + + Projucer\ComponentEditor\Documents + + + Projucer\ComponentEditor\PaintElements + + + Projucer\ComponentEditor\PaintElements + + + Projucer\ComponentEditor\PaintElements + + + Projucer\ComponentEditor\PaintElements + + + Projucer\ComponentEditor\PaintElements + + + Projucer\ComponentEditor\UI + + + Projucer\ComponentEditor\UI + + + Projucer\ComponentEditor\UI + + + Projucer\ComponentEditor\UI + + + Projucer\ComponentEditor\UI + + + Projucer\ComponentEditor\UI + + + Projucer\ComponentEditor\UI + + + Projucer\ComponentEditor\UI + + + Projucer\ComponentEditor + + + Projucer\ComponentEditor + + + Projucer\ComponentEditor + + + Projucer\ComponentEditor + + + Projucer\ComponentEditor + + + Projucer\ComponentEditor + + + Projucer\Project\Modules + + + Projucer\Project\UI + + + Projucer\Project\UI + + + Projucer\Project + + + Projucer\ProjectSaving + + + Projucer\ProjectSaving + + + Projucer\ProjectSaving + + + Projucer\Settings + + + Projucer\Settings + + + Projucer\Utility\Helpers + + + Projucer\Utility\Helpers + + + Projucer\Utility\Helpers + + + Projucer\Utility\Helpers + + + Projucer\Utility\Helpers + + + Projucer\Utility\PIPs + + + Projucer\Utility\UI + + + Projucer\Utility\UI + + + Projucer\Utility\UI + + + Projucer\Utility\UI + + + JUCE Modules\juce_build_tools\utils + + + JUCE Modules\juce_build_tools\utils + + + JUCE Modules\juce_build_tools\utils + + + JUCE Modules\juce_build_tools\utils + + + JUCE Modules\juce_build_tools\utils + + + JUCE Modules\juce_build_tools\utils + + + JUCE Modules\juce_build_tools\utils + + + JUCE Modules\juce_build_tools\utils + + + JUCE Modules\juce_build_tools\utils + + + JUCE Modules\juce_build_tools + + + 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\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\javascript + + + JUCE Modules\juce_core\javascript + + + JUCE Modules\juce_core\logging + + + JUCE Modules\juce_core\logging + + + 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\misc + + + 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\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\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\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\system + + + 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\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\unit_tests + + + JUCE Modules\juce_core\xml + + + JUCE Modules\juce_core\xml + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip + + + JUCE Modules\juce_core\zip + + + JUCE Modules\juce_core\zip + + + JUCE Modules\juce_core + + + 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\hashing + + + JUCE Modules\juce_cryptography + + + JUCE Modules\juce_cryptography + + + JUCE Modules\juce_data_structures\app_properties + + + JUCE Modules\juce_data_structures\app_properties + + + JUCE Modules\juce_data_structures\undomanager + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures + + + JUCE Modules\juce_data_structures + + + 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\interprocess + + + JUCE Modules\juce_events\messages + + + JUCE Modules\juce_events\messages + + + JUCE Modules\juce_events\messages + + + JUCE Modules\juce_events\messages + + + 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_events\native + + + JUCE Modules\juce_events\native + + + JUCE Modules\juce_events\timers + + + JUCE Modules\juce_events\timers + + + JUCE Modules\juce_events + + + 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\contexts + + + JUCE Modules\juce_graphics\contexts + + + JUCE Modules\juce_graphics\contexts + + + JUCE Modules\juce_graphics\effects + + + JUCE Modules\juce_graphics\effects + + + 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\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\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats + + + JUCE Modules\juce_graphics\image_formats + + + JUCE Modules\juce_graphics\image_formats + + + JUCE Modules\juce_graphics\images + + + JUCE Modules\juce_graphics\images + + + JUCE Modules\juce_graphics\images + + + JUCE Modules\juce_graphics\images + + + 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_graphics\native + + + JUCE Modules\juce_graphics\native + + + JUCE Modules\juce_graphics\native + + + JUCE Modules\juce_graphics\native + + + JUCE Modules\juce_graphics\placement + + + JUCE Modules\juce_graphics + + + JUCE Modules\juce_graphics + + + JUCE Modules\juce_gui_basics\accessibility + + + JUCE Modules\juce_gui_basics\application + + + 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\commands + + + JUCE Modules\juce_gui_basics\commands + + + JUCE Modules\juce_gui_basics\commands + + + JUCE Modules\juce_gui_basics\commands + + + 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\desktop + + + JUCE Modules\juce_gui_basics\desktop + + + 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\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\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\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\layout + + + JUCE Modules\juce_gui_basics\layout + + + 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\lookandfeel + + + JUCE Modules\juce_gui_basics\menus + + + JUCE Modules\juce_gui_basics\menus + + + JUCE Modules\juce_gui_basics\menus + + + JUCE Modules\juce_gui_basics\menus + + + JUCE Modules\juce_gui_basics\misc + + + JUCE Modules\juce_gui_basics\misc + + + JUCE Modules\juce_gui_basics\misc + + + 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\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\x11 + + + JUCE Modules\juce_gui_basics\native\x11 + + + JUCE Modules\juce_gui_basics\native\x11 + + + 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_basics\native + + + JUCE Modules\juce_gui_basics\native + + + JUCE Modules\juce_gui_basics\native + + + 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\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\properties + + + 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 + + + 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\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\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_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 + + + JUCE Modules\juce_gui_extra + + + 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 + + + + + Projucer\Application\StartPage + + + Projucer\Application\StartPage + + + Projucer\Application\StartPage + + + Projucer\Application\StartPage + + + Projucer\Application\StartPage + + + Projucer\Application\UserAccount + + + Projucer\Application\UserAccount + + + Projucer\Application\UserAccount + + + Projucer\Application\UserAccount + + + Projucer\Application\Windows + + + Projucer\Application\Windows + + + Projucer\Application\Windows + + + Projucer\Application\Windows + + + Projucer\Application\Windows + + + Projucer\Application\Windows + + + Projucer\Application\Windows + + + Projucer\Application\Windows + + + Projucer\Application + + + Projucer\Application + + + Projucer\Application + + + Projucer\Application + + + Projucer\Application + + + Projucer\Application + + + Projucer\Application + + + Projucer\BinaryData\Templates + + + Projucer\BinaryData\Templates + + + Projucer\BinaryData\Templates + + + Projucer\BinaryData\Templates + + + Projucer\BinaryData\Templates + + + Projucer\BinaryData\Templates + + + Projucer\BinaryData\Templates + + + Projucer\BinaryData\Templates + + + Projucer\BinaryData\Templates + + + Projucer\BinaryData\Templates + + + Projucer\BinaryData\Templates + + + Projucer\BinaryData\Templates + + + Projucer\BinaryData\Templates + + + Projucer\BinaryData\Templates + + + Projucer\BinaryData\Templates + + + Projucer\BinaryData\Templates + + + Projucer\BinaryData\Templates + + + Projucer\CodeEditor + + + Projucer\CodeEditor + + + Projucer\CodeEditor + + + Projucer\CodeEditor + + + Projucer\ComponentEditor\Components + + + Projucer\ComponentEditor\Components + + + Projucer\ComponentEditor\Components + + + Projucer\ComponentEditor\Components + + + Projucer\ComponentEditor\Components + + + Projucer\ComponentEditor\Components + + + Projucer\ComponentEditor\Components + + + Projucer\ComponentEditor\Components + + + Projucer\ComponentEditor\Components + + + Projucer\ComponentEditor\Components + + + Projucer\ComponentEditor\Components + + + Projucer\ComponentEditor\Components + + + Projucer\ComponentEditor\Components + + + Projucer\ComponentEditor\Components + + + Projucer\ComponentEditor\Components + + + Projucer\ComponentEditor\Components + + + Projucer\ComponentEditor\Components + + + Projucer\ComponentEditor\Components + + + Projucer\ComponentEditor\Documents + + + Projucer\ComponentEditor\Documents + + + Projucer\ComponentEditor\PaintElements + + + Projucer\ComponentEditor\PaintElements + + + Projucer\ComponentEditor\PaintElements + + + Projucer\ComponentEditor\PaintElements + + + Projucer\ComponentEditor\PaintElements + + + Projucer\ComponentEditor\PaintElements + + + Projucer\ComponentEditor\PaintElements + + + Projucer\ComponentEditor\PaintElements + + + Projucer\ComponentEditor\PaintElements + + + Projucer\ComponentEditor\PaintElements + + + Projucer\ComponentEditor\PaintElements + + + Projucer\ComponentEditor\PaintElements + + + Projucer\ComponentEditor\PaintElements + + + Projucer\ComponentEditor\PaintElements + + + Projucer\ComponentEditor\PaintElements + + + Projucer\ComponentEditor\PaintElements + + + Projucer\ComponentEditor\Properties + + + Projucer\ComponentEditor\Properties + + + Projucer\ComponentEditor\Properties + + + Projucer\ComponentEditor\Properties + + + Projucer\ComponentEditor\Properties + + + Projucer\ComponentEditor\Properties + + + Projucer\ComponentEditor\Properties + + + Projucer\ComponentEditor\Properties + + + Projucer\ComponentEditor\Properties + + + Projucer\ComponentEditor\UI + + + Projucer\ComponentEditor\UI + + + Projucer\ComponentEditor\UI + + + Projucer\ComponentEditor\UI + + + Projucer\ComponentEditor\UI + + + Projucer\ComponentEditor\UI + + + Projucer\ComponentEditor\UI + + + Projucer\ComponentEditor\UI + + + Projucer\ComponentEditor\UI + + + Projucer\ComponentEditor\UI + + + Projucer\ComponentEditor\UI + + + Projucer\ComponentEditor\UI + + + Projucer\ComponentEditor + + + Projucer\ComponentEditor + + + Projucer\ComponentEditor + + + Projucer\ComponentEditor + + + Projucer\ComponentEditor + + + Projucer\ComponentEditor + + + Projucer\ComponentEditor + + + Projucer\Project\Modules + + + Projucer\Project\Modules + + + Projucer\Project\Modules + + + Projucer\Project\UI\Sidebar + + + Projucer\Project\UI\Sidebar + + + Projucer\Project\UI\Sidebar + + + Projucer\Project\UI\Sidebar + + + Projucer\Project\UI\Sidebar + + + Projucer\Project\UI\Sidebar + + + Projucer\Project\UI + + + Projucer\Project\UI + + + Projucer\Project\UI + + + Projucer\Project\UI + + + Projucer\Project\UI + + + Projucer\Project\UI + + + Projucer\Project\UI + + + Projucer\Project + + + Projucer\ProjectSaving + + + Projucer\ProjectSaving + + + Projucer\ProjectSaving + + + Projucer\ProjectSaving + + + Projucer\ProjectSaving + + + Projucer\ProjectSaving + + + Projucer\ProjectSaving + + + Projucer\ProjectSaving + + + Projucer\ProjectSaving + + + Projucer\ProjectSaving + + + Projucer\Settings + + + Projucer\Settings + + + Projucer\Utility\Helpers + + + Projucer\Utility\Helpers + + + Projucer\Utility\Helpers + + + Projucer\Utility\Helpers + + + Projucer\Utility\Helpers + + + Projucer\Utility\Helpers + + + Projucer\Utility\Helpers + + + Projucer\Utility\Helpers + + + Projucer\Utility\Helpers + + + Projucer\Utility\Helpers + + + Projucer\Utility\PIPs + + + Projucer\Utility\UI\PropertyComponents + + + Projucer\Utility\UI\PropertyComponents + + + Projucer\Utility\UI\PropertyComponents + + + Projucer\Utility\UI\PropertyComponents + + + Projucer\Utility\UI + + + Projucer\Utility\UI + + + Projucer\Utility\UI + + + Projucer\Utility\UI + + + Projucer\Utility\UI + + + JUCE Modules\juce_build_tools\utils + + + JUCE Modules\juce_build_tools\utils + + + JUCE Modules\juce_build_tools\utils + + + JUCE Modules\juce_build_tools\utils + + + JUCE Modules\juce_build_tools\utils + + + JUCE Modules\juce_build_tools\utils + + + JUCE Modules\juce_build_tools\utils + + + JUCE Modules\juce_build_tools\utils + + + JUCE Modules\juce_build_tools\utils + + + JUCE Modules\juce_build_tools\utils + + + JUCE Modules\juce_build_tools + + + 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\containers + + + JUCE Modules\juce_core\containers + + + JUCE Modules\juce_core\containers + + + 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\files + + + JUCE Modules\juce_core\javascript + + + JUCE Modules\juce_core\javascript + + + JUCE Modules\juce_core\logging + + + JUCE Modules\juce_core\logging + + + 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\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\memory + + + JUCE Modules\juce_core\memory + + + JUCE Modules\juce_core\memory + + + JUCE Modules\juce_core\misc + + + JUCE Modules\juce_core\misc + + + JUCE Modules\juce_core\misc + + + 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\native + + + JUCE Modules\juce_core\native + + + JUCE Modules\juce_core\native + + + 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\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\streams + + + 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\system + + + 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\text + + + 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\unit_tests + + + JUCE Modules\juce_core\unit_tests + + + JUCE Modules\juce_core\xml + + + JUCE Modules\juce_core\xml + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip + + + JUCE Modules\juce_core\zip + + + JUCE Modules\juce_core\zip + + + 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\hashing + + + JUCE Modules\juce_cryptography + + + JUCE Modules\juce_data_structures\app_properties + + + JUCE Modules\juce_data_structures\app_properties + + + JUCE Modules\juce_data_structures\undomanager + + + JUCE Modules\juce_data_structures\undomanager + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures + + + 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\interprocess + + + 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\native + + + JUCE Modules\juce_events\native + + + JUCE Modules\juce_events\native + + + JUCE Modules\juce_events\native + + + JUCE Modules\juce_events\native + + + JUCE Modules\juce_events\timers + + + JUCE Modules\juce_events\timers + + + 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\effects + + + JUCE Modules\juce_graphics\effects + + + JUCE Modules\juce_graphics\effects + + + 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\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\geometry + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\images + + + JUCE Modules\juce_graphics\images + + + JUCE Modules\juce_graphics\images + + + JUCE Modules\juce_graphics\images + + + JUCE Modules\juce_graphics\images + + + JUCE Modules\juce_graphics\native + + + JUCE Modules\juce_graphics\native + + + JUCE Modules\juce_graphics\native + + + JUCE Modules\juce_graphics\native + + + JUCE Modules\juce_graphics\placement + + + JUCE Modules\juce_graphics\placement + + + JUCE Modules\juce_graphics + + + JUCE Modules\juce_gui_basics\accessibility\enums + + + JUCE Modules\juce_gui_basics\accessibility\enums + + + JUCE Modules\juce_gui_basics\accessibility\enums + + + JUCE Modules\juce_gui_basics\accessibility\interfaces + + + JUCE Modules\juce_gui_basics\accessibility\interfaces + + + JUCE Modules\juce_gui_basics\accessibility\interfaces + + + JUCE Modules\juce_gui_basics\accessibility\interfaces + + + JUCE Modules\juce_gui_basics\accessibility + + + JUCE Modules\juce_gui_basics\accessibility + + + JUCE Modules\juce_gui_basics\application + + + 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\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\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\components + + + JUCE Modules\juce_gui_basics\desktop + + + JUCE Modules\juce_gui_basics\desktop + + + 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\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\filebrowser + + + 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\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\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\lookandfeel + + + 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\menus + + + JUCE Modules\juce_gui_basics\menus + + + JUCE Modules\juce_gui_basics\menus + + + JUCE Modules\juce_gui_basics\menus + + + JUCE Modules\juce_gui_basics\misc + + + JUCE Modules\juce_gui_basics\misc + + + JUCE Modules\juce_gui_basics\misc + + + 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\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\x11 + + + JUCE Modules\juce_gui_basics\native\x11 + + + JUCE Modules\juce_gui_basics\native + + + JUCE Modules\juce_gui_basics\native + + + JUCE Modules\juce_gui_basics\native + + + 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\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\properties + + + 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\windows + + + 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\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\misc + + + JUCE Modules\juce_gui_extra\native + + + JUCE Modules\juce_gui_extra + + + JUCE Library Code + + + JUCE Library Code + + + + + Projucer\BinaryData + + + Projucer\BinaryData + + + Projucer\BinaryData + + + Projucer\BinaryData + + + Projucer\BinaryData + + + Projucer\BinaryData + + + Projucer\BinaryData\gradle + + + Projucer\BinaryData\gradle + + + Projucer\BinaryData\gradle + + + Projucer\BinaryData\gradle + + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons + + + Projucer\BinaryData\Icons + + + Projucer\BinaryData + + + Projucer\BinaryData + + + JUCE Modules\juce_core\native\java + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Library Code + + + + + JUCE Library Code + + + diff --git a/extras/Projucer/Builds/VisualStudio2022/icon.ico b/extras/Projucer/Builds/VisualStudio2022/icon.ico new file mode 100644 index 00000000..66ef92d6 Binary files /dev/null and b/extras/Projucer/Builds/VisualStudio2022/icon.ico differ diff --git a/extras/Projucer/Builds/VisualStudio2022/resources.rc b/extras/Projucer/Builds/VisualStudio2022/resources.rc new file mode 100644 index 00000000..b9a0ab5d --- /dev/null +++ b/extras/Projucer/Builds/VisualStudio2022/resources.rc @@ -0,0 +1,36 @@ +#pragma code_page(65001) + +#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 6,1,3,0 +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904E4" + BEGIN + VALUE "CompanyName", "Raw Material Software Limited\0" + VALUE "LegalCopyright", "Raw Material Software Limited\0" + VALUE "FileDescription", "Projucer\0" + VALUE "FileVersion", "6.1.3\0" + VALUE "ProductName", "Projucer\0" + VALUE "ProductVersion", "6.1.3\0" + END + END + + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1252 + END +END + +#endif + +IDI_ICON1 ICON DISCARDABLE "icon.ico" +IDI_ICON2 ICON DISCARDABLE "icon.ico" \ No newline at end of file diff --git a/extras/Projucer/JuceLibraryCode/BinaryData.cpp b/extras/Projucer/JuceLibraryCode/BinaryData.cpp index d5c6e6f5..5dc2057b 100644 --- a/extras/Projucer/JuceLibraryCode/BinaryData.cpp +++ b/extras/Projucer/JuceLibraryCode/BinaryData.cpp @@ -1588,43 +1588,23 @@ const char* LICENSE = (const char*) temp_binary_data_9; //================== background_logo.svg ================== static const unsigned char temp_binary_data_10[] = -"\r\n" -"\r\n" -"\r\n" -"\t\r\n" -"\t\t\r\n" -"\t\t\r\n" -"\t\t\r\n" -"\t\t\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" -"\t\r\n" -"\t\r\n" -"\t\r\n" -"\r\n" -"\r\n"; +"\n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +"\n"; const char* background_logo_svg = (const char*) temp_binary_data_10; @@ -2109,650 +2089,1499 @@ const char* gpl_logo_svg = (const char*) temp_binary_data_17; //================== juce_icon.png ================== static const unsigned char temp_binary_data_18[] = -{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,2,0,0,0,2,0,8,6,0,0,0,244,120,212,250,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,54,55,32,55,57,46,49,53,55, -55,52,55,44,32,50,48,49,53,47,48,51,47,51,48,45,50,51,58,52,48,58,52,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,53,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,53,52, -53,66,70,48,69,70,55,66,48,54,49,49,69,53,66,51,49,53,69,69,54,51,67,65,56,68,70,50,56,48,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,53,52,53,66,70,48,70,48,55,66,48,54,49,49,69,53,66,51,49,53,69, -69,54,51,67,65,56,68,70,50,56,48,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,53,52,53,66,70,48,69,68,55,66,48,54,49,49,69, -53,66,51,49,53,69,69,54,51,67,65,56,68,70,50,56,48,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,53,52,53,66,70,48,69,69,55,66,48,54,49,49,69,53,66,51,49,53,69,69,54,51,67,65,56,68,70,50,56,48,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,115,115,54,90,0,0,175,140, -73,68,65,84,120,218,236,157,7,128,92,117,181,255,207,45,211,251,236,204,246,94,179,61,189,247,144,70,11,45,244,14,74,81,154,20,17,241,1,239,161,40,54,44,207,191,138,138,62,124,2,250,176,32,85,233,32,37,72,9,9,73,72,239,61,219,119,218,109,255,223,239, -55,155,80,4,201,220,123,103,167,157,79,24,118,179,73,238,220,185,237,124,207,249,157,194,105,154,6,8,130,32,8,130,20,22,60,30,2,4,65,16,4,65,1,128,32,8,130,32,8,10,0,4,65,16,4,65,80,0,32,8,130,32,8,130,2,0,65,16,4,65,16,20,0,8,130,32,8,130,160,0,64,16, -4,65,16,4,5,0,130,32,8,130,32,40,0,16,4,65,16,4,65,1,128,32,8,130,32,8,10,0,4,65,16,4,65,80,0,32,8,130,32,8,130,2,0,65,16,4,65,16,20,0,8,130,32,8,130,160,0,64,16,4,65,16,4,5,0,130,32,8,130,32,40,0,16,4,65,16,4,65,1,128,32,8,130,32,40,0,16,4,65,16,4,65, -1,128,32,8,130,32,8,10,0,4,65,16,4,65,80,0,32,8,130,32,8,130,2,0,65,16,4,65,16,20,0,8,130,32,8,130,160,0,64,16,4,65,16,4,5,0,130,32,8,130,32,40,0,16,4,65,16,4,65,1,128,32,8,130,32,8,10,0,4,65,16,4,65,204,70,204,228,155,39,18,9,60,3,8,242,41,104,154,70, -254,207,129,166,210,175,26,249,10,160,42,90,242,207,200,207,52,250,61,151,252,187,28,207,125,228,223,90,28,2,136,86,129,254,171,195,63,226,224,200,223,102,247,61,247,9,111,41,147,151,58,242,103,106,242,31,113,228,61,85,136,15,201,255,186,111,201,221, -98,239,205,9,220,200,126,16,175,66,224,217,31,28,222,39,186,141,79,124,55,4,65,64,20,69,224,249,204,248,226,25,19,0,146,36,193,130,5,11,96,231,206,157,120,5,32,5,13,51,234,228,63,85,86,129,218,85,250,123,142,163,134,52,105,53,109,30,11,8,22,94,180,186, -69,167,59,108,247,17,227,239,119,23,59,124,158,18,71,144,124,31,176,216,5,127,184,217,235,35,127,213,71,254,185,151,124,245,120,74,236,14,103,192,102,39,127,238,36,191,23,200,203,245,33,163,79,191,255,164,39,78,100,68,4,208,191,23,165,223,115,28,23,149, -98,74,172,103,219,16,253,253,16,121,13,240,60,55,208,187,125,184,47,210,19,31,32,6,191,55,62,40,31,234,217,58,216,79,12,126,127,124,64,234,27,58,24,31,34,251,31,143,13,74,160,74,42,168,106,82,188,80,113,64,182,199,62,23,21,12,60,143,194,0,65,238,186, -235,46,56,243,204,51,11,75,0,80,15,98,243,230,205,176,123,247,110,188,2,144,2,119,1,136,53,182,130,215,95,233,12,19,207,189,44,212,228,173,180,58,197,202,80,163,183,130,220,41,85,254,74,23,253,121,88,180,11,1,135,207,234,34,247,142,155,23,121,142,136, -2,96,138,129,69,4,134,142,184,249,148,65,101,16,6,134,52,115,246,143,108,84,168,251,168,94,8,212,2,4,57,203,72,132,194,2,85,9,43,48,177,16,149,135,163,253,210,0,177,243,251,251,119,69,14,202,49,101,119,223,206,200,174,72,111,124,199,240,193,248,142,129, -61,145,61,145,158,196,190,200,65,169,15,18,32,227,201,71,10,157,190,190,190,76,62,122,50,135,213,106,197,179,143,20,4,212,163,119,4,108,78,95,133,179,212,225,183,214,16,35,223,20,168,118,53,187,66,182,6,242,179,42,209,42,148,147,159,7,136,23,109,103, -134,29,52,226,57,143,68,8,104,100,64,101,170,153,121,211,28,36,163,239,144,248,136,141,254,8,212,229,55,53,195,71,249,183,250,0,172,34,93,110,0,135,197,99,117,184,253,92,136,236,106,125,113,93,128,236,3,199,62,59,93,14,160,75,22,170,162,41,137,136,220, -79,94,123,7,118,69,118,70,251,19,27,15,109,26,220,60,180,63,182,190,111,199,240,150,222,29,195,187,162,125,137,94,37,161,226,69,131,20,4,130,32,20,166,0,64,144,124,196,234,18,121,111,153,163,140,24,246,70,226,197,183,133,155,188,157,158,18,71,139,167, -212,81,103,243,136,101,196,192,219,233,58,57,91,199,39,47,69,214,152,113,87,228,164,209,147,227,202,191,221,190,150,133,159,121,36,16,193,34,123,138,170,141,8,151,79,121,222,89,248,160,51,96,13,186,195,246,54,142,227,22,53,31,83,206,142,131,42,107,74, -108,80,58,56,124,48,182,131,8,130,181,68,24,172,233,221,54,188,234,224,166,129,13,228,247,59,134,14,196,162,120,117,33,8,10,0,4,201,10,44,78,17,136,177,175,40,170,115,183,21,143,241,141,35,6,127,188,191,202,213,78,60,251,26,171,67,244,208,117,111,234, -201,51,239,151,122,242,228,171,36,43,255,222,165,206,115,180,145,156,0,85,86,62,30,74,16,44,14,161,36,88,235,46,9,53,120,38,214,207,44,97,130,66,142,41,82,124,88,222,49,176,59,178,238,208,150,161,119,14,174,31,120,107,207,234,222,213,253,187,34,91,163, -125,137,56,94,133,8,130,2,0,65,210,14,241,226,93,129,42,87,115,89,87,96,2,49,246,83,194,77,158,241,174,176,189,145,24,123,47,13,185,39,13,125,242,149,136,224,18,119,106,202,32,121,252,20,250,98,63,72,254,159,227,192,98,115,137,245,37,173,254,250,178, -206,192,177,116,73,65,138,169,82,164,55,190,109,96,119,116,21,17,3,43,14,172,31,120,125,255,218,190,247,250,118,70,246,107,170,134,199,18,65,80,0,32,136,97,131,239,41,110,241,117,86,116,7,166,149,118,4,102,4,106,220,227,236,94,177,150,174,211,83,207, -158,101,185,163,177,79,175,46,24,17,6,170,66,4,193,136,191,79,69,129,51,96,109,116,19,241,85,57,33,120,50,21,15,241,65,233,16,17,0,171,247,173,233,123,109,247,202,158,151,247,174,233,127,171,127,231,240,238,195,165,147,8,130,160,0,64,144,79,197,225,179, -90,66,77,158,182,154,41,225,217,229,221,193,185,129,26,215,68,135,223,86,205,11,192,214,234,21,98,240,229,4,121,197,49,73,45,227,162,128,69,90,62,88,70,224,69,190,40,220,232,153,83,210,234,155,211,117,106,205,151,227,67,82,127,255,142,200,187,251,214, -246,189,176,107,101,239,243,68,24,188,213,179,117,168,23,143,30,130,160,0,64,16,98,52,56,8,84,187,43,171,38,21,205,168,28,87,180,176,180,195,63,195,85,100,107,33,30,62,71,13,62,245,240,165,40,122,247,57,33,10,84,141,136,51,162,12,70,42,8,120,129,247, -133,26,61,179,138,91,125,179,58,79,169,185,53,62,40,237,57,184,113,240,181,157,111,31,122,122,199,138,131,47,238,93,219,191,70,138,200,168,228,16,20,0,8,82,40,208,44,125,226,221,119,86,79,14,45,168,28,31,92,66,4,192,100,155,91,244,209,144,190,146,80, -208,195,207,87,65,32,242,101,101,93,129,147,43,198,7,79,158,116,126,163,210,191,43,178,234,192,250,254,167,55,191,180,239,137,237,111,28,92,49,124,48,62,132,71,13,65,1,128,32,121,6,241,234,173,229,93,129,201,213,147,195,75,171,38,135,150,248,43,156,99, -137,65,224,169,193,167,158,254,199,91,221,34,121,42,8,98,35,75,6,28,8,222,50,199,216,64,181,107,108,243,194,242,27,134,246,199,182,31,218,52,248,236,150,87,246,63,178,245,213,3,47,244,110,27,234,193,35,134,160,0,64,144,92,53,250,33,155,181,106,98,104, -74,195,156,210,19,43,186,3,199,186,66,246,54,218,181,134,54,153,145,98,133,93,138,135,106,0,88,62,7,125,81,236,94,75,117,245,148,208,133,181,211,139,47,140,13,36,246,237,93,211,247,252,150,151,247,255,105,235,43,251,159,233,221,62,124,16,15,24,130,2, -0,65,178,28,171,75,132,138,238,224,148,230,99,202,78,174,153,86,124,2,17,1,109,244,97,79,155,235,96,166,62,242,105,208,74,1,53,154,20,133,188,200,151,84,79,10,157,81,59,181,248,140,88,63,17,3,107,251,254,78,196,192,31,54,60,179,231,133,161,3,177,126, -60,90,8,10,0,4,201,18,232,112,153,146,86,127,203,152,37,21,167,212,78,15,159,234,43,119,78,160,195,102,104,184,55,49,92,200,70,95,251,88,215,192,145,185,1,159,82,21,199,29,233,39,252,65,99,97,238,99,191,47,136,163,166,106,32,29,22,3,22,34,6,38,134,206, -37,98,224,220,73,231,55,108,223,181,178,247,209,13,207,238,249,253,214,127,236,127,41,129,9,132,8,10,0,4,201,12,129,106,87,81,211,130,178,165,228,117,78,176,214,51,87,180,243,118,37,126,56,188,159,127,166,156,118,197,35,126,234,145,175,234,200,215,164, -81,255,192,170,243,28,207,70,240,114,35,95,217,48,31,78,36,63,23,152,6,160,163,71,121,78,132,15,154,10,115,108,59,10,237,221,203,141,180,243,213,228,15,189,39,253,170,30,249,154,28,240,155,220,238,225,247,161,191,232,164,63,238,200,215,252,16,14,76,12, -140,44,23,217,60,150,234,230,5,101,87,146,235,237,202,254,157,195,43,183,188,178,255,247,239,63,185,235,255,246,174,233,95,143,205,135,16,20,0,8,146,102,104,136,191,114,124,209,180,214,165,21,231,84,79,14,159,236,240,91,203,21,73,97,235,250,137,161,220, -117,200,14,27,87,149,189,20,106,222,143,24,117,129,23,153,1,183,10,54,176,11,14,242,114,130,83,116,147,151,7,156,150,145,175,228,247,118,209,69,94,78,246,231,54,242,119,173,188,29,44,188,13,68,242,239,69,222,194,182,65,223,135,126,165,191,255,240,84, -1,250,94,146,26,63,34,6,36,37,193,246,35,174,198,200,207,19,144,80,98,16,147,163,16,87,34,16,37,175,136,60,4,195,210,0,68,229,225,35,223,199,200,207,227,74,148,189,36,34,38,152,136,208,180,35,194,128,10,147,195,47,14,248,156,59,71,116,153,224,240,50, -146,167,196,209,61,238,140,186,238,174,147,107,110,221,255,126,255,51,235,158,220,245,155,141,207,237,125,98,232,64,108,24,239,82,4,5,0,130,152,136,159,120,251,205,243,203,78,110,59,190,234,34,127,149,115,58,53,42,82,156,24,168,33,41,183,12,61,53,240, -212,219,166,70,158,188,168,129,164,6,145,26,106,106,196,221,86,31,248,172,69,16,176,133,193,79,94,65,242,242,218,130,228,103,65,112,89,188,224,32,70,222,33,184,70,12,120,246,64,141,125,156,136,132,40,17,3,84,16,12,36,122,161,63,209,3,125,241,131,208, -27,219,15,189,228,43,253,126,80,234,35,127,62,200,4,133,60,50,45,136,70,38,4,242,226,217,139,203,137,200,193,225,4,66,178,187,142,146,86,255,241,229,93,129,227,39,95,212,180,113,203,203,251,126,191,246,137,93,191,221,245,78,207,90,140,10,32,40,0,16,68, -39,116,132,108,221,244,240,216,214,99,43,47,172,158,28,90,238,8,216,202,233,186,126,114,125,54,55,60,122,106,232,15,123,194,2,47,48,239,220,111,13,16,195,94,12,197,142,10,40,118,86,64,152,124,45,178,151,48,35,239,182,248,178,206,184,31,13,52,170,144, -140,74,184,161,232,83,143,137,10,195,210,32,19,1,135,162,251,224,96,108,15,236,143,238,130,253,145,157,228,251,189,76,48,68,165,33,34,12,164,145,72,133,192,162,31,84,24,112,89,42,10,180,145,4,83,57,14,96,115,139,141,29,39,85,223,66,68,234,151,246,172, -234,125,226,189,191,238,248,229,166,23,246,254,45,54,32,73,120,55,35,40,0,16,228,40,176,185,45,98,219,241,149,75,90,22,149,127,190,180,221,191,132,120,251,22,230,237,15,102,239,115,84,101,198,254,131,176,183,133,183,18,99,238,133,32,49,236,165,206,106, -40,119,213,66,133,187,142,25,123,191,173,136,9,129,130,19,116,192,51,129,67,95,101,206,154,143,252,25,53,250,3,82,47,28,136,238,134,189,195,219,97,247,240,86,216,51,188,13,14,196,118,195,64,188,7,98,106,116,68,68,37,151,67,4,58,102,49,203,68,1,91,34, -24,102,121,20,118,218,112,168,114,124,240,228,254,221,205,239,110,120,102,207,47,222,125,120,219,3,125,59,177,156,16,65,1,128,32,159,136,183,220,233,239,62,181,230,204,134,185,165,159,11,214,184,199,43,172,13,111,118,122,251,204,179,39,70,139,126,165, -30,170,203,226,33,94,124,13,51,242,53,238,102,168,242,52,66,137,163,146,133,239,185,2,203,162,215,245,32,226,45,44,42,66,95,45,254,177,71,126,78,151,19,168,40,216,53,180,25,182,15,109,128,29,67,155,96,127,100,23,12,38,122,89,110,2,93,62,17,88,126,67, -22,69,9,104,84,32,166,0,93,224,112,6,109,93,19,207,171,255,97,251,9,85,55,111,123,253,192,253,111,63,184,229,87,123,86,245,174,199,51,142,160,0,64,16,66,105,135,191,178,109,105,229,197,77,11,202,46,118,133,237,53,244,225,153,109,107,251,116,189,94,30, -49,248,52,169,206,107,13,66,153,171,6,106,61,45,80,231,109,133,74,119,3,11,227,179,76,123,196,52,232,146,66,141,167,153,189,166,195,18,246,51,154,95,176,39,178,13,182,13,188,15,91,6,214,18,81,176,17,122,98,7,88,18,98,182,9,2,85,86,201,181,172,130,96, -227,203,91,22,149,127,185,97,78,201,23,247,174,238,123,248,173,7,54,255,100,211,11,251,94,199,51,140,160,0,64,10,211,240,183,251,155,198,159,93,127,69,195,236,146,243,45,78,177,72,138,200,89,19,230,167,235,213,52,73,141,26,125,106,76,168,193,167,222, -125,189,183,13,26,253,29,196,224,55,178,53,123,100,244,241,90,3,236,117,56,82,64,171,14,246,68,182,195,150,254,181,176,190,111,37,108,31,92,15,61,241,253,144,80,226,236,220,209,232,66,166,133,153,54,178,60,192,113,224,170,24,23,60,159,188,206,221,249, -86,207,99,171,255,188,253,135,155,95,218,247,52,54,169,66,80,0,32,5,65,205,212,112,71,251,241,85,95,32,222,208,121,162,93,112,209,48,127,54,24,126,133,121,249,9,182,158,79,203,235,106,60,245,196,216,119,194,24,255,56,168,246,52,129,223,22,194,147,151, -133,216,4,7,139,196,208,215,188,202,147,32,38,71,96,231,240,38,34,6,222,133,245,189,239,176,101,131,129,68,15,75,44,20,57,11,203,35,200,84,116,128,38,13,178,101,45,14,120,34,2,78,168,158,20,58,225,208,230,193,103,222,249,195,214,123,214,60,182,243,81, -9,133,0,50,138,112,154,150,153,82,149,68,34,1,45,45,45,176,117,235,86,60,11,5,66,195,220,210,174,241,103,213,93,91,49,54,120,54,199,113,54,250,32,204,212,245,119,24,234,225,203,154,196,18,212,168,129,175,243,142,129,214,224,4,104,246,119,67,185,179,134, -53,185,65,114,27,90,126,184,169,255,61,88,211,243,79,216,208,255,46,171,60,160,125,14,104,100,128,190,50,189,84,32,88,121,16,201,235,208,166,161,23,222,249,195,150,239,172,121,124,23,10,129,2,226,231,63,255,57,124,238,115,159,195,8,0,146,159,148,119, -7,219,102,92,209,114,35,241,120,206,38,191,181,102,58,177,143,26,125,154,64,70,215,242,195,142,114,102,236,59,138,166,64,163,175,147,133,150,145,252,130,10,187,9,197,115,216,139,246,31,216,54,180,1,222,59,180,130,9,130,93,195,91,88,51,35,26,21,160,149, -27,153,16,3,180,137,21,125,249,170,156,115,22,220,220,57,167,251,244,186,231,87,254,97,235,119,215,62,182,243,81,92,26,64,48,2,128,228,36,165,29,254,134,241,103,213,95,223,48,187,228,2,226,229,56,89,75,213,12,57,252,180,60,143,173,9,147,7,61,205,206, -111,13,142,135,238,208,116,104,240,117,20,100,73,30,146,204,243,216,49,184,9,222,235,89,1,239,30,122,141,124,191,145,137,129,100,231,68,107,198,34,3,201,136,128,0,135,182,12,254,253,173,223,109,254,214,170,63,109,127,6,207,22,70,0,48,2,128,228,4,197, -99,124,165,147,206,111,184,174,126,86,201,101,162,93,240,81,143,63,19,94,63,205,220,79,168,113,22,222,15,59,202,160,189,104,50,51,250,77,196,211,167,235,198,72,129,123,63,228,186,160,185,29,244,181,180,230,28,216,57,180,9,222,57,248,50,188,123,240,53, -246,125,76,137,177,168,192,104,55,102,58,28,17,240,87,56,23,30,243,149,174,133,99,22,87,252,133,8,129,187,54,189,136,85,3,8,10,0,36,75,241,150,59,61,99,151,215,94,209,177,172,234,58,187,215,82,154,136,140,254,52,62,154,232,37,17,79,159,38,244,209,208, -239,184,192,108,152,88,60,7,90,2,227,88,73,25,130,124,26,180,148,147,190,142,171,61,15,54,247,175,133,183,15,190,68,196,192,171,176,55,178,157,37,134,90,121,219,168,86,19,200,68,4,16,5,11,21,227,130,203,42,199,23,29,183,253,141,131,247,255,227,255,173, -251,230,222,213,125,216,71,0,49,71,4,227,18,0,98,20,155,91,228,186,79,171,61,103,252,57,245,95,117,6,108,99,18,81,153,149,61,141,38,178,38,51,195,111,23,29,172,84,111,66,241,92,230,237,211,158,250,8,162,23,90,98,248,126,239,219,176,98,255,179,176,166, -231,77,232,143,31,202,204,18,1,121,43,139,93,160,145,129,193,141,47,236,253,241,171,63,93,255,253,190,157,195,7,240,12,229,62,184,4,128,228,166,122,228,57,104,154,95,58,119,218,101,45,183,23,213,185,231,176,114,190,81,108,224,115,216,219,167,195,117, -104,95,253,113,225,153,48,169,100,1,43,7,67,16,83,196,173,224,128,46,34,36,233,235,80,108,31,91,34,88,177,239,89,216,54,248,62,200,138,196,38,52,142,74,84,96,164,124,144,220,115,158,49,139,43,190,82,51,37,124,206,170,63,109,187,235,141,223,108,250,69, -98,88,198,76,65,4,35,0,200,232,81,214,17,168,159,126,69,203,127,84,79,14,93,192,38,163,37,70,111,20,47,13,239,211,108,110,155,96,103,117,250,211,75,23,179,7,52,134,248,145,209,17,158,42,235,49,240,234,158,167,88,242,96,50,42,96,97,249,2,163,5,47,112, -32,58,4,232,219,54,252,218,235,247,109,188,109,237,99,59,254,166,225,240,65,140,0,96,4,0,73,39,142,128,213,49,229,162,166,171,59,78,170,190,73,180,241,193,209,92,227,167,165,123,180,132,143,134,245,103,150,45,133,105,101,139,89,184,31,65,70,213,107,2, -158,117,33,164,47,26,21,120,99,223,179,240,218,190,191,179,121,5,244,79,105,84,32,221,203,3,108,240,208,144,12,158,50,199,212,197,183,117,63,53,102,113,249,111,95,253,217,250,219,247,172,238,221,132,103,8,65,1,128,152,251,208,35,207,179,182,227,171,142, -157,114,73,211,157,254,42,215,56,106,248,71,35,179,255,112,152,159,122,93,229,174,122,152,78,140,254,228,146,5,184,182,143,100,5,116,254,195,146,154,179,96,126,213,41,176,234,224,171,240,210,158,199,224,253,222,149,68,172,198,193,202,219,217,108,130, -116,114,184,98,160,102,74,248,220,242,238,224,177,171,254,180,237,155,43,126,181,241,135,209,254,68,28,207,14,130,2,0,49,76,121,87,160,102,234,231,155,255,139,60,100,206,163,15,155,209,104,219,75,13,63,13,243,211,245,213,38,127,23,204,174,56,1,198,133, -102,18,239,202,158,215,199,90,147,162,160,197,7,65,27,62,8,234,240,33,80,135,246,147,239,15,145,159,13,177,68,48,206,230,1,222,83,10,66,184,9,132,162,6,0,193,146,241,125,86,135,183,129,58,176,46,249,53,222,75,63,4,112,130,131,236,107,17,112,116,64,146, -189,152,124,31,6,206,234,7,206,226,205,203,243,70,43,4,104,226,41,125,109,236,95,5,47,238,250,43,188,115,240,21,24,150,6,216,53,43,164,57,79,128,54,12,226,120,46,56,225,156,134,187,27,102,151,158,241,218,47,215,223,180,230,177,157,207,2,46,11,32,40,0, -16,61,216,189,22,24,127,78,253,149,19,206,174,191,77,176,9,197,163,17,238,215,52,34,48,212,24,123,160,142,13,207,132,121,21,203,160,45,56,41,255,12,61,49,242,42,49,242,218,192,94,80,250,119,18,3,186,135,188,246,130,22,33,198,62,54,64,108,104,12,52,37, -145,108,30,127,56,4,147,60,64,201,223,138,86,224,125,149,96,169,39,162,168,101,49,112,206,81,238,96,72,206,147,188,239,89,144,118,61,6,10,49,254,154,52,4,201,46,79,28,251,239,200,126,211,96,56,79,30,51,196,8,82,227,207,89,131,192,59,136,40,112,84,0,231, -170,6,222,89,65,4,66,25,17,8,116,255,243,163,237,50,237,40,73,95,123,134,183,194,139,187,31,101,73,131,180,29,49,93,26,16,56,49,141,167,68,99,73,184,238,98,251,132,37,183,143,125,166,101,81,197,207,94,188,103,205,109,135,54,15,238,195,167,25,242,73,96, -18,32,242,137,212,207,44,233,158,117,117,235,119,138,26,60,199,80,195,79,31,46,105,245,34,137,65,97,137,125,162,131,101,243,207,175,56,25,234,125,237,249,97,236,35,61,160,246,239,2,165,119,27,40,61,196,75,238,219,65,60,251,3,196,208,247,3,80,67,79,62, -59,179,155,212,75,228,5,90,94,49,98,240,185,127,27,35,1,69,102,34,129,247,148,128,109,220,153,96,29,179,100,84,62,143,210,255,30,36,214,255,63,80,250,86,38,141,54,77,126,251,183,161,110,109,68,16,168,116,44,30,19,15,236,51,83,113,32,88,147,194,192,22, -38,98,160,18,120,119,29,8,238,6,224,220,181,192,211,101,30,222,146,243,231,159,230,9,188,188,231,49,120,101,207,147,112,48,186,55,237,66,224,72,84,194,41,66,180,47,177,253,205,255,221,124,243,91,15,108,126,96,52,19,117,145,163,39,147,73,128,40,0,144, -143,123,253,214,233,151,183,220,216,121,114,205,45,228,183,78,57,158,222,117,126,106,8,98,74,148,77,223,155,24,158,11,243,42,79,102,157,217,114,214,216,75,81,98,236,119,131,122,104,19,40,7,55,18,131,191,37,233,217,83,175,94,145,62,102,232,133,15,60,123, -67,22,89,34,54,85,2,107,203,66,112,76,191,18,64,180,165,237,243,73,59,31,129,248,250,255,38,239,25,37,94,189,25,221,20,53,38,8,168,48,208,52,153,9,5,118,124,200,245,192,219,138,153,32,224,189,77,32,120,90,200,247,181,44,130,144,171,208,137,132,47,239, -126,156,69,5,14,68,119,131,133,8,1,49,205,66,128,86,11,88,93,34,236,124,187,231,15,47,222,179,230,166,61,171,122,241,129,139,2,0,5,0,242,137,94,255,100,226,245,255,128,120,253,83,105,134,113,58,175,13,186,198,31,87,34,96,23,92,48,169,120,30,44,168,58, -149,117,97,203,57,131,31,31,2,149,122,246,251,215,129,188,255,125,80,123,182,38,67,251,114,44,121,131,209,7,188,48,226,213,167,53,51,92,99,251,98,169,159,5,206,121,55,166,69,4,72,219,30,76,26,127,230,241,167,217,131,61,34,10,164,164,40,160,83,251,172, -1,224,93,213,32,120,199,0,239,239,32,162,160,25,56,123,113,206,93,51,131,137,62,120,137,136,128,164,16,216,53,146,35,144,222,227,105,113,8,32,199,213,253,111,254,118,211,87,87,220,183,241,23,180,116,23,65,1,128,2,0,1,187,207,98,153,126,89,203,87,70,188, -126,91,58,189,254,164,225,143,178,53,254,241,197,179,97,97,213,114,168,201,165,198,61,74,130,133,241,149,189,239,129,188,119,53,40,135,182,36,215,237,229,4,51,242,156,32,154,231,217,235,20,36,214,214,165,224,152,125,141,169,219,149,247,62,3,177,85,119, -16,227,111,251,140,112,127,250,174,28,38,10,84,137,232,1,133,69,9,104,82,33,239,170,1,193,215,14,66,112,44,240,222,22,224,44,254,220,17,2,82,31,60,191,243,47,68,8,60,2,61,177,253,172,233,80,58,155,10,113,52,26,224,20,97,247,59,61,15,191,112,207,154,27, -48,26,128,2,0,5,64,129,83,55,163,120,236,236,107,218,126,72,188,254,89,233,246,250,233,26,63,71,140,71,87,104,42,44,169,57,27,26,188,185,177,198,175,13,29,0,121,223,26,144,119,175,4,101,223,58,80,7,247,178,36,189,35,6,159,134,243,51,60,83,254,35,18,43, -17,1,231,220,47,129,165,121,161,41,91,84,163,187,33,186,226,242,100,162,95,54,173,201,211,124,2,85,102,75,7,52,209,144,179,133,88,84,64,8,78,0,33,48,150,45,25,192,40,246,238,215,75,111,252,0,60,179,227,97,120,121,207,227,44,58,64,219,89,115,105,76,136, -28,137,6,236,253,231,253,155,110,124,237,222,245,191,197,167,96,225,10,0,172,2,40,80,68,27,15,51,174,28,115,245,184,51,234,190,78,108,190,59,157,165,125,180,129,15,29,199,75,27,167,44,37,134,191,163,104,74,182,155,124,22,202,151,119,173,36,175,183,217, -90,190,26,237,99,63,167,161,104,160,198,198,154,173,35,132,147,137,117,177,55,127,7,98,245,100,224,236,62,227,194,109,211,175,64,139,31,34,23,77,150,117,90,164,198,93,16,200,39,78,46,119,104,137,94,144,15,188,12,210,254,23,129,19,93,44,58,32,6,199,129, -16,154,2,130,183,213,164,156,5,243,161,61,45,78,107,188,28,102,149,31,7,79,110,127,16,86,236,125,26,98,106,20,236,172,228,213,124,97,73,251,119,240,2,87,58,253,242,150,251,203,58,252,139,94,184,103,205,245,61,91,134,112,174,64,33,218,1,60,4,133,71,73, -171,175,122,254,151,59,127,76,110,254,19,232,196,190,116,101,248,83,163,159,80,226,80,233,174,103,134,127,74,233,49,105,245,108,140,217,124,149,24,250,13,32,239,124,27,228,29,255,4,133,8,0,234,73,3,207,143,100,170,231,208,248,96,193,194,202,10,19,239, -255,13,108,221,203,141,121,255,131,27,65,38,6,21,68,103,246,127,110,150,111,33,142,152,76,34,226,6,55,64,188,127,13,112,219,126,207,202,13,133,192,56,16,195,211,129,247,119,146,191,154,125,109,163,75,156,85,112,193,152,27,153,16,120,108,235,253,176,234, -224,107,108,41,137,46,151,153,13,237,36,72,69,127,237,180,226,243,74,59,2,211,94,250,193,154,47,174,126,100,199,83,248,116,68,1,128,228,49,227,207,170,63,101,202,165,77,63,178,185,197,242,248,80,122,234,250,233,58,127,76,142,128,223,86,4,39,212,93,0, -243,43,79,33,222,76,118,26,16,229,208,38,144,183,173,32,70,255,13,150,177,79,67,251,28,109,174,195,146,206,156,57,123,158,105,159,0,105,211,11,96,235,56,201,80,179,32,105,207,83,160,201,195,89,105,48,63,43,18,66,147,21,57,214,159,159,136,129,200,110, -80,134,182,178,42,6,206,81,14,98,209,4,16,139,103,131,64,196,64,182,69,6,104,123,235,171,186,238,130,183,15,188,4,143,18,33,176,117,96,93,218,74,7,105,3,33,209,198,55,46,188,181,235,137,170,201,161,187,158,251,246,123,183,199,250,19,18,32,40,0,144,252, -193,225,183,218,231,223,216,241,141,150,197,21,215,73,177,244,181,241,165,235,252,2,47,194,236,242,227,225,184,186,243,32,100,47,203,186,99,65,203,242,228,109,175,129,180,237,85,22,222,167,158,254,7,70,223,149,31,39,156,70,1,250,118,50,81,35,132,155, -117,30,40,137,252,251,55,71,140,104,46,195,37,207,237,72,254,130,22,223,15,137,29,127,6,105,215,163,192,19,175,91,12,77,5,161,120,14,17,3,237,144,61,185,28,0,227,194,179,160,189,104,50,188,176,235,47,240,212,246,135,160,55,118,0,236,162,211,244,57,3, -170,76,187,110,42,92,235,146,202,91,194,77,222,25,79,127,227,221,203,118,175,236,125,31,159,154,40,0,144,60,160,118,122,113,251,220,47,181,221,27,172,245,76,75,215,184,222,195,225,254,102,127,55,156,84,127,49,180,4,198,101,213,49,208,18,195,32,239,124, -139,121,197,52,131,95,141,246,19,131,64,215,144,173,249,99,244,63,102,244,104,101,130,114,96,131,110,1,160,198,246,146,227,180,55,253,37,127,163,31,30,33,255,137,35,145,129,93,16,223,250,0,112,59,254,200,18,8,197,146,57,44,50,64,163,4,217,0,13,255,47, -172,58,29,198,135,231,192,163,91,255,7,94,221,251,20,168,170,98,126,75,108,13,88,23,193,64,181,123,206,169,255,61,245,229,21,247,109,188,122,197,125,27,30,208,176,90,16,5,0,146,187,76,185,164,233,28,242,250,33,199,113,193,116,24,255,195,225,254,160,189, -24,150,54,158,13,115,42,78,28,149,46,103,71,45,76,136,135,79,141,190,188,245,53,80,6,118,143,60,255,109,57,29,222,79,197,241,165,29,8,117,159,219,216,62,114,0,35,201,210,191,124,61,64,71,34,3,26,185,62,214,130,220,183,10,248,45,191,101,149,4,98,217,98, -16,139,38,101,69,229,3,29,58,68,243,3,166,148,44,128,63,111,254,37,108,32,251,153,142,101,1,90,2,204,9,92,104,198,149,99,126,87,60,198,55,245,239,119,190,123,83,12,7,11,161,0,64,114,11,135,223,106,157,119,99,199,183,90,22,149,95,43,199,20,80,20,243,165, -60,157,120,70,153,89,126,44,156,88,119,17,123,72,101,133,183,47,69,147,33,254,13,207,129,76,188,125,250,123,186,38,158,83,137,124,102,69,1,232,16,33,221,81,147,129,100,169,93,129,28,43,42,116,56,242,210,148,56,155,115,32,239,123,30,120,119,61,136,165, -11,192,82,58,63,43,162,2,99,2,227,225,134,241,157,240,236,142,63,194,147,219,126,7,3,82,31,216,89,14,131,121,203,2,218,72,130,96,227,220,210,171,3,213,174,113,79,127,99,213,37,187,87,246,108,192,167,42,10,0,36,7,168,24,27,172,59,230,150,174,95,21,213, -187,231,198,233,0,31,147,147,252,105,223,126,218,197,175,202,211,4,167,212,127,14,186,66,211,178,226,115,171,196,195,151,54,60,11,210,230,151,64,233,219,201,50,168,57,161,64,188,253,127,19,163,49,160,164,14,143,247,41,48,221,196,3,140,36,173,170,195, -91,33,190,225,167,32,109,123,8,132,240,116,176,16,177,43,4,186,51,251,208,230,44,176,168,250,12,232,14,205,128,63,110,190,23,222,218,255,2,139,4,136,38,71,42,232,12,144,64,141,123,214,41,63,156,242,210,63,254,223,186,207,191,253,224,150,71,240,233,138, -2,0,201,98,58,150,85,47,154,115,93,219,175,68,187,80,145,142,44,127,154,228,39,242,86,88,90,123,46,28,87,115,46,56,196,204,175,159,43,251,214,66,98,221,147,32,109,127,29,52,186,182,95,144,222,126,154,188,226,66,103,164,146,64,83,162,32,239,122,28,228, -189,127,7,193,223,5,150,138,227,64,12,207,98,83,14,51,69,137,179,18,174,232,184,3,94,223,251,52,252,105,243,47,216,124,1,179,147,4,105,244,144,23,185,146,185,215,183,255,185,168,222,243,181,231,190,189,250,235,216,70,24,5,0,146,109,207,41,145,135,89, -95,28,115,237,248,115,234,239,150,227,138,133,222,184,230,123,253,81,168,247,181,193,233,141,87,66,19,121,8,102,214,177,85,65,222,190,2,18,107,159,0,121,247,187,44,108,203,137,246,60,77,232,67,50,175,133,132,145,94,8,26,40,61,111,131,220,243,38,155,90, -200,132,64,233,66,214,150,56,83,208,254,26,99,130,227,224,143,155,238,101,73,130,60,249,37,154,88,185,65,171,4,36,69,230,186,78,173,185,51,80,227,234,122,234,246,149,151,13,236,137,244,225,69,129,2,0,201,2,188,101,14,251,130,155,59,127,84,63,171,228, -82,186,118,103,118,55,223,195,94,63,173,233,63,150,120,254,214,76,38,133,201,9,144,182,188,76,12,255,227,108,0,15,11,81,211,48,191,197,137,23,2,50,58,81,17,226,245,83,31,91,29,222,6,241,117,63,128,196,182,63,128,165,124,9,17,3,199,103,108,56,145,207, -90,4,23,181,222,12,93,69,83,225,255,54,253,12,246,71,118,153,26,13,160,207,20,250,108,169,28,95,116,250,242,159,78,107,122,250,27,239,158,187,237,245,3,107,240,122,64,1,128,100,144,146,86,95,213,226,219,198,222,31,106,242,206,137,13,152,155,229,175,129, -10,81,57,2,245,222,86,56,189,233,139,208,156,65,175,159,38,242,73,27,95,32,134,255,49,80,14,109,102,51,5,64,180,99,144,26,201,28,212,203,166,203,3,137,67,16,223,244,75,144,118,253,21,68,226,141,91,171,78,206,88,194,224,132,226,185,208,232,239,132,255, -219,248,51,120,109,239,223,76,207,13,160,121,1,238,98,251,184,19,190,61,241,185,127,252,100,221,69,111,63,184,229,113,188,16,80,0,32,25,128,120,252,83,150,220,49,246,119,86,167,88,111,118,47,127,218,191,159,178,184,250,76,88,86,127,81,230,58,249,73,49, -72,108,120,6,18,107,30,99,237,121,233,240,29,92,223,71,178,43,40,32,178,78,137,154,52,8,137,173,191,3,121,207,83,172,132,48,83,66,128,70,3,46,105,187,5,218,130,19,225,225,77,63,131,190,248,65,83,239,95,90,42,200,139,92,241,156,235,218,30,241,150,57,174, -123,233,135,107,127,68,91,11,35,40,0,144,209,82,250,231,212,47,159,117,85,235,47,21,89,243,72,38,175,247,71,229,97,150,96,116,102,243,85,208,85,148,161,12,127,69,34,30,255,243,16,95,253,103,80,15,109,97,157,237,10,59,155,31,201,126,33,32,36,133,128,28, -25,17,2,79,130,165,108,41,88,170,79,203,200,210,192,180,210,69,208,232,235,128,7,214,255,16,86,30,124,5,108,130,221,180,113,195,52,47,64,83,20,97,210,249,141,63,116,6,109,245,207,222,189,250,122,226,132,96,118,32,10,0,36,189,207,24,14,230,94,215,126, -67,247,242,154,111,43,9,21,204,84,222,138,166,176,218,254,201,37,11,136,241,255,34,243,36,70,29,77,3,105,243,139,16,95,245,39,80,14,172,103,99,94,1,13,63,146,147,66,32,202,132,128,180,247,239,96,169,60,145,188,78,30,245,100,193,176,163,28,174,234,190, -11,158,218,246,32,252,117,235,111,32,65,238,111,179,114,120,104,94,64,180,63,1,173,75,43,175,13,84,187,106,30,185,225,159,23,13,29,136,245,227,5,128,2,0,73,3,118,175,133,159,127,83,231,247,91,143,171,184,58,62,64,231,160,155,103,252,227,74,140,205,33, -95,222,120,57,27,222,147,9,104,171,222,248,59,191,39,158,211,106,182,198,143,137,125,72,174,11,1,16,93,160,73,3,144,216,248,11,144,118,63,9,214,154,211,193,82,126,220,168,150,15,210,68,192,37,53,103,65,131,191,29,254,247,253,123,96,251,224,6,112,178, -242,93,115,50,104,104,135,209,226,86,255,201,167,253,116,90,249,223,239,92,121,250,174,183,123,182,227,201,207,13,120,60,4,185,129,59,108,119,157,242,227,169,15,142,89,90,113,117,172,95,50,209,248,107,16,149,135,160,202,211,0,95,26,251,221,140,24,127, -58,145,47,242,204,93,16,121,234,14,144,247,18,227,111,33,15,71,209,138,39,29,201,19,33,64,252,44,26,17,136,29,128,216,218,239,67,228,141,47,176,78,131,163,77,147,175,11,110,28,119,15,235,220,25,83,34,44,226,103,22,82,68,6,127,165,115,202,9,119,79,124, -174,122,82,104,44,158,116,20,0,136,73,132,155,188,37,203,190,63,249,177,146,86,223,114,51,147,253,84,242,0,136,42,81,242,64,56,14,110,32,15,134,58,111,235,168,126,46,45,210,3,177,87,127,14,195,127,253,50,72,155,95,78,206,114,23,237,120,194,145,60,125, -218,90,200,245,237,2,117,104,19,196,222,189,29,162,111,221,0,74,223,234,81,221,5,151,197,11,23,183,126,5,206,105,254,18,155,218,153,80,205,107,243,79,39,140,210,132,228,147,238,153,252,247,238,229,181,199,224,9,207,126,112,9,32,203,169,28,23,108,56,225, -219,19,255,100,243,88,58,105,9,142,105,55,43,185,241,45,188,141,60,8,174,37,94,255,201,163,251,161,84,5,18,235,158,128,248,202,135,65,29,220,203,178,250,49,179,31,41,28,33,144,92,131,87,14,173,128,104,239,59,96,169,88,10,214,186,243,129,179,133,71,109, -23,230,85,158,4,213,158,70,248,205,186,239,192,174,161,205,166,117,244,164,93,2,121,145,11,205,187,161,227,17,14,224,194,119,254,176,245,247,120,194,49,2,128,232,160,98,92,81,55,49,254,127,183,186,44,157,84,93,155,5,205,242,15,59,42,224,154,238,111,141, -186,241,151,119,175,132,225,71,111,134,232,203,63,1,45,218,155,236,220,199,225,101,136,20,32,35,67,124,18,219,255,4,145,215,47,7,105,251,195,163,58,124,169,193,215,1,55,142,191,7,38,22,207,101,203,128,180,239,135,41,250,94,214,64,73,40,142,57,215,183, -63,48,235,170,214,203,56,108,214,129,17,0,36,53,58,150,85,205,156,117,117,219,195,22,135,80,76,235,110,205,64,99,235,253,195,48,54,60,19,206,111,185,30,252,182,208,168,125,30,109,248,16,196,222,126,0,164,245,79,211,39,4,150,244,33,8,133,38,187,178,68, -193,62,136,173,251,62,155,64,104,109,188,116,212,6,14,121,44,126,184,162,243,14,248,235,150,122,120,116,235,253,192,17,107,77,135,13,25,22,1,10,121,218,104,42,63,229,226,166,159,218,125,22,223,223,191,254,238,221,128,173,2,80,0,32,159,77,247,242,218, -197,243,111,236,120,72,145,84,31,45,245,51,3,154,240,35,171,9,88,90,115,54,156,210,240,121,16,76,170,7,62,26,18,239,255,13,226,111,61,48,18,238,39,134,95,196,203,14,65,62,42,4,104,254,139,8,74,223,187,16,125,235,122,176,84,46,3,107,253,249,228,126,241, -141,198,155,195,9,117,23,66,185,187,22,126,75,68,200,176,52,0,86,19,170,20,52,85,99,101,130,93,167,212,124,139,24,127,239,211,223,120,247,86,13,69,0,10,0,228,223,26,255,147,231,221,208,254,91,41,174,56,53,83,106,252,57,144,212,88,114,189,127,204,141, -44,225,111,180,80,123,183,65,108,197,175,217,148,62,78,176,226,160,30,4,249,44,168,225,213,84,72,108,123,16,148,131,175,129,181,241,115,32,150,204,29,149,183,158,16,158,203,150,6,127,181,230,27,176,99,112,147,105,121,1,180,69,121,215,169,53,95,37,143, -34,247,211,223,88,117,45,21,6,72,118,128,139,175,217,101,252,151,207,163,158,127,66,53,201,248,211,250,254,8,4,108,197,112,117,247,55,71,207,248,107,10,36,86,253,41,153,221,191,125,69,210,235,231,81,107,34,200,209,105,118,158,53,18,82,163,187,33,246, -238,109,16,91,125,39,104,241,3,163,242,214,213,238,38,248,210,216,239,65,119,104,58,68,88,94,128,57,207,161,216,160,68,71,149,95,115,242,15,38,255,212,25,176,98,86,0,10,0,228,99,198,255,2,98,252,31,160,163,124,205,234,238,71,215,251,233,248,222,235,199, -125,15,154,253,163,179,166,72,7,245,12,63,126,43,68,95,189,23,52,57,142,217,253,8,162,251,233,108,5,16,108,172,129,80,100,197,149,32,239,125,122,84,222,214,107,13,192,23,186,238,132,133,85,203,217,8,112,58,10,220,184,83,144,28,36,84,55,189,248,178,19, -191,59,233,94,103,192,134,34,0,5,0,242,33,227,255,43,37,174,8,102,120,254,84,181,83,245,62,177,100,46,92,219,125,55,107,7,58,10,110,63,107,223,27,121,236,43,32,239,94,149,76,242,227,5,60,185,8,98,44,28,144,76,18,140,31,130,216,170,255,76,70,3,18,135, -210,254,174,116,138,224,89,205,87,195,233,141,87,178,126,33,138,102,78,9,50,141,4,148,119,5,47,57,241,187,19,239,117,96,36,0,5,0,26,127,98,252,111,104,167,198,159,55,195,243,167,106,61,70,84,251,162,234,51,224,178,246,219,193,33,186,211,254,25,212,254, -221,16,121,242,118,214,212,71,147,19,201,78,126,8,130,152,248,164,182,176,252,128,100,52,224,11,32,31,120,105,84,222,150,62,71,46,109,191,21,44,188,245,200,132,80,163,208,214,193,101,157,129,75,150,125,119,18,21,1,120,110,81,0,20,184,231,159,80,77,49, -254,84,165,203,154,68,84,251,21,112,102,211,23,129,31,133,250,122,105,195,51,48,252,232,77,32,237,248,103,50,201,15,189,126,4,73,111,52,32,182,15,98,43,191,6,241,247,127,72,110,250,104,218,223,149,246,9,248,98,215,93,224,179,6,217,146,128,25,208,229, -128,178,46,38,2,126,225,12,226,114,0,10,128,194,51,254,203,169,231,47,155,228,249,203,170,68,78,38,15,23,181,222,12,139,171,207,76,251,254,107,241,65,136,190,120,15,68,158,255,30,249,126,8,215,250,17,100,212,158,218,86,246,74,108,123,8,34,255,188,26, -148,129,117,105,127,203,102,127,23,92,59,246,219,80,238,170,101,115,4,76,17,1,67,50,148,19,17,112,252,55,39,220,43,88,208,20,161,0,40,28,227,127,242,188,27,58,126,75,61,127,227,107,254,28,107,235,107,23,157,112,69,231,127,178,25,224,233,70,217,183,134, -117,243,75,172,123,42,25,238,199,12,127,4,201,64,52,192,13,234,192,122,136,190,121,45,72,59,254,152,246,119,164,198,255,186,177,223,129,38,95,39,75,48,54,131,56,17,1,21,227,139,46,153,255,229,142,31,112,216,50,16,5,64,1,24,255,197,243,110,236,248,173, -156,80,172,170,9,198,159,134,228,104,104,142,206,252,238,40,154,146,246,253,79,172,250,51,12,63,241,31,160,246,110,31,169,235,199,155,22,65,50,6,237,27,160,202,16,91,251,61,150,36,168,73,253,105,125,59,218,61,244,170,238,111,30,41,19,52,39,18,32,209, -102,65,87,31,115,75,231,93,40,2,80,0,228,45,237,39,84,205,156,127,83,199,239,21,83,154,252,112,172,198,191,216,81,1,87,119,223,13,13,222,246,180,238,187,22,27,128,232,179,223,134,232,171,63,79,246,43,23,109,120,66,17,36,43,130,1,2,203,13,144,246,60,5, -81,186,36,208,255,94,90,223,206,41,186,225,242,142,59,96,106,233,66,211,68,192,72,179,160,155,137,8,248,42,138,0,20,0,121,71,197,184,96,215,156,107,219,30,86,18,170,215,140,53,255,152,50,12,149,238,6,184,102,236,183,200,215,250,180,238,187,114,96,61, -12,63,118,11,36,54,62,155,44,239,227,48,209,15,65,178,78,7,208,37,129,161,109,172,149,176,180,243,47,105,125,47,171,96,131,75,218,110,129,185,21,39,154,214,48,136,150,8,118,157,82,115,231,130,175,116,94,133,103,19,5,64,62,25,255,134,19,191,61,241,17, -209,33,20,211,113,153,198,141,127,4,234,188,99,88,119,63,26,1,72,39,52,203,63,242,196,215,88,91,95,108,229,139,32,89,14,49,204,160,74,16,95,251,29,136,175,251,46,251,62,109,111,197,137,112,222,152,27,96,81,245,233,16,147,35,198,69,0,249,231,177,33,22, -9,248,225,184,51,235,206,193,147,137,2,32,231,41,170,247,20,19,227,255,103,171,75,172,49,99,176,15,77,190,105,244,117,16,227,255,45,8,164,121,126,120,124,229,31,32,242,194,247,89,71,63,12,249,35,72,206,132,2,216,168,225,196,246,135,33,186,242,86,114, -255,14,167,239,173,200,175,51,155,174,98,149,71,102,137,0,90,34,56,231,186,182,95,117,47,175,93,130,39,19,5,64,206,226,14,219,93,75,254,115,220,255,217,60,150,14,57,110,134,231,63,12,77,254,78,248,66,231,215,217,24,207,116,146,120,239,175,16,123,253, -62,54,196,7,179,252,17,36,231,84,0,209,1,30,144,247,191,4,177,213,95,39,134,85,78,235,187,157,222,116,37,156,88,119,33,139,78,26,21,1,116,88,16,113,150,172,243,110,236,120,176,110,102,241,100,60,151,40,0,114,14,98,244,249,101,223,155,244,235,226,22,239, -44,41,170,24,247,252,21,234,249,19,227,223,69,140,191,53,189,198,95,217,179,138,24,255,95,2,103,177,177,193,36,8,130,228,168,12,176,16,17,176,239,121,72,108,186,47,237,239,181,172,254,98,56,177,246,66,83,34,1,52,79,138,142,67,95,124,219,216,135,43,198, -21,213,227,153,68,1,144,51,208,166,22,243,191,220,241,253,146,54,255,105,52,156,101,134,241,111,58,108,252,211,236,249,131,28,135,232,107,247,210,59,16,147,253,16,36,31,68,128,232,74,142,23,78,115,117,192,17,17,80,119,33,43,79,54,44,2,36,21,236,30,75, -229,177,119,142,251,163,167,196,17,196,51,137,2,32,39,152,117,77,235,245,237,199,85,93,29,31,52,158,128,67,67,106,204,248,119,222,153,126,227,79,72,108,120,22,148,3,27,112,205,31,65,242,70,1,144,199,188,154,128,196,230,251,71,229,237,168,8,88,82,115, -22,203,87,50,42,2,164,152,2,174,144,173,251,196,239,76,124,192,21,182,227,224,0,20,0,217,205,248,179,235,79,27,123,90,237,183,105,93,171,193,187,246,72,182,63,29,205,233,177,6,210,191,243,196,235,151,222,255,27,113,252,45,120,34,17,36,159,16,236,160, -244,188,9,234,224,134,81,121,187,211,26,46,135,37,35,137,129,96,84,4,68,21,40,105,243,47,90,116,107,215,127,243,34,246,8,64,1,144,165,212,205,40,158,52,251,154,214,251,20,73,229,52,205,200,69,159,108,242,83,229,110,128,43,153,231,31,24,149,253,87,122, -54,147,215,86,186,134,129,39,19,65,242,236,81,175,145,103,138,124,224,31,163,246,142,167,55,125,1,230,86,158,4,17,19,170,16,104,52,181,110,102,201,165,243,111,234,188,25,207,37,10,128,172,35,220,226,173,88,250,95,227,126,175,72,154,219,104,163,159,184, -26,133,98,103,37,49,254,255,149,246,82,191,143,8,128,125,235,146,37,127,216,222,23,65,242,14,142,19,65,233,95,51,170,239,121,110,203,117,48,163,108,137,41,29,3,105,203,224,142,147,170,239,162,81,86,60,155,40,0,178,6,79,137,195,190,244,142,113,15,88,157, -98,173,42,27,43,247,163,131,125,252,214,16,92,217,241,95,16,78,115,147,159,127,17,0,125,59,209,246,35,72,222,42,0,1,180,232,94,114,163,199,71,239,45,201,175,11,198,220,4,227,195,179,13,15,16,162,65,85,37,174,192,172,171,90,127,89,59,45,60,14,79,40,10, -128,140,35,218,4,56,230,150,206,31,135,154,188,179,104,194,138,17,232,72,95,135,232,130,43,58,238,128,10,119,221,168,127,22,45,62,128,222,63,130,228,111,8,0,52,37,6,154,26,31,213,183,21,121,11,92,218,254,85,24,19,24,103,120,148,48,141,174,106,170,230, -93,124,251,216,223,251,43,93,97,60,169,40,0,50,202,244,43,90,174,169,159,85,122,137,209,140,127,69,147,65,224,5,184,180,237,107,80,239,107,203,208,167,209,240,132,34,72,94,147,153,123,220,46,56,225,178,142,219,161,202,221,196,74,4,141,56,26,180,157,186, -195,103,109,60,225,238,137,247,219,125,86,172,85,70,1,144,25,218,79,168,58,102,226,185,13,223,137,15,38,140,169,90,77,37,2,64,129,243,90,110,128,142,162,204,53,190,226,44,46,20,1,8,146,207,182,159,120,227,92,134,58,123,122,173,1,184,162,243,14,8,217, -75,33,161,198,12,109,139,70,91,195,45,222,197,243,110,104,255,22,158,88,20,0,163,78,121,87,160,122,238,245,237,247,75,49,89,52,146,240,79,235,100,105,210,223,169,13,159,103,227,53,51,122,49,120,203,146,11,109,8,130,228,33,10,240,182,34,54,39,32,83,208, -225,101,151,117,222,14,78,209,5,178,102,44,106,26,31,146,96,204,146,138,235,39,158,223,112,54,158,91,20,0,163,134,221,103,177,46,188,181,251,126,209,46,148,170,178,49,131,73,19,99,22,85,157,206,134,105,100,26,33,220,8,156,128,125,255,17,36,47,3,0,170, -76,68,126,11,100,58,207,167,214,51,6,46,110,189,133,37,8,170,154,129,188,41,242,232,149,99,10,76,191,172,229,167,181,51,138,187,240,12,163,0,24,21,230,223,212,249,237,162,122,207,108,217,96,210,31,53,254,147,74,230,193,242,198,43,178,226,115,9,225,102, -224,61,165,0,170,140,39,25,65,242,12,142,19,64,44,154,146,21,251,210,21,154,198,166,8,74,106,194,80,183,64,86,114,205,129,103,209,215,186,255,215,87,225,244,226,89,70,1,144,86,38,95,220,116,86,203,162,138,171,227,195,198,194,87,49,37,202,198,250,94,56, -230,203,192,103,73,207,125,206,226,4,75,237,140,145,94,0,8,130,228,13,106,156,120,255,77,32,4,186,179,102,151,230,84,156,8,75,106,206,54,92,30,72,199,172,187,130,182,142,133,183,118,255,183,96,69,147,134,2,32,77,212,76,13,143,153,122,105,211,79,228,152, -108,40,87,142,214,250,135,236,37,240,185,246,91,89,217,95,54,97,105,59,22,120,103,32,57,12,8,65,144,188,64,83,37,176,86,47,39,79,252,236,106,167,127,74,253,165,48,181,228,24,195,34,32,17,145,161,122,74,232,220,105,159,111,190,2,207,54,10,0,211,113,248, -172,246,121,55,118,252,134,227,192,111,164,211,31,45,247,179,240,54,184,164,237,171,16,114,148,103,223,5,225,46,6,91,247,114,208,164,40,158,116,4,201,7,227,47,71,88,232,95,44,61,38,235,246,141,227,120,56,111,204,13,172,244,217,104,121,32,237,20,56,241, -220,134,239,54,206,45,29,143,103,29,5,128,169,204,187,169,227,174,96,141,123,178,28,215,223,233,143,174,117,209,102,63,103,53,95,13,77,254,236,205,89,177,118,156,8,150,186,233,160,37,134,241,196,35,72,46,163,38,88,230,191,173,245,186,172,29,239,77,163, -160,151,182,221,10,126,91,136,60,31,245,47,63,106,228,209,172,170,154,131,58,106,238,176,221,131,39,31,5,128,41,140,61,163,110,217,152,37,21,215,210,178,19,35,208,48,23,205,246,159,81,182,52,187,63,48,121,80,56,102,95,11,98,113,11,70,2,16,36,103,141, -191,196,66,254,246,206,175,2,239,172,202,234,93,45,113,86,194,69,173,95,102,17,1,218,23,69,47,52,31,192,93,108,239,88,112,115,231,247,104,231,67,4,5,128,33,194,77,222,138,105,159,111,254,169,20,53,150,25,79,141,255,216,240,76,56,185,225,115,57,241,185, -57,187,23,28,199,124,21,132,162,122,20,1,8,146,147,198,223,66,140,255,109,32,4,39,229,196,46,183,145,253,60,181,225,50,214,23,197,72,146,85,98,88,134,134,185,165,151,78,190,176,225,12,188,16,80,0,232,134,102,148,30,243,213,174,159,217,220,162,161,122, -255,132,26,135,82,87,53,92,48,230,6,16,184,220,233,92,201,187,195,224,90,244,31,40,2,16,36,23,141,127,215,109,32,134,167,231,212,174,31,83,117,26,204,42,59,206,112,82,160,20,145,105,197,214,143,75,90,125,181,120,65,160,0,208,197,140,43,199,92,85,214, -17,56,78,138,234,207,136,167,45,126,173,188,21,46,106,189,25,124,214,162,156,59,6,28,17,1,206,17,17,0,40,2,16,36,103,60,127,49,52,61,39,63,194,153,205,87,65,189,175,99,36,41,80,231,97,80,52,16,173,124,104,254,151,59,127,110,117,137,184,22,128,2,32,53, -106,166,134,59,198,159,89,127,23,45,47,209,143,198,122,94,159,214,120,5,171,249,207,217,139,100,36,18,192,99,36,0,65,114,195,248,135,167,231,236,199,160,131,131,104,62,128,219,226,3,89,211,255,252,165,142,91,121,87,112,225,244,203,91,174,197,139,3,5, -192,81,99,243,88,196,185,215,183,255,92,211,52,151,166,234,15,253,71,228,97,22,206,154,91,177,44,231,143,9,139,4,44,190,13,151,3,16,4,141,127,218,41,119,213,194,217,205,215,130,162,202,134,58,5,210,65,109,221,167,213,222,89,61,57,212,137,23,9,10,128, -163,130,40,198,175,20,213,123,166,201,113,253,161,127,234,249,215,122,91,224,140,230,47,230,207,197,226,10,97,78,0,130,160,241,31,21,104,155,244,99,170,78,53,148,15,144,156,109,166,57,169,67,103,115,91,44,120,177,124,20,156,252,242,49,106,167,134,39, -116,157,90,115,107,194,64,171,95,58,224,194,198,59,224,130,49,55,130,67,72,83,167,63,162,140,19,187,214,129,180,125,53,200,7,182,129,26,237,103,87,59,103,119,131,24,172,0,75,101,27,88,171,218,129,179,153,251,254,135,115,2,34,127,251,79,80,14,109,6,206, -226,192,139,6,65,242,214,248,107,160,36,54,130,28,95,3,138,180,13,52,181,47,89,112,207,59,129,23,75,65,180,182,128,104,107,3,142,79,79,217,253,41,13,159,135,173,3,239,195,198,254,85,96,211,57,197,144,246,110,9,53,122,167,78,251,124,243,77,207,127,239, -189,175,227,69,131,2,224,19,177,123,45,214,57,95,106,255,41,185,230,173,6,74,81,153,247,127,78,203,151,160,198,211,98,254,237,40,197,32,242,207,191,146,215,95,64,222,183,25,180,196,72,247,44,158,251,64,242,210,151,96,97,66,192,222,49,15,92,83,78,5,129, -124,111,90,36,96,36,39,96,24,69,0,130,100,222,248,119,165,33,225,79,75,64,124,248,41,136,15,61,193,4,128,166,142,68,252,56,254,67,174,181,198,122,134,240,98,9,88,157,51,193,238,57,133,124,95,97,234,110,88,120,43,156,63,230,6,248,214,91,87,177,164,64, -129,211,103,178,168,67,215,189,188,246,107,155,95,222,247,232,246,21,7,87,226,197,51,242,44,199,67,240,1,211,46,107,185,161,168,193,51,209,72,232,159,134,171,38,23,47,128,121,21,39,153,190,127,241,141,43,224,224,79,46,134,254,63,125,3,164,221,235,217, -205,72,61,126,206,238,2,206,234,76,190,136,199,207,126,102,177,129,210,183,7,134,158,253,21,28,248,201,133,48,244,226,253,73,229,110,114,36,0,171,3,16,36,195,158,191,201,198,95,138,189,1,3,123,175,132,225,131,119,19,239,121,45,115,48,56,222,149,124,113, -142,228,139,119,142,252,222,14,154,124,8,98,253,15,193,192,158,43,32,54,240,144,233,31,181,204,85,3,167,55,94,105,104,114,224,200,163,207,54,247,250,246,159,216,220,22,116,124,81,0,124,148,154,105,225,14,22,250,31,50,144,117,74,46,80,218,209,234,204, -230,171,77,223,191,225,127,60,0,61,247,93,3,210,222,13,71,12,252,103,118,186,18,44,192,57,60,160,69,135,96,224,175,223,133,158,255,185,30,212,225,94,115,35,1,139,147,213,1,40,2,16,36,3,198,223,228,176,127,172,255,127,96,104,223,205,32,19,175,63,105,224, -109,240,153,253,249,137,87,206,241,110,208,180,8,68,122,126,4,195,7,238,32,6,55,98,234,126,77,47,91,66,94,75,33,38,235,223,46,117,236,66,141,222,233,211,46,107,190,6,47,34,20,0,71,176,185,69,126,238,117,237,63,34,226,210,161,105,58,21,230,136,50,61,155, -92,91,94,107,192,212,253,27,122,238,62,232,255,203,221,204,224,115,22,123,234,27,16,68,38,4,98,171,159,131,67,191,186,10,148,190,189,230,69,2,92,88,29,128,32,249,96,252,35,189,63,38,175,159,177,176,62,245,236,83,39,41,4,226,195,127,131,161,3,255,65,4, -129,185,207,131,211,27,175,96,209,0,201,192,188,0,218,37,176,251,180,218,219,202,187,2,77,120,49,161,0,96,76,56,167,254,243,161,6,207,92,163,161,255,5,85,167,66,71,209,20,83,247,45,250,246,227,48,240,212,127,3,103,115,146,179,101,172,139,32,21,1,210, -206,53,208,243,155,235,76,21,1,180,58,192,137,213,1,8,146,211,198,63,214,255,32,51,224,70,205,2,77,8,148,162,175,66,228,208,247,76,221,71,218,23,224,236,150,107,128,35,251,167,129,190,229,76,90,214,77,252,40,207,236,107,218,126,32,88,208,252,21,252,17, -40,105,245,87,78,56,183,241,206,248,176,254,208,63,109,245,91,231,109,133,101,117,23,153,186,111,210,174,181,196,243,255,22,17,228,150,15,146,111,140,122,236,54,23,203,31,48,91,4,124,56,39,0,69,0,130,228,162,241,167,21,67,230,52,205,163,34,128,38,16, -198,6,30,52,117,95,219,2,19,89,187,224,168,129,165,0,41,166,64,197,216,224,210,73,23,52,158,131,2,160,144,63,188,192,193,140,47,180,124,75,180,241,69,122,27,254,208,201,85,34,39,178,208,191,222,50,149,79,220,110,164,31,250,254,112,59,168,241,8,11,225, -155,9,141,38,164,67,4,240,40,2,16,36,125,198,191,43,93,198,255,33,83,141,255,7,34,192,1,209,222,95,128,28,251,167,169,219,61,161,238,66,226,112,141,129,132,18,211,239,180,69,100,24,127,118,221,55,131,53,238,162,66,190,180,10,90,0,140,89,92,177,168,102, -106,248,108,35,237,126,227,74,4,22,215,156,5,13,190,118,83,247,173,255,145,187,153,145,214,181,230,159,37,34,0,19,3,17,196,68,207,223,228,108,255,72,207,97,207,223,105,186,241,79,66,151,44,85,86,77,160,42,251,77,219,170,77,176,195,89,205,87,131,200,91, -65,211,89,217,68,103,5,216,60,150,202,233,87,182,220,129,2,160,0,113,248,172,182,169,151,53,127,151,206,143,214,173,34,137,2,173,39,134,255,216,26,115,35,73,195,47,255,14,162,111,61,206,178,253,211,73,186,150,3,62,92,29,128,145,0,4,49,193,248,135,211, -96,252,7,30,76,139,231,255,209,135,140,21,20,101,15,68,14,125,151,252,70,49,109,179,141,190,78,88,88,181,28,162,138,254,165,0,234,248,53,205,43,187,188,97,78,233,100,20,0,5,198,228,139,27,175,241,87,186,58,244,10,0,170,60,69,114,115,158,217,116,21,107, -86,97,22,137,237,171,96,224,169,159,144,251,102,52,154,235,104,35,34,224,253,17,17,176,207,188,251,158,85,7,224,114,0,130,100,157,241,239,29,37,227,127,248,89,192,185,136,177,253,7,196,250,127,107,234,118,143,173,61,151,229,94,37,244,86,5,104,44,18,32, -204,184,162,229,123,22,135,80,144,182,176,32,63,116,73,171,175,186,235,148,154,175,36,12,36,254,81,229,73,179,254,205,12,253,171,209,65,232,123,248,191,64,147,227,134,51,254,83,19,1,238,17,17,112,173,201,213,1,97,156,29,128,32,217,102,252,251,71,207, -248,31,17,1,188,19,162,125,255,99,106,62,0,93,10,56,163,233,11,196,136,241,186,27,4,177,222,0,77,222,25,19,206,109,56,31,5,64,1,192,241,52,241,175,245,78,193,38,248,245,38,254,209,58,212,106,79,35,28,87,123,158,169,251,54,240,216,61,32,239,73,223,186, -255,103,71,2,176,58,0,65,50,138,150,127,198,255,3,83,163,193,240,161,239,131,166,244,153,182,213,102,127,55,204,173,92,102,104,96,16,29,27,60,246,244,218,59,189,165,142,64,161,93,110,5,39,0,26,231,150,206,172,153,26,58,71,210,153,248,167,141,104,205, -211,26,175,96,115,171,205,34,250,246,19,16,121,227,207,105,95,247,255,183,198,58,141,137,129,24,9,64,144,163,240,252,185,220,203,246,63,250,7,140,21,20,121,59,217,151,31,153,186,217,19,106,47,132,50,103,53,235,196,170,235,176,203,42,56,252,214,138,233, -87,180,220,140,2,32,143,161,235,60,228,36,127,83,77,168,186,63,55,109,69,57,189,116,49,116,4,205,203,27,81,14,237,132,254,199,190,7,156,104,201,220,205,153,102,17,128,179,3,16,228,51,140,127,206,102,251,167,240,28,224,92,16,31,250,59,36,134,30,55,109, -155,46,139,135,77,13,164,83,88,65,231,82,0,141,2,52,47,40,255,98,121,119,160,25,5,64,158,210,189,188,246,204,162,58,207,12,89,103,226,159,172,201,16,180,23,195,178,250,139,77,188,241,85,232,123,228,110,80,7,15,177,222,253,217,192,104,84,7,160,8,64,144, -79,48,254,185,154,237,159,202,243,133,183,178,150,195,170,188,211,180,109,78,40,158,3,227,195,179,33,166,232,123,174,208,229,96,222,202,59,103,92,57,166,160,198,5,23,140,0,240,20,219,93,19,207,107,184,67,138,25,24,246,163,196,217,186,127,192,22,54,109, -191,134,95,121,8,226,107,95,98,70,55,123,248,120,78,0,86,7,32,8,26,127,179,16,137,223,211,11,195,61,63,160,7,192,180,173,158,210,240,57,112,137,222,145,72,128,158,40,128,12,149,227,138,78,109,61,182,114,54,10,128,60,99,236,25,117,87,56,131,182,70,85, -214,23,34,138,43,49,150,112,50,171,252,56,211,246,73,222,187,17,6,159,254,217,40,149,252,233,21,1,35,213,1,253,230,86,7,56,23,225,0,33,4,141,127,190,148,250,165,236,8,112,78,144,34,175,65,108,240,143,166,109,179,196,89,5,139,170,79,39,207,106,157,207, -20,141,229,3,112,147,47,106,252,186,197,33,114,133,112,9,22,132,0,8,55,121,139,59,79,169,185,73,26,214,159,248,39,242,34,83,152,2,103,82,91,94,85,129,254,71,190,205,74,255,70,175,228,207,64,36,224,215,102,231,4,224,0,33,4,141,127,254,101,251,167,240, -12,224,237,16,237,187,15,20,105,171,105,219,164,115,2,170,60,77,186,19,2,233,242,112,81,189,103,102,235,146,138,83,80,0,228,9,19,47,104,184,222,238,17,195,170,206,178,63,154,248,55,181,116,17,52,249,187,76,219,39,22,250,223,184,34,57,229,47,203,193,217, -1,8,146,6,227,159,175,217,254,71,141,0,154,58,8,209,158,31,131,89,75,1,116,30,203,178,186,139,117,47,3,48,17,16,83,96,194,249,245,183,59,131,54,107,190,95,138,121,47,0,138,91,124,53,141,115,74,175,212,219,239,95,33,23,146,223,86,4,39,212,154,215,39,66, -62,176,21,6,159,190,55,75,67,255,153,19,1,152,24,136,20,138,241,119,164,35,219,191,55,123,178,253,143,250,185,194,57,33,17,125,29,226,131,143,152,182,205,113,225,153,208,77,142,109,76,103,155,96,69,82,33,88,227,233,24,119,70,221,121,249,126,57,230,189, -0,152,112,94,253,205,162,93,112,235,156,25,193,214,147,142,169,90,14,65,123,137,57,59,164,105,172,225,143,26,237,207,226,208,255,167,137,0,156,29,128,32,134,61,127,98,252,133,112,186,74,253,114,193,243,255,216,115,133,183,177,165,0,85,222,99,218,54,79, -172,191,136,69,3,84,157,15,254,68,68,130,246,101,85,183,184,66,25,108,204,130,2,192,24,165,29,254,230,198,185,165,23,208,236,78,61,208,117,164,42,119,3,204,175,60,217,188,27,245,173,71,33,182,246,197,44,203,250,63,106,245,130,213,1,8,98,208,248,23,78, -182,255,209,34,130,170,244,176,210,64,179,168,118,55,193,204,178,99,217,180,86,93,167,75,214,192,29,182,215,143,61,189,230,226,124,190,44,243,86,0,208,150,191,179,190,216,122,139,96,21,28,122,189,127,69,149,89,217,31,85,146,166,60,3,6,15,193,224,223, -126,10,156,152,203,75,75,31,171,14,192,217,1,8,146,57,227,223,155,235,198,255,240,243,218,73,188,238,231,64,138,188,104,218,54,151,214,158,205,74,182,21,77,167,3,24,85,160,253,196,234,47,17,33,224,65,1,144,99,212,78,15,183,85,140,15,158,165,215,251,167, -101,127,45,129,177,48,177,120,158,105,251,68,75,254,148,222,221,89,211,240,199,188,72,0,206,14,64,144,140,24,255,254,220,55,254,35,119,62,249,37,64,164,239,94,208,212,33,83,182,232,183,134,96,65,213,105,108,108,187,190,40,128,74,163,0,53,221,167,213, -92,142,2,32,151,62,20,241,254,39,158,219,240,101,98,167,172,122,58,67,210,178,63,158,227,224,248,218,243,201,87,115,14,81,98,203,91,16,249,231,35,57,26,250,255,148,91,22,103,7,32,200,103,27,255,130,207,246,63,218,7,138,21,148,196,22,136,13,252,206,180, -77,206,173,88,6,229,174,90,144,232,185,208,21,5,144,161,99,89,245,181,238,144,221,139,2,32,71,168,156,80,52,134,120,255,103,208,16,142,94,239,191,43,52,29,90,131,19,204,217,33,69,134,129,39,127,12,154,162,208,180,215,188,58,214,56,59,0,65,62,221,248, -99,182,127,138,247,61,249,76,177,129,63,130,34,109,50,101,123,14,209,5,139,170,207,0,89,247,160,32,13,92,97,123,121,247,233,53,23,162,0,200,17,218,79,172,186,142,227,56,155,158,127,171,129,10,86,222,10,199,214,156,107,218,254,12,191,241,103,72,108,121, -155,8,92,123,62,30,110,172,14,64,144,79,242,252,49,219,95,151,73,210,180,8,68,123,127,97,218,22,167,149,46,130,90,111,11,27,227,174,43,10,16,145,161,131,230,2,228,97,69,64,222,9,128,226,22,95,125,227,220,178,243,164,136,94,239,63,202,6,75,212,121,199, -152,243,44,24,234,129,161,231,238,3,206,98,131,252,229,99,57,1,253,88,29,128,160,241,199,108,127,157,247,60,235,13,240,10,36,76,74,8,20,137,67,183,184,250,44,80,84,125,54,65,85,88,20,160,166,123,121,237,57,40,0,178,156,9,231,214,95,101,177,243,14,77, -75,125,241,95,211,84,176,11,46,114,177,156,105,218,254,12,61,255,107,80,122,119,229,65,226,223,209,138,128,247,161,231,215,105,168,14,64,17,128,228,140,241,255,15,204,246,55,42,2,64,128,88,223,125,228,153,28,51,101,123,19,137,83,215,224,239,128,132,129, -40,0,141,44,187,66,246,188,242,228,242,74,0,148,140,241,149,53,206,45,189,80,111,215,191,152,26,133,201,37,243,161,210,221,96,202,254,208,97,63,195,43,254,148,87,137,127,41,69,2,204,204,9,112,97,117,0,146,205,151,254,135,61,255,25,230,27,255,254,194, -49,254,201,27,222,10,114,98,3,196,7,255,98,142,161,227,4,54,40,72,111,99,32,26,5,112,23,219,91,154,230,149,230,213,140,128,188,18,0,109,199,87,93,106,113,138,126,77,87,230,191,10,78,193,13,11,171,150,155,182,63,131,207,220,11,90,124,152,102,182,20,212, -179,16,103,7,32,5,231,249,115,233,44,245,123,168,176,140,255,225,231,8,111,135,216,192,239,65,83,14,154,178,189,113,161,153,208,232,107,215,29,5,144,227,10,116,157,86,123,157,197,33,228,205,3,61,111,62,136,167,212,225,105,94,88,246,121,73,175,247,47, -71,97,82,201,60,40,115,213,154,178,63,241,77,43,32,186,250,57,34,100,157,80,136,224,236,0,164,96,140,255,225,108,255,48,102,251,155,139,8,170,188,143,136,128,135,76,139,2,44,172,210,31,5,80,18,42,132,26,60,147,90,151,86,30,131,2,32,203,232,58,165,230, -44,87,200,94,73,67,53,169,123,255,26,216,69,39,204,175,52,41,186,67,46,176,193,103,126,193,190,230,91,217,95,106,34,192,149,214,62,1,60,138,0,36,11,140,63,102,251,167,51,10,224,132,216,224,99,160,72,219,77,217,222,216,176,177,40,128,34,171,208,122,92, -229,181,180,211,44,10,128,44,193,230,22,197,166,5,101,95,160,99,28,117,121,235,114,4,198,135,103,155,182,246,31,91,253,44,36,54,189,153,83,211,254,210,67,26,171,3,104,36,96,241,109,184,28,128,100,220,248,155,237,249,71,123,10,43,225,239,179,76,20,29, -25,28,27,248,95,83,182,38,112,2,235,14,168,119,92,176,18,87,160,172,195,191,176,110,70,113,55,10,128,44,161,97,110,233,194,96,173,187,139,142,113,212,227,253,91,5,59,185,40,78,53,199,228,201,9,24,124,254,55,57,55,233,47,253,34,224,112,117,128,121,34, -128,119,133,176,68,16,201,43,227,79,61,255,40,26,255,143,69,1,28,144,24,126,22,148,196,251,166,108,143,230,2,212,120,154,217,176,183,148,159,102,26,155,51,35,118,44,171,186,18,5,64,54,124,0,145,167,77,26,190,168,199,248,83,104,159,232,142,162,201,80, -235,105,49,71,189,175,124,10,164,29,239,229,121,221,191,145,72,192,181,88,29,128,228,240,165,140,131,125,50,19,5,136,67,180,255,183,166,108,77,36,231,111,94,197,73,32,235,109,15,28,81,160,122,114,248,140,112,179,183,20,5,64,134,169,158,84,212,81,62,46, -184,72,79,248,63,217,243,95,48,109,237,95,75,68,97,232,69,114,145,138,22,188,103,63,201,88,99,117,0,146,235,158,63,102,251,103,44,10,32,69,95,1,57,254,158,41,219,155,84,50,31,202,92,53,32,107,169,139,0,218,99,198,234,18,124,173,199,86,158,143,2,32,195, -180,29,87,117,9,167,129,168,75,201,17,85,217,228,235,132,150,192,56,115,188,255,183,31,7,121,207,250,28,31,247,155,251,34,0,19,3,145,180,24,127,204,246,207,228,147,131,24,94,217,180,92,0,58,226,125,86,217,177,32,41,122,27,3,41,48,102,113,197,37,206,128, -45,167,67,189,57,45,0,188,101,142,64,205,212,240,217,180,62,83,215,61,173,169,48,167,98,25,27,68,105,138,247,255,202,67,104,252,143,74,4,96,117,0,146,123,198,31,179,253,51,252,220,224,236,196,240,190,6,114,124,181,41,219,155,86,182,24,2,246,98,80,116, -36,4,178,198,64,97,91,115,227,252,210,69,40,0,50,68,243,194,242,83,156,1,107,177,158,210,63,58,29,170,210,93,15,99,77,186,161,233,218,191,188,103,3,0,10,128,163,145,75,31,36,6,178,234,0,147,167,8,98,117,0,146,6,227,143,189,253,179,32,10,0,178,105,125, -1,188,214,32,76,42,158,199,242,192,244,160,200,26,180,46,169,184,44,151,75,2,115,86,0,88,157,34,215,113,98,245,231,36,157,165,127,116,62,244,244,210,165,96,225,141,71,112,52,57,14,195,175,254,30,215,254,83,22,1,238,100,36,224,215,215,97,117,0,146,181, -198,223,129,9,127,89,20,5,112,128,20,121,21,228,248,26,83,182,55,171,252,120,54,50,152,118,130,77,217,137,140,43,80,210,30,56,166,172,35,208,132,2,96,148,41,31,27,156,228,175,118,77,214,147,253,79,107,64,3,182,16,76,41,53,167,161,19,173,251,151,118,173, -3,78,196,204,255,212,69,128,51,125,213,1,40,2,16,19,60,127,1,141,127,150,69,1,18,16,31,252,63,115,236,136,171,22,218,139,38,65,92,79,46,128,70,3,190,188,173,245,184,138,243,80,0,140,50,109,199,85,94,192,233,188,123,226,106,12,198,23,207,6,159,53,104, -194,131,66,129,225,87,254,128,117,255,70,110,233,116,37,6,162,8,64,12,26,255,180,101,251,115,104,252,245,71,1,236,144,136,188,2,138,180,217,156,40,64,217,113,196,16,234,59,23,82,84,134,250,89,37,231,56,131,182,156,236,250,150,147,2,192,87,238,244,87, -79,9,157,42,233,44,253,179,241,118,152,81,182,212,148,125,137,175,127,5,18,219,223,5,206,98,199,59,51,75,69,128,11,171,3,144,20,141,63,102,251,103,183,217,210,212,97,136,15,254,217,148,173,141,9,78,128,106,79,147,174,198,64,52,255,204,83,236,168,111, -154,95,186,0,5,192,40,209,188,176,252,56,103,192,86,162,169,169,39,255,209,178,143,38,127,23,212,152,212,248,103,248,213,63,224,253,104,154,8,72,211,40,97,172,14,64,82,244,252,49,219,63,203,159,21,196,137,75,12,63,79,12,176,241,220,33,145,19,97,106,233, -34,150,24,174,235,178,81,84,104,156,91,118,65,46,158,214,156,19,0,180,243,95,243,49,101,23,40,9,157,165,127,228,215,244,178,37,166,236,139,180,99,53,196,55,190,129,222,191,105,124,124,118,128,217,213,1,73,17,128,203,1,200,167,26,255,46,204,246,207,13, -4,98,120,123,32,62,248,184,41,91,155,88,60,15,252,182,176,174,25,1,82,92,129,242,238,192,226,226,102,95,5,10,128,52,19,110,242,54,6,235,61,179,229,68,234,201,127,138,38,67,177,163,2,186,138,166,153,227,253,191,254,48,171,0,40,228,137,127,105,21,1,191, -78,223,114,0,138,0,228,227,198,159,133,253,67,104,252,115,43,10,240,55,208,212,33,195,219,242,219,138,160,43,52,77,95,73,32,49,69,22,135,232,105,152,83,114,50,10,128,52,211,118,92,197,105,162,77,176,65,234,209,127,114,114,227,108,234,31,45,251,48,138, -210,187,27,98,107,94,64,239,63,109,34,192,153,182,229,0,108,27,140,252,139,231,143,217,254,57,136,8,138,180,19,18,145,231,77,217,218,212,210,133,32,240,22,246,252,73,21,57,161,208,165,233,179,45,14,33,167,78,116,78,9,0,139,83,224,107,166,21,159,174,196, -117,38,255,137,14,152,108,82,174,70,228,205,71,65,29,234,197,236,255,116,42,252,116,182,13,198,234,0,36,237,217,254,104,252,211,254,140,224,68,136,15,209,101,0,197,240,182,104,91,248,100,50,160,164,227,82,82,33,80,229,154,92,218,17,232,64,1,144,38,202, -58,2,227,253,149,206,110,85,78,61,252,79,147,255,26,188,237,80,237,54,222,179,65,75,68,32,250,206,83,56,241,47,151,69,128,11,103,7,160,241,79,119,182,63,26,255,244,63,32,172,160,196,215,130,28,91,105,252,153,192,9,48,177,120,174,174,100,64,58,38,152, -23,121,161,97,78,201,105,40,0,210,68,203,226,138,229,28,207,241,154,142,240,63,237,247,76,39,64,153,65,108,237,203,32,31,216,2,32,96,231,191,209,17,1,31,106,27,140,179,3,16,19,61,127,204,246,207,249,167,3,49,190,202,72,20,192,56,19,138,231,128,219,234, -103,115,98,82,118,50,99,10,237,9,112,138,221,103,21,115,229,232,229,140,0,112,6,108,150,186,233,197,39,233,25,251,75,51,59,253,182,16,116,135,204,73,254,139,188,249,87,154,129,130,247,222,168,241,161,182,193,105,154,29,128,213,1,133,103,252,205,246,252, -163,152,240,151,25,9,192,219,136,126,127,29,84,217,248,115,33,100,47,131,22,255,88,54,41,54,229,75,75,86,193,87,225,236,168,158,84,52,1,5,128,201,84,77,42,154,228,10,217,154,245,12,254,73,144,147,217,26,156,0,62,107,145,225,253,160,70,40,177,229,45,76, -254,203,136,8,72,87,117,64,8,171,3,10,200,248,59,210,52,216,39,138,198,63,67,208,146,192,62,72,68,158,53,101,107,180,36,80,211,147,101,206,174,49,128,134,57,165,57,83,13,144,51,2,160,97,46,57,168,58,207,9,29,247,75,215,118,76,81,249,239,60,1,90,60,130, -165,127,25,19,1,88,29,128,232,185,116,48,219,63,175,163,0,156,5,18,195,207,38,207,179,65,58,138,38,65,145,189,148,149,141,167,10,173,6,168,28,95,116,162,195,103,205,137,245,225,156,16,0,206,160,205,90,49,54,120,130,172,35,251,159,158,196,176,163,2,198, -4,198,25,127,134,196,135,33,250,222,115,152,252,151,233,155,29,171,3,144,84,61,127,14,179,253,243,251,161,96,37,198,119,19,72,241,119,140,219,27,209,3,109,193,137,250,90,3,203,26,184,139,237,173,85,147,67,227,81,0,152,68,121,87,96,130,59,108,111,209, -27,254,239,40,154,12,118,193,105,120,63,226,235,95,3,229,224,14,76,254,203,10,17,224,194,217,1,200,209,25,127,44,245,43,16,20,72,12,61,109,202,150,38,132,103,179,170,0,125,209,8,128,234,137,161,147,80,0,152,68,245,164,208,9,122,35,238,2,39,194,184,208, -12,115,110,248,119,158,196,251,60,107,208,62,90,29,208,143,179,3,16,52,254,5,237,20,112,54,144,98,111,128,166,244,24,222,22,157,23,19,118,148,235,91,6,136,171,80,49,46,120,172,197,46,100,125,147,152,172,23,0,22,135,40,84,79,13,31,75,15,106,202,39,66, -147,160,196,81,1,13,62,227,189,25,148,222,61,144,216,242,38,112,34,134,255,179,75,4,184,147,34,128,37,6,238,51,239,97,50,82,29,128,203,1,104,252,63,78,20,75,253,178,20,1,84,249,0,36,162,175,24,222,146,77,112,64,107,96,2,235,30,155,178,173,144,84,240, -87,187,218,203,58,3,237,40,0,12,82,49,54,216,230,175,116,117,208,131,154,42,146,146,128,214,224,68,176,10,198,51,246,99,107,158,199,206,127,89,45,2,232,114,192,181,166,87,7,124,52,49,16,31,246,185,100,252,49,219,191,16,195,0,2,155,18,104,6,99,195,51, -64,224,245,149,244,11,34,47,212,207,41,93,154,237,135,43,235,5,64,213,164,162,69,188,160,111,49,70,36,39,111,108,104,166,41,70,38,186,250,89,122,86,241,6,203,90,17,224,76,75,179,32,238,35,137,129,17,60,212,57,228,249,11,56,213,175,240,236,63,77,6,140, -191,71,188,240,237,134,183,69,91,3,211,101,0,89,213,87,13,80,222,21,56,150,207,242,209,0,89,45,0,232,232,223,202,241,69,75,21,41,245,236,127,26,254,15,179,240,127,155,225,253,144,246,110,4,105,231,90,224,68,43,222,97,217,124,243,167,49,49,16,171,3,114, -203,248,139,88,234,87,160,240,108,58,160,20,125,217,240,150,232,50,0,173,30,147,53,29,213,0,146,10,69,117,238,137,225,102,111,21,10,0,157,248,43,157,101,193,90,247,100,61,225,127,153,60,12,104,71,39,122,18,141,18,95,243,34,104,241,33,236,254,87,224,34, -192,133,34,32,235,141,191,163,11,19,254,48,10,32,130,20,161,121,0,154,225,109,209,209,241,156,142,115,78,219,213,91,156,162,179,122,114,104,46,10,0,157,84,77,10,205,180,185,45,30,29,109,153,217,73,235,44,154,98,194,131,69,129,216,218,23,1,4,244,254,115, -3,45,109,34,128,195,18,193,236,246,252,137,241,23,66,104,252,81,1,208,158,0,27,64,73,108,50,188,169,70,95,7,4,236,197,108,150,76,202,151,165,172,66,213,132,208,98,46,139,155,198,101,183,0,24,95,180,88,83,83,87,113,201,222,255,97,104,244,119,26,222,7, -105,207,122,242,218,128,225,255,156,20,1,135,115,2,176,58,32,239,141,63,13,251,135,48,219,31,73,186,127,154,58,76,52,186,241,106,0,151,197,11,13,190,118,93,77,129,228,132,10,225,22,239,44,103,145,205,153,173,71,42,107,5,128,221,107,181,148,118,6,102, -209,100,138,148,141,54,57,89,245,222,86,112,91,124,134,247,35,254,254,43,160,37,162,216,250,55,39,69,192,72,137,32,171,14,48,79,4,252,107,117,0,146,113,227,143,217,254,200,135,37,0,109,13,28,93,1,102,44,3,180,7,39,147,205,164,30,134,166,206,171,195,111, -173,14,55,123,187,81,0,164,72,81,131,167,205,85,100,109,212,211,253,143,142,114,164,173,28,141,219,16,21,98,239,255,3,64,196,206,127,185,29,9,48,191,68,144,195,182,193,121,109,252,49,225,47,215,21,128,21,148,196,70,80,164,173,134,55,213,226,239,6,151, -213,11,42,164,40,2,52,90,149,200,67,221,140,226,249,217,122,152,178,86,0,212,78,13,205,17,44,228,232,105,169,30,115,21,156,22,55,52,251,141,139,46,121,255,150,100,248,31,91,255,230,246,179,32,93,179,3,92,56,64,40,239,140,63,203,246,127,8,141,127,238, -223,245,35,203,0,43,12,111,41,228,40,131,10,87,61,75,44,79,253,82,85,161,180,221,63,143,23,179,243,90,202,74,1,64,147,237,203,199,6,231,41,178,158,236,127,25,202,156,53,80,226,50,94,125,17,223,176,2,180,24,102,255,231,135,8,112,165,109,128,208,225,234, -0,76,12,204,3,227,207,214,252,157,104,252,243,225,158,231,4,83,4,0,77,40,167,21,101,138,142,126,0,106,178,43,224,120,111,137,163,40,27,143,81,86,90,54,87,145,221,21,172,117,79,84,117,150,255,209,228,63,222,132,143,22,219,240,10,118,254,203,27,210,95, -29,128,179,3,70,201,248,99,169,31,114,84,55,38,93,6,216,0,170,98,60,255,135,246,3,16,121,11,164,154,83,160,170,26,216,61,150,64,73,155,127,98,54,30,162,172,20,0,197,45,222,46,71,192,86,169,103,253,159,78,112,106,13,24,159,196,168,14,236,7,105,231,58, -204,254,207,75,17,144,190,234,0,30,151,3,210,111,252,49,219,31,57,74,243,166,42,125,32,199,86,26,222,82,181,167,9,2,182,176,174,114,64,26,65,40,31,27,156,141,2,224,40,33,7,107,58,207,167,126,35,210,242,63,159,53,8,53,158,102,195,251,16,223,186,18,212, -161,30,140,0,228,165,8,248,208,236,128,126,115,171,3,176,89,80,250,140,191,35,13,165,126,152,237,159,255,72,209,55,12,111,195,33,186,153,93,145,116,228,1,208,78,182,165,237,254,153,217,216,22,56,235,4,0,173,182,43,235,12,204,212,53,252,71,147,160,210, -93,15,94,34,2,140,146,216,104,78,9,9,146,205,145,0,34,2,126,125,173,233,203,1,88,29,96,230,169,250,80,147,31,204,246,71,82,189,31,249,228,108,0,77,51,126,47,54,5,186,200,118,82,183,75,138,172,65,160,218,213,233,41,115,134,80,0,124,6,174,34,187,35,88, -235,30,175,103,253,95,85,21,168,247,25,159,192,168,201,113,136,111,91,137,221,255,242,94,4,96,117,64,214,123,254,92,122,154,252,96,182,127,161,64,71,4,239,99,185,0,70,105,244,117,130,77,176,147,39,71,106,142,33,237,7,96,243,88,2,165,109,190,172,235,7, -144,117,2,192,95,237,106,177,123,45,149,122,218,255,210,233,127,180,117,163,81,228,125,155,65,233,217,9,28,78,255,203,127,15,33,93,34,192,141,34,192,176,241,199,108,127,196,248,29,78,188,246,4,200,177,119,12,111,169,220,89,3,65,123,9,168,154,172,103, -55,104,100,123,42,10,128,207,58,200,221,129,137,188,149,231,83,85,89,116,253,159,134,254,171,220,141,134,247,33,177,229,109,208,226,216,253,175,112,68,128,43,45,163,132,89,137,32,206,14,200,82,227,143,158,127,225,220,224,2,72,38,36,2,90,137,247,95,229, -110,208,53,30,88,149,53,218,220,14,5,192,103,17,110,242,77,213,145,104,201,198,255,150,187,106,193,99,245,27,222,135,248,230,183,200,145,193,218,255,194,225,195,109,131,175,51,53,49,240,112,199,64,172,14,64,227,143,100,200,254,115,22,80,164,205,160,41, -135,12,111,139,206,5,80,117,132,167,217,120,224,122,79,151,51,104,115,100,211,177,201,42,43,103,177,139,92,168,201,51,94,79,2,160,162,42,80,235,29,99,220,20,196,134,216,0,32,14,215,255,11,87,4,252,218,236,234,0,28,37,156,138,241,119,164,171,189,47,26, -255,2,69,0,85,233,5,57,177,209,240,150,106,189,173,96,101,182,33,245,126,0,14,175,165,50,80,237,106,66,1,240,41,120,203,29,101,158,98,123,147,166,163,254,95,224,4,54,0,200,40,210,222,141,172,7,0,8,88,254,87,152,34,32,141,213,1,152,19,240,111,14,61,102, -251,35,233,188,190,20,144,227,171,12,111,166,204,85,3,94,107,81,234,253,0,136,73,19,108,60,95,222,21,28,139,2,224,83,40,170,247,180,91,156,162,59,213,17,192,52,36,227,180,120,160,210,221,96,120,31,18,219,87,145,103,81,28,31,20,5,12,38,6,102,192,243,199, -108,127,36,173,55,181,192,202,1,141,226,18,61,80,230,172,214,151,7,160,2,132,154,188,89,213,17,48,171,4,64,184,217,59,78,207,61,170,104,50,132,236,165,172,83,147,25,2,0,123,255,35,40,2,70,209,248,167,189,189,47,102,251,23,252,253,204,242,0,182,129,166, -244,26,222,86,181,167,153,37,157,167,126,169,107,16,172,115,143,203,166,193,64,89,101,233,66,141,222,241,122,194,255,84,0,84,184,235,89,27,96,35,104,137,40,200,123,55,0,135,227,127,17,72,115,117,192,71,6,8,21,168,113,74,99,123,95,76,248,67,62,138,64, -140,127,31,75,6,52,74,173,183,133,216,154,212,77,167,42,171,224,45,177,183,184,195,14,127,182,28,149,172,17,0,22,135,40,4,170,93,109,84,37,165,108,184,53,13,106,60,198,115,43,228,131,219,65,233,223,79,142,10,214,255,35,236,202,250,88,117,128,217,29,3, -15,207,14,136,20,174,241,239,68,227,143,140,210,221,172,73,32,199,215,26,222,78,185,171,14,28,162,139,141,158,79,233,253,85,13,172,94,107,40,80,227,170,71,1,240,49,124,229,206,18,87,216,86,167,103,0,144,69,176,66,149,219,184,0,144,118,175,99,81,0,172, -255,71,254,85,4,208,196,64,115,69,64,193,206,14,192,108,127,36,19,16,175,93,78,188,111,120,51,69,246,18,240,219,66,186,6,3,9,2,199,133,155,189,29,217,114,72,178,71,0,84,58,27,89,2,160,150,122,3,32,183,197,7,197,206,74,227,2,96,231,90,188,73,144,79,17, -1,174,15,68,0,86,7,24,56,148,152,237,143,100,200,254,131,8,138,180,149,214,122,27,218,142,133,183,66,169,179,26,20,29,137,128,212,190,249,43,93,89,211,18,56,107,4,64,176,222,221,206,235,240,188,169,10,11,218,74,192,99,49,186,172,162,177,250,127,12,255, -35,159,46,2,48,49,208,176,231,159,174,108,255,30,204,246,71,62,75,1,136,160,202,7,64,145,247,24,222,20,29,58,167,171,33,144,172,65,168,193,211,158,45,147,1,179,70,0,20,55,123,59,85,85,95,2,96,153,171,90,87,82,198,71,78,204,96,15,40,61,187,176,255,63, -242,239,159,33,163,32,2,242,178,109,112,186,179,253,7,48,219,31,249,236,24,128,166,69,64,73,24,79,4,76,38,157,235,75,4,244,148,58,26,109,30,139,13,5,192,225,157,16,121,240,150,58,199,168,74,234,138,138,134,84,104,82,134,81,104,2,160,58,220,135,45,128, -145,163,16,1,31,174,14,48,177,99,224,200,236,0,62,223,68,64,58,179,253,113,205,31,73,205,96,152,50,25,144,46,1,216,4,135,222,201,128,21,222,50,71,25,10,128,17,236,30,139,195,83,98,175,211,100,29,29,0,121,129,8,128,26,227,2,96,223,70,208,228,4,62,68,144, -163,185,141,63,36,2,174,53,183,58,32,223,102,7,28,78,248,75,87,169,31,174,249,35,41,221,96,66,50,15,192,32,65,91,49,120,172,129,148,251,1,208,20,55,209,46,216,189,229,206,172,168,4,200,10,1,224,173,112,148,217,188,150,178,84,59,0,210,50,12,187,224,132, -98,71,133,225,125,144,246,108,196,236,127,36,197,72,192,135,171,3,112,118,192,167,26,255,206,219,64,192,82,63,36,27,238,89,160,2,96,39,49,196,198,18,1,105,25,32,173,6,208,83,9,192,243,28,109,8,212,130,2,96,4,103,192,86,43,88,4,91,138,5,0,44,9,195,75, -84,24,45,201,48,44,0,14,108,33,71,3,251,255,35,122,34,1,233,153,29,224,202,229,196,192,116,103,251,163,241,71,116,70,0,52,181,7,52,249,128,225,77,81,199,83,85,83,23,0,212,209,45,170,243,160,0,56,76,81,189,167,81,79,86,36,157,0,24,176,21,179,181,24,67, -207,170,216,32,40,189,123,201,3,5,19,0,17,61,34,32,61,137,129,92,174,86,7,96,182,63,146,181,240,196,104,71,64,145,119,26,222,18,77,62,79,53,7,224,176,0,32,78,111,19,199,115,89,112,52,178,128,96,173,187,89,211,81,1,160,130,98,74,248,95,38,15,109,117,184, -23,35,0,136,126,99,141,213,1,31,24,255,195,29,254,48,219,31,201,74,205,174,176,185,0,198,35,0,149,108,10,109,202,142,43,109,9,92,225,168,177,56,50,63,114,54,43,4,128,43,100,111,72,181,1,16,59,143,228,223,148,152,208,0,72,57,180,19,59,0,34,38,136,128, -52,206,14,200,133,234,128,81,25,236,131,158,63,98,244,70,229,76,17,0,33,71,41,88,5,123,234,149,0,228,175,91,157,98,153,35,96,11,20,180,0,96,109,127,45,192,249,42,156,213,84,21,165,188,243,28,15,97,71,185,241,8,192,193,237,116,103,240,198,64,140,186,22, -31,21,1,38,38,6,102,125,117,0,14,246,65,114,6,1,84,121,183,225,173,248,172,69,224,178,120,82,175,4,160,165,128,110,209,239,10,217,202,51,125,36,50,27,1,208,232,51,131,115,139,54,190,44,213,165,20,170,186,44,188,13,130,246,18,227,2,224,192,118,244,254, -17,19,35,1,238,15,37,6,154,91,29,64,7,8,101,93,78,0,14,246,65,114,233,254,100,2,224,0,107,10,100,4,151,197,11,94,107,48,245,142,128,26,235,125,195,23,213,186,43,51,125,44,50,27,1,32,94,191,175,194,81,108,247,91,131,169,14,1,210,200,65,119,90,220,224, -183,21,25,222,15,165,119,23,174,255,35,105,136,4,172,79,246,9,232,51,121,128,80,54,37,6,166,115,205,31,179,253,145,180,40,0,158,120,225,253,160,201,61,6,133,4,7,1,91,56,229,8,0,251,183,196,225,180,121,44,181,5,31,1,160,107,33,60,207,165,220,22,81,37, -191,220,68,129,185,68,175,177,93,72,68,65,25,56,128,2,0,73,131,8,200,243,234,128,116,27,127,108,242,131,164,41,6,160,169,81,80,149,253,134,183,68,123,1,232,201,95,83,201,191,41,106,240,212,100,250,72,100,84,0,40,10,29,140,224,174,20,44,60,164,186,4,64, -235,47,233,26,140,72,30,64,134,158,97,195,189,236,197,113,40,0,144,52,60,106,142,68,2,242,108,128,208,168,100,251,163,241,71,210,36,0,52,25,20,217,248,253,88,100,47,213,85,10,72,255,137,205,37,86,23,180,0,160,203,238,54,183,69,215,58,8,141,0,208,240, -139,97,17,50,112,16,180,120,148,102,20,226,125,129,164,41,18,144,198,234,128,197,25,40,17,196,176,63,146,243,168,166,36,2,210,62,52,122,135,2,249,171,93,44,9,80,79,9,124,206,11,0,26,53,161,205,127,138,26,61,149,122,166,0,210,176,75,192,94,108,92,0,244, -239,3,77,193,25,0,72,186,69,128,59,61,213,1,174,207,168,14,208,49,178,244,35,110,202,199,189,27,244,252,145,188,8,2,240,196,8,27,95,2,240,219,67,44,10,173,165,158,197,78,19,1,75,129,214,193,21,106,4,96,228,64,232,238,228,19,48,161,5,48,243,200,84,21, -111,8,100,148,68,64,122,170,3,92,135,171,3,18,31,202,108,150,19,192,123,74,245,63,35,29,149,44,99,26,14,39,57,169,137,35,189,253,177,206,31,201,109,136,0,80,140,183,3,246,90,252,96,163,189,0,82,204,3,208,20,218,13,208,26,180,20,129,71,149,11,50,2,64, -199,34,90,193,95,229,42,81,83,238,1,160,129,192,139,44,7,192,120,4,96,63,150,0,34,163,40,2,210,83,29,192,141,84,7,136,101,29,201,72,0,121,137,85,19,193,218,113,162,238,109,10,254,54,176,212,158,149,20,0,242,48,112,86,31,246,246,71,242,35,0,64,132,173, -166,244,209,44,112,67,219,161,125,0,232,96,32,58,152,46,85,251,39,216,120,15,103,129,160,158,36,66,179,200,92,243,123,141,206,101,224,4,209,46,132,116,68,79,64,224,68,86,131,105,120,55,162,3,248,208,65,70,89,4,124,80,29,16,188,224,251,196,208,150,154, -178,101,90,29,224,58,246,235,32,239,89,197,68,173,88,218,65,110,20,35,17,70,14,108,77,151,131,165,100,30,168,177,125,32,248,218,200,190,135,76,61,26,81,204,246,71,50,36,1,52,45,78,94,18,185,85,172,186,183,66,167,209,58,69,15,244,196,14,64,170,227,108, -104,245,27,141,2,104,25,12,64,103,46,2,160,106,96,247,138,46,139,67,8,164,60,6,152,40,38,171,96,99,101,128,8,146,147,143,159,52,149,8,82,131,47,86,142,7,177,98,156,65,227,255,161,135,132,183,5,196,226,217,166,27,127,26,246,143,162,241,71,114,24,158,19, -192,101,241,233,106,7,44,88,5,26,1,47,214,148,2,92,2,160,141,127,220,97,187,207,225,183,186,83,22,0,228,151,93,112,128,67,116,26,127,16,59,168,136,192,28,0,36,19,34,32,61,213,1,185,0,174,249,35,153,69,35,158,191,205,144,247,127,24,15,17,0,122,154,1,81, -205,160,72,106,56,147,71,33,179,125,0,36,213,71,140,127,202,86,156,118,1,164,161,23,155,224,50,188,15,98,168,10,64,195,219,1,201,208,67,40,77,213,1,104,252,17,228,223,221,121,10,240,98,152,141,173,54,44,0,172,126,0,157,189,0,124,101,142,112,38,199,2, -103,116,9,192,87,238,244,11,34,207,167,126,220,52,112,90,60,134,155,0,81,44,21,173,228,26,176,3,170,0,36,179,34,192,252,234,128,172,52,254,152,240,135,100,197,109,167,128,96,29,99,202,166,220,116,9,64,143,253,39,255,200,87,225,12,101,242,54,200,168,0, -240,148,56,130,188,133,75,249,224,209,225,11,14,209,109,202,113,179,150,183,128,24,174,1,144,37,188,41,144,12,138,128,244,84,7,100,157,241,199,53,127,36,27,238,55,222,10,22,199,20,147,4,128,254,92,52,69,82,139,50,233,123,102,122,9,32,160,47,114,162,130, -139,8,0,83,16,173,224,24,187,24,52,41,142,247,5,146,97,17,144,166,196,192,44,0,179,253,145,172,185,211,180,56,121,236,183,129,104,51,39,2,224,20,189,186,186,1,82,39,216,225,183,6,5,107,230,204,112,70,5,128,213,37,250,117,31,116,139,199,180,253,112,78, -58,9,132,162,10,162,72,18,120,119,32,25,37,31,69,0,245,252,49,219,31,201,22,161,77,95,118,223,25,228,171,57,243,95,92,22,247,136,0,72,205,155,165,137,240,222,114,151,215,234,204,220,28,154,140,9,0,154,248,16,106,242,250,245,212,64,210,181,19,167,224, -54,239,32,184,2,224,57,230,50,208,164,4,96,46,0,146,121,17,144,63,213,1,216,222,23,201,42,243,175,14,131,213,57,15,44,142,153,166,109,147,46,71,211,114,64,77,215,254,104,30,173,80,151,0,8,58,23,79,136,130,51,161,4,240,35,81,128,137,39,130,115,242,201, -160,70,7,241,46,65,50,238,165,164,107,138,224,104,126,134,40,102,251,35,217,35,171,137,227,24,5,193,82,7,174,224,85,166,110,153,182,2,166,141,233,244,56,143,196,248,187,105,83,192,66,21,0,250,226,248,28,199,218,47,154,141,111,217,151,193,209,185,16,212, -200,0,128,134,145,0,36,11,34,1,187,214,65,239,131,183,130,150,136,230,212,190,71,251,239,39,175,223,161,241,71,178,198,243,23,196,82,112,23,255,39,112,66,145,169,219,166,77,233,216,64,160,84,59,218,146,191,111,113,8,46,171,83,176,102,234,184,100,78,0, -104,201,240,135,190,157,230,137,234,114,154,190,75,156,197,6,129,179,190,14,174,105,167,177,161,42,154,140,57,1,72,134,35,1,118,55,36,182,188,5,137,109,239,228,208,110,199,32,49,244,4,209,233,14,52,254,72,134,81,137,157,25,4,209,214,66,140,255,221,44, -2,96,54,22,142,8,0,78,76,189,27,160,162,129,171,200,106,245,20,59,108,5,39,0,44,78,1,188,101,14,151,170,163,13,34,71,123,148,11,233,57,102,84,4,248,79,253,26,4,206,184,19,196,64,25,121,150,13,38,43,4,52,236,22,136,100,44,22,192,198,151,230,142,108,249, -215,239,16,100,116,189,75,137,60,178,135,128,142,187,113,248,206,5,79,201,61,196,248,215,164,199,150,17,91,36,232,236,73,67,103,226,105,154,102,207,212,145,202,216,48,32,209,198,131,51,96,179,15,12,105,41,202,16,218,194,145,7,171,144,222,99,230,24,127, -44,216,90,103,66,244,237,199,33,250,206,147,32,237,221,4,90,124,56,25,183,97,211,3,209,179,65,70,225,81,38,199,193,222,50,29,172,53,221,185,35,87,56,59,216,220,75,33,210,251,19,250,1,112,218,38,50,74,70,95,27,185,254,172,192,139,101,196,201,156,70,174, -195,99,211,226,245,127,196,150,113,22,22,1,208,41,120,173,35,175,194,18,0,90,114,9,192,161,239,1,195,129,133,79,127,212,132,119,120,193,53,253,76,112,77,59,3,228,125,155,32,177,123,29,200,251,183,130,58,116,136,60,215,254,63,123,231,1,47,71,89,245,255, -179,51,179,237,246,126,211,147,155,222,72,2,161,6,233,72,145,162,2,214,191,149,87,254,250,250,250,170,20,11,254,241,125,21,21,21,20,17,20,72,40,210,91,66,73,40,161,164,87,82,110,239,189,238,189,119,123,239,51,187,255,231,121,54,137,160,160,185,179,51, -91,207,55,159,225,134,36,187,59,59,237,252,206,121,78,17,81,3,32,234,18,139,129,80,49,19,10,63,241,229,99,221,42,179,7,67,233,87,217,90,171,24,106,252,123,20,3,65,212,50,254,196,139,212,240,37,204,240,11,186,69,192,147,45,177,4,165,62,188,134,7,45,175, -99,213,105,50,46,115,33,47,5,192,241,99,39,231,84,211,37,0,65,163,77,221,94,178,209,170,11,217,134,32,200,73,221,52,196,251,186,138,109,8,146,211,87,58,177,15,84,4,36,97,131,243,48,9,48,241,217,178,82,249,105,205,165,192,9,120,229,33,8,130,32,105,37, -97,143,244,172,67,173,28,39,56,30,139,167,205,152,165,59,179,72,70,92,48,206,170,0,18,107,46,8,130,32,8,146,165,226,129,215,128,177,52,125,189,128,185,108,61,112,113,204,48,70,16,4,65,210,238,197,106,64,199,233,166,94,6,24,143,131,96,224,161,108,78,81, -81,186,246,61,157,2,128,186,240,83,95,2,160,69,3,26,14,120,92,2,64,16,4,65,50,65,4,208,50,93,89,189,128,19,67,129,242,81,0,208,240,191,172,36,64,186,230,194,167,50,9,16,65,16,4,65,114,140,116,47,1,196,211,242,82,4,65,16,4,65,1,128,32,8,130,32,8,10,0, -4,65,16,4,65,80,0,100,34,52,219,50,142,189,249,17,4,65,16,36,43,5,128,72,182,192,84,95,68,219,138,75,49,17,162,49,156,212,135,32,8,130,100,49,26,214,11,32,109,125,178,211,41,0,104,22,159,132,87,0,130,32,8,146,173,208,136,116,68,10,179,150,192,83,118, -102,163,49,240,89,67,193,124,20,0,199,244,143,188,3,142,141,128,16,4,65,144,76,17,1,114,204,159,20,142,129,103,60,16,206,215,8,128,95,214,65,139,139,16,149,162,120,213,33,8,130,32,233,53,254,241,56,196,226,146,60,127,86,3,113,13,159,190,73,153,233,108, -167,151,212,18,128,20,79,253,234,129,100,182,129,52,97,134,152,211,13,241,96,16,175,124,68,237,39,11,8,179,103,130,118,213,178,172,220,125,79,32,2,102,103,128,60,28,227,56,12,24,81,213,144,240,28,7,6,29,15,69,6,45,20,23,232,200,255,167,238,138,163,198, -95,140,69,88,75,96,25,80,79,54,148,127,2,64,195,198,40,6,101,188,140,28,240,24,68,98,169,49,192,226,192,8,132,182,237,133,240,251,13,32,142,154,32,230,245,147,83,134,209,7,36,53,2,0,200,131,173,232,107,55,64,241,247,255,35,171,118,125,216,236,133,109, -77,228,222,137,72,104,252,145,212,152,20,141,6,116,2,7,133,70,45,76,47,47,132,5,51,74,97,86,149,250,109,246,99,228,151,24,139,78,57,7,224,184,95,9,137,132,248,252,18,0,113,49,14,209,144,20,158,250,49,211,176,7,163,218,85,0,212,211,247,61,250,60,4,223, -219,3,113,143,15,200,149,5,26,65,75,54,30,64,139,115,8,144,20,33,73,224,123,246,85,48,92,118,1,104,151,46,204,138,93,142,197,226,112,184,103,18,194,196,248,211,7,50,130,164,236,118,33,215,158,203,23,6,187,39,4,29,163,14,152,81,81,8,107,23,214,192,172, -234,34,21,63,83,100,2,64,38,212,144,165,45,7,32,109,150,44,236,19,193,49,236,11,112,117,220,148,23,2,168,226,138,72,234,69,77,168,199,239,249,195,195,32,77,90,65,83,104,4,77,113,33,222,89,72,122,224,137,224,12,133,137,32,181,100,141,0,16,165,24,4,194, -98,74,195,176,8,146,136,2,144,91,134,252,231,248,181,103,178,251,96,194,225,135,85,117,85,112,246,178,105,192,169,80,113,71,157,81,49,46,130,156,28,0,13,167,9,211,45,93,199,43,221,242,220,39,43,122,64,4,64,72,82,103,9,192,255,236,43,224,188,253,183,32, -57,221,9,195,207,161,7,131,164,143,120,56,2,124,117,37,232,86,44,206,154,125,214,106,121,168,45,43,128,168,132,205,186,144,52,95,139,60,199,140,126,67,159,5,222,173,31,97,226,84,121,1,16,78,44,1,76,81,0,16,195,15,33,79,52,18,116,69,210,150,3,144,110, -235,230,145,245,80,140,199,33,44,6,20,223,153,192,150,119,192,243,199,13,160,209,10,160,209,225,180,65,36,205,198,63,74,30,42,122,29,148,222,241,67,224,106,170,178,199,11,35,219,39,86,204,128,26,42,2,68,20,1,72,250,163,2,122,34,74,251,198,93,176,179, -121,140,165,214,40,9,141,70,211,101,128,169,6,23,232,4,225,16,49,254,1,71,56,109,93,237,210,42,0,56,94,227,145,121,74,33,40,249,21,221,151,104,103,47,120,239,121,152,60,112,181,137,176,43,130,164,19,106,252,181,90,40,191,235,167,160,63,239,204,172,219, -253,34,163,22,62,117,198,60,168,42,53,160,8,64,50,2,42,2,186,199,156,208,216,111,85,244,125,195,82,24,196,120,20,100,46,1,120,201,150,182,36,192,244,9,0,162,194,156,35,126,183,220,37,153,128,168,160,0,16,37,240,222,187,1,98,129,32,128,128,9,126,72,250, -141,63,156,48,254,103,101,237,215,72,136,128,58,34,2,140,40,2,144,140,64,43,240,208,208,107,6,135,87,185,168,123,136,56,163,180,44,93,142,41,99,2,64,147,190,174,118,105,19,0,52,140,239,183,132,220,178,122,39,144,35,22,136,122,149,59,129,59,247,67,184, -190,5,52,5,70,188,67,144,12,242,252,207,202,250,175,243,247,72,128,17,115,2,144,180,67,115,3,195,68,140,54,244,41,23,5,8,136,190,99,195,233,166,158,3,16,116,134,189,98,36,125,247,69,122,151,0,180,156,67,206,235,104,178,5,61,232,10,41,17,8,188,178,21, -147,253,144,140,241,252,203,114,196,248,255,147,8,40,193,72,0,146,1,81,0,158,131,97,139,135,53,170,82,2,191,232,133,152,140,158,118,28,175,1,207,68,192,25,13,164,111,36,78,218,172,30,245,226,195,222,168,51,30,139,203,120,45,167,152,0,144,70,199,33,218, -209,195,146,173,16,36,221,198,191,60,199,140,255,71,70,2,80,4,32,105,132,46,59,135,194,34,17,1,202,68,145,253,17,183,236,196,66,34,2,236,233,236,148,149,62,1,64,212,143,125,208,227,20,35,177,248,84,243,0,56,22,1,240,42,210,14,56,210,218,5,49,175,15,35, -0,72,218,136,231,184,241,71,17,128,100,158,8,208,192,132,93,25,39,210,23,245,200,126,173,20,141,217,210,121,28,210,92,5,192,121,104,32,64,78,4,32,40,250,33,162,64,47,0,113,104,4,20,175,11,65,144,41,120,254,154,60,48,254,255,44,2,176,58,0,73,163,237,225, -52,224,14,68,88,46,90,178,120,163,46,89,109,128,105,14,128,185,203,99,139,75,233,179,63,233,139,0,112,108,9,192,21,9,74,126,205,20,59,134,209,28,128,48,49,254,74,84,2,196,236,46,244,254,145,180,25,127,200,35,227,255,97,17,128,213,1,72,26,35,0,100,139, -68,37,69,18,83,189,17,34,0,228,152,210,132,217,179,228,101,4,128,38,64,120,205,33,111,208,21,117,77,89,0,104,184,99,2,32,249,16,78,92,20,241,110,64,114,202,248,139,225,40,217,148,187,174,105,154,142,39,172,236,125,130,213,1,72,46,64,35,8,190,168,27,56, -205,212,77,105,140,136,95,191,61,108,213,164,209,255,76,107,209,187,134,215,68,136,16,160,107,32,11,166,42,156,162,49,145,40,47,103,242,66,196,104,196,37,0,36,103,140,127,203,198,195,208,183,179,147,37,58,45,184,112,25,156,114,253,25,160,73,162,39,255, -246,126,59,220,187,119,16,108,129,8,172,153,94,2,191,252,228,34,152,86,164,87,84,4,188,117,100,8,108,238,32,104,113,112,16,146,74,39,148,220,36,154,36,103,3,68,98,33,86,5,48,85,1,64,63,86,138,198,36,247,88,192,78,243,225,242,46,2,64,31,74,17,111,20,220, -99,126,171,70,152,234,1,208,128,20,23,193,29,177,39,127,0,170,42,80,0,32,105,48,254,183,43,110,252,143,252,109,15,52,60,115,0,2,54,47,248,173,94,168,127,106,31,244,19,49,32,151,17,87,8,126,248,122,39,52,79,122,193,30,136,194,150,78,11,124,125,99,11,140, -123,148,155,93,130,37,130,72,58,160,81,45,189,78,96,37,129,201,224,143,122,89,62,154,70,70,42,127,60,30,247,145,87,57,210,121,28,210,42,185,165,72,12,162,1,113,92,142,10,163,161,23,103,56,249,4,74,126,90,53,128,6,167,150,33,234,243,225,108,127,101,219, -251,82,227,223,190,185,1,116,133,122,224,180,252,137,109,162,117,84,246,123,54,78,120,192,17,140,64,145,142,7,129,8,246,50,131,0,237,102,31,124,115,19,17,1,94,133,69,192,153,243,160,18,115,2,144,84,221,139,228,87,161,33,249,0,56,173,0,8,75,1,182,44,61, -37,195,43,112,224,183,69,92,17,43,184,120,109,250,204,112,26,251,0,80,21,22,7,247,120,208,36,43,131,146,188,198,25,74,62,127,130,9,0,173,0,128,65,0,68,101,207,95,173,108,255,19,198,191,64,247,225,102,100,52,196,153,68,145,177,72,220,164,15,142,79,165, -183,8,21,3,237,22,34,2,88,36,64,185,118,170,84,4,92,133,213,1,72,170,4,0,177,61,244,154,75,22,26,133,142,178,73,128,50,246,33,22,55,199,99,16,74,231,113,72,107,4,128,118,79,244,219,66,163,26,89,9,148,156,34,17,0,174,186,10,52,6,67,98,103,16,68,37,227, -15,170,25,255,189,208,190,165,145,24,127,253,71,71,178,146,8,110,125,220,75,139,143,139,128,151,91,85,88,14,192,234,0,36,37,46,40,148,24,147,111,254,230,12,91,217,36,192,169,222,104,52,2,224,26,241,79,178,61,225,242,48,7,32,241,197,1,2,206,200,104,76, -70,29,36,77,186,112,19,1,16,135,228,30,20,92,69,25,112,37,197,137,69,33,4,201,42,227,191,7,58,182,212,131,206,168,131,84,118,19,139,31,19,1,29,116,57,224,101,117,114,2,42,177,58,0,81,211,246,144,251,165,184,32,121,1,96,15,77,202,86,215,209,160,56,146, -238,227,144,222,70,64,180,25,131,41,48,17,151,98,83,30,165,68,5,128,39,234,2,127,52,185,82,64,174,184,16,248,170,114,136,75,18,222,21,72,118,121,254,155,27,64,107,212,67,58,90,137,158,88,14,80,73,4,92,133,137,129,136,138,215,46,77,254,43,86,32,2,96,15, -78,202,170,36,160,182,207,214,231,25,206,107,1,192,166,33,185,162,230,72,64,154,242,88,96,142,205,3,240,130,55,154,100,41,32,249,96,126,122,45,0,10,0,68,201,135,140,202,158,127,59,245,252,11,210,99,252,255,49,18,208,174,98,36,0,151,3,16,197,175,219,120, -28,116,90,94,145,36,64,71,216,2,188,134,151,245,218,136,95,204,115,1,192,107,32,64,51,33,253,162,121,234,221,0,57,136,72,97,112,40,145,8,56,107,58,46,1,32,138,26,127,213,19,254,140,233,53,254,31,41,2,212,168,14,56,3,171,3,16,165,5,0,16,227,175,5,189, -54,57,1,16,146,130,224,14,219,137,51,58,69,1,64,123,0,144,235,217,214,239,195,37,0,144,64,244,140,7,70,57,25,77,64,196,88,20,108,193,137,164,247,67,152,59,43,35,30,166,72,14,144,142,108,255,12,16,1,234,87,7,160,8,64,148,33,70,156,189,18,114,15,37,91, -253,237,137,56,192,39,122,100,53,1,138,134,36,127,192,25,49,229,181,0,96,15,49,242,244,8,58,35,253,114,219,33,154,131,163,73,239,134,48,103,102,98,28,48,54,4,66,146,52,254,106,133,253,143,50,227,255,47,178,253,51,0,117,171,3,80,4,32,202,9,214,178,194, -228,187,89,58,66,102,8,139,129,41,155,209,99,77,240,38,189,230,160,53,191,5,192,49,236,131,222,62,78,198,64,30,26,122,177,4,146,23,81,252,244,26,208,176,74,0,124,184,32,153,103,252,19,165,126,153,231,249,127,212,131,245,131,213,1,38,172,14,64,50,16,122, -11,149,43,208,206,218,18,52,177,40,244,84,111,73,54,7,199,18,26,147,194,82,56,221,199,34,35,4,0,57,24,189,114,198,50,210,228,11,90,134,65,79,66,82,7,161,162,12,248,218,106,172,4,64,50,208,248,239,73,107,182,191,28,17,112,188,58,224,70,172,14,64,50,16, -129,231,160,76,1,1,48,225,31,145,213,63,142,230,190,5,29,145,62,41,154,254,107,56,35,4,128,115,216,55,40,137,177,41,91,95,26,1,112,71,28,224,73,182,18,128,227,216,50,0,136,40,0,144,12,51,254,172,201,143,46,171,114,84,254,185,58,64,217,156,0,92,14,64, -228,66,187,207,26,245,2,203,1,72,22,186,252,204,201,168,0,160,209,110,251,160,183,59,19,142,71,70,8,0,183,41,48,22,241,68,237,220,20,167,34,209,54,165,129,168,79,153,68,192,5,115,177,18,0,153,154,161,75,129,231,159,234,38,63,170,136,128,77,152,19,128, -100,136,0,136,209,6,64,180,2,128,79,234,125,162,177,8,235,1,32,167,4,144,205,177,25,241,161,0,56,78,200,29,117,251,109,225,145,169,143,69,212,64,52,30,129,201,64,242,213,20,218,69,117,0,60,143,119,8,114,210,158,127,190,101,251,203,17,1,39,170,3,54,97, -159,0,36,51,34,0,229,133,134,228,157,214,136,29,220,97,135,172,8,0,29,3,236,26,245,247,163,0,56,134,24,150,226,30,115,176,139,147,49,23,89,67,158,50,227,190,193,228,35,0,117,179,129,43,41,196,68,64,228,164,140,191,250,97,127,125,206,76,169,252,123,117, -0,77,12,84,97,57,160,196,8,17,20,1,200,73,66,69,99,178,152,3,99,16,148,124,83,46,1,164,54,46,236,137,90,220,166,224,72,38,28,11,46,83,78,138,99,200,215,206,201,152,205,204,113,2,140,7,146,111,168,68,147,0,89,34,32,230,1,32,105,52,254,29,91,178,55,236, -255,175,34,1,199,171,3,110,84,163,68,240,204,99,145,0,172,14,64,254,157,163,71,12,112,101,73,242,17,0,147,127,16,68,54,4,104,138,14,43,249,124,191,53,52,24,242,68,188,40,0,62,44,0,218,228,172,192,211,53,24,107,112,28,130,162,63,201,43,67,0,97,254,28, -0,81,196,187,4,73,143,231,191,185,49,107,178,253,229,136,128,34,21,19,3,177,58,0,249,119,176,4,64,157,160,72,5,128,201,55,32,111,6,0,113,114,61,230,96,135,20,201,140,235,52,99,4,128,173,215,219,45,6,197,232,212,135,2,241,224,9,59,192,26,26,79,122,31, -180,203,22,225,18,0,146,30,227,191,37,251,215,252,79,54,18,144,16,1,152,24,136,164,88,0,196,226,204,248,27,146,76,0,164,19,104,39,252,195,196,249,156,122,43,97,186,4,96,237,245,182,100,202,49,201,24,1,224,53,7,71,195,62,113,108,234,51,1,52,16,142,133, -136,34,75,62,15,128,9,0,157,22,59,2,34,31,190,225,213,14,251,103,80,111,255,212,138,0,117,102,7,160,8,64,62,46,2,160,196,250,191,43,108,7,91,72,94,5,0,221,7,107,143,7,5,192,63,18,116,134,67,158,137,96,23,47,99,38,0,53,216,35,222,158,164,247,65,152,63, -23,248,138,114,0,92,75,68,62,224,249,171,157,237,175,205,113,207,255,163,68,192,137,229,128,141,88,29,128,164,6,26,178,175,45,43,72,250,125,104,213,153,63,234,158,114,5,0,253,252,168,79,244,57,6,189,189,40,0,254,217,134,131,99,192,219,200,9,114,102,43, -11,48,234,235,75,254,96,148,151,130,48,111,22,196,49,15,0,57,102,252,213,15,251,231,78,182,255,84,249,96,117,0,54,11,66,212,22,157,180,246,191,74,129,4,192,17,98,191,229,36,0,82,219,230,179,134,6,60,147,193,73,20,0,31,129,165,199,211,32,231,89,40,104, -4,54,19,192,27,117,37,189,15,218,21,75,48,17,16,73,81,182,191,62,175,167,80,126,120,118,128,90,57,1,6,172,14,64,78,76,0,84,162,3,224,144,167,123,202,229,127,9,1,192,129,115,196,223,34,134,50,231,130,204,40,1,96,235,243,180,73,209,184,140,68,64,14,60, -17,39,75,204,72,22,221,234,229,216,16,8,141,63,102,251,167,80,4,20,169,218,54,184,14,171,3,16,38,0,170,75,141,178,50,247,63,244,104,136,69,192,228,31,0,158,155,122,2,32,93,49,176,245,122,142,102,210,113,201,44,1,208,235,25,242,89,67,35,156,156,142,128, -228,196,12,121,186,146,143,0,44,89,192,150,2,48,15,0,141,63,118,248,75,109,36,0,171,3,16,53,175,177,233,21,133,73,191,143,53,104,2,71,200,34,171,2,128,238,4,141,114,163,0,248,24,66,222,104,216,61,30,104,230,4,57,163,129,57,24,244,116,38,127,64,106,170, -64,168,155,147,200,252,70,242,235,33,145,18,227,143,158,255,191,21,1,216,54,24,81,242,218,138,39,214,255,107,203,147,79,0,28,242,244,64,72,10,176,234,179,41,185,168,156,6,66,158,168,131,56,185,157,153,116,108,184,76,59,89,147,173,206,195,114,18,1,121, -78,11,163,190,126,8,75,201,135,16,217,50,0,118,4,204,59,207,31,123,251,167,95,4,224,236,0,68,105,104,233,93,89,161,30,74,11,146,111,0,52,224,105,151,103,104,137,77,243,76,4,59,137,131,107,67,1,240,47,176,244,184,15,201,25,178,76,107,50,29,97,139,34,131, -129,116,107,87,17,79,16,243,0,242,201,248,99,182,127,230,80,252,1,17,96,82,169,58,0,103,7,228,15,82,44,206,188,255,100,111,191,88,92,98,9,128,114,194,255,180,188,221,222,239,61,28,207,176,137,179,25,39,0,172,221,158,214,176,55,234,144,213,16,72,12,194, -160,167,35,233,125,160,13,129,248,234,74,140,2,160,241,79,138,163,152,237,47,59,18,192,170,3,44,42,205,14,32,34,160,26,171,3,242,6,106,248,103,86,21,37,111,155,130,19,96,9,154,100,37,0,82,75,107,106,178,31,200,180,99,147,113,2,192,109,10,216,93,99,129, -86,94,198,50,128,70,195,65,175,171,53,249,131,82,90,12,218,165,139,48,15,32,231,141,191,168,162,231,191,23,218,48,219,63,41,17,80,164,106,78,0,86,7,228,197,117,68,46,164,2,189,22,166,41,177,254,239,237,130,128,232,37,70,115,106,102,147,86,30,136,33,41, -108,238,112,215,163,0,248,55,196,164,56,76,182,59,15,242,50,66,240,2,167,37,39,169,27,194,82,48,233,253,208,159,185,6,64,194,8,64,110,123,254,130,138,107,254,245,184,230,175,80,36,224,239,205,130,48,39,0,153,26,82,44,198,162,61,5,122,33,233,247,234,113, -53,201,139,64,208,9,128,246,112,55,113,110,71,50,237,248,112,153,120,210,198,155,156,123,227,50,18,1,88,30,64,208,204,234,52,147,69,119,250,42,208,20,21,210,133,31,188,139,114,205,176,164,160,206,31,179,253,21,22,1,102,20,1,136,12,135,50,30,135,153,149, -201,135,255,197,184,8,3,238,78,214,116,110,202,118,73,203,209,254,255,7,195,190,104,198,121,148,25,41,0,204,29,174,6,114,176,60,156,140,60,128,72,44,76,148,90,115,210,251,32,204,155,147,40,7,20,113,25,32,215,60,127,13,78,245,67,17,128,34,32,47,208,242, -60,204,170,78,94,0,76,250,135,143,173,255,107,167,110,100,121,13,140,55,59,118,103,226,241,201,72,1,224,158,8,76,186,70,3,205,156,118,234,187,71,163,0,93,206,166,228,119,130,231,64,127,198,106,128,8,10,128,92,50,254,170,103,251,227,154,191,250,34,96, -147,122,179,3,176,58,32,119,160,217,255,229,197,122,168,40,78,190,255,127,143,171,5,66,162,140,250,127,242,207,165,168,20,158,104,113,30,70,1,112,146,196,196,56,152,219,93,187,228,8,0,129,245,3,232,3,79,196,145,244,126,232,215,157,14,26,28,15,140,198, -255,36,140,63,102,251,167,78,4,116,88,212,235,24,136,213,1,185,37,0,102,85,21,1,167,64,249,109,151,179,65,118,255,127,151,41,208,97,235,247,14,102,226,49,226,50,245,228,153,154,29,187,228,24,94,58,162,209,19,118,64,159,187,61,233,125,160,131,129,248, -217,51,176,28,48,235,141,191,186,217,254,108,164,47,26,255,148,137,128,34,85,151,3,176,58,32,87,224,57,13,204,169,41,73,250,125,124,81,15,171,255,23,184,169,15,18,226,117,28,76,182,185,246,68,252,153,121,65,101,172,0,152,108,119,53,132,188,81,139,12, -209,5,177,120,12,58,28,71,146,222,7,141,65,15,186,211,87,67,60,18,193,187,41,171,61,127,181,179,253,209,248,167,35,18,160,110,78,128,1,69,64,150,123,255,37,133,58,168,45,51,38,253,94,180,251,159,51,108,101,203,203,83,182,33,26,13,76,180,56,183,103,234, -113,202,88,1,224,30,243,187,108,189,222,131,188,110,234,7,93,203,235,216,154,13,29,16,148,44,6,98,52,52,56,29,48,59,13,5,102,251,231,135,8,80,171,79,0,38,6,102,181,0,152,85,89,4,2,159,188,137,107,183,31,97,93,0,167,108,252,201,71,135,60,17,215,200,17, -219,33,20,0,83,189,193,201,29,62,214,96,223,198,203,24,12,68,75,53,44,193,49,24,246,246,36,189,31,186,83,87,2,63,115,90,34,140,140,100,149,231,143,189,253,243,68,4,96,159,0,228,31,13,27,241,188,235,166,37,31,254,23,227,81,232,118,53,129,86,78,248,95, -203,129,99,200,127,196,51,17,176,160,0,144,193,200,17,235,118,73,140,201,176,188,26,136,74,17,162,220,146,79,188,212,20,24,65,119,230,169,184,12,144,101,198,31,167,250,229,107,36,0,171,3,242,157,24,241,254,75,11,117,48,77,129,241,191,35,222,94,48,7,70, -101,181,255,165,205,236,70,143,218,222,165,73,237,40,0,100,96,237,246,116,187,77,254,118,94,86,53,128,0,29,206,163,44,31,32,89,140,151,156,75,206,38,143,213,0,104,252,19,217,254,104,252,51,82,4,168,94,29,128,34,32,43,16,137,0,152,83,83,12,90,5,194,255, -109,246,67,16,145,194,83,46,255,163,72,209,88,140,8,128,247,50,58,82,146,201,59,71,51,39,205,157,238,247,104,38,229,212,5,128,14,198,124,3,48,238,79,190,250,66,187,122,5,8,115,103,65,92,196,101,128,204,54,254,152,237,159,207,34,224,131,213,1,38,204,9, -200,91,104,246,255,252,105,165,201,71,18,136,243,216,102,63,194,156,201,41,27,86,65,3,126,107,168,139,216,175,246,76,62,86,92,166,159,204,129,61,150,183,228,60,113,169,98,163,141,27,218,28,10,44,3,24,244,96,56,239,76,128,48,46,3,100,182,231,47,168,104, -252,49,219,63,91,34,1,84,4,220,168,70,78,192,153,88,29,144,233,208,228,63,218,248,71,137,225,63,212,121,164,109,229,229,148,255,9,122,158,150,178,191,23,246,102,118,242,88,198,11,128,209,35,182,195,62,75,112,140,182,83,156,186,18,20,160,197,118,16,228, -204,21,248,71,12,151,158,71,132,128,1,151,1,50,214,248,171,24,246,199,53,255,172,20,1,44,39,192,171,160,8,48,96,36,32,27,4,0,77,254,155,106,27,249,143,162,197,126,80,86,247,191,227,23,98,223,174,201,55,50,253,120,101,188,0,8,56,195,126,91,159,119,155, -156,101,0,154,185,73,147,56,38,252,67,73,239,135,118,217,34,208,46,93,136,201,128,121,102,252,105,123,95,45,102,251,103,167,8,176,168,85,34,136,213,1,153,122,222,117,2,7,11,166,39,31,254,143,199,99,204,121,148,19,254,215,16,241,17,116,69,76,227,205,206, -247,81,0,40,192,224,126,203,102,186,166,50,229,19,65,126,5,69,63,52,89,247,43,112,164,56,22,5,192,114,192,204,50,254,170,151,250,225,154,127,86,139,128,14,172,14,200,31,239,95,138,65,109,121,161,34,189,255,71,125,253,196,121,236,147,25,254,231,192,220, -233,222,230,183,133,124,40,0,20,17,0,230,93,33,119,212,170,145,17,214,161,179,1,154,108,7,20,169,6,48,92,114,46,112,21,101,52,206,132,119,91,134,120,254,101,152,237,143,252,11,17,80,132,213,1,121,3,157,220,190,104,102,169,34,239,213,100,219,7,97,41,40, -43,252,79,157,213,254,61,147,175,102,195,49,203,10,1,224,54,5,92,147,237,174,93,130,78,222,112,160,49,95,31,81,115,201,55,5,226,167,213,128,254,172,211,32,30,14,227,221,150,86,227,175,118,182,127,35,102,251,231,152,8,80,179,99,96,37,46,7,100,128,241, -143,67,49,57,31,117,181,201,11,0,218,122,166,153,56,141,90,25,163,127,19,225,255,168,109,232,128,117,15,10,0,5,25,216,107,222,164,209,202,91,6,8,75,33,168,183,42,51,142,217,120,213,37,180,205,20,222,113,105,245,252,213,206,246,199,53,255,92,19,1,106, -118,12,188,10,103,7,164,29,81,138,195,188,218,18,48,232,146,111,219,62,232,233,32,78,227,32,240,50,4,0,13,255,79,182,185,182,121,38,2,78,20,0,10,50,184,223,242,158,220,101,0,58,27,128,42,186,72,44,249,27,95,127,198,26,16,22,214,97,50,96,58,30,228,152, -237,143,36,43,2,84,157,29,128,34,32,93,8,196,46,44,153,85,174,204,179,192,178,19,196,88,68,86,248,95,147,8,255,191,152,45,199,45,107,4,128,219,20,112,154,219,93,239,81,133,53,229,139,67,163,133,73,255,8,116,59,155,146,223,17,157,22,10,46,191,16,32,18, -197,187,46,197,198,95,131,217,254,136,82,145,0,28,32,148,67,222,63,77,254,43,128,26,5,106,255,105,210,120,171,253,125,208,241,250,169,27,127,34,66,66,174,168,121,232,128,117,7,10,0,21,232,223,99,126,145,19,228,237,114,140,252,58,108,222,166,200,126,24, -174,184,16,184,138,114,76,6,76,21,152,237,143,40,44,2,58,44,88,29,144,43,208,228,191,165,179,43,20,185,125,105,235,95,107,112,28,120,205,212,203,255,104,243,159,201,118,215,155,158,137,128,7,5,128,10,244,237,152,216,225,179,4,77,114,74,2,117,156,30,218, -29,71,193,21,182,37,189,31,44,25,144,24,162,120,40,132,119,95,10,140,63,246,246,71,148,22,1,88,29,144,43,198,63,49,248,71,137,214,191,148,67,230,237,242,26,255,64,98,252,111,215,214,177,23,178,233,248,101,149,0,240,219,195,62,83,163,99,11,85,90,83,254, -162,26,30,220,97,59,52,40,148,156,89,240,153,203,65,163,211,98,103,64,85,141,191,168,242,84,63,204,246,207,119,17,160,110,78,0,46,7,168,13,77,254,91,52,163,12,116,218,228,77,25,157,250,215,195,70,255,78,61,252,79,157,82,175,37,52,48,120,192,178,23,5, -128,138,244,108,159,120,142,217,92,25,15,109,218,26,248,176,121,135,34,61,1,116,171,151,131,110,205,74,136,227,124,0,21,61,127,65,213,193,62,152,237,143,34,64,205,234,0,236,24,168,242,249,35,39,208,160,229,97,233,108,101,146,255,14,19,239,223,31,245, -16,103,81,70,158,25,237,253,95,111,127,37,228,142,102,85,88,56,235,4,192,208,1,235,251,238,49,127,27,47,99,25,128,182,6,30,242,116,65,191,187,45,249,29,209,104,160,224,186,79,97,30,128,26,55,182,218,237,125,49,219,31,249,71,17,96,70,17,144,117,62,2,121, -246,206,173,45,129,210,66,125,210,239,69,43,196,142,88,118,201,242,254,233,115,36,38,197,165,246,55,70,159,203,182,99,152,117,2,32,26,20,197,193,125,150,231,229,44,3,208,181,157,104,44,2,7,38,222,86,100,95,12,23,156,13,194,162,58,114,245,96,20,64,73, -227,175,118,182,63,122,254,200,199,138,0,156,29,144,53,208,177,191,43,231,85,42,242,94,237,246,35,108,102,140,32,163,246,159,215,114,224,26,241,31,153,104,85,162,204,12,5,192,191,165,115,235,216,139,98,36,22,210,200,120,136,235,121,3,52,219,15,42,146, -12,8,122,29,20,124,246,10,136,99,73,160,66,234,14,179,253,145,244,138,0,172,14,200,14,104,233,223,172,170,34,69,198,254,82,246,79,188,37,251,181,212,25,237,126,111,252,153,104,80,202,186,132,176,172,20,0,214,94,111,191,185,211,189,157,215,201,75,6,116, -133,237,44,219,83,9,140,159,186,24,248,89,211,201,21,137,67,130,146,53,254,152,237,143,164,91,4,124,184,58,64,121,17,128,213,1,202,157,171,149,243,170,20,121,47,147,127,16,186,156,141,160,227,167,62,68,136,58,161,17,191,232,238,223,51,185,41,27,143,99, -86,10,128,24,185,129,186,182,154,30,231,101,102,126,210,30,207,7,39,223,97,203,1,73,31,192,146,98,40,184,230,50,136,135,112,62,128,124,227,127,60,219,255,118,204,246,71,50,66,4,36,114,2,90,177,58,32,19,189,255,88,156,120,254,133,48,167,166,88,33,239, -127,43,107,0,36,167,252,79,48,240,96,106,118,188,110,237,246,152,81,0,164,144,222,29,19,111,251,172,161,33,142,151,151,12,104,242,13,176,166,15,74,64,151,1,184,234,74,58,143,18,239,78,89,158,255,241,108,255,51,85,48,254,184,230,143,76,93,4,96,78,64,6, -159,31,34,0,78,153,87,169,200,72,22,95,212,13,71,205,59,101,117,254,99,17,0,158,131,206,55,199,30,203,214,99,153,181,2,32,224,8,7,6,246,154,159,211,26,229,15,127,216,109,122,93,153,131,72,140,127,193,85,151,64,60,136,141,129,166,116,35,171,26,246,223, -139,189,253,145,228,69,192,241,156,0,47,138,128,76,241,254,171,201,113,91,48,93,153,198,63,180,244,207,30,154,148,213,249,143,23,56,112,143,249,91,6,247,89,246,161,0,72,3,29,111,142,61,41,69,99,97,57,15,120,186,222,211,237,106,132,65,79,167,50,81,128, -47,92,11,92,101,57,70,1,166,224,249,171,155,237,95,15,90,52,254,136,82,34,96,163,58,145,0,28,37,60,53,98,212,251,175,171,2,78,1,247,159,14,252,217,55,254,22,8,156,78,214,235,5,3,7,61,219,198,31,11,251,162,89,155,0,150,213,2,96,178,205,217,51,209,234, -122,71,118,73,160,20,134,93,166,205,138,236,11,109,15,92,112,245,39,49,10,144,9,198,31,179,253,17,133,69,64,199,137,102,65,202,38,6,94,133,213,1,39,141,68,140,127,85,137,1,22,206,80,198,251,111,182,29,132,17,95,31,91,18,158,178,253,32,2,36,236,19,157, -109,175,141,190,144,205,199,52,171,5,64,76,138,67,235,107,35,15,201,153,13,144,136,2,24,161,209,186,15,44,193,49,101,162,0,95,196,40,192,201,24,127,26,246,47,195,108,127,36,139,68,0,171,14,56,150,24,104,194,234,128,52,9,128,24,172,158,95,13,2,207,41, -112,78,227,204,249,147,219,247,95,107,224,97,228,176,109,163,107,204,111,65,1,144,70,6,246,154,183,123,198,131,109,188,140,41,129,180,229,163,63,234,38,23,194,22,229,162,0,215,94,134,81,128,143,53,254,216,219,31,201,110,17,64,19,3,111,196,234,128,148, -67,215,254,107,202,10,96,209,204,50,69,222,175,199,217,4,61,174,102,217,201,127,177,88,92,106,223,50,250,112,182,31,215,172,23,0,97,111,52,218,179,109,124,61,45,199,144,3,109,12,116,104,114,27,184,34,118,69,246,167,240,203,159,5,190,166,138,118,170,192, -187,246,159,60,127,65,229,246,190,152,237,143,168,43,2,212,175,14,192,72,192,71,30,123,34,0,214,16,239,159,231,148,185,193,183,143,189,2,82,92,146,87,250,167,231,193,214,231,221,53,116,208,210,136,2,32,3,104,122,105,232,217,160,59,98,145,83,18,200,105, -4,112,133,173,176,87,169,138,128,170,10,40,184,225,42,140,2,124,240,230,197,222,254,72,174,137,128,227,57,1,94,21,34,1,37,24,9,248,144,247,47,197,96,90,69,33,44,80,104,237,127,200,219,5,173,246,247,153,243,39,235,25,47,104,160,245,213,225,251,99,82,246, -79,130,205,9,1,224,157,12,58,135,14,88,158,148,27,5,160,21,1,251,38,222,98,53,161,74,80,240,249,107,129,159,51,35,225,245,162,241,79,65,111,127,52,254,72,14,69,2,206,196,18,193,127,100,237,162,26,226,172,41,115,147,191,55,178,145,53,129,147,227,253,211, -230,115,158,137,96,123,215,86,211,214,92,56,174,92,174,92,32,13,207,13,60,44,134,99,65,57,223,136,214,128,218,130,147,176,119,252,77,101,14,106,105,49,20,125,245,122,28,21,140,217,254,72,62,136,0,21,167,8,230,123,117,0,157,248,71,59,254,205,85,168,235, -223,152,175,31,154,108,251,137,247,111,148,245,122,234,100,118,189,109,122,48,18,16,115,194,187,203,25,1,96,233,242,12,76,180,58,55,105,245,242,162,0,90,94,15,187,77,91,192,47,122,20,217,31,227,181,151,129,118,217,162,252,21,1,216,219,31,201,51,17,128, -213,1,202,67,215,252,79,95,92,171,216,251,189,55,186,17,194,98,64,150,247,79,67,255,62,75,104,188,121,227,208,179,185,114,124,115,70,0,196,227,113,104,120,118,224,62,208,104,100,101,223,9,26,1,172,65,19,236,49,189,161,200,254,104,244,122,40,250,214,151, -243,179,36,16,179,253,145,60,20,1,88,29,160,44,52,250,177,104,102,57,212,150,41,51,241,207,228,31,128,122,203,110,208,11,242,188,127,173,65,128,193,125,150,13,62,107,200,157,43,199,152,203,165,11,102,240,128,165,97,172,222,254,182,214,32,55,10,96,72, -68,1,162,202,68,1,12,23,173,3,253,186,211,33,30,8,230,207,3,17,179,253,145,124,142,4,168,84,29,80,153,103,137,129,49,114,80,141,228,152,158,190,168,70,177,247,124,123,248,5,8,73,212,251,159,186,217,163,141,127,34,1,209,213,244,210,224,250,92,58,206,57, -37,0,104,169,72,203,166,225,123,56,65,222,215,58,30,5,216,105,122,77,153,29,210,104,160,248,59,95,3,141,94,151,184,162,243,192,248,171,185,230,143,189,253,145,140,23,1,22,117,68,192,85,52,49,48,143,68,0,93,251,95,85,87,5,37,5,58,69,222,111,216,219,67, -188,255,93,178,51,255,117,70,129,14,160,251,155,181,215,51,137,2,32,131,25,58,104,217,109,31,240,238,226,117,242,190,154,238,88,20,192,29,113,40,178,63,218,21,139,193,120,237,229,16,15,4,114,252,142,85,63,219,31,123,251,35,249,44,2,242,165,58,128,182, -252,173,44,54,192,170,249,213,138,189,231,214,225,103,33,194,198,198,200,240,254,53,204,251,247,55,60,51,240,64,174,29,235,156,19,0,228,68,65,227,11,131,119,11,50,147,1,105,69,128,35,100,134,109,163,155,20,219,167,226,111,125,137,117,9,132,236,157,25, -241,111,141,191,154,83,253,48,219,31,201,86,17,96,194,234,128,41,19,139,199,225,204,197,181,160,19,148,49,79,189,174,22,104,178,202,207,252,167,19,103,199,26,237,207,90,251,60,131,40,0,178,128,206,183,198,222,182,247,123,247,9,50,163,0,244,66,217,59, -254,6,88,131,227,202,28,228,170,10,40,186,241,139,185,89,17,160,246,72,223,45,245,24,246,71,178,82,4,208,1,66,55,170,48,64,40,151,171,3,168,176,153,87,91,162,88,211,31,122,54,222,28,122,26,164,184,40,175,239,191,134,37,152,135,154,94,28,252,99,46,94, -171,57,41,0,162,33,41,222,248,194,224,93,188,94,222,215,227,52,60,120,35,46,216,58,252,156,98,251,84,240,217,43,65,183,246,148,220,234,16,168,122,182,127,3,102,251,35,89,43,2,138,78,148,8,170,83,29,144,107,163,132,137,227,15,122,45,15,103,45,157,166, -216,123,54,217,14,64,187,227,136,124,239,223,192,195,232,81,251,179,67,7,173,61,40,0,178,41,10,176,213,244,182,173,223,183,79,174,8,48,8,70,120,127,242,61,150,60,162,8,2,15,37,223,255,15,182,78,14,177,28,184,105,49,219,31,65,78,42,18,160,86,179,160,227, -163,132,115,69,4,68,164,24,172,174,171,98,235,255,74,32,198,163,204,251,215,104,100,154,57,13,243,6,67,71,159,238,191,59,87,175,209,156,21,0,209,160,24,111,122,97,240,46,65,199,203,60,247,28,68,98,33,120,125,240,9,197,246,73,187,106,89,98,78,128,63,187, -203,2,213,238,237,143,217,254,72,78,138,128,77,106,204,14,200,13,17,32,74,113,168,46,49,192,154,133,202,37,254,237,31,223,10,3,238,14,208,113,242,38,254,209,204,255,129,221,147,79,142,28,178,245,228,234,245,201,229,242,205,215,185,117,108,171,125,192, -187,83,110,66,32,13,27,53,219,14,66,139,253,160,114,55,237,77,95,6,161,110,54,196,35,217,153,15,16,199,108,127,4,145,39,2,104,98,224,70,245,218,6,103,179,8,160,183,251,186,229,211,65,203,43,99,146,104,47,151,183,135,159,39,239,39,175,140,144,214,253, -71,195,146,255,192,67,221,191,163,77,230,80,0,100,101,20,64,130,163,79,245,223,73,91,56,202,187,40,53,172,4,100,203,192,223,216,240,8,69,14,120,73,49,91,10,0,41,150,88,244,202,170,3,170,158,241,63,138,189,253,145,124,17,1,155,80,4,124,144,136,40,193, -210,57,21,48,187,186,88,177,247,124,103,228,5,176,4,199,64,208,104,101,189,94,91,32,64,239,246,137,13,182,126,239,80,46,95,151,92,174,223,120,29,111,140,237,26,171,183,191,65,75,57,228,64,195,71,131,158,78,216,99,218,162,216,62,233,47,90,7,198,79,93, -12,113,127,22,245,6,80,123,164,47,246,246,71,242,73,4,168,84,29,144,109,34,128,214,252,151,146,251,254,172,37,202,245,251,31,247,15,193,46,211,102,208,243,242,90,8,211,148,129,104,64,116,214,63,51,112,79,174,95,147,57,47,0,104,248,134,156,200,95,16,79, -94,118,17,62,109,14,180,117,248,121,112,134,173,138,237,23,141,2,240,51,167,101,199,200,96,149,179,253,59,176,183,63,146,111,34,64,181,234,128,121,89,85,29,64,107,254,105,232,223,168,23,20,123,207,205,3,143,65,64,244,1,39,51,249,79,87,192,186,254,221, -103,235,243,76,160,0,200,1,6,15,88,234,71,142,216,158,211,26,229,93,100,180,57,16,53,254,175,15,62,169,220,129,175,170,128,146,31,124,11,226,162,152,217,75,1,41,200,246,215,98,182,63,146,183,34,32,127,171,3,104,205,255,210,89,229,48,127,122,169,98,239, -73,71,253,54,88,247,129,65,102,217,31,199,107,192,111,11,143,29,92,223,115,127,62,92,139,121,33,0,232,140,128,189,15,116,222,41,69,99,126,154,220,33,7,131,80,0,7,38,222,134,30,87,139,98,251,101,248,228,249,96,188,242,146,140,93,10,192,108,127,4,73,129, -8,200,195,234,128,68,232,95,7,103,47,155,174,216,123,134,165,32,188,54,240,232,49,207,95,222,67,69,87,168,133,182,205,163,191,241,76,4,92,40,0,114,8,75,151,187,191,111,231,196,3,186,2,185,101,129,26,136,197,37,120,165,127,61,171,47,85,138,146,31,126, -11,132,217,51,32,30,201,172,165,0,204,246,71,144,20,137,0,21,171,3,50,117,57,128,6,61,207,93,57,3,10,20,12,253,191,59,242,34,140,120,251,64,203,201,203,252,167,243,99,236,131,222,214,250,231,6,30,207,151,107,144,203,167,27,110,255,131,93,247,4,156,145, -113,26,230,145,165,14,121,3,244,186,90,97,215,216,107,202,157,128,202,114,40,249,209,127,38,154,3,101,202,82,64,74,178,253,49,236,143,32,255,156,24,152,251,203,1,225,168,4,43,230,86,64,93,109,137,98,239,57,238,31,132,119,71,55,202,14,253,83,104,215,191, -134,103,7,110,15,185,35,145,124,185,254,242,74,0,120,38,130,142,230,77,195,191,20,100,86,4,36,68,128,30,222,28,122,70,177,57,1,20,106,100,11,191,112,45,196,125,25,176,20,144,178,108,127,180,254,8,242,33,17,112,44,39,192,148,195,213,1,172,225,15,217,151, -179,151,77,83,244,8,110,234,123,24,130,162,159,181,113,151,131,64,140,255,120,179,115,107,231,91,99,111,230,211,181,199,229,219,205,86,255,116,255,227,174,17,127,189,220,113,193,52,33,208,27,117,193,203,253,235,21,221,175,226,239,126,29,180,167,44,73, -239,172,0,236,237,143,32,105,23,1,55,170,84,29,144,110,17,64,3,156,60,167,129,11,86,205,2,157,192,43,246,190,251,39,222,97,205,218,146,241,254,53,188,38,242,254,163,61,63,137,134,164,188,186,238,242,78,0,68,2,162,248,254,35,61,63,230,181,242,191,186, -129,47,128,122,203,110,56,98,217,169,216,126,105,10,140,80,250,179,239,179,159,32,165,225,34,76,73,111,127,52,254,8,114,178,145,128,92,19,1,81,242,92,59,99,73,45,76,43,47,80,236,61,157,97,27,75,252,147,187,238,79,209,23,105,161,111,219,196,131,131,7, -44,173,249,118,205,113,249,120,163,117,189,109,218,49,124,208,250,60,173,247,148,11,141,4,208,40,128,39,226,84,108,191,180,203,22,65,201,247,190,9,241,96,56,165,199,3,179,253,17,36,3,69,64,14,85,7,208,146,191,186,105,165,176,102,65,181,162,239,75,147, -178,29,33,11,121,30,203,235,248,71,187,196,6,221,145,241,253,15,119,255,26,226,249,119,189,229,165,0,160,161,168,125,15,118,221,30,13,73,110,185,101,129,2,167,5,107,96,156,92,128,27,20,221,183,130,207,95,147,232,18,232,243,167,196,96,98,182,63,130,100, -166,8,232,200,145,217,1,180,228,175,164,64,7,23,156,50,83,209,199,0,141,194,190,63,185,141,149,104,203,118,186,140,2,52,60,55,112,135,115,216,103,207,199,107,141,203,215,155,204,210,229,30,110,121,101,248,215,186,66,249,81,0,122,225,237,159,120,27,26, -172,123,21,221,183,146,31,255,39,8,11,235,212,143,4,168,109,252,177,183,63,130,200,22,1,133,42,86,7,164,74,4,28,47,108,186,112,213,44,40,52,104,21,123,95,119,196,1,27,251,30,34,158,63,207,74,180,101,57,113,122,14,172,61,238,61,13,207,41,216,225,13,5, -64,246,112,248,241,222,251,93,163,254,38,185,249,0,244,194,227,53,28,108,236,125,144,37,6,42,118,82,74,75,160,236,127,111,1,141,65,79,211,102,85,51,254,234,133,253,247,66,7,246,246,71,144,164,249,112,78,64,246,85,7,68,201,243,235,140,197,181,48,187,186, -72,209,247,125,185,111,61,171,196,162,145,88,153,15,111,224,4,46,122,224,161,238,155,163,193,44,159,165,140,2,64,30,33,79,52,114,240,225,238,155,5,61,47,123,245,71,224,116,96,9,154,152,26,85,18,237,202,37,80,114,243,255,133,120,56,172,124,127,0,85,179, -253,137,241,223,92,143,217,254,8,162,80,36,64,237,217,1,85,37,234,136,0,186,238,191,112,70,25,172,93,84,163,236,51,198,178,19,14,78,190,3,198,36,66,255,250,2,1,58,223,26,187,191,127,143,185,33,159,175,47,46,223,111,176,174,119,199,119,13,238,183,60,154, -204,82,0,189,16,15,78,188,3,135,205,219,21,221,183,130,235,174,132,130,207,95,11,113,175,95,97,207,95,205,108,255,122,92,243,71,16,213,68,128,10,203,1,103,38,34,1,17,5,69,64,84,138,65,101,177,1,46,88,53,83,209,99,65,19,254,94,234,253,43,240,156,0,114, -31,50,196,243,135,128,51,50,176,255,161,238,59,243,253,218,202,123,1,64,231,4,236,250,99,219,207,130,174,136,73,110,135,64,122,33,210,11,242,165,222,7,193,30,154,84,116,255,74,110,185,9,244,23,156,77,68,128,47,249,239,26,142,96,182,63,130,100,187,8,80, -169,58,160,154,137,128,228,151,28,69,98,252,11,244,90,248,228,105,115,192,160,19,20,61,14,47,244,62,0,142,176,5,4,141,252,124,2,173,129,131,3,15,119,255,208,59,25,244,160,0,64,192,57,226,183,29,125,170,255,182,100,162,0,244,130,116,69,108,240,108,207, -125,228,102,85,46,100,175,209,233,152,193,54,92,124,46,196,61,222,68,203,96,57,15,16,127,0,184,242,82,40,191,231,231,152,237,143,32,217,44,2,44,199,68,128,194,145,128,171,207,170,131,89,85,197,172,85,175,220,85,71,42,32,78,204,33,40,49,40,250,253,119, -140,189,202,50,255,141,124,161,124,227,111,228,97,172,193,241,124,235,107,195,175,227,21,133,2,224,4,77,47,14,189,96,106,116,188,170,77,162,77,48,109,16,212,108,61,192,134,82,40,137,166,168,16,202,239,190,3,138,190,245,101,58,64,27,226,129,224,73,231, -5,80,175,159,182,24,214,159,125,26,84,109,184,155,253,84,220,248,99,111,127,4,73,125,36,64,225,229,0,58,152,231,42,34,2,78,91,88,195,62,135,46,9,156,172,16,160,165,126,244,223,207,169,41,129,79,159,179,0,106,202,140,138,126,239,17,111,47,188,218,255, -40,155,199,34,219,216,241,26,136,134,36,203,174,123,219,111,141,199,240,90,66,1,240,1,196,136,4,59,255,208,254,3,49,28,179,201,95,10,0,208,243,70,216,50,248,4,12,120,58,148,221,65,65,128,226,255,190,17,42,30,188,11,244,231,158,145,16,2,62,63,107,29,204, -26,249,208,208,29,221,162,34,196,67,225,196,223,145,159,218,69,117,80,118,231,109,80,241,215,187,128,159,59,75,97,227,255,193,108,127,180,254,8,146,30,17,160,92,117,128,192,105,96,221,242,233,112,237,217,243,97,254,180,18,118,91,71,162,18,91,211,167, -70,62,22,63,182,145,223,211,80,63,53,250,244,239,202,139,12,112,241,234,217,112,245,153,117,172,230,95,73,232,152,223,167,187,255,0,33,41,192,202,254,228,66,27,191,29,121,162,255,86,75,151,123,2,175,162,99,231,27,15,193,223,49,119,186,70,143,60,217,255, -147,115,191,187,228,177,176,87,222,120,94,58,139,58,34,133,225,169,174,123,224,199,167,221,15,5,66,177,162,251,168,59,117,37,84,144,45,218,209,11,225,125,135,32,210,218,5,210,132,133,24,251,196,67,128,214,245,115,213,149,160,93,186,0,244,231,156,14,250, -211,87,179,164,63,165,57,145,237,143,97,127,4,73,179,8,104,133,191,93,191,10,102,148,232,21,123,255,233,21,5,100,155,7,118,34,46,134,45,94,152,116,248,193,19,136,48,99,79,195,2,28,17,10,116,157,191,178,212,0,115,170,139,97,54,217,120,78,157,7,193,43, -253,143,64,191,187,131,60,75,229,151,18,210,134,63,99,13,142,205,245,207,244,63,131,87,15,10,128,143,165,254,233,190,199,235,206,173,190,118,218,138,178,79,71,131,242,18,98,232,196,192,81,111,31,188,216,251,87,248,230,178,159,170,178,159,218,229,139, -216,198,30,6,212,227,103,229,130,84,0,8,160,41,44,80,245,24,97,111,127,4,201,188,72,128,210,34,128,66,215,241,19,107,249,213,44,2,112,188,92,144,227,64,209,129,62,31,7,173,172,218,49,246,10,24,5,249,235,254,26,94,3,98,72,180,236,252,67,219,247,164,40, -198,254,63,228,176,226,33,248,48,98,36,70,151,2,190,151,236,82,0,189,96,247,143,111,133,221,227,91,84,223,103,218,48,136,54,15,226,202,74,82,96,252,247,98,182,63,130,100,168,8,80,178,58,224,31,161,30,190,129,124,22,221,82,97,252,39,2,35,240,124,207,253, -228,115,181,178,187,253,49,135,172,64,128,195,79,244,221,98,233,118,143,225,21,131,2,224,223,98,238,112,141,29,121,178,239,7,218,130,100,2,36,26,208,242,122,216,216,251,144,242,249,0,105,34,145,237,143,97,127,4,201,88,17,160,112,117,64,186,8,75,33,120, -162,243,247,224,139,186,65,208,200,127,14,83,227,111,106,114,188,80,255,204,192,179,120,165,160,0,56,105,14,63,222,251,220,224,62,243,179,201,148,6,210,132,149,72,44,124,226,66,206,122,227,143,189,253,17,36,59,34,1,89,46,2,54,246,61,8,189,174,22,150, -84,45,219,184,9,28,157,244,55,186,237,174,150,31,96,232,31,5,192,212,110,40,114,71,237,250,99,251,15,66,158,232,16,29,25,41,91,129,114,122,48,249,6,225,233,238,123,21,237,15,144,90,227,191,151,213,249,99,216,31,65,178,41,18,16,202,202,239,177,119,252, -13,216,101,218,156,212,186,63,133,150,116,31,120,168,235,59,246,126,175,5,175,14,20,0,83,198,57,226,183,239,190,183,253,38,65,199,199,146,49,124,244,66,62,98,222,1,111,14,61,149,149,198,159,102,251,163,231,143,32,89,36,2,88,179,160,86,48,101,89,36,160, -207,221,198,146,167,169,227,148,204,186,191,190,88,11,29,111,142,221,215,242,202,200,91,120,85,160,0,144,13,185,136,182,117,189,99,250,189,190,40,185,81,150,116,94,192,235,131,79,66,131,117,79,118,121,254,88,234,135,32,89,43,2,254,227,229,86,176,248, -35,89,177,223,174,176,13,254,214,241,91,136,198,194,192,37,81,239,47,232,121,234,188,213,239,189,191,243,103,120,53,160,0,72,154,157,247,180,253,175,173,207,187,95,48,200,191,40,53,228,80,107,52,28,60,221,245,71,24,243,245,103,252,119,110,125,249,8,51, -254,186,2,236,240,135,32,217,40,2,138,136,8,104,157,244,192,247,183,116,64,40,195,39,222,70,99,17,120,188,243,183,96,14,140,129,150,147,95,202,168,225,52,180,121,145,111,251,111,91,190,225,183,133,130,120,37,160,0,72,154,144,39,26,125,239,215,205,223, -136,137,49,135,38,137,210,64,58,47,192,39,122,224,209,142,95,131,55,234,202,216,239,59,209,58,10,77,47,30,2,45,107,239,139,214,31,65,178,149,98,189,0,187,7,29,240,199,189,131,25,189,159,47,245,61,8,109,246,195,96,16,146,43,99,214,23,9,112,228,169,254, -91,70,14,219,218,240,236,163,0,80,208,40,58,251,14,61,214,251,93,93,65,114,189,147,244,156,1,70,125,253,240,183,142,223,129,20,23,51,238,123,74,17,17,234,159,218,199,166,36,106,56,52,254,8,146,11,34,224,241,250,49,104,24,207,204,225,119,219,70,55,178, -65,63,201,38,253,209,138,173,161,131,214,167,223,127,164,231,17,60,235,40,0,20,231,200,147,125,47,246,238,152,120,32,153,210,64,10,157,102,213,100,219,207,198,7,103,26,131,123,187,193,222,103,6,65,143,77,34,17,36,39,30,242,68,199,135,197,24,252,245,253, -225,140,219,183,102,242,28,220,212,191,158,56,70,201,37,253,241,90,14,124,214,80,251,123,119,181,96,183,63,20,0,234,64,39,72,189,123,103,243,143,236,3,190,131,201,228,3,48,17,64,212,238,182,177,77,240,222,232,75,153,243,253,164,24,244,110,107,7,142,231, -241,100,35,72,14,81,160,229,97,239,160,19,186,172,254,140,217,39,58,225,239,111,157,191,103,9,11,201,36,253,209,72,37,39,112,254,237,191,107,253,170,199,20,240,224,217,70,1,160,26,97,111,52,252,222,175,155,191,34,69,98,214,100,90,5,83,181,75,151,3,54, -245,173,135,122,235,238,140,248,110,206,17,59,56,134,108,192,235,208,251,71,144,92,139,2,248,34,34,108,235,179,101,196,254,56,66,22,88,223,254,75,8,136,94,16,184,228,42,172,104,68,246,224,134,238,239,13,236,49,55,226,153,70,1,160,58,19,173,206,129,125, -127,233,252,166,96,224,227,201,228,200,81,213,75,43,3,158,236,188,27,122,221,173,105,255,94,214,158,73,16,67,81,204,250,71,144,28,132,142,250,61,58,150,254,142,164,65,209,15,27,218,239,4,115,96,20,116,156,252,78,127,52,114,64,235,253,123,119,76,60,120, -232,241,222,39,240,12,163,0,72,25,77,47,13,189,217,242,202,240,255,232,146,236,15,64,251,92,211,190,215,27,218,126,201,134,95,164,19,247,152,3,79,44,130,228,176,0,24,243,132,210,90,18,72,19,159,105,185,31,109,243,107,224,11,18,86,92,38,218,2,30,108,253, -222,125,59,126,223,118,75,150,54,89,69,1,144,205,236,190,183,227,215,163,71,237,155,244,73,38,5,210,186,87,218,4,227,225,214,255,97,63,211,69,216,19,196,204,127,4,201,213,135,189,70,3,254,136,4,193,168,148,182,125,120,182,251,62,168,183,236,78,58,227, -159,23,56,136,248,37,211,187,191,108,250,178,223,22,10,227,217,69,1,144,114,196,176,4,239,252,162,233,91,238,137,96,179,160,79,230,80,198,217,208,11,147,127,16,30,110,251,5,4,68,95,90,190,79,28,147,103,17,36,167,137,39,229,115,39,199,171,3,143,192,110, -211,102,40,16,138,146,122,31,186,236,202,235,184,200,206,63,180,253,159,201,118,215,40,158,85,20,0,105,195,51,17,112,191,251,171,230,47,74,209,184,45,153,161,65,20,26,18,163,161,177,71,219,127,197,166,8,166,26,193,40,64,60,142,177,52,4,201,73,227,31, -167,209,70,13,232,210,16,229,123,103,228,69,120,115,232,25,48,36,233,249,179,231,100,137,142,54,251,249,126,231,91,99,187,241,172,162,0,72,59,163,71,108,93,251,254,210,249,53,94,203,75,201,54,206,163,161,177,38,219,1,54,66,56,22,79,109,168,174,168,166, -20,112,45,13,65,114,19,137,40,128,234,66,29,20,166,184,199,199,158,241,55,224,229,190,135,137,240,48,36,85,235,207,140,63,29,242,179,117,236,190,131,235,187,215,227,25,69,1,144,49,52,189,52,180,181,225,249,129,155,13,165,186,164,223,139,134,200,222,159, -124,15,158,233,254,19,164,210,34,87,45,172,5,13,143,151,4,130,228,34,81,41,6,43,107,139,83,90,228,115,216,188,13,158,35,207,49,158,211,2,167,73,238,217,66,199,251,78,116,184,222,216,241,251,214,219,176,217,15,10,128,140,99,223,95,187,30,104,127,125,244, -207,180,31,181,18,34,128,206,196,166,163,49,83,69,245,226,90,40,170,46,134,152,136,55,23,130,228,26,60,199,193,69,11,42,83,246,121,116,242,233,19,93,247,176,82,103,94,147,92,115,49,58,225,47,232,138,180,188,249,211,250,175,134,220,105,204,98,68,1,128, -124,28,49,162,74,183,255,182,245,150,201,118,215,230,100,103,6,80,232,114,192,187,35,47,178,65,25,169,128,142,253,157,123,206,66,16,195,81,60,153,8,146,67,208,210,191,101,213,133,112,206,156,178,148,124,30,29,236,243,88,199,93,16,139,199,136,241,79,238, -89,72,219,252,70,2,226,196,27,63,173,191,222,109,10,184,240,108,162,0,200,88,200,133,26,219,114,219,209,175,186,70,253,135,105,200,42,25,232,122,25,77,154,121,103,248,5,216,60,240,120,74,246,127,233,149,171,193,88,94,8,49,9,163,0,8,146,51,207,37,114, -63,127,235,204,217,228,121,162,254,35,191,205,113,24,214,183,255,2,164,152,200,250,156,36,245,12,228,52,52,227,63,176,231,190,142,207,155,26,29,125,120,38,81,0,100,60,62,107,200,251,206,157,205,55,132,189,209,1,170,94,147,23,1,5,176,101,240,137,148,136, -128,194,234,98,88,245,185,51,18,29,1,17,4,201,122,188,97,9,46,93,88,5,215,173,168,77,137,231,191,190,245,23,16,149,34,73,183,248,165,9,213,196,137,138,239,188,167,237,27,237,175,143,238,195,51,137,2,32,107,24,111,118,140,190,241,211,250,235,136,253,182, -39,51,51,224,67,34,96,40,53,34,96,217,149,171,97,193,249,75,33,226,199,254,26,8,146,173,208,167,78,32,42,193,156,50,3,220,117,217,98,224,53,234,166,255,29,247,252,163,177,228,141,63,133,182,249,109,121,121,248,135,77,47,13,109,196,179,137,2,32,235,24, -61,106,111,222,125,111,251,231,121,29,31,212,40,33,2,248,2,120,125,232,73,216,212,247,176,202,79,14,13,156,253,159,151,192,172,181,117,40,2,16,36,75,241,19,227,95,83,168,131,245,159,89,9,179,74,13,42,123,254,135,96,125,219,47,21,241,252,41,116,192,15, -49,254,119,237,184,187,237,126,60,147,40,0,178,150,230,77,195,59,118,254,161,237,27,188,150,139,37,219,102,151,77,16,228,141,176,117,248,89,213,171,3,180,70,45,92,248,163,79,193,194,139,150,65,36,16,134,120,12,27,4,32,72,182,64,195,254,75,170,10,225, -169,207,175,134,85,211,139,85,253,44,154,237,255,80,219,255,18,207,63,172,152,231,63,124,200,246,200,182,187,90,254,31,62,119,80,0,100,191,8,216,56,244,82,253,51,3,223,165,77,44,146,45,194,61,158,24,248,238,200,11,240,116,247,31,33,14,234,37,235,9,6, -45,124,226,7,151,195,25,95,63,143,117,8,148,34,88,125,131,32,153,76,140,220,167,158,176,8,87,47,173,134,23,190,116,42,44,175,41,82,245,243,14,153,183,193,163,29,191,97,67,126,4,141,50,158,255,120,179,99,211,219,255,211,248,159,216,148,20,5,64,206,176, -255,161,174,245,205,155,134,126,202,68,64,146,28,23,1,187,198,94,131,199,59,126,11,98,44,162,234,190,175,248,204,90,184,248,167,215,64,65,101,17,68,131,17,60,153,8,146,97,80,191,34,44,198,128,22,239,220,126,193,2,88,255,217,149,80,89,160,85,245,51,247, -140,191,14,127,235,248,29,113,14,98,202,24,255,2,129,142,90,127,119,243,173,71,190,22,112,132,209,219,64,1,144,59,196,165,56,108,187,171,245,247,45,47,15,255,198,80,162,76,36,192,40,20,193,254,137,183,217,218,91,72,10,168,186,255,51,214,204,129,203,127, -117,253,137,188,0,12,205,33,72,230,224,33,246,114,122,137,30,30,189,254,20,248,239,117,115,85,255,188,119,70,94,128,103,186,238,101,221,253,146,173,243,63,110,252,29,67,190,3,91,110,61,250,185,160,51,18,196,51,138,2,32,247,68,64,156,137,128,59,90,94, -25,254,179,18,141,130,40,180,99,96,131,117,47,252,165,229,103,224,137,56,84,221,127,218,37,240,226,219,175,129,83,191,116,14,19,0,82,68,196,147,138,32,105,68,138,197,153,241,191,124,113,21,108,250,242,169,112,209,252,10,213,63,243,149,129,71,96,99,223, -67,32,112,58,34,0,248,164,223,143,118,249,11,56,195,245,239,252,162,233,51,228,167,7,207,42,10,128,220,22,1,191,105,249,225,240,251,214,13,74,44,7,80,104,199,192,46,103,35,252,169,249,199,96,14,142,169,186,255,52,145,113,245,23,206,34,66,224,106,40,174, -45,133,72,0,151,4,16,36,29,4,163,49,208,104,52,240,255,46,156,15,143,17,207,127,70,137,186,153,254,116,157,255,169,174,63,192,27,131,79,177,100,228,100,123,251,31,55,254,33,79,164,117,243,173,71,62,61,217,225,178,226,89,69,1,144,7,34,0,224,237,255,109, -250,142,169,217,241,152,174,72,153,72,0,45,17,28,245,246,193,125,141,183,193,160,167,83,245,239,48,99,205,92,184,252,215,55,192,130,243,151,64,52,24,197,249,1,8,146,194,231,7,77,244,91,82,93,8,207,124,97,53,252,215,57,115,85,31,240,19,20,125,240,112, -219,47,216,124,18,26,117,212,40,240,137,204,248,187,35,237,196,248,127,106,178,205,101,194,51,139,2,32,111,8,56,194,113,114,225,127,107,162,197,249,24,205,124,85,74,4,216,195,22,248,115,243,79,160,217,118,64,245,239,96,44,43,128,243,110,190,2,214,125, -247,18,208,21,234,48,65,16,65,84,38,44,197,32,68,182,111,172,157,197,66,254,103,206,42,85,253,51,237,33,51,121,166,252,20,26,44,187,153,241,87,130,99,158,127,223,230,219,142,92,75,140,255,24,158,89,20,0,121,71,208,25,1,34,2,110,154,104,117,62,166,47, -82,98,57,32,14,58,78,15,33,49,192,212,250,110,211,150,148,124,143,69,151,174,128,203,127,117,3,204,60,117,30,68,3,17,156,35,128,32,74,123,253,64,107,251,69,152,81,108,128,245,159,89,193,58,251,149,24,4,213,63,119,216,219,13,127,106,186,21,250,220,173, -44,233,88,17,227,111,96,158,127,31,121,246,93,73,140,255,0,158,93,20,0,249,44,2,226,91,110,61,122,211,120,139,67,33,17,0,172,25,7,13,208,61,211,125,47,188,220,191,158,60,60,212,207,216,47,157,89,14,151,222,241,105,56,227,155,231,131,160,19,216,178,0, -130,32,201,67,7,249,208,245,254,207,175,154,14,175,126,229,52,184,98,113,117,74,62,183,201,182,15,238,107,250,17,88,130,38,48,240,133,202,121,254,238,72,219,230,219,142,94,65,140,63,14,247,65,1,128,4,156,97,34,2,142,220,52,214,104,87,44,39,128,102,231, -234,120,3,188,53,244,12,108,104,187,19,2,162,79,253,47,66,84,199,242,107,79,133,203,239,188,30,102,174,153,131,209,0,4,73,198,235,143,39,188,254,233,197,122,248,235,181,203,225,79,87,45,131,154,34,93,74,62,251,189,209,151,224,225,182,95,66,80,12,128, -142,51,28,139,65,40,96,252,19,9,127,196,243,119,246,227,25,70,1,128,156,16,1,145,248,43,223,123,255,91,109,175,141,254,89,169,234,128,227,189,2,14,155,183,49,37,111,14,140,166,228,187,148,207,171,130,75,127,254,105,56,235,166,11,65,87,160,99,66,0,176, -109,0,130,156,52,33,49,198,214,251,255,207,154,153,240,234,87,215,194,53,203,106,82,242,185,98,44,10,207,246,252,137,181,26,231,200,243,67,137,214,190,20,109,129,64,141,255,209,99,9,127,184,230,143,2,0,249,167,155,47,28,131,109,191,105,254,97,203,43, -195,191,99,205,130,20,130,138,0,90,25,240,135,198,91,216,208,142,148,160,209,192,210,79,173,134,43,126,243,57,152,119,238,98,16,35,81,144,162,216,220,11,65,254,21,137,186,126,17,22,87,21,178,210,190,187,175,92,194,6,250,164,2,71,216,10,247,55,255,20, -182,143,190,114,172,204,143,87,228,125,89,147,159,65,239,62,52,254,40,0,144,127,3,13,251,189,119,87,203,237,68,4,252,92,137,217,1,199,161,55,52,109,20,244,215,214,59,88,120,47,85,148,76,47,131,11,110,187,18,46,184,229,74,40,158,86,138,93,4,17,228,163, -238,123,178,249,35,18,104,121,14,110,62,183,14,94,249,202,105,112,201,130,202,148,125,126,175,171,5,254,216,120,51,116,56,143,42,86,230,199,140,127,161,0,19,109,206,119,55,126,231,224,213,196,248,99,157,127,134,33,224,33,200,204,167,193,182,223,180,252, -154,136,1,247,170,235,230,222,31,241,139,138,24,77,45,167,131,88,92,130,23,122,255,2,38,223,32,124,113,209,247,216,76,129,84,48,119,221,34,152,182,106,54,180,191,90,15,93,239,180,178,101,1,58,113,16,65,242,29,218,195,95,36,55,251,165,11,171,224,182,243, -234,96,69,109,81,74,63,159,86,11,209,206,126,116,154,31,45,37,86,10,58,213,143,14,246,161,189,253,177,189,47,10,0,100,138,145,0,34,2,30,112,12,120,29,231,255,112,249,99,98,36,166,167,243,4,146,133,134,245,140,124,33,236,25,127,3,76,254,65,248,198,178, -31,195,204,194,249,41,249,78,250,34,3,156,246,213,115,97,238,185,139,160,249,133,67,48,86,63,200,58,11,242,58,188,12,145,252,67,36,162,62,16,149,88,67,159,31,174,171,131,79,47,175,73,233,231,135,165,32,188,212,247,32,19,0,90,78,207,54,69,208,36,194,254, -195,7,45,27,182,254,188,233,187,196,248,227,218,95,134,130,75,0,25,78,195,243,131,207,238,252,67,251,117,130,158,119,241,130,114,167,139,134,249,134,60,93,240,199,134,155,225,176,121,123,74,191,83,229,252,26,184,248,103,215,192,249,183,94,9,101,179,43, -33,26,8,99,39,65,36,111,136,29,203,238,47,212,241,240,163,243,231,195,230,175,174,77,185,241,31,39,226,255,222,166,219,96,231,216,107,108,121,144,87,104,189,95,67,140,63,93,186,108,123,109,228,174,87,126,112,248,219,1,39,78,245,195,8,0,146,20,205,27, -135,222,242,154,131,87,92,118,199,234,141,250,18,237,108,49,164,204,61,69,111,252,160,228,135,71,219,127,13,3,158,78,184,126,193,77,202,121,1,39,193,188,117,139,96,214,105,243,160,251,237,22,232,120,179,9,2,54,47,8,6,29,139,10,32,72,174,65,227,119,1, -226,12,235,137,144,255,194,170,25,108,106,95,93,185,49,229,251,241,190,249,61,120,177,231,175,224,139,186,20,235,236,199,140,63,185,111,181,70,62,222,180,113,248,230,29,191,107,249,115,28,83,125,80,0,32,202,48,176,199,124,232,245,159,28,189,232,83,191, -62,109,83,97,165,126,77,84,33,17,192,107,180,192,241,2,188,59,242,34,235,250,245,149,197,55,195,204,162,249,169,187,0,13,90,88,241,153,181,48,239,19,139,161,227,245,70,232,219,209,1,17,95,24,4,163,150,13,58,65,144,92,128,54,242,161,92,180,160,18,254, -251,156,185,112,70,10,90,248,254,35,52,228,255,114,255,6,230,245,243,156,192,28,0,165,224,181,28,221,252,59,239,105,187,177,233,165,161,151,240,140,103,7,184,4,144,69,152,26,29,253,47,126,107,255,165,214,94,207,219,74,150,9,210,140,95,234,9,244,185,90, -225,15,141,55,195,190,137,183,82,254,221,10,171,138,89,23,193,43,127,243,57,88,120,209,50,230,46,177,110,130,232,70,32,89,12,173,231,167,217,253,167,205,44,129,71,174,91,9,79,125,110,85,90,140,255,144,183,139,221,219,219,70,55,129,142,215,131,160,81, -206,247,163,13,126,196,144,100,122,239,55,205,87,162,241,71,1,128,168,136,103,34,104,223,124,203,145,79,15,236,53,111,160,173,131,149,116,146,169,71,16,146,2,240,68,231,221,240,120,231,111,193,27,117,165,252,251,149,205,169,132,115,191,127,25,92,246, -203,235,96,238,217,11,32,38,197,201,195,37,138,141,132,144,172,130,102,246,123,195,18,44,175,41,130,63,95,179,140,13,238,185,108,81,85,90,246,133,26,253,123,27,111,133,33,79,183,162,37,126,20,173,129,117,247,107,220,114,219,145,139,219,54,143,238,197, -51,159,93,224,18,64,22,226,179,134,34,175,221,114,228,219,151,252,244,148,193,149,215,206,249,173,68,60,140,152,164,140,133,228,137,103,192,243,60,236,31,223,10,3,238,14,248,226,162,255,134,149,149,103,166,252,59,86,47,158,6,23,254,248,42,48,119,152, -160,125,115,3,152,26,135,89,91,97,173,94,0,192,165,1,36,131,61,126,154,221,79,13,255,55,215,206,130,235,86,214,18,97,157,30,63,203,30,154,132,23,123,255,2,245,214,61,172,157,175,158,55,40,250,254,180,204,207,220,238,218,242,214,29,13,223,112,142,248, -157,120,246,81,0,32,41,130,150,4,110,251,77,203,239,156,195,190,254,79,252,215,178,71,52,92,188,84,138,42,149,73,79,91,8,23,130,53,56,14,127,105,253,25,92,50,235,122,184,182,238,27,138,174,25,158,44,181,203,103,178,109,178,109,12,58,223,106,6,83,195, -16,72,145,40,8,122,45,38,11,34,25,101,248,105,23,191,149,211,138,225,171,167,206,128,207,46,159,6,70,109,250,2,172,135,204,219,96,83,223,122,112,134,45,172,236,87,73,88,166,127,137,14,58,182,142,221,183,235,158,182,219,2,88,230,135,2,0,73,15,245,207, -12,108,116,12,250,6,47,251,249,234,103,140,101,186,37,74,37,7,82,104,227,160,56,196,224,237,225,231,160,203,217,0,95,88,244,61,88,92,182,58,45,223,115,218,202,89,108,51,119,142,67,247,214,102,24,171,31,98,205,132,4,131,64,132,0,174,100,33,105,16,225, -113,128,160,152,184,223,78,155,81,202,12,63,237,217,175,227,211,119,61,186,194,54,120,165,127,3,28,156,124,143,149,246,41,217,216,135,194,9,28,240,58,46,124,232,241,222,31,238,251,107,215,195,216,213,19,5,0,146,102,6,247,91,142,190,120,211,129,11,174, -249,253,218,191,85,47,41,189,50,236,83,110,205,92,3,28,155,37,48,234,235,131,63,55,255,24,46,153,117,3,92,53,239,43,105,137,6,176,136,192,178,25,108,115,12,88,161,251,221,86,24,121,191,31,130,110,63,8,58,45,123,56,33,136,218,72,196,242,211,172,126,26, -218,63,191,174,2,190,186,102,38,92,186,176,18,248,52,71,164,14,91,118,192,43,125,27,88,228,206,32,20,40,186,214,207,28,2,35,15,17,191,56,178,253,119,45,223,232,120,99,108,39,94,9,40,0,144,12,193,53,234,55,111,250,238,251,215,92,120,219,138,223,45,189, -124,230,109,180,87,128,82,121,1,20,186,134,24,139,199,224,141,161,167,160,221,113,4,110,88,248,29,88,86,126,90,218,190,111,197,252,106,56,231,59,23,195,202,207,172,133,254,157,157,48,176,183,27,188,19,174,132,135,162,21,0,112,117,0,81,152,40,185,159, -66,196,227,47,51,106,225,138,197,213,240,21,98,248,207,154,93,154,246,253,114,132,204,196,235,127,4,14,89,182,3,79,126,25,85,104,239,77,215,251,109,253,222,221,219,126,221,252,245,241,22,231,48,94,13,40,0,144,12,35,232,138,72,91,239,104,252,145,189,207, -219,124,246,77,139,255,194,243,154,82,41,162,92,135,61,78,195,177,44,226,68,52,224,39,112,193,204,107,224,154,121,95,131,34,109,89,218,190,51,29,48,180,230,75,103,195,242,107,214,192,208,129,94,38,6,108,125,22,34,126,36,204,19,64,146,134,134,249,143, -175,239,207,45,55,192,213,75,107,224,115,167,76,135,133,149,5,25,177,127,123,199,223,132,45,131,79,48,17,160,134,215,79,239,31,218,214,183,111,231,228,95,119,220,221,122,171,207,18,10,227,85,129,2,0,201,96,14,63,209,247,140,109,192,219,126,233,237,171, -254,86,88,165,95,77,135,9,41,137,142,211,179,220,128,109,35,155,160,221,126,24,62,61,255,70,56,163,230,226,180,126,103,93,145,1,22,95,118,10,44,186,116,37,76,180,140,66,255,174,78,24,111,26,134,144,59,8,156,150,248,69,90,62,63,47,6,77,90,94,154,245,208, -76,254,96,84,34,70,149,103,117,251,55,172,156,198,188,254,50,99,102,60,50,169,8,127,149,120,253,45,246,247,65,224,116,170,120,253,188,142,3,142,215,120,15,172,239,254,225,161,199,122,30,143,99,183,110,20,0,72,118,48,176,199,220,184,113,232,192,5,151, -220,190,234,254,57,103,86,125,77,169,137,130,127,55,14,28,123,232,216,130,19,176,161,237,78,56,90,189,11,62,51,255,63,96,122,225,220,244,218,59,226,177,204,88,51,135,109,222,73,55,139,10,12,147,205,57,108,99,101,132,130,78,0,13,159,39,185,2,196,125,165, -3,152,228,82,162,23,242,170,226,146,222,30,97,81,2,186,114,54,163,88,15,151,18,79,255,51,43,106,225,204,89,165,25,179,143,180,79,199,59,35,47,192,246,209,151,33,32,250,20,79,242,59,33,168,11,5,32,222,126,203,206,63,180,221,72,188,255,122,124,162,162, -0,64,178,12,231,136,223,253,234,15,14,125,125,221,119,150,28,90,251,229,249,247,196,98,241,2,37,151,4,216,5,68,188,15,1,226,80,111,221,13,93,174,70,184,116,246,13,240,201,217,159,83,237,193,52,21,232,242,192,41,215,157,14,43,174,61,149,69,5,134,246,245, -194,120,243,48,4,28,126,34,2,52,44,87,32,167,151,8,136,33,43,154,38,223,120,213,18,35,104,16,56,22,6,207,85,33,64,37,113,68,140,65,132,136,195,34,34,120,214,205,45,135,107,151,213,178,164,190,234,66,93,70,237,107,3,185,199,104,184,127,212,219,199,146, -112,213,184,199,232,253,160,47,18,96,232,160,245,201,237,191,107,253,129,107,212,239,198,39,41,10,0,36,75,161,6,127,239,253,157,15,78,182,187,234,47,188,121,197,250,162,90,131,226,75,2,52,30,64,31,70,81,41,12,175,245,63,10,245,150,221,112,205,188,175, -195,218,154,11,50,226,24,112,2,15,51,79,155,199,182,128,221,199,74,8,135,15,246,129,173,119,18,34,254,48,75,28,164,203,4,185,54,123,128,126,167,202,186,106,217,175,159,87,110,132,154,34,61,76,120,195,160,205,161,99,67,141,62,77,232,163,222,190,142,156, -251,197,213,133,240,201,133,85,112,229,146,106,88,81,83,148,113,251,59,234,235,135,215,137,225,111,178,238,35,215,104,162,42,71,13,88,200,159,211,120,15,61,222,123,219,193,13,61,27,148,118,22,16,20,0,72,154,232,221,62,113,104,178,205,121,254,197,63,57, -229,158,5,23,76,251,191,209,128,168,104,149,0,51,56,26,158,61,156,38,252,195,240,112,251,47,96,213,228,57,44,73,112,94,201,210,140,57,14,5,149,69,176,248,178,149,108,115,141,218,97,244,200,32,17,4,131,172,172,48,26,140,228,140,24,160,227,149,139,170, -139,161,124,158,124,1,80,164,227,225,212,233,37,48,228,52,131,86,151,221,57,20,39,140,62,237,38,73,188,220,185,101,70,184,96,126,5,92,177,168,10,78,159,85,154,214,218,253,143,195,19,113,194,123,163,47,193,110,211,150,99,225,126,35,168,149,153,65,179, -252,157,35,190,195,59,239,110,251,54,241,254,155,240,137,137,2,0,201,49,188,230,144,103,243,45,71,190,125,214,127,44,218,117,198,215,23,222,167,53,242,53,209,160,242,77,188,104,3,33,250,200,109,182,237,135,110,103,3,172,155,126,37,92,62,231,139,80,105, -168,205,168,227,81,54,187,146,109,116,153,192,222,111,97,93,6,105,203,97,154,47,64,155,12,209,92,1,154,60,152,141,203,4,98,88,132,89,107,235,64,107,76,110,104,20,157,83,255,90,135,57,59,141,62,177,250,52,180,79,55,106,224,231,150,27,97,221,156,114,214, -147,159,26,253,162,12,21,53,98,44,10,123,39,222,100,19,58,45,1,147,106,225,126,38,218,137,224,165,253,252,59,223,28,187,119,239,3,157,63,247,89,67,1,124,82,162,0,64,114,152,67,143,245,62,63,114,216,118,248,194,91,87,60,48,99,85,249,149,97,175,72,30,150, -74,119,244,74,44,11,208,222,1,52,97,169,193,178,7,46,158,245,89,184,112,214,103,20,157,65,174,20,149,11,106,216,182,234,115,103,130,99,200,6,19,45,35,48,78,196,128,99,208,10,33,79,144,125,31,42,6,56,234,41,102,184,30,160,201,158,250,34,61,44,190,252, -148,164,223,235,130,186,10,56,117,70,9,52,79,120,192,152,5,149,20,180,92,143,122,249,244,103,161,78,128,165,53,69,112,238,220,114,184,136,120,251,107,166,151,144,63,203,236,239,208,96,221,3,91,135,159,99,115,56,180,42,101,247,31,135,150,247,5,221,145, -161,189,127,238,248,126,211,198,161,215,241,201,152,127,104,226,105,26,183,26,137,68,96,201,146,37,48,52,52,132,103,33,77,208,100,159,117,223,89,114,203,170,235,230,253,138,78,4,22,195,234,181,244,150,226,34,241,196,194,48,163,112,46,92,58,251,115,176, -110,250,229,228,1,167,207,130,168,137,27,44,29,227,48,78,4,129,173,199,12,126,155,7,232,240,37,22,29,32,222,83,38,86,20,68,124,97,88,249,217,181,112,250,55,206,83,228,253,118,15,58,224,107,27,91,88,231,187,76,11,134,196,200,243,139,134,246,169,151,79, -59,241,85,21,232,96,101,109,17,75,230,163,134,159,10,0,109,22,68,112,104,171,109,106,248,59,28,245,108,249,73,167,226,189,193,241,26,208,18,227,111,106,180,63,183,243,158,182,91,45,221,158,73,124,26,166,143,13,27,54,192,77,55,221,132,2,0,73,15,243,214, -213,156,122,254,15,150,61,80,181,176,228,220,136,79,141,104,192,223,161,225,205,104,60,2,243,138,151,194,101,115,62,199,250,7,208,220,129,108,128,46,11,56,134,172,108,48,17,157,73,224,26,177,179,62,3,113,98,124,50,69,16,68,67,81,150,248,119,217,157,215, -17,15,79,57,35,242,203,237,125,240,208,161,17,40,51,164,55,104,120,220,224,71,143,149,180,210,82,197,186,10,35,235,197,127,206,156,50,22,173,152,94,172,207,154,123,143,122,250,239,142,190,8,77,214,253,76,36,39,38,246,169,39,88,104,59,223,104,72,154,60, -250,84,255,79,142,60,217,255,20,205,21,65,80,0,160,0,200,247,104,64,177,86,183,238,255,46,254,241,170,235,231,254,140,184,32,70,53,163,1,204,80,197,194,108,121,96,126,233,10,184,116,246,245,176,182,250,66,214,105,48,155,160,21,5,116,137,128,138,1,123, -159,25,220,99,78,8,121,2,32,145,135,42,71,188,78,238,152,32,72,85,66,161,72,140,127,97,117,49,92,122,199,167,161,116,86,133,178,247,43,17,57,255,181,185,3,222,232,178,64,105,138,68,0,125,52,73,199,12,190,24,35,199,148,28,71,250,217,115,202,140,112,202, -180,98,214,160,135,134,245,235,202,141,105,239,195,63,85,70,188,61,196,240,191,196,150,198,34,228,94,160,235,252,26,21,13,255,9,175,191,193,254,202,238,251,58,110,157,108,119,225,131,23,5,0,10,0,228,159,162,1,167,159,255,253,101,127,172,90,84,114,190, -210,205,131,62,242,58,32,15,191,248,9,33,112,3,17,2,231,103,77,68,224,159,4,129,195,207,162,2,54,34,6,236,3,22,112,143,58,200,159,249,152,87,78,187,204,208,222,3,52,135,128,78,47,84,52,177,144,38,187,5,195,80,54,171,18,46,184,237,83,80,62,183,82,149, -239,71,59,227,221,250,86,23,188,218,110,102,9,116,74,26,221,227,198,158,118,224,163,27,253,127,131,150,131,170,2,45,204,43,47,96,97,125,234,221,175,168,45,134,57,165,134,172,51,248,31,52,252,219,198,18,57,49,180,169,143,218,134,63,225,245,11,228,26,20, -39,234,159,238,255,201,225,39,250,159,70,175,31,5,0,10,0,228,95,69,3,248,117,223,94,124,243,170,235,230,222,65,172,113,169,24,82,127,220,247,7,133,0,77,22,92,91,125,1,8,156,54,171,143,35,245,200,125,22,15,56,137,40,160,101,134,180,236,144,118,39,12,186, -252,16,13,70,217,210,1,125,246,127,80,20,76,73,24,144,91,87,140,136,204,122,206,57,123,33,156,245,173,11,192,88,94,168,234,119,162,79,139,251,15,12,195,67,135,134,193,75,174,139,2,29,7,252,20,34,28,84,79,210,48,190,116,204,208,211,223,83,207,222,72,140, -125,185,81,203,188,251,69,149,133,176,172,166,136,108,133,196,187,47,128,202,2,109,214,223,83,253,158,118,150,12,219,98,59,64,12,127,16,244,156,129,213,244,171,9,39,104,64,208,243,96,106,114,60,179,231,79,29,183,79,118,184,198,240,233,134,2,0,5,0,114, -82,204,60,181,114,217,39,190,183,244,247,51,215,84,92,163,70,223,128,143,19,2,177,184,4,115,139,23,195,5,51,175,101,57,2,106,102,66,167,26,26,13,8,218,125,224,153,116,129,107,196,1,158,113,39,75,52,164,203,9,33,111,8,196,96,132,181,44,102,150,86,147, -16,4,116,57,225,120,43,62,122,191,198,99,177,19,109,141,171,22,77,131,101,87,175,129,185,68,0,164,146,118,179,15,30,62,60,2,59,251,137,184,33,98,134,138,0,129,238,43,221,79,77,66,41,80,143,254,184,177,167,80,175,157,86,18,148,234,5,214,101,112,22,241, -228,23,84,20,16,131,95,0,117,228,231,172,18,3,84,228,128,177,255,32,29,142,163,176,211,244,26,155,153,145,8,245,27,88,27,109,117,159,234,199,50,252,157,145,158,131,143,244,252,164,245,149,225,215,82,113,239,34,40,0,80,0,228,24,212,131,56,253,107,11,190, -118,218,151,234,238,212,23,107,231,70,2,98,194,56,169,109,40,99,17,98,64,162,48,173,96,46,156,59,253,74,56,103,218,101,80,166,175,202,217,227,28,9,132,33,228,10,130,223,230,5,159,213,3,126,139,135,252,244,38,132,129,39,200,234,250,169,93,229,137,241, -44,172,44,130,202,133,181,48,99,205,92,168,89,58,61,173,251,61,224,8,176,42,129,35,99,110,24,38,251,239,9,137,236,242,160,98,128,122,244,53,133,58,152,73,12,253,76,98,220,231,150,25,96,6,249,89,91,164,135,10,242,119,185,218,94,152,94,187,180,107,223, -238,241,215,161,215,213,66,174,99,233,152,225,215,164,228,126,229,120,77,164,115,171,233,254,131,27,186,239,114,155,2,78,124,138,161,0,64,1,128,36,69,213,130,226,234,115,190,189,248,127,23,92,56,253,59,113,41,198,139,225,212,172,35,178,170,1,242,64,45, -55,84,195,233,53,23,50,49,48,187,104,97,94,29,123,41,34,130,36,74,204,124,112,90,33,99,39,27,82,143,63,16,137,17,1,16,103,17,129,66,93,126,77,96,244,68,28,112,200,188,29,14,78,190,195,250,245,83,131,175,229,245,41,49,252,199,147,252,172,61,158,157,196, -240,255,180,111,231,228,97,124,106,161,0,64,1,128,40,202,162,139,167,175,35,66,224,174,170,5,37,23,68,137,183,23,19,83,115,253,80,47,42,34,133,216,114,192,242,138,51,224,19,68,8,172,168,60,131,24,26,236,101,133,164,23,58,154,247,224,196,59,112,212,178, -27,236,161,73,150,187,146,232,134,153,138,39,120,34,220,31,114,71,71,27,95,28,252,101,195,115,3,143,71,252,34,198,251,81,0,156,20,248,244,68,166,68,239,142,137,3,195,135,172,23,157,254,149,5,223,92,117,195,220,255,49,150,233,230,210,118,194,106,87,11, -240,108,206,64,33,241,45,99,208,104,221,3,77,182,125,48,167,104,17,156,53,237,18,86,66,88,97,168,193,147,131,164,206,129,33,98,180,213,126,136,121,251,93,206,70,8,138,126,208,17,111,63,149,249,42,130,129,167,249,33,225,222,237,19,15,30,220,208,243,59, -251,128,215,130,103,6,65,1,128,168,251,240,35,30,198,129,245,221,143,183,191,62,186,101,221,119,150,220,182,240,226,105,223,19,244,124,161,26,115,5,254,217,225,225,88,233,212,113,207,107,176,167,19,222,30,126,1,78,169,60,155,136,129,75,97,113,217,106, -38,22,16,68,13,198,253,67,112,196,178,19,26,136,183,63,238,31,6,154,16,147,106,195,79,167,246,209,181,254,137,22,199,235,71,158,232,255,69,223,238,201,6,60,51,136,172,231,41,46,1,32,201,50,235,180,202,229,68,8,252,124,198,234,138,47,210,210,54,49,197, -99,68,105,213,0,205,176,22,52,2,204,46,94,8,107,107,46,132,211,170,206,131,154,130,89,120,114,144,164,241,139,94,104,35,222,254,17,243,14,232,113,53,131,63,234,101,33,254,84,151,169,210,178,62,26,238,183,15,250,26,27,95,24,252,69,251,150,145,45,169,202, -197,65,212,3,115,0,144,156,96,197,53,179,47,62,253,107,11,126,94,89,87,124,33,237,36,40,69,83,251,112,162,201,103,52,105,144,110,197,186,82,88,84,182,10,78,175,185,8,150,87,156,14,197,218,50,60,65,200,73,35,198,69,232,119,181,194,81,235,110,102,252,173, -193,9,150,202,71,123,244,107,82,220,177,146,150,130,234,10,120,240,217,194,67,29,111,140,221,93,255,108,255,99,65,39,121,128,34,40,0,146,4,151,0,16,197,104,127,125,116,71,239,246,137,29,203,175,154,245,185,83,191,84,119,123,197,188,162,83,105,217,96, -170,18,5,89,214,53,241,204,232,22,145,34,172,191,122,163,117,31,27,67,76,69,192,169,213,231,193,162,210,85,57,213,87,0,81,86,64,14,123,186,161,201,182,31,90,236,239,195,184,111,144,85,160,208,16,191,225,216,178,83,170,13,63,235,221,31,148,108,29,111, -154,30,56,248,72,207,95,220,99,126,7,158,41,4,5,0,146,145,80,131,223,180,113,104,99,207,246,137,45,167,125,185,238,235,203,175,158,125,107,81,181,97,113,52,152,58,33,64,161,115,5,142,231,10,120,34,78,216,59,254,38,236,159,120,27,170,13,51,136,24,88,11, -171,170,214,193,162,178,83,84,155,179,142,100,7,116,30,133,201,63,0,45,182,131,208,74,140,254,136,183,15,194,82,144,133,247,143,111,169,183,252,0,58,214,190,87,242,118,110,29,219,208,248,252,224,159,205,157,238,81,60,91,136,226,151,26,46,1,32,106,82, -60,205,88,188,250,250,185,55,18,33,240,125,34,4,230,167,178,116,240,163,160,161,93,81,138,0,199,241,80,99,156,1,139,203,214,192,41,149,103,193,66,34,6,112,153,32,63,160,94,253,136,183,151,133,246,219,29,71,136,0,24,132,144,24,32,198,94,32,155,46,37,117, -251,31,103,248,181,6,158,118,125,12,14,236,49,63,121,232,177,158,123,137,225,239,197,51,150,219,96,14,0,146,15,66,160,116,245,13,243,190,189,226,234,89,223,45,172,50,204,77,183,16,56,33,6,136,49,160,149,5,21,134,106,168,43,89,14,43,42,78,103,162,160, -22,19,8,115,10,111,196,5,3,158,14,98,240,15,179,68,62,115,96,12,34,82,248,132,151,159,54,163,15,137,80,63,45,233,131,88,60,56,86,111,127,166,254,249,193,251,6,247,153,59,240,172,161,0,64,1,128,228,154,16,40,95,125,253,220,175,46,191,102,246,127,23,85, -27,22,166,122,105,224,227,160,141,134,168,24,160,235,192,133,66,49,204,44,170,99,66,96,73,249,26,214,111,160,80,91,130,39,47,139,160,137,160,180,100,175,215,221,2,93,142,70,24,246,118,131,43,108,99,21,35,212,203,231,137,183,159,78,163,127,220,240,211, -53,254,72,64,244,142,55,57,158,109,222,56,252,192,0,26,126,20,0,40,0,144,60,16,2,37,171,111,152,251,229,229,87,207,254,175,162,42,195,74,49,34,129,20,201,140,146,38,186,46,44,198,163,32,197,68,230,29,150,235,171,97,78,241,34,86,85,176,176,116,37,204, -40,156,119,34,191,0,129,140,57,103,150,160,137,24,250,46,232,118,54,195,160,167,147,253,63,13,237,211,124,16,102,244,51,164,63,4,107,219,203,12,191,100,239,219,57,249,100,195,243,3,15,89,186,220,125,120,22,81,0,160,0,64,242,75,8,212,26,13,11,47,154,118, -253,170,207,206,249,110,229,130,146,117,146,72,140,111,88,74,201,192,161,147,35,126,44,58,16,101,70,134,14,117,169,48,212,194,172,162,5,176,160,116,5,212,149,44,133,105,5,115,160,72,91,138,39,51,149,207,143,88,24,44,1,106,240,123,136,177,239,128,33,79, -55,51,248,196,153,102,127,47,104,180,25,225,229,127,200,240,11,28,51,252,62,75,112,116,232,128,245,177,166,141,67,143,17,195,143,35,122,81,0,96,25,32,146,159,120,205,193,80,227,11,131,207,182,111,25,125,118,249,85,179,174,88,122,197,204,255,154,182,162, -236,83,26,226,182,69,67,234,183,24,62,9,141,204,230,13,240,188,112,76,14,196,193,22,156,0,115,96,148,53,134,209,242,58,40,213,85,194,116,34,2,102,23,47,130,121,197,75,88,132,128,150,30,234,136,88,64,148,144,96,113,112,134,173,48,233,31,129,17,95,47,43, -213,163,137,123,142,144,5,66,82,128,253,27,122,142,104,35,168,140,171,234,32,250,67,208,113,204,248,123,38,130,205,221,239,152,30,109,222,52,252,28,185,238,177,156,15,73,59,40,0,144,204,240,232,18,229,131,111,55,109,26,122,123,193,249,211,78,95,113,237, -236,155,230,156,81,121,131,190,72,91,193,242,4,50,100,158,57,245,40,89,226,24,104,79,24,39,58,5,206,73,140,17,237,13,79,195,205,180,207,0,29,93,92,107,156,77,68,193,2,152,89,56,159,37,21,210,121,5,5,66,49,158,236,127,227,217,187,195,118,230,205,155,124, -3,48,70,182,201,192,8,216,66,19,172,3,31,141,196,208,99,204,68,25,39,100,108,25,39,91,223,55,240,16,139,197,99,246,126,239,123,173,175,141,172,39,198,255,141,144,39,26,197,179,140,160,0,64,144,143,118,247,160,127,247,228,81,186,77,91,81,246,171,37,151, -207,252,210,146,79,206,248,122,97,181,126,5,77,22,204,172,229,129,132,32,248,96,132,128,66,115,7,104,120,122,194,63,12,13,214,61,39,122,18,20,235,202,88,100,160,198,56,11,166,21,204,102,173,138,171,13,211,161,68,95,193,150,16,50,41,92,173,54,116,109, -222,19,117,130,61,56,9,214,208,56,57,86,35,44,170,66,167,233,185,35,118,54,92,71,36,199,81,163,57,118,124,53,252,137,38,79,153,12,175,229,88,175,254,176,79,180,145,107,248,229,246,55,198,30,27,220,111,57,18,19,177,101,47,130,2,0,65,78,154,201,118,215, -24,217,238,57,250,84,223,253,139,46,158,254,169,37,151,205,252,70,237,242,210,203,4,29,103,160,131,135,50,37,42,240,79,162,128,38,157,209,13,180,31,208,53,113,150,133,110,15,153,217,244,56,154,123,67,141,26,93,38,40,212,22,67,137,174,130,37,27,82,129, -64,55,250,123,186,21,17,209,80,164,45,33,2,162,32,107,134,28,209,137,141,180,196,206,23,245,128,95,244,144,239,109,103,223,157,46,157,56,194,102,22,186,167,94,62,253,123,26,194,167,94,61,133,35,223,143,126,71,142,25,123,61,219,178,1,42,82,4,3,199,188, -126,183,41,208,208,187,115,226,201,246,45,163,27,29,131,190,9,188,139,17,20,0,8,146,4,126,91,56,220,244,210,208,171,205,155,134,95,157,177,186,98,233,178,43,102,126,121,254,121,53,95,44,170,49,46,138,209,225,67,52,87,32,195,39,160,159,136,20,104,132, -127,48,150,116,9,193,197,140,228,144,167,139,9,3,250,43,145,185,174,101,73,135,6,190,16,10,180,69,172,81,17,141,20,208,173,88,151,248,61,93,82,40,20,138,192,72,54,42,38,244,124,194,112,106,201,79,186,38,206,49,131,202,177,159,199,247,227,223,27,112,242, -43,30,99,73,143,180,108,142,38,65,70,99,97,136,196,34,108,12,46,13,211,135,136,135,30,16,125,224,167,70,62,234,5,111,212,77,54,39,248,34,110,98,216,221,108,128,14,245,226,195,196,211,143,30,171,168,56,110,44,143,27,122,218,127,65,75,190,99,166,123,245, -31,115,66,129,23,18,83,249,34,1,209,49,114,196,246,70,231,155,99,79,15,236,179,236,12,123,163,18,222,181,8,10,0,4,81,210,179,140,197,193,212,104,239,34,219,255,20,62,98,248,237,162,139,166,125,114,193,133,211,190,50,99,85,249,101,58,163,80,202,6,16,209, -80,107,60,123,190,83,66,24,240,31,233,221,83,67,76,103,26,132,137,209,117,133,173,9,131,12,137,80,242,241,234,157,132,113,39,222,39,121,61,53,248,44,63,225,88,6,60,21,27,58,98,92,57,46,241,147,190,130,14,179,161,255,62,254,15,7,137,238,71,226,243,194, -240,247,202,135,8,49,252,137,225,74,18,107,154,36,178,242,200,68,69,132,116,66,36,28,127,47,106,220,169,81,63,177,79,244,23,249,169,211,16,79,62,75,188,249,127,7,157,200,71,141,126,92,138,199,157,35,254,3,61,219,39,94,24,216,61,249,170,185,203,109,194, -59,20,65,1,128,32,41,137,10,132,130,77,27,135,182,208,173,118,121,217,156,249,231,213,126,122,241,165,211,63,95,54,187,240,28,242,144,230,197,16,49,78,89,190,238,154,48,160,212,99,231,224,95,59,238,9,19,124,220,128,71,32,116,194,40,31,143,40,36,84,81, -194,200,255,171,112,73,226,243,78,124,58,253,131,99,31,173,57,254,39,199,146,240,56,128,60,201,89,96,157,250,244,28,59,54,62,107,168,119,172,97,242,53,226,237,191,100,106,118,28,165,75,81,8,130,2,0,65,210,132,185,195,53,66,182,7,142,62,213,247,192,140, -213,21,107,136,24,184,110,254,39,106,62,93,50,163,96,21,181,119,180,201,80,38,116,27,84,87,42,252,163,1,63,241,87,72,18,70,159,227,57,8,186,34,227,227,205,142,173,93,239,140,111,28,58,104,217,19,176,135,131,120,132,16,20,0,8,146,65,80,111,108,248,125, -107,19,221,222,127,84,119,231,156,51,170,206,92,112,193,180,107,103,174,169,184,170,168,218,176,146,26,67,218,109,48,219,150,9,144,20,25,125,94,147,168,217,39,63,131,238,168,217,212,228,216,62,184,215,188,105,232,160,117,151,107,204,239,196,35,132,160, -0,64,144,44,32,232,140,136,221,239,142,31,160,91,65,185,238,231,179,207,168,58,131,8,130,171,103,172,174,184,162,108,78,225,26,242,144,215,72,209,24,196,200,22,71,49,144,167,22,63,209,150,87,208,241,76,15,134,92,145,81,83,3,49,250,251,204,155,135,222, -183,238,117,141,250,237,120,144,16,20,0,8,146,197,4,156,145,232,113,49,160,53,242,119,204,88,85,177,122,193,5,181,159,156,190,170,252,138,138,185,69,103,234,10,132,66,42,4,152,32,144,80,13,228,180,205,231,52,137,90,125,178,145,243,29,247,89,67,29,19, -45,206,247,250,247,76,190,57,222,236,60,228,53,7,189,120,148,16,20,0,8,146,131,68,131,82,108,248,144,181,145,110,196,251,187,187,122,113,233,188,185,103,85,157,63,107,109,229,39,171,23,151,156,107,44,211,213,81,35,193,4,129,24,207,128,86,196,72,178,94, -62,45,215,163,205,121,104,126,68,200,19,113,216,7,188,71,71,143,218,223,29,61,106,219,110,238,112,181,133,60,81,17,15,20,130,2,0,65,242,8,234,237,155,59,93,67,116,59,252,68,223,83,197,53,134,130,234,37,165,107,230,173,171,190,104,218,242,178,11,203,102, -23,158,170,47,214,86,178,127,43,210,8,1,10,130,140,183,247,180,112,129,167,30,190,134,37,240,17,47,63,228,54,249,59,38,219,93,251,198,91,156,59,136,225,63,228,26,245,79,226,121,68,16,20,0,8,114,2,175,37,20,32,219,129,129,189,230,3,26,78,243,155,178,89, -5,181,181,203,203,78,155,177,186,226,188,218,229,165,231,150,207,42,92,161,47,33,130,64,3,172,170,128,70,9,98,212,144,160,45,73,159,193,231,52,172,54,159,122,249,244,188,136,97,41,24,176,135,186,173,189,222,131,19,45,142,61,227,173,174,163,214,30,119, -95,196,143,78,62,130,160,0,64,144,147,128,122,136,206,17,191,153,108,91,187,222,54,109,165,225,227,210,89,5,53,181,203,74,87,17,65,112,118,229,252,162,179,43,235,138,79,33,130,96,182,160,227,53,244,223,211,234,130,24,46,27,168,107,236,249,132,193,167, -63,227,49,128,144,55,98,115,141,132,58,109,3,222,195,227,77,142,131,230,78,87,163,219,20,24,12,121,162,120,18,16,4,5,0,130,40,32,8,226,113,112,141,250,45,100,219,214,253,238,248,54,250,103,69,53,134,162,178,217,133,11,103,172,42,95,93,181,176,120,109, -249,220,226,53,197,181,134,197,134,98,109,45,53,82,180,186,128,69,10,136,48,160,162,0,171,13,78,214,210,3,112,196,216,211,178,60,142,255,187,177,39,94,188,199,109,14,14,146,115,208,102,235,243,28,181,116,121,26,172,189,158,78,207,120,192,138,201,155, -8,130,2,0,65,82,134,207,18,242,145,173,105,172,222,222,68,254,247,73,106,244,139,170,141,21,21,117,133,117,53,139,75,87,150,204,44,56,165,106,126,241,138,226,233,198,133,250,98,237,76,157,158,55,82,163,70,141,21,21,4,9,97,0,121,27,49,160,30,61,109,40, -72,215,234,143,255,164,66,75,138,198,164,176,55,106,38,199,118,208,103,13,117,90,123,60,45,150,110,119,171,99,200,215,235,157,12,142,71,131,104,237,17,4,5,0,130,100,16,212,219,247,76,4,28,116,27,58,96,173,63,254,231,5,21,122,67,201,116,227,180,226,105, -198,186,202,249,197,75,43,235,138,150,24,203,117,139,74,103,22,206,209,26,249,25,250,34,109,57,17,15,26,106,16,227,82,252,88,228,32,209,159,32,17,57,56,102,239,178,105,198,193,177,14,132,52,33,143,254,158,138,35,250,27,234,217,179,89,3,116,180,115,72, -242,134,60,81,139,215,28,26,11,185,34,189,182,126,111,47,241,238,187,220,166,192,128,115,196,63,26,116,133,221,185,221,193,17,65,80,0,32,72,78,19,112,132,67,100,27,154,108,119,13,245,110,159,216,121,252,207,245,197,90,222,88,170,171,40,172,54,204,168, -152,91,56,147,252,127,93,213,130,226,217,186,66,97,94,217,156,194,105,188,150,155,110,44,211,149,11,122,190,152,136,3,3,45,101,75,180,242,255,123,226,33,253,253,7,141,36,251,43,137,206,64,248,168,30,192,39,177,12,161,249,184,137,129,241,99,30,187,230, -67,30,60,13,207,159,120,29,75,193,63,81,49,33,17,241,226,241,91,67,110,242,211,236,28,245,155,137,231,62,108,235,245,140,68,2,226,144,173,207,75,12,124,196,228,179,4,109,33,111,52,132,137,148,8,146,103,2,192,235,197,158,27,72,254,66,199,198,146,205,234, -26,243,91,77,141,246,230,143,248,39,58,190,2,138,180,70,168,48,148,232,42,202,231,20,86,199,164,120,109,113,141,161,178,100,102,65,53,49,177,85,134,18,109,25,249,125,105,92,130,98,242,239,139,5,3,103,44,252,255,236,221,75,106,194,64,0,128,225,104,226, -139,90,104,233,190,208,131,120,75,47,215,19,20,173,90,84,218,196,81,155,206,152,62,20,234,174,208,133,223,7,1,5,31,193,133,243,79,72,50,119,189,126,28,232,211,26,187,157,163,173,125,184,235,93,63,63,123,36,33,141,223,233,102,72,187,240,189,136,82,136, -91,90,237,38,196,193,61,196,125,173,226,140,61,45,23,184,110,229,217,186,92,132,213,122,82,46,227,27,103,241,125,207,211,199,229,60,126,196,244,117,182,153,174,158,222,94,222,247,217,60,76,178,101,124,189,123,231,195,25,33,132,203,11,128,162,40,178,241, -120,44,2,224,183,249,118,115,121,97,136,3,254,34,62,94,52,51,251,250,103,182,253,57,19,79,119,180,235,118,138,172,46,234,230,105,63,239,12,175,6,131,56,213,79,235,239,118,143,182,162,119,221,105,223,222,15,135,231,206,57,72,231,39,196,25,123,21,7,245, -144,53,153,80,197,45,93,63,183,137,223,183,41,119,161,42,55,135,127,171,109,154,237,239,110,246,217,182,191,255,58,64,144,213,15,205,145,137,195,145,130,188,217,209,188,104,157,236,47,112,106,52,26,253,219,119,183,106,167,38,3,192,197,105,251,9,0,64, -0,0,0,2,0,0,16,0,0,128,0,0,0,4,0,0,32,0,0,0,1,0,0,8,0,0,64,0,0,0,2,0,0,16,0,0,128,0,0,0,4,0,0,32,0,0,0,1,0,0,8,0,0,64,0,0,128,0,0,0,4,0,0,32,0,0,0,1,0,0,8,0,0,64,0,0,0,2,0,0,16,0,0,128,0,0,0,4,0,0,32,0,0,128,191,246,33,192,0,100,235,173,153,70,62,64, -37,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,2,0,0,0,2,0,8,6,0,0,0,244,120,212,250,0,0,0,1,115,82,71,66,0,174,206,28,233,0,0,0,132,101,88,73,102,77,77,0,42,0,0,0,8,0,5,1,18,0,3,0,0,0,1,0,1,0,0,1,26,0,5,0,0,0,1,0,0,0,74,1,27,0,5,0,0,0,1,0,0,0,82, +1,40,0,3,0,0,0,1,0,2,0,0,135,105,0,4,0,0,0,1,0,0,0,90,0,0,0,0,0,0,0,144,0,0,0,1,0,0,0,144,0,0,0,1,0,3,160,1,0,3,0,0,0,1,0,1,0,0,160,2,0,4,0,0,0,1,0,0,2,0,160,3,0,4,0,0,0,1,0,0,2,0,0,0,0,0,25,192,84,16,0,0,0,9,112,72,89,115,0,0,22,37,0,0,22,37,1,73,82, +36,240,0,0,1,89,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,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,88,77,80,32,67,111,114,101,32,53,46,52,46,48,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,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,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,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,76,194,39,89,0,0,64,0,73,68,65, +84,120,1,236,125,9,128,28,85,181,246,169,234,234,101,246,153,204,150,100,178,239,27,73,32,64,18,8,97,194,142,138,11,10,207,167,254,79,252,229,129,254,238,10,162,162,50,65,68,32,128,138,240,20,212,247,80,112,75,112,121,40,2,97,27,146,144,4,33,64,128,36, +44,33,251,190,205,62,189,119,253,223,119,171,107,50,73,38,201,76,119,207,76,117,79,221,100,186,171,107,185,117,239,185,247,158,239,220,115,207,57,87,19,55,185,20,112,41,208,155,20,208,76,83,100,225,66,209,228,166,58,89,183,100,157,118,197,21,34,235,23, +46,49,235,234,36,209,157,23,95,243,242,44,239,208,150,34,179,216,31,246,26,122,194,123,8,15,21,39,116,35,168,231,123,125,241,160,233,245,228,105,17,51,49,206,99,38,134,154,162,69,77,49,53,77,52,188,53,49,82,52,125,184,105,38,112,220,243,164,105,186,38, +102,98,187,136,190,213,206,19,39,188,113,77,223,229,211,244,141,81,188,59,130,119,231,37,218,163,205,122,34,54,8,175,136,37,244,104,115,216,31,221,85,212,162,61,112,250,154,104,119,222,10,58,232,83,110,186,66,91,178,68,100,234,21,83,77,89,88,39,55,221, +164,42,193,199,83,42,123,119,222,235,222,227,82,96,160,83,64,27,232,4,112,235,239,82,32,83,20,0,208,107,11,165,78,155,2,144,95,95,185,95,27,2,16,188,102,214,154,24,208,248,184,32,86,247,92,109,32,207,27,245,106,62,111,129,95,143,249,76,211,155,23,141, +199,112,168,141,210,116,189,50,161,153,197,24,164,147,1,135,137,132,152,35,1,235,195,33,74,48,191,225,254,60,79,9,133,11,38,19,7,246,49,127,115,96,243,55,207,167,147,52,138,18,73,46,97,231,196,223,60,207,196,175,112,48,222,132,195,237,40,149,102,106, +178,93,23,109,107,194,52,117,77,151,13,186,169,53,155,137,196,254,132,97,110,241,122,140,176,166,69,131,225,132,17,49,35,209,182,96,212,27,173,91,80,31,82,25,117,241,129,162,107,15,172,153,101,236,134,240,51,101,127,165,185,30,194,193,77,82,71,233,198, +46,74,23,79,185,167,92,10,184,20,232,46,5,146,67,187,187,183,187,247,185,20,112,41,64,10,16,156,174,92,114,133,62,53,9,244,60,119,237,113,102,188,119,175,156,155,103,196,140,194,136,225,41,215,36,145,23,23,189,90,55,205,74,64,246,24,93,215,106,0,163, +131,0,212,99,129,106,21,248,61,172,160,216,144,120,28,87,161,31,32,128,39,112,204,4,9,0,231,146,199,56,135,193,203,187,14,143,97,162,49,47,219,103,212,45,234,209,244,62,142,6,220,78,66,5,53,13,120,165,71,247,88,239,214,240,173,235,214,235,120,78,9,16, +248,237,193,113,91,115,12,117,48,119,224,206,3,56,255,30,10,123,8,191,119,226,174,77,9,77,219,239,145,196,94,83,244,160,47,22,63,24,51,98,173,95,63,107,85,176,171,130,223,243,207,75,253,254,170,125,9,10,6,235,32,24,44,190,98,9,30,119,133,130,174,104, +229,158,115,41,112,34,10,216,172,226,68,247,184,215,92,10,12,120,10,80,77,45,231,214,234,82,181,31,112,54,69,234,166,46,161,122,219,66,227,36,117,238,135,170,190,37,92,50,84,211,98,131,128,72,195,180,184,86,45,186,57,28,131,108,20,128,186,26,88,61,14, +224,60,168,184,194,87,70,80,143,199,44,112,7,8,74,34,121,12,52,141,35,59,123,105,192,30,159,201,111,130,61,81,222,194,120,188,220,190,158,44,65,255,124,161,16,157,68,2,30,114,249,65,165,35,190,113,31,148,3,150,176,160,27,20,20,240,7,193,192,195,99,124, +55,31,136,52,224,41,172,112,152,27,33,20,64,24,144,45,146,208,182,155,30,115,47,4,166,29,166,105,28,106,141,36,118,66,107,16,75,230,111,127,105,117,235,174,240,98,97,69,100,95,101,66,158,175,79,116,119,121,197,206,192,253,118,41,48,16,41,224,8,6,50,16, +9,239,214,217,217,20,168,51,235,116,169,175,215,101,255,126,125,200,152,128,121,244,236,30,170,123,163,200,136,141,137,235,250,40,96,215,104,128,213,40,96,243,40,136,4,35,81,179,42,252,141,41,26,228,195,244,216,148,24,86,229,9,248,177,8,148,248,0,123, +156,10,3,228,48,246,20,152,115,238,202,137,52,167,203,132,78,162,103,78,142,75,84,202,68,45,21,1,80,125,214,26,85,229,31,40,130,223,88,50,240,211,236,192,240,233,74,32,48,188,36,137,38,45,135,34,188,111,19,254,246,225,111,11,136,250,182,169,235,123,19, +137,196,38,79,34,177,165,37,102,108,58,90,40,160,48,182,123,83,72,147,74,8,4,181,181,137,58,173,206,22,170,144,133,155,92,10,184,20,32,5,114,146,209,184,77,235,82,160,167,20,0,4,169,245,123,130,254,148,218,74,243,74,109,9,103,226,29,233,238,149,23,15, +74,72,251,25,80,81,159,134,65,51,14,160,69,213,253,16,32,211,16,195,208,42,243,138,188,0,249,4,64,30,83,120,124,199,163,132,126,51,106,13,176,36,208,139,137,25,48,97,16,51,97,55,29,75,1,172,143,88,186,4,141,96,173,4,3,34,63,196,0,175,199,171,105,30,143, +14,225,0,26,3,175,46,237,77,81,137,197,204,253,160,230,110,220,138,63,109,39,238,133,230,32,241,138,46,249,47,125,253,172,39,105,43,217,145,22,155,87,120,214,215,227,118,8,3,174,29,65,7,89,220,131,1,78,1,139,63,13,112,34,184,213,31,160,20,176,102,219, +202,66,255,104,149,241,93,203,231,205,48,13,125,38,96,232,12,204,78,167,0,133,202,129,232,67,160,174,174,12,20,24,192,41,0,61,102,246,241,24,192,62,206,213,122,137,225,94,206,105,1,242,157,102,247,3,148,180,25,174,182,18,6,146,90,3,75,56,128,162,0,75, +8,186,1,97,0,194,129,210,20,132,218,98,92,86,217,15,25,107,55,218,225,32,218,97,61,90,228,37,45,150,120,237,27,231,172,88,219,185,76,92,210,81,158,6,60,105,105,34,58,95,118,143,93,10,12,8,10,184,2,192,128,104,102,183,146,10,156,79,192,232,239,90,190, +96,134,24,230,169,64,246,5,64,155,211,65,177,114,0,73,17,214,170,243,125,126,152,167,81,133,79,176,7,232,35,169,53,104,12,30,75,113,111,9,18,238,88,234,195,110,6,98,39,151,19,208,178,74,91,160,94,110,80,24,48,12,107,9,33,18,142,211,182,162,29,178,90, +11,174,30,196,51,47,99,5,166,222,72,196,159,255,218,57,43,54,29,183,184,20,228,78,208,87,142,251,156,123,193,165,64,150,81,192,101,90,89,214,96,110,113,187,71,1,48,125,168,244,69,171,163,90,249,232,132,107,119,175,58,111,40,224,124,62,238,91,0,160,7, +232,155,67,49,195,244,97,221,217,240,0,64,8,248,202,56,15,223,72,88,14,176,102,245,28,48,56,227,142,155,163,105,234,128,223,104,20,52,39,19,191,104,74,145,52,56,76,26,27,42,109,77,212,140,161,245,232,122,184,7,119,61,135,182,127,14,58,132,101,95,159, +251,236,174,174,64,191,14,26,157,155,216,248,174,64,64,194,186,41,199,40,224,50,178,28,107,208,1,92,29,13,106,93,109,202,148,43,180,43,175,60,114,253,254,127,224,107,127,192,23,41,22,49,166,97,106,119,49,24,253,7,241,55,1,157,31,74,100,170,143,45,200, +32,108,36,221,236,8,30,184,5,191,93,176,207,234,46,149,108,90,187,14,42,182,145,237,166,104,183,55,218,24,182,7,242,14,254,30,133,32,248,36,20,60,111,86,68,124,205,159,57,42,70,193,226,197,176,35,88,175,2,56,177,127,168,62,98,103,236,126,187,20,200,70, +10,144,199,185,201,165,64,214,82,192,182,214,191,169,182,62,222,121,150,246,147,213,231,87,199,18,241,50,156,155,131,160,52,31,196,247,57,8,156,83,65,21,62,103,247,202,68,207,101,225,89,219,238,153,44,56,5,64,122,27,40,151,68,44,33,32,176,209,1,8,7,203, +117,77,123,20,223,171,13,221,211,240,213,57,207,236,181,223,137,115,218,194,250,90,143,235,93,96,83,196,253,206,86,10,184,2,64,182,182,220,0,46,119,29,212,178,67,214,204,242,48,16,76,103,247,175,31,173,170,29,101,36,18,99,48,171,159,131,57,221,165,8, +74,51,47,80,224,145,104,152,214,249,9,206,232,227,202,217,14,12,28,216,239,246,253,1,220,135,142,174,58,58,3,21,2,236,20,12,181,228,161,43,162,215,175,11,13,11,205,184,172,128,105,231,227,208,14,173,142,233,250,166,111,207,173,223,98,63,79,119,80,70, +124,220,61,107,77,188,174,171,229,38,251,70,247,219,165,128,3,41,224,50,65,7,54,138,91,164,99,41,192,89,215,181,8,11,59,11,151,58,251,228,223,249,194,121,35,77,61,54,27,10,217,51,160,204,159,15,35,176,51,243,10,13,9,182,32,234,92,204,228,10,62,108,0, +76,15,231,120,120,212,237,239,199,146,214,61,115,44,5,208,109,40,15,32,148,19,150,137,96,8,234,201,43,66,159,106,133,151,65,212,252,23,244,71,203,208,147,94,210,18,198,139,215,157,253,236,86,251,113,198,30,88,131,31,247,159,36,252,179,125,191,251,237, +82,160,191,41,224,50,196,254,110,1,247,253,39,164,192,21,88,119,189,96,204,38,125,247,172,203,48,195,170,83,6,125,119,252,171,118,176,22,149,11,0,233,115,128,239,167,235,30,125,118,62,194,231,134,218,226,18,11,39,226,152,223,195,104,143,65,105,17,135, +207,5,253,19,210,215,189,120,98,10,160,15,161,11,81,43,128,62,101,106,30,195,175,123,168,85,106,103,88,227,120,226,69,116,177,151,33,42,172,54,189,242,244,55,207,172,223,195,220,184,44,53,100,205,223,61,79,111,26,147,88,114,148,61,202,137,223,230,94, +117,41,208,183,20,112,5,128,190,165,183,251,182,238,80,0,179,253,43,16,103,159,183,218,12,148,179,171,214,88,209,191,97,237,254,124,176,228,169,184,52,163,160,212,235,163,122,63,18,132,127,158,114,205,115,65,159,52,115,83,239,80,128,194,0,164,1,106,148, +24,36,202,240,229,25,58,151,9,218,26,163,17,252,94,11,173,192,58,216,18,60,83,104,180,252,201,214,82,113,137,128,251,21,44,193,126,5,184,78,97,194,77,46,5,28,67,1,87,0,112,76,83,184,5,33,5,168,234,199,204,190,131,81,46,122,97,254,121,48,221,254,32,174, +156,135,179,163,3,69,70,33,45,245,195,237,42,80,95,20,231,96,171,229,206,244,221,222,211,183,20,80,194,0,236,73,1,234,20,62,189,254,124,15,118,94,134,127,97,75,172,21,231,54,67,241,244,44,182,97,126,244,250,179,151,61,107,151,236,232,190,109,159,119, +191,93,10,244,23,5,92,1,160,191,40,239,190,151,20,176,160,190,19,224,243,228,109,43,230,141,240,104,250,255,129,36,240,49,252,28,13,235,236,18,95,64,199,76,63,65,223,124,133,252,56,79,13,129,219,127,65,4,55,245,59,5,40,176,82,16,224,6,71,30,95,30,250, +106,8,125,53,110,114,155,228,141,208,90,253,21,193,34,31,250,214,188,21,219,120,79,71,130,176,155,236,193,29,2,111,199,53,247,192,165,64,31,80,192,101,160,125,64,100,247,21,71,82,128,51,161,133,11,17,164,167,206,98,154,188,122,207,234,217,197,161,184, +127,14,166,243,95,196,207,243,240,87,64,75,108,206,246,185,107,30,18,129,223,5,125,82,194,77,78,166,0,35,70,41,79,2,123,151,67,46,83,33,181,225,239,89,184,164,222,27,240,132,87,127,121,206,139,205,118,37,58,194,18,31,37,8,219,215,221,111,151,2,189,69, +1,87,0,232,45,202,186,249,30,67,1,6,82,185,162,211,222,237,216,194,213,151,223,120,112,184,174,197,63,137,155,175,2,224,143,38,216,211,94,95,5,228,129,229,21,51,193,135,219,79,143,161,166,123,34,11,40,64,97,128,189,87,5,32,162,1,1,133,2,184,164,110,198, +217,7,19,166,231,119,237,165,229,219,177,181,52,109,8,212,242,215,18,216,190,28,29,200,138,215,220,228,82,160,55,40,224,50,214,222,160,170,155,103,103,10,104,215,188,60,203,24,218,201,138,255,214,101,231,84,250,125,250,52,108,161,243,57,220,248,81,111, +64,247,192,122,95,89,88,117,126,208,61,118,41,144,139,20,160,128,11,111,2,137,134,224,177,34,242,103,108,131,252,139,112,36,241,230,119,230,47,223,207,250,210,139,96,23,188,8,30,56,125,13,247,156,80,66,48,207,187,201,165,64,166,41,224,10,0,153,166,168, +155,159,69,1,76,228,239,135,223,126,217,172,49,9,123,107,221,187,255,181,96,106,60,154,56,31,12,240,163,112,219,155,31,69,112,30,168,71,21,242,115,146,228,206,244,221,206,51,112,40,0,241,23,3,1,94,4,186,23,75,93,112,43,92,6,13,193,159,177,213,241,51, +95,63,243,185,117,164,3,183,48,110,88,179,73,191,22,113,5,160,69,112,5,129,129,211,57,250,172,166,174,0,208,103,164,30,24,47,82,235,251,75,166,122,215,201,148,184,237,194,183,232,197,249,231,233,9,253,34,24,67,125,28,1,85,70,50,42,31,192,63,2,150,134, +0,61,234,111,96,16,199,173,165,75,129,99,41,128,184,21,18,135,16,224,163,205,11,2,88,109,133,241,235,31,19,122,98,233,245,179,45,15,2,198,194,152,42,235,61,55,93,177,46,10,153,193,21,4,142,165,161,123,38,69,10,184,2,64,138,132,115,31,59,138,2,152,241, +95,243,192,44,227,129,107,215,68,237,43,119,174,152,255,73,184,70,189,15,28,235,253,133,101,222,146,246,38,4,79,73,152,202,117,15,76,143,224,239,38,151,2,46,5,72,1,216,186,98,76,36,224,69,224,205,47,49,164,181,33,218,4,230,252,24,108,97,254,121,221,188, +101,191,179,137,116,205,253,179,188,15,92,227,106,4,108,122,184,223,233,81,192,21,0,210,163,159,251,52,40,208,217,184,239,190,231,106,11,67,1,243,26,104,2,46,197,165,115,10,203,124,254,182,70,76,246,77,129,161,147,105,192,34,138,150,252,110,114,41,224, +82,160,75,10,96,105,64,180,24,102,250,190,130,82,31,4,129,72,24,183,45,199,239,199,3,33,237,129,47,44,168,111,165,150,205,53,22,236,146,120,238,201,30,82,192,21,0,122,72,48,247,246,35,40,96,247,31,243,199,175,214,150,198,67,230,53,152,201,252,59,238, +152,201,216,233,33,196,78,199,236,159,22,206,6,14,92,224,63,130,116,238,15,151,2,39,160,128,21,96,40,134,1,230,11,36,247,182,192,221,175,65,75,240,7,79,64,123,224,107,167,214,55,226,119,199,248,59,65,78,238,37,151,2,199,165,128,221,129,142,123,131,123, +193,165,64,103,10,112,246,209,121,29,242,71,203,231,149,97,187,212,239,226,220,149,152,225,15,245,5,12,61,26,70,216,116,83,104,193,76,53,191,219,199,58,19,208,61,118,41,208,51,10,112,205,159,91,93,27,94,191,7,1,134,24,246,90,219,133,241,181,24,219,93, +223,242,237,115,86,52,216,217,29,61,54,237,243,238,183,75,129,227,81,192,101,206,199,163,140,123,254,8,10,208,53,201,222,140,135,23,8,252,62,195,248,6,194,157,126,94,211,245,65,30,108,189,19,7,111,2,19,74,160,83,185,22,253,71,80,207,253,225,82,32,61, +10,96,76,97,104,97,59,34,132,189,246,24,186,196,177,207,165,153,72,28,66,128,129,159,71,98,177,187,58,11,2,71,143,213,244,222,236,62,157,203,20,112,5,128,92,110,221,12,212,141,22,200,139,59,5,239,249,201,234,243,171,227,102,244,106,211,212,190,137,173, +119,139,185,98,9,195,62,176,38,197,156,200,165,220,62,149,1,186,187,89,184,20,56,1,5,56,202,32,119,243,3,234,129,168,217,12,39,218,59,60,154,247,87,95,157,243,204,94,62,199,113,120,37,130,10,217,158,56,39,200,203,189,52,128,41,224,50,235,1,220,248,39, +170,186,189,165,169,189,171,25,92,249,70,67,17,249,49,116,152,111,251,242,60,101,145,16,141,150,193,103,92,192,63,17,25,221,107,46,5,122,149,2,92,142,131,248,173,249,2,88,30,8,198,27,112,252,35,241,152,143,192,133,112,51,95,204,93,52,59,111,165,221,171, +133,113,51,207,58,10,184,2,64,214,53,89,239,22,152,128,254,0,2,248,216,192,127,199,191,106,7,123,98,242,113,76,240,191,5,195,190,106,248,41,179,0,140,96,230,186,241,245,110,83,184,185,187,20,232,9,5,212,152,164,241,45,198,232,94,232,6,110,139,27,242, +199,111,158,89,191,135,153,80,16,184,6,1,133,40,48,244,36,83,247,222,220,166,128,43,0,228,118,251,246,168,118,220,187,92,106,107,19,92,235,255,241,115,181,165,9,127,226,147,144,7,62,137,80,189,115,161,102,164,170,159,193,123,188,200,212,237,55,61,162, +172,123,179,75,129,62,161,0,245,113,81,44,13,248,176,60,199,80,195,171,128,247,191,211,195,250,239,190,182,160,190,145,90,61,169,175,215,235,22,212,43,41,190,79,74,228,190,196,209,20,112,25,185,163,155,167,111,10,199,89,255,194,250,90,143,205,24,22,189, +80,251,41,48,142,255,4,240,207,231,30,231,80,45,34,184,143,137,25,191,235,195,223,55,45,226,190,197,165,64,58,20,80,177,4,226,88,170,243,114,83,45,8,2,203,48,196,127,121,253,217,245,15,51,87,10,250,55,213,214,211,179,192,213,6,164,67,230,28,120,214,21, +0,114,160,17,211,169,2,131,248,216,187,143,45,90,85,91,171,153,230,141,200,239,28,168,18,253,80,37,218,51,5,4,240,113,83,246,80,160,235,97,13,181,112,183,170,144,220,132,177,139,123,93,188,232,130,40,78,62,165,198,47,198,178,129,177,172,2,10,193,141, +224,135,215,207,173,175,103,161,59,143,125,39,87,194,45,91,239,81,160,123,28,161,247,222,239,230,220,143,20,224,204,159,179,128,219,86,204,27,1,95,254,69,152,15,92,20,40,50,74,195,237,240,227,79,152,100,30,46,240,247,91,251,116,53,52,187,2,224,35,207, +17,188,77,147,203,193,71,39,44,225,8,21,57,220,155,254,232,188,153,7,207,241,91,23,68,163,237,226,30,136,15,154,231,152,39,143,205,11,143,118,113,23,207,90,249,91,71,238,103,159,82,32,6,77,158,225,207,247,72,168,37,214,136,230,89,138,24,2,215,127,107, +222,138,109,54,15,232,211,210,184,47,115,12,5,142,230,4,142,41,152,91,144,222,161,64,231,1,191,104,237,69,5,210,26,185,30,46,68,159,195,70,36,213,184,38,241,8,182,40,133,175,49,222,238,246,141,222,105,130,14,210,90,51,114,139,204,10,184,1,209,112,170, +4,128,83,246,34,96,51,136,226,97,192,182,154,5,167,144,14,111,165,192,92,184,58,3,73,14,237,103,232,186,148,7,198,225,219,135,223,92,18,102,72,185,184,120,245,60,41,243,143,16,159,145,135,243,135,243,180,114,227,39,165,65,93,34,177,160,52,132,183,73, +52,17,68,39,240,80,156,80,82,98,12,123,55,29,12,109,148,24,54,111,196,171,112,59,175,80,208,160,208,192,207,206,66,7,234,144,60,43,38,5,10,31,126,81,128,160,60,105,149,151,159,86,178,106,110,31,39,79,186,95,153,167,0,9,157,240,248,116,15,219,15,27,114, +237,133,43,239,47,164,208,183,232,250,25,75,219,248,58,118,23,118,163,204,191,218,205,209,169,20,176,71,161,83,203,231,150,43,67,20,168,67,40,222,58,43,188,168,218,102,116,203,202,61,31,214,53,253,118,143,161,141,37,112,36,16,88,4,137,31,110,159,200, +16,205,45,176,35,57,9,126,144,169,76,11,140,9,240,4,247,132,25,196,95,19,174,199,0,146,121,226,209,10,240,237,7,120,151,225,9,143,24,90,49,128,219,39,165,129,74,156,55,164,60,111,132,228,25,197,120,38,46,67,138,166,224,57,88,100,122,242,165,178,96,140, +120,112,159,213,124,120,155,66,104,252,60,42,89,231,89,30,187,153,85,155,119,186,203,186,70,193,161,171,116,248,60,130,62,65,32,216,223,182,73,162,241,118,190,80,118,55,175,71,25,61,18,140,53,203,193,224,54,148,49,38,141,161,253,16,36,34,18,51,155,241, +198,56,132,135,70,128,76,12,191,27,113,61,132,87,120,241,76,49,254,242,32,108,248,144,141,161,242,96,249,44,33,197,22,14,186,46,79,87,101,116,207,157,132,2,236,130,224,5,16,3,216,108,8,222,101,190,151,48,19,55,140,58,107,240,223,236,109,187,235,58,241, +138,147,228,230,94,206,114,10,112,196,187,41,135,41,64,169,190,115,64,144,219,87,205,159,236,49,181,219,193,0,46,35,159,167,145,16,58,1,15,221,190,144,86,63,224,156,214,2,122,68,109,69,78,26,128,46,12,160,35,208,183,1,8,223,5,223,109,19,159,62,88,124, +158,145,248,46,151,128,167,10,96,95,34,197,190,10,201,247,230,73,137,191,90,242,188,69,82,85,56,22,231,253,82,158,63,10,192,78,117,124,246,166,120,34,42,7,219,183,0,252,195,178,191,149,2,3,190,219,183,66,80,8,73,115,228,0,206,55,73,40,190,79,34,137,131, +18,137,111,197,247,30,80,174,0,130,207,120,8,3,20,136,124,16,132,252,32,0,133,1,236,45,1,237,5,143,248,219,77,169,83,192,30,243,52,242,165,32,128,9,192,223,227,154,121,195,13,115,151,109,96,174,71,7,0,75,253,77,238,147,78,166,128,203,244,157,220,58,105, +150,141,214,190,182,101,255,221,43,207,171,73,104,241,79,130,131,254,200,240,121,116,168,0,201,65,221,246,79,145,198,22,216,51,20,130,7,32,229,133,139,36,102,184,102,187,154,237,70,226,175,97,154,37,82,236,157,2,144,31,46,249,198,80,41,242,141,198,119, +153,148,4,74,241,87,137,223,131,164,52,127,168,20,7,170,209,8,221,49,181,200,182,230,58,121,121,9,232,205,161,189,210,216,190,75,90,34,135,164,9,26,131,166,112,163,180,71,27,240,123,179,180,199,118,65,56,216,46,205,81,104,23,64,79,159,103,166,210,138, +24,122,62,104,238,129,96,133,157,165,149,189,3,108,86,92,129,32,197,158,172,30,51,177,4,168,197,34,113,174,239,124,91,55,61,191,251,250,89,207,238,228,149,206,60,36,157,23,184,207,58,147,2,46,0,56,179,93,210,42,21,103,253,11,215,79,245,214,77,93,23,161, +165,239,246,97,251,46,7,59,254,46,172,129,167,195,26,24,135,106,194,79,158,234,166,110,82,192,6,124,170,230,177,83,171,196,149,42,187,5,51,214,157,0,170,45,82,136,137,122,169,239,2,204,230,199,75,169,127,130,12,10,140,144,146,188,18,41,240,150,72,145, +127,144,148,229,15,87,130,194,209,175,35,76,114,86,123,120,32,226,200,250,143,43,135,207,30,253,92,118,253,78,194,51,43,155,4,106,30,114,89,164,171,26,18,216,27,218,183,75,75,248,144,180,69,155,164,41,216,36,135,66,219,164,49,252,14,180,6,239,74,99,228, +105,105,133,61,99,190,49,10,154,148,26,8,5,69,208,148,96,195,73,10,4,16,42,184,68,98,191,135,111,116,83,119,40,64,195,16,77,3,143,208,192,35,94,71,187,220,50,124,71,213,95,232,33,84,183,110,170,239,166,41,235,162,208,20,168,22,236,78,110,238,61,217,65, +129,174,198,95,118,148,220,45,101,151,20,232,236,227,11,127,254,105,24,179,223,0,159,189,202,227,213,37,134,5,89,236,210,227,197,40,118,219,189,75,234,29,121,146,70,119,106,93,90,252,152,209,195,134,62,209,172,84,212,225,248,70,204,238,53,169,8,92,41, +21,121,51,164,186,96,58,102,242,101,82,224,43,132,77,21,102,248,121,131,1,246,92,147,63,156,200,57,109,235,124,10,19,42,129,163,118,28,31,190,117,64,29,41,209,128,242,40,146,61,139,231,236,254,232,196,165,148,166,224,30,216,172,54,74,91,164,21,154,131, +6,217,219,246,186,28,8,174,149,3,161,63,65,75,0,139,2,189,26,26,151,113,248,46,1,253,117,8,2,97,208,156,91,82,83,31,227,166,147,81,0,189,18,118,129,18,53,96,120,18,143,98,169,37,33,15,98,46,113,23,226,7,188,169,38,21,157,98,133,156,44,47,247,122,118, +80,192,5,130,236,104,167,238,148,82,3,248,171,96,62,156,245,111,173,217,247,5,240,192,235,3,249,198,176,80,59,183,233,83,92,176,59,186,230,238,188,43,103,239,225,12,159,6,119,244,128,140,3,116,194,241,61,210,30,127,83,138,48,195,31,154,255,31,82,145, +63,93,106,138,78,149,65,0,249,128,145,47,133,254,82,9,120,75,143,161,135,53,11,229,105,11,226,15,27,224,29,115,171,123,226,24,10,64,20,0,226,216,98,1,47,119,37,20,132,162,141,210,138,37,131,80,172,93,14,65,56,216,223,246,182,236,110,123,73,118,182,253, +143,180,80,67,224,153,38,126,207,96,24,87,82,24,163,102,128,194,64,103,111,133,99,94,236,158,176,40,16,67,183,213,193,59,116,240,142,29,16,4,22,141,220,89,117,159,210,6,88,203,138,174,138,37,71,122,138,43,0,228,66,67,210,142,47,169,158,187,125,229,57, +103,122,196,115,43,204,122,22,248,2,134,142,253,195,225,75,214,165,99,119,46,212,60,35,117,176,32,154,179,78,26,238,181,3,244,183,227,120,187,84,6,206,147,49,165,239,151,81,165,103,195,18,31,128,239,13,136,31,160,239,55,138,142,120,47,172,168,241,155, +112,229,130,253,17,132,201,232,15,75,40,96,150,150,104,0,132,130,132,219,57,209,35,33,24,109,145,80,52,8,15,132,189,178,165,241,5,217,212,248,152,236,15,61,139,219,134,67,24,24,142,229,130,124,149,3,183,179,176,69,140,206,121,184,199,29,20,64,135,54, +163,224,33,62,240,16,116,112,253,185,184,196,191,115,195,89,203,255,165,238,232,196,115,58,158,112,15,178,142,2,174,0,144,117,77,214,117,129,235,234,68,47,184,232,220,27,192,213,174,71,192,143,50,132,239,229,141,110,48,159,99,200,101,119,121,178,127, +240,53,128,119,28,46,121,113,184,168,5,60,134,140,44,186,84,198,12,170,149,154,226,83,212,250,189,215,240,195,248,140,160,113,56,241,73,203,199,30,231,92,53,254,97,194,244,241,145,229,150,104,193,56,53,44,150,248,117,184,16,17,8,4,81,4,192,163,29,193, +206,230,55,100,211,161,122,217,218,242,56,12,11,99,176,25,40,133,174,7,154,1,8,17,86,124,133,195,253,226,112,14,238,17,40,160,120,8,194,10,11,2,132,53,128,88,139,218,150,62,127,59,248,13,165,94,55,101,57,5,236,94,159,229,213,24,120,197,231,154,156,109, +148,163,214,250,53,243,1,252,158,171,214,250,25,204,135,33,221,56,37,117,83,7,131,167,250,55,14,255,115,19,254,247,92,219,215,36,0,227,189,82,25,85,124,182,76,168,88,32,195,74,102,98,86,169,193,183,158,42,227,35,103,151,10,108,146,212,60,26,104,92,18, +59,131,2,150,40,128,178,168,193,113,100,251,65,35,6,23,68,186,100,154,178,163,233,53,121,231,192,115,178,165,249,5,24,19,34,54,129,176,79,64,235,173,98,49,4,208,47,168,13,98,110,46,198,37,91,150,234,173,4,60,5,60,202,54,192,148,85,48,22,184,134,182,1, +188,222,153,23,37,239,119,191,178,132,2,46,64,100,73,67,217,197,228,76,255,166,155,16,82,6,42,255,123,222,189,212,31,61,208,254,5,12,192,155,49,56,11,146,131,211,210,69,219,15,12,208,111,219,128,143,107,241,49,179,21,51,252,93,48,14,43,135,26,120,4,64, +127,176,140,46,153,33,147,42,23,192,231,126,188,178,32,239,74,86,34,4,184,96,159,221,29,232,248,109,8,113,48,17,147,125,173,239,202,91,251,159,147,205,77,107,33,12,236,193,242,15,163,32,30,68,159,24,138,229,130,66,101,123,224,26,18,118,244,1,242,29,45, +57,201,104,195,241,247,189,21,249,247,125,121,252,227,97,10,1,11,23,138,230,106,6,58,104,149,21,7,174,0,144,21,205,100,21,114,177,137,141,123,180,37,74,183,127,199,234,249,227,181,184,118,175,63,207,115,81,52,140,83,224,116,64,254,1,221,158,4,107,77, +153,59,120,16,96,166,85,130,241,21,226,135,155,88,161,247,116,184,229,77,149,81,37,147,160,222,159,45,213,69,19,178,168,213,221,162,246,21,5,246,182,188,131,101,130,23,101,75,211,91,112,59,92,7,129,224,101,9,195,205,51,207,51,15,129,153,10,81,12,216, +13,40,87,67,202,216,3,55,129,201,40,201,216,235,199,178,64,48,190,212,244,152,95,252,230,156,101,239,146,34,157,121,212,192,165,80,246,212,124,64,3,70,214,52,19,134,91,93,39,23,156,59,87,213,126,26,99,240,78,128,127,5,214,229,6,252,58,63,55,169,209,161, +206,231,108,191,29,46,122,177,196,123,48,224,187,64,170,243,207,149,97,0,251,97,165,147,160,222,159,126,68,115,31,127,102,120,196,109,185,247,3,98,226,241,224,75,49,3,76,235,6,94,34,69,142,172,247,142,166,215,101,71,227,91,178,3,66,193,222,246,231,97, +72,248,52,132,128,177,240,44,24,167,180,2,9,181,108,160,100,241,129,71,174,195,53,142,193,222,200,128,16,112,0,244,187,238,186,185,245,191,225,37,21,60,8,219,13,131,164,199,235,106,135,115,112,143,250,149,2,71,246,250,126,45,138,251,242,174,40,64,213, +218,18,185,66,231,204,159,187,246,121,117,227,251,222,60,253,179,174,145,31,173,192,189,224,49,126,229,159,223,18,93,6,87,189,66,25,93,252,85,248,229,79,149,225,37,227,100,68,217,116,220,195,245,124,174,83,146,23,225,143,58,204,163,152,189,186,33,75, +62,172,122,88,85,81,245,81,117,177,212,63,201,195,227,215,4,163,93,199,102,65,39,74,9,108,246,115,92,182,109,115,11,139,140,200,134,39,58,126,168,108,45,119,199,19,189,193,185,215,148,104,164,250,9,53,73,86,101,25,127,96,91,195,235,178,189,105,35,226, +14,172,147,205,205,63,145,150,88,171,20,25,243,177,164,84,140,218,51,214,0,3,16,177,127,13,200,212,97,36,24,13,38,126,29,77,196,110,230,46,131,212,4,92,33,75,18,32,227,128,37,76,54,244,6,123,72,103,67,89,7,92,25,235,204,58,253,38,169,83,235,253,119,188, +112,206,71,225,246,116,99,160,208,56,53,212,26,139,130,247,114,171,182,19,115,243,28,164,24,193,91,215,2,168,186,134,120,242,187,16,152,103,173,12,43,184,92,38,149,127,76,134,98,61,191,186,120,36,2,242,84,170,154,147,243,48,248,142,130,252,163,92,198, +28,75,26,123,134,174,216,102,39,88,73,178,81,221,147,94,147,71,131,81,137,134,208,125,16,3,190,51,107,166,96,225,13,120,197,155,135,128,7,105,164,4,162,201,118,36,188,194,98,48,214,129,58,206,18,13,131,189,231,64,231,45,144,219,34,251,101,111,243,86, +217,69,187,129,131,143,200,142,182,191,32,18,225,12,108,208,52,20,245,132,201,32,13,76,59,19,181,131,16,57,126,96,109,48,20,7,111,242,130,55,189,10,183,216,31,126,243,236,229,127,70,151,210,22,74,157,134,127,157,58,69,142,211,34,203,170,103,141,207,44, +43,244,64,40,110,231,24,220,119,173,170,189,5,155,246,92,231,203,247,248,49,243,71,136,19,73,143,75,103,33,1,45,224,71,68,62,184,237,181,68,159,1,211,77,200,132,210,239,202,132,242,139,97,200,55,92,42,10,70,160,86,86,119,182,252,242,49,219,85,96,227, +208,46,14,64,183,102,156,135,27,131,191,79,54,67,15,53,133,36,18,130,53,123,36,38,109,13,45,0,114,68,120,12,71,36,216,220,166,142,89,229,112,48,140,168,143,140,229,210,41,225,135,137,29,31,91,118,33,154,97,75,88,184,27,156,154,236,146,106,184,198,221, +32,125,69,126,41,26,90,12,43,47,222,124,248,89,30,26,94,67,252,121,126,245,140,9,45,65,94,113,129,24,126,108,57,140,227,130,178,34,209,125,134,248,2,62,9,148,4,14,63,216,197,17,53,12,108,203,142,132,67,245,187,211,169,142,107,142,56,32,176,91,196,56, +28,119,192,148,3,109,219,96,64,184,93,222,57,248,164,188,211,120,11,132,81,29,26,168,243,209,231,146,17,8,59,19,208,17,245,232,147,66,68,225,46,232,141,180,199,195,16,48,239,252,198,220,250,239,242,173,157,121,89,159,148,194,125,73,183,41,224,216,97, +215,237,26,228,224,141,246,128,185,123,101,237,56,152,29,253,204,231,215,47,137,69,1,15,12,101,198,16,117,3,40,89,96,225,81,177,247,67,241,53,8,191,123,154,204,26,252,101,25,85,54,11,49,246,203,176,123,94,73,7,53,104,3,96,197,151,119,96,183,6,136,216, +152,170,74,119,156,153,112,176,49,40,193,166,118,105,218,125,72,18,49,216,52,52,182,72,28,96,31,106,11,226,121,83,90,119,54,75,172,29,81,237,120,110,111,187,104,6,182,230,109,139,74,120,31,92,27,13,104,7,144,121,172,1,113,13,154,209,85,58,147,65,161, +56,182,29,170,194,22,188,126,220,199,189,160,236,235,188,6,141,64,34,156,144,216,62,200,151,220,46,194,190,70,234,226,167,167,216,16,111,25,0,31,199,38,226,194,248,171,176,125,113,129,23,199,166,4,170,177,57,15,4,0,35,223,144,194,26,8,16,248,231,47,200, +19,3,231,242,75,33,28,24,30,41,25,50,72,242,74,242,37,175,52,175,163,189,142,56,72,210,167,67,56,232,252,254,35,110,236,191,31,164,63,53,3,157,163,18,6,17,99,160,37,220,32,91,26,214,200,154,61,247,32,44,241,43,136,39,49,11,209,7,177,55,1,140,6,143,144, +164,250,175,232,125,249,230,24,192,223,48,16,42,59,18,78,60,129,157,51,190,244,245,179,234,55,218,60,173,47,11,226,190,235,228,20,112,224,48,59,121,161,115,246,14,168,204,200,139,129,13,230,162,149,231,126,4,63,238,244,23,120,198,192,208,15,103,25,110, +46,91,244,216,233,182,16,187,37,217,45,253,246,185,198,218,32,35,138,106,229,180,193,159,146,154,146,105,136,183,95,2,26,89,114,16,239,34,42,17,248,179,41,181,238,111,145,198,93,13,210,184,109,159,132,91,67,106,54,31,197,204,61,116,40,36,49,0,122,228, +0,0,31,234,244,88,51,102,251,136,203,30,7,232,155,17,83,140,10,216,61,0,244,129,48,226,129,21,54,1,153,51,118,29,123,61,40,82,128,8,58,213,251,252,235,42,1,248,249,76,87,73,201,36,199,123,14,15,81,75,160,114,197,7,203,68,141,2,159,137,211,11,5,199,20, +6,98,7,176,188,224,211,197,147,15,195,76,148,201,40,246,161,124,186,248,42,32,16,64,96,8,148,7,196,235,135,166,161,170,20,66,66,64,138,107,176,43,226,208,65,82,88,121,100,116,197,174,202,231,164,115,20,4,88,121,91,96,161,171,96,107,4,1,135,154,222,148, +87,246,60,44,219,90,234,113,173,12,238,132,126,124,91,81,38,85,3,57,169,18,189,86,22,139,87,193,64,80,194,109,241,77,216,95,224,186,235,207,122,254,175,106,152,242,157,174,93,64,175,81,190,167,25,31,135,75,244,52,27,247,254,52,41,160,41,70,142,129,81, +7,45,112,209,234,249,223,67,160,141,239,121,12,205,19,143,209,42,75,177,230,28,111,43,178,82,168,79,21,232,55,227,24,170,14,173,68,166,148,95,34,211,170,223,47,67,138,38,129,153,218,140,148,152,79,228,227,127,7,144,37,217,120,71,244,1,202,37,248,199, +89,124,227,206,70,217,179,126,135,180,238,69,220,250,166,54,105,218,121,72,1,58,103,242,241,22,0,60,102,212,156,125,115,102,173,35,226,26,1,94,205,210,89,59,28,43,131,52,118,1,86,85,237,226,140,111,230,223,1,228,234,101,214,117,22,162,227,60,127,100, +48,217,164,102,254,234,216,58,113,68,239,164,0,193,226,176,112,248,163,80,192,19,86,253,240,141,8,149,212,84,120,2,168,39,4,4,15,180,6,20,12,248,93,50,180,76,242,7,21,97,25,98,144,12,158,50,76,74,107,202,168,245,178,236,21,236,106,116,188,219,62,209, +191,223,108,99,254,183,141,6,249,35,142,56,92,187,91,222,146,55,247,60,38,235,15,61,1,133,74,19,111,129,204,86,140,30,78,211,157,1,225,61,64,194,152,30,67,215,227,49,51,174,105,230,15,90,230,44,251,65,29,20,77,232,22,54,185,72,22,55,245,35,5,236,33,221, +143,69,24,216,175,78,14,6,53,16,238,124,225,188,145,162,197,238,247,231,27,23,91,179,126,197,55,114,186,141,8,224,244,221,167,250,62,146,216,10,208,47,144,18,223,84,0,255,5,50,117,240,69,82,150,55,236,168,14,66,82,245,63,73,8,112,54,23,99,1,105,252,70, +176,231,218,251,182,151,183,200,129,183,118,74,51,128,190,109,119,147,82,217,19,220,57,99,198,99,10,196,21,176,99,230,206,217,177,170,14,128,147,181,82,29,225,240,71,242,4,223,144,165,169,163,169,112,192,255,248,179,105,160,132,4,210,36,169,61,160,73, +43,141,19,249,167,67,187,145,63,164,88,42,38,12,145,201,31,152,41,69,149,216,225,47,105,0,169,158,3,57,58,211,223,25,212,57,182,111,54,4,119,200,186,61,75,101,253,193,167,165,41,178,14,194,64,27,12,7,71,170,101,132,1,226,61,160,136,162,180,1,237,177, +39,197,52,174,189,238,236,103,183,178,189,58,243,62,103,180,223,192,43,5,134,163,155,250,139,2,180,242,183,45,100,23,173,170,189,0,106,128,123,189,1,125,98,52,68,83,234,44,211,105,247,144,136,132,59,13,46,122,113,168,78,67,241,87,17,176,167,74,134,22, +188,79,38,148,205,150,41,131,47,128,37,127,121,15,115,236,163,219,193,206,20,248,115,166,139,20,105,15,195,0,175,93,54,45,127,91,182,35,22,74,211,59,7,196,195,89,60,85,242,4,179,228,204,157,160,214,145,236,67,5,244,29,103,7,238,193,209,244,72,210,152, +218,14,106,0,18,161,132,84,204,172,145,41,151,159,42,85,227,135,138,191,208,50,52,60,70,59,224,96,10,182,69,14,66,16,120,90,222,109,120,17,187,21,254,13,17,7,247,74,190,49,55,41,8,68,32,248,229,122,103,48,19,222,128,71,143,134,18,111,195,173,233,139, +215,207,173,127,154,205,213,153,7,58,184,249,114,182,104,246,208,203,217,10,58,181,98,182,81,12,7,64,225,234,231,190,130,241,127,43,84,254,129,164,202,31,232,145,171,9,43,162,26,173,249,69,218,98,171,192,4,135,201,152,146,79,200,232,210,25,50,185,234, +220,142,157,246,200,16,41,36,56,41,117,158,245,19,248,247,188,189,83,54,61,189,65,118,60,137,32,104,192,36,111,9,214,123,147,22,244,106,150,154,235,60,189,47,26,7,93,128,194,83,34,26,151,208,182,118,25,188,96,148,156,250,233,179,165,124,68,21,188,16, +12,165,121,177,53,3,125,81,156,84,222,209,185,47,135,99,45,88,26,120,86,182,34,244,240,230,230,71,164,61,182,69,10,140,179,148,201,6,237,93,178,95,229,115,34,10,153,137,228,146,64,8,67,251,59,173,115,22,252,148,19,32,155,23,158,232,73,247,90,239,80,192, +89,28,182,119,234,232,184,92,235,22,79,245,213,93,185,46,114,235,178,115,42,189,30,125,161,47,160,127,62,138,53,96,12,10,232,137,115,215,183,159,65,121,176,213,14,220,248,214,97,135,189,173,50,185,236,86,153,84,49,95,198,148,159,138,40,107,214,142,123, +116,225,59,236,110,229,156,166,235,60,219,220,189,97,135,188,253,228,235,178,109,201,6,49,134,250,196,11,247,57,165,198,166,226,198,5,253,222,105,52,104,82,116,24,23,198,218,34,18,219,19,147,9,159,153,41,167,124,248,12,120,25,20,64,75,0,215,66,42,204, +28,206,205,184,204,101,123,16,196,18,65,217,116,240,21,121,235,192,50,217,208,240,29,137,196,71,194,141,112,42,186,79,20,194,49,118,240,206,213,148,228,113,94,120,162,68,66,137,159,71,227,137,155,190,51,127,249,126,155,39,230,106,181,157,90,47,135,15, +25,167,146,45,245,114,221,255,242,44,239,181,167,175,137,42,23,63,211,188,47,175,200,184,40,212,10,147,106,176,48,228,154,147,237,1,175,32,84,44,128,217,206,78,84,241,53,153,86,126,139,76,169,188,16,145,250,38,67,16,176,172,191,45,230,72,197,135,243, +72,160,0,6,254,246,97,248,207,191,245,204,107,242,214,111,95,145,104,52,12,247,183,2,184,227,113,109,31,205,231,166,62,161,0,53,44,244,50,8,190,215,34,21,115,107,228,140,171,23,72,229,152,106,245,238,206,26,154,62,41,76,74,47,193,146,134,18,114,105,208, +138,37,164,120,11,34,13,110,144,245,251,159,146,55,15,126,23,103,102,66,43,86,3,65,32,132,251,224,202,153,155,9,98,178,105,6,10,189,122,176,37,182,212,163,105,95,160,171,160,205,27,115,179,202,206,172,149,243,184,173,51,233,148,126,169,160,209,190,127, +205,44,67,129,255,234,249,23,37,18,218,79,33,5,79,194,204,159,163,252,176,121,123,250,111,114,76,14,84,225,235,80,247,135,193,228,162,230,74,153,54,232,123,50,163,250,35,50,164,100,172,4,140,98,85,78,39,3,63,11,104,131,255,161,173,7,100,237,35,171,100, +219,95,223,150,188,177,133,106,109,159,174,112,110,234,31,10,120,242,12,21,7,33,80,85,32,51,175,58,91,198,158,61,73,45,21,100,135,16,64,154,29,41,8,132,98,205,178,187,233,61,89,187,247,175,242,230,161,31,136,87,59,11,59,87,22,65,8,128,27,44,254,229,96, +98,165,226,224,129,6,120,224,91,186,110,126,229,235,115,150,45,85,66,192,172,53,140,98,149,147,149,118,90,59,186,2,64,31,180,136,178,118,229,123,208,169,239,122,161,246,42,83,51,255,203,240,234,121,177,72,2,238,49,162,163,167,231,92,59,208,247,57,14, +149,103,52,241,138,76,44,187,86,78,31,250,41,25,92,52,22,107,252,220,85,141,134,240,86,68,56,231,89,114,171,226,89,101,132,106,153,145,249,182,174,1,99,254,205,74,105,122,107,191,4,106,48,235,71,80,38,203,148,253,240,189,238,81,31,83,0,77,160,195,149, +144,49,19,18,136,147,49,235,75,231,202,164,139,102,88,133,32,116,100,201,136,162,192,194,127,246,178,87,24,251,12,236,105,121,79,94,222,245,176,188,221,112,63,246,27,56,13,54,51,185,233,58,136,38,98,245,19,216,202,220,19,139,38,130,154,169,253,191,111, +156,93,255,32,200,209,17,15,165,143,123,213,128,123,157,165,135,26,112,213,238,187,10,99,127,108,125,193,2,49,23,79,189,194,51,251,235,149,183,32,4,235,93,48,106,242,194,55,150,82,46,163,217,100,9,171,234,14,205,172,170,36,176,57,74,212,220,141,168,125, +163,229,3,227,126,46,103,14,255,164,12,202,175,193,58,63,35,201,89,226,14,25,158,147,193,159,107,254,4,255,109,0,255,23,239,120,74,130,135,218,196,95,153,167,2,224,116,135,18,238,61,189,76,1,162,7,98,12,208,93,144,1,135,118,175,222,34,70,169,95,42,199, +13,206,170,17,197,49,192,63,53,203,199,208,48,60,126,41,205,27,44,227,203,207,149,225,133,23,202,222,214,215,164,57,250,46,152,68,0,247,229,156,162,80,41,9,19,88,235,0,95,244,131,37,124,248,194,207,142,244,93,189,234,204,250,105,211,214,39,200,59,235, +235,65,26,55,245,26,5,114,8,124,122,141,70,41,103,172,102,254,24,219,176,114,45,44,240,155,247,33,164,239,127,96,214,15,206,197,184,105,74,237,159,114,222,78,122,16,74,12,20,71,195,108,191,1,95,113,25,228,31,39,115,134,94,45,83,170,47,68,240,30,43,98, +31,203,75,38,199,17,239,244,100,27,252,109,123,101,147,172,190,109,169,196,245,184,120,124,152,133,177,213,220,228,56,10,40,47,1,198,97,104,141,75,237,143,62,34,67,167,14,99,103,203,42,65,192,38,234,209,99,36,142,21,194,245,123,159,146,213,187,126,37, +135,66,27,81,39,15,150,7,202,112,59,239,204,157,37,40,112,5,238,218,229,129,54,128,33,132,127,219,22,214,190,80,183,160,190,213,230,161,54,125,220,239,204,82,192,213,0,100,150,158,29,185,217,51,255,59,254,85,59,216,175,39,22,251,252,158,143,40,75,127, +139,53,229,136,155,31,215,248,125,8,110,210,142,25,255,14,41,243,79,151,89,85,159,148,139,199,221,32,195,74,79,233,80,107,218,76,45,155,192,255,192,230,125,242,175,251,158,133,225,95,187,24,88,111,118,193,191,163,107,59,239,0,96,175,226,44,0,69,118,173, +217,34,35,207,30,47,190,2,127,86,10,1,246,24,177,199,12,53,101,213,69,227,101,114,197,69,240,159,41,145,150,72,163,180,198,214,161,13,2,208,168,229,229,146,16,64,158,104,34,220,180,134,137,210,12,56,120,206,190,224,218,209,75,231,13,219,210,234,106,2, +122,111,200,57,127,58,214,123,117,239,181,156,237,224,22,183,173,88,48,213,208,19,79,64,170,29,22,143,168,61,197,114,134,222,88,197,128,58,95,71,16,159,245,82,8,247,165,241,165,23,200,89,35,62,37,37,80,95,102,107,178,13,200,130,77,65,121,225,231,75,101, +207,178,77,216,244,38,223,85,251,103,75,131,114,26,217,22,67,208,160,33,114,254,119,62,34,30,111,238,205,111,154,130,123,100,229,182,135,229,221,198,167,165,21,238,180,1,207,20,44,13,64,251,129,101,183,92,73,104,70,211,227,211,53,104,75,119,196,18,250, +37,223,154,247,220,58,155,167,230,74,29,157,82,143,156,1,36,39,16,148,234,170,107,97,233,255,0,220,252,146,145,253,30,196,218,86,13,164,218,44,85,72,30,75,85,170,251,61,90,190,4,227,116,233,123,15,91,242,126,77,102,13,253,176,140,44,59,85,221,204,77, +82,178,109,99,30,171,224,248,228,104,64,75,173,125,244,69,121,245,182,101,82,56,165,84,226,161,156,117,197,82,213,206,197,143,56,140,2,167,126,122,182,204,64,156,0,110,63,124,178,45,150,179,133,6,157,199,214,214,134,87,101,205,174,191,97,43,226,31,163, +248,99,37,207,83,131,117,197,246,92,210,8,152,224,157,26,120,231,78,68,14,188,138,145,3,175,129,11,245,253,240,16,80,38,19,217,210,104,14,47,103,238,137,200,253,68,112,170,169,158,175,173,211,238,170,249,67,124,209,11,231,124,8,134,61,127,131,165,127, +89,2,27,97,160,72,57,161,242,167,186,159,187,17,55,70,31,151,209,69,31,148,121,195,190,47,115,71,254,155,148,23,140,82,86,253,4,208,172,4,127,213,103,168,71,214,84,116,191,85,223,121,66,10,38,23,187,224,223,79,99,41,173,215,34,106,160,201,168,129,45, +109,50,228,148,225,18,40,206,87,134,167,78,54,56,237,110,125,109,99,65,106,170,202,242,134,202,152,65,179,100,144,111,142,4,163,45,178,179,253,143,208,6,76,84,203,110,57,178,217,16,45,35,227,224,161,37,176,201,249,248,133,255,119,196,27,183,205,89,189, +94,171,171,211,107,181,122,205,53,14,236,110,175,57,241,125,174,6,224,196,244,233,214,85,91,61,69,13,192,93,171,206,253,79,64,201,79,61,30,45,0,233,149,211,199,195,86,112,221,202,205,137,55,193,93,1,179,254,118,196,47,55,244,45,50,111,232,47,16,182,119, +46,172,149,107,84,97,59,71,56,115,98,233,79,90,38,42,104,0,254,177,72,76,158,189,237,81,57,184,126,183,107,244,119,82,162,57,247,6,110,180,20,222,17,148,241,255,103,134,204,185,234,60,181,159,128,178,17,112,110,145,123,92,178,206,99,174,49,184,83,54, +236,91,37,43,118,125,78,98,137,81,146,239,169,86,118,57,150,17,68,143,179,118,218,3,244,16,48,226,113,51,4,176,250,202,55,230,62,255,75,106,0,108,158,235,180,194,102,91,121,92,13,64,154,45,86,7,79,164,58,173,94,153,227,22,93,92,251,45,4,182,248,9,58, +168,145,27,224,15,137,70,69,241,243,74,83,244,9,153,84,246,9,121,223,184,159,193,186,255,92,9,120,139,59,102,253,182,15,115,154,164,236,191,199,209,96,76,116,249,91,247,139,213,226,175,198,172,209,13,242,211,127,237,145,230,155,149,33,29,196,238,104, +48,42,21,19,135,96,139,225,66,75,8,72,182,115,154,217,59,226,113,106,218,104,40,72,109,64,158,183,68,134,151,78,145,81,197,151,73,91,184,65,182,181,254,22,218,128,9,148,105,145,200,154,178,122,158,167,163,138,49,195,208,124,208,6,92,182,98,203,168,208, +210,95,111,89,81,191,176,94,109,157,94,191,16,68,112,83,202,20,200,234,158,145,114,173,51,244,32,103,252,24,100,170,3,46,90,121,238,205,152,245,127,143,46,100,236,176,120,69,214,207,252,105,232,23,140,29,144,82,127,133,212,142,184,81,70,15,58,13,204, +198,138,224,215,121,61,50,67,228,236,215,108,184,149,239,227,223,90,44,173,123,26,173,114,184,108,165,95,219,35,221,151,115,223,128,224,123,109,114,234,13,243,229,148,247,159,222,17,209,49,221,124,157,248,124,231,177,24,140,54,203,230,67,175,72,253,182, +31,74,99,248,128,228,25,21,185,98,32,200,181,127,131,154,28,104,3,126,112,253,89,207,127,159,109,209,153,7,59,177,109,156,94,38,87,0,72,177,133,236,142,119,207,187,151,250,35,7,218,31,212,53,237,227,196,12,8,0,92,243,207,98,205,138,213,37,76,70,241,51, +223,150,83,202,191,44,103,143,188,10,107,142,150,186,223,178,148,39,209,114,171,235,236,223,184,87,158,186,110,177,24,69,240,110,224,86,133,110,202,106,10,104,6,252,201,27,66,82,125,230,8,153,123,237,5,82,88,89,148,51,182,0,93,55,140,154,120,168,25,9, +175,55,96,89,224,133,173,15,202,27,7,239,65,220,128,137,56,111,179,164,172,238,219,113,8,0,220,111,19,66,141,249,71,95,69,254,85,95,30,255,120,216,230,197,93,211,197,61,123,34,10,228,132,113,218,137,42,216,27,215,234,96,240,199,153,127,221,186,169,190, +200,254,246,135,189,62,253,227,4,70,252,81,223,102,143,180,222,120,117,175,230,201,192,132,4,254,112,124,187,20,251,134,200,229,227,255,36,151,78,248,230,97,240,135,178,195,50,166,202,45,240,39,81,223,126,226,53,209,188,104,84,180,163,155,178,159,2,220, +160,201,139,200,128,7,95,218,45,77,123,15,89,21,202,233,182,197,194,135,82,71,90,253,151,2,59,199,46,199,48,199,50,199,52,199,54,199,120,22,39,15,121,44,199,40,121,46,121,47,121,176,226,197,224,201,89,92,175,126,43,186,75,180,30,146,94,237,93,93,39,137, +186,117,87,248,10,155,42,126,7,31,255,143,117,4,248,129,61,64,15,179,115,200,237,12,232,195,77,123,118,129,137,180,203,172,234,47,201,39,166,223,43,19,171,106,17,201,207,219,81,70,59,72,73,199,137,28,57,224,140,127,223,186,157,86,48,25,23,255,115,163, +85,209,142,140,222,216,182,22,129,115,26,154,115,163,78,221,168,69,231,49,202,177,203,49,204,177,204,49,205,177,29,194,24,231,88,207,90,13,158,197,99,77,242,92,242,94,242,96,242,98,76,202,18,228,205,221,32,145,123,75,39,10,100,237,108,181,83,29,250,236, +144,59,85,93,119,246,170,152,5,254,251,20,248,171,208,190,86,9,178,112,90,140,209,132,117,126,154,43,180,199,159,146,193,249,31,148,243,71,93,39,115,70,124,28,219,244,22,244,25,93,251,237,69,4,123,180,218,158,245,59,101,243,211,235,85,49,44,13,71,191, +149,200,125,113,38,41,128,182,213,10,48,231,45,244,75,245,228,97,226,13,48,120,149,173,197,202,228,139,156,157,23,199,242,184,242,57,8,209,61,94,14,5,27,228,80,248,17,241,233,227,45,53,38,34,240,102,161,48,160,120,45,12,173,41,4,76,49,218,91,39,159,245, +245,51,255,183,238,204,127,70,201,163,255,241,192,110,101,148,237,236,86,113,70,233,92,1,160,155,237,80,183,120,170,239,186,11,215,70,127,184,236,156,33,5,209,182,223,32,202,216,229,241,172,182,20,199,224,209,10,49,235,231,236,104,39,214,250,111,144, +75,199,127,77,134,149,156,50,96,152,36,22,109,148,218,244,237,167,94,151,131,111,236,86,155,202,116,179,59,184,183,101,1,5,136,18,26,140,1,99,45,81,169,153,61,74,242,16,19,128,38,187,3,81,200,163,224,83,89,56,90,198,150,157,41,145,72,165,236,11,62,3, +151,65,47,4,129,18,248,9,68,72,169,44,104,209,99,139,72,33,192,227,213,167,248,218,91,166,159,251,233,17,207,127,109,238,234,38,242,234,250,37,251,41,217,184,233,36,20,200,82,149,245,73,106,149,225,203,236,80,117,87,174,139,220,249,194,121,35,253,134, +254,132,175,192,248,16,192,159,91,249,102,165,194,152,67,221,208,74,176,203,216,243,176,240,31,46,151,142,249,185,92,58,241,107,82,18,24,2,240,103,36,191,236,100,6,169,54,123,203,158,6,43,214,255,192,170,118,170,228,202,154,231,184,228,79,99,192,240, +129,118,137,69,115,39,84,110,42,13,160,236,3,48,182,57,198,57,214,57,230,57,246,201,3,200,11,178,181,235,147,7,147,23,147,39,147,55,147,71,147,87,147,103,167,66,167,129,246,140,43,0,156,164,197,169,82,178,193,31,59,221,253,13,198,39,211,195,109,113,114, +19,24,164,100,223,184,193,134,91,40,122,190,180,196,254,46,211,202,175,151,203,39,221,33,211,6,99,215,62,68,249,235,236,78,116,18,178,228,198,229,164,248,22,110,11,186,155,253,228,70,139,30,89,11,12,80,110,21,28,220,222,138,32,79,3,91,0,32,97,84,236, +0,8,1,28,235,28,243,106,236,131,7,144,23,144,39,28,246,20,56,146,140,78,254,149,228,193,30,242,100,242,102,242,104,91,8,32,239,118,114,217,157,80,54,87,0,56,65,43,208,168,228,90,196,245,167,218,31,29,235,81,116,176,153,209,72,130,156,36,43,59,22,45,128, +227,102,4,106,139,183,229,130,225,191,151,15,76,252,38,212,130,163,84,64,31,75,29,62,128,186,3,103,135,240,41,14,53,7,37,12,119,49,70,143,115,83,238,81,128,109,28,121,61,4,223,113,91,35,156,149,74,187,140,53,140,29,64,40,1,65,128,99,159,60,128,188,128, +60,33,158,136,96,70,147,181,118,116,94,242,102,242,104,242,106,242,108,242,110,215,48,240,196,93,103,0,113,252,19,19,226,232,171,176,42,213,177,31,181,50,248,11,24,218,207,253,5,158,233,217,12,254,220,142,32,146,216,43,131,160,2,252,216,164,71,100,246, +136,43,197,235,201,83,224,207,72,126,157,173,135,143,166,69,46,254,166,192,195,212,178,191,69,226,193,152,43,0,228,98,35,39,235,164,149,118,238,223,174,160,199,177,206,49,79,33,128,60,128,188,128,60,129,188,129,60,130,188,34,75,147,18,2,200,171,201,179, +149,119,0,121,184,235,34,120,220,230,204,90,113,239,184,53,202,192,5,170,149,176,182,148,116,245,219,247,59,221,235,249,80,184,21,83,8,45,27,103,254,8,25,138,89,127,212,60,40,83,202,174,148,5,99,190,32,197,129,42,69,37,170,252,179,62,140,111,186,237, +237,226,65,186,20,116,254,243,110,96,167,46,219,136,99,223,90,246,243,168,221,60,175,200,187,87,158,219,116,159,172,111,88,140,224,65,229,96,130,92,70,207,58,131,122,47,121,53,92,64,63,84,216,180,143,46,130,159,172,155,186,36,146,228,233,3,91,253,211, +69,47,112,5,128,163,136,98,119,20,6,152,40,104,220,251,123,195,239,249,40,93,253,48,86,24,147,58,171,18,229,149,152,217,8,75,95,191,156,91,179,80,102,13,187,28,128,111,55,57,165,156,204,74,250,135,233,115,60,66,117,66,91,28,118,250,213,111,116,29,104, +154,143,126,35,116,127,190,248,120,221,177,87,203,132,151,242,189,182,65,45,6,135,137,173,137,205,182,86,137,190,181,86,34,27,54,72,108,219,110,73,52,183,73,124,59,194,79,171,123,173,2,241,17,207,176,50,209,75,11,68,31,82,41,254,83,166,139,111,230,108, +76,204,209,91,61,180,225,73,142,28,14,56,59,255,20,235,98,241,0,235,229,156,24,92,54,249,123,50,116,199,84,121,97,231,61,208,6,180,192,64,176,20,69,203,46,251,9,242,106,122,104,49,78,0,120,184,6,94,254,9,77,91,231,10,1,93,244,17,27,13,186,184,52,240, +78,213,209,45,30,51,127,21,222,23,81,166,12,191,174,192,159,148,192,88,115,2,94,117,163,81,88,80,54,171,71,194,137,173,82,149,55,75,46,24,125,29,36,252,211,142,122,54,253,234,144,109,40,191,106,124,83,101,114,152,23,117,47,111,62,107,177,158,206,207, +30,85,204,94,254,201,50,168,66,244,242,123,220,236,7,16,5,0,244,162,67,184,230,48,136,69,37,222,218,42,225,53,171,36,244,207,165,18,125,101,171,152,173,81,43,232,20,58,30,251,63,111,180,71,140,53,30,68,226,155,118,119,156,107,143,63,166,220,25,253,231, +79,22,255,249,231,139,111,198,153,226,41,46,196,16,79,154,34,65,147,199,25,74,234,201,126,59,101,12,67,206,24,126,165,84,21,142,147,167,55,223,9,119,193,53,226,215,71,34,235,56,202,202,45,78,14,223,155,250,251,122,247,73,155,87,115,226,230,197,4,142, +193,130,192,211,63,165,105,143,135,235,192,227,235,192,227,123,183,4,217,147,187,43,0,36,219,170,243,246,146,140,237,143,93,253,236,8,127,217,211,154,24,162,140,242,197,93,136,99,0,255,137,165,31,83,42,127,238,29,126,196,20,35,205,26,41,224,6,167,210, +57,35,73,162,126,20,254,184,193,112,76,66,216,82,55,1,149,107,140,76,80,177,55,50,12,139,205,25,186,71,49,62,159,71,151,128,223,43,121,240,209,182,217,137,45,12,80,2,235,203,164,163,44,48,139,238,203,87,186,239,234,67,10,48,202,163,119,164,95,84,59,247, +246,123,41,76,50,17,252,163,97,137,29,106,148,224,99,127,150,224,175,254,44,137,61,24,43,53,216,72,203,139,49,80,76,182,107,221,123,116,207,179,127,219,223,204,206,22,15,66,207,109,148,208,31,94,21,207,40,67,242,174,253,148,4,206,154,47,70,205,48,11, +252,57,222,56,118,50,50,126,76,53,97,184,60,112,167,90,18,120,167,241,17,108,3,94,131,97,226,135,221,64,88,149,136,229,202,134,100,9,1,250,199,192,211,41,189,252,59,193,191,51,175,207,134,58,244,102,25,59,247,179,222,124,143,163,243,174,171,131,84,136, +80,146,44,164,218,213,79,199,174,126,214,204,144,159,89,66,35,4,196,208,242,36,154,104,5,107,57,36,103,13,185,1,198,61,87,128,223,228,119,24,250,165,219,8,36,6,2,113,35,60,176,69,146,72,204,148,253,77,237,178,183,49,40,235,118,181,200,134,189,109,82, +191,183,85,86,181,67,101,216,74,70,209,41,113,29,182,56,32,19,16,158,117,94,89,158,204,28,92,40,179,71,151,72,69,97,64,202,139,243,164,164,192,154,205,48,127,166,190,18,4,98,16,90,254,121,227,31,164,117,99,163,120,10,193,152,173,215,119,42,184,123,152, +181,20,32,24,114,34,30,20,57,239,142,15,75,197,232,193,106,163,39,122,6,100,60,217,179,126,100,28,219,183,71,130,75,31,151,246,186,159,137,169,87,137,54,186,12,103,193,94,98,248,75,246,239,148,222,207,114,83,96,133,32,157,120,105,175,120,166,154,82,112, +227,55,37,48,115,166,120,170,6,91,89,118,42,71,74,239,72,62,68,3,65,218,8,68,227,237,242,226,182,37,178,114,247,237,96,132,131,32,8,20,130,7,128,160,89,194,22,65,49,170,68,49,79,193,46,130,137,195,187,8,118,230,249,233,208,41,219,159,237,133,145,144, +93,36,193,120,212,22,74,157,118,147,212,153,119,173,170,189,1,99,235,71,28,163,16,0,176,96,151,61,230,176,86,44,255,131,146,111,248,229,130,81,63,148,41,213,243,209,16,180,244,141,99,32,167,31,240,145,179,122,206,248,153,154,218,162,242,206,174,70,121, +99,71,147,60,242,206,33,121,28,160,207,85,7,47,192,125,18,252,174,253,24,108,129,78,76,150,152,202,159,65,104,9,98,32,238,65,108,212,178,157,81,20,219,225,154,133,48,173,11,199,15,146,179,199,148,201,248,33,37,50,162,210,10,65,140,193,106,105,24,212, +27,123,231,131,66,30,25,195,147,63,120,68,14,188,180,75,140,98,8,33,174,0,208,59,196,238,135,92,9,244,220,230,57,191,162,68,230,127,235,125,82,90,51,200,90,178,162,96,144,193,100,210,62,152,107,243,177,136,180,175,88,38,109,247,255,143,196,254,184,73, +244,247,143,131,230,28,194,48,180,98,25,237,87,44,62,52,104,144,46,196,124,226,13,241,94,115,166,20,124,254,255,65,16,152,129,11,40,7,93,30,149,173,64,122,149,60,204,59,18,178,126,239,50,121,122,203,141,210,30,11,139,223,83,14,190,114,148,128,159,222, +171,122,247,105,116,3,140,115,53,167,72,196,229,219,223,152,91,127,187,205,243,209,21,6,244,136,79,31,25,122,183,233,122,61,247,221,151,205,242,222,85,243,135,120,209,197,231,94,3,31,210,159,48,180,36,112,129,78,195,89,67,27,29,214,186,161,248,62,25, +146,63,69,222,55,238,118,25,87,113,38,138,143,158,173,164,248,244,170,193,209,65,240,231,172,191,53,20,151,23,223,217,47,191,123,113,171,124,106,249,54,121,116,107,3,64,218,148,9,5,134,12,5,248,151,99,118,66,194,69,240,80,27,158,105,239,244,199,223,80, +24,96,36,138,20,64,69,58,28,170,208,49,133,94,169,66,241,126,191,167,69,126,187,225,128,236,221,221,34,102,40,34,5,96,110,101,133,62,53,199,160,70,128,32,221,91,137,121,239,123,107,167,52,109,62,36,58,162,198,185,41,119,40,192,246,140,54,132,101,240, +156,145,50,242,204,241,98,248,33,165,34,101,180,63,177,127,162,63,39,90,154,164,249,183,191,145,182,47,46,18,211,91,44,158,25,149,16,112,67,214,172,191,55,72,74,109,2,102,251,218,212,26,137,191,215,36,225,63,252,73,76,104,214,140,202,114,209,139,97,184, +71,161,132,75,17,105,36,21,51,0,60,132,223,140,25,48,180,112,182,236,111,123,75,26,35,155,197,171,23,3,57,57,218,179,34,17,230,89,88,29,60,254,130,21,91,71,238,250,206,136,223,188,76,222,191,102,128,239,27,144,30,58,100,69,219,31,191,144,92,11,34,248, +47,122,225,156,15,129,41,252,26,88,96,96,76,113,173,200,226,20,199,127,212,33,87,184,230,239,147,182,216,102,153,84,246,1,249,192,132,133,48,222,25,157,156,229,144,209,165,199,0,192,219,144,7,103,239,154,172,5,64,254,188,254,61,249,236,75,59,229,249, +3,109,114,6,64,127,120,0,219,7,3,166,9,238,33,220,171,0,30,148,193,97,151,137,231,249,103,11,9,20,16,32,111,201,8,8,15,163,2,30,121,161,45,44,15,111,108,144,61,59,155,32,8,68,101,98,77,169,18,60,236,114,116,153,105,154,39,9,6,13,219,15,201,129,117,216, +9,209,181,5,72,147,154,206,122,92,135,141,73,251,186,86,153,116,213,169,50,120,98,77,239,168,255,209,127,98,219,54,74,211,125,247,75,248,250,63,138,182,96,42,128,23,224,28,236,163,248,250,81,196,176,224,242,89,73,185,68,22,61,1,211,131,205,98,140,28, +38,70,245,16,171,49,210,28,60,150,176,164,38,69,82,146,87,45,99,202,230,73,83,112,175,236,106,95,169,52,1,22,174,246,158,128,158,193,30,69,102,24,67,115,233,144,105,46,188,240,255,142,120,243,182,57,171,215,19,3,234,23,214,31,143,101,101,240,245,206, +204,106,192,10,0,117,117,42,208,79,98,209,170,218,11,208,201,255,166,195,194,5,179,255,44,2,127,206,241,189,112,213,121,71,78,199,86,159,23,140,253,50,180,233,229,157,84,156,233,13,74,155,111,112,214,191,120,213,86,185,225,249,205,242,200,190,86,153, +14,160,30,6,192,38,232,7,49,108,210,157,3,112,228,81,99,192,188,42,160,65,24,225,247,200,82,8,2,75,54,55,73,124,111,51,54,39,202,151,138,98,63,181,50,74,24,201,228,48,82,198,85,32,147,145,231,147,45,203,223,18,19,18,76,175,172,15,103,178,208,110,94,221, +163,0,56,61,151,120,188,249,62,25,127,217,41,82,92,85,10,233,51,243,218,164,232,123,27,164,233,198,91,37,186,108,131,104,103,140,66,71,198,250,56,165,90,188,191,207,18,198,34,109,12,180,73,85,18,127,115,167,132,87,174,20,211,7,11,248,81,35,225,61,16, +80,245,78,175,60,106,17,93,209,51,224,45,148,209,101,103,72,60,102,200,142,214,199,224,38,200,152,34,16,120,178,35,17,252,99,224,245,8,112,160,93,126,225,213,163,87,223,56,252,193,247,136,5,245,245,199,157,183,100,71,205,82,44,101,31,246,210,20,75,216, +11,143,37,249,128,121,219,138,5,83,13,61,241,164,225,213,107,98,209,68,214,128,191,21,207,159,107,234,207,202,165,163,31,149,25,67,46,194,76,153,32,153,62,131,35,43,177,59,197,187,80,201,223,245,204,70,185,127,119,179,12,193,236,120,40,84,170,156,181, +247,246,112,167,13,1,29,164,222,64,132,190,179,138,2,114,243,57,163,229,252,233,48,224,74,22,206,46,95,198,186,6,242,253,223,175,254,86,130,168,175,6,27,6,55,101,63,5,168,205,137,181,70,164,108,82,181,204,253,194,133,153,93,255,103,71,68,31,77,52,53, +202,193,107,191,34,241,183,246,139,54,24,22,254,92,235,239,239,228,131,242,18,6,184,230,129,22,241,125,236,12,41,186,250,106,8,2,99,173,82,37,203,157,78,17,109,30,19,79,132,101,237,238,165,242,248,230,15,74,158,231,60,149,101,22,45,9,196,192,243,13,240, +252,157,177,132,126,241,183,230,61,183,46,201,58,201,97,6,84,26,112,220,142,210,30,241,229,142,127,213,14,6,248,63,225,49,180,26,238,38,133,86,199,200,113,126,210,52,6,247,105,3,255,57,40,31,157,240,188,156,86,243,1,11,252,1,152,150,186,46,245,58,36, +241,21,150,191,166,60,189,118,183,92,244,199,181,178,100,111,139,76,6,40,150,131,161,182,244,1,248,179,244,97,140,198,40,10,51,61,207,144,13,176,9,184,96,233,187,242,248,43,59,213,36,134,224,79,62,150,209,132,76,71,213,78,134,193,24,68,155,140,75,23, +25,45,169,155,89,55,41,160,65,155,20,217,30,146,170,83,107,122,7,252,177,230,223,248,131,31,74,124,221,94,209,170,224,147,239,4,240,39,109,88,142,60,47,92,14,7,73,228,169,55,165,241,75,223,146,224,243,79,41,3,69,53,128,210,28,60,228,49,20,206,57,225, +32,239,33,15,34,47,82,60,41,123,2,165,26,228,249,228,253,196,0,98,1,171,69,108,232,102,247,202,153,219,6,212,18,0,165,188,5,11,208,208,207,213,22,250,245,196,98,195,231,153,25,143,170,17,145,21,13,79,75,255,24,220,252,104,233,127,217,184,255,146,241, +149,115,208,17,45,196,82,234,236,20,187,37,41,128,1,160,114,106,106,139,200,61,0,220,79,175,220,34,149,0,254,98,24,255,17,111,41,33,245,53,54,242,157,37,16,60,6,163,151,254,24,70,130,51,253,186,76,170,193,214,165,40,136,61,19,73,177,202,199,60,22,40, +201,147,119,31,125,67,60,121,120,89,166,5,140,99,222,230,158,232,85,10,176,127,224,5,244,253,31,247,190,105,50,104,68,101,230,214,255,85,231,75,72,243,189,63,131,225,221,114,209,134,194,197,15,94,45,142,74,138,165,129,217,193,152,214,12,39,36,244,235, +167,36,238,61,32,190,201,211,68,11,96,73,128,201,30,244,214,175,30,125,30,230,53,154,84,20,140,148,234,188,51,101,75,211,51,8,60,22,130,155,96,62,104,159,238,194,96,143,138,147,234,205,92,14,48,17,45,176,196,140,38,78,61,235,83,163,255,82,247,153,45, +156,123,104,11,23,166,154,101,246,61,151,21,192,151,17,178,114,130,140,140,22,47,190,194,83,224,55,239,67,132,168,243,227,17,181,120,198,211,14,79,220,188,195,47,109,209,117,82,238,31,46,31,159,242,160,140,41,63,77,185,248,165,91,112,90,248,43,194,32, +163,247,96,141,127,245,31,214,202,183,223,218,43,211,48,251,102,231,32,107,235,79,60,164,97,33,217,201,204,2,143,124,228,249,173,178,244,181,93,248,69,129,5,130,73,6,11,86,50,184,76,198,124,104,154,68,161,54,118,141,1,21,137,179,246,131,125,35,14,87, +213,162,9,131,164,100,72,133,170,71,186,218,49,149,9,221,235,144,218,31,255,95,4,228,121,26,224,63,8,131,195,97,224,175,74,152,252,72,130,188,54,177,66,130,15,60,39,13,223,248,154,68,55,111,180,46,114,208,51,102,64,154,137,174,130,228,69,228,73,228,77, +228,81,228,85,125,63,93,72,169,34,26,49,128,88,64,76,32,54,40,48,0,75,76,41,183,44,124,104,192,8,0,247,175,153,101,160,89,205,109,195,247,221,236,243,235,255,17,133,100,12,252,200,138,134,166,165,127,48,182,83,38,148,254,187,92,54,225,71,8,158,51,10, +147,142,24,6,90,122,10,28,219,215,62,20,137,203,211,175,239,150,5,191,95,43,207,35,176,207,12,172,35,210,48,207,41,137,54,85,180,169,62,3,124,229,226,199,223,149,85,88,115,101,178,5,23,245,35,205,15,26,255,77,186,20,126,212,109,200,215,117,7,76,147,154, +253,252,56,218,50,214,20,149,146,113,131,48,251,167,0,64,33,55,205,161,78,176,132,111,125,124,231,22,105,255,235,211,192,125,88,222,179,159,56,104,156,28,151,234,208,80,48,10,97,244,205,67,210,112,213,151,165,189,254,41,104,6,96,172,72,55,193,164,80, +115,220,103,79,114,129,60,136,188,136,60,137,188,137,60,138,188,138,60,43,27,18,49,128,88,64,76,32,54,16,35,20,86,100,67,225,51,80,198,244,16,36,3,5,232,139,44,238,127,121,150,151,123,67,223,245,66,237,85,176,0,189,43,193,105,165,53,116,211,228,10,189, +93,122,186,249,229,75,75,116,141,76,43,191,74,46,157,112,157,148,230,15,85,51,127,143,158,186,201,2,107,79,21,58,125,251,27,161,242,255,159,101,155,229,19,207,111,150,225,80,177,151,64,109,26,164,30,172,183,171,214,195,252,57,87,97,224,224,10,84,251, +181,29,45,114,222,152,114,41,194,90,103,114,146,211,195,220,186,190,221,27,240,73,212,136,201,158,213,91,197,91,228,83,106,227,174,239,116,207,58,155,2,232,225,136,191,51,250,226,201,82,61,17,227,5,87,233,199,218,0,0,64,0,73,68,65,84,18,100,102,188,59, +18,210,186,248,17,9,223,139,216,252,19,16,121,47,154,21,170,110,171,169,168,233,203,135,208,34,1,9,215,33,102,192,8,248,16,141,27,47,90,94,190,165,9,72,67,64,178,182,22,142,43,47,164,209,101,167,75,115,176,69,182,183,62,42,1,207,72,200,71,104,8,199,113, +147,99,122,47,66,166,152,8,155,160,157,115,209,103,70,109,253,210,156,85,175,16,51,254,49,0,98,4,228,188,0,80,183,120,170,239,186,11,215,70,239,94,61,255,34,176,133,135,192,8,188,208,107,115,228,58,92,251,1,128,6,248,183,199,158,144,211,171,22,202,121, +99,63,39,5,190,65,105,71,246,179,1,147,51,162,183,119,54,203,162,165,239,72,29,102,212,179,17,148,39,102,106,240,231,119,30,248,115,184,82,32,33,43,41,132,128,178,12,66,75,117,40,38,115,199,87,64,64,202,140,168,66,129,136,107,198,129,210,124,217,252, +143,13,162,23,33,198,1,85,15,110,202,46,10,160,59,36,16,101,210,143,160,56,227,206,155,38,197,67,224,254,135,148,150,6,128,54,194,152,45,71,54,188,41,109,255,245,107,49,139,74,45,95,255,108,235,30,236,207,16,160,181,201,67,36,250,215,149,8,146,132,128, +62,19,198,98,215,65,46,101,36,43,147,226,120,98,204,17,46,7,248,140,2,25,94,50,29,123,32,21,200,182,214,159,35,86,192,228,108,16,2,88,235,56,176,1,59,190,154,23,95,242,159,35,95,250,210,153,171,223,37,118,212,47,217,159,69,82,94,207,135,106,78,11,0,48, +246,51,234,62,240,82,244,238,149,181,227,32,0,255,22,174,31,67,226,177,108,240,245,39,248,23,96,230,255,132,156,55,226,97,153,55,242,83,48,236,45,193,24,101,124,238,212,155,204,6,127,118,147,231,222,220,43,223,6,248,255,225,96,155,204,206,55,164,25,204, +193,233,178,58,161,158,1,135,198,35,14,193,131,208,2,92,80,158,47,35,43,97,129,157,129,164,12,155,240,2,127,126,64,162,254,184,236,120,114,163,248,171,242,92,33,32,3,180,237,203,44,56,211,143,53,70,164,124,214,16,153,121,249,28,181,76,148,222,236,31, +29,78,5,212,138,75,219,211,207,74,248,214,191,139,126,10,130,236,56,197,234,191,39,196,229,0,162,217,83,12,193,131,134,150,75,124,245,70,8,53,175,139,103,100,181,24,67,135,83,74,178,4,129,52,132,0,242,40,159,129,113,89,54,29,33,193,167,202,91,13,119, +64,19,48,5,66,64,31,5,70,234,9,61,142,188,151,219,189,211,61,208,143,85,145,51,46,249,236,232,39,191,125,201,75,251,137,33,245,191,217,146,190,177,196,145,239,114,204,175,212,209,196,49,85,232,186,32,117,136,240,84,55,250,193,248,173,203,206,169,132, +244,255,107,95,64,159,29,11,67,148,183,246,202,237,250,33,135,156,165,218,191,21,224,127,254,240,135,101,246,72,110,232,3,32,66,239,76,55,178,159,61,174,255,184,114,171,124,238,249,77,178,19,42,204,41,8,188,67,240,167,252,79,254,224,244,196,50,134,81, +216,65,94,13,251,17,180,201,199,103,13,77,111,118,103,87,152,188,15,204,145,225,99,3,216,156,104,207,186,29,18,133,11,162,206,117,82,18,199,77,89,67,1,19,29,100,232,89,163,101,216,204,81,192,59,142,155,52,122,54,1,19,207,71,183,108,146,246,251,127,41, +102,9,188,80,16,254,90,1,105,214,80,164,139,130,70,177,37,113,101,177,36,54,29,148,240,11,47,98,135,66,17,223,164,169,150,16,208,197,237,221,61,69,90,147,87,25,112,19,28,90,50,73,124,230,36,37,4,88,154,0,7,196,73,56,113,69,116,44,23,197,189,1,189,42, +22,51,39,45,184,106,196,147,223,171,93,214,74,44,201,213,104,129,57,41,0,112,204,47,208,234,77,54,92,96,231,214,69,249,69,198,199,195,237,241,56,250,38,213,254,105,112,131,19,247,158,116,175,178,120,244,243,111,143,46,149,243,0,254,115,0,254,12,90,101, +129,127,250,197,110,70,96,157,159,62,249,142,124,238,213,93,82,6,74,84,65,229,205,136,126,233,231,156,110,205,123,254,60,45,58,87,32,92,240,100,124,79,27,97,169,121,123,158,203,145,79,40,230,5,180,207,47,41,144,4,12,14,183,253,249,109,241,13,118,181, +0,71,82,201,217,191,76,24,188,25,5,62,153,112,201,12,41,29,6,213,54,82,90,2,0,152,9,5,128,200,198,205,18,252,210,151,68,155,121,58,212,80,156,205,102,123,194,168,103,24,97,8,187,38,118,202,141,62,251,47,137,71,246,75,224,12,236,35,162,52,30,169,215,207, +30,71,186,134,61,66,32,4,120,33,4,188,3,77,128,207,51,1,163,149,210,52,255,156,153,208,212,26,180,196,9,96,198,248,68,212,44,60,251,215,159,121,188,78,171,83,114,100,46,186,7,58,124,29,60,165,78,98,245,63,60,90,184,250,185,175,96,230,255,249,96,43,22, +5,25,3,218,209,224,79,89,12,6,120,177,167,100,193,240,135,14,131,63,6,75,170,12,140,188,203,78,141,112,139,186,225,145,215,229,134,245,123,101,188,161,73,33,84,165,78,52,246,179,203,123,178,111,234,228,170,80,135,95,173,221,5,163,163,12,206,44,146,202, +190,33,147,134,203,160,57,67,36,214,226,186,5,158,172,45,28,115,29,152,150,128,69,119,160,58,95,134,159,54,90,21,43,213,177,163,30,230,0,130,6,200,108,105,148,240,242,103,69,198,92,8,208,228,66,89,142,36,160,157,18,2,224,242,43,197,69,18,252,175,199, +228,224,13,223,70,132,195,134,195,21,236,204,68,14,159,61,233,17,151,212,84,192,32,76,96,56,145,33,79,35,111,35,143,179,35,153,158,52,147,126,184,65,97,4,176,130,152,65,236,32,134,176,24,32,21,185,41,8,150,91,41,231,4,0,187,191,46,90,94,123,1,154,236, +86,186,120,168,230,115,112,227,113,64,112,30,30,140,215,75,237,176,135,100,238,200,43,173,153,191,58,155,90,159,179,180,6,86,103,125,107,71,179,252,219,111,215,200,47,246,52,67,229,175,171,109,14,161,245,207,234,222,204,209,88,10,1,160,62,24,149,191, +188,184,93,85,148,98,122,186,137,235,197,92,10,24,52,178,66,70,93,48,81,162,123,92,1,32,93,154,246,217,243,236,211,224,212,131,70,87,137,7,118,34,28,3,105,165,228,243,241,230,22,137,62,245,140,104,240,60,33,96,230,92,226,50,7,144,128,113,13,162,79,190, +46,135,190,122,189,68,223,93,111,85,147,66,66,138,116,236,44,4,144,167,145,183,145,199,145,215,57,89,8,64,197,81,105,77,185,7,18,67,20,150,224,100,138,100,112,116,119,201,45,1,192,154,44,155,119,190,112,222,72,205,99,222,139,80,143,1,52,165,146,0,156, +218,10,246,170,68,72,129,255,131,10,252,233,67,75,233,153,195,36,149,212,121,221,115,249,250,125,242,137,191,188,41,175,97,119,178,83,192,20,9,252,105,178,197,84,138,212,43,207,208,17,18,243,51,249,203,219,123,101,235,190,118,229,17,144,201,65,58,124, +198,104,104,1,6,75,180,9,66,0,4,3,55,57,156,2,104,124,238,229,48,244,212,209,170,160,169,142,159,142,90,18,252,144,226,141,205,18,127,252,29,132,216,69,143,35,88,230,98,98,181,72,63,236,105,16,123,99,175,52,126,251,135,18,126,101,181,85,83,210,33,197, +160,65,182,16,64,158,102,9,1,15,98,235,242,122,228,203,43,142,134,31,22,48,65,12,33,150,40,76,177,148,26,57,197,8,28,221,2,86,239,235,254,39,251,112,29,236,184,96,230,122,63,12,57,38,198,99,232,181,234,119,247,243,232,251,59,13,72,197,207,64,58,206,16, +248,131,65,169,205,14,64,140,199,214,236,148,255,132,165,255,1,88,253,114,35,31,26,207,229,82,162,127,206,68,212,235,239,141,97,249,251,171,153,213,2,36,208,117,202,16,68,102,232,236,81,146,104,131,12,153,83,195,62,151,122,193,225,186,48,40,159,183,216, +39,53,211,71,88,39,211,109,51,0,31,3,230,132,95,198,238,122,67,71,43,235,249,156,145,158,15,147,237,200,35,174,150,86,20,72,124,87,80,154,190,254,3,105,95,250,15,107,234,75,99,216,12,10,1,228,121,142,223,126,5,172,148,24,66,44,33,166,16,91,114,140,133, +58,91,4,59,178,103,158,248,23,221,53,56,94,139,86,207,255,158,191,192,184,56,26,98,128,238,52,173,89,78,252,202,52,175,18,168,243,224,231,255,84,135,218,63,19,51,127,4,179,80,229,122,8,193,125,62,240,20,92,217,52,83,202,1,146,217,106,236,119,50,34,171, +1,9,243,137,167,183,54,202,198,221,173,42,184,81,70,150,2,146,179,191,177,103,77,145,210,25,21,216,89,46,10,117,67,186,136,114,178,218,184,215,83,166,0,154,70,45,221,32,64,143,191,48,25,239,62,229,204,240,96,82,149,148,104,15,97,83,157,103,69,159,132, +136,130,185,168,254,63,154,70,236,226,97,120,8,20,35,200,150,191,68,154,175,186,89,90,254,244,176,117,87,70,133,128,135,20,239,35,15,4,177,143,46,133,131,126,107,58,177,132,152,66,108,33,198,16,107,28,84,192,180,138,66,203,179,172,79,202,223,127,65,125, +108,209,202,115,63,2,208,191,23,27,252,64,92,77,114,112,71,214,206,242,243,167,171,31,173,253,169,26,75,23,252,201,175,56,243,15,65,130,191,255,153,119,229,154,151,119,202,108,196,207,143,38,131,251,228,148,170,167,83,155,66,202,147,145,16,112,234,161, +166,159,132,222,124,250,216,114,53,89,79,203,248,11,121,242,121,2,10,93,2,195,88,62,57,240,250,46,119,143,128,78,116,119,218,33,151,104,226,48,6,157,252,177,211,165,124,84,101,250,197,75,178,143,248,174,29,210,246,159,247,137,54,37,75,125,255,83,161, +4,235,206,104,169,58,180,1,195,134,72,228,247,79,136,89,170,137,111,202,20,132,201,70,52,65,50,155,36,125,122,146,253,225,229,0,67,134,193,59,192,128,119,192,219,89,17,39,64,211,128,41,168,170,118,206,133,159,29,245,198,141,243,159,95,159,43,241,1,178, +94,0,160,171,31,253,253,25,236,7,130,228,67,30,175,86,14,85,160,106,173,158,116,206,190,187,215,14,242,243,184,242,243,239,112,245,67,145,57,64,82,73,170,178,120,52,24,73,200,109,255,88,47,55,96,13,239,204,2,67,90,176,224,143,121,107,138,185,166,82,146, +254,121,134,245,47,194,54,30,175,31,10,202,188,234,66,25,92,150,143,248,228,214,82,72,58,37,178,133,136,242,81,85,178,237,181,247,36,180,175,77,116,95,174,138,82,233,80,202,1,207,2,144,160,236,146,51,175,169,21,111,128,33,111,51,144,98,81,9,62,245,15, +137,172,221,34,90,25,252,66,157,182,235,95,6,170,120,220,44,200,138,40,93,199,161,13,24,92,37,209,191,212,75,52,114,80,2,179,102,193,206,2,113,254,51,32,4,212,116,138,19,144,5,193,130,76,216,3,232,8,118,120,198,37,87,143,254,231,183,231,215,31,32,246, +100,123,124,128,172,230,102,232,131,218,77,92,245,103,63,21,243,103,254,2,207,24,181,238,239,96,204,179,130,252,60,174,102,254,12,242,163,252,252,211,0,127,214,157,99,149,51,255,91,31,93,39,55,191,115,64,78,7,248,51,184,15,199,111,106,34,5,115,205,158, +196,201,74,5,180,0,111,180,134,229,89,24,61,134,32,8,113,159,3,242,168,116,147,10,106,226,55,100,116,45,102,63,92,2,200,64,158,233,150,201,125,254,40,10,160,93,18,8,106,85,126,202,80,241,21,0,168,51,148,76,168,252,35,43,87,195,58,30,81,114,98,57,29,17, +246,248,20,35,19,9,135,16,126,115,132,132,127,246,152,52,222,253,99,49,67,237,96,44,169,115,22,91,19,64,222,71,30,72,45,104,107,244,113,104,48,177,47,129,115,19,226,3,36,176,20,0,140,1,214,176,152,196,30,98,144,115,139,124,242,146,101,175,0,0,194,47, +145,43,148,189,219,93,171,106,111,193,110,78,151,32,216,15,106,156,70,207,60,57,189,210,184,3,142,47,88,239,106,140,60,33,243,135,253,6,106,255,244,193,223,198,162,237,7,218,229,250,197,107,229,150,247,14,202,116,236,103,223,130,217,175,125,45,141,2, +103,213,163,173,168,243,169,216,207,224,107,235,247,195,22,160,73,149,61,109,55,48,228,98,107,1,38,95,52,67,242,6,23,186,161,129,29,216,43,176,193,151,68,15,134,101,236,133,83,197,99,100,78,169,25,111,108,144,200,159,215,89,214,255,116,159,25,168,137, +85,143,192,19,102,234,48,9,255,230,25,105,252,209,109,18,219,185,217,162,70,138,100,233,44,4,144,23,146,39,146,55,146,71,58,119,218,162,105,196,24,98,13,49,7,72,99,18,131,212,252,45,75,251,70,214,10,0,117,245,181,158,43,181,37,241,59,94,56,231,163,88, +171,189,46,166,214,104,104,7,236,68,137,12,14,47,136,240,215,22,219,44,167,86,220,36,167,215,124,192,90,243,87,226,99,106,2,164,45,122,110,3,248,127,27,51,255,123,119,52,201,180,128,39,231,44,253,187,59,174,200,159,105,5,74,67,173,165,216,231,32,136, +45,142,105,16,153,9,45,0,203,192,16,193,147,63,60,75,173,51,187,46,129,221,109,149,62,186,15,205,174,195,236,167,122,18,214,233,145,50,33,248,193,0,68,194,43,158,134,106,169,8,170,240,1,58,251,63,186,249,184,135,0,226,99,132,127,183,66,154,110,185,203, +18,2,200,190,82,28,100,74,8,192,179,180,127,34,79,36,111,36,143,36,175,116,36,27,87,133,50,19,196,26,98,14,177,135,24,68,44,58,154,84,217,242,59,43,5,128,197,230,21,158,58,24,253,221,182,98,222,8,108,224,116,163,47,223,227,71,131,32,66,135,51,173,254, +217,193,131,177,173,50,169,236,114,185,104,220,151,36,31,187,250,113,211,12,123,118,217,211,206,162,192,31,96,183,109,127,187,124,247,239,235,229,119,7,218,100,58,192,95,201,64,61,205,44,135,238,167,205,195,28,104,1,190,241,234,30,217,184,203,210,2,100, +82,103,63,238,220,201,146,95,85,4,129,63,197,105,79,14,209,218,41,85,81,198,127,216,25,178,242,204,26,49,188,150,113,54,129,37,237,4,86,18,90,134,24,249,37,152,145,14,164,181,255,147,17,14,180,208,198,84,74,244,185,119,164,233,135,119,75,108,7,52,1,20, +188,41,4,164,32,8,40,99,91,240,66,242,68,242,70,242,72,242,74,242,76,103,38,216,1,0,107,136,57,196,30,98,16,177,136,152,228,204,242,158,184,84,89,39,0,212,213,137,78,169,139,213,242,234,198,247,3,133,198,169,145,32,44,85,28,234,84,138,93,183,17,248,98, +143,12,43,56,91,206,31,243,5,116,244,114,196,18,33,248,247,156,244,132,157,195,224,223,38,223,127,108,189,60,180,191,85,78,11,24,106,151,60,210,100,32,39,210,39,8,29,80,117,190,38,247,45,223,42,109,0,6,139,193,100,134,42,30,195,144,233,159,158,35,145, +189,65,209,17,112,198,77,253,79,1,13,154,153,240,238,16,162,54,78,18,127,1,213,199,72,25,192,255,120,195,33,137,174,220,74,38,147,73,25,210,42,95,182,127,194,30,66,27,93,142,253,3,222,150,166,219,126,114,88,8,80,245,226,40,236,89,178,182,18,166,16,80, +174,120,36,121,37,121,38,121,167,67,147,65,204,33,246,16,131,88,70,165,9,0,54,57,180,188,199,45,86,214,21,248,166,155,172,233,215,157,171,106,63,237,205,211,63,27,106,133,169,46,134,233,113,107,216,143,23,24,238,50,110,134,164,34,48,86,46,29,255,61,41, +205,171,1,248,67,53,157,2,248,171,106,64,194,38,160,109,221,223,38,55,61,182,65,126,179,175,85,102,35,58,25,215,252,51,192,243,250,145,82,153,123,117,8,52,26,237,245,200,253,91,27,58,108,1,56,65,73,59,113,118,131,124,134,159,54,70,138,17,18,150,129,130, +212,204,39,237,140,221,12,82,166,128,106,87,236,60,231,247,201,96,172,79,179,125,50,162,254,71,129,66,207,254,83,52,127,38,58,78,202,181,115,246,131,216,16,73,27,7,77,192,211,111,73,211,237,63,149,216,246,205,214,120,80,248,223,115,33,128,60,145,188, +145,60,146,188,146,60,147,188,211,193,33,131,189,196,30,98,16,177,136,141,101,99,147,179,27,238,200,210,101,149,0,144,196,63,243,142,213,243,199,99,168,223,9,41,140,131,222,177,170,151,4,236,240,61,250,62,185,100,236,205,82,89,56,26,29,60,6,240,79,173, +184,157,103,254,117,0,255,7,1,254,115,243,189,114,16,106,239,172,106,196,35,251,95,175,252,162,64,52,177,208,144,187,234,183,192,36,128,102,33,25,72,73,41,194,151,239,151,233,159,153,43,161,247,92,151,192,12,80,53,173,44,52,4,166,137,182,70,164,234,172, +97,80,255,103,104,14,64,65,15,41,242,218,219,98,194,179,198,21,242,142,211,68,28,15,109,0,232,9,16,2,158,218,32,77,119,64,8,232,88,14,56,206,51,39,57,77,222,72,33,128,188,146,60,147,188,147,60,212,177,9,216,163,48,8,88,68,76,2,73,20,155,118,108,121,187, +40,88,86,97,7,9,124,207,187,151,250,181,184,118,175,63,207,131,208,92,18,131,62,192,129,117,224,140,28,145,180,204,77,242,225,241,191,151,225,165,211,208,177,19,0,255,212,2,72,169,201,39,42,191,13,51,255,239,119,2,255,253,96,80,169,137,19,93,244,132, +28,58,69,183,192,124,128,195,67,123,91,100,237,230,67,25,171,153,61,187,172,158,88,35,229,103,12,145,56,151,24,232,26,232,166,126,161,128,238,213,36,252,94,80,109,218,84,48,8,30,26,201,25,66,202,133,177,6,154,196,118,109,147,232,27,91,161,87,228,120, +237,249,108,54,229,247,103,219,131,20,2,154,131,135,133,128,206,203,1,41,146,205,18,2,18,138,103,146,119,146,135,90,75,1,41,102,216,155,52,181,176,39,70,44,34,38,41,108,2,70,245,230,43,51,157,183,3,193,243,196,85,140,30,104,255,2,8,126,17,220,49,184, +45,87,106,136,122,226,87,164,121,21,189,66,243,99,13,107,185,92,56,234,62,25,83,62,75,229,151,178,218,31,79,115,156,209,218,255,187,8,242,99,171,253,247,99,102,11,239,39,55,29,135,2,65,104,1,198,98,231,195,31,47,223,114,156,59,122,126,218,178,39,48,37, +191,180,64,166,124,226,116,9,189,213,42,154,27,24,168,231,132,204,196,19,24,20,9,140,129,188,17,133,82,134,93,236,84,74,206,222,211,205,62,188,114,153,152,251,14,96,9,0,90,133,172,98,231,233,214,60,133,231,41,0,83,8,24,87,129,229,0,104,2,110,133,97,32, +93,4,211,224,77,54,175,36,239,36,15,37,47,37,79,117,104,99,24,196,34,98,18,177,41,5,10,246,235,35,217,33,0,36,151,184,23,189,80,59,13,99,252,230,104,88,217,0,58,16,252,69,249,177,182,68,159,199,254,215,255,45,211,135,92,146,86,227,218,188,135,126,254, +223,129,171,223,67,208,0,208,224,239,16,212,254,238,204,255,196,164,37,237,188,0,137,63,28,106,147,21,8,14,148,177,148,108,148,170,209,67,164,250,226,81,216,41,48,140,16,193,217,49,140,50,70,3,7,100,164,65,250,141,96,19,168,170,185,195,36,175,184,208, +42,17,37,229,116,82,82,128,136,188,189,67,204,253,65,12,102,183,93,187,69,78,10,1,92,14,176,13,3,149,139,224,22,235,209,52,133,50,242,80,242,82,242,84,43,70,64,183,74,212,215,55,25,196,36,98,19,49,74,189,60,75,204,178,178,161,135,43,119,209,58,88,88, +106,154,249,128,215,167,23,64,42,183,177,177,175,27,250,4,239,99,136,223,60,105,141,173,151,51,171,127,40,167,15,251,112,82,229,159,90,81,57,110,200,206,24,225,239,230,127,110,144,223,1,252,167,251,61,194,128,55,217,208,104,39,32,84,159,94,42,5,40,252, +242,197,109,210,142,232,128,153,72,84,249,211,0,176,176,178,88,198,95,54,77,162,91,32,0,24,105,2,79,38,10,54,192,242,32,205,163,155,195,50,236,236,177,82,80,94,168,218,132,26,154,148,19,7,28,150,141,226,219,223,147,216,219,155,68,138,11,144,85,106,99, +55,229,50,100,243,131,164,61,55,17,26,81,38,209,165,235,165,249,103,247,35,98,32,132,40,158,79,89,8,160,54,213,80,188,148,60,149,188,213,18,2,28,216,46,192,36,98,19,49,138,88,5,230,205,66,166,209,33,251,166,51,56,30,75,176,233,130,154,236,22,92,116,238, +13,232,75,115,99,0,68,80,214,97,132,37,248,231,99,91,223,157,50,188,224,60,57,123,196,167,197,235,201,87,107,146,169,20,149,187,217,113,220,48,182,255,15,255,119,157,252,106,119,75,71,144,31,135,85,188,111,122,105,138,111,225,8,172,192,76,241,225,131, +237,242,143,151,119,168,92,50,185,83,224,224,113,195,100,200,101,163,37,114,0,42,80,119,182,152,98,43,165,240,24,6,71,34,28,147,194,169,165,82,84,134,48,189,72,105,143,139,36,72,133,223,92,39,137,119,182,96,55,60,184,20,166,12,92,41,212,41,87,30,161, +139,224,152,10,137,252,229,69,105,188,235,238,195,97,131,33,52,247,60,89,86,117,228,165,228,169,228,173,228,177,228,181,78,19,206,136,73,196,38,98,20,177,138,117,181,177,171,231,245,238,187,39,28,45,0,128,128,6,131,44,220,190,242,156,51,129,250,215,123, +224,147,139,49,73,190,238,160,100,173,249,71,19,77,82,104,20,195,133,165,78,138,2,149,202,232,47,149,25,137,189,137,13,35,217,253,232,239,235,228,150,141,8,239,139,32,63,52,108,115,83,207,41,224,3,50,16,244,31,127,103,31,150,42,233,133,145,190,149,14, +219,53,129,128,40,133,85,197,50,252,156,113,146,104,6,115,115,244,72,234,57,221,156,252,132,82,255,31,8,75,229,236,161,50,104,120,114,231,63,180,73,38,82,100,211,46,49,223,64,16,41,31,230,29,238,152,75,141,164,12,22,132,13,180,194,191,120,66,26,127,252, +19,49,195,208,4,168,173,132,213,210,109,143,242,84,99,13,6,212,228,169,228,173,228,177,228,181,78,180,9,32,54,17,163,136,85,196,44,98,23,49,172,71,21,238,227,155,29,203,182,64,76,237,166,218,250,248,226,197,87,120,60,226,185,213,159,239,41,139,69,84, +76,206,204,140,244,12,17,90,131,29,98,220,140,138,161,135,228,253,227,126,42,85,133,163,146,22,255,61,39,45,129,138,155,216,48,61,240,244,187,242,131,183,14,168,93,253,194,96,68,46,47,74,173,193,96,46,33,147,49,40,31,68,212,196,39,94,221,169,50,73,96, +25,37,221,100,91,255,15,157,52,82,202,207,26,34,81,172,71,219,231,210,205,219,125,254,36,20,192,16,49,91,18,82,117,202,48,241,23,7,148,48,150,138,176,221,241,22,140,59,2,84,108,59,212,255,111,190,41,2,131,54,172,41,116,92,118,15,82,160,0,195,6,159,130, +13,132,22,253,85,154,31,122,200,202,64,135,80,149,2,93,237,24,1,228,173,228,177,228,181,228,185,228,189,14,75,26,49,138,88,69,204,34,118,17,195,136,101,14,43,103,71,113,122,142,82,29,143,246,238,193,194,245,83,105,195,101,110,173,217,7,203,202,196,2, +203,223,210,89,243,44,107,67,11,70,10,221,45,243,106,110,84,22,255,116,69,178,173,88,123,66,33,130,63,103,167,4,167,255,126,238,61,249,234,155,251,100,118,177,87,154,136,96,110,74,153,2,164,30,188,197,20,227,89,182,249,160,28,108,137,40,33,139,60,63, +157,68,192,49,193,204,74,134,150,74,245,204,225,88,255,68,110,142,29,230,233,212,212,97,207,114,140,64,253,95,48,161,84,138,203,75,85,225,210,2,127,230,144,4,165,200,219,239,73,252,153,151,69,67,184,103,251,156,195,106,159,93,197,9,67,40,158,59,81,66, +183,61,40,45,127,132,16,192,65,71,77,0,102,244,61,77,116,15,36,111,165,103,0,121,45,121,46,135,112,70,194,62,247,180,48,39,190,95,183,176,42,177,128,216,69,54,65,44,59,241,35,253,119,213,145,2,128,82,253,79,93,23,161,69,37,2,68,93,239,11,32,222,39,125, +254,29,199,98,169,154,63,36,211,42,174,146,83,107,222,111,181,98,10,32,160,198,5,122,10,211,63,214,236,148,207,174,220,38,115,243,116,23,252,45,138,166,253,25,1,167,152,137,93,18,239,219,222,34,203,55,236,81,249,101,194,22,64,25,106,32,183,241,231,76, +149,226,169,131,36,214,130,160,148,201,118,76,187,208,110,6,93,82,0,252,64,162,7,34,50,104,102,181,12,153,10,193,11,41,109,1,128,160,4,56,137,110,223,37,137,119,35,112,46,198,88,76,83,64,84,5,27,232,31,164,97,8,91,9,79,28,43,109,223,248,153,180,47,125, +204,162,8,27,49,21,9,60,201,91,201,107,201,115,99,9,198,248,128,86,193,89,137,165,140,17,179,136,93,196,176,58,96,153,83,151,2,216,243,29,149,208,47,52,181,185,2,212,39,16,158,190,17,200,55,134,69,66,49,140,74,103,233,123,24,128,48,154,56,32,85,129,105, +114,254,216,47,64,45,21,64,159,198,218,87,10,211,64,27,51,158,94,187,91,190,191,106,171,204,44,178,194,251,246,92,78,118,84,83,58,166,48,22,47,199,184,212,77,121,230,221,131,178,167,33,164,180,0,233,10,1,182,22,160,120,72,169,12,57,109,36,152,26,199, +190,139,28,189,217,240,74,195,6,131,203,242,49,85,226,65,200,103,218,98,164,48,228,14,23,145,179,127,12,192,232,230,119,17,251,255,5,209,206,128,80,17,239,249,90,245,225,12,221,163,35,40,192,225,16,133,139,224,212,113,210,186,232,151,18,90,245,188,117, +217,102,122,71,220,124,226,31,74,227,10,30,75,94,75,158,91,149,7,47,28,240,96,7,6,131,53,136,89,196,46,98,24,151,2,136,105,196,182,19,215,176,239,175,58,78,0,184,114,9,246,87,70,218,62,108,223,229,144,160,174,10,181,51,150,171,218,31,178,239,169,115, +130,55,198,205,160,248,61,197,242,193,137,183,74,192,40,74,26,253,165,78,206,13,216,206,247,234,103,223,147,70,48,159,4,128,132,179,86,199,245,150,19,208,195,233,151,66,88,90,225,190,9,247,110,110,148,215,182,28,180,138,155,1,172,102,56,90,166,201,23, +159,42,121,195,224,142,22,2,120,184,13,103,209,55,211,159,160,107,34,156,144,0,232,92,62,162,90,229,158,174,221,5,5,10,166,216,238,3,18,251,85,189,104,21,136,41,64,161,194,77,153,163,64,148,204,12,124,45,132,137,205,205,247,72,244,221,117,41,231,109, +111,28,68,158,75,222,75,30,76,94,236,188,164,121,137,93,196,48,98,25,203,103,99,155,147,202,154,58,98,245,66,45,234,176,12,190,228,202,37,241,187,87,158,87,131,46,243,221,164,69,37,71,163,195,88,42,12,134,204,3,114,201,152,155,165,188,96,184,154,249, +167,178,238,111,227,79,67,91,84,190,250,247,13,74,136,40,5,160,112,67,27,135,85,184,23,90,187,111,179,36,173,105,76,41,1,77,254,252,198,94,217,125,8,59,250,209,167,63,9,0,233,148,134,32,66,95,244,225,115,199,89,10,0,187,97,211,201,212,125,246,24,10,80, +227,18,111,137,73,201,196,114,169,153,49,82,173,9,167,165,254,231,56,131,137,177,196,194,0,165,119,160,187,41,3,167,65,227,185,237,119,12,237,211,58,65,102,22,129,81,96,1,12,166,155,226,210,248,189,219,37,209,212,144,114,150,228,181,212,182,146,247,146, +7,147,23,67,189,151,114,126,189,244,32,38,255,146,80,158,107,192,50,98,26,177,141,24,215,75,239,75,41,91,71,21,166,14,252,152,181,72,104,241,79,230,21,25,211,225,87,233,48,213,63,13,245,124,18,142,111,145,217,213,95,150,137,85,243,21,209,83,218,218,23, +76,134,227,130,174,105,223,249,203,27,178,180,53,36,37,88,244,8,186,224,175,104,218,27,31,12,15,124,22,34,41,254,10,90,128,13,59,27,173,182,203,192,139,108,16,154,250,254,211,16,20,8,67,202,5,144,12,80,245,216,44,176,15,187,120,224,18,91,62,178,202,186, +152,46,157,147,194,95,116,231,78,137,60,254,184,104,243,71,66,93,77,83,35,55,101,156,2,84,249,195,181,89,43,244,73,124,221,62,105,248,193,15,37,209,2,119,75,166,100,59,88,63,186,247,105,243,92,242,96,242,98,242,100,242,102,135,13,62,131,24,70,44,35,166, +177,102,54,198,117,175,150,189,127,151,99,4,0,27,247,110,95,53,127,50,58,196,143,130,45,49,19,194,184,131,172,39,9,254,126,116,180,67,50,178,232,98,57,103,244,213,0,240,212,200,199,254,206,241,192,239,31,63,241,182,252,98,119,179,76,133,223,177,210,148, +245,126,155,15,232,55,180,66,67,63,172,200,35,15,252,107,151,236,111,194,218,36,26,194,86,3,167,75,152,188,210,124,25,177,96,130,196,97,165,174,26,56,221,12,221,231,143,160,0,99,255,123,203,253,152,253,143,182,206,83,130,206,64,138,237,63,36,177,63,173, +68,240,159,128,171,254,207,0,61,143,155,5,219,11,109,168,85,195,151,255,159,175,74,203,255,252,10,76,16,115,62,155,25,30,247,193,227,93,160,166,84,87,188,152,60,153,188,217,105,241,1,136,97,196,50,98,154,194,54,84,197,198,186,227,213,170,47,207,167,134, +96,189,80,66,242,225,197,38,124,254,77,237,118,195,199,176,106,138,45,103,104,136,167,95,96,26,154,112,109,222,239,137,202,37,227,110,68,164,63,24,253,165,48,213,235,0,127,20,233,193,231,55,73,221,123,7,100,34,192,223,245,246,75,191,141,186,147,67,4, +13,48,28,244,254,211,174,38,44,3,180,117,231,145,30,221,51,245,131,179,16,253,12,140,201,13,15,220,35,186,157,244,102,112,2,19,18,114,201,152,114,169,154,56,68,113,7,91,243,114,210,103,187,186,129,3,17,203,109,137,198,131,18,94,250,15,145,41,211,1,78, +240,226,192,105,55,245,50,5,96,120,169,13,30,36,193,95,61,97,185,7,242,117,41,9,1,212,178,3,97,193,139,201,147,201,155,201,163,157,100,20,200,185,30,177,140,152,70,108,35,198,17,235,122,153,194,221,206,222,49,2,0,75,188,101,229,158,15,235,30,237,50,4, +83,32,221,28,84,54,206,254,11,176,43,213,82,57,127,228,237,88,123,170,81,4,78,197,226,223,158,109,46,125,117,151,124,97,205,14,25,11,181,63,29,89,28,211,35,84,205,114,247,131,116,110,131,22,160,166,192,35,247,174,192,30,1,152,173,91,90,128,204,212,185, +168,186,68,198,125,108,186,68,14,65,187,224,134,7,206,12,81,153,11,57,2,198,74,205,169,99,84,158,105,129,191,202,207,26,113,137,96,68,34,143,61,43,218,112,196,20,136,186,214,255,138,184,125,241,65,238,94,90,36,237,247,255,69,66,43,158,181,222,72,161, +172,135,201,230,193,228,201,228,205,228,209,228,213,206,226,168,154,78,76,35,182,17,227,122,88,197,94,189,221,17,32,139,118,215,22,173,189,168,0,198,29,183,39,251,128,99,102,254,236,72,134,86,132,141,40,254,33,115,6,255,92,166,13,190,0,13,98,73,158,61, +109,25,21,230,23,134,103,239,236,108,150,31,175,222,38,69,168,37,42,45,46,219,233,41,37,211,187,63,140,78,54,12,46,100,191,220,214,136,182,176,214,33,57,1,73,59,129,127,233,0,253,137,23,157,2,55,67,3,128,149,118,142,110,6,73,10,112,253,223,40,244,202, +168,57,227,51,67,147,164,247,70,116,235,22,137,175,220,143,208,191,232,0,156,119,184,169,111,40,0,90,107,121,88,225,69,152,128,150,123,254,91,162,27,223,82,26,25,51,5,23,76,75,19,171,41,222,76,30,77,94,77,158,237,44,33,0,230,165,228,15,192,56,98,29,49, +175,111,8,125,226,183,244,187,0,64,31,73,165,18,105,141,92,239,49,180,177,28,232,78,74,30,172,251,183,197,182,99,198,248,25,57,115,248,71,209,128,6,248,4,140,89,122,216,126,4,127,134,249,61,212,26,150,159,32,210,223,147,248,30,14,131,49,104,139,221,212, +15,20,104,193,154,203,68,104,1,238,122,126,139,196,50,236,246,85,80,142,61,2,46,156,128,237,106,161,5,80,49,172,250,161,130,185,246,74,112,204,226,97,131,36,191,140,179,187,52,19,57,49,82,162,185,81,66,255,252,171,104,115,38,171,157,236,210,204,213,125, +188,167,20,128,81,160,12,202,151,248,59,7,165,229,129,255,150,120,195,65,203,43,67,69,124,239,126,102,228,197,228,201,228,205,228,209,228,213,228,217,228,221,78,74,202,136,21,24,39,192,58,98,30,177,175,191,203,215,175,2,0,165,160,43,225,26,113,219,138, +121,35,176,141,226,231,56,46,33,22,57,6,18,105,96,18,51,99,146,103,248,101,222,176,207,74,145,159,155,252,176,163,245,172,221,88,47,130,127,16,123,70,255,170,126,147,252,124,71,163,204,134,53,115,11,165,224,254,238,1,3,244,253,212,186,228,97,22,248,240, +190,22,121,101,19,35,138,101,32,177,243,162,177,189,1,175,140,57,111,146,152,77,88,235,132,218,218,77,233,81,128,52,140,181,197,100,226,7,102,164,151,209,81,79,211,254,44,250,215,21,162,149,97,231,63,134,27,113,83,223,82,128,67,35,20,193,242,75,185,68, +30,88,46,109,127,250,189,152,17,168,4,184,103,0,153,102,15,18,121,50,121,51,121,52,121,117,158,199,175,120,119,170,134,218,61,120,117,183,111,77,178,7,44,57,154,159,35,230,17,251,80,205,126,101,16,253,42,0,44,172,175,85,72,106,232,158,69,134,79,175,78, +96,86,102,201,0,221,166,105,47,223,104,192,178,244,57,57,173,234,243,50,190,242,108,213,39,83,241,247,167,122,153,253,249,169,215,119,203,13,175,239,193,126,145,86,140,255,126,109,249,94,166,92,54,100,207,224,64,163,125,186,220,179,124,75,198,139,91, +49,178,90,70,92,62,69,194,251,218,69,231,14,97,110,74,157,2,24,59,190,66,191,12,153,54,60,245,60,58,63,153,28,144,145,87,95,146,196,22,178,32,128,127,15,1,167,115,118,238,113,58,20,0,23,108,135,166,108,222,88,105,191,229,143,18,124,118,41,218,2,226,57, +219,168,135,201,138,15,128,208,220,224,213,167,85,127,94,241,110,39,5,144,37,182,17,227,136,117,196,60,86,207,198,192,30,86,53,99,183,247,27,103,82,241,254,17,30,113,209,242,218,90,160,254,69,106,252,37,227,0,100,172,118,105,100,196,157,166,194,241,205, +50,186,232,43,80,43,125,36,153,19,103,9,61,235,152,54,95,217,8,87,191,15,61,251,158,156,86,104,72,51,128,199,157,111,164,209,56,25,122,20,3,18,75,191,154,252,173,161,93,150,193,55,57,19,73,25,20,162,125,125,249,62,25,115,238,68,73,52,160,165,161,253, +113,83,106,20,80,179,255,246,168,212,204,31,7,198,153,57,175,96,51,18,150,224,95,255,44,64,10,21,164,38,181,210,185,79,101,132,2,28,136,220,56,104,202,8,105,249,226,237,18,217,180,201,202,214,102,158,221,126,9,199,153,197,89,201,179,201,187,195,137,205, +224,216,14,218,53,208,142,61,6,204,35,246,245,247,150,193,253,34,0,160,93,53,169,173,85,45,165,121,204,27,3,69,70,105,156,91,253,58,38,74,18,12,243,204,16,66,252,86,202,236,154,43,37,207,91,10,245,18,212,185,61,116,76,96,255,165,32,219,216,26,145,47, +62,186,1,134,103,80,101,194,77,197,245,247,239,246,136,238,245,27,57,0,218,208,80,15,175,217,174,222,197,54,75,59,37,241,190,108,104,133,12,125,223,24,137,28,8,186,182,0,41,18,149,158,20,209,131,17,25,53,111,188,138,253,159,98,54,199,60,22,63,116,80, +34,139,223,132,33,26,192,1,2,155,155,250,153,2,112,149,199,252,88,204,193,131,165,233,123,55,33,98,32,34,5,38,53,53,61,41,25,121,52,163,4,146,103,147,119,7,60,149,138,151,247,116,226,214,147,119,246,232,94,96,28,177,142,152,71,236,83,207,2,11,21,38,246, +40,163,204,220,220,47,2,192,3,107,102,25,117,90,93,2,59,37,125,10,213,56,39,220,78,149,79,138,81,117,50,67,135,99,114,137,155,7,229,212,170,207,200,216,138,179,208,161,232,6,216,115,82,177,255,134,163,9,185,235,201,119,101,105,75,80,6,97,45,211,13,243, +123,12,169,251,245,4,89,255,48,204,208,95,106,12,202,107,155,26,82,225,57,199,148,159,90,0,110,82,195,240,192,99,46,152,36,241,131,48,26,237,121,247,57,38,223,129,118,130,113,254,19,112,205,43,155,86,37,131,70,86,90,213,207,136,132,134,113,185,252,105, +145,33,37,110,224,31,167,116,42,10,205,104,107,45,31,225,130,215,55,74,203,127,221,99,217,3,144,137,246,48,89,66,128,169,120,55,121,56,121,185,163,18,176,78,97,30,176,143,24,72,44,36,38,246,71,25,251,156,45,213,153,117,250,181,167,175,137,254,248,185, +218,82,140,239,171,17,38,209,111,198,97,105,231,24,17,13,60,193,140,200,144,252,217,50,119,196,199,85,155,164,226,115,108,251,251,63,1,127,255,91,54,238,151,105,8,62,67,139,255,158,119,231,254,232,22,3,231,157,20,0,74,208,17,95,195,38,62,255,187,118, +167,170,120,42,1,158,142,166,152,189,73,205,144,9,35,164,230,67,99,37,180,215,213,2,28,77,163,147,253,166,7,69,120,111,187,12,63,119,156,248,242,146,22,221,41,0,194,209,239,49,163,17,9,45,127,9,177,233,17,58,150,187,1,186,201,57,20,136,65,8,168,44,148, +208,175,151,255,127,246,190,3,64,174,171,60,247,155,217,41,187,179,189,247,170,93,245,106,85,23,217,114,1,220,49,197,166,39,188,132,0,121,64,72,131,144,132,188,200,47,129,240,128,240,146,64,242,94,120,239,133,132,208,130,33,20,131,49,198,216,178,229, +110,201,178,100,171,247,94,118,181,218,190,59,253,125,223,185,115,165,149,172,178,83,118,102,118,53,199,158,217,209,204,189,231,158,243,159,115,254,239,63,255,249,11,70,31,255,133,213,174,4,132,62,155,103,139,135,139,151,139,167,103,81,113,8,243,132, +125,194,64,97,161,48,81,216,152,238,54,166,253,129,245,27,31,54,134,127,17,111,228,125,46,175,227,38,134,73,100,36,150,108,57,164,209,217,132,226,73,31,195,154,214,79,192,203,140,83,137,20,163,207,33,163,218,73,127,255,207,60,119,0,93,222,92,152,223, +68,232,152,174,123,4,1,245,140,220,247,8,51,50,110,220,163,112,162,220,121,38,169,22,182,181,0,5,229,62,212,47,105,65,116,40,39,253,197,53,158,146,148,249,114,4,157,104,90,218,102,212,255,182,80,29,87,61,23,185,88,217,232,130,47,30,4,100,156,41,9,48, +87,178,139,2,212,158,57,154,75,49,244,149,111,50,62,192,78,78,2,78,132,4,5,53,241,112,241,114,241,116,139,183,103,201,128,19,243,132,125,194,64,97,161,6,192,198,198,116,14,70,90,5,128,251,233,247,40,73,231,139,47,173,169,35,212,190,207,222,37,165,179, +195,151,123,150,73,244,19,57,136,235,26,214,162,181,98,233,229,46,189,228,111,154,94,2,144,126,102,248,251,171,199,118,225,40,39,115,70,116,59,151,108,97,238,135,11,41,32,1,160,134,199,51,47,113,204,30,223,126,220,100,131,21,207,73,150,85,216,243,187, +121,65,7,170,215,52,34,120,134,134,78,20,249,115,229,202,20,16,157,66,195,1,212,172,110,134,175,148,41,122,83,81,98,59,201,177,167,215,211,61,147,163,171,65,206,149,236,164,128,194,52,51,243,227,192,87,254,142,241,26,104,15,160,192,77,9,104,2,212,57, +241,114,241,116,63,121,187,149,48,40,123,186,172,121,46,44,20,38,10,27,133,145,233,108,93,90,5,128,239,223,255,144,120,45,242,66,120,183,59,223,121,109,96,52,204,224,219,217,129,143,50,65,8,81,202,108,244,45,195,53,141,111,77,120,12,236,64,70,255,241, +252,65,124,251,244,48,90,184,179,52,157,78,184,198,220,141,233,160,128,206,160,234,25,13,238,23,135,7,240,250,193,62,98,3,23,102,42,180,0,156,83,197,117,165,168,91,72,23,54,62,36,21,199,11,233,160,71,166,159,33,215,201,177,61,35,104,189,101,38,109,41, +44,77,156,173,214,77,184,109,2,252,160,31,129,141,187,77,94,129,156,0,144,48,37,39,255,70,130,189,163,184,0,193,231,247,99,248,63,127,200,231,113,229,36,40,0,168,177,226,233,226,237,226,241,89,100,110,230,18,6,10,11,133,137,106,167,141,145,250,156,142, +146,54,1,64,231,27,226,169,95,122,241,198,118,14,229,103,194,1,237,175,162,105,149,118,46,71,80,197,143,246,71,158,192,154,182,63,129,143,22,164,137,20,59,212,239,75,187,123,240,185,215,78,160,61,23,4,38,17,50,102,228,30,25,33,55,184,242,240,20,163,247, +109,62,116,218,106,67,10,54,136,54,104,181,175,154,133,194,142,18,132,25,208,38,7,60,87,24,98,50,10,101,254,243,181,22,159,77,253,27,77,80,5,124,246,73,246,238,255,197,103,16,222,119,148,198,102,180,41,72,2,80,206,214,155,251,48,137,20,160,16,80,82,136, +209,111,252,4,99,27,95,162,246,140,112,149,64,168,96,53,80,60,93,188,93,60,222,202,21,48,137,205,142,171,234,104,158,176,80,152,40,108,20,70,166,211,22,32,125,2,0,45,29,13,93,194,142,119,210,248,161,150,231,228,180,202,200,14,219,232,60,135,15,253,129, +71,113,125,253,215,209,92,54,215,52,83,67,18,79,209,185,191,162,253,29,234,30,198,87,158,222,143,67,156,168,165,156,176,2,150,92,153,26,20,144,76,90,155,239,196,191,111,235,49,249,26,82,101,11,32,77,66,25,195,216,214,209,22,192,74,252,144,155,20,151, +155,17,78,106,205,252,39,70,208,248,166,25,40,169,46,55,151,218,130,212,229,238,187,236,111,103,5,128,205,136,30,102,228,71,79,238,96,238,178,244,202,134,31,165,129,99,190,128,72,111,16,195,255,246,45,132,79,28,161,250,152,123,198,56,133,65,155,151,139, +183,139,199,139,215,139,231,103,71,113,56,133,133,194,68,16,27,213,38,121,5,164,171,109,105,17,0,184,246,204,94,234,239,94,184,181,150,31,254,148,198,15,210,232,164,46,170,71,18,212,82,252,232,64,100,24,245,133,119,98,97,221,91,184,57,115,113,99,32,53, +209,196,183,127,226,45,2,139,0,209,254,71,244,39,255,143,19,131,88,65,195,191,209,24,211,73,162,121,185,91,211,72,1,165,10,238,160,183,198,227,221,67,216,176,175,199,60,217,105,206,232,146,107,4,167,134,41,157,107,22,192,93,238,165,250,57,109,235,59, +185,134,103,234,110,210,92,174,147,53,243,27,224,45,246,146,223,147,94,54,17,19,105,147,89,160,60,83,238,61,137,208,190,195,128,55,63,145,90,114,247,100,130,2,1,218,136,183,84,33,248,213,199,49,250,252,203,86,11,226,156,11,226,229,134,167,147,183,139, +199,139,215,139,231,59,179,227,244,217,96,161,48,81,216,40,140,84,39,57,101,39,14,64,73,140,75,90,4,0,142,151,217,242,132,163,193,15,121,10,242,36,210,211,241,63,61,29,188,18,109,28,200,199,104,248,105,172,172,255,24,211,252,210,90,91,148,143,83,49,97, +75,152,155,246,118,227,247,95,57,129,101,197,30,12,49,228,99,174,76,61,10,12,113,102,118,20,187,241,141,215,187,113,224,212,144,233,64,50,103,143,166,2,49,44,206,171,170,142,106,84,47,104,96,164,211,220,220,184,212,204,144,81,84,112,192,143,202,213,13, +168,108,54,188,144,140,34,73,94,72,129,94,101,244,133,23,17,126,97,11,221,204,104,83,16,251,238,82,237,200,125,159,69,20,160,219,38,86,207,199,232,55,191,157,176,87,128,29,27,64,60,94,188,94,60,223,225,200,26,65,80,19,60,44,108,20,70,138,242,54,102,78, +246,40,164,69,0,80,39,254,102,253,13,229,209,168,227,211,1,250,91,179,100,197,217,127,30,39,192,112,104,43,230,87,252,57,186,170,150,169,93,113,23,169,254,181,251,151,234,127,237,147,7,208,66,21,178,84,201,166,151,113,215,150,187,33,211,20,144,22,160, +150,169,130,165,5,216,25,75,21,172,241,77,186,196,234,152,115,119,98,222,37,73,63,127,170,84,160,196,63,61,1,84,47,161,0,208,82,173,179,81,50,195,100,233,111,221,31,220,123,20,209,87,250,168,254,39,251,201,201,96,83,101,70,152,68,77,142,82,38,247,249, +241,110,140,189,188,129,255,166,64,144,132,87,128,120,189,120,190,120,191,48,32,75,74,158,176,81,24,41,172,76,87,155,210,33,0,152,213,231,118,230,253,49,211,253,150,100,203,194,147,37,104,48,50,10,159,171,14,75,235,223,1,159,167,194,100,147,138,135,217, +16,43,12,248,135,120,86,245,211,77,71,241,104,239,16,234,100,189,172,31,114,101,202,82,96,144,174,155,179,75,220,248,210,11,71,112,188,119,196,244,35,105,45,64,140,26,181,179,234,81,218,81,153,211,2,92,108,118,144,83,68,105,252,231,169,40,64,245,140, +122,46,46,254,91,218,146,100,240,95,199,7,4,139,224,142,45,8,190,240,60,176,178,153,210,121,238,8,230,98,228,207,234,239,152,53,208,121,203,28,140,61,244,3,132,186,187,173,166,198,201,103,197,219,149,49,80,188,222,240,124,242,126,97,64,214,120,5,112, +170,11,35,133,149,177,177,72,102,230,79,104,56,211,33,0,152,221,63,148,238,55,171,214,157,139,131,207,221,127,229,7,208,86,177,200,168,254,227,77,243,107,111,76,94,59,208,139,79,108,58,142,85,84,253,247,147,97,77,250,168,77,104,104,115,23,37,74,1,229, +106,40,163,71,192,175,123,134,176,227,216,128,145,89,227,17,12,175,244,220,133,239,187,22,225,81,158,249,229,188,68,206,35,149,81,255,247,5,80,206,4,61,245,115,9,212,44,250,46,153,98,11,110,254,125,71,16,254,238,171,112,148,49,245,111,156,70,100,201, +60,63,119,111,138,40,32,161,173,200,141,208,143,54,32,120,224,160,85,105,156,71,181,186,73,60,94,115,66,60,95,188,95,24,144,37,158,232,166,79,6,35,137,149,233,210,2,76,170,0,240,125,43,168,65,148,169,15,63,75,23,142,10,169,203,179,161,56,120,2,17,136, +156,64,77,193,221,88,214,120,15,155,36,50,36,214,182,65,50,242,63,251,213,94,204,245,58,76,150,191,108,232,95,174,13,201,83,96,136,12,103,22,109,1,254,239,75,71,49,234,87,148,0,206,144,196,166,200,185,198,196,238,175,159,219,132,162,198,50,43,206,64, +114,248,118,174,238,105,242,41,202,120,217,85,51,107,225,43,47,52,249,20,146,18,188,56,96,14,90,141,71,135,250,16,220,242,58,162,197,116,239,21,189,147,29,199,105,66,235,41,215,13,106,1,28,171,150,99,236,145,31,35,98,146,5,105,44,19,25,76,221,227,52, +188,95,24,32,44,16,38,100,67,17,70,10,43,133,153,234,93,12,67,39,173,105,147,39,0,176,31,247,51,240,207,255,220,180,166,140,59,229,7,242,180,219,177,173,229,38,173,59,19,171,88,201,120,117,174,59,183,242,86,148,251,154,99,170,255,196,72,177,110,219,73, +60,218,55,140,252,156,203,223,196,136,63,69,174,146,22,160,132,153,232,190,115,98,0,175,238,167,219,24,139,173,241,73,184,11,49,176,119,18,148,230,191,111,5,179,4,250,225,100,188,251,92,17,113,169,153,31,11,161,112,70,9,26,230,181,25,146,36,187,251,183, +13,253,252,187,247,34,248,163,159,194,185,178,137,129,128,44,97,46,71,243,41,72,1,10,229,142,82,6,7,122,114,3,34,244,14,72,180,200,32,80,71,1,226,253,194,0,97,65,214,36,104,39,70,10,43,133,153,194,78,97,40,27,23,227,28,137,246,248,210,247,77,26,247,249, +240,215,151,186,68,215,240,88,244,195,108,125,125,152,103,123,73,51,208,75,247,35,142,95,116,246,223,131,170,252,37,88,222,108,220,46,141,90,40,142,10,206,94,218,67,107,229,79,173,63,128,249,249,46,12,211,14,96,210,70,233,236,19,115,31,210,73,129,97, +30,231,204,242,229,225,171,207,30,34,110,164,230,252,74,234,71,1,91,221,156,70,228,115,151,107,84,212,217,177,48,210,73,218,55,62,139,52,8,15,135,81,220,86,138,250,121,77,134,46,73,237,254,245,132,152,138,56,116,148,225,157,95,58,69,247,63,178,59,249, +150,231,202,212,164,128,198,142,41,213,195,207,158,66,184,135,227,169,146,224,218,177,143,123,133,1,194,2,97,130,165,9,54,181,102,236,77,221,49,88,41,204,20,118,18,67,133,165,147,213,160,73,17,0,196,227,190,254,145,141,193,127,124,114,77,17,165,151,247, +48,212,97,30,191,51,218,141,201,234,200,68,235,141,50,30,171,130,64,172,110,254,16,220,121,5,22,3,158,232,205,23,92,247,228,214,83,216,201,92,70,57,175,174,11,8,51,77,254,41,79,14,47,65,228,123,12,233,188,237,112,127,74,122,101,131,154,175,172,8,115, +127,115,41,70,246,14,194,233,153,148,101,152,146,246,166,173,18,238,238,92,62,55,26,22,117,88,143,76,22,167,117,152,74,238,25,58,126,4,254,71,31,129,99,197,60,32,160,200,227,185,50,165,41,160,220,113,51,26,16,124,245,37,203,27,32,137,206,72,248,22,6, +8,11,132,9,194,134,76,23,97,167,176,82,152,41,236,20,134,10,75,245,253,100,180,109,82,56,207,131,15,205,51,65,126,198,242,163,31,102,163,23,7,253,10,172,51,57,29,136,143,40,178,2,29,67,115,209,10,116,85,95,111,110,181,25,114,124,245,88,87,63,180,245, +56,170,184,155,75,150,87,37,242,236,220,61,233,161,128,86,94,13,35,211,125,227,133,67,41,123,160,173,5,104,152,223,2,95,3,29,99,100,224,148,224,78,38,101,141,202,112,69,17,158,185,184,43,60,104,93,54,195,180,36,121,245,191,213,161,240,105,158,255,255, +227,15,224,168,161,239,63,83,205,230,202,20,167,128,118,91,21,62,132,14,30,164,199,72,114,227,105,243,126,97,129,48,65,216,144,13,48,37,172,20,102,178,44,142,97,40,108,76,77,245,232,165,94,0,160,164,178,21,115,205,200,144,119,222,193,16,135,178,211,80, +68,220,73,145,96,226,33,136,12,61,34,209,1,172,106,250,77,222,150,88,115,216,23,83,158,223,121,26,175,14,249,81,196,106,98,95,197,211,148,220,181,83,132,2,90,134,197,4,231,31,211,22,224,96,183,229,18,152,108,211,237,192,54,197,12,115,219,126,223,92,140, +29,97,84,50,165,166,189,154,11,23,86,245,220,70,20,213,148,36,79,5,45,82,218,228,68,135,7,49,182,238,87,64,251,98,234,85,185,251,207,45,212,228,105,155,233,26,232,193,225,40,116,35,188,231,0,5,231,228,4,128,115,93,113,24,76,16,54,100,131,49,32,167,169, +180,0,161,24,118,222,161,118,26,76,157,4,45,64,202,185,206,63,111,92,234,122,232,129,135,194,95,126,230,198,247,177,221,171,199,134,140,90,37,227,38,150,78,130,191,63,114,6,139,171,126,11,173,229,215,156,27,251,56,63,217,118,140,47,239,63,141,221,60, +23,206,191,202,119,110,113,146,111,74,94,206,99,71,28,228,46,253,223,159,59,96,218,111,11,129,9,119,70,66,35,25,153,139,225,162,155,174,105,99,120,115,79,204,22,32,225,26,167,254,141,164,73,235,117,51,83,218,143,240,192,32,2,143,252,138,42,227,202,156, +241,95,74,41,155,225,202,40,220,69,6,41,140,39,189,16,207,245,67,152,176,184,250,183,12,70,8,43,178,160,228,197,176,115,181,176,84,152,42,108,77,117,187,82,45,0,56,202,151,118,24,221,5,85,120,119,22,149,123,188,148,102,24,182,41,193,237,118,10,123,171, +176,143,209,232,43,88,218,248,0,181,173,137,119,155,124,202,148,109,221,3,198,160,40,231,202,157,194,65,202,210,170,52,230,101,124,123,236,200,25,134,7,30,49,218,250,164,121,79,76,112,172,108,170,65,219,59,102,153,228,55,87,171,71,128,146,37,249,106, +75,208,186,220,82,255,39,61,13,98,180,13,238,223,135,208,47,246,192,81,64,190,153,51,212,73,154,172,89,85,65,138,55,94,194,132,165,13,15,24,140,200,146,16,193,14,97,167,48,84,88,42,218,199,176,213,134,160,148,12,71,226,72,120,145,199,127,120,195,82,215, +3,142,135,194,76,107,120,11,27,127,215,48,131,122,80,237,150,241,164,63,78,135,23,35,161,61,88,81,247,85,30,31,53,196,90,206,22,198,89,204,217,45,39,222,206,163,131,56,48,28,164,155,152,108,10,226,172,36,119,249,148,163,128,36,218,122,186,4,174,31,13, +227,87,175,29,51,237,183,53,65,137,118,70,231,143,17,106,21,60,69,94,52,82,11,224,24,139,217,146,164,116,121,39,218,186,244,221,167,179,254,136,63,140,182,155,103,91,113,17,146,125,116,76,50,139,72,253,255,211,31,194,113,253,66,68,199,252,201,214,154, +187,63,235,40,144,74,198,107,213,37,108,16,70,8,43,132,25,25,47,196,78,97,40,91,119,151,48,85,216,42,140,77,101,187,82,42,0,52,44,189,199,28,202,56,35,206,55,23,149,187,75,9,152,25,223,253,91,153,160,156,40,241,148,97,81,221,93,76,217,75,117,171,57,12, +140,159,211,218,83,238,84,255,24,78,6,34,76,247,27,127,29,169,28,188,92,93,233,163,128,25,106,90,150,175,59,216,139,99,103,198,44,223,97,123,66,36,216,12,129,159,74,205,140,70,52,220,221,193,184,0,12,75,122,181,205,41,113,32,30,207,183,93,215,149,154, +190,199,118,134,145,190,126,248,255,199,147,244,27,39,35,79,145,11,167,25,172,220,219,52,164,128,132,111,165,115,247,24,140,16,86,68,163,78,170,173,51,206,223,105,11,16,165,22,192,93,42,76,21,225,109,140,77,213,32,164,76,0,80,196,34,229,49,254,202,75, +55,207,99,163,223,61,210,111,206,254,83,42,173,36,210,105,185,119,12,4,31,197,242,186,79,163,186,168,213,84,145,240,192,198,24,254,177,190,17,188,26,8,163,144,204,38,73,12,72,164,75,185,123,50,64,1,105,144,23,48,137,204,119,186,71,241,220,142,19,166, +5,201,70,182,180,181,0,190,138,66,212,208,0,14,163,172,54,227,60,39,125,196,149,176,19,102,2,148,250,27,218,80,84,69,43,253,84,149,80,16,99,79,255,26,152,203,124,2,116,27,203,149,233,71,129,100,142,113,47,70,13,27,19,132,17,194,10,97,134,176,35,11,138, +75,88,42,76,21,182,10,99,83,25,29,48,101,2,128,137,88,68,106,133,131,145,91,105,189,216,74,230,200,221,127,18,135,237,41,160,188,44,58,131,17,63,106,11,110,70,71,133,12,255,104,25,156,130,132,4,131,99,220,178,16,17,172,224,134,41,104,104,174,138,172, +167,128,4,61,195,36,120,50,247,244,190,94,116,247,251,185,99,160,0,152,164,4,104,239,248,91,151,117,161,98,85,45,130,103,252,169,217,9,103,61,69,73,79,37,206,218,63,140,174,219,23,32,207,157,186,189,130,150,248,232,255,249,15,56,26,75,169,93,72,149,165, +248,20,32,232,213,210,68,10,201,209,128,148,203,169,45,22,54,56,13,86,8,51,132,29,153,247,10,112,56,133,165,194,84,97,171,122,108,99,109,42,122,159,18,1,128,76,80,155,153,232,231,159,94,93,205,191,239,8,201,135,49,146,121,83,74,39,13,255,134,66,191,198, +146,154,143,113,247,223,110,232,149,10,201,209,37,53,173,38,33,153,63,255,228,202,85,66,1,165,10,94,146,207,200,128,135,6,177,105,159,34,135,201,14,52,57,9,192,104,1,232,17,80,76,247,183,170,57,245,136,250,147,181,46,152,26,131,97,250,77,112,46,91,88, +141,242,150,42,211,104,238,114,82,210,120,255,166,23,17,62,73,224,79,129,176,159,146,6,229,42,73,29,5,36,116,15,7,224,90,48,219,228,121,72,93,197,228,229,177,253,170,176,66,152,33,236,16,134,100,188,16,75,133,169,194,214,24,198,106,169,164,4,122,82,34, +0,60,248,160,213,24,175,199,57,223,87,226,186,49,24,140,48,107,67,102,5,0,61,222,31,233,67,131,239,62,180,87,44,52,99,152,236,238,223,102,79,167,135,25,48,130,231,138,114,15,179,191,203,248,36,201,53,96,210,41,160,177,182,180,0,17,60,199,252,0,3,35,140, +42,153,10,45,0,87,182,74,199,117,115,225,235,40,65,132,9,166,82,179,188,77,181,89,249,166,221,191,255,248,8,218,238,152,139,252,34,75,213,42,161,32,249,18,101,178,152,71,128,82,50,110,10,86,185,50,205,40,64,23,64,48,4,187,171,133,71,102,204,216,153,234, +98,99,132,48,67,216,33,12,201,48,148,137,23,228,9,83,133,173,194,88,245,217,198,220,100,251,159,10,1,192,177,118,45,34,107,183,222,239,161,192,253,209,32,141,227,100,79,145,108,195,146,189,223,225,240,32,16,126,14,243,170,222,133,218,226,46,157,161,156, +149,240,146,174,59,217,10,114,247,79,89,10,140,209,237,99,49,221,202,30,220,211,135,93,199,250,76,63,82,161,5,144,43,92,85,71,13,42,102,213,208,42,126,154,3,151,112,158,47,103,40,15,205,203,24,7,129,194,64,170,118,255,225,35,7,225,127,106,7,143,23,200, +130,114,210,249,148,93,103,151,108,56,65,63,186,237,52,92,51,231,113,140,61,151,188,44,209,31,164,5,208,92,20,102,8,59,132,33,194,146,140,23,98,170,176,85,24,43,172,21,230,178,77,73,75,204,201,11,0,177,69,230,235,59,221,204,6,189,131,33,12,213,176,140, +10,0,102,247,31,62,205,179,255,119,161,179,146,81,192,76,73,158,27,216,212,174,40,228,238,130,89,220,148,49,206,254,46,246,144,220,159,105,78,1,157,40,123,116,4,196,51,200,151,169,5,240,115,18,164,66,11,96,79,164,174,155,23,192,93,70,79,21,197,206,156, +166,197,73,151,74,127,207,8,154,238,157,137,162,242,20,68,254,19,157,98,199,7,163,207,61,77,3,0,186,253,241,25,185,50,205,40,32,102,75,128,118,162,31,238,174,57,250,199,217,113,79,109,79,173,181,39,236,16,134,248,137,37,25,215,2,112,70,199,176,245,29, +49,172,77,137,128,155,252,42,137,25,194,59,29,225,247,89,9,12,50,207,184,28,142,60,198,30,222,136,230,226,235,40,201,209,191,56,133,187,127,77,180,144,156,255,249,191,52,150,153,239,109,106,167,126,174,182,43,83,96,136,6,160,203,74,60,248,175,155,78, +98,255,73,6,132,98,73,246,228,222,86,127,43,63,64,81,35,221,144,166,115,128,9,90,207,134,187,67,104,92,222,138,252,18,43,33,151,221,255,43,83,255,18,87,104,49,134,2,24,123,242,21,68,131,220,131,164,228,56,225,18,207,202,125,157,25,10,40,188,243,32,207, +255,63,180,2,142,73,80,255,219,157,58,167,5,152,109,48,68,88,34,76,201,120,33,142,9,99,133,181,166,45,49,236,77,166,93,201,11,0,124,250,63,188,176,178,132,34,210,7,45,67,133,204,174,60,7,229,195,64,184,15,101,158,59,177,160,246,230,24,109,82,11,211,37, +249,140,109,68,38,150,21,9,14,146,25,253,220,189,9,81,64,90,128,60,77,243,96,16,91,143,244,49,199,76,212,196,5,72,168,178,11,110,114,112,94,117,190,121,1,53,0,211,243,24,192,114,253,11,162,108,81,53,42,91,106,172,222,39,187,60,99,198,126,99,47,61,131, +200,222,195,140,21,95,192,122,147,173,244,130,129,201,253,51,243,20,240,208,83,100,227,113,120,239,184,27,121,165,49,205,209,164,193,141,53,127,132,33,194,18,97,138,176,37,147,133,66,178,195,24,216,19,107,13,230,166,160,49,41,233,209,88,216,187,202,229, +118,182,75,11,167,205,118,10,218,149,112,21,26,182,40,206,160,163,228,102,52,149,145,145,146,57,216,214,157,9,87,106,223,24,235,89,67,153,15,75,232,19,62,146,233,206,218,237,202,253,77,59,5,134,100,11,80,228,198,95,189,116,12,125,195,86,164,185,100,109, +1,236,78,180,173,236,68,126,101,86,248,32,219,77,74,217,95,7,143,206,252,135,70,209,252,38,186,61,54,87,179,94,50,12,29,169,36,83,98,88,239,223,184,21,145,195,189,204,225,76,160,136,125,151,76,181,185,123,179,136,2,154,34,220,133,59,220,39,224,153,191, +136,71,176,60,151,159,68,35,79,97,70,132,216,33,12,17,150,8,83,50,61,165,4,55,194,88,97,173,48,55,21,163,147,148,0,96,227,159,211,225,248,120,56,43,206,44,21,154,215,15,111,94,11,102,87,95,27,163,79,146,204,101,28,149,237,154,106,202,242,81,195,28,238, +125,211,89,77,59,174,223,185,143,111,164,128,166,187,108,1,54,15,141,98,195,158,30,19,18,154,235,224,141,23,38,240,141,167,208,139,246,55,207,71,152,222,0,73,131,99,2,207,159,180,91,72,158,8,83,184,230,215,48,240,81,39,131,244,144,251,68,20,97,41,153, +34,142,72,213,112,248,216,65,4,95,223,69,240,207,237,254,147,33,103,214,222,235,117,35,178,225,40,242,255,250,19,112,55,53,88,205,76,209,122,187,84,159,237,213,44,44,17,166,8,91,140,221,193,165,110,72,211,247,194,90,97,174,30,103,99,112,162,143,78,92, +0,144,81,61,207,32,190,240,204,13,45,124,248,45,147,60,22,19,238,95,36,58,132,134,194,37,116,253,91,65,137,205,106,228,132,111,190,194,133,166,195,164,248,204,134,98,180,51,37,229,160,81,253,94,225,166,220,207,211,150,2,195,20,0,231,250,92,248,199,13, +199,49,226,103,112,40,150,36,225,236,44,173,58,215,204,65,100,152,135,13,60,18,152,46,197,65,195,188,192,201,81,84,95,223,136,234,118,10,0,44,206,100,119,255,177,93,224,216,134,87,16,94,191,9,14,69,20,148,80,144,43,211,135,2,90,2,121,46,56,78,110,134, +103,25,207,255,125,197,180,145,153,124,59,15,99,11,192,21,45,44,17,166,8,91,178,161,196,176,246,22,97,175,48,88,48,151,104,187,18,22,0,238,127,232,126,115,111,158,195,249,1,62,188,48,27,140,150,162,244,140,80,224,134,69,181,119,76,154,209,134,205,90, +230,42,111,185,118,30,246,23,137,142,64,238,190,41,75,1,105,1,10,56,7,126,118,102,24,155,247,159,49,253,72,120,37,94,64,5,95,89,33,58,222,54,31,65,250,60,11,56,167,69,33,48,59,157,46,212,205,111,134,183,36,159,26,220,36,153,184,128,62,143,110,97,163, +131,240,111,217,142,104,47,13,181,36,48,229,214,228,180,152,46,103,59,145,239,65,228,103,187,145,255,247,127,137,252,133,198,13,222,236,62,207,254,62,201,31,100,0,40,76,17,182,8,99,50,93,98,88,91,24,195,94,216,88,156,72,187,146,230,44,220,21,191,211, +69,117,56,215,98,198,151,93,52,26,66,185,183,25,51,171,215,24,90,216,241,157,19,33,204,165,238,177,235,92,209,94,137,217,46,7,198,114,187,141,75,145,234,170,248,94,227,95,199,136,80,15,189,122,2,193,20,26,238,229,209,143,125,198,173,115,141,181,188,131, +243,108,170,23,29,101,132,134,152,65,115,110,5,234,102,55,155,238,216,107,41,209,190,153,93,32,111,246,111,217,130,208,99,235,224,152,83,203,16,221,50,209,204,149,105,67,1,9,191,67,1,228,221,92,129,130,155,174,135,35,191,208,58,251,79,147,202,217,158, +163,194,20,97,139,48,38,211,69,88,235,246,50,89,145,195,241,54,181,101,94,117,119,194,12,34,33,1,224,126,38,254,121,232,1,166,253,125,246,198,91,248,252,246,108,216,253,203,66,51,28,29,193,146,218,119,83,82,155,60,151,13,123,222,173,156,89,137,121,60, +171,29,164,216,147,48,245,51,61,147,114,207,79,154,2,210,2,84,147,73,253,61,141,207,246,158,76,145,138,48,38,84,150,214,150,163,254,182,118,4,7,167,129,22,128,139,36,50,20,70,245,226,6,84,180,86,153,84,200,201,217,55,80,239,73,237,139,182,251,129,93, +251,17,89,127,146,234,24,26,255,229,236,114,146,158,211,89,83,129,24,171,2,243,108,57,138,130,223,121,63,188,139,150,90,199,59,102,220,211,219,74,97,138,176,69,24,147,105,111,0,245,60,102,59,211,41,12,94,123,243,186,144,48,57,17,138,36,36,0,220,214,177, +207,220,199,51,146,123,157,121,142,210,152,1,96,134,113,48,143,134,26,97,204,174,185,45,17,58,36,116,207,219,185,227,56,77,134,147,225,142,39,212,246,220,77,169,163,128,132,128,98,10,1,63,222,120,52,53,149,198,164,76,249,200,119,221,53,31,129,195,99, +180,126,158,194,179,140,77,143,248,195,240,214,251,208,48,175,205,208,72,246,52,73,21,1,61,235,8,29,216,139,192,147,191,6,86,118,228,50,255,37,69,208,44,188,89,81,255,142,247,195,243,187,107,80,116,135,201,134,155,209,70,10,91,132,49,60,103,202,104,59, +248,112,135,49,4,36,246,10,131,213,24,27,147,227,109,88,220,2,0,55,39,142,227,75,239,9,255,243,134,165,116,134,143,222,226,201,87,222,100,100,84,239,230,116,184,49,22,62,137,197,213,255,21,5,238,162,120,105,144,240,245,111,89,84,143,25,156,164,211,200, +78,43,97,90,92,205,55,234,84,176,140,43,233,135,7,78,211,37,48,53,89,202,236,208,184,229,77,85,168,88,90,199,180,185,83,219,35,32,194,180,191,37,157,21,104,90,216,102,166,74,114,187,255,115,199,252,129,195,199,17,252,198,163,112,84,115,221,167,240,8, +230,106,158,207,89,209,119,186,139,70,251,152,113,115,118,49,74,62,242,219,112,148,49,97,84,178,54,35,73,118,76,216,34,140,17,214,8,115,50,89,132,185,194,94,97,176,176,88,152,44,108,142,183,77,113,11,0,31,217,184,212,165,156,196,67,161,226,119,81,251, +214,30,24,101,124,98,227,208,19,239,163,83,121,61,45,68,29,7,177,176,238,110,14,12,213,128,105,42,149,197,30,252,213,242,102,188,30,160,107,83,178,214,204,105,106,115,238,49,147,67,1,31,119,163,187,24,129,238,7,47,28,54,15,176,1,60,209,167,217,59,228, +146,154,50,180,221,62,11,254,131,195,212,2,196,189,92,19,125,124,106,239,163,132,228,100,220,140,6,130,191,51,21,113,255,197,233,168,6,142,12,156,65,96,227,203,64,195,92,178,195,204,159,205,166,150,104,87,113,109,2,127,102,197,204,43,15,160,228,47,255, +28,174,214,78,11,252,51,160,250,31,63,10,194,150,133,245,119,27,172,161,55,254,248,159,210,254,89,152,43,236,21,6,11,139,133,201,194,230,120,27,18,55,71,225,41,140,41,100,112,183,230,23,187,138,34,145,168,118,255,113,75,30,177,106,146,254,35,11,205,96, +100,24,51,74,62,128,66,79,89,172,62,146,39,77,229,205,11,235,112,163,143,190,199,100,74,113,19,51,77,109,204,61,102,242,41,160,177,31,224,28,120,234,224,105,147,37,208,6,240,100,158,44,43,121,237,148,235,230,52,163,160,190,216,248,208,75,237,61,213,74, +132,59,115,111,117,1,102,220,56,199,52,61,105,218,144,206,42,161,110,230,98,248,212,215,224,92,66,191,240,152,27,166,249,33,247,54,53,41,160,97,165,160,24,13,48,242,190,187,31,165,127,251,5,120,21,244,71,59,255,12,131,191,173,115,18,198,8,107,132,57, +25,14,15,236,16,246,10,131,133,197,26,112,27,155,227,25,252,184,48,107,45,49,238,35,203,54,6,191,248,210,154,58,74,30,243,140,241,95,250,176,246,162,253,202,67,1,134,67,235,177,180,254,191,32,255,172,250,63,125,76,178,178,216,139,191,125,203,12,6,132, +9,161,108,26,88,107,95,148,200,185,47,175,72,1,45,131,14,158,5,61,211,239,199,115,59,187,205,245,201,70,6,116,210,0,74,165,178,185,6,173,247,206,134,255,200,8,156,83,113,142,145,56,213,243,154,224,43,167,5,119,42,138,192,128,113,255,3,175,110,164,80, +68,203,127,185,102,101,152,15,165,162,91,87,117,29,18,234,10,220,136,158,9,34,175,120,20,165,95,253,10,60,243,22,102,9,248,107,100,44,76,201,119,21,25,172,17,230,8,123,50,90,72,178,24,6,207,19,38,11,155,133,209,241,180,41,174,139,235,55,46,53,214,15, +142,32,110,227,67,22,249,71,184,249,207,160,73,164,50,52,5,25,157,169,193,119,43,170,139,90,76,191,147,85,189,198,67,188,216,70,4,75,58,42,241,143,203,155,240,188,220,156,114,6,1,241,144,112,218,92,43,252,41,228,110,253,0,143,131,158,222,115,202,28,71, +139,101,36,133,75,172,64,90,128,60,111,30,170,187,234,225,162,63,180,89,240,233,147,111,147,31,31,182,85,121,13,58,111,153,151,124,93,170,193,222,253,247,158,193,232,191,125,3,206,55,181,3,99,169,177,187,72,77,3,115,181,196,77,1,205,103,15,193,127,103, +15,188,55,181,162,76,224,63,135,254,254,26,235,140,239,252,207,245,198,198,22,97,141,48,71,216,147,209,44,129,196,94,131,193,196,226,24,38,195,198,232,115,173,190,252,167,184,4,128,227,131,197,134,159,81,11,185,170,168,204,36,99,86,248,179,140,177,163, +60,6,102,24,8,60,142,197,181,31,67,113,126,133,233,105,210,234,197,203,211,235,188,95,165,141,213,164,80,58,216,119,174,104,198,239,54,149,225,101,26,107,9,8,114,229,234,163,128,130,66,213,243,140,251,241,19,195,216,180,151,41,68,57,65,146,117,145,181, +231,115,221,172,102,84,175,110,66,160,135,30,1,89,196,20,47,59,202,90,31,116,145,40,155,89,141,234,206,186,203,94,58,225,31,205,17,72,20,193,93,219,16,122,248,52,129,131,15,201,185,254,77,152,124,89,115,161,88,164,248,36,249,103,148,33,175,209,115,10, +69,95,252,109,148,253,183,181,112,183,241,204,95,197,140,181,245,49,27,222,237,181,40,172,89,66,204,17,246,8,131,50,88,68,197,160,176,152,164,50,185,1,108,140,158,104,155,38,44,0,172,141,174,117,202,223,240,203,207,222,210,202,21,183,44,224,55,106,183, +9,223,63,209,6,77,244,58,5,104,8,51,89,67,137,199,139,166,146,217,70,18,83,226,159,116,23,195,228,57,137,149,31,224,247,111,158,129,155,152,137,108,111,48,12,95,78,8,72,247,80,100,252,121,50,134,169,167,1,211,203,253,99,120,245,96,143,105,143,145,152, +147,104,153,230,87,36,28,161,250,220,135,250,69,205,244,255,209,154,79,182,214,36,26,20,199,173,18,84,66,3,1,204,188,103,9,207,116,83,224,58,165,29,33,75,30,9,11,245,0,0,64,0,73,68,65,84,100,104,8,163,223,251,30,28,138,66,158,59,251,143,99,68,178,224, +82,77,95,165,242,165,96,24,61,213,207,191,33,120,111,157,131,138,239,125,13,69,239,120,55,28,69,165,89,208,200,75,55,193,36,151,163,230,185,145,152,35,236,17,6,217,193,130,46,125,215,36,254,66,149,191,193,98,98,178,176,89,24,45,172,158,232,19,39,124, +33,214,173,51,215,70,157,161,149,204,72,188,50,48,74,189,94,38,213,255,14,15,70,194,59,49,179,236,47,80,225,179,226,138,103,74,25,97,152,52,153,211,204,198,18,124,237,174,153,232,242,120,176,201,31,50,66,128,230,123,174,92,61,20,8,112,30,148,20,228,225, +167,123,251,176,243,232,128,209,14,209,88,39,41,2,216,46,115,13,115,91,81,52,167,220,68,212,179,191,75,170,226,201,190,217,17,133,167,56,31,205,75,90,83,243,164,216,142,48,124,242,4,2,255,246,42,28,244,194,1,133,163,92,153,34,20,144,16,200,152,254,209, +125,212,220,68,252,240,220,190,20,37,159,255,4,202,31,252,107,184,187,232,201,49,21,74,108,14,10,115,132,61,194,32,7,177,40,99,133,24,44,44,22,38,11,155,77,59,98,88,61,145,54,77,84,0,112,252,229,154,117,150,175,127,20,203,125,37,198,219,64,126,55,25, +195,55,7,220,60,103,221,143,174,138,53,180,29,41,163,22,48,108,84,174,19,233,244,100,92,163,76,112,97,50,250,249,173,229,248,151,123,102,227,158,82,31,54,241,56,160,152,54,1,57,179,128,201,160,120,118,214,169,160,64,51,105,201,252,179,238,17,108,85,106, +218,20,20,91,11,80,209,86,141,154,197,77,86,146,160,20,212,59,153,85,200,221,207,223,61,138,174,251,23,195,237,77,33,131,164,77,196,232,99,15,147,200,53,102,247,56,153,125,200,213,157,34,10,80,43,134,2,198,209,63,192,29,255,238,253,112,221,189,4,197, +15,126,28,21,127,243,87,40,88,77,115,50,103,10,180,67,41,106,234,149,170,209,110,95,88,35,204,17,246,8,131,132,69,25,44,194,224,144,193,100,98,179,218,17,195,234,9,97,243,132,4,128,181,107,173,227,204,191,121,126,77,27,9,112,227,152,178,148,41,57,115, +134,138,131,62,152,254,112,15,90,138,62,128,74,159,172,128,37,137,76,168,191,147,218,98,217,2,72,8,88,208,86,142,127,184,111,30,62,217,92,142,151,207,4,224,101,211,114,71,2,147,74,250,172,169,92,123,125,9,1,26,244,199,118,159,193,241,222,49,218,49,137, +105,232,203,196,139,189,227,111,185,166,19,249,141,133,8,51,178,94,22,76,249,75,119,72,82,47,227,100,183,93,219,73,207,5,229,10,73,174,255,246,131,34,131,253,24,251,254,147,112,148,211,2,59,23,248,199,38,75,118,254,229,28,112,20,18,248,199,120,104,245, +200,102,184,239,94,136,162,127,248,83,84,172,253,19,248,110,185,221,104,3,140,161,95,118,182,254,146,173,178,177,70,216,35,12,18,22,9,147,50,87,28,121,194,100,97,179,193,104,154,30,9,179,39,210,158,9,9,0,115,231,222,111,42,115,69,34,29,121,110,199,138, +144,63,162,147,200,9,221,59,145,70,196,123,141,195,68,254,123,17,237,165,183,162,166,184,211,48,23,165,110,204,134,98,11,1,109,204,121,254,231,119,206,198,119,110,109,167,38,32,138,77,129,16,170,200,8,167,114,68,215,108,160,239,84,104,131,159,66,224, +50,175,11,255,124,100,0,123,79,112,215,147,130,34,45,128,74,3,51,233,149,180,151,211,87,58,123,85,223,14,206,243,0,5,159,182,251,231,194,87,198,244,188,44,54,211,52,255,72,226,109,236,217,39,17,233,87,223,83,35,80,36,209,148,220,173,151,162,128,166,106, +1,181,62,81,23,194,63,219,134,188,6,39,138,126,240,23,40,255,204,31,162,240,158,251,224,180,163,250,233,254,216,188,190,84,85,217,248,189,73,19,76,129,86,216,35,12,26,11,191,200,110,100,78,11,32,44,22,38,11,155,133,209,162,153,141,217,87,162,223,132, +80,243,1,38,254,81,69,220,133,172,42,40,162,164,227,136,202,224,217,226,72,87,122,66,202,127,143,169,96,92,249,168,242,49,0,8,75,54,164,104,28,223,77,9,1,218,241,85,151,122,241,158,235,219,177,225,237,115,241,209,186,50,60,123,122,140,109,165,85,52,37, +227,156,32,48,158,98,211,235,243,89,104,118,132,177,110,119,15,195,3,7,105,240,76,177,60,73,204,210,46,90,154,128,150,107,103,195,153,207,128,41,73,218,22,76,22,213,149,189,48,120,212,143,182,53,179,224,101,194,44,179,251,79,1,183,136,50,218,223,232, +79,31,103,62,120,50,219,44,237,251,100,209,116,202,212,171,115,254,124,166,122,222,112,140,115,116,0,197,255,249,103,40,251,31,127,67,3,191,251,225,172,102,248,24,101,107,212,66,152,42,158,44,151,32,188,141,57,213,196,160,2,98,81,38,227,225,25,44,38, +38,11,155,133,209,106,178,141,217,151,104,254,217,175,175,40,0,136,231,232,234,191,123,225,214,90,198,219,184,99,116,208,28,253,103,80,253,159,71,149,203,1,250,97,126,20,109,21,12,20,193,146,65,91,68,243,252,139,189,137,225,219,106,223,165,157,85,248, +252,125,115,241,236,3,243,209,89,80,128,23,105,25,61,76,6,38,119,193,124,94,151,49,98,94,172,225,185,239,82,66,1,141,239,202,66,15,254,98,199,105,156,25,28,53,117,38,171,6,183,181,0,51,174,39,176,86,80,181,106,206,26,82,210,220,148,85,226,160,112,27, +162,192,83,125,99,19,202,234,45,215,220,228,43,183,36,167,224,142,215,16,218,195,32,75,74,17,155,43,217,69,1,242,50,227,203,127,106,4,88,191,5,69,95,250,0,202,191,254,207,40,122,235,125,112,183,182,91,10,27,69,182,204,35,183,155,130,187,254,11,137,109, +107,156,91,137,65,194,34,97,82,102,57,185,35,207,96,51,49,218,96,53,27,108,99,247,133,109,31,255,239,43,174,164,7,99,59,253,80,36,92,78,45,251,13,204,66,148,81,245,191,78,30,34,216,141,250,162,121,40,246,82,38,201,176,241,223,120,98,94,248,217,236,250, +248,165,4,129,242,34,15,174,99,246,192,111,190,127,17,158,123,231,2,220,85,91,134,87,232,255,186,153,222,2,103,8,22,246,174,81,210,150,253,186,176,190,220,191,167,14,5,52,158,102,76,35,97,60,185,253,20,189,213,34,198,22,32,73,37,128,33,128,155,17,211, +26,87,118,90,187,96,77,150,44,42,82,255,251,15,140,160,237,77,179,81,92,93,106,52,94,182,224,146,112,51,99,68,27,249,217,47,17,237,29,180,220,200,18,174,44,119,227,100,80,32,58,194,144,48,123,153,182,247,55,175,71,229,142,95,160,248,61,31,128,171,161, +137,236,154,26,99,133,242,21,232,79,241,93,255,120,186,233,72,75,216,35,12,18,22,9,147,132,77,153,42,162,174,193,102,98,180,176,90,237,120,48,134,221,151,107,211,21,91,188,150,253,84,5,220,189,92,155,47,245,127,70,217,142,124,255,71,80,226,190,25,173, +165,179,213,22,14,67,150,113,64,211,170,115,111,106,157,165,254,165,242,159,140,172,196,231,193,181,179,170,241,165,119,206,195,201,143,174,194,35,111,154,133,247,54,150,115,234,56,112,138,7,43,7,248,58,196,151,118,144,26,28,69,126,213,223,236,238,229, +185,254,230,62,157,163,192,8,199,112,177,207,133,47,108,57,197,99,0,191,245,131,38,65,10,202,236,219,23,33,34,59,128,44,218,77,233,120,34,76,129,182,120,102,57,170,59,98,129,127,12,247,72,162,195,162,23,251,24,62,204,180,191,27,118,0,238,204,157,181, +38,209,139,233,117,171,13,230,140,119,130,17,206,235,64,16,5,111,189,6,149,79,125,27,165,159,248,99,2,127,35,199,137,54,0,2,126,149,105,4,252,86,135,172,119,27,123,132,69,194,36,97,83,166,56,181,86,9,31,30,17,70,11,171,213,194,181,49,236,214,231,75,149, +43,10,0,186,241,27,79,174,201,103,245,247,4,25,252,39,134,71,151,170,111,82,191,151,170,63,24,57,133,82,207,60,52,87,48,73,4,75,210,187,139,73,109,241,185,202,213,78,173,27,91,13,156,79,87,177,154,210,124,220,177,164,30,95,228,209,192,230,143,93,139, +159,221,53,23,127,210,94,137,219,75,60,168,228,78,106,59,119,141,91,105,237,125,58,38,12,40,227,160,140,171,53,210,185,146,253,20,144,134,222,195,49,219,61,196,192,64,7,206,24,1,48,85,243,181,168,170,24,245,215,182,81,8,144,55,64,118,204,8,107,247,63, +140,230,183,116,157,21,0,146,238,111,76,96,26,125,225,69,250,143,31,53,86,229,134,144,217,63,252,211,175,133,154,103,58,227,231,156,139,158,56,195,177,112,195,123,223,74,84,126,251,43,40,253,147,255,70,224,111,62,103,217,175,113,155,166,192,111,15,172, +61,183,133,69,194,36,97,83,38,143,163,57,58,78,97,180,176,218,96,182,221,208,203,252,53,91,250,75,254,174,243,127,218,46,245,120,2,37,180,114,92,29,178,44,143,39,36,52,92,178,206,36,126,144,1,157,147,134,85,245,69,93,240,230,49,59,26,163,48,217,9,83, +146,168,54,173,183,218,147,102,252,67,165,33,240,114,97,93,55,187,202,188,130,68,142,45,7,207,224,217,93,221,120,237,212,32,118,14,5,176,158,231,170,10,122,210,200,184,240,181,20,14,196,242,199,184,200,100,141,201,255,115,37,75,41,32,77,206,204,66,122, +4,188,124,12,215,83,243,83,164,132,39,108,107,178,144,205,192,31,152,117,207,98,28,125,98,143,113,11,140,4,51,60,11,216,33,69,44,244,208,61,79,121,11,100,11,160,127,171,157,9,23,179,251,87,106,216,17,140,113,247,31,61,29,130,163,146,245,133,40,244,228, +74,250,40,32,224,247,16,42,24,215,36,186,153,66,216,220,74,120,223,126,29,10,223,117,31,19,246,44,121,99,59,178,68,32,125,99,195,82,253,141,142,1,152,233,146,88,36,76,58,62,242,136,57,242,74,245,83,38,90,31,57,128,83,24,77,242,175,22,102,243,62,89,157, +27,12,191,84,29,151,23,0,8,254,214,141,174,249,222,130,188,42,38,30,208,202,203,144,205,154,136,237,71,126,94,7,186,42,173,128,71,182,10,230,82,157,155,170,223,187,169,247,95,58,163,194,188,70,57,160,59,142,244,99,219,209,62,188,78,151,178,103,79,141, +98,125,223,24,187,198,68,208,84,47,87,83,24,144,16,32,97,32,11,109,194,166,234,16,164,172,221,26,147,98,238,132,126,212,51,132,131,221,195,152,215,82,150,52,248,155,85,73,158,92,213,81,131,146,174,42,140,13,12,91,90,0,1,102,134,138,194,254,6,122,70,209, +112,75,7,234,153,183,64,69,71,2,201,148,104,204,104,108,244,185,103,16,94,247,28,28,29,213,20,130,115,224,159,12,77,227,186,87,195,231,229,145,11,173,190,162,235,14,194,177,180,16,222,79,222,139,252,155,86,160,224,186,155,248,35,47,48,66,90,114,227,28, +87,155,178,236,98,123,67,39,76,218,118,186,131,90,0,102,236,52,145,1,51,178,22,53,16,97,97,245,216,112,148,217,148,240,4,135,232,178,13,185,188,0,16,35,54,129,246,45,97,107,135,145,132,56,159,252,200,69,120,198,82,228,158,137,230,178,169,165,254,79,164, +231,90,87,210,120,20,120,156,204,54,88,110,94,1,34,253,150,253,189,56,214,59,132,157,167,134,240,243,67,67,120,170,135,204,159,107,116,94,129,139,113,6,242,48,202,29,167,63,39,12,36,66,242,73,187,71,194,89,189,215,137,127,125,225,16,190,216,92,154,252, +177,85,140,223,122,188,94,204,188,111,17,54,124,229,9,228,215,249,144,81,45,0,195,254,130,121,220,107,230,53,34,191,180,32,249,221,63,71,195,74,122,20,65,96,251,62,68,55,13,194,113,75,21,159,145,172,81,193,164,13,243,244,170,88,192,175,176,189,47,29, +134,163,118,12,249,159,127,55,188,43,150,160,96,213,117,252,158,191,137,65,9,91,174,154,221,254,197,135,215,222,132,10,147,138,220,77,56,61,246,106,76,0,184,248,245,105,248,214,41,172,22,102,243,89,79,92,233,121,87,22,0,84,215,243,184,55,66,240,17,223, +209,176,103,170,72,218,106,46,158,11,151,147,46,80,252,207,38,126,166,218,51,153,207,213,186,82,255,204,50,227,98,211,122,163,217,0,150,117,86,242,177,149,8,114,60,110,167,102,224,204,224,8,158,219,223,135,239,236,167,118,128,225,103,81,152,135,107,232, +35,94,74,213,235,48,175,81,108,250,28,203,156,204,145,186,114,221,210,2,148,83,37,254,127,15,247,225,143,206,140,161,174,34,249,60,226,178,37,145,154,189,110,94,19,242,34,92,198,25,20,205,181,211,15,246,5,80,122,77,21,154,23,117,24,130,36,187,251,55, +6,100,212,42,248,183,108,66,240,209,199,128,85,212,42,228,84,255,87,158,108,201,94,33,38,195,36,55,209,29,60,207,62,113,16,249,255,253,195,200,191,110,21,188,11,23,194,145,95,104,1,128,140,251,56,54,185,98,81,64,88,36,76,106,34,54,245,250,55,103,148, +44,194,104,97,53,161,227,94,54,235,51,49,8,185,100,155,174,56,138,95,121,254,150,6,86,50,83,12,199,84,123,201,170,38,251,7,25,32,230,99,70,133,49,112,228,231,216,54,104,178,31,155,225,250,213,75,217,8,40,184,80,52,170,99,16,158,251,115,128,221,100,254, +11,90,203,112,227,252,6,124,236,182,153,248,33,189,10,158,127,239,124,124,182,179,26,123,67,78,60,199,72,108,71,201,48,21,107,64,249,8,20,120,232,234,160,88,134,7,236,18,143,231,176,81,16,139,226,177,215,78,94,226,138,248,190,182,231,127,113,101,9,58, +223,191,16,99,199,168,122,20,243,206,64,97,215,184,51,103,224,171,121,13,40,109,40,39,118,235,28,50,217,217,102,221,31,216,115,128,105,127,183,51,241,143,151,4,52,79,202,64,15,175,130,71,242,40,17,204,100,26,101,186,233,232,195,207,34,255,119,214,160, +244,233,239,160,228,67,191,133,252,21,215,90,224,111,142,95,56,6,57,240,63,111,66,216,107,177,147,216,36,140,210,74,207,84,225,232,56,140,161,57,49,219,96,247,21,26,114,105,13,128,181,193,166,137,67,248,70,46,69,167,24,88,38,139,210,48,22,184,138,209, +82,126,77,38,155,145,209,103,219,90,1,89,97,104,56,140,80,198,15,197,84,255,23,23,148,160,11,37,152,213,88,129,223,245,7,112,160,123,8,63,220,220,141,175,28,58,195,140,209,65,52,231,187,232,89,32,55,74,110,164,248,202,220,20,205,40,9,51,246,112,141,87, +33,7,240,63,119,158,196,219,87,54,161,136,227,145,84,225,162,84,36,64,87,190,27,45,43,103,96,231,255,123,197,146,240,132,155,122,88,186,10,159,23,161,113,152,242,19,180,175,156,101,158,154,52,248,199,118,152,161,99,135,16,120,234,41,56,150,116,113,210, +42,0,89,174,164,156,2,98,42,60,58,140,158,166,246,112,227,6,120,215,190,23,190,127,251,28,220,45,205,112,22,199,82,243,10,248,5,250,10,226,147,43,151,164,128,176,73,24,53,22,26,161,0,156,57,90,9,171,57,172,78,97,55,27,251,93,242,3,201,40,23,229,10,151, +212,0,216,87,179,178,155,147,86,231,93,146,100,19,251,65,173,231,73,32,218,74,174,163,26,220,55,177,155,166,249,85,226,243,231,52,3,100,194,4,3,43,224,144,27,13,149,133,244,38,168,197,127,187,103,22,206,252,238,10,252,234,238,57,120,43,67,17,191,234, +143,226,53,186,240,40,240,144,132,0,21,77,0,213,149,43,147,75,1,145,187,144,132,94,63,232,199,51,219,25,205,142,37,105,161,58,54,112,69,21,37,168,185,177,25,193,1,127,236,220,220,84,159,182,183,40,207,28,43,24,228,170,118,118,131,17,74,147,22,0,98,51, +50,176,103,63,130,255,240,19,56,26,9,68,242,57,207,149,212,80,64,243,70,47,78,192,232,40,189,139,14,157,68,193,251,86,161,234,200,122,148,126,234,79,225,157,55,223,2,127,9,98,154,164,211,36,122,95,106,136,119,233,90,132,77,194,40,97,149,173,21,184,244, +213,147,251,139,48,91,216,173,167,216,88,126,177,39,94,82,0,120,240,65,107,21,82,146,184,89,66,98,102,139,44,221,135,24,252,199,100,59,204,108,83,178,240,233,26,31,101,156,147,64,160,245,106,135,32,46,101,204,244,178,34,47,110,93,88,143,47,223,63,15, +3,31,95,133,255,188,169,11,239,172,43,53,71,2,167,40,8,108,103,70,181,62,254,85,209,49,193,37,39,68,22,246,123,170,53,201,195,241,233,37,173,215,237,62,101,154,110,14,213,146,232,132,128,86,150,242,69,213,37,152,113,199,92,140,109,227,49,64,154,147,76, +72,11,225,164,107,106,243,178,25,73,244,100,220,173,154,192,156,203,145,129,94,4,158,123,26,232,98,192,175,16,65,42,87,146,167,0,233,106,118,242,212,216,128,177,41,56,121,80,112,239,18,84,62,254,77,148,126,242,79,224,106,108,132,211,167,115,126,142,129, +25,7,114,3,49,151,92,153,48,5,132,81,194,170,76,115,82,13,27,95,55,171,225,54,150,95,172,19,23,213,67,114,236,197,91,34,255,115,253,13,29,148,187,235,4,15,252,183,177,59,186,88,37,147,255,157,147,17,241,252,232,170,186,105,242,31,53,197,159,96,6,62,182, +131,210,184,73,252,211,119,138,51,160,215,125,203,27,241,182,21,141,232,101,108,129,159,111,58,142,245,251,123,176,185,127,20,175,208,186,58,68,97,160,145,121,220,171,104,51,192,187,16,228,68,200,237,187,82,55,33,52,30,13,164,237,227,39,134,240,210,174, +211,88,49,179,210,8,107,18,220,18,47,214,189,101,117,149,40,191,161,22,99,131,195,52,222,78,95,162,32,229,35,240,53,20,163,243,166,185,166,11,73,239,254,5,60,164,71,232,56,195,39,127,233,187,112,172,90,74,31,87,43,151,66,226,52,186,202,239,52,177,24, +200,192,123,233,49,52,52,12,103,87,29,60,55,204,71,209,187,223,5,87,91,231,57,226,136,246,42,73,205,71,171,138,196,223,213,134,113,235,129,225,118,197,195,34,163,125,8,31,121,9,209,193,83,8,247,29,69,52,56,198,191,199,152,92,136,145,8,5,88,158,34,228, +149,212,240,175,15,121,101,141,112,148,212,81,160,89,97,217,46,40,83,172,94,118,137,205,49,251,159,169,252,43,140,114,31,208,113,149,158,151,25,238,201,225,51,61,100,3,234,132,225,127,176,250,153,125,34,145,190,191,176,175,23,21,0,30,84,16,65,172,141, +134,156,121,55,241,67,62,5,69,67,227,11,111,78,199,191,21,89,41,204,132,210,45,197,111,161,33,220,69,155,155,142,102,76,201,103,152,101,52,110,45,169,19,246,218,174,96,110,130,15,172,110,53,175,237,76,91,251,226,158,30,108,57,222,135,167,186,41,12,40, +232,144,51,138,89,220,217,149,144,121,40,184,148,132,1,254,201,149,36,40,32,250,85,80,0,216,72,181,235,203,7,122,140,0,96,150,228,5,99,20,207,35,44,85,95,148,49,1,106,209,124,235,12,108,253,135,23,225,155,89,194,116,193,105,96,62,108,119,148,209,42,59, +214,88,224,31,79,187,47,122,173,216,150,206,154,253,163,24,91,255,4,34,238,122,174,126,50,211,55,176,173,139,222,157,251,114,60,5,52,167,4,252,114,229,99,48,49,244,156,70,222,141,243,224,94,50,7,133,119,191,25,238,153,114,19,191,160,216,204,225,130,175, +211,242,79,141,189,74,172,13,209,224,40,34,131,61,8,31,120,10,161,67,207,33,212,187,143,63,234,92,157,29,51,215,168,131,122,89,37,26,26,68,104,228,24,255,17,69,240,160,234,162,126,45,60,2,119,205,2,10,57,171,145,215,122,61,156,133,229,112,184,233,129, +163,251,47,120,94,172,154,164,255,228,57,243,208,88,184,6,71,134,182,51,106,43,105,159,1,174,201,174,233,204,92,37,95,24,206,191,251,108,76,55,223,142,123,187,56,162,174,91,39,241,37,66,141,209,26,167,203,225,98,146,129,113,183,164,247,163,131,68,244, +135,15,98,70,249,239,211,86,133,254,167,185,146,114,10,204,105,42,129,94,26,229,23,118,246,224,181,195,189,216,206,160,53,15,157,24,198,78,186,119,161,32,15,203,41,12,104,205,216,1,135,50,55,35,82,222,253,180,86,104,88,22,223,54,28,31,196,137,62,63,234, +202,148,46,55,198,211,18,108,137,212,240,114,9,172,108,171,133,183,74,62,248,4,127,61,40,13,131,228,98,56,216,246,27,102,38,216,242,139,223,22,58,125,26,254,135,30,134,115,97,13,133,129,156,241,223,197,169,116,153,111,229,13,98,128,159,59,254,205,123, +224,122,239,53,240,220,246,78,20,222,120,3,242,90,98,71,53,201,78,186,203,60,62,190,159,56,73,77,91,4,57,252,24,24,66,184,231,32,2,91,127,128,208,193,159,115,10,87,192,225,226,177,68,158,2,219,141,159,208,227,63,155,91,99,111,102,133,153,207,14,87,17, +66,103,142,34,120,234,235,100,108,159,135,167,243,157,112,205,188,11,174,154,25,112,120,139,173,235,181,187,29,175,29,24,95,85,2,159,93,78,174,135,210,213,216,55,240,52,124,174,102,118,141,252,51,3,69,60,33,143,216,29,9,69,215,240,241,223,64,12,211,47, +108,202,69,5,128,185,107,170,13,117,249,182,44,79,145,230,66,178,29,31,39,110,93,88,203,36,254,155,14,108,212,0,236,67,83,233,98,54,192,154,36,147,248,184,171,178,106,173,63,157,71,107,233,92,59,171,202,188,250,134,67,120,231,161,94,236,164,86,96,253, +225,65,252,235,17,238,34,168,21,152,77,97,160,156,115,98,140,235,102,140,147,204,18,52,175,74,178,37,212,105,197,211,90,72,97,234,95,41,92,189,157,182,0,247,44,111,54,6,156,121,230,216,37,161,42,201,191,44,166,87,63,167,25,213,55,52,225,216,19,251,225, +173,102,172,12,179,108,19,171,243,74,119,233,153,33,106,50,58,110,159,143,194,138,24,51,189,210,77,87,250,93,59,179,112,16,254,77,27,16,122,172,31,206,187,152,212,108,68,172,39,87,38,68,1,30,241,57,242,189,136,28,236,35,240,31,132,251,195,43,225,249, +163,119,161,96,229,82,184,218,45,33,205,68,87,20,157,205,46,122,66,181,78,222,69,204,148,201,88,209,166,45,209,0,119,240,39,247,33,180,251,49,4,118,255,63,122,38,204,36,72,119,209,167,77,26,32,113,153,137,114,154,113,243,69,199,7,4,119,135,151,177,83, +28,53,8,28,120,137,117,127,19,238,246,247,50,132,241,125,60,34,160,22,68,214,250,41,20,2,100,253,223,86,113,29,133,151,29,228,167,29,108,119,102,4,0,62,56,74,236,118,16,187,151,105,0,109,76,215,231,241,133,189,63,191,172,141,174,117,126,204,241,79,145, +191,123,97,245,194,72,212,241,17,30,28,20,201,194,156,197,226,50,231,95,62,169,255,18,224,71,248,95,5,39,194,242,198,223,160,7,64,122,3,0,153,94,19,29,245,87,62,220,230,63,253,219,126,217,223,153,43,44,82,36,125,6,58,169,20,189,120,229,22,63,160,221, +42,63,88,222,4,128,143,32,213,82,93,136,37,76,78,180,184,161,20,239,233,40,195,60,175,11,187,251,131,120,145,49,6,78,80,24,232,32,195,41,32,16,112,153,77,120,121,94,188,5,87,215,183,94,210,236,4,147,60,205,203,119,98,5,195,219,122,104,119,161,57,150, +232,2,51,227,198,184,251,238,2,15,134,207,12,225,228,179,135,184,97,162,108,111,38,240,228,208,86,137,127,194,156,11,203,63,118,51,5,128,162,228,31,194,53,37,80,138,48,179,220,224,131,255,157,198,18,4,255,96,78,253,63,33,194,202,135,223,71,222,200,117, +25,121,226,121,120,222,115,45,138,254,250,19,40,188,239,110,20,92,127,35,156,229,149,20,6,195,6,243,77,116,197,76,131,191,1,116,246,204,196,19,160,237,209,209,45,8,108,249,49,252,47,126,22,225,51,61,112,248,8,254,18,106,163,50,254,76,197,36,166,240,64, +97,192,145,231,161,48,208,138,112,239,110,30,45,60,204,234,11,144,87,74,187,1,105,3,98,243,111,66,244,190,196,69,194,7,89,255,107,61,238,235,221,68,205,117,48,182,166,83,209,135,75,60,244,50,95,179,29,14,242,243,200,157,191,211,242,216,111,55,255,226, +132,176,125,221,131,235,206,107,204,27,53,0,49,85,65,40,234,80,150,135,18,1,130,24,211,121,119,93,230,161,169,252,73,234,255,177,208,73,204,175,124,63,3,223,88,234,255,68,153,100,60,237,50,0,207,27,244,44,13,166,245,204,216,147,175,208,0,219,2,223,190, +55,158,231,102,195,181,242,38,80,209,122,80,95,196,43,218,106,10,205,107,126,91,37,238,89,60,130,35,52,38,250,249,214,83,248,18,35,16,202,66,123,78,161,7,101,220,193,142,112,157,201,86,32,19,115,37,27,104,55,209,54,248,185,166,230,50,143,195,87,247,15, +224,77,7,122,105,11,80,101,105,1,98,180,159,104,61,227,175,179,181,0,77,11,219,177,127,209,118,12,237,63,3,23,237,60,164,10,76,117,209,179,34,84,205,215,172,104,65,57,227,78,152,162,199,92,97,109,92,182,29,49,80,10,110,221,204,192,63,199,224,184,169, +153,115,43,245,109,191,108,27,166,218,143,58,227,247,48,185,148,114,131,252,234,69,120,62,249,102,228,127,225,227,240,206,157,131,188,154,122,171,55,102,252,185,142,179,193,135,95,76,69,220,33,166,114,15,29,221,204,243,250,77,8,237,251,79,68,70,6,224, +40,144,150,151,66,31,207,238,39,165,72,35,192,186,29,222,82,242,183,114,248,95,249,50,194,39,95,133,119,9,141,33,155,24,95,70,237,139,205,195,68,158,111,79,127,97,85,91,201,109,216,120,234,91,140,11,80,203,106,211,175,5,80,91,98,27,247,146,24,150,111, +185,216,49,192,27,5,128,238,110,206,42,150,40,150,231,185,29,5,177,28,0,118,223,204,79,233,122,115,194,131,209,240,22,180,148,94,203,221,63,207,129,76,153,188,166,140,151,224,244,148,48,39,196,129,190,110,28,26,236,69,63,13,147,130,84,89,245,241,239, +72,40,96,92,238,202,189,62,184,169,194,242,242,188,173,161,168,12,245,133,37,12,85,28,99,136,188,95,130,132,213,100,91,136,176,254,57,21,222,181,14,242,98,139,65,253,16,31,41,164,86,96,70,125,177,121,45,106,171,192,71,7,199,176,249,80,63,254,125,243, +9,252,232,228,32,124,60,30,232,228,110,68,202,58,241,238,88,239,167,66,119,211,218,70,105,76,20,157,113,27,253,246,183,243,136,101,57,19,250,152,72,143,252,62,209,217,45,65,85,96,95,222,82,137,74,250,228,15,108,239,69,52,5,27,243,139,17,198,193,252,20, +163,219,7,48,255,47,151,193,165,152,241,42,137,54,220,186,219,122,231,46,117,228,63,190,13,199,242,58,107,247,63,254,183,220,231,115,20,16,173,9,232,81,122,242,224,241,125,240,252,225,117,240,253,211,103,225,110,110,70,94,5,243,37,168,196,128,223,218, +101,167,98,112,172,106,19,126,63,171,102,151,135,199,22,4,247,188,128,208,225,95,211,221,115,39,143,45,184,227,47,224,100,141,164,201,219,35,98,185,149,58,138,230,32,116,226,21,68,158,218,205,104,135,191,7,119,215,26,50,45,114,175,132,109,2,44,58,11, +171,132,89,207,28,255,52,10,93,119,145,31,166,95,0,32,239,117,232,8,48,134,225,242,159,255,55,216,216,62,110,16,223,32,0,212,119,228,91,124,59,234,152,235,33,195,31,13,154,0,220,111,56,42,24,87,199,36,125,180,124,22,24,228,14,21,190,70,243,12,1,145,24, +221,100,21,193,244,40,119,180,175,118,31,198,11,39,15,98,239,112,31,246,7,70,240,76,96,20,3,225,216,89,84,132,127,117,118,37,142,39,173,132,218,195,9,179,192,157,143,78,183,23,93,5,4,200,162,10,44,170,168,199,202,250,246,201,106,106,90,235,21,205,117, +68,45,121,198,18,146,128,50,237,250,249,106,169,41,193,109,243,107,241,55,103,70,241,147,77,39,240,87,59,187,49,68,250,212,242,6,69,190,147,91,186,36,74,77,42,107,98,165,181,233,89,251,48,105,1,90,40,48,125,107,219,105,92,63,179,22,157,20,172,82,53,191, +235,231,180,224,104,249,62,68,232,214,105,107,6,82,69,8,213,23,230,217,191,2,15,149,213,243,108,149,37,85,237,14,30,218,135,192,51,251,141,58,219,2,176,84,181,122,26,212,35,62,163,5,200,184,15,10,188,132,222,51,200,127,255,245,40,248,63,15,194,221,218, +6,103,145,140,228,88,204,34,35,136,25,245,58,239,201,150,66,30,25,62,189,23,254,205,63,229,174,123,19,45,252,121,70,206,228,57,142,66,122,144,72,213,31,73,63,72,34,60,70,225,131,174,184,254,49,140,61,247,121,67,60,119,215,205,22,157,69,239,4,138,189, +22,132,89,194,46,51,28,70,58,182,62,37,80,101,50,183,132,137,225,121,163,129,168,113,211,57,139,237,227,106,60,79,0,88,187,22,206,143,44,219,24,252,202,115,111,169,136,96,172,210,36,21,0,3,208,167,68,188,31,247,212,9,124,148,49,69,32,50,136,70,223,123, +144,47,215,141,20,23,13,199,248,33,62,49,220,143,159,236,127,13,191,236,57,140,141,204,63,126,40,36,255,82,45,36,146,136,147,183,132,59,125,55,221,80,10,93,30,254,181,132,147,17,14,175,180,4,188,18,175,241,250,215,40,40,96,168,23,56,125,24,51,142,238, +192,162,29,207,99,101,89,29,174,169,172,199,242,218,86,148,82,99,112,177,114,97,91,46,118,77,54,124,167,53,97,235,50,196,139,52,189,105,103,130,98,159,7,179,248,250,253,218,98,124,242,45,157,120,124,203,9,60,74,65,224,225,147,3,56,69,89,105,136,23,183, +80,32,40,225,181,186,77,182,105,230,246,108,232,84,134,218,192,208,249,104,164,181,246,227,167,134,25,182,121,208,8,0,227,231,99,34,205,18,56,139,1,117,220,48,27,59,126,249,42,250,182,116,35,175,248,44,23,74,164,202,55,220,227,228,238,127,228,245,1,44, +254,237,27,80,80,98,205,231,84,9,229,35,63,255,169,1,55,37,22,204,21,82,64,19,66,64,206,5,19,29,208,238,152,2,29,237,45,242,111,157,137,194,247,126,0,238,14,26,246,217,64,101,104,198,55,243,111,75,137,155,49,26,138,57,216,237,98,35,162,195,61,60,227, +255,17,2,251,159,69,116,228,160,177,232,119,228,119,152,254,100,4,248,199,19,134,27,58,7,121,122,52,76,195,230,231,190,192,95,184,105,49,154,128,243,251,48,254,150,137,124,22,102,9,187,78,142,30,37,143,228,49,141,140,25,211,94,162,142,88,98,160,74,97, +250,71,150,253,178,87,24,207,23,129,205,42,228,14,227,202,77,107,56,115,214,81,198,28,89,30,141,58,235,67,244,241,53,3,105,38,215,184,235,210,240,145,161,127,104,68,177,13,141,69,15,192,231,182,164,219,113,115,42,169,22,216,82,154,42,233,25,29,196,183, +118,191,130,63,56,182,203,2,252,216,228,173,224,238,94,145,219,36,108,135,8,87,162,152,128,126,148,191,235,63,21,45,51,173,81,189,202,40,36,184,168,150,147,170,100,148,191,239,165,1,200,222,160,31,255,57,58,0,156,216,141,37,59,61,184,174,176,2,183,213, +182,225,134,134,25,40,241,228,83,237,235,228,206,154,86,170,188,199,46,106,155,104,62,254,59,251,183,108,250,107,141,133,213,74,123,189,123,100,140,196,114,215,210,70,220,121,77,35,254,128,224,246,196,214,19,120,114,255,105,108,27,14,224,213,17,46,2, +230,35,152,71,163,55,183,161,237,185,144,196,217,212,183,116,181,69,158,20,240,57,241,203,237,61,184,166,189,10,21,197,100,68,214,240,39,221,132,198,37,29,232,103,189,177,169,154,116,125,170,64,2,70,136,103,255,165,11,170,81,59,171,201,76,124,227,130, +200,239,147,45,145,129,51,24,251,197,70,158,207,74,96,177,214,87,178,117,78,217,251,181,184,180,150,200,127,163,71,251,169,30,103,180,197,217,173,240,94,63,15,69,247,190,21,121,77,237,231,119,237,236,164,73,126,28,206,175,56,206,127,217,234,115,195,28, +200,37,71,250,17,120,237,7,180,188,127,130,130,93,63,43,35,119,116,87,243,47,199,55,35,128,120,137,254,168,221,114,155,12,23,97,236,217,191,38,99,231,102,111,198,106,182,81,248,103,241,180,75,220,249,134,175,45,190,200,101,77,204,106,44,186,30,135,134, +62,7,143,115,33,13,165,51,32,0,176,49,194,112,78,143,250,136,99,68,199,0,191,68,12,227,237,134,159,47,0,212,88,231,255,156,110,215,208,135,176,90,254,255,156,82,25,17,200,29,14,55,3,208,28,71,67,241,98,26,0,250,216,137,212,168,255,237,122,164,234,127, +241,248,62,220,190,237,25,99,173,233,228,160,123,56,216,94,118,88,124,153,102,53,6,236,109,66,93,236,175,174,179,139,134,215,31,227,182,90,134,197,172,43,143,70,58,58,109,146,236,190,137,207,219,212,127,2,255,216,119,28,216,241,44,222,81,92,133,183,213, +182,99,101,77,11,106,124,37,212,114,120,56,81,232,198,19,155,65,103,141,9,249,239,12,47,107,182,254,242,197,158,244,227,175,210,119,29,181,133,124,205,192,7,195,29,120,126,87,15,94,216,211,141,77,167,134,240,221,211,164,46,143,84,218,152,182,184,154, +140,78,129,134,148,182,248,106,99,251,163,60,6,88,197,164,64,95,222,125,26,191,117,102,216,18,0,72,133,100,70,220,158,63,93,55,207,195,238,71,104,80,55,68,75,100,157,223,164,160,200,242,63,112,96,24,157,31,89,136,146,90,90,233,179,216,207,75,184,250, +24,147,29,230,238,31,167,152,184,170,216,182,245,73,184,198,169,123,163,4,41,55,89,50,249,110,244,245,19,204,129,224,134,235,166,121,200,191,241,26,20,222,121,23,28,165,214,145,203,27,58,120,177,5,248,134,139,38,241,11,27,40,5,150,4,246,200,8,93,250, +182,255,12,99,91,191,39,227,123,98,168,135,160,42,45,174,230,225,120,174,57,137,109,138,183,234,152,16,16,9,230,211,13,245,155,244,14,168,131,179,170,43,1,33,192,210,194,9,179,132,93,254,99,199,81,226,88,202,122,132,40,233,45,4,110,186,1,154,120,0,213, +225,176,147,86,142,20,0,98,24,111,183,228,124,1,0,58,42,216,170,97,234,204,47,116,97,100,32,40,91,174,11,174,177,111,157,188,191,38,250,31,13,53,202,61,205,40,201,183,141,234,4,15,201,49,50,27,252,79,82,221,255,181,237,207,227,175,143,239,65,61,207,238, +199,8,188,2,105,213,158,138,147,40,181,84,2,129,45,243,121,85,55,23,41,225,157,66,6,195,51,209,187,225,135,180,47,248,225,158,151,141,48,112,15,39,219,91,121,68,112,77,121,3,39,77,25,202,152,119,91,134,133,118,9,115,114,10,20,180,206,147,1,7,187,190, +116,254,213,230,196,69,0,90,61,167,218,188,142,244,140,208,255,189,27,91,79,12,224,39,140,47,240,50,45,152,125,190,60,204,143,165,178,29,162,186,83,22,22,87,67,209,60,49,125,117,69,177,158,66,64,123,125,41,5,193,228,92,2,109,186,249,202,11,81,53,171, +30,199,95,62,152,26,1,128,115,79,25,57,221,133,249,104,88,216,66,243,23,26,123,82,87,232,52,103,205,246,83,19,249,75,134,25,24,67,224,165,109,252,27,179,89,48,6,108,137,212,53,69,239,49,214,252,92,239,220,45,68,159,63,12,71,91,4,158,223,185,29,222,85, +75,232,195,191,130,110,124,12,136,164,162,197,148,105,176,183,90,98,189,11,52,201,145,204,46,89,192,79,99,233,208,190,167,225,127,245,127,33,18,148,255,61,131,248,228,233,26,205,116,21,251,175,245,175,172,123,151,171,160,167,132,174,136,123,49,246,234, +15,80,176,250,227,236,131,92,4,217,135,184,52,1,234,39,143,60,137,93,194,176,48,177,76,152,150,238,168,41,154,45,108,72,136,88,238,34,150,119,90,244,182,48,222,166,253,89,148,177,54,216,15,5,215,62,185,134,223,69,26,141,42,218,190,42,205,127,29,36,118, +32,60,64,171,250,91,224,243,164,102,71,64,119,72,90,238,59,177,189,231,24,62,186,229,9,60,77,183,147,46,79,1,142,241,251,216,52,158,212,94,106,74,216,66,193,48,137,93,206,133,92,196,179,167,66,10,32,143,141,13,224,225,189,27,137,6,47,98,37,13,8,127,187, +110,6,22,150,215,163,178,160,144,2,65,57,35,74,81,130,142,149,48,153,174,132,9,243,178,191,204,226,191,54,191,18,239,146,86,163,169,202,135,119,86,181,226,30,138,150,119,31,236,197,238,227,180,189,216,213,139,239,49,50,158,24,196,242,98,90,90,240,166, +97,14,138,180,2,211,189,12,83,224,89,202,164,77,159,218,124,18,247,92,211,128,250,114,158,171,171,219,90,186,73,150,89,119,47,198,177,231,246,147,137,37,159,27,192,201,221,255,232,225,97,204,120,247,2,84,183,91,46,102,73,239,254,57,151,117,198,61,250, +228,99,8,189,180,5,142,242,152,63,118,146,253,158,50,183,11,248,25,187,33,58,24,68,244,57,198,110,88,16,133,247,193,119,193,187,226,26,120,231,207,99,70,62,75,203,34,195,63,75,250,79,193,164,72,5,113,4,136,154,163,49,225,47,210,123,24,193,195,155,120, +206,255,79,220,253,15,241,200,162,133,115,78,215,216,91,160,84,60,52,77,117,208,24,209,81,208,72,65,230,251,8,181,92,199,144,201,55,169,163,9,61,92,216,85,93,112,11,142,15,239,50,89,108,37,64,103,162,88,88,30,109,20,182,175,157,247,144,60,181,181,116, +13,115,61,43,0,60,240,208,253,236,229,67,225,98,87,168,131,74,131,250,176,206,255,83,194,134,226,239,178,131,74,135,64,100,15,170,10,24,190,210,27,91,4,54,146,196,95,29,109,104,34,230,172,93,224,255,214,87,126,137,221,52,216,235,160,197,254,97,126,159, +137,37,165,103,74,33,164,176,186,61,148,58,75,40,152,148,208,104,36,159,234,129,93,180,27,248,240,190,87,136,150,65,212,251,202,240,199,213,237,88,76,143,130,134,194,82,204,168,168,165,219,225,185,201,104,11,3,201,37,147,73,128,160,9,220,162,225,19,176, +11,211,37,8,120,105,11,176,116,70,165,121,173,236,170,197,199,123,135,240,202,161,62,252,222,150,83,36,140,159,158,20,110,212,49,208,208,48,119,131,138,56,104,102,107,2,207,205,246,91,164,1,208,248,13,176,207,202,201,80,87,230,51,188,62,21,237,174,155, +213,136,194,134,50,140,245,43,59,89,114,69,35,144,71,173,84,221,252,102,6,28,114,211,17,134,2,181,0,44,153,162,73,65,144,240,191,182,27,209,147,180,200,110,167,0,192,122,167,125,209,145,140,151,66,253,104,24,145,135,183,192,117,95,59,188,255,244,91,240, +46,93,10,79,71,7,3,225,144,14,42,54,240,143,91,243,214,15,25,122,55,192,207,149,72,141,169,24,103,164,103,47,130,71,182,33,184,253,155,76,204,179,155,22,253,243,216,118,106,108,51,97,209,159,74,146,68,104,237,229,153,201,163,128,255,141,188,218,46,56, +75,27,56,79,217,111,205,215,137,148,216,117,194,174,170,130,133,56,56,248,8,53,186,210,192,103,68,32,114,88,88,238,168,23,182,179,17,187,136,245,28,192,135,44,229,163,221,159,121,213,221,142,135,248,143,176,211,217,198,110,210,0,80,29,230,127,25,224, +188,18,0,252,145,110,158,141,207,38,225,138,9,24,214,238,221,110,107,60,127,5,54,50,180,219,70,240,191,95,224,31,14,160,157,6,126,218,249,79,112,56,227,121,92,66,215,202,74,126,136,132,150,177,69,17,91,213,69,111,129,2,254,61,70,191,232,63,58,252,26, +243,117,111,198,13,133,149,120,91,101,19,102,150,84,82,51,82,138,133,213,77,38,6,129,30,40,9,79,195,164,121,151,237,71,4,106,163,17,4,216,94,59,200,84,59,109,5,244,90,210,81,133,59,22,212,225,245,195,253,248,238,235,221,248,254,145,62,184,120,20,181, +132,59,88,157,69,77,215,208,195,35,20,112,186,24,24,232,27,47,31,53,97,152,11,60,103,229,114,13,111,82,101,206,59,150,224,165,47,63,14,111,13,115,4,88,66,125,220,245,233,236,223,127,98,20,13,183,181,163,105,94,155,185,63,105,213,127,108,247,31,216,188, +9,193,103,120,20,86,83,102,49,217,184,91,55,133,110,208,25,191,2,247,140,18,8,30,223,14,215,253,29,40,250,25,141,196,230,207,135,187,190,142,191,89,222,78,38,106,159,64,63,107,128,63,6,2,228,163,98,154,145,211,123,104,11,178,5,161,189,116,233,59,253, +60,65,159,1,124,138,231,19,60,8,156,2,202,169,94,36,232,184,188,230,40,32,176,103,61,242,23,191,141,76,235,156,22,246,74,221,19,15,22,102,9,187,132,97,194,178,146,244,159,164,91,205,100,99,132,229,28,149,250,8,177,157,95,238,178,177,94,23,156,229,52, +245,197,131,28,90,49,103,180,51,1,144,12,0,53,146,230,59,125,159,190,66,63,99,250,133,82,19,124,193,249,127,252,45,16,248,107,119,181,173,231,40,30,216,244,24,182,105,231,79,240,63,42,129,34,254,234,38,253,14,17,124,144,67,53,72,64,16,225,185,23,68,39, +213,72,154,122,207,40,30,193,33,10,3,100,10,75,243,139,241,230,146,106,44,100,24,203,89,60,31,92,66,67,66,123,160,98,162,192,217,127,79,122,163,19,124,128,218,171,224,55,42,26,39,205,54,133,31,238,100,216,225,14,158,133,223,48,187,6,159,237,27,193,127, +108,56,134,207,49,65,17,242,148,157,208,37,39,130,105,231,70,40,225,166,152,227,250,45,186,77,126,150,73,152,102,53,150,26,186,36,251,38,171,253,150,101,51,176,111,201,14,156,217,125,2,121,249,4,159,120,119,216,164,119,132,153,5,61,165,94,116,220,56, +7,222,146,252,148,156,253,219,204,101,244,213,29,136,252,100,27,28,204,41,0,127,42,44,112,146,165,218,36,220,47,169,151,99,97,128,127,227,49,184,223,61,27,190,207,253,61,147,211,204,68,94,53,3,247,40,30,189,138,226,139,16,100,179,34,106,159,213,162,243, +118,190,97,6,240,9,80,59,25,62,254,2,19,246,60,77,45,198,44,2,63,141,203,181,227,167,79,253,180,42,20,102,28,133,157,8,110,251,87,120,230,222,65,27,70,114,97,49,41,141,229,132,138,102,184,133,97,194,50,97,154,5,167,214,247,230,199,116,188,17,74,232,10, +24,117,9,211,195,142,14,61,210,198,122,125,62,43,0,232,31,42,108,94,91,1,91,60,212,199,160,220,81,131,61,214,15,105,122,151,177,68,40,58,130,50,207,221,40,100,142,103,149,68,118,181,54,248,31,31,234,199,159,188,254,52,182,210,208,168,139,103,233,7,9, +254,177,229,150,166,30,37,246,24,77,147,97,14,128,236,5,36,172,212,144,73,20,123,11,105,52,22,197,70,230,194,222,120,114,47,208,125,0,43,249,221,74,166,185,188,166,172,22,43,107,91,48,155,199,5,83,173,152,35,12,174,43,173,47,105,51,20,142,184,170,52, +223,188,58,41,12,252,222,173,1,60,67,33,224,235,155,142,227,151,67,163,168,230,239,133,188,222,203,197,168,177,148,210,56,205,203,42,229,36,246,179,223,165,244,177,255,1,1,226,79,235,75,12,13,82,241,144,252,146,2,44,255,240,77,88,247,231,63,65,144,199, +75,78,87,28,246,0,226,117,36,108,168,47,136,89,239,91,130,246,85,51,99,227,147,164,248,204,221,191,98,210,7,247,239,66,224,169,245,192,210,54,114,200,140,168,71,83,65,226,55,214,33,186,9,40,40,200,35,200,21,59,70,95,115,90,248,121,239,92,140,194,175, +63,200,196,60,157,4,148,124,93,100,221,123,86,213,159,133,156,137,253,8,159,218,1,255,214,71,9,252,140,154,55,200,77,136,171,145,224,184,152,115,131,99,54,221,128,255,188,209,228,17,205,88,0,225,253,207,192,57,247,118,14,215,196,231,189,141,89,194,48, +97,89,127,128,218,76,7,237,61,210,111,226,172,73,22,240,149,186,61,67,61,254,90,117,207,127,170,230,108,71,204,12,36,239,49,70,1,255,188,97,169,123,48,88,244,77,95,177,235,221,35,3,244,91,163,83,138,110,72,103,113,146,72,195,161,221,152,93,246,126,220, +57,243,247,105,4,200,68,22,252,207,38,232,68,218,34,16,81,135,20,178,247,239,95,91,143,63,59,186,29,179,61,62,28,160,132,29,91,114,19,169,38,43,175,17,139,240,178,23,2,64,197,36,232,22,243,80,116,66,158,203,205,165,218,106,149,175,20,171,43,27,112,107, +227,76,52,151,84,188,129,118,198,32,132,180,201,118,58,176,107,134,63,218,237,20,47,245,147,153,238,56,58,128,31,110,60,130,159,211,63,122,27,35,221,5,248,67,7,213,2,133,20,10,116,168,165,235,116,235,84,44,234,171,102,250,243,31,90,129,114,198,241,79, +73,17,33,57,222,221,123,143,99,253,231,127,129,177,190,97,56,169,105,177,207,239,205,124,56,239,65,156,27,100,15,10,35,26,150,170,154,255,207,120,251,2,172,252,224,26,235,42,17,215,30,148,243,238,155,248,63,140,138,155,49,51,134,127,245,43,12,190,249, +67,112,220,185,154,147,121,26,236,32,57,7,13,240,203,247,154,73,153,28,94,18,178,170,4,5,247,172,130,239,174,123,144,215,216,118,254,238,222,140,141,232,150,36,65,39,78,250,203,92,249,198,129,13,159,222,71,139,254,31,16,248,55,35,234,63,73,30,67,3,85, +19,146,157,43,77,106,242,233,94,184,110,100,135,225,226,209,171,239,142,47,154,99,129,137,118,217,198,172,145,192,105,60,178,235,239,176,163,239,91,12,34,215,69,254,148,17,45,87,208,87,226,114,19,211,191,59,228,119,252,198,218,155,215,73,191,111,48,223, +104,0,30,196,90,246,116,109,116,208,79,107,7,71,184,53,164,48,101,218,120,102,96,94,106,79,23,140,28,64,153,183,195,2,127,78,52,121,5,196,83,212,51,149,231,143,237,195,159,29,217,138,57,84,163,31,154,6,224,175,62,9,228,20,129,80,89,82,37,12,148,115,39, +229,113,122,209,207,239,182,209,190,97,219,192,41,252,203,96,55,112,240,53,188,187,176,12,247,215,119,97,77,99,39,138,121,190,232,38,211,181,105,163,186,178,89,24,136,13,161,154,201,158,25,13,42,13,166,243,152,157,176,220,188,62,116,114,24,191,162,175, +244,19,7,122,240,236,64,0,175,209,160,170,140,113,135,91,121,94,45,38,172,80,187,186,111,170,149,125,180,251,120,242,245,147,120,251,170,230,212,52,157,180,208,56,87,207,168,199,45,15,222,135,87,190,251,28,122,54,31,65,160,91,97,80,157,112,50,22,195, +120,90,203,78,32,60,24,134,139,54,9,69,29,229,232,124,211,2,204,189,125,145,213,22,17,52,89,158,160,221,63,231,97,248,196,17,248,31,121,24,88,204,186,205,94,35,53,221,205,72,45,102,206,209,205,75,177,249,79,158,129,163,222,7,215,117,60,46,89,67,255,253, +187,222,122,46,76,175,221,184,152,80,118,30,225,237,223,210,253,87,109,81,137,77,130,40,143,73,195,50,238,219,254,115,38,234,121,150,139,143,18,160,56,141,75,238,216,188,214,168,178,117,195,85,80,68,27,70,241,11,158,216,140,200,112,47,141,1,39,174,93, +213,22,75,86,255,218,192,10,203,132,105,14,204,206,12,209,136,229,6,211,129,182,34,143,179,145,141,56,104,99,190,17,0,230,62,180,213,44,107,135,35,84,65,193,160,38,204,115,66,205,135,216,212,72,107,163,165,186,167,139,49,74,243,45,235,127,75,146,154, +120,19,212,102,117,230,212,240,0,62,186,243,121,212,208,186,254,20,235,156,142,242,170,132,1,189,198,56,82,18,145,20,124,72,227,38,25,83,223,125,143,97,137,191,71,26,96,247,139,248,4,221,10,239,111,158,131,57,229,117,40,96,208,161,66,122,65,216,194,128, +104,174,146,173,222,4,102,114,154,22,158,123,107,163,209,224,239,48,200,208,111,208,176,245,201,215,142,227,133,125,61,120,254,212,8,30,83,102,52,166,42,94,38,75,117,94,46,213,186,206,216,167,74,145,241,231,143,183,157,192,125,43,155,117,108,156,146, +98,68,125,210,161,172,169,2,107,254,224,78,28,218,176,23,135,55,237,69,31,51,17,250,187,41,78,218,198,129,124,94,65,117,62,10,155,139,81,221,217,136,217,183,45,132,183,88,170,234,88,73,81,123,84,91,96,255,33,4,254,238,103,112,220,117,221,212,220,253, +139,22,244,82,129,139,118,21,199,7,128,195,61,112,174,106,132,235,246,55,49,177,204,124,248,110,187,131,184,121,9,5,234,120,137,43,70,218,180,255,49,59,120,118,194,6,126,218,24,133,79,31,64,96,243,183,17,60,244,20,227,244,19,240,9,126,140,147,27,107, +218,116,228,160,19,161,58,251,205,32,70,225,163,27,40,0,220,51,145,27,206,94,99,99,151,176,76,152,102,243,217,179,23,164,233,131,134,88,152,206,82,35,140,231,223,131,54,230,155,209,221,70,15,0,253,26,113,56,154,104,137,222,193,12,128,98,153,194,148,52, +23,90,79,50,158,158,207,181,8,69,30,90,5,39,80,212,17,237,120,126,126,104,27,246,48,166,127,43,253,236,79,74,139,144,64,93,83,233,22,13,152,100,117,21,245,85,64,34,107,123,31,207,124,197,134,190,122,230,56,190,122,234,0,153,150,7,127,78,63,252,187,27, +103,49,101,101,37,202,25,107,192,14,58,36,186,81,121,105,84,63,182,112,192,91,179,182,168,189,114,39,188,125,73,131,121,189,118,176,31,175,29,58,141,245,7,207,224,127,31,26,36,33,162,88,192,157,108,57,45,91,135,168,17,144,99,75,182,151,114,174,186,141, +131,126,108,220,219,139,229,157,60,194,97,155,83,129,23,246,120,202,159,191,109,85,151,121,13,156,232,71,255,177,94,132,131,156,57,177,135,20,86,8,252,205,81,161,33,149,104,108,223,155,52,237,212,25,106,172,162,12,251,235,95,247,43,96,22,119,68,38,201, +86,210,53,167,175,2,73,101,242,210,224,145,91,244,0,35,23,110,221,130,188,15,190,5,158,223,189,23,249,215,204,135,119,225,53,20,10,98,6,99,169,26,188,84,246,78,192,175,117,192,113,80,137,142,156,166,181,251,113,238,248,127,130,192,158,239,177,111,51, +168,25,106,226,15,218,90,76,129,5,99,122,49,137,111,154,255,20,132,194,39,182,193,61,231,46,174,147,248,97,81,88,230,203,91,68,1,128,134,133,102,157,165,151,174,90,117,49,76,239,16,198,147,90,155,108,204,55,2,128,109,21,232,8,59,106,139,171,220,142,129, +94,127,128,42,140,20,29,66,78,124,112,164,54,9,69,70,104,236,214,73,13,64,165,185,81,223,197,91,122,199,134,241,91,7,95,71,35,119,185,221,87,1,248,95,138,62,90,194,131,154,192,252,91,67,134,85,74,131,65,125,254,28,5,129,207,29,219,137,235,139,43,241, +193,218,14,19,116,168,137,246,2,74,105,76,133,176,169,46,68,85,173,52,2,154,176,241,143,128,169,98,210,223,108,96,178,37,235,5,173,165,208,235,150,5,99,120,39,131,12,189,72,65,224,111,247,244,161,119,96,12,179,105,216,90,69,97,104,144,103,219,217,26, +118,88,108,65,25,20,183,209,234,254,113,106,1,44,1,32,133,0,28,27,17,129,186,94,37,117,165,230,117,225,64,233,55,241,126,121,17,216,52,190,240,154,100,254,29,100,120,84,255,183,31,133,131,62,239,83,198,242,95,180,200,167,17,87,132,155,148,151,142,194, +113,122,63,60,127,252,14,120,255,246,147,240,116,181,48,49,79,76,189,43,218,201,46,39,6,176,201,208,41,165,247,26,224,103,219,200,7,180,160,163,195,221,8,30,219,129,208,238,159,51,45,239,195,136,186,218,225,40,226,113,140,44,250,141,218,63,165,79,159, +194,149,153,133,128,16,143,69,226,5,127,155,115,10,203,10,221,157,76,37,127,152,57,80,10,185,180,88,103,122,11,183,66,209,64,73,133,215,51,216,19,52,210,189,141,249,18,0,28,31,94,186,49,244,17,53,200,25,109,54,18,127,122,27,55,238,105,76,25,25,237,69, +145,251,122,148,22,208,47,86,197,72,76,214,199,137,188,139,180,79,28,217,197,157,69,16,126,170,224,210,78,234,137,52,50,205,215,136,6,18,4,228,98,168,1,111,225,14,165,136,194,209,235,244,140,248,29,69,32,36,115,120,63,13,93,238,162,102,160,163,180,10, +109,101,85,168,97,90,99,187,40,144,146,17,6,178,84,20,176,143,46,36,8,136,255,214,149,229,243,213,128,21,76,179,123,247,194,1,108,61,218,135,175,189,122,10,207,118,15,161,169,196,133,6,170,110,165,13,80,44,254,172,155,31,49,105,107,107,207,16,206,48, +142,127,57,3,34,169,79,113,46,3,123,232,46,250,215,8,117,172,208,6,122,131,246,246,216,242,249,6,244,83,45,245,197,58,17,245,143,50,235,218,51,136,28,202,135,179,149,29,211,247,217,92,20,180,135,190,251,136,146,55,253,124,55,156,93,1,248,214,254,38,60, +203,87,193,211,214,204,64,49,58,82,101,81,63,244,18,240,167,114,176,172,218,19,127,55,244,101,187,180,115,101,87,34,103,14,16,248,247,32,124,240,137,24,240,51,240,80,225,53,84,150,209,230,123,90,91,244,39,78,66,14,42,34,163,167,233,1,113,146,209,25,207, +105,199,174,88,99,108,30,8,203,138,220,173,56,61,182,133,218,88,241,85,163,142,191,226,237,169,188,64,203,217,172,119,98,188,234,141,97,190,195,165,249,33,94,240,149,231,174,101,206,41,180,153,0,64,25,154,193,50,246,11,70,118,83,109,93,79,23,192,106, +170,76,226,15,0,164,142,254,203,145,157,70,210,149,177,92,174,156,79,1,29,19,72,43,210,67,210,20,113,224,103,230,23,25,161,224,91,3,61,248,86,207,33,186,24,20,226,227,76,97,124,83,101,51,133,129,74,44,172,105,166,251,10,153,7,139,0,86,244,157,140,93, +161,121,64,146,111,70,16,96,3,53,167,21,167,190,184,32,15,11,219,202,49,191,181,28,171,103,213,224,8,65,245,255,189,124,12,255,151,158,4,138,43,176,140,113,5,36,8,200,78,32,91,102,138,188,24,218,120,172,177,153,225,97,95,165,138,249,230,249,53,108,155, +232,46,202,167,182,156,3,250,212,215,125,169,150,134,251,7,224,255,209,79,225,188,142,6,85,126,130,78,182,22,1,191,155,192,79,79,136,232,211,7,145,183,42,15,190,135,254,8,222,37,75,224,174,171,37,104,90,25,74,141,71,131,24,125,182,1,191,102,180,97,238, +90,187,100,240,125,7,97,130,247,236,123,20,161,19,63,165,80,179,144,1,124,22,197,128,127,52,91,71,33,75,218,197,241,229,145,72,164,123,71,76,0,16,183,184,242,154,209,154,21,134,9,203,132,105,194,182,2,87,155,25,150,244,119,140,167,255,100,118,108,117, +155,176,222,225,120,94,78,100,14,215,131,15,154,158,68,93,33,87,81,192,21,173,141,88,22,83,87,238,221,36,244,192,36,27,161,69,123,121,1,131,99,152,18,63,91,222,217,203,92,244,126,134,62,213,152,77,66,27,167,75,149,162,141,209,10,112,98,203,155,160,145, +97,94,75,25,122,184,151,222,18,95,59,125,4,95,99,140,129,229,252,247,91,24,108,104,118,73,21,110,100,10,227,230,98,217,143,100,127,17,63,86,38,70,241,63,73,189,138,43,208,84,85,104,94,179,155,202,241,71,12,48,244,48,99,239,127,122,219,41,179,176,103, +211,187,64,52,144,92,158,13,115,70,241,13,94,167,203,99,143,201,1,31,107,84,70,86,100,234,199,58,26,229,49,223,207,158,135,243,94,158,167,6,100,174,154,101,69,147,71,188,131,158,37,209,87,14,193,243,193,57,240,61,248,215,240,204,91,128,188,18,238,222, +168,57,51,69,106,126,93,74,143,134,236,44,106,28,93,99,123,24,107,97,199,83,244,229,127,13,225,238,167,105,159,208,196,224,61,55,177,131,220,10,68,166,129,235,101,58,136,175,57,65,190,24,25,36,191,136,187,88,28,69,152,230,38,182,101,42,31,0,155,237,16, +182,243,191,90,55,177,158,255,30,21,246,187,240,151,107,233,1,184,22,1,87,30,15,221,163,157,202,31,204,191,20,27,217,233,180,22,25,0,50,226,152,179,139,46,107,182,1,224,196,219,32,50,235,234,39,143,241,172,134,82,87,65,2,198,26,105,237,110,22,61,76,182, +2,189,4,202,94,10,3,249,252,220,76,38,231,229,167,151,25,112,232,101,5,28,58,117,0,119,30,221,133,107,138,202,113,107,67,39,86,213,183,35,255,82,22,206,89,212,47,195,203,245,198,98,107,47,202,232,95,175,87,91,109,49,62,184,186,21,79,110,61,133,175,110, +60,138,103,24,240,67,9,154,138,57,243,125,252,171,125,83,166,4,2,42,0,212,96,12,5,164,175,153,38,69,227,192,117,25,124,157,121,46,228,14,21,202,146,190,197,230,135,201,65,64,99,200,40,237,47,156,204,96,231,125,27,125,247,191,117,63,92,13,45,112,22,42, +68,175,102,4,139,1,126,246,37,219,206,248,173,214,157,125,15,31,219,140,192,246,95,241,236,122,23,133,153,173,228,232,165,76,114,51,71,29,224,255,57,224,63,75,168,137,126,32,111,12,51,233,145,41,54,216,76,232,94,139,255,8,211,132,109,194,56,105,6,184, +24,38,116,119,234,46,138,58,45,108,119,116,6,92,78,25,216,117,11,251,93,91,109,23,64,68,120,4,224,168,80,124,118,115,2,144,238,246,137,36,148,74,221,206,10,122,0,148,154,126,91,164,155,32,9,180,221,227,98,126,165,95,187,58,166,211,164,0,144,133,251,139, +9,118,38,115,151,137,53,40,73,17,149,134,168,100,244,193,124,158,151,75,69,254,8,51,22,62,50,218,143,47,247,30,197,245,59,95,196,91,42,27,113,183,220,10,43,235,205,46,123,252,177,128,177,35,177,25,107,230,186,114,222,147,109,59,1,115,14,198,182,169,95, +122,221,191,170,5,247,45,111,194,58,10,2,143,108,59,137,71,25,142,119,135,209,130,69,49,135,22,243,74,223,172,99,2,9,3,233,46,113,205,255,116,55,46,145,231,17,60,163,67,3,112,52,81,204,212,122,205,84,17,97,13,128,115,150,15,82,253,205,32,68,14,70,76, +116,118,84,163,224,142,235,144,127,203,237,112,85,243,172,119,252,238,62,198,95,178,10,248,237,54,217,116,100,28,144,208,161,23,104,205,191,30,161,99,155,120,166,223,207,95,72,107,47,119,253,2,28,157,243,231,74,2,20,224,132,33,166,132,251,25,12,41,206, +98,175,97,97,154,139,216,22,100,208,54,199,89,215,202,56,43,75,230,114,242,60,131,237,64,5,63,73,162,133,176,223,117,255,253,204,11,196,127,80,238,173,45,171,114,151,15,116,7,232,171,192,13,96,154,139,164,162,112,116,24,165,174,121,168,46,234,176,158, +30,7,136,8,128,70,25,80,228,136,127,56,205,45,159,158,143,19,123,182,3,14,105,239,83,225,116,113,132,128,211,100,58,191,38,141,127,125,124,55,62,205,215,29,5,37,248,237,166,217,88,93,63,3,101,249,62,166,189,228,117,177,113,51,187,110,222,100,73,188,217, +65,39,187,109,106,141,250,168,166,122,8,244,111,94,84,103,94,59,143,14,226,71,175,28,193,75,76,83,252,163,126,138,144,4,173,89,140,232,86,72,192,72,87,76,1,5,49,106,162,112,82,109,251,224,219,92,36,59,72,152,120,43,140,37,125,1,162,253,202,143,158,129, +78,241,249,160,39,136,2,67,68,187,233,38,58,56,0,231,194,118,184,22,45,67,193,13,75,144,127,221,205,60,23,183,194,143,159,235,164,153,37,214,68,57,247,101,6,63,9,200,249,120,77,92,179,206,40,84,145,101,135,15,60,11,255,54,38,231,233,165,198,206,124,79, +115,223,60,197,82,209,245,210,241,229,74,82,20,224,134,50,26,96,202,182,208,40,245,230,6,63,39,86,157,25,11,24,76,243,185,90,208,235,223,74,247,236,50,142,138,6,49,141,69,222,221,81,248,75,170,61,229,125,49,79,0,97,191,107,219,131,15,153,150,56,163,209, +106,38,13,224,228,225,33,93,38,22,39,159,25,137,14,82,3,80,198,36,64,53,134,50,19,101,17,246,142,115,95,127,55,51,232,81,202,229,96,101,98,199,150,198,225,76,235,163,68,75,219,76,72,110,106,78,106,6,244,157,216,202,47,70,7,241,11,19,108,232,37,124,186, +170,25,239,109,157,111,108,5,138,189,140,60,40,151,35,22,141,143,38,153,192,119,162,99,106,110,156,228,183,139,181,101,86,99,49,62,211,56,7,199,207,140,225,29,175,29,195,115,135,206,224,63,24,96,104,231,72,0,173,5,46,212,83,88,80,138,98,105,5,204,194, +73,113,27,213,166,51,172,127,62,163,244,181,208,110,65,229,98,237,52,63,76,165,55,179,91,205,131,171,107,30,129,247,56,57,79,107,250,90,111,27,244,141,241,28,247,133,163,112,54,208,27,230,134,69,240,172,92,66,224,95,9,247,172,5,151,105,75,150,80,95,244, +211,203,24,27,178,185,76,23,30,25,29,70,248,240,203,240,191,242,117,132,25,169,206,225,166,97,98,222,120,112,202,113,193,203,12,108,28,63,145,238,14,26,132,6,251,16,101,38,68,71,45,231,139,153,207,87,158,27,246,21,194,52,97,155,48,142,241,91,227,120, +118,10,47,37,182,11,227,133,245,170,85,216,239,226,241,191,153,37,100,209,29,204,0,200,175,99,34,75,10,159,59,241,170,70,232,46,81,73,85,9,83,151,82,229,226,156,224,57,190,105,53,31,114,100,168,15,175,155,164,34,70,225,53,241,199,230,174,156,48,5,52, +89,108,182,162,201,45,79,130,34,186,21,74,75,240,197,238,195,248,34,227,11,44,43,170,196,199,27,102,26,173,64,57,181,2,229,249,86,252,1,61,196,184,20,18,210,198,239,196,245,125,182,20,205,37,45,238,250,242,124,188,239,198,14,220,59,18,194,219,118,119, +99,195,161,94,252,248,224,0,94,56,61,66,1,199,197,24,19,121,60,42,225,113,9,193,218,220,147,162,14,104,245,157,102,133,115,153,125,207,206,10,152,173,180,74,164,203,206,194,66,228,205,227,14,136,116,51,146,77,42,137,119,97,131,20,176,199,237,162,154, +159,155,130,199,183,193,121,99,53,188,159,190,11,222,197,243,224,93,48,31,174,230,118,235,14,49,115,149,76,178,62,171,5,111,124,87,219,200,11,45,255,125,78,14,186,234,133,207,156,64,232,200,38,4,182,124,149,66,0,143,47,10,90,152,119,128,134,211,185,157, +254,27,233,151,170,111,184,233,137,134,71,16,233,63,65,93,185,4,70,205,25,113,192,43,21,109,108,153,79,128,152,38,108,147,94,53,115,197,225,16,198,11,235,213,6,97,63,87,8,63,60,185,134,78,185,209,70,163,1,152,88,175,116,91,74,139,154,229,116,20,208,101, +194,103,234,157,8,105,47,108,64,55,119,163,97,90,107,122,21,165,235,194,31,115,255,158,20,10,72,11,208,79,38,165,189,126,29,207,76,43,92,165,56,192,172,115,31,220,243,50,176,119,3,62,85,221,134,187,152,143,64,137,137,90,232,86,104,187,20,134,169,90,23, +176,217,103,243,147,210,184,4,42,53,243,142,237,210,252,209,153,89,49,35,9,222,182,168,30,55,205,175,199,157,135,207,96,215,177,62,252,235,107,221,248,249,169,33,70,8,117,98,5,93,9,149,58,67,90,129,84,20,41,225,138,216,136,55,117,213,242,104,130,237, +32,109,167,151,0,80,0,207,7,238,197,216,119,95,134,163,142,107,61,213,134,142,82,243,27,224,103,208,158,3,167,17,221,178,11,174,251,102,35,255,59,159,97,36,183,46,120,187,58,233,194,103,217,24,49,62,106,108,71,157,8,183,73,197,104,95,166,142,243,128, +159,171,203,223,135,224,169,67,12,73,187,137,41,106,9,252,126,134,236,42,234,226,145,5,133,3,106,3,44,64,186,76,125,185,159,146,163,128,54,163,97,106,92,24,94,221,128,102,28,181,217,179,75,216,38,140,75,237,150,33,142,134,16,219,13,198,59,29,141,194, +252,181,55,175,27,51,125,41,112,7,25,170,216,109,25,0,198,85,95,234,46,86,16,218,60,71,49,119,139,13,9,87,122,100,148,238,127,148,182,138,8,71,182,202,58,225,202,114,55,198,69,1,91,16,232,227,46,164,136,146,113,23,39,187,220,217,190,196,216,2,95,58,177, +7,107,232,74,248,46,10,3,243,153,182,120,94,117,35,202,189,150,160,39,59,1,21,129,156,189,80,226,122,240,36,93,172,182,228,17,76,212,60,181,145,27,126,19,83,64,113,5,150,205,168,198,39,105,35,240,211,109,61,248,154,194,193,186,162,184,214,231,102,2,34, +202,247,73,104,4,164,69,145,157,193,219,42,139,113,235,2,43,16,214,180,1,127,142,175,136,233,44,42,65,254,155,239,196,216,103,190,9,180,94,151,58,1,64,192,207,72,125,138,135,29,217,222,13,199,129,199,225,253,236,103,224,253,234,167,224,110,168,133,187, +115,38,169,43,10,179,24,224,231,245,227,141,252,172,95,50,255,174,9,167,151,81,245,115,35,51,124,10,193,35,140,216,119,228,69,132,246,125,155,187,208,124,10,48,179,25,167,149,215,48,103,125,14,248,211,53,100,18,0,198,232,10,216,155,240,3,133,109,194, +56,97,157,248,75,38,138,54,53,204,24,83,33,204,231,243,45,1,192,225,113,23,70,67,209,25,202,42,203,9,197,158,102,162,121,82,249,251,232,2,104,251,154,79,188,13,150,68,229,192,0,35,219,73,0,112,179,253,185,32,64,153,152,94,214,204,25,230,20,31,38,19,35, +46,50,168,141,23,62,230,99,88,55,54,130,117,251,54,18,44,189,248,195,138,70,172,42,111,192,252,234,6,204,169,96,64,152,88,17,208,102,157,70,64,56,17,211,8,24,181,53,219,218,86,91,100,94,75,58,170,240,95,24,92,232,167,155,79,224,65,130,142,58,124,77,62, +227,134,179,223,241,6,23,18,52,121,248,182,157,83,248,201,59,103,161,132,154,135,233,90,188,115,230,160,224,31,62,142,209,191,248,33,28,171,155,129,33,2,217,196,151,251,249,100,17,240,83,205,15,63,207,247,25,169,47,239,122,38,51,250,211,7,144,127,235, +255,130,171,172,4,206,74,115,220,105,225,36,181,131,6,88,179,21,248,213,51,9,74,124,69,250,15,35,184,255,85,132,142,190,140,240,145,239,35,234,168,163,170,127,158,69,166,72,14,248,207,159,4,105,248,151,120,0,195,36,71,198,98,91,75,174,241,137,207,89, +107,114,11,219,132,113,86,106,58,173,248,116,151,168,211,196,2,136,70,103,8,243,249,244,65,195,101,188,206,144,39,128,188,42,203,8,144,141,85,231,210,92,44,23,192,98,134,0,142,105,0,44,154,93,177,21,106,106,30,213,51,131,84,59,31,103,242,159,156,1,224, +21,73,150,182,11,36,79,42,17,19,147,243,161,150,59,154,82,111,145,17,12,190,210,115,144,94,168,7,177,230,104,41,110,43,169,193,170,154,86,172,100,108,1,133,39,206,214,162,233,168,216,248,42,146,162,197,167,171,74,188,230,53,179,161,20,31,184,182,5,79, +208,149,240,195,175,28,53,66,232,12,234,212,60,98,26,230,142,139,47,41,213,166,223,229,247,175,252,91,155,153,227,121,227,253,243,209,82,195,120,225,252,65,207,152,86,69,29,210,209,15,237,66,10,239,187,23,193,87,95,71,136,145,25,29,52,188,132,63,142, +184,0,54,93,72,163,40,35,245,225,213,227,112,223,211,14,223,83,95,128,123,246,60,19,176,71,207,48,69,132,212,75,59,234,108,4,126,123,128,99,131,29,62,241,26,2,123,95,102,180,190,45,52,56,123,130,192,95,67,53,255,82,98,141,84,253,244,74,57,59,163,236, +27,115,127,211,67,1,205,33,170,239,71,79,209,27,128,174,172,30,69,130,228,119,19,145,2,98,243,85,216,230,114,20,33,16,25,228,218,78,123,170,29,195,80,132,241,108,117,149,48,95,116,51,2,64,52,234,46,112,58,163,77,212,117,134,217,86,241,235,52,23,49,74, +105,0,184,91,140,5,1,178,215,248,21,27,18,227,148,125,220,97,246,25,21,6,221,9,175,120,83,238,130,116,82,128,172,11,3,28,167,1,142,178,102,93,11,83,52,107,26,174,99,210,166,117,195,187,80,123,250,48,110,218,191,25,107,24,91,224,222,182,249,104,100,82, +162,108,46,138,44,168,162,169,39,38,80,148,239,66,81,93,49,90,171,139,112,255,74,198,20,216,214,141,127,121,245,24,30,102,36,191,10,50,246,124,94,238,227,75,154,4,91,238,23,220,41,41,145,230,234,17,6,223,186,159,89,248,30,123,207,44,180,82,187,16,155, +210,170,124,250,21,1,49,59,40,3,188,210,79,253,30,250,254,234,75,8,111,56,65,33,128,12,85,191,145,158,49,194,154,143,22,127,37,241,68,114,209,155,17,18,17,8,210,29,139,218,162,234,2,228,191,105,1,124,223,252,0,3,220,209,16,78,49,251,109,195,97,10,26, +70,130,18,176,198,192,53,155,137,25,222,183,30,254,61,207,49,114,31,131,246,140,236,211,172,162,160,52,63,6,252,218,241,231,74,70,41,160,185,39,208,14,241,152,121,148,199,126,18,0,204,119,87,110,149,166,174,138,176,77,24,23,133,226,51,216,19,218,252, +148,150,55,102,4,210,67,195,228,95,77,194,124,61,212,8,0,193,112,200,91,204,221,204,80,63,87,151,101,207,149,150,6,141,127,72,148,169,18,93,206,18,84,250,218,98,95,219,100,27,127,213,27,63,219,99,112,100,232,12,179,168,81,61,67,38,162,78,228,74,118,82, +64,123,24,229,34,16,171,175,102,108,1,197,13,56,74,102,253,253,161,211,248,254,72,31,190,116,116,39,30,40,171,195,61,205,179,177,188,182,213,252,62,190,39,217,100,20,103,225,138,101,39,160,54,186,232,110,86,86,228,197,125,43,154,112,7,83,20,191,184,187, +7,223,124,249,8,118,49,216,204,62,130,252,81,121,217,88,82,3,13,38,157,140,173,224,192,60,94,255,246,57,117,184,125,113,61,202,10,117,44,55,37,240,202,180,51,225,183,24,32,187,103,47,64,197,255,252,2,6,254,229,223,16,248,241,122,90,235,115,118,248,120, +198,205,23,57,37,9,202,89,18,34,224,139,45,13,243,108,132,46,190,142,170,98,228,205,110,65,193,93,55,161,96,205,155,24,155,157,6,125,70,112,136,181,38,70,223,243,190,75,184,161,41,188,241,13,82,29,69,96,198,211,8,237,123,10,254,29,143,35,50,112,192,2, +23,26,137,193,211,72,193,99,5,214,0,0,64,0,73,68,65,84,78,173,185,162,213,146,43,217,65,1,162,167,66,249,250,187,17,238,59,14,87,105,43,155,37,156,153,8,78,89,215,8,219,132,113,209,208,97,222,54,222,93,51,61,61,100,107,101,104,21,46,42,113,229,13,14, +248,141,186,213,8,0,206,144,163,45,172,131,75,75,66,72,79,107,46,124,10,105,228,51,33,138,245,195,68,9,123,174,18,63,67,139,42,156,173,250,168,247,92,201,110,10,72,43,192,176,26,102,168,139,9,8,30,134,22,38,139,199,126,106,113,254,7,53,2,122,205,242, +20,224,47,91,230,225,182,166,153,40,97,92,1,47,175,177,141,226,178,41,200,208,197,54,152,94,30,1,220,56,183,198,188,14,118,15,227,149,253,125,56,209,63,130,65,170,186,101,92,216,88,234,67,87,93,17,230,54,151,161,64,135,255,87,105,201,171,105,64,249,103, +254,20,254,55,221,132,145,159,253,26,161,93,7,17,57,114,130,110,21,140,197,79,186,57,168,89,113,84,20,49,11,95,43,220,243,59,80,176,122,37,188,43,110,124,35,181,108,128,189,216,96,188,241,234,244,125,115,97,187,66,126,186,238,209,162,127,199,163,8,236, +98,26,94,63,103,189,240,65,187,75,87,76,243,149,115,231,75,223,248,196,243,36,205,45,122,92,68,67,137,8,102,22,54,9,227,6,50,25,144,145,24,47,172,23,230,179,235,91,140,0,224,112,58,171,185,41,83,177,68,21,243,49,189,111,18,77,146,49,0,60,49,210,143,30, +46,174,170,24,144,164,183,245,185,167,37,67,1,169,195,245,210,228,43,146,10,151,31,244,249,16,23,218,123,119,189,8,236,126,9,107,235,58,113,79,211,44,180,51,93,113,25,227,10,216,198,130,70,16,208,189,217,198,248,217,38,21,45,251,214,234,66,243,50,95, +228,222,46,74,1,239,210,235,160,87,232,208,30,2,35,227,215,211,191,61,220,219,79,203,164,10,134,229,45,135,187,189,147,42,255,134,139,222,107,190,204,170,241,151,96,171,145,215,92,182,88,106,116,108,144,169,120,143,34,176,237,135,8,30,252,53,127,166, +166,195,69,59,172,60,106,59,206,22,221,147,43,217,73,1,142,13,67,248,70,3,39,168,173,57,109,53,81,195,101,13,239,132,155,44,140,59,57,26,231,77,19,174,125,66,23,58,132,245,194,124,93,109,4,128,136,35,90,34,213,106,102,139,131,214,226,137,71,72,10,232, +204,143,125,80,192,90,203,43,32,179,189,201,61,61,126,10,104,6,142,183,223,208,50,105,48,137,137,28,88,123,114,31,214,30,221,142,91,75,170,241,135,173,11,48,167,188,14,53,244,231,46,116,27,91,22,227,170,167,39,218,130,129,62,103,67,81,31,204,202,226, +220,180,87,216,185,229,175,128,72,217,208,202,44,104,131,248,143,214,111,75,167,121,93,180,69,186,70,37,107,137,198,246,137,15,41,2,102,172,141,145,190,163,8,159,62,132,224,246,31,208,157,239,113,170,247,219,136,35,76,39,172,153,30,219,117,89,157,202, +189,103,61,5,52,166,212,206,68,77,176,185,120,91,107,45,116,11,227,50,187,232,133,245,194,124,245,192,245,225,13,75,221,60,126,159,147,201,32,64,22,139,116,36,22,3,64,60,129,244,236,243,243,252,159,103,132,114,57,83,96,154,92,153,250,20,208,40,234,88, +71,97,157,26,104,43,80,198,136,131,91,104,56,120,215,230,95,1,204,65,240,229,218,25,184,169,182,29,237,229,213,168,164,86,64,69,81,183,84,28,212,36,100,118,153,153,102,88,109,177,26,148,53,237,57,215,178,44,250,36,230,106,24,44,71,61,182,126,37,50,157, +141,14,97,255,158,69,77,62,219,20,205,57,181,89,192,175,87,144,1,99,232,233,18,234,57,64,85,255,119,248,249,5,198,40,88,72,255,125,70,144,83,66,158,92,82,158,179,164,155,82,31,200,83,162,193,94,19,130,217,106,119,252,56,99,197,185,17,103,138,255,222, +20,209,202,4,3,226,148,157,35,236,119,53,12,22,71,105,219,96,113,205,20,61,33,177,106,28,60,27,181,118,115,241,220,111,171,126,71,152,9,75,22,192,227,119,144,241,212,147,187,54,59,41,160,165,162,201,121,134,12,246,76,44,200,208,124,95,25,227,229,71,240, +199,135,95,167,9,253,54,252,81,117,43,174,99,108,129,133,85,141,255,159,189,247,0,140,227,186,206,133,207,236,204,238,162,23,162,131,96,47,18,73,81,162,36,170,119,75,178,108,75,114,151,108,39,182,147,56,177,157,247,252,108,231,57,113,254,84,139,78,226, +20,151,56,113,236,188,68,73,92,158,237,196,22,159,139,44,89,138,100,91,162,42,37,81,36,69,177,138,5,44,32,9,162,119,96,235,204,255,125,119,102,64,144,4,137,109,216,89,0,115,201,5,176,187,51,119,238,61,247,220,243,157,123,238,57,231,202,242,106,251,28, +9,106,185,116,6,101,58,233,66,81,4,10,147,194,5,214,170,9,64,95,240,227,230,174,224,193,99,100,50,43,210,135,184,253,55,240,218,46,137,35,63,17,115,248,24,28,26,215,138,86,126,29,152,24,242,201,63,134,183,192,152,45,205,230,16,179,17,199,47,113,39,157, +47,199,61,205,98,99,156,247,156,13,75,169,73,236,55,42,194,209,96,82,66,139,76,147,141,242,234,32,32,206,31,120,69,23,47,72,139,156,20,242,52,249,246,98,85,120,130,57,0,160,125,227,68,239,180,234,240,47,158,89,20,160,227,224,16,18,186,240,116,1,102,27, +228,104,127,5,57,5,190,210,113,72,238,45,175,147,183,215,45,148,149,213,13,114,67,243,114,149,31,130,189,83,219,91,224,19,239,167,221,204,162,181,223,218,243,80,128,171,125,22,7,0,204,158,3,18,87,192,191,67,146,237,112,236,75,192,89,53,12,79,126,228, +184,80,192,159,244,243,146,218,4,155,233,63,177,20,193,9,139,214,216,41,188,186,225,200,95,75,225,2,62,72,93,178,16,227,78,7,3,123,65,15,28,8,132,110,224,12,201,69,21,225,88,208,48,2,102,16,242,116,129,197,40,128,116,122,50,13,109,15,32,44,44,147,146, +196,32,36,156,73,233,76,205,76,170,241,239,153,33,20,224,116,179,143,42,182,243,10,44,194,182,15,131,106,30,25,27,144,71,14,111,147,230,147,165,114,255,177,189,114,11,18,12,221,52,127,249,248,246,192,12,233,158,223,204,66,167,128,18,248,73,228,229,223, +33,241,86,38,237,217,14,199,176,157,216,27,70,126,254,162,165,56,56,14,82,200,130,91,107,70,123,197,133,222,249,57,222,62,142,61,163,52,152,85,50,131,146,41,198,101,240,168,243,220,162,105,196,122,228,4,88,96,232,102,208,232,197,101,101,244,155,75,93, +137,57,79,197,217,124,76,216,198,65,50,197,139,210,170,132,119,177,217,189,145,97,57,166,114,0,208,2,224,151,185,68,1,6,228,116,58,166,216,70,68,128,132,245,144,28,69,174,247,127,192,25,4,255,128,120,221,183,29,221,37,119,213,182,200,61,139,86,203,210, +74,39,45,172,67,32,151,127,230,18,189,252,190,166,67,129,115,57,196,194,254,126,226,208,243,18,59,240,44,64,31,9,123,198,78,192,110,138,80,197,96,11,34,249,32,141,104,234,231,109,126,153,133,20,192,192,6,138,176,213,211,141,100,77,253,240,233,104,64, +31,207,229,145,11,117,220,198,56,248,137,164,121,223,133,234,76,251,59,130,38,48,159,216,111,84,152,1,3,22,129,5,116,2,228,231,222,241,174,134,147,0,221,115,0,210,235,82,36,17,151,110,106,219,208,206,114,116,40,91,122,13,240,175,46,8,10,208,249,147,186, +108,37,248,160,44,84,132,52,196,150,60,22,25,148,199,142,239,149,207,181,31,144,15,86,214,203,71,150,174,195,249,3,141,82,4,135,66,242,59,139,189,69,192,57,225,126,98,127,238,255,156,139,20,128,4,84,50,221,150,146,138,2,224,35,115,240,20,78,225,251,153, +196,142,110,1,0,116,97,117,143,248,125,164,134,149,32,114,244,43,193,137,21,161,119,194,115,46,14,148,39,125,214,24,10,152,24,65,58,128,200,120,86,207,116,26,98,99,156,119,114,134,79,118,28,254,23,16,251,141,177,64,73,176,34,108,85,70,199,18,204,112, +158,190,87,67,58,189,63,207,181,156,55,118,248,86,102,51,136,185,217,113,76,131,170,61,179,26,206,211,48,255,227,25,71,1,142,63,173,2,140,30,96,132,117,16,219,74,76,164,58,128,141,175,111,244,181,203,55,94,61,41,87,134,75,229,243,75,214,201,117,77,75, +149,162,16,114,114,196,43,69,0,215,186,142,165,248,211,47,115,133,2,224,23,85,136,230,74,62,99,151,148,153,250,58,246,193,147,255,81,73,156,124,13,0,79,25,67,135,63,108,85,26,42,138,10,239,241,153,47,116,108,218,205,250,159,28,104,48,7,183,0,92,126,73, +187,207,182,223,154,83,83,218,119,103,123,3,158,203,14,152,225,98,163,114,48,90,18,52,66,201,49,200,189,137,201,40,178,125,68,250,247,91,152,88,12,143,72,87,240,218,145,213,182,19,224,107,56,9,176,14,78,128,200,31,150,126,3,252,59,102,37,5,184,75,231, +238,212,149,66,176,243,95,16,236,127,16,218,251,61,123,158,17,217,255,146,252,211,252,139,228,158,133,171,165,166,184,12,137,168,236,121,64,69,64,77,80,117,207,172,36,141,223,41,151,2,10,212,193,20,106,25,143,15,19,99,98,142,12,194,147,255,85,137,31, +248,185,36,218,183,193,161,175,9,184,143,8,37,92,118,26,237,125,57,227,146,112,206,252,230,144,7,144,174,59,210,142,212,212,204,231,143,66,69,64,241,133,253,118,170,159,196,184,170,112,51,182,173,219,193,114,220,10,240,166,176,217,196,126,35,168,23,163, +249,94,50,51,169,103,74,177,1,143,202,116,11,155,141,219,147,156,196,120,25,248,23,245,180,47,233,118,192,191,62,95,20,176,237,67,182,66,64,51,23,15,36,34,223,127,242,232,78,249,228,145,29,242,251,245,75,228,253,72,59,220,82,81,35,141,165,21,106,78,83, +17,240,67,9,243,53,66,121,124,14,165,31,101,134,10,223,179,141,158,214,112,167,36,7,122,144,137,240,5,172,248,191,45,102,148,167,22,98,81,82,186,4,215,98,123,145,247,248,197,167,0,0,220,98,58,96,186,210,103,88,108,172,195,169,161,42,15,159,119,124,69, +236,55,98,150,185,60,236,93,27,198,73,104,230,224,224,11,170,18,126,241,41,48,21,5,56,117,121,32,17,143,222,89,140,8,130,50,76,234,175,116,183,201,87,218,247,203,135,106,22,202,253,205,43,101,5,242,9,172,132,175,0,252,186,149,143,128,173,8,216,86,132, +169,234,247,191,47,80,10,184,192,207,100,61,106,245,101,138,217,139,132,61,167,14,74,2,233,121,19,109,15,99,172,235,16,234,189,24,86,126,112,9,129,31,194,222,47,62,5,198,41,64,30,194,22,16,82,233,58,31,165,143,58,185,192,186,241,246,100,248,7,23,55,56, +141,116,57,60,26,204,102,203,226,190,22,58,226,129,34,64,242,241,40,224,34,29,167,122,101,88,134,99,216,229,69,222,248,82,35,236,103,1,204,144,134,115,241,54,138,246,14,40,2,93,224,251,69,112,10,172,130,50,240,221,161,110,249,238,238,19,178,14,201,134, +62,209,180,66,46,157,215,36,151,227,84,194,160,51,225,153,105,144,102,60,254,243,203,12,161,128,90,189,83,112,83,206,33,175,36,206,115,79,156,216,35,137,206,86,49,219,158,66,166,190,205,98,5,17,190,87,114,37,194,163,176,105,100,210,107,196,3,97,56,67, +200,57,119,155,9,158,128,242,104,141,117,34,167,147,155,219,33,125,62,33,214,17,243,60,43,180,98,176,217,192,126,228,1,8,208,103,202,195,194,198,196,113,192,11,19,36,100,38,84,99,140,0,64,92,166,129,142,249,81,0,30,14,229,12,125,52,167,34,67,9,249,106, +65,202,225,50,166,28,142,71,229,163,135,182,32,211,96,137,108,152,215,34,87,215,46,144,107,155,151,73,53,78,37,100,225,33,68,133,118,238,128,106,152,255,227,52,5,40,229,184,176,225,11,178,197,26,64,78,254,163,136,221,111,223,37,102,199,38,49,71,219,177, +17,186,12,102,254,203,1,252,144,33,126,194,158,211,180,243,255,154,156,2,84,34,19,135,17,237,73,37,49,253,162,124,0,128,117,214,0,142,182,198,145,192,167,79,8,73,191,174,108,239,32,246,27,73,211,196,218,198,53,103,100,91,101,166,247,227,16,16,13,6,217, +204,240,95,173,200,120,111,250,186,88,166,237,245,239,155,173,20,232,1,104,48,229,112,13,102,69,85,184,76,89,8,54,32,132,80,144,87,224,35,199,247,201,13,53,243,229,77,56,158,120,49,124,5,252,82,224,20,32,240,3,216,19,109,112,232,59,188,21,43,253,253, +98,246,111,131,19,55,150,26,33,132,239,149,98,12,149,153,159,7,81,251,197,167,64,10,20,32,200,104,101,192,156,76,49,83,179,177,174,0,208,138,216,111,96,42,20,0,110,66,59,207,130,32,174,222,224,254,78,97,24,253,75,124,10,156,151,2,180,8,12,67,17,96,218, +97,198,5,44,65,216,32,183,10,190,57,216,41,223,28,234,146,235,161,16,220,131,179,7,222,187,248,18,248,10,48,25,136,95,188,165,128,146,202,103,52,193,26,133,67,223,161,103,37,118,248,21,73,34,97,143,68,58,144,176,167,24,219,183,112,236,99,40,136,50,245, +123,108,252,60,163,197,254,155,25,65,1,130,76,86,135,57,17,233,206,229,87,47,250,78,236,71,64,171,185,72,44,56,197,120,156,11,144,13,200,180,36,32,156,149,137,47,211,10,252,251,124,10,156,135,2,92,27,158,2,127,209,97,176,30,89,6,35,224,211,23,113,238, +196,139,112,28,251,147,246,131,242,181,5,171,228,195,43,175,146,74,108,13,20,198,180,62,79,71,102,227,199,174,137,95,153,14,65,125,108,5,38,187,15,72,108,15,227,246,95,199,94,63,66,181,232,196,167,18,246,212,99,213,6,34,168,24,238,217,72,12,191,79,121, +161,128,154,228,56,131,132,124,164,74,38,203,206,204,177,46,39,125,180,243,165,161,42,115,17,221,25,23,208,35,208,219,130,22,165,25,19,201,54,235,48,211,242,24,224,221,67,61,136,168,128,112,246,188,31,222,82,209,127,250,244,81,128,14,131,8,254,81,80, +83,9,71,32,53,253,49,247,63,117,108,151,188,208,119,74,190,122,197,155,165,169,172,106,250,26,224,215,124,154,2,46,240,19,209,145,122,151,113,251,201,118,236,237,239,249,137,36,122,246,99,45,16,86,206,90,130,99,78,153,186,213,46,88,36,120,45,230,78,247, +192,255,107,198,82,0,190,34,193,85,98,245,237,133,85,233,102,28,243,140,236,181,46,63,166,212,39,172,187,21,214,121,203,140,10,243,129,253,6,146,240,160,37,153,238,103,164,212,227,41,46,10,192,31,50,2,39,64,228,210,206,160,29,148,1,202,25,203,91,122, +78,209,71,255,235,217,66,1,178,153,107,56,166,221,169,9,138,231,15,135,123,165,111,203,99,242,95,215,189,67,230,21,149,206,150,174,22,104,63,48,2,106,41,143,5,127,223,113,137,31,124,26,192,255,45,232,1,16,172,65,40,96,124,169,133,128,43,16,220,223,5, +218,29,191,89,51,144,2,228,65,98,102,250,171,127,112,169,194,58,98,158,72,53,94,148,34,222,20,98,191,151,200,175,122,77,130,88,200,1,80,18,204,236,28,0,85,137,63,199,189,225,160,57,254,84,78,30,58,13,54,33,114,224,73,156,68,248,224,190,151,231,56,69, +242,215,253,248,161,205,50,250,248,39,37,186,237,223,197,10,96,95,191,8,7,61,81,40,171,237,64,95,32,228,111,36,230,232,147,178,96,49,98,29,49,143,216,231,117,241,92,1,176,237,114,116,2,116,247,84,188,38,137,255,124,159,2,169,83,128,201,60,251,160,4,148, +224,204,129,63,134,115,224,158,158,147,169,223,236,95,153,1,5,52,137,237,124,68,198,126,245,81,248,98,193,169,175,116,62,22,81,88,77,153,48,205,250,54,254,12,232,233,223,146,111,10,216,88,151,157,227,123,174,218,92,0,10,0,187,66,117,202,123,109,40,87, +68,245,235,153,91,20,32,231,186,89,189,127,112,120,167,234,188,247,126,53,179,115,12,18,199,94,149,200,43,127,43,82,188,14,34,131,177,251,238,134,204,236,236,175,223,171,217,72,1,74,140,44,76,8,57,36,73,129,40,0,57,236,145,95,149,79,1,15,40,160,20,0, +88,2,182,195,33,117,0,7,83,49,225,71,97,76,113,15,136,49,77,143,180,98,67,50,246,210,55,160,109,225,112,30,102,235,83,230,254,105,122,152,95,173,79,129,57,64,1,95,1,152,3,131,236,119,113,250,41,96,71,5,104,178,55,142,168,148,30,30,244,1,124,82,206,104, +211,255,236,89,255,4,135,142,241,189,79,136,53,220,129,149,127,225,172,160,102,61,237,253,14,206,106,10,248,10,192,172,30,94,191,115,249,162,128,189,218,215,228,48,78,9,27,202,48,77,104,190,218,58,83,159,19,59,242,42,154,238,251,10,205,212,241,243,219, +93,120,20,240,21,128,194,27,19,191,69,51,152,2,190,39,75,142,7,143,171,127,172,248,205,238,55,112,6,59,114,247,51,198,223,47,62,5,124,10,228,132,2,190,2,144,19,50,250,149,248,20,176,41,192,9,229,43,1,185,228,6,219,182,146,236,57,130,180,253,200,236,199, +51,67,124,239,138,92,18,216,175,107,14,83,192,87,0,230,240,224,251,93,207,29,5,108,208,183,100,9,178,4,150,133,252,85,106,238,40,235,212,164,178,167,249,123,255,57,167,171,95,225,156,166,128,175,0,204,233,225,247,59,159,43,10,184,81,0,139,141,176,172, +158,7,47,117,20,70,2,248,197,167,128,79,1,159,2,133,74,129,2,81,0,124,205,190,80,25,196,111,87,106,20,112,19,122,94,85,94,131,99,132,75,196,196,222,181,15,255,169,209,46,149,171,44,147,206,127,220,14,240,169,154,10,189,252,107,10,153,2,133,195,199,5, +160,0,216,224,175,141,167,82,41,228,129,243,219,230,83,224,92,10,112,58,35,42,93,29,64,115,255,226,53,234,2,117,62,133,250,203,255,145,29,5,108,192,215,203,230,137,166,151,64,7,240,163,0,178,163,167,127,183,215,20,176,177,142,11,4,239,149,89,207,21,0, +158,141,172,105,33,25,141,247,102,62,46,222,211,49,243,182,251,119,206,104,10,16,252,203,49,145,163,56,138,246,111,27,151,201,37,181,45,51,186,63,5,215,120,103,27,69,159,127,5,242,253,55,32,1,208,24,154,232,79,248,130,27,167,185,214,160,44,88,144,88, +71,204,35,246,121,93,176,80,9,100,209,149,92,52,223,196,25,128,69,210,31,57,14,114,184,134,212,212,235,101,148,16,205,173,190,76,72,157,102,254,149,185,161,0,253,209,203,192,120,93,56,115,254,131,21,117,242,63,86,93,103,159,76,153,155,234,253,90,92,10, +168,249,173,75,112,241,122,204,115,122,91,120,47,56,221,166,249,191,231,34,5,0,153,25,30,58,69,208,39,214,17,243,128,92,158,18,143,216,31,64,71,218,188,119,86,226,137,128,233,153,246,216,230,36,146,174,84,133,139,101,13,246,93,37,17,147,34,223,233,202, +83,134,154,11,15,39,252,112,197,95,129,215,32,128,169,27,224,255,155,21,245,242,143,235,223,42,21,224,69,31,154,166,129,11,156,121,29,90,115,143,104,197,152,235,234,224,31,143,215,45,211,208,77,191,202,153,64,1,67,36,190,87,180,234,85,34,69,56,193,22, +24,196,60,21,169,23,168,0,10,235,210,185,39,245,218,83,189,82,97,62,176,31,91,0,129,163,106,245,236,121,234,242,204,9,98,168,179,153,125,167,171,84,7,223,191,46,125,10,148,96,146,212,131,207,24,224,215,137,3,104,58,240,90,174,7,229,239,91,86,203,215, +174,190,91,230,21,151,170,212,191,153,115,113,250,109,154,107,119,104,69,149,82,124,229,111,32,25,32,183,11,161,138,169,121,63,215,168,224,247,215,83,10,112,130,91,163,192,124,21,247,195,55,25,52,199,99,41,65,172,87,77,8,28,53,160,143,224,79,143,27,164, +218,147,121,27,220,33,112,127,103,48,34,254,45,62,5,206,161,0,116,125,41,131,118,95,5,160,217,139,61,254,158,56,92,253,0,250,247,151,213,200,181,149,13,114,103,203,10,236,249,227,56,90,20,242,158,247,150,52,213,148,89,253,195,88,121,135,132,250,142,73, +244,245,127,19,9,54,99,71,0,166,84,147,39,2,250,179,127,86,15,124,161,116,78,77,116,110,254,101,90,232,250,71,172,243,158,95,137,253,134,30,8,120,187,17,161,232,168,73,194,138,59,82,52,125,194,154,220,143,129,57,150,30,141,106,124,210,175,194,191,195, +167,128,162,0,249,135,211,155,171,125,42,0,111,36,227,210,30,27,147,154,146,10,249,189,186,149,178,182,186,81,174,105,90,34,141,120,207,226,242,91,230,234,171,170,198,255,145,18,5,108,106,23,93,253,91,162,25,197,18,219,247,83,49,135,14,138,86,178,220, +94,195,88,80,4,232,47,224,23,159,2,211,69,1,133,221,195,96,179,76,97,211,178,177,206,243,69,55,214,50,192,126,35,97,154,161,144,130,206,233,162,216,84,245,50,10,32,8,199,136,54,8,211,204,204,248,197,70,72,173,204,162,152,252,52,204,100,58,52,83,181,212, +255,126,118,83,128,102,254,186,128,13,252,187,162,163,0,19,83,238,173,172,147,247,45,189,66,46,174,170,151,203,234,23,138,129,239,89,146,248,142,161,126,182,54,63,187,233,82,56,189,131,244,37,192,131,238,225,43,63,32,70,195,42,137,238,127,70,146,109, +15,139,57,58,4,255,128,101,74,14,248,71,5,23,206,136,205,186,150,16,248,141,37,18,200,48,219,39,79,8,37,214,17,243,136,119,94,22,98,191,129,125,180,147,202,135,65,105,206,249,95,199,216,58,125,64,34,73,228,249,78,183,56,205,45,11,193,12,8,37,96,24,131, +195,85,27,13,130,126,241,41,144,10,5,200,127,85,152,0,243,176,226,31,128,67,207,190,200,48,220,98,2,242,87,205,43,229,230,250,197,210,82,49,79,150,84,214,142,87,165,128,31,176,175,251,251,207,227,52,201,235,31,182,176,82,166,23,189,101,157,148,52,44, +151,68,231,29,146,56,254,154,36,14,62,36,201,129,173,34,37,235,96,33,112,182,6,40,176,253,226,83,32,39,20,0,224,32,33,149,22,170,151,64,81,177,83,99,250,152,73,172,211,188,92,116,3,235,213,52,2,246,27,33,45,112,80,211,188,213,68,72,201,0,226,34,211,46, +182,246,128,48,64,76,114,116,74,7,89,189,214,170,210,238,131,127,131,39,20,224,58,190,20,179,128,222,252,7,225,85,126,42,54,44,107,74,171,229,111,23,95,43,215,54,44,146,58,152,248,43,225,213,207,66,254,34,171,49,104,198,7,126,69,18,143,127,64,232,82, +238,114,222,7,203,196,152,191,70,140,166,21,146,92,126,163,36,187,15,75,124,215,255,149,68,215,43,34,225,21,106,171,0,167,8,217,215,122,220,106,255,241,179,128,2,68,78,240,147,69,239,127,85,210,199,206,140,176,46,199,164,163,191,82,72,211,14,26,241,228, +152,21,86,49,137,57,126,66,202,213,41,209,42,99,137,238,148,239,24,191,208,81,190,148,80,134,112,142,67,76,59,31,141,95,226,255,225,83,192,165,0,121,131,47,90,137,56,125,59,225,216,199,215,199,106,90,228,183,151,92,42,139,43,106,165,26,222,252,65,28, +232,195,162,242,75,224,55,129,223,47,5,72,1,53,46,144,31,20,198,129,144,232,53,139,212,203,104,89,43,102,111,155,196,119,63,36,177,182,103,177,45,80,3,103,65,119,129,145,190,192,46,192,158,251,77,242,138,2,92,61,7,130,120,101,46,19,108,172,227,253,222, +242,34,177,223,136,233,197,90,145,199,22,0,36,36,144,254,232,73,44,226,65,144,52,16,220,221,127,157,87,84,42,235,176,13,240,26,188,180,107,16,158,17,243,152,176,94,241,166,255,220,115,41,192,105,70,167,62,102,153,24,34,127,145,55,240,187,54,96,200,3, +243,47,150,123,23,174,146,150,178,42,41,9,158,62,193,79,229,241,7,31,250,233,124,65,174,130,47,28,40,42,108,246,184,50,52,48,80,90,163,94,122,211,42,9,247,159,148,216,238,159,72,236,232,115,42,87,8,76,2,144,49,124,185,2,156,60,225,23,159,2,41,80,128, +216,4,167,96,41,106,18,173,180,210,190,65,217,210,83,184,215,185,68,249,0,0,235,78,135,17,166,126,111,46,175,100,179,137,253,70,177,57,26,143,142,133,120,208,118,37,62,75,19,130,115,211,36,210,213,94,109,241,175,244,75,0,201,12,93,71,198,204,106,72,255, +153,254,29,133,77,1,174,247,104,226,31,0,71,247,59,7,201,84,33,132,239,77,69,21,242,161,150,139,228,214,249,43,148,137,127,98,232,30,39,39,223,251,192,95,216,99,59,121,235,48,243,93,97,172,164,24,150,7,56,153,81,171,93,34,69,55,125,90,194,87,127,68,98, +111,60,33,241,253,191,132,195,96,23,148,129,65,40,14,165,176,14,80,241,163,242,224,154,116,39,175,221,255,212,167,0,24,204,230,21,230,0,112,121,45,109,178,104,10,235,188,202,191,139,30,80,202,5,162,99,201,1,196,209,196,141,193,128,153,40,51,165,45,160, +107,149,102,210,75,109,216,146,145,88,175,84,20,213,165,77,210,34,35,40,181,58,180,250,24,66,1,189,183,172,164,221,126,255,134,220,80,128,67,95,140,73,90,142,201,217,6,208,31,72,32,110,31,43,253,91,112,58,223,93,85,77,242,182,69,171,228,146,154,230,115, +246,241,201,245,156,218,19,149,129,220,180,200,175,197,19,10,140,11,103,103,100,97,33,208,138,171,36,188,238,125,18,90,251,78,73,182,62,143,232,129,231,197,236,219,35,86,4,150,71,13,9,157,131,206,138,78,101,105,243,82,14,122,66,49,255,161,41,82,192,194, +254,127,192,40,149,64,144,169,124,211,47,196,56,165,112,166,127,107,78,238,32,103,3,235,225,203,104,181,17,251,13,36,51,36,110,122,156,7,144,226,55,41,189,99,71,211,82,0,120,23,203,188,162,50,89,24,130,195,214,72,159,24,84,4,252,50,103,40,160,24,26,189, +173,133,73,151,107,185,3,112,232,235,102,194,30,240,195,39,42,230,203,245,56,156,231,250,166,165,216,223,71,10,217,243,20,151,143,206,243,181,255,241,140,165,192,185,35,171,97,197,111,172,184,93,189,146,199,94,145,216,145,237,146,236,218,3,101,96,11, +140,0,176,24,20,53,218,171,59,223,113,112,198,142,250,244,53,28,252,100,70,192,35,181,200,61,81,229,60,230,92,30,187,208,243,137,113,246,134,164,235,147,114,161,171,167,233,59,10,77,96,62,177,31,121,0,2,113,228,2,108,211,116,109,13,156,105,240,213,184, +250,60,77,79,63,127,181,166,202,241,125,254,239,207,247,141,142,38,27,78,179,211,27,142,243,213,232,127,94,232,20,32,15,83,7,103,248,30,179,245,189,30,143,96,94,37,228,154,210,42,121,119,227,114,185,186,110,129,92,11,224,47,114,20,66,123,95,223,245,26, +41,244,222,249,237,155,86,10,112,139,0,69,95,120,181,20,227,101,14,28,147,120,235,86,73,116,236,150,228,137,199,196,138,155,16,242,11,33,29,253,80,194,105,29,135,153,88,185,218,94,194,22,128,227,40,156,110,23,50,197,184,116,159,115,254,235,45,75,211, +3,154,101,90,109,196,126,99,48,26,142,151,135,229,40,77,231,136,112,180,103,198,249,239,158,182,111,120,18,96,239,88,155,44,149,107,83,126,6,77,182,20,236,116,2,156,15,51,47,99,52,145,216,0,247,123,214,141,148,219,238,95,152,62,5,56,178,220,169,101,112, +94,29,38,32,199,254,160,2,254,184,124,180,118,161,220,137,215,197,53,77,178,166,182,25,81,182,118,72,40,67,248,252,125,253,244,105,61,171,239,112,22,11,106,223,31,162,34,80,185,80,194,151,227,21,185,69,226,199,111,151,196,137,109,146,60,249,148,36,251, +182,99,235,96,21,188,72,169,8,48,83,105,122,7,150,205,106,26,206,201,206,17,36,251,192,19,141,120,33,55,136,82,6,210,91,114,18,227,50,57,245,54,119,228,214,44,98,61,228,227,81,98,191,113,178,124,72,91,17,45,195,71,233,117,36,119,13,114,107,178,112,186, +95,250,41,124,236,200,1,77,74,24,230,3,97,79,127,96,191,204,78,10,192,64,43,13,224,222,8,198,121,63,19,246,192,247,227,207,26,151,201,61,72,218,179,176,178,70,154,28,207,92,242,4,19,246,32,213,165,191,175,63,59,89,33,55,189,98,36,128,90,47,64,11,160, +48,199,233,110,193,229,215,73,112,241,101,146,236,185,67,226,39,118,73,226,240,207,177,69,240,18,182,148,46,134,159,0,22,25,130,156,2,25,90,42,115,211,104,191,22,207,40,160,120,5,25,66,21,31,160,21,144,49,246,241,212,169,183,200,198,56,239,23,168,88, +60,5,78,150,15,107,198,131,235,183,198,191,188,249,150,189,116,12,96,151,82,239,74,46,175,84,148,149,62,56,228,164,93,84,179,145,205,141,73,91,224,229,61,138,137,140,105,237,167,3,78,155,144,133,123,3,247,246,121,32,207,8,38,220,190,49,120,111,195,231, +227,155,43,174,150,27,26,22,75,99,89,165,84,208,255,3,133,192,79,6,166,23,63,183,133,252,226,83,32,37,10,144,87,248,162,18,64,161,110,148,136,222,112,17,94,203,196,100,114,161,30,108,17,236,249,47,73,156,124,1,252,85,41,90,152,254,36,184,206,183,8,164, +68,222,89,115,17,120,67,11,206,147,0,114,133,216,37,125,25,99,99,28,165,20,239,245,4,110,45,98,61,196,233,94,98,191,242,152,11,88,218,160,247,30,208,150,140,198,251,28,194,166,255,43,68,187,6,38,49,114,52,121,110,203,72,191,245,254,29,19,41,192,169,65, +37,206,157,94,253,152,120,253,240,232,127,75,121,141,124,118,245,77,178,6,102,254,234,226,50,9,57,251,112,110,122,94,242,176,123,207,196,250,252,191,125,10,164,68,1,165,8,208,134,72,69,0,47,228,11,8,84,52,168,151,209,184,66,204,145,126,73,28,122,10,135, +16,253,0,59,2,144,51,6,14,132,162,21,193,27,65,158,82,151,252,139,114,72,1,197,19,136,40,201,200,209,220,6,125,27,227,60,1,254,113,66,168,45,81,96,62,63,80,10,0,210,26,118,105,182,48,245,172,101,92,187,13,169,16,9,54,203,38,22,255,154,170,184,34,191, +177,164,82,106,17,247,219,13,63,128,74,76,100,127,183,110,42,202,21,214,247,4,110,50,99,8,16,222,173,86,87,224,1,53,225,52,249,84,117,147,252,198,146,203,100,53,66,248,194,48,251,187,32,111,59,246,193,240,163,132,112,97,245,199,110,77,234,124,92,136, +173,159,187,109,2,135,81,25,24,87,4,176,149,132,48,66,157,175,121,31,146,224,154,183,75,242,216,203,18,219,251,51,156,61,208,230,40,1,116,12,99,202,41,223,254,56,59,249,6,252,128,200,16,45,84,11,133,208,137,40,114,5,81,26,29,38,198,121,156,174,222,162, +184,36,230,179,217,74,1,48,13,235,136,206,45,0,47,83,233,67,86,142,38,176,175,171,74,250,148,13,27,6,60,194,9,30,180,0,164,127,191,243,96,255,151,7,20,40,197,120,5,49,100,237,76,216,195,23,98,247,175,134,89,255,189,53,11,228,215,151,95,46,141,216,219, +159,152,156,199,158,64,133,152,176,199,109,153,203,127,238,239,201,137,202,171,125,94,157,156,54,133,241,41,198,79,41,2,104,141,82,70,241,27,32,31,40,3,8,172,190,91,130,23,221,37,137,83,59,37,190,247,113,28,72,180,95,172,104,23,4,43,64,66,135,137,88, +41,3,84,98,233,182,234,151,89,65,1,242,0,82,78,107,60,125,54,237,98,203,2,133,113,94,174,11,128,241,196,122,98,62,187,160,20,128,160,110,68,71,6,193,184,246,105,186,46,171,167,221,197,108,110,208,180,176,36,204,65,233,25,61,130,179,215,23,163,170,212, +168,228,138,216,150,178,106,89,13,208,216,63,18,21,93,119,204,120,217,52,200,191,119,90,41,192,117,82,5,132,43,193,255,32,211,107,66,112,94,20,42,145,107,202,106,228,93,243,87,202,155,90,86,98,111,159,129,126,167,139,203,17,133,6,154,182,35,42,245,103, +183,101,166,196,147,17,73,36,99,50,24,57,46,145,68,47,190,65,158,2,236,31,86,20,205,199,89,3,33,228,171,96,202,34,91,227,118,239,58,221,83,255,47,123,254,147,14,238,12,247,152,38,174,34,48,177,25,48,5,27,243,47,87,47,107,184,3,153,6,159,146,248,81,228, +19,24,57,42,38,188,189,197,192,25,4,70,25,238,0,231,250,9,134,38,82,110,6,254,141,185,106,70,37,16,158,47,58,146,138,217,37,85,222,180,37,23,177,141,24,71,172,243,162,160,181,92,115,232,196,122,98,62,219,160,20,0,77,139,143,153,166,126,28,233,9,91,208, +84,30,125,150,106,207,114,212,15,62,48,128,176,174,168,140,198,250,161,0,216,211,63,165,70,56,19,179,170,168,68,170,176,114,228,157,132,127,191,20,38,5,104,36,173,134,13,138,110,123,251,18,136,250,64,120,213,53,197,149,242,206,234,102,185,9,113,251,140, +221,63,159,3,95,74,252,144,183,110,99,46,57,91,20,174,255,76,2,73,66,200,191,29,67,59,228,88,223,207,165,123,20,78,99,184,38,160,21,169,153,103,89,99,136,76,64,36,67,217,61,178,168,250,45,210,84,177,78,66,200,42,102,23,87,189,201,91,7,10,235,65,164,37, +168,164,138,218,210,113,70,123,124,5,141,247,147,129,112,129,244,66,43,107,144,240,149,31,144,240,218,123,36,113,236,85,137,29,67,78,129,174,237,98,246,111,193,170,177,1,166,99,152,141,185,205,106,129,231,85,95,11,164,225,126,51,82,163,0,217,145,99,71, +133,174,184,218,190,39,69,129,228,206,108,202,6,98,28,177,110,156,215,83,123,122,78,174,66,190,31,252,23,29,233,126,142,27,70,98,140,149,42,5,32,106,26,177,128,88,221,240,14,108,73,38,104,178,74,177,103,57,105,150,93,137,6,135,155,132,53,44,3,99,39,101, +65,213,58,155,62,41,52,131,151,208,9,172,28,135,185,52,49,23,192,160,169,200,155,195,166,249,85,101,73,1,78,0,26,205,234,32,216,169,156,237,103,138,94,172,250,239,175,106,148,59,230,45,144,107,234,23,202,165,245,45,234,41,202,147,31,2,210,5,85,245,97, +1,253,80,70,126,213,190,211,33,134,35,177,46,25,28,59,37,39,7,54,203,145,254,239,72,12,121,230,67,250,98,56,41,46,65,203,209,123,166,215,80,82,128,220,26,144,206,225,173,114,98,224,223,161,0,252,142,172,109,250,13,169,41,93,134,207,231,168,53,192,5,254, +137,160,79,15,30,88,80,68,135,5,136,121,215,221,226,42,3,234,90,247,195,2,250,205,246,133,202,197,88,126,155,122,153,157,251,112,26,225,30,73,158,218,42,201,206,103,225,68,56,136,227,7,144,87,0,209,74,194,144,103,63,138,160,128,6,111,170,166,96,238,154, +99,240,5,169,135,50,7,231,79,117,2,37,129,60,133,162,230,190,40,108,35,198,17,235,60,41,152,107,1,3,72,159,176,186,137,249,108,131,106,137,21,139,143,104,122,240,80,192,208,214,37,19,26,53,128,20,123,150,203,110,208,2,48,148,149,35,160,50,25,67,56,184, +199,2,147,238,126,241,142,2,164,63,25,172,25,43,31,138,241,189,81,196,208,2,9,255,23,18,246,188,13,241,251,171,225,205,191,200,113,168,161,67,31,203,196,189,126,245,65,129,252,176,32,220,9,254,1,231,32,16,203,138,75,239,232,49,233,25,105,149,227,253, +191,144,206,145,111,2,194,87,0,248,91,164,56,216,140,69,30,185,80,205,49,27,252,217,15,135,33,117,152,0,131,193,91,165,107,248,69,121,174,245,101,185,114,254,6,89,48,239,58,220,79,5,97,14,21,2,160,2,120,40,63,145,46,73,14,183,227,247,48,94,39,176,216, +234,130,160,173,131,192,109,129,217,181,28,251,238,248,187,168,193,38,78,161,42,2,74,49,193,32,187,188,92,127,177,20,225,101,13,95,15,31,129,183,75,162,29,202,192,145,159,72,178,255,117,172,34,47,179,129,132,41,135,85,94,1,135,57,230,208,240,207,168, +174,98,76,53,108,221,5,138,236,144,227,244,166,42,199,86,83,216,102,90,163,80,0,156,115,39,242,78,0,205,4,198,7,224,102,117,136,152,207,199,43,5,96,44,30,140,151,234,86,111,128,161,116,30,21,154,69,18,80,0,50,202,5,224,180,185,5,161,97,12,203,161,43, +33,59,230,79,41,111,6,147,116,39,253,27,49,22,97,152,109,119,51,105,15,148,128,47,224,248,221,219,27,151,202,210,170,58,169,43,41,87,141,155,9,192,207,134,242,200,106,194,51,247,243,59,6,246,2,248,15,200,201,161,199,101,32,250,40,86,250,55,72,145,113, +7,190,77,64,137,197,97,212,14,0,240,190,201,10,210,20,193,106,53,140,125,184,26,36,191,138,202,150,227,159,131,127,192,215,164,190,124,53,120,150,219,97,115,64,17,112,192,223,138,246,2,24,95,66,172,253,102,152,203,31,6,248,239,196,10,153,243,120,17,38, +112,27,44,1,88,53,23,95,45,90,197,109,162,215,222,42,122,221,26,172,162,23,216,100,85,116,6,183,41,224,157,140,210,94,124,134,177,115,183,42,168,168,16,56,202,26,37,200,215,226,203,37,137,188,2,137,222,54,73,30,126,82,18,109,63,134,77,118,33,20,155,122, +220,131,182,66,105,116,149,7,47,90,238,63,243,66,20,192,88,194,34,21,40,103,6,253,204,10,177,45,9,140,11,106,220,66,224,58,59,255,133,39,231,154,98,246,18,243,249,116,165,0,108,184,109,83,228,75,47,220,124,194,203,100,64,20,122,38,246,72,71,98,92,37, +98,30,224,149,174,24,172,43,46,199,30,171,46,81,76,186,160,59,9,85,109,254,143,124,81,128,43,125,134,97,146,177,14,114,44,225,40,245,109,149,180,103,9,246,190,43,165,220,113,236,227,182,13,199,188,96,87,252,142,250,72,224,103,233,27,61,4,179,253,14,233, +30,126,29,142,170,79,72,204,236,6,240,175,146,210,224,61,144,217,113,240,174,205,183,234,226,148,126,216,252,174,7,138,148,195,224,214,227,255,40,111,90,241,21,132,57,150,205,126,37,128,192,141,149,191,57,120,88,98,7,254,93,204,238,255,3,32,92,6,135, +185,165,56,103,253,34,80,15,150,1,181,202,95,169,174,163,243,149,217,183,9,74,194,223,73,224,212,39,68,175,188,10,73,122,174,64,72,222,90,92,11,41,161,20,1,254,153,174,196,72,105,160,50,191,136,188,163,128,29,253,101,27,177,130,212,27,86,168,151,181, +240,82,132,16,126,24,225,132,47,74,252,141,31,74,114,108,4,9,134,154,113,13,102,142,239,48,152,57,205,167,235,78,242,35,20,0,189,44,125,5,192,197,50,98,27,49,142,114,143,159,121,80,84,18,32,52,226,196,134,219,158,193,30,27,20,128,13,27,36,128,151,137, +70,181,234,134,203,173,94,77,164,18,25,142,247,192,83,114,76,140,0,77,45,46,233,216,212,243,23,183,181,45,101,85,178,6,128,243,58,156,203,72,100,191,228,135,2,238,46,45,140,153,50,12,65,55,76,231,62,0,253,143,145,180,231,230,230,229,10,244,67,78,242, +12,21,187,143,235,10,55,118,223,166,153,61,73,113,78,118,223,75,210,214,191,25,251,119,251,100,48,246,34,88,178,20,43,247,249,82,108,180,56,192,175,124,105,50,36,52,149,128,8,182,13,170,165,63,242,130,188,209,249,51,185,164,233,126,40,69,84,159,102,105, +81,224,143,60,29,189,216,31,223,253,167,88,241,31,7,175,220,130,217,202,213,50,248,6,96,127,70,81,146,18,163,97,96,149,44,239,20,107,104,187,36,6,31,150,68,215,245,136,199,190,74,140,134,107,196,104,188,6,64,155,73,104,214,25,79,154,190,55,84,76,148, +114,130,206,40,101,5,253,41,173,21,131,175,250,165,18,92,141,237,129,147,175,73,98,255,35,18,239,216,14,169,140,232,1,181,213,228,157,69,118,250,136,49,67,107,134,82,166,193,50,21,168,108,116,58,144,42,190,112,219,16,214,109,96,26,177,77,132,233,164, +189,42,150,69,140,199,191,86,182,128,216,111,172,126,224,62,77,54,108,132,6,160,117,41,11,128,5,143,165,84,251,150,211,126,144,80,229,18,55,251,17,58,213,41,243,74,22,165,8,255,156,91,118,131,151,86,214,201,124,56,216,240,100,56,18,221,47,211,71,1,82, +156,129,108,52,89,247,58,166,78,62,237,94,36,100,250,189,101,151,203,213,13,75,164,36,132,61,51,135,153,108,143,121,44,112,10,109,149,54,9,151,69,226,253,114,168,251,191,229,212,208,78,25,140,238,198,10,189,13,60,86,141,21,63,87,164,148,225,73,0,55,213, +157,92,20,128,33,172,7,69,250,42,57,216,243,31,114,81,253,219,149,21,0,79,65,229,158,76,196,92,116,106,242,58,28,240,55,71,218,37,182,103,131,138,155,23,3,171,94,40,65,23,46,4,78,90,44,241,50,104,62,173,197,25,230,157,98,118,193,225,178,127,147,196,143, +44,23,163,233,22,84,117,43,244,0,199,67,123,188,194,66,162,35,198,211,229,127,165,8,160,145,56,113,48,80,81,4,223,193,219,37,184,226,54,9,247,29,151,196,190,135,113,40,209,14,73,142,118,224,114,202,49,168,216,204,43,192,191,213,125,236,147,95,242,71, +1,78,122,240,94,176,74,180,154,229,246,99,221,113,156,162,17,46,247,17,211,136,109,196,56,84,54,197,93,211,244,53,176,157,24,79,172,231,19,136,253,198,198,141,246,195,96,144,235,24,236,142,245,65,98,219,27,20,192,227,105,106,198,164,213,18,72,116,173, +20,201,128,142,193,57,170,85,41,0,138,217,83,37,52,38,70,49,178,196,85,35,27,160,200,208,164,207,240,63,204,158,2,92,155,150,98,76,2,224,225,147,60,33,13,101,5,14,98,186,19,105,122,63,186,252,74,185,164,118,62,172,55,167,89,135,192,79,5,205,85,210,212, +13,158,255,112,39,32,1,214,6,217,36,250,210,55,118,88,14,116,254,20,14,125,219,16,195,223,167,86,231,1,240,100,48,176,16,215,145,67,1,250,238,173,185,238,3,124,111,99,137,1,248,22,236,151,230,202,43,198,219,149,235,199,120,87,31,8,7,62,176,226,195,18, +63,248,77,49,177,165,162,5,91,64,207,169,192,255,172,22,43,243,56,182,8,2,92,73,45,194,110,1,124,46,70,94,146,248,161,29,146,56,250,3,209,235,161,8,44,184,23,126,2,80,44,28,7,67,187,6,14,156,61,214,103,213,232,205,219,113,185,134,118,169,166,49,197,44, +156,101,107,151,136,126,227,167,37,20,25,66,56,225,75,216,34,121,14,7,208,97,193,134,213,163,133,227,174,85,250,97,108,37,192,84,130,251,240,242,75,126,40,0,90,107,161,50,208,31,150,105,42,97,227,227,55,197,227,157,107,137,105,196,54,98,28,37,73,222, +11,77,108,154,132,137,241,186,88,29,124,62,177,223,88,115,223,26,107,163,108,68,147,2,176,101,210,17,80,171,54,147,100,172,252,79,22,21,10,136,189,213,225,216,128,162,143,154,23,234,175,20,126,56,205,189,152,39,194,13,247,248,169,128,83,32,89,170,151, +112,28,168,86,49,113,15,57,227,4,77,252,96,236,187,74,170,228,166,170,6,185,111,201,90,89,89,237,120,104,159,85,105,33,1,191,154,120,106,238,58,160,15,147,51,147,245,156,28,216,34,7,187,255,31,20,128,157,208,208,139,192,249,16,198,240,212,215,241,55, +11,157,246,166,189,0,216,116,173,74,78,13,110,81,249,1,92,223,131,105,127,110,222,30,96,211,220,28,56,34,201,246,63,131,227,219,187,129,97,233,250,77,76,108,172,3,126,220,46,209,152,154,53,137,240,166,110,28,229,251,3,188,190,7,32,125,11,20,129,119,193, +100,187,28,66,155,227,232,8,8,130,166,18,222,206,251,137,85,122,242,55,218,113,78,83,160,48,23,85,72,112,229,155,213,203,236,57,32,241,214,205,8,41,220,133,116,169,135,64,182,195,48,10,96,155,32,72,111,114,206,78,244,201,87,6,166,113,244,40,52,16,194, +60,110,254,79,253,81,28,29,14,47,49,45,97,34,33,152,6,235,149,23,5,242,58,160,35,210,46,105,245,218,88,47,66,236,55,228,243,27,84,115,66,137,100,79,204,208,14,26,65,125,89,140,30,90,208,177,243,219,78,154,28,12,137,152,7,16,46,209,239,60,154,228,75,181, +216,179,104,57,189,52,59,15,211,88,152,239,14,164,218,208,25,115,29,169,207,253,125,122,243,99,157,37,109,113,123,127,246,125,229,181,242,166,218,22,121,219,162,213,194,12,140,133,94,24,194,71,161,207,127,252,31,79,142,96,155,233,20,194,247,94,144,35, +125,27,37,18,239,132,213,162,14,47,240,142,18,168,46,223,185,191,167,191,135,124,18,247,125,163,9,242,126,254,158,59,253,61,155,240,4,102,71,60,245,36,152,234,70,116,17,74,100,78,10,105,165,168,7,2,98,101,172,178,172,97,91,165,231,89,73,116,124,19,66, +251,78,49,22,126,16,102,246,149,176,10,212,225,123,218,176,120,11,149,58,136,184,84,87,114,234,38,47,126,64,46,214,172,144,48,95,151,143,193,202,177,5,219,3,251,208,191,221,98,246,60,15,61,28,171,210,16,252,35,168,228,48,156,80,245,107,150,242,143,23, +228,119,159,137,185,57,158,1,208,134,26,247,155,41,126,219,99,65,76,139,1,219,138,244,6,112,43,198,41,239,69,51,141,96,32,16,75,38,14,134,18,38,157,17,132,216,111,60,240,128,88,27,54,32,128,201,72,12,107,18,234,64,156,32,191,242,132,131,184,234,137,195, +9,168,111,172,155,109,64,73,139,210,234,142,102,90,0,48,169,41,94,236,245,155,250,216,255,145,6,5,56,248,4,254,102,152,242,185,30,222,25,69,200,40,156,248,126,23,217,250,238,194,222,254,85,141,139,100,190,3,252,38,192,149,227,150,254,72,165,209,160,12, +46,181,87,251,108,27,87,243,182,46,59,130,92,237,61,163,71,177,226,127,70,142,15,252,8,26,121,66,194,250,2,100,227,163,67,31,39,37,245,94,175,10,93,111,12,25,137,35,22,30,255,10,141,158,217,81,133,28,5,243,63,146,167,36,187,30,1,47,65,105,204,153,15, +197,217,45,227,179,240,130,34,160,133,214,33,249,206,9,137,238,252,77,59,133,107,203,167,177,112,94,135,156,2,200,204,23,68,50,23,22,119,229,236,240,136,253,97,33,253,4,39,208,140,204,62,193,252,108,44,187,89,189,204,190,195,112,28,188,27,10,213,46,108, +222,62,143,109,130,231,96,166,91,131,110,131,182,100,30,110,207,185,125,43,164,238,204,196,182,144,254,80,28,245,186,229,78,235,211,153,157,246,181,196,52,98,91,49,19,241,112,56,243,95,44,98,59,254,117,36,12,236,195,161,16,251,13,42,192,104,16,44,181, +155,199,190,252,226,45,71,12,158,202,162,154,152,78,39,115,211,27,174,212,130,129,21,216,43,105,71,56,96,151,148,34,17,136,45,12,167,110,139,123,197,197,48,73,179,216,78,103,238,167,185,105,223,92,168,133,192,223,0,97,88,12,198,216,69,224,7,115,124,174, +105,133,220,217,180,92,86,204,107,148,6,39,126,63,9,97,206,152,210,194,115,182,180,176,119,143,182,113,255,151,47,112,80,215,208,126,132,241,29,150,182,129,95,72,251,240,223,195,153,239,86,229,201,111,192,145,193,164,115,143,71,51,114,34,63,113,106,226, +4,1,41,11,45,228,36,157,248,213,44,248,219,238,143,21,193,81,93,209,55,0,82,87,231,129,230,52,139,195,98,69,229,20,138,0,229,65,252,224,167,176,130,174,132,159,192,239,64,152,223,34,122,69,139,104,37,77,54,125,21,15,208,82,68,158,41,176,162,172,20,164, +33,144,195,225,213,64,245,18,9,241,181,226,90,73,118,223,41,241,174,54,49,79,60,15,165,224,73,248,89,64,160,23,47,83,10,131,114,94,83,137,134,10,172,79,51,170,57,88,72,4,75,37,80,191,42,173,86,19,187,40,31,137,101,196,52,98,155,178,70,166,85,75,174,46, +182,44,98,59,60,110,142,252,254,245,155,199,192,70,106,119,150,246,48,235,193,173,87,194,197,116,43,130,153,181,54,126,74,5,197,27,17,100,98,31,116,30,194,37,142,34,236,234,148,82,0,20,195,171,9,144,26,33,26,74,43,228,205,56,84,230,73,100,157,227,186, +207,203,53,93,106,45,46,140,171,56,222,53,96,214,82,252,222,23,135,59,8,56,224,171,11,47,145,155,177,226,95,134,253,253,202,48,195,50,177,211,10,112,37,64,233,19,28,253,212,23,30,255,224,100,35,175,112,181,79,240,143,194,161,174,99,112,143,116,143,48, +126,255,39,216,86,122,4,160,127,155,148,5,223,135,43,145,165,143,9,123,20,167,123,220,240,9,143,135,58,98,243,124,26,252,62,225,246,130,255,211,28,57,130,213,127,51,218,153,7,159,138,113,106,80,17,160,163,33,184,182,232,58,197,35,137,246,239,35,249,208, +103,97,210,253,12,124,5,222,132,124,2,75,37,80,197,252,3,14,248,115,229,172,198,192,27,41,56,222,244,115,254,64,123,92,222,160,34,192,118,34,45,173,222,188,86,189,172,101,235,145,101,240,3,216,250,64,198,193,195,56,161,176,99,19,172,2,171,109,171,0,37, +33,183,7,120,143,95,210,160,0,104,14,154,233,53,200,81,17,162,116,76,163,112,140,48,94,196,50,98,154,238,97,2,32,133,233,228,29,96,60,123,0,204,7,246,111,141,83,1,144,246,161,114,126,143,115,2,173,142,161,222,24,14,12,208,160,16,40,233,152,215,25,64, +129,172,35,254,127,36,113,80,6,34,61,240,134,102,35,32,212,217,184,20,11,227,204,47,43,173,134,2,48,2,131,170,189,21,144,226,173,115,242,50,42,73,52,243,151,128,200,109,204,209,15,38,249,135,133,107,229,46,156,200,183,168,178,6,38,43,122,28,131,111,48, +9,20,240,3,96,11,171,216,48,206,182,177,237,163,208,182,143,245,189,130,3,121,94,131,185,255,73,100,238,59,2,51,255,165,82,18,124,23,56,41,147,132,61,249,233,173,114,128,77,156,64,178,164,245,232,201,116,211,88,77,247,179,58,150,206,44,59,235,214,84, +223,34,7,169,70,161,232,73,193,115,17,139,13,38,129,116,91,136,223,75,145,136,231,69,152,206,191,10,223,128,95,131,2,112,189,24,181,216,30,168,187,28,70,0,91,217,77,119,241,145,215,110,81,152,211,90,161,232,73,154,162,95,101,245,56,171,6,175,230,139, +196,68,72,97,178,255,4,82,15,63,3,203,7,194,188,227,224,41,166,86,70,196,142,90,22,249,138,64,106,195,5,58,91,201,49,9,226,124,135,116,139,139,93,196,178,145,248,65,165,0,216,210,42,221,154,178,190,94,97,58,177,221,210,69,69,0,184,152,175,20,128,213, +93,117,106,86,6,44,235,56,224,182,85,15,106,203,204,184,149,196,135,142,74,156,117,3,82,172,128,142,128,69,48,151,236,128,215,164,235,8,152,226,173,206,101,140,51,191,28,166,106,233,57,38,6,38,8,215,121,126,57,147,2,132,23,190,184,235,61,2,1,50,130,253, +216,30,8,144,175,47,186,20,30,253,151,74,37,78,86,12,143,39,238,1,240,131,166,133,103,234,119,251,164,160,31,161,163,187,228,120,223,171,210,49,188,29,171,253,151,161,176,32,108,55,208,4,224,175,135,140,36,240,83,248,23,106,129,249,31,99,80,89,180,94, +170,74,8,78,211,93,242,0,246,147,116,65,43,93,132,177,224,209,200,45,147,124,155,175,143,192,24,202,1,17,201,194,12,56,5,202,59,96,32,64,138,214,147,127,15,83,250,10,9,28,187,18,86,1,28,241,219,242,38,172,248,10,223,193,149,74,47,193,95,21,87,25,96,206, +250,138,122,245,10,54,174,148,208,149,191,137,140,131,47,35,95,2,142,43,110,123,1,91,3,149,184,13,107,60,158,78,168,238,229,253,190,156,180,137,120,214,79,144,69,47,194,1,79,45,235,207,250,34,245,183,196,178,209,228,14,41,209,239,2,149,211,12,123,77, +253,49,231,189,18,163,107,6,130,154,158,140,91,135,136,241,188,208,197,124,165,0,236,65,56,0,162,2,49,57,13,204,206,100,167,174,7,150,37,99,48,23,57,124,117,222,154,167,225,11,2,120,28,86,170,129,72,159,170,221,22,239,233,61,232,226,74,120,197,98,50, +216,238,12,233,221,59,155,175,166,89,7,174,81,210,69,115,32,17,18,236,120,35,78,80,252,72,243,74,121,251,226,75,164,186,8,251,92,74,160,144,124,248,190,160,128,159,237,61,151,33,219,122,95,144,67,189,191,4,191,236,145,88,242,56,218,141,88,18,0,63,157, +91,24,190,199,227,55,11,189,4,224,189,62,150,216,47,107,26,191,32,65,198,25,79,99,73,198,79,73,116,228,69,88,53,251,112,32,227,113,172,8,171,145,14,172,65,130,69,151,72,48,188,210,6,134,156,63,223,30,187,64,81,45,182,228,185,2,61,119,28,115,254,200,84, +42,164,255,7,172,66,194,21,191,190,26,59,19,72,57,60,240,115,49,135,54,97,47,253,49,88,5,46,193,106,250,118,108,17,92,58,73,109,147,243,227,36,23,230,239,35,53,119,29,218,58,243,87,96,182,38,201,3,171,222,44,198,138,91,37,60,132,67,151,14,195,42,112, +108,11,206,36,104,197,120,67,22,240,90,94,164,34,36,120,63,251,198,215,28,47,72,203,108,69,122,37,180,238,215,177,141,146,166,249,31,164,115,177,139,88,70,76,163,19,30,87,213,249,46,28,94,96,58,230,123,178,83,97,60,26,224,98,190,82,0,30,144,13,214,6, +124,56,28,51,79,148,133,229,136,17,210,174,139,69,212,246,121,158,45,0,100,187,36,86,110,139,165,63,138,196,9,177,30,100,147,171,193,103,220,6,72,93,104,172,172,178,21,0,213,185,124,83,187,0,159,71,224,103,126,254,147,48,251,13,226,24,94,230,27,127,107, +81,153,252,218,252,21,114,15,128,191,138,199,40,59,165,208,18,247,184,38,51,119,252,233,68,51,22,239,67,8,223,75,114,168,231,97,240,200,49,48,42,207,216,102,220,62,0,6,91,20,228,33,15,230,153,75,194,52,127,83,81,209,192,243,69,210,140,212,182,52,255, +167,203,239,231,127,32,169,128,250,161,4,69,71,54,203,88,255,215,17,41,134,88,114,235,13,117,11,5,3,11,113,35,130,13,179,128,241,86,9,149,221,47,197,229,111,193,223,185,140,87,118,230,46,172,74,122,245,221,48,189,163,13,4,28,21,178,102,183,193,211,159, +202,28,14,9,77,147,58,210,60,211,71,193,138,236,199,49,190,8,183,235,252,5,14,128,129,34,48,255,173,176,12,96,123,6,206,96,116,44,36,93,79,131,100,234,178,41,111,253,84,202,128,243,52,71,25,208,144,36,77,175,110,193,235,215,36,116,249,7,96,241,56,136, +172,131,79,32,253,240,1,236,142,192,50,28,131,147,166,4,65,6,28,198,196,51,9,56,139,20,109,102,206,108,202,41,125,177,152,8,224,212,92,99,213,61,206,152,219,243,41,149,103,168,57,12,62,33,134,17,203,136,105,121,201,39,50,89,227,96,96,4,166,235,192,244, +35,196,120,94,226,98,190,194,72,240,138,245,181,199,222,26,254,212,109,143,71,191,242,194,205,111,232,65,50,56,71,63,255,133,105,86,67,129,22,233,137,188,134,112,192,118,165,0,40,13,117,34,67,79,209,44,58,168,221,95,81,39,15,141,244,203,60,220,87,200, +198,223,41,186,146,241,215,28,60,38,239,169,37,19,66,0,180,33,61,50,207,33,255,104,101,131,220,139,21,255,173,45,43,198,15,230,153,248,16,229,26,58,241,3,143,254,182,45,16,20,179,182,112,77,32,134,124,40,218,129,253,253,167,228,72,239,163,18,77,118,1, +240,121,106,92,16,251,84,236,41,11,167,93,62,29,204,236,167,102,243,147,171,255,72,226,144,172,170,251,52,120,189,74,85,149,27,56,177,133,21,87,252,195,61,95,148,248,232,87,1,244,156,238,220,248,225,115,24,30,201,247,0,62,123,51,8,202,193,147,50,214, +251,136,196,134,239,146,210,154,191,146,80,73,230,102,79,84,122,78,97,66,30,189,225,205,146,232,121,12,230,245,139,241,125,161,141,21,105,230,180,41,192,148,173,44,56,225,113,112,155,68,251,159,65,40,225,66,156,59,112,23,28,238,222,134,19,10,145,124, +72,119,249,14,151,17,40,149,140,202,205,232,169,71,231,234,199,57,178,19,109,196,103,122,221,74,245,10,37,176,218,107,127,93,226,71,113,30,1,28,8,205,225,253,98,141,117,161,127,80,168,153,108,136,14,191,202,129,176,208,198,43,87,4,154,164,30,28,252,99, +141,30,145,162,245,159,68,210,73,208,64,149,52,198,214,81,186,136,97,196,50,98,26,177,205,163,98,17,211,225,127,243,6,14,1,74,16,235,53,237,113,101,26,85,10,0,27,21,174,239,164,36,16,43,16,232,24,29,192,42,17,91,168,124,139,87,26,189,230,109,217,21,122, +66,27,90,137,244,199,30,69,248,196,159,170,202,236,21,81,234,245,26,216,219,186,189,102,190,60,52,212,173,156,216,24,243,48,87,10,123,74,179,77,51,128,159,39,210,31,138,14,227,131,160,124,122,222,2,185,19,71,241,222,190,8,103,148,227,61,75,222,7,87,61, +245,66,63,48,210,24,43,149,87,192,17,90,145,248,128,12,69,58,100,127,215,15,229,196,208,163,104,116,9,76,252,149,78,210,30,197,178,78,79,46,84,111,33,127,135,4,35,129,33,105,196,234,95,15,132,49,38,233,89,187,38,239,153,61,178,137,216,113,25,236,248, +117,56,128,61,11,154,46,193,165,76,145,205,233,236,206,7,87,32,145,99,236,184,120,45,80,15,69,96,143,12,117,92,37,165,117,207,73,81,217,141,248,46,7,69,9,68,172,168,106,97,229,8,213,162,66,182,99,98,91,114,240,140,156,86,225,210,8,180,129,101,64,3,24, +90,137,17,128,228,183,240,250,50,20,153,15,99,123,224,29,200,41,208,136,232,2,198,222,171,69,19,72,75,158,68,191,206,1,221,156,54,46,135,149,129,223,168,152,45,184,90,189,172,145,14,28,83,140,180,202,8,43,84,201,134,122,183,64,25,0,223,4,23,96,220,220, +220,9,192,7,213,207,28,54,163,144,170,162,233,31,39,247,233,181,107,197,184,232,205,182,53,196,1,244,84,155,233,98,214,72,108,88,97,89,80,123,51,102,93,174,146,95,165,218,10,117,29,25,57,72,76,39,182,243,19,23,235,249,247,184,2,224,122,5,154,166,217, +106,89,90,151,174,107,117,38,93,191,41,143,242,90,120,38,64,80,122,65,171,65,236,191,216,37,189,38,48,23,253,205,0,59,105,221,42,101,88,29,246,142,11,188,188,118,36,175,15,179,69,190,200,124,8,162,34,144,107,55,194,32,5,30,252,95,152,191,74,214,67,25, +186,126,254,114,132,192,217,43,22,70,74,112,175,63,61,170,78,111,119,76,104,199,52,127,187,73,123,6,35,39,164,111,164,13,251,251,63,134,99,223,15,161,20,94,132,48,190,133,16,60,9,140,166,11,92,211,219,166,233,174,221,94,253,31,145,5,149,191,3,231,63, +134,199,229,170,192,230,103,14,202,80,231,199,16,6,78,240,95,132,138,7,241,226,136,187,192,118,190,103,129,111,148,238,191,90,70,186,110,66,254,167,55,224,31,176,242,124,23,167,254,185,195,108,129,16,146,217,52,126,8,123,208,223,0,160,96,142,206,0,31, +13,187,147,14,176,27,204,22,89,135,149,242,127,35,229,240,159,194,63,224,227,200,43,112,55,204,234,107,176,85,0,231,99,221,217,78,115,1,210,85,12,82,167,84,158,175,116,6,134,0,71,97,95,10,127,144,139,145,130,24,6,26,115,224,24,182,65,90,225,43,112,92, +204,83,47,33,137,211,211,48,4,32,189,90,209,98,88,6,208,79,101,21,128,69,201,237,107,158,91,62,125,143,195,2,41,217,42,225,203,62,131,8,17,40,119,105,130,191,221,46,155,174,196,176,33,232,75,117,225,160,36,188,224,117,88,247,145,175,37,144,72,88,93,88, +92,181,178,109,46,214,243,239,113,5,96,183,19,9,160,155,230,17,75,215,219,145,52,160,46,22,81,92,193,235,242,90,152,42,49,140,212,172,157,163,251,96,234,189,9,30,233,229,96,205,212,86,70,238,117,77,56,26,248,10,12,94,87,44,170,50,2,210,222,49,149,232, +203,107,39,115,248,48,246,171,14,128,94,13,97,243,122,204,222,240,248,27,0,255,173,80,130,214,53,44,24,95,241,51,134,159,222,252,174,163,95,14,155,144,81,85,28,43,119,114,169,196,61,0,246,238,225,131,8,225,219,135,76,125,143,73,215,200,131,56,25,239, +46,88,113,174,197,101,140,221,47,124,135,190,212,9,97,239,253,235,218,152,44,168,186,5,253,172,68,255,24,113,225,172,36,83,175,232,172,43,201,13,154,140,244,126,79,204,216,227,248,147,30,247,176,2,165,172,238,81,112,113,155,128,217,56,27,100,184,251, +51,82,217,252,3,88,129,177,221,146,85,65,189,20,39,0,200,64,221,13,162,29,255,27,212,198,190,242,121,108,243,76,40,228,87,210,134,135,242,192,44,28,124,15,204,229,135,17,74,248,1,56,137,173,129,34,240,17,196,139,95,142,244,195,88,45,23,55,217,29,114, +128,213,182,8,216,160,80,144,61,85,22,11,103,140,156,241,8,84,46,196,89,10,11,149,58,104,246,222,128,176,194,15,195,50,112,64,146,109,191,80,202,128,224,144,44,173,104,62,198,148,254,28,160,11,194,60,103,206,88,158,103,20,120,12,125,164,85,138,46,253, +132,4,151,92,115,158,139,46,252,49,229,26,229,108,52,57,164,48,140,88,230,77,250,95,53,28,42,1,16,206,0,104,15,0,219,217,114,23,235,249,247,184,2,240,208,125,27,77,12,191,54,148,48,90,203,116,179,29,123,6,151,34,49,191,39,51,147,196,10,5,150,75,247,216, +235,50,18,237,147,48,179,207,165,168,133,185,235,218,242,112,145,252,229,146,117,114,247,235,191,146,213,197,21,210,202,24,100,246,120,22,21,14,14,50,129,99,159,95,147,125,56,160,167,13,233,63,63,223,124,177,220,219,114,49,178,246,53,140,175,248,221, +172,125,122,214,224,146,43,226,97,138,96,60,21,216,161,237,38,194,178,218,7,119,35,69,239,118,28,193,251,56,142,224,221,44,33,196,238,151,135,222,175,28,252,10,59,132,47,51,154,48,69,113,28,126,12,117,165,119,75,77,217,226,204,42,57,231,46,114,132,38, +137,232,126,236,227,255,131,243,45,1,43,19,206,231,138,23,182,150,216,207,37,58,252,148,20,87,188,93,189,207,172,46,167,41,206,47,29,102,243,64,245,125,98,34,95,131,24,48,43,43,80,61,243,154,130,127,199,54,243,133,99,122,181,34,152,137,193,207,137,182, +191,64,56,33,66,240,170,238,67,255,174,21,99,222,69,18,152,183,6,93,113,232,207,21,179,154,131,153,140,71,158,40,226,42,2,124,28,101,46,87,247,104,115,96,222,18,245,10,46,185,92,204,149,55,73,114,168,31,125,221,42,137,195,63,135,98,240,58,148,33,40,3, +12,155,228,253,138,54,228,69,190,102,80,225,22,92,228,152,132,22,193,25,246,242,247,170,177,117,251,159,86,47,28,172,34,118,17,195,136,101,158,41,0,24,4,229,211,23,73,182,19,219,209,15,205,193,122,213,165,113,5,0,227,102,109,216,125,95,104,195,154,141, +49,164,4,62,225,165,51,152,157,18,184,66,186,198,158,130,23,229,255,135,163,129,211,34,191,2,23,174,114,47,133,233,91,16,190,17,1,19,67,175,243,32,2,51,189,118,167,115,53,215,78,202,179,31,138,77,119,60,38,127,216,176,76,62,188,244,50,36,239,169,61,13, +252,206,138,191,144,178,246,185,22,26,242,87,52,57,40,109,189,155,177,226,223,133,140,125,207,33,89,198,14,88,123,214,34,118,255,122,140,97,28,33,51,72,69,60,107,139,142,254,29,150,198,242,207,34,251,31,14,8,201,197,234,95,9,107,93,198,134,158,128,220, +58,0,89,188,0,212,203,198,5,54,164,160,43,50,248,83,71,1,200,114,48,20,56,64,241,67,56,160,222,128,104,128,238,47,99,37,253,110,84,74,37,101,134,22,101,6,39,141,177,244,40,186,26,226,22,94,76,253,56,194,183,231,75,146,44,189,95,180,138,27,197,168,94, +14,235,192,149,248,30,209,73,227,197,86,214,198,223,22,226,31,28,47,70,70,176,144,183,8,108,80,120,2,213,176,12,224,21,108,94,33,230,234,183,65,25,232,70,194,161,77,18,63,252,223,56,123,1,206,131,200,189,161,209,65,146,247,242,190,153,160,8,208,33,54, +138,116,189,45,183,74,209,77,159,132,50,131,104,15,164,59,87,14,144,138,0,233,255,24,141,141,40,12,11,6,86,131,116,158,236,255,171,70,219,88,174,157,216,112,219,166,4,49,94,211,54,142,55,102,92,1,176,187,183,71,253,194,48,31,140,140,168,73,201,163,129, +148,62,147,126,247,51,191,67,57,2,130,209,186,34,109,153,249,1,144,113,81,154,202,171,229,63,23,175,147,95,123,227,121,185,164,184,82,14,0,44,179,53,176,102,222,171,236,239,228,96,177,103,131,156,80,248,63,130,144,190,79,204,107,145,255,185,114,189,44, +174,168,5,112,194,20,135,194,61,126,146,160,112,86,252,170,89,234,7,45,52,195,209,147,210,214,247,178,180,225,52,190,225,216,54,196,239,247,32,76,102,33,218,191,30,204,198,164,61,249,79,150,113,186,133,211,255,23,143,27,78,152,3,8,191,188,83,26,202,233, +13,159,139,2,134,128,192,77,38,78,74,98,236,249,92,84,136,58,40,188,241,51,241,162,196,70,183,32,42,224,42,188,195,115,20,23,242,155,76,138,125,191,78,243,114,217,123,224,2,128,237,9,134,156,17,72,103,116,65,191,76,242,45,38,30,66,40,53,227,157,232,91, +55,246,206,255,6,167,246,45,17,237,4,18,12,85,93,38,122,227,53,202,95,32,59,26,122,64,40,90,46,148,88,69,63,137,8,44,200,89,17,168,224,11,126,3,245,75,177,106,254,16,172,58,135,37,113,224,73,248,14,192,145,112,184,29,198,3,172,222,84,194,33,222,79,233, +171,42,193,111,167,14,214,227,121,65,187,144,65,212,104,190,65,138,111,251,125,40,106,180,74,101,3,254,118,31,185,255,223,23,107,147,186,162,203,48,223,243,47,211,208,10,142,148,65,44,199,239,131,54,153,109,140,119,73,126,166,2,208,89,167,102,60,140, +178,219,146,137,64,23,253,0,146,73,212,193,237,247,60,23,2,65,24,9,93,78,34,165,235,10,164,231,12,42,231,26,50,205,212,77,225,21,4,65,29,40,120,211,252,101,114,207,169,131,242,232,232,128,44,132,247,123,7,6,150,108,56,147,10,93,247,152,192,167,67,173, +54,64,3,76,164,143,33,217,209,39,87,94,37,23,85,55,130,54,182,150,206,129,98,41,140,61,254,115,199,106,48,114,92,14,117,253,183,156,24,124,1,185,250,225,101,12,160,215,113,4,111,88,175,66,203,103,70,210,30,69,224,108,127,0,168,19,201,221,0,255,15,203, +188,210,101,224,85,40,166,238,74,43,195,186,109,11,130,46,145,161,23,144,240,227,33,40,128,139,80,83,54,171,127,54,132,38,235,133,144,133,111,72,100,248,151,182,2,64,193,152,77,91,29,229,60,80,177,0,38,229,183,73,226,216,103,176,127,126,155,253,44,62, +114,198,23,240,189,218,210,224,246,0,146,108,235,235,213,123,107,24,137,119,144,139,33,113,234,103,112,22,92,7,15,243,75,145,93,238,45,80,20,176,210,60,163,156,59,111,206,248,218,243,55,144,174,206,24,162,99,234,191,122,31,132,34,192,87,201,101,112,242, +196,138,23,139,45,179,23,202,64,43,147,14,189,138,60,3,112,232,198,105,120,234,112,34,30,217,140,5,158,231,22,2,42,36,56,40,201,74,244,74,176,233,122,41,190,253,15,193,139,238,118,115,166,40,193,197,23,146,217,37,71,21,118,17,195,136,101,94,20,228,255, +133,59,159,166,37,226,86,23,18,62,109,83,109,112,48,222,109,207,153,10,192,51,155,148,2,16,144,146,45,166,22,129,35,96,160,46,153,160,37,96,106,208,117,43,204,213,111,19,102,193,176,190,66,78,12,191,32,163,241,247,72,37,20,0,170,51,227,188,55,197,131, +8,130,220,103,110,41,159,39,159,92,114,153,60,186,243,41,44,137,13,117,216,205,168,39,61,154,162,193,103,125,77,49,0,127,91,101,230,63,74,83,148,25,147,42,36,242,248,64,121,157,252,206,178,203,229,114,56,247,185,254,14,188,213,22,27,249,31,39,62,123, +98,113,77,252,46,207,36,48,233,7,70,143,201,129,238,71,228,228,224,83,24,19,59,57,115,64,43,70,166,198,50,180,155,255,148,181,105,98,53,179,248,111,100,3,51,135,165,52,120,131,52,85,94,162,250,57,113,28,51,235,56,133,142,14,218,142,74,2,49,199,54,51, +48,212,51,23,91,40,74,36,72,50,242,10,20,11,28,104,18,92,132,122,109,110,203,172,173,224,81,42,178,204,223,128,253,241,228,41,236,145,43,1,73,222,101,189,179,169,128,118,202,4,142,190,233,140,30,64,193,216,155,253,79,193,195,254,89,73,28,249,46,194,34, +111,65,146,161,59,177,138,70,22,70,21,158,235,204,97,10,59,150,84,5,158,125,117,158,127,162,173,78,115,213,131,93,1,141,126,176,47,122,195,42,245,10,93,133,60,3,221,112,30,60,177,67,98,109,59,65,130,54,236,250,244,33,212,14,214,31,100,162,28,223,46,224, +248,43,122,77,51,31,40,75,4,18,110,197,145,248,22,89,32,195,171,238,147,240,250,15,1,252,233,232,138,103,103,65,115,151,4,163,241,65,133,93,196,48,98,153,39,5,141,49,130,180,10,38,219,137,233,170,13,14,198,187,237,153,56,124,234,179,127,125,245,202,224, +199,215,111,141,127,249,133,91,158,42,46,55,110,27,27,78,208,54,231,108,4,185,183,229,227,55,12,165,90,41,114,40,255,92,126,251,210,86,172,150,150,40,64,79,199,55,129,108,196,14,38,192,84,255,188,243,57,249,244,209,215,101,57,78,10,60,133,247,133,106, +112,100,155,105,200,175,7,147,118,162,157,131,72,224,83,133,208,169,223,174,106,148,247,46,92,45,215,54,45,197,183,133,87,206,222,195,142,38,134,0,252,199,101,111,215,247,176,199,255,43,172,112,145,114,86,173,28,169,89,115,84,166,121,146,23,30,137,84, +139,104,254,143,155,39,165,177,236,93,114,227,242,63,128,53,234,76,29,60,163,102,221,115,8,65,0,0,64,0,73,68,65,84,43,64,229,234,127,19,188,246,111,3,117,23,163,26,154,28,115,33,120,56,94,33,140,214,113,41,169,254,177,148,84,189,11,67,71,0,207,70,36, +216,51,211,138,245,73,116,231,63,98,191,252,167,208,7,22,162,94,111,86,74,232,96,30,139,43,114,65,3,210,145,123,195,214,32,182,67,120,254,192,253,18,64,20,65,128,171,80,247,64,34,182,76,129,34,238,203,2,152,242,216,193,41,31,101,158,218,9,75,200,62,100, +32,60,34,86,255,94,88,7,142,99,187,4,169,223,85,226,33,244,157,214,1,210,134,82,218,85,132,166,172,53,133,11,200,179,216,235,183,18,163,162,33,21,118,160,122,157,20,173,123,175,24,75,111,76,225,230,212,46,177,157,155,97,173,29,58,44,255,241,250,82,228, +255,135,175,139,242,101,242,68,222,37,139,203,12,125,108,40,241,244,31,220,240,204,155,92,108,159,216,147,115,164,79,123,107,196,230,80,205,218,19,139,38,111,195,197,217,204,244,137,207,74,243,111,123,223,97,12,50,172,119,20,167,164,65,1,72,7,252,249, +48,118,132,91,1,6,192,244,253,203,175,144,215,6,187,229,91,253,167,100,73,176,72,41,1,105,54,104,90,47,39,123,144,208,76,224,195,228,11,7,113,154,161,0,248,31,104,90,41,119,52,45,147,27,17,199,207,114,122,133,173,222,122,254,131,192,79,193,100,135,175, +225,96,33,164,19,237,25,57,44,251,59,191,43,29,35,255,137,16,196,107,176,191,15,51,152,218,79,118,39,129,251,219,243,230,231,189,1,38,64,14,134,53,89,88,125,141,2,255,179,21,167,244,27,4,90,170,213,127,20,251,244,219,109,108,54,24,163,141,213,85,78,10, +45,0,112,161,197,175,248,232,86,177,42,97,182,134,245,134,156,104,207,176,76,30,130,153,201,168,28,120,141,235,243,214,99,223,248,161,220,10,250,76,154,148,183,123,38,240,190,2,36,140,21,44,97,38,50,198,69,247,192,249,12,81,17,70,3,78,39,108,188,83,244, +82,36,25,42,134,229,192,85,182,148,34,64,178,83,178,241,53,211,138,205,51,129,198,181,18,226,11,205,55,59,118,33,51,228,9,132,23,30,133,101,4,25,8,251,119,225,44,134,189,112,36,132,69,36,136,168,2,36,41,178,163,10,168,12,144,23,211,44,92,237,43,58,7, +161,107,13,96,175,255,32,172,45,151,33,196,239,30,9,175,123,151,77,95,119,217,158,102,213,147,93,238,98,20,49,139,216,85,170,208,115,194,152,79,118,211,244,125,166,3,195,209,127,75,109,252,143,99,251,132,231,157,163,0,72,157,237,7,0,254,218,130,211,131, +198,2,186,86,140,115,1,21,137,38,220,151,151,63,77,100,78,42,70,56,216,177,129,205,178,12,39,116,133,116,238,151,165,39,120,184,21,192,248,247,122,132,18,254,249,37,183,72,199,246,39,229,177,177,65,153,143,237,128,30,244,170,80,166,17,129,191,4,109,221, +69,224,135,249,236,175,91,86,203,77,13,139,229,218,230,165,74,129,225,8,176,231,133,177,191,79,121,77,13,221,5,126,28,222,4,45,158,222,252,71,122,127,34,221,163,27,49,86,215,195,204,125,59,174,163,201,159,215,250,133,244,50,97,150,47,11,93,42,205,85, +216,27,70,201,58,238,95,41,96,176,42,140,237,199,11,137,75,96,114,20,11,171,169,156,150,33,184,157,204,151,68,236,11,80,50,238,70,96,205,117,182,48,118,129,41,147,103,49,189,44,138,209,112,133,36,218,111,21,107,4,91,148,88,1,142,167,226,85,223,206,133, +31,152,213,238,92,10,173,66,135,17,198,217,254,35,177,142,255,190,232,21,31,132,34,240,30,56,15,94,140,132,52,240,172,15,59,219,8,36,11,239,33,184,21,140,4,99,163,166,42,142,180,37,154,40,105,6,121,214,112,137,132,248,194,39,230,64,27,182,10,218,176, +59,208,129,223,175,195,135,96,27,114,44,60,1,101,0,103,48,224,76,24,161,98,203,251,206,8,51,116,235,114,149,34,252,166,130,164,210,92,227,114,132,71,91,177,14,252,126,26,14,152,255,67,140,133,31,68,244,194,69,72,231,188,22,95,226,58,53,127,108,94,196, +7,89,22,182,5,71,208,39,71,20,102,17,187,136,97,94,20,246,76,195,254,63,49,28,77,178,205,255,46,182,79,104,208,185,10,192,173,183,66,205,218,4,208,177,182,39,44,109,16,89,132,138,19,94,28,97,132,70,90,24,232,176,94,39,71,6,127,9,167,138,143,2,84,240, +25,62,71,231,210,42,244,134,103,44,252,146,170,90,249,231,43,238,146,143,109,123,66,158,132,18,64,167,64,110,7,144,8,172,55,223,133,207,100,40,31,243,245,239,86,9,124,44,97,2,159,55,97,197,191,182,174,5,9,112,184,143,139,137,129,54,50,177,68,186,253, +86,55,231,248,135,90,241,163,37,220,115,102,233,70,222,240,83,136,225,63,62,240,48,206,110,120,14,14,137,171,224,205,143,180,151,72,218,51,219,189,249,211,39,45,143,187,14,202,252,138,235,192,203,72,110,69,5,148,194,42,227,2,14,82,227,144,148,120,100, +167,131,9,116,25,205,181,2,192,173,132,26,44,218,79,64,201,216,109,43,0,10,124,50,153,141,110,103,41,162,144,248,8,25,16,245,202,117,112,144,123,193,253,98,142,254,6,45,185,29,192,89,110,212,96,245,251,110,88,5,16,94,247,198,123,36,17,94,139,173,242, +247,96,123,224,122,40,5,112,158,172,90,230,140,59,46,39,128,177,168,241,176,255,44,248,159,138,231,29,190,103,251,169,16,160,253,1,36,80,226,75,201,227,145,27,112,6,67,151,36,7,113,106,229,201,151,37,217,129,35,190,161,12,152,38,50,159,132,208,127,196, +236,171,62,227,183,166,162,72,96,55,197,105,142,138,30,230,24,72,217,138,207,199,160,60,93,39,250,226,183,139,222,242,215,8,199,108,0,13,151,216,228,113,149,144,28,210,205,157,13,113,68,103,17,179,136,93,196,48,47,10,219,162,7,176,224,72,90,131,196,114, +213,6,7,219,39,182,199,25,133,137,31,137,60,100,221,167,223,175,109,76,34,31,192,238,80,145,190,58,22,81,26,192,164,215,158,121,103,238,223,209,15,96,32,246,152,124,252,242,67,136,153,94,154,213,3,104,9,160,50,112,108,176,71,126,227,213,199,101,19,114, +92,47,67,186,220,54,126,158,85,205,233,221,204,193,161,152,174,67,91,14,194,11,21,222,85,242,64,227,10,121,39,246,248,151,87,215,159,19,199,239,9,225,207,234,146,178,63,112,158,170,201,107,169,164,61,157,67,251,165,109,224,199,72,220,243,52,76,253,215, +130,225,232,168,233,175,248,207,34,221,248,91,122,3,27,0,254,219,151,127,77,202,138,26,199,63,207,252,15,10,255,0,22,57,71,101,240,20,148,46,28,234,130,205,77,124,54,29,33,71,220,86,56,134,237,217,123,165,188,254,171,98,132,33,132,185,47,128,231,103, +92,148,224,135,133,174,251,85,137,238,254,2,86,105,200,57,143,195,145,240,160,140,171,156,85,55,42,211,53,36,5,182,75,172,196,9,88,114,183,98,183,224,3,80,0,110,131,25,123,41,12,38,171,113,40,145,195,71,227,128,70,105,81,8,18,35,131,145,80,202,128,115, +159,99,33,82,239,162,3,216,22,232,197,153,22,136,44,232,63,134,176,202,221,98,142,246,128,46,200,14,58,120,4,193,5,253,80,152,112,236,113,249,98,40,79,69,202,90,18,168,93,35,26,82,51,7,138,112,206,65,25,172,7,225,10,187,98,62,131,37,135,192,111,87,120, +250,231,169,161,86,249,215,237,203,164,50,132,28,9,222,229,50,177,128,221,26,176,123,207,31,92,255,204,26,23,211,79,183,210,254,235,92,11,0,62,223,179,169,75,113,16,126,188,154,76,152,171,241,145,103,28,101,225,72,27,35,112,49,76,203,47,74,67,217,162, +241,149,231,217,29,73,229,61,193,159,62,1,11,43,106,228,123,87,221,45,95,220,253,156,124,173,243,136,44,66,178,160,110,48,134,195,26,169,84,149,241,53,36,100,41,200,217,143,167,13,32,6,250,254,170,38,249,204,138,171,228,146,218,102,152,204,169,22,128, +175,209,22,2,109,97,196,241,83,24,99,197,79,22,192,255,147,3,91,229,104,239,243,210,57,130,36,77,113,102,185,90,131,118,191,9,192,207,21,127,182,97,103,170,251,179,246,7,183,66,234,75,215,231,8,252,73,38,27,124,227,145,131,200,216,183,31,225,244,151, +2,59,219,167,137,126,24,219,0,226,153,99,143,192,218,240,191,109,5,192,102,141,204,159,231,40,147,122,237,21,136,189,94,33,214,208,51,224,49,8,107,191,216,20,160,153,31,145,29,106,254,5,155,241,123,1,14,230,193,97,61,195,127,1,195,79,153,36,78,190,21, +160,183,6,25,7,113,170,95,195,181,184,204,21,231,217,14,140,71,3,64,80,166,128,100,113,21,26,118,37,92,137,5,63,94,252,188,105,57,156,81,174,134,66,196,149,53,150,37,9,56,142,38,33,185,177,218,213,104,49,69,29,234,55,143,109,158,88,160,68,65,168,170, +239,39,126,156,235,191,185,53,74,172,34,102,17,187,60,44,26,176,155,228,124,149,109,112,49,253,236,246,184,28,115,230,231,142,169,0,137,128,55,89,9,235,215,180,128,102,88,222,100,5,86,38,148,16,156,166,14,15,60,39,87,154,239,29,143,121,63,179,193,169, +191,115,195,3,231,35,73,208,95,93,241,102,185,254,200,110,121,255,65,208,8,148,10,130,121,24,8,194,29,235,92,14,29,173,11,36,52,167,114,12,140,61,138,144,190,123,75,231,201,31,95,122,59,128,127,254,248,177,188,110,2,31,154,251,11,167,192,140,4,51,86, +91,223,102,105,237,121,10,137,153,118,225,248,218,253,96,112,156,49,96,92,137,57,136,227,82,125,224,79,97,184,168,124,142,201,138,250,119,166,112,109,42,151,216,66,222,76,246,74,116,232,91,246,130,6,222,228,20,138,211,83,80,175,218,78,4,15,143,61,33, +225,178,117,240,55,128,147,150,122,158,43,181,51,120,178,234,6,54,70,26,174,71,250,226,87,80,1,213,240,44,234,203,160,9,133,127,11,105,239,236,37,171,220,2,151,227,61,76,222,131,200,56,8,11,92,178,115,149,104,71,47,197,54,193,197,98,212,195,185,180,138, +190,4,51,188,40,229,16,124,64,86,112,149,1,118,137,178,49,136,109,0,123,119,244,194,156,226,174,246,121,149,74,70,52,253,52,73,192,42,65,172,34,102,121,101,254,183,201,4,203,90,2,232,13,12,87,189,118,48,253,108,10,76,58,211,112,19,23,160,214,87,159,187, +113,105,82,215,119,4,12,173,76,57,2,226,243,179,43,200,199,123,13,251,166,166,28,147,255,181,126,155,20,157,173,217,101,216,128,137,222,244,7,225,116,242,87,123,94,144,239,32,74,192,117,174,105,132,249,141,162,40,10,1,71,93,51,29,235,0,137,68,208,103, +242,158,16,222,156,100,28,191,98,70,75,238,41,169,146,207,46,191,82,174,106,92,50,190,199,143,75,241,20,18,215,19,242,242,241,78,81,210,216,125,3,243,85,92,78,246,111,149,55,58,55,194,90,177,15,138,118,47,20,237,42,88,38,138,209,90,170,73,188,222,47, +83,83,128,57,41,226,72,105,189,86,110,89,254,5,208,112,114,189,123,234,122,38,94,97,143,85,108,116,183,12,156,188,4,171,127,130,194,49,92,48,157,60,196,186,121,174,249,118,169,104,218,141,32,21,24,7,201,215,57,80,88,173,248,144,68,54,255,46,34,1,79,161, +62,110,3,248,229,194,20,192,88,40,186,227,55,19,236,152,144,93,80,14,224,233,134,100,60,112,114,171,191,74,140,166,91,224,56,56,153,69,229,204,121,126,225,231,20,226,183,104,255,133,68,143,154,2,234,71,222,27,31,137,143,200,215,95,189,2,214,138,133,104, +98,46,151,145,169,119,133,216,77,7,64,51,97,13,235,201,228,101,255,251,166,231,91,93,76,63,187,150,73,37,17,43,216,176,65,2,188,17,126,0,167,64,202,229,48,0,120,67,81,213,98,19,177,211,6,146,201,60,35,107,155,222,118,118,31,50,122,63,17,108,151,195,57, +228,219,55,188,91,126,171,109,191,124,243,232,78,217,2,7,193,189,60,78,151,90,40,28,76,90,176,31,197,172,232,74,25,0,227,185,202,0,119,187,145,242,98,156,48,58,46,39,232,115,253,222,7,193,216,173,246,247,161,62,32,69,239,125,197,85,114,47,78,231,187, +103,201,37,82,29,46,25,111,179,59,21,79,215,50,254,85,222,254,56,173,124,216,67,204,24,254,182,254,23,229,80,247,195,216,223,223,175,122,68,37,204,8,52,160,77,188,154,42,145,95,82,165,128,134,229,74,44,121,76,150,215,126,46,71,224,207,39,83,169,136,34, +67,31,178,254,145,225,44,132,56,141,115,34,191,159,142,2,110,213,8,54,176,2,140,60,143,99,130,151,99,138,184,123,246,217,137,7,45,88,46,58,78,9,76,156,248,33,158,193,173,176,11,73,248,233,232,219,76,171,19,244,81,209,3,104,55,21,74,189,201,166,89,18, +251,229,176,12,152,67,155,37,126,228,255,194,87,0,103,218,55,35,164,112,222,229,184,172,88,201,179,113,62,1,42,216,44,147,221,216,229,159,114,104,111,129,54,153,24,69,172,10,7,92,148,200,63,117,8,246,20,9,40,167,136,225,196,114,64,217,164,13,58,47,25, +93,141,225,75,47,220,242,160,110,104,31,133,55,161,93,165,7,63,9,142,9,236,133,173,70,234,208,123,46,126,96,218,91,240,106,199,81,249,197,137,3,178,115,184,87,158,128,163,96,111,12,202,0,87,58,244,54,165,41,137,138,1,10,173,4,140,34,128,36,182,219,196, +191,97,2,82,239,145,181,239,45,69,229,178,190,188,70,174,171,109,145,59,22,174,130,231,55,237,2,133,83,206,142,65,143,196,7,228,196,192,22,172,248,191,37,67,177,35,0,252,42,80,158,109,102,127,189,27,255,194,161,88,38,45,33,247,234,56,83,196,148,183,92, +252,61,28,251,203,77,38,210,242,188,83,47,229,135,36,176,90,238,63,222,132,154,104,242,197,10,48,47,99,68,112,102,166,183,16,172,0,155,144,105,204,1,158,28,244,199,28,62,34,145,151,63,4,210,208,97,107,82,121,133,207,253,50,53,5,220,249,74,217,4,101,29, +231,78,32,169,0,44,2,239,131,101,224,22,56,201,53,195,200,2,62,100,194,29,183,80,118,113,12,29,217,230,126,236,255,78,143,2,143,238,251,188,236,233,125,12,81,116,112,136,206,203,124,156,188,125,8,223,231,22,192,191,125,246,134,103,62,230,98,249,100,87, +2,209,38,47,174,120,2,63,60,141,253,255,143,78,126,85,126,62,37,33,185,6,63,50,136,67,73,144,99,57,164,206,5,200,253,179,109,136,179,100,125,195,34,245,234,28,29,194,96,182,203,201,225,126,57,62,50,32,199,16,163,223,138,87,47,28,74,184,242,127,30,78, +124,107,144,84,168,154,138,1,202,2,56,241,93,140,163,135,27,138,203,164,185,164,66,46,134,101,97,5,94,110,201,62,236,203,173,41,187,223,167,67,249,168,39,38,113,56,79,183,116,34,249,198,27,93,223,150,129,200,54,208,119,9,246,176,234,65,117,154,249,89, +124,240,183,233,144,254,207,0,86,255,145,196,17,185,172,254,207,65,87,38,119,102,113,103,151,253,46,179,159,166,68,6,127,228,232,18,200,29,145,183,49,98,164,65,21,156,14,119,171,196,64,70,229,91,241,236,220,40,182,129,82,132,129,85,32,49,208,224,30,60, +131,117,250,124,151,25,111,184,116,195,252,166,53,197,64,164,0,18,195,199,143,127,95,226,71,255,4,10,192,77,80,6,144,108,168,22,254,2,200,58,168,21,35,255,130,187,102,84,139,25,222,239,43,3,233,210,158,216,68,140,34,86,121,9,254,108,55,125,246,136,221, +252,251,66,210,230,188,10,0,238,82,92,20,16,253,89,36,206,53,81,89,192,93,232,178,210,124,23,38,76,25,131,105,250,88,223,54,152,82,111,156,150,199,219,132,162,105,149,195,103,169,228,65,76,32,228,150,46,90,3,198,70,112,140,109,66,217,84,186,71,135,165, +34,92,60,190,178,47,15,21,73,83,89,21,192,243,180,64,164,71,63,135,128,54,152,236,98,190,221,86,100,254,155,192,175,148,41,37,92,69,250,145,163,255,228,192,107,114,180,255,135,0,254,215,144,161,110,25,28,251,46,130,179,154,31,202,151,57,149,39,222,201, +73,4,113,0,203,79,51,128,77,131,169,150,244,207,197,118,143,133,88,231,232,208,23,81,39,21,76,120,232,231,173,96,150,32,209,80,64,159,143,212,195,223,144,162,242,219,129,29,48,45,163,95,23,22,53,41,52,16,124,25,92,252,97,137,110,251,0,178,96,94,132,42, +189,73,162,146,66,75,103,208,37,24,23,103,171,64,51,144,72,200,64,196,78,60,129,132,120,127,46,90,235,40,210,225,222,135,216,248,219,145,139,97,57,124,7,144,127,160,152,252,228,64,134,146,93,124,203,247,206,103,51,168,231,249,110,42,177,137,24,69,165, +223,203,194,225,194,168,155,196,110,213,14,7,203,39,107,211,249,21,0,231,234,207,92,247,212,201,47,111,190,101,63,34,1,16,215,64,104,244,138,19,112,120,3,226,155,15,225,252,120,42,0,185,18,164,147,17,133,64,205,127,182,34,0,98,162,215,4,240,186,226,114, +245,154,236,158,137,159,49,223,0,11,235,40,4,143,126,210,138,224,207,92,252,156,198,125,35,173,56,152,103,151,28,238,253,62,246,248,95,132,89,122,61,128,127,13,174,137,1,252,177,199,235,151,156,80,192,94,253,183,201,210,121,31,150,146,112,149,170,51, +87,98,52,50,188,9,90,254,49,200,102,198,129,19,124,243,89,8,204,53,176,2,252,183,196,163,173,112,6,92,131,247,217,246,140,125,192,124,65,214,59,13,78,108,86,220,126,159,255,190,229,147,142,121,126,150,74,74,67,255,29,72,38,36,23,226,111,115,96,15,242, +48,124,77,18,200,78,25,168,188,11,10,193,13,118,178,33,36,28,210,194,117,167,27,232,43,3,167,105,113,214,95,46,22,29,4,54,17,163,232,9,230,21,223,18,251,129,95,26,44,0,251,137,221,103,53,245,156,183,83,42,0,224,17,75,94,144,159,97,79,225,226,132,71,161, +128,110,171,9,196,109,67,123,212,217,202,6,61,94,167,185,216,138,0,30,2,240,167,56,114,21,2,247,177,238,192,187,239,249,155,247,20,70,252,190,221,42,2,63,173,39,204,220,215,63,218,10,11,202,86,236,243,63,38,189,145,135,145,188,231,38,100,237,187,30,253, +242,179,246,77,28,195,220,252,77,158,65,118,51,109,80,22,84,221,140,240,213,82,197,63,228,143,108,11,99,141,199,6,254,5,83,147,197,221,166,201,182,214,116,239,183,207,26,136,12,253,23,20,128,191,192,205,220,78,202,166,216,189,97,12,183,177,240,163,18, +219,251,63,1,64,12,51,165,64,245,75,110,41,0,105,166,232,10,154,99,91,74,51,222,141,247,8,231,237,195,81,210,93,95,146,68,241,45,56,156,232,70,40,4,56,182,184,162,5,199,54,175,70,216,157,147,72,135,13,161,50,160,248,56,123,94,206,109,191,188,169,141, +11,189,132,25,145,227,192,38,98,132,51,49,61,105,12,113,10,71,0,51,3,224,207,20,118,79,209,138,169,21,0,84,0,160,123,66,15,106,127,136,156,11,92,218,158,182,111,79,81,121,174,191,14,192,177,98,56,126,28,30,234,59,100,201,188,107,114,38,80,83,105,167, +98,117,48,253,153,44,127,230,187,84,234,201,223,53,100,5,180,23,224,63,20,105,147,131,221,155,144,178,247,57,233,143,62,1,83,255,42,36,239,185,3,244,227,138,63,159,230,227,252,245,222,235,39,81,225,74,36,251,164,174,244,110,169,116,179,181,101,221,40, +123,76,227,209,215,33,175,95,199,240,102,11,186,217,52,40,10,222,106,146,248,200,95,195,217,232,83,56,105,187,62,155,202,236,123,149,240,52,68,175,65,24,85,209,82,224,140,189,125,70,9,228,151,233,160,0,232,74,171,128,178,12,64,150,57,41,136,25,86,152, +132,35,91,178,231,235,146,44,194,118,107,49,114,12,84,174,70,158,129,229,200,62,136,112,83,166,225,245,139,162,128,187,8,36,38,17,155,136,81,30,23,19,88,173,199,99,214,19,169,180,227,194,10,128,189,93,9,46,73,236,138,142,105,116,51,230,105,29,182,20, +74,165,246,156,94,67,51,124,88,34,201,86,57,208,243,178,173,0,160,41,103,67,114,78,31,57,163,43,211,100,36,218,33,251,58,31,149,83,8,9,26,137,109,7,173,170,176,234,191,10,189,66,74,77,127,101,53,173,163,139,12,16,18,51,127,41,11,171,254,76,74,66,76,10, +98,91,98,178,123,168,61,245,198,250,31,66,125,52,255,211,3,223,155,88,99,187,31,16,127,0,237,200,208,147,82,90,253,193,236,186,198,187,29,125,58,128,144,89,189,254,61,112,90,251,22,86,158,11,32,113,124,95,128,236,137,59,85,13,84,6,24,193,68,126,130,84, +13,182,224,55,50,15,34,189,180,213,255,40,162,76,127,134,35,124,151,169,60,252,122,245,26,132,108,94,142,208,194,203,112,169,103,235,193,169,58,148,151,239,201,255,180,234,17,147,136,77,193,192,34,60,215,222,2,206,75,3,206,124,8,5,132,30,29,75,2,171, +19,187,212,87,227,24,126,230,133,238,187,11,43,0,182,229,91,106,99,161,193,238,176,245,92,48,20,120,87,50,102,114,35,192,147,81,39,216,155,150,46,237,195,7,224,136,55,132,195,22,232,160,199,62,23,242,74,220,37,245,244,253,118,181,80,247,9,99,177,94,217, +219,241,99,28,208,179,9,81,19,39,64,33,156,58,31,88,8,42,241,74,95,152,186,116,154,174,223,12,251,75,152,253,82,83,252,59,82,83,182,56,71,143,33,159,51,239,127,171,36,163,207,59,117,242,51,47,11,142,244,197,227,163,67,223,206,141,2,192,218,104,94,70, +148,143,222,112,135,36,142,127,10,181,47,193,203,231,217,252,142,50,248,74,41,2,120,42,253,134,130,139,240,30,159,37,70,160,139,61,43,137,209,151,113,98,97,37,148,129,69,176,214,64,17,104,184,9,219,5,204,9,1,88,56,199,42,229,242,232,108,148,209,92,148, +6,20,22,17,147,136,77,196,40,183,199,249,29,51,133,130,166,14,15,244,120,204,124,142,152,173,158,63,69,115,82,2,242,135,191,115,36,241,230,143,44,46,41,42,213,223,129,202,185,233,152,210,125,211,65,0,28,78,136,156,0,189,210,80,180,90,230,149,34,219,146, +163,129,77,199,179,10,189,78,123,85,73,150,195,40,67,112,70,18,3,178,167,253,7,178,229,248,223,72,239,232,14,101,222,15,224,48,165,128,74,214,66,173,212,43,214,44,116,74,230,182,125,164,119,36,177,93,22,85,255,182,44,169,185,73,81,221,222,251,207,66, +8,82,0,99,165,49,214,255,255,36,49,246,13,252,217,140,70,195,124,235,105,65,127,40,240,173,55,0,18,215,34,223,213,114,180,134,60,150,69,63,217,31,110,181,225,184,110,107,180,8,9,109,182,225,239,74,124,232,149,175,3,27,52,215,139,35,59,152,112,40,128, +252,1,12,45,164,130,128,60,20,230,208,110,156,214,247,51,73,182,63,131,35,157,225,115,134,136,16,205,192,105,39,24,67,219,58,64,94,224,11,124,161,120,152,180,204,146,63,88,69,1,20,23,123,142,244,108,145,93,221,176,202,9,252,41,206,81,128,242,218,208, +100,184,68,215,227,81,243,75,159,184,249,153,87,83,121,242,148,155,136,27,184,124,68,193,128,110,142,12,43,129,131,99,23,212,44,79,165,254,28,95,99,193,193,174,68,6,227,79,203,209,129,125,170,110,174,105,231,90,33,216,179,144,217,152,111,122,36,218,35, +187,219,31,146,199,246,190,75,246,119,127,71,205,179,128,70,102,116,179,180,205,61,26,121,199,19,72,192,1,135,160,178,208,122,105,170,112,188,227,41,248,178,18,122,184,31,99,109,38,123,144,135,255,69,53,190,216,176,69,157,94,143,43,159,207,99,141,177, +70,31,122,218,33,121,150,109,34,112,112,187,36,92,141,56,245,219,128,251,175,160,239,222,134,85,57,29,243,127,41,126,155,168,12,224,192,29,200,25,36,22,16,43,218,137,195,137,126,36,145,173,239,67,74,231,15,72,108,255,191,225,140,130,45,56,210,184,7,219, +8,204,83,129,113,85,224,104,143,175,178,244,168,121,49,115,201,234,98,15,177,136,152,68,108,242,106,78,146,170,120,120,128,24,77,172,38,85,55,56,216,205,191,207,87,166,84,0,30,112,122,100,4,116,102,183,125,30,89,1,117,60,201,70,160,243,213,58,173,159, +35,156,77,86,96,27,96,183,12,97,143,155,161,109,212,196,230,66,33,240,219,171,126,14,155,41,131,99,237,178,239,212,163,242,196,254,247,200,174,142,175,130,46,243,96,234,231,106,201,47,94,81,128,177,254,113,243,40,242,254,223,36,13,21,171,85,51,236,213, +127,230,45,114,21,190,200,48,4,106,252,219,144,163,92,253,23,74,184,38,55,25,129,211,177,205,146,136,30,196,95,228,205,220,204,71,189,122,49,28,207,62,6,67,71,15,192,195,51,163,35,250,227,151,201,41,48,97,156,9,238,80,4,180,32,78,117,68,214,216,120,219, +247,37,178,237,29,18,121,233,29,18,219,247,160,36,58,182,34,193,83,27,182,16,122,109,69,128,215,59,202,158,82,6,38,127,64,193,126,74,240,39,246,16,131,136,69,196,36,47,97,145,152,172,176,25,24,77,172,38,225,30,72,97,34,114,182,94,176,96,140,212,40,255, +222,181,191,2,218,202,227,197,229,106,229,225,153,61,142,217,233,194,250,98,57,57,250,47,56,118,17,158,208,40,150,151,250,200,5,169,151,155,47,201,108,38,66,191,236,112,190,0,50,247,117,200,222,83,63,151,167,15,125,84,182,159,250,99,156,19,94,135,56, +126,56,236,192,33,108,182,211,34,55,20,157,190,90,24,162,103,4,170,165,190,12,103,181,195,84,202,113,131,164,203,226,129,116,50,34,248,197,37,62,182,213,145,149,48,195,22,140,73,28,86,65,109,33,172,19,207,201,232,224,35,118,63,179,85,200,9,14,168,35, +128,227,191,3,243,144,184,38,177,5,245,250,86,0,155,184,133,252,19,235,66,229,59,0,11,14,146,14,105,69,215,160,177,181,240,23,216,40,209,173,235,241,122,191,196,246,124,3,206,157,207,35,202,96,47,34,17,187,78,43,3,180,106,242,53,67,138,171,148,31,5,6, +17,139,136,73,167,51,167,122,209,9,43,169,176,25,24,173,176,26,77,112,177,251,66,173,153,82,1,224,205,15,61,116,159,82,191,145,92,224,165,49,110,3,240,172,33,252,188,80,197,211,247,157,173,121,141,193,59,181,123,212,206,115,128,244,33,211,247,56,143, +107,86,43,126,0,8,181,205,145,88,135,28,232,124,82,54,31,249,107,217,222,254,187,48,53,135,165,196,88,139,129,96,56,159,239,40,229,241,80,97,148,232,252,215,133,227,157,175,148,133,213,87,171,230,100,157,8,202,17,138,209,209,109,88,97,127,1,147,154,158, +255,67,94,119,245,172,231,219,162,32,25,221,37,201,164,35,212,179,22,15,54,24,48,244,44,80,124,35,214,55,204,7,144,141,34,117,86,147,253,183,211,72,1,240,3,67,11,57,102,144,75,154,81,139,228,78,239,129,78,7,101,160,235,113,137,237,184,73,162,59,126,91, +162,123,190,46,241,195,143,195,143,224,240,4,69,192,179,181,101,90,244,112,49,167,11,24,68,44,162,124,246,10,18,21,22,3,147,137,205,196,104,118,196,197,236,169,58,149,18,114,238,217,179,81,205,240,68,32,208,154,140,91,175,24,225,128,167,219,0,60,90,181, +72,191,6,231,46,255,10,57,236,15,66,40,218,78,112,83,117,118,38,125,111,239,47,113,245,135,20,200,241,46,217,215,241,40,128,255,43,178,237,196,39,164,127,108,15,128,255,70,136,67,55,156,207,22,192,51,169,127,179,177,173,180,190,144,23,235,203,46,197, +177,213,243,212,118,77,246,160,101,131,94,34,114,4,230,127,228,108,208,230,129,116,16,174,5,85,152,19,160,5,237,251,38,78,9,228,106,29,162,48,219,213,28,5,42,172,0,12,55,11,84,189,13,120,242,26,250,238,91,1,10,106,216,83,106,12,100,19,173,2,38,253,0, +176,63,77,101,160,244,189,248,172,22,25,8,31,147,248,254,119,73,116,231,223,97,155,224,59,98,114,65,231,140,59,46,72,169,118,47,46,82,139,50,204,115,98,15,49,136,88,68,76,242,170,128,82,38,49,153,216,76,140,102,59,92,204,158,170,77,180,231,79,89,54,108, +64,255,136,69,218,166,35,95,122,241,230,103,17,13,112,245,112,44,9,85,77,169,61,83,222,159,235,11,120,28,109,88,175,149,99,195,223,149,158,209,143,75,125,249,114,176,139,189,23,153,235,103,121,85,31,61,251,77,244,243,112,247,38,105,237,121,92,250,198, +54,161,41,37,200,43,191,14,100,39,240,251,9,124,188,26,155,201,159,203,16,213,40,198,103,190,180,84,51,215,2,10,132,68,86,133,32,10,5,48,17,59,2,96,253,190,237,67,37,204,192,87,104,194,145,171,245,34,101,193,141,143,108,150,162,178,91,208,214,82,167, +157,217,208,128,245,234,72,62,179,22,73,105,176,199,106,194,202,165,104,90,104,253,71,51,253,146,2,5,48,158,228,105,5,150,200,78,170,78,146,196,214,229,8,178,187,14,63,130,109,129,45,56,164,232,118,9,46,186,27,227,28,66,125,28,231,108,248,39,133,38,101, +112,137,139,53,61,163,29,10,131,170,66,119,75,210,226,188,244,170,88,73,96,178,62,20,75,62,251,199,215,61,115,196,198,234,212,132,68,74,22,0,116,203,250,252,166,91,213,54,0,198,99,203,232,160,90,129,120,234,134,204,253,110,35,176,68,14,244,110,194,10, +185,95,153,96,102,139,51,160,9,243,217,177,222,23,228,233,55,254,76,94,59,249,69,128,255,43,42,142,63,24,64,66,25,56,127,209,243,223,47,133,71,1,230,1,175,42,94,45,117,101,56,87,1,255,168,196,229,162,196,199,14,66,9,120,4,160,138,44,108,194,149,84,33, +150,81,96,115,141,196,99,15,74,44,178,215,110,32,36,81,86,133,190,0,40,122,253,21,48,33,67,169,50,59,241,46,85,145,165,110,245,127,20,44,5,28,69,128,11,25,3,105,134,131,87,65,17,216,38,241,214,47,73,100,251,231,177,123,128,92,54,57,154,63,185,36,1,231, +53,205,253,196,28,98,15,49,136,88,228,97,225,36,51,20,38,3,155,217,14,7,171,83,154,124,169,207,166,91,111,165,58,46,154,105,188,108,38,205,151,67,197,6,79,231,81,159,241,243,124,23,166,177,45,209,47,146,253,253,127,137,152,247,118,231,241,41,245,57,223, +77,189,224,243,200,80,110,161,105,169,11,199,242,62,125,224,143,228,149,182,191,148,190,200,203,248,42,132,236,82,181,248,157,196,149,62,240,187,180,42,188,223,73,8,134,18,89,90,125,187,106,90,246,208,15,190,0,0,154,72,40,20,139,252,210,22,133,158,174, +50,166,162,56,86,231,136,78,48,227,157,56,38,216,14,209,205,218,2,194,94,99,78,104,193,74,49,234,175,67,253,60,117,112,102,236,17,79,69,45,255,251,9,20,160,163,44,15,33,211,177,189,133,163,166,205,190,167,36,250,242,199,37,217,183,115,226,69,19,254,246, +240,79,71,169,37,230,16,123,136,65,196,34,207,10,48,152,88,76,76,38,54,171,118,56,88,157,74,155,82,86,0,54,104,27,204,13,79,223,106,252,193,13,79,29,197,76,124,53,20,198,173,180,82,123,84,8,156,60,116,103,48,22,149,227,131,251,240,206,246,146,247,168, +57,105,63,214,181,86,40,83,191,25,151,158,145,67,242,194,225,47,200,51,173,220,227,223,13,217,105,0,80,144,109,11,38,80,111,189,75,211,238,218,156,188,129,202,91,177,81,39,77,149,235,157,254,103,175,2,176,162,68,244,4,242,237,255,29,116,129,75,241,110, +192,169,187,64,127,89,3,18,192,33,93,177,209,127,146,120,228,32,26,105,3,120,86,173,117,182,81,244,198,107,97,21,94,10,43,192,168,93,111,86,149,250,55,23,38,5,168,220,65,241,13,192,127,38,142,156,23,175,125,22,185,5,158,182,63,35,47,241,59,143,139,202, +189,2,172,57,1,204,33,246,16,131,38,46,226,242,222,60,96,176,194,98,96,50,177,153,24,77,172,78,181,29,41,43,0,172,176,169,124,72,73,53,40,65,47,13,247,199,169,246,208,43,199,179,81,73,34,159,125,69,232,14,121,173,227,27,56,240,6,241,165,108,76,182,102, +71,85,203,116,254,0,187,160,141,202,113,17,140,52,20,233,144,173,109,15,202,175,14,188,19,57,251,95,4,232,151,227,187,32,216,157,67,195,113,244,140,188,211,73,132,89,86,55,99,101,227,210,82,121,135,24,56,93,45,251,194,49,167,99,235,152,196,134,127,233, +176,0,167,91,202,243,58,251,38,100,84,3,204,185,129,139,37,25,127,5,91,22,199,50,170,225,220,155,168,68,192,236,90,130,83,233,170,176,5,162,21,58,13,206,237,129,255,73,186,20,192,24,7,74,96,252,49,17,54,248,135,146,104,123,194,174,192,242,86,9,112,177, +133,88,179,29,152,67,236,33,6,121,88,40,40,130,196,98,98,50,219,225,98,116,170,109,74,75,1,104,191,114,171,178,191,89,65,129,84,146,29,72,59,72,225,228,217,140,228,202,56,136,88,235,147,163,191,146,174,97,91,224,16,88,11,181,216,154,34,214,252,104,227, +72,172,7,177,252,63,67,18,159,119,203,225,190,31,224,184,216,139,0,254,174,227,75,161,246,192,111,215,100,20,176,149,181,4,210,254,222,49,217,215,25,127,150,140,15,74,116,244,247,176,250,95,137,58,10,124,245,175,122,9,121,100,13,130,191,145,166,104,248, +63,113,74,32,246,236,213,62,126,150,74,172,51,167,131,11,239,69,125,112,46,244,125,96,50,230,169,153,115,35,120,134,242,16,86,208,216,193,127,194,49,197,200,108,235,45,254,43,185,77,250,17,107,136,57,196,30,79,173,179,192,94,133,193,192,98,7,147,197, +197,232,84,199,57,45,5,96,3,204,13,255,250,234,149,193,63,188,122,211,41,12,198,110,141,73,129,61,198,91,156,140,46,165,198,77,178,181,253,91,18,137,187,158,152,89,10,156,84,169,151,198,117,42,116,196,225,224,246,193,29,242,66,235,231,100,199,201,223, +135,129,191,25,224,95,143,69,14,87,120,133,215,238,52,186,56,39,47,37,248,39,177,127,217,88,126,155,148,134,115,112,36,174,162,162,45,233,226,145,215,177,167,142,15,148,98,232,225,62,99,90,35,59,4,204,95,135,164,69,255,129,236,128,167,210,186,115,170, +139,121,224,140,94,129,40,24,239,214,28,83,53,209,255,62,167,20,192,122,19,150,0,73,142,32,76,240,203,200,36,136,109,37,42,131,140,36,200,123,177,101,115,36,49,172,176,134,152,67,236,241,180,16,126,109,12,222,77,76,38,54,19,163,211,105,83,90,10,0,43, +222,234,212,142,85,236,175,34,67,137,225,128,151,25,16,208,22,102,94,11,34,228,232,208,224,119,177,170,238,119,91,231,252,46,140,95,118,220,40,243,246,39,85,60,255,75,71,255,72,6,34,111,72,73,16,241,163,72,226,227,101,12,105,97,80,104,6,183,2,190,26, +73,235,132,44,171,121,59,44,56,118,160,76,118,189,177,5,141,133,36,42,145,193,191,149,128,190,16,76,142,84,184,94,107,218,41,119,10,237,183,16,17,128,235,163,195,143,67,86,51,106,193,86,104,82,174,226,2,23,234,11,223,137,84,179,220,238,203,5,173,47,240, +32,255,171,194,160,0,23,70,122,53,178,6,182,74,236,208,127,34,175,16,44,97,180,42,229,93,9,32,15,35,6,7,24,67,172,33,230,80,158,123,88,44,98,47,49,152,88,204,118,184,216,156,78,155,210,86,0,254,245,202,173,137,13,214,134,64,153,49,244,67,204,235,195, +161,98,196,115,122,174,146,35,3,146,181,72,94,71,94,124,134,208,21,82,161,217,159,142,35,108,215,118,156,111,190,243,212,223,194,179,27,158,253,96,106,59,118,212,95,245,23,210,120,165,215,22,238,211,39,145,249,111,181,84,151,44,113,110,205,118,60,109, +65,19,71,94,253,100,244,41,212,73,159,2,79,195,140,210,35,137,186,186,15,50,250,50,40,0,127,36,9,36,177,202,101,209,231,93,42,122,249,149,0,0,206,115,155,86,185,172,223,175,171,208,40,128,49,230,62,59,82,157,155,93,223,130,83,224,51,104,32,22,185,106, +107,41,191,109,165,12,127,189,253,81,133,53,94,39,227,2,85,224,253,15,248,6,6,19,139,137,201,196,230,116,41,146,182,2,0,11,140,213,180,245,17,253,227,235,183,66,42,105,79,197,34,56,160,198,99,117,220,84,153,1,27,228,181,174,127,70,124,166,187,13,144, +46,41,166,227,122,59,22,156,32,177,237,216,131,114,176,231,65,49,180,70,172,20,169,16,208,121,196,23,96,211,65,245,124,213,73,159,141,104,226,160,44,173,249,128,132,131,204,207,207,146,139,49,197,209,206,67,63,85,214,78,81,137,127,236,154,103,206,79, +42,65,224,111,252,138,143,49,50,137,43,165,92,208,5,181,24,197,162,55,223,3,43,0,182,23,120,60,173,95,230,8,5,16,38,104,92,130,60,1,95,196,86,192,9,187,207,121,182,2,16,91,136,49,69,122,3,228,183,183,74,57,49,151,216,139,73,240,20,177,152,152,76,108, +78,151,25,210,86,0,248,128,95,182,46,229,147,161,9,153,63,51,147,214,0,78,33,82,111,249,195,187,146,148,104,82,151,125,157,191,244,174,9,231,60,153,35,98,202,171,199,254,143,180,246,125,31,102,163,22,188,135,181,34,135,2,241,156,71,250,31,228,137,2,92, +253,107,98,24,97,105,172,64,162,26,134,107,230,40,2,197,76,12,34,244,239,115,152,219,244,41,152,41,123,255,103,147,157,86,128,229,50,54,240,126,28,20,196,208,61,150,180,229,147,125,219,248,79,222,15,154,215,35,13,118,16,201,99,148,87,120,110,20,139,241, +71,248,127,20,38,5,104,241,9,4,17,30,216,45,137,19,143,99,253,11,133,64,89,1,178,229,169,212,187,75,108,33,198,20,64,46,10,139,152,75,236,37,6,179,7,46,38,167,222,27,251,202,140,20,128,141,247,111,76,50,222,240,179,55,60,251,20,170,57,24,224,209,64,30, +23,2,45,207,99,222,222,241,3,104,103,158,238,205,56,148,176,25,243,80,231,19,240,242,255,62,50,70,49,139,31,45,52,249,99,88,143,135,100,86,63,62,128,80,205,88,242,184,44,174,252,77,41,13,49,63,63,228,81,142,166,65,132,123,231,51,158,77,184,70,192,6,24, +88,62,54,106,231,39,33,120,103,87,236,251,181,112,133,24,205,191,133,186,177,18,244,207,7,200,142,164,51,230,110,140,189,57,6,127,216,53,146,56,254,55,56,90,128,153,2,81,242,52,79,136,41,196,22,98,140,135,129,111,118,159,241,211,193,220,131,196,96,98, +49,49,121,252,203,52,254,200,72,1,96,253,187,187,234,20,233,177,234,249,73,60,202,67,80,178,158,221,105,52,123,242,75,153,60,167,47,218,38,251,187,54,169,11,236,176,187,201,175,157,206,79,221,112,191,174,225,189,178,163,253,171,96,26,2,132,50,154,76, +231,99,253,186,243,74,1,3,130,96,151,52,85,92,15,127,14,10,5,78,135,108,1,142,29,160,249,255,123,57,169,41,175,228,152,244,97,195,144,11,6,156,25,31,132,66,147,35,147,41,53,35,172,4,141,249,119,97,1,72,103,64,110,3,228,130,238,147,118,192,255,176,224, +40,192,35,207,27,145,27,224,199,152,42,176,142,229,74,235,62,79,63,93,12,33,166,16,91,200,207,94,23,98,45,49,151,216,203,182,184,88,156,73,187,50,86,0,54,222,183,81,33,90,210,50,191,139,7,143,168,112,132,76,90,144,195,123,24,146,197,189,245,29,29,92, +65,101,164,16,229,164,53,212,133,146,48,81,237,56,249,45,136,115,156,128,85,0,76,147,147,142,249,149,40,10,192,8,45,241,100,159,212,150,124,68,170,74,154,115,68,21,123,41,19,29,121,9,43,219,109,16,108,52,53,218,159,229,232,1,30,84,131,57,136,243,1,18, +209,141,146,136,236,201,205,243,29,172,215,138,42,68,111,252,52,76,194,135,241,12,230,35,243,203,156,160,0,76,74,26,50,110,38,78,253,23,240,63,63,231,98,16,75,136,41,196,22,59,231,135,183,148,118,176,118,196,193,94,113,177,56,147,86,101,172,0,128,18, +220,242,212,254,232,198,231,143,225,193,79,21,138,201,50,160,149,201,201,145,237,114,184,247,21,52,209,110,100,38,132,201,244,30,134,252,177,236,57,245,35,164,244,125,5,171,255,114,188,155,233,130,92,117,201,255,225,80,128,10,93,220,124,77,230,87,189, +89,202,194,141,246,68,0,175,101,87,28,5,96,248,41,212,199,248,249,58,188,102,3,223,208,17,86,100,116,224,59,217,145,103,252,110,212,134,57,166,25,101,162,55,220,38,154,181,29,10,0,19,104,249,101,110,80,192,158,19,86,98,72,204,254,189,211,218,101,21,190, +13,238,37,150,16,83,136,45,133,80,28,172,125,138,216,75,12,198,191,140,5,69,230,10,0,40,1,83,132,122,176,105,89,95,119,28,1,61,166,15,79,106,10,195,81,227,152,236,235,218,236,180,37,99,218,164,221,23,197,48,112,76,233,31,61,44,199,7,158,1,113,124,243, +100,218,68,44,248,27,224,124,3,115,118,105,232,42,153,87,188,40,71,60,70,30,69,66,161,248,9,172,148,159,119,234,204,106,106,22,28,21,19,145,95,33,36,240,104,110,218,229,152,125,245,202,5,80,2,254,26,177,225,173,190,18,144,27,202,206,140,90,176,34,215, +144,60,45,217,185,9,219,0,244,171,154,158,226,34,7,177,132,152,66,108,41,4,165,92,57,0,2,115,217,107,23,131,51,165,64,78,164,76,145,30,125,41,17,55,15,115,94,102,219,160,76,59,226,222,135,38,64,33,170,150,214,193,167,229,120,255,78,180,135,9,120,242, +187,255,126,184,231,57,25,140,108,70,200,95,37,90,147,223,103,187,116,240,127,79,15,5,24,250,23,73,236,150,250,210,183,72,109,217,50,245,144,172,211,79,59,252,25,25,250,37,22,183,79,128,103,91,80,111,142,246,204,167,135,12,105,212,10,254,103,52,131,249, +186,140,13,42,135,101,220,155,237,156,112,172,0,161,106,9,212,221,8,153,140,45,19,63,49,80,26,99,50,211,47,37,79,133,112,90,224,43,248,157,19,8,59,135,32,196,12,134,107,19,67,136,37,196,20,98,139,151,133,216,74,140,37,214,18,115,115,209,150,156,80,239, +83,215,190,60,136,229,238,183,13,156,16,136,125,1,87,113,202,69,251,210,174,131,30,154,33,189,74,250,99,143,201,206,142,167,157,251,167,127,232,38,174,254,59,134,95,2,243,208,132,155,173,160,75,187,251,254,13,211,74,1,174,254,147,138,191,26,202,46,17, +29,39,223,217,17,39,217,240,23,166,11,246,251,45,115,24,49,243,175,58,9,206,104,57,242,116,26,229,152,138,116,152,132,74,51,242,43,132,46,209,113,143,98,39,55,253,211,43,23,138,94,249,187,136,204,234,1,29,189,119,208,202,49,225,252,234,206,75,1,204,57, +36,153,50,135,14,159,247,138,236,190,176,231,52,49,132,88,66,76,241,218,251,159,216,74,140,69,67,190,173,48,55,187,14,170,187,179,87,0,236,45,62,8,66,253,251,241,136,201,51,121,115,208,172,236,170,160,211,134,161,93,41,109,56,93,175,99,104,31,154,4,213, +105,154,173,0,174,183,104,215,112,171,244,69,190,13,207,240,26,140,147,119,142,136,217,81,208,191,123,50,10,208,1,40,97,246,72,101,209,77,82,95,193,3,122,128,57,217,174,64,28,125,57,58,186,29,91,0,72,174,169,85,160,86,79,79,24,83,253,202,237,15,58,194, +214,34,121,207,195,18,29,218,100,87,157,237,58,129,116,231,42,173,108,145,4,106,239,68,221,207,162,94,95,1,200,237,184,21,120,109,112,254,52,251,118,230,188,145,246,98,78,83,216,65,12,33,150,120,233,84,62,222,65,224,24,49,150,88,171,62,115,176,119,252, +251,12,254,200,94,1,112,240,126,180,170,166,13,207,255,81,48,28,96,157,158,34,31,129,55,12,0,238,24,251,33,178,239,189,230,144,101,250,20,19,130,63,243,192,199,18,3,210,57,188,13,166,162,53,158,107,139,25,240,130,127,203,148,20,160,5,160,83,230,149,92, +6,231,191,102,181,250,167,7,78,46,74,124,116,39,182,51,145,54,87,99,84,193,244,237,107,230,162,173,233,215,65,75,88,185,178,110,196,70,95,0,112,231,54,137,139,81,183,22,138,192,111,64,234,244,225,57,140,158,240,203,156,160,0,148,72,107,90,50,191,218, +115,154,216,65,12,33,150,20,192,98,46,233,96,235,143,28,172,133,172,200,126,148,179,87,0,48,157,55,108,144,192,134,53,27,99,80,202,255,37,24,66,149,136,130,203,190,105,217,213,192,211,245,66,250,245,178,187,251,135,208,228,14,76,175,21,192,89,205,12, +68,78,73,47,4,92,80,135,16,103,6,20,191,204,34,10,128,169,173,49,41,14,174,66,230,191,85,170,95,89,131,63,173,82,152,52,241,232,27,8,149,67,234,95,53,27,221,172,121,179,136,116,170,43,72,226,2,159,152,68,236,239,37,130,80,71,85,178,181,202,185,86,128, +202,21,18,168,184,6,59,110,199,20,61,103,27,229,252,254,76,70,1,123,11,41,57,116,104,178,47,51,254,236,244,234,255,128,194,14,98,136,125,82,107,198,85,230,230,70,136,31,98,43,49,150,88,75,204,69,197,89,239,163,41,145,147,109,11,31,120,192,110,72,52,102, +238,26,29,76,60,27,12,6,66,94,171,76,202,10,16,168,194,185,205,63,69,24,199,235,170,139,89,155,107,167,32,212,40,78,170,26,138,255,28,161,127,69,232,190,191,255,63,5,185,102,216,215,92,253,15,72,69,248,50,40,0,151,229,132,159,220,109,163,248,216,65,0, +227,47,0,144,151,162,222,217,170,0,64,33,198,57,24,216,36,148,216,200,171,232,39,254,176,53,158,156,240,129,209,124,189,72,24,135,4,37,121,22,72,14,150,70,57,105,149,95,201,244,83,32,107,12,60,163,137,46,70,16,51,136,29,97,96,136,231,171,127,52,128,152, +74,108,37,198,178,193,46,230,158,209,248,12,222,228,68,1,80,91,236,216,143,248,147,155,159,235,194,98,248,71,202,81,1,81,77,25,180,39,167,183,48,113,67,153,113,187,108,239,252,134,116,13,31,86,117,231,222,23,0,29,135,32,35,147,12,68,142,64,39,163,9,55, +183,76,153,83,162,248,149,101,72,1,164,154,198,17,160,141,229,112,254,131,7,114,246,124,68,190,209,1,136,125,216,215,123,201,129,172,217,182,247,127,54,169,135,177,85,86,133,80,199,175,73,108,140,114,12,64,13,127,157,172,138,99,5,208,107,46,195,54,192, +58,212,199,20,177,57,17,107,89,53,203,191,57,95,20,200,157,178,231,206,105,98,5,49,131,216,97,31,218,150,175,190,156,231,57,192,82,219,193,94,126,228,96,172,114,107,59,207,213,105,125,156,179,153,178,113,227,125,170,46,61,24,248,213,216,80,226,104,64, +99,118,142,108,109,124,105,245,229,156,139,9,202,193,64,24,251,56,79,75,107,47,67,133,152,178,56,103,93,86,207,115,161,62,138,196,20,67,145,67,200,249,191,216,123,141,241,28,74,248,31,100,71,1,174,254,35,216,82,106,146,150,170,235,84,85,217,135,254,217, +156,19,135,210,24,31,251,43,44,134,185,173,48,152,93,51,11,254,110,238,253,47,128,179,227,49,40,0,187,157,214,230,98,62,218,32,16,108,185,29,126,128,139,32,118,240,28,191,248,20,72,147,2,54,54,152,10,43,136,25,196,14,207,87,255,192,80,98,41,49,149,216, +202,46,185,88,155,102,247,38,189,60,23,179,79,85,124,63,15,8,194,153,196,159,185,250,233,221,16,142,63,40,169,84,30,185,158,111,132,39,173,81,169,8,190,69,182,156,250,34,172,0,71,85,91,93,211,235,164,20,201,240,195,120,98,76,70,98,76,22,81,234,181,222, +147,97,15,252,219,46,76,129,132,212,148,172,149,242,162,102,8,5,130,119,54,43,15,220,175,172,70,113,236,255,239,178,23,193,42,245,175,231,211,229,194,36,200,201,183,253,18,8,148,32,36,240,63,176,237,113,24,116,32,29,179,220,46,83,117,88,72,10,116,181, +104,197,203,48,255,198,178,28,159,156,116,244,255,103,239,59,0,228,40,174,180,95,135,153,217,28,180,10,171,28,144,8,18,89,4,73,128,144,0,99,124,103,156,197,217,128,109,126,27,195,97,28,1,129,177,193,44,206,36,251,206,103,126,27,46,152,179,205,217,191, +132,109,206,9,91,164,69,4,1,70,36,75,50,32,36,148,179,180,187,218,52,169,187,255,239,171,158,214,174,164,149,180,51,211,179,219,51,219,37,237,132,158,238,10,175,170,222,247,234,213,123,175,194,76,6,130,2,62,173,49,61,76,32,70,16,43,136,25,196,142,0,164, +52,177,148,152,74,108,37,198,18,107,253,170,151,111,2,0,43,180,5,103,18,243,221,214,237,37,29,45,169,54,84,154,49,58,201,45,7,45,177,99,53,205,150,189,201,86,121,109,219,31,17,163,63,9,214,77,166,227,83,181,50,217,164,145,111,28,167,147,5,37,90,212,160, +17,188,36,11,134,230,72,98,50,177,254,92,213,186,188,141,255,50,99,207,74,110,7,16,222,9,64,156,136,225,216,90,146,148,59,184,81,0,103,125,26,140,30,159,128,230,227,173,204,207,249,8,83,189,75,208,113,72,208,133,16,42,120,54,64,158,66,69,239,108,195, +207,1,164,128,59,102,24,18,58,255,4,140,192,63,98,3,49,130,88,65,204,240,132,130,252,243,207,57,7,4,254,209,162,196,82,98,42,115,241,48,54,231,28,15,120,208,87,1,224,254,211,150,167,23,57,11,140,133,103,46,125,2,221,243,199,202,58,224,63,92,23,15,40, +115,192,191,218,80,9,86,152,83,229,197,109,159,135,149,254,150,76,249,126,49,29,87,2,224,254,145,229,208,0,137,246,0,25,169,96,192,91,26,22,88,8,10,208,7,184,44,58,70,70,101,140,255,242,47,195,29,123,86,114,11,128,16,123,225,58,79,139,44,245,253,255, +94,84,115,246,42,251,191,68,231,175,196,74,115,207,158,244,200,119,206,184,52,53,199,204,23,45,54,30,217,249,182,72,234,85,241,240,99,208,40,160,151,53,248,80,37,119,236,16,27,136,17,196,10,98,198,160,39,96,39,49,20,181,251,35,49,149,216,74,140,245,179, +94,190,10,0,168,152,211,178,124,173,202,211,177,157,63,117,180,36,19,168,252,160,107,1,72,48,135,39,57,105,167,202,242,205,139,124,48,224,234,171,11,40,67,122,228,116,7,84,95,119,133,215,138,141,2,216,255,151,164,140,171,153,11,251,14,198,2,207,55,17, +232,16,152,202,110,151,68,199,67,174,33,60,188,11,134,86,106,71,187,79,150,84,215,3,48,8,244,87,11,160,25,229,98,142,190,8,19,158,234,91,111,62,14,45,234,14,165,214,106,85,19,124,105,46,23,112,203,183,44,82,24,65,172,8,64,114,136,157,196,80,98,41,235, +147,193,214,124,37,229,253,154,230,251,12,185,122,230,242,244,130,69,11,140,27,206,94,202,104,69,79,151,85,41,91,128,65,23,199,177,62,135,75,71,189,188,186,235,191,100,125,11,13,2,195,20,82,224,200,20,208,16,88,134,238,127,83,26,222,125,228,155,179,184, +195,74,119,74,162,243,46,5,132,165,111,252,215,7,97,28,10,1,208,123,180,255,90,108,132,65,118,147,63,188,205,28,255,62,24,3,82,53,28,10,226,125,80,190,132,46,33,18,100,205,52,95,218,67,76,120,117,231,127,41,140,32,86,4,32,89,25,236,124,154,88,74,76,37, +182,250,93,47,223,5,0,46,110,102,200,42,101,11,0,219,156,71,96,189,8,169,10,209,20,33,147,251,93,249,108,243,163,69,167,142,80,171,203,54,253,119,1,180,0,84,252,123,251,142,131,222,212,108,73,19,222,223,39,5,116,165,10,28,85,57,95,42,162,84,211,251,145, +8,74,22,192,31,126,255,204,206,233,244,35,211,34,204,163,77,9,63,201,174,239,35,2,162,191,246,15,90,164,66,34,99,47,69,44,174,29,144,1,104,15,16,166,210,163,0,236,114,98,227,68,175,160,219,117,126,137,171,127,98,2,177,97,240,173,254,149,216,202,67,127, +204,12,118,62,194,214,41,76,5,182,230,215,210,131,159,246,95,0,64,25,183,45,88,169,246,253,203,226,218,253,248,250,42,66,24,178,230,190,87,254,224,230,28,233,10,67,246,150,203,198,142,101,178,106,251,99,234,230,252,207,46,114,87,25,116,33,49,232,1,0, +33,32,127,35,177,35,181,35,252,125,32,40,160,227,112,153,148,189,81,38,13,123,47,98,0,112,39,203,159,228,216,9,73,118,252,24,0,56,26,25,122,171,95,127,242,46,170,92,160,89,225,236,233,110,251,25,94,185,184,113,231,82,222,109,224,92,28,253,46,156,177, +68,150,163,214,34,121,103,25,102,16,36,10,0,182,112,36,183,81,135,128,92,84,35,229,152,60,222,79,44,32,38,16,27,130,0,83,196,74,98,38,210,171,25,12,221,135,169,57,54,245,144,143,229,78,189,67,102,137,62,129,164,114,213,125,51,35,215,206,111,238,192,156, +254,37,15,48,192,53,184,51,14,190,16,64,149,174,3,3,143,23,183,252,74,82,22,195,147,230,201,116,50,143,71,140,24,194,196,78,200,24,143,228,153,231,97,104,27,254,52,80,20,192,96,197,46,92,204,172,219,103,252,231,151,113,103,42,177,78,172,228,50,52,132, +2,227,160,219,200,14,20,65,251,40,135,219,0,211,112,64,208,215,112,196,41,206,65,240,49,233,21,13,240,8,184,18,56,177,1,12,201,63,225,205,199,42,134,89,229,74,1,8,230,78,122,147,24,141,23,160,111,115,23,240,200,251,137,1,196,2,98,2,177,97,176,19,49,18, +127,186,123,176,158,252,146,24,74,44,229,245,66,212,173,32,2,0,43,122,255,85,203,211,136,10,168,25,101,218,253,168,249,86,195,228,81,193,133,104,66,182,121,218,48,230,26,46,59,227,47,201,95,55,62,164,30,118,143,116,205,54,159,253,239,231,10,177,44,50, +26,2,0,220,156,242,144,74,247,207,53,252,54,88,20,208,192,100,146,214,54,153,80,119,25,206,118,112,1,196,47,205,78,247,222,255,162,144,140,52,132,87,255,251,58,182,203,213,2,236,93,180,239,74,222,31,200,104,96,176,105,140,156,11,58,111,196,124,12,183, +1,242,166,105,96,50,192,196,65,255,234,21,211,69,175,63,62,83,171,236,129,197,227,249,196,0,98,1,49,33,8,174,163,28,186,10,43,137,153,196,78,96,40,177,180,80,228,47,152,0,128,89,237,48,98,209,151,79,105,110,69,35,22,89,22,90,230,23,7,205,147,26,180,214, +183,81,157,85,187,31,151,150,174,141,80,77,80,43,224,237,223,103,151,185,215,164,242,72,189,12,43,63,1,18,229,43,104,166,50,124,204,46,163,240,238,64,81,128,125,104,203,70,25,91,123,54,152,131,127,170,65,134,254,77,119,221,131,185,80,135,246,22,108,94, +7,138,150,135,175,12,163,3,214,74,170,227,39,42,44,242,225,239,237,231,175,25,5,156,81,59,81,140,49,95,71,96,192,55,81,134,31,30,28,253,44,63,188,173,112,20,96,24,238,212,106,49,199,127,18,171,75,143,207,102,167,113,37,175,39,207,39,239,39,6,16,11,136, +9,129,72,0,20,98,37,49,147,216,169,162,254,21,104,245,207,246,22,180,213,153,136,69,90,218,182,190,229,216,246,30,238,1,4,33,209,208,35,170,55,202,142,238,63,200,75,155,127,143,42,17,252,115,175,155,43,60,104,234,136,88,93,207,61,159,32,208,38,172,3, +71,130,129,160,32,93,136,252,247,30,68,254,27,165,72,2,30,225,75,138,183,35,158,135,202,204,99,94,190,100,91,228,153,68,224,182,255,6,60,2,30,245,169,29,152,131,20,232,141,10,49,169,5,208,233,102,73,86,23,206,77,159,8,60,72,217,176,255,0,213,209,106, +49,26,78,195,71,206,161,92,102,38,243,177,21,239,39,6,16,11,130,96,252,71,162,170,125,114,96,37,49,19,95,53,63,163,254,49,255,3,83,65,5,0,175,176,155,207,121,166,5,59,27,63,9,150,102,60,141,88,207,51,100,197,238,159,203,186,61,175,41,91,0,79,45,228,213, +59,219,247,10,12,204,170,232,185,0,15,196,28,40,172,108,149,109,213,194,251,179,160,0,163,57,118,167,255,32,19,107,63,32,149,81,170,6,201,118,242,5,15,151,81,37,58,126,151,97,89,131,191,223,152,5,73,10,124,171,203,134,226,123,127,14,220,246,203,43,194, +237,47,189,6,150,226,195,63,157,177,5,8,183,2,10,220,145,133,205,30,154,56,39,241,123,49,167,124,83,244,234,113,153,178,178,155,151,228,241,220,251,39,207,39,239,39,6,4,73,19,167,48,18,88,169,48,179,176,212,84,185,15,132,0,160,56,95,202,182,238,182,210, +12,1,54,0,173,234,71,17,116,217,139,96,64,117,165,183,201,242,173,191,150,174,228,158,204,86,64,14,18,101,70,179,81,87,62,78,134,87,204,135,229,248,122,12,178,112,133,215,143,110,8,224,45,8,9,10,11,227,74,8,114,195,170,166,168,250,229,186,61,212,211, +56,142,41,77,146,241,87,224,242,246,82,102,10,228,48,206,122,50,44,177,79,160,5,143,208,182,254,32,241,142,103,50,109,203,147,62,156,147,208,2,104,177,97,98,142,58,31,90,128,22,213,7,236,135,48,21,33,5,104,199,145,222,35,70,253,103,160,213,57,197,109, +64,150,219,182,180,250,167,234,159,188,94,241,124,240,126,98,64,143,251,246,32,211,5,67,147,24,73,172,204,212,36,207,73,112,228,246,12,132,0,160,106,65,137,70,211,156,59,163,101,106,229,19,140,72,11,136,248,84,105,66,11,176,231,219,178,122,215,75,71, +166,214,33,238,224,234,144,146,101,196,168,146,134,202,25,24,80,91,112,103,200,104,14,65,174,64,95,166,224,150,178,119,64,144,59,31,91,58,25,223,255,188,183,174,220,121,156,236,120,26,154,71,68,190,211,184,173,144,155,205,73,160,137,151,115,229,72,159, +6,101,36,156,104,255,29,62,251,197,30,220,57,104,12,159,129,104,203,159,128,22,224,29,208,62,20,204,115,238,166,65,123,16,253,200,184,120,14,78,91,157,116,37,14,124,26,169,132,187,92,141,173,201,235,201,243,201,251,173,96,68,253,35,101,45,98,35,49,114, +160,86,255,44,116,64,4,0,90,50,178,48,67,139,252,71,178,27,86,80,174,115,110,193,165,27,150,121,164,228,32,6,123,185,49,87,94,216,122,175,236,238,220,160,212,67,185,172,248,60,21,241,200,234,105,48,6,188,4,198,128,187,209,232,80,205,123,36,250,7,237, +119,26,255,89,246,51,48,254,155,15,183,206,6,37,216,121,125,155,91,93,57,204,233,1,147,192,225,55,175,100,212,255,161,42,250,96,90,34,96,24,46,90,169,69,8,145,252,44,62,145,225,231,41,36,81,112,179,161,242,141,214,99,229,120,58,114,12,5,243,131,233,94, +4,87,148,225,223,235,112,235,188,5,171,255,19,220,10,103,41,148,147,167,83,245,79,30,79,94,79,158,31,144,144,191,108,15,153,132,65,108,36,70,170,11,25,204,228,231,66,166,1,17,0,64,119,5,246,95,154,245,248,118,124,248,110,121,53,164,240,0,28,18,68,194, +218,78,26,70,32,149,178,181,243,79,242,250,182,191,96,80,48,114,97,246,7,250,168,103,48,200,234,202,39,202,168,170,217,88,223,209,175,121,64,200,91,200,241,49,164,242,166,221,70,26,97,105,107,203,46,149,154,178,17,170,237,249,129,63,178,128,244,203,148, +232,88,10,44,250,31,140,45,122,20,12,101,223,127,69,142,62,94,176,234,215,166,96,27,96,23,162,36,82,0,112,185,98,31,55,102,119,41,99,120,100,54,158,42,90,205,199,225,63,190,13,229,132,130,121,118,68,28,196,187,149,234,127,27,130,254,188,79,34,147,17, +226,153,49,29,148,96,168,214,148,253,170,24,227,119,184,252,57,173,120,60,121,61,121,190,29,20,47,28,96,33,49,145,216,72,140,100,163,60,204,236,87,3,243,184,105,192,16,138,231,24,171,122,26,206,67,8,113,184,29,214,142,94,79,230,81,125,127,30,229,185, +207,181,209,139,228,217,173,87,201,198,214,85,42,211,220,24,191,59,40,39,53,156,37,213,209,89,146,86,145,206,6,140,196,254,16,99,40,231,162,212,255,235,100,68,229,185,210,144,217,255,207,59,80,84,134,158,169,238,215,0,110,73,124,107,196,159,95,42,238, +82,235,44,6,230,170,144,84,252,71,146,232,122,94,49,109,16,45,191,70,114,165,72,195,175,242,70,49,71,156,141,60,209,7,174,76,150,95,190,225,211,3,64,1,240,78,24,84,139,89,35,230,228,79,168,62,84,227,33,75,107,114,143,151,147,183,147,199,147,215,147,231, +7,35,57,54,177,144,152,40,192,70,214,105,31,86,14,64,5,7,12,157,154,180,38,155,91,1,56,214,240,29,116,200,247,140,40,193,82,203,115,118,251,71,33,27,49,217,99,250,121,210,188,238,14,233,74,229,22,155,156,96,65,85,83,93,249,36,132,143,253,71,40,57,168, +250,200,83,141,233,95,19,195,156,142,68,1,12,80,83,55,101,88,197,81,232,185,136,82,255,99,140,30,233,169,195,252,142,190,7,179,74,39,215,224,216,95,68,254,83,89,133,190,255,135,38,24,52,35,218,68,24,74,110,145,100,231,43,153,219,242,161,191,151,133,203, +230,204,113,231,138,86,113,54,228,175,93,248,97,192,88,223,161,155,27,254,114,100,10,224,136,117,115,204,101,80,253,207,116,87,254,57,106,111,200,211,201,219,201,227,201,235,131,147,52,139,88,72,76,36,54,18,35,137,149,3,85,191,1,157,5,151,32,48,16,27, +102,153,242,43,132,58,92,22,45,55,184,25,26,8,142,72,160,54,117,93,54,119,189,36,47,111,254,223,156,233,79,85,19,211,209,35,47,148,250,242,147,48,216,16,25,48,47,16,81,217,133,47,5,166,0,237,53,82,246,46,169,141,157,47,163,170,143,85,165,121,125,153, +107,209,158,45,73,170,251,77,236,109,255,6,171,207,163,144,85,0,206,25,207,181,65,3,242,92,59,44,181,97,136,217,141,80,221,241,191,43,1,42,111,91,0,206,63,238,1,199,26,96,11,112,34,242,164,10,32,84,3,12,72,119,230,92,8,251,172,19,238,126,51,37,50,229, +131,110,46,212,230,228,152,200,211,201,219,201,227,3,180,40,75,19,3,137,133,196,68,54,205,195,200,28,155,153,245,99,3,42,0,44,190,100,177,117,223,75,51,35,55,158,209,188,13,107,227,7,113,206,113,214,21,46,228,3,182,147,132,132,56,81,158,219,210,36,235, +247,44,207,185,40,238,57,153,122,133,156,50,246,26,28,34,83,129,124,6,76,160,203,185,206,225,131,244,228,216,37,245,21,51,16,252,103,172,210,228,80,46,207,61,113,223,17,251,122,80,53,166,226,175,102,240,134,211,45,28,11,135,167,41,84,190,250,113,56,43, +97,169,36,187,64,55,166,60,24,191,155,1,243,112,89,157,57,241,31,16,25,24,130,88,40,152,239,35,77,48,63,96,158,96,159,62,114,236,23,209,95,53,232,47,206,155,220,230,35,121,57,121,58,121,59,121,124,144,18,49,144,88,72,76,36,54,18,35,7,178,126,238,172, +24,192,18,183,206,188,88,53,80,79,232,15,166,19,206,83,48,126,160,245,67,32,180,0,28,96,142,112,128,140,145,230,245,255,38,137,116,123,78,148,113,85,255,142,12,171,60,74,142,111,252,44,60,2,118,34,231,1,39,117,78,117,31,154,15,17,252,19,82,102,30,37, +35,171,142,241,135,4,25,227,191,84,252,109,73,199,127,1,12,3,19,147,160,236,59,250,211,196,130,229,130,112,33,88,168,65,0,248,21,182,79,54,160,24,50,126,63,4,39,198,144,31,139,51,2,206,1,160,144,13,5,107,1,82,48,122,22,93,198,88,165,227,40,231,200,81, +215,138,81,59,21,221,132,126,202,8,112,217,54,133,60,156,188,156,60,221,229,237,185,9,17,217,150,123,196,251,129,121,196,62,98,32,177,144,247,123,216,120,196,103,125,188,97,192,81,137,251,27,148,116,190,60,191,185,21,194,207,127,192,248,33,161,25,202, +57,55,48,179,209,128,125,226,214,174,23,100,217,6,165,149,193,248,203,190,106,222,234,113,202,240,249,50,177,126,1,212,203,173,96,99,161,15,178,143,99,215,199,172,24,252,103,47,4,128,41,210,88,115,188,202,55,111,227,191,12,159,73,197,215,35,184,7,85, +217,19,144,111,176,86,31,62,18,208,231,172,176,71,171,159,12,193,233,119,216,10,88,153,201,219,15,86,229,118,74,100,210,135,225,116,85,141,124,179,159,215,62,55,52,204,238,64,10,16,10,224,41,110,54,46,144,200,184,243,221,95,115,208,0,121,60,155,60,156, +188,156,60,61,64,201,33,230,17,251,136,129,196,66,98,226,64,238,253,123,180,240,99,86,121,121,245,251,253,170,153,203,211,180,116,92,120,86,243,47,240,208,211,177,10,184,229,4,104,99,134,13,49,180,6,121,101,199,79,101,205,174,231,176,122,227,10,49,151, +21,136,163,6,222,201,56,150,180,58,54,25,32,3,43,103,37,4,132,140,167,223,131,101,64,110,228,225,32,166,52,86,159,162,142,255,117,247,238,243,89,41,176,127,117,177,160,249,73,199,31,87,235,87,65,188,137,16,112,178,232,76,7,145,57,245,26,233,222,123,39, +236,39,182,101,30,244,103,222,48,144,140,1,27,29,193,121,15,236,167,48,5,129,2,232,91,130,191,13,30,9,35,220,232,49,159,69,215,240,0,167,236,251,220,243,249,39,239,38,15,39,47,15,84,2,214,41,204,3,246,17,3,137,133,196,196,193,168,227,160,140,126,224, +169,35,205,205,170,108,199,210,190,29,111,79,183,26,81,29,97,144,124,209,243,249,64,71,2,119,153,196,211,59,229,133,205,139,164,27,22,164,58,84,80,158,81,87,255,11,32,136,56,56,38,184,86,206,152,112,43,62,239,81,195,57,12,16,212,127,10,14,196,157,140, +253,96,234,245,50,186,230,100,183,184,28,86,28,251,213,51,163,49,178,146,20,0,254,21,218,203,163,241,115,144,44,143,247,171,109,64,191,80,11,48,85,172,68,51,108,40,222,201,212,49,31,161,108,255,102,154,19,222,143,169,185,219,5,157,253,127,10,191,13,10, +5,212,34,16,125,178,75,162,51,154,96,176,89,139,90,16,252,179,235,115,23,252,117,197,179,201,187,227,16,194,201,203,221,188,6,165,97,251,23,10,140,35,214,17,243,136,125,234,71,96,161,194,196,253,239,28,144,111,131,34,0,176,101,77,243,155,211,77,79,206, +51,23,158,211,220,140,62,94,162,120,46,182,232,6,164,213,253,40,132,102,9,49,99,178,188,211,254,175,242,226,198,223,102,158,96,245,178,149,72,221,1,220,80,57,89,78,30,243,45,108,5,108,192,152,166,58,42,187,129,221,143,42,135,183,228,68,1,74,163,220,255, +31,43,35,171,221,40,99,222,246,77,78,217,241,161,204,126,101,26,251,255,8,68,135,239,52,4,13,131,255,144,52,253,79,152,31,206,78,87,11,208,118,55,232,200,19,253,152,178,157,127,238,83,7,190,26,149,227,196,28,253,25,236,53,195,37,80,237,64,30,120,71,248, +125,224,40,128,190,230,113,205,214,26,137,28,253,61,4,253,153,146,41,58,91,30,201,177,225,66,8,121,54,121,119,76,159,140,17,51,40,139,235,190,201,199,227,8,216,44,96,30,177,143,24,72,44,236,251,230,194,95,117,169,85,248,114,250,44,225,182,121,205,100, +143,136,190,102,45,76,39,237,237,186,161,88,175,63,51,188,207,18,179,189,72,33,96,190,188,188,227,199,178,122,231,179,202,24,57,151,173,0,122,5,176,199,167,52,156,43,211,26,174,145,100,250,77,140,2,74,165,97,26,124,10,176,111,76,25,83,139,80,177,10,184, +243,29,126,238,243,84,91,39,59,127,2,0,171,3,102,237,25,252,102,22,101,13,224,66,171,141,67,12,133,223,72,82,217,2,184,243,200,151,166,32,222,131,1,45,128,38,155,81,6,5,242,48,13,26,5,120,16,84,10,161,126,199,125,17,251,254,231,161,26,68,200,236,231, +33,121,51,193,149,188,250,229,237,63,86,188,59,32,94,230,138,180,168,154,67,140,35,214,17,243,120,209,195,64,117,195,32,188,12,170,0,128,206,114,22,45,90,96,124,229,236,103,54,56,60,46,152,20,114,123,127,16,72,113,112,145,52,75,48,177,58,232,78,39,228, +153,77,255,41,237,9,172,72,16,136,34,219,99,131,41,214,80,53,165,235,81,57,174,241,67,176,52,191,24,154,128,237,24,172,100,60,217,15,244,131,107,26,94,201,157,2,238,9,97,147,135,101,12,142,20,243,201,61,55,239,73,27,39,151,165,19,143,96,52,79,194,37, +0,89,152,114,164,0,109,1,70,75,119,235,119,49,135,212,122,33,199,124,122,63,230,206,57,163,114,12,64,231,102,28,49,187,22,253,196,253,230,48,13,56,5,212,202,31,161,126,235,63,2,127,255,75,176,128,7,79,204,193,229,143,60,153,188,153,60,154,188,186,219, +74,40,222,29,36,211,50,98,155,194,56,96,29,49,143,216,71,12,28,112,154,247,42,112,80,5,0,214,227,18,248,61,98,203,84,147,170,232,93,56,10,113,141,166,83,250,11,78,178,224,30,86,105,142,151,205,157,63,197,86,192,175,1,254,105,53,208,220,85,125,255,235, +201,213,37,7,105,121,164,94,78,26,251,41,169,136,76,192,161,51,109,104,120,164,255,153,132,119,250,76,1,10,102,105,196,254,159,174,124,255,253,201,156,121,38,246,197,179,23,45,52,254,203,143,174,212,142,198,16,23,224,15,146,74,188,153,95,86,251,158,230, +74,3,124,215,136,137,49,250,60,28,13,64,1,13,123,208,62,9,127,251,138,9,63,28,158,2,220,122,177,224,29,21,155,8,163,63,156,242,23,171,71,191,64,200,203,108,161,29,254,225,158,95,201,139,221,133,89,90,241,104,242,106,242,108,242,238,32,37,98,27,49,142, +88,71,204,35,246,13,118,253,6,93,0,32,1,40,5,45,60,105,73,39,84,56,55,81,66,66,26,84,169,72,213,96,223,11,84,54,78,187,84,153,239,149,231,183,93,35,43,182,61,166,170,151,203,62,49,7,41,53,1,195,42,166,200,137,163,17,36,8,170,47,91,29,71,25,44,161,103, +95,211,75,252,3,251,144,254,255,99,106,206,196,128,203,197,203,227,112,240,166,254,0,0,64,0,73,68,65,84,64,2,185,195,214,182,186,32,0,92,229,26,255,57,173,7,222,20,126,207,154,2,93,10,154,187,90,238,201,250,201,67,62,144,153,114,70,205,4,156,50,119,35, +180,0,47,102,172,206,15,249,68,248,131,175,20,0,244,48,206,191,94,38,209,105,215,138,94,51,213,93,249,231,16,234,215,229,197,142,226,205,228,209,228,213,228,217,1,19,232,28,98,27,49,142,88,55,216,43,127,175,43,3,33,0,120,149,153,52,167,241,97,219,114, +126,111,70,169,6,80,122,32,239,167,65,126,39,80,116,74,153,113,161,60,190,254,38,28,41,137,125,67,164,108,181,0,124,198,243,47,31,95,63,91,142,30,241,9,192,14,173,195,3,36,239,176,146,67,38,97,213,167,181,203,132,250,249,0,24,63,166,130,139,42,233,228, +58,24,151,145,136,212,238,12,154,125,79,9,245,34,132,51,109,152,88,241,159,194,22,96,185,79,237,202,176,24,184,154,25,163,102,195,227,108,2,184,51,23,100,126,140,3,159,170,88,210,217,160,79,17,123,35,50,241,147,98,52,158,237,178,192,204,234,47,155,102, +123,60,152,60,153,188,153,60,218,141,245,239,206,197,108,242,42,220,189,142,77,76,35,182,17,227,10,87,78,246,57,7,102,180,43,149,136,182,216,178,52,231,166,116,210,226,140,231,112,8,12,50,58,56,193,77,71,12,241,132,21,145,63,191,253,109,68,247,139,3, +52,114,25,100,124,198,109,214,140,209,31,145,201,245,31,197,86,0,141,196,114,201,43,251,14,15,159,112,41,64,192,183,160,125,25,94,113,46,220,52,25,165,207,159,228,32,212,104,178,3,94,35,170,59,185,10,9,147,63,20,128,48,133,105,211,213,242,239,153,236, +124,96,13,25,192,49,106,39,138,62,226,99,48,68,91,129,126,11,183,228,252,233,175,195,229,2,216,193,129,76,230,232,203,17,237,239,163,238,141,234,124,134,108,121,32,247,142,113,150,46,120,49,121,50,121,51,121,52,121,117,80,18,90,132,129,170,105,196,52, +98,219,37,192,56,181,229,29,144,10,6,70,0,240,84,34,55,205,94,250,119,208,235,102,132,73,212,28,244,109,64,232,132,106,184,234,226,152,49,76,214,183,255,69,158,126,231,63,208,179,144,83,114,74,28,232,100,96,154,156,56,230,227,210,80,121,14,60,33,90,240, +141,251,144,62,48,182,156,234,52,196,30,194,254,99,218,222,41,99,107,231,195,200,12,123,145,62,37,199,73,33,132,237,55,49,132,39,35,199,208,248,207,39,178,34,27,119,94,88,201,103,16,23,224,13,124,247,230,80,62,37,144,61,3,44,140,10,49,134,195,11,196, +172,198,119,206,105,230,29,166,130,80,128,42,126,107,183,232,117,243,225,242,119,5,138,240,250,49,23,154,99,239,24,60,152,188,152,60,153,188,153,91,122,65,234,63,98,24,177,140,152,166,176,141,181,99,181,3,146,2,35,0,144,30,77,176,229,224,187,238,24,15, +34,76,226,235,102,132,38,161,65,210,161,82,8,192,129,65,198,36,121,97,251,15,229,205,29,75,89,93,181,175,175,62,100,245,226,14,248,168,89,37,115,38,125,69,42,163,140,20,136,189,78,181,2,9,204,248,200,170,69,197,115,51,104,143,153,25,193,97,148,99,235, +102,131,5,241,132,48,127,104,158,234,126,205,13,51,175,132,67,127,242,44,30,186,22,178,166,84,10,34,158,187,189,82,186,219,126,237,22,68,67,190,124,83,198,224,204,24,62,67,244,6,104,1,210,111,163,156,80,11,144,47,89,15,126,30,125,69,186,194,62,70,43, +59,74,98,39,125,13,95,33,112,169,148,61,248,123,161,126,201,131,95,216,254,111,138,39,187,7,253,100,159,215,193,117,245,237,74,154,24,70,44,35,166,49,87,15,227,124,43,33,207,140,130,37,0,0,95,23,192,53,226,186,57,79,108,70,55,126,203,74,113,210,43,161, +192,135,153,158,39,165,246,123,156,238,129,195,229,207,107,191,14,123,128,141,0,109,90,248,231,170,13,16,21,41,112,246,164,91,17,134,182,26,219,1,161,16,176,31,169,11,240,69,195,42,36,133,109,151,177,213,31,144,40,44,193,153,252,98,27,221,109,63,165, +132,143,68,235,255,48,249,75,1,151,13,164,227,191,199,25,1,127,67,167,145,125,229,62,239,220,186,161,179,160,5,208,32,136,155,163,206,193,251,8,100,201,51,27,252,26,17,254,82,160,56,115,35,248,99,45,71,240,199,118,91,236,164,219,240,149,145,254,114,75, +174,191,191,38,91,246,190,33,143,172,253,138,226,197,249,143,131,220,234,114,152,167,184,63,161,19,195,48,146,190,69,76,35,182,53,1,227,14,243,204,128,255,20,40,1,128,173,95,180,96,177,34,208,248,77,35,127,3,76,125,160,172,194,68,29,161,87,13,88,50,180, +114,236,57,237,149,223,189,249,85,132,12,230,25,230,185,132,10,238,105,212,176,138,169,114,42,172,145,77,189,92,121,40,133,7,7,245,208,198,239,79,116,189,76,217,175,97,245,15,53,164,81,153,201,62,127,134,111,89,123,224,174,246,59,48,187,114,228,25,156, +125,72,191,233,55,120,249,165,32,92,77,17,59,253,130,196,219,31,117,171,225,199,210,32,163,5,48,71,157,10,213,244,133,192,146,173,232,67,110,199,133,201,23,10,208,221,143,218,26,104,220,162,199,126,5,22,255,71,231,156,173,138,167,130,254,34,207,93,178, +230,14,73,194,223,223,8,100,12,7,39,69,236,34,134,17,203,216,96,15,219,114,110,124,1,30,12,156,0,192,253,17,134,71,84,241,1,68,187,39,222,149,222,20,45,51,3,182,21,128,241,12,6,31,209,135,203,142,248,10,121,124,205,189,216,79,134,81,32,133,128,156,84, +201,46,23,27,91,119,134,156,208,120,13,140,90,96,140,36,108,114,254,160,84,128,49,83,228,89,98,128,97,197,87,25,57,69,106,202,70,171,182,144,169,228,151,220,254,139,99,31,82,156,29,200,138,161,127,195,84,24,10,36,148,134,37,213,253,255,224,17,240,26, +166,8,215,7,249,246,31,230,25,243,128,240,109,142,158,139,192,144,163,32,4,4,107,47,185,48,180,28,136,92,201,195,160,250,183,215,72,116,234,151,224,113,49,43,83,104,246,146,27,121,43,121,44,121,237,19,224,185,219,187,150,131,7,55,224,106,190,253,239, +59,29,210,196,44,98,23,106,124,15,177,140,152,22,164,189,127,175,197,129,19,0,88,49,117,78,192,202,25,81,156,148,180,2,243,242,174,100,60,205,30,166,165,86,246,163,134,25,22,44,89,80,63,13,147,21,187,30,144,87,54,255,209,45,37,167,26,210,42,196,125,112, +202,240,11,100,198,168,111,192,30,96,19,224,159,66,64,152,252,164,128,142,125,200,132,181,9,190,255,31,144,242,140,26,210,115,205,204,183,156,20,142,29,117,183,165,253,51,42,204,183,78,165,247,60,128,89,155,14,45,192,139,136,181,0,223,125,149,124,16, +148,149,32,225,224,24,218,89,162,87,159,9,78,179,23,57,251,144,111,166,134,67,246,77,69,250,123,71,34,147,190,46,230,248,11,93,50,168,73,146,3,109,51,188,149,188,246,111,224,185,166,142,237,154,224,105,218,88,75,147,152,69,236,34,134,53,1,203,6,51,222, +255,225,198,94,32,5,0,86,248,182,233,43,83,24,39,218,196,205,35,239,133,104,254,100,180,92,169,228,2,37,234,41,137,20,117,53,16,170,244,153,205,223,150,181,187,151,67,66,165,161,96,246,213,164,59,11,87,162,148,112,143,31,243,81,153,50,236,74,73,218,111, +133,66,192,225,70,111,78,191,153,16,174,94,144,81,213,167,99,255,191,74,209,60,63,70,207,249,142,96,81,169,141,56,182,246,197,16,50,114,234,147,108,31,234,80,93,150,238,254,45,162,3,210,104,143,96,146,253,156,235,179,84,8,136,230,56,0,21,142,34,14,224, +206,99,159,85,14,236,69,128,191,147,94,129,64,75,159,151,200,84,186,251,161,159,200,27,85,127,101,87,107,70,81,37,111,37,143,37,175,37,207,101,175,123,11,167,236,114,43,232,221,182,139,85,250,147,196,46,98,24,177,172,160,37,230,145,121,96,5,0,244,181, +115,123,243,60,131,234,19,75,172,175,38,186,172,22,4,83,8,156,159,28,79,154,50,192,52,210,118,153,252,241,237,47,202,142,142,117,202,30,32,39,33,0,224,239,169,163,79,26,123,169,140,171,253,56,132,128,117,24,232,225,126,100,30,99,124,223,163,180,39,181, +112,222,120,109,236,67,82,29,27,190,239,122,126,31,220,101,73,162,243,105,96,208,50,48,183,97,200,206,39,48,202,175,98,37,252,52,140,201,244,19,213,89,11,169,46,108,3,168,148,195,138,242,64,10,41,96,130,22,128,129,129,170,113,52,116,192,92,202,14,172, +110,176,191,67,11,6,143,10,115,228,149,112,247,187,220,173,170,2,255,236,33,135,188,148,81,84,201,91,201,99,201,107,201,115,3,117,202,95,166,133,196,40,98,21,49,139,216,69,12,35,150,5,181,175,178,239,141,1,108,137,218,10,192,222,201,77,115,158,230,210, +234,46,101,81,201,165,114,160,18,87,252,9,236,69,213,74,71,122,175,60,178,186,73,218,227,60,52,136,96,158,125,191,43,59,2,12,120,3,17,202,206,156,248,57,25,91,115,9,12,214,182,161,197,129,238,170,64,245,200,161,42,67,23,203,164,245,54,86,255,239,150, +218,242,209,234,182,188,213,255,153,46,78,227,180,58,242,55,17,26,21,102,223,239,170,50,225,75,255,41,224,180,33,126,131,33,241,142,31,226,116,181,245,120,14,108,193,237,128,254,231,209,231,157,200,7,96,99,78,252,48,126,165,55,64,152,178,167,0,120,149, +181,89,140,17,151,73,244,248,47,130,156,240,180,97,223,112,155,37,203,68,30,74,94,74,158,74,222,74,30,75,94,27,52,127,127,54,11,64,175,101,60,215,238,34,102,13,246,81,191,253,33,117,246,61,210,159,92,125,188,7,66,128,50,167,238,92,242,212,29,24,11,203, +224,87,169,166,186,143,69,248,144,21,14,121,128,15,127,185,49,86,54,118,62,33,207,110,248,111,24,242,209,157,143,178,74,246,96,224,25,19,154,136,147,61,123,210,23,101,120,229,5,16,2,182,162,221,225,222,114,126,157,69,230,190,29,103,49,28,7,1,171,28,76, +132,67,139,125,148,107,66,223,130,57,165,18,111,64,253,255,66,38,171,208,250,63,87,106,102,247,28,182,1,244,19,196,74,44,197,177,203,175,184,143,230,0,48,135,42,211,28,113,26,60,2,206,133,50,135,238,156,249,140,145,67,149,80,162,215,105,241,159,222,12, +218,93,36,209,19,190,12,240,231,177,231,238,60,201,190,197,52,250,99,164,191,46,197,83,201,91,201,99,201,107,131,214,39,24,33,14,177,137,24,69,172,98,91,61,236,202,190,221,3,247,68,224,5,0,144,66,109,181,55,53,129,95,59,218,85,169,164,221,137,249,24, +192,25,73,33,160,27,7,81,76,151,23,183,127,77,94,218,244,48,42,156,70,245,115,171,170,219,68,71,105,2,78,159,112,141,212,151,207,82,154,128,240,8,225,220,38,7,213,255,105,187,93,234,98,23,75,93,57,172,188,85,207,228,214,55,251,106,144,89,113,38,187,87, +32,140,252,227,96,86,212,42,176,207,195,84,120,10,144,229,66,211,102,76,132,75,224,117,208,2,108,206,20,153,189,192,221,103,93,161,5,136,28,115,13,202,216,130,41,28,26,227,246,73,163,253,46,18,228,65,167,244,86,108,159,156,37,177,25,159,237,1,255,28, +121,32,121,39,121,40,121,41,121,42,121,43,121,108,174,60,117,191,234,250,253,5,12,155,216,68,140,34,86,1,181,200,92,124,26,140,126,87,182,39,191,98,16,0,216,223,138,144,180,168,132,64,248,245,72,76,237,137,7,146,211,114,128,86,71,206,149,39,55,126,74, +94,223,250,231,30,74,231,244,201,5,168,234,216,24,104,2,110,130,16,112,6,164,225,45,80,137,149,35,183,192,143,173,156,90,92,176,135,176,50,73,89,171,177,250,63,19,161,151,143,82,212,203,91,253,159,217,150,73,199,223,202,108,251,83,253,31,238,255,23,172, +15,15,202,24,171,115,13,193,179,146,239,32,252,50,52,48,138,246,121,10,117,189,202,48,42,199,136,57,230,179,48,100,131,107,39,87,182,97,58,4,5,192,139,116,184,190,114,229,95,53,91,162,39,221,44,90,197,184,204,189,249,245,7,121,40,121,41,121,170,11,254, +135,168,194,224,94,78,19,147,136,77,196,40,85,149,0,239,251,247,38,85,113,8,0,189,106,28,25,94,113,111,162,219,90,18,171,48,56,35,3,40,4,184,54,1,101,198,57,242,232,186,107,149,213,42,171,159,139,81,96,79,179,29,24,173,141,145,89,19,23,42,77,64,18,110, +108,186,22,238,53,247,208,167,31,159,184,151,136,152,255,181,101,19,112,51,143,101,206,87,253,207,61,77,77,146,241,215,1,64,143,241,35,18,87,39,97,26,56,10,128,232,74,11,112,12,194,3,127,24,219,48,187,50,69,251,33,28,19,212,34,98,140,187,24,235,143,80, +11,112,232,62,197,60,208,193,139,146,27,177,242,159,3,240,191,17,178,0,193,63,247,62,240,120,37,45,254,201,67,201,75,131,184,231,159,161,73,154,88,68,76,34,54,29,154,78,193,252,165,168,4,0,240,112,237,11,211,30,73,56,134,243,57,16,156,179,221,164,150, +40,120,164,165,248,231,70,45,123,120,245,165,178,177,117,133,50,100,113,183,4,114,169,45,243,131,16,80,54,22,134,129,215,99,21,59,27,198,108,27,66,33,160,223,164,228,201,127,93,8,254,51,83,234,43,198,168,167,242,221,69,242,12,60,211,137,205,240,73,127, +18,194,192,52,228,27,88,111,159,126,83,170,248,110,164,32,103,169,227,151,19,29,79,224,51,129,39,191,85,103,111,26,24,85,208,2,140,251,42,28,2,86,35,91,55,108,116,239,223,135,246,103,10,73,85,0,127,240,162,26,128,255,9,11,1,254,227,209,5,185,247,1,237, +114,104,244,71,158,73,222,201,200,143,228,165,126,246,169,111,125,230,98,15,193,127,23,49,73,97,147,171,250,247,173,136,66,103,84,84,2,0,86,89,228,187,218,141,179,150,114,54,222,160,252,45,131,116,246,227,1,189,165,67,69,108,217,35,229,207,107,190,46, +59,59,222,193,192,54,33,201,230,102,36,70,192,98,227,107,32,4,156,49,225,186,94,66,64,184,29,112,0,217,15,250,234,238,255,111,197,234,255,68,25,89,115,130,11,17,238,146,253,160,123,251,119,1,131,16,123,196,56,28,90,210,136,4,233,138,160,220,150,10,160, +44,218,191,6,21,249,93,173,176,197,60,10,90,128,143,65,24,227,209,218,126,36,106,23,0,100,176,96,55,26,231,97,7,128,243,150,236,210,63,225,194,143,90,14,94,30,4,127,168,253,83,30,248,223,0,69,64,6,252,115,156,91,46,248,27,138,87,146,103,146,119,146,135, +6,54,1,123,92,159,127,237,6,98,18,177,137,24,21,216,250,246,81,177,162,115,48,7,129,245,230,102,113,150,252,231,186,215,46,248,228,196,241,101,85,230,105,233,164,77,17,49,128,109,161,11,75,76,218,83,155,100,123,251,106,153,88,119,154,148,71,232,194,194, +128,63,217,51,18,62,66,158,196,243,235,135,87,30,175,14,34,234,76,174,130,161,96,61,154,159,155,96,209,199,152,40,205,75,90,18,244,191,88,70,86,207,0,13,25,84,36,31,198,194,57,14,235,100,28,75,27,223,251,93,116,74,43,190,114,248,5,112,71,170,52,123,179, +143,86,65,71,6,35,79,209,143,147,104,57,124,248,253,72,106,138,130,225,196,170,112,62,80,181,216,187,127,129,195,108,38,160,191,195,126,86,218,144,52,182,34,169,246,231,202,63,111,240,119,125,253,91,187,55,203,31,223,106,146,237,112,171,165,187,95,0, +125,253,189,145,149,2,246,68,146,93,246,127,222,48,167,249,155,188,232,97,147,119,67,49,188,231,195,5,7,165,125,180,176,92,228,44,80,96,159,178,211,223,136,119,164,95,129,20,134,96,211,193,228,190,84,95,149,25,141,178,169,243,89,121,124,237,189,210,149, +196,89,216,0,31,47,224,79,118,68,132,30,0,163,204,211,4,204,154,116,253,62,195,192,48,88,208,161,40,73,155,140,110,244,193,100,25,94,69,53,61,39,106,126,195,222,83,255,91,73,28,254,147,250,43,50,156,138,92,17,162,54,76,131,72,129,36,180,0,85,16,200,190, +5,143,12,63,181,0,208,234,32,38,135,57,242,12,188,97,133,107,19,252,243,27,63,131,72,36,159,138,134,249,85,198,224,47,118,98,111,240,207,45,123,242,66,242,68,242,70,242,72,242,74,242,76,87,245,159,91,158,5,126,42,77,204,33,246,16,131,88,22,49,137,216, +84,224,114,125,207,190,40,71,242,37,154,123,184,194,87,206,126,102,3,86,211,223,78,118,89,9,141,250,117,127,34,129,248,78,100,158,83,93,110,78,148,55,90,126,35,75,222,254,55,12,244,61,10,132,60,32,201,182,64,87,207,68,195,192,177,50,107,210,141,112,107, +59,93,197,9,8,25,83,95,148,164,0,176,87,170,98,211,176,250,135,250,159,122,186,188,212,184,174,250,223,182,247,226,72,218,167,51,57,49,96,76,81,105,254,250,34,84,9,92,131,207,185,189,70,186,90,23,103,218,226,67,159,80,88,68,54,70,195,12,24,4,94,135,253, +110,156,249,49,164,221,2,65,15,26,33,87,157,137,99,125,111,130,181,127,111,181,127,246,90,77,53,31,21,248,239,81,188,145,60,146,188,146,60,51,152,201,177,137,53,196,28,98,15,49,72,29,94,7,76,10,102,125,15,95,171,162,20,0,216,164,166,121,205,22,165,174, +27,207,122,250,215,232,144,187,205,8,7,159,90,218,249,48,235,15,79,180,236,127,197,121,85,56,209,184,210,156,44,175,236,186,93,94,218,252,7,53,192,61,32,207,62,63,180,84,65,143,235,29,64,23,193,198,154,247,194,207,125,59,174,6,112,39,36,151,6,250,246, +12,87,23,229,176,153,152,156,201,49,223,225,225,62,111,165,118,32,20,237,143,49,226,192,0,5,65,105,194,20,0,10,96,13,128,148,236,248,37,22,234,112,221,203,204,17,117,49,175,23,119,97,103,142,60,25,94,135,151,1,0,219,144,245,80,156,103,160,175,181,21, +194,208,7,0,254,189,92,253,114,216,206,100,119,168,0,47,120,150,96,79,158,72,222,72,30,73,94,25,80,129,26,147,95,211,137,53,196,28,98,143,90,249,3,139,242,26,94,131,248,112,209,10,0,152,219,206,2,89,140,224,64,162,93,63,187,249,150,100,194,254,51,220, +49,56,112,242,229,240,5,234,14,88,140,64,21,93,23,189,72,150,110,250,164,44,91,191,24,223,161,182,100,67,114,94,61,186,18,55,93,4,207,154,180,16,39,220,125,16,103,7,108,64,142,220,17,201,94,26,47,80,195,7,53,91,7,251,181,6,124,197,71,87,159,226,214,35, +71,102,181,175,17,153,209,101,167,219,160,254,223,12,50,15,199,79,161,250,127,31,125,6,245,3,248,176,214,136,45,128,167,160,5,80,71,176,251,195,14,148,22,0,130,100,237,52,49,134,95,4,45,3,108,144,135,148,160,77,94,130,32,63,214,90,132,247,93,0,87,63, +174,252,233,234,151,123,82,224,15,30,69,30,72,94,72,158,72,222,232,250,250,7,148,133,3,91,136,49,196,26,98,14,177,135,24,164,88,120,238,164,24,212,39,139,87,0,0,217,184,29,126,187,52,41,164,67,24,134,207,39,58,173,181,134,169,179,77,65,29,65,144,110, +187,164,42,242,30,121,98,227,229,242,130,47,66,128,59,126,120,118,192,172,137,95,144,241,181,151,74,26,209,203,40,4,228,167,234,30,212,113,233,83,225,20,174,82,82,17,157,36,35,170,143,87,121,230,71,19,12,43,128,129,3,65,46,213,253,60,232,203,196,80,177, +129,29,110,170,134,67,231,133,253,224,106,1,82,93,127,201,8,104,254,178,3,115,244,44,128,223,187,0,134,45,40,171,168,217,103,63,135,5,70,57,183,60,236,117,98,140,252,36,12,254,190,212,43,194,95,63,179,56,224,182,222,224,79,30,72,94,72,158,72,222,24,224, +228,16,91,20,198,0,107,88,79,98,15,49,40,192,117,62,98,213,138,94,143,213,124,123,179,195,61,152,155,231,54,239,122,215,149,147,54,194,158,228,35,104,117,128,103,38,71,76,18,70,46,211,97,19,112,167,68,156,99,113,234,223,177,80,83,155,184,158,251,254, +52,159,53,16,184,100,108,237,105,112,159,169,148,157,157,75,144,231,112,128,20,199,39,85,152,46,92,29,113,68,148,216,13,244,18,29,95,119,190,140,174,157,233,83,203,160,178,76,239,146,174,150,15,33,63,174,130,58,241,87,180,26,64,159,104,18,164,108,232, +225,49,74,108,251,121,12,249,233,18,173,56,21,242,25,198,191,218,29,204,163,158,212,28,209,123,167,172,65,156,174,61,98,239,125,6,121,226,200,96,53,191,242,200,55,176,143,130,111,208,172,138,177,15,112,128,150,57,254,122,137,29,119,101,47,240,207,141, +159,120,60,142,106,255,231,51,224,95,13,240,183,28,206,163,220,242,28,32,18,106,232,126,203,209,228,51,55,204,121,234,57,117,208,207,228,7,138,126,226,7,24,40,251,223,173,56,116,33,205,14,89,56,231,169,223,106,154,243,205,204,86,64,128,45,50,169,250, +234,132,212,123,17,194,92,94,14,21,216,34,181,15,150,207,118,128,122,22,35,84,215,163,114,210,216,203,101,250,168,133,208,4,188,163,216,19,79,193,43,93,70,117,164,113,226,224,244,191,140,250,255,72,183,246,243,247,116,106,59,86,151,220,7,174,198,19,161, +250,191,159,100,27,160,219,50,2,47,222,168,5,72,39,215,161,159,184,206,241,129,29,100,182,143,34,147,223,7,45,192,153,200,18,238,159,193,6,173,28,105,78,240,199,170,31,104,39,233,55,36,50,233,107,18,61,230,147,88,86,65,24,160,48,149,99,155,123,131,63, +121,30,121,31,121,96,240,193,223,177,137,41,196,22,98,140,2,127,96,78,142,196,13,212,99,69,175,1,240,168,217,252,223,235,148,61,192,146,113,235,151,26,107,199,207,138,148,27,211,236,180,77,209,63,160,98,37,215,230,105,137,234,71,203,219,109,119,139,233, +28,147,183,38,192,117,17,116,99,12,140,172,158,14,107,218,41,56,67,251,69,104,4,226,16,12,120,42,151,15,76,208,35,120,17,188,195,244,82,162,102,189,156,52,230,74,165,29,201,191,202,232,51,39,142,128,51,15,225,20,186,191,96,100,81,0,224,22,64,152,130, +69,1,70,225,132,49,89,186,25,216,127,6,226,2,156,0,224,34,168,229,203,10,240,60,181,0,38,67,223,118,138,221,246,50,242,116,183,28,130,213,254,60,107,67,240,199,9,124,80,33,74,244,232,38,137,76,126,63,50,116,219,158,171,38,229,64,240,111,222,244,113,169, +48,223,5,30,72,1,58,223,126,201,179,189,135,125,220,177,35,101,134,14,171,255,191,116,204,94,122,245,147,77,34,243,39,175,43,25,70,90,18,26,0,175,255,56,140,154,160,161,197,62,224,213,169,184,253,166,178,7,80,223,189,59,130,248,158,198,17,151,231,75, +243,166,43,252,209,4,168,61,106,142,79,77,166,12,191,64,78,31,255,85,137,129,97,89,112,91,27,90,30,2,220,171,79,201,168,170,211,197,84,71,146,230,219,247,0,16,36,199,78,96,255,255,62,240,193,73,248,22,90,255,147,38,193,76,232,27,48,132,100,199,127,194, +91,99,13,62,131,213,169,213,107,158,181,85,91,9,142,152,19,223,139,160,64,99,145,103,169,105,128,176,38,180,192,43,34,85,18,155,126,27,84,255,239,6,193,252,6,255,43,20,207,11,104,232,150,158,1,2,236,32,134,16,75,136,41,77,248,30,100,81,165,167,226,253, +255,84,82,2,0,198,169,114,43,189,225,172,39,214,59,150,246,57,43,141,229,26,130,241,129,28,46,247,238,63,93,6,236,78,174,82,89,189,50,99,158,191,66,64,166,201,99,235,206,144,179,38,127,79,42,99,83,225,38,200,0,41,165,54,132,251,238,42,134,255,181,160, +162,29,91,123,22,90,236,71,155,221,60,172,228,22,177,83,111,160,80,132,65,133,129,97,152,130,74,129,14,96,254,9,216,170,121,2,199,5,63,138,41,6,191,242,12,120,231,95,99,140,40,8,213,145,169,87,34,95,106,128,252,24,95,249,215,42,255,28,208,14,107,55,182, +55,166,73,236,228,59,197,24,53,203,205,82,105,79,114,131,138,131,87,254,87,40,94,71,158,231,242,190,252,107,93,160,28,88,65,157,24,66,44,81,152,226,154,104,5,22,75,114,161,67,110,189,154,75,73,3,244,140,167,229,91,120,78,51,142,104,147,175,70,98,10,255, +217,105,129,237,56,26,170,113,67,160,220,160,16,240,113,165,9,200,215,69,208,5,61,183,201,195,42,166,202,121,71,221,129,99,112,231,0,20,119,163,36,94,47,185,174,239,53,194,92,134,28,49,235,16,50,121,122,175,235,249,126,76,75,162,235,137,76,38,225,201, +127,249,82,179,176,207,99,12,56,0,51,125,154,36,58,174,145,84,98,157,91,156,143,94,194,102,227,217,48,3,65,216,97,21,26,216,29,115,133,109,83,161,114,7,47,32,93,172,157,162,215,157,35,101,167,221,13,151,199,163,51,133,225,186,199,84,179,44,222,3,127, +215,213,111,145,226,109,228,113,228,117,228,121,1,78,104,180,227,40,236,0,134,40,44,65,101,115,36,67,128,155,89,154,40,224,6,123,3,217,59,102,205,255,215,100,220,254,113,121,85,4,250,96,165,190,33,242,5,50,185,19,194,198,190,253,187,96,28,243,113,101, +33,187,79,8,200,153,105,245,48,165,24,206,15,56,123,242,215,100,242,176,203,48,180,187,51,70,135,37,184,127,137,222,85,135,255,192,200,178,177,234,28,168,255,177,159,233,83,114,108,11,231,206,255,10,160,50,2,57,6,218,101,201,167,22,23,123,54,80,207,99, +63,155,231,111,37,58,30,195,184,247,83,11,0,218,192,235,38,50,233,114,228,191,78,149,83,148,212,162,13,3,233,130,237,44,115,204,39,177,242,191,21,36,171,237,213,148,30,30,210,235,226,17,63,246,6,127,90,251,147,167,145,183,209,14,41,200,224,143,214,178, +234,54,49,131,216,65,12,97,99,193,130,73,136,192,226,7,235,152,75,42,201,101,32,36,53,167,201,105,210,155,180,38,59,101,217,183,117,181,167,151,68,202,116,3,157,72,125,123,96,19,171,71,38,85,9,203,216,253,226,4,176,65,57,11,1,61,205,141,154,85,114,218, +132,107,228,132,198,47,210,190,7,214,183,29,120,135,101,111,137,37,13,76,45,109,111,147,70,28,84,98,194,43,194,175,100,165,182,226,80,152,103,144,29,140,192,130,189,130,241,171,201,69,158,15,217,249,46,8,108,51,176,13,112,45,60,2,16,184,201,231,100,14, +159,137,224,56,151,98,56,236,133,16,80,100,2,181,114,241,115,109,37,162,71,93,47,209,25,159,195,222,63,13,91,243,75,238,10,204,13,242,227,249,249,147,167,145,183,5,156,5,19,232,97,244,167,27,196,12,98,7,49,132,88,66,22,156,31,85,130,249,116,73,10,0,36, +181,234,56,184,6,126,117,238,211,59,13,77,187,54,149,176,223,48,163,58,189,30,2,239,190,193,128,24,244,141,125,156,193,130,54,44,150,100,26,251,153,74,8,200,87,126,113,199,240,49,163,46,134,113,224,173,56,153,176,81,146,214,118,8,1,244,16,160,128,91, +10,137,194,146,160,109,99,16,30,153,238,127,156,185,126,204,93,216,43,119,61,158,33,83,169,25,126,149,66,191,31,170,13,84,53,99,133,139,169,147,216,251,48,4,2,126,247,107,49,135,113,133,227,130,35,147,47,67,150,187,144,175,127,194,230,161,90,227,207, +117,180,159,115,62,189,13,110,254,163,93,99,191,73,31,204,100,157,223,92,225,193,62,228,85,73,171,67,241,46,242,48,242,178,128,7,249,241,200,154,38,70,16,43,136,25,196,14,229,242,7,33,192,187,161,212,222,75,198,13,176,175,142,161,107,96,211,162,25,209, +155,47,250,235,206,139,62,51,113,181,101,201,71,116,3,98,175,171,131,10,176,240,67,208,98,176,160,227,228,173,214,59,37,158,24,134,48,191,199,194,165,173,2,19,41,159,163,108,61,198,167,73,109,249,120,236,143,159,40,157,137,118,217,155,248,43,220,228, +74,35,104,16,53,26,113,132,44,157,218,240,105,24,0,158,12,225,198,4,187,247,67,184,209,16,252,231,199,216,238,165,235,23,13,0,243,99,148,125,141,215,240,90,161,40,144,0,40,77,128,6,224,65,137,148,95,42,134,57,28,5,249,51,38,88,99,61,86,135,225,48,66, +172,93,255,14,37,192,52,124,166,128,232,71,254,204,221,207,132,49,75,45,5,87,254,233,53,162,15,123,15,192,255,203,136,237,15,59,6,149,56,166,115,175,55,121,147,142,152,11,157,56,236,172,121,237,191,203,178,173,215,100,252,252,185,93,150,123,190,110,221, +10,251,138,218,89,192,6,19,70,127,221,186,238,92,113,221,236,167,254,74,236,104,122,239,95,75,218,210,183,164,5,0,14,153,230,197,59,173,251,94,154,25,249,252,25,207,175,126,247,167,38,111,134,33,240,7,112,153,224,159,223,104,103,230,5,77,20,2,82,18,133, +16,240,78,251,98,233,140,59,50,161,246,68,8,1,149,190,8,1,84,211,85,68,27,84,140,124,219,174,146,237,29,15,67,8,24,6,70,73,53,102,241,10,188,26,246,124,53,217,41,199,143,254,162,84,151,141,6,13,115,143,174,216,187,123,211,169,45,210,221,242,37,240,49, +242,131,210,219,54,233,221,214,210,252,156,22,13,91,94,233,52,142,134,174,190,24,77,244,9,144,232,90,8,208,211,235,166,137,221,1,63,177,182,135,161,70,159,4,238,194,125,117,159,202,240,171,67,24,16,204,6,219,131,16,107,78,184,81,162,199,94,37,122,197, +24,212,149,109,96,33,185,215,215,3,127,158,116,250,232,219,63,196,193,62,63,0,248,207,205,172,252,115,207,215,175,166,31,33,31,7,74,11,168,249,81,79,91,187,234,250,57,79,253,154,152,113,195,187,94,43,105,240,39,77,74,94,0,96,35,255,112,255,86,91,9,1, +179,150,189,252,174,79,79,140,70,162,250,57,54,131,58,6,62,81,8,72,67,19,48,94,182,118,190,32,187,58,182,201,8,88,244,87,197,26,96,205,159,198,136,205,85,137,129,53,49,6,59,39,109,196,40,199,49,185,211,165,38,118,170,108,235,88,138,189,243,56,14,207, +41,206,160,65,106,245,159,94,45,71,53,124,78,38,55,156,155,89,253,179,147,243,233,106,87,78,140,183,255,65,210,241,159,35,47,172,246,242,202,143,245,9,211,192,83,0,59,127,218,72,184,112,62,41,102,249,135,160,5,24,229,79,21,8,26,84,123,235,166,24,181, +83,197,110,217,10,207,192,213,224,172,52,164,227,110,99,62,99,207,159,42,170,92,40,216,91,8,183,107,56,18,157,254,47,18,97,28,3,44,38,212,150,8,4,152,124,234,73,94,100,160,253,59,218,215,202,146,53,63,144,55,91,127,7,59,166,99,192,95,138,198,69,82,163, +197,63,86,255,223,65,152,223,239,19,43,174,62,109,121,201,131,63,199,69,174,8,162,198,84,49,189,92,61,115,121,154,139,193,9,27,71,126,29,167,57,253,140,29,206,169,91,12,109,96,220,236,114,115,44,182,3,126,41,191,127,235,102,8,2,235,212,132,35,128,231, +147,168,174,227,158,29,15,18,154,212,112,142,156,59,229,94,169,43,59,70,82,246,78,208,166,184,100,67,215,239,63,33,149,209,73,50,177,30,214,255,136,124,200,182,229,195,216,122,211,54,21,127,69,217,22,8,14,89,10,83,49,82,128,64,220,169,224,184,107,207, +191,248,219,0,10,226,20,2,202,71,193,144,238,58,188,31,141,173,162,109,24,122,65,177,9,192,92,198,241,200,122,21,252,251,79,189,31,214,254,243,184,111,161,234,236,134,73,206,157,28,228,65,4,127,242,36,242,38,242,40,242,42,242,172,98,72,196,0,98,1,49, +129,216,64,140,80,88,81,12,149,247,161,142,1,17,79,125,104,73,63,178,128,214,91,217,210,193,176,163,170,42,102,63,108,70,141,243,211,73,234,196,130,34,166,31,190,17,92,225,166,236,118,132,208,140,202,63,28,245,125,153,210,128,131,78,124,73,61,36,72,164, +219,229,111,91,126,33,107,118,255,23,180,3,141,200,221,219,45,241,165,160,2,101,194,93,254,136,36,236,229,114,202,152,159,200,49,35,223,13,176,118,59,59,191,2,93,186,88,233,157,210,182,249,82,28,51,139,208,18,56,110,214,93,217,229,151,115,248,244,96, +81,160,21,5,87,73,237,152,23,197,140,97,191,222,207,68,235,83,106,214,246,252,77,18,171,238,16,167,123,45,86,220,245,40,129,227,136,127,3,157,200,222,225,89,148,222,34,145,177,87,74,100,218,21,144,73,120,128,17,147,59,182,221,207,249,189,174,221,253, +178,252,105,205,117,210,149,78,74,68,175,6,248,23,141,145,172,3,163,63,45,157,180,30,239,72,232,31,192,153,50,29,30,70,228,71,145,226,121,122,200,104,0,216,37,152,155,78,83,147,232,236,104,219,212,47,7,248,111,50,76,181,243,147,223,82,122,128,250,155, +19,203,212,43,49,209,226,242,191,171,63,37,111,236,88,138,146,93,198,146,159,165,187,39,7,58,8,27,92,45,51,199,127,70,206,152,240,125,208,11,62,49,251,212,120,193,29,42,154,152,146,180,55,192,70,226,179,16,138,206,242,177,55,92,218,166,226,175,67,160, +88,1,122,80,43,66,173,66,152,138,151,2,216,194,113,90,225,22,184,36,211,4,31,129,153,219,1,72,250,176,19,36,118,202,119,176,226,198,9,148,214,70,92,65,25,106,236,168,159,7,224,133,227,20,117,65,188,15,24,62,72,236,248,31,66,237,255,217,12,248,123,237, +245,230,124,246,213,233,225,53,142,226,65,228,69,228,73,166,70,251,164,226,0,127,180,222,34,239,39,6,16,11,136,9,196,6,98,68,246,20,41,222,39,56,82,134,84,106,110,118,23,135,103,143,91,215,113,222,255,153,178,68,115,156,247,155,17,189,214,182,85,56,175, +224,162,220,190,94,130,202,158,86,188,8,69,251,250,174,219,164,202,152,41,35,171,38,169,253,238,252,87,189,100,10,92,57,27,82,95,49,17,126,244,179,165,61,190,77,58,82,111,130,157,232,129,60,80,136,224,159,178,91,164,54,118,130,156,58,238,159,97,216,56, +18,29,76,87,36,31,186,50,179,162,235,110,125,24,241,228,127,131,60,97,48,21,124,47,210,125,35,37,252,208,23,5,34,24,225,29,24,35,195,165,188,198,115,125,203,29,12,251,42,129,215,24,76,199,24,51,95,156,78,68,35,239,122,53,179,255,78,187,0,226,75,161,48, +6,99,94,25,250,181,163,8,196,248,168,155,35,177,19,110,19,99,56,220,97,213,124,96,185,249,181,213,227,49,22,206,196,120,117,203,35,242,187,53,239,6,240,207,0,255,65,192,165,226,153,27,105,240,124,90,252,111,78,219,250,69,55,205,110,126,135,43,255,249, +232,46,16,104,72,165,33,39,0,176,119,111,191,29,113,2,32,237,221,242,137,117,59,222,117,229,228,215,29,219,249,40,92,64,34,24,4,180,218,241,1,57,10,61,134,92,38,18,209,167,202,91,45,63,151,120,210,128,155,224,113,202,160,207,155,160,185,215,192,101,16, +148,242,203,35,245,50,174,126,54,172,1,26,100,79,247,235,146,66,156,112,67,195,10,74,205,147,193,159,43,4,127,11,49,19,92,173,197,13,50,188,234,88,255,192,159,109,4,211,100,212,196,174,214,95,40,247,63,77,163,58,119,72,216,6,229,62,124,2,255,36,183,139, +58,209,175,73,49,162,167,137,25,25,151,25,207,249,1,99,95,205,214,16,41,208,108,196,89,20,216,74,179,187,219,97,28,248,28,202,70,160,29,189,42,131,195,62,105,147,168,93,224,162,128,71,159,164,223,196,246,254,209,18,25,255,41,137,29,247,25,101,151,128, +198,226,119,182,47,191,54,122,188,165,59,213,42,205,239,220,47,207,108,254,58,12,148,79,199,76,161,2,117,240,249,65,95,125,208,199,181,180,114,247,67,152,85,152,254,95,114,211,89,205,47,16,11,134,34,248,147,54,67,82,0,96,195,169,9,104,66,132,167,175, +141,127,96,205,187,62,53,225,111,56,251,250,3,80,9,69,177,120,44,18,33,128,173,128,21,191,62,74,214,225,176,147,214,174,93,50,174,230,36,41,195,41,94,238,68,229,239,185,79,120,178,73,10,1,148,236,233,37,80,95,118,130,180,39,118,72,71,242,121,24,253,140, +200,172,176,125,98,96,172,106,86,137,245,138,193,99,161,3,110,146,166,156,54,254,235,50,166,246,84,180,219,167,149,191,170,11,25,26,2,154,116,255,21,39,202,221,11,254,182,19,95,203,113,109,176,218,156,21,129,194,155,15,71,1,21,199,97,131,24,145,249,136, +11,112,2,238,116,251,250,112,143,228,254,27,198,106,221,49,136,22,120,26,138,25,13,249,17,103,113,116,47,194,200,66,56,105,115,24,198,148,153,201,58,27,0,197,188,86,160,15,35,67,26,243,193,115,199,73,62,129,143,83,113,128,207,39,113,132,239,149,48,244, +155,139,223,240,59,219,150,217,154,200,167,13,174,12,161,201,222,248,14,249,203,219,119,200,107,187,126,6,99,191,169,200,157,2,113,238,124,38,247,58,229,244,100,26,60,222,132,7,88,28,188,226,159,22,206,89,250,8,49,0,234,255,33,59,169,135,172,0,192,225, +211,124,123,179,115,21,92,62,190,55,235,249,85,23,126,122,210,78,211,212,47,134,54,128,26,0,138,180,69,160,9,32,72,219,18,51,134,203,118,172,208,55,181,189,34,13,176,64,174,133,53,50,39,165,11,136,185,79,78,10,1,124,154,150,190,213,101,141,50,170,250, +20,128,255,4,217,141,3,113,44,216,78,154,48,248,25,12,181,159,129,189,198,4,172,172,43,17,197,108,230,184,175,201,216,186,153,62,131,63,26,13,97,130,26,128,68,199,115,146,234,250,49,120,232,120,92,164,108,152,13,163,198,237,97,10,32,5,42,208,189,109, +192,208,89,18,171,130,205,72,166,175,11,83,81,204,32,10,166,8,177,107,142,56,85,244,154,233,144,35,47,192,164,178,196,105,255,47,113,82,155,49,182,70,130,219,192,37,79,135,128,169,108,5,32,20,80,101,79,224,86,239,252,12,48,167,176,0,239,22,72,14,120, +62,129,103,215,97,72,46,133,47,255,169,98,52,126,30,17,9,63,46,145,73,23,35,200,95,67,166,77,156,189,252,203,61,121,66,53,45,165,54,182,174,144,63,173,190,85,214,183,47,131,33,242,56,240,133,162,2,127,11,77,48,113,188,47,72,239,92,187,240,172,165,255, +67,222,127,207,216,95,22,133,253,87,238,61,120,248,39,243,27,29,135,207,187,40,126,229,222,207,237,8,28,124,155,52,57,247,44,155,119,19,130,5,127,151,210,46,86,209,48,159,45,6,33,192,37,51,87,196,9,168,232,43,204,152,92,48,233,219,50,125,20,86,0,168, +62,193,155,238,126,249,38,7,249,184,70,112,34,91,218,94,147,85,219,126,42,187,186,30,149,50,243,120,208,138,49,190,11,63,143,232,154,168,33,70,65,87,170,25,1,140,174,144,19,199,252,31,156,112,8,151,43,50,88,50,74,63,83,6,20,246,238,248,161,36,219,191, +8,62,124,52,114,231,113,202,97,42,126,10,64,75,102,175,19,179,236,58,169,27,123,15,154,67,161,174,192,172,144,76,133,229,100,198,169,221,133,99,165,247,226,108,137,246,213,136,29,240,12,222,159,130,6,127,5,116,178,240,50,161,134,66,131,150,141,66,1,4, +124,101,116,103,193,173,16,219,93,98,111,116,229,128,234,79,226,196,190,211,69,171,61,73,140,170,209,248,60,17,247,66,48,56,160,28,92,204,57,245,240,14,91,86,109,95,42,143,173,251,26,140,253,18,88,112,52,20,141,177,159,106,60,28,51,32,192,208,192,143, +114,215,205,215,207,110,190,195,227,249,184,198,142,25,178,169,192,163,190,56,232,218,212,4,207,128,38,87,183,123,215,115,231,126,195,208,181,91,169,70,231,204,227,148,45,142,86,56,216,159,47,135,65,28,12,156,0,84,115,70,223,36,103,78,88,0,187,0,134, +15,182,33,4,228,15,144,189,129,182,19,219,1,239,236,121,10,140,225,86,228,61,69,121,39,184,190,191,133,153,79,174,202,191,27,109,219,40,211,71,222,46,71,13,63,23,219,29,245,232,32,63,220,253,14,236,97,182,1,156,193,222,43,123,183,125,83,82,221,119,131, +25,79,193,53,28,248,18,166,18,160,0,99,68,108,194,22,192,101,82,51,250,46,4,5,130,106,94,225,192,0,76,117,10,150,76,251,230,35,194,147,96,251,206,78,98,108,39,49,119,187,214,33,54,15,62,119,111,198,225,5,91,112,31,87,254,208,196,97,27,142,171,127,189, +106,42,4,128,10,108,249,151,227,43,236,113,12,10,9,153,148,17,90,189,175,249,188,123,60,35,101,117,169,152,254,207,109,189,3,51,98,24,230,121,21,248,9,143,194,30,0,90,229,211,128,204,179,168,37,24,4,40,8,26,66,107,249,205,133,115,158,250,58,127,234,205, +243,125,40,166,104,179,40,142,94,28,0,242,170,189,160,204,161,15,119,47,59,247,151,136,22,248,81,28,10,49,0,37,251,89,132,187,55,110,193,161,33,109,111,150,163,235,62,34,243,167,92,43,245,229,180,94,119,65,45,255,210,40,21,17,116,213,9,203,178,187,227, +109,89,185,253,65,217,178,247,215,18,213,39,103,86,226,126,10,1,28,162,56,25,193,90,39,35,170,222,141,147,12,175,128,77,194,12,213,140,222,2,73,254,237,234,157,3,251,93,71,236,248,181,210,190,227,38,177,146,15,161,93,19,112,45,60,2,184,55,149,138,247, +179,39,0,124,68,106,26,191,15,65,128,219,59,126,205,143,126,82,133,75,11,150,185,79,16,240,158,131,38,13,64,238,88,73,44,87,123,84,236,154,201,237,1,110,5,96,149,223,59,237,19,40,56,79,252,98,231,46,45,90,186,183,200,147,107,239,69,112,159,135,0,252, +99,177,192,48,51,43,127,191,202,233,221,144,194,125,102,160,159,84,210,254,213,13,179,159,250,24,75,233,205,235,11,87,106,113,228,124,192,104,42,142,74,23,162,150,238,177,143,208,4,64,93,20,29,94,113,69,114,103,151,137,32,17,31,129,159,104,33,138,43, +80,158,12,239,155,0,116,153,0,227,137,8,201,249,144,180,252,253,29,185,96,242,13,136,142,231,87,208,32,37,78,239,19,2,134,87,29,45,103,87,220,34,59,219,63,36,43,176,45,208,18,127,13,108,136,209,242,120,95,4,175,212,60,120,218,7,50,150,67,37,143,169,128, +249,145,1,170,253,118,190,167,16,166,248,88,57,115,212,173,210,72,117,103,230,120,223,194,129,63,234,231,242,63,177,211,123,193,136,55,160,13,76,133,223,226,80,197,132,47,3,72,1,142,75,111,220,13,96,177,44,138,250,104,85,54,6,155,154,22,153,65,167,140, +251,176,213,101,30,34,226,164,39,56,240,89,149,133,55,183,252,172,191,38,235,91,94,150,199,222,185,91,118,116,47,151,24,120,9,199,191,235,227,63,72,244,202,177,121,224,225,130,133,220,67,209,17,21,87,48,139,38,172,145,200,235,115,204,174,228,30,43,174, +222,28,0,242,103,52,202,78,211,202,25,209,202,214,134,255,137,196,140,15,83,8,0,161,56,245,138,138,94,4,226,52,130,158,68,97,41,124,214,216,47,192,96,238,67,80,215,123,50,95,134,225,228,69,211,131,243,216,220,250,87,24,11,45,149,29,29,175,64,11,209,162, +212,133,12,38,196,186,240,160,30,10,3,116,223,243,146,107,69,76,208,167,29,1,207,55,40,199,74,163,18,239,21,88,241,159,42,147,134,157,39,163,107,78,197,179,189,25,221,193,229,122,249,249,242,158,81,165,38,186,94,150,206,157,159,134,16,0,63,110,109,44, +178,78,248,146,125,152,201,96,83,192,211,0,92,2,13,192,61,208,0,20,206,21,48,247,150,114,140,247,149,10,193,130,122,230,19,195,161,44,223,244,27,121,118,51,108,95,96,104,104,194,237,215,157,163,125,213,37,152,215,60,94,237,130,191,245,235,206,186,221, +151,54,205,88,153,244,120,123,48,107,61,56,181,234,225,196,131,83,126,224,74,165,81,136,59,80,86,38,155,86,46,184,180,170,109,199,131,8,26,241,145,116,138,167,7,41,139,145,66,204,192,130,208,129,19,215,208,170,1,196,73,121,108,195,109,178,165,125,165, +218,18,168,41,131,213,49,219,2,160,219,31,88,179,173,198,193,164,24,91,119,58,172,242,79,151,100,186,83,182,182,253,21,241,3,214,226,184,225,237,210,133,253,76,27,254,215,180,28,182,176,183,78,195,38,106,7,76,30,67,12,77,1,65,191,44,50,66,234,212,49, +197,211,0,254,199,195,191,223,11,91,122,96,189,14,46,247,192,59,252,251,222,91,240,240,47,215,48,167,144,2,135,167,192,192,140,241,222,60,128,46,126,84,249,175,106,89,36,17,173,65,241,142,226,4,127,199,49,35,6,163,252,61,212,89,55,234,178,166,25,75,67, +240,63,196,96,11,5,128,62,8,67,33,160,169,9,170,162,25,139,147,63,252,211,123,46,79,213,117,25,209,50,243,131,201,184,197,77,185,67,232,230,250,200,40,16,151,8,242,216,18,208,70,203,223,91,126,35,187,86,253,29,91,2,55,203,132,186,19,113,221,0,32,251, +99,32,120,96,83,121,108,241,196,134,121,50,81,230,169,159,82,86,7,206,9,223,33,22,246,54,59,147,59,33,12,176,92,67,170,99,141,136,48,24,193,33,62,35,32,12,192,250,57,80,105,96,152,112,160,154,60,164,42,195,109,157,161,187,181,227,205,125,122,248,108, +104,125,29,42,255,239,202,206,238,191,67,99,72,163,72,106,201,139,79,83,14,93,70,26,188,58,146,138,91,191,141,182,86,92,222,52,103,113,146,188,28,60,189,248,26,51,0,115,49,228,112,135,33,242,34,103,129,113,137,182,216,186,251,201,121,195,37,230,252,49, +82,166,159,145,138,43,203,156,34,19,2,220,70,186,145,243,96,35,160,109,145,179,198,124,11,91,2,31,80,209,3,201,8,104,37,203,127,126,38,229,190,196,12,149,74,229,200,43,105,174,70,80,145,76,45,252,173,75,86,237,82,245,64,12,0,181,5,240,25,108,1,188,28, +110,1,100,69,192,160,223,92,142,33,185,17,81,0,175,80,94,0,186,57,156,131,20,127,131,56,230,6,144,100,156,151,84,115,210,51,40,5,143,131,229,155,30,150,103,183,220,130,197,192,24,172,250,99,248,149,241,46,138,50,165,192,163,1,254,246,139,146,208,254, +241,134,249,205,187,60,30,94,148,173,25,128,74,31,153,43,15,64,37,130,90,4,193,159,193,34,56,144,156,148,243,209,100,220,126,149,3,12,245,77,129,85,28,106,147,46,168,205,81,19,219,192,62,188,38,199,200,99,27,47,149,63,188,121,167,236,196,49,158,100,4, +106,123,131,192,231,99,114,69,10,188,170,253,123,197,118,200,122,212,214,3,193,94,253,185,87,80,170,235,89,224,194,127,48,24,177,91,151,252,99,40,248,72,210,48,43,95,40,128,62,229,236,53,198,138,2,127,53,238,131,49,230,124,105,222,97,50,81,42,127,204, +118,206,121,206,125,242,0,242,2,242,4,26,216,22,35,248,103,120,113,42,10,222,76,30,77,94,77,158,77,222,77,30,126,24,114,12,249,159,66,1,224,8,67,224,254,211,150,167,238,195,64,90,120,238,210,119,36,229,124,136,210,101,180,204,136,16,198,138,83,8,224, +124,232,146,106,243,98,89,177,251,46,249,205,27,55,194,122,255,81,196,212,79,42,160,86,171,240,35,208,36,183,159,247,137,3,170,28,10,5,234,79,137,30,100,190,1,98,192,153,170,232,102,61,2,179,49,220,41,83,40,8,40,50,148,196,11,53,77,48,71,53,121,56,15, +83,209,201,242,110,181,179,124,85,224,143,121,199,185,206,57,175,230,62,120,0,121,1,121,2,183,2,138,45,161,27,161,203,112,28,242,100,128,255,139,228,209,228,213,228,217,228,221,197,214,158,129,174,111,40,0,244,131,226,87,247,22,2,160,90,74,96,127,9,70, +38,58,216,70,128,80,171,31,13,201,220,66,118,151,118,218,164,38,114,174,180,38,54,202,35,107,175,145,71,222,252,129,180,197,183,102,132,128,161,193,16,15,77,49,183,91,13,168,134,117,125,124,6,31,66,115,153,67,211,171,152,126,97,223,182,99,156,67,164, +139,76,116,43,206,47,37,158,188,216,29,156,227,156,235,156,243,156,251,228,1,228,5,197,58,227,81,111,120,76,26,58,121,50,213,254,30,248,147,103,151,120,151,250,210,188,80,0,232,39,25,57,160,188,237,128,88,107,197,199,210,41,251,33,186,153,20,111,210, +48,241,121,152,78,37,246,253,166,200,171,187,190,34,15,173,186,5,231,123,63,9,230,88,250,12,241,240,253,134,246,67,45,172,33,234,153,102,142,201,48,199,80,0,56,60,205,138,229,87,204,89,167,5,99,252,52,137,150,29,155,169,116,233,143,119,206,105,206,109, +206,113,206,117,206,121,206,125,242,128,34,93,199,168,190,35,15,38,47,38,79,246,212,254,33,248,247,127,46,150,254,200,239,63,45,250,117,167,103,84,2,23,193,168,114,17,204,4,11,194,252,82,66,118,191,50,9,220,77,220,19,140,74,60,189,17,76,161,66,142,31, +254,113,57,107,226,165,82,5,203,252,33,155,168,14,133,151,66,23,92,162,186,91,254,9,159,161,9,80,113,0,252,181,147,24,178,244,29,180,134,71,48,81,183,226,40,224,143,75,253,184,159,161,22,92,251,150,54,27,236,128,215,205,179,235,255,71,86,236,250,57,206, +11,233,194,41,126,227,97,240,135,72,131,69,186,238,247,120,173,2,127,184,250,117,212,142,132,171,223,226,164,199,155,7,109,104,21,97,193,225,198,102,150,157,182,248,246,85,174,139,224,37,171,210,115,174,171,250,95,179,171,252,56,132,154,156,142,19,166, +184,201,77,116,40,74,110,194,195,124,76,189,22,204,81,151,77,29,143,203,154,221,175,74,149,57,2,97,132,97,40,197,232,100,72,52,224,115,13,227,212,215,210,126,81,189,136,23,205,150,100,215,10,40,4,254,134,85,35,247,140,139,111,159,180,180,59,42,219,214, +65,179,131,253,238,104,213,213,18,173,56,61,243,112,81,78,217,62,27,222,123,142,90,112,88,90,189,243,105,249,195,91,223,144,53,109,15,99,213,63,12,199,135,23,95,96,159,253,26,10,30,139,222,210,25,222,151,126,254,29,181,187,0,254,205,202,213,239,218,249, +171,66,233,124,63,98,29,249,75,233,140,252,35,183,213,215,59,220,96,65,226,252,112,245,123,98,201,93,93,15,192,209,244,163,92,75,224,56,97,34,68,17,11,86,238,144,160,65,80,202,121,83,78,104,248,2,180,1,87,40,65,128,4,116,247,18,249,105,40,12,29,119,117, +216,186,249,6,73,199,239,193,150,192,4,180,59,60,15,128,189,95,188,169,21,67,183,81,106,199,46,131,27,32,35,0,150,74,162,41,28,154,150,217,190,107,193,97,66,207,174,127,64,254,182,251,135,8,234,115,12,174,123,44,137,99,186,104,147,133,51,253,12,114,30, +219,113,126,197,144,237,95,152,246,72,194,227,197,69,219,170,65,172,120,184,177,153,35,241,61,53,148,166,61,194,248,176,31,195,41,130,171,13,67,187,21,184,104,96,64,210,145,182,72,105,235,50,8,90,232,151,233,39,202,235,187,30,146,13,237,205,50,111,194, +215,100,242,176,83,165,60,226,70,231,243,44,138,115,36,95,113,60,230,114,84,172,20,79,193,129,64,172,50,193,159,236,167,168,153,40,27,50,68,19,64,16,161,110,35,21,159,46,41,240,247,230,34,177,191,59,181,23,167,116,190,44,205,27,190,13,35,191,93,80,247, +159,8,176,164,61,92,209,143,217,52,218,103,178,141,150,213,115,170,95,8,254,249,77,229,98,182,98,203,175,229,62,60,77,33,160,9,241,52,152,21,143,153,228,89,211,220,151,50,76,21,112,191,104,163,105,120,164,225,62,97,153,57,12,182,1,186,44,122,115,62,124, +134,191,33,155,219,254,174,126,166,128,192,0,66,84,57,150,108,34,183,65,138,85,159,143,213,255,92,240,208,93,248,230,173,164,212,79,225,75,209,80,128,218,225,42,161,239,110,69,221,39,139,166,214,135,171,40,231,158,27,196,203,101,227,156,155,156,163,156, +171,156,179,156,187,238,94,255,225,114,41,138,223,210,228,169,228,173,228,177,251,142,244,101,44,35,240,224,162,104,65,64,43,25,10,0,121,118,76,19,246,164,154,156,38,69,199,235,103,55,223,129,147,167,174,78,167,157,184,206,179,51,225,109,151,103,246, +131,252,56,45,27,45,204,176,164,212,71,255,65,222,110,107,150,255,89,117,142,44,91,255,144,180,66,197,232,5,16,114,119,61,6,185,170,5,41,158,2,128,3,129,174,81,34,149,239,205,148,16,218,0,20,132,212,5,205,148,24,1,251,22,123,141,196,42,191,45,102,108, +82,65,75,27,136,204,57,231,104,143,195,57,200,185,200,57,201,185,201,57,202,185,202,57,235,250,245,187,66,236,64,212,169,64,101,164,201,75,201,83,201,91,201,99,89,14,121,46,121,111,129,202,28,50,217,22,253,232,8,74,79,53,33,222,180,220,214,36,60,106, +242,174,103,207,121,191,166,235,139,76,83,143,90,41,152,7,150,200,178,145,158,2,52,18,108,75,253,69,166,213,92,37,39,142,252,160,28,51,114,142,58,180,167,80,225,132,131,210,191,86,122,135,180,110,26,5,121,160,33,83,165,112,234,4,165,111,142,92,15,106, +109,106,160,197,177,16,250,247,73,49,163,180,229,40,206,196,85,191,23,198,55,129,227,170,223,220,241,156,188,190,227,183,178,122,239,253,82,27,121,55,246,250,113,202,134,178,240,47,206,246,245,174,53,102,152,101,68,116,35,141,211,204,28,219,190,100,225, +89,79,255,175,90,108,221,14,62,219,20,130,127,111,90,229,250,57,228,98,185,82,174,143,231,184,31,117,245,242,153,38,35,80,221,181,108,222,5,154,227,60,0,233,117,44,68,0,46,65,74,130,214,60,193,207,192,81,189,221,214,102,52,105,141,28,93,247,101,153,57, +230,3,50,177,254,20,69,17,111,63,178,15,242,20,253,165,206,150,7,165,123,207,229,0,18,186,4,122,246,0,69,223,172,18,111,0,167,222,88,128,230,235,82,53,226,81,41,171,190,160,104,219,219,123,110,173,111,121,69,150,111,121,88,222,106,253,1,218,115,148,148, +35,172,177,229,32,154,95,233,224,162,3,222,169,129,119,110,118,52,237,138,133,179,155,31,99,28,150,251,102,46,167,45,0,59,53,76,62,80,160,36,64,201,7,58,248,154,133,171,158,106,178,191,247,204,252,25,166,110,255,25,123,87,227,172,36,236,86,75,68,8,32, +177,116,28,225,75,109,64,220,90,37,85,145,25,50,173,238,2,153,51,225,114,169,45,111,244,149,150,65,202,204,177,59,101,239,182,207,194,35,224,103,232,73,90,144,199,131,84,189,176,46,125,82,96,148,216,246,74,41,171,253,145,84,53,124,6,43,228,40,238,42, +94,121,188,173,123,155,60,183,225,23,178,186,245,49,233,72,161,93,198,244,204,170,191,116,2,223,1,148,28,35,170,243,56,223,77,105,91,191,232,43,103,63,185,210,227,169,125,118,113,120,49,103,10,132,2,64,206,164,59,252,131,220,18,160,154,234,206,23,231, +53,234,105,251,23,145,152,113,62,246,176,248,80,241,114,159,131,154,204,61,200,136,164,236,14,172,62,182,201,176,216,25,50,163,225,66,57,117,236,7,165,34,90,191,239,110,170,45,75,37,126,64,42,254,166,180,109,61,22,237,153,138,246,81,11,64,39,144,112, +26,237,235,236,64,124,224,20,115,213,254,142,253,182,152,21,255,44,213,35,110,135,45,199,72,92,47,142,233,119,224,156,233,74,182,200,203,155,127,43,43,119,47,145,61,137,23,161,133,131,93,10,34,85,150,136,133,191,55,106,84,231,208,199,63,149,176,30,183, +77,253,242,27,207,104,222,230,241,82,239,166,240,221,63,10,132,156,203,63,90,30,148,147,231,162,210,244,228,188,170,202,152,115,111,52,166,127,2,82,45,121,80,201,216,5,176,209,220,22,224,107,202,110,193,155,5,65,96,170,204,26,115,165,76,31,245,46,156, +48,102,238,163,203,129,76,109,223,15,69,246,161,123,239,95,164,115,215,69,88,121,81,8,160,22,128,130,64,104,79,27,140,110,36,134,240,192,206,106,24,253,173,6,248,95,3,240,191,5,224,63,6,215,130,15,254,7,206,17,203,78,203,170,237,143,202,243,91,254,67, +246,196,223,198,252,50,224,215,79,225,154,119,150,142,13,28,128,136,86,141,6,45,253,147,9,251,103,157,9,237,218,166,249,205,29,30,15,69,131,195,84,0,10,132,92,171,0,68,245,178,84,110,130,212,4,96,32,79,220,52,242,83,169,164,253,29,4,178,192,28,86,81, +57,138,220,67,192,107,37,89,17,221,1,221,72,130,38,152,83,107,98,155,252,97,237,23,229,129,87,62,42,107,118,61,143,51,199,185,74,166,136,64,175,2,50,46,50,226,98,76,110,189,203,170,207,133,74,249,255,2,96,192,144,133,2,78,21,254,74,135,25,23,99,207,184, +117,102,255,148,225,143,22,255,4,255,207,246,2,127,246,79,112,215,59,106,86,16,237,50,117,228,156,225,220,225,28,226,92,226,156,50,245,122,56,194,163,109,152,107,165,4,254,232,152,52,121,34,121,35,121,36,121,37,121,38,87,254,225,126,63,168,83,192,20, +220,25,81,192,70,15,116,214,74,138,101,161,192,191,123,158,157,119,133,163,57,255,215,140,232,229,208,6,88,24,224,69,123,170,224,225,232,8,97,30,106,14,68,19,180,95,150,99,234,175,150,211,198,92,46,141,213,71,193,99,128,96,201,72,94,12,201,138,127,32, +64,113,37,119,21,233,56,113,233,220,243,83,137,183,126,22,70,129,212,4,208,61,176,13,127,161,76,61,56,253,201,126,169,195,31,160,209,94,43,209,202,175,72,213,240,207,97,73,57,22,215,8,254,193,236,23,79,32,166,59,31,83,34,221,33,219,218,215,200,75,91, +126,33,111,182,220,7,53,255,169,80,247,27,10,244,213,13,37,244,130,153,207,230,219,88,245,27,56,208,167,91,115,180,207,94,127,86,243,3,104,172,166,102,89,104,236,87,240,222,46,54,238,91,112,130,20,172,0,12,234,251,224,33,192,147,170,190,255,252,220,11, +109,91,251,87,236,117,29,11,187,0,106,2,184,97,89,114,125,65,128,215,181,24,14,32,105,71,88,225,231,228,248,97,183,202,73,163,62,40,163,107,143,66,144,18,55,162,32,253,153,93,230,87,76,205,119,1,197,21,2,30,128,16,112,13,132,128,113,232,194,10,252,237, +46,197,174,68,155,130,154,8,21,48,236,211,70,137,99,189,170,102,81,89,237,127,75,101,253,251,209,39,60,187,33,168,224,15,228,131,16,236,157,179,17,135,75,223,214,182,53,242,218,246,223,202,138,61,223,132,154,31,238,181,70,53,238,73,0,15,217,198,146,75, +108,148,5,30,104,130,7,190,161,235,206,23,175,155,181,116,201,125,176,244,191,26,150,254,96,29,37,217,232,160,245,98,49,113,221,160,209,46,167,250,168,1,78,33,224,185,121,83,225,29,120,111,121,181,121,97,188,35,5,46,165,150,194,37,217,31,58,98,34,105, +80,205,118,165,233,58,248,170,28,223,240,45,153,62,226,93,50,161,254,56,156,62,88,173,232,88,124,130,128,39,4,116,73,247,222,37,56,49,240,131,80,59,163,23,245,227,177,174,217,137,54,133,1,131,114,154,32,89,61,132,237,23,109,56,232,157,68,132,184,183, +196,44,191,68,202,107,62,15,87,191,179,51,185,4,17,252,247,7,254,36,132,227,13,45,127,151,85,59,31,149,21,187,111,65,189,79,150,10,104,45,28,216,150,216,8,91,92,162,9,224,238,56,101,85,17,189,187,61,189,4,222,126,215,94,55,167,249,109,143,55,150,104, +155,3,217,172,146,4,156,64,82,186,87,165,154,22,205,136,54,93,178,50,249,157,165,231,140,136,24,250,237,209,50,253,26,229,33,192,200,86,153,208,194,189,110,47,153,143,12,36,164,193,64,171,29,238,75,81,99,189,28,87,255,29,57,118,248,92,153,210,112,42, +246,55,203,85,59,221,85,81,48,213,181,7,119,68,15,192,36,187,94,195,209,193,119,192,69,240,151,16,2,166,225,86,30,30,208,121,240,35,225,149,60,41,64,101,89,12,192,15,13,18,86,199,54,246,250,117,68,106,44,171,249,145,196,170,102,35,198,191,103,236,199, +98,130,197,222,92,33,151,245,199,166,183,221,45,107,119,191,44,111,236,90,42,127,111,249,170,36,173,137,82,13,119,90,71,82,0,126,117,240,132,186,175,228,94,50,60,142,150,254,201,184,253,227,148,101,223,246,213,185,79,239,244,120,98,201,181,55,224,13, +10,214,12,9,56,177,252,172,30,60,3,76,24,186,164,233,223,90,245,252,147,95,196,204,255,14,226,93,151,89,105,91,173,35,253,44,43,88,121,193,58,0,219,2,54,214,0,157,233,231,176,218,153,36,147,107,62,34,19,107,79,146,227,27,207,131,141,128,171,17,160,218, +211,51,136,10,86,253,15,172,13,53,149,238,52,178,210,187,36,190,247,143,248,187,2,234,104,92,213,39,227,55,26,64,150,196,97,44,7,54,124,0,190,147,174,252,35,104,210,216,146,127,80,137,59,91,240,135,171,145,99,1,252,223,197,97,77,51,17,221,143,91,48,184, +87,169,97,188,231,112,41,0,169,247,88,78,164,219,101,197,182,39,100,125,219,107,242,206,222,135,160,21,91,39,149,230,28,108,5,64,103,4,129,6,13,8,64,141,11,85,5,199,54,76,93,183,16,214,23,93,245,213,142,89,243,255,149,145,83,61,94,88,168,82,195,124,15, +77,1,206,148,48,13,18,5,122,7,183,200,68,14,252,81,164,76,63,38,21,183,74,92,8,32,171,166,1,96,20,130,128,5,38,184,12,251,157,163,100,108,229,7,228,232,250,51,101,122,227,5,82,25,245,66,238,14,82,231,100,85,172,199,180,57,157,108,156,83,190,69,186,218, +254,93,82,29,223,80,64,229,218,57,86,226,55,106,57,60,115,15,62,227,253,225,99,73,51,126,182,239,192,228,177,30,190,123,127,164,7,181,42,220,62,233,118,255,50,164,85,111,120,49,34,199,137,89,118,41,14,104,122,63,86,251,19,176,250,167,81,169,187,170,14, +238,126,63,132,221,228,110,89,185,237,49,89,221,242,130,108,238,124,24,118,49,219,33,252,206,86,54,0,14,86,252,37,186,207,143,190,241,146,99,71,202,12,61,21,183,223,68,100,191,207,49,178,31,127,233,205,3,189,59,195,247,129,163,128,55,11,7,174,196,176, +164,253,40,160,60,4,50,6,47,119,63,123,222,68,209,210,247,197,42,204,119,39,186,212,30,50,249,94,73,247,145,43,8,68,148,32,144,180,215,195,205,169,82,106,163,51,100,122,195,5,50,163,241,66,169,47,231,202,174,119,10,50,73,122,215,205,18,43,181,67,226, +237,143,72,162,243,183,56,133,246,81,96,188,235,14,201,187,152,84,199,42,159,110,70,167,227,31,183,62,216,239,188,195,123,231,103,239,15,31,139,38,121,160,238,189,123,130,15,223,9,242,84,115,227,207,105,217,79,244,113,105,194,70,194,215,93,31,11,192, +63,5,150,252,199,73,164,12,171,252,178,19,240,25,150,254,180,41,65,0,170,158,68,250,168,39,123,46,13,202,167,131,235,209,210,189,9,192,191,68,86,237,126,76,218,146,43,37,237,116,74,84,159,152,1,254,212,16,0,126,213,189,90,172,194,144,68,87,250,47,226, +152,87,223,112,214,19,235,217,61,189,121,223,160,116,87,88,104,32,102,77,216,13,224,94,84,105,98,165,168,142,23,174,126,126,238,173,142,163,221,138,45,1,35,179,37,224,113,209,146,166,21,93,7,109,0,159,229,236,85,3,147,62,207,211,27,46,146,227,71,253, +163,140,174,62,22,65,133,60,16,33,243,32,193,248,63,8,140,255,112,221,226,130,66,50,241,119,73,117,62,11,237,192,90,177,146,111,161,1,173,104,195,86,188,175,82,90,2,149,67,47,252,32,45,68,133,173,165,38,132,170,111,2,30,5,4,2,39,111,244,86,202,248,184, +239,179,71,11,254,198,123,252,76,204,219,179,205,96,222,236,11,239,59,235,199,223,249,71,65,134,229,115,219,131,70,108,240,138,80,43,92,37,208,186,213,202,84,211,53,123,101,40,219,209,248,171,19,61,122,52,86,244,163,0,242,227,36,90,14,224,143,140,195, +54,138,7,244,153,135,144,99,79,234,69,176,158,139,3,250,73,173,220,81,141,30,119,86,120,233,227,204,218,173,237,111,64,213,255,71,89,181,231,207,0,253,54,213,27,6,236,22,112,146,6,62,103,104,49,160,53,29,240,194,64,21,199,201,168,252,225,238,236,124, +179,125,214,210,111,54,193,6,32,3,252,172,16,59,48,76,131,72,129,190,102,213,32,86,103,136,23,221,203,255,245,174,231,206,253,32,156,97,239,142,85,26,83,92,109,128,107,99,62,52,40,196,97,73,214,74,97,128,123,190,45,50,161,122,158,156,218,120,185,140, +173,61,94,170,162,181,96,184,4,29,247,46,34,168,150,241,163,86,23,139,224,197,198,233,130,233,228,70,132,60,125,27,219,214,109,208,22,108,133,221,64,55,62,111,67,163,246,192,184,13,46,109,130,200,138,8,179,76,46,73,121,135,31,220,237,4,183,129,61,159, +185,42,134,53,188,2,94,222,136,173,6,21,107,202,189,175,231,21,191,57,4,102,2,208,129,83,159,207,129,166,251,98,229,247,60,165,62,209,168,65,169,229,249,28,128,223,217,133,247,86,247,39,190,242,113,190,225,221,5,246,76,9,8,87,203,213,188,174,159,140, +11,195,0,232,141,168,90,57,192,29,160,15,55,189,8,162,70,154,209,241,0,126,134,233,45,158,196,131,121,216,80,79,0,117,96,177,223,145,108,147,205,109,43,228,229,109,191,144,13,237,205,248,173,30,66,107,12,239,158,224,154,33,82,241,52,51,199,154,186,188, +74,173,250,59,173,181,142,38,55,44,156,243,212,111,213,52,101,142,161,139,95,142,116,245,255,177,3,185,128,255,37,132,57,102,77,1,207,40,70,185,10,138,243,111,8,33,124,81,58,5,64,116,253,130,92,228,203,58,215,226,124,192,101,176,12,42,148,198,193,67, +203,101,120,217,169,50,179,241,11,50,169,126,166,84,199,234,165,60,66,95,111,55,209,158,128,130,128,199,148,189,235,193,121,239,13,0,125,79,61,219,110,21,59,221,2,225,96,131,2,107,27,134,133,182,29,135,112,208,142,239,58,220,221,214,96,28,180,3,111,113, +242,155,245,55,52,173,12,160,251,150,18,34,188,118,122,194,130,247,189,247,123,143,208,208,251,106,207,103,178,110,16,240,224,132,107,189,159,37,120,107,218,209,184,15,246,92,198,9,120,164,2,128,94,45,186,113,20,110,68,144,39,184,119,234,122,25,128,29, +130,9,212,245,60,130,87,55,41,8,64,88,233,51,245,166,13,111,232,171,18,125,62,56,96,23,41,146,18,248,61,223,125,22,220,157,106,147,246,68,139,172,107,89,46,203,183,253,80,118,197,95,198,1,61,51,97,232,106,226,110,10,77,7,182,107,192,170,59,88,5,165,17, +209,207,52,35,26,67,250,254,217,16,237,243,116,241,243,120,218,96,85,42,44,183,111,10,4,111,150,245,93,207,33,119,181,247,132,185,103,217,188,111,1,252,111,136,86,24,177,100,183,197,37,156,167,23,29,50,116,33,168,51,168,16,221,4,219,83,143,75,185,105, +227,40,226,91,228,232,134,119,203,200,170,241,50,188,114,2,104,225,14,103,222,195,196,56,162,222,53,117,33,80,47,30,48,100,222,241,70,128,209,250,92,185,247,84,220,182,160,78,230,177,175,80,171,91,169,93,164,10,4,132,110,8,6,45,248,236,174,52,109,156, +90,232,96,152,244,86,75,147,14,14,4,36,59,189,30,239,208,44,168,109,5,55,95,210,214,129,117,189,174,143,1,72,131,142,212,18,244,162,29,183,91,52,35,130,223,105,200,200,90,34,120,147,65,48,47,199,103,27,171,249,17,184,61,130,191,10,92,239,17,200,122,106, +221,243,137,117,80,2,218,62,206,227,125,240,222,123,238,13,198,39,250,237,187,125,228,69,235,163,166,101,87,231,70,217,209,177,81,222,218,253,23,28,201,251,45,233,78,235,112,227,59,31,99,14,253,65,173,21,254,13,193,148,138,150,27,145,100,151,149,128, +16,112,247,245,179,155,111,33,13,122,243,178,33,72,147,64,55,57,168,179,46,208,68,27,168,202,209,66,246,54,216,201,130,23,59,119,62,123,206,135,193,92,190,86,86,101,158,18,239,72,131,187,171,205,68,111,19,118,160,170,52,232,229,184,130,0,86,189,32,64, +119,122,139,36,237,215,100,92,229,135,228,216,134,143,200,152,170,105,50,170,102,34,60,8,70,168,122,146,5,123,128,83,60,91,4,30,112,224,93,125,116,191,123,175,222,214,71,174,29,225,56,220,102,160,133,61,135,142,155,171,43,36,17,212,25,157,49,63,217,146, +170,112,87,160,240,68,47,176,24,197,101,60,86,227,189,231,218,130,129,121,142,43,125,79,32,243,106,220,158,216,46,219,219,215,203,182,142,181,242,198,238,197,178,169,243,55,48,232,59,9,194,232,24,52,145,130,2,52,53,251,104,58,48,245,12,68,41,174,111, +191,5,222,20,1,111,122,5,2,248,183,111,60,235,233,95,83,110,188,93,224,232,7,87,191,64,212,51,172,196,65,20,240,198,246,65,63,132,23,130,65,1,78,162,197,178,64,191,68,91,108,125,239,153,179,39,68,116,243,235,145,114,253,211,208,4,176,130,180,178,26,82, +91,2,61,189,66,141,0,86,157,8,10,147,178,247,66,43,176,20,43,176,42,196,20,248,146,140,170,156,33,227,107,167,34,210,224,137,184,135,70,105,20,4,8,118,248,131,52,165,86,160,234,106,49,190,120,160,141,119,126,228,12,86,31,41,18,237,119,105,95,227,122, +95,199,82,126,223,245,190,62,244,6,240,222,191,247,102,20,110,177,189,174,168,143,222,119,239,189,247,211,197,241,89,129,183,26,39,24,33,74,3,130,181,62,52,45,27,90,94,151,77,109,111,203,230,142,87,101,93,251,29,112,91,21,248,238,207,5,248,215,128,244, +180,81,25,18,214,252,135,234,68,197,131,176,242,151,84,183,253,159,41,59,253,141,175,156,253,204,134,69,206,2,99,129,44,182,185,120,57,212,131,225,245,193,167,64,241,206,214,193,167,221,192,213,0,188,189,169,121,158,193,192,65,44,244,238,101,243,62,9, +86,127,119,172,220,24,14,3,193,33,44,4,184,93,64,181,185,142,189,112,21,83,192,122,27,81,195,36,65,157,0,0,26,73,73,68,65,84,214,214,200,136,178,11,100,84,197,185,50,174,250,104,25,87,119,172,140,171,61,113,191,254,82,171,59,5,153,251,93,30,2,95,142, +196,143,135,34,75,112,69,154,222,157,191,169,13,160,223,250,134,108,106,127,75,182,119,45,149,157,241,71,113,48,207,177,82,110,76,114,213,252,176,125,160,118,105,136,167,52,12,253,204,68,183,5,139,80,237,134,27,102,55,255,55,233,161,84,254,243,154,185, +215,115,164,193,54,196,201,55,248,205,31,138,179,125,240,169,158,99,13,40,85,83,19,192,199,239,124,126,238,52,205,210,126,4,33,224,194,84,2,151,128,104,152,109,67,186,63,213,218,94,249,135,27,16,2,58,164,219,122,70,98,240,37,175,138,156,38,195,202,102, +200,164,218,99,101,202,176,51,101,20,132,130,48,133,20,56,144,2,219,1,246,107,247,188,32,235,218,222,144,61,241,149,210,145,122,73,18,246,102,128,254,217,8,85,77,111,134,52,132,76,202,219,67,27,215,192,100,168,110,210,34,49,248,246,119,91,75,28,195,249, +220,141,179,150,174,38,61,123,243,40,126,15,83,176,41,48,164,1,35,216,93,211,119,237,154,154,68,191,237,54,81,118,1,63,92,253,158,88,106,87,215,181,64,254,111,224,72,205,74,11,103,10,225,243,193,203,153,190,179,42,233,171,52,142,227,126,57,181,2,105, +167,3,190,217,91,176,130,107,64,196,193,9,16,8,26,101,50,66,15,31,59,98,62,12,8,167,193,85,139,187,40,7,79,133,161,171,37,40,157,161,113,232,62,132,41,35,14,226,220,209,177,90,222,216,249,164,188,131,208,188,29,169,109,136,208,183,1,91,74,187,49,38,198, +32,40,85,21,86,251,240,219,7,232,211,216,49,76,138,239,192,30,84,135,151,138,221,9,245,254,215,35,195,43,238,253,194,180,71,18,224,59,218,237,183,67,83,217,20,18,170,152,198,201,193,92,175,152,106,63,132,235,202,9,231,237,175,221,245,236,188,227,17,104, +227,126,124,159,157,153,156,212,18,208,202,43,236,95,69,4,151,20,110,92,1,170,110,187,149,112,192,19,10,171,34,117,50,169,230,44,57,122,248,124,108,19,156,12,134,143,227,138,12,218,13,240,153,158,228,5,30,226,21,106,26,194,20,60,10,184,178,47,234,165, +38,199,254,253,71,203,253,148,133,83,3,241,219,166,182,87,229,173,93,79,202,186,189,207,2,244,17,144,73,169,243,97,188,168,33,62,129,86,134,222,165,157,4,115,11,65,63,211,203,92,84,216,88,100,24,153,69,198,50,4,42,187,106,225,89,205,43,248,123,111,94, +148,185,63,124,43,18,10,132,156,172,72,58,234,72,213,164,102,160,242,194,115,111,2,215,90,136,125,185,250,208,72,240,80,20,243,134,124,134,193,195,218,219,66,116,61,11,254,247,101,134,41,19,171,223,131,109,130,121,50,182,230,4,169,68,140,129,136,25,195, +201,133,21,251,101,198,39,149,107,28,175,66,96,8,5,130,253,200,51,96,95,60,195,78,165,242,234,163,31,146,86,151,164,210,9,233,132,175,254,230,189,127,131,122,191,89,214,35,52,115,28,102,51,6,226,17,24,140,90,168,226,70,244,150,149,135,182,122,191,143, +206,219,103,228,7,123,35,250,154,222,213,185,228,169,59,194,149,126,31,148,42,194,75,30,55,44,194,170,135,85,222,71,1,181,35,7,84,66,186,227,185,115,206,48,196,248,14,4,246,249,209,50,83,79,198,211,136,29,171,54,198,195,190,222,71,176,253,63,184,0,238, +250,208,167,225,99,159,176,54,226,134,141,48,36,60,79,166,212,253,163,76,170,59,75,234,202,112,228,108,164,12,167,21,86,236,59,177,208,203,197,141,59,160,96,72,233,6,92,11,242,144,220,30,125,252,121,119,133,46,230,69,1,140,122,152,30,191,124,183,4,158, +180,151,72,119,73,60,21,151,214,248,54,89,215,250,172,172,109,253,35,12,248,158,192,13,227,177,253,51,30,106,125,10,115,124,222,202,228,227,62,27,190,30,68,1,16,201,73,129,135,68,193,67,160,10,209,159,68,92,206,175,222,52,231,233,23,213,157,189,120,206, +65,79,134,23,138,134,2,33,151,42,154,174,58,98,69,53,88,223,42,79,129,69,139,22,24,235,199,238,184,22,139,155,133,101,21,230,184,120,23,38,176,171,207,228,102,119,152,14,67,1,170,127,17,200,12,119,152,136,62,152,132,48,176,77,186,172,21,112,49,20,25, +83,241,9,25,94,113,162,140,173,62,69,134,149,67,32,128,48,80,21,171,131,96,112,112,116,59,218,30,184,201,21,47,66,161,224,48,68,63,232,39,23,236,9,211,46,88,3,126,250,112,95,140,67,125,223,145,104,149,56,64,127,79,247,54,217,220,254,138,236,234,122,93, +182,116,253,12,110,161,34,21,198,241,0,253,70,168,245,185,165,227,26,240,185,209,249,84,198,225,203,161,41,192,96,14,58,120,135,14,222,177,9,74,178,187,38,110,30,121,239,37,151,44,182,50,65,125,56,184,221,238,57,116,30,225,47,69,64,129,80,0,40,130,78, +202,166,138,156,160,183,193,5,7,26,81,71,217,6,136,115,61,4,129,43,148,109,64,202,78,226,124,129,8,102,110,216,239,253,32,170,103,72,168,35,214,128,205,61,100,196,27,72,34,86,127,2,174,134,53,8,117,58,188,236,18,25,94,126,18,226,14,156,40,53,101,245, +8,64,84,133,115,10,234,164,22,194,129,23,127,192,43,134,220,210,115,27,219,183,101,208,135,218,218,187,127,168,188,171,213,60,54,145,153,220,149,125,223,96,79,127,252,54,128,124,71,178,21,71,235,118,200,222,120,139,108,239,124,93,118,117,191,134,240, +187,139,100,47,66,101,199,244,169,216,174,105,132,177,39,14,221,241,34,242,133,6,124,253,30,74,96,10,216,218,151,148,25,209,163,106,175,223,150,7,176,208,191,135,123,253,220,231,191,189,151,43,114,191,51,13,111,12,52,5,66,32,8,116,247,228,86,57,53,89, +87,205,136,52,205,88,153,164,54,96,227,184,29,31,2,139,189,165,188,218,60,177,187,61,141,143,228,184,224,144,97,234,55,5,8,218,140,55,64,13,129,134,189,99,158,77,144,118,218,33,16,108,70,96,152,117,48,38,20,169,139,94,32,53,209,105,82,23,59,26,110,135, +19,32,8,212,42,59,130,234,216,48,169,175,192,129,55,106,39,102,255,34,9,125,140,58,215,51,17,241,201,253,143,95,122,174,238,255,84,177,125,203,64,59,27,155,89,56,242,163,123,110,195,193,109,177,17,88,167,165,107,35,98,236,239,81,251,247,109,221,109,112, +203,219,32,173,137,183,100,111,114,181,180,38,31,131,241,30,86,248,230,36,4,227,25,11,181,126,181,242,228,96,120,100,174,240,93,237,139,42,236,224,204,195,43,135,160,0,6,33,205,32,171,77,13,60,226,117,140,188,111,141,223,52,242,55,106,213,191,114,70, +244,182,233,43,83,92,84,28,226,225,240,114,145,82,160,84,56,76,145,146,191,176,213,206,168,235,84,240,160,239,63,119,222,88,91,179,46,3,218,124,215,140,26,58,220,120,20,15,46,108,13,74,55,119,79,32,224,177,184,4,118,27,71,192,210,126,32,141,163,140,147, +214,171,202,126,188,38,50,29,134,133,227,1,84,99,164,58,58,25,239,245,82,91,6,13,65,217,8,124,31,38,117,21,99,160,57,24,5,152,239,207,206,76,177,117,215,145,235,235,64,45,191,55,190,93,90,187,182,72,123,114,143,180,197,119,74,27,84,250,93,169,22,124, +127,7,130,213,22,24,236,109,196,234,126,149,242,201,136,26,39,3,236,107,224,147,143,51,7,32,140,81,80,112,181,42,225,126,126,158,51,205,129,133,191,150,78,90,144,68,181,155,117,199,120,240,186,57,79,108,102,158,189,121,72,158,101,132,143,7,144,2,161, +0,16,192,78,241,179,74,212,6,92,178,120,129,190,24,251,119,204,247,142,101,115,143,51,28,237,14,221,208,46,166,30,0,135,12,113,157,169,84,2,126,150,59,244,242,82,34,65,102,85,75,64,215,32,12,36,0,82,116,61,235,196,246,193,106,44,159,58,177,98,109,132, +154,122,34,222,27,32,28,140,4,152,213,66,107,48,92,42,34,229,82,27,27,133,211,13,171,17,155,224,40,92,143,73,67,197,36,172,108,161,90,40,226,100,217,41,217,221,181,14,129,153,18,240,185,95,131,211,243,218,1,242,219,1,242,221,88,205,239,194,245,54,128, +252,14,104,82,118,67,112,90,175,182,88,52,169,132,26,127,26,64,190,18,127,81,128,126,12,20,160,22,1,254,248,88,168,186,250,4,10,24,97,202,149,2,222,156,199,161,61,24,179,48,25,182,156,223,91,154,115,211,77,179,151,254,157,121,46,128,230,112,209,130,48, +148,111,174,244,45,150,231,66,1,160,88,122,42,207,122,54,57,162,55,241,208,14,36,70,235,90,247,220,182,15,96,159,244,14,195,212,142,34,250,131,1,240,39,190,132,99,130,148,240,37,185,66,1,73,170,14,35,194,6,43,157,14,25,88,198,134,235,161,141,120,4,182, +211,134,146,210,0,58,250,160,19,240,98,0,255,122,60,97,168,213,46,182,99,225,129,48,2,215,77,105,40,159,128,131,103,106,240,140,37,163,171,167,43,198,205,235,245,21,19,32,64,212,41,112,100,181,189,56,246,7,54,161,199,16,209,235,102,213,231,189,110,99, +215,3,94,57,32,250,72,222,117,182,165,11,6,120,45,93,27,80,23,130,178,200,214,118,172,210,177,42,239,78,239,149,221,221,238,245,86,172,232,97,118,162,180,34,84,205,167,237,22,220,159,192,246,73,39,222,121,32,17,78,24,196,138,158,109,215,177,173,194,192, +77,174,177,31,235,192,161,74,168,103,93,250,174,79,31,85,12,47,29,137,2,238,193,61,58,22,0,106,252,88,105,103,13,188,88,110,154,52,167,241,97,47,202,104,83,47,94,113,164,236,194,223,139,155,2,33,179,47,238,254,203,186,246,96,214,196,1,197,81,239,122, +237,194,74,88,85,45,68,16,161,127,134,10,112,20,25,185,149,132,46,155,214,111,161,32,144,53,109,251,255,128,59,237,40,30,120,100,118,161,142,160,199,104,142,110,184,89,10,9,252,238,221,227,118,11,190,170,43,222,161,62,204,131,81,15,117,5,196,166,174, +75,67,217,84,8,17,81,124,167,118,199,21,58,34,56,186,183,62,54,65,162,38,142,240,85,224,122,224,212,231,192,208,37,153,238,150,150,4,163,225,117,35,87,68,193,195,63,14,152,52,128,124,119,156,231,44,80,75,12,72,86,121,184,32,205,250,236,111,93,207,85, +186,123,85,28,29,160,78,43,124,2,14,53,35,168,171,250,243,202,247,64,62,115,63,223,194,84,8,10,144,208,182,129,96,62,236,63,108,1,110,135,197,223,79,96,181,122,215,194,147,150,116,178,192,222,188,161,16,21,8,243,12,30,5,188,89,24,188,154,133,53,42,56, +5,188,9,207,83,6,77,221,184,11,12,226,194,178,106,179,14,1,63,184,53,160,2,128,20,188,18,97,1,135,160,64,95,83,243,80,43,225,158,235,10,78,247,185,32,246,206,154,126,160,176,156,59,4,248,187,66,6,243,33,96,115,219,225,192,242,9,224,52,128,236,157,246, +255,214,243,203,161,174,247,212,179,231,222,240,211,0,80,32,13,85,191,137,0,97,18,111,79,183,162,19,151,164,109,107,33,79,237,243,120,192,0,212,33,44,34,128,20,232,143,245,81,0,171,29,86,201,15,10,80,19,64,47,129,75,206,94,188,1,249,253,211,93,203,230, +205,195,121,222,95,195,231,115,96,13,28,131,53,176,50,32,196,247,112,156,248,65,240,172,242,200,6,44,123,0,151,43,126,2,117,95,201,64,232,227,3,16,188,175,219,32,7,30,170,236,67,93,63,48,155,254,222,119,224,115,225,119,159,41,160,230,47,230,178,137,185, +156,192,220,126,218,209,181,111,47,156,221,220,204,114,56,247,181,204,225,98,62,151,27,102,87,36,20,232,225,28,69,82,225,176,154,254,83,128,171,128,222,62,190,136,31,112,57,100,131,207,68,202,244,185,52,18,66,88,97,46,29,129,42,161,235,160,255,212,15, +115,12,41,224,55,5,168,230,209,172,104,185,17,161,145,111,42,110,47,197,20,255,119,248,243,255,130,37,245,142,21,226,119,201,97,126,197,69,129,80,0,40,174,254,42,104,109,201,24,100,222,60,187,73,107,178,127,240,228,188,58,59,102,95,6,198,113,25,4,129, +217,22,2,173,216,52,105,71,32,33,84,34,28,55,5,237,137,48,243,144,2,57,81,0,211,85,82,58,140,46,12,4,170,2,240,47,131,32,255,160,158,208,31,252,242,252,230,214,38,167,73,151,230,102,189,105,126,179,167,217,203,169,144,240,161,210,161,64,200,200,75,167, +47,125,105,9,181,1,247,47,159,105,94,125,218,114,172,250,69,238,124,113,94,163,145,150,143,66,45,252,21,168,18,71,65,149,200,203,116,41,236,91,207,204,95,195,20,82,32,164,192,64,83,64,205,73,204,81,193,28,221,142,141,160,239,89,166,252,234,198,51,154, +183,177,34,247,189,52,51,114,213,204,229,105,110,251,13,116,197,194,242,130,75,129,80,0,8,110,223,12,106,205,184,90,24,189,252,247,134,39,8,220,245,194,220,201,98,105,31,193,128,185,25,170,197,250,100,156,206,2,25,67,243,65,173,105,88,120,72,129,161, +75,1,2,58,16,93,139,150,25,220,170,107,193,231,239,138,225,60,180,240,204,165,239,144,42,4,254,173,51,47,182,168,213,27,186,84,10,91,126,40,10,132,2,192,161,40,19,94,87,20,56,48,32,200,191,60,127,254,40,203,73,93,9,23,162,27,161,102,172,225,110,35,182, +6,32,10,136,67,247,34,106,16,66,210,133,20,8,41,80,80,10,112,150,105,80,245,43,171,28,108,207,237,133,43,239,157,134,22,249,143,47,205,122,124,59,75,230,60,236,29,0,172,160,181,9,51,47,90,10,132,204,186,104,187,110,96,43,78,141,64,239,85,196,119,159, +62,187,62,106,154,215,195,31,252,26,112,162,97,6,2,139,88,60,116,16,166,2,24,84,56,115,40,20,4,6,182,135,194,210,74,153,2,174,108,173,132,108,221,48,117,177,16,184,203,177,237,61,136,221,240,227,100,58,125,207,205,231,60,211,226,181,255,192,185,234,93, +15,223,67,10,28,72,129,80,0,56,144,34,225,247,195,82,128,43,139,222,251,136,20,4,16,67,224,22,92,187,4,235,142,49,56,63,92,79,37,24,237,14,225,237,92,59,129,112,140,29,150,162,225,143,33,5,14,75,1,200,210,216,124,195,129,17,145,24,212,252,113,72,217, +162,109,193,252,90,4,95,254,111,245,6,254,3,231,230,97,115,13,127,12,41,0,10,132,204,57,28,6,249,80,192,27,63,206,15,94,153,87,103,197,157,171,176,21,240,49,100,120,50,141,145,224,119,76,139,35,134,179,51,241,33,60,125,48,31,74,135,207,14,45,10,184,97, +187,211,152,96,209,178,42,101,216,199,246,191,10,142,253,75,163,76,187,255,203,167,52,183,226,251,190,249,55,180,136,19,182,214,47,10,120,3,200,175,252,194,124,134,32,5,24,80,100,65,230,224,144,123,159,156,87,21,47,115,174,194,106,228,61,32,197,57,85, +245,209,88,103,43,188,7,29,10,2,14,2,10,133,177,4,134,224,16,9,155,220,111,10,40,31,126,90,235,71,43,235,162,210,209,146,76,224,209,167,241,253,145,178,184,118,255,181,243,155,59,184,210,95,140,3,190,120,84,111,191,179,13,111,12,41,208,7,5,66,1,160,15, +162,132,151,114,160,0,152,210,85,247,207,52,239,191,218,117,31,100,14,119,63,51,247,50,4,18,250,7,104,1,254,177,170,62,82,219,213,134,67,112,212,25,174,42,24,124,232,70,152,3,153,195,71,74,148,2,60,76,1,171,126,24,246,69,42,106,77,0,127,170,13,204,249, +143,8,228,243,167,27,206,94,250,160,215,234,171,238,155,25,185,255,170,229,105,220,203,173,129,48,133,20,200,139,2,161,0,144,23,249,194,135,15,164,0,87,39,183,47,158,17,89,41,211,45,239,8,98,184,16,158,167,219,250,133,56,156,230,163,216,26,152,136,131, +72,36,149,196,233,50,142,138,37,16,10,2,7,18,49,252,62,148,40,64,224,183,34,81,61,138,3,185,232,195,191,30,70,54,191,178,117,123,9,92,249,158,32,33,232,137,51,67,86,25,183,45,88,153,130,38,32,4,254,161,52,58,10,220,214,80,0,40,48,129,135,108,246,16,4, +238,67,64,161,250,153,83,108,239,152,209,239,191,56,127,134,149,178,207,7,19,251,112,69,141,57,23,66,128,164,18,56,94,142,82,3,108,11,193,217,194,241,56,100,7,204,80,107,56,84,253,152,8,145,152,174,3,252,165,107,111,122,41,166,193,175,141,136,254,248, +117,103,60,185,146,212,224,177,221,45,203,215,234,87,35,128,79,184,226,31,106,227,99,96,218,27,50,220,129,161,243,80,46,69,187,234,165,153,230,152,94,193,72,190,179,244,156,17,177,168,126,60,88,224,63,131,48,31,70,168,97,35,157,80,114,192,80,166,83,216, +246,33,66,1,224,190,152,49,157,161,122,185,135,255,107,88,197,252,36,145,180,87,124,117,238,211,59,73,2,186,241,109,65,16,174,251,79,3,240,195,112,134,215,194,20,82,160,16,20,8,5,128,66,80,53,204,179,79,10,244,54,22,228,13,77,43,23,68,43,90,119,143,215, +53,235,50,124,189,2,42,208,201,86,26,218,0,140,74,30,98,2,214,167,152,95,168,25,232,147,156,225,197,224,83,192,81,12,150,234,45,4,237,193,10,95,12,83,19,108,129,189,131,170,63,96,59,198,131,93,117,13,27,155,102,44,166,167,140,82,132,133,198,125,193,239, +212,82,170,97,40,0,148,82,111,22,73,91,168,241,191,253,118,209,154,154,112,68,125,38,253,240,249,51,107,226,86,108,150,174,105,159,195,165,243,240,87,9,245,168,216,8,120,66,161,0,137,171,37,186,18,134,99,150,212,8,83,80,41,64,208,167,248,106,16,236,117, +4,200,194,54,23,235,218,137,191,39,108,199,249,81,153,145,120,254,11,179,94,216,235,53,0,243,64,191,237,54,21,228,71,13,116,239,122,248,30,82,160,208,20,8,153,105,161,41,28,230,127,56,10,184,38,77,7,24,54,125,239,153,179,39,24,154,254,113,24,67,125,16, +15,79,5,19,173,141,150,233,136,117,110,211,139,192,115,125,10,133,129,195,81,54,252,109,32,41,64,224,86,40,15,43,126,35,90,142,177,26,199,88,181,156,54,92,127,27,198,175,191,181,28,251,231,95,57,251,153,13,251,85,74,153,190,168,43,33,240,239,71,152,240, +203,64,81,32,20,0,6,138,210,97,57,253,162,0,181,3,216,2,216,199,16,239,122,118,238,121,208,159,190,15,10,210,243,112,117,114,89,181,89,197,237,129,68,151,146,3,82,184,6,165,129,232,120,32,28,203,253,162,112,120,147,31,20,192,96,3,174,3,244,221,128,61, +145,88,133,129,8,23,154,196,219,211,29,184,246,14,134,227,19,8,147,253,187,133,103,185,150,252,44,243,192,177,237,71,61,194,60,66,10,228,67,129,144,105,230,67,189,240,217,194,80,0,66,192,2,4,58,153,49,98,167,230,157,93,206,83,205,58,210,213,255,4,174, +123,62,64,127,6,10,62,169,178,46,18,165,122,53,217,205,240,168,12,61,172,65,225,26,10,3,133,233,148,48,87,5,250,106,165,175,180,80,102,180,220,212,185,77,213,217,154,226,30,254,107,0,254,149,144,94,31,175,50,219,255,159,119,138,102,211,147,243,204,149, +59,71,56,139,17,40,11,191,239,19,108,67,106,134,20,8,2,5,66,1,32,8,189,16,214,225,144,20,160,15,244,5,83,214,234,189,143,52,189,243,197,121,141,90,74,46,192,202,127,22,248,241,105,186,161,159,9,183,66,137,119,90,2,111,2,248,85,147,65,135,194,192,33,137, +26,254,208,111,10,16,244,113,51,116,78,24,83,142,102,192,122,223,40,171,52,232,182,7,21,191,253,2,228,205,151,176,178,127,222,137,200,99,55,158,209,188,141,25,123,71,105,63,182,118,138,237,197,194,232,119,129,225,141,33,5,6,144,2,161,0,48,128,196,14, +139,202,157,2,84,159,94,141,184,2,51,145,133,183,186,98,110,119,63,123,222,68,71,79,159,9,54,125,58,140,173,231,226,136,226,51,202,51,177,211,237,180,3,19,66,238,205,58,8,54,68,223,2,172,193,194,20,82,224,200,20,192,176,193,136,19,205,194,128,209,117, +83,51,120,182,69,55,206,182,192,209,187,47,66,24,88,138,145,244,87,205,54,95,184,225,172,39,214,123,217,81,75,181,28,95,238,131,223,126,239,109,44,239,247,240,61,164,64,208,40,16,50,196,160,245,72,88,159,35,82,160,9,251,254,163,151,207,52,182,182,87, +59,222,22,1,31,250,238,178,121,147,76,219,158,130,189,216,89,128,253,247,64,7,112,54,87,107,220,38,96,244,65,12,118,11,38,218,140,56,20,6,29,58,34,149,135,214,13,24,27,68,124,142,17,101,193,207,168,124,84,239,199,59,113,160,149,37,207,192,255,228,17, +216,158,60,159,214,245,181,55,207,110,94,231,81,135,42,254,209,213,237,218,214,153,203,173,38,215,30,192,251,41,124,15,41,16,120,10,132,2,64,224,187,40,172,224,225,40,64,117,171,52,55,235,183,205,107,230,145,169,228,225,42,253,203,243,231,143,194,113, +169,245,220,38,128,235,213,251,240,126,78,172,220,24,142,21,156,114,45,164,5,151,226,248,222,3,225,251,144,165,0,198,134,178,60,165,203,30,52,72,146,232,182,118,97,108,60,13,235,210,223,225,253,121,28,119,221,242,165,89,143,111,247,8,132,107,218,237, +205,243,12,153,55,207,110,210,154,148,245,191,247,91,248,30,82,160,152,40,16,10,0,197,212,91,97,93,15,71,1,198,21,208,166,79,95,160,29,120,74,218,79,159,156,87,182,43,154,172,65,252,181,227,161,0,120,55,150,121,239,195,223,209,24,252,58,45,183,9,0,76, +8,74,236,6,32,194,27,191,243,50,245,192,252,28,166,226,164,0,58,175,183,156,167,2,242,232,116,32,69,226,15,244,40,193,27,194,80,202,91,248,251,29,190,253,5,246,164,43,134,39,163,123,255,207,252,230,184,123,167,251,202,64,86,171,86,45,118,48,206,56,62, +248,23,166,144,2,69,77,129,144,185,21,117,247,133,149,63,20,5,212,42,13,224,221,212,151,90,22,43,184,239,47,59,111,140,45,214,92,220,55,31,2,192,124,228,211,8,150,94,134,21,160,105,152,110,0,34,196,28,80,218,2,252,6,163,194,255,223,222,21,244,180,113, +68,225,153,241,174,141,33,33,170,137,65,36,65,65,20,169,170,115,104,85,37,135,68,137,194,173,106,239,244,39,228,88,169,244,7,24,126,64,19,169,199,252,132,114,111,213,75,67,154,40,61,164,173,218,67,168,42,165,136,136,64,10,14,84,133,4,215,222,245,76,191, +111,188,75,92,176,67,85,80,33,225,141,100,118,119,118,118,119,246,91,102,190,247,222,188,121,195,248,46,156,161,232,123,126,105,55,157,128,63,192,124,124,148,132,236,185,225,40,143,202,80,171,199,220,124,31,144,167,129,201,34,176,0,49,174,62,137,253, +119,148,186,133,15,122,203,168,204,183,19,23,191,89,66,254,14,82,159,196,112,83,153,31,191,205,185,3,124,85,121,180,32,176,47,8,72,71,182,47,48,202,77,14,61,2,32,253,118,29,124,90,239,27,119,46,143,196,38,115,21,92,49,6,22,56,143,252,62,116,250,199,225, +0,214,157,205,101,188,32,16,55,9,132,151,48,70,59,110,7,150,17,159,2,66,241,191,39,79,246,36,101,175,192,227,111,51,5,52,225,7,16,224,72,252,245,90,67,193,17,116,19,68,191,129,211,171,184,230,123,200,116,51,129,109,220,254,228,202,221,185,142,149,222, +229,127,165,227,117,114,66,16,120,197,16,16,1,224,21,251,96,82,221,125,68,0,29,61,153,99,123,88,98,62,225,179,59,151,223,113,129,121,23,212,114,1,250,95,9,108,223,7,34,25,68,120,215,98,87,79,0,85,19,33,138,225,79,224,181,74,132,121,67,57,10,5,164,36, +227,197,130,230,192,130,180,47,130,185,247,132,207,4,192,29,221,55,57,171,3,40,131,231,161,217,155,32,132,254,14,210,167,109,134,14,123,8,27,93,193,238,19,148,88,197,119,152,69,185,251,58,182,63,125,122,229,238,207,173,213,216,10,191,203,76,209,238,91, +161,145,253,35,132,128,116,80,71,232,99,203,171,118,70,0,244,162,167,212,164,166,67,97,105,172,232,210,37,140,211,43,174,223,123,191,96,213,230,5,240,251,123,104,52,163,224,160,211,96,142,65,48,211,96,0,161,160,251,68,8,129,128,179,13,32,20,52,188,169, +153,140,21,53,27,24,40,137,52,163,28,132,3,110,252,154,6,233,173,101,155,34,64,114,7,106,128,170,73,242,94,204,34,112,58,4,201,235,76,198,168,32,75,71,61,44,159,251,103,164,98,146,189,2,217,43,135,159,94,196,149,15,113,139,31,141,234,190,63,113,233,235, +181,244,182,220,114,105,221,217,25,20,135,227,94,25,51,245,241,25,248,32,73,130,192,145,70,128,29,147,36,65,64,16,216,134,64,58,187,64,85,42,102,112,164,203,181,198,30,96,81,78,255,58,30,196,35,13,99,134,141,49,35,218,218,1,176,202,91,56,53,140,95,63, +126,35,199,11,89,77,75,65,156,204,60,224,84,68,239,116,134,72,198,32,45,180,189,68,48,160,62,219,28,76,160,73,130,86,137,215,178,93,226,165,28,222,26,114,17,222,176,169,205,147,132,121,224,181,123,44,139,155,163,83,38,167,224,209,132,31,36,154,253,198, +26,164,42,165,104,178,95,193,111,30,160,254,234,140,89,182,214,206,101,172,157,223,136,131,185,214,233,160,40,163,56,39,255,201,220,95,90,21,139,86,188,245,137,136,36,65,96,39,2,175,101,71,179,243,53,37,71,16,216,27,2,52,25,171,171,99,70,245,87,224,67, +94,82,88,194,53,194,29,73,76,91,137,66,193,177,172,57,173,117,92,176,90,159,65,24,153,1,4,38,30,66,35,27,6,195,13,128,244,70,65,237,133,222,147,217,55,210,85,14,185,245,206,134,88,241,144,251,160,66,46,114,64,13,152,41,109,159,201,118,75,104,240,39,240, +240,244,124,179,244,1,253,69,37,72,233,73,226,174,31,89,225,113,154,237,183,40,7,11,72,226,152,199,149,242,18,231,188,116,213,188,245,167,245,63,112,13,52,119,7,77,94,47,227,162,121,101,245,130,203,184,101,227,220,99,231,130,181,103,117,187,184,157,236, +113,141,198,210,210,161,82,179,16,17,64,248,183,103,44,190,87,138,33,235,33,73,16,16,4,218,32,112,40,58,144,54,245,146,44,65,224,80,35,0,154,211,31,37,235,21,48,16,76,109,165,223,124,252,225,87,208,236,119,166,235,247,46,230,131,56,56,86,15,50,125,48, +81,231,27,202,12,128,208,138,160,251,17,144,32,135,18,10,176,20,188,9,194,59,137,227,51,61,8,107,220,160,48,0,10,163,5,129,130,1,83,203,52,69,159,135,198,203,82,47,218,112,115,120,225,133,88,64,203,194,126,164,237,230,242,22,186,167,233,2,181,243,222, +246,164,123,6,96,78,167,217,81,139,231,216,60,52,123,172,141,171,213,115,134,207,181,238,49,42,245,20,249,191,225,237,214,112,188,136,18,115,16,152,42,112,181,4,233,155,106,54,110,172,198,65,252,108,226,210,119,213,118,213,255,252,203,15,114,185,254, +21,203,64,80,140,179,255,5,226,236,139,73,191,29,82,146,39,8,188,28,129,253,233,32,94,254,12,57,43,8,28,9,4,40,20,208,143,160,52,253,64,207,98,33,35,10,6,215,118,9,11,11,171,65,87,62,140,66,157,13,123,114,38,206,58,23,230,163,70,140,93,61,172,141,41, +90,237,122,209,72,223,6,207,131,255,221,89,232,214,67,160,117,74,4,67,8,108,116,34,229,98,10,10,233,62,193,102,195,230,49,243,247,146,60,129,39,189,68,122,39,202,25,204,103,226,6,129,115,184,236,237,2,106,197,129,140,5,168,249,143,16,124,9,46,122,234, +23,227,244,186,179,182,98,3,55,31,102,130,154,214,81,181,102,131,186,171,71,207,171,81,24,65,155,255,199,92,123,127,211,228,15,170,174,111,34,252,51,137,190,4,162,159,29,63,231,100,252,190,21,33,217,23,4,246,134,64,210,180,247,118,19,185,90,16,16,4,58, +34,224,85,228,169,41,112,114,121,82,61,128,112,48,62,14,99,245,148,15,40,243,175,204,212,215,48,158,125,10,36,216,155,171,133,129,177,33,189,219,122,173,9,170,166,59,204,54,170,46,204,228,117,221,217,209,140,179,167,192,153,240,56,160,143,27,205,240, +246,44,212,239,33,44,75,155,114,119,199,74,182,59,225,163,230,56,187,0,203,253,163,244,158,144,61,194,134,54,75,89,109,30,70,120,118,29,207,206,219,205,104,221,216,184,128,155,196,214,68,235,181,92,180,4,225,231,230,249,31,56,76,178,107,226,240,74,169, +60,174,167,167,149,58,7,146,87,83,147,170,92,246,47,193,107,255,83,221,119,125,168,20,16,4,4,1,245,55,199,228,93,104,231,183,98,169,0,0,0,0,73,69,78,68,174,66,96,130,0,0 }; const char* juce_icon_png = (const char*) temp_binary_data_18; @@ -7420,7 +8249,7 @@ const char* getNamedResource (const char* resourceNameUTF8, int& numBytes) case 0x10b04d10: numBytes = 4971; return gradlew; case 0x76cff066: numBytes = 2404; return gradlew_bat; case 0x34bc1021: numBytes = 11325; return LICENSE; - case 0x406db5c1: numBytes = 3117; return background_logo_svg; + case 0x406db5c1: numBytes = 3249; return background_logo_svg; case 0xbe17d889: numBytes = 3586; return export_android_svg; case 0x84c51a59: numBytes = 2244; return export_clion_svg; case 0x83f049e3: numBytes = 1726; return export_codeBlocks_svg; @@ -7428,7 +8257,7 @@ const char* getNamedResource (const char* resourceNameUTF8, int& numBytes) case 0x2505bd06: numBytes = 1706; return export_visualStudio_svg; case 0x3198e2bf: numBytes = 12295; return export_xcode_svg; case 0xc9c78dec: numBytes = 27030; return gpl_logo_svg; - case 0x154a7275: numBytes = 45854; return juce_icon_png; + case 0x154a7275: numBytes = 105697; return juce_icon_png; case 0x1f3b6d2f: numBytes = 5978; return wizard_AnimatedApp_svg; case 0x60296d04: numBytes = 17791; return wizard_AudioApp_svg; case 0x1115ccda: numBytes = 21296; return wizard_AudioPlugin_svg; diff --git a/extras/Projucer/JuceLibraryCode/BinaryData.h b/extras/Projucer/JuceLibraryCode/BinaryData.h index bbc00968..1b59c7f9 100644 --- a/extras/Projucer/JuceLibraryCode/BinaryData.h +++ b/extras/Projucer/JuceLibraryCode/BinaryData.h @@ -39,7 +39,7 @@ namespace BinaryData const int LICENSESize = 11325; extern const char* background_logo_svg; - const int background_logo_svgSize = 3117; + const int background_logo_svgSize = 3249; extern const char* export_android_svg; const int export_android_svgSize = 3586; @@ -63,7 +63,7 @@ namespace BinaryData const int gpl_logo_svgSize = 27030; extern const char* juce_icon_png; - const int juce_icon_pngSize = 45854; + const int juce_icon_pngSize = 105697; extern const char* wizard_AnimatedApp_svg; const int wizard_AnimatedApp_svgSize = 5978; diff --git a/extras/Projucer/JuceLibraryCode/JuceHeader.h b/extras/Projucer/JuceLibraryCode/JuceHeader.h index 9c48615e..7af417fc 100644 --- a/extras/Projucer/JuceLibraryCode/JuceHeader.h +++ b/extras/Projucer/JuceLibraryCode/JuceHeader.h @@ -44,7 +44,7 @@ namespace ProjectInfo { const char* const projectName = "Projucer"; const char* const companyName = "Raw Material Software Limited"; - const char* const versionString = "6.1.0"; - const int versionNumber = 0x60100; + const char* const versionString = "6.1.3"; + const int versionNumber = 0x60103; } #endif diff --git a/extras/Projucer/Projucer.jucer b/extras/Projucer/Projucer.jucer index 7c669ad0..fd82cf9e 100644 --- a/extras/Projucer/Projucer.jucer +++ b/extras/Projucer/Projucer.jucer @@ -1,7 +1,7 @@ @@ -83,6 +83,24 @@ + + + + + + + + + + + + + + + + diff --git a/extras/Projucer/Source/Application/StartPage/jucer_ContentComponents.h b/extras/Projucer/Source/Application/StartPage/jucer_ContentComponents.h index b9f5cf65..3c2ccfca 100644 --- a/extras/Projucer/Source/Application/StartPage/jucer_ContentComponents.h +++ b/extras/Projucer/Source/Application/StartPage/jucer_ContentComponents.h @@ -100,9 +100,9 @@ public: createProjectButton.onClick = [this] { chooser = std::make_unique ("Save Project", NewProjectWizard::getLastWizardFolder()); - auto flags = FileBrowserComponent::openMode | FileBrowserComponent::canSelectDirectories; + auto browserFlags = FileBrowserComponent::openMode | FileBrowserComponent::canSelectDirectories; - chooser->launchAsync (flags, [this] (const FileChooser& fc) + chooser->launchAsync (browserFlags, [this] (const FileChooser& fc) { auto dir = fc.getResult(); diff --git a/extras/Projucer/Source/Application/StartPage/jucer_StartPageTreeHolder.h b/extras/Projucer/Source/Application/StartPage/jucer_StartPageTreeHolder.h index 4a7cd34e..68ea3424 100644 --- a/extras/Projucer/Source/Application/StartPage/jucer_StartPageTreeHolder.h +++ b/extras/Projucer/Source/Application/StartPage/jucer_StartPageTreeHolder.h @@ -85,10 +85,10 @@ private: class TreeSubItem : public TreeViewItem { public: - TreeSubItem (StartPageTreeHolder& o, const String& n, const StringArray& subItems) - : owner (o), name (n), isHeader (subItems.size() > 0) + TreeSubItem (StartPageTreeHolder& o, const String& n, const StringArray& subItemsIn) + : owner (o), name (n), isHeader (subItemsIn.size() > 0) { - for (auto& s : subItems) + for (auto& s : subItemsIn) addSubItem (new TreeSubItem (owner, s, {})); } diff --git a/extras/Projucer/Source/Application/Windows/jucer_AboutWindowComponent.h b/extras/Projucer/Source/Application/Windows/jucer_AboutWindowComponent.h index 23d0e7f9..c2fcdc50 100644 --- a/extras/Projucer/Source/Application/Windows/jucer_AboutWindowComponent.h +++ b/extras/Projucer/Source/Application/Windows/jucer_AboutWindowComponent.h @@ -64,8 +64,6 @@ public: juceLogoBounds.setWidth (juceLogoBounds.getWidth() + 100); juceLogoBounds.setHeight (juceLogoBounds.getHeight() + 100); - copyrightLabel.setBounds (leftSlice.removeFromBottom (20)); - auto titleHeight = 40; centreSlice.removeFromTop ((centreSlice.getHeight() / 2) - (titleHeight / 2)); @@ -76,7 +74,9 @@ public: versionLabel.setBounds (centreSlice.removeFromTop (40)); centreSlice.removeFromTop (10); - aboutButton.setBounds (centreSlice.removeFromBottom (20)); + aboutButton.setBounds (centreSlice.removeFromTop (20)); + + copyrightLabel.setBounds (getLocalBounds().removeFromBottom (50)); } void paint (Graphics& g) override diff --git a/extras/Projucer/Source/Application/Windows/jucer_PIPCreatorWindowComponent.h b/extras/Projucer/Source/Application/Windows/jucer_PIPCreatorWindowComponent.h index 8a2188eb..4ec2ff49 100644 --- a/extras/Projucer/Source/Application/Windows/jucer_PIPCreatorWindowComponent.h +++ b/extras/Projucer/Source/Application/Windows/jucer_PIPCreatorWindowComponent.h @@ -76,11 +76,11 @@ public: chooser = std::make_unique ("Save PIP File", File::getSpecialLocation (File::SpecialLocationType::userDesktopDirectory) .getChildFile (nameValue.get().toString() + ".h")); - auto flags = FileBrowserComponent::saveMode - | FileBrowserComponent::canSelectFiles - | FileBrowserComponent::warnAboutOverwriting; + auto browserFlags = FileBrowserComponent::saveMode + | FileBrowserComponent::canSelectFiles + | FileBrowserComponent::warnAboutOverwriting; - chooser->launchAsync (flags, [this] (const FileChooser& fc) + chooser->launchAsync (browserFlags, [this] (const FileChooser& fc) { const auto result = fc.getResult(); diff --git a/extras/Projucer/Source/Application/jucer_MainWindow.cpp b/extras/Projucer/Source/Application/jucer_MainWindow.cpp index fde35f5a..ca750a3e 100644 --- a/extras/Projucer/Source/Application/jucer_MainWindow.cpp +++ b/extras/Projucer/Source/Application/jucer_MainWindow.cpp @@ -39,9 +39,9 @@ class BlurOverlayWithComponent : public Component, { public: BlurOverlayWithComponent (MainWindow& window, std::unique_ptr comp) - : ComponentMovementWatcher (&window), - mainWindow (window), - componentToShow (std::move (comp)) + : ComponentMovementWatcher (&window), + mainWindow (window), + componentToShow (std::move (comp)) { kernel.createGaussianBlur (1.25f); @@ -300,11 +300,16 @@ void MainWindow::moveProject (File newProjectFileToOpen, OpenInIDE openInIDE) parent->openFile (newProjectFileToOpen, [parent, openInIDE] (bool openedSuccessfully) { - if (parent == nullptr) + if (! (openedSuccessfully && parent != nullptr && parent->currentProject != nullptr && openInIDE == OpenInIDE::yes)) return; - if (openedSuccessfully && parent->currentProject != nullptr && openInIDE == OpenInIDE::yes) - ProjucerApplication::getApp().getCommandManager().invokeDirectly (CommandIDs::openInIDE, false); + // The project component knows how to process the saveAndOpenInIDE command, but the + // main application does not. In order to process the command successfully, we need + // to ensure that the project content component has focus. + auto& manager = ProjucerApplication::getApp().getCommandManager(); + manager.setFirstCommandTarget (parent->getProjectContentComponent()); + ProjucerApplication::getApp().getCommandManager().invokeDirectly (CommandIDs::saveAndOpenInIDE, false); + manager.setFirstCommandTarget (nullptr); }); }); } @@ -326,6 +331,11 @@ void MainWindow::setProject (std::unique_ptr newProject) getProjectContentComponent()->setProject (currentProject.get()); } + if (currentProject != nullptr) + currentProject->addChangeListener (this); + + changeListenerCallback (currentProject.get()); + projectNameValue.referTo (currentProject != nullptr ? currentProject->getProjectValue (Ids::name) : Value()); initialiseProjectWindow(); @@ -707,6 +717,16 @@ void MainWindow::valueChanged (Value& value) : "Projucer"); } +void MainWindow::changeListenerCallback (ChangeBroadcaster* source) +{ + auto* project = getProject(); + + if (source == project) + if (auto* peer = getPeer()) + peer->setHasChangedSinceSaved (project != nullptr ? project->hasChangedSinceSaved() + : false); +} + //============================================================================== MainWindowList::MainWindowList() { diff --git a/extras/Projucer/Source/Application/jucer_MainWindow.h b/extras/Projucer/Source/Application/jucer_MainWindow.h index ac63ac0e..0bb11cce 100644 --- a/extras/Projucer/Source/Application/jucer_MainWindow.h +++ b/extras/Projucer/Source/Application/jucer_MainWindow.h @@ -39,7 +39,8 @@ class MainWindow : public DocumentWindow, public ApplicationCommandTarget, public FileDragAndDropTarget, public DragAndDropContainer, - private Value::Listener + private Value::Listener, + private ChangeListener { public: //============================================================================== @@ -87,6 +88,7 @@ public: StringArray& files, bool& canMoveFiles) override; private: void valueChanged (Value&) override; + void changeListenerCallback (ChangeBroadcaster* source) override; static const char* getProjectWindowPosName() { return "projectWindowPos"; } void createProjectContentCompIfNeeded(); diff --git a/extras/Projucer/Source/BinaryData/Icons/background_logo.svg b/extras/Projucer/Source/BinaryData/Icons/background_logo.svg index 33307217..95d0ae77 100644 --- a/extras/Projucer/Source/BinaryData/Icons/background_logo.svg +++ b/extras/Projucer/Source/BinaryData/Icons/background_logo.svg @@ -1,37 +1,12 @@ - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/extras/Projucer/Source/BinaryData/Icons/juce_icon.png b/extras/Projucer/Source/BinaryData/Icons/juce_icon.png index 2564a24f..7bccd5ba 100644 Binary files a/extras/Projucer/Source/BinaryData/Icons/juce_icon.png and b/extras/Projucer/Source/BinaryData/Icons/juce_icon.png differ diff --git a/extras/Projucer/Source/CodeEditor/jucer_OpenDocumentManager.cpp b/extras/Projucer/Source/CodeEditor/jucer_OpenDocumentManager.cpp index 0ba7adfb..d30ff4bc 100644 --- a/extras/Projucer/Source/CodeEditor/jucer_OpenDocumentManager.cpp +++ b/extras/Projucer/Source/CodeEditor/jucer_OpenDocumentManager.cpp @@ -254,15 +254,19 @@ void OpenDocumentManager::closeDocumentAsync (Document* doc, SaveIfNeeded saveIf return; } + auto closed = parent->closeDocumentWithoutSaving (doc); + if (callback != nullptr) - callback (parent->closeDocumentWithoutSaving (doc)); + callback (closed); }); return; } + auto closed = closeDocumentWithoutSaving (doc); + if (callback != nullptr) - callback (closeDocumentWithoutSaving (doc)); + callback (closed); } void OpenDocumentManager::closeFileWithoutSaving (const File& f) diff --git a/extras/Projucer/Source/ComponentEditor/jucer_BinaryResources.cpp b/extras/Projucer/Source/ComponentEditor/jucer_BinaryResources.cpp index 485284d6..9f81596d 100644 --- a/extras/Projucer/Source/ComponentEditor/jucer_BinaryResources.cpp +++ b/extras/Projucer/Source/ComponentEditor/jucer_BinaryResources.cpp @@ -131,26 +131,45 @@ void BinaryResources::browseForResource (const String& title, chooser = std::make_unique (title, fileToStartFrom, wildcard); auto flags = FileBrowserComponent::openMode | FileBrowserComponent::canSelectFiles; - chooser->launchAsync (flags, [this, resourceToReplace, callback] (const FileChooser& fc) + chooser->launchAsync (flags, [safeThis = WeakReference { this }, + resourceToReplace, + callback] (const FileChooser& fc) { - if (fc.getResult() == File{}) - callback ({}); + if (safeThis == nullptr) + { + if (callback != nullptr) + callback ({}); + + return; + } + + const auto result = fc.getResult(); - String name (resourceToReplace); + auto resourceName = [safeThis, result, resourceToReplace]() -> String + { + if (result == File()) + return {}; + + if (resourceToReplace.isEmpty()) + return safeThis->findUniqueName (result.getFileName()); - if (name.isEmpty()) - name = findUniqueName (fc.getResult().getFileName()); + return resourceToReplace; + }(); - if (! add (name, fc.getResult())) + if (resourceName.isNotEmpty()) { - AlertWindow::showMessageBoxAsync (MessageBoxIconType::WarningIcon, - TRANS("Adding Resource"), - TRANS("Failed to load the file!")); + if (! safeThis->add (resourceName, result)) + { + AlertWindow::showMessageBoxAsync (MessageBoxIconType::WarningIcon, + TRANS("Adding Resource"), + TRANS("Failed to load the file!")); - name.clear(); + resourceName.clear(); + } } - callback (name); + if (callback != nullptr) + callback (resourceName); }); } diff --git a/extras/Projucer/Source/ComponentEditor/jucer_BinaryResources.h b/extras/Projucer/Source/ComponentEditor/jucer_BinaryResources.h index 2f2ef9cd..733b1c8c 100644 --- a/extras/Projucer/Source/ComponentEditor/jucer_BinaryResources.h +++ b/extras/Projucer/Source/ComponentEditor/jucer_BinaryResources.h @@ -93,4 +93,7 @@ private: JucerDocument* document; OwnedArray resources; std::unique_ptr chooser; + + //============================================================================== + JUCE_DECLARE_WEAK_REFERENCEABLE (BinaryResources) }; diff --git a/extras/Projucer/Source/Project/Modules/jucer_AvailableModulesList.h b/extras/Projucer/Source/Project/Modules/jucer_AvailableModulesList.h index e364ea59..6a43bade 100644 --- a/extras/Projucer/Source/Project/Modules/jucer_AvailableModulesList.h +++ b/extras/Projucer/Source/Project/Modules/jucer_AvailableModulesList.h @@ -27,6 +27,8 @@ #include "jucer_ModuleDescription.h" +#include + //============================================================================== class AvailableModulesList : private AsyncUpdater { @@ -39,16 +41,36 @@ public: //============================================================================== void scanPaths (const Array& paths) { - auto job = createScannerJob (paths); - auto& ref = *job; - - removePendingAndAddJob (std::move (job)); - scanPool.waitForJobToFinish (&ref, -1); + scanPathsAsync (paths); + scanner = {}; } void scanPathsAsync (const Array& paths) { - removePendingAndAddJob (createScannerJob (paths)); + scanner = std::async (std::launch::async, [this, paths] + { + ModuleIDAndFolderList list; + + for (auto& p : paths) + addAllModulesInFolder (p, list); + + std::sort (list.begin(), list.end(), [] (const ModuleIDAndFolder& m1, + const ModuleIDAndFolder& m2) + { + return m1.first.compareIgnoreCase (m2.first) < 0; + }); + + { + const ScopedLock swapLock (lock); + + if (list == modulesList) + return; + + modulesList.swap (list); + } + + triggerAsyncUpdate(); + }); } //============================================================================== @@ -95,85 +117,50 @@ public: private: //============================================================================== - struct ModuleScannerJob : public ThreadPoolJob + static bool tryToAddModuleFromFolder (const File& path, ModuleIDAndFolderList& list) { - ModuleScannerJob (const Array& paths, - std::function&& callback) - : ThreadPoolJob ("ModuleScannerJob"), - pathsToScan (paths), - completionCallback (std::move (callback)) - { - } + ModuleDescription m (path); - JobStatus runJob() override + if (m.isValid() + && std::none_of (list.begin(), list.end(), + [&m] (const ModuleIDAndFolder& element) { return element.first == m.getID(); })) { - ModuleIDAndFolderList list; - - for (auto& p : pathsToScan) - addAllModulesInFolder (p, list); - - if (! shouldExit()) - { - std::sort (list.begin(), list.end(), [] (const ModuleIDAndFolder& m1, - const ModuleIDAndFolder& m2) - { - return m1.first.compareIgnoreCase (m2.first) < 0; - }); - - completionCallback (list); - } - - return jobHasFinished; + list.push_back ({ m.getID(), path }); + return true; } - static bool tryToAddModuleFromFolder (const File& path, ModuleIDAndFolderList& list) - { - ModuleDescription m (path); + return false; + } - if (m.isValid() - && std::find_if (list.begin(), list.end(), - [&m] (const ModuleIDAndFolder& element) { return element.first == m.getID(); }) == std::end (list)) - { - list.push_back ({ m.getID(), path }); - return true; - } + static void addAllModulesInFolder (const File& topLevelPath, ModuleIDAndFolderList& list) + { + struct FileAndDepth + { + File file; + int depth; + }; - return false; - } + std::queue pathsToCheck; + pathsToCheck.push ({ topLevelPath, 0 }); - static void addAllModulesInFolder (const File& topLevelPath, ModuleIDAndFolderList& list) + while (! pathsToCheck.empty()) { - struct FileAndDepth - { - File file; - int depth; - }; + const auto path = pathsToCheck.front(); + pathsToCheck.pop(); - std::queue pathsToCheck; - pathsToCheck.push ({ topLevelPath, 0 }); + if (tryToAddModuleFromFolder (path.file, list) || path.depth == 3) + continue; - while (! pathsToCheck.empty()) + for (const auto& iter : RangedDirectoryIterator (path.file, false, "*", File::findDirectories)) { - const auto path = pathsToCheck.front(); - pathsToCheck.pop(); - - if (tryToAddModuleFromFolder (path.file, list) || path.depth == 3) - continue; + if (auto* job = ThreadPoolJob::getCurrentThreadPoolJob()) + if (job->shouldExit()) + return; - for (const auto& iter : RangedDirectoryIterator (path.file, false, "*", File::findDirectories)) - { - if (auto* job = ThreadPoolJob::getCurrentThreadPoolJob()) - if (job->shouldExit()) - return; - - pathsToCheck.push({ iter.getFile(), path.depth + 1 }); - } + pathsToCheck.push({ iter.getFile(), path.depth + 1 }); } } - - Array pathsToScan; - std::function completionCallback; - }; + } //============================================================================== void handleAsyncUpdate() override @@ -181,34 +168,11 @@ private: listeners.call ([this] (Listener& l) { l.availableModulesChanged (this); }); } - std::unique_ptr createScannerJob (const Array& paths) - { - return std::make_unique (paths, [this] (ModuleIDAndFolderList scannedModulesList) - { - if (scannedModulesList == modulesList) - return; - - { - const ScopedLock swapLock (lock); - modulesList.swap (scannedModulesList); - } - - triggerAsyncUpdate(); - }); - } - - void removePendingAndAddJob (std::unique_ptr jobToAdd) - { - scanPool.removeAllJobs (false, 100); - scanPool.addJob (jobToAdd.release(), true); - } - //============================================================================== - ThreadPool scanPool { 1 }; - ModuleIDAndFolderList modulesList; ListenerList listeners; CriticalSection lock; + std::future scanner; //============================================================================== JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (AvailableModulesList) diff --git a/extras/Projucer/Source/Project/UI/jucer_ProjectContentComponent.cpp b/extras/Projucer/Source/Project/UI/jucer_ProjectContentComponent.cpp index 2e9f01b7..b5701e4b 100644 --- a/extras/Projucer/Source/Project/UI/jucer_ProjectContentComponent.cpp +++ b/extras/Projucer/Source/Project/UI/jucer_ProjectContentComponent.cpp @@ -400,7 +400,12 @@ bool ProjectContentComponent::goToCounterpart() void ProjectContentComponent::saveProjectAsync() { - if (project != nullptr) + if (project == nullptr) + return; + + if (project->isTemporaryProject()) + project->saveAndMoveTemporaryProject (false); + else project->saveAsync (true, true, nullptr); } @@ -499,15 +504,26 @@ void ProjectContentComponent::openInSelectedIDE (bool saveFirst) if (auto selectedExporter = headerComponent.getSelectedExporter()) { + if (! selectedExporter->canLaunchProject()) + return; + if (saveFirst) { - SafePointer safeThis { this }; - project->saveAsync (true, true, [safeThis] (Project::SaveResult r) - { - if (safeThis != nullptr && r == Project::SaveResult::savedOk) - safeThis->openInSelectedIDE (false); - }); - return; + if (project->isTemporaryProject()) + { + project->saveAndMoveTemporaryProject (true); + return; + } + + if (project->hasChangedSinceSaved() || ! selectedExporter->getIDEProjectFile().exists()) + { + project->saveAsync (true, true, [safeThis = SafePointer { this }] (Project::SaveResult r) + { + if (safeThis != nullptr && r == Project::SaveResult::savedOk) + safeThis->openInSelectedIDE (false); + }); + return; + } } project->openProjectInIDE (*selectedExporter); @@ -848,31 +864,31 @@ bool ProjectContentComponent::perform (const InvocationInfo& info) switch (info.commandID) { - case CommandIDs::saveProject: saveProjectAsync(); break; - case CommandIDs::closeProject: closeProject(); break; - case CommandIDs::saveDocument: saveDocumentAsync(); break; - case CommandIDs::saveDocumentAs: saveAsAsync(); break; - case CommandIDs::closeDocument: closeDocument(); break; - case CommandIDs::goToPreviousDoc: goToPreviousFile(); break; - case CommandIDs::goToNextDoc: goToNextFile(); break; - case CommandIDs::goToCounterpart: goToCounterpart(); break; + case CommandIDs::saveProject: saveProjectAsync(); break; + case CommandIDs::closeProject: closeProject(); break; + case CommandIDs::saveDocument: saveDocumentAsync(); break; + case CommandIDs::saveDocumentAs: saveAsAsync(); break; + case CommandIDs::closeDocument: closeDocument(); break; + case CommandIDs::goToPreviousDoc: goToPreviousFile(); break; + case CommandIDs::goToNextDoc: goToNextFile(); break; + case CommandIDs::goToCounterpart: goToCounterpart(); break; - case CommandIDs::showProjectSettings: showProjectSettings(); break; - case CommandIDs::showFileExplorerPanel: showFilesPanel(); break; - case CommandIDs::showModulesPanel: showModulesPanel(); break; - case CommandIDs::showExportersPanel: showExportersPanel(); break; - case CommandIDs::showExporterSettings: showCurrentExporterSettings(); break; + case CommandIDs::showProjectSettings: showProjectSettings(); break; + case CommandIDs::showFileExplorerPanel: showFilesPanel(); break; + case CommandIDs::showModulesPanel: showModulesPanel(); break; + case CommandIDs::showExportersPanel: showExportersPanel(); break; + case CommandIDs::showExporterSettings: showCurrentExporterSettings(); break; - case CommandIDs::openInIDE: openInSelectedIDE (false); break; - case CommandIDs::saveAndOpenInIDE: openInSelectedIDE (true); break; + case CommandIDs::openInIDE: openInSelectedIDE (false); break; + case CommandIDs::saveAndOpenInIDE: openInSelectedIDE (true); break; - case CommandIDs::createNewExporter: showNewExporterMenu(); break; + case CommandIDs::createNewExporter: showNewExporterMenu(); break; - case CommandIDs::deleteSelectedItem: deleteSelectedTreeItems(); break; + case CommandIDs::deleteSelectedItem: deleteSelectedTreeItems(); break; - case CommandIDs::showTranslationTool: showTranslationTool(); break; + case CommandIDs::showTranslationTool: showTranslationTool(); break; - case CommandIDs::addNewGUIFile: addNewGUIFile(); break; + case CommandIDs::addNewGUIFile: addNewGUIFile(); break; default: return false; diff --git a/extras/Projucer/Source/Project/UI/jucer_ProjectMessagesComponent.h b/extras/Projucer/Source/Project/UI/jucer_ProjectMessagesComponent.h index 860c29fc..a7b60e63 100644 --- a/extras/Projucer/Source/Project/UI/jucer_ProjectMessagesComponent.h +++ b/extras/Projucer/Source/Project/UI/jucer_ProjectMessagesComponent.h @@ -299,42 +299,34 @@ private: return true; }; - messages.erase (std::remove_if (std::begin (messages), std::end (messages), removePredicate), - std::end (messages)); + messages.erase (std::remove_if (messages.begin(), messages.end(), removePredicate), + messages.end()); - for (int i = 0; i < warningsTree.getNumChildren(); ++i) + for (auto* tree : { &warningsTree, ¬ificationsTree }) { - auto child = warningsTree.getChild (i); - - if (! child.getProperty (ProjectMessages::Ids::isVisible)) - continue; - - if (std::find_if (std::begin (messages), std::end (messages), - [child] (const std::unique_ptr& messageComponent) { return messageComponent->message == child.getType(); }) - == std::end (messages)) + for (int i = 0; i < tree->getNumChildren(); ++i) { - messages.push_back (std::make_unique (*this, child.getType(), project.getMessageActions (child.getType()))); - addAndMakeVisible (*messages.back()); - } - } + auto child = tree->getChild (i); - for (int i = 0; i < notificationsTree.getNumChildren(); ++i) - { - auto child = notificationsTree.getChild (i); + if (! child.getProperty (ProjectMessages::Ids::isVisible)) + continue; - if (! child.getProperty (ProjectMessages::Ids::isVisible)) - continue; + const auto messageMatchesType = [&child] (const auto& messageComponent) + { + return messageComponent->message == child.getType(); + }; - if (std::find_if (std::begin (messages), std::end (messages), - [child] (const std::unique_ptr& messageComponent) { return messageComponent->message == child.getType(); }) - == std::end (messages)) - { - messages.push_back (std::make_unique (*this, child.getType(), project.getMessageActions (child.getType()))); - addAndMakeVisible (*messages.back()); + if (std::none_of (messages.begin(), messages.end(), messageMatchesType)) + { + messages.push_back (std::make_unique (*this, + child.getType(), + project.getMessageActions (child.getType()))); + addAndMakeVisible (*messages.back()); + } } } - auto isNowShowing = (messages.size() > 0); + const auto isNowShowing = (messages.size() > 0); owner.updateBounds (isNowShowing != listWasShowing); updateSize (owner.getWidth()); diff --git a/extras/Projucer/Source/Project/jucer_Project.cpp b/extras/Projucer/Source/Project/jucer_Project.cpp index cf849003..a4ef7d2e 100644 --- a/extras/Projucer/Source/Project/jucer_Project.cpp +++ b/extras/Projucer/Source/Project/jucer_Project.cpp @@ -287,7 +287,7 @@ void Project::initialiseProjectValues() useAppConfigValue.referTo (projectRoot, Ids::useAppConfig, getUndoManager(), true); addUsingNamespaceToJuceHeader.referTo (projectRoot, Ids::addUsingNamespaceToJuceHeader, getUndoManager(), true); - cppStandardValue.referTo (projectRoot, Ids::cppLanguageStandard, getUndoManager(), "14"); + cppStandardValue.referTo (projectRoot, Ids::cppLanguageStandard, getUndoManager(), "14"); headerSearchPathsValue.referTo (projectRoot, Ids::headerPath, getUndoManager()); preprocessorDefsValue.referTo (projectRoot, Ids::defines, getUndoManager()); @@ -700,15 +700,17 @@ void Project::saveProject (Async async, return; } - if (saver != nullptr) + if (isTemporaryProject()) { - onCompletion (Result::ok()); + // Don't try to save a temporary project directly. Instead, check whether the + // project is temporary before saving it, and call saveAndMoveTemporaryProject + // in that case. + onCompletion (Result::fail ("Cannot save temporary project.")); return; } - if (isTemporaryProject()) + if (saver != nullptr) { - saveAndMoveTemporaryProject (false); onCompletion (Result::ok()); return; } @@ -731,9 +733,7 @@ void Project::saveProject (Async async, return; ref->saver = nullptr; - - if (onCompletion != nullptr) - onCompletion (result); + NullCheckedInvocation::invoke (onCompletion, result); }); } @@ -1091,9 +1091,9 @@ void Project::valueTreePropertyChanged (ValueTree& tree, const Identifier& prope { updateModuleWarnings(); } - - changed(); } + + changed(); } void Project::valueTreeChildAdded (ValueTree& parent, ValueTree& child) @@ -2579,7 +2579,7 @@ StringPairArray Project::getAudioPluginFlags() const for (int i = 0; i < 4; ++i) hexRepresentation = (hexRepresentation << 8u) - | (static_cast (fourCharCode[i]) & 0xffu); + | (static_cast (fourCharCode[i]) & 0xffu); return "0x" + String::toHexString (static_cast (hexRepresentation)); }; @@ -2631,7 +2631,7 @@ StringPairArray Project::getAudioPluginFlags() const flags.set ("JucePlugin_AAXDisableMultiMono", boolToString (isPluginAAXMultiMonoDisabled())); flags.set ("JucePlugin_IAAType", toCharLiteral (getIAATypeCode())); flags.set ("JucePlugin_IAASubType", "JucePlugin_PluginCode"); - flags.set ("JucePlugin_IAAName", getIAAPluginName().quoted()); + flags.set ("JucePlugin_IAAName", toStringLiteral (getIAAPluginName())); flags.set ("JucePlugin_VSTNumMidiInputs", getVSTNumMIDIInputsString()); flags.set ("JucePlugin_VSTNumMidiOutputs", getVSTNumMIDIOutputsString()); diff --git a/extras/Projucer/Source/Project/jucer_Project.h b/extras/Projucer/Source/Project/jucer_Project.h index fbbb8548..4db06627 100644 --- a/extras/Projucer/Source/Project/jucer_Project.h +++ b/extras/Projucer/Source/Project/jucer_Project.h @@ -131,6 +131,7 @@ public: void saveDocumentAsync (const File& file, std::function callback) override; void saveProject (Async, ProjectExporter* exporterToSave, std::function onCompletion); + void saveAndMoveTemporaryProject (bool openInIDE); Result saveResourcesOnly(); void openProjectInIDE (ProjectExporter& exporterToOpen); @@ -209,8 +210,14 @@ public: bool shouldDisplaySplashScreen() const { return displaySplashScreenValue.get(); } String getSplashScreenColourString() const { return splashScreenColourValue.get(); } - static StringArray getCppStandardStrings() { return { "C++14", "C++17", "Use Latest" }; } - static Array getCppStandardVars() { return { "14", "17", "latest" }; } + static StringArray getCppStandardStrings() { return { "C++14", "C++17", "C++20", "Use Latest" }; } + static Array getCppStandardVars() { return { "14", "17", "20", "latest" }; } + + static String getLatestNumberedCppStandardString() + { + auto cppStandardVars = getCppStandardVars(); + return cppStandardVars[cppStandardVars.size() - 2]; + } String getCppStandardString() const { return cppStandardValue.get(); } @@ -571,8 +578,6 @@ private: File tempDirectory; std::pair cachedFileState; - void saveAndMoveTemporaryProject (bool openInIDE); - //============================================================================== friend class Item; StringPairArray parsedPreprocessorDefs; diff --git a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Android.h b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Android.h index 5e5f046f..ee3b5fda 100644 --- a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Android.h +++ b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Android.h @@ -141,7 +141,7 @@ public: gradleVersion (settings, Ids::gradleVersion, getUndoManager(), "7.0.2"), gradleToolchain (settings, Ids::gradleToolchain, getUndoManager(), "clang"), androidPluginVersion (settings, Ids::androidPluginVersion, getUndoManager(), "7.0.0"), - AndroidExecutable (getAppSettings().getStoredPath (Ids::androidStudioExePath, TargetOS::getThisOS()).get().toString()) + androidExecutable (getAppSettings().getStoredPath (Ids::androidStudioExePath, TargetOS::getThisOS()).get().toString()) { name = getDisplayName(); targetLocationValue.setDefault (getDefaultBuildsRootFolder() + getTargetFolderName()); @@ -165,22 +165,25 @@ public: //============================================================================== bool canLaunchProject() override { - return AndroidExecutable.exists(); + return androidExecutable.exists(); } bool launchProject() override { - if (! AndroidExecutable.exists()) + if (! androidExecutable.exists()) { jassertfalse; return false; } - auto targetFolder = getTargetFolder(); - // we have to surround the path with extra quotes, otherwise Android Studio // will choke if there are any space characters in the path. - return AndroidExecutable.startAsProcess ("\"" + targetFolder.getFullPathName() + "\""); + return androidExecutable.startAsProcess (getIDEProjectFile().getFullPathName().quoted()); + } + + File getIDEProjectFile() const override + { + return getTargetFolder(); } //============================================================================== @@ -545,8 +548,11 @@ private: mo << "if( JUCE_BUILD_CONFIGURATION MATCHES \"" << cfg.getProductFlavourCMakeIdentifier() << "\" )" << newLine; mo << " target_compile_options( ${BINARY_NAME} PRIVATE"; - for (auto& flag : cfg.getRecommendedCompilerWarningFlags()) - mo << " " << flag; + auto recommendedFlags = cfg.getRecommendedCompilerWarningFlags(); + + for (auto& recommendedFlagsType : { recommendedFlags.common, recommendedFlags.cpp }) + for (auto& flag : recommendedFlagsType) + mo << " " << flag; mo << ")" << newLine; mo << "endif()" << newLine << newLine; @@ -586,7 +592,7 @@ private: MemoryOutputStream mo; mo.setNewLineString (getNewLineString()); - mo << "rootProject.name = " << "\'" << projectName << "\'" << newLine; + mo << "rootProject.name = " << "\'" << escapeQuotes (projectName) << "\'" << newLine; mo << (isLibrary() ? "include ':lib'" : "include ':app'"); auto extraContent = androidGradleSettingsContent.get().toString(); @@ -1278,6 +1284,11 @@ private: return "android-" + androidMinimumSDK.get().toString(); } + static String escapeQuotes (const String& str) + { + return str.replace ("'", "\\'").replace ("\"", "\\\""); + } + //============================================================================== void writeStringsXML (const File& folder) const { @@ -1286,7 +1297,7 @@ private: auto& cfg = dynamic_cast (*config); String customStringsXmlContent ("\n"); - customStringsXmlContent << "" << projectName << "\n"; + customStringsXmlContent << "" << escapeQuotes (projectName) << "\n"; customStringsXmlContent << cfg.getCustomStringsXml(); customStringsXmlContent << "\n"; @@ -1427,7 +1438,7 @@ private: auto projectStandard = project.getCppStandardString(); if (projectStandard == "latest") - return String ("17"); + return project.getLatestNumberedCppStandardString(); return projectStandard; }(); @@ -1576,20 +1587,13 @@ private: for (int i = 0; i < defs.size(); ++i) { - auto escaped = "\"-D" + defs.getAllKeys()[i]; + auto escaped = "[[-D" + defs.getAllKeys()[i]; auto value = defs.getAllValues()[i]; if (value.isNotEmpty()) - { - value = value.replace ("\"", "\\\""); - - if (value.containsChar (L' ') && ! value.startsWith ("\\\"") && ! value.endsWith ("\\\"")) - value = "\\\"" + value + "\\\""; - escaped += ("=" + value); - } - escapedDefs.add (escaped + "\""); + escapedDefs.add (escaped + "]]"); } return escapedDefs; @@ -1600,7 +1604,7 @@ private: StringArray escaped; for (auto& flag : flags) - escaped.add ("\"" + flag + "\""); + escaped.add ("[[" + flag + "]]"); return escaped; } @@ -1746,6 +1750,8 @@ private: if (! act->hasAttribute ("android:hardwareAccelerated")) act->setAttribute ("android:hardwareAccelerated", "true"); // (using the 2D acceleration slows down openGL) + act->setAttribute ("android:exported", "true"); + return act; } @@ -1830,6 +1836,7 @@ private: s.add ("android.permission.BLUETOOTH"); s.add ("android.permission.BLUETOOTH_ADMIN"); s.add ("android.permission.ACCESS_FINE_LOCATION"); + s.add ("android.permission.ACCESS_COARSE_LOCATION"); } if (androidExternalReadPermission.get()) @@ -1870,7 +1877,7 @@ private: } //============================================================================== - const File AndroidExecutable; + const File androidExecutable; JUCE_DECLARE_NON_COPYABLE (AndroidProjectExporter) }; diff --git a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_CLion.h b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_CLion.h index 72e2d95d..e77fdf54 100644 --- a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_CLion.h +++ b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_CLion.h @@ -126,7 +126,12 @@ public: bool launchProject() override { - return getCLionExecutableOrApp().startAsProcess (getTargetFolder().getFullPathName().quoted()); + return getCLionExecutableOrApp().startAsProcess (getIDEProjectFile().getFullPathName().quoted()); + } + + File getIDEProjectFile() const override + { + return getTargetFolder(); } String getDescription() override @@ -542,7 +547,7 @@ private: auto cxxStandard = project.getCppStandardString(); if (cxxStandard == "latest") - cxxStandard = "17"; + cxxStandard = project.getLatestNumberedCppStandardString(); out << " CXX_STANDARD " << cxxStandard << newLine; @@ -608,7 +613,7 @@ private: String cxxFlags; - for (auto& flag : exporter.getCXXFlags()) + for (auto& flag : exporter.getCXXFlags (config)) if (! flag.startsWith ("-std=")) cxxFlags += " " + flag; @@ -671,7 +676,7 @@ private: auto cxxStandard = project.getCppStandardString(); if (cxxStandard == "latest") - cxxStandard = "17"; + cxxStandard = project.getLatestNumberedCppStandardString(); out << " CXX_STANDARD " << cxxStandard << newLine; @@ -1076,7 +1081,7 @@ private: auto cxxStandard = project.getCppStandardString(); if (cxxStandard == "latest") - cxxStandard = "17"; + cxxStandard = project.getLatestNumberedCppStandardString(); out << " CXX_STANDARD " << cxxStandard << newLine; diff --git a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_CodeBlocks.h b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_CodeBlocks.h index 2b29304a..5c47df04 100644 --- a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_CodeBlocks.h +++ b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_CodeBlocks.h @@ -377,8 +377,11 @@ private: if (auto* codeBlocksConfig = dynamic_cast (&config)) flags.add (codeBlocksConfig->getArchitectureTypeString()); - for (auto& recommended : config.getRecommendedCompilerWarningFlags()) - flags.add (recommended); + auto recommendedFlags = config.getRecommendedCompilerWarningFlags(); + + for (auto& recommendedFlagsType : { recommendedFlags.common, recommendedFlags.cpp }) + for (auto& recommended : recommendedFlagsType) + flags.add (recommended); flags.add ("-O" + config.getGCCOptimisationFlag()); @@ -389,11 +392,9 @@ private: auto cppStandard = config.project.getCppStandardString(); if (cppStandard == "latest") - cppStandard = "17"; - - cppStandard = "-std=" + String (shouldUseGNUExtensions() ? "gnu++" : "c++") + cppStandard; + cppStandard = project.getLatestNumberedCppStandardString(); - flags.add (cppStandard); + flags.add ("-std=" + String (shouldUseGNUExtensions() ? "gnu++" : "c++") + cppStandard); } flags.add ("-mstackrealign"); diff --git a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_MSVC.h b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_MSVC.h index d59c4124..90319e49 100644 --- a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_MSVC.h +++ b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_MSVC.h @@ -25,6 +25,14 @@ #pragma once +inline String msBuildEscape (String str) +{ + // see https://docs.microsoft.com/en-us/visualstudio/msbuild/msbuild-special-characters?view=vs-2019 + for (const auto& special : { "%", "$", "@", "'", ";", "?", "\""}) + str = str.replace (special, "%" + String::toHexString (*special)); + + return str; +} //============================================================================== class MSVCProjectExporterBase : public ProjectExporter @@ -34,6 +42,7 @@ public: : ProjectExporter (p, t), IPPLibraryValue (settings, Ids::IPPLibrary, getUndoManager()), IPP1ALibraryValue (settings, Ids::IPP1ALibrary, getUndoManager()), + MKL1ALibraryValue (settings, Ids::MKL1ALibrary, getUndoManager()), platformToolsetValue (settings, Ids::toolset, getUndoManager()), targetPlatformVersion (settings, Ids::windowsTargetPlatformVersion, getUndoManager()), manifestFileValue (settings, Ids::msvcManifestFile, getUndoManager()) @@ -51,6 +60,7 @@ public: //============================================================================== String getIPPLibrary() const { return IPPLibraryValue.get(); } String getIPP1ALibrary() const { return IPP1ALibraryValue.get(); } + String getMKL1ALibrary() const { return MKL1ALibraryValue.get(); } String getPlatformToolset() const { return platformToolsetValue.get(); } String getWindowsTargetPlatformVersion() const { return targetPlatformVersion.get(); } @@ -438,14 +448,15 @@ public: addWindowsTargetPlatformToConfig (*e); - struct IPPLibraryInfo + struct IntelLibraryInfo { String libraryKind; String configString; }; - for (const auto& info : { IPPLibraryInfo { owner.getIPPLibrary(), "UseIntelIPP" }, - IPPLibraryInfo { owner.getIPP1ALibrary(), "UseIntelIPP1A" }}) + for (const auto& info : { IntelLibraryInfo { owner.getIPPLibrary(), "UseIntelIPP" }, + IntelLibraryInfo { owner.getIPP1ALibrary(), "UseIntelIPP1A" }, + IntelLibraryInfo { owner.getMKL1ALibrary(), "UseInteloneMKL" } }) { if (info.libraryKind.isNotEmpty()) e->createNewChildElement (info.configString)->addTextElement (info.libraryKind); @@ -502,7 +513,7 @@ public: { auto* targetName = props->createNewChildElement ("TargetName"); setConditionAttribute (*targetName, config); - targetName->addTextElement (config.getOutputFilename ("", false, type == UnityPlugIn)); + targetName->addTextElement (msBuildEscape (config.getOutputFilename ("", false, type == UnityPlugIn))); } { @@ -595,9 +606,9 @@ public: : "NDEBUG;%(PreprocessorDefinitions)"); } - auto externalLibraries = getExternalLibraries (config, getOwner().getExternalLibrariesString()); - auto additionalDependencies = type != SharedCodeTarget && externalLibraries.isNotEmpty() - ? getOwner().replacePreprocessorTokens (config, externalLibraries).trim() + ";%(AdditionalDependencies)" + auto externalLibraries = getExternalLibraries (config, getOwner().getExternalLibrariesStringArray()); + auto additionalDependencies = type != SharedCodeTarget && ! externalLibraries.isEmpty() + ? externalLibraries.joinIntoString (";") + ";%(AdditionalDependencies)" : String(); auto librarySearchPaths = config.getLibrarySearchPaths(); @@ -1161,9 +1172,9 @@ public: auto bundleDir = getOwner().getOutDirFile (config, outputFilename); auto bundleContents = bundleDir + "\\Contents"; auto archDir = bundleContents + String ("\\") + (config.is64Bit() ? "x64" : "Win32"); - auto executable = archDir + String ("\\") + outputFilename; + auto executablePath = archDir + String ("\\") + outputFilename; - auto pkgScript = String ("copy /Y ") + getOutputFilePath (config, false).quoted() + String (" ") + executable.quoted() + String ("\r\ncall ") + auto pkgScript = String ("copy /Y ") + getOutputFilePath (config, false).quoted() + String (" ") + executablePath.quoted() + String ("\r\ncall ") + createRebasedPath (bundleScript) + String (" ") + archDir.quoted() + String (" ") + createRebasedPath (iconFilePath); if (config.isPluginBinaryCopyStepEnabled()) @@ -1321,22 +1332,25 @@ public: return librarySearchPaths; } - String getExternalLibraries (const MSVCBuildConfiguration& config, const String& otherLibs) const + StringArray getExternalLibraries (const MSVCBuildConfiguration& config, const StringArray& otherLibs) const { - StringArray libraries; + const auto sharedCodeLib = [&]() -> StringArray + { + if (type != SharedCodeTarget) + if (auto* shared = getOwner().getSharedCodeTarget()) + return { shared->getBinaryNameWithSuffix (config, false) }; - if (otherLibs.isNotEmpty()) - libraries.add (otherLibs); + return {}; + }(); - auto moduleLibs = getOwner().getModuleLibs(); - if (! moduleLibs.isEmpty()) - libraries.addArray (moduleLibs); + auto result = otherLibs; + result.addArray (getOwner().getModuleLibs()); + result.addArray (sharedCodeLib); - if (type != SharedCodeTarget) - if (auto* shared = getOwner().getSharedCodeTarget()) - libraries.add (shared->getBinaryNameWithSuffix (config, false)); + for (auto& i : result) + i = msBuildEscape (getOwner().replacePreprocessorTokens (config, i).trim()); - return libraries.joinIntoString (";"); + return result; } String getDelayLoadedDLLs() const @@ -1462,7 +1476,7 @@ public: bool launchProject() override { #if JUCE_WINDOWS - return getSLNFile().startAsProcess(); + return getIDEProjectFile().startAsProcess(); #else return false; #endif @@ -1477,6 +1491,11 @@ public: #endif } + File getIDEProjectFile() const override + { + return getSLNFile(); + } + void createExporterProperties (PropertyListBuilder& props) override { props.add (new TextPropertyComponent (manifestFileValue, "Manifest file", 8192, false), @@ -1493,6 +1512,11 @@ public: { var(), "true", "Static_Library", "Dynamic_Library" }), "Enable this to use Intel's Integrated Performance Primitives library, supplied as part of the oneAPI toolkit."); + props.add (new ChoicePropertyComponent (MKL1ALibraryValue, "Use MKL Library (oneAPI)", + { "No", "Parallel", "Sequential", "Cluster" }, + { var(), "Parallel", "Sequential", "Cluster" }), + "Enable this to use Intel's MKL library, supplied as part of the oneAPI toolkit."); + { auto isWindows10SDK = getVisualStudioVersion() > 14; @@ -1576,7 +1600,12 @@ protected: mutable File rcFile, iconFile, packagesConfigFile; OwnedArray targets; - ValueWithDefault IPPLibraryValue, IPP1ALibraryValue, platformToolsetValue, targetPlatformVersion, manifestFileValue; + ValueWithDefault IPPLibraryValue, + IPP1ALibraryValue, + MKL1ALibraryValue, + platformToolsetValue, + targetPlatformVersion, + manifestFileValue; File getProjectFile (const String& extension, const String& target) const { @@ -1656,10 +1685,18 @@ protected: void writeSolutionFile (OutputStream& out, const String& versionString, String commentString) const { + const unsigned char bomBytes[] { CharPointer_UTF8::byteOrderMark1, + CharPointer_UTF8::byteOrderMark2, + CharPointer_UTF8::byteOrderMark3 }; + + for (const auto& byte : bomBytes) + out.writeByte ((char) byte); + if (commentString.isNotEmpty()) commentString += newLine; - out << "Microsoft Visual Studio Solution File, Format Version " << versionString << newLine + out << newLine + << "Microsoft Visual Studio Solution File, Format Version " << versionString << newLine << commentString << newLine; writeProjectDependencies (out); @@ -1719,7 +1756,7 @@ protected: } static String getWebView2PackageName() { return "Microsoft.Web.WebView2"; } - static String getWebView2PackageVersion() { return "0.9.488"; } + static String getWebView2PackageVersion() { return "1.0.902.49"; } void createPackagesConfigFile() const { @@ -1790,7 +1827,7 @@ public: Identifier getExporterIdentifier() const override { return getValueTreeTypeName(); } int getVisualStudioVersion() const override { return 14; } - String getSolutionComment() const override { return "# Visual Studio 2015"; } + String getSolutionComment() const override { return "# Visual Studio 14"; } String getToolsVersion() const override { return "14.0"; } String getDefaultToolset() const override { return "v140"; } String getDefaultWindowsTargetPlatformVersion() const override { return "8.1"; } @@ -1835,7 +1872,7 @@ public: Identifier getExporterIdentifier() const override { return getValueTreeTypeName(); } int getVisualStudioVersion() const override { return 15; } - String getSolutionComment() const override { return "# Visual Studio 2017"; } + String getSolutionComment() const override { return "# Visual Studio 15"; } String getToolsVersion() const override { return "15.0"; } String getDefaultToolset() const override { return "v141"; } String getDefaultWindowsTargetPlatformVersion() const override { return "Latest"; } @@ -1880,7 +1917,7 @@ public: Identifier getExporterIdentifier() const override { return getValueTreeTypeName(); } int getVisualStudioVersion() const override { return 16; } - String getSolutionComment() const override { return "# Visual Studio 2019"; } + String getSolutionComment() const override { return "# Visual Studio Version 16"; } String getToolsVersion() const override { return "16.0"; } String getDefaultToolset() const override { return "v142"; } String getDefaultWindowsTargetPlatformVersion() const override { return "10.0"; } @@ -1904,3 +1941,48 @@ public: JUCE_DECLARE_NON_COPYABLE (MSVCProjectExporterVC2019) }; + +//============================================================================== +class MSVCProjectExporterVC2022 : public MSVCProjectExporterBase +{ +public: + MSVCProjectExporterVC2022 (Project& p, const ValueTree& t) + : MSVCProjectExporterBase (p, t, getTargetFolderName()) + { + name = getDisplayName(); + + targetPlatformVersion.setDefault (getDefaultWindowsTargetPlatformVersion()); + platformToolsetValue.setDefault (getDefaultToolset()); + } + + static String getDisplayName() { return "Visual Studio 2022"; } + static String getValueTreeTypeName() { return "VS2022"; } + static String getTargetFolderName() { return "VisualStudio2022"; } + + Identifier getExporterIdentifier() const override { return getValueTreeTypeName(); } + + int getVisualStudioVersion() const override { return 17; } + String getSolutionComment() const override { return "# Visual Studio Version 17"; } + String getToolsVersion() const override { return "17.0"; } + String getDefaultToolset() const override { return "v143"; } + String getDefaultWindowsTargetPlatformVersion() const override { return "10.0"; } + + static MSVCProjectExporterVC2022* createForSettings (Project& projectToUse, const ValueTree& settingsToUse) + { + if (settingsToUse.hasType (getValueTreeTypeName())) + return new MSVCProjectExporterVC2022 (projectToUse, settingsToUse); + + return nullptr; + } + + void createExporterProperties (PropertyListBuilder& props) override + { + static const char* toolsetNames[] = { "v140", "v140_xp", "v141", "v141_xp", "v142", "v143" }; + const var toolsets[] = { "v140", "v140_xp", "v141", "v141_xp", "v142", "v143" }; + addToolsetProperty (props, toolsetNames, toolsets, numElementsInArray (toolsets)); + + MSVCProjectExporterBase::createExporterProperties (props); + } + + JUCE_DECLARE_NON_COPYABLE (MSVCProjectExporterVC2022) +}; diff --git a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Make.h b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Make.h index 3e3047a1..58dcdb7d 100644 --- a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Make.h +++ b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Make.h @@ -186,7 +186,7 @@ public: if (! ldflags.isEmpty()) s.add ("JUCE_LDFLAGS_" + getTargetVarName() + " := " + ldflags.joinIntoString (" ")); - auto targetName = owner.replacePreprocessorTokens (config, config.getTargetBinaryNameString()); + auto targetName = owner.replacePreprocessorTokens (config, config.getTargetBinaryNameString (type == UnityPlugIn)); if (owner.projectType.isStaticLibrary()) targetName = getStaticLibbedFilename (targetName); @@ -197,7 +197,7 @@ public: if (type == VST3PlugIn) { - s.add ("JUCE_VST3DIR := " + escapeSpaces (targetName).upToLastOccurrenceOf (".", false, false) + ".vst3"); + s.add ("JUCE_VST3DIR := " + escapeQuotesAndSpaces (targetName).upToLastOccurrenceOf (".", false, false) + ".vst3"); s.add ("VST3_PLATFORM_ARCH := $(shell $(CXX) make_helpers/arch_detection.cpp 2>&1 | tr '\\n' ' ' | sed \"s/.*JUCE_ARCH \\([a-zA-Z0-9_-]*\\).*/\\1/\")"); s.add ("JUCE_VST3SUBDIR := Contents/$(VST3_PLATFORM_ARCH)-linux"); @@ -209,7 +209,7 @@ public: targetName = "$(JUCE_UNITYDIR)/" + targetName; } - s.add ("JUCE_TARGET_" + getTargetVarName() + String (" := ") + escapeSpaces (targetName)); + s.add ("JUCE_TARGET_" + getTargetVarName() + String (" := ") + escapeQuotesAndSpaces (targetName)); if (config.isPluginBinaryCopyStepEnabled() && (type == VST3PlugIn || type == VSTPlugIn || type == UnityPlugIn)) { @@ -223,7 +223,7 @@ public: else if (type == VSTPlugIn) { s.add ("JUCE_VSTDESTDIR := " + config.getVSTBinaryLocationString()); - s.add (copyCmd + escapeSpaces (targetName) + " $(JUCE_VSTDESTDIR)"); + s.add (copyCmd + escapeQuotesAndSpaces (targetName) + " $(JUCE_VSTDESTDIR)"); } else if (type == UnityPlugIn) { @@ -256,7 +256,7 @@ public: out << "OBJECTS_" + getTargetVarName() + String (" := \\") << newLine; for (auto& f : filesToCompile) - out << " $(JUCE_OBJDIR)/" << escapeSpaces (owner.getObjectFileFor ({ f.first, owner.getTargetFolder(), build_tools::RelativePath::buildTargetFolder })) + out << " $(JUCE_OBJDIR)/" << escapeQuotesAndSpaces (owner.getObjectFileFor ({ f.first, owner.getTargetFolder(), build_tools::RelativePath::buildTargetFolder })) << " \\" << newLine; out << newLine; @@ -271,7 +271,7 @@ public: { build_tools::RelativePath relativePath (f.first, owner.getTargetFolder(), build_tools::RelativePath::buildTargetFolder); - out << "$(JUCE_OBJDIR)/" << escapeSpaces (owner.getObjectFileFor (relativePath)) << ": " << escapeSpaces (relativePath.toUnixStyle()) << newLine + out << "$(JUCE_OBJDIR)/" << escapeQuotesAndSpaces (owner.getObjectFileFor (relativePath)) << ": " << escapeQuotesAndSpaces (relativePath.toUnixStyle()) << newLine << "\t-$(V_AT)mkdir -p $(JUCE_OBJDIR)" << newLine << "\t@echo \"Compiling " << relativePath.getFileName() << "\"" << newLine << (relativePath.hasFileExtension ("c;s;S") ? "\t$(V_AT)$(CC) $(JUCE_CFLAGS) " : "\t$(V_AT)$(CXX) $(JUCE_CXXFLAGS) ") @@ -604,7 +604,7 @@ private: if (config.isLinkTimeOptimisationEnabled()) result.add ("-flto"); - for (auto& recommended : config.getRecommendedCompilerWarningFlags()) + for (auto& recommended : config.getRecommendedCompilerWarningFlags().common) result.add (recommended); auto extra = replacePreprocessorTokens (config, getExtraCompilerFlagsString()).trim(); @@ -615,18 +615,19 @@ private: return result; } - StringArray getCXXFlags() const + StringArray getCXXFlags (const BuildConfiguration& config) const { StringArray result; + for (auto& recommended : config.getRecommendedCompilerWarningFlags().cpp) + result.add (recommended); + auto cppStandard = project.getCppStandardString(); if (cppStandard == "latest") - cppStandard = "17"; - - cppStandard = "-std=" + String (shouldUseGNUExtensions() ? "gnu++" : "c++") + cppStandard; + cppStandard = project.getLatestNumberedCppStandardString(); - result.add (cppStandard); + result.add ("-std=" + String (shouldUseGNUExtensions() ? "gnu++" : "c++") + cppStandard); return result; } @@ -710,7 +711,7 @@ private: void writeHeaderPathFlags (OutputStream& out, const BuildConfiguration& config) const { for (auto& path : getHeaderSearchPaths (config)) - out << " -I" << escapeSpaces (path).replace ("~", "$(HOME)"); + out << " -I" << escapeQuotesAndSpaces (path).replace ("~", "$(HOME)"); } void writeCppFlags (OutputStream& out, const MakeBuildConfiguration& config) const @@ -728,7 +729,7 @@ private: out << " JUCE_LDFLAGS += $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR)"; for (auto path : getLibrarySearchPaths (config)) - out << " -L" << escapeSpaces (path).replace ("~", "$(HOME)"); + out << " -L" << escapeQuotesAndSpaces (path).replace ("~", "$(HOME)"); auto pkgConfigFlags = getLinkerPkgConfigFlags(); @@ -801,11 +802,11 @@ private: outputDir = binaryPath.rebased (projectFolder, getTargetFolder(), build_tools::RelativePath::buildTargetFolder).toUnixStyle(); } - out << "ifeq ($(CONFIG)," << escapeSpaces (config.getName()) << ")" << newLine - << " JUCE_BINDIR := " << escapeSpaces (buildDirName) << newLine - << " JUCE_LIBDIR := " << escapeSpaces (buildDirName) << newLine - << " JUCE_OBJDIR := " << escapeSpaces (intermediatesDirName) << newLine - << " JUCE_OUTDIR := " << escapeSpaces (outputDir) << newLine + out << "ifeq ($(CONFIG)," << escapeQuotesAndSpaces (config.getName()) << ")" << newLine + << " JUCE_BINDIR := " << escapeQuotesAndSpaces (buildDirName) << newLine + << " JUCE_LIBDIR := " << escapeQuotesAndSpaces (buildDirName) << newLine + << " JUCE_OBJDIR := " << escapeQuotesAndSpaces (intermediatesDirName) << newLine + << " JUCE_OUTDIR := " << escapeQuotesAndSpaces (outputDir) << newLine << newLine << " ifeq ($(TARGET_ARCH),)" << newLine << " TARGET_ARCH := " << getArchFlags (config) << newLine @@ -835,7 +836,7 @@ private: out << " JUCE_CXXFLAGS += $(JUCE_CFLAGS)"; - auto cxxflags = getCXXFlags().joinIntoString (" "); + auto cxxflags = getCXXFlags (config).joinIntoString (" "); if (cxxflags.isNotEmpty()) out << " " << cxxflags; @@ -943,9 +944,9 @@ private: << "endif" << newLine << newLine; - out << "ifndef CONFIG" << newLine - << " CONFIG=" << escapeSpaces (getConfiguration(0)->getName()) << newLine - << "endif" << newLine + out << "ifndef CONFIG" << newLine + << " CONFIG=" << escapeQuotesAndSpaces (getConfiguration(0)->getName()) << newLine + << "endif" << newLine << newLine; out << "JUCE_ARCH_LABEL := $(shell uname -m)" << newLine diff --git a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Xcode.h b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Xcode.h index d344f910..27c42ac5 100644 --- a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Xcode.h +++ b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExport_Xcode.h @@ -100,6 +100,7 @@ public: iosPushNotificationsValue (settings, Ids::iosPushNotifications, getUndoManager()), iosAppGroupsValue (settings, Ids::iosAppGroups, getUndoManager()), iCloudPermissionsValue (settings, Ids::iCloudPermissions, getUndoManager()), + networkingMulticastValue (settings, Ids::networkingMulticast, getUndoManager()), iosDevelopmentTeamIDValue (settings, Ids::iosDevelopmentTeamID, getUndoManager()), iosAppGroupsIDValue (settings, Ids::iosAppGroupsId, getUndoManager()), keepCustomXcodeSchemesValue (settings, Ids::keepCustomXcodeSchemes, getUndoManager()), @@ -193,6 +194,7 @@ public: bool isPushNotificationsEnabled() const { return iosPushNotificationsValue.get(); } bool isAppGroupsEnabled() const { return iosAppGroupsValue.get(); } bool isiCloudPermissionsEnabled() const { return iCloudPermissionsValue.get(); } + bool isNetworkingMulticastEnabled() const { return networkingMulticastValue.get(); } bool isFileSharingEnabled() const { return uiFileSharingEnabledValue.get(); } bool isDocumentBrowserEnabled() const { return uiSupportsDocumentBrowserValue.get(); } bool isStatusBarHidden() const { return uiStatusBarHiddenValue.get(); } @@ -572,8 +574,13 @@ public: props.add (new ChoicePropertyComponent (iCloudPermissionsValue, "iCloud Permissions"), "Enable this to grant your app the capability to use native file load/save browser windows on iOS."); + } + props.add (new ChoicePropertyComponent (networkingMulticastValue, "Networking Multicast Capability"), + "Your app must have this entitlement to send or receive IP multicast or broadcast. " + "You will also need permission from Apple to use this entitlement."); + props.add (new ChoicePropertyComponent (iosPushNotificationsValue, "Push Notifications Capability"), "Enable this to grant your app the capability to receive push notifications."); @@ -653,7 +660,7 @@ public: bool launchProject() override { #if JUCE_MAC - return getProjectBundle().startAsProcess(); + return getIDEProjectFile().startAsProcess(); #else return false; #endif @@ -668,6 +675,11 @@ public: #endif } + File getIDEProjectFile() const override + { + return getProjectBundle(); + } + //============================================================================== void create (const OwnedArray&) const override { @@ -1345,6 +1357,7 @@ public: || owner.isAppGroupsEnabled() || owner.isAppSandboxEnabled() || owner.isHardenedRuntimeEnabled() + || owner.isNetworkingMulticastEnabled() || (owner.isiOS() && owner.isiCloudPermissionsEnabled())) return true; @@ -1436,16 +1449,24 @@ public: if (! owner.isiOS()) { - auto validArchs = owner.getValidArchs(); + const auto validArchs = owner.getValidArchs(); if (! validArchs.isEmpty()) { - const auto joined = std::accumulate (validArchs.begin(), - validArchs.end(), - String(), - [] (String str, const var& v) { return str + v.toString() + " "; }); + const auto join = [] (const Array& range) + { + return std::accumulate (range.begin(), + range.end(), + String(), + [] (String str, const var& v) { return str + v.toString() + " "; }).trim().quoted(); + }; + + s.set ("VALID_ARCHS", join (validArchs)); - s.set ("VALID_ARCHS", joined.trim().quoted()); + auto excludedArchs = owner.getAllArchs(); + excludedArchs.removeIf ([&validArchs] (const auto& a) { return validArchs.contains (a); }); + + s.set ("EXCLUDED_ARCHS", join (excludedArchs)); } } @@ -1532,12 +1553,25 @@ public: if (config.isFastMathEnabled()) s.set ("GCC_FAST_MATH", "YES"); - auto flags = (config.getRecommendedCompilerWarningFlags().joinIntoString (" ") - + " " + owner.getExtraCompilerFlagsString()).trim(); - flags = owner.replacePreprocessorTokens (config, flags); + auto recommendedWarnings = config.getRecommendedCompilerWarningFlags(); + recommendedWarnings.cpp.addArray (recommendedWarnings.common); + + struct XcodeWarningFlags + { + const StringArray& flags; + const String variable; + }; - if (flags.isNotEmpty()) - s.set ("OTHER_CPLUSPLUSFLAGS", flags.quoted()); + for (const auto& xcodeFlags : { XcodeWarningFlags { recommendedWarnings.common, "OTHER_CFLAGS" }, + XcodeWarningFlags { recommendedWarnings.cpp, "OTHER_CPLUSPLUSFLAGS" } }) + { + auto flags = (xcodeFlags.flags.joinIntoString (" ") + + " " + owner.getExtraCompilerFlagsString()).trim(); + flags = owner.replacePreprocessorTokens (config, flags); + + if (flags.isNotEmpty()) + s.set (xcodeFlags.variable, flags.quoted()); + } auto installPath = getInstallPathForConfiguration (config); @@ -1632,7 +1666,7 @@ public: auto cppStandard = owner.project.getCppStandardString(); if (cppStandard == "latest") - cppStandard = "17"; + cppStandard = owner.project.getLatestNumberedCppStandardString(); s.set ("CLANG_CXX_LANGUAGE_STANDARD", (String (owner.shouldUseGNUExtensions() ? "gnu++" : "c++") + cppStandard).quoted()); @@ -1692,7 +1726,7 @@ public: auto def = defines.getAllKeys()[i]; auto value = defines.getAllValues()[i]; if (value.isNotEmpty()) - def << "=" << value.replace ("\"", "\\\\\\\"").replace (" ", "\\\\ "); + def << "=" << value.replace ("\"", "\\\\\\\"").replace (" ", "\\\\ ").replace ("\'", "\\\\'"); defsList.add ("\"" + def + "\""); } @@ -2369,16 +2403,18 @@ private: { mo.setNewLineString (getNewLineString()); - mo << "" << newLine + mo << "" << newLine << "" << newLine - << "" << newLine - << "" << newLine - << "\t" << "BuildSystemType" << newLine - << "\t" << "Original" << newLine - << "\t" << "DisableBuildSystemDeprecationWarning" << newLine - << "\t" << "" << newLine - << "" << newLine - << "" << newLine; + << "" << newLine + << "" << newLine + << "\t" << "BuildSystemType" << newLine + << "\t" << "Original" << newLine + << "\t" << "DisableBuildSystemDeprecationWarning" << newLine + << "\t" << "" << newLine + << "\t" << "DisableBuildSystemDeprecationDiagnostic" << newLine + << "\t" << "" << newLine + << "" << newLine + << "" << newLine; }); } else @@ -2445,7 +2481,8 @@ private: if (isUsingDefaultSigningIdentity (config)) return iOS ? "iPhone Developer" : "Mac Developer"; - return config.getCodeSignIdentityString(); + const auto identity = config.getCodeSignIdentityString(); + return identity.isNotEmpty() ? identity : "-"; } StringPairArray getProjectSettings (const XcodeBuildConfiguration& config) const @@ -3048,6 +3085,7 @@ private: options.isHardenedRuntimeEnabled = isHardenedRuntimeEnabled(); options.isAppSandboxEnabled = isAppSandboxEnabled(); options.isAppSandboxInhertianceEnabled = isAppSandboxInhertianceEnabled(); + options.isNetworkingMulticastEnabled = isNetworkingMulticastEnabled(); options.appGroupIdString = getAppGroupIdString(); options.hardenedRuntimeOptions = getHardenedRuntimeOptions(); options.appSandboxOptions = getAppSandboxOptions(); @@ -3337,7 +3375,7 @@ private: { std::map attributes; - attributes["LastUpgradeCheck"] = "1300"; + attributes["LastUpgradeCheck"] = "1310"; attributes["ORGANIZATIONNAME"] = getProject().getCompanyNameString().quoted(); if (projectType.isGUIApplication() || projectType.isAudioPlugin()) @@ -3539,7 +3577,7 @@ private: sendAppleEventsPermissionNeededValue, sendAppleEventsPermissionTextValue, uiFileSharingEnabledValue, uiSupportsDocumentBrowserValue, uiStatusBarHiddenValue, uiRequiresFullScreenValue, documentExtensionsValue, iosInAppPurchasesValue, iosContentSharingValue, iosBackgroundAudioValue, iosBackgroundBleValue, iosPushNotificationsValue, iosAppGroupsValue, iCloudPermissionsValue, - iosDevelopmentTeamIDValue, iosAppGroupsIDValue, keepCustomXcodeSchemesValue, useHeaderMapValue, customLaunchStoryboardValue, + networkingMulticastValue, iosDevelopmentTeamIDValue, iosAppGroupsIDValue, keepCustomXcodeSchemesValue, useHeaderMapValue, customLaunchStoryboardValue, exporterBundleIdentifierValue, suppressPlistResourceUsageValue, useLegacyBuildSystemValue, buildNumber; JUCE_DECLARE_NON_COPYABLE (XcodeProjectExporter) diff --git a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExporter.cpp b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExporter.cpp index 5463debb..e1ec4dc0 100644 --- a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExporter.cpp +++ b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExporter.cpp @@ -38,20 +38,28 @@ #include "../Utility/UI/PropertyComponents/jucer_FilePathPropertyComponent.h" //============================================================================== -std::vector ProjectExporter::getExporterTypeInfos() +static auto createIcon (const void* iconData, size_t iconDataSize) { - auto createIcon = [] (const void* iconData, size_t iconDataSize) - { - Image image (Image::ARGB, 200, 200, true); - Graphics g (image); + Image image (Image::ARGB, 200, 200, true); + Graphics g (image); - std::unique_ptr svgDrawable (Drawable::createFromImageData (iconData, iconDataSize)); + std::unique_ptr svgDrawable (Drawable::createFromImageData (iconData, iconDataSize)); + svgDrawable->drawWithin (g, image.getBounds().toFloat(), RectanglePlacement::fillDestination, 1.0f); - svgDrawable->drawWithin (g, image.getBounds().toFloat(), RectanglePlacement::fillDestination, 1.0f); + return image; +} - return image; - }; +template +static ProjectExporter::ExporterTypeInfo createExporterTypeInfo (const void* iconData, size_t iconDataSize) +{ + return { Exporter::getValueTreeTypeName(), + Exporter::getDisplayName(), + Exporter::getTargetFolderName(), + createIcon (iconData, iconDataSize) }; +} +std::vector ProjectExporter::getExporterTypeInfos() +{ using namespace BinaryData; static std::vector infos @@ -65,28 +73,14 @@ std::vector ProjectExporter::getExporterTypeI XcodeProjectExporter::getTargetFolderNameiOS(), createIcon (export_xcode_svg, (size_t) export_xcode_svgSize) }, - { MSVCProjectExporterVC2019::getValueTreeTypeName(), - MSVCProjectExporterVC2019::getDisplayName(), - MSVCProjectExporterVC2019::getTargetFolderName(), - createIcon (export_visualStudio_svg, export_visualStudio_svgSize) }, - { MSVCProjectExporterVC2017::getValueTreeTypeName(), - MSVCProjectExporterVC2017::getDisplayName(), - MSVCProjectExporterVC2017::getTargetFolderName(), - createIcon (export_visualStudio_svg, export_visualStudio_svgSize) }, - { MSVCProjectExporterVC2015::getValueTreeTypeName(), - MSVCProjectExporterVC2015::getDisplayName(), - MSVCProjectExporterVC2015::getTargetFolderName(), - createIcon (export_visualStudio_svg, export_visualStudio_svgSize) }, - - { MakefileProjectExporter::getValueTreeTypeName(), - MakefileProjectExporter::getDisplayName(), - MakefileProjectExporter::getTargetFolderName(), - createIcon (export_linux_svg, export_linux_svgSize) }, - - { AndroidProjectExporter::getValueTreeTypeName(), - AndroidProjectExporter::getDisplayName(), - AndroidProjectExporter::getTargetFolderName(), - createIcon (export_android_svg, export_android_svgSize) }, + createExporterTypeInfo (export_visualStudio_svg, export_visualStudio_svgSize), + createExporterTypeInfo (export_visualStudio_svg, export_visualStudio_svgSize), + createExporterTypeInfo (export_visualStudio_svg, export_visualStudio_svgSize), + createExporterTypeInfo (export_visualStudio_svg, export_visualStudio_svgSize), + + createExporterTypeInfo (export_linux_svg, export_linux_svgSize), + + createExporterTypeInfo (export_android_svg, export_android_svgSize), { CodeBlocksProjectExporter::getValueTreeTypeNameWindows(), CodeBlocksProjectExporter::getDisplayNameWindows(), @@ -97,10 +91,7 @@ std::vector ProjectExporter::getExporterTypeI CodeBlocksProjectExporter::getTargetFolderNameLinux(), createIcon (export_codeBlocks_svg, export_codeBlocks_svgSize) }, - { CLionProjectExporter::getValueTreeTypeName(), - CLionProjectExporter::getDisplayName(), - CLionProjectExporter::getTargetFolderName(), - createIcon (export_clion_svg, export_clion_svgSize) } + createExporterTypeInfo (export_clion_svg, export_clion_svgSize) }; return infos; @@ -110,13 +101,8 @@ ProjectExporter::ExporterTypeInfo ProjectExporter::getTypeInfoForExporter (const { auto typeInfos = getExporterTypeInfos(); - auto predicate = [exporterIdentifier] (const ProjectExporter::ExporterTypeInfo& info) - { - return info.identifier == exporterIdentifier; - }; - auto iter = std::find_if (typeInfos.begin(), typeInfos.end(), - std::move (predicate)); + [exporterIdentifier] (const ProjectExporter::ExporterTypeInfo& info) { return info.identifier == exporterIdentifier; }); if (iter != typeInfos.end()) return *iter; @@ -130,7 +116,7 @@ ProjectExporter::ExporterTypeInfo ProjectExporter::getCurrentPlatformExporterTyp #if JUCE_MAC return ProjectExporter::getTypeInfoForExporter (XcodeProjectExporter::getValueTreeTypeNameMac()); #elif JUCE_WINDOWS - return ProjectExporter::getTypeInfoForExporter (MSVCProjectExporterVC2019::getValueTreeTypeName()); + return ProjectExporter::getTypeInfoForExporter (MSVCProjectExporterVC2022::getValueTreeTypeName()); #elif JUCE_LINUX || JUCE_BSD return ProjectExporter::getTypeInfoForExporter (MakefileProjectExporter::getValueTreeTypeName()); #else @@ -149,21 +135,35 @@ std::unique_ptr ProjectExporter::createNewExporter (Project& pr return exporter; } -std::unique_ptr ProjectExporter::createExporterFromSettings (Project& project, const ValueTree& settings) +template struct Tag {}; + +static std::unique_ptr tryCreatingExporter (Project&, const ValueTree&) { return nullptr; } + +template +static std::unique_ptr tryCreatingExporter (Project& project, + const ValueTree& settings, + Tag, + Tag... exporters) { - std::unique_ptr exporter; + if (auto* exporter = Exporter::createForSettings (project, settings)) + return rawToUniquePtr (exporter); - exporter.reset (XcodeProjectExporter::createForSettings (project, settings)); - if (exporter == nullptr) exporter.reset (MSVCProjectExporterVC2019::createForSettings (project, settings)); - if (exporter == nullptr) exporter.reset (MSVCProjectExporterVC2017::createForSettings (project, settings)); - if (exporter == nullptr) exporter.reset (MSVCProjectExporterVC2015::createForSettings (project, settings)); - if (exporter == nullptr) exporter.reset (MakefileProjectExporter::createForSettings (project, settings)); - if (exporter == nullptr) exporter.reset (AndroidProjectExporter::createForSettings (project, settings)); - if (exporter == nullptr) exporter.reset (CodeBlocksProjectExporter::createForSettings (project, settings)); - if (exporter == nullptr) exporter.reset (CLionProjectExporter::createForSettings (project, settings)); + return tryCreatingExporter (project, settings, exporters...); +} - jassert (exporter != nullptr); - return exporter; +std::unique_ptr ProjectExporter::createExporterFromSettings (Project& project, const ValueTree& settings) +{ + return tryCreatingExporter (project, + settings, + Tag{}, + Tag{}, + Tag{}, + Tag{}, + Tag{}, + Tag{}, + Tag{}, + Tag{}, + Tag{}); } bool ProjectExporter::canProjectBeLaunched (Project* project) @@ -176,6 +176,7 @@ bool ProjectExporter::canProjectBeLaunched (Project* project) XcodeProjectExporter::getValueTreeTypeNameMac(), XcodeProjectExporter::getValueTreeTypeNameiOS(), #elif JUCE_WINDOWS + MSVCProjectExporterVC2022::getValueTreeTypeName(), MSVCProjectExporterVC2019::getValueTreeTypeName(), MSVCProjectExporterVC2017::getValueTreeTypeName(), MSVCProjectExporterVC2015::getValueTreeTypeName(), @@ -225,10 +226,7 @@ String ProjectExporter::getUniqueName() const return defaultBuildsRootFolder + info.targetFolder == targetLocationString; }; - auto iter = std::find_if (typeInfos.begin(), typeInfos.end(), - std::move (predicate)); - - if (iter == typeInfos.end()) + if (std::none_of (typeInfos.begin(), typeInfos.end(), std::move (predicate))) return name + " - " + targetLocationString; return name; @@ -861,22 +859,23 @@ ProjectExporter::BuildConfiguration::BuildConfiguration (Project& p, const Value usePrecompiledHeaderFileValue (config, Ids::usePrecompiledHeaderFile, getUndoManager(), false), precompiledHeaderFileValue (config, Ids::precompiledHeaderFile, getUndoManager()) { - recommendedCompilerWarningFlags["LLVM"] = { "-Wall", "-Wshadow-all", "-Wshorten-64-to-32", "-Wstrict-aliasing", "-Wuninitialized", "-Wunused-parameter", - "-Wconversion", "-Wsign-compare", "-Wint-conversion", "-Wconditional-uninitialized", "-Woverloaded-virtual", - "-Wreorder", "-Wconstant-conversion", "-Wsign-conversion", "-Wunused-private-field", "-Wbool-conversion", - "-Wextra-semi", "-Wunreachable-code", "-Wzero-as-null-pointer-constant", "-Wcast-align", - "-Winconsistent-missing-destructor-override", "-Wshift-sign-overflow", "-Wnullable-to-nonnull-conversion", - "-Wno-missing-field-initializers", "-Wno-ignored-qualifiers", - "-Wswitch-enum" - }; - recommendedCompilerWarningFlags["GCC"] = { "-Wall", "-Wextra", "-Wstrict-aliasing", "-Wuninitialized", "-Wunused-parameter", "-Wsign-compare", - "-Woverloaded-virtual", "-Wreorder", "-Wsign-conversion", "-Wunreachable-code", - "-Wzero-as-null-pointer-constant", "-Wcast-align", "-Wno-implicit-fallthrough", - "-Wno-maybe-uninitialized", "-Wno-missing-field-initializers", "-Wno-ignored-qualifiers", - "-Wswitch-enum", "-Wredundant-decls" - }; - recommendedCompilerWarningFlags["GCC-7"] = recommendedCompilerWarningFlags["GCC"]; - recommendedCompilerWarningFlags["GCC-7"].add ("-Wno-strict-overflow"); + auto& llvmFlags = recommendedCompilerWarningFlags[CompilerNames::llvm] = BuildConfiguration::CompilerWarningFlags::getRecommendedForGCCAndLLVM(); + llvmFlags.common.addArray ({ + "-Wshorten-64-to-32", "-Wconversion", "-Wint-conversion", + "-Wconditional-uninitialized", "-Wconstant-conversion", "-Wbool-conversion", + "-Wextra-semi", "-Wshift-sign-overflow", "-Wno-missing-field-initializers", + "-Wshadow-all", "-Wnullable-to-nonnull-conversion" + }); + llvmFlags.cpp.addArray ({ + "-Wunused-private-field", "-Winconsistent-missing-destructor-override" + }); + + auto& gccFlags = recommendedCompilerWarningFlags[CompilerNames::gcc] = BuildConfiguration::CompilerWarningFlags::getRecommendedForGCCAndLLVM(); + gccFlags.common.addArray ({ + "-Wextra", "-Wsign-compare", "-Wno-implicit-fallthrough", "-Wno-maybe-uninitialized", + "-Wno-missing-field-initializers", "-Wredundant-decls", "-Wno-strict-overflow", + "-Wshadow" + }); } ProjectExporter::BuildConfiguration::~BuildConfiguration() @@ -911,8 +910,8 @@ void ProjectExporter::BuildConfiguration::addGCCOptimisationProperty (PropertyLi void ProjectExporter::BuildConfiguration::addRecommendedLinuxCompilerWarningsProperty (PropertyListBuilder& props) { props.add (new ChoicePropertyComponent (recommendedWarningsValue, "Add Recommended Compiler Warning Flags", - { "GCC", "GCC 7 and below", "LLVM", "Disabled" }, - { "GCC", "GCC-7", "LLVM", "" }), + { CompilerNames::gcc, CompilerNames::llvm, "Disabled" }, + { CompilerNames::gcc, CompilerNames::llvm, "" }), "Enable this to add a set of recommended compiler warning flags."); recommendedWarningsValue.setDefault (""); } @@ -920,15 +919,19 @@ void ProjectExporter::BuildConfiguration::addRecommendedLinuxCompilerWarningsPro void ProjectExporter::BuildConfiguration::addRecommendedLLVMCompilerWarningsProperty (PropertyListBuilder& props) { props.add (new ChoicePropertyComponent (recommendedWarningsValue, "Add Recommended Compiler Warning Flags", - { "Enabled", "Disabled" }, - { "LLVM", "" }), + { "Enabled", "Disabled" }, + { CompilerNames::llvm, "" }), "Enable this to add a set of recommended compiler warning flags."); recommendedWarningsValue.setDefault (""); } -StringArray ProjectExporter::BuildConfiguration::getRecommendedCompilerWarningFlags() const +ProjectExporter::BuildConfiguration::CompilerWarningFlags ProjectExporter::BuildConfiguration::getRecommendedCompilerWarningFlags() const { auto label = recommendedWarningsValue.get().toString(); + + if (label == "GCC-7") + label = CompilerNames::gcc; + auto it = recommendedCompilerWarningFlags.find (label); if (it != recommendedCompilerWarningFlags.end()) diff --git a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExporter.h b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExporter.h index 508ed7cd..be0ad1e6 100644 --- a/extras/Projucer/Source/ProjectSaving/jucer_ProjectExporter.h +++ b/extras/Projucer/Source/ProjectSaving/jucer_ProjectExporter.h @@ -89,6 +89,8 @@ public: virtual bool isOSX() const = 0; virtual bool isiOS() const = 0; + virtual File getIDEProjectFile() const { return {}; } + virtual String getNewLineString() const = 0; virtual String getDescription() { return {}; } @@ -144,7 +146,8 @@ public: String getExtraCompilerFlagsString() const { return extraCompilerFlagsValue.get().toString().replaceCharacters ("\r\n", " "); } String getExtraLinkerFlagsString() const { return extraLinkerFlagsValue.get().toString().replaceCharacters ("\r\n", " "); } - String getExternalLibrariesString() const { return getSearchPathsFromString (externalLibrariesValue.get().toString()).joinIntoString (";"); } + StringArray getExternalLibrariesStringArray() const { return getSearchPathsFromString (externalLibrariesValue.get().toString()); } + String getExternalLibrariesString() const { return getExternalLibrariesStringArray().joinIntoString (";"); } bool shouldUseGNUExtensions() const { return gnuExtensionsValue.get(); } @@ -268,7 +271,32 @@ public: void createPropertyEditors (PropertyListBuilder&); void addRecommendedLinuxCompilerWarningsProperty (PropertyListBuilder&); void addRecommendedLLVMCompilerWarningsProperty (PropertyListBuilder&); - StringArray getRecommendedCompilerWarningFlags() const; + + struct CompilerNames + { + static constexpr const char* gcc = "GCC"; + static constexpr const char* llvm = "LLVM"; + }; + + struct CompilerWarningFlags + { + static CompilerWarningFlags getRecommendedForGCCAndLLVM() + { + CompilerWarningFlags result; + result.common = { "-Wall", "-Wstrict-aliasing", "-Wuninitialized", "-Wunused-parameter", + "-Wswitch-enum", "-Wsign-conversion", "-Wsign-compare", + "-Wunreachable-code", "-Wcast-align", "-Wno-ignored-qualifiers" }; + result.cpp = { "-Woverloaded-virtual", "-Wreorder", "-Wzero-as-null-pointer-constant" }; + + return result; + } + + StringArray common; + StringArray cpp; + }; + + CompilerWarningFlags getRecommendedCompilerWarningFlags() const; + void addGCCOptimisationProperty (PropertyListBuilder&); void removeFromExporter(); @@ -283,7 +311,7 @@ public: usePrecompiledHeaderFileValue, precompiledHeaderFileValue; private: - std::map recommendedCompilerWarningFlags; + std::map recommendedCompilerWarningFlags; JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (BuildConfiguration) }; diff --git a/extras/Projucer/Source/ProjectSaving/jucer_ProjectSaver.cpp b/extras/Projucer/Source/ProjectSaving/jucer_ProjectSaver.cpp index d18b6494..fcfa71b0 100644 --- a/extras/Projucer/Source/ProjectSaving/jucer_ProjectSaver.cpp +++ b/extras/Projucer/Source/ProjectSaving/jucer_ProjectSaver.cpp @@ -64,8 +64,7 @@ void ProjectSaver::saveProjectAsync (ProjectExporter* exporterToSave, std::funct ref->saveThread->waitForThreadToExit (-1); ref->saveThread = nullptr; - if (onCompletion != nullptr) - onCompletion (result); + NullCheckedInvocation::invoke (onCompletion, result); }); saveThread->launchThread(); } @@ -292,6 +291,20 @@ Result ProjectSaver::saveProject (ProjectExporter* specifiedExporterToSave) if (errors.isEmpty()) { + if (project.isAudioPluginProject()) + { + const auto isInvalidCode = [] (String code) + { + return code.length() != 4 || code.toStdString().size() != 4; + }; + + if (isInvalidCode (project.getPluginManufacturerCodeString())) + return Result::fail ("The plugin manufacturer code must contain exactly four characters."); + + if (isInvalidCode (project.getPluginCodeString())) + return Result::fail ("The plugin code must contain exactly four characters."); + } + if (project.isAudioPluginProject()) { if (project.shouldBuildUnityPlugin()) diff --git a/extras/Projucer/Source/Utility/Helpers/jucer_MiscUtilities.cpp b/extras/Projucer/Source/Utility/Helpers/jucer_MiscUtilities.cpp index bdb59675..f2051c62 100644 --- a/extras/Projucer/Source/Utility/Helpers/jucer_MiscUtilities.cpp +++ b/extras/Projucer/Source/Utility/Helpers/jucer_MiscUtilities.cpp @@ -99,6 +99,11 @@ String escapeSpaces (const String& s) return s.replace (" ", "\\ "); } +String escapeQuotesAndSpaces (const String& s) +{ + return escapeSpaces (s).replace ("'", "\\'").replace ("\"", "\\\""); +} + String addQuotesIfContainsSpaces (const String& text) { return (text.containsChar (' ') && ! text.isQuotedString()) ? text.quoted() : text; diff --git a/extras/Projucer/Source/Utility/Helpers/jucer_MiscUtilities.h b/extras/Projucer/Source/Utility/Helpers/jucer_MiscUtilities.h index 81e7ee0d..40cb7fe2 100644 --- a/extras/Projucer/Source/Utility/Helpers/jucer_MiscUtilities.h +++ b/extras/Projucer/Source/Utility/Helpers/jucer_MiscUtilities.h @@ -40,6 +40,7 @@ String createAlphaNumericUID(); String createGUID (const String& seed); // Turns a seed into a windows GUID String escapeSpaces (const String& text); // replaces spaces with blackslash-space +String escapeQuotesAndSpaces (const String& text); String addQuotesIfContainsSpaces (const String& text); StringPairArray parsePreprocessorDefs (const String& defs); diff --git a/extras/Projucer/Source/Utility/Helpers/jucer_PresetIDs.h b/extras/Projucer/Source/Utility/Helpers/jucer_PresetIDs.h index f31e9051..018706b0 100644 --- a/extras/Projucer/Source/Utility/Helpers/jucer_PresetIDs.h +++ b/extras/Projucer/Source/Utility/Helpers/jucer_PresetIDs.h @@ -152,6 +152,7 @@ namespace Ids DECLARE_ID (debugInformationFormat); DECLARE_ID (IPPLibrary); DECLARE_ID (IPP1ALibrary); + DECLARE_ID (MKL1ALibrary); DECLARE_ID (msvcModuleDefinitionFile); DECLARE_ID (bigIcon); DECLARE_ID (smallIcon); @@ -259,6 +260,7 @@ namespace Ids DECLARE_ID (iosPushNotifications); DECLARE_ID (iosAppGroups); DECLARE_ID (iCloudPermissions); + DECLARE_ID (networkingMulticast); DECLARE_ID (iosDevelopmentTeamID); DECLARE_ID (iosAppGroupsId); DECLARE_ID (iosBluetoothPermissionNeeded); diff --git a/extras/Projucer/Source/Utility/UI/PropertyComponents/jucer_PropertyComponentsWithEnablement.h b/extras/Projucer/Source/Utility/UI/PropertyComponents/jucer_PropertyComponentsWithEnablement.h index 664b2edd..0dbe0ca2 100644 --- a/extras/Projucer/Source/Utility/UI/PropertyComponents/jucer_PropertyComponentsWithEnablement.h +++ b/extras/Projucer/Source/Utility/UI/PropertyComponents/jucer_PropertyComponentsWithEnablement.h @@ -35,8 +35,8 @@ public: ValueWithDefault valueToListenTo, const String& propertyName, int maxNumChars, - bool isMultiLine) - : TextPropertyComponent (valueToControl, propertyName, maxNumChars, isMultiLine), + bool multiLine) + : TextPropertyComponent (valueToControl, propertyName, maxNumChars, multiLine), valueWithDefault (valueToListenTo), value (valueWithDefault.getPropertyAsValue()) { diff --git a/extras/UnitTestRunner/Builds/LinuxMakefile/Makefile b/extras/UnitTestRunner/Builds/LinuxMakefile/Makefile index dc90bc8b..3b278a12 100644 --- a/extras/UnitTestRunner/Builds/LinuxMakefile/Makefile +++ b/extras/UnitTestRunner/Builds/LinuxMakefile/Makefile @@ -35,7 +35,7 @@ ifeq ($(CONFIG),Debug) TARGET_ARCH := endif - JUCE_CPPFLAGS := $(DEPFLAGS) "-DLINUX=1" "-DDEBUG=1" "-D_DEBUG=1" "-DJUCE_DISPLAY_SPLASH_SCREEN=0" "-DJUCE_USE_DARK_SPLASH_SCREEN=1" "-DJUCE_PROJUCER_VERSION=0x60100" "-DJUCE_MODULE_AVAILABLE_juce_analytics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_MODULE_AVAILABLE_juce_cryptography=1" "-DJUCE_MODULE_AVAILABLE_juce_data_structures=1" "-DJUCE_MODULE_AVAILABLE_juce_dsp=1" "-DJUCE_MODULE_AVAILABLE_juce_events=1" "-DJUCE_MODULE_AVAILABLE_juce_graphics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1" "-DJUCE_MODULE_AVAILABLE_juce_opengl=1" "-DJUCE_MODULE_AVAILABLE_juce_osc=1" "-DJUCE_MODULE_AVAILABLE_juce_product_unlocking=1" "-DJUCE_MODULE_AVAILABLE_juce_video=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_STRICT_REFCOUNTEDPOINTER=1" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCE_UNIT_TESTS=1" "-DJUCER_LINUX_MAKE_6D53C8B4=1" "-DJUCE_APP_VERSION=1.0.0" "-DJUCE_APP_VERSION_HEX=0x10000" $(shell pkg-config --cflags alsa freetype2 libcurl webkit2gtk-4.0 gtk+-x11-3.0) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS) + JUCE_CPPFLAGS := $(DEPFLAGS) "-DLINUX=1" "-DDEBUG=1" "-D_DEBUG=1" "-DJUCE_DISPLAY_SPLASH_SCREEN=0" "-DJUCE_USE_DARK_SPLASH_SCREEN=1" "-DJUCE_PROJUCER_VERSION=0x60103" "-DJUCE_MODULE_AVAILABLE_juce_analytics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_MODULE_AVAILABLE_juce_cryptography=1" "-DJUCE_MODULE_AVAILABLE_juce_data_structures=1" "-DJUCE_MODULE_AVAILABLE_juce_dsp=1" "-DJUCE_MODULE_AVAILABLE_juce_events=1" "-DJUCE_MODULE_AVAILABLE_juce_graphics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1" "-DJUCE_MODULE_AVAILABLE_juce_opengl=1" "-DJUCE_MODULE_AVAILABLE_juce_osc=1" "-DJUCE_MODULE_AVAILABLE_juce_product_unlocking=1" "-DJUCE_MODULE_AVAILABLE_juce_video=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_STRICT_REFCOUNTEDPOINTER=1" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCE_UNIT_TESTS=1" "-DJUCER_LINUX_MAKE_6D53C8B4=1" "-DJUCE_APP_VERSION=1.0.0" "-DJUCE_APP_VERSION_HEX=0x10000" $(shell pkg-config --cflags alsa freetype2 libcurl webkit2gtk-4.0 gtk+-x11-3.0) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS) JUCE_CPPFLAGS_CONSOLEAPP := "-DJucePlugin_Build_VST=0" "-DJucePlugin_Build_VST3=0" "-DJucePlugin_Build_AU=0" "-DJucePlugin_Build_AUv3=0" "-DJucePlugin_Build_RTAS=0" "-DJucePlugin_Build_AAX=0" "-DJucePlugin_Build_Standalone=0" "-DJucePlugin_Build_Unity=0" JUCE_TARGET_CONSOLEAPP := UnitTestRunner @@ -56,7 +56,7 @@ ifeq ($(CONFIG),Release) TARGET_ARCH := endif - JUCE_CPPFLAGS := $(DEPFLAGS) "-DLINUX=1" "-DNDEBUG=1" "-DJUCE_DISPLAY_SPLASH_SCREEN=0" "-DJUCE_USE_DARK_SPLASH_SCREEN=1" "-DJUCE_PROJUCER_VERSION=0x60100" "-DJUCE_MODULE_AVAILABLE_juce_analytics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_MODULE_AVAILABLE_juce_cryptography=1" "-DJUCE_MODULE_AVAILABLE_juce_data_structures=1" "-DJUCE_MODULE_AVAILABLE_juce_dsp=1" "-DJUCE_MODULE_AVAILABLE_juce_events=1" "-DJUCE_MODULE_AVAILABLE_juce_graphics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1" "-DJUCE_MODULE_AVAILABLE_juce_opengl=1" "-DJUCE_MODULE_AVAILABLE_juce_osc=1" "-DJUCE_MODULE_AVAILABLE_juce_product_unlocking=1" "-DJUCE_MODULE_AVAILABLE_juce_video=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_STRICT_REFCOUNTEDPOINTER=1" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCE_UNIT_TESTS=1" "-DJUCER_LINUX_MAKE_6D53C8B4=1" "-DJUCE_APP_VERSION=1.0.0" "-DJUCE_APP_VERSION_HEX=0x10000" $(shell pkg-config --cflags alsa freetype2 libcurl webkit2gtk-4.0 gtk+-x11-3.0) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS) + JUCE_CPPFLAGS := $(DEPFLAGS) "-DLINUX=1" "-DNDEBUG=1" "-DJUCE_DISPLAY_SPLASH_SCREEN=0" "-DJUCE_USE_DARK_SPLASH_SCREEN=1" "-DJUCE_PROJUCER_VERSION=0x60103" "-DJUCE_MODULE_AVAILABLE_juce_analytics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_formats=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_processors=1" "-DJUCE_MODULE_AVAILABLE_juce_audio_utils=1" "-DJUCE_MODULE_AVAILABLE_juce_core=1" "-DJUCE_MODULE_AVAILABLE_juce_cryptography=1" "-DJUCE_MODULE_AVAILABLE_juce_data_structures=1" "-DJUCE_MODULE_AVAILABLE_juce_dsp=1" "-DJUCE_MODULE_AVAILABLE_juce_events=1" "-DJUCE_MODULE_AVAILABLE_juce_graphics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_basics=1" "-DJUCE_MODULE_AVAILABLE_juce_gui_extra=1" "-DJUCE_MODULE_AVAILABLE_juce_opengl=1" "-DJUCE_MODULE_AVAILABLE_juce_osc=1" "-DJUCE_MODULE_AVAILABLE_juce_product_unlocking=1" "-DJUCE_MODULE_AVAILABLE_juce_video=1" "-DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1" "-DJUCE_STRICT_REFCOUNTEDPOINTER=1" "-DJUCE_STANDALONE_APPLICATION=1" "-DJUCE_UNIT_TESTS=1" "-DJUCER_LINUX_MAKE_6D53C8B4=1" "-DJUCE_APP_VERSION=1.0.0" "-DJUCE_APP_VERSION_HEX=0x10000" $(shell pkg-config --cflags alsa freetype2 libcurl webkit2gtk-4.0 gtk+-x11-3.0) -pthread -I../../JuceLibraryCode -I../../../../modules $(CPPFLAGS) JUCE_CPPFLAGS_CONSOLEAPP := "-DJucePlugin_Build_VST=0" "-DJucePlugin_Build_VST3=0" "-DJucePlugin_Build_AU=0" "-DJucePlugin_Build_AUv3=0" "-DJucePlugin_Build_RTAS=0" "-DJucePlugin_Build_AAX=0" "-DJucePlugin_Build_Standalone=0" "-DJucePlugin_Build_Unity=0" JUCE_TARGET_CONSOLEAPP := UnitTestRunner diff --git a/extras/UnitTestRunner/Builds/MacOSX/UnitTestRunner.xcodeproj/project.pbxproj b/extras/UnitTestRunner/Builds/MacOSX/UnitTestRunner.xcodeproj/project.pbxproj index 1f1c8da9..beb195aa 100644 --- a/extras/UnitTestRunner/Builds/MacOSX/UnitTestRunner.xcodeproj/project.pbxproj +++ b/extras/UnitTestRunner/Builds/MacOSX/UnitTestRunner.xcodeproj/project.pbxproj @@ -277,7 +277,7 @@ E1E93F2B4B2D17E011395520 = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1310; ORGANIZATIONNAME = "Raw Material Software Limited"; }; buildConfigurationList = 18FC121B1014F7999CD135D3; @@ -359,7 +359,7 @@ CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = ""; + CODE_SIGN_IDENTITY = "-"; DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = NO; @@ -392,10 +392,12 @@ CLANG_CXX_LANGUAGE_STANDARD = "c++14"; CLANG_CXX_LIBRARY = "libc++"; CLANG_LINK_OBJC_RUNTIME = NO; - CODE_SIGN_IDENTITY = ""; + CODE_SIGN_IDENTITY = "-"; + CODE_SIGN_STYLE = Manual; COMBINE_HIDPI_IMAGES = YES; CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; DEAD_CODE_STRIPPING = YES; + EXCLUDED_ARCHS = ""; GCC_GENERATE_DEBUGGING_SYMBOLS = NO; GCC_OPTIMIZATION_LEVEL = 3; GCC_PREPROCESSOR_DEFINITIONS = ( @@ -403,7 +405,7 @@ "NDEBUG=1", "JUCE_DISPLAY_SPLASH_SCREEN=0", "JUCE_USE_DARK_SPLASH_SCREEN=1", - "JUCE_PROJUCER_VERSION=0x60100", + "JUCE_PROJUCER_VERSION=0x60103", "JUCE_MODULE_AVAILABLE_juce_analytics=1", "JUCE_MODULE_AVAILABLE_juce_audio_basics=1", "JUCE_MODULE_AVAILABLE_juce_audio_devices=1", @@ -448,9 +450,11 @@ LLVM_LTO = YES; MACOSX_DEPLOYMENT_TARGET = 10.10; MTL_HEADER_SEARCH_PATHS = "$(SRCROOT)/../../JuceLibraryCode $(SRCROOT)/../../../../modules"; - OTHER_CPLUSPLUSFLAGS = "-Wall -Wshadow-all -Wshorten-64-to-32 -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wconversion -Wsign-compare -Wint-conversion -Wconditional-uninitialized -Woverloaded-virtual -Wreorder -Wconstant-conversion -Wsign-conversion -Wunused-private-field -Wbool-conversion -Wextra-semi -Wunreachable-code -Wzero-as-null-pointer-constant -Wcast-align -Winconsistent-missing-destructor-override -Wshift-sign-overflow -Wnullable-to-nonnull-conversion -Wno-missing-field-initializers -Wno-ignored-qualifiers -Wswitch-enum"; + OTHER_CFLAGS = "-Wall -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wswitch-enum -Wsign-conversion -Wsign-compare -Wunreachable-code -Wcast-align -Wno-ignored-qualifiers -Wshorten-64-to-32 -Wconversion -Wint-conversion -Wconditional-uninitialized -Wconstant-conversion -Wbool-conversion -Wextra-semi -Wshift-sign-overflow -Wno-missing-field-initializers -Wshadow-all -Wnullable-to-nonnull-conversion"; + OTHER_CPLUSPLUSFLAGS = "-Woverloaded-virtual -Wreorder -Wzero-as-null-pointer-constant -Wunused-private-field -Winconsistent-missing-destructor-override -Wall -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wswitch-enum -Wsign-conversion -Wsign-compare -Wunreachable-code -Wcast-align -Wno-ignored-qualifiers -Wshorten-64-to-32 -Wconversion -Wint-conversion -Wconditional-uninitialized -Wconstant-conversion -Wbool-conversion -Wextra-semi -Wshift-sign-overflow -Wno-missing-field-initializers -Wshadow-all -Wnullable-to-nonnull-conversion"; PRODUCT_BUNDLE_IDENTIFIER = com.juce.UnitTestRunner; PRODUCT_NAME = "UnitTestRunner"; + PROVISIONING_PROFILE_SPECIFIER = ""; USE_HEADERMAP = NO; VALIDATE_WORKSPACE_SKIPPED_SDK_FRAMEWORKS = OpenGL; VALID_ARCHS = "i386 x86_64 arm64 arm64e"; @@ -479,7 +483,7 @@ CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = ""; + CODE_SIGN_IDENTITY = "-"; DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = NO; @@ -511,10 +515,12 @@ CLANG_CXX_LANGUAGE_STANDARD = "c++14"; CLANG_CXX_LIBRARY = "libc++"; CLANG_LINK_OBJC_RUNTIME = NO; - CODE_SIGN_IDENTITY = ""; + CODE_SIGN_IDENTITY = "-"; + CODE_SIGN_STYLE = Manual; COMBINE_HIDPI_IMAGES = YES; CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; COPY_PHASE_STRIP = NO; + EXCLUDED_ARCHS = ""; GCC_DYNAMIC_NO_PIC = NO; GCC_OPTIMIZATION_LEVEL = 0; GCC_PREPROCESSOR_DEFINITIONS = ( @@ -522,7 +528,7 @@ "DEBUG=1", "JUCE_DISPLAY_SPLASH_SCREEN=0", "JUCE_USE_DARK_SPLASH_SCREEN=1", - "JUCE_PROJUCER_VERSION=0x60100", + "JUCE_PROJUCER_VERSION=0x60103", "JUCE_MODULE_AVAILABLE_juce_analytics=1", "JUCE_MODULE_AVAILABLE_juce_audio_basics=1", "JUCE_MODULE_AVAILABLE_juce_audio_devices=1", @@ -566,9 +572,11 @@ INSTALL_PATH = "/usr/bin"; MACOSX_DEPLOYMENT_TARGET = 10.10; MTL_HEADER_SEARCH_PATHS = "$(SRCROOT)/../../JuceLibraryCode $(SRCROOT)/../../../../modules"; - OTHER_CPLUSPLUSFLAGS = "-Wall -Wshadow-all -Wshorten-64-to-32 -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wconversion -Wsign-compare -Wint-conversion -Wconditional-uninitialized -Woverloaded-virtual -Wreorder -Wconstant-conversion -Wsign-conversion -Wunused-private-field -Wbool-conversion -Wextra-semi -Wunreachable-code -Wzero-as-null-pointer-constant -Wcast-align -Winconsistent-missing-destructor-override -Wshift-sign-overflow -Wnullable-to-nonnull-conversion -Wno-missing-field-initializers -Wno-ignored-qualifiers -Wswitch-enum"; + OTHER_CFLAGS = "-Wall -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wswitch-enum -Wsign-conversion -Wsign-compare -Wunreachable-code -Wcast-align -Wno-ignored-qualifiers -Wshorten-64-to-32 -Wconversion -Wint-conversion -Wconditional-uninitialized -Wconstant-conversion -Wbool-conversion -Wextra-semi -Wshift-sign-overflow -Wno-missing-field-initializers -Wshadow-all -Wnullable-to-nonnull-conversion"; + OTHER_CPLUSPLUSFLAGS = "-Woverloaded-virtual -Wreorder -Wzero-as-null-pointer-constant -Wunused-private-field -Winconsistent-missing-destructor-override -Wall -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wswitch-enum -Wsign-conversion -Wsign-compare -Wunreachable-code -Wcast-align -Wno-ignored-qualifiers -Wshorten-64-to-32 -Wconversion -Wint-conversion -Wconditional-uninitialized -Wconstant-conversion -Wbool-conversion -Wextra-semi -Wshift-sign-overflow -Wno-missing-field-initializers -Wshadow-all -Wnullable-to-nonnull-conversion"; PRODUCT_BUNDLE_IDENTIFIER = com.juce.UnitTestRunner; PRODUCT_NAME = "UnitTestRunner"; + PROVISIONING_PROFILE_SPECIFIER = ""; USE_HEADERMAP = NO; VALIDATE_WORKSPACE_SKIPPED_SDK_FRAMEWORKS = OpenGL; VALID_ARCHS = "i386 x86_64 arm64 arm64e"; diff --git a/extras/UnitTestRunner/Builds/VisualStudio2017/UnitTestRunner.sln b/extras/UnitTestRunner/Builds/VisualStudio2017/UnitTestRunner.sln index 6c947423..566f57d2 100644 --- a/extras/UnitTestRunner/Builds/VisualStudio2017/UnitTestRunner.sln +++ b/extras/UnitTestRunner/Builds/VisualStudio2017/UnitTestRunner.sln @@ -1,5 +1,6 @@ + Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2017 +# Visual Studio 15 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "UnitTestRunner - ConsoleApp", "UnitTestRunner_ConsoleApp.vcxproj", "{8059D6DB-7FA3-D129-4ADE-B3C1A560027C}" EndProject diff --git a/extras/UnitTestRunner/Builds/VisualStudio2017/UnitTestRunner_ConsoleApp.vcxproj b/extras/UnitTestRunner/Builds/VisualStudio2017/UnitTestRunner_ConsoleApp.vcxproj index d84b2e59..1af384e6 100644 --- a/extras/UnitTestRunner/Builds/VisualStudio2017/UnitTestRunner_ConsoleApp.vcxproj +++ b/extras/UnitTestRunner/Builds/VisualStudio2017/UnitTestRunner_ConsoleApp.vcxproj @@ -64,7 +64,7 @@ Disabled ProgramDatabase ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_WARNINGS;_CONSOLE;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60100;JUCE_MODULE_AVAILABLE_juce_analytics=1;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_osc=1;JUCE_MODULE_AVAILABLE_juce_product_unlocking=1;JUCE_MODULE_AVAILABLE_juce_video=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_STANDALONE_APPLICATION=1;JUCE_UNIT_TESTS=1;JUCER_VS2017_78A5024=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) + _CRT_SECURE_NO_WARNINGS;_CONSOLE;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_analytics=1;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_osc=1;JUCE_MODULE_AVAILABLE_juce_product_unlocking=1;JUCE_MODULE_AVAILABLE_juce_video=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_STANDALONE_APPLICATION=1;JUCE_UNIT_TESTS=1;JUCER_VS2017_78A5024=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) MultiThreadedDebugDLL true NotUsing @@ -107,7 +107,7 @@ Full ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_WARNINGS;_CONSOLE;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60100;JUCE_MODULE_AVAILABLE_juce_analytics=1;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_osc=1;JUCE_MODULE_AVAILABLE_juce_product_unlocking=1;JUCE_MODULE_AVAILABLE_juce_video=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_STANDALONE_APPLICATION=1;JUCE_UNIT_TESTS=1;JUCER_VS2017_78A5024=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) + _CRT_SECURE_NO_WARNINGS;_CONSOLE;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_analytics=1;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_osc=1;JUCE_MODULE_AVAILABLE_juce_product_unlocking=1;JUCE_MODULE_AVAILABLE_juce_video=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_STANDALONE_APPLICATION=1;JUCE_UNIT_TESTS=1;JUCER_VS2017_78A5024=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) MultiThreadedDLL true NotUsing @@ -1461,6 +1461,9 @@ true + + true + true @@ -2655,6 +2658,7 @@ + @@ -2699,6 +2703,7 @@ + @@ -2734,6 +2739,7 @@ + @@ -2968,6 +2974,7 @@ + @@ -3104,6 +3111,7 @@ + @@ -3158,7 +3166,6 @@ - diff --git a/extras/UnitTestRunner/Builds/VisualStudio2017/UnitTestRunner_ConsoleApp.vcxproj.filters b/extras/UnitTestRunner/Builds/VisualStudio2017/UnitTestRunner_ConsoleApp.vcxproj.filters index a0d1dcef..ca98fe5a 100644 --- a/extras/UnitTestRunner/Builds/VisualStudio2017/UnitTestRunner_ConsoleApp.vcxproj.filters +++ b/extras/UnitTestRunner/Builds/VisualStudio2017/UnitTestRunner_ConsoleApp.vcxproj.filters @@ -1915,6 +1915,9 @@ JUCE Modules\juce_graphics\geometry + + JUCE Modules\juce_graphics\geometry + JUCE Modules\juce_graphics\image_formats\jpglib @@ -3864,6 +3867,9 @@ JUCE Modules\juce_audio_processors\processors + + JUCE Modules\juce_audio_processors\processors + JUCE Modules\juce_audio_processors\processors @@ -3996,6 +4002,9 @@ JUCE Modules\juce_core\containers + + JUCE Modules\juce_core\containers + JUCE Modules\juce_core\containers @@ -4101,6 +4110,9 @@ JUCE Modules\juce_core\memory + + JUCE Modules\juce_core\memory + JUCE Modules\juce_core\memory @@ -4803,6 +4815,9 @@ JUCE Modules\juce_graphics\images + + JUCE Modules\juce_graphics\images + JUCE Modules\juce_graphics\native @@ -5211,6 +5226,9 @@ JUCE Modules\juce_gui_basics\native + + JUCE Modules\juce_gui_basics\native + JUCE Modules\juce_gui_basics\native @@ -5373,9 +5391,6 @@ JUCE Modules\juce_gui_extra\embedding - - JUCE Modules\juce_gui_extra\embedding - JUCE Modules\juce_gui_extra\embedding diff --git a/extras/UnitTestRunner/Builds/VisualStudio2019/UnitTestRunner.sln b/extras/UnitTestRunner/Builds/VisualStudio2019/UnitTestRunner.sln index d477a75d..f359348a 100644 --- a/extras/UnitTestRunner/Builds/VisualStudio2019/UnitTestRunner.sln +++ b/extras/UnitTestRunner/Builds/VisualStudio2019/UnitTestRunner.sln @@ -1,5 +1,6 @@ + Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2019 +# Visual Studio Version 16 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "UnitTestRunner - ConsoleApp", "UnitTestRunner_ConsoleApp.vcxproj", "{8059D6DB-7FA3-D129-4ADE-B3C1A560027C}" EndProject diff --git a/extras/UnitTestRunner/Builds/VisualStudio2019/UnitTestRunner_ConsoleApp.vcxproj b/extras/UnitTestRunner/Builds/VisualStudio2019/UnitTestRunner_ConsoleApp.vcxproj index 45ef256b..eb94e4d4 100644 --- a/extras/UnitTestRunner/Builds/VisualStudio2019/UnitTestRunner_ConsoleApp.vcxproj +++ b/extras/UnitTestRunner/Builds/VisualStudio2019/UnitTestRunner_ConsoleApp.vcxproj @@ -64,7 +64,7 @@ Disabled ProgramDatabase ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_WARNINGS;_CONSOLE;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60100;JUCE_MODULE_AVAILABLE_juce_analytics=1;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_osc=1;JUCE_MODULE_AVAILABLE_juce_product_unlocking=1;JUCE_MODULE_AVAILABLE_juce_video=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_STANDALONE_APPLICATION=1;JUCE_UNIT_TESTS=1;JUCER_VS2019_78A5026=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) + _CRT_SECURE_NO_WARNINGS;_CONSOLE;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_analytics=1;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_osc=1;JUCE_MODULE_AVAILABLE_juce_product_unlocking=1;JUCE_MODULE_AVAILABLE_juce_video=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_STANDALONE_APPLICATION=1;JUCE_UNIT_TESTS=1;JUCER_VS2019_78A5026=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) MultiThreadedDebugDLL true NotUsing @@ -107,7 +107,7 @@ Full ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_WARNINGS;_CONSOLE;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60100;JUCE_MODULE_AVAILABLE_juce_analytics=1;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_osc=1;JUCE_MODULE_AVAILABLE_juce_product_unlocking=1;JUCE_MODULE_AVAILABLE_juce_video=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_STANDALONE_APPLICATION=1;JUCE_UNIT_TESTS=1;JUCER_VS2019_78A5026=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) + _CRT_SECURE_NO_WARNINGS;_CONSOLE;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_analytics=1;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_osc=1;JUCE_MODULE_AVAILABLE_juce_product_unlocking=1;JUCE_MODULE_AVAILABLE_juce_video=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_STANDALONE_APPLICATION=1;JUCE_UNIT_TESTS=1;JUCER_VS2019_78A5026=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) MultiThreadedDLL true NotUsing @@ -1461,6 +1461,9 @@ true + + true + true @@ -2655,6 +2658,7 @@ + @@ -2699,6 +2703,7 @@ + @@ -2734,6 +2739,7 @@ + @@ -2968,6 +2974,7 @@ + @@ -3104,6 +3111,7 @@ + @@ -3158,7 +3166,6 @@ - diff --git a/extras/UnitTestRunner/Builds/VisualStudio2019/UnitTestRunner_ConsoleApp.vcxproj.filters b/extras/UnitTestRunner/Builds/VisualStudio2019/UnitTestRunner_ConsoleApp.vcxproj.filters index 8f8160b0..69601d20 100644 --- a/extras/UnitTestRunner/Builds/VisualStudio2019/UnitTestRunner_ConsoleApp.vcxproj.filters +++ b/extras/UnitTestRunner/Builds/VisualStudio2019/UnitTestRunner_ConsoleApp.vcxproj.filters @@ -1915,6 +1915,9 @@ JUCE Modules\juce_graphics\geometry + + JUCE Modules\juce_graphics\geometry + JUCE Modules\juce_graphics\image_formats\jpglib @@ -3864,6 +3867,9 @@ JUCE Modules\juce_audio_processors\processors + + JUCE Modules\juce_audio_processors\processors + JUCE Modules\juce_audio_processors\processors @@ -3996,6 +4002,9 @@ JUCE Modules\juce_core\containers + + JUCE Modules\juce_core\containers + JUCE Modules\juce_core\containers @@ -4101,6 +4110,9 @@ JUCE Modules\juce_core\memory + + JUCE Modules\juce_core\memory + JUCE Modules\juce_core\memory @@ -4803,6 +4815,9 @@ JUCE Modules\juce_graphics\images + + JUCE Modules\juce_graphics\images + JUCE Modules\juce_graphics\native @@ -5211,6 +5226,9 @@ JUCE Modules\juce_gui_basics\native + + JUCE Modules\juce_gui_basics\native + JUCE Modules\juce_gui_basics\native @@ -5373,9 +5391,6 @@ JUCE Modules\juce_gui_extra\embedding - - JUCE Modules\juce_gui_extra\embedding - JUCE Modules\juce_gui_extra\embedding diff --git a/extras/UnitTestRunner/Builds/VisualStudio2022/UnitTestRunner.sln b/extras/UnitTestRunner/Builds/VisualStudio2022/UnitTestRunner.sln new file mode 100644 index 00000000..c04b4e94 --- /dev/null +++ b/extras/UnitTestRunner/Builds/VisualStudio2022/UnitTestRunner.sln @@ -0,0 +1,21 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio Version 17 + +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "UnitTestRunner - ConsoleApp", "UnitTestRunner_ConsoleApp.vcxproj", "{8059D6DB-7FA3-D129-4ADE-B3C1A560027C}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 + Release|x64 = Release|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {8059D6DB-7FA3-D129-4ADE-B3C1A560027C}.Debug|x64.ActiveCfg = Debug|x64 + {8059D6DB-7FA3-D129-4ADE-B3C1A560027C}.Debug|x64.Build.0 = Debug|x64 + {8059D6DB-7FA3-D129-4ADE-B3C1A560027C}.Release|x64.ActiveCfg = Release|x64 + {8059D6DB-7FA3-D129-4ADE-B3C1A560027C}.Release|x64.Build.0 = Release|x64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/extras/UnitTestRunner/Builds/VisualStudio2022/UnitTestRunner_ConsoleApp.vcxproj b/extras/UnitTestRunner/Builds/VisualStudio2022/UnitTestRunner_ConsoleApp.vcxproj new file mode 100644 index 00000000..a4079068 --- /dev/null +++ b/extras/UnitTestRunner/Builds/VisualStudio2022/UnitTestRunner_ConsoleApp.vcxproj @@ -0,0 +1,3261 @@ + + + + + + Debug + x64 + + + Release + x64 + + + + {8059D6DB-7FA3-D129-4ADE-B3C1A560027C} + + + + Application + false + false + v143 + 10.0 + + + Application + false + true + v143 + 10.0 + + + + + + + + <_ProjectFileVersion>10.0.30319.1 + .exe + $(SolutionDir)$(Platform)\$(Configuration)\ConsoleApp\ + $(Platform)\$(Configuration)\ConsoleApp\ + UnitTestRunner + true + $(SolutionDir)$(Platform)\$(Configuration)\ConsoleApp\ + $(Platform)\$(Configuration)\ConsoleApp\ + UnitTestRunner + true + + + + _DEBUG;%(PreprocessorDefinitions) + true + true + Win32 + + + + Disabled + ProgramDatabase + ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) + _CRT_SECURE_NO_WARNINGS;_CONSOLE;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_analytics=1;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_osc=1;JUCE_MODULE_AVAILABLE_juce_product_unlocking=1;JUCE_MODULE_AVAILABLE_juce_video=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_STANDALONE_APPLICATION=1;JUCE_UNIT_TESTS=1;JUCER_VS2022_78A503E=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) + MultiThreadedDebugDLL + true + NotUsing + $(IntDir)\ + $(IntDir)\ + $(IntDir)\UnitTestRunner.pdb + Level4 + true + true + /w44265 /w45038 /w44062 %(AdditionalOptions) + true + stdcpp14 + + + _DEBUG;%(PreprocessorDefinitions) + + + $(OutDir)\UnitTestRunner.exe + true + libcmt.lib; msvcrt.lib;;%(IgnoreSpecificDefaultLibraries) + true + $(IntDir)\UnitTestRunner.pdb + Console + true + + + true + $(IntDir)\UnitTestRunner.bsc + + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + Win32 + + + + Full + ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) + _CRT_SECURE_NO_WARNINGS;_CONSOLE;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_analytics=1;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_dsp=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_osc=1;JUCE_MODULE_AVAILABLE_juce_product_unlocking=1;JUCE_MODULE_AVAILABLE_juce_video=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_STRICT_REFCOUNTEDPOINTER=1;JUCE_STANDALONE_APPLICATION=1;JUCE_UNIT_TESTS=1;JUCER_VS2022_78A503E=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;%(PreprocessorDefinitions) + MultiThreadedDLL + true + NotUsing + $(IntDir)\ + $(IntDir)\ + $(IntDir)\UnitTestRunner.pdb + Level4 + true + true + /w44265 /w45038 /w44062 %(AdditionalOptions) + true + stdcpp14 + + + NDEBUG;%(PreprocessorDefinitions) + + + $(OutDir)\UnitTestRunner.exe + true + %(IgnoreSpecificDefaultLibraries) + false + $(IntDir)\UnitTestRunner.pdb + Console + true + true + true + UseLinkTimeCodeGeneration + + + true + $(IntDir)\UnitTestRunner.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 + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + + + + + + + + + + + + + /bigobj %(AdditionalOptions) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/extras/UnitTestRunner/Builds/VisualStudio2022/UnitTestRunner_ConsoleApp.vcxproj.filters b/extras/UnitTestRunner/Builds/VisualStudio2022/UnitTestRunner_ConsoleApp.vcxproj.filters new file mode 100644 index 00000000..56522397 --- /dev/null +++ b/extras/UnitTestRunner/Builds/VisualStudio2022/UnitTestRunner_ConsoleApp.vcxproj.filters @@ -0,0 +1,5654 @@ + + + + + + {C4DA93DE-FC1C-C4F1-591F-C92F838860C3} + + + {D8F766C2-4389-8396-EB11-0E281B84E2C8} + + + {E3CEC08A-FA14-D343-5BFF-3D6A4A4FD713} + + + {B3BC836A-3932-C1E4-CA3C-A1C0D83281BA} + + + {97F7F593-75F8-D6B2-DC96-C946C3976226} + + + {EB58F05A-A968-CEBE-40C4-107CDD8F240F} + + + {5FCF559E-451A-CB1E-B177-A5DC5A0005BB} + + + {05CE33FC-868F-AA1A-12B8-79C98E753648} + + + {D78296AF-218E-B17E-7F8B-9D148601188D} + + + {B96EBA26-E668-FFAF-FC53-1EC1337DAF5A} + + + {D8532E5E-469E-5042-EFC8-238241704735} + + + {777B5D1D-9AF0-B22B-8894-034603EE97F5} + + + {8292766D-2459-2E7E-7615-17216318BA93} + + + {9BD56105-DAB4-EBD5-00DD-BD540E98FE88} + + + {10472B2C-9888-D269-F351-0D0AC3BCD16C} + + + {BF23FC10-1D57-2A9B-706F-6DD8A7B593D4} + + + {386862D5-4DCC-A4B3-5642-60A201E303EF} + + + {092EFC17-7C95-7E04-0ACA-0D61A462EE81} + + + {285118C6-8FDA-7DCE-BEF4-FFB2120876C5} + + + {69ED6B61-9B8D-D47E-E4A6-2E9F9A94A75A} + + + {7CDB7CD1-BB96-F593-3C78-1E06182B5839} + + + {B0A708DE-B4CF-196B-14FB-DC8221509B8E} + + + {34F46ADE-EE31-227A-A69E-7732E70145F1} + + + {BB9B3C77-17FB-E994-8B75-88F1727E4655} + + + {C0971D77-2F14-190A-E2AE-89D6285F4D5A} + + + {AABEA333-6524-8891-51C7-6DAEB5700628} + + + {F2D29337-983E-BAD7-7B5C-E0AB3D53D404} + + + {C674B0FB-1FC0-2986-94B1-083845018994} + + + {0AFC1CE8-F6E6-9817-8C21-8432B2A375DA} + + + {0D1AF264-3AC1-78A2-B2A4-AE6171F9194A} + + + {9A5DB854-CFFB-5F88-C566-0E10F994DDB3} + + + {38A5DDC7-416E-548F-39DA-887875FE6B20} + + + {980FE2DB-05D3-5FDA-79DA-067A56F5D19D} + + + {F336DC25-747A-0663-93D6-E3EB9AA0CBF8} + + + {7D78546A-80FC-4DCA-00B9-F191F0AB2179} + + + {9EB3EC7F-2AB7-DDAA-3C05-DF382B728D3F} + + + {6B9FBFDC-1D10-6246-356D-00FF4535CECB} + + + {D6FCFC8E-7136-9109-78C0-91A3EB4C443F} + + + {EBF18AC1-F0ED-937A-2824-4307CE2ADAF7} + + + {5A0F7922-2EFB-6465-57E4-A445B804EFB5} + + + {4EC45416-0E7C-7567-6F75-D0C8CEE7DC4F} + + + {C2985031-0496-55B5-41A8-BAB99E53D89D} + + + {FB4AB426-7009-0036-BB75-E34256AA7C89} + + + {E684D858-09E8-0251-8E86-5657129641E1} + + + {1EF1BF17-F941-243A-04D1-EE617D140CBA} + + + {344DB016-679C-FBD0-3EC6-4570C47522DE} + + + {3D9758A0-9359-1710-87C1-05D475C08B17} + + + {E824435F-FC7B-10BE-5D1A-5DACC51A8836} + + + {86737735-F6BA-F64A-5EC7-5C9F36755F79} + + + {4DC60E78-BBC0-B540-63A2-37E14ABBEF09} + + + {80C72173-A1E1-C3C5-9288-B889CE2EAFEA} + + + {4138B955-AA0B-FA86-DBF9-404CAFFFA866} + + + {2B4166B8-F470-F07C-4F51-D2DAAAECBB18} + + + {9C295115-C0CD-3129-1C4D-FB53299B23FB} + + + {65526A8B-3447-9DF0-FD5D-00D111126027} + + + {A54A1F5C-F32F-F97B-9E8A-69922B770A54} + + + {B90A44F3-B62D-B5C0-81A2-683D2650AEE6} + + + {DAF30656-5915-0E45-C4E4-54439617D525} + + + {9266EA90-6A0A-5DDB-9CB7-966BEF03BA5C} + + + {9C713CBA-A9E2-5F4E-F83C-2CAB8533913C} + + + {63571A07-9AA3-5BB0-1103-0B42A2E6BC9E} + + + {314F43F2-BC8F-B464-EAE7-86B9675454E9} + + + {874C5D0C-6D29-68EE-38BB-26200B56BC89} + + + {86BAA7A7-DC50-35B6-910B-932AEAF257F2} + + + {6B7BE34D-1BC1-C7B9-111F-C55CA8250943} + + + {9B6B6D54-D378-80C2-8CC9-D1D8FB44C2A8} + + + {D0584AC3-6837-14F6-90BF-5EA604D1F074} + + + {794B64EC-B809-32E3-AD00-4EE6A74802CA} + + + {67BE498C-9E1F-C73A-B99A-387C034CE680} + + + {1A9C8538-959B-25E3-473D-B462C9A9D458} + + + {AA9F594C-DFAF-C0A7-0CCD-9F90E54D3A01} + + + {230BF784-34F4-3BE8-46D4-54E6B67E5E9E} + + + {39F680F3-5161-4D1C-EAD0-3911ED808874} + + + {3197198B-A978-E330-C7FB-07E5CE8236C7} + + + {42F7BE9D-3C8A-AE26-289B-8F355C068036} + + + {7868764A-6572-381A-906C-9C26792A4C29} + + + {03678508-A517-48BB-FB4A-485628C34E08} + + + {07D27C1D-3227-F527-356C-17DA11551A99} + + + {6146D580-99D2-A6C8-5908-30DC355BB6BA} + + + {C67003E8-BEA8-2188-F4B3-A122F4B4FA3F} + + + {09B91E68-1FF4-C7ED-9055-D4D96E66A0BA} + + + {30B3DA63-C1E4-F2EA-CEF0-8035D8CBFF64} + + + {4F24EEED-AA33-AC6C-9A39-72E71CF83EF0} + + + {0F70B1A9-BB50-23F5-2AE7-F95E51A00389} + + + {D4C8DC40-2CD2-04B6-05D0-1E7A88841390} + + + {58BED6AF-DB89-7560-B2B8-D937C1C0825A} + + + {B958F86B-6926-8D9B-2FC6-8BFD4BDC72C9} + + + {DB624F7D-D513-25AC-C13C-B9062EB3BEEE} + + + {89AA9B6C-4029-A34F-C1B0-3B5D8691F4D4} + + + {1A7F541C-B032-9C66-C320-A13B2A8A9866} + + + {4BAB7C18-51AB-0D9D-83CD-9C37F28D2E38} + + + {5523922E-8B0C-A52B-477C-752C09F8197F} + + + {857B6D8B-0ECB-FE9E-D1EB-D5E45E72F057} + + + {BAA582FA-40B7-320E-EE7A-4C3892C7BE72} + + + {89B3E447-34BE-C691-638E-09796C6B647E} + + + {9BE78436-DBF4-658C-579B-ED19FFD0EB5D} + + + {21E7FA61-9E0A-4BA1-04B7-AF47AFA9CB8B} + + + {632B4C79-AF7D-BFB5-D006-5AE67F607130} + + + {B10E20C2-4583-2B79-60B7-FE4D4B044313} + + + {CFB54F15-8A8A-0505-9B7F-ECA41CEE38E8} + + + {911F0159-A7A8-4A43-3FD4-154F62F4A44B} + + + {53CF03D3-988B-CD28-9130-CE08FDCEF7E9} + + + {29C6FE02-507E-F3FE-16CD-74D84842C1EA} + + + {8001BD68-125B-E392-8D3B-1F9C9520A65A} + + + {EDC17061-CFA0-8EA0-0ADA-90F31C2FB0F2} + + + {B813BD14-6565-2525-9AC3-E3AA48EDDA85} + + + {DDF4BA73-8578-406D-21F8-06B9BC70BFEA} + + + {73374573-0194-9A6E-461A-A81EEB511C26} + + + {5DD60D0E-B16A-0BED-EDC4-C56E6960CA9E} + + + {9D5816C2-E2B2-2E3F-B095-AC8BD1100D29} + + + {3FDCD000-763F-8477-9AF8-70ABA2E91E5E} + + + {0947506F-66FA-EF8D-8A4E-4D48BCDBB226} + + + {E4B6AED3-F54C-3FF2-069F-640BACAE0E08} + + + {D5EADBCC-6A1C-C940-0206-26E49110AF08} + + + {D27DC92D-5BEB-9294-DCD1-81D54E245AD5} + + + {BCD73D20-42B1-6CDB-DE66-B06236A60F47} + + + {20DC13F6-2369-8841-9F0B-D13FA14EEE74} + + + {A302A8DB-120F-9EBB-A3D5-2C29963AA56B} + + + {45489C2A-6E0E-CCDC-6638-0DACEEB63CCA} + + + {F1B90726-DB55-0293-BFAF-C65C7DF5489C} + + + {2C55FD42-0ACD-B0B8-7EAE-EB17F09BAEEC} + + + {B68CD2B2-701F-9AB7-4638-2485D6E06BCF} + + + {B0B7C78E-729E-0FFA-D611-82AE8BC7FE2C} + + + {0A4F7E12-220C-14EF-0026-9C0629FA9C17} + + + {37F49E10-4E62-6D5C-FF70-722D0CA3D97E} + + + {160D9882-0F68-278D-C5F9-8960FD7421D2} + + + {4CED05DA-E0A2-E548-F753-1F2EF299A8E3} + + + {46AE69B8-AD58-4381-6CDE-25C8D75B01D2} + + + {E56CB4FC-32E8-8740-A3BB-B323CD937A99} + + + {4ECDCA0C-BB38-0729-A6B6-2FB0B4D0863B} + + + {294E4CD5-B06F-97D1-04A3-51871CEA507C} + + + {77228F15-BD91-06FF-2C7E-0377D25C2C94} + + + {5CB531E6-BF9A-2C50-056C-EE5A525D28D3} + + + {E4EA47E5-B41C-2A19-1783-7E9104096ECD} + + + {B331BC33-9770-3DB5-73F2-BC2469ECCF7F} + + + {46A17AC9-0BFF-B5CE-26D6-B9D1992C88AC} + + + {D90A8DF7-FBAB-D363-13C0-6707BB22B72B} + + + {8AE77C40-6839-EC37-4515-BD3CC269BCE4} + + + {0EAD99DB-011F-09E5-45A2-365F646EB004} + + + {F57590C6-3B90-1BE1-1006-488BA33E8BD9} + + + {7C319D73-0D93-5842-0874-398D2D3038D5} + + + {2CB4DB0C-DD3B-6195-D822-76EC7A5C88D2} + + + {FE3CB19C-EF43-5CF5-DAF0-09D4E43D0AB9} + + + {C0E5DD5D-F8F1-DD25-67D7-291946AB3828} + + + {FE7E6CD5-C7A0-DB20-4E7E-D6E7F08C4578} + + + {895C2D33-E08D-B1BA-BB36-FC4CA65090C8} + + + {D64A57DB-A956-5519-1929-1D929B56E1B0} + + + {5A99CC24-AC45-7ED6-C11A-B8B86E76D884} + + + {7A131EEC-25A7-22F6-2839-A2194DDF3007} + + + {EA9DB76C-CEF7-6BFC-2070-28B7DF8E8063} + + + {3C206A40-6F1B-E683-ACF1-DEC3703D0140} + + + {DF95D4BF-E18C-125A-5EBB-8993A06E232C} + + + {118946F2-AC24-0F09-62D5-753DF87A60CD} + + + {07329F9B-7D3D-CEB3-C771-714842076140} + + + {08BBBECB-B0D1-7611-37EC-F57E1D0CE2A2} + + + {268E8F2A-980C-BF2F-B161-AACABC9D91F3} + + + {A4D76113-9EDC-DA60-D89B-5BACF7F1C426} + + + {1A9221A3-E993-70B2-6EA2-8E1DB5FF646A} + + + {CC2DAD7A-5B45-62AB-4C54-6FE6B1AE86C3} + + + {599138A9-EA63-53DD-941F-ABE3412D2949} + + + {422A4014-8587-1AE6-584F-32A62613A37B} + + + {9FBFF5E5-56F1-34A1-2C85-F760DA2B1EB7} + + + {EEE9B92C-AD26-4BEA-4D95-3F859090EA9F} + + + {B1DE8DB1-C00A-12C0-D690-8B3C9504A60A} + + + {640F6C76-C532-710A-DF73-582F2350F6A3} + + + {FFA9DA63-69C5-A392-4EEE-395CD07733BB} + + + {D3DCC9A9-ADBC-E37E-3CAA-43B3F156B8B9} + + + {409F7733-AD90-6113-85BA-7136DD178413} + + + {CB8DF3B2-0409-6D59-C5D4-A034EBB7F973} + + + {7774F72F-C951-B8AB-E927-E34AD23C52C8} + + + {658BADF8-7095-C722-F9EC-9F36E8818187} + + + {2C58F450-CD01-0231-2F16-0D4D68565164} + + + {FE955B6B-68AC-AA07-70D8-2413F6DB65C8} + + + {7ED5A90E-41AF-A1EF-659B-37CEEAB9BA61} + + + + + UnitTestRunner\Source + + + JUCE Modules\juce_analytics\analytics + + + JUCE Modules\juce_analytics\analytics + + + JUCE Modules\juce_analytics\destinations + + + JUCE Modules\juce_analytics + + + JUCE Modules\juce_audio_basics\buffers + + + JUCE Modules\juce_audio_basics\buffers + + + JUCE Modules\juce_audio_basics\buffers + + + JUCE Modules\juce_audio_basics\buffers + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + 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\midi + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + 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\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics + + + 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\midi_io\ump + + + JUCE Modules\juce_audio_devices\midi_io + + + JUCE Modules\juce_audio_devices\midi_io + + + JUCE Modules\juce_audio_devices\native\oboe\src\aaudio + + + JUCE Modules\juce_audio_devices\native\oboe\src\aaudio + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\fifo + + + JUCE Modules\juce_audio_devices\native\oboe\src\fifo + + + JUCE Modules\juce_audio_devices\native\oboe\src\fifo + + + JUCE Modules\juce_audio_devices\native\oboe\src\fifo + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + 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\sources + + + JUCE Modules\juce_audio_devices\sources + + + JUCE Modules\juce_audio_devices + + + JUCE Modules\juce_audio_devices + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis + + + 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\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\sampler + + + JUCE Modules\juce_audio_formats + + + JUCE Modules\juce_audio_formats + + + JUCE Modules\juce_audio_processors\format + + + JUCE Modules\juce_audio_processors\format + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\thread\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\common + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\common + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + 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\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\scanning + + + JUCE Modules\juce_audio_processors\scanning + + + JUCE Modules\juce_audio_processors\scanning + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors + + + JUCE Modules\juce_audio_processors + + + JUCE Modules\juce_audio_utils\audio_cd + + + 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\native + + + JUCE Modules\juce_audio_utils\native + + + JUCE Modules\juce_audio_utils\native + + + JUCE Modules\juce_audio_utils\native + + + JUCE Modules\juce_audio_utils\native + + + JUCE Modules\juce_audio_utils\native + + + JUCE Modules\juce_audio_utils\native + + + JUCE Modules\juce_audio_utils\native + + + JUCE Modules\juce_audio_utils\native + + + JUCE Modules\juce_audio_utils\native + + + JUCE Modules\juce_audio_utils\players + + + JUCE Modules\juce_audio_utils\players + + + JUCE Modules\juce_audio_utils + + + JUCE Modules\juce_audio_utils + + + 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\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\javascript + + + JUCE Modules\juce_core\javascript + + + JUCE Modules\juce_core\logging + + + JUCE Modules\juce_core\logging + + + 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\misc + + + 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\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\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\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\system + + + 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\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\unit_tests + + + JUCE Modules\juce_core\xml + + + JUCE Modules\juce_core\xml + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip + + + JUCE Modules\juce_core\zip + + + JUCE Modules\juce_core\zip + + + JUCE Modules\juce_core + + + 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\hashing + + + JUCE Modules\juce_cryptography + + + JUCE Modules\juce_cryptography + + + JUCE Modules\juce_data_structures\app_properties + + + JUCE Modules\juce_data_structures\app_properties + + + JUCE Modules\juce_data_structures\undomanager + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures + + + JUCE Modules\juce_data_structures + + + JUCE Modules\juce_dsp\containers + + + JUCE Modules\juce_dsp\containers + + + JUCE Modules\juce_dsp\containers + + + JUCE Modules\juce_dsp\filter_design + + + JUCE Modules\juce_dsp\frequency + + + JUCE Modules\juce_dsp\frequency + + + JUCE Modules\juce_dsp\frequency + + + JUCE Modules\juce_dsp\frequency + + + JUCE Modules\juce_dsp\frequency + + + JUCE Modules\juce_dsp\maths + + + JUCE Modules\juce_dsp\maths + + + JUCE Modules\juce_dsp\maths + + + JUCE Modules\juce_dsp\maths + + + JUCE Modules\juce_dsp\maths + + + JUCE Modules\juce_dsp\native + + + JUCE Modules\juce_dsp\native + + + JUCE Modules\juce_dsp\native + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\widgets + + + JUCE Modules\juce_dsp\widgets + + + JUCE Modules\juce_dsp\widgets + + + JUCE Modules\juce_dsp\widgets + + + JUCE Modules\juce_dsp\widgets + + + JUCE Modules\juce_dsp\widgets + + + JUCE Modules\juce_dsp + + + JUCE Modules\juce_dsp + + + 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\interprocess + + + JUCE Modules\juce_events\messages + + + JUCE Modules\juce_events\messages + + + JUCE Modules\juce_events\messages + + + JUCE Modules\juce_events\messages + + + 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_events\native + + + JUCE Modules\juce_events\native + + + JUCE Modules\juce_events\timers + + + JUCE Modules\juce_events\timers + + + JUCE Modules\juce_events + + + 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\contexts + + + JUCE Modules\juce_graphics\contexts + + + JUCE Modules\juce_graphics\contexts + + + JUCE Modules\juce_graphics\effects + + + JUCE Modules\juce_graphics\effects + + + 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\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\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats + + + JUCE Modules\juce_graphics\image_formats + + + JUCE Modules\juce_graphics\image_formats + + + JUCE Modules\juce_graphics\images + + + JUCE Modules\juce_graphics\images + + + JUCE Modules\juce_graphics\images + + + JUCE Modules\juce_graphics\images + + + 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_graphics\native + + + JUCE Modules\juce_graphics\native + + + JUCE Modules\juce_graphics\native + + + JUCE Modules\juce_graphics\native + + + JUCE Modules\juce_graphics\placement + + + JUCE Modules\juce_graphics + + + JUCE Modules\juce_graphics + + + JUCE Modules\juce_gui_basics\accessibility + + + JUCE Modules\juce_gui_basics\application + + + 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\commands + + + JUCE Modules\juce_gui_basics\commands + + + JUCE Modules\juce_gui_basics\commands + + + JUCE Modules\juce_gui_basics\commands + + + 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\desktop + + + JUCE Modules\juce_gui_basics\desktop + + + 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\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\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\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\layout + + + JUCE Modules\juce_gui_basics\layout + + + 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\lookandfeel + + + JUCE Modules\juce_gui_basics\menus + + + JUCE Modules\juce_gui_basics\menus + + + JUCE Modules\juce_gui_basics\menus + + + JUCE Modules\juce_gui_basics\menus + + + JUCE Modules\juce_gui_basics\misc + + + JUCE Modules\juce_gui_basics\misc + + + JUCE Modules\juce_gui_basics\misc + + + 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\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\x11 + + + JUCE Modules\juce_gui_basics\native\x11 + + + JUCE Modules\juce_gui_basics\native\x11 + + + 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_basics\native + + + JUCE Modules\juce_gui_basics\native + + + JUCE Modules\juce_gui_basics\native + + + 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\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\properties + + + 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 + + + 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\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\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_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 + + + 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\opengl + + + JUCE Modules\juce_opengl\utils + + + JUCE Modules\juce_opengl + + + JUCE Modules\juce_opengl + + + JUCE Modules\juce_osc\osc + + + JUCE Modules\juce_osc\osc + + + JUCE Modules\juce_osc\osc + + + JUCE Modules\juce_osc\osc + + + JUCE Modules\juce_osc\osc + + + JUCE Modules\juce_osc\osc + + + JUCE Modules\juce_osc\osc + + + JUCE Modules\juce_osc\osc + + + JUCE Modules\juce_osc + + + JUCE Modules\juce_product_unlocking\in_app_purchases + + + JUCE Modules\juce_product_unlocking\marketplace + + + JUCE Modules\juce_product_unlocking\marketplace + + + JUCE Modules\juce_product_unlocking\marketplace + + + JUCE Modules\juce_product_unlocking\native + + + JUCE Modules\juce_product_unlocking\native + + + JUCE Modules\juce_product_unlocking + + + JUCE Modules\juce_product_unlocking + + + JUCE Modules\juce_video\capture + + + JUCE Modules\juce_video\playback + + + JUCE Modules\juce_video + + + JUCE Modules\juce_video + + + 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 Library Code + + + JUCE Library Code + + + JUCE Library Code + + + JUCE Library Code + + + + + JUCE Modules\juce_analytics\analytics + + + JUCE Modules\juce_analytics\analytics + + + JUCE Modules\juce_analytics\destinations + + + JUCE Modules\juce_analytics\destinations + + + JUCE Modules\juce_analytics + + + JUCE Modules\juce_audio_basics\audio_play_head + + + JUCE Modules\juce_audio_basics\buffers + + + JUCE Modules\juce_audio_basics\buffers + + + JUCE Modules\juce_audio_basics\buffers + + + JUCE Modules\juce_audio_basics\buffers + + + JUCE Modules\juce_audio_basics\buffers + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + 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\midi + + + JUCE Modules\juce_audio_basics\midi + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\native + + + 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\sources + + + JUCE Modules\juce_audio_basics\synthesisers + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + 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\ump + + + JUCE Modules\juce_audio_devices\midi_io\ump + + + JUCE Modules\juce_audio_devices\midi_io + + + JUCE Modules\juce_audio_devices\midi_io + + + JUCE Modules\juce_audio_devices\native\oboe\include\oboe + + + JUCE Modules\juce_audio_devices\native\oboe\include\oboe + + + JUCE Modules\juce_audio_devices\native\oboe\include\oboe + + + JUCE Modules\juce_audio_devices\native\oboe\include\oboe + + + JUCE Modules\juce_audio_devices\native\oboe\include\oboe + + + JUCE Modules\juce_audio_devices\native\oboe\include\oboe + + + JUCE Modules\juce_audio_devices\native\oboe\include\oboe + + + JUCE Modules\juce_audio_devices\native\oboe\include\oboe + + + JUCE Modules\juce_audio_devices\native\oboe\include\oboe + + + JUCE Modules\juce_audio_devices\native\oboe\include\oboe + + + JUCE Modules\juce_audio_devices\native\oboe\include\oboe + + + JUCE Modules\juce_audio_devices\native\oboe\src\aaudio + + + JUCE Modules\juce_audio_devices\native\oboe\src\aaudio + + + JUCE Modules\juce_audio_devices\native\oboe\src\aaudio + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\fifo + + + JUCE Modules\juce_audio_devices\native\oboe\src\fifo + + + JUCE Modules\juce_audio_devices\native\oboe\src\fifo + + + JUCE Modules\juce_audio_devices\native\oboe\src\fifo + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native + + + JUCE Modules\juce_audio_devices\native + + + JUCE Modules\juce_audio_devices\sources + + + JUCE Modules\juce_audio_devices\sources + + + JUCE Modules\juce_audio_devices + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\books\coupled + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\books\coupled + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\books\floor + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\books\uncoupled + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis + + + 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\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\sampler + + + JUCE Modules\juce_audio_formats + + + JUCE Modules\juce_audio_processors\format + + + JUCE Modules\juce_audio_processors\format + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\thread\include + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\gui + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\gui + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\common + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\common + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + 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\format_types + + + JUCE Modules\juce_audio_processors\format_types + + + 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\processors + + + JUCE Modules\juce_audio_processors\processors + + + JUCE Modules\juce_audio_processors\scanning + + + JUCE Modules\juce_audio_processors\scanning + + + JUCE Modules\juce_audio_processors\scanning + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors + + + JUCE Modules\juce_audio_utils\audio_cd + + + JUCE Modules\juce_audio_utils\audio_cd + + + 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\gui + + + JUCE Modules\juce_audio_utils\gui + + + JUCE Modules\juce_audio_utils\players + + + JUCE Modules\juce_audio_utils\players + + + JUCE Modules\juce_audio_utils + + + 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\containers + + + JUCE Modules\juce_core\containers + + + JUCE Modules\juce_core\containers + + + 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\files + + + JUCE Modules\juce_core\javascript + + + JUCE Modules\juce_core\javascript + + + JUCE Modules\juce_core\logging + + + JUCE Modules\juce_core\logging + + + 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\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\memory + + + JUCE Modules\juce_core\memory + + + JUCE Modules\juce_core\memory + + + JUCE Modules\juce_core\misc + + + JUCE Modules\juce_core\misc + + + JUCE Modules\juce_core\misc + + + 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\native + + + JUCE Modules\juce_core\native + + + JUCE Modules\juce_core\native + + + 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\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\streams + + + 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\system + + + 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\text + + + 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\unit_tests + + + JUCE Modules\juce_core\unit_tests + + + JUCE Modules\juce_core\xml + + + JUCE Modules\juce_core\xml + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip + + + JUCE Modules\juce_core\zip + + + JUCE Modules\juce_core\zip + + + 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\hashing + + + JUCE Modules\juce_cryptography + + + JUCE Modules\juce_data_structures\app_properties + + + JUCE Modules\juce_data_structures\app_properties + + + JUCE Modules\juce_data_structures\undomanager + + + JUCE Modules\juce_data_structures\undomanager + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures + + + JUCE Modules\juce_dsp\containers + + + JUCE Modules\juce_dsp\containers + + + JUCE Modules\juce_dsp\containers + + + JUCE Modules\juce_dsp\containers + + + JUCE Modules\juce_dsp\filter_design + + + JUCE Modules\juce_dsp\frequency + + + JUCE Modules\juce_dsp\frequency + + + JUCE Modules\juce_dsp\frequency + + + JUCE Modules\juce_dsp\maths + + + JUCE Modules\juce_dsp\maths + + + JUCE Modules\juce_dsp\maths + + + JUCE Modules\juce_dsp\maths + + + JUCE Modules\juce_dsp\maths + + + JUCE Modules\juce_dsp\maths + + + JUCE Modules\juce_dsp\maths + + + JUCE Modules\juce_dsp\native + + + JUCE Modules\juce_dsp\native + + + JUCE Modules\juce_dsp\native + + + JUCE Modules\juce_dsp\native + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\processors + + + JUCE Modules\juce_dsp\widgets + + + JUCE Modules\juce_dsp\widgets + + + JUCE Modules\juce_dsp\widgets + + + JUCE Modules\juce_dsp\widgets + + + JUCE Modules\juce_dsp\widgets + + + JUCE Modules\juce_dsp\widgets + + + JUCE Modules\juce_dsp\widgets + + + JUCE Modules\juce_dsp\widgets + + + JUCE Modules\juce_dsp\widgets + + + JUCE Modules\juce_dsp\widgets + + + JUCE Modules\juce_dsp\widgets + + + JUCE Modules\juce_dsp + + + 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\interprocess + + + 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\native + + + JUCE Modules\juce_events\native + + + JUCE Modules\juce_events\native + + + JUCE Modules\juce_events\native + + + JUCE Modules\juce_events\native + + + JUCE Modules\juce_events\timers + + + JUCE Modules\juce_events\timers + + + 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\effects + + + JUCE Modules\juce_graphics\effects + + + JUCE Modules\juce_graphics\effects + + + 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\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\geometry + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\images + + + JUCE Modules\juce_graphics\images + + + JUCE Modules\juce_graphics\images + + + JUCE Modules\juce_graphics\images + + + JUCE Modules\juce_graphics\images + + + JUCE Modules\juce_graphics\native + + + JUCE Modules\juce_graphics\native + + + JUCE Modules\juce_graphics\native + + + JUCE Modules\juce_graphics\native + + + JUCE Modules\juce_graphics\placement + + + JUCE Modules\juce_graphics\placement + + + JUCE Modules\juce_graphics + + + JUCE Modules\juce_gui_basics\accessibility\enums + + + JUCE Modules\juce_gui_basics\accessibility\enums + + + JUCE Modules\juce_gui_basics\accessibility\enums + + + JUCE Modules\juce_gui_basics\accessibility\interfaces + + + JUCE Modules\juce_gui_basics\accessibility\interfaces + + + JUCE Modules\juce_gui_basics\accessibility\interfaces + + + JUCE Modules\juce_gui_basics\accessibility\interfaces + + + JUCE Modules\juce_gui_basics\accessibility + + + JUCE Modules\juce_gui_basics\accessibility + + + JUCE Modules\juce_gui_basics\application + + + 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\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\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\components + + + JUCE Modules\juce_gui_basics\desktop + + + JUCE Modules\juce_gui_basics\desktop + + + 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\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\filebrowser + + + 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\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\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\lookandfeel + + + 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\menus + + + JUCE Modules\juce_gui_basics\menus + + + JUCE Modules\juce_gui_basics\menus + + + JUCE Modules\juce_gui_basics\menus + + + JUCE Modules\juce_gui_basics\misc + + + JUCE Modules\juce_gui_basics\misc + + + JUCE Modules\juce_gui_basics\misc + + + 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\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\x11 + + + JUCE Modules\juce_gui_basics\native\x11 + + + JUCE Modules\juce_gui_basics\native + + + JUCE Modules\juce_gui_basics\native + + + JUCE Modules\juce_gui_basics\native + + + 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\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\properties + + + 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\windows + + + 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\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\misc + + + JUCE Modules\juce_gui_extra\native + + + JUCE Modules\juce_gui_extra + + + JUCE Modules\juce_opengl\geometry + + + JUCE Modules\juce_opengl\geometry + + + JUCE Modules\juce_opengl\geometry + + + JUCE Modules\juce_opengl\geometry + + + 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\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\opengl + + + JUCE Modules\juce_opengl\opengl + + + JUCE Modules\juce_opengl\opengl + + + JUCE Modules\juce_opengl\opengl + + + JUCE Modules\juce_opengl\utils + + + JUCE Modules\juce_opengl + + + JUCE Modules\juce_osc\osc + + + JUCE Modules\juce_osc\osc + + + JUCE Modules\juce_osc\osc + + + JUCE Modules\juce_osc\osc + + + JUCE Modules\juce_osc\osc + + + JUCE Modules\juce_osc\osc + + + JUCE Modules\juce_osc\osc + + + JUCE Modules\juce_osc\osc + + + JUCE Modules\juce_osc + + + JUCE Modules\juce_product_unlocking\in_app_purchases + + + JUCE Modules\juce_product_unlocking\marketplace + + + JUCE Modules\juce_product_unlocking\marketplace + + + JUCE Modules\juce_product_unlocking\marketplace + + + JUCE Modules\juce_product_unlocking\marketplace + + + JUCE Modules\juce_product_unlocking + + + 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 Modules\juce_video\native + + + JUCE Modules\juce_video\playback + + + JUCE Modules\juce_video + + + JUCE Library Code + + + + + JUCE Modules\juce_audio_devices\native\oboe + + + JUCE Modules\juce_audio_devices\native\oboe + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7 + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK + + + JUCE Modules\juce_core\native\java + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + + + JUCE Library Code + + + diff --git a/extras/UnitTestRunner/Builds/VisualStudio2022/resources.rc b/extras/UnitTestRunner/Builds/VisualStudio2022/resources.rc new file mode 100644 index 00000000..6bd2e42e --- /dev/null +++ b/extras/UnitTestRunner/Builds/VisualStudio2022/resources.rc @@ -0,0 +1,33 @@ +#pragma code_page(65001) + +#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 "CompanyName", "Raw Material Software Limited\0" + VALUE "LegalCopyright", "Raw Material Software Limited\0" + VALUE "FileDescription", "UnitTestRunner\0" + VALUE "FileVersion", "1.0.0\0" + VALUE "ProductName", "UnitTestRunner\0" + VALUE "ProductVersion", "1.0.0\0" + END + END + + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1252 + END +END + +#endif diff --git a/extras/UnitTestRunner/UnitTestRunner.jucer b/extras/UnitTestRunner/UnitTestRunner.jucer index f5de712c..4db588a0 100644 --- a/extras/UnitTestRunner/UnitTestRunner.jucer +++ b/extras/UnitTestRunner/UnitTestRunner.jucer @@ -118,6 +118,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/extras/WindowsDLL/Builds/VisualStudio2019/WindowsDLL.sln b/extras/WindowsDLL/Builds/VisualStudio2019/WindowsDLL.sln deleted file mode 100644 index c683d96e..00000000 --- a/extras/WindowsDLL/Builds/VisualStudio2019/WindowsDLL.sln +++ /dev/null @@ -1,20 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2019 - -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WindowsDLL - Static Library", "WindowsDLL_StaticLibrary.vcxproj", "{B636B53B-C44B-1E04-8668-D61B3900BAA4}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|x64 = Debug|x64 - Release|x64 = Release|x64 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {B636B53B-C44B-1E04-8668-D61B3900BAA4}.Debug|x64.ActiveCfg = Debug|x64 - {B636B53B-C44B-1E04-8668-D61B3900BAA4}.Debug|x64.Build.0 = Debug|x64 - {B636B53B-C44B-1E04-8668-D61B3900BAA4}.Release|x64.ActiveCfg = Release|x64 - {B636B53B-C44B-1E04-8668-D61B3900BAA4}.Release|x64.Build.0 = Release|x64 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/extras/WindowsDLL/Builds/VisualStudio2019/WindowsDLL_StaticLibrary.vcxproj b/extras/WindowsDLL/Builds/VisualStudio2019/WindowsDLL_StaticLibrary.vcxproj deleted file mode 100644 index fd9e56fb..00000000 --- a/extras/WindowsDLL/Builds/VisualStudio2019/WindowsDLL_StaticLibrary.vcxproj +++ /dev/null @@ -1,3007 +0,0 @@ - - - - - - Debug - x64 - - - Release - x64 - - - - {B636B53B-C44B-1E04-8668-D61B3900BAA4} - - - - StaticLibrary - false - false - v142 - 10.0 - - - StaticLibrary - false - true - v142 - 10.0 - - - - - - - - <_ProjectFileVersion>10.0.30319.1 - .lib - $(SolutionDir)$(Platform)\$(Configuration)\Static Library\ - $(Platform)\$(Configuration)\Static Library\ - juce_dll - true - $(SolutionDir)$(Platform)\$(Configuration)\Static Library\ - $(Platform)\$(Configuration)\Static Library\ - juce_dll - true - - - - _DEBUG;%(PreprocessorDefinitions) - true - true - Win32 - - - - Disabled - ProgramDatabase - ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60100;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_video=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_STANDALONE_APPLICATION=1;JUCE_DLL_BUILD=1;JUCER_VS2019_78A5026=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;_LIB;%(PreprocessorDefinitions) - MultiThreadedDebugDLL - true - NotUsing - $(IntDir)\ - $(IntDir)\ - $(IntDir)\juce_dll.pdb - Level4 - true - true - stdcpp14 - - - _DEBUG;%(PreprocessorDefinitions) - - - $(OutDir)\juce_dll.lib - true - libcmt.lib; msvcrt.lib;;%(IgnoreSpecificDefaultLibraries) - true - $(IntDir)\juce_dll.pdb - Windows - true - - - true - $(IntDir)\juce_dll.bsc - - - - - - NDEBUG;%(PreprocessorDefinitions) - true - true - Win32 - - - - Full - ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60100;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_video=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_STANDALONE_APPLICATION=1;JUCE_DLL_BUILD=1;JUCER_VS2019_78A5026=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;_LIB;%(PreprocessorDefinitions) - MultiThreadedDLL - true - NotUsing - $(IntDir)\ - $(IntDir)\ - $(IntDir)\juce_dll.pdb - Level4 - true - true - stdcpp14 - - - NDEBUG;%(PreprocessorDefinitions) - - - $(OutDir)\juce_dll.lib - true - %(IgnoreSpecificDefaultLibraries) - false - $(IntDir)\juce_dll.pdb - Windows - true - true - true - UseLinkTimeCodeGeneration - - - true - $(IntDir)\juce_dll.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 - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - true - - - - - - - - - - - - - /bigobj %(AdditionalOptions) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/extras/WindowsDLL/Builds/VisualStudio2019/WindowsDLL_StaticLibrary.vcxproj.filters b/extras/WindowsDLL/Builds/VisualStudio2019/WindowsDLL_StaticLibrary.vcxproj.filters deleted file mode 100644 index f373b96c..00000000 --- a/extras/WindowsDLL/Builds/VisualStudio2019/WindowsDLL_StaticLibrary.vcxproj.filters +++ /dev/null @@ -1,5187 +0,0 @@ - - - - - - {EB58F05A-A968-CEBE-40C4-107CDD8F240F} - - - {5FCF559E-451A-CB1E-B177-A5DC5A0005BB} - - - {05CE33FC-868F-AA1A-12B8-79C98E753648} - - - {D78296AF-218E-B17E-7F8B-9D148601188D} - - - {B96EBA26-E668-FFAF-FC53-1EC1337DAF5A} - - - {D8532E5E-469E-5042-EFC8-238241704735} - - - {777B5D1D-9AF0-B22B-8894-034603EE97F5} - - - {8292766D-2459-2E7E-7615-17216318BA93} - - - {9BD56105-DAB4-EBD5-00DD-BD540E98FE88} - - - {10472B2C-9888-D269-F351-0D0AC3BCD16C} - - - {BF23FC10-1D57-2A9B-706F-6DD8A7B593D4} - - - {386862D5-4DCC-A4B3-5642-60A201E303EF} - - - {092EFC17-7C95-7E04-0ACA-0D61A462EE81} - - - {285118C6-8FDA-7DCE-BEF4-FFB2120876C5} - - - {69ED6B61-9B8D-D47E-E4A6-2E9F9A94A75A} - - - {7CDB7CD1-BB96-F593-3C78-1E06182B5839} - - - {B0A708DE-B4CF-196B-14FB-DC8221509B8E} - - - {34F46ADE-EE31-227A-A69E-7732E70145F1} - - - {BB9B3C77-17FB-E994-8B75-88F1727E4655} - - - {C0971D77-2F14-190A-E2AE-89D6285F4D5A} - - - {AABEA333-6524-8891-51C7-6DAEB5700628} - - - {F2D29337-983E-BAD7-7B5C-E0AB3D53D404} - - - {C674B0FB-1FC0-2986-94B1-083845018994} - - - {0AFC1CE8-F6E6-9817-8C21-8432B2A375DA} - - - {0D1AF264-3AC1-78A2-B2A4-AE6171F9194A} - - - {9A5DB854-CFFB-5F88-C566-0E10F994DDB3} - - - {38A5DDC7-416E-548F-39DA-887875FE6B20} - - - {980FE2DB-05D3-5FDA-79DA-067A56F5D19D} - - - {F336DC25-747A-0663-93D6-E3EB9AA0CBF8} - - - {7D78546A-80FC-4DCA-00B9-F191F0AB2179} - - - {9EB3EC7F-2AB7-DDAA-3C05-DF382B728D3F} - - - {6B9FBFDC-1D10-6246-356D-00FF4535CECB} - - - {D6FCFC8E-7136-9109-78C0-91A3EB4C443F} - - - {EBF18AC1-F0ED-937A-2824-4307CE2ADAF7} - - - {5A0F7922-2EFB-6465-57E4-A445B804EFB5} - - - {4EC45416-0E7C-7567-6F75-D0C8CEE7DC4F} - - - {C2985031-0496-55B5-41A8-BAB99E53D89D} - - - {FB4AB426-7009-0036-BB75-E34256AA7C89} - - - {E684D858-09E8-0251-8E86-5657129641E1} - - - {1EF1BF17-F941-243A-04D1-EE617D140CBA} - - - {344DB016-679C-FBD0-3EC6-4570C47522DE} - - - {3D9758A0-9359-1710-87C1-05D475C08B17} - - - {E824435F-FC7B-10BE-5D1A-5DACC51A8836} - - - {86737735-F6BA-F64A-5EC7-5C9F36755F79} - - - {4DC60E78-BBC0-B540-63A2-37E14ABBEF09} - - - {80C72173-A1E1-C3C5-9288-B889CE2EAFEA} - - - {4138B955-AA0B-FA86-DBF9-404CAFFFA866} - - - {2B4166B8-F470-F07C-4F51-D2DAAAECBB18} - - - {9C295115-C0CD-3129-1C4D-FB53299B23FB} - - - {65526A8B-3447-9DF0-FD5D-00D111126027} - - - {A54A1F5C-F32F-F97B-9E8A-69922B770A54} - - - {B90A44F3-B62D-B5C0-81A2-683D2650AEE6} - - - {DAF30656-5915-0E45-C4E4-54439617D525} - - - {9266EA90-6A0A-5DDB-9CB7-966BEF03BA5C} - - - {9C713CBA-A9E2-5F4E-F83C-2CAB8533913C} - - - {63571A07-9AA3-5BB0-1103-0B42A2E6BC9E} - - - {314F43F2-BC8F-B464-EAE7-86B9675454E9} - - - {874C5D0C-6D29-68EE-38BB-26200B56BC89} - - - {86BAA7A7-DC50-35B6-910B-932AEAF257F2} - - - {6B7BE34D-1BC1-C7B9-111F-C55CA8250943} - - - {9B6B6D54-D378-80C2-8CC9-D1D8FB44C2A8} - - - {D0584AC3-6837-14F6-90BF-5EA604D1F074} - - - {794B64EC-B809-32E3-AD00-4EE6A74802CA} - - - {67BE498C-9E1F-C73A-B99A-387C034CE680} - - - {1A9C8538-959B-25E3-473D-B462C9A9D458} - - - {AA9F594C-DFAF-C0A7-0CCD-9F90E54D3A01} - - - {230BF784-34F4-3BE8-46D4-54E6B67E5E9E} - - - {39F680F3-5161-4D1C-EAD0-3911ED808874} - - - {3197198B-A978-E330-C7FB-07E5CE8236C7} - - - {42F7BE9D-3C8A-AE26-289B-8F355C068036} - - - {7868764A-6572-381A-906C-9C26792A4C29} - - - {03678508-A517-48BB-FB4A-485628C34E08} - - - {07D27C1D-3227-F527-356C-17DA11551A99} - - - {6146D580-99D2-A6C8-5908-30DC355BB6BA} - - - {C67003E8-BEA8-2188-F4B3-A122F4B4FA3F} - - - {09B91E68-1FF4-C7ED-9055-D4D96E66A0BA} - - - {30B3DA63-C1E4-F2EA-CEF0-8035D8CBFF64} - - - {4F24EEED-AA33-AC6C-9A39-72E71CF83EF0} - - - {0F70B1A9-BB50-23F5-2AE7-F95E51A00389} - - - {D4C8DC40-2CD2-04B6-05D0-1E7A88841390} - - - {58BED6AF-DB89-7560-B2B8-D937C1C0825A} - - - {B958F86B-6926-8D9B-2FC6-8BFD4BDC72C9} - - - {DB624F7D-D513-25AC-C13C-B9062EB3BEEE} - - - {89AA9B6C-4029-A34F-C1B0-3B5D8691F4D4} - - - {1A7F541C-B032-9C66-C320-A13B2A8A9866} - - - {4BAB7C18-51AB-0D9D-83CD-9C37F28D2E38} - - - {5523922E-8B0C-A52B-477C-752C09F8197F} - - - {857B6D8B-0ECB-FE9E-D1EB-D5E45E72F057} - - - {BAA582FA-40B7-320E-EE7A-4C3892C7BE72} - - - {89B3E447-34BE-C691-638E-09796C6B647E} - - - {9BE78436-DBF4-658C-579B-ED19FFD0EB5D} - - - {21E7FA61-9E0A-4BA1-04B7-AF47AFA9CB8B} - - - {632B4C79-AF7D-BFB5-D006-5AE67F607130} - - - {B10E20C2-4583-2B79-60B7-FE4D4B044313} - - - {CFB54F15-8A8A-0505-9B7F-ECA41CEE38E8} - - - {911F0159-A7A8-4A43-3FD4-154F62F4A44B} - - - {9D5816C2-E2B2-2E3F-B095-AC8BD1100D29} - - - {3FDCD000-763F-8477-9AF8-70ABA2E91E5E} - - - {0947506F-66FA-EF8D-8A4E-4D48BCDBB226} - - - {E4B6AED3-F54C-3FF2-069F-640BACAE0E08} - - - {D5EADBCC-6A1C-C940-0206-26E49110AF08} - - - {D27DC92D-5BEB-9294-DCD1-81D54E245AD5} - - - {BCD73D20-42B1-6CDB-DE66-B06236A60F47} - - - {20DC13F6-2369-8841-9F0B-D13FA14EEE74} - - - {A302A8DB-120F-9EBB-A3D5-2C29963AA56B} - - - {45489C2A-6E0E-CCDC-6638-0DACEEB63CCA} - - - {F1B90726-DB55-0293-BFAF-C65C7DF5489C} - - - {2C55FD42-0ACD-B0B8-7EAE-EB17F09BAEEC} - - - {B68CD2B2-701F-9AB7-4638-2485D6E06BCF} - - - {B0B7C78E-729E-0FFA-D611-82AE8BC7FE2C} - - - {0A4F7E12-220C-14EF-0026-9C0629FA9C17} - - - {37F49E10-4E62-6D5C-FF70-722D0CA3D97E} - - - {160D9882-0F68-278D-C5F9-8960FD7421D2} - - - {4CED05DA-E0A2-E548-F753-1F2EF299A8E3} - - - {46AE69B8-AD58-4381-6CDE-25C8D75B01D2} - - - {E56CB4FC-32E8-8740-A3BB-B323CD937A99} - - - {4ECDCA0C-BB38-0729-A6B6-2FB0B4D0863B} - - - {294E4CD5-B06F-97D1-04A3-51871CEA507C} - - - {77228F15-BD91-06FF-2C7E-0377D25C2C94} - - - {5CB531E6-BF9A-2C50-056C-EE5A525D28D3} - - - {E4EA47E5-B41C-2A19-1783-7E9104096ECD} - - - {B331BC33-9770-3DB5-73F2-BC2469ECCF7F} - - - {46A17AC9-0BFF-B5CE-26D6-B9D1992C88AC} - - - {D90A8DF7-FBAB-D363-13C0-6707BB22B72B} - - - {8AE77C40-6839-EC37-4515-BD3CC269BCE4} - - - {0EAD99DB-011F-09E5-45A2-365F646EB004} - - - {F57590C6-3B90-1BE1-1006-488BA33E8BD9} - - - {7C319D73-0D93-5842-0874-398D2D3038D5} - - - {2CB4DB0C-DD3B-6195-D822-76EC7A5C88D2} - - - {FE3CB19C-EF43-5CF5-DAF0-09D4E43D0AB9} - - - {C0E5DD5D-F8F1-DD25-67D7-291946AB3828} - - - {FE7E6CD5-C7A0-DB20-4E7E-D6E7F08C4578} - - - {895C2D33-E08D-B1BA-BB36-FC4CA65090C8} - - - {D64A57DB-A956-5519-1929-1D929B56E1B0} - - - {5A99CC24-AC45-7ED6-C11A-B8B86E76D884} - - - {7A131EEC-25A7-22F6-2839-A2194DDF3007} - - - {EA9DB76C-CEF7-6BFC-2070-28B7DF8E8063} - - - {3C206A40-6F1B-E683-ACF1-DEC3703D0140} - - - {DF95D4BF-E18C-125A-5EBB-8993A06E232C} - - - {118946F2-AC24-0F09-62D5-753DF87A60CD} - - - {07329F9B-7D3D-CEB3-C771-714842076140} - - - {08BBBECB-B0D1-7611-37EC-F57E1D0CE2A2} - - - {268E8F2A-980C-BF2F-B161-AACABC9D91F3} - - - {A4D76113-9EDC-DA60-D89B-5BACF7F1C426} - - - {1A9221A3-E993-70B2-6EA2-8E1DB5FF646A} - - - {CC2DAD7A-5B45-62AB-4C54-6FE6B1AE86C3} - - - {599138A9-EA63-53DD-941F-ABE3412D2949} - - - {422A4014-8587-1AE6-584F-32A62613A37B} - - - {9FBFF5E5-56F1-34A1-2C85-F760DA2B1EB7} - - - {CB8DF3B2-0409-6D59-C5D4-A034EBB7F973} - - - {7774F72F-C951-B8AB-E927-E34AD23C52C8} - - - {658BADF8-7095-C722-F9EC-9F36E8818187} - - - {2C58F450-CD01-0231-2F16-0D4D68565164} - - - {FE955B6B-68AC-AA07-70D8-2413F6DB65C8} - - - {7ED5A90E-41AF-A1EF-659B-37CEEAB9BA61} - - - - - JUCE Modules\juce_audio_basics\buffers - - - JUCE Modules\juce_audio_basics\buffers - - - JUCE Modules\juce_audio_basics\buffers - - - JUCE Modules\juce_audio_basics\buffers - - - JUCE Modules\juce_audio_basics\midi\ump - - - JUCE Modules\juce_audio_basics\midi\ump - - - JUCE Modules\juce_audio_basics\midi\ump - - - JUCE Modules\juce_audio_basics\midi\ump - - - JUCE Modules\juce_audio_basics\midi\ump - - - 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\midi - - - JUCE Modules\juce_audio_basics\mpe - - - JUCE Modules\juce_audio_basics\mpe - - - JUCE Modules\juce_audio_basics\mpe - - - JUCE Modules\juce_audio_basics\mpe - - - JUCE Modules\juce_audio_basics\mpe - - - JUCE Modules\juce_audio_basics\mpe - - - JUCE Modules\juce_audio_basics\mpe - - - JUCE Modules\juce_audio_basics\mpe - - - JUCE Modules\juce_audio_basics\mpe - - - 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\utilities - - - JUCE Modules\juce_audio_basics\utilities - - - JUCE Modules\juce_audio_basics\utilities - - - JUCE Modules\juce_audio_basics\utilities - - - JUCE Modules\juce_audio_basics\utilities - - - JUCE Modules\juce_audio_basics\utilities - - - JUCE Modules\juce_audio_basics - - - 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\midi_io\ump - - - JUCE Modules\juce_audio_devices\midi_io - - - JUCE Modules\juce_audio_devices\midi_io - - - JUCE Modules\juce_audio_devices\native\oboe\src\aaudio - - - JUCE Modules\juce_audio_devices\native\oboe\src\aaudio - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\fifo - - - JUCE Modules\juce_audio_devices\native\oboe\src\fifo - - - JUCE Modules\juce_audio_devices\native\oboe\src\fifo - - - JUCE Modules\juce_audio_devices\native\oboe\src\fifo - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\opensles - - - JUCE Modules\juce_audio_devices\native\oboe\src\opensles - - - JUCE Modules\juce_audio_devices\native\oboe\src\opensles - - - JUCE Modules\juce_audio_devices\native\oboe\src\opensles - - - JUCE Modules\juce_audio_devices\native\oboe\src\opensles - - - JUCE Modules\juce_audio_devices\native\oboe\src\opensles - - - JUCE Modules\juce_audio_devices\native\oboe\src\opensles - - - 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\sources - - - JUCE Modules\juce_audio_devices\sources - - - JUCE Modules\juce_audio_devices - - - JUCE Modules\juce_audio_devices - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis - - - 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\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\sampler - - - JUCE Modules\juce_audio_formats - - - JUCE Modules\juce_audio_formats - - - JUCE Modules\juce_audio_processors\format - - - JUCE Modules\juce_audio_processors\format - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\thread\source - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\common - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\common - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst - - - 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\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\scanning - - - JUCE Modules\juce_audio_processors\scanning - - - JUCE Modules\juce_audio_processors\scanning - - - JUCE Modules\juce_audio_processors\utilities - - - JUCE Modules\juce_audio_processors\utilities - - - JUCE Modules\juce_audio_processors\utilities - - - JUCE Modules\juce_audio_processors\utilities - - - JUCE Modules\juce_audio_processors\utilities - - - JUCE Modules\juce_audio_processors\utilities - - - JUCE Modules\juce_audio_processors\utilities - - - JUCE Modules\juce_audio_processors\utilities - - - JUCE Modules\juce_audio_processors\utilities - - - JUCE Modules\juce_audio_processors - - - JUCE Modules\juce_audio_processors - - - JUCE Modules\juce_audio_utils\audio_cd - - - 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\native - - - JUCE Modules\juce_audio_utils\native - - - JUCE Modules\juce_audio_utils\native - - - JUCE Modules\juce_audio_utils\native - - - JUCE Modules\juce_audio_utils\native - - - JUCE Modules\juce_audio_utils\native - - - JUCE Modules\juce_audio_utils\native - - - JUCE Modules\juce_audio_utils\native - - - JUCE Modules\juce_audio_utils\native - - - JUCE Modules\juce_audio_utils\native - - - JUCE Modules\juce_audio_utils\players - - - JUCE Modules\juce_audio_utils\players - - - JUCE Modules\juce_audio_utils - - - JUCE Modules\juce_audio_utils - - - 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\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\javascript - - - JUCE Modules\juce_core\javascript - - - JUCE Modules\juce_core\logging - - - JUCE Modules\juce_core\logging - - - 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\misc - - - 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\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\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\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\system - - - 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\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\unit_tests - - - JUCE Modules\juce_core\xml - - - JUCE Modules\juce_core\xml - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip - - - JUCE Modules\juce_core\zip - - - JUCE Modules\juce_core\zip - - - JUCE Modules\juce_core - - - 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\hashing - - - JUCE Modules\juce_cryptography - - - JUCE Modules\juce_cryptography - - - JUCE Modules\juce_data_structures\app_properties - - - JUCE Modules\juce_data_structures\app_properties - - - JUCE Modules\juce_data_structures\undomanager - - - JUCE Modules\juce_data_structures\values - - - JUCE Modules\juce_data_structures\values - - - JUCE Modules\juce_data_structures\values - - - JUCE Modules\juce_data_structures\values - - - JUCE Modules\juce_data_structures\values - - - JUCE Modules\juce_data_structures - - - JUCE Modules\juce_data_structures - - - 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\interprocess - - - JUCE Modules\juce_events\messages - - - JUCE Modules\juce_events\messages - - - JUCE Modules\juce_events\messages - - - JUCE Modules\juce_events\messages - - - 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_events\native - - - JUCE Modules\juce_events\native - - - JUCE Modules\juce_events\timers - - - JUCE Modules\juce_events\timers - - - JUCE Modules\juce_events - - - 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\contexts - - - JUCE Modules\juce_graphics\contexts - - - JUCE Modules\juce_graphics\contexts - - - JUCE Modules\juce_graphics\effects - - - JUCE Modules\juce_graphics\effects - - - 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\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\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\pnglib - - - JUCE Modules\juce_graphics\image_formats\pnglib - - - JUCE Modules\juce_graphics\image_formats\pnglib - - - JUCE Modules\juce_graphics\image_formats\pnglib - - - JUCE Modules\juce_graphics\image_formats\pnglib - - - JUCE Modules\juce_graphics\image_formats\pnglib - - - JUCE Modules\juce_graphics\image_formats\pnglib - - - JUCE Modules\juce_graphics\image_formats\pnglib - - - JUCE Modules\juce_graphics\image_formats\pnglib - - - JUCE Modules\juce_graphics\image_formats\pnglib - - - JUCE Modules\juce_graphics\image_formats\pnglib - - - JUCE Modules\juce_graphics\image_formats\pnglib - - - JUCE Modules\juce_graphics\image_formats\pnglib - - - JUCE Modules\juce_graphics\image_formats\pnglib - - - JUCE Modules\juce_graphics\image_formats\pnglib - - - JUCE Modules\juce_graphics\image_formats - - - JUCE Modules\juce_graphics\image_formats - - - JUCE Modules\juce_graphics\image_formats - - - JUCE Modules\juce_graphics\images - - - JUCE Modules\juce_graphics\images - - - JUCE Modules\juce_graphics\images - - - JUCE Modules\juce_graphics\images - - - 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_graphics\native - - - JUCE Modules\juce_graphics\native - - - JUCE Modules\juce_graphics\native - - - JUCE Modules\juce_graphics\native - - - JUCE Modules\juce_graphics\placement - - - JUCE Modules\juce_graphics - - - JUCE Modules\juce_graphics - - - JUCE Modules\juce_gui_basics\accessibility - - - JUCE Modules\juce_gui_basics\application - - - 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\commands - - - JUCE Modules\juce_gui_basics\commands - - - JUCE Modules\juce_gui_basics\commands - - - JUCE Modules\juce_gui_basics\commands - - - 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\desktop - - - JUCE Modules\juce_gui_basics\desktop - - - 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\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\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\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\layout - - - JUCE Modules\juce_gui_basics\layout - - - 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\lookandfeel - - - JUCE Modules\juce_gui_basics\menus - - - JUCE Modules\juce_gui_basics\menus - - - JUCE Modules\juce_gui_basics\menus - - - JUCE Modules\juce_gui_basics\menus - - - JUCE Modules\juce_gui_basics\misc - - - JUCE Modules\juce_gui_basics\misc - - - JUCE Modules\juce_gui_basics\misc - - - 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\native\accessibility - - - JUCE Modules\juce_gui_basics\native\accessibility - - - JUCE Modules\juce_gui_basics\native\accessibility - - - JUCE Modules\juce_gui_basics\native\accessibility - - - JUCE Modules\juce_gui_basics\native\accessibility - - - JUCE Modules\juce_gui_basics\native\accessibility - - - JUCE Modules\juce_gui_basics\native\x11 - - - JUCE Modules\juce_gui_basics\native\x11 - - - JUCE Modules\juce_gui_basics\native\x11 - - - 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_basics\native - - - JUCE Modules\juce_gui_basics\native - - - JUCE Modules\juce_gui_basics\native - - - 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\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\properties - - - 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 - - - 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\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\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_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 - - - 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\opengl - - - JUCE Modules\juce_opengl\utils - - - JUCE Modules\juce_opengl - - - JUCE Modules\juce_opengl - - - JUCE Modules\juce_video\capture - - - JUCE Modules\juce_video\playback - - - JUCE Modules\juce_video - - - JUCE Modules\juce_video - - - 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\audio_play_head - - - JUCE Modules\juce_audio_basics\buffers - - - JUCE Modules\juce_audio_basics\buffers - - - JUCE Modules\juce_audio_basics\buffers - - - JUCE Modules\juce_audio_basics\buffers - - - JUCE Modules\juce_audio_basics\buffers - - - JUCE Modules\juce_audio_basics\midi\ump - - - JUCE Modules\juce_audio_basics\midi\ump - - - JUCE Modules\juce_audio_basics\midi\ump - - - JUCE Modules\juce_audio_basics\midi\ump - - - JUCE Modules\juce_audio_basics\midi\ump - - - JUCE Modules\juce_audio_basics\midi\ump - - - JUCE Modules\juce_audio_basics\midi\ump - - - JUCE Modules\juce_audio_basics\midi\ump - - - JUCE Modules\juce_audio_basics\midi\ump - - - JUCE Modules\juce_audio_basics\midi\ump - - - JUCE Modules\juce_audio_basics\midi\ump - - - JUCE Modules\juce_audio_basics\midi\ump - - - JUCE Modules\juce_audio_basics\midi\ump - - - JUCE Modules\juce_audio_basics\midi\ump - - - JUCE Modules\juce_audio_basics\midi\ump - - - 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\midi - - - JUCE Modules\juce_audio_basics\midi - - - JUCE Modules\juce_audio_basics\mpe - - - JUCE Modules\juce_audio_basics\mpe - - - JUCE Modules\juce_audio_basics\mpe - - - JUCE Modules\juce_audio_basics\mpe - - - JUCE Modules\juce_audio_basics\mpe - - - JUCE Modules\juce_audio_basics\mpe - - - JUCE Modules\juce_audio_basics\mpe - - - JUCE Modules\juce_audio_basics\mpe - - - JUCE Modules\juce_audio_basics\mpe - - - JUCE Modules\juce_audio_basics\native - - - 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\sources - - - JUCE Modules\juce_audio_basics\synthesisers - - - JUCE Modules\juce_audio_basics\utilities - - - JUCE Modules\juce_audio_basics\utilities - - - JUCE Modules\juce_audio_basics\utilities - - - JUCE Modules\juce_audio_basics\utilities - - - JUCE Modules\juce_audio_basics\utilities - - - JUCE Modules\juce_audio_basics\utilities - - - JUCE Modules\juce_audio_basics\utilities - - - 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\ump - - - JUCE Modules\juce_audio_devices\midi_io\ump - - - JUCE Modules\juce_audio_devices\midi_io - - - JUCE Modules\juce_audio_devices\midi_io - - - JUCE Modules\juce_audio_devices\native\oboe\include\oboe - - - JUCE Modules\juce_audio_devices\native\oboe\include\oboe - - - JUCE Modules\juce_audio_devices\native\oboe\include\oboe - - - JUCE Modules\juce_audio_devices\native\oboe\include\oboe - - - JUCE Modules\juce_audio_devices\native\oboe\include\oboe - - - JUCE Modules\juce_audio_devices\native\oboe\include\oboe - - - JUCE Modules\juce_audio_devices\native\oboe\include\oboe - - - JUCE Modules\juce_audio_devices\native\oboe\include\oboe - - - JUCE Modules\juce_audio_devices\native\oboe\include\oboe - - - JUCE Modules\juce_audio_devices\native\oboe\include\oboe - - - JUCE Modules\juce_audio_devices\native\oboe\include\oboe - - - JUCE Modules\juce_audio_devices\native\oboe\src\aaudio - - - JUCE Modules\juce_audio_devices\native\oboe\src\aaudio - - - JUCE Modules\juce_audio_devices\native\oboe\src\aaudio - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\common - - - JUCE Modules\juce_audio_devices\native\oboe\src\fifo - - - JUCE Modules\juce_audio_devices\native\oboe\src\fifo - - - JUCE Modules\juce_audio_devices\native\oboe\src\fifo - - - JUCE Modules\juce_audio_devices\native\oboe\src\fifo - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph - - - JUCE Modules\juce_audio_devices\native\oboe\src\opensles - - - JUCE Modules\juce_audio_devices\native\oboe\src\opensles - - - JUCE Modules\juce_audio_devices\native\oboe\src\opensles - - - JUCE Modules\juce_audio_devices\native\oboe\src\opensles - - - JUCE Modules\juce_audio_devices\native\oboe\src\opensles - - - JUCE Modules\juce_audio_devices\native\oboe\src\opensles - - - JUCE Modules\juce_audio_devices\native\oboe\src\opensles - - - JUCE Modules\juce_audio_devices\native - - - JUCE Modules\juce_audio_devices\native - - - JUCE Modules\juce_audio_devices\sources - - - JUCE Modules\juce_audio_devices\sources - - - JUCE Modules\juce_audio_devices - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected - - - JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected - - - JUCE Modules\juce_audio_formats\codecs\flac - - - JUCE Modules\juce_audio_formats\codecs\flac - - - JUCE Modules\juce_audio_formats\codecs\flac - - - JUCE Modules\juce_audio_formats\codecs\flac - - - JUCE Modules\juce_audio_formats\codecs\flac - - - JUCE Modules\juce_audio_formats\codecs\flac - - - JUCE Modules\juce_audio_formats\codecs\flac - - - JUCE Modules\juce_audio_formats\codecs\flac - - - JUCE Modules\juce_audio_formats\codecs\flac - - - JUCE Modules\juce_audio_formats\codecs\flac - - - JUCE Modules\juce_audio_formats\codecs\flac - - - JUCE Modules\juce_audio_formats\codecs\flac - - - JUCE Modules\juce_audio_formats\codecs\flac - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\books\coupled - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\books\coupled - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\books\floor - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\books\uncoupled - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis - - - 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\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\sampler - - - JUCE Modules\juce_audio_formats - - - JUCE Modules\juce_audio_processors\format - - - JUCE Modules\juce_audio_processors\format - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\thread\include - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\gui - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\gui - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\common - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\common - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst - - - 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\format_types - - - JUCE Modules\juce_audio_processors\format_types - - - 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\processors - - - JUCE Modules\juce_audio_processors\scanning - - - JUCE Modules\juce_audio_processors\scanning - - - JUCE Modules\juce_audio_processors\scanning - - - JUCE Modules\juce_audio_processors\utilities - - - JUCE Modules\juce_audio_processors\utilities - - - JUCE Modules\juce_audio_processors\utilities - - - JUCE Modules\juce_audio_processors\utilities - - - JUCE Modules\juce_audio_processors\utilities - - - JUCE Modules\juce_audio_processors\utilities - - - JUCE Modules\juce_audio_processors\utilities - - - JUCE Modules\juce_audio_processors\utilities - - - JUCE Modules\juce_audio_processors\utilities - - - JUCE Modules\juce_audio_processors\utilities - - - JUCE Modules\juce_audio_processors\utilities - - - JUCE Modules\juce_audio_processors\utilities - - - JUCE Modules\juce_audio_processors - - - JUCE Modules\juce_audio_utils\audio_cd - - - JUCE Modules\juce_audio_utils\audio_cd - - - 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\gui - - - JUCE Modules\juce_audio_utils\gui - - - JUCE Modules\juce_audio_utils\players - - - JUCE Modules\juce_audio_utils\players - - - JUCE Modules\juce_audio_utils - - - 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\containers - - - JUCE Modules\juce_core\containers - - - 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\files - - - JUCE Modules\juce_core\javascript - - - JUCE Modules\juce_core\javascript - - - JUCE Modules\juce_core\logging - - - JUCE Modules\juce_core\logging - - - 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\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\memory - - - JUCE Modules\juce_core\memory - - - JUCE Modules\juce_core\misc - - - JUCE Modules\juce_core\misc - - - JUCE Modules\juce_core\misc - - - 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\native - - - JUCE Modules\juce_core\native - - - JUCE Modules\juce_core\native - - - 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\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\streams - - - 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\system - - - 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\text - - - 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\unit_tests - - - JUCE Modules\juce_core\unit_tests - - - JUCE Modules\juce_core\xml - - - JUCE Modules\juce_core\xml - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip\zlib - - - JUCE Modules\juce_core\zip - - - JUCE Modules\juce_core\zip - - - JUCE Modules\juce_core\zip - - - 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\hashing - - - JUCE Modules\juce_cryptography - - - JUCE Modules\juce_data_structures\app_properties - - - JUCE Modules\juce_data_structures\app_properties - - - JUCE Modules\juce_data_structures\undomanager - - - JUCE Modules\juce_data_structures\undomanager - - - JUCE Modules\juce_data_structures\values - - - JUCE Modules\juce_data_structures\values - - - JUCE Modules\juce_data_structures\values - - - JUCE Modules\juce_data_structures\values - - - JUCE Modules\juce_data_structures\values - - - JUCE Modules\juce_data_structures - - - 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\interprocess - - - 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\native - - - JUCE Modules\juce_events\native - - - JUCE Modules\juce_events\native - - - JUCE Modules\juce_events\native - - - JUCE Modules\juce_events\native - - - JUCE Modules\juce_events\timers - - - JUCE Modules\juce_events\timers - - - 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\effects - - - JUCE Modules\juce_graphics\effects - - - JUCE Modules\juce_graphics\effects - - - 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\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\geometry - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\pnglib - - - JUCE Modules\juce_graphics\image_formats\pnglib - - - JUCE Modules\juce_graphics\image_formats\pnglib - - - JUCE Modules\juce_graphics\image_formats\pnglib - - - JUCE Modules\juce_graphics\image_formats\pnglib - - - JUCE Modules\juce_graphics\image_formats\pnglib - - - JUCE Modules\juce_graphics\images - - - JUCE Modules\juce_graphics\images - - - JUCE Modules\juce_graphics\images - - - JUCE Modules\juce_graphics\images - - - JUCE Modules\juce_graphics\native - - - JUCE Modules\juce_graphics\native - - - JUCE Modules\juce_graphics\native - - - JUCE Modules\juce_graphics\native - - - JUCE Modules\juce_graphics\placement - - - JUCE Modules\juce_graphics\placement - - - JUCE Modules\juce_graphics - - - JUCE Modules\juce_gui_basics\accessibility\enums - - - JUCE Modules\juce_gui_basics\accessibility\enums - - - JUCE Modules\juce_gui_basics\accessibility\enums - - - JUCE Modules\juce_gui_basics\accessibility\interfaces - - - JUCE Modules\juce_gui_basics\accessibility\interfaces - - - JUCE Modules\juce_gui_basics\accessibility\interfaces - - - JUCE Modules\juce_gui_basics\accessibility\interfaces - - - JUCE Modules\juce_gui_basics\accessibility - - - JUCE Modules\juce_gui_basics\accessibility - - - JUCE Modules\juce_gui_basics\application - - - 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\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\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\components - - - JUCE Modules\juce_gui_basics\desktop - - - JUCE Modules\juce_gui_basics\desktop - - - 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\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\filebrowser - - - 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\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\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\lookandfeel - - - 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\menus - - - JUCE Modules\juce_gui_basics\menus - - - JUCE Modules\juce_gui_basics\menus - - - JUCE Modules\juce_gui_basics\menus - - - JUCE Modules\juce_gui_basics\misc - - - JUCE Modules\juce_gui_basics\misc - - - JUCE Modules\juce_gui_basics\misc - - - 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\native\accessibility - - - JUCE Modules\juce_gui_basics\native\accessibility - - - JUCE Modules\juce_gui_basics\native\accessibility - - - JUCE Modules\juce_gui_basics\native\accessibility - - - JUCE Modules\juce_gui_basics\native\accessibility - - - JUCE Modules\juce_gui_basics\native\accessibility - - - JUCE Modules\juce_gui_basics\native\accessibility - - - JUCE Modules\juce_gui_basics\native\accessibility - - - JUCE Modules\juce_gui_basics\native\accessibility - - - JUCE Modules\juce_gui_basics\native\accessibility - - - JUCE Modules\juce_gui_basics\native\accessibility - - - JUCE Modules\juce_gui_basics\native\accessibility - - - JUCE Modules\juce_gui_basics\native\accessibility - - - JUCE Modules\juce_gui_basics\native\accessibility - - - JUCE Modules\juce_gui_basics\native\accessibility - - - JUCE Modules\juce_gui_basics\native\accessibility - - - JUCE Modules\juce_gui_basics\native\accessibility - - - JUCE Modules\juce_gui_basics\native\x11 - - - JUCE Modules\juce_gui_basics\native\x11 - - - JUCE Modules\juce_gui_basics\native - - - JUCE Modules\juce_gui_basics\native - - - 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\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\properties - - - 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\windows - - - 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\embedding - - - 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\misc - - - JUCE Modules\juce_gui_extra\native - - - JUCE Modules\juce_gui_extra - - - JUCE Modules\juce_opengl\geometry - - - JUCE Modules\juce_opengl\geometry - - - JUCE Modules\juce_opengl\geometry - - - JUCE Modules\juce_opengl\geometry - - - 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\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\opengl - - - JUCE Modules\juce_opengl\opengl - - - JUCE Modules\juce_opengl\opengl - - - JUCE Modules\juce_opengl\opengl - - - JUCE Modules\juce_opengl\utils - - - JUCE Modules\juce_opengl - - - 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 Modules\juce_video\native - - - JUCE Modules\juce_video\playback - - - JUCE Modules\juce_video - - - JUCE Library Code - - - - - JUCE Modules\juce_audio_devices\native\oboe - - - JUCE Modules\juce_audio_devices\native\oboe - - - JUCE Modules\juce_audio_formats\codecs\flac - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7 - - - JUCE Modules\juce_audio_formats\codecs\oggvorbis - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK - - - JUCE Modules\juce_audio_processors\format_types\VST3_SDK - - - JUCE Modules\juce_core\native\java - - - JUCE Modules\juce_graphics\image_formats\jpglib - - - JUCE Modules\juce_graphics\image_formats\pnglib - - - diff --git a/extras/WindowsDLL/Builds/VisualStudio2022/WindowsDLL.sln b/extras/WindowsDLL/Builds/VisualStudio2022/WindowsDLL.sln new file mode 100644 index 00000000..a484bf5f --- /dev/null +++ b/extras/WindowsDLL/Builds/VisualStudio2022/WindowsDLL.sln @@ -0,0 +1,21 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio Version 17 + +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WindowsDLL - Static Library", "WindowsDLL_StaticLibrary.vcxproj", "{B636B53B-C44B-1E04-8668-D61B3900BAA4}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 + Release|x64 = Release|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {B636B53B-C44B-1E04-8668-D61B3900BAA4}.Debug|x64.ActiveCfg = Debug|x64 + {B636B53B-C44B-1E04-8668-D61B3900BAA4}.Debug|x64.Build.0 = Debug|x64 + {B636B53B-C44B-1E04-8668-D61B3900BAA4}.Release|x64.ActiveCfg = Release|x64 + {B636B53B-C44B-1E04-8668-D61B3900BAA4}.Release|x64.Build.0 = Release|x64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/extras/WindowsDLL/Builds/VisualStudio2022/WindowsDLL_StaticLibrary.vcxproj b/extras/WindowsDLL/Builds/VisualStudio2022/WindowsDLL_StaticLibrary.vcxproj new file mode 100644 index 00000000..1d7f397e --- /dev/null +++ b/extras/WindowsDLL/Builds/VisualStudio2022/WindowsDLL_StaticLibrary.vcxproj @@ -0,0 +1,3014 @@ + + + + + + Debug + x64 + + + Release + x64 + + + + {B636B53B-C44B-1E04-8668-D61B3900BAA4} + + + + StaticLibrary + false + false + v143 + 10.0 + + + StaticLibrary + false + true + v143 + 10.0 + + + + + + + + <_ProjectFileVersion>10.0.30319.1 + .lib + $(SolutionDir)$(Platform)\$(Configuration)\Static Library\ + $(Platform)\$(Configuration)\Static Library\ + juce_dll + true + $(SolutionDir)$(Platform)\$(Configuration)\Static Library\ + $(Platform)\$(Configuration)\Static Library\ + juce_dll + true + + + + _DEBUG;%(PreprocessorDefinitions) + true + true + Win32 + + + + Disabled + ProgramDatabase + ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) + _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_video=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_STANDALONE_APPLICATION=1;JUCE_DLL_BUILD=1;JUCER_VS2022_78A503E=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;_LIB;%(PreprocessorDefinitions) + MultiThreadedDebugDLL + true + NotUsing + $(IntDir)\ + $(IntDir)\ + $(IntDir)\juce_dll.pdb + Level4 + true + true + stdcpp14 + + + _DEBUG;%(PreprocessorDefinitions) + + + $(OutDir)\juce_dll.lib + true + libcmt.lib; msvcrt.lib;;%(IgnoreSpecificDefaultLibraries) + true + $(IntDir)\juce_dll.pdb + Windows + true + + + true + $(IntDir)\juce_dll.bsc + + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + Win32 + + + + Full + ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) + _CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCE_DISPLAY_SPLASH_SCREEN=0;JUCE_USE_DARK_SPLASH_SCREEN=1;JUCE_PROJUCER_VERSION=0x60103;JUCE_MODULE_AVAILABLE_juce_audio_basics=1;JUCE_MODULE_AVAILABLE_juce_audio_devices=1;JUCE_MODULE_AVAILABLE_juce_audio_formats=1;JUCE_MODULE_AVAILABLE_juce_audio_processors=1;JUCE_MODULE_AVAILABLE_juce_audio_utils=1;JUCE_MODULE_AVAILABLE_juce_core=1;JUCE_MODULE_AVAILABLE_juce_cryptography=1;JUCE_MODULE_AVAILABLE_juce_data_structures=1;JUCE_MODULE_AVAILABLE_juce_events=1;JUCE_MODULE_AVAILABLE_juce_graphics=1;JUCE_MODULE_AVAILABLE_juce_gui_basics=1;JUCE_MODULE_AVAILABLE_juce_gui_extra=1;JUCE_MODULE_AVAILABLE_juce_opengl=1;JUCE_MODULE_AVAILABLE_juce_video=1;JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_STANDALONE_APPLICATION=1;JUCE_DLL_BUILD=1;JUCER_VS2022_78A503E=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;JucePlugin_Build_VST=0;JucePlugin_Build_VST3=0;JucePlugin_Build_AU=0;JucePlugin_Build_AUv3=0;JucePlugin_Build_RTAS=0;JucePlugin_Build_AAX=0;JucePlugin_Build_Standalone=0;JucePlugin_Build_Unity=0;_LIB;%(PreprocessorDefinitions) + MultiThreadedDLL + true + NotUsing + $(IntDir)\ + $(IntDir)\ + $(IntDir)\juce_dll.pdb + Level4 + true + true + stdcpp14 + + + NDEBUG;%(PreprocessorDefinitions) + + + $(OutDir)\juce_dll.lib + true + %(IgnoreSpecificDefaultLibraries) + false + $(IntDir)\juce_dll.pdb + Windows + true + true + true + UseLinkTimeCodeGeneration + + + true + $(IntDir)\juce_dll.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 + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + + + + + + + + + + + /bigobj %(AdditionalOptions) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/extras/WindowsDLL/Builds/VisualStudio2022/WindowsDLL_StaticLibrary.vcxproj.filters b/extras/WindowsDLL/Builds/VisualStudio2022/WindowsDLL_StaticLibrary.vcxproj.filters new file mode 100644 index 00000000..08f9b97f --- /dev/null +++ b/extras/WindowsDLL/Builds/VisualStudio2022/WindowsDLL_StaticLibrary.vcxproj.filters @@ -0,0 +1,5202 @@ + + + + + + {EB58F05A-A968-CEBE-40C4-107CDD8F240F} + + + {5FCF559E-451A-CB1E-B177-A5DC5A0005BB} + + + {05CE33FC-868F-AA1A-12B8-79C98E753648} + + + {D78296AF-218E-B17E-7F8B-9D148601188D} + + + {B96EBA26-E668-FFAF-FC53-1EC1337DAF5A} + + + {D8532E5E-469E-5042-EFC8-238241704735} + + + {777B5D1D-9AF0-B22B-8894-034603EE97F5} + + + {8292766D-2459-2E7E-7615-17216318BA93} + + + {9BD56105-DAB4-EBD5-00DD-BD540E98FE88} + + + {10472B2C-9888-D269-F351-0D0AC3BCD16C} + + + {BF23FC10-1D57-2A9B-706F-6DD8A7B593D4} + + + {386862D5-4DCC-A4B3-5642-60A201E303EF} + + + {092EFC17-7C95-7E04-0ACA-0D61A462EE81} + + + {285118C6-8FDA-7DCE-BEF4-FFB2120876C5} + + + {69ED6B61-9B8D-D47E-E4A6-2E9F9A94A75A} + + + {7CDB7CD1-BB96-F593-3C78-1E06182B5839} + + + {B0A708DE-B4CF-196B-14FB-DC8221509B8E} + + + {34F46ADE-EE31-227A-A69E-7732E70145F1} + + + {BB9B3C77-17FB-E994-8B75-88F1727E4655} + + + {C0971D77-2F14-190A-E2AE-89D6285F4D5A} + + + {AABEA333-6524-8891-51C7-6DAEB5700628} + + + {F2D29337-983E-BAD7-7B5C-E0AB3D53D404} + + + {C674B0FB-1FC0-2986-94B1-083845018994} + + + {0AFC1CE8-F6E6-9817-8C21-8432B2A375DA} + + + {0D1AF264-3AC1-78A2-B2A4-AE6171F9194A} + + + {9A5DB854-CFFB-5F88-C566-0E10F994DDB3} + + + {38A5DDC7-416E-548F-39DA-887875FE6B20} + + + {980FE2DB-05D3-5FDA-79DA-067A56F5D19D} + + + {F336DC25-747A-0663-93D6-E3EB9AA0CBF8} + + + {7D78546A-80FC-4DCA-00B9-F191F0AB2179} + + + {9EB3EC7F-2AB7-DDAA-3C05-DF382B728D3F} + + + {6B9FBFDC-1D10-6246-356D-00FF4535CECB} + + + {D6FCFC8E-7136-9109-78C0-91A3EB4C443F} + + + {EBF18AC1-F0ED-937A-2824-4307CE2ADAF7} + + + {5A0F7922-2EFB-6465-57E4-A445B804EFB5} + + + {4EC45416-0E7C-7567-6F75-D0C8CEE7DC4F} + + + {C2985031-0496-55B5-41A8-BAB99E53D89D} + + + {FB4AB426-7009-0036-BB75-E34256AA7C89} + + + {E684D858-09E8-0251-8E86-5657129641E1} + + + {1EF1BF17-F941-243A-04D1-EE617D140CBA} + + + {344DB016-679C-FBD0-3EC6-4570C47522DE} + + + {3D9758A0-9359-1710-87C1-05D475C08B17} + + + {E824435F-FC7B-10BE-5D1A-5DACC51A8836} + + + {86737735-F6BA-F64A-5EC7-5C9F36755F79} + + + {4DC60E78-BBC0-B540-63A2-37E14ABBEF09} + + + {80C72173-A1E1-C3C5-9288-B889CE2EAFEA} + + + {4138B955-AA0B-FA86-DBF9-404CAFFFA866} + + + {2B4166B8-F470-F07C-4F51-D2DAAAECBB18} + + + {9C295115-C0CD-3129-1C4D-FB53299B23FB} + + + {65526A8B-3447-9DF0-FD5D-00D111126027} + + + {A54A1F5C-F32F-F97B-9E8A-69922B770A54} + + + {B90A44F3-B62D-B5C0-81A2-683D2650AEE6} + + + {DAF30656-5915-0E45-C4E4-54439617D525} + + + {9266EA90-6A0A-5DDB-9CB7-966BEF03BA5C} + + + {9C713CBA-A9E2-5F4E-F83C-2CAB8533913C} + + + {63571A07-9AA3-5BB0-1103-0B42A2E6BC9E} + + + {314F43F2-BC8F-B464-EAE7-86B9675454E9} + + + {874C5D0C-6D29-68EE-38BB-26200B56BC89} + + + {86BAA7A7-DC50-35B6-910B-932AEAF257F2} + + + {6B7BE34D-1BC1-C7B9-111F-C55CA8250943} + + + {9B6B6D54-D378-80C2-8CC9-D1D8FB44C2A8} + + + {D0584AC3-6837-14F6-90BF-5EA604D1F074} + + + {794B64EC-B809-32E3-AD00-4EE6A74802CA} + + + {67BE498C-9E1F-C73A-B99A-387C034CE680} + + + {1A9C8538-959B-25E3-473D-B462C9A9D458} + + + {AA9F594C-DFAF-C0A7-0CCD-9F90E54D3A01} + + + {230BF784-34F4-3BE8-46D4-54E6B67E5E9E} + + + {39F680F3-5161-4D1C-EAD0-3911ED808874} + + + {3197198B-A978-E330-C7FB-07E5CE8236C7} + + + {42F7BE9D-3C8A-AE26-289B-8F355C068036} + + + {7868764A-6572-381A-906C-9C26792A4C29} + + + {03678508-A517-48BB-FB4A-485628C34E08} + + + {07D27C1D-3227-F527-356C-17DA11551A99} + + + {6146D580-99D2-A6C8-5908-30DC355BB6BA} + + + {C67003E8-BEA8-2188-F4B3-A122F4B4FA3F} + + + {09B91E68-1FF4-C7ED-9055-D4D96E66A0BA} + + + {30B3DA63-C1E4-F2EA-CEF0-8035D8CBFF64} + + + {4F24EEED-AA33-AC6C-9A39-72E71CF83EF0} + + + {0F70B1A9-BB50-23F5-2AE7-F95E51A00389} + + + {D4C8DC40-2CD2-04B6-05D0-1E7A88841390} + + + {58BED6AF-DB89-7560-B2B8-D937C1C0825A} + + + {B958F86B-6926-8D9B-2FC6-8BFD4BDC72C9} + + + {DB624F7D-D513-25AC-C13C-B9062EB3BEEE} + + + {89AA9B6C-4029-A34F-C1B0-3B5D8691F4D4} + + + {1A7F541C-B032-9C66-C320-A13B2A8A9866} + + + {4BAB7C18-51AB-0D9D-83CD-9C37F28D2E38} + + + {5523922E-8B0C-A52B-477C-752C09F8197F} + + + {857B6D8B-0ECB-FE9E-D1EB-D5E45E72F057} + + + {BAA582FA-40B7-320E-EE7A-4C3892C7BE72} + + + {89B3E447-34BE-C691-638E-09796C6B647E} + + + {9BE78436-DBF4-658C-579B-ED19FFD0EB5D} + + + {21E7FA61-9E0A-4BA1-04B7-AF47AFA9CB8B} + + + {632B4C79-AF7D-BFB5-D006-5AE67F607130} + + + {B10E20C2-4583-2B79-60B7-FE4D4B044313} + + + {CFB54F15-8A8A-0505-9B7F-ECA41CEE38E8} + + + {911F0159-A7A8-4A43-3FD4-154F62F4A44B} + + + {9D5816C2-E2B2-2E3F-B095-AC8BD1100D29} + + + {3FDCD000-763F-8477-9AF8-70ABA2E91E5E} + + + {0947506F-66FA-EF8D-8A4E-4D48BCDBB226} + + + {E4B6AED3-F54C-3FF2-069F-640BACAE0E08} + + + {D5EADBCC-6A1C-C940-0206-26E49110AF08} + + + {D27DC92D-5BEB-9294-DCD1-81D54E245AD5} + + + {BCD73D20-42B1-6CDB-DE66-B06236A60F47} + + + {20DC13F6-2369-8841-9F0B-D13FA14EEE74} + + + {A302A8DB-120F-9EBB-A3D5-2C29963AA56B} + + + {45489C2A-6E0E-CCDC-6638-0DACEEB63CCA} + + + {F1B90726-DB55-0293-BFAF-C65C7DF5489C} + + + {2C55FD42-0ACD-B0B8-7EAE-EB17F09BAEEC} + + + {B68CD2B2-701F-9AB7-4638-2485D6E06BCF} + + + {B0B7C78E-729E-0FFA-D611-82AE8BC7FE2C} + + + {0A4F7E12-220C-14EF-0026-9C0629FA9C17} + + + {37F49E10-4E62-6D5C-FF70-722D0CA3D97E} + + + {160D9882-0F68-278D-C5F9-8960FD7421D2} + + + {4CED05DA-E0A2-E548-F753-1F2EF299A8E3} + + + {46AE69B8-AD58-4381-6CDE-25C8D75B01D2} + + + {E56CB4FC-32E8-8740-A3BB-B323CD937A99} + + + {4ECDCA0C-BB38-0729-A6B6-2FB0B4D0863B} + + + {294E4CD5-B06F-97D1-04A3-51871CEA507C} + + + {77228F15-BD91-06FF-2C7E-0377D25C2C94} + + + {5CB531E6-BF9A-2C50-056C-EE5A525D28D3} + + + {E4EA47E5-B41C-2A19-1783-7E9104096ECD} + + + {B331BC33-9770-3DB5-73F2-BC2469ECCF7F} + + + {46A17AC9-0BFF-B5CE-26D6-B9D1992C88AC} + + + {D90A8DF7-FBAB-D363-13C0-6707BB22B72B} + + + {8AE77C40-6839-EC37-4515-BD3CC269BCE4} + + + {0EAD99DB-011F-09E5-45A2-365F646EB004} + + + {F57590C6-3B90-1BE1-1006-488BA33E8BD9} + + + {7C319D73-0D93-5842-0874-398D2D3038D5} + + + {2CB4DB0C-DD3B-6195-D822-76EC7A5C88D2} + + + {FE3CB19C-EF43-5CF5-DAF0-09D4E43D0AB9} + + + {C0E5DD5D-F8F1-DD25-67D7-291946AB3828} + + + {FE7E6CD5-C7A0-DB20-4E7E-D6E7F08C4578} + + + {895C2D33-E08D-B1BA-BB36-FC4CA65090C8} + + + {D64A57DB-A956-5519-1929-1D929B56E1B0} + + + {5A99CC24-AC45-7ED6-C11A-B8B86E76D884} + + + {7A131EEC-25A7-22F6-2839-A2194DDF3007} + + + {EA9DB76C-CEF7-6BFC-2070-28B7DF8E8063} + + + {3C206A40-6F1B-E683-ACF1-DEC3703D0140} + + + {DF95D4BF-E18C-125A-5EBB-8993A06E232C} + + + {118946F2-AC24-0F09-62D5-753DF87A60CD} + + + {07329F9B-7D3D-CEB3-C771-714842076140} + + + {08BBBECB-B0D1-7611-37EC-F57E1D0CE2A2} + + + {268E8F2A-980C-BF2F-B161-AACABC9D91F3} + + + {A4D76113-9EDC-DA60-D89B-5BACF7F1C426} + + + {1A9221A3-E993-70B2-6EA2-8E1DB5FF646A} + + + {CC2DAD7A-5B45-62AB-4C54-6FE6B1AE86C3} + + + {599138A9-EA63-53DD-941F-ABE3412D2949} + + + {422A4014-8587-1AE6-584F-32A62613A37B} + + + {9FBFF5E5-56F1-34A1-2C85-F760DA2B1EB7} + + + {CB8DF3B2-0409-6D59-C5D4-A034EBB7F973} + + + {7774F72F-C951-B8AB-E927-E34AD23C52C8} + + + {658BADF8-7095-C722-F9EC-9F36E8818187} + + + {2C58F450-CD01-0231-2F16-0D4D68565164} + + + {FE955B6B-68AC-AA07-70D8-2413F6DB65C8} + + + {7ED5A90E-41AF-A1EF-659B-37CEEAB9BA61} + + + + + JUCE Modules\juce_audio_basics\buffers + + + JUCE Modules\juce_audio_basics\buffers + + + JUCE Modules\juce_audio_basics\buffers + + + JUCE Modules\juce_audio_basics\buffers + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + 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\midi + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + 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\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics + + + 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\midi_io\ump + + + JUCE Modules\juce_audio_devices\midi_io + + + JUCE Modules\juce_audio_devices\midi_io + + + JUCE Modules\juce_audio_devices\native\oboe\src\aaudio + + + JUCE Modules\juce_audio_devices\native\oboe\src\aaudio + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\fifo + + + JUCE Modules\juce_audio_devices\native\oboe\src\fifo + + + JUCE Modules\juce_audio_devices\native\oboe\src\fifo + + + JUCE Modules\juce_audio_devices\native\oboe\src\fifo + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + 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\sources + + + JUCE Modules\juce_audio_devices\sources + + + JUCE Modules\juce_audio_devices + + + JUCE Modules\juce_audio_devices + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis + + + 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\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\sampler + + + JUCE Modules\juce_audio_formats + + + JUCE Modules\juce_audio_formats + + + JUCE Modules\juce_audio_processors\format + + + JUCE Modules\juce_audio_processors\format + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\thread\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\common + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\common + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + 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\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\scanning + + + JUCE Modules\juce_audio_processors\scanning + + + JUCE Modules\juce_audio_processors\scanning + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors + + + JUCE Modules\juce_audio_processors + + + JUCE Modules\juce_audio_utils\audio_cd + + + 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\native + + + JUCE Modules\juce_audio_utils\native + + + JUCE Modules\juce_audio_utils\native + + + JUCE Modules\juce_audio_utils\native + + + JUCE Modules\juce_audio_utils\native + + + JUCE Modules\juce_audio_utils\native + + + JUCE Modules\juce_audio_utils\native + + + JUCE Modules\juce_audio_utils\native + + + JUCE Modules\juce_audio_utils\native + + + JUCE Modules\juce_audio_utils\native + + + JUCE Modules\juce_audio_utils\players + + + JUCE Modules\juce_audio_utils\players + + + JUCE Modules\juce_audio_utils + + + JUCE Modules\juce_audio_utils + + + 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\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\javascript + + + JUCE Modules\juce_core\javascript + + + JUCE Modules\juce_core\logging + + + JUCE Modules\juce_core\logging + + + 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\misc + + + 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\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\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\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\system + + + 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\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\unit_tests + + + JUCE Modules\juce_core\xml + + + JUCE Modules\juce_core\xml + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip + + + JUCE Modules\juce_core\zip + + + JUCE Modules\juce_core\zip + + + JUCE Modules\juce_core + + + 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\hashing + + + JUCE Modules\juce_cryptography + + + JUCE Modules\juce_cryptography + + + JUCE Modules\juce_data_structures\app_properties + + + JUCE Modules\juce_data_structures\app_properties + + + JUCE Modules\juce_data_structures\undomanager + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures + + + JUCE Modules\juce_data_structures + + + 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\interprocess + + + JUCE Modules\juce_events\messages + + + JUCE Modules\juce_events\messages + + + JUCE Modules\juce_events\messages + + + JUCE Modules\juce_events\messages + + + 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_events\native + + + JUCE Modules\juce_events\native + + + JUCE Modules\juce_events\timers + + + JUCE Modules\juce_events\timers + + + JUCE Modules\juce_events + + + 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\contexts + + + JUCE Modules\juce_graphics\contexts + + + JUCE Modules\juce_graphics\contexts + + + JUCE Modules\juce_graphics\effects + + + JUCE Modules\juce_graphics\effects + + + 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\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\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats + + + JUCE Modules\juce_graphics\image_formats + + + JUCE Modules\juce_graphics\image_formats + + + JUCE Modules\juce_graphics\images + + + JUCE Modules\juce_graphics\images + + + JUCE Modules\juce_graphics\images + + + JUCE Modules\juce_graphics\images + + + 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_graphics\native + + + JUCE Modules\juce_graphics\native + + + JUCE Modules\juce_graphics\native + + + JUCE Modules\juce_graphics\native + + + JUCE Modules\juce_graphics\placement + + + JUCE Modules\juce_graphics + + + JUCE Modules\juce_graphics + + + JUCE Modules\juce_gui_basics\accessibility + + + JUCE Modules\juce_gui_basics\application + + + 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\commands + + + JUCE Modules\juce_gui_basics\commands + + + JUCE Modules\juce_gui_basics\commands + + + JUCE Modules\juce_gui_basics\commands + + + 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\desktop + + + JUCE Modules\juce_gui_basics\desktop + + + 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\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\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\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\layout + + + JUCE Modules\juce_gui_basics\layout + + + 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\lookandfeel + + + JUCE Modules\juce_gui_basics\menus + + + JUCE Modules\juce_gui_basics\menus + + + JUCE Modules\juce_gui_basics\menus + + + JUCE Modules\juce_gui_basics\menus + + + JUCE Modules\juce_gui_basics\misc + + + JUCE Modules\juce_gui_basics\misc + + + JUCE Modules\juce_gui_basics\misc + + + 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\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\x11 + + + JUCE Modules\juce_gui_basics\native\x11 + + + JUCE Modules\juce_gui_basics\native\x11 + + + 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_basics\native + + + JUCE Modules\juce_gui_basics\native + + + JUCE Modules\juce_gui_basics\native + + + 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\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\properties + + + 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 + + + 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\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\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_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 + + + 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\opengl + + + JUCE Modules\juce_opengl\utils + + + JUCE Modules\juce_opengl + + + JUCE Modules\juce_opengl + + + JUCE Modules\juce_video\capture + + + JUCE Modules\juce_video\playback + + + JUCE Modules\juce_video + + + JUCE Modules\juce_video + + + 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\audio_play_head + + + JUCE Modules\juce_audio_basics\buffers + + + JUCE Modules\juce_audio_basics\buffers + + + JUCE Modules\juce_audio_basics\buffers + + + JUCE Modules\juce_audio_basics\buffers + + + JUCE Modules\juce_audio_basics\buffers + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + JUCE Modules\juce_audio_basics\midi\ump + + + 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\midi + + + JUCE Modules\juce_audio_basics\midi + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\mpe + + + JUCE Modules\juce_audio_basics\native + + + 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\sources + + + JUCE Modules\juce_audio_basics\synthesisers + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + JUCE Modules\juce_audio_basics\utilities + + + 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\ump + + + JUCE Modules\juce_audio_devices\midi_io\ump + + + JUCE Modules\juce_audio_devices\midi_io + + + JUCE Modules\juce_audio_devices\midi_io + + + JUCE Modules\juce_audio_devices\native\oboe\include\oboe + + + JUCE Modules\juce_audio_devices\native\oboe\include\oboe + + + JUCE Modules\juce_audio_devices\native\oboe\include\oboe + + + JUCE Modules\juce_audio_devices\native\oboe\include\oboe + + + JUCE Modules\juce_audio_devices\native\oboe\include\oboe + + + JUCE Modules\juce_audio_devices\native\oboe\include\oboe + + + JUCE Modules\juce_audio_devices\native\oboe\include\oboe + + + JUCE Modules\juce_audio_devices\native\oboe\include\oboe + + + JUCE Modules\juce_audio_devices\native\oboe\include\oboe + + + JUCE Modules\juce_audio_devices\native\oboe\include\oboe + + + JUCE Modules\juce_audio_devices\native\oboe\include\oboe + + + JUCE Modules\juce_audio_devices\native\oboe\src\aaudio + + + JUCE Modules\juce_audio_devices\native\oboe\src\aaudio + + + JUCE Modules\juce_audio_devices\native\oboe\src\aaudio + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\common + + + JUCE Modules\juce_audio_devices\native\oboe\src\fifo + + + JUCE Modules\juce_audio_devices\native\oboe\src\fifo + + + JUCE Modules\juce_audio_devices\native\oboe\src\fifo + + + JUCE Modules\juce_audio_devices\native\oboe\src\fifo + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph\resampler + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\flowgraph + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native\oboe\src\opensles + + + JUCE Modules\juce_audio_devices\native + + + JUCE Modules\juce_audio_devices\native + + + JUCE Modules\juce_audio_devices\sources + + + JUCE Modules\juce_audio_devices\sources + + + JUCE Modules\juce_audio_devices + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\private + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + JUCE Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\books\coupled + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\books\coupled + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\books\floor + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\books\uncoupled + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib\modes + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7\lib + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis + + + 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\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\sampler + + + JUCE Modules\juce_audio_formats + + + JUCE Modules\juce_audio_processors\format + + + JUCE Modules\juce_audio_processors\format + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\source + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base\thread\include + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\gui + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\gui + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\common + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\common + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst\hosting + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk\source\vst + + + 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\format_types + + + JUCE Modules\juce_audio_processors\format_types + + + 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\processors + + + JUCE Modules\juce_audio_processors\processors + + + JUCE Modules\juce_audio_processors\scanning + + + JUCE Modules\juce_audio_processors\scanning + + + JUCE Modules\juce_audio_processors\scanning + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors\utilities + + + JUCE Modules\juce_audio_processors + + + JUCE Modules\juce_audio_utils\audio_cd + + + JUCE Modules\juce_audio_utils\audio_cd + + + 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\gui + + + JUCE Modules\juce_audio_utils\gui + + + JUCE Modules\juce_audio_utils\players + + + JUCE Modules\juce_audio_utils\players + + + JUCE Modules\juce_audio_utils + + + 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\containers + + + JUCE Modules\juce_core\containers + + + JUCE Modules\juce_core\containers + + + 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\files + + + JUCE Modules\juce_core\javascript + + + JUCE Modules\juce_core\javascript + + + JUCE Modules\juce_core\logging + + + JUCE Modules\juce_core\logging + + + 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\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\memory + + + JUCE Modules\juce_core\memory + + + JUCE Modules\juce_core\memory + + + JUCE Modules\juce_core\misc + + + JUCE Modules\juce_core\misc + + + JUCE Modules\juce_core\misc + + + 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\native + + + JUCE Modules\juce_core\native + + + JUCE Modules\juce_core\native + + + 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\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\streams + + + 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\system + + + 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\text + + + 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\unit_tests + + + JUCE Modules\juce_core\unit_tests + + + JUCE Modules\juce_core\xml + + + JUCE Modules\juce_core\xml + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip\zlib + + + JUCE Modules\juce_core\zip + + + JUCE Modules\juce_core\zip + + + JUCE Modules\juce_core\zip + + + 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\hashing + + + JUCE Modules\juce_cryptography + + + JUCE Modules\juce_data_structures\app_properties + + + JUCE Modules\juce_data_structures\app_properties + + + JUCE Modules\juce_data_structures\undomanager + + + JUCE Modules\juce_data_structures\undomanager + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures\values + + + JUCE Modules\juce_data_structures + + + 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\interprocess + + + 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\native + + + JUCE Modules\juce_events\native + + + JUCE Modules\juce_events\native + + + JUCE Modules\juce_events\native + + + JUCE Modules\juce_events\native + + + JUCE Modules\juce_events\timers + + + JUCE Modules\juce_events\timers + + + 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\effects + + + JUCE Modules\juce_graphics\effects + + + JUCE Modules\juce_graphics\effects + + + 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\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\geometry + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + JUCE Modules\juce_graphics\images + + + JUCE Modules\juce_graphics\images + + + JUCE Modules\juce_graphics\images + + + JUCE Modules\juce_graphics\images + + + JUCE Modules\juce_graphics\images + + + JUCE Modules\juce_graphics\native + + + JUCE Modules\juce_graphics\native + + + JUCE Modules\juce_graphics\native + + + JUCE Modules\juce_graphics\native + + + JUCE Modules\juce_graphics\placement + + + JUCE Modules\juce_graphics\placement + + + JUCE Modules\juce_graphics + + + JUCE Modules\juce_gui_basics\accessibility\enums + + + JUCE Modules\juce_gui_basics\accessibility\enums + + + JUCE Modules\juce_gui_basics\accessibility\enums + + + JUCE Modules\juce_gui_basics\accessibility\interfaces + + + JUCE Modules\juce_gui_basics\accessibility\interfaces + + + JUCE Modules\juce_gui_basics\accessibility\interfaces + + + JUCE Modules\juce_gui_basics\accessibility\interfaces + + + JUCE Modules\juce_gui_basics\accessibility + + + JUCE Modules\juce_gui_basics\accessibility + + + JUCE Modules\juce_gui_basics\application + + + 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\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\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\components + + + JUCE Modules\juce_gui_basics\desktop + + + JUCE Modules\juce_gui_basics\desktop + + + 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\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\filebrowser + + + 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\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\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\lookandfeel + + + 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\menus + + + JUCE Modules\juce_gui_basics\menus + + + JUCE Modules\juce_gui_basics\menus + + + JUCE Modules\juce_gui_basics\menus + + + JUCE Modules\juce_gui_basics\misc + + + JUCE Modules\juce_gui_basics\misc + + + JUCE Modules\juce_gui_basics\misc + + + 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\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\accessibility + + + JUCE Modules\juce_gui_basics\native\x11 + + + JUCE Modules\juce_gui_basics\native\x11 + + + JUCE Modules\juce_gui_basics\native + + + JUCE Modules\juce_gui_basics\native + + + JUCE Modules\juce_gui_basics\native + + + 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\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\properties + + + 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\windows + + + 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\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\misc + + + JUCE Modules\juce_gui_extra\native + + + JUCE Modules\juce_gui_extra + + + JUCE Modules\juce_opengl\geometry + + + JUCE Modules\juce_opengl\geometry + + + JUCE Modules\juce_opengl\geometry + + + JUCE Modules\juce_opengl\geometry + + + 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\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\opengl + + + JUCE Modules\juce_opengl\opengl + + + JUCE Modules\juce_opengl\opengl + + + JUCE Modules\juce_opengl\opengl + + + JUCE Modules\juce_opengl\utils + + + JUCE Modules\juce_opengl + + + 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 Modules\juce_video\native + + + JUCE Modules\juce_video\playback + + + JUCE Modules\juce_video + + + JUCE Library Code + + + + + JUCE Modules\juce_audio_devices\native\oboe + + + JUCE Modules\juce_audio_devices\native\oboe + + + JUCE Modules\juce_audio_formats\codecs\flac + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.7 + + + JUCE Modules\juce_audio_formats\codecs\oggvorbis + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\base + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\pluginterfaces + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK\public.sdk + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK + + + JUCE Modules\juce_audio_processors\format_types\VST3_SDK + + + JUCE Modules\juce_core\native\java + + + JUCE Modules\juce_graphics\image_formats\jpglib + + + JUCE Modules\juce_graphics\image_formats\pnglib + + + diff --git a/extras/WindowsDLL/WindowsDLL.jucer b/extras/WindowsDLL/WindowsDLL.jucer index c1bd847b..5d54dd4c 100644 --- a/extras/WindowsDLL/WindowsDLL.jucer +++ b/extras/WindowsDLL/WindowsDLL.jucer @@ -6,7 +6,7 @@ companyCopyright="Raw Material Software Limited" useAppConfig="0" addUsingNamespaceToJuceHeader="1" jucerFormatVersion="1"> - + @@ -27,7 +27,7 @@ - + diff --git a/modules/juce_analytics/juce_analytics.h b/modules/juce_analytics/juce_analytics.h index 66be64d8..1bda225a 100644 --- a/modules/juce_analytics/juce_analytics.h +++ b/modules/juce_analytics/juce_analytics.h @@ -35,7 +35,7 @@ ID: juce_analytics vendor: juce - version: 6.1.0 + version: 6.1.3 name: JUCE analytics classes description: Classes to collect analytics and send to destinations website: http://www.juce.com/juce diff --git a/modules/juce_audio_basics/audio_play_head/juce_AudioPlayHead.h b/modules/juce_audio_basics/audio_play_head/juce_AudioPlayHead.h index 37a3d537..0e83537a 100644 --- a/modules/juce_audio_basics/audio_play_head/juce_AudioPlayHead.h +++ b/modules/juce_audio_basics/audio_play_head/juce_AudioPlayHead.h @@ -60,6 +60,98 @@ public: fpsUnknown = 99 }; + /** More descriptive frame rate type. */ + class JUCE_API FrameRate + { + public: + /** Creates a frame rate with a base rate of 0. */ + FrameRate() = default; + + /** Creates a FrameRate instance from a FrameRateType. */ + FrameRate (FrameRateType type) : FrameRate (fromType (type)) {} + + /** Gets the FrameRateType that matches the state of this FrameRate. + + Returns fpsUnknown if this FrameRate cannot be represented by any of the + other enum fields. + */ + FrameRateType getType() const + { + switch (base) + { + case 24: return pulldown ? fps23976 : fps24; + case 25: return fps25; + case 30: return pulldown ? (drop ? fps2997drop : fps2997) + : (drop ? fps30drop : fps30); + case 60: return drop ? fps60drop : fps60; + } + + return fpsUnknown; + } + + /** Returns the plain rate, without taking pulldown into account. */ + int getBaseRate() const { return base; } + + /** Returns true if drop-frame timecode is in use. */ + bool isDrop() const { return drop; } + + /** Returns true if the effective framerate is actually equal to the base rate divided by 1.001 */ + bool isPullDown() const { return pulldown; } + + /** Returns the actual rate described by this object, taking pulldown into account. */ + double getEffectiveRate() const { return pulldown ? (double) base / 1.001 : (double) base; } + + /** Returns a copy of this object with the specified base rate. */ + FrameRate withBaseRate (int x) const { return with (&FrameRate::base, x); } + + /** Returns a copy of this object with drop frames enabled or disabled, as specified. */ + FrameRate withDrop (bool x = true) const { return with (&FrameRate::drop, x); } + + /** Returns a copy of this object with pulldown enabled or disabled, as specified. */ + FrameRate withPullDown (bool x = true) const { return with (&FrameRate::pulldown, x); } + + /** Returns true if this instance is equal to other. */ + bool operator== (const FrameRate& other) const + { + const auto tie = [] (const FrameRate& x) { return std::tie (x.base, x.drop, x.pulldown); }; + return tie (*this) == tie (other); + } + + /** Returns true if this instance is not equal to other. */ + bool operator!= (const FrameRate& other) const { return ! (*this == other); } + + private: + static FrameRate fromType (FrameRateType type) + { + switch (type) + { + case fps23976: return FrameRate().withBaseRate (24).withPullDown(); + case fps24: return FrameRate().withBaseRate (24); + case fps25: return FrameRate().withBaseRate (25); + case fps2997: return FrameRate().withBaseRate (30).withPullDown(); + case fps30: return FrameRate().withBaseRate (30); + case fps2997drop: return FrameRate().withBaseRate (30).withDrop().withPullDown(); + case fps30drop: return FrameRate().withBaseRate (30).withDrop(); + case fps60: return FrameRate().withBaseRate (60); + case fps60drop: return FrameRate().withBaseRate (60).withDrop(); + case fpsUnknown: break; + } + + return {}; + } + + template + FrameRate with (Member&& member, Value&& value) const + { + auto copy = *this; + copy.*member = std::forward (value); + return copy; + } + + int base = 0; + bool drop = false, pulldown = false; + }; + //============================================================================== /** This structure is filled-in by the AudioPlayHead::getCurrentPosition() method. */ @@ -95,7 +187,7 @@ public: double ppqPositionOfLastBarStart = 0; /** The video frame rate, if applicable. */ - FrameRateType frameRate = FrameRateType::fps23976; + FrameRate frameRate = FrameRateType::fps23976; /** True if the transport is currently playing. */ bool isPlaying = false; @@ -124,7 +216,7 @@ public: //============================================================================== bool operator== (const CurrentPositionInfo& other) const noexcept { - auto tie = [] (const CurrentPositionInfo& i) + const auto tie = [] (const CurrentPositionInfo& i) { return std::tie (i.timeInSamples, i.ppqPosition, diff --git a/modules/juce_audio_basics/buffers/juce_AudioChannelSet.cpp b/modules/juce_audio_basics/buffers/juce_AudioChannelSet.cpp index 11e06e17..97bb15c4 100644 --- a/modules/juce_audio_basics/buffers/juce_AudioChannelSet.cpp +++ b/modules/juce_audio_basics/buffers/juce_AudioChannelSet.cpp @@ -29,7 +29,7 @@ AudioChannelSet::AudioChannelSet (uint32 c) : channels (static_cast (c)) { } -AudioChannelSet::AudioChannelSet (const Array& c) +AudioChannelSet::AudioChannelSet (const std::initializer_list& c) { for (auto channel : c) addChannel (channel); @@ -339,6 +339,8 @@ String AudioChannelSet::getDescription() const if (*this == create5point0()) return "5.0 Surround"; if (*this == create5point1()) return "5.1 Surround"; + if (*this == create5point1point2()) return "5.1.2 Surround"; + if (*this == create5point1point4()) return "5.1.4 Surround"; if (*this == create6point0()) return "6.0 Surround"; if (*this == create6point1()) return "6.1 Surround"; if (*this == create6point0Music()) return "6.0 (Music) Surround"; @@ -348,7 +350,11 @@ String AudioChannelSet::getDescription() const if (*this == create7point0SDDS()) return "7.0 Surround SDDS"; if (*this == create7point1SDDS()) return "7.1 Surround SDDS"; if (*this == create7point0point2()) return "7.0.2 Surround"; + if (*this == create7point0point4()) return "7.0.4 Surround"; if (*this == create7point1point2()) return "7.1.2 Surround"; + if (*this == create7point1point4()) return "7.1.4 Surround"; + if (*this == create7point1point6()) return "7.1.6 Surround"; + if (*this == create9point1point6()) return "9.1.6 Surround"; if (*this == quadraphonic()) return "Quadraphonic"; if (*this == pentagonal()) return "Pentagonal"; @@ -442,29 +448,33 @@ void AudioChannelSet::removeChannel (ChannelType newChannel) } AudioChannelSet AudioChannelSet::disabled() { return {}; } -AudioChannelSet AudioChannelSet::mono() { return AudioChannelSet (1u << centre); } -AudioChannelSet AudioChannelSet::stereo() { return AudioChannelSet ((1u << left) | (1u << right)); } -AudioChannelSet AudioChannelSet::createLCR() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << centre)); } -AudioChannelSet AudioChannelSet::createLRS() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << surround)); } -AudioChannelSet AudioChannelSet::createLCRS() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << centre) | (1u << surround)); } -AudioChannelSet AudioChannelSet::create5point0() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << centre) | (1u << leftSurround) | (1u << rightSurround)); } -AudioChannelSet AudioChannelSet::create5point1() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << centre) | (1u << LFE) | (1u << leftSurround) | (1u << rightSurround)); } -AudioChannelSet AudioChannelSet::create6point0() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << centre) | (1u << leftSurround) | (1u << rightSurround) | (1u << centreSurround)); } -AudioChannelSet AudioChannelSet::create6point1() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << centre) | (1u << LFE) | (1u << leftSurround) | (1u << rightSurround) | (1u << centreSurround)); } -AudioChannelSet AudioChannelSet::create6point0Music() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << leftSurround) | (1u << rightSurround) | (1u << leftSurroundSide) | (1u << rightSurroundSide)); } -AudioChannelSet AudioChannelSet::create6point1Music() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << LFE) | (1u << leftSurround) | (1u << rightSurround) | (1u << leftSurroundSide) | (1u << rightSurroundSide)); } -AudioChannelSet AudioChannelSet::create7point0() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << centre) | (1u << leftSurroundSide) | (1u << rightSurroundSide) | (1u << leftSurroundRear) | (1u << rightSurroundRear)); } -AudioChannelSet AudioChannelSet::create7point0SDDS() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << centre) | (1u << leftSurround) | (1u << rightSurround) | (1u << leftCentre) | (1u << rightCentre)); } -AudioChannelSet AudioChannelSet::create7point1() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << centre) | (1u << LFE) | (1u << leftSurroundSide) | (1u << rightSurroundSide) | (1u << leftSurroundRear) | (1u << rightSurroundRear)); } -AudioChannelSet AudioChannelSet::create7point1SDDS() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << centre) | (1u << LFE) | (1u << leftSurround) | (1u << rightSurround) | (1u << leftCentre) | (1u << rightCentre)); } -AudioChannelSet AudioChannelSet::quadraphonic() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << leftSurround) | (1u << rightSurround)); } -AudioChannelSet AudioChannelSet::pentagonal() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << centre) | (1u << leftSurroundRear) | (1u << rightSurroundRear)); } -AudioChannelSet AudioChannelSet::hexagonal() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << centre) | (1u << centreSurround) | (1u << leftSurroundRear) | (1u << rightSurroundRear)); } -AudioChannelSet AudioChannelSet::octagonal() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << centre) | (1u << leftSurround) | (1u << rightSurround) | (1u << centreSurround) | (1u << wideLeft) | (1u << wideRight)); } -AudioChannelSet AudioChannelSet::create7point0point2() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << centre) | (1u << leftSurroundSide) | (1u << rightSurroundSide) | (1u << leftSurroundRear) | (1u << rightSurroundRear) | (1u << topSideLeft) | (1u << topSideRight)); } -AudioChannelSet AudioChannelSet::create7point1point2() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << centre) | (1u << LFE) | (1u << leftSurroundSide) | (1u << rightSurroundSide) | (1u << leftSurroundRear) | (1u << rightSurroundRear) | (1u << topSideLeft) | (1u << topSideRight)); } -AudioChannelSet AudioChannelSet::create7point0point4() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << centre) | (1u << leftSurroundSide) | (1u << rightSurroundSide) | (1u << leftSurroundRear) | (1u << rightSurroundRear) | (1u << topFrontLeft) | (1u << topFrontRight) | (1u << topRearLeft) | (1u << topRearRight)); } -AudioChannelSet AudioChannelSet::create7point1point4() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << centre) | (1u << LFE) | (1u << leftSurroundSide) | (1u << rightSurroundSide) | (1u << leftSurroundRear) | (1u << rightSurroundRear) | (1u << topFrontLeft) | (1u << topFrontRight) | (1u << topRearLeft) | (1u << topRearRight)); } +AudioChannelSet AudioChannelSet::mono() { return AudioChannelSet ({ centre }); } +AudioChannelSet AudioChannelSet::stereo() { return AudioChannelSet ({ left, right }); } +AudioChannelSet AudioChannelSet::createLCR() { return AudioChannelSet ({ left, right, centre }); } +AudioChannelSet AudioChannelSet::createLRS() { return AudioChannelSet ({ left, right, surround }); } +AudioChannelSet AudioChannelSet::createLCRS() { return AudioChannelSet ({ left, right, centre, surround }); } +AudioChannelSet AudioChannelSet::create5point0() { return AudioChannelSet ({ left, right, centre, leftSurround, rightSurround }); } +AudioChannelSet AudioChannelSet::create5point1() { return AudioChannelSet ({ left, right, centre, LFE, leftSurround, rightSurround }); } +AudioChannelSet AudioChannelSet::create6point0() { return AudioChannelSet ({ left, right, centre, leftSurround, rightSurround, centreSurround }); } +AudioChannelSet AudioChannelSet::create6point1() { return AudioChannelSet ({ left, right, centre, LFE, leftSurround, rightSurround, centreSurround }); } +AudioChannelSet AudioChannelSet::create6point0Music() { return AudioChannelSet ({ left, right, leftSurround, rightSurround, leftSurroundSide, rightSurroundSide }); } +AudioChannelSet AudioChannelSet::create6point1Music() { return AudioChannelSet ({ left, right, LFE, leftSurround, rightSurround, leftSurroundSide, rightSurroundSide }); } +AudioChannelSet AudioChannelSet::create7point0() { return AudioChannelSet ({ left, right, centre, leftSurroundSide, rightSurroundSide, leftSurroundRear, rightSurroundRear }); } +AudioChannelSet AudioChannelSet::create7point0SDDS() { return AudioChannelSet ({ left, right, centre, leftSurround, rightSurround, leftCentre, rightCentre }); } +AudioChannelSet AudioChannelSet::create7point1() { return AudioChannelSet ({ left, right, centre, LFE, leftSurroundSide, rightSurroundSide, leftSurroundRear, rightSurroundRear }); } +AudioChannelSet AudioChannelSet::create7point1SDDS() { return AudioChannelSet ({ left, right, centre, LFE, leftSurround, rightSurround, leftCentre, rightCentre }); } +AudioChannelSet AudioChannelSet::quadraphonic() { return AudioChannelSet ({ left, right, leftSurround, rightSurround }); } +AudioChannelSet AudioChannelSet::pentagonal() { return AudioChannelSet ({ left, right, centre, leftSurroundRear, rightSurroundRear }); } +AudioChannelSet AudioChannelSet::hexagonal() { return AudioChannelSet ({ left, right, centre, centreSurround, leftSurroundRear, rightSurroundRear }); } +AudioChannelSet AudioChannelSet::octagonal() { return AudioChannelSet ({ left, right, centre, leftSurround, rightSurround, centreSurround, wideLeft, wideRight }); } +AudioChannelSet AudioChannelSet::create5point1point2() { return AudioChannelSet ({ left, right, centre, LFE, leftSurround, rightSurround, topSideLeft, topSideRight }); } +AudioChannelSet AudioChannelSet::create5point1point4() { return AudioChannelSet ({ left, right, centre, LFE, leftSurround, rightSurround, topFrontLeft, topFrontRight, topRearLeft, topRearRight }); } +AudioChannelSet AudioChannelSet::create7point0point2() { return AudioChannelSet ({ left, right, centre, leftSurroundSide, rightSurroundSide, leftSurroundRear, rightSurroundRear, topSideLeft, topSideRight }); } +AudioChannelSet AudioChannelSet::create7point1point2() { return AudioChannelSet ({ left, right, centre, LFE, leftSurroundSide, rightSurroundSide, leftSurroundRear, rightSurroundRear, topSideLeft, topSideRight }); } +AudioChannelSet AudioChannelSet::create7point0point4() { return AudioChannelSet ({ left, right, centre, leftSurroundSide, rightSurroundSide, leftSurroundRear, rightSurroundRear, topFrontLeft, topFrontRight, topRearLeft, topRearRight }); } +AudioChannelSet AudioChannelSet::create7point1point4() { return AudioChannelSet ({ left, right, centre, LFE, leftSurroundSide, rightSurroundSide, leftSurroundRear, rightSurroundRear, topFrontLeft, topFrontRight, topRearLeft, topRearRight }); } +AudioChannelSet AudioChannelSet::create7point1point6() { return AudioChannelSet ({ left, right, centre, LFE, leftSurroundSide, rightSurroundSide, leftSurroundRear, rightSurroundRear, topFrontLeft, topFrontRight, topSideLeft, topSideRight, topRearLeft, topRearRight }); } +AudioChannelSet AudioChannelSet::create9point1point6() { return AudioChannelSet ({ left, right, centre, LFE, leftSurroundSide, rightSurroundSide, leftSurroundRear, rightSurroundRear, wideLeft, wideRight, topFrontLeft, topFrontRight, topSideLeft, topSideRight, topRearLeft, topRearRight }); } AudioChannelSet AudioChannelSet::ambisonic (int order) { diff --git a/modules/juce_audio_basics/buffers/juce_AudioChannelSet.h b/modules/juce_audio_basics/buffers/juce_AudioChannelSet.h index cb2ded6e..423175f2 100644 --- a/modules/juce_audio_basics/buffers/juce_AudioChannelSet.h +++ b/modules/juce_audio_basics/buffers/juce_AudioChannelSet.h @@ -196,6 +196,18 @@ public: */ static AudioChannelSet JUCE_CALLTYPE create7point1SDDS(); + /** Creates a set for a 5.1.2 surround setup (left, right, centre, LFE, leftSurround, rightSurround, topSideLeft, topSideRight). + + Is equivalent to: kAudioChannelLayoutTag_Atmos_5_1_2 (CoreAudio). + */ + static AudioChannelSet JUCE_CALLTYPE create5point1point2(); + + /** Creates a set for a 5.1.4 surround setup (left, right, centre, LFE, leftSurround, rightSurround, topFrontLeft, topFrontRight, topRearLeft, topRearRight). + + Is equivalent to: kAudioChannelLayoutTag_Atmos_5_1_4 (CoreAudio). + */ + static AudioChannelSet JUCE_CALLTYPE create5point1point4(); + /** Creates a set for Dolby Atmos 7.0.2 surround setup (left, right, centre, leftSurroundSide, rightSurroundSide, leftSurroundRear, rightSurroundRear, topSideLeft, topSideRight). Is equivalent to: n/a (VST), AAX_eStemFormat_7_0_2 (AAX), n/a (CoreAudio) @@ -204,7 +216,7 @@ public: /** Creates a set for Dolby Atmos 7.1.2 surround setup (left, right, centre, leftSurroundSide, rightSurroundSide, leftSurroundRear, rightSurroundRear, LFE, topSideLeft, topSideRight). - Is equivalent to: k71_2 (VST), AAX_eStemFormat_7_1_2 (AAX), n/a (CoreAudio) + Is equivalent to: k71_2 (VST), AAX_eStemFormat_7_1_2 (AAX), kAudioChannelLayoutTag_Atmos_7_1_2 (CoreAudio) */ static AudioChannelSet JUCE_CALLTYPE create7point1point2(); @@ -216,10 +228,21 @@ public: /** Creates a set for Dolby Atmos 7.1.4 surround setup (left, right, centre, leftSurroundSide, rightSurroundSide, leftSurroundRear, rightSurroundRear, LFE, topFrontLeft, topFrontRight, topRearLeft, topRearRight). - Is equivalent to: k71_4 (VST), n/a (AAX), n/a (CoreAudio) + Is equivalent to: k71_4 (VST), n/a (AAX), kAudioChannelLayoutTag_Atmos_7_1_4 (CoreAudio) */ static AudioChannelSet JUCE_CALLTYPE create7point1point4(); + /** Creates a set for Dolby Atmos 7.1.6 surround setup (left, right, centre, leftSurroundSide, rightSurroundSide, leftSurroundRear, rightSurroundRear, LFE, topFrontLeft, topFrontRight, topSideLeft, topSideRight, topRearLeft, topRearRight). + + Is equivalent to: k71_6 (VST), n/a (AAX), n/a (CoreAudio) + */ + static AudioChannelSet JUCE_CALLTYPE create7point1point6(); + + /** Creates a set for a 9.1.6 surround setup (left, right, centre, LFE, leftSurroundSide, rightSurroundSide, leftSurroundRear, rightSurroundRear, wideLeft, wideRight, topFrontLeft, topFrontRight, topSideLeft, topSideRight, topRearLeft, topRearRight). + + Is equivalent to: kAudioChannelLayoutTag_Atmos_9_1_6 (CoreAudio). + */ + static AudioChannelSet JUCE_CALLTYPE create9point1point6(); //============================================================================== /** Creates a set for quadraphonic surround setup (left, right, leftSurround, rightSurround) @@ -318,8 +341,8 @@ public: //============================================================================== // Used by Dolby Atmos 7.0.2 and 7.1.2 - topSideLeft = 28, /**< Lts (AAX), Tsl (VST) channel for Dolby Atmos. */ - topSideRight = 29, /**< Rts (AAX), Tsr (VST) channel for Dolby Atmos. */ + topSideLeft = 28, /**< Lts (AAX), Tsl (VST), Ltm (AU) channel for Dolby Atmos. */ + topSideRight = 29, /**< Rts (AAX), Tsr (VST), Rtm (AU) channel for Dolby Atmos. */ //============================================================================== // Ambisonic ACN formats - all channels are SN3D normalised @@ -487,7 +510,7 @@ private: //============================================================================== explicit AudioChannelSet (uint32); - explicit AudioChannelSet (const Array&); + explicit AudioChannelSet (const std::initializer_list&); //============================================================================== static int JUCE_CALLTYPE getAmbisonicOrderForNumChannels (int); diff --git a/modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp b/modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp index b6e7ee83..7f7d59b5 100644 --- a/modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp +++ b/modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp @@ -23,6 +23,9 @@ namespace juce { +JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wdeprecated-declarations") +JUCE_BEGIN_IGNORE_WARNINGS_MSVC (4996) + void AudioDataConverters::convertFloatToInt16LE (const float* source, void* dest, int numSamples, int destBytesPerSample) { auto maxVal = (double) 0x7fff; @@ -431,35 +434,22 @@ void AudioDataConverters::convertFormatToFloat (DataFormat sourceFormat, const v //============================================================================== void AudioDataConverters::interleaveSamples (const float** source, float* dest, int numSamples, int numChannels) { - for (int chan = 0; chan < numChannels; ++chan) - { - auto i = chan; - auto src = source [chan]; + using Format = AudioData::Format; - for (int j = 0; j < numSamples; ++j) - { - dest [i] = src [j]; - i += numChannels; - } - } + AudioData::interleaveSamples (AudioData::NonInterleavedSource { source, numChannels }, + AudioData::InterleavedDest { dest, numChannels }, + numSamples); } void AudioDataConverters::deinterleaveSamples (const float* source, float** dest, int numSamples, int numChannels) { - for (int chan = 0; chan < numChannels; ++chan) - { - auto i = chan; - auto dst = dest [chan]; + using Format = AudioData::Format; - for (int j = 0; j < numSamples; ++j) - { - dst [j] = source [i]; - i += numChannels; - } - } + AudioData::deinterleaveSamples (AudioData::InterleavedSource { source, numChannels }, + AudioData::NonInterleavedDest { dest, numChannels }, + numSamples); } - //============================================================================== //============================================================================== #if JUCE_UNIT_TESTS @@ -588,6 +578,50 @@ public: Test1 ::test (*this, r); beginTest ("Round-trip conversion: Float32"); Test1 ::test (*this, r); + + using Format = AudioData::Format; + + beginTest ("Interleaving"); + { + constexpr auto numChannels = 4; + constexpr auto numSamples = 512; + + AudioBuffer sourceBuffer { numChannels, numSamples }, + destBuffer { 1, numChannels * numSamples }; + + for (int ch = 0; ch < numChannels; ++ch) + for (int i = 0; i < numSamples; ++i) + sourceBuffer.setSample (ch, i, r.nextFloat()); + + AudioData::interleaveSamples (AudioData::NonInterleavedSource { sourceBuffer.getArrayOfReadPointers(), numChannels }, + AudioData::InterleavedDest { destBuffer.getWritePointer (0), numChannels }, + numSamples); + + for (int ch = 0; ch < numChannels; ++ch) + for (int i = 0; i < numSamples; ++i) + expect (destBuffer.getSample (0, ch + (i * numChannels)) == sourceBuffer.getSample (ch, i)); + } + + beginTest ("Deinterleaving"); + { + constexpr auto numChannels = 4; + constexpr auto numSamples = 512; + + AudioBuffer sourceBuffer { 1, numChannels * numSamples }, + destBuffer { numChannels, numSamples }; + + for (int ch = 0; ch < numChannels; ++ch) + for (int i = 0; i < numSamples; ++i) + sourceBuffer.setSample (0, ch + (i * numChannels), r.nextFloat()); + + AudioData::deinterleaveSamples (AudioData::InterleavedSource { sourceBuffer.getReadPointer (0), numChannels }, + AudioData::NonInterleavedDest { destBuffer.getArrayOfWritePointers(), numChannels }, + numSamples); + + for (int ch = 0; ch < numChannels; ++ch) + for (int i = 0; i < numSamples; ++i) + expect (sourceBuffer.getSample (0, ch + (i * numChannels)) == destBuffer.getSample (ch, i)); + } } }; @@ -595,4 +629,7 @@ static AudioConversionTests audioConversionUnitTests; #endif +JUCE_END_IGNORE_WARNINGS_MSVC +JUCE_END_IGNORE_WARNINGS_GCC_LIKE + } // namespace juce diff --git a/modules/juce_audio_basics/buffers/juce_AudioDataConverters.h b/modules/juce_audio_basics/buffers/juce_AudioDataConverters.h index 64ad8ec4..fa694081 100644 --- a/modules/juce_audio_basics/buffers/juce_AudioDataConverters.h +++ b/modules/juce_audio_basics/buffers/juce_AudioDataConverters.h @@ -639,11 +639,152 @@ public: const int sourceChannels, destChannels; }; -}; + //============================================================================== + /** A struct that contains a SampleFormat and Endianness to be used with the source and + destination types when calling the interleaveSamples() and deinterleaveSamples() helpers. + + @see interleaveSamples, deinterleaveSamples + */ + template + struct Format + { + using DataFormat = DataFormatIn; + using Endianness = EndiannessIn; + }; + +private: + template + struct ChannelDataSubtypes; + + template + struct ChannelDataSubtypes + { + using ElementType = std::remove_pointer_t; + using ChannelType = std::conditional_t; + using DataType = std::conditional_t; + using PointerType = Pointer, + std::conditional_t>; + }; + + template + struct ChannelDataSubtypes> + { + using Subtypes = ChannelDataSubtypes; + using DataType = typename Subtypes::DataType; + using PointerType = typename Subtypes::PointerType; + }; + + template + struct ChannelData + { + using Subtypes = ChannelDataSubtypes; + using DataType = typename Subtypes::DataType; + using PointerType = typename Subtypes::PointerType; + DataType data; + int channels; + }; + +public: + //============================================================================== + /** A sequence of interleaved samples used as the source for the deinterleaveSamples() method. */ + template using InterleavedSource = ChannelData; + /** A sequence of interleaved samples used as the destination for the interleaveSamples() method. */ + template using InterleavedDest = ChannelData; + /** A sequence of non-interleaved samples used as the source for the interleaveSamples() method. */ + template using NonInterleavedSource = ChannelData; + /** A sequence of non-interleaved samples used as the destination for the deinterleaveSamples() method. */ + template using NonInterleavedDest = ChannelData; + + /** A helper function for converting a sequence of samples from a non-interleaved source + to an interleaved destination. + + When calling this method you need to specify the source and destination data format and endianness + from the AudioData SampleFormat and Endianness types and provide the data and number of channels + for each. For example, to convert a floating-point stream of big endian samples to an interleaved, + native endian stream of 16-bit integer samples you would do the following: + + @code + using SourceFormat = AudioData::Format; + using DestFormat = AudioData::Format; + + AudioData::interleaveSamples (AudioData::NonInterleavedSource { sourceData, numSourceChannels }, + AudioData::InterleavedDest { destData, numDestChannels }, + numSamples); + @endcode + */ + template + static void interleaveSamples (NonInterleavedSource source, + InterleavedDest dest, + int numSamples) + { + using SourceType = typename decltype (source)::PointerType; + using DestType = typename decltype (dest) ::PointerType; + + for (int i = 0; i < dest.channels; ++i) + { + const DestType destType (addBytesToPointer (dest.data, i * DestType::getBytesPerSample()), dest.channels); + + if (i < source.channels) + { + if (*source.data != nullptr) + { + destType.convertSamples (SourceType { *source.data }, numSamples); + ++source.data; + } + } + else + { + destType.clearSamples (numSamples); + } + } + } + + /** A helper function for converting a sequence of samples from an interleaved source + to a non-interleaved destination. + + When calling this method you need to specify the source and destination data format and endianness + from the AudioData SampleFormat and Endianness types and provide the data and number of channels + for each. For example, to convert a floating-point stream of big endian samples to an non-interleaved, + native endian stream of 16-bit integer samples you would do the following: + + @code + using SourceFormat = AudioData::Format; + using DestFormat = AudioData::Format; + + AudioData::deinterleaveSamples (AudioData::InterleavedSource { sourceData, numSourceChannels }, + AudioData::NonInterleavedDest { destData, numDestChannels }, + numSamples); + @endcode + */ + template + static void deinterleaveSamples (InterleavedSource source, + NonInterleavedDest dest, + int numSamples) + { + using SourceType = typename decltype (source)::PointerType; + using DestType = typename decltype (dest) ::PointerType; + + for (int i = 0; i < dest.channels; ++i) + { + if (auto* targetChan = dest.data[i]) + { + const DestType destType (targetChan); + + if (i < source.channels) + destType.convertSamples (SourceType (addBytesToPointer (source.data, i * SourceType::getBytesPerSample()), source.channels), numSamples); + else + destType.clearSamples (numSamples); + } + } + } +}; //============================================================================== +#ifndef DOXYGEN /** A set of routines to convert buffers of 32-bit floating point data to and from various integer formats. @@ -653,7 +794,7 @@ public: @tags{Audio} */ -class JUCE_API AudioDataConverters +class [[deprecated]] JUCE_API AudioDataConverters { public: //============================================================================== @@ -710,7 +851,7 @@ public: private: AudioDataConverters(); - JUCE_DECLARE_NON_COPYABLE (AudioDataConverters) }; +#endif } // namespace juce diff --git a/modules/juce_audio_basics/buffers/juce_AudioProcessLoadMeasurer.cpp b/modules/juce_audio_basics/buffers/juce_AudioProcessLoadMeasurer.cpp index 0a617d7d..ee778098 100644 --- a/modules/juce_audio_basics/buffers/juce_AudioProcessLoadMeasurer.cpp +++ b/modules/juce_audio_basics/buffers/juce_AudioProcessLoadMeasurer.cpp @@ -23,8 +23,8 @@ namespace juce { -AudioProcessLoadMeasurer::AudioProcessLoadMeasurer() {} -AudioProcessLoadMeasurer::~AudioProcessLoadMeasurer() {} +AudioProcessLoadMeasurer::AudioProcessLoadMeasurer() = default; +AudioProcessLoadMeasurer::~AudioProcessLoadMeasurer() = default; void AudioProcessLoadMeasurer::reset() { @@ -33,43 +33,55 @@ void AudioProcessLoadMeasurer::reset() void AudioProcessLoadMeasurer::reset (double sampleRate, int blockSize) { - cpuUsageMs = 0; + cpuUsageProportion = 0; xruns = 0; if (sampleRate > 0.0 && blockSize > 0) { - msPerBlock = 1000.0 * blockSize / sampleRate; - timeToCpuScale = (msPerBlock > 0.0) ? (1.0 / msPerBlock) : 0.0; + msPerSample = 1000.0 / sampleRate; + timeToCpuScale = (msPerSample > 0.0) ? (1.0 / msPerSample) : 0.0; } else { - msPerBlock = 0; + msPerSample = 0; timeToCpuScale = 0; } } void AudioProcessLoadMeasurer::registerBlockRenderTime (double milliseconds) { - const double filterAmount = 0.2; - cpuUsageMs += filterAmount * (milliseconds - cpuUsageMs); + registerRenderTime (milliseconds, samplesPerBlock); +} + +void AudioProcessLoadMeasurer::registerRenderTime (double milliseconds, int numSamples) +{ + const auto maxMilliseconds = numSamples * msPerSample; + const auto usedProportion = milliseconds / maxMilliseconds; + const auto filterAmount = 0.2; + cpuUsageProportion += filterAmount * (usedProportion - cpuUsageProportion); - if (milliseconds > msPerBlock) + if (milliseconds > maxMilliseconds) ++xruns; } -double AudioProcessLoadMeasurer::getLoadAsProportion() const { return jlimit (0.0, 1.0, timeToCpuScale * cpuUsageMs); } +double AudioProcessLoadMeasurer::getLoadAsProportion() const { return jlimit (0.0, 1.0, cpuUsageProportion); } double AudioProcessLoadMeasurer::getLoadAsPercentage() const { return 100.0 * getLoadAsProportion(); } int AudioProcessLoadMeasurer::getXRunCount() const { return xruns; } AudioProcessLoadMeasurer::ScopedTimer::ScopedTimer (AudioProcessLoadMeasurer& p) - : owner (p), startTime (Time::getMillisecondCounterHiRes()) + : ScopedTimer (p, p.samplesPerBlock) +{ +} + +AudioProcessLoadMeasurer::ScopedTimer::ScopedTimer (AudioProcessLoadMeasurer& p, int numSamplesInBlock) + : owner (p), startTime (Time::getMillisecondCounterHiRes()), samplesInBlock (numSamplesInBlock) { } AudioProcessLoadMeasurer::ScopedTimer::~ScopedTimer() { - owner.registerBlockRenderTime (Time::getMillisecondCounterHiRes() - startTime); + owner.registerRenderTime (Time::getMillisecondCounterHiRes() - startTime, samplesInBlock); } } // namespace juce diff --git a/modules/juce_audio_basics/buffers/juce_AudioProcessLoadMeasurer.h b/modules/juce_audio_basics/buffers/juce_AudioProcessLoadMeasurer.h index ffd113d6..ea0c1f76 100644 --- a/modules/juce_audio_basics/buffers/juce_AudioProcessLoadMeasurer.h +++ b/modules/juce_audio_basics/buffers/juce_AudioProcessLoadMeasurer.h @@ -72,11 +72,13 @@ public: struct JUCE_API ScopedTimer { ScopedTimer (AudioProcessLoadMeasurer&); + ScopedTimer (AudioProcessLoadMeasurer&, int numSamplesInBlock); ~ScopedTimer(); private: AudioProcessLoadMeasurer& owner; double startTime; + int samplesInBlock; JUCE_DECLARE_NON_COPYABLE (ScopedTimer) }; @@ -87,9 +89,15 @@ public: */ void registerBlockRenderTime (double millisecondsTaken); + /** Can be called manually to add the time of a callback to the stats. + Normally you probably would never call this - it's simpler and more robust to + use a ScopedTimer to measure the time using an RAII pattern. + */ + void registerRenderTime (double millisecondsTaken, int numSamples); + private: - double cpuUsageMs = 0, timeToCpuScale = 0, msPerBlock = 0; - int xruns = 0; + double cpuUsageProportion = 0, timeToCpuScale = 0, msPerSample = 0; + int xruns = 0, samplesPerBlock = 0; }; diff --git a/modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp b/modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp index 5a510994..c39b52bd 100644 --- a/modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp +++ b/modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp @@ -873,7 +873,7 @@ void FloatVectorOperations::abs (double* dest, const double* src, int num) noexc void JUCE_CALLTYPE FloatVectorOperations::convertFixedToFloat (float* dest, const int* src, float multiplier, int num) noexcept { #if JUCE_USE_ARM_NEON - JUCE_PERFORM_VEC_OP_SRC_DEST (dest[i] = src[i] * multiplier, + JUCE_PERFORM_VEC_OP_SRC_DEST (dest[i] = (float) src[i] * multiplier, vmulq_n_f32 (vcvtq_f32_s32 (vld1q_s32 (src)), multiplier), JUCE_LOAD_NONE, JUCE_INCREMENT_SRC_DEST, ) #else @@ -1051,7 +1051,9 @@ intptr_t JUCE_CALLTYPE FloatVectorOperations::getFpStatusRegister() noexcept void JUCE_CALLTYPE FloatVectorOperations::setFpStatusRegister (intptr_t fpsr) noexcept { #if JUCE_INTEL && JUCE_USE_SSE_INTRINSICS - auto fpsr_w = static_cast (fpsr); + // the volatile keyword here is needed to workaround a bug in AppleClang 13.0 + // which aggressively optimises away the variable otherwise + volatile auto fpsr_w = static_cast (fpsr); _mm_setcsr (fpsr_w); #elif defined (__arm64__) || defined (__aarch64__) || JUCE_USE_ARM_NEON #if defined (__arm64__) || defined (__aarch64__) diff --git a/modules/juce_audio_basics/juce_audio_basics.h b/modules/juce_audio_basics/juce_audio_basics.h index a0b6c72e..25fbd4ec 100644 --- a/modules/juce_audio_basics/juce_audio_basics.h +++ b/modules/juce_audio_basics/juce_audio_basics.h @@ -32,7 +32,7 @@ ID: juce_audio_basics vendor: juce - version: 6.1.0 + version: 6.1.3 name: JUCE audio and MIDI data classes description: Classes for audio buffer manipulation, midi message handling, synthesis, etc. website: http://www.juce.com/juce diff --git a/modules/juce_audio_basics/midi/juce_MidiBuffer.cpp b/modules/juce_audio_basics/midi/juce_MidiBuffer.cpp index 1636f73b..dfdf41ee 100644 --- a/modules/juce_audio_basics/midi/juce_MidiBuffer.cpp +++ b/modules/juce_audio_basics/midi/juce_MidiBuffer.cpp @@ -209,13 +209,14 @@ MidiBufferIterator MidiBuffer::findNextSamplePosition (int samplePosition) const } //============================================================================== +JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wdeprecated-declarations") +JUCE_BEGIN_IGNORE_WARNINGS_MSVC (4996) + MidiBuffer::Iterator::Iterator (const MidiBuffer& b) noexcept : buffer (b), iterator (b.data.begin()) { } -MidiBuffer::Iterator::~Iterator() noexcept {} - void MidiBuffer::Iterator::setNextSamplePosition (int samplePosition) noexcept { iterator = buffer.findNextSamplePosition (samplePosition); @@ -244,6 +245,9 @@ bool MidiBuffer::Iterator::getNextEvent (MidiMessage& result, int& samplePositio return true; } +JUCE_END_IGNORE_WARNINGS_MSVC +JUCE_END_IGNORE_WARNINGS_GCC_LIKE + //============================================================================== //============================================================================== #if JUCE_UNIT_TESTS diff --git a/modules/juce_audio_basics/midi/juce_MidiBuffer.h b/modules/juce_audio_basics/midi/juce_MidiBuffer.h index 4cf92725..583c93ef 100644 --- a/modules/juce_audio_basics/midi/juce_MidiBuffer.h +++ b/modules/juce_audio_basics/midi/juce_MidiBuffer.h @@ -273,7 +273,9 @@ public: MidiBufferIterator findNextSamplePosition (int samplePosition) const noexcept; //============================================================================== - /** + #ifndef DOXYGEN + /** This class is now deprecated in favour of MidiBufferIterator. + Used to iterate through the events in a MidiBuffer. Note that altering the buffer while an iterator is using it will produce @@ -281,20 +283,12 @@ public: @see MidiBuffer */ - class JUCE_API Iterator + class [[deprecated]] JUCE_API Iterator { public: //============================================================================== - /** Creates an Iterator for this MidiBuffer. - This class has been deprecated in favour of MidiBufferIterator. - */ - JUCE_DEPRECATED (Iterator (const MidiBuffer&) noexcept); - - /** Creates a copy of an iterator. */ - Iterator (const Iterator&) = default; - - /** Destructor. */ - ~Iterator() noexcept; + /** Creates an Iterator for this MidiBuffer. */ + Iterator (const MidiBuffer& b) noexcept; //============================================================================== /** Repositions the iterator so that the next event retrieved will be the first @@ -336,6 +330,7 @@ public: const MidiBuffer& buffer; MidiBufferIterator iterator; }; + #endif /** The raw data holding this buffer. Obviously access to this data is provided at your own risk. Its internal format could diff --git a/modules/juce_audio_basics/midi/juce_MidiFile.cpp b/modules/juce_audio_basics/midi/juce_MidiFile.cpp index 270f4f9a..dd1c4329 100644 --- a/modules/juce_audio_basics/midi/juce_MidiFile.cpp +++ b/modules/juce_audio_basics/midi/juce_MidiFile.cpp @@ -264,7 +264,6 @@ namespace MidiFileHelpers //============================================================================== MidiFile::MidiFile() : timeFormat ((short) (unsigned short) 0xe728) {} -MidiFile::~MidiFile() {} MidiFile::MidiFile (const MidiFile& other) : timeFormat (other.timeFormat) { diff --git a/modules/juce_audio_basics/midi/juce_MidiFile.h b/modules/juce_audio_basics/midi/juce_MidiFile.h index de043ed9..95f0e3ab 100644 --- a/modules/juce_audio_basics/midi/juce_MidiFile.h +++ b/modules/juce_audio_basics/midi/juce_MidiFile.h @@ -45,9 +45,6 @@ public: /** Creates an empty MidiFile object. */ MidiFile(); - /** Destructor. */ - ~MidiFile(); - /** Creates a copy of another MidiFile. */ MidiFile (const MidiFile&); diff --git a/modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp b/modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp index de83ae85..2a34076d 100644 --- a/modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp +++ b/modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp @@ -28,10 +28,6 @@ MidiKeyboardState::MidiKeyboardState() zerostruct (noteStates); } -MidiKeyboardState::~MidiKeyboardState() -{ -} - //============================================================================== void MidiKeyboardState::reset() { diff --git a/modules/juce_audio_basics/midi/juce_MidiKeyboardState.h b/modules/juce_audio_basics/midi/juce_MidiKeyboardState.h index 61011dd6..35c46fa4 100644 --- a/modules/juce_audio_basics/midi/juce_MidiKeyboardState.h +++ b/modules/juce_audio_basics/midi/juce_MidiKeyboardState.h @@ -43,7 +43,6 @@ class JUCE_API MidiKeyboardState public: //============================================================================== MidiKeyboardState(); - ~MidiKeyboardState(); //============================================================================== /** Resets the state of the object. diff --git a/modules/juce_audio_basics/midi/juce_MidiMessage.h b/modules/juce_audio_basics/midi/juce_MidiMessage.h index 22ac7948..0384f553 100644 --- a/modules/juce_audio_basics/midi/juce_MidiMessage.h +++ b/modules/juce_audio_basics/midi/juce_MidiMessage.h @@ -102,7 +102,8 @@ public: double timeStamp = 0, bool sysexHasEmbeddedLength = true); - /** Creates an active-sense message. + /** Creates an empty sysex message. + Since the MidiMessage has to contain a valid message, this default constructor just initialises it with an empty sysex message. */ @@ -856,17 +857,16 @@ public: //============================================================================== + #ifndef DOXYGEN /** Reads a midi variable-length integer. - This signature has been deprecated in favour of the safer - readVariableLengthValue. - The `data` argument indicates the data to read the number from, and `numBytesUsed` is used as an out-parameter to indicate the number of bytes that were read. */ - JUCE_DEPRECATED (static int readVariableLengthVal (const uint8* data, - int& numBytesUsed) noexcept); + [[deprecated ("This signature has been deprecated in favour of the safer readVariableLengthValue.")]] + static int readVariableLengthVal (const uint8* data, int& numBytesUsed) noexcept; + #endif /** Holds information about a variable-length value which was parsed from a stream of bytes. diff --git a/modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp b/modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp index 6759568c..c9df3ee3 100644 --- a/modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp +++ b/modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp @@ -25,7 +25,6 @@ namespace juce MidiMessageSequence::MidiEventHolder::MidiEventHolder (const MidiMessage& mm) : message (mm) {} MidiMessageSequence::MidiEventHolder::MidiEventHolder (MidiMessage&& mm) : message (std::move (mm)) {} -MidiMessageSequence::MidiEventHolder::~MidiEventHolder() {} //============================================================================== MidiMessageSequence::MidiMessageSequence() @@ -63,10 +62,6 @@ MidiMessageSequence& MidiMessageSequence::operator= (MidiMessageSequence&& other return *this; } -MidiMessageSequence::~MidiMessageSequence() -{ -} - void MidiMessageSequence::swapWith (MidiMessageSequence& other) noexcept { list.swapWith (other.list); @@ -309,43 +304,182 @@ void MidiMessageSequence::deleteSysExMessages() } //============================================================================== -void MidiMessageSequence::createControllerUpdatesForTime (int channelNumber, double time, Array& dest) +class OptionalPitchWheel { - bool doneProg = false; - bool donePitchWheel = false; - bool doneControllers[128] = {}; + int value = 0; + bool valid = false; - for (int i = list.size(); --i >= 0;) +public: + void emit (int channel, Array& out) const + { + if (valid) + out.add (MidiMessage::pitchWheel (channel, value)); + } + + void set (int v) + { + value = v; + valid = true; + } +}; + +class OptionalControllerValues +{ + int values[128]; + +public: + OptionalControllerValues() + { + std::fill (std::begin (values), std::end (values), -1); + } + + void emit (int channel, Array& out) const + { + for (auto it = std::begin (values); it != std::end (values); ++it) + if (*it != -1) + out.add (MidiMessage::controllerEvent (channel, (int) std::distance (std::begin (values), it), *it)); + } + + void set (int controller, int value) + { + values[controller] = value; + } +}; + +class OptionalProgramChange +{ + int value = -1, bankLSB = -1, bankMSB = -1; + +public: + void emit (int channel, double time, Array& out) const { - auto& mm = list.getUnchecked(i)->message; + if (value == -1) + return; - if (mm.isForChannel (channelNumber) && mm.getTimeStamp() <= time) + if (bankLSB != -1 && bankMSB != -1) { - if (mm.isProgramChange() && ! doneProg) - { - doneProg = true; - dest.add (MidiMessage (mm, 0.0)); - } - else if (mm.isPitchWheel() && ! donePitchWheel) + out.add (MidiMessage::controllerEvent (channel, 0x00, bankMSB).withTimeStamp (time)); + out.add (MidiMessage::controllerEvent (channel, 0x20, bankLSB).withTimeStamp (time)); + } + + out.add (MidiMessage::programChange (channel, value).withTimeStamp (time)); + } + + // Returns true if this is a bank number change, and false otherwise. + bool trySetBank (int controller, int v) + { + switch (controller) + { + case 0x00: bankMSB = v; return true; + case 0x20: bankLSB = v; return true; + } + + return false; + } + + void setProgram (int v) { value = v; } +}; + +class ParameterNumberState +{ + enum class Kind { rpn, nrpn }; + + int newestRpnLsb = -1, newestRpnMsb = -1, newestNrpnLsb = -1, newestNrpnMsb = -1; + int lastSentLsb = -1, lastSentMsb = -1; + Kind lastSentKind = Kind::rpn, newestKind = Kind::rpn; + +public: + // If the effective parameter number has changed since the last time this function was called, + // this will emit the current parameter in full (MSB and LSB). + // This should be called before each data message (entry, increment, decrement: 0x06, 0x26, 0x60, 0x61) + // to ensure that the data message operates on the correct parameter number. + void sendIfNecessary (int channel, double time, Array& out) + { + const auto newestMsb = newestKind == Kind::rpn ? newestRpnMsb : newestNrpnMsb; + const auto newestLsb = newestKind == Kind::rpn ? newestRpnLsb : newestNrpnLsb; + + auto lastSent = std::tie (lastSentKind, lastSentMsb, lastSentLsb); + const auto newest = std::tie (newestKind, newestMsb, newestLsb); + + if (lastSent == newest || newestMsb == -1 || newestLsb == -1) + return; + + out.add (MidiMessage::controllerEvent (channel, newestKind == Kind::rpn ? 0x65 : 0x63, newestMsb).withTimeStamp (time)); + out.add (MidiMessage::controllerEvent (channel, newestKind == Kind::rpn ? 0x64 : 0x62, newestLsb).withTimeStamp (time)); + + lastSent = newest; + } + + // Returns true if this is a parameter number change, and false otherwise. + bool trySetProgramNumber (int controller, int value) + { + switch (controller) + { + case 0x65: newestRpnMsb = value; newestKind = Kind::rpn; return true; + case 0x64: newestRpnLsb = value; newestKind = Kind::rpn; return true; + case 0x63: newestNrpnMsb = value; newestKind = Kind::nrpn; return true; + case 0x62: newestNrpnLsb = value; newestKind = Kind::nrpn; return true; + } + + return false; + } +}; + +void MidiMessageSequence::createControllerUpdatesForTime (int channel, double time, Array& dest) +{ + OptionalProgramChange programChange; + OptionalControllerValues controllers; + OptionalPitchWheel pitchWheel; + ParameterNumberState parameterNumberState; + + for (const auto& item : list) + { + const auto& mm = item->message; + + if (! (mm.isForChannel (channel) && mm.getTimeStamp() <= time)) + continue; + + if (mm.isController()) + { + const auto num = mm.getControllerNumber(); + + if (parameterNumberState.trySetProgramNumber (num, mm.getControllerValue())) + continue; + + if (programChange.trySetBank (num, mm.getControllerValue())) + continue; + + constexpr int passthroughs[] { 0x06, 0x26, 0x60, 0x61 }; + + if (std::find (std::begin (passthroughs), std::end (passthroughs), num) != std::end (passthroughs)) { - donePitchWheel = true; - dest.add (MidiMessage (mm, 0.0)); + parameterNumberState.sendIfNecessary (channel, mm.getTimeStamp(), dest); + dest.add (mm); } - else if (mm.isController()) + else { - auto controllerNumber = mm.getControllerNumber(); - jassert (isPositiveAndBelow (controllerNumber, 128)); - - if (! doneControllers[controllerNumber]) - { - doneControllers[controllerNumber] = true; - dest.add (MidiMessage (mm, 0.0)); - } + controllers.set (num, mm.getControllerValue()); } } + else if (mm.isProgramChange()) + { + programChange.setProgram (mm.getProgramChangeNumber()); + } + else if (mm.isPitchWheel()) + { + pitchWheel.set (mm.getPitchWheelValue()); + } } -} + pitchWheel.emit (channel, dest); + controllers.emit (channel, dest); + + // Also emits bank change messages if necessary. + programChange.emit (channel, time, dest); + + // Set the parameter number to its final state. + parameterNumberState.sendIfNecessary (channel, time, dest); +} //============================================================================== //============================================================================== @@ -402,6 +536,338 @@ struct MidiMessageSequenceTest : public UnitTest expectEquals (s.getNumEvents(), 7); expectEquals (s.getIndexOfMatchingKeyUp (0), -1); // Truncated note, should be no note off expectEquals (s.getTimeOfMatchingKeyUp (1), 5.0); + + struct ControlValue { int control, value; }; + + struct DataEntry + { + int controllerBase, channel, parameter, value; + double time; + + std::array getControlValues() const + { + return { { { controllerBase + 1, (parameter >> 7) & 0x7f }, + { controllerBase + 0, (parameter >> 0) & 0x7f }, + { 0x06, (value >> 7) & 0x7f }, + { 0x26, (value >> 0) & 0x7f } } }; + } + + void addToSequence (MidiMessageSequence& s) const + { + for (const auto& pair : getControlValues()) + s.addEvent (MidiMessage::controllerEvent (channel, pair.control, pair.value), time); + } + + bool matches (const MidiMessage* begin, const MidiMessage* end) const + { + const auto isEqual = [this] (const ControlValue& cv, const MidiMessage& msg) + { + return msg.getTimeStamp() == time + && msg.isController() + && msg.getChannel() == channel + && msg.getControllerNumber() == cv.control + && msg.getControllerValue() == cv.value; + }; + + const auto pairs = getControlValues(); + return std::equal (pairs.begin(), pairs.end(), begin, end, isEqual); + } + }; + + const auto addNrpn = [&] (MidiMessageSequence& seq, int channel, int parameter, int value, double time = 0.0) + { + DataEntry { 0x62, channel, parameter, value, time }.addToSequence (seq); + }; + + const auto addRpn = [&] (MidiMessageSequence& seq, int channel, int parameter, int value, double time = 0.0) + { + DataEntry { 0x64, channel, parameter, value, time }.addToSequence (seq); + }; + + const auto checkNrpn = [&] (const MidiMessage* begin, const MidiMessage* end, int channel, int parameter, int value, double time = 0.0) + { + expect (DataEntry { 0x62, channel, parameter, value, time }.matches (begin, end)); + }; + + const auto checkRpn = [&] (const MidiMessage* begin, const MidiMessage* end, int channel, int parameter, int value, double time = 0.0) + { + expect (DataEntry { 0x64, channel, parameter, value, time }.matches (begin, end)); + }; + + beginTest ("createControllerUpdatesForTime should emit (N)RPN components in the correct order"); + { + const auto channel = 1; + const auto number = 200; + const auto value = 300; + + MidiMessageSequence sequence; + addNrpn (sequence, channel, number, value); + + Array m; + sequence.createControllerUpdatesForTime (channel, 1.0, m); + + checkNrpn (m.begin(), m.end(), channel, number, value); + } + + beginTest ("createControllerUpdatesForTime ignores (N)RPNs after the final requested time"); + { + const auto channel = 2; + const auto number = 123; + const auto value = 456; + + MidiMessageSequence sequence; + addRpn (sequence, channel, number, value, 0.5); + addRpn (sequence, channel, 111, 222, 1.5); + addRpn (sequence, channel, 333, 444, 2.5); + + Array m; + sequence.createControllerUpdatesForTime (channel, 1.0, m); + + checkRpn (m.begin(), std::next (m.begin(), 4), channel, number, value, 0.5); + } + + beginTest ("createControllerUpdatesForTime should emit separate (N)RPN messages when appropriate"); + { + const auto channel = 2; + const auto numberA = 1111; + const auto valueA = 9999; + + const auto numberB = 8888; + const auto valueB = 2222; + + const auto numberC = 7777; + const auto valueC = 3333; + + const auto numberD = 6666; + const auto valueD = 4444; + + const auto time = 0.5; + + MidiMessageSequence sequence; + addRpn (sequence, channel, numberA, valueA, time); + addRpn (sequence, channel, numberB, valueB, time); + addNrpn (sequence, channel, numberC, valueC, time); + addNrpn (sequence, channel, numberD, valueD, time); + + Array m; + sequence.createControllerUpdatesForTime (channel, time * 2, m); + + checkRpn (std::next (m.begin(), 0), std::next (m.begin(), 4), channel, numberA, valueA, time); + checkRpn (std::next (m.begin(), 4), std::next (m.begin(), 8), channel, numberB, valueB, time); + checkNrpn (std::next (m.begin(), 8), std::next (m.begin(), 12), channel, numberC, valueC, time); + checkNrpn (std::next (m.begin(), 12), std::next (m.begin(), 16), channel, numberD, valueD, time); + } + + beginTest ("createControllerUpdatesForTime correctly emits (N)RPN messages on multiple channels"); + { + struct Info { int channel, number, value; }; + + const Info infos[] { { 2, 1111, 9999 }, + { 8, 8888, 2222 }, + { 5, 7777, 3333 }, + { 1, 6666, 4444 } }; + + const auto time = 0.5; + + MidiMessageSequence sequence; + + for (const auto& info : infos) + addRpn (sequence, info.channel, info.number, info.value, time); + + for (const auto& info : infos) + { + Array m; + sequence.createControllerUpdatesForTime (info.channel, time * 2, m); + checkRpn (std::next (m.begin(), 0), std::next (m.begin(), 4), info.channel, info.number, info.value, time); + } + } + + const auto messagesAreEqual = [] (const MidiMessage& a, const MidiMessage& b) + { + return std::equal (a.getRawData(), a.getRawData() + a.getRawDataSize(), + b.getRawData(), b.getRawData() + b.getRawDataSize()); + }; + + beginTest ("createControllerUpdatesForTime sends bank select messages when the next program is in a new bank"); + { + MidiMessageSequence sequence; + + const auto time = 0.0; + const auto channel = 1; + + sequence.addEvent (MidiMessage::programChange (channel, 5), time); + + sequence.addEvent (MidiMessage::controllerEvent (channel, 0x00, 128), time); + sequence.addEvent (MidiMessage::controllerEvent (channel, 0x20, 64), time); + sequence.addEvent (MidiMessage::programChange (channel, 63), time); + + const Array finalEvents { MidiMessage::controllerEvent (channel, 0x00, 50), + MidiMessage::controllerEvent (channel, 0x20, 40), + MidiMessage::programChange (channel, 30) }; + + for (const auto& e : finalEvents) + sequence.addEvent (e); + + Array m; + sequence.createControllerUpdatesForTime (channel, 1.0, m); + + expect (std::equal (m.begin(), m.end(), finalEvents.begin(), finalEvents.end(), messagesAreEqual)); + } + + beginTest ("createControllerUpdatesForTime preserves all Data Increment and Data Decrement messages"); + { + MidiMessageSequence sequence; + + const auto time = 0.0; + const auto channel = 1; + + const Array messages { MidiMessage::controllerEvent (channel, 0x60, 0), + MidiMessage::controllerEvent (channel, 0x06, 100), + MidiMessage::controllerEvent (channel, 0x26, 50), + MidiMessage::controllerEvent (channel, 0x60, 10), + MidiMessage::controllerEvent (channel, 0x61, 10), + MidiMessage::controllerEvent (channel, 0x06, 20), + MidiMessage::controllerEvent (channel, 0x26, 30), + MidiMessage::controllerEvent (channel, 0x61, 10), + MidiMessage::controllerEvent (channel, 0x61, 20) }; + + for (const auto& m : messages) + sequence.addEvent (m, time); + + Array m; + sequence.createControllerUpdatesForTime (channel, 1.0, m); + + expect (std::equal (m.begin(), m.end(), messages.begin(), messages.end(), messagesAreEqual)); + } + + beginTest ("createControllerUpdatesForTime does not emit redundant parameter number changes"); + { + MidiMessageSequence sequence; + + const auto time = 0.0; + const auto channel = 1; + + const Array messages { MidiMessage::controllerEvent (channel, 0x65, 0), + MidiMessage::controllerEvent (channel, 0x64, 100), + MidiMessage::controllerEvent (channel, 0x63, 50), + MidiMessage::controllerEvent (channel, 0x62, 10), + MidiMessage::controllerEvent (channel, 0x06, 10) }; + + for (const auto& m : messages) + sequence.addEvent (m, time); + + Array m; + sequence.createControllerUpdatesForTime (channel, 1.0, m); + + const Array expected { MidiMessage::controllerEvent (channel, 0x63, 50), + MidiMessage::controllerEvent (channel, 0x62, 10), + MidiMessage::controllerEvent (channel, 0x06, 10) }; + + expect (std::equal (m.begin(), m.end(), expected.begin(), expected.end(), messagesAreEqual)); + } + + beginTest ("createControllerUpdatesForTime sets parameter number correctly at end of sequence"); + { + MidiMessageSequence sequence; + + const auto time = 0.0; + const auto channel = 1; + + const Array messages { MidiMessage::controllerEvent (channel, 0x65, 0), + MidiMessage::controllerEvent (channel, 0x64, 100), + MidiMessage::controllerEvent (channel, 0x63, 50), + MidiMessage::controllerEvent (channel, 0x62, 10), + MidiMessage::controllerEvent (channel, 0x06, 10), + MidiMessage::controllerEvent (channel, 0x64, 5) }; + + for (const auto& m : messages) + sequence.addEvent (m, time); + + const auto finalTime = 1.0; + + Array m; + sequence.createControllerUpdatesForTime (channel, finalTime, m); + + const Array expected { MidiMessage::controllerEvent (channel, 0x63, 50), + MidiMessage::controllerEvent (channel, 0x62, 10), + MidiMessage::controllerEvent (channel, 0x06, 10), + // Note: we should send both the MSB and LSB! + MidiMessage::controllerEvent (channel, 0x65, 0).withTimeStamp (finalTime), + MidiMessage::controllerEvent (channel, 0x64, 5).withTimeStamp (finalTime) }; + + expect (std::equal (m.begin(), m.end(), expected.begin(), expected.end(), messagesAreEqual)); + } + + beginTest ("createControllerUpdatesForTime does not emit duplicate parameter number change messages"); + { + MidiMessageSequence sequence; + + const auto time = 0.0; + const auto channel = 1; + + const Array messages { MidiMessage::controllerEvent (channel, 0x65, 1), + MidiMessage::controllerEvent (channel, 0x64, 2), + MidiMessage::controllerEvent (channel, 0x63, 3), + MidiMessage::controllerEvent (channel, 0x62, 4), + MidiMessage::controllerEvent (channel, 0x06, 10), + MidiMessage::controllerEvent (channel, 0x63, 30), + MidiMessage::controllerEvent (channel, 0x62, 40), + MidiMessage::controllerEvent (channel, 0x63, 3), + MidiMessage::controllerEvent (channel, 0x62, 4), + MidiMessage::controllerEvent (channel, 0x60, 5), + MidiMessage::controllerEvent (channel, 0x65, 10) }; + + for (const auto& m : messages) + sequence.addEvent (m, time); + + const auto finalTime = 1.0; + + Array m; + sequence.createControllerUpdatesForTime (channel, finalTime, m); + + const Array expected { MidiMessage::controllerEvent (channel, 0x63, 3), + MidiMessage::controllerEvent (channel, 0x62, 4), + MidiMessage::controllerEvent (channel, 0x06, 10), + // Parameter number is set to (30, 40) then back to (3, 4), + // so there is no need to resend it + MidiMessage::controllerEvent (channel, 0x60, 5), + // Set parameter number to final value + MidiMessage::controllerEvent (channel, 0x65, 10).withTimeStamp (finalTime), + MidiMessage::controllerEvent (channel, 0x64, 2) .withTimeStamp (finalTime) }; + + expect (std::equal (m.begin(), m.end(), expected.begin(), expected.end(), messagesAreEqual)); + } + + beginTest ("createControllerUpdatesForTime emits bank change messages immediately before program change"); + { + MidiMessageSequence sequence; + + const auto time = 0.0; + const auto channel = 1; + + const Array messages { MidiMessage::controllerEvent (channel, 0x00, 1), + MidiMessage::controllerEvent (channel, 0x20, 2), + MidiMessage::controllerEvent (channel, 0x65, 0), + MidiMessage::controllerEvent (channel, 0x64, 0), + MidiMessage::programChange (channel, 5) }; + + for (const auto& m : messages) + sequence.addEvent (m, time); + + const auto finalTime = 1.0; + + Array m; + sequence.createControllerUpdatesForTime (channel, finalTime, m); + + const Array expected { MidiMessage::controllerEvent (channel, 0x00, 1), + MidiMessage::controllerEvent (channel, 0x20, 2), + MidiMessage::programChange (channel, 5), + MidiMessage::controllerEvent (channel, 0x65, 0).withTimeStamp (finalTime), + MidiMessage::controllerEvent (channel, 0x64, 0).withTimeStamp (finalTime) }; + + + expect (std::equal (m.begin(), m.end(), expected.begin(), expected.end(), messagesAreEqual)); + } } }; diff --git a/modules/juce_audio_basics/midi/juce_MidiMessageSequence.h b/modules/juce_audio_basics/midi/juce_MidiMessageSequence.h index 325de2ec..698da744 100644 --- a/modules/juce_audio_basics/midi/juce_MidiMessageSequence.h +++ b/modules/juce_audio_basics/midi/juce_MidiMessageSequence.h @@ -53,9 +53,6 @@ public: /** Move assignment operator */ MidiMessageSequence& operator= (MidiMessageSequence&&) noexcept; - /** Destructor. */ - ~MidiMessageSequence(); - //============================================================================== /** Structure used to hold midi events in the sequence. @@ -68,9 +65,6 @@ public: { public: //============================================================================== - /** Destructor. */ - ~MidiEventHolder(); - /** The message itself, whose timestamp is used to specify the event's time. */ MidiMessage message; @@ -277,6 +271,21 @@ public: As well as controllers, it will also recreate the midi program number and pitch bend position. + This function has special handling for the "bank select" and "data entry" + controllers (0x00, 0x20, 0x06, 0x26, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65). + + If the sequence contains multiple bank select and program change messages, + only the bank select messages immediately preceding the final program change + message will be kept. + + All "data increment" and "data decrement" messages will be retained. Some hardware will + ignore the requested increment/decrement values, so retaining all messages is the only + way to ensure compatibility with all hardware. + + "Parameter number" changes will be slightly condensed. Only the parameter number + events immediately preceding each data entry event will be kept. The parameter number + will also be set to its final value at the end of the sequence, if necessary. + @param channelNumber the midi channel to look for, in the range 1 to 16. Controllers for other channels will be ignored. @param time the time at which you want to find out the state - there are diff --git a/modules/juce_audio_basics/midi/ump/juce_UMP.h b/modules/juce_audio_basics/midi/ump/juce_UMP.h index 1d310280..e6ce3aff 100644 --- a/modules/juce_audio_basics/midi/ump/juce_UMP.h +++ b/modules/juce_audio_basics/midi/ump/juce_UMP.h @@ -37,7 +37,11 @@ #include "juce_UMPDispatcher.h" #include "juce_UMPReceiver.h" +#ifndef DOXYGEN + namespace juce { namespace ump = universal_midi_packets; } + +#endif diff --git a/modules/juce_audio_basics/midi/ump/juce_UMPConversion.h b/modules/juce_audio_basics/midi/ump/juce_UMPConversion.h index c85a33f1..86ae3391 100644 --- a/modules/juce_audio_basics/midi/ump/juce_UMPConversion.h +++ b/modules/juce_audio_basics/midi/ump/juce_UMPConversion.h @@ -20,6 +20,8 @@ ============================================================================== */ +#ifndef DOXYGEN + namespace juce { namespace universal_midi_packets @@ -324,3 +326,5 @@ struct Conversion } } + +#endif diff --git a/modules/juce_audio_basics/midi/ump/juce_UMPConverters.h b/modules/juce_audio_basics/midi/ump/juce_UMPConverters.h index d47927bd..a0bbee91 100644 --- a/modules/juce_audio_basics/midi/ump/juce_UMPConverters.h +++ b/modules/juce_audio_basics/midi/ump/juce_UMPConverters.h @@ -20,6 +20,8 @@ ============================================================================== */ +#ifndef DOXYGEN + namespace juce { namespace universal_midi_packets @@ -163,3 +165,5 @@ namespace universal_midi_packets }; } } + +#endif diff --git a/modules/juce_audio_basics/midi/ump/juce_UMPDispatcher.h b/modules/juce_audio_basics/midi/ump/juce_UMPDispatcher.h index 64e2dd9c..ab1277cc 100644 --- a/modules/juce_audio_basics/midi/ump/juce_UMPDispatcher.h +++ b/modules/juce_audio_basics/midi/ump/juce_UMPDispatcher.h @@ -20,6 +20,8 @@ ============================================================================== */ +#ifndef DOXYGEN + namespace juce { namespace universal_midi_packets @@ -196,3 +198,5 @@ private: } } + +#endif diff --git a/modules/juce_audio_basics/midi/ump/juce_UMPFactory.h b/modules/juce_audio_basics/midi/ump/juce_UMPFactory.h index acfcc6c8..f1d937d7 100644 --- a/modules/juce_audio_basics/midi/ump/juce_UMPFactory.h +++ b/modules/juce_audio_basics/midi/ump/juce_UMPFactory.h @@ -20,6 +20,8 @@ ============================================================================== */ +#ifndef DOXYGEN + namespace juce { namespace universal_midi_packets @@ -532,3 +534,5 @@ struct Factory } } + +#endif diff --git a/modules/juce_audio_basics/midi/ump/juce_UMPIterator.h b/modules/juce_audio_basics/midi/ump/juce_UMPIterator.h index 1bfa334f..1800388a 100644 --- a/modules/juce_audio_basics/midi/ump/juce_UMPIterator.h +++ b/modules/juce_audio_basics/midi/ump/juce_UMPIterator.h @@ -20,6 +20,8 @@ ============================================================================== */ +#ifndef DOXYGEN + namespace juce { namespace universal_midi_packets @@ -124,3 +126,5 @@ private: } } + +#endif diff --git a/modules/juce_audio_basics/midi/ump/juce_UMPMidi1ToBytestreamTranslator.h b/modules/juce_audio_basics/midi/ump/juce_UMPMidi1ToBytestreamTranslator.h index 5debeef1..514cd017 100644 --- a/modules/juce_audio_basics/midi/ump/juce_UMPMidi1ToBytestreamTranslator.h +++ b/modules/juce_audio_basics/midi/ump/juce_UMPMidi1ToBytestreamTranslator.h @@ -20,6 +20,8 @@ ============================================================================== */ +#ifndef DOXYGEN + namespace juce { namespace universal_midi_packets @@ -211,3 +213,5 @@ private: } } + +#endif diff --git a/modules/juce_audio_basics/midi/ump/juce_UMPMidi1ToMidi2DefaultTranslator.h b/modules/juce_audio_basics/midi/ump/juce_UMPMidi1ToMidi2DefaultTranslator.h index 61d566ff..77e50766 100644 --- a/modules/juce_audio_basics/midi/ump/juce_UMPMidi1ToMidi2DefaultTranslator.h +++ b/modules/juce_audio_basics/midi/ump/juce_UMPMidi1ToMidi2DefaultTranslator.h @@ -20,6 +20,8 @@ ============================================================================== */ +#ifndef DOXYGEN + namespace juce { namespace universal_midi_packets @@ -185,3 +187,5 @@ private: } } + +#endif diff --git a/modules/juce_audio_basics/midi/ump/juce_UMPProtocols.h b/modules/juce_audio_basics/midi/ump/juce_UMPProtocols.h index a5b5ca9f..2e6df208 100644 --- a/modules/juce_audio_basics/midi/ump/juce_UMPProtocols.h +++ b/modules/juce_audio_basics/midi/ump/juce_UMPProtocols.h @@ -20,6 +20,8 @@ ============================================================================== */ +#ifndef DOXYGEN + namespace juce { namespace universal_midi_packets @@ -42,3 +44,5 @@ enum class MidiProtocol } } + +#endif diff --git a/modules/juce_audio_basics/midi/ump/juce_UMPReceiver.h b/modules/juce_audio_basics/midi/ump/juce_UMPReceiver.h index 469efd3a..46785734 100644 --- a/modules/juce_audio_basics/midi/ump/juce_UMPReceiver.h +++ b/modules/juce_audio_basics/midi/ump/juce_UMPReceiver.h @@ -20,6 +20,8 @@ ============================================================================== */ +#ifndef DOXYGEN + namespace juce { namespace universal_midi_packets @@ -27,6 +29,8 @@ namespace universal_midi_packets /** A base class for classes which receive Universal MIDI Packets from an input. + + @tags{Audio} */ struct Receiver { @@ -38,3 +42,5 @@ struct Receiver } } + +#endif diff --git a/modules/juce_audio_basics/midi/ump/juce_UMPSysEx7.cpp b/modules/juce_audio_basics/midi/ump/juce_UMPSysEx7.cpp index bf4f790b..a5fdf190 100644 --- a/modules/juce_audio_basics/midi/ump/juce_UMPSysEx7.cpp +++ b/modules/juce_audio_basics/midi/ump/juce_UMPSysEx7.cpp @@ -39,12 +39,12 @@ SysEx7::PacketBytes SysEx7::getDataBytes (const PacketX2& packet) return { - { packet.getU8<2>(), - packet.getU8<3>(), - packet.getU8<4>(), - packet.getU8<5>(), - packet.getU8<6>(), - packet.getU8<7>() }, + { { packet.getU8<2>(), + packet.getU8<3>(), + packet.getU8<4>(), + packet.getU8<5>(), + packet.getU8<6>(), + packet.getU8<7>() } }, jmin (numBytes, maxBytes) }; } diff --git a/modules/juce_audio_basics/midi/ump/juce_UMPSysEx7.h b/modules/juce_audio_basics/midi/ump/juce_UMPSysEx7.h index f5f898a7..2a264bbd 100644 --- a/modules/juce_audio_basics/midi/ump/juce_UMPSysEx7.h +++ b/modules/juce_audio_basics/midi/ump/juce_UMPSysEx7.h @@ -20,6 +20,8 @@ ============================================================================== */ +#ifndef DOXYGEN + namespace juce { namespace universal_midi_packets @@ -71,3 +73,5 @@ struct SysEx7 } } + +#endif diff --git a/modules/juce_audio_basics/midi/ump/juce_UMPUtils.h b/modules/juce_audio_basics/midi/ump/juce_UMPUtils.h index 9bac9e4b..d55d9cb1 100644 --- a/modules/juce_audio_basics/midi/ump/juce_UMPUtils.h +++ b/modules/juce_audio_basics/midi/ump/juce_UMPUtils.h @@ -20,6 +20,8 @@ ============================================================================== */ +#ifndef DOXYGEN + namespace juce { namespace universal_midi_packets @@ -111,3 +113,5 @@ struct Utils } } + +#endif diff --git a/modules/juce_audio_basics/midi/ump/juce_UMPView.h b/modules/juce_audio_basics/midi/ump/juce_UMPView.h index 504e024c..3033fc18 100644 --- a/modules/juce_audio_basics/midi/ump/juce_UMPView.h +++ b/modules/juce_audio_basics/midi/ump/juce_UMPView.h @@ -20,6 +20,8 @@ ============================================================================== */ +#ifndef DOXYGEN + namespace juce { namespace universal_midi_packets @@ -86,3 +88,5 @@ private: } } + +#endif diff --git a/modules/juce_audio_basics/midi/ump/juce_UMPacket.h b/modules/juce_audio_basics/midi/ump/juce_UMPacket.h index b58304d5..610e3072 100644 --- a/modules/juce_audio_basics/midi/ump/juce_UMPacket.h +++ b/modules/juce_audio_basics/midi/ump/juce_UMPacket.h @@ -20,6 +20,8 @@ ============================================================================== */ +#ifndef DOXYGEN + namespace juce { namespace universal_midi_packets @@ -27,6 +29,8 @@ namespace universal_midi_packets /** Holds a single Universal MIDI Packet. + + @tags{Audio} */ template class Packet @@ -185,3 +189,5 @@ using PacketX4 = Packet<4>; } } + +#endif diff --git a/modules/juce_audio_basics/midi/ump/juce_UMPackets.h b/modules/juce_audio_basics/midi/ump/juce_UMPackets.h index 2a0a1b8f..b485b100 100644 --- a/modules/juce_audio_basics/midi/ump/juce_UMPackets.h +++ b/modules/juce_audio_basics/midi/ump/juce_UMPackets.h @@ -20,6 +20,8 @@ ============================================================================== */ +#ifndef DOXYGEN + namespace juce { namespace universal_midi_packets @@ -90,3 +92,5 @@ private: } } + +#endif diff --git a/modules/juce_audio_basics/native/juce_mac_CoreAudioLayouts.h b/modules/juce_audio_basics/native/juce_mac_CoreAudioLayouts.h index ac5ce32d..9a986dbe 100644 --- a/modules/juce_audio_basics/native/juce_mac_CoreAudioLayouts.h +++ b/modules/juce_audio_basics/native/juce_mac_CoreAudioLayouts.h @@ -23,10 +23,140 @@ namespace juce { -#if ! DOXYGEN && (JUCE_MAC || JUCE_IOS) +#if ! defined (DOXYGEN) && (JUCE_MAC || JUCE_IOS) struct CoreAudioLayouts { + //============================================================================== + struct LayoutTagSpeakerList + { + AudioChannelLayoutTag tag; + AudioChannelSet::ChannelType channelTypes[16]; + }; + + //============================================================================== + // This list has been derived from https://pastebin.com/24dQ4BPJ + // Apple channel labels have been replaced by JUCE channel names + // This means that some layouts will be identical in JUCE but not in CoreAudio + + // In Apple's official definition the following tags exist with the same speaker layout and order + // even when *not* represented in JUCE channels + // kAudioChannelLayoutTag_Binaural = kAudioChannelLayoutTag_Stereo + // kAudioChannelLayoutTag_MPEG_5_0_B = kAudioChannelLayoutTag_Pentagonal + // kAudioChannelLayoutTag_ITU_2_2 = kAudioChannelLayoutTag_Quadraphonic + // kAudioChannelLayoutTag_AudioUnit_6_0 = kAudioChannelLayoutTag_Hexagonal + struct SpeakerLayoutTable : AudioChannelSet // save us some typing + { + template + static constexpr auto getArray (Items... items) + { + return std::array { { items... } }; + } + + static constexpr auto get() + { + using List = LayoutTagSpeakerList; + + return getArray (List { kAudioChannelLayoutTag_Mono, { centre } }, + List { kAudioChannelLayoutTag_Stereo, { left, right } }, + List { kAudioChannelLayoutTag_MPEG_3_0_A, { left, right, centre } }, + List { kAudioChannelLayoutTag_ITU_2_1, { left, right, centreSurround } }, + List { kAudioChannelLayoutTag_MPEG_4_0_A, { left, right, centre, centreSurround } }, + List { kAudioChannelLayoutTag_MPEG_5_0_A, { left, right, centre, leftSurround, rightSurround } }, + List { kAudioChannelLayoutTag_MPEG_5_1_A, { left, right, centre, LFE, leftSurround, rightSurround } }, + List { kAudioChannelLayoutTag_AudioUnit_6_0, { left, right, leftSurround, rightSurround, centre, centreSurround } }, + List { kAudioChannelLayoutTag_MPEG_6_1_A, { left, right, centre, LFE, leftSurround, rightSurround, centreSurround } }, + List { kAudioChannelLayoutTag_DTS_6_0_A, { leftSurroundSide, rightSurroundSide, left, right, leftSurround, rightSurround } }, + List { kAudioChannelLayoutTag_DTS_6_1_A, { leftSurroundSide, rightSurroundSide, left, right, leftSurround, rightSurround, LFE } }, + List { kAudioChannelLayoutTag_AudioUnit_7_0, { left, right, leftSurroundSide, rightSurroundSide, centre, leftSurroundRear, rightSurroundRear } }, + List { kAudioChannelLayoutTag_AudioUnit_7_0_Front, { left, right, leftSurround, rightSurround, centre, leftCentre, rightCentre } }, + List { kAudioChannelLayoutTag_MPEG_7_1_C, { left, right, centre, LFE, leftSurroundSide, rightSurroundSide, leftSurroundRear, rightSurroundRear } }, + List { kAudioChannelLayoutTag_MPEG_7_1_A, { left, right, centre, LFE, leftSurround, rightSurround, leftCentre, rightCentre } }, + List { kAudioChannelLayoutTag_Ambisonic_B_Format, { ambisonicW, ambisonicX, ambisonicY, ambisonicZ } }, + List { kAudioChannelLayoutTag_Quadraphonic, { left, right, leftSurround, rightSurround } }, + List { kAudioChannelLayoutTag_Pentagonal, { left, right, leftSurroundRear, rightSurroundRear, centre } }, + List { kAudioChannelLayoutTag_Hexagonal, { left, right, leftSurroundRear, rightSurroundRear, centre, centreSurround } }, + List { kAudioChannelLayoutTag_Octagonal, { left, right, leftSurround, rightSurround, centre, centreSurround, wideLeft, wideRight } }, + + #if defined (MAC_OS_VERSION_11_0) + List { kAudioChannelLayoutTag_Atmos_5_1_4, { left, right, centre, LFE, leftSurround, rightSurround, topFrontLeft, topFrontRight, topRearLeft, topRearRight } }, + List { kAudioChannelLayoutTag_Atmos_7_1_2, { left, right, centre, LFE, leftSurroundSide, rightSurroundSide, leftSurroundRear, rightSurroundRear, topSideLeft, topSideRight } }, + #endif + + #if defined (MAC_OS_X_VERSION_10_15) + List { kAudioChannelLayoutTag_Atmos_5_1_2, { left, right, centre, LFE, leftSurround, rightSurround, topSideLeft, topSideRight } }, + List { kAudioChannelLayoutTag_Atmos_7_1_4, { left, right, centre, LFE, leftSurroundSide, rightSurroundSide, leftSurroundRear, rightSurroundRear, topFrontLeft, topFrontRight, topRearLeft, topRearRight } }, + List { kAudioChannelLayoutTag_Atmos_9_1_6, { left, right, centre, LFE, leftSurroundSide, rightSurroundSide, leftSurroundRear, rightSurroundRear, wideLeft, wideRight, topFrontLeft, topFrontRight, topSideLeft, topSideRight, topRearLeft, topRearRight } }, + #endif + + // More uncommon layouts... + List { kAudioChannelLayoutTag_StereoHeadphones, { left, right } }, + List { kAudioChannelLayoutTag_MatrixStereo, { left, right } }, + List { kAudioChannelLayoutTag_MidSide, { centre, discreteChannel0 } }, + List { kAudioChannelLayoutTag_XY, { ambisonicX, ambisonicY } }, + List { kAudioChannelLayoutTag_Binaural, { left, right } }, + List { kAudioChannelLayoutTag_Cube, { left, right, leftSurround, rightSurround, topFrontLeft, topFrontRight, topRearLeft, topRearRight } }, + List { kAudioChannelLayoutTag_MPEG_3_0_B, { centre, left, right } }, + List { kAudioChannelLayoutTag_MPEG_4_0_B, { centre, left, right, centreSurround } }, + List { kAudioChannelLayoutTag_MPEG_5_0_B, { left, right, leftSurround, rightSurround, centre } }, + List { kAudioChannelLayoutTag_MPEG_5_0_C, { left, centre, right, leftSurround, rightSurround } }, + List { kAudioChannelLayoutTag_MPEG_5_0_D, { centre, left, right, leftSurround, rightSurround } }, + List { kAudioChannelLayoutTag_MPEG_5_1_B, { left, right, leftSurround, rightSurround, centre, LFE } }, + List { kAudioChannelLayoutTag_MPEG_5_1_C, { left, centre, right, leftSurround, rightSurround, LFE } }, + List { kAudioChannelLayoutTag_MPEG_5_1_D, { centre, left, right, leftSurround, rightSurround, LFE } }, + List { kAudioChannelLayoutTag_MPEG_7_1_B, { centre, leftCentre, rightCentre, left, right, leftSurround, rightSurround, LFE } }, + List { kAudioChannelLayoutTag_Emagic_Default_7_1, { left, right, leftSurround, rightSurround, centre, LFE, leftCentre, rightCentre } }, + List { kAudioChannelLayoutTag_SMPTE_DTV, { left, right, centre, LFE, leftSurround, rightSurround, discreteChannel0 /* leftMatrixTotal */, (ChannelType) (discreteChannel0 + 1) /* rightMatrixTotal */} }, + List { kAudioChannelLayoutTag_ITU_2_2, { left, right, leftSurround, rightSurround } }, + List { kAudioChannelLayoutTag_DVD_4, { left, right, LFE } }, + List { kAudioChannelLayoutTag_DVD_5, { left, right, LFE, centreSurround } }, + List { kAudioChannelLayoutTag_DVD_6, { left, right, LFE, leftSurround, rightSurround } }, + List { kAudioChannelLayoutTag_DVD_10, { left, right, centre, LFE } }, + List { kAudioChannelLayoutTag_DVD_11, { left, right, centre, LFE, centreSurround } }, + List { kAudioChannelLayoutTag_DVD_18, { left, right, leftSurround, rightSurround, LFE } }, + List { kAudioChannelLayoutTag_AAC_6_0, { centre, left, right, leftSurround, rightSurround, centreSurround } }, + List { kAudioChannelLayoutTag_AAC_6_1, { centre, left, right, leftSurround, rightSurround, centreSurround, LFE } }, + List { kAudioChannelLayoutTag_AAC_7_0, { centre, left, right, leftSurround, rightSurround, leftSurroundRear, rightSurroundRear } }, + List { kAudioChannelLayoutTag_AAC_7_1_B, { centre, left, right, leftSurround, rightSurround, leftSurroundRear, rightSurroundRear, LFE } }, + List { kAudioChannelLayoutTag_AAC_7_1_C, { centre, left, right, leftSurround, rightSurround, LFE, topFrontLeft, topFrontRight } }, + List { kAudioChannelLayoutTag_AAC_Octagonal, { centre, left, right, leftSurround, rightSurround, leftSurroundRear, rightSurroundRear, centreSurround } }, + List { kAudioChannelLayoutTag_TMH_10_2_std, { left, right, centre, topFrontCentre, leftSurroundSide, rightSurroundSide, leftSurround, rightSurround, topFrontLeft, topFrontRight, wideLeft, wideRight, topRearCentre, centreSurround, LFE, LFE2 } }, + List { kAudioChannelLayoutTag_AC3_1_0_1, { centre, LFE } }, + List { kAudioChannelLayoutTag_AC3_3_0, { left, centre, right } }, + List { kAudioChannelLayoutTag_AC3_3_1, { left, centre, right, centreSurround } }, + List { kAudioChannelLayoutTag_AC3_3_0_1, { left, centre, right, LFE } }, + List { kAudioChannelLayoutTag_AC3_2_1_1, { left, right, centreSurround, LFE } }, + List { kAudioChannelLayoutTag_AC3_3_1_1, { left, centre, right, centreSurround, LFE } }, + List { kAudioChannelLayoutTag_EAC_6_0_A, { left, centre, right, leftSurround, rightSurround, centreSurround } }, + List { kAudioChannelLayoutTag_EAC_7_0_A, { left, centre, right, leftSurround, rightSurround, leftSurroundRear, rightSurroundRear } }, + List { kAudioChannelLayoutTag_EAC3_6_1_A, { left, centre, right, leftSurround, rightSurround, LFE, centreSurround } }, + List { kAudioChannelLayoutTag_EAC3_6_1_B, { left, centre, right, leftSurround, rightSurround, LFE, centreSurround } }, + List { kAudioChannelLayoutTag_EAC3_6_1_C, { left, centre, right, leftSurround, rightSurround, LFE, topFrontCentre } }, + List { kAudioChannelLayoutTag_EAC3_7_1_A, { left, centre, right, leftSurround, rightSurround, LFE, leftSurroundRear, rightSurroundRear } }, + List { kAudioChannelLayoutTag_EAC3_7_1_B, { left, centre, right, leftSurround, rightSurround, LFE, leftCentre, rightCentre } }, + List { kAudioChannelLayoutTag_EAC3_7_1_C, { left, centre, right, leftSurround, rightSurround, LFE, leftSurroundSide, rightSurroundSide } }, + List { kAudioChannelLayoutTag_EAC3_7_1_D, { left, centre, right, leftSurround, rightSurround, LFE, wideLeft, wideRight } }, + List { kAudioChannelLayoutTag_EAC3_7_1_E, { left, centre, right, leftSurround, rightSurround, LFE, topFrontLeft, topFrontRight } }, + List { kAudioChannelLayoutTag_EAC3_7_1_F, { left, centre, right, leftSurround, rightSurround, LFE, centreSurround, topMiddle } }, + List { kAudioChannelLayoutTag_EAC3_7_1_G, { left, centre, right, leftSurround, rightSurround, LFE, centreSurround, topFrontCentre } }, + List { kAudioChannelLayoutTag_EAC3_7_1_H, { left, centre, right, leftSurround, rightSurround, LFE, centreSurround, topFrontCentre } }, + List { kAudioChannelLayoutTag_DTS_3_1, { centre, left, right, LFE } }, + List { kAudioChannelLayoutTag_DTS_4_1, { centre, left, right, centreSurround, LFE } }, + List { kAudioChannelLayoutTag_DTS_6_0_B, { centre, left, right, leftSurroundRear, rightSurroundRear, centreSurround } }, + List { kAudioChannelLayoutTag_DTS_6_0_C, { centre, centreSurround, left, right, leftSurroundRear, rightSurroundRear } }, + List { kAudioChannelLayoutTag_DTS_6_1_B, { centre, left, right, leftSurroundRear, rightSurroundRear, centreSurround, LFE } }, + List { kAudioChannelLayoutTag_DTS_6_1_C, { centre, centreSurround, left, right, leftSurroundRear, rightSurroundRear, LFE } }, + List { kAudioChannelLayoutTag_DTS_6_1_D, { centre, left, right, leftSurround, rightSurround, LFE, centreSurround } }, + List { kAudioChannelLayoutTag_DTS_7_0, { leftCentre, centre, rightCentre, left, right, leftSurround, rightSurround } }, + List { kAudioChannelLayoutTag_DTS_7_1, { leftCentre, centre, rightCentre, left, right, leftSurround, rightSurround, LFE } }, + List { kAudioChannelLayoutTag_DTS_8_0_A, { leftCentre, rightCentre, left, right, leftSurround, rightSurround, leftSurroundRear, rightSurroundRear } }, + List { kAudioChannelLayoutTag_DTS_8_0_B, { leftCentre, centre, rightCentre, left, right, leftSurround, centreSurround, rightSurround } }, + List { kAudioChannelLayoutTag_DTS_8_1_A, { leftCentre, rightCentre, left, right, leftSurround, rightSurround, leftSurroundRear, rightSurroundRear, LFE } }, + List { kAudioChannelLayoutTag_DTS_8_1_B, { leftCentre, centre, rightCentre, left, right, leftSurround, centreSurround, rightSurround, LFE } }); + } + }; + +public: //============================================================================== enum { @@ -61,16 +191,16 @@ struct CoreAudioLayouts if (set.getAmbisonicOrder() >= 0) return coreAudioHOASN3DLayoutTag | static_cast (set.size()); - for (auto* tbl = SpeakerLayoutTable::get(); tbl->tag != 0; ++tbl) + for (const auto& item : SpeakerLayoutTable::get()) { AudioChannelSet caSet; - for (int i = 0; i < numElementsInArray (tbl->channelTypes) - && tbl->channelTypes[i] != AudioChannelSet::unknown; ++i) - caSet.addChannel (tbl->channelTypes[i]); + for (int i = 0; i < numElementsInArray (item.channelTypes) + && item.channelTypes[i] != AudioChannelSet::unknown; ++i) + caSet.addChannel (item.channelTypes[i]); if (caSet == set) - return tbl->tag; + return item.tag; } return kAudioChannelLayoutTag_DiscreteInOrder | static_cast (set.size()); @@ -121,13 +251,13 @@ struct CoreAudioLayouts Array speakers; - for (auto* tbl = SpeakerLayoutTable::get(); tbl->tag != 0; ++tbl) + for (const auto& item : SpeakerLayoutTable::get()) { - if (tag == tbl->tag) + if (tag == item.tag) { - for (int i = 0; i < numElementsInArray (tbl->channelTypes) - && tbl->channelTypes[i] != AudioChannelSet::unknown; ++i) - speakers.add (tbl->channelTypes[i]); + for (int i = 0; i < numElementsInArray (item.channelTypes) + && item.channelTypes[i] != AudioChannelSet::unknown; ++i) + speakers.add (item.channelTypes[i]); return speakers; } @@ -150,19 +280,12 @@ struct CoreAudioLayouts } private: - //============================================================================== - struct LayoutTagSpeakerList - { - AudioChannelLayoutTag tag; - AudioChannelSet::ChannelType channelTypes[16]; - }; - static Array createKnownCoreAudioTags() { Array tags; - for (auto* tbl = SpeakerLayoutTable::get(); tbl->tag != 0; ++tbl) - tags.addIfNotAlreadyThere (tbl->tag); + for (const auto& item : SpeakerLayoutTable::get()) + tags.addIfNotAlreadyThere (item.tag); for (unsigned order = 0; order <= 5; ++order) tags.addIfNotAlreadyThere (coreAudioHOASN3DLayoutTag | ((order + 1) * (order + 1))); @@ -170,115 +293,6 @@ private: return tags; } - //============================================================================== - // This list has been derived from https://pastebin.com/24dQ4BPJ - // Apple channel labels have been replaced by JUCE channel names - // This means that some layouts will be identical in JUCE but not in CoreAudio - - // In Apple's official definition the following tags exist with the same speaker layout and order - // even when *not* represented in JUCE channels - // kAudioChannelLayoutTag_Binaural = kAudioChannelLayoutTag_Stereo - // kAudioChannelLayoutTag_MPEG_5_0_B = kAudioChannelLayoutTag_Pentagonal - // kAudioChannelLayoutTag_ITU_2_2 = kAudioChannelLayoutTag_Quadraphonic - // kAudioChannelLayoutTag_AudioUnit_6_0 = kAudioChannelLayoutTag_Hexagonal - struct SpeakerLayoutTable : AudioChannelSet // save us some typing - { - static LayoutTagSpeakerList* get() noexcept - { - static LayoutTagSpeakerList tbl[] = { - // list layouts for which there is a corresponding named AudioChannelSet first - { kAudioChannelLayoutTag_Mono, { centre } }, - { kAudioChannelLayoutTag_Stereo, { left, right } }, - { kAudioChannelLayoutTag_MPEG_3_0_A, { left, right, centre } }, - { kAudioChannelLayoutTag_ITU_2_1, { left, right, centreSurround } }, - { kAudioChannelLayoutTag_MPEG_4_0_A, { left, right, centre, centreSurround } }, - { kAudioChannelLayoutTag_MPEG_5_0_A, { left, right, centre, leftSurround, rightSurround } }, - { kAudioChannelLayoutTag_MPEG_5_1_A, { left, right, centre, LFE, leftSurround, rightSurround } }, - { kAudioChannelLayoutTag_AudioUnit_6_0, { left, right, leftSurround, rightSurround, centre, centreSurround } }, - { kAudioChannelLayoutTag_MPEG_6_1_A, { left, right, centre, LFE, leftSurround, rightSurround, centreSurround } }, - { kAudioChannelLayoutTag_DTS_6_0_A, { leftSurroundSide, rightSurroundSide, left, right, leftSurround, rightSurround } }, - { kAudioChannelLayoutTag_DTS_6_1_A, { leftSurroundSide, rightSurroundSide, left, right, leftSurround, rightSurround, LFE } }, - { kAudioChannelLayoutTag_AudioUnit_7_0, { left, right, leftSurroundSide, rightSurroundSide, centre, leftSurroundRear, rightSurroundRear } }, - { kAudioChannelLayoutTag_AudioUnit_7_0_Front, { left, right, leftSurround, rightSurround, centre, leftCentre, rightCentre } }, - { kAudioChannelLayoutTag_MPEG_7_1_C, { left, right, centre, LFE, leftSurroundSide, rightSurroundSide, leftSurroundRear, rightSurroundRear } }, - { kAudioChannelLayoutTag_MPEG_7_1_A, { left, right, centre, LFE, leftSurround, rightSurround, leftCentre, rightCentre } }, - { kAudioChannelLayoutTag_Ambisonic_B_Format, { ambisonicW, ambisonicX, ambisonicY, ambisonicZ } }, - { kAudioChannelLayoutTag_Quadraphonic, { left, right, leftSurround, rightSurround } }, - { kAudioChannelLayoutTag_Pentagonal, { left, right, leftSurroundRear, rightSurroundRear, centre } }, - { kAudioChannelLayoutTag_Hexagonal, { left, right, leftSurroundRear, rightSurroundRear, centre, centreSurround } }, - { kAudioChannelLayoutTag_Octagonal, { left, right, leftSurround, rightSurround, centre, centreSurround, wideLeft, wideRight } }, - - // more uncommon layouts - { kAudioChannelLayoutTag_StereoHeadphones, { left, right } }, - { kAudioChannelLayoutTag_MatrixStereo, { left, right } }, - { kAudioChannelLayoutTag_MidSide, { centre, discreteChannel0 } }, - { kAudioChannelLayoutTag_XY, { ambisonicX, ambisonicY } }, - { kAudioChannelLayoutTag_Binaural, { left, right } }, - { kAudioChannelLayoutTag_Cube, { left, right, leftSurround, rightSurround, topFrontLeft, topFrontRight, topRearLeft, topRearRight } }, - { kAudioChannelLayoutTag_MPEG_3_0_B, { centre, left, right } }, - { kAudioChannelLayoutTag_MPEG_4_0_B, { centre, left, right, centreSurround } }, - { kAudioChannelLayoutTag_MPEG_5_0_B, { left, right, leftSurround, rightSurround, centre } }, - { kAudioChannelLayoutTag_MPEG_5_0_C, { left, centre, right, leftSurround, rightSurround } }, - { kAudioChannelLayoutTag_MPEG_5_0_D, { centre, left, right, leftSurround, rightSurround } }, - { kAudioChannelLayoutTag_MPEG_5_1_B, { left, right, leftSurround, rightSurround, centre, LFE } }, - { kAudioChannelLayoutTag_MPEG_5_1_C, { left, centre, right, leftSurround, rightSurround, LFE } }, - { kAudioChannelLayoutTag_MPEG_5_1_D, { centre, left, right, leftSurround, rightSurround, LFE } }, - { kAudioChannelLayoutTag_MPEG_7_1_B, { centre, leftCentre, rightCentre, left, right, leftSurround, rightSurround, LFE } }, - { kAudioChannelLayoutTag_Emagic_Default_7_1, { left, right, leftSurround, rightSurround, centre, LFE, leftCentre, rightCentre } }, - { kAudioChannelLayoutTag_SMPTE_DTV, { left, right, centre, LFE, leftSurround, rightSurround, discreteChannel0 /* leftMatrixTotal */, (ChannelType) (discreteChannel0 + 1) /* rightMatrixTotal */} }, - { kAudioChannelLayoutTag_ITU_2_2, { left, right, leftSurround, rightSurround } }, - { kAudioChannelLayoutTag_DVD_4, { left, right, LFE } }, - { kAudioChannelLayoutTag_DVD_5, { left, right, LFE, centreSurround } }, - { kAudioChannelLayoutTag_DVD_6, { left, right, LFE, leftSurround, rightSurround } }, - { kAudioChannelLayoutTag_DVD_10, { left, right, centre, LFE } }, - { kAudioChannelLayoutTag_DVD_11, { left, right, centre, LFE, centreSurround } }, - { kAudioChannelLayoutTag_DVD_18, { left, right, leftSurround, rightSurround, LFE } }, - { kAudioChannelLayoutTag_AAC_6_0, { centre, left, right, leftSurround, rightSurround, centreSurround } }, - { kAudioChannelLayoutTag_AAC_6_1, { centre, left, right, leftSurround, rightSurround, centreSurround, LFE } }, - { kAudioChannelLayoutTag_AAC_7_0, { centre, left, right, leftSurround, rightSurround, leftSurroundRear, rightSurroundRear } }, - { kAudioChannelLayoutTag_AAC_7_1_B, { centre, left, right, leftSurround, rightSurround, leftSurroundRear, rightSurroundRear, LFE } }, - { kAudioChannelLayoutTag_AAC_7_1_C, { centre, left, right, leftSurround, rightSurround, LFE, topFrontLeft, topFrontRight } }, - { kAudioChannelLayoutTag_AAC_Octagonal, { centre, left, right, leftSurround, rightSurround, leftSurroundRear, rightSurroundRear, centreSurround } }, - { kAudioChannelLayoutTag_TMH_10_2_std, { left, right, centre, topFrontCentre, leftSurroundSide, rightSurroundSide, leftSurround, rightSurround, topFrontLeft, topFrontRight, wideLeft, wideRight, topRearCentre, centreSurround, LFE, LFE2 } }, - { kAudioChannelLayoutTag_AC3_1_0_1, { centre, LFE } }, - { kAudioChannelLayoutTag_AC3_3_0, { left, centre, right } }, - { kAudioChannelLayoutTag_AC3_3_1, { left, centre, right, centreSurround } }, - { kAudioChannelLayoutTag_AC3_3_0_1, { left, centre, right, LFE } }, - { kAudioChannelLayoutTag_AC3_2_1_1, { left, right, centreSurround, LFE } }, - { kAudioChannelLayoutTag_AC3_3_1_1, { left, centre, right, centreSurround, LFE } }, - { kAudioChannelLayoutTag_EAC_6_0_A, { left, centre, right, leftSurround, rightSurround, centreSurround } }, - { kAudioChannelLayoutTag_EAC_7_0_A, { left, centre, right, leftSurround, rightSurround, leftSurroundRear, rightSurroundRear } }, - { kAudioChannelLayoutTag_EAC3_6_1_A, { left, centre, right, leftSurround, rightSurround, LFE, centreSurround } }, - { kAudioChannelLayoutTag_EAC3_6_1_B, { left, centre, right, leftSurround, rightSurround, LFE, centreSurround } }, - { kAudioChannelLayoutTag_EAC3_6_1_C, { left, centre, right, leftSurround, rightSurround, LFE, topFrontCentre } }, - { kAudioChannelLayoutTag_EAC3_7_1_A, { left, centre, right, leftSurround, rightSurround, LFE, leftSurroundRear, rightSurroundRear } }, - { kAudioChannelLayoutTag_EAC3_7_1_B, { left, centre, right, leftSurround, rightSurround, LFE, leftCentre, rightCentre } }, - { kAudioChannelLayoutTag_EAC3_7_1_C, { left, centre, right, leftSurround, rightSurround, LFE, leftSurroundSide, rightSurroundSide } }, - { kAudioChannelLayoutTag_EAC3_7_1_D, { left, centre, right, leftSurround, rightSurround, LFE, wideLeft, wideRight } }, - { kAudioChannelLayoutTag_EAC3_7_1_E, { left, centre, right, leftSurround, rightSurround, LFE, topFrontLeft, topFrontRight } }, - { kAudioChannelLayoutTag_EAC3_7_1_F, { left, centre, right, leftSurround, rightSurround, LFE, centreSurround, topMiddle } }, - { kAudioChannelLayoutTag_EAC3_7_1_G, { left, centre, right, leftSurround, rightSurround, LFE, centreSurround, topFrontCentre } }, - { kAudioChannelLayoutTag_EAC3_7_1_H, { left, centre, right, leftSurround, rightSurround, LFE, centreSurround, topFrontCentre } }, - { kAudioChannelLayoutTag_DTS_3_1, { centre, left, right, LFE } }, - { kAudioChannelLayoutTag_DTS_4_1, { centre, left, right, centreSurround, LFE } }, - { kAudioChannelLayoutTag_DTS_6_0_B, { centre, left, right, leftSurroundRear, rightSurroundRear, centreSurround } }, - { kAudioChannelLayoutTag_DTS_6_0_C, { centre, centreSurround, left, right, leftSurroundRear, rightSurroundRear } }, - { kAudioChannelLayoutTag_DTS_6_1_B, { centre, left, right, leftSurroundRear, rightSurroundRear, centreSurround, LFE } }, - { kAudioChannelLayoutTag_DTS_6_1_C, { centre, centreSurround, left, right, leftSurroundRear, rightSurroundRear, LFE } }, - { kAudioChannelLayoutTag_DTS_6_1_D, { centre, left, right, leftSurround, rightSurround, LFE, centreSurround } }, - { kAudioChannelLayoutTag_DTS_7_0, { leftCentre, centre, rightCentre, left, right, leftSurround, rightSurround } }, - { kAudioChannelLayoutTag_DTS_7_1, { leftCentre, centre, rightCentre, left, right, leftSurround, rightSurround, LFE } }, - { kAudioChannelLayoutTag_DTS_8_0_A, { leftCentre, rightCentre, left, right, leftSurround, rightSurround, leftSurroundRear, rightSurroundRear } }, - { kAudioChannelLayoutTag_DTS_8_0_B, { leftCentre, centre, rightCentre, left, right, leftSurround, centreSurround, rightSurround } }, - { kAudioChannelLayoutTag_DTS_8_1_A, { leftCentre, rightCentre, left, right, leftSurround, rightSurround, leftSurroundRear, rightSurroundRear, LFE } }, - { kAudioChannelLayoutTag_DTS_8_1_B, { leftCentre, centre, rightCentre, left, right, leftSurround, centreSurround, rightSurround, LFE } }, - { 0, {} } - }; - - return tbl; - } - }; - //============================================================================== static AudioChannelSet::ChannelType getChannelTypeFromAudioChannelLabel (AudioChannelLabel label) noexcept { diff --git a/modules/juce_audio_basics/synthesisers/juce_Synthesiser.h b/modules/juce_audio_basics/synthesisers/juce_Synthesiser.h index aa8e33ab..53d69006 100644 --- a/modules/juce_audio_basics/synthesisers/juce_Synthesiser.h +++ b/modules/juce_audio_basics/synthesisers/juce_Synthesiser.h @@ -631,14 +631,6 @@ private: template void processNextBlock (AudioBuffer&, const MidiBuffer&, int startSample, int numSamples); - #if JUCE_CATCH_DEPRECATED_CODE_MISUSE - // Note the new parameters for these methods. - virtual int findFreeVoice (const bool) const { return 0; } - virtual int noteOff (int, int, int) { return 0; } - virtual int findFreeVoice (SynthesiserSound*, const bool) { return 0; } - virtual int findVoiceToSteal (SynthesiserSound*) const { return 0; } - #endif - JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (Synthesiser) }; diff --git a/modules/juce_audio_basics/utilities/juce_ADSR.h b/modules/juce_audio_basics/utilities/juce_ADSR.h index fb0d8942..52d47c8e 100644 --- a/modules/juce_audio_basics/utilities/juce_ADSR.h +++ b/modules/juce_audio_basics/utilities/juce_ADSR.h @@ -124,6 +124,7 @@ public: } else { + envelopeVal = parameters.sustain; state = State::sustain; } } diff --git a/modules/juce_audio_basics/utilities/juce_ADSR_test.cpp b/modules/juce_audio_basics/utilities/juce_ADSR_test.cpp index 3f277068..deff9312 100644 --- a/modules/juce_audio_basics/utilities/juce_ADSR_test.cpp +++ b/modules/juce_audio_basics/utilities/juce_ADSR_test.cpp @@ -152,6 +152,20 @@ struct ADSRTests : public UnitTest expect (isSustained (buffer, parameters.sustain)); } + beginTest ("Zero-length attack and decay releases correctly"); + { + adsr.reset(); + adsr.setParameters ({ 0.0f, 0.0f, parameters.sustain, parameters.release }); + + adsr.noteOn(); + adsr.noteOff(); + + auto buffer = getTestBuffer (sampleRate, parameters.release); + adsr.applyEnvelopeToBuffer (buffer, 0, buffer.getNumSamples()); + + expect (isDecreasing (buffer)); + } + beginTest ("Zero-length release resets to idle"); { adsr.reset(); diff --git a/modules/juce_audio_basics/utilities/juce_SmoothedValue.h b/modules/juce_audio_basics/utilities/juce_SmoothedValue.h index 36682c68..5ee6cd65 100644 --- a/modules/juce_audio_basics/utilities/juce_SmoothedValue.h +++ b/modules/juce_audio_basics/utilities/juce_SmoothedValue.h @@ -330,9 +330,8 @@ public: } //============================================================================== - /** THIS FUNCTION IS DEPRECATED. - - Use `setTargetValue (float)` and `setCurrentAndTargetValue()` instead: + #ifndef DOXYGEN + /** Using the new methods: lsv.setValue (x, false); -> lsv.setTargetValue (x); lsv.setValue (x, true); -> lsv.setCurrentAndTargetValue (x); @@ -340,7 +339,8 @@ public: @param newValue The new target value @param force If true, the value will be set immediately, bypassing the ramp */ - JUCE_DEPRECATED_WITH_BODY (void setValue (FloatType newValue, bool force = false) noexcept, + [[deprecated ("Use setTargetValue and setCurrentAndTargetValue instead.")]] + void setValue (FloatType newValue, bool force = false) noexcept { if (force) { @@ -349,7 +349,8 @@ public: } setTargetValue (newValue); - }) + } + #endif private: //============================================================================== diff --git a/modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp b/modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp index 6d81ba1b..3ffbc3ca 100644 --- a/modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp +++ b/modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp @@ -23,21 +23,41 @@ namespace juce { +template +static auto getSetupInfo (Setup& s, bool isInput) +{ + struct SetupInfo + { + // double brackets so that we get the expression type, i.e. a (possibly const) reference + decltype ((s.inputDeviceName)) name; + decltype ((s.inputChannels)) channels; + decltype ((s.useDefaultInputChannels)) useDefault; + }; + + return isInput ? SetupInfo { s.inputDeviceName, s.inputChannels, s.useDefaultInputChannels } + : SetupInfo { s.outputDeviceName, s.outputChannels, s.useDefaultOutputChannels }; +} + +static auto tie (const AudioDeviceManager::AudioDeviceSetup& s) +{ + return std::tie (s.outputDeviceName, + s.inputDeviceName, + s.sampleRate, + s.bufferSize, + s.inputChannels, + s.useDefaultInputChannels, + s.outputChannels, + s.useDefaultOutputChannels); +} + bool AudioDeviceManager::AudioDeviceSetup::operator== (const AudioDeviceManager::AudioDeviceSetup& other) const { - return outputDeviceName == other.outputDeviceName - && inputDeviceName == other.inputDeviceName - && sampleRate == other.sampleRate - && bufferSize == other.bufferSize - && inputChannels == other.inputChannels - && useDefaultInputChannels == other.useDefaultInputChannels - && outputChannels == other.outputChannels - && useDefaultOutputChannels == other.useDefaultOutputChannels; + return tie (*this) == tie (other); } bool AudioDeviceManager::AudioDeviceSetup::operator!= (const AudioDeviceManager::AudioDeviceSetup& other) const { - return ! operator== (other); + return tie (*this) != tie (other); } //============================================================================== @@ -109,11 +129,33 @@ void AudioDeviceManager::createDeviceTypesIfNeeded() types.clear (false); - if (auto* first = availableDeviceTypes.getFirst()) - currentDeviceType = first->getTypeName(); + for (auto* type : availableDeviceTypes) + type->scanForDevices(); + + pickCurrentDeviceTypeWithDevices(); } } +void AudioDeviceManager::pickCurrentDeviceTypeWithDevices() +{ + const auto deviceTypeHasDevices = [] (const AudioIODeviceType* ptr) + { + return ! ptr->getDeviceNames (true) .isEmpty() + || ! ptr->getDeviceNames (false).isEmpty(); + }; + + if (auto* type = findType (currentDeviceType)) + if (deviceTypeHasDevices (type)) + return; + + const auto iter = std::find_if (availableDeviceTypes.begin(), + availableDeviceTypes.end(), + deviceTypeHasDevices); + + if (iter != availableDeviceTypes.end()) + currentDeviceType = (*iter)->getTypeName(); +} + const OwnedArray& AudioDeviceManager::getAvailableDeviceTypes() { scanDevicesIfNeeded(); @@ -244,6 +286,7 @@ String AudioDeviceManager::initialise (const int numInputChannelsNeeded, const AudioDeviceSetup* preferredSetupOptions) { scanDevicesIfNeeded(); + pickCurrentDeviceTypeWithDevices(); numInputChansNeeded = numInputChannelsNeeded; numOutputChansNeeded = numOutputChannelsNeeded; @@ -267,26 +310,67 @@ String AudioDeviceManager::initialiseDefault (const String& preferredDefaultDevi } else if (preferredDefaultDeviceName.isNotEmpty()) { - for (auto* type : availableDeviceTypes) + const auto nameMatches = [&preferredDefaultDeviceName] (const String& name) + { + return name.matchesWildcard (preferredDefaultDeviceName, true); + }; + + struct WildcardMatch + { + String value; + bool successful; + }; + + const auto getWildcardMatch = [&nameMatches] (const StringArray& names) + { + const auto iter = std::find_if (names.begin(), names.end(), nameMatches); + return WildcardMatch { iter != names.end() ? *iter : String(), iter != names.end() }; + }; + + struct WildcardMatches + { + WildcardMatch input, output; + }; + + const auto getMatchesForType = [&getWildcardMatch] (const AudioIODeviceType* type) { - for (auto& out : type->getDeviceNames (false)) + return WildcardMatches { getWildcardMatch (type->getDeviceNames (true)), + getWildcardMatch (type->getDeviceNames (false)) }; + }; + + struct SearchResult + { + String type, input, output; + }; + + const auto result = [&] + { + // First, look for a device type with an input and output which matches the preferred name + for (auto* type : availableDeviceTypes) { - if (out.matchesWildcard (preferredDefaultDeviceName, true)) - { - setup.outputDeviceName = out; - break; - } + const auto matches = getMatchesForType (type); + + if (matches.input.successful && matches.output.successful) + return SearchResult { type->getTypeName(), matches.input.value, matches.output.value }; } - for (auto& in : type->getDeviceNames (true)) + // No device type has matching ins and outs, so fall back to a device where either the + // input or output match + for (auto* type : availableDeviceTypes) { - if (in.matchesWildcard (preferredDefaultDeviceName, true)) - { - setup.inputDeviceName = in; - break; - } + const auto matches = getMatchesForType (type); + + if (matches.input.successful || matches.output.successful) + return SearchResult { type->getTypeName(), matches.input.value, matches.output.value }; } - } + + // No devices match the query, so just use the default devices from the current type + return SearchResult { currentDeviceType, {}, {} }; + }(); + + currentDeviceType = result.type; + setup.inputDeviceName = result.input; + setup.outputDeviceName = result.output; } insertDefaultDeviceNames (setup); @@ -415,11 +499,14 @@ void AudioDeviceManager::insertDefaultDeviceNames (AudioDeviceSetup& setup) cons { if (auto* type = getCurrentDeviceTypeObject()) { - if (numOutputChansNeeded > 0 && setup.outputDeviceName.isEmpty()) - setup.outputDeviceName = type->getDeviceNames (false) [type->getDefaultDeviceIndex (false)]; + for (const auto isInput : { false, true }) + { + const auto numChannelsNeeded = isInput ? numInputChansNeeded : numOutputChansNeeded; + const auto info = getSetupInfo (setup, isInput); - if (numInputChansNeeded > 0 && setup.inputDeviceName.isEmpty()) - setup.inputDeviceName = type->getDeviceNames (true) [type->getDefaultDeviceIndex (true)]; + if (numChannelsNeeded > 0 && info.name.isEmpty()) + info.name = type->getDeviceNames (isInput) [type->getDefaultDeviceIndex (isInput)]; + } } } @@ -565,20 +652,24 @@ String AudioDeviceManager::setAudioDeviceSetup (const AudioDeviceSetup& newSetup String error; - if (currentSetup.inputDeviceName != newSetup.inputDeviceName - || currentSetup.outputDeviceName != newSetup.outputDeviceName - || currentAudioDevice == nullptr) + const auto needsNewDevice = currentSetup.inputDeviceName != newSetup.inputDeviceName + || currentSetup.outputDeviceName != newSetup.outputDeviceName + || currentAudioDevice == nullptr; + + if (needsNewDevice) { deleteCurrentDevice(); scanDevicesIfNeeded(); auto* type = getCurrentDeviceTypeObject(); - if (newSetup.outputDeviceName.isNotEmpty() && ! deviceListContains (type, false, newSetup.outputDeviceName)) - return "No such device: " + newSetup.outputDeviceName; + for (const auto isInput : { false, true }) + { + const auto name = getSetupInfo (newSetup, isInput).name; - if (newSetup.inputDeviceName.isNotEmpty() && ! deviceListContains (type, true, newSetup.inputDeviceName)) - return "No such device: " + newSetup.inputDeviceName; + if (name.isNotEmpty() && ! deviceListContains (type, isInput, name)) + return "No such device: " + name; + } currentAudioDevice.reset (type->createDevice (newSetup.outputDeviceName, newSetup.inputDeviceName)); @@ -818,11 +909,10 @@ void AudioDeviceManager::audioDeviceIOCallbackInt (const float** inputChannelDat const ScopedLock sl (audioCallbackLock); inputLevelGetter->updateLevel (inputChannelData, numInputChannels, numSamples); - outputLevelGetter->updateLevel (const_cast (outputChannelData), numOutputChannels, numSamples); if (callbacks.size() > 0) { - AudioProcessLoadMeasurer::ScopedTimer timer (loadMeasurer); + AudioProcessLoadMeasurer::ScopedTimer timer (loadMeasurer, numSamples); tempBuffer.setSize (jmax (1, numOutputChannels), jmax (1, numSamples), false, false, true); @@ -866,6 +956,8 @@ void AudioDeviceManager::audioDeviceIOCallbackInt (const float** inputChannelDat if (testSoundPosition >= testSound->getNumSamples()) testSound.reset(); } + + outputLevelGetter->updateLevel (const_cast (outputChannelData), numOutputChannels, numSamples); } void AudioDeviceManager::audioDeviceAboutToStartInt (AudioIODevice* const device) @@ -1182,4 +1274,456 @@ void AudioDeviceManager::setDefaultMidiOutput (const String& name) } } +//============================================================================== +//============================================================================== +#if JUCE_UNIT_TESTS + +class AudioDeviceManagerTests : public UnitTest +{ +public: + AudioDeviceManagerTests() : UnitTest ("AudioDeviceManager", UnitTestCategories::audio) {} + + void runTest() override + { + beginTest ("When the AudioDeviceSetup has non-empty device names, initialise uses the requested devices"); + { + AudioDeviceManager manager; + initialiseManager (manager); + + expectEquals (manager.getAvailableDeviceTypes().size(), 2); + + AudioDeviceManager::AudioDeviceSetup setup; + setup.outputDeviceName = "z"; + setup.inputDeviceName = "c"; + + expect (manager.initialise (2, 2, nullptr, true, String{}, &setup).isEmpty()); + + const auto& newSetup = manager.getAudioDeviceSetup(); + + expectEquals (newSetup.outputDeviceName, setup.outputDeviceName); + expectEquals (newSetup.inputDeviceName, setup.inputDeviceName); + + expectEquals (newSetup.outputChannels.countNumberOfSetBits(), 2); + expectEquals (newSetup.inputChannels.countNumberOfSetBits(), 2); + } + + beginTest ("When the AudioDeviceSetup has empty device names, initialise picks suitable default devices"); + { + AudioDeviceManager manager; + initialiseManager (manager); + + AudioDeviceManager::AudioDeviceSetup setup; + + expect (manager.initialise (2, 2, nullptr, true, String{}, &setup).isEmpty()); + + const auto& newSetup = manager.getAudioDeviceSetup(); + + expectEquals (newSetup.outputDeviceName, String ("x")); + expectEquals (newSetup.inputDeviceName, String ("a")); + + expectEquals (newSetup.outputChannels.countNumberOfSetBits(), 2); + expectEquals (newSetup.inputChannels.countNumberOfSetBits(), 2); + } + + beginTest ("When the preferred device name matches an input and an output on the same type, that type is used"); + { + AudioDeviceManager manager; + initialiseManagerWithDifferentDeviceNames (manager); + + expect (manager.initialise (2, 2, nullptr, true, "bar *").isEmpty()); + + expectEquals (manager.getCurrentAudioDeviceType(), String ("bar")); + + const auto& newSetup = manager.getAudioDeviceSetup(); + + expectEquals (newSetup.outputDeviceName, String ("bar out a")); + expectEquals (newSetup.inputDeviceName, String ("bar in a")); + + expectEquals (newSetup.outputChannels.countNumberOfSetBits(), 2); + expectEquals (newSetup.inputChannels.countNumberOfSetBits(), 2); + + expect (manager.getCurrentAudioDevice() != nullptr); + } + + beginTest ("When the preferred device name matches either an input and an output, but not both, that type is used"); + { + AudioDeviceManager manager; + initialiseManagerWithDifferentDeviceNames (manager); + + expect (manager.initialise (2, 2, nullptr, true, "bar out b").isEmpty()); + + expectEquals (manager.getCurrentAudioDeviceType(), String ("bar")); + + const auto& newSetup = manager.getAudioDeviceSetup(); + + expectEquals (newSetup.outputDeviceName, String ("bar out b")); + expectEquals (newSetup.inputDeviceName, String ("bar in a")); + + expectEquals (newSetup.outputChannels.countNumberOfSetBits(), 2); + expectEquals (newSetup.inputChannels.countNumberOfSetBits(), 2); + + expect (manager.getCurrentAudioDevice() != nullptr); + } + + beginTest ("When the preferred device name does not match any inputs or outputs, defaults are used"); + { + AudioDeviceManager manager; + initialiseManagerWithDifferentDeviceNames (manager); + + expect (manager.initialise (2, 2, nullptr, true, "unmatchable").isEmpty()); + + expectEquals (manager.getCurrentAudioDeviceType(), String ("foo")); + + const auto& newSetup = manager.getAudioDeviceSetup(); + + expectEquals (newSetup.outputDeviceName, String ("foo out a")); + expectEquals (newSetup.inputDeviceName, String ("foo in a")); + + expectEquals (newSetup.outputChannels.countNumberOfSetBits(), 2); + expectEquals (newSetup.inputChannels.countNumberOfSetBits(), 2); + + expect (manager.getCurrentAudioDevice() != nullptr); + } + + beginTest ("When first device type has no devices, a device type with devices is used instead"); + { + AudioDeviceManager manager; + initialiseManagerWithEmptyDeviceType (manager); + + AudioDeviceManager::AudioDeviceSetup setup; + + expect (manager.initialise (2, 2, nullptr, true, {}, &setup).isEmpty()); + + const auto& newSetup = manager.getAudioDeviceSetup(); + + expectEquals (newSetup.outputDeviceName, String ("x")); + expectEquals (newSetup.inputDeviceName, String ("a")); + + expectEquals (newSetup.outputChannels.countNumberOfSetBits(), 2); + expectEquals (newSetup.inputChannels.countNumberOfSetBits(), 2); + } + + beginTest ("If a device type has been explicitly set to a type with devices, " + "initialisation should respect this choice"); + { + AudioDeviceManager manager; + initialiseManagerWithEmptyDeviceType (manager); + manager.setCurrentAudioDeviceType (mockBName, true); + + AudioDeviceManager::AudioDeviceSetup setup; + expect (manager.initialise (2, 2, nullptr, true, {}, &setup).isEmpty()); + + expectEquals (manager.getCurrentAudioDeviceType(), mockBName); + } + + beginTest ("If a device type has been explicitly set to a type without devices, " + "initialisation should pick a type with devices instead"); + { + AudioDeviceManager manager; + initialiseManagerWithEmptyDeviceType (manager); + manager.setCurrentAudioDeviceType (emptyName, true); + + AudioDeviceManager::AudioDeviceSetup setup; + expect (manager.initialise (2, 2, nullptr, true, {}, &setup).isEmpty()); + + expectEquals (manager.getCurrentAudioDeviceType(), mockAName); + } + + beginTest ("Carry out a long sequence of configuration changes"); + { + AudioDeviceManager manager; + initialiseManagerWithEmptyDeviceType (manager); + initialiseWithDefaultDevices (manager); + disableInputChannelsButLeaveDeviceOpen (manager); + selectANewInputDevice (manager); + disableInputDevice (manager); + reenableInputDeviceWithNoChannels (manager); + enableInputChannels (manager); + disableInputChannelsButLeaveDeviceOpen (manager); + switchDeviceType (manager); + enableInputChannels (manager); + closeDeviceByRequestingEmptyNames (manager); + } + } + +private: + void initialiseWithDefaultDevices (AudioDeviceManager& manager) + { + manager.initialiseWithDefaultDevices (2, 2); + const auto& setup = manager.getAudioDeviceSetup(); + + expectEquals (setup.inputChannels.countNumberOfSetBits(), 2); + expectEquals (setup.outputChannels.countNumberOfSetBits(), 2); + + expect (setup.useDefaultInputChannels); + expect (setup.useDefaultOutputChannels); + + expect (manager.getCurrentAudioDevice() != nullptr); + } + + void disableInputChannelsButLeaveDeviceOpen (AudioDeviceManager& manager) + { + auto setup = manager.getAudioDeviceSetup(); + setup.inputChannels.clear(); + setup.useDefaultInputChannels = false; + + expect (manager.setAudioDeviceSetup (setup, true).isEmpty()); + + const auto newSetup = manager.getAudioDeviceSetup(); + expectEquals (newSetup.inputChannels.countNumberOfSetBits(), 0); + expectEquals (newSetup.outputChannels.countNumberOfSetBits(), 2); + + expect (! newSetup.useDefaultInputChannels); + expect (newSetup.useDefaultOutputChannels); + + expectEquals (newSetup.inputDeviceName, setup.inputDeviceName); + expectEquals (newSetup.outputDeviceName, setup.outputDeviceName); + + expect (manager.getCurrentAudioDevice() != nullptr); + } + + void selectANewInputDevice (AudioDeviceManager& manager) + { + auto setup = manager.getAudioDeviceSetup(); + setup.inputDeviceName = "b"; + + expect (manager.setAudioDeviceSetup (setup, true).isEmpty()); + + const auto newSetup = manager.getAudioDeviceSetup(); + expectEquals (newSetup.inputChannels.countNumberOfSetBits(), 0); + expectEquals (newSetup.outputChannels.countNumberOfSetBits(), 2); + + expect (! newSetup.useDefaultInputChannels); + expect (newSetup.useDefaultOutputChannels); + + expectEquals (newSetup.inputDeviceName, setup.inputDeviceName); + expectEquals (newSetup.outputDeviceName, setup.outputDeviceName); + + expect (manager.getCurrentAudioDevice() != nullptr); + } + + void disableInputDevice (AudioDeviceManager& manager) + { + auto setup = manager.getAudioDeviceSetup(); + setup.inputDeviceName = ""; + + expect (manager.setAudioDeviceSetup (setup, true).isEmpty()); + + const auto newSetup = manager.getAudioDeviceSetup(); + expectEquals (newSetup.inputChannels.countNumberOfSetBits(), 0); + expectEquals (newSetup.outputChannels.countNumberOfSetBits(), 2); + + expect (! newSetup.useDefaultInputChannels); + expect (newSetup.useDefaultOutputChannels); + + expectEquals (newSetup.inputDeviceName, setup.inputDeviceName); + expectEquals (newSetup.outputDeviceName, setup.outputDeviceName); + + expect (manager.getCurrentAudioDevice() != nullptr); + } + + void reenableInputDeviceWithNoChannels (AudioDeviceManager& manager) + { + auto setup = manager.getAudioDeviceSetup(); + setup.inputDeviceName = "a"; + + expect (manager.setAudioDeviceSetup (setup, true).isEmpty()); + + const auto newSetup = manager.getAudioDeviceSetup(); + expectEquals (newSetup.inputChannels.countNumberOfSetBits(), 0); + expectEquals (newSetup.outputChannels.countNumberOfSetBits(), 2); + + expect (! newSetup.useDefaultInputChannels); + expect (newSetup.useDefaultOutputChannels); + + expectEquals (newSetup.inputDeviceName, setup.inputDeviceName); + expectEquals (newSetup.outputDeviceName, setup.outputDeviceName); + + expect (manager.getCurrentAudioDevice() != nullptr); + } + + void enableInputChannels (AudioDeviceManager& manager) + { + auto setup = manager.getAudioDeviceSetup(); + setup.inputDeviceName = manager.getCurrentDeviceTypeObject()->getDeviceNames (true)[0]; + setup.inputChannels = 3; + setup.useDefaultInputChannels = false; + + expect (manager.setAudioDeviceSetup (setup, true).isEmpty()); + + const auto newSetup = manager.getAudioDeviceSetup(); + expectEquals (newSetup.inputChannels.countNumberOfSetBits(), 2); + expectEquals (newSetup.outputChannels.countNumberOfSetBits(), 2); + + expect (! newSetup.useDefaultInputChannels); + expect (newSetup.useDefaultOutputChannels); + + expectEquals (newSetup.inputDeviceName, setup.inputDeviceName); + expectEquals (newSetup.outputDeviceName, setup.outputDeviceName); + + expect (manager.getCurrentAudioDevice() != nullptr); + } + + void switchDeviceType (AudioDeviceManager& manager) + { + const auto oldSetup = manager.getAudioDeviceSetup(); + + expectEquals (manager.getCurrentAudioDeviceType(), String (mockAName)); + + manager.setCurrentAudioDeviceType (mockBName, true); + + expectEquals (manager.getCurrentAudioDeviceType(), String (mockBName)); + + const auto newSetup = manager.getAudioDeviceSetup(); + + expect (newSetup.outputDeviceName.isNotEmpty()); + // We had no channels enabled, which means we don't need to open a new input device + expect (newSetup.inputDeviceName.isEmpty()); + + expectEquals (newSetup.inputChannels.countNumberOfSetBits(), 0); + expectEquals (newSetup.outputChannels.countNumberOfSetBits(), 2); + + expect (manager.getCurrentAudioDevice() != nullptr); + } + + void closeDeviceByRequestingEmptyNames (AudioDeviceManager& manager) + { + auto setup = manager.getAudioDeviceSetup(); + setup.inputDeviceName = ""; + setup.outputDeviceName = ""; + + expect (manager.setAudioDeviceSetup (setup, true).isEmpty()); + + const auto newSetup = manager.getAudioDeviceSetup(); + expectEquals (newSetup.inputChannels.countNumberOfSetBits(), 2); + expectEquals (newSetup.outputChannels.countNumberOfSetBits(), 2); + + expect (newSetup.inputDeviceName.isEmpty()); + expect (newSetup.outputDeviceName.isEmpty()); + + expect (manager.getCurrentAudioDevice() == nullptr); + } + + const String mockAName = "mockA"; + const String mockBName = "mockB"; + const String emptyName = "empty"; + + class MockDevice : public AudioIODevice + { + public: + MockDevice (String typeNameIn, String outNameIn, String inNameIn) + : AudioIODevice ("mock", typeNameIn), outName (outNameIn), inName (inNameIn) {} + + StringArray getOutputChannelNames() override { return { "o1", "o2", "o3" }; } + StringArray getInputChannelNames() override { return { "i1", "i2", "i3" }; } + + Array getAvailableSampleRates() override { return { 44100.0, 48000.0 }; } + Array getAvailableBufferSizes() override { return { 128, 256 }; } + int getDefaultBufferSize() override { return 128; } + + String open (const BigInteger& inputs, const BigInteger& outputs, double sr, int bs) override + { + inChannels = inputs; + outChannels = outputs; + sampleRate = sr; + blockSize = bs; + on = true; + return {}; + } + + void close() override { on = false; } + bool isOpen() override { return on; } + + void start (AudioIODeviceCallback*) override { playing = true; } + void stop() override { playing = false; } + bool isPlaying() override { return playing; } + + String getLastError() override { return {}; } + int getCurrentBufferSizeSamples() override { return blockSize; } + double getCurrentSampleRate() override { return sampleRate; } + int getCurrentBitDepth() override { return 16; } + + BigInteger getActiveOutputChannels() const override { return outChannels; } + BigInteger getActiveInputChannels() const override { return inChannels; } + + int getOutputLatencyInSamples() override { return 0; } + int getInputLatencyInSamples() override { return 0; } + + private: + String outName, inName; + BigInteger outChannels, inChannels; + double sampleRate = 0.0; + int blockSize = 0; + bool on = false, playing = false; + }; + + class MockDeviceType : public AudioIODeviceType + { + public: + explicit MockDeviceType (String kind) + : MockDeviceType (std::move (kind), { "a", "b", "c" }, { "x", "y", "z" }) {} + + MockDeviceType (String kind, StringArray inputNames, StringArray outputNames) + : AudioIODeviceType (std::move (kind)), + inNames (std::move (inputNames)), + outNames (std::move (outputNames)) {} + + void scanForDevices() override {} + + StringArray getDeviceNames (bool isInput) const override + { + return getNames (isInput); + } + + int getDefaultDeviceIndex (bool) const override { return 0; } + + int getIndexOfDevice (AudioIODevice* device, bool isInput) const override + { + return getNames (isInput).indexOf (device->getName()); + } + + bool hasSeparateInputsAndOutputs() const override { return true; } + + AudioIODevice* createDevice (const String& outputName, const String& inputName) override + { + if (inNames.contains (inputName) || outNames.contains (outputName)) + return new MockDevice (getTypeName(), outputName, inputName); + + return nullptr; + } + + private: + const StringArray& getNames (bool isInput) const { return isInput ? inNames : outNames; } + + const StringArray inNames, outNames; + }; + + void initialiseManager (AudioDeviceManager& manager) + { + manager.addAudioDeviceType (std::make_unique (mockAName)); + manager.addAudioDeviceType (std::make_unique (mockBName)); + } + + void initialiseManagerWithEmptyDeviceType (AudioDeviceManager& manager) + { + manager.addAudioDeviceType (std::make_unique (emptyName, StringArray{}, StringArray{})); + initialiseManager (manager); + } + + void initialiseManagerWithDifferentDeviceNames (AudioDeviceManager& manager) + { + manager.addAudioDeviceType (std::make_unique ("foo", + StringArray { "foo in a", "foo in b" }, + StringArray { "foo out a", "foo out b" })); + + manager.addAudioDeviceType (std::make_unique ("bar", + StringArray { "bar in a", "bar in b" }, + StringArray { "bar out a", "bar out b" })); + } +}; + +static AudioDeviceManagerTests audioDeviceManagerTests; + +#endif + } // namespace juce diff --git a/modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h b/modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h index 23822840..28b9df01 100644 --- a/modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h +++ b/modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h @@ -93,13 +93,11 @@ public: The name has to be one of the ones listed by the AudioDeviceManager's currently selected device type. This may be the same as the input device. - An empty string indicates the default device. */ String outputDeviceName; /** The name of the audio device used for input. This may be the same as the output device. - An empty string indicates the default device. */ String inputDeviceName; @@ -174,7 +172,10 @@ public: @param preferredSetupOptions if this is non-null, the structure will be used as the set of preferred settings when opening the device. If you use this parameter, the preferredDefaultDeviceName - field will be ignored + field will be ignored. If you set the outputDeviceName + or inputDeviceName data members of the AudioDeviceSetup + to empty strings, then a default device will be used. + @returns an error message if anything went wrong, or an empty string if it worked ok. */ @@ -219,7 +220,11 @@ public: settings, then tweak the appropriate fields in the AudioDeviceSetup structure, and pass it back into this method to apply the new settings. - @param newSetup the settings that you'd like to use + @param newSetup the settings that you'd like to use. + If you don't need an input or output device, set the + inputDeviceName or outputDeviceName data members respectively + to empty strings. Note that this behaviour differs from + the behaviour of initialise(). @param treatAsChosenDevice if this is true and if the device opens correctly, these new settings will be taken as having been explicitly chosen by the user, and the next time createStateXml() is called, these settings @@ -466,18 +471,20 @@ public: int getXRunCount() const noexcept; //============================================================================== - /** Deprecated. */ + #ifndef DOXYGEN + [[deprecated ("Use setMidiInputDeviceEnabled instead.")]] void setMidiInputEnabled (const String&, bool); - /** Deprecated. */ + [[deprecated ("Use isMidiInputDeviceEnabled instead.")]] bool isMidiInputEnabled (const String&) const; - /** Deprecated. */ + [[deprecated ("Use addMidiInputDeviceCallback instead.")]] void addMidiInputCallback (const String&, MidiInputCallback*); - /** Deprecated. */ + [[deprecated ("Use removeMidiInputDeviceCallback instead.")]] void removeMidiInputCallback (const String&, MidiInputCallback*); - /** Deprecated. */ + [[deprecated ("Use setDefaultMidiOutputDevice instead.")]] void setDefaultMidiOutput (const String&); - /** Deprecated. */ + [[deprecated ("Use getDefaultMidiOutputIdentifier instead.")]] const String& getDefaultMidiOutputName() const noexcept { return defaultMidiOutputDeviceInfo.name; } + #endif private: //============================================================================== @@ -546,6 +553,7 @@ private: AudioIODeviceType* findType (const String& inputName, const String& outputName); AudioIODeviceType* findType (const String& typeName); + void pickCurrentDeviceTypeWithDevices(); JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (AudioDeviceManager) }; diff --git a/modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h b/modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h index 683d038a..6015bc2b 100644 --- a/modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h +++ b/modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h @@ -167,8 +167,10 @@ public: /** Creates a Bela device type if it's available on this platform, or returns null. */ static AudioIODeviceType* createAudioIODeviceType_Bela(); - /** This method has been deprecated. You should call the method which takes a WASAPIDeviceMode instead. */ - JUCE_DEPRECATED (static AudioIODeviceType* createAudioIODeviceType_WASAPI (bool exclusiveMode)); + #ifndef DOXYGEN + [[deprecated ("You should call the method which takes a WASAPIDeviceMode instead.")]] + static AudioIODeviceType* createAudioIODeviceType_WASAPI (bool exclusiveMode); + #endif protected: explicit AudioIODeviceType (const String& typeName); diff --git a/modules/juce_audio_devices/juce_audio_devices.h b/modules/juce_audio_devices/juce_audio_devices.h index 35896aa8..d640d898 100644 --- a/modules/juce_audio_devices/juce_audio_devices.h +++ b/modules/juce_audio_devices/juce_audio_devices.h @@ -32,7 +32,7 @@ ID: juce_audio_devices vendor: juce - version: 6.1.0 + version: 6.1.3 name: JUCE audio and MIDI I/O device classes description: Classes to play and record from audio and MIDI I/O devices website: http://www.juce.com/juce diff --git a/modules/juce_audio_devices/midi_io/juce_MidiDevices.h b/modules/juce_audio_devices/midi_io/juce_MidiDevices.h index 3a5f48bc..d30de656 100644 --- a/modules/juce_audio_devices/midi_io/juce_MidiDevices.h +++ b/modules/juce_audio_devices/midi_io/juce_MidiDevices.h @@ -157,12 +157,14 @@ public: void setName (const String& newName) noexcept { deviceInfo.name = newName; } //============================================================================== - /** Deprecated. */ + #ifndef DOXYGEN + [[deprecated ("Use getAvailableDevices instead.")]] static StringArray getDevices(); - /** Deprecated. */ + [[deprecated ("Use getDefaultDevice instead.")]] static int getDefaultDeviceIndex(); - /** Deprecated. */ + [[deprecated ("Use openDevice that takes a device identifier instead.")]] static std::unique_ptr openDevice (int, MidiInputCallback*); + #endif /** @internal */ class Pimpl; @@ -347,12 +349,14 @@ public: bool isBackgroundThreadRunning() const noexcept { return isThreadRunning(); } //============================================================================== - /** Deprecated. */ + #ifndef DOXYGEN + [[deprecated ("Use getAvailableDevices instead.")]] static StringArray getDevices(); - /** Deprecated. */ + [[deprecated ("Use getDefaultDevice instead.")]] static int getDefaultDeviceIndex(); - /** Deprecated. */ + [[deprecated ("Use openDevice that takes a device identifier instead.")]] static std::unique_ptr openDevice (int); + #endif /** @internal */ class Pimpl; diff --git a/modules/juce_audio_devices/midi_io/ump/juce_UMPBytestreamInputHandler.h b/modules/juce_audio_devices/midi_io/ump/juce_UMPBytestreamInputHandler.h index 49ce6642..7adb9bb6 100644 --- a/modules/juce_audio_devices/midi_io/ump/juce_UMPBytestreamInputHandler.h +++ b/modules/juce_audio_devices/midi_io/ump/juce_UMPBytestreamInputHandler.h @@ -20,6 +20,8 @@ ============================================================================== */ +#ifndef DOXYGEN + namespace juce { namespace universal_midi_packets @@ -27,6 +29,8 @@ namespace universal_midi_packets /** A base class for classes which convert bytestream midi to other formats. + + @tags{Audio} */ struct BytestreamInputHandler { @@ -39,6 +43,8 @@ struct BytestreamInputHandler /** Parses a continuous bytestream and emits complete MidiMessages whenever a full message is received. + + @tags{Audio} */ struct BytestreamToBytestreamHandler : public BytestreamInputHandler { @@ -86,6 +92,8 @@ struct BytestreamToBytestreamHandler : public BytestreamInputHandler /** Parses a continuous MIDI 1.0 bytestream, and emits full messages in the requested UMP format. + + @tags{Audio} */ struct BytestreamToUMPHandler : public BytestreamInputHandler { @@ -132,3 +140,5 @@ struct BytestreamToUMPHandler : public BytestreamInputHandler } } + +#endif diff --git a/modules/juce_audio_devices/midi_io/ump/juce_UMPU32InputHandler.h b/modules/juce_audio_devices/midi_io/ump/juce_UMPU32InputHandler.h index b5471aa8..89b17543 100644 --- a/modules/juce_audio_devices/midi_io/ump/juce_UMPU32InputHandler.h +++ b/modules/juce_audio_devices/midi_io/ump/juce_UMPU32InputHandler.h @@ -20,6 +20,8 @@ ============================================================================== */ +#ifndef DOXYGEN + namespace juce { namespace universal_midi_packets @@ -28,6 +30,8 @@ namespace universal_midi_packets /** A base class for classes which convert Universal MIDI Packets to other formats. + + @tags{Audio} */ struct U32InputHandler { @@ -40,6 +44,8 @@ struct U32InputHandler /** Parses a continuous stream of U32 words and emits complete MidiMessages whenever a full message is received. + + @tags{Audio} */ struct U32ToBytestreamHandler : public U32InputHandler { @@ -90,6 +96,8 @@ struct U32ToBytestreamHandler : public U32InputHandler /** Parses a continuous stream of U32 words and emits full messages in the requested UMP format. + + @tags{Audio} */ struct U32ToUMPHandler : public U32InputHandler { @@ -143,3 +151,5 @@ struct U32ToUMPHandler : public U32InputHandler } } + +#endif diff --git a/modules/juce_audio_devices/native/juce_android_Audio.cpp b/modules/juce_audio_devices/native/juce_android_Audio.cpp index 79539882..108ff761 100644 --- a/modules/juce_audio_devices/native/juce_android_Audio.cpp +++ b/modules/juce_audio_devices/native/juce_android_Audio.cpp @@ -326,6 +326,9 @@ public: JNIEnv* env = getEnv(); jshortArray audioBuffer = env->NewShortArray (actualBufferSize * jmax (numDeviceOutputChannels, numDeviceInputChannels)); + using NativeInt16 = AudioData::Format; + using NativeFloat32 = AudioData::Format; + while (! threadShouldExit()) { if (inputDevice != nullptr) @@ -339,20 +342,9 @@ public: jshort* const src = env->GetShortArrayElements (audioBuffer, nullptr); - for (int chan = 0; chan < inputChannelBuffer.getNumChannels(); ++chan) - { - AudioData::Pointer d (inputChannelBuffer.getWritePointer (chan)); - - if (chan < numDeviceInputChannels) - { - AudioData::Pointer s (src + chan, numDeviceInputChannels); - d.convertSamples (s, actualBufferSize); - } - else - { - d.clearSamples (actualBufferSize); - } - } + AudioData::deinterleaveSamples (AudioData::InterleavedSource { reinterpret_cast (src), numDeviceInputChannels }, + AudioData::NonInterleavedDest { inputChannelBuffer.getArrayOfWritePointers(), inputChannelBuffer.getNumChannels() }, + actualBufferSize); env->ReleaseShortArrayElements (audioBuffer, src, 0); } @@ -382,14 +374,9 @@ public: jshort* const dest = env->GetShortArrayElements (audioBuffer, nullptr); - for (int chan = 0; chan < numDeviceOutputChannels; ++chan) - { - AudioData::Pointer d (dest + chan, numDeviceOutputChannels); - - const float* const sourceChanData = outputChannelBuffer.getReadPointer (jmin (chan, outputChannelBuffer.getNumChannels() - 1)); - AudioData::Pointer s (sourceChanData); - d.convertSamples (s, actualBufferSize); - } + AudioData::interleaveSamples (AudioData::NonInterleavedSource { outputChannelBuffer.getArrayOfReadPointers(), outputChannelBuffer.getNumChannels() }, + AudioData::InterleavedDest { reinterpret_cast (dest), numDeviceOutputChannels }, + actualBufferSize); env->ReleaseShortArrayElements (audioBuffer, dest, 0); jint numWritten = env->CallIntMethod (outputDevice, AudioTrack.write, audioBuffer, 0, actualBufferSize * numDeviceOutputChannels); diff --git a/modules/juce_audio_devices/native/juce_android_Oboe.cpp b/modules/juce_audio_devices/native/juce_android_Oboe.cpp index b3bc7f77..92827efc 100644 --- a/modules/juce_audio_devices/native/juce_android_Oboe.cpp +++ b/modules/juce_audio_devices/native/juce_android_Oboe.cpp @@ -44,30 +44,25 @@ struct OboeAudioIODeviceBufferHelpers static bool referAudioBufferDirectlyToOboeIfPossible (int16*, AudioBuffer&, int) { return false; } + using NativeInt16 = AudioData::Format; + using NativeFloat32 = AudioData::Format; + static void convertFromOboe (const int16* srcInterleaved, AudioBuffer& audioBuffer, int numSamples) { - for (int i = 0; i < audioBuffer.getNumChannels(); ++i) - { - using DstSampleType = AudioData::Pointer; - using SrcSampleType = AudioData::Pointer; + const auto numChannels = audioBuffer.getNumChannels(); - DstSampleType dstData (audioBuffer.getWritePointer (i)); - SrcSampleType srcData (srcInterleaved + i, audioBuffer.getNumChannels()); - dstData.convertSamples (srcData, numSamples); - } + AudioData::deinterleaveSamples (AudioData::InterleavedSource { reinterpret_cast (srcInterleaved), numChannels }, + AudioData::NonInterleavedDest { audioBuffer.getArrayOfWritePointers(), numChannels }, + numSamples); } static void convertToOboe (const AudioBuffer& audioBuffer, int16* dstInterleaved, int numSamples) { - for (int i = 0; i < audioBuffer.getNumChannels(); ++i) - { - using DstSampleType = AudioData::Pointer; - using SrcSampleType = AudioData::Pointer; + const auto numChannels = audioBuffer.getNumChannels(); - DstSampleType dstData (dstInterleaved + i, audioBuffer.getNumChannels()); - SrcSampleType srcData (audioBuffer.getReadPointer (i)); - dstData.convertSamples (srcData, numSamples); - } + AudioData::interleaveSamples (AudioData::NonInterleavedSource { audioBuffer.getArrayOfReadPointers(), numChannels }, + AudioData::InterleavedDest { reinterpret_cast (dstInterleaved), numChannels }, + numSamples); } }; @@ -89,6 +84,8 @@ struct OboeAudioIODeviceBufferHelpers return false; } + using Format = AudioData::Format; + static void convertFromOboe (const float* srcInterleaved, AudioBuffer& audioBuffer, int numSamples) { auto numChannels = audioBuffer.getNumChannels(); @@ -98,15 +95,9 @@ struct OboeAudioIODeviceBufferHelpers // No need to convert, we instructed the buffer to point to the src data directly already jassert (audioBuffer.getWritePointer (0) != srcInterleaved); - for (int i = 0; i < numChannels; ++i) - { - using DstSampleType = AudioData::Pointer; - using SrcSampleType = AudioData::Pointer; - - DstSampleType dstData (audioBuffer.getWritePointer (i)); - SrcSampleType srcData (srcInterleaved + i, audioBuffer.getNumChannels()); - dstData.convertSamples (srcData, numSamples); - } + AudioData::deinterleaveSamples (AudioData::InterleavedSource { srcInterleaved, numChannels }, + AudioData::NonInterleavedDest { audioBuffer.getArrayOfWritePointers(), numChannels }, + numSamples); } } @@ -119,15 +110,9 @@ struct OboeAudioIODeviceBufferHelpers // No need to convert, we instructed the buffer to point to the src data directly already jassert (audioBuffer.getReadPointer (0) != dstInterleaved); - for (int i = 0; i < numChannels; ++i) - { - using DstSampleType = AudioData::Pointer; - using SrcSampleType = AudioData::Pointer; - - DstSampleType dstData (dstInterleaved + i, audioBuffer.getNumChannels()); - SrcSampleType srcData (audioBuffer.getReadPointer (i)); - dstData.convertSamples (srcData, numSamples); - } + AudioData::interleaveSamples (AudioData::NonInterleavedSource { audioBuffer.getArrayOfReadPointers(), numChannels }, + AudioData::InterleavedDest { dstInterleaved, numChannels }, + numSamples); } } }; diff --git a/modules/juce_audio_devices/native/juce_android_OpenSL.cpp b/modules/juce_audio_devices/native/juce_android_OpenSL.cpp index 2bb38b40..2f5683f4 100644 --- a/modules/juce_audio_devices/native/juce_android_OpenSL.cpp +++ b/modules/juce_audio_devices/native/juce_android_OpenSL.cpp @@ -194,31 +194,25 @@ struct BufferHelpers static void prepareCallbackBuffer (AudioBuffer&, int16*) {} + using LittleEndianInt16 = AudioData::Format; + using NativeFloat32 = AudioData::Format; + static void convertFromOpenSL (const int16* srcInterleaved, AudioBuffer& audioBuffer) { - for (int i = 0; i < audioBuffer.getNumChannels(); ++i) - { - using DstSampleType = AudioData::Pointer; - using SrcSampleType = AudioData::Pointer; + const auto numChannels = audioBuffer.getNumChannels(); - DstSampleType dstData (audioBuffer.getWritePointer (i)); - SrcSampleType srcData (srcInterleaved + i, audioBuffer.getNumChannels()); - dstData.convertSamples (srcData, audioBuffer.getNumSamples()); - } + AudioData::deinterleaveSamples (AudioData::InterleavedSource { reinterpret_cast (srcInterleaved), numChannels }, + AudioData::NonInterleavedDest { audioBuffer.getArrayOfWritePointers(), numChannels }, + audioBuffer.getNumSamples()); } static void convertToOpenSL (const AudioBuffer& audioBuffer, int16* dstInterleaved) { - for (int i = 0; i < audioBuffer.getNumChannels(); ++i) - { - using DstSampleType = AudioData::Pointer; - using SrcSampleType = AudioData::Pointer; - - DstSampleType dstData (dstInterleaved + i, audioBuffer.getNumChannels()); - SrcSampleType srcData (audioBuffer.getReadPointer (i)); + const auto numChannels = audioBuffer.getNumChannels(); - dstData.convertSamples (srcData, audioBuffer.getNumSamples()); - } + AudioData::interleaveSamples (AudioData::NonInterleavedSource { audioBuffer.getArrayOfReadPointers(), numChannels }, + AudioData::InterleavedDest { reinterpret_cast (dstInterleaved), numChannels }, + audioBuffer.getNumSamples()); } }; @@ -247,43 +241,37 @@ struct BufferHelpers audioBuffer.setDataToReferTo (&native, 1, audioBuffer.getNumSamples()); } + using LittleEndianFloat32 = AudioData::Format; + using NativeFloat32 = AudioData::Format; + static void convertFromOpenSL (const float* srcInterleaved, AudioBuffer& audioBuffer) { - if (audioBuffer.getNumChannels() == 1) + const auto numChannels = audioBuffer.getNumChannels(); + + if (numChannels == 1) { jassert (srcInterleaved == audioBuffer.getWritePointer (0)); return; } - for (int i = 0; i < audioBuffer.getNumChannels(); ++i) - { - using DstSampleType = AudioData::Pointer; - using SrcSampleType = AudioData::Pointer; - - DstSampleType dstData (audioBuffer.getWritePointer (i)); - SrcSampleType srcData (srcInterleaved + i, audioBuffer.getNumChannels()); - dstData.convertSamples (srcData, audioBuffer.getNumSamples()); - } + AudioData::deinterleaveSamples (AudioData::InterleavedSource { srcInterleaved, numChannels }, + AudioData::nonInterleavedDest { audioBuffer.getArrayOfWritePointers(), numChannels }, + audioBuffer.getNumSamples()); } static void convertToOpenSL (const AudioBuffer& audioBuffer, float* dstInterleaved) { - if (audioBuffer.getNumChannels() == 1) + const auto numChannels = audioBuffer.getNumChannels(); + + if (numChannels == 1) { jassert (dstInterleaved == audioBuffer.getReadPointer (0)); return; } - for (int i = 0; i < audioBuffer.getNumChannels(); ++i) - { - using DstSampleType = AudioData::Pointer; - using SrcSampleType = AudioData::Pointer; - - DstSampleType dstData (dstInterleaved + i, audioBuffer.getNumChannels()); - SrcSampleType srcData (audioBuffer.getReadPointer (i)); - - dstData.convertSamples (srcData, audioBuffer.getNumSamples()); - } + AudioData::interleaveSamples (AudioData::NonInterleavedSource { audioBuffer.getArrayOfReadPointers(), numChannels }, + AudioData::InterleavedDest { dstInterleaved, numChannels }, + audioBuffer.getNumSamples()); } }; diff --git a/modules/juce_audio_devices/native/juce_ios_Audio.cpp b/modules/juce_audio_devices/native/juce_ios_Audio.cpp index 08a10add..e8f19036 100644 --- a/modules/juce_audio_devices/native/juce_ios_Audio.cpp +++ b/modules/juce_audio_devices/native/juce_ios_Audio.cpp @@ -25,7 +25,13 @@ namespace juce class iOSAudioIODevice; -static const char* const iOSAudioDeviceName = "iOS Audio"; +constexpr const char* const iOSAudioDeviceName = "iOS Audio"; + +#ifndef JUCE_IOS_AUDIO_EXPLICIT_SAMPLERATES + #define JUCE_IOS_AUDIO_EXPLICIT_SAMPLERATES +#endif + +constexpr std::initializer_list iOSExplicitSampleRates { JUCE_IOS_AUDIO_EXPLICIT_SAMPLERATES }; //============================================================================== struct AudioSessionHolder @@ -58,6 +64,8 @@ static const char* getRoutingChangeReason (AVAudioSessionRouteChangeReason reaso } } +JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wmissing-prototypes") + bool getNotificationValueForKey (NSNotification* notification, NSString* key, NSUInteger& value) noexcept { if (notification != nil) @@ -76,6 +84,8 @@ bool getNotificationValueForKey (NSNotification* notification, NSString* key, NS return false; } +JUCE_END_IGNORE_WARNINGS_GCC_LIKE + } // namespace juce //============================================================================== @@ -278,9 +288,15 @@ struct iOSAudioIODevice::Pimpl : public AudioPlayHead, #endif if (category == AVAudioSessionCategoryPlayAndRecord) + { options |= (AVAudioSessionCategoryOptionDefaultToSpeaker - | AVAudioSessionCategoryOptionAllowBluetooth - | AVAudioSessionCategoryOptionAllowBluetoothA2DP); + | AVAudioSessionCategoryOptionAllowBluetooth); + + #if defined (__IPHONE_10_0) && __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_10_0 + if (@available (iOS 10.0, *)) + options |= AVAudioSessionCategoryOptionAllowBluetoothA2DP; + #endif + } JUCE_NSERROR_CHECK ([[AVAudioSession sharedInstance] setCategory: category withOptions: options @@ -356,6 +372,12 @@ struct iOSAudioIODevice::Pimpl : public AudioPlayHead, // depending on whether the headphones are plugged in or not! void updateAvailableSampleRates() { + if (iOSExplicitSampleRates.size() != 0) + { + availableSampleRates = Array (iOSExplicitSampleRates); + return; + } + availableSampleRates.clear(); AudioUnitRemovePropertyListenerWithUserData (audioUnit, @@ -700,11 +722,20 @@ struct iOSAudioIODevice::Pimpl : public AudioPlayHead, &dataSize); if (err == noErr) { - #if (! defined __IPHONE_10_0) || (__IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_10_0) - [[UIApplication sharedApplication] openURL: (NSURL*)hostUrl]; - #else - [[UIApplication sharedApplication] openURL: (NSURL*)hostUrl options: @{} completionHandler: nil]; + #if defined (__IPHONE_10_0) && __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_10_0 + if (@available (iOS 10.0, *)) + { + [[UIApplication sharedApplication] openURL: (NSURL*) hostUrl + options: @{} + completionHandler: nil]; + + return; + } #endif + + JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wdeprecated-declarations") + [[UIApplication sharedApplication] openURL: (NSURL*) hostUrl]; + JUCE_END_IGNORE_WARNINGS_GCC_LIKE } } diff --git a/modules/juce_audio_devices/native/juce_ios_Audio.h b/modules/juce_audio_devices/native/juce_ios_Audio.h index 4d066e7a..dc95dd5d 100644 --- a/modules/juce_audio_devices/native/juce_ios_Audio.h +++ b/modules/juce_audio_devices/native/juce_ios_Audio.h @@ -84,7 +84,6 @@ private: friend struct AudioSessionHolder; struct Pimpl; - friend struct Pimpl; std::unique_ptr pimpl; JUCE_DECLARE_NON_COPYABLE (iOSAudioIODevice) diff --git a/modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp b/modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp index 332dbaa1..205d61f6 100644 --- a/modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp +++ b/modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp @@ -39,6 +39,12 @@ constexpr auto juceAudioObjectPropertyElementMain = #endif //============================================================================== +struct AsyncRestarter +{ + virtual ~AsyncRestarter() = default; + virtual void restartAsync() = 0; +}; + struct SystemVol { SystemVol (AudioObjectPropertySelector selector) noexcept @@ -151,14 +157,15 @@ class CoreAudioIODeviceType; class CoreAudioIODevice; //============================================================================== -class CoreAudioInternal : private Timer +class CoreAudioInternal : private Timer, + private AsyncUpdater { public: CoreAudioInternal (CoreAudioIODevice& d, AudioDeviceID id, bool input, bool output) - : owner (d), - deviceID (id), - isInputDevice (input), - isOutputDevice (output) + : owner (d), + deviceID (id), + isInputDevice (input), + isOutputDevice (output) { jassert (deviceID != 0); @@ -178,6 +185,9 @@ public: ~CoreAudioInternal() override { + stopTimer(); + cancelPendingUpdate(); + AudioObjectPropertyAddress pa; pa.mSelector = kAudioObjectPropertySelectorWildcard; pa.mScope = kAudioObjectPropertyScopeWildcard; @@ -669,7 +679,7 @@ public: return error; } - bool start() + bool start (AudioIODeviceCallback* callbackToNotify) { const ScopedLock sl (callbackLock); @@ -692,22 +702,26 @@ public: } } } + + if (started) + { + callback = callbackToNotify; + + if (callback != nullptr) + callback->audioDeviceAboutToStart (&owner); + } } - return started; - } + playing = started && callback != nullptr; - void setCallback (AudioIODeviceCallback* cb) - { - const ScopedLock sl (callbackLock); - callback = cb; + return started; } - void stop (bool leaveInterruptRunning) + AudioIODeviceCallback* stop (bool leaveInterruptRunning) { const ScopedLock sl (callbackLock); - callback = nullptr; + auto result = std::exchange (callback, nullptr); if (started && (deviceID != 0) && ! leaveInterruptRunning) { @@ -726,7 +740,10 @@ public: OK (AudioDeviceDestroyIOProcID (deviceID, audioProcID)); audioProcID = {}; started = false; + playing = false; } + + return result; } double getSampleRate() const { return sampleRate; } @@ -795,27 +812,22 @@ public: } } - // called by callbacks + // called by callbacks (possibly off the main thread) void deviceDetailsChanged() { if (callbacksAllowed.get() == 1) startTimer (100); } - void timerCallback() override + // called by callbacks (possibly off the main thread) + void deviceRequestedRestart() { - JUCE_COREAUDIOLOG ("Device changed"); - - stopTimer(); - auto oldSampleRate = sampleRate; - auto oldBufferSize = bufferSize; - - if (! updateDetailsFromDevice()) - owner.stopInternal(); - else if ((oldBufferSize != bufferSize || oldSampleRate != sampleRate) && owner.shouldRestartDevice()) - owner.restart(); + owner.restart(); + triggerAsyncUpdate(); } + bool isPlaying() const { return playing.load(); } + //============================================================================== CoreAudioIODevice& owner; int inputLatency = 0; @@ -826,13 +838,14 @@ public: StringArray inChanNames, outChanNames; Array sampleRates; Array bufferSizes; - AudioIODeviceCallback* callback = nullptr; AudioDeviceIOProcID audioProcID = {}; private: + AudioIODeviceCallback* callback = nullptr; CriticalSection callbackLock; AudioDeviceID deviceID; bool started = false, audioDeviceStopPending = false; + std::atomic playing { false }; double sampleRate = 0; int bufferSize = 512; HeapBlock audioBuffer; @@ -845,6 +858,26 @@ private: HeapBlock tempInputBuffers, tempOutputBuffers; //============================================================================== + void timerCallback() override + { + JUCE_COREAUDIOLOG ("Device changed"); + + stopTimer(); + auto oldSampleRate = sampleRate; + auto oldBufferSize = bufferSize; + + if (! updateDetailsFromDevice()) + owner.stopInternal(); + else if ((oldBufferSize != bufferSize || oldSampleRate != sampleRate) && owner.shouldRestartDevice()) + owner.restart(); + } + + void handleAsyncUpdate() override + { + if (owner.deviceType != nullptr) + owner.deviceType->audioDeviceListChanged(); + } + static OSStatus audioIOProc (AudioDeviceID /*inDevice*/, const AudioTimeStamp* /*inNow*/, const AudioBufferList* inInputData, @@ -879,10 +912,7 @@ private: case kAudioDevicePropertyDeviceHasChanged: case kAudioObjectPropertyOwnedObjects: - intern->owner.restart(); - - if (intern->owner.deviceType != nullptr) - intern->owner.deviceType->triggerAsyncAudioDeviceListChange(); + intern->deviceRequestedRestart(); break; case kAudioDevicePropertyBufferSizeRange: @@ -950,20 +980,18 @@ public: inputIndex (inputIndex_), outputIndex (outputIndex_) { - CoreAudioInternal* device = nullptr; - - if (outputDeviceId == 0 || outputDeviceId == inputDeviceId) - { - jassert (inputDeviceId != 0); - device = new CoreAudioInternal (*this, inputDeviceId, true, outputDeviceId != 0); - } - else + internal = [this, &inputDeviceId, &outputDeviceId] { - device = new CoreAudioInternal (*this, outputDeviceId, false, true); - } + if (outputDeviceId == 0 || outputDeviceId == inputDeviceId) + { + jassert (inputDeviceId != 0); + return std::make_unique (*this, inputDeviceId, true, outputDeviceId != 0); + } - jassert (device != nullptr); - internal.reset (device); + return std::make_unique (*this, outputDeviceId, false, true); + }(); + + jassert (internal != nullptr); AudioObjectPropertyAddress pa; pa.mSelector = kAudioObjectPropertySelectorWildcard; @@ -1059,49 +1087,35 @@ public: void start (AudioIODeviceCallback* callback) override { - if (! isStarted) - { - if (callback != nullptr) - callback->audioDeviceAboutToStart (this); - - isStarted = internal->start(); - - if (isStarted) - { - internal->setCallback (callback); - previousCallback = callback; - } - } + if (internal->start (callback)) + previousCallback = callback; } void stop() override { restartDevice = false; + stopAndGetLastCallback(); + } - if (isStarted) - { - auto lastCallback = internal->callback; + AudioIODeviceCallback* stopAndGetLastCallback() const + { + auto* lastCallback = internal->stop (true); - isStarted = false; - internal->stop (true); + if (lastCallback != nullptr) + lastCallback->audioDeviceStopped(); - if (lastCallback != nullptr) - lastCallback->audioDeviceStopped(); - } + return lastCallback; } - void stopInternal() + AudioIODeviceCallback* stopInternal() { - stop(); restartDevice = true; + return stopAndGetLastCallback(); } bool isPlaying() override { - if (internal->callback == nullptr) - isStarted = false; - - return isStarted; + return internal->isPlaying(); } String getLastError() override @@ -1115,28 +1129,21 @@ public: deviceType->audioDeviceListChanged(); } + // called by callbacks (possibly off the main thread) void restart() { - if (deviceWrapperRestartCallback != nullptr) + if (restarter != nullptr) { - deviceWrapperRestartCallback(); + restarter->restartAsync(); + return; } - else - { - { - const ScopedLock sl (closeLock); - if (isStarted) - { - if (internal->callback != nullptr) - previousCallback = internal->callback; - - stopInternal(); - } - } - - startTimer (100); + { + const ScopedLock sl (closeLock); + previousCallback = stopInternal(); } + + startTimer (100); } bool setCurrentSampleRate (double newSampleRate) @@ -1144,9 +1151,9 @@ public: return internal->setNominalSampleRate (newSampleRate); } - void setDeviceWrapperRestartCallback (const std::function& cb) + void setAsyncRestarter (AsyncRestarter* restarterIn) { - deviceWrapperRestartCallback = cb; + restarter = restarterIn; } bool shouldRestartDevice() const noexcept { return restartDevice; } @@ -1156,10 +1163,10 @@ public: private: std::unique_ptr internal; - bool isOpen_ = false, isStarted = false, restartDevice = true; + bool isOpen_ = false, restartDevice = true; String lastError; AudioIODeviceCallback* previousCallback = nullptr; - std::function deviceWrapperRestartCallback = nullptr; + AsyncRestarter* restarter = nullptr; BigInteger inputChannelsRequested, outputChannelsRequested; CriticalSection closeLock; @@ -1198,6 +1205,7 @@ private: //============================================================================== class AudioIODeviceCombiner : public AudioIODevice, + private AsyncRestarter, private Thread, private Timer { @@ -1215,18 +1223,20 @@ public: devices.clear(); } - void addDevice (CoreAudioIODevice* device, bool useInputs, bool useOutputs) + void addDevice (std::unique_ptr device, bool useInputs, bool useOutputs) { jassert (device != nullptr); jassert (! isOpen()); jassert (! device->isOpen()); - devices.add (new DeviceWrapper (*this, device, useInputs, useOutputs)); + auto* devicePtr = device.get(); + + devices.add (std::make_unique (*this, std::move (device), useInputs, useOutputs)); if (currentSampleRate == 0) - currentSampleRate = device->getCurrentSampleRate(); + currentSampleRate = devicePtr->getCurrentSampleRate(); if (currentBufferSize == 0) - currentBufferSize = device->getCurrentBufferSizeSamples(); + currentBufferSize = devicePtr->getCurrentBufferSizeSamples(); } Array getDevices() const @@ -1454,7 +1464,7 @@ public: start (cb); } - void restartAsync() + void restartAsync() override { { const ScopedLock sl (closeLock); @@ -1531,7 +1541,13 @@ public: void start (AudioIODeviceCallback* newCallback) override { - if (callback != newCallback) + const auto shouldStart = [&] + { + const ScopedLock sl (callbackLock); + return callback != newCallback; + }(); + + if (shouldStart) { stop(); fifos.clear(); @@ -1543,8 +1559,7 @@ public: newCallback->audioDeviceAboutToStart (this); const ScopedLock sl (callbackLock); - callback = newCallback; - previousCallback = callback; + previousCallback = std::exchange (callback, newCallback); } } @@ -1801,11 +1816,11 @@ private: //============================================================================== struct DeviceWrapper : private AudioIODeviceCallback { - DeviceWrapper (AudioIODeviceCombiner& cd, CoreAudioIODevice* d, bool useIns, bool useOuts) - : owner (cd), device (d), + DeviceWrapper (AudioIODeviceCombiner& cd, std::unique_ptr d, bool useIns, bool useOuts) + : owner (cd), device (std::move (d)), useInputs (useIns), useOutputs (useOuts) { - d->setDeviceWrapperRestartCallback ([this] { owner.restartAsync(); }); + device->setAsyncRestarter (&owner); } ~DeviceWrapper() override @@ -2027,6 +2042,8 @@ public: ~CoreAudioIODeviceType() override { + cancelPendingUpdate(); + AudioObjectPropertyAddress pa; pa.mSelector = kAudioHardwarePropertyDevices; pa.mScope = kAudioObjectPropertyScopeWildcard; @@ -2178,22 +2195,20 @@ public: : outputDeviceName; if (inputDeviceID == outputDeviceID) - return new CoreAudioIODevice (this, combinedName, inputDeviceID, inputIndex, outputDeviceID, outputIndex); - - std::unique_ptr in, out; + return std::make_unique (this, combinedName, inputDeviceID, inputIndex, outputDeviceID, outputIndex).release(); - if (inputDeviceID != 0) - in.reset (new CoreAudioIODevice (this, inputDeviceName, inputDeviceID, inputIndex, 0, -1)); + auto in = inputDeviceID != 0 ? std::make_unique (this, inputDeviceName, inputDeviceID, inputIndex, 0, -1) + : nullptr; - if (outputDeviceID != 0) - out.reset (new CoreAudioIODevice (this, outputDeviceName, 0, -1, outputDeviceID, outputIndex)); + auto out = outputDeviceID != 0 ? std::make_unique (this, outputDeviceName, 0, -1, outputDeviceID, outputIndex) + : nullptr; - if (in == nullptr) return out.release(); + if (in == nullptr) return out.release(); if (out == nullptr) return in.release(); - std::unique_ptr combo (new AudioIODeviceCombiner (combinedName, this)); - combo->addDevice (in.release(), true, false); - combo->addDevice (out.release(), false, true); + auto combo = std::make_unique (combinedName, this); + combo->addDevice (std::move (in), true, false); + combo->addDevice (std::move (out), false, true); return combo.release(); } @@ -2203,11 +2218,6 @@ public: callDeviceChangeListeners(); } - void triggerAsyncAudioDeviceListChange() - { - triggerAsyncUpdate(); - } - //============================================================================== private: StringArray inputDeviceNames, outputDeviceNames; @@ -2215,6 +2225,11 @@ private: bool hasScanned = false; + void handleAsyncUpdate() override + { + audioDeviceListChanged(); + } + static int getNumChannels (AudioDeviceID deviceID, bool input) { int total = 0; @@ -2244,15 +2259,10 @@ private: static OSStatus hardwareListenerProc (AudioDeviceID, UInt32, const AudioObjectPropertyAddress*, void* clientData) { - static_cast (clientData)->triggerAsyncAudioDeviceListChange(); + static_cast (clientData)->triggerAsyncUpdate(); return noErr; } - void handleAsyncUpdate() override - { - audioDeviceListChanged(); - } - JUCE_DECLARE_WEAK_REFERENCEABLE (CoreAudioIODeviceType) JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (CoreAudioIODeviceType) }; diff --git a/modules/juce_audio_devices/native/juce_mac_CoreMidi.mm b/modules/juce_audio_devices/native/juce_mac_CoreMidi.mm index ba2b9611..4e082e09 100644 --- a/modules/juce_audio_devices/native/juce_mac_CoreMidi.mm +++ b/modules/juce_audio_devices/native/juce_mac_CoreMidi.mm @@ -82,7 +82,7 @@ namespace CoreMidiHelpers struct Sender; #if JUCE_HAS_NEW_COREMIDI_API - JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wunguarded-availability-new") + JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wunguarded-availability", "-Wunguarded-availability-new") template <> struct Sender : public SenderBase @@ -829,7 +829,7 @@ namespace CoreMidiHelpers struct CreatorFunctions; #if JUCE_HAS_NEW_COREMIDI_API - JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wunguarded-availability-new") + JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wunguarded-availability", "-Wunguarded-availability-new") template <> struct CreatorFunctions diff --git a/modules/juce_audio_devices/native/juce_win32_ASIO.cpp b/modules/juce_audio_devices/native/juce_win32_ASIO.cpp index 56e6239f..e2a4b072 100644 --- a/modules/juce_audio_devices/native/juce_win32_ASIO.cpp +++ b/modules/juce_audio_devices/native/juce_win32_ASIO.cpp @@ -951,15 +951,18 @@ private: { JUCE_ASIO_LOG ("rate change: " + String (currentSampleRate) + " to " + String (newRate)); auto err = asioObject->setSampleRate (newRate); + JUCE_ASIO_LOG_ERROR ("setSampleRate", err); + Thread::sleep (10); if (err == ASE_NoClock && numClockSources > 0) { JUCE_ASIO_LOG ("trying to set a clock source.."); - Thread::sleep (10); err = asioObject->setClockSource (clocks[0].index); JUCE_ASIO_LOG_ERROR ("setClockSource2", err); Thread::sleep (10); err = asioObject->setSampleRate (newRate); + JUCE_ASIO_LOG_ERROR ("setSampleRate", err); + Thread::sleep (10); } if (err == 0) diff --git a/modules/juce_audio_devices/native/juce_win32_Midi.cpp b/modules/juce_audio_devices/native/juce_win32_Midi.cpp index 3ecd75ee..0ac9bfe5 100644 --- a/modules/juce_audio_devices/native/juce_win32_Midi.cpp +++ b/modules/juce_audio_devices/native/juce_win32_Midi.cpp @@ -258,7 +258,7 @@ private: struct MidiHeader { - MidiHeader() {} + MidiHeader() = default; void prepare (HMIDIIN device) { diff --git a/modules/juce_audio_devices/native/juce_win32_WASAPI.cpp b/modules/juce_audio_devices/native/juce_win32_WASAPI.cpp index 4b82b09a..2ef57d8a 100644 --- a/modules/juce_audio_devices/native/juce_win32_WASAPI.cpp +++ b/modules/juce_audio_devices/native/juce_win32_WASAPI.cpp @@ -884,8 +884,7 @@ public: closeClient(); captureClient = nullptr; reservoir.reset(); - reservoirReadPos = 0; - reservoirWritePos = 0; + queue = SingleThreadedAbstractFifo(); } template @@ -903,13 +902,12 @@ public: else updateFormatWithType ((AudioData::Int16*) nullptr); } - bool start (int userBufferSize) + bool start (int userBufferSizeIn) { - reservoirSize = (int) (actualBufferSize + (UINT32) userBufferSize); - reservoirMask = nextPowerOfTwo (reservoirSize) - 1; - reservoir.setSize ((size_t) ((reservoirMask + 1) * bytesPerFrame), true); - reservoirReadPos = 0; - reservoirWritePos = 0; + const auto reservoirSize = nextPowerOfTwo ((int) (actualBufferSize + (UINT32) userBufferSizeIn)); + + queue = SingleThreadedAbstractFifo (reservoirSize); + reservoir.setSize ((size_t) (queue.getSize() * bytesPerFrame), true); xruns = 0; if (! check (client->Start())) @@ -927,93 +925,80 @@ public: UINT32 numSamplesAvailable; DWORD flags; - while (captureClient->GetBuffer (&inputData, &numSamplesAvailable, &flags, nullptr, nullptr) - != MAKE_HRESULT (0, 0x889, 0x1) /* AUDCLNT_S_BUFFER_EMPTY */) + while (captureClient->GetBuffer (&inputData, &numSamplesAvailable, &flags, nullptr, nullptr) != MAKE_HRESULT (0, 0x889, 0x1) /* AUDCLNT_S_BUFFER_EMPTY */) captureClient->ReleaseBuffer (numSamplesAvailable); } - int getNumSamplesInReservoir() const noexcept { return reservoirWritePos.load() - reservoirReadPos.load(); } + int getNumSamplesInReservoir() const noexcept { return queue.getNumReadable(); } void handleDeviceBuffer() { if (numChannels <= 0) return; - uint8* inputData; - UINT32 numSamplesAvailable; - DWORD flags; + uint8* inputData = nullptr; + UINT32 numSamplesAvailable = 0; + DWORD flags = 0; while (check (captureClient->GetBuffer (&inputData, &numSamplesAvailable, &flags, nullptr, nullptr)) && numSamplesAvailable > 0) { if ((flags & AUDCLNT_BUFFERFLAGS_DATA_DISCONTINUITY) != 0) xruns++; - int samplesLeft = (int) numSamplesAvailable; + if (numSamplesAvailable > (UINT32) queue.getRemainingSpace()) + { + captureClient->ReleaseBuffer (0); + return; + } + + auto offset = 0; - while (samplesLeft > 0) + for (const auto& block : queue.write ((int) numSamplesAvailable)) { - auto localWrite = reservoirWritePos.load() & reservoirMask; - auto samplesToDo = jmin (samplesLeft, reservoirMask + 1 - localWrite); - auto samplesToDoBytes = samplesToDo * bytesPerFrame; + const auto samplesToDoBytes = block.getLength() * bytesPerFrame; - void* reservoirPtr = addBytesToPointer (reservoir.getData(), localWrite * bytesPerFrame); + auto* reservoirPtr = addBytesToPointer (reservoir.getData(), block.getStart() * bytesPerFrame); if ((flags & AUDCLNT_BUFFERFLAGS_SILENT) != 0) zeromem (reservoirPtr, (size_t) samplesToDoBytes); else - memcpy (reservoirPtr, inputData, (size_t) samplesToDoBytes); + memcpy (reservoirPtr, inputData + offset * bytesPerFrame, (size_t) samplesToDoBytes); - reservoirWritePos += samplesToDo; - inputData += samplesToDoBytes; - samplesLeft -= samplesToDo; + offset += block.getLength(); } - if (getNumSamplesInReservoir() > reservoirSize) - reservoirReadPos = reservoirWritePos.load() - reservoirSize; - captureClient->ReleaseBuffer (numSamplesAvailable); } } - void copyBuffersFromReservoir (float** destBuffers, int numDestBuffers, int bufferSize) + void copyBuffersFromReservoir (float* const* destBuffers, const int numDestBuffers, const int bufferSize) { if ((numChannels <= 0 && bufferSize == 0) || reservoir.isEmpty()) return; - int offset = jmax (0, bufferSize - getNumSamplesInReservoir()); + auto offset = jmax (0, bufferSize - queue.getNumReadable()); if (offset > 0) - { for (int i = 0; i < numDestBuffers; ++i) zeromem (destBuffers[i], (size_t) offset * sizeof (float)); - bufferSize -= offset; - reservoirReadPos -= offset / 2; - } - - while (bufferSize > 0) + for (const auto& block : queue.read (jmin (queue.getNumReadable(), bufferSize))) { - auto localRead = reservoirReadPos.load() & reservoirMask; - auto samplesToDo = jmin (bufferSize, getNumSamplesInReservoir(), reservoirMask + 1 - localRead); - - if (samplesToDo <= 0) - break; - - auto reservoirOffset = localRead * bytesPerFrame; - - for (int i = 0; i < numDestBuffers; ++i) - converter->convertSamples (destBuffers[i] + offset, 0, addBytesToPointer (reservoir.getData(), reservoirOffset), channelMaps.getUnchecked(i), samplesToDo); - - bufferSize -= samplesToDo; - offset += samplesToDo; - reservoirReadPos += samplesToDo; + for (auto i = 0; i < numDestBuffers; ++i) + converter->convertSamples (destBuffers[i] + offset, + 0, + addBytesToPointer (reservoir.getData(), block.getStart() * bytesPerFrame), + channelMaps.getUnchecked (i), + block.getLength()); + + offset += block.getLength(); } } ComSmartPtr captureClient; MemoryBlock reservoir; - int reservoirSize, reservoirMask, xruns; - std::atomic reservoirReadPos, reservoirWritePos; + SingleThreadedAbstractFifo queue; + int xruns = 0; std::unique_ptr converter; @@ -1095,7 +1080,7 @@ public: return (int) actualBufferSize; } - void copyBuffers (const float** srcBuffers, int numSrcBuffers, int bufferSize, + void copyBuffers (const float* const* srcBuffers, int numSrcBuffers, int bufferSize, WASAPIInputDevice* inputDevice, Thread& thread) { if (numChannels <= 0) diff --git a/modules/juce_audio_devices/sources/juce_AudioTransportSource.cpp b/modules/juce_audio_devices/sources/juce_AudioTransportSource.cpp index 9320c5cb..64fa1447 100644 --- a/modules/juce_audio_devices/sources/juce_AudioTransportSource.cpp +++ b/modules/juce_audio_devices/sources/juce_AudioTransportSource.cpp @@ -45,9 +45,6 @@ void AudioTransportSource::setSource (PositionableAudioSource* const newSource, setSource (nullptr, 0, nullptr); // deselect and reselect to avoid releasing resources wrongly } - readAheadBufferSize = readAheadSize; - sourceSampleRate = sourceSampleRateToCorrectFor; - ResamplingAudioSource* newResamplerSource = nullptr; BufferingAudioSource* newBufferingSource = nullptr; PositionableAudioSource* newPositionableSource = nullptr; @@ -82,8 +79,8 @@ void AudioTransportSource::setSource (PositionableAudioSource* const newSource, if (isPrepared) { - if (newResamplerSource != nullptr && sourceSampleRate > 0 && sampleRate > 0) - newResamplerSource->setResamplingRatio (sourceSampleRate / sampleRate); + if (newResamplerSource != nullptr && sourceSampleRateToCorrectFor > 0 && sampleRate > 0) + newResamplerSource->setResamplingRatio (sourceSampleRateToCorrectFor / sampleRate); newMasterSource->prepareToPlay (blockSize, sampleRate); } @@ -97,8 +94,9 @@ void AudioTransportSource::setSource (PositionableAudioSource* const newSource, bufferingSource = newBufferingSource; masterSource = newMasterSource; positionableSource = newPositionableSource; + readAheadBufferSize = readAheadSize; + sourceSampleRate = sourceSampleRateToCorrectFor; - inputStreamEOF = false; playing = false; } @@ -114,7 +112,6 @@ void AudioTransportSource::start() const ScopedLock sl (callbackLock); playing = true; stopped = false; - inputStreamEOF = false; } sendChangeMessage(); @@ -157,6 +154,12 @@ double AudioTransportSource::getLengthInSeconds() const return 0.0; } +bool AudioTransportSource::hasStreamFinished() const noexcept +{ + return positionableSource->getNextReadPosition() > positionableSource->getTotalLength() + 1 + && ! positionableSource->isLooping(); +} + void AudioTransportSource::setNextReadPosition (int64 newPosition) { if (positionableSource != nullptr) @@ -168,13 +171,13 @@ void AudioTransportSource::setNextReadPosition (int64 newPosition) if (resamplerSource != nullptr) resamplerSource->flushBuffers(); - - inputStreamEOF = false; } } int64 AudioTransportSource::getNextReadPosition() const { + const ScopedLock sl (callbackLock); + if (positionableSource != nullptr) { const double ratio = (sampleRate > 0 && sourceSampleRate > 0) ? sampleRate / sourceSampleRate : 1.0; @@ -221,7 +224,6 @@ void AudioTransportSource::prepareToPlay (int samplesPerBlockExpected, double ne if (resamplerSource != nullptr && sourceSampleRate > 0) resamplerSource->setResamplingRatio (sourceSampleRate / sampleRate); - inputStreamEOF = false; isPrepared = true; } @@ -258,11 +260,9 @@ void AudioTransportSource::getNextAudioBlock (const AudioSourceChannelInfo& info info.buffer->clear (info.startSample + 256, info.numSamples - 256); } - if (positionableSource->getNextReadPosition() > positionableSource->getTotalLength() + 1 - && ! positionableSource->isLooping()) + if (hasStreamFinished()) { playing = false; - inputStreamEOF = true; sendChangeMessage(); } diff --git a/modules/juce_audio_devices/sources/juce_AudioTransportSource.h b/modules/juce_audio_devices/sources/juce_AudioTransportSource.h index c7341fe2..7e35946c 100644 --- a/modules/juce_audio_devices/sources/juce_AudioTransportSource.h +++ b/modules/juce_audio_devices/sources/juce_AudioTransportSource.h @@ -102,7 +102,7 @@ public: double getLengthInSeconds() const; /** Returns true if the player has stopped because its input stream ran out of data. */ - bool hasStreamFinished() const noexcept { return inputStreamEOF; } + bool hasStreamFinished() const noexcept; //============================================================================== /** Starts playing (if a source has been selected). @@ -170,7 +170,7 @@ private: std::atomic playing { false }, stopped { true }; double sampleRate = 44100.0, sourceSampleRate = 0; int blockSize = 128, readAheadBufferSize = 0; - bool isPrepared = false, inputStreamEOF = false; + bool isPrepared = false; void releaseMasterResources(); diff --git a/modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp b/modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp index 950f922f..b018b80a 100644 --- a/modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp +++ b/modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp @@ -36,22 +36,69 @@ namespace { const char* const coreAudioFormatName = "CoreAudio supported file"; - StringArray findFileExtensionsForCoreAudioCodecs() + StringArray getStringInfo (AudioFilePropertyID property, UInt32 size, void* data) { - StringArray extensionsArray; CFObjectHolder extensions; UInt32 sizeOfArray = sizeof (extensions.object); - if (AudioFileGetGlobalInfo (kAudioFileGlobalInfo_AllExtensions, 0, nullptr, &sizeOfArray, &extensions.object) == noErr) - { - auto numValues = CFArrayGetCount (extensions.object); + const auto err = AudioFileGetGlobalInfo (property, + size, + data, + &sizeOfArray, + &extensions.object); - for (CFIndex i = 0; i < numValues; ++i) - extensionsArray.add ("." + String::fromCFString ((CFStringRef) CFArrayGetValueAtIndex (extensions.object, i))); - } + if (err != noErr) + return {}; + + const auto numValues = CFArrayGetCount (extensions.object); + + StringArray extensionsArray; + + for (CFIndex i = 0; i < numValues; ++i) + extensionsArray.add ("." + String::fromCFString ((CFStringRef) CFArrayGetValueAtIndex (extensions.object, i))); return extensionsArray; } + + StringArray findFileExtensionsForCoreAudioCodec (AudioFileTypeID type) + { + return getStringInfo (kAudioFileGlobalInfo_ExtensionsForType, sizeof (AudioFileTypeID), &type); + } + + StringArray findFileExtensionsForCoreAudioCodecs() + { + return getStringInfo (kAudioFileGlobalInfo_AllExtensions, 0, nullptr); + } + + static AudioFileTypeID toAudioFileTypeID (CoreAudioFormat::StreamKind kind) + { + using StreamKind = CoreAudioFormat::StreamKind; + + switch (kind) + { + case StreamKind::kAiff: return kAudioFileAIFFType; + case StreamKind::kAifc: return kAudioFileAIFCType; + case StreamKind::kWave: return kAudioFileWAVEType; + case StreamKind::kSoundDesigner2: return kAudioFileSoundDesigner2Type; + case StreamKind::kNext: return kAudioFileNextType; + case StreamKind::kMp3: return kAudioFileMP3Type; + case StreamKind::kMp2: return kAudioFileMP2Type; + case StreamKind::kMp1: return kAudioFileMP1Type; + case StreamKind::kAc3: return kAudioFileAC3Type; + case StreamKind::kAacAdts: return kAudioFileAAC_ADTSType; + case StreamKind::kMpeg4: return kAudioFileMPEG4Type; + case StreamKind::kM4a: return kAudioFileM4AType; + case StreamKind::kM4b: return kAudioFileM4BType; + case StreamKind::kCaf: return kAudioFileCAFType; + case StreamKind::k3gp: return kAudioFile3GPType; + case StreamKind::k3gp2: return kAudioFile3GP2Type; + case StreamKind::kAmr: return kAudioFileAMRType; + + case StreamKind::kNone: break; + } + + return {}; + } } //============================================================================== @@ -340,7 +387,10 @@ struct CoreAudioFormatMetatdata class CoreAudioReader : public AudioFormatReader { public: - CoreAudioReader (InputStream* inp) : AudioFormatReader (inp, coreAudioFormatName) + using StreamKind = CoreAudioFormat::StreamKind; + + CoreAudioReader (InputStream* inp, StreamKind streamKind) + : AudioFormatReader (inp, coreAudioFormatName) { usesFloatingPointData = true; bitsPerSample = 32; @@ -353,7 +403,7 @@ public: nullptr, // write needs to be null to avoid permissions errors &getSizeCallback, nullptr, // setSize needs to be null to avoid permissions errors - 0, // AudioFileTypeID inFileTypeHint + toAudioFileTypeID (streamKind), &audioFileID); if (status == noErr) { @@ -561,11 +611,18 @@ private: //============================================================================== CoreAudioFormat::CoreAudioFormat() - : AudioFormat (coreAudioFormatName, findFileExtensionsForCoreAudioCodecs()) + : AudioFormat (coreAudioFormatName, findFileExtensionsForCoreAudioCodecs()), + streamKind (StreamKind::kNone) +{ +} + +CoreAudioFormat::CoreAudioFormat (StreamKind kind) + : AudioFormat (coreAudioFormatName, findFileExtensionsForCoreAudioCodec (toAudioFileTypeID (kind))), + streamKind (kind) { } -CoreAudioFormat::~CoreAudioFormat() {} +CoreAudioFormat::~CoreAudioFormat() = default; Array CoreAudioFormat::getPossibleSampleRates() { return {}; } Array CoreAudioFormat::getPossibleBitDepths() { return {}; } @@ -577,7 +634,7 @@ bool CoreAudioFormat::canDoMono() { return true; } AudioFormatReader* CoreAudioFormat::createReaderFor (InputStream* sourceStream, bool deleteStreamIfOpeningFails) { - std::unique_ptr r (new CoreAudioReader (sourceStream)); + std::unique_ptr r (new CoreAudioReader (sourceStream, streamKind)); if (r->ok) return r.release(); diff --git a/modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h b/modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h index 12db618f..60c9e54a 100644 --- a/modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h +++ b/modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h @@ -42,10 +42,38 @@ namespace juce class JUCE_API CoreAudioFormat : public AudioFormat { public: + /** File type hints. */ + enum class StreamKind + { + kNone, + kAiff, + kAifc, + kWave, + kSoundDesigner2, + kNext, + kMp3, + kMp2, + kMp1, + kAc3, + kAacAdts, + kMpeg4, + kM4a, + kM4b, + kCaf, + k3gp, + k3gp2, + kAmr, + }; + //============================================================================== /** Creates a format object. */ CoreAudioFormat(); + /** Creates a format object and provides a hint as to the format of data + to be read or written. + */ + explicit CoreAudioFormat (StreamKind); + /** Destructor. */ ~CoreAudioFormat() override; @@ -78,6 +106,8 @@ public: using AudioFormat::createWriterFor; private: + StreamKind streamKind = StreamKind::kNone; + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (CoreAudioFormat) }; diff --git a/modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp b/modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp index a5589645..e780ca5a 100644 --- a/modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp +++ b/modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp @@ -167,6 +167,8 @@ namespace FlacNamespace //============================================================================== static const char* const flacFormatName = "FLAC file"; +template +auto emptyRange (Item item) { return Range::emptyRange (item); } //============================================================================== class FlacReader : public AudioFormatReader @@ -217,66 +219,61 @@ public: reservoir.setSize ((int) numChannels, 2 * (int) info.max_blocksize, false, false, true); } - // returns the number of samples read bool readSamples (int** destSamples, int numDestChannels, int startOffsetInDestBuffer, int64 startSampleInFile, int numSamples) override { if (! ok) return false; - while (numSamples > 0) - { - if (startSampleInFile >= reservoirStart - && startSampleInFile < reservoirStart + samplesInReservoir) - { - auto num = (int) jmin ((int64) numSamples, - reservoirStart + samplesInReservoir - startSampleInFile); - - jassert (num > 0); + const auto getBufferedRange = [this] { return bufferedRange; }; - for (int i = jmin (numDestChannels, reservoir.getNumChannels()); --i >= 0;) - if (destSamples[i] != nullptr) - memcpy (destSamples[i] + startOffsetInDestBuffer, - reservoir.getReadPointer (i, (int) (startSampleInFile - reservoirStart)), - (size_t) num * sizeof (int)); + const auto readFromReservoir = [this, &destSamples, &numDestChannels, &startOffsetInDestBuffer, &startSampleInFile] (const Range rangeToRead) + { + const auto bufferIndices = rangeToRead - bufferedRange.getStart(); + const auto writePos = (int64) startOffsetInDestBuffer + (rangeToRead.getStart() - startSampleInFile); - startOffsetInDestBuffer += num; - startSampleInFile += num; - numSamples -= num; - } - else + for (int i = jmin (numDestChannels, reservoir.getNumChannels()); --i >= 0;) { - if (startSampleInFile >= lengthInSamples) - { - samplesInReservoir = 0; - } - else if (startSampleInFile < reservoirStart - || startSampleInFile > reservoirStart + jmax (samplesInReservoir, (int64) 511)) - { - // had some problems with flac crashing if the read pos is aligned more - // accurately than this. Probably fixed in newer versions of the library, though. - reservoirStart = (int) (startSampleInFile & ~511); - samplesInReservoir = 0; - FLAC__stream_decoder_seek_absolute (decoder, (FlacNamespace::FLAC__uint64) reservoirStart); - } - else + if (destSamples[i] != nullptr) { - reservoirStart += samplesInReservoir; - samplesInReservoir = 0; - FLAC__stream_decoder_process_single (decoder); + memcpy (destSamples[i] + writePos, + reservoir.getReadPointer (i) + bufferIndices.getStart(), + (size_t) bufferIndices.getLength() * sizeof (int)); } - - if (samplesInReservoir == 0) - break; } - } + }; - if (numSamples > 0) + const auto fillReservoir = [this] (const int64 requestedStart) { + if (requestedStart >= lengthInSamples) + { + bufferedRange = emptyRange (requestedStart); + return; + } + + if (requestedStart < bufferedRange.getStart() + || jmax (bufferedRange.getEnd(), bufferedRange.getStart() + (int64) 511) < requestedStart) + { + // had some problems with flac crashing if the read pos is aligned more + // accurately than this. Probably fixed in newer versions of the library, though. + bufferedRange = emptyRange (requestedStart & ~511); + FLAC__stream_decoder_seek_absolute (decoder, (FlacNamespace::FLAC__uint64) bufferedRange.getStart()); + return; + } + + bufferedRange = emptyRange (bufferedRange.getEnd()); + FLAC__stream_decoder_process_single (decoder); + }; + + const auto remainingSamples = Reservoir::doBufferedRead (Range { startSampleInFile, startSampleInFile + numSamples }, + getBufferedRange, + readFromReservoir, + fillReservoir); + + if (! remainingSamples.isEmpty()) for (int i = numDestChannels; --i >= 0;) if (destSamples[i] != nullptr) - zeromem (destSamples[i] + startOffsetInDestBuffer, (size_t) numSamples * sizeof (int)); - } + zeromem (destSamples[i] + startOffsetInDestBuffer, (size_t) remainingSamples.getLength() * sizeof (int)); return true; } @@ -304,14 +301,14 @@ public: if (src != nullptr) { - auto* dest = reinterpret_cast (reservoir.getWritePointer(i)); + auto* dest = reinterpret_cast (reservoir.getWritePointer (i)); for (int j = 0; j < numSamples; ++j) dest[j] = src[j] << bitsToShift; } } - samplesInReservoir = numSamples; + bufferedRange.setLength (numSamples); } } @@ -368,7 +365,7 @@ public: private: FlacNamespace::FLAC__StreamDecoder* decoder; AudioBuffer reservoir; - int64 reservoirStart = 0, samplesInReservoir = 0; + Range bufferedRange; bool ok = false, scanningForLength = false; JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (FlacReader) diff --git a/modules/juce_audio_formats/codecs/juce_FlacAudioFormat.h b/modules/juce_audio_formats/codecs/juce_FlacAudioFormat.h index d39465c0..258efca2 100644 --- a/modules/juce_audio_formats/codecs/juce_FlacAudioFormat.h +++ b/modules/juce_audio_formats/codecs/juce_FlacAudioFormat.h @@ -26,7 +26,7 @@ namespace juce { -#if JUCE_USE_FLAC || defined (DOXYGEN) +#if JUCE_USE_FLAC || DOXYGEN //============================================================================== /** diff --git a/modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.h b/modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.h index 68b3fa13..c0c08c55 100644 --- a/modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.h +++ b/modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.h @@ -26,7 +26,7 @@ namespace juce { -#if JUCE_USE_LAME_AUDIO_FORMAT || defined (DOXYGEN) +#if JUCE_USE_LAME_AUDIO_FORMAT || DOXYGEN //============================================================================== /** diff --git a/modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp b/modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp index 387ace0c..d9ffa50b 100644 --- a/modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp +++ b/modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp @@ -50,6 +50,7 @@ namespace OggVorbisNamespace "-Wmisleading-indentation", "-Wmissing-prototypes", "-Wcast-align") + JUCE_BEGIN_NO_SANITIZE ("undefined") #include "oggvorbis/vorbisenc.h" #include "oggvorbis/codec.h" @@ -79,6 +80,7 @@ namespace OggVorbisNamespace #include "oggvorbis/libvorbis-1.3.7/lib/vorbisfile.c" #include "oggvorbis/libvorbis-1.3.7/lib/window.c" + JUCE_END_NO_SANITIZE JUCE_END_IGNORE_WARNINGS_MSVC JUCE_END_IGNORE_WARNINGS_GCC_LIKE #else @@ -158,72 +160,62 @@ public: bool readSamples (int** destSamples, int numDestChannels, int startOffsetInDestBuffer, int64 startSampleInFile, int numSamples) override { - while (numSamples > 0) + const auto getBufferedRange = [this] { return bufferedRange; }; + + const auto readFromReservoir = [this, &destSamples, &numDestChannels, &startOffsetInDestBuffer, &startSampleInFile] (const Range rangeToRead) { - auto numAvailable = (reservoirStart + samplesInReservoir - startSampleInFile); + const auto bufferIndices = rangeToRead - bufferedRange.getStart(); + const auto writePos = (int64) startOffsetInDestBuffer + (rangeToRead.getStart() - startSampleInFile); - if (startSampleInFile >= reservoirStart && numAvailable > 0) - { - // got a few samples overlapping, so use them before seeking.. + for (int i = jmin (numDestChannels, reservoir.getNumChannels()); --i >= 0;) + if (destSamples[i] != nullptr) + memcpy (destSamples[i] + writePos, + reservoir.getReadPointer (i) + bufferIndices.getStart(), + (size_t) bufferIndices.getLength() * sizeof (float)); + }; - auto numToUse = jmin ((int64) numSamples, numAvailable); + const auto fillReservoir = [this] (int64 requestedStart) + { + const auto newStart = jmax ((int64) 0, requestedStart); + bufferedRange = Range { newStart, newStart + reservoir.getNumSamples() }; - for (int i = jmin (numDestChannels, reservoir.getNumChannels()); --i >= 0;) - if (destSamples[i] != nullptr) - memcpy (destSamples[i] + startOffsetInDestBuffer, - reservoir.getReadPointer (i, (int) (startSampleInFile - reservoirStart)), - (size_t) numToUse * sizeof (float)); + if (bufferedRange.getStart() != ov_pcm_tell (&ovFile)) + ov_pcm_seek (&ovFile, bufferedRange.getStart()); - startSampleInFile += numToUse; - numSamples -= (int) numToUse; - startOffsetInDestBuffer += (int) numToUse; + int bitStream = 0; + int offset = 0; + int numToRead = (int) bufferedRange.getLength(); - if (numSamples == 0) - break; - } - - if (startSampleInFile < reservoirStart - || startSampleInFile + numSamples > reservoirStart + samplesInReservoir) + while (numToRead > 0) { - // buffer miss, so refill the reservoir - reservoirStart = jmax (0, (int) startSampleInFile); - samplesInReservoir = reservoir.getNumSamples(); - - if (reservoirStart != (int) ov_pcm_tell (&ovFile)) - ov_pcm_seek (&ovFile, reservoirStart); - - int bitStream = 0; - int offset = 0; - int numToRead = (int) samplesInReservoir; + float** dataIn = nullptr; + auto samps = static_cast (ov_read_float (&ovFile, &dataIn, numToRead, &bitStream)); - while (numToRead > 0) - { - float** dataIn = nullptr; - auto samps = static_cast (ov_read_float (&ovFile, &dataIn, numToRead, &bitStream)); + if (samps <= 0) + break; - if (samps <= 0) - break; + jassert (samps <= numToRead); - jassert (samps <= numToRead); + for (int i = jmin ((int) numChannels, reservoir.getNumChannels()); --i >= 0;) + memcpy (reservoir.getWritePointer (i, offset), dataIn[i], (size_t) samps * sizeof (float)); - for (int i = jmin ((int) numChannels, reservoir.getNumChannels()); --i >= 0;) - memcpy (reservoir.getWritePointer (i, offset), dataIn[i], (size_t) samps * sizeof (float)); + numToRead -= samps; + offset += samps; + } - numToRead -= samps; - offset += samps; - } + if (numToRead > 0) + reservoir.clear (offset, numToRead); + }; - if (numToRead > 0) - reservoir.clear (offset, numToRead); - } - } + const auto remainingSamples = Reservoir::doBufferedRead (Range { startSampleInFile, startSampleInFile + numSamples }, + getBufferedRange, + readFromReservoir, + fillReservoir); - if (numSamples > 0) - { + if (! remainingSamples.isEmpty()) for (int i = numDestChannels; --i >= 0;) if (destSamples[i] != nullptr) - zeromem (destSamples[i] + startOffsetInDestBuffer, (size_t) numSamples * sizeof (int)); - } + zeromem (destSamples[i] + startOffsetInDestBuffer, (size_t) remainingSamples.getLength() * sizeof (int)); return true; } @@ -261,7 +253,7 @@ private: OggVorbisNamespace::OggVorbis_File ovFile; OggVorbisNamespace::ov_callbacks callbacks; AudioBuffer reservoir; - int64 reservoirStart = 0, samplesInReservoir = 0; + Range bufferedRange; JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (OggReader) }; diff --git a/modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h b/modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h index db4786d2..1e82d457 100644 --- a/modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h +++ b/modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h @@ -26,7 +26,7 @@ namespace juce { -#if JUCE_USE_OGGVORBIS || defined (DOXYGEN) +#if JUCE_USE_OGGVORBIS || DOXYGEN //============================================================================== /** diff --git a/modules/juce_audio_formats/juce_audio_formats.h b/modules/juce_audio_formats/juce_audio_formats.h index cad68591..1062a4cd 100644 --- a/modules/juce_audio_formats/juce_audio_formats.h +++ b/modules/juce_audio_formats/juce_audio_formats.h @@ -35,7 +35,7 @@ ID: juce_audio_formats vendor: juce - version: 6.1.0 + version: 6.1.3 name: JUCE audio file format codecs description: Classes for reading and writing various audio file formats. website: http://www.juce.com/juce diff --git a/modules/juce_audio_plugin_client/AAX/juce_AAX_Wrapper.cpp b/modules/juce_audio_plugin_client/AAX/juce_AAX_Wrapper.cpp index a19f9b0f..ecbc4dbd 100644 --- a/modules/juce_audio_plugin_client/AAX/juce_AAX_Wrapper.cpp +++ b/modules/juce_audio_plugin_client/AAX/juce_AAX_Wrapper.cpp @@ -31,7 +31,6 @@ #include "../utility/juce_IncludeSystemHeaders.h" #include "../utility/juce_IncludeModuleHeaders.h" #include "../utility/juce_WindowsHooks.h" -#include "../utility/juce_FakeMouseMoveGenerator.h" #include @@ -592,8 +591,6 @@ namespace AAXClasses setBounds (lastValidSize); pluginEditor->addMouseListener (this, true); } - - ignoreUnused (fakeMouseGenerator); } ~ContentWrapperComponent() override @@ -673,7 +670,6 @@ namespace AAXClasses #if JUCE_WINDOWS WindowsHooks hooks; #endif - FakeMouseMoveGenerator fakeMouseGenerator; juce::Rectangle lastValidSize; JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ContentWrapperComponent) @@ -685,6 +681,31 @@ namespace AAXClasses JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (JuceAAX_GUI) }; + // Copied here, because not all versions of the AAX SDK define all of these values + enum JUCE_AAX_EFrameRate : std::underlying_type_t + { + JUCE_AAX_eFrameRate_Undeclared = 0, + JUCE_AAX_eFrameRate_24Frame = 1, + JUCE_AAX_eFrameRate_25Frame = 2, + JUCE_AAX_eFrameRate_2997NonDrop = 3, + JUCE_AAX_eFrameRate_2997DropFrame = 4, + JUCE_AAX_eFrameRate_30NonDrop = 5, + JUCE_AAX_eFrameRate_30DropFrame = 6, + JUCE_AAX_eFrameRate_23976 = 7, + JUCE_AAX_eFrameRate_47952 = 8, + JUCE_AAX_eFrameRate_48Frame = 9, + JUCE_AAX_eFrameRate_50Frame = 10, + JUCE_AAX_eFrameRate_5994NonDrop = 11, + JUCE_AAX_eFrameRate_5994DropFrame = 12, + JUCE_AAX_eFrameRate_60NonDrop = 13, + JUCE_AAX_eFrameRate_60DropFrame = 14, + JUCE_AAX_eFrameRate_100Frame = 15, + JUCE_AAX_eFrameRate_11988NonDrop = 16, + JUCE_AAX_eFrameRate_11988DropFrame = 17, + JUCE_AAX_eFrameRate_120NonDrop = 18, + JUCE_AAX_eFrameRate_120DropFrame = 19 + }; + static void AAX_CALLBACK algorithmProcessCallback (JUCEAlgorithmContext* const instancesBegin[], const void* const instancesEnd); static Array activeProcessors; @@ -826,11 +847,15 @@ namespace AAXClasses // * The preset is loaded in PT 10 using the AAX version. // * The session is then saved, and closed. // * The saved session is loaded, but acting as if the preset was never loaded. + // IMPORTANT! If the plugin doesn't manage its own bypass parameter, don't try + // to overwrite the bypass parameter value. auto numParameters = juceParameters.getNumParameters(); for (int i = 0; i < numParameters; ++i) - if (auto paramID = getAAXParamIDFromJuceIndex(i)) - SetParameterNormalizedValue (paramID, juceParameters.getParamForIndex (i)->getValue()); + if (auto* juceParam = juceParameters.getParamForIndex (i)) + if (juceParam != ownedBypassParameter.get()) + if (auto paramID = getAAXParamIDFromJuceIndex (i)) + SetParameterNormalizedValue (paramID, juceParam->getValue()); return AAX_SUCCESS; } @@ -900,6 +925,13 @@ namespace AAXClasses } } + AAX_Result GetNumberOfChanges (int32_t* numChanges) const override + { + const auto result = AAX_CEffectParameters::GetNumberOfChanges (numChanges); + *numChanges += numSetDirtyCalls; + return result; + } + AAX_Result UpdateParameterNormalizedValue (AAX_CParamID paramID, double value, AAX_EUpdateSource source) override { auto result = AAX_CEffectParameters::UpdateParameterNormalizedValue (paramID, value, source); @@ -1040,31 +1072,54 @@ namespace AAXClasses info.ppqLoopStart = (double) loopStartTick / 960000.0; info.ppqLoopEnd = (double) loopEndTick / 960000.0; - info.editOriginTime = 0; - info.frameRate = AudioPlayHead::fpsUnknown; - - AAX_EFrameRate frameRate; - int32_t offset; - - if (transport.GetTimeCodeInfo (&frameRate, &offset) == AAX_SUCCESS) + std::tie (info.frameRate, info.editOriginTime) = [&transport] { - double framesPerSec = 24.0; + AAX_EFrameRate frameRate; + int32_t offset; + + if (transport.GetTimeCodeInfo (&frameRate, &offset) != AAX_SUCCESS) + return std::make_tuple (FrameRate(), 0.0); - switch (frameRate) + const auto rate = [&] { - case AAX_eFrameRate_Undeclared: break; - case AAX_eFrameRate_24Frame: info.frameRate = AudioPlayHead::fps24; break; - case AAX_eFrameRate_25Frame: info.frameRate = AudioPlayHead::fps25; framesPerSec = 25.0; break; - case AAX_eFrameRate_2997NonDrop: info.frameRate = AudioPlayHead::fps2997; framesPerSec = 30.0 * 1000.0 / 1001.0; break; - case AAX_eFrameRate_2997DropFrame: info.frameRate = AudioPlayHead::fps2997drop; framesPerSec = 30.0 * 1000.0 / 1001.0; break; - case AAX_eFrameRate_30NonDrop: info.frameRate = AudioPlayHead::fps30; framesPerSec = 30.0; break; - case AAX_eFrameRate_30DropFrame: info.frameRate = AudioPlayHead::fps30drop; framesPerSec = 30.0; break; - case AAX_eFrameRate_23976: info.frameRate = AudioPlayHead::fps23976; framesPerSec = 24.0 * 1000.0 / 1001.0; break; - default: break; - } + switch ((JUCE_AAX_EFrameRate) frameRate) + { + case JUCE_AAX_eFrameRate_24Frame: return FrameRate().withBaseRate (24); + case JUCE_AAX_eFrameRate_23976: return FrameRate().withBaseRate (24).withPullDown(); - info.editOriginTime = offset / framesPerSec; - } + case JUCE_AAX_eFrameRate_25Frame: return FrameRate().withBaseRate (25); + + case JUCE_AAX_eFrameRate_30NonDrop: return FrameRate().withBaseRate (30); + case JUCE_AAX_eFrameRate_30DropFrame: return FrameRate().withBaseRate (30).withDrop(); + case JUCE_AAX_eFrameRate_2997NonDrop: return FrameRate().withBaseRate (30).withPullDown(); + case JUCE_AAX_eFrameRate_2997DropFrame: return FrameRate().withBaseRate (30).withPullDown().withDrop(); + + case JUCE_AAX_eFrameRate_48Frame: return FrameRate().withBaseRate (48); + case JUCE_AAX_eFrameRate_47952: return FrameRate().withBaseRate (48).withPullDown(); + + case JUCE_AAX_eFrameRate_50Frame: return FrameRate().withBaseRate (50); + + case JUCE_AAX_eFrameRate_60NonDrop: return FrameRate().withBaseRate (60); + case JUCE_AAX_eFrameRate_60DropFrame: return FrameRate().withBaseRate (60).withDrop(); + case JUCE_AAX_eFrameRate_5994NonDrop: return FrameRate().withBaseRate (60).withPullDown(); + case JUCE_AAX_eFrameRate_5994DropFrame: return FrameRate().withBaseRate (60).withPullDown().withDrop(); + + case JUCE_AAX_eFrameRate_100Frame: return FrameRate().withBaseRate (100); + + case JUCE_AAX_eFrameRate_120NonDrop: return FrameRate().withBaseRate (120); + case JUCE_AAX_eFrameRate_120DropFrame: return FrameRate().withBaseRate (120).withDrop(); + case JUCE_AAX_eFrameRate_11988NonDrop: return FrameRate().withBaseRate (120).withPullDown(); + case JUCE_AAX_eFrameRate_11988DropFrame: return FrameRate().withBaseRate (120).withPullDown().withDrop(); + + case JUCE_AAX_eFrameRate_Undeclared: break; + } + + return FrameRate(); + }(); + + const auto effectiveRate = rate.getEffectiveRate(); + return std::make_tuple (rate, effectiveRate != 0.0 ? offset / effectiveRate : 0.0); + }(); // No way to get these: (?) info.isRecording = false; @@ -1107,6 +1162,9 @@ namespace AAXClasses if (details.latencyChanged) check (Controller()->SetSignalLatency (processor->getLatencySamples())); + + if (details.nonParameterStateChanged) + ++numSetDirtyCalls; } void audioProcessorParameterChangeGestureBegin (AudioProcessor*, int parameterIndex) override @@ -1548,11 +1606,11 @@ namespace AAXClasses } if (! bypassPartOfRegularParams) - juceParameters.params.add (bypassParameter); + juceParameters.addNonOwning (bypassParameter); int parameterIndex = 0; - for (auto* juceParam : juceParameters.params) + for (auto* juceParam : juceParameters) { auto isBypassParameter = (juceParam == bypassParameter); @@ -1999,7 +2057,7 @@ namespace AAXClasses bool isPrepared = false; MidiBuffer midiBuffer; Array channelList; - int32_t juceChunkIndex = 0; + int32_t juceChunkIndex = 0, numSetDirtyCalls = 0; AAX_CSampleRate sampleRate = 0; int lastBufferSize = 1024, maxBufferSize = 1024; bool hasSidechain = false, canDisableSidechain = false, lastSideChainState = false; @@ -2102,7 +2160,7 @@ namespace AAXClasses int meterIdx = 0; - for (auto* param : params.params) + for (auto* param : params) { auto category = param->getCategory(); @@ -2367,7 +2425,7 @@ namespace AAXClasses jassert (pluginIds.size() > 0); #endif } -} +} // namespace AAXClasses void AAX_CALLBACK AAXClasses::algorithmProcessCallback (JUCEAlgorithmContext* const instancesBegin[], const void* const instancesEnd) { diff --git a/modules/juce_audio_plugin_client/RTAS/juce_RTAS_Wrapper.cpp b/modules/juce_audio_plugin_client/RTAS/juce_RTAS_Wrapper.cpp index 7836bf11..99defb77 100644 --- a/modules/juce_audio_plugin_client/RTAS/juce_RTAS_Wrapper.cpp +++ b/modules/juce_audio_plugin_client/RTAS/juce_RTAS_Wrapper.cpp @@ -23,6 +23,7 @@ ============================================================================== */ +#include #include #include "../utility/juce_CheckSettingMacros.h" @@ -162,15 +163,15 @@ class JucePlugInProcess : public CEffectProcessMIDI, { public: //============================================================================== - // RTAS builds will be removed from JUCE in the next release - JUCE_DEPRECATED_WITH_BODY (JucePlugInProcess(), + [[deprecated ("RTAS builds will be removed from JUCE in the next release.")]] + JucePlugInProcess() { juceFilter.reset (createPluginFilterOfType (AudioProcessor::wrapperType_RTAS)); AddChunk (juceChunkType, "Juce Audio Plugin Data"); ++numInstances; - }) + } ~JucePlugInProcess() { @@ -756,21 +757,24 @@ public: info.ppqLoopStart = 0; info.ppqLoopEnd = 0; - double framesPerSec = 24.0; - - switch (fTimeCodeInfo.mFrameRate) + info.frameRate = [this] { - case ficFrameRate_24Frame: info.frameRate = AudioPlayHead::fps24; break; - case ficFrameRate_25Frame: info.frameRate = AudioPlayHead::fps25; framesPerSec = 25.0; break; - case ficFrameRate_2997NonDrop: info.frameRate = AudioPlayHead::fps2997; framesPerSec = 30.0 * 1000.0 / 1001.0; break; - case ficFrameRate_2997DropFrame: info.frameRate = AudioPlayHead::fps2997drop; framesPerSec = 30.0 * 1000.0 / 1001.0; break; - case ficFrameRate_30NonDrop: info.frameRate = AudioPlayHead::fps30; framesPerSec = 30.0; break; - case ficFrameRate_30DropFrame: info.frameRate = AudioPlayHead::fps30drop; framesPerSec = 30.0; break; - case ficFrameRate_23976: info.frameRate = AudioPlayHead::fps23976; framesPerSec = 24.0 * 1000.0 / 1001.0; break; - default: info.frameRate = AudioPlayHead::fpsUnknown; break; - } + switch (fTimeCodeInfo.mFrameRate) + { + case ficFrameRate_24Frame: return FrameRate().withBaseRate (24); + case ficFrameRate_23976: return FrameRate().withBaseRate (24).withPullDown(); + case ficFrameRate_25Frame: return FrameRate().withBaseRate (25); + case ficFrameRate_30NonDrop: return FrameRate().withBaseRate (30); + case ficFrameRate_30DropFrame: return FrameRate().withBaseRate (30).withDrop(); + case ficFrameRate_2997NonDrop: return FrameRate().withBaseRate (30).withPullDown(); + case ficFrameRate_2997DropFrame: return FrameRate().withBaseRate (30).withPullDown().withDrop(); + } + + return FrameRate(); + }(); - info.editOriginTime = fTimeCodeInfo.mFrameOffset / framesPerSec; + const auto effectiveRate = info.frameRate.getEffectiveRate(); + info.editOriginTime = effectiveRate != 0.0 ? fTimeCodeInfo.mFrameOffset / effectiveRate : 0.0; return true; } diff --git a/modules/juce_audio_plugin_client/Standalone/juce_StandaloneFilterApp.cpp b/modules/juce_audio_plugin_client/Standalone/juce_StandaloneFilterApp.cpp index cb099283..8d65094b 100644 --- a/modules/juce_audio_plugin_client/Standalone/juce_StandaloneFilterApp.cpp +++ b/modules/juce_audio_plugin_client/Standalone/juce_StandaloneFilterApp.cpp @@ -28,7 +28,6 @@ #include "../utility/juce_IncludeSystemHeaders.h" #include "../utility/juce_IncludeModuleHeaders.h" -#include "../utility/juce_FakeMouseMoveGenerator.h" #include "../utility/juce_WindowsHooks.h" #include @@ -67,7 +66,7 @@ public: appProperties.setStorageParameters (options); } - const String getApplicationName() override { return JucePlugin_Name; } + const String getApplicationName() override { return CharPointer_UTF8 (JucePlugin_Name); } const String getApplicationVersion() override { return JucePlugin_VersionString; } bool moreThanOneInstanceAllowed() override { return true; } void anotherInstanceStarted (const String&) override {} diff --git a/modules/juce_audio_plugin_client/Standalone/juce_StandaloneFilterWindow.h b/modules/juce_audio_plugin_client/Standalone/juce_StandaloneFilterWindow.h index a011a96a..85ebc27d 100644 --- a/modules/juce_audio_plugin_client/Standalone/juce_StandaloneFilterWindow.h +++ b/modules/juce_audio_plugin_client/Standalone/juce_StandaloneFilterWindow.h @@ -904,9 +904,14 @@ private: notification.setBounds (r.removeFromTop (NotificationArea::height)); if (editor != nullptr) - editor->setBoundsConstrained (editor->getLocalArea (this, r.toFloat()) - .withPosition (r.getTopLeft().toFloat().transformedBy (editor->getTransform().inverted())) - .toNearestInt()); + { + const auto newPos = r.getTopLeft().toFloat().transformedBy (editor->getTransform().inverted()); + + if (preventResizingEditor) + editor->setTopLeftPosition (newPos.roundToInt()); + else + editor->setBoundsConstrained (editor->getLocalArea (this, r.toFloat()).withPosition (newPos).toNearestInt()); + } } private: @@ -1001,6 +1006,8 @@ private: //============================================================================== void componentMovedOrResized (Component&, bool, bool) override { + const ScopedValueSetter scope (preventResizingEditor, true); + if (editor != nullptr) { auto rect = getSizeToContainEditor(); @@ -1024,6 +1031,7 @@ private: std::unique_ptr editor; Value inputMutedValue; bool shouldShowNotification = false; + bool preventResizingEditor = false; JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainContentComponent) }; diff --git a/modules/juce_audio_plugin_client/Unity/juce_Unity_Wrapper.cpp b/modules/juce_audio_plugin_client/Unity/juce_Unity_Wrapper.cpp index 7d78eaac..08018247 100644 --- a/modules/juce_audio_plugin_client/Unity/juce_Unity_Wrapper.cpp +++ b/modules/juce_audio_plugin_client/Unity/juce_Unity_Wrapper.cpp @@ -365,7 +365,7 @@ public: if (parametersPtr == nullptr) { - numParams = juceParameters.params.size(); + numParams = (int) juceParameters.size(); parametersPtr.reset (static_cast (std::calloc (static_cast (numParams), sizeof (UnityAudioParameterDefinition)))); @@ -374,7 +374,7 @@ public: for (int i = 0; i < numParams; ++i) { - auto* parameter = juceParameters.params[i]; + auto* parameter = juceParameters.getParamForIndex (i); auto& paramDef = parametersPtr.get()[i]; const auto nameLength = (size_t) numElementsInArray (paramDef.name); diff --git a/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp b/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp index 84df483a..24fc168a 100644 --- a/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp +++ b/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp @@ -103,7 +103,6 @@ JUCE_END_IGNORE_WARNINGS_GCC_LIKE using namespace juce; -#include "../utility/juce_FakeMouseMoveGenerator.h" #include "../utility/juce_WindowsHooks.h" #include "../utility/juce_LinuxMessageThread.h" @@ -634,39 +633,39 @@ public: info.ppqPosition = (ti->flags & Vst2::kVstPpqPosValid) != 0 ? ti->ppqPos : 0.0; info.ppqPositionOfLastBarStart = (ti->flags & Vst2::kVstBarsValid) != 0 ? ti->barStartPos : 0.0; - if ((ti->flags & Vst2::kVstSmpteValid) != 0) + std::tie (info.frameRate, info.editOriginTime) = [ti] { - AudioPlayHead::FrameRateType rate = AudioPlayHead::fpsUnknown; - double fps = 1.0; + if ((ti->flags & Vst2::kVstSmpteValid) == 0) + return std::make_tuple (FrameRate(), 0.0); - switch (ti->smpteFrameRate) + const auto rate = [&] { - case Vst2::kVstSmpte239fps: rate = AudioPlayHead::fps23976; fps = 24.0 * 1000.0 / 1001.0; break; - case Vst2::kVstSmpte24fps: rate = AudioPlayHead::fps24; fps = 24.0; break; - case Vst2::kVstSmpte25fps: rate = AudioPlayHead::fps25; fps = 25.0; break; - case Vst2::kVstSmpte2997fps: rate = AudioPlayHead::fps2997; fps = 30.0 * 1000.0 / 1001.0; break; - case Vst2::kVstSmpte30fps: rate = AudioPlayHead::fps30; fps = 30.0; break; - case Vst2::kVstSmpte2997dfps: rate = AudioPlayHead::fps2997drop; fps = 30.0 * 1000.0 / 1001.0; break; - case Vst2::kVstSmpte30dfps: rate = AudioPlayHead::fps30drop; fps = 30.0; break; - - case Vst2::kVstSmpteFilm16mm: - case Vst2::kVstSmpteFilm35mm: fps = 24.0; break; - - case Vst2::kVstSmpte249fps: fps = 25.0 * 1000.0 / 1001.0; break; - case Vst2::kVstSmpte599fps: fps = 60.0 * 1000.0 / 1001.0; break; - case Vst2::kVstSmpte60fps: fps = 60; break; - - default: jassertfalse; // unknown frame-rate.. - } + switch (ti->smpteFrameRate) + { + case Vst2::kVstSmpte24fps: return FrameRate().withBaseRate (24); + case Vst2::kVstSmpte239fps: return FrameRate().withBaseRate (24).withPullDown(); - info.frameRate = rate; - info.editOriginTime = ti->smpteOffset / (80.0 * fps); - } - else - { - info.frameRate = AudioPlayHead::fpsUnknown; - info.editOriginTime = 0; - } + case Vst2::kVstSmpte25fps: return FrameRate().withBaseRate (25); + case Vst2::kVstSmpte249fps: return FrameRate().withBaseRate (25).withPullDown(); + + case Vst2::kVstSmpte30fps: return FrameRate().withBaseRate (30); + case Vst2::kVstSmpte30dfps: return FrameRate().withBaseRate (30).withDrop(); + case Vst2::kVstSmpte2997fps: return FrameRate().withBaseRate (30).withPullDown(); + case Vst2::kVstSmpte2997dfps: return FrameRate().withBaseRate (30).withPullDown().withDrop(); + + case Vst2::kVstSmpte60fps: return FrameRate().withBaseRate (60); + case Vst2::kVstSmpte599fps: return FrameRate().withBaseRate (60).withPullDown(); + + case Vst2::kVstSmpteFilm16mm: + case Vst2::kVstSmpteFilm35mm: return FrameRate().withBaseRate (24); + } + + return FrameRate(); + }(); + + const auto effectiveRate = rate.getEffectiveRate(); + return std::make_tuple (rate, effectiveRate != 0.0 ? ti->smpteOffset / (80.0 * effectiveRate) : 0.0); + }(); info.isRecording = (ti->flags & Vst2::kVstTransportRecording) != 0; info.isPlaying = (ti->flags & (Vst2::kVstTransportRecording | Vst2::kVstTransportPlaying)) != 0; @@ -703,12 +702,7 @@ public: void setParameter (int32 index, float value) { if (auto* param = juceParameters.getParamForIndex (index)) - { - param->setValue (value); - - inParameterChangedCallback = true; - param->sendValueChangedMessageToListeners (value); - } + setValueAndNotifyIfChanged (*param, value); } static void setParameterCB (Vst2::AEffect* vstInterface, int32 index, float value) @@ -850,7 +844,7 @@ public: if (auto* ed = processor->createEditorIfNeeded()) { setHasEditorFlag (true); - editorComp.reset (new EditorCompWrapper (*this, *ed)); + editorComp.reset (new EditorCompWrapper (*this, *ed, editorScaleFactor)); } else { @@ -974,10 +968,15 @@ public: , public Timer #endif { - EditorCompWrapper (JuceVSTWrapper& w, AudioProcessorEditor& editor) + EditorCompWrapper (JuceVSTWrapper& w, AudioProcessorEditor& editor, float initialScale) : wrapper (w) { editor.setOpaque (true); + #if ! JUCE_MAC + editor.setScaleFactor (initialScale); + #else + ignoreUnused (initialScale); + #endif addAndMakeVisible (editor); auto editorBounds = getSizeToContainChild(); @@ -989,7 +988,6 @@ public: #endif setOpaque (true); - ignoreUnused (fakeMouseGenerator); } ~EditorCompWrapper() override @@ -1218,24 +1216,19 @@ public: void setContentScaleFactor (float scale) { - if (! approximatelyEqual (scale, editorScaleFactor)) + if (auto* pluginEditor = getEditorComp()) { - editorScaleFactor = scale; + auto prevEditorBounds = pluginEditor->getLocalArea (this, lastBounds); - if (auto* pluginEditor = getEditorComp()) { - auto prevEditorBounds = pluginEditor->getLocalArea (this, lastBounds); - - { - const ScopedValueSetter resizingChildSetter (resizingChild, true); + const ScopedValueSetter resizingChildSetter (resizingChild, true); - pluginEditor->setScaleFactor (editorScaleFactor); - pluginEditor->setBounds (prevEditorBounds.withPosition (0, 0)); - } - - lastBounds = getSizeToContainChild(); - updateWindowSize(); + pluginEditor->setScaleFactor (scale); + pluginEditor->setBounds (prevEditorBounds.withPosition (0, 0)); } + + lastBounds = getSizeToContainChild(); + updateWindowSize(); } } @@ -1259,7 +1252,7 @@ public: { auto hostWindowScale = (float) getScaleFactorForWindow ((HostWindowType) hostWindow); - if (hostWindowScale > 0.0f && ! approximatelyEqual (hostWindowScale, editorScaleFactor)) + if (hostWindowScale > 0.0f && ! approximatelyEqual (hostWindowScale, wrapper.editorScaleFactor)) wrapper.handleSetContentScaleFactor (hostWindowScale); } @@ -1296,10 +1289,8 @@ public: //============================================================================== JuceVSTWrapper& wrapper; - FakeMouseMoveGenerator fakeMouseGenerator; bool resizingChild = false, resizingParent = false; - float editorScaleFactor = 1.0f; juce::Rectangle lastBounds; #if JUCE_LINUX || JUCE_BSD @@ -1433,6 +1424,15 @@ private: static void checkWhetherMessageThreadIsCorrect() {} #endif + void setValueAndNotifyIfChanged (AudioProcessorParameter& param, float newValue) + { + if (param.getValue() == newValue) + return; + + inParameterChangedCallback = true; + param.setValueNotifyingHost (newValue); + } + //============================================================================== template void deleteTempChannels (VstTempBuffers& tmpBuffers) @@ -1716,12 +1716,7 @@ private: { if (! LegacyAudioParameter::isLegacy (param)) { - auto value = param->getValueForText (String::fromUTF8 ((char*) args.ptr)); - param->setValue (value); - - inParameterChangedCallback = true; - param->sendValueChangedMessageToListeners (value); - + setValueAndNotifyIfChanged (*param, param->getValueForText (String::fromUTF8 ((char*) args.ptr))); return 1; } } @@ -1994,9 +1989,18 @@ private: pointer_sized_int handleSetContentScaleFactor (float scale) { + checkWhetherMessageThreadIsCorrect(); + const MessageManagerLock mmLock; + #if ! JUCE_MAC - if (editorComp != nullptr) - editorComp->setContentScaleFactor (scale); + if (! approximatelyEqual (scale, editorScaleFactor)) + { + editorScaleFactor = scale; + + if (editorComp != nullptr) + editorComp->setContentScaleFactor (editorScaleFactor); + } + #else ignoreUnused (scale); #endif @@ -2066,6 +2070,7 @@ private: CriticalSection stateInformationLock; juce::MemoryBlock chunkMemory; uint32 chunkMemoryTime = 0; + float editorScaleFactor = 1.0f; std::unique_ptr editorComp; Vst2::ERect editorRect; MidiBuffer midiEvents; diff --git a/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.mm b/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.mm index 92944250..d943e8be 100644 --- a/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.mm +++ b/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.mm @@ -35,7 +35,6 @@ #include "../utility/juce_IncludeSystemHeaders.h" #include "../utility/juce_IncludeModuleHeaders.h" -#include "../utility/juce_FakeMouseMoveGenerator.h" #include "../utility/juce_CarbonVisibility.h" //============================================================================== diff --git a/modules/juce_audio_plugin_client/VST3/juce_VST3_Wrapper.cpp b/modules/juce_audio_plugin_client/VST3/juce_VST3_Wrapper.cpp index 570763f1..e5eac010 100644 --- a/modules/juce_audio_plugin_client/VST3/juce_VST3_Wrapper.cpp +++ b/modules/juce_audio_plugin_client/VST3/juce_VST3_Wrapper.cpp @@ -29,6 +29,8 @@ //============================================================================== #if JucePlugin_Build_VST3 && (JUCE_MAC || JUCE_WINDOWS || JUCE_LINUX || JUCE_BSD) +JUCE_BEGIN_NO_SANITIZE ("vptr") + #if JUCE_PLUGINHOST_VST3 #if JUCE_MAC #include @@ -46,7 +48,6 @@ #include "../utility/juce_IncludeSystemHeaders.h" #include "../utility/juce_IncludeModuleHeaders.h" #include "../utility/juce_WindowsHooks.h" -#include "../utility/juce_FakeMouseMoveGenerator.h" #include "../utility/juce_LinuxMessageThread.h" #include #include @@ -63,6 +64,7 @@ namespace Vst2 { + struct AEffect; #include "pluginterfaces/vst2.x/vstfxstore.h" } @@ -467,6 +469,8 @@ public: Vst::ParamID getProgramParamID() const noexcept { return programParamID; } bool isBypassRegularParameter() const noexcept { return bypassIsRegularParameter; } + int findCacheIndexForParamID (Vst::ParamID paramID) const noexcept { return vstParamIDs.indexOf (paramID); } + void setParameterValue (Steinberg::int32 paramIndex, float value) { cachedParamValues.set (paramIndex, value); @@ -488,18 +492,6 @@ public: private: //============================================================================== - bool isBypassPartOfRegularParemeters() const - { - int n = juceParameters.getNumParameters(); - - if (auto* bypassParam = audioProcessor->getBypassParameter()) - for (int i = 0; i < n; ++i) - if (juceParameters.getParamForIndex (i) == bypassParam) - return true; - - return false; - } - void setupParameters() { parameterGroups = audioProcessor->getParameterTree().getSubgroups (true); @@ -540,13 +532,13 @@ private: // if the bypass parameter is not part of the exported parameters that the plug-in supports // then add it to the end of the list as VST3 requires the bypass parameter to be exported! - bypassIsRegularParameter = isBypassPartOfRegularParemeters(); + bypassIsRegularParameter = juceParameters.contains (audioProcessor->getBypassParameter()); if (! bypassIsRegularParameter) - juceParameters.params.add (bypassParameter); + juceParameters.addNonOwning (bypassParameter); int i = 0; - for (auto* juceParam : juceParameters.params) + for (auto* juceParam : juceParameters) { bool isBypassParameter = (juceParam == bypassParameter); @@ -578,7 +570,7 @@ private: 0, numPrograms - 1, audioProcessor->getCurrentProgram()); - juceParameters.params.add (ownedProgramParameter.get()); + juceParameters.addNonOwning (ownedProgramParameter.get()); if (forceLegacyParamIDs) programParamID = static_cast (i++); @@ -632,6 +624,15 @@ class JuceVST3Component; static thread_local bool inParameterChangedCallback = false; +static void setValueAndNotifyIfChanged (AudioProcessorParameter& param, float newValue) +{ + if (param.getValue() == newValue) + return; + + const InParameterChangedCallbackSetter scopedSetter { inParameterChangedCallback }; + param.setValueNotifyingHost (newValue); +} + //============================================================================== class JuceVST3EditController : public Vst::EditController, public Vst::IMidiMapping, @@ -755,14 +756,7 @@ public: // otherwise we get parallel streams of parameter value updates // during playback if (! owner.vst3IsPlaying) - { - auto value = static_cast (v); - - param.setValue (value); - - const InParameterChangedCallbackSetter scopedSetter { inParameterChangedCallback }; - param.sendValueChangedMessageToListeners (value); - } + setValueAndNotifyIfChanged (param, (float) v); changed(); return true; @@ -829,20 +823,17 @@ public: bool setNormalized (Vst::ParamValue v) override { - auto programValue = roundToInt (toPlain (v)); + const auto programValue = getProgramValueFromNormalised (v); - if (isPositiveAndBelow (programValue, owner.getNumPrograms())) - { - if (programValue != owner.getCurrentProgram()) - owner.setCurrentProgram (programValue); + if (programValue != owner.getCurrentProgram()) + owner.setCurrentProgram (programValue); - if (valueNormalized != v) - { - valueNormalized = v; - changed(); + if (valueNormalized != v) + { + valueNormalized = v; + changed(); - return true; - } + return true; } return false; @@ -875,8 +866,13 @@ public: return String (CharPointer_UTF16 (reinterpret_cast (text))); } - Vst::ParamValue toPlain (Vst::ParamValue v) const override { return v * (info.stepCount + 1); } - Vst::ParamValue toNormalized (Vst::ParamValue v) const override { return v / (info.stepCount + 1); } + Steinberg::int32 getProgramValueFromNormalised (Vst::ParamValue v) const + { + return jmin (info.stepCount, (Steinberg::int32) (v * (info.stepCount + 1))); + } + + Vst::ParamValue toPlain (Vst::ParamValue v) const override { return getProgramValueFromNormalised (v); } + Vst::ParamValue toNormalized (Vst::ParamValue v) const override { return v / info.stepCount; } private: AudioProcessor& owner; @@ -1237,10 +1233,10 @@ public: { if (details.programChanged) { - if (auto* programParameter = audioProcessor->getProgramParameter()) + const auto programParameterId = audioProcessor->getProgramParamID(); + + if (audioProcessor->getParamForVSTParamID (programParameterId) != nullptr) { - const auto programParameterIndex = programParameter->getParameterIndex(); - const auto programParameterId = audioProcessor->getProgramParamID(); const auto currentProgram = pluginInstance->getCurrentProgram(); const auto paramValue = roundToInt (EditController::normalizedParamToPlain (programParameterId, EditController::getParamNormalized (programParameterId))); @@ -1248,7 +1244,7 @@ public: if (currentProgram != paramValue) { beginGesture (programParameterId); - paramChanged (programParameterIndex, + paramChanged (audioProcessor->findCacheIndexForParamID (programParameterId), programParameterId, EditController::plainParamToNormalized (programParameterId, currentProgram)); endGesture (programParameterId); @@ -1267,8 +1263,13 @@ public: } } - if (! inSetupProcessing) - componentRestarter.restart (flags); + if (details.nonParameterStateChanged) + flags |= pluginShouldBeMarkedDirtyFlag; + + if (inSetupProcessing) + flags &= Vst::kLatencyChanged; + + componentRestarter.restart (flags); } //============================================================================== @@ -1280,6 +1281,8 @@ public: return nullptr; } + static constexpr auto pluginShouldBeMarkedDirtyFlag = 1 << 16; + private: friend class JuceVST3Component; friend struct Param; @@ -1301,6 +1304,11 @@ private: void restartComponentOnMessageThread (int32 flags) override { + if ((flags & pluginShouldBeMarkedDirtyFlag) != 0) + setDirty (true); + + flags &= ~pluginShouldBeMarkedDirtyFlag; + if (auto* handler = componentHandler) handler->restartComponent (flags); } @@ -1309,17 +1317,25 @@ private: struct OwnedParameterListener : public AudioProcessorParameter::Listener { OwnedParameterListener (JuceVST3EditController& editController, - AudioProcessorParameter& juceParameter, - Vst::ParamID paramID) + AudioProcessorParameter& parameter, + Vst::ParamID paramID, + int cacheIndex) : owner (editController), - vstParamID (paramID) + vstParamID (paramID), + parameterIndex (cacheIndex) { - juceParameter.addListener (this); + // We shouldn't be using an OwnedParameterListener for parameters that have + // been added directly to the AudioProcessor. We observe those via the + // normal audioProcessorParameterChanged mechanism. + jassert (parameter.getParameterIndex() == -1); + // The parameter must have a non-negative index in the parameter cache. + jassert (parameterIndex >= 0); + parameter.addListener (this); } - void parameterValueChanged (int index, float newValue) override + void parameterValueChanged (int, float newValue) override { - owner.paramChanged (index, vstParamID, newValue); + owner.paramChanged (parameterIndex, vstParamID, newValue); } void parameterGestureChanged (int, bool gestureIsStarting) override @@ -1331,7 +1347,8 @@ private: } JuceVST3EditController& owner; - Vst::ParamID vstParamID; + const Vst::ParamID vstParamID = Vst::kNoParamId; + const int parameterIndex = -1; }; std::vector> ownedParameterListeners; @@ -1389,9 +1406,13 @@ private: // as the bypass is not part of the regular parameters we need to listen for it explicitly if (! audioProcessor->isBypassRegularParameter()) + { + const auto paramID = audioProcessor->getBypassParamID(); ownedParameterListeners.push_back (std::make_unique (*this, - *audioProcessor->getBypassParameter(), - audioProcessor->getBypassParamID())); + *audioProcessor->getParamForVSTParamID (paramID), + paramID, + audioProcessor->findCacheIndexForParamID (paramID))); + } if (parameters.getParameterCount() <= 0) { @@ -1412,11 +1433,14 @@ private: (vstParamID == audioProcessor->getBypassParamID()))); } - if (auto* programParam = audioProcessor->getProgramParameter()) + const auto programParamId = audioProcessor->getProgramParamID(); + + if (auto* programParam = audioProcessor->getParamForVSTParamID (programParamId)) { ownedParameterListeners.push_back (std::make_unique (*this, *programParam, - audioProcessor->getProgramParamID())); + programParamId, + audioProcessor->findCacheIndexForParamID (programParamId))); parameters.addParameter (new ProgramChangeParameter (*pluginInstance, audioProcessor->getProgramParamID())); } @@ -1466,8 +1490,9 @@ private: class EditorContextMenu : public HostProvidedContextMenu { public: - EditorContextMenu (VSTComSmartPtr contextMenuIn) - : contextMenu (contextMenuIn) {} + EditorContextMenu (AudioProcessorEditor& editorIn, + VSTComSmartPtr contextMenuIn) + : editor (editorIn), contextMenu (contextMenuIn) {} PopupMenu getEquivalentPopupMenu() const override { @@ -1536,10 +1561,12 @@ private: void showNativeMenu (Point pos) const override { - contextMenu->popup (pos.x, pos.y); + const auto scaled = pos * Component::getApproximateScaleFactorForComponent (&editor); + contextMenu->popup (scaled.x, scaled.y); } private: + AudioProcessorEditor& editor; VSTComSmartPtr contextMenu; }; @@ -1547,9 +1574,10 @@ private: { public: EditorHostContext (JuceAudioProcessor& processorIn, + AudioProcessorEditor& editorIn, Steinberg::Vst::IComponentHandler* handler, Steinberg::IPlugView* viewIn) - : processor (processorIn), componentHandler (handler), view (viewIn) {} + : processor (processorIn), editor (editorIn), componentHandler (handler), view (viewIn) {} std::unique_ptr getContextMenuForParameterIndex (const AudioProcessorParameter* parameter) const override { @@ -1563,11 +1591,12 @@ private: const auto idToUse = parameter != nullptr ? processor.getVSTParamIDForIndex (parameter->getParameterIndex()) : 0; const auto menu = VSTComSmartPtr (handler->createContextMenu (view, &idToUse)); - return std::make_unique (menu); + return std::make_unique (editor, menu); } private: JuceAudioProcessor& processor; + AudioProcessorEditor& editor; Steinberg::Vst::IComponentHandler* componentHandler = nullptr; Steinberg::IPlugView* view = nullptr; }; @@ -1580,7 +1609,6 @@ private: public: JuceVST3Editor (JuceVST3EditController& ec, JuceAudioProcessor& p) : EditorView (&ec, nullptr), - editorHostContext (p, ec.getComponentHandler(), this), owner (&ec), pluginInstance (*p.get()) { @@ -1900,8 +1928,6 @@ private: { setOpaque (true); setBroughtToFrontOnMouseClick (true); - - ignoreUnused (fakeMouseGenerator); } ~ContentWrapperComponent() override @@ -1919,7 +1945,15 @@ private: if (pluginEditor != nullptr) { - pluginEditor->setHostContext (&owner.editorHostContext); + editorHostContext = std::make_unique (*owner.owner->audioProcessor, + *pluginEditor, + owner.owner->getComponentHandler(), + &owner); + + pluginEditor->setHostContext (editorHostContext.get()); + #if ! JUCE_MAC + pluginEditor->setScaleFactor (owner.editorScaleFactor); + #endif addAndMakeVisible (pluginEditor.get()); pluginEditor->setTopLeftPosition (0, 0); @@ -2065,7 +2099,7 @@ private: private: JuceVST3Editor& owner; - FakeMouseMoveGenerator fakeMouseGenerator; + std::unique_ptr editorHostContext; Rectangle lastBounds; bool resizingChild = false, resizingParent = false; @@ -2088,8 +2122,6 @@ private: //============================================================================== ScopedJuceInitialiser_GUI libraryInitialiser; - EditorHostContext editorHostContext; - #if JUCE_LINUX || JUCE_BSD SharedResourcePointer messageThread; SharedResourcePointer eventHandler; @@ -2349,13 +2381,7 @@ public: void setBypassed (bool shouldBeBypassed) { if (auto* bypassParam = comPluginInstance->getBypassParameter()) - { - auto floatValue = (shouldBeBypassed ? 1.0f : 0.0f); - bypassParam->setValue (floatValue); - - const InParameterChangedCallbackSetter scopedSetter { inParameterChangedCallback }; - bypassParam->sendValueChangedMessageToListeners (floatValue); - } + setValueAndNotifyIfChanged (*bypassParam, shouldBeBypassed ? 1.0f : 0.0f); } //============================================================================== @@ -2718,51 +2744,14 @@ public: info.frameRate = [&] { if ((processContext.state & Vst::ProcessContext::kSmpteValid) == 0) - return fpsUnknown; - - const auto interpretFlags = [&] (FrameRateType basicRate, - FrameRateType pullDownRate, - FrameRateType dropRate, - FrameRateType pullDownDropRate) - { - switch (processContext.frameRate.flags & (Vst::FrameRate::kPullDownRate | Vst::FrameRate::kDropRate)) - { - case Vst::FrameRate::kPullDownRate | Vst::FrameRate::kDropRate: - return pullDownDropRate; - - case Vst::FrameRate::kPullDownRate: - return pullDownRate; + return FrameRate(); - case Vst::FrameRate::kDropRate: - return dropRate; - } - - return basicRate; - }; - - switch (processContext.frameRate.framesPerSecond) - { - case 24: - return interpretFlags (fps24, fps23976, fps24, fps23976); - - case 25: - return interpretFlags (fps25, fps25, fps25, fps25); - - case 30: - return interpretFlags (fps30, fps2997, fps30drop, fps2997drop); - - case 60: - return interpretFlags (fps60, fps60, fps60drop, fps60drop); - } - - return fpsUnknown; + return FrameRate().withBaseRate ((int) processContext.frameRate.framesPerSecond) + .withDrop ((processContext.frameRate.flags & Vst::FrameRate::kDropRate) != 0) + .withPullDown ((processContext.frameRate.flags & Vst::FrameRate::kPullDownRate) != 0); }(); - const auto baseFps = (double) processContext.frameRate.framesPerSecond; - const auto effectiveFps = (processContext.frameRate.flags & Vst::FrameRate::kPullDownRate) != 0 - ? baseFps * 1000.0 / 1001.0 - : baseFps; - info.editOriginTime = (double) processContext.smpteOffsetSubframes / (80.0 * effectiveFps); + info.editOriginTime = (double) processContext.smpteOffsetSubframes / (80.0 * info.frameRate.getEffectiveRate()); return true; } @@ -3095,15 +3084,8 @@ public: else #endif { - auto floatValue = static_cast (value); - if (auto* param = comPluginInstance->getParamForVSTParamID (vstParamID)) - { - param->setValue (floatValue); - - const InParameterChangedCallbackSetter scopedSetter { inParameterChangedCallback }; - param->sendValueChangedMessageToListeners (floatValue); - } + setValueAndNotifyIfChanged (*param, (float) value); } } } @@ -3986,4 +3968,6 @@ extern "C" SMTG_EXPORT_SYMBOL IPluginFactory* PLUGIN_API GetPluginFactory() extern "C" BOOL WINAPI DllMain (HINSTANCE instance, DWORD reason, LPVOID) { if (reason == DLL_PROCESS_ATTACH) Process::setCurrentModuleInstanceHandle (instance); return true; } #endif +JUCE_END_NO_SANITIZE + #endif //JucePlugin_Build_VST3 diff --git a/modules/juce_audio_plugin_client/juce_audio_plugin_client.h b/modules/juce_audio_plugin_client/juce_audio_plugin_client.h index 7cee1d92..880012b9 100644 --- a/modules/juce_audio_plugin_client/juce_audio_plugin_client.h +++ b/modules/juce_audio_plugin_client/juce_audio_plugin_client.h @@ -35,7 +35,7 @@ ID: juce_audio_plugin_client vendor: juce - version: 6.1.0 + version: 6.1.3 name: JUCE audio plugin wrapper classes description: Classes for building VST, VST3, AudioUnit, AAX and RTAS plugins. website: http://www.juce.com/juce diff --git a/modules/juce_audio_plugin_client/utility/juce_FakeMouseMoveGenerator.h b/modules/juce_audio_plugin_client/utility/juce_FakeMouseMoveGenerator.h deleted file mode 100644 index 789cff55..00000000 --- a/modules/juce_audio_plugin_client/utility/juce_FakeMouseMoveGenerator.h +++ /dev/null @@ -1,119 +0,0 @@ -/* - ============================================================================== - - This file is part of the JUCE library. - Copyright (c) 2020 - Raw Material Software Limited - - JUCE is an open source library subject to commercial or open-source - licensing. - - By using JUCE, you agree to the terms of both the JUCE 6 End-User License - Agreement and JUCE Privacy Policy (both effective as of the 16th June 2020). - - End User License Agreement: www.juce.com/juce-6-licence - Privacy Policy: www.juce.com/juce-privacy-policy - - Or: You may also use this code under the terms of the GPL v3 (see - www.gnu.org/licenses). - - JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER - EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE - DISCLAIMED. - - ============================================================================== -*/ - -namespace juce -{ - -#ifndef DOXYGEN - -#if JUCE_MAC - -//============================================================================== -// Helper class to workaround windows not getting mouse-moves... -class FakeMouseMoveGenerator : private Timer -{ -public: - FakeMouseMoveGenerator() - { - startTimer (1000 / 30); - } - - static bool componentContainsAudioProcessorEditor (Component* comp) noexcept - { - if (dynamic_cast (comp) != nullptr) - return true; - - for (auto* child : comp->getChildren()) - if (componentContainsAudioProcessorEditor (child)) - return true; - - return false; - } - - void timerCallback() override - { - // Workaround for windows not getting mouse-moves... - auto screenPos = Desktop::getInstance().getMainMouseSource().getScreenPosition(); - - if (screenPos != lastScreenPos) - { - lastScreenPos = screenPos; - auto mods = ModifierKeys::currentModifiers; - - if (! mods.isAnyMouseButtonDown()) - { - if (auto* comp = Desktop::getInstance().findComponentAt (screenPos.roundToInt())) - { - if (componentContainsAudioProcessorEditor (comp->getTopLevelComponent())) - { - safeOldComponent = comp; - - if (auto* peer = comp->getPeer()) - { - if (! peer->isFocused()) - { - peer->handleMouseEvent (MouseInputSource::InputSourceType::mouse, - peer->globalToLocal (Desktop::getInstance().getMainMouseSource().getRawScreenPosition()), - mods, - MouseInputSource::invalidPressure, - MouseInputSource::invalidOrientation, - Time::currentTimeMillis()); - } - } - - return; - } - } - - if (safeOldComponent != nullptr) - { - if (auto* peer = safeOldComponent->getPeer()) - { - peer->handleMouseEvent (MouseInputSource::InputSourceType::mouse, - MouseInputSource::offscreenMousePos, - mods, - MouseInputSource::invalidPressure, - MouseInputSource::invalidOrientation, - Time::currentTimeMillis()); - } - } - - safeOldComponent = nullptr; - } - } - } - -private: - Point lastScreenPos; - WeakReference safeOldComponent; -}; - -#else -struct FakeMouseMoveGenerator {}; -#endif - -#endif - -} // namespace juce diff --git a/modules/juce_audio_plugin_client/utility/juce_LinuxMessageThread.h b/modules/juce_audio_plugin_client/utility/juce_LinuxMessageThread.h index b412caf0..289ffeae 100644 --- a/modules/juce_audio_plugin_client/utility/juce_LinuxMessageThread.h +++ b/modules/juce_audio_plugin_client/utility/juce_LinuxMessageThread.h @@ -33,6 +33,7 @@ namespace juce // Implemented in juce_linux_Messaging.cpp bool dispatchNextMessageOnSystemQueue (bool returnIfNoPendingMessages); +/** @internal */ class MessageThread { public: diff --git a/modules/juce_audio_plugin_client/utility/juce_PluginUtilities.cpp b/modules/juce_audio_plugin_client/utility/juce_PluginUtilities.cpp index 2c60956b..4144fc43 100644 --- a/modules/juce_audio_plugin_client/utility/juce_PluginUtilities.cpp +++ b/modules/juce_audio_plugin_client/utility/juce_PluginUtilities.cpp @@ -48,17 +48,29 @@ namespace juce // NB: Nasty old-fashioned code in here because it's copied from the Steinberg example code. void JUCE_API getUUIDForVST2ID (bool forControllerUID, uint8 uuid[16]) { + #if JUCE_MSVC + const auto juce_sprintf = [] (auto&& head, auto&&... tail) { sprintf_s (head, numElementsInArray (head), tail...); }; + const auto juce_strcpy = [] (auto&& head, auto&&... tail) { strcpy_s (head, numElementsInArray (head), tail...); }; + const auto juce_strcat = [] (auto&& head, auto&&... tail) { strcat_s (head, numElementsInArray (head), tail...); }; + const auto juce_sscanf = [] (auto&&... args) { sscanf_s (args...); }; + #else + const auto juce_sprintf = [] (auto&&... args) { sprintf (args...); }; + const auto juce_strcpy = [] (auto&&... args) { strcpy (args...); }; + const auto juce_strcat = [] (auto&&... args) { strcat (args...); }; + const auto juce_sscanf = [] (auto&&... args) { sscanf (args...); }; + #endif + char uidString[33]; const int vstfxid = (('V' << 16) | ('S' << 8) | (forControllerUID ? 'E' : 'T')); char vstfxidStr[7] = { 0 }; - sprintf (vstfxidStr, "%06X", vstfxid); + juce_sprintf (vstfxidStr, "%06X", vstfxid); - strcpy (uidString, vstfxidStr); + juce_strcpy (uidString, vstfxidStr); char uidStr[9] = { 0 }; - sprintf (uidStr, "%08X", JucePlugin_VSTUniqueID); - strcat (uidString, uidStr); + juce_sprintf (uidStr, "%08X", JucePlugin_VSTUniqueID); + juce_strcat (uidString, uidStr); char nameidStr[3] = { 0 }; const size_t len = strlen (JucePlugin_Name); @@ -70,21 +82,16 @@ namespace juce if (c >= 'A' && c <= 'Z') c += 'a' - 'A'; - sprintf (nameidStr, "%02X", c); - strcat (uidString, nameidStr); + juce_sprintf (nameidStr, "%02X", c); + juce_strcat (uidString, nameidStr); } unsigned long p0; unsigned int p1, p2; unsigned int p3[8]; - #if ! JUCE_MSVC - sscanf - #else - sscanf_s - #endif - (uidString, "%08lX%04X%04X%02X%02X%02X%02X%02X%02X%02X%02X", - &p0, &p1, &p2, &p3[0], &p3[1], &p3[2], &p3[3], &p3[4], &p3[5], &p3[6], &p3[7]); + juce_sscanf (uidString, "%08lX%04X%04X%02X%02X%02X%02X%02X%02X%02X%02X", + &p0, &p1, &p2, &p3[0], &p3[1], &p3[2], &p3[3], &p3[4], &p3[5], &p3[6], &p3[7]); union q0_u { uint32 word; diff --git a/modules/juce_audio_processors/format_types/juce_AU_Shared.h b/modules/juce_audio_processors/format_types/juce_AU_Shared.h index 86f33b1f..5a907e7c 100644 --- a/modules/juce_audio_processors/format_types/juce_AU_Shared.h +++ b/modules/juce_audio_processors/format_types/juce_AU_Shared.h @@ -65,7 +65,7 @@ struct AudioUnitHelpers outputLayoutMapStorage.free(); } - inline const int* get (bool input, int bus) const noexcept { return (input ? inputLayoutMap : outputLayoutMap) [bus]; } + inline const int* get (bool input, int bus) const noexcept { return (input ? inputLayoutMap : outputLayoutMap)[bus]; } private: //============================================================================== @@ -119,15 +119,24 @@ struct AudioUnitHelpers class CoreAudioBufferList { public: - CoreAudioBufferList() { reset(); } - - //============================================================================== - void prepare (int inChannels, int outChannels, int maxFrames) + void prepare (const AudioProcessor::BusesLayout& layout, int maxFrames) { - const int numChannels = jmax (inChannels, outChannels); + const auto getChannelOffsets = [] (const auto& range) + { + std::vector result { 0 }; + + for (const auto& bus : range) + result.push_back (result.back() + bus.size()); + return result; + }; + + inputBusOffsets = getChannelOffsets (layout.inputBuses); + outputBusOffsets = getChannelOffsets (layout.outputBuses); + + const auto numChannels = jmax (inputBusOffsets.back(), outputBusOffsets.back()); scratch.setSize (numChannels, maxFrames); - channels.calloc (static_cast (numChannels)); + channels.resize (static_cast (numChannels), nullptr); reset(); } @@ -135,106 +144,107 @@ struct AudioUnitHelpers void release() { scratch.setSize (0, 0); - channels.free(); + channels = {}; + inputBusOffsets = outputBusOffsets = std::vector(); } - void reset() noexcept + void reset() { - pushIdx = 0; - popIdx = 0; - zeromem (channels.get(), sizeof(float*) * static_cast (scratch.getNumChannels())); + std::fill (channels.begin(), channels.end(), nullptr); } - //============================================================================== float* setBuffer (const int idx, float* ptr = nullptr) noexcept { jassert (idx < scratch.getNumChannels()); - return (channels [idx] = uniqueBuffer (idx, ptr)); + return channels[(size_t) idx] = uniqueBuffer (idx, ptr); } - //============================================================================== - float* push() noexcept + AudioBuffer& getBuffer (UInt32 frames) noexcept { - jassert (pushIdx < scratch.getNumChannels()); - return channels [pushIdx++]; + #if JUCE_DEBUG + for (int i = 0; i < (int) channels.size(); ++i) + jassert (channels[(size_t) i] != nullptr); + #endif + + mutableBuffer.setDataToReferTo (channels.data(), (int) channels.size(), static_cast (frames)); + return mutableBuffer; } - void push (AudioBufferList& bufferList, const int* channelMap) noexcept + void set (int bus, AudioBufferList& bufferList, const int* channelMap) noexcept { - jassert (pushIdx < scratch.getNumChannels()); + if (bufferList.mNumberBuffers <= 0 || ! isPositiveAndBelow (bus, inputBusOffsets.size() - 1)) + return; - if (bufferList.mNumberBuffers > 0) - { - const UInt32 n = bufferList.mBuffers [0].mDataByteSize / - (bufferList.mBuffers [0].mNumberChannels * sizeof (float)); - const bool isInterleaved = isAudioBufferInterleaved (bufferList); - const int numChannels = static_cast (isInterleaved ? bufferList.mBuffers [0].mNumberChannels + const auto n = (UInt32) (bufferList.mBuffers[0].mDataByteSize / (bufferList.mBuffers[0].mNumberChannels * sizeof (float))); + const auto isInterleaved = isAudioBufferInterleaved (bufferList); + const auto numChannels = (int) (isInterleaved ? bufferList.mBuffers[0].mNumberChannels : bufferList.mNumberBuffers); - for (int ch = 0; ch < numChannels; ++ch) - { - float* data = push(); + for (int ch = 0; ch < numChannels; ++ch) + { + float* data = channels[(size_t) (inputBusOffsets[(size_t) bus] + ch)]; + + const auto mappedChannel = channelMap[ch]; - int mappedChannel = channelMap [ch]; - if (isInterleaved || static_cast (bufferList.mBuffers [mappedChannel].mData) != data) - copyAudioBuffer (bufferList, mappedChannel, n, data); - } + if (isInterleaved || static_cast (bufferList.mBuffers[mappedChannel].mData) != data) + copyAudioBuffer (bufferList, mappedChannel, n, data); } } - //============================================================================== - float* pop() noexcept + void get (int bus, AudioBufferList& buffer, const int* channelMap) noexcept { - jassert (popIdx < scratch.getNumChannels()); - return channels[popIdx++]; - } + if (buffer.mNumberBuffers <= 0 || ! isPositiveAndBelow (bus, outputBusOffsets.size() - 1)) + return; - void pop (AudioBufferList& buffer, const int* channelMap) noexcept - { - if (buffer.mNumberBuffers > 0) + const auto n = (UInt32) (buffer.mBuffers[0].mDataByteSize / (buffer.mBuffers[0].mNumberChannels * sizeof (float))); + const auto isInterleaved = isAudioBufferInterleaved (buffer); + const auto numChannels = (int) (isInterleaved ? buffer.mBuffers[0].mNumberChannels + : buffer.mNumberBuffers); + + for (int ch = 0; ch < numChannels; ++ch) { - const UInt32 n = buffer.mBuffers [0].mDataByteSize / (buffer.mBuffers [0].mNumberChannels * sizeof (float)); - const bool isInterleaved = isAudioBufferInterleaved (buffer); - const int numChannels = static_cast (isInterleaved ? buffer.mBuffers [0].mNumberChannels : buffer.mNumberBuffers); - - for (int ch = 0; ch < numChannels; ++ch) - { - int mappedChannel = channelMap [ch]; - float* nextBuffer = pop(); - - if (nextBuffer == buffer.mBuffers [mappedChannel].mData && ! isInterleaved) - continue; // no copying necessary - - if (buffer.mBuffers [mappedChannel].mData == nullptr && ! isInterleaved) - buffer.mBuffers [mappedChannel].mData = nextBuffer; - else - copyAudioBuffer (nextBuffer, mappedChannel, n, buffer); - } + float* data = channels[(size_t) (outputBusOffsets[(size_t) bus] + ch)]; + + const auto mappedChannel = channelMap[ch]; + + if (data == buffer.mBuffers[mappedChannel].mData && ! isInterleaved) + continue; // no copying necessary + + if (buffer.mBuffers[mappedChannel].mData == nullptr && ! isInterleaved) + buffer.mBuffers[mappedChannel].mData = data; + else + copyAudioBuffer (data, mappedChannel, n, buffer); } } - //============================================================================== - AudioBuffer& getBuffer (UInt32 frames) noexcept + void clearInputBus (int index) { - jassert (pushIdx == scratch.getNumChannels()); + if (isPositiveAndBelow (index, inputBusOffsets.size() - 1)) + clearChannels (inputBusOffsets[(size_t) index], inputBusOffsets[(size_t) (index + 1)]); + } - #if JUCE_DEBUG - for (int i = 0; i < pushIdx; ++i) - jassert (channels [i] != nullptr); - #endif + void clearUnusedChannels() + { + jassert (! inputBusOffsets .empty()); + jassert (! outputBusOffsets.empty()); - mutableBuffer.setDataToReferTo (channels, pushIdx, static_cast (frames)); - return mutableBuffer; + clearChannels (inputBusOffsets.back(), outputBusOffsets.back()); } private: + void clearChannels (int begin, int end) + { + for (auto i = begin; i < end; ++i) + zeromem (scratch.getWritePointer (i), sizeof (float) * (size_t) scratch.getNumSamples()); + } + float* uniqueBuffer (int idx, float* buffer) noexcept { if (buffer == nullptr) return scratch.getWritePointer (idx); for (int ch = 0; ch < idx; ++ch) - if (buffer == channels[ch]) + if (buffer == channels[(size_t) ch]) return scratch.getWritePointer (idx); return buffer; @@ -242,8 +252,8 @@ struct AudioUnitHelpers //============================================================================== AudioBuffer scratch, mutableBuffer; - HeapBlock channels; - int pushIdx, popIdx; + std::vector channels; + std::vector inputBusOffsets, outputBusOffsets; }; static bool isAudioBufferInterleaved (const AudioBufferList& audioBuffer) noexcept @@ -307,7 +317,7 @@ struct AudioUnitHelpers static bool isLayoutSupported (const AudioProcessor& processor, bool isInput, int busIdx, int numChannels, - const short (&channelLayoutList) [numLayouts][2], + const short (&channelLayoutList)[numLayouts][2], bool hasLayoutMap = true) { if (const AudioProcessor::Bus* bus = processor.getBus (isInput, busIdx)) @@ -549,6 +559,6 @@ struct AudioUnitHelpers } }; -#endif // ! DOXYGEN +#endif } // namespace juce diff --git a/modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm b/modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm index 400f0e74..b878bd03 100644 --- a/modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm +++ b/modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm @@ -39,18 +39,7 @@ JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wdeprecated-declarations") #include #endif -#ifndef JUCE_SUPPORTS_AUv3 - #if __OBJC2__ \ - && (JUCE_IOS || (defined (MAC_OS_X_VERSION_10_11) && (MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_11))) - #define JUCE_SUPPORTS_AUv3 1 - #else - #define JUCE_SUPPORTS_AUv3 0 - #endif -#endif - -#if JUCE_SUPPORTS_AUv3 - #include -#endif +#include #include #include @@ -330,7 +319,7 @@ class AudioUnitPluginWindowCarbon; class AudioUnitPluginWindowCocoa; //============================================================================== -class AudioUnitPluginInstance : public AudioPluginInstance +class AudioUnitPluginInstance final : public AudioPluginInstance { public: struct AUInstanceParameter final : public Parameter @@ -488,6 +477,11 @@ public: return auValueStrings; } + String getParameterID() const override + { + return String (paramID); + } + void sendParameterChangeEvent() { #if JUCE_MAC @@ -514,6 +508,9 @@ public: return minValue + (range * normalisedValue); } + UInt32 getRawParamID() const { return paramID; } + + private: AudioUnitPluginInstance& pluginInstance; const UInt32 paramID; const String name; @@ -539,9 +536,7 @@ public: AudioComponentGetDescription (auComponent, &componentDesc); - #if JUCE_SUPPORTS_AUv3 isAUv3 = ((componentDesc.componentFlags & kAudioComponentFlag_IsV3AudioUnit) != 0); - #endif wantsMidiMessages = componentDesc.componentType == kAudioUnitType_MusicDevice || componentDesc.componentType == kAudioUnitType_MusicEffect @@ -598,11 +593,7 @@ public: void cleanup() { #if JUCE_MAC - if (eventListenerRef != nullptr) - { - AUListenerDispose (eventListenerRef); - eventListenerRef = nullptr; - } + disposeEventListener(); #endif if (prepared) @@ -618,7 +609,11 @@ public: setRateAndBufferSizeDetails (rate, blockSize); setLatencySamples (0); refreshParameterList(); - createPluginCallbacks(); + setPluginCallbacks(); + + #if JUCE_MAC + createEventListener(); + #endif return true; } @@ -884,7 +879,7 @@ public: { explicit Extensions (const AudioUnitPluginInstance* instanceIn) : instance (instanceIn) {} - void* getAudioUnitHandle() const noexcept override { return instance->audioUnit; } + AudioUnit getAudioUnitHandle() const noexcept override { return instance->audioUnit; } const AudioUnitPluginInstance* instance = nullptr; }; @@ -918,6 +913,7 @@ public: if (audioUnit != nullptr) { releaseResources(); + setPluginCallbacks(); for (int dir = 0; dir < 2; ++dir) { @@ -1128,15 +1124,13 @@ public: { #if JUCE_MAC return true; - #elif JUCE_SUPPORTS_AUv3 + #else UInt32 dataSize; Boolean isWritable; return (AudioUnitGetPropertyInfo (audioUnit, kAudioUnitProperty_RequestViewController, kAudioUnitScope_Global, 0, &dataSize, &isWritable) == noErr && dataSize == sizeof (uintptr_t) && isWritable != 0); - #else - return false; #endif } @@ -1362,7 +1356,7 @@ public: void refreshParameterList() override { - paramIDToIndex.clear(); + paramIDToParameter.clear(); AudioProcessorParameterGroup newParameterTree; if (audioUnit != nullptr) @@ -1380,11 +1374,10 @@ public: { const size_t numParams = paramListSize / sizeof (int); - HeapBlock ids; - ids.calloc (numParams); + std::vector ids (numParams, 0); AudioUnitGetProperty (audioUnit, kAudioUnitProperty_ParameterList, kAudioUnitScope_Global, - 0, ids, ¶mListSize); + 0, ids.data(), ¶mListSize); std::map groupIDMap; @@ -1398,7 +1391,6 @@ public: kAudioUnitScope_Global, ids[i], &info, &sz) == noErr) { - paramIDToIndex.getReference (ids[i]) = i; String paramName; if ((info.flags & kAudioUnitParameterFlag_HasCFNameString) != 0) @@ -1428,18 +1420,20 @@ public: return {}; }(); - auto* parameter = new AUInstanceParameter (*this, - ids[i], - paramName, - info.minValue, - info.maxValue, - info.defaultValue, - (info.flags & kAudioUnitParameterFlag_NonRealTime) == 0, - isDiscrete, - isDiscrete ? (int) (info.maxValue - info.minValue + 1.0f) : AudioProcessor::getDefaultNumParameterSteps(), - isBoolean, - label, - (info.flags & kAudioUnitParameterFlag_ValuesHaveStrings) != 0); + auto parameter = std::make_unique (*this, + ids[i], + paramName, + info.minValue, + info.maxValue, + info.defaultValue, + (info.flags & kAudioUnitParameterFlag_NonRealTime) == 0, + isDiscrete, + isDiscrete ? (int) (info.maxValue - info.minValue + 1.0f) : AudioProcessor::getDefaultNumParameterSteps(), + isBoolean, + label, + (info.flags & kAudioUnitParameterFlag_ValuesHaveStrings) != 0); + + paramIDToParameter.emplace (ids[i], parameter.get()); if (info.flags & kAudioUnitParameterFlag_HasClump) { @@ -1468,25 +1462,25 @@ public: auto group = std::make_unique (String (info.clumpID), getClumpName(), String()); - group->addChild (std::unique_ptr (parameter)); + group->addChild (std::move (parameter)); groupIDMap[info.clumpID] = group.get(); newParameterTree.addChild (std::move (group)); } else { - groupInfo->second->addChild (std::unique_ptr (parameter)); + groupInfo->second->addChild (std::move (parameter)); } } else { - newParameterTree.addChild (std::unique_ptr (parameter)); + newParameterTree.addChild (std::move (parameter)); } } } } } - setParameterTree (std::move (newParameterTree)); + setHostedParameterTree (std::move (newParameterTree)); UInt32 propertySize = 0; Boolean writable = false; @@ -1552,7 +1546,7 @@ private: }; //============================================================================== - struct AUBypassParameter : Parameter + struct AUBypassParameter final : public Parameter { AUBypassParameter (AudioUnitPluginInstance& effectToUse) : parent (effectToUse), currentValue (getCurrentHostValue()) @@ -1636,6 +1630,8 @@ private: StringArray getAllValueStrings() const override { return values; } String getLabel() const override { return {}; } + String getParameterID() const override { return {}; } + AudioUnitPluginInstance& parent; const StringArray auOnStrings { TRANS("on"), TRANS("yes"), TRANS("true") }; const StringArray auOffStrings { TRANS("off"), TRANS("no"), TRANS("false") }; @@ -1657,7 +1653,7 @@ private: AUEventListenerRef eventListenerRef; #endif - HashMap paramIDToIndex; + std::map paramIDToParameter; MidiDataConcatenator midiConcatenator; CriticalSection midiInLock; @@ -1666,7 +1662,7 @@ private: bool lastProcessBlockCallWasBypass = false, auSupportsBypass = false; bool haveParameterList = false; - void createPluginCallbacks() + void setPluginCallbacks() { if (audioUnit != nullptr) { @@ -1684,55 +1680,67 @@ private: } #endif - { - HostCallbackInfo info; - zerostruct (info); + HostCallbackInfo info; + zerostruct (info); - info.hostUserData = this; - info.beatAndTempoProc = getBeatAndTempoCallback; - info.musicalTimeLocationProc = getMusicalTimeLocationCallback; - info.transportStateProc = getTransportStateCallback; + info.hostUserData = this; + info.beatAndTempoProc = getBeatAndTempoCallback; + info.musicalTimeLocationProc = getMusicalTimeLocationCallback; + info.transportStateProc = getTransportStateCallback; - AudioUnitSetProperty (audioUnit, kAudioUnitProperty_HostCallbacks, - kAudioUnitScope_Global, 0, &info, sizeof (info)); - } - #if JUCE_MAC - AUEventListenerCreate (eventListenerCallback, this, CFRunLoopGetMain(), - kCFRunLoopDefaultMode, 0, 0, &eventListenerRef); + AudioUnitSetProperty (audioUnit, kAudioUnitProperty_HostCallbacks, + kAudioUnitScope_Global, 0, &info, sizeof (info)); + } + } - for (auto* param : getParameters()) - { - if (auto* auParam = dynamic_cast (param)) - { - AudioUnitEvent event; - event.mArgument.mParameter.mAudioUnit = audioUnit; - event.mArgument.mParameter.mParameterID = auParam->paramID; - event.mArgument.mParameter.mScope = kAudioUnitScope_Global; - event.mArgument.mParameter.mElement = 0; + #if JUCE_MAC + void disposeEventListener() + { + if (eventListenerRef != nullptr) + { + AUListenerDispose (eventListenerRef); + eventListenerRef = nullptr; + } + } - event.mEventType = kAudioUnitEvent_ParameterValueChange; - AUEventListenerAddEventType (eventListenerRef, nullptr, &event); + void createEventListener() + { + if (audioUnit == nullptr) + return; - event.mEventType = kAudioUnitEvent_BeginParameterChangeGesture; - AUEventListenerAddEventType (eventListenerRef, nullptr, &event); + disposeEventListener(); - event.mEventType = kAudioUnitEvent_EndParameterChangeGesture; - AUEventListenerAddEventType (eventListenerRef, nullptr, &event); - } - } + AUEventListenerCreate (eventListenerCallback, this, CFRunLoopGetMain(), + kCFRunLoopDefaultMode, 0, 0, &eventListenerRef); - addPropertyChangeListener (kAudioUnitProperty_PresentPreset); - addPropertyChangeListener (kAudioUnitProperty_ParameterList); - addPropertyChangeListener (kAudioUnitProperty_Latency); - addPropertyChangeListener (kAudioUnitProperty_BypassEffect); - #endif + for (auto* param : getParameters()) + { + jassert (dynamic_cast (param) != nullptr); + + AudioUnitEvent event; + event.mArgument.mParameter.mAudioUnit = audioUnit; + event.mArgument.mParameter.mParameterID = static_cast (param)->getRawParamID(); + event.mArgument.mParameter.mScope = kAudioUnitScope_Global; + event.mArgument.mParameter.mElement = 0; + + event.mEventType = kAudioUnitEvent_ParameterValueChange; + AUEventListenerAddEventType (eventListenerRef, nullptr, &event); + + event.mEventType = kAudioUnitEvent_BeginParameterChangeGesture; + AUEventListenerAddEventType (eventListenerRef, nullptr, &event); + + event.mEventType = kAudioUnitEvent_EndParameterChangeGesture; + AUEventListenerAddEventType (eventListenerRef, nullptr, &event); } + + addPropertyChangeListener (kAudioUnitProperty_PresentPreset); + addPropertyChangeListener (kAudioUnitProperty_ParameterList); + addPropertyChangeListener (kAudioUnitProperty_Latency); + addPropertyChangeListener (kAudioUnitProperty_BypassEffect); } - #if JUCE_MAC void addPropertyChangeListener (AudioUnitPropertyID type) const { - AudioUnitEvent event; event.mEventType = kAudioUnitEvent_PropertyChange; event.mArgument.mProperty.mPropertyID = type; @@ -1744,71 +1752,47 @@ private: void eventCallback (const AudioUnitEvent& event, AudioUnitParameterValue newValue) { - int paramIndex = -1; - - if (event.mEventType == kAudioUnitEvent_ParameterValueChange - || event.mEventType == kAudioUnitEvent_BeginParameterChangeGesture - || event.mEventType == kAudioUnitEvent_EndParameterChangeGesture) + if (event.mEventType == kAudioUnitEvent_PropertyChange) { - auto paramID = event.mArgument.mParameter.mParameterID; + respondToPropertyChange (event.mArgument.mProperty); + return; + } - if (! paramIDToIndex.contains (paramID)) - return; + const auto iter = paramIDToParameter.find (event.mArgument.mParameter.mParameterID); + auto* param = iter != paramIDToParameter.end() ? iter->second : nullptr; + jassert (param != nullptr); // Invalid parameter index - paramIndex = static_cast (paramIDToIndex [paramID]); + if (param == nullptr) + return; - if (! isPositiveAndBelow (paramIndex, getParameters().size())) - return; - } + if (event.mEventType == kAudioUnitEvent_ParameterValueChange) + param->sendValueChangedMessageToListeners (param->normaliseParamValue (newValue)); + else if (event.mEventType == kAudioUnitEvent_BeginParameterChangeGesture) + param->beginChangeGesture(); + else if (event.mEventType == kAudioUnitEvent_EndParameterChangeGesture) + param->endChangeGesture(); + } - switch (event.mEventType) + void respondToPropertyChange (const AudioUnitProperty& prop) + { + switch (prop.mPropertyID) { - case kAudioUnitEvent_ParameterValueChange: - if (auto* param = getParameters().getUnchecked (paramIndex)) - { - jassert (dynamic_cast (param) != nullptr); - auto* auparam = static_cast (param); - param->sendValueChangedMessageToListeners (auparam->normaliseParamValue (newValue)); - } - + case kAudioUnitProperty_ParameterList: + updateHostDisplay (AudioProcessorListener::ChangeDetails().withParameterInfoChanged (true)); break; - case kAudioUnitEvent_BeginParameterChangeGesture: - if (auto* param = getParameters()[paramIndex]) - param->beginChangeGesture(); - else - jassertfalse; // Invalid parameter index - + case kAudioUnitProperty_PresentPreset: + sendAllParametersChangedEvents(); + updateHostDisplay (AudioProcessorListener::ChangeDetails().withProgramChanged (true)); break; - case kAudioUnitEvent_EndParameterChangeGesture: - if (auto* param = getParameters()[paramIndex]) - param->endChangeGesture(); - else - jassertfalse; // Invalid parameter index - + case kAudioUnitProperty_Latency: + updateLatency(); break; - case kAudioUnitEvent_PropertyChange: - default: - if (event.mArgument.mProperty.mPropertyID == kAudioUnitProperty_ParameterList) - { - updateHostDisplay (AudioProcessorListener::ChangeDetails().withParameterInfoChanged (true)); - } - else if (event.mArgument.mProperty.mPropertyID == kAudioUnitProperty_PresentPreset) - { - sendAllParametersChangedEvents(); - updateHostDisplay (AudioProcessorListener::ChangeDetails().withProgramChanged (true)); - } - else if (event.mArgument.mProperty.mPropertyID == kAudioUnitProperty_Latency) - { - updateLatency(); - } - else if (event.mArgument.mProperty.mPropertyID == kAudioUnitProperty_BypassEffect) - { - if (bypassParam != nullptr) - bypassParam->setValueNotifyingHost (bypassParam->getValue()); - } + case kAudioUnitProperty_BypassEffect: + if (bypassParam != nullptr) + bypassParam->setValueNotifyingHost (bypassParam->getValue()); break; } @@ -2261,10 +2245,8 @@ public: { addAndMakeVisible (wrapper); - #if JUCE_SUPPORTS_AUv3 viewControllerCallback = CreateObjCBlock (this, &AudioUnitPluginWindowCocoa::requestViewControllerCallback); - #endif setOpaque (true); setVisible (true); @@ -2284,7 +2266,6 @@ public: } } - #if JUCE_SUPPORTS_AUv3 void embedViewController (JUCE_IOS_MAC_VIEW* pluginView, const CGSize& size) { wrapper.setView (pluginView); @@ -2299,7 +2280,6 @@ public: wrapper.setSize (static_cast (size.width), static_cast (size.height)); #endif } - #endif bool isValid() const { return wrapper.getView() != nil || waitingForViewCallback; } @@ -2323,10 +2303,8 @@ private: AudioUnitPluginInstance& plugin; AudioUnitFormatHelpers::AutoResizingNSViewComponent wrapper; - #if JUCE_SUPPORTS_AUv3 typedef void (^ViewControllerCallbackBlock)(AUViewControllerBase *); ObjCBlock viewControllerCallback; - #endif bool waitingForViewCallback = false; @@ -2375,7 +2353,6 @@ private: dataSize = 0; isWritable = false; - #if JUCE_SUPPORTS_AUv3 if (AudioUnitGetPropertyInfo (plugin.audioUnit, kAudioUnitProperty_RequestViewController, kAudioUnitScope_Global, 0, &dataSize, &isWritable) == noErr && dataSize == sizeof (ViewControllerCallbackBlock)) @@ -2391,7 +2368,6 @@ private: waitingForViewCallback = false; } - #endif #if JUCE_MAC if (createGenericViewIfNeeded && (pluginView == nil)) @@ -2418,11 +2394,18 @@ private: return pluginView != nil; } - #if JUCE_SUPPORTS_AUv3 void requestViewControllerCallback (AUViewControllerBase* controller) { - auto nsSize = [controller preferredContentSize]; - auto viewSize = CGSizeMake (nsSize.width, nsSize.height); + const auto viewSize = [&controller] + { + auto size = [controller preferredContentSize]; + + if (size.width == 0 || size.height == 0) + size = controller.view.frame.size; + + return CGSizeMake (jmax ((CGFloat) 20.0f, size.width), + jmax ((CGFloat) 20.0f, size.height)); + }(); if (! MessageManager::getInstance()->isThisTheMessageThread()) { @@ -2451,7 +2434,6 @@ private: embedViewController ([controller view], viewSize); } } - #endif }; #if JUCE_SUPPORT_CARBON @@ -2685,23 +2667,17 @@ void AudioUnitPluginFormat::createPluginInstance (const PluginDescription& desc, struct AUAsyncInitializationCallback { - #if JUCE_SUPPORTS_AUv3 typedef void (^AUCompletionCallbackBlock)(AudioComponentInstance, OSStatus); - #endif AUAsyncInitializationCallback (double inSampleRate, int inFramesPerBuffer, PluginCreationCallback inOriginalCallback) : sampleRate (inSampleRate), framesPerBuffer (inFramesPerBuffer), originalCallback (std::move (inOriginalCallback)) { - #if JUCE_SUPPORTS_AUv3 block = CreateObjCBlock (this, &AUAsyncInitializationCallback::completion); - #endif } - #if JUCE_SUPPORTS_AUv3 - AUCompletionCallbackBlock getBlock() noexcept { return block; } - #endif + AUCompletionCallbackBlock getBlock() noexcept { return block; } void completion (AudioComponentInstance audioUnit, OSStatus err) { @@ -2726,26 +2702,18 @@ void AudioUnitPluginFormat::createPluginInstance (const PluginDescription& desc, double sampleRate; int framesPerBuffer; PluginCreationCallback originalCallback; - - #if JUCE_SUPPORTS_AUv3 ObjCBlock block; - #endif }; auto callbackBlock = new AUAsyncInitializationCallback (rate, blockSize, std::move (callback)); - #if JUCE_SUPPORTS_AUv3 - //============================================================================== - bool isAUv3 = ((componentDesc.componentFlags & kAudioComponentFlag_IsV3AudioUnit) != 0); - - if (isAUv3) + if ((componentDesc.componentFlags & kAudioComponentFlag_IsV3AudioUnit) != 0) { AudioComponentInstantiate (auComponent, kAudioComponentInstantiation_LoadOutOfProcess, callbackBlock->getBlock()); return; } - #endif // JUCE_SUPPORTS_AUv3 AudioComponentInstance audioUnit; auto err = AudioComponentInstanceNew(auComponent, &audioUnit); @@ -2759,7 +2727,6 @@ void AudioUnitPluginFormat::createPluginInstance (const PluginDescription& desc, bool AudioUnitPluginFormat::requiresUnblockedMessageThreadDuringCreation (const PluginDescription& desc) const { - #if JUCE_SUPPORTS_AUv3 String pluginName, version, manufacturer; AudioComponentDescription componentDesc; @@ -2772,9 +2739,6 @@ bool AudioUnitPluginFormat::requiresUnblockedMessageThreadDuringCreation (const if (AudioComponentGetDescription (auComp, &componentDesc) == noErr) return ((componentDesc.componentFlags & kAudioComponentFlag_IsV3AudioUnit) != 0); } - #else - ignoreUnused (desc); - #endif return false; } @@ -2807,11 +2771,9 @@ StringArray AudioUnitPluginFormat::searchPathsForPlugins (const FileSearchPath&, { ignoreUnused (allowPluginsWhichRequireAsynchronousInstantiation); - #if JUCE_SUPPORTS_AUv3 - bool isAUv3 = ((desc.componentFlags & kAudioComponentFlag_IsV3AudioUnit) != 0); + const auto isAUv3 = ((desc.componentFlags & kAudioComponentFlag_IsV3AudioUnit) != 0); if (allowPluginsWhichRequireAsynchronousInstantiation || ! isAUv3) - #endif result.add (AudioUnitFormatHelpers::createPluginIdentifier (desc)); } } diff --git a/modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp b/modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp index 536e59cb..f06e0781 100644 --- a/modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp +++ b/modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp @@ -113,7 +113,7 @@ private: }; //============================================================================== -class LADSPAPluginInstance : public AudioPluginInstance +class LADSPAPluginInstance final : public AudioPluginInstance { public: LADSPAPluginInstance (const LADSPAModuleHandle::Ptr& m) @@ -197,7 +197,7 @@ public: } } - setParameterTree (std::move (newTree)); + setHostedParameterTree (std::move (newTree)); for (auto* param : getParameters()) if (auto* ladspaParam = dynamic_cast (param)) @@ -516,6 +516,11 @@ private: bool isAutomatable() const override { return automatable; } + String getParameterID() const override + { + return String (paramID); + } + static float scaledValue (float low, float high, float alpha, bool useLog) noexcept { if (useLog && low > 0 && high > 0) diff --git a/modules/juce_audio_processors/format_types/juce_LegacyAudioParameter.cpp b/modules/juce_audio_processors/format_types/juce_LegacyAudioParameter.cpp index de2f65a3..183dc9cd 100644 --- a/modules/juce_audio_processors/format_types/juce_LegacyAudioParameter.cpp +++ b/modules/juce_audio_processors/format_types/juce_LegacyAudioParameter.cpp @@ -98,12 +98,12 @@ public: return -1; } - static String getParamID (AudioProcessorParameter* param, bool forceLegacyParamIDs) noexcept + static String getParamID (const AudioProcessorParameter* param, bool forceLegacyParamIDs) noexcept { - if (auto* legacy = dynamic_cast (param)) + if (auto* legacy = dynamic_cast (param)) return forceLegacyParamIDs ? String (legacy->parameterIndex) : legacy->getParamID(); - if (auto* paramWithID = dynamic_cast (param)) + if (auto* paramWithID = dynamic_cast (param)) { if (! forceLegacyParamIDs) return paramWithID->paramID; @@ -120,6 +120,13 @@ public: class LegacyAudioParametersWrapper { public: + LegacyAudioParametersWrapper() = default; + + LegacyAudioParametersWrapper (AudioProcessor& audioProcessor, bool forceLegacyParamIDs) + { + update (audioProcessor, forceLegacyParamIDs); + } + void update (AudioProcessor& audioProcessor, bool forceLegacyParamIDs) { clear(); @@ -131,15 +138,28 @@ public: for (int i = 0; i < numParameters; ++i) { - AudioProcessorParameter* param = usingManagedParameters ? audioProcessor.getParameters()[i] - : (legacy.add (new LegacyAudioParameter (audioProcessor, i))); + auto* param = [&]() -> AudioProcessorParameter* + { + if (usingManagedParameters) + return audioProcessor.getParameters()[i]; + + auto newParam = std::make_unique (audioProcessor, i); + auto* result = newParam.get(); + ownedGroup.addChild (std::move (newParam)); + + return result; + }(); + params.add (param); } + + processorGroup = usingManagedParameters ? &audioProcessor.getParameterTree() + : nullptr; } void clear() { - legacy.clear(); + ownedGroup = AudioProcessorParameterGroup(); params.clear(); } @@ -159,13 +179,34 @@ public: return String (idx); } + const AudioProcessorParameterGroup& getGroup() const + { + return processorGroup != nullptr ? *processorGroup + : ownedGroup; + } + + void addNonOwning (AudioProcessorParameter* param) + { + params.add (param); + } + + size_t size() const noexcept { return (size_t) params.size(); } + bool isUsingManagedParameters() const noexcept { return usingManagedParameters; } int getNumParameters() const noexcept { return params.size(); } - Array params; + AudioProcessorParameter* const* begin() const { return params.begin(); } + AudioProcessorParameter* const* end() const { return params.end(); } + + bool contains (AudioProcessorParameter* param) const + { + return params.contains (param); + } private: - OwnedArray legacy; + const AudioProcessorParameterGroup* processorGroup = nullptr; + AudioProcessorParameterGroup ownedGroup; + Array params; bool legacyParamIDs = false, usingManagedParameters = false; }; diff --git a/modules/juce_audio_processors/format_types/juce_VST3Common.h b/modules/juce_audio_processors/format_types/juce_VST3Common.h index a41f0962..5c6f213b 100644 --- a/modules/juce_audio_processors/format_types/juce_VST3Common.h +++ b/modules/juce_audio_processors/format_types/juce_VST3Common.h @@ -23,11 +23,13 @@ ============================================================================== */ -#if ! DOXYGEN +#ifndef DOXYGEN namespace juce { +JUCE_BEGIN_NO_SANITIZE ("vptr") + //============================================================================== #define JUCE_DECLARE_VST3_COM_REF_METHODS \ Steinberg::uint32 PLUGIN_API addRef() override { return (Steinberg::uint32) ++refCount; } \ @@ -368,10 +370,13 @@ static Steinberg::Vst::SpeakerArrangement getVst3SpeakerArrangement (const Audio if (channels == AudioChannelSet::create7point1SDDS()) return k71Cine; if (channels == AudioChannelSet::ambisonic()) return kAmbi1stOrderACN; if (channels == AudioChannelSet::quadraphonic()) return k40Music; + if (channels == AudioChannelSet::create5point1point4()) return k51_4; if (channels == AudioChannelSet::create7point0point2()) return k71_2 & ~(Steinberg::Vst::kSpeakerLfe); if (channels == AudioChannelSet::create7point1point2()) return k71_2; if (channels == AudioChannelSet::create7point0point4()) return k71_4 & ~(Steinberg::Vst::kSpeakerLfe); if (channels == AudioChannelSet::create7point1point4()) return k71_4; + if (channels == AudioChannelSet::create7point1point6()) return k71_6; + if (channels == AudioChannelSet::create9point1point6()) return k91_6; if (channels == AudioChannelSet::ambisonic (0)) return (1ull << 20); if (channels == AudioChannelSet::ambisonic (1)) return (1ull << 20) | (1ull << 21) | (1ull << 22) | (1ull << 23); #if VST_VERSION >= 0x030608 @@ -381,10 +386,8 @@ static Steinberg::Vst::SpeakerArrangement getVst3SpeakerArrangement (const Audio Steinberg::Vst::SpeakerArrangement result = 0; - Array types (channels.getChannelTypes()); - - for (int i = 0; i < types.size(); ++i) - result |= getSpeakerType (channels, types.getReference(i)); + for (const auto& type : channels.getChannelTypes()) + result |= getSpeakerType (channels, type); return result; } @@ -416,6 +419,7 @@ static AudioChannelSet getChannelSetForSpeakerArrangement (Steinberg::Vst::Speak case k71_2 & ~(Steinberg::Vst::kSpeakerLfe): return AudioChannelSet::create7point0point2(); case k71_4: return AudioChannelSet::create7point1point4(); case k71_4 & ~(Steinberg::Vst::kSpeakerLfe): return AudioChannelSet::create7point0point4(); + case k71_6: return AudioChannelSet::create7point1point6(); case (1 << 20): return AudioChannelSet::ambisonic (0); case kAmbi1stOrderACN: return AudioChannelSet::ambisonic (1); #if VST_VERSION >= 0x030608 @@ -1219,6 +1223,8 @@ private: std::atomic flags { 0 }; }; +JUCE_END_NO_SANITIZE + } // namespace juce -#endif // ! DOXYGEN +#endif diff --git a/modules/juce_audio_processors/format_types/juce_VST3Headers.h b/modules/juce_audio_processors/format_types/juce_VST3Headers.h index 1ff5037b..6bf806f9 100644 --- a/modules/juce_audio_processors/format_types/juce_VST3Headers.h +++ b/modules/juce_audio_processors/format_types/juce_VST3Headers.h @@ -227,3 +227,7 @@ JUCE_END_IGNORE_WARNINGS_GCC_LIKE #undef DEF_CLASS2 #undef DEF_CLASS_W #undef END_FACTORY + +#ifdef atomic_thread_fence + #undef atomic_thread_fence +#endif diff --git a/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp b/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp index cc5f29f0..59298c4c 100644 --- a/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp +++ b/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp @@ -31,6 +31,10 @@ namespace juce { +// UB Sanitizer doesn't necessarily have instrumentation for loaded plugins, so +// it won't recognize the dynamic types of pointers to the plugin's interfaces. +JUCE_BEGIN_NO_SANITIZE ("vptr") + using namespace Steinberg; //============================================================================== @@ -267,20 +271,9 @@ static void toProcessContext (Vst::ProcessContext& context, AudioPlayHead* playH context.cycleStartMusic = position.ppqLoopStart; context.cycleEndMusic = position.ppqLoopEnd; - switch (position.frameRate) - { - case AudioPlayHead::fps23976: fr.framesPerSecond = 24; fr.flags = FrameRate::kPullDownRate; break; - case AudioPlayHead::fps24: fr.framesPerSecond = 24; fr.flags = 0; break; - case AudioPlayHead::fps25: fr.framesPerSecond = 25; fr.flags = 0; break; - case AudioPlayHead::fps2997: fr.framesPerSecond = 30; fr.flags = FrameRate::kPullDownRate; break; - case AudioPlayHead::fps2997drop: fr.framesPerSecond = 30; fr.flags = FrameRate::kPullDownRate | FrameRate::kDropRate; break; - case AudioPlayHead::fps30: fr.framesPerSecond = 30; fr.flags = 0; break; - case AudioPlayHead::fps30drop: fr.framesPerSecond = 30; fr.flags = FrameRate::kDropRate; break; - case AudioPlayHead::fps60: fr.framesPerSecond = 60; fr.flags = 0; break; - case AudioPlayHead::fps60drop: fr.framesPerSecond = 60; fr.flags = FrameRate::kDropRate; break; - case AudioPlayHead::fpsUnknown: break; - default: jassertfalse; break; // New frame rate? - } + context.frameRate.framesPerSecond = (Steinberg::uint32) position.frameRate.getBaseRate(); + context.frameRate.flags = (Steinberg::uint32) ((position.frameRate.isDrop() ? FrameRate::kDropRate : 0) + | (position.frameRate.isPullDown() ? FrameRate::kPullDownRate : 0)); if (position.isPlaying) context.state |= ProcessContext::kPlaying; if (position.isRecording) context.state |= ProcessContext::kRecording; @@ -325,10 +318,9 @@ struct VST3HostContext : public Vst::IComponentHandler, // From VST V3.0.0 VST3HostContext() { appName = File::getSpecialLocation (File::currentApplicationFile).getFileNameWithoutExtension(); - attributeList = new AttributeList (this); } - virtual ~VST3HostContext() override {} + ~VST3HostContext() override = default; JUCE_DECLARE_VST3_COM_REF_METHODS @@ -345,13 +337,9 @@ struct VST3HostContext : public Vst::IComponentHandler, // From VST V3.0.0 tresult PLUGIN_API endEdit (Vst::ParamID paramID) override; tresult PLUGIN_API restartComponent (Steinberg::int32 flags) override; + tresult PLUGIN_API setDirty (TBool) override; //============================================================================== - tresult PLUGIN_API setDirty (TBool) override - { - return kResultFalse; - } - tresult PLUGIN_API requestOpenEditor (FIDString name) override { ignoreUnused (name); @@ -513,18 +501,13 @@ struct VST3HostContext : public Vst::IComponentHandler, // From VST V3.0.0 if (doUIDsMatch (cid, Vst::IMessage::iid) && doUIDsMatch (iid, Vst::IMessage::iid)) { - VSTComSmartPtr m (new Message (attributeList)); - messageMap.add (m); - m->addRef(); - *obj = m; + *obj = new Message; return kResultOk; } if (doUIDsMatch (cid, Vst::IAttributeList::iid) && doUIDsMatch (iid, Vst::IAttributeList::iid)) { - VSTComSmartPtr l (new AttributeList (this)); - l->addRef(); - *obj = l; + *obj = new AttributeList; return kResultOk; } @@ -544,12 +527,6 @@ struct VST3HostContext : public Vst::IComponentHandler, // From VST V3.0.0 //============================================================================== tresult PLUGIN_API queryInterface (const TUID iid, void** obj) override { - if (doUIDsMatch (iid, Vst::IAttributeList::iid)) - { - *obj = attributeList.get(); - return kResultOk; - } - return testForMultiple (*this, iid, UniqueBase{}, @@ -572,230 +549,231 @@ private: void restartComponentOnMessageThread (int32 flags) override; //============================================================================== - struct Message : public Vst::IMessage + class Attribute { - explicit Message (Vst::IAttributeList* list) - : attributeList (list) + public: + using Int = Steinberg::int64; + using Float = double; + using String = std::vector; + using Binary = std::vector; + + explicit Attribute (Int x) noexcept { constructFrom (std::move (x)); } + explicit Attribute (Float x) noexcept { constructFrom (std::move (x)); } + explicit Attribute (String x) noexcept { constructFrom (std::move (x)); } + explicit Attribute (Binary x) noexcept { constructFrom (std::move (x)); } + + Attribute (Attribute&& other) noexcept { + moveFrom (std::move (other)); } - Message (Vst::IAttributeList* list, FIDString id) - : attributeList (list), messageId (toString (id)) + Attribute& operator= (Attribute&& other) noexcept { + reset(); + moveFrom (std::move (other)); + return *this; } - Message (Vst::IAttributeList* list, FIDString id, const var& v) - : value (v), attributeList (list), messageId (toString (id)) + ~Attribute() noexcept { + reset(); } - virtual ~Message() = default; - - JUCE_DECLARE_VST3_COM_REF_METHODS - JUCE_DECLARE_VST3_COM_QUERY_METHODS - - FIDString PLUGIN_API getMessageID() override { return messageId.toRawUTF8(); } - void PLUGIN_API setMessageID (FIDString id) override { messageId = toString (id); } - Vst::IAttributeList* PLUGIN_API getAttributes() override { return attributeList; } - - var value; - - private: - VSTComSmartPtr attributeList; - String messageId; - Atomic refCount; - - JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (Message) - }; - - class MessageMap - { - public: - tresult getBinary (const char* id, const void*& data, Steinberg::uint32& size) + tresult getInt (Steinberg::int64& result) const { - jassert (id != nullptr); - - const ScopedLock lock (mutex); - - const auto it = storage.find (id); + if (kind != Kind::Int) + return kResultFalse; - if (it != storage.cend()) - { - if (auto* binaryData = it->second->value.getBinaryData()) - { - data = binaryData->getData(); - size = (Steinberg::uint32) binaryData->getSize(); - return kResultTrue; - } - } - - return kResultFalse; + result = storage.storedInt; + return kResultTrue; } - template - void addMessageToQueue (const char* id, Vst::IAttributeList* list, const Type& value) + tresult getFloat (double& result) const { - jassert (id != nullptr); - - const ScopedLock lock (mutex); + if (kind != Kind::Float) + return kResultFalse; - const auto it = storage.find (id); - - if (it != storage.cend()) - it->second->value = value; - else - storage.emplace (id, new Message (list, id, value)); + result = storage.storedFloat; + return kResultTrue; } - template - bool findMessageOnQueueWithID (const char* id, Type& value) + tresult getString (Vst::TChar* data, Steinberg::uint32 numBytes) const { - jassert (id != nullptr); - - const ScopedLock lock (mutex); - - const auto it = storage.find (id); - - if (it == storage.cend()) - return false; + if (kind != Kind::String) + return kResultFalse; - value = it->second->value; - return true; + std::memcpy (data, + storage.storedString.data(), + jmin (sizeof (Vst::TChar) * storage.storedString.size(), (size_t) numBytes)); + return kResultTrue; } - void add (VSTComSmartPtr message) + tresult getBinary (const void*& data, Steinberg::uint32& numBytes) const { - const ScopedLock lock (mutex); + if (kind != Kind::Binary) + return kResultFalse; - const auto* id = message->getMessageID(); - storage.erase (id); - storage.emplace (id, std::move (message)); + data = storage.storedBinary.data(); + numBytes = (Steinberg::uint32) storage.storedBinary.size(); + return kResultTrue; } private: - struct Comparator + void constructFrom (Int x) noexcept { kind = Kind::Int; new (&storage.storedInt) Int (std::move (x)); } + void constructFrom (Float x) noexcept { kind = Kind::Float; new (&storage.storedFloat) Float (std::move (x)); } + void constructFrom (String x) noexcept { kind = Kind::String; new (&storage.storedString) String (std::move (x)); } + void constructFrom (Binary x) noexcept { kind = Kind::Binary; new (&storage.storedBinary) Binary (std::move (x)); } + + void reset() noexcept { - bool operator() (const char* a, const char* b) const noexcept + switch (kind) { - return std::strcmp (a, b) < 0; + case Kind::Int: break; + case Kind::Float: break; + case Kind::String: storage.storedString.~vector(); break; + case Kind::Binary: storage.storedBinary.~vector(); break; } - }; + } - // Steinberg's docs say: - // > Please note that messages from the processor to the controller must not be sent during - // the process call, as this would not be fast enough and would break the real time - // processing. Such tasks should be handled in a separate timer thread. + void moveFrom (Attribute&& other) noexcept + { + switch (other.kind) + { + case Kind::Int: constructFrom (std::move (other.storage.storedInt)); break; + case Kind::Float: constructFrom (std::move (other.storage.storedFloat)); break; + case Kind::String: constructFrom (std::move (other.storage.storedString)); break; + case Kind::Binary: constructFrom (std::move (other.storage.storedBinary)); break; + } + } - // Using a lock here is fine (plugins should be aware that sending messages is not - // realtime-safe), and protects the data structure in case the processor sends messages from - // a background thread rather than from the message thread. + enum class Kind { Int, Float, String, Binary }; - std::map, Comparator> storage; - CriticalSection mutex; - }; + union Storage + { + Storage() {} + ~Storage() {} - MessageMap messageMap; + Steinberg::int64 storedInt; + double storedFloat; + std::vector storedString; + std::vector storedBinary; + }; + + Storage storage; + Kind kind; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (Attribute) + }; //============================================================================== - struct AttributeList : public Vst::IAttributeList + class AttributeList : public Vst::IAttributeList { - AttributeList (VST3HostContext* o) : owner (o) {} + public: + AttributeList() = default; virtual ~AttributeList() = default; JUCE_DECLARE_VST3_COM_REF_METHODS JUCE_DECLARE_VST3_COM_QUERY_METHODS //============================================================================== - tresult PLUGIN_API setInt (AttrID id, Steinberg::int64 value) override + tresult PLUGIN_API setInt (AttrID attr, Steinberg::int64 value) override { - addMessageToQueue (id, value); - return kResultTrue; + return set (attr, value); } - tresult PLUGIN_API setFloat (AttrID id, double value) override + tresult PLUGIN_API setFloat (AttrID attr, double value) override { - addMessageToQueue (id, value); - return kResultTrue; + return set (attr, value); } - tresult PLUGIN_API setString (AttrID id, const Vst::TChar* string) override + tresult PLUGIN_API setString (AttrID attr, const Vst::TChar* string) override { - addMessageToQueue (id, toString (string)); - return kResultTrue; + return set (attr, std::vector (string, string + 1 + tstrlen (string))); } - tresult PLUGIN_API setBinary (AttrID id, const void* data, Steinberg::uint32 size) override + tresult PLUGIN_API setBinary (AttrID attr, const void* data, Steinberg::uint32 size) override { - jassert (data != nullptr || size == 0); - addMessageToQueue (id, MemoryBlock (data, (size_t) size)); - return kResultTrue; + const auto* ptr = static_cast (data); + return set (attr, std::vector (ptr, ptr + size)); } - //============================================================================== - tresult PLUGIN_API getInt (AttrID id, Steinberg::int64& result) override + tresult PLUGIN_API getInt (AttrID attr, Steinberg::int64& result) override { - jassert (id != nullptr); - - if (findMessageOnQueueWithID (id, result)) - return kResultTrue; - - jassertfalse; - return kResultFalse; + return get (attr, [&] (const auto& x) { return x.getInt (result); }); } - tresult PLUGIN_API getFloat (AttrID id, double& result) override + tresult PLUGIN_API getFloat (AttrID attr, double& result) override { - jassert (id != nullptr); + return get (attr, [&] (const auto& x) { return x.getFloat (result); }); + } - if (findMessageOnQueueWithID (id, result)) - return kResultTrue; + tresult PLUGIN_API getString (AttrID attr, Vst::TChar* result, Steinberg::uint32 length) override + { + return get (attr, [&] (const auto& x) { return x.getString (result, length); }); + } - jassertfalse; - return kResultFalse; + tresult PLUGIN_API getBinary (AttrID attr, const void*& data, Steinberg::uint32& size) override + { + return get (attr, [&] (const auto& x) { return x.getBinary (data, size); }); } - tresult PLUGIN_API getString (AttrID id, Vst::TChar* result, Steinberg::uint32 length) override + private: + template + tresult set (AttrID attr, Value&& value) { - jassert (id != nullptr); + if (attr == nullptr) + return kInvalidArgument; - String stringToFetch; - if (findMessageOnQueueWithID (id, stringToFetch)) - { - Steinberg::String str (stringToFetch.toRawUTF8()); - str.copyTo (result, 0, (Steinberg::int32) jmin (length, (Steinberg::uint32) std::numeric_limits::max())); + const auto iter = attributes.find (attr); - return kResultTrue; - } + if (iter != attributes.end()) + iter->second = Attribute (std::move (value)); + else + attributes.emplace (attr, Attribute (std::move (value))); - jassertfalse; - return kResultFalse; + return kResultTrue; } - tresult PLUGIN_API getBinary (AttrID id, const void*& data, Steinberg::uint32& size) override + template + tresult get (AttrID attr, Visitor&& visitor) { - return owner->messageMap.getBinary (id, data, size); - } + if (attr == nullptr) + return kInvalidArgument; - private: - VST3HostContext* owner; - Atomic refCount; + const auto iter = attributes.find (attr); - //============================================================================== - template - void addMessageToQueue (AttrID id, const Type& value) - { - owner->messageMap.addMessageToQueue (id, this, value); - } + if (iter == attributes.cend()) + return kResultFalse; - template - bool findMessageOnQueueWithID (AttrID id, Type& value) - { - return owner->messageMap.findMessageOnQueueWithID (id, value); + return visitor (iter->second); } + std::map attributes; + Atomic refCount { 1 }; + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (AttributeList) }; + struct Message : public Vst::IMessage + { + Message() = default; + virtual ~Message() = default; + + JUCE_DECLARE_VST3_COM_REF_METHODS + JUCE_DECLARE_VST3_COM_QUERY_METHODS + + FIDString PLUGIN_API getMessageID() override { return messageId.toRawUTF8(); } + void PLUGIN_API setMessageID (FIDString id) override { messageId = toString (id); } + Vst::IAttributeList* PLUGIN_API getAttributes() override { return &attributeList; } + + private: + AttributeList attributeList; + String messageId; + Atomic refCount { 1 }; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (Message) + }; + VSTComSmartPtr attributeList; JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (VST3HostContext) @@ -1351,17 +1329,17 @@ private: //============================================================================== struct VST3PluginWindow : public AudioProcessorEditor, - public ComponentMovementWatcher, - public ComponentPeer::ScaleFactorListener, - public IPlugFrame + private ComponentMovementWatcher, + private ComponentPeer::ScaleFactorListener, + private IPlugFrame { VST3PluginWindow (AudioPluginInstance* owner, IPlugView* pluginView) - : AudioProcessorEditor (owner), - ComponentMovementWatcher (this), - view (pluginView, false) - #if JUCE_MAC - , embeddedComponent (*owner) - #endif + : AudioProcessorEditor (owner), + ComponentMovementWatcher (this), + view (pluginView, false) + #if JUCE_MAC + , embeddedComponent (*owner) + #endif { setSize (10, 10); setOpaque (true); @@ -1369,6 +1347,10 @@ struct VST3PluginWindow : public AudioProcessorEditor, warnOnFailure (view->setFrame (this)); view->queryInterface (Steinberg::IPlugViewContentScaleSupport::iid, (void**) &scaleInterface); + + if (scaleInterface != nullptr) + warnOnFailure (scaleInterface->setContentScaleFactor ((Steinberg::IPlugViewContentScaleSupport::ScaleFactor) nativeScaleFactor)); + resizeToFit(); } @@ -1396,9 +1378,9 @@ struct VST3PluginWindow : public AudioProcessorEditor, } #if JUCE_LINUX || JUCE_BSD - Steinberg::tresult PLUGIN_API queryInterface (const Steinberg::TUID iid, void** obj) override + Steinberg::tresult PLUGIN_API queryInterface (const Steinberg::TUID queryIid, void** obj) override { - if (doUIDsMatch (iid, Steinberg::Linux::IRunLoop::iid)) + if (doUIDsMatch (queryIid, Steinberg::Linux::IRunLoop::iid)) { *obj = &runLoop.get(); return kResultTrue; @@ -1434,6 +1416,7 @@ struct VST3PluginWindow : public AudioProcessorEditor, bool keyStateChanged (bool /*isKeyDown*/) override { return true; } bool keyPressed (const KeyPress& /*key*/) override { return true; } +private: //============================================================================== void componentPeerChanged() override { @@ -1495,23 +1478,16 @@ struct VST3PluginWindow : public AudioProcessorEditor, void componentVisibilityChanged() override { attachPluginWindow(); - - if (! hasDoneInitialResize) - resizeToFit(); - + resizeToFit(); componentMovedOrResized (true, true); } using ComponentMovementWatcher::componentVisibilityChanged; void nativeScaleFactorChanged (double newScaleFactor) override { - if (approximatelyEqual ((float) newScaleFactor, nativeScaleFactor)) - return; - nativeScaleFactor = (float) newScaleFactor; - - if (pluginHandle != HandleFormat{} && scaleInterface != nullptr) - scaleInterface->setContentScaleFactor ((Steinberg::IPlugViewContentScaleSupport::ScaleFactor) nativeScaleFactor); + updatePluginScale(); + componentMovedOrResized (false, true); } void resizeToFit() @@ -1519,23 +1495,43 @@ struct VST3PluginWindow : public AudioProcessorEditor, ViewRect rect; warnOnFailure (view->getSize (&rect)); resizeWithRect (*this, rect, nativeScaleFactor); - - hasDoneInitialResize = true; } tresult PLUGIN_API resizeView (IPlugView* incomingView, ViewRect* newSize) override { + const ScopedValueSetter recursiveResizeSetter (recursiveResize, true); + if (incomingView != nullptr && newSize != nullptr && incomingView == view) { + auto scaleToViewRect = [this] (int dimension) + { + return (Steinberg::int32) roundToInt ((float) dimension * nativeScaleFactor); + }; + + auto oldWidth = scaleToViewRect (getWidth()); + auto oldHeight = scaleToViewRect (getHeight()); + resizeWithRect (embeddedComponent, *newSize, nativeScaleFactor); + + #if JUCE_WINDOWS + setPluginWindowPos (*newSize); + #endif + setSize (embeddedComponent.getWidth(), embeddedComponent.getHeight()); // According to the VST3 Workflow Diagrams, a resizeView from the plugin should // always trigger a response from the host which confirms the new size. - ViewRect rect; - rect.right = (Steinberg::int32) roundToInt ((float) getWidth() * nativeScaleFactor); - rect.bottom = (Steinberg::int32) roundToInt ((float) getHeight() * nativeScaleFactor); - view->onSize (&rect); + ViewRect rect { 0, 0, + scaleToViewRect (getWidth()), + scaleToViewRect (getHeight()) }; + + if (rect.right != oldWidth || rect.bottom != oldHeight + || ! isInOnSize) + { + // Guard against plug-ins immediately calling resizeView() with the same size + const ScopedValueSetter inOnSizeSetter (isInOnSize, true); + view->onSize (&rect); + } return kResultTrue; } @@ -1544,14 +1540,11 @@ struct VST3PluginWindow : public AudioProcessorEditor, return kInvalidArgument; } -private: //============================================================================== static void resizeWithRect (Component& comp, const ViewRect& rect, float scaleFactor) { - comp.setBounds (roundToInt ((float) rect.left / scaleFactor), - roundToInt ((float) rect.top / scaleFactor), - jmax (10, std::abs (roundToInt ((float) rect.getWidth() / scaleFactor))), - jmax (10, std::abs (roundToInt ((float) rect.getHeight() / scaleFactor)))); + comp.setSize (jmax (10, std::abs (roundToInt ((float) rect.getWidth() / scaleFactor))), + jmax (10, std::abs (roundToInt ((float) rect.getHeight() / scaleFactor)))); } void attachPluginWindow() @@ -1581,9 +1574,7 @@ private: } warnOnFailure (view->attached ((void*) pluginHandle, defaultVST3WindowType)); - - if (scaleInterface != nullptr) - scaleInterface->setContentScaleFactor ((Steinberg::IPlugViewContentScaleSupport::ScaleFactor) nativeScaleFactor); + updatePluginScale(); } } @@ -1597,6 +1588,14 @@ private: currentPeer->removeScaleFactorListener (this); } + void updatePluginScale() + { + if (scaleInterface != nullptr) + warnOnFailure (scaleInterface->setContentScaleFactor ((Steinberg::IPlugViewContentScaleSupport::ScaleFactor) nativeScaleFactor)); + else + resizeToFit(); + } + //============================================================================== Atomic refCount { 1 }; VSTComSmartPtr view; @@ -1642,7 +1641,7 @@ private: #endif HandleFormat pluginHandle = {}; - bool recursiveResize = false, hasDoneInitialResize = false; + bool recursiveResize = false, isInOnSize = false; ComponentPeer* currentPeer = nullptr; Steinberg::IPlugViewContentScaleSupport* scaleInterface = nullptr; @@ -2018,7 +2017,7 @@ private: }; //============================================================================== -class VST3PluginInstance : public AudioPluginInstance +class VST3PluginInstance final : public AudioPluginInstance { public: //============================================================================== @@ -2134,6 +2133,11 @@ public: return {}; } + String getParameterID() const override + { + return String (paramID); + } + Steinberg::Vst::ParamID getParamID() const noexcept { return paramID; } private: @@ -2248,7 +2252,6 @@ public: editController->setComponentHandler (holder->host); grabInformationObjects(); interconnectComponentAndController(); - updateMidiMappings(); auto configureParameters = [this] { @@ -2265,6 +2268,8 @@ public: if (getParameters().isEmpty() && editController->getParameterCount() > 0) configureParameters(); + updateMidiMappings(); + parameterDispatcher.start (*editController); return true; @@ -2276,7 +2281,7 @@ public: { explicit Extensions (const VST3PluginInstance* instanceIn) : instance (instanceIn) {} - void* getIComponentPtr() const noexcept override { return instance->holder->component; } + Steinberg::Vst::IComponent* getIComponentPtr() const noexcept override { return instance->holder->component; } MemoryBlock getPreset() const override { return instance->getStateForPresetFile(); } @@ -2802,7 +2807,7 @@ public: auto value = static_cast (program) / static_cast (jmax (1, programNames.size() - 1)); if (auto* param = getParameterForID (programParameterID)) - param->setValue ((float) value); + param->setValueNotifyingHost ((float) value); } } @@ -2883,11 +2888,16 @@ public: jassert (editController != nullptr); warnOnFailureIfImplemented (editController->setComponentState (&stream)); + resetParameters(); + } + void resetParameters() + { for (auto* parameter : getParameters()) { auto* vst3Param = static_cast (parameter); - vst3Param->setValueWithoutUpdatingProcessor ((float) editController->getParamNormalized (vst3Param->getParamID())); + const auto value = (float) editController->getParamNormalized (vst3Param->getParamID()); + vst3Param->setValueWithoutUpdatingProcessor (value); } } @@ -3116,7 +3126,7 @@ private: group->addChild (std::unique_ptr (param)); } - setParameterTree (std::move (newParameterTree)); + setHostedParameterTree (std::move (newParameterTree)); idToParamMap = [this] { @@ -3416,53 +3426,49 @@ AudioPluginInstance* VST3ComponentHolder::createPluginInstance() //============================================================================== tresult VST3HostContext::beginEdit (Vst::ParamID paramID) { - if (plugin != nullptr) - { - if (auto* param = plugin->getParameterForID (paramID)) - { - param->beginChangeGesture(); - return kResultTrue; - } + if (plugin == nullptr) + return kResultTrue; - jassertfalse; // Invalid parameter index! - return kResultFalse; + if (auto* param = plugin->getParameterForID (paramID)) + { + param->beginChangeGesture(); + return kResultTrue; } - return kResultTrue; + return kResultFalse; } tresult VST3HostContext::performEdit (Vst::ParamID paramID, Vst::ParamValue valueNormalised) { - if (plugin != nullptr) + if (plugin == nullptr) + return kResultTrue; + + if (auto* param = plugin->getParameterForID (paramID)) { - if (auto* param = plugin->getParameterForID (paramID)) - param->setValueFromEditor ((float) valueNormalised); - else - jassertfalse; // Invalid parameter index! + param->setValueFromEditor ((float) valueNormalised); // did the plug-in already update the parameter internally if (plugin->editController->getParamNormalized (paramID) != (float) valueNormalised) return plugin->editController->setParamNormalized (paramID, valueNormalised); + + return kResultTrue; } - return kResultTrue; + return kResultFalse; } tresult VST3HostContext::endEdit (Vst::ParamID paramID) { - if (plugin != nullptr) - { - if (auto* param = plugin->getParameterForID (paramID)) - { - param->endChangeGesture(); - return kResultTrue; - } + if (plugin == nullptr) + return kResultTrue; - jassertfalse; // Invalid parameter index! - return kResultFalse; + if (auto* param = plugin->getParameterForID (paramID)) + { + param->endChangeGesture(); + return kResultTrue; } - return kResultTrue; + return kResultFalse; } tresult VST3HostContext::restartComponent (Steinberg::int32 flags) @@ -3476,6 +3482,14 @@ tresult VST3HostContext::restartComponent (Steinberg::int32 flags) return kResultTrue; } +tresult PLUGIN_API VST3HostContext::setDirty (TBool needsSave) +{ + if (needsSave) + plugin->updateHostDisplay (AudioPluginInstance::ChangeDetails{}.withNonParameterStateChanged (true)); + + return kResultOk; +} + void VST3HostContext::restartComponentOnMessageThread (int32 flags) { if (plugin == nullptr) @@ -3505,6 +3519,9 @@ void VST3HostContext::restartComponentOnMessageThread (int32 flags) if (hasFlag (flags, Vst::kMidiCCAssignmentChanged)) plugin->updateMidiMappings(); + if (hasFlag (flags, Vst::kParamValuesChanged)) + plugin->resetParameters(); + plugin->updateHostDisplay (AudioProcessorListener::ChangeDetails().withProgramChanged (true) .withParameterInfoChanged (true)); } @@ -3738,6 +3755,8 @@ FileSearchPath VST3PluginFormat::getDefaultLocationsToSearch() #endif } +JUCE_END_NO_SANITIZE + } // namespace juce #endif // JUCE_PLUGINHOST_VST3 diff --git a/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h b/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h index 88ebeba2..9c2be594 100644 --- a/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h +++ b/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h @@ -43,16 +43,17 @@ public: ~VST3PluginFormat() override; //============================================================================== - /** Instead of using this function, use AudioPluginInstance::getExtensions() - to visit the ExtensionsVisitor::VST3 struct for the instance, if it exists. - Then, call ExtensionsVisitor::VST3::setPreset() to set the state using the - contents of a vstpreset file. - - Attempts to reload a VST3 plugin's state from some preset file data. + #ifndef DOXYGEN + /** Attempts to reload a VST3 plugin's state from some preset file data. @see VSTPluginFormat::loadFromFXBFile */ - JUCE_DEPRECATED (static bool setStateFromVSTPresetFile (AudioPluginInstance*, const MemoryBlock&)); + [[deprecated ("Instead of using this function, use AudioPluginInstance::getExtensions() " + "to visit the ExtensionsVisitor::VST3 struct for the instance, if it exists. " + "Then, call ExtensionsVisitor::VST3::setPreset() to set the state using the " + "contents of a vstpreset file.")]] + static bool setStateFromVSTPresetFile (AudioPluginInstance*, const MemoryBlock&); + #endif //============================================================================== static String getFormatName() { return "VST3"; } diff --git a/modules/juce_audio_processors/format_types/juce_VSTMidiEventList.h b/modules/juce_audio_processors/format_types/juce_VSTMidiEventList.h index 7e208289..4bb20628 100644 --- a/modules/juce_audio_processors/format_types/juce_VSTMidiEventList.h +++ b/modules/juce_audio_processors/format_types/juce_VSTMidiEventList.h @@ -39,6 +39,22 @@ namespace juce */ class VSTMidiEventList { + // "events" is expected to be a const- or non-const-ref to Vst2::VstEvents. + template + static auto& getEvent (Events& events, int index) + { + using EventType = decltype (&*events.events); + + // We static cast rather than using a direct array index here to circumvent + // UB sanitizer's bounds-checks. The original struct is supposed to contain + // a variable-length array, but the declaration uses a size of "2" for this + // member. + return static_cast (events.events)[index]; + } + + Vst2::VstEvent* const& getEvent (int index) const { return getEvent (*events, index); } + Vst2::VstEvent* & getEvent (int index) { return getEvent (*events, index); } + public: //============================================================================== VSTMidiEventList() @@ -64,15 +80,16 @@ public: { ensureSize (numEventsUsed + 1); - void* const ptr = (Vst2::VstMidiEvent*) (events->events [numEventsUsed]); - auto* const e = (Vst2::VstMidiEvent*) ptr; + void* const ptr = getEvent (numEventsUsed); events->numEvents = ++numEventsUsed; if (numBytes <= 4) { + auto* const e = static_cast (ptr); + if (e->type == Vst2::kVstSysExType) { - delete[] (((Vst2::VstMidiSysexEvent*) ptr)->sysexDump); + delete[] reinterpret_cast (e)->sysexDump; e->type = Vst2::kVstMidiType; e->byteSize = sizeof (Vst2::VstMidiEvent); e->noteLength = 0; @@ -86,7 +103,7 @@ public: } else { - auto* const se = (Vst2::VstMidiSysexEvent*) ptr; + auto* const se = static_cast (ptr); if (se->type == Vst2::kVstSysExType) delete[] se->sysexDump; @@ -111,20 +128,20 @@ public: { for (int i = 0; i < events->numEvents; ++i) { - const Vst2::VstEvent* const e = events->events[i]; + const auto* const e = getEvent (*events, i); if (e != nullptr) { - const void* const ptr = events->events[i]; + const void* const ptr = e; if (e->type == Vst2::kVstMidiType) { - dest.addEvent ((const juce::uint8*) ((const Vst2::VstMidiEvent*) ptr)->midiData, + dest.addEvent ((const juce::uint8*) static_cast (ptr)->midiData, 4, e->deltaFrames); } else if (e->type == Vst2::kVstSysExType) { - const auto* se = (const Vst2::VstMidiSysexEvent*) ptr; + const auto* se = static_cast (ptr); dest.addEvent ((const juce::uint8*) se->sysexDump, (int) se->dumpBytes, e->deltaFrames); @@ -148,7 +165,7 @@ public: events.realloc (size, 1); for (int i = numEventsAllocated; i < numEventsNeeded; ++i) - events->events[i] = allocateVSTEvent(); + getEvent (i) = allocateVSTEvent(); numEventsAllocated = numEventsNeeded; } @@ -159,7 +176,7 @@ public: if (events != nullptr) { for (int i = numEventsAllocated; --i >= 0;) - freeVSTEvent (events->events[i]); + freeVSTEvent (getEvent (i)); events.free(); numEventsUsed = 0; diff --git a/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp b/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp index 7771cbb8..f9ac8a16 100644 --- a/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp +++ b/modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp @@ -41,6 +41,8 @@ JUCE_BEGIN_IGNORE_WARNINGS_MSVC (4996) namespace Vst2 { +struct AEffect; + // If the following files cannot be found then you are probably trying to host // VST2 plug-ins. To do this you must have a VST2 SDK in your header search // paths or use the "VST (Legacy) SDK Folder" field in the Projucer. The VST2 @@ -828,9 +830,9 @@ static const int defaultVSTBlockSizeValue = 512; JUCE_BEGIN_IGNORE_WARNINGS_MSVC (4996) //============================================================================== -struct VSTPluginInstance : public AudioPluginInstance, - private Timer, - private AsyncUpdater +struct VSTPluginInstance final : public AudioPluginInstance, + private Timer, + private AsyncUpdater { struct VSTParameter final : public Parameter { @@ -972,6 +974,11 @@ struct VSTPluginInstance : public AudioPluginInstance, return vstValueStrings; } + String getParameterID() const override + { + return String (getParameterIndex()); + } + VSTPluginInstance& pluginInstance; const String name; @@ -1077,7 +1084,7 @@ struct VSTPluginInstance : public AudioPluginInstance, isBoolSwitch, parameterValueStrings, valueType)); } - setParameterTree (std::move (newParameterTree)); + setHostedParameterTree (std::move (newParameterTree)); } ~VSTPluginInstance() override @@ -1260,7 +1267,7 @@ struct VSTPluginInstance : public AudioPluginInstance, { explicit Extensions (const VSTPluginInstance* instanceIn) : instance (instanceIn) {} - void* getAEffectPtr() const noexcept override { return instance->vstEffect; } + AEffect* getAEffectPtr() const noexcept override { return reinterpret_cast (instance->vstEffect); } const VSTPluginInstance* instance = nullptr; }; @@ -1578,7 +1585,7 @@ struct VSTPluginInstance : public AudioPluginInstance, { char nm[264] = { 0 }; - if (dispatch (Vst2::effGetProgramNameIndexed, jlimit (0, getNumPrograms(), index), -1, nm, 0) != 0) + if (dispatch (Vst2::effGetProgramNameIndexed, jlimit (0, getNumPrograms() - 1, index), -1, nm, 0) != 0) return String::fromUTF8 (nm).trim(); } } @@ -2005,7 +2012,7 @@ struct VSTPluginInstance : public AudioPluginInstance, private: //============================================================================== - struct VST2BypassParameter : Parameter + struct VST2BypassParameter final : public Parameter { VST2BypassParameter (VSTPluginInstance& effectToUse) : parent (effectToUse), @@ -2048,6 +2055,7 @@ private: int getNumSteps() const override { return 2; } StringArray getAllValueStrings() const override { return values; } String getLabel() const override { return {}; } + String getParameterID() const override { return {}; } VSTPluginInstance& parent; bool currentValue = false; @@ -2388,21 +2396,29 @@ private: else vstHostTime.flags &= ~Vst2::kVstTransportChanged; - switch (position.frameRate) + struct OptionalFrameRate { - case AudioPlayHead::fps24: setHostTimeFrameRate (Vst2::kVstSmpte24fps, 24.0, position.timeInSeconds); break; - case AudioPlayHead::fps25: setHostTimeFrameRate (Vst2::kVstSmpte25fps, 25.0, position.timeInSeconds); break; - case AudioPlayHead::fps30: setHostTimeFrameRate (Vst2::kVstSmpte30fps, 30.0, position.timeInSeconds); break; - case AudioPlayHead::fps60: setHostTimeFrameRate (Vst2::kVstSmpte60fps, 60.0, position.timeInSeconds); break; - - case AudioPlayHead::fps23976: setHostTimeFrameRateDrop (Vst2::kVstSmpte239fps, 24.0, position.timeInSeconds); break; - case AudioPlayHead::fps2997: setHostTimeFrameRateDrop (Vst2::kVstSmpte2997fps, 30.0, position.timeInSeconds); break; - case AudioPlayHead::fps2997drop: setHostTimeFrameRateDrop (Vst2::kVstSmpte2997dfps, 30.0, position.timeInSeconds); break; - case AudioPlayHead::fps30drop: setHostTimeFrameRateDrop (Vst2::kVstSmpte30dfps, 30.0, position.timeInSeconds); break; - case AudioPlayHead::fps60drop: setHostTimeFrameRateDrop (Vst2::kVstSmpte599fps, 60.0, position.timeInSeconds); break; - case AudioPlayHead::fpsUnknown: - default: break; - } + bool valid; + Vst2::VstInt32 rate; + }; + + const auto optionalFrameRate = [&fr = position.frameRate]() -> OptionalFrameRate + { + switch (fr.getBaseRate()) + { + case 24: return { true, fr.isPullDown() ? Vst2::kVstSmpte239fps : Vst2::kVstSmpte24fps }; + case 25: return { true, fr.isPullDown() ? Vst2::kVstSmpte249fps : Vst2::kVstSmpte25fps }; + case 30: return { true, fr.isPullDown() ? (fr.isDrop() ? Vst2::kVstSmpte2997dfps : Vst2::kVstSmpte2997fps) + : (fr.isDrop() ? Vst2::kVstSmpte30dfps : Vst2::kVstSmpte30fps) }; + case 60: return { true, fr.isPullDown() ? Vst2::kVstSmpte599fps : Vst2::kVstSmpte60fps }; + } + + return { false, Vst2::VstSmpteFrameRate{} }; + }(); + + vstHostTime.flags |= optionalFrameRate.valid ? Vst2::kVstSmpteValid : 0; + vstHostTime.smpteFrameRate = optionalFrameRate.rate; + vstHostTime.smpteOffset = (int32) (position.timeInSeconds * 80.0 * position.frameRate.getEffectiveRate() + 0.5); if (position.isLooping) { @@ -2498,18 +2514,6 @@ private: } //============================================================================== - void setHostTimeFrameRate (long frameRateIndex, double frameRate, double currentTime) noexcept - { - vstHostTime.flags |= Vst2::kVstSmpteValid; - vstHostTime.smpteFrameRate = (int32) frameRateIndex; - vstHostTime.smpteOffset = (int32) (currentTime * 80.0 * frameRate + 0.5); - } - - void setHostTimeFrameRateDrop (long frameRateIndex, double frameRate, double currentTime) noexcept - { - setHostTimeFrameRate (frameRateIndex, frameRate * 1000.0 / 1001.0, currentTime); - } - bool restoreProgramSettings (const fxProgram* const prog) { if (compareMagic (prog->chunkMagic, "CcnK") @@ -2849,7 +2853,7 @@ public: { if (cocoaWrapper != nullptr) { - if (isVisible()) + if (isShowing()) openPluginWindow ((NSView*) cocoaWrapper->getView()); else closePluginWindow(); @@ -2867,6 +2871,8 @@ public: setSize (w, h); } } + + void parentHierarchyChanged() override { visibilityChanged(); } #else void paint (Graphics& g) override { @@ -2911,18 +2917,28 @@ public: 0, 0, SWP_NOSIZE | SWP_NOZORDER | SWP_NOOWNERZORDER); + + MessageManager::callAsync ([ref = SafePointer (this)] + { + // Clean up after the editor window, in case it tried to move itself + // into the wrong location over this component. + if (ref == nullptr) + return; + + if (auto* p = ref->getPeer()) + p->repaint (p->getBounds().withPosition ({})); + }); } #elif JUCE_LINUX || JUCE_BSD if (pluginWindow != 0) { - const auto editorSize = plugin.getEditorSize(); auto* symbols = X11Symbols::getInstance(); symbols->xMoveResizeWindow (display, pluginWindow, pos.getX(), pos.getY(), - (unsigned int) editorSize.getWidth(), - (unsigned int) editorSize.getHeight()); + (unsigned int) pos.getWidth(), + (unsigned int) pos.getHeight()); symbols->xMapRaised (display, pluginWindow); symbols->xFlush (display); } @@ -2971,7 +2987,9 @@ public: void nativeScaleFactorChanged (double newScaleFactor) override { setScaleFactorAndDispatchMessage (newScaleFactor); - componentMovedOrResized (true, true); + #if JUCE_WINDOWS + resizeToFit(); + #endif } void setScaleFactorAndDispatchMessage (double newScaleFactor) @@ -3272,42 +3290,35 @@ private: //============================================================================== #if JUCE_WINDOWS - bool willCauseRecursiveResize (int w, int h) - { - auto newScreenBounds = Rectangle (w, h).withPosition (getScreenPosition()); - return Desktop::getInstance().getDisplays().getDisplayForRect (newScreenBounds)->scale != nativeScaleFactor; - } - bool isWindowSizeCorrectForPlugin (int w, int h) { - if (! isShowing() || pluginRefusesToResize) + if (pluginRefusesToResize) return true; return (isWithin (w, getWidth(), 5) && isWithin (h, getHeight(), 5)); } - void checkPluginWindowSize() + void resizeToFit() { - if (! pluginRespondsToDPIChanges) - { - Vst2::ERect* rect = nullptr; - dispatch (Vst2::effEditGetRect, 0, 0, &rect, 0); - - auto w = roundToInt ((rect->right - rect->left) / nativeScaleFactor); - auto h = roundToInt ((rect->bottom - rect->top) / nativeScaleFactor); + Vst2::ERect* rect = nullptr; + dispatch (Vst2::effEditGetRect, 0, 0, &rect, 0); - if (! isWindowSizeCorrectForPlugin (w, h)) - { - // If plug-in isn't DPI aware then we need to resize our window, but this may cause a recursive resize - // so add a check - if (! willCauseRecursiveResize (w, h)) - updateSizeFromEditor (w, h); + auto w = roundToInt ((rect->right - rect->left) / nativeScaleFactor); + auto h = roundToInt ((rect->bottom - rect->top) / nativeScaleFactor); - sizeCheckCount = 0; - } + if (! isWindowSizeCorrectForPlugin (w, h)) + { + updateSizeFromEditor (w, h); + sizeCheckCount = 0; } } + void checkPluginWindowSize() + { + if (! pluginRespondsToDPIChanges) + resizeToFit(); + } + // hooks to get keyboard events from VST windows.. static LRESULT CALLBACK vstHookWndProc (HWND hW, UINT message, WPARAM wParam, LPARAM lParam) { diff --git a/modules/juce_audio_processors/juce_audio_processors.cpp b/modules/juce_audio_processors/juce_audio_processors.cpp index 5625f23f..da7ff815 100644 --- a/modules/juce_audio_processors/juce_audio_processors.cpp +++ b/modules/juce_audio_processors/juce_audio_processors.cpp @@ -40,6 +40,7 @@ #include "juce_audio_processors.h" #include +#include //============================================================================== #if JUCE_MAC @@ -149,9 +150,9 @@ private: { addIvar ("owner"); - addMethod (@selector (isFlipped), isFlipped, "c@:"); - addMethod (@selector (isOpaque), isOpaque, "c@:"); - addMethod (@selector (didAddSubview:), didAddSubview, "v@:@"); + addMethod (@selector (isFlipped), isFlipped); + addMethod (@selector (isOpaque), isOpaque); + addMethod (@selector (didAddSubview:), didAddSubview); registerClass(); } @@ -159,17 +160,17 @@ private: static BOOL isFlipped (id, SEL) { return YES; } static BOOL isOpaque (id, SEL) { return YES; } - static void nudge (NSView* self) + static void nudge (id self) { if (auto* owner = getIvar (self, "owner")) if (owner->wantsNudge == WantsNudge::yes) owner->triggerAsyncUpdate(); } - static void viewDidUnhide (NSView* self, SEL) { nudge (self); } - static void didAddSubview (NSView* self, SEL, NSView*) { nudge (self); } - static void viewDidMoveToSuperview (NSView* self, SEL) { nudge (self); } - static void viewDidMoveToWindow (NSView* self, SEL) { nudge (self); } + static void viewDidUnhide (id self, SEL) { nudge (self); } + static void didAddSubview (id self, SEL, NSView*) { nudge (self); } + static void viewDidMoveToSuperview (id self, SEL) { nudge (self); } + static void viewDidMoveToWindow (id self, SEL) { nudge (self); } }; static FlippedNSView& getViewClass() diff --git a/modules/juce_audio_processors/juce_audio_processors.h b/modules/juce_audio_processors/juce_audio_processors.h index 3ad66380..6b914c84 100644 --- a/modules/juce_audio_processors/juce_audio_processors.h +++ b/modules/juce_audio_processors/juce_audio_processors.h @@ -35,7 +35,7 @@ ID: juce_audio_processors vendor: juce - version: 6.1.0 + version: 6.1.3 name: JUCE audio processor classes description: Classes for loading and playing VST, AU, LADSPA, or internally-generated audio processors. website: http://www.juce.com/juce @@ -120,6 +120,7 @@ #include "utilities/juce_VST3ClientExtensions.h" #include "utilities/juce_ExtensionsVisitor.h" #include "processors/juce_AudioProcessorParameter.h" +#include "processors/juce_HostedAudioProcessorParameter.h" #include "processors/juce_AudioProcessorEditorHostContext.h" #include "processors/juce_AudioProcessorEditor.h" #include "processors/juce_AudioProcessorListener.h" diff --git a/modules/juce_audio_processors/processors/juce_AudioPluginInstance.cpp b/modules/juce_audio_processors/processors/juce_AudioPluginInstance.cpp index 6153487e..c3112c10 100644 --- a/modules/juce_audio_processors/processors/juce_AudioPluginInstance.cpp +++ b/modules/juce_audio_processors/processors/juce_AudioPluginInstance.cpp @@ -221,7 +221,7 @@ AudioPluginInstance::Parameter::Parameter() offStrings.add (TRANS("false")); } -AudioPluginInstance::Parameter::~Parameter() {} +AudioPluginInstance::Parameter::~Parameter() = default; String AudioPluginInstance::Parameter::getText (float value, int maximumStringLength) const { @@ -249,4 +249,44 @@ float AudioPluginInstance::Parameter::getValueForText (const String& text) const return floatValue; } +void AudioPluginInstance::addHostedParameter (std::unique_ptr param) +{ + addParameter (param.release()); +} + +void AudioPluginInstance::addHostedParameterGroup (std::unique_ptr group) +{ + #if JUCE_DEBUG + // All parameters *must* be HostedParameters, otherwise getHostedParameter will return + // garbage and your host will crash and burn + for (auto* param : group->getParameters (true)) + { + jassert (dynamic_cast (param) != nullptr); + } + #endif + + addParameterGroup (std::move (group)); +} + +void AudioPluginInstance::setHostedParameterTree (AudioProcessorParameterGroup group) +{ + #if JUCE_DEBUG + // All parameters *must* be HostedParameters, otherwise getHostedParameter will return + // garbage and your host will crash and burn + for (auto* param : group.getParameters (true)) + { + jassert (dynamic_cast (param) != nullptr); + } + #endif + + setParameterTree (std::move (group)); +} + +AudioPluginInstance::HostedParameter* AudioPluginInstance::getHostedParameter (int index) const +{ + // It's important that all AudioPluginInstance implementations + // only ever own HostedParameters! + return static_cast (getParameters()[index]); +} + } // namespace juce diff --git a/modules/juce_audio_processors/processors/juce_AudioPluginInstance.h b/modules/juce_audio_processors/processors/juce_AudioPluginInstance.h index 8a5a5599..05f8e784 100644 --- a/modules/juce_audio_processors/processors/juce_AudioPluginInstance.h +++ b/modules/juce_audio_processors/processors/juce_AudioPluginInstance.h @@ -76,13 +76,48 @@ public: */ virtual void getExtensions (ExtensionsVisitor&) const; + using HostedParameter = HostedAudioProcessorParameter; + + /** Adds a parameter to this instance. + + @see AudioProcessor::addParameter() + */ + void addHostedParameter (std::unique_ptr); + + /** Adds multiple parameters to this instance. + + In debug mode, this will also check that all added parameters derive from + HostedParameter. + + @see AudioProcessor::addParameterGroup() + */ + void addHostedParameterGroup (std::unique_ptr); + + /** Adds multiple parameters to this instance. + + In debug mode, this will also check that all added parameters derive from + HostedParameter. + + @see AudioProcessor::setParameterTree() + */ + void setHostedParameterTree (AudioProcessorParameterGroup); + + /** Gets the parameter at a particular index. + + If you want to find lots of parameters by their IDs, you should probably build and + use a map by looping through all parameters. + */ + HostedParameter* getHostedParameter (int index) const; + + #ifndef DOXYGEN /** Use the new typesafe visitor-based interface rather than this function. Returns a pointer to some kind of platform-specific data about the plugin. E.g. For a VST, this value can be cast to an AEffect*. For an AudioUnit, it can be cast to an AudioUnit handle. */ - JUCE_DEPRECATED (virtual void* getPlatformSpecificData()); + [[deprecated ("Use the new typesafe visitor-based interface rather than this function.")]] + virtual void* getPlatformSpecificData(); // Rather than using these methods you should call the corresponding methods // on the AudioProcessorParameter objects returned from getParameters(). @@ -91,33 +126,36 @@ public: // // In addition to being marked as deprecated these methods will assert on // the first call. - JUCE_DEPRECATED (String getParameterID (int index) override); - JUCE_DEPRECATED (float getParameter (int parameterIndex) override); - JUCE_DEPRECATED (void setParameter (int parameterIndex, float newValue) override); - JUCE_DEPRECATED (const String getParameterName (int parameterIndex) override); - JUCE_DEPRECATED (String getParameterName (int parameterIndex, int maximumStringLength) override); - JUCE_DEPRECATED (const String getParameterText (int parameterIndex) override); - JUCE_DEPRECATED (String getParameterText (int parameterIndex, int maximumStringLength) override); - JUCE_DEPRECATED (int getParameterNumSteps (int parameterIndex) override); - JUCE_DEPRECATED (bool isParameterDiscrete (int parameterIndex) const override); - JUCE_DEPRECATED (bool isParameterAutomatable (int parameterIndex) const override); - JUCE_DEPRECATED (float getParameterDefaultValue (int parameterIndex) override); - JUCE_DEPRECATED (String getParameterLabel (int parameterIndex) const override); - JUCE_DEPRECATED (bool isParameterOrientationInverted (int parameterIndex) const override); - JUCE_DEPRECATED (bool isMetaParameter (int parameterIndex) const override); - JUCE_DEPRECATED (AudioProcessorParameter::Category getParameterCategory (int parameterIndex) const override); + [[deprecated]] String getParameterID (int index) override; + [[deprecated]] float getParameter (int parameterIndex) override; + [[deprecated]] void setParameter (int parameterIndex, float newValue) override; + [[deprecated]] const String getParameterName (int parameterIndex) override; + [[deprecated]] String getParameterName (int parameterIndex, int maximumStringLength) override; + [[deprecated]] const String getParameterText (int parameterIndex) override; + [[deprecated]] String getParameterText (int parameterIndex, int maximumStringLength) override; + [[deprecated]] int getParameterNumSteps (int parameterIndex) override; + [[deprecated]] bool isParameterDiscrete (int parameterIndex) const override; + [[deprecated]] bool isParameterAutomatable (int parameterIndex) const override; + [[deprecated]] float getParameterDefaultValue (int parameterIndex) override; + [[deprecated]] String getParameterLabel (int parameterIndex) const override; + [[deprecated]] bool isParameterOrientationInverted (int parameterIndex) const override; + [[deprecated]] bool isMetaParameter (int parameterIndex) const override; + [[deprecated]] AudioProcessorParameter::Category getParameterCategory (int parameterIndex) const override; + #endif protected: //============================================================================== /** Structure used to describe plugin parameters */ - struct Parameter : public AudioProcessorParameter + struct Parameter : public HostedParameter { + public: Parameter(); ~Parameter() override; String getText (float value, int maximumStringLength) const override; float getValueForText (const String& text) const override; + private: StringArray onStrings, offStrings; }; @@ -127,6 +165,12 @@ protected: AudioPluginInstance (const short channelLayoutList[numLayouts][2]) : AudioProcessor (channelLayoutList) {} private: + // It's not safe to add a plain AudioProcessorParameter to an AudioPluginInstance. + // Instead, all parameters must be HostedParameters. + using AudioProcessor::addParameter; + using AudioProcessor::addParameterGroup; + using AudioProcessor::setParameterTree; + void assertOnceOnDeprecatedMethodUse() const noexcept; static bool deprecationAssertiontriggered; diff --git a/modules/juce_audio_processors/processors/juce_AudioProcessor.cpp b/modules/juce_audio_processors/processors/juce_AudioProcessor.cpp index ac3c40bf..fbf91cb8 100644 --- a/modules/juce_audio_processors/processors/juce_AudioProcessor.cpp +++ b/modules/juce_audio_processors/processors/juce_AudioProcessor.cpp @@ -1193,31 +1193,35 @@ int32 AudioProcessor::getAAXPluginIDForMainBusConfig (const AudioChannelSet& mai auto& set = (isInput ? mainInputLayout : mainOutputLayout); int aaxFormatIndex = 0; - if (set == AudioChannelSet::disabled()) aaxFormatIndex = 0; - else if (set == AudioChannelSet::mono()) aaxFormatIndex = 1; - else if (set == AudioChannelSet::stereo()) aaxFormatIndex = 2; - else if (set == AudioChannelSet::createLCR()) aaxFormatIndex = 3; - else if (set == AudioChannelSet::createLCRS()) aaxFormatIndex = 4; - else if (set == AudioChannelSet::quadraphonic()) aaxFormatIndex = 5; - else if (set == AudioChannelSet::create5point0()) aaxFormatIndex = 6; - else if (set == AudioChannelSet::create5point1()) aaxFormatIndex = 7; - else if (set == AudioChannelSet::create6point0()) aaxFormatIndex = 8; - else if (set == AudioChannelSet::create6point1()) aaxFormatIndex = 9; - else if (set == AudioChannelSet::create7point0()) aaxFormatIndex = 10; - else if (set == AudioChannelSet::create7point1()) aaxFormatIndex = 11; - else if (set == AudioChannelSet::create7point0SDDS()) aaxFormatIndex = 12; - else if (set == AudioChannelSet::create7point1SDDS()) aaxFormatIndex = 13; - else if (set == AudioChannelSet::create7point0point2()) aaxFormatIndex = 14; - else if (set == AudioChannelSet::create7point1point2()) aaxFormatIndex = 15; - else if (set == AudioChannelSet::ambisonic (1)) aaxFormatIndex = 16; - else if (set == AudioChannelSet::ambisonic (2)) aaxFormatIndex = 17; - else if (set == AudioChannelSet::ambisonic (3)) aaxFormatIndex = 18; - else + const AudioChannelSet sets[] { - // AAX does not support this format and the wrapper should not have - // called this method with this layout + AudioChannelSet::disabled(), + AudioChannelSet::mono(), + AudioChannelSet::stereo(), + AudioChannelSet::createLCR(), + AudioChannelSet::createLCRS(), + AudioChannelSet::quadraphonic(), + AudioChannelSet::create5point0(), + AudioChannelSet::create5point1(), + AudioChannelSet::create6point0(), + AudioChannelSet::create6point1(), + AudioChannelSet::create7point0(), + AudioChannelSet::create7point1(), + AudioChannelSet::create7point0SDDS(), + AudioChannelSet::create7point1SDDS(), + AudioChannelSet::create7point0point2(), + AudioChannelSet::create7point1point2(), + AudioChannelSet::ambisonic (1), + AudioChannelSet::ambisonic (2), + AudioChannelSet::ambisonic (3) + }; + + const auto index = (int) std::distance (std::begin (sets), std::find (std::begin (sets), std::end (sets), set)); + + if (index != numElementsInArray (sets)) + aaxFormatIndex = index; + else jassertfalse; - } uniqueFormatId = (uniqueFormatId << 8) | aaxFormatIndex; } diff --git a/modules/juce_audio_processors/processors/juce_AudioProcessor.h b/modules/juce_audio_processors/processors/juce_AudioProcessor.h index 07f68c84..3cb5b78e 100644 --- a/modules/juce_audio_processors/processors/juce_AudioProcessor.h +++ b/modules/juce_audio_processors/processors/juce_AudioProcessor.h @@ -993,7 +993,7 @@ public: It sends a hint to the host that something like the program, number of parameters, etc, has changed, and that it should update itself. */ - void updateHostDisplay (const ChangeDetails& details = ChangeDetails::getAllChanged()); + void updateHostDisplay (const ChangeDetails& details = ChangeDetails::getDefaultFlags()); //============================================================================== /** Adds a parameter to the AudioProcessor. @@ -1378,41 +1378,40 @@ protected: /** @internal */ void sendParamChangeMessageToListeners (int parameterIndex, float newValue); - //============================================================================== - #ifndef DOXYGEN public: + #ifndef DOXYGEN // These methods are all deprecated in favour of using AudioProcessorParameter // and AudioProcessorParameterGroup - JUCE_DEPRECATED (virtual int getNumParameters()); - JUCE_DEPRECATED (virtual const String getParameterName (int parameterIndex)); - JUCE_DEPRECATED (virtual String getParameterID (int index)); - JUCE_DEPRECATED (virtual float getParameter (int parameterIndex)); - JUCE_DEPRECATED (virtual String getParameterName (int parameterIndex, int maximumStringLength)); - JUCE_DEPRECATED (virtual const String getParameterText (int parameterIndex)); - JUCE_DEPRECATED (virtual String getParameterText (int parameterIndex, int maximumStringLength)); - JUCE_DEPRECATED (virtual int getParameterNumSteps (int parameterIndex)); - JUCE_DEPRECATED (virtual bool isParameterDiscrete (int parameterIndex) const); - JUCE_DEPRECATED (virtual float getParameterDefaultValue (int parameterIndex)); - JUCE_DEPRECATED (virtual String getParameterLabel (int index) const); - JUCE_DEPRECATED (virtual bool isParameterOrientationInverted (int index) const); - JUCE_DEPRECATED (virtual void setParameter (int parameterIndex, float newValue)); - JUCE_DEPRECATED (virtual bool isParameterAutomatable (int parameterIndex) const); - JUCE_DEPRECATED (virtual bool isMetaParameter (int parameterIndex) const); - JUCE_DEPRECATED (virtual AudioProcessorParameter::Category getParameterCategory (int parameterIndex) const); - JUCE_DEPRECATED (void beginParameterChangeGesture (int parameterIndex)); - JUCE_DEPRECATED (void endParameterChangeGesture (int parameterIndex)); - JUCE_DEPRECATED (void setParameterNotifyingHost (int parameterIndex, float newValue)); + [[deprecated]] virtual int getNumParameters(); + [[deprecated]] virtual const String getParameterName (int parameterIndex); + [[deprecated]] virtual String getParameterID (int index); + [[deprecated]] virtual float getParameter (int parameterIndex); + [[deprecated]] virtual String getParameterName (int parameterIndex, int maximumStringLength); + [[deprecated]] virtual const String getParameterText (int parameterIndex); + [[deprecated]] virtual String getParameterText (int parameterIndex, int maximumStringLength); + [[deprecated]] virtual int getParameterNumSteps (int parameterIndex); + [[deprecated]] virtual bool isParameterDiscrete (int parameterIndex) const; + [[deprecated]] virtual float getParameterDefaultValue (int parameterIndex); + [[deprecated]] virtual String getParameterLabel (int index) const; + [[deprecated]] virtual bool isParameterOrientationInverted (int index) const; + [[deprecated]] virtual void setParameter (int parameterIndex, float newValue); + [[deprecated]] virtual bool isParameterAutomatable (int parameterIndex) const; + [[deprecated]] virtual bool isMetaParameter (int parameterIndex) const; + [[deprecated]] virtual AudioProcessorParameter::Category getParameterCategory (int parameterIndex) const; + [[deprecated]] void beginParameterChangeGesture (int parameterIndex); + [[deprecated]] void endParameterChangeGesture (int parameterIndex); + [[deprecated]] void setParameterNotifyingHost (int parameterIndex, float newValue); // These functions are deprecated: your audio processor can inform the host // on its bus and channel layouts and names using the AudioChannelSet and various bus classes. - JUCE_DEPRECATED_WITH_BODY (int getNumInputChannels() const noexcept, { return getTotalNumInputChannels(); }) - JUCE_DEPRECATED_WITH_BODY (int getNumOutputChannels() const noexcept, { return getTotalNumOutputChannels(); }) - JUCE_DEPRECATED_WITH_BODY (const String getInputSpeakerArrangement() const noexcept, { return cachedInputSpeakerArrString; }) - JUCE_DEPRECATED_WITH_BODY (const String getOutputSpeakerArrangement() const noexcept, { return cachedOutputSpeakerArrString; }) - JUCE_DEPRECATED (virtual const String getInputChannelName (int channelIndex) const); - JUCE_DEPRECATED (virtual const String getOutputChannelName (int channelIndex) const); - JUCE_DEPRECATED (virtual bool isInputChannelStereoPair (int index) const); - JUCE_DEPRECATED (virtual bool isOutputChannelStereoPair (int index) const); + [[deprecated]] int getNumInputChannels() const noexcept { return getTotalNumInputChannels(); } + [[deprecated]] int getNumOutputChannels() const noexcept { return getTotalNumOutputChannels(); } + [[deprecated]] const String getInputSpeakerArrangement() const noexcept { return cachedInputSpeakerArrString; } + [[deprecated]] const String getOutputSpeakerArrangement() const noexcept { return cachedOutputSpeakerArrString; } + [[deprecated]] virtual const String getInputChannelName (int channelIndex) const; + [[deprecated]] virtual const String getOutputChannelName (int channelIndex) const; + [[deprecated]] virtual bool isInputChannelStereoPair (int index) const; + [[deprecated]] virtual bool isOutputChannelStereoPair (int index) const; #endif private: @@ -1511,8 +1510,8 @@ private: friend class AudioProcessorParameter; friend class LADSPAPluginInstance; - // This method is no longer used - you can delete it from your AudioProcessor classes. - JUCE_DEPRECATED_WITH_BODY (virtual bool silenceInProducesSilenceOut() const, { return false; }) + [[deprecated ("This method is no longer used - you can delete it from your AudioProcessor classes.")]] + virtual bool silenceInProducesSilenceOut() const { return false; } JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (AudioProcessor) }; diff --git a/modules/juce_audio_processors/processors/juce_AudioProcessorEditorHostContext.h b/modules/juce_audio_processors/processors/juce_AudioProcessorEditorHostContext.h index 66d597a3..8b01a7c5 100644 --- a/modules/juce_audio_processors/processors/juce_AudioProcessorEditorHostContext.h +++ b/modules/juce_audio_processors/processors/juce_AudioProcessorEditorHostContext.h @@ -31,6 +31,8 @@ namespace juce You can choose to create a standard PopupMenu to display the host-provided options. Alternatively, you can ask the host to display a native menu at a specific location. + + @tags{Audio} */ struct HostProvidedContextMenu { @@ -45,7 +47,13 @@ struct HostProvidedContextMenu */ virtual PopupMenu getEquivalentPopupMenu() const = 0; - /** Asks the host to display its native menu at a particular location. */ + /** Asks the host to display its native menu at a location relative + to the top left corner of the editor. + + The position you provide should be in logical pixels. To display + the menu next to the mouse cursor, call Component::getMouseXYRelative() + on your editor and pass the result to this function. + */ virtual void showNativeMenu (Point pos) const = 0; }; @@ -54,6 +62,8 @@ struct HostProvidedContextMenu At the moment, this can be used to retrieve context menus for parameters in compatible VST3 hosts. Additional extensions may be added here in the future. + + @tags{Audio} */ struct AudioProcessorEditorHostContext { diff --git a/modules/juce_audio_processors/processors/juce_AudioProcessorListener.h b/modules/juce_audio_processors/processors/juce_AudioProcessorListener.h index ad9070df..aba63104 100644 --- a/modules/juce_audio_processors/processors/juce_AudioProcessorListener.h +++ b/modules/juce_audio_processors/processors/juce_AudioProcessorListener.h @@ -61,21 +61,73 @@ public: */ struct JUCE_API ChangeDetails { - bool latencyChanged = false; - bool parameterInfoChanged = false; - bool programChanged = false; + /** @see withLatencyChanged */ + bool latencyChanged = false; + /** @see withParameterInfoChanged */ + bool parameterInfoChanged = false; + /** @see withProgramChanged */ + bool programChanged = false; + /** @see withNonParameterStateChanged */ + bool nonParameterStateChanged = false; - ChangeDetails withLatencyChanged (bool b) const noexcept { return with (&ChangeDetails::latencyChanged, b); } - ChangeDetails withParameterInfoChanged (bool b) const noexcept { return with (&ChangeDetails::parameterInfoChanged, b); } - ChangeDetails withProgramChanged (bool b) const noexcept { return with (&ChangeDetails::programChanged, b); } + /** Indicates that the AudioProcessor's latency has changed. - static ChangeDetails getAllChanged() + Most of the time, you won't need to use this function directly. + AudioProcessor::setLatencySamples() will automatically call + AudioProcessor::updateHostDisplay(), indicating that the latency has changed. + + @see latencyChanged + */ + ChangeDetails withLatencyChanged (bool b) const noexcept { return with (&ChangeDetails::latencyChanged, b); } + + /** Indicates that some attributes of the AudioProcessor's parameters have changed. + + When this flag is set, the host should rescan the AudioProcessor's parameters, and + update its controls to match. This is often used to update the names of a plugin's + parameters in the host. + + @see parameterInfoChanged + */ + ChangeDetails withParameterInfoChanged (bool b) const noexcept { return with (&ChangeDetails::parameterInfoChanged, b); } + + /** Indicates that the loaded program has changed. + + When this flag is set, the host should call AudioProcessor::getCurrentProgram() and + update any preset list views to display the program that is currently in use. + + @see programChanged + */ + ChangeDetails withProgramChanged (bool b) const noexcept { return with (&ChangeDetails::programChanged, b); } + + /** Indicates that the plugin state has changed (but not its parameters!). + + An AudioProcessor can call updateHostDisplay with this flag set to notify the host that + its state has changed in a way that requires re-saving. + + If a host receives a call to audioProcessorChanged with this flag set, it should offer + to save the plugin state before taking any actions that might irrevocably destroy the + current plugin state, such as closing the project. + + @see nonParameterStateChanged + */ + ChangeDetails withNonParameterStateChanged (bool b) const noexcept { return with (&ChangeDetails::nonParameterStateChanged, b); } + + /** Returns the default set of flags that will be used when + AudioProcessor::updateHostDisplay() is called with no arguments. + */ + static ChangeDetails getDefaultFlags() { return ChangeDetails{}.withLatencyChanged (true) .withParameterInfoChanged (true) .withProgramChanged (true); } + [[deprecated ("The naming of this function is misleading. Use getDefaultFlags instead.")]] + static ChangeDetails getAllChanged() + { + return getDefaultFlags(); + } + private: template ChangeDetails with (Member&& member, Value&& value) const noexcept diff --git a/modules/juce_audio_processors/processors/juce_AudioProcessorParameterGroup.h b/modules/juce_audio_processors/processors/juce_AudioProcessorParameterGroup.h index 7f26bb4f..46ae9225 100644 --- a/modules/juce_audio_processors/processors/juce_AudioProcessorParameterGroup.h +++ b/modules/juce_audio_processors/processors/juce_AudioProcessorParameterGroup.h @@ -227,11 +227,11 @@ public: } #ifndef DOXYGEN - // This class now has a move operator, so if you're trying to move them around, you - // should use that, or if you really need to swap two groups, just call std::swap. - // However, remember that swapping a group that's already owned by an AudioProcessor - // will most likely crash the host, so don't do that. - JUCE_DEPRECATED_WITH_BODY (void swapWith (AudioProcessorParameterGroup& other), { std::swap (*this, other); }) + [[deprecated ("This class now has a move operator, so if you're trying to move them around, you " + "should use that, or if you really need to swap two groups, just call std::swap. " + "However, remember that swapping a group that's already owned by an AudioProcessor " + "will most likely crash the host, so don't do that.")]] + void swapWith (AudioProcessorParameterGroup& other) { std::swap (*this, other); } #endif private: diff --git a/modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp b/modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp index 4d497560..e380d0c6 100644 --- a/modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp +++ b/modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp @@ -406,25 +406,35 @@ private: }; //============================================================================== -class ParameterDisplayComponent : public Component +class ParameterDisplayComponent : public Component, + private AudioProcessorListener, + private AsyncUpdater { public: - ParameterDisplayComponent (AudioProcessor& processor, AudioProcessorParameter& param) - : parameter (param) + ParameterDisplayComponent (AudioProcessorEditor& editorIn, AudioProcessorParameter& param) + : editor (editorIn), parameter (param) { + editor.processor.addListener (this); + parameterName.setText (parameter.getName (128), dontSendNotification); parameterName.setJustificationType (Justification::centredRight); + parameterName.setInterceptsMouseClicks (false, false); addAndMakeVisible (parameterName); parameterLabel.setText (parameter.getLabel(), dontSendNotification); + parameterLabel.setInterceptsMouseClicks (false, false); addAndMakeVisible (parameterLabel); - addAndMakeVisible (*(parameterComp = createParameterComp (processor))); + addAndMakeVisible (*(parameterComp = createParameterComp (editor.processor))); setSize (400, 40); } - void paint (Graphics&) override {} + ~ParameterDisplayComponent() override + { + cancelPendingUpdate(); + editor.processor.removeListener (this); + } void resized() override { @@ -435,7 +445,17 @@ public: parameterComp->setBounds (area); } + void mouseDown (const MouseEvent& e) override + { + if (e.mods.isRightButtonDown()) + if (auto* context = editor.getHostContext()) + if (auto menu = context->getContextMenuForParameterIndex (¶meter)) + menu->getEquivalentPopupMenu().showMenuAsync (PopupMenu::Options().withTargetComponent (this) + .withMousePosition()); + } + private: + AudioProcessorEditor& editor; AudioProcessorParameter& parameter; Label parameterName, parameterLabel; std::unique_ptr parameterComp; @@ -464,105 +484,124 @@ private: return std::make_unique (processor, parameter); } + void audioProcessorParameterChanged (AudioProcessor*, int, float) override {} + + void audioProcessorChanged (AudioProcessor*, const ChangeDetails& details) override + { + if (! details.parameterInfoChanged) + return; + + if (MessageManager::getInstance()->isThisTheMessageThread()) + handleAsyncUpdate(); + else + triggerAsyncUpdate(); + } + + void handleAsyncUpdate() override + { + parameterName .setText (parameter.getName (128), dontSendNotification); + parameterLabel.setText (parameter.getLabel(), dontSendNotification); + } + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ParameterDisplayComponent) }; //============================================================================== -class ParametersPanel : public Component +struct ParamControlItem : public TreeViewItem { -public: - ParametersPanel (AudioProcessor& processor, const Array& parameters) + ParamControlItem (AudioProcessorEditor& editorIn, AudioProcessorParameter& paramIn) + : editor (editorIn), param (paramIn) {} + + bool mightContainSubItems() override { return false; } + + std::unique_ptr createItemComponent() override { - for (auto* param : parameters) - if (param->isAutomatable()) - addAndMakeVisible (paramComponents.add (new ParameterDisplayComponent (processor, *param))); + return std::make_unique (editor, param); + } + + int getItemHeight() const override { return 40; } - int maxWidth = 400; - int height = 0; + AudioProcessorEditor& editor; + AudioProcessorParameter& param; +}; - for (auto& comp : paramComponents) +struct ParameterGroupItem : public TreeViewItem +{ + ParameterGroupItem (AudioProcessorEditor& editor, const AudioProcessorParameterGroup& group) + : name (group.getName()) + { + for (auto* node : group) { - maxWidth = jmax (maxWidth, comp->getWidth()); - height += comp->getHeight(); - } + if (auto* param = node->getParameter()) + if (param->isAutomatable()) + addSubItem (new ParamControlItem (editor, *param)); - setSize (maxWidth, jmax (height, 125)); - } + if (auto* inner = node->getGroup()) + { + auto groupItem = std::make_unique (editor, *inner); - ~ParametersPanel() override - { - paramComponents.clear(); + if (groupItem->getNumSubItems() != 0) + addSubItem (groupItem.release()); + } + } } - void paint (Graphics& g) override - { - g.fillAll (getLookAndFeel().findColour (ResizableWindow::backgroundColourId)); - } + bool mightContainSubItems() override { return getNumSubItems() > 0; } - void resized() override + std::unique_ptr createItemComponent() override { - auto area = getLocalBounds(); - - for (auto* comp : paramComponents) - comp->setBounds (area.removeFromTop (comp->getHeight())); + return std::make_unique