From 155892e74b5192bda6871fb0b71d644cc424d18d Mon Sep 17 00:00:00 2001 From: falkTX Date: Sat, 1 Jun 2013 01:20:00 +0100 Subject: [PATCH] More work --- Makefile | 230 +++++++++++-- data/lv2/carla.ttl | 53 --- data/lv2/manifest.ttl | 12 - source/Makefile.mk | 73 ++-- source/backend/Makefile | 129 ------- source/backend/Makefile.mk | 4 + source/backend/engine/Makefile | 6 +- .../native/3bandeq/DistrhoArtwork3BandEQ.cpp | 324 ++++++++---------- .../native/3bandeq/DistrhoArtwork3BandEQ.hpp | 12 +- .../3bandeq/artwork/aboutButtonHover.png | Bin 6428 -> 4081 bytes .../3bandeq/artwork/aboutButtonNormal.png | Bin 6407 -> 4089 bytes .../DistrhoArtwork3BandSplitter.cpp | 324 ++++++++---------- .../DistrhoArtwork3BandSplitter.hpp | 12 +- .../artwork/aboutButtonHover.png | Bin 6428 -> 4081 bytes .../artwork/aboutButtonNormal.png | Bin 6407 -> 4089 bytes source/backend/native/Makefile | 6 +- source/backend/native/distrho-notes.cpp | 6 +- source/backend/plugin/Makefile | 6 +- source/backend/standalone/Makefile | 22 +- source/bridges/CarlaBridgeToolkitQt.cpp | 4 +- source/bridges/Makefile | 60 ++-- source/discovery/Makefile | 29 +- source/libs/Makefile | 35 +- source/plugin/Makefile | 21 +- source/theme/Makefile | 68 +++- source/widgets/Makefile | 15 +- source/widgets/digitalpeakmeter.hpp | 4 +- source/widgets/ledbutton.hpp | 4 +- source/widgets/paramspinbox.hpp | 4 +- source/widgets/pixmapdial.hpp | 4 +- source/widgets/pixmapkeyboard.hpp | 4 +- 31 files changed, 739 insertions(+), 732 deletions(-) delete mode 100644 data/lv2/carla.ttl delete mode 100644 data/lv2/manifest.ttl diff --git a/Makefile b/Makefile index ccb7acbec..4e630cb80 100644 --- a/Makefile +++ b/Makefile @@ -4,6 +4,10 @@ # Created by falkTX # +include source/Makefile.mk + +# -------------------------------------------------------------- + PREFIX = /usr/local DESTDIR = @@ -13,14 +17,14 @@ LINK = ln -sf PYUIC ?= pyuic4 PYRCC ?= pyrcc4 -py3 -# ------------------------------------------------------------------------------------------------------------------------------------- +# -------------------------------------------------------------- -all: CPP RES UI WIDGETS +all: CXX RES UI WIDGETS -# ------------------------------------------------------------------------------------------------------------------------------------- +# -------------------------------------------------------------- # C++ code -CPP: backend bridges discovery +CXX: backend bridges discovery backend: $(MAKE) -C source/backend @@ -31,6 +35,15 @@ bridges: discovery: $(MAKE) -C source/discovery +plugin: + $(MAKE) -C source/plugin + +theme: + $(MAKE) -C source/theme + +widgets: + $(MAKE) -C source/widgets + posix32: $(MAKE) -C source/bridges posix32 $(MAKE) -C source/discovery posix32 @@ -55,7 +68,7 @@ wine64: $(MAKE) -C source/libs jackbridge-win64.dll.so $(LINK) ../libs/jackbridge-win64.dll.so source/bridges/jackbridge-win64.dll -# ------------------------------------------------------------------------------------------------------------------------------------- +# -------------------------------------------------------------- # Resources RES = source/resources_rc.py @@ -65,7 +78,7 @@ RES: $(RES) source/%_rc.py: resources/%.qrc $(PYRCC) $< -o $@ -# ------------------------------------------------------------------------------------------------------------------------------------- +# -------------------------------------------------------------- # UI code UIs = \ @@ -86,7 +99,7 @@ UI: $(UIs) source/ui_%.py: resources/ui/%.ui $(PYUIC) $< -o $@ -# ------------------------------------------------------------------------------------------------------------------------------------- +# -------------------------------------------------------------- # Widgets WIDGETS = \ @@ -103,29 +116,28 @@ WIDGETS: $(WIDGETS) source/%.py: source/widgets/%.py $(LINK) widgets/$*.py $@ -# ------------------------------------------------------------------------------------------------------------------------------------- +# -------------------------------------------------------------- clean: $(MAKE) clean -C source/backend $(MAKE) clean -C source/bridges $(MAKE) clean -C source/discovery $(MAKE) clean -C source/libs + $(MAKE) clean -C source/plugin + $(MAKE) clean -C source/tests + $(MAKE) clean -C source/theme + $(MAKE) clean -C source/widgets rm -f $(RES) rm -f $(UIs) rm -f $(WIDGETS) rm -f *~ source/*~ source/*.pyc source/*_rc.py source/ui_*.py -# ------------------------------------------------------------------------------------------------------------------------------------- - -config: - $(MAKE) config -C source/backend - -# ------------------------------------------------------------------------------------------------------------------------------------- +# -------------------------------------------------------------- debug: $(MAKE) DEBUG=true -# ------------------------------------------------------------------------------------------------------------------------------------- +# -------------------------------------------------------------- install: # Create directories @@ -134,7 +146,12 @@ install: install -d $(DESTDIR)$(PREFIX)/lib/carla/resources/ install -d $(DESTDIR)$(PREFIX)/lib/carla/resources/nekofilter/ install -d $(DESTDIR)$(PREFIX)/lib/carla/resources/zynaddsubfx/ +ifeq ($(CARLA_PLUGIN_SUPPORT),true) + install -d $(DESTDIR)$(PREFIX)/lib/dssi/ + install -d $(DESTDIR)$(PREFIX)/lib/lv2/ install -d $(DESTDIR)$(PREFIX)/lib/lv2/carla.lv2/ + install -d $(DESTDIR)$(PREFIX)/lib/vst/ +endif install -d $(DESTDIR)$(PREFIX)/share/applications/ install -d $(DESTDIR)$(PREFIX)/share/icons/hicolor/16x16/apps/ install -d $(DESTDIR)$(PREFIX)/share/icons/hicolor/48x48/apps/ @@ -183,22 +200,25 @@ install: # Install python code install -m 755 source/*.py $(DESTDIR)$(PREFIX)/share/carla/ - # Install LV2 plugin - install -m 644 data/lv2/*.ttl $(DESTDIR)$(PREFIX)/lib/lv2/carla.lv2/ - $(LINK) $(PREFIX)/lib/carla/libcarla_standalone.so $(DESTDIR)$(PREFIX)/lib/lv2/carla.lv2/carla.so - # Install resources install -m 644 source/backend/resources/nekofilter-ui $(DESTDIR)$(PREFIX)/lib/carla/resources/ install -m 644 source/backend/resources/nekofilter/*.png $(DESTDIR)$(PREFIX)/lib/carla/resources/nekofilter/ install -m 644 source/backend/resources/zynaddsubfx/*.png $(DESTDIR)$(PREFIX)/lib/carla/resources/zynaddsubfx/ +ifeq ($(CARLA_PLUGIN_SUPPORT),true) + # Install plugin + install -m 644 source/plugin/carla-dssi.so $(DESTDIR)$(PREFIX)/lib/dssi/ + install -m 644 source/plugin/carla-vst.so $(DESTDIR)$(PREFIX)/lib/vst/ + install -m 644 source/plugin/carla.lv2/* $(DESTDIR)$(PREFIX)/lib/lv2/carla.lv2/ +endif + # Adjust PREFIX value in script files sed -i "s/X-PREFIX-X/$(SED_PREFIX)/" \ $(DESTDIR)$(PREFIX)/bin/carla \ $(DESTDIR)$(PREFIX)/bin/carla-control \ $(DESTDIR)$(PREFIX)/bin/carla-single -# ------------------------------------------------------------------------------------------------------------------------------------- +# -------------------------------------------------------------- uninstall: rm -f $(DESTDIR)$(PREFIX)/bin/carla* @@ -208,5 +228,175 @@ uninstall: rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/*/apps/carla-control.png rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/carla.svg rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/carla-control.svg + rm -f $(DESTDIR)$(PREFIX)/lib/dssi/carla-dssi.so + rm -f $(DESTDIR)$(PREFIX)/lib/vst/carla-vst.so rm -rf $(DESTDIR)$(PREFIX)/lib/carla/ + rm -rf $(DESTDIR)$(PREFIX)/lib/lv2/carla.lv2/ rm -rf $(DESTDIR)$(PREFIX)/share/carla/ + +# -------------------------------------------------------------- + +ANS_NO=\033[31m NO \033[0m +ANS_YES=\033[32m YES \033[0m +mS=\033[33m[ +mE=]\033[0m + +features: +ifeq ($(MACOS),true) +# --- MacOS --- + @echo "\033[36m---> Engine drivers: (MacOS)\033[0m" + @echo "JACK: $(ANS_YES)" +ifeq ($(CARLA_RTAUDIO_SUPPORT),true) + @echo "CoreAudio:$(ANS_YES)" +else + @echo "CoreAudio:$(ANS_NO) $(mS)RtAudio disabled$(mE)" +endif +# --- MacOS --- +else +# --- Win32 --- +ifeq ($(WIN32),true) + @echo "\033[36m---> Engine drivers: (Windows)\033[0m" + @echo "JACK: $(ANS_YES)" +ifeq ($(CARLA_RTAUDIO_SUPPORT),true) + @echo "ASIO: $(ANS_YES)" + @echo "DirectSound:$(ANS_YES)" +else + @echo "ASIO: $(ANS_NO) $(mS)RtAudio disabled$(mE)" + @echo "DirectSound:$(ANS_NO) $(mS)RtAudio disabled$(mE)" +endif +# --- Win32 --- +else +# --- Others --- + @echo "\033[36m---> Engine drivers: \033[0m" + @echo "JACK: $(ANS_YES)" +ifeq ($(CARLA_RTAUDIO_SUPPORT),true) +ifeq ($(HAVE_ALSA),true) + @echo "ALSA: $(ANS_YES)" +else + @echo "ALSA: $(ANS_NO) $(mS)Missing ALSA$(mE)" +endif +ifeq ($(HAVE_PULSEAUDIO),true) + @echo "PulseAudio:$(ANS_YES)" +else + @echo "PulseAudio:$(ANS_NO) $(mS)Missing PulseAudio$(mE)" +endif +else + @echo "ALSA: $(ANS_NO) $(mS)RtAudio disabled$(mE)" + @echo "PulseAudio:$(ANS_NO) $(mS)RtAudio disabled$(mE)" +endif +# --- Others --- +endif + @echo "" +endif + + @echo "\033[36m---> Plugin formats: \033[0m" + @echo "Internal:$(ANS_YES)" +ifeq ($(CARLA_PLUGIN_SUPPORT),true) + @echo "LADSPA: $(ANS_YES)" + @echo "DSSI: $(ANS_YES)" + @echo "LV2: $(ANS_YES)" + @echo "VST: $(ANS_YES)" +else + @echo "LADSPA: $(ANS_NO) $(mS)Plugins disabled$(mE)" + @echo "DSSI: $(ANS_NO) $(mS)Plugins disabled$(mE)" + @echo "LV2: $(ANS_NO) $(mS)Plugins disabled$(mE)" + @echo "VST: $(ANS_NO) $(mS)Plugins disabled$(mE)" +endif + @echo "" + +ifeq ($(CARLA_PLUGIN_SUPPORT),true) + @echo "\033[36m---> LV2 UI toolkit support: \033[0m" +ifeq ($(MACOS),true) +# --- MacOS --- + @echo "Cocoa:$(ANS_YES)" +# --- MacOS --- +else +# --- Win32 --- +ifeq ($(WIN32),true) +# --- Win32 --- + @echo "Windows:$(ANS_YES)" +else +# --- Others --- +ifeq ($(HAVE_GTK2),true) + @echo "Gtk2:$(ANS_YES)" +else + @echo "Gtk2:$(ANS_NO) $(mS)Gtk2 missing$(mE)" +endif +ifeq ($(HAVE_GTK3),true) + @echo "Gtk3:$(ANS_YES)" +else + @echo "Gtk3:$(ANS_NO) $(mS)Gtk3 missing$(mE)" +endif +ifeq ($(HAVE_QT4),true) + @echo "Qt4: $(ANS_YES)" +else + @echo "Qt4: $(ANS_NO) $(mS)Qt4 missing$(mE)" +endif +ifeq ($(HAVE_QT5),true) + @echo "Qt5: $(ANS_YES)" +else + @echo "Qt5: $(ANS_NO) $(mS)Qt5 missing$(mE)" +endif + @echo "X11: $(ANS_YES)" +endif +# --- Others --- +endif + @echo "" +endif + + @echo "\033[36m---> Sample formats: \033[0m" +ifeq ($(CARLA_SAMPLERS_SUPPORT),true) +ifeq ($(HAVE_LINUXSAMPLER),true) + @echo "GIG:$(ANS_YES)" +else + @echo "GIG:$(ANS_NO) $(mS)LinuxSampler missing$(mE)" +endif +ifeq ($(HAVE_FLUIDSYNTH),true) + @echo "SF2:$(ANS_YES)" +else + @echo "SF2:$(ANS_NO) $(mS)FluidSynth missing$(mE)" +endif +ifeq ($(HAVE_LINUXSAMPLER),true) + @echo "SFZ:$(ANS_YES)" +else + @echo "SFZ:$(ANS_NO) $(mS)LinuxSampler missing$(mE)" +endif +else + @echo "GIG:$(ANS_NO) $(mS)Samplers disabled$(mE)" + @echo "SF2:$(ANS_NO) $(mS)Samplers disabled$(mE)" + @echo "SFZ:$(ANS_NO) $(mS)Samplers disabled$(mE)" +endif + @echo "" + + @echo "\033[36m---> Internal plugins: \033[0m" +ifeq ($(HAVE_AF_DEPS),true) +ifeq ($(HAVE_FFMPEG),true) + @echo "AudioFile: $(ANS_YES) (with ffmpeg)" +else + @echo "AudioFIle: $(ANS_YES) (without ffmpeg) $(mS)ffmpeg/libav missing$(mE)" +endif +else + @echo "AudioFIle: $(ANS_NO) $(mS)libsndfile missing$(mE)" +endif + +ifeq ($(HAVE_MF_DEPS),true) + @echo "MidiFile: $(ANS_YES)" +else + @echo "MidiFile: $(ANS_NO) $(mS)libsmf missing$(mE)" +endif + +ifeq ($(HAVE_OPENGL),true) + @echo "DISTRHO: $(ANS_YES)" +else + @echo "DISTRHO: $(ANS_NO) $(mS)OpenGL missing$(mE)" +endif + +ifeq ($(HAVE_ZYN_DEPS),true) +ifeq ($(HAVE_ZYN_UI_DEPS),true) + @echo "ZynAddSubFX:$(ANS_YES) (with UI)" +else + @echo "ZynAddSubFX:$(ANS_YES) (without UI) $(mS)NTK missing$(mE)" +endif +else + @echo "ZynAddSubFX:$(ANS_NO) $(mS)fftw-3, mxml or zlib missing$(mE)" +endif diff --git a/data/lv2/carla.ttl b/data/lv2/carla.ttl deleted file mode 100644 index 012ce80db..000000000 --- a/data/lv2/carla.ttl +++ /dev/null @@ -1,53 +0,0 @@ -@prefix atom: . -@prefix doap: . -@prefix foaf: . -@prefix lv2: . -@prefix rdfs: . -@prefix ui: . - - - a lv2:Plugin ; - lv2:requiredFeature , - ; - lv2:extensionData , - ; - -# ui:ui ; - - lv2:port [ - a lv2:InputPort, lv2:AudioPort ; - lv2:index 0 ; - lv2:symbol "audio_in_1" ; - lv2:name "Audio Input 1" ; - ] , - [ - a lv2:InputPort, lv2:AudioPort ; - lv2:index 1 ; - lv2:symbol "audio_in_2" ; - lv2:name "Audio Input 2" ; - ] , - [ - a lv2:OutputPort, lv2:AudioPort ; - lv2:index 2 ; - lv2:symbol "audio_out_1" ; - lv2:name "Audio Output 1" ; - ] , - [ - a lv2:OutputPort, lv2:AudioPort ; - lv2:index 3 ; - lv2:symbol "audio_out_2" ; - lv2:name "Audio Output 2" ; - ] , - [ - a lv2:InputPort, atom:AtomPort ; - atom:bufferType atom:Sequence ; - atom:supports , - ; - lv2:index 4 ; - lv2:symbol "events_in" ; - lv2:name "Events Input" ; - lv2:designation lv2:control ; - ] ; - - doap:name "Carla Plugin" ; - doap:maintainer [ foaf:name "falkTX" ] . diff --git a/data/lv2/manifest.ttl b/data/lv2/manifest.ttl deleted file mode 100644 index 22c14caf2..000000000 --- a/data/lv2/manifest.ttl +++ /dev/null @@ -1,12 +0,0 @@ -@prefix lv2: . -@prefix rdfs: . -@prefix ui: . - - - a lv2:Plugin ; - lv2:binary ; - rdfs:seeAlso . - - - a ; - ui:binary . diff --git a/source/Makefile.mk b/source/Makefile.mk index 5047b2b4a..55815a046 100644 --- a/source/Makefile.mk +++ b/source/Makefile.mk @@ -4,6 +4,24 @@ # Created by falkTX # +# -------------------------------------------------------------- +# Modify to enable/disable specific features + +# Support for LADSPA, DSSI, LV2 and VST plugins +CARLA_PLUGIN_SUPPORT = true + +# Support for GIG, SF2 and SFZ sample banks (through fluidsynth and linuxsampler) +CARLA_SAMPLERS_SUPPORT = true + +# Support for Native Audio (ALSA and/or PulseAudio in Linux) +CARLA_RTAUDIO_SUPPORT = true + +# Use the free vestige header instead of the official VST SDK +CARLA_VESTIGE_HEADER = true + +# -------------------------------------------------------------- +# DO NOT MODIFY PAST THIS POINT! + AR ?= ar CC ?= gcc CXX ?= g++ @@ -11,52 +29,40 @@ STRIP ?= strip # -------------------------------------------------------------- -DEBUG ?= false - -BASE_FLAGS = -Wall -Wextra -fPIC -fvisibility=hidden +BASE_FLAGS = -Wall -Wextra -fPIC -pipe BASE_OPTS = -O2 -ffast-math -mtune=generic -msse -mfpmath=sse +ifeq ($(RASPPI),true) +# RaspberryPi build flags +BASE_OPTS = -O2 -ffast-math -march=armv6 -mfpu=vfp -mfloat-abi=hard +endif + ifeq ($(DEBUG),true) -BASE_FLAGS += -O0 -g -BASE_FLAGS += -DDEBUG -STRIP = true # FIXME +BASE_FLAGS += -DDEBUG -O0 -g else -BASE_FLAGS += $(BASE_OPTS) -BASE_FLAGS += -DNDEBUG +BASE_FLAGS += -DNDEBUG $(BASE_OPTS) -fvisibility=hidden endif 32BIT_FLAGS = -m32 64BIT_FLAGS = -m64 BUILD_C_FLAGS = $(BASE_FLAGS) -std=gnu99 $(CFLAGS) +BUILD_CXX_FLAGS = $(BASE_FLAGS) -std=gnu++0x $(CXXFLAGS) LINK_FLAGS = $(LDFLAGS) ifeq ($(MACOS),true) -BUILD_CXX_FLAGS = $(BASE_FLAGS) $(CXXFLAGS) -else -BUILD_CXX_FLAGS = $(BASE_FLAGS) -std=gnu++0x $(CXXFLAGS) +# No C++11 support, force 32bit per default +BUILD_CXX_FLAGS = $(BASE_FLAGS) $(32BIT_FLAGS) $(CXXFLAGS) endif -# -------------------------------------------------------------- -# Modify to enable/disable specific features - -# Support for LADSPA, DSSI, LV2 and VST plugins -CARLA_PLUGIN_SUPPORT = true - -# Support for GIG, SF2 and SFZ sample banks (through fluidsynth and linuxsampler) -CARLA_SAMPLERS_SUPPORT = true - -# Support for Native Audio (ALSA and/or PulseAudio in Linux) -CARLA_RTAUDIO_SUPPORT = true - -# Comment this line to not use vestige header -BUILD_CXX_FLAGS += -DVESTIGE_HEADER - # -------------------------------------------------------------- HAVE_FFMPEG = $(shell pkg-config --exists libavcodec libavformat libavutil && echo true) HAVE_OPENGL = $(shell pkg-config --exists gl && echo true) +HAVE_GTK2 = $(shell pkg-config --exists gtk+-2.0 && echo true) +HAVE_GTK3 = $(shell pkg-config --exists gtk+-3.0 && echo true) HAVE_QT4 = $(shell pkg-config --exists QtCore && echo true) +HAVE_QT5 = $(shell pkg-config --exists Qt5Core && echo true) HAVE_AF_DEPS = $(shell pkg-config --exists sndfile && echo true) HAVE_MF_DEPS = $(shell pkg-config --exists smf && echo true) @@ -73,19 +79,14 @@ HAVE_ALSA = $(shell pkg-config --exists alsa && echo true) HAVE_PULSEAUDIO = $(shell pkg-config --exists libpulse-simple && echo true) endif -ifneq ($(HAVE_QT4),true) -HAVE_QT5 = $(shell pkg-config --exists Qt5Core && echo true) -endif - # -------------------------------------------------------------- -ifeq ($(HAVE_QT5),true) -# Qt5 doesn't define these -MOC ?= moc -RCC ?= rcc -UIC ?= uic -else +ifeq ($(HAVE_QT4),true) MOC ?= $(shell pkg-config --variable=moc_location QtCore) RCC ?= $(shell pkg-config --variable=rcc_location QtCore) UIC ?= $(shell pkg-config --variable=uic_location QtCore) +else +MOC ?= moc +RCC ?= rcc +UIC ?= uic endif diff --git a/source/backend/Makefile b/source/backend/Makefile index 0f0632de4..101eb69da 100644 --- a/source/backend/Makefile +++ b/source/backend/Makefile @@ -31,132 +31,3 @@ debug: doc: CarlaBackend.doxygen doxygen $^ - -# -------------------------------------------------------------- - -ANS_NO=\033[31m NO \033[0m -ANS_YES=\033[32m YES \033[0m -mS=\033[33m[ -mE=]\033[0m - -config: -ifeq ($(MACOS),true) -# --- MacOS --- - @echo "\033[36m||| Engine drivers: (MacOS)\033[0m" - @echo "JACK: $(ANS_YES)" -ifeq ($(CARLA_RTAUDIO_SUPPORT),true) - @echo "CoreAudio: $(ANS_YES)" -else - @echo "CoreAudio: $(ANS_NO) $(mS)RtAudio disabled$(mE)" -endif - @echo "" -# --- MacOS --- -else -# --- Win32 --- -ifeq ($(WIN32),true) - @echo "\033[36m||| Engine drivers: (Windows)\033[0m" - @echo "JACK: $(ANS_YES)" -ifeq ($(CARLA_RTAUDIO_SUPPORT),true) - @echo "ASIO: $(ANS_YES)" - @echo "DirectSound: $(ANS_YES)" -else - @echo "ASIO: $(ANS_NO) $(mS)RtAudio disabled$(mE)" - @echo "DirectSound: $(ANS_NO) $(mS)RtAudio disabled$(mE)" -endif - @echo "" -# --- Win32 --- -else -# --- Others --- - @echo "\033[36m||| Engine drivers: \033[0m" - @echo "JACK: $(ANS_YES)" -ifeq ($(CARLA_RTAUDIO_SUPPORT),true) -ifeq ($(HAVE_ALSA),true) - @echo "ALSA: $(ANS_YES)" -else - @echo "ALSA: $(ANS_NO) $(mS)Missing ALSA$(mE)" -endif -ifeq ($(HAVE_PULSEAUDIO),true) - @echo "PulseAudio:$(ANS_YES)" -else - @echo "PulseAudio:$(ANS_NO) $(mS)Missing PulseAudio$(mE)" -endif -else - @echo "ALSA: $(ANS_NO) $(mS)RtAudio disabled$(mE)" - @echo "PulseAudio:$(ANS_NO) $(mS)RtAudio disabled$(mE)" -endif - @echo "" -# --- Others --- -endif -endif - - @echo "\033[36m---> Plugin formats: \033[0m" - @echo "Internal:$(ANS_YES)" -ifeq ($(CARLA_PLUGIN_SUPPORT),true) - @echo "LADSPA: $(ANS_YES)" - @echo "DSSI: $(ANS_YES)" - @echo "LV2: $(ANS_YES)" - @echo "VST: $(ANS_YES)" -else - @echo "LADSPA: $(ANS_NO) $(mS)Plugins disabled$(mE)" - @echo "DSSI: $(ANS_NO) $(mS)Plugins disabled$(mE)" - @echo "LV2: $(ANS_NO) $(mS)Plugins disabled$(mE)" - @echo "VST: $(ANS_NO) $(mS)Plugins disabled$(mE)" -endif - @echo "" - - @echo "\033[36m---> Sample formats: \033[0m" -ifeq ($(CARLA_SAMPLERS_SUPPORT),true) -ifeq ($(HAVE_LINUXSAMPLER),true) - @echo "GIG:$(ANS_YES)" -else - @echo "GIG:$(ANS_NO) $(mS)LinuxSampler missing$(mE)" -endif -ifeq ($(HAVE_FLUIDSYNTH),true) - @echo "SF2:$(ANS_YES)" -else - @echo "SF2:$(ANS_NO) $(mS)FluidSynth missing$(mE)" -endif -ifeq ($(HAVE_LINUXSAMPLER),true) - @echo "SFZ:$(ANS_YES)" -else - @echo "SFZ:$(ANS_NO) $(mS)LinuxSampler missing$(mE)" -endif -else - @echo "GIG:$(ANS_NO) $(mS)Samplers disabled$(mE)" - @echo "SF2:$(ANS_NO) $(mS)Samplers disabled$(mE)" - @echo "SFZ:$(ANS_NO) $(mS)Samplers disabled$(mE)" -endif - @echo "" - - @echo "\033[36m---> Internal plugins: \033[0m" -ifeq ($(HAVE_AF_DEPS),true) -ifeq ($(HAVE_FFMPEG),true) - @echo "AudioFile: $(ANS_YES) (with ffmpeg)" -else - @echo "AudioFIle: $(ANS_YES) (without ffmpeg) $(mS)ffmpeg/libav missing$(mE)" -endif -else - @echo "AudioFIle: $(ANS_NO) $(mS)libsndfile missing$(mE)" -endif - -ifeq ($(HAVE_MF_DEPS),true) - @echo "MidiFile: $(ANS_YES)" -else - @echo "MidiFile: $(ANS_NO) $(mS)libsmf missing$(mE)" -endif - -ifeq ($(HAVE_OPENGL),true) - @echo "DISTRHO: $(ANS_YES)" -else - @echo "DISTRHO: $(ANS_NO) $(mS)OpenGL missing$(mE)" -endif - -ifeq ($(HAVE_ZYN_DEPS),true) -ifeq ($(HAVE_ZYN_UI_DEPS),true) - @echo "ZynAddSubFX:$(ANS_YES) (with UI)" -else - @echo "ZynAddSubFX:$(ANS_YES) (without UI) $(mS)NTK missing$(mE)" -endif -else - @echo "ZynAddSubFX:$(ANS_NO) $(mS)fftw-3, mxml or zlib missing$(mE)" -endif diff --git a/source/backend/Makefile.mk b/source/backend/Makefile.mk index 6e8a6de78..ae9bfce5f 100644 --- a/source/backend/Makefile.mk +++ b/source/backend/Makefile.mk @@ -27,6 +27,10 @@ ifeq ($(CARLA_RTAUDIO_SUPPORT),true) BUILD_CXX_FLAGS += -DWANT_RTAUDIO endif +ifeq ($(CARLA_VESTIGE_HEADER),true) +BUILD_CXX_FLAGS += -DVESTIGE_HEADER +endif + # -------------------------------------------------------------- ifeq ($(HAVE_FLUIDSYNTH),true) diff --git a/source/backend/engine/Makefile b/source/backend/engine/Makefile index 8425ce763..767c5fb5c 100644 --- a/source/backend/engine/Makefile +++ b/source/backend/engine/Makefile @@ -11,10 +11,10 @@ include ../Makefile.mk BUILD_CXX_FLAGS += -D__UNIX_JACK__ BUILD_CXX_FLAGS += $(shell pkg-config --cflags liblo) -ifeq ($(HAVE_QT5),true) -BUILD_CXX_FLAGS += $(shell pkg-config --cflags Qt5Core Qt5Xml) -else +ifeq ($(HAVE_QT4),true) BUILD_CXX_FLAGS += $(shell pkg-config --cflags QtCore QtXml) +else +BUILD_CXX_FLAGS += $(shell pkg-config --cflags Qt5Core Qt5Xml) endif # -------------------------------------------------------------- diff --git a/source/backend/native/3bandeq/DistrhoArtwork3BandEQ.cpp b/source/backend/native/3bandeq/DistrhoArtwork3BandEQ.cpp index a5ebc5c0b..bdd494a65 100644 --- a/source/backend/native/3bandeq/DistrhoArtwork3BandEQ.cpp +++ b/source/backend/native/3bandeq/DistrhoArtwork3BandEQ.cpp @@ -2748,191 +2748,151 @@ static const unsigned char temp1[] = { const char* DistrhoArtwork3BandEQ::aboutData = (const char*)temp1; static const unsigned char temp2[] = { - 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 1, 31, 33, 34, 3, 31, 33, 34, 5, 31, 33, 34, 7, 31, 33, 34, 8, 31, 33, 34, 6, 31, 33, 34, 4, 31, 33, 34, 2, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, - 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 2, 31, 33, 34, 4, 31, 33, 34, 6, 31, 33, 34, 6, 31, 33, 34, 6, 31, 33, 34, 4, 31, 33, 34, 2, 31, 33, 34, 1, 31, 33, 34, 1, 31, 33, 34, 1, 31, 33, 34, 1, 31, 33, 34, 1, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 1, 31, 33, 34, 3, - 31, 33, 34, 5, 31, 33, 34, 7, 31, 33, 34, 7, 31, 33, 34, 6, 31, 33, 34, 4, 31, 33, 34, 2, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 1, 31, 33, 34, 3, 31, 33, 34, 5, 31, 33, 34, 5, 31, 33, 34, 4, 31, 33, 34, 3, 31, 33, 34, 1, 31, 33, 34, 1, 31, 33, 34, 1, 31, 33, 34, 1, 31, 33, 34, 0, 31, 33, 34, 0, - 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 1, 31, 33, 34, 1, 31, 33, 34, 1, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 1, 31, 33, 34, 1, 31, 33, 34, 1, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 1, - 31, 33, 34, 4, 31, 33, 34, 6, 31, 33, 34, 8, 31, 33, 34, 8, 31, 33, 34, 6, 31, 33, 34, 4, 31, 33, 34, 2, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 1, 31, 33, 34, 4, 31, 33, 34, 9, 31, 33, 34, 16, 31, 33, 34, 22, 31, 33, 34, 26, 31, 33, 34, 27, - 31, 33, 34, 25, 31, 33, 34, 20, 31, 33, 34, 13, 31, 33, 34, 7, 31, 33, 34, 2, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 1, 31, 33, 34, 4, 31, 33, 34, 8, 31, 33, 34, 12, 31, 33, 34, 14, 31, 33, 34, 14, 31, 33, 34, 13, 31, 33, 34, 10, 31, 33, 34, 7, - 31, 33, 34, 5, 31, 33, 34, 4, 31, 33, 34, 5, 31, 33, 34, 4, 31, 33, 34, 3, 31, 33, 34, 2, 31, 33, 34, 1, 31, 33, 34, 1, 31, 33, 34, 2, 31, 33, 34, 6, 31, 33, 34, 10, 31, 33, 34, 14, 31, 33, 34, 16, 31, 33, 34, 16, 31, 33, 34, 15, 31, 33, 34, 12, 31, 33, 34, 9, 31, 33, 34, 4, 31, 33, 34, 2, 31, 33, 34, 2, 31, 33, 34, 5, - 31, 33, 34, 9, 31, 33, 34, 12, 31, 33, 34, 12, 31, 33, 34, 10, 31, 33, 34, 7, 31, 33, 34, 4, 31, 33, 34, 3, 31, 33, 34, 4, 31, 33, 34, 3, 31, 33, 34, 1, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 1, 31, 33, 34, 3, 31, 33, 34, 5, 31, 33, 34, 3, 31, 33, 34, 1, 31, 33, 34, 0, 31, 33, 34, 0, - 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 2, 31, 33, 34, 4, 31, 33, 34, 6, 31, 33, 34, 4, 31, 33, 34, 2, 31, 33, 34, 0, 31, 33, 34, 3, 31, 33, 34, 7, 31, 33, 34, 11, 31, 33, 34, 15, 31, 33, 34, 17, 31, 33, 34, 17, 31, 33, 34, 15, 31, 33, 34, 12, 31, 33, 34, 8, 31, 33, 34, 3, 31, 33, 34, 1, 31, 33, 34, 0, - 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 1, 31, 33, 34, 6, 31, 33, 34, 15, 42, 44, 44, 28, 146, 146, 146, 89, 184, 185, 185, 169, 196, 196, 196, 207, 198, 198, 198, 214, 193, 193, 193, 196, 175, 176, 176, 142, 111, 112, 112, 58, 31, 33, 34, 22, 31, 33, 34, 11, 31, 33, 34, 4, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, - 31, 33, 34, 0, 31, 33, 34, 1, 31, 33, 34, 4, 31, 33, 34, 10, 122, 123, 123, 31, 197, 197, 197, 125, 208, 208, 208, 191, 206, 206, 206, 175, 205, 205, 205, 163, 200, 200, 200, 123, 133, 134, 135, 28, 31, 33, 34, 11, 33, 35, 36, 10, 204, 204, 204, 113, 31, 33, 34, 8, 85, 87, 87, 10, 199, 199, 199, 56, 31, 33, 34, 4, 31, 33, 34, 3, 31, 33, 34, 5, 58, 60, 60, 13, - 180, 180, 180, 75, 204, 204, 204, 163, 208, 208, 208, 196, 208, 208, 208, 194, 208, 208, 208, 190, 200, 200, 200, 139, 153, 154, 154, 46, 31, 33, 34, 11, 31, 33, 34, 7, 31, 33, 34, 7, 31, 33, 34, 12, 189, 189, 189, 89, 203, 203, 203, 152, 205, 205, 205, 158, 206, 206, 206, 155, 191, 191, 191, 67, 31, 33, 34, 8, 31, 33, 34, 7, 205, 205, 205, 110, 133, 134, 134, 14, 31, 33, 34, 3, - 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 3, 31, 33, 34, 7, 206, 206, 206, 136, 31, 33, 34, 7, 31, 33, 34, 3, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 4, 31, 33, 34, 8, 205, 206, 206, 132, 51, 53, 53, 9, 31, 33, 34, 4, 31, 33, 34, 3, 31, 33, 34, 8, - 31, 33, 34, 15, 187, 188, 188, 98, 208, 208, 208, 193, 209, 209, 209, 205, 209, 209, 209, 204, 209, 209, 209, 200, 193, 193, 193, 116, 74, 76, 76, 21, 31, 33, 34, 9, 31, 33, 34, 3, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 1, 31, 33, 34, 6, 34, 36, 36, 18, 111, 112, 112, 57, 193, 193, 193, 197, 206, 206, 206, 255, 206, 206, 206, 255, 206, 206, 206, 255, - 206, 206, 206, 255, 206, 206, 206, 255, 206, 206, 206, 255, 205, 205, 205, 246, 178, 179, 179, 148, 31, 33, 34, 28, 31, 33, 34, 12, 31, 33, 34, 4, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 4, 31, 33, 34, 10, 164, 165, 165, 56, 207, 207, 207, 179, 191, 191, 191, 109, 31, 33, 34, 18, 31, 33, 34, 15, 31, 33, 34, 15, 170, 171, 171, 56, - 203, 203, 203, 133, 177, 178, 178, 70, 73, 74, 75, 22, 200, 200, 200, 123, 31, 33, 34, 12, 61, 63, 63, 12, 202, 202, 202, 87, 93, 95, 95, 8, 31, 33, 34, 5, 115, 116, 116, 13, 204, 204, 204, 131, 206, 206, 206, 167, 171, 171, 171, 68, 57, 59, 59, 21, 31, 33, 34, 17, 49, 51, 51, 20, 179, 180, 180, 84, 205, 205, 205, 169, 189, 189, 189, 93, 31, 33, 34, 14, 31, 33, 34, 13, - 198, 198, 198, 117, 203, 203, 203, 148, 128, 129, 129, 37, 31, 33, 34, 15, 173, 174, 174, 49, 182, 183, 183, 43, 31, 33, 34, 8, 31, 33, 34, 9, 203, 203, 203, 113, 67, 69, 69, 10, 31, 33, 34, 4, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 5, 31, 33, 34, 10, 205, 205, 205, 144, 47, 49, 49, 11, 31, 33, 34, 5, 31, 33, 34, 0, - 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 5, 31, 33, 34, 11, 206, 206, 206, 160, 69, 70, 71, 14, 31, 33, 34, 8, 31, 33, 34, 7, 31, 33, 34, 15, 204, 204, 204, 163, 201, 201, 201, 152, 132, 133, 133, 43, 31, 33, 34, 19, 31, 33, 34, 18, 95, 97, 97, 31, 197, 198, 198, 135, 207, 207, 207, 183, 104, 105, 105, 27, 31, 33, 34, 9, - 31, 33, 34, 2, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 4, 34, 36, 36, 16, 117, 118, 118, 61, 201, 201, 201, 230, 206, 206, 206, 255, 206, 206, 206, 255, 206, 206, 206, 255, 206, 206, 206, 252, 204, 204, 204, 242, 206, 206, 206, 255, 206, 206, 206, 255, 206, 206, 206, 255, 206, 206, 206, 252, 189, 189, 189, 181, 31, 33, 34, 27, 31, 33, 34, 10, 31, 33, 34, 2, 31, 33, 34, 0, - 31, 33, 34, 0, 31, 33, 34, 2, 31, 33, 34, 8, 156, 157, 157, 46, 203, 203, 203, 157, 171, 171, 171, 71, 31, 33, 34, 16, 31, 33, 34, 10, 31, 33, 34, 8, 31, 33, 34, 8, 31, 33, 34, 10, 162, 163, 163, 44, 180, 180, 180, 80, 167, 167, 167, 70, 197, 197, 197, 126, 31, 33, 34, 15, 58, 60, 60, 13, 196, 196, 196, 73, 55, 57, 57, 7, 31, 33, 34, 4, 123, 124, 124, 10, - 127, 128, 128, 19, 45, 47, 48, 13, 31, 33, 34, 11, 31, 33, 34, 10, 31, 33, 34, 9, 31, 33, 34, 10, 31, 33, 34, 16, 176, 177, 177, 77, 197, 197, 197, 125, 148, 149, 149, 47, 31, 33, 34, 17, 200, 200, 200, 130, 120, 121, 121, 31, 31, 33, 34, 13, 31, 33, 34, 8, 31, 33, 34, 7, 31, 33, 34, 4, 31, 33, 34, 6, 48, 51, 51, 10, 199, 199, 199, 103, 64, 66, 66, 11, - 31, 33, 34, 4, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 6, 31, 33, 34, 12, 204, 204, 204, 145, 31, 33, 34, 12, 31, 33, 34, 6, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 6, 31, 33, 34, 13, 205, 205, 205, 162, 43, 45, 46, 15, 31, 33, 34, 12, 31, 33, 34, 12, - 199, 199, 199, 131, 193, 194, 194, 118, 86, 88, 88, 26, 31, 33, 34, 13, 31, 33, 34, 10, 31, 33, 34, 9, 31, 33, 34, 12, 31, 33, 34, 18, 188, 188, 188, 104, 203, 203, 203, 155, 53, 55, 55, 16, 31, 33, 34, 6, 31, 33, 34, 1, 31, 33, 34, 1, 31, 33, 34, 10, 51, 53, 53, 32, 196, 196, 196, 207, 206, 206, 206, 255, 206, 206, 206, 255, 200, 200, 200, 222, 150, 150, 150, 111, - 46, 48, 48, 54, 31, 34, 34, 51, 87, 89, 89, 68, 175, 176, 176, 149, 205, 205, 205, 249, 206, 206, 206, 255, 205, 205, 205, 247, 177, 178, 178, 143, 31, 33, 34, 21, 31, 33, 34, 6, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 5, 94, 95, 95, 19, 186, 187, 187, 96, 199, 200, 200, 140, 31, 33, 34, 16, 31, 33, 34, 7, 31, 33, 34, 2, 31, 33, 34, 0, 31, 33, 34, 1, - 31, 33, 34, 4, 31, 33, 34, 9, 166, 167, 167, 59, 192, 192, 192, 118, 193, 194, 194, 120, 31, 33, 34, 17, 45, 47, 48, 13, 199, 199, 199, 87, 54, 56, 56, 8, 31, 33, 34, 4, 31, 33, 34, 2, 31, 33, 34, 4, 31, 33, 34, 4, 31, 33, 34, 3, 31, 33, 34, 1, 31, 33, 34, 0, 31, 33, 34, 2, 31, 33, 34, 9, 58, 60, 60, 20, 194, 194, 194, 118, 173, 173, 173, 76, - 49, 51, 51, 20, 199, 199, 199, 119, 31, 33, 34, 11, 31, 33, 34, 6, 31, 33, 34, 1, 31, 33, 34, 1, 31, 33, 34, 0, 31, 33, 34, 5, 49, 51, 52, 10, 198, 198, 198, 98, 64, 66, 67, 11, 31, 33, 34, 4, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 5, 31, 33, 34, 12, 204, 204, 204, 145, 77, 79, 79, 16, 31, 33, 34, 6, - 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 6, 31, 33, 34, 13, 205, 205, 205, 163, 42, 44, 44, 17, 31, 33, 34, 15, 119, 120, 120, 31, 206, 206, 206, 172, 124, 125, 125, 35, 31, 33, 34, 11, 31, 33, 34, 4, 31, 33, 34, 1, 31, 33, 34, 0, 31, 33, 34, 3, 31, 33, 34, 9, 31, 33, 34, 18, 206, 206, 206, 176, - 161, 162, 162, 56, 31, 33, 34, 10, 31, 33, 34, 2, 31, 33, 34, 4, 31, 33, 34, 18, 162, 163, 163, 113, 206, 206, 206, 255, 206, 206, 206, 255, 199, 199, 199, 217, 66, 68, 68, 61, 38, 40, 41, 46, 137, 138, 138, 86, 161, 162, 162, 112, 104, 105, 106, 66, 31, 33, 34, 47, 141, 142, 142, 102, 206, 206, 206, 255, 206, 206, 206, 255, 202, 202, 202, 231, 89, 90, 91, 46, 31, 33, 34, 12, - 31, 33, 34, 1, 31, 33, 34, 1, 31, 33, 34, 7, 158, 159, 159, 48, 202, 202, 202, 154, 131, 132, 132, 39, 31, 33, 34, 10, 31, 33, 34, 2, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 1, 31, 33, 34, 5, 94, 96, 96, 21, 193, 193, 193, 115, 200, 200, 200, 144, 31, 33, 34, 17, 31, 33, 34, 12, 198, 198, 198, 82, 31, 33, 34, 7, 31, 33, 34, 3, - 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 1, 31, 33, 34, 3, 31, 33, 34, 10, 31, 33, 34, 18, 194, 194, 194, 122, 185, 186, 186, 97, 31, 33, 34, 18, 191, 191, 191, 85, 31, 33, 34, 8, 31, 33, 34, 4, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 4, 49, 51, 51, 10, 202, 202, 202, 120, - 49, 51, 51, 10, 31, 33, 34, 4, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 5, 31, 33, 34, 11, 202, 202, 202, 135, 45, 47, 48, 13, 31, 33, 34, 6, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 6, 31, 33, 34, 13, 205, 205, 205, 164, 49, 52, 52, 20, 31, 33, 34, 19, - 197, 197, 197, 123, 182, 183, 183, 86, 81, 83, 83, 18, 31, 33, 34, 5, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 4, 31, 33, 34, 12, 175, 176, 176, 75, 201, 201, 201, 146, 31, 33, 34, 13, 31, 33, 34, 5, 31, 33, 34, 7, 31, 33, 34, 25, 192, 192, 192, 193, 206, 206, 206, 255, 205, 205, 205, 251, 132, 133, 133, 95, 52, 54, 55, 49, - 193, 193, 193, 181, 208, 208, 208, 255, 208, 208, 208, 255, 206, 207, 207, 244, 166, 167, 167, 119, 39, 42, 42, 49, 178, 179, 179, 155, 206, 206, 206, 255, 204, 204, 204, 244, 170, 171, 171, 127, 31, 33, 34, 18, 31, 33, 34, 4, 31, 33, 34, 1, 31, 33, 34, 9, 165, 166, 166, 59, 205, 205, 205, 175, 31, 33, 34, 17, 31, 33, 34, 8, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, - 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 2, 31, 33, 34, 10, 154, 154, 154, 48, 199, 199, 199, 132, 31, 33, 34, 16, 45, 47, 47, 13, 199, 199, 199, 89, 84, 86, 86, 10, 31, 33, 34, 3, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 1, 31, 33, 34, 3, 31, 33, 34, 5, 31, 33, 34, 8, 31, 33, 34, 11, 31, 33, 34, 17, 180, 180, 180, 86, 201, 202, 202, 149, - 143, 144, 144, 45, 31, 33, 34, 16, 198, 199, 199, 105, 65, 67, 67, 10, 31, 33, 34, 4, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 4, 49, 51, 51, 10, 201, 201, 201, 114, 49, 51, 51, 10, 31, 33, 34, 4, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 6, 31, 33, 34, 12, 204, 204, 204, 145, 57, 59, 59, 14, - 31, 33, 34, 6, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 6, 31, 33, 34, 14, 205, 205, 205, 165, 40, 42, 42, 20, 31, 33, 34, 21, 205, 206, 206, 170, 135, 136, 136, 39, 31, 33, 34, 10, 31, 33, 34, 2, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 1, 31, 33, 34, 9, - 41, 43, 43, 19, 208, 208, 208, 190, 31, 33, 34, 15, 31, 33, 34, 6, 31, 33, 34, 9, 31, 33, 34, 29, 203, 203, 203, 238, 206, 206, 206, 255, 200, 200, 200, 224, 31, 33, 34, 50, 162, 163, 163, 114, 208, 208, 208, 253, 160, 160, 161, 113, 82, 84, 84, 61, 190, 190, 190, 172, 206, 206, 206, 240, 73, 75, 75, 54, 118, 119, 120, 85, 206, 206, 206, 255, 205, 206, 206, 251, 186, 186, 186, 174, - 31, 33, 34, 22, 31, 33, 34, 5, 31, 33, 34, 1, 31, 33, 34, 10, 163, 164, 164, 57, 204, 205, 205, 170, 31, 33, 34, 15, 31, 33, 34, 7, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 1, 31, 33, 34, 8, 144, 145, 145, 36, 198, 199, 199, 123, 31, 33, 34, 15, 56, 58, 58, 14, 199, 199, 199, 90, 70, 71, 72, 9, - 31, 33, 34, 4, 31, 33, 34, 1, 31, 33, 34, 3, 31, 33, 34, 6, 31, 33, 34, 9, 31, 33, 34, 12, 42, 45, 45, 16, 162, 163, 163, 56, 202, 202, 202, 149, 203, 203, 203, 156, 183, 183, 184, 81, 31, 33, 34, 15, 44, 46, 46, 14, 201, 201, 201, 115, 122, 123, 123, 18, 31, 33, 34, 4, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 4, 63, 65, 65, 11, - 202, 202, 202, 122, 49, 51, 51, 10, 31, 33, 34, 4, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 6, 31, 33, 34, 12, 204, 204, 204, 147, 67, 69, 69, 15, 31, 33, 34, 6, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 7, 31, 33, 34, 14, 205, 205, 205, 166, 31, 33, 34, 21, - 31, 33, 34, 22, 205, 205, 205, 170, 131, 132, 132, 35, 31, 33, 34, 9, 31, 33, 34, 1, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 8, 31, 33, 34, 16, 207, 208, 208, 189, 31, 33, 34, 16, 31, 33, 34, 7, 31, 33, 34, 10, 31, 33, 34, 31, 206, 206, 206, 253, 206, 206, 206, 255, 194, 194, 194, 199, 34, 36, 36, 49, - 184, 184, 184, 156, 203, 203, 203, 227, 31, 33, 34, 46, 31, 33, 34, 46, 123, 124, 124, 81, 208, 208, 208, 254, 142, 142, 143, 91, 85, 87, 87, 68, 206, 206, 206, 255, 206, 206, 206, 254, 191, 191, 191, 188, 31, 33, 34, 24, 31, 33, 34, 6, 31, 33, 34, 1, 31, 33, 34, 9, 164, 164, 164, 54, 203, 204, 204, 160, 31, 33, 34, 15, 31, 33, 34, 7, 31, 33, 34, 0, 31, 33, 34, 0, - 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 1, 31, 33, 34, 7, 163, 164, 164, 43, 199, 200, 200, 123, 31, 33, 34, 15, 56, 58, 58, 14, 199, 199, 199, 92, 52, 54, 54, 8, 31, 33, 34, 5, 31, 33, 34, 4, 31, 33, 34, 9, 104, 106, 106, 22, 189, 189, 189, 88, 202, 203, 203, 144, 206, 206, 206, 167, 203, 204, 204, 154, 181, 181, 181, 79, 89, 90, 90, 22, - 31, 33, 34, 10, 31, 33, 34, 9, 31, 33, 34, 11, 201, 201, 201, 115, 48, 50, 50, 10, 31, 33, 34, 5, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 4, 49, 51, 51, 10, 195, 196, 196, 92, 63, 65, 66, 11, 31, 33, 34, 4, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 6, 31, 33, 34, 12, 204, 204, 204, 148, - 45, 47, 47, 13, 31, 33, 34, 6, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 7, 31, 33, 34, 14, 205, 205, 205, 167, 39, 42, 42, 22, 31, 33, 34, 22, 205, 205, 205, 170, 131, 132, 133, 34, 31, 33, 34, 8, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, - 31, 33, 34, 8, 31, 33, 34, 16, 207, 208, 208, 190, 31, 33, 34, 16, 31, 33, 34, 8, 31, 33, 34, 9, 31, 33, 34, 30, 204, 204, 204, 241, 206, 206, 206, 255, 199, 199, 199, 218, 31, 33, 34, 50, 168, 169, 169, 123, 207, 207, 207, 250, 138, 139, 139, 90, 46, 48, 49, 50, 182, 183, 183, 153, 207, 207, 207, 245, 89, 91, 91, 60, 110, 111, 111, 79, 206, 206, 206, 255, 206, 206, 206, 251, - 187, 187, 187, 177, 31, 33, 34, 22, 31, 33, 34, 5, 31, 33, 34, 1, 31, 33, 34, 7, 157, 158, 158, 42, 200, 200, 200, 135, 114, 115, 115, 29, 31, 33, 34, 8, 31, 33, 34, 1, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 1, 31, 33, 34, 7, 159, 160, 160, 42, 200, 200, 200, 125, 31, 33, 34, 15, 44, 47, 47, 13, 199, 199, 199, 92, - 67, 69, 69, 10, 31, 33, 34, 7, 31, 33, 34, 9, 183, 183, 183, 72, 204, 204, 204, 154, 193, 194, 194, 106, 111, 112, 112, 27, 31, 33, 34, 14, 31, 33, 34, 13, 31, 33, 34, 10, 31, 33, 34, 7, 31, 33, 34, 3, 31, 33, 34, 6, 48, 50, 50, 11, 201, 201, 201, 115, 101, 102, 102, 15, 31, 33, 34, 5, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 5, - 72, 74, 74, 13, 202, 202, 202, 124, 47, 49, 49, 11, 31, 33, 34, 5, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 6, 31, 33, 34, 12, 204, 204, 204, 149, 56, 58, 58, 14, 31, 33, 34, 6, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 7, 31, 33, 34, 14, 205, 205, 206, 168, - 47, 49, 49, 23, 31, 33, 34, 21, 205, 205, 205, 170, 133, 134, 134, 36, 31, 33, 34, 9, 31, 33, 34, 1, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 8, 31, 33, 34, 17, 208, 208, 208, 192, 31, 33, 34, 16, 31, 33, 34, 7, 31, 33, 34, 7, 31, 33, 34, 25, 194, 194, 194, 200, 206, 206, 206, 255, 205, 205, 205, 250, - 114, 115, 115, 82, 64, 66, 66, 52, 199, 199, 199, 203, 208, 208, 208, 255, 206, 206, 206, 244, 207, 207, 207, 249, 179, 179, 179, 141, 31, 33, 34, 46, 172, 173, 173, 144, 206, 206, 206, 255, 204, 204, 204, 245, 173, 174, 174, 135, 31, 33, 34, 18, 31, 33, 34, 4, 31, 33, 34, 0, 31, 33, 34, 4, 93, 95, 95, 17, 183, 183, 183, 82, 196, 196, 196, 115, 31, 33, 34, 12, 31, 33, 34, 5, - 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 2, 31, 33, 34, 9, 152, 153, 153, 42, 197, 197, 197, 121, 31, 33, 34, 16, 45, 47, 47, 13, 200, 200, 200, 92, 31, 33, 34, 8, 31, 33, 34, 9, 168, 168, 168, 45, 196, 196, 196, 116, 170, 171, 171, 66, 31, 33, 34, 15, 31, 33, 34, 9, 31, 33, 34, 6, 31, 33, 34, 5, 31, 33, 34, 3, - 31, 33, 34, 1, 31, 33, 34, 0, 31, 33, 34, 4, 31, 33, 34, 9, 201, 201, 201, 115, 62, 64, 65, 11, 31, 33, 34, 4, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 5, 67, 69, 69, 15, 198, 198, 198, 121, 63, 65, 65, 17, 31, 33, 34, 8, 31, 33, 34, 1, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 6, 31, 33, 34, 13, - 202, 203, 203, 150, 31, 33, 34, 15, 31, 33, 34, 8, 31, 33, 34, 1, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 7, 31, 33, 34, 15, 205, 205, 205, 169, 55, 57, 57, 23, 31, 33, 34, 20, 204, 205, 205, 162, 146, 147, 147, 44, 31, 33, 34, 11, 31, 33, 34, 3, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, - 31, 33, 34, 2, 31, 33, 34, 11, 95, 96, 96, 28, 207, 207, 207, 187, 31, 33, 34, 15, 31, 33, 34, 6, 31, 33, 34, 4, 31, 33, 34, 18, 167, 168, 168, 123, 206, 206, 206, 255, 206, 206, 206, 254, 195, 195, 195, 202, 41, 43, 43, 53, 52, 54, 54, 49, 161, 162, 162, 112, 175, 175, 175, 136, 137, 138, 138, 87, 31, 33, 34, 46, 124, 125, 125, 89, 205, 205, 205, 246, 206, 206, 206, 255, - 202, 202, 202, 234, 108, 110, 110, 55, 31, 33, 34, 12, 31, 33, 34, 2, 31, 33, 34, 0, 31, 33, 34, 2, 31, 33, 34, 8, 166, 166, 166, 51, 204, 204, 204, 157, 69, 71, 71, 21, 31, 33, 34, 10, 31, 33, 34, 3, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 3, 31, 33, 34, 12, 173, 174, 174, 72, 199, 199, 199, 137, 31, 33, 34, 17, 31, 33, 34, 12, - 200, 201, 201, 91, 31, 33, 34, 8, 31, 33, 34, 10, 184, 184, 184, 69, 195, 195, 195, 117, 87, 89, 89, 26, 31, 33, 34, 11, 31, 33, 34, 4, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 1, 31, 33, 34, 6, 45, 47, 48, 13, 198, 198, 198, 115, 72, 73, 74, 18, 31, 33, 34, 10, 31, 33, 34, 6, 31, 33, 34, 5, 31, 33, 34, 3, - 31, 33, 34, 8, 83, 85, 85, 21, 204, 204, 204, 165, 123, 124, 124, 39, 31, 33, 34, 14, 31, 33, 34, 5, 31, 33, 34, 2, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 6, 31, 33, 34, 14, 205, 205, 205, 173, 79, 81, 81, 26, 31, 33, 34, 13, 31, 33, 34, 4, 31, 33, 34, 1, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 2, 31, 33, 34, 10, 31, 33, 34, 18, - 206, 206, 206, 178, 65, 67, 67, 21, 31, 33, 34, 17, 185, 185, 185, 84, 195, 195, 195, 115, 105, 107, 107, 24, 31, 33, 34, 7, 31, 33, 34, 2, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 1, 31, 33, 34, 7, 31, 33, 34, 16, 192, 193, 193, 115, 194, 195, 195, 119, 31, 33, 34, 12, 31, 33, 34, 4, 31, 33, 34, 1, 31, 33, 34, 11, 64, 66, 66, 36, 199, 199, 199, 219, - 206, 206, 206, 255, 206, 206, 206, 254, 196, 196, 196, 207, 123, 124, 124, 88, 31, 33, 34, 50, 31, 33, 34, 49, 52, 54, 55, 56, 161, 162, 162, 126, 204, 204, 204, 241, 206, 206, 206, 255, 205, 205, 205, 249, 182, 183, 183, 158, 31, 33, 34, 22, 31, 33, 34, 7, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 4, 56, 58, 58, 13, 185, 186, 186, 86, 204, 204, 204, 159, - 31, 33, 34, 17, 31, 33, 34, 10, 31, 33, 34, 6, 31, 33, 34, 5, 31, 33, 34, 5, 31, 33, 34, 9, 88, 90, 90, 25, 193, 193, 193, 123, 199, 199, 199, 144, 31, 33, 34, 17, 31, 33, 34, 10, 195, 196, 196, 62, 31, 33, 34, 6, 31, 33, 34, 8, 129, 130, 130, 26, 197, 197, 197, 117, 176, 177, 177, 72, 31, 33, 34, 14, 31, 33, 34, 8, 31, 33, 34, 6, 31, 33, 34, 6, - 31, 33, 34, 6, 31, 33, 34, 6, 31, 33, 34, 5, 31, 33, 34, 8, 43, 45, 45, 15, 192, 193, 193, 108, 31, 33, 34, 18, 31, 33, 34, 15, 31, 33, 34, 12, 31, 33, 34, 10, 31, 33, 34, 7, 31, 33, 34, 10, 101, 102, 102, 26, 199, 199, 199, 150, 204, 204, 204, 173, 156, 157, 157, 60, 31, 33, 34, 14, 31, 33, 34, 10, 31, 33, 34, 7, 31, 33, 34, 4, 31, 33, 34, 9, - 31, 33, 34, 16, 202, 202, 202, 161, 200, 200, 200, 150, 146, 147, 147, 47, 31, 33, 34, 12, 31, 33, 34, 9, 31, 33, 34, 8, 31, 33, 34, 8, 31, 33, 34, 10, 31, 33, 34, 17, 173, 173, 173, 73, 202, 203, 203, 151, 86, 88, 88, 19, 31, 33, 34, 11, 31, 33, 34, 14, 205, 206, 206, 164, 163, 164, 164, 58, 43, 45, 45, 16, 31, 33, 34, 10, 31, 33, 34, 8, 31, 33, 34, 7, - 31, 33, 34, 10, 31, 33, 34, 15, 134, 135, 135, 44, 209, 209, 209, 202, 111, 112, 113, 29, 31, 33, 34, 8, 31, 33, 34, 2, 31, 33, 34, 0, 31, 33, 34, 5, 35, 37, 38, 17, 131, 132, 132, 73, 204, 204, 204, 241, 206, 206, 206, 255, 206, 206, 206, 255, 206, 206, 206, 254, 202, 202, 202, 232, 199, 199, 199, 217, 204, 204, 204, 243, 206, 206, 206, 255, 206, 206, 206, 255, 206, 206, 206, 254, - 193, 193, 193, 197, 31, 33, 34, 29, 31, 33, 34, 11, 31, 33, 34, 2, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 1, 31, 33, 34, 6, 99, 101, 101, 21, 193, 193, 193, 105, 205, 205, 205, 159, 93, 95, 95, 24, 31, 33, 34, 13, 31, 33, 34, 11, 31, 33, 34, 11, 31, 33, 34, 14, 177, 178, 178, 78, 203, 203, 203, 164, 193, 193, 193, 121, 31, 33, 34, 16, - 31, 33, 34, 9, 202, 202, 202, 68, 87, 89, 89, 6, 31, 33, 34, 5, 31, 33, 34, 9, 183, 183, 183, 71, 203, 204, 204, 149, 163, 164, 164, 55, 31, 33, 34, 15, 31, 33, 34, 13, 31, 33, 34, 14, 31, 33, 34, 13, 178, 178, 178, 48, 181, 181, 181, 42, 31, 33, 34, 11, 199, 200, 200, 122, 200, 200, 200, 144, 200, 200, 200, 142, 202, 202, 202, 145, 204, 204, 204, 146, 207, 207, 207, 163, - 202, 202, 202, 104, 59, 61, 61, 13, 118, 119, 119, 27, 198, 198, 198, 139, 158, 159, 159, 70, 203, 203, 203, 165, 188, 188, 188, 99, 57, 59, 60, 21, 31, 33, 34, 14, 31, 33, 34, 9, 31, 33, 34, 11, 31, 33, 34, 16, 200, 200, 200, 150, 105, 107, 107, 39, 201, 201, 201, 149, 187, 187, 187, 87, 67, 69, 69, 20, 31, 33, 34, 15, 31, 33, 34, 15, 77, 79, 79, 23, 192, 193, 193, 111, - 207, 207, 207, 181, 157, 158, 158, 48, 31, 33, 34, 9, 31, 33, 34, 5, 31, 33, 34, 8, 135, 136, 136, 34, 206, 206, 206, 171, 184, 184, 184, 87, 58, 60, 60, 20, 31, 33, 34, 16, 31, 33, 34, 16, 31, 33, 34, 18, 171, 172, 172, 74, 209, 209, 209, 201, 169, 170, 170, 65, 46, 48, 48, 12, 31, 33, 34, 4, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 1, 31, 33, 34, 7, - 36, 38, 38, 20, 131, 132, 132, 73, 199, 199, 199, 218, 206, 206, 206, 255, 206, 206, 206, 255, 206, 206, 206, 255, 206, 206, 206, 255, 206, 206, 206, 255, 206, 206, 206, 255, 205, 205, 205, 250, 186, 186, 186, 172, 50, 52, 52, 33, 31, 33, 34, 14, 31, 33, 34, 4, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 2, 31, 33, 34, 6, - 45, 47, 47, 13, 178, 178, 178, 67, 204, 204, 204, 151, 203, 203, 203, 141, 198, 198, 198, 114, 199, 200, 200, 118, 203, 204, 204, 137, 174, 174, 174, 70, 46, 48, 48, 23, 197, 198, 198, 129, 31, 33, 34, 14, 31, 33, 34, 9, 31, 33, 34, 5, 31, 33, 34, 3, 31, 33, 34, 3, 31, 33, 34, 4, 31, 33, 34, 9, 161, 161, 161, 45, 200, 200, 200, 127, 204, 205, 205, 158, 200, 200, 200, 135, - 204, 204, 204, 156, 206, 206, 206, 167, 202, 202, 202, 121, 167, 168, 168, 35, 31, 33, 34, 10, 43, 45, 45, 15, 190, 191, 191, 101, 41, 43, 43, 19, 31, 33, 34, 15, 31, 33, 34, 12, 31, 33, 34, 10, 31, 33, 34, 7, 31, 33, 34, 7, 31, 33, 34, 10, 202, 202, 202, 127, 76, 78, 78, 24, 137, 138, 138, 45, 202, 202, 202, 150, 204, 204, 204, 165, 208, 208, 208, 181, 205, 206, 206, 145, - 157, 157, 157, 40, 31, 33, 34, 16, 203, 203, 203, 156, 31, 33, 34, 21, 74, 76, 76, 25, 200, 201, 201, 131, 204, 204, 204, 158, 207, 207, 207, 184, 206, 207, 207, 178, 206, 207, 207, 177, 193, 193, 193, 107, 99, 101, 101, 24, 31, 33, 34, 9, 31, 33, 34, 4, 31, 33, 34, 2, 31, 33, 34, 3, 31, 33, 34, 9, 100, 101, 102, 24, 201, 201, 201, 139, 206, 206, 206, 173, 206, 206, 206, 177, - 204, 204, 204, 167, 207, 207, 207, 187, 204, 204, 204, 165, 148, 149, 149, 46, 31, 33, 34, 12, 31, 33, 34, 5, 31, 33, 34, 1, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 2, 31, 33, 34, 7, 31, 33, 34, 17, 60, 62, 63, 35, 165, 166, 166, 119, 192, 193, 193, 194, 201, 201, 201, 230, 203, 203, 203, 239, 199, 199, 199, 219, 184, 185, 185, 169, 141, 142, 142, 82, - 31, 33, 34, 25, 31, 33, 34, 12, 31, 33, 34, 4, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 2, 31, 33, 34, 5, 31, 33, 34, 9, 31, 33, 34, 11, 106, 107, 108, 21, 168, 169, 169, 45, 154, 154, 154, 33, 31, 33, 34, 10, 31, 33, 34, 13, 41, 43, 43, 16, 202, 202, 202, 128, - 31, 33, 34, 13, 31, 33, 34, 9, 182, 183, 183, 32, 31, 33, 34, 4, 31, 33, 34, 2, 31, 33, 34, 1, 31, 33, 34, 4, 31, 33, 34, 8, 31, 33, 34, 11, 145, 146, 146, 34, 159, 159, 159, 44, 147, 148, 148, 38, 127, 128, 128, 27, 31, 33, 34, 10, 31, 33, 34, 6, 31, 33, 34, 7, 31, 33, 34, 11, 200, 200, 200, 115, 66, 68, 68, 15, 31, 33, 34, 9, 31, 33, 34, 6, - 31, 33, 34, 5, 31, 33, 34, 3, 31, 33, 34, 3, 31, 33, 34, 4, 31, 33, 34, 7, 31, 33, 34, 8, 31, 33, 34, 10, 31, 33, 34, 13, 135, 136, 136, 33, 126, 128, 128, 28, 47, 49, 50, 11, 31, 33, 34, 11, 31, 33, 34, 13, 205, 205, 205, 153, 43, 45, 45, 15, 31, 33, 34, 12, 31, 33, 34, 11, 31, 33, 34, 13, 31, 33, 34, 14, 31, 33, 34, 14, 31, 33, 34, 13, - 31, 33, 34, 11, 31, 33, 34, 7, 31, 33, 34, 3, 31, 33, 34, 1, 31, 33, 34, 0, 31, 33, 34, 1, 31, 33, 34, 3, 31, 33, 34, 7, 31, 33, 34, 12, 31, 33, 34, 14, 136, 137, 137, 35, 139, 140, 140, 37, 51, 54, 54, 17, 31, 33, 34, 13, 31, 33, 34, 9, 31, 33, 34, 5, 31, 33, 34, 1, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, - 31, 33, 34, 0, 31, 33, 34, 1, 31, 33, 34, 4, 31, 33, 34, 11, 31, 33, 34, 18, 31, 33, 34, 24, 31, 33, 34, 29, 31, 33, 34, 30, 31, 33, 34, 27, 31, 33, 34, 22, 31, 33, 34, 15, 31, 33, 34, 8, 31, 33, 34, 3, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, - 31, 33, 34, 0, 31, 33, 34, 1, 31, 33, 34, 2, 31, 33, 34, 4, 31, 33, 34, 6, 31, 33, 34, 6, 31, 33, 34, 6, 31, 33, 34, 4, 31, 33, 34, 7, 39, 41, 42, 10, 207, 207, 207, 176, 34, 36, 36, 11, 72, 74, 74, 11, 209, 209, 209, 139, 78, 80, 80, 6, 31, 33, 34, 2, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 2, 31, 33, 34, 4, 31, 33, 34, 6, - 31, 33, 34, 8, 31, 33, 34, 8, 31, 33, 34, 6, 31, 33, 34, 4, 31, 33, 34, 2, 31, 33, 34, 3, 75, 77, 77, 8, 205, 205, 205, 112, 75, 77, 77, 8, 31, 33, 34, 3, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 1, 31, 33, 34, 1, 31, 33, 34, 2, 31, 33, 34, 3, 31, 33, 34, 5, 31, 33, 34, 7, 31, 33, 34, 7, - 31, 33, 34, 5, 31, 33, 34, 6, 31, 33, 34, 9, 206, 207, 207, 141, 50, 52, 52, 10, 31, 33, 34, 6, 31, 33, 34, 4, 31, 33, 34, 6, 31, 33, 34, 7, 31, 33, 34, 7, 31, 33, 34, 6, 31, 33, 34, 4, 31, 33, 34, 1, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 2, 31, 33, 34, 4, 31, 33, 34, 6, - 31, 33, 34, 8, 31, 33, 34, 8, 31, 33, 34, 7, 31, 33, 34, 5, 31, 33, 34, 2, 31, 33, 34, 1, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 1, 31, 33, 34, 4, 31, 33, 34, 6, 31, 33, 34, 8, 31, 33, 34, 9, 31, 33, 34, 8, 31, 33, 34, 5, - 31, 33, 34, 3, 31, 33, 34, 1, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 2, 31, 33, 34, 4, - 31, 33, 34, 6, 31, 33, 34, 6, 31, 33, 34, 5, 31, 33, 34, 4, 31, 33, 34, 3, 31, 33, 34, 1, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 1, 31, 33, 34, 3, 31, 33, 34, 4, 31, 33, 34, 3, 31, 33, 34, 1, - 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 2, 31, 33, 34, 4, 31, 33, 34, 6, 31, 33, 34, 4, 31, 33, 34, 2, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, - 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, - 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, - 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 1, 31, 33, 34, 2, 31, 33, 34, 2, 31, 33, 34, 2, 31, 33, 34, 2, 31, 33, 34, 1, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, - 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 1, 31, 33, 34, 1, 31, 33, 34, 1, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, - 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 1, 31, 33, 34, 2, 31, 33, 34, 1, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, - 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0,}; + 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 4, 255, 255, 255, 65, 255, 255, 255, 148, 255, 255, 255, 183, 255, 255, 255, 187, 255, 255, 255, 173, 255, 255, 255, 123, 255, 255, 255, 33, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, + 255, 255, 255, 0, 255, 255, 255, 15, 255, 255, 255, 109, 255, 255, 255, 141, 255, 255, 255, 136, 255, 255, 255, 142, 255, 255, 255, 119, 255, 255, 255, 19, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 114, 255, 255, 255, 0, 255, 255, 255, 4, 255, 255, 255, 119, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 4, 255, 255, 255, 69, 255, 255, 255, 150, 255, 255, 255, 148, + 255, 255, 255, 148, 255, 255, 255, 152, 255, 255, 255, 132, 255, 255, 255, 33, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 85, 255, 255, 255, 127, 255, 255, 255, 132, 255, 255, 255, 138, 255, 255, 255, 67, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 119, 255, 255, 255, 10, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, + 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 134, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 131, 255, 255, 255, 2, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 93, + 255, 255, 255, 138, 255, 255, 255, 132, 255, 255, 255, 153, 255, 255, 255, 155, 255, 255, 255, 110, 255, 255, 255, 6, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 31, 255, 255, 255, 174, 255, 255, 255, 216, 255, 255, 255, 216, 255, 255, 255, 216, 255, 255, 255, 216, 255, 255, 255, 216, 255, 255, 255, 216, 255, 255, 255, 210, 255, 255, 255, 128, 255, 255, 255, 0, + 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 46, 255, 255, 255, 148, 255, 255, 255, 103, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 48, 255, 255, 255, 129, 255, 255, 255, 63, 255, 255, 255, 6, 255, 255, 255, 120, 255, 255, 255, 0, 255, 255, 255, 4, + 255, 255, 255, 119, 255, 255, 255, 4, 255, 255, 255, 0, 255, 255, 255, 8, 255, 255, 255, 96, 255, 255, 255, 127, 255, 255, 255, 54, 255, 255, 255, 4, 255, 255, 255, 0, 255, 255, 255, 4, 255, 255, 255, 75, 255, 255, 255, 129, 255, 255, 255, 29, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 119, 255, 255, 255, 132, 255, 255, 255, 22, 255, 255, 255, 0, 255, 255, 255, 42, + 255, 255, 255, 42, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 119, 255, 255, 255, 4, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 140, 255, 255, 255, 2, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, + 255, 255, 255, 0, 255, 255, 255, 152, 255, 255, 255, 4, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 134, 255, 255, 255, 138, 255, 255, 255, 26, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 13, 255, 255, 255, 116, 255, 255, 255, 136, 255, 255, 255, 13, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 35, 255, 255, 255, 199, 255, 255, 255, 216, 255, 255, 255, 216, + 255, 255, 255, 216, 255, 255, 255, 214, 255, 255, 255, 208, 255, 255, 255, 216, 255, 255, 255, 216, 255, 255, 255, 216, 255, 255, 255, 214, 255, 255, 255, 160, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 38, 255, 255, 255, 148, 255, 255, 255, 61, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, + 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 38, 255, 255, 255, 74, 255, 255, 255, 61, 255, 255, 255, 120, 255, 255, 255, 0, 255, 255, 255, 4, 255, 255, 255, 119, 255, 255, 255, 2, 255, 255, 255, 0, 255, 255, 255, 6, 255, 255, 255, 11, 255, 255, 255, 2, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 69, 255, 255, 255, 119, + 255, 255, 255, 15, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 119, 255, 255, 255, 15, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 2, 255, 255, 255, 119, 255, 255, 255, 4, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 140, + 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 152, 255, 255, 255, 2, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 124, 255, 255, 255, 111, 255, 255, 255, 10, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, + 255, 255, 255, 96, 255, 255, 255, 146, 255, 255, 255, 4, 255, 255, 255, 4, 255, 255, 255, 183, 255, 255, 255, 216, 255, 255, 255, 215, 255, 255, 255, 193, 255, 255, 255, 83, 255, 255, 255, 4, 255, 255, 255, 0, 255, 255, 255, 26, 255, 255, 255, 127, 255, 255, 255, 212, 255, 255, 255, 216, 255, 255, 255, 211, 255, 255, 255, 125, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, + 255, 255, 255, 0, 255, 255, 255, 10, 255, 255, 255, 89, 255, 255, 255, 132, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 50, 255, 255, 255, 94, 255, 255, 255, 111, 255, 255, 255, 0, 255, 255, 255, 2, 255, 255, 255, 122, 255, 255, 255, 2, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, + 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 4, 255, 255, 255, 111, 255, 255, 255, 42, 255, 255, 255, 0, 255, 255, 255, 4, 255, 255, 255, 119, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 2, 255, 255, 255, 119, 255, 255, 255, 4, + 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 140, 255, 255, 255, 4, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 153, 255, 255, 255, 2, 255, 255, 255, 0, 255, 255, 255, 17, + 255, 255, 255, 129, 255, 255, 255, 21, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 127, 255, 255, 255, 47, 255, 255, 255, 93, 255, 255, 255, 216, 255, 255, 255, 215, 255, 255, 255, 190, 255, 255, 255, 15, 255, 255, 255, 4, 255, 255, 255, 59, 255, 255, 255, 91, 255, 255, 255, 33, 255, 255, 255, 0, + 255, 255, 255, 72, 255, 255, 255, 215, 255, 255, 255, 216, 255, 255, 255, 200, 255, 255, 255, 19, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 38, 255, 255, 255, 145, 255, 255, 255, 26, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 10, 255, 255, 255, 79, + 255, 255, 255, 119, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 116, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 116, 255, 255, 255, 42, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 119, 255, 255, 255, 0, + 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 2, 255, 255, 255, 119, 255, 255, 255, 2, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 131, 255, 255, 255, 2, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, + 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 155, 255, 255, 255, 4, 255, 255, 255, 0, 255, 255, 255, 119, 255, 255, 255, 80, 255, 255, 255, 6, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 67, 255, 255, 255, 136, 255, 255, 255, 171, 255, 255, 255, 216, + 255, 255, 255, 213, 255, 255, 255, 63, 255, 255, 255, 8, 255, 255, 255, 162, 255, 255, 255, 216, 255, 255, 255, 216, 255, 255, 255, 209, 255, 255, 255, 98, 255, 255, 255, 4, 255, 255, 255, 134, 255, 255, 255, 216, 255, 255, 255, 209, 255, 255, 255, 109, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 48, 255, 255, 255, 142, 255, 255, 255, 0, 255, 255, 255, 0, + 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 38, 255, 255, 255, 127, 255, 255, 255, 0, 255, 255, 255, 2, 255, 255, 255, 119, 255, 255, 255, 4, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, + 255, 255, 255, 0, 255, 255, 255, 79, 255, 255, 255, 117, 255, 255, 255, 11, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 119, 255, 255, 255, 4, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 2, 255, 255, 255, 122, 255, 255, 255, 2, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, + 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 140, 255, 255, 255, 4, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 156, 255, 255, 255, 2, 255, 255, 255, 0, 255, 255, 255, 148, 255, 255, 255, 26, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, + 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 2, 255, 255, 255, 152, 255, 255, 255, 205, 255, 255, 255, 216, 255, 255, 255, 195, 255, 255, 255, 0, 255, 255, 255, 93, 255, 255, 255, 214, 255, 255, 255, 91, 255, 255, 255, 21, 255, 255, 255, 152, 255, 255, 255, 207, 255, 255, 255, 15, 255, 255, 255, 48, 255, 255, 255, 216, 255, 255, 255, 213, 255, 255, 255, 152, + 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 48, 255, 255, 255, 138, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 26, 255, 255, 255, 119, 255, 255, 255, 0, 255, 255, 255, 4, 255, 255, 255, 119, 255, 255, 255, 4, + 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 2, 255, 255, 255, 47, 255, 255, 255, 132, 255, 255, 255, 119, 255, 255, 255, 22, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 2, 255, 255, 255, 122, 255, 255, 255, 11, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, + 255, 255, 255, 4, 255, 255, 255, 116, 255, 255, 255, 2, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 141, 255, 255, 255, 4, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 156, + 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 144, 255, 255, 255, 22, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 148, 255, 255, 255, 214, 255, 255, 255, 215, 255, 255, 255, 175, 255, 255, 255, 2, 255, 255, 255, 138, 255, 255, 255, 198, 255, 255, 255, 0, + 255, 255, 255, 0, 255, 255, 255, 48, 255, 255, 255, 215, 255, 255, 255, 65, 255, 255, 255, 26, 255, 255, 255, 216, 255, 255, 255, 215, 255, 255, 255, 166, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 46, 255, 255, 255, 150, 255, 255, 255, 10, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, + 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 37, 255, 255, 255, 119, 255, 255, 255, 0, 255, 255, 255, 4, 255, 255, 255, 122, 255, 255, 255, 2, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 11, 255, 255, 255, 85, 255, 255, 255, 127, 255, 255, 255, 129, 255, 255, 255, 111, 255, 255, 255, 28, 255, 255, 255, 10, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, + 255, 255, 255, 0, 255, 255, 255, 116, 255, 255, 255, 2, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 2, 255, 255, 255, 119, 255, 255, 255, 4, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 141, 255, 255, 255, 2, 255, 255, 255, 0, + 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 157, 255, 255, 255, 2, 255, 255, 255, 0, 255, 255, 255, 146, 255, 255, 255, 22, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, + 255, 255, 255, 152, 255, 255, 255, 207, 255, 255, 255, 216, 255, 255, 255, 190, 255, 255, 255, 0, 255, 255, 255, 103, 255, 255, 255, 212, 255, 255, 255, 61, 255, 255, 255, 4, 255, 255, 255, 134, 255, 255, 255, 210, 255, 255, 255, 24, 255, 255, 255, 42, 255, 255, 255, 216, 255, 255, 255, 214, 255, 255, 255, 156, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 33, + 255, 255, 255, 156, 255, 255, 255, 35, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 33, 255, 255, 255, 122, 255, 255, 255, 0, 255, 255, 255, 2, 255, 255, 255, 116, 255, 255, 255, 4, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 67, 255, 255, 255, 124, 255, 255, 255, 101, + 255, 255, 255, 13, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 2, 255, 255, 255, 119, 255, 255, 255, 8, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 4, 255, 255, 255, 119, 255, 255, 255, 2, 255, 255, 255, 0, 255, 255, 255, 0, + 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 142, 255, 255, 255, 4, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 157, 255, 255, 255, 4, 255, 255, 255, 0, 255, 255, 255, 144, 255, 255, 255, 24, 255, 255, 255, 0, + 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 152, 255, 255, 255, 177, 255, 255, 255, 216, 255, 255, 255, 212, 255, 255, 255, 46, 255, 255, 255, 11, 255, 255, 255, 180, 255, 255, 255, 216, 255, 255, 255, 209, 255, 255, 255, 212, 255, 255, 255, 123, 255, 255, 255, 0, 255, 255, 255, 122, + 255, 255, 255, 216, 255, 255, 255, 210, 255, 255, 255, 116, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 8, 255, 255, 255, 104, 255, 255, 255, 123, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 33, 255, 255, 255, 116, 255, 255, 255, 0, + 255, 255, 255, 2, 255, 255, 255, 119, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 40, 255, 255, 255, 110, 255, 255, 255, 56, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 119, 255, 255, 255, 4, 255, 255, 255, 0, 255, 255, 255, 0, + 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 4, 255, 255, 255, 122, 255, 255, 255, 4, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 142, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, + 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 158, 255, 255, 255, 4, 255, 255, 255, 0, 255, 255, 255, 144, 255, 255, 255, 33, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 11, 255, 255, 255, 142, 255, 255, 255, 104, 255, 255, 255, 216, 255, 255, 255, 215, 255, 255, 255, 178, + 255, 255, 255, 4, 255, 255, 255, 8, 255, 255, 255, 91, 255, 255, 255, 116, 255, 255, 255, 61, 255, 255, 255, 0, 255, 255, 255, 54, 255, 255, 255, 210, 255, 255, 255, 216, 255, 255, 255, 202, 255, 255, 255, 28, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 44, 255, 255, 255, 148, 255, 255, 255, 4, 255, 255, 255, 0, 255, 255, 255, 0, + 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 63, 255, 255, 255, 129, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 119, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 65, 255, 255, 255, 111, 255, 255, 255, 10, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, + 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 2, 255, 255, 255, 122, 255, 255, 255, 4, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 8, 255, 255, 255, 116, 255, 255, 255, 24, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, + 255, 255, 255, 161, 255, 255, 255, 10, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 149, 255, 255, 255, 4, 255, 255, 255, 0, 255, 255, 255, 80, 255, 255, 255, 110, 255, 255, 255, 11, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, + 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 109, 255, 255, 255, 113, 255, 255, 255, 10, 255, 255, 255, 191, 255, 255, 255, 216, 255, 255, 255, 215, 255, 255, 255, 182, 255, 255, 255, 54, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 10, 255, 255, 255, 100, 255, 255, 255, 206, 255, 255, 255, 216, 255, 255, 255, 212, 255, 255, 255, 140, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, + 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 4, 255, 255, 255, 80, 255, 255, 255, 150, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 10, 255, 255, 255, 104, 255, 255, 255, 136, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 122, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 17, + 255, 255, 255, 113, 255, 255, 255, 65, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 2, 255, 255, 255, 116, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 11, 255, 255, 255, 114, + 255, 255, 255, 122, 255, 255, 255, 47, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 150, 255, 255, 255, 141, 255, 255, 255, 35, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 65, 255, 255, 255, 134, 255, 255, 255, 8, 255, 255, 255, 0, + 255, 255, 255, 0, 255, 255, 255, 155, 255, 255, 255, 48, 255, 255, 255, 2, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 29, 255, 255, 255, 149, 255, 255, 255, 15, 255, 255, 255, 0, 255, 255, 255, 48, 255, 255, 255, 206, 255, 255, 255, 216, 255, 255, 255, 216, 255, 255, 255, 215, 255, 255, 255, 201, 255, 255, 255, 190, 255, 255, 255, 208, + 255, 255, 255, 216, 255, 255, 255, 216, 255, 255, 255, 215, 255, 255, 255, 174, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 10, 255, 255, 255, 100, 255, 255, 255, 151, 255, 255, 255, 10, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 70, + 255, 255, 255, 119, 255, 255, 255, 113, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 116, 255, 255, 255, 4, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 80, 255, 255, 255, 138, 255, 255, 255, 75, 255, 255, 255, 4, 255, 255, 255, 0, 255, 255, 255, 4, 255, 255, 255, 54, 255, 255, 255, 127, 255, 255, 255, 96, 255, 255, 255, 8, 255, 255, 255, 0, 255, 255, 255, 119, 255, 255, 255, 119, + 255, 255, 255, 135, 255, 255, 255, 123, 255, 255, 255, 127, 255, 255, 255, 140, 255, 255, 255, 104, 255, 255, 255, 4, 255, 255, 255, 15, 255, 255, 255, 116, 255, 255, 255, 47, 255, 255, 255, 138, 255, 255, 255, 93, 255, 255, 255, 4, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 140, 255, 255, 255, 19, 255, 255, 255, 140, 255, 255, 255, 81, 255, 255, 255, 4, + 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 8, 255, 255, 255, 100, 255, 255, 255, 142, 255, 255, 255, 38, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 22, 255, 255, 255, 161, 255, 255, 255, 80, 255, 255, 255, 4, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 63, 255, 255, 255, 140, 255, 255, 255, 50, 255, 255, 255, 2, 255, 255, 255, 0, + 255, 255, 255, 2, 255, 255, 255, 48, 255, 255, 255, 190, 255, 255, 255, 216, 255, 255, 255, 216, 255, 255, 255, 216, 255, 255, 255, 216, 255, 255, 255, 216, 255, 255, 255, 216, 255, 255, 255, 213, 255, 255, 255, 152, 255, 255, 255, 4, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, + 255, 255, 255, 2, 255, 255, 255, 61, 255, 255, 255, 144, 255, 255, 255, 136, 255, 255, 255, 110, 255, 255, 255, 114, 255, 255, 255, 132, 255, 255, 255, 61, 255, 255, 255, 4, 255, 255, 255, 123, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 37, 255, 255, 255, 132, 255, 255, 255, 152, 255, 255, 255, 148, + 255, 255, 255, 148, 255, 255, 255, 150, 255, 255, 255, 69, 255, 255, 255, 4, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 2, 255, 255, 255, 119, 255, 255, 255, 2, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 122, 255, 255, 255, 8, 255, 255, 255, 26, 255, 255, 255, 142, 255, 255, 255, 144, 255, 255, 255, 151, + 255, 255, 255, 138, 255, 255, 255, 33, 255, 255, 255, 0, 255, 255, 255, 148, 255, 255, 255, 0, 255, 255, 255, 8, 255, 255, 255, 127, 255, 255, 255, 148, 255, 255, 255, 142, 255, 255, 255, 144, 255, 255, 255, 142, 255, 255, 255, 100, 255, 255, 255, 10, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 11, 255, 255, 255, 132, 255, 255, 255, 138, + 255, 255, 255, 129, 255, 255, 255, 148, 255, 255, 255, 131, 255, 255, 255, 138, 255, 255, 255, 33, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 8, 255, 255, 255, 98, 255, 255, 255, 171, 255, 255, 255, 199, 255, 255, 255, 206, 255, 255, 255, 191, 255, 255, 255, 148, 255, 255, 255, 59, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, + 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 11, 255, 255, 255, 40, 255, 255, 255, 26, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 2, 255, 255, 255, 123, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 31, + 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 21, 255, 255, 255, 37, 255, 255, 255, 26, 255, 255, 255, 13, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 122, 255, 255, 255, 4, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, + 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 21, 255, 255, 255, 15, 255, 255, 255, 2, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 146, 255, 255, 255, 2, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, + 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 21, 255, 255, 255, 26, 255, 255, 255, 4, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, + 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, + 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 132, 255, 255, 255, 0, 255, 255, 255, 4, 255, 255, 255, 138, 255, 255, 255, 4, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, + 255, 255, 255, 0, 255, 255, 255, 4, 255, 255, 255, 116, 255, 255, 255, 4, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 138, 255, 255, 255, 2, + 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, + 255, 255, 255, 0, 255, 255, 255, 0,}; const char* DistrhoArtwork3BandEQ::aboutButtonHoverData = (const char*)temp2; static const unsigned char temp3[] = { - 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 1, 31, 33, 34, 3, 31, 33, 34, 5, 31, 33, 34, 7, 31, 33, 34, 8, 31, 33, 34, 6, 31, 33, 34, 4, 31, 33, 34, 2, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, - 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 2, 31, 33, 34, 4, 31, 33, 34, 6, 31, 33, 34, 6, 31, 33, 34, 6, 31, 33, 34, 4, 31, 33, 34, 2, 31, 33, 34, 1, 31, 33, 34, 1, 31, 33, 34, 1, 31, 33, 34, 1, 31, 33, 34, 1, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 1, 31, 33, 34, 3, - 31, 33, 34, 5, 31, 33, 34, 7, 31, 33, 34, 7, 31, 33, 34, 6, 31, 33, 34, 4, 31, 33, 34, 2, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 1, 31, 33, 34, 3, 31, 33, 34, 5, 31, 33, 34, 5, 31, 33, 34, 4, 31, 33, 34, 3, 31, 33, 34, 1, 31, 33, 34, 1, 31, 33, 34, 1, 31, 33, 34, 1, 31, 33, 34, 0, 31, 33, 34, 0, - 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 1, 31, 33, 34, 1, 31, 33, 34, 1, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 1, 31, 33, 34, 1, 31, 33, 34, 1, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 1, - 31, 33, 34, 4, 31, 33, 34, 6, 31, 33, 34, 8, 31, 33, 34, 8, 31, 33, 34, 6, 31, 33, 34, 4, 31, 33, 34, 2, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 1, 31, 33, 34, 4, 31, 33, 34, 9, 31, 33, 34, 16, 31, 33, 34, 22, 31, 33, 34, 26, 31, 33, 34, 27, - 31, 33, 34, 25, 31, 33, 34, 20, 31, 33, 34, 13, 31, 33, 34, 7, 31, 33, 34, 2, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 1, 31, 33, 34, 4, 31, 33, 34, 8, 31, 33, 34, 12, 31, 33, 34, 14, 31, 33, 34, 14, 31, 33, 34, 13, 31, 33, 34, 10, 31, 33, 34, 7, - 31, 33, 34, 5, 31, 33, 34, 4, 31, 33, 34, 5, 31, 33, 34, 4, 31, 33, 34, 3, 31, 33, 34, 2, 31, 33, 34, 1, 31, 33, 34, 1, 31, 33, 34, 2, 31, 33, 34, 6, 31, 33, 34, 10, 31, 33, 34, 14, 31, 33, 34, 16, 31, 33, 34, 16, 31, 33, 34, 15, 31, 33, 34, 12, 31, 33, 34, 9, 31, 33, 34, 4, 31, 33, 34, 2, 31, 33, 34, 2, 31, 33, 34, 5, - 31, 33, 34, 9, 31, 33, 34, 12, 31, 33, 34, 12, 31, 33, 34, 10, 31, 33, 34, 7, 31, 33, 34, 4, 31, 33, 34, 3, 31, 33, 34, 4, 31, 33, 34, 3, 31, 33, 34, 1, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 1, 31, 33, 34, 3, 31, 33, 34, 5, 31, 33, 34, 3, 31, 33, 34, 1, 31, 33, 34, 0, 31, 33, 34, 0, - 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 2, 31, 33, 34, 4, 31, 33, 34, 6, 31, 33, 34, 4, 31, 33, 34, 2, 31, 33, 34, 0, 31, 33, 34, 3, 31, 33, 34, 7, 31, 33, 34, 11, 31, 33, 34, 15, 31, 33, 34, 17, 31, 33, 34, 17, 31, 33, 34, 15, 31, 33, 34, 12, 31, 33, 34, 8, 31, 33, 34, 3, 31, 33, 34, 1, 31, 33, 34, 0, - 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 1, 31, 33, 34, 6, 31, 33, 34, 15, 39, 41, 42, 28, 117, 118, 118, 89, 147, 147, 147, 169, 155, 155, 155, 207, 157, 157, 157, 214, 153, 153, 153, 196, 140, 140, 140, 142, 91, 93, 93, 58, 31, 33, 34, 22, 31, 33, 34, 11, 31, 33, 34, 4, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, - 31, 33, 34, 0, 31, 33, 34, 1, 31, 33, 34, 4, 31, 33, 34, 10, 103, 105, 105, 31, 164, 164, 164, 125, 172, 173, 173, 191, 171, 171, 171, 175, 170, 170, 170, 163, 166, 166, 166, 123, 113, 114, 114, 28, 31, 33, 34, 11, 33, 35, 35, 10, 169, 169, 169, 113, 31, 33, 34, 8, 74, 76, 76, 10, 165, 165, 165, 56, 31, 33, 34, 4, 31, 33, 34, 3, 31, 33, 34, 5, 52, 54, 55, 13, - 150, 150, 150, 75, 169, 169, 169, 163, 172, 173, 173, 196, 172, 172, 172, 194, 172, 172, 172, 190, 166, 166, 166, 139, 128, 129, 129, 46, 31, 33, 34, 11, 31, 33, 34, 7, 31, 33, 34, 7, 31, 33, 34, 12, 157, 157, 157, 89, 169, 169, 169, 152, 170, 170, 170, 158, 171, 171, 171, 155, 159, 159, 159, 67, 31, 33, 34, 8, 31, 33, 34, 7, 170, 170, 170, 110, 113, 114, 114, 14, 31, 33, 34, 3, - 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 3, 31, 33, 34, 7, 171, 171, 171, 136, 31, 33, 34, 7, 31, 33, 34, 3, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 4, 31, 33, 34, 8, 170, 170, 170, 132, 47, 49, 49, 9, 31, 33, 34, 4, 31, 33, 34, 3, 31, 33, 34, 8, - 31, 33, 34, 15, 156, 156, 156, 98, 172, 172, 172, 193, 173, 173, 173, 205, 173, 173, 173, 204, 173, 173, 173, 200, 161, 161, 161, 116, 65, 67, 67, 21, 31, 33, 34, 9, 31, 33, 34, 3, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 1, 31, 33, 34, 6, 33, 35, 35, 18, 91, 92, 92, 57, 153, 153, 153, 197, 163, 163, 163, 255, 163, 163, 163, 255, 163, 163, 163, 255, - 163, 163, 163, 255, 163, 163, 163, 255, 163, 163, 163, 255, 162, 162, 162, 246, 142, 142, 142, 148, 31, 33, 34, 28, 31, 33, 34, 12, 31, 33, 34, 4, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 4, 31, 33, 34, 10, 137, 138, 138, 56, 171, 171, 171, 179, 159, 159, 159, 109, 31, 33, 34, 18, 31, 33, 34, 15, 31, 33, 34, 15, 142, 143, 143, 56, - 168, 168, 168, 133, 148, 148, 148, 70, 64, 66, 66, 22, 166, 166, 166, 123, 31, 33, 34, 12, 55, 57, 57, 12, 167, 168, 168, 87, 81, 82, 82, 8, 31, 33, 34, 5, 98, 99, 99, 13, 169, 169, 169, 131, 171, 171, 171, 167, 143, 143, 143, 68, 51, 54, 54, 21, 31, 33, 34, 17, 45, 47, 47, 20, 150, 150, 150, 84, 170, 170, 170, 169, 157, 158, 158, 93, 31, 33, 34, 14, 31, 33, 34, 13, - 164, 164, 164, 117, 168, 168, 168, 148, 108, 110, 110, 37, 31, 33, 34, 15, 144, 145, 145, 49, 152, 152, 152, 43, 31, 33, 34, 8, 31, 33, 34, 9, 168, 168, 168, 113, 60, 61, 62, 10, 31, 33, 34, 4, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 5, 31, 33, 34, 10, 170, 170, 170, 144, 44, 46, 46, 11, 31, 33, 34, 5, 31, 33, 34, 0, - 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 5, 31, 33, 34, 11, 171, 171, 171, 160, 61, 63, 63, 14, 31, 33, 34, 8, 31, 33, 34, 7, 31, 33, 34, 15, 169, 169, 169, 163, 167, 167, 167, 152, 111, 112, 112, 43, 31, 33, 34, 19, 31, 33, 34, 18, 82, 84, 84, 31, 164, 164, 164, 135, 172, 172, 172, 183, 89, 90, 91, 27, 31, 33, 34, 9, - 31, 33, 34, 2, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 4, 33, 35, 36, 16, 95, 97, 97, 61, 159, 159, 159, 230, 163, 163, 163, 255, 163, 163, 163, 255, 163, 163, 163, 255, 163, 163, 163, 252, 161, 161, 161, 242, 163, 163, 163, 255, 163, 163, 163, 255, 163, 163, 163, 255, 162, 162, 162, 252, 150, 150, 150, 181, 31, 33, 34, 27, 31, 33, 34, 10, 31, 33, 34, 2, 31, 33, 34, 0, - 31, 33, 34, 0, 31, 33, 34, 2, 31, 33, 34, 8, 131, 132, 132, 46, 168, 168, 168, 157, 143, 143, 143, 71, 31, 33, 34, 16, 31, 33, 34, 10, 31, 33, 34, 8, 31, 33, 34, 8, 31, 33, 34, 10, 136, 136, 136, 44, 150, 150, 150, 80, 139, 140, 140, 70, 163, 163, 164, 126, 31, 33, 34, 15, 53, 55, 55, 13, 163, 163, 163, 73, 50, 52, 52, 7, 31, 33, 34, 4, 104, 105, 106, 10, - 108, 109, 109, 19, 42, 45, 45, 13, 31, 33, 34, 11, 31, 33, 34, 10, 31, 33, 34, 9, 31, 33, 34, 10, 31, 33, 34, 16, 147, 147, 147, 77, 163, 163, 163, 125, 124, 125, 125, 47, 31, 33, 34, 17, 166, 166, 166, 130, 102, 103, 103, 31, 31, 33, 34, 13, 31, 33, 34, 8, 31, 33, 34, 7, 31, 33, 34, 4, 31, 33, 34, 6, 45, 47, 47, 10, 165, 166, 166, 103, 58, 59, 60, 11, - 31, 33, 34, 4, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 6, 31, 33, 34, 12, 169, 169, 169, 145, 31, 33, 34, 12, 31, 33, 34, 6, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 6, 31, 33, 34, 13, 170, 170, 170, 162, 41, 43, 43, 15, 31, 33, 34, 12, 31, 33, 34, 12, - 165, 165, 165, 131, 161, 161, 161, 118, 75, 77, 77, 26, 31, 33, 34, 13, 31, 33, 34, 10, 31, 33, 34, 9, 31, 33, 34, 12, 31, 33, 34, 18, 156, 156, 156, 104, 168, 168, 168, 155, 49, 51, 51, 16, 31, 33, 34, 6, 31, 33, 34, 1, 31, 33, 34, 1, 31, 33, 34, 10, 46, 48, 48, 32, 155, 155, 155, 207, 163, 163, 163, 255, 163, 163, 163, 255, 158, 158, 158, 222, 120, 121, 121, 111, - 42, 44, 44, 54, 31, 34, 34, 51, 73, 75, 75, 68, 140, 140, 140, 149, 162, 162, 162, 249, 163, 163, 163, 255, 162, 162, 162, 247, 141, 142, 142, 143, 31, 33, 34, 21, 31, 33, 34, 6, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 5, 81, 83, 83, 19, 155, 155, 155, 96, 166, 166, 166, 140, 31, 33, 34, 16, 31, 33, 34, 7, 31, 33, 34, 2, 31, 33, 34, 0, 31, 33, 34, 1, - 31, 33, 34, 4, 31, 33, 34, 9, 139, 140, 140, 59, 160, 160, 160, 118, 161, 161, 161, 120, 31, 33, 34, 17, 42, 45, 45, 13, 165, 166, 166, 87, 49, 52, 52, 8, 31, 33, 34, 4, 31, 33, 34, 2, 31, 33, 34, 4, 31, 33, 34, 4, 31, 33, 34, 3, 31, 33, 34, 1, 31, 33, 34, 0, 31, 33, 34, 2, 31, 33, 34, 9, 52, 54, 55, 20, 161, 161, 161, 118, 144, 145, 145, 76, - 45, 47, 47, 20, 165, 165, 165, 119, 31, 33, 34, 11, 31, 33, 34, 6, 31, 33, 34, 1, 31, 33, 34, 1, 31, 33, 34, 0, 31, 33, 34, 5, 46, 48, 48, 10, 164, 164, 164, 98, 58, 60, 60, 11, 31, 33, 34, 4, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 5, 31, 33, 34, 12, 169, 169, 169, 145, 68, 69, 70, 16, 31, 33, 34, 6, - 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 6, 31, 33, 34, 13, 170, 170, 170, 163, 40, 42, 42, 17, 31, 33, 34, 15, 101, 102, 102, 31, 170, 171, 171, 172, 105, 106, 106, 35, 31, 33, 34, 11, 31, 33, 34, 4, 31, 33, 34, 1, 31, 33, 34, 0, 31, 33, 34, 3, 31, 33, 34, 9, 31, 33, 34, 18, 171, 171, 171, 176, - 135, 136, 136, 56, 31, 33, 34, 10, 31, 33, 34, 2, 31, 33, 34, 4, 31, 33, 34, 18, 130, 130, 130, 113, 163, 163, 163, 255, 163, 163, 163, 255, 157, 157, 157, 217, 58, 60, 60, 61, 36, 39, 39, 46, 112, 113, 113, 86, 130, 131, 131, 112, 87, 88, 88, 66, 31, 33, 34, 47, 114, 114, 114, 102, 163, 163, 163, 255, 163, 163, 163, 255, 159, 160, 160, 231, 75, 76, 76, 46, 31, 33, 34, 12, - 31, 33, 34, 1, 31, 33, 34, 1, 31, 33, 34, 7, 132, 133, 133, 48, 167, 168, 168, 154, 111, 112, 112, 39, 31, 33, 34, 10, 31, 33, 34, 2, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 1, 31, 33, 34, 5, 81, 83, 83, 21, 160, 161, 161, 115, 166, 166, 166, 144, 31, 33, 34, 17, 31, 33, 34, 12, 164, 164, 164, 82, 31, 33, 34, 7, 31, 33, 34, 3, - 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 1, 31, 33, 34, 3, 31, 33, 34, 10, 31, 33, 34, 18, 161, 162, 162, 122, 154, 155, 155, 97, 31, 33, 34, 18, 159, 159, 159, 85, 31, 33, 34, 8, 31, 33, 34, 4, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 4, 45, 47, 48, 10, 168, 168, 168, 120, - 45, 47, 48, 10, 31, 33, 34, 4, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 5, 31, 33, 34, 11, 167, 168, 168, 135, 42, 45, 45, 13, 31, 33, 34, 6, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 6, 31, 33, 34, 13, 170, 170, 170, 164, 46, 48, 48, 20, 31, 33, 34, 19, - 164, 164, 164, 123, 152, 152, 152, 86, 71, 73, 73, 18, 31, 33, 34, 5, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 4, 31, 33, 34, 12, 146, 147, 147, 75, 167, 167, 167, 146, 31, 33, 34, 13, 31, 33, 34, 5, 31, 33, 34, 7, 31, 33, 34, 25, 152, 153, 153, 193, 163, 163, 163, 255, 162, 162, 162, 251, 107, 108, 108, 95, 47, 49, 50, 49, - 155, 155, 155, 181, 167, 167, 167, 255, 167, 167, 167, 255, 165, 165, 165, 244, 134, 135, 135, 119, 37, 40, 40, 49, 142, 142, 142, 155, 163, 163, 163, 255, 161, 161, 161, 244, 136, 136, 136, 127, 31, 33, 34, 18, 31, 33, 34, 4, 31, 33, 34, 1, 31, 33, 34, 9, 138, 139, 139, 59, 170, 170, 170, 175, 31, 33, 34, 17, 31, 33, 34, 8, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, - 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 2, 31, 33, 34, 10, 129, 130, 130, 48, 165, 165, 165, 132, 31, 33, 34, 16, 42, 44, 44, 13, 165, 165, 165, 89, 74, 75, 75, 10, 31, 33, 34, 3, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 1, 31, 33, 34, 3, 31, 33, 34, 5, 31, 33, 34, 8, 31, 33, 34, 11, 31, 33, 34, 17, 150, 150, 150, 86, 167, 167, 167, 149, - 120, 121, 121, 45, 31, 33, 34, 16, 165, 165, 165, 105, 58, 60, 60, 10, 31, 33, 34, 4, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 4, 45, 47, 47, 10, 167, 167, 167, 114, 45, 47, 47, 10, 31, 33, 34, 4, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 6, 31, 33, 34, 12, 169, 169, 169, 145, 52, 54, 54, 14, - 31, 33, 34, 6, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 6, 31, 33, 34, 14, 170, 170, 170, 165, 38, 40, 41, 20, 31, 33, 34, 21, 170, 170, 170, 170, 114, 115, 115, 39, 31, 33, 34, 10, 31, 33, 34, 2, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 1, 31, 33, 34, 9, - 39, 41, 41, 19, 172, 172, 172, 190, 31, 33, 34, 15, 31, 33, 34, 6, 31, 33, 34, 9, 31, 33, 34, 29, 160, 161, 161, 238, 163, 163, 163, 255, 158, 158, 158, 224, 31, 33, 34, 50, 131, 132, 132, 114, 166, 166, 166, 253, 130, 130, 130, 113, 70, 72, 72, 61, 152, 153, 153, 172, 165, 165, 165, 240, 63, 65, 65, 54, 97, 98, 98, 85, 163, 163, 163, 255, 162, 162, 162, 251, 148, 148, 148, 174, - 31, 33, 34, 22, 31, 33, 34, 5, 31, 33, 34, 1, 31, 33, 34, 10, 137, 137, 138, 57, 170, 170, 170, 170, 31, 33, 34, 15, 31, 33, 34, 7, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 1, 31, 33, 34, 8, 122, 123, 123, 36, 165, 165, 165, 123, 31, 33, 34, 15, 51, 53, 53, 14, 165, 165, 165, 90, 62, 64, 64, 9, - 31, 33, 34, 4, 31, 33, 34, 1, 31, 33, 34, 3, 31, 33, 34, 6, 31, 33, 34, 9, 31, 33, 34, 12, 40, 42, 42, 16, 136, 136, 136, 56, 167, 167, 167, 149, 168, 168, 168, 156, 152, 153, 153, 81, 31, 33, 34, 15, 41, 43, 44, 14, 167, 167, 167, 115, 103, 105, 105, 18, 31, 33, 34, 4, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 4, 56, 58, 59, 11, - 168, 168, 168, 122, 45, 47, 47, 10, 31, 33, 34, 4, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 6, 31, 33, 34, 12, 169, 169, 169, 147, 60, 62, 62, 15, 31, 33, 34, 6, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 7, 31, 33, 34, 14, 170, 170, 170, 166, 31, 33, 34, 21, - 31, 33, 34, 22, 170, 170, 170, 170, 111, 112, 112, 35, 31, 33, 34, 9, 31, 33, 34, 1, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 8, 31, 33, 34, 16, 172, 172, 172, 189, 31, 33, 34, 16, 31, 33, 34, 7, 31, 33, 34, 10, 31, 33, 34, 31, 163, 163, 163, 253, 163, 163, 163, 255, 154, 154, 154, 199, 33, 36, 36, 49, - 148, 148, 148, 156, 163, 163, 163, 227, 31, 33, 34, 46, 31, 33, 34, 46, 101, 102, 102, 81, 166, 166, 166, 254, 115, 116, 116, 91, 72, 73, 74, 68, 163, 163, 163, 255, 163, 163, 163, 254, 151, 151, 151, 188, 31, 33, 34, 24, 31, 33, 34, 6, 31, 33, 34, 1, 31, 33, 34, 9, 137, 138, 138, 54, 169, 169, 169, 160, 31, 33, 34, 15, 31, 33, 34, 7, 31, 33, 34, 0, 31, 33, 34, 0, - 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 1, 31, 33, 34, 7, 136, 137, 137, 43, 166, 166, 166, 123, 31, 33, 34, 15, 51, 53, 53, 14, 165, 165, 165, 92, 48, 50, 50, 8, 31, 33, 34, 5, 31, 33, 34, 4, 31, 33, 34, 9, 90, 91, 91, 22, 157, 157, 157, 88, 168, 168, 168, 144, 170, 171, 171, 167, 169, 169, 169, 154, 151, 151, 151, 79, 77, 79, 79, 22, - 31, 33, 34, 10, 31, 33, 34, 9, 31, 33, 34, 11, 167, 167, 167, 115, 45, 47, 47, 10, 31, 33, 34, 5, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 4, 45, 47, 48, 10, 162, 163, 163, 92, 57, 59, 59, 11, 31, 33, 34, 4, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 6, 31, 33, 34, 12, 169, 169, 169, 148, - 42, 44, 44, 13, 31, 33, 34, 6, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 7, 31, 33, 34, 14, 170, 170, 170, 167, 38, 40, 40, 22, 31, 33, 34, 22, 170, 170, 170, 170, 111, 112, 112, 34, 31, 33, 34, 8, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, - 31, 33, 34, 8, 31, 33, 34, 16, 172, 172, 172, 190, 31, 33, 34, 16, 31, 33, 34, 8, 31, 33, 34, 9, 31, 33, 34, 30, 161, 161, 161, 241, 163, 163, 163, 255, 157, 157, 157, 218, 31, 33, 34, 50, 136, 137, 137, 123, 166, 166, 166, 250, 113, 114, 114, 90, 43, 45, 45, 50, 147, 147, 147, 153, 165, 165, 165, 245, 76, 77, 77, 60, 90, 92, 92, 79, 163, 163, 163, 255, 162, 162, 162, 251, - 148, 149, 149, 177, 31, 33, 34, 22, 31, 33, 34, 5, 31, 33, 34, 1, 31, 33, 34, 7, 131, 132, 132, 42, 166, 166, 166, 135, 97, 98, 98, 29, 31, 33, 34, 8, 31, 33, 34, 1, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 1, 31, 33, 34, 7, 133, 134, 134, 42, 166, 166, 166, 125, 31, 33, 34, 15, 42, 44, 44, 13, 165, 165, 165, 92, - 60, 62, 62, 10, 31, 33, 34, 7, 31, 33, 34, 9, 152, 153, 153, 72, 169, 169, 170, 154, 161, 161, 161, 106, 95, 96, 96, 27, 31, 33, 34, 14, 31, 33, 34, 13, 31, 33, 34, 10, 31, 33, 34, 7, 31, 33, 34, 3, 31, 33, 34, 6, 44, 47, 47, 11, 167, 167, 167, 115, 87, 88, 88, 15, 31, 33, 34, 5, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 5, - 64, 66, 66, 13, 167, 168, 168, 124, 44, 46, 46, 11, 31, 33, 34, 5, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 6, 31, 33, 34, 12, 169, 169, 169, 149, 51, 53, 53, 14, 31, 33, 34, 6, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 7, 31, 33, 34, 14, 170, 170, 170, 168, - 44, 46, 46, 23, 31, 33, 34, 21, 170, 170, 170, 170, 112, 113, 113, 36, 31, 33, 34, 9, 31, 33, 34, 1, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 8, 31, 33, 34, 17, 172, 172, 172, 192, 31, 33, 34, 16, 31, 33, 34, 7, 31, 33, 34, 7, 31, 33, 34, 25, 154, 154, 154, 200, 163, 163, 163, 255, 162, 162, 162, 250, - 94, 95, 95, 82, 56, 58, 58, 52, 159, 159, 159, 203, 167, 167, 167, 255, 165, 165, 165, 244, 166, 166, 166, 249, 144, 145, 145, 141, 31, 33, 34, 46, 137, 138, 138, 144, 163, 163, 163, 255, 162, 162, 162, 245, 138, 139, 139, 135, 31, 33, 34, 18, 31, 33, 34, 4, 31, 33, 34, 0, 31, 33, 34, 4, 81, 82, 83, 17, 152, 153, 153, 82, 163, 163, 163, 115, 31, 33, 34, 12, 31, 33, 34, 5, - 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 2, 31, 33, 34, 9, 128, 128, 128, 42, 164, 164, 164, 121, 31, 33, 34, 16, 42, 44, 44, 13, 166, 166, 166, 92, 31, 33, 34, 8, 31, 33, 34, 9, 140, 141, 141, 45, 162, 163, 163, 116, 142, 143, 143, 66, 31, 33, 34, 15, 31, 33, 34, 9, 31, 33, 34, 6, 31, 33, 34, 5, 31, 33, 34, 3, - 31, 33, 34, 1, 31, 33, 34, 0, 31, 33, 34, 4, 31, 33, 34, 9, 167, 167, 167, 115, 56, 58, 58, 11, 31, 33, 34, 4, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 5, 60, 62, 62, 15, 164, 165, 165, 121, 56, 58, 58, 17, 31, 33, 34, 8, 31, 33, 34, 1, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 6, 31, 33, 34, 13, - 168, 168, 168, 150, 31, 33, 34, 15, 31, 33, 34, 8, 31, 33, 34, 1, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 7, 31, 33, 34, 15, 170, 170, 170, 169, 50, 52, 52, 23, 31, 33, 34, 20, 170, 170, 170, 162, 123, 124, 124, 44, 31, 33, 34, 11, 31, 33, 34, 3, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, - 31, 33, 34, 2, 31, 33, 34, 11, 82, 83, 84, 28, 172, 172, 172, 187, 31, 33, 34, 15, 31, 33, 34, 6, 31, 33, 34, 4, 31, 33, 34, 18, 134, 134, 134, 123, 163, 163, 163, 255, 163, 163, 163, 254, 154, 154, 154, 202, 38, 41, 41, 53, 47, 49, 49, 49, 131, 131, 131, 112, 141, 142, 142, 136, 112, 113, 113, 87, 31, 33, 34, 46, 101, 102, 102, 89, 162, 162, 162, 246, 163, 163, 163, 255, - 160, 160, 160, 234, 89, 91, 91, 55, 31, 33, 34, 12, 31, 33, 34, 2, 31, 33, 34, 0, 31, 33, 34, 2, 31, 33, 34, 8, 139, 139, 139, 51, 169, 169, 169, 157, 61, 63, 63, 21, 31, 33, 34, 10, 31, 33, 34, 3, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 3, 31, 33, 34, 12, 145, 145, 145, 72, 165, 165, 165, 137, 31, 33, 34, 17, 31, 33, 34, 12, - 166, 167, 167, 91, 31, 33, 34, 8, 31, 33, 34, 10, 153, 153, 153, 69, 162, 162, 162, 117, 76, 77, 77, 26, 31, 33, 34, 11, 31, 33, 34, 4, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 1, 31, 33, 34, 6, 42, 45, 45, 13, 164, 164, 164, 115, 63, 65, 65, 18, 31, 33, 34, 10, 31, 33, 34, 6, 31, 33, 34, 5, 31, 33, 34, 3, - 31, 33, 34, 8, 73, 74, 75, 21, 169, 169, 169, 165, 105, 106, 106, 39, 31, 33, 34, 14, 31, 33, 34, 5, 31, 33, 34, 2, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 6, 31, 33, 34, 14, 170, 170, 170, 173, 69, 71, 71, 26, 31, 33, 34, 13, 31, 33, 34, 4, 31, 33, 34, 1, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 2, 31, 33, 34, 10, 31, 33, 34, 18, - 171, 171, 171, 178, 58, 60, 60, 21, 31, 33, 34, 17, 154, 154, 154, 84, 162, 162, 162, 115, 90, 92, 92, 24, 31, 33, 34, 7, 31, 33, 34, 2, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 1, 31, 33, 34, 7, 31, 33, 34, 16, 160, 160, 160, 115, 162, 162, 162, 119, 31, 33, 34, 12, 31, 33, 34, 4, 31, 33, 34, 1, 31, 33, 34, 11, 56, 57, 58, 36, 157, 158, 158, 219, - 163, 163, 163, 255, 163, 163, 163, 254, 155, 155, 155, 207, 100, 101, 101, 88, 31, 33, 34, 50, 31, 33, 34, 49, 47, 49, 49, 56, 129, 130, 130, 126, 161, 161, 161, 241, 163, 163, 163, 255, 162, 162, 162, 249, 145, 145, 145, 158, 31, 33, 34, 22, 31, 33, 34, 7, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 4, 51, 53, 53, 13, 154, 155, 155, 86, 169, 170, 170, 159, - 31, 33, 34, 17, 31, 33, 34, 10, 31, 33, 34, 6, 31, 33, 34, 5, 31, 33, 34, 5, 31, 33, 34, 9, 77, 78, 79, 25, 160, 161, 161, 123, 165, 165, 165, 144, 31, 33, 34, 17, 31, 33, 34, 10, 162, 163, 163, 62, 31, 33, 34, 6, 31, 33, 34, 8, 109, 110, 110, 26, 163, 163, 163, 117, 147, 148, 148, 72, 31, 33, 34, 14, 31, 33, 34, 8, 31, 33, 34, 6, 31, 33, 34, 6, - 31, 33, 34, 6, 31, 33, 34, 6, 31, 33, 34, 5, 31, 33, 34, 8, 41, 43, 43, 15, 160, 160, 160, 108, 31, 33, 34, 18, 31, 33, 34, 15, 31, 33, 34, 12, 31, 33, 34, 10, 31, 33, 34, 7, 31, 33, 34, 10, 87, 88, 88, 26, 165, 165, 165, 150, 169, 169, 169, 173, 131, 132, 132, 60, 31, 33, 34, 14, 31, 33, 34, 10, 31, 33, 34, 7, 31, 33, 34, 4, 31, 33, 34, 9, - 31, 33, 34, 16, 167, 168, 168, 161, 166, 166, 166, 150, 123, 124, 124, 47, 31, 33, 34, 12, 31, 33, 34, 9, 31, 33, 34, 8, 31, 33, 34, 8, 31, 33, 34, 10, 31, 33, 34, 17, 144, 145, 145, 73, 168, 168, 168, 151, 75, 77, 77, 19, 31, 33, 34, 11, 31, 33, 34, 14, 170, 170, 170, 164, 137, 137, 137, 58, 40, 43, 43, 16, 31, 33, 34, 10, 31, 33, 34, 8, 31, 33, 34, 7, - 31, 33, 34, 10, 31, 33, 34, 15, 113, 114, 114, 44, 173, 173, 173, 202, 95, 96, 96, 29, 31, 33, 34, 8, 31, 33, 34, 2, 31, 33, 34, 0, 31, 33, 34, 5, 34, 36, 37, 17, 107, 108, 108, 73, 161, 161, 161, 241, 163, 163, 163, 255, 163, 163, 163, 255, 163, 163, 163, 254, 160, 160, 160, 232, 157, 157, 157, 217, 161, 161, 161, 243, 163, 163, 163, 255, 163, 163, 163, 255, 163, 163, 163, 254, - 153, 153, 153, 197, 31, 33, 34, 29, 31, 33, 34, 11, 31, 33, 34, 2, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 1, 31, 33, 34, 6, 86, 87, 87, 21, 160, 161, 161, 105, 170, 170, 170, 159, 81, 82, 82, 24, 31, 33, 34, 13, 31, 33, 34, 11, 31, 33, 34, 11, 31, 33, 34, 14, 148, 148, 148, 78, 168, 168, 168, 164, 160, 160, 160, 121, 31, 33, 34, 16, - 31, 33, 34, 9, 167, 168, 168, 68, 76, 77, 78, 6, 31, 33, 34, 5, 31, 33, 34, 9, 152, 153, 153, 71, 169, 169, 169, 149, 137, 137, 138, 55, 31, 33, 34, 15, 31, 33, 34, 13, 31, 33, 34, 14, 31, 33, 34, 13, 148, 149, 149, 48, 151, 151, 151, 42, 31, 33, 34, 11, 166, 166, 166, 122, 166, 166, 166, 144, 166, 166, 166, 142, 167, 167, 167, 145, 169, 169, 169, 146, 172, 172, 172, 163, - 167, 168, 168, 104, 54, 56, 56, 13, 100, 102, 102, 27, 165, 165, 165, 139, 133, 133, 133, 70, 168, 168, 168, 165, 156, 157, 157, 99, 52, 54, 54, 21, 31, 33, 34, 14, 31, 33, 34, 9, 31, 33, 34, 11, 31, 33, 34, 16, 166, 166, 166, 150, 91, 92, 92, 39, 167, 167, 167, 149, 156, 156, 156, 87, 60, 62, 62, 20, 31, 33, 34, 15, 31, 33, 34, 15, 68, 70, 70, 23, 160, 160, 160, 111, - 172, 172, 172, 181, 132, 133, 133, 48, 31, 33, 34, 9, 31, 33, 34, 5, 31, 33, 34, 8, 114, 115, 115, 34, 171, 171, 171, 171, 153, 153, 153, 87, 52, 54, 55, 20, 31, 33, 34, 16, 31, 33, 34, 16, 31, 33, 34, 18, 143, 144, 144, 74, 173, 173, 173, 201, 141, 142, 142, 65, 43, 45, 45, 12, 31, 33, 34, 4, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 1, 31, 33, 34, 7, - 35, 37, 37, 20, 106, 107, 107, 73, 157, 157, 157, 218, 163, 163, 163, 255, 163, 163, 163, 255, 163, 163, 163, 255, 163, 163, 163, 255, 163, 163, 163, 255, 163, 163, 163, 255, 162, 162, 162, 250, 148, 148, 148, 172, 45, 47, 47, 33, 31, 33, 34, 14, 31, 33, 34, 4, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 2, 31, 33, 34, 6, - 42, 44, 45, 13, 148, 149, 149, 67, 169, 169, 169, 151, 168, 168, 168, 141, 164, 164, 164, 114, 166, 166, 166, 118, 169, 169, 169, 137, 145, 146, 146, 70, 43, 45, 45, 23, 164, 164, 164, 129, 31, 33, 34, 14, 31, 33, 34, 9, 31, 33, 34, 5, 31, 33, 34, 3, 31, 33, 34, 3, 31, 33, 34, 4, 31, 33, 34, 9, 134, 135, 135, 45, 166, 166, 166, 127, 170, 170, 170, 158, 166, 166, 166, 135, - 169, 169, 169, 156, 171, 171, 171, 167, 167, 167, 167, 121, 140, 141, 141, 35, 31, 33, 34, 10, 40, 43, 43, 15, 158, 158, 158, 101, 39, 41, 41, 19, 31, 33, 34, 15, 31, 33, 34, 12, 31, 33, 34, 10, 31, 33, 34, 7, 31, 33, 34, 7, 31, 33, 34, 10, 167, 167, 167, 127, 67, 69, 69, 24, 116, 117, 117, 45, 168, 168, 168, 150, 169, 169, 170, 165, 172, 172, 172, 181, 170, 170, 170, 145, - 131, 132, 132, 40, 31, 33, 34, 16, 168, 168, 168, 156, 31, 33, 34, 21, 65, 67, 67, 25, 166, 166, 166, 131, 169, 169, 169, 158, 172, 172, 172, 184, 171, 171, 171, 178, 171, 171, 171, 177, 160, 161, 161, 107, 86, 87, 87, 24, 31, 33, 34, 9, 31, 33, 34, 4, 31, 33, 34, 2, 31, 33, 34, 3, 31, 33, 34, 9, 86, 88, 88, 24, 167, 167, 167, 139, 171, 171, 171, 173, 171, 171, 171, 177, - 169, 170, 170, 167, 172, 172, 172, 187, 169, 170, 170, 165, 125, 125, 125, 46, 31, 33, 34, 12, 31, 33, 34, 5, 31, 33, 34, 1, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 2, 31, 33, 34, 7, 31, 33, 34, 17, 53, 55, 55, 35, 132, 132, 133, 119, 153, 153, 153, 194, 159, 159, 159, 230, 161, 161, 161, 239, 157, 158, 158, 219, 146, 147, 147, 169, 114, 115, 115, 82, - 31, 33, 34, 25, 31, 33, 34, 12, 31, 33, 34, 4, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 2, 31, 33, 34, 5, 31, 33, 34, 9, 31, 33, 34, 11, 91, 92, 92, 21, 141, 141, 141, 45, 129, 130, 130, 33, 31, 33, 34, 10, 31, 33, 34, 13, 39, 41, 41, 16, 168, 168, 168, 128, - 31, 33, 34, 13, 31, 33, 34, 9, 152, 152, 152, 32, 31, 33, 34, 4, 31, 33, 34, 2, 31, 33, 34, 1, 31, 33, 34, 4, 31, 33, 34, 8, 31, 33, 34, 11, 122, 123, 123, 34, 133, 134, 134, 44, 123, 124, 124, 38, 108, 109, 109, 27, 31, 33, 34, 10, 31, 33, 34, 6, 31, 33, 34, 7, 31, 33, 34, 11, 166, 166, 166, 115, 59, 61, 61, 15, 31, 33, 34, 9, 31, 33, 34, 6, - 31, 33, 34, 5, 31, 33, 34, 3, 31, 33, 34, 3, 31, 33, 34, 4, 31, 33, 34, 7, 31, 33, 34, 8, 31, 33, 34, 10, 31, 33, 34, 13, 114, 115, 115, 33, 107, 108, 108, 28, 44, 46, 46, 11, 31, 33, 34, 11, 31, 33, 34, 13, 170, 170, 170, 153, 41, 43, 43, 15, 31, 33, 34, 12, 31, 33, 34, 11, 31, 33, 34, 13, 31, 33, 34, 14, 31, 33, 34, 14, 31, 33, 34, 13, - 31, 33, 34, 11, 31, 33, 34, 7, 31, 33, 34, 3, 31, 33, 34, 1, 31, 33, 34, 0, 31, 33, 34, 1, 31, 33, 34, 3, 31, 33, 34, 7, 31, 33, 34, 12, 31, 33, 34, 14, 115, 116, 116, 35, 117, 118, 118, 37, 47, 49, 50, 17, 31, 33, 34, 13, 31, 33, 34, 9, 31, 33, 34, 5, 31, 33, 34, 1, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, - 31, 33, 34, 0, 31, 33, 34, 1, 31, 33, 34, 4, 31, 33, 34, 11, 31, 33, 34, 18, 31, 33, 34, 24, 31, 33, 34, 29, 31, 33, 34, 30, 31, 33, 34, 27, 31, 33, 34, 22, 31, 33, 34, 15, 31, 33, 34, 8, 31, 33, 34, 3, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, - 31, 33, 34, 0, 31, 33, 34, 1, 31, 33, 34, 2, 31, 33, 34, 4, 31, 33, 34, 6, 31, 33, 34, 6, 31, 33, 34, 6, 31, 33, 34, 4, 31, 33, 34, 7, 38, 40, 40, 10, 169, 169, 169, 176, 33, 35, 36, 11, 59, 61, 61, 11, 172, 172, 172, 139, 66, 67, 68, 6, 31, 33, 34, 2, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 2, 31, 33, 34, 4, 31, 33, 34, 6, - 31, 33, 34, 8, 31, 33, 34, 8, 31, 33, 34, 6, 31, 33, 34, 4, 31, 33, 34, 2, 31, 33, 34, 3, 66, 68, 68, 8, 170, 170, 170, 112, 66, 68, 68, 8, 31, 33, 34, 3, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 1, 31, 33, 34, 1, 31, 33, 34, 2, 31, 33, 34, 3, 31, 33, 34, 5, 31, 33, 34, 7, 31, 33, 34, 7, - 31, 33, 34, 5, 31, 33, 34, 6, 31, 33, 34, 9, 171, 171, 171, 141, 46, 48, 48, 10, 31, 33, 34, 6, 31, 33, 34, 4, 31, 33, 34, 6, 31, 33, 34, 7, 31, 33, 34, 7, 31, 33, 34, 6, 31, 33, 34, 4, 31, 33, 34, 1, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 2, 31, 33, 34, 4, 31, 33, 34, 6, - 31, 33, 34, 8, 31, 33, 34, 8, 31, 33, 34, 7, 31, 33, 34, 5, 31, 33, 34, 2, 31, 33, 34, 1, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 1, 31, 33, 34, 4, 31, 33, 34, 6, 31, 33, 34, 8, 31, 33, 34, 9, 31, 33, 34, 8, 31, 33, 34, 5, - 31, 33, 34, 3, 31, 33, 34, 1, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 2, 31, 33, 34, 4, - 31, 33, 34, 6, 31, 33, 34, 6, 31, 33, 34, 5, 31, 33, 34, 4, 31, 33, 34, 3, 31, 33, 34, 1, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 1, 31, 33, 34, 3, 31, 33, 34, 4, 31, 33, 34, 3, 31, 33, 34, 1, - 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 2, 31, 33, 34, 4, 31, 33, 34, 6, 31, 33, 34, 4, 31, 33, 34, 2, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, - 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, - 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, - 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 1, 31, 33, 34, 2, 31, 33, 34, 2, 31, 33, 34, 2, 31, 33, 34, 2, 31, 33, 34, 1, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, - 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 1, 31, 33, 34, 1, 31, 33, 34, 1, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, - 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 1, 31, 33, 34, 2, 31, 33, 34, 1, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, - 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0, 31, 33, 34, 0,}; + 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 3, 255, 255, 255, 59, 255, 255, 255, 136, 255, 255, 255, 170, 255, 255, 255, 175, 255, 255, 255, 160, 255, 255, 255, 112, 255, 255, 255, 30, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, + 255, 255, 255, 0, 255, 255, 255, 14, 255, 255, 255, 99, 255, 255, 255, 129, 255, 255, 255, 125, 255, 255, 255, 131, 255, 255, 255, 109, 255, 255, 255, 17, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 104, 255, 255, 255, 0, 255, 255, 255, 3, 255, 255, 255, 109, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 3, 255, 255, 255, 62, 255, 255, 255, 138, 255, 255, 255, 136, + 255, 255, 255, 136, 255, 255, 255, 140, 255, 255, 255, 121, 255, 255, 255, 30, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 76, 255, 255, 255, 116, 255, 255, 255, 121, 255, 255, 255, 127, 255, 255, 255, 61, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 109, 255, 255, 255, 9, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, + 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 122, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 120, 255, 255, 255, 2, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 84, + 255, 255, 255, 126, 255, 255, 255, 121, 255, 255, 255, 141, 255, 255, 255, 143, 255, 255, 255, 100, 255, 255, 255, 5, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 28, 255, 255, 255, 161, 255, 255, 255, 204, 255, 255, 255, 204, 255, 255, 255, 204, 255, 255, 255, 204, 255, 255, 255, 204, 255, 255, 255, 204, 255, 255, 255, 198, 255, 255, 255, 117, 255, 255, 255, 0, + 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 41, 255, 255, 255, 136, 255, 255, 255, 94, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 44, 255, 255, 255, 118, 255, 255, 255, 57, 255, 255, 255, 5, 255, 255, 255, 109, 255, 255, 255, 0, 255, 255, 255, 3, + 255, 255, 255, 109, 255, 255, 255, 3, 255, 255, 255, 0, 255, 255, 255, 7, 255, 255, 255, 86, 255, 255, 255, 116, 255, 255, 255, 49, 255, 255, 255, 3, 255, 255, 255, 0, 255, 255, 255, 3, 255, 255, 255, 68, 255, 255, 255, 118, 255, 255, 255, 26, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 109, 255, 255, 255, 121, 255, 255, 255, 20, 255, 255, 255, 0, 255, 255, 255, 38, + 255, 255, 255, 38, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 109, 255, 255, 255, 3, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 129, 255, 255, 255, 2, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, + 255, 255, 255, 0, 255, 255, 255, 140, 255, 255, 255, 3, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 122, 255, 255, 255, 127, 255, 255, 255, 23, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 12, 255, 255, 255, 106, 255, 255, 255, 125, 255, 255, 255, 12, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 31, 255, 255, 255, 186, 255, 255, 255, 204, 255, 255, 255, 204, + 255, 255, 255, 204, 255, 255, 255, 203, 255, 255, 255, 196, 255, 255, 255, 204, 255, 255, 255, 204, 255, 255, 255, 204, 255, 255, 255, 202, 255, 255, 255, 147, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 35, 255, 255, 255, 136, 255, 255, 255, 55, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, + 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 35, 255, 255, 255, 66, 255, 255, 255, 55, 255, 255, 255, 109, 255, 255, 255, 0, 255, 255, 255, 3, 255, 255, 255, 109, 255, 255, 255, 2, 255, 255, 255, 0, 255, 255, 255, 5, 255, 255, 255, 10, 255, 255, 255, 2, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 62, 255, 255, 255, 109, + 255, 255, 255, 14, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 109, 255, 255, 255, 14, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 2, 255, 255, 255, 109, 255, 255, 255, 3, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 129, + 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 140, 255, 255, 255, 2, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 113, 255, 255, 255, 102, 255, 255, 255, 9, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, + 255, 255, 255, 86, 255, 255, 255, 134, 255, 255, 255, 3, 255, 255, 255, 3, 255, 255, 255, 170, 255, 255, 255, 204, 255, 255, 255, 204, 255, 255, 255, 180, 255, 255, 255, 76, 255, 255, 255, 3, 255, 255, 255, 0, 255, 255, 255, 23, 255, 255, 255, 116, 255, 255, 255, 200, 255, 255, 255, 204, 255, 255, 255, 199, 255, 255, 255, 115, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, + 255, 255, 255, 0, 255, 255, 255, 9, 255, 255, 255, 81, 255, 255, 255, 121, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 46, 255, 255, 255, 86, 255, 255, 255, 102, 255, 255, 255, 0, 255, 255, 255, 2, 255, 255, 255, 111, 255, 255, 255, 2, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, + 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 3, 255, 255, 255, 102, 255, 255, 255, 38, 255, 255, 255, 0, 255, 255, 255, 3, 255, 255, 255, 109, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 2, 255, 255, 255, 109, 255, 255, 255, 3, + 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 129, 255, 255, 255, 3, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 141, 255, 255, 255, 2, 255, 255, 255, 0, 255, 255, 255, 15, + 255, 255, 255, 118, 255, 255, 255, 19, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 116, 255, 255, 255, 42, 255, 255, 255, 84, 255, 255, 255, 204, 255, 255, 255, 204, 255, 255, 255, 177, 255, 255, 255, 14, 255, 255, 255, 3, 255, 255, 255, 53, 255, 255, 255, 82, 255, 255, 255, 30, 255, 255, 255, 0, + 255, 255, 255, 65, 255, 255, 255, 204, 255, 255, 255, 204, 255, 255, 255, 187, 255, 255, 255, 17, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 35, 255, 255, 255, 134, 255, 255, 255, 23, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 9, 255, 255, 255, 71, + 255, 255, 255, 109, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 106, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 106, 255, 255, 255, 38, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 109, 255, 255, 255, 0, + 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 2, 255, 255, 255, 109, 255, 255, 255, 2, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 120, 255, 255, 255, 2, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, + 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 143, 255, 255, 255, 3, 255, 255, 255, 0, 255, 255, 255, 109, 255, 255, 255, 72, 255, 255, 255, 5, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 61, 255, 255, 255, 125, 255, 255, 255, 158, 255, 255, 255, 204, + 255, 255, 255, 201, 255, 255, 255, 57, 255, 255, 255, 7, 255, 255, 255, 149, 255, 255, 255, 204, 255, 255, 255, 204, 255, 255, 255, 197, 255, 255, 255, 90, 255, 255, 255, 3, 255, 255, 255, 122, 255, 255, 255, 204, 255, 255, 255, 197, 255, 255, 255, 99, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 44, 255, 255, 255, 131, 255, 255, 255, 0, 255, 255, 255, 0, + 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 35, 255, 255, 255, 116, 255, 255, 255, 0, 255, 255, 255, 2, 255, 255, 255, 109, 255, 255, 255, 3, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, + 255, 255, 255, 0, 255, 255, 255, 71, 255, 255, 255, 107, 255, 255, 255, 10, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 109, 255, 255, 255, 3, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 2, 255, 255, 255, 111, 255, 255, 255, 2, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, + 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 129, 255, 255, 255, 3, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 144, 255, 255, 255, 2, 255, 255, 255, 0, 255, 255, 255, 136, 255, 255, 255, 23, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, + 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 2, 255, 255, 255, 140, 255, 255, 255, 193, 255, 255, 255, 204, 255, 255, 255, 183, 255, 255, 255, 0, 255, 255, 255, 84, 255, 255, 255, 203, 255, 255, 255, 82, 255, 255, 255, 19, 255, 255, 255, 140, 255, 255, 255, 195, 255, 255, 255, 14, 255, 255, 255, 44, 255, 255, 255, 204, 255, 255, 255, 201, 255, 255, 255, 140, + 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 44, 255, 255, 255, 127, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 23, 255, 255, 255, 109, 255, 255, 255, 0, 255, 255, 255, 3, 255, 255, 255, 109, 255, 255, 255, 3, + 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 2, 255, 255, 255, 42, 255, 255, 255, 121, 255, 255, 255, 109, 255, 255, 255, 20, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 2, 255, 255, 255, 111, 255, 255, 255, 10, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, + 255, 255, 255, 3, 255, 255, 255, 106, 255, 255, 255, 2, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 129, 255, 255, 255, 3, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 144, + 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 132, 255, 255, 255, 20, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 136, 255, 255, 255, 203, 255, 255, 255, 204, 255, 255, 255, 163, 255, 255, 255, 2, 255, 255, 255, 126, 255, 255, 255, 185, 255, 255, 255, 0, + 255, 255, 255, 0, 255, 255, 255, 44, 255, 255, 255, 204, 255, 255, 255, 59, 255, 255, 255, 23, 255, 255, 255, 204, 255, 255, 255, 204, 255, 255, 255, 154, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 41, 255, 255, 255, 138, 255, 255, 255, 9, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, + 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 33, 255, 255, 255, 109, 255, 255, 255, 0, 255, 255, 255, 3, 255, 255, 255, 111, 255, 255, 255, 2, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 10, 255, 255, 255, 76, 255, 255, 255, 116, 255, 255, 255, 118, 255, 255, 255, 102, 255, 255, 255, 25, 255, 255, 255, 9, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, + 255, 255, 255, 0, 255, 255, 255, 106, 255, 255, 255, 2, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 2, 255, 255, 255, 109, 255, 255, 255, 3, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 129, 255, 255, 255, 2, 255, 255, 255, 0, + 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 145, 255, 255, 255, 2, 255, 255, 255, 0, 255, 255, 255, 134, 255, 255, 255, 20, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, + 255, 255, 255, 140, 255, 255, 255, 195, 255, 255, 255, 204, 255, 255, 255, 177, 255, 255, 255, 0, 255, 255, 255, 94, 255, 255, 255, 200, 255, 255, 255, 55, 255, 255, 255, 3, 255, 255, 255, 122, 255, 255, 255, 198, 255, 255, 255, 22, 255, 255, 255, 38, 255, 255, 255, 204, 255, 255, 255, 202, 255, 255, 255, 144, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 30, + 255, 255, 255, 144, 255, 255, 255, 31, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 30, 255, 255, 255, 111, 255, 255, 255, 0, 255, 255, 255, 2, 255, 255, 255, 106, 255, 255, 255, 3, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 61, 255, 255, 255, 113, 255, 255, 255, 92, + 255, 255, 255, 12, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 2, 255, 255, 255, 109, 255, 255, 255, 7, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 3, 255, 255, 255, 109, 255, 255, 255, 2, 255, 255, 255, 0, 255, 255, 255, 0, + 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 131, 255, 255, 255, 3, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 145, 255, 255, 255, 3, 255, 255, 255, 0, 255, 255, 255, 132, 255, 255, 255, 22, 255, 255, 255, 0, + 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 140, 255, 255, 255, 164, 255, 255, 255, 204, 255, 255, 255, 200, 255, 255, 255, 41, 255, 255, 255, 10, 255, 255, 255, 168, 255, 255, 255, 204, 255, 255, 255, 197, 255, 255, 255, 200, 255, 255, 255, 112, 255, 255, 255, 0, 255, 255, 255, 111, + 255, 255, 255, 204, 255, 255, 255, 198, 255, 255, 255, 106, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 7, 255, 255, 255, 95, 255, 255, 255, 112, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 30, 255, 255, 255, 106, 255, 255, 255, 0, + 255, 255, 255, 2, 255, 255, 255, 109, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 36, 255, 255, 255, 100, 255, 255, 255, 50, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 109, 255, 255, 255, 3, 255, 255, 255, 0, 255, 255, 255, 0, + 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 3, 255, 255, 255, 111, 255, 255, 255, 3, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 131, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, + 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 146, 255, 255, 255, 3, 255, 255, 255, 0, 255, 255, 255, 132, 255, 255, 255, 30, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 10, 255, 255, 255, 131, 255, 255, 255, 95, 255, 255, 255, 204, 255, 255, 255, 204, 255, 255, 255, 166, + 255, 255, 255, 3, 255, 255, 255, 7, 255, 255, 255, 82, 255, 255, 255, 106, 255, 255, 255, 55, 255, 255, 255, 0, 255, 255, 255, 49, 255, 255, 255, 198, 255, 255, 255, 204, 255, 255, 255, 190, 255, 255, 255, 25, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 39, 255, 255, 255, 136, 255, 255, 255, 3, 255, 255, 255, 0, 255, 255, 255, 0, + 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 57, 255, 255, 255, 118, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 109, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 59, 255, 255, 255, 102, 255, 255, 255, 9, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, + 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 2, 255, 255, 255, 111, 255, 255, 255, 3, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 7, 255, 255, 255, 106, 255, 255, 255, 22, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, + 255, 255, 255, 149, 255, 255, 255, 9, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 137, 255, 255, 255, 3, 255, 255, 255, 0, 255, 255, 255, 72, 255, 255, 255, 100, 255, 255, 255, 10, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, + 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 99, 255, 255, 255, 103, 255, 255, 255, 9, 255, 255, 255, 179, 255, 255, 255, 204, 255, 255, 255, 204, 255, 255, 255, 169, 255, 255, 255, 49, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 9, 255, 255, 255, 91, 255, 255, 255, 194, 255, 255, 255, 204, 255, 255, 255, 200, 255, 255, 255, 129, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, + 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 3, 255, 255, 255, 72, 255, 255, 255, 138, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 9, 255, 255, 255, 95, 255, 255, 255, 125, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 111, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 15, + 255, 255, 255, 103, 255, 255, 255, 59, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 2, 255, 255, 255, 106, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 10, 255, 255, 255, 104, + 255, 255, 255, 111, 255, 255, 255, 42, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 138, 255, 255, 255, 129, 255, 255, 255, 31, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 59, 255, 255, 255, 122, 255, 255, 255, 7, 255, 255, 255, 0, + 255, 255, 255, 0, 255, 255, 255, 143, 255, 255, 255, 44, 255, 255, 255, 2, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 26, 255, 255, 255, 137, 255, 255, 255, 14, 255, 255, 255, 0, 255, 255, 255, 44, 255, 255, 255, 194, 255, 255, 255, 204, 255, 255, 255, 204, 255, 255, 255, 204, 255, 255, 255, 188, 255, 255, 255, 177, 255, 255, 255, 196, + 255, 255, 255, 204, 255, 255, 255, 204, 255, 255, 255, 204, 255, 255, 255, 161, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 9, 255, 255, 255, 91, 255, 255, 255, 139, 255, 255, 255, 9, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 64, + 255, 255, 255, 109, 255, 255, 255, 103, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 106, 255, 255, 255, 3, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 72, 255, 255, 255, 127, 255, 255, 255, 68, 255, 255, 255, 3, 255, 255, 255, 0, 255, 255, 255, 3, 255, 255, 255, 49, 255, 255, 255, 116, 255, 255, 255, 86, 255, 255, 255, 7, 255, 255, 255, 0, 255, 255, 255, 109, 255, 255, 255, 109, + 255, 255, 255, 124, 255, 255, 255, 112, 255, 255, 255, 116, 255, 255, 255, 129, 255, 255, 255, 95, 255, 255, 255, 3, 255, 255, 255, 14, 255, 255, 255, 106, 255, 255, 255, 42, 255, 255, 255, 126, 255, 255, 255, 84, 255, 255, 255, 3, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 129, 255, 255, 255, 17, 255, 255, 255, 129, 255, 255, 255, 74, 255, 255, 255, 3, + 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 7, 255, 255, 255, 91, 255, 255, 255, 131, 255, 255, 255, 35, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 20, 255, 255, 255, 149, 255, 255, 255, 72, 255, 255, 255, 3, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 57, 255, 255, 255, 129, 255, 255, 255, 46, 255, 255, 255, 2, 255, 255, 255, 0, + 255, 255, 255, 2, 255, 255, 255, 44, 255, 255, 255, 177, 255, 255, 255, 204, 255, 255, 255, 204, 255, 255, 255, 204, 255, 255, 255, 204, 255, 255, 255, 204, 255, 255, 255, 204, 255, 255, 255, 201, 255, 255, 255, 140, 255, 255, 255, 3, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, + 255, 255, 255, 2, 255, 255, 255, 55, 255, 255, 255, 132, 255, 255, 255, 125, 255, 255, 255, 100, 255, 255, 255, 104, 255, 255, 255, 121, 255, 255, 255, 55, 255, 255, 255, 3, 255, 255, 255, 112, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 33, 255, 255, 255, 121, 255, 255, 255, 140, 255, 255, 255, 136, + 255, 255, 255, 136, 255, 255, 255, 138, 255, 255, 255, 62, 255, 255, 255, 3, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 2, 255, 255, 255, 109, 255, 255, 255, 2, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 111, 255, 255, 255, 7, 255, 255, 255, 23, 255, 255, 255, 131, 255, 255, 255, 132, 255, 255, 255, 139, + 255, 255, 255, 126, 255, 255, 255, 30, 255, 255, 255, 0, 255, 255, 255, 136, 255, 255, 255, 0, 255, 255, 255, 7, 255, 255, 255, 116, 255, 255, 255, 136, 255, 255, 255, 131, 255, 255, 255, 132, 255, 255, 255, 131, 255, 255, 255, 91, 255, 255, 255, 9, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 10, 255, 255, 255, 121, 255, 255, 255, 126, + 255, 255, 255, 118, 255, 255, 255, 136, 255, 255, 255, 120, 255, 255, 255, 127, 255, 255, 255, 30, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 7, 255, 255, 255, 90, 255, 255, 255, 158, 255, 255, 255, 186, 255, 255, 255, 193, 255, 255, 255, 179, 255, 255, 255, 136, 255, 255, 255, 53, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, + 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 10, 255, 255, 255, 36, 255, 255, 255, 23, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 2, 255, 255, 255, 112, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 28, + 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 19, 255, 255, 255, 33, 255, 255, 255, 23, 255, 255, 255, 12, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 111, 255, 255, 255, 3, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, + 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 19, 255, 255, 255, 14, 255, 255, 255, 2, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 134, 255, 255, 255, 2, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, + 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 19, 255, 255, 255, 23, 255, 255, 255, 3, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, + 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, + 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 121, 255, 255, 255, 0, 255, 255, 255, 3, 255, 255, 255, 127, 255, 255, 255, 3, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, + 255, 255, 255, 0, 255, 255, 255, 3, 255, 255, 255, 106, 255, 255, 255, 3, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 126, 255, 255, 255, 2, + 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, + 255, 255, 255, 0, 255, 255, 255, 0,}; const char* DistrhoArtwork3BandEQ::aboutButtonNormalData = (const char*)temp3; static const unsigned char temp4[] = { diff --git a/source/backend/native/3bandeq/DistrhoArtwork3BandEQ.hpp b/source/backend/native/3bandeq/DistrhoArtwork3BandEQ.hpp index c0262df2e..e099cc9b6 100644 --- a/source/backend/native/3bandeq/DistrhoArtwork3BandEQ.hpp +++ b/source/backend/native/3bandeq/DistrhoArtwork3BandEQ.hpp @@ -11,14 +11,14 @@ namespace DistrhoArtwork3BandEQ const unsigned int aboutHeight = 190; extern const char* aboutButtonHoverData; - const unsigned int aboutButtonHoverDataSize = 7600; - const unsigned int aboutButtonHoverWidth = 95; - const unsigned int aboutButtonHoverHeight = 20; + const unsigned int aboutButtonHoverDataSize = 5888; + const unsigned int aboutButtonHoverWidth = 92; + const unsigned int aboutButtonHoverHeight = 16; extern const char* aboutButtonNormalData; - const unsigned int aboutButtonNormalDataSize = 7600; - const unsigned int aboutButtonNormalWidth = 95; - const unsigned int aboutButtonNormalHeight = 20; + const unsigned int aboutButtonNormalDataSize = 5888; + const unsigned int aboutButtonNormalWidth = 92; + const unsigned int aboutButtonNormalHeight = 16; extern const char* backgroundData; const unsigned int backgroundDataSize = 437472; diff --git a/source/backend/native/3bandeq/artwork/aboutButtonHover.png b/source/backend/native/3bandeq/artwork/aboutButtonHover.png index deb8d9405eccf2cccf7c11565ad9bb245686e0fb..e763fb80f150858e2b07f4445ce920445a66cdb4 100644 GIT binary patch delta 1422 zcmV;91#$YEGVvcFiBL{Q4GJ0x0000DNk~Le000170000G2nGNE0Go9fPq86)3V#a| z000XU0RWnu7ytkO2XskIMF-sl9~BA$tm1{$000FeNklx=H`bNutY@^jsLpMU$b#7S=MeSXjRo%{Qp^F7~leit+2f4rJ?_swjj z?qjjzn_1&H<_FhGGxPq-J^TD!ih%jR1;A0jB;a?T8(0r~z}Tb|r~>u?KWNMYhV+~T z*61E36~IBj0I*k=D_I~@;F>Cc5!uQ)`~Nqj0yqHJ8QzocY`z9~1UMozxqk$x1nPly zU`c{wT=9UjfjPji9PI<;z}vuwA^mS7Y#a|<159z==>abTZK1JI$8k~8r2UlxjhZt_ z4u1mZ(^yW9zrzViFx~^S0)sK2TCTtk0fzv)^^U;)UkSSZRc;7g&` z7ZNIgO+rbh?it`*ar}-5bXNm2fm;$XU=Y|U`+R-Oi|sH$IdT#oE=E9^L(DDXCTj<7NE)lj@H0Vp?Cps zEO5Oz_%&c2a5(UaQ*5gvj8+0?IDtunN*9GeP3cu8-UrsG~f%3O>hdVD`hH9{V6v#>NqSDa>%>DN5F-^ zQtA8(yrlbJ1j0uWG61LBNOEMZfUHVm^BI3~5d0uY|Yfo@<@I~&M)z&H9)t`=q^@QFCQ z9XJzsTpO9|aANm3QWD@m=b({GiKx$1XL{A2mxd7jN5b697^osGjrl3{eNP-646G2v zECQ|t?o$IIA_L`hhw(`q9RT{o%asbiC2Gl@7iv}jtE96ZcvBTUEIY)zH|2SGH89z6ct8nW0aUnu z3|W=WesRh*W`hDhF&9^5gpJ&HCVJ6poc78KAuuDl@Dk8c1biPt_GHE{*#fC&w}L-ErjY<>&z;i-!gX{zj-vvA)?sVlL1?fh8smtgaOiw6tk`O$SGB`g+=r!q}c&qGGC@5XP cJ;7f81UrdwOaz=~(*OVf07*qoM6N<$f)mD@V*mgE delta 3788 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 delta 3767 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 delta 3788 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 delta 3767 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 #include @@ -110,6 +110,7 @@ public: app = new QApplication(qargc, qargv); +#if 0 { QSettings settings("falkTX", "Carla"); @@ -127,6 +128,7 @@ public: style->setColorScheme(CarlaStyle::COLOR_BLACK); } } +#endif window = new QMainWindow(nullptr); window->resize(30, 30); diff --git a/source/bridges/Makefile b/source/bridges/Makefile index eeccba599..c2adf4f03 100644 --- a/source/bridges/Makefile +++ b/source/bridges/Makefile @@ -8,15 +8,12 @@ include ../Makefile.mk # -------------------------------------------------------------- -HAVE_GTK2 = $(shell pkg-config --exists gtk+-2.0 && echo true) -HAVE_GTK3 = $(shell pkg-config --exists gtk+-3.0 && echo true) - -ifeq ($(HAVE_QT5),true) -QT_UI_FLAGS = $(shell pkg-config --cflags Qt5Gui Qt5Widgets) -QT_UI_LIBS = $(shell pkg-config --libs Qt5Gui Qt5Widgets) -else +ifeq ($(HAVE_QT4),true) QT_UI_FLAGS = $(shell pkg-config --cflags QtGui) QT_UI_LIBS = $(shell pkg-config --libs QtGui) +else +QT_UI_FLAGS = $(shell pkg-config --cflags Qt5Gui Qt5Widgets) +QT_UI_LIBS = $(shell pkg-config --libs Qt5Gui Qt5Widgets) endif QT_UI_FLAGS += -I../theme @@ -28,12 +25,12 @@ BUILD_CXX_FLAGS += -I. -I../backend -I../includes -I../utils BUILD_CXX_FLAGS += $(shell pkg-config --cflags liblo) LINK_FLAGS += $(shell pkg-config --libs liblo) -ifeq ($(HAVE_QT5),true) -BUILD_CXX_FLAGS += $(shell pkg-config --cflags Qt5Core) -LINK_FLAGS += $(shell pkg-config --libs Qt5Core) -else +ifeq ($(HAVE_QT4),true) BUILD_CXX_FLAGS += $(shell pkg-config --cflags QtCore) LINK_FLAGS += $(shell pkg-config --libs QtCore) +else +BUILD_CXX_FLAGS += $(shell pkg-config --cflags Qt5Core) +LINK_FLAGS += $(shell pkg-config --libs Qt5Core) endif # -------------------------------------------------------------- @@ -45,14 +42,17 @@ LINK_PLUGIN_FLAGS = $(LINK_FLAGS) -lpthread ifeq ($(CARLA_PLUGIN_SUPPORT),true) BUILD_PLUGIN_FLAGS += -DWANT_LADSPA -DWANT_DSSI -DWANT_LV2 -DWANT_VST +ifeq ($(CARLA_VESTIGE_HEADER),true) +BUILD_PLUGIN_FLAGS += -DVESTIGE_HEADER +endif endif -ifeq ($(HAVE_QT5),true) -BUILD_PLUGIN_FLAGS += $(shell pkg-config --cflags Qt5Gui Qt5Widgets Qt5Xml) -LINK_PLUGIN_FLAGS += $(shell pkg-config --libs Qt5Gui Qt5Widgets Qt5Xml) -else +ifeq ($(HAVE_QT4),true) BUILD_PLUGIN_FLAGS += $(shell pkg-config --cflags QtGui QtXml) LINK_PLUGIN_FLAGS += $(shell pkg-config --libs QtGui QtXml) +else +BUILD_PLUGIN_FLAGS += $(shell pkg-config --cflags Qt5Gui Qt5Widgets Qt5Xml) +LINK_PLUGIN_FLAGS += $(shell pkg-config --libs Qt5Gui Qt5Widgets Qt5Xml) endif # -------------------------------------------------------------- @@ -143,10 +143,10 @@ LINK_UI_LV2_GTK2_FLAGS = $(LINK_UI_FLAGS) $(shell pkg-config --libs gtk+-2.0) BUILD_UI_LV2_GTK3_FLAGS = $(BUILD_UI_LV2_FLAGS) -DBRIDGE_GTK3 -DBRIDGE_LV2_GTK3 $(shell pkg-config --cflags gtk+-3.0) LINK_UI_LV2_GTK3_FLAGS = $(LINK_UI_FLAGS) $(shell pkg-config --libs gtk+-3.0) -BUILD_UI_LV2_QT4_FLAGS = $(BUILD_UI_LV2_FLAGS) -DBRIDGE_QT4 -DBRIDGE_LV2_QT4 $(shell pkg-config --cflags QtGui) -I../theme +BUILD_UI_LV2_QT4_FLAGS = $(BUILD_UI_LV2_FLAGS) -DBRIDGE_QT4 -DBRIDGE_LV2_QT4 $(shell pkg-config --cflags QtGui) LINK_UI_LV2_QT4_FLAGS = $(LINK_UI_FLAGS) $(shell pkg-config --libs QtGui) -BUILD_UI_LV2_QT5_FLAGS = $(BUILD_UI_LV2_FLAGS) -DBRIDGE_QT5 -DBRIDGE_LV2_QT5 $(shell pkg-config --cflags Qt5Gui Qt5Widgets) -I../theme +BUILD_UI_LV2_QT5_FLAGS = $(BUILD_UI_LV2_FLAGS) -DBRIDGE_QT5 -DBRIDGE_LV2_QT5 $(shell pkg-config --cflags Qt5Gui Qt5Widgets) LINK_UI_LV2_QT5_FLAGS = $(LINK_UI_FLAGS) $(shell pkg-config --libs Qt5Gui Qt5Widgets) BUILD_UI_LV2_COCOA_FLAGS = $(BUILD_UI_VST_FLAGS) -DBRIDGE_COCOA -DBRIDGE_LV2_COCOA $(QT_UI_FLAGS) @@ -167,6 +167,20 @@ LINK_UI_VST_HWND_FLAGS = $(LINK_FLAGS) $(QT_UI_LIBS) -mwindows -static BUILD_UI_VST_X11_FLAGS = $(BUILD_UI_VST_FLAGS) -DBRIDGE_X11 -DBRIDGE_VST_X11 $(QT_UI_FLAGS) LINK_UI_VST_X11_FLAGS = $(LINK_UI_FLAGS) $(QT_UI_LIBS) +ifeq ($(HAVE_QT4),true) +BUILD_UI_LV2_QT4_FLAGS += -I../theme +LINK_UI_LV2_QT4_FLAGS += ../libs/theme.a +else +BUILD_UI_LV2_QT5_FLAGS += -I../theme +LINK_UI_LV2_QT5_FLAGS += ../libs/theme.a +endif + +ifeq ($(CARLA_VESTIGE_HEADER),true) +BUILD_UI_VST_COCOA_FLAGS += -DVESTIGE_HEADER +BUILD_UI_VST_HWND_FLAGS += -DVESTIGE_HEADER +BUILD_UI_VST_X11_FLAGS += -DVESTIGE_HEADER +endif + # -------------------------------------------------------------- TARGETS = native @@ -188,6 +202,8 @@ TARGETS += ui_lv2-x11 TARGETS += ui_vst-x11 endif +# -------------------------------------------------------------- + all: $(TARGETS) ui_lv2-gtk2: carla-bridge-lv2-gtk2 @@ -257,7 +273,7 @@ OBJS_UI_LV2_QT4 = CarlaBridgeUI-LV2__lv2-qt4.o \ CarlaBridgeClient__lv2.o CarlaBridgeOsc__lv2.o \ CarlaBridgeToolkit__lv2.o CarlaBridgeToolkitQt__lv2-qt4.o -carla-bridge-lv2-qt4: $(OBJS_UI_LV2_QT4) $(OBJS_UI_LV2_LIBS) ../libs/theme.a +carla-bridge-lv2-qt4: $(OBJS_UI_LV2_QT4) $(OBJS_UI_LV2_LIBS) $(CXX) $^ $(LINK_UI_LV2_QT4_FLAGS) -o $@ && $(STRIP) $@ %__lv2-qt4.o: %.cpp @@ -270,7 +286,7 @@ OBJS_UI_LV2_QT5 = CarlaBridgeUI-LV2__lv2-qt5.o \ CarlaBridgeClient__lv2.o CarlaBridgeOsc__lv2.o \ CarlaBridgeToolkit__lv2.o CarlaBridgeToolkitQt__lv2-qt5.o -carla-bridge-lv2-qt5: $(OBJS_UI_LV2_QT5) $(OBJS_UI_LV2_LIBS) ../libs/theme.a +carla-bridge-lv2-qt5: $(OBJS_UI_LV2_QT5) $(OBJS_UI_LV2_LIBS) $(CXX) $^ $(LINK_UI_LV2_QT5_FLAGS) -o $@ && $(STRIP) $@ %__lv2-qt5.o: %.cpp @@ -553,8 +569,10 @@ carla-bridge-win64.exe: $(FILES) $(OBJS_WIN64) ../libs/jackbridge-win64.dll ../backend/libcarla_native.a: $(MAKE) -C ../backend/native -../libs/%: - $(MAKE) -C ../libs $* +../libs/widgets.a: + $(MAKE) -C ../libs widgets + +.PHONY: ../backend/libcarla_native.a ../libs/widgets.a # -------------------------------------------------------------- diff --git a/source/discovery/Makefile b/source/discovery/Makefile index 3d075ab27..4e251144a 100644 --- a/source/discovery/Makefile +++ b/source/discovery/Makefile @@ -10,26 +10,27 @@ include ../Makefile.mk BUILD_CXX_FLAGS += -I../backend -I../includes -I../utils -ifeq ($(HAVE_QT5),true) -BUILD_CXX_FLAGS += $(shell pkg-config --cflags Qt5Core) -LINK_FLAGS += $(shell pkg-config --libs Qt5Core) -else +ifeq ($(HAVE_QT4),true) BUILD_CXX_FLAGS += $(shell pkg-config --cflags QtCore) LINK_FLAGS += $(shell pkg-config --libs QtCore) +else +BUILD_CXX_FLAGS += $(shell pkg-config --cflags Qt5Core) +LINK_FLAGS += $(shell pkg-config --libs Qt5Core) endif -# -------------------------------------------------------------- - ifeq ($(CARLA_PLUGIN_SUPPORT),true) BUILD_CXX_FLAGS += -DWANT_LADSPA -DWANT_DSSI -DWANT_LV2 -DWANT_VST +ifeq ($(CARLA_VESTIGE_HEADER),true) +BUILD_CXX_FLAGS += -DVESTIGE_HEADER +endif endif ifeq ($(HAVE_FLUIDSYNTH),true) -NATIVE_FLAGS += $(shell pkg-config --cflags --libs fluidsynth) -DWANT_FLUIDSYNTH +NATIVE_FLAGS += $(shell pkg-config --cflags --libs fluidsynth) -DWANT_FLUIDSYNTH endif ifeq ($(HAVE_LINUXSAMPLER),true) -NATIVE_FLAGS += $(shell pkg-config --cflags --libs linuxsampler) -DWANT_LINUXSAMPLER +NATIVE_FLAGS += $(shell pkg-config --cflags --libs linuxsampler) -DWANT_LINUXSAMPLER endif # -------------------------------------------------------------- @@ -42,7 +43,7 @@ POSIX_LINK_FLAGS = $(LINK_FLAGS) -ldl WIN_BUILD_FLAGS = $(BUILD_CXX_FLAGS) WIN_32BIT_FLAGS = $(32BIT_FLAGS) WIN_64BIT_FLAGS = $(64BIT_FLAGS) -WIN_LINK_FLAGS = $(LINK_FLAGS) -static -mwindows $(EXTRA_LIBS) -lole32 -luuid -lws2_32 +WIN_LINK_FLAGS = $(LINK_FLAGS) $(EXTRA_LIBS) -lole32 -luuid -lws2_32 -static ifeq ($(HAVE_FLUIDSYNTH),true) WIN_LINK_FLAGS += -ldsound -lwinmm @@ -98,13 +99,13 @@ carla-discovery-win64.exe: $(OBJS) $(LIBS_win64) # -------------------------------------------------------------- -../libs/%: - $(MAKE) -C ../libs $* - -# -------------------------------------------------------------- - clean: rm -f carla-discovery-* debug: $(MAKE) DEBUG=true + +# -------------------------------------------------------------- + +../libs/%: + $(MAKE) -C ../libs $* diff --git a/source/libs/Makefile b/source/libs/Makefile index 390d9c9eb..752e7004e 100644 --- a/source/libs/Makefile +++ b/source/libs/Makefile @@ -8,48 +8,53 @@ all: # -------------------------------------------------------------- -dgl.a: +dgl: $(MAKE) -C distrho/dgl -dgl.%.a: +dgl_%: $(MAKE) -C distrho/dgl $* # -------------------------------------------------------------- -lilv.a: +lilv: $(MAKE) -C lilv -lilv.%.a: +lilv_%: $(MAKE) -C lilv $* # -------------------------------------------------------------- -rtmempool.a: +rtmempool: $(MAKE) -C rtmempool -rtmempool.%.a: +rtmempool_%: $(MAKE) -C rtmempool $* # -------------------------------------------------------------- -widgets.a: - $(MAKE) -C ../widgets - -theme.a: +theme: $(MAKE) -C ../theme +theme_%: + $(MAKE) -C ../theme $* + # -------------------------------------------------------------- -jackbridge-win32.dll: +widgets: + $(MAKE) -C ../widgets + +# -------------------------------------------------------------- + +jackbridge-win32: $(MAKE) -C jackbridge win32 -jackbridge-win64.dll: +jackbridge-win64: $(MAKE) -C jackbridge win64 -jackbridge-win32.dll.so: +jackbridge-wine32: $(MAKE) -C jackbridge wine32 -jackbridge-win64.dll.so: +jackbridge-wine64: $(MAKE) -C jackbridge wine64 # -------------------------------------------------------------- @@ -59,5 +64,5 @@ clean: $(MAKE) clean -C distrho/dgl $(MAKE) clean -C lilv $(MAKE) clean -C rtmempool - $(MAKE) clean -C ../widgets $(MAKE) clean -C ../theme + $(MAKE) clean -C ../widgets diff --git a/source/plugin/Makefile b/source/plugin/Makefile index 452ff8692..9135e162e 100644 --- a/source/plugin/Makefile +++ b/source/plugin/Makefile @@ -11,10 +11,10 @@ include ../Makefile.mk LINK_FLAGS += $(shell pkg-config --libs liblo) -ifeq ($(HAVE_QT5),true) -LINK_FLAGS += $(shell pkg-config --libs Qt5Core Qt5Gui Qt5Xml Qt5Widgets) -else +ifeq ($(HAVE_QT4),true) LINK_FLAGS += $(shell pkg-config --libs QtCore QtGui QtXml) +else +LINK_FLAGS += $(shell pkg-config --libs Qt5Core Qt5Gui Qt5Xml Qt5Widgets) endif # -------------------------------------------------------------- @@ -79,21 +79,30 @@ all: dssi vst # all: dssi lv2 vst dssi: carla-dssi.so -lv2: carla-lv2.so vst: carla-vst.so +lv2: carla.lv2/carla-lv2.so # -------------------------------------------------------------- carla-dssi.so: ../backend/engine/CarlaEnginePlugin.cpp.dssi.o $(LIBS) $(CXX) $^ -shared $(LINK_FLAGS) -o $@ -carla-lv2.so: ../backend/engine/CarlaEnginePlugin.cpp.lv2.o $(LIBS) +carla-vst.so: ../backend/engine/CarlaEnginePlugin.cpp.vst.o $(LIBS) $(CXX) $^ -shared $(LINK_FLAGS) -o $@ -carla-vst.so: ../backend/engine/CarlaEnginePlugin.cpp.vst.o $(LIBS) +carla.lv2/carla-lv2.so: ../backend/engine/CarlaEnginePlugin.cpp.lv2.o $(LIBS) $(CXX) $^ -shared $(LINK_FLAGS) -o $@ # -------------------------------------------------------------- +clean: + rm -f *.dll *.dylib *.so + rm -f carla.lv2/*.dll carla.lv2/*.dylib carla.lv2/*.so + +debug: + $(MAKE) DEBUG=true + +# -------------------------------------------------------------- + ../backend/engine/CarlaEnginePlugin.cpp.%.o: ../backend/engine/CarlaEnginePlugin.cpp make -C ../backend/engine CarlaEnginePlugin.cpp.$*.o diff --git a/source/theme/Makefile b/source/theme/Makefile index beecf7742..9646739d5 100644 --- a/source/theme/Makefile +++ b/source/theme/Makefile @@ -8,14 +8,14 @@ include ../Makefile.mk # -------------------------------------------------------------- -BUILD_CXX_FLAGS += -fvisibility=hidden -I. -I../includes +BUILD_CXX_FLAGS += -I. -I../includes -I../utils -ifeq ($(HAVE_QT5),true) -BUILD_CXX_FLAGS += $(shell pkg-config --cflags Qt5Core Qt5Gui Qt5Widgets) -LINK_FLAGS += $(shell pkg-config --libs Qt5Core Qt5Gui Qt5Widgets) -else +ifeq ($(HAVE_QT4),true) BUILD_CXX_FLAGS += $(shell pkg-config --cflags QtCore QtGui) LINK_FLAGS += $(shell pkg-config --libs QtCore QtGui) +else +BUILD_CXX_FLAGS += $(shell pkg-config --cflags Qt5Core Qt5Gui Qt5Widgets) +LINK_FLAGS += $(shell pkg-config --libs Qt5Core Qt5Gui Qt5Widgets) endif FILES = \ @@ -29,36 +29,58 @@ OBJS = \ moc_CarlaStyleAnimations.cpp.o \ moc_CarlaStylePrivate.cpp.o +OBJS_posix32 = \ + moc_CarlaStyle.cpp.posix32.o \ + moc_CarlaStyleAnimations.cpp.posix32.o \ + moc_CarlaStylePrivate.cpp.posix32.o \ + CarlaStyle.cpp.posix32.o + +OBJS_posix64 = \ + moc_CarlaStyle.cpp.posix64.o \ + moc_CarlaStyleAnimations.cpp.posix64.o \ + moc_CarlaStylePrivate.cpp.posix64.o \ + CarlaStyle.cpp.posix64.o + OBJS_shared = $(OBJS) \ CarlaStyle.export.cpp.o OBJS_static = $(OBJS) \ CarlaStyle.cpp.o -SHARED = carlastyle.so -STATIC = ../libs/theme.a +TARGET = ../libs/theme.a # -------------------------------------------------------------- -all: $(STATIC) +all: $(TARGET) clean: - rm -f $(FILES) $(OBJS_shared) $(OBJS_static) $(SHARED) $(STATIC) + rm -f $(FILES) $(OBJS_shared) $(OBJS_static) $(TARGET) debug: $(MAKE) DEBUG=true -install: $(SHARED) - # FIXME - find a way to get a proper install path - install -m 644 $(SHARED) /usr/lib/x86_64-linux-gnu/qt4/plugins/styles/ - # -------------------------------------------------------------- -$(SHARED): $(FILES) $(OBJS_shared) - $(CXX) $(OBJS_shared) $(LINK_FLAGS) -shared -o $@ && $(STRIP) $@ +$(TARGET): $(FILES) $(OBJS_static) + $(AR) crs $@ $(OBJS_static) -$(STATIC): $(FILES) $(OBJS_static) - $(AR) rs $@ $(OBJS_static) +carlastyle.dll: $(FILES) $(OBJS_shared) + $(CXX) $(OBJS_shared) $(LINK_FLAGS) -shared -o $@ +ifneq ($(DEBUG),true) + $(STRIP) $@ +endif + +carlastyle.dynlib: $(FILES) $(OBJS_shared) + $(CXX) $(OBJS_shared) $(LINK_FLAGS) -dynamiclib -o $@ +ifneq ($(DEBUG),true) + $(STRIP) $@ +endif + +carlastyle.so: $(FILES) $(OBJS_shared) + $(CXX) $(OBJS_shared) $(LINK_FLAGS) -shared -o $@ +ifneq ($(DEBUG),true) + $(STRIP) $@ +endif # -------------------------------------------------------------- @@ -68,6 +90,18 @@ $(STATIC): $(FILES) $(OBJS_static) %.export.cpp.o: %.cpp CarlaStyle.hpp moc_CarlaStyle.cpp $(CXX) $< $(BUILD_CXX_FLAGS) -DCARLA_EXPORT_STYLE -c -o $@ +%.cpp.posix32.o: %.cpp + $(CXX) $< $(BUILD_CXX_FLAGS) $(32BIT_FLAGS) -c -o $@ + +%.cpp.posix64.o: %.cpp + $(CXX) $< $(BUILD_CXX_FLAGS) $(64BIT_FLAGS) -c -o $@ + +%.cpp.win32.o: %.cpp + $(CXX) $< $(BUILD_CXX_FLAGS) $(32BIT_FLAGS) -c -o $@ + +%.cpp.win64.o: %.cpp + $(CXX) $< $(BUILD_CXX_FLAGS) $(64BIT_FLAGS) -c -o $@ + moc_%.cpp: %.hpp $(MOC) $< -o $@ diff --git a/source/widgets/Makefile b/source/widgets/Makefile index 9a919b8ab..a3c30d2cb 100644 --- a/source/widgets/Makefile +++ b/source/widgets/Makefile @@ -8,14 +8,14 @@ include ../Makefile.mk # -------------------------------------------------------------- -BUILD_CXX_FLAGS += -I. -I../includes +BUILD_CXX_FLAGS += -I. -I../includes -I../utils -ifeq ($(HAVE_QT5),true) -BUILD_CXX_FLAGS += $(shell pkg-config --cflags Qt5Core Qt5Gui Qt5Widgets) -LINK_FLAGS += $(shell pkg-config --libs Qt5Core Qt5Gui Qt5Widgets) -else +ifeq ($(HAVE_QT4),true) BUILD_CXX_FLAGS += $(shell pkg-config --cflags QtCore QtGui) LINK_FLAGS += $(shell pkg-config --libs QtCore QtGui) +else +BUILD_CXX_FLAGS += $(shell pkg-config --cflags Qt5Core Qt5Gui Qt5Widgets) +LINK_FLAGS += $(shell pkg-config --libs Qt5Core Qt5Gui Qt5Widgets) endif FILES = \ @@ -50,7 +50,10 @@ $(TARGET): $(FILES) $(OBJS) # -------------------------------------------------------------- -%.cpp.o: %.cpp +%.cpp.o: %.cpp %.hpp + $(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ + +moc_%.cpp.o: %.cpp $(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ moc_%.cpp: %.hpp diff --git a/source/widgets/digitalpeakmeter.hpp b/source/widgets/digitalpeakmeter.hpp index 02e68e72f..80feafe8b 100644 --- a/source/widgets/digitalpeakmeter.hpp +++ b/source/widgets/digitalpeakmeter.hpp @@ -18,7 +18,7 @@ #ifndef __DIGITALPEAKMETER_HPP__ #define __DIGITALPEAKMETER_HPP__ -#include "CarlaDefines.hpp" +#include "CarlaJuceUtils.hpp" #include @@ -76,6 +76,8 @@ private: float* fLastValueData; QTimer fPaintTimer; + + CARLA_LEAK_DETECTOR(DigitalPeakMeter) }; #endif // __DIGITALPEAKMETER_HPP__ diff --git a/source/widgets/ledbutton.hpp b/source/widgets/ledbutton.hpp index cab9c8b16..5dc62fb6a 100644 --- a/source/widgets/ledbutton.hpp +++ b/source/widgets/ledbutton.hpp @@ -18,7 +18,7 @@ #ifndef __LEDBUTTON_HPP__ #define __LEDBUTTON_HPP__ -#include "CarlaDefines.hpp" +#include "CarlaJuceUtils.hpp" #include @@ -52,6 +52,8 @@ private: Color fColor; QPixmap fPixmap; QRectF fPixmapRect; + + CARLA_LEAK_DETECTOR(LEDButton) }; #endif // __LEDBUTTON_HPP__ diff --git a/source/widgets/paramspinbox.hpp b/source/widgets/paramspinbox.hpp index 27253a936..81f1b0490 100644 --- a/source/widgets/paramspinbox.hpp +++ b/source/widgets/paramspinbox.hpp @@ -18,7 +18,7 @@ #ifndef __PARAMSPINBOX_HPP__ #define __PARAMSPINBOX_HPP__ -#include "CarlaDefines.hpp" +#include "CarlaJuceUtils.hpp" #include @@ -67,6 +67,8 @@ private: QString m_preLabel; TextCallback* m_textCall; + + CARLA_LEAK_DETECTOR(ParamProgressBar) }; #endif // #define __PARAMSPINBOX_HPP__ diff --git a/source/widgets/pixmapdial.hpp b/source/widgets/pixmapdial.hpp index 68157fd6f..c89913717 100644 --- a/source/widgets/pixmapdial.hpp +++ b/source/widgets/pixmapdial.hpp @@ -18,7 +18,7 @@ #ifndef __PIXMAPDIAL_HPP__ #define __PIXMAPDIAL_HPP__ -#include "CarlaDefines.hpp" +#include "CarlaJuceUtils.hpp" #include @@ -91,6 +91,8 @@ private: QColor m_colorT[2]; int p_width, p_height, p_size, p_count; + + CARLA_LEAK_DETECTOR(PixmapDial) }; #endif // __PIXMAPDIAL_HPP__ diff --git a/source/widgets/pixmapkeyboard.hpp b/source/widgets/pixmapkeyboard.hpp index 17118c98c..704c05bd6 100644 --- a/source/widgets/pixmapkeyboard.hpp +++ b/source/widgets/pixmapkeyboard.hpp @@ -18,7 +18,7 @@ #ifndef __PIXMAPKEYBOARD_HPP__ #define __PIXMAPKEYBOARD_HPP__ -#include "CarlaDefines.hpp" +#include "CarlaJuceUtils.hpp" #include #include @@ -89,6 +89,8 @@ private: bool _isNoteBlack(int note) const; const QRectF& _getRectFromMidiNote(int note) const; + + CARLA_LEAK_DETECTOR(PixmapKeyboard) }; #endif // __PIXMAPKEYBOARD_HPP__