diff --git a/platformio.ini b/platformio.ini index 696426a8..e7c2b9f0 100644 --- a/platformio.ini +++ b/platformio.ini @@ -12,7 +12,7 @@ ; default_envs = travis_esp8266, travis_esp32 # Release binaries -; default_envs = nodemcuv2, esp8266_2m, esp01_1m_full, esp32dev, esp32_eth, esp32s2_saola, esp32c3 +; default_envs = nodemcuv2, esp8266_2m, esp01_1m_full, esp32dev, esp32_eth, esp32s2_saola, esp32c3dev # Build everything ; default_envs = esp32dev, esp8285_4CH_MagicHome, codm-controller-0.6-rev2, codm-controller-0.6, esp32s2_saola, d1_mini_5CH_Shojo_PCB, d1_mini, sp501e, travis_esp8266, travis_esp32, nodemcuv2, esp32_eth, anavi_miracle_controller, esp07, esp01_1m_full, m5atom, h803wf, d1_mini_ota, heltec_wifi_kit_8, esp8285_H801, d1_mini_debug, wemos_shield_esp32, elekstube_ips @@ -33,6 +33,8 @@ ; default_envs = esp8285_H801 ; default_envs = d1_mini_5CH_Shojo_PCB default_envs = esp32mdev +; default_envs = esp32mdev_PSRAM +; default_envs = esp32s3-mdev ; default_envs = esp8266mdev ; default_envs = wemos_shield_esp32 ; default_envs = m5atom @@ -40,6 +42,7 @@ default_envs = esp32mdev ; default_envs = esp32dev_qio80 ; default_envs = esp32_eth_ota1mapp ; default_envs = esp32s2_saola +; default_envs = esp32c3dev src_dir = ./wled00 data_dir = ./wled00/data @@ -115,6 +118,7 @@ build_flags = -D DECODE_SONY=true -D DECODE_SAMSUNG=true -D DECODE_LG=true + -D DECODE_RC5=true -DWLED_USE_MY_CONFIG ; -D USERMOD_SENSORSTOMQTT @@ -129,6 +133,9 @@ build_flags_all_features = build_flags_esp8266 = ${common.build_flags} ${esp8266.build_flags} build_flags_esp32 = ${common.build_flags} ${esp32.build_flags} +build_flags_esp32c3 = ${common.build_flags} ${esp32c3.build_flags} +build_flags_esp32s2 = ${common.build_flags} ${esp32s2.build_flags} +build_flags_esp32s3 = ${common.build_flags} ${esp32s3.build_flags} ldscript_1m128k = eagle.flash.1m128.ld ldscript_2m512k = eagle.flash.2m512.ld @@ -208,25 +215,30 @@ lib_deps = makuna/NeoPixelBus @ 2.6.9 [esp32] -#platform = https://github.com/tasmota/platform-espressif32/releases/download/v2.0.2.3/platform-espressif32-2.0.2.3.zip -platform = espressif32@3.5.0 +#platform = espressif32@3.5.0 +#platform_packages = framework-arduinoespressif32 @ https://github.com/Aircoookie/arduino-esp32.git#1.0.6.4 -platform_packages = framework-arduinoespressif32 @ https://github.com/Aircoookie/arduino-esp32.git#1.0.6.4 +;; use latest tasmota framework, including IDF v4.4.3 and arduino-esp32 v2.0.4 +framework = arduino +platform = https://github.com/tasmota/platform-espressif32/releases/download/v2.0.4.1/platform-espressif32-2.0.4.1.zip +platform_packages = build_flags = -g -DARDUINO_ARCH_ESP32 - #-DCONFIG_LITTLEFS_FOR_IDF_3_2 + ; -DCONFIG_LITTLEFS_FOR_IDF_3_2 + -D CONFIG_LITTLEFS_FOR_IDF_3_2 -D CONFIG_LITTLEFS_SPIFFS_COMPAT=1 -D CONFIG_LITTLEFS_CACHE_SIZE=512 + -D WLED_WATCHDOG_TIMEOUT=0 -D CONFIG_ASYNC_TCP_USE_WDT=0 #use LITTLEFS library by lorol in ESP32 core 1.x.x instead of built-in in 2.x.x - -D LOROL_LITTLEFS + ; -D LOROL_LITTLEFS default_partitions = tools/WLED_ESP32_4MB_1MB_FS.csv lib_deps = ${env.lib_deps} ; https://github.com/lorol/LITTLEFS.git - ; WLEDSR specific: use patched version of lorol LittleFS - https://github.com/softhack007/LITTLEFS-threadsafe.git#master + ; WLEDSR specific: use patched version of lorol LittleFS - unless using IDF v4 + ; https://github.com/softhack007/LITTLEFS-threadsafe.git#master makuna/NeoPixelBus @ 2.6.9 https://github.com/pbolduc/AsyncTCP.git @ 1.2.0 @@ -236,6 +248,9 @@ build_flags = -g -DARDUINO_ARCH_ESP32S2 -DCONFIG_IDF_TARGET_ESP32S2 -D CONFIG_ASYNC_TCP_USE_WDT=0 + -D CONFIG_LITTLEFS_FOR_IDF_3_2 + -D WLED_WATCHDOG_TIMEOUT=0 + -D WLED_NO_I2S1_PIXELBUS -DCO lib_deps = @@ -243,12 +258,38 @@ lib_deps = makuna/NeoPixelBus @ 2.6.9 https://github.com/pbolduc/AsyncTCP.git @ 1.2.0 + +[esp32s3] +build_flags = -g + -DESP32 + -DARDUINO_ARCH_ESP32 + -DARDUINO_ARCH_ESP32S3 + -DCONFIG_IDF_TARGET_ESP32S3 + -D CONFIG_ASYNC_TCP_USE_WDT=0 + -D CONFIG_LITTLEFS_FOR_IDF_3_2 -D CONFIG_LITTLEFS_SPIFFS_COMPAT=1 -D CONFIG_LITTLEFS_CACHE_SIZE=512 + -D WLED_NO_I2S0_PIXELBUS + -D WLED_NO_I2S1_PIXELBUS + -D WLED_DISABLE_BROWNOUT_DET + -D WLED_WATCHDOG_TIMEOUT=0 + -D ARDUINO_USB_MODE=1 -D ARDUINO_USB_CDC_ON_BOOT=0 -D ARDUINO_USB_MSC_ON_BOOT=0 + -DCO + +lib_deps = + ${env.lib_deps} + https://github.com/Makuna/NeoPixelBus.git#master @ 2.7.0 + https://github.com/pbolduc/AsyncTCP.git @ 1.2.0 + + [esp32c3] build_flags = -g -DARDUINO_ARCH_ESP32 -DARDUINO_ARCH_ESP32C3 -DCONFIG_IDF_TARGET_ESP32C3 -D CONFIG_ASYNC_TCP_USE_WDT=0 + -D CONFIG_LITTLEFS_FOR_IDF_3_2 + -D WLED_WATCHDOG_TIMEOUT=0 + -D WLED_NO_I2S0_PIXELBUS + -D WLED_NO_I2S1_PIXELBUS -DCO lib_deps = @@ -360,24 +401,39 @@ board_build.partitions = ${esp32.default_partitions} [env:esp32s2_saola] board = esp32-s2-saola-1 -platform = https://github.com/tasmota/platform-espressif32/releases/download/v2.0.2.2/platform-tasmota-espressif32-2.0.2.zip -platform_packages = +;platform = https://github.com/tasmota/platform-espressif32/releases/download/v2.0.2.2/platform-tasmota-espressif32-2.0.2.zip +;platform_packages = +platform = ${esp32.platform} +platform_packages = ${esp32.platform_packages} framework = arduino +build_flags = ${common.build_flags_esp32s2} + -D WLED_RELEASE_NAME=ESP32C3 #-D WLED_DISABLE_BLYNK #-D WLED_DISABLE_BROWNOUT_DET + ; -D USERMOD_AUDIOREACTIVE -D I2S_USE_16BIT_SAMPLES + ; -D UM_AUDIOREACTIVE_USE_NEW_FFT + ; -D USERMOD_CUSTOMEFFECTS board_build.partitions = tools/WLED_ESP32_4MB_1MB_FS.csv board_build.flash_mode = qio upload_speed = 460800 build_unflags = ${common.build_unflags} lib_deps = ${esp32s2.lib_deps} + ; https://github.com/kosme/arduinoFFT#develop @ 1.9.2 -[env:esp32c3] +[env:esp32c3dev] board = esp32-c3-devkitm-1 -platform = https://github.com/tasmota/platform-espressif32/releases/download/v2.0.2.2/platform-tasmota-espressif32-2.0.2.zip -platform_packages = +;platform = https://github.com/tasmota/platform-espressif32/releases/download/v2.0.2.2/platform-tasmota-espressif32-2.0.2.zip +platform = ${esp32.platform} +platform_packages = ${esp32.platform_packages} framework = arduino +build_flags = ${common.build_flags_esp32c3} + -D WLED_RELEASE_NAME=ESP32C3 #-D WLED_DISABLE_BLYNK #-D WLED_DISABLE_BROWNOUT_DET + -D USERMOD_AUDIOREACTIVE -D I2S_USE_16BIT_SAMPLES + -D UM_AUDIOREACTIVE_USE_NEW_FFT + -D USERMOD_CUSTOMEFFECTS board_build.partitions = tools/WLED_ESP32_4MB_1MB_FS.csv upload_speed = 460800 build_unflags = ${common.build_unflags} lib_deps = ${esp32c3.lib_deps} + https://github.com/kosme/arduinoFFT#develop @ 1.9.2 [env:esp8285_4CH_MagicHome] board = esp8285 @@ -444,6 +500,29 @@ lib_deps = ${esp8266.lib_deps} # ------------------------------------------------------------------------------ # custom board configurations # ------------------------------------------------------------------------------ +[env:esp32s3-mdev] +board = esp32-s3-devkitc-1 +platform = ${esp32.platform} +upload_speed = 460800 ; or 921600 +platform_packages = ${esp32.platform_packages} +build_unflags = ${common.build_unflags} + +build_flags = ${common.build_flags_esp32s3} + -D WLED_RELEASE_NAME=ESP32S3 #-D WLED_DISABLE_BLYNK #-D WLED_DISABLE_BROWNOUT_DET + ; -D WLED_DEBUG + -D USERMOD_AUDIOREACTIVE + -D UM_AUDIOREACTIVE_USE_NEW_FFT + -D USERMOD_CUSTOMEFFECTS + +lib_deps = ${esp32s3.lib_deps} + ; https://github.com/blazoncek/arduinoFFT.git ; arduinoFFT @ 1.5.6 + https://github.com/kosme/arduinoFFT#develop @ 1.9.2 + +board_build.partitions = tools/WLED_ESP32_8MB.csv +board_build.f_flash = 80000000L +;board_build.flash_mode = dio +;board_build.f_flash = 120000000L +board_build.flash_mode = qio [env:esp32mdev] board = esp32dev @@ -454,6 +533,32 @@ build_unflags = ${common.build_unflags} build_flags = ${common.build_flags_esp32} -D WLED_RELEASE_NAME=ESP32 #-D WLED_DISABLE_BLYNK #-D WLED_DISABLE_BROWNOUT_DET + ; -D WLED_DEBUG + -D USERMOD_AUDIOREACTIVE + -D UM_AUDIOREACTIVE_USE_NEW_FFT + -D USERMOD_CUSTOMEFFECTS + +lib_deps = ${esp32.lib_deps} + ; https://github.com/blazoncek/arduinoFFT.git ; arduinoFFT @ 1.5.6 + https://github.com/kosme/arduinoFFT#develop @ 1.9.2 +monitor_filters = esp32_exception_decoder +board_build.partitions = ${esp32.default_partitions} +board_build.f_flash = 80000000L +board_build.flash_mode = dio + +[env:esp32mdev_PSRAM] +;; experiemtal environment for boards with PSRAM. +;; Warning: you cannot use PSRAM with the WLED-specific bootloader that was striped down by AC. +board = esp32cam +; board = lolin_d32_pro +platform = ${esp32.platform} +upload_speed = 460800 ; or 921600 +platform_packages = ${esp32.platform_packages} +build_unflags = ${common.build_unflags} + +build_flags = ${common.build_flags_esp32} + -D WLED_RELEASE_NAME=ESP32 -D WLED_USE_PSRAM #-D WLED_DISABLE_BLYNK #-D WLED_DISABLE_BROWNOUT_DET +; -D WLED_DEBUG -D USERMOD_AUDIOREACTIVE -D UM_AUDIOREACTIVE_USE_NEW_FFT -D USERMOD_CUSTOMEFFECTS diff --git a/usermods/audioreactive/audio_source.h b/usermods/audioreactive/audio_source.h index 1f127ece..6d69107f 100644 --- a/usermods/audioreactive/audio_source.h +++ b/usermods/audioreactive/audio_source.h @@ -17,8 +17,8 @@ // see https://docs.espressif.com/projects/esp-idf/en/latest/esp32s3/hw-reference/chip-series-comparison.html#related-documents // and https://docs.espressif.com/projects/esp-idf/en/latest/esp32s3/api-reference/peripherals/i2s.html#overview-of-all-modes -#if defined(CONFIG_IDF_TARGET_ESP32C2) || defined(CONFIG_IDF_TARGET_ESP32S2) || defined(CONFIG_IDF_TARGET_ESP32H2) - #error This audio reactive usermod does not support ESP32-C2, ESP32-C3 or ESP32-S2. +#if defined(CONFIG_IDF_TARGET_ESP32C2) || defined(CONFIG_IDF_TARGET_ESP32S2) + #warning This audio reactive usermod does not support the ESP32-C2 or ESP32-S2, because the device has too limited I2S capabilities #endif /* ToDo: remove. ES7243 is controlled via compiler defines @@ -233,6 +233,7 @@ class I2SSource : public AudioSource { void _routeMclk(int8_t mclkPin) { #if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32C3) && !defined(CONFIG_IDF_TARGET_ESP32S3) // this way of MCLK routing only works on "classic" ESP32 + /* Enable the mclk routing depending on the selected mclk pin Only I2S_NUM_0 is supported */ diff --git a/usermods/customeffects/arti.h b/usermods/customeffects/arti.h index c7ccc3aa..c70aa86f 100644 --- a/usermods/customeffects/arti.h +++ b/usermods/customeffects/arti.h @@ -2450,7 +2450,7 @@ public: strcat(logFileName, ".log"); #if ARTI_PLATFORM == ARTI_ARDUINO - logFile = LITTLEFS.open(logFileName,"w"); + logFile = WLED_FS.open(logFileName,"w"); #else logFile = fopen (logFileName,"w"); #endif @@ -2463,7 +2463,7 @@ public: #if ARTI_PLATFORM == ARTI_ARDUINO File definitionFile; - definitionFile = LITTLEFS.open(definitionName, "r"); + definitionFile = WLED_FS.open(definitionName, "r"); #else std::fstream definitionFile; definitionFile.open(definitionName, std::ios::in); @@ -2517,7 +2517,7 @@ public: #if ARTI_PLATFORM == ARTI_ARDUINO File programFile; - programFile = LITTLEFS.open(programName, "r"); + programFile = WLED_FS.open(programName, "r"); #else std::fstream programFile; programFile.open(programName, std::ios::in); @@ -2564,7 +2564,7 @@ public: #ifdef ARTI_DEBUG // only read write file if debug is on #if ARTI_PLATFORM == ARTI_ARDUINO File parseTreeFile; - parseTreeFile = LITTLEFS.open(parseTreeName, loadParseTreeFile?"r":"w"); + parseTreeFile = WLED_FS.open(parseTreeName, loadParseTreeFile?"r":"w"); #else std::fstream parseTreeFile; parseTreeFile.open(parseTreeName, loadParseTreeFile?std::ios::in:std::ios::out); @@ -2711,7 +2711,7 @@ public: closeLog(); #if ARTI_PLATFORM == ARTI_ARDUINO - LITTLEFS.remove(logFileName); //cleanup the /edit folder a bit + WLED_FS.remove(logFileName); //cleanup the /edit folder a bit #endif } }; //ARTI \ No newline at end of file diff --git a/wled00/bus_wrapper.h b/wled00/bus_wrapper.h index e2783236..2b953276 100644 --- a/wled00/bus_wrapper.h +++ b/wled00/bus_wrapper.h @@ -117,43 +117,43 @@ #ifdef ARDUINO_ARCH_ESP32 //RGB #define B_32_RN_NEO_3 NeoPixelBrightnessBus -#ifndef CONFIG_IDF_TARGET_ESP32C3 +#ifndef WLED_NO_I2S0_PIXELBUS #define B_32_I0_NEO_3 NeoPixelBrightnessBus #endif -#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32C3) +#ifndef WLED_NO_I2S1_PIXELBUS #define B_32_I1_NEO_3 NeoPixelBrightnessBus #endif //RGBW #define B_32_RN_NEO_4 NeoPixelBrightnessBus -#ifndef CONFIG_IDF_TARGET_ESP32C3 +#ifndef WLED_NO_I2S0_PIXELBUS #define B_32_I0_NEO_4 NeoPixelBrightnessBus #endif -#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32C3) +#ifndef WLED_NO_I2S1_PIXELBUS #define B_32_I1_NEO_4 NeoPixelBrightnessBus #endif //400Kbps #define B_32_RN_400_3 NeoPixelBrightnessBus -#ifndef CONFIG_IDF_TARGET_ESP32C3 +#ifndef WLED_NO_I2S0_PIXELBUS #define B_32_I0_400_3 NeoPixelBrightnessBus #endif -#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32C3) +#ifndef WLED_NO_I2S1_PIXELBUS #define B_32_I1_400_3 NeoPixelBrightnessBus #endif //TM1814 (RGBW) #define B_32_RN_TM1_4 NeoPixelBrightnessBus -#ifndef CONFIG_IDF_TARGET_ESP32C3 +#ifndef WLED_NO_I2S0_PIXELBUS #define B_32_I0_TM1_4 NeoPixelBrightnessBus #endif -#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32C3) +#ifndef WLED_NO_I2S1_PIXELBUS #define B_32_I1_TM1_4 NeoPixelBrightnessBus #endif //Bit Bang theoratically possible, but very undesirable and not needed (no pin restrictions on RMT and I2S) //TM1829 (RGB) #define B_32_RN_TM2_3 NeoPixelBrightnessBus -#ifndef CONFIG_IDF_TARGET_ESP32C3 +#ifndef WLED_NO_I2S0_PIXELBUS #define B_32_I0_TM2_3 NeoPixelBrightnessBus #endif -#if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32C3) +#ifndef WLED_NO_I2S1_PIXELBUS #define B_32_I1_TM2_3 NeoPixelBrightnessBus #endif //Bit Bang theoratically possible, but very undesirable and not needed (no pin restrictions on RMT and I2S) @@ -237,33 +237,33 @@ class PolyBus { #endif #ifdef ARDUINO_ARCH_ESP32 case I_32_RN_NEO_3: (static_cast(busPtr))->Begin(); break; - #ifndef CONFIG_IDF_TARGET_ESP32C3 + #ifndef WLED_NO_I2S0_PIXELBUS case I_32_I0_NEO_3: (static_cast(busPtr))->Begin(); break; #endif - #if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32C3) + #ifndef WLED_NO_I2S1_PIXELBUS case I_32_I1_NEO_3: (static_cast(busPtr))->Begin(); break; #endif case I_32_RN_NEO_4: (static_cast(busPtr))->Begin(); break; - #ifndef CONFIG_IDF_TARGET_ESP32C3 + #ifndef WLED_NO_I2S0_PIXELBUS case I_32_I0_NEO_4: (static_cast(busPtr))->Begin(); break; #endif - #if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32C3) + #ifndef WLED_NO_I2S1_PIXELBUS case I_32_I1_NEO_4: (static_cast(busPtr))->Begin(); break; #endif case I_32_RN_400_3: (static_cast(busPtr))->Begin(); break; - #ifndef CONFIG_IDF_TARGET_ESP32C3 + #ifndef WLED_NO_I2S0_PIXELBUS case I_32_I0_400_3: (static_cast(busPtr))->Begin(); break; #endif - #if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32C3) + #ifndef WLED_NO_I2S1_PIXELBUS case I_32_I1_400_3: (static_cast(busPtr))->Begin(); break; #endif case I_32_RN_TM1_4: beginTM1814(busPtr); break; case I_32_RN_TM2_3: (static_cast(busPtr))->Begin(); break; - #ifndef CONFIG_IDF_TARGET_ESP32C3 + #ifndef WLED_NO_I2S0_PIXELBUS case I_32_I0_TM1_4: beginTM1814(busPtr); break; case I_32_I0_TM2_3: (static_cast(busPtr))->Begin(); break; #endif - #if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32C3) + #ifndef WLED_NO_I2S1_PIXELBUS case I_32_I1_TM1_4: beginTM1814(busPtr); break; case I_32_I1_TM2_3: (static_cast(busPtr))->Begin(); break; #endif @@ -309,33 +309,33 @@ class PolyBus { #endif #ifdef ARDUINO_ARCH_ESP32 case I_32_RN_NEO_3: busPtr = new B_32_RN_NEO_3(len, pins[0], (NeoBusChannel)channel); break; - #ifndef CONFIG_IDF_TARGET_ESP32C3 + #ifndef WLED_NO_I2S0_PIXELBUS case I_32_I0_NEO_3: busPtr = new B_32_I0_NEO_3(len, pins[0]); break; #endif - #if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32C3) + #ifndef WLED_NO_I2S1_PIXELBUS case I_32_I1_NEO_3: busPtr = new B_32_I1_NEO_3(len, pins[0]); break; #endif case I_32_RN_NEO_4: busPtr = new B_32_RN_NEO_4(len, pins[0], (NeoBusChannel)channel); break; - #ifndef CONFIG_IDF_TARGET_ESP32C3 + #ifndef WLED_NO_I2S0_PIXELBUS case I_32_I0_NEO_4: busPtr = new B_32_I0_NEO_4(len, pins[0]); break; #endif - #if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32C3) + #ifndef WLED_NO_I2S1_PIXELBUS case I_32_I1_NEO_4: busPtr = new B_32_I1_NEO_4(len, pins[0]); break; #endif case I_32_RN_400_3: busPtr = new B_32_RN_400_3(len, pins[0], (NeoBusChannel)channel); break; - #ifndef CONFIG_IDF_TARGET_ESP32C3 + #ifndef WLED_NO_I2S0_PIXELBUS case I_32_I0_400_3: busPtr = new B_32_I0_400_3(len, pins[0]); break; #endif - #if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32C3) + #ifndef WLED_NO_I2S1_PIXELBUS case I_32_I1_400_3: busPtr = new B_32_I1_400_3(len, pins[0]); break; #endif case I_32_RN_TM1_4: busPtr = new B_32_RN_TM1_4(len, pins[0], (NeoBusChannel)channel); break; case I_32_RN_TM2_3: busPtr = new B_32_RN_TM2_3(len, pins[0], (NeoBusChannel)channel); break; - #ifndef CONFIG_IDF_TARGET_ESP32C3 + #ifndef WLED_NO_I2S0_PIXELBUS case I_32_I0_TM1_4: busPtr = new B_32_I0_TM1_4(len, pins[0]); break; case I_32_I0_TM2_3: busPtr = new B_32_I0_TM2_3(len, pins[0]); break; #endif - #if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32C3) + #ifndef WLED_NO_I2S1_PIXELBUS case I_32_I1_TM1_4: busPtr = new B_32_I1_TM1_4(len, pins[0]); break; case I_32_I1_TM2_3: busPtr = new B_32_I1_TM2_3(len, pins[0]); break; #endif @@ -382,33 +382,33 @@ class PolyBus { #endif #ifdef ARDUINO_ARCH_ESP32 case I_32_RN_NEO_3: (static_cast(busPtr))->Show(); break; - #ifndef CONFIG_IDF_TARGET_ESP32C3 + #ifndef WLED_NO_I2S0_PIXELBUS case I_32_I0_NEO_3: (static_cast(busPtr))->Show(); break; #endif - #if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32C3) + #ifndef WLED_NO_I2S1_PIXELBUS case I_32_I1_NEO_3: (static_cast(busPtr))->Show(); break; #endif case I_32_RN_NEO_4: (static_cast(busPtr))->Show(); break; - #ifndef CONFIG_IDF_TARGET_ESP32C3 + #ifndef WLED_NO_I2S0_PIXELBUS case I_32_I0_NEO_4: (static_cast(busPtr))->Show(); break; #endif - #if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32C3) + #ifndef WLED_NO_I2S1_PIXELBUS case I_32_I1_NEO_4: (static_cast(busPtr))->Show(); break; #endif case I_32_RN_400_3: (static_cast(busPtr))->Show(); break; - #ifndef CONFIG_IDF_TARGET_ESP32C3 + #ifndef WLED_NO_I2S0_PIXELBUS case I_32_I0_400_3: (static_cast(busPtr))->Show(); break; #endif - #if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32C3) + #ifndef WLED_NO_I2S1_PIXELBUS case I_32_I1_400_3: (static_cast(busPtr))->Show(); break; #endif case I_32_RN_TM1_4: (static_cast(busPtr))->Show(); break; case I_32_RN_TM2_3: (static_cast(busPtr))->Show(); break; - #ifndef CONFIG_IDF_TARGET_ESP32C3 + #ifndef WLED_NO_I2S0_PIXELBUS case I_32_I0_TM1_4: (static_cast(busPtr))->Show(); break; case I_32_I0_TM2_3: (static_cast(busPtr))->Show(); break; #endif - #if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32C3) + #ifndef WLED_NO_I2S1_PIXELBUS case I_32_I1_TM1_4: (static_cast(busPtr))->Show(); break; case I_32_I1_TM2_3: (static_cast(busPtr))->Show(); break; #endif @@ -452,33 +452,33 @@ class PolyBus { #endif #ifdef ARDUINO_ARCH_ESP32 case I_32_RN_NEO_3: return (static_cast(busPtr))->CanShow(); break; - #ifndef CONFIG_IDF_TARGET_ESP32C3 + #ifndef WLED_NO_I2S0_PIXELBUS case I_32_I0_NEO_3: return (static_cast(busPtr))->CanShow(); break; #endif - #if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32C3) + #ifndef WLED_NO_I2S1_PIXELBUS case I_32_I1_NEO_3: return (static_cast(busPtr))->CanShow(); break; #endif case I_32_RN_NEO_4: return (static_cast(busPtr))->CanShow(); break; - #ifndef CONFIG_IDF_TARGET_ESP32C3 + #ifndef WLED_NO_I2S0_PIXELBUS case I_32_I0_NEO_4: return (static_cast(busPtr))->CanShow(); break; #endif - #if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32C3) + #ifndef WLED_NO_I2S1_PIXELBUS case I_32_I1_NEO_4: return (static_cast(busPtr))->CanShow(); break; #endif case I_32_RN_400_3: return (static_cast(busPtr))->CanShow(); break; - #ifndef CONFIG_IDF_TARGET_ESP32C3 + #ifndef WLED_NO_I2S0_PIXELBUS case I_32_I0_400_3: return (static_cast(busPtr))->CanShow(); break; #endif - #if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32C3) + #ifndef WLED_NO_I2S1_PIXELBUS case I_32_I1_400_3: return (static_cast(busPtr))->CanShow(); break; #endif case I_32_RN_TM1_4: return (static_cast(busPtr))->CanShow(); break; case I_32_RN_TM2_3: return (static_cast(busPtr))->CanShow(); break; - #ifndef CONFIG_IDF_TARGET_ESP32C3 + #ifndef WLED_NO_I2S0_PIXELBUS case I_32_I0_TM1_4: return (static_cast(busPtr))->CanShow(); break; case I_32_I0_TM2_3: return (static_cast(busPtr))->CanShow(); break; #endif - #if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32C3) + #ifndef WLED_NO_I2S1_PIXELBUS case I_32_I1_TM1_4: return (static_cast(busPtr))->CanShow(); break; case I_32_I1_TM2_3: return (static_cast(busPtr))->CanShow(); break; #endif @@ -546,33 +546,33 @@ class PolyBus { #endif #ifdef ARDUINO_ARCH_ESP32 case I_32_RN_NEO_3: (static_cast(busPtr))->SetPixelColor(pix, RgbColor(col.R,col.G,col.B)); break; - #ifndef CONFIG_IDF_TARGET_ESP32C3 + #ifndef WLED_NO_I2S0_PIXELBUS case I_32_I0_NEO_3: (static_cast(busPtr))->SetPixelColor(pix, RgbColor(col.R,col.G,col.B)); break; #endif - #if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32C3) + #ifndef WLED_NO_I2S1_PIXELBUS case I_32_I1_NEO_3: (static_cast(busPtr))->SetPixelColor(pix, RgbColor(col.R,col.G,col.B)); break; #endif case I_32_RN_NEO_4: (static_cast(busPtr))->SetPixelColor(pix, col); break; - #ifndef CONFIG_IDF_TARGET_ESP32C3 + #ifndef WLED_NO_I2S0_PIXELBUS case I_32_I0_NEO_4: (static_cast(busPtr))->SetPixelColor(pix, col); break; #endif - #if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32C3) + #ifndef WLED_NO_I2S1_PIXELBUS case I_32_I1_NEO_4: (static_cast(busPtr))->SetPixelColor(pix, col); break; #endif case I_32_RN_400_3: (static_cast(busPtr))->SetPixelColor(pix, RgbColor(col.R,col.G,col.B)); break; - #ifndef CONFIG_IDF_TARGET_ESP32C3 + #ifndef WLED_NO_I2S0_PIXELBUS case I_32_I0_400_3: (static_cast(busPtr))->SetPixelColor(pix, RgbColor(col.R,col.G,col.B)); break; #endif - #if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32C3) + #ifndef WLED_NO_I2S1_PIXELBUS case I_32_I1_400_3: (static_cast(busPtr))->SetPixelColor(pix, RgbColor(col.R,col.G,col.B)); break; #endif case I_32_RN_TM1_4: (static_cast(busPtr))->SetPixelColor(pix, col); break; case I_32_RN_TM2_3: (static_cast(busPtr))->SetPixelColor(pix, RgbColor(col.R,col.G,col.B)); break; - #ifndef CONFIG_IDF_TARGET_ESP32C3 + #ifndef WLED_NO_I2S0_PIXELBUS case I_32_I0_TM1_4: (static_cast(busPtr))->SetPixelColor(pix, col); break; case I_32_I0_TM2_3: (static_cast(busPtr))->SetPixelColor(pix, RgbColor(col.R,col.G,col.B)); break; #endif - #if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32C3) + #ifndef WLED_NO_I2S1_PIXELBUS case I_32_I1_TM1_4: (static_cast(busPtr))->SetPixelColor(pix, col); break; case I_32_I1_TM2_3: (static_cast(busPtr))->SetPixelColor(pix, RgbColor(col.R,col.G,col.B)); break; #endif @@ -616,33 +616,33 @@ class PolyBus { #endif #ifdef ARDUINO_ARCH_ESP32 case I_32_RN_NEO_3: (static_cast(busPtr))->SetBrightness(b); break; - #ifndef CONFIG_IDF_TARGET_ESP32C3 + #ifndef WLED_NO_I2S0_PIXELBUS case I_32_I0_NEO_3: (static_cast(busPtr))->SetBrightness(b); break; #endif - #if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32C3) + #ifndef WLED_NO_I2S1_PIXELBUS case I_32_I1_NEO_3: (static_cast(busPtr))->SetBrightness(b); break; #endif case I_32_RN_NEO_4: (static_cast(busPtr))->SetBrightness(b); break; - #ifndef CONFIG_IDF_TARGET_ESP32C3 + #ifndef WLED_NO_I2S0_PIXELBUS case I_32_I0_NEO_4: (static_cast(busPtr))->SetBrightness(b); break; #endif - #if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32C3) + #ifndef WLED_NO_I2S1_PIXELBUS case I_32_I1_NEO_4: (static_cast(busPtr))->SetBrightness(b); break; #endif case I_32_RN_400_3: (static_cast(busPtr))->SetBrightness(b); break; - #ifndef CONFIG_IDF_TARGET_ESP32C3 + #ifndef WLED_NO_I2S0_PIXELBUS case I_32_I0_400_3: (static_cast(busPtr))->SetBrightness(b); break; #endif - #if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32C3) + #ifndef WLED_NO_I2S1_PIXELBUS case I_32_I1_400_3: (static_cast(busPtr))->SetBrightness(b); break; #endif case I_32_RN_TM1_4: (static_cast(busPtr))->SetBrightness(b); break; case I_32_RN_TM2_3: (static_cast(busPtr))->SetBrightness(b); break; - #ifndef CONFIG_IDF_TARGET_ESP32C3 + #ifndef WLED_NO_I2S0_PIXELBUS case I_32_I0_TM1_4: (static_cast(busPtr))->SetBrightness(b); break; case I_32_I0_TM2_3: (static_cast(busPtr))->SetBrightness(b); break; #endif - #if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32C3) + #ifndef WLED_NO_I2S1_PIXELBUS case I_32_I1_TM1_4: (static_cast(busPtr))->SetBrightness(b); break; case I_32_I1_TM2_3: (static_cast(busPtr))->SetBrightness(b); break; #endif @@ -687,33 +687,33 @@ class PolyBus { #endif #ifdef ARDUINO_ARCH_ESP32 case I_32_RN_NEO_3: col = (static_cast(busPtr))->GetPixelColor(pix); break; - #ifndef CONFIG_IDF_TARGET_ESP32C3 + #ifndef WLED_NO_I2S0_PIXELBUS case I_32_I0_NEO_3: col = (static_cast(busPtr))->GetPixelColor(pix); break; #endif - #if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32C3) + #ifndef WLED_NO_I2S1_PIXELBUS case I_32_I1_NEO_3: col = (static_cast(busPtr))->GetPixelColor(pix); break; #endif case I_32_RN_NEO_4: col = (static_cast(busPtr))->GetPixelColor(pix); break; - #ifndef CONFIG_IDF_TARGET_ESP32C3 + #ifndef WLED_NO_I2S0_PIXELBUS case I_32_I0_NEO_4: col = (static_cast(busPtr))->GetPixelColor(pix); break; #endif - #if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32C3) + #ifndef WLED_NO_I2S1_PIXELBUS case I_32_I1_NEO_4: col = (static_cast(busPtr))->GetPixelColor(pix); break; #endif case I_32_RN_400_3: col = (static_cast(busPtr))->GetPixelColor(pix); break; - #ifndef CONFIG_IDF_TARGET_ESP32C3 + #ifndef WLED_NO_I2S0_PIXELBUS case I_32_I0_400_3: col = (static_cast(busPtr))->GetPixelColor(pix); break; #endif - #if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32C3) + #ifndef WLED_NO_I2S1_PIXELBUS case I_32_I1_400_3: col = (static_cast(busPtr))->GetPixelColor(pix); break; #endif case I_32_RN_TM1_4: col = (static_cast(busPtr))->GetPixelColor(pix); break; case I_32_RN_TM2_3: col = (static_cast(busPtr))->GetPixelColor(pix); break; - #ifndef CONFIG_IDF_TARGET_ESP32C3 + #ifndef WLED_NO_I2S0_PIXELBUS case I_32_I0_TM1_4: col = (static_cast(busPtr))->GetPixelColor(pix); break; case I_32_I0_TM2_3: col = (static_cast(busPtr))->GetPixelColor(pix); break; #endif - #if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32C3) + #ifndef WLED_NO_I2S1_PIXELBUS case I_32_I1_TM1_4: col = (static_cast(busPtr))->GetPixelColor(pix); break; case I_32_I1_TM2_3: col = (static_cast(busPtr))->GetPixelColor(pix); break; #endif @@ -777,33 +777,33 @@ class PolyBus { #endif #ifdef ARDUINO_ARCH_ESP32 case I_32_RN_NEO_3: delete (static_cast(busPtr)); break; - #ifndef CONFIG_IDF_TARGET_ESP32C3 + #ifndef WLED_NO_I2S0_PIXELBUS case I_32_I0_NEO_3: delete (static_cast(busPtr)); break; #endif - #if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32C3) + #ifndef WLED_NO_I2S1_PIXELBUS case I_32_I1_NEO_3: delete (static_cast(busPtr)); break; #endif case I_32_RN_NEO_4: delete (static_cast(busPtr)); break; - #ifndef CONFIG_IDF_TARGET_ESP32C3 + #ifndef WLED_NO_I2S0_PIXELBUS case I_32_I0_NEO_4: delete (static_cast(busPtr)); break; #endif - #if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32C3) + #ifndef WLED_NO_I2S1_PIXELBUS case I_32_I1_NEO_4: delete (static_cast(busPtr)); break; #endif case I_32_RN_400_3: delete (static_cast(busPtr)); break; - #ifndef CONFIG_IDF_TARGET_ESP32C3 + #ifndef WLED_NO_I2S0_PIXELBUS case I_32_I0_400_3: delete (static_cast(busPtr)); break; #endif - #if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32C3) + #ifndef WLED_NO_I2S1_PIXELBUS case I_32_I1_400_3: delete (static_cast(busPtr)); break; #endif case I_32_RN_TM1_4: delete (static_cast(busPtr)); break; case I_32_RN_TM2_3: delete (static_cast(busPtr)); break; - #ifndef CONFIG_IDF_TARGET_ESP32C3 + #ifndef WLED_NO_I2S0_PIXELBUS case I_32_I0_TM1_4: delete (static_cast(busPtr)); break; case I_32_I0_TM2_3: delete (static_cast(busPtr)); break; #endif - #if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32C3) + #ifndef WLED_NO_I2S1_PIXELBUS case I_32_I1_TM1_4: delete (static_cast(busPtr)); break; case I_32_I1_TM2_3: delete (static_cast(busPtr)); break; #endif diff --git a/wled00/const.h b/wled00/const.h index 9ff5c48b..7bc9cc95 100644 --- a/wled00/const.h +++ b/wled00/const.h @@ -25,10 +25,14 @@ #ifdef ESP8266 #define WLED_MAX_BUSSES 3 #else - #ifdef CONFIG_IDF_TARGET_ESP32S2 + #if defined(CONFIG_IDF_TARGET_ESP32S2) || defined(CONFIG_IDF_TARGET_ESP32C3) #define WLED_MAX_BUSSES 5 #else - #define WLED_MAX_BUSSES 10 + #if defined(CONFIG_IDF_TARGET_ESP32S3) + #define WLED_MAX_BUSSES 8 + #else + #define WLED_MAX_BUSSES 10 + #endif #endif #endif #endif diff --git a/wled00/data/settings_leds.htm b/wled00/data/settings_leds.htm index a7afd989..391600f2 100644 --- a/wled00/data/settings_leds.htm +++ b/wled00/data/settings_leds.htm @@ -58,8 +58,10 @@ if (nm=="L0" || nm=="L1" || nm=="L2" || nm=="L3" || nm=="L4" || nm=="RL" || nm=="BT" || nm=="IR") if (LCs[i].value!="" && LCs[i].value!="-1") { if (d.um_p && d.um_p.some((e)=>e==parseInt(LCs[i].value,10))) {alert(`Sorry, pins ${JSON.stringify(d.um_p)} can't be used.`);LCs[i].value="";LCs[i].focus();return false;} - else if (LCs[i].value > 5 && LCs[i].value < 12) {alert("Sorry, pins 6-11 can not be used.");LCs[i].value="";LCs[i].focus();return false;} - else if (!(nm == "IR" || nm=="BT") && LCs[i].value > 33) {alert("Sorry, pins >33 are input only.");LCs[i].value="";LCs[i].focus();return false;} + // Warning: this check does NOT work for ESP32-S3 or ESP32-C3. The newer ESPs have different GPIO ranges and capabilties. + // WLEDSR specific: temporarily disabling this part, until we find a cleaner solution that works on all ESP32 variants. + //else if (LCs[i].value > 5 && LCs[i].value < 12) {alert("Sorry, pins 6-11 can not be used.");LCs[i].value="";LCs[i].focus();return false;} + //else if (!(nm == "IR" || nm=="BT") && LCs[i].value > 33) {alert("Sorry, pins >33 are input only.");LCs[i].value="";LCs[i].focus();return false;} for (j=i+1; je==parseInt(LCs[i].value,10))) LCs[i].style.color="red"; else LCs[i].style.color=parseInt(LCs[i].value,10)>33?"orange":"#fff"; + if (p.some((e)=>e==parseInt(LCs[i].value,10))) LCs[i].style.color="red"; else LCs[i].style.color=parseInt(LCs[i].value,10)>48?"orange":"#fff"; } } // update total led count @@ -348,11 +350,11 @@ ${i+1}: Start:  
Length:

-GPIO: - - - - +GPIO: + + + +

Reversed:

Skip first LEDs:

Off Refresh:
@@ -422,7 +424,7 @@ Length: `; + c += `Button ${i} GPIO: `; c += ` 
Touch threshold:
- IR GPIO:
IR info
- Relay GPIO: Invert  ✕
+ Relay GPIO: Invert  ✕

Defaults

Turn LEDs on after power up/reset:
diff --git a/wled00/data/settings_um.htm b/wled00/data/settings_um.htm index 73316f99..d72c4dcb 100644 --- a/wled00/data/settings_um.htm +++ b/wled00/data/settings_um.htm @@ -56,7 +56,7 @@ for (var i=0; i39) { o.style.color="red"; break; } else o.style.color=o.value>33?"orange":"#fff"; + if (o.value==pins[i] || o.value<-1 || o.value>48) { o.style.color="red"; break; } else o.style.color=o.value>48?"orange":"#fff"; } } else { switch (o.name) { @@ -70,7 +70,7 @@ for (var i=0; i39) { o.style.color="red"; break; } else o.style.color=o.value>33?"orange":"#fff"; + if (o.value==pins[i] || o.value<-1 || o.value>48) { o.style.color="red"; break; } else o.style.color=o.value>48?"orange":"#fff"; } } } @@ -115,7 +115,7 @@ case "number": c = `value="${o}"`; if (f.substr(-3)==="pin") { - c += ' max="39" min="-1" class="s"'; + c += ' max="48" min="-1" class="s"'; t = "int"; } else { c += ' step="any" class="xxl"'; @@ -237,14 +237,14 @@

Usermod Setup

Global I2C GPIOs (HW)
(only changable on ESP32, change requires reboot!)
- SDA: - SCL: + SDA: + SCL:
Global SPI GPIOs (HW)
(only changable on ESP32, change requires reboot!)
- MOSI: - MISO: - SCLK: + MOSI: + MISO: + SCLK:
Loading settings...

diff --git a/wled00/html_settings.h b/wled00/html_settings.h index fb5e46a6..4f792ea8 100644 --- a/wled00/html_settings.h +++ b/wled00/html_settings.h @@ -251,469 +251,465 @@ const uint8_t PAGE_settings_wifi[] PROGMEM = { // Autogenerated from wled00/data/settings_leds.htm, do not edit!! -const uint16_t PAGE_settings_leds_length = 7368; +const uint16_t PAGE_settings_leds_length = 7301; const uint8_t PAGE_settings_leds[] PROGMEM = { 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x13, 0xdd, 0x3c, 0xed, 0x76, 0xe2, 0xc6, 0x92, 0xff, 0x79, 0x8a, 0x76, 0x27, 0x71, 0xa4, 0x8b, 0x0c, 0x12, 0x1f, 0x8e, 0x07, 0x10, 0xac, - 0xb1, 0x3d, 0x13, 0xdf, 0x6b, 0xc7, 0x3e, 0xc6, 0xc9, 0xdc, 0x3d, 0x93, 0x39, 0x19, 0x21, 0x1a, - 0xd0, 0x58, 0x48, 0xba, 0x92, 0xb0, 0x87, 0xb5, 0xd9, 0x67, 0xda, 0x67, 0xd8, 0x27, 0xdb, 0xaa, - 0xee, 0xd6, 0x17, 0x08, 0xec, 0xdc, 0xbb, 0xfb, 0x67, 0x73, 0xce, 0xc4, 0x20, 0x55, 0x57, 0x55, - 0x57, 0xd7, 0x77, 0x77, 0xd3, 0x3b, 0x38, 0xbf, 0x39, 0xbb, 0xff, 0xf7, 0xdb, 0x0b, 0x32, 0x8f, - 0x17, 0x6e, 0xbf, 0x87, 0xff, 0x27, 0xae, 0xe5, 0xcd, 0x4c, 0xca, 0x3c, 0x0a, 0xdf, 0x99, 0x35, - 0xe9, 0xf7, 0x16, 0x2c, 0xb6, 0x88, 0x3d, 0xb7, 0xc2, 0x88, 0xc5, 0x26, 0x5d, 0xc6, 0xd3, 0xa3, - 0x13, 0x2a, 0x9f, 0x56, 0x3c, 0x6b, 0xc1, 0x4c, 0xfa, 0xe8, 0xb0, 0xa7, 0xc0, 0x0f, 0x63, 0x4a, - 0x6c, 0xdf, 0x8b, 0x99, 0x07, 0x60, 0x4f, 0xce, 0x24, 0x9e, 0x9b, 0x6d, 0x5d, 0x4f, 0x41, 0x37, - 0x5e, 0x4d, 0xd8, 0xa3, 0x63, 0xb3, 0x23, 0xfe, 0x45, 0x73, 0x3c, 0x27, 0x76, 0x2c, 0xf7, 0x28, - 0xb2, 0x2d, 0x97, 0x99, 0x86, 0xb6, 0xb0, 0xbe, 0x39, 0x8b, 0xe5, 0x22, 0xfd, 0xbe, 0x8c, 0x58, - 0xc8, 0xbf, 0x58, 0x63, 0xf8, 0xee, 0xf9, 0x74, 0x8b, 0x72, 0xbf, 0x17, 0x3b, 0xb1, 0xcb, 0xfa, - 0x57, 0x17, 0xe7, 0x64, 0xc4, 0xe2, 0xd8, 0xf1, 0x66, 0x51, 0xaf, 0x2e, 0x9e, 0xf5, 0x22, 0x3b, - 0x74, 0x82, 0xb8, 0x5f, 0x79, 0xb4, 0x42, 0xe2, 0xfa, 0xb6, 0x13, 0x68, 0xb1, 0xb3, 0x60, 0xfe, - 0x32, 0xd6, 0x26, 0xe6, 0xc4, 0xb7, 0x97, 0x0b, 0xe0, 0x4b, 0x73, 0xad, 0x20, 0x64, 0x8f, 0x66, - 0xbb, 0x8d, 0xd4, 0x87, 0x82, 0x89, 0x6b, 0xb3, 0xc5, 0x9a, 0xf8, 0xe1, 0x76, 0x68, 0xb6, 0xf4, - 0x77, 0xc7, 0xf8, 0xf1, 0xca, 0x34, 0x9a, 0x4d, 0xfe, 0xf0, 0x6a, 0xfc, 0x8f, 0xa5, 0x1f, 0x9b, - 0xba, 0x66, 0x2f, 0xa3, 0xd8, 0x5f, 0x8c, 0x62, 0x2b, 0x8c, 0x23, 0xf3, 0xc0, 0xd0, 0x22, 0xfe, - 0xe9, 0xdc, 0x09, 0xe3, 0x95, 0xf9, 0xe9, 0x33, 0x82, 0x9e, 0xdd, 0xdc, 0x3c, 0xb2, 0x30, 0x74, - 0x26, 0x2c, 0x32, 0xdb, 0x1a, 0xf0, 0x00, 0x60, 0xdd, 0xe9, 0xd2, 0xb3, 0x63, 0xc7, 0xf7, 0xc8, - 0xcf, 0x8a, 0xfa, 0xfc, 0xe4, 0x78, 0x13, 0xff, 0xa9, 0xe6, 0x07, 0xcc, 0x53, 0xe8, 0x3c, 0x8e, - 0x83, 0xa8, 0x53, 0xaf, 0x3f, 0x78, 0x7e, 0xed, 0xc9, 0x65, 0x93, 0xda, 0x8c, 0xd5, 0xa7, 0xcc, - 0x8a, 0x97, 0x21, 0x8b, 0xea, 0x91, 0x9c, 0x5e, 0xfd, 0x3b, 0x78, 0x73, 0x94, 0x7c, 0xa3, 0xea, - 0x3a, 0xc5, 0x37, 0xdc, 0xc4, 0x97, 0x8e, 0xa1, 0x1a, 0xfd, 0x23, 0x62, 0xee, 0x34, 0x0f, 0x3d, - 0xbb, 0x9c, 0x28, 0x4c, 0x7d, 0x0e, 0x19, 0xa0, 0xf7, 0x08, 0xd2, 0x8a, 0x2f, 0x5c, 0x86, 0x32, - 0x19, 0xae, 0xf8, 0xab, 0x0c, 0xd4, 0x9f, 0x4e, 0x11, 0x34, 0x0f, 0x13, 0x0d, 0x57, 0xbf, 0xc0, - 0x52, 0xc0, 0xe3, 0x4f, 0xfa, 0xe7, 0xda, 0xa3, 0xe5, 0x2e, 0x99, 0x79, 0x64, 0x64, 0x43, 0x5c, - 0xdf, 0x9a, 0xfc, 0x75, 0xa4, 0x30, 0xcd, 0x33, 0x0f, 0x74, 0xf5, 0xd9, 0x65, 0x31, 0x89, 0xcd, - 0x49, 0xcd, 0x0e, 0x61, 0x3a, 0x4c, 0xe2, 0x50, 0xa8, 0x58, 0x21, 0xaa, 0x76, 0xe3, 0x1a, 0xb0, - 0x7a, 0x1a, 0xc7, 0xa1, 0x33, 0x5e, 0xc6, 0x0c, 0x5e, 0x84, 0x36, 0xd5, 0x98, 0xaa, 0x6d, 0x3e, - 0x8f, 0x57, 0x01, 0x83, 0xc9, 0xc4, 0xec, 0x5b, 0x5c, 0xff, 0x6a, 0x3d, 0x5a, 0x09, 0x82, 0x2d, - 0x40, 0x2b, 0x5a, 0x79, 0x80, 0xc2, 0x53, 0xb5, 0x49, 0x6d, 0xec, 0x4f, 0x56, 0x35, 0x2b, 0x00, - 0x91, 0x4c, 0xce, 0xe6, 0x8e, 0x3b, 0x51, 0x62, 0x84, 0xb7, 0x26, 0x93, 0x8b, 0x47, 0xe0, 0xe2, - 0xca, 0x89, 0x40, 0x41, 0x59, 0xa8, 0x50, 0xe4, 0x99, 0x6a, 0x8a, 0x6a, 0xf6, 0x9f, 0x3f, 0xb0, - 0xf8, 0x37, 0x45, 0xd5, 0xec, 0x39, 0xb3, 0x1f, 0x46, 0x0e, 0x7c, 0x42, 0xec, 0xc3, 0x2b, 0x45, - 0x5d, 0x97, 0x0f, 0x85, 0x45, 0xf6, 0x43, 0xe0, 0x18, 0x86, 0x82, 0xc2, 0x47, 0xbe, 0xcb, 0x6a, - 0xae, 0x3f, 0x53, 0xe8, 0x05, 0x3e, 0x27, 0x52, 0x1e, 0xb0, 0x12, 0x64, 0xea, 0xb8, 0x8c, 0xcf, - 0x0c, 0x34, 0x3c, 0x04, 0x09, 0x5c, 0xc9, 0xe7, 0xfe, 0x14, 0x8d, 0x68, 0xea, 0xcc, 0x96, 0xa1, - 0xc5, 0x05, 0x28, 0x66, 0x46, 0xa6, 0x96, 0x83, 0x8a, 0xf0, 0xbb, 0x77, 0xe9, 0xd9, 0xfe, 0x22, - 0x00, 0x39, 0x32, 0x12, 0x58, 0x33, 0x46, 0x26, 0x56, 0x6c, 0x1d, 0xc0, 0x7a, 0xe6, 0x96, 0x29, - 0x9a, 0xfb, 0x4f, 0xf7, 0xbe, 0x15, 0xc5, 0x42, 0xec, 0x86, 0xfa, 0x8c, 0x9a, 0x1f, 0x9b, 0xb8, - 0xd2, 0x34, 0xc6, 0x17, 0x5c, 0xd2, 0x8e, 0x07, 0x2c, 0xff, 0x7c, 0x7f, 0x7d, 0x65, 0x32, 0x98, - 0x8b, 0xed, 0x5a, 0x51, 0x84, 0x4b, 0x69, 0x7a, 0x03, 0x39, 0x8d, 0x0e, 0x45, 0x4c, 0x54, 0xb3, - 0x5d, 0x66, 0x85, 0xf7, 0xc2, 0x64, 0x14, 0x69, 0x3a, 0x5c, 0xd2, 0xf1, 0x0a, 0xe6, 0x67, 0x79, - 0xce, 0x82, 0xb3, 0x6a, 0x52, 0xcf, 0xf7, 0x60, 0x52, 0x12, 0xc2, 0x04, 0x51, 0x25, 0x83, 0x94, - 0x84, 0x37, 0xd0, 0xcc, 0x3c, 0xa9, 0xdc, 0xe7, 0x5a, 0xc8, 0x02, 0xd7, 0xb2, 0x71, 0xcd, 0x39, - 0x51, 0x8a, 0x73, 0xd2, 0x1a, 0xef, 0x74, 0x3d, 0x37, 0xb3, 0xf1, 0x95, 0xb3, 0x70, 0xe2, 0x08, - 0xe7, 0xa5, 0xc5, 0x9a, 0xa3, 0x3e, 0x73, 0x5b, 0x65, 0xc2, 0x56, 0x63, 0x69, 0xa9, 0x9e, 0x30, - 0x53, 0x27, 0x1b, 0x16, 0x38, 0x5e, 0x74, 0xf3, 0x37, 0x45, 0xc8, 0x81, 0x99, 0x1b, 0xfa, 0x7b, - 0x6f, 0xcd, 0xb8, 0x0a, 0x53, 0xc7, 0x0b, 0x96, 0x28, 0x9a, 0xa9, 0x1f, 0x2a, 0x8e, 0xa9, 0x77, - 0x9d, 0x1e, 0xac, 0x1e, 0xf3, 0x66, 0xf1, 0xbc, 0xeb, 0x54, 0xab, 0x62, 0xb4, 0x67, 0xb2, 0x4f, - 0xce, 0xe7, 0x1a, 0xba, 0x9f, 0x5a, 0xb4, 0x1c, 0x47, 0xa0, 0x68, 0xde, 0x4c, 0xd1, 0xb5, 0x86, - 0xda, 0x75, 0xa6, 0xb0, 0x8c, 0x3a, 0x35, 0x4d, 0xef, 0xe5, 0x85, 0x5e, 0x19, 0xc9, 0x87, 0x46, - 0xf2, 0xa1, 0x89, 0x1f, 0x92, 0xb5, 0x28, 0xc3, 0x22, 0x70, 0x04, 0xe8, 0x69, 0x2f, 0xc1, 0x2a, - 0xca, 0xcc, 0x8c, 0x5e, 0xdd, 0xd3, 0x6a, 0x9c, 0xd9, 0x9a, 0x66, 0xe8, 0x6a, 0xdf, 0x3c, 0xd1, - 0x55, 0x74, 0xaf, 0x8e, 0xb7, 0x64, 0x6b, 0xc0, 0xf0, 0x06, 0x36, 0xf0, 0x43, 0x4b, 0x7e, 0xb8, - 0xbb, 0x92, 0x1f, 0x86, 0xf7, 0xf2, 0xc3, 0xe5, 0x1d, 0x67, 0xf5, 0xf0, 0x90, 0xd2, 0x03, 0xc1, - 0x29, 0x27, 0x06, 0xdf, 0x8f, 0x8c, 0xc2, 0x13, 0xf5, 0x19, 0xc8, 0x4d, 0x6a, 0xcb, 0xc5, 0x1f, - 0xc1, 0xe1, 0xa1, 0xf8, 0x5b, 0x8b, 0x7c, 0xe0, 0xd3, 0x33, 0xfb, 0x9e, 0x69, 0xa6, 0x53, 0xc9, - 0x46, 0x20, 0xc3, 0xaa, 0x2a, 0x9d, 0x8d, 0xd0, 0xfd, 0x2f, 0x23, 0x3f, 0x0c, 0x57, 0x1a, 0x5f, - 0x25, 0xf2, 0xfd, 0xf3, 0x5f, 0x47, 0x37, 0xbf, 0xd4, 0x84, 0x44, 0x9c, 0xe9, 0x4a, 0x62, 0x57, - 0xd7, 0xc4, 0xb6, 0xbc, 0x1f, 0x63, 0x32, 0x66, 0x04, 0xa2, 0xc1, 0xa4, 0xf6, 0x45, 0xd5, 0x32, - 0xa4, 0x26, 0xa5, 0xe2, 0xdb, 0x14, 0xbc, 0x79, 0x04, 0x56, 0x0a, 0xde, 0x15, 0x18, 0xcb, 0x00, - 0xfa, 0xed, 0xc3, 0xc3, 0xec, 0x5b, 0xcf, 0x68, 0x14, 0x39, 0xa0, 0x79, 0x0e, 0x8e, 0x8f, 0x0c, - 0x03, 0x89, 0x11, 0xcf, 0xcf, 0xc8, 0xd1, 0x37, 0x90, 0x43, 0xb1, 0x1d, 0x98, 0x1e, 0x48, 0x09, - 0x04, 0xc9, 0x3f, 0xe4, 0x18, 0x68, 0x36, 0xf7, 0x90, 0x84, 0xb7, 0xc4, 0x0a, 0x19, 0xe1, 0x0a, - 0x08, 0x5e, 0xc2, 0x5d, 0xbd, 0x4e, 0x10, 0x95, 0xf4, 0xab, 0xe9, 0x54, 0x8d, 0xee, 0xd7, 0x4c, - 0x4d, 0xbf, 0x26, 0x6a, 0x6a, 0xc1, 0x22, 0x7d, 0x7d, 0x45, 0x4d, 0xad, 0x44, 0x3f, 0xac, 0x44, - 0x3f, 0xac, 0x44, 0x3f, 0xac, 0x44, 0x3f, 0xac, 0x44, 0x3f, 0xac, 0x44, 0x3f, 0xac, 0x44, 0x3f, - 0x2c, 0xbe, 0xf8, 0x14, 0x5f, 0x9a, 0x56, 0x81, 0x88, 0xa1, 0x0a, 0x26, 0xfc, 0x52, 0x26, 0xde, - 0xaa, 0xe5, 0xfe, 0x2b, 0x5a, 0x2e, 0x74, 0xf3, 0x6b, 0xaa, 0x9b, 0x39, 0x71, 0xe5, 0x9e, 0x6f, - 0xa8, 0xda, 0xad, 0xe3, 0x71, 0xff, 0xea, 0x3a, 0x36, 0x2e, 0x6e, 0xfc, 0xc4, 0x98, 0x07, 0x3a, - 0x97, 0x5a, 0xe3, 0xba, 0x8e, 0x5f, 0x24, 0xd3, 0xeb, 0x03, 0xae, 0x65, 0x5f, 0x0b, 0xab, 0xf0, - 0x35, 0xbf, 0x0a, 0x6b, 0xf8, 0x4f, 0x10, 0x38, 0xd0, 0x33, 0x77, 0x13, 0x87, 0xab, 0xd1, 0x72, - 0x0c, 0x8e, 0x4a, 0x49, 0x0c, 0x64, 0x34, 0xad, 0xa1, 0x9f, 0xce, 0xe1, 0xa9, 0x61, 0xb6, 0x01, - 0x53, 0x3e, 0x67, 0x53, 0x6b, 0xe9, 0xc6, 0x88, 0x2d, 0xf1, 0x52, 0x09, 0xcb, 0x20, 0xb4, 0xd8, - 0x0f, 0x6e, 0x43, 0x1f, 0xfc, 0xbc, 0x25, 0x9c, 0xa7, 0xd4, 0x34, 0x9e, 0x78, 0xf4, 0x0d, 0x70, - 0x8d, 0xd2, 0x27, 0xd1, 0x7b, 0xdf, 0x27, 0x0b, 0xcb, 0x5b, 0x11, 0x48, 0x80, 0x22, 0x02, 0xba, - 0x41, 0x16, 0x8c, 0xc4, 0x3e, 0x99, 0x5b, 0xde, 0xc4, 0x65, 0x07, 0xb4, 0x8b, 0x1e, 0xb2, 0x67, - 0xb0, 0xd6, 0xe1, 0xa1, 0xe2, 0x55, 0x4d, 0xfa, 0xbb, 0xf7, 0x7b, 0x78, 0x06, 0x01, 0x0a, 0x32, - 0x92, 0x10, 0x34, 0x1c, 0x23, 0x0f, 0x68, 0xfc, 0xc5, 0xe8, 0xb6, 0xd9, 0x40, 0xd5, 0x13, 0xd2, - 0xf2, 0xd4, 0x35, 0x67, 0x9d, 0x47, 0xbf, 0xdf, 0x2c, 0xd7, 0x99, 0x38, 0xf1, 0x4a, 0x51, 0xd1, - 0xd2, 0xe1, 0x69, 0x24, 0xa6, 0x98, 0xf3, 0xce, 0xcc, 0xe3, 0xa1, 0x51, 0x7a, 0x59, 0x1e, 0x6d, - 0x30, 0x61, 0xa3, 0xaa, 0xc0, 0xc0, 0x26, 0x5d, 0x3e, 0xf0, 0xea, 0x54, 0xca, 0x81, 0x0d, 0x44, - 0xd2, 0xd5, 0xd1, 0xb5, 0x04, 0x18, 0x60, 0x45, 0x54, 0x99, 0x38, 0x11, 0x84, 0x83, 0x15, 0xc0, - 0x80, 0x5b, 0x76, 0x1d, 0x88, 0x2b, 0x1d, 0x19, 0x5e, 0x38, 0x68, 0x10, 0x2d, 0x1b, 0x6f, 0x80, - 0x2d, 0xd0, 0xeb, 0xeb, 0x87, 0x87, 0x69, 0xf8, 0xce, 0x31, 0x7d, 0x75, 0x9a, 0x8b, 0x0c, 0x1c, - 0x1e, 0x52, 0x24, 0x31, 0x64, 0x93, 0x61, 0x41, 0xfc, 0xea, 0x14, 0x28, 0x6e, 0x51, 0x6f, 0xeb, - 0x66, 0x09, 0x07, 0xbf, 0x5e, 0xe6, 0x89, 0x25, 0xe4, 0x9f, 0xa3, 0x27, 0x27, 0xb6, 0xe7, 0x4a, - 0x89, 0x8c, 0x20, 0x4d, 0xd2, 0x36, 0xd9, 0x00, 0xdc, 0x5a, 0xce, 0x60, 0x72, 0x2c, 0x81, 0xa5, - 0xd9, 0x56, 0xc4, 0x88, 0xde, 0x29, 0x45, 0x65, 0x68, 0x72, 0x4d, 0xba, 0x63, 0x48, 0xb8, 0x1e, - 0xba, 0x1c, 0xb6, 0xa9, 0x77, 0xb6, 0x08, 0x34, 0xf5, 0x02, 0x44, 0xbb, 0x04, 0xa2, 0x9d, 0x87, - 0x68, 0x97, 0x40, 0xb4, 0x0b, 0x10, 0x8d, 0x32, 0x90, 0x46, 0x0a, 0x33, 0x11, 0x7a, 0xdf, 0xd9, - 0x23, 0xd0, 0x44, 0x94, 0x6b, 0x0e, 0xb3, 0x30, 0x00, 0x20, 0x4b, 0x59, 0x50, 0x9f, 0xb5, 0x52, - 0xdf, 0x31, 0x82, 0xec, 0x16, 0x3d, 0xc7, 0x76, 0x72, 0x26, 0x34, 0x16, 0x12, 0x94, 0xc4, 0x3e, - 0xd5, 0x8d, 0xe5, 0x01, 0x6c, 0xd7, 0x6c, 0x81, 0xd9, 0x45, 0x92, 0xa9, 0xbe, 0xe2, 0xa6, 0xce, - 0x68, 0xd5, 0xcb, 0xdc, 0x94, 0xda, 0x95, 0x96, 0x1b, 0x57, 0x5f, 0x19, 0x38, 0xba, 0x2a, 0x0e, - 0xd4, 0x58, 0xaf, 0xd9, 0x18, 0x64, 0x36, 0xda, 0x34, 0xcd, 0x72, 0x82, 0x7a, 0x61, 0xdc, 0x80, - 0xf5, 0x1b, 0xef, 0x06, 0x0d, 0xfd, 0x2f, 0x71, 0xc7, 0x68, 0xc3, 0xff, 0x10, 0x41, 0xdf, 0x04, - 0x0c, 0xe2, 0xc5, 0x09, 0x3c, 0x3a, 0x86, 0x7f, 0xfc, 0x4b, 0x0b, 0x3e, 0x34, 0xf9, 0x97, 0xa6, - 0x01, 0xce, 0xb2, 0xd7, 0x3a, 0x19, 0xb4, 0x3b, 0xad, 0x16, 0xe8, 0xec, 0xcb, 0x4b, 0xab, 0x8d, - 0xaa, 0x2b, 0x21, 0x32, 0x71, 0x80, 0x70, 0x58, 0x9a, 0x3e, 0x62, 0x22, 0xa9, 0x41, 0xb5, 0xd3, - 0x15, 0x8a, 0xb6, 0x08, 0x9e, 0xac, 0xd0, 0x03, 0xbf, 0xb1, 0xb5, 0x6c, 0x7c, 0xd1, 0xaf, 0x13, - 0x9b, 0xfb, 0xa9, 0xa1, 0xeb, 0x5b, 0x46, 0x01, 0x6a, 0x60, 0x9a, 0x05, 0x3d, 0x96, 0x9e, 0xc0, - 0x34, 0x1a, 0x9d, 0x2d, 0x9b, 0x55, 0xe4, 0xbb, 0xa2, 0xe2, 0x77, 0x45, 0x98, 0xdb, 0x95, 0xcb, - 0x81, 0xce, 0x31, 0xbb, 0x98, 0xcc, 0x59, 0xf9, 0x64, 0x8e, 0x87, 0x2e, 0x1e, 0xcf, 0x76, 0xa4, - 0x73, 0x49, 0x08, 0xb3, 0x4a, 0x13, 0x35, 0xcd, 0xcd, 0x56, 0xd8, 0x2a, 0x24, 0x37, 0x42, 0x3e, - 0x81, 0x3e, 0xc1, 0x08, 0x96, 0x53, 0x58, 0x17, 0x03, 0xd8, 0xe1, 0xa1, 0xdb, 0x7b, 0x77, 0x3c, - 0xa0, 0x97, 0xb7, 0x04, 0xd4, 0x13, 0xaa, 0xb9, 0xa8, 0x43, 0x3b, 0x6e, 0xbf, 0xf5, 0x6e, 0x40, - 0xcf, 0x21, 0x3e, 0x90, 0x0f, 0xb7, 0x97, 0x37, 0xe2, 0x89, 0x31, 0xa0, 0xf8, 0x05, 0xdf, 0x53, - 0xf1, 0x54, 0x3a, 0x3e, 0x63, 0x1b, 0x71, 0xeb, 0x1d, 0xe2, 0x3d, 0x6e, 0x0d, 0xe8, 0x99, 0xfb, - 0x90, 0xe0, 0xa0, 0x94, 0x4b, 0x28, 0xda, 0xa1, 0x48, 0x86, 0x0c, 0xb0, 0x5c, 0x3e, 0xa0, 0xaf, - 0x52, 0xf5, 0x5d, 0xcd, 0x57, 0xb5, 0x95, 0x69, 0x74, 0x57, 0xbd, 0x76, 0x77, 0x85, 0xd9, 0x84, - 0xb2, 0x0b, 0x03, 0xad, 0xae, 0x04, 0x0a, 0x15, 0x97, 0x28, 0x9b, 0xdd, 0xe1, 0xe1, 0xaa, 0xd7, - 0x7a, 0x79, 0x11, 0x6c, 0x19, 0xa6, 0xb9, 0xe2, 0x9f, 0x0d, 0x7c, 0xd9, 0x06, 0x90, 0x55, 0xb5, - 0xa5, 0xf7, 0xdc, 0x81, 0x12, 0xed, 0xb0, 0x76, 0x2d, 0x82, 0x4a, 0xe0, 0x1f, 0x4b, 0x27, 0xe4, - 0xae, 0x50, 0xed, 0x6c, 0x03, 0x0a, 0x1d, 0xca, 0x83, 0x41, 0xc9, 0x9d, 0x86, 0x56, 0x55, 0x5d, - 0x43, 0x32, 0x20, 0x3c, 0x6b, 0x38, 0xe5, 0xb2, 0x4a, 0xdc, 0x61, 0xc9, 0xb3, 0x97, 0x97, 0x26, - 0xb0, 0xe8, 0x6a, 0x2e, 0xb7, 0x0a, 0x17, 0xac, 0x02, 0xc6, 0xee, 0xb4, 0xf5, 0x5c, 0x4a, 0x62, - 0x42, 0x92, 0xa3, 0xe5, 0x11, 0xfa, 0x9e, 0x0d, 0x49, 0xc5, 0x83, 0xc9, 0xf1, 0x0d, 0xb0, 0x78, - 0x3c, 0x30, 0x3a, 0xbc, 0x86, 0x5c, 0x43, 0x11, 0xd6, 0x84, 0xe0, 0xe0, 0x4a, 0x62, 0x5c, 0x1e, - 0x5c, 0x58, 0x2d, 0x10, 0x56, 0xab, 0x79, 0x80, 0x8f, 0x4e, 0x4e, 0x90, 0x0d, 0x8e, 0xd0, 0xf6, - 0x39, 0xc2, 0xe2, 0xac, 0x73, 0x02, 0xc6, 0xf1, 0xa6, 0x44, 0x70, 0x32, 0x10, 0xe2, 0xe8, 0xa4, - 0xe2, 0xe3, 0x28, 0x26, 0xce, 0x0c, 0x70, 0x54, 0xe9, 0xd3, 0x96, 0x75, 0xe6, 0x19, 0xd9, 0xb2, - 0xcb, 0xa6, 0x0e, 0xbc, 0x80, 0xf7, 0x31, 0xf8, 0x9f, 0x72, 0x39, 0x7c, 0xbc, 0x29, 0xca, 0x41, - 0x57, 0x8b, 0x24, 0x6d, 0x5a, 0xc2, 0xfa, 0xdb, 0xb8, 0x0d, 0xe9, 0x9e, 0x59, 0xef, 0x1f, 0x1a, - 0xd1, 0xff, 0x1d, 0x81, 0x4d, 0xcb, 0xf0, 0x18, 0xc7, 0x38, 0xb4, 0xd9, 0xe0, 0x78, 0xda, 0x7a, - 0x62, 0x6c, 0x65, 0x79, 0x49, 0x82, 0xc7, 0xda, 0xc2, 0x03, 0xe5, 0x40, 0x0b, 0xc5, 0x5b, 0x3e, - 0x0e, 0xfc, 0xdb, 0xb6, 0xbf, 0xc8, 0x58, 0xbe, 0xf4, 0x1e, 0x21, 0x21, 0x63, 0x13, 0x02, 0xc5, - 0x34, 0xd6, 0xa8, 0x1d, 0x7a, 0x07, 0xd9, 0x23, 0xf8, 0x9f, 0x09, 0x51, 0x42, 0x3f, 0xb6, 0xf0, - 0x95, 0x71, 0xa2, 0xff, 0xf7, 0x7f, 0xa9, 0x69, 0x7e, 0x34, 0xd9, 0x8f, 0x6f, 0xc2, 0xbe, 0xa1, - 0x93, 0xe0, 0x4d, 0xab, 0x0e, 0x5d, 0xa3, 0xab, 0x08, 0xc1, 0xd0, 0xff, 0xb1, 0x64, 0x10, 0x1c, - 0xb9, 0xef, 0xf4, 0xc3, 0x53, 0xd7, 0x55, 0x68, 0xed, 0x09, 0x56, 0x54, 0x5b, 0x9a, 0x61, 0xe2, - 0x3d, 0x33, 0x87, 0xba, 0xe4, 0x9e, 0x34, 0x44, 0xf7, 0xb7, 0x31, 0xd7, 0xcd, 0x49, 0x72, 0x57, - 0x14, 0xbc, 0x56, 0x78, 0x6b, 0x0b, 0x53, 0xd7, 0x1e, 0xb1, 0xa1, 0x06, 0xe8, 0x33, 0x32, 0xc1, - 0x56, 0x11, 0x3e, 0x33, 0x83, 0x5d, 0x45, 0xb8, 0x5f, 0xfa, 0x2a, 0x29, 0x7b, 0xce, 0xa0, 0x66, - 0x98, 0xc9, 0xba, 0x05, 0x4b, 0xa0, 0x59, 0x52, 0x02, 0xcd, 0xd4, 0x57, 0x8c, 0x1e, 0x42, 0xab, - 0xc9, 0xdb, 0x0b, 0xdd, 0x92, 0xc1, 0x49, 0xfd, 0x34, 0x4b, 0xea, 0x27, 0x41, 0x43, 0x71, 0xcd, - 0x3f, 0x55, 0xe6, 0xa8, 0xa2, 0xc8, 0x79, 0xe6, 0x33, 0x40, 0x82, 0x10, 0x27, 0x35, 0xf1, 0xc5, - 0xf1, 0x40, 0x2c, 0x41, 0x26, 0x69, 0xdb, 0x77, 0xfd, 0xd0, 0xa4, 0xdf, 0x4d, 0xa7, 0x53, 0xda, - 0x4d, 0xab, 0xa2, 0x74, 0x60, 0xb3, 0x99, 0x8d, 0x3b, 0x32, 0x72, 0x3d, 0x81, 0x7d, 0x3c, 0x27, - 0x35, 0xdf, 0x2c, 0xa9, 0xf9, 0x66, 0x49, 0xcd, 0x37, 0x4b, 0x6a, 0xbe, 0x99, 0xec, 0x09, 0x04, - 0x5b, 0x3d, 0x81, 0x20, 0xd7, 0x13, 0xc0, 0x25, 0xc2, 0xce, 0x67, 0x37, 0xd7, 0x1c, 0x38, 0x0d, - 0x43, 0x6b, 0x55, 0x73, 0x22, 0xfe, 0x37, 0x29, 0xea, 0x55, 0x5c, 0xe4, 0x07, 0x58, 0xe4, 0x87, - 0x9e, 0x6c, 0x1e, 0xc8, 0x95, 0x7e, 0x80, 0x95, 0x5e, 0xd5, 0x82, 0x65, 0x34, 0x97, 0xa0, 0x9f, - 0x1e, 0x3e, 0xab, 0xb2, 0xe4, 0xd5, 0xa1, 0xe0, 0x0d, 0xf2, 0x05, 0x2f, 0x50, 0x71, 0x0e, 0xcc, - 0xaf, 0x82, 0xee, 0x14, 0x38, 0x79, 0xad, 0xf0, 0x9d, 0x26, 0x42, 0x98, 0x26, 0x42, 0x98, 0x26, - 0x42, 0x98, 0x26, 0x42, 0x98, 0x26, 0x42, 0x98, 0x26, 0x42, 0x98, 0x26, 0x42, 0x98, 0xe6, 0x0a, - 0xdf, 0x69, 0x69, 0xe1, 0x7b, 0x55, 0xca, 0xc4, 0x5b, 0x0b, 0xdf, 0xab, 0x7d, 0x85, 0xaf, 0x90, - 0xfe, 0xd7, 0x2d, 0xe9, 0x67, 0x4f, 0xa4, 0xdc, 0x52, 0x3a, 0xd9, 0x3b, 0xde, 0x7b, 0x59, 0xaf, - 0x57, 0xa2, 0x45, 0xc3, 0xcc, 0x3e, 0xcb, 0xb5, 0x68, 0x82, 0x62, 0x8b, 0x66, 0xb0, 0xad, 0x6c, - 0x10, 0x6a, 0x69, 0x67, 0xeb, 0xf1, 0x0e, 0x04, 0xfd, 0x66, 0x73, 0x40, 0xfd, 0xd0, 0xf2, 0x66, - 0xe8, 0x04, 0xb8, 0x9e, 0xae, 0xd7, 0xcc, 0x8d, 0x18, 0x17, 0xd0, 0xe5, 0xae, 0x61, 0xdd, 0x7c, - 0x2f, 0x1d, 0xca, 0xb5, 0xac, 0x93, 0xfe, 0xc9, 0xff, 0xfc, 0xf2, 0x22, 0xc2, 0xba, 0x1b, 0x71, - 0xdf, 0x26, 0xe2, 0xcf, 0x42, 0xc6, 0x1f, 0xf9, 0x10, 0x5c, 0x10, 0x16, 0x41, 0x90, 0x14, 0xe4, - 0x31, 0x69, 0x97, 0x10, 0xce, 0x14, 0x2b, 0xa3, 0xba, 0x85, 0x47, 0x55, 0xab, 0x97, 0xfd, 0x05, - 0x40, 0x2d, 0x4c, 0xab, 0x7a, 0xa9, 0x6a, 0x97, 0x7d, 0x1b, 0xbe, 0xd8, 0x26, 0x7c, 0xfc, 0xf3, - 0x66, 0xdc, 0xc3, 0xc8, 0xa3, 0x3c, 0x56, 0x61, 0x34, 0xc8, 0x5b, 0xd0, 0xc2, 0xb8, 0x88, 0xed, - 0xea, 0x33, 0xb9, 0x0f, 0xb2, 0x90, 0x8e, 0x7a, 0xeb, 0xb9, 0x69, 0x3e, 0x0e, 0x28, 0xc8, 0x4c, - 0xa1, 0xd5, 0xc7, 0x2a, 0x25, 0xc1, 0x7c, 0x15, 0x39, 0xb6, 0xe5, 0x26, 0x9e, 0x7d, 0xa1, 0x17, - 0xea, 0xa0, 0x58, 0x13, 0xbb, 0x10, 0x71, 0x1d, 0x93, 0xff, 0xbf, 0x18, 0xba, 0xac, 0xa5, 0x27, - 0x63, 0x2b, 0x0b, 0xa7, 0x63, 0xcb, 0x7e, 0x98, 0x85, 0xfe, 0xd2, 0x9b, 0x98, 0x5f, 0xd0, 0x2d, - 0x5b, 0xe1, 0xd1, 0x2c, 0xb4, 0x26, 0x0e, 0xf6, 0xde, 0xdf, 0xe9, 0x13, 0x36, 0xd3, 0xc8, 0xf7, - 0xcf, 0xa2, 0xa9, 0x70, 0xac, 0x0f, 0xc4, 0x87, 0x77, 0x90, 0xb6, 0xf3, 0x15, 0xcf, 0xad, 0xa2, - 0x6d, 0xdb, 0x74, 0x4d, 0xf4, 0x04, 0x78, 0xfd, 0x83, 0x46, 0xbe, 0x6b, 0xb5, 0x5a, 0xd9, 0x77, - 0x02, 0xf4, 0x7f, 0x50, 0xbf, 0xc8, 0x15, 0x61, 0x93, 0x5d, 0x35, 0x82, 0xdd, 0xbf, 0xb6, 0xe2, - 0x39, 0xba, 0x27, 0x85, 0x3b, 0x55, 0xed, 0x44, 0xd7, 0xd5, 0x97, 0x17, 0x41, 0xf9, 0x44, 0x2f, - 0x8f, 0x91, 0x25, 0xf8, 0x84, 0x0a, 0x26, 0xd8, 0xac, 0x6f, 0x25, 0xd8, 0x0c, 0x7d, 0x73, 0x22, - 0x02, 0xdb, 0x13, 0x94, 0xa1, 0x91, 0xef, 0x15, 0x84, 0x99, 0xd1, 0x3f, 0xd1, 0x7f, 0xc0, 0x56, - 0x3c, 0xa0, 0xab, 0x61, 0x4b, 0x85, 0x2c, 0xd8, 0xc2, 0x0f, 0x57, 0xb4, 0x9a, 0xb5, 0x5e, 0x06, - 0x5f, 0x88, 0xd2, 0x1b, 0xf7, 0x2f, 0xee, 0xee, 0x6e, 0xee, 0x3a, 0xe4, 0x57, 0xde, 0x42, 0xf1, - 0x21, 0x26, 0x83, 0x30, 0x70, 0x25, 0xd6, 0xc3, 0x83, 0x5e, 0x7d, 0xdc, 0x57, 0xbf, 0x40, 0x22, - 0xae, 0x76, 0x00, 0x9f, 0x2e, 0x5a, 0x33, 0x01, 0x40, 0xc8, 0x20, 0xce, 0x83, 0xe2, 0xdc, 0xe4, - 0xbc, 0xdb, 0xcc, 0x71, 0x15, 0x05, 0xd0, 0x56, 0x1f, 0xff, 0x22, 0xca, 0x1d, 0xb5, 0xde, 0x86, - 0x59, 0xd4, 0x1b, 0xdd, 0xb9, 0x39, 0xef, 0xb7, 0x07, 0x19, 0xd4, 0x5c, 0xed, 0xcc, 0xbb, 0x96, - 0x29, 0xf3, 0xfb, 0x21, 0xcf, 0xe8, 0x36, 0x0b, 0x6d, 0x6d, 0x6c, 0xe6, 0x6b, 0xac, 0xac, 0x9f, - 0x31, 0xef, 0x19, 0x35, 0xbd, 0x71, 0x78, 0x78, 0x30, 0x84, 0x7f, 0xe3, 0x01, 0xa0, 0xb9, 0x18, - 0xdd, 0x92, 0xf6, 0x6f, 0xd8, 0x87, 0x24, 0x4f, 0x4e, 0x3c, 0x27, 0xc6, 0x29, 0xf9, 0x75, 0x34, - 0x24, 0xd1, 0x32, 0x08, 0xdc, 0x15, 0xed, 0x28, 0x56, 0xd5, 0x1c, 0x0e, 0xa8, 0xd1, 0xf8, 0x8d, - 0xd0, 0xce, 0x78, 0x40, 0x3f, 0x8e, 0x1a, 0x27, 0x46, 0x9b, 0x88, 0xef, 0x14, 0x06, 0x52, 0x0d, - 0x20, 0xe6, 0xf8, 0x3f, 0x7a, 0x2a, 0x47, 0x61, 0x87, 0xcd, 0x83, 0x0c, 0x02, 0x92, 0x92, 0xd8, - 0xe7, 0xd3, 0xa6, 0xa2, 0x5c, 0x1b, 0xed, 0x9e, 0xac, 0x21, 0x66, 0xab, 0x5d, 0x98, 0x54, 0xe1, - 0xed, 0x2b, 0x3f, 0x8a, 0x09, 0x9b, 0x4e, 0x01, 0x4d, 0xa4, 0x91, 0xff, 0xa4, 0xdd, 0x8b, 0xaa, - 0x39, 0x32, 0x47, 0x05, 0x49, 0x8c, 0xd4, 0xce, 0x48, 0xbb, 0xe0, 0x84, 0x9d, 0x88, 0x30, 0xcf, - 0x5f, 0xce, 0xe6, 0x6a, 0x6f, 0x1c, 0xf6, 0xb3, 0x26, 0x51, 0x61, 0x79, 0xad, 0x42, 0xef, 0x28, - 0xb7, 0xec, 0x68, 0x6f, 0x17, 0xe2, 0xe5, 0x57, 0xa1, 0x13, 0x45, 0x75, 0x3d, 0x91, 0x92, 0xbc, - 0xbc, 0x97, 0xd5, 0x2a, 0x4d, 0x34, 0x33, 0xb7, 0xd1, 0x65, 0x45, 0xf1, 0x85, 0x37, 0x91, 0x2d, - 0x3f, 0xd6, 0x33, 0x92, 0x36, 0x9e, 0xde, 0x7d, 0x7c, 0xcd, 0x7f, 0x8c, 0x40, 0xb1, 0xd8, 0x11, - 0x44, 0x8f, 0xcc, 0x87, 0x54, 0x5f, 0xef, 0x3c, 0x6c, 0x0e, 0xe9, 0x8a, 0x32, 0xfd, 0x75, 0x5f, - 0xb5, 0x35, 0x50, 0x72, 0xea, 0xf1, 0x22, 0xc8, 0x13, 0x45, 0x10, 0xd4, 0xe2, 0xaa, 0xe6, 0x44, - 0xbf, 0x58, 0xbf, 0x28, 0x8f, 0xea, 0x40, 0xef, 0x3c, 0x66, 0x53, 0x85, 0xd2, 0x15, 0x17, 0x35, - 0xdd, 0xd4, 0x13, 0x3b, 0x1a, 0x1b, 0xe4, 0xce, 0x92, 0x8d, 0x1d, 0x48, 0xef, 0x46, 0xf7, 0x90, - 0xdc, 0x39, 0x66, 0x9c, 0x26, 0x72, 0x53, 0xe5, 0x40, 0x81, 0x0a, 0x04, 0xa2, 0x95, 0xd3, 0xc7, - 0xb4, 0x6a, 0xf8, 0xf2, 0x72, 0x24, 0xbe, 0x83, 0x32, 0x3b, 0x6a, 0xd2, 0xc3, 0x16, 0x0e, 0x0f, - 0xe6, 0xca, 0x23, 0x27, 0x02, 0x24, 0x55, 0xf9, 0x97, 0xde, 0xc4, 0x79, 0x24, 0x7c, 0xf3, 0xc8, - 0xe4, 0xf8, 0xfb, 0xbf, 0x7b, 0xbd, 0x39, 0x94, 0xbb, 0xb8, 0x6e, 0x72, 0x8f, 0xb9, 0xd3, 0x38, - 0xd6, 0x83, 0x6f, 0xf8, 0xe6, 0xfb, 0x67, 0xa7, 0x6a, 0xac, 0x3b, 0x00, 0x22, 0xda, 0x02, 0x44, - 0xec, 0x1e, 0x5f, 0xdd, 0xc3, 0x8b, 0x35, 0x25, 0x50, 0xba, 0xcd, 0xd1, 0x33, 0x98, 0xf4, 0xd7, - 0x4b, 0x25, 0x0e, 0x41, 0x22, 0x1c, 0x9d, 0x1f, 0xf0, 0xd9, 0xca, 0xc2, 0xb2, 0xd1, 0xa0, 0x44, - 0x8c, 0x66, 0x93, 0x3e, 0xb7, 0x82, 0x6f, 0xbd, 0xba, 0x00, 0xd9, 0x06, 0x6e, 0xea, 0xb4, 0x3f, - 0xfa, 0xdb, 0xf1, 0x89, 0xd1, 0x20, 0x77, 0x1f, 0x86, 0x1f, 0xf7, 0x00, 0x1a, 0xb4, 0x7f, 0x7f, - 0x6d, 0x9c, 0x18, 0xad, 0xdd, 0x30, 0x8d, 0x16, 0x85, 0x7a, 0x51, 0x7f, 0xf8, 0xf9, 0x3f, 0xf6, - 0xc0, 0xb4, 0x05, 0x9e, 0xc6, 0xbb, 0xdd, 0x30, 0x6d, 0x60, 0x0a, 0x19, 0xd7, 0x8d, 0x3d, 0x30, - 0xc0, 0xcf, 0xe9, 0xed, 0xa9, 0xa1, 0x37, 0xf6, 0xc0, 0x34, 0x68, 0xff, 0xea, 0xf6, 0xfc, 0xe4, - 0x44, 0x3f, 0xde, 0x03, 0xd4, 0xe2, 0x40, 0xc7, 0x27, 0x7a, 0x73, 0x0f, 0x50, 0x93, 0xf6, 0x6f, - 0xdf, 0x9d, 0x18, 0x7b, 0x40, 0x5a, 0xc0, 0xf4, 0x8d, 0x57, 0xbf, 0x99, 0x4e, 0xf7, 0xc0, 0x00, - 0xd3, 0xb7, 0x1f, 0xaf, 0xc9, 0xc7, 0xb9, 0x13, 0xb3, 0x3d, 0x60, 0x0d, 0x01, 0x76, 0x76, 0x76, - 0xbf, 0x07, 0xa8, 0x29, 0x80, 0x60, 0xd9, 0xf6, 0x00, 0xb5, 0x52, 0xa0, 0x3d, 0x6b, 0xdb, 0x6a, - 0xa7, 0x50, 0xd5, 0x22, 0xcd, 0xdf, 0xbf, 0x35, 0xed, 0x83, 0xa3, 0xa3, 0x0d, 0xf0, 0xe3, 0x0c, - 0xfc, 0x3c, 0x07, 0x7f, 0x74, 0x04, 0xe0, 0x6c, 0x0b, 0xfb, 0x09, 0x08, 0xe6, 0xfc, 0xfc, 0x16, - 0xc1, 0x89, 0xe2, 0xb1, 0xf8, 0xc9, 0x0f, 0x1f, 0xd4, 0xd7, 0x68, 0x9c, 0x80, 0xa4, 0x2e, 0x8c, - 0x5a, 0xd3, 0x28, 0x1f, 0x96, 0x90, 0x2a, 0x1f, 0x0b, 0xe2, 0x3b, 0x0d, 0xe3, 0x5f, 0x58, 0xbc, - 0x7f, 0xf0, 0x26, 0x9f, 0x27, 0x29, 0x9f, 0x1f, 0x4b, 0x19, 0xed, 0xd5, 0x85, 0x59, 0xf5, 0xd1, - 0x73, 0xc3, 0x57, 0x34, 0x6c, 0x67, 0x62, 0x52, 0xdb, 0x17, 0xd6, 0x29, 0x4d, 0x5a, 0xfa, 0xe2, - 0x8e, 0xcc, 0x0c, 0xfa, 0x67, 0x18, 0xfa, 0xc9, 0x4d, 0x38, 0x61, 0xe1, 0x96, 0x61, 0x9f, 0xdd, - 0xf0, 0xa1, 0xdb, 0x4b, 0x02, 0x32, 0xfb, 0x70, 0xb7, 0x67, 0x61, 0x41, 0x3c, 0x7b, 0x17, 0x1e, - 0x44, 0x30, 0xbc, 0xfb, 0xb0, 0xc7, 0x9c, 0x61, 0xfc, 0x70, 0xcf, 0x7b, 0xd0, 0x9b, 0xe1, 0x87, - 0xbb, 0x3d, 0x06, 0x01, 0xfc, 0x0d, 0xef, 0x4a, 0x85, 0x53, 0x07, 0xb9, 0xe4, 0xc5, 0x33, 0x71, - 0x66, 0x38, 0xc9, 0xa7, 0x2d, 0x01, 0xf1, 0xb8, 0xd4, 0x1f, 0x3d, 0x59, 0x41, 0x87, 0x14, 0xc5, - 0xf2, 0x51, 0x8a, 0x65, 0x5b, 0x28, 0xbf, 0xc0, 0x98, 0x94, 0xea, 0xb6, 0x4c, 0x3e, 0x92, 0x43, - 0x32, 0xdc, 0xf5, 0xbe, 0x21, 0xde, 0x7f, 0xd8, 0xf5, 0xbe, 0x29, 0xde, 0x67, 0xb3, 0x2a, 0x9d, - 0x13, 0xfe, 0x89, 0x02, 0xcb, 0xe3, 0x73, 0x0b, 0xa2, 0x89, 0xe0, 0x54, 0xb4, 0x27, 0x60, 0x00, - 0xbc, 0xe9, 0x93, 0x9e, 0xd8, 0x1f, 0xc5, 0xb3, 0x1f, 0x26, 0xf5, 0x96, 0x8b, 0x31, 0x0b, 0x69, - 0xe2, 0xca, 0x47, 0x42, 0x59, 0x70, 0xb4, 0x1b, 0x89, 0xcf, 0x32, 0x3a, 0xb8, 0x44, 0x54, 0x11, - 0x94, 0x60, 0x35, 0x0c, 0xb3, 0xc5, 0xac, 0x0e, 0x4d, 0xe1, 0x9d, 0x41, 0x13, 0x1e, 0xbf, 0x7f, - 0x4e, 0xc2, 0xb7, 0xa3, 0xf2, 0x80, 0xc0, 0x29, 0x99, 0x34, 0x5f, 0x7f, 0x20, 0xd2, 0xcf, 0x26, - 0x86, 0x87, 0x2e, 0xee, 0x1a, 0x74, 0x29, 0x49, 0x1a, 0x90, 0xa4, 0xde, 0x3f, 0xf4, 0xc6, 0x51, - 0xd0, 0xdd, 0x5e, 0x1e, 0x7b, 0xa7, 0xfe, 0x5e, 0xf1, 0x50, 0xd8, 0xd9, 0x3b, 0xa9, 0xb3, 0xe2, - 0x44, 0xe4, 0x0c, 0x0c, 0x39, 0x03, 0x9e, 0x68, 0xde, 0x0e, 0xd7, 0x34, 0x5b, 0xa9, 0x8c, 0xa5, - 0x74, 0x0a, 0xc8, 0x2b, 0x05, 0x0e, 0x85, 0xb0, 0xa5, 0x8d, 0xd5, 0xb7, 0x24, 0xae, 0x4b, 0x89, - 0xf3, 0xee, 0xf1, 0x5b, 0x04, 0xae, 0x0b, 0xde, 0x0a, 0x32, 0x6d, 0x36, 0x73, 0x1c, 0x48, 0xae, - 0xa3, 0x8d, 0xf8, 0xaa, 0xd2, 0x7a, 0x91, 0xb2, 0x21, 0x29, 0x4b, 0xa2, 0xfb, 0x68, 0x1a, 0x3b, - 0x68, 0xbe, 0x95, 0x54, 0xe3, 0xed, 0xa4, 0x1a, 0xff, 0x22, 0xa9, 0xe6, 0xdb, 0x49, 0x35, 0xff, - 0x45, 0x52, 0xad, 0xb7, 0x93, 0x6a, 0xfd, 0x53, 0xa4, 0x36, 0x74, 0x3a, 0xdc, 0xa9, 0xd3, 0xa8, - 0x5d, 0x19, 0x63, 0x90, 0xd7, 0x0b, 0xc6, 0x92, 0x5e, 0xa5, 0x64, 0x70, 0x43, 0xe7, 0x79, 0x27, - 0x7e, 0xec, 0x7f, 0x4b, 0x98, 0x3c, 0xfb, 0x2d, 0x99, 0x4e, 0xb9, 0xc7, 0x8b, 0xf6, 0x92, 0x1f, - 0x3d, 0x38, 0x01, 0x99, 0x3a, 0x21, 0x54, 0x0f, 0x98, 0xa3, 0xee, 0xb5, 0xaf, 0xd1, 0x55, 0x89, - 0x38, 0xa0, 0x6e, 0xa2, 0x99, 0x67, 0xdc, 0xb0, 0xa3, 0x9d, 0x4c, 0x4d, 0xf7, 0x32, 0x05, 0xd9, - 0x0b, 0xb9, 0x63, 0xd3, 0x90, 0x45, 0x99, 0xc1, 0x73, 0x09, 0x4d, 0x05, 0x03, 0xe5, 0x82, 0xb8, - 0x7b, 0xbf, 0x5f, 0x10, 0xd6, 0x5e, 0x9a, 0xa7, 0xcb, 0xd8, 0x3f, 0xb2, 0x2d, 0xd7, 0x5e, 0xba, - 0x56, 0xcc, 0xc8, 0x13, 0xe6, 0x46, 0x78, 0x8c, 0x13, 0xaa, 0x1e, 0x97, 0x4c, 0x43, 0x7f, 0x81, - 0x11, 0xb9, 0x23, 0x56, 0x2c, 0x1f, 0x24, 0x4e, 0x3f, 0x96, 0x05, 0x09, 0x7d, 0x5f, 0x88, 0x30, - 0xfa, 0xc3, 0xd0, 0x99, 0xcd, 0x63, 0x16, 0xee, 0x00, 0x68, 0xf4, 0x4f, 0x6d, 0x1b, 0x0f, 0xb4, - 0xed, 0xc2, 0xd0, 0xec, 0x9f, 0x2f, 0x2d, 0x77, 0x3b, 0x42, 0x08, 0xb7, 0x9a, 0x0a, 0x80, 0xff, - 0xfd, 0xd2, 0xb5, 0xa0, 0x76, 0x8b, 0x58, 0x18, 0x9f, 0x4e, 0xbe, 0x5a, 0x36, 0x54, 0x1b, 0x58, - 0xc4, 0x29, 0x74, 0xcc, 0xa0, 0x6e, 0x64, 0xcc, 0x9b, 0x50, 0xcd, 0x57, 0xd7, 0xb2, 0x9c, 0x50, - 0xe2, 0x4f, 0x47, 0x47, 0xce, 0xe7, 0x5a, 0x08, 0xf5, 0xfb, 0x23, 0x53, 0x54, 0x0d, 0xbe, 0xc9, - 0x86, 0x51, 0x75, 0xab, 0xcc, 0x73, 0x7a, 0x58, 0x8a, 0x1c, 0x19, 0xe5, 0xed, 0x87, 0xa3, 0x6d, - 0xf8, 0xfe, 0x76, 0xa7, 0xc2, 0x7b, 0x79, 0xe1, 0x7b, 0xca, 0x85, 0x6a, 0xe9, 0xec, 0xe6, 0x5a, - 0x01, 0x19, 0x42, 0xb9, 0xc4, 0xb7, 0x50, 0x45, 0x11, 0xe3, 0xec, 0xa9, 0x98, 0x6c, 0x7f, 0xf1, - 0x07, 0x3c, 0x0c, 0x57, 0x40, 0x33, 0x5f, 0x33, 0x41, 0xb5, 0x84, 0xcd, 0x39, 0x59, 0x1e, 0x15, - 0x8a, 0xa0, 0x6c, 0xc8, 0x5b, 0x4a, 0x21, 0x22, 0x22, 0xeb, 0x3e, 0xeb, 0xf8, 0x7b, 0x2e, 0xa4, - 0x7e, 0x7b, 0x53, 0x48, 0x3d, 0x6e, 0xb7, 0x9b, 0xed, 0x5c, 0x4c, 0x65, 0xeb, 0x0d, 0xfb, 0xc9, - 0xc5, 0x4c, 0x93, 0xd2, 0x34, 0x68, 0xbe, 0x21, 0x14, 0xfe, 0xfd, 0x2c, 0xc7, 0x8c, 0xbd, 0x37, - 0x2c, 0x6e, 0x72, 0xe1, 0xad, 0x0b, 0x54, 0x37, 0x2d, 0x5a, 0xda, 0xd5, 0x9f, 0xca, 0x32, 0x39, - 0x17, 0x32, 0x3d, 0x95, 0xfc, 0xfd, 0xff, 0xcb, 0x38, 0x13, 0x7b, 0xe3, 0x2e, 0x42, 0x5a, 0x9e, - 0xdc, 0x9f, 0x14, 0x9a, 0xe6, 0xb0, 0x88, 0xb7, 0x51, 0xf6, 0x9a, 0xa2, 0x25, 0xad, 0xed, 0x9b, - 0x4f, 0xab, 0x4e, 0xd2, 0xb3, 0x8d, 0xb5, 0x71, 0xec, 0xa1, 0x51, 0x80, 0x2e, 0xca, 0x33, 0x18, - 0x99, 0xbd, 0x80, 0xa9, 0xe2, 0xab, 0x1d, 0x87, 0x35, 0xcb, 0x8d, 0x04, 0x2c, 0x2b, 0x3d, 0x03, - 0xa7, 0x1f, 0x98, 0xb8, 0xd9, 0xa6, 0xb0, 0x4f, 0xde, 0x91, 0x91, 0xb3, 0x7c, 0x49, 0x12, 0x1e, - 0x0a, 0x92, 0x6a, 0x9e, 0x64, 0xc4, 0x62, 0x6e, 0xa4, 0xea, 0x33, 0x3a, 0x8d, 0x8d, 0x13, 0xdb, - 0x4c, 0x6c, 0x3d, 0xe0, 0x89, 0x10, 0x86, 0x5d, 0xc1, 0x37, 0xb1, 0xa4, 0xb2, 0x94, 0x74, 0x57, - 0x92, 0x2e, 0x9c, 0x64, 0x15, 0x8f, 0x80, 0x60, 0x2a, 0x53, 0x70, 0x14, 0xdb, 0x47, 0x9a, 0x7a, - 0x45, 0x5e, 0xca, 0x5d, 0x13, 0x8e, 0x06, 0x62, 0xdb, 0xa3, 0xb7, 0x1d, 0x54, 0xc1, 0x2f, 0x0d, - 0x63, 0x4f, 0x1c, 0xa5, 0x4d, 0x3c, 0x12, 0xc7, 0x06, 0xac, 0x45, 0xf9, 0xfe, 0x98, 0x66, 0x99, - 0xb8, 0x03, 0x52, 0x1d, 0xf1, 0x6d, 0x8c, 0x1a, 0xc6, 0x8e, 0xb3, 0xb9, 0x15, 0x9e, 0xf9, 0x13, - 0xa6, 0x60, 0xa3, 0x4b, 0x1f, 0xb4, 0x4e, 0x3a, 0xed, 0xb6, 0x5a, 0x05, 0x39, 0x39, 0x55, 0xf3, - 0xcb, 0x70, 0x19, 0xc7, 0x3e, 0x3f, 0x55, 0xb7, 0x16, 0x87, 0x11, 0xca, 0x0d, 0x9b, 0x1b, 0xed, - 0x51, 0x62, 0xb5, 0x50, 0xe7, 0x4b, 0x53, 0xfa, 0xfe, 0xd9, 0x5a, 0x6f, 0xe5, 0x21, 0x89, 0xb1, - 0x7f, 0x8b, 0x8a, 0x96, 0xdd, 0xff, 0xa2, 0x21, 0x49, 0x19, 0x27, 0x0a, 0x81, 0xec, 0xfb, 0x67, - 0x3a, 0xbc, 0x78, 0x13, 0xd7, 0x29, 0x9a, 0x2d, 0xdb, 0x85, 0x49, 0xe8, 0xa6, 0x19, 0x0f, 0x68, - 0xd2, 0xf9, 0xc1, 0x73, 0x15, 0xeb, 0xfe, 0xb9, 0xdc, 0x64, 0x48, 0xcd, 0xa6, 0x74, 0x78, 0x03, - 0x87, 0x37, 0x4a, 0x86, 0xdf, 0x2e, 0xa3, 0xf9, 0x98, 0x0b, 0x69, 0x3f, 0x82, 0x26, 0x22, 0x68, - 0xee, 0x40, 0x40, 0x1c, 0xb9, 0x27, 0xbc, 0x1f, 0x47, 0x0b, 0x71, 0xb4, 0x4a, 0x70, 0x8c, 0xf8, - 0x09, 0xb4, 0xfd, 0x83, 0xdb, 0x38, 0xb8, 0x5d, 0xc6, 0xc0, 0xe5, 0x1d, 0x89, 0x98, 0x17, 0xf9, - 0xe1, 0x7e, 0x04, 0xc7, 0x88, 0xe0, 0xb8, 0x04, 0xc1, 0xbd, 0xbf, 0x7c, 0x8d, 0xf8, 0x4f, 0x38, - 0xf6, 0xa7, 0x92, 0xb1, 0xa7, 0x9e, 0xe5, 0xfa, 0xb3, 0xfd, 0x83, 0x4f, 0x70, 0xf0, 0xc9, 0xce, - 0xc1, 0x3b, 0x84, 0x47, 0x53, 0xe7, 0x47, 0x05, 0x52, 0x9e, 0xcb, 0xca, 0xd0, 0x00, 0x09, 0x0c, - 0xcc, 0xb7, 0x43, 0x02, 0xdf, 0xf1, 0x20, 0xd5, 0xe9, 0x72, 0x1d, 0xe5, 0x47, 0x3e, 0x28, 0xde, - 0x8b, 0xf8, 0x11, 0xf5, 0xf6, 0x47, 0x35, 0x89, 0x6a, 0x87, 0xdf, 0x7d, 0x6b, 0xfc, 0x64, 0xb4, - 0xbb, 0x49, 0x52, 0x0e, 0x4e, 0x54, 0x6e, 0x8b, 0x6c, 0x9a, 0x57, 0xfe, 0xa0, 0x7a, 0x3c, 0x73, - 0x47, 0x0e, 0x3a, 0x05, 0xa5, 0x70, 0xa7, 0x84, 0xa9, 0x2f, 0x2f, 0x4a, 0xf1, 0x56, 0xc9, 0xe6, - 0xd1, 0xb5, 0xf4, 0x86, 0xc2, 0x33, 0xba, 0x2a, 0xe1, 0x3a, 0x0f, 0x0c, 0xcc, 0x38, 0xba, 0x10, - 0xe0, 0xf6, 0xb7, 0x66, 0x13, 0xcf, 0xe9, 0xe1, 0xfe, 0xfa, 0xf6, 0x16, 0x19, 0x77, 0x99, 0xea, - 0x9f, 0xe8, 0x4b, 0x7b, 0xc5, 0xf6, 0xf2, 0x41, 0xc9, 0xb6, 0x9b, 0x97, 0xe0, 0x43, 0x47, 0x8d, - 0x47, 0x1e, 0xf3, 0x95, 0xb6, 0xf7, 0x19, 0xdb, 0xca, 0x72, 0xdf, 0x2c, 0xd2, 0x29, 0x00, 0xe9, - 0xdb, 0x48, 0x70, 0x1f, 0x6c, 0x37, 0x0e, 0x9d, 0xe3, 0x10, 0x12, 0x8f, 0x9c, 0xdc, 0x99, 0x48, - 0xa6, 0x25, 0x42, 0xce, 0x84, 0xb7, 0x0c, 0xf0, 0x5a, 0xc6, 0x7b, 0xc7, 0xc5, 0x7b, 0x2c, 0xf2, - 0xb4, 0x9b, 0xc7, 0x9e, 0xc8, 0xdf, 0xaf, 0xaf, 0x7e, 0x8e, 0xe3, 0xe0, 0x0e, 0xb2, 0x07, 0x16, - 0xc5, 0x5d, 0x6f, 0xf7, 0x5d, 0x91, 0xdc, 0xfd, 0x86, 0xec, 0xf6, 0x45, 0x3c, 0x77, 0xf0, 0x94, - 0x52, 0x14, 0xf8, 0x10, 0x23, 0xef, 0xd9, 0xb7, 0x58, 0xe3, 0x4f, 0x80, 0xcd, 0x78, 0x19, 0xe1, - 0x71, 0x0c, 0x98, 0xa4, 0x0a, 0xb1, 0x6b, 0xf7, 0x3d, 0x92, 0x0c, 0x2f, 0xcb, 0x23, 0xc6, 0x93, - 0xc1, 0x96, 0xfd, 0xa0, 0x1d, 0x24, 0x08, 0xc4, 0x35, 0x9f, 0xdb, 0x1b, 0x58, 0x4d, 0x8d, 0xd6, - 0xc5, 0x74, 0xe4, 0x9e, 0x4b, 0xcc, 0x67, 0xf2, 0xde, 0x0f, 0x17, 0x78, 0xc2, 0x2c, 0x3d, 0xa1, - 0x28, 0xef, 0xc1, 0x28, 0x14, 0xcf, 0x25, 0xcb, 0x83, 0xb2, 0xfc, 0x88, 0x32, 0x5e, 0x4c, 0x89, - 0x40, 0x7c, 0x78, 0x37, 0xc5, 0xab, 0x45, 0x08, 0x13, 0xab, 0x5a, 0xc9, 0x11, 0xe6, 0x83, 0x8d, - 0x5b, 0x3e, 0x67, 0xd3, 0x59, 0x2a, 0x3d, 0x2d, 0xee, 0xd2, 0xe4, 0x25, 0x05, 0x2b, 0x04, 0xc7, - 0x0f, 0x71, 0x53, 0xde, 0x49, 0x42, 0x39, 0xdf, 0x31, 0x0b, 0x52, 0xaa, 0x01, 0xcc, 0x84, 0xd3, - 0x1b, 0xb0, 0x94, 0xee, 0x40, 0xc1, 0x58, 0x9e, 0x72, 0xa1, 0x48, 0xfe, 0xd3, 0x31, 0x78, 0xd2, - 0x0a, 0xc9, 0x99, 0x79, 0xd1, 0x60, 0x68, 0xc6, 0x61, 0xa0, 0x00, 0xa0, 0x94, 0x28, 0xf3, 0xa5, - 0x1b, 0xcb, 0xe9, 0xf3, 0xfb, 0x04, 0x5c, 0x79, 0x14, 0x8f, 0xef, 0x23, 0xc4, 0xb5, 0xf9, 0x13, - 0xdf, 0xa4, 0xc1, 0x0f, 0xa0, 0xfb, 0x93, 0xcc, 0x66, 0xc4, 0x81, 0x13, 0x43, 0xe7, 0x47, 0x4d, - 0x92, 0x6d, 0x0e, 0xd0, 0xe6, 0x6e, 0x02, 0x8a, 0xe9, 0x4e, 0x0d, 0xa0, 0x2f, 0x2c, 0x7b, 0xae, - 0xc8, 0xd8, 0x69, 0xf6, 0x9f, 0x13, 0x50, 0x43, 0x64, 0x0a, 0x19, 0x2a, 0x56, 0x0b, 0x1c, 0x2f, - 0x7f, 0x7e, 0xa5, 0xcc, 0x6a, 0xbe, 0xf0, 0x3a, 0x14, 0xe3, 0xd9, 0x97, 0xdc, 0xc1, 0x2a, 0x3e, - 0xf4, 0x93, 0xf3, 0xb9, 0xbb, 0x73, 0x1f, 0xc7, 0x2b, 0x40, 0xa3, 0x90, 0xb5, 0x9d, 0xfb, 0x4b, - 0x45, 0x58, 0x6e, 0x29, 0xda, 0x5b, 0xce, 0xb4, 0x8a, 0xbc, 0xaa, 0x1c, 0xf4, 0xec, 0x66, 0x13, - 0xd4, 0xc7, 0x44, 0x59, 0x7b, 0xcb, 0x91, 0x57, 0x64, 0x02, 0x4a, 0xf5, 0x72, 0xd8, 0xbb, 0xf7, - 0x09, 0x6c, 0x6a, 0xb5, 0xb0, 0xa6, 0xd3, 0x1d, 0x5c, 0xfc, 0x56, 0x06, 0xfc, 0xb8, 0x56, 0xd7, - 0xc9, 0x12, 0x43, 0x7a, 0x04, 0x2e, 0x22, 0x4d, 0xf2, 0xf0, 0xea, 0x92, 0x78, 0x9a, 0xae, 0x24, - 0x13, 0x6b, 0xc8, 0x33, 0x32, 0x29, 0x1c, 0x31, 0x6f, 0x39, 0x25, 0x6e, 0x66, 0x7c, 0x14, 0x78, - 0xef, 0xa4, 0xfc, 0x4a, 0xbe, 0x77, 0x8b, 0x67, 0x5b, 0x78, 0x75, 0xaa, 0x26, 0x47, 0x10, 0xb7, - 0xbc, 0x3d, 0xc5, 0xe3, 0xf5, 0xbb, 0xd5, 0x08, 0x53, 0x32, 0x24, 0x8b, 0x6b, 0x8f, 0x46, 0xc8, - 0x97, 0x15, 0x6f, 0x42, 0x95, 0xce, 0xfd, 0xfe, 0x9e, 0xe6, 0x44, 0x6a, 0xd5, 0xe2, 0x78, 0xcd, - 0xb9, 0x72, 0xc2, 0x5d, 0xc7, 0xf7, 0x2e, 0xef, 0xf2, 0x23, 0x24, 0x30, 0x52, 0x2b, 0x27, 0x70, - 0x79, 0x5f, 0x06, 0xce, 0x79, 0x12, 0xf2, 0x08, 0x19, 0x24, 0x9a, 0xbb, 0x88, 0xdd, 0x5d, 0x6d, - 0x8d, 0xe6, 0xf0, 0xbb, 0xe9, 0xdd, 0x5d, 0xd3, 0xc2, 0x52, 0xe6, 0xc6, 0x40, 0xc8, 0x4e, 0x6a, - 0x05, 0x0d, 0x4d, 0xdc, 0x9a, 0x9c, 0x46, 0xe8, 0x54, 0xc1, 0xaa, 0xd5, 0x8e, 0xbc, 0x54, 0x73, - 0xeb, 0x32, 0x3c, 0x7b, 0x2e, 0xf3, 0x40, 0x8b, 0xa0, 0xed, 0xf3, 0xab, 0x76, 0xa2, 0x25, 0x74, - 0x40, 0x53, 0xc8, 0x7b, 0xf0, 0xc4, 0x64, 0x1c, 0xfa, 0x4f, 0x50, 0xbd, 0x90, 0x89, 0xcf, 0x22, - 0xbc, 0x5c, 0x84, 0xdb, 0xd7, 0x7e, 0x08, 0x89, 0xea, 0x9c, 0x91, 0x2f, 0xdc, 0x05, 0x7d, 0x21, - 0x41, 0x08, 0xce, 0x15, 0x22, 0x0a, 0x26, 0xfe, 0x1c, 0x13, 0xcf, 0x65, 0x23, 0x7e, 0x41, 0x27, - 0x3b, 0x74, 0x9a, 0xa1, 0x65, 0x02, 0xea, 0xf4, 0xf6, 0x92, 0x38, 0x79, 0xa4, 0xbc, 0x27, 0x4b, - 0xe2, 0x3c, 0xd9, 0x15, 0xb8, 0xaa, 0xfc, 0x4d, 0xcc, 0x11, 0x44, 0x0f, 0x8a, 0xa3, 0x3b, 0xe0, - 0x33, 0xa5, 0xb3, 0x74, 0x7d, 0x9b, 0xdf, 0xfd, 0xa8, 0x01, 0x1f, 0xb1, 0x6f, 0xfb, 0x78, 0x2e, - 0x93, 0xdf, 0x1f, 0xd5, 0x35, 0x85, 0xdf, 0x65, 0x35, 0x11, 0xc2, 0x1d, 0xc5, 0x7e, 0x68, 0xcd, - 0x18, 0x8a, 0xf4, 0x32, 0x66, 0x0b, 0x8c, 0x4b, 0xf6, 0x65, 0x00, 0x55, 0x08, 0x24, 0x0e, 0x02, - 0x0c, 0xc6, 0x2f, 0x02, 0xe0, 0x10, 0x3d, 0x29, 0xb9, 0x86, 0x2c, 0xb8, 0x46, 0xa4, 0xb4, 0x18, - 0xa6, 0x33, 0xe4, 0x23, 0x1e, 0x73, 0xb8, 0xbc, 0x05, 0x11, 0x69, 0x05, 0x8c, 0x51, 0x11, 0xa3, - 0xc6, 0xb1, 0xa9, 0x2a, 0x42, 0xf1, 0x9b, 0x9d, 0x88, 0x7e, 0xc0, 0x6f, 0xac, 0x76, 0xea, 0x75, - 0x5a, 0xe5, 0xaf, 0xf1, 0xcc, 0x43, 0x35, 0xbb, 0x75, 0x5a, 0x8f, 0x6a, 0x5f, 0xa3, 0x41, 0x60, - 0x36, 0x30, 0x68, 0xa8, 0xeb, 0x0a, 0xe4, 0x44, 0xe2, 0x46, 0x6e, 0x8f, 0xa7, 0x56, 0xfd, 0x7f, - 0x73, 0x16, 0x5c, 0xec, 0xcb, 0xd0, 0x85, 0x60, 0x2d, 0x0e, 0x76, 0x44, 0x78, 0x66, 0x00, 0x00, - 0x39, 0x40, 0xaf, 0x2e, 0xae, 0x22, 0xe3, 0x05, 0x4e, 0x22, 0xdd, 0x3f, 0x1d, 0xf1, 0x7e, 0x1c, - 0x18, 0xd1, 0xa2, 0xc2, 0x0b, 0x72, 0xfc, 0xf4, 0x47, 0x94, 0xf6, 0xf6, 0xa6, 0x50, 0x58, 0xb0, - 0x78, 0xee, 0x63, 0x87, 0xd4, 0x8f, 0xf0, 0x86, 0x70, 0xae, 0x59, 0x12, 0xfb, 0x20, 0x8e, 0xa7, - 0xe2, 0xb3, 0x39, 0x73, 0x83, 0x21, 0xed, 0x57, 0x7a, 0x22, 0x35, 0x97, 0xd5, 0x8a, 0xf8, 0x92, - 0xcb, 0xf5, 0x7e, 0x46, 0xb2, 0x83, 0x5e, 0x5d, 0xbc, 0x48, 0xdb, 0xea, 0x65, 0x63, 0x2a, 0xe9, - 0xa0, 0x21, 0x0e, 0x1a, 0x42, 0xc8, 0xce, 0xc6, 0x15, 0x46, 0xc8, 0x9b, 0x09, 0xfd, 0x91, 0xf5, - 0xc8, 0x32, 0x90, 0x79, 0x52, 0x78, 0xf7, 0xe6, 0x8d, 0x7e, 0x05, 0xd7, 0xe7, 0xd0, 0x5a, 0x04, - 0x5d, 0xf2, 0xb3, 0x15, 0xe2, 0x49, 0x18, 0xd4, 0xf3, 0x78, 0x19, 0x80, 0x70, 0x1a, 0x90, 0x4f, - 0xc7, 0x96, 0x9b, 0x74, 0x3c, 0xd3, 0x0e, 0xac, 0x6b, 0x73, 0x56, 0x65, 0x33, 0x3f, 0xeb, 0x18, - 0xdb, 0x38, 0xcd, 0x2c, 0x31, 0xed, 0x39, 0xfd, 0x3b, 0x06, 0xee, 0x10, 0x2c, 0x71, 0x02, 0x6a, - 0x1a, 0xf8, 0x4f, 0xa0, 0x0f, 0xf2, 0x28, 0x07, 0x9e, 0xc5, 0x18, 0x8b, 0xee, 0x5e, 0x14, 0x8b, - 0x2e, 0x62, 0xa7, 0x57, 0x77, 0xc4, 0xb8, 0xb1, 0xec, 0xf6, 0x56, 0xc4, 0xa6, 0xcd, 0x32, 0xa3, - 0x86, 0x67, 0x5f, 0x8a, 0xdd, 0x60, 0x7e, 0xea, 0x42, 0x36, 0x13, 0x52, 0xca, 0x95, 0x0b, 0x0f, - 0x0b, 0x29, 0x62, 0x2d, 0x21, 0xd9, 0x05, 0x3d, 0xb7, 0x25, 0x2d, 0x8f, 0x45, 0x11, 0x71, 0xf1, - 0xae, 0x27, 0x0b, 0x5f, 0x69, 0x17, 0x9f, 0x0e, 0x99, 0x14, 0xb5, 0xac, 0x17, 0xe5, 0x8d, 0x17, - 0xd1, 0x2b, 0xe2, 0x17, 0x62, 0x04, 0xd5, 0xa4, 0x7b, 0x8a, 0xb7, 0x8c, 0xfa, 0xd7, 0xe2, 0x86, - 0x39, 0x39, 0x5b, 0x86, 0x21, 0xe8, 0x7f, 0x4a, 0x43, 0xde, 0x2b, 0xbf, 0x3e, 0xa5, 0x1b, 0xd5, - 0xea, 0x46, 0xb3, 0xa9, 0xd1, 0xce, 0x9a, 0x5e, 0xba, 0xbe, 0xd5, 0x27, 0x4e, 0x1b, 0x4e, 0xfd, - 0x0a, 0x59, 0x9c, 0x16, 0xc9, 0x67, 0x37, 0x27, 0xd2, 0xca, 0x02, 0x9b, 0x4c, 0x1d, 0x71, 0x3a, - 0xa9, 0x5b, 0xdc, 0xc6, 0xab, 0x1c, 0x7e, 0xf7, 0xee, 0xe4, 0xe4, 0xa4, 0x4b, 0xfe, 0xdd, 0x5f, - 0x86, 0xc5, 0x95, 0x01, 0x0d, 0x7e, 0xc4, 0x96, 0x00, 0x99, 0x83, 0xc4, 0x88, 0x2d, 0x26, 0x52, - 0xe3, 0x52, 0xbd, 0xf7, 0x09, 0x98, 0x14, 0xbc, 0x67, 0xdc, 0x95, 0x45, 0xd6, 0x94, 0x09, 0x07, - 0xb6, 0x42, 0x2c, 0x5c, 0x6b, 0x34, 0x04, 0x0c, 0x84, 0x03, 0x58, 0x46, 0x08, 0x07, 0x8a, 0x4a, - 0x6c, 0x94, 0x57, 0xc4, 0xdf, 0x55, 0x16, 0x90, 0x42, 0x39, 0x00, 0x21, 0xa9, 0x3a, 0xde, 0x57, - 0x26, 0x6f, 0xd3, 0x62, 0x01, 0x14, 0x11, 0xcb, 0x9b, 0x80, 0x87, 0x9d, 0xc2, 0xe0, 0x83, 0xac, - 0x45, 0x04, 0xaa, 0x54, 0x39, 0x4d, 0x16, 0xd3, 0x72, 0x81, 0x4d, 0xbe, 0x8a, 0x51, 0x7e, 0x5d, - 0x63, 0x1f, 0xdb, 0x87, 0x2b, 0x10, 0xa9, 0x1f, 0xf1, 0x4b, 0x6a, 0xc8, 0x23, 0x07, 0x13, 0xdc, - 0xff, 0x8d, 0xb1, 0x80, 0x58, 0x31, 0x39, 0x84, 0x14, 0xce, 0x38, 0x25, 0xce, 0x54, 0x70, 0x80, - 0x07, 0xac, 0xf8, 0x11, 0xaa, 0x09, 0x08, 0xd6, 0x8e, 0x51, 0x37, 0xb1, 0x8b, 0x8d, 0x83, 0xb3, - 0x33, 0x4c, 0x9c, 0x95, 0xca, 0x25, 0x9f, 0x29, 0xbf, 0x52, 0x99, 0xde, 0x6d, 0x83, 0x48, 0xc1, - 0x42, 0x28, 0xfe, 0x0a, 0x42, 0xd4, 0xa4, 0xf3, 0x43, 0x0e, 0xf1, 0xbe, 0xb5, 0x37, 0x13, 0x2c, - 0x28, 0x52, 0x2f, 0x08, 0x28, 0x3d, 0xde, 0x6e, 0x06, 0xab, 0x58, 0x46, 0xe0, 0x0d, 0x13, 0xe3, - 0x92, 0xda, 0x10, 0xa0, 0x0f, 0x59, 0x7a, 0x0f, 0x9e, 0xff, 0xe4, 0x49, 0xad, 0x56, 0x33, 0xe3, - 0x08, 0x85, 0xcd, 0x3e, 0xfa, 0x6e, 0x8c, 0x17, 0xb5, 0x95, 0x6b, 0x3c, 0x4c, 0x26, 0xd7, 0x89, - 0xdb, 0x95, 0x45, 0x90, 0x39, 0x90, 0x30, 0x80, 0xa9, 0x25, 0xad, 0x78, 0x7e, 0x70, 0x6b, 0x43, - 0xb7, 0xf1, 0xb2, 0xda, 0xd6, 0x0e, 0x2e, 0x6e, 0x59, 0x24, 0x65, 0xae, 0x99, 0x15, 0xbc, 0x7d, - 0x90, 0x89, 0xbc, 0x67, 0x45, 0x94, 0x76, 0x7b, 0x71, 0xaa, 0x56, 0x76, 0x6e, 0xd2, 0xb6, 0x39, - 0x34, 0x9b, 0x4e, 0x1d, 0x1b, 0x8f, 0x05, 0x12, 0xa5, 0x89, 0xf0, 0x3b, 0xc1, 0x75, 0x50, 0x4d, - 0x3c, 0x03, 0xa6, 0x34, 0xf5, 0x3d, 0x60, 0xb8, 0x97, 0xd2, 0x97, 0x27, 0xc6, 0x14, 0xa3, 0xb1, - 0x07, 0x12, 0xcf, 0xa6, 0x54, 0xce, 0x78, 0xcd, 0x5b, 0xb2, 0x4f, 0x5c, 0x70, 0x24, 0xe2, 0xb2, - 0x58, 0xf9, 0xae, 0xb7, 0x44, 0x21, 0xce, 0xed, 0x25, 0xa2, 0xc6, 0x23, 0x77, 0x20, 0xe1, 0xd4, - 0xc6, 0x13, 0xe1, 0xd2, 0xb2, 0x86, 0x54, 0x61, 0x1b, 0x88, 0xfb, 0x35, 0xd7, 0xda, 0x6d, 0xdd, - 0x89, 0x71, 0x27, 0x3b, 0x6f, 0x99, 0xf2, 0x26, 0x72, 0x77, 0x72, 0xaa, 0xe8, 0x45, 0x4b, 0xf8, - 0x63, 0x8d, 0x7d, 0x60, 0x82, 0x5b, 0x22, 0xd2, 0x47, 0xb3, 0x44, 0xb5, 0xae, 0xa5, 0x8a, 0x23, - 0x5d, 0x7e, 0xb3, 0x5f, 0xd9, 0x72, 0xf4, 0xcd, 0xcc, 0x8f, 0xe0, 0xb1, 0x28, 0xfe, 0x73, 0x17, - 0xe2, 0x34, 0x61, 0xd4, 0x49, 0xc6, 0x95, 0x77, 0xfe, 0x77, 0x84, 0x35, 0xc4, 0x54, 0xcd, 0x45, - 0xb7, 0xb4, 0x90, 0xc1, 0x48, 0x4d, 0xfb, 0xd5, 0x34, 0x18, 0x91, 0x64, 0x7c, 0x65, 0x1b, 0xc1, - 0x51, 0x09, 0x82, 0x23, 0x89, 0xe1, 0x28, 0x17, 0xf1, 0x42, 0xce, 0xef, 0x35, 0x3f, 0x4a, 0x49, - 0x7e, 0x15, 0xf6, 0x54, 0xc9, 0x16, 0x76, 0x01, 0x3a, 0xa0, 0x27, 0xd1, 0xaa, 0x9e, 0x8b, 0x57, - 0x0b, 0x23, 0x17, 0xc6, 0x86, 0x05, 0x6f, 0xca, 0x8f, 0xb9, 0x92, 0x4a, 0x69, 0xf7, 0xfe, 0x68, - 0x0c, 0xc9, 0xc8, 0x43, 0x57, 0x88, 0xc1, 0xd0, 0x41, 0x0c, 0xdd, 0x39, 0x43, 0x2f, 0x04, 0x5f, - 0xe0, 0xf3, 0x98, 0x67, 0xf6, 0x47, 0x78, 0x0e, 0x76, 0x19, 0x75, 0x1a, 0x5c, 0x4a, 0x42, 0x86, - 0x95, 0x02, 0x89, 0xdc, 0xb1, 0xd3, 0x3f, 0xe9, 0xb0, 0x41, 0xa3, 0x80, 0x1a, 0x09, 0x97, 0x30, - 0x0d, 0x4f, 0x78, 0xbd, 0xb1, 0xe3, 0x3a, 0xe8, 0x8a, 0x43, 0xe2, 0x5a, 0x33, 0x48, 0x10, 0xa3, - 0x25, 0x8b, 0xb8, 0xcb, 0xf9, 0x15, 0x5c, 0xa1, 0xcb, 0xbd, 0x23, 0x98, 0x3a, 0xc9, 0x85, 0xd5, - 0xe4, 0x9c, 0x6a, 0xbf, 0xe4, 0x08, 0x69, 0x22, 0x13, 0x74, 0x26, 0xe8, 0x07, 0xc7, 0x18, 0xa3, - 0xd9, 0x37, 0x00, 0x00, 0x1b, 0xb6, 0x0b, 0x7e, 0x19, 0xd4, 0xa2, 0x52, 0xa6, 0x17, 0xd7, 0xd6, - 0x03, 0x43, 0x47, 0xc4, 0x66, 0x8b, 0xc4, 0x2d, 0x31, 0x28, 0x4a, 0x24, 0x81, 0x9d, 0xb1, 0x37, - 0x89, 0x93, 0x23, 0x11, 0x5c, 0xa5, 0xd9, 0x8d, 0x97, 0x91, 0xd8, 0x19, 0x82, 0xf9, 0x4e, 0x1c, - 0x9b, 0x45, 0xbb, 0xc7, 0x67, 0x3e, 0x4d, 0xb4, 0x63, 0x78, 0x67, 0x44, 0x66, 0xfd, 0x32, 0x76, - 0x47, 0x8e, 0x40, 0x8e, 0xa2, 0x99, 0xb9, 0xfe, 0x58, 0x24, 0x38, 0x40, 0x64, 0x3a, 0xcd, 0x65, - 0x05, 0x95, 0xf2, 0xb4, 0xe0, 0xea, 0x5c, 0x86, 0xfd, 0x1d, 0xf6, 0xc0, 0x97, 0xb7, 0x22, 0xce, - 0x19, 0xc1, 0x62, 0xfe, 0xc1, 0x95, 0xe1, 0x8f, 0x85, 0x15, 0x04, 0xb8, 0xd0, 0xf9, 0x7d, 0x1f, - 0x92, 0x34, 0xdf, 0x3b, 0xb9, 0xa3, 0x49, 0xd9, 0x0e, 0xc8, 0x6b, 0x02, 0xde, 0x6d, 0x77, 0x49, - 0xcf, 0xbf, 0x60, 0x3c, 0xbc, 0x40, 0x05, 0xc3, 0xab, 0x6c, 0x5b, 0x5e, 0x39, 0x06, 0xec, 0xfb, - 0x67, 0x18, 0x92, 0xcd, 0x93, 0x4d, 0xc3, 0xab, 0xec, 0xf7, 0x0e, 0xe9, 0xcc, 0x78, 0xb9, 0x2a, - 0xa7, 0xc4, 0x7b, 0xb4, 0xa0, 0x57, 0xb8, 0x6d, 0xed, 0xbb, 0x93, 0x4d, 0x89, 0x6f, 0x64, 0x46, - 0x9b, 0x9b, 0x81, 0x86, 0x9e, 0x76, 0xf4, 0xa1, 0x4a, 0xcd, 0x5c, 0x26, 0x72, 0x73, 0x79, 0x57, - 0xd8, 0x18, 0xa8, 0xbc, 0x71, 0x67, 0x00, 0x6a, 0xd7, 0x3d, 0xfb, 0x02, 0x69, 0xf0, 0x94, 0xba, - 0x09, 0xa5, 0xeb, 0x26, 0x74, 0xc9, 0xc9, 0xa7, 0x3b, 0xf0, 0x46, 0x31, 0x23, 0x93, 0xcd, 0x8e, - 0x7e, 0x02, 0x59, 0xc9, 0xf6, 0xe9, 0x1a, 0xad, 0xa3, 0x07, 0xb6, 0x2a, 0x9c, 0x0c, 0xdc, 0xde, - 0xac, 0x93, 0x40, 0xfc, 0x28, 0x75, 0xee, 0xcc, 0xdf, 0x26, 0xba, 0x26, 0x1e, 0xe9, 0xe4, 0x90, - 0x63, 0xfc, 0x41, 0x8a, 0x1d, 0xf8, 0xf0, 0xe0, 0xe7, 0x6e, 0xa2, 0x95, 0x6c, 0x0b, 0xaf, 0x61, - 0xbc, 0xc6, 0xda, 0x31, 0xed, 0x1f, 0x4b, 0x7a, 0xbc, 0x0c, 0xd9, 0x81, 0xeb, 0x27, 0xda, 0x7f, - 0xc7, 0xc1, 0xc2, 0x12, 0x59, 0xa4, 0xbd, 0xf5, 0x3e, 0xaf, 0xab, 0x43, 0x2e, 0xba, 0x92, 0x70, - 0x8d, 0x4e, 0xa9, 0xb2, 0xd1, 0x36, 0x97, 0x5d, 0xf3, 0x4c, 0x55, 0x7f, 0xc4, 0xa6, 0x39, 0x6f, - 0x47, 0xfc, 0xb8, 0xbb, 0x65, 0x5e, 0x39, 0xe5, 0xa9, 0x2e, 0xe8, 0x8b, 0x58, 0x47, 0xcc, 0x16, - 0x17, 0x96, 0xe3, 0xa5, 0xfe, 0x0a, 0x7f, 0x2b, 0xe3, 0x95, 0x02, 0xe1, 0x7a, 0x74, 0x93, 0x55, - 0x00, 0xa2, 0x54, 0xe4, 0x87, 0xbc, 0xcb, 0x33, 0x88, 0xb4, 0x63, 0xb0, 0x81, 0x95, 0xff, 0x5e, - 0x8f, 0xc4, 0xc8, 0x5b, 0xa6, 0xa4, 0x62, 0xd9, 0x36, 0x0b, 0x20, 0x27, 0xa8, 0x71, 0x74, 0x3b, - 0x0c, 0x3d, 0xb1, 0x8e, 0x85, 0x9b, 0xab, 0x07, 0x7f, 0xcc, 0x35, 0x9c, 0x69, 0xdd, 0x09, 0x05, - 0x06, 0x10, 0xc4, 0xaf, 0xfc, 0x79, 0xc1, 0x72, 0xa5, 0xe1, 0x5a, 0xa4, 0x02, 0x86, 0x38, 0x35, - 0x4b, 0x7f, 0x1b, 0x8a, 0x8b, 0x76, 0x6a, 0x81, 0xc3, 0x85, 0x8f, 0xd3, 0x10, 0x32, 0x86, 0x49, - 0x1d, 0xb2, 0x1b, 0xde, 0x0c, 0x35, 0xe9, 0x1f, 0xb0, 0xe4, 0xde, 0x03, 0x45, 0xab, 0x83, 0xb7, - 0x7e, 0xaf, 0x6e, 0x09, 0xd9, 0xde, 0x61, 0x5b, 0xe5, 0xed, 0x3b, 0x74, 0x78, 0x4e, 0x48, 0x1e, - 0x4c, 0xb9, 0xda, 0xb6, 0xc3, 0x4a, 0xce, 0x10, 0x89, 0xb8, 0xae, 0xb8, 0x7f, 0x59, 0xee, 0xae, - 0x69, 0x52, 0x3d, 0xbe, 0x49, 0x53, 0xb0, 0x97, 0xb4, 0x47, 0x53, 0x76, 0xfb, 0x5f, 0x48, 0x9a, - 0xe4, 0x8f, 0x6c, 0x44, 0x3c, 0x83, 0xba, 0xc7, 0xfe, 0x37, 0x0f, 0xa4, 0xb8, 0x09, 0x3a, 0xc5, - 0xf4, 0x5f, 0x94, 0x04, 0xcb, 0xa0, 0xce, 0x7b, 0x84, 0xaf, 0x85, 0x96, 0xa1, 0xd4, 0x27, 0x89, - 0x35, 0x57, 0xda, 0x6c, 0xa4, 0x98, 0x67, 0x90, 0x62, 0x96, 0x3b, 0xcb, 0x45, 0x59, 0xb6, 0x99, - 0x65, 0x95, 0x8a, 0x7e, 0x04, 0x4f, 0xd4, 0xa4, 0x8c, 0x38, 0x95, 0xf5, 0x1e, 0x32, 0x07, 0x09, - 0x53, 0x9e, 0xc4, 0xf0, 0x76, 0x47, 0xa1, 0xba, 0x4d, 0x41, 0x2f, 0x54, 0xa5, 0x90, 0xa2, 0x8e, - 0x7d, 0x1f, 0xf2, 0x7c, 0x1d, 0xcb, 0xbf, 0x28, 0xc9, 0x57, 0xa3, 0x94, 0x28, 0x46, 0xdd, 0x0f, - 0xd6, 0x62, 0x61, 0x11, 0xdb, 0x0f, 0x43, 0x59, 0xfa, 0x61, 0x7a, 0x20, 0x92, 0x9f, 0x57, 0x64, - 0xf4, 0x01, 0x92, 0x53, 0xa2, 0x44, 0x71, 0xe8, 0x43, 0x81, 0x83, 0xde, 0x24, 0x6d, 0x2f, 0x70, - 0x02, 0x95, 0x9d, 0xd8, 0x4b, 0x84, 0xb9, 0x83, 0x02, 0xf6, 0x6a, 0x88, 0x82, 0x3f, 0xd2, 0xb3, - 0x89, 0x1d, 0xff, 0x0d, 0xb3, 0x7a, 0x13, 0x0c, 0x23, 0xce, 0x71, 0x2c, 0x05, 0xf7, 0x7e, 0x53, - 0x70, 0x95, 0x0d, 0xc9, 0x19, 0xe5, 0x6b, 0xf3, 0x03, 0x2a, 0xd4, 0x3d, 0xa4, 0x7e, 0x91, 0x83, - 0x4c, 0x0b, 0x9d, 0x3a, 0x0b, 0xfd, 0x28, 0x9a, 0x5a, 0x13, 0xf6, 0x9a, 0x5c, 0xee, 0xdf, 0x0b, - 0xdd, 0xc9, 0x10, 0x10, 0xfc, 0x8d, 0xac, 0x0d, 0xe6, 0xee, 0xcf, 0x77, 0x31, 0xf7, 0xcd, 0xdd, - 0x3e, 0x73, 0x83, 0x3f, 0xb2, 0x47, 0x16, 0x11, 0xa2, 0x95, 0xed, 0x94, 0x5b, 0xcb, 0x65, 0x31, - 0x44, 0xb5, 0x38, 0x63, 0xf3, 0x35, 0xc6, 0x6e, 0xdf, 0x0b, 0x53, 0x41, 0x6e, 0x26, 0x50, 0x8d, - 0x83, 0xf0, 0xf8, 0xcc, 0x12, 0x25, 0x3f, 0x97, 0xbf, 0x47, 0xb6, 0xd9, 0x29, 0xb9, 0xbf, 0x7a, - 0x45, 0x01, 0x77, 0x88, 0x11, 0xde, 0x71, 0x45, 0x48, 0xf0, 0xdf, 0x73, 0x67, 0xb5, 0xdb, 0x96, - 0xee, 0x87, 0xaf, 0x2b, 0x7a, 0xa5, 0x84, 0x10, 0x12, 0xc1, 0x6e, 0xe7, 0xe6, 0x59, 0xe8, 0xfb, - 0x8f, 0x65, 0xd9, 0xc0, 0x47, 0xcb, 0x89, 0x79, 0x63, 0x03, 0x2c, 0xad, 0xb2, 0xe7, 0x40, 0xf4, - 0x7b, 0x58, 0xea, 0x3d, 0x49, 0x00, 0xbe, 0x26, 0x3c, 0x85, 0x4c, 0x81, 0x2a, 0xdb, 0xe7, 0x76, - 0x46, 0x4b, 0x2f, 0x74, 0xa2, 0xb2, 0x00, 0x0a, 0x72, 0xe7, 0x77, 0x19, 0xf0, 0x27, 0x7d, 0xa0, - 0x4a, 0xc2, 0x48, 0xc7, 0x17, 0xa3, 0x22, 0x9e, 0x0e, 0x2d, 0x70, 0xe8, 0x36, 0xcb, 0x99, 0xce, - 0x6b, 0x47, 0x2a, 0xcf, 0xee, 0xf3, 0x87, 0x33, 0x13, 0x65, 0x7a, 0xb2, 0x69, 0xff, 0x83, 0x48, - 0xac, 0x7d, 0x99, 0xe3, 0x72, 0x1b, 0x2c, 0x3b, 0x3a, 0x58, 0x7a, 0x52, 0x90, 0x6e, 0x4d, 0x8b, - 0x57, 0xfc, 0xe7, 0xbb, 0x92, 0xa9, 0x57, 0x0e, 0x9c, 0xe7, 0x72, 0xad, 0x57, 0x0e, 0x14, 0xa2, - 0x90, 0x5f, 0x39, 0x52, 0x88, 0x12, 0xae, 0x94, 0x9f, 0x2a, 0xe4, 0x15, 0x4b, 0x3a, 0x3d, 0x10, - 0x4e, 0x76, 0x1e, 0xf2, 0x95, 0x7a, 0xe7, 0xec, 0x4e, 0xd6, 0x3b, 0x30, 0x06, 0x92, 0x75, 0x30, - 0xad, 0x47, 0xa8, 0xba, 0x5c, 0x70, 0x3d, 0x50, 0x35, 0xec, 0x88, 0xa2, 0xdb, 0xf9, 0x71, 0x65, - 0x33, 0x41, 0x3e, 0x1b, 0x16, 0x3d, 0x8c, 0x0c, 0x6b, 0xb0, 0xe2, 0xa7, 0x93, 0x47, 0x5c, 0xea, - 0x09, 0x5f, 0xfe, 0xc4, 0xac, 0x73, 0x04, 0xc5, 0x8c, 0x2a, 0x89, 0x11, 0x0f, 0xcb, 0x94, 0xfa, - 0x8a, 0xdf, 0xf8, 0x24, 0xca, 0x53, 0x68, 0x05, 0xd8, 0x8f, 0x58, 0xf8, 0x8f, 0x30, 0x58, 0xdd, - 0xa3, 0xde, 0x95, 0x64, 0x88, 0xe5, 0x3e, 0x59, 0xab, 0x88, 0xe0, 0x48, 0x75, 0xcf, 0x52, 0x24, - 0xe0, 0x1e, 0x1e, 0xf4, 0xdd, 0x80, 0x2e, 0x51, 0x7c, 0x5c, 0xfc, 0x12, 0xcf, 0x5d, 0xba, 0x4e, - 0x15, 0xe9, 0x18, 0x42, 0x71, 0x7c, 0x16, 0xbb, 0x74, 0xec, 0x6d, 0x82, 0x4e, 0x1c, 0x8f, 0xd1, - 0x48, 0xe5, 0xfc, 0x1e, 0x0a, 0x88, 0x4a, 0x26, 0xe8, 0xf7, 0xb7, 0xa3, 0x57, 0x0b, 0x22, 0x7b, - 0xca, 0xab, 0x41, 0xfc, 0x45, 0x46, 0x12, 0xb3, 0x45, 0xe0, 0xe6, 0xe9, 0x57, 0xca, 0x73, 0xc3, - 0x06, 0x25, 0xff, 0x7c, 0x6e, 0x48, 0x93, 0xbd, 0xf4, 0x74, 0xcb, 0xbd, 0x01, 0x85, 0x0b, 0x4f, - 0x01, 0xca, 0xf2, 0x42, 0xdc, 0x23, 0xf8, 0x3f, 0xd9, 0x7c, 0xa8, 0xe3, 0x7e, 0x4a, 0xae, 0x4c, - 0x16, 0xbf, 0x1b, 0x99, 0x90, 0xad, 0xe3, 0x56, 0x0c, 0xee, 0xcb, 0xe0, 0x0f, 0xc7, 0xfe, 0x0f, - 0x30, 0xf6, 0xeb, 0x92, 0x48, 0x56, 0x00, 0x00 + 0xb1, 0x3d, 0x13, 0xdf, 0x6b, 0xc7, 0x3e, 0xc6, 0xc9, 0xdc, 0x3d, 0x93, 0x39, 0x19, 0x21, 0x35, + 0xa0, 0xb1, 0x90, 0xb8, 0x92, 0xb0, 0x87, 0xb5, 0xd9, 0x67, 0xda, 0x67, 0xd8, 0x27, 0xdb, 0xaa, + 0xee, 0xd6, 0x17, 0x08, 0xec, 0xdc, 0xbb, 0xfb, 0x67, 0x73, 0xce, 0xc4, 0x20, 0x55, 0x57, 0x57, + 0x57, 0xd7, 0x77, 0x57, 0xd3, 0x3b, 0x38, 0xbf, 0x39, 0xbb, 0xff, 0xf7, 0xdb, 0x0b, 0x32, 0x8b, + 0xe7, 0x5e, 0xbf, 0x87, 0xff, 0x27, 0x9e, 0xe5, 0x4f, 0x4d, 0xca, 0x7c, 0x0a, 0xdf, 0x99, 0xe5, + 0xf4, 0x7b, 0x73, 0x16, 0x5b, 0xc4, 0x9e, 0x59, 0x61, 0xc4, 0x62, 0x93, 0x2e, 0xe3, 0xc9, 0xd1, + 0x09, 0x95, 0x4f, 0x2b, 0xbe, 0x35, 0x67, 0x26, 0x7d, 0x74, 0xd9, 0xd3, 0x22, 0x08, 0x63, 0x4a, + 0xec, 0xc0, 0x8f, 0x99, 0x0f, 0x60, 0x4f, 0xae, 0x13, 0xcf, 0xcc, 0xb6, 0xae, 0xa7, 0xa0, 0x1b, + 0xaf, 0x1c, 0xf6, 0xe8, 0xda, 0xec, 0x88, 0x7f, 0xd1, 0x5c, 0xdf, 0x8d, 0x5d, 0xcb, 0x3b, 0x8a, + 0x6c, 0xcb, 0x63, 0xa6, 0xa1, 0xcd, 0xad, 0x6f, 0xee, 0x7c, 0x39, 0x4f, 0xbf, 0x2f, 0x23, 0x16, + 0xf2, 0x2f, 0xd6, 0x18, 0xbe, 0xfb, 0x01, 0xdd, 0x9a, 0xb9, 0xdf, 0x8b, 0xdd, 0xd8, 0x63, 0xfd, + 0xab, 0x8b, 0x73, 0x32, 0x62, 0x71, 0xec, 0xfa, 0xd3, 0xa8, 0x57, 0x17, 0xcf, 0x7a, 0x91, 0x1d, + 0xba, 0x8b, 0xb8, 0x5f, 0x79, 0xb4, 0x42, 0xe2, 0x05, 0xb6, 0xbb, 0xd0, 0x62, 0x77, 0xce, 0x82, + 0x65, 0xac, 0x39, 0xa6, 0x13, 0xd8, 0xcb, 0x39, 0xd0, 0xa5, 0x79, 0xd6, 0x22, 0x64, 0x8f, 0x66, + 0xbb, 0x8d, 0xb3, 0x0f, 0x05, 0x11, 0xd7, 0x66, 0x8b, 0x35, 0xf1, 0xc3, 0xed, 0xd0, 0x6c, 0xe9, + 0xef, 0x8e, 0xf1, 0xe3, 0x95, 0x69, 0x34, 0x9b, 0xfc, 0xe1, 0xd5, 0xf8, 0x1f, 0xcb, 0x20, 0x36, + 0x75, 0xcd, 0x5e, 0x46, 0x71, 0x30, 0x1f, 0xc5, 0x56, 0x18, 0x47, 0xe6, 0x81, 0xa1, 0x45, 0xfc, + 0xd3, 0xb9, 0x1b, 0xc6, 0x2b, 0xf3, 0xd3, 0x67, 0x04, 0x3d, 0xbb, 0xb9, 0x79, 0x64, 0x61, 0xe8, + 0x3a, 0x2c, 0x32, 0xdb, 0x1a, 0xd0, 0x00, 0x60, 0xdd, 0xc9, 0xd2, 0xb7, 0x63, 0x37, 0xf0, 0xc9, + 0xcf, 0x8a, 0xfa, 0xfc, 0xe4, 0xfa, 0x4e, 0xf0, 0x54, 0x0b, 0x16, 0xcc, 0x57, 0xe8, 0x2c, 0x8e, + 0x17, 0x51, 0xa7, 0x5e, 0x7f, 0xf0, 0x83, 0xda, 0x93, 0xc7, 0x9c, 0xda, 0x94, 0xd5, 0x27, 0xcc, + 0x8a, 0x97, 0x21, 0x8b, 0xea, 0x91, 0x5c, 0x5e, 0xfd, 0x3b, 0x78, 0x73, 0x94, 0x7c, 0xa3, 0xea, + 0x3a, 0xc5, 0x37, 0xdc, 0xc4, 0x97, 0x8e, 0xa1, 0x1a, 0xfd, 0x23, 0x62, 0xde, 0x24, 0x0f, 0x3d, + 0xbd, 0x74, 0x14, 0xa6, 0x3e, 0x87, 0x0c, 0xd0, 0xfb, 0x04, 0xe7, 0x8a, 0x2f, 0x3c, 0x86, 0x3c, + 0x19, 0xae, 0xf8, 0xab, 0x0c, 0x34, 0x98, 0x4c, 0x10, 0x34, 0x0f, 0x13, 0x0d, 0x57, 0xbf, 0xc0, + 0x56, 0xc0, 0xe3, 0x4f, 0xfa, 0xe7, 0xda, 0xa3, 0xe5, 0x2d, 0x99, 0x79, 0x64, 0x64, 0x43, 0xbc, + 0xc0, 0x72, 0xfe, 0x3a, 0x52, 0x98, 0xe6, 0x9b, 0x07, 0xba, 0xfa, 0xec, 0xb1, 0x98, 0xc4, 0xa6, + 0x53, 0xb3, 0x43, 0x58, 0x0e, 0x93, 0x38, 0x14, 0x2a, 0x76, 0x88, 0xaa, 0xdd, 0xb8, 0x06, 0xa4, + 0x9e, 0xc6, 0x71, 0xe8, 0x8e, 0x97, 0x31, 0x83, 0x17, 0xa1, 0x4d, 0x35, 0xa6, 0x6a, 0x9b, 0xcf, + 0xe3, 0xd5, 0x82, 0xc1, 0x62, 0x62, 0xf6, 0x2d, 0xae, 0x7f, 0xb5, 0x1e, 0xad, 0x04, 0xc1, 0x16, + 0xa0, 0x15, 0xad, 0x7c, 0x40, 0xe1, 0xab, 0x9a, 0x53, 0x1b, 0x07, 0xce, 0xaa, 0x66, 0x2d, 0x80, + 0x25, 0xce, 0xd9, 0xcc, 0xf5, 0x1c, 0x25, 0x46, 0x78, 0xcb, 0x71, 0x2e, 0x1e, 0x81, 0x8a, 0x2b, + 0x37, 0x02, 0x01, 0x65, 0xa1, 0x42, 0x91, 0x66, 0xaa, 0x29, 0xaa, 0xd9, 0x7f, 0xfe, 0xc0, 0xe2, + 0xdf, 0x14, 0x55, 0xb3, 0x67, 0xcc, 0x7e, 0x18, 0xb9, 0xf0, 0x09, 0xb1, 0x0f, 0xaf, 0x14, 0x75, + 0x5d, 0x3e, 0x14, 0x36, 0x39, 0x08, 0x81, 0x62, 0x18, 0x0a, 0x02, 0x1f, 0x05, 0x1e, 0xab, 0x79, + 0xc1, 0x54, 0xa1, 0x17, 0xf8, 0x9c, 0x48, 0x7e, 0xc0, 0x4e, 0x90, 0x89, 0xeb, 0x31, 0xbe, 0x32, + 0x90, 0xf0, 0x10, 0x38, 0x70, 0x25, 0x9f, 0x07, 0x13, 0x54, 0xa2, 0x89, 0x3b, 0x5d, 0x86, 0x16, + 0x67, 0xa0, 0x58, 0x19, 0x99, 0x58, 0x2e, 0x0a, 0xc2, 0xef, 0xfe, 0xa5, 0x6f, 0x07, 0xf3, 0x05, + 0xf0, 0x91, 0x91, 0x85, 0x35, 0x65, 0xc4, 0xb1, 0x62, 0xeb, 0x00, 0xf6, 0x33, 0xb7, 0x4d, 0xd1, + 0x2c, 0x78, 0xba, 0x0f, 0xac, 0x28, 0x16, 0x6c, 0x37, 0xd4, 0x67, 0x94, 0xfc, 0xd8, 0xc4, 0x9d, + 0xa6, 0x31, 0xbe, 0xe0, 0x9c, 0x76, 0x7d, 0x20, 0xf9, 0xe7, 0xfb, 0xeb, 0x2b, 0x93, 0xc1, 0x5a, + 0x6c, 0xcf, 0x8a, 0x22, 0xdc, 0x4a, 0xd3, 0x1f, 0xc8, 0x65, 0x74, 0x28, 0x62, 0xa2, 0x9a, 0xed, + 0x31, 0x2b, 0xbc, 0x17, 0x2a, 0xa3, 0x48, 0xd5, 0xe1, 0x9c, 0x8e, 0x57, 0xb0, 0x3e, 0xcb, 0x77, + 0xe7, 0x9c, 0x54, 0x93, 0xfa, 0x81, 0x0f, 0x8b, 0x92, 0x10, 0x26, 0xb0, 0x2a, 0x19, 0xa4, 0x24, + 0xb4, 0x81, 0x64, 0xe6, 0xa7, 0xca, 0x7d, 0xae, 0x85, 0x6c, 0xe1, 0x59, 0x36, 0xee, 0x39, 0x9f, + 0x94, 0xe2, 0x9a, 0xb4, 0xc6, 0x3b, 0x5d, 0xcf, 0xad, 0x6c, 0x7c, 0xe5, 0xce, 0xdd, 0x38, 0xc2, + 0x75, 0x69, 0xb1, 0xe6, 0xaa, 0xcf, 0x5c, 0x57, 0x99, 0xd0, 0xd5, 0x58, 0x6a, 0xaa, 0x2f, 0xd4, + 0xd4, 0xcd, 0x86, 0x2d, 0x5c, 0x3f, 0xba, 0xf9, 0x9b, 0x22, 0xf8, 0xc0, 0xcc, 0x0d, 0xf9, 0xbd, + 0xb7, 0xa6, 0x5c, 0x84, 0xa9, 0xeb, 0x2f, 0x96, 0xc8, 0x9a, 0x49, 0x10, 0x2a, 0xae, 0xa9, 0x77, + 0xdd, 0x1e, 0xec, 0x1e, 0xf3, 0xa7, 0xf1, 0xac, 0xeb, 0x56, 0xab, 0x62, 0xb4, 0x6f, 0xb2, 0x4f, + 0xee, 0xe7, 0x1a, 0x9a, 0x9f, 0x5a, 0xb4, 0x1c, 0x47, 0x20, 0x68, 0xfe, 0x54, 0xd1, 0xb5, 0x86, + 0xda, 0x75, 0x27, 0xb0, 0x8d, 0x3a, 0x35, 0x4d, 0xff, 0xe5, 0x85, 0x5e, 0x19, 0xc9, 0x87, 0x46, + 0xf2, 0xa1, 0x89, 0x1f, 0x92, 0xbd, 0x28, 0xc3, 0x22, 0x70, 0x2c, 0xd0, 0xd2, 0x5e, 0x82, 0x56, + 0x94, 0xa9, 0x19, 0xbd, 0xba, 0xa7, 0xd5, 0x38, 0xd3, 0x35, 0xcd, 0xd0, 0xd5, 0xbe, 0x79, 0xa2, + 0xab, 0x68, 0x5e, 0x5d, 0x7f, 0xc9, 0xd6, 0x80, 0xe1, 0x0d, 0x64, 0xe0, 0x87, 0x96, 0xfc, 0x70, + 0x77, 0x25, 0x3f, 0x0c, 0xef, 0xe5, 0x87, 0xcb, 0x3b, 0x4e, 0xea, 0xe1, 0x21, 0xa5, 0x07, 0x82, + 0x52, 0x3e, 0x19, 0x7c, 0x3f, 0x32, 0x0a, 0x4f, 0xd4, 0x67, 0x98, 0xce, 0xa9, 0x2d, 0xe7, 0x7f, + 0x2c, 0x0e, 0x0f, 0xc5, 0xdf, 0x5a, 0x14, 0x00, 0x9d, 0xbe, 0xd9, 0xf7, 0x4d, 0x33, 0x5d, 0x4a, + 0x36, 0x02, 0x09, 0x56, 0x55, 0x69, 0x6c, 0x84, 0xec, 0x7f, 0x19, 0x05, 0x61, 0xb8, 0xd2, 0xf8, + 0x2e, 0x91, 0xef, 0x9f, 0xff, 0x3a, 0xba, 0xf9, 0xa5, 0x26, 0x38, 0xe2, 0x4e, 0x56, 0x12, 0xbb, + 0xba, 0x26, 0xb6, 0xe5, 0xff, 0x18, 0x93, 0x31, 0x23, 0xe0, 0x0d, 0x9c, 0xda, 0x17, 0x55, 0xcb, + 0x90, 0x9a, 0x94, 0x8a, 0x6f, 0x13, 0xb0, 0xe6, 0x11, 0x68, 0x29, 0x5a, 0x57, 0xd8, 0xc4, 0xaf, + 0xa6, 0x5b, 0x35, 0xba, 0x5f, 0xb3, 0x6d, 0xfc, 0x9a, 0x6c, 0xa3, 0x05, 0x8b, 0xf8, 0xfa, 0xca, + 0x36, 0x5a, 0x09, 0xff, 0xac, 0x84, 0x7f, 0x56, 0xc2, 0x3f, 0x2b, 0xe1, 0x9f, 0x95, 0xf0, 0xcf, + 0x4a, 0xf8, 0x67, 0x25, 0xfc, 0xb3, 0x38, 0x73, 0x28, 0xbe, 0x34, 0xad, 0xc2, 0x24, 0x86, 0x2a, + 0x88, 0x08, 0x4a, 0x89, 0x78, 0xab, 0x14, 0x04, 0xaf, 0x48, 0x81, 0xd8, 0xbb, 0xaf, 0xe9, 0xde, + 0xe5, 0xd8, 0x95, 0x7b, 0xbe, 0xb1, 0x15, 0xb7, 0xae, 0xcf, 0xed, 0x8f, 0xe7, 0xda, 0xc8, 0xeb, + 0xf8, 0x89, 0x31, 0x1f, 0xf6, 0x24, 0x95, 0xd6, 0x75, 0x1d, 0xbf, 0x48, 0xa2, 0xd7, 0x07, 0x7c, + 0x17, 0xbe, 0x16, 0x76, 0xe1, 0x6b, 0x7e, 0x17, 0xd6, 0xf0, 0x9f, 0x98, 0xe0, 0x40, 0xcf, 0xd4, + 0x31, 0x0e, 0x57, 0xa3, 0xe5, 0x18, 0x14, 0x59, 0x49, 0x04, 0x68, 0x34, 0xa9, 0xa1, 0x1d, 0xcb, + 0xe1, 0xa9, 0xa1, 0x37, 0x86, 0x25, 0x9f, 0xb3, 0x89, 0xb5, 0xf4, 0x62, 0xc4, 0x96, 0x68, 0x71, + 0x42, 0x32, 0x30, 0x2d, 0x0e, 0x16, 0xb7, 0x61, 0x00, 0x76, 0xd0, 0x12, 0xc6, 0x05, 0x37, 0x1e, + 0x10, 0x72, 0xc7, 0xdc, 0x37, 0xc0, 0x74, 0x48, 0x9d, 0xa5, 0xf7, 0x41, 0x40, 0xe6, 0x96, 0xbf, + 0x22, 0x10, 0x20, 0x44, 0x04, 0x64, 0x83, 0xcc, 0x19, 0x89, 0x03, 0x32, 0xb3, 0x7c, 0xc7, 0x63, + 0x07, 0xb4, 0x8b, 0x16, 0xa4, 0x67, 0xb0, 0xd6, 0xe1, 0xa1, 0xe2, 0x57, 0x4d, 0xfa, 0xbb, 0xff, + 0x7b, 0x78, 0x06, 0x06, 0x1c, 0x3c, 0x76, 0x08, 0x02, 0x87, 0x96, 0xd9, 0xf2, 0xc9, 0xc5, 0xe8, + 0xb6, 0xd9, 0xa8, 0xd1, 0xc4, 0x68, 0xfb, 0xea, 0x9a, 0x93, 0xce, 0xbd, 0xc3, 0x6f, 0x96, 0xe7, + 0x3a, 0x6e, 0xbc, 0x52, 0x54, 0xd4, 0x04, 0x78, 0x1a, 0x89, 0x25, 0xe6, 0xac, 0x17, 0xf3, 0xb9, + 0xeb, 0x90, 0x56, 0x88, 0x5b, 0x63, 0x0c, 0x68, 0xa8, 0x2a, 0x30, 0x30, 0xa7, 0xcb, 0x07, 0x5e, + 0x9d, 0x4a, 0x3e, 0xb0, 0x81, 0x08, 0x4a, 0x3a, 0xba, 0x96, 0x00, 0x03, 0xac, 0xb0, 0xba, 0x8e, + 0x1b, 0x81, 0xb9, 0x5c, 0x01, 0x0c, 0x98, 0x2d, 0xcf, 0x05, 0xbb, 0xdb, 0x91, 0xe6, 0x97, 0x83, + 0x2e, 0xa2, 0x65, 0xe3, 0x0d, 0xb0, 0x85, 0xf9, 0xfa, 0xfa, 0xe1, 0x61, 0xea, 0xde, 0x72, 0x44, + 0x5f, 0x9d, 0xe6, 0x2c, 0x27, 0x87, 0x87, 0x10, 0x42, 0x0c, 0xd9, 0x24, 0x58, 0x4c, 0x7e, 0x75, + 0x0a, 0x33, 0x6e, 0xcd, 0xde, 0xd6, 0xcd, 0x12, 0x0a, 0x7e, 0xbd, 0xcc, 0x4f, 0x96, 0x4c, 0xff, + 0x1c, 0x3d, 0xb9, 0xb1, 0x3d, 0x53, 0x4a, 0x78, 0x04, 0x61, 0x84, 0xb6, 0x49, 0x06, 0xe0, 0xd6, + 0x72, 0x0a, 0x93, 0x23, 0x09, 0x34, 0xcd, 0xb6, 0x22, 0x46, 0xf4, 0x4e, 0x29, 0x2a, 0x43, 0x93, + 0x7b, 0xd2, 0x1d, 0x43, 0x40, 0xf2, 0xd0, 0xe5, 0xb0, 0x4d, 0xbd, 0xb3, 0x35, 0x41, 0x53, 0x2f, + 0x40, 0xb4, 0x4b, 0x20, 0xda, 0x79, 0x88, 0x76, 0x09, 0x44, 0xbb, 0x00, 0xd1, 0x28, 0x03, 0x69, + 0xa4, 0x30, 0x8e, 0x90, 0xfb, 0xce, 0x1e, 0x86, 0x26, 0xac, 0x5c, 0x73, 0x98, 0xb9, 0x01, 0x00, + 0x99, 0x4b, 0x47, 0x79, 0xd6, 0x4a, 0x6d, 0xc7, 0x08, 0xa2, 0x3f, 0xb4, 0x1c, 0xdb, 0xc1, 0x8b, + 0x90, 0x58, 0x70, 0xe0, 0x89, 0x7e, 0xaa, 0x1b, 0xdb, 0x03, 0xd8, 0xae, 0xd9, 0x1c, 0xbd, 0x6f, + 0x12, 0xc9, 0xbd, 0x62, 0xa6, 0xce, 0x68, 0xd5, 0xcf, 0xcc, 0x94, 0xda, 0x95, 0x9a, 0x1b, 0x57, + 0x5f, 0x19, 0x38, 0xba, 0x2a, 0x0e, 0xd4, 0x58, 0xaf, 0xd9, 0x18, 0x64, 0x3a, 0xda, 0x34, 0xcd, + 0xf2, 0x09, 0xf5, 0xc2, 0xb8, 0x01, 0xeb, 0x37, 0xde, 0x0d, 0x1a, 0xfa, 0x5f, 0xe2, 0x8e, 0xd1, + 0x86, 0xff, 0x21, 0x82, 0xbe, 0x09, 0x18, 0xc4, 0x8b, 0x13, 0x78, 0x74, 0x0c, 0xff, 0xf8, 0x97, + 0x16, 0x7c, 0x68, 0xf2, 0x2f, 0x4d, 0x03, 0x8c, 0x65, 0xaf, 0x75, 0x32, 0x68, 0x77, 0x5a, 0x2d, + 0x90, 0xd9, 0x97, 0x97, 0x56, 0x1b, 0x45, 0x57, 0x42, 0x64, 0xec, 0x00, 0xe6, 0xb0, 0x34, 0xbc, + 0xc2, 0x40, 0x4b, 0x83, 0x6c, 0xa0, 0x2b, 0x04, 0x6d, 0xbe, 0x78, 0xb2, 0x42, 0x1f, 0xec, 0xc6, + 0xd6, 0xb6, 0xf1, 0x4d, 0xbf, 0x4e, 0x74, 0xee, 0xa7, 0x86, 0xae, 0x6f, 0x29, 0x05, 0x88, 0x81, + 0x69, 0x16, 0xe4, 0x58, 0x5a, 0x02, 0xd3, 0x68, 0x74, 0xb6, 0x74, 0x56, 0x91, 0xef, 0x8a, 0x82, + 0xdf, 0x15, 0x6e, 0x6e, 0x57, 0xac, 0x03, 0x32, 0xc7, 0xec, 0x62, 0xb0, 0x63, 0xe5, 0x83, 0x1d, + 0xee, 0xba, 0xb8, 0x3f, 0xdb, 0x11, 0xee, 0x24, 0x2e, 0xcc, 0x2a, 0x0d, 0x64, 0x34, 0x2f, 0xdb, + 0x61, 0xab, 0xe0, 0xfc, 0x05, 0x7f, 0x16, 0xba, 0x83, 0x1e, 0x2c, 0x27, 0xb0, 0x1e, 0x3a, 0xb0, + 0xc3, 0x43, 0xaf, 0xf7, 0xee, 0x78, 0x40, 0x2f, 0x6f, 0x09, 0x88, 0x27, 0x64, 0x3b, 0x51, 0x87, + 0x76, 0xbc, 0x7e, 0xeb, 0xdd, 0x80, 0x9e, 0x83, 0x7f, 0x20, 0x1f, 0x6e, 0x2f, 0x6f, 0xc4, 0x13, + 0x63, 0x40, 0xf1, 0x0b, 0xbe, 0xa7, 0xe2, 0xa9, 0x34, 0x7c, 0xc6, 0x36, 0xe2, 0xd6, 0x3b, 0xc4, + 0x7b, 0xdc, 0x1a, 0xd0, 0x33, 0xef, 0x21, 0xc1, 0x41, 0x29, 0xe7, 0x50, 0xb4, 0x43, 0x90, 0x0c, + 0xe9, 0x60, 0x39, 0x7f, 0x40, 0x5e, 0xa5, 0xe8, 0x7b, 0x5a, 0xa0, 0x6a, 0x2b, 0xd3, 0xe8, 0xae, + 0x7a, 0xed, 0xee, 0x0a, 0xa3, 0x09, 0x65, 0x17, 0x06, 0x5a, 0x5d, 0x09, 0x14, 0x2a, 0x6e, 0x51, + 0xb6, 0xba, 0xc3, 0xc3, 0x55, 0xaf, 0xf5, 0xf2, 0x22, 0xc8, 0x32, 0x4c, 0x73, 0xc5, 0x3f, 0x1b, + 0xf8, 0xb2, 0x0d, 0x20, 0xab, 0x6a, 0x4b, 0xef, 0x79, 0x03, 0x25, 0xda, 0xa1, 0xed, 0x5a, 0x04, + 0x91, 0xf2, 0x3f, 0x96, 0x6e, 0xc8, 0x4d, 0xa1, 0xda, 0xd9, 0x06, 0x14, 0x32, 0x94, 0x07, 0x83, + 0x94, 0x34, 0x75, 0xad, 0xaa, 0xba, 0x86, 0x60, 0x40, 0x58, 0xd6, 0x70, 0xc2, 0x79, 0x95, 0x98, + 0xc3, 0x92, 0x67, 0x2f, 0x2f, 0x4d, 0x20, 0xd1, 0xd3, 0x3c, 0xae, 0x15, 0x1e, 0x68, 0x05, 0x8c, + 0xdd, 0xa9, 0xeb, 0xb9, 0x90, 0xc4, 0x84, 0x20, 0x47, 0xcb, 0x23, 0x0c, 0x7c, 0x1b, 0x82, 0x8a, + 0x07, 0x93, 0xe3, 0x1b, 0x60, 0x72, 0x75, 0x60, 0x74, 0x78, 0x8e, 0xb5, 0x86, 0x24, 0xa5, 0x09, + 0xce, 0xc1, 0x93, 0x93, 0x71, 0x7e, 0x70, 0x66, 0xb5, 0x80, 0x59, 0xad, 0xe6, 0x01, 0x3e, 0x3a, + 0x39, 0x41, 0x32, 0x38, 0x42, 0x3b, 0xe0, 0x08, 0x8b, 0xab, 0xce, 0x31, 0x18, 0xc7, 0x9b, 0x12, + 0xc1, 0xc9, 0x40, 0xb0, 0xa3, 0x93, 0xb2, 0x8f, 0xa3, 0x70, 0xdc, 0x29, 0xe0, 0xa8, 0xd2, 0xa7, + 0x2d, 0xed, 0xcc, 0x13, 0xb2, 0xa5, 0x97, 0x4d, 0x1d, 0x68, 0x01, 0xeb, 0x63, 0xf0, 0x3f, 0xe5, + 0x7c, 0xf8, 0x78, 0x53, 0xe4, 0x83, 0xae, 0x16, 0xa7, 0xb4, 0x69, 0x09, 0xe9, 0x6f, 0xa3, 0x36, + 0xa4, 0x7b, 0x56, 0xbd, 0x7f, 0x68, 0x44, 0xff, 0x77, 0x18, 0x36, 0x29, 0xc3, 0x63, 0x1c, 0xe3, + 0xd0, 0x66, 0x83, 0xe3, 0x69, 0xeb, 0x89, 0xb2, 0x95, 0xc5, 0x25, 0x09, 0x1e, 0x6b, 0x0b, 0x8f, + 0x0f, 0x5b, 0x8d, 0xec, 0x2d, 0x1f, 0x07, 0xf6, 0x6d, 0xdb, 0x5e, 0x64, 0x24, 0x5f, 0xfa, 0x8f, + 0x10, 0x90, 0x31, 0x87, 0x40, 0xb2, 0x89, 0x39, 0x5c, 0x87, 0xde, 0x41, 0xf4, 0x08, 0xf6, 0xc7, + 0x21, 0x4a, 0x18, 0xc4, 0x16, 0xbe, 0x32, 0x4e, 0xf4, 0xff, 0xfe, 0x2f, 0x35, 0x8d, 0x8f, 0x9c, + 0xfd, 0xf8, 0x1c, 0xf6, 0x0d, 0x8d, 0x04, 0x2f, 0xea, 0x74, 0xe8, 0x1a, 0x4d, 0x45, 0x08, 0x8a, + 0xfe, 0x8f, 0x25, 0x03, 0xe7, 0xc8, 0x6d, 0x67, 0x10, 0x9e, 0x7a, 0x9e, 0x42, 0x6b, 0x4f, 0xb0, + 0xa3, 0xda, 0xc2, 0x0c, 0x13, 0xeb, 0x99, 0x19, 0xd4, 0x05, 0xb7, 0xa4, 0x21, 0x9a, 0xbf, 0x8d, + 0xb5, 0x6e, 0x2e, 0x92, 0x9b, 0xa2, 0xe5, 0x6b, 0x89, 0xa9, 0x36, 0x37, 0x75, 0xed, 0x11, 0x0b, + 0x4e, 0x80, 0x3e, 0x9b, 0x66, 0xb9, 0x95, 0xa4, 0x4e, 0xcd, 0xe5, 0xae, 0x24, 0x35, 0x28, 0x7d, + 0x95, 0xa4, 0x3d, 0x67, 0x90, 0x33, 0x4c, 0x65, 0xde, 0x82, 0x29, 0xd0, 0x34, 0x49, 0x81, 0xa6, + 0xea, 0x2b, 0x4a, 0x0f, 0xae, 0xd5, 0xe4, 0xe9, 0x77, 0xb7, 0x64, 0x70, 0x92, 0x3f, 0x4d, 0x93, + 0xfc, 0x49, 0xcc, 0xa1, 0x78, 0xe6, 0x9f, 0x4a, 0x73, 0x54, 0x91, 0xe4, 0x3c, 0xf3, 0x15, 0xe0, + 0x84, 0xe0, 0x27, 0x35, 0xf1, 0xc5, 0xf5, 0x81, 0x2d, 0xcb, 0x8c, 0xd3, 0x76, 0xe0, 0x05, 0xa1, + 0x49, 0xbf, 0x9b, 0x4c, 0x26, 0xb4, 0x9b, 0x66, 0x45, 0xe9, 0xc0, 0xd6, 0x49, 0x36, 0xee, 0xc8, + 0xc8, 0xe5, 0xcc, 0xfb, 0x68, 0x4e, 0x72, 0xbe, 0x69, 0x92, 0xf3, 0x4d, 0x93, 0x9c, 0x6f, 0x9a, + 0xe4, 0x7c, 0x53, 0x99, 0x33, 0x2f, 0xb7, 0x72, 0xe6, 0x65, 0x2e, 0x67, 0xc6, 0x2d, 0xc2, 0xca, + 0x60, 0x37, 0x97, 0x3c, 0x9f, 0x86, 0xa1, 0xb5, 0xaa, 0xb9, 0x11, 0xff, 0x9b, 0x24, 0xbd, 0x2a, + 0x6e, 0xf2, 0x03, 0x6c, 0xf2, 0x43, 0x4f, 0x26, 0xd7, 0x72, 0xa7, 0x1f, 0x60, 0xa7, 0x57, 0xb5, + 0xc5, 0x32, 0x9a, 0x49, 0xd0, 0x4f, 0x0f, 0x9f, 0x55, 0x99, 0xf2, 0xea, 0x90, 0xf0, 0x2e, 0xf3, + 0x09, 0x2f, 0xcc, 0xe2, 0x1e, 0x98, 0x5f, 0xc5, 0xbc, 0x13, 0xa0, 0xe4, 0xb5, 0xc4, 0x77, 0x92, + 0x30, 0x61, 0x92, 0x30, 0x61, 0x92, 0x30, 0x61, 0x92, 0x30, 0x61, 0x92, 0x30, 0x61, 0x92, 0x30, + 0x61, 0x92, 0x30, 0x61, 0x92, 0x4b, 0x7c, 0x27, 0xa5, 0x89, 0xef, 0x55, 0x29, 0x11, 0x6f, 0x4d, + 0x7c, 0xaf, 0xf6, 0x25, 0xbe, 0x82, 0xfb, 0x5f, 0xb7, 0xb8, 0x9f, 0x3d, 0x91, 0x7c, 0x4b, 0xe7, + 0xc9, 0xde, 0xf1, 0xda, 0xc4, 0x7a, 0xbd, 0x12, 0x25, 0x0c, 0x66, 0xf6, 0x59, 0xae, 0x84, 0xb1, + 0x2c, 0x96, 0x30, 0x06, 0xdb, 0xc2, 0x06, 0xae, 0x96, 0x76, 0xb6, 0x1e, 0xef, 0x40, 0xd0, 0x47, + 0x33, 0x13, 0x84, 0x96, 0x3f, 0x45, 0x23, 0xc0, 0xe5, 0x74, 0xbd, 0x66, 0x5e, 0xc4, 0x38, 0x83, + 0x2e, 0x77, 0x0d, 0xeb, 0xe6, 0x6b, 0xcd, 0x90, 0xae, 0x65, 0x95, 0xe6, 0x4f, 0xc1, 0xe7, 0x97, + 0x17, 0xe1, 0xd6, 0xbd, 0x88, 0xdb, 0x36, 0xe1, 0x7f, 0xe6, 0xd2, 0xff, 0xc8, 0x87, 0x60, 0x82, + 0x30, 0x09, 0x82, 0xa0, 0x20, 0x8f, 0x49, 0xbb, 0x04, 0x77, 0xa6, 0x58, 0xd9, 0xac, 0x5b, 0x78, + 0x54, 0xb5, 0x7a, 0xd9, 0x9f, 0x03, 0xd4, 0xdc, 0xb4, 0xaa, 0x97, 0xaa, 0x76, 0xd9, 0xb7, 0xe1, + 0x8b, 0x6d, 0xc2, 0xc7, 0x3f, 0xaf, 0xc6, 0x3d, 0xf4, 0x3c, 0xca, 0x63, 0x15, 0x46, 0x03, 0xbf, + 0xc5, 0x5c, 0xe8, 0x17, 0xb1, 0x9c, 0x7b, 0x26, 0xcf, 0x09, 0xe6, 0xd2, 0x50, 0x6f, 0x3d, 0x37, + 0xcd, 0xc7, 0x01, 0x05, 0x9e, 0x29, 0xb4, 0xfa, 0x58, 0xa5, 0x64, 0x31, 0x5b, 0x45, 0xae, 0x6d, + 0x79, 0x89, 0x65, 0x9f, 0xeb, 0x85, 0x3c, 0x28, 0xd6, 0x44, 0x95, 0x3e, 0xae, 0x63, 0xf0, 0xff, + 0x17, 0x43, 0x97, 0xb9, 0xb4, 0x33, 0xb6, 0x32, 0x77, 0x3a, 0xb6, 0xec, 0x87, 0x69, 0x18, 0x2c, + 0x7d, 0xc7, 0xfc, 0x82, 0x66, 0xd9, 0x0a, 0x8f, 0xa6, 0xa1, 0xe5, 0xb8, 0x58, 0x9b, 0x7e, 0xa7, + 0x3b, 0x6c, 0xaa, 0x91, 0xef, 0x9f, 0x45, 0x51, 0xe1, 0x58, 0x1f, 0x88, 0x0f, 0xef, 0x20, 0x6c, + 0xe7, 0x3b, 0x9e, 0xdb, 0x45, 0xdb, 0xb6, 0xe9, 0x9a, 0xe8, 0x09, 0xf0, 0xfa, 0x07, 0x8d, 0x7c, + 0xd7, 0x6a, 0xb5, 0xb2, 0xef, 0x04, 0xe6, 0xff, 0x41, 0xfd, 0x22, 0x77, 0x84, 0x39, 0xbb, 0x72, + 0x04, 0xbb, 0x7f, 0x6d, 0xc5, 0x33, 0x34, 0x4f, 0x0a, 0x37, 0xaa, 0xda, 0x89, 0xae, 0xab, 0x2f, + 0x2f, 0x62, 0xe6, 0x13, 0xbd, 0xdc, 0x47, 0x96, 0xe0, 0x13, 0x22, 0x98, 0x60, 0xb3, 0xbe, 0x95, + 0x60, 0x33, 0xf4, 0xcd, 0x85, 0x08, 0x6c, 0x4f, 0x90, 0x86, 0x46, 0x81, 0x5f, 0x60, 0x66, 0x36, + 0xff, 0x89, 0xfe, 0x03, 0x96, 0xaa, 0x01, 0x5d, 0x0d, 0x4b, 0x2a, 0x64, 0xce, 0xe6, 0x41, 0xb8, + 0xa2, 0xd5, 0xac, 0xf4, 0x32, 0xf8, 0x42, 0x94, 0xde, 0xb8, 0x7f, 0x71, 0x77, 0x77, 0x73, 0xd7, + 0x21, 0xbf, 0xf2, 0x12, 0x4a, 0x00, 0x3e, 0x19, 0x98, 0x81, 0x3b, 0xb1, 0x1e, 0x1e, 0xf4, 0xea, + 0xe3, 0xbe, 0xfa, 0x05, 0x02, 0x71, 0xb5, 0x03, 0xf8, 0x74, 0x51, 0x9a, 0x59, 0x00, 0x84, 0x74, + 0xe2, 0xdc, 0x29, 0xce, 0x4c, 0x4e, 0xbb, 0xcd, 0x5c, 0x4f, 0x51, 0x00, 0x6d, 0xf5, 0xf1, 0x2f, + 0x22, 0xdd, 0x51, 0xeb, 0x6d, 0x58, 0x45, 0xbd, 0xd1, 0x9d, 0x99, 0xb3, 0x7e, 0x7b, 0x90, 0x41, + 0xcd, 0xd4, 0xce, 0xac, 0x6b, 0x99, 0x32, 0xbe, 0x1f, 0xf2, 0x88, 0x6e, 0x33, 0xd1, 0xd6, 0xc6, + 0x66, 0x3e, 0xc7, 0xca, 0xea, 0x19, 0xb3, 0x9e, 0x51, 0xd3, 0x1b, 0x87, 0x87, 0x07, 0x43, 0xf8, + 0x37, 0x1e, 0x00, 0x9a, 0x8b, 0xd1, 0x2d, 0x69, 0xff, 0x86, 0xc5, 0x49, 0xf2, 0xe4, 0xc6, 0x33, + 0x62, 0x9c, 0x92, 0x5f, 0x47, 0x43, 0x12, 0x2d, 0x17, 0x0b, 0x6f, 0x45, 0x3b, 0x8a, 0x55, 0x35, + 0x87, 0x03, 0x6a, 0x34, 0x7e, 0x23, 0xb4, 0x33, 0x1e, 0xd0, 0x8f, 0xa3, 0xc6, 0x89, 0xd1, 0x26, + 0xe2, 0x3b, 0x85, 0x81, 0x54, 0x03, 0x88, 0x19, 0xfe, 0x8f, 0x9e, 0xca, 0x51, 0x58, 0x61, 0xf3, + 0x21, 0x82, 0x80, 0xa0, 0x24, 0x0e, 0xf8, 0xb2, 0xa9, 0x48, 0xd7, 0x46, 0xbb, 0x17, 0x6b, 0x88, + 0xd5, 0x6a, 0x17, 0x26, 0x55, 0x78, 0xf9, 0x2a, 0x88, 0x62, 0xc2, 0x26, 0x13, 0x40, 0x13, 0x69, + 0xe4, 0x3f, 0x69, 0xf7, 0xa2, 0x6a, 0x8e, 0xcc, 0x51, 0x81, 0x13, 0x23, 0xb5, 0x33, 0xd2, 0x2e, + 0xf8, 0xc4, 0x6e, 0x44, 0x98, 0x1f, 0x2c, 0xa7, 0x33, 0xb5, 0x37, 0x0e, 0xfb, 0x59, 0x91, 0xa8, + 0xb0, 0xbd, 0x56, 0xa1, 0x76, 0x94, 0xdb, 0x76, 0xd4, 0xb7, 0x0b, 0xf1, 0xf2, 0xab, 0x90, 0x89, + 0xa2, 0xb8, 0x9e, 0x48, 0x4e, 0x5e, 0xde, 0xcb, 0x6c, 0x95, 0x26, 0x92, 0x99, 0x3b, 0x08, 0xb2, + 0xa2, 0xf8, 0xc2, 0x77, 0x64, 0xc9, 0x8f, 0xf5, 0x8c, 0xa4, 0x8c, 0xa7, 0x77, 0x1f, 0x5f, 0xb3, + 0x1f, 0x23, 0x10, 0x2c, 0x76, 0x04, 0xde, 0x23, 0xb3, 0x21, 0xd5, 0xd7, 0x2b, 0x0f, 0x9b, 0x43, + 0xba, 0x22, 0x4d, 0x7f, 0xdd, 0x56, 0x6d, 0x0d, 0x94, 0x94, 0xfa, 0x3c, 0x09, 0xf2, 0x45, 0x12, + 0x04, 0xb9, 0xb8, 0xaa, 0xb9, 0xd1, 0x2f, 0xd6, 0x2f, 0xca, 0xa3, 0x3a, 0xd0, 0x3b, 0x8f, 0xd9, + 0x52, 0x21, 0x75, 0xc5, 0x4d, 0x4d, 0x0f, 0xbd, 0x44, 0xc5, 0x7f, 0x63, 0xba, 0xb3, 0xe4, 0xe0, + 0x03, 0xc2, 0xbb, 0xd1, 0x3d, 0x04, 0x77, 0xae, 0x19, 0xa7, 0x81, 0xdc, 0x44, 0x39, 0x50, 0x20, + 0x03, 0x01, 0x6f, 0xe5, 0xf6, 0x31, 0xac, 0x1a, 0xbe, 0xbc, 0x1c, 0x89, 0xef, 0x20, 0xcc, 0xae, + 0x9a, 0xd4, 0xb0, 0x85, 0xc1, 0x83, 0xb5, 0x72, 0xcf, 0x89, 0x00, 0x49, 0x56, 0xfe, 0xa5, 0xe7, + 0xb8, 0x8f, 0x84, 0x1f, 0xae, 0x98, 0x1c, 0x7f, 0xff, 0x77, 0xbf, 0x37, 0x83, 0x74, 0x17, 0xf7, + 0x4d, 0x9e, 0xc1, 0x76, 0x1a, 0xc7, 0xfa, 0xe2, 0x1b, 0xbe, 0xf9, 0xfe, 0xd9, 0xad, 0x1a, 0xeb, + 0x0e, 0x80, 0x88, 0xb2, 0x00, 0x11, 0xa7, 0xab, 0x57, 0xf7, 0xf0, 0x62, 0x4d, 0x09, 0xa4, 0x6e, + 0x33, 0xb4, 0x0c, 0x26, 0xfd, 0xf5, 0x52, 0x89, 0x43, 0xe0, 0x08, 0x47, 0x17, 0x2c, 0xf8, 0x6a, + 0x65, 0x62, 0xd9, 0x68, 0x50, 0x22, 0x46, 0x33, 0xa7, 0xcf, 0xb5, 0xe0, 0x5b, 0xaf, 0x2e, 0x40, + 0xb6, 0x81, 0x9b, 0x3a, 0xed, 0x8f, 0xfe, 0x76, 0x7c, 0x62, 0x34, 0xc8, 0xdd, 0x87, 0xe1, 0xc7, + 0x3d, 0x80, 0x06, 0xed, 0xdf, 0x5f, 0x1b, 0x27, 0x46, 0x6b, 0x37, 0x4c, 0xa3, 0x45, 0x21, 0x5f, + 0xd4, 0x1f, 0x7e, 0xfe, 0x8f, 0x3d, 0x30, 0x6d, 0x81, 0xa7, 0xf1, 0x6e, 0x37, 0x4c, 0x1b, 0x88, + 0x42, 0xc2, 0x75, 0x63, 0x0f, 0x0c, 0xd0, 0x73, 0x7a, 0x7b, 0x6a, 0xe8, 0x8d, 0x3d, 0x30, 0x0d, + 0xda, 0xbf, 0xba, 0x3d, 0x3f, 0x39, 0xd1, 0x8f, 0xf7, 0x00, 0xb5, 0x38, 0xd0, 0xf1, 0x89, 0xde, + 0xdc, 0x03, 0xd4, 0xa4, 0xfd, 0xdb, 0x77, 0x27, 0xc6, 0x1e, 0x90, 0x16, 0x10, 0x7d, 0xe3, 0xd7, + 0x6f, 0x26, 0x93, 0x3d, 0x30, 0x40, 0xf4, 0xed, 0xc7, 0x6b, 0xf2, 0x71, 0xe6, 0xc6, 0x6c, 0x0f, + 0x58, 0x43, 0x80, 0x9d, 0x9d, 0xdd, 0xef, 0x01, 0x6a, 0x0a, 0x20, 0xd8, 0xb6, 0x3d, 0x40, 0xad, + 0x14, 0x68, 0xcf, 0xde, 0xb6, 0xda, 0x29, 0x54, 0xb5, 0x38, 0xe7, 0xef, 0xdf, 0x9a, 0xf6, 0xc1, + 0xd1, 0xd1, 0x06, 0xf8, 0x71, 0x06, 0x7e, 0x9e, 0x83, 0x3f, 0x3a, 0x02, 0x70, 0xb6, 0x85, 0xfd, + 0x04, 0x18, 0x73, 0x7e, 0x7e, 0x8b, 0xe0, 0x44, 0xf1, 0x59, 0xfc, 0x14, 0x84, 0x0f, 0xea, 0x6b, + 0x73, 0x9c, 0x00, 0xa7, 0x2e, 0x8c, 0x5a, 0xd3, 0x28, 0x1f, 0x96, 0x4c, 0x55, 0x3e, 0x16, 0xd8, + 0x77, 0x1a, 0xc6, 0xbf, 0xb0, 0x78, 0xff, 0xe0, 0x4d, 0x3a, 0x4f, 0x52, 0x3a, 0x3f, 0x96, 0x12, + 0xda, 0xab, 0x0b, 0xb5, 0xea, 0xa3, 0xe5, 0x86, 0xaf, 0xa8, 0xd8, 0xae, 0x63, 0x52, 0x3b, 0x10, + 0xda, 0x29, 0x55, 0x5a, 0xda, 0xe2, 0x8e, 0x8c, 0x0c, 0xfa, 0x67, 0xe8, 0xfa, 0xc9, 0x4d, 0xe8, + 0xb0, 0x70, 0x4b, 0xb1, 0xcf, 0x6e, 0xf8, 0xd0, 0xed, 0x2d, 0x01, 0x9e, 0x7d, 0xb8, 0xdb, 0xb3, + 0xb1, 0xc0, 0x9e, 0xbd, 0x1b, 0x0f, 0x2c, 0x18, 0xde, 0x7d, 0xd8, 0xa3, 0xce, 0x30, 0x7e, 0xb8, + 0xe7, 0x3d, 0xc8, 0xcd, 0xf0, 0xc3, 0xdd, 0x1e, 0x85, 0x00, 0xfa, 0x86, 0x77, 0xa5, 0xcc, 0xa9, + 0x03, 0x5f, 0xf2, 0xec, 0x71, 0xdc, 0x29, 0x2e, 0xf2, 0x69, 0x8b, 0x41, 0xdc, 0x2f, 0xf5, 0x47, + 0x4f, 0xd6, 0xa2, 0x43, 0x8a, 0x6c, 0xf9, 0x28, 0xd9, 0xb2, 0xcd, 0x94, 0x5f, 0x60, 0x4c, 0x3a, + 0xeb, 0x36, 0x4f, 0x3e, 0x92, 0x43, 0x32, 0xdc, 0xf5, 0xbe, 0x21, 0xde, 0x7f, 0xd8, 0xf5, 0xbe, + 0x29, 0xde, 0x67, 0xab, 0x2a, 0x5d, 0x13, 0xfe, 0x89, 0x16, 0x96, 0xcf, 0xd7, 0xb6, 0x88, 0x1c, + 0x41, 0xa9, 0x28, 0x4f, 0xc0, 0x00, 0x78, 0xd3, 0x27, 0x3d, 0x5e, 0x27, 0x20, 0xd8, 0x1b, 0x61, + 0x52, 0x7f, 0x39, 0x1f, 0xb3, 0x90, 0x26, 0xa6, 0x7c, 0x24, 0x84, 0x05, 0x47, 0x7b, 0x91, 0xf8, + 0x2c, 0xbd, 0x83, 0x47, 0x44, 0x16, 0x41, 0x09, 0x66, 0xc3, 0xb0, 0x5a, 0x8c, 0xea, 0x50, 0x15, + 0xde, 0x19, 0x34, 0xa1, 0xf1, 0xfb, 0xe7, 0xc4, 0x7d, 0xbb, 0x2a, 0x77, 0x08, 0x7c, 0x26, 0x93, + 0xe6, 0xf3, 0x0f, 0x44, 0xfa, 0xd9, 0x44, 0xf7, 0xd0, 0xc5, 0x53, 0x83, 0x2e, 0x25, 0x49, 0x01, + 0x92, 0xd4, 0xfb, 0x87, 0xfe, 0x38, 0x5a, 0x74, 0xb7, 0xb7, 0xc7, 0xde, 0x29, 0xbf, 0x57, 0xdc, + 0x15, 0x76, 0xf6, 0x2e, 0xea, 0xac, 0xb8, 0x10, 0xb9, 0x02, 0x43, 0xae, 0x80, 0x07, 0x9a, 0xb7, + 0xc3, 0x35, 0xcd, 0x76, 0x2a, 0x23, 0x29, 0x5d, 0x02, 0xd2, 0x4a, 0x81, 0x42, 0xc1, 0x6c, 0xa9, + 0x63, 0xf5, 0x2d, 0x8e, 0xeb, 0x92, 0xe3, 0xbc, 0x7a, 0xfc, 0x16, 0x86, 0xeb, 0x82, 0xb6, 0x02, + 0x4f, 0x5b, 0x27, 0x39, 0x0a, 0x24, 0xd5, 0xd1, 0x86, 0x7f, 0x55, 0x69, 0xbd, 0x38, 0xb3, 0x21, + 0x67, 0x96, 0x93, 0xee, 0x9b, 0xd3, 0xd8, 0x31, 0xe7, 0x5b, 0xa7, 0x6a, 0xbc, 0x7d, 0xaa, 0xc6, + 0xbf, 0x38, 0x55, 0xf3, 0xed, 0x53, 0x35, 0xff, 0xc5, 0xa9, 0x5a, 0x6f, 0x9f, 0xaa, 0xf5, 0x4f, + 0x4d, 0xb5, 0x21, 0xd3, 0xe1, 0x4e, 0x99, 0x46, 0xe9, 0xca, 0x08, 0x83, 0xb8, 0x5e, 0x10, 0x96, + 0xd4, 0x2a, 0x25, 0x81, 0x1b, 0x32, 0xcf, 0x2b, 0xf1, 0xe3, 0xe0, 0x5b, 0x42, 0xe4, 0xd9, 0x6f, + 0xc9, 0x72, 0xca, 0x2d, 0x5e, 0xb4, 0x77, 0xfa, 0xd1, 0x83, 0xbb, 0x20, 0x13, 0x37, 0x84, 0xec, + 0x01, 0x63, 0xd4, 0xbd, 0xfa, 0x35, 0xba, 0x2a, 0x61, 0x07, 0xe4, 0x4d, 0x34, 0xb3, 0x8c, 0x1b, + 0x7a, 0xb4, 0x93, 0xa8, 0xc9, 0x5e, 0xa2, 0x20, 0x7a, 0x21, 0x77, 0x6c, 0x12, 0xb2, 0x28, 0x53, + 0x78, 0xce, 0xa1, 0x89, 0x20, 0xa0, 0x9c, 0x11, 0x77, 0xef, 0xf7, 0x33, 0xc2, 0xda, 0x3b, 0xe7, + 0xe9, 0x32, 0x0e, 0x8e, 0x6c, 0xcb, 0xb3, 0x97, 0x9e, 0x15, 0x33, 0xf2, 0x84, 0xb1, 0x11, 0xb6, + 0x39, 0x42, 0xd6, 0xe3, 0x91, 0x49, 0x18, 0xcc, 0xd1, 0x23, 0x77, 0xc4, 0x8e, 0xe5, 0x9d, 0xc4, + 0xe9, 0xc7, 0x32, 0x27, 0xa1, 0xef, 0x73, 0x11, 0x46, 0x7f, 0x18, 0xba, 0xd3, 0x59, 0xcc, 0xc2, + 0x1d, 0x00, 0x8d, 0xfe, 0xa9, 0x6d, 0x63, 0xc3, 0xd7, 0x2e, 0x0c, 0xcd, 0xfe, 0xf9, 0xd2, 0xf2, + 0xb6, 0x3d, 0x84, 0x30, 0xab, 0x29, 0x03, 0xf8, 0xdf, 0x2f, 0x5d, 0x0b, 0x72, 0xb7, 0x88, 0x85, + 0xf1, 0xa9, 0xf3, 0xd5, 0xb2, 0x21, 0xdb, 0xc0, 0x24, 0x4e, 0xa1, 0x63, 0x06, 0x79, 0x23, 0x63, + 0xbe, 0x43, 0xb5, 0x40, 0x5d, 0xcb, 0x74, 0x42, 0x89, 0x3f, 0x1d, 0x1d, 0xb9, 0x9f, 0x6b, 0x21, + 0xe4, 0xef, 0x8f, 0x4c, 0x51, 0x35, 0xf8, 0x26, 0x0b, 0x46, 0xd5, 0xad, 0x34, 0xcf, 0xed, 0x61, + 0x2a, 0x72, 0x64, 0x94, 0x97, 0x1f, 0x8e, 0xb6, 0xe1, 0xfb, 0xdb, 0x95, 0x0a, 0xff, 0xe5, 0x85, + 0x9f, 0x29, 0x17, 0xb2, 0xa5, 0xb3, 0x9b, 0x6b, 0x05, 0x78, 0x08, 0xe9, 0x12, 0x3f, 0x42, 0x15, + 0x49, 0x8c, 0xbb, 0x27, 0x63, 0xb2, 0x83, 0xf9, 0x1f, 0xf0, 0x30, 0x5c, 0xc1, 0x9c, 0xf9, 0x9c, + 0x09, 0xb2, 0x25, 0x2c, 0xce, 0xc9, 0xf4, 0xa8, 0x90, 0x04, 0x65, 0x43, 0xde, 0x92, 0x0a, 0x11, + 0xe1, 0x59, 0xf7, 0x69, 0xc7, 0xdf, 0x73, 0x2e, 0xf5, 0xdb, 0x9b, 0x5c, 0xea, 0x71, 0xbb, 0xdd, + 0x6c, 0xe7, 0x7c, 0x2a, 0x5b, 0x6f, 0xe8, 0x4f, 0xce, 0x67, 0x9a, 0x94, 0xa6, 0x4e, 0xf3, 0x0d, + 0xae, 0xf0, 0xef, 0x67, 0x39, 0x62, 0xec, 0xbd, 0x6e, 0x71, 0x93, 0x0a, 0x7f, 0x5d, 0x98, 0x75, + 0x53, 0xa3, 0xa5, 0x5e, 0xfd, 0xa9, 0x28, 0x93, 0x53, 0x21, 0xc3, 0x53, 0x49, 0xdf, 0xff, 0xbf, + 0x88, 0x33, 0xd1, 0x37, 0x6e, 0x22, 0xa4, 0xe6, 0xc9, 0xf3, 0x49, 0x21, 0x69, 0x2e, 0x8b, 0x78, + 0x19, 0x65, 0xaf, 0x2a, 0x5a, 0x52, 0xdb, 0xbe, 0x05, 0xb4, 0xea, 0x26, 0x35, 0xdb, 0x58, 0x1b, + 0xc7, 0x3e, 0x2a, 0x05, 0xc8, 0xa2, 0xec, 0xc1, 0xc8, 0xf4, 0x05, 0x54, 0x15, 0x5f, 0xed, 0x68, + 0x66, 0x2c, 0x57, 0x12, 0xd0, 0xac, 0xb4, 0x07, 0x4e, 0x3f, 0x30, 0xf1, 0xb0, 0x4d, 0x61, 0x9f, + 0xfc, 0x23, 0x23, 0xa7, 0xf9, 0x72, 0x4a, 0x78, 0x28, 0xa6, 0x54, 0xf3, 0x53, 0x46, 0x2c, 0xe6, + 0x4a, 0xaa, 0x3e, 0xa3, 0xd1, 0xd8, 0xe8, 0x68, 0x66, 0xe2, 0xe8, 0x01, 0x3b, 0x42, 0x18, 0x56, + 0x05, 0xdf, 0x44, 0x92, 0xca, 0xd2, 0xa9, 0xbb, 0x72, 0xea, 0x42, 0xa7, 0xa7, 0x78, 0x04, 0x13, + 0xa6, 0x3c, 0x05, 0x43, 0xb1, 0xdd, 0xd2, 0xd4, 0x2b, 0xd2, 0x52, 0x6e, 0x9a, 0x70, 0x34, 0x4c, + 0xb6, 0x3d, 0x7a, 0xdb, 0x40, 0x15, 0xec, 0xd2, 0x30, 0xf6, 0x45, 0xab, 0x69, 0x62, 0x91, 0x38, + 0x36, 0x20, 0x2d, 0xca, 0xd7, 0xc7, 0x34, 0xcb, 0xc4, 0x13, 0x90, 0xea, 0x88, 0x1f, 0x63, 0xd4, + 0xd0, 0x77, 0x9c, 0xcd, 0xac, 0xf0, 0x2c, 0x70, 0x98, 0x82, 0x85, 0x2e, 0x7d, 0xd0, 0x3a, 0xe9, + 0xb4, 0xdb, 0x6a, 0x15, 0xf8, 0xe4, 0x56, 0xcd, 0x2f, 0xc3, 0x65, 0x1c, 0x07, 0xbc, 0xab, 0x6e, + 0x2d, 0x9a, 0x11, 0xca, 0x15, 0x9b, 0x2b, 0xed, 0x91, 0x91, 0x8b, 0x42, 0x84, 0x2a, 0x7d, 0xff, + 0x6c, 0xad, 0xb7, 0xe2, 0x90, 0x44, 0xd9, 0xbf, 0x45, 0x45, 0xcd, 0xee, 0x7f, 0xd1, 0x70, 0x4a, + 0xe9, 0x27, 0x0a, 0x8e, 0xec, 0xfb, 0x67, 0x3a, 0xbc, 0x78, 0x13, 0xd5, 0x29, 0x9a, 0x2d, 0xdd, + 0x85, 0x45, 0xe8, 0xa6, 0x19, 0x0f, 0x68, 0x52, 0xf9, 0xc1, 0xbe, 0x8a, 0x75, 0xff, 0x5c, 0x1e, + 0x32, 0xa4, 0x6a, 0x53, 0x3a, 0xbc, 0x81, 0xc3, 0x1b, 0x25, 0xc3, 0x6f, 0x97, 0xd1, 0x6c, 0xcc, + 0x99, 0xb4, 0x1f, 0x41, 0x13, 0x11, 0x34, 0x77, 0x20, 0x20, 0xae, 0x3c, 0x13, 0xde, 0x8f, 0xa3, + 0x85, 0x38, 0x5a, 0x25, 0x38, 0x46, 0xbc, 0x03, 0x6d, 0xff, 0xe0, 0x36, 0x0e, 0x6e, 0x97, 0x11, + 0x70, 0x79, 0x47, 0x22, 0xe6, 0x47, 0x41, 0xb8, 0x1f, 0xc1, 0x31, 0x22, 0x38, 0x2e, 0x41, 0x70, + 0x1f, 0x2c, 0x5f, 0x9b, 0xfc, 0x27, 0x1c, 0xfb, 0x53, 0xc9, 0xd8, 0x53, 0xdf, 0xf2, 0x82, 0xe9, + 0xfe, 0xc1, 0x27, 0x38, 0xf8, 0x64, 0xe7, 0xe0, 0x1d, 0xcc, 0xa3, 0xa9, 0xf1, 0xa3, 0x02, 0x29, + 0x8f, 0x65, 0xa5, 0x6b, 0x80, 0x00, 0x06, 0xd6, 0xdb, 0x21, 0x8b, 0xc0, 0xf5, 0x21, 0xd4, 0xe9, + 0x72, 0x19, 0xe5, 0x2d, 0x1f, 0x14, 0xef, 0x0d, 0xfc, 0x88, 0x72, 0xfb, 0xa3, 0x9a, 0x78, 0xb5, + 0xc3, 0xef, 0xbe, 0x35, 0x7e, 0x32, 0xda, 0xdd, 0x24, 0x28, 0x07, 0x23, 0x2a, 0x8f, 0x45, 0x36, + 0xd5, 0x2b, 0xdf, 0xc8, 0x1d, 0x4f, 0xbd, 0x91, 0x8b, 0x46, 0x41, 0x29, 0xdc, 0xb9, 0x60, 0xea, + 0xcb, 0x8b, 0x52, 0xbc, 0x75, 0xb1, 0xd9, 0xba, 0x96, 0x76, 0xf0, 0x3f, 0xa3, 0xa9, 0x12, 0xa6, + 0xf3, 0xc0, 0xc0, 0x88, 0xa3, 0x0b, 0x0e, 0x6e, 0x7f, 0x69, 0x36, 0xb1, 0x9c, 0x3e, 0x9e, 0xaf, + 0x6f, 0x1f, 0x91, 0x71, 0x93, 0xa9, 0xfe, 0x89, 0xba, 0xb4, 0x5f, 0x2c, 0x2f, 0x1f, 0x94, 0x1c, + 0xbb, 0xf9, 0x09, 0x3e, 0x34, 0xd4, 0xd8, 0xf2, 0x98, 0xcf, 0xb4, 0xfd, 0xcf, 0x58, 0x56, 0x96, + 0xe7, 0x66, 0x91, 0x4e, 0x01, 0x48, 0xdf, 0x46, 0x82, 0xe7, 0x60, 0xbb, 0x71, 0xe8, 0x1c, 0x87, + 0xe0, 0x78, 0xe4, 0xe6, 0x7a, 0x22, 0x99, 0x96, 0x30, 0x39, 0x63, 0xde, 0x72, 0x81, 0xd7, 0x16, + 0xde, 0xbb, 0x1e, 0xde, 0xf3, 0x90, 0xdd, 0x6e, 0x3e, 0x7b, 0x22, 0x7f, 0xbf, 0xbe, 0xfa, 0x39, + 0x8e, 0x17, 0x77, 0x10, 0x3d, 0xb0, 0x28, 0xee, 0xfa, 0xbb, 0xef, 0x52, 0xe4, 0xfa, 0xff, 0xb3, + 0xdb, 0x09, 0xf1, 0xcc, 0xc5, 0x2e, 0xa5, 0x68, 0x11, 0x80, 0x8f, 0xbc, 0x67, 0xdf, 0x62, 0x8d, + 0x3f, 0x01, 0x32, 0xe3, 0x65, 0x84, 0xed, 0x18, 0xb0, 0x48, 0x15, 0x7c, 0xd7, 0xee, 0x7b, 0x16, + 0x19, 0x5e, 0x96, 0x47, 0x8c, 0x9d, 0xc1, 0x96, 0xfd, 0xa0, 0x1d, 0x24, 0x08, 0xc4, 0x35, 0x98, + 0xdb, 0x1b, 0xd8, 0x4d, 0x8d, 0xd6, 0xc5, 0x72, 0xe4, 0x99, 0x4b, 0xcc, 0x57, 0xf2, 0x3e, 0x08, + 0xe7, 0xd8, 0x61, 0x96, 0x76, 0x28, 0xca, 0x7b, 0x22, 0x0a, 0xc5, 0xbe, 0x64, 0xd9, 0x28, 0xcb, + 0x5b, 0x94, 0xf1, 0xe2, 0x46, 0x04, 0xec, 0xc3, 0xbb, 0x1b, 0x7e, 0x2d, 0x42, 0x98, 0x58, 0xd5, + 0x4a, 0x5a, 0x98, 0x0f, 0x36, 0x6e, 0xc1, 0x9c, 0x4d, 0xa6, 0x29, 0xf7, 0xb4, 0xb8, 0x4b, 0x93, + 0x97, 0x14, 0xb4, 0x10, 0x0c, 0x3f, 0xf8, 0x4d, 0x79, 0x67, 0x07, 0xf9, 0x7c, 0xc7, 0x2c, 0x08, + 0xa9, 0x06, 0xb0, 0x12, 0x3e, 0xdf, 0x80, 0xa5, 0xf3, 0x0e, 0x14, 0xf4, 0xe5, 0x29, 0x15, 0x8a, + 0xa4, 0x3f, 0x1d, 0x83, 0x9d, 0x56, 0x38, 0x9d, 0x99, 0x67, 0x0d, 0xba, 0x66, 0x1c, 0x06, 0x02, + 0x00, 0x42, 0x89, 0x3c, 0x5f, 0x7a, 0xb1, 0x5c, 0x3e, 0xef, 0xb7, 0xe7, 0xc2, 0xa3, 0xf8, 0xfc, + 0x1c, 0x21, 0xae, 0xcd, 0x9e, 0xf8, 0x21, 0x0d, 0x7e, 0x00, 0xd9, 0x77, 0x32, 0x9d, 0x11, 0x0d, + 0x27, 0x86, 0xce, 0x5b, 0x4d, 0x92, 0x63, 0x0e, 0x90, 0xe6, 0x6e, 0x02, 0x8a, 0xe1, 0x4e, 0x0d, + 0xa0, 0x2f, 0x2c, 0x7b, 0xa6, 0x48, 0xdf, 0x69, 0xf6, 0x9f, 0x13, 0x50, 0x43, 0x44, 0x0a, 0x19, + 0x2a, 0x56, 0x5b, 0xb8, 0x7e, 0xbe, 0x7f, 0xa5, 0x4c, 0x6b, 0xbe, 0xf0, 0x3c, 0x14, 0xfd, 0xd9, + 0x97, 0x5c, 0x63, 0x15, 0x1f, 0xfa, 0xc9, 0xfd, 0xdc, 0xdd, 0x79, 0x8e, 0xe3, 0x17, 0xa0, 0x91, + 0xc9, 0xda, 0xce, 0xf3, 0xa5, 0x22, 0x2c, 0xd7, 0x14, 0xed, 0x2d, 0x3d, 0xad, 0x22, 0xae, 0x2a, + 0x07, 0x3d, 0xbb, 0xd9, 0x04, 0x0d, 0x30, 0x50, 0xd6, 0xde, 0xd2, 0xf2, 0x8a, 0x44, 0x40, 0xaa, + 0x5e, 0x0e, 0x7b, 0xf7, 0x3e, 0x81, 0x4d, 0xb5, 0x16, 0xf6, 0x74, 0xb2, 0x83, 0x8a, 0xdf, 0xca, + 0x80, 0x1f, 0xd7, 0xea, 0x3a, 0xd9, 0x62, 0x08, 0x8f, 0xc0, 0x44, 0xa4, 0x41, 0x1e, 0x5e, 0xed, + 0x11, 0x4f, 0xd3, 0x9d, 0x64, 0x62, 0x0f, 0x79, 0x44, 0x26, 0x99, 0x23, 0xd6, 0x2d, 0x97, 0xc4, + 0xd5, 0x8c, 0x8f, 0x02, 0xeb, 0x9d, 0xa4, 0x5f, 0xc9, 0xf7, 0x6e, 0xb1, 0xb7, 0x85, 0x67, 0xa7, + 0x6a, 0xd2, 0x82, 0xb8, 0x65, 0xed, 0x29, 0xb6, 0xd7, 0xef, 0x16, 0x23, 0x0c, 0xc9, 0x70, 0x5a, + 0xdc, 0x7b, 0x54, 0x42, 0xbe, 0xad, 0x78, 0x53, 0xa8, 0x74, 0xed, 0xf7, 0xf7, 0x34, 0xc7, 0x52, + 0xab, 0x16, 0xc7, 0x6b, 0x4e, 0x95, 0x1b, 0xee, 0x6a, 0xdf, 0xbb, 0xbc, 0xcb, 0x8f, 0x90, 0xc0, + 0x38, 0x5b, 0xf9, 0x04, 0x97, 0xf7, 0x65, 0xe0, 0x9c, 0x26, 0xc1, 0x8f, 0x90, 0x41, 0xa0, 0xb9, + 0x6b, 0xb2, 0xbb, 0xab, 0xad, 0xd1, 0x1c, 0x7e, 0xf7, 0x7c, 0x77, 0xd7, 0xb4, 0xb0, 0x95, 0xb9, + 0x31, 0xe0, 0xb2, 0x93, 0x5c, 0x41, 0x43, 0x15, 0xb7, 0x9c, 0xd3, 0x08, 0x8d, 0x2a, 0x68, 0xb5, + 0xda, 0x91, 0xb7, 0xcc, 0x6e, 0x3d, 0x86, 0xbd, 0xe7, 0x32, 0x0e, 0xb4, 0x08, 0xea, 0x3e, 0xbf, + 0x8a, 0x26, 0x4a, 0x42, 0x07, 0x34, 0x85, 0xbc, 0x07, 0x4b, 0x4c, 0xc6, 0x61, 0xf0, 0x04, 0xd9, + 0x0b, 0x71, 0x02, 0x16, 0xe1, 0xe5, 0x1b, 0x3c, 0xbe, 0x0e, 0x42, 0x08, 0x54, 0x67, 0x8c, 0x7c, + 0xe1, 0x26, 0xe8, 0x0b, 0x59, 0x84, 0x60, 0x5c, 0xc1, 0xa3, 0x60, 0xe0, 0xcf, 0x31, 0xf1, 0x58, + 0x36, 0xc2, 0x5b, 0x12, 0x2c, 0x6b, 0x3a, 0xcd, 0xd0, 0x32, 0x01, 0x75, 0x7a, 0x7b, 0x49, 0xdc, + 0x3c, 0x52, 0x5e, 0x93, 0x25, 0x71, 0x7e, 0xda, 0x15, 0x98, 0xaa, 0xfc, 0x4d, 0xc5, 0x11, 0x78, + 0x0f, 0x8a, 0xa3, 0x3b, 0x60, 0x33, 0xa5, 0xb1, 0xf4, 0x02, 0x9b, 0xdf, 0xfd, 0xa8, 0x01, 0x1d, + 0x71, 0x60, 0x07, 0xd8, 0x97, 0xc9, 0xef, 0x57, 0xea, 0x9a, 0xc2, 0xef, 0x7a, 0x9a, 0x08, 0xe1, + 0x8d, 0xe2, 0x20, 0xb4, 0xa6, 0x0c, 0x59, 0x7a, 0x19, 0xb3, 0x39, 0xfa, 0x25, 0xfb, 0x72, 0x01, + 0x59, 0x08, 0x04, 0x0e, 0x02, 0x0c, 0xc6, 0xcf, 0x17, 0x40, 0x21, 0x5a, 0x52, 0x72, 0x0d, 0x51, + 0x70, 0x8d, 0x48, 0x6e, 0x31, 0x0c, 0x67, 0xc8, 0x47, 0x6c, 0x73, 0xb8, 0xbc, 0x05, 0x16, 0x69, + 0x05, 0x8c, 0x51, 0x11, 0xa3, 0xc6, 0xb1, 0xa9, 0x2a, 0x42, 0xf1, 0x9b, 0x8f, 0x88, 0x7e, 0xc0, + 0x6f, 0x74, 0x76, 0xea, 0x75, 0x5a, 0xe5, 0xaf, 0xb1, 0xe7, 0xa1, 0x9a, 0xdd, 0xca, 0xac, 0x47, + 0xb5, 0xaf, 0xd1, 0x60, 0x61, 0x36, 0xd0, 0x69, 0xa8, 0xeb, 0x0a, 0xc4, 0x44, 0xe2, 0xc6, 0x6a, + 0x8f, 0x87, 0x56, 0xfd, 0x7f, 0x73, 0xe7, 0x9c, 0xed, 0xcb, 0xd0, 0x03, 0x67, 0x2d, 0x1a, 0x3b, + 0x22, 0xec, 0x19, 0x00, 0x40, 0x0e, 0xd0, 0xab, 0x8b, 0xab, 0xba, 0x78, 0xc1, 0x91, 0x48, 0xf3, + 0x4f, 0x47, 0xbc, 0x1e, 0x07, 0x4a, 0x34, 0xaf, 0xf0, 0x84, 0x1c, 0x3f, 0xfd, 0x11, 0xa5, 0xb5, + 0xbd, 0x09, 0x24, 0x16, 0x2c, 0x9e, 0x05, 0x58, 0x21, 0x0d, 0x22, 0xbc, 0x41, 0x9b, 0x2b, 0x96, + 0xc4, 0x01, 0xb0, 0xe3, 0xa9, 0xf8, 0x6c, 0xc6, 0xbc, 0xc5, 0x90, 0xf6, 0x2b, 0x3d, 0x11, 0x9a, + 0xcb, 0x6c, 0x45, 0x7c, 0xc9, 0xc5, 0x7a, 0x3f, 0xe3, 0xb4, 0x83, 0x5e, 0x5d, 0xbc, 0x48, 0xcb, + 0xea, 0x65, 0x63, 0x2a, 0xe9, 0xa0, 0x21, 0x0e, 0x1a, 0x82, 0xcb, 0xce, 0xc6, 0x15, 0x46, 0xc8, + 0x9b, 0x09, 0xfd, 0x91, 0xf5, 0xc8, 0x32, 0x90, 0x59, 0x92, 0x78, 0xf7, 0x66, 0x8d, 0x7e, 0x05, + 0xf7, 0xe7, 0xd0, 0x9a, 0x2f, 0xba, 0xe4, 0x67, 0x2b, 0xc4, 0x4e, 0x18, 0x94, 0xf3, 0x78, 0xb9, + 0x00, 0xe6, 0x34, 0x20, 0x9e, 0x8e, 0x2d, 0x2f, 0xa9, 0x78, 0xa6, 0x15, 0x58, 0xcf, 0xe6, 0xa4, + 0xca, 0x62, 0x7e, 0x56, 0x31, 0xb6, 0x71, 0x99, 0x59, 0x60, 0xda, 0x73, 0xfb, 0x77, 0x0c, 0xcc, + 0x21, 0x68, 0xa2, 0x03, 0x62, 0xba, 0x08, 0x9e, 0x40, 0x1e, 0x64, 0x2b, 0x07, 0xf6, 0x62, 0x8c, + 0x45, 0x75, 0x2f, 0x8a, 0x45, 0x15, 0xb1, 0xd3, 0xab, 0xbb, 0x62, 0xdc, 0x58, 0x56, 0x7b, 0x2b, + 0xe2, 0xd0, 0x66, 0x99, 0xcd, 0x86, 0xbd, 0x2f, 0xc5, 0x6a, 0x30, 0xef, 0xba, 0x90, 0xc5, 0x84, + 0x74, 0xe6, 0xca, 0x85, 0x8f, 0x89, 0x14, 0xb1, 0x96, 0x10, 0xec, 0x82, 0x9c, 0xdb, 0x72, 0x2e, + 0x9f, 0x45, 0x11, 0xf1, 0xf0, 0x2e, 0x24, 0x0b, 0x5f, 0x29, 0x17, 0x9f, 0x0e, 0x99, 0x64, 0xb5, + 0xcc, 0x17, 0xe5, 0x8d, 0x17, 0x51, 0x2b, 0xe2, 0x17, 0x62, 0xc4, 0xac, 0x49, 0xf5, 0x14, 0x6f, + 0x19, 0xf5, 0xaf, 0xc5, 0x0d, 0x6c, 0x72, 0xb6, 0x0c, 0x43, 0x90, 0xff, 0x74, 0x0e, 0x79, 0xef, + 0xfa, 0xfa, 0x94, 0x6e, 0x64, 0xab, 0x1b, 0xc5, 0xa6, 0x46, 0x3b, 0x2b, 0x7a, 0xe9, 0xfa, 0x56, + 0x9d, 0x38, 0x2d, 0x38, 0xf5, 0x2b, 0x64, 0x7e, 0x5a, 0x9c, 0x3e, 0xbb, 0x39, 0x91, 0x66, 0x16, + 0x58, 0x64, 0xea, 0x88, 0xee, 0xa4, 0x6e, 0xf1, 0x18, 0xaf, 0x72, 0xf8, 0xdd, 0xbb, 0x93, 0x93, + 0x93, 0x2e, 0xf9, 0xf7, 0x60, 0x19, 0x16, 0x77, 0x06, 0x24, 0xf8, 0x11, 0x4b, 0x02, 0x64, 0x06, + 0x1c, 0x23, 0xb6, 0x58, 0x48, 0x8d, 0x73, 0xf5, 0x3e, 0x20, 0xa0, 0x52, 0xf0, 0x9e, 0x71, 0x53, + 0x16, 0x59, 0x13, 0x26, 0x0c, 0xd8, 0x0a, 0xb1, 0x70, 0xa9, 0xd1, 0x10, 0x70, 0x21, 0x0c, 0xc0, + 0x32, 0x42, 0x38, 0x10, 0x54, 0x62, 0x23, 0xbf, 0x22, 0xfe, 0xae, 0x32, 0x87, 0x10, 0xca, 0x05, + 0x08, 0x39, 0xab, 0xeb, 0x7f, 0x65, 0xf2, 0xb6, 0x29, 0x26, 0x40, 0x11, 0xb1, 0x7c, 0x07, 0x2c, + 0xec, 0x04, 0x06, 0x1f, 0x64, 0x25, 0x22, 0x10, 0xa5, 0xca, 0x69, 0xb2, 0x99, 0x96, 0x07, 0x64, + 0xf2, 0x5d, 0x8c, 0xf2, 0xfb, 0x1a, 0x07, 0x58, 0x3e, 0x5c, 0x01, 0x4b, 0x83, 0x88, 0x5f, 0x52, + 0x43, 0x1a, 0x39, 0x98, 0xa0, 0xfe, 0x6f, 0x8c, 0x2d, 0x88, 0x15, 0x93, 0x43, 0x08, 0xe1, 0x8c, + 0x53, 0xe2, 0x4e, 0x04, 0x05, 0xd8, 0x60, 0xc5, 0x5b, 0xa8, 0x1c, 0x60, 0xac, 0x1d, 0xa3, 0x6c, + 0x62, 0x15, 0x1b, 0x07, 0x67, 0x3d, 0x4c, 0x9c, 0x94, 0xca, 0x25, 0x5f, 0x29, 0x41, 0x15, 0x49, + 0xef, 0xb6, 0x81, 0xa7, 0x60, 0x21, 0x24, 0x7f, 0x05, 0x26, 0x6a, 0xd2, 0xf8, 0x21, 0x85, 0x78, + 0x1f, 0xd9, 0x9f, 0x0a, 0x12, 0x14, 0x29, 0x17, 0x04, 0x84, 0x1e, 0x6f, 0xff, 0x82, 0x56, 0x2c, + 0x23, 0xb0, 0x86, 0x89, 0x72, 0x49, 0x69, 0x58, 0xa0, 0x0d, 0x59, 0xfa, 0x0f, 0x7e, 0xf0, 0xe4, + 0x4b, 0xa9, 0x56, 0x33, 0xe5, 0x08, 0x85, 0xce, 0x3e, 0x06, 0x5e, 0x8c, 0x17, 0x99, 0x95, 0x6b, + 0x6c, 0x26, 0x93, 0xfb, 0xc4, 0xf5, 0xca, 0x22, 0x48, 0x1c, 0x70, 0x18, 0xc0, 0xd4, 0x92, 0x52, + 0x3c, 0x6f, 0xdc, 0xda, 0x90, 0x6d, 0xbc, 0xac, 0xb6, 0x75, 0x82, 0x8b, 0x47, 0x16, 0x49, 0x9a, + 0x6b, 0x66, 0x09, 0x6f, 0x1f, 0x78, 0x22, 0xef, 0x59, 0x11, 0xa5, 0xdd, 0x9e, 0x9f, 0xaa, 0x95, + 0x9d, 0x87, 0xb4, 0x6d, 0x0e, 0xcd, 0x26, 0x13, 0xd7, 0xc6, 0xb6, 0x40, 0xa2, 0x34, 0x11, 0x7e, + 0x27, 0xb8, 0x0e, 0xa2, 0x89, 0x3d, 0x60, 0x4a, 0x53, 0xdf, 0x03, 0x86, 0x67, 0x29, 0x7d, 0xd9, + 0x31, 0xa6, 0x18, 0x8d, 0x3d, 0x90, 0xd8, 0x9b, 0x52, 0x39, 0xe3, 0x39, 0x6f, 0xc9, 0x39, 0x71, + 0xc1, 0x90, 0x88, 0xcb, 0x62, 0xe5, 0xa7, 0xde, 0x12, 0x85, 0xe8, 0xdb, 0x4b, 0x58, 0x8d, 0x2d, + 0x77, 0xc0, 0xe1, 0x54, 0xc7, 0x13, 0xe6, 0xd2, 0xb2, 0x82, 0x54, 0xe1, 0x18, 0x88, 0xdb, 0x35, + 0xcf, 0xda, 0xad, 0xdd, 0x89, 0x72, 0x27, 0x27, 0x6f, 0x99, 0xf0, 0x26, 0x7c, 0x77, 0x73, 0xa2, + 0xe8, 0x47, 0x4b, 0xf8, 0x63, 0x8d, 0x03, 0x20, 0x82, 0x6b, 0x22, 0xce, 0x8f, 0x6a, 0x89, 0x62, + 0x5d, 0x4b, 0x05, 0x47, 0x9a, 0xfc, 0x66, 0xbf, 0xb2, 0x65, 0xe8, 0x9b, 0x99, 0x1d, 0xc1, 0xb6, + 0x28, 0xfe, 0x73, 0x10, 0xa2, 0x9b, 0x30, 0xea, 0x24, 0xe3, 0xca, 0x2b, 0xff, 0x3b, 0xdc, 0x1a, + 0x62, 0xaa, 0xe6, 0xbc, 0x5b, 0x9a, 0xc8, 0xa0, 0xa7, 0xa6, 0xfd, 0x6a, 0xea, 0x8c, 0x48, 0x32, + 0xbe, 0xb2, 0x8d, 0xe0, 0xa8, 0x04, 0xc1, 0x91, 0xc4, 0x70, 0x94, 0xf3, 0x78, 0x21, 0xa7, 0xf7, + 0x9a, 0xb7, 0x52, 0x92, 0x5f, 0x85, 0x3e, 0x55, 0xb2, 0x8d, 0x9d, 0x83, 0x0c, 0xe8, 0x89, 0xb7, + 0xaa, 0xe7, 0xfc, 0xd5, 0xdc, 0xc8, 0xb9, 0xb1, 0x61, 0xc1, 0x9a, 0xf2, 0x36, 0x57, 0x52, 0x29, + 0xad, 0xde, 0x1f, 0x8d, 0x21, 0x18, 0x79, 0xe8, 0x0a, 0x36, 0x18, 0x3a, 0xb0, 0xa1, 0x3b, 0x63, + 0x68, 0x85, 0xe0, 0x0b, 0x7c, 0x1e, 0xf3, 0xc8, 0xfe, 0x08, 0xfb, 0x60, 0x97, 0x51, 0xa7, 0xc1, + 0xb9, 0x24, 0x78, 0x58, 0x29, 0x4c, 0x91, 0x6b, 0x3b, 0xfd, 0x93, 0x06, 0x1b, 0x24, 0x0a, 0x66, + 0x23, 0xe1, 0x12, 0x96, 0xe1, 0x0b, 0xab, 0x37, 0x76, 0x3d, 0x17, 0x4d, 0x71, 0x48, 0x3c, 0x6b, + 0x0a, 0x01, 0x62, 0xb4, 0x64, 0x11, 0x37, 0x39, 0xbf, 0x82, 0x29, 0xf4, 0xb8, 0x75, 0x04, 0x55, + 0x27, 0x39, 0xb7, 0x9a, 0xf4, 0xa9, 0xf6, 0x4b, 0x5a, 0x48, 0x13, 0x9e, 0xa0, 0x31, 0x41, 0x3b, + 0x38, 0x46, 0x1f, 0xcd, 0xbe, 0x01, 0x00, 0xe8, 0xb0, 0x5d, 0xb0, 0xcb, 0x20, 0x16, 0x95, 0x32, + 0xb9, 0xb8, 0xb6, 0x1e, 0x18, 0x1a, 0x22, 0x36, 0x9d, 0x27, 0x66, 0x89, 0x41, 0x52, 0x22, 0x27, + 0xd8, 0xe9, 0x7b, 0x13, 0x3f, 0x39, 0x12, 0xce, 0x55, 0xaa, 0xdd, 0x78, 0x19, 0x89, 0x93, 0x21, + 0x58, 0xaf, 0xe3, 0xda, 0x2c, 0xda, 0x3d, 0x3e, 0xb3, 0x69, 0xa2, 0x1c, 0xc3, 0x2b, 0x23, 0x32, + 0xea, 0x97, 0xbe, 0x3b, 0x72, 0x05, 0x72, 0x64, 0xcd, 0xd4, 0x0b, 0xc6, 0x22, 0xc0, 0x81, 0x49, + 0x26, 0x93, 0x5c, 0x54, 0x50, 0x29, 0x0f, 0x0b, 0xae, 0xce, 0xa5, 0xdb, 0xdf, 0xa1, 0x0f, 0x7c, + 0x7b, 0x2b, 0xa2, 0xcf, 0x08, 0x36, 0xf3, 0x0f, 0x2e, 0x0c, 0x7f, 0xcc, 0xad, 0xc5, 0x02, 0x37, + 0x3a, 0x7f, 0xee, 0x43, 0x92, 0xe2, 0x7b, 0x27, 0xd7, 0x9a, 0x94, 0x9d, 0x80, 0xbc, 0xc6, 0xe0, + 0xdd, 0x7a, 0x97, 0xd4, 0xfc, 0x0b, 0xca, 0xc3, 0x13, 0x54, 0x50, 0xbc, 0xca, 0xb6, 0xe6, 0x95, + 0x63, 0xc0, 0xba, 0x7f, 0x86, 0x21, 0x39, 0x3c, 0xd9, 0x54, 0xbc, 0xca, 0x7e, 0xeb, 0x90, 0xae, + 0x8c, 0xa7, 0xab, 0x72, 0x49, 0xbc, 0x46, 0x0b, 0x72, 0x85, 0xc7, 0xd6, 0x81, 0xe7, 0x6c, 0x72, + 0x7c, 0x23, 0x32, 0xda, 0x3c, 0x0c, 0x34, 0x30, 0x2a, 0x12, 0x7b, 0x01, 0x59, 0x6a, 0x66, 0x32, + 0x91, 0x9a, 0xcb, 0xbb, 0xc2, 0xc1, 0x40, 0xe5, 0x8d, 0x27, 0x03, 0x90, 0xbb, 0xee, 0x39, 0x17, + 0x48, 0x9d, 0xa7, 0x94, 0x4d, 0x48, 0x5d, 0x37, 0xa1, 0x4b, 0x3a, 0x9f, 0xee, 0xc0, 0x1a, 0xc5, + 0x8c, 0x38, 0x9b, 0x15, 0xfd, 0x04, 0xb2, 0x92, 0x9d, 0xd3, 0x35, 0x5a, 0x47, 0x0f, 0x6c, 0x55, + 0xe8, 0x0c, 0xdc, 0x3e, 0xac, 0x93, 0x40, 0xbc, 0x95, 0x3a, 0xd7, 0xf3, 0xb7, 0x89, 0xae, 0x89, + 0x2d, 0x9d, 0x1c, 0x72, 0x0c, 0xdf, 0x77, 0xe1, 0xc3, 0xc6, 0xcf, 0xdd, 0x93, 0x56, 0xb2, 0x23, + 0xbc, 0x86, 0xf1, 0x1a, 0x69, 0xc7, 0xb4, 0x7f, 0x2c, 0xe7, 0xe3, 0x69, 0xc8, 0x0e, 0x5c, 0x3f, + 0xd1, 0xfe, 0x3b, 0x0e, 0x16, 0x96, 0xf0, 0x22, 0xad, 0xad, 0xf7, 0x79, 0x5e, 0x1d, 0x72, 0xd6, + 0x95, 0xb8, 0x6b, 0x34, 0x4a, 0x95, 0x8d, 0xb2, 0xb9, 0xac, 0x9a, 0x67, 0xa2, 0xfa, 0x23, 0x16, + 0xcd, 0x79, 0x39, 0xe2, 0xc7, 0xdd, 0x25, 0xf3, 0xca, 0x29, 0x0f, 0x75, 0x41, 0x5e, 0xc4, 0x3e, + 0x62, 0xb4, 0x38, 0xb7, 0x5c, 0x3f, 0xb5, 0x57, 0x90, 0x0c, 0xae, 0x5e, 0x49, 0x10, 0xae, 0x47, + 0x37, 0x59, 0x06, 0x20, 0x52, 0x45, 0xde, 0xe4, 0x5d, 0x1e, 0x41, 0xa4, 0x15, 0x83, 0x0d, 0xac, + 0xfc, 0xf7, 0x6c, 0x24, 0x46, 0x5e, 0x32, 0x25, 0x15, 0xcb, 0xb6, 0xd9, 0x02, 0x62, 0x82, 0x1a, + 0x47, 0xb7, 0x43, 0xd1, 0x13, 0xed, 0x98, 0x7b, 0xb9, 0x7c, 0xf0, 0xc7, 0x5c, 0xc1, 0x99, 0xd6, + 0xdd, 0x50, 0x60, 0x00, 0x46, 0xfc, 0xca, 0x9f, 0x17, 0x34, 0x57, 0x2a, 0xae, 0x45, 0x2a, 0xa0, + 0x88, 0x13, 0xb3, 0xf4, 0xb7, 0x93, 0x38, 0x6b, 0x27, 0x16, 0x18, 0x5c, 0xf8, 0x38, 0x09, 0x21, + 0x62, 0x70, 0xea, 0x10, 0xdd, 0xf0, 0x62, 0xa8, 0x49, 0xff, 0x80, 0x2d, 0xf7, 0x1f, 0x28, 0x6a, + 0x1d, 0xbc, 0x0d, 0x7a, 0x75, 0x4b, 0xf0, 0xf6, 0x0e, 0xcb, 0x2a, 0xff, 0xcc, 0x09, 0xdd, 0xdd, + 0xd5, 0xb6, 0x1e, 0x56, 0x72, 0x8a, 0x48, 0xc4, 0x75, 0xc5, 0xfd, 0xdb, 0x72, 0x77, 0x4d, 0x93, + 0xec, 0xf1, 0x4d, 0x92, 0x82, 0xb5, 0xa4, 0x3d, 0x92, 0xb2, 0xdb, 0xfe, 0x42, 0xd0, 0x24, 0x7f, + 0x64, 0x23, 0xe2, 0x11, 0xd4, 0x3d, 0xd6, 0xbf, 0xb9, 0x23, 0xc5, 0x43, 0xd0, 0x09, 0x86, 0xff, + 0x22, 0x25, 0x58, 0x2e, 0xea, 0xbc, 0x46, 0xf8, 0x9a, 0x6b, 0x19, 0x4a, 0x79, 0x92, 0x58, 0x73, + 0xa9, 0xcd, 0x46, 0x88, 0x79, 0x06, 0x21, 0x66, 0xb9, 0xb1, 0x9c, 0x97, 0x45, 0x9b, 0x59, 0x54, + 0xa9, 0xe8, 0x47, 0xf0, 0x44, 0x4d, 0xd2, 0x88, 0x53, 0x99, 0xef, 0x21, 0x71, 0x10, 0x30, 0xe5, + 0xa7, 0x18, 0xde, 0xee, 0x48, 0x54, 0xb7, 0x67, 0xd0, 0x0b, 0x59, 0x29, 0x84, 0xa8, 0xe3, 0x20, + 0x80, 0x38, 0x5f, 0xc7, 0xf4, 0x2f, 0x4a, 0xe2, 0xd5, 0x28, 0x9d, 0x14, 0xbd, 0xee, 0x07, 0x6b, + 0x3e, 0xb7, 0x88, 0x1d, 0x84, 0xa1, 0x4c, 0xfd, 0x30, 0x3c, 0x10, 0xc1, 0xcf, 0x2b, 0x3c, 0xfa, + 0x00, 0xc1, 0x29, 0x51, 0xa2, 0x38, 0x0c, 0x20, 0xc1, 0x41, 0x6b, 0x92, 0x96, 0x17, 0xf8, 0x04, + 0x95, 0x9d, 0xd8, 0x4b, 0x98, 0xb9, 0x63, 0x06, 0xac, 0xd5, 0x10, 0xc5, 0x87, 0x35, 0x6c, 0x62, + 0xc7, 0x7f, 0xc3, 0x2c, 0xdf, 0x04, 0xc5, 0x88, 0x73, 0x14, 0x4b, 0xc6, 0xbd, 0xdf, 0x64, 0x5c, + 0x65, 0x83, 0x73, 0x46, 0xf9, 0xde, 0xfc, 0x80, 0x02, 0x75, 0x0f, 0xa1, 0x5f, 0xe4, 0x22, 0xd1, + 0x42, 0xa6, 0xce, 0xc2, 0x20, 0x8a, 0x26, 0x96, 0xc3, 0x5e, 0xe3, 0xcb, 0xfd, 0x7b, 0x21, 0x3b, + 0x19, 0x02, 0x82, 0xbf, 0x21, 0xb5, 0x41, 0xdc, 0xfd, 0xf9, 0x2e, 0xe2, 0xbe, 0x79, 0xdb, 0x3d, + 0x37, 0xf8, 0x23, 0x74, 0x64, 0x1e, 0x21, 0x5a, 0x59, 0x4e, 0xb9, 0xb5, 0x3c, 0x16, 0x83, 0x57, + 0x8b, 0x33, 0x32, 0x5f, 0x23, 0xec, 0xf6, 0xbd, 0x50, 0x15, 0xa4, 0xc6, 0x81, 0x6c, 0x1c, 0x98, + 0xc7, 0x57, 0x96, 0x08, 0xf9, 0xb9, 0xfc, 0xbd, 0xae, 0xcd, 0x4a, 0xc9, 0xfd, 0xd5, 0x2b, 0x02, + 0xb8, 0x83, 0x8d, 0xf0, 0x8e, 0x0b, 0x42, 0x82, 0xff, 0x9e, 0x1b, 0xab, 0xdd, 0xba, 0x74, 0x3f, + 0x7c, 0x5d, 0xd0, 0x2b, 0x25, 0x13, 0xe1, 0x24, 0x58, 0xed, 0xdc, 0xec, 0x85, 0xbe, 0xff, 0x58, + 0x16, 0x0d, 0x7c, 0xb4, 0xdc, 0x98, 0x17, 0x36, 0x40, 0xd3, 0x2a, 0x7b, 0x1a, 0xa2, 0xdf, 0xc3, + 0x56, 0xef, 0x09, 0x02, 0xf0, 0x35, 0xe1, 0x21, 0x64, 0x0a, 0x54, 0xd9, 0xee, 0xdb, 0x19, 0x2d, + 0xfd, 0xd0, 0x8d, 0xca, 0x1c, 0x28, 0xf0, 0x9d, 0xdf, 0x65, 0xc0, 0x9f, 0xf4, 0x81, 0x2c, 0x09, + 0x3d, 0x1d, 0xdf, 0x8c, 0x8a, 0x78, 0x3a, 0xb4, 0xc0, 0xa0, 0xdb, 0x2c, 0xa7, 0x3a, 0xaf, 0xb5, + 0x54, 0x9e, 0xdd, 0xe7, 0x9b, 0x33, 0x13, 0x61, 0x7a, 0xb2, 0x69, 0xff, 0x83, 0x08, 0xac, 0x03, + 0x19, 0xe3, 0x72, 0x1d, 0x2c, 0x6b, 0x1d, 0x2c, 0xed, 0x14, 0xa4, 0x5b, 0xcb, 0xe2, 0x19, 0xff, + 0xf9, 0xae, 0x60, 0xea, 0x95, 0x86, 0xf3, 0x5c, 0xac, 0xf5, 0x4a, 0x43, 0x21, 0x32, 0xf9, 0x95, + 0x96, 0x42, 0xe4, 0x70, 0xa5, 0xbc, 0xab, 0x90, 0x67, 0x2c, 0xe9, 0xf2, 0x80, 0x39, 0x59, 0x3f, + 0xe4, 0x2b, 0xf9, 0xce, 0xd9, 0x9d, 0xcc, 0x77, 0x60, 0x0c, 0x04, 0xeb, 0xa0, 0x5a, 0x8f, 0x90, + 0x75, 0x79, 0x60, 0x7a, 0x20, 0x6b, 0xd8, 0xe1, 0x45, 0xb7, 0xe3, 0xe3, 0xca, 0x66, 0x80, 0x7c, + 0x36, 0x2c, 0x5a, 0x18, 0xe9, 0xd6, 0x60, 0xc7, 0x4f, 0x9d, 0x47, 0xdc, 0x6a, 0x87, 0x6f, 0x7f, + 0xa2, 0xd6, 0xb9, 0x09, 0xc5, 0x8a, 0x2a, 0x89, 0x12, 0x0f, 0xcb, 0x84, 0xfa, 0x8a, 0xdf, 0xf8, + 0x24, 0xca, 0x53, 0x68, 0x2d, 0xb0, 0x1e, 0x31, 0x0f, 0x1e, 0x61, 0xb0, 0xba, 0x47, 0xbc, 0x2b, + 0xc9, 0x10, 0xcb, 0x7b, 0xb2, 0x56, 0x11, 0xc1, 0x91, 0xea, 0x9e, 0xad, 0x48, 0xc0, 0x7d, 0x6c, + 0xf4, 0xdd, 0x80, 0x2e, 0x11, 0x7c, 0xdc, 0xfc, 0x12, 0xcb, 0x5d, 0xba, 0x4f, 0x15, 0x69, 0x18, + 0x42, 0xd1, 0x3e, 0x8b, 0x55, 0x3a, 0xf6, 0x36, 0x46, 0x27, 0x86, 0xc7, 0x68, 0xa4, 0x7c, 0x7e, + 0x0f, 0x09, 0x44, 0x25, 0x63, 0xf4, 0xfb, 0xdb, 0xd1, 0xab, 0x09, 0x91, 0x3d, 0xe1, 0xd9, 0x20, + 0xfe, 0x62, 0x21, 0x89, 0xd9, 0x7c, 0xe1, 0xe5, 0xe7, 0xaf, 0x94, 0xc7, 0x86, 0x0d, 0x4a, 0xfe, + 0xf9, 0xd8, 0x90, 0x26, 0x67, 0xe9, 0xe9, 0x91, 0x7b, 0x03, 0x12, 0x17, 0x1e, 0x02, 0x94, 0xc5, + 0x85, 0x78, 0x46, 0xf0, 0x7f, 0x72, 0xf8, 0x50, 0xc7, 0xf3, 0x94, 0x5c, 0x9a, 0x2c, 0x7e, 0x57, + 0x31, 0x99, 0xb6, 0x8e, 0x47, 0x31, 0x78, 0x2e, 0x83, 0x3f, 0xac, 0xfa, 0x3f, 0x2e, 0x6e, 0x14, + 0xd8, 0x68, 0x55, 0x00, 0x00 }; @@ -1599,172 +1595,171 @@ const uint8_t PAGE_settings_sec[] PROGMEM = { // Autogenerated from wled00/data/settings_um.htm, do not edit!! -const uint16_t PAGE_settings_um_length = 2609; +const uint16_t PAGE_settings_um_length = 2607; const uint8_t PAGE_settings_um[] PROGMEM = { - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x13, 0xdd, 0x59, 0x5b, 0x73, 0xdb, 0xb8, - 0x15, 0x7e, 0xd7, 0xaf, 0xa0, 0x11, 0x8f, 0x4d, 0x8e, 0x68, 0x4a, 0x8e, 0xbb, 0xdb, 0x44, 0x12, - 0xe4, 0x26, 0x4e, 0x76, 0xa3, 0x26, 0x59, 0x7b, 0xaa, 0xbd, 0x4c, 0xc7, 0xf5, 0xac, 0x29, 0x12, - 0x92, 0x10, 0x53, 0x20, 0x0b, 0x82, 0xbe, 0x54, 0xd6, 0x7f, 0xef, 0x77, 0x40, 0x52, 0xa2, 0x7c, - 0x49, 0x77, 0xb7, 0x7d, 0xea, 0x8b, 0x45, 0x00, 0x07, 0x07, 0x07, 0xdf, 0xb9, 0xc3, 0x83, 0x9d, - 0x77, 0xa7, 0x27, 0x3f, 0xfe, 0xfd, 0xec, 0xbd, 0x33, 0x37, 0x8b, 0x64, 0x38, 0xa8, 0xfe, 0x8a, - 0x30, 0x76, 0x92, 0x50, 0xcd, 0x38, 0x13, 0x8a, 0x0d, 0x07, 0x0b, 0x61, 0x42, 0x27, 0x9a, 0x87, - 0x3a, 0x17, 0x86, 0xb3, 0xc2, 0x4c, 0x0f, 0x5e, 0xd5, 0xb3, 0x2d, 0x15, 0x2e, 0x04, 0x67, 0xd7, - 0x52, 0xdc, 0x64, 0xa9, 0x36, 0xcc, 0x89, 0x52, 0x65, 0x84, 0x02, 0xd9, 0x8d, 0x8c, 0xcd, 0x9c, - 0x7f, 0xd3, 0xed, 0xae, 0x49, 0x1f, 0x2c, 0xc5, 0xe2, 0x5a, 0x46, 0xe2, 0xc0, 0x0e, 0x7c, 0xa9, - 0xa4, 0x91, 0x61, 0x72, 0x90, 0x47, 0x61, 0x22, 0xf8, 0xa1, 0xbf, 0x08, 0x6f, 0xe5, 0xa2, 0x58, - 0xac, 0xc7, 0x45, 0x2e, 0xb4, 0x1d, 0x84, 0x13, 0x8c, 0x55, 0xca, 0x1e, 0x9d, 0x3c, 0x1c, 0x18, - 0x69, 0x12, 0x31, 0xfc, 0x09, 0x94, 0x8b, 0x34, 0x76, 0xc6, 0xc2, 0x18, 0xa9, 0x66, 0xf9, 0xa0, - 0x53, 0xce, 0x0f, 0xf2, 0x48, 0xcb, 0xcc, 0x0c, 0x5b, 0xd7, 0xa1, 0x76, 0xd2, 0x1b, 0x25, 0xb4, - 0x9f, 0xa4, 0x91, 0xcc, 0xfc, 0x42, 0xa7, 0x37, 0xb9, 0x1f, 0xf3, 0x38, 0x8d, 0x8a, 0x05, 0xe4, - 0xf3, 0x8b, 0xc5, 0xc9, 0x74, 0xc6, 0x97, 0x2b, 0x3f, 0x93, 0x2a, 0xe7, 0xe7, 0xdf, 0xfa, 0x7f, - 0xf6, 0x5f, 0xf9, 0xaf, 0xfd, 0xc3, 0xae, 0x7f, 0x78, 0x78, 0x41, 0x93, 0xa7, 0xfc, 0x9c, 0xe9, - 0xfc, 0x3a, 0x66, 0xfe, 0x7f, 0xfe, 0xb9, 0xa0, 0x53, 0xf8, 0xce, 0xa1, 0xaf, 0x8a, 0xc5, 0x67, - 0xde, 0xed, 0x4f, 0x0b, 0x15, 0x19, 0x99, 0x2a, 0x67, 0x36, 0x8a, 0x5d, 0xe1, 0x2d, 0xb5, 0x30, - 0x85, 0x56, 0x4e, 0x1c, 0xcc, 0x84, 0x79, 0x9f, 0x08, 0x12, 0xe0, 0xed, 0x9d, 0x5d, 0x5a, 0xad, - 0x49, 0x65, 0x7e, 0xda, 0x20, 0x15, 0x7b, 0x7b, 0x2c, 0x9d, 0x7c, 0x11, 0x91, 0x61, 0x9c, 0x9b, - 0xbb, 0x4c, 0xa4, 0x53, 0x9a, 0xdb, 0x79, 0xa3, 0x75, 0x78, 0x17, 0xc8, 0xdc, 0xfe, 0x6e, 0xed, - 0xff, 0xe0, 0x7a, 0xcb, 0x1b, 0xa9, 0xe2, 0xf4, 0x26, 0x48, 0x33, 0xa1, 0x5c, 0x36, 0x37, 0x26, - 0xcb, 0x7b, 0x9d, 0xce, 0x4c, 0x9a, 0x79, 0x31, 0x09, 0xa2, 0x74, 0xd1, 0x79, 0x23, 0x75, 0x94, - 0xa6, 0xe9, 0x95, 0x14, 0x9d, 0x5f, 0x3e, 0xbd, 0x7f, 0xd7, 0xb9, 0x91, 0x57, 0xb2, 0x53, 0x63, - 0xf8, 0xa2, 0x28, 0x41, 0x3d, 0xc8, 0xab, 0x09, 0xd6, 0xe0, 0xfe, 0xf6, 0x21, 0xf7, 0xce, 0x9a, - 0xca, 0x67, 0xbf, 0xe6, 0x22, 0x99, 0x36, 0xa9, 0x93, 0x34, 0x8c, 0xff, 0x3a, 0x76, 0x85, 0x6f, - 0xf8, 0x4e, 0xd7, 0x5b, 0x26, 0xc2, 0x38, 0x8a, 0xc7, 0x41, 0xa4, 0x45, 0x68, 0x44, 0x05, 0x80, - 0xcb, 0x4a, 0x5d, 0x31, 0xaf, 0xaf, 0x02, 0x30, 0x7b, 0x63, 0x8c, 0x96, 0x93, 0xc2, 0x08, 0x2c, - 0xe8, 0x88, 0xf9, 0xc2, 0xf3, 0x1f, 0xce, 0x13, 0x0e, 0x38, 0xce, 0x88, 0x5b, 0xd3, 0xf9, 0x12, - 0x5e, 0x87, 0x35, 0x83, 0x47, 0x84, 0x61, 0x7e, 0xa7, 0xc0, 0xc2, 0x78, 0x7e, 0x1c, 0x4c, 0xd2, - 0xf8, 0x2e, 0x08, 0x33, 0x08, 0x1d, 0x9f, 0xcc, 0x65, 0x12, 0xbb, 0x8a, 0xe8, 0xc3, 0x38, 0x7e, - 0x7f, 0x0d, 0x29, 0x3e, 0xc9, 0x1c, 0xe6, 0x2a, 0xb4, 0xcb, 0x48, 0x66, 0xe6, 0xbb, 0x1e, 0x1f, - 0x2e, 0xbf, 0x17, 0xe6, 0x67, 0xd7, 0x5b, 0x3d, 0x4d, 0x27, 0xb4, 0x4e, 0x35, 0xc4, 0x03, 0x1d, - 0x6c, 0x3d, 0x4f, 0x13, 0x11, 0x24, 0xe9, 0xcc, 0x65, 0xef, 0x69, 0xde, 0xa9, 0x2e, 0x0f, 0x60, - 0x9c, 0xa9, 0x4c, 0x84, 0xbd, 0x06, 0x8c, 0x5b, 0xe3, 0xba, 0x9f, 0xaa, 0x79, 0x68, 0x12, 0x1b, - 0xa7, 0x72, 0x56, 0xe8, 0xd0, 0xa2, 0x55, 0x5e, 0xc3, 0x99, 0x86, 0xd8, 0x10, 0x07, 0xff, 0x50, - 0x23, 0x05, 0x5d, 0x65, 0x00, 0x4d, 0x38, 0x59, 0x38, 0x13, 0x4e, 0x1c, 0x9a, 0x70, 0x07, 0xf0, - 0x36, 0x00, 0x1e, 0x43, 0x1d, 0x8c, 0x0e, 0xe8, 0xc1, 0x3c, 0x2a, 0xbd, 0xc0, 0x04, 0x2d, 0xbf, - 0x20, 0xd3, 0xa9, 0x49, 0xa3, 0x34, 0xd9, 0xdb, 0x73, 0xad, 0x59, 0x76, 0x7d, 0xd7, 0x3a, 0x01, - 0x27, 0x8a, 0x64, 0x6c, 0x52, 0x0d, 0xae, 0x64, 0x8a, 0x23, 0x23, 0x16, 0x74, 0xf1, 0x68, 0x94, - 0x31, 0xcf, 0xbb, 0xbf, 0xaf, 0xc8, 0xb0, 0x7f, 0x91, 0x41, 0xe0, 0xef, 0xc0, 0xdf, 0xf9, 0x9c, - 0xc6, 0x22, 0x70, 0xce, 0x12, 0x11, 0xe6, 0xc2, 0x01, 0x10, 0x42, 0x3b, 0x64, 0x3a, 0xce, 0xe8, - 0x0c, 0x22, 0xf9, 0x5b, 0x1c, 0xf3, 0x6d, 0x8e, 0xa5, 0xe7, 0x79, 0x1e, 0xa8, 0x62, 0xc8, 0x6b, - 0x7d, 0x03, 0x67, 0x90, 0x4b, 0xb0, 0x62, 0xc1, 0xbc, 0x40, 0x2a, 0x00, 0xfa, 0xe1, 0xc7, 0xcf, - 0x9f, 0x38, 0x63, 0x5b, 0x8e, 0xf0, 0x5d, 0xd3, 0x11, 0x38, 0xe7, 0x6d, 0x58, 0xbe, 0xd8, 0xe1, - 0xdc, 0xed, 0xde, 0x6f, 0x7b, 0xcc, 0xe8, 0x29, 0x42, 0xfe, 0x88, 0x30, 0x9a, 0x8b, 0xe8, 0x8a, - 0xac, 0xd1, 0x5b, 0x52, 0x5c, 0x50, 0x5c, 0x04, 0x14, 0x57, 0x02, 0x2d, 0xb2, 0x24, 0x8c, 0x60, - 0x2f, 0xe7, 0x17, 0x30, 0x2b, 0x48, 0x94, 0x17, 0x93, 0xdc, 0x68, 0xf7, 0xe0, 0xc8, 0xeb, 0xcb, - 0xa9, 0xcb, 0x20, 0xf1, 0x44, 0x68, 0x20, 0x2c, 0x02, 0x32, 0x3d, 0xb8, 0x24, 0xe2, 0x02, 0x86, - 0xaa, 0x26, 0xec, 0xfa, 0x47, 0x9e, 0xb7, 0x9c, 0xa6, 0xda, 0x25, 0xbe, 0x12, 0x9e, 0x2f, 0x07, - 0x14, 0x4f, 0x82, 0x44, 0xa8, 0x99, 0x99, 0xf7, 0x65, 0xbb, 0xed, 0x81, 0x91, 0xd9, 0xe1, 0x14, - 0x50, 0xce, 0xe5, 0x85, 0xb7, 0xc4, 0x50, 0x04, 0xd7, 0x61, 0x52, 0x40, 0x4e, 0x22, 0xc5, 0x24, - 0xf8, 0xca, 0x29, 0xd8, 0x6e, 0x88, 0x80, 0xa5, 0xb9, 0x83, 0x61, 0x41, 0x89, 0xa9, 0xe6, 0x2c, - 0x91, 0x0b, 0xc1, 0xfa, 0x13, 0x78, 0xcf, 0xd5, 0xea, 0x89, 0xfd, 0xf7, 0xf7, 0xd5, 0xcc, 0xe0, - 0xe0, 0x70, 0xfd, 0x3d, 0x3c, 0x7a, 0xfd, 0x88, 0x8f, 0x16, 0x71, 0xcd, 0x66, 0x7b, 0x65, 0xbd, - 0xe7, 0xe8, 0x98, 0x41, 0x97, 0x6a, 0x26, 0x58, 0x8f, 0xbd, 0x98, 0x4e, 0xa7, 0x6c, 0xb5, 0x12, - 0x49, 0x2e, 0x96, 0xf9, 0x8d, 0x34, 0xd1, 0xdc, 0x2d, 0x71, 0xf3, 0x96, 0x11, 0x8c, 0x81, 0x8d, - 0xdf, 0xbd, 0x61, 0xbd, 0xf2, 0xeb, 0xe4, 0x53, 0xf5, 0xf5, 0xf9, 0x74, 0x3c, 0xda, 0x4c, 0x7e, - 0xac, 0x3e, 0x4f, 0xc6, 0xac, 0x67, 0x8f, 0xed, 0xc7, 0x62, 0x1a, 0x16, 0x89, 0xe9, 0x95, 0x3a, - 0x5b, 0x11, 0x72, 0xff, 0x9f, 0xa8, 0x6d, 0x8c, 0x0f, 0x7e, 0x76, 0x86, 0x13, 0xc9, 0x52, 0x21, - 0x45, 0x19, 0xe5, 0x3d, 0xba, 0x38, 0x45, 0x0f, 0x73, 0xae, 0x7c, 0x79, 0x81, 0x88, 0x70, 0x6a, - 0x63, 0x7d, 0x00, 0x07, 0xd3, 0x52, 0x10, 0xb1, 0x57, 0x11, 0x4b, 0xcf, 0xb3, 0x79, 0x8c, 0x2b, - 0xbf, 0xe6, 0x24, 0xbd, 0x3e, 0x29, 0xc5, 0x21, 0x13, 0xad, 0x0d, 0xf2, 0x2b, 0xa6, 0x4c, 0x9c, - 0xb6, 0xd3, 0x86, 0x2c, 0x05, 0x20, 0x9b, 0x35, 0x40, 0xdf, 0x0c, 0x64, 0x0d, 0xbd, 0x21, 0xe8, - 0xcf, 0xcd, 0xc5, 0x90, 0x77, 0x11, 0x3d, 0xac, 0x52, 0xb2, 0x22, 0x9f, 0xbb, 0x34, 0xe7, 0xd9, - 0xac, 0x58, 0x8e, 0xad, 0x48, 0x5e, 0x2d, 0xc7, 0x23, 0xea, 0xe7, 0x49, 0x9f, 0x11, 0xe5, 0x09, - 0x31, 0xd6, 0xb7, 0xa5, 0xa3, 0x37, 0x70, 0x22, 0x20, 0x7f, 0x27, 0x05, 0xc2, 0x38, 0xdc, 0xd9, - 0x07, 0x78, 0xc8, 0xba, 0x6b, 0x60, 0x15, 0x9c, 0xd1, 0x26, 0xfa, 0x36, 0xdf, 0x1f, 0xcc, 0xb5, - 0x63, 0x95, 0x55, 0x55, 0x22, 0xbd, 0x97, 0xdf, 0x76, 0xb3, 0x5b, 0x36, 0xdc, 0xef, 0x6f, 0xb0, - 0x97, 0x7e, 0xfe, 0x04, 0xf6, 0xe0, 0xc2, 0x0a, 0x75, 0xa5, 0x20, 0x38, 0x99, 0x97, 0x21, 0xe3, - 0x90, 0x2a, 0x4a, 0x8a, 0x18, 0x8b, 0xd0, 0xb0, 0x77, 0xdc, 0x90, 0x01, 0x2c, 0xbc, 0xde, 0x66, - 0xdc, 0xc6, 0x7a, 0xdb, 0xd8, 0xd9, 0xd5, 0xd3, 0x17, 0x56, 0x1b, 0xec, 0x73, 0x5c, 0x3a, 0x1f, - 0xa8, 0xfa, 0xd2, 0x39, 0x2e, 0xbd, 0x7d, 0xbb, 0xf3, 0xfc, 0xc2, 0x47, 0xfe, 0xb4, 0xd0, 0xd9, - 0xc8, 0xa5, 0xfd, 0xb4, 0x2e, 0x06, 0x54, 0xbf, 0xf2, 0xc9, 0xb4, 0x72, 0xc7, 0x49, 0x8a, 0x54, - 0x14, 0x2a, 0xd6, 0x4b, 0x39, 0xb3, 0x01, 0x6f, 0x92, 0xde, 0x32, 0x5f, 0xf3, 0xfd, 0xd2, 0xec, - 0x99, 0xd1, 0x85, 0x60, 0xfb, 0x6d, 0x57, 0x1d, 0xb3, 0x32, 0x20, 0xc2, 0xac, 0x7b, 0xb0, 0x94, - 0xd2, 0xb4, 0xfb, 0x96, 0x47, 0x15, 0xf0, 0x7a, 0x9a, 0x5f, 0x56, 0xbb, 0x76, 0x97, 0x6a, 0xc5, - 0x2e, 0xfd, 0xca, 0xce, 0xb8, 0x69, 0xd8, 0xd5, 0xb1, 0xab, 0x81, 0xb3, 0x83, 0x22, 0x8e, 0xb3, - 0xa3, 0xd7, 0xcc, 0x59, 0x48, 0xc5, 0xd9, 0xc1, 0x21, 0xb8, 0x27, 0x61, 0x9e, 0x73, 0x96, 0xb3, - 0x7d, 0x88, 0xcb, 0xa4, 0x42, 0x86, 0xee, 0x59, 0x52, 0xa4, 0xd0, 0x8c, 0xb3, 0x50, 0xdd, 0xad, - 0x69, 0x6e, 0x6f, 0x13, 0xb6, 0xdf, 0xdf, 0x8e, 0x0d, 0xd8, 0x43, 0x19, 0x9e, 0x64, 0xdf, 0x92, - 0xe2, 0x81, 0x3a, 0xbf, 0x81, 0x3a, 0xfb, 0xec, 0x72, 0xf5, 0x40, 0x39, 0x30, 0xc4, 0xca, 0x04, - 0x44, 0x2d, 0x2b, 0x51, 0xc4, 0xe2, 0xf6, 0x74, 0x6a, 0x09, 0xda, 0x87, 0xc8, 0x48, 0x15, 0xc9, - 0xa5, 0xb3, 0xbb, 0x34, 0xab, 0x9e, 0x83, 0x0b, 0xae, 0x21, 0xe3, 0x3c, 0x3d, 0xae, 0x97, 0x07, - 0x52, 0x65, 0x85, 0x71, 0x08, 0x72, 0xce, 0xe6, 0x32, 0x8e, 0x51, 0x29, 0x3b, 0x65, 0x49, 0xba, - 0xbb, 0x14, 0xab, 0x1e, 0xed, 0xde, 0x5d, 0xca, 0x63, 0xf2, 0x3a, 0x60, 0x09, 0x19, 0x2b, 0x81, - 0xa7, 0x21, 0x54, 0xc6, 0x86, 0x97, 0x3d, 0x89, 0x8c, 0xf7, 0x5f, 0x73, 0xdb, 0x5d, 0xa6, 0x2b, - 0x30, 0xdb, 0x88, 0xbd, 0xc5, 0x69, 0x77, 0x69, 0x31, 0xe6, 0x24, 0xf8, 0x5a, 0x83, 0xd8, 0xf0, - 0x75, 0xd6, 0xbb, 0x4b, 0xbd, 0x42, 0xb5, 0x62, 0x19, 0x55, 0x06, 0xe3, 0x9a, 0xb9, 0xcc, 0xfd, - 0xfd, 0xdd, 0xe5, 0xf3, 0xc8, 0xad, 0xf6, 0x3d, 0xd4, 0xe0, 0x13, 0x3d, 0xbc, 0x5c, 0x6d, 0xb9, - 0xe4, 0x3b, 0x9d, 0x66, 0xa8, 0x41, 0x54, 0x99, 0x64, 0x9f, 0xab, 0xf7, 0x44, 0x42, 0xf5, 0xac, - 0x07, 0xa7, 0x6d, 0x56, 0xc2, 0xf9, 0xdb, 0xbb, 0x1f, 0x20, 0x69, 0xed, 0x3c, 0xde, 0xf9, 0xe1, - 0x05, 0x65, 0x5f, 0x89, 0x00, 0x3f, 0xfa, 0xe1, 0xec, 0xa7, 0x1f, 0xe9, 0x66, 0x32, 0x30, 0xe1, - 0x8c, 0xa8, 0xa0, 0xde, 0xd2, 0x3a, 0xca, 0x49, 0x00, 0x70, 0x7f, 0xbf, 0xc9, 0xd3, 0xd5, 0x94, - 0x57, 0x8a, 0x20, 0x30, 0xb4, 0x08, 0xf6, 0xa5, 0xcd, 0x5b, 0xfd, 0x6d, 0xc7, 0x93, 0x41, 0x58, - 0x57, 0x8c, 0xeb, 0xd4, 0xd3, 0x6e, 0xe7, 0x65, 0x8d, 0xa0, 0x79, 0x73, 0x19, 0x8e, 0xd8, 0x2f, - 0xab, 0xcf, 0x1d, 0xae, 0x2d, 0x2f, 0x08, 0x67, 0x59, 0x37, 0x27, 0xac, 0x4d, 0x37, 0x27, 0xac, - 0xc1, 0x36, 0x26, 0x1e, 0x94, 0xa9, 0xe5, 0xb4, 0xaf, 0x4b, 0x21, 0xbd, 0x55, 0x55, 0xc8, 0x3c, - 0x2c, 0x66, 0xa9, 0xfc, 0x3b, 0x00, 0x89, 0xad, 0x25, 0x65, 0x90, 0x85, 0x1a, 0xa0, 0x55, 0xd8, - 0xd5, 0x71, 0xbf, 0xaa, 0x6c, 0x7d, 0x44, 0x5e, 0xb5, 0xe6, 0x53, 0x24, 0xc9, 0x96, 0x92, 0x4e, - 0x33, 0xfa, 0x2a, 0x43, 0x8b, 0x8d, 0x99, 0x44, 0x01, 0xd0, 0x84, 0x57, 0xee, 0xe8, 0x13, 0x68, - 0xf2, 0xb1, 0xde, 0x52, 0xbb, 0x0f, 0x91, 0xa2, 0x82, 0x13, 0xa9, 0x08, 0x38, 0x43, 0x09, 0xdc, - 0xf8, 0x62, 0xab, 0xb4, 0x46, 0x66, 0x22, 0x8c, 0x89, 0x4f, 0x19, 0xd1, 0x91, 0x2a, 0x69, 0xe1, - 0x07, 0x14, 0x91, 0x79, 0x33, 0xb8, 0x2f, 0x9b, 0x0b, 0x08, 0xf0, 0x75, 0x6e, 0x16, 0x01, 0xdd, - 0x16, 0xf7, 0xa7, 0x09, 0xe8, 0x9a, 0x8a, 0x4a, 0x32, 0x1a, 0x11, 0x8f, 0xc8, 0x10, 0xb9, 0xf1, - 0xb6, 0xed, 0x6e, 0xa4, 0xa6, 0x69, 0x7d, 0xa1, 0x5a, 0xfa, 0x27, 0x2c, 0x8b, 0x44, 0x2f, 0x4f, - 0x27, 0xfb, 0x81, 0x65, 0xa3, 0x0e, 0xdf, 0xf4, 0x55, 0x66, 0x6f, 0x4f, 0x9e, 0x77, 0x2f, 0x8e, - 0xe9, 0x4f, 0x60, 0xe1, 0x9c, 0xa7, 0x49, 0x8c, 0x94, 0x6b, 0x7a, 0x94, 0x7c, 0x68, 0x15, 0x12, - 0x22, 0x17, 0xa1, 0x8c, 0x7f, 0x13, 0x7f, 0xc1, 0xba, 0x32, 0x54, 0xb6, 0xa2, 0xcf, 0x98, 0xa2, - 0x1e, 0xc6, 0xed, 0x91, 0x72, 0xf7, 0xd4, 0x24, 0xcf, 0xfa, 0xac, 0x8d, 0xf8, 0xde, 0xe8, 0x83, - 0xa8, 0xf0, 0x5d, 0x4e, 0x05, 0xc5, 0x69, 0x2a, 0xae, 0x8f, 0x6d, 0x53, 0x86, 0x9e, 0x8c, 0xb5, - 0x6d, 0x71, 0x4c, 0xf1, 0xb7, 0xcd, 0x3a, 0xd1, 0x74, 0x16, 0x7c, 0xc9, 0x01, 0xb1, 0xbf, 0x44, - 0x13, 0x3d, 0x4f, 0xe3, 0x1e, 0xc3, 0x25, 0xd8, 0xca, 0x0b, 0xcc, 0x1c, 0xbd, 0x16, 0x5a, 0x0d, - 0x00, 0x91, 0x5e, 0xd5, 0xc5, 0x33, 0x42, 0x8b, 0xd6, 0x94, 0xe2, 0x6d, 0x2d, 0x12, 0xcb, 0x1c, - 0x32, 0xdf, 0x51, 0xa0, 0x4d, 0xa4, 0x12, 0x70, 0x2f, 0x61, 0x99, 0xb9, 0xa8, 0xbc, 0xd7, 0xfb, - 0x49, 0xdb, 0x65, 0xc7, 0x2b, 0x82, 0x62, 0xe1, 0x6f, 0x6a, 0x92, 0x32, 0xa4, 0xa0, 0x00, 0xf7, - 0x29, 0x81, 0x5a, 0x12, 0x78, 0x8f, 0x4d, 0x8f, 0xf0, 0x9f, 0x87, 0x9d, 0x45, 0x2e, 0x42, 0x1d, - 0xcd, 0xd1, 0xd5, 0x29, 0x71, 0xe3, 0xfc, 0xf4, 0xb7, 0x4f, 0x63, 0x3b, 0x3e, 0x0b, 0x75, 0xb8, - 0x20, 0x66, 0x04, 0x7d, 0x59, 0xdb, 0x37, 0x92, 0xac, 0xf0, 0xd5, 0x13, 0x49, 0xb6, 0x3a, 0xa9, - 0xd9, 0x41, 0xa1, 0x5b, 0x33, 0xb0, 0x80, 0x4d, 0x00, 0xbf, 0x44, 0x0e, 0x1f, 0x0e, 0xe6, 0x47, - 0x43, 0x0a, 0x61, 0x83, 0x0e, 0x3e, 0x2e, 0xfd, 0x46, 0x82, 0x5c, 0x27, 0x69, 0x28, 0x1f, 0x3d, - 0x24, 0x6c, 0x79, 0x87, 0x43, 0x95, 0x8c, 0xe2, 0x80, 0xe5, 0x50, 0x73, 0xe2, 0xac, 0x7a, 0x2e, - 0xc8, 0x1f, 0x34, 0x5e, 0x2a, 0x45, 0xd7, 0x95, 0x16, 0x2a, 0x0e, 0x28, 0xa4, 0x9d, 0x69, 0x91, - 0xe7, 0xce, 0x40, 0x0e, 0xc7, 0xe1, 0xb5, 0x18, 0x74, 0xe4, 0xd0, 0x31, 0xa9, 0x53, 0x3d, 0x59, - 0xc8, 0x7f, 0xa1, 0x0d, 0x2b, 0xf3, 0x53, 0x1e, 0xa0, 0x59, 0xb1, 0x7a, 0x98, 0x25, 0xe9, 0x24, - 0x4c, 0xbe, 0x3f, 0x1b, 0x9d, 0xe6, 0x8f, 0xb5, 0xb1, 0x96, 0xe2, 0x98, 0x4d, 0x80, 0xdf, 0x15, - 0x62, 0x9b, 0x4a, 0xa1, 0x1e, 0xff, 0xa9, 0xfe, 0xa7, 0x7c, 0x9d, 0xa8, 0xba, 0xe6, 0xaf, 0x18, - 0x4a, 0xdd, 0x73, 0x77, 0x72, 0xa8, 0xf8, 0x38, 0xe3, 0xaf, 0x98, 0x8f, 0xf2, 0x07, 0x76, 0x02, - 0xfd, 0x50, 0x79, 0x0e, 0x45, 0xff, 0x06, 0x0b, 0xf1, 0x9b, 0xa8, 0x8b, 0xad, 0xbe, 0x32, 0xbf, - 0x1e, 0x53, 0xa1, 0x2a, 0xd0, 0x43, 0x0a, 0x6a, 0x7b, 0xdf, 0x95, 0x77, 0x76, 0xa9, 0x91, 0x1e, - 0x4f, 0x03, 0x9b, 0x26, 0x7e, 0x06, 0x1c, 0xb1, 0x34, 0x77, 0x2e, 0x72, 0xad, 0x9d, 0x45, 0xb2, - 0x58, 0x48, 0xd0, 0xac, 0x5a, 0x83, 0x4e, 0xf5, 0xfe, 0x32, 0xb0, 0x27, 0x0f, 0xff, 0x22, 0x17, - 0xf4, 0x6c, 0xe3, 0x14, 0x3a, 0x71, 0x59, 0x55, 0x3a, 0x23, 0x44, 0x7a, 0x7d, 0x10, 0x5a, 0x02, - 0x68, 0x55, 0x84, 0x31, 0x32, 0x0a, 0x9a, 0x74, 0x64, 0x23, 0x42, 0x80, 0x33, 0xf8, 0x0c, 0x92, - 0x0c, 0x2c, 0x68, 0xd1, 0x72, 0x24, 0xc6, 0xf4, 0xf5, 0x6b, 0x5e, 0xe7, 0xb3, 0xf1, 0x14, 0xa5, - 0x86, 0xf5, 0x12, 0xce, 0xb2, 0x34, 0x37, 0x0c, 0xfb, 0x4a, 0x09, 0x50, 0x72, 0x90, 0xf8, 0x24, - 0x37, 0x31, 0x88, 0xe5, 0x75, 0x5d, 0x66, 0x98, 0x14, 0x3d, 0xed, 0x0d, 0x1b, 0xb6, 0x9a, 0x93, - 0x73, 0x91, 0x64, 0x6f, 0x29, 0x9b, 0x15, 0xc6, 0xe0, 0xea, 0x65, 0x32, 0x2d, 0x07, 0xc4, 0x33, - 0x4a, 0x64, 0x74, 0xc5, 0xd9, 0x07, 0x12, 0xe6, 0x78, 0xd0, 0x29, 0x17, 0x20, 0x30, 0x38, 0xac, - 0xf7, 0xb4, 0x9e, 0xd9, 0xf4, 0x96, 0x36, 0xbd, 0x0d, 0xa3, 0xab, 0xcd, 0xbe, 0xad, 0x53, 0x4a, - 0x79, 0x59, 0x65, 0x69, 0x6b, 0x12, 0x0d, 0x01, 0xf3, 0x2c, 0x54, 0xf6, 0xd6, 0x49, 0x9e, 0x17, - 0xd1, 0xba, 0xe8, 0xb1, 0x1d, 0x47, 0x6f, 0xa6, 0x85, 0x50, 0xfd, 0x4a, 0x9f, 0x3d, 0x6b, 0x4f, - 0xc3, 0xbd, 0x17, 0x87, 0xdd, 0x6e, 0xf7, 0x4f, 0x7d, 0xe7, 0x64, 0xfb, 0x51, 0x01, 0xac, 0xe3, - 0x1d, 0xd2, 0x08, 0x18, 0x0e, 0x9d, 0x26, 0x5f, 0xb2, 0x8d, 0x6d, 0xbe, 0x68, 0x71, 0x1e, 0x70, - 0x6d, 0xed, 0xbd, 0x78, 0xfd, 0xea, 0xd5, 0x2b, 0xe2, 0x5a, 0x24, 0xb1, 0xf5, 0x14, 0x52, 0xce, - 0xb6, 0x03, 0x05, 0x15, 0xf7, 0x0a, 0x14, 0xc2, 0x96, 0x4e, 0x68, 0xfa, 0x85, 0xd3, 0xaa, 0x0e, - 0xda, 0x66, 0x5f, 0x7a, 0xf6, 0xcb, 0xe6, 0x3b, 0x5e, 0x91, 0xc1, 0x18, 0x5e, 0x0e, 0xbf, 0xb7, - 0x9b, 0x9d, 0xd1, 0x20, 0x2f, 0xb2, 0xe1, 0x4b, 0x1c, 0x80, 0x9f, 0x13, 0xc7, 0x32, 0x73, 0xdc, - 0x0f, 0xbf, 0x78, 0x2d, 0x82, 0x69, 0x20, 0xb7, 0xe5, 0xaf, 0xba, 0xaf, 0xa1, 0x0b, 0x13, 0xba, - 0xa3, 0x47, 0x4c, 0x35, 0xa3, 0x27, 0x44, 0x7a, 0x8d, 0x79, 0x3f, 0x3e, 0x3b, 0x7a, 0xe9, 0x97, - 0x73, 0xc2, 0xd1, 0xe2, 0x9f, 0x85, 0x84, 0x9f, 0xe3, 0x03, 0xf5, 0xb2, 0xd9, 0x01, 0x3b, 0x38, - 0x3a, 0xb1, 0x44, 0x37, 0xdb, 0xdb, 0x2a, 0xab, 0xaa, 0xa2, 0x62, 0x53, 0xd6, 0x96, 0x85, 0xee, - 0xd1, 0xda, 0x0e, 0xd1, 0xfe, 0x3a, 0x2d, 0xa8, 0xdc, 0x72, 0xe6, 0xfb, 0x8d, 0x12, 0x8a, 0x1a, - 0x53, 0x6f, 0x7f, 0x53, 0x07, 0x3b, 0xcd, 0xa4, 0x62, 0x37, 0x0e, 0x1d, 0xb4, 0xc7, 0xf5, 0x79, - 0xad, 0xdf, 0x78, 0x20, 0xba, 0x6c, 0xe7, 0x6b, 0xe7, 0xb5, 0x9e, 0x3b, 0x10, 0x1b, 0x87, 0xcf, - 0xf5, 0x43, 0x15, 0xde, 0xe3, 0xb3, 0x51, 0x03, 0xe4, 0x0a, 0xe3, 0xd6, 0xff, 0x08, 0xe4, 0x1a, - 0xe3, 0x16, 0x3d, 0x0f, 0xfc, 0x3e, 0x94, 0xed, 0x83, 0xc2, 0x1f, 0x82, 0xd9, 0xee, 0x1c, 0x3a, - 0x9f, 0x47, 0xe3, 0xd3, 0xdf, 0x09, 0x34, 0x6d, 0xf9, 0x63, 0x48, 0xdb, 0x9d, 0x56, 0xb7, 0x1f, - 0x7f, 0xeb, 0x35, 0x5b, 0x6b, 0xe5, 0x7e, 0xfc, 0xfa, 0x99, 0xcf, 0x2b, 0xf7, 0x23, 0x6b, 0x7a, - 0x60, 0x8b, 0x5c, 0x10, 0xf9, 0x65, 0x58, 0xbf, 0x37, 0xd6, 0x49, 0x23, 0x08, 0x82, 0x8a, 0x8c, - 0x9c, 0xef, 0xeb, 0x51, 0x6f, 0x1d, 0xc0, 0x5a, 0xbf, 0x2b, 0x82, 0x75, 0x28, 0x54, 0xe3, 0x87, - 0xc2, 0x39, 0xc5, 0x76, 0xfa, 0x47, 0xc3, 0xbf, 0x01, 0xd7, 0x70, 0xf8, 0x91, 0x7e, 0x18, 0x00, - 0x00 + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x13, 0xdd, 0x59, 0x5b, 0x73, 0xdb, 0x36, + 0x16, 0x7e, 0xd7, 0xaf, 0xa0, 0x11, 0x8f, 0x4d, 0x8e, 0x68, 0x4a, 0x4e, 0xda, 0xae, 0x2b, 0x09, + 0x72, 0x13, 0x27, 0x6d, 0xb4, 0x49, 0x6a, 0xcf, 0xaa, 0x97, 0xd9, 0xf1, 0x7a, 0x6a, 0x8a, 0x84, + 0x24, 0xc4, 0x14, 0xc8, 0x05, 0x41, 0x5f, 0x56, 0xd6, 0x7f, 0xdf, 0xef, 0x80, 0xa4, 0x44, 0xf9, + 0x92, 0x6d, 0xbb, 0xfb, 0xb4, 0x2f, 0x16, 0x01, 0x1c, 0x1c, 0x1c, 0x7c, 0xe7, 0x0e, 0x0f, 0x76, + 0xde, 0x9e, 0x9e, 0xfc, 0xf4, 0xf7, 0xb3, 0x77, 0xce, 0xdc, 0x2c, 0x92, 0xe1, 0xa0, 0xfa, 0x2b, + 0xc2, 0xd8, 0x49, 0x42, 0x35, 0xe3, 0x4c, 0x28, 0x36, 0x1c, 0x2c, 0x84, 0x09, 0x9d, 0x68, 0x1e, + 0xea, 0x5c, 0x18, 0xce, 0x0a, 0x33, 0x3d, 0x38, 0xaa, 0x67, 0x5b, 0x2a, 0x5c, 0x08, 0xce, 0xae, + 0xa5, 0xb8, 0xc9, 0x52, 0x6d, 0x98, 0x13, 0xa5, 0xca, 0x08, 0x05, 0xb2, 0x1b, 0x19, 0x9b, 0x39, + 0xff, 0xba, 0xdb, 0x5d, 0x93, 0x3e, 0x58, 0x8a, 0xc5, 0xb5, 0x8c, 0xc4, 0x81, 0x1d, 0xf8, 0x52, + 0x49, 0x23, 0xc3, 0xe4, 0x20, 0x8f, 0xc2, 0x44, 0xf0, 0x43, 0x7f, 0x11, 0xde, 0xca, 0x45, 0xb1, + 0x58, 0x8f, 0x8b, 0x5c, 0x68, 0x3b, 0x08, 0x27, 0x18, 0xab, 0x94, 0x3d, 0x3a, 0x79, 0x38, 0x30, + 0xd2, 0x24, 0x62, 0xf8, 0x33, 0x28, 0x17, 0x69, 0xec, 0x8c, 0x85, 0x31, 0x52, 0xcd, 0xf2, 0x41, + 0xa7, 0x9c, 0x1f, 0xe4, 0x91, 0x96, 0x99, 0x19, 0xb6, 0xae, 0x43, 0xed, 0xa4, 0x37, 0x4a, 0x68, + 0x3f, 0x49, 0x23, 0x99, 0xf9, 0x85, 0x4e, 0x6f, 0x72, 0x3f, 0xe6, 0x71, 0x1a, 0x15, 0x0b, 0xc8, + 0xe7, 0x17, 0x8b, 0x93, 0xe9, 0x8c, 0x2f, 0x57, 0x7e, 0x26, 0x55, 0xce, 0xcf, 0xbf, 0xf1, 0xff, + 0xe2, 0x1f, 0xf9, 0xdf, 0xfa, 0x87, 0x5d, 0xff, 0xf0, 0xf0, 0x82, 0x26, 0x4f, 0xf9, 0x39, 0xd3, + 0xf9, 0x75, 0xcc, 0xfc, 0xff, 0xfc, 0x73, 0x41, 0xa7, 0xf0, 0x9d, 0x43, 0x5f, 0x15, 0x8b, 0x4f, + 0xbc, 0xdb, 0x9f, 0x16, 0x2a, 0x32, 0x32, 0x55, 0xce, 0x6c, 0x14, 0xbb, 0xc2, 0x5b, 0x6a, 0x61, + 0x0a, 0xad, 0x9c, 0x38, 0x98, 0x09, 0xf3, 0x2e, 0x11, 0x24, 0xc0, 0x9b, 0x3b, 0xbb, 0xb4, 0x5a, + 0x93, 0xca, 0xfc, 0xb4, 0x41, 0x2a, 0xf6, 0xf6, 0x58, 0x3a, 0xf9, 0x2c, 0x22, 0xc3, 0x38, 0x37, + 0x77, 0x99, 0x48, 0xa7, 0x34, 0xb7, 0xf3, 0x5a, 0xeb, 0xf0, 0x2e, 0x90, 0xb9, 0xfd, 0xdd, 0xda, + 0xff, 0xde, 0xf5, 0x96, 0x37, 0x52, 0xc5, 0xe9, 0x4d, 0x90, 0x66, 0x42, 0xb9, 0x6c, 0x6e, 0x4c, + 0x96, 0xf7, 0x3a, 0x9d, 0x99, 0x34, 0xf3, 0x62, 0x12, 0x44, 0xe9, 0xa2, 0xf3, 0x5a, 0xea, 0x28, + 0x4d, 0xd3, 0x2b, 0x29, 0x3a, 0xbf, 0x7e, 0x7c, 0xf7, 0xb6, 0x73, 0x23, 0xaf, 0x64, 0xa7, 0xc6, + 0xf0, 0x45, 0x51, 0x82, 0x7a, 0x90, 0x57, 0x13, 0xac, 0xc1, 0xfd, 0xcd, 0x43, 0xee, 0x9d, 0x35, + 0x95, 0xcf, 0x7e, 0xcb, 0x45, 0x32, 0x6d, 0x52, 0x27, 0x69, 0x18, 0xff, 0x75, 0xec, 0x0a, 0xdf, + 0xf0, 0x9d, 0xae, 0xb7, 0x4c, 0x84, 0x71, 0x14, 0x8f, 0x83, 0x48, 0x8b, 0xd0, 0x88, 0x0a, 0x00, + 0x97, 0x95, 0xba, 0x62, 0x5e, 0x5f, 0x05, 0x60, 0xf6, 0xda, 0x18, 0x2d, 0x27, 0x85, 0x11, 0x58, + 0xd0, 0x11, 0xf3, 0x85, 0xe7, 0x3f, 0x9c, 0x27, 0x1c, 0x70, 0x9c, 0x11, 0xb7, 0xa6, 0xf3, 0x39, + 0xbc, 0x0e, 0x6b, 0x06, 0x8f, 0x08, 0xc3, 0xfc, 0x4e, 0x81, 0x85, 0xf1, 0xfc, 0x38, 0x98, 0xa4, + 0xf1, 0x5d, 0x10, 0x66, 0x10, 0x3a, 0x3e, 0x99, 0xcb, 0x24, 0x76, 0x15, 0xd1, 0x87, 0x71, 0xfc, + 0xee, 0x1a, 0x52, 0x7c, 0x94, 0x39, 0xcc, 0x55, 0x68, 0x97, 0x91, 0xcc, 0xcc, 0x77, 0x3d, 0x3e, + 0x5c, 0xfe, 0x20, 0xcc, 0x2f, 0xae, 0xb7, 0x7a, 0x9a, 0x4e, 0x68, 0x9d, 0x6a, 0x88, 0x07, 0x3a, + 0xd8, 0x7a, 0x9e, 0x26, 0x22, 0x48, 0xd2, 0x99, 0xcb, 0xde, 0xd1, 0xbc, 0x53, 0x5d, 0x1e, 0xc0, + 0x38, 0x53, 0x99, 0x08, 0x7b, 0x0d, 0x18, 0xb7, 0xc6, 0x75, 0x3f, 0x56, 0xf3, 0xd0, 0x24, 0x36, + 0x4e, 0xe5, 0xac, 0xd0, 0xa1, 0x45, 0xab, 0xbc, 0x86, 0x33, 0x0d, 0xb1, 0x21, 0x0e, 0xfe, 0xa1, + 0x46, 0x0a, 0xba, 0xca, 0x00, 0x9a, 0x70, 0xb2, 0x70, 0x26, 0x9c, 0x38, 0x34, 0xe1, 0x0e, 0xe0, + 0x6d, 0x00, 0x3c, 0x86, 0x3a, 0x18, 0x1d, 0xd0, 0x83, 0x79, 0x54, 0x7a, 0x81, 0x09, 0x5a, 0x7e, + 0x41, 0xa6, 0x53, 0x93, 0x46, 0x69, 0xb2, 0xb7, 0xe7, 0x5a, 0xb3, 0xec, 0xfa, 0xae, 0x75, 0x02, + 0x4e, 0x14, 0xc9, 0xd8, 0xa4, 0x1a, 0x5c, 0xc9, 0x14, 0x47, 0x46, 0x2c, 0xe8, 0xe2, 0xd1, 0x28, + 0x63, 0x9e, 0x77, 0x7f, 0x5f, 0x91, 0x61, 0xff, 0x22, 0x83, 0xc0, 0xdf, 0x83, 0xbf, 0xf3, 0x29, + 0x8d, 0x45, 0xe0, 0x9c, 0x25, 0x22, 0xcc, 0x85, 0x03, 0x20, 0x84, 0x76, 0xc8, 0x74, 0x9c, 0xd1, + 0x19, 0x44, 0xf2, 0xb7, 0x38, 0xe6, 0xdb, 0x1c, 0x4b, 0xcf, 0xf3, 0x3c, 0x50, 0xc5, 0x90, 0xd7, + 0xfa, 0x06, 0xce, 0x20, 0x97, 0x60, 0xc5, 0x82, 0x79, 0x81, 0x54, 0x00, 0xf4, 0xfd, 0x4f, 0x9f, + 0x3e, 0x72, 0xc6, 0xb6, 0x1c, 0xe1, 0xfb, 0xa6, 0x23, 0x70, 0xce, 0xdb, 0xb0, 0x7c, 0xb1, 0xc3, + 0xb9, 0xdb, 0xbd, 0xdf, 0xf6, 0x98, 0xd1, 0x53, 0x84, 0xfc, 0x11, 0x61, 0x34, 0x17, 0xd1, 0x15, + 0x59, 0xa3, 0xb7, 0xa4, 0xb8, 0xa0, 0xb8, 0x08, 0x28, 0xae, 0x04, 0x5a, 0x64, 0x49, 0x18, 0xc1, + 0x5e, 0xce, 0x2f, 0x60, 0x56, 0x90, 0x28, 0x2f, 0x26, 0xb9, 0xd1, 0xee, 0xc1, 0x2b, 0xaf, 0x2f, + 0xa7, 0x2e, 0x83, 0xc4, 0x13, 0xa1, 0x81, 0xb0, 0x08, 0xc8, 0xf4, 0xe0, 0x92, 0x88, 0x0b, 0x18, + 0xaa, 0x9a, 0xb0, 0xeb, 0xbf, 0xf2, 0xbc, 0xe5, 0x34, 0xd5, 0x2e, 0xf1, 0x95, 0xf0, 0x7c, 0x39, + 0xa0, 0x78, 0x12, 0x24, 0x42, 0xcd, 0xcc, 0xbc, 0x2f, 0xdb, 0x6d, 0x0f, 0x8c, 0xcc, 0x0e, 0xa7, + 0x80, 0x72, 0x2e, 0x2f, 0xbc, 0x25, 0x86, 0x22, 0xb8, 0x0e, 0x93, 0x02, 0x72, 0x12, 0x29, 0x26, + 0xc1, 0x57, 0x4e, 0xc1, 0x76, 0x43, 0x04, 0x2c, 0xcd, 0x1d, 0x0c, 0x0b, 0x4a, 0x4c, 0x35, 0x67, + 0x89, 0x5c, 0x08, 0xd6, 0x9f, 0xc0, 0x7b, 0xae, 0x56, 0x4f, 0xec, 0xbf, 0xbf, 0xaf, 0x66, 0x06, + 0x07, 0x87, 0xeb, 0xef, 0xe1, 0x57, 0x47, 0x8f, 0xf8, 0x68, 0x11, 0xd7, 0x6c, 0xb6, 0x57, 0x36, + 0x7b, 0x8e, 0x19, 0x74, 0xa9, 0x66, 0x82, 0xf5, 0xd8, 0x8b, 0xe9, 0x74, 0xca, 0x56, 0x2b, 0x91, + 0xe4, 0x62, 0x99, 0xdf, 0x48, 0x13, 0xcd, 0xdd, 0x12, 0x37, 0x6f, 0x19, 0xc1, 0x18, 0xd8, 0xf8, + 0xed, 0x6b, 0xd6, 0x2b, 0xbf, 0x4e, 0x3e, 0x56, 0x5f, 0x9f, 0x4e, 0xc7, 0xa3, 0xcd, 0xe4, 0x87, + 0xea, 0xf3, 0x64, 0xcc, 0x7a, 0xf6, 0xd8, 0x7e, 0x2c, 0xa6, 0x61, 0x91, 0x98, 0x5e, 0xa9, 0xb3, + 0x15, 0x21, 0xf7, 0xff, 0x89, 0xda, 0xc6, 0xf8, 0xe0, 0x67, 0x67, 0x38, 0x91, 0x2c, 0x15, 0x52, + 0x94, 0x51, 0xde, 0xa3, 0x8b, 0x53, 0xf4, 0x30, 0xe7, 0xca, 0x97, 0x17, 0x88, 0x08, 0xa7, 0x36, + 0xd6, 0x07, 0x70, 0x30, 0x2d, 0x05, 0x11, 0x7b, 0x15, 0xb1, 0xf4, 0x3c, 0x9b, 0xc7, 0xb8, 0xf2, + 0x6b, 0x4e, 0xd2, 0xeb, 0x93, 0x52, 0x1c, 0x32, 0xd1, 0xda, 0x20, 0xbf, 0x60, 0xca, 0xc4, 0x69, + 0x3b, 0x6d, 0xc8, 0x52, 0x00, 0xb2, 0x59, 0x03, 0xf4, 0xcd, 0x40, 0xd6, 0xd0, 0x1b, 0x82, 0xfe, + 0xdc, 0x5c, 0x0c, 0x79, 0x17, 0xd1, 0xc3, 0x2a, 0x25, 0x2b, 0xf2, 0xb9, 0x4b, 0x73, 0x9e, 0xcd, + 0x8a, 0xe5, 0xd8, 0x8a, 0xe4, 0xd5, 0x72, 0x3c, 0xa2, 0x7e, 0x9e, 0xf4, 0x19, 0x51, 0x9e, 0x10, + 0x63, 0x7d, 0x5b, 0x3a, 0x7a, 0x03, 0x27, 0x02, 0xf2, 0xf7, 0x52, 0x20, 0x8c, 0xc3, 0x9d, 0x7d, + 0x80, 0x87, 0xac, 0xbb, 0x06, 0x56, 0xc1, 0x19, 0x6d, 0xa2, 0x6f, 0xf3, 0xfd, 0xc1, 0x5c, 0x3b, + 0x56, 0x59, 0x55, 0x25, 0xd2, 0x7b, 0xf9, 0x4d, 0x37, 0xbb, 0x65, 0xc3, 0xfd, 0xfe, 0x06, 0x7b, + 0xe9, 0xe7, 0x4f, 0x60, 0x0f, 0x2e, 0xac, 0x50, 0x57, 0x0a, 0x82, 0x93, 0x79, 0x19, 0x32, 0x0e, + 0xa9, 0xa2, 0xa4, 0x88, 0xb1, 0x08, 0x0d, 0x7b, 0xc7, 0x0d, 0x19, 0xc0, 0xc2, 0xeb, 0x6d, 0xc6, + 0x6d, 0xac, 0xb7, 0x8d, 0x9d, 0x5d, 0x3d, 0x7d, 0x61, 0xb5, 0xc1, 0x3e, 0xc7, 0xa5, 0xf3, 0x81, + 0xaa, 0x2f, 0x9d, 0xe3, 0xd2, 0xdb, 0xb7, 0x3b, 0xcf, 0x2f, 0x7c, 0xe4, 0x4f, 0x0b, 0x9d, 0x8d, + 0x5c, 0xda, 0x4f, 0xeb, 0x62, 0x40, 0xf5, 0x2b, 0x9f, 0x4c, 0x2b, 0x77, 0x9c, 0xa4, 0x48, 0x45, + 0xa1, 0x62, 0xbd, 0x94, 0x33, 0x1b, 0xf0, 0x26, 0xe9, 0x2d, 0xf3, 0x35, 0xdf, 0x2f, 0xcd, 0x9e, + 0x19, 0x5d, 0x08, 0xb6, 0xdf, 0x76, 0xd5, 0x31, 0x2b, 0x03, 0x22, 0xcc, 0xba, 0x07, 0x4b, 0x29, + 0x4d, 0xbb, 0x6f, 0x79, 0x54, 0x01, 0xaf, 0xa7, 0xf9, 0x65, 0xb5, 0x6b, 0x77, 0xa9, 0x56, 0xec, + 0xd2, 0xaf, 0xec, 0x8c, 0x9b, 0x86, 0x5d, 0x1d, 0xbb, 0x1a, 0x38, 0x3b, 0x28, 0xe2, 0x38, 0xfb, + 0xea, 0x88, 0x39, 0x0b, 0xa9, 0x38, 0x3b, 0x38, 0x04, 0xf7, 0x24, 0xcc, 0x73, 0xce, 0x72, 0xb6, + 0x0f, 0x71, 0x99, 0x54, 0xc8, 0xd0, 0x3d, 0x4b, 0x8a, 0x14, 0x9a, 0x71, 0x16, 0xaa, 0xbb, 0x35, + 0xcd, 0xed, 0x6d, 0xc2, 0xf6, 0xfb, 0xdb, 0xb1, 0x01, 0x7b, 0x28, 0xc3, 0x93, 0xec, 0x5b, 0x52, + 0x3c, 0x50, 0xe7, 0xd7, 0x50, 0x67, 0x9f, 0x5d, 0xae, 0x1e, 0x28, 0x07, 0x86, 0x58, 0x99, 0x80, + 0xa8, 0x65, 0x25, 0x8a, 0x58, 0xdc, 0x9e, 0x4e, 0x2d, 0x41, 0xfb, 0x10, 0x19, 0xa9, 0x22, 0xb9, + 0x74, 0x76, 0x97, 0x66, 0xd5, 0x73, 0x70, 0xc1, 0x35, 0x64, 0x9c, 0xa7, 0xc7, 0xf5, 0xf2, 0x40, + 0xaa, 0xac, 0x30, 0x0e, 0x41, 0xce, 0xd9, 0x5c, 0xc6, 0x31, 0x2a, 0x65, 0xa7, 0x2c, 0x49, 0x77, + 0x97, 0x62, 0xd5, 0xa3, 0xdd, 0xbb, 0x4b, 0x79, 0x4c, 0x5e, 0x07, 0x2c, 0x21, 0x63, 0x25, 0xf0, + 0x34, 0x84, 0xca, 0xd8, 0xf0, 0xb2, 0x27, 0x91, 0xf1, 0xfe, 0x6b, 0x6e, 0xbb, 0xcb, 0x74, 0x05, + 0x66, 0x1b, 0xb1, 0xb7, 0x38, 0xed, 0x2e, 0x2d, 0xc6, 0x9c, 0x04, 0x5f, 0x6b, 0x10, 0x1b, 0xbe, + 0xcc, 0x7a, 0x77, 0xa9, 0x57, 0xa8, 0x56, 0x2c, 0xa3, 0xca, 0x60, 0x5c, 0x33, 0x97, 0xb9, 0xbf, + 0xbf, 0xbb, 0x7c, 0x1e, 0xb9, 0xd5, 0xbe, 0x87, 0x1a, 0x7c, 0xa2, 0x87, 0x97, 0xab, 0x2d, 0x97, + 0x7c, 0xab, 0xd3, 0x0c, 0x35, 0x88, 0x2a, 0x93, 0xec, 0x73, 0xf5, 0x9e, 0x48, 0xa8, 0x9e, 0xf5, + 0xe0, 0xb4, 0xcd, 0x4a, 0x38, 0x7f, 0x73, 0xf7, 0x23, 0x24, 0xad, 0x9d, 0xc7, 0x3b, 0x3f, 0xbc, + 0xa0, 0xec, 0x2b, 0x11, 0xe0, 0x47, 0x3f, 0x9e, 0xfd, 0xfc, 0x13, 0xdd, 0x4c, 0x06, 0x26, 0x9c, + 0x11, 0x15, 0xd4, 0x5b, 0x5a, 0x47, 0x39, 0x09, 0x00, 0xee, 0xef, 0x37, 0x79, 0xba, 0x9a, 0xf2, + 0x4a, 0x11, 0x04, 0x86, 0x16, 0xc1, 0xbe, 0xb4, 0x79, 0xab, 0xbf, 0xed, 0x78, 0x32, 0x08, 0xeb, + 0x8a, 0x71, 0x9d, 0x7a, 0xda, 0xed, 0xbc, 0xac, 0x11, 0x34, 0x6f, 0x2e, 0xc3, 0x11, 0xfb, 0x65, + 0xf5, 0xb9, 0xc3, 0xb5, 0xe5, 0x05, 0xe1, 0x2c, 0xeb, 0xe6, 0x84, 0xb5, 0xe9, 0xe6, 0x84, 0x35, + 0xd8, 0xc6, 0xc4, 0x83, 0x32, 0xb5, 0x9c, 0xf6, 0x75, 0x29, 0xa4, 0xb7, 0xaa, 0x0a, 0x99, 0x87, + 0xc5, 0x2c, 0x95, 0x7f, 0x07, 0x20, 0xb1, 0xb5, 0xa4, 0x0c, 0xb2, 0x50, 0x03, 0xb4, 0x0a, 0xbb, + 0x3a, 0xee, 0x57, 0x95, 0xad, 0x8f, 0xc8, 0xab, 0xd6, 0x7c, 0x8a, 0x24, 0xd9, 0x52, 0xd2, 0x69, + 0x46, 0x5f, 0x65, 0x68, 0xb1, 0x31, 0x93, 0x28, 0x00, 0x9a, 0xf0, 0xca, 0x1d, 0x7d, 0x02, 0x4d, + 0x3e, 0xd6, 0x5b, 0x6a, 0xf7, 0x21, 0x52, 0x54, 0x70, 0x22, 0x15, 0x01, 0x67, 0x28, 0x81, 0x1b, + 0x5f, 0x6c, 0x95, 0xd6, 0xc8, 0x4c, 0x84, 0x31, 0xf1, 0x29, 0x23, 0x3a, 0x52, 0x25, 0x2d, 0xfc, + 0x88, 0x22, 0x32, 0x6f, 0x06, 0xf7, 0x65, 0x73, 0x01, 0x01, 0xbe, 0xce, 0xcd, 0x22, 0xa0, 0xdb, + 0xe2, 0xfe, 0x34, 0x01, 0x5d, 0x53, 0x51, 0x49, 0x46, 0x23, 0xe2, 0x11, 0x19, 0x22, 0x37, 0xde, + 0xb6, 0xdd, 0x8d, 0xd4, 0x34, 0xad, 0x2f, 0x54, 0x4b, 0xff, 0x84, 0x65, 0x91, 0xe8, 0xe5, 0xe9, + 0x64, 0x3f, 0xb0, 0x6c, 0xd4, 0xe1, 0x9b, 0xbe, 0xca, 0xec, 0xed, 0xc9, 0xf3, 0xee, 0xc5, 0x31, + 0xfd, 0x09, 0x2c, 0x9c, 0xf3, 0x34, 0x89, 0x91, 0x72, 0x4d, 0x8f, 0x92, 0x0f, 0xad, 0x42, 0x42, + 0xe4, 0x22, 0x94, 0xf1, 0xaf, 0xe3, 0xcf, 0x58, 0x57, 0x86, 0xca, 0x56, 0xf4, 0x19, 0x53, 0xd4, + 0xc3, 0xb8, 0x3d, 0x52, 0xee, 0x9e, 0x9a, 0xe4, 0x59, 0x9f, 0xb5, 0x11, 0xdf, 0x1b, 0x7d, 0x10, + 0x15, 0xbe, 0xcb, 0xa9, 0xa0, 0x38, 0x4d, 0xc5, 0xf5, 0xb1, 0x6d, 0xca, 0xd0, 0x93, 0xb1, 0xb6, + 0x2d, 0x8e, 0x29, 0xfe, 0xb6, 0x59, 0x27, 0x9a, 0xce, 0x82, 0xcf, 0x39, 0x20, 0xf6, 0x97, 0x68, + 0xa2, 0xe7, 0x69, 0xdc, 0x63, 0xb8, 0x04, 0x5b, 0x79, 0x81, 0x99, 0xa3, 0xd7, 0x42, 0xab, 0x01, + 0x20, 0xd2, 0xab, 0xba, 0x78, 0x46, 0x68, 0xd1, 0x9a, 0x52, 0xbc, 0xad, 0x45, 0x62, 0x99, 0x43, + 0xe6, 0x3b, 0x0a, 0xb4, 0x89, 0x54, 0x02, 0xee, 0x25, 0x2c, 0x33, 0x17, 0x95, 0xf7, 0x7a, 0x3f, + 0x69, 0xbb, 0xec, 0x78, 0x45, 0x50, 0x2c, 0xfc, 0x4d, 0x4d, 0x52, 0x86, 0x14, 0x14, 0xe0, 0x3e, + 0x25, 0x50, 0x4b, 0x02, 0xef, 0xb1, 0xe9, 0x11, 0xfe, 0xf3, 0xb0, 0xb3, 0xc8, 0x45, 0xa8, 0xa3, + 0x39, 0xba, 0x3a, 0x25, 0x6e, 0x9c, 0x9f, 0xff, 0xf6, 0x71, 0x6c, 0xc7, 0x67, 0xa1, 0x0e, 0x17, + 0xc4, 0x8c, 0xa0, 0x2f, 0x6b, 0xfb, 0x46, 0x92, 0x15, 0xbe, 0x7a, 0x22, 0xc9, 0x56, 0x27, 0x35, + 0x3b, 0x28, 0x74, 0x6b, 0x06, 0x16, 0xb0, 0x09, 0xe0, 0x97, 0xc8, 0xe1, 0xc3, 0xc1, 0xfc, 0xd5, + 0x90, 0x42, 0xd8, 0xa0, 0x83, 0x8f, 0x4b, 0xbf, 0x91, 0x20, 0xd7, 0x49, 0x1a, 0xca, 0x47, 0x0f, + 0x09, 0x5b, 0xde, 0xe1, 0x50, 0x25, 0xa3, 0x38, 0x60, 0x39, 0xd4, 0x9c, 0x38, 0xab, 0x9e, 0x0b, + 0xf2, 0x07, 0x8d, 0x97, 0x4a, 0xd1, 0x75, 0xa5, 0x85, 0x8a, 0x03, 0x0a, 0x69, 0x67, 0x5a, 0xe4, + 0xb9, 0x33, 0x90, 0xc3, 0x71, 0x78, 0x2d, 0x06, 0x1d, 0x39, 0x74, 0x4c, 0xea, 0x54, 0x4f, 0x16, + 0xf2, 0x5f, 0x68, 0xc3, 0xca, 0xfc, 0x94, 0x07, 0x68, 0x56, 0xac, 0x1e, 0x66, 0x49, 0x3a, 0x09, + 0x93, 0x1f, 0xce, 0x46, 0xa7, 0xf9, 0x63, 0x6d, 0xac, 0xa5, 0x38, 0x66, 0x13, 0xe0, 0x77, 0x85, + 0xd8, 0xa6, 0x52, 0xa8, 0xc7, 0x7f, 0xaa, 0xff, 0x29, 0x5f, 0x27, 0xaa, 0xae, 0xf9, 0x0b, 0x86, + 0x52, 0xf7, 0xdc, 0x9d, 0x1c, 0x2a, 0x3e, 0xce, 0xf8, 0x11, 0xf3, 0x51, 0xfe, 0xc0, 0x4e, 0xa0, + 0x1f, 0x2a, 0xcf, 0xa1, 0xe8, 0xdf, 0x61, 0x21, 0x7e, 0x13, 0x75, 0xb1, 0xd5, 0x57, 0xe6, 0xd7, + 0x63, 0x2a, 0x54, 0x05, 0x7a, 0x48, 0x41, 0x6d, 0xef, 0xdb, 0xf2, 0xce, 0x2e, 0x35, 0xd2, 0xe3, + 0x69, 0x60, 0xd3, 0xc4, 0x2f, 0x80, 0x23, 0x96, 0xe6, 0xce, 0x45, 0xae, 0xb5, 0xb3, 0x48, 0x16, + 0x0b, 0x09, 0x9a, 0x55, 0x6b, 0xd0, 0xa9, 0xde, 0x5f, 0x06, 0xf6, 0xe4, 0xe1, 0x77, 0x72, 0x41, + 0xcf, 0x36, 0x4e, 0xa1, 0x13, 0x97, 0x55, 0xa5, 0x33, 0x42, 0xa4, 0xd7, 0x07, 0xa1, 0x25, 0x80, + 0x56, 0x45, 0x18, 0x23, 0xa3, 0xa0, 0x49, 0x47, 0x36, 0x22, 0x04, 0x38, 0x83, 0xcf, 0x20, 0xc9, + 0xc0, 0x82, 0x16, 0x2d, 0x47, 0x62, 0x4c, 0x5f, 0xbf, 0xe5, 0x75, 0x3e, 0x1b, 0x4f, 0x51, 0x6a, + 0x58, 0x2f, 0xe1, 0x2c, 0x4b, 0x73, 0xc3, 0xb0, 0xaf, 0x94, 0x00, 0x25, 0x07, 0x89, 0x4f, 0x72, + 0x13, 0x83, 0x58, 0x5e, 0xd7, 0x65, 0x86, 0x49, 0xd1, 0xd3, 0xde, 0xb0, 0x61, 0xab, 0x39, 0x39, + 0x17, 0x49, 0xf6, 0x86, 0xb2, 0x59, 0x61, 0x0c, 0xae, 0x5e, 0x26, 0xd3, 0x72, 0x40, 0x3c, 0xa3, + 0x44, 0x46, 0x57, 0x9c, 0xbd, 0x27, 0x61, 0x8e, 0x07, 0x9d, 0x72, 0x01, 0x02, 0x83, 0xc3, 0x7a, + 0x4f, 0xeb, 0x99, 0x4d, 0x6f, 0x68, 0xd3, 0x9b, 0x30, 0xba, 0xda, 0xec, 0xdb, 0x3a, 0xa5, 0x94, + 0x97, 0x55, 0x96, 0xb6, 0x26, 0xd1, 0x10, 0x30, 0xcf, 0x42, 0x65, 0x6f, 0x9d, 0xe4, 0x79, 0x11, + 0xad, 0x8b, 0x1e, 0xdb, 0x71, 0xf4, 0x66, 0x5a, 0x08, 0xd5, 0xaf, 0xf4, 0xd9, 0xb3, 0xf6, 0x34, + 0xdc, 0x7b, 0x71, 0xd8, 0xed, 0x76, 0xbf, 0xea, 0x3b, 0x27, 0xdb, 0x8f, 0x0a, 0x60, 0x1d, 0xef, + 0x90, 0x46, 0xc0, 0x70, 0xe8, 0x34, 0xf9, 0x92, 0x6d, 0x6c, 0xf3, 0x45, 0x8b, 0xf3, 0x80, 0x6b, + 0x6b, 0xef, 0xc5, 0xb7, 0x47, 0x47, 0x47, 0xc4, 0xb5, 0x48, 0x62, 0xeb, 0x29, 0xa4, 0x9c, 0x6d, + 0x07, 0x0a, 0x2a, 0xee, 0x15, 0x28, 0x84, 0x2d, 0x9d, 0xd0, 0xf4, 0x0b, 0xa7, 0x55, 0x1d, 0xb4, + 0xcd, 0xbe, 0xf4, 0xec, 0x97, 0xcd, 0x77, 0xbc, 0x22, 0x83, 0x31, 0xbc, 0x1c, 0xfe, 0x60, 0x37, + 0x3b, 0xa3, 0x41, 0x5e, 0x64, 0xc3, 0x97, 0x38, 0x00, 0x3f, 0x27, 0x8e, 0x65, 0xe6, 0xb8, 0xef, + 0x7f, 0xf5, 0x5a, 0x04, 0xd3, 0x40, 0x6e, 0xcb, 0x5f, 0x75, 0x5f, 0x43, 0x17, 0x26, 0x74, 0x47, + 0x8f, 0x98, 0x6a, 0x46, 0x4f, 0x88, 0xf4, 0x1a, 0xf3, 0x6e, 0x7c, 0xf6, 0xea, 0xa5, 0x5f, 0xce, + 0x09, 0x47, 0x8b, 0x7f, 0x16, 0x12, 0x7e, 0x8e, 0x0f, 0xd4, 0xcb, 0x66, 0x07, 0xec, 0xe0, 0xe8, + 0xc4, 0x12, 0xdd, 0x6c, 0x6f, 0xab, 0xac, 0xaa, 0x8a, 0x8a, 0x4d, 0x59, 0xbb, 0x2e, 0x74, 0x2b, + 0x3b, 0x44, 0xfb, 0xeb, 0xb4, 0xa0, 0x72, 0xcb, 0x99, 0xef, 0x37, 0x4a, 0x28, 0x6a, 0x4c, 0xbd, + 0xfd, 0x4d, 0x1d, 0xec, 0x34, 0x93, 0x8a, 0xdd, 0x38, 0x74, 0xd0, 0x1e, 0xd7, 0xe7, 0xb5, 0x7e, + 0xe7, 0x81, 0xe8, 0xb2, 0x9d, 0x2f, 0x9d, 0xd7, 0x7a, 0xee, 0x40, 0x6c, 0x1c, 0x3e, 0xd7, 0x0f, + 0x55, 0x78, 0x8f, 0xcf, 0x46, 0x0d, 0x90, 0x2b, 0x8c, 0x5b, 0xff, 0x23, 0x90, 0x6b, 0x8c, 0x5b, + 0xf4, 0x3c, 0xf0, 0xc7, 0x50, 0xb6, 0x0f, 0x0a, 0x7f, 0x0a, 0x66, 0xbb, 0x73, 0xe8, 0x7c, 0x1a, + 0x8d, 0x4f, 0xff, 0x20, 0xd0, 0xb4, 0xe5, 0xcf, 0x21, 0x6d, 0x77, 0x5a, 0xdd, 0x7e, 0xf8, 0xbd, + 0xd7, 0x6c, 0xad, 0x95, 0xfb, 0xe1, 0xcb, 0x67, 0x3e, 0xaf, 0xdc, 0x0f, 0xac, 0xe9, 0x81, 0x2d, + 0x72, 0x41, 0xe4, 0x97, 0x61, 0xfd, 0xde, 0x58, 0x27, 0x8d, 0x20, 0x08, 0x2a, 0x32, 0x72, 0xbe, + 0x2f, 0x47, 0xbd, 0x75, 0x00, 0x6b, 0xfd, 0xa1, 0x08, 0xd6, 0xa1, 0x50, 0x8d, 0x1f, 0x0a, 0xe7, + 0x14, 0xdb, 0xe9, 0x1f, 0x0d, 0xff, 0x06, 0x3b, 0xc2, 0x77, 0x92, 0x7e, 0x18, 0x00, 0x00 }; diff --git a/wled00/json.cpp b/wled00/json.cpp index 77bfef8b..61e43711 100644 --- a/wled00/json.cpp +++ b/wled00/json.cpp @@ -687,7 +687,11 @@ void serializeInfo(JsonObject root) wifi_info[F("txPower")] = (int) WiFi.getTxPower(); wifi_info[F("sleep")] = (bool) WiFi.getSleep(); #endif - root[F("arch")] = "esp32"; + #if !defined(CONFIG_IDF_TARGET_ESP32C2) && !defined(CONFIG_IDF_TARGET_ESP32C3) && !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32S3) + root[F("arch")] = "esp32"; + #else + root[F("arch")] = ESP.getChipModel(); + #endif root[F("core")] = ESP.getSdkVersion(); //root[F("maxalloc")] = ESP.getMaxAllocHeap(); #ifdef WLED_DEBUG diff --git a/wled00/pin_manager.cpp b/wled00/pin_manager.cpp index 14d5b65b..7263f2ab 100644 --- a/wled00/pin_manager.cpp +++ b/wled00/pin_manager.cpp @@ -198,6 +198,38 @@ bool PinManagerClass::isPinAllocated(byte gpio, PinOwner tag) return bitRead(pinAlloc[by], bi); } +#ifdef CONFIG_IDF_TARGET_ESP32S3 +// ESP32-S3 GPIO layout + /* see https://docs.espressif.com/projects/esp-idf/en/latest/esp32s3/api-reference/peripherals/gpio.html + * The ESP32-S3 chip features 45 physical GPIO pins (GPIO0 ~ GPIO21 and GPIO26 ~ GPIO48). Each pin can be used as a general-purpose I/O + * Strapping pins: GPIO0, GPIO3, GPIO45 and GPIO46 are strapping pins. For more infomation, please refer to ESP32-S3 datasheet. + * USB-JTAG: GPIO 19 and 20 are used by USB-JTAG by default. In order to use them as GPIOs, USB-JTAG will be disabled by the drivers. + * Serial TX = GPIO43, RX = GPIO44; LED BUILTIN is usually GPIO39 + * SPI0/1: GPIO26-32 are usually used for SPI flash and PSRAM and not recommended for other uses. + * When using Octal Flash or Octal PSRAM or both, GPIO33~37 are connected to SPIIO4 ~ SPIIO7 and SPIDQS. Therefore, on boards embedded with ESP32-S3R8 / ESP32-S3R8V chip, GPIO33~37 are also not recommended for other uses. + * + * see https://docs.espressif.com/projects/esp-idf/en/v4.4.2/esp32s3/api-reference/peripherals/adc.html + * https://docs.espressif.com/projects/esp-idf/en/latest/esp32s3/api-reference/peripherals/adc_oneshot.html + * ADC1: GPIO1 - GPIO10 (channel 0..9) + * ADC2: GPIO11 - GPIO20 (channel 0..9) + * adc_power_acquire(): Please do not use the interrupt of GPIO36 and GPIO39 when using ADC or Wi-Fi and Bluetooth with sleep mode enabled. As a workaround, call adc_power_acquire() in the APP. + * Since the ADC2 module is also used by the Wi-Fi, reading operation of adc2_get_raw() may fail between esp_wifi_start() and esp_wifi_stop(). Use the return code to see whether the reading is successful. + */ +bool PinManagerClass::isPinOk(byte gpio, bool output) +{ + if (gpio < 19) return true; // 00 to 18 are for general use. Be careful about straping pins GPIO0 and GPIO3 - these may be pulled-up or pulled-down on your board. + if (gpio < 21) return false; // 19 + 20 = USB-JTAG. Not recommended for other uses. + if((gpio > 21) && (gpio < 26)) return false; // 22 to 25: not connected + + if (gpio < 33) return false; // 26 to 32: SPI flash and PSRAM. Not recommended for other uses. + //if (gpio <38) return false; // 33 to 37: not availeable if using _octal_ SPI Flash or _octal_ PSRAM + + if (gpio < 49) return true; // 38 to 48 are for general use. Be careful about straping pins GPIO45 and GPIO46 - these may be pull-up or pulled-down on your board. + + return false; +} + +#else // ESP32 and ESP8266 GPIO layout bool PinManagerClass::isPinOk(byte gpio, bool output) { if (gpio < 6) return true; @@ -212,6 +244,7 @@ bool PinManagerClass::isPinOk(byte gpio, bool output) return false; } +#endif PinOwner PinManagerClass::getPinOwner(byte gpio) { if (!isPinOk(gpio, false)) return PinOwner::None; @@ -219,11 +252,20 @@ PinOwner PinManagerClass::getPinOwner(byte gpio) { } #ifdef ARDUINO_ARCH_ESP32 +#if defined(CONFIG_IDF_TARGET_ESP32C3) + #define MAX_LED_CHANNELS 6 +#else + #if defined(CONFIG_IDF_TARGET_ESP32S2) || defined(CONFIG_IDF_TARGET_ESP32S3) + #define MAX_LED_CHANNELS 8 + #else + #define MAX_LED_CHANNELS 16 + #endif +#endif byte PinManagerClass::allocateLedc(byte channels) { - if (channels > 16 || channels == 0) return 255; + if (channels > MAX_LED_CHANNELS || channels == 0) return 255; byte ca = 0; - for (byte i = 0; i < 16; i++) { + for (byte i = 0; i < MAX_LED_CHANNELS; i++) { byte by = i >> 3; byte bi = i - 8*by; if (bitRead(ledcAlloc[by], bi)) { //found occupied pin @@ -248,7 +290,7 @@ byte PinManagerClass::allocateLedc(byte channels) void PinManagerClass::deallocateLedc(byte pos, byte channels) { for (byte j = pos; j < pos + channels; j++) { - if (j > 16) return; + if (j > MAX_LED_CHANNELS) return; byte by = j >> 3; byte bi = j - 8*by; bitWrite(ledcAlloc[by], bi, false); diff --git a/wled00/wled.cpp b/wled00/wled.cpp index c9f590fb..395d09e1 100644 --- a/wled00/wled.cpp +++ b/wled00/wled.cpp @@ -274,26 +274,54 @@ void WLED::setup() #ifdef ARDUINO_ARCH_ESP32 DEBUG_PRINT(F("esp32 ")); DEBUG_PRINTLN(ESP.getSdkVersion()); + + DEBUG_PRINT(F("CPU: ")); DEBUG_PRINT(ESP.getChipModel()); + DEBUG_PRINT(F(" rev. ")); DEBUG_PRINT(ESP.getChipRevision()); + DEBUG_PRINT(F(", ")); DEBUG_PRINT(ESP.getChipCores()); DEBUG_PRINT(F(" core(s)")); + DEBUG_PRINT(F(", ")); DEBUG_PRINT(ESP.getCpuFreqMHz()); DEBUG_PRINTLN(F("MHz.")); + DEBUG_PRINT(F("FLASH: ")); DEBUG_PRINT((ESP.getFlashChipSize()/1024)/1024); + DEBUG_PRINT(F("MB, Mode ")); DEBUG_PRINT(ESP.getFlashChipMode()); + #ifdef WLED_DEBUG + switch (ESP.getFlashChipMode()) { + // missing: Octal modes + case FM_QIO: DEBUG_PRINT(F(" (QIO)")); break; + case FM_QOUT: DEBUG_PRINT(F(" (QOUT)"));break; + case FM_DIO: DEBUG_PRINT(F(" (DIO)")); break; + case FM_DOUT: DEBUG_PRINT(F(" (DOUT)"));break; + default: break; + } + #endif + DEBUG_PRINT(F(", speed ")); DEBUG_PRINT(ESP.getFlashChipSpeed()/1000000);DEBUG_PRINTLN(F("MHz.")); + #else DEBUG_PRINT(F("esp8266 ")); DEBUG_PRINTLN(ESP.getCoreVersion()); #endif DEBUG_PRINT(F("heap ")); DEBUG_PRINTLN(ESP.getFreeHeap()); + DEBUG_PRINTLN(); #if defined(ARDUINO_ARCH_ESP32) && defined(WLED_USE_PSRAM) if (psramFound()) { +#if !defined(CONFIG_IDF_TARGET_ESP32S3) // GPIO16/GPIO17 reserved for SPI RAM managed_pin_type pins[2] = { {16, true}, {17, true} }; pinManager.allocateMultiplePins(pins, 2, PinOwner::SPI_RAM); - } +#endif + DEBUG_PRINT(F("Total PSRAM: ")); DEBUG_PRINT(ESP.getPsramSize()/1024); DEBUG_PRINTLN("kB"); + DEBUG_PRINT(F("Free PSRAM : ")); DEBUG_PRINT(ESP.getFreePsram()/1024); DEBUG_PRINTLN("kB"); + } else + DEBUG_PRINTLN(F("No PSRAM found.")); + #endif + #if defined(ARDUINO_ARCH_ESP32) && defined(BOARD_HAS_PSRAM) && !defined(WLED_USE_PSRAM) + DEBUG_PRINTLN(F("PSRAM not used.")); #endif //DEBUG_PRINT(F("LEDs inited. heap usage ~")); //DEBUG_PRINTLN(heapPreAlloc - ESP.getFreeHeap()); #ifdef WLED_DEBUG - pinManager.allocatePin(1, true, PinOwner::DebugOut); // GPIO1 reserved for debug output + pinManager.allocatePin(TX, true, PinOwner::DebugOut); // TX (GPIO1 on ESP32) reserved for debug output #endif #ifdef WLED_ENABLE_DMX //reserve GPIO2 as hardcoded DMX pin pinManager.allocatePin(2, true, PinOwner::DMX); @@ -348,7 +376,7 @@ void WLED::setup() #ifdef WLED_ENABLE_ADALIGHT //Serial RX (Adalight, Improv, Serial JSON) only possible if GPIO3 unused //Serial TX (Debug, Improv, Serial JSON) only possible if GPIO1 unused - if (!pinManager.isPinAllocated(3) && !pinManager.isPinAllocated(1)) { + if (!pinManager.isPinAllocated(RX) && !pinManager.isPinAllocated(TX)) { Serial.println(F("Ada")); } #endif diff --git a/wled00/wled_serial.cpp b/wled00/wled_serial.cpp index a73127e0..70dfacfc 100644 --- a/wled00/wled_serial.cpp +++ b/wled00/wled_serial.cpp @@ -26,7 +26,7 @@ void updateBaudRate(uint32_t rate){ if (rate100 == currentBaud || rate100 < 96) return; currentBaud = rate100; - if (!pinManager.isPinAllocated(1) || pinManager.getPinOwner(1) == PinOwner::DebugOut){ + if (!pinManager.isPinAllocated(TX) || pinManager.getPinOwner(TX) == PinOwner::DebugOut){ Serial.print(F("Baud is now ")); Serial.println(rate); } @@ -36,7 +36,7 @@ void updateBaudRate(uint32_t rate){ void handleSerial() { - if (pinManager.isPinAllocated(3)) return; + if (pinManager.isPinAllocated(RX)) return; #ifdef WLED_ENABLE_ADALIGHT static auto state = AdaState::Header_A; @@ -72,7 +72,7 @@ void handleSerial() } else if (next == 0xB7) {updateBaudRate(1500000); } else if (next == 'l') { //RGB(W) LED data return as JSON array. Slow, but easy to use on the other end. - if (!pinManager.isPinAllocated(1) || pinManager.getPinOwner(1) == PinOwner::DebugOut){ + if (!pinManager.isPinAllocated(TX) || pinManager.getPinOwner(TX) == PinOwner::DebugOut){ uint16_t used = strip.getLengthTotal(); Serial.write('['); for (uint16_t i=0; i()); //only send response if TX pin is unused for other purposes - if (verboseResponse && (!pinManager.isPinAllocated(1) || pinManager.getPinOwner(1) == PinOwner::DebugOut)) { + if (verboseResponse && (!pinManager.isPinAllocated(TX) || pinManager.getPinOwner(TX) == PinOwner::DebugOut)) { doc.clear(); JsonObject state = doc.createNestedObject("state"); serializeState(state); diff --git a/wled00/xml.cpp b/wled00/xml.cpp index 507478b1..774f40a4 100644 --- a/wled00/xml.cpp +++ b/wled00/xml.cpp @@ -259,7 +259,11 @@ void getSettingsJS(byte subPage, char* dest) // Pin reservations will become unnecessary when settings pages will read cfg.json directly // add reserved and usermod pins as d.um_p array - oappend(SET_F("d.um_p=[6,7,8,9,10,11")); +#if defined(CONFIG_IDF_TARGET_ESP32S3) + oappend(SET_F("d.um_p=[19,20,22,23,24,25,26,27,28,29,30,31,32")); // unusable GPIO on ESP32-S3 +#else + oappend(SET_F("d.um_p=[6,7,8,9,10,11")); // unusable GPIO on classic ESP32 +#endif if (i2c_sda > -1 && i2c_scl > -1) { oappend(","); oappend(itoa(i2c_sda,nS,10)); @@ -282,14 +286,14 @@ void getSettingsJS(byte subPage, char* dest) oappend(SET_F(",2")); // DMX hardcoded pin #endif - #ifdef WLED_DEBUG - oappend(SET_F(",1")); // debug output (TX) pin + #if defined(WLED_DEBUG) && !defined(CONFIG_IDF_TARGET_ESP32S3) + oappend(SET_F(",1")); // debug output (TX) pin - on classic ESP32 #endif //Note: Using pin 3 (RX) disables Adalight / Serial JSON - #if defined(ARDUINO_ARCH_ESP32) && defined(WLED_USE_PSRAM) - if (psramFound()) oappend(SET_F(",16,17")); // GPIO16 & GPIO17 reserved for SPI RAM + #if defined(ARDUINO_ARCH_ESP32) && defined(WLED_USE_PSRAM) && !defined(CONFIG_IDF_TARGET_ESP32S3) + if (psramFound()) oappend(SET_F(",16,17")); // GPIO16 & GPIO17 reserved for SPI RAM (on classic ESP32) #endif #ifdef WLED_USE_ETHERNET @@ -317,9 +321,9 @@ void getSettingsJS(byte subPage, char* dest) // set limits oappend(SET_F("bLimits(")); - #if defined(ESP32) && defined(USERMOD_AUDIOREACTIVE) + #if defined(ESP32) && defined(USERMOD_AUDIOREACTIVE) && !defined(CONFIG_IDF_TARGET_ESP32S3) // requested by @softhack007 https://github.com/blazoncek/WLED/issues/33 - oappend(itoa(WLED_MAX_BUSSES-2,nS,10)); oappend(","); // prevent use of I2S buses if audio installed + oappend(itoa(WLED_MAX_BUSSES-2,nS,10)); oappend(","); // prevent use of I2S buses if audio installed. ESP32-S3 currently does not support these busses. #else oappend(itoa(WLED_MAX_BUSSES,nS,10)); oappend(","); #endif