From c49a6e8b4722981519d28f9e04a94d9e8796b9ec Mon Sep 17 00:00:00 2001 From: anthonycaccese <anthonycaccese@gmail.com> Date: Mon, 5 Sep 2022 08:23:50 -0400 Subject: [PATCH 001/124] ES_Settings.xml - Theme & Scraper Updates Turn on Screenshots, PhysicalMedia to enable MixImages to be generated Set MiximageBoxSize to small Set GamelistVideoPillarbox to false --- es-configs/es_settings.xml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/es-configs/es_settings.xml b/es-configs/es_settings.xml index 8feeb468..599b3987 100644 --- a/es-configs/es_settings.xml +++ b/es-configs/es_settings.xml @@ -14,7 +14,7 @@ <bool name="FoldersOnTop" value="true" /> <bool name="GamelistFilters" value="true" /> <bool name="GamelistVideoAudio" value="true" /> -<bool name="GamelistVideoPillarbox" value="true" /> +<bool name="GamelistVideoPillarbox" value="false" /> <bool name="GamelistVideoScanlines" value="false" /> <bool name="IgnoreGamelist" value="false" /> <bool name="InputOnlyFirstController" value="false" /> @@ -49,9 +49,9 @@ <bool name="ScrapeGameNames" value="true" /> <bool name="ScrapeMarquees" value="true" /> <bool name="ScrapeMetadata" value="true" /> -<bool name="ScrapePhysicalMedia" value="false" /> +<bool name="ScrapePhysicalMedia" value="true" /> <bool name="ScrapeRatings" value="true" /> -<bool name="ScrapeScreenshots" value="false" /> +<bool name="ScrapeScreenshots" value="true" /> <bool name="ScrapeTitleScreens" value="false" /> <bool name="ScrapeVideos" value="true" /> <bool name="ScraperExcludeRecursively" value="true" /> @@ -101,7 +101,7 @@ <string name="LaunchScreenDuration" value="normal" /> <string name="MediaDirectory" value="" /> <string name="MenuOpeningEffect" value="scale-up" /> -<string name="MiximageBoxSize" value="medium" /> +<string name="MiximageBoxSize" value="small" /> <string name="MiximagePhysicalMediaSize" value="medium" /> <string name="MiximageResolution" value="1280x800" /> <string name="MiximageScreenshotScaling" value="sharp" /> @@ -118,4 +118,4 @@ <string name="ThemeSet" value="art-book-next" /> <string name="TransitionStyle" value="slide" /> <string name="UIMode" value="full" /> -<string name="UIMode_passkey" value="uuddlrlrba" /> \ No newline at end of file +<string name="UIMode_passkey" value="uuddlrlrba" /> From 1ca1a5a8c1b98b74ebed57a345d06aa39778e997 Mon Sep 17 00:00:00 2001 From: anthonycaccese <anthonycaccese@gmail.com> Date: Mon, 5 Sep 2022 08:38:37 -0400 Subject: [PATCH 002/124] Updated included themes Updated Art-Book-Next (Auto Collection Images, Steam Deck Color Scheme, MixImage Support) Added Alekfull NX (Light Color Version) Added Retrofix Revisited --- net.retrodeck.retrodeck.yml | 32 ++++++++++++++++++-------------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 529f712d..c5857faf 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -242,6 +242,8 @@ modules: # ES-DE - END + # ES-DE Themes - START + - name: art-book-next buildsystem: simple build-commands: @@ -250,27 +252,29 @@ modules: sources: - type: git url: https://github.com/anthonycaccese/art-book-next-retropie.git - commit: 5b953838424e029e7ad534d2a20a7c7f7f5b9e8a - - - name: art-book-next-no-meta + commit: cbd282eb05bb2deb138dad99c3420be56d35c1b8 + + - name: alekfull-nx-light buildsystem: simple build-commands: - - mkdir -p ${FLATPAK_DEST}/share/emulationstation/themes/art-book-next-no-meta/ - - mv -f * ${FLATPAK_DEST}/share/emulationstation/themes/art-book-next-no-meta/ + - mkdir -p ${FLATPAK_DEST}/share/emulationstation/themes/alekfull-nx-light/ + - mv -f * ${FLATPAK_DEST}/share/emulationstation/themes/alekfull-nx-light/ sources: - type: git - url: https://github.com/anthonycaccese/art-book-next-retropie.git - commit: 3b93a8e2bea9d65aee5b0d07f07f56e76653a265 - - - name: art-book-next-miximage + url: https://github.com/anthonycaccese/alekfull-nx-retropie.git + commit: b02be0fde13b1a9c9f09064edbb517901beb62c7 + + - name: retrofix-revisited buildsystem: simple build-commands: - - mkdir -p ${FLATPAK_DEST}/share/emulationstation/themes/art-book-next-miximage/ - - mv -f * ${FLATPAK_DEST}/share/emulationstation/themes/art-book-next-miximage/ + - mkdir -p ${FLATPAK_DEST}/share/emulationstation/themes/retrofix-revisited/ + - mv -f * ${FLATPAK_DEST}/share/emulationstation/themes/retrofix-revisited/ sources: - type: git - url: https://github.com/anthonycaccese/art-book-next-retropie.git - commit: 87b580aceabcf53149e1398039377416bdbd056c + url: https://github.com/anthonycaccese/retrofix-revisited-retropie.git + commit: 6e75c9521426e69eb9abcb39d135d97a17d14568 + + # ES-DE Themes - END # External manifests start @@ -1378,4 +1382,4 @@ modules: sources: - type: git url: https://github.com/XargonWan/RetroDECK.git - branch: cooker \ No newline at end of file + branch: cooker From 03196eb5676e56e72ee2668392026ed3e06ee99e Mon Sep 17 00:00:00 2001 From: Stefano <stefano@newesis.com> Date: Mon, 5 Sep 2022 17:11:54 +0200 Subject: [PATCH 003/124] Added rewind tool (missing racfg location) --- es-configs/tools-gamelist.xml | 7 +++++++ tools/rewind.sh | 23 +++++++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100755 tools/rewind.sh diff --git a/es-configs/tools-gamelist.xml b/es-configs/tools-gamelist.xml index e59195be..b171f16a 100644 --- a/es-configs/tools-gamelist.xml +++ b/es-configs/tools-gamelist.xml @@ -98,4 +98,11 @@ <nogamecount>true</nogamecount> <nomultiscrape>true</nomultiscrape> </game> + <game> + <path>./rewind.sh</path> + <name>Rewind toggler</name> + <desc>Enable or disable the rewind function for some RetroArch cores.</desc> + <nogamecount>true</nogamecount> + <nomultiscrape>true</nomultiscrape> + </game> </gameList> \ No newline at end of file diff --git a/tools/rewind.sh b/tools/rewind.sh new file mode 100755 index 00000000..abc79a22 --- /dev/null +++ b/tools/rewind.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +racfg="" + +zenity --question \ +--no-wrap --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ +--title "RetroDECK" \ +--text="Do you want to enable the rewind function in RetroArch cores?\n\nNOTE:\nThis may impact on performances expecially on the latest systems." + +if [ $? == 0 ] #yes, enable +then + sed -i 's%rewind_enable = .*%rewind_enable = "true"' $racfg + zenity --info \ + --no-wrap --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ + --title "RetroDECK" \ + --text="Rewind enabled\!\nYou can check on Libretro docs to see which cores supports this function." +else # no, disable + sed -i 's%rewind_enable = .*%rewind_enable = "false"' $racfg + zenity --info \ + --no-wrap --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ + --title "RetroDECK" \ + --text="Rewind disabled." +fi From 389afd40061c8f82daf800791388a0cc10cecb39 Mon Sep 17 00:00:00 2001 From: Stefano <stefano@newesis.com> Date: Mon, 5 Sep 2022 17:12:18 +0200 Subject: [PATCH 004/124] Added rewind tool (missing racfg location) --- es-configs/tools-gamelist.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/es-configs/tools-gamelist.xml b/es-configs/tools-gamelist.xml index b171f16a..2df4ef4f 100644 --- a/es-configs/tools-gamelist.xml +++ b/es-configs/tools-gamelist.xml @@ -105,4 +105,4 @@ <nogamecount>true</nogamecount> <nomultiscrape>true</nomultiscrape> </game> -</gameList> \ No newline at end of file +</gameList> \ No newline at end of file From 08b82838cd7c01e7a5a011979ba0bcb635e15568 Mon Sep 17 00:00:00 2001 From: XargonWan <xargonwan@gmail.com> Date: Mon, 5 Sep 2022 20:16:14 +0200 Subject: [PATCH 005/124] Added write_coinf to the lockfile script --- retrodeck.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/retrodeck.sh b/retrodeck.sh index c00608a9..842afcb5 100644 --- a/retrodeck.sh +++ b/retrodeck.sh @@ -222,6 +222,7 @@ ra_init() { create_lock() { # creating RetroDECK's lock file and writing the version number in it echo "$version" > "$lockfile" + conf_write } post_update() { From 8a7de033d79a81215ff5d77ae0b038b9d4ea02c9 Mon Sep 17 00:00:00 2001 From: XargonWan <6771419+XargonWan@users.noreply.github.com> Date: Mon, 5 Sep 2022 20:49:54 +0200 Subject: [PATCH 006/124] DUCKSTATION: added first config --- emu-configs/duckstation/settings.ini | 230 +++++++++++++++++++++++++++ retrodeck.sh | 8 + 2 files changed, 238 insertions(+) create mode 100644 emu-configs/duckstation/settings.ini diff --git a/emu-configs/duckstation/settings.ini b/emu-configs/duckstation/settings.ini new file mode 100644 index 00000000..a4ce96e0 --- /dev/null +++ b/emu-configs/duckstation/settings.ini @@ -0,0 +1,230 @@ +[Main] +SettingsVersion = 3 +EmulationSpeed = 1.000000 +FastForwardSpeed = 0.000000 +TurboSpeed = 0.000000 +SyncToHostRefreshRate = false +IncreaseTimerResolution = true +InhibitScreensaver = true +StartPaused = false +StartFullscreen = false +PauseOnFocusLoss = true +PauseOnMenu = true +SaveStateOnExit = true +ConfirmPowerOff = true +LoadDevicesFromSaveStates = true +ApplyGameSettings = true +AutoLoadCheats = true +DisableAllEnhancements = false +RewindEnable = false +RewindFrequency = 10.000000 +RewindSaveSlots = 10 +RunaheadFrameCount = 0.000000 +ControllerBackend = SDL +ControllerEnhancedMode = false +EnableDiscordPresence = false + + +[Console] +Region = Auto +Enable8MBRAM = false + + +[CPU] +ExecutionMode = Recompiler +OverclockNumerator = 1 +OverclockDenominator = 1 +OverclockEnable = false +RecompilerMemoryExceptions = false +RecompilerBlockLinking = true +ICache = false +FastmemMode = true + + +[GPU] +Renderer = Vulkan +ResolutionScale = 1 +Multisamples = 1 +UseDebugDevice = false +UseSoftwareRendererForReadbacks = false +PerSampleShading = false +UseThread = true +ThreadedPresentation = true +TrueColor = false +ScaledDithering = true +TextureFilter = Nearest +DownsampleMode = Disabled +DisableInterlacing = true +ForceNTSCTimings = false +WidescreenHack = false +ChromaSmoothing24Bit = false +PGXPEnable = false +PGXPCulling = true +PGXPTextureCorrection = true +PGXPVertexCache = false +PGXPCPU = false +PGXPPreserveProjFP = false +PGXPTolerance = -1.000000 +PGXPDepthBuffer = false +PGXPDepthClearThreshold = 300.000000 + + +[Display] +CropMode = Overscan +ActiveStartOffset = 0 +ActiveEndOffset = 0 +LineStartOffset = 0 +LineEndOffset = 0 +AspectRatio = Auto (Game Native) +CustomAspectRatioNumerator = 4 +Force4_3For24Bit = false +LinearFiltering = true +IntegerScaling = false +Stretch = false +PostProcessing = false +ShowOSDMessages = true +ShowFPS = false +ShowVPS = false +ShowSpeed = false +ShowResolution = false +ShowStatusIndicators = true +ShowEnhancements = false +Fullscreen = false +VSync = false +DisplayAllFrames = false +PostProcessChain = +MaxFPS = 0.000000 +InternalResolutionScreenshots = false + + +[CDROM] +ReadaheadSectors = 8 +RegionCheck = false +LoadImageToRAM = false +MuteCDAudio = false +ReadSpeedup = 1 +SeekSpeedup = 1 + + +[Audio] +Backend = Cubeb +OutputVolume = 100 +FastForwardVolume = 100 +BufferSize = 2048 +Resampling = true +OutputMuted = 0 +Sync = true +DumpOnBoot = false + + +[BIOS] +SearchDirectory = /home/deck/retrodeck/bios +PathNTSCU = +PathNTSCJ = +PathPAL = +PatchTTYEnable = false +PatchFastBoot = false + + +[Controller1] +Type = DigitalController +ButtonUp = Keyboard/W +ButtonDown = Keyboard/S +ButtonLeft = Keyboard/A +ButtonRight = Keyboard/D +ButtonSelect = Keyboard/Backspace +ButtonStart = Keyboard/Return +ButtonTriangle = Keyboard/Keypad+8 +ButtonCross = Keyboard/Keypad+2 +ButtonSquare = Keyboard/Keypad+4 +ButtonCircle = Keyboard/Keypad+6 +ButtonL1 = Keyboard/Q +ButtonL2 = Keyboard/1 +ButtonR1 = Keyboard/E +ButtonR2 = Keyboard/3 + + +[Controller2] +Type = None + + +[Controller3] +Type = None + + +[Controller4] +Type = None + + +[Controller5] +Type = None + + +[Controller6] +Type = None + + +[Controller7] +Type = None + + +[Controller8] +Type = None + + +[MemoryCards] +Card1Type = PerGameTitle +Card2Type = None +UsePlaylistTitle = true + + +[ControllerPorts] +MultitapMode = Disabled + + +[Logging] +LogLevel = Info +LogFilter = +LogToConsole = true +LogToDebug = false +LogToWindow = false +LogToFile = false + + +[Debug] +ShowVRAM = false +DumpCPUToVRAMCopies = false +DumpVRAMToCPUCopies = false +ShowGPUState = false +ShowCDROMState = false +ShowSPUState = false +ShowTimersState = false +ShowMDECState = false +ShowDMAState = false + + +[Hacks] +DMAMaxSliceTicks = 1000 +DMAHaltTicks = 100 +GPUFIFOSize = 16 +GPUMaxRunAhead = 128 + + +[Hotkeys] +FastForward = Keyboard/Tab +TogglePause = Keyboard/Space +ToggleFullscreen = Keyboard/Alt+Return +Screenshot = Keyboard/F10 +OpenQuickMenu = Keyboard/Escape + + +[Cheevos] +Enabled = true +TestMode = false +UnofficialTestMode = false +UseFirstDiscFromPlaylist = true + + +[UI] +MainWindowGeometry = AdnQywADAAAAAADrAAAAEQAABAoAAALpAAAA6wAAAC4AAAQKAAAC6QAAAAAAAAAABQAAAADrAAAALgAABAoAAALp +MainWindowState = AAAA/wAAAAD9AAAAAAAAAyAAAAI9AAAABAAAAAQAAAAIAAAACPwAAAABAAAAAgAAAAEAAAAOAHQAbwBvAGwAQgBhAHIBAAAAAP////8AAAAAAAAAAA== diff --git a/retrodeck.sh b/retrodeck.sh index 842afcb5..34e2829e 100644 --- a/retrodeck.sh +++ b/retrodeck.sh @@ -169,6 +169,14 @@ standalones_init() { cp -fv $emuconfigs/ppssppsdl/* /var/config/ppsspp/PSP/SYSTEM/ sed -i 's#/home/deck/retrodeck#'$rdhome'#g' /var/config/ppsspp/PSP/SYSTEM/ppsspp.ini + # PPSSPPSDL + echo "------------------------" + echo "Initializing DUCKSTATION" + echo "------------------------" + mkdir -p /var/config/duckstation/ + cp -fv $emuconfigs/duckstation/* /var/config/duckstation + sed -i 's#/home/deck/retrodeck/bios#'$rdhome/bios'#g' /var/config/ppsspp/PSP/SYSTEM/settings.ini + # PICO-8 # Moved PICO-8 stuff in the finit as only it knows here roms folders is From cf4eb42855e6d16547170763efd3c3c524331000 Mon Sep 17 00:00:00 2001 From: anthonycaccese <anthonycaccese@gmail.com> Date: Mon, 5 Sep 2022 16:02:58 -0400 Subject: [PATCH 007/124] Update Alekfull-NX Theme to Latest Version Updated metadata layout --- net.retrodeck.retrodeck.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index c5857faf..246c908b 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -262,7 +262,7 @@ modules: sources: - type: git url: https://github.com/anthonycaccese/alekfull-nx-retropie.git - commit: b02be0fde13b1a9c9f09064edbb517901beb62c7 + commit: 67c8c8dee086bd06bcdc6dc34bb9bef1e1c11be7 - name: retrofix-revisited buildsystem: simple From 481b2f8c559537a48f89b05a5d1519416ee925e4 Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Tue, 6 Sep 2022 14:46:59 +0200 Subject: [PATCH 008/124] Simplyfing variable system --- global.sh | 27 ++++++++++++++++--- net.retrodeck.retrodeck.yml | 2 +- retrodeck.sh | 52 ++++++++++++++++--------------------- 3 files changed, 47 insertions(+), 34 deletions(-) diff --git a/global.sh b/global.sh index 6f69a74e..0c69693d 100755 --- a/global.sh +++ b/global.sh @@ -2,9 +2,22 @@ # This file is containing some global function needed for the script such as the config file tools -rd_conf="/var/config/retrodeck/retrodeck.cfg" +rd_conf="/var/config/retrodeck/retrodeck.cfg" # RetroDECK config file path -conf_init() { +# if everything is working put this stuff down there +if [ ! -f $rd_conf ] +then + # Init default values, this may be overwritten by retrodeck.cfg as it sourced later with global.sh + lockfile="/var/config/retrodeck/.lock" # where the lockfile is located + emuconfigs="/app/retrodeck/emu-configs" # folder with all the default emulator configs + sdcard="/run/media/mmcblk0p1" # Steam Deck SD default path + rdhome="$HOME/retrodeck" # the retrodeck home, aka ~/retrodeck + media_folder="$HOME/retrodeck/downloaded_media" # the media folder, where all the scraped data is downloaded into + themes_folder="$HOME/retrodeck/themes" # the themes folder + hard_version="$(cat '/app/retrodeck/version')" # hardcoded version (in the readonly filesystem) +fi + +#conf_init() { # initializing and reading the retrodeck config file if [ ! -f $rd_conf ] then # I have to initialize the variables as they cannot be red from an empty config file @@ -16,7 +29,13 @@ conf_init() { echo "#!/bin/bash" >> $rd_conf # version info taken from the version file - version="$(cat /app/retrodeck/version)" + # if the version variable is not set means that is a first installation, so we populate with the hardcoded version + if [ -z $version ] + then + version="$hard_version" + #else + # version="$version" + fi echo "version=$version" >> $rd_conf # the retrodeck home, aka ~/retrodeck @@ -41,7 +60,7 @@ conf_init() { echo "Loading it" source $rd_conf fi -} +#} conf_write() { # writes the variables in the retrodeck config file diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 246c908b..77bd3695 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -61,7 +61,7 @@ modules: # This module is used to define the RetroDECK version # If the version is set as cooker it will automatically generate the version tag based on the date # else it will just put what is written, "v" is not needed - # The version number is stored in /var/conf/retrodeck/version + # The version number is hardcoded in /app/retrodeck/version # # UPDATE STEPS FOR MAIN: # [ ] Update the VERSION variable diff --git a/retrodeck.sh b/retrodeck.sh index 34e2829e..963a5158 100644 --- a/retrodeck.sh +++ b/retrodeck.sh @@ -1,17 +1,7 @@ #!/bin/bash -# Init default values, this may be overwritten by retrodeck.cfg as it sourced later with global.sh - -lockfile="/var/config/retrodeck/.lock" # where the lockfile is located -emuconfigs="/app/retrodeck/emu-configs" # folder with all the default emulator configs -sdcard="/run/media/mmcblk0p1" # Steam Deck SD default path -rd_conf="/var/config/retrodeck/retrodeck.cfg" # RetroDECK config file path -version="$(cat /app/retrodeck/version)" # version info taken from the version file -rdhome="$HOME/retrodeck" # the retrodeck home, aka ~/retrodeck -media_folder="$HOME/retrodeck/downloaded_media" # the media folder, where all the scraped data is downloaded into -themes_folder="$HOME/retrodeck/themes" # the themes folder - source /app/bin/global.sh +#conf_init # We moved the lockfile in /var/config/retrodeck in order to solve issue #53 - Remove in a few versions if [ -f "$HOME/retrodeck/.lock" ] @@ -228,8 +218,8 @@ ra_init() { } create_lock() { - # creating RetroDECK's lock file and writing the version number in it - echo "$version" > "$lockfile" + # creating RetroDECK's lock file and writing the version in the config file + touch "$lockfile" conf_write } @@ -438,7 +428,7 @@ finit() { for i in "$@"; do case $i in -h*|--help*) - echo "RetroDECK v""$(cat /var/config/retrodeck/version)" + echo "RetroDECK v""$version" echo " Usage: flatpak run [FLATPAK-RUN-OPTION] net.retrodeck-retrodeck [ARGUMENTS] @@ -459,12 +449,12 @@ https://retrodeck.net exit ;; --version*|-v*) - conf_init + #conf_init echo "RetroDECK v$version" exit ;; --info-msg*) - conf_init + #conf_init echo "RetroDECK v$version" echo "RetroDECK config file is in: $rd_conf" echo "Contents:" @@ -497,23 +487,27 @@ https://retrodeck.net done # UPDATE TRIGGERED -# if lockfile exists but the version doesn't match -if [ -f "$lockfile" ] && [ "$(cat "$lockfile")" != "$version" ]; +# if lockfile exists +if [ -f "$lockfile" ] then - echo "Lockfile version is "$(cat "$lockfile")" but the actual version is $version" - conf_init # Initializing/reading the config file (sourced from global.sh) - post_update # Executing post update script - conf_write # Writing variables in the config file (sourced from global.sh) - start_retrodeck - exit 0 -fi -# LOCKFILE REMOVED + #conf_init # Initializing/reading the config file (sourced from global.sh) + + # ...but the version doesn't match with the config file + if [ "$hard_version" != "$version" ]; + then + echo "Config file's version is "$(cat "$version")" but the actual version is $hard_version" + post_update # Executing post update script + conf_write # Writing variables in the config file (sourced from global.sh) + start_retrodeck + exit 0 + fi + +# Else, LOCKFILE IS NOT EXISTING (WAS REMOVED) # if the lock file doesn't exist at all means that it's a fresh install or a triggered reset -if [ ! -f "$lockfile" ]; -then +else echo "Lockfile not found" - conf_init # Initializing/reading the config file (sourced from global.sh) + #conf_init # Initializing/reading the config file (sourced from global.sh) finit # Executing First/Force init conf_write # Writing variables in the config file (sourced from global.sh) exit 0 From f2c6dd59bb5c86be05a9d5c8932118074d55b2d0 Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Tue, 6 Sep 2022 15:24:36 +0200 Subject: [PATCH 009/124] Simplyfing variable system - step 2 --- global.sh | 76 +++++++++++++++++----------------------------------- retrodeck.sh | 1 - 2 files changed, 24 insertions(+), 53 deletions(-) diff --git a/global.sh b/global.sh index 0c69693d..98829902 100755 --- a/global.sh +++ b/global.sh @@ -2,66 +2,38 @@ # This file is containing some global function needed for the script such as the config file tools -rd_conf="/var/config/retrodeck/retrodeck.cfg" # RetroDECK config file path +# Static variables +rd_conf="/var/config/retrodeck/retrodeck.cfg" # RetroDECK config file path +emuconfigs="/app/retrodeck/emu-configs" # folder with all the default emulator configs +lockfile="/var/config/retrodeck/.lock" # where the lockfile is located +sdcard="/run/media/mmcblk0p1" # Steam Deck SD default path +hard_version="$(cat '/app/retrodeck/version')" # hardcoded version (in the readonly filesystem) -# if everything is working put this stuff down there + +# If there is no config file I initalize the file with the the default values if [ ! -f $rd_conf ] then - # Init default values, this may be overwritten by retrodeck.cfg as it sourced later with global.sh - lockfile="/var/config/retrodeck/.lock" # where the lockfile is located - emuconfigs="/app/retrodeck/emu-configs" # folder with all the default emulator configs - sdcard="/run/media/mmcblk0p1" # Steam Deck SD default path + + echo "RetroDECK config file not found in $rd_conf" + echo "Initializing" + + echo "#!/bin/bash" >> $rd_conf + version="$hard_version" # if we are here means that the we are in a new installation, so the version is valorized with the hardcoded one rdhome="$HOME/retrodeck" # the retrodeck home, aka ~/retrodeck + roms_folder="$rdhome/roms" # the default roms folder path media_folder="$HOME/retrodeck/downloaded_media" # the media folder, where all the scraped data is downloaded into themes_folder="$HOME/retrodeck/themes" # the themes folder - hard_version="$(cat '/app/retrodeck/version')" # hardcoded version (in the readonly filesystem) + + # writing the needed variables in the config file + conf_write + +# If the config file is existing i just read the variables (source it) +else + echo "Found RetroDECK config file in $rd_conf" + echo "Loading it" + source $rd_conf fi -#conf_init() { - # initializing and reading the retrodeck config file - if [ ! -f $rd_conf ] - then # I have to initialize the variables as they cannot be red from an empty config file - echo "RetroDECK config file not found in $rd_conf" - echo "Initializing" - touch $rd_conf - - # Variables to manage: adding a variable here means adding it to conf_write() - echo "#!/bin/bash" >> $rd_conf - - # version info taken from the version file - # if the version variable is not set means that is a first installation, so we populate with the hardcoded version - if [ -z $version ] - then - version="$hard_version" - #else - # version="$version" - fi - echo "version=$version" >> $rd_conf - - # the retrodeck home, aka ~/retrodeck - rdhome="$HOME/retrodeck" - echo "rdhome=$rdhome" >> $rd_conf - - # default roms folder location (internal) - roms_folder="$roms_folder" - echo "roms_folder=$roms_folder" >> $rd_conf - - # default media folder location (internal) - media_folder="$media_folder" - echo "media_folder=$media_folder" >> $rd_conf - - # default themes folder location (internal) - themes_folder="$themes_folder" - echo "themes_folder=$themes_folder" >> $rd_conf - - - else # i just read the variables - echo "Found RetroDECK config file in $rd_conf" - echo "Loading it" - source $rd_conf - fi -#} - conf_write() { # writes the variables in the retrodeck config file diff --git a/retrodeck.sh b/retrodeck.sh index 963a5158..f5ba4071 100644 --- a/retrodeck.sh +++ b/retrodeck.sh @@ -1,7 +1,6 @@ #!/bin/bash source /app/bin/global.sh -#conf_init # We moved the lockfile in /var/config/retrodeck in order to solve issue #53 - Remove in a few versions if [ -f "$HOME/retrodeck/.lock" ] From 38fd3088233cb02a21c4470328c8018ccd935263 Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Tue, 6 Sep 2022 17:46:48 +0200 Subject: [PATCH 010/124] CITRA: trying to fix shader cache --- es-configs/es_find_rules.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/es-configs/es_find_rules.xml b/es-configs/es_find_rules.xml index baa96687..3e71b426 100644 --- a/es-configs/es_find_rules.xml +++ b/es-configs/es_find_rules.xml @@ -100,7 +100,7 @@ <emulator name="CITRA"> <!-- Nintendo 3DS emulator Citra --> <rule type="systempath"> - <entry>citra</entry> + <entry>citra-qt</entry> <entry>citra-emu.citra-nightly</entry> <entry>org.citra_emu.citra</entry> </rule> From 53a5d81f5ebaccad3bbc6083f6bcd0082c078e75 Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Tue, 6 Sep 2022 18:04:44 +0200 Subject: [PATCH 011/124] OPERA-3DO: removed aoutload (workaround), removed unsupported ext --- emu-configs/retroarch-core-options.cfg | 1 + es-configs/es_systems.xml | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/emu-configs/retroarch-core-options.cfg b/emu-configs/retroarch-core-options.cfg index b7ab1bd2..4656d63a 100644 --- a/emu-configs/retroarch-core-options.cfg +++ b/emu-configs/retroarch-core-options.cfg @@ -385,6 +385,7 @@ mupen64plus-txHiresEnable = "False" mupen64plus-txHiresFullAlphaChannel = "False" mupen64plus-u-cbutton = "C4" mupen64plus-virefresh = "Auto" +opera_savestate_auto_load = "False" pcsx2_accurate_date = "enabled" pcsx2_anisotropic_filter = "0" pcsx2_aspect_ratio = "0" diff --git a/es-configs/es_systems.xml b/es-configs/es_systems.xml index 8c898921..73957de1 100644 --- a/es-configs/es_systems.xml +++ b/es-configs/es_systems.xml @@ -5,7 +5,7 @@ <name>3do</name> <fullname>3DO</fullname> <path>%ROMPATH%/3do</path> - <extension>.iso .ISO .bin .BIN .chd .CHD .cue .CUE .7z .7Z .zip .ZIP</extension> + <extension>.iso .ISO .bin .BIN .chd .CHD .cue .CUE</extension> <command label="Opera">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/opera_libretro.so %ROM%</command> <platform>3do</platform> <theme>3do</theme> From 9d47a3a8c40ab921c519bb1efa7090014ae7fe79 Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Tue, 6 Sep 2022 21:34:31 +0200 Subject: [PATCH 012/124] Workflow: fix the stuck mount --- .github/workflows/cooker-selfhosted.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/cooker-selfhosted.yml b/.github/workflows/cooker-selfhosted.yml index 5f394a55..9b039617 100644 --- a/.github/workflows/cooker-selfhosted.yml +++ b/.github/workflows/cooker-selfhosted.yml @@ -34,6 +34,7 @@ jobs: - name: Initialize enviornment run: | + while [[ $(findmnt /home/administrator/actions-runner/_work/RetroDECK/RetroDECK/.flatpak-builder/rofiles) != "" ]]; do sudo umount /home/administrator/actions-runner/_work/RetroDECK/RetroDECK/.flatpak-builder/rofiles; done git pull git submodule init git submodule update From 0af81f45ee554580e5aad9f27b0dd0a99044cc87 Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Tue, 6 Sep 2022 21:40:27 +0200 Subject: [PATCH 013/124] Workflow: fix the stuck mount -fix2 --- .github/workflows/cooker-selfhosted.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/cooker-selfhosted.yml b/.github/workflows/cooker-selfhosted.yml index 9b039617..6c779de7 100644 --- a/.github/workflows/cooker-selfhosted.yml +++ b/.github/workflows/cooker-selfhosted.yml @@ -17,6 +17,9 @@ jobs: runs-on: self-hosted steps: + - name: Remove stuck mounts + run: while [[ $(findmnt /home/administrator/actions-runner/_work/RetroDECK/RetroDECK/.flatpak-builder/rofiles) != "" ]]; do sudo umount /home/administrator/actions-runner/_work/RetroDECK/RetroDECK/.flatpak-builder/rofiles; done + - name: Get date for artifacts id: date run: echo "::set-output name=date::$(date +'%Y%m%d_%H%M%S')" @@ -34,7 +37,6 @@ jobs: - name: Initialize enviornment run: | - while [[ $(findmnt /home/administrator/actions-runner/_work/RetroDECK/RetroDECK/.flatpak-builder/rofiles) != "" ]]; do sudo umount /home/administrator/actions-runner/_work/RetroDECK/RetroDECK/.flatpak-builder/rofiles; done git pull git submodule init git submodule update From 2fb7186d7ac42a69d403f51617757c438abb4d7b Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Tue, 6 Sep 2022 21:42:10 +0200 Subject: [PATCH 014/124] Workflow: fix the stuck mount -fix3 --- .github/workflows/cooker-selfhosted.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cooker-selfhosted.yml b/.github/workflows/cooker-selfhosted.yml index 6c779de7..a37c1870 100644 --- a/.github/workflows/cooker-selfhosted.yml +++ b/.github/workflows/cooker-selfhosted.yml @@ -18,7 +18,7 @@ jobs: steps: - name: Remove stuck mounts - run: while [[ $(findmnt /home/administrator/actions-runner/_work/RetroDECK/RetroDECK/.flatpak-builder/rofiles) != "" ]]; do sudo umount /home/administrator/actions-runner/_work/RetroDECK/RetroDECK/.flatpak-builder/rofiles; done + run: umount -f /home/administrator/actions-runner/_work/RetroDECK/RetroDECK/.flatpak-builder/rofiles/* - name: Get date for artifacts id: date From 60e5eb0ecf541b3e112bc0e19821f3c449d42ef2 Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Tue, 6 Sep 2022 21:43:15 +0200 Subject: [PATCH 015/124] Workflow: fix the stuck mount -fix4 --- .github/workflows/cooker-selfhosted.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/cooker-selfhosted.yml b/.github/workflows/cooker-selfhosted.yml index a37c1870..d3f7729e 100644 --- a/.github/workflows/cooker-selfhosted.yml +++ b/.github/workflows/cooker-selfhosted.yml @@ -18,7 +18,8 @@ jobs: steps: - name: Remove stuck mounts - run: umount -f /home/administrator/actions-runner/_work/RetroDECK/RetroDECK/.flatpak-builder/rofiles/* + run: sudo umount -f /home/administrator/actions-runner/_work/RetroDECK/RetroDECK/.flatpak-builder/rofiles/* + continue-on-error: true - name: Get date for artifacts id: date From 361e28396f098fa4c3a85f7fc2c0cb302028a528 Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Wed, 7 Sep 2022 20:29:23 +0200 Subject: [PATCH 016/124] Removed unused fix theme tool --- es-configs/tools-gamelist.xml | 7 ------- tools/theme-fix.sh | 31 ------------------------------- 2 files changed, 38 deletions(-) delete mode 100644 tools/theme-fix.sh diff --git a/es-configs/tools-gamelist.xml b/es-configs/tools-gamelist.xml index 2df4ef4f..3a838881 100644 --- a/es-configs/tools-gamelist.xml +++ b/es-configs/tools-gamelist.xml @@ -84,13 +84,6 @@ <nogamecount>true</nogamecount> <nomultiscrape>true</nomultiscrape> </game> --> - <game> - <path>./theme-fix.sh</path> - <name>Theme fix</name> - <desc>Clean some of the scraped data in order to beautify the new theme. This is needed if you got scraped data since v0.4.2 or earlier.</desc> - <nogamecount>true</nogamecount> - <nomultiscrape>true</nomultiscrape> - </game> <game> <path>./configure-emulators.sh</path> <name>Configure Emulators</name> diff --git a/tools/theme-fix.sh b/tools/theme-fix.sh deleted file mode 100644 index 66c71254..00000000 --- a/tools/theme-fix.sh +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/bash - -zenity \ ---icon-name=net.retrodeck.retrodeck \ ---question \ ---no-wrap \ ---window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ ---title "RetroDECK" \ ---ok-label "Yes" \ ---cancel-label "No" \ ---text="This tool is will clean some unuseful scraped data in order to beautify the theme.\nDo you want to delete and fix it?" - -if [ $? == 0 ] #yes - Internal -then - find ~/retrodeck/.downloaded_media -name miximages -type d -print0|xargs -0 rm -rfv -- - find ~/retrodeck/.downloaded_media -name 3dboxes -type d -print0|xargs -0 rm -rfv -- - find ~/retrodeck/.downloaded_media -name titlescreens -type d -print0|xargs -0 rm -rfv -- - find ~/retrodeck/.downloaded_media -name backcovers -type d -print0|xargs -0 rm -rfv -- - find ~/retrodeck/.downloaded_media -namephysicalmedia -type d -print0|xargs -0 rm -rfv -- - find ~/retrodeck/.downloaded_media -namescreenshots -type d -print0|xargs -0 rm -rfv -- - rm -rf ~/retrodeck/.downloaded_media/thumbnails - ln -s ~/retrodeck/.downloaded_media/covers ~/retrodeck/.downloaded_media/thumbnails -fi - -zenity \ ---icon-name=net.retrodeck.retrodeck \ ---info \ ---no-wrap \ ---window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ ---title "RetroDECK" \ ---text="Scraped data is now cleaned and fixed, please restart RetroDECK to reload the games list." \ No newline at end of file From 7124cfda342553f31649c4ebe4050106d396c78a Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Wed, 7 Sep 2022 20:37:27 +0200 Subject: [PATCH 017/124] Updated Duckstation config --- tools/move-roms.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/move-roms.sh b/tools/move-roms.sh index 85b83fc8..00dac00a 100644 --- a/tools/move-roms.sh +++ b/tools/move-roms.sh @@ -8,7 +8,7 @@ then exit 0 fi -conf_init +#conf_init zenity --question --no-wrap --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --title "RetroDECK" --cancel-label="Cancel" --ok-label "Browse" --text="The roms folder is now: $roms_folder\nplease select the new location.\nA retrodeck/roms folder will be created starting from the directory that you selected." if [ $? == 1 ] #cancel From dc04ad1dc38e5524cc49da0977729da1d537fb1c Mon Sep 17 00:00:00 2001 From: XargonWan <6771419+XargonWan@users.noreply.github.com> Date: Wed, 7 Sep 2022 20:45:50 +0200 Subject: [PATCH 018/124] SX2: Updated config for QT --- emu-configs/PCSX2/GS.ini | 89 ++++++ emu-configs/PCSX2/PCSX2.ini | 449 +++++++++++++++++++++++++++ emu-configs/{ => PCSX2}/PCSX2_ui.ini | 2 +- emu-configs/{ => PCSX2}/PCSX2_vm.ini | 0 4 files changed, 539 insertions(+), 1 deletion(-) create mode 100644 emu-configs/PCSX2/GS.ini create mode 100644 emu-configs/PCSX2/PCSX2.ini rename emu-configs/{ => PCSX2}/PCSX2_ui.ini (98%) rename emu-configs/{ => PCSX2}/PCSX2_vm.ini (100%) diff --git a/emu-configs/PCSX2/GS.ini b/emu-configs/PCSX2/GS.ini new file mode 100644 index 00000000..d91aa444 --- /dev/null +++ b/emu-configs/PCSX2/GS.ini @@ -0,0 +1,89 @@ +CaptureHeight = 480 +CaptureWidth = 640 +DisableDualSourceBlend = 0 +DisableFramebufferFetch = 0 +DumpReplaceableMipmaps = 0 +DumpReplaceableTextures = 0 +DumpTexturesWithFMVActive = 0 +HWDisableReadbacks = 0 +IntegerScaling = 0 +LoadTextureReplacements = 0 +LoadTextureReplacementsAsync = 1 +MaxAnisotropy = 0 +NTSC_Saturation = 1 +OsdScale = 100 +OsdShowCPU = 0 +OsdShowFPS = 0 +OsdShowGPU = 0 +OsdShowGSStats = 0 +OsdShowIndicators = 1 +OsdShowMessages = 1 +OsdShowResolution = 0 +OsdShowSpeed = 0 +OverrideGeometryShaders = -1 +OverrideTextureBarriers = -1 +PrecacheTextureReplacements = 0 +Renderer = 14 +ShadeBoost = 0 +ShadeBoost_Brightness = 50 +ShadeBoost_Contrast = 50 +ShadeBoost_Saturation = 50 +TVShader = 0 +ThreadedPresentation = 0 +UseBlitSwapChain = 0 +UseDebugDevice = 0 +UserHacks = 1 +UserHacks_AutoFlush = 0 +UserHacks_CPU_FB_Conversion = 0 +UserHacks_DisableDepthSupport = 0 +UserHacks_DisablePartialInvalidation = 1 +UserHacks_Disable_Safe_Features = 0 +UserHacks_HalfPixelOffset = 0 +UserHacks_Half_Bottom_Override = -1 +UserHacks_SkipDraw_End = 0 +UserHacks_SkipDraw_Start = 0 +UserHacks_TCOffsetX = 0 +UserHacks_TCOffsetY = 0 +UserHacks_TextureInsideRt = 0 +UserHacks_TriFilter = 0 +UserHacks_WildHack = 0 +UserHacks_align_sprite_X = 0 +UserHacks_merge_pp_sprite = 0 +UserHacks_round_sprite_offset = 0 +aa1 = 1 +accurate_blending_unit = 1 +accurate_date = 1 +autoflush_sw = 1 +capture_enabled = 0 +capture_out_dir = /tmp/GS_Capture +capture_threads = 4 +conservative_framebuffer = 1 +crc_hack_level = -1 +disable_shader_cache = 0 +dithering_ps2 = 2 +dump = 0 +extrathreads = 2 +extrathreads_height = 4 +filter = 2 +fxaa = 0 +interlace = 7 +linear_present = 1 +mipmap = 1 +mipmap_hw = -1 +override_GL_ARB_shader_image_load_store = -1 +override_GL_ARB_sparse_texture = -1 +paltex = 0 +png_compression_level = 1 +preload_frame_with_gs_data = 0 +save = 0 +savef = 0 +savel = 5000 +saven = 0 +savet = 0 +savez = 0 +shaderfx = 0 +shaderfx_conf = shaders/GS_FX_Settings.ini +shaderfx_glsl = shaders/GS.fx +texture_preloading = 0 +upscale_multiplier = 2 +wrap_gs_mem = 0 diff --git a/emu-configs/PCSX2/PCSX2.ini b/emu-configs/PCSX2/PCSX2.ini new file mode 100644 index 00000000..26bb2f01 --- /dev/null +++ b/emu-configs/PCSX2/PCSX2.ini @@ -0,0 +1,449 @@ +[UI] +SettingsVersion = 1 +MainWindowGeometry = AdnQywADAAAAAAAAAAAAAAAAA7UAAAJ/AAAAAAAAAAAAAAO1AAACfwAAAAAAAAAABQAAAAAAAAAAAAAAA7UAAAJ/ +MainWindowState = AAAA/wAAAAD9AAAAAAAAA7YAAAJXAAAABAAAAAQAAAAIAAAACPwAAAABAAAAAgAAAAEAAAAOAHQAbwBvAGwAQgBhAHIAAAAAAP////8AAAAAAAAAAA== +PauseOnFocusLoss = true +StartFullscreen = true + + +[EmuCore] +CdvdVerboseReads = false +CdvdDumpBlocks = false +CdvdShareWrite = false +EnablePatches = true +EnableCheats = false +EnablePINE = false +EnableWideScreenPatches = false +EnableNoInterlacingPatches = false +EnableRecordingTools = true +EnableGameFixes = true +SaveStateOnShutdown = true +ConsoleToStdio = false +HostFs = false +PatchBios = false +PatchRegion = +BackupSavestate = true +SavestateZstdCompression = true +McdEnableEjection = true +McdFolderAutoManage = true +GzipIsoIndexTemplate = $(f).pindex.tmp +BlockDumpSaveDirectory = + + +[EmuCore/Speedhacks] +EECycleRate = 0 +EECycleSkip = 0 +fastCDVD = false +IntcStat = true +WaitLoop = true +vuFlagHack = true +vuThread = true +vu1Instant = true + + +[EmuCore/CPU] +FPU.DenormalsAreZero = true +FPU.FlushToZero = true +FPU.Roundmode = 3 +AffinityControlMode = 0 +VU.DenormalsAreZero = true +VU.FlushToZero = true +VU.Roundmode = 3 + + +[EmuCore/CPU/Recompiler] +EnableEE = true +EnableIOP = true +EnableEECache = false +EnableVU0 = true +EnableVU1 = true +vuOverflow = true +vuExtraOverflow = false +vuSignOverflow = false +vuUnderflow = false +fpuOverflow = true +fpuExtraOverflow = false +fpuFullMode = false +StackFrameChecks = false +PreBlockCheckEE = false +PreBlockCheckIOP = false + + +[EmuCore/GS] +VsyncQueueSize = 2 +FrameLimitEnable = true +VsyncEnable = 0 +FramerateNTSC = 59.940000 +FrameratePAL = 50.000000 +SyncToHostRefreshRate = false +AspectRatio = Auto 4:3/3:2 +FMVAspectRatioSwitch = Off +Zoom = 100.000000 +StretchY = 100.000000 +CropLeft = 0 +CropTop = 0 +CropRight = 0 +CropBottom = 0 +pcrtc_antiblur = true +disable_interlace_offset = false +pcrtc_offsets = false +pcrtc_overscan = false +IntegerScaling = false +linear_present = true +UseDebugDevice = false +UseBlitSwapChain = false +disable_shader_cache = false +DisableDualSourceBlend = false +DisableFramebufferFetch = false +ThreadedPresentation = false +SkipDuplicateFrames = false +OsdShowMessages = true +OsdShowSpeed = false +OsdShowFPS = false +OsdShowCPU = false +OsdShowGPU = false +OsdShowResolution = false +OsdShowGSStats = false +OsdShowIndicators = true +HWDisableReadbacks = false +accurate_date = true +paltex = false +autoflush_sw = true +preload_frame_with_gs_data = false +wrap_gs_mem = false +mipmap = true +UserHacks = false +UserHacks_align_sprite_X = false +UserHacks_AutoFlush = false +UserHacks_CPU_FB_Conversion = false +UserHacks_DisableDepthSupport = false +UserHacks_DisablePartialInvalidation = false +UserHacks_Disable_Safe_Features = false +UserHacks_merge_pp_sprite = false +UserHacks_WildHack = false +UserHacks_TextureInsideRt = false +fxaa = false +ShadeBoost = false +shaderfx = false +dump = false +save = false +savef = false +savet = false +savez = false +DumpReplaceableTextures = false +DumpReplaceableMipmaps = false +DumpTexturesWithFMVActive = false +DumpDirectTextures = true +DumpPaletteTextures = true +LoadTextureReplacements = false +LoadTextureReplacementsAsync = true +PrecacheTextureReplacements = false +deinterlace = 7 +OsdScale = 100 +Renderer = -1 +upscale_multiplier = 1 +mipmap_hw = -1 +accurate_blending_unit = 1 +crc_hack_level = -1 +filter = 2 +texture_preloading = 2 +GSDumpCompression = 1 +dithering_ps2 = 2 +MaxAnisotropy = 0 +extrathreads = 2 +extrathreads_height = 4 +TVShader = 0 +UserHacks_SkipDraw_Start = 0 +UserHacks_SkipDraw_End = 0 +UserHacks_Half_Bottom_Override = -1 +UserHacks_HalfPixelOffset = 0 +UserHacks_round_sprite_offset = 0 +UserHacks_TCOffsetX = 0 +UserHacks_TCOffsetY = 0 +UserHacks_CPUSpriteRenderBW = 0 +UserHacks_TriFilter = -1 +OverrideTextureBarriers = -1 +OverrideGeometryShaders = -1 +ShadeBoost_Brightness = 50 +ShadeBoost_Contrast = 50 +ShadeBoost_Saturation = 50 +saven = 0 +savel = 5000 +Adapter = +shaderfx_conf = shaders/GS_FX_Settings.ini +shaderfx_glsl = shaders/GS.fx + + +[SPU2/Mixing] +Interpolation = 5 +FinalVolume = 100 +VolumeAdjustC = 0.000000 +VolumeAdjustFL = 0.000000 +VolumeAdjustFR = 0.000000 +VolumeAdjustBL = 0.000000 +VolumeAdjustBR = 0.000000 +VolumeAdjustSL = 0.000000 +VolumeAdjustSR = 0.000000 +VolumeAdjustLFE = 0.000000 + + +[SPU2/Output] +OutputModule = cubeb +Latency = 100 +SynchMode = 0 +SpeakerConfiguration = 0 +DplDecodingLevel = 0 + + +[DEV9/Eth] +EthEnable = false +EthApi = Unset +EthDevice = +EthLogDNS = false +InterceptDHCP = false +PS2IP = 0.0.0.0 +Mask = 0.0.0.0 +Gateway = 0.0.0.0 +DNS1 = 0.0.0.0 +DNS2 = 0.0.0.0 +AutoMask = true +AutoGateway = true +ModeDNS1 = Auto +ModeDNS2 = Auto + + +[DEV9/Eth/Hosts] +Count = 0 + + +[DEV9/Hdd] +HddEnable = false +HddFile = DEV9hdd.raw +HddSizeSectors = 83886080 + + +[EmuCore/Gamefixes] +VuAddSubHack = false +FpuMulHack = false +FpuNegDivHack = false +XgKickHack = false +EETimingHack = false +SoftwareRendererFMVHack = false +SkipMPEGHack = false +OPHFlagHack = false +DMABusyHack = false +VIFFIFOHack = false +VIF1StallHack = false +GIFFIFOHack = false +GoemonTlbHack = false +IbitHack = false +VUSyncHack = false +VUOverflowHack = false +BlitInternalFPSHack = false + + +[EmuCore/Profiler] +Enabled = false +RecBlocks_EE = true +RecBlocks_IOP = true +RecBlocks_VU0 = true +RecBlocks_VU1 = true + + +[EmuCore/Debugger] +ShowDebuggerOnStart = false +AlignMemoryWindowStart = true +FontWidth = 8 +FontHeight = 12 +WindowWidth = 0 +WindowHeight = 0 +MemoryViewBytesPerRow = 16 + + +[EmuCore/TraceLog] +Enabled = false +EE.bitset = 0 +IOP.bitset = 0 + + +[Filenames] +BIOS = + + +[Framerate] +NominalScalar = 1.000000 +TurboScalar = 2.000000 +SlomoScalar = 0.500000 + + +[MemoryCards] +Slot1_Enable = true +Slot1_Filename = Mcd001.ps2 +Slot2_Enable = true +Slot2_Filename = Mcd002.ps2 +Multitap1_Slot2_Enable = false +Multitap1_Slot2_Filename = Mcd-Multitap1-Slot02.ps2 +Multitap1_Slot3_Enable = false +Multitap1_Slot3_Filename = Mcd-Multitap1-Slot03.ps2 +Multitap1_Slot4_Enable = false +Multitap1_Slot4_Filename = Mcd-Multitap1-Slot04.ps2 +Multitap2_Slot2_Enable = false +Multitap2_Slot2_Filename = Mcd-Multitap2-Slot02.ps2 +Multitap2_Slot3_Enable = false +Multitap2_Slot3_Filename = Mcd-Multitap2-Slot03.ps2 +Multitap2_Slot4_Enable = false +Multitap2_Slot4_Filename = Mcd-Multitap2-Slot04.ps2 + + +[Folders] +Bios = ../../../../../retrodeck/bios/pcsx2 +Snapshots = ../../../../../retrodeck/screenshots +SaveStates = ../../../../../retrodeck/states +MemoryCards = ../../../../../retrodeck/saves/pcsx2 +Logs = logs +Cheats = cheats +CheatsWS = cheats_ws +CheatsNI = cheats_ni +Cache = cache +Textures = textures +InputProfiles = inputprofiles + + +[InputSources] +SDL = true +SDLControllerEnhancedMode = false +XInput = false +RawInput = false + + +[Hotkeys] +ToggleFullscreen = Keyboard/Alt & Keyboard/Return +CycleAspectRatio = Keyboard/F6 +CycleInterlaceMode = Keyboard/F5 +CycleMipmapMode = Keyboard/Insert +GSDumpMultiFrame = Keyboard/Control & Keyboard/Shift & Keyboard/F8 +Screenshot = SDL-0/Back & SDL-0/A +GSDumpSingleFrame = Keyboard/Shift & Keyboard/F8 +ToggleSoftwareRendering = Keyboard/F9 +InputRecToggleMode = Keyboard/Shift & Keyboard/R +LoadStateFromSlot = SDL-0/Back & SDL-0/LeftShoulder +SaveStateToSlot = SDL-0/Back & SDL-0/RightShoulder +NextSaveStateSlot = SDL-0/Back & SDL-0/DPadUp +PreviousSaveStateSlot = SDL-0/Back & SDL-0/DPadDown +OpenPauseMenu = SDL-0/Back & SDL-0/Y +ToggleFrameLimit = Keyboard/F4 +TogglePause = SDL-0/Back & SDL-0/B +ToggleSlowMotion = Keyboard/Shift & Keyboard/Backtab +ToggleTurbo = Keyboard/Tab +HoldTurbo = Keyboard/L + + +[Pad] +MultitapPort1 = false +MultitapPort2 = false +PointerXScale = 8.000000 +PointerYScale = 8.000000 +PointerXInvert = false +PointerYInvert = false + + +[Pad1] +Type = DualShock2 +Deadzone = 0.000000 +AxisScale = 1.330000 +LargeMotorScale = 1.000000 +SmallMotorScale = 1.000000 +PressureModifier = 0.500000 +Up = SDL-0/-RightY +Right = SDL-0/DPadRight +Down = SDL-0/DPadDown +Left = SDL-0/DPadLeft +Triangle = SDL-0/Y +Circle = SDL-0/B +Cross = SDL-0/A +Square = SDL-0/X +Select = SDL-0/Back +Start = SDL-0/Start +L1 = SDL-0/LeftShoulder +L2 = SDL-0/+LeftTrigger +R1 = SDL-0/RightShoulder +R2 = SDL-0/+RightTrigger +L3 = SDL-0/LeftStick +R3 = SDL-0/RightStick +LUp = SDL-0/-LeftY +LRight = SDL-0/+LeftX +LDown = SDL-0/+LeftY +LLeft = SDL-0/-LeftX +RUp = SDL-0/-RightY +RRight = SDL-0/+RightX +RDown = SDL-0/+RightY +RLeft = SDL-0/-RightX +SmallMotor = SDL-0/SmallMotor +LargeMotor = SDL-0/LargeMotor + + +[Pad2] +Type = None +Deadzone = 0.000000 +AxisScale = 1.330000 +LargeMotorScale = 1.000000 +SmallMotorScale = 1.000000 +PressureModifier = 0.500000 + + +[Pad3] +Type = None +Deadzone = 0.000000 +AxisScale = 1.330000 +LargeMotorScale = 1.000000 +SmallMotorScale = 1.000000 +PressureModifier = 0.500000 + + +[Pad4] +Type = None +Deadzone = 0.000000 +AxisScale = 1.330000 +LargeMotorScale = 1.000000 +SmallMotorScale = 1.000000 +PressureModifier = 0.500000 + + +[Pad5] +Type = None +Deadzone = 0.000000 +AxisScale = 1.330000 +LargeMotorScale = 1.000000 +SmallMotorScale = 1.000000 +PressureModifier = 0.500000 + + +[Pad6] +Type = None +Deadzone = 0.000000 +AxisScale = 1.330000 +LargeMotorScale = 1.000000 +SmallMotorScale = 1.000000 +PressureModifier = 0.500000 + + +[Pad7] +Type = None +Deadzone = 0.000000 +AxisScale = 1.330000 +LargeMotorScale = 1.000000 +SmallMotorScale = 1.000000 +PressureModifier = 0.500000 + + +[Pad8] +Type = None +Deadzone = 0.000000 +AxisScale = 1.330000 +LargeMotorScale = 1.000000 +SmallMotorScale = 1.000000 +PressureModifier = 0.500000 + + +[GameList] +RecursivePaths = /home/deck/retrodeck/roms/ps2 diff --git a/emu-configs/PCSX2_ui.ini b/emu-configs/PCSX2/PCSX2_ui.ini similarity index 98% rename from emu-configs/PCSX2_ui.ini rename to emu-configs/PCSX2/PCSX2_ui.ini index 00f098ce..891b6cab 100644 --- a/emu-configs/PCSX2_ui.ini +++ b/emu-configs/PCSX2/PCSX2_ui.ini @@ -40,7 +40,7 @@ UseDefaultLangs=enabled UseDefaultCheats=enabled UseDefaultCheatsWS=enabled UseDefaultTextures=enabled -Bios=~/retrodeck/bios +Bios=/run/media/deck/DeckSD/retrodeck/roms/bios Snapshots=/var/config/PCSX2/snaps Savestates=/var/config/PCSX2/sstates MemoryCards=/var/config/PCSX2/memcards diff --git a/emu-configs/PCSX2_vm.ini b/emu-configs/PCSX2/PCSX2_vm.ini similarity index 100% rename from emu-configs/PCSX2_vm.ini rename to emu-configs/PCSX2/PCSX2_vm.ini From 1513a60d52583557b8b7511decb9c23b9c715dfd Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Wed, 7 Sep 2022 20:52:36 +0200 Subject: [PATCH 019/124] PCSX2: sedded configs --- emu-configs/PCSX2/PCSX2.ini | 10 +++++----- emu-configs/PCSX2/PCSX2_ui.ini | 2 +- retrodeck.sh | 3 ++- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/emu-configs/PCSX2/PCSX2.ini b/emu-configs/PCSX2/PCSX2.ini index 26bb2f01..6a820bf6 100644 --- a/emu-configs/PCSX2/PCSX2.ini +++ b/emu-configs/PCSX2/PCSX2.ini @@ -296,10 +296,10 @@ Multitap2_Slot4_Filename = Mcd-Multitap2-Slot04.ps2 [Folders] -Bios = ../../../../../retrodeck/bios/pcsx2 -Snapshots = ../../../../../retrodeck/screenshots -SaveStates = ../../../../../retrodeck/states -MemoryCards = ../../../../../retrodeck/saves/pcsx2 +Bios = ~/retrodeck/bios/pcsx2 +Snapshots = ~/retrodeck/screenshots +SaveStates = ~/retrodeck/states +MemoryCards = ~/retrodeck/saves/pcsx2 Logs = logs Cheats = cheats CheatsWS = cheats_ws @@ -446,4 +446,4 @@ PressureModifier = 0.500000 [GameList] -RecursivePaths = /home/deck/retrodeck/roms/ps2 +RecursivePaths = ~/retrodeck/roms/ps2 diff --git a/emu-configs/PCSX2/PCSX2_ui.ini b/emu-configs/PCSX2/PCSX2_ui.ini index 891b6cab..72e94628 100644 --- a/emu-configs/PCSX2/PCSX2_ui.ini +++ b/emu-configs/PCSX2/PCSX2_ui.ini @@ -40,7 +40,7 @@ UseDefaultLangs=enabled UseDefaultCheats=enabled UseDefaultCheatsWS=enabled UseDefaultTextures=enabled -Bios=/run/media/deck/DeckSD/retrodeck/roms/bios +Bios=~/retrodeck/roms/bios Snapshots=/var/config/PCSX2/snaps Savestates=/var/config/PCSX2/sstates MemoryCards=/var/config/PCSX2/memcards diff --git a/retrodeck.sh b/retrodeck.sh index f5ba4071..e5b7e580 100644 --- a/retrodeck.sh +++ b/retrodeck.sh @@ -98,8 +98,9 @@ standalones_init() { echo "Initializing PCSX2" echo "----------------------" mkdir -pv /var/config/PCSX2/inis/ - cp -fvr $emuconfigs/PCSX2_ui.ini /var/config/PCSX2/inis/ + cp -fvr $emuconfigs/PCSX2/* /var/config/PCSX2/inis/ sed -i 's#~/retrodeck#'$rdhome'#g' /var/config/PCSX2/inis/PCSX2_ui.ini + sed -i 's#~/retrodeck#'$rdhome'#g' /var/config/PCSX2/inis/PCSX2.ini cp -fvr $emuconfigs/GS.ini /var/config/PCSX2/inis/ cp -fvr $emuconfigs/PCSX2_vm.ini /var/config/PCSX2/inis/ dir_prep "$rdhome/states" "/var/config/PCSX2/sstates" From e86555ce970ea1520c06f17d3855ab84ac05fb66 Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Wed, 7 Sep 2022 20:54:36 +0200 Subject: [PATCH 020/124] PCSX2: cleaned old files --- emu-configs/GS.ini | 89 ---------------------------------------------- retrodeck.sh | 2 -- 2 files changed, 91 deletions(-) delete mode 100644 emu-configs/GS.ini diff --git a/emu-configs/GS.ini b/emu-configs/GS.ini deleted file mode 100644 index d91aa444..00000000 --- a/emu-configs/GS.ini +++ /dev/null @@ -1,89 +0,0 @@ -CaptureHeight = 480 -CaptureWidth = 640 -DisableDualSourceBlend = 0 -DisableFramebufferFetch = 0 -DumpReplaceableMipmaps = 0 -DumpReplaceableTextures = 0 -DumpTexturesWithFMVActive = 0 -HWDisableReadbacks = 0 -IntegerScaling = 0 -LoadTextureReplacements = 0 -LoadTextureReplacementsAsync = 1 -MaxAnisotropy = 0 -NTSC_Saturation = 1 -OsdScale = 100 -OsdShowCPU = 0 -OsdShowFPS = 0 -OsdShowGPU = 0 -OsdShowGSStats = 0 -OsdShowIndicators = 1 -OsdShowMessages = 1 -OsdShowResolution = 0 -OsdShowSpeed = 0 -OverrideGeometryShaders = -1 -OverrideTextureBarriers = -1 -PrecacheTextureReplacements = 0 -Renderer = 14 -ShadeBoost = 0 -ShadeBoost_Brightness = 50 -ShadeBoost_Contrast = 50 -ShadeBoost_Saturation = 50 -TVShader = 0 -ThreadedPresentation = 0 -UseBlitSwapChain = 0 -UseDebugDevice = 0 -UserHacks = 1 -UserHacks_AutoFlush = 0 -UserHacks_CPU_FB_Conversion = 0 -UserHacks_DisableDepthSupport = 0 -UserHacks_DisablePartialInvalidation = 1 -UserHacks_Disable_Safe_Features = 0 -UserHacks_HalfPixelOffset = 0 -UserHacks_Half_Bottom_Override = -1 -UserHacks_SkipDraw_End = 0 -UserHacks_SkipDraw_Start = 0 -UserHacks_TCOffsetX = 0 -UserHacks_TCOffsetY = 0 -UserHacks_TextureInsideRt = 0 -UserHacks_TriFilter = 0 -UserHacks_WildHack = 0 -UserHacks_align_sprite_X = 0 -UserHacks_merge_pp_sprite = 0 -UserHacks_round_sprite_offset = 0 -aa1 = 1 -accurate_blending_unit = 1 -accurate_date = 1 -autoflush_sw = 1 -capture_enabled = 0 -capture_out_dir = /tmp/GS_Capture -capture_threads = 4 -conservative_framebuffer = 1 -crc_hack_level = -1 -disable_shader_cache = 0 -dithering_ps2 = 2 -dump = 0 -extrathreads = 2 -extrathreads_height = 4 -filter = 2 -fxaa = 0 -interlace = 7 -linear_present = 1 -mipmap = 1 -mipmap_hw = -1 -override_GL_ARB_shader_image_load_store = -1 -override_GL_ARB_sparse_texture = -1 -paltex = 0 -png_compression_level = 1 -preload_frame_with_gs_data = 0 -save = 0 -savef = 0 -savel = 5000 -saven = 0 -savet = 0 -savez = 0 -shaderfx = 0 -shaderfx_conf = shaders/GS_FX_Settings.ini -shaderfx_glsl = shaders/GS.fx -texture_preloading = 0 -upscale_multiplier = 2 -wrap_gs_mem = 0 diff --git a/retrodeck.sh b/retrodeck.sh index e5b7e580..cd01bdb2 100644 --- a/retrodeck.sh +++ b/retrodeck.sh @@ -101,8 +101,6 @@ standalones_init() { cp -fvr $emuconfigs/PCSX2/* /var/config/PCSX2/inis/ sed -i 's#~/retrodeck#'$rdhome'#g' /var/config/PCSX2/inis/PCSX2_ui.ini sed -i 's#~/retrodeck#'$rdhome'#g' /var/config/PCSX2/inis/PCSX2.ini - cp -fvr $emuconfigs/GS.ini /var/config/PCSX2/inis/ - cp -fvr $emuconfigs/PCSX2_vm.ini /var/config/PCSX2/inis/ dir_prep "$rdhome/states" "/var/config/PCSX2/sstates" dir_prep "$rdhome/screenshots" "/var/config/PCSX2/snaps" dir_prep "$rdhome/.logs" "/var/config/PCSX2/logs" From c4bd4cc36561f309a47e2c3bbdabe2e3f279bbc0 Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Wed, 7 Sep 2022 20:57:49 +0200 Subject: [PATCH 021/124] Fixed configured emulator tool --- tools/configure-emulators.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/configure-emulators.sh b/tools/configure-emulators.sh index a646bf47..f469bfc8 100755 --- a/tools/configure-emulators.sh +++ b/tools/configure-emulators.sh @@ -20,7 +20,7 @@ emulator="$(zenity --list \ "Duckstation" \ "MelonDS" \ "PCSX2-QT" \ -"PCSX2 (Legacy)" \ +"PCSX2-Legacy" \ "PPSSPP" \ "RPCS3" \ "XEMU" \ @@ -41,10 +41,10 @@ then elif [ $emulator == "MelonDS" ] then melonDS -elif [ $emulator == "PCSX2 (Legacy)" ] +elif [ $emulator == "PCSX2-Legacy" ] then pcsx2 -elif [ $emulator == "pcsx2-qt" ] +elif [ $emulator == "PCSX2-QT" ] then pcsx2-qt elif [ $emulator == "PPSSPP" ] From 974f66c505c3f8730d12aed5cb620242ce78b8db Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Thu, 8 Sep 2022 17:45:57 +0200 Subject: [PATCH 022/124] DOLPHIN: fixed some paths --- emu-configs/dolphin/Dolphin.ini | 10 +++++----- retrodeck.sh | 3 +-- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/emu-configs/dolphin/Dolphin.ini b/emu-configs/dolphin/Dolphin.ini index bb6ae945..a6f1c2ea 100644 --- a/emu-configs/dolphin/Dolphin.ini +++ b/emu-configs/dolphin/Dolphin.ini @@ -24,19 +24,19 @@ DSPHLE = True Fullscreen = True DisableScreenSaver = True [GBA] -BIOS = /var/data/dolphin-emu/GBA/gba_bios.bin +BIOS = ~/retrodeck/bios Rom1 = Rom2 = Rom3 = Rom4 = SavesInRomPath = False -SavesPath = /var/data/dolphin-emu/GBA/Saves/ +SavesPath = ~/retrodeck/saves Threads = True [General] -ISOPath0 = /run/user/1000/doc/9cd3cde7/wii -ISOPath1 = /run/user/1000/doc/14708e0c/gc +ISOPath0 = ~/retrodeck/roms/wii +ISOPath1 = ~/retrodeck/roms/gc ISOPaths = 2 -WiiSDCardPath = /var/data/dolphin-emu/Wii/sd.raw +WiiSDCardPath = ~/retrodeck/saves/sd.raw WirelessMac = 00:17:ab:83:9b:d4 HotkeysRequireFocus = True RecursiveISOPaths = True diff --git a/retrodeck.sh b/retrodeck.sh index cd01bdb2..adb5e4ed 100644 --- a/retrodeck.sh +++ b/retrodeck.sh @@ -90,8 +90,7 @@ standalones_init() { echo "----------------------" mkdir -pv /var/config/dolphin-emu/ cp -fvr "$emuconfigs/dolphin/"* /var/config/dolphin-emu/ - dir_prep "$rdhome/saves" "/var/data/dolphin-emu/GBA/Saves" - dir_prep "$rdhome/saves" "/var/data/dolphin-emu/Wii" + sed -i 's#~/retrodeck#'$rdhome'#g' /var/config/dolphin-emu/Dolphin.ini # pcsx2 echo "----------------------" From 217a7fd0833a281868a2096ba7d23306f81ade1f Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Thu, 8 Sep 2022 17:50:52 +0200 Subject: [PATCH 023/124] Hiddem Primehack for the moment --- es-configs/es_systems.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/es-configs/es_systems.xml b/es-configs/es_systems.xml index 73957de1..3f8d3a60 100644 --- a/es-configs/es_systems.xml +++ b/es-configs/es_systems.xml @@ -565,7 +565,7 @@ <extension>.gcm .GCM .iso .ISO .wbfs .WBFS .wia .WIA .ciso .CISO .gcz .GCZ .elf .ELF .dol .DOL .dff .DFF .json .JSON .rvz .RVZ .tgc .TGC .wad .WAD .m3u .M3U .7z .7Z .zip .ZIP</extension> <command label="Dolphin">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/dolphin_libretro.so %ROM%</command> <command label="Dolphin (Standalone)">%EMULATOR_DOLPHIN% -b -e %ROM%</command> - <command label="PrimeHack (Standalone)">%EMULATOR_PRIMEHACK% -b -e %ROM%</command> +<!-- <command label="PrimeHack (Standalone)">%EMULATOR_PRIMEHACK% -b -e %ROM%</command> --> <platform>gc</platform> <theme>gc</theme> </system> From d688fc61a69e020ff88965919ea740b4b0dedaac Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Fri, 9 Sep 2022 08:42:16 +0200 Subject: [PATCH 024/124] CEMU: updated --- net.retrodeck.retrodeck.yml | 46 +++++++++++++++++++++++-------------- 1 file changed, 29 insertions(+), 17 deletions(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 77bd3695..ba25b907 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -1314,23 +1314,35 @@ modules: # CEMU - START - # - name: Cemu - # buildsystem: cmake-ninja - # builddir: true - # config-opts: - # - -DENABLE_VCPKG=false - # - -DCMAKE_BUILD_TYPE=Release - # #- -DCMAKE_C_COMPILER=/usr/bin/gcc - # #- -DCMAKE_CXX_COMPILER=/usr/bin/g++ - # - -Dimgui_LINK_LIBRARIES=/app/lib/imgui - # sources: - # - type: git - # url: https://github.com/cemu-project/Cemu - # commit: d8da8a54a6c08296a884b892d714cabcb7e4bdb5 - # - type: git - # dest: 3rdparty/imgui/imgui - # url: https://github.com/ocornut/imgui.git - # commit: 60bea052a92cbb4a93b221002fdf04f0da3698e1 + - name: cemu + buildsystem: cmake-ninja + builddir: true + build-options: + env: + CC: clang + CXX: clang++ + AR: llvm-ar + RANLIB: llvm-ranlib + ldflags: -fuse-ld=lld + prepend-ld-library-path: /usr/lib/sdk/llvm13/lib + prepend-path: /usr/lib/sdk/llvm13/bin + config-opts: + - -DCMAKE_BUILD_TYPE=RelWithDebInfo + - -DENABLE_VCPKG=false + sources: + - type: git + url: https://github.com/cemu-project/Cemu + tag: v2.0-1 + commit: e5d7d5d1736019d08e1ff8d9bd2e385330c5b7de + - type: git + dest: 3rdparty/imgui/imgui + url: https://github.com/ocornut/imgui.git + commit: 60bea052a92cbb4a93b221002fdf04f0da3698e1 + cleanup: + - /app/include + - /app/lib/*.a + - /app/lib/*.la + - /app/lib/pkgconfig # CEMU - END From c69a960c3d7dd9a62df95617366bf76348871b22 Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Fri, 9 Sep 2022 08:42:45 +0200 Subject: [PATCH 025/124] CEMU: updated --- net.retrodeck.retrodeck.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index ba25b907..55a36c9a 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -1313,6 +1313,7 @@ modules: # Duckstation - END # CEMU - START + # temporary here: https://github.com/Eonfge/flathub/blob/8bb2905b0fefdff820a2b65dac2a7cde916d3ce5/info.cemu.Cemu.yaml - name: cemu buildsystem: cmake-ninja From e154b90f5653a7109962e737e7a410b2f6edab8f Mon Sep 17 00:00:00 2001 From: anthonycaccese <anthonycaccese@gmail.com> Date: Sat, 10 Sep 2022 09:39:26 -0400 Subject: [PATCH 026/124] Updated Art-Book-Next to latest version commit: 23932f484a9949313baf80f92b2fbca38a7a8f37 --- net.retrodeck.retrodeck.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 55a36c9a..1a8cf21c 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -252,7 +252,7 @@ modules: sources: - type: git url: https://github.com/anthonycaccese/art-book-next-retropie.git - commit: cbd282eb05bb2deb138dad99c3420be56d35c1b8 + commit: 23932f484a9949313baf80f92b2fbca38a7a8f37 - name: alekfull-nx-light buildsystem: simple From 7cd36ef9496f1f357bd58ae3e709e4e67d1f164f Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Sat, 10 Sep 2022 17:02:11 +0200 Subject: [PATCH 027/124] CEMU: updated manifest --- net.retrodeck.retrodeck.yml | 64 +++++++++++++++++++++++++++---------- 1 file changed, 47 insertions(+), 17 deletions(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 1a8cf21c..ef2477d9 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -1315,30 +1315,60 @@ modules: # CEMU - START # temporary here: https://github.com/Eonfge/flathub/blob/8bb2905b0fefdff820a2b65dac2a7cde916d3ce5/info.cemu.Cemu.yaml - - name: cemu + # Needed for imgui + - name: glad buildsystem: cmake-ninja - builddir: true - build-options: - env: - CC: clang - CXX: clang++ - AR: llvm-ar - RANLIB: llvm-ranlib - ldflags: -fuse-ld=lld - prepend-ld-library-path: /usr/lib/sdk/llvm13/lib - prepend-path: /usr/lib/sdk/llvm13/bin config-opts: - -DCMAKE_BUILD_TYPE=RelWithDebInfo + - -DBUILD_SHARED_LIBS=true + - -DGLAD_REPRODUCIBLE=true + - -DGLAD_INSTALL=true + sources: + - type: archive + url: https://github.com/Dav1dde/glad/archive/refs/tags/v0.1.36.tar.gz + sha256: 8470ed1b0e9fbe88e10c34770505c8a1dc8ccb78cadcf673331aaf5224f963d2 + + # Needed for imgui + - name: glfw + buildsystem: cmake-ninja + builddir: true + config-opts: + - -DBUILD_SHARED_LIBS=ON + - -DGLFW_BUILD_EXAMPLES=OFF + - -DGLFW_BUILD_TESTS=OFF + - -DGLFW_BUILD_DOCS=OFF + sources: + - type: archive + url: https://github.com/glfw/glfw/releases/download/3.3.2/glfw-3.3.2.zip + sha256: 08a33a512f29d7dbf78eab39bd7858576adcc95228c9efe8e4bc5f0f3261efc7 + cleanup: + - /include + - /lib/pkgconfig + + - name: imgui + buildsystem: cmake + sources: + - type: archive + url: https://github.com/ocornut/imgui/archive/refs/tags/v1.88.zip + sha256: 81087a74599e5890a07b636887cee73a7dc1a9eb9e1f19a4a0d82a76090bf4c2 + - type: file + path: imguiCMakeLists.txt + dest-filename: CMakeLists.txt + + - name: Cemu + buildsystem: cmake-ninja + builddir: true + config-opts: - -DENABLE_VCPKG=false + - -DCMAKE_BUILD_TYPE=release + - -DCMAKE_C_COMPILER=/usr/bin/gcc + - -DCMAKE_CXX_COMPILER=/usr/bin/g++ + - -G Ninja + - -DCMAKE_MAKE_PROGRAM=/usr/bin/ninja sources: - type: git url: https://github.com/cemu-project/Cemu - tag: v2.0-1 - commit: e5d7d5d1736019d08e1ff8d9bd2e385330c5b7de - - type: git - dest: 3rdparty/imgui/imgui - url: https://github.com/ocornut/imgui.git - commit: 60bea052a92cbb4a93b221002fdf04f0da3698e1 + commit: d8da8a54a6c08296a884b892d714cabcb7e4bdb5 cleanup: - /app/include - /app/lib/*.a From 42924742e6e0d2379ca5d7045e1ff80827a4327b Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Sat, 10 Sep 2022 17:30:27 +0200 Subject: [PATCH 028/124] PCSX2-QT: updated --- net.retrodeck.retrodeck.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index ef2477d9..cc7244b1 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -867,8 +867,8 @@ modules: - ln -s "${FLATPAK_DEST}/pcsx2-qt/usr/bin/pcsx2-qt" "${FLATPAK_DEST}/bin/pcsx2-qt" sources: - type: file - url: https://github.com/PCSX2/pcsx2/releases/download/v1.7.3271/pcsx2-v1.7.3271-linux-AppImage-64bit-AVX2-Qt.AppImage - sha256: 34aca477585bf9492b8f51ae066fe52c2a321c7b5656b9b76df97d51f75e4f85 + url: https://github.com/PCSX2/pcsx2/releases/download/v1.7.3300/pcsx2-v1.7.3300-linux-AppImage-64bit-AVX2-Qt.AppImage + sha256: 2785b1290bcbff36f1bcea66d61322975b194a383836f805daafe46aade7ce0f # PCSX2 - END From dde08bc106cd48502fece57e00f0a842e17ef43d Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Sat, 10 Sep 2022 17:35:36 +0200 Subject: [PATCH 029/124] PCSX2-QT: increased menu scaling --- emu-configs/PCSX2/GS.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/emu-configs/PCSX2/GS.ini b/emu-configs/PCSX2/GS.ini index d91aa444..93ca603a 100644 --- a/emu-configs/PCSX2/GS.ini +++ b/emu-configs/PCSX2/GS.ini @@ -11,7 +11,7 @@ LoadTextureReplacements = 0 LoadTextureReplacementsAsync = 1 MaxAnisotropy = 0 NTSC_Saturation = 1 -OsdScale = 100 +OsdScale = 250 OsdShowCPU = 0 OsdShowFPS = 0 OsdShowGPU = 0 From 9abf73fa9a07b85a6d3d42086440984cf7530253 Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Sat, 10 Sep 2022 17:37:48 +0200 Subject: [PATCH 030/124] PCSX2-QT: setted as default emulator --- es-configs/es_systems.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/es-configs/es_systems.xml b/es-configs/es_systems.xml index 3f8d3a60..78d392a7 100644 --- a/es-configs/es_systems.xml +++ b/es-configs/es_systems.xml @@ -1070,9 +1070,9 @@ <name>ps2</name> <fullname>Sony PlayStation 2</fullname> <path>%ROMPATH%/ps2</path> + <command label="PCSX2 (Standalone)">%EMULATOR_PCSX2% -batch %ROM%</command> <extension>.bin .BIN .chd .CHD .ciso .CISO .cso .CSO .dump .DUMP .elf .ELF .gz .GZ .m3u .M3U .mdf .MDF .img .IMG .iso .ISO .isz .ISZ .ngr .NRG</extension> <command label="PCSX2">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/pcsx2_libretro.so %ROM%</command> - <command label="PCSX2 (Standalone)">%EMULATOR_PCSX2% -batch %ROM%</command> <command label="PCSX2 Legacy (Standalone)">%EMULATOR_PCSX2-LEGACY% --nogui %ROM%</command> <!-- <command label="Play! (Standalone)">%EMULATOR_PLAY!% --disc %ROM%</command> --> <platform>ps2</platform> From 20fa2f86271c64474c36d5be72077f3fb027ba23 Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Sat, 10 Sep 2022 17:47:22 +0200 Subject: [PATCH 031/124] PCSX2-QT: bios folder was wrong --- emu-configs/PCSX2/PCSX2.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/emu-configs/PCSX2/PCSX2.ini b/emu-configs/PCSX2/PCSX2.ini index 6a820bf6..1cd87ed8 100644 --- a/emu-configs/PCSX2/PCSX2.ini +++ b/emu-configs/PCSX2/PCSX2.ini @@ -296,7 +296,7 @@ Multitap2_Slot4_Filename = Mcd-Multitap2-Slot04.ps2 [Folders] -Bios = ~/retrodeck/bios/pcsx2 +Bios = ~/retrodeck/bios Snapshots = ~/retrodeck/screenshots SaveStates = ~/retrodeck/states MemoryCards = ~/retrodeck/saves/pcsx2 From 29a9d7f2cbf2e54be7ca26dc85a255d49996bcd1 Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Sat, 10 Sep 2022 17:47:53 +0200 Subject: [PATCH 032/124] WRAPPER: version string was not updated --- retrodeck.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/retrodeck.sh b/retrodeck.sh index adb5e4ed..61362ab3 100644 --- a/retrodeck.sh +++ b/retrodeck.sh @@ -216,6 +216,7 @@ ra_init() { create_lock() { # creating RetroDECK's lock file and writing the version in the config file + version=$hard_version touch "$lockfile" conf_write } @@ -493,7 +494,7 @@ then # ...but the version doesn't match with the config file if [ "$hard_version" != "$version" ]; then - echo "Config file's version is "$(cat "$version")" but the actual version is $hard_version" + echo "Config file's version is $version but the actual version is $hard_version" post_update # Executing post update script conf_write # Writing variables in the config file (sourced from global.sh) start_retrodeck From d361a12ec3579aa3d245cfad217394c5a2f2ab6a Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Sat, 10 Sep 2022 17:57:17 +0200 Subject: [PATCH 033/124] Pushed tools ection in the end --- es-configs/es_systems.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/es-configs/es_systems.xml b/es-configs/es_systems.xml index 78d392a7..dc76308e 100644 --- a/es-configs/es_systems.xml +++ b/es-configs/es_systems.xml @@ -1612,7 +1612,7 @@ <theme>zxspectrum</theme> </system> <system> - <name>tools</name> + <name>zzztools</name> <fullname>RetroDECK Tools</fullname> <path>/var/config/retrodeck/tools</path> <extension>.sh .SH</extension> From 1fb8263039344522a3f4091444e1893874af2c8b Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Sat, 10 Sep 2022 18:47:14 +0200 Subject: [PATCH 034/124] Pushed tools ection in the end (without cemu) --- net.retrodeck.retrodeck.yml | 118 ++++++++++++++++++------------------ 1 file changed, 59 insertions(+), 59 deletions(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index cc7244b1..9def52cc 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -1316,65 +1316,65 @@ modules: # temporary here: https://github.com/Eonfge/flathub/blob/8bb2905b0fefdff820a2b65dac2a7cde916d3ce5/info.cemu.Cemu.yaml # Needed for imgui - - name: glad - buildsystem: cmake-ninja - config-opts: - - -DCMAKE_BUILD_TYPE=RelWithDebInfo - - -DBUILD_SHARED_LIBS=true - - -DGLAD_REPRODUCIBLE=true - - -DGLAD_INSTALL=true - sources: - - type: archive - url: https://github.com/Dav1dde/glad/archive/refs/tags/v0.1.36.tar.gz - sha256: 8470ed1b0e9fbe88e10c34770505c8a1dc8ccb78cadcf673331aaf5224f963d2 - - # Needed for imgui - - name: glfw - buildsystem: cmake-ninja - builddir: true - config-opts: - - -DBUILD_SHARED_LIBS=ON - - -DGLFW_BUILD_EXAMPLES=OFF - - -DGLFW_BUILD_TESTS=OFF - - -DGLFW_BUILD_DOCS=OFF - sources: - - type: archive - url: https://github.com/glfw/glfw/releases/download/3.3.2/glfw-3.3.2.zip - sha256: 08a33a512f29d7dbf78eab39bd7858576adcc95228c9efe8e4bc5f0f3261efc7 - cleanup: - - /include - - /lib/pkgconfig - - - name: imgui - buildsystem: cmake - sources: - - type: archive - url: https://github.com/ocornut/imgui/archive/refs/tags/v1.88.zip - sha256: 81087a74599e5890a07b636887cee73a7dc1a9eb9e1f19a4a0d82a76090bf4c2 - - type: file - path: imguiCMakeLists.txt - dest-filename: CMakeLists.txt - - - name: Cemu - buildsystem: cmake-ninja - builddir: true - config-opts: - - -DENABLE_VCPKG=false - - -DCMAKE_BUILD_TYPE=release - - -DCMAKE_C_COMPILER=/usr/bin/gcc - - -DCMAKE_CXX_COMPILER=/usr/bin/g++ - - -G Ninja - - -DCMAKE_MAKE_PROGRAM=/usr/bin/ninja - sources: - - type: git - url: https://github.com/cemu-project/Cemu - commit: d8da8a54a6c08296a884b892d714cabcb7e4bdb5 - cleanup: - - /app/include - - /app/lib/*.a - - /app/lib/*.la - - /app/lib/pkgconfig - +# - name: glad +# buildsystem: cmake-ninja +# config-opts: +# - -DCMAKE_BUILD_TYPE=RelWithDebInfo +# - -DBUILD_SHARED_LIBS=true +# - -DGLAD_REPRODUCIBLE=true +# - -DGLAD_INSTALL=true +# sources: +# - type: archive +# url: https://github.com/Dav1dde/glad/archive/refs/tags/v0.1.36.tar.gz +# sha256: 8470ed1b0e9fbe88e10c34770505c8a1dc8ccb78cadcf673331aaf5224f963d2 +# +# # Needed for imgui +# - name: glfw +# buildsystem: cmake-ninja +# builddir: true +# config-opts: +# - -DBUILD_SHARED_LIBS=ON +# - -DGLFW_BUILD_EXAMPLES=OFF +# - -DGLFW_BUILD_TESTS=OFF +# - -DGLFW_BUILD_DOCS=OFF +# sources: +# - type: archive +# url: https://github.com/glfw/glfw/releases/download/3.3.2/glfw-3.3.2.zip +# sha256: 08a33a512f29d7dbf78eab39bd7858576adcc95228c9efe8e4bc5f0f3261efc7 +# cleanup: +# - /include +# - /lib/pkgconfig +# +# - name: imgui +# buildsystem: cmake +# sources: +# - type: archive +# url: https://github.com/ocornut/imgui/archive/refs/tags/v1.88.zip +# sha256: 81087a74599e5890a07b636887cee73a7dc1a9eb9e1f19a4a0d82a76090bf4c2 +# - type: file +# path: imguiCMakeLists.txt +# dest-filename: CMakeLists.txt +# +# - name: Cemu +# buildsystem: cmake-ninja +# builddir: true +# config-opts: +# - -DENABLE_VCPKG=false +# - -DCMAKE_BUILD_TYPE=release +# - -DCMAKE_C_COMPILER=/usr/bin/gcc +# - -DCMAKE_CXX_COMPILER=/usr/bin/g++ +# - -G Ninja +# - -DCMAKE_MAKE_PROGRAM=/usr/bin/ninja +# sources: +# - type: git +# url: https://github.com/cemu-project/Cemu +# commit: d8da8a54a6c08296a884b892d714cabcb7e4bdb5 +# cleanup: +# - /app/include +# - /app/lib/*.a +# - /app/lib/*.la +# - /app/lib/pkgconfig +# # CEMU - END # External manifests end From fc551002cc3a0fb325b0901d1c925d8dd791758c Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Sat, 10 Sep 2022 20:15:02 +0200 Subject: [PATCH 035/124] PCSX2: fixed savefolder path --- emu-configs/PCSX2/PCSX2.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/emu-configs/PCSX2/PCSX2.ini b/emu-configs/PCSX2/PCSX2.ini index 1cd87ed8..ba358450 100644 --- a/emu-configs/PCSX2/PCSX2.ini +++ b/emu-configs/PCSX2/PCSX2.ini @@ -299,7 +299,7 @@ Multitap2_Slot4_Filename = Mcd-Multitap2-Slot04.ps2 Bios = ~/retrodeck/bios Snapshots = ~/retrodeck/screenshots SaveStates = ~/retrodeck/states -MemoryCards = ~/retrodeck/saves/pcsx2 +MemoryCards = ~/retrodeck/saves/ps2 Logs = logs Cheats = cheats CheatsWS = cheats_ws From 9e89dba63b3c533cf927fea08384c153e686bea9 Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Sat, 10 Sep 2022 20:17:49 +0200 Subject: [PATCH 036/124] Dolphin: changed saves path --- emu-configs/dolphin/Dolphin.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/emu-configs/dolphin/Dolphin.ini b/emu-configs/dolphin/Dolphin.ini index a6f1c2ea..26926c3f 100644 --- a/emu-configs/dolphin/Dolphin.ini +++ b/emu-configs/dolphin/Dolphin.ini @@ -30,7 +30,7 @@ Rom2 = Rom3 = Rom4 = SavesInRomPath = False -SavesPath = ~/retrodeck/saves +SavesPath = ~/retrodeck/saves/gba Threads = True [General] ISOPath0 = ~/retrodeck/roms/wii From 3966549f7a348e1726c7a7d93f30b111186d8eeb Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Sat, 10 Sep 2022 20:27:39 +0200 Subject: [PATCH 037/124] Redirected saves and states folders for the standalone emulators --- emu-configs/PCSX2/PCSX2.ini | 4 ++-- emu-configs/PCSX2/PCSX2_ui.ini | 8 ++++---- emu-configs/citra-qt-config.ini | 4 ++-- emu-configs/dolphin/Dolphin.ini | 2 +- emu-configs/melonDS.ini | 4 ++-- emu-configs/xemu.toml | 2 +- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/emu-configs/PCSX2/PCSX2.ini b/emu-configs/PCSX2/PCSX2.ini index ba358450..32b0c443 100644 --- a/emu-configs/PCSX2/PCSX2.ini +++ b/emu-configs/PCSX2/PCSX2.ini @@ -298,8 +298,8 @@ Multitap2_Slot4_Filename = Mcd-Multitap2-Slot04.ps2 [Folders] Bios = ~/retrodeck/bios Snapshots = ~/retrodeck/screenshots -SaveStates = ~/retrodeck/states -MemoryCards = ~/retrodeck/saves/ps2 +SaveStates = ~/retrodeck/states/ps2/pcsx2 +MemoryCards = ~/retrodeck/saves/ps2/pcsx2/memcards Logs = logs Cheats = cheats CheatsWS = cheats_ws diff --git a/emu-configs/PCSX2/PCSX2_ui.ini b/emu-configs/PCSX2/PCSX2_ui.ini index 72e94628..14214053 100644 --- a/emu-configs/PCSX2/PCSX2_ui.ini +++ b/emu-configs/PCSX2/PCSX2_ui.ini @@ -41,10 +41,10 @@ UseDefaultCheats=enabled UseDefaultCheatsWS=enabled UseDefaultTextures=enabled Bios=~/retrodeck/roms/bios -Snapshots=/var/config/PCSX2/snaps -Savestates=/var/config/PCSX2/sstates -MemoryCards=/var/config/PCSX2/memcards -Logs=/var/config/PCSX2/logs +Snapshots=~/retrodeck/screenshots +Savestates=~/retrodeck/states/ps2/pcsx2 +MemoryCards=~/retrodeck/saves/ps2/memcards +Logs=~/retrodeck/.logs Langs=/app/share/PCSX2/resources/locale Cheats=/var/config/PCSX2/cheats CheatsWS=/var/config/PCSX2/cheats_ws diff --git a/emu-configs/citra-qt-config.ini b/emu-configs/citra-qt-config.ini index a6a37549..3cd0a0cb 100644 --- a/emu-configs/citra-qt-config.ini +++ b/emu-configs/citra-qt-config.ini @@ -106,9 +106,9 @@ use_cpu_jit=true use_cpu_jit\default=true [Data%20Storage] -nand_directory=~/retrodeck/saves/Citra/nand/ +nand_directory=~/retrodeck/saves/n3ds/citra/nand/ nand_directory\default=false -sdmc_directory=~/retrodeck/saves/Citra/sdmc/ +sdmc_directory=~/retrodeck/saves/n3ds/citra/sdmc/ sdmc_directory\default=false use_virtual_sd=true use_virtual_sd\default=true diff --git a/emu-configs/dolphin/Dolphin.ini b/emu-configs/dolphin/Dolphin.ini index 26926c3f..59737d0f 100644 --- a/emu-configs/dolphin/Dolphin.ini +++ b/emu-configs/dolphin/Dolphin.ini @@ -36,7 +36,7 @@ Threads = True ISOPath0 = ~/retrodeck/roms/wii ISOPath1 = ~/retrodeck/roms/gc ISOPaths = 2 -WiiSDCardPath = ~/retrodeck/saves/sd.raw +WiiSDCardPath = ~/retrodeck/saves/wii/dolphin/sd.raw WirelessMac = 00:17:ab:83:9b:d4 HotkeysRequireFocus = True RecursiveISOPaths = True diff --git a/emu-configs/melonDS.ini b/emu-configs/melonDS.ini index d64acf91..b1443132 100644 --- a/emu-configs/melonDS.ini +++ b/emu-configs/melonDS.ini @@ -123,8 +123,8 @@ RecentROM_6= RecentROM_7= RecentROM_8= RecentROM_9= -SaveFilePath=~/retrodeck/saves -SavestatePath=~/retrodeck/states +SaveFilePath=~/retrodeck/saves/nds/melonds +SavestatePath=~/retrodeck/states/nds/melonds CheatFilePath= EnableCheats=0 MouseHide=0 diff --git a/emu-configs/xemu.toml b/emu-configs/xemu.toml index 7e804f0e..1c119bd3 100644 --- a/emu-configs/xemu.toml +++ b/emu-configs/xemu.toml @@ -25,6 +25,6 @@ mem_limit = '128' [sys.files] bootrom_path = '/home/deck/retrodeck/bios/mcpx_1.0.bin' flashrom_path = '/home/deck/retrodeck/bios/Complex.bin' -eeprom_path = '/home/deck/retrodeck/saves/xbox-eeprom.bin' +eeprom_path = '/home/deck/retrodeck/saves/xbox/xemu/xbox-eeprom.bin' hdd_path = '/home/deck/retrodeck/bios/xbox_hdd.qcow2' From 8607036f73c4db18e1f3072243578a6cacd58b59 Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Sat, 10 Sep 2022 20:45:35 +0200 Subject: [PATCH 038/124] DOLPHIN: fixed paths --- retrodeck.sh | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/retrodeck.sh b/retrodeck.sh index 61362ab3..43b5d3f5 100644 --- a/retrodeck.sh +++ b/retrodeck.sh @@ -91,6 +91,12 @@ standalones_init() { mkdir -pv /var/config/dolphin-emu/ cp -fvr "$emuconfigs/dolphin/"* /var/config/dolphin-emu/ sed -i 's#~/retrodeck#'$rdhome'#g' /var/config/dolphin-emu/Dolphin.ini + dir_prep "$rdhome/saves/gc/dolphin/EUR" "/var/data/dolphin-emu/GC/EUR" + dir_prep "$rdhome/saves/gc/dolphin/USA" "/var/data/dolphin-emu/GC/USA" + dir_prep "$rdhome/saves/gc/dolphin/JAP" "/var/data/dolphin-emu/GC/JAP" + dir_prep "$rdhome/screenshots" "/var/data/dolphin-emu/ScreenShots" + dir_prep "$rdhome/states" "/var/data/dolphin-emu/StateSaves" + dir_prep "$rdhome/saves/wii/dolphin" "/var/data/dolphin-emu/Wii/" # pcsx2 echo "----------------------" From ca28b6cf3b2fcd4234f4aadfa4f14dd355c920d2 Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Sun, 11 Sep 2022 11:25:31 +0200 Subject: [PATCH 039/124] Updated 0.5.0b version notes --- net.retrodeck.retrodeck.appdata.xml | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/net.retrodeck.retrodeck.appdata.xml b/net.retrodeck.retrodeck.appdata.xml index 6f83a9d0..7f60ff52 100644 --- a/net.retrodeck.retrodeck.appdata.xml +++ b/net.retrodeck.retrodeck.appdata.xml @@ -66,10 +66,18 @@ <url>https://github.com/XargonWan/RetroDECK/releases/tag/0.5.5b</url> <description> <ul> - <li>Theme revamp!</li> + <li>IMPORTANT: Started saves migration, the saves are being moved to retrodeck/saves/systemname/emulator, so if the emulator cannot load your saves you have to move them to the new path</li> + <li>Theme revamp and more themes available such as the old one</li> <li>Updated RetroArch and its cores from 1.10.2 to 1.10.3</li> - <li>Added a tool to clean up the scraped data in order to make it compatible with the new Art-Book, it's suggested to run it</li> + <li>Updated all the standalone emulators to their latrest releases</li> + <li>Updated ES-DE to the 1.2.6</li> + <li>Removed the unavailable emualtors fom the ES-DE list to avoid confusion</li> + <li>Updated XEMU configurations and added its (free) assets</li> + <li>Added assets for RetroArch, PPSSPP and BlueMSX (libretro)</li> + <li>New emulator: PCSX2-QT, it's now the default PS2 emulator. Former PCSX2 emulator is now callerd PCSX2 (Legacy).</li> + <li>New emualtor: Duckstation for PSX.</li> <li>New varialbes system: now some variables such as game folder location are saved in /app/retrodeck/retrodeck.cfg.</li> + <li>Solved an issue where Dolphin (Standalone) was not save in the intended riectories.</li> </ul> </description> From d6e149c92d272fdc3c358804b1f62ff43b607e13 Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Sun, 11 Sep 2022 11:27:02 +0200 Subject: [PATCH 040/124] Updated 0.5.0b version notes --- net.retrodeck.retrodeck.appdata.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/net.retrodeck.retrodeck.appdata.xml b/net.retrodeck.retrodeck.appdata.xml index 7f60ff52..c2790b28 100644 --- a/net.retrodeck.retrodeck.appdata.xml +++ b/net.retrodeck.retrodeck.appdata.xml @@ -68,6 +68,7 @@ <ul> <li>IMPORTANT: Started saves migration, the saves are being moved to retrodeck/saves/systemname/emulator, so if the emulator cannot load your saves you have to move them to the new path</li> <li>Theme revamp and more themes available such as the old one</li> + <li>A custom ROMs folder can be now selected during the first setup.</li> <li>Updated RetroArch and its cores from 1.10.2 to 1.10.3</li> <li>Updated all the standalone emulators to their latrest releases</li> <li>Updated ES-DE to the 1.2.6</li> From 20115e634b19f7914e3f4efd0dac034da2caae35 Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Sun, 11 Sep 2022 22:03:45 +0200 Subject: [PATCH 041/124] DOLPHIN-SA: is now the default emulator for GC and Wii --- es-configs/es_systems.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/es-configs/es_systems.xml b/es-configs/es_systems.xml index dc76308e..2862719f 100644 --- a/es-configs/es_systems.xml +++ b/es-configs/es_systems.xml @@ -563,8 +563,8 @@ <fullname>Nintendo GameCube</fullname> <path>%ROMPATH%/gc</path> <extension>.gcm .GCM .iso .ISO .wbfs .WBFS .wia .WIA .ciso .CISO .gcz .GCZ .elf .ELF .dol .DOL .dff .DFF .json .JSON .rvz .RVZ .tgc .TGC .wad .WAD .m3u .M3U .7z .7Z .zip .ZIP</extension> - <command label="Dolphin">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/dolphin_libretro.so %ROM%</command> <command label="Dolphin (Standalone)">%EMULATOR_DOLPHIN% -b -e %ROM%</command> + <command label="Dolphin">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/dolphin_libretro.so %ROM%</command> <!-- <command label="PrimeHack (Standalone)">%EMULATOR_PRIMEHACK% -b -e %ROM%</command> --> <platform>gc</platform> <theme>gc</theme> @@ -1512,8 +1512,8 @@ <fullname>Nintendo Wii</fullname> <path>%ROMPATH%/wii</path> <extension>.gcm .GCM .iso .ISO .wbfs .WBFS .wia .WIA .ciso .CISO .gcz .GCZ .elf .ELF .dol .DOL .dff .DFF .json .JSON .rvz .RVZ .tgc .TGC .wad .WAD .m3u .M3U .7z .7Z .zip .ZIP</extension> - <command label="Dolphin">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/dolphin_libretro.so %ROM%</command> <command label="Dolphin (Standalone)">%EMULATOR_DOLPHIN% -b -e %ROM%</command> + <command label="Dolphin">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/dolphin_libretro.so %ROM%</command> <!-- <command label="PrimeHack (Standalone)">%EMULATOR_PRIMEHACK% -b -e %ROM%</command> --> <platform>wii</platform> <theme>wii</theme> From ccc76b948c5d4ea9674d9e86950af13ea668b394 Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Sun, 11 Sep 2022 22:34:51 +0200 Subject: [PATCH 042/124] Updated CPC core overrides --- emu-configs/retroarch-core-options.cfg | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/emu-configs/retroarch-core-options.cfg b/emu-configs/retroarch-core-options.cfg index 4656d63a..3ef89aa7 100644 --- a/emu-configs/retroarch-core-options.cfg +++ b/emu-configs/retroarch-core-options.cfg @@ -44,6 +44,20 @@ beetle_psx_skip_bios = "disabled" beetle_psx_use_mednafen_memcard0_method = "libretro" beetle_psx_widescreen_hack = "disabled" beetle_psx_widescreen_hack_aspect_ratio = "16:9" +cap32_advanced_green_phosphor = "15" +cap32_autorun = "enabled" +cap32_combokey = "y" +cap32_db_mapkeys = "enabled" +cap32_floppy_sound = "enabled" +cap32_gfx_colors = "24bit" +cap32_lang_layout = "english" +cap32_model = "6128" +cap32_ram = "128" +cap32_retrojoy0 = "auto" +cap32_retrojoy1 = "auto" +cap32_scr_intensity = "8" +cap32_scr_tube = "color" +cap32_statusbar = "onloading" citra_analog_function = "C-Stick and Touchscreen Pointer" citra_custom_textures = "disabled" citra_deadzone = "15" From 3dc03fa49917faf6bc13a6663252c02771d49989 Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Sun, 11 Sep 2022 22:55:00 +0200 Subject: [PATCH 043/124] Initialized savefolders --- retrodeck.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/retrodeck.sh b/retrodeck.sh index 43b5d3f5..9935d743 100644 --- a/retrodeck.sh +++ b/retrodeck.sh @@ -103,6 +103,7 @@ standalones_init() { echo "Initializing PCSX2" echo "----------------------" mkdir -pv /var/config/PCSX2/inis/ + mkdir -pv "$rdhome/saves/ps2/pcsx2/memcards" cp -fvr $emuconfigs/PCSX2/* /var/config/PCSX2/inis/ sed -i 's#~/retrodeck#'$rdhome'#g' /var/config/PCSX2/inis/PCSX2_ui.ini sed -i 's#~/retrodeck#'$rdhome'#g' /var/config/PCSX2/inis/PCSX2.ini @@ -116,6 +117,8 @@ standalones_init() { echo "Initializing MELONDS" echo "----------------------" mkdir -pv /var/config/melonDS/ + mkdir -pv "$rdhome/saves/nds/melonds" + mkdir -pv "$rdhome/states/nds/melonds" dir_prep "$rdhome/bios" "/var/config/melonDS/bios" cp -fvr $emuconfigs/melonDS.ini /var/config/melonDS/ # Replace ~/retrodeck with $rdhome as ~ cannot be understood by MelonDS @@ -126,6 +129,8 @@ standalones_init() { echo "Initializing CITRA" echo "------------------------" mkdir -pv /var/config/citra-emu/ + mkdir -pv "$rdhome/saves/n3ds/citra/nand/" + mkdir -pv "$rdhome/saves/n3ds/citra/sdmc/" cp -fv $emuconfigs/citra-qt-config.ini /var/config/citra-emu/qt-config.ini sed -i 's#~/retrodeck#'$rdhome'#g' /var/config/citra-emu/qt-config.ini #TODO: do the same with roms folders after new variables is pushed (check even the others qt-emu) From 7922100d1775874ab05eb36d2c488e17a55ec3bb Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Sun, 11 Sep 2022 23:00:59 +0200 Subject: [PATCH 044/124] PCSX2: config tweaked --- emu-configs/PCSX2/PCSX2.ini | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/emu-configs/PCSX2/PCSX2.ini b/emu-configs/PCSX2/PCSX2.ini index 32b0c443..e99a089c 100644 --- a/emu-configs/PCSX2/PCSX2.ini +++ b/emu-configs/PCSX2/PCSX2.ini @@ -139,7 +139,7 @@ LoadTextureReplacements = false LoadTextureReplacementsAsync = true PrecacheTextureReplacements = false deinterlace = 7 -OsdScale = 100 +OsdScale = 250 Renderer = -1 upscale_multiplier = 1 mipmap_hw = -1 @@ -336,6 +336,7 @@ TogglePause = SDL-0/Back & SDL-0/B ToggleSlowMotion = Keyboard/Shift & Keyboard/Backtab ToggleTurbo = Keyboard/Tab HoldTurbo = Keyboard/L +ShutdownVM = SDL-0/Start & SDL-0/Back [Pad] @@ -354,7 +355,7 @@ AxisScale = 1.330000 LargeMotorScale = 1.000000 SmallMotorScale = 1.000000 PressureModifier = 0.500000 -Up = SDL-0/-RightY +Up = SDL-0/DPadUp Right = SDL-0/DPadRight Down = SDL-0/DPadDown Left = SDL-0/DPadLeft @@ -446,4 +447,4 @@ PressureModifier = 0.500000 [GameList] -RecursivePaths = ~/retrodeck/roms/ps2 +RecursivePaths = ~/retrodeck/roms/ps2 \ No newline at end of file From ab7b121fa0d810e2e72a3931f6a38be20839ad73 Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Sun, 11 Sep 2022 23:04:04 +0200 Subject: [PATCH 045/124] PCSX2: fixed bios folder --- retrodeck.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/retrodeck.sh b/retrodeck.sh index 9935d743..85b4347c 100644 --- a/retrodeck.sh +++ b/retrodeck.sh @@ -110,7 +110,7 @@ standalones_init() { dir_prep "$rdhome/states" "/var/config/PCSX2/sstates" dir_prep "$rdhome/screenshots" "/var/config/PCSX2/snaps" dir_prep "$rdhome/.logs" "/var/config/PCSX2/logs" - dir_prep "$rdhome/bios" "$rdhome/bios/pcsx2/bios" + dir_prep "$rdhome/bios" "$rdhome/bios/pcsx2" # MelonDS echo "----------------------" From 77388827a0c11ffa70cda04d05469775dcc6022c Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Sun, 11 Sep 2022 23:07:12 +0200 Subject: [PATCH 046/124] HIdden Ryujinx as it`s still not buildable --- es-configs/es_systems.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/es-configs/es_systems.xml b/es-configs/es_systems.xml index 2862719f..4991cd56 100644 --- a/es-configs/es_systems.xml +++ b/es-configs/es_systems.xml @@ -1375,7 +1375,7 @@ <path>%ROMPATH%/switch</path> <extension>.nca .NCA .nro .NRO .nso .NSO .nsp .NSP .xci .XCI .7z .7Z .zip .ZIP</extension> <command label="Yuzu (Standalone)">%EMULATOR_YUZU% -f -g %ROM%</command> - <command label="Ryujinx (Standalone)">%EMULATOR_RYUJINX% %ROM%</command> + <!-- <command label="Ryujinx (Standalone)">%EMULATOR_RYUJINX% %ROM%</command> --> <platform>switch</platform> <theme>switch</theme> </system> From 798c8cf13213f9ffc4181aba1e0dfc037206facf Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Sun, 11 Sep 2022 23:41:51 +0200 Subject: [PATCH 047/124] Started to populate the logs folder --- retrodeck.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/retrodeck.sh b/retrodeck.sh index 85b4347c..1c652e78 100644 --- a/retrodeck.sh +++ b/retrodeck.sh @@ -79,6 +79,7 @@ standalones_init() { # initializing the firmware folder dir_prep "$rdhome/bios/switch/registered" "/var/data/yuzu/nand/system/Contents/registered" # configuring Yuzu + dir_prep "$rdhome/.logs/yuzu" "/var/data/yuzu/log" mkdir -pv /var/config/yuzu/ cp -fvr $emuconfigs/yuzu/* /var/config/yuzu/ sed -i 's#~/retrodeck#'$rdhome'#g' /var/config/yuzu/qt-config.ini @@ -131,6 +132,7 @@ standalones_init() { mkdir -pv /var/config/citra-emu/ mkdir -pv "$rdhome/saves/n3ds/citra/nand/" mkdir -pv "$rdhome/saves/n3ds/citra/sdmc/" + dir_prep "$rdhome/.logs/citra" "/var/data/citra-emu/log" cp -fv $emuconfigs/citra-qt-config.ini /var/config/citra-emu/qt-config.ini sed -i 's#~/retrodeck#'$rdhome'#g' /var/config/citra-emu/qt-config.ini #TODO: do the same with roms folders after new variables is pushed (check even the others qt-emu) @@ -183,6 +185,7 @@ standalones_init() { ra_init() { dir_prep "$rdhome/bios" "/var/config/retroarch/system" + dir_prep "$rdhome/.logs/retroarch" "/var/config/retroarch/logs" mkdir -pv /var/config/retroarch/cores/ cp /app/share/libretro/cores/* /var/config/retroarch/cores/ cp -fv $emuconfigs/retroarch.cfg /var/config/retroarch/ @@ -252,6 +255,7 @@ post_update() { dir_prep "$media_folder" "/var/config/emulationstation/.emulationstation/downloaded_media" dir_prep "$themes_folder" "/var/config/emulationstation/.emulationstation/themes" mkdir -pv $rdhome/.logs #this was added later, maybe safe to remove in a few versions + # Resetting es_systems, now we need it but in the future I should think a better solution, maybe with sed cp -fv /app/retrodeck/es_settings.xml /var/config/emulationstation/.emulationstation/es_settings.xml From f9b3f729abc147724b6810fa926c93258c661e91 Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Tue, 13 Sep 2022 13:22:13 +0200 Subject: [PATCH 048/124] SWANSTATION: graduated --- emu-configs/retroarch-core-options.cfg | 104 +++++++++++++++++++++++++ es-configs/es_systems.xml | 2 +- 2 files changed, 105 insertions(+), 1 deletion(-) diff --git a/emu-configs/retroarch-core-options.cfg b/emu-configs/retroarch-core-options.cfg index 3ef89aa7..6be315ae 100644 --- a/emu-configs/retroarch-core-options.cfg +++ b/emu-configs/retroarch-core-options.cfg @@ -159,6 +159,110 @@ dolphin_wait_for_shaders = "disabled" dolphin_widescreen = "enabled" dolphin_widescreen_hack = "disabled" dolphin_wiimote_continuous_scanning = "disabled" +duckstation_BIOS.PatchFastBoot = "true" +duckstation_BIOS.PathNTSCJ = "scph5500.bin" +duckstation_BIOS.PathNTSCU = "scph5501.bin" +duckstation_BIOS.PathPAL = "scph5502.bin" +duckstation_CDROM.LoadImagePatches = "false" +duckstation_CDROM.LoadImageToRAM = "false" +duckstation_CDROM.MuteCDAudio = "false" +duckstation_CDROM.PreCacheCHD = "false" +duckstation_CDROM.ReadaheadSectors = "8" +duckstation_CDROM.ReadSpeedup = "1" +duckstation_CDROM.ReadThread = "true" +duckstation_CDROM.RegionCheck = "false" +duckstation_CDROM.SeekSpeedup = "1" +duckstation_Console.Enable8MBRAM = "false" +duckstation_Console.Region = "Auto" +duckstation_Controller1.AnalogDPadInDigitalMode = "true" +duckstation_Controller1.AxisScale = "1.00f" +duckstation_Controller1.ForceAnalogOnReset = "false" +duckstation_Controller1.SteeringDeadzone = "0.10" +duckstation_Controller1.TwistResponse = "linear" +duckstation_Controller1.VibrationBias = "8" +duckstation_Controller1.XScale = "1.00" +duckstation_Controller2.AnalogDPadInDigitalMode = "true" +duckstation_Controller2.AxisScale = "1.00f" +duckstation_Controller2.ForceAnalogOnReset = "false" +duckstation_Controller2.SteeringDeadzone = "0.00" +duckstation_Controller2.TwistResponse = "linear" +duckstation_Controller2.VibrationBias = "8" +duckstation_Controller2.XScale = "1.00" +duckstation_Controller3.AnalogDPadInDigitalMode = "true" +duckstation_Controller3.AxisScale = "1.00f" +duckstation_Controller3.ForceAnalogOnReset = "false" +duckstation_Controller3.SteeringDeadzone = "0.10" +duckstation_Controller3.TwistResponse = "linear" +duckstation_Controller3.VibrationBias = "8" +duckstation_Controller4.AnalogDPadInDigitalMode = "true" +duckstation_Controller4.AxisScale = "1.00f" +duckstation_Controller4.ForceAnalogOnReset = "false" +duckstation_Controller4.SteeringDeadzone = "0.10" +duckstation_Controller4.TwistResponse = "linear" +duckstation_Controller4.VibrationBias = "8" +duckstation_Controller5.AnalogDPadInDigitalMode = "true" +duckstation_Controller5.AxisScale = "1.00f" +duckstation_Controller5.ForceAnalogOnReset = "false" +duckstation_Controller5.VibrationBias = "8" +duckstation_Controller6.AnalogDPadInDigitalMode = "true" +duckstation_Controller6.AxisScale = "1.00f" +duckstation_Controller6.ForceAnalogOnReset = "false" +duckstation_Controller6.VibrationBias = "8" +duckstation_Controller7.AnalogDPadInDigitalMode = "true" +duckstation_Controller7.AxisScale = "1.00f" +duckstation_Controller7.ForceAnalogOnReset = "false" +duckstation_Controller7.VibrationBias = "8" +duckstation_Controller8.AnalogDPadInDigitalMode = "true" +duckstation_Controller8.AxisScale = "1.00f" +duckstation_Controller8.ForceAnalogOnReset = "false" +duckstation_Controller8.VibrationBias = "8" +duckstation_ControllerPorts.MultitapMode = "Disabled" +duckstation_CPU.ExecutionMode = "Recompiler" +duckstation_CPU.FastmemMode = "MMap" +duckstation_CPU.FastmemRewrite = "false" +duckstation_CPU.Overclock = "100" +duckstation_CPU.RecompilerBlockLinking = "true" +duckstation_CPU.RecompilerICache = "false" +duckstation_Display.ActiveEndOffset = "0" +duckstation_Display.ActiveStartOffset = "0" +duckstation_Display.AspectRatio = "Auto" +duckstation_Display.CropMode = "Borders" +duckstation_Display.CustomAspectRatioDenominator = "3" +duckstation_Display.CustomAspectRatioNumerator = "4" +duckstation_Display.Force4_3For24Bit = "false" +duckstation_Display.LineEndOffset = "0" +duckstation_Display.LineStartOffset = "0" +duckstation_Display.ShowOSDMessages = "true" +duckstation_GPU.ChromaSmoothing24Bit = "false" +duckstation_GPU.DisableInterlacing = "true" +duckstation_GPU.DownsampleMode = "Disabled" +duckstation_GPU.ForceNTSCTimings = "false" +duckstation_GPU.MSAA = "4" +duckstation_GPU.PGXPCPU = "false" +duckstation_GPU.PGXPCulling = "true" +duckstation_GPU.PGXPDepthBuffer = "false" +duckstation_GPU.PGXPEnable = "true" +duckstation_GPU.PGXPPreserveProjFP = "false" +duckstation_GPU.PGXPTextureCorrection = "true" +duckstation_GPU.PGXPTolerance = "-1.0" +duckstation_GPU.PGXPVertexCache = "false" +duckstation_GPU.Renderer = "Vulkan" +duckstation_GPU.ResolutionScale = "3" +duckstation_GPU.ScaledDithering = "true" +duckstation_GPU.TextureFilter = "Bilinear" +duckstation_GPU.TrueColor = "false" +duckstation_GPU.UseSoftwareRendererForReadbacks = "false" +duckstation_GPU.UseThread = "true" +duckstation_GPU.WidescreenHack = "false" +duckstation_Logging.LogLevel = "Info" +duckstation_Main.ApplyGameSettings = "true" +duckstation_Main.LoadDevicesFromSaveStates = "false" +duckstation_Main.RunaheadFrameCount = "0" +duckstation_MemoryCards.Card1Type = "Libretro" +duckstation_MemoryCards.Card2Type = "None" +duckstation_MemoryCards.UsePlaylistTitle = "true" +duckstation_TextureReplacements.EnableVRAMWriteReplacements = "false" +duckstation_TextureReplacements.PreloadTextures = "false" gambatte_audio_resampler = "sinc" gambatte_dark_filter_level = "0" gambatte_gb_bootloader = "enabled" diff --git a/es-configs/es_systems.xml b/es-configs/es_systems.xml index 4991cd56..4899e218 100644 --- a/es-configs/es_systems.xml +++ b/es-configs/es_systems.xml @@ -1123,10 +1123,10 @@ <fullname>Sony PlayStation</fullname> <path>%ROMPATH%/psx</path> <extension>.bin .BIN .cbn .CBN .ccd .CCD .chd .CHD .cue .CUE .ecm .ECM .exe .EXE .img .IMG .iso .ISO .m3u .M3U .mdf .MDF .mds .MDS .pbp .PBP .psexe .PSEXE .psf .PSF .toc .TOC .z .Z .znx .ZNX .7z .7Z .zip .ZIP</extension> + <command label="SwanStation">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/swanstation_libretro.so %ROM%</command> <command label="Beetle PSX">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_psx_libretro.so %ROM%</command> <command label="Beetle PSX HW">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/mednafen_psx_hw_libretro.so %ROM%</command> <command label="PCSX ReARMed">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/pcsx_rearmed_libretro.so %ROM%</command> - <command label="SwanStation">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/swanstation_libretro.so %ROM%</command> <command label="DuckStation (Standalone)">%EMULATOR_DUCKSTATION% -batch %ROM%</command> <!-- <command label="Mednafen (Standalone)">%EMULATOR_MEDNAFEN% -force_module psx %ROM%</command> --> <platform>psx</platform> From 503b7b896a29fab8fba78b726077a21af935585b Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Tue, 13 Sep 2022 13:30:13 +0200 Subject: [PATCH 049/124] PCSX2: Updated to 1.13.2 --- net.retrodeck.retrodeck.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 9def52cc..6b6ab2f5 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -1217,8 +1217,8 @@ modules: sources: - type: git url: https://github.com/hrydgard/ppsspp.git - tag: v1.12.3 - commit: ce0a45cf0fcdd5bebf32208b9998f68dfc1107b7 + tag: v1.13.2 + commit: 9fe6338e3bf397f8a009a51a282c139dfa180eb6 x-checker-data: type: git tag-pattern: ^v([\d.]+)$ From 8550d316079e9b0a45b49dcebdafb34e92575600 Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Tue, 13 Sep 2022 13:30:32 +0200 Subject: [PATCH 050/124] PPSSPP: updated to 1.13.2 --- net.retrodeck.retrodeck.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 6b6ab2f5..a12a3c00 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -1196,7 +1196,7 @@ modules: # PRIMEHACK - END - # PPSSPP - START + # PPSSPP - START # https://github.com/flathub/org.ppsspp.PPSSPP - name: ppsspp From b9d0ca9af7d6da09f6b9278c36ba059854cb6803 Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Tue, 13 Sep 2022 13:34:38 +0200 Subject: [PATCH 051/124] YUZU: updated to mainline-0-1163 --- net.retrodeck.retrodeck.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index a12a3c00..eb8d07da 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -550,8 +550,8 @@ modules: sources: - type: git url: https://github.com/yuzu-emu/yuzu-mainline.git - tag: mainline-0-1150 - commit: e5774ced75e1d19c5a42cac719f7de475a3630b3 + tag: mainline-0-1163 + commit: f0a6d73fe2cf94ddcef54516d261c21816cd48d1 disable-shallow-clone: true x-checker-data: type: git @@ -1196,7 +1196,7 @@ modules: # PRIMEHACK - END - # PPSSPP - START + # PPSSPP - START # https://github.com/flathub/org.ppsspp.PPSSPP - name: ppsspp From 3da8aa55d6b082806a14a408d63a45722288a3f7 Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Tue, 13 Sep 2022 13:38:23 +0200 Subject: [PATCH 052/124] CITRA: updated to nightly-1785 --- net.retrodeck.retrodeck.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index eb8d07da..4f86b759 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -613,12 +613,14 @@ modules: # # Ryujinx - END # CITRA - START + # https://github.com/flathub/org.citra_emu.citra - name: citra buildsystem: cmake-ninja builddir: true config-opts: - -DCMAKE_BUILD_TYPE=Release + - -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON - -DENABLE_QT_TRANSLATION=ON - -DCITRA_ENABLE_COMPATIBILITY_REPORTING=ON - -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON @@ -634,8 +636,8 @@ modules: sources: - type: git url: https://github.com/citra-emu/citra-nightly.git - tag: nightly-1772 - commit: 355933218d00603c910cd0a9daead0b1cd72a3c3 + tag: nightly-1785 + commit: baecc18d8c5365af0dddb231bc8c0a9c03850bf6 disable-shallow-clone: true x-checker-data: type: git From 432fc10f5d7d9ef708c80c7e5f12a033be0bcbd9 Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Tue, 13 Sep 2022 13:42:30 +0200 Subject: [PATCH 053/124] PCSX2-QT: Updated to v1.7.3304 --- net.retrodeck.retrodeck.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 4f86b759..e5c972cb 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -766,8 +766,8 @@ modules: sources: - type: git url: https://github.com/PCSX2/pcsx2.git - tag: v1.7.3229 - commit: e3eae7fbe83aad3952e3ed6a8e56fc016b51a9c3 + tag: v1.7.3301 + commit: f3f495d23b5fabe8c6e7278f046a3312898e6f04 # PCSX2 Flathub Workaround - START # This workaround disables the PCSX2 libraries (disable-submodules: true) and install them separately @@ -857,6 +857,7 @@ modules: # Inspired by: # https://github.com/flathub/com.zettlr.Zettlr/blob/master/com.zettlr.Zettlr.yaml + # https://pcsx2.net/downloads/ - name: pcsx2-qt-appimage buildsystem: simple @@ -869,8 +870,8 @@ modules: - ln -s "${FLATPAK_DEST}/pcsx2-qt/usr/bin/pcsx2-qt" "${FLATPAK_DEST}/bin/pcsx2-qt" sources: - type: file - url: https://github.com/PCSX2/pcsx2/releases/download/v1.7.3300/pcsx2-v1.7.3300-linux-AppImage-64bit-AVX2-Qt.AppImage - sha256: 2785b1290bcbff36f1bcea66d61322975b194a383836f805daafe46aade7ce0f + url: https://github.com/PCSX2/pcsx2/releases/download/v1.7.3304/pcsx2-v1.7.3304-linux-AppImage-64bit-AVX2-Qt.AppImage + sha256: 04e56b9e6113fefce7057b2dd19f0501b79d36f31c718406bda45204a2be121a # PCSX2 - END From 0597e2d93d51fa1fa537cfa563e7a676aafa92f4 Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Tue, 13 Sep 2022 13:44:51 +0200 Subject: [PATCH 054/124] XEMU: updated to v0.7.70 --- net.retrodeck.retrodeck.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index e5c972cb..ede3487e 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -1028,14 +1028,14 @@ modules: sources: - type: git url: https://github.com/mborgerson/xemu.git - tag: v0.7.58 - commit: 6f878ede01ad1992392dde22b506a3c00fab87c4 + tag: v0.7.70 + commit: 080022833db0896b8af4482e726200acd51507a0 x-checker-data: type: json url: https://api.github.com/repos/mborgerson/xemu/releases/latest tag-query: .tag_name - version-query: $tag | sub("^gh-release/"; "") timestamp-query: .published_at + version-query: .tag_name # XEMU - END From 84fe2f8b1dfd6b194da3b77e1aa0fda47233e12a Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Tue, 13 Sep 2022 13:49:30 +0200 Subject: [PATCH 055/124] RPCS3: Updated --- net.retrodeck.retrodeck.yml | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index ede3487e..e84213e0 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -914,8 +914,8 @@ modules: - -Ddocumentation=disabled sources: - type: archive - url: https://www.freedesktop.org/software/libevdev/libevdev-1.12.1.tar.xz - sha256: 1dbba41bc516d3ca7abc0da5b862efe3ea8a7018fa6e9b97ce9d39401b22426c + url: https://www.freedesktop.org/software/libevdev/libevdev-1.13.0.tar.xz + sha256: 9edf2006cc86a5055279647c38ec923d11a821ee4dc2c3033e8d20e8ee237cd9 x-checker-data: type: anitya project-id: 20540 @@ -1089,8 +1089,8 @@ modules: CXX: clang++ RANLIB: llvm-ranlib ldflags: -fuse-ld=lld - prepend-ld-library-path: /usr/lib/sdk/llvm13/lib - prepend-path: /usr/lib/sdk/llvm13/bin + prepend-ld-library-path: /usr/lib/sdk/llvm14/lib + prepend-path: /usr/lib/sdk/llvm14/bin config-opts: - -DCMAKE_BUILD_TYPE=Release - -DBUILD_SHARED_LIBS=OFF @@ -1114,7 +1114,7 @@ modules: sources: - type: git url: https://github.com/RPCS3/llvm-mirror.git - commit: 509d31ad89676522f7121b3bb8688f7d29b7ee60 + commit: c725f494c91611018f5d830eca22c0a1662c0f31 - type: git url: https://github.com/intel/ittapi.git dest: ittapi/ittapi @@ -1124,8 +1124,8 @@ modules: buildsystem: cmake-ninja builddir: true build-options: - append-ld-library-path: /usr/lib/sdk/llvm13/lib - append-path: /usr/lib/sdk/llvm13/bin + append-ld-library-path: /usr/lib/sdk/llvm14/lib + append-path: /usr/lib/sdk/llvm14/bin cflags: *optflags cflags-override: true cxxflags: *optflags @@ -1155,7 +1155,8 @@ modules: sources: - type: git url: https://github.com/RPCS3/rpcs3.git - commit: e9570d1a0045926f63ec8ea9af68f81743d4f365 + branch: master + commit: b9e20dc5c9d7776ff27923600da004a8a57bc132 # RPCS3 - END From 63cd9bc2712a4d3c474e349cfbc6205d9c0a0926 Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Tue, 13 Sep 2022 19:35:25 +0200 Subject: [PATCH 056/124] RPCS3: Updated --- net.retrodeck.retrodeck.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index e84213e0..6d91399e 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -1156,7 +1156,7 @@ modules: - type: git url: https://github.com/RPCS3/rpcs3.git branch: master - commit: b9e20dc5c9d7776ff27923600da004a8a57bc132 + commit: 2807be7080ab71d5c542a2bef7323f9b43f192e6 # RPCS3 - END From 22c3ff08dcf444751c52d8158908d2b269901076 Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Tue, 13 Sep 2022 22:47:12 +0200 Subject: [PATCH 057/124] PCSX2: legacy downgraded to v1.7.3229 as wasn't compiling --- net.retrodeck.retrodeck.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 6d91399e..98f4ebad 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -766,8 +766,8 @@ modules: sources: - type: git url: https://github.com/PCSX2/pcsx2.git - tag: v1.7.3301 - commit: f3f495d23b5fabe8c6e7278f046a3312898e6f04 + tag: v1.7.3229 + commit: e3eae7fbe83aad3952e3ed6a8e56fc016b51a9c3 # PCSX2 Flathub Workaround - START # This workaround disables the PCSX2 libraries (disable-submodules: true) and install them separately From 2a9fdc72d1e715b91542add71e735e30513a643f Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Wed, 14 Sep 2022 12:17:47 +0200 Subject: [PATCH 058/124] RPCS3: Updated llvm13 to llvm14 --- net.retrodeck.retrodeck.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 98f4ebad..dfe3cf40 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -4,7 +4,7 @@ runtime-version: 5.15-21.08 #runtime-version: 6.3 # bumped because of pcsx2-qt sdk: org.kde.Sdk sdk-extensions: - - org.freedesktop.Sdk.Extension.llvm13 # Needed for rpcs3 + - org.freedesktop.Sdk.Extension.llvm14 # Needed for rpcs3 - org.freedesktop.Sdk.Extension.dotnet6 # Needed for Ryujinx base: io.qt.qtwebengine.BaseApp # Needed for Yuzu base-version: 5.15-21.08 # Needed for Yuzu From 0ef7676ef73f0f70771e4041bca187dbf4b43da7 Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Fri, 16 Sep 2022 09:11:41 +0200 Subject: [PATCH 059/124] WRAPPER: bugfix --- retrodeck.sh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/retrodeck.sh b/retrodeck.sh index 1c652e78..960e949b 100644 --- a/retrodeck.sh +++ b/retrodeck.sh @@ -371,11 +371,10 @@ finit() { --title "RetroDECK" --cancel-label="Cancel" \ --ok-label "Browse" \ --text="SD Card was not find in the default location.\nPlease choose the SD Card root.\nA retrodeck/roms folder will be created starting from the directory that you selected." - browse + browse # Calling the browse function else roms_folder="$sdcard/retrodeck/roms" echo "ROMs folder = $roms_folder" - exit 0 fi ;; From 577264a16ace36920fb1af94a5855bc0e878d9bf Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Fri, 16 Sep 2022 09:21:16 +0200 Subject: [PATCH 060/124] Removed move roms tool to be added as CLI --- es-configs/tools-gamelist.xml | 4 ++-- tools/{move-roms.sh => move-roms.sh.disabled} | 0 2 files changed, 2 insertions(+), 2 deletions(-) rename tools/{move-roms.sh => move-roms.sh.disabled} (100%) diff --git a/es-configs/tools-gamelist.xml b/es-configs/tools-gamelist.xml index 3a838881..68f116fa 100644 --- a/es-configs/tools-gamelist.xml +++ b/es-configs/tools-gamelist.xml @@ -70,14 +70,14 @@ <nogamecount>true</nogamecount> <nomultiscrape>true</nomultiscrape> </game> - <game> +<!-- <game> <path>./move-roms.sh</path> <name>Move roms folder</name> <desc>Move roms folder from internal to external and vice versa.</desc> <nogamecount>true</nogamecount> <nomultiscrape>true</nomultiscrape> </game> -<!-- <game> + <game> <path>./overlays.sh</path> <name>Overlays configuration</name> <desc>Configure or disable borders and shaders.</desc> diff --git a/tools/move-roms.sh b/tools/move-roms.sh.disabled similarity index 100% rename from tools/move-roms.sh rename to tools/move-roms.sh.disabled From 2dddf4359b0bf88396baaf93ae0a2a04600bc694 Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Fri, 16 Sep 2022 20:26:44 +0200 Subject: [PATCH 061/124] PPSSPP: maybe moving this up is fixing yuzu on flathub --- net.retrodeck.retrodeck.yml | 174 ++++++++++++++++++------------------ 1 file changed, 87 insertions(+), 87 deletions(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index dfe3cf40..9f4912ad 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -401,6 +401,93 @@ modules: url: https://buildbot.libretro.com/stable/1.10.3/linux/x86_64/RetroArch_cores.7z sha256: 33abf39839687f8faba202ed5dcf3a54c06266a49fad35f0521fa445523d009f + # PPSSPP - START + # https://github.com/flathub/org.ppsspp.PPSSPP + + - name: ppsspp + buildsystem: cmake-ninja + config-opts: + - -DUSE_SYSTEM_FFMPEG=OFF # turn this on? + - -DUSE_SYSTEM_LIBZIP=ON + - -DUSE_SYSTEM_ZSTD=ON + + - -DUSE_WAYLAND_WSI=ON + - -DUSING_X11_VULKAN=ON + - -DUSING_QT_UI=OFF + + - -DBUILD_TESTING=OFF + - -DOpenGL_GL_PREFERENCE=GLVND + build-options: + - -DX86_64=ON + sources: + - type: git + url: https://github.com/hrydgard/ppsspp.git + tag: v1.13.2 + commit: 9fe6338e3bf397f8a009a51a282c139dfa180eb6 + x-checker-data: + type: git + tag-pattern: ^v([\d.]+)$ + + # PPSSPP Flathub Workaround - START + # This workaround disables the PPSSPP libraries (disable-submodules: true) and install them separately + # This is only to make it buildable by the flathub builder as normaly it seems not to be needed + disable-submodules: true + - type: git + dest: SDL/macOS + commit: f19a1d54b8a5af6cc378ea307e0ec676922eb4cc + url: https://github.com/hrydgard/ppsspp-mac-sdl + - type: git + dest: assets/debugger + commit: 36ad6b19b22de2075a01a4f0c765e3ef514dc38f + url: https://github.com/unknownbrackets/ppsspp-debugger.git + - type: git + dest: dx9sdk + commit: 7751cf73f5c06f1be21f5f31c3e2d9a7bacd3a93 + url: https://github.com/hrydgard/minidx9.git + - type: git + dest: ext/SPIRV-Cross + commit: 9acb9ec31f5a8ef80ea6b994bb77be787b08d3d1 + url: https://github.com/KhronosGroup/SPIRV-Cross.git + - type: git + dest: ext/armips + commit: 7885552b208493a6a0f21663770c446c3ba65576 + url: https://github.com/Kingcom/armips.git + - type: git + dest: ext/discord-rpc + commit: 963aa9f3e5ce81a4682c6ca3d136cddda614db33 + url: https://github.com/discordapp/discord-rpc.git + - type: git + dest: ext/glslang + commit: dc11adde23c455a24e13dd54de9b4ede8bdd7db8 + url: https://github.com/hrydgard/glslang.git + - type: git + dest: ext/miniupnp + commit: 3a87be33e797ba947b2b2a5f8d087f6c3ff4d93e + url: https://github.com/hrydgard/miniupnp.git + - type: git + dest: ext/native/tools/prebuilt + commit: cbea79dc8fef4d9210e2bac7e7b9b5ff3388197a + url: https://github.com/hrydgard/ppsspp-freetype.git + - type: git + dest: ext/rapidjson + commit: 73063f5002612c6bf64fe24f851cd5cc0d83eef9 + disable-submodules: true + url: https://github.com/Tencent/rapidjson.git + - type: git + dest: ext/zstd + commit: a488ba114ec17ea1054b9057c26a046fc122b3b6 + url: https://github.com/facebook/zstd.git + - type: git + dest: ffmpeg + commit: 3ad7ddb9eb2af898dce8c4b5e9a28b77b3f7ddd7 + url: https://github.com/hrydgard/ppsspp-ffmpeg.git + - type: git + dest: pspautotests + commit: 682a4303aba63a50c91ae0fa6928c9dac8ca9b92 + url: https://github.com/hrydgard/pspautotests.git + # PPSSPP Flathub Workaround - END + # PPSSPP - END + # Yuzu - START # https://github.com/flathub/org.yuzu_emu.yuzu # WHEN UPADTING: remember to update rd-submodules/yuzu contents @@ -1200,93 +1287,6 @@ modules: # PRIMEHACK - END - # PPSSPP - START - # https://github.com/flathub/org.ppsspp.PPSSPP - - - name: ppsspp - buildsystem: cmake-ninja - config-opts: - - -DUSE_SYSTEM_FFMPEG=OFF # turn this on? - - -DUSE_SYSTEM_LIBZIP=ON - - -DUSE_SYSTEM_ZSTD=ON - - - -DUSE_WAYLAND_WSI=ON - - -DUSING_X11_VULKAN=ON - - -DUSING_QT_UI=OFF - - - -DBUILD_TESTING=OFF - - -DOpenGL_GL_PREFERENCE=GLVND - build-options: - - -DX86_64=ON - sources: - - type: git - url: https://github.com/hrydgard/ppsspp.git - tag: v1.13.2 - commit: 9fe6338e3bf397f8a009a51a282c139dfa180eb6 - x-checker-data: - type: git - tag-pattern: ^v([\d.]+)$ - - # PPSSPP Flathub Workaround - START - # This workaround disables the PPSSPP libraries (disable-submodules: true) and install them separately - # This is only to make it buildable by the flathub builder as normaly it seems not to be needed - disable-submodules: true - - type: git - dest: SDL/macOS - commit: f19a1d54b8a5af6cc378ea307e0ec676922eb4cc - url: https://github.com/hrydgard/ppsspp-mac-sdl - - type: git - dest: assets/debugger - commit: 36ad6b19b22de2075a01a4f0c765e3ef514dc38f - url: https://github.com/unknownbrackets/ppsspp-debugger.git - - type: git - dest: dx9sdk - commit: 7751cf73f5c06f1be21f5f31c3e2d9a7bacd3a93 - url: https://github.com/hrydgard/minidx9.git - - type: git - dest: ext/SPIRV-Cross - commit: 9acb9ec31f5a8ef80ea6b994bb77be787b08d3d1 - url: https://github.com/KhronosGroup/SPIRV-Cross.git - - type: git - dest: ext/armips - commit: 7885552b208493a6a0f21663770c446c3ba65576 - url: https://github.com/Kingcom/armips.git - - type: git - dest: ext/discord-rpc - commit: 963aa9f3e5ce81a4682c6ca3d136cddda614db33 - url: https://github.com/discordapp/discord-rpc.git - - type: git - dest: ext/glslang - commit: dc11adde23c455a24e13dd54de9b4ede8bdd7db8 - url: https://github.com/hrydgard/glslang.git - - type: git - dest: ext/miniupnp - commit: 3a87be33e797ba947b2b2a5f8d087f6c3ff4d93e - url: https://github.com/hrydgard/miniupnp.git - - type: git - dest: ext/native/tools/prebuilt - commit: cbea79dc8fef4d9210e2bac7e7b9b5ff3388197a - url: https://github.com/hrydgard/ppsspp-freetype.git - - type: git - dest: ext/rapidjson - commit: 73063f5002612c6bf64fe24f851cd5cc0d83eef9 - disable-submodules: true - url: https://github.com/Tencent/rapidjson.git - - type: git - dest: ext/zstd - commit: a488ba114ec17ea1054b9057c26a046fc122b3b6 - url: https://github.com/facebook/zstd.git - - type: git - dest: ffmpeg - commit: 3ad7ddb9eb2af898dce8c4b5e9a28b77b3f7ddd7 - url: https://github.com/hrydgard/ppsspp-ffmpeg.git - - type: git - dest: pspautotests - commit: 682a4303aba63a50c91ae0fa6928c9dac8ca9b92 - url: https://github.com/hrydgard/pspautotests.git - # PPSSPP Flathub Workaround - END - # PPSSPP - END - # Duckstation - START # https://github.com/flathub/org.duckstation.DuckStation From b2391ef5cdca45e9e5a1014976d9f9e38e74e79f Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Sat, 17 Sep 2022 09:08:13 +0200 Subject: [PATCH 062/124] RPCS3: removed branch specification as it was breaking the build --- net.retrodeck.retrodeck.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 9f4912ad..c68cfcc9 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -1242,8 +1242,7 @@ modules: sources: - type: git url: https://github.com/RPCS3/rpcs3.git - branch: master - commit: 2807be7080ab71d5c542a2bef7323f9b43f192e6 + commit: 9d9e18f6147760f2502401ea0b0d4b3524f051c8 # RPCS3 - END From f1f03b60dc7408306936c484d89e4bdb8e61e0ef Mon Sep 17 00:00:00 2001 From: XargonWan <xargonwan@gmail.com> Date: Sat, 17 Sep 2022 17:03:25 +0200 Subject: [PATCH 063/124] GLOBAL.SH: added debug code to conf_write --- global.sh | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/global.sh b/global.sh index 98829902..58652eda 100755 --- a/global.sh +++ b/global.sh @@ -37,6 +37,10 @@ fi conf_write() { # writes the variables in the retrodeck config file + echo "DEBUG: printing the config file content before writing it:" + cat $rd_conf + echo "" + echo "Writing the config file: $rd_conf" # TODO: this can be optimized with a while and a list of variables to check @@ -65,4 +69,8 @@ conf_write() { sed -i "s%themes_folder=.*%themes_folder=$themes_folder%" $rd_conf fi + echo "DEBUG: New contents:" + cat $rd_conf + echo "" + } \ No newline at end of file From f4aef1fa80406175d1caeffece203def97866a92 Mon Sep 17 00:00:00 2001 From: XargonWan <xargonwan@gmail.com> Date: Sat, 17 Sep 2022 17:17:27 +0200 Subject: [PATCH 064/124] GLOBAL.SH: added some hypens --- global.sh | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/global.sh b/global.sh index 58652eda..8a4af0de 100755 --- a/global.sh +++ b/global.sh @@ -11,7 +11,7 @@ hard_version="$(cat '/app/retrodeck/version')" # hardcoded version ( # If there is no config file I initalize the file with the the default values -if [ ! -f $rd_conf ] +if [ ! -f "$rd_conf" ] then echo "RetroDECK config file not found in $rd_conf" @@ -31,14 +31,14 @@ then else echo "Found RetroDECK config file in $rd_conf" echo "Loading it" - source $rd_conf + source "$rd_conf" fi conf_write() { # writes the variables in the retrodeck config file echo "DEBUG: printing the config file content before writing it:" - cat $rd_conf + cat "$rd_conf" echo "" echo "Writing the config file: $rd_conf" @@ -46,31 +46,31 @@ conf_write() { # TODO: this can be optimized with a while and a list of variables to check if [ ! -z "$version" ] #if the variable is not null then I update it then - sed -i "s%version=.*%version=$version%" $rd_conf + sed -i "s%version=.*%version=$version%" "$rd_conf" fi if [ ! -z "$rdhome" ] then - sed -i "s%rdhome=.*%rdhome=$rdhome%" $rd_conf + sed -i "s%rdhome=.*%rdhome=$rdhome%" "$rd_conf" fi if [ ! -z "$roms_folder" ] then - sed -i "s%roms_folder=.*%roms_folder=$roms_folder%" $rd_conf + sed -i "s%roms_folder=.*%roms_folder=$roms_folder%" "$rd_conf" fi if [ ! -z "$media_folder" ] then - sed -i "s%media_folder=.*%media_folder=$media_folder%" $rd_conf + sed -i "s%media_folder=.*%media_folder=$media_folder%" "$rd_conf" fi if [ ! -z "$themes_folder" ] then - sed -i "s%themes_folder=.*%themes_folder=$themes_folder%" $rd_conf + sed -i "s%themes_folder=.*%themes_folder=$themes_folder%" "$rd_conf" fi echo "DEBUG: New contents:" - cat $rd_conf + cat "$rd_conf" echo "" } \ No newline at end of file From c728be71d9cf8fa1aad071c2b47cb7cfec0d25f2 Mon Sep 17 00:00:00 2001 From: XargonWan <xargonwan@gmail.com> Date: Sat, 17 Sep 2022 17:20:39 +0200 Subject: [PATCH 065/124] GLOBAL.SH: moved write_conf function on top --- global.sh | 51 +++++++++++++++++++++++++-------------------------- 1 file changed, 25 insertions(+), 26 deletions(-) diff --git a/global.sh b/global.sh index 8a4af0de..160f3fae 100755 --- a/global.sh +++ b/global.sh @@ -9,31 +9,6 @@ lockfile="/var/config/retrodeck/.lock" # where the lockfile sdcard="/run/media/mmcblk0p1" # Steam Deck SD default path hard_version="$(cat '/app/retrodeck/version')" # hardcoded version (in the readonly filesystem) - -# If there is no config file I initalize the file with the the default values -if [ ! -f "$rd_conf" ] -then - - echo "RetroDECK config file not found in $rd_conf" - echo "Initializing" - - echo "#!/bin/bash" >> $rd_conf - version="$hard_version" # if we are here means that the we are in a new installation, so the version is valorized with the hardcoded one - rdhome="$HOME/retrodeck" # the retrodeck home, aka ~/retrodeck - roms_folder="$rdhome/roms" # the default roms folder path - media_folder="$HOME/retrodeck/downloaded_media" # the media folder, where all the scraped data is downloaded into - themes_folder="$HOME/retrodeck/themes" # the themes folder - - # writing the needed variables in the config file - conf_write - -# If the config file is existing i just read the variables (source it) -else - echo "Found RetroDECK config file in $rd_conf" - echo "Loading it" - source "$rd_conf" -fi - conf_write() { # writes the variables in the retrodeck config file @@ -73,4 +48,28 @@ conf_write() { cat "$rd_conf" echo "" -} \ No newline at end of file +} + +# If there is no config file I initalize the file with the the default values +if [ ! -f "$rd_conf" ] +then + + echo "RetroDECK config file not found in $rd_conf" + echo "Initializing" + + echo "#!/bin/bash" >> $rd_conf + version="$hard_version" # if we are here means that the we are in a new installation, so the version is valorized with the hardcoded one + rdhome="$HOME/retrodeck" # the retrodeck home, aka ~/retrodeck + roms_folder="$rdhome/roms" # the default roms folder path + media_folder="$HOME/retrodeck/downloaded_media" # the media folder, where all the scraped data is downloaded into + themes_folder="$HOME/retrodeck/themes" # the themes folder + + # writing the needed variables in the config file + conf_write + +# If the config file is existing i just read the variables (source it) +else + echo "Found RetroDECK config file in $rd_conf" + echo "Loading it" + source "$rd_conf" +fi \ No newline at end of file From f86f8958d30b9b2a251c7ded8567c7b405191de2 Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Mon, 19 Sep 2022 09:04:44 +0200 Subject: [PATCH 066/124] Enahcned default sd card check --- global.sh | 3 ++- retrodeck.sh | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/global.sh b/global.sh index 160f3fae..dc105d84 100755 --- a/global.sh +++ b/global.sh @@ -6,7 +6,7 @@ rd_conf="/var/config/retrodeck/retrodeck.cfg" # RetroDECK config file path emuconfigs="/app/retrodeck/emu-configs" # folder with all the default emulator configs lockfile="/var/config/retrodeck/.lock" # where the lockfile is located -sdcard="/run/media/mmcblk0p1" # Steam Deck SD default path +default_sd="/run/media/mmcblk0p1" # Steam Deck SD default path hard_version="$(cat '/app/retrodeck/version')" # hardcoded version (in the readonly filesystem) conf_write() { @@ -63,6 +63,7 @@ then roms_folder="$rdhome/roms" # the default roms folder path media_folder="$HOME/retrodeck/downloaded_media" # the media folder, where all the scraped data is downloaded into themes_folder="$HOME/retrodeck/themes" # the themes folder + sdcard="$default_sd" # Steam Deck SD default path # writing the needed variables in the config file conf_write diff --git a/retrodeck.sh b/retrodeck.sh index 960e949b..e50a7ea3 100644 --- a/retrodeck.sh +++ b/retrodeck.sh @@ -373,7 +373,7 @@ finit() { --text="SD Card was not find in the default location.\nPlease choose the SD Card root.\nA retrodeck/roms folder will be created starting from the directory that you selected." browse # Calling the browse function else - roms_folder="$sdcard/retrodeck/roms" + roms_folder="$sdcard/retrodeck/roms" # sdcard variable is correct as its given by browse function echo "ROMs folder = $roms_folder" fi ;; From 23fd76e205e3c355cfccab668940051a516eb03d Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Mon, 19 Sep 2022 09:05:20 +0200 Subject: [PATCH 067/124] Enahcned default sd card check --- global.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/global.sh b/global.sh index dc105d84..ccdfa559 100755 --- a/global.sh +++ b/global.sh @@ -63,7 +63,7 @@ then roms_folder="$rdhome/roms" # the default roms folder path media_folder="$HOME/retrodeck/downloaded_media" # the media folder, where all the scraped data is downloaded into themes_folder="$HOME/retrodeck/themes" # the themes folder - sdcard="$default_sd" # Steam Deck SD default path + sdcard="$default_sd" # Steam Deck SD default path # writing the needed variables in the config file conf_write From 5ff512665a205bb41438f8c5a95663f98a220e79 Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Mon, 19 Sep 2022 09:20:35 +0200 Subject: [PATCH 068/124] Fixed variables creation --- global.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/global.sh b/global.sh index ccdfa559..67182e05 100755 --- a/global.sh +++ b/global.sh @@ -61,8 +61,8 @@ then version="$hard_version" # if we are here means that the we are in a new installation, so the version is valorized with the hardcoded one rdhome="$HOME/retrodeck" # the retrodeck home, aka ~/retrodeck roms_folder="$rdhome/roms" # the default roms folder path - media_folder="$HOME/retrodeck/downloaded_media" # the media folder, where all the scraped data is downloaded into - themes_folder="$HOME/retrodeck/themes" # the themes folder + media_folder="$rdhome/retrodeck/downloaded_media" # the media folder, where all the scraped data is downloaded into + themes_folder="$rdhome/retrodeck/themes" # the themes folder sdcard="$default_sd" # Steam Deck SD default path # writing the needed variables in the config file From 67d7b4d74fdd120ae673652ab4fe1c96114f5435 Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Mon, 19 Sep 2022 09:25:49 +0200 Subject: [PATCH 069/124] Fixed variables system --- global.sh | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/global.sh b/global.sh index 67182e05..cf432324 100755 --- a/global.sh +++ b/global.sh @@ -57,14 +57,23 @@ then echo "RetroDECK config file not found in $rd_conf" echo "Initializing" - echo "#!/bin/bash" >> $rd_conf + # Initializing the variables version="$hard_version" # if we are here means that the we are in a new installation, so the version is valorized with the hardcoded one rdhome="$HOME/retrodeck" # the retrodeck home, aka ~/retrodeck roms_folder="$rdhome/roms" # the default roms folder path - media_folder="$rdhome/retrodeck/downloaded_media" # the media folder, where all the scraped data is downloaded into - themes_folder="$rdhome/retrodeck/themes" # the themes folder + media_folder="$rdhome/retrodeck/downloaded_media" # the media folder, where all the scraped data is downloaded into + themes_folder="$rdhome/retrodeck/themes" # the themes folder sdcard="$default_sd" # Steam Deck SD default path + # Writing the variables for the first time + echo "#!/bin/bash" >> $rd_conf + echo "version=$version" >> $rd_conf + echo "rdhome=$rdhome" >> $rd_conf + echo "roms_folder=$roms_folder" >> $rd_conf + echo "media_folder=$media_folder" >> $rd_conf + echo "themes_folder=$themes_folder" >> $rd_conf + echo "sdcard=$sdcard" >> $rd_conf + # writing the needed variables in the config file conf_write From a3ae3922269bc2836909c1cb3e4df1d511c90bbe Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Mon, 19 Sep 2022 09:27:22 +0200 Subject: [PATCH 070/124] Fixed variables system -fix1 --- global.sh | 3 --- 1 file changed, 3 deletions(-) diff --git a/global.sh b/global.sh index cf432324..3ed2c545 100755 --- a/global.sh +++ b/global.sh @@ -74,9 +74,6 @@ then echo "themes_folder=$themes_folder" >> $rd_conf echo "sdcard=$sdcard" >> $rd_conf - # writing the needed variables in the config file - conf_write - # If the config file is existing i just read the variables (source it) else echo "Found RetroDECK config file in $rd_conf" From 66dc991ae77ecfedd28f894f410837ece56b9c7c Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Mon, 19 Sep 2022 09:28:58 +0200 Subject: [PATCH 071/124] Fixed variables system -fix2 --- global.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/global.sh b/global.sh index 3ed2c545..5cb2e902 100755 --- a/global.sh +++ b/global.sh @@ -44,6 +44,11 @@ conf_write() { sed -i "s%themes_folder=.*%themes_folder=$themes_folder%" "$rd_conf" fi + if [ ! -z "$sdcard" ] + then + sed -i "s%sdcard=.*%sdcard=$sdcard%" "$rd_conf" + fi + echo "DEBUG: New contents:" cat "$rd_conf" echo "" From 10311c1d339747ca39dd6e12419cabf1922801dc Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Mon, 19 Sep 2022 10:26:58 +0200 Subject: [PATCH 072/124] YUZU: updated to the latest mainline --- net.retrodeck.retrodeck.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index c68cfcc9..b87a1178 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -637,8 +637,8 @@ modules: sources: - type: git url: https://github.com/yuzu-emu/yuzu-mainline.git - tag: mainline-0-1163 - commit: f0a6d73fe2cf94ddcef54516d261c21816cd48d1 + tag: mainline-0-1171 + commit: 3b25d1fe22f5eee7a046432884d78b25a3950988 disable-shallow-clone: true x-checker-data: type: git From b6d286e9072ddacf457b045db2f01d2c83cba8ea Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Mon, 19 Sep 2022 11:09:52 +0200 Subject: [PATCH 073/124] YUZU: fixed roms path --- emu-configs/yuzu/qt-config.ini | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/emu-configs/yuzu/qt-config.ini b/emu-configs/yuzu/qt-config.ini index 6149a971..d44de0c4 100644 --- a/emu-configs/yuzu/qt-config.ini +++ b/emu-configs/yuzu/qt-config.ini @@ -947,7 +947,7 @@ Paths\gamedirs\4\deep_scan=false Paths\gamedirs\4\deep_scan\default=true Paths\gamedirs\4\expanded=true Paths\gamedirs\4\expanded\default=true -Paths\gamedirs\4\path=/run/user/1000/doc/a06af84a/Pictures +Paths\gamedirs\4\path=~/retrodeck/roms/switch Paths\gamedirs\size=4 Paths\language=en Paths\language\default=false @@ -956,7 +956,7 @@ Paths\romsPath=~/retrodeck/roms/switch Paths\symbolsPath= Screenshots\enable_screenshot_save_as=true Screenshots\enable_screenshot_save_as\default=true -Screenshots\screenshot_path=/var/data/yuzu/screenshots +Screenshots\screenshot_path=~/retrodeck/screenshots Shortcuts\Main%20Window\Audio%20Mute\Unmute\Context=1 Shortcuts\Main%20Window\Audio%20Mute\Unmute\Context\default=true Shortcuts\Main%20Window\Audio%20Mute\Unmute\Controller_KeySeq= From d55a684010d507f2760c19db795588a79ec9d0ff Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Mon, 19 Sep 2022 14:13:07 +0200 Subject: [PATCH 074/124] Added workflow to push cooke to flathub --- .github/workflows/flathub_push_cooker.yml | 75 +++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 .github/workflows/flathub_push_cooker.yml diff --git a/.github/workflows/flathub_push_cooker.yml b/.github/workflows/flathub_push_cooker.yml new file mode 100644 index 00000000..76e1a77f --- /dev/null +++ b/.github/workflows/flathub_push_cooker.yml @@ -0,0 +1,75 @@ +name: push-cooker-flathub + +#on: +# push: +# branches: +# - cooker* +# pull_request: +# branches: +# - cooker* + +# workflow_dispatch: + + +jobs: + + Pushing_cooker_into_flathub: + runs-on: self-hosted + steps: + + - name: Pushing + run: + | + # EDITABLES: + rd_branch="cooker" + gits_folder="gits" # without last / + + # NON-EDITABLES + branch="$rd_branch-"$(date +%d%m%y.%H%M) + + mkdir -p $gits_folder + cd $gits_folder + rm -rf flathub + git clone --recursive https://github.com/flathub/net.retrodeck.retrodeck.git flathub + git clone --recursive https://github.com/XargonWan/RetroDECK RetroDECK + cd $gits_folder/RetroDECK + git checkout $rd_branch + git submodule init + git submodule update + # NOTE: the only linked submodules are: rd-submodules/retroarch + # these must be included in the exclusion list as they must be redownloaded + #sync -rav --progress --exclude={'res/screenshots/','shared-modules/','rd-submodules/retroarch','.git/','docs','retrodeck-flatpak/','retrodeck-flatpak-cooker/','.flatpak-builder/'} ~/RetroDECK/ ~/flathub/ + + cd $gits_folder/flathub + git checkout -b $branch + git rm -rf * + git clean -fxd # restroing git index + + # Copying only a few files as the others are cloned by git in retrodeck.sh + cd $gits_folder/RetroDECK + cp -rf \ + 'rd-submodules' \ + 'flathub.json' \ + 'LICENSE' \ + 'net.retrodeck.retrodeck.appdata.xml' \ + 'net.retrodeck.retrodeck.desktop' \ + 'net.retrodeck.retrodeck.yml' \ + 'README.md' \ + $gits_folder/flathub/ + cd $gits_folder/flathub + + rm -rf .git/modules/* + # Adding the real submodules, please update this every time a submodule is added + git rm -rf shared-modules + git submodule add https://github.com/flathub/shared-modules.git shared-modules + + git rm -rf rd-submodules/retroarch + git submodule add https://github.com/flathub/org.libretro.RetroArch.git rd-submodules/retroarch + + # unbinds all submodules + git submodule deinit -f . + # checkout again + git submodule update --init --recursive + git add * + git commit -m "Updated flathub/net.retrodeck.retrodeck from RetroDECK/$rd_branch" + git push origin $branch \ No newline at end of file From 36766b06448d65c7b8c91f81acdd6d4b9b36e819 Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Mon, 19 Sep 2022 14:14:34 +0200 Subject: [PATCH 075/124] Added workflow to push cooke to flathub -fix1 --- .github/workflows/flathub_push_cooker.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/flathub_push_cooker.yml b/.github/workflows/flathub_push_cooker.yml index 76e1a77f..3ed848ee 100644 --- a/.github/workflows/flathub_push_cooker.yml +++ b/.github/workflows/flathub_push_cooker.yml @@ -1,6 +1,6 @@ name: push-cooker-flathub -#on: +on: # push: # branches: # - cooker* @@ -8,7 +8,7 @@ name: push-cooker-flathub # branches: # - cooker* -# workflow_dispatch: + workflow_dispatch: jobs: From a2b8ee0f5cd5027b26b189b4243eeffb120fb5d4 Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Mon, 19 Sep 2022 17:49:59 +0200 Subject: [PATCH 076/124] PCSX2-QT updated --- net.retrodeck.retrodeck.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index b87a1178..14cac767 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -957,8 +957,8 @@ modules: - ln -s "${FLATPAK_DEST}/pcsx2-qt/usr/bin/pcsx2-qt" "${FLATPAK_DEST}/bin/pcsx2-qt" sources: - type: file - url: https://github.com/PCSX2/pcsx2/releases/download/v1.7.3304/pcsx2-v1.7.3304-linux-AppImage-64bit-AVX2-Qt.AppImage - sha256: 04e56b9e6113fefce7057b2dd19f0501b79d36f31c718406bda45204a2be121a + url: https://github.com/PCSX2/pcsx2/releases/download/v1.7.3325/pcsx2-v1.7.3325-linux-AppImage-64bit-AVX2-Qt.AppImage + sha256: 5fa89570fb68b8a729dc0589e568d3a09b2b9243d4d66a5b7086975fb02e95e4 # PCSX2 - END From 2e7b3dd8c50fafd7655c773c1fe391e4c66a7513 Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Tue, 20 Sep 2022 09:42:46 +0200 Subject: [PATCH 077/124] TOOLS: valorized retroarch config paths --- tools/cheevos.sh | 2 +- tools/rewind.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/cheevos.sh b/tools/cheevos.sh index 71897d8a..877c4998 100755 --- a/tools/cheevos.sh +++ b/tools/cheevos.sh @@ -1,6 +1,6 @@ #!/bin/bash -racfg="" +racfg="/var/config/retroarch/retroarch.cfg" login=$(zenity --forms --title="RetroAchievements Login" \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ diff --git a/tools/rewind.sh b/tools/rewind.sh index abc79a22..c60c246a 100755 --- a/tools/rewind.sh +++ b/tools/rewind.sh @@ -1,6 +1,6 @@ #!/bin/bash -racfg="" +racfg="/var/config/retroarch/retroarch.cfg" zenity --question \ --no-wrap --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ From 836b2484fa2a39fb0099b79752a3c042bc89d6c4 Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Wed, 21 Sep 2022 09:14:26 +0200 Subject: [PATCH 078/124] MANIFEST: disabled duplicate ffmpeg module --- net.retrodeck.retrodeck.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 14cac767..80ed3587 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -477,10 +477,10 @@ modules: dest: ext/zstd commit: a488ba114ec17ea1054b9057c26a046fc122b3b6 url: https://github.com/facebook/zstd.git - - type: git - dest: ffmpeg - commit: 3ad7ddb9eb2af898dce8c4b5e9a28b77b3f7ddd7 - url: https://github.com/hrydgard/ppsspp-ffmpeg.git + #- type: git + # dest: ffmpeg + # commit: 3ad7ddb9eb2af898dce8c4b5e9a28b77b3f7ddd7 + # url: https://github.com/hrydgard/ppsspp-ffmpeg.git - type: git dest: pspautotests commit: 682a4303aba63a50c91ae0fa6928c9dac8ca9b92 From e29bd8c0c9b3c1d173c276265d2778c3fcc954fb Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Wed, 21 Sep 2022 09:17:22 +0200 Subject: [PATCH 079/124] Juggling with workflow --- .../{flathub_push_cooker.yml => flathub_push_cooker.yml.old} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .github/workflows/{flathub_push_cooker.yml => flathub_push_cooker.yml.old} (100%) diff --git a/.github/workflows/flathub_push_cooker.yml b/.github/workflows/flathub_push_cooker.yml.old similarity index 100% rename from .github/workflows/flathub_push_cooker.yml rename to .github/workflows/flathub_push_cooker.yml.old From 6bfc08aa02a63e3b9d98f0bbb1c0193cf706a379 Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Wed, 21 Sep 2022 09:17:41 +0200 Subject: [PATCH 080/124] Juggling with workflow --- .../{flathub_push_cooker.yml.old => flathub_push_cooker.yml} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .github/workflows/{flathub_push_cooker.yml.old => flathub_push_cooker.yml} (100%) diff --git a/.github/workflows/flathub_push_cooker.yml.old b/.github/workflows/flathub_push_cooker.yml similarity index 100% rename from .github/workflows/flathub_push_cooker.yml.old rename to .github/workflows/flathub_push_cooker.yml From 58c29c73c45bceeaa11394bd65a4a7d575c5ea18 Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Wed, 21 Sep 2022 09:21:06 +0200 Subject: [PATCH 081/124] Juggling with workflow --- .github/workflows/flathub_push_cooker.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/flathub_push_cooker.yml b/.github/workflows/flathub_push_cooker.yml index 3ed848ee..f252839a 100644 --- a/.github/workflows/flathub_push_cooker.yml +++ b/.github/workflows/flathub_push_cooker.yml @@ -1,4 +1,4 @@ -name: push-cooker-flathub +name: PUSH-cooker-flathub on: # push: @@ -16,10 +16,9 @@ jobs: Pushing_cooker_into_flathub: runs-on: self-hosted steps: - - name: Pushing - run: - | + shell: bash + run: | # EDITABLES: rd_branch="cooker" gits_folder="gits" # without last / From c7289c52925c4b19e0f2356408aaa5afcc09dcee Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Wed, 21 Sep 2022 09:22:19 +0200 Subject: [PATCH 082/124] Update flathub_push_cooker.yml --- .github/workflows/flathub_push_cooker.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/flathub_push_cooker.yml b/.github/workflows/flathub_push_cooker.yml index f252839a..90d7a280 100644 --- a/.github/workflows/flathub_push_cooker.yml +++ b/.github/workflows/flathub_push_cooker.yml @@ -10,7 +10,6 @@ on: workflow_dispatch: - jobs: Pushing_cooker_into_flathub: @@ -71,4 +70,4 @@ jobs: git submodule update --init --recursive git add * git commit -m "Updated flathub/net.retrodeck.retrodeck from RetroDECK/$rd_branch" - git push origin $branch \ No newline at end of file + git push origin $branch From b2894ca38f762c01f918ef9e27c2b620efa9b464 Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Wed, 21 Sep 2022 09:26:53 +0200 Subject: [PATCH 083/124] Juggling with workflow --- .github/workflows/flathub_push_cooker.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/flathub_push_cooker.yml b/.github/workflows/flathub_push_cooker.yml index 90d7a280..0d9421ba 100644 --- a/.github/workflows/flathub_push_cooker.yml +++ b/.github/workflows/flathub_push_cooker.yml @@ -1,3 +1,4 @@ + name: PUSH-cooker-flathub on: From 946672304cb7539189aa9d38799835ca31036292 Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Wed, 21 Sep 2022 09:30:30 +0200 Subject: [PATCH 084/124] Juggling with workflow --- .github/workflows/flathub_push_cooker.yml | 74 ----------------------- 1 file changed, 74 deletions(-) delete mode 100644 .github/workflows/flathub_push_cooker.yml diff --git a/.github/workflows/flathub_push_cooker.yml b/.github/workflows/flathub_push_cooker.yml deleted file mode 100644 index 0d9421ba..00000000 --- a/.github/workflows/flathub_push_cooker.yml +++ /dev/null @@ -1,74 +0,0 @@ - -name: PUSH-cooker-flathub - -on: -# push: -# branches: -# - cooker* -# pull_request: -# branches: -# - cooker* - - workflow_dispatch: - -jobs: - - Pushing_cooker_into_flathub: - runs-on: self-hosted - steps: - - name: Pushing - shell: bash - run: | - # EDITABLES: - rd_branch="cooker" - gits_folder="gits" # without last / - - # NON-EDITABLES - branch="$rd_branch-"$(date +%d%m%y.%H%M) - - mkdir -p $gits_folder - cd $gits_folder - rm -rf flathub - git clone --recursive https://github.com/flathub/net.retrodeck.retrodeck.git flathub - git clone --recursive https://github.com/XargonWan/RetroDECK RetroDECK - cd $gits_folder/RetroDECK - git checkout $rd_branch - git submodule init - git submodule update - # NOTE: the only linked submodules are: rd-submodules/retroarch - # these must be included in the exclusion list as they must be redownloaded - #sync -rav --progress --exclude={'res/screenshots/','shared-modules/','rd-submodules/retroarch','.git/','docs','retrodeck-flatpak/','retrodeck-flatpak-cooker/','.flatpak-builder/'} ~/RetroDECK/ ~/flathub/ - - cd $gits_folder/flathub - git checkout -b $branch - git rm -rf * - git clean -fxd # restroing git index - - # Copying only a few files as the others are cloned by git in retrodeck.sh - cd $gits_folder/RetroDECK - cp -rf \ - 'rd-submodules' \ - 'flathub.json' \ - 'LICENSE' \ - 'net.retrodeck.retrodeck.appdata.xml' \ - 'net.retrodeck.retrodeck.desktop' \ - 'net.retrodeck.retrodeck.yml' \ - 'README.md' \ - $gits_folder/flathub/ - cd $gits_folder/flathub - - rm -rf .git/modules/* - # Adding the real submodules, please update this every time a submodule is added - git rm -rf shared-modules - git submodule add https://github.com/flathub/shared-modules.git shared-modules - - git rm -rf rd-submodules/retroarch - git submodule add https://github.com/flathub/org.libretro.RetroArch.git rd-submodules/retroarch - - # unbinds all submodules - git submodule deinit -f . - # checkout again - git submodule update --init --recursive - git add * - git commit -m "Updated flathub/net.retrodeck.retrodeck from RetroDECK/$rd_branch" - git push origin $branch From 19e28c4e17b4b37af3830cb08b609a185b65e008 Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Wed, 21 Sep 2022 09:34:28 +0200 Subject: [PATCH 085/124] Juggling with workflow --- .github/workflows/flathub_push_cooker.yml | 74 +++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 .github/workflows/flathub_push_cooker.yml diff --git a/.github/workflows/flathub_push_cooker.yml b/.github/workflows/flathub_push_cooker.yml new file mode 100644 index 00000000..f01647aa --- /dev/null +++ b/.github/workflows/flathub_push_cooker.yml @@ -0,0 +1,74 @@ + +name: PUSH-cooker-flathub + +on: +# push: +# branches: +# - cooker* +# pull_request: +# branches: +# - cooker* + + workflow_dispatch: + +jobs: + + Pushing_cooker_into_flathub: + runs-on: self-hosted + steps: + - name: Pushing + shell: bash + run: | + # EDITABLES: + rd_branch="cooker" + gits_folder="gits" # without last / + + # NON-EDITABLES + branch="$rd_branch-"$(date +%d%m%y.%H%M) + + mkdir -p $gits_folder + cd $gits_folder + rm -rf flathub + git clone --recursive https://github.com/flathub/net.retrodeck.retrodeck.git flathub + git clone --recursive https://github.com/XargonWan/RetroDECK RetroDECK + cd $gits_folder/RetroDECK + git checkout $rd_branch + git submodule init + git submodule update + # NOTE: the only linked submodules are: rd-submodules/retroarch + # these must be included in the exclusion list as they must be redownloaded + #sync -rav --progress --exclude={'res/screenshots/','shared-modules/','rd-submodules/retroarch','.git/','docs','retrodeck-flatpak/','retrodeck-flatpak-cooker/','.flatpak-builder/'} ~/RetroDECK/ ~/flathub/ + + cd $gits_folder/flathub + git checkout -b $branch + git rm -rf * + git clean -fxd # restroing git index + + # Copying only a few files as the others are cloned by git in retrodeck.sh + cd $gits_folder/RetroDECK + cp -rf \ + 'rd-submodules' \ + 'flathub.json' \ + 'LICENSE' \ + 'net.retrodeck.retrodeck.appdata.xml' \ + 'net.retrodeck.retrodeck.desktop' \ + 'net.retrodeck.retrodeck.yml' \ + 'README.md' \ + $gits_folder/flathub/ + cd $gits_folder/flathub + + rm -rf .git/modules/* + # Adding the real submodules, please update this every time a submodule is added + git rm -rf shared-modules + git submodule add https://github.com/flathub/shared-modules.git shared-modules + + git rm -rf rd-submodules/retroarch + git submodule add https://github.com/flathub/org.libretro.RetroArch.git rd-submodules/retroarch + + # unbinds all submodules + git submodule deinit -f . + # checkout again + git submodule update --init --recursive + git add * + git commit -m "Updated flathub/net.retrodeck.retrodeck from RetroDECK/$rd_branch" + git push origin $branch \ No newline at end of file From 8cb76d694c382d57cfc22b5b1401bca71328e4c4 Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Wed, 21 Sep 2022 09:35:57 +0200 Subject: [PATCH 086/124] Juggling with workflow --- .github/workflows/flathub_push_cooker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/flathub_push_cooker.yml b/.github/workflows/flathub_push_cooker.yml index f01647aa..c519b935 100644 --- a/.github/workflows/flathub_push_cooker.yml +++ b/.github/workflows/flathub_push_cooker.yml @@ -14,7 +14,7 @@ on: jobs: Pushing_cooker_into_flathub: - runs-on: self-hosted + runs-on: ubuntu-latest steps: - name: Pushing shell: bash From 0a98779aa970938e250390276caba1ca8274d518 Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Wed, 21 Sep 2022 09:46:37 +0200 Subject: [PATCH 087/124] Juggling with workflow --- .github/workflows/flathub_push_cooker.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/flathub_push_cooker.yml b/.github/workflows/flathub_push_cooker.yml index c519b935..d9c53c3b 100644 --- a/.github/workflows/flathub_push_cooker.yml +++ b/.github/workflows/flathub_push_cooker.yml @@ -26,9 +26,11 @@ jobs: # NON-EDITABLES branch="$rd_branch-"$(date +%d%m%y.%H%M) - mkdir -p $gits_folder + mkdir -vp $gits_folder cd $gits_folder - rm -rf flathub + if [ -d flathub ]; then + rm -rfv flathub + fi git clone --recursive https://github.com/flathub/net.retrodeck.retrodeck.git flathub git clone --recursive https://github.com/XargonWan/RetroDECK RetroDECK cd $gits_folder/RetroDECK From 53c5c14e11fc2bc2a82b00dd4bdf07d6f9fcbe6b Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Wed, 21 Sep 2022 09:48:54 +0200 Subject: [PATCH 088/124] Juggling with workflow --- .github/workflows/flathub_push_cooker.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/flathub_push_cooker.yml b/.github/workflows/flathub_push_cooker.yml index d9c53c3b..c61de2e2 100644 --- a/.github/workflows/flathub_push_cooker.yml +++ b/.github/workflows/flathub_push_cooker.yml @@ -32,6 +32,7 @@ jobs: rm -rfv flathub fi git clone --recursive https://github.com/flathub/net.retrodeck.retrodeck.git flathub + cd $gits_folder git clone --recursive https://github.com/XargonWan/RetroDECK RetroDECK cd $gits_folder/RetroDECK git checkout $rd_branch From 95828579fb01554e10a4afcdf84c235a307056e3 Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Wed, 21 Sep 2022 09:53:05 +0200 Subject: [PATCH 089/124] Juggling with workflow --- .github/workflows/flathub_push_cooker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/flathub_push_cooker.yml b/.github/workflows/flathub_push_cooker.yml index c61de2e2..338f1244 100644 --- a/.github/workflows/flathub_push_cooker.yml +++ b/.github/workflows/flathub_push_cooker.yml @@ -21,7 +21,7 @@ jobs: run: | # EDITABLES: rd_branch="cooker" - gits_folder="gits" # without last / + gits_folder="${GITHUB_WORKSPACE}/gits" # without last / # NON-EDITABLES branch="$rd_branch-"$(date +%d%m%y.%H%M) From 21356e6f0cb860d7c591193e123f8a90ec9d40e8 Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Wed, 21 Sep 2022 09:56:42 +0200 Subject: [PATCH 090/124] Juggling with workflow --- .github/workflows/flathub_push_cooker.yml | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/.github/workflows/flathub_push_cooker.yml b/.github/workflows/flathub_push_cooker.yml index 338f1244..58d477bf 100644 --- a/.github/workflows/flathub_push_cooker.yml +++ b/.github/workflows/flathub_push_cooker.yml @@ -58,14 +58,18 @@ jobs: 'net.retrodeck.retrodeck.yml' \ 'README.md' \ $gits_folder/flathub/ - cd $gits_folder/flathub - rm -rf .git/modules/* + cd $gits_folder/flathub + rm -rfv .git/modules/* # Adding the real submodules, please update this every time a submodule is added - git rm -rf shared-modules + if [ -d shared-modules ]; then + git rm -rfv shared-modules + fi git submodule add https://github.com/flathub/shared-modules.git shared-modules - git rm -rf rd-submodules/retroarch + if [ -d rd-submodules/retroarch ]; then + git rm -rfv rd-submodules/retroarch + fi git submodule add https://github.com/flathub/org.libretro.RetroArch.git rd-submodules/retroarch # unbinds all submodules From 7a5250aaa8b77d31eaa31d61b8bafa0f30af0fa0 Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Wed, 21 Sep 2022 09:58:29 +0200 Subject: [PATCH 091/124] Juggling with workflow --- .github/workflows/flathub_push_cooker.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/flathub_push_cooker.yml b/.github/workflows/flathub_push_cooker.yml index 58d477bf..b146e2ea 100644 --- a/.github/workflows/flathub_push_cooker.yml +++ b/.github/workflows/flathub_push_cooker.yml @@ -29,7 +29,7 @@ jobs: mkdir -vp $gits_folder cd $gits_folder if [ -d flathub ]; then - rm -rfv flathub + rm -rf flathub fi git clone --recursive https://github.com/flathub/net.retrodeck.retrodeck.git flathub cd $gits_folder @@ -63,12 +63,12 @@ jobs: rm -rfv .git/modules/* # Adding the real submodules, please update this every time a submodule is added if [ -d shared-modules ]; then - git rm -rfv shared-modules + git rm -rf shared-modules fi git submodule add https://github.com/flathub/shared-modules.git shared-modules if [ -d rd-submodules/retroarch ]; then - git rm -rfv rd-submodules/retroarch + git rm -rf rd-submodules/retroarch fi git submodule add https://github.com/flathub/org.libretro.RetroArch.git rd-submodules/retroarch From e470d26c6bfeb7465f497d7110fe8012c0a5c8ad Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Wed, 21 Sep 2022 10:00:21 +0200 Subject: [PATCH 092/124] Juggling with workflow --- .github/workflows/flathub_push_cooker.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/flathub_push_cooker.yml b/.github/workflows/flathub_push_cooker.yml index b146e2ea..a204c5c1 100644 --- a/.github/workflows/flathub_push_cooker.yml +++ b/.github/workflows/flathub_push_cooker.yml @@ -60,7 +60,9 @@ jobs: $gits_folder/flathub/ cd $gits_folder/flathub - rm -rfv .git/modules/* + if [ -d .git/modules ]; then + rm -rfv .git/modules/* + fi # Adding the real submodules, please update this every time a submodule is added if [ -d shared-modules ]; then git rm -rf shared-modules From 950b7193eaf60d173594dddb0e7c484167208ae4 Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Wed, 21 Sep 2022 10:11:29 +0200 Subject: [PATCH 093/124] Juggling with workflow --- .github/workflows/flathub_push_cooker.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/flathub_push_cooker.yml b/.github/workflows/flathub_push_cooker.yml index a204c5c1..304fb6ba 100644 --- a/.github/workflows/flathub_push_cooker.yml +++ b/.github/workflows/flathub_push_cooker.yml @@ -63,10 +63,12 @@ jobs: if [ -d .git/modules ]; then rm -rfv .git/modules/* fi + # Adding the real submodules, please update this every time a submodule is added + if [ -d shared-modules ]; then git rm -rf shared-modules - fi + fi git submodule add https://github.com/flathub/shared-modules.git shared-modules if [ -d rd-submodules/retroarch ]; then From 80f4a075a6ddd84041ae8c2783b9fca7f33462d4 Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Wed, 21 Sep 2022 11:37:47 +0200 Subject: [PATCH 094/124] Juggling with workflow --- .github/workflows/flathub_push_cooker.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/flathub_push_cooker.yml b/.github/workflows/flathub_push_cooker.yml index 304fb6ba..5c2bf1c1 100644 --- a/.github/workflows/flathub_push_cooker.yml +++ b/.github/workflows/flathub_push_cooker.yml @@ -71,10 +71,10 @@ jobs: fi git submodule add https://github.com/flathub/shared-modules.git shared-modules - if [ -d rd-submodules/retroarch ]; then - git rm -rf rd-submodules/retroarch + if [ -d $gits_folder/RetroDECK/rd-submodules/retroarch ]; then + git rm -rf $gits_folder/RetroDECK/rd-submodules/retroarch fi - git submodule add https://github.com/flathub/org.libretro.RetroArch.git rd-submodules/retroarch + git submodule add https://github.com/flathub/org.libretro.RetroArch.git $gits_folder/RetroDECK/rd-submodules/retroarch # unbinds all submodules git submodule deinit -f . From b505a76de2861458cf5dad74ac4b5bbf134d621f Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Wed, 21 Sep 2022 11:40:33 +0200 Subject: [PATCH 095/124] Juggling with workflow --- .github/workflows/flathub_push_cooker.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/flathub_push_cooker.yml b/.github/workflows/flathub_push_cooker.yml index 5c2bf1c1..b7588fc2 100644 --- a/.github/workflows/flathub_push_cooker.yml +++ b/.github/workflows/flathub_push_cooker.yml @@ -60,6 +60,8 @@ jobs: $gits_folder/flathub/ cd $gits_folder/flathub + ls -la + if [ -d .git/modules ]; then rm -rfv .git/modules/* fi @@ -71,10 +73,10 @@ jobs: fi git submodule add https://github.com/flathub/shared-modules.git shared-modules - if [ -d $gits_folder/RetroDECK/rd-submodules/retroarch ]; then - git rm -rf $gits_folder/RetroDECK/rd-submodules/retroarch + if [ -d rd-submodules/retroarch ]; then + git rm -rf rd-submodules/retroarch fi - git submodule add https://github.com/flathub/org.libretro.RetroArch.git $gits_folder/RetroDECK/rd-submodules/retroarch + git submodule add https://github.com/flathub/org.libretro.RetroArch.git rd-submodules/retroarch # unbinds all submodules git submodule deinit -f . From ffb5250f9cda715dcf6fb1665005acd7e853b3ef Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Wed, 21 Sep 2022 11:45:38 +0200 Subject: [PATCH 096/124] Juggling with workflow --- .github/workflows/flathub_push_cooker.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/flathub_push_cooker.yml b/.github/workflows/flathub_push_cooker.yml index b7588fc2..de908b0f 100644 --- a/.github/workflows/flathub_push_cooker.yml +++ b/.github/workflows/flathub_push_cooker.yml @@ -71,12 +71,12 @@ jobs: if [ -d shared-modules ]; then git rm -rf shared-modules fi - git submodule add https://github.com/flathub/shared-modules.git shared-modules + git submodule add https://github.com/flathub/shared-modules.git ./shared-modules if [ -d rd-submodules/retroarch ]; then git rm -rf rd-submodules/retroarch fi - git submodule add https://github.com/flathub/org.libretro.RetroArch.git rd-submodules/retroarch + git submodule add https://github.com/flathub/org.libretro.RetroArch.git ./rd-submodules/retroarch # unbinds all submodules git submodule deinit -f . From 7ceed88b2ea38b074c5f17dd6b26e004097f785b Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Wed, 21 Sep 2022 11:48:24 +0200 Subject: [PATCH 097/124] Juggling with workflow --- .github/workflows/flathub_push_cooker.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/flathub_push_cooker.yml b/.github/workflows/flathub_push_cooker.yml index de908b0f..d9ede557 100644 --- a/.github/workflows/flathub_push_cooker.yml +++ b/.github/workflows/flathub_push_cooker.yml @@ -69,12 +69,12 @@ jobs: # Adding the real submodules, please update this every time a submodule is added if [ -d shared-modules ]; then - git rm -rf shared-modules + git rm -rf --ignore-unmatch shared-modules fi git submodule add https://github.com/flathub/shared-modules.git ./shared-modules if [ -d rd-submodules/retroarch ]; then - git rm -rf rd-submodules/retroarch + git rm -rf --ignore-unmatch rd-submodules/retroarch fi git submodule add https://github.com/flathub/org.libretro.RetroArch.git ./rd-submodules/retroarch From e45b5e99b5bf56839fe9f68ecf84e301a41494f1 Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Wed, 21 Sep 2022 11:51:37 +0200 Subject: [PATCH 098/124] Juggling with workflow --- .github/workflows/flathub_push_cooker.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/flathub_push_cooker.yml b/.github/workflows/flathub_push_cooker.yml index d9ede557..788a47f9 100644 --- a/.github/workflows/flathub_push_cooker.yml +++ b/.github/workflows/flathub_push_cooker.yml @@ -70,11 +70,13 @@ jobs: if [ -d shared-modules ]; then git rm -rf --ignore-unmatch shared-modules + rm -rfv shared-modules fi git submodule add https://github.com/flathub/shared-modules.git ./shared-modules if [ -d rd-submodules/retroarch ]; then git rm -rf --ignore-unmatch rd-submodules/retroarch + rm -rfv rd-submodules/retroarch fi git submodule add https://github.com/flathub/org.libretro.RetroArch.git ./rd-submodules/retroarch From 7b482ea8b1fce99742fdffea3d0fa9556dfeeb7a Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Wed, 21 Sep 2022 16:22:00 +0200 Subject: [PATCH 099/124] Various fixes by RavenKilit --- global.sh | 6 +++--- retrodeck.sh | 4 ++++ tools/cheevos.sh | 6 +++--- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/global.sh b/global.sh index 5cb2e902..b67d81f8 100755 --- a/global.sh +++ b/global.sh @@ -66,12 +66,12 @@ then version="$hard_version" # if we are here means that the we are in a new installation, so the version is valorized with the hardcoded one rdhome="$HOME/retrodeck" # the retrodeck home, aka ~/retrodeck roms_folder="$rdhome/roms" # the default roms folder path - media_folder="$rdhome/retrodeck/downloaded_media" # the media folder, where all the scraped data is downloaded into - themes_folder="$rdhome/retrodeck/themes" # the themes folder + media_folder="$rdhome/downloaded_media" # the media folder, where all the scraped data is downloaded into + themes_folder="$rdhome/themes" # the themes folder sdcard="$default_sd" # Steam Deck SD default path # Writing the variables for the first time - echo "#!/bin/bash" >> $rd_conf + echo '#!/bin/bash' >> $rd_conf echo "version=$version" >> $rd_conf echo "rdhome=$rdhome" >> $rd_conf echo "roms_folder=$roms_folder" >> $rd_conf diff --git a/retrodeck.sh b/retrodeck.sh index e50a7ea3..f8907030 100644 --- a/retrodeck.sh +++ b/retrodeck.sh @@ -383,6 +383,10 @@ finit() { advanced ;; + 1 ) # X button quits + kill $$ + ;; + esac mkdir -pv $roms_folder diff --git a/tools/cheevos.sh b/tools/cheevos.sh index 877c4998..c7ec4374 100755 --- a/tools/cheevos.sh +++ b/tools/cheevos.sh @@ -13,6 +13,6 @@ arrIN=(${login//=SEP=/ }) user=${arrIN[0]} pass=${arrIN[1]} -sed -i "s%cheevos_enable =.*%cheevos_enable = \"true\"" $racfg -sed -i "s%cheevos_username =.*%cheevos_username = \"$user\"" $racfg -sed -i "s%cheevos_password =.*%cheevos_password = \"$pass\"" $racfg +sed -i "s%cheevos_enable =.*%cheevos_enable = \"true\"%" $racfg +sed -i "s%cheevos_username =.*%cheevos_username = \"$user\"%" $racfg +sed -i "s%cheevos_password =.*%cheevos_password = \"$pass\"%" $racfg From d69fcc6dd9e76f5857bed8f0bb61903950792aad Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Wed, 21 Sep 2022 18:03:52 +0200 Subject: [PATCH 100/124] PPSSPP: fix --- net.retrodeck.retrodeck.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 80ed3587..f02bc5e5 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -407,7 +407,7 @@ modules: - name: ppsspp buildsystem: cmake-ninja config-opts: - - -DUSE_SYSTEM_FFMPEG=OFF # turn this on? + - -DUSE_SYSTEM_FFMPEG=ON # default: off, turn this on? - -DUSE_SYSTEM_LIBZIP=ON - -DUSE_SYSTEM_ZSTD=ON From 98fe517bd368990c0c8b387d1f1186c8e91b2945 Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Wed, 21 Sep 2022 20:36:12 +0200 Subject: [PATCH 101/124] PPSSPP: restored its ffmpeg --- net.retrodeck.retrodeck.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index f02bc5e5..14b1afea 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -196,7 +196,7 @@ modules: sources: - type: git url: https://github.com/FFmpeg/FFmpeg.git - tag: n5.1 + tag: n5.1.1 - name: freeimage no-autogen: true @@ -477,10 +477,10 @@ modules: dest: ext/zstd commit: a488ba114ec17ea1054b9057c26a046fc122b3b6 url: https://github.com/facebook/zstd.git - #- type: git - # dest: ffmpeg - # commit: 3ad7ddb9eb2af898dce8c4b5e9a28b77b3f7ddd7 - # url: https://github.com/hrydgard/ppsspp-ffmpeg.git + - type: git + dest: ffmpeg + commit: 3ad7ddb9eb2af898dce8c4b5e9a28b77b3f7ddd7 + url: https://github.com/hrydgard/ppsspp-ffmpeg.git - type: git dest: pspautotests commit: 682a4303aba63a50c91ae0fa6928c9dac8ca9b92 From d3520503e96fb10646b81cf82817dd13e9d9b7b8 Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Wed, 21 Sep 2022 23:46:02 +0200 Subject: [PATCH 102/124] PPSSPP: restored its ffmpeg -fix1 --- net.retrodeck.retrodeck.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 14b1afea..dad7b2ec 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -407,7 +407,7 @@ modules: - name: ppsspp buildsystem: cmake-ninja config-opts: - - -DUSE_SYSTEM_FFMPEG=ON # default: off, turn this on? + - -DUSE_SYSTEM_FFMPEG=OFF # default: off, turn this on? - -DUSE_SYSTEM_LIBZIP=ON - -DUSE_SYSTEM_ZSTD=ON From 8980d9cbb46a8cc90ad9314185469dbfb77389d2 Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Sat, 24 Sep 2022 20:28:49 +0200 Subject: [PATCH 103/124] Bugfixes by RavenKilit --- global.sh | 3 ++ net.retrodeck.retrodeck.yml | 23 ++++---- retrodeck.sh | 104 +++++++++++++++++------------------- 3 files changed, 66 insertions(+), 64 deletions(-) diff --git a/global.sh b/global.sh index b67d81f8..9355d61a 100755 --- a/global.sh +++ b/global.sh @@ -79,6 +79,9 @@ then echo "themes_folder=$themes_folder" >> $rd_conf echo "sdcard=$sdcard" >> $rd_conf + echo "Setting config file permissions" + chmod +rwx $rd_conf + # If the config file is existing i just read the variables (source it) else echo "Found RetroDECK config file in $rd_conf" diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index dad7b2ec..17a92647 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -1386,20 +1386,23 @@ modules: buildsystem: simple build-commands: - # Prep the ES-DE and RetroArch config files - I will have to SED/XMLSTARLET them soon + # Initializing retrodeck config folder + - mkdir -p /var/config/retrodeck + + # Prep the ES-DE and RetroArch config files - I will have to SED/XMLSTARLET them soon - rm -rf /app/share/emulationstation/resources/systems/unix/es_find_rules.xml - cp es-configs/es_find_rules.xml /app/share/emulationstation/resources/systems/unix/ - rm -rf /app/share/emulationstation/resources/systems/unix/es_systems.xml - cp es-configs/es_systems.xml /app/share/emulationstation/resources/systems/unix/ - # These must be put in home folder, managed by retrodeck.sh + # These must be put in home folder, managed by retrodeck.sh - cp es-configs/es_settings.xml ${FLATPAK_DEST}/retrodeck/es_settings.xml - # Logo, res + # Logo, res - rm -f /app/share/emulationstation/resources/graphics/splash.svg - cp res/splash.svg /app/share/emulationstation/resources/graphics/splash.svg - cp res/icon.svg /app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg - # Tools + # Tools - mkdir -p ${FLATPAK_DEST}/retrodeck/tools/ - cp tools/* ${FLATPAK_DEST}/retrodeck/tools/ - mv -f es-configs/tools-gamelist.xml ${FLATPAK_DEST}/retrodeck/ @@ -1410,18 +1413,18 @@ modules: - cp global.sh /app/bin/global.sh - chmod +x /app/bin/global.sh - # Desktop entry + # Desktop entry - cp net.retrodeck.retrodeck.desktop /app/share/applications/net.retrodeck.retrodeck.desktop - # TODO: group the configs per-emu and optimize the following cps, like already done with Dolphin. Please not that some files may be renamed, check retrodeck.sh to know how (and fix it after the edit) + # TODO: group the configs per-emu and optimize the following cps, like already done with Dolphin. Please not that some files may be renamed, check retrodeck.sh to know how (and fix it after the edit) - # Initializing default emulator configs + # Initializing default emulator configs - cp -r emu-configs ${FLATPAK_DEST}/retrodeck/emu-configs/ - # Overlays - #- cp -r overlays ${FLATPAK_DEST}/retrodeck/overlays Disabled in 0.4.2b as it will be introduced in 0.5.0b + # Overlays + #- cp -r overlays ${FLATPAK_DEST}/retrodeck/overlays Disabled in 0.4.2b as it will be introduced in 0.5.0b - # Placing appdata + # Placing appdata - mkdir -p ${FLATPAK_DEST}/share/appdata - cp net.retrodeck.retrodeck.appdata.xml ${FLATPAK_DEST}/share/appdata diff --git a/retrodeck.sh b/retrodeck.sh index f8907030..ee2cec90 100644 --- a/retrodeck.sh +++ b/retrodeck.sh @@ -169,7 +169,7 @@ standalones_init() { cp -fv $emuconfigs/ppssppsdl/* /var/config/ppsspp/PSP/SYSTEM/ sed -i 's#/home/deck/retrodeck#'$rdhome'#g' /var/config/ppsspp/PSP/SYSTEM/ppsspp.ini - # PPSSPPSDL + # DUCKSTATION echo "------------------------" echo "Initializing DUCKSTATION" echo "------------------------" @@ -299,40 +299,40 @@ browse(){ done } -advanced(){ - # function to give advanced install options - echo "Advaced choosed" - - choice=$(zenity --icon-name=net.retrodeck.retrodeck --info --no-wrap \ - --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --title "RetroDECK" \ - --ok-label "ROMs" \ - --extra-button "Media" \ - --extra-button "Themes" \ - --extra-button "Back" \ - --text="What do you want to change?\n\nROMS folder = $roms_folder\nMedia folder (scraped data) = $media_folder\nThemes folder=$themes_folder" ) - echo "Choice is $choice" - - case $choice in - - "" ) # Internal (yes) - echo "ROMs" - ;; - - "Media" ) - echo "Media" - ;; - - "Themes" ) - echo "Themes" - ;; - - "Back" ) # Browse + not found fallback - echo "Back" - finit - ;; - - esac -} +#advanced(){ +# # function to give advanced install options +# echo "Advaced choosed" +# +# choice=$(zenity --icon-name=net.retrodeck.retrodeck --info --no-wrap \ +# --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --title "RetroDECK" \ +# --ok-label "ROMs" \ +# --extra-button "Media" \ +# --extra-button "Themes" \ +# --extra-button "Back" \ +# --text="What do you want to change?\n\nROMS folder = $roms_folder\nMedia folder (scraped data) = $media_folder\nThemes folder=$themes_folder" ) +# echo "Choice is $choice" +# +# case $choice in +# +# "" ) # Internal (yes) +# echo "ROMs" +# ;; +# +# "Media" ) +# echo "Media" +# ;; +# +# "Themes" ) +# echo "Themes" +# ;; +# +# "Back" ) # Browse + not found fallback +# echo "Back" +# finit +# ;; +# +# esac +#} finit() { # Force/First init, depending on the situation @@ -342,24 +342,24 @@ finit() { # Internal or SD Card? choice=$(zenity --icon-name=net.retrodeck.retrodeck --info --no-wrap \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --title "RetroDECK" \ - --ok-label "Internal" \ + --ok-label "Cancel" \ + --extra-button "Internal" \ --extra-button "SD Card" \ - --extra-button "Advanced" \ - --extra-button "Cancel" \ + #--extra-button "Advanced" \ --text="Welcome to the first configuration of RetroDECK.\nThe setup will be quick but please READ CAREFULLY each message in order to avoid misconfigurations.\n\nWhere do you want your roms folder to be located?" ) echo "Choice is $choice" case $choice in - "" ) # Internal (yes) - echo "Internal selected" - roms_folder="$rdhome/roms" - ;; - - "Cancel" ) + "" ) # Cancel or X button quits echo "Now quitting" kill $$ - ;; + ;; + + "Internal" ) # Internal + echo "Internal selected" + roms_folder="$rdhome/roms" + ;; "SD Card" ) echo "SD Card selected" @@ -376,16 +376,12 @@ finit() { roms_folder="$sdcard/retrodeck/roms" # sdcard variable is correct as its given by browse function echo "ROMs folder = $roms_folder" fi - ;; + ;; - "Advanced" ) # Browse + not found fallback - echo "Advanced" - advanced - ;; - - 1 ) # X button quits - kill $$ - ;; + #"Advanced" ) # Browse + not found fallback + # echo "Advanced" + # advanced + #;; esac From c896d943ac487ea65bbf39eff1d4b8e248d7e103 Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Sat, 24 Sep 2022 20:38:40 +0200 Subject: [PATCH 104/124] Updated appdata --- net.retrodeck.retrodeck.appdata.xml | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/net.retrodeck.retrodeck.appdata.xml b/net.retrodeck.retrodeck.appdata.xml index c2790b28..c750ca63 100644 --- a/net.retrodeck.retrodeck.appdata.xml +++ b/net.retrodeck.retrodeck.appdata.xml @@ -68,17 +68,16 @@ <ul> <li>IMPORTANT: Started saves migration, the saves are being moved to retrodeck/saves/systemname/emulator, so if the emulator cannot load your saves you have to move them to the new path</li> <li>Theme revamp and more themes available such as the old one</li> - <li>A custom ROMs folder can be now selected during the first setup.</li> <li>Updated RetroArch and its cores from 1.10.2 to 1.10.3</li> - <li>Updated all the standalone emulators to their latrest releases</li> - <li>Updated ES-DE to the 1.2.6</li> - <li>Removed the unavailable emualtors fom the ES-DE list to avoid confusion</li> + <li>Updated all the standalone emulators to their latest releases</li> + <li>Updated ES-DE to 1.2.6</li> + <li>Removed the unavailable emualtors from the ES-DE list to avoid confusion</li> <li>Updated XEMU configurations and added its (free) assets</li> - <li>Added assets for RetroArch, PPSSPP and BlueMSX (libretro)</li> - <li>New emulator: PCSX2-QT, it's now the default PS2 emulator. Former PCSX2 emulator is now callerd PCSX2 (Legacy).</li> + <li>Added free assets for RetroArch, PPSSPP and BlueMSX (libretro)</li> + <li>New emulator: PCSX2-QT, it's now the default PS2 emulator. Former PCSX2 emulator is now called PCSX2 (Legacy).</li> <li>New emualtor: Duckstation for PSX.</li> - <li>New varialbes system: now some variables such as game folder location are saved in /app/retrodeck/retrodeck.cfg.</li> - <li>Solved an issue where Dolphin (Standalone) was not save in the intended riectories.</li> + <li>New varialbes system: now some variables such as game folder location are saved in /var/config/retrodeck/retrodeck.cfg.</li> + <li>Solved an issue where Dolphin (Standalone) was not saving in the intended riectories.</li> </ul> </description> From 7a85e4fdbedf6933cf0863dfba4e19592612bc35 Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Sun, 25 Sep 2022 19:48:17 +0200 Subject: [PATCH 105/124] ES-DE: disabled halt on invalid media files --- es-configs/es_settings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/es-configs/es_settings.xml b/es-configs/es_settings.xml index 599b3987..15a842eb 100644 --- a/es-configs/es_settings.xml +++ b/es-configs/es_settings.xml @@ -55,7 +55,7 @@ <bool name="ScrapeTitleScreens" value="false" /> <bool name="ScrapeVideos" value="true" /> <bool name="ScraperExcludeRecursively" value="true" /> -<bool name="ScraperHaltOnInvalidMedia" value="true" /> +<bool name="ScraperHaltOnInvalidMedia" value="false" /> <bool name="ScraperIncludeFolders" value="false" /> <bool name="ScraperInteractive" value="false" /> <bool name="ScraperOverwriteData" value="false" /> From d6216f945e519c342996f95f9a31b8101db3c09d Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Sun, 25 Sep 2022 19:57:32 +0200 Subject: [PATCH 106/124] Yuzu: flathub workaround --- net.retrodeck.retrodeck.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 17a92647..d7510677 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -635,6 +635,7 @@ modules: - install -Dm755 ../yuzu-launcher.sh /app/bin/yuzu-launcher - install -Dm644 ../dist/yuzu.svg /app/share/icons/hicolor/scalable/apps/yuzu.svg sources: + - disable-submodules: true # FLATHUB WORKAROUND - type: git url: https://github.com/yuzu-emu/yuzu-mainline.git tag: mainline-0-1171 From 30d779281b8a41cfebda708b9e63ff1710078bee Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Tue, 27 Sep 2022 14:05:40 +0200 Subject: [PATCH 107/124] RPCS3 installer, proto script --- tools/rpcs3-installer.sh.proto | 37 ++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 tools/rpcs3-installer.sh.proto diff --git a/tools/rpcs3-installer.sh.proto b/tools/rpcs3-installer.sh.proto new file mode 100644 index 00000000..282a62cb --- /dev/null +++ b/tools/rpcs3-installer.sh.proto @@ -0,0 +1,37 @@ +#!/bin/bash + +THIS MUST BE PUT IN RETRODECK.SH +mkdir -p $rdhome/roms/ps3/emudir +mkdir -p $rdhome/roms/ps3/dump + +zenity: "Hey I will destroy everything in $rdhome/roms/ps3/dump" + +zenity: this will take a while, have a coffee + +rpcs3 --installpkg $rdhome/roms/ps3/dump/* + +for each folder in $rdhome/roms/ps3/emudir/dev_hdd0/game/ + + gameid=foldername + + if gamename.desktop doesnt exist + + gamename=we need a file with ID - names + echo in $rdhome/roms/ps3/$gamname.desktop EOF<< + + [Desktop Entry] + Encoding=UTF-8 + Version=1.0 + Type=Application + Terminal=false + Name=$gamename + Exec="source global.sh && rpcs3 --no-gui $rdhome/roms/ps3/emudir/dev_hdd0/game/$gameid" + Icon="$rdhome/roms/ps3/emudir/dev_hdd0/game/$gameid/ICON0.PNG" +EOF + + fi +done + +rm -rf $rdhome/roms/ps3/dump/* + +zenity: done, restart retrodeck please \ No newline at end of file From 082d3c026be298ddcab2f3a1dfcf86dbef9d16d9 Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Tue, 27 Sep 2022 14:09:20 +0200 Subject: [PATCH 108/124] RPCS3: added desktop extension --- es-configs/es_systems.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/es-configs/es_systems.xml b/es-configs/es_systems.xml index 4899e218..e58e0e00 100644 --- a/es-configs/es_systems.xml +++ b/es-configs/es_systems.xml @@ -1082,7 +1082,7 @@ <name>ps3</name> <fullname>Sony PlayStation 3</fullname> <path>%ROMPATH%/ps3</path> - <extension>.desktop .ps3 .PS3 .ps3dir .PS3DIR</extension> + <extension>.desktop .ps3 .PS3 .ps3dir .PS3DIR .desktop .DESKTOP</extension> <command label="RPCS3 Shortcut (Standalone)">%ENABLESHORTCUTS% %EMULATOR_OS-SHELL% %ROM%</command> <command label="RPCS3 Directory (Standalone)">%EMULATOR_RPCS3% --no-gui %ROM%</command> <platform>ps3</platform> From 4912ec1dcaa972721916602d341bd923438045f5 Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Tue, 27 Sep 2022 14:09:56 +0200 Subject: [PATCH 109/124] RPCS3: desktop extension was already there lol --- es-configs/es_systems.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/es-configs/es_systems.xml b/es-configs/es_systems.xml index e58e0e00..4899e218 100644 --- a/es-configs/es_systems.xml +++ b/es-configs/es_systems.xml @@ -1082,7 +1082,7 @@ <name>ps3</name> <fullname>Sony PlayStation 3</fullname> <path>%ROMPATH%/ps3</path> - <extension>.desktop .ps3 .PS3 .ps3dir .PS3DIR .desktop .DESKTOP</extension> + <extension>.desktop .ps3 .PS3 .ps3dir .PS3DIR</extension> <command label="RPCS3 Shortcut (Standalone)">%ENABLESHORTCUTS% %EMULATOR_OS-SHELL% %ROM%</command> <command label="RPCS3 Directory (Standalone)">%EMULATOR_RPCS3% --no-gui %ROM%</command> <platform>ps3</platform> From 6bae283239d14f622cb399a8624dac7a5412084e Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Tue, 27 Sep 2022 15:18:17 +0200 Subject: [PATCH 110/124] Fixed tools section --- es-configs/es_systems.xml | 2 +- tools/rpcs3-installer.sh.proto | 20 +++++++++++++++++++- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/es-configs/es_systems.xml b/es-configs/es_systems.xml index 4899e218..07087026 100644 --- a/es-configs/es_systems.xml +++ b/es-configs/es_systems.xml @@ -1612,7 +1612,7 @@ <theme>zxspectrum</theme> </system> <system> - <name>zzztools</name> + <name>tools</name> <fullname>RetroDECK Tools</fullname> <path>/var/config/retrodeck/tools</path> <extension>.sh .SH</extension> diff --git a/tools/rpcs3-installer.sh.proto b/tools/rpcs3-installer.sh.proto index 282a62cb..71f81684 100644 --- a/tools/rpcs3-installer.sh.proto +++ b/tools/rpcs3-installer.sh.proto @@ -2,12 +2,30 @@ THIS MUST BE PUT IN RETRODECK.SH mkdir -p $rdhome/roms/ps3/emudir -mkdir -p $rdhome/roms/ps3/dump +#mkdir -p $rdhome/roms/ps3/dump cannot install in nogui + +#user must install via emulator + +source global.sh + +install_ps3_fw(){ + + # Implement a check to see if the firmware is already installed then call this function + + mkdir -p $rdhome/roms/ps3/.emudir + + mkdir -p $rdhome/roms/ps3/tmp + chmod 777 $rdhome/roms/ps3/tmp + wget http://dus01.ps3.update.playstation.net/update/ps3/image/us/2022_0510_95307e1b51d3bcc33a274db91488d29f/PS3UPDAT.PUP -P $rdhome/roms/ps3/tmp/ + rpcs3 --installfw $rdhome/roms/ps3/tmp/PS3UPDAT.PUP + rm -rf $rdhome/roms/ps3/tmp +} zenity: "Hey I will destroy everything in $rdhome/roms/ps3/dump" zenity: this will take a while, have a coffee +# this seems not to be working as rpcs3 doesn't support installation in --no-gui mode rpcs3 --installpkg $rdhome/roms/ps3/dump/* for each folder in $rdhome/roms/ps3/emudir/dev_hdd0/game/ From 5a4fad3c157f0e19f6c883cbb9920f17f48807e4 Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Tue, 27 Sep 2022 15:22:04 +0200 Subject: [PATCH 111/124] Fixed RPCS3 proto loader --- tools/rpcs3-installer.sh.proto | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/rpcs3-installer.sh.proto b/tools/rpcs3-installer.sh.proto index 71f81684..62b8885b 100644 --- a/tools/rpcs3-installer.sh.proto +++ b/tools/rpcs3-installer.sh.proto @@ -43,8 +43,8 @@ for each folder in $rdhome/roms/ps3/emudir/dev_hdd0/game/ Type=Application Terminal=false Name=$gamename - Exec="source global.sh && rpcs3 --no-gui $rdhome/roms/ps3/emudir/dev_hdd0/game/$gameid" - Icon="$rdhome/roms/ps3/emudir/dev_hdd0/game/$gameid/ICON0.PNG" + Exec=rpcs3 --no-gui $rdhome/roms/ps3/emudir/dev_hdd0/game/$gameid + Icon=$rdhome/roms/ps3/emudir/dev_hdd0/game/$gameid/ICON0.PNG EOF fi From 1e6ff2ecf8e995f1ff84aa3ca854ef00ac3310c0 Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Tue, 27 Sep 2022 15:51:36 +0200 Subject: [PATCH 112/124] RPCS3: tweaked config --- emu-configs/{ => rpcs3}/config.yml | 33 ++++++++++++++------ emu-configs/rpcs3/vfs.yml | 49 ++++++++++++++++++++++++++++++ retrodeck.sh | 3 +- 3 files changed, 74 insertions(+), 11 deletions(-) rename emu-configs/{ => rpcs3}/config.yml (87%) create mode 100644 emu-configs/rpcs3/vfs.yml diff --git a/emu-configs/config.yml b/emu-configs/rpcs3/config.yml similarity index 87% rename from emu-configs/config.yml rename to emu-configs/rpcs3/config.yml index b57d6713..b8555168 100644 --- a/emu-configs/config.yml +++ b/emu-configs/rpcs3/config.yml @@ -11,18 +11,21 @@ Core: Thread Scheduler Mode: Operating System Set DAZ and FTZ: false SPU Decoder: Recompiler (LLVM) - SPU GETLLAR polling detection: false + SPU Reservation Busy Waiting Percentage: 0 + SPU GETLLAR Busy Waiting Percentage: 100 SPU Debug: false MFC Debug: false - Preferred SPU Threads: 0 + Preferred SPU Threads: 1 SPU delay penalty: 3 SPU loop detection: false Max SPURS Threads: 6 - SPU Block Size: Safe + SPU Block Size: Mega Accurate GETLLAR: false Accurate SPU DMA: false + Accurate SPU Reservations: true Accurate Cache Line Stores: false Accurate RSX reservation access: false + RSX FIFO Accuracy: Fast SPU Verification: true SPU Cache: true SPU Profiler: false @@ -53,6 +56,10 @@ Core: TSX Transaction First Limit: 800 TSX Transaction Second Limit: 2000 Clocks scale: 100 + SPU Wake-Up Delay: 0 + SPU Wake-Up Delay Thread Mask: 63 + Max CPU Preempt Count: 0 + Allow RSX CPU Preemptions: true Sleep Timers Accuracy: As Host Performance Report Threshold: 500 Enable Performance Report: false @@ -62,6 +69,7 @@ VFS: Initialize Directories: true Limit disk cache size: false Disk cache maximum size (MB): 5120 + Empty /dev_hdd0/tmp/: true Video: Renderer: Vulkan Resolution: 1280x720 @@ -83,6 +91,7 @@ Video: Force High Precision Z buffer: false Strict Rendering Mode: false Disable ZCull Occlusion Queries: false + Disable Video Output: false Disable Vertex Cache: false Disable FIFO Reordering: false Enable Frame Skip: false @@ -91,7 +100,7 @@ Video: Disable Vulkan Memory Allocator: false Use full RGB output range: true Strict Texture Flushing: false - Disable native float16 support: false + Disable native float16 support: true Multithreaded RSX: false Relaxed ZCULL Sync: false Enable 3D: false @@ -120,7 +129,7 @@ Video: Asynchronous Texture Streaming 2: false Enable FidelityFX Super Resolution Upscaling: false FidelityFX CAS Sharpening Intensity: 50 - Asynchronous Queue Scheduler: Safe + Asynchronous Queue Scheduler: Fast Performance Overlay: Enabled: false Enable Framerate Graph: false @@ -159,7 +168,7 @@ Audio: Master Volume: 100 Enable Buffering: true Desired Audio Buffer Duration: 100 - Enable Time Stretching: false + Enable Time Stretching: true Time Stretching Threshold: 75 Microphone Type: "Null" Microphone Devices: "@@@@@@@@@@@@" @@ -189,15 +198,19 @@ Net: DNS address: 8.8.8.8 IP swap list: "" PSN status: Disconnected +Savestate: + Start Paused: false + Suspend Emulation Savestate Mode: true + Inspection Mode Savestates: false + Save Disc Game Data: false Miscellaneous: Automatically start games after boot: true - Exit RPCS3 when process finishes: false - Start games in fullscreen mode: false + Exit RPCS3 when process finishes: true + Start games in fullscreen mode: true Prevent display sleep while running games: true Show trophy popups: true Show shader compilation hint: true Use native user interface: true GDB Server: 127.0.0.1:2345 Silence All Logs: false - Window Title Format: "FPS: %F | %R | %V | %T [%t]" -Log: {} \ No newline at end of file + Window Title Format: "FPS: %F | %R | %V | %T [%t]" \ No newline at end of file diff --git a/emu-configs/rpcs3/vfs.yml b/emu-configs/rpcs3/vfs.yml new file mode 100644 index 00000000..f5b89a9f --- /dev/null +++ b/emu-configs/rpcs3/vfs.yml @@ -0,0 +1,49 @@ +$(EmulatorDir): "/home/deck/retrodeck/roms/ps3/emudir" +/dev_hdd0/: $(EmulatorDir)dev_hdd0/ +/dev_hdd1/: $(EmulatorDir)dev_hdd1/ +/dev_flash/: $(EmulatorDir)dev_flash/ +/dev_flash2/: $(EmulatorDir)dev_flash2/ +/dev_flash3/: $(EmulatorDir)dev_flash3/ +/dev_bdvd/: $(EmulatorDir)dev_bdvd/ +/app_home/: "" +/dev_usb***/: + /dev_usb000: + Path: $(EmulatorDir)dev_usb000/ + Serial: "" + VID: "" + PID: "" + /dev_usb001: + Path: "" + Serial: "" + VID: "" + PID: "" + /dev_usb002: + Path: "" + Serial: "" + VID: "" + PID: "" + /dev_usb003: + Path: "" + Serial: "" + VID: "" + PID: "" + /dev_usb004: + Path: "" + Serial: "" + VID: "" + PID: "" + /dev_usb005: + Path: "" + Serial: "" + VID: "" + PID: "" + /dev_usb006: + Path: "" + Serial: "" + VID: "" + PID: "" + /dev_usb007: + Path: "" + Serial: "" + VID: "" + PID: "" \ No newline at end of file diff --git a/retrodeck.sh b/retrodeck.sh index ee2cec90..122ebcef 100644 --- a/retrodeck.sh +++ b/retrodeck.sh @@ -144,7 +144,8 @@ standalones_init() { echo "Initializing RPCS3" echo "------------------------" mkdir -pv /var/config/rpcs3/ - cp -fvr $emuconfigs/config.yml /var/config/rpcs3/ + cp -fvr $emuconfigs/rpcs3/* /var/config/rpcs3/ + sed -i 's#/home/deck/retrodeck#'$rdhome'#g' /var/config/rpcs3/vfs.yml # XEMU echo "------------------------" From 8a0e645bc0046369ce05dd37c7b78bf61587106b Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Tue, 27 Sep 2022 17:06:39 +0200 Subject: [PATCH 113/124] RA: enabled advanced settings --- emu-configs/retroarch.cfg | 2 +- retrodeck.sh | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/emu-configs/retroarch.cfg b/emu-configs/retroarch.cfg index 265c05f8..5d0577b1 100644 --- a/emu-configs/retroarch.cfg +++ b/emu-configs/retroarch.cfg @@ -2821,7 +2821,7 @@ menu_screensaver_timeout = "0" menu_scroll_delay = "256" menu_scroll_fast = "false" menu_shader_pipeline = "2" -menu_show_advanced_settings = "false" +menu_show_advanced_settings = "true" menu_show_configurations = "true" menu_show_core_updater = "false" menu_show_dump_disc = "true" diff --git a/retrodeck.sh b/retrodeck.sh index 122ebcef..12d2ed94 100644 --- a/retrodeck.sh +++ b/retrodeck.sh @@ -261,6 +261,9 @@ post_update() { # Resetting es_systems, now we need it but in the future I should think a better solution, maybe with sed cp -fv /app/retrodeck/es_settings.xml /var/config/emulationstation/.emulationstation/es_settings.xml + # 0.4 -> 0.5 + # Saves migration - Part 1: Standalones + ra_init standalones_init tools_init From ef2186b5a135097a2a6dfb3f7a85b2120c7c08ad Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Tue, 27 Sep 2022 17:10:25 +0200 Subject: [PATCH 114/124] RA: enabled touch mode --- emu-configs/retroarch.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/emu-configs/retroarch.cfg b/emu-configs/retroarch.cfg index 5d0577b1..db4b873e 100644 --- a/emu-configs/retroarch.cfg +++ b/emu-configs/retroarch.cfg @@ -2809,7 +2809,7 @@ menu_mouse_enable = "true" menu_navigation_browser_filter_supported_extensions_enable = "true" menu_navigation_wraparound_enable = "true" menu_pause_libretro = "true" -menu_pointer_enable = "false" +menu_pointer_enable = "true" menu_rgui_full_width_layout = "true" menu_rgui_shadows = "false" menu_rgui_transparency = "true" From 966ec539ddf14e0ffca87925467d885cb2f895e0 Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Tue, 27 Sep 2022 17:55:30 +0200 Subject: [PATCH 115/124] Save migration - imp1 --- retrodeck.sh | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/retrodeck.sh b/retrodeck.sh index 12d2ed94..dbd9b243 100644 --- a/retrodeck.sh +++ b/retrodeck.sh @@ -108,7 +108,7 @@ standalones_init() { cp -fvr $emuconfigs/PCSX2/* /var/config/PCSX2/inis/ sed -i 's#~/retrodeck#'$rdhome'#g' /var/config/PCSX2/inis/PCSX2_ui.ini sed -i 's#~/retrodeck#'$rdhome'#g' /var/config/PCSX2/inis/PCSX2.ini - dir_prep "$rdhome/states" "/var/config/PCSX2/sstates" + dir_prep "$rdhome/states/ps2/pcsx2" "/var/config/PCSX2/sstates" dir_prep "$rdhome/screenshots" "/var/config/PCSX2/snaps" dir_prep "$rdhome/.logs" "/var/config/PCSX2/logs" dir_prep "$rdhome/bios" "$rdhome/bios/pcsx2" @@ -263,6 +263,22 @@ post_update() { # 0.4 -> 0.5 # Saves migration - Part 1: Standalones + + #mv -fv OLD_CITRA_SAVES ~/retrodeck/saves/n3ds/citra/nand/ + #mv -fv OLD_CITRA_STATES ~/retrodeck/saves/n3ds/citra/sdmc/ + + mv -fv /home/deck/retrodeck/states/*.ml* ~/retrodeck/states/nds/melonds + + #eeprom_path = '/home/deck/retrodeck/saves/xbox/xemu/xbox-eeprom.bin' + #SavesPath = ~/retrodeck/saves/gba + #WiiSDCardPath = ~/retrodeck/saves/wii/dolphin/sd.raw + + mv -fv /home/deck/.var/app/net.retrodeck.retrodeck/config/PCSX2/memcards/* ~/retrodeck/saves/ps2/memcards + + #SaveStates = ~/retrodeck/states/ps2/pcsx2 + #MemoryCards = ~/retrodeck/saves/ps2/pcsx2/memcards + + #ppsspp? ra_init standalones_init From 9f6d61e30a9ebee056ea3e72a0f4b888323964a9 Mon Sep 17 00:00:00 2001 From: XargonWan <XargonWan@gmail.com> Date: Tue, 27 Sep 2022 18:01:38 +0200 Subject: [PATCH 116/124] Save migration - imp2 --- retrodeck.sh | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/retrodeck.sh b/retrodeck.sh index dbd9b243..71de4556 100644 --- a/retrodeck.sh +++ b/retrodeck.sh @@ -151,7 +151,7 @@ standalones_init() { echo "------------------------" echo "Initializing XEMU" echo "------------------------" - mkdir -pv $rdhome/saves/xemu + mkdir -pv $rdhome/saves/xbox/xemu/ cp -fv $emuconfigs/xemu.toml /var/data/xemu/xemu.toml sed -i 's#/home/deck/retrodeck#'$rdhome'#g' /var/data/xemu/xemu.toml # Preparing HD dummy Image if the image is not found @@ -264,19 +264,14 @@ post_update() { # 0.4 -> 0.5 # Saves migration - Part 1: Standalones - #mv -fv OLD_CITRA_SAVES ~/retrodeck/saves/n3ds/citra/nand/ - #mv -fv OLD_CITRA_STATES ~/retrodeck/saves/n3ds/citra/sdmc/ + #mv -fv OLD_CITRA_SAVES $rdhome/saves/n3ds/citra/nand/ + #mv -fv OLD_CITRA_STATES $rdhome/saves/n3ds/citra/sdmc/ - mv -fv /home/deck/retrodeck/states/*.ml* ~/retrodeck/states/nds/melonds + mv -fv $rdhome/states/*.ml* $rdhome/states/nds/melonds - #eeprom_path = '/home/deck/retrodeck/saves/xbox/xemu/xbox-eeprom.bin' - #SavesPath = ~/retrodeck/saves/gba - #WiiSDCardPath = ~/retrodeck/saves/wii/dolphin/sd.raw + mv -fv $rdhome/saves/xemu/* $rdhome/saves/xbox/xemu/ - mv -fv /home/deck/.var/app/net.retrodeck.retrodeck/config/PCSX2/memcards/* ~/retrodeck/saves/ps2/memcards - - #SaveStates = ~/retrodeck/states/ps2/pcsx2 - #MemoryCards = ~/retrodeck/saves/ps2/pcsx2/memcards + mv -fv /var/config/PCSX2/memcards/* $rdhome/saves/ps2/memcards #ppsspp? From f4c5f2c987a83ff25492a04c036110a4c355c905 Mon Sep 17 00:00:00 2001 From: icenine451 <benjamin.r.shelton@protonmail.com> Date: Thu, 29 Sep 2022 17:26:02 -0400 Subject: [PATCH 117/124] Function to sort saves/states into system folders --- emu-configs/retroarch.cfg | 4 +- global.sh | 4 ++ retrodeck.sh | 111 +++++++++++++++++++++++++++++++++++++- 3 files changed, 116 insertions(+), 3 deletions(-) diff --git a/emu-configs/retroarch.cfg b/emu-configs/retroarch.cfg index 265c05f8..b4da870c 100644 --- a/emu-configs/retroarch.cfg +++ b/emu-configs/retroarch.cfg @@ -3067,9 +3067,9 @@ show_hidden_files = "false" slowmotion_ratio = "3.000000" soft_filter_enable = "false" soft_filter_index = "0" -sort_savefiles_by_content_enable = "false" +sort_savefiles_by_content_enable = "true" sort_savefiles_enable = "false" -sort_savestates_by_content_enable = "false" +sort_savestates_by_content_enable = "true" sort_savestates_enable = "false" sort_screenshots_by_content_enable = "false" state_slot = "0" diff --git a/global.sh b/global.sh index b67d81f8..6547d9c0 100755 --- a/global.sh +++ b/global.sh @@ -66,6 +66,8 @@ then version="$hard_version" # if we are here means that the we are in a new installation, so the version is valorized with the hardcoded one rdhome="$HOME/retrodeck" # the retrodeck home, aka ~/retrodeck roms_folder="$rdhome/roms" # the default roms folder path + saves_folder="$rdhome/saves" # the default saves folder path + states_folder="$rdhome/states" # the default states folder path media_folder="$rdhome/downloaded_media" # the media folder, where all the scraped data is downloaded into themes_folder="$rdhome/themes" # the themes folder sdcard="$default_sd" # Steam Deck SD default path @@ -75,6 +77,8 @@ then echo "version=$version" >> $rd_conf echo "rdhome=$rdhome" >> $rd_conf echo "roms_folder=$roms_folder" >> $rd_conf + echo "saves_folder=$saves_folder" >> $rd_conf + echo "states_folder=$states_folder" >> $rd_conf echo "media_folder=$media_folder" >> $rd_conf echo "themes_folder=$themes_folder" >> $rd_conf echo "sdcard=$sdcard" >> $rd_conf diff --git a/retrodeck.sh b/retrodeck.sh index f8907030..374eff4f 100644 --- a/retrodeck.sh +++ b/retrodeck.sh @@ -185,7 +185,7 @@ standalones_init() { ra_init() { dir_prep "$rdhome/bios" "/var/config/retroarch/system" - dir_prep "$rdhome/.logs/retroarch" "/var/config/retroarch/logs" + dir_prep "$rdhome/.logs/retroarch" "/var/config/retroarch/logs" mkdir -pv /var/config/retroarch/cores/ cp /app/share/libretro/cores/* /var/config/retroarch/cores/ cp -fv $emuconfigs/retroarch.cfg /var/config/retroarch/ @@ -264,6 +264,115 @@ post_update() { standalones_init tools_init + versionwheresaveschanged="0.4.5b" # Hardcoded break point between unsorted and sorted saves + + if [[ $(sed -e "s/\.//g" <<< $hard_version) > $(sed -e "s/\.//g" <<< $versionwheresaveschanged) ]] && [[ ! $(sed -e "s/\.//g" <<< $hard_version) == $(sed -e "s/\.//g" <<< $version) ]]; then # Check if user is upgrading from the version where save organization was changed. Try not to reuse this, it things 0.4.5b is newer than 0.4.5 + migration_logfile=$rdhome/.logs/savemove_"$(date +"%Y_%m_%d_%I_%M_%p").log" + save_backup_file=$rdhome/savebackup_"$(date +"%Y_%m_%d_%I_%M_%p").zip" + state_backup_file=$rdhome/statesbackup_"$(date +"%Y_%m_%d_%I_%M_%p").zip" + + # NOTE: This Zenity command may need to be one line, it broke when I pasted it into a sandbox file + + zenity --icon-name=net.retrodeck.retrodeck --info --no-wrap \ + --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ + --title "RetroDECK" \ + --text="You are updating to a version of RetroDECK where save and state file sorting has changed!\n\nYour existing saves will be backed up to $save_backup_file\n\nYour existing states will be backed up to $state_backup_file\n\nIf a save or state cannot be sorted automatically it will remain in its original directory so you can sort it manually.\n\nIf you encounter any issues, a log of the sorting process is stored at $migration_logfile" + + allgames=($(find "$roms_folder" -maxdepth 2 -mindepth 2 ! -name "systeminfo.txt" ! -name "systems.txt" ! -name "*^*" | sed -e "s/ /\^/g")) # Build an array of all games and multi-disc-game-containing folders, adding whitespace placeholder + + allsaves=($(find "$saves_folder" -mindepth 1 -maxdepth 1 -name "*.*" | sed -e "s/ /\^/g")) # Build an array of all save files, ignoring standalone emulator sub-folders, adding whitespace placeholder + + allstates=($(find "$states_folder" -mindepth 1 -maxdepth 1 -name "*.*" | sed -e "s/ /\^/g")) # Build an array of all state files, ignoring standalone emulator sub-folders, adding whitespace placeholder + + totalsaves=${#allsaves[@]} + totalstates=${#allstates[@]} + filesleft= + current_dest_folder= + gamestoskip= + + tar -C $rdhome -czf $save_backup_file saves # Backup save directory for safety + echo "Saves backed up to" $save_backup_file >> $migration_logfile + tar -C $rdhome -czf $state_backup_file states # Backup state directory for safety + echo "States backed up to" $state_backup_file >> $migration_logfile + + ( + movefile() { # Take matching save and rom files and sort save into appropriate system folder + echo "# $filesleft files remaining..." # These lines update the Zenity progress bar + progress=$(( 100 - (( 100 / "$totalfiles" ) * "$filesleft" ))) + echo $progress + filesleft=$((filesleft-1)) + if [[ ! " ${gamestoskip[*]} " =~ " ${1} " ]]; then # If the current game name exists multiple times in array ie. /roms/snes/Mortal Kombat 3.zip and /roms/genesis/Mortal Kombat 3.zip, skip and alert user to sort manually + game=$(sed -e "s/\^/ /g" <<< "$1") # Remove whitespace placeholder + gamebasename=$(basename "$game" | sed -e 's/\..*//') # Extract pure file name ie. /roms/snes/game1.zip becomes game1 + systemdir="$(basename "$(dirname "$1")")" # Extract parent directory identifying system ROM belongs to + matches=($(find "$roms_folder" -maxdepth 2 -mindepth 2 -name "$gamebasename"".*" | sed -e 's/ /^/g' | sed -e 's/\..*//')) # Search for multiple instances of pure game name, adding to skip list if found + if [[ ${#matches[@]} -gt 1 ]]; then + echo "ERROR: Multiple ROMS found with name:" $gamebasename "Please sort saves and states for these ROMS manually" >> $migration_logfile + gamestoskip+=("$1") + return + fi + echo "INFO: Examining ROM file:" "$game" >> $migration_logfile + echo "INFO: System detected as" $systemdir >> $migration_logfile + sosfile=$(sed -e "s/\^/ /g" <<< "$2") # Remove whitespace placeholder from s-ave o-r s-tate file + sosbasename="$(basename "$save")" # Extract pure file name ie. /saves/game1.sav becomes game1 + echo "INFO: Current save or state being examined for match:" $sosfile >> $migration_logfile + echo "INFO: Matching save or state" $sosfile "and game" $game "found." >> $migration_logfile + echo "INFO: Moving save or state to" $current_dest_folder"/"$systemdir"/"$sosbasename >> $migration_logfile + if [[ ! -d $current_dest_folder"/"$systemdir ]]; then # If system directory doesn't exist for save yet, create it + mkdir $current_dest_folder"/"$systemdir + fi + mv \'$sosfile\' $current_dest_folder"/"$systemdir\/\'$sosbasename\' # Move save to appropriate system directory + else + echo "WARNING: Game with name" "$(basename "$1" | sed -e "s/\^/ /g")" "already found. Skipping to next game..." >> $migration_logfile # Inform user of game being skipped due to duplicate ROM names + fi + } + + find "$roms_folder" -mindepth 2 -maxdepth 2 -name "*\^*" -exec echo "ERROR: Game named" {} "found, please move save manually" \; >> $migration_logfile # Warn user if any of their files have the whitespace replacement character used by the script + + totalfiles=$totalsaves #set variables for save file migration + filesleft=$totalsaves + current_dest_folder=$saves_folder + + for i in "${allsaves[@]}"; do # For each save file, compare to every ROM file name looking for a match + found= + currentsave=($(basename "$i" | sed -e 's/\..*//')) # Extract pure file name ie. /saves/game1.sav becomes game1 + for j in "${allgames[@]}"; do + currentgame=($(basename "$j" | sed -e 's/\..*//')) # Extract pure file name ie. /roms/snes/game1.zip becomes game1 + [[ $currentgame == $currentsave ]] && { found=1; break; } # If names match move to next stage, otherwise skip + done + [[ -n $found ]] && movefile $j $i || echo "ERROR: No ROM match found for save file" $i | sed -e 's/\^/ /g' >> $migration_logfile # If a match is found, run movefile() otherwise warn user of stranded save file + done + + totalfiles=$totalstates #set variables for state file migration + filesleft=$totalstates + current_dest_folder=$states_folder + + for i in "${allstates[@]}"; do # For each state file, compare to every ROM file name looking for a match + found= + currentstate=($(basename "$i" | sed -e 's/\..*//')) # Extract pure file name ie. /states/game1.sav becomes game1 + for j in "${allgames[@]}"; do + currentgame=($(basename "$j" | sed -e 's/\..*//')) # Extract pure file name ie. /roms/snes/game1.zip becomes game1 + [[ $currentgame == $currentstate ]] && { found=1; break; } # If names match move to next stage, otherwise skip + done + [[ -n $found ]] && movefile $j $i || echo "ERROR: No ROM match found for state file" $i | sed -e 's/\^/ /g' >> $migration_logfile # If a match is found, run movefile() otherwise warn user of stranded state file + done + + ) | + zenity --progress \ + --icon-name=net.retrodeck.retrodeck \ + --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ + --title="Processing Files" \ + --text="# files remaining..." \ + --percentage=0 \ + --no-cancel \ + --auto-close + + # NOTE: This Zenity command may need to be one line, it broke when I pasted it into a sandbox file + + else + echo "Version" $version "is after the save and state organization was changed, no need to sort again" + fi + create_lock } From 4f8f771f151f0c910ed7e1cbe9ce83a5fb68b109 Mon Sep 17 00:00:00 2001 From: icenine451 <benjamin.r.shelton@protonmail.com> Date: Sat, 1 Oct 2022 09:58:05 -0400 Subject: [PATCH 118/124] Add new variables to be written to rd_conf --- global.sh | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/global.sh b/global.sh index 6547d9c0..f64efebd 100755 --- a/global.sh +++ b/global.sh @@ -34,6 +34,16 @@ conf_write() { sed -i "s%roms_folder=.*%roms_folder=$roms_folder%" "$rd_conf" fi + if [ ! -z "$saves_folder" ] + then + sed -i "s%saves_folder=.*%saves_folder=$saves_folder%" "$rd_conf" + fi + + if [ ! -z "$states_folder" ] + then + sed -i "s%states_folder=.*%states_folder=$states_folder%" "$rd_conf" + fi + if [ ! -z "$media_folder" ] then sed -i "s%media_folder=.*%media_folder=$media_folder%" "$rd_conf" From a0a3017336dfa7ab1368c9fa41f1aef2dcb9c5e5 Mon Sep 17 00:00:00 2001 From: icenine451 <benjamin.r.shelton@protonmail.com> Date: Sat, 1 Oct 2022 11:44:12 -0400 Subject: [PATCH 119/124] Fix some bugs and add some extra logs --- retrodeck.sh | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/retrodeck.sh b/retrodeck.sh index 374eff4f..5f60f394 100644 --- a/retrodeck.sh +++ b/retrodeck.sh @@ -264,6 +264,8 @@ post_update() { standalones_init tools_init + # Perform save and state migration if needed + versionwheresaveschanged="0.4.5b" # Hardcoded break point between unsorted and sorted saves if [[ $(sed -e "s/\.//g" <<< $hard_version) > $(sed -e "s/\.//g" <<< $versionwheresaveschanged) ]] && [[ ! $(sed -e "s/\.//g" <<< $hard_version) == $(sed -e "s/\.//g" <<< $version) ]]; then # Check if user is upgrading from the version where save organization was changed. Try not to reuse this, it things 0.4.5b is newer than 0.4.5 @@ -297,7 +299,7 @@ post_update() { ( movefile() { # Take matching save and rom files and sort save into appropriate system folder - echo "# $filesleft files remaining..." # These lines update the Zenity progress bar + echo "# $filesleft $currentlybeingmoved remaining..." # These lines update the Zenity progress bar progress=$(( 100 - (( 100 / "$totalfiles" ) * "$filesleft" ))) echo $progress filesleft=$((filesleft-1)) @@ -314,14 +316,16 @@ post_update() { echo "INFO: Examining ROM file:" "$game" >> $migration_logfile echo "INFO: System detected as" $systemdir >> $migration_logfile sosfile=$(sed -e "s/\^/ /g" <<< "$2") # Remove whitespace placeholder from s-ave o-r s-tate file - sosbasename="$(basename "$save")" # Extract pure file name ie. /saves/game1.sav becomes game1 + sospurebasename="$(basename "$sosfile")" # Extract pure file name ie. /saves/game1.sav becomes game1 echo "INFO: Current save or state being examined for match:" $sosfile >> $migration_logfile echo "INFO: Matching save or state" $sosfile "and game" $game "found." >> $migration_logfile echo "INFO: Moving save or state to" $current_dest_folder"/"$systemdir"/"$sosbasename >> $migration_logfile if [[ ! -d $current_dest_folder"/"$systemdir ]]; then # If system directory doesn't exist for save yet, create it - mkdir $current_dest_folder"/"$systemdir + echo "WARNING: Creating missing system directory" $current_dest_folder"/"$systemdir + mkdir $current_dest_folder/$systemdir fi - mv \'$sosfile\' $current_dest_folder"/"$systemdir\/\'$sosbasename\' # Move save to appropriate system directory + mv "$sosfile" -t $current_dest_folder/$systemdir # Move save to appropriate system directory + return else echo "WARNING: Game with name" "$(basename "$1" | sed -e "s/\^/ /g")" "already found. Skipping to next game..." >> $migration_logfile # Inform user of game being skipped due to duplicate ROM names fi @@ -330,7 +334,8 @@ post_update() { find "$roms_folder" -mindepth 2 -maxdepth 2 -name "*\^*" -exec echo "ERROR: Game named" {} "found, please move save manually" \; >> $migration_logfile # Warn user if any of their files have the whitespace replacement character used by the script totalfiles=$totalsaves #set variables for save file migration - filesleft=$totalsaves + filesleft=$totalsaves + currentlybeingmoved="saves" current_dest_folder=$saves_folder for i in "${allsaves[@]}"; do # For each save file, compare to every ROM file name looking for a match @@ -344,7 +349,8 @@ post_update() { done totalfiles=$totalstates #set variables for state file migration - filesleft=$totalstates + filesleft=$totalstates + currentlybeingmoved="states" current_dest_folder=$states_folder for i in "${allstates[@]}"; do # For each state file, compare to every ROM file name looking for a match From b71c5a490b9a616ad6bcbeb0210b8d21512ee192 Mon Sep 17 00:00:00 2001 From: icenine451 <benjamin.r.shelton@protonmail.com> Date: Sat, 1 Oct 2022 11:59:49 -0400 Subject: [PATCH 120/124] Added warning about how long migration can take --- retrodeck.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/retrodeck.sh b/retrodeck.sh index 5f60f394..54043997 100644 --- a/retrodeck.sh +++ b/retrodeck.sh @@ -278,7 +278,7 @@ post_update() { zenity --icon-name=net.retrodeck.retrodeck --info --no-wrap \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --title "RetroDECK" \ - --text="You are updating to a version of RetroDECK where save and state file sorting has changed!\n\nYour existing saves will be backed up to $save_backup_file\n\nYour existing states will be backed up to $state_backup_file\n\nIf a save or state cannot be sorted automatically it will remain in its original directory so you can sort it manually.\n\nIf you encounter any issues, a log of the sorting process is stored at $migration_logfile" + --text="You are updating to a version of RetroDECK where save and state file sorting has changed!\n\nYour existing saves will be backed up to $save_backup_file\n\nYour existing states will be backed up to $state_backup_file\n\nIf a save or state cannot be sorted automatically it will remain in its original directory so you can sort it manually.\n\nIf you encounter any issues, a log of the sorting process is stored at $migration_logfile\n\nPLEASE BE PATIENT! This process can take several minutes if you have a large ROM library." allgames=($(find "$roms_folder" -maxdepth 2 -mindepth 2 ! -name "systeminfo.txt" ! -name "systems.txt" ! -name "*^*" | sed -e "s/ /\^/g")) # Build an array of all games and multi-disc-game-containing folders, adding whitespace placeholder From d671cfdbae0578721b4dd163ff0fa375775c77cf Mon Sep 17 00:00:00 2001 From: XargonWan <xargonwan@gmail.com> Date: Sat, 1 Oct 2022 21:25:19 +0200 Subject: [PATCH 121/124] Updated RetroArch to 1.11.0 and PCSX2-QT, updated metadata --- global.sh | 1 - net.retrodeck.retrodeck.appdata.xml | 9 +++++---- net.retrodeck.retrodeck.yml | 30 ++++++++++++++--------------- 3 files changed, 20 insertions(+), 20 deletions(-) diff --git a/global.sh b/global.sh index 9355d61a..29ad7ccb 100755 --- a/global.sh +++ b/global.sh @@ -48,7 +48,6 @@ conf_write() { then sed -i "s%sdcard=.*%sdcard=$sdcard%" "$rd_conf" fi - echo "DEBUG: New contents:" cat "$rd_conf" echo "" diff --git a/net.retrodeck.retrodeck.appdata.xml b/net.retrodeck.retrodeck.appdata.xml index c750ca63..c2b9104f 100644 --- a/net.retrodeck.retrodeck.appdata.xml +++ b/net.retrodeck.retrodeck.appdata.xml @@ -66,18 +66,19 @@ <url>https://github.com/XargonWan/RetroDECK/releases/tag/0.5.5b</url> <description> <ul> - <li>IMPORTANT: Started saves migration, the saves are being moved to retrodeck/saves/systemname/emulator, so if the emulator cannot load your saves you have to move them to the new path</li> + <li>IMPORTANT: Started saves migration, the saves are being moved to retrodeck/saves/systemname/emulator upon update, however if some emulators cannot load your saves you have to move them manually to the new path</li> <li>Theme revamp and more themes available such as the old one</li> - <li>Updated RetroArch and its cores from 1.10.2 to 1.10.3</li> + <li>Updated RetroArch and its cores from 1.10.2 to 1.11.0</li> <li>Updated all the standalone emulators to their latest releases</li> <li>Updated ES-DE to 1.2.6</li> - <li>Removed the unavailable emualtors from the ES-DE list to avoid confusion</li> + <li>Removed the unavailable emulators from the ES-DE list to avoid confusion</li> <li>Updated XEMU configurations and added its (free) assets</li> <li>Added free assets for RetroArch, PPSSPP and BlueMSX (libretro)</li> <li>New emulator: PCSX2-QT, it's now the default PS2 emulator. Former PCSX2 emulator is now called PCSX2 (Legacy).</li> <li>New emualtor: Duckstation for PSX.</li> + <li>Swanstation (Libretro) is the new PSX default emulator, so if you don't find your saves just switch back to Beetle</li> <li>New varialbes system: now some variables such as game folder location are saved in /var/config/retrodeck/retrodeck.cfg.</li> - <li>Solved an issue where Dolphin (Standalone) was not saving in the intended riectories.</li> + <li>Solved an issue where Dolphin (Standalone) was not saving in the intended directories.</li> </ul> </description> diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index d7510677..a8620a46 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -289,7 +289,7 @@ modules: sources: - type: git url: https://github.com/libretro/RetroArch.git - branch: 9b282aa742b6c3d2f2925ae5a12e2cd7c6b6ad38 + commit: 9586d679a8b143fbe1880dff7454fd0809262b55 - type: file path: rd-submodules/retroarch/retroarch.cfg post-install: @@ -322,7 +322,7 @@ modules: sources: - type: git url: https://github.com/libretro/RetroArch.git - branch: 9b282aa742b6c3d2f2925ae5a12e2cd7c6b6ad38 + commit: 9586d679a8b143fbe1880dff7454fd0809262b55 - name: retroarch-filers-audio subdir: libretro-common/audio/dsp_filters make-install-args: @@ -330,63 +330,63 @@ modules: sources: - type: git url: https://github.com/libretro/RetroArch.git - branch: 9b282aa742b6c3d2f2925ae5a12e2cd7c6b6ad38 + commit: 9586d679a8b143fbe1880dff7454fd0809262b55 - name: retroarch-assets make-install-args: - PREFIX=${FLATPAK_DEST} sources: - type: git url: https://github.com/libretro/retroarch-assets.git - commit: f45dd1351e6bfb9f01e12bee8d358ad22a2bb8f9 + commit: ee33f8ef693b42a8e23ca3fd48f43f345e7cd087 - name: libretro-database make-install-args: - PREFIX=${FLATPAK_DEST} sources: - type: git url: https://github.com/libretro/libretro-database.git - commit: f3b10ec262fcbd78da3473f46d244270d12a327e + commit: 772011a54392aab6be1302bf1bd8aa1cc0c0c6c2 - name: libretro-core-info make-install-args: - PREFIX=${FLATPAK_DEST} sources: - type: git url: https://github.com/libretro/libretro-core-info.git - commit: 06dac6318c067a6a40e2ea1e1260e74681ada844 + commit: 0cc4912691cd1adb87168ce87b6795bdf57b2fe5 - name: retroarch-joypad-autoconfig make-install-args: - PREFIX=${FLATPAK_DEST} sources: - type: git url: https://github.com/libretro/retroarch-joypad-autoconfig.git - commit: 760b057f1865a827762a54a8a32afda2cdd9e170 + commit: a3b5067b8954f15e8e87eeed71a4262f0ea7fd1c - name: common-shaders make-install-args: - PREFIX=${FLATPAK_DEST} sources: - type: git url: https://github.com/libretro/common-shaders.git - commit: 55e401834b732e62c34411321c4ffd82524345d4 + commit: 86cfa146a8dfddf6377ddb5dbcff552feae2e5bf - name: slang-shaders make-install-args: - PREFIX=${FLATPAK_DEST} sources: - type: git url: https://github.com/libretro/slang-shaders.git - commit: 148c57d9747f5db124135501ac280b5ca129a83f + commit: f8f99ee220edbf2c5df2714a73d46faea43e62e2 - name: glsl-shaders make-install-args: - PREFIX=${FLATPAK_DEST} sources: - type: git url: https://github.com/libretro/glsl-shaders.git - commit: 8f6b2649489760caea8f36ec6099998854059569 + commit: 46a00f15e09ffbd4fba46ab41f0653aeea918fd1 - name: common-overlays make-install-args: - PREFIX=${FLATPAK_DEST} sources: - type: git url: https://github.com/libretro/common-overlays.git - commit: db9744f4e58a740f0f10b04b62af347cd6f01928 + commit: e2ba730083769b45bac62d164115e7dc197c8b63 # RetroArch - END @@ -398,8 +398,8 @@ modules: - mv ./RetroArch-Linux-x86_64.AppImage.home/.config/retroarch/cores/* /app/share/libretro/cores/ sources: - type: archive - url: https://buildbot.libretro.com/stable/1.10.3/linux/x86_64/RetroArch_cores.7z - sha256: 33abf39839687f8faba202ed5dcf3a54c06266a49fad35f0521fa445523d009f + url: https://buildbot.libretro.com/stable/1.11.0/linux/x86_64/RetroArch_cores.7z + sha256: a443c18708b3eda12bdc3419e1aaf9d95370580a38f23d0abfa7868b84ff6fdc # PPSSPP - START # https://github.com/flathub/org.ppsspp.PPSSPP @@ -958,8 +958,8 @@ modules: - ln -s "${FLATPAK_DEST}/pcsx2-qt/usr/bin/pcsx2-qt" "${FLATPAK_DEST}/bin/pcsx2-qt" sources: - type: file - url: https://github.com/PCSX2/pcsx2/releases/download/v1.7.3325/pcsx2-v1.7.3325-linux-AppImage-64bit-AVX2-Qt.AppImage - sha256: 5fa89570fb68b8a729dc0589e568d3a09b2b9243d4d66a5b7086975fb02e95e4 + url: https://github.com/PCSX2/pcsx2/releases/download/v1.7.3357/pcsx2-v1.7.3357-linux-AppImage-64bit-AVX2-Qt.AppImage + sha256: 07f293c1aad832f0a908c18ff94c8b545db0cb56230b4f4574ba75071bd91441 # PCSX2 - END From a8915dda4af9cb4a0676c3168a9150abe4237609 Mon Sep 17 00:00:00 2001 From: XargonWan <xargonwan@gmail.com> Date: Sat, 1 Oct 2022 22:39:33 +0200 Subject: [PATCH 122/124] Added the new logo --- res/icon.svg | 35 +++--- res/logo.png | Bin 105309 -> 31533 bytes res/splash.svg | 319 +++++++------------------------------------------ 3 files changed, 62 insertions(+), 292 deletions(-) mode change 100755 => 100644 res/logo.png mode change 100755 => 100644 res/splash.svg diff --git a/res/icon.svg b/res/icon.svg index d00d28bd..98563325 100644 --- a/res/icon.svg +++ b/res/icon.svg @@ -1,19 +1,18 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- Generator: Adobe Illustrator 25.4.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - viewBox="0 0 37.22 37.22" style="enable-background:new 0 0 37.22 37.22;" xml:space="preserve"> -<style type="text/css"> - .st0{fill:#FFFFFF;} - .st1{fill:url(#SVGID_1_);} -</style> -<circle cx="18.61" cy="18.61" r="18.61"/> -<path class="st0" d="M18.56,3.51v5.43c5.39,0,9.75,4.37,9.75,9.75s-4.37,9.75-9.75,9.75v5.43c8.39,0,15.19-6.8,15.19-15.19 - S26.94,3.51,18.56,3.51z"/> -<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="11.074" y1="18.2778" x2="25.5185" y2="18.2778"> - <stop offset="0" style="stop-color:#906DEC"/> - <stop offset="1" style="stop-color:#1D9EFE"/> -</linearGradient> -<path class="st1" d="M22.32,19.61c1.78-0.1,3.19-1.56,3.19-3.37c0-1.87-1.52-3.39-3.39-3.39h-9.8c-0.7,0-1.26,0.56-1.26,1.26v9.59 - h2.7v-4.07h5.11l3.03,4.07h3.38l-2.93-4.08L22.32,19.61z M21.69,17.3h-7.87v-2.19h7.87c0.6,0,1.09,0.49,1.09,1.09 - C22.78,16.81,22.29,17.3,21.69,17.3z"/> +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg width="100%" height="100%" viewBox="0 0 256 256" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;"> + <g transform="matrix(1.88235,0,0,1.86861,-7.52941,-5.60584)"> + <path d="M140,37.25C140,18.347 124.765,3 106,3L38,3C19.235,3 4,18.347 4,37.25L4,105.75C4,124.653 19.235,140 38,140L106,140C124.765,140 140,124.653 140,105.75L140,37.25Z" style="fill:rgb(17,17,17);"/> + </g> + <g transform="matrix(2.02105,0,0,2.02105,-13.4737,-13.4737)"> + <g id="D" transform="matrix(-0.674885,8.26495e-17,-8.26495e-17,-0.674885,223.747,109.037)"> + <path d="M172.54,-2.511C175.786,-5.757 179.378,-8.24 183.315,-9.96C187.251,-11.68 191.533,-12.54 196.16,-12.54L271.855,-12.54L271.855,6.901L196.16,6.901C194.44,6.901 192.823,7.222 191.309,7.864C189.795,8.506 188.475,9.39 187.348,10.517C186.222,11.643 185.337,12.964 184.695,14.478C184.053,15.992 183.732,17.609 183.732,19.329L183.732,96.355C183.732,97.954 184.084,99.498 184.786,100.988C185.489,102.478 186.416,103.798 187.566,104.949C188.717,106.1 190.037,107.027 191.527,107.729C193.017,108.432 194.562,108.783 196.16,108.783L271.855,108.783L271.855,128.224L196.16,128.224C193.859,128.224 191.624,127.982 189.456,127.498C187.288,127.013 185.204,126.329 183.206,125.444C181.207,124.56 179.311,123.5 177.518,122.265C175.726,121.029 174.066,119.673 172.54,118.195C169.366,115.118 166.901,111.575 165.145,107.566C163.389,103.556 162.51,99.226 162.51,94.574L162.51,21.11C162.51,16.458 163.37,12.17 165.09,8.246C166.811,4.321 169.294,0.736 172.54,-2.511Z" style="fill:white;fill-rule:nonzero;"/> + </g> + <g id="Left-Symbol" serif:id="Left Symbol" transform="matrix(0.494792,-0,-0,0.494792,6.66667,6.66667)"> + <use xlink:href="#_Image1" x="39.093" y="89.764" width="103.568px" height="78.228px" transform="matrix(0.995844,0,0,0.990223,0,0)"/> + </g> + </g> + <defs> + <image id="_Image1" width="104px" height="79px" xlink:href="data:image/png;base64,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"/> + </defs> </svg> diff --git a/res/logo.png b/res/logo.png old mode 100755 new mode 100644 index 1150e7de6abf00addf2257c2274421f4fb85c495..d9fc05e5b3e7c158c41f35e0f358314e8d1ae149 GIT binary patch literal 31533 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 literal 105309 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 B8{7Z@ diff --git a/res/splash.svg b/res/splash.svg old mode 100755 new mode 100644 index f08a7ff3..0a2cfb46 --- a/res/splash.svg +++ b/res/splash.svg @@ -1,277 +1,48 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!-- Created with Inkscape (http://www.inkscape.org/) --> - -<svg - width="792.61493" - height="495.38437" - viewBox="0 0 209.7127 131.07045" - version="1.1" - id="svg5" - sodipodi:docname="splash.svg" - inkscape:version="1.1.2 (b8e25be833, 2022-02-05)" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns="http://www.w3.org/2000/svg" - xmlns:svg="http://www.w3.org/2000/svg"> - <sodipodi:namedview - id="namedview7" - pagecolor="#505050" - bordercolor="#eeeeee" - borderopacity="1" - inkscape:pageshadow="0" - inkscape:pageopacity="0" - inkscape:pagecheckerboard="0" - inkscape:document-units="mm" - showgrid="false" - inkscape:zoom="0.50268269" - inkscape:cx="-233.74586" - inkscape:cy="329.23354" - inkscape:window-width="1920" - inkscape:window-height="991" - inkscape:window-x="-9" - inkscape:window-y="-9" - inkscape:window-maximized="1" - inkscape:current-layer="layer2" - units="px" - width="1920px" - height="1122.5196px" - fit-margin-top="0" - fit-margin-left="0" - fit-margin-right="0" - fit-margin-bottom="0" /> - <defs - id="defs2"> - <rect - x="22.877255" - y="497.33163" - width="668.41371" - height="146.2155" - id="rect89677" /> - <linearGradient - inkscape:collect="always" - id="linearGradient78351"> - <stop - style="stop-color:#946beb;stop-opacity:1" - offset="0" - id="stop78347" /> - <stop - style="stop-color:#1a9fff;stop-opacity:1" - offset="1" - id="stop78349" /> - </linearGradient> - <linearGradient - inkscape:collect="always" - xlink:href="#linearGradient78351" - id="linearGradient78353" - x1="10.00051" - y1="46.318153" - x2="196.06264" - y2="47.107666" - gradientUnits="userSpaceOnUse" /> - <linearGradient - inkscape:collect="always" - xlink:href="#linearGradient78351" - id="linearGradient104819" - x1="26.855909" - y1="512.25159" - x2="441.63049" - y2="514.24091" - gradientUnits="userSpaceOnUse" /> - <linearGradient - inkscape:collect="always" - xlink:href="#linearGradient78351" - id="linearGradient86391" - x1="60.585548" - y1="249.27652" - x2="369.62967" - y2="548.81158" - gradientUnits="userSpaceOnUse" /> - </defs> - <g - inkscape:groupmode="layer" - id="layer2" - inkscape:label="Livello 2" - style="display:inline"> - <g - aria-label="RETRO -" - id="text2352" - style="font-size:9.525px;line-height:1.25;fill:url(#linearGradient78353);stroke-width:0.264583"> - <path - d="m 13.27873,33.995418 h 23.783924 q 1.343025,0 2.447925,0.32385 1.114425,0.32385 2.00025,0.885825 0.89535,0.561975 1.552575,1.3335 0.66675,0.771525 1.1049,1.6764 0.43815,0.89535 0.657225,1.88595 0.219075,0.981075 0.20955,1.981199 0,1.019175 -0.219075,2.0193 -0.219075,1.000125 -0.657225,1.905 -0.43815,0.89535 -1.1049,1.65735 -0.657225,0.762 -1.54305,1.323975 -0.885825,0.55245 -2.00025,0.866775 -1.1049,0.314325 -2.447925,0.314325 h -0.104775 l 8.5725,10.49655 H 38.624754 L 30.052255,50.168867 H 15.79333 v 10.49655 h -5.562599 l -0.0095,-23.612474 q 0,-0.6858 0.219075,-1.247775 0.219075,-0.561975 0.619125,-0.962025 0.409575,-0.409575 0.971549,-0.62865 0.561975,-0.219075 1.247775,-0.219075 z m 23.679149,11.077574 q 0.619125,0 1.08585,-0.257175 0.466725,-0.257175 0.78105,-0.676275 0.314325,-0.4191 0.466725,-0.9525 0.161925,-0.542925 0.161925,-1.1049 0.0095,-0.561975 -0.142875,-1.095374 -0.1524,-0.542925 -0.466725,-0.962025 -0.3048,-0.4191 -0.78105,-0.676275 -0.466725,-0.257175 -1.1049,-0.257175 H 15.79333 v 5.981699 z" - style="font-family:DREAMS;-inkscape-font-specification:DREAMS;letter-spacing:0.264583px" - id="path110710" /> - <path - d="M 48.709617,57.607892 V 37.052943 q 0,-0.6858 0.219074,-1.247775 0.219075,-0.561975 0.619125,-0.962025 0.409575,-0.409575 0.97155,-0.62865 0.561975,-0.219075 1.247775,-0.219075 H 82.83769 v 5.095875 H 54.281741 v 5.400674 H 79.37059 v 5.095875 H 54.281741 v 5.9817 H 82.83769 v 5.095875 H 51.767141 q -0.6858,0 -1.247775,-0.219075 -0.561975,-0.219075 -0.97155,-0.619125 -0.40005,-0.409575 -0.619125,-0.97155 -0.219074,-0.561975 -0.219074,-1.247775 z" - style="font-family:DREAMS;-inkscape-font-specification:DREAMS;letter-spacing:0.264583px" - id="path110712" /> - <path - d="m 86.188378,39.091293 v -5.095875 h 34.137602 v 5.095875 H 106.048 v 21.574124 h -5.57212 V 39.091293 Z" - style="font-family:DREAMS;-inkscape-font-specification:DREAMS;letter-spacing:0.264583px" - id="path110714" /> - <path - d="m 127.41045,33.995418 h 23.78393 q 1.34302,0 2.44792,0.32385 1.11443,0.32385 2.00025,0.885825 0.89535,0.561975 1.55258,1.3335 0.66675,0.771525 1.1049,1.6764 0.43815,0.89535 0.65722,1.88595 0.21908,0.981075 0.20955,1.981199 0,1.019175 -0.21907,2.0193 -0.21908,1.000125 -0.65723,1.905 -0.43815,0.89535 -1.1049,1.65735 -0.65722,0.762 -1.54305,1.323975 -0.88582,0.55245 -2.00025,0.866775 -1.1049,0.314325 -2.44792,0.314325 h -0.10478 l 8.5725,10.49655 h -6.90562 l -8.5725,-10.49655 h -14.25893 v 10.49655 h -5.5626 l -0.01,-23.612474 q 0,-0.6858 0.21907,-1.247775 0.21908,-0.561975 0.61913,-0.962025 0.40957,-0.409575 0.97155,-0.62865 0.56197,-0.219075 1.24777,-0.219075 z m 23.67915,11.077574 q 0.61913,0 1.08585,-0.257175 0.46673,-0.257175 0.78105,-0.676275 0.31433,-0.4191 0.46673,-0.9525 0.16192,-0.542925 0.16192,-1.1049 0.01,-0.561975 -0.14287,-1.095374 -0.1524,-0.542925 -0.46673,-0.962025 -0.3048,-0.4191 -0.78105,-0.676275 -0.46672,-0.257175 -1.1049,-0.257175 h -21.16455 v 5.981699 z" - style="font-family:DREAMS;-inkscape-font-specification:DREAMS;letter-spacing:0.264583px" - id="path110716" /> - <path - d="m 165.47024,58.036517 q -1.24778,-1.209675 -1.9431,-2.7813 -0.6858,-1.58115 -0.6858,-3.40995 v -9.0297 q 0,-1.828799 0.67627,-3.371849 0.67628,-1.54305 1.95263,-2.8194 1.27635,-1.27635 2.8194,-1.952625 1.55257,-0.676275 3.37185,-0.676275 h 16.4973 q 1.81927,0 3.36232,0.676275 1.55258,0.676275 2.82893,1.952625 1.27635,1.27635 1.95262,2.8194 0.67628,1.54305 0.67628,3.371849 v 9.0297 q 0,1.8288 -0.69533,3.40995 -0.6858,1.571625 -1.93357,2.7813 -0.60008,0.581025 -1.30493,1.0668 -0.70485,0.485775 -1.49542,0.8382 -0.78105,0.3429 -1.6383,0.5334 -0.84773,0.1905 -1.7526,0.1905 h -16.4973 q -0.90488,0 -1.76213,-0.1905 -0.84772,-0.1905 -1.6383,-0.5334 -0.78105,-0.352425 -1.4859,-0.8382 -0.70485,-0.485775 -1.30492,-1.0668 z m 2.9337,-5.724525 q 0,0.62865 0.27622,1.2192 0.27623,0.581025 0.7239,1.038225 0.4572,0.447675 1.03823,0.7239 0.59055,0.276225 1.2192,0.276225 h 16.4973 q 0.62865,0 1.20967,-0.276225 0.59055,-0.276225 1.03823,-0.7239 0.4572,-0.4572 0.73342,-1.038225 0.27623,-0.59055 0.27623,-1.2192 v -9.96315 q 0,-0.676275 -0.25718,-1.266824 -0.24765,-0.600075 -0.69532,-1.038225 -0.43815,-0.447675 -1.03823,-0.695325 -0.59055,-0.257175 -1.26682,-0.257175 h -16.4973 q -0.67628,0 -1.27635,0.257175 -0.59055,0.24765 -1.03823,0.695325 -0.43815,0.43815 -0.69532,1.038225 -0.24765,0.590549 -0.24765,1.266824 z" - style="font-family:DREAMS;-inkscape-font-specification:DREAMS;letter-spacing:0.264583px" - id="path110718" /> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg width="100%" height="100%" viewBox="0 0 5368 2000" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;"> + <g id="Logo" transform="matrix(4.50045,0,0,4.50045,-50,2.27374e-13)"> + <g id="DECK" transform="matrix(1,0,0,1,12.4872,24.461)"> + <g transform="matrix(59.9942,0,0,59.9942,717.904,355.467)"> + <g id="K"> + <g> + <path d="M0.233,-2.8L0.817,-2.8L0.817,-1.284L2.821,-2.801L3.694,-2.801L2.48,-1.882L3.818,0.001L3.099,-0.001L2.015,-1.529L0.817,-0.621L0.817,-0L0.233,-0L0.233,-2.8Z" style="fill:white;fill-rule:nonzero;"/> + </g> + </g> + </g> + <g transform="matrix(59.9942,0,0,59.9942,473.484,355.527)"> + <g id="C"> + <g> + <path d="M0.509,-2.524C0.598,-2.613 0.697,-2.682 0.806,-2.729C0.914,-2.776 1.032,-2.8 1.159,-2.8L3.827,-2.8L3.827,-2.265L1.159,-2.265C1.112,-2.265 1.067,-2.256 1.026,-2.239C0.984,-2.221 0.948,-2.197 0.917,-2.166C0.885,-2.135 0.861,-2.098 0.844,-2.057C0.826,-2.015 0.817,-1.97 0.817,-1.923L0.817,-0.877C0.817,-0.833 0.827,-0.791 0.846,-0.75C0.865,-0.709 0.891,-0.672 0.923,-0.641C0.954,-0.609 0.991,-0.583 1.032,-0.564C1.073,-0.545 1.115,-0.535 1.159,-0.535L3.827,-0.535L3.827,-0L1.159,-0C1.096,-0 1.034,-0.007 0.975,-0.02C0.915,-0.033 0.858,-0.052 0.803,-0.077C0.748,-0.101 0.695,-0.13 0.646,-0.164C0.597,-0.198 0.551,-0.235 0.509,-0.276C0.422,-0.361 0.354,-0.458 0.306,-0.569C0.257,-0.679 0.233,-0.798 0.233,-0.926L0.233,-1.874C0.233,-2.002 0.257,-2.12 0.304,-2.228C0.351,-2.336 0.42,-2.435 0.509,-2.524Z" style="fill:white;fill-rule:nonzero;"/> + </g> + </g> + </g> + <g transform="matrix(59.9942,0,0,59.9942,229.064,355.527)"> + <g id="E"> + <g> + <path d="M0.233,-0.321L0.233,-2.479C0.233,-2.527 0.241,-2.571 0.256,-2.61C0.271,-2.649 0.293,-2.683 0.322,-2.712C0.35,-2.74 0.384,-2.762 0.423,-2.777C0.462,-2.792 0.506,-2.8 0.554,-2.8L3.816,-2.8L3.816,-2.265L0.818,-2.265L0.818,-1.698L3.452,-1.698L3.452,-1.163L0.818,-1.163L0.818,-0.535L3.816,-0.535L3.816,-0L0.554,-0C0.506,-0 0.462,-0.008 0.423,-0.023C0.384,-0.038 0.35,-0.06 0.322,-0.089C0.293,-0.117 0.271,-0.151 0.256,-0.19C0.241,-0.229 0.233,-0.273 0.233,-0.321Z" style="fill:white;fill-rule:nonzero;"/> + </g> + </g> + </g> + <g transform="matrix(-1.65095,2.02183e-16,-2.02183e-16,-1.65095,482.537,399.236)"> + <g id="D---Gamepad" serif:id="D + Gamepad"> + <g> + <g id="Background" transform="matrix(-0.134589,-1.64824e-17,1.64824e-17,-0.134589,327.567,284.759)"> + <use xlink:href="#_Image1" x="255" y="1535" width="567px" height="302px"/> + </g> + <path d="M172.54,-2.511C175.786,-5.757 179.378,-8.24 183.315,-9.96C187.251,-11.68 191.533,-12.54 196.16,-12.54L271.855,-12.54L271.855,6.901L196.16,6.901C194.44,6.901 192.823,7.222 191.309,7.864C189.795,8.506 188.475,9.39 187.348,10.517C186.222,11.643 185.337,12.964 184.695,14.478C184.053,15.992 183.732,17.609 183.732,19.329L183.732,96.355C183.732,97.954 184.084,99.498 184.786,100.988C185.489,102.478 186.416,103.798 187.566,104.949C188.717,106.1 190.037,107.027 191.527,107.729C193.017,108.432 194.562,108.783 196.16,108.783L271.855,108.783L271.855,128.224L196.16,128.224C193.859,128.224 191.624,127.982 189.456,127.498C187.288,127.013 185.204,126.329 183.206,125.444C181.207,124.56 179.311,123.5 177.518,122.265C175.726,121.029 174.066,119.673 172.54,118.195C169.366,115.118 166.901,111.575 165.145,107.566C163.389,103.556 162.51,99.226 162.51,94.574L162.51,21.11C162.51,16.458 163.37,12.17 165.09,8.246C166.811,4.321 169.294,0.736 172.54,-2.511Z" style="fill:white;fill-rule:nonzero;"/> + </g> + </g> + </g> + </g> + <g transform="matrix(0.222187,0,0,0.2222,11.11,-5.05224e-14)"> + <g id="Rainbow"> + <use id="_Image2_" serif:id="_Image2" xlink:href="#_Image2" x="0" y="0" width="5368px" height="2000px"/> + </g> + </g> </g> - <g - aria-label="ECK" - id="text17644" - style="font-size:9.525px;line-height:1.25;letter-spacing:0.79375px;fill:#ffffff;stroke-width:0.264583"> - <path - d="M 48.818965,87.645493 V 67.090544 q 0,-0.6858 0.219075,-1.247775 0.219075,-0.561975 0.619125,-0.962025 0.409575,-0.409575 0.97155,-0.62865 0.561975,-0.219075 1.247775,-0.219075 h 31.070548 v 5.095875 H 54.39109 v 5.400675 h 25.088849 v 5.095875 H 54.39109 v 5.981699 h 28.555948 v 5.095875 H 51.87649 q -0.6858,0 -1.247775,-0.219075 -0.561975,-0.219075 -0.97155,-0.619125 -0.40005,-0.409575 -0.619125,-0.97155 -0.219075,-0.561975 -0.219075,-1.247775 z" - style="font-family:DREAMS;-inkscape-font-specification:DREAMS" - id="path110739" /> - <path - d="m 90.132069,66.661919 q 1.27635,-1.27635 2.8194,-1.952625 1.552575,-0.676275 3.37185,-0.676275 h 25.412701 v 5.095875 H 96.323319 q -0.676275,0 -1.27635,0.257175 -0.59055,0.24765 -1.038225,0.695325 -0.43815,0.43815 -0.695325,1.038225 -0.24765,0.59055 -0.24765,1.266825 v 9.96315 q 0,0.628649 0.276225,1.219199 0.276225,0.581025 0.7239,1.038225 0.4572,0.447675 1.038225,0.7239 0.59055,0.276225 1.2192,0.276225 h 25.412701 v 5.095875 H 96.323319 q -0.904875,0 -1.762125,-0.1905 -0.847725,-0.1905 -1.6383,-0.5334 -0.78105,-0.352425 -1.4859,-0.8382 -0.70485,-0.485775 -1.304925,-1.0668 -1.247775,-1.209675 -1.9431,-2.7813 -0.6858,-1.58115 -0.6858,-3.409949 v -9.0297 q 0,-1.8288 0.676275,-3.37185 0.676275,-1.54305 1.952625,-2.8194 z" - style="font-family:DREAMS;-inkscape-font-specification:DREAMS" - id="path110741" /> - <path - d="m 126.29215,64.033019 h 5.5626 v 14.4399 l 19.0881,-14.449425 h 8.31532 l -11.56335,8.753475 12.74445,17.935574 -6.84847,-0.01905 -10.3251,-14.554199 -11.41095,8.648699 v 5.915025 h -5.5626 z" - style="font-family:DREAMS;-inkscape-font-specification:DREAMS" - id="path110743" /> - </g> - <g - id="g38619" - transform="matrix(0.82704001,0,0,0.82704001,-148.41704,-223.88161)"> - <g - id="g38832" - transform="matrix(0.06692755,0,0,0.06692755,191.3323,337.17343)" - style="display:inline;fill:#ffffff"> - <path - d="M 200.25,600.27 C 89.51,600.27 0,510.89 0,400.32 0,289.75 89.51,200.37 200.25,200.37 c 110.74,0 200.26,89.38 200.26,199.95 0,110.57 -89.52,199.95 -200.26,199.95 z" - fill="url(#a)" - id="path38820" - style="fill:url(#linearGradient86391);fill-opacity:1" /> - <path - d="M 456.98,399.89 C 456.98,258.32 342.03,143.55 200.24,143.55 V 0 c 221.2,0 400.51,179.04 400.51,399.89 0,220.86 -179.31,399.9 -400.51,399.9 V 656.24 c 141.79,0 256.74,-114.77 256.74,-256.35 z" - fill="#1b1b1b" - id="path38822" - style="fill:#ffffff" /> - </g> - </g> - <g - aria-label="Powered by EmulationStation-DE" - transform="matrix(0.26458333,0,0,0.26458333,42.370582,-40.265212)" - id="text89675" - style="font-size:24px;line-height:1.25;white-space:pre;shape-inside:url(#rect89677);fill:url(#linearGradient104819)"> - <path - d="m 28.841797,515.39062 v 6.01172 h -3.867188 v -17.66015 h 6.679688 q 3.433594,0 5.214844,1.40625 1.78125,1.39453 1.78125,4.08984 0,2.8125 -1.96875,4.48828 -1.96875,1.66406 -5.132813,1.66406 z m -0.02344,-8.87109 v 6.07031 h 1.03125 q 2.90625,0 3.84375,-0.79687 0.949219,-0.8086 0.949219,-2.47266 0,-1.37109 -0.914062,-2.08594 -0.902344,-0.71484 -3.585938,-0.71484 z" - style="font-weight:bold;font-family:Meiryo;-inkscape-font-specification:'Meiryo Bold'" - id="path110764" /> - <path - d="m 46.572266,521.82422 q -3.304688,0 -5.132813,-1.89844 -1.828125,-1.91016 -1.828125,-5.29687 0,-3.39844 1.839844,-5.3086 1.851562,-1.91015 5.121094,-1.91015 3.292968,0 5.121093,1.91015 1.839844,1.91016 1.839844,5.3086 0,3.38671 -1.839844,5.29687 -1.828125,1.89844 -5.121093,1.89844 z m 0,-11.90625 q -3.199219,0 -3.199219,4.74609 0,4.65235 3.246094,4.65235 3.152343,0 3.152343,-4.65235 0,-4.74609 -3.199218,-4.74609 z" - style="font-weight:bold;font-family:Meiryo;-inkscape-font-specification:'Meiryo Bold'" - id="path110766" /> - <path - d="m 75.505859,507.83203 -4.125,13.57031 h -3.140625 l -3.128906,-9.6914 -3.128906,9.6914 h -3.164063 l -4.125,-13.57031 h 3.773438 l 2.34375,8.92969 2.847656,-8.92969 h 3.152344 l 2.777344,8.90625 2.285156,-8.90625 z" - style="font-weight:bold;font-family:Meiryo;-inkscape-font-specification:'Meiryo Bold'" - id="path110768" /> - <path - d="m 89.919922,515.17969 h -9.621094 q 0.234375,4.07812 4.628906,4.07812 2.296875,0 4.617188,-1.66406 h 0.128906 v 3.11719 q -2.753906,1.05468 -5.179687,1.05468 -3.820313,0 -5.824219,-1.8164 -2.003906,-1.81641 -2.003906,-5.23828 0,-3.39844 1.898437,-5.34375 1.898438,-1.95703 5.238281,-1.95703 6.117188,0 6.117188,6.5039 z m -3.597656,-2.03907 q -0.04687,-3.5039 -2.847657,-3.5039 -2.976562,0 -3.175781,3.5039 z" - style="font-weight:bold;font-family:Meiryo;-inkscape-font-specification:'Meiryo Bold'" - id="path110770" /> - <path - d="m 101.75586,511.5 h -0.11719 q -0.72656,-0.1875 -1.945311,-0.1875 -1.910156,0 -3.515625,0.60937 v 9.48047 h -3.597656 v -13.57031 h 3.597656 v 2.46094 q 1.652344,-1.48828 2.71875,-1.99219 1.066407,-0.51562 2.097656,-0.51562 0.26953,0 0.76172,0.0234 z" - style="font-weight:bold;font-family:Meiryo;-inkscape-font-specification:'Meiryo Bold'" - id="path110772" /> - <path - d="m 116.07617,515.17969 h -9.62109 q 0.23437,4.07812 4.6289,4.07812 2.29688,0 4.61719,-1.66406 h 0.12891 v 3.11719 q -2.75391,1.05468 -5.17969,1.05468 -3.82031,0 -5.82422,-1.8164 -2.0039,-1.81641 -2.0039,-5.23828 0,-3.39844 1.89843,-5.34375 1.89844,-1.95703 5.23828,-1.95703 6.11719,0 6.11719,6.5039 z m -3.59765,-2.03907 q -0.0469,-3.5039 -2.84766,-3.5039 -2.97656,0 -3.17578,3.5039 z" - style="font-weight:bold;font-family:Meiryo;-inkscape-font-specification:'Meiryo Bold'" - id="path110774" /> - <path - d="m 130.98242,521.40234 h -3.59765 v -1.78125 q -1.75782,1.42969 -2.64844,1.79297 -0.89063,0.36328 -1.91016,0.36328 -2.33203,0 -3.71484,-1.88672 -1.38281,-1.89843 -1.38281,-5.15625 0,-3.23437 1.67578,-5.25 1.67578,-2.02734 4.16015,-2.02734 0.89063,0 1.62891,0.19922 0.73828,0.19922 2.19141,0.96094 v -5.66016 h 3.59765 z m -3.59765,-3.48047 v -7.34765 q -1.17188,-0.50391 -2.17969,-0.50391 -3.75,0 -3.75,4.57031 0,2.3086 0.77344,3.33985 Q 123.00195,519 124.6543,519 q 1.24218,0 2.73047,-1.07813 z" - style="font-weight:bold;font-family:Meiryo;-inkscape-font-specification:'Meiryo Bold'" - id="path110776" /> - <path - d="m 146.28711,520.44141 -0.23438,0.96093 h -3.375 v -18.44531 h 3.59766 v 6.69141 q 1.57031,-1.32422 2.55469,-1.75782 0.99609,-0.43359 2.09765,-0.43359 2.39063,0 3.69141,1.83984 1.3125,1.83985 1.3125,5.16797 0,3.25782 -1.66406,5.28516 -1.66406,2.02734 -4.14844,2.02734 -1.78125,0 -3.83203,-1.33593 z m -0.0117,-9.2461 v 7.52344 q 1.19531,0.44531 2.19141,0.44531 3.73828,0 3.73828,-4.60547 0,-4.32422 -3.12891,-4.32422 -1.27734,0 -2.80078,0.96094 z" - style="font-weight:bold;font-family:Meiryo;-inkscape-font-specification:'Meiryo Bold'" - id="path110778" /> - <path - d="m 171.29492,507.83203 -7.4414,18.45703 h -3.79688 l 2.0625,-4.86328 -5.30859,-13.59375 h 3.90234 l 3.42188,9.69141 3.45703,-9.69141 z" - style="font-weight:bold;font-family:Meiryo;-inkscape-font-specification:'Meiryo Bold'" - id="path110780" /> - <path - d="m 193.73633,521.40234 h -12.30469 v -17.66015 h 12.30469 v 2.92968 h -8.46094 v 3.77344 h 7.86328 v 2.91797 h -7.86328 v 5.10938 h 8.46094 z" - style="font-weight:bold;font-family:Meiryo;-inkscape-font-specification:'Meiryo Bold'" - id="path110782" /> - <path - d="m 217.88867,521.40234 h -3.62109 v -6.80859 q 0,-1.35938 -0.12891,-2.37891 -0.11719,-1.03125 -0.71484,-1.40625 -0.58594,-0.375 -1.62891,-0.375 -0.92578,0 -2.61328,1.03125 v 9.9375 h -3.62109 v -6.80859 q 0,-1.42969 -0.14063,-2.41406 -0.14062,-0.9961 -0.73828,-1.3711 -0.58594,-0.375 -1.60547,-0.375 -0.97265,0 -2.60156,1.04297 v 9.92578 h -3.59766 v -13.57031 h 3.59766 v 1.89844 q 1.78125,-1.46485 2.69531,-1.86328 0.92578,-0.41016 1.91016,-0.41016 2.55469,0 3.77344,2.60156 1.72265,-1.5 2.8125,-2.05078 1.08984,-0.55078 2.13281,-0.55078 4.08984,0 4.08984,5.02734 z" - style="font-weight:bold;font-family:Meiryo;-inkscape-font-specification:'Meiryo Bold'" - id="path110784" /> - <path - d="m 234.10742,521.40234 h -3.59765 v -1.89843 q -1.64063,1.33593 -2.67188,1.80468 -1.03125,0.46875 -2.14453,0.46875 -4.28906,0 -4.28906,-5.02734 v -8.91797 h 3.62109 v 6.76172 q 0,2.83594 0.62109,3.52734 0.6211,0.69141 2.02735,0.69141 1.20703,0 2.83594,-1.05469 v -9.92578 h 3.59765 z" - style="font-weight:bold;font-family:Meiryo;-inkscape-font-specification:'Meiryo Bold'" - id="path110786" /> - <path - d="m 241.43164,521.40234 h -3.59766 v -18.44531 h 3.59766 z" - style="font-weight:bold;font-family:Meiryo;-inkscape-font-specification:'Meiryo Bold'" - id="path110788" /> - <path - d="m 256.66602,521.40234 h -3.57422 v -1.76953 q -1.65235,1.41797 -2.6836,1.76953 -1.01953,0.36328 -2.17968,0.36328 -1.78125,0 -2.95313,-1.14843 -1.17187,-1.16016 -1.17187,-2.97657 0,-2.29687 1.72265,-3.48046 1.73438,-1.1836 7.30078,-1.47657 v -0.36328 q 0,-1.27734 -0.8789,-1.85156 -0.87891,-0.57422 -2.90625,-0.57422 -1.38282,0 -3.96094,1.05469 h -0.12891 v -2.84766 q 2.71875,-0.65625 4.92188,-0.65625 3.43359,0 4.95703,1.11328 1.53516,1.10157 1.53516,3.51563 z m -3.57422,-3.30468 v -3.42188 q -3.53907,0.29297 -4.42969,0.91406 -0.89063,0.60938 -0.89063,1.69922 0,1.16016 0.6211,1.61719 0.62109,0.45703 1.94531,0.45703 1.39453,0 2.75391,-1.26562 z" - style="font-weight:bold;font-family:Meiryo;-inkscape-font-specification:'Meiryo Bold'" - id="path110790" /> - <path - d="m 268.2793,521.32031 q -1.44141,0.35156 -3.08203,0.35156 -2.42579,0 -3.55079,-1.03125 -1.125,-1.04296 -1.125,-3.36328 v -7.0664 h -1.78125 v -2.37891 h 1.79297 v -3.80859 h 3.58594 v 3.80859 h 4.16016 v 2.37891 h -4.16016 v 5.58984 q 0,2.15625 0.55078,2.8125 0.55078,0.65625 1.85156,0.65625 0.83204,0 1.65235,-0.41016 h 0.10547 z" - style="font-weight:bold;font-family:Meiryo;-inkscape-font-specification:'Meiryo Bold'" - id="path110792" /> - <path - d="m 274.2207,506.13281 h -3.85547 v -3.17578 h 3.85547 z m -0.1289,15.26953 h -3.59766 v -13.57031 h 3.59766 z" - style="font-weight:bold;font-family:Meiryo;-inkscape-font-specification:'Meiryo Bold'" - id="path110794" /> - <path - d="m 283.74805,521.82422 q -3.30469,0 -5.13282,-1.89844 -1.82812,-1.91016 -1.82812,-5.29687 0,-3.39844 1.83984,-5.3086 1.85157,-1.91015 5.1211,-1.91015 3.29297,0 5.12109,1.91015 1.83984,1.91016 1.83984,5.3086 0,3.38671 -1.83984,5.29687 -1.82812,1.89844 -5.12109,1.89844 z m 0,-11.90625 q -3.19922,0 -3.19922,4.74609 0,4.65235 3.24609,4.65235 3.15235,0 3.15235,-4.65235 0,-4.74609 -3.19922,-4.74609 z" - style="font-weight:bold;font-family:Meiryo;-inkscape-font-specification:'Meiryo Bold'" - id="path110796" /> - <path - d="m 306.10742,521.40234 h -3.62109 v -6.76172 q 0,-2.83593 -0.63281,-3.51562 -0.6211,-0.69141 -2.02735,-0.69141 -1.17187,0 -2.82422,1.04297 v 9.92578 h -3.59765 v -13.57031 h 3.59765 v 1.89844 q 1.6875,-1.38281 2.69532,-1.82813 1.01953,-0.44531 2.12109,-0.44531 4.28906,0 4.28906,5.02734 z" - style="font-weight:bold;font-family:Meiryo;-inkscape-font-specification:'Meiryo Bold'" - id="path110798" /> - <path - d="m 308.97852,520.34766 v -3.73829 h 0.39843 q 1.3125,1.07813 3.01172,1.71094 1.71094,0.63281 3.28125,0.63281 1.62891,0 2.625,-0.58593 0.9961,-0.58594 0.9961,-1.62891 0,-0.80859 -0.48047,-1.28906 -0.46875,-0.48047 -1.79297,-0.79688 -0.94922,-0.17578 -3.2461,-0.6914 -2.28515,-0.51563 -3.49218,-1.80469 -1.19532,-1.30078 -1.19532,-3.31641 0,-2.40234 2.05079,-3.90234 2.05078,-1.51172 5.27343,-1.51172 3.28125,0 6.16407,1.19531 v 3.57422 h -0.38672 q -2.46094,-1.99219 -5.64844,-1.99219 -1.51172,0 -2.49609,0.5625 -0.97266,0.5625 -0.97266,1.53516 0,0.83203 0.55078,1.32422 0.5625,0.49219 1.91016,0.80859 1.34765,0.2461 3,0.65625 1.66406,0.39844 2.47265,0.90235 0.82032,0.5039 1.30078,1.10156 0.49219,0.58594 0.72657,1.3125 0.24609,0.72656 0.24609,1.60547 0,2.57812 -2.10937,4.14844 -2.09766,1.57031 -5.56641,1.57031 -3.375,0 -6.62109,-1.38281 z" - style="font-weight:bold;font-family:Meiryo;-inkscape-font-specification:'Meiryo Bold'" - id="path110800" /> - <path - d="m 333.91602,521.32031 q -1.44141,0.35156 -3.08204,0.35156 -2.42578,0 -3.55078,-1.03125 -1.125,-1.04296 -1.125,-3.36328 v -7.0664 h -1.78125 v -2.37891 h 1.79297 v -3.80859 h 3.58594 v 3.80859 h 4.16016 v 2.37891 h -4.16016 v 5.58984 q 0,2.15625 0.55078,2.8125 0.55078,0.65625 1.85156,0.65625 0.83203,0 1.65235,-0.41016 h 0.10547 z" - style="font-weight:bold;font-family:Meiryo;-inkscape-font-specification:'Meiryo Bold'" - id="path110802" /> - <path - d="m 347.63867,521.40234 h -3.57422 v -1.76953 q -1.65234,1.41797 -2.68359,1.76953 -1.01953,0.36328 -2.17969,0.36328 -1.78125,0 -2.95312,-1.14843 -1.17188,-1.16016 -1.17188,-2.97657 0,-2.29687 1.72266,-3.48046 1.73437,-1.1836 7.30078,-1.47657 v -0.36328 q 0,-1.27734 -0.87891,-1.85156 -0.8789,-0.57422 -2.90625,-0.57422 -1.38281,0 -3.96093,1.05469 h -0.12891 v -2.84766 q 2.71875,-0.65625 4.92187,-0.65625 3.4336,0 4.95704,1.11328 1.53515,1.10157 1.53515,3.51563 z m -3.57422,-3.30468 v -3.42188 q -3.53906,0.29297 -4.42968,0.91406 -0.89063,0.60938 -0.89063,1.69922 0,1.16016 0.62109,1.61719 0.6211,0.45703 1.94532,0.45703 1.39453,0 2.7539,-1.26562 z" - style="font-weight:bold;font-family:Meiryo;-inkscape-font-specification:'Meiryo Bold'" - id="path110804" /> - <path - d="m 359.25195,521.32031 q -1.4414,0.35156 -3.08203,0.35156 -2.42578,0 -3.55078,-1.03125 -1.125,-1.04296 -1.125,-3.36328 v -7.0664 h -1.78125 v -2.37891 h 1.79297 v -3.80859 h 3.58594 v 3.80859 h 4.16015 v 2.37891 h -4.16015 v 5.58984 q 0,2.15625 0.55078,2.8125 0.55078,0.65625 1.85156,0.65625 0.83203,0 1.65234,-0.41016 h 0.10547 z" - style="font-weight:bold;font-family:Meiryo;-inkscape-font-specification:'Meiryo Bold'" - id="path110806" /> - <path - d="m 365.19336,506.13281 h -3.85547 v -3.17578 h 3.85547 z m -0.12891,15.26953 h -3.59765 v -13.57031 h 3.59765 z" - style="font-weight:bold;font-family:Meiryo;-inkscape-font-specification:'Meiryo Bold'" - id="path110808" /> - <path - d="m 374.7207,521.82422 q -3.30468,0 -5.13281,-1.89844 -1.82812,-1.91016 -1.82812,-5.29687 0,-3.39844 1.83984,-5.3086 1.85156,-1.91015 5.12109,-1.91015 3.29297,0 5.1211,1.91015 1.83984,1.91016 1.83984,5.3086 0,3.38671 -1.83984,5.29687 -1.82813,1.89844 -5.1211,1.89844 z m 0,-11.90625 q -3.19922,0 -3.19922,4.74609 0,4.65235 3.2461,4.65235 3.15234,0 3.15234,-4.65235 0,-4.74609 -3.19922,-4.74609 z" - style="font-weight:bold;font-family:Meiryo;-inkscape-font-specification:'Meiryo Bold'" - id="path110810" /> - <path - d="m 397.08008,521.40234 h -3.6211 v -6.76172 q 0,-2.83593 -0.63281,-3.51562 -0.62109,-0.69141 -2.02734,-0.69141 -1.17188,0 -2.82422,1.04297 v 9.92578 h -3.59766 v -13.57031 h 3.59766 v 1.89844 q 1.6875,-1.38281 2.69531,-1.82813 1.01953,-0.44531 2.1211,-0.44531 4.28906,0 4.28906,5.02734 z" - style="font-weight:bold;font-family:Meiryo;-inkscape-font-specification:'Meiryo Bold'" - id="path110812" /> - <path - d="m 408.7168,515.09766 h -8.53125 v -3.02344 h 8.53125 z" - style="font-weight:bold;font-family:Meiryo;-inkscape-font-specification:'Meiryo Bold'" - id="path110814" /> - <path - d="m 412.16211,521.40234 v -17.66015 h 5.51953 q 3.75,0 5.84766,0.96093 2.09765,0.96094 3.30468,2.95313 1.21875,1.99219 1.21875,4.93359 0,2.66016 -1.26562,4.78125 -1.25391,2.10938 -3.36328,3.07032 -2.10938,0.96093 -5.69531,0.96093 z m 3.86719,-14.88281 V 518.625 h 1.89843 q 6.08204,0 6.08204,-6.07031 0,-6.03516 -6.08204,-6.03516 z" - style="fill:#ffffff" - id="path110816" /> - <path - d="m 443.42773,521.40234 h -12.30468 v -17.66015 h 12.30468 v 2.92968 h -8.46093 v 3.77344 h 7.86328 v 2.91797 h -7.86328 v 5.10938 h 8.46093 z" - style="fill:#ffffff" - id="path110818" /> - </g> - </g> + <defs> + <image id="_Image1" width="567px" height="302px" xlink:href="data:image/png;base64,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"/> + <image id="_Image2" width="5368px" height="2000px" xlink:href="data:image/png;base64,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+NzbLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHxjDw4EAAAAAID8XxtBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVAIWgSQAAIABJREFUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVhT04EAAAAAAA8n9tBFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVRX24EAAAAAAAMj/tRFUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVRYv7fAAAgAElEQVRVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV2IMDAQAAAAAg/9dGUFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWHv3uPzqgv7gX/SNm3TllpKmBcEJ/OKopsKrTonOlE3RdRiBRXKFCEFU0oFpC1CBXqjtFSCQFVYGag4QNlwXtmUKbOA4HXq5m86rzgJbeklaRslvz/OExtKS3N58pwn6fv9en1faZM853ySPJfvOc85nwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHpGWDgAACAASURBVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADDMNZQdAAAAAAAAAGA4WDpvwwuTvHeo19P9+G/jXrJg1ZTfDnWGkerisze+IMmpQ7X87r592+ILLpvywFBlAACA3k6/YMvRSY7t7+36OLfdvcdu0sy5+kOTHhnMIoHd+7uLth6RZNZAbz+ox/qj/X7tBRPnVm9xAACMRK+/bNvUJBcNxbL38v7a7qz40tnjfj4UWQAAAAAAANi3jSk7AAAAAAAAAMAw8fQkZ5Sc4SNJFHwOXD38Da9KouATAIBaeVHKnwPPKXn9MJI9K+U/xpNkRxIFnwAA7M1+qY/5a5Jcn0TBJwAAAAAAAFU3quwAAAAAAAAAAAAAAAAAAAAAAAAAAAAwnCn4BAAAAAAAAAAAAAAAAAAAAAAAAACAQRhTdgAAAAAAAAAAAAAAAACopbct7TwwyZOSTKmM/Xv9e9f/79+dTEzSkWRzH8emJD9L8otb5jc9UrMfDAAAAAAAAAAojYJPAAAAAAAAAAAAAAAARqy3Le2cnOTFSY5MckTl48E1Wv2245Z2/iTJj5P8V2X8OMl/3TK/aXONMgAAAAAAAAAANaDgEwAAAGAXN5z64NuTjE2SNAzderqHcuG7XV86k2yujC27fNw+a01zd00DAQAAAOwD5p/38J8mecVAbluz/UcNPeurrSFe382XLp28bWhXAQAAQD1629LOcUlekJ1FnkcmeU6G9CiQxzU+yeGV8SjHLe18IL0KP5Pcm+TeW+Y37ahpQgAAqKKXX7FjSpJjev5fy/egBvj+2o4Ux1lvq4zOPXzc9s05jX+oTlL25Igru56S5K9rsa6a3jdrvEU6gMfCP99/xpiHhyILAAAAwL5GwScAAADAY12TZErZIWrsD9ef1t678POnSX7Qa/x41ppmhQgAAAAA/Tc9yT+UHWIf9KUUJ1oCAACwD6iUeh6b5N1JXpWeC7vWvydXxlG9PtcxY2nn15N8tTLuv3V+0+9LyAYAAAN1UEbo+2MvvaKrKztLPx/sTn6d3qPhUf9/cF1r4yOlhR2+npcRev+pc4clUfAJAAAAUAUKPgEAAABIktEpSk17ik2fm+QNvb7+yPWntf8kDY8q/bx31jXNP69tTAAAAAAAAACAwtuWdr4gyXuSvCvJ1JLjVMuEJK+rjCTZNGNp579nZ+Hnd2+d36QkCAAAytFYGfsl+ZMUZZR70jW9reuBPLoE9MdJvpXk++taG7cPcVYAAAAAoAQKPgEAAADoi1FJnl0ZM3o+eX1L+71JPp3kH2dd0/zLkrIBAAAAAAAAAPuImUs7piQ5oTsN70ny4rLz1MDkJG+sjCTZMGNp551JvpLkH2+d39ReWjIAAODxNCY5pDJ21TW9rev7Se5LUfj5jSQ/Wtfa2F3DfAAAAADAEFDwCQAAAMBgHFEZl13f0n5XirLPm2dd0/zbcmMBAAAAAAAw3JzyoS0HJjloT1/vTkMtYnzv2gsnPlKLFQHQdzOXdDQkeWWSU1JcmHR8uYlKtX+SN1fGh2cs6/xckuuTfP7W85p21DrMW5d1Pj/9PD+pyo1F7Z89r+lX1V0k9M0bVmybkORZA719lR4LP/38OeM3VWdRAEANNSZ5UWW8t/K5n0xv6/psks8kuXdda6N9VAAAAAAwDCn4BAAAAKBaXl4ZH76+pf1r3cknktxw8jXNNT95BAAAAAAAgGHpHUlWl5xhYpKOkjMA0MvMJR3PTnJlkteUnaUOjcnOss/2Gcs6P5VkbZJv33peU5V7NPfoK0meVKN17U5bkjklrp9923OTfKvkDK9L8uWSMwAA1fHMJOdWxm+mt3XdluRTSe5a19pYq/k9AAAAADBIo8oOAAAAAMCI05DkVUk+nuQ/17a0z1jb0t5QciYAAAAAAAAAYBiZuaRj4swlHUuSfD/KPfuiOUlrkvuSfG/Gss6zZyzrfHLJmQAAgIF5SpLTk3w9yb3T27reOb2ta2zJmQAAAACAPlDwCQAAAMBQekaSW5Lctbal/eVlhwEAAAAAAAAA6tvMJR0NM5d0vCXJD5PMT9JYcqTh6PlJViT51YxlnR8rOwwAADAoL05yY5KfTWvrWjCtrau57EAAAAAAwJ4p+AQAAACgFl6a5BtrW9o/s7al/VllhwEAAAAAAAAA6s/MJR3PTPL5JJ9JckjJcUaCUUmOKDsEAABQFU9JsjjJL6e1da2c1tY1pexAAAAAAMBjKfgEAAAAoJbekuSHa1vaP7K2pX3/ssMAAAAAAAAAAOWbuaRjwswlHRcn+UGS15edBwAAoI6NTzIvyU+mtXW1TGvrGlN2IAAAAABgJwWfAAAAANTa6CSnJ7l/bUv7S8oOAwAAAAAAAACUZ+aSjucl+U6S85OMLTkOAADAcNGc5Ook357W1vXXZYcBAAAAAAoKPgEAAAAoy58muWttS3vL2pb2hrLDAAAAAAAAAAC1NXNJx5uTrEvyzLKzAAAADFPPT3LHtLau26a1dT257DAAAAAAsK9T8AkAAABAmcamuHL09Wtb2hvLDgMAAAAAAAAADL2ZSzpGzVzScWGSzyaZVHYeAACAEeDYJN+d1tb1+rKDAAAAAMC+TMEnAAAAAPXgxCQ3KfkEAAAAAAAAgJFt5pKOMUluTLKo5CgAAAAjzYFJvjCtrevSaW1dY8sOAwAAAAD7IgWfAAAAANSLtyb5lJJPAAAAAAAAABiZepV7nlB2FgAAgBHsnCRfn9bWdWjZQQAAAABgX6PgEwAAAIB6MiPJJ9a2tI8uOwgAAAAAAAAAUD2Vcs8bkry97CwAAAD7gCOTfHtaW5dtMAAAAACoIQWfAAAAANSbtyW5sOwQAAAAAAAAAEB1zFzSMSrJ2iTHlxwFAABgXzI5yU3T2roum9bW1VB2GAAAAADYFyj4BAAAAKAenb+2pf11ZYcAAAAAAAAAAKriA0neWXYIAACAfdT7k1w1ra1LtwAAAAAADDE74QAAAACoRw1Jblzb0v7UsoMAAAAAAAAAAAM3c0nHa5NcUnYOAACAfVxLkrXT2rrGlB0EAAAAAEYyO+AAAAAAqFfNST65tqX9lSdf09xddhgAAAAAAACoM79LcmfZIZJ0lR0AqF8zl3T8aZJPJRlVchQAyrc99TF/TZLNZQcAgJKcmKRpWlvXO+9ubdxRdhgAAAAAGIkUfAIAAABQz16R5IQknyw7CAAAAAAAANSTv79g4leSfKXsHAB7MnNJx6gU7/dPLTsLAOX74tnjf5vkqLJzAAA5LkXJ53F3tzZuKzsMAAAAAIw0roAKAAAAQL1bvralfULZIQAAAAAAAACAfvm7JC8tOwQAAACP8YYkn5vW1tVUdhAAAAAAGGkUfAIAAABQ756a5OyyQwAAAAAAAAAAfTNzSccBSZaXnQMAAIA9+uska6a1dTWUHQQAAAAARpIxZQcAAAAAgD74wNqW9o+dfE3zA2UHAQAAAAAAAAD2ammSA8oOMQDdSX6d5MHKaK+M3v/uTDIxyX5JJlU+7pfkyUmeleTZSabUOjgAAMAAnJjkviQfLjsIAAAAAIwUCj4BAAAAGA4mJHlvkovKDgIAAAAAAAAA7NnMJR1/luSUsnP0ww+T3JHkq0nuvHl+04bBLOy4pZ0NKcpNn5XkOUlemuSoJM8YXEwAAIAhsXJaW9f37m5t/GrZQQAAAABgJFDwCQAAAMBwceralvYlJ1/T/PuygwAAAAAAAAAAe3RmkoayQ+zFliSfSPKxm+c33VfNBd8yv6k7SXtl/EeS65LkuKWdT01R9HlUkqOTHFLN9QIAAAzQ6CT/OK2t6yV3tzb+vOwwAAAAADDcKfgEAAAAqF8/S7J6l881pNinM26XMXYPnxuf5OAkh6b+T57Zm4OSvDHJbWUHAQAAABimHknSXXYIAAAARq6ZSzqmJHl32TkeR3uSC5PccPP8ps21XPEt85t+leTGJDcet7SzIcnLkrwzyduTTK1lFgAA2If8a5LPJWncwxj7OF/b9evjUhyT/YSa/gS10Zzks9Pauv7y7tbGjrLD1BHvrwIAAADQbwo+AQAAAOrXb05a03xFNRb0D6e1T0jynCTPS/KiJG9Nckg1ll1js6PgEwAAAGCgXrhs2eQflB0CAACAEe29SSaWHWI3upN8NMmCm+c3rS87zC3zm7qT3JXkruOWds5N8roUZZ9vTVEcBAAAVMe3vjmncXW1FvbSK7oakjwpyWEpjss+rNe/h3tx/18k+di0tq533d3aqNSy8Opvva/xzrJDAAAAADC8KPgEAAAA2AectKa5I8n9lXHD9ae1vz/Jy5KckGRmiqsuDwevXdvS/sSTr2n+v7KDAAAAAAAAAACP8e6yA+zGpiTH3Dy/6d/LDrI7t8xv2pHk9iS3H7e08+Ak5yU5JcnYUoMBAACP8c05jd1JHqiMf+35/PSi+PM5SVqSnJxkchn5quAdSf4lySfLDgIAAAAAw9WosgMAAAAAUHuz1jQ/MmtN8zdmrWk+I8lTUhyM9UDJsfrqNWUHAAAAAAAAAAAebeaSjmekKLSpJw8nObpeyz13dcv8pl/eMr/pjCSHJmlLsr3kSAAAQB+sm9PYvW5O44/WtTaemeSgFEWf3y851kCtmtbW9YSyQwAAAADAcKXgEwAAAGAfN2tNc9esNc2fSvLcFCeHdJccaW+OLjsAAAAAAAAAAPAYbyw7wC42pSj3vKfsIP116/ymX986v2lOkqcnuTxJZ8mRAACAPlrX2rhlXWvjmiQvTPJXSW5K8vtyU/XLE5NcUnYIAAAAABiuxpQdAAAAAID6MGtN88NJ5lx/WvsNSf4lyYElR9qTo9e2tDecfE1zvReRDsh1s9sbkjwhSXOSA5I0d1c+9vrchCTrk7QneWiXj+1JHnrP1c3bap8eGK7aWtePSfKUJIckeVqK14CmFM83PR8nJGlM8nCK55z1u/m4PsmG1rapw+lgZPijy+ZuGJXkT1I8Fg5J8uTsvP/3fjyMS7IlO+/3u31MnL16/x01/hH2GcvmbRibZEqKedPkyhiV4mTth3uN7eet2n9Ezhthbz50zsaGFI+T/XqNSUk6kvw6yQMXrpjieQqAx/X+hZtGp5gXH5xiLrwxycbuynxr1eLJXWXmGwpnLdzc2J3sn2RqZUxMMcf/XRry4OpL9tteakCgbpx24ZZRKZ4j9jwaMirJ1u5iP8LWytjS62PHRxdNeqSE+EAVnHTx1tEp5g0HdPd6by+P/veYPM57ekkeuuGDE0fcnIo9O35xx7gkB1VGQ5LfVcbGmxZOGAmvCceUHWAXC26e33Rv2SEG49b5TQ8kmTdjaefyJGcnOT3F9hn0y5su3daQ4r2uXeetk3r9e2x2zlt3nbtuTbL1n88d771gGKaOXrm9IcX7qr3nq7vOYSelIeu7H2cOe8e8cUqn9yFHXb5jdJInJXlqGjIxyYOV0f61uWO9JsBerGtt7E7y9SRfn97WtSDJR5O8ptxUfXb6tLautXe3Nt5XdhAAAAAAGG4UfAIAAADwKLPWNN97/Wntb0ry1STjy86zG09J8twkPyw7yEBdN7t9VJLnJDkiyZFJnp+dB0pPTRX22107u31rdh5g/Zsk30pyb5J733N184ODXT4wPF1ZFHke1r3z+eewFCWGByUZXa31tLWufzjFwfz3JrmzO/lakv+e0zZVyR51YeXcDQ1JDu31WHhBinLbg1OUd1bFZXM39JSAfi87HwvfOWf1/k5y6YflZ204IMmrkhyehjwvyfO7k2emKPTcm65l8zY8nGJedH+SuyvjO+et2l8xEyPGh87eOC7JXyZ5URpyWIptpuemOElzz7c7Z+ODKco+f9Pr40+T/NuFK6b8akhDA1A33r9g09gkf5XitePgFNuJB1fGU7Ln7cXueQs3/STJfSnmWvcnWbdq8eSOIQ9dJWct3DwuxXZB7/GMx7vN3PM3b0pRwPRgkv9J8qUkX159yX6/G9q0QC2dduGWcUn+NMmhSZ5e+dgzDkpRftRUjXWdumhLZ3YWJm1O8dzy48r4UZL/+uiiSQ9XY11A/5108daxSQ5PsR/xiCTPzs7yo6kpChoH5cSLt27KzsKkX6Qh9ya5J8l9N5w/cfNgl0/tnbC44xlJXp7kqZVxUM+/u/d8oc0/HL+4o6cs6XdJfpnkjiRfumnhhPahTz14b1/SMb672LaoFz9MsqbsENVy6/ym/0tyzoylnZcmmZdkThR9UvGm5dtGp3ie6ZmzFnPYhhyaYjt/cor7y6Bft465dNv2PLr08xfZOX/tGf93+7njvTcMJTh65fZRKd5L7Xkv/PAU84+eOeygj0t7zartHdlZ+vlAiv2D9yS594554/5vsMun9o66fMeBSY5KcdzEU/PoeeyTs4d9xEet3vFQ9875629TlBh+/s65Y39ag9gw7KxrbfzZ9Lau1yZ5T5KV2cv7+XVgVJJrjmzrmn5Pa+Mfyg4DAAAAAMOJgk8AAAAAHmPWmuZ115/WfmKSm8vOsgfTM4wKPq+b3d6Q5C+SHJvkFUlekmS/IV7txMp4WpIXJXljzxeund3+sxQHVX85ye0KP2HkqhR6viLJ3yaZluTFqc2Jfk+ojGckOaHyud9e0br+ziR3JvlaGvLjOVco/KQ2KoWeL0zypiQvTXEi09QarHpSZRySna/Fm1fM3fD19DwWkvsVfj7a8rP++Pd6Q2VMS9/KPHenMTuL1J+T5B2Vz+9YNm/Dt1OcYHTDeav2/96gQkMJLjp741O7k2OS/E2SV6eY//fXgZXx57t+4UPnbPx+ki8muS3JNy9cMcXrNsAI8v4Fm/ZL8TpybIrXkoHsq2pI8qzK6Nn22zpv4abbknwyyVdWLZ7cVYW4VXXWws2jUxTIn5BkRort1/6YXBnPSLF98a4k3XPP33xfki+keP28e/Ul+znZFYaB0y7ccmCK0pMXJfmzPLrEc9DlR33UVBk9hW+H7/oNpy7a8kAeW5r03Y8umqQ4BarspIu3jklxEY03JXlZim3mql0UaA965heHpth3eVzl890nXrL1hykuWPOFJF+84fyJW4Y4CwNwwuKOMSnmmG9I8Z7MMwewmNFJnlQZPU5O0n384o57knw+DflCkvtuWjDhkcElHjLPTn2do3LWzfObRtz+91vnNz2YZP6MpZ3XJvlEiucN9hHHLu+cmGLuekSK55pDu9NwaIpjQxprFGNcZfS81/bcJK/b5Xs2HnPptl3nr/+Z5H8Uf0J1Hb1ye0OKi0u/OckrUxyX1t/9Xf01oTIOTnFM3N/2fOE1q7b/IsVxaV9J8s93zBv32yHOwgAcdfmOnuMZ35hiDntEBrYf5IDKeE7l/zOTtL1y9Y7/TvL5FNsx/37n3LHbBh0aRoh1rY3dST4+va3rSykuSPA3JUfam5ckOS3JVWUHAQAAAIDhpFYHHwIAAAAMGzec+uCGJFOSDOnek+69L/yuk9Y0/+XQJdi7609rPzfJ8j9+oh+/jyE+Gn/5ydc0nze0qxic62a395TqvbkyDhnosob4d/lIkm8k+WySz77n6uafD+3q+u9jpz/0qhQng1XFIH6f95961QH3VCvHYK0546F3ZpfyjSG+r3S2fOSA64d2FX1z1fseekdqcPX6vfw+v33GlQfcPdQZBuLK1vUTkrw2xXPPMdlNiWGtz5ja7foa8rsUBYdfSvLpOVdMHRYnJX94zvq3JHli789V5ffZx9fY7uTnZ3146heqsco9ufzM9VOT/FWSZ3YXP2vPmJhkR5LtlbE+SXtlXDvvw1PbhzJXf62cu2FMkpcneUuKx8PTdv2eungsJFtSvBb/W5Ibzlm9/z57gtPyszZMTFHA+b4kL9jtN1UeK0Pwt/tWkmuTfOq8Vfs/vKdvWjpvw5tTzJuG1F62FQ5bsGrKj4Y6w0h18dkbj01RWDkk+njffN4Fl00Z0AULLjp7Y0OK5+gzkxzbvbvy26HZjv1Okiu6k08tWjGlZifgXXjOwydmYMWlO/X9Nfbx/PNFlz7hN4PKUQMfPPfhF6c4AfMx/vjzDf1RIp2XLH9CXWw31JP55z18fJJPDeS2fdh/1F+HL1s2+QfVXui+4pwFm56WPp5oOYRzzZsvWzL5oYHe+P0LNj0lxevIaenLif57uAv28ed7KMXJqStWLZ68sW83GTpnLdx8YJJ5KUqSnvR437vHn6/vD8lfJvlgkhvruehzzvmb351k7IBuXJ3X2F+1Xbzf5wa0/ip53wc3H5figgADUoXX2J9+5KL9vjzgW/fB6Rds+UCSZf293aCexx77+xh99YcmlV5E1nLhlgkpyiuO7C6KsI5MUaY3dIZuO7bHuhTbqbd9dNGk/x661QzcKYu27NyX3bfHyquTvG1PXxyC+dHunJliP9jQ/e32/Br7xb+/YOL/9mdRf3fR1sNT7Afrtyr+fNeuvWBi3RV799VJF2/d6371vanqfWXPd/NtKYqSPtudhttvPH9CXe2T7a93XtLxthRlQI9Ro+3Y//nkwglfGcwCTljc0ZzkvUlOT/LUvtymCq+xD6YoVllx04IJWwezuGp7+5KOd3YnN9ZkZX98jd3jnWR9kuab5zeN6CLBGUs7G5N8MA1ZmMe/UNZ3bz2v6TEX+dmdty7r/LMkR/czyqXp54UjqvyH+VqST//xf7u5WwzhHWHjbR9oumkoFnzs8s4xSZ6XnXPXI1OU+D3qb/2486MheB4d5O/yJ6nMX5Pcffu540vfTtjVG1Zse3WKi5n01dOSDPgYpirdN9vShwslP2pd1btvfPcLZ4//Zn9u8PrLtjVnZ6F51fRzW+HzXzp73C+qnaFWjl65fXSKMvqe49Kqu23bULX7ZneSb6ZyXNod88b9T3UWW45XX779FSmel/uliq9BW7961rgbBrOAoy7fMT7J25PMSVEY3T8De43tSHGh+Q/eOXfsL/u9Toatl1+x43lJ/vieVC0n5rt5TVj+zTmNdXfM8fS2roYkC5Jc0p/blXC808NJnnNPa2PNjmk64squo5MM6b7zHn34fR71rfc13jn0SQAAAAAYSerp6qgAAAAA1J8VKQ7o7P/BnEOrPwfS19R1s9ufmKSlMh63KKBOjEpREPRXSS6/dnb7nd3J6iS3n3J1c72UDzw3yUfK6zudlQAAIABJREFUDpHkM0lmlB0iSdac8dATU6uT43q55oyH7mj5yAG/rvV6e7vqfQ9NTPIPSUaXmSPJW0te/2Nc2br+z1OceP72JE0lx+mLP0lxov7bkqy6Ys76v09y1ZwrptZlEUEv5yR5aYnr/1ySqhZ8Xn7m+nFJXpfkVZXxgvT/lK4vpCj6LN3KuRsOSXEy9XsyiJKWGpqU5PWVsXjF3A23JrkyyX+cs3r/EX3icY/lZ214UorH1rvTU7Rfey+pjFXL5m24JcmV563av26KvaFS7DkzyfwkLywhwp8nuS7JikXnbFySpG3Riim1KG55dYoStrIdkGRx2SH64OL0sXhwCH0yiYJPRrLDk1xdcoa7UhRn9kul2PPiJCcmaax2qD04IMWJqbPnLdy0LMmVqxZP7qjRuv/orIWbn5Tk7CSzk0yo0WoPTrI2yby5528+N8mXV1+yXz3O71emvDl4UpycW2rBZ4r76F+UuP5bUqOTlPc1LRduGZ3ksDy6DOnwlL9fsdqmV8byUxdt+WGKoqTPdif3fWzRpHp53rk4ydPLDtFPHy5x3ccm+d9+3uaoJFdUPUn/3Jhk2BV8nnTx1mclaU2x7Tmp3DR9Mj5FAekxSf7wrks6bkvxvt5dN54/oV4e8/1xfvZ0oZ/a+HSKwtR+O2FxxyFJLkjyriTjqhmqDw5McmGSU49f0nF+kutvWjChXt7XfX7ZAXr5wUgv90ySW+c3dSW5YMayzi+neC5+zMXOBuBFKX/bt7+Oqowy/DjJoAs+j13e2ZDi79d7/vri1G47tlaemeTcynjgmEu3/VOKOexXbz93/I5Sk+10cor9J8NJa4nrXpGiwLE/Dk75zzN/k2TYFXwevXJ7v8vFS9aQooj0ZUlWvGbV9m+m2N76zB3zxg277Yckx6f43Zfl10kGVPB51OU7JiV5f5IzUswna2lCkllJ3v7K1TtWJll+59yxm2ucAerSutbG7iSLp7d1PZDko6nffZdPSPKBJGeVHQQAAAAAhgsFnwAAAADs0aw1zd3Xn9a+Msknys6yi2eXHWBX181uf3F2FuuNLTnOYLyyMn728dntVya57pSrmzeWnKmqRXaD8PKPnv5Qw6lXHVAPJ4K9rqT1vibll/UcmfIPZO1KckfJGZIkV7auH5PihO8zk7yi5DiDMTnFz3DmFXPWfynJB+dcMfXekjONeJefuf4vUhQqviPJ1JLjDMrKuRsakrw8xf3oLSn/eWKgGlOcFHR8ku+smLvhQ2nIP51z+cgs+lx+1oZRSU5NsizFyQD1oCnFSZsnLpu34Y4UhX53nrdqZP4NGB4uOnvj81MU/76y7CwpitpWJjll0TkbWxetmPKvQ7y+tamPgs+ZqfOCzw+e+/DkJH9ddo4UZfxAHXn/gk2jU1yIZmmS/UqKsX+S5UnOnLdw09+tWjy5JmWGZy3c3JRkUZI5KcqwyvCCJF9M8q9zz9987upL9ru/pBww4rVcuGViioKWadlZhjSx1FC1d1hlLEjyq/cu2nJbkr//2KJJnnugl5Mu3tqQ5LUp9iWWfZGEwRid4sJ0M5Lc/65LOj6c5NM3nj9he7mxRrYTFneMS1GMtDDll+49Ocm1Sc48fknH2TctmDCgstIqe17ZAXr5QdkBaunW85q+MWNZ5wuTXJXifR+GgWOXd742RVl7T6FnrQvXyvbk7LyA7qZjLt32LykuIPQvt5873vsy0MtrV24/vLuYv74z5e3nqoaXVsavXrNq+0eSfOyOeeP6fTEj+u6oy3f0XERwZZKDSo4zPsU8+pRXrt5xQZLr7pw79vclZ4K6sK618brpbV2/S/KPqd8Le7/nyLauRfe0Nj5cdhAAAAAAGA5GlR0AAAAAgLp3c5Jflh1iF89Y29JeF8Vd181uP+y62e1fTPKtFGVQw7ncs7enpziw95cfn92+8OOz20s7aPC9Vx3wsyQ/Kmv9vTwxyaFlh6go64TTo0tab28vKztAkn8/48oDNpcZ4MrW9aOubF0/K8n/S3JLhne5565el+SeK+asv+GKOesPLjvMSHP5mevHXH7m+pMvP3P9t5P/z959x1dV338cf4WRkDBChntXrVr3rIoVLUodOBHUimJFZIZwA4mYMAKEBBKTsAOIIqBFUaw4cICr0opabdX2V6u2dljbajaZoOb3xwk1jYzk3nPu5+Tm/Xw87sNqk8/3DcnNPTn3nPeXd4HxdPxyz4uBt4DXgRvouOWerZ0G/AJ4pSBQcYZ1GLfNC1ScAvwKKME/5Z6tXQK8AmzNS6u4Ii+tIso6kHQusyZXxs+aXFkM/A5/lHu2dAKwJTu9cm12eqWXpUmvA596OL+tTpmeUXW8dYh9uAz730c/xydF+CLimJRZfRrwBk5RtFW5Z0sHA8+nZVXnpGVVe7oxdSBrez/gPSADf5QeDADenDh1+y3WQUQi2PE472dMBi6k85V7tnYoznmfd0Zm16wdmV1zuHUgET+4bXbtxTjnRZ+nY5d7tnYGzgZtnw7Lqbt9WE6d7hHwwM1z6q7EKY2cg325Z0unAC/elFv35E25db2MsxxovH5Lf7cOEG4bpsRWbZgSewswDKi2ziNtshGYCVxJ5yv3bK0PcDPwNLD1qvyGc43ziPjCwMLGYwcWNj4JvA+MwB/nudxwKM6GRP+4pKhx9oCixs7+O7wnLirecRLwMvAI9uWeLR0ALAd+23/+jmOtw4j4xbaU7s/gvJdQY51lD3oDd1qHEBERERERERER6Sh08Y6IiIiIiIiIiOzV8OXJO4EF1jlaicb4otMHxpQmPTCmdBHOBdQ/sczisV5ADvDHlWNKh6wcU2pVbLXJaN3W+lkHWD6urCt233OXLBtXZn1e2Q8Fn89aLr44pfwCnDLDB4EjLLN4bBjw0cIJ5TMXTii3Lqvq8IpTy7sUp5YPxbn5eBVOeWSHVjix4pjCiRW/wLkh5SzrPB7qD/ymIFDxYEGgIsk6TKjmBSp6zgtU5OMUKXSUmzPPx/nZ/w6RfdwnPjFrcmXUrMmVtwF/Aibi7+LiYcC27PRKT26+m1kQ/w1OQYkfDLEOsA/XWQcAHsqZF/+1dQgRgUmZ1b0mZVbfi7MhzdnWeVqJArKAl9Kyqg9ye3gga3tcIGt7EU5JtN9uDu8GPDRx6vZU6yAi0ukMAz4amV0zd2R2jV832RDx1G2za4++bXbtEzjnEjv8udG9OAjn/O+bw3LqzN/TihQ3z6k7+uY5dU8DzwDHWOfZi2uALTfl1llu6tXHcO3WOvTmZqHYMCX2YeBU4JdAbfOj3jSUSPucD7xxVX7Do1flN/hlE1aRsBpY2Nh3YGHjvcAfcF7jI1UsMBX4aEBR460Dihqtr0mKCBcV74i/qHjHrk0ELzKOszcnAa/3n7/jFOsgIn6xLaX7G8Ct1jn2IvWcRTs93cBNREREREREREQkUuhNDxERERERERERaYv7gAbrEK2Y3IS6anRplwdGl44DPgHG4++yHTcdAawHXl05pvREg/X9UvB5gXUA4IdAgtHaBwAnG63N0vFlXYDzrNZvwaTgc3FK+RGLU8ofxSkpOdMig4EewHRg68IJ5bp5K0jFqeU/xCkmfBQ4zjhOyAonVsQXTqwoAP4PuNY6T5hEAcOB9woCFRdahwnWvEDFIJyb0NLpmMdQpwOjrUNIZJs1ufJUnNf61TjHXh3BScBvstMrr/Bovl8KPodaB9iTaRlVMcCV1jmANdYBRAQmZVbvOuaahL+PuS4EXk7Lqt7frYGBrO0XAO8BAZxjaL+aP3Hq9jkTp273c0YRiTwxwN3AJyOza8aPzK7pbh1IJBxum13b47bZtfNwziX6YWOEcDkL2Dosp27dsJy6A63DdFQ3z6mLu3lO3Wyc4+tB1nna6IfAqzflmn3d/VTw6fqGAh3Jhimxf90wJbb/himxvZoffniPVaS9hgIfDspvKByU39BpS3ulcxlY2Bg1sLBxBPAxzvm9zvK728E47zH8ekBR4xnWYTqqi4sbu1xc3Dgc+Aj/byK4ywHAa/3n7+gom4OKeG5bSvcngRnWOfbgMOAG6xAiIiIiIiIiIiIdgQo+RURERERERERkn4YvT67GuXDYT3qFe8FVo0v3A54BFgN9w72+T1wI/GblmNKRK8eUhrOEYCtQE8b19qSfdQDgcuP1LzVc+3jsyk13+WTc4qSPwr3o4pTynwK/x8fFUh47G/jdwgnlN1oH6UiKU8uji1PLZwO/Bk6zzuOGwokV5+IU9kym89zM1NIhwCsFgYrpBYGKjnAzDgDzAhXd5gUqVgFP45SGi0grsyZXRs2aXJkCvI0/jjnbqw/wRHZ6peuF+DML4v8KvOL23CCcND2j6gTrEHtwEdDbOMM7OfPi/2CcQaRTm5RZ3WNSZvVKnGOuw63ztNHxwOa0rOqQSjoCWdt7BrK2zwd+CRzjSjLvZQLLJ07d3mGO60UkYiQDi4Dfj8yu6W8dRsRLt82uPR54E8gAoo3jWLkJeG9YTp3lezsd0s1z6k7DORc9FackuSM5Gdh6U27dkQZr+6ngs9+QvHqV6ot0fN2BNOCTQfkNd1mHEfHSwMLGBOAxYCXO726d0Q+BbQOKGicOKGrU63g7XFzcuB/wPPAg4NqmSmHSF9jSf/6OAdZBRHwkB3jCOsQeTDpn0U79jBYREREREREREdkHFXyKiIiIiIiIiEhb/dk6QCthLS9ZNbr0YpybuKzLFf2gB7ACWLdyTGlYbtIauTRpB7A5HGvtww9WjC0LqXTCBVcYr295E+j5hmvv8mw4F1ucUt5zcUr5A8DDGBQb+0xv4JGFE8oLF04o10XC+1CcWv4D4A2cm487/PtBhRMruhROrLgbp/C5sxdEdgFmAs8WBCp6WofZl3mBimjgEeB24ygivjVrcmVvYB2wkI5dXhwDPJWdXnm8B7Mf9GBmMIZYB9iD66wDAGusA4h0ZpMzq48EfgWMMI4SjFOA59OyqoM6xxTI2n4hzjm7VKCj/a44EphmHUJEOq3vAy+OzK65xjqIiNuGz66NGj679mfAOzjHGp3d/sALw3Lqcofl1HWzDtMR3Dyn7g6c8+sdpTx+d47GKfn8frgWvDG3Lgrw0znr7wEnWYcQEdckAMsH5TfMHpTf0NF+/xfZp4GFjecBvwUGW2fxge5AMfDkgKLGJOswHcHFxY3n43z/dORi/57Apv7zd1xlHUTED7aldP8GGA58aJ1lN86iY25aKiIiIiIiIiIiElYd/oZOEREREREREREJG78VfIal6G7V6NKoVaNLZwAvAQeFY80O5EbgtyvHlJ4WpvU2hWmdfTnPauHl48oOBM6wWr/ZhcvGlfUwWtsPBZ9h+z5cnFJ+Ks4NyD8L15odRBpw38IJ5V2tg/hRcWp5l+LU8gDwLvY/L1xROLHiAOB5YC6gr/u3fgK8UBCo6GsdZE/mBSp6ABvQjWgiezRrcuWJwFs4x9aRIAF4Lju98kCX524AalyeGYyh1gFam5ZR1QWwLmX6CqekVkQMTM6svgznd8eOfPx/NrC0PZ8QyNoeFcjangm8ilNe1FFNnTh1+w+tQ4hIpxUNbBiZXXOLdRARtwyfXdsDWAs8AMQZx/GTKOAe4LVhOXUHW4fxq5vn1MXdPKfuAeB+nA0PO7pDgHU35taFZUOZRzPjmvDH+ZuWJlgHEBHXTQUWDMpv0P1wEhEGFjZGDSxsnAy8jja6bO1q4HcDihrPtQ7iVxcXN0ZdXNw4EXgN59ivo4sGHuo/f8eh1kFE/GBbSvcaYJx1jj1Isw4gIiIiIiIiIiLid3pDU0RERERERERE2spvBZ+9vV5g1ejSrsB9QDbOjW/yXd8DXls5tvRHYVjruTCs0RYXGK79E8O1d+mB3d+BdcFnLc5F8Z5bnFJ+OfAGcFw41uuARgA/XzihPNo6iJ8Up5YfgVNIXQTEGMdxReHEiuOB3wCXWmfxqX7AKwWBiv2sg7Q2L1ARB2wEBllnEfGrWZMrb8Ep9zzeOovLjgSeyU6vdG1ThpkF8bXAY27NC8GJ0zOqTrQO0co5gNuFqu21KWde/JfGGUQ6ncmZ1V0mZ1bPwNmIItE6jwtuScuqblPhdSBrewywCphDxz9n1xVYmzp1e0/rICLSaXUF1o7MrhljHUQkVMNn1/bBeS9JpbV7dj6wdVhO3fesg/jNzXPqjsV5XybSNl07A0gP43qVYVyrLUYMyas/2zqEiLguBbh/UH5DN+sgIqEYWNjYBSgGCtBGl3tyKPDygKJGP1wv5SsXFzf2AdbjfA9F0s/DPsCK/vN3dPTzviKu2JbS/WXgCescu3HlOYt2unY9gIiIiIiIiIiISCRSwaeIiIiIiIiIiLTVX6wDtOLphc2rRpfGAI/ilMjJ3vUBXlw5tvRyLxcZuTTpn8B7Xq7RRv0M177CcO2Wwl60VzK+LBn7ssst4xYnNXq9yOKU8puBp4BYr9fq4IYCDy+cUK73OoDi1PLBwPvARcZRXFM4seIs4HWcm3Zkz07DKfnsYx1kl3mBil7As8BA6ywiPhUza3LlUuAhIM46jEfOBB7NTq9084bCVS7OCsUQ6wCtXGcdAFhtHUCks5mcWZ0IPEPkbUpTkpZVfcjePiCQtT0Z2AwMD0+ksDgWp8hBRMRKFLB0ZHbN3dZBRII1fHbtfsDLRND5UQ8dhVPyeZJ1EL+4eU7d9TgbTZ1incUjM27MrQvXhiV+K/iMAn4+JK/+YOsgIuK624FHBuU3RMSmh9L5DCxs7IbzvkeqdZYOIBZ4ekBR4w3WQfzi4uLGU3COXyP17+Ry4DbrECI+Mhnw/JrFdooGBliHEBERERERERER8TPd9CoiIiIiIiIiIm3ltwvEyr0avGp0aS+ckoTBXq0RgXoAT60cW3qjx+s86/H8tjh7xdiy6HAvunxcWTf8U5QW9oJP4DyDNVvz/PtvcUr5WOBhwM0yrEh2A06hTadVnFoeVZxaPhV4HKdwOSIUTqy4GHgFSLbO0kGcCKwrCFR4WoDeFvMCFfHAC6hMQWRvfgGMsQ4RBlcAS7PTK90qntuKPzaeGGodYJdpGVVR2Bd8luOP39NEOpPTgXdwbnKONAnAyj39n4Gs7ccD24AfhS1R+IxJnbo9Er+mItKxzB2ZXTPDOoRIew2fXXsYzkZBZ1pn6UAOAl4bllN3jnUQY91/OqeuCNhABJ1f341o4IEbc+vC8d6T3wo+AY4BXhqSV3+YdRARcd1g4MlB+Q16b106lIGFjT1wjj9UYNh23YFHBxQ13mEdxNrFxY23A2/ibBoUyeb3n79DJe0iwLaU7p8C91rn2I0rrQOIiIiIiIiIiIj4mQo+RURERERERESkrfx2U9MXXgxdNbo0GtgIXOLF/AjXDVi3cmyplwUzmzyc3VY9gDMM1j0X6Guw7u6cvmxc2X5hXvP8MK+3O895OXxxSvndwBLArRKszmLawgnlN1mHsFCcWh6LUwg72zqLmwonVlyB83zrZZ2lg7kCmGcZYF6gojvOa7UffmaL+NkR1gHCaCQuFdDNLIhvAh50Y1aITpieUXWidYhmJ2B/A+cjOfPi/bYhiEikWw0caR3CQ5elZVVf1Po/BrK2DwDeAI4Oe6LweSB16vae1iFEpNObMTK7prMX/kkHMnx27X44GwUdZ52lA0oEXhqWU3eKdRBD1wMB6xBhcg7h+bP6seAT4HjgT0Py6vOG5NX75f1WEXHHZcA46xAibTWwsLEr8ChwtXWWDqgLcP+AosZbrYMYOgRYhXPtWqTrC5T0n79D11CJOOYC1dYhWrninEU79RwVERERERERERHZAxV8ioiIiIiIiIhIW8VbB2jlS7cHrhpdGgUsA37s9uxOJAp4eOXY0rM8mv8mUOHR7Pa4wGBNV4qRXBTuElzrsrj3xi1O+syr4YtTym/DuRBXgrNq4YTyM61DhFNxavmBODeu32ydxU2FqRVnAo8BMdZZOqhJBYGK4YbrZ2L/81pE/KcgO72ym0uz1gBNLs0KxVDrAM2utQ6AUzQoIuK2GS3/JS2reiTwPP7Z+MQrBwI/tQ4hIp1eFLBsZHaNW8fwIp4ZPru2B/AkkV0A7rVewDPDcuoOsg4iYTH7xty6gz1ew68FnwCxwBTgL0Py6icPyavvDMVYIp1FzqD8hkOsQ4i0USEq9wzV/QOKGi+0DiFhcTUwyDqEiB9sS+leAzxknaOVQ4BTrUOIiIiIiIiIiIj4lQo+RURERERERESkrfxW8PmFBzMzgZ95MLeziQWeXjm29HC3B49cmvQV8ILbc4PQz2BNvxV8XhquhUrGl3UHzgnXenvwrFeDl6SUXQys9Gp+J9EDWL1wQnmnKIUsTi0/HXgb+KF1FjcVpZYfATwDxFln6eAWFQQqXH8N3pd5gYqzgGnhXldEOoQfAHe4MWhmQfzfgJfdmBWiodMzqqKsQ2Bf8PknnGMSERG3XZSWVX1RWlZ117Ss6nuBFUBnKZpLSZ263Q+vMSLSuZ0OjLUOIbI3w2fXdgEeRJvNuOEw4OlhOXU9rYOI52KA2z1ew4v38N2WABQAHw3Jq79zSF69366DEJH26wUUW4cQ2ZeBhY0pQKp1jgjQHfjFgKLGY62DSFiMsQ4g4iPLrQPshkp4RURERERERERE9kAFnyIiIiIiIiIi0lZ+urFlB1Dt5sBVo0tvBnLcnNnJHQg8s3JsaR8PZm/yYGZ79VsxtixsZQvLx5UdhHNTtZ9cWjIubH8Hp+MUOFrypOBzSUrZCcAvcG5AkNCcCGRZhwiDU4GtwKHWQdxUlFoej/M8O9A6SwToDSwvCFSE7XUqP1ARC6wFuoZrTRHpcGZlp1f2dmnWgy7NCcXxwEmWAaZlVB0KnG2ZAVidMy++yTiDiESuHOAJYJJ1kDA7GfiRdQgRESBnZHbNIdYhRPZiNnCjdYgIcibw0LCcOt1bEPlG3Jjr6df5XQ9nu+0w4D6gdEhe/ctD8uonDcmrP25IXr0K90U6piGD8hv8tmmqyH8NLGwcBMy3zhFBEoFnBxQ1JlkHEc9d1n/+jsOsQ4j4wbaU7u8Db1jnaOVK6wAiIiIiIiIiIiJ+pYtwRERERERERESkrfpaB2jhy9uXJbtWIrJqdOkxwEq35sl/nQws9WDuC4B1icx+wLFhXO+yMK7VVofiFBuFw/lhWmdPyoE33R66JKUsEaew1k8Fyh3dPQsnlJ9qHcJjhwFx1iHcVJRa3gV4DKekVdxxGXBbGNfLJXyvCSLSMR0AZLg06xfAdpdmhWKo8frXGK/fBDxknEFEIls/4GrrEEZSrAOIiOBsIFJsHUJkd4bPrr0MyLTOEYGuBSZbhxDPfQ+4yMP5b3s42yvdgIuBe4EPgY+H5NUvGJJXf+mQvPoY22gi0k6LB+U3xFqHEGltYGHjoTjn03Ufp7uOBVYNKGpUOXdkiwJ+Zh1CxEeWWwdo5YfnLNq5n3UIERERERERERERP+pmHUBERERERERERDqMk60DtPCFW4NWjS7tCqwmwsrSfOSWlWNLn7hzafITbg0cuTTpi/vGlr0NnOPWzCD1Az4K01pXhGmd9roU+GMY1rEu+Hx+3OKkr90cuCSlLAooAY50c67QDVi2YEL5+akLE62LgKXtAjg/T8RdxfmBiiczihOqvFwkP1BxMTDRyzVEJGJMyk6vXJ5d0PezUIbMLIivnZFetR4Y4VKuYA2ZnlE1fVZ+vNUxx7VG6+7ycs68+H8YZ5DgrJ8ypbr+O/+1+RbocH9Du7hecX5eH5XOSqS4LnXq9kMX5PQO6TVTRMQFQ0Zm11x2X3av562DiOwyfHZtAnC/dY4INntYTt2zD02N+4N1EPHUSOBlj2Z/AlTRsTe3OxqY0PyoHZJXvxn4JfAr4HeP3RO7wzKciOzV93BKwKdZBxHZZWBhYxTO8WtHfm30s6twNr5cbR1EPDWi//wdc16bGO3qtVsiHdRjwDKgh3WQZlHABTibdEay+85avNOVTUibwlxL3cReF3zg3XHdloQri4iIiIiIiIhIZ6OCTxERERERERER2afVo0qjsC9TbOlLF2dNxr48MNItWzm2dOudS5NdK2YFNmH/PdkPWOX1IsvHlXXDv8V3lwILvVygZHxZFM7ftaVnPZh5MzDUg7mh+iPwOvBPoBTn521Z8/+X3OJxJDAAODz8EffpXJzvma3WQWTfilLLTwZyrXPsxuc4Nzh/ivNc2PV82AEk8e1z4WCgP3CSTcy9SgDuAIq9WiA/UBEPPOjVfBGJOLHAbOBnLsxahX3B53E4G2G8H+6Fp2VUJQAXhXvdVnSzbMd1gnUAj+xvHUDERV2B0cBU6yAiIkAKoIJP8ZPFOOfkxBvRwJphOXXnPjQ1bqd1GPHM9Tfm1iU9mhlXtu8PbZ9HM+O+GZpb9xuc95AiQU+cTVZ2bbRSf0Ne/dvAr3EKP994/J5Y1/8eRSQkYwflN8x8JqPHV9ZBRJqNBgZah4hwCwcUNb78UlqMNiWLXIcDlwAvWAcRsbYtpXvduYt2bsV5TvjFD4j8gs9jrQN4ROd9RUREREREREQ8pIJPERERERERERFpi2NxSqL84t9uDFk1uvRkYJYbs2Sv9gNKVo4tveHOpclNLs3cBGS7NCtY4SqdPA+ID9Na7XVRybiy6DFLknZ4uMbh2N6s+w0uX8i4JKXsMGCpmzND0IRzge1TwEspixI/a+snLkopj8J5fbgUuBM4zZOEwQmggk/fK0otjwEewrlp3A9+BawHNgMfTp6f0ObXrHsnVhyEc/H8TcAV3sQLyoT8QMXCjOKErz2aX4w/i35FxL+GZ6dXFmcX9A21FPPXwCfAMS5kCsVQDAo+gSuxvd6jlsi/SUtExNqVqOBTRPxhwMjsmt73Zffabh1EZPjs2huAn1rn6ATOADKBmdZBxDPRwK3AfI/mv03kFHy2Fgtc2PwA4Ia8+g/5tvDz18CfHr8n1q0x72iXAAAgAElEQVT3xEWk/RKBC4BXjXOIMLCw8RjgXuscnUAf4P4BRY0/eSktRq/BkWskKvgU2eUl/FXwGambC4qIiIiIiIiIiIREBZ8iIiIiIiIiItIWP7QO0MoboQ5YNbo0CliGf0rF9qYa+LLFox5IBvZvfiQDXczStc31wDXAky7Newfn72I/l+YF4/gVY8uS71qaVOrxOn4qimutF3Au8EsP1zjfw9lt8ca4xUnlbg1bklIWBTyIP0pbnwBmpCxK/H0wn5yyKLEJ+Aj4aFFKeQlOwVUOcLR7EYN27YIJ5UelLkz81DqI7NUs4BTrEMCbwDRgS3tKPVuaPD/hX8BaYO29EysuAOZh//ML4EjgWmCD24PzAxWXAj9ze66IRLwo4HYgLZQhMwvim2akVz2Ic+xhaej0jKpps/Ljw33D6LVhXq+1x3PmxdcYZxARiXQnp07dHrsgp3e9dRAR+Y4moBz4Aucc9a5/fgUk7ebRxyama2KAnwCPWweRzm347NpewGLrHG1Uzrfv6ZXi/HzYv8Uj0S5am00dllP3yENT4/5kHUQ8cx3eFXy+6dFcvzq++XFH87+X3ZBX/wbwCvDM4/fEfmSWTORb1Xz3+LUWZ6Pf1sevCTjncTuya1HBp/jDYiDOOkQb1PDtz4ZdPx+SgANwjl/3w//XpV2KU2C+xjqIeGZQ//k7ur82MXqndRARH3jJOkArP7AOICIiIiIiIiIi4kcq+BQRERERERERkbYYYh2glVdcmHEV/ije2p1q4GXgRWAz8OcRJcl7LIy5f0xpNHABMAjnz3VMOEIGIXfl2NJn7lya/FWog0YuTfrmvrFlzwG3uZArFOcDT3m8xuUezw/VpUR2wecml+cNAX7s8sz2+hAYlrIo8R23BqYsSvwGeGRRSvkTwBxgsluzg9QFmAAEjHPIHhSllh8HTDKOUYFzw+3GYIs9d2fy/IStzSWftwErsX8/LoAHBZ/APR7MFJHOYWh2euXk7IK+34Q4Zw0wG9ubzY8FTgV+F64Fp2VUxWL/O4JukBUR8V5XnNeYbdZBRDq5HcBvcYrKtgFvAX9bPrNXm89xj8qu6Y5T5teyNOkooB/Oef0DXM7shWtQwafYm4h/ny//xnk/bzOwZe20nv/a2wff6pSVDsB5X28QcKDnCduvG86mGn57j1jcc8aNuXVdHs2MC/X8zO68AFThj83uLCTx7fO78Ia8+o+BZ5ofWx+/J3aHZTiJeE3AH/n2+PVN4E9PZfRoaOuAq/MbugJ9+fbYNRE4GDgP5/j1WJcze+GaQfkNgWcyeoR7YyaR/xpY2HgxzmYJflSDc+3drmPYP22eFLPH58slRY3dcX4G7Hp9OyEcIYMwa0BR46MvpcU0WgcRT8QAJxLG9+REfOxdoBLnmM0PTjhn0c6ub6V0/9o6iIiIiIiIiIiIiJ9Y31AoIiIiIiIiIiI+t3pU6Rk4pZF+8TnwUSgDVo0u7QrkuhPHVQ3APCD/jpLkurZ+0oiS5B04haAvA2n3jyk9FVgA9PckZfBOAG4FVrk0bxP2BZ/98LDgc/m4skNwyhz87FJgmofzrQs+n3Vr0JLxZdFAnlvzgrQFGJKyKLHSi+EpixJ3AOmLUsq/xPl5ZunOBRPKs1MXJlYZ55Ddy8UprLHyMTBo8vyEkI4p9qS5MHT1vRMrvsQpwIj1Yp026pcfqDgnozjhLbcG5gcqTgcudmteGHwCvIpzHPlv4D/N//wSSAAOb34c0eJ/Hwv0Nsgq0lY7ge7WIYJ0CM6NoL8KZcjMgvh/zEiv2oJzPGppKOG9mfASIC6M67X2D5yfqSIi4r2zUcGnSLhtxykl24rz/Pvd8pm9QioGWZ7dayfO76H/afV/Fd+VXRMFHI3zO/bt2J8L3ZNBI7Nrut/n/FlEwm747NpkIMM6x26UApnAA2um9WxzicXaaT1rgI3Axltn13bB2RRsEXC8JymDd8OwnLqzH5oa97Z1EPFEL+D7OJvCuWp9Zlz90Ny6dcBot2d3UMfibMQVAKpvyKt/Aafs87nH74n90jSZRIKvgNdwztdtA95+6u4eIb03+lRGj6+BsuZHS/cBXJ3fcADwI+BmnCJ4y/f79uRI4BTgPeMc0kkNLGyMAuZa59iNHUAxMGfzpJjtbf2kLWkxO3E2/v0lkHFJUeMJzXP8VmB6BM7xxwLrIOKZs1DBpwjbUrp//cNFO18FrrXO0qwHzs/gv1gHERERERERERER8RMVfIqIiIiIiIiIyL7MsA7Qysu3L0tuCnHGrTg7uvvJY0D6HSXJfwt10IiS5PfuH1N6Mc6fsxBIDnWmi2auHFu67s6lyQ0uzHoR+BrbG0b6eTz/Mo/nu+HsknFlCWOWJFW4PbhkfFkvbAtOPwPed3HeaOB7Ls5rrxXA+PGLEj2/ET9lUWL+opTyaqDE67X2ohcwAigyzCC7UZRafj5wvWGE14DrJ81PKPd6ocnzEzbdO7FiIE65bozX6+1FAOdGS7ekuTjLKx8AG4AngN9PKUrY2/Hjd8pP56ZVdAcuBK7DuSniEC9CiuzDv3Bulnwd+CNOKW1p8+MrnBLaA4ADmx/n4nzPHmURtp2GEmLBZ7MHsS/4HDI9oyprVn58qL+nttV1YVpnT9bmzIv/xjiDiEhncZZ1AJFO4j84RXu/AF4JtdCzPVZk92rC2ZTiE+C+u7JrTgZGAT/DttS9tb44vyO/FOTnD6V950WGAhOCXMstl+Bsymbhj0br+lkm/tqI5WtgITBrzbSeIW2mtXZaz2+ALbfOrj0VSAem4hRj+EUu9r93i3fOxIOCz2YPoILP3ekDDGl+NN2QV/8mTtnnM8D7j98TG67zS/vyCnBBOz/nKSDRgyxttQGnbM5CfZjXqwWeA54ENm28O9b19+n35qmMHv/B2dzu8avyGw4G7gDGAAeHM0cbXEvwBZ85wPJ2fPzxwMog13JLGrt5vytM/mm0rp9dB5xjHaKVp4G0zZNiPgl10Ja0mD9eUtR4Oc7r2XzgoFBnumjqgKLGB15Ka3uBqXQoZ2L/81bEL97FPwWfAD9ABZ8iIiIiIiIiIiL/QwWfIiIiIiIiIiKyR6tHlZ4NXG2do5VXQvnkVaNLo4GZLmVxS+YdJcl5bg4cUZLcBKy5f0zpM8CzOGU/fnAYzs0dId9cM3JpUsV9Y8t+Dfwo5FTBO3vF2LIedy1N8upG38s9muumLsCPcW6acts52Ba4bhq3OMmVG+mWjC+LB6a7MStITwKjxy9KDNuNgSmLEpctSikfANwQrjV3Y8KCCeULUxcmfmWYQVooSi2PAgoMI/wJuGrS/ISw3dAzeX7C1nsnVkwH5oVrzd0Ykh+oyMgoTvhHqIPyAxWHAje5kMkrrwPjphQlfBDKkClFCTtxiktemptWkYJTrnQdzo1qx4ScUmTP3gPuA54H/jL93r57e+2ubn583Pzvj82cXDkZOAWnSHk8tjfV782Q7PTKtOyCvl+HOOdJnL+DPi5kCtYxwGnAb71eaFpGVTfsf0dfY7y+iASnEvg7Tkl0ArA/sB8QbRkqDOqBf+CUZsfg/Jn3w/Z1oz3Otg4gEsE+xin0fBJ4c/nMXr4oMF+R3esDYPxd2TULgIfx18+Bawiy4HNldq/ftOfj75xZ44eC4zfun9GzzjqEwPDZtYcC46xztPAVMGTNtJ5Pujl07bSeO4A5t86uXQ+8DBzq5vwQXDIsp+6Sh6bGbbEO4jNfAV8A/8Y51o7n22PNWMNc7XUWzuuNF34D/B44yaP5kSAK5z38c3HKBD+7Ia/+GZxzL9ssyz6fmBK7a5OhNrt+bv0Oj+K01ee/mBLrxoZCfvUlTin9k8BLG++OtSoi/x9PZ/T4HMi5Kr9hEbAEuMU4UkvXEOS1Qc+m9/gI+KitH39lQYMfvh5/2JTeI5KfAx3GwMLGLsAc6xytzAUyN0+Kce21ZUtaTBOw/pKixhdwNlz8sVuzQ5SMU3jrt2sDrTXhvLb/B+c1JQ7n76ojnSsFbYgk0lLIhc0u+wHOxgUiIiIiIiIiIiLSTAWfIiIiIiIiIiKyW6tHle4PrLfOsRsvh/j51wCHuxHEJdlul3u2NKIkufz+MaVXAq/hnxuoJq4cW7rwzqXJoZb5AGzCtuAzGjgTcP1GieXjyroDl7o91yOX4k3B5/kezGyPTS7OSgOSXJzXHn8GfhbOcs8WxgEXY/dnPwK4FnjcaH35riuxe27XAYPDWe7ZQhFO2a1VMUdXnKK/u12YlYI/32OsBNKBB6YUJbhazDKlKKEJeBt4Oy+t4i2cEhgRNzUAjwDLgLf2Ueq5VzOcz30PeG9meuVioBC41ZWU7joI6Af8MpQhMwvi62akVz0KjHQlVfCGEoaCT5zXUKvjKoBtOfPi/2S4voi03d+Bh3B+V/+kMLdPdesPmJRZHQX0xrkpenDz44BwhvTAdpzCk8dwztWUF8/p/Z3X1UDW9mic3xevwvlzW59/2JPjU6du770gp7fF7zAikagW+DmwAnhn+cxeZqVZ+7Iiu9fHd2XX9MMpJLnHOk8zv5S1SOczCv+Ukn8D/NTtcs+W1k7r+fGts2svxdnEJtmrddopAHT2gs9/Ai8AL+Kcy/jPuqy43Z6DvHlOXRxwPM4GHdcCp4YrZBA8K0hanxnXNDS37gGcc+PSNocCo5sf796QV7+kCdZtuCe23jiX2PkGZzPXFcDzG++O9e2Ghk9n9KgChl2V3/AcsBzoaRwJ4PRB+Q0Jz2T0qLAOIp3OpTjHAn5RhMvlni1tSYupuqSo8VqcDSH8sknF+AFFjXNfSotptA5iqBrna/Ji8z//+mogeufuPvCi4h3RONdSXo5z/Nof282Y9+aUC+fviP7lxGjrYnERP/h43x8SVj+wDiAiIiIiIiIiIuI3frz5TkREREREREREjK0eVdoDeBI40jhKa5/eviz5ryHOGO1GEJfkAbO8XqS55PMnwFbgKK/Xa4PDgZ/gTnniJpy/R0v98KDgE6dcoo8Hc73gVRGpZcHGDpyL3EO2ZHxZNHY/exqAG8YvSqy0WDxlUeIXi1LK04DVFus3uw4VfPpJiuHaoybNT/iDxcKT5yd8de/Eip8BHwBRFhlwngshFXzmByp64ZQq+M1GYPSUooR/WwcRaadvcG52njH93r5fuj18RkHfL4HbZqZXrgFW4ZQE+MlQQiz4bPYgPij4nJ5RlTkrP97rkqjrPJ6/L2uM1xeRffs5zmvL1sLcPnstPS/M7dOEc6P3y8DLkzKrJ+DcxP0AsJ/XQV32EZAFPFM8p3fDvj64eE7vHTg3vxYBRYGs7YcCC4DrPU3ZflHAGTgb94hI8N7BKUVat2xmrw5TmLsiu9dOIPOu7JreOJt2WDvIOoB0PsNn13YH7rTO0awJuHXNtJ6Peb3Q2mk9P7w1p/Yy4BWcQnZrlw/LqTvioalxf7MOEmaNOO9tLAE+WJcV16bf+ddlxdUB7zY/sm+eU3cUUIyzCaXfnH5jbl3XRzPj3NiUcXfW4pRV++H7uKM5A7gfuHdwXv0DQMmGe2L/bJxJwucfwErggY13x35mHaY9ns7o8fBV+Q1fA+usszQ7EFDBp4Sbn65LWwxM9qrcc5ctaTHbLylqvALnPZ8TvFyrjZJx3k95xDqIgU04x56vvhqIblMx9KuB6B3AJ8AiYNFFxTsSgcnAFOyubdiTaJwNzt+1DiLiA34r+PTDdckiIiIiIiIiIiK+0sU6gIiIiIiIiIiI+MvqUaVRODeLnGedZTdeCeWTV40u/T7wY5eyhOoZIOuOkmSvC2AAGFGS/DlOCaNJyd9uuHVB+wfAP12aFax+Hs29wqO5Xvheybiyo90cWDK+rAu2P4deHbc4qcalWYOB/V2a1V7zxy9K/J3R2rusA/5luL5lUay0UJRa/n1goNHyL02an/CQ0doATHbKRZ8zjHBsfqAi1KKmO4B4N8K46BfADSr3lA7oFeD06ff2HetFuWdLMwr6bgEGAJ6uE4QbstMru7ow5w2cYjdL38MpXvDMtIyqKOBaL9fYhx3Ao4bri8je/QY4rzC3zy2FuX1+ua9yz90pzO3zdWFun2dwfp5tcz2hN6pxbjY/uXhO78fbUu65O8Vzen8G3ABk4BRw+4nfCrpF/KwJqG9+VOAUHp+1bGavs5bN7LWiI5V7tjIZfxRXJI7MruluHUI6natxirn8IG/NtJ4/D9dia6f2fAfnd8CwvI+4D1HYb6wRTuVADnDEuqy4Ueuy4t5va7nn7qzLivsUp2BqPE5pqJ/0BI7zavj6zLhSYIZX8zuJBGAS8PHgvPqnBufVn2QdSFy36/i1DmczsyuBozbeHTuro5V77vJ0Ro9HgGXWOZodYB1AOpeBhY2HAFdZ52j2GpDqdbnnLlvSYkpxrgX4TzjWawM/Fa16bSfORn8nvRKIufKVQMyWtpZ77s6rgejyVwPRmcAl2F7rsydnWQcQ8YM3U7pX4a/3/7Wxg4iIiIiIiIiISCsq+BQRERERERERkf9aPao0GigBfmqdZQ82h/j5d7mSInQ7gEC4yj13GVGS/GecG9L84MqVY0sPC3XIyKVJTcAmF/KEot+KsWVRHsy93IOZXrrU5XknAH1dntkez7o4a5yLs9qjDigyWvu/UhYl7sQpjrZy5IIJ5Qcbri/fGmO49izDtVtabrx+0MXJ+YGKrsBEF7O44WXgp1OKEoK+QUnEyF3AgOn39n0/XAvOKOj7Ec7xpZ9KjQ4ALgx1yMyC+CbgwZDThG6Ix/NPAY70eI29eTpnXny54foisntfAncCPyzM7eNKKWdhbp/PgP74u+SzCXgA+H7xnN6FxXN67wh1YPGc3k3Fc3oXALeHOstlfawDiHQUy2b2enfZzF5xzY/EZTN7jV42s9c71rlCtSK7VyNwE/4o+bPaxEg6r1HWAZr9E8gN96Jrp/Z8GVgb7nX3YMQtOXWRXvL7FTAPp9hz2rqsONfKqdZlxTWty4pbAlzUvI6fHOnx/MXAHzxeozOIwimMe29wXv2ywXn1Ki2MEBvvjk3ceHds3Ma7Y3tuvDv22o13x27aeHfs19a5XBAAPrUOgQo+JfxGAG5sbBaqb4AJmyfFhHUjmy1pMZ8B08K55l70H1DUeIJ1iDD4BXD0K4GYO14JxLh6zPVqIPpl4DTgH27OdcGR1gFEfORj6wAtqOBTRERERERERESkFRV8ioiIiIiIiIgIAKtHlR4OvIZ/bpZr7Z/AE8F+8qrRpdHAz9yLE5KiO0qSPzFaezHwV6O1W+qCc2G7G6wLPpOA49wcuHxc2aHAyW7ODAO3Cz7Pd3lee7nyfbVkfNmpQD83ZgVh6fhFiV8ard3afTg3kVix/n7q9IpSy3ti9zr82qT5Cb80Wru1TcBnhuuH8vPoWuAot4K44G3g2ilFCQ3WQUSC8Kvp9/YNeznPjIK+7wDXhXvdfbjApTlrsS88Gjo9o8qL4v9drL92q43XF5H/9TWwAPj+vbl97r83t4+rv28V5vbZgVPQb/l73J68AZxTPKf3iOI5vV0rXWrhIWCLB3ODpYJPEWFFdq+PgZesc6CCJAmj4bNrj8L99x2Clb5mWs9ao7WnAn44/3UgTrlgpHoDOGNdVtyUdVlxNV4tsi4rbhswx6v5QYr3cvj6zLid2G2EF4m64FzP8fHgvPopg/Pqe1gHEtmdpzN6NOCP84k6fpWwGVjY2AVnIx4/WLZ5UkzYNplrZRX+KfceaR3AQ38Hrn4lEHP9K4EYzwo4Xw1Ef4F71/e5xdPjV5EO5l/WAVrQexkiIiIiIiIiIiKtdLMOICIiIiIiIiIitlaPKt0PmAKMBfx8A0jR7cuSd4Tw+RcAiW6FCcG/gFyrxUeUJDfeP6Z0CvCIVYYWrgeyXZjzErAT6O7CrGD1Az50cd7lLs4Klx+XjCvrOmZJ0tcuzbMsZPxo7OIkt0p4rW4Y+BooNFr7OyYsSvz7wpTyXwE/MopwPvC40dp+8Tnwm+bHx0AZUN78KAPqgFggDujZ6hEHHIxTPHxK86O9N03cEMTnuGWu0brfkT4/4auCiRXrgTSjCKH8bL3JtRShKweunFKUsN06iEhHM6Og70sz0yt/DvzUOkszV0rtZxbEfzYjvWozMNCNeUE6CjgT57XWC9d6NLctvgSeN1xfRP7Xq0DKvbl9fu/lIoW5fX43KbN6ARDwcp12+DeQDjxcPKe3Z6XOxXN6NwWyto8FPgBivFqnHXRTrIjs8hBwiXEGFSRJOF1jHaDZVgzfU1s7tec/bs2pLQIyrTK0cD0hbMboU9VABnDfuqy4cJXb5+J8f58WpvX2xfPz9usz414bmlvnp/NRkaA3kAeMGZxXP3HDPbG/sA4kshsP4871IKHQ8auE0xnAYdYhgApgutXiW9JivrqkqDEd+82aAa4fUNQ46aW0GOsN4tzUBBQB2a8EYjwrpm/p1UD05ouKdyzHP5vGe3L8euH8Hd3YzbnYvX7zeLDtX7i/WZug9lep0Y1hXlbcE5afA23U2zqAiIiIiIiIiIiI36jgU0RERERERESkE1o9qjQO50bQq3HKmnraJtqnSuC+EGdc6UYQF8y8oyTZuoxqV7HYOcY5Tl45tvTwO5cm/z2UISOXJm2/b2zZL4EBLuUKRj/gfhfndcSCz77AWcCbLs2zLPh81o0hS8aXRWF3E/Kvxi9K/LfR2nvyBrYFn53Nh8CTwK+BdwILEj9vw+dsb37sVVFqeRRwOHAC35Yr/3Ufn2ZVSlaNUwTtJ28Yrn12fqAiOqM4oV2l6fmBimjgJx5lCsb0KUUJX1qHEOnApgND8cf1Aq4UfDZbhW3BJzh/r64XfE7LqDoKONXtue3w85x58TsN1xeR/zXB63LPFnKBiXhyq3K7rSqe0/uhcCxUPKf3xxOztj8CDA/Hevuggk8R2eUJYDm25cMqSJJw8sv7ehlrpvW0LgSah7OZ2H7GOS67Jaeu68NT49za6M0Pnvt5VtzycC64Litux01z6lKB18K57l6Ea2OuyTjXJ+wfpvU6i8OBJwbn1S8miskbpsSqnEl84+mMHp9cld/wFrbXpej4VcLJL8eveZsnxZQZZ3ge2IL9JhVHAD8A/mCcw02fvxKImWywbjpwK87msNa8On49AXjfo9l+diPOtaTSMfmp4DP2nEU7u72V0v0r6yAiIiIiIiIiIiJ+0cU6gIiIiIiIiIiIhMfqUaX7rx5VesfqUaUbgVJgIzAC/5d7Aiy+fVnIpZh+uJB6B/CodYgRJclNwGLrHM3c+rpscmlOsC5wa9DycWXRwKVuzQszVwqVSsaX7Qd8341ZQXKl4BM4HTjUpVntZf2c2J1thmufsWBCeazh+uHyO5zSthMDCxJPCCxIvCewIPHpNpZ7tlnagsSmtAWJf0tbkPh82oLEp5sf1Xv6+KLU8ljsCte2TJqf4LdCMsvnQgzOz6b2ugDo7XKWYP0Bp9BERII0o6Dvn4EV1jmaHZudXtnDpVkbgSqXZgVr6PSMKi9K8KyKsndZbby+iBgpzO1Tiu3xqyW3zg2ESgWfIgLAiuxe24FPjWOoIEnCYvjs2t5Af+scwCf44Fho7dSe1fjj97Ik4IfWISLEr4AvrEM0C0vB5/rMuH8BV+CvAppIMh54ffDc+iOsg4i0Yl2UpuNXCSc/XJfWBDxsHWJLWkwkXpfWqb0aiN4OvGido1m4CupFOgK//X7ll+uKREREREREREREfKGbdQAREREREREREdmjXmtGlZ7R/L+7ND+6tvhn11b/LRrnxqr9d/PYrwkOBrwoGvFaA7AolAGrRpceAxznTpyQPHdHSXKldYhmTwM7ge7GOa4ESlyYswkodGFOsI5dMbZs/7uWJrlxM14/oJcLcyxcCsx2Yc55LswIVg3wukuzrnZpTjCeM1x7TyxvhO4OnIV7X1s/eRPYADwRWJD4Z+swe/BjIM5obd+V3abPT/isYGLFZ9gVAPfD+b5pj0FeBAlS4O6ihK+sQ4hEgBxgFM7vk5a6AicAvw110MyC+PoZ6VWP4Py5rBwBnA285fJcy4LP3+OUiItI5/Ustr+nW9kMfI39a6VuiBWRlj4HjjdcXwVJEi6XYP/+FcC6NdN6NlmHaLYBmGwdAud9vV9bh+joHsmK+/qmOXVP42zGaS1sBUnrM+PeGZpbNxjndwzdx+K+s4HfDp5bf9uGKbHPWIcRaebqJoRB0PGrhMXAwsYDcH4OW3t186QY6+fdLi8CtdhvPH4lkG+cIVJsxH5DOlDBp0hLfiv47ANUWIcQERERERERERHxiy7WAUREREREREREZI9OBd5pfryNU8T0a2Ar8BrwMrAFeAGnyG0j8AAwF0gDhgEDgdOAQ+iY5Z4A99++LDnU0sQrXEkSukesA+wywika3WydAxhw39iyWBfm/An4iwtzQnG+S3Mud2mOhfNKxpW5UTzh1t9lMDaPXZy0w6VZVgWf/wY+MFp7jyYsSvwX8C/DCJbfV276Buc4IBU4PLAg8dzAgsQCH5d7gm3Z7YuGa+/Nu4ZrB/NcuNL1FMF59u6iBD8cv4h0eDMK+v4L53dLPzjZxVkPujgrWEPcHDYto2o/4AI3Z7bT6px58X4ptBERG89aB7Awf07vSuBX1jlwbogVEdnF8twagBvn8kXawi/nonzzvh7ORhKfWYfAP1+bSLDROkCzsBYkrc+MexF/FJtGqgTg6cFz6++2DiLSTMev0ln45Tof3xy/bkmLqQf8UDjdb0BRY4J1iAjxDM71KtZU8CnyLb8VfGrDMhERERERERERkRZU8CkiIiIiIiIiIn72NVDowpx+LswIVR3wtHWIVh63DgD0AM4MdcjIpUlNwKbQ44TErdIdvxTSBqMb0N+FOZZFjK4UlywZX3YIcLobs4Lwx/GLEv1awvS54dqRUvD5XGBB4kWBBYkLAwsS/2EdZl+KUsujgEFGy9fgj5ved4CMoW4AACAASURBVKfDPBfyAxUHAd/3KEt7LbEOIBJh/HBjJbhb8Pkm8KGL84IxdHpGlZsbbFyF3bUd3wAPG60tIv7xAfCVdQgjlsX8u6jgU0Rasi5IEgkXP7yv9/6aaT3/zzrELmun9vwG2GCdAzj1lpw6Feq443XrAM3C/vVcnxm3Brgn3Ot2MnMHz62fYB1CBB2/Sufhh+PXr/DH8WJLfrgurStwrnWISPBqILoU+KN1DlTwKdJSg3WAVlTwKSIiIiIiIiIi0kI36wAiIiIiIiIiIiJ78dDty5I/dWFOyAWSLnjqjpLkWusQrWzEucDb+jzhmcBWF+ZsAsa7MCdYIV+wv3xc2WHAiS5ksTSQEMqiSsaXRQNnuxen3dwqij3PpTnB+Kvh2vvyH8O1jzRc201+LW/dk8OBg43W/uuk+Ql+/fuyfC4clB+oiM4oTtjRxo8/w9M0bVcGbLEOIRJhngUKrEPgYsHnzIL4phnpVQ8Cc92aGYTDgXNwykbdcK1Lc4LxYs68eN2EL9LJFc7p8/WkrOp/AEdZZzHgh00VdMO6SCdzV3ZNN+AA4KAWj4Ob/3mhYTSRsBg+u7Y3cJx1DuAR6wC78TiQah0CZ3OzV61DdHSPZMVV3jSnrhxINI5idbw5D6gCFgDdjTJEugWD59bXbpgSe791EIlsV+U3dAGS+O6x60HAKYbRRMLJD9elvbh5UkyZdYhWngPqgVjjHGc2Z5HQ/Rn769r6XDh/R9QvJ0b79VoQkXCKsQ7QSmfdLE5ERERERERERGS3rG/cFxERERERERER2ZOPceEmtVWjS/sCR4ceJ2SbrQO0NqIkufz+MaVbgYuMo7hVHPYqzq7kPVya115nrhhbFnvX0qT6EGZc7lqa3fsC2N/jNS4N8fNPx+5r+O7YxUluFRhZlpT+1XDtffnCcO0Ew7U7Mz0Xds/yuQDO86GtJaOnexmkHR67uzhhp3UIkQjzIfAX4HvGOVwr+Gz2EJALdHF5bnsMxYWCz2kZVb1wCvStrDFcW0T85a90zoLPv1sHAKKtA4iIO+7KrokGDuR/C49aFyAdhHP+NsoopogfnIo/ngO+e18P+DXOJjhJxjnOQAWfbvkL9gWfJoUw6zPjmoCSobl1v8Uprz3EIkcncN/gufV1G6bErrMOIh3P1fkNXXGOTQ9q9Ti46X///UBU1Cud2MDCxhjgJOsc+PD4dUtaTO0lRY1bgKuMo/hlQ8tI8BfrADjv/3UDdO2ACPS0DtBKlXUAERERERERERERP1HBp4iIiIiIiIiI+FE9MPj2ZcluXPB1mgsz3PCBdYA9eA/7gs8z3RgycmlS/X1jy14GrnBjXhC6A2cBr4cww8vsTUAOsNDDNQCOLxlXduiYJUmfBfn557uapn02uTjrLBdntdenhmvviwo+Ox89F3avIxV8+uWGJ92ALOKyGQV9m2amV74AjDGOcnB2emVidkHfcjeGzSyI/+eM9KoXgcvcmBekIdMzqtJn5cd/E+Kcn2BUtAFUA08arS0i/vM36wBG/FDwKSI+N2pGTVfgCHZf1nkQUc5/a7Iv5BPpKPxwLqoJ+D/rEK2tndrzm1tzaj8gQt7XE8ApSLI8h25ufWbctqG5dWcAjwAXW+eJQFHA2sFz60s3TIn1XfGb2Lg6vyEK51j1EPZePn8AtpsoiXQUJ+KPkls/X5dmXfCp41f3+KHgU0S+pYJPERERERERERERH1PBp4iIiIiIiIiI+NFdty9LduvCYz9cpNsE/ME6xB744QbFE+4bWxY3cmlSnQuzNmFX8AlwAUEWfC4fVxYDDHA3zv/4DfAo3hd8AlwKrArycy0LPp91Y8iS8WVdsL0hM7A4pXzY3j6gKVxJvrve0WFeuqVeCyaUd09dmLjTMENndLbh2lcUTqw4bm8fYPhcSA7z0q21p/D2dM9StN1nwFbrECIRyi+/pxwHvOHivAexLfg8DDgH2BbinGtdyBKsx3Lmxdcbri8i/tJZCz6D3bxERCLUqBk1XYBjcc797XqcAcRZ5hKJMH54X++TNdN6uvGelRf+D/uCTz+UsEaKP1sH8IP1mXFfDM2tG4izUeHd1nkiUFfg/sFz60/cMCV2u3UYCb+r8xsO4X+PX8/C/n0qkUjih+NX8G/Bpx+uSzt8QFFj8ktpMaXWQSKAjl9F/KWXdYBWVPApIiIiIiIiIiLSggo+RURERERERETEb0puX5b8kIvzTnFxVrA+uaMk2c83AlrrApwEvOXCrOdcmBGKfiF87gV4e9Hl5tFLkr5YNq7sd8BpHq4DMJAgCj5LxpdFYVfwWQq87dKsY4A+Ls0Khh/K+PyqL/CldYjOoii1vAu2NzQdjW2prJ+1qeAzP1DRFzjS2yhtsuXu4oRvrEOIRKiPrQM0i3d53kagEue138pQQij4nJZR1R0Y5F6cdlttuLaI+E+1dQAjNdYBRMTOqBk1UcBRfFuCdDbOeY7elrlEOgE/vK/3vnWAvfDDRh3H3ZJTF/vw1DhtChG6zlqk/x3rM+O+AqYMza17DihCRbJuOwzIA8ZbBxFvXT2vYX++W+Z5kGkokcjnh+PX/2yeFPOFdYg98MPxK8CpwEvWISKAjl9F/KWndYAWdgKN1iFERERERERERET8pIt1ABERERERERERkRbeAgIuz9zP5XnB+MA6wF74oeATYH83hoxcmvQX4EM3ZgXp/BXjyoI973q5q0m+68VW//TSJSXB/T0cARzsdpg2em7s4qSvXZp1gktzxH1tKjUU1xyI+4Vt4o62Phesfia39p51AJEI5peCT1fL0WcWxDcA69ycGYQh0zOqQrkmoz92BaWfAluN1hYRf9phHcBIZ/1zi3Rao2bUdB81o+aaUTNqngDKgD8DjwLpwEWo3FMkHPS+3t754X29KPzxdYoEnbVIf4/WZ8a9hlOqfTvwuW2aiDNu8Nz6C6xDiLuumVcfdc28+vOuntew7Op5DX8H/gM8C8wErkLlniLh4IfjIj8fv34E+GEjxwOsA0QIHb+K+IuXm8m3V9VbKd2brEOIiIiIiIiIiIj4iQo+RURERERERETEL8qAIbcvS3Z7F+dEl+cFw7cXUo8oSS4H/m2dA0hycdYmF2e1VwJwfJCf62XBZy3wRvP/3uzhOrskA6cG8Xnnux2kHZ51cVayi7PEXSr4DC89F/yrrc8FPxxHAbxvHUAkgv0df5SXuVrw2exBD2a2x6HAuSF8/nVuBQnCmpx58boBS0Racvt8XUex0zqAiITHqBk1p42aUTMf+CfwJM6xmM4jidhw8/2iYPn2fT38UfAJ/vg6RYJa6wB+tD4z7pv1mXGrge/jlBTWG0eKJCsHz63vYR1CQnfNvPpDr5lXfw/O5qe/BkYBh9mmEum0/HBc5Nvj1y1pMQ04m2dY88PXKRLo+FXEX/x0XVaVdQARERERERERERG/6WYdQEREREREREREBCgFrrp9WfLfPZjthwt0fXshdbP/Aw40zuB2wWeai/Pa6wLaeYPl8nFlRwA/8CYOAK+MXpK0q7hpK9AAeH3z1kDgt+38HKuCz6+BF12c56eLZ+V/qZghvPRc8K+2Phf88pxRwaeIR2YU9P16ZnrlXwi+pN4tvT2Y+TbwR+AED2a31VCcG+zbZVpGVRfgGvfjtNkaw7XFe6txzsNEmnesA0Q4P5RBh938Ob2/npi1/Ru0ibZIRBo1o2Z/4KfA7QS3WZGIuGz4/7N35/FRlfcexz+IMUwSDGFi1dbbWpdqrbeL7bVUbbVWXK+iFePtbUWgKGEJhSCRWGIIUCAJe1iCVjaXWgGtKKhQ3KpV3JfaWve1dSEJSFYD5P5xhmuM2TPn/J6Z+b5fr3khZPL8vjiczDPnnOf3TK8J4f+1i85w9rrejVNSP7psRs127M+9unD9NR7UWgdw2W3XpNQAU7Nm1l6P1+jzV0CybaqYdwwwBphrHUS6blBxXQpwId789Qygl2kgEdnHhQ0TnZ2/RrwEHG2cQfPX6ND8VcQtR1kHaCbeG3zeBrxrHcIHj1gHEBERERERERGJZ2rwKSIiIiIiIiIi1v4JnDe0PPN1n8Z34UbqN60DdOA14HTjDNG8kfovQDWQFsUxu+Jk4Loufs85fgRp5v+bV2YvCdeXj6l4GK8Bp58GAsVd/B6rBp9/Hb04XBXF8bQwwF0uvCckEh0L7ups404Xjpl/XT0/Ix6bkIm45DXsG3weGO0Bi0rTmwon7VwJlER77C645Nq8nbnTStL3dvH7vg98xY9AnfDIjOL0N4xqSzDmzJ594N+sQ0jMabAOYKgRNRESiRvZhdX7A+cDQ5vgXHQPrYhrXDmfGAvX9dTgMz7UWAeIBbddk/I+MCJrZu3VeI0NRwFHmoaKbSMvnl03f/3kUFfPV4mRQcV1A4DhwKX4cB5VRHrMhXlRLMxfrbnwOsWDBkAbIok44IdljQcA/2Gdo5l4b/C59KmxSQ9ZhxARERERERERkdiik+kiIiIiIiIiImLpIeAkv5p7rsze3pvON7Dy0yfWATrgws11UbuR+oql4U+BLdEarxtO7sb3nBv1FJ/X8v9HEP9/Tlk2piLU2ScvG1vRF/iOj3naszHK41kvrJW2ufCekEh0LLgrlhp8vmAdQCQB7LAOgH8L02/CW2ho5cvAj7rxfRdFO0gXrDasLSLu+tQ6gKFE/ruLxI3swupe2YXV5wDPAbcDF6DmniIucuFcVN2agtTd1iE6EFfX9RJcrXWAWHLbNSkVt12TMhf4BnAWcCe2531i1dHAT61DSMcGFdcdP6i4bhPwGHAFau4p4ioX5rC6L61jmr9GwYMTDmhCc1gRVxyOW/0BPrQOICIiIiIiIiIi4hqXTuCJiIiIiIiIiEhiuRE4a2h5ZqWPNdKBXj6O31nV1gE64EK+aN9IvSnK43XFkdeNqTiks09ePqYiGTjdxzzvAv9s8Webfay3TzLw4y48/0TszllHu8GnFga4Sw0+g6VjwV2dPRZcOGZ8aQQvIp9TYx0A6OvHoEWl6f8G7vVj7C7I6sb3XBj1FJ1TD6w1qi0ibkvkJpeN1gFEpGeyC6u/i3c+dBPwLeM4ItI+F84nunDNrCMuZHThtYoHao7UDbddk7L3tmtSNt+Wn3IhXlObGXzxWqi0b6R1AGnboOK6QwcV110HPA+cY51HRNp25tyGA/Dp+kYXuTA/bI8L+TR/jR7NYUXccJR1gBa0ea+IiIiIiIiIiEgLavApIiIiIiIiIiIWpgKXDy3PbPC5Tn+fx+8sF25Ubo8L+aJ9I/U9UR6vq07uwnN/DKT6FQTYnL0k3NTiz14kmF3Tz+zCc0/yLUX73gVeivKYWhjgLj+PNfkiHQvu6uyx4MJc6hPrACIJwIUGnwf6OPYqH8fujEuuzdvZ6XszCvJ2HgN808c87fnTjOL0nUa1RcRtfp/Dc1kiNzcViWnZhdUHZBdWlwDPAGdY5xGRTnHhXJQL18w64kJGnfuNDhfOycS02/JT3l2bHypYmx86Fq/Z5xV4m5f4ucloPLjo4tl1B1uHkC8aVFw3BHgF79+y1nuJuM+FzRLBjflhe1zIp/lr9GgOK+KGI60DtPCidQARERERERERERHX6IKviIiIiIiIiIgEqREYMrQ8s2hoeWbLhoN+cOXmXNd3ro+7G6mvWBp+H3g+mmN2UVcafJ7rWwrP5pZ/EGn4ucXnugADu/BcqwafG0cv/kID1J7KjPJ4IrFKx0Lsc6Gpghp8ivjPhYV4fjb43ABU+Th+Rw6la58PLvQrSCesNqwtIm5L5CaXjdYBRKTrsgurjwD+AkwCehnHEZHOc+G6ngvXzDriQkYXXqt44Po15JiyNj/09tr80O/X5oeygC8BJwJTgIeB3abh3LM/cLl1CPnMoOK6tEHFdWvwzs+lWecRkU5zZU7kwvywPS7kc+W1igeaw4q44dvWAVp4wTqAiIiIiIiIiIiIa9TgU0REREREREREglIJnDm0PPPGAGu60JSqeviyzL3WITqwyzoA/txIvcmHMTurKw18zvEtBTQBW9v4WhANPr+9bGzFwR09adnYiv2AHwWQpzUbfRhTCwNEPDoWYl+GdQDcmKeIxDsXGnz29WvgopL0BuAWv8bvpKwuPNeqwecHwJ+NaouI+xqsAxhK5OamIjEpu7D6YuBZvKZeIhJbXLiuFwvnolzIqHO/0eHCOZm4tDY/tGdtfujJtfmh363ND52K9/PlfKAM+KdtOmf81DqAeAYV130beAa4zDqLiHSZC/NXcH9OoflrfHH935tIojjNOkAzO4F3rUOIiIiIiIiIiIi4Rg0+RUREREREREQkCLcB3xpanvlgwHVduDm32jpAJ7iQMd4afJ5w3ZiKlI6etHxMxdeBY33M8VT2knBFG18LosEnwBmdeM5xQLrfQVrRANwfzQGXeM1KXVnEIWIt0zqA9JgLP88+sQ4gkgBcWIjn91xwlc/jd+Tia/N29u7oSQV5O78MDAggT2tumlGcvtuotoi4L5GbXDZaBxCRzssurB4BrAUOtM4iIt2i63qd40JGF16rmHfrb1MaAX0WD8Da/NCutfmhu9fmh8atzQ8dC3wN2Ddv+Mg2nZkTL55d18s6RKIbVFz3Q+Bh4GjrLCLSLS7MiWq3TEzeYx2iAy7MX/v+bF7DAdYh4kStdQCRRDegrPEw4CjrHM28+EROUpN1CBEREREREREREdeowaeIiIiIiIiIiPjpPeD8oeWZlw4tz/zAoL4LTalcuEm5Iy5k7HP96I4bYnbR48COKI/ZWfsDJ3bieef4nKPNJp7ZS8L/Bv7mc32AMzvxnJN8T9G6B0YvDkf7xvN+6Ny7yD4uLGiSnnFhLqUGnyL+c2Eh3v4+j/808JLPNdpzKHByJ553gd9B2rHGsLaIuC+RG3wm8t9dJKZkF1aPAq4H1KhKJHa5cC7KhWtmHXEho879Ro8LG68knLX5oXfW5oduWJsfygIOAb4BDAdWAK+YhgtOf+BI6xCJbFBx3cl41/MtNsIUkejQ/LVzXMnowusVDzR/FbF3mnWAFl60DiAiIiIiIiIiIuIiLTIWERERERERERE/NAILgeOGlmfebZgjw7D2PrFwU6sLDX3Aa4wYNVcsDe8G7ovmmF3UmQY+fjf43NzDr0fDwGVjKzpaVG/V4HOjD2NqUavIZ3Q8xD4X5lK7rAOIJIDe1gGAnX4OXlSS3gSs9LNGJ2R14jkX+p6idc/OKE7XwisRaU+DdQBDjdYB4pzuX5SoyC6szgGWWucQkR5z4VyUrut1TlSv6SU4F17PhLY2P9S0Nj/06tr80Mq1+aFfr80PHQMcDPwcmAtsA3abhvTPD60DJKpBxXWn4N3L0Nc6i4j0iOavnePKfEdz2Ohw5fUUSWQ/tQ7QwgvWAURERERERERERFykG2RFRERERERERCSa6oFFwBFDyzPHDy3PtG7IVGdcP1Z01HwxKH40i9jkw5id1W6Dz+VjKvoAP/Oxfg3wWAfP2eJj/X0OBY7r4DmdaYbqBz8afKb5MKZIrNLxEPsOtA4A7LEOIJIAXFhEXhlAjZux/Zky+Nq8nW02Uy3I25kOnB5gnubWGNUVkdix1zqAoUT+uwehj3UAiX3ZhdVn4m04JiKxT9f1OseF63qJ3AA+2j61DiBftDY/9NHa/NAda/NDV63NDw0A0vGa6BTgNWW0vg8iWtTg08Cg4rrDgDuAVOssItJjmr92jgvzV9AcNlo0fxUxNKCssRd215Tboo0kRUREREREREREWrG/dQAREREREREREYkL1cBSYN7l5ZkfWodpJogmMR2JheZmLiwcaQJ2+DDuvT6M2VknLR9Tsd/IJeG2GkH8BAj5WP+B7CXhjm6qfhjvxusDfMwBMBB4qbUvLBtb8SXgKJ/rt+YfoxeH3/RhXC3gEPlMHbHxPihtqwH6GWfw871SRDwuNPis8rtAUUn6B4V5O+8B/tvvWm04GPgx8GAbXz8XSAoszWd2A7cY1BUREQE1+JQeyi6sPgyvkbsrzUJEpGd0Xa9zXLiuV2EdII40WQeQjq3ND9XindN5EGDwrLrewPHA+cAQ4GirbD10onWARDOouC4J+COQaZ1FRKJC89fOcWH+CprDRovmryK2TgIOtw7RTD3wrHUIERERERERERERF+1nHUBERERERERERGJWE/AAMAL4j8vLM692rLknuHFjrm6k7pyqK5aG90R70CuWhj8Cnoz2uJ2UDnyrna+f63P9zR09IXtJuBZ4xOccAGe287UfBVC/NRt9GlcNPkU+o+Mh9n1iHQA35iki8c6FBp9BLYJdFVCdtmS187ULA0vxeffMKE7/yKi2iIiIGnxKt2UXVidac6RPIw+ReKbrep3jwvkyF14rETPr8kN71uWHnl+XH5oBHAMMwNsQ1YVGb11xmHWABDQbrylTItgL1FqHEPGZC3MizV87ZzewyzqEiEgUjLAO0MJ9T+Qkac4nIiIiIiIiIiLSiv2tA4iIiIiIiIiISMx5AbgJ+MPl5ZnvWYfpgAsLaHQjdef4edP7RuC/fBy/PScDL7bxtXN8rt1hg89mzzvdzyDAqcvGViSPWhxuaOVrVguYNvk0rm5YFfmMjofY50KDzxTrACIJwIUGn1UB1bkb73Ni/4DqtXTxtXk7c6aVpH9uc4OCvJ198H8DgLasMaorIiICavApPTOB+GmO9AnwHvB+5Nfm/73v1wpgA/DfRhlFgqDrep0T79f1RGLKuvxQE7AN2DZ4Vt0E4JdAKRA2DdY5GdYBEsmg4rqTgVzrHFFST/tz1/eBD4GJeE1NReKVC/PX0MC5Db23TEyO+qbKUeTE/HVrbnKTdQhxWjVwn3UIAx9YB5DOG1DWmE77G0pauMM6gIiIiIiIiIiIiKvU4FNERERERERERDryGvBg5PFQDDT1bM6FxWUpK0Zt32/4ssy91kHa4cSN1D6OvQmY6uP47TkZKG/5h8vHVBwJfMPHuu8Cr3TyuVvwf1FNCvAjvJ8jLVkswv8EeMSnsdXQUOQzOh5inwsNPl2Yp4jEOxcafAayCLaoJL2hMG/nzUBOEPVa8SXgJ8ADLf78dGyayOwA7jKoKyIiso8afEq3ZBdW9wMmW+fooiq8zaD2PV7Da3z0/nVT03Z1ZoArp1b7l07EDS5c14uFc1EuZHThtRJxzrr80KfAysGz6u7Ca/I51DZRh1Iunl13wPrJoU+tg8S7QcV1vYBZ1jm6qB54CW/u+gLe/Qfv4s1hK+/K69Nho7zzS+p9DSjiAFfmRClApz5XGtH8VZz38PgD3gTOts4h0oH/wa1NcvfgbbApIiIiIiIiIiIirVCDTxERERERERER2ecT4FW8RaWvAn8HHr58eeb7pql6JpAmMR3oBYSAGusg7Yj3G6mfBj4GDvKxRltOaePPz/G57ubsJeEOF9REPAdsBzJ9zAMwkBYNPpeNrUgG/svnuq3ZPHpxuNGnset8GrcrPsKNpnwu0qKNYFk3+PwE73iQL+rs/G6nryk6x6XFCSLx6kDrAHjNjoKyCrsGnwBZfLHB54UWQYBbZxSnNxjVFhERATX4lO6bBGRYh+jAx3ibT20E/gr867qpaZ09ZyuSqFw4f2ux+UJXxft1PZGYty4/tB0YNnhW3Rq8zSD93Pixp9Lx5i3ir7OBH1uH6EAd8Ge8Jk0PAq9vyOuzxzSRiPtcmROloQafHXHltRIR6ZYBZY29gCutc7Tw8BM5Sfr5KiIiIiIiIiIi0gY1+BQRERERERERcdeHwJ1RGutTvAaTLR+1wAd4DT23X748M94Wl7py81gabjf4dGGxom+v1RVLw3uvH11xDzDErxrtOHz5mIovj1wS/leLP/e9wWdnn5i9JLy3fEzFn/F2ePfTmcBvW/zZ94Bkn+u2ZqNfA49ZHN67ZGxFLbYN6eaMLetfalhfZJ9q4/r3TVyQkWWcIda50CzYhQVfIvHuYOsABLs5w7PAi8B/BlizuYuvzduZM60kfTdAQd7O3sAgoyyrjeqKiIjsowaf0mXZhdUHA+Otc7ThHeBGvKZITy4vSlNDJJGucWHjPheumXXEhYyuXIMVcdq6/NADg2fVfQ/vvo8zrPO0IQM1+PTVoOK6/YDfWedowy7gZmAD8OCGvD4ubGYpEktqgEYgyTiHC/PD9riQT/NXEYl1FwEnWIdo4Q7rACIiIiIiIiIiIi5Tg08REREREREREXe9NmR55kjrELFsWHlmw8rs7TXYN4ayrt8RF/L5fSP1JmwafAKcDKzd95vlYypCwOk+1msCtnbxe7bgf4PP7y8bWxEetTjc/LU+yeeabbnX5/HfB472uUZ7jjGsLdLc+8b1dSz0nAsNPvtbBxCJZ0WTduwHHGedA6gKqlBRSXpTYd7OVcDcoGq2cBBwKp/N2QcAXzLI8SqwzaCuiIhIc2rwKd0xHNvNdVrzBl7TphuXF6U1WoeRqOhlHSBBudB0x4VrZh1xIaMLr5VITFiXH6odPKvuAuBPeBsiuqafdYAocfm9+2S8jS9dshNYACzckNcnsHOz4iuXj4G4tXlictOZcxsqgEOMo7gwP2yPC/k0fxWRmDWgrPEAoNg6RyvutA4gIiIiIiIiIiLisv2sA4iIiIiIiIiIiPis0joA7i+KSbMOgP83Um8G9vpcoy0nt/j9qfjbvOCp7CXhrv7/3OJLks/rxRcbm1o0+Hxq9OLwBz7XeMvn8TvyDeP6Ivu8ZVz/6Lnjq3QtrGdcaPB5pHUAkTh3OG40Rwr6c9tNwO6AazZ3SbP/vsgow+oZxelNRrVFRET22T+nYJc2KZeuuqTjpwRmF17D0WOXF6WtUHPPuKJzSjZcaLqTOmR6TZJ1iA4kwnU9kbiyLj9UB/wS2G6dpRXp1gGixOX3bpfmr+A1pv/ahrw+U9XcM664fAzEOxfmRbovrWMuvE4iIt01EjjKOkQLTz+Rk/SOdQgRFze/cgAAIABJREFUERERERERERGX6QKeiIiIiIiIiIjEOxdu0D3GOkAHvm4dAJ9fpyuWhquAv/pZox2ntPj9OT7X63Kzzuwl4XeBl33I0tLAff+xbGxFL77Y/DQIGwOo8VYANdrj+s8cSRxvGdcPAYcZZ4h1LjT4PNo6gEicO946QESgC8mLStI/AjYFWbOFiwvydu5fkLezF3ChUYYbjeqKiIi05OdGOBJnsgurjwS+Z50j4mPgtOVFaSvV2DMu9bYOkKA+wW6ztuZc30Qr7q/ricSjdfmh7UCudY5WNFgHiBIn37sHFdftB1xsnSNiD3DZhrw+Uzbk9dlpHUaizsljIEG4sPG06/eIaP4qItJNA8oa+wGF1jlasc46gIiIiIiIiIiIiOvU4FNEREREREREROKdCzdSu9I0py3fsg5AMDdSWzXw+e7yMRVpzX5/rs/1Ngf8fV1xZqSxJ8DhwCEB1GwpERp8fmlxTmU/4wwiYH8sgPuL8V3nQoPPI4onVGlRooh/XPisUo3XHCloqwxq7pMJnIb3WexIg/oPzChOf8egroiISGvU4FO6wpXmSO8ApywvSnvGOoj4RvdXG1hdkLoXXddr12UzavoCX7XOgRokSSsunVl7wqUza0/O8h7afKt1fwC2W4doYZd1gChx9b17APBl6xBAPXDRhrw+N1kHEd+4egwkAhfmRc7OXyMS5b40ERE/zAHC1iFaqAaWW4cQERERERERERFxnS7giYiIiIiIiIhIvHPhBt3/tA7QlhtGbU/Fa7RoLZ4bfPYGTgRYPqbiaOAoH2vVAI9183u3RDNIG77GZ3//kwKo19JHwNMB1Hk7gBodOdo6gAhuHAtq8NkzO60DAAcA/2EdQiSOubDo84mppf32GNTdiG1DhSzgIqPaq43qioiItEYNPqUrLrAOAOwFzlpelPaKdRDxlTYbsaPreu37pnWACBdeJ3HPLcAjkcdLWTNrLzTO45x1+aHdwFrrHC3ES4NPV9+7XZi/AozakNfnLusQ4itXj4FE4MK8yNn56xnzGnoDx1rnwI3XSUSkSwaUNV4G/No6RyuueyInqco6hIiIiIiIiIiIiOvU4FNEREREREREROKdC4tsXWia05ZjgV7WIYB/BlDjBeBfAdRpzcmRX8/xuc4D2UvCn3bzex8EGqOYpS0DI79aNPi8Z/Ti8N4A6rwRQI2OfNs6gAjwDl7TC0s6Fnrm39YBItS0WMQ/37MOADxuUbSoJP1T4GaL2hE/BwYb1K0FbjeoKyIi0pa+1gEkNmQXVu8HfMc6B3Dj8qK0l61DiO90f7UdXddr37esAwCVqEGSdOxA4I6smbWzsmbW7m8dxjHd3azRL/HS4NPV9+7vWgfAe2+9yTqE+M7VYyARODF/HTi3wYV7v1pzBJBsHYJg7ksTEYmaAWWNxwHl1jla0QjMtw4hIiIiIiIiIiISC3QBT0RERERERERE4t0z1gGAr68Ytd3VherHWQcAPiKAxptXLA03AZv8rtOGUyK/+t3gc3N3vzF7SbiaYBaU7WvweXK7z/LHxoDqPA/sDqhWW/7XuL4IuQv71+M1V7Y0eO74qgOMM8Sy560DRPyndQCReFQ0acexeA3/rVk2NVhlWDuMTSPq9TOK0+OlcYOIiMSHI60DSMz4GpBmnGEPMN04gwSjt3WABObCdT2Xz0W5cF3vmZunpDRZh5CYMRm4L2tm7ZesgzjkfesALXxiHSBKXH3vduE9ZdqGvD7W167Ff64eA4nAhflrGDjEOkQbXJi/1uJGI1YRkU4ZUNaYCqwFUqyztOLGJ3KS3rMOISIiIiIiIiIiEgvU4FNEREREREREROLd09YBIly4Ybk137IOADwTab4ZhKAaPLb0o+VjKtKA03yu0+0Gn1H6/s44fdnYiv4Ev5hpN8H8/RizOFyLfVO80xfnVB5unEEE4HHj+mHgfOMMsewD4GPrEMBZ1gFE4lSWdYAIs/eKopL057CftwVtjXUAERGRFo6xDiAxw4XmSLcsL0p73TqEBEL3V9tx4breEUOm16Rah2iDE9f1rANIzDkdeDprZu0PrYM4oso6QDP/Xj85VGcdIkqce+8eVFzXH/iycYzXgFuNM0gwnDsGEogrc6PjrQO0wYX563Nbc5P3WIcQEemMAWWNycAfcfN+4yag1DqEiIiIiIiIiIhIrNAFPBERERERERERiXfvABXWIYATrQO04XvWAQh2seZWoDHAevv0BcYCfXys8S7wSg/H2BKNIB04EO//RdDnpx8ZvTi8M8B61k0NAS63DiCCG8fCMOsAsSpvfkYT8Jx1DuC04glVadYhROLQpdYBgFenlvbbbpxhlXH9IL0HPGAdQkREnLLXOgDwDesAEjNcaPD5V+sAEpje1gESmAsNPgF+YB2gpctm1OwHfNc6B+68RhJbDgMezZpZ+7usmbV+Xi+NBV+zDtDMP6wDRJGL790uzF+3bcjro6Z2icHFYyAhbJ6YXAm8aZ0D3ZfWHs1fRSQmDChr7AP8CTjPOksb7ngiJ+ll6xAiIiIiIiIiIiKxQg0+RUREREREREQkrg0rz2zCjRt1B1sHaOmGUdszgdOtcwDPBFXoiqXhXcDDQdVrIc/n8TdnLwk39XCMp4GqaITpwIQAarS0KeB6jwVcrzVDF+dU6jqAWHPhWDh77viqQ61DxDAXGnwegBtzFpG4UTRpx7eA46xz4Mb7xM3AbusQAblxRnG6FvSLiEhzu6wDAMdYB5CY4cK/FReatkgw9rcOkKhWF6T+C/jAOgcOXtcDTgJcOM8Z2HU9iTu9gWuAZ7Nm1p5kHcaQSw3u46nBp4vv3Zq/SpBcPAYSie5La8UZ8xrSgHOtc6D5q4jEgAFljSHgTuBs6yztKLYOICIiIiIiIiIiEku0sFdERERERERERBLBE9YBgB+vGLX9K9YhWrgEN27yfzLgekE3etwnw+fxN/d0gOwl4T3A1ihk6Ui/AGq0tDHgeo8HXK81hwOnWoeQhPcqUGmcoTfwK+MMsex56wAR51kHEIkzl1oHiDBv8FlUkv4xcLd1joCssQ4gIiLO2WEdAPheTsGuZOsQEhMszim29IZ1AAnMQdYBEpwL1/UuGTK9prd1iBZ+aR0A71yvfhZKTx0LPJI1s3Zh1szaNOswBlxq8PmydYAocvG9W/NXCZKLx0AicWH++t2BcxtcaCzc3CAgxToEbrw+IiJtGlDW2B+4CzjTOks77n0iJ0k/T0VERERERERERLpADT5FRERERERERCQR3GMdAOiF11DTJf9rHQB46Yql4XcDrmnV4NNPTUSvMWePG4U66C3gHwHXfAN4O+CarZm9OKfShUa+kqByF/ZvAu63zgHkzR1fdbB1iBj1nHWAiAuKJ1T1sQ4hEg+KJu3oD4yxzhFh3uAzYpV1gAA8MaMkPZ6aNoiISHTstA4AHAj8zDqExIS+xvWbgHeMM0hwXNuwLdG4cF3vYBzaQOuyGTUHAFnWOYD7bp6Sstc6hMSFXsA44MWsmbXnZ82s7WUdKEDHWwdo5gXrAFHk4nu39fwV4E3rABIYF4+BROLC/BXc2dxtHxfuS3uX4O8XEhHptAFljScDz+L2OfJ6YKx1CBERERERERERkVijBp8iIiIiIiIiIpIItgEV1iFw6EbqG0Zt/xpwinUOYKNBzX8SfwtZnhq5JBytf+NbojSOSzaOXhxuCrLgGK/euiBrtuFEIN86RJAWjavstXBc5ZULx1W+vnBc5duRxzLrXAnOhWMhE7h+7viqRFokTMmEqjNKJlQ9XzKh6u3I49FuDPNPoCHa2brhEOAK6xAicWIq0N86BFAN/M06RMQm4GPrED5bYx1ARESc5EKDT4DB1gEkJhxoXL9meVGaC5+PE0GddQDgMOsACc7i2lFrnLmuBwzEjc/yrrw2Ej8OBzYAD2fNrD3ZOIvvBs+q+xnwQ+scETXA41Ecz/r9+7CLZte5dg3Iev4KUGUdIEFY//sHzV+tvYQbG8A6M389Y17DQcBZ1jmAjVtzkwO9X0hEpDMGlDX2HlDWeA3wEPBV6zwdmPZETtLr1iFERERERERERERijRp8ioiIiIiIiIhI3BtWnrkHr2GLtQErRm0/0jpExC+tA0TcHXTBK5eGm3Dj30M0bY7WQNlLwm8Br0VrPEdYvd4uNDUEuHZxTuX3rUMEYdG4yiOArcBy4Ai8G6C/itfcUexsBOqtQwDnA8OsQwShdEJVeumEquvxmjZ/m8+Oha90day8+Rm7cacB32+Lc6tSrEOIxLKiSTu+BYy2zhGxbWppvz3WIQCKStIbgZutc/ioEbjVOoSIiDjJlQafF+YU7EqyDiHO62tcP21kYbX+nQZjh3UAvIZzYmR1Qeq7wPPWOYCLh0yv6WMdIuIy6wDAXuBe6xASt04BHsmaWbsha2bt8dZh/DB4Vt3+wALrHM1sXT859GkUx7N+/+4DfMk4Q0vW81eADOsACcL63z9o/mpq88TkJgzuf2rFcQPnNnzXOkTEpUBv6xC48bqIiHzOgLLGY/Du9/wdbvysbM9LwFzrECIiIiIiIiIiIrFIDT5FRERERERERCRRbLQOEDHVOsANo7aHgauscwBVwGNGteOtweeWKI8XtYahDqgDHjCqvQ1416h2c/sDNy7OqQxZB/HLonGVvReNq/wN8CLwU+s88nm5C/tXA/dY54hYOHd81detQ/ipdELVf+PdYD8iisM+F8WxeuJgYKx1CJFYVTRpRy9gPu4sElpjHaCFldYBfHT3jJL0CusQIiLiJFcafGYAI4MuOrZg1zeBQ4OuK92mBkmJo8o6AHCmdQBx4rpeGMixDnHZjJrvAVnWOYDHbp6Sos+W4rfzgReyZtauyppZe7R1mCgbAbjUvPS+KI+n9+8vcmH+2t86QIJw4d//CeeW1h9kHSLBuTB/BSiyDnDGvIa+wG+tc+BtQmp1v5CIyBcMKGv80oCyxiV49/Scbp2nk0Zuy0mK5sYAIiIiIiIiIiIiCUMNPkVEREREREREJFHcBzRahwB+tWLU9hOMMxThxkLke0cszdxtVPtBvBu540EN0W+UGu2GoZbuH704XGdReMzicBOw3qJ2K74JXL84pzLJOki0LRpX+S3gYWABkGIcR9q2zjpARBpw29zxVZnWQaKtdELVwaUTqm4G7gK+EuXhn4nyeD0xuTg3vpu0ivhoJDDQOkREBXCbdYjmppWkvwA8a53DJ6utA4iIiLNcafAJMDunYNcRQRQaW7ArNLZg1wzgeeCQIGpKVDRYB8DbeEL850KDpON+XVRzlHWIBHeXdYCI3w6ZXhO2Kn7ZjJpewEKgl1WGZu62DiAJoxdwOfBK1szajVkza8/Kmlkb0+teBs+qG4S38Y5L4rHB5yDrAC1o/pogNk7qU4f9670fcJ5xhkT3AN79O9YuGDi34VTjDPm4cb5l69bc5FrrECIiA8oavzygrHEq8DowGnc25OzI8m05SY9ahxAREREREREREYlVMX2jg4iIiIiIiIiISGcNK8/cAdxhnSNizopR200W4t0wavvxQLZF7VastCp85dJwLd7N9fHggZFLwtHeJf0BYE+Ux7Sy0bj+zcb1m/slsHFxTuWB1kGiYdG4yqMWjau8EXgROMk6j3ToLmCXdYiIHwB/nTu+6kjrINFQOqEqXDqhajbwBvC/PpXZADT5NHZXZQD3zc6tOijowrNyq74DTA26rkg0FE3acRmw1DpHMzdMLe3nYsP9VdYBfFAB3GMdQkREnOVSg89U4Iacgl2+3tM4tmDXWcDfgN8CcbcRSpz7yDoAcLJ1gAThQoMwcK9JWKLZBrxsHQJIBwoM6w8GfmxYf589wI3WISQhnQvcC/wja2bt2KyZtX2tA3XV4Fl1VwC3A32sszTz+PrJodejPKYL799nXzS7zqX/z5q/JhYXjgHNXw1tnphcD/zBOkfEnIFzG0zWjJ4xr+EIINeidivM7ksTERlQ1th7QFnjOQPKGu8A3gEK8TYljhUf4jVsFhERERERERERkW5Sg08REREREREREUkk5dYBIn4KnB900Ru8pqLzcWMH8DeArcYZNhnXj5bN0R4we0l4J97i2Xhg+jqPWRx+CnjYMkMLA4GHy3Iqv2IdpLsWjav86qJxldfjLe7+FWDSMFm6Jndh/13AddY5mjkaeGzO+KoTrYN0V+mEqvTSCVVTgTeBq4EUv2rlzc94D7d+lh0NbJydWxXI4ofZuVVJs3KrrgWeAr4TRE2RaCqatOMSvMaVrrxnNuHOZ7OWbgEarUNE2S3TS9KjvSGAiIjEj0rrAC2cBtydU7ArHM1Bxxbs6j22YNdFYwt2PYTXIOqIaI4vgXGhQdIZVoWvnFrdGwh8swsjLjRHAhjz66Ia3863SPtWF6S69Nlx9JDpNd8IuuhlM2pCwJyg67bh7punpLxvHUIS2jeAMuD9rJm1y7Nm1v4sa1bt/tah2jN4Vl3q4Fl1xXjXRlxbt+PHRkAuvH+nAiOtQzTjwvz1ZxeU1FueFz7YsHbQXDgGzju3tP6b1iESnCvz1x/g38aQHSkFko1qN/cB3iaWIiKBGLCosdeARY3fHLCocfSARY1r8X4ObQIuxI37dbsqZ1tOkgvzGxERERERERERkZjl9E0NIiIiIiIiIiIiUfYg8AreAiBra1aM2n7a8GWZzwVYMx/DBcgtXDdiaeZe4wyb8BaCxbqoN/hsNu5JPo0dlJdGLw6/bR0CbwHDT6xDNPMd4PGynMqLcsr6P2UdprMWjas8FLgGuBI4wDiOdM9C4De4c33qIODBOeOrhgJrr1qQ0WScp1NKJ1SlAjlAHpARYOlbgFMDrNeR/wLunp1bNXTyvIy3/CoyO7fqZLz5wvf8qiHip6JJOwbjHb8uNRHYOLW035vWIVozrSR9+7V5O+8Cfm6dJYpWWwcQ5+RPnvxJxRf+NNLqIegJkc/1flsy68Bd/pYQiXkvWgdoxTnAszkFu7LKpvd9vCcDjS3YlQ78Gu8z1OFRyCa2PrYOAJwxsrD6wOVFaZ8EWfTKqdX98Ob1PwyyrqGd1gEivo53PnKKdZAEtgaYDfQxzpEEbBwyveaUNQWpHwZR8LIZNb2BG4CvBlGvE5ZbBxCJ6It3nehK4OOsWbV3NNHrNuChtfmh3bbRPINn1e0HDAFmAocax2lNBbDWh3F3+DBmd0y/aHbdujsmh1xoSuzC/PUQYADwWJBFzy+p7413DEwIsq4xF46BJGDZuaX1P900qU9MXPeMN5snJj995tyGp/AabFpbPnBuw+tbJiYHdvyfMa9hLO5cX1mxNTc53jZ0E5Ge6fujRY1fxXu/TMK796y1X7vytUy8z+1fbYKv4TWcjwfzt+Uk+fGZIZb95geLGy+OxkBNAbffb+r6PrAznxmz/wd+ZBERERERERERSTSuLKAUERERERERERHx3bDyzKaV2dvLgXnWWYB04L4Vo7b/ePiyzFf8LnbDqO0TgN/5XaeTGoGV1iGuXBp+47rRFS8Dx1pn6YF38ZrW+mELMNWnsYOy0TpAxCbgH8A3rYM0cxjwRFlO5U1AQU5ZfxcaobZq0bjKo4BRwGjsF3JLD+Qu7P/uvN9U/gG4zDpLMyHgj8CoOeOr8q5akPGkdaC2lE6oOggYClwFfMkgwnpgMd5CBVecCrw0O7eqEFgweV5GVBZwz86t6gWcjdcc/cfRGFMkaEWTdnwVWABcZJ2lFUusA3RgFe4sQO2pvwPPWIcQ5/yvdYAAzQDU4FOkfS8Au3HvPsL/AP6aU7DrEeA2YF3Z9L4dLijNKdjVq8nb3OlcvEahp6JNQuLJR9YB8M7r5xFgw8crp1YfB/wJODqomtZ+X5i2Z0RR9SfAgdZZgLzhRTW3rChM/bt1kES0uiC16vLpNbfinROzdhRw35DpNaetKUj1tYHXZdNr9gOuB37hZ50ueAv/NpsT6YmD+KzZ5/ZLZtVtAB4A/rI2PxT4da/Bs+r6A4OBbNzeMOqG9ZND9T6MW+XDmN3RF1hwUXFd1h1Xh6wbHLowfwWYdUFJ/U835AXT8PH8kvoMvOb0ZwdRzyGuHAOn4jUZ1sZPdsqB31uHAFKATQPnNpy6ZWLyC34XO2NewxW4s8lyE958WkSkudGRh7Tvfrzzn/J5Lt534ZdlgBp8ioiIiIiIiIhEgWs35oqIiIiIiIiIiPhtNV6DhxTrIHjNubZEmny+41eRG0ZtH4UbTU33WTdiaaYri1k2EdsNPjePXBL2ayHOE4Ari6i7y4kGn2MWh/cuGVsxB7jBOksLvfAaLWaV5VQuAmbllPV3YuHRonGVKXiLIIfjLUKS+DEHtxp87nMa8MSc8VW3Ar+9akHGG8Z5ACgdX9WbXpwJ/Bq4AMPmmnnzMypKJlTdC5xvlaENKUAp8KvZuVXFwKbJ8zJ2dmeg2blVh+I1AsoBvhO9iCJf0NevgYuu2nEAvcgFCnDjM09Lr+N+U5B78RbfWzRTjrbV00vSrRsZiIiIwxbN6Fs3bsquvwHftc7Sil54Dfd/DCzKKdj1JPAe3vv0x5Ffq4FD8BqCHgb8J/B1k7QShI+tA0RMHFlYvXp5Udqrfha5cmp1L+BiYAU+foZw2Me4cW46Cdg8vKjm4hWFqdv8KjJ8Wk0KkAzQBDUrr0391K9aMWgpbjT4BO980cYh02vOWlOQWu1Hgcum1/TCa4w0zI/xu2n5TVNS9liHEOlAJt41peEAl8yqewd4OPJ4FHh1bX6oMZoFB8+qSwaOB07AO29+Nm5tkNWaeryNvPzgylwNvGuM119UXDfmjqtDDX4UuLC4rhfQL/LbvX+6OtTadQlX/p+cCmThbXjnq/NL6r8DrMNrjJ1oXHm9AZafW1rPpkl9fGvyec6c+gOA1MhvG+65qk+tX7Vi0K141y4zrIPg/ZzaPHBuw4+3TEz27TPsGfMafgUs92v8bti0NTf5LesQIiIx6G3g0m05SVHZXFdERERERERERCTRqcGniIiIiIiIiIgklGHlmZUrs7fPA6ZYZ4n4KvD8ilHbrwGuG74sM2oL5G4Ytf1rQDFwabTGjII9QJF1iGY2AbnWIXrAt+ZI2UvCu8vHVNwPXOhXDZ/tBP5qHaKZm4HJwNHWQVqRDEwCrijLqVwH3AFszSnr78uCt7YsGlfZD/gZcA5wCW4s4Jcoy13Y/4V5v6lch7e40kX/A1w8Z3zVBuB2YONVC7rXLLK7SsdX9QFOAc6K5DksyPoduAX3Gnzu8x28fI2zc6seBP4E/AX4AKicPC/jc3Os2blV++M17zsSOBOvsecJQQaWhPb4tKt2PANsiTwevXZOv/ruDlZ01Y4kvMZXFwA/x2tw5aplU0v77bUO0Z5pJemN1+btvInY/pwAsBdvDioiItKRp3CzwWdzvYATIw9JXP+2DhDRB3hwZGH1z5YXpb3sR4Erp1afgLdJyk/9GD9GPIn3md0FXwEeHl5UM2pFYeqKaA06fFrNgcBFeOd/BgK9I18aBGyIVp1Yt7og9cnLp9dswPvM64KTgBeHTK8Zt6Yg9a5oDnzZ9JoTgAV4n/Fd8TH+NQMU8dNXgV9FHgB7LplV9ybwSrPHa0AVXtP4XZFHzdr80J5LZtWF8M4fH9Ty0eS9L3wH+Caxtx6ndP3k0Ls+jf2kT+N216+B4y8qrrv4jqtD70djwEhTz28Dv8B7//5a5Esv4/17aMmV+SvAjReU1DdsyOvzJz8GP7+k/ivANLym3Pv5USMGPAlcbh0iIhlYdW5p/feBiZsm9YlKg+Nz5tQn4c1bf4F3H0la5EulQF40asSDzROTa86c2zALKLHOEnEw8MzAuQ2FQNmWiclRa3h9xryGLwOzgCHRGjNKCq0DiIjEoDrgwm05Sdutg4iIiIiIiIiIiMSLWLuhQEREREREREREJBrmAKOAsHWQiH7AUuDXK0ZtHz18WeYTPRnshlHbU/EaCV6Ft9jYJStHLM38p3WIZh7BW7SV1tETHdQEbPW5xmZit8HnfaMXh53ZTX7M4nDDkrEVY4H7rLO0ox8wIvLYVZZTuRGv2edDwEc5Zf2bolls0bjKFLwFkAPxGhn+kM8WsUt8y8Vr5JpqHaQNScDFkUfjnPFV9+MdC5uBt69akBHVxnSl46uSgGPxGtyeBZwKhKJZI4ruAmpw97UD7/UbGHnss3d2btXHwEd4zcYPxVuc3Sv4eCL/74TI42qgftpVOx7Gm9u9DVS2eHxy7Zx+TdOu2pGG92/34MivhzTBT/Aa1PYL/q/QZfXASusQnbSK2G/w+efpJelRaV4gIiJx7ym8cwEirnvEOkAzXwb+MrKwuhhYsbworTIag145tfprwO+AX0ZjvBj3KF7jLFccANwwvKjmUuBG4M4Vham7ujrI8KKaEHAeXlOk8/CaL0nHfou36Ywr53IOBzYMmV5zNzBuTUHqmz0Z7LLpNYfgHfvDcOfvuM/0m6akVFuHEImC3sBRkce57T3xkll1n+L93I83/8bfZnPvAO/jNUB1xQ+B5y8qrlsF3NIEz/7p6lCXr3deWFx3NN579y/wrud01jvAu7ixIVMSsO6CkvpFwNINeX1ei8ag55fU98Vr7DgRd69tBeVR6wCtyAFOO7e0fiXwx02T+vyrqwOcM6e+N97GhL/A28DRlfusXLcY+A3u/ExMA+YCwwbObRizZWLywz0Z7Ix5DSG8ayj5uHfd+LatuclPW4cQEYlBw7flJD1nHUJERERERERERCSeqMGniIiIiIiIiIgknGHlmTtXZm+fiXfzsku+Dzy+YtT2vwIbgA3Dl2W+3JlvvGHU9hS8RlYXAhcA/X1L2X0NQJF1iOauXBpuuG50xZ+JzSaWT41cEq7wucYWn8f300brAC2NWRzevCSnYh3ewhfX9cVbQL9vEX1VWU7lP4C/A/+IPD4EdkUe1UDNviagZTmVvYAU4EDgwCZIB44Ajo+/KpUzAAAgAElEQVQ8vgUciXuLlSUAuQv7vzvvN5XTgGLrLJ2QhNd086zI72vnjK96Ge8Y2Hc8vIt3DOw7HmquWpCxZ98Ac8ZX9eGzY+FAvIWczY+FYyN1nJc3P6OmZELVn4i9RiP74TVEPNg6iEgb+gBnRh6t2TPtqh2NuNe8v6sWTi3tF5XGR36bVpL+4rV5O5/G+4wWq9ZYBxARkZjxpHUAkc4oL0p7O7uw+mW61lTJT5lAKTB9ZGH1LcCS5UVpz3R1kCunVqfjndO/BO/8Qzw2FOsOFxskwWef3eqGF9VswNvQ6d94m4p8BHy8ojC1IdLI8xjguGaPbwJHo02Oumx1QerfLp9eswa43DpLC/8NnDlkes1WYEMT3HVjQWqnNlq4bHpNf7wmrxcBZ+NmU7S3gOusQ4gYiNf34mvWTw751rD39smhpp/PrnsUyPKrRjeF8ZpPTgT+eWFx3R+Al/jsvfsjYAfe5pqH8vn37X3/ndmdwndeHWoaVFx3H+5sqNAbmABMuKCk/h5gCXDPhrw+XdrY7oKS+gOavE3rLsF7H4uFzaeC8CLedcK+1kFa+E9gHjD33NL6B5q8TQ3fBj6il3cM3HNVn5pz5tTvj3c9/7gWj2Nxc57itM0Tk+vOnNswFbjeOksLxwMPDZzbsI3IfWnAS1smJnfY/PiMeQ198I79C4FBwEF+Bu2mPUCBdQgRkRhUui0n6VbrECIiIiIiIiIiIvFGDT5FRERERERERCRRLQXG4zXZckkv4OTIo3jFqO2vNHmL7D/Aa6b3AVCBtxDlK8BhwNeBn+L+TfVlI5ZmvmcdohWbiM0Gn5sDqPE68Cbev7FY0gTcYx2iDROAc4BU6yBdlAGcFHm0paksp7Iab9FEX7RQXdq3ABiKt0AylqQAJ0QebZozvqoWqAfSiL/FwLcQew0+RWJdb2L/ffVlYKp1iC5aRew2+NyFt1BbRESkM/4GfEr8fXaR+HQv7jT43KcPMBwYPrKw+gngWeBf///oxb+Afzd55/UPwrsmse9xOmrq2ZYX8TZUSbMO0oYQcGnk8TnDi2p24eXW5kbRVQj8AveOlwPwzvmfAyy7bHrN03jvrR/w2bW9T/A2nvlK5HEscAruf9a/9qYpKQ3WIUQkKh4imM1gXGzw2dwxtH6OcjfeZqV+XL+9F3cafDa3773rjQtK6h+i+fzVa17+L7z3sQPx7knZN389Ea+xX4ZBZqdtnNRnz3ml9Y/jbczrol54nz9Ob/mFc+bU1+HNS1ybZ8W6VXjNhV37DAvww8jjd8CbA+c2PM5n89cPgO30on/TZ/PXw/HuS3P189k+N2zNTX7FOoSISIxZBky2DiEiIiIiIiIiIhKP1OBTREREREREREQS0rDyzPqV2dvHA+uts3TgG5FHrPsXMNM6RBtcbQTZkS1+F8heEm4qH1OxBbjS71pR9sToxeGPrUO0ZkxZ+L0lORXXAnOts/igF15jT5EO5S7s/+m831SOAh4gPpsdpEQe8ehevGYl37MOIiIxYy8wdGppv3rrIF30B2AekGQdpBvWTi9Jr7UOISIisWHRjL6fjpuy62ngR9ZZRDrhPryNu1x1YuQhPfT7wrTdI4qqH8PdBknt0TlSH6wuSH378uk1s/Aafbrs+8TuZhHNPYa30Y+IxL7twC/XTw7tDaDWIwHU8MP++Le2aive5oiuNnU+IvKQ6HiE2Jy/ur6ZcEzaPDF595lzG8YRzOa9PfF1Ym/T39ZU4v5nBRER18wHJm7LSWqyDiIiIiIiIiIiIhKP9rMOICIiIiIiIiIiYmVYeebtwM3WORLEiBFLM6usQ7TmyqXh94AXrHN0UQ3e4soguL7YoDWbrAN0YAFwl3UIEWu5C/s/BEy1ziFdkzc/Yy9uN1MREffMmVrab5t1iK6aVpJeAWywztFNa6wDiIhIzLnROoBIJz0MNFiHkMA8ah1AnPM74BnrEAmgDrj8pikpe6yDiEhUXL5+cuj9gGq9gHcdWyLuvDq0A4i5c6PSbZq/yudsnpi8BVhmnSNBjNqam/yBdQgRkRgyEzX3FBERERERERER8ZUafIqIiIiIiIiISKLLAYJa0JKorh+xNPMe6xAdcL0hZEsPjFwS/jSgWvcDewOqFS0brQO0Z0xZeC8wBHjdOouIA2YQez+DE17e/IyHgfXWOUQkJvwDKLQO0QMrrQN0w1vAX6xDiIhIzLkZqLUOIdKR8qK0WuBB6xwSmEesA4hbVhekNuKdW1ejX3/l3TQl5VXrECISFXPWTw4Fdg3m9smh3QS3SWUscf1eCYmebYAaZEtLk9C9IX7749bc5NusQ4iIxJCCbTlJv1VzTxEREREREREREX+pwaeIiIiIiIiIiCS0YeWZVcCvrXPEsbeAidYhOiHWmsttDqpQ9pJwFfBUUPWi4APgWesQHRlTFt4B/Byos84iYil3Yf+9wK+AN6yzSJflAUE1mxaR2LQXGDq1tF+9dZAeuA/40DpEF904vSQ91hr0i4iIsUUz+n4C/ME6h0gnzbcOIIF5CO8ag8j/W12Q+hIwxTpHHLsfWGodQkSi4k4g36DuKoOarrsebaiQEDZO6lMNrLXOIW7ZPDG5BrgcUBM1f3wIjLEOISISQ67alpM0wzqEiIiIiIiIiIhIIlCDTxERERERERERSXjDyjPvA+ZZ54hDjcBlI5Zm7rIO0gmPATusQ3RBYA0+jer1xKbRi8Mx0dBoTFn4BWCEdQ4Ra7kL+1cBF6PFjTElb37GG8AC6xwi4rTSqaX9nrAO0RPTStJ3Azda5+iiNdYBREQkZi23DiDSSZuBR6xDiP9+X5i2G5hjnUOcNJ/Yum4RKz4Ght00JSUmrrGISLvuB/5n/eTQboPaf0QNuj/nzqtDHwKLrHNIYIqtA4h7Nk9MfhQoss4Rh/YCl2/NTa6wDiIiEgPqgGHbcpLmWgcRERERERERERFJFGrwKSIiIiIiIiIi4skD7rIOEWeuGLE0MyYWWl+5NLwbuM86Rye9A7wScM0tAdfriY3WAbpiTFn4FmCsdQ4Ra7kL+z8HnId3Q7nEjt8BH1mHEBEn/QOYah0iSlZZB+iCv04vSX/NOoSIiMSsp4BnrUOIdKS8KK0JKLDOIYFZidd0UOT/rS5I3QNkAS9ZZ4kjDcCgm6akvGMdRER6bBtw4frJoXqL4rd7TUXVoPuL5gCxsDGq9NDGSX2eA+61ziFOmgb8wTpEnPnN1tzkWLnXS0TE0ovAD7blJK0yziEiIiIiIiIiIpJQ1OBTREREREREREQEGFaeuQf4X7SIPVpmjliaudo6RBdtsg7QSVtGLgk3BVzzcaA64Jrd0Qj82TpEV40pCy8BxlnnELGWu7D/g8B/oyafMSNvfsYnqKmKiHxRDTBkamk/kyYC0TatJP0l4EnrHJ0Ua5/BRETEIYtm9G0CllvnEOmM8qK0B4Gt1jnEf78vTKsFFlrnEPesLkjdiXcuUZvPRMfQm6akPGYdQkR67Cng3PWTQ9aNJNWgu4U7rw5VAPOsc0hgZlsHEPdsnpjcBAwHHrXOEicWb81NXmwdQkQkBiwDfrgtJ+nv1kFEREREREREREQSjRp8ioiIiIiIiIiIRAwrz6wGzgfet84S49YSm82+7rUO0Embgy6YvST8KfBg0HW74S+jF4c/sQ7RHWPL+pcB461ziFibuDDjfrz34rhoCpcgbgBesA4hIs6oAc6ZWtrvKesgUbbKOkAnNAC3WYcQEZGYdws6NyqxIxbPQUv3LCU2NqCSgK0uSH0LnUuMhmtvmpJyq3UIEemxPwGnrZ8cqrQOcvvkkBp0t24+UGUdQgLxMN4mqiKfs3licj1wEfC6dZYYdw8wwTqEiIjjdgCDt+Ukjd6Wk6SNlkVERERERERERAyowaeIiIiIiIiIiEgzw8oz3wfOAj6wzhKjNgOXj1iaudc6SFdduTT8EfCkdY4ONAFbjWoH3li0GzZaB+iJsWX9FwJjgD3WWUQsTVyQsRU4D+9mc3Fc3vyMPUAWYL5oWETM1QLnTi3t9xfrID64FfjUOkQH7pxekq73ThER6ZFFM/ruAoZb5wjQE8Db1iGke8qL0h4DbrbOEbCEXIz/+8K0KqDcOoe4aXVB6hPAz1GTz+5aDMywDiEiPTYXGLx+cqjGOkgzS4Fd1iFccufVoZ3ANdY5ApaQ89eNk/o0AbOtc4ibNk9M/hg4G3jHOkuM+gtw6dbc5N3WQUREHPYo8N1tOUnrrYOIiIiIiIiIiIgkMjX4FBERERERERERaWFYeeZLwCnAm9ZZYsx64IIRSzNjeZHGJusAHXhq5JJwhVHtLUZ1uyKmG3wCjC3rvxQYCGy3ziJiaeKCjPuB/wL+Zp1FOpY3P+OfwAVAg3UWnz0HTLQOIeKofc09H7YO4odpJemVwJ3WOTqw2jqAiIjEh0Uz+m4GlljnCEAZ8GO0WUGsG4n3WS3e7QFGYbf5kwumAS9YhxA3rS5IvQdv8z41kuuaGcC4m6akNFkHEZFu2w2MXp8fumr95JBTGwjePjlUBYywzuGg5cAK6xAB+T0wyzqEoQ3AGusQ4qbNE5NfA04GXrbOEmPuAc7empuseb+ISOs+AIYCP9mWk6SNrURERERERERERIypwaeIiIiIiIiIiEgrhpVnvo63wPvv1llixErgf0YszYz1xl6uN/jcbFj7n8C7hvU78gbwinWIaBhb1v8B4PvAM9ZZRCxNXJDxGvAjYK11FunY1fMzHgV+BcRrQ4AVwEl47zci8nl1wHlTS/s9ZB3EZyutA7TjQ2w/K4iISPy5GnjVOoRPqoH/WTy977jF0/t+ah1Geqa8KK0GuJD43ixnB3D2dVPTyq2DWPp9YdouvM1FPrLOIm5aXZD6MPBT4vvnQTRNumlKSoGae4rEtL8DJ67PDy2zDtKW2yeHbgOmWudwyZ1Xh5qA0cDj1ll8tBfIBa4EEvYz18ZJfZrw/h88ap1F3LR5YvJ7wE/QfSGddRtw4dbc5FrrICIiDvoUr7H6N7blJK3elpO01zqQiIiIiIiIiIiIqMGniIiIiIiIiIhIm4aVZ76PdzN1PC+uiIa5wIgRSzN3WweJgqeAj61DtGOLVeHsJeEmy/qdsHH04nDcLEQdW9b/HeAUYJVxFBFTExdkVAOXApOBeHifiWtXz89YB1xlnSPKGoAR+fMyfp0/L6POOoyIg/Y193zQOkgAtgD/tg7Rhpunl6TrfVJERKJm0Yy+NcAQvMYs8eQl4L8WT+/7R+sgEj3lRWlvA5cAe6yz+OBVYMB1U9P+bB3EBb8vTHsbr6FrrG80Jj5ZXZD6NN7mfW9bZ3HYbuCKm6akzLEOInHpOesACWQB8IP1+aFnrYN0wjTgVusQLrnz6lADcDHunmvsiV3ABXfl9Zl/1/+1d+dhdtaFvcC/A6aTySQkE6LeuvRWvbVyWzeKS126WLGCVEq9LtcKLSRXQZMACZkszcogksQsTQIJVFBCqAUBDRiwIXFpqYAKKiKiYkUUBAkkQzJZWDL3j/dEJiF7JvM7k/l8nud9zmHy5LzfIec9591+319r/0Pm2v3+WjGu/5YkJyW5v3AU6tTKsY2PJnlHkq+VzlLnLk7y4dVjGvtsaTDAblyX5KjbR/WbdPuofutLhwEAAAAAnqXgEwAAAAB249Qlwx5L8uepSizZ3hNJ3j9i8bBzRlw07JAY7P/Ri47cmuQrpXPsQkeSWwtnWFl4/buzonSA7jZy4dBNIxcOPTXJ8THohz5s7PyWzrHzW2YmOTrlPwfZs3lJFpQO0U3uT/KWCXNbLi0dBOrUpiQnTJ89pE8MPD23KtC8onSOXVhaOgAAh54F5w26LcknS+foRlcmedOitkH3lg5C91syY+DXk5xVOkc3+2qqcs8flw5STz4zbeCtSYaXzkH9unxK871JXp/ki6Wz1KH7k7xt2eQBnykdhEPTVZMGfCjJHyT5VJKHC8c5VN2f5J3XTmw6+9qJTb1iQqrrJjR1JjktybdLZ6kny8c3PZSq+PFQKqu7P8lbbmjtf8hdtz8QK8b1fzTJ3yTZUDoL9Wnl2Mb2JO9K0pakzxfj7qAjyT+sHtN4+uoxjYfipB4A++vpVOe7j7l9VL/33T6q33+XDgQAAAAAPJeCTwAAAADYg1OXDHvy1CXDzklyQpLHSuepE99K8roRi4ddUzrIQXBj6QC78LWPXXhk6QE+q1OfAwo2JvlG6RAHy8iFQ29K8kdJZiUxaGH/1OP7ln00dn7LD5K8LckZSdoLx+mtDvq2MH5eS2eSMen9JQorkvzJhLktd5YOAnXqgSR/NX32kK+WDtLDLi8dYCe+3zZr8PdLhwDgkDU9ydzSIQ7Qk0lOT3LyorZBHaXDcFBdmOS80iG6yUVJ3n3J9IGPlw5Sjy6d1nxlkimlc1C/Lp/SvDbJ+5KMzKFVnHYgrk3y+mWTB9xeOgiHtqsmDbjv6kkDJiV5aZITk9wQ17a6Q3uSc5K86tqJTatLh9lX101o2pTq/fDT0lnqyfLxTbcn+VCqiZR6u28keeMNrf3vLh2kHq0Y1//uJB9MdV8DPMfKsY1PrxzbODXJO6Mke5u7khyzekyjCc4AnrU2yQVJfv/2Uf0+cvuofneUDgQAAAAA7JqCTwAAAADYS6cuGbYiyWtTlRz2VVuTzE7y9hGLh/28dJiDZGWq37PerCwd4PQLj1yTpB6LzlZ9fNGRm0uHOJhGLhy6ceTCoeOTHJ3k64Xj9CbfTVXiMbx0ELrH2PktW8fOb1mS5FVJlqU+P6/r0QOpii/e2hMrGz+v5Zkkf5/kyz2xvm62JcnEJO+dMLdFkQoHy/dKBzhAX0jy2umzh9xaOkhPO3fW4HtSTXZQT+qxdBSAQ8SC8wZtXXDeoLGpyoR6o7uTvHVR26CLF7UNMvnHIW7JjIGdS2YMnJLk5PTeQr/7krzzkukDP3HJ9IFPlQ5Tzy6d1nxeknclebB0FurT5VOaO5dOab4wyZuS3FM6T0EdST6R5P3LJg9YVzoMfcfVkwY8ffWkAddfPWnAe5P8XpJJSX5WOFZv9HSSf07yimsnNs25dmLTltKB9td1E5p+neT1SRaXzlJPlo9v+mKSP0vyUOks+6k91bXYd9zQ2v/R0mHq2Ypx/W9M8rokt5XOQv1aObbxq6nuS1tROktBnakm8Hjz6jGN95YOA1Anbk11bP/S20b1m3jbqH7OhwEAAABAL6DgEwAAAAD2walLhj2Y5Ngk/yfJ/WXT9LhVSV47YvGw1hGLh/XWAdJ79NGLjnw8yTdL59iJ4gWfNTeXDrATN5YO0FNGLhx618iFQ/8yyduTfKV0njrVkeQzSd5w5oKhR5+5YOjFZy4Yur50KLrX2PktD4+d33JykqOSfDbVIFe290yS5UmOT/Ly1nkt57XOa+mxAaLj57VsSnJiknN7ap3d4KtJXjNhbssFE+a2KI/lYHk0yZ+kOqbobQN5O5L8vyQfnD57SF8uBfls6QBdPJPkX0uHAODQt+C8QXOSfCRJbykc7EhVSnr0orZB3ykdhp61ZMbAZUn+IslvCkfZF08lOS/Jqy+ZPrAvTzC2Ty6d1nxzklenmgQGdmrplObvpSrTOjNJXzuWvTzJK5dNHnDRsskDFF1TzNWTBjx09aQBn0ryyiR/meTKJBvKpqp7j6SadPNV105sOuvaiU2PlQ7UHa6b0NRx3YSmjyd5d3pvoWW3Wz6+6TtJ3piktx27XJ3kqBta+198Q2t/11T2wopx/X+a6jr/P6X3HF/Tw1aObfxNkr9JckKSnxSO09NuSXLM6jGNI1ePadxUOgxAQVuTfC3JyCQvuW1Uv7fcNqrfRbeN6tdROBcAAAAAsA+eVzoAAAAAAPQ2py0Z1pnk2svOWLMiydmpbr5vLpvqoPpZkjFJbhixeFhfGQB4Y5K3lQ7RxQOpnxv3VyaZUDrEDvpMwec2IxcOvSXJcYtGPX5Mqs+gvy0cqR7cmeRfkvzrmQuGPlE6DD1j7PyWnyQ5bc5Za2ckaU0yPElj2VTF/SLJZUkubZ3X8mDJIOPntWxNMm3m2WvvTLI0yREl8+zGY6n2da6YMLelr+zrUM6qqZ8esjXJqnPPWbc61WD2tlSln/WqM1UpyD9Nnz3EwPvkqiTzUx/fN19pmzX4kdIhAOgbFpw36MrRk9f/Jsl1SQaWzrMb1yQ5e1HboF+VDkI5S2YMvPX0aRvemOT6JK8pnWcP/ivJRy+ZPvCe0kF6o0unNa9NcvLwGR3LkyxJcmThSNShpVOan0qy4JS2jiuTzEhyRpLDyqY6qG5LcuayyQO+VToIdHX1pAFbk3w9ydc/cP7GxlQldyekKjF7ecFo9eKZJF9OdX7/pmsmNh2y5X/XTWj697+7YNMfJ1mU5MOl89SD5eObHjxx5qY/T/K5JO8vHGdPfpHk4ze09u9z1+i7w4px/Z9Ocv57Zm++MckVSf64cCTq0MqxjZ1JVrxrzpabU5W7TU0yuGyqg+qBJOOSfGH1mEbXaoG+6t4k30ryH0muv21Uv0cL5wEAAAAADpCCTwAAAADYT6ctHrY5yacuO2PN55KcmeSjSVqKhupeP0qyIMlnRywetqV0mB52Y5LzS4fo4uaPXXhkvdzE/s0kG5MMKB2k5q6PLzryl6VDlDJy4dDvJDlp0ajH/1eSk2vLy8qm6jFPpRoIekOSG0YvGHp/0TQUNXZ+yy+SfKJW9PmhVNvCMWVT9ahvp9oWrk9y17h59VVSOX5ey/KZZ6/930nmJPlg6Tw7+FyScRPmtqwpHYQ+Y9W2J1M/PaQzyU3nnrPuK0nem2qA5tGlgu3CfyQ5e9rsIXeWDlJH1iX5VZJXlA6SqjwZAHrMgvMG3Tx68vo3JJmZav+lnvwsychFbYO+UjoI9WHJjIG/OH3ahrcm+WSqMr9+hSPtaF2qyUouvWT6wK2lw/R2l05rvmb4jI7/TPKxVBPA/F7hSNShpVOaH0sy8pS2jotSTfbykdTH5A3d5ZZUE1Jct2zygLo6Pwg7unrSgC2pzpOt+sD5G89O8odJ3pOq8PPtSQ4vGK+n/SjJpUmWXTOxqc9M5HLdhKa1Sf7+pAs2XZ7q+/u96ePjm5aPb9p44sxNH0r1eT419Vdc/kySuUlm3NDav6N0mN5uxbj+33vP7M3HJDk11f5rX7quyV5aObbxySRz3zVnyxVJRiU5Pcnzy6bqVj9LdV/aZ1aPadxYOgxAD+lI8stUxwHfqi133DaqX3vRVAAAAABAt+vTF8ABAAAAoDuctnjYr5NMuOyMNW2pBgOemeSosqkOyI1J/jnJzSMWD+urAwDvSvJQkheVDlKzsnSAbU6/8MgtSz7x2DeSHFc6S82K0gHqwciFQ+9LMm3RqMenJ3lrqnLDDyYZXDLXQfB4qn/zG5L8++gFQ58onIc6M3Z+y29SDQJaMOestUel2hY+kuSlRYN1v81Jbk61LXx53LyWXxfOs0fj57U8mORDM89ee2mSC5P8QeFIP0ly+oS5LV8rnIO+Z9WOP6gVfS4/95x11yd5faoBvR9OMrSHs23zVJJrUm2r35w2e0hfPSbYlTelPso921MVOwNAj1pw3qB7k5w4esr6tyeZneq7saQnk3wqycyFbYM2Fc5CnVkyY+CGJGeePm3D/CQzUp0jaCibKvcluSxVsedvCmc5pFw6rfmRJOcOn9HxySR/lWREkr9N/ZW77s7TSXyWHWRLpzTfk2TEKW0dE1NN3vfx1M/1oH31ZJJ/S7Jg2eQBd5QOA/vj6kkDOpPcW1vmfOD8jUOS/HWqss/jUn8lh91hfZLPp9on+NY1E5v67Pm3L05oWplk5UkXbHphklNSFR3+YdlU+6zbypiWj2/ammTBiTM3XZ5kbKpC6ubuev399FiSZUkuub61/z2FsxxSVozrvyXJkiRLjp+9+bWp3v8nJxlSNNi+c83+IFs5tvHRJFOPnbPl/CT/N9V9aa8tm+qArEp1X9qNq8Y0mvACOJQ8nWqiyAdSlXj+cifP1902ql+f3f8HAAAAgL5EwScAAADAc307yaDSIZL8sHQA9s1pi4d1JLn4sjPWXJLkHanK9U5M8oKiwfbOD5J8KcmVIxYP+3HpMKV99KIjOy/5+GOXJHl36Sw1q0sH2MG/JWkpHaLmi6UD1JORC4d2JrklyS2LRj0+OsmbUw1mf2eSNyY5vGC8/bEhyXeT3Jrky0luHb1g6NNlI+XulC2C6POf0Xtr7PyWHyWZNOestZNTDXDati28PcmAktn2w1Opvqu/laqIe/W4eS0by0baP+Pntdw88+y1f5TkfUnOTvXZ1FM2JLk21UDUr02Y2/LMfrzG2iS3dWuqfafo48CU/Dd8eOqnhzywqz+sFX3emeTOc89Zd06S96Yq+/zrJIf1QL4fJrkqyb9Mmz3k4R5YX281vHSAmqvaZg3eXDoEe+2xlP/+6IsOxrHDupT/tyyxH7gl5X/vXxZa791J9me/sbvUbZn/grZB/zl6yvo/TfJ3qQo2e7rE/9EkFydZvLBt0EMH8Do/SPUeL+UnPbCOh1J+Gy5qyYyBP09yyunTNsxO8skkf9PDETqSXJ2qxOu/Lpk+cH8H8f84ybBuS7Xvfl5w3Xvt0mnNz6SaNGvl8Bkdz09V7PrhVOeH6qnsc3OS76d2HFhbfvjZqc3785n0cMpv572umGfplOZHk3zylLaO2amu570vyXuSDCwabM86k3wz1fWRK5dNHtCbj+HvSpn9221+WnDd23w31TZcSt2V9V09acC6VOeorvrA+RsPT/InqSbFeXVteU16X/ndz5PckeQ7tcdbr5nY1FE2Un354oSmR5LMPumCTZ9ONZnhiCTHpv4KmH+Zarvt+v19IMcjO7V8fFN7kqknztx0YZJ/SnJ6enY/ZmuSr6Taf/3y9a399/eYqfSxyH8XXPc+uXFc/+8nGX387M3jk5yU5B+T/Gnqa804KSAAAAxKSURBVL9ka6rvja7bwPduOqf//hR8bkz5/dd1hde/z24e27g5yWePnbPlc6mueX8o1aQGv1sy1166N9X+67+uGtN4d+kwB+DnKfvefbTgure5L+W3X+WIvcemlH+/7IttE69srD12XXb8Wdf/XpOqvPOR20b363XnR+pYe3rX++dQ4Z4kAAAAgG5SeiZyAAAAADikXXbGmsNT3XT/t6luwn/5vr7GQbojtevgv+XDFw+77+CsBqgXi0Y9fkSSP0vyjs7kdakGQfZIIcBOP8eee4ViW5nnHXl2kONPRy8YWrJIhUPQnLPWNiZ5U5J3dlYDg/84ye/1xLr38jt9W5lntR005I4kd4+b11KycOagmHn22oZU+0lnJDk+ydA9/qXaZ8c+7B9tK/VYlmT5hLktBk3T65x7zrojU5Xhdl2GJXv9HbsznUkeSXJ7kpuS3DRt9q7LR6lMbW0fmKpo7YAHVXfDcd5b22YN/uaBvwwAHLjRU9b3S1WIdlxteem2P+vmc5tPJfnPVPv3n1/YNkjZNfvl9Gkbjumsztcfn+o82cHyX2nIZUm+cPH0gesP4nrYC8NndPxOkj9KcnSqorijU5V+7nYimG76HFufHcvAGvLjy6Y2l57MiB2c0tbRmGqioJNSTbyx15P4det33nOP7Z9MsirVZH3XXzG5+ZHuXB30Jh84f2NDkhenoSr87EzDa1Jd8zoqPVCAuBfb+i+yfZnnHddMbHrs4KY6dJ10waYX5tnv7W2Pe77nYifnSPfjc/q+bP/9/d0vjW8qUqx24sxN/zPJ+1Ptv749yfO6/nnn7k4K79uosftSlXouvb61/4P7GJNudvzszYcleUW2f/8fneTI/X3N7baD3b83nkx1vbLrNvCDm87p3ysnIDyUHTtny2FJ3pBq//WkJK/slhduOOD9285Uk1d+KcmXVo1pvLcbUgEAAAAAAPQaCj4BAAAAoAdddsaaF6W6sXpbMc8bkgze3d/ppgGB96e6cfrbtcc7hy8etqF7XhrojRaOerwh1eDkV3dZXpSkpbYMqT0+b1evsbc6n31Yn6Q9yRNpyJpsX+j5E2WelPLps9YOTlX0+era48uy/XYwJEn/A11Pl+/0jmzbFpK1Se7OswN+7x43/9Ar89yTmWevfV6SNyc5IcnbkrwkyYuz42fQ3hV8Pp5q0OGXknx+wtwWhQccUs49Z11Dkt9P8obO5H+kOp4Y8tvHhgyuPd+c5MEkv9rh8cEkv542e8hTPZ++d5va2n5qqgHuB+wAj/PuS/LKtlmDD9J8EACw/0ZPWd+QqlzpuCTHdVblM7+zHy/1dJKHU5Vr35GqlPyrC9sGOadJt/rYtA0vTvLuVGVJ70xyxH6+1FNJ7k3yw1THpNdePGPgj7slJAfN8Bkdh6cqwHlVquOqI5LfHlMdkWRw57M/a0p1fvOJ2tL1+R5/dtm05q099ovRLU5p62hIVSLXdcKNo7OL84TdeIDWmYb8KM9e0/t2kruumNzc584Zwr54/6c29Uvyh3m27HNIkkGpPsd39bi342meSbIuSXtn9bhtaa89PpraNa9rJpYpgOxLTrpg05BUJe2/my7f2en6Pd7w2+fPpPad3LmX39m1pf1L45vqckKBE2duOiJVGfXxteVF+1nw2Znkv1Ptv/4w1THXLde39nfOsY4dP3tzQ6praK9JNXHedvuuOzwOSrIxXd7f220HDbvdDtpvOqe/Mvpe6Ng5W16Y7e9Le2Oq6937Zt8LPn+Z7e9Lu2PVmMYn9nm9AAAAAAAAhwgFnwAAAABQ0GVnrDksVXnVsC7LkV2fd27/8+enGji4NsljSdbsxeOvhy8e9njP/VbAoaJWAjogzy39HNLlZ0ekGhi0raywvcvyRKrBju1JNoxeONQgdnqtT5+1tn92vh10fXwqe94W1o+b32JA3F6Yefbaw1IVEb/kt0tDXpLkdzur/9cbuiztSX6c5J4kj0yY22IAKtDtpra235Lkrd3xWgf4ITW1bdbgtu7IAQAH26gp6xuTvDDVvv3zuyzb/ntLqhLPh3ZY1ixsG+Q8Aj3qY9M2NKQqw3lBbXlhl+cDU50D6+iybEx1TPrzJPddPGOgEn04xJ3S1tEvyUvz7LW8317T69zh+l6X54enmpBmTfbuut5DV0xpXt9zvxX0Te//1KZt18B2LP1sTFVw17XEs+MLE5ucc6YunThzU3NnGna2/9qSZHMafrvf2nU/9qEkP7q+tf/GMqmBnnLsnC0NqSZ6fX52cV/aTp4PSEPWdT53P3VX+7APrxrTuKYHfy0AAAAAAIC6p+ATAAAAAHqZS89Yc9jwxcMMbgcAAOghU1vbX5XkR931egfYCPGytlmD7++WIAAAABw0J7d1NCRpuGJKs+t6AAD0CsfO2XLYzWMb7b8CAAAAAAAcAAWfAAAAAAAAAAC7MbW1fVaScd31egdQ8PmNtlmD/6K7cgAAAAAAAAAAAAAAANB9DisdAAAAAAAAAACgXk1tbe+X5B9K56i5vHQAAAAAAAAAAAAAAAAAdk7BJwAAAAAAAADArp2Q5AWlQyTZlOTa0iEAAAAAAAAAAAAAAADYOQWfAAAAAAAAAAC7Nrx0gJrr2mYNfqJ0CAAAAAAAAAAAAAAAAHZOwScAAAAAAAAAwE5MbW1/cZLjSueoWVo6AAAAAAAAAAAAAAAAALum4BMAAAAAAAAAYOf+IfVxb8WDSVaXDgEAAAAAAAAAAAAAAMCu1cMgFAAAAAAAAACAujK1tf2wJKeVzlGzrG3W4GdKhwAAAAAAAAAAAAAAAGDXFHwCAAAAAAAAADzXnyV5RekQNUtLBwAAAAAAAAAAAAAAAGD3FHwCAAAAAAAAADzXiNIBar7TNmvwPaVDAAAAAAAAAAAAAAAAsHsKPgEAAAAAAAAAupja2j4kyftK56hZWjoAAAAAAAAAAAAAAAAAe6bgEwAAAAAAAABgex9O0r90iCRPJ/l86RAAAAAAAAAAAAAAAADsmYJPAAAAAAAAAIDtDS8doGZF26zBa0qHAAAAAAAAAAAAAAAAYM8UfAIAAAAAAAAA1ExtbX9dkqNL56i5vHQAAAAAAAAAAAAAAAAA9o6CTwAAAAAAAACAZw0vHaDm8SQrSocAAAAAAAAAAAAAAABg7yj4BAAAAAAAAABIMrW1vSnJR0rnqPl826zBT5YOAQAAAAAAAAAAAAAAwN5R8AkAAAAAAAAAUDkpyZDSIWouLx0AAAAAAAAAAAAAAACAvafgEwAAAAAAAACgMrx0gJp7k3yndAgAAAAAAAAAAAAAAAD2noJPAAAAAAAAAKDPm9ra/vIk7yido+bytlmDO0uHAAAAAAAAAAAAAAAAYO8p+AQAAAAAAAAASE4tHaCmM8my0iEAAAAAAAAAAAAAAADYNwo+AQAAAAAAAIA+bWpr++FJ/rF0jprVbbMG/6p0CAAAAAAAAAAAAAAAAPaNgk8AAAAAAAAAoK97V5KXlA5Rc3npAAAAAAAAAAAAAAAAAOw7BZ8AAAAAAAAAQF83onSAmg1Jvlg6BAAAAAAAAAAAAAAAAPtOwScAAAAAAAAA0GdNa21/QZL3ls5Rc03brMEdpUMAAAAAAAAAAAAAAACw7xR8AgAAAAAAAAB92clJnlc6RM3S0gEAAAAAAAAAAAAAAADYPwo+AQAAAAAAAIA+aVpre0OS4aVz1DyQ5BulQwAAAAAAAAAAAAAAALB/FHwCAAAAAAAAAH3Vm5McVTpEzRVtswZvLR0CAAAAAAAAAAAAAACA/aPgEwAAAAAAAADoq4aXDtDF0tIBAAAAAAAAAAAAAAAA2H8NpQMAAAAAAAAAAPS0aa3tg5L8OklzZw+veyfru7Vt1uC39HAMAAAAAAAAAAAAAAAAutFhpQMAAAAAAAAAABTwgSTNpUPULC0dAAAAAAAAAAAAAAAAgAOj4BMAAAAAAAAA6IuGlw5Q82SSq0qHAAAAAAAAAAAAAAAA4MAo+AQAAAAAAAAA+pRpre1HJfnT0jlqrm+bNXht6RAAAAAAAAAAAAAAAAAcGAWfAAAAAAAAAEBfM7x0gC4uLx0AAAAAAAAAAAAAAACAA6fgEwAAAAAAAADoM6a1tv9OklNK56h5NMm/lw4BAAAAAAAAAAAAAADAgVPwCQAAAAAAAAD0JSckeX7pEDVXts0a/FTpEAAAAAAAAAAAAAAAABy4/w/a24nM4czFKAAAAABJRU5ErkJggg=="/> + </defs> </svg> From e8a253db4fa6d3275f5ab4d05f2bd10673436cc2 Mon Sep 17 00:00:00 2001 From: icenine451 <benjamin.r.shelton@protonmail.com> Date: Sat, 1 Oct 2022 17:00:37 -0400 Subject: [PATCH 123/124] Changed order of operations in update --- retrodeck.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/retrodeck.sh b/retrodeck.sh index 54043997..8bbdc10a 100644 --- a/retrodeck.sh +++ b/retrodeck.sh @@ -260,10 +260,6 @@ post_update() { # Resetting es_systems, now we need it but in the future I should think a better solution, maybe with sed cp -fv /app/retrodeck/es_settings.xml /var/config/emulationstation/.emulationstation/es_settings.xml - ra_init - standalones_init - tools_init - # Perform save and state migration if needed versionwheresaveschanged="0.4.5b" # Hardcoded break point between unsorted and sorted saves @@ -379,6 +375,10 @@ post_update() { echo "Version" $version "is after the save and state organization was changed, no need to sort again" fi + ra_init + standalones_init + tools_init + create_lock } From 807dc4fbb132beb54d551d1a767fccd61b18f0e4 Mon Sep 17 00:00:00 2001 From: icenine451 <benjamin.r.shelton@protonmail.com> Date: Fri, 7 Oct 2022 09:28:27 -0400 Subject: [PATCH 124/124] Exclude SA emulator dirs from save migration --- retrodeck.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/retrodeck.sh b/retrodeck.sh index 747e59d4..6c437926 100644 --- a/retrodeck.sh +++ b/retrodeck.sh @@ -290,11 +290,11 @@ post_update() { --title "RetroDECK" \ --text="You are updating to a version of RetroDECK where save and state file sorting has changed!\n\nYour existing saves will be backed up to $save_backup_file\n\nYour existing states will be backed up to $state_backup_file\n\nIf a save or state cannot be sorted automatically it will remain in its original directory so you can sort it manually.\n\nIf you encounter any issues, a log of the sorting process is stored at $migration_logfile\n\nPLEASE BE PATIENT! This process can take several minutes if you have a large ROM library." - allgames=($(find "$roms_folder" -maxdepth 2 -mindepth 2 ! -name "systeminfo.txt" ! -name "systems.txt" ! -name "*^*" | sed -e "s/ /\^/g")) # Build an array of all games and multi-disc-game-containing folders, adding whitespace placeholder + allgames=($(find "$roms_folder" -maxdepth 2 -mindepth 2 ! -name "systeminfo.txt" ! -name "systems.txt" ! -name "gc" ! -name "n3ds" ! -name "nds" ! -name "wii" ! -name "xbox" ! -name "*^*" | sed -e "s/ /\^/g")) # Build an array of all games and multi-disc-game-containing folders, adding whitespace placeholder - allsaves=($(find "$saves_folder" -mindepth 1 -maxdepth 1 -name "*.*" | sed -e "s/ /\^/g")) # Build an array of all save files, ignoring standalone emulator sub-folders, adding whitespace placeholder + allsaves=($(find "$saves_folder" -mindepth 1 -maxdepth 1 -name "*.*" ! -name "gc" ! -name "n3ds" ! -name "nds" ! -name "wii" ! -name "xbox" | sed -e "s/ /\^/g")) # Build an array of all save files, ignoring standalone emulator sub-folders, adding whitespace placeholder - allstates=($(find "$states_folder" -mindepth 1 -maxdepth 1 -name "*.*" | sed -e "s/ /\^/g")) # Build an array of all state files, ignoring standalone emulator sub-folders, adding whitespace placeholder + allstates=($(find "$states_folder" -mindepth 1 -maxdepth 1 -name "*.*" ! -name "gc" ! -name "n3ds" ! -name "nds" ! -name "wii" ! -name "xbox" | sed -e "s/ /\^/g")) # Build an array of all state files, ignoring standalone emulator sub-folders, adding whitespace placeholder totalsaves=${#allsaves[@]} totalstates=${#allstates[@]}