From 1f81fb9284e53a4b55169fca028a607d3219a644 Mon Sep 17 00:00:00 2001 From: Blaz Kristan Date: Thu, 21 Dec 2023 21:30:17 +0100 Subject: [PATCH 01/36] Implement JSON buffer in PSRAM to free up DRAM. --- wled00/FX_2Dfcn.cpp | 4 +-- wled00/FX_fcn.cpp | 5 +-- wled00/cfg.cpp | 69 +++++++++++++++++++++++------------------- wled00/ir.cpp | 4 +-- wled00/json.cpp | 2 +- wled00/mqtt.cpp | 4 +-- wled00/pin_manager.cpp | 5 ++- wled00/presets.cpp | 8 ++--- wled00/remote.cpp | 4 +-- wled00/set.cpp | 2 +- wled00/udp.cpp | 4 +-- wled00/util.cpp | 15 ++++++--- wled00/wled.cpp | 10 ++++++ wled00/wled.h | 9 ++++-- wled00/wled_eeprom.cpp | 4 +-- wled00/wled_serial.cpp | 12 ++++---- wled00/wled_server.cpp | 4 +-- wled00/ws.cpp | 14 ++++----- wled00/xml.cpp | 2 +- 19 files changed, 106 insertions(+), 75 deletions(-) diff --git a/wled00/FX_2Dfcn.cpp b/wled00/FX_2Dfcn.cpp index d2622f901..15ff0fdb5 100644 --- a/wled00/FX_2Dfcn.cpp +++ b/wled00/FX_2Dfcn.cpp @@ -94,12 +94,12 @@ void WS2812FX::setUpMatrix() { DEBUG_PRINT(F("Reading LED gap from ")); DEBUG_PRINTLN(fileName); // read the array into global JSON buffer - if (readObjectFromFile(fileName, nullptr, &doc)) { + if (readObjectFromFile(fileName, nullptr, pDoc)) { // the array is similar to ledmap, except it has only 3 values: // -1 ... missing pixel (do not increase pixel count) // 0 ... inactive pixel (it does count, but should be mapped out (-1)) // 1 ... active pixel (it will count and will be mapped) - JsonArray map = doc.as(); + JsonArray map = pDoc->as(); gapSize = map.size(); if (!map.isNull() && gapSize >= customMappingSize) { // not an empty map gapTable = new int8_t[gapSize]; diff --git a/wled00/FX_fcn.cpp b/wled00/FX_fcn.cpp index 42984a051..d4e4cf9a8 100644 --- a/wled00/FX_fcn.cpp +++ b/wled00/FX_fcn.cpp @@ -1670,7 +1670,7 @@ bool WS2812FX::deserializeMap(uint8_t n) { if (!requestJSONBufferLock(7)) return false; - if (!readObjectFromFile(fileName, nullptr, &doc)) { + if (!readObjectFromFile(fileName, nullptr, pDoc)) { releaseJSONBufferLock(); return false; //if file does not exist just exit } @@ -1685,7 +1685,8 @@ bool WS2812FX::deserializeMap(uint8_t n) { customMappingTable = nullptr; } - JsonArray map = doc[F("map")]; + JsonObject root = pDoc->as(); + JsonArray map = root[F("map")]; if (!map.isNull() && map.size()) { // not an empty map customMappingSize = map.size(); customMappingTable = new uint16_t[customMappingSize]; diff --git a/wled00/cfg.cpp b/wled00/cfg.cpp index b036dc1d4..948bcfada 100644 --- a/wled00/cfg.cpp +++ b/wled00/cfg.cpp @@ -609,7 +609,7 @@ void deserializeConfigFromFS() { DEBUG_PRINTLN(F("Reading settings from /cfg.json...")); - success = readObjectFromFile("/cfg.json", nullptr, &doc); + success = readObjectFromFile("/cfg.json", nullptr, pDoc); if (!success) { // if file does not exist, optionally try reading from EEPROM and then save defaults to FS releaseJSONBufferLock(); #ifdef WLED_ADD_EEPROM_SUPPORT @@ -630,7 +630,8 @@ void deserializeConfigFromFS() { // NOTE: This routine deserializes *and* applies the configuration // Therefore, must also initialize ethernet from this function - bool needsSave = deserializeConfig(doc.as(), true); + JsonObject root = pDoc->as(); + bool needsSave = deserializeConfig(root, true); releaseJSONBufferLock(); if (needsSave) serializeConfig(); // usermods required new parameters @@ -643,19 +644,21 @@ void serializeConfig() { if (!requestJSONBufferLock(2)) return; - JsonArray rev = doc.createNestedArray("rev"); + JsonObject root = pDoc->as(); + + JsonArray rev = root.createNestedArray("rev"); rev.add(1); //major settings revision rev.add(0); //minor settings revision - doc[F("vid")] = VERSION; + root[F("vid")] = VERSION; - JsonObject id = doc.createNestedObject("id"); + JsonObject id = root.createNestedObject("id"); id[F("mdns")] = cmDNS; id[F("name")] = serverDescription; id[F("inv")] = alexaInvocationName; id[F("sui")] = simplifiedUI; - JsonObject nw = doc.createNestedObject("nw"); + JsonObject nw = root.createNestedObject("nw"); #ifndef WLED_DISABLE_ESPNOW nw[F("espnow")] = enableESPNow; nw[F("linked_remote")] = linked_remote; @@ -677,7 +680,7 @@ void serializeConfig() { nw_ins_0_sn.add(staticSubnet[i]); } - JsonObject ap = doc.createNestedObject("ap"); + JsonObject ap = root.createNestedObject("ap"); ap[F("ssid")] = apSSID; ap[F("pskl")] = strlen(apPass); ap[F("chan")] = apChannel; @@ -690,12 +693,12 @@ void serializeConfig() { ap_ip.add(2); ap_ip.add(1); - JsonObject wifi = doc.createNestedObject("wifi"); + JsonObject wifi = root.createNestedObject("wifi"); wifi[F("sleep")] = !noWifiSleep; //wifi[F("phy")] = 1; #ifdef WLED_USE_ETHERNET - JsonObject ethernet = doc.createNestedObject("eth"); + JsonObject ethernet = root.createNestedObject("eth"); ethernet["type"] = ethernetType; if (ethernetType != WLED_ETH_NONE && ethernetType < WLED_NUM_ETH_TYPES) { JsonArray pins = ethernet.createNestedArray("pin"); @@ -718,7 +721,7 @@ void serializeConfig() { } #endif - JsonObject hw = doc.createNestedObject("hw"); + JsonObject hw = root.createNestedObject("hw"); JsonObject hw_led = hw.createNestedObject("led"); hw_led[F("total")] = strip.getLengthTotal(); //provided for compatibility on downgrade and per-output ABL @@ -830,7 +833,7 @@ void serializeConfig() { //JsonObject hw_status = hw.createNestedObject("status"); //hw_status["pin"] = -1; - JsonObject light = doc.createNestedObject(F("light")); + JsonObject light = root.createNestedObject(F("light")); light[F("scale-bri")] = briMultiplier; light[F("pal-mode")] = strip.paletteBlend; light[F("aseg")] = autoSegments; @@ -853,12 +856,12 @@ void serializeConfig() { light_nl[F("tbri")] = nightlightTargetBri; light_nl["macro"] = macroNl; - JsonObject def = doc.createNestedObject("def"); + JsonObject def = root.createNestedObject("def"); def["ps"] = bootPreset; def["on"] = turnOnAtBoot; def["bri"] = briS; - JsonObject interfaces = doc.createNestedObject("if"); + JsonObject interfaces = root.createNestedObject("if"); JsonObject if_sync = interfaces.createNestedObject("sync"); if_sync[F("port0")] = udpPort; @@ -961,7 +964,7 @@ void serializeConfig() { if_ntp[F("ln")] = longitude; if_ntp[F("lt")] = latitude; - JsonObject ol = doc.createNestedObject("ol"); + JsonObject ol = root.createNestedObject("ol"); ol[F("clock")] = overlayCurrent; ol[F("cntdwn")] = countdownMode; @@ -971,7 +974,7 @@ void serializeConfig() { ol[F("o5m")] = analogClock5MinuteMarks; ol[F("osec")] = analogClockSecondsTrail; - JsonObject timers = doc.createNestedObject(F("timers")); + JsonObject timers = root.createNestedObject(F("timers")); JsonObject cntdwn = timers.createNestedObject(F("cntdwn")); JsonArray goal = cntdwn.createNestedArray(F("goal")); @@ -999,14 +1002,14 @@ void serializeConfig() { } } - JsonObject ota = doc.createNestedObject("ota"); + JsonObject ota = root.createNestedObject("ota"); ota[F("lock")] = otaLock; ota[F("lock-wifi")] = wifiLock; ota[F("pskl")] = strlen(otaPass); ota[F("aota")] = aOtaEnabled; #ifdef WLED_ENABLE_DMX - JsonObject dmx = doc.createNestedObject("dmx"); + JsonObject dmx = root.createNestedObject("dmx"); dmx[F("chan")] = DMXChannels; dmx[F("gap")] = DMXGap; dmx["start"] = DMXStart; @@ -1020,11 +1023,11 @@ void serializeConfig() { dmx[F("e131proxy")] = e131ProxyUniverse; #endif - JsonObject usermods_settings = doc.createNestedObject("um"); + JsonObject usermods_settings = root.createNestedObject("um"); usermods.addToConfig(usermods_settings); File f = WLED_FS.open("/cfg.json", "w"); - if (f) serializeJson(doc, f); + if (f) serializeJson(*pDoc, f); f.close(); releaseJSONBufferLock(); @@ -1037,19 +1040,21 @@ bool deserializeConfigSec() { if (!requestJSONBufferLock(3)) return false; - bool success = readObjectFromFile("/wsec.json", nullptr, &doc); + bool success = readObjectFromFile("/wsec.json", nullptr, pDoc); if (!success) { releaseJSONBufferLock(); return false; } - JsonObject nw_ins_0 = doc["nw"]["ins"][0]; + JsonObject root = pDoc->as(); + + JsonObject nw_ins_0 = root["nw"]["ins"][0]; getStringFromJson(clientPass, nw_ins_0["psk"], 65); - JsonObject ap = doc["ap"]; + JsonObject ap = root["ap"]; getStringFromJson(apPass, ap["psk"] , 65); - [[maybe_unused]] JsonObject interfaces = doc["if"]; + [[maybe_unused]] JsonObject interfaces = root["if"]; #ifdef WLED_ENABLE_MQTT JsonObject if_mqtt = interfaces["mqtt"]; @@ -1060,10 +1065,10 @@ bool deserializeConfigSec() { getStringFromJson(hueApiKey, interfaces["hue"][F("key")], 47); #endif - getStringFromJson(settingsPIN, doc["pin"], 5); + getStringFromJson(settingsPIN, root["pin"], 5); correctPIN = !strlen(settingsPIN); - JsonObject ota = doc["ota"]; + JsonObject ota = root["ota"]; getStringFromJson(otaPass, ota[F("pwd")], 33); CJSON(otaLock, ota[F("lock")]); CJSON(wifiLock, ota[F("lock-wifi")]); @@ -1078,17 +1083,19 @@ void serializeConfigSec() { if (!requestJSONBufferLock(4)) return; - JsonObject nw = doc.createNestedObject("nw"); + JsonObject root = pDoc->as(); + + JsonObject nw = root.createNestedObject("nw"); JsonArray nw_ins = nw.createNestedArray("ins"); JsonObject nw_ins_0 = nw_ins.createNestedObject(); nw_ins_0["psk"] = clientPass; - JsonObject ap = doc.createNestedObject("ap"); + JsonObject ap = root.createNestedObject("ap"); ap["psk"] = apPass; - [[maybe_unused]] JsonObject interfaces = doc.createNestedObject("if"); + [[maybe_unused]] JsonObject interfaces = root.createNestedObject("if"); #ifdef WLED_ENABLE_MQTT JsonObject if_mqtt = interfaces.createNestedObject("mqtt"); if_mqtt["psk"] = mqttPass; @@ -1098,16 +1105,16 @@ void serializeConfigSec() { if_hue[F("key")] = hueApiKey; #endif - doc["pin"] = settingsPIN; + root["pin"] = settingsPIN; - JsonObject ota = doc.createNestedObject("ota"); + JsonObject ota = root.createNestedObject("ota"); ota[F("pwd")] = otaPass; ota[F("lock")] = otaLock; ota[F("lock-wifi")] = wifiLock; ota[F("aota")] = aOtaEnabled; File f = WLED_FS.open("/wsec.json", "w"); - if (f) serializeJson(doc, f); + if (f) serializeJson(*pDoc, f); f.close(); releaseJSONBufferLock(); } diff --git a/wled00/ir.cpp b/wled00/ir.cpp index fa253b015..3da4d68be 100644 --- a/wled00/ir.cpp +++ b/wled00/ir.cpp @@ -643,8 +643,8 @@ void decodeIRJson(uint32_t code) // this may fail for two reasons: ir.json does not exist or IR code not found // if the IR code is not found readObjectFromFile() will clean() doc JSON document // so we can differentiate between the two - readObjectFromFile("/ir.json", objKey, &doc); - fdo = doc.as(); + readObjectFromFile("/ir.json", objKey, pDoc); + fdo = pDoc->as(); lastValidCode = 0; if (fdo.isNull()) { //the received code does not exist diff --git a/wled00/json.cpp b/wled00/json.cpp index 5b20baac1..9a94796f2 100644 --- a/wled00/json.cpp +++ b/wled00/json.cpp @@ -1055,7 +1055,7 @@ void serveJson(AsyncWebServerRequest* request) servingClient = false; return; } - AsyncJsonResponse *response = new AsyncJsonResponse(&doc, subJson==JSON_PATH_FXDATA || subJson==JSON_PATH_EFFECTS); // will clear and convert JsonDocument into JsonArray if necessary + AsyncJsonResponse *response = new AsyncJsonResponse(pDoc, subJson==JSON_PATH_FXDATA || subJson==JSON_PATH_EFFECTS); // will clear and convert JsonDocument into JsonArray if necessary JsonVariant lDoc = response->getRoot(); diff --git a/wled00/mqtt.cpp b/wled00/mqtt.cpp index a5caaf472..3c753a9a9 100644 --- a/wled00/mqtt.cpp +++ b/wled00/mqtt.cpp @@ -109,8 +109,8 @@ void onMqttMessage(char* topic, char* payload, AsyncMqttClientMessageProperties return; } if (payloadStr[0] == '{') { //JSON API - deserializeJson(doc, payloadStr); - deserializeState(doc.as()); + deserializeJson(*pDoc, payloadStr); + deserializeState(pDoc->as()); } else { //HTTP API String apireq = "win"; apireq += '&'; // reduce flash string usage apireq += payloadStr; diff --git a/wled00/pin_manager.cpp b/wled00/pin_manager.cpp index a1ac59ce7..102acd0ea 100644 --- a/wled00/pin_manager.cpp +++ b/wled00/pin_manager.cpp @@ -238,7 +238,7 @@ bool PinManagerClass::isPinAllocated(byte gpio, PinOwner tag) // Check if supplied GPIO is ok to use bool PinManagerClass::isPinOk(byte gpio, bool output) { -#ifdef ESP32 +#ifdef ARDUINO_ARCH_ESP32 if (digitalPinIsValid(gpio)) { #if defined(CONFIG_IDF_TARGET_ESP32C3) // strapping pins: 2, 8, & 9 @@ -257,6 +257,9 @@ bool PinManagerClass::isPinOk(byte gpio, bool output) // GPIO46 is input only and pulled down #else if (gpio > 5 && gpio < 12) return false; //SPI flash pins + #ifdef BOARD_HAS_PSRAM + if (gpio == 16 || gpio == 17) return false; //PSRAM pins + #endif #endif if (output) return digitalPinCanOutput(gpio); else return true; diff --git a/wled00/presets.cpp b/wled00/presets.cpp index 975b68974..be6005492 100644 --- a/wled00/presets.cpp +++ b/wled00/presets.cpp @@ -27,7 +27,7 @@ static void doSaveState() { if (!requestJSONBufferLock(10)) return; // will set fileDoc initPresetsFile(); // just in case if someone deleted presets.json using /edit - JsonObject sObj = doc.to(); + JsonObject sObj = pDoc->to(); DEBUG_PRINTLN(F("Serialize current state")); if (playlistSave) { @@ -42,7 +42,7 @@ static void doSaveState() { /* #ifdef WLED_DEBUG DEBUG_PRINTLN(F("Serialized preset")); - serializeJson(doc,Serial); + serializeJson(*pDoc,Serial); DEBUG_PRINTLN(); #endif */ @@ -83,9 +83,9 @@ bool getPresetName(byte index, String& name) { if (!requestJSONBufferLock(9)) return false; bool presetExists = false; - if (readObjectFromFileUsingId(getFileName(), index, &doc)) + if (readObjectFromFileUsingId(getFileName(), index, pDoc)) { - JsonObject fdo = doc.as(); + JsonObject fdo = pDoc->as(); if (fdo["n"]) { name = (const char*)(fdo["n"]); presetExists = true; diff --git a/wled00/remote.cpp b/wled00/remote.cpp index e547903d2..c41d88421 100644 --- a/wled00/remote.cpp +++ b/wled00/remote.cpp @@ -123,8 +123,8 @@ static bool remoteJson(int button) sprintf_P(objKey, PSTR("\"%d\":"), button); // attempt to read command from remote.json - readObjectFromFile("/remote.json", objKey, &doc); - JsonObject fdo = doc.as(); + readObjectFromFile("/remote.json", objKey, pDoc); + JsonObject fdo = pDoc->as(); if (fdo.isNull()) { // the received button does not exist if (!WLED_FS.exists("/remote.json")) errorFlag = ERR_FS_RMLOAD; //warn if file itself doesn't exist diff --git a/wled00/set.cpp b/wled00/set.cpp index a63cd09c9..34f1d1ab0 100644 --- a/wled00/set.cpp +++ b/wled00/set.cpp @@ -625,7 +625,7 @@ void handleSettingsSet(AsyncWebServerRequest *request, byte subPage) } } - JsonObject um = doc.createNestedObject("um"); + JsonObject um = pDoc->createNestedObject("um"); size_t args = request->args(); uint16_t j=0; diff --git a/wled00/udp.cpp b/wled00/udp.cpp index e00fe0766..4c55a9727 100644 --- a/wled00/udp.cpp +++ b/wled00/udp.cpp @@ -664,8 +664,8 @@ void handleNotifications() apireq += (char*)udpIn; handleSet(nullptr, apireq); } else if (udpIn[0] == '{') { //JSON API - DeserializationError error = deserializeJson(doc, udpIn); - JsonObject root = doc.as(); + DeserializationError error = deserializeJson(*pDoc, udpIn); + JsonObject root = pDoc->as(); if (!error && !root.isNull()) deserializeState(root); } releaseJSONBufferLock(); diff --git a/wled00/util.cpp b/wled00/util.cpp index 8eedee8f4..d6fa9fb18 100644 --- a/wled00/util.cpp +++ b/wled00/util.cpp @@ -209,6 +209,10 @@ bool isAsterisksOnly(const char* str, byte maxLen) //threading/network callback details: https://github.com/Aircoookie/WLED/pull/2336#discussion_r762276994 bool requestJSONBufferLock(uint8_t module) { + if (pDoc == nullptr) { + DEBUG_PRINTLN(F("ERROR: JSON buffer not allocated!")); + return false; + } unsigned long now = millis(); while (jsonBufferLock && millis()-now < 1000) delay(1); // wait for a second for buffer lock @@ -224,8 +228,8 @@ bool requestJSONBufferLock(uint8_t module) DEBUG_PRINT(F("JSON buffer locked. (")); DEBUG_PRINT(jsonBufferLock); DEBUG_PRINTLN(")"); - fileDoc = &doc; // used for applying presets (presets.cpp) - doc.clear(); + fileDoc = pDoc; // used for applying presets (presets.cpp) + pDoc->clear(); return true; } @@ -556,11 +560,12 @@ void enumerateLedmaps() { #ifndef ESP8266 if (requestJSONBufferLock(21)) { - if (readObjectFromFile(fileName, nullptr, &doc)) { + if (readObjectFromFile(fileName, nullptr, pDoc)) { size_t len = 0; - if (!doc["n"].isNull()) { + JsonObject root = pDoc->as(); + if (!root["n"].isNull()) { // name field exists - const char *name = doc["n"].as(); + const char *name = root["n"].as(); if (name != nullptr) len = strlen(name); if (len > 0 && len < 33) { ledmapNames[i-1] = new char[len+1]; diff --git a/wled00/wled.cpp b/wled00/wled.cpp index 57a79d4d4..84140f9b1 100644 --- a/wled00/wled.cpp +++ b/wled00/wled.cpp @@ -346,6 +346,11 @@ void WLED::setup() DEBUG_PRINT(F("heap ")); DEBUG_PRINTLN(ESP.getFreeHeap()); #if defined(ARDUINO_ARCH_ESP32) && defined(BOARD_HAS_PSRAM) +/* + * The following code is obsolete as PinManager::isPinOK() will return false for reserved GPIO. + * Additionally xml.cpp will inform UI about reserved GPIO. + * + #if defined(CONFIG_IDF_TARGET_ESP32S3) // S3: reserve GPIO 33-37 for "octal" PSRAM managed_pin_type pins[] = { {33, true}, {34, true}, {35, true}, {36, true}, {37, true} }; @@ -363,12 +368,17 @@ void WLED::setup() managed_pin_type pins[] = { {16, true}, {17, true} }; pinManager.allocateMultiplePins(pins, sizeof(pins)/sizeof(managed_pin_type), PinOwner::SPI_RAM); #endif +*/ #if defined(WLED_USE_PSRAM) + pDoc = new PSRAMDynamicJsonDocument(2*JSON_BUFFER_SIZE); + if (!pDoc) pDoc = new PSRAMDynamicJsonDocument(JSON_BUFFER_SIZE); // falback if double sized buffer could not be allocated + // if the above still fails requestJsonBufferLock() will always return false preventing crashes if (psramFound()) { 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 + if (!pDoc) pDoc = &gDoc; // just in case ... (it should be globally assigned) DEBUG_PRINTLN(F("PSRAM not used.")); #endif #endif diff --git a/wled00/wled.h b/wled00/wled.h index 868403d3d..f799a7be9 100644 --- a/wled00/wled.h +++ b/wled00/wled.h @@ -8,7 +8,7 @@ */ // version code in format yymmddb (b = daily build) -#define VERSION 2312190 +#define VERSION 2312210 //uncomment this if you have a "my_config.h" file you'd like to use //#define WLED_USE_MY_CONFIG @@ -758,7 +758,12 @@ WLED_GLOBAL int8_t spi_sclk _INIT(SPISCLKPIN); #endif // global ArduinoJson buffer -WLED_GLOBAL StaticJsonDocument doc; +#if defined(ARDUINO_ARCH_ESP32) && defined(BOARD_HAS_PSRAM) && defined(WLED_USE_PSRAM) +WLED_GLOBAL JsonDocument *pDoc _INIT(nullptr); +#else +WLED_GLOBAL StaticJsonDocument gDoc; +WLED_GLOBAL JsonDocument *pDoc _INIT(&gDoc); +#endif WLED_GLOBAL volatile uint8_t jsonBufferLock _INIT(0); // enable additional debug output diff --git a/wled00/wled_eeprom.cpp b/wled00/wled_eeprom.cpp index 7c9933a9a..90e7dd4b3 100644 --- a/wled00/wled_eeprom.cpp +++ b/wled00/wled_eeprom.cpp @@ -371,7 +371,7 @@ void deEEP() { DEBUGFS_PRINTLN(F("Allocating saving buffer for dEEP")); if (!requestJSONBufferLock(8)) return; - JsonObject sObj = doc.to(); + JsonObject sObj = pDoc->to(); sObj.createNestedObject("0"); EEPROM.begin(EEPSIZE); @@ -448,7 +448,7 @@ void deEEP() { releaseJSONBufferLock(); return; } - serializeJson(doc, f); + serializeJson(*pDoc, f); f.close(); releaseJSONBufferLock(); diff --git a/wled00/wled_serial.cpp b/wled00/wled_serial.cpp index 4d920e340..c6e984035 100644 --- a/wled00/wled_serial.cpp +++ b/wled00/wled_serial.cpp @@ -115,21 +115,21 @@ void handleSerial() bool verboseResponse = false; if (!requestJSONBufferLock(16)) return; Serial.setTimeout(100); - DeserializationError error = deserializeJson(doc, Serial); + DeserializationError error = deserializeJson(*pDoc, Serial); if (error) { releaseJSONBufferLock(); return; } - verboseResponse = deserializeState(doc.as()); + verboseResponse = deserializeState(pDoc->as()); //only send response if TX pin is unused for other purposes if (verboseResponse && (!pinManager.isPinAllocated(hardwareTX) || pinManager.getPinOwner(hardwareTX) == PinOwner::DebugOut)) { - doc.clear(); - JsonObject state = doc.createNestedObject("state"); + pDoc->clear(); + JsonObject state = pDoc->createNestedObject("state"); serializeState(state); - JsonObject info = doc.createNestedObject("info"); + JsonObject info = pDoc->createNestedObject("info"); serializeInfo(info); - serializeJson(doc, Serial); + serializeJson(*pDoc, Serial); Serial.println(); } releaseJSONBufferLock(); diff --git a/wled00/wled_server.cpp b/wled00/wled_server.cpp index 7d9d1a1ec..dcb21990e 100644 --- a/wled00/wled_server.cpp +++ b/wled00/wled_server.cpp @@ -180,8 +180,8 @@ void initServer() if (!requestJSONBufferLock(14)) return; - DeserializationError error = deserializeJson(doc, (uint8_t*)(request->_tempObject)); - JsonObject root = doc.as(); + DeserializationError error = deserializeJson(*pDoc, (uint8_t*)(request->_tempObject)); + JsonObject root = pDoc->as(); if (error || root.isNull()) { releaseJSONBufferLock(); serveJsonError(request, 400, ERR_JSON); diff --git a/wled00/ws.cpp b/wled00/ws.cpp index a4deca4c4..7082a848d 100644 --- a/wled00/ws.cpp +++ b/wled00/ws.cpp @@ -38,8 +38,8 @@ void wsEvent(AsyncWebSocket * server, AsyncWebSocketClient * client, AwsEventTyp bool verboseResponse = false; if (!requestJSONBufferLock(11)) return; - DeserializationError error = deserializeJson(doc, data, len); - JsonObject root = doc.as(); + DeserializationError error = deserializeJson(*pDoc, data, len); + JsonObject root = pDoc->as(); if (error || root.isNull()) { releaseJSONBufferLock(); return; @@ -103,13 +103,13 @@ void sendDataWs(AsyncWebSocketClient * client) if (!requestJSONBufferLock(12)) return; - JsonObject state = doc.createNestedObject("state"); + JsonObject state = pDoc->createNestedObject("state"); serializeState(state); - JsonObject info = doc.createNestedObject("info"); + JsonObject info = pDoc->createNestedObject("info"); serializeInfo(info); - size_t len = measureJson(doc); - DEBUG_PRINTF("JSON buffer size: %u for WS request (%u).\n", doc.memoryUsage(), len); + size_t len = measureJson(*pDoc); + DEBUG_PRINTF("JSON buffer size: %u for WS request (%u).\n", pDoc->memoryUsage(), len); size_t heap1 = ESP.getFreeHeap(); DEBUG_PRINT(F("heap ")); DEBUG_PRINTLN(ESP.getFreeHeap()); @@ -136,7 +136,7 @@ void sendDataWs(AsyncWebSocketClient * client) } buffer->lock(); - serializeJson(doc, (char *)buffer->get(), len); + serializeJson(*pDoc, (char *)buffer->get(), len); DEBUG_PRINT(F("Sending WS data ")); if (client) { diff --git a/wled00/xml.cpp b/wled00/xml.cpp index 9a7fc4acd..05842911b 100644 --- a/wled00/xml.cpp +++ b/wled00/xml.cpp @@ -133,7 +133,7 @@ void appendGPIOinfo() { // usermod pin reservations will become unnecessary when settings pages will read cfg.json directly if (requestJSONBufferLock(6)) { // if we can't allocate JSON buffer ignore usermod pins - JsonObject mods = doc.createNestedObject(F("um")); + JsonObject mods = pDoc->createNestedObject(F("um")); usermods.addToConfig(mods); if (!mods.isNull()) fillUMPins(mods); releaseJSONBufferLock(); From 7af5b24b03399949de80cde87ae461ca664b86c3 Mon Sep 17 00:00:00 2001 From: Woody Date: Thu, 21 Dec 2023 22:17:43 +0100 Subject: [PATCH 02/36] Fix bug that welcome page was not shown --- wled00/wled.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/wled00/wled.cpp b/wled00/wled.cpp index 57a79d4d4..a0949147d 100644 --- a/wled00/wled.cpp +++ b/wled00/wled.cpp @@ -723,9 +723,10 @@ void WLED::initConnection() WiFi.mode(WIFI_STA); } } - showWelcomePage = false; if (WLED_WIFI_CONFIGURED) { + showWelcomePage = false; + DEBUG_PRINT(F("Connecting to ")); DEBUG_PRINT(clientSSID); DEBUG_PRINTLN("..."); From cf3f6ede7249e3bfe0e01066544e3202499cb417 Mon Sep 17 00:00:00 2001 From: Blaz Kristan Date: Fri, 22 Dec 2023 15:39:07 +0100 Subject: [PATCH 03/36] Suspend strip during operations --- wled00/FX.h | 13 ++++++++++--- wled00/FX_fcn.cpp | 26 +++++++++++++++----------- wled00/json.cpp | 7 ++++--- wled00/presets.cpp | 6 +++++- wled00/udp.cpp | 16 +++++++++------- wled00/wled.cpp | 2 +- wled00/wled_server.cpp | 4 +++- 7 files changed, 47 insertions(+), 27 deletions(-) diff --git a/wled00/FX.h b/wled00/FX.h index 1b5b00dae..1df13292c 100644 --- a/wled00/FX.h +++ b/wled00/FX.h @@ -531,7 +531,7 @@ typedef struct Segment { #endif static void handleRandomPalette(); - void setUp(uint16_t i1, uint16_t i2, uint8_t grp=1, uint8_t spc=0, uint16_t ofs=UINT16_MAX, uint16_t i1Y=0, uint16_t i2Y=1, uint8_t segId = 255); + void setUp(uint16_t i1, uint16_t i2, uint8_t grp=1, uint8_t spc=0, uint16_t ofs=UINT16_MAX, uint16_t i1Y=0, uint16_t i2Y=1); bool setColor(uint8_t slot, uint32_t c); //returns true if changed void setCCT(uint16_t k); void setOpacity(uint8_t o); @@ -697,6 +697,7 @@ class WS2812FX { // 96 bytes _colors_t{0,0,0}, _virtualSegmentLength(0), // true private variables + _suspend(false), _length(DEFAULT_LED_COUNT), _brightness(DEFAULT_BRIGHTNESS), _transitionDur(750), @@ -754,7 +755,7 @@ class WS2812FX { // 96 bytes setCCT(uint16_t k), setBrightness(uint8_t b, bool direct = false), setRange(uint16_t i, uint16_t i2, uint32_t col), - purgeSegments(bool force = false), + purgeSegments(void), setSegment(uint8_t n, uint16_t start, uint16_t stop, uint8_t grouping = 1, uint8_t spacing = 0, uint16_t offset = UINT16_MAX, uint16_t startY=0, uint16_t stopY=1), setMainSegmentId(uint8_t n), resetSegments(), @@ -777,6 +778,8 @@ class WS2812FX { // 96 bytes inline void setShowCallback(show_callback cb) { _callback = cb; } inline void setTransition(uint16_t t) { _transitionDur = t; } inline void appendSegment(const Segment &seg = Segment()) { if (_segments.size() < getMaxSegments()) _segments.push_back(seg); } + inline void suspend(void) { _suspend = true; } + inline void resume(void) { _suspend = false; } bool paletteFade, @@ -790,6 +793,7 @@ class WS2812FX { // 96 bytes inline bool isServicing(void) { return _isServicing; } inline bool hasWhiteChannel(void) {return _hasWhiteChannel;} inline bool isOffRefreshRequired(void) {return _isOffRefreshRequired;} + inline bool isSuspended(void) { return _suspend; } uint8_t paletteBlend, @@ -899,6 +903,8 @@ class WS2812FX { // 96 bytes friend class Segment; private: + volatile bool _suspend; + uint16_t _length; uint8_t _brightness; uint16_t _transitionDur; @@ -932,9 +938,10 @@ class WS2812FX { // 96 bytes uint16_t _qStart, _qStop, _qStartY, _qStopY; uint8_t _qGrouping, _qSpacing; uint16_t _qOffset; - +/* void setUpSegmentFromQueuedChanges(void); +*/ }; extern const char JSON_mode_names[]; diff --git a/wled00/FX_fcn.cpp b/wled00/FX_fcn.cpp index 42984a051..961f1ba73 100644 --- a/wled00/FX_fcn.cpp +++ b/wled00/FX_fcn.cpp @@ -468,7 +468,7 @@ void Segment::handleRandomPalette() { } // segId is given when called from network callback, changes are queued if that segment is currently in its effect function -void Segment::setUp(uint16_t i1, uint16_t i2, uint8_t grp, uint8_t spc, uint16_t ofs, uint16_t i1Y, uint16_t i2Y, uint8_t segId) { +void Segment::setUp(uint16_t i1, uint16_t i2, uint8_t grp, uint8_t spc, uint16_t ofs, uint16_t i1Y, uint16_t i2Y) { // return if neither bounds nor grouping have changed bool boundsUnchanged = (start == i1 && stop == i2); #ifndef WLED_DISABLE_2D @@ -1137,13 +1137,15 @@ void WS2812FX::finalizeInit(void) { void WS2812FX::service() { unsigned long nowUp = millis(); // Be aware, millis() rolls over every 49 days now = nowUp + timebase; - if (nowUp - _lastShow < MIN_SHOW_DELAY) return; + if (nowUp - _lastShow < MIN_SHOW_DELAY || _suspend) return; bool doShow = false; _isServicing = true; _segment_index = 0; Segment::handleRandomPalette(); // move it into for loop when each segment has individual random palette for (segment &seg : _segments) { + if (_suspend) break; // immediately stop processing segments if suspend requested during service() + // process transition (mode changes in the middle of transition) seg.handleTransition(); // reset the segment runtime data if needed @@ -1190,7 +1192,7 @@ void WS2812FX::service() { seg.next_time = nowUp + delay; } - if (_segment_index == _queuedChangesSegId) setUpSegmentFromQueuedChanges(); +// if (_segment_index == _queuedChangesSegId) setUpSegmentFromQueuedChanges(); _segment_index++; } _virtualSegmentLength = 0; @@ -1394,18 +1396,18 @@ bool WS2812FX::hasCCTBus(void) { return false; } -void WS2812FX::purgeSegments(bool force) { +void WS2812FX::purgeSegments() { // remove all inactive segments (from the back) int deleted = 0; if (_segments.size() <= 1) return; for (size_t i = _segments.size()-1; i > 0; i--) - if (_segments[i].stop == 0 || force) { + if (_segments[i].stop == 0) { deleted++; _segments.erase(_segments.begin() + i); } if (deleted) { _segments.shrink_to_fit(); - /*if (_mainSegment >= _segments.size())*/ setMainSegmentId(0); + setMainSegmentId(0); } } @@ -1420,7 +1422,7 @@ void WS2812FX::setSegment(uint8_t segId, uint16_t i1, uint16_t i2, uint8_t group appendSegment(Segment(0, strip.getLengthTotal())); segId = getSegmentsNum()-1; // segments are added at the end of list } - +/* if (_queuedChangesSegId == segId) _queuedChangesSegId = 255; // cancel queued change if already queued for this segment if (segId < getMaxSegments() && segId == getCurrSegmentId() && isServicing()) { // queue change to prevent concurrent access @@ -1432,17 +1434,19 @@ void WS2812FX::setSegment(uint8_t segId, uint16_t i1, uint16_t i2, uint8_t group DEBUG_PRINT(F("Segment queued: ")); DEBUG_PRINTLN(segId); return; // queued changes are applied immediately after effect function returns } - +*/ + suspend(); _segments[segId].setUp(i1, i2, grouping, spacing, offset, startY, stopY); + resume(); if (segId > 0 && segId == getSegmentsNum()-1 && i2 <= i1) _segments.pop_back(); // if last segment was deleted remove it from vector } - +/* void WS2812FX::setUpSegmentFromQueuedChanges() { if (_queuedChangesSegId >= getSegmentsNum()) return; - getSegment(_queuedChangesSegId).setUp(_qStart, _qStop, _qGrouping, _qSpacing, _qOffset, _qStartY, _qStopY); + _segments[_queuedChangesSegId].setUp(_qStart, _qStop, _qGrouping, _qSpacing, _qOffset, _qStartY, _qStopY); _queuedChangesSegId = 255; } - +*/ void WS2812FX::resetSegments() { _segments.clear(); // destructs all Segment as part of clearing #ifndef WLED_DISABLE_2D diff --git a/wled00/json.cpp b/wled00/json.cpp index 5b20baac1..6bbc5c04b 100644 --- a/wled00/json.cpp +++ b/wled00/json.cpp @@ -117,9 +117,8 @@ bool deserializeSegment(JsonObject elem, byte it, byte presetId) if (stop > start && of > len -1) of = len -1; // update segment (delete if necessary) - // do not call seg.setUp() here, as it may cause a crash due to concurrent access if the segment is currently drawing effects - // WS2812FX handles queueing of the change - strip.setSegment(id, start, stop, grp, spc, of, startY, stopY); + seg.setUp(start, stop, grp, spc, of, startY, stopY); // strip needs to be suspended for this to work without issues + if (newSeg) seg.refreshLightCapabilities(); // fix for #3403 if (seg.reset && seg.stop == 0) { @@ -381,6 +380,7 @@ bool deserializeState(JsonObject root, byte callMode, byte presetId) int it = 0; JsonVariant segVar = root["seg"]; + if (!segVar.isNull()) strip.suspend(); if (segVar.is()) { int id = segVar["id"] | -1; @@ -408,6 +408,7 @@ bool deserializeState(JsonObject root, byte callMode, byte presetId) } if (strip.getSegmentsNum() > 3 && deleted >= strip.getSegmentsNum()/2U) strip.purgeSegments(); // batch deleting more than half segments } + strip.resume(); usermods.readFromJsonState(root); diff --git a/wled00/presets.cpp b/wled00/presets.cpp index 975b68974..60b3cf692 100644 --- a/wled00/presets.cpp +++ b/wled00/presets.cpp @@ -24,7 +24,9 @@ static void doSaveState() { bool persist = (presetToSave < 251); const char *filename = getFileName(persist); - if (!requestJSONBufferLock(10)) return; // will set fileDoc + unsigned long start = millis(); + while (strip.isUpdating() && millis()-start > (2*FRAMETIME_FIXED)+1) yield(); // wait 2 frames + if (strip.isUpdating() || !requestJSONBufferLock(10)) return; // will set fileDoc initPresetsFile(); // just in case if someone deleted presets.json using /edit JsonObject sObj = doc.to(); @@ -132,7 +134,9 @@ void applyPresetWithFallback(uint8_t index, uint8_t callMode, uint8_t effectID, void handlePresets() { if (presetToSave) { + strip.suspend(); doSaveState(); + strip.resume(); return; } diff --git a/wled00/udp.cpp b/wled00/udp.cpp index e00fe0766..b7a98c768 100644 --- a/wled00/udp.cpp +++ b/wled00/udp.cpp @@ -286,10 +286,10 @@ void parseNotifyPacket(uint8_t *udpIn) { uint16_t stopY = version > 11 ? (udpIn[34+ofs] << 8 | udpIn[35+ofs]) : 1; uint16_t offset = (udpIn[7+ofs] << 8 | udpIn[8+ofs]); if (!receiveSegmentOptions) { - //selseg.setUp(start, stop, selseg.grouping, selseg.spacing, offset, startY, stopY); - // we have to use strip.setSegment() instead of selseg.setUp() to prevent crash if segment would change during drawing DEBUG_PRINTF("Set segment w/o options: %d [%d,%d;%d,%d]\n", id, (int)start, (int)stop, (int)startY, (int)stopY); - strip.setSegment(id, start, stop, selseg.grouping, selseg.spacing, offset, startY, stopY); + strip.suspend(); //should not be needed as UDP handling is not done in ISR callbacks but still added "just in case" + selseg.setUp(start, stop, selseg.grouping, selseg.spacing, offset, startY, stopY); + strip.resume(); continue; // we do receive bounds, but not options } selseg.options = (selseg.options & 0x0071U) | (udpIn[9 +ofs] & 0x0E); // ignore selected, freeze, reset & transitional @@ -326,12 +326,14 @@ void parseNotifyPacket(uint8_t *udpIn) { } if (receiveSegmentBounds) { DEBUG_PRINTF("Set segment w/ options: %d [%d,%d;%d,%d]\n", id, (int)start, (int)stop, (int)startY, (int)stopY); - // we have to use strip.setSegment() instead of selseg.setUp() to prevent crash if segment would change during drawing - strip.setSegment(id, start, stop, udpIn[5+ofs], udpIn[6+ofs], offset, startY, stopY); + strip.suspend(); //should not be needed as UDP handling is not done in ISR callbacks but still added "just in case" + selseg.setUp(start, stop, udpIn[5+ofs], udpIn[6+ofs], offset, startY, stopY); + strip.resume(); } else { - // we have to use strip.setSegment() instead of selseg.setUp() to prevent crash if segment would change during drawing DEBUG_PRINTF("Set segment grouping: %d [%d,%d]\n", id, (int)udpIn[5+ofs], (int)udpIn[6+ofs]); - strip.setSegment(id, selseg.start, selseg.stop, udpIn[5+ofs], udpIn[6+ofs], selseg.offset, selseg.startY, selseg.stopY); + strip.suspend(); //should not be needed as UDP handling is not done in ISR callbacks but still added "just in case" + selseg.setUp(selseg.start, selseg.stop, udpIn[5+ofs], udpIn[6+ofs], selseg.offset, selseg.startY, selseg.stopY); + strip.resume(); } } stateChanged = true; diff --git a/wled00/wled.cpp b/wled00/wled.cpp index 57a79d4d4..e50bc8310 100644 --- a/wled00/wled.cpp +++ b/wled00/wled.cpp @@ -846,7 +846,7 @@ void WLED::handleConnection() DEBUG_PRINT(F("Heap too low! ")); DEBUG_PRINTLN(heap); forceReconnect = true; - strip.purgeSegments(true); // remove all but one segments from memory + strip.resetSegments(); } else if (heap < MIN_HEAP_SIZE) { strip.purgeSegments(); } diff --git a/wled00/wled_server.cpp b/wled00/wled_server.cpp index 7d9d1a1ec..11020abff 100644 --- a/wled00/wled_server.cpp +++ b/wled00/wled_server.cpp @@ -289,8 +289,9 @@ void initServer() #endif usermods.onUpdateBegin(true); // notify usermods that update is about to begin (some may require task de-init) lastEditTime = millis(); // make sure PIN does not lock during update + strip.suspend(); #ifdef ESP8266 - strip.purgeSegments(true); // free as much memory as you can + strip.resetSegments(); // free as much memory as you can Update.runAsync(true); #endif Update.begin((ESP.getFreeSketchSpace() - 0x1000) & 0xFFFFF000); @@ -301,6 +302,7 @@ void initServer() DEBUG_PRINTLN(F("Update Success")); } else { DEBUG_PRINTLN(F("Update Failed")); + strip.resume(); usermods.onUpdateBegin(false); // notify usermods that update has failed (some may require task init) #if WLED_WATCHDOG_TIMEOUT > 0 WLED::instance().enableWatchdog(); From 08d9f7d967228043972350fcad2266822b335566 Mon Sep 17 00:00:00 2001 From: Blaz Kristan Date: Sat, 23 Dec 2023 21:05:01 +0100 Subject: [PATCH 04/36] Fix for #2922 --- wled00/cfg.cpp | 4 +- wled00/data/settings_wifi.htm | 1 + wled00/html_settings.h | 322 +++++++++++++++++----------------- wled00/set.cpp | 1 + wled00/wled.cpp | 2 +- wled00/wled.h | 1 + wled00/xml.cpp | 1 + 7 files changed, 169 insertions(+), 163 deletions(-) diff --git a/wled00/cfg.cpp b/wled00/cfg.cpp index b036dc1d4..489793b24 100644 --- a/wled00/cfg.cpp +++ b/wled00/cfg.cpp @@ -79,7 +79,7 @@ bool deserializeConfig(JsonObject doc, bool fromFS) { noWifiSleep = doc[F("wifi")][F("sleep")] | !noWifiSleep; // inverted noWifiSleep = !noWifiSleep; - //int wifi_phy = doc[F("wifi")][F("phy")]; //force phy mode n? + force802_3g = doc[F("wifi")][F("phy")] | force802_3g; //force phy mode g? JsonObject hw = doc[F("hw")]; @@ -692,7 +692,7 @@ void serializeConfig() { JsonObject wifi = doc.createNestedObject("wifi"); wifi[F("sleep")] = !noWifiSleep; - //wifi[F("phy")] = 1; + wifi[F("phy")] = (int)force802_3g; #ifdef WLED_USE_ETHERNET JsonObject ethernet = doc.createNestedObject("eth"); diff --git a/wled00/data/settings_wifi.htm b/wled00/data/settings_wifi.htm index f083a91d8..24e6000cc 100644 --- a/wled00/data/settings_wifi.htm +++ b/wled00/data/settings_wifi.htm @@ -192,6 +192,7 @@
AP IP: Not active

Experimental

+ Force 802.11g mode (ESP8266 only):
Disable WiFi sleep:
Can help with connectivity issues.
Do not enable if WiFi is working correctly, increases power consumption.
diff --git a/wled00/html_settings.h b/wled00/html_settings.h index 9bfbfd1ab..4c426c163 100644 --- a/wled00/html_settings.h +++ b/wled00/html_settings.h @@ -145,167 +145,169 @@ const uint8_t PAGE_settings[] PROGMEM = { // Autogenerated from wled00/data/settings_wifi.htm, do not edit!! -const uint16_t PAGE_settings_wifi_length = 2533; +const uint16_t PAGE_settings_wifi_length = 2567; const uint8_t PAGE_settings_wifi[] PROGMEM = { - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x13, 0xad, 0x59, 0xfb, 0x73, 0xdb, 0xb8, - 0x11, 0xfe, 0x5d, 0x7f, 0x05, 0x8c, 0x76, 0x3c, 0xe4, 0x98, 0xa6, 0x2c, 0xfb, 0x1e, 0xa9, 0x2c, - 0x2a, 0xf5, 0x43, 0x97, 0xb8, 0xe7, 0x38, 0x6e, 0xe4, 0x9e, 0xa7, 0x93, 0x66, 0xae, 0x34, 0x09, - 0x49, 0x48, 0x28, 0x82, 0x25, 0x40, 0xc9, 0x1e, 0xdb, 0xff, 0x7b, 0xbf, 0x05, 0x48, 0xbd, 0x6c, - 0xe7, 0x3a, 0x69, 0x26, 0x33, 0x11, 0x09, 0x2c, 0xf6, 0xbd, 0x1f, 0x76, 0xe9, 0xde, 0xd6, 0xe9, - 0xfb, 0x93, 0xab, 0x7f, 0x5e, 0x0e, 0xd8, 0xc4, 0x4c, 0xb3, 0x7e, 0x8f, 0xfe, 0x67, 0x59, 0x9c, - 0x8f, 0x23, 0x2e, 0x72, 0x8e, 0x77, 0x11, 0xa7, 0xfd, 0xde, 0x54, 0x98, 0x98, 0x25, 0x93, 0xb8, - 0xd4, 0xc2, 0x44, 0xbc, 0x32, 0xa3, 0xdd, 0x57, 0xbc, 0x5e, 0x6d, 0x25, 0x2a, 0x37, 0x22, 0xc7, - 0xf2, 0x5c, 0xa6, 0x66, 0x12, 0xa5, 0x62, 0x26, 0x13, 0xb1, 0x6b, 0x5f, 0x02, 0x99, 0x4b, 0x23, - 0xe3, 0x6c, 0x57, 0x27, 0x71, 0x26, 0xa2, 0x4e, 0x30, 0x8d, 0x6f, 0xe5, 0xb4, 0x9a, 0x2e, 0xde, - 0x2b, 0x2d, 0x4a, 0xfb, 0x12, 0xdf, 0xe0, 0x3d, 0x57, 0x9c, 0xb5, 0xf2, 0x78, 0x2a, 0x22, 0x3e, - 0x93, 0x62, 0x5e, 0xa8, 0xd2, 0x40, 0x8a, 0x91, 0x26, 0x13, 0xfd, 0x6b, 0xf9, 0x8b, 0x64, 0x43, - 0x61, 0x8c, 0xcc, 0xc7, 0xba, 0xd7, 0x76, 0x8b, 0x3d, 0x9d, 0x94, 0xb2, 0x30, 0xfd, 0xd6, 0x2c, - 0x2e, 0x59, 0xa6, 0x12, 0x59, 0x04, 0x69, 0x94, 0xaa, 0xa4, 0x9a, 0x42, 0xa1, 0x00, 0x0b, 0xd1, - 0x56, 0x87, 0x7e, 0x8a, 0x52, 0x19, 0x15, 0xf1, 0x89, 0x31, 0x45, 0x97, 0x07, 0x90, 0x97, 0x9f, - 0x2b, 0x55, 0xe8, 0x68, 0x2f, 0x28, 0x4a, 0x31, 0xc4, 0xeb, 0x70, 0x78, 0x76, 0x1a, 0x71, 0x7e, - 0x38, 0xaa, 0xf2, 0xc4, 0x48, 0x95, 0xb3, 0xf1, 0x59, 0xea, 0x19, 0xff, 0xbe, 0x14, 0xa6, 0x2a, - 0x73, 0x96, 0x86, 0x63, 0x61, 0x06, 0x99, 0x20, 0xb6, 0xc7, 0x77, 0x76, 0xeb, 0x71, 0x41, 0x9a, - 0x0c, 0xd6, 0x28, 0x93, 0x52, 0xc4, 0x46, 0xd4, 0xc4, 0x6b, 0x84, 0x46, 0x8d, 0xc7, 0x99, 0x20, - 0x62, 0xc7, 0x3d, 0x4c, 0xb2, 0x58, 0xeb, 0x73, 0xa9, 0x4d, 0x58, 0x6f, 0xf1, 0x89, 0x4c, 0x05, - 0xf7, 0x03, 0xda, 0xe7, 0x17, 0x8a, 0xef, 0x7c, 0x85, 0x68, 0xc9, 0xf7, 0xad, 0xe7, 0xdf, 0xcf, - 0x65, 0x9e, 0xaa, 0x79, 0xa8, 0x0a, 0x91, 0x7b, 0xd6, 0x4e, 0xdd, 0x6d, 0xb7, 0xbf, 0xe4, 0x2a, - 0x9c, 0x67, 0x82, 0xb4, 0x6f, 0x8f, 0xa0, 0x55, 0x55, 0x0a, 0xdd, 0xd6, 0xb5, 0x0f, 0xdb, 0x7f, - 0x9a, 0xcb, 0x91, 0xdc, 0x6d, 0x5e, 0x57, 0x19, 0x1e, 0x6f, 0x30, 0x84, 0xf1, 0xff, 0xf8, 0x70, - 0xee, 0xf1, 0xf6, 0x92, 0x38, 0xe0, 0xbf, 0x6b, 0x91, 0x8d, 0x56, 0x4f, 0x5d, 0xe0, 0x14, 0x72, - 0x41, 0x1b, 0x66, 0x22, 0x6b, 0x00, 0xf9, 0x99, 0xfb, 0x87, 0x26, 0x4c, 0xa5, 0xa6, 0xf8, 0xa6, - 0xd1, 0xd6, 0x5e, 0x00, 0x33, 0xc4, 0xad, 0x39, 0x69, 0x72, 0x86, 0x9c, 0x9f, 0x83, 0x65, 0x18, - 0x86, 0x3c, 0x18, 0x09, 0x93, 0x4c, 0x96, 0xd2, 0x3e, 0x6b, 0x95, 0xb7, 0x73, 0x61, 0xb8, 0xef, - 0x87, 0x66, 0x02, 0x3d, 0x4c, 0xd4, 0x37, 0x21, 0xad, 0x7a, 0x2b, 0x2b, 0xef, 0x6f, 0x3e, 0x8b, - 0xc4, 0x84, 0x70, 0x92, 0x1c, 0xe7, 0xde, 0xfd, 0x63, 0x70, 0x8f, 0x23, 0x73, 0x55, 0x7e, 0xd1, - 0xdd, 0x8f, 0x9f, 0x1e, 0x03, 0x78, 0xb0, 0x79, 0x0f, 0x35, 0x12, 0xca, 0xf3, 0x4c, 0x20, 0xfc, - 0xa8, 0x2f, 0xc2, 0x12, 0x27, 0x76, 0x8d, 0xfd, 0xf1, 0xc3, 0x52, 0xa4, 0x55, 0x22, 0x9a, 0x4d, - 0xcf, 0x80, 0x76, 0x2a, 0x9c, 0x40, 0xec, 0xa7, 0x51, 0x14, 0x09, 0xfb, 0xe0, 0x3f, 0x3c, 0x98, - 0xb0, 0xa8, 0xf4, 0xc4, 0x13, 0x3e, 0x78, 0x07, 0x1f, 0x3f, 0x35, 0xaa, 0x88, 0xa8, 0x7f, 0x2f, - 0x47, 0xde, 0x9e, 0x25, 0xcd, 0x44, 0x3e, 0x36, 0x93, 0xed, 0xed, 0x45, 0xaa, 0xf5, 0x3a, 0x7b, - 0x7e, 0x9d, 0x22, 0x8b, 0xb5, 0x9d, 0x9d, 0x60, 0xa6, 0x64, 0xca, 0xe0, 0xd5, 0x2b, 0x39, 0x15, - 0xaa, 0x32, 0xde, 0x45, 0xd0, 0x11, 0x07, 0xfe, 0xe1, 0x4a, 0x86, 0x1e, 0x66, 0xc2, 0x30, 0xe5, - 0x1c, 0x7a, 0x32, 0x84, 0x3b, 0x21, 0x43, 0xf9, 0xf7, 0xb4, 0x6a, 0x22, 0xa4, 0x1e, 0x47, 0x18, - 0x60, 0xbf, 0xf5, 0x33, 0x18, 0x1d, 0x19, 0x53, 0xca, 0x9b, 0xca, 0x20, 0x4d, 0x64, 0xca, 0x03, - 0x7b, 0x24, 0xd8, 0xdc, 0xa1, 0x12, 0x7b, 0x69, 0x4f, 0xe5, 0x28, 0xf3, 0x7c, 0x4c, 0xfb, 0x57, - 0x9e, 0x0f, 0x82, 0xd5, 0x0a, 0x51, 0xe1, 0x2c, 0xce, 0x2a, 0x71, 0x38, 0x52, 0xa5, 0x47, 0x1a, - 0x08, 0xe8, 0x27, 0x7a, 0x26, 0x4c, 0x26, 0x32, 0x4b, 0x4b, 0x91, 0xd7, 0x76, 0x1f, 0x8a, 0x9d, - 0x1d, 0x1f, 0x9e, 0x15, 0x53, 0x35, 0x13, 0x27, 0xb4, 0xe7, 0x2d, 0x69, 0x3e, 0x8a, 0x4f, 0xfe, - 0x82, 0x41, 0x0e, 0x06, 0x79, 0xaf, 0xf1, 0xd7, 0x61, 0x8e, 0x73, 0x75, 0x0e, 0x49, 0x6b, 0x9c, - 0x2a, 0x28, 0xb5, 0xc8, 0xea, 0x0d, 0x35, 0xad, 0x1e, 0x3c, 0x10, 0x1f, 0xf3, 0x4f, 0x2e, 0x2e, - 0x81, 0x5c, 0x4b, 0xac, 0x7f, 0xff, 0xf9, 0x7e, 0xb1, 0xf7, 0xc8, 0xbc, 0xfa, 0x8d, 0x62, 0xfd, - 0xc8, 0xd2, 0xe3, 0xa9, 0xff, 0xef, 0xe5, 0x51, 0x04, 0xac, 0xb6, 0x6b, 0x7b, 0x7b, 0x53, 0x8c, - 0x73, 0xae, 0x20, 0x4f, 0x2e, 0x1e, 0xc9, 0x67, 0x71, 0x81, 0xba, 0x48, 0x9d, 0x69, 0xd2, 0x7f, - 0x74, 0x2a, 0xe7, 0xeb, 0x2a, 0xe7, 0xcf, 0xab, 0xcc, 0xb7, 0x4e, 0xa8, 0x7e, 0xf2, 0xf5, 0x3a, - 0x78, 0x8f, 0x1c, 0x2a, 0x59, 0x9d, 0xa9, 0xb6, 0x18, 0xd6, 0x85, 0xe4, 0x7e, 0xa0, 0xe0, 0xd0, - 0x22, 0x8b, 0x13, 0x71, 0x2d, 0xcd, 0x84, 0x80, 0x65, 0xb5, 0xb0, 0x3a, 0xcf, 0x15, 0x16, 0x7f, - 0x5c, 0x29, 0x4f, 0x44, 0xb3, 0xce, 0x9a, 0xb5, 0x5c, 0xda, 0x32, 0x0f, 0x0f, 0x56, 0xa5, 0xad, - 0xc8, 0x38, 0x2f, 0xd4, 0x79, 0x7a, 0xe8, 0x02, 0x4c, 0x26, 0xc9, 0xbc, 0xa8, 0x28, 0xc3, 0x44, - 0x68, 0xee, 0x0a, 0x80, 0x33, 0x09, 0x82, 0xef, 0x43, 0xf8, 0x8e, 0xf8, 0xe0, 0xc9, 0x81, 0xb6, - 0x7b, 0x5e, 0xb7, 0x1a, 0x88, 0xef, 0x82, 0xcb, 0x83, 0x83, 0x7d, 0x1f, 0xdb, 0x56, 0x46, 0xb4, - 0x92, 0x55, 0x81, 0x59, 0x33, 0x4c, 0xac, 0xe8, 0x9c, 0xa9, 0x38, 0xfd, 0xdb, 0x90, 0x8a, 0x12, - 0xd0, 0xe1, 0xd4, 0x57, 0x2e, 0xe9, 0x2d, 0xee, 0x43, 0x25, 0xb5, 0x19, 0xb0, 0x32, 0xe1, 0x54, - 0x97, 0x9b, 0xeb, 0xa4, 0x38, 0x7c, 0x4f, 0x9a, 0xb7, 0x3f, 0xc7, 0xb3, 0xb8, 0x61, 0xf0, 0x84, - 0x30, 0xd6, 0x77, 0x39, 0x58, 0xa0, 0xba, 0xd3, 0xf0, 0x46, 0xa5, 0x77, 0x6b, 0x51, 0x50, 0x44, - 0x1f, 0xa7, 0xe9, 0x60, 0x06, 0x1f, 0x13, 0x26, 0x8b, 0x5c, 0x94, 0x1e, 0x27, 0x35, 0x79, 0xe0, - 0x01, 0x38, 0xee, 0xdf, 0x08, 0xf3, 0x9b, 0xe7, 0x3f, 0x3e, 0x4f, 0x27, 0xca, 0x52, 0x95, 0x50, - 0x0f, 0x74, 0x94, 0x31, 0x2a, 0x43, 0xe2, 0xab, 0xb1, 0xc7, 0x07, 0xb4, 0xce, 0x6a, 0x7b, 0x01, - 0x86, 0x6c, 0x24, 0x33, 0x61, 0xcd, 0xc0, 0x2d, 0x09, 0xc8, 0xe2, 0xe7, 0xf5, 0xba, 0x1a, 0x31, - 0x1c, 0x1c, 0xc9, 0x71, 0x55, 0xc6, 0xd6, 0x41, 0xce, 0x0c, 0x36, 0x8a, 0x25, 0xc1, 0xfc, 0xbf, - 0xf2, 0xb3, 0x3c, 0x51, 0xd3, 0x02, 0x7e, 0x12, 0xac, 0x88, 0xc7, 0x82, 0xa5, 0xb1, 0x89, 0xb7, - 0x00, 0xd2, 0x2b, 0x3e, 0x1d, 0x2e, 0xf2, 0xa0, 0x86, 0x78, 0xdc, 0x8f, 0x96, 0x19, 0x65, 0x03, - 0x27, 0xc9, 0x5d, 0x1e, 0x21, 0x17, 0xec, 0x9d, 0x99, 0xa8, 0xcc, 0xb7, 0xd7, 0xe8, 0x5e, 0xe0, - 0xd9, 0xfb, 0x35, 0x22, 0xea, 0x6c, 0x68, 0x54, 0x09, 0xf6, 0x74, 0x2b, 0x9e, 0x19, 0x31, 0x25, - 0x0f, 0x24, 0x67, 0x05, 0x70, 0xfa, 0xe1, 0xa1, 0x26, 0xc3, 0xe9, 0x69, 0x01, 0xcd, 0x7f, 0x01, - 0x3f, 0xf6, 0x4e, 0xa5, 0x22, 0x64, 0x97, 0x99, 0x88, 0xb5, 0x60, 0xf0, 0x08, 0x32, 0xfd, 0xfa, - 0x7c, 0x70, 0xca, 0xce, 0x2e, 0xa1, 0x5b, 0xb0, 0xc6, 0x51, 0xaf, 0x73, 0x0c, 0x2c, 0x37, 0x1f, - 0xa9, 0x97, 0x69, 0x71, 0xef, 0x32, 0x12, 0xaa, 0xc5, 0x66, 0x42, 0x19, 0x17, 0x28, 0x42, 0xe5, - 0x0c, 0xed, 0x86, 0xd7, 0x41, 0x66, 0x21, 0x4c, 0xda, 0xa6, 0x10, 0x6f, 0x73, 0xff, 0xf5, 0x6e, - 0xa7, 0x6b, 0xd1, 0x75, 0xcf, 0x0f, 0x75, 0x91, 0x49, 0x63, 0x57, 0x91, 0x2f, 0x2e, 0x1b, 0xfb, - 0xfb, 0xdb, 0xdb, 0x9e, 0x0a, 0x0b, 0x55, 0x78, 0x14, 0x2b, 0xf7, 0xbb, 0xe8, 0x14, 0x96, 0xd6, - 0x07, 0xb5, 0xf5, 0xce, 0x2a, 0x13, 0x4e, 0x94, 0x36, 0x24, 0x7a, 0x07, 0x88, 0x46, 0xfd, 0xc9, - 0x6b, 0xde, 0xc5, 0x2d, 0x6d, 0x1f, 0xbb, 0x9c, 0xfb, 0x3b, 0x10, 0xb2, 0xa3, 0xc2, 0xcf, 0x4a, - 0xe6, 0x56, 0x9e, 0xff, 0x58, 0xa7, 0xf0, 0x93, 0x2b, 0xb4, 0xad, 0x71, 0x93, 0xbd, 0x2e, 0xa2, - 0x0e, 0x3c, 0xb0, 0xd5, 0xb1, 0xb2, 0xa1, 0x51, 0x1a, 0x0e, 0x47, 0x61, 0x6c, 0x03, 0x15, 0x3d, - 0x3d, 0x42, 0x17, 0x36, 0xf1, 0x5c, 0x76, 0x29, 0x8e, 0x64, 0xd1, 0x7e, 0x90, 0xf3, 0x5f, 0x37, - 0x56, 0x40, 0x17, 0x28, 0x63, 0x15, 0xb7, 0xaa, 0x99, 0xc7, 0x56, 0xaf, 0x5d, 0x37, 0x4c, 0x3d, - 0x6d, 0xee, 0xd0, 0x3f, 0xfd, 0x55, 0x4e, 0x49, 0x73, 0x56, 0x95, 0x19, 0x4a, 0x87, 0x96, 0xc2, - 0x44, 0x03, 0x9d, 0x0e, 0x41, 0x68, 0x09, 0x7a, 0x6d, 0xd7, 0xff, 0x51, 0x25, 0x20, 0x41, 0xc9, - 0x18, 0x40, 0x0b, 0xee, 0x85, 0x7e, 0x0f, 0x10, 0x3e, 0x6d, 0x31, 0x82, 0x00, 0x7a, 0xfa, 0x5d, - 0x73, 0xe6, 0x40, 0x60, 0x38, 0xe2, 0x0c, 0x8d, 0xe1, 0x44, 0x61, 0xa7, 0x80, 0xb7, 0x40, 0x9a, - 0xca, 0x19, 0xb3, 0x6d, 0x0c, 0xa0, 0x43, 0x41, 0xb7, 0xf9, 0xfa, 0xda, 0x44, 0x64, 0xc5, 0x31, - 0xef, 0xb7, 0x7a, 0xa8, 0x40, 0x43, 0x7d, 0x92, 0x05, 0x19, 0xf7, 0xc2, 0x21, 0x35, 0x41, 0x84, - 0xbf, 0x44, 0xfc, 0x2d, 0x89, 0x7d, 0xdd, 0x6b, 0xbb, 0x0d, 0xa8, 0x06, 0x16, 0xfd, 0xe7, 0xcf, - 0xb4, 0x16, 0x87, 0x8e, 0xe9, 0xd0, 0x71, 0x9c, 0x7c, 0x59, 0x9e, 0x5b, 0x3b, 0xa1, 0xab, 0x9b, - 0xa9, 0x84, 0x8e, 0xc3, 0x78, 0x26, 0xd8, 0x36, 0x03, 0x7c, 0xe6, 0x40, 0xf9, 0x25, 0xf1, 0xa4, - 0x84, 0x5e, 0x4e, 0xd2, 0x64, 0xdf, 0x35, 0xa1, 0x08, 0x47, 0x55, 0xc0, 0x31, 0xfb, 0x58, 0x3a, - 0xe8, 0xd7, 0x27, 0xd0, 0xdc, 0x31, 0x71, 0x8b, 0x4a, 0xa7, 0x32, 0xad, 0x61, 0x1c, 0x34, 0x07, - 0x0b, 0x71, 0xad, 0x75, 0x0d, 0xc9, 0x6f, 0xb6, 0x3f, 0x5a, 0xda, 0x77, 0x41, 0xaa, 0x12, 0x28, - 0xae, 0xa8, 0x0a, 0xe9, 0x17, 0x8e, 0x99, 0xf5, 0x2e, 0xf3, 0x2c, 0x60, 0x32, 0x81, 0xda, 0xba, - 0x23, 0x91, 0xb9, 0x32, 0x84, 0x08, 0xa4, 0x81, 0xdf, 0x25, 0xf2, 0x9e, 0xc5, 0x6a, 0xb6, 0x82, - 0xd3, 0xac, 0x46, 0xe9, 0xa6, 0xb3, 0xa6, 0xc7, 0x05, 0x28, 0x47, 0xfc, 0x60, 0x9f, 0x5b, 0x39, - 0x8d, 0x98, 0x02, 0x21, 0xc1, 0x43, 0xfa, 0x94, 0x5b, 0xb3, 0xb3, 0xe4, 0x74, 0xb9, 0xc6, 0xe9, - 0xa7, 0x03, 0xc7, 0x69, 0x68, 0x00, 0x27, 0x09, 0x8a, 0x9b, 0xe1, 0x8a, 0x27, 0xb7, 0xc6, 0x86, - 0xed, 0x85, 0xf6, 0x1f, 0x43, 0xaa, 0xb0, 0xd3, 0xb7, 0x27, 0x97, 0x6b, 0xca, 0xd6, 0xec, 0xce, - 0xf6, 0x78, 0x2d, 0x29, 0xaf, 0xa6, 0x37, 0xa2, 0xe4, 0x4d, 0x7e, 0x20, 0xb5, 0xa6, 0x32, 0x8f, - 0xf8, 0x9e, 0x15, 0x17, 0xf1, 0xfd, 0x1f, 0x7f, 0xe4, 0xac, 0x14, 0xff, 0xa9, 0x24, 0xba, 0xb6, - 0x3e, 0x0b, 0xd9, 0x06, 0x9f, 0xce, 0x77, 0xe2, 0xb3, 0xff, 0x9d, 0xf8, 0x1c, 0x7c, 0x13, 0x9f, - 0x15, 0x57, 0x8e, 0x31, 0x50, 0xcc, 0xe3, 0xbb, 0x6e, 0x6b, 0xc5, 0x69, 0x8e, 0xf7, 0x9b, 0x6f, - 0xf6, 0x59, 0x6b, 0x9d, 0xcf, 0x77, 0xf2, 0xd9, 0x9b, 0xef, 0xe4, 0xb3, 0x37, 0xdf, 0xee, 0xb3, - 0x56, 0xed, 0x34, 0x54, 0x36, 0xea, 0x10, 0x54, 0xfa, 0x4b, 0xf7, 0x89, 0xdf, 0x86, 0xff, 0x83, - 0xdf, 0x5a, 0x5f, 0x55, 0xb4, 0xe6, 0xd3, 0xf9, 0x4e, 0x7c, 0xf6, 0xbf, 0x13, 0x9f, 0x83, 0x6f, - 0xe3, 0x43, 0x0e, 0x9a, 0x9e, 0x5e, 0x0c, 0x19, 0x9a, 0x16, 0x0c, 0x89, 0xba, 0x29, 0x5d, 0x07, - 0x34, 0x54, 0xb5, 0xb9, 0x62, 0x44, 0xe0, 0x0a, 0xd7, 0x0e, 0xd2, 0xed, 0x76, 0x2d, 0xbb, 0xb5, - 0x06, 0x37, 0x35, 0x36, 0xbc, 0x7b, 0x82, 0x32, 0xcc, 0x76, 0x1a, 0x19, 0x9d, 0x3f, 0xc9, 0x24, - 0xda, 0x00, 0x40, 0x44, 0x97, 0xf5, 0x74, 0x11, 0xe7, 0x0b, 0x2d, 0x65, 0x81, 0x7b, 0xe0, 0x62, - 0x09, 0x6a, 0x22, 0xc5, 0x4d, 0x04, 0x02, 0xab, 0x60, 0x0d, 0xb7, 0xb6, 0xfd, 0x11, 0xec, 0x28, - 0x49, 0x48, 0xd1, 0x4b, 0x5c, 0xb5, 0xc6, 0x22, 0x6d, 0xeb, 0xe8, 0x92, 0x11, 0x3c, 0x3e, 0xab, - 0xfb, 0xd1, 0xe5, 0x8b, 0xf8, 0xe8, 0x14, 0x3e, 0x7a, 0x0a, 0x8b, 0xb6, 0xdc, 0xde, 0x62, 0xd8, - 0xc6, 0x69, 0x4b, 0xd5, 0x65, 0x6b, 0xc7, 0x93, 0x89, 0x48, 0xbe, 0xdc, 0xa8, 0xdb, 0x05, 0x8b, - 0xb7, 0x0e, 0x00, 0x49, 0x91, 0x06, 0x2c, 0x9f, 0x2a, 0x43, 0x13, 0xb5, 0xff, 0x35, 0x74, 0xad, - 0x99, 0x5d, 0xba, 0x48, 0xad, 0xa0, 0x2b, 0x98, 0x1a, 0xf4, 0x4e, 0x88, 0xa2, 0x17, 0xde, 0xbf, - 0x0a, 0x7e, 0x3a, 0x78, 0xf4, 0x1f, 0x70, 0x67, 0x30, 0xfb, 0x2d, 0x24, 0xe2, 0x03, 0x2b, 0x02, - 0x12, 0x10, 0xe8, 0x90, 0xbd, 0xb2, 0x9f, 0x6b, 0xd0, 0x4a, 0x88, 0x52, 0x37, 0x6a, 0xad, 0x78, - 0x8c, 0xd9, 0xab, 0x8c, 0x46, 0xbd, 0x5c, 0x64, 0xdd, 0xf5, 0x24, 0x3a, 0x3a, 0x79, 0x21, 0x89, - 0x6e, 0x9b, 0x2c, 0xea, 0x34, 0x59, 0xd4, 0x39, 0xd8, 0x48, 0x22, 0x98, 0x4e, 0x06, 0x6a, 0x0a, - 0xac, 0x1d, 0x98, 0x1a, 0x9e, 0xb8, 0xe0, 0x7b, 0x6e, 0x34, 0x62, 0x6e, 0x02, 0x40, 0x2a, 0x52, - 0xa8, 0x9b, 0x48, 0xd3, 0x46, 0x3c, 0xa2, 0xd6, 0xf0, 0x46, 0x29, 0x04, 0xd4, 0xd1, 0x6e, 0x9e, - 0xe9, 0xf0, 0xfe, 0xa9, 0xd4, 0x2b, 0xc9, 0xb1, 0x41, 0xd6, 0xaa, 0xe9, 0x10, 0xbd, 0xa3, 0x0c, - 0x90, 0xa9, 0x5f, 0x62, 0x84, 0xbb, 0xea, 0x42, 0xcc, 0x20, 0xcd, 0xa3, 0x2b, 0xb4, 0x14, 0x68, - 0x9b, 0xa7, 0xe8, 0x1f, 0x45, 0xea, 0x2f, 0x4e, 0x50, 0xb7, 0x64, 0x4d, 0x68, 0x0c, 0x7b, 0x3e, - 0x5d, 0x29, 0x5b, 0xa9, 0x63, 0x9b, 0x89, 0x8d, 0x54, 0x1d, 0xdc, 0x16, 0xa2, 0x94, 0xf4, 0x15, - 0x08, 0x49, 0x6f, 0x13, 0xf4, 0xd4, 0x8d, 0x6b, 0xce, 0xf7, 0x3a, 0x13, 0xa2, 0xf8, 0x83, 0x8c, - 0xba, 0x1e, 0xba, 0xd0, 0xf5, 0x64, 0xbf, 0x75, 0x02, 0xb9, 0xd4, 0x29, 0xb1, 0x39, 0x5a, 0xdc, - 0x85, 0xd7, 0x66, 0x12, 0x31, 0x97, 0x5a, 0x57, 0x42, 0x87, 0x36, 0xc8, 0xa7, 0xae, 0x29, 0x10, - 0xb9, 0x95, 0x24, 0x47, 0x4e, 0x98, 0xd4, 0x8c, 0x6e, 0x77, 0x6a, 0x4e, 0x12, 0x55, 0xc2, 0x5c, - 0x93, 0xdd, 0x05, 0x4c, 0xe6, 0xf4, 0xb1, 0x4a, 0x0b, 0xcd, 0x0a, 0x35, 0x87, 0x2f, 0x68, 0x28, - 0xa9, 0xa6, 0xd6, 0xfa, 0xb0, 0xd7, 0x96, 0xd6, 0x8a, 0xd6, 0x60, 0x78, 0xb9, 0x7b, 0xf1, 0xfe, - 0x1a, 0x7c, 0x4a, 0x78, 0x43, 0x6b, 0xd7, 0xd5, 0x50, 0xfb, 0x46, 0x8d, 0xc5, 0x85, 0xc2, 0x3e, - 0xb6, 0x17, 0x39, 0x62, 0x3f, 0x4e, 0x41, 0xe1, 0xe6, 0x7d, 0x1e, 0x97, 0x39, 0x02, 0x7d, 0x35, - 0x81, 0x0a, 0x23, 0x59, 0x4e, 0xf1, 0x2e, 0xd8, 0x4d, 0x85, 0x69, 0x8a, 0xa5, 0x0a, 0x92, 0x49, - 0x59, 0xe8, 0x91, 0x55, 0x28, 0xb3, 0x46, 0x94, 0xae, 0x0a, 0x6a, 0x4b, 0xad, 0x41, 0x56, 0x0f, - 0xd7, 0x80, 0x91, 0xcc, 0x16, 0x09, 0xad, 0x45, 0xf6, 0x07, 0xce, 0xc8, 0xfa, 0xd8, 0x1f, 0xf8, - 0xf2, 0xc3, 0x60, 0xe9, 0x4b, 0x37, 0x92, 0xd9, 0x72, 0x14, 0x34, 0xa2, 0x69, 0xa6, 0x28, 0x17, - 0x6a, 0x46, 0xd6, 0x8f, 0xbf, 0x22, 0x3a, 0xac, 0x99, 0xaf, 0xc9, 0x8f, 0xa4, 0x68, 0xa5, 0xc9, - 0x83, 0x31, 0xa3, 0x2f, 0x1b, 0x18, 0xb1, 0x70, 0x7c, 0x5e, 0x7b, 0x85, 0xd1, 0xd8, 0xf8, 0x75, - 0x8f, 0xb6, 0x1a, 0x73, 0x2e, 0x63, 0x2a, 0x17, 0xf6, 0xc1, 0x31, 0x79, 0x77, 0x74, 0xb2, 0xa1, - 0xf9, 0x2a, 0x2c, 0x7d, 0x78, 0x47, 0xd5, 0x88, 0xa2, 0x6b, 0x70, 0xa0, 0xb3, 0xbf, 0x8e, 0x0b, - 0x9d, 0xba, 0x7f, 0x3b, 0x8f, 0xb5, 0x61, 0xee, 0xdb, 0x2b, 0x3a, 0x54, 0x91, 0x6f, 0xa4, 0x6a, - 0x99, 0xc9, 0x74, 0xb5, 0x2f, 0xb6, 0x83, 0x06, 0x31, 0xaf, 0xe7, 0x71, 0x83, 0xf8, 0xac, 0x7e, - 0x40, 0xe0, 0xcc, 0x0e, 0x00, 0x70, 0x63, 0x55, 0x6a, 0x55, 0x76, 0x0b, 0x02, 0x0d, 0x40, 0x01, - 0xd2, 0x3d, 0x6f, 0x12, 0xbd, 0x36, 0x68, 0x11, 0x1b, 0x0a, 0x0d, 0x1a, 0xff, 0x94, 0xbb, 0xf4, - 0xa7, 0x2f, 0x1a, 0x74, 0x03, 0x5f, 0xc1, 0x28, 0x97, 0x34, 0x6b, 0x88, 0x30, 0xb8, 0x7a, 0xcb, - 0x9f, 0xd4, 0xed, 0x5e, 0x23, 0xe0, 0xf9, 0xaa, 0xfd, 0x0b, 0xca, 0xfa, 0xf8, 0x64, 0xcb, 0x4d, - 0x8f, 0xbf, 0xfd, 0x70, 0x80, 0x8e, 0x9d, 0xe6, 0x5d, 0xdc, 0xf7, 0x88, 0xd2, 0x4a, 0xe1, 0xae, - 0x9f, 0x82, 0x87, 0x10, 0xd9, 0x83, 0xfd, 0xdd, 0xcb, 0xf7, 0x83, 0x97, 0x38, 0xff, 0x54, 0xd3, - 0x9c, 0x8a, 0xea, 0xf6, 0x45, 0x54, 0xf9, 0x99, 0xf7, 0x7f, 0x3d, 0xbb, 0xda, 0xfd, 0xed, 0x45, - 0x2e, 0xaf, 0x78, 0xff, 0xef, 0x95, 0xcc, 0xa1, 0xdd, 0xee, 0xa9, 0x1c, 0xef, 0xbe, 0x4f, 0x4c, - 0x0c, 0x15, 0xaf, 0x76, 0x61, 0xeb, 0x9a, 0xf0, 0x4d, 0x0d, 0x7f, 0x58, 0x9e, 0xb3, 0x5a, 0xbc, - 0x08, 0x7f, 0xf0, 0xcf, 0x50, 0x94, 0xe3, 0x9f, 0x7f, 0x20, 0x96, 0x2b, 0x74, 0x9b, 0x0c, 0x7f, - 0xe4, 0xfd, 0xab, 0xb9, 0xcc, 0xe4, 0x78, 0x62, 0xce, 0x71, 0xa9, 0x7c, 0x9d, 0x2b, 0xb0, 0xf0, - 0x7a, 0x9d, 0xa0, 0xf5, 0x14, 0x76, 0xaf, 0xaf, 0xe0, 0x40, 0x08, 0xdd, 0xeb, 0x2c, 0xd9, 0xac, - 0xe2, 0xe3, 0x4a, 0x2e, 0x4c, 0xca, 0x97, 0xa6, 0x9e, 0xff, 0x73, 0x2c, 0x6b, 0xad, 0x0c, 0x7f, - 0x34, 0x74, 0xe2, 0x87, 0x06, 0x53, 0x9a, 0x52, 0xe9, 0x6f, 0x17, 0xff, 0x05, 0xcb, 0xf4, 0x3f, - 0xb3, 0xcb, 0x18, 0x00, 0x00 + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x13, 0xad, 0x59, 0x6d, 0x53, 0xdb, 0x48, + 0x12, 0xfe, 0xee, 0x5f, 0x31, 0xcc, 0x5d, 0x51, 0x52, 0x21, 0x64, 0x0c, 0xd9, 0x6c, 0xce, 0x58, + 0xce, 0xf1, 0xe2, 0x24, 0xdc, 0x12, 0xc2, 0xc5, 0xdc, 0x52, 0x57, 0xb9, 0xd4, 0xae, 0x90, 0xc6, + 0xf6, 0x24, 0xb2, 0x46, 0xab, 0x19, 0x61, 0x28, 0xe0, 0xbf, 0xdf, 0xd3, 0x33, 0x92, 0xdf, 0x80, + 0xec, 0x55, 0x2e, 0xb5, 0x55, 0x8b, 0xa5, 0xe9, 0xe9, 0x97, 0xa7, 0xbb, 0x9f, 0xe9, 0x51, 0x7a, + 0x1b, 0xc7, 0x1f, 0x8e, 0x2e, 0xfe, 0x7d, 0x3e, 0x60, 0x13, 0x33, 0xcd, 0xfa, 0x3d, 0xfa, 0x3f, + 0xcb, 0xe2, 0x7c, 0x1c, 0x71, 0x91, 0x73, 0x3c, 0x8b, 0x38, 0xed, 0xf7, 0xa6, 0xc2, 0xc4, 0x2c, + 0x99, 0xc4, 0xa5, 0x16, 0x26, 0xe2, 0x95, 0x19, 0x6d, 0xbf, 0xe2, 0xf5, 0xdb, 0x56, 0xa2, 0x72, + 0x23, 0x72, 0xbc, 0x9e, 0xc9, 0xd4, 0x4c, 0xa2, 0x54, 0x5c, 0xcb, 0x44, 0x6c, 0xdb, 0x87, 0x40, + 0xe6, 0xd2, 0xc8, 0x38, 0xdb, 0xd6, 0x49, 0x9c, 0x89, 0xa8, 0x13, 0x4c, 0xe3, 0x1b, 0x39, 0xad, + 0xa6, 0xf3, 0xe7, 0x4a, 0x8b, 0xd2, 0x3e, 0xc4, 0x57, 0x78, 0xce, 0x15, 0x67, 0xad, 0x3c, 0x9e, + 0x8a, 0x88, 0x5f, 0x4b, 0x31, 0x2b, 0x54, 0x69, 0x60, 0xc5, 0x48, 0x93, 0x89, 0xfe, 0xa5, 0x7c, + 0x23, 0xd9, 0x50, 0x18, 0x23, 0xf3, 0xb1, 0xee, 0xb5, 0xdd, 0xcb, 0x9e, 0x4e, 0x4a, 0x59, 0x98, + 0x7e, 0xeb, 0x3a, 0x2e, 0x59, 0xa6, 0x12, 0x59, 0x04, 0x69, 0x94, 0xaa, 0xa4, 0x9a, 0xc2, 0xa1, + 0x00, 0x2f, 0xa2, 0x8d, 0x0e, 0xfd, 0x29, 0x4a, 0x65, 0x54, 0xc4, 0x27, 0xc6, 0x14, 0x5d, 0x1e, + 0xc0, 0x5e, 0x7e, 0xaa, 0x54, 0xa1, 0xa3, 0x9d, 0xa0, 0x28, 0xc5, 0x10, 0x8f, 0xc3, 0xe1, 0xc9, + 0x71, 0xc4, 0xf9, 0xfe, 0xa8, 0xca, 0x13, 0x23, 0x55, 0xce, 0xc6, 0x27, 0xa9, 0x67, 0xfc, 0xbb, + 0x52, 0x98, 0xaa, 0xcc, 0x59, 0x1a, 0x8e, 0x85, 0x19, 0x64, 0x82, 0xd4, 0x1e, 0xde, 0xda, 0xa5, + 0x87, 0xb9, 0x68, 0x32, 0x58, 0x91, 0x4c, 0x4a, 0x11, 0x1b, 0x51, 0x0b, 0xaf, 0x08, 0x1a, 0x35, + 0x1e, 0x67, 0x82, 0x84, 0x9d, 0xf6, 0x30, 0xc9, 0x62, 0xad, 0x4f, 0xa5, 0x36, 0x61, 0xbd, 0xc4, + 0x27, 0x32, 0x15, 0xdc, 0x0f, 0x68, 0x9d, 0x9f, 0x29, 0xbe, 0xf5, 0x0d, 0xa1, 0x85, 0xde, 0x77, + 0x9e, 0x7f, 0x37, 0x93, 0x79, 0xaa, 0x66, 0xa1, 0x2a, 0x44, 0xee, 0xd9, 0x38, 0x75, 0xb7, 0xdd, + 0xfe, 0x9a, 0xab, 0x70, 0x96, 0x09, 0xf2, 0xbe, 0x3d, 0x82, 0x57, 0x55, 0x29, 0x74, 0x5b, 0xd7, + 0x18, 0xb6, 0xff, 0x32, 0x93, 0x23, 0xb9, 0xdd, 0x3c, 0x2e, 0x2b, 0x3c, 0x5c, 0x53, 0x88, 0xe0, + 0xff, 0xf5, 0xf1, 0xd4, 0xe3, 0xed, 0x85, 0x70, 0xc0, 0x7f, 0xd3, 0x22, 0x1b, 0x2d, 0xef, 0x3a, + 0xc3, 0x2e, 0xd4, 0x82, 0x36, 0xcc, 0x44, 0x36, 0x00, 0xc2, 0x99, 0xfb, 0xfb, 0x26, 0x4c, 0xa5, + 0xa6, 0xfc, 0xa6, 0xd1, 0xc6, 0x4e, 0x80, 0x30, 0xc4, 0x8d, 0x39, 0x6a, 0x6a, 0x86, 0xc0, 0xcf, + 0xa1, 0x32, 0x0c, 0x43, 0x1e, 0x8c, 0x84, 0x49, 0x26, 0x0b, 0x6b, 0x5f, 0xb4, 0xca, 0xdb, 0xb9, + 0x30, 0xdc, 0xf7, 0x43, 0x33, 0x81, 0x1f, 0x26, 0xea, 0x9b, 0x90, 0xde, 0x7a, 0x4b, 0x6f, 0x3e, + 0x5c, 0x7d, 0x11, 0x89, 0x09, 0x01, 0x92, 0x1c, 0xe7, 0xde, 0xdd, 0x43, 0x70, 0x87, 0x2d, 0x33, + 0x55, 0x7e, 0xd5, 0xdd, 0x4f, 0x9f, 0x1f, 0x02, 0x20, 0xd8, 0x3c, 0x87, 0x1a, 0x05, 0xe5, 0x79, + 0x26, 0x10, 0x7e, 0xd4, 0x17, 0x61, 0x89, 0x1d, 0xdb, 0xc6, 0xfe, 0xf1, 0xc3, 0x52, 0xa4, 0x55, + 0x22, 0x9a, 0x45, 0xcf, 0x40, 0x76, 0x2a, 0x9c, 0x41, 0xac, 0xa7, 0x51, 0x14, 0x09, 0xfb, 0xc3, + 0xbf, 0xbf, 0x37, 0x61, 0x51, 0xe9, 0x89, 0x27, 0x7c, 0xe8, 0x0e, 0x3e, 0x7d, 0x6e, 0x5c, 0x11, + 0x51, 0xff, 0x4e, 0x8e, 0xbc, 0x1d, 0x2b, 0x9a, 0x89, 0x7c, 0x6c, 0x26, 0x9b, 0x9b, 0xf3, 0x52, + 0xeb, 0x75, 0x76, 0xfc, 0xba, 0x44, 0xe6, 0xef, 0xb6, 0xb6, 0x82, 0x6b, 0x25, 0x53, 0x06, 0x54, + 0x2f, 0xe4, 0x54, 0xa8, 0xca, 0x78, 0x67, 0x41, 0x47, 0xec, 0xf9, 0xfb, 0x4b, 0x15, 0xba, 0x9f, + 0x09, 0xc3, 0x94, 0x03, 0xf4, 0x68, 0x08, 0x38, 0x61, 0x43, 0xf9, 0x77, 0xf4, 0xd6, 0x44, 0x28, + 0x3d, 0x8e, 0x34, 0x20, 0x7e, 0x8b, 0x33, 0x14, 0x1d, 0x18, 0x53, 0xca, 0xab, 0xca, 0xa0, 0x4c, + 0x64, 0xca, 0x03, 0xbb, 0x25, 0x58, 0x5f, 0xa1, 0x16, 0x7b, 0x6e, 0x4d, 0xe5, 0x68, 0xf3, 0x7c, + 0x4c, 0xeb, 0x17, 0x9e, 0x0f, 0x81, 0xe5, 0x0e, 0x51, 0xe1, 0x75, 0x9c, 0x55, 0x62, 0x7f, 0xa4, + 0x4a, 0x8f, 0x3c, 0x10, 0xf0, 0x4f, 0xf4, 0x4c, 0x98, 0x4c, 0x64, 0x96, 0x96, 0x22, 0xaf, 0xe3, + 0xde, 0x17, 0x5b, 0x5b, 0x3e, 0x90, 0x15, 0x53, 0x75, 0x2d, 0x8e, 0x68, 0xcd, 0x5b, 0xc8, 0x7c, + 0x12, 0x9f, 0xfd, 0xb9, 0x82, 0x1c, 0x0a, 0xf2, 0x5e, 0x83, 0xd7, 0x7e, 0x8e, 0x7d, 0x75, 0x0d, + 0x49, 0x1b, 0x9c, 0x2a, 0xa8, 0xb4, 0x28, 0xea, 0x35, 0x37, 0xad, 0x1f, 0x3c, 0x10, 0x9f, 0xf2, + 0xcf, 0x2e, 0x2f, 0x81, 0x5c, 0x29, 0xac, 0xdf, 0xff, 0x7a, 0x37, 0x5f, 0x7b, 0x60, 0x5e, 0xfd, + 0x44, 0xb9, 0x7e, 0x60, 0xe9, 0xe1, 0xd4, 0xff, 0x7d, 0xb1, 0x15, 0x09, 0xab, 0xe3, 0xda, 0xdc, + 0x5c, 0x37, 0xe3, 0xc0, 0x15, 0x84, 0xe4, 0xfc, 0x27, 0x61, 0x16, 0x17, 0xe8, 0x8b, 0xd4, 0x85, + 0x26, 0xfd, 0x07, 0xe7, 0x72, 0xbe, 0xea, 0x72, 0xfe, 0xb4, 0xcb, 0x7c, 0xe3, 0x88, 0xfa, 0x27, + 0x5f, 0xed, 0x83, 0x0f, 0xa8, 0xa1, 0x92, 0xd5, 0x95, 0x6a, 0x9b, 0x61, 0xd5, 0x48, 0xee, 0x07, + 0x0a, 0x80, 0x16, 0x59, 0x9c, 0x88, 0x4b, 0x69, 0x26, 0x44, 0x2c, 0xcb, 0x8d, 0xd5, 0x79, 0xaa, + 0xb1, 0xf8, 0xc3, 0x52, 0x7b, 0x22, 0x9b, 0x75, 0xd5, 0xac, 0xd4, 0xd2, 0x86, 0xb9, 0xbf, 0xb7, + 0x2e, 0x6d, 0x44, 0xc6, 0xa1, 0x50, 0xd7, 0xe9, 0xbe, 0x4b, 0x30, 0x85, 0x24, 0xf3, 0xa2, 0xa2, + 0x0a, 0x13, 0xa1, 0xb9, 0x2d, 0x40, 0xce, 0x64, 0x08, 0xd8, 0x87, 0xc0, 0x8e, 0xf4, 0xe0, 0x97, + 0x23, 0x6d, 0xf7, 0x7b, 0x35, 0x6a, 0x30, 0xbe, 0x4b, 0x2e, 0x0f, 0xf6, 0x76, 0x7d, 0x2c, 0x5b, + 0x1b, 0xd1, 0x52, 0x55, 0x05, 0x66, 0x25, 0x30, 0xb1, 0xe4, 0x73, 0xa6, 0xe2, 0xf4, 0x1f, 0x43, + 0x6a, 0x4a, 0x50, 0x87, 0x73, 0x5f, 0xb9, 0xa2, 0xb7, 0xbc, 0x0f, 0x97, 0xd4, 0x7a, 0xc2, 0xca, + 0x84, 0x53, 0x5f, 0xae, 0xbf, 0x27, 0xc7, 0x81, 0x3d, 0x79, 0xde, 0xfe, 0x12, 0x5f, 0xc7, 0x8d, + 0x82, 0x47, 0x82, 0xb1, 0xbe, 0xcd, 0xa1, 0x02, 0xdd, 0x9d, 0x86, 0x57, 0x2a, 0xbd, 0x5d, 0xc9, + 0x82, 0x22, 0xf9, 0x38, 0x4d, 0x07, 0xd7, 0xc0, 0x98, 0x38, 0x59, 0xe4, 0xa2, 0xf4, 0x38, 0xb9, + 0xc9, 0x03, 0x0f, 0xc4, 0x71, 0xf7, 0x56, 0x98, 0x5f, 0x3d, 0xff, 0xe1, 0x69, 0x39, 0x51, 0x96, + 0xaa, 0x84, 0x7b, 0x90, 0xa3, 0x8a, 0x51, 0x19, 0x0a, 0x5f, 0x8d, 0x3d, 0x3e, 0xa0, 0xf7, 0xac, + 0x8e, 0x17, 0x64, 0xc8, 0x46, 0x32, 0x13, 0x36, 0x0c, 0x9c, 0x92, 0xa0, 0x2c, 0x7e, 0x5a, 0xbf, + 0x57, 0x23, 0x86, 0x8d, 0x23, 0x39, 0xae, 0xca, 0xd8, 0x02, 0xe4, 0xc2, 0x60, 0xa3, 0x58, 0x12, + 0xcd, 0xff, 0x27, 0x3f, 0xc9, 0x13, 0x35, 0x2d, 0x80, 0x93, 0x60, 0x45, 0x3c, 0x16, 0x2c, 0x8d, + 0x4d, 0xbc, 0x01, 0x92, 0x5e, 0xc2, 0x74, 0x38, 0xaf, 0x83, 0x9a, 0xe2, 0x71, 0x3e, 0x5a, 0x65, + 0x54, 0x0d, 0x9c, 0x2c, 0x77, 0x79, 0x84, 0x5a, 0xb0, 0x67, 0x66, 0xa2, 0x32, 0xdf, 0x1e, 0xa3, + 0x3b, 0x81, 0x67, 0xcf, 0xd7, 0x88, 0xa4, 0xb3, 0xa1, 0x51, 0x25, 0xd4, 0xd3, 0xa9, 0x78, 0x62, + 0xc4, 0x94, 0x10, 0x48, 0x4e, 0x0a, 0xf0, 0xf4, 0xfd, 0x7d, 0x2d, 0x86, 0xdd, 0xd3, 0x02, 0x9e, + 0xbf, 0x81, 0x3e, 0xf6, 0x5e, 0xa5, 0x22, 0x64, 0xe7, 0x99, 0x88, 0xb5, 0x60, 0x40, 0x04, 0x95, + 0x7e, 0x79, 0x3a, 0x38, 0x66, 0x27, 0xe7, 0xf0, 0x2d, 0x58, 0xd1, 0xa8, 0x57, 0x35, 0x06, 0x56, + 0x9b, 0x8f, 0xd2, 0xcb, 0xb4, 0xb8, 0x73, 0x15, 0x09, 0xd7, 0x62, 0x33, 0xa1, 0x8a, 0x0b, 0x14, + 0xb1, 0x72, 0x86, 0x71, 0xc3, 0xeb, 0xa0, 0xb2, 0x90, 0x26, 0x6d, 0x4b, 0x88, 0xb7, 0xb9, 0xff, + 0x7a, 0xbb, 0xd3, 0xb5, 0xec, 0xba, 0xe3, 0x87, 0xba, 0xc8, 0xa4, 0xb1, 0x6f, 0x51, 0x2f, 0xae, + 0x1a, 0xfb, 0xbb, 0x9b, 0x9b, 0x9e, 0x0a, 0x0b, 0x55, 0x78, 0x94, 0x2b, 0xf7, 0x77, 0x3e, 0x29, + 0x2c, 0xa2, 0x0f, 0xea, 0xe8, 0x5d, 0x54, 0x26, 0x9c, 0x28, 0x6d, 0xc8, 0xf4, 0x16, 0x18, 0x8d, + 0xe6, 0x93, 0xd7, 0xbc, 0x8b, 0x53, 0xda, 0xfe, 0xec, 0x72, 0xee, 0x6f, 0xc1, 0xc8, 0x96, 0x0a, + 0xbf, 0x28, 0x99, 0x5b, 0x7b, 0xfe, 0x43, 0x5d, 0xc2, 0x8f, 0x8e, 0xd0, 0xb6, 0xc6, 0x49, 0xf6, + 0xba, 0x88, 0x3a, 0x40, 0x60, 0xa3, 0x63, 0x6d, 0xc3, 0xa3, 0x34, 0x1c, 0x8e, 0xc2, 0xd8, 0x26, + 0x2a, 0x7a, 0xbc, 0x85, 0x0e, 0x6c, 0xd2, 0xb9, 0x98, 0x52, 0x9c, 0xc8, 0x7c, 0xfc, 0x20, 0xf0, + 0x5f, 0x37, 0x51, 0xc0, 0x17, 0x38, 0x63, 0x1d, 0xb7, 0xae, 0x99, 0x87, 0x56, 0xaf, 0x5d, 0x0f, + 0x4c, 0x3d, 0x6d, 0x6e, 0x31, 0x3f, 0xfd, 0x5d, 0x4e, 0xc9, 0x73, 0x56, 0x95, 0x19, 0x5a, 0x87, + 0x5e, 0x85, 0x89, 0x06, 0x3b, 0xed, 0x43, 0xd0, 0x0a, 0xf4, 0xda, 0x6e, 0xfe, 0xa3, 0x4e, 0x40, + 0x81, 0x52, 0x30, 0xa0, 0x16, 0x9c, 0x0b, 0xfd, 0x1e, 0x28, 0x7c, 0xda, 0x62, 0x44, 0x01, 0xf4, + 0xeb, 0x37, 0xcd, 0x99, 0x23, 0x81, 0xe1, 0x88, 0x33, 0x0c, 0x86, 0x13, 0x85, 0x95, 0x02, 0x68, + 0x41, 0x34, 0x95, 0xd7, 0xcc, 0x8e, 0x31, 0xa0, 0x0e, 0x05, 0xdf, 0x66, 0xab, 0xef, 0x26, 0x22, + 0x2b, 0x0e, 0x79, 0xbf, 0xd5, 0x43, 0x07, 0x1a, 0x9a, 0x93, 0x2c, 0xc9, 0xb8, 0x07, 0x0e, 0xab, + 0x09, 0x32, 0xfc, 0x35, 0xe2, 0xef, 0xc8, 0xec, 0xeb, 0x5e, 0xdb, 0x2d, 0xc0, 0x35, 0xa8, 0xe8, + 0x3f, 0xbd, 0xa7, 0x35, 0xdf, 0x74, 0x48, 0x9b, 0x0e, 0xe3, 0xe4, 0xeb, 0x62, 0xdf, 0xca, 0x0e, + 0x5d, 0x5d, 0x4d, 0x25, 0x7c, 0x1c, 0xc6, 0xd7, 0x82, 0x6d, 0x32, 0xd0, 0x67, 0x0e, 0x96, 0x5f, + 0x08, 0x4f, 0x4a, 0xf8, 0xe5, 0x2c, 0x4d, 0x76, 0xdd, 0x10, 0x8a, 0x74, 0x54, 0x05, 0x80, 0xd9, + 0xc5, 0xab, 0xbd, 0x7e, 0xbd, 0x03, 0xc3, 0x1d, 0x13, 0x37, 0xe8, 0x74, 0x6a, 0xd3, 0x9a, 0xc6, + 0x21, 0xb3, 0x37, 0x37, 0xd7, 0x5a, 0xf5, 0x90, 0x70, 0xb3, 0xf3, 0xd1, 0x22, 0xbe, 0x33, 0x72, + 0x95, 0x48, 0x71, 0xc9, 0x55, 0x58, 0x3f, 0x73, 0xca, 0x2c, 0xba, 0xcc, 0xb3, 0x84, 0xc9, 0x04, + 0x7a, 0xeb, 0x96, 0x4c, 0xe6, 0xca, 0x10, 0x23, 0x90, 0x07, 0x7e, 0x97, 0xc4, 0x7b, 0x96, 0xab, + 0xd9, 0x12, 0x4f, 0xb3, 0x9a, 0xa5, 0x9b, 0xc9, 0x9a, 0x7e, 0xce, 0x49, 0x39, 0xe2, 0x7b, 0xbb, + 0xdc, 0xda, 0x69, 0xcc, 0x14, 0x48, 0x09, 0x7e, 0xa4, 0x8f, 0xb5, 0x35, 0x2b, 0x0b, 0x4d, 0xe7, + 0x2b, 0x9a, 0x5e, 0xee, 0x39, 0x4d, 0x43, 0x03, 0x3a, 0x49, 0xd0, 0xdc, 0x0c, 0x47, 0x3c, 0xc1, + 0x1a, 0x1b, 0xb6, 0x13, 0xda, 0xff, 0x18, 0x4a, 0x85, 0x1d, 0xbf, 0x3b, 0x3a, 0x5f, 0x71, 0xb6, + 0x56, 0x77, 0xb2, 0xc3, 0x6b, 0x4b, 0x79, 0x35, 0xbd, 0x12, 0x25, 0x6f, 0xea, 0x03, 0xa5, 0x35, + 0x95, 0x79, 0xc4, 0x77, 0xac, 0xb9, 0x88, 0xef, 0xfe, 0xf4, 0x13, 0x67, 0xa5, 0xf8, 0xa3, 0x92, + 0x98, 0xda, 0xfa, 0x2c, 0x64, 0x6b, 0x7a, 0x3a, 0x3f, 0x48, 0xcf, 0xee, 0x0f, 0xd2, 0xb3, 0xf7, + 0x5d, 0x7a, 0x96, 0xa0, 0x1c, 0xe3, 0x42, 0x31, 0x8b, 0x6f, 0xbb, 0xad, 0x25, 0xd0, 0x9c, 0xee, + 0xb7, 0xdf, 0x8d, 0x59, 0x6b, 0x55, 0xcf, 0x0f, 0xc2, 0xec, 0xed, 0x0f, 0xc2, 0xec, 0xed, 0xf7, + 0x63, 0xd6, 0xaa, 0x41, 0x43, 0x67, 0xa3, 0x0f, 0x21, 0xa5, 0xbf, 0x76, 0x1f, 0xe1, 0x36, 0xfc, + 0x1f, 0x70, 0x6b, 0x7d, 0xd3, 0xd1, 0x5a, 0x4f, 0xe7, 0x07, 0xe9, 0xd9, 0xfd, 0x41, 0x7a, 0xf6, + 0xbe, 0x4f, 0x0f, 0x01, 0x34, 0x3d, 0x3e, 0x1b, 0x32, 0x0c, 0x2d, 0xb8, 0x24, 0xea, 0xa6, 0x75, + 0x1d, 0xd1, 0x50, 0xd7, 0xe6, 0x8a, 0x91, 0x80, 0x6b, 0x5c, 0x7b, 0x91, 0x6e, 0xb7, 0x6b, 0xdb, + 0xad, 0x15, 0xba, 0xa9, 0xb9, 0xe1, 0xfd, 0x23, 0x96, 0x61, 0x76, 0xd2, 0xc8, 0x68, 0xff, 0x51, + 0x26, 0x31, 0x06, 0x80, 0x22, 0xba, 0xac, 0xa7, 0x8b, 0x38, 0x9f, 0x7b, 0x29, 0x0b, 0x9c, 0x03, + 0x67, 0x0b, 0x52, 0x13, 0x29, 0x4e, 0x22, 0x08, 0x58, 0x07, 0x6b, 0xba, 0xb5, 0xe3, 0x8f, 0x60, + 0x07, 0x49, 0x42, 0x8e, 0x9e, 0xe3, 0xa8, 0x35, 0x96, 0x69, 0x5b, 0x07, 0xe7, 0x8c, 0xe8, 0xf1, + 0x49, 0xdf, 0x0f, 0xce, 0x9f, 0xe5, 0x47, 0xe7, 0xf0, 0xc1, 0x63, 0x5a, 0xb4, 0xed, 0xf6, 0x0e, + 0x97, 0x6d, 0xec, 0xb6, 0x52, 0x5d, 0xb6, 0xb2, 0x3d, 0x99, 0x88, 0xe4, 0xeb, 0x95, 0xba, 0x99, + 0xab, 0x78, 0xe7, 0x08, 0x90, 0x1c, 0x69, 0xc8, 0xf2, 0xb1, 0x33, 0x74, 0xa3, 0xf6, 0xbf, 0xc5, + 0xae, 0xb5, 0xb2, 0x73, 0x97, 0xa9, 0x25, 0x76, 0x85, 0x52, 0x83, 0xd9, 0x09, 0x59, 0xf4, 0xc2, + 0xbb, 0x57, 0xc1, 0xcb, 0xbd, 0x07, 0xff, 0x1e, 0x67, 0x06, 0xb3, 0xdf, 0x42, 0x22, 0x3e, 0xb0, + 0x26, 0x60, 0x01, 0x89, 0x0e, 0xd9, 0x2b, 0xfb, 0xb9, 0x06, 0xa3, 0x84, 0x28, 0x75, 0xe3, 0xd6, + 0x12, 0x62, 0xcc, 0x1e, 0x65, 0x74, 0xd5, 0xcb, 0x45, 0xd6, 0x5d, 0x2d, 0xa2, 0x83, 0xa3, 0x67, + 0x8a, 0xe8, 0xa6, 0xa9, 0xa2, 0x4e, 0x53, 0x45, 0x9d, 0xbd, 0xb5, 0x22, 0x42, 0xe8, 0x14, 0xa0, + 0xa6, 0xc4, 0xda, 0x0b, 0x53, 0xa3, 0x13, 0x07, 0x7c, 0xcf, 0x5d, 0x8d, 0x98, 0xbb, 0x01, 0xa0, + 0x14, 0x29, 0xd5, 0x4d, 0xa6, 0x69, 0x21, 0x1e, 0xd1, 0x68, 0x78, 0xa5, 0x14, 0x12, 0xea, 0x64, + 0xd7, 0xf7, 0x74, 0x78, 0xff, 0x58, 0xea, 0xa5, 0xe2, 0x58, 0x13, 0x6b, 0xd5, 0x72, 0xc8, 0xde, + 0x41, 0x06, 0xca, 0xd4, 0xcf, 0x29, 0xc2, 0x59, 0x75, 0x26, 0xae, 0x61, 0xcd, 0xa3, 0x23, 0xb4, + 0x14, 0x18, 0x9b, 0xa7, 0x98, 0x1f, 0x45, 0xea, 0xcf, 0x77, 0xd0, 0xb4, 0x64, 0x43, 0x68, 0x02, + 0x7b, 0xba, 0x5c, 0xa9, 0x5a, 0x69, 0x62, 0xbb, 0x16, 0x6b, 0xa5, 0x3a, 0xb8, 0x29, 0x44, 0x29, + 0xe9, 0x2b, 0x10, 0x8a, 0xde, 0x16, 0xe8, 0x1b, 0x55, 0x26, 0x82, 0xbd, 0xda, 0xd9, 0x0d, 0x3b, + 0x9d, 0x31, 0x9b, 0x62, 0x2a, 0x66, 0xde, 0x60, 0x78, 0xfe, 0x6a, 0xf7, 0xe5, 0x4b, 0x1a, 0xae, + 0x6e, 0xfd, 0x3f, 0x29, 0xb0, 0x37, 0x6f, 0xeb, 0x4c, 0x1e, 0xbb, 0x7b, 0x9f, 0x4b, 0xa2, 0xce, + 0x84, 0x28, 0xfe, 0x64, 0xe7, 0xe5, 0xd0, 0xed, 0xec, 0xc9, 0x7e, 0xeb, 0x08, 0x01, 0xd0, 0xc8, + 0xc5, 0x66, 0x98, 0x95, 0xe7, 0xf0, 0x5f, 0x4b, 0x14, 0x8f, 0xd4, 0xba, 0x12, 0x3a, 0x74, 0x36, + 0xdc, 0x74, 0x21, 0x72, 0x6b, 0x49, 0x8e, 0x9c, 0x31, 0xa9, 0x19, 0x8d, 0x09, 0x34, 0xe5, 0x24, + 0xaa, 0x04, 0x6e, 0x26, 0xbb, 0x0d, 0x98, 0xcc, 0xe9, 0xab, 0x97, 0x16, 0x9a, 0x15, 0x6a, 0x06, + 0x50, 0xe9, 0x76, 0x53, 0x4d, 0x2d, 0x8c, 0x61, 0xaf, 0x2d, 0x2d, 0x1c, 0x2d, 0x44, 0xba, 0x7d, + 0xf6, 0xe1, 0x12, 0x7a, 0x4a, 0xc0, 0xaa, 0xb5, 0x1b, 0x8f, 0x68, 0x0e, 0xa4, 0x09, 0xe5, 0x4c, + 0x61, 0x1d, 0xcb, 0xf3, 0x62, 0xb3, 0x5f, 0xb9, 0xe0, 0x70, 0xf3, 0x3c, 0x8b, 0xcb, 0x1c, 0x15, + 0x73, 0x31, 0x81, 0x0b, 0x23, 0x59, 0x4e, 0xf1, 0x2c, 0xd8, 0x55, 0x85, 0x6b, 0x19, 0x4b, 0x15, + 0x2c, 0x93, 0xb3, 0xf0, 0x23, 0xab, 0x80, 0x6a, 0x63, 0x4a, 0x57, 0x05, 0xcd, 0xb7, 0x36, 0x20, + 0xeb, 0x87, 0x9b, 0xe4, 0xc8, 0x66, 0x8b, 0x8c, 0xd6, 0x26, 0xfb, 0x03, 0x17, 0x64, 0xbd, 0xed, + 0x4f, 0xb0, 0xfc, 0x38, 0x58, 0x60, 0xe9, 0xee, 0x76, 0xb6, 0xaf, 0x05, 0xdd, 0xf5, 0x34, 0x53, + 0x54, 0x54, 0xb5, 0x22, 0x8b, 0xe3, 0x2f, 0xc8, 0x0e, 0x6b, 0x2e, 0xea, 0x84, 0x23, 0x39, 0x5a, + 0x69, 0x42, 0x30, 0x66, 0xf4, 0x89, 0x04, 0x77, 0x35, 0x6c, 0x9f, 0xd5, 0xa8, 0x30, 0xba, 0x7f, + 0x7e, 0x1b, 0xd1, 0x56, 0x13, 0xce, 0x79, 0x4c, 0x7d, 0xc7, 0x3e, 0x3a, 0x25, 0xef, 0x0f, 0x8e, + 0xd6, 0x3c, 0x5f, 0xe6, 0xb7, 0x8f, 0xef, 0xa9, 0xad, 0xd1, 0xbd, 0x0d, 0xa1, 0x74, 0x76, 0x57, + 0x09, 0xa6, 0x53, 0x0f, 0x82, 0xa7, 0xb1, 0x36, 0xcc, 0x7d, 0xc4, 0xc5, 0xa8, 0x2b, 0xf2, 0xb5, + 0x9a, 0x2f, 0x33, 0x99, 0x2e, 0x0f, 0xd8, 0xf6, 0xc6, 0x42, 0xca, 0xeb, 0x8b, 0xbd, 0x41, 0x7e, + 0x96, 0xbf, 0x44, 0x70, 0x66, 0x6f, 0x12, 0x80, 0xb1, 0x2a, 0xb5, 0x2a, 0xbb, 0x05, 0xb1, 0x0f, + 0x38, 0x05, 0x7d, 0x93, 0x37, 0x1d, 0x53, 0x07, 0x34, 0xcf, 0x0d, 0xa5, 0x06, 0x37, 0x88, 0x94, + 0xbb, 0x3e, 0xa2, 0x4f, 0x23, 0x74, 0x94, 0x5f, 0x20, 0x28, 0x57, 0x34, 0x2b, 0xd4, 0x32, 0xb8, + 0x78, 0xc7, 0x1f, 0x11, 0xc0, 0x4e, 0x63, 0xe0, 0xe9, 0xf6, 0xff, 0x1b, 0xf8, 0xe1, 0xf0, 0x68, + 0xc3, 0x5d, 0x43, 0x7f, 0x7d, 0xb1, 0x87, 0xd1, 0x9f, 0x2e, 0xce, 0x18, 0x1c, 0x90, 0xa5, 0x25, + 0x06, 0x58, 0xdd, 0x05, 0x84, 0x90, 0xd9, 0xbd, 0xdd, 0xed, 0xf3, 0x0f, 0x83, 0xe7, 0x34, 0xbf, + 0xac, 0x65, 0x8e, 0x45, 0x75, 0xf3, 0x2c, 0x3d, 0xfd, 0xcc, 0xfb, 0xbf, 0x9c, 0x5c, 0x6c, 0xff, + 0xfa, 0xac, 0x96, 0x57, 0xbc, 0xff, 0xcf, 0x4a, 0xe6, 0xf0, 0x6e, 0xfb, 0x58, 0x8e, 0xb7, 0x3f, + 0x24, 0x26, 0x86, 0x8b, 0x17, 0xdb, 0x88, 0x75, 0xc5, 0xf8, 0xba, 0x87, 0x2f, 0x16, 0xfb, 0xac, + 0x17, 0xcf, 0xf2, 0x28, 0xf0, 0x19, 0x8a, 0x72, 0xfc, 0xf3, 0x0b, 0x52, 0xb9, 0x24, 0xb7, 0xae, + 0xf0, 0x27, 0xde, 0xbf, 0x98, 0xc9, 0x4c, 0x8e, 0x27, 0xe6, 0x14, 0xa7, 0xd3, 0xb7, 0xb5, 0x82, + 0x54, 0x2f, 0x57, 0x05, 0x5a, 0x8f, 0xf9, 0xfb, 0xf2, 0x02, 0x00, 0xc2, 0xe8, 0x4e, 0x67, 0xa1, + 0x66, 0x99, 0x68, 0x97, 0x6a, 0x61, 0x52, 0x3e, 0x77, 0x7d, 0xfa, 0x3f, 0xef, 0x77, 0xad, 0xa5, + 0x5b, 0x24, 0xdd, 0x5e, 0xf1, 0x87, 0x6e, 0xb8, 0x74, 0xdd, 0xa5, 0x7f, 0x04, 0xf9, 0x2f, 0x2f, + 0x45, 0xbc, 0x82, 0x14, 0x19, 0x00, 0x00 }; diff --git a/wled00/set.cpp b/wled00/set.cpp index a63cd09c9..0370fc0cc 100644 --- a/wled00/set.cpp +++ b/wled00/set.cpp @@ -46,6 +46,7 @@ void handleSettingsSet(AsyncWebServerRequest *request, byte subPage) if (t != apChannel) forceReconnect = true; if (t > 0 && t < 14) apChannel = t; + force802_3g = request->hasArg(F("FG")); noWifiSleep = request->hasArg(F("WS")); #ifndef WLED_DISABLE_ESPNOW diff --git a/wled00/wled.cpp b/wled00/wled.cpp index a0949147d..ec623630f 100644 --- a/wled00/wled.cpp +++ b/wled00/wled.cpp @@ -699,7 +699,7 @@ void WLED::initConnection() WiFi.disconnect(true); // close old connections #ifdef ESP8266 - WiFi.setPhyMode(WIFI_PHY_MODE_11N); + WiFi.setPhyMode(force802_3g ? WIFI_PHY_MODE_11G : WIFI_PHY_MODE_11N); #endif if (staticIP[0] != 0 && staticGateway[0] != 0) { diff --git a/wled00/wled.h b/wled00/wled.h index 868403d3d..85184faab 100644 --- a/wled00/wled.h +++ b/wled00/wled.h @@ -319,6 +319,7 @@ WLED_GLOBAL bool noWifiSleep _INIT(true); // disabling #else WLED_GLOBAL bool noWifiSleep _INIT(false); #endif +WLED_GLOBAL bool force802_3g _INIT(false); #ifdef WLED_USE_ETHERNET #ifdef WLED_ETH_DEFAULT // default ethernet board type if specified diff --git a/wled00/xml.cpp b/wled00/xml.cpp index 9a7fc4acd..fd5d78dbf 100644 --- a/wled00/xml.cpp +++ b/wled00/xml.cpp @@ -277,6 +277,7 @@ void getSettingsJS(byte subPage, char* dest) sappends('s',SET_F("AP"),fapass); sappend('v',SET_F("AC"),apChannel); + sappend('c',SET_F("FG"),force802_3g); sappend('c',SET_F("WS"),noWifiSleep); #ifndef WLED_DISABLE_ESPNOW From 7971f3cbd879a2478cb5bcfad2d189ee9f900c67 Mon Sep 17 00:00:00 2001 From: Blaz Kristan Date: Sat, 23 Dec 2023 22:56:07 +0100 Subject: [PATCH 05/36] Fix for saving config. --- wled00/cfg.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/wled00/cfg.cpp b/wled00/cfg.cpp index 948bcfada..1e97439af 100644 --- a/wled00/cfg.cpp +++ b/wled00/cfg.cpp @@ -644,7 +644,7 @@ void serializeConfig() { if (!requestJSONBufferLock(2)) return; - JsonObject root = pDoc->as(); + JsonObject root = pDoc->to(); JsonArray rev = root.createNestedArray("rev"); rev.add(1); //major settings revision @@ -1027,7 +1027,7 @@ void serializeConfig() { usermods.addToConfig(usermods_settings); File f = WLED_FS.open("/cfg.json", "w"); - if (f) serializeJson(*pDoc, f); + if (f) serializeJson(root, f); f.close(); releaseJSONBufferLock(); @@ -1083,7 +1083,7 @@ void serializeConfigSec() { if (!requestJSONBufferLock(4)) return; - JsonObject root = pDoc->as(); + JsonObject root = pDoc->to(); JsonObject nw = root.createNestedObject("nw"); @@ -1114,7 +1114,7 @@ void serializeConfigSec() { ota[F("aota")] = aOtaEnabled; File f = WLED_FS.open("/wsec.json", "w"); - if (f) serializeJson(*pDoc, f); + if (f) serializeJson(root, f); f.close(); releaseJSONBufferLock(); } From f414af4d82f0bf01ddb8003796c65d4f092264df Mon Sep 17 00:00:00 2001 From: Blaz Kristan Date: Mon, 25 Dec 2023 12:27:27 +0100 Subject: [PATCH 06/36] Fix incorrect compare --- wled00/presets.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wled00/presets.cpp b/wled00/presets.cpp index 60b3cf692..276b1fd43 100644 --- a/wled00/presets.cpp +++ b/wled00/presets.cpp @@ -25,7 +25,7 @@ static void doSaveState() { const char *filename = getFileName(persist); unsigned long start = millis(); - while (strip.isUpdating() && millis()-start > (2*FRAMETIME_FIXED)+1) yield(); // wait 2 frames + while (strip.isUpdating() && millis()-start < (2*FRAMETIME_FIXED)+1) yield(); // wait 2 frames if (strip.isUpdating() || !requestJSONBufferLock(10)) return; // will set fileDoc initPresetsFile(); // just in case if someone deleted presets.json using /edit From b3a768a04bf771b23cc3eab3b424931914602eac Mon Sep 17 00:00:00 2001 From: Blaz Kristan Date: Mon, 25 Dec 2023 12:29:12 +0100 Subject: [PATCH 07/36] Remove check for strip --- wled00/presets.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wled00/presets.cpp b/wled00/presets.cpp index 276b1fd43..f19ee3992 100644 --- a/wled00/presets.cpp +++ b/wled00/presets.cpp @@ -26,7 +26,7 @@ static void doSaveState() { unsigned long start = millis(); while (strip.isUpdating() && millis()-start < (2*FRAMETIME_FIXED)+1) yield(); // wait 2 frames - if (strip.isUpdating() || !requestJSONBufferLock(10)) return; // will set fileDoc + if (!requestJSONBufferLock(10)) return; // will set fileDoc initPresetsFile(); // just in case if someone deleted presets.json using /edit JsonObject sObj = doc.to(); From 6332ee6edb8c4e7ecab20fa3504725fe541e63de Mon Sep 17 00:00:00 2001 From: Blaz Kristan Date: Wed, 27 Dec 2023 19:36:25 +0100 Subject: [PATCH 08/36] Effect buffer optimisations setMode() fix for selecting gap UI error messages --- wled00/FX.cpp | 1 - wled00/FX.h | 12 +- wled00/FX_fcn.cpp | 62 +- wled00/bus_manager.cpp | 15 - wled00/const.h | 1 + wled00/data/index.js | 44 +- wled00/html_ui.h | 2742 ++++++++++++++++++++-------------------- wled00/wled.h | 2 +- 8 files changed, 1437 insertions(+), 1442 deletions(-) diff --git a/wled00/FX.cpp b/wled00/FX.cpp index 865c1ebac..068076bcd 100644 --- a/wled00/FX.cpp +++ b/wled00/FX.cpp @@ -5292,7 +5292,6 @@ uint16_t mode_2Dmatrix(void) { // Matrix2D. By Jeremy Williams. if (!SEGENV.allocateData(dataSize)) return mode_static(); //allocation failed if (SEGENV.call == 0) { - memset(SEGMENT.data, 0, dataSize); // no falling spawns SEGMENT.fill(BLACK); SEGENV.step = 0; } diff --git a/wled00/FX.h b/wled00/FX.h index 1b5b00dae..c60805968 100644 --- a/wled00/FX.h +++ b/wled00/FX.h @@ -543,9 +543,9 @@ typedef struct Segment { // runtime data functions inline uint16_t dataSize(void) const { return _dataLen; } - bool allocateData(size_t len); - void deallocateData(void); - void resetIfRequired(void); + bool allocateData(size_t len); // allocates effect data buffer in heap and clears it + void deallocateData(void); // deallocates (frees) effect data buffer from heap + void resetIfRequired(void); // sets all SEGENV variables to 0 and clears data buffer /** * Flags that before the next effect is calculated, * the internal segment state should be reset. @@ -559,10 +559,10 @@ typedef struct Segment { void stopTransition(void); void handleTransition(void); #ifndef WLED_DISABLE_MODE_BLEND - void swapSegenv(tmpsegd_t &tmpSegD); - void restoreSegenv(tmpsegd_t &tmpSegD); + void swapSegenv(tmpsegd_t &tmpSegD); // copies segment data into specifed buffer, if buffer is not a transition buffer, segment data is overwritten from transition buffer + void restoreSegenv(tmpsegd_t &tmpSegD); // restores segment data from buffer, if buffer is not transition buffer, changed values are copied to transition buffer #endif - uint16_t progress(void); //transition progression between 0-65535 + uint16_t progress(void); // transition progression between 0-65535 uint8_t currentBri(bool useCct = false); uint8_t currentMode(void); uint32_t currentColor(uint8_t slot); diff --git a/wled00/FX_fcn.cpp b/wled00/FX_fcn.cpp index 42984a051..501859f92 100644 --- a/wled00/FX_fcn.cpp +++ b/wled00/FX_fcn.cpp @@ -143,27 +143,28 @@ Segment& Segment::operator= (Segment &&orig) noexcept { return *this; } +// allocates effect data buffer on heap and initialises (erases) it bool IRAM_ATTR Segment::allocateData(size_t len) { + if (len == 0) return false; // nothing to do if (data && _dataLen >= len) { // already allocated enough (reduce fragmentation) if (call == 0) memset(data, 0, len); // erase buffer if called during effect initialisation return true; } //DEBUG_PRINTF("-- Allocating data (%d): %p\n", len, this); - deallocateData(); - if (len == 0) return false; // nothing to do + deallocateData(); // if the old buffer was smaller release it first if (Segment::getUsedSegmentData() + len > MAX_SEGMENT_DATA) { // not enough memory DEBUG_PRINT(F("!!! Effect RAM depleted: ")); DEBUG_PRINTF("%d/%d !!!\n", len, Segment::getUsedSegmentData()); + errorFlag = ERR_NORAM; return false; } // do not use SPI RAM on ESP32 since it is slow - data = (byte*) malloc(len); + data = (byte*)calloc(len, sizeof(byte)); if (!data) { DEBUG_PRINTLN(F("!!! Allocation failed. !!!")); return false; } // allocation failed Segment::addUsedSegmentData(len); //DEBUG_PRINTF("--- Allocated data (%p): %d/%d -> %p\n", this, len, Segment::getUsedSegmentData(), data); _dataLen = len; - memset(data, 0, len); return true; } @@ -194,7 +195,7 @@ void IRAM_ATTR Segment::deallocateData() { void Segment::resetIfRequired() { if (!reset) return; //DEBUG_PRINTF("-- Segment reset: %p\n", this); - deallocateData(); + if (data && _dataLen > 0) memset(data, 0, _dataLen); // prevent heap fragmentation (just erase buffer instead of deallocateData()) next_time = 0; step = 0; call = 0; aux0 = 0; aux1 = 0; reset = false; } @@ -561,35 +562,36 @@ void Segment::setOption(uint8_t n, bool val) { } void Segment::setMode(uint8_t fx, bool loadDefaults) { + // skip reserved + while (fx < strip.getModeCount() && strncmp_P("RSVD", strip.getModeData(fx), 4) == 0) fx++; + if (fx >= strip.getModeCount()) fx = 0; // set solid mode // if we have a valid mode & is not reserved - if (fx < strip.getModeCount() && strncmp_P("RSVD", strip.getModeData(fx), 4)) { - if (fx != mode) { + if (fx != mode) { #ifndef WLED_DISABLE_MODE_BLEND - if (modeBlending) startTransition(strip.getTransition()); // set effect transitions + if (modeBlending) startTransition(strip.getTransition()); // set effect transitions #endif - mode = fx; - // load default values from effect string - if (loadDefaults) { - int16_t sOpt; - sOpt = extractModeDefaults(fx, "sx"); speed = (sOpt >= 0) ? sOpt : DEFAULT_SPEED; - sOpt = extractModeDefaults(fx, "ix"); intensity = (sOpt >= 0) ? sOpt : DEFAULT_INTENSITY; - sOpt = extractModeDefaults(fx, "c1"); custom1 = (sOpt >= 0) ? sOpt : DEFAULT_C1; - sOpt = extractModeDefaults(fx, "c2"); custom2 = (sOpt >= 0) ? sOpt : DEFAULT_C2; - sOpt = extractModeDefaults(fx, "c3"); custom3 = (sOpt >= 0) ? sOpt : DEFAULT_C3; - sOpt = extractModeDefaults(fx, "o1"); check1 = (sOpt >= 0) ? (bool)sOpt : false; - sOpt = extractModeDefaults(fx, "o2"); check2 = (sOpt >= 0) ? (bool)sOpt : false; - sOpt = extractModeDefaults(fx, "o3"); check3 = (sOpt >= 0) ? (bool)sOpt : false; - sOpt = extractModeDefaults(fx, "m12"); if (sOpt >= 0) map1D2D = constrain(sOpt, 0, 7); else map1D2D = M12_Pixels; // reset mapping if not defined (2D FX may not work) - sOpt = extractModeDefaults(fx, "si"); if (sOpt >= 0) soundSim = constrain(sOpt, 0, 3); - sOpt = extractModeDefaults(fx, "rev"); if (sOpt >= 0) reverse = (bool)sOpt; - sOpt = extractModeDefaults(fx, "mi"); if (sOpt >= 0) mirror = (bool)sOpt; // NOTE: setting this option is a risky business - sOpt = extractModeDefaults(fx, "rY"); if (sOpt >= 0) reverse_y = (bool)sOpt; - sOpt = extractModeDefaults(fx, "mY"); if (sOpt >= 0) mirror_y = (bool)sOpt; // NOTE: setting this option is a risky business - sOpt = extractModeDefaults(fx, "pal"); if (sOpt >= 0) setPalette(sOpt); //else setPalette(0); - } - markForReset(); - stateChanged = true; // send UDP/WS broadcast + mode = fx; + // load default values from effect string + if (loadDefaults) { + int16_t sOpt; + sOpt = extractModeDefaults(fx, "sx"); speed = (sOpt >= 0) ? sOpt : DEFAULT_SPEED; + sOpt = extractModeDefaults(fx, "ix"); intensity = (sOpt >= 0) ? sOpt : DEFAULT_INTENSITY; + sOpt = extractModeDefaults(fx, "c1"); custom1 = (sOpt >= 0) ? sOpt : DEFAULT_C1; + sOpt = extractModeDefaults(fx, "c2"); custom2 = (sOpt >= 0) ? sOpt : DEFAULT_C2; + sOpt = extractModeDefaults(fx, "c3"); custom3 = (sOpt >= 0) ? sOpt : DEFAULT_C3; + sOpt = extractModeDefaults(fx, "o1"); check1 = (sOpt >= 0) ? (bool)sOpt : false; + sOpt = extractModeDefaults(fx, "o2"); check2 = (sOpt >= 0) ? (bool)sOpt : false; + sOpt = extractModeDefaults(fx, "o3"); check3 = (sOpt >= 0) ? (bool)sOpt : false; + sOpt = extractModeDefaults(fx, "m12"); if (sOpt >= 0) map1D2D = constrain(sOpt, 0, 7); else map1D2D = M12_Pixels; // reset mapping if not defined (2D FX may not work) + sOpt = extractModeDefaults(fx, "si"); if (sOpt >= 0) soundSim = constrain(sOpt, 0, 3); + sOpt = extractModeDefaults(fx, "rev"); if (sOpt >= 0) reverse = (bool)sOpt; + sOpt = extractModeDefaults(fx, "mi"); if (sOpt >= 0) mirror = (bool)sOpt; // NOTE: setting this option is a risky business + sOpt = extractModeDefaults(fx, "rY"); if (sOpt >= 0) reverse_y = (bool)sOpt; + sOpt = extractModeDefaults(fx, "mY"); if (sOpt >= 0) mirror_y = (bool)sOpt; // NOTE: setting this option is a risky business + sOpt = extractModeDefaults(fx, "pal"); if (sOpt >= 0) setPalette(sOpt); //else setPalette(0); } + markForReset(); + stateChanged = true; // send UDP/WS broadcast } } diff --git a/wled00/bus_manager.cpp b/wled00/bus_manager.cpp index 24f202d6a..013e906f4 100644 --- a/wled00/bus_manager.cpp +++ b/wled00/bus_manager.cpp @@ -258,23 +258,8 @@ void BusDigital::setBrightness(uint8_t b) { if (_pins[0] == LED_BUILTIN || _pins[1] == LED_BUILTIN) reinit(); } #endif - uint8_t prevBri = _bri; Bus::setBrightness(b); PolyBus::setBrightness(_busPtr, _iType, b); -/* - if (_data) return; // use _buffering this causes ~20% FPS drop - - // must update/repaint every LED in the NeoPixelBus buffer to the new brightness - // the only case where repainting is unnecessary is when all pixels are set after the brightness change but before the next show - // (which we can't rely on) - uint16_t hwLen = _len; - if (_type == TYPE_WS2812_1CH_X3) hwLen = NUM_ICS_WS2812_1CH_3X(_len); // only needs a third of "RGB" LEDs for NeoPixelBus - for (unsigned i = 0; i < hwLen; i++) { - // use 0 as color order, actual order does not matter here as we just update the channel values as-is - uint32_t c = restoreColorLossy(PolyBus::getPixelColor(_busPtr, _iType, i, 0), prevBri); - PolyBus::setPixelColor(_busPtr, _iType, i, c, 0); - } -*/ } //If LEDs are skipped, it is possible to use the first as a status LED. diff --git a/wled00/const.h b/wled00/const.h index ef1b31c01..1bdd0ca39 100644 --- a/wled00/const.h +++ b/wled00/const.h @@ -345,6 +345,7 @@ #define ERR_CONCURRENCY 2 // Conurrency (client active) #define ERR_NOBUF 3 // JSON buffer was not released in time, request cannot be handled at this time #define ERR_NOT_IMPL 4 // Not implemented +#define ERR_NORAM 8 // effect RAM depleted #define ERR_JSON 9 // JSON parsing failed (input too large?) #define ERR_FS_BEGIN 10 // Could not init filesystem (no partition?) #define ERR_FS_QUOTA 11 // The FS is full or the maximum file size is reached diff --git a/wled00/data/index.js b/wled00/data/index.js index 03516c370..f6c7c862c 100644 --- a/wled00/data/index.js +++ b/wled00/data/index.js @@ -329,7 +329,6 @@ function openTab(tabI, force = false) var timeout; function showToast(text, error = false) { - if (error) gId('connind').style.backgroundColor = "var(--c-r)"; var x = gId('toast'); //if (error) text += ''; x.innerHTML = text; @@ -342,6 +341,7 @@ function showToast(text, error = false) function showErrorToast() { + gId('connind').style.backgroundColor = "var(--c-r)"; showToast('Connection to light failed!', true); } @@ -1492,25 +1492,31 @@ function readState(s,command=false) gId('checkO3').checked = !(!i.o3); if (s.error && s.error != 0) { - var errstr = ""; - switch (s.error) { - case 10: - errstr = "Could not mount filesystem!"; - break; - case 11: - errstr = "Not enough space to save preset!"; - break; - case 12: - errstr = "Preset not found."; - break; - case 13: - errstr = "Missing ir.json."; - break; - case 19: - errstr = "A filesystem error has occured."; - break; + var errstr = ""; + switch (s.error) { + case 8: + errstr = "Effect RAM depleted!"; + break; + case 9: + errstr = "JSON parsing error!"; + break; + case 10: + errstr = "Could not mount filesystem!"; + break; + case 11: + errstr = "Not enough space to save preset!"; + break; + case 12: + errstr = "Preset not found."; + break; + case 13: + errstr = "Missing ir.json."; + break; + case 19: + errstr = "A filesystem error has occured."; + break; } - showToast('Error ' + s.error + ": " + errstr, true); + showToast('Error ' + s.error + ": " + errstr, true); } selectedPal = i.pal; diff --git a/wled00/html_ui.h b/wled00/html_ui.h index 655f52efa..8d22491f7 100644 --- a/wled00/html_ui.h +++ b/wled00/html_ui.h @@ -7,7 +7,7 @@ */ // Autogenerated from wled00/data/index.htm, do not edit!! -const uint16_t PAGE_index_L = 44505; +const uint16_t PAGE_index_L = 44535; const uint8_t PAGE_index[] PROGMEM = { 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x13, 0xd4, 0xbd, 0x69, 0x7b, 0xe2, 0xba, 0xb2, 0x28, 0xfc, 0x3d, 0xbf, 0x82, 0xa6, 0xf7, 0xea, 0x8d, 0x1b, 0x63, 0xcc, 0x3c, 0xa4, 0x59, @@ -1421,1374 +1421,1376 @@ const uint8_t PAGE_index[] PROGMEM = { 0x6e, 0x45, 0x6f, 0x41, 0xb5, 0x5c, 0x0e, 0xd0, 0xd8, 0x6d, 0x99, 0x9c, 0x6d, 0xfd, 0xbc, 0xc1, 0xbf, 0xd4, 0xe7, 0x8b, 0x75, 0xeb, 0x8f, 0xfc, 0x86, 0xc1, 0xc8, 0x82, 0x12, 0x18, 0x86, 0x39, 0xc6, 0x14, 0xc5, 0x7b, 0x75, 0xe9, 0xdd, 0x20, 0xc0, 0x53, 0x38, 0xed, 0xea, 0x9f, 0xf4, 0xd0, - 0x8e, 0x1d, 0x69, 0x4d, 0x05, 0x02, 0xfe, 0x7f, 0xc5, 0xbd, 0xf9, 0x76, 0xdb, 0x46, 0xb7, 0x2f, - 0xf8, 0x7f, 0x3f, 0x05, 0x84, 0xe4, 0x93, 0x80, 0x10, 0xa2, 0x48, 0x4a, 0x72, 0x6c, 0x52, 0x20, - 0x97, 0xc7, 0x2f, 0x3e, 0xc7, 0x71, 0x74, 0x2c, 0x67, 0xf0, 0x72, 0xd4, 0x47, 0x20, 0x59, 0xa4, - 0x70, 0x0c, 0x02, 0x08, 0x00, 0x6a, 0xf8, 0x24, 0xde, 0xc7, 0xb8, 0x6b, 0xdd, 0x17, 0xe8, 0x3f, - 0xba, 0xdf, 0xaa, 0x9f, 0xa4, 0xf7, 0xde, 0x35, 0xa0, 0x0a, 0x03, 0x25, 0x27, 0xb9, 0xa7, 0xb3, - 0x62, 0x91, 0xac, 0x79, 0xae, 0x5d, 0x7b, 0xf8, 0x6d, 0xef, 0xa1, 0xac, 0xd0, 0x0c, 0x77, 0xa8, - 0xb5, 0xa9, 0x85, 0x51, 0xd1, 0xbe, 0x94, 0x1e, 0x1a, 0xfd, 0xd0, 0x2b, 0xf8, 0xd9, 0x21, 0x2d, - 0x42, 0x74, 0xff, 0x78, 0xb4, 0x7c, 0xaa, 0x14, 0x87, 0x0a, 0xe1, 0x6f, 0xae, 0x45, 0x96, 0xac, - 0x9c, 0x66, 0x3b, 0xcd, 0xe7, 0x28, 0xaf, 0x80, 0x26, 0x87, 0xf1, 0x2c, 0x5a, 0xa3, 0x0f, 0x55, - 0xfe, 0x8a, 0x16, 0x96, 0x8d, 0xc8, 0xcf, 0xc2, 0xa9, 0x59, 0xfb, 0x77, 0xc8, 0xf0, 0x3b, 0x3b, - 0xc3, 0x25, 0x5d, 0x5c, 0xae, 0x57, 0x53, 0x4e, 0xe7, 0xf7, 0x8f, 0xbd, 0x6b, 0xb4, 0xa2, 0xc2, - 0xd5, 0xed, 0x25, 0x7e, 0xd3, 0xad, 0xc0, 0xed, 0xee, 0x48, 0x1a, 0x51, 0x3a, 0x01, 0xe4, 0x94, - 0xf6, 0xcc, 0x37, 0x4f, 0x3c, 0x61, 0x86, 0xbf, 0xe3, 0x20, 0x43, 0x95, 0x7b, 0x57, 0x29, 0xed, - 0x41, 0xe0, 0xe4, 0x8c, 0x9a, 0x2a, 0x48, 0xe0, 0x3b, 0x50, 0x0e, 0xfc, 0x30, 0xdf, 0xe8, 0x90, - 0x62, 0xac, 0x32, 0x0a, 0xf2, 0xe5, 0x89, 0x2f, 0xd9, 0xbc, 0x29, 0x19, 0x62, 0xdf, 0xa3, 0x15, - 0x27, 0x8a, 0xb2, 0x20, 0xcd, 0xc2, 0x87, 0x07, 0x89, 0x1f, 0x78, 0x73, 0x3f, 0xf7, 0x6e, 0xdb, - 0xd2, 0x0b, 0xc3, 0x50, 0x48, 0x3e, 0x6d, 0x4d, 0x72, 0xc5, 0x13, 0xac, 0xfc, 0x6d, 0x44, 0xa2, - 0x39, 0x64, 0xbe, 0x0f, 0x4f, 0x3b, 0xf4, 0x0c, 0xe4, 0x44, 0xf4, 0x11, 0xd0, 0x5f, 0xdc, 0xce, - 0x68, 0x88, 0x27, 0x15, 0x89, 0x35, 0xe4, 0xe1, 0xda, 0x80, 0xf0, 0x45, 0xb5, 0x21, 0x73, 0x9d, - 0x1d, 0xf3, 0x60, 0x11, 0xb9, 0x37, 0xa3, 0xfa, 0xb2, 0x31, 0xce, 0x43, 0xd8, 0x45, 0x8e, 0x39, - 0x43, 0x08, 0xbf, 0xe0, 0x54, 0xe6, 0x45, 0xd3, 0x8f, 0xc0, 0xb7, 0xb7, 0xd0, 0x91, 0x78, 0x19, - 0xc4, 0xe8, 0x25, 0x15, 0x97, 0x91, 0x15, 0x70, 0x1f, 0xa8, 0x56, 0x00, 0xff, 0xab, 0xca, 0x6c, - 0x58, 0xd1, 0xfc, 0x0a, 0x01, 0x32, 0xe6, 0x56, 0xd9, 0x1d, 0x31, 0x3e, 0x9e, 0x3e, 0x1b, 0x2e, - 0x34, 0x4b, 0x23, 0x19, 0xda, 0x62, 0x6b, 0x8c, 0x6c, 0x96, 0x5b, 0x23, 0x25, 0xe4, 0x5c, 0x19, - 0x01, 0xa8, 0x2b, 0x20, 0x6e, 0x2f, 0x55, 0x2a, 0x3f, 0xab, 0xfd, 0x4c, 0x60, 0x24, 0x6c, 0x94, - 0x98, 0x06, 0x65, 0x25, 0x4e, 0xb9, 0xdf, 0xd0, 0x34, 0x78, 0xe6, 0x0b, 0x15, 0x69, 0xa0, 0x78, - 0x51, 0x83, 0x81, 0x9f, 0xfe, 0xfa, 0xf0, 0xf3, 0x23, 0xbc, 0x5f, 0x3b, 0xe0, 0x34, 0x78, 0xf3, - 0xf2, 0x30, 0xeb, 0xeb, 0x27, 0x5b, 0x1f, 0x4f, 0x36, 0x81, 0xad, 0x8f, 0x87, 0xfe, 0x8a, 0x26, - 0x1b, 0xfb, 0x3f, 0x49, 0xfc, 0x47, 0xed, 0x60, 0x4a, 0xcb, 0x86, 0x7b, 0x44, 0x39, 0x7f, 0xa6, - 0x47, 0xa6, 0x4d, 0x1d, 0xb6, 0xcf, 0xf7, 0xe0, 0x70, 0xba, 0xe5, 0x45, 0x21, 0x42, 0xdf, 0xbc, - 0x56, 0x2a, 0x73, 0x87, 0x97, 0x7c, 0xa8, 0xf1, 0x7d, 0x26, 0x2e, 0x89, 0x5b, 0x18, 0xd1, 0x15, - 0x3a, 0x1e, 0xd4, 0x9d, 0xe1, 0x70, 0x64, 0x2e, 0x7d, 0xb8, 0xd4, 0x0a, 0xa2, 0x02, 0x66, 0x5d, - 0x3a, 0x0c, 0x76, 0x77, 0x71, 0x2d, 0xfc, 0xb8, 0x2e, 0x48, 0x65, 0xf9, 0xa7, 0x69, 0xce, 0xb2, - 0x2b, 0xe3, 0xde, 0x81, 0x75, 0xa5, 0xd5, 0x1f, 0xb7, 0x1c, 0xe0, 0x7a, 0x12, 0x14, 0x37, 0x30, - 0x61, 0x61, 0xdd, 0x9c, 0x1a, 0xae, 0x20, 0xe4, 0x22, 0xc3, 0x45, 0x84, 0x2d, 0xe1, 0x06, 0x50, - 0x31, 0xa1, 0x53, 0x88, 0xff, 0xbb, 0x09, 0x6f, 0x48, 0x39, 0x8a, 0xd3, 0x64, 0x7e, 0x0b, 0xf4, - 0x39, 0xea, 0x28, 0xe0, 0x8e, 0xc7, 0xa3, 0x2d, 0x5f, 0x4f, 0x8b, 0x8c, 0xf1, 0xcb, 0xda, 0x4b, - 0xda, 0x49, 0x5d, 0x2a, 0x5e, 0xb0, 0x9a, 0x95, 0x7a, 0x0f, 0x8b, 0xf1, 0x6e, 0x6c, 0xd3, 0x21, - 0xb6, 0x75, 0x05, 0x0f, 0xa4, 0x57, 0x54, 0x3b, 0xe4, 0x17, 0x71, 0x94, 0x6c, 0x36, 0xe7, 0x1e, - 0x4c, 0x85, 0x58, 0x6e, 0x5c, 0x6c, 0x57, 0x59, 0x6d, 0xa8, 0x17, 0x23, 0x6a, 0x33, 0xd7, 0x72, - 0x97, 0x9f, 0xd2, 0x95, 0x6d, 0xc3, 0x7d, 0x86, 0x11, 0x7e, 0x26, 0x5f, 0x34, 0xbe, 0x90, 0xb8, - 0x37, 0x24, 0xba, 0x66, 0xd3, 0x7f, 0x0f, 0x8b, 0x9f, 0x1f, 0x93, 0x94, 0xba, 0xf3, 0x9c, 0x5a, - 0xe4, 0xdb, 0xab, 0x20, 0x0e, 0xd3, 0x75, 0xc4, 0xb5, 0xd4, 0xc5, 0x36, 0x8a, 0x84, 0x4a, 0x40, - 0xee, 0xec, 0x28, 0x61, 0x5c, 0x6d, 0x37, 0x72, 0xf6, 0xb8, 0x1a, 0x44, 0x98, 0xe1, 0x22, 0x4b, - 0x6e, 0xff, 0x37, 0x74, 0xf9, 0x91, 0xdd, 0x7d, 0xb8, 0xab, 0x0d, 0xdd, 0xeb, 0xb7, 0x77, 0x8f, - 0xbb, 0x2d, 0x91, 0xdd, 0x53, 0x79, 0xda, 0x4e, 0x90, 0x42, 0x0a, 0x5c, 0xd8, 0xc4, 0xae, 0xea, - 0x7f, 0x20, 0x4c, 0x6c, 0x5d, 0xe1, 0xc2, 0x1e, 0x7d, 0xd6, 0xb5, 0x4c, 0x4c, 0x8d, 0xab, 0x52, - 0xcf, 0xaa, 0x61, 0xdb, 0x90, 0x7e, 0x95, 0x68, 0x32, 0xd0, 0x49, 0xb0, 0xa0, 0x9b, 0x16, 0x3b, - 0x39, 0xee, 0xc2, 0x4b, 0x13, 0x88, 0xad, 0xbe, 0xb1, 0xe0, 0x61, 0x9d, 0x37, 0x75, 0x03, 0x2f, - 0x09, 0x35, 0x59, 0x40, 0xb6, 0xa3, 0x92, 0x7d, 0xed, 0x1c, 0xe1, 0xc6, 0x39, 0xd0, 0x62, 0x28, - 0x84, 0x78, 0x44, 0x35, 0x2d, 0x1c, 0x6f, 0xad, 0x83, 0xc9, 0x93, 0x75, 0x78, 0xe9, 0x3e, 0xcc, - 0x5e, 0x85, 0xb0, 0xcc, 0xe0, 0x94, 0xec, 0xc1, 0xb9, 0xb9, 0x2d, 0x59, 0x70, 0x43, 0xc9, 0x90, - 0x77, 0x33, 0xdb, 0x96, 0x10, 0xc6, 0x32, 0xe5, 0x29, 0x09, 0xe9, 0xa9, 0x45, 0xa1, 0x08, 0xc8, - 0x0b, 0x84, 0x72, 0x8b, 0x38, 0xfb, 0xe6, 0x3b, 0x63, 0x1d, 0x96, 0x64, 0xd1, 0xc1, 0xc0, 0xd5, - 0x4d, 0xc3, 0x7a, 0x63, 0xd4, 0x57, 0xd5, 0xb3, 0x95, 0xba, 0x45, 0x11, 0xe9, 0x16, 0xa1, 0x6b, - 0x37, 0xbf, 0x87, 0x20, 0x7a, 0x27, 0xdc, 0x99, 0x24, 0xe9, 0x21, 0x1e, 0xf7, 0xc6, 0xf1, 0x24, - 0xde, 0xf7, 0x09, 0x5e, 0x7a, 0xf0, 0x5d, 0xec, 0x7e, 0x17, 0x0c, 0x8f, 0x45, 0x8a, 0x8e, 0x8f, - 0xc6, 0x55, 0x68, 0x5a, 0xf5, 0x5d, 0xe0, 0x7a, 0xeb, 0x4e, 0xed, 0x9a, 0xee, 0x8f, 0xd5, 0xab, - 0xa2, 0xbe, 0xc4, 0x6c, 0x5b, 0x4a, 0x9f, 0x18, 0xbe, 0xe7, 0x51, 0x89, 0xe9, 0xc0, 0x99, 0x0c, - 0x7f, 0xef, 0x3a, 0xbf, 0xcf, 0x3b, 0xa8, 0x68, 0x39, 0x19, 0x7e, 0x66, 0xaf, 0xcf, 0x9d, 0xcf, - 0x9d, 0xfd, 0xf3, 0x09, 0x0f, 0xfa, 0xf6, 0x40, 0x1d, 0xf6, 0xc5, 0x44, 0xc3, 0x0e, 0x75, 0x10, - 0xba, 0x79, 0x82, 0x7f, 0xc4, 0x75, 0x37, 0xec, 0xb9, 0xfb, 0x10, 0x38, 0x38, 0x9f, 0x74, 0xf0, - 0xef, 0x10, 0x95, 0x31, 0x7b, 0x1b, 0xcd, 0x19, 0x80, 0x36, 0x09, 0xb8, 0xb1, 0xde, 0x84, 0x37, - 0x6c, 0x8e, 0x52, 0xb0, 0x8d, 0xae, 0x55, 0xc8, 0x61, 0xf3, 0xd8, 0x41, 0xe1, 0x7e, 0x07, 0x34, - 0x4c, 0xcc, 0x31, 0xef, 0x92, 0xfd, 0xb5, 0x8b, 0x47, 0xba, 0xb2, 0x8b, 0x69, 0x5e, 0x7f, 0xda, - 0x41, 0x31, 0xe5, 0xe4, 0x8f, 0x5c, 0x68, 0xc8, 0xd2, 0x97, 0x47, 0x08, 0xab, 0xa9, 0x86, 0x79, - 0x2a, 0x19, 0x77, 0x5f, 0x42, 0x93, 0xbb, 0xa4, 0xb5, 0xef, 0xd5, 0xc6, 0x17, 0x49, 0x54, 0x39, - 0xc0, 0xa4, 0x1a, 0xca, 0x7d, 0xd3, 0x79, 0x77, 0xd3, 0xf5, 0x14, 0x6a, 0xc8, 0xe9, 0x0a, 0x19, - 0x71, 0x21, 0x02, 0x0e, 0x30, 0x8f, 0x47, 0x8b, 0x61, 0x47, 0x2d, 0xfb, 0x72, 0x77, 0x96, 0x5e, - 0x74, 0x6c, 0x21, 0x1d, 0x1a, 0x72, 0x31, 0x8c, 0x8d, 0xdb, 0x8d, 0x9c, 0xde, 0x3a, 0xb1, 0xc6, - 0x2f, 0x4e, 0x60, 0x1c, 0x28, 0x0c, 0x7d, 0xd6, 0x16, 0x62, 0x43, 0x25, 0xde, 0x6c, 0x43, 0x22, - 0xb7, 0x26, 0xe6, 0x02, 0x59, 0xba, 0x25, 0xb3, 0x30, 0xf5, 0xae, 0x7f, 0xf5, 0xe0, 0x0b, 0x0a, - 0xae, 0xe0, 0x83, 0x8a, 0xf4, 0xb9, 0x6b, 0x20, 0xdb, 0x0b, 0xf3, 0x9f, 0x62, 0x02, 0xc4, 0x88, - 0x9e, 0xe3, 0x47, 0x98, 0xbf, 0xbb, 0xe2, 0x9f, 0x6f, 0xe3, 0x45, 0xc2, 0xbf, 0xd1, 0x1d, 0x8c, - 0x5f, 0xf3, 0xdb, 0x78, 0x76, 0x06, 0x6d, 0xc7, 0xef, 0x97, 0x41, 0xfe, 0xeb, 0x65, 0x58, 0x30, - 0xf1, 0xfd, 0xc3, 0x3f, 0x5f, 0x88, 0x6f, 0x2f, 0x5f, 0x7e, 0xe4, 0xe5, 0xbd, 0x5a, 0x67, 0x3e, - 0x5a, 0x0f, 0x47, 0x1f, 0x83, 0x0c, 0x3d, 0x0b, 0x47, 0x3f, 0x42, 0x39, 0x54, 0x0c, 0x5b, 0xbe, - 0x83, 0x95, 0x04, 0x61, 0x39, 0x1d, 0xc0, 0x6c, 0xfe, 0x46, 0xff, 0x71, 0x1a, 0xa0, 0x39, 0xed, - 0x0c, 0x7e, 0xe2, 0x07, 0x77, 0x85, 0x72, 0xca, 0xe5, 0x92, 0xfb, 0xd0, 0x81, 0x20, 0x17, 0xbe, - 0xcb, 0x28, 0xcb, 0xf2, 0x25, 0xc9, 0x0d, 0x11, 0xb4, 0x6c, 0xae, 0xbe, 0x26, 0xd7, 0x70, 0xa3, - 0xfc, 0x1c, 0xa3, 0x56, 0x9e, 0x4f, 0x3a, 0x5e, 0x67, 0x6c, 0x89, 0xe1, 0xfc, 0x23, 0x9d, 0xc9, - 0x86, 0xf0, 0x6f, 0xd4, 0x6f, 0x2c, 0xf6, 0x1a, 0x4b, 0x0c, 0x57, 0x69, 0x14, 0x2e, 0x42, 0x36, - 0xff, 0xf9, 0x2d, 0x09, 0xfa, 0x32, 0xff, 0x7b, 0x78, 0x0d, 0xc8, 0xfb, 0x7a, 0x44, 0x2f, 0x1a, - 0x8b, 0xce, 0xfa, 0xdc, 0x2f, 0xb9, 0x23, 0x5d, 0x22, 0x11, 0x9d, 0x46, 0x62, 0x0c, 0xc8, 0x26, - 0x2e, 0x1f, 0x48, 0x83, 0x88, 0x15, 0x05, 0xcb, 0x5f, 0x05, 0x45, 0xe0, 0x5d, 0x03, 0x11, 0x2c, - 0xb0, 0x3a, 0x60, 0x13, 0x64, 0xb7, 0x58, 0xd9, 0xe2, 0x86, 0xdc, 0x24, 0xa1, 0x40, 0xe6, 0xdf, - 0x72, 0xb8, 0x76, 0x50, 0x6e, 0x24, 0xbf, 0x44, 0xf2, 0x4b, 0x5a, 0x7e, 0x7b, 0x8f, 0x57, 0x57, - 0xfa, 0x16, 0xfb, 0xf4, 0x7e, 0xbd, 0xc2, 0x8f, 0x55, 0xe1, 0xf7, 0xf1, 0xef, 0xbb, 0x33, 0xfe, - 0xeb, 0x1d, 0x74, 0x0b, 0x7b, 0x0e, 0x1f, 0x21, 0xce, 0x27, 0x02, 0x29, 0xe6, 0x3f, 0x62, 0x5d, - 0x2b, 0xec, 0xed, 0xea, 0x12, 0xfe, 0x5c, 0xe7, 0x1f, 0x52, 0x4c, 0x34, 0x5b, 0x2c, 0xfd, 0xbb, - 0xe2, 0x12, 0xae, 0x86, 0xe1, 0x1d, 0x6a, 0x58, 0xc2, 0xc5, 0x1c, 0x64, 0x5f, 0x6c, 0x6f, 0xba, - 0x1c, 0xde, 0x21, 0x27, 0x0c, 0x3d, 0x87, 0xc6, 0x73, 0xe4, 0xf2, 0xc1, 0xc7, 0x3f, 0x81, 0x50, - 0xcb, 0x81, 0xd2, 0x67, 0xe2, 0xf7, 0x8b, 0x68, 0x9d, 0xa1, 0xe6, 0x9f, 0x47, 0x52, 0x38, 0x28, - 0x60, 0x39, 0xec, 0x3e, 0xf1, 0x8a, 0x60, 0x3a, 0xec, 0x3e, 0xdd, 0x08, 0xb1, 0x13, 0x06, 0xda, - 0x88, 0x23, 0x8e, 0xe2, 0xb3, 0xa1, 0x94, 0xb9, 0xdc, 0xa5, 0x24, 0xb1, 0x40, 0x52, 0x2c, 0x5b, - 0x4e, 0xb1, 0xb8, 0x3f, 0xd6, 0x10, 0x82, 0xbf, 0x2f, 0xd9, 0x0d, 0x95, 0x19, 0x05, 0x53, 0x16, - 0x91, 0x10, 0x28, 0x9d, 0xad, 0xa6, 0x49, 0x81, 0x89, 0xd2, 0x70, 0x4e, 0xd4, 0x1b, 0x5b, 0xc2, - 0x19, 0x34, 0xe4, 0xab, 0x2a, 0xbd, 0xce, 0xc4, 0x37, 0x76, 0x93, 0xe2, 0xb7, 0x19, 0x17, 0x1d, - 0x5d, 0xce, 0xa1, 0xb1, 0x43, 0x3e, 0xc0, 0x6c, 0x81, 0x21, 0x49, 0x8c, 0x7e, 0xeb, 0x17, 0x0b, - 0xf8, 0x1b, 0xce, 0xd1, 0x69, 0x38, 0xd6, 0xb3, 0xf1, 0x2e, 0x93, 0xc8, 0x47, 0x41, 0x40, 0xbf, - 0xef, 0x0d, 0x8e, 0xbc, 0x23, 0x8f, 0x36, 0x49, 0x3e, 0x3c, 0x38, 0x08, 0xc2, 0x6c, 0x96, 0x24, - 0xc9, 0x97, 0x90, 0x75, 0x97, 0x21, 0x9c, 0xfa, 0xd3, 0x6e, 0x98, 0x1c, 0xdc, 0xac, 0x82, 0xbc, - 0x9b, 0xc6, 0x4b, 0x14, 0x14, 0xf4, 0xbc, 0x81, 0xd7, 0xff, 0xde, 0xeb, 0x97, 0x59, 0x42, 0xc4, - 0x0e, 0x13, 0xf6, 0x35, 0x33, 0x58, 0x66, 0x19, 0xde, 0x1a, 0xab, 0x83, 0xa3, 0x67, 0x7d, 0xfc, - 0xd7, 0x1f, 0x1c, 0x76, 0xff, 0x2b, 0xa5, 0xac, 0x83, 0xde, 0xe0, 0xd8, 0x3b, 0xf4, 0x06, 0x58, - 0xc4, 0xf6, 0x0a, 0x19, 0x4c, 0x23, 0xcb, 0x64, 0x95, 0x90, 0xef, 0x08, 0xb2, 0x1c, 0xf6, 0xbf, - 0x32, 0x5f, 0xcf, 0x7b, 0x02, 0x5d, 0x7b, 0xb8, 0xa5, 0xc7, 0xfd, 0x27, 0xf8, 0xef, 0xfb, 0x67, - 0x03, 0xd9, 0x52, 0x94, 0x8b, 0xf4, 0x1f, 0x91, 0xb3, 0xdf, 0x7f, 0x86, 0xff, 0x9e, 0x3e, 0xed, - 0xf5, 0x78, 0xd6, 0x73, 0x6f, 0x86, 0xb3, 0x4c, 0xa7, 0x66, 0x98, 0x25, 0xba, 0xa4, 0xca, 0xb1, - 0xbf, 0x49, 0x85, 0x54, 0x56, 0x30, 0xc3, 0x07, 0x4f, 0x7a, 0x35, 0xf1, 0x5f, 0x5f, 0x17, 0xff, - 0x0d, 0xbe, 0xaf, 0x0b, 0x00, 0x35, 0xe1, 0x9f, 0x90, 0xd4, 0xe9, 0x52, 0x66, 0xac, 0x73, 0x1d, - 0x72, 0x39, 0x56, 0x29, 0x3c, 0x86, 0x53, 0x16, 0x76, 0x66, 0xe9, 0xe5, 0x99, 0xb8, 0xba, 0xbf, - 0xa0, 0xa6, 0x74, 0x18, 0x85, 0xc5, 0xad, 0x30, 0x20, 0x75, 0xef, 0x76, 0xe6, 0xdd, 0xcb, 0x10, - 0x1e, 0x23, 0x31, 0x7f, 0x64, 0xc0, 0xf6, 0x65, 0xfb, 0xe5, 0x31, 0x34, 0x3e, 0x64, 0x87, 0xbb, - 0xbb, 0x19, 0x83, 0x07, 0x5a, 0x5e, 0xe0, 0xd6, 0x74, 0x34, 0x64, 0xad, 0x1c, 0x7a, 0xca, 0xef, - 0x8f, 0x79, 0x95, 0xe6, 0x17, 0x64, 0xa6, 0xe9, 0xbd, 0x58, 0xf7, 0x72, 0xba, 0x7c, 0x3b, 0xd7, - 0x48, 0xb2, 0xb9, 0x86, 0x9f, 0xff, 0xe2, 0x96, 0xa2, 0xb4, 0xa4, 0xaf, 0x5f, 0xbc, 0x7c, 0xdf, - 0x92, 0x38, 0x7f, 0x71, 0xfb, 0x52, 0xca, 0x23, 0x8c, 0x4c, 0x61, 0xfe, 0x7a, 0x95, 0x62, 0xad, - 0x2a, 0x5b, 0x4f, 0xf1, 0x10, 0xaa, 0x6c, 0x03, 0x2d, 0x13, 0x24, 0xd0, 0xb2, 0x20, 0x8e, 0x46, - 0x8d, 0x69, 0x0d, 0xd7, 0x6f, 0x8d, 0xfd, 0xa2, 0x95, 0xf0, 0x1e, 0x79, 0x8a, 0xe1, 0xac, 0x2c, - 0x65, 0x07, 0xc2, 0x82, 0xf7, 0x8e, 0x4e, 0x25, 0x20, 0xcf, 0x23, 0xcc, 0xdf, 0xe0, 0x53, 0xa8, - 0xda, 0xea, 0x0f, 0xcb, 0xe9, 0x8b, 0x28, 0x98, 0x7d, 0x31, 0x1b, 0xae, 0xdc, 0x09, 0xb1, 0x2e, - 0xa1, 0xf8, 0x1b, 0x21, 0xcb, 0x5a, 0xc8, 0x54, 0x2b, 0x92, 0xdb, 0x48, 0x95, 0xc5, 0x09, 0xbb, - 0x35, 0x26, 0xd0, 0xb0, 0x99, 0x40, 0xc3, 0x66, 0xc2, 0x6a, 0x4d, 0xcf, 0xf7, 0x22, 0x0b, 0xcb, - 0x7c, 0xdd, 0x41, 0x7f, 0xf0, 0xe4, 0x3b, 0xa3, 0x21, 0x9d, 0xee, 0xf7, 0xfd, 0xe3, 0xc1, 0x77, - 0x46, 0x53, 0xd0, 0x68, 0x7e, 0x60, 0x84, 0xe9, 0x8d, 0x41, 0xf5, 0xbf, 0xb3, 0x77, 0x58, 0x28, - 0x5c, 0x16, 0x40, 0xb7, 0x31, 0x72, 0x9d, 0x07, 0xa1, 0xdd, 0xeb, 0x89, 0x96, 0x45, 0x05, 0xba, - 0x08, 0x49, 0x23, 0x5e, 0x6c, 0x3b, 0xbe, 0x8f, 0x6e, 0x22, 0x61, 0xd9, 0x03, 0x7d, 0x3b, 0x3f, - 0xc3, 0xf5, 0x85, 0x73, 0x88, 0xfe, 0x22, 0xcf, 0x2e, 0x83, 0x79, 0x72, 0x3d, 0xe2, 0x37, 0x35, - 0x7a, 0x32, 0xd6, 0x86, 0x51, 0x16, 0x06, 0x44, 0x60, 0x7e, 0x7f, 0x0f, 0xbf, 0xf9, 0xca, 0xe4, - 0x0a, 0x90, 0xb2, 0x93, 0x2a, 0xd1, 0xb8, 0x3f, 0xf8, 0x7e, 0xc2, 0x65, 0xa2, 0x42, 0x0d, 0x00, - 0xa9, 0x28, 0x9e, 0xa5, 0x94, 0x4c, 0xf9, 0x92, 0x3e, 0x00, 0x9a, 0x69, 0xdc, 0x9b, 0x5c, 0x70, - 0x21, 0x54, 0x89, 0x66, 0xd8, 0x7f, 0xda, 0x9b, 0xb3, 0xa5, 0x67, 0x7d, 0x7b, 0x27, 0x47, 0x5f, - 0x55, 0xb0, 0xb1, 0x0e, 0x11, 0x51, 0x17, 0x27, 0xe1, 0xdb, 0xbb, 0x62, 0xe3, 0xa9, 0x3f, 0xae, - 0x7b, 0x31, 0xac, 0xa5, 0x76, 0x87, 0x8e, 0xea, 0x54, 0x59, 0xa7, 0x53, 0xa0, 0x56, 0x64, 0x43, - 0xb3, 0x2e, 0x1a, 0x8a, 0xbd, 0xf0, 0xea, 0xdd, 0x2e, 0x1a, 0xba, 0xa9, 0xcd, 0x12, 0x71, 0xc0, - 0x5f, 0x2e, 0x96, 0x70, 0x3a, 0xcc, 0x3e, 0xe2, 0x95, 0x89, 0x62, 0x36, 0x14, 0xad, 0xc1, 0x0e, - 0x82, 0x7b, 0xb4, 0x4b, 0xd7, 0xa8, 0x00, 0xbf, 0xc3, 0x7d, 0x6c, 0x73, 0x95, 0x4e, 0xdb, 0x15, - 0x95, 0x08, 0x85, 0x8b, 0x8f, 0x49, 0x4a, 0xc9, 0xf1, 0xa4, 0x92, 0x72, 0x6e, 0x7e, 0x1a, 0x4e, - 0x6c, 0xac, 0x77, 0x80, 0x68, 0xc1, 0xc2, 0x37, 0x46, 0x59, 0x2c, 0x57, 0x83, 0x9d, 0x2e, 0x47, - 0xd0, 0x51, 0x3a, 0x60, 0xec, 0xfd, 0xfd, 0xd9, 0x7e, 0x1f, 0x55, 0x5c, 0x47, 0x9c, 0xd8, 0x57, - 0x65, 0xf2, 0x9b, 0x73, 0x24, 0x53, 0x15, 0xd3, 0x14, 0xde, 0xba, 0x13, 0xbb, 0x7f, 0x94, 0xde, - 0x58, 0xfc, 0x4f, 0x4f, 0x7c, 0xb3, 0x51, 0xec, 0x08, 0xdf, 0x07, 0x03, 0xf8, 0x73, 0x24, 0xbe, - 0x20, 0x46, 0x93, 0xc8, 0x3a, 0x15, 0x59, 0x9f, 0x41, 0x54, 0xcf, 0xfa, 0x1e, 0xff, 0xca, 0x2c, - 0x3d, 0x4a, 0xdf, 0xd3, 0x13, 0x5f, 0xce, 0x29, 0xb1, 0xb4, 0x2d, 0xa1, 0xd5, 0xa9, 0x45, 0xaf, - 0x0a, 0x8a, 0xee, 0x51, 0xb5, 0xc7, 0x46, 0x3d, 0xc5, 0xfe, 0xd4, 0xf6, 0xca, 0xbe, 0xd2, 0xd5, - 0x02, 0xc4, 0xf3, 0xb4, 0x4c, 0x91, 0x2f, 0x53, 0x9e, 0x82, 0x7a, 0xc8, 0xaf, 0xfd, 0x09, 0xaf, - 0x42, 0x6a, 0x6d, 0x40, 0xe2, 0xf0, 0x5f, 0xe8, 0xa9, 0x9a, 0xbc, 0x70, 0x9e, 0x15, 0x49, 0x06, - 0xf7, 0x14, 0x1e, 0xb5, 0x6f, 0x0b, 0xb6, 0x72, 0xec, 0x6b, 0x20, 0x16, 0x7f, 0x0e, 0x61, 0xfa, - 0x6c, 0xef, 0xdf, 0xce, 0x7e, 0x7a, 0xdf, 0xe5, 0x76, 0x43, 0xe1, 0xe2, 0xd6, 0x81, 0x62, 0x5d, - 0x57, 0x91, 0x4b, 0x70, 0xfa, 0xcd, 0xf3, 0xdd, 0xdd, 0x35, 0x9d, 0xf3, 0x3f, 0xbf, 0xd5, 0x0f, - 0xf6, 0x62, 0x19, 0xfd, 0xc0, 0xd0, 0x3f, 0x5c, 0x75, 0xfa, 0x80, 0x66, 0xf1, 0x77, 0x1a, 0x02, - 0xbd, 0x72, 0xc9, 0x18, 0xa5, 0xf0, 0xd5, 0xc3, 0xcb, 0x29, 0x57, 0x8d, 0xdf, 0xb6, 0x9c, 0x26, - 0x9c, 0x28, 0x1b, 0x8a, 0xf8, 0xb6, 0x52, 0xdf, 0xd1, 0xbc, 0xeb, 0xcd, 0xe3, 0x2b, 0x41, 0x6b, - 0x1a, 0x0f, 0x68, 0x2b, 0x00, 0xad, 0xbb, 0xeb, 0x9d, 0x43, 0xbb, 0xc5, 0x9d, 0x86, 0x40, 0xaf, - 0x79, 0x11, 0xd7, 0xd3, 0xf2, 0xf0, 0xc6, 0x4a, 0xc5, 0x3e, 0x82, 0x83, 0x8f, 0xc1, 0x39, 0xa4, - 0x2f, 0x6b, 0xfb, 0x1b, 0xc6, 0xf4, 0xe5, 0x33, 0xdb, 0x5f, 0xd8, 0x42, 0x2b, 0x43, 0x0f, 0x1c, - 0x60, 0xe0, 0x7c, 0x3e, 0x37, 0x02, 0x0f, 0x31, 0x70, 0x3a, 0x9d, 0x1a, 0x81, 0x47, 0x18, 0x18, - 0x04, 0x81, 0x11, 0x78, 0x8c, 0x81, 0xcf, 0x9e, 0x3d, 0x33, 0x02, 0x9f, 0x34, 0x05, 0x3e, 0xc5, - 0xc0, 0xa7, 0x4f, 0x9f, 0x1a, 0x81, 0x53, 0x0c, 0x3c, 0x3a, 0x3a, 0x32, 0x02, 0x67, 0x18, 0x78, - 0x78, 0x78, 0x68, 0x04, 0x22, 0x8f, 0xe6, 0x9b, 0x7e, 0xbf, 0x6f, 0x04, 0xce, 0x31, 0x70, 0x30, - 0x18, 0x18, 0x81, 0x19, 0xb5, 0x73, 0x60, 0xa6, 0x5c, 0x52, 0xca, 0xc0, 0x0c, 0x8c, 0x28, 0xf0, - 0xc9, 0xcc, 0x08, 0x4c, 0x6c, 0xa1, 0xd1, 0x32, 0xe8, 0x1d, 0x79, 0x56, 0xf9, 0xa7, 0xd7, 0x7d, - 0xe6, 0x1a, 0x09, 0xf3, 0xa9, 0x18, 0xcf, 0xc3, 0x4a, 0xf0, 0xa5, 0x08, 0x7f, 0x62, 0x84, 0x17, - 0xd3, 0x96, 0x82, 0xe1, 0xf0, 0x71, 0x68, 0x07, 0xbb, 0x6e, 0x25, 0x43, 0x20, 0x73, 0xf4, 0x81, - 0x76, 0xb3, 0xca, 0x3f, 0xed, 0x39, 0x2e, 0x1f, 0x55, 0x07, 0x9d, 0xad, 0xe1, 0x6a, 0x79, 0xad, - 0x4e, 0x56, 0xce, 0xcc, 0xf6, 0xe1, 0x29, 0x8d, 0x9a, 0x6b, 0x4e, 0xaf, 0xfb, 0x14, 0xd2, 0x0d, - 0xab, 0x0b, 0xaa, 0x3a, 0xfc, 0xb4, 0xa0, 0xf8, 0x5d, 0x56, 0x59, 0x50, 0xd5, 0x39, 0x39, 0x6c, - 0x9a, 0xd2, 0xa3, 0xa6, 0xc9, 0xa7, 0x05, 0x75, 0x7c, 0x7c, 0x5c, 0x5f, 0x50, 0x4f, 0x9e, 0x3c, - 0x79, 0xe4, 0x82, 0xaa, 0xae, 0x5c, 0x5a, 0x50, 0xb3, 0xd9, 0xac, 0xbe, 0xa0, 0xaa, 0x5b, 0x64, - 0xde, 0xb4, 0x1b, 0x68, 0x41, 0xb1, 0xa3, 0x41, 0x7d, 0x41, 0x1d, 0xb1, 0x41, 0x7d, 0x41, 0x1d, - 0x3d, 0x0d, 0x9a, 0x17, 0xd4, 0x21, 0x4c, 0x84, 0xfc, 0xd7, 0xb2, 0x9a, 0x60, 0x30, 0x1b, 0x57, - 0x13, 0x84, 0x1f, 0xb7, 0xac, 0x26, 0xbd, 0xd4, 0xc7, 0x2c, 0xa5, 0xde, 0x00, 0x56, 0x91, 0xfa, - 0xf3, 0x88, 0xa5, 0x74, 0xdc, 0xf7, 0x2c, 0xf9, 0xef, 0xb1, 0xeb, 0x68, 0x1d, 0x23, 0xcb, 0x49, - 0x3b, 0xa7, 0x10, 0x9e, 0xf5, 0xc5, 0xb2, 0x24, 0xd0, 0x28, 0xeb, 0x74, 0x89, 0x75, 0xfa, 0xf3, - 0x2a, 0x96, 0x2d, 0x14, 0x69, 0x93, 0x50, 0x3f, 0xef, 0xe6, 0xd9, 0xcc, 0x67, 0x9e, 0x0d, 0x47, - 0x3a, 0xbb, 0xbf, 0x57, 0x2f, 0x28, 0x38, 0x10, 0xf3, 0xf5, 0xaa, 0x9b, 0x5e, 0x26, 0x45, 0x92, - 0x1f, 0xf4, 0x9f, 0x0d, 0x7a, 0x07, 0xfd, 0xde, 0xd3, 0x1e, 0x71, 0x87, 0x24, 0x56, 0x91, 0x7c, - 0x74, 0x28, 0x5c, 0x9c, 0xd8, 0x02, 0x2a, 0x1b, 0xde, 0xaa, 0xa4, 0x22, 0xcf, 0x7d, 0x5f, 0x23, - 0xf0, 0x58, 0xfc, 0xb9, 0x77, 0x3e, 0x89, 0x90, 0xf4, 0x7f, 0xb3, 0x8e, 0xa2, 0x4f, 0x40, 0x6f, - 0x39, 0xee, 0x10, 0x03, 0x51, 0xce, 0x24, 0xca, 0x70, 0x02, 0x2f, 0x46, 0x8b, 0xe8, 0x58, 0x98, - 0xb2, 0xab, 0xf0, 0x04, 0x9a, 0x89, 0x37, 0x24, 0xfd, 0x08, 0x09, 0x97, 0x13, 0xbf, 0xb9, 0x9d, - 0x98, 0x4c, 0xdd, 0xa3, 0x31, 0x7a, 0x53, 0x8d, 0x4e, 0xc8, 0x83, 0x21, 0xef, 0x4c, 0x8c, 0x96, - 0xef, 0x9b, 0x4d, 0xde, 0x00, 0x42, 0x8b, 0x63, 0x04, 0xe4, 0x88, 0x3f, 0x16, 0x3d, 0xd0, 0x28, - 0xfb, 0xea, 0xd5, 0x3e, 0x5d, 0x42, 0xc5, 0x44, 0xfe, 0x47, 0x28, 0x8f, 0x8a, 0xfc, 0xee, 0x13, - 0xd4, 0x17, 0xe3, 0x93, 0x20, 0x10, 0xa6, 0xfd, 0x48, 0x85, 0x94, 0xa4, 0xdc, 0x5b, 0x7c, 0x7b, - 0xfa, 0x17, 0xeb, 0x2c, 0x02, 0x7a, 0x8e, 0x5a, 0x44, 0x94, 0x1c, 0xf7, 0x4c, 0x4b, 0x93, 0x82, - 0x1e, 0xba, 0xe8, 0x96, 0x53, 0x93, 0xca, 0x69, 0x3b, 0x9b, 0xcf, 0x3d, 0xec, 0x26, 0x42, 0xcb, - 0x36, 0x66, 0xf6, 0xec, 0x4b, 0x18, 0xbf, 0x3c, 0x3b, 0x93, 0x3c, 0x6d, 0xfe, 0x06, 0x93, 0x3c, - 0xd4, 0x79, 0x8b, 0x0f, 0xb3, 0x4b, 0x06, 0xdd, 0x45, 0x13, 0xa9, 0xa6, 0x25, 0x80, 0x9e, 0xd1, - 0x60, 0x0d, 0x70, 0xbb, 0x3d, 0x0f, 0xae, 0x4b, 0x16, 0xf9, 0x36, 0x35, 0x27, 0x87, 0xe7, 0x28, - 0xfa, 0x77, 0xe0, 0xce, 0xe2, 0x6d, 0x24, 0xd3, 0x0f, 0x66, 0x04, 0xc2, 0xdd, 0xbd, 0xcc, 0xd8, - 0x02, 0x69, 0xf9, 0x9f, 0x3f, 0xbc, 0x73, 0xec, 0x83, 0x1c, 0x1a, 0xd5, 0xc5, 0x18, 0xd4, 0xd7, - 0x5a, 0xb1, 0x79, 0x18, 0xf8, 0x76, 0x40, 0x26, 0x35, 0x06, 0xda, 0x72, 0xae, 0x2b, 0xb7, 0x88, - 0xcc, 0xa5, 0x6d, 0x37, 0x90, 0x42, 0x13, 0xc9, 0xfd, 0xe3, 0xee, 0xcc, 0x88, 0x37, 0x88, 0xfe, - 0xea, 0x3a, 0x9a, 0x76, 0x41, 0x12, 0x23, 0x6e, 0xb0, 0xc3, 0x57, 0x37, 0xab, 0xf9, 0x4a, 0x43, - 0xb4, 0x47, 0xd8, 0x1a, 0x6c, 0x88, 0xeb, 0x58, 0xb9, 0x47, 0x73, 0x89, 0xbb, 0xd8, 0xf3, 0x1c, - 0x2a, 0xd2, 0x37, 0xa8, 0xae, 0xa5, 0xa4, 0xba, 0x20, 0xf4, 0x2d, 0xe7, 0xb7, 0x8b, 0x64, 0x90, - 0x1b, 0x1e, 0xa0, 0x8e, 0xfd, 0x06, 0xca, 0xb3, 0x90, 0x13, 0xd7, 0xb5, 0x4e, 0x23, 0x46, 0xc8, - 0x78, 0x31, 0xec, 0x3d, 0xeb, 0xd7, 0x77, 0xaf, 0x5f, 0x59, 0x6f, 0x4f, 0x77, 0xec, 0x36, 0x3a, - 0x8e, 0x97, 0xe8, 0x51, 0x69, 0x12, 0x2e, 0x56, 0xbe, 0x9a, 0xa4, 0x8b, 0x36, 0x52, 0x3b, 0x25, - 0xe4, 0x66, 0xa7, 0xef, 0x21, 0x9b, 0x78, 0x9e, 0xff, 0x1a, 0x16, 0x97, 0x30, 0xaa, 0xb6, 0x8b, - 0x4e, 0x14, 0xb8, 0xa0, 0xd6, 0x25, 0xab, 0x99, 0x82, 0x42, 0x47, 0x8a, 0x47, 0x5a, 0x76, 0x90, - 0xd7, 0x81, 0x3a, 0x9a, 0x49, 0x5e, 0x90, 0xe7, 0x37, 0x64, 0x26, 0x27, 0x19, 0x10, 0xb1, 0x43, - 0x7c, 0x19, 0xe2, 0x57, 0xee, 0xf9, 0x4f, 0xbc, 0x98, 0xc7, 0x3d, 0x78, 0x18, 0xe3, 0x83, 0x0c, - 0xc5, 0x1a, 0x13, 0x47, 0x8c, 0x0f, 0x95, 0xd2, 0xf1, 0xa1, 0x96, 0x4e, 0x2e, 0xdc, 0x1d, 0x42, - 0x85, 0xee, 0x50, 0x1c, 0x07, 0xe4, 0x1c, 0x56, 0x54, 0x8e, 0x7b, 0x81, 0x32, 0x71, 0x6d, 0x8c, - 0xa2, 0x65, 0x50, 0x4b, 0x52, 0x96, 0x2b, 0xfd, 0x20, 0x13, 0x0f, 0x5e, 0xd7, 0x4b, 0xf6, 0x8a, - 0xb1, 0x14, 0x7f, 0x71, 0x0a, 0x97, 0x36, 0x20, 0x2a, 0x7d, 0xc0, 0xde, 0x4a, 0x92, 0xa8, 0x08, - 0x53, 0x20, 0x8e, 0x89, 0xa7, 0x7a, 0xfa, 0x73, 0x11, 0x46, 0xf0, 0x03, 0x5f, 0xda, 0x6f, 0xe8, - 0xcc, 0x03, 0xb2, 0xd1, 0x73, 0xec, 0x22, 0x23, 0xa7, 0xe4, 0xcd, 0xb5, 0xa6, 0xb3, 0x95, 0x0d, + 0x8e, 0x1d, 0x69, 0x4d, 0x05, 0x02, 0xfe, 0x7f, 0xc5, 0xbd, 0xfb, 0x76, 0xdb, 0x46, 0xb3, 0x2f, + 0xf8, 0xff, 0x3c, 0x05, 0x84, 0xe4, 0x93, 0x80, 0x10, 0xa2, 0x48, 0x4a, 0x72, 0x6c, 0x52, 0x20, + 0x97, 0xaf, 0x5f, 0xbc, 0xb7, 0xe3, 0x68, 0x5b, 0xce, 0xc5, 0xcb, 0xd1, 0x6c, 0x81, 0x64, 0x93, + 0xc2, 0x36, 0x08, 0x20, 0x00, 0xa8, 0xcb, 0x27, 0xf1, 0x3c, 0xc6, 0x59, 0xeb, 0xbc, 0xc0, 0xfc, + 0x31, 0xf3, 0x56, 0xf3, 0x24, 0x53, 0x55, 0x7d, 0x41, 0x37, 0x2e, 0x94, 0x9c, 0xe4, 0xec, 0xc9, + 0x8a, 0x45, 0xb2, 0xef, 0x97, 0xea, 0xee, 0xea, 0xaa, 0xea, 0x5f, 0x79, 0x0f, 0x65, 0x85, 0x66, + 0xb8, 0x43, 0xad, 0x4d, 0x2d, 0x82, 0x8a, 0x76, 0x52, 0x7a, 0x68, 0xf4, 0x43, 0xaf, 0xe0, 0x7b, + 0x87, 0x7c, 0x11, 0xa2, 0xfb, 0xc7, 0x23, 0xf2, 0xa9, 0x72, 0x1c, 0x2a, 0x84, 0xdf, 0xb9, 0x16, + 0x59, 0xb2, 0x72, 0x9a, 0xdf, 0x69, 0x3e, 0x47, 0x7d, 0x05, 0x34, 0x39, 0x8c, 0x67, 0xd1, 0x1a, + 0x7d, 0xa8, 0xf2, 0x5b, 0xb4, 0x78, 0xd9, 0x88, 0xf2, 0x2c, 0x9c, 0x9a, 0xb5, 0x7f, 0x87, 0x02, + 0xbf, 0xb3, 0x33, 0x24, 0xe9, 0xe2, 0x72, 0xbd, 0x9a, 0x72, 0x3e, 0xbf, 0x7f, 0xec, 0x5d, 0xe3, + 0x2b, 0x2a, 0xa4, 0x6e, 0x2f, 0xf1, 0x9b, 0x4e, 0x05, 0xfe, 0xee, 0x8e, 0xb4, 0x11, 0xa5, 0x13, + 0x40, 0xce, 0x69, 0xcf, 0x7c, 0x73, 0xc7, 0x13, 0xcf, 0xf0, 0x77, 0x1c, 0x14, 0xa8, 0x72, 0xef, + 0x2a, 0xe5, 0x7b, 0x10, 0xd8, 0x39, 0xa3, 0xa6, 0x0a, 0x12, 0xf8, 0x0e, 0x9c, 0x03, 0xdf, 0xcc, + 0x37, 0x3a, 0xa4, 0x18, 0xab, 0x8c, 0x82, 0xbc, 0x79, 0xe2, 0x4d, 0x36, 0x6f, 0x4a, 0x86, 0xd8, + 0xf7, 0xf8, 0x8a, 0x13, 0x55, 0x59, 0x90, 0x66, 0xe1, 0xc3, 0x85, 0xc4, 0x0f, 0xbc, 0xb9, 0x9f, + 0x7b, 0xb7, 0x6d, 0xe9, 0xc5, 0xc3, 0x50, 0x48, 0x3e, 0x6d, 0x4d, 0x72, 0xc5, 0x13, 0xac, 0xfc, + 0x6d, 0x4c, 0xa2, 0x39, 0x64, 0xbe, 0x0f, 0x57, 0x3b, 0xf4, 0x0c, 0xe4, 0x44, 0xf4, 0x11, 0xd0, + 0x5f, 0x5c, 0xce, 0xf8, 0x10, 0x4f, 0x1a, 0x12, 0x6b, 0xc8, 0xc3, 0xb5, 0x01, 0xe1, 0x44, 0xb5, + 0xa1, 0xe7, 0x3a, 0x3b, 0xe6, 0xc6, 0x22, 0x72, 0x6f, 0x46, 0x75, 0xb2, 0x31, 0xf6, 0x43, 0x58, + 0x45, 0x8e, 0x39, 0x43, 0x08, 0xbf, 0xe0, 0x54, 0xe6, 0x45, 0xb3, 0x8f, 0xc0, 0xbb, 0xb7, 0xb0, + 0x91, 0x78, 0x19, 0xc4, 0xe8, 0x25, 0x15, 0xc9, 0xc8, 0x0a, 0xb8, 0x0f, 0x54, 0x2b, 0x80, 0xff, + 0x55, 0x65, 0x36, 0x50, 0x34, 0x3f, 0x42, 0x80, 0x8d, 0xb9, 0x55, 0xef, 0x8e, 0x18, 0x1f, 0x4f, + 0x9f, 0x0d, 0x17, 0xda, 0x4b, 0x23, 0x19, 0xda, 0xf2, 0xd6, 0x18, 0xc5, 0x2c, 0xb7, 0x46, 0x4a, + 0xc8, 0xb9, 0x32, 0x02, 0xd0, 0x56, 0x40, 0x9c, 0x5e, 0xaa, 0x54, 0xbe, 0x57, 0xfb, 0x99, 0xc0, + 0x48, 0xd8, 0x28, 0x35, 0x0d, 0xea, 0x4a, 0x9c, 0x72, 0xbd, 0xe1, 0xd3, 0xe0, 0x99, 0x2f, 0x4c, + 0xa4, 0x81, 0xe3, 0x45, 0x0b, 0x06, 0xbe, 0xfb, 0xeb, 0xc3, 0xcf, 0xb7, 0xf0, 0x7e, 0x6d, 0x83, + 0xd3, 0xe0, 0xcd, 0xcb, 0xcd, 0xac, 0xaf, 0xef, 0x6c, 0x7d, 0xdc, 0xd9, 0x04, 0xb6, 0x3e, 0x6e, + 0xfa, 0x2b, 0x9a, 0x6c, 0xec, 0xff, 0x24, 0xf1, 0x1f, 0xb5, 0x82, 0x29, 0x2d, 0x1b, 0xee, 0x11, + 0xe7, 0xfc, 0x99, 0x2e, 0x99, 0x36, 0x75, 0xd8, 0x3e, 0xdf, 0x83, 0xcd, 0xe9, 0x96, 0x17, 0x85, + 0x08, 0x7d, 0xf3, 0x5a, 0xa9, 0xcc, 0x1d, 0x5e, 0xf2, 0xa1, 0xc6, 0xfb, 0x99, 0x38, 0x24, 0x6e, + 0x61, 0x44, 0x57, 0xe8, 0x78, 0x50, 0x77, 0x86, 0xc3, 0x91, 0xb9, 0xf4, 0xe1, 0x52, 0x14, 0x44, + 0x05, 0xcc, 0xba, 0xb4, 0x19, 0xec, 0xee, 0x22, 0x2d, 0xfc, 0xb8, 0x2e, 0xc8, 0x64, 0xf9, 0xa7, + 0x69, 0xce, 0xb2, 0x2b, 0xe3, 0xdc, 0x01, 0xba, 0xd2, 0xea, 0x8f, 0x5b, 0x36, 0x70, 0x3d, 0x09, + 0xaa, 0x1b, 0x98, 0x78, 0x61, 0xdd, 0x9c, 0x1a, 0x8e, 0x20, 0x94, 0x22, 0xc3, 0x41, 0x84, 0x2d, + 0xe1, 0x0f, 0xa0, 0x62, 0x42, 0xa7, 0x10, 0xff, 0x77, 0x13, 0xde, 0x90, 0x72, 0x14, 0xa7, 0xc9, + 0xfc, 0x16, 0xf8, 0x73, 0xb4, 0x51, 0xc0, 0x15, 0x8f, 0x5b, 0x5b, 0xbe, 0x9e, 0x16, 0x19, 0xe3, + 0x87, 0xb5, 0x97, 0xb4, 0xb3, 0xba, 0x54, 0xbc, 0x10, 0x35, 0x2b, 0xf3, 0x1e, 0x16, 0xe3, 0xd9, + 0xd8, 0x66, 0x43, 0x6c, 0xeb, 0x06, 0x1e, 0xc8, 0xaf, 0xa8, 0x76, 0xc8, 0x2f, 0x62, 0x2b, 0xd9, + 0x6c, 0xce, 0x3d, 0x98, 0x0a, 0x41, 0x6e, 0x5c, 0x6d, 0x57, 0xa1, 0x36, 0xb4, 0x8b, 0x11, 0xb5, + 0x99, 0xb4, 0xdc, 0xe5, 0xbb, 0x74, 0x65, 0xd9, 0x70, 0x9f, 0x61, 0x84, 0x9f, 0xc9, 0x89, 0xc6, + 0x17, 0x1a, 0xf7, 0x86, 0x44, 0xd7, 0x6c, 0xfa, 0xef, 0x61, 0xf1, 0xf3, 0x63, 0x92, 0x52, 0x77, + 0x9e, 0x53, 0x8b, 0x7c, 0x7b, 0x15, 0xc4, 0x61, 0xba, 0x8e, 0xb8, 0x95, 0xba, 0x58, 0x46, 0x91, + 0x30, 0x09, 0xc8, 0x9d, 0x1d, 0xa5, 0x8c, 0xab, 0xad, 0x46, 0x2e, 0x1e, 0x57, 0x83, 0x08, 0x33, + 0x5c, 0x64, 0xc9, 0xed, 0xff, 0x86, 0x2e, 0x3f, 0xb2, 0xbb, 0x0f, 0x77, 0xb5, 0xa1, 0x7b, 0xfd, + 0xf6, 0xee, 0x71, 0xb7, 0x25, 0xb2, 0x7b, 0x2a, 0x4f, 0xdb, 0x0e, 0x52, 0x48, 0x85, 0x0b, 0x9b, + 0xd8, 0x55, 0xfb, 0x0f, 0x84, 0x89, 0xad, 0x1b, 0x5c, 0xd8, 0xa3, 0xcf, 0xba, 0x95, 0x89, 0x69, + 0x71, 0x55, 0xda, 0x59, 0x35, 0x2c, 0x1b, 0xb2, 0xaf, 0x12, 0x4d, 0x06, 0x3e, 0x09, 0x08, 0xba, + 0x89, 0xd8, 0xc9, 0x71, 0x17, 0x1e, 0x9a, 0xc0, 0x6c, 0xf5, 0x0d, 0x82, 0x07, 0x3a, 0x6f, 0xea, + 0x06, 0x1e, 0x12, 0x6a, 0xb2, 0x80, 0x6d, 0x47, 0x23, 0xfb, 0xda, 0x3e, 0xc2, 0x1f, 0xe7, 0x40, + 0x8b, 0xa1, 0x10, 0x92, 0x11, 0xd5, 0xac, 0x70, 0xbc, 0xb5, 0x0e, 0x26, 0x4f, 0xaf, 0xc3, 0x4b, + 0xf7, 0x61, 0xf6, 0x2a, 0x04, 0x32, 0x83, 0x5d, 0xb2, 0x07, 0xfb, 0xe6, 0xb6, 0x64, 0xc1, 0x0d, + 0x25, 0x43, 0xd9, 0xcd, 0x6c, 0x5b, 0x42, 0x18, 0xcb, 0x94, 0xa7, 0x24, 0xa4, 0xa7, 0x16, 0x83, + 0x22, 0x60, 0x2f, 0x10, 0xca, 0x2d, 0xe2, 0xe2, 0x9b, 0xef, 0x0c, 0x3a, 0x2c, 0xd9, 0xa2, 0x83, + 0x81, 0xab, 0x3f, 0x0d, 0xeb, 0x8d, 0xd1, 0x5e, 0x55, 0xcf, 0x56, 0xda, 0x16, 0x45, 0x64, 0x5b, + 0x84, 0xae, 0xdd, 0xfc, 0x1e, 0x82, 0xe8, 0x9d, 0x70, 0x67, 0x92, 0x64, 0x87, 0x78, 0xdc, 0x1b, + 0xc7, 0x93, 0x78, 0xdf, 0x27, 0x78, 0xe9, 0xc1, 0x77, 0xb1, 0xfb, 0x5d, 0x30, 0x3c, 0x16, 0x29, + 0x3a, 0x3e, 0x3e, 0xae, 0xc2, 0xa7, 0x55, 0xdf, 0x05, 0xae, 0xb7, 0xee, 0xd4, 0x8e, 0xe9, 0xfe, + 0x58, 0xdd, 0x2a, 0xea, 0x24, 0x66, 0xdb, 0x52, 0xfb, 0xc4, 0xf0, 0x3e, 0x8f, 0x46, 0x4c, 0x07, + 0xce, 0x64, 0xf8, 0x7b, 0xd7, 0xf9, 0x7d, 0xde, 0x41, 0x43, 0xcb, 0xc9, 0xf0, 0x33, 0x7b, 0x7d, + 0xee, 0x7c, 0xee, 0xec, 0x9f, 0x4f, 0x78, 0xd0, 0xb7, 0x07, 0x6a, 0xb3, 0x2f, 0x26, 0x1a, 0x76, + 0xa8, 0x83, 0xd0, 0xcd, 0x13, 0xfc, 0x23, 0x8e, 0xbb, 0x61, 0xcf, 0xdd, 0x87, 0xc0, 0xc1, 0xf9, + 0xa4, 0x83, 0x7f, 0x87, 0x68, 0x8c, 0xd9, 0xdb, 0x68, 0xce, 0x00, 0xb4, 0x49, 0xc0, 0x85, 0xf5, + 0x26, 0xbc, 0x61, 0x73, 0xd4, 0x82, 0x6d, 0x74, 0xab, 0x42, 0x0e, 0x9b, 0xc7, 0x0e, 0x0a, 0xf7, + 0x3b, 0xe0, 0x61, 0x62, 0x8e, 0x79, 0x97, 0xec, 0xaf, 0x5d, 0xdc, 0xd2, 0xd5, 0xbb, 0x98, 0x66, + 0xfa, 0xd3, 0x36, 0x8a, 0x29, 0x67, 0x7f, 0x24, 0xa1, 0xa1, 0x48, 0x5f, 0x6e, 0x21, 0xac, 0x66, + 0x1a, 0xe6, 0xa9, 0x64, 0xdc, 0x7d, 0x09, 0x4d, 0xee, 0x92, 0x68, 0xdf, 0xab, 0x8d, 0x2f, 0xb2, + 0xa8, 0x72, 0x80, 0xc9, 0x34, 0x94, 0xfb, 0xa6, 0xf3, 0xee, 0xa6, 0xeb, 0x29, 0xd4, 0x90, 0xd3, + 0x11, 0x32, 0xe2, 0x4a, 0x04, 0x1c, 0x60, 0x1e, 0x8f, 0x2f, 0x86, 0x1d, 0x45, 0xf6, 0xe5, 0xea, + 0x2c, 0xbd, 0xe8, 0xd8, 0x42, 0x3b, 0x34, 0xe4, 0x6a, 0x18, 0x1b, 0x97, 0x1b, 0x39, 0xbd, 0x75, + 0x62, 0x4d, 0x5e, 0x9c, 0xc0, 0x38, 0x50, 0x18, 0xfa, 0xac, 0x2d, 0xc4, 0x82, 0x4a, 0xbc, 0xd9, + 0x86, 0x54, 0x6e, 0x4d, 0xc2, 0x05, 0x7a, 0xe9, 0x96, 0xcc, 0xc2, 0xd4, 0xbb, 0xfe, 0xd5, 0x83, + 0x2f, 0xa8, 0xb8, 0x82, 0x0f, 0x2a, 0xd2, 0xe7, 0xae, 0x81, 0x6c, 0x2f, 0xcc, 0x7f, 0x8a, 0x09, + 0x10, 0x23, 0x7a, 0x8e, 0x1f, 0x61, 0xfe, 0xee, 0x8a, 0x7f, 0xbe, 0x8d, 0x17, 0x09, 0xff, 0x46, + 0x67, 0x30, 0x7e, 0xcd, 0x6f, 0xe3, 0xd9, 0x19, 0xb4, 0x1d, 0xbf, 0x5f, 0x06, 0xf9, 0xaf, 0x97, + 0x61, 0xc1, 0xc4, 0xf7, 0x0f, 0xff, 0x7c, 0x21, 0xbe, 0xbd, 0x7c, 0xf9, 0x91, 0x97, 0xf7, 0x6a, + 0x9d, 0xf9, 0xf8, 0x7a, 0x38, 0xfa, 0x18, 0x64, 0xe8, 0x59, 0x38, 0xfa, 0x11, 0xca, 0xa1, 0x62, + 0xd8, 0xf2, 0x1d, 0x50, 0x12, 0x84, 0xe5, 0xb4, 0x01, 0xb3, 0xf9, 0x1b, 0xfd, 0xc7, 0x69, 0x80, + 0xcf, 0x69, 0x67, 0xf0, 0x13, 0x3f, 0xb8, 0x2b, 0x94, 0x53, 0xae, 0x97, 0xdc, 0x87, 0x0e, 0x04, + 0xb9, 0xf0, 0x5d, 0x46, 0x59, 0x96, 0x2f, 0x49, 0x6f, 0x88, 0xa0, 0x65, 0x73, 0xf5, 0x35, 0xb9, + 0x86, 0x13, 0xe5, 0xe7, 0x18, 0xad, 0xf2, 0x7c, 0xb2, 0xf1, 0x3a, 0x63, 0x4b, 0x0c, 0xe7, 0x1f, + 0xe9, 0x4c, 0x36, 0x84, 0x7f, 0xa3, 0x7e, 0x63, 0xb1, 0xd7, 0x58, 0x62, 0xb8, 0x4a, 0xa3, 0x70, + 0x11, 0xb2, 0xf9, 0xcf, 0x6f, 0x49, 0xd1, 0x97, 0xf9, 0xdf, 0xc3, 0x6d, 0x40, 0x9e, 0xd7, 0x23, + 0xba, 0xd1, 0x58, 0xb4, 0xd7, 0xe7, 0x7e, 0x29, 0x1d, 0xe9, 0x12, 0x8b, 0xe8, 0x34, 0x32, 0x63, + 0xc0, 0x36, 0x71, 0xfd, 0x40, 0x1a, 0x44, 0xac, 0x28, 0x58, 0xfe, 0x2a, 0x28, 0x02, 0xef, 0x1a, + 0x98, 0x60, 0x81, 0xd5, 0x01, 0x8b, 0x20, 0xbb, 0xc5, 0xca, 0x16, 0x37, 0xe4, 0x26, 0x09, 0x15, + 0x32, 0xff, 0x96, 0xc3, 0xb1, 0x83, 0x7a, 0x23, 0xf9, 0x25, 0x92, 0x5f, 0xd2, 0xf2, 0xdb, 0x7b, + 0x3c, 0xba, 0xd2, 0xb7, 0xd8, 0xa7, 0xf7, 0xeb, 0x15, 0x7e, 0xac, 0x0a, 0xbf, 0x8f, 0x7f, 0xdf, + 0x9d, 0xf1, 0x5f, 0xef, 0xa0, 0x5b, 0xd8, 0x73, 0xf8, 0x08, 0x71, 0x3e, 0x11, 0x48, 0x31, 0xff, + 0x11, 0xeb, 0x5a, 0x61, 0x6f, 0x57, 0x97, 0xf0, 0xe7, 0x3a, 0xff, 0x90, 0x62, 0xa2, 0xd9, 0x62, + 0xe9, 0xdf, 0x15, 0x97, 0x70, 0x34, 0x0c, 0xef, 0xd0, 0xc2, 0x12, 0x0e, 0xe6, 0x20, 0xfb, 0x62, + 0x7b, 0xd3, 0xe5, 0xf0, 0x0e, 0x25, 0x61, 0xe8, 0x39, 0x34, 0x9e, 0xa3, 0x94, 0x0f, 0x3e, 0xfe, + 0x09, 0x8c, 0x5a, 0x0e, 0x9c, 0x3e, 0x13, 0xbf, 0x5f, 0x44, 0xeb, 0x0c, 0x2d, 0xff, 0x3c, 0xd2, + 0xc2, 0x41, 0x01, 0xcb, 0x61, 0xf7, 0x89, 0x57, 0x04, 0xd3, 0x61, 0xf7, 0xe9, 0x46, 0xa8, 0x9d, + 0x30, 0xd0, 0x46, 0x1c, 0x71, 0x54, 0x9f, 0x0d, 0xa5, 0xce, 0xe5, 0x2e, 0x25, 0x8d, 0x05, 0xb2, + 0x62, 0xd9, 0x72, 0x8a, 0xc5, 0xfd, 0xb1, 0x86, 0x10, 0xfc, 0x7d, 0xc9, 0x6e, 0xa8, 0xcc, 0x28, + 0x98, 0xb2, 0x88, 0x94, 0x40, 0xe9, 0x6c, 0x35, 0x4d, 0x0a, 0x4c, 0x94, 0x86, 0x73, 0xe2, 0xde, + 0xd8, 0x12, 0xf6, 0xa0, 0x21, 0xa7, 0xaa, 0xf4, 0x3a, 0x13, 0xdf, 0xd8, 0x4d, 0x8a, 0xdf, 0x66, + 0x5c, 0x75, 0x74, 0x39, 0x87, 0xc6, 0x0e, 0xf9, 0x00, 0xb3, 0x05, 0x86, 0x24, 0x31, 0xfa, 0xad, + 0x5f, 0x2c, 0xe0, 0x6f, 0x38, 0x47, 0xa7, 0xe1, 0x58, 0xcf, 0xc6, 0xbb, 0x4c, 0x22, 0x1f, 0x15, + 0x01, 0xfd, 0xbe, 0x37, 0x38, 0xf2, 0x8e, 0x3c, 0x5a, 0x24, 0xf9, 0xf0, 0xe0, 0x20, 0x08, 0xb3, + 0x59, 0x92, 0x24, 0x5f, 0x42, 0xd6, 0x5d, 0x86, 0xb0, 0xeb, 0x4f, 0xbb, 0x61, 0x72, 0x70, 0xb3, + 0x0a, 0xf2, 0x6e, 0x1a, 0x2f, 0x51, 0x51, 0xd0, 0xf3, 0x06, 0x5e, 0xff, 0x7b, 0xaf, 0x5f, 0x66, + 0x09, 0x11, 0x3b, 0x4c, 0xbc, 0xaf, 0x99, 0x01, 0x99, 0x65, 0x78, 0x6a, 0xac, 0x0e, 0x8e, 0x9e, + 0xf5, 0xf1, 0x5f, 0x7f, 0x70, 0xd8, 0xfd, 0xaf, 0x94, 0xb2, 0x0e, 0x7a, 0x83, 0x63, 0xef, 0xd0, + 0x1b, 0x60, 0x11, 0xdb, 0x2b, 0x64, 0x30, 0x8d, 0x2c, 0x93, 0x55, 0x42, 0xbe, 0x23, 0xc8, 0x72, + 0xd8, 0xff, 0xca, 0x7c, 0x3d, 0xef, 0x09, 0x74, 0xed, 0xe1, 0x96, 0x1e, 0xf7, 0x9f, 0xe0, 0xbf, + 0xef, 0x9f, 0x0d, 0x64, 0x4b, 0x51, 0x2f, 0xd2, 0x7f, 0x44, 0xce, 0x7e, 0xff, 0x19, 0xfe, 0x7b, + 0xfa, 0xb4, 0xd7, 0xe3, 0x59, 0xcf, 0xbd, 0x19, 0xce, 0x32, 0xed, 0x9a, 0x61, 0x96, 0xe8, 0x9a, + 0x2a, 0xc7, 0xfe, 0x26, 0x15, 0x5a, 0x59, 0x21, 0x0c, 0x1f, 0x3c, 0xe9, 0xd5, 0xd4, 0x7f, 0x7d, + 0x5d, 0xfd, 0x37, 0xf8, 0xbe, 0xae, 0x00, 0xd4, 0x94, 0x7f, 0x42, 0x53, 0xa7, 0x6b, 0x99, 0xb1, + 0xce, 0x75, 0xc8, 0xf5, 0x58, 0xa5, 0xf2, 0x18, 0x76, 0x59, 0x58, 0x99, 0xa5, 0x97, 0x67, 0x92, + 0xea, 0xfe, 0x82, 0x96, 0xd2, 0x61, 0x14, 0x16, 0xb7, 0xe2, 0x01, 0xa9, 0x7b, 0xb7, 0x33, 0xef, + 0x5e, 0x86, 0x70, 0x19, 0x89, 0xf9, 0x25, 0x03, 0x96, 0x2f, 0xdb, 0x2f, 0xb7, 0xa1, 0xf1, 0x21, + 0x3b, 0xdc, 0xdd, 0xcd, 0x18, 0x5c, 0xd0, 0xf2, 0x02, 0x97, 0xa6, 0xa3, 0x21, 0x6b, 0xe5, 0xd0, + 0x53, 0x7e, 0x7e, 0xcc, 0xab, 0x3c, 0xbf, 0x60, 0x33, 0x4d, 0xef, 0xc5, 0xba, 0x97, 0xd3, 0xe5, + 0xdb, 0xb9, 0xc6, 0x92, 0xcd, 0x35, 0xfc, 0xfc, 0x17, 0xb7, 0x14, 0xa5, 0x25, 0x7d, 0xfd, 0xe2, + 0xe5, 0xfb, 0x96, 0xc4, 0xf9, 0x8b, 0xdb, 0x97, 0x52, 0x1f, 0x61, 0x64, 0x0a, 0xf3, 0xd7, 0xab, + 0x14, 0x6b, 0x55, 0xd9, 0x7a, 0x4a, 0x86, 0x50, 0x15, 0x1b, 0x68, 0x99, 0x20, 0x81, 0x96, 0x05, + 0x71, 0x34, 0x6a, 0x42, 0x6b, 0x38, 0x7e, 0x6b, 0xe2, 0x17, 0xad, 0x84, 0xf7, 0x28, 0x53, 0x0c, + 0x67, 0x65, 0x29, 0x3b, 0x10, 0x16, 0xbc, 0x77, 0x74, 0x2e, 0x01, 0x65, 0x1e, 0x61, 0xfe, 0x06, + 0xaf, 0x42, 0xd5, 0x56, 0x7f, 0x58, 0x4e, 0x5f, 0x44, 0xc1, 0xec, 0x8b, 0xd9, 0x70, 0xe5, 0x4e, + 0x88, 0x75, 0x09, 0xc5, 0xdf, 0x08, 0x59, 0xd6, 0x42, 0xa6, 0x5a, 0x91, 0xfc, 0x8d, 0x54, 0x59, + 0x9c, 0x78, 0xb7, 0xc6, 0x04, 0x1a, 0x36, 0x13, 0x68, 0xd8, 0x4c, 0xbc, 0x5a, 0xd3, 0xf3, 0xbd, + 0xc8, 0xc2, 0x32, 0x5f, 0x77, 0xd0, 0x1f, 0x3c, 0xf9, 0xce, 0x68, 0x48, 0xa7, 0xfb, 0x7d, 0xff, + 0x78, 0xf0, 0x9d, 0xd1, 0x14, 0x7c, 0x34, 0x3f, 0x30, 0xc2, 0xf4, 0xc6, 0xa0, 0xf9, 0xdf, 0xd9, + 0x3b, 0x2c, 0x14, 0x0e, 0x0b, 0xe0, 0xdb, 0x18, 0xb9, 0xce, 0x83, 0xd0, 0xee, 0xf5, 0x44, 0xcb, + 0xa2, 0x02, 0x5d, 0x84, 0xa4, 0x11, 0x37, 0xb6, 0x1d, 0xdf, 0x47, 0x37, 0x91, 0x40, 0xf6, 0xc0, + 0xdf, 0xce, 0xcf, 0x90, 0xbe, 0x70, 0x0e, 0xd1, 0x5f, 0xe4, 0xd9, 0x65, 0x30, 0x4f, 0xae, 0x47, + 0xfc, 0xa4, 0x46, 0x4f, 0xc6, 0xda, 0x30, 0xca, 0xc2, 0x80, 0x09, 0xcc, 0xef, 0xef, 0xe1, 0x37, + 0xa7, 0x4c, 0x6e, 0x00, 0x29, 0x3b, 0xa9, 0x12, 0x8d, 0xfb, 0x83, 0xef, 0x27, 0x5c, 0x27, 0x2a, + 0xcc, 0x00, 0x90, 0x8b, 0xe2, 0x59, 0x4a, 0xcd, 0x94, 0x2f, 0xf9, 0x03, 0xe0, 0x99, 0xc6, 0xbd, + 0xc9, 0x05, 0x57, 0x42, 0x95, 0x68, 0x86, 0xfd, 0xa7, 0xbd, 0x39, 0x5b, 0x7a, 0xd6, 0xb7, 0x77, + 0x72, 0xf4, 0x55, 0x05, 0x1b, 0xeb, 0x10, 0x11, 0x75, 0x71, 0x12, 0xbe, 0xbd, 0x2b, 0x36, 0x9e, + 0xfa, 0xe3, 0xba, 0x17, 0xc3, 0x5a, 0x6a, 0x77, 0xe8, 0xa8, 0x4e, 0x95, 0x75, 0x3a, 0x05, 0x5a, + 0x45, 0x36, 0x34, 0xeb, 0xa2, 0xa1, 0xd8, 0x0b, 0xaf, 0xde, 0xed, 0xa2, 0xa1, 0x9b, 0xda, 0x2c, + 0x91, 0x04, 0xfc, 0xe5, 0x62, 0x09, 0xbb, 0xc3, 0xec, 0x23, 0x1e, 0x99, 0xa8, 0x66, 0x43, 0xd5, + 0x1a, 0xac, 0x20, 0x38, 0x47, 0xbb, 0x74, 0x8c, 0x0a, 0xf0, 0x3b, 0x5c, 0xc7, 0x36, 0x37, 0xe9, + 0xb4, 0x5d, 0x51, 0x89, 0x30, 0xb8, 0xf8, 0x98, 0xa4, 0x94, 0x1c, 0x77, 0x2a, 0xa9, 0xe7, 0xe6, + 0xbb, 0xe1, 0xc4, 0xc6, 0x7a, 0x07, 0x88, 0x16, 0x2c, 0x7c, 0x63, 0x94, 0xc5, 0x72, 0x33, 0xd8, + 0xe9, 0x72, 0x04, 0x1d, 0xa5, 0x0d, 0xc6, 0xde, 0xdf, 0x9f, 0xed, 0xf7, 0xd1, 0xc4, 0x75, 0xc4, + 0x99, 0x7d, 0x55, 0x26, 0x3f, 0x39, 0x47, 0x32, 0x55, 0x31, 0x4d, 0xe1, 0xae, 0x3b, 0xb1, 0xfb, + 0x47, 0xe9, 0x8d, 0xc5, 0xff, 0xf4, 0xc4, 0x37, 0x1b, 0xd5, 0x8e, 0xf0, 0x7d, 0x30, 0x80, 0x3f, + 0x47, 0xe2, 0x0b, 0x62, 0x34, 0x89, 0xac, 0x53, 0x91, 0xf5, 0x19, 0x44, 0xf5, 0xac, 0xef, 0xf1, + 0xaf, 0xcc, 0xd2, 0xa3, 0xf4, 0x3d, 0x3d, 0xf1, 0xe5, 0x9c, 0x12, 0xcb, 0xb7, 0x25, 0x44, 0x9d, + 0x5a, 0xf4, 0xaa, 0xa0, 0xe8, 0x1e, 0x55, 0x7b, 0x6c, 0xd4, 0x53, 0xec, 0x4f, 0x6d, 0xaf, 0xec, + 0x2b, 0x1d, 0x2d, 0xc0, 0x3c, 0x4f, 0xcb, 0x14, 0xf9, 0x32, 0xe5, 0x29, 0xa8, 0x87, 0xfc, 0xd8, + 0x9f, 0xf0, 0x2a, 0xa4, 0xd5, 0x06, 0x24, 0x0e, 0xff, 0x85, 0x9e, 0xaa, 0xc9, 0x0b, 0xe7, 0x59, + 0x91, 0x64, 0x70, 0x4e, 0xe1, 0x56, 0xfb, 0xb6, 0x60, 0x2b, 0xc7, 0xbe, 0x06, 0x66, 0xf1, 0xe7, + 0x10, 0xa6, 0xcf, 0xf6, 0xfe, 0xed, 0xec, 0xa7, 0xf7, 0x5d, 0xfe, 0x6e, 0x28, 0x5c, 0xdc, 0x3a, + 0x50, 0xac, 0xeb, 0x2a, 0x76, 0x09, 0x76, 0xbf, 0x79, 0xbe, 0xbb, 0xbb, 0xa6, 0x7d, 0xfe, 0xe7, + 0xb7, 0xfa, 0xc6, 0x5e, 0x2c, 0xa3, 0x1f, 0x18, 0xfa, 0x87, 0xab, 0x4e, 0x1f, 0xf0, 0x2c, 0xfe, + 0x4e, 0x43, 0xa0, 0x57, 0x92, 0x8c, 0x51, 0x0a, 0xa7, 0x1e, 0x5e, 0x4e, 0x49, 0x35, 0x7e, 0x1b, + 0x39, 0x4d, 0x38, 0x53, 0x36, 0x14, 0xf1, 0x6d, 0xa5, 0xbe, 0xa3, 0x79, 0xd7, 0x9b, 0xc7, 0x29, + 0x41, 0x6b, 0x1a, 0x0f, 0x68, 0x2b, 0x00, 0x5f, 0x77, 0xd7, 0x3b, 0x87, 0xef, 0x16, 0x77, 0x1a, + 0x02, 0xbd, 0x66, 0x22, 0xae, 0xa7, 0xe5, 0xe1, 0x8d, 0x95, 0x8a, 0x75, 0x04, 0x1b, 0x1f, 0x83, + 0x7d, 0x48, 0x27, 0x6b, 0xfb, 0x1b, 0xc6, 0x74, 0xf2, 0x99, 0xed, 0x2f, 0x6c, 0x61, 0x95, 0xa1, + 0x07, 0x0e, 0x30, 0x70, 0x3e, 0x9f, 0x1b, 0x81, 0x87, 0x18, 0x38, 0x9d, 0x4e, 0x8d, 0xc0, 0x23, + 0x0c, 0x0c, 0x82, 0xc0, 0x08, 0x3c, 0xc6, 0xc0, 0x67, 0xcf, 0x9e, 0x19, 0x81, 0x4f, 0x9a, 0x02, + 0x9f, 0x62, 0xe0, 0xd3, 0xa7, 0x4f, 0x8d, 0xc0, 0x29, 0x06, 0x1e, 0x1d, 0x1d, 0x19, 0x81, 0x33, + 0x0c, 0x3c, 0x3c, 0x3c, 0x34, 0x02, 0x51, 0x46, 0xf3, 0x4d, 0xbf, 0xdf, 0x37, 0x02, 0xe7, 0x18, + 0x38, 0x18, 0x0c, 0x8c, 0xc0, 0x8c, 0xda, 0x39, 0x30, 0x53, 0x2e, 0x29, 0x65, 0x60, 0x06, 0x46, + 0x14, 0xf8, 0x64, 0x66, 0x04, 0x26, 0xb6, 0xb0, 0x68, 0x19, 0xf4, 0x8e, 0x3c, 0xab, 0xfc, 0xd3, + 0xeb, 0x3e, 0x73, 0x8d, 0x84, 0xf9, 0x54, 0x8c, 0xe7, 0x61, 0x25, 0xf8, 0x52, 0x84, 0x3f, 0x31, + 0xc2, 0x8b, 0x69, 0x4b, 0xc1, 0xb0, 0xf9, 0x38, 0xb4, 0x82, 0x5d, 0xb7, 0x92, 0x21, 0x90, 0x39, + 0xfa, 0xc0, 0xbb, 0x59, 0xe5, 0x9f, 0xf6, 0x1c, 0x97, 0x8f, 0xaa, 0x83, 0xf6, 0xd6, 0x70, 0xb5, + 0xbc, 0x56, 0x3b, 0x2b, 0x17, 0x66, 0xfb, 0x70, 0x95, 0x46, 0xcb, 0x35, 0xa7, 0xd7, 0x7d, 0x0a, + 0xe9, 0x86, 0x55, 0x82, 0xaa, 0x0e, 0x3f, 0x11, 0x14, 0x3f, 0xcb, 0x2a, 0x04, 0x55, 0x9d, 0x93, + 0xc3, 0xa6, 0x29, 0x3d, 0x6a, 0x9a, 0x7c, 0x22, 0xa8, 0xe3, 0xe3, 0xe3, 0x3a, 0x41, 0x3d, 0x79, + 0xf2, 0xe4, 0x91, 0x04, 0x55, 0xa5, 0x5c, 0x22, 0xa8, 0xd9, 0x6c, 0x56, 0x27, 0xa8, 0xea, 0x12, + 0x99, 0x37, 0xad, 0x06, 0x22, 0x28, 0x76, 0x34, 0xa8, 0x13, 0xd4, 0x11, 0x1b, 0xd4, 0x09, 0xea, + 0xe8, 0x69, 0xd0, 0x4c, 0x50, 0x87, 0x30, 0x11, 0xf2, 0x5f, 0x0b, 0x35, 0xc1, 0x60, 0x36, 0x52, + 0x13, 0x84, 0x1f, 0xb7, 0x50, 0x93, 0x5e, 0xea, 0x63, 0x48, 0xa9, 0x37, 0x00, 0x2a, 0x52, 0x7f, + 0x1e, 0x41, 0x4a, 0xc7, 0x7d, 0xcf, 0x92, 0xff, 0x1e, 0x4b, 0x47, 0xeb, 0x18, 0x45, 0x4e, 0xda, + 0x3e, 0x85, 0xf0, 0xac, 0x2f, 0x96, 0x25, 0x83, 0x46, 0x59, 0xa7, 0x4b, 0xac, 0xd3, 0x9f, 0x57, + 0xb1, 0x6c, 0xa1, 0x48, 0x9b, 0x94, 0xfa, 0x79, 0x37, 0xcf, 0x66, 0x3e, 0xf3, 0x6c, 0xd8, 0xd2, + 0xd9, 0xfd, 0xbd, 0xba, 0x41, 0xc1, 0x86, 0x98, 0xaf, 0x57, 0xdd, 0xf4, 0x32, 0x29, 0x92, 0xfc, + 0xa0, 0xff, 0x6c, 0xd0, 0x3b, 0xe8, 0xf7, 0x9e, 0xf6, 0x48, 0x3a, 0x24, 0xb1, 0x8a, 0xe4, 0xa5, + 0x43, 0xe1, 0xe2, 0xc4, 0x16, 0x70, 0xd9, 0x70, 0x57, 0x25, 0x13, 0x79, 0xee, 0xfb, 0x1a, 0x81, + 0xc7, 0xe2, 0xcf, 0xbd, 0xf3, 0x49, 0x84, 0xac, 0xff, 0x9b, 0x75, 0x14, 0x7d, 0x02, 0x7e, 0xcb, + 0x71, 0x87, 0x18, 0x88, 0x7a, 0x26, 0x51, 0x86, 0x13, 0x78, 0x31, 0xbe, 0x88, 0x8e, 0xc5, 0x53, + 0x76, 0x15, 0x9e, 0x40, 0x33, 0xf1, 0x84, 0xa4, 0x1f, 0x21, 0xe1, 0x72, 0xe2, 0x37, 0xb7, 0x13, + 0xd3, 0x53, 0xf7, 0x68, 0x8c, 0xde, 0x54, 0xa3, 0x13, 0xf2, 0x60, 0xc8, 0x3b, 0x13, 0xe3, 0xcb, + 0xf7, 0xcd, 0x26, 0x6f, 0x00, 0xa1, 0xc5, 0x31, 0x02, 0x76, 0xc4, 0x1f, 0x8b, 0x1e, 0x68, 0x9c, + 0x7d, 0xf5, 0x68, 0x9f, 0x2e, 0xa1, 0x62, 0x62, 0xff, 0x23, 0xd4, 0x47, 0x45, 0x7e, 0xf7, 0x09, + 0xda, 0x8b, 0xf1, 0x49, 0x10, 0x08, 0xd3, 0x7e, 0xa4, 0x42, 0x4a, 0x56, 0xee, 0x2d, 0xde, 0x3d, + 0xfd, 0x8b, 0x75, 0x16, 0x01, 0x3f, 0x47, 0x2d, 0x22, 0x4e, 0x8e, 0x7b, 0xa6, 0xa5, 0x49, 0x41, + 0x0f, 0x5d, 0x74, 0xca, 0xa9, 0x49, 0xe5, 0xbc, 0x9d, 0xcd, 0xe7, 0x1e, 0x56, 0x13, 0xa1, 0x65, + 0x1b, 0x33, 0x7b, 0xf6, 0x25, 0x8c, 0x5f, 0x9e, 0x9d, 0x49, 0x99, 0x36, 0xbf, 0x83, 0x49, 0x19, + 0xea, 0xbc, 0xc5, 0x87, 0xd9, 0x25, 0x83, 0xee, 0xe2, 0x13, 0xa9, 0x26, 0x12, 0x40, 0xcf, 0x68, + 0x40, 0x03, 0xfc, 0xdd, 0x9e, 0x07, 0xc7, 0x25, 0x8b, 0x7c, 0x9b, 0x9a, 0x93, 0xc3, 0x75, 0x14, + 0xfd, 0x3b, 0x70, 0x67, 0xf1, 0x36, 0xb2, 0xe9, 0x07, 0x33, 0x02, 0xe1, 0xee, 0x5e, 0x66, 0x6c, + 0x81, 0xbc, 0xfc, 0xcf, 0x1f, 0xde, 0x39, 0xf6, 0x41, 0x0e, 0x8d, 0xea, 0x62, 0x0c, 0xda, 0x6b, + 0xad, 0xd8, 0x3c, 0x0c, 0x7c, 0x3b, 0xa0, 0x27, 0x35, 0x06, 0xda, 0x72, 0xae, 0x1b, 0xb7, 0x88, + 0xcc, 0xe5, 0xdb, 0x6e, 0x60, 0x85, 0x26, 0x52, 0xfa, 0xc7, 0xdd, 0x99, 0x91, 0x6c, 0x10, 0xfd, + 0xd5, 0x75, 0x34, 0xeb, 0x82, 0x24, 0x46, 0xdc, 0x60, 0x87, 0x53, 0x37, 0xab, 0xf9, 0x4a, 0x43, + 0xb4, 0x47, 0x58, 0x1a, 0x6c, 0x88, 0x74, 0xac, 0xdc, 0xa3, 0xb9, 0x24, 0x5d, 0xec, 0x79, 0x0e, + 0x15, 0xe9, 0x1b, 0x5c, 0xd7, 0x52, 0x72, 0x5d, 0x10, 0xfa, 0x96, 0xcb, 0xdb, 0x45, 0x32, 0xc8, + 0x0d, 0x17, 0x50, 0xc7, 0x7e, 0x03, 0xe5, 0x59, 0x28, 0x89, 0xeb, 0x5a, 0xa7, 0x11, 0x23, 0x64, + 0xbc, 0x18, 0xd6, 0x9e, 0xf5, 0xeb, 0xbb, 0xd7, 0xaf, 0xac, 0xb7, 0xa7, 0x3b, 0x76, 0x1b, 0x1f, + 0xc7, 0x4b, 0xf4, 0xa8, 0x34, 0x09, 0x17, 0x2b, 0x6f, 0x4d, 0xd2, 0x45, 0x1b, 0x99, 0x9d, 0x12, + 0x72, 0xb3, 0xd3, 0xf7, 0x50, 0x4c, 0x3c, 0xcf, 0x7f, 0x0d, 0x8b, 0x4b, 0x18, 0x55, 0xdb, 0x45, + 0x27, 0x0a, 0x5c, 0x51, 0xeb, 0xd2, 0xab, 0x99, 0x82, 0x42, 0x47, 0x4a, 0x46, 0x5a, 0x76, 0x90, + 0xd7, 0x81, 0x36, 0x9a, 0x49, 0x5e, 0x90, 0xe7, 0x37, 0x14, 0x26, 0x27, 0x19, 0x30, 0xb1, 0x43, + 0xbc, 0x19, 0xe2, 0x57, 0xee, 0xf9, 0x4f, 0xdc, 0x98, 0xc7, 0x3d, 0xb8, 0x18, 0xe3, 0x85, 0x0c, + 0xd5, 0x1a, 0x13, 0x47, 0x8c, 0x0f, 0x95, 0xd2, 0xf1, 0xa1, 0x96, 0x4e, 0x2e, 0xdc, 0x1d, 0x42, + 0x85, 0xee, 0x50, 0x6c, 0x07, 0xe4, 0x1c, 0x56, 0x54, 0x8e, 0x6b, 0x81, 0x32, 0x71, 0x6b, 0x8c, + 0xa2, 0x65, 0x50, 0x4b, 0x56, 0x96, 0x1b, 0xfd, 0xa0, 0x10, 0x0f, 0x6e, 0xd7, 0x4b, 0xf6, 0x8a, + 0xb1, 0x14, 0x7f, 0x71, 0x0e, 0x97, 0x16, 0x20, 0x1a, 0x7d, 0xc0, 0xda, 0x4a, 0x92, 0xa8, 0x08, + 0x53, 0x60, 0x8e, 0x49, 0xa6, 0x7a, 0xfa, 0x73, 0x11, 0x46, 0xf0, 0x03, 0x6f, 0xda, 0x6f, 0x68, + 0xcf, 0x03, 0xb6, 0xd1, 0x73, 0xec, 0x22, 0x23, 0xa7, 0xe4, 0xcd, 0xb5, 0xa6, 0xb3, 0x95, 0x0d, 0xf3, 0xb8, 0x73, 0xf0, 0x63, 0x32, 0x0d, 0x05, 0x46, 0x68, 0x83, 0xd3, 0x3e, 0x97, 0xa3, 0x04, - 0x6f, 0x2d, 0x05, 0x01, 0xbb, 0x92, 0xe5, 0x32, 0x62, 0xa7, 0xc4, 0x8c, 0x25, 0xb1, 0x61, 0x49, - 0x1e, 0x96, 0x84, 0x25, 0xf1, 0xf0, 0x26, 0x0b, 0x86, 0x82, 0x0b, 0xb5, 0x31, 0x2e, 0xd1, 0x5d, - 0x25, 0x84, 0x77, 0xff, 0x2b, 0x27, 0x11, 0xe4, 0xdd, 0x8a, 0x15, 0x97, 0xc9, 0x9c, 0x8b, 0xa9, - 0x36, 0x2e, 0xa1, 0x25, 0x3b, 0x70, 0x0c, 0x31, 0x4a, 0xe0, 0xb8, 0x65, 0xc8, 0x5d, 0x95, 0x41, - 0x01, 0x63, 0x87, 0xdc, 0x3f, 0x94, 0x79, 0x75, 0x05, 0x4a, 0x30, 0xa4, 0x42, 0x76, 0x6f, 0x02, - 0x07, 0x47, 0x94, 0x2c, 0x1d, 0xfb, 0x7d, 0x62, 0x05, 0x98, 0x5a, 0x9c, 0xbe, 0x54, 0x33, 0xaa, - 0x8c, 0x19, 0xad, 0xe8, 0x5a, 0x42, 0xb8, 0x90, 0xd3, 0x79, 0xc2, 0xe6, 0x5d, 0xd4, 0x7a, 0x80, - 0xeb, 0x24, 0x86, 0x1d, 0x7b, 0xeb, 0x38, 0x2e, 0x94, 0x2a, 0xae, 0x10, 0x8d, 0xb2, 0x5f, 0xa2, - 0x8b, 0x4a, 0x48, 0x37, 0x6c, 0x8b, 0x12, 0xdc, 0xf1, 0xb3, 0x28, 0x29, 0xd0, 0xca, 0x91, 0x3f, - 0x49, 0x3e, 0x06, 0x53, 0x3c, 0x5d, 0x72, 0x0c, 0x21, 0x06, 0x5b, 0x17, 0x3a, 0xa9, 0xdb, 0x72, - 0x50, 0x6d, 0xd2, 0xa0, 0xd0, 0x41, 0x49, 0x9e, 0x96, 0xce, 0xb4, 0x4c, 0xa1, 0xa4, 0xbc, 0xd8, - 0x53, 0xae, 0xfb, 0x9d, 0xa3, 0x60, 0x41, 0x30, 0x93, 0xdb, 0x17, 0xdf, 0x29, 0xbc, 0xe5, 0x70, - 0x7f, 0x06, 0xc8, 0xb7, 0x27, 0xf6, 0xb6, 0x23, 0x6b, 0x15, 0x58, 0xd4, 0x65, 0x9f, 0xdf, 0xfc, - 0x86, 0xac, 0xef, 0x6d, 0xf1, 0xed, 0x71, 0xa7, 0x1a, 0xf3, 0x9c, 0x87, 0x1a, 0x2c, 0x37, 0xed, - 0x05, 0x82, 0xde, 0x0e, 0x9a, 0x4a, 0x90, 0x47, 0xbb, 0x8d, 0xc7, 0xe9, 0x4b, 0x3c, 0x4d, 0x37, - 0x1c, 0xfc, 0x11, 0x3e, 0x8f, 0xeb, 0x1f, 0x7c, 0x7b, 0x88, 0xdd, 0x31, 0x6f, 0xb8, 0xe4, 0xae, - 0x14, 0xa7, 0x50, 0x8e, 0x61, 0x33, 0x07, 0x11, 0x45, 0xa8, 0xfc, 0x42, 0x9a, 0x5d, 0xa9, 0x9b, - 0x48, 0xde, 0x6c, 0x3d, 0x28, 0xba, 0xa6, 0xda, 0xd1, 0xac, 0xd3, 0xa1, 0xa4, 0xb9, 0xb8, 0x30, - 0x59, 0x43, 0x83, 0x74, 0x89, 0x30, 0xdf, 0x53, 0x2f, 0x48, 0x30, 0x85, 0x8c, 0x90, 0x96, 0xd4, - 0xdc, 0xe2, 0x47, 0x4f, 0xab, 0x5f, 0x88, 0x95, 0x55, 0xa6, 0x64, 0x89, 0x9c, 0xdd, 0x68, 0x17, - 0x22, 0x02, 0x8e, 0x1e, 0x49, 0x99, 0xe4, 0x16, 0xe9, 0x07, 0xe5, 0x5d, 0xd2, 0xfe, 0xc1, 0xca, - 0x84, 0xb9, 0xb1, 0x63, 0x73, 0x7d, 0x5b, 0x48, 0xcb, 0xa5, 0x2e, 0xf7, 0xf7, 0xc5, 0x67, 0x76, - 0xae, 0xa5, 0x83, 0x16, 0x96, 0x89, 0xb4, 0xfb, 0x08, 0xee, 0x37, 0x68, 0x01, 0xf2, 0x46, 0xd1, - 0xb6, 0xef, 0x8e, 0xe7, 0xde, 0xdd, 0xdd, 0x29, 0xd0, 0x96, 0x88, 0x56, 0x2a, 0x5c, 0xab, 0xff, - 0xf9, 0x52, 0x2b, 0x89, 0xf7, 0x07, 0xe6, 0x79, 0x95, 0x24, 0x05, 0x10, 0x7f, 0x38, 0xfe, 0x90, - 0xa0, 0xce, 0x6f, 0x05, 0xfa, 0x30, 0xb4, 0x3d, 0x5e, 0x48, 0x6d, 0x4f, 0x31, 0x9d, 0xdf, 0x93, - 0x5f, 0x26, 0xd7, 0x1f, 0x93, 0x20, 0x2f, 0x54, 0x3b, 0xf0, 0xb0, 0xe5, 0x93, 0x9a, 0xc4, 0x31, - 0x5c, 0x92, 0x6a, 0x66, 0x4b, 0x0a, 0xe5, 0xa5, 0x49, 0x6d, 0x64, 0xae, 0xf0, 0x73, 0x9a, 0x73, - 0x9a, 0xb1, 0xc0, 0xf2, 0x38, 0x65, 0x10, 0xc3, 0x8c, 0xfc, 0xf0, 0xf1, 0xc7, 0x77, 0x44, 0x20, - 0x98, 0x43, 0x02, 0x37, 0x0c, 0x43, 0xf5, 0x2a, 0xb8, 0x67, 0xb0, 0x11, 0xb0, 0xd7, 0x66, 0x70, - 0x47, 0x66, 0x72, 0x75, 0x0b, 0x19, 0x12, 0x5e, 0x3c, 0xbc, 0xfa, 0x20, 0x0e, 0x57, 0x01, 0x57, - 0x5a, 0x10, 0x5a, 0x1c, 0x3c, 0x85, 0x5f, 0xdd, 0x12, 0x4d, 0x73, 0xc4, 0x6b, 0xd8, 0x78, 0x83, - 0x67, 0x28, 0x8c, 0x86, 0x2e, 0xea, 0xe7, 0x1f, 0xab, 0x8c, 0x07, 0x69, 0x7d, 0xf1, 0x41, 0x71, - 0xef, 0xca, 0x01, 0xb2, 0x5f, 0xc2, 0x80, 0x30, 0xc1, 0x48, 0x48, 0x2c, 0xe2, 0x53, 0x58, 0x8b, - 0x00, 0xee, 0xf8, 0xf9, 0x8e, 0x8d, 0xba, 0x9b, 0xda, 0x93, 0x1f, 0x7b, 0xa2, 0x15, 0xc3, 0xfc, - 0x63, 0x76, 0xa8, 0x16, 0x99, 0x3e, 0x46, 0x85, 0xd6, 0x58, 0xc4, 0x7c, 0x0f, 0xc2, 0x38, 0x77, - 0xc4, 0xc0, 0xe0, 0xd1, 0xdd, 0x3c, 0x26, 0x6d, 0x5d, 0x2f, 0x5a, 0xbb, 0xee, 0x35, 0x45, 0x89, - 0x6a, 0xc8, 0x43, 0x83, 0x41, 0x60, 0x7d, 0x58, 0xc7, 0x58, 0x85, 0x60, 0x1e, 0xf3, 0x66, 0x97, - 0x3c, 0x5a, 0x7c, 0x10, 0x94, 0x08, 0xe3, 0x4e, 0x71, 0xf0, 0x14, 0x81, 0x5c, 0x11, 0x22, 0x59, - 0x0b, 0x75, 0x8a, 0x7d, 0x0a, 0xfe, 0x2e, 0x77, 0xd1, 0x09, 0x54, 0x0f, 0x11, 0xe4, 0x1a, 0xa3, - 0xf7, 0x31, 0xf6, 0xbb, 0xc8, 0x3d, 0xe0, 0x9e, 0xa2, 0xf2, 0x49, 0xce, 0xfd, 0x11, 0xf7, 0xd1, - 0x53, 0x91, 0x0d, 0xd7, 0x8f, 0x8d, 0xf2, 0xba, 0xdb, 0xdc, 0xe6, 0x6e, 0x82, 0x81, 0x18, 0x29, - 0xfd, 0xc7, 0xf9, 0xf0, 0x52, 0xc8, 0x27, 0x91, 0xca, 0x10, 0x4d, 0xec, 0xcb, 0x64, 0x8d, 0x4b, - 0x0a, 0x3f, 0x20, 0x0b, 0xca, 0xf6, 0x76, 0xe0, 0xd8, 0x44, 0xdf, 0x9c, 0x90, 0x1c, 0x0b, 0x80, - 0xa1, 0x18, 0x1f, 0x3f, 0x83, 0x7d, 0x96, 0xf3, 0xb0, 0x18, 0x72, 0x93, 0x02, 0x86, 0x57, 0x9c, - 0x60, 0x53, 0x90, 0xaf, 0x8b, 0xf1, 0x5a, 0x7a, 0x11, 0x8e, 0x21, 0xc5, 0xfe, 0x93, 0xde, 0x77, - 0x98, 0x25, 0x67, 0xf8, 0x56, 0x0d, 0x34, 0xfe, 0x7d, 0x0c, 0x67, 0x45, 0x72, 0x4d, 0x4a, 0xb0, - 0x39, 0x2a, 0xd6, 0x08, 0xfa, 0xf4, 0xe2, 0xa4, 0xc8, 0xc6, 0x27, 0xc5, 0x9c, 0xeb, 0x0d, 0xfa, - 0xf6, 0x17, 0x76, 0x5b, 0xcc, 0xed, 0xf1, 0xb7, 0x77, 0x6c, 0x73, 0x72, 0x50, 0xcc, 0xf5, 0xa8, - 0xab, 0x20, 0xe2, 0x51, 0xc5, 0x06, 0x28, 0x7f, 0x11, 0x7d, 0x00, 0xd9, 0x2f, 0x8c, 0xd9, 0x79, - 0xa7, 0x89, 0x81, 0x4f, 0x15, 0x66, 0x5f, 0x5f, 0x9d, 0x55, 0xa4, 0xee, 0x4d, 0x82, 0x56, 0xb7, - 0xe0, 0x7e, 0x6e, 0x3b, 0x1d, 0x05, 0xc0, 0x3e, 0x1e, 0x1c, 0xf7, 0xc8, 0xb8, 0x1e, 0x3e, 0x5d, - 0x5d, 0x79, 0x1b, 0xce, 0xcc, 0xd9, 0x97, 0x9f, 0xa1, 0x48, 0xed, 0x38, 0x84, 0x95, 0x7a, 0x91, - 0x62, 0x4b, 0xc3, 0xf9, 0x85, 0xcb, 0x35, 0x09, 0x46, 0x3b, 0x54, 0x32, 0xd9, 0xf8, 0xf6, 0xb8, - 0x13, 0x0a, 0xa8, 0x63, 0x52, 0x26, 0xbd, 0x0e, 0xa0, 0xcf, 0xae, 0xb6, 0xf5, 0x0b, 0xac, 0x72, - 0x62, 0xef, 0x7e, 0xf3, 0xec, 0xe9, 0xd3, 0xa7, 0x23, 0xeb, 0xed, 0x2b, 0x6b, 0xb5, 0xce, 0x0b, - 0x6b, 0xca, 0x2c, 0x08, 0xb7, 0x12, 0x78, 0x46, 0xb1, 0x3c, 0xef, 0xe2, 0xc4, 0x0e, 0xb7, 0x94, - 0x72, 0x21, 0xf3, 0xff, 0x74, 0xc5, 0x32, 0x54, 0x44, 0x0f, 0xe3, 0xa5, 0xf5, 0xed, 0x5d, 0x4a, - 0x0f, 0x95, 0xc2, 0xdd, 0xec, 0x68, 0x63, 0x94, 0x0a, 0x91, 0x90, 0xd4, 0x10, 0xe1, 0x42, 0x76, - 0xf4, 0xc8, 0xad, 0xf4, 0x36, 0xb0, 0x0f, 0xbb, 0xbb, 0xbc, 0x2b, 0xec, 0xbc, 0xfc, 0xd6, 0x8d, - 0x89, 0xc7, 0x5e, 0xfe, 0x44, 0x94, 0x29, 0x4d, 0x46, 0x73, 0x1a, 0x05, 0xb7, 0xa8, 0xf7, 0xa4, - 0xc9, 0x68, 0x54, 0xda, 0x54, 0xc4, 0x69, 0xa5, 0xc9, 0xa0, 0x6e, 0x9a, 0x6b, 0xcd, 0x0b, 0xd2, - 0xf0, 0x97, 0x20, 0x92, 0x4f, 0x31, 0x4a, 0x0c, 0x34, 0xa7, 0xcc, 0x24, 0xd4, 0x8b, 0x6c, 0x5b, - 0xf0, 0xbc, 0x6b, 0xb6, 0x35, 0x2a, 0xa1, 0x52, 0x62, 0xe9, 0x5e, 0x13, 0x5e, 0x12, 0xfc, 0x1d, - 0x3a, 0x73, 0xb8, 0x6f, 0x0b, 0x06, 0x61, 0xb1, 0xa7, 0xbe, 0xa6, 0xe5, 0xd7, 0x3f, 0xa2, 0x2a, - 0x6b, 0xb8, 0xd0, 0x37, 0xff, 0x1f, 0x91, 0x1c, 0xbb, 0x07, 0x47, 0xea, 0x8f, 0x68, 0xa2, 0x7d, - 0x47, 0x01, 0x78, 0xb9, 0x96, 0xd2, 0x17, 0xb3, 0x2f, 0x6a, 0x65, 0x72, 0x46, 0x02, 0x72, 0xaf, - 0x47, 0x78, 0x4d, 0x45, 0x5c, 0xfb, 0x88, 0x7b, 0x53, 0xa1, 0x5f, 0x90, 0x85, 0x34, 0x0e, 0x9c, - 0x9e, 0xf7, 0x8c, 0xfe, 0x43, 0xba, 0x04, 0xe1, 0xce, 0x5e, 0x26, 0xab, 0x15, 0x90, 0x1e, 0x78, - 0x17, 0xa5, 0xb7, 0xf8, 0x08, 0xd1, 0x0f, 0xe3, 0x34, 0x64, 0x73, 0x3c, 0x88, 0x67, 0x51, 0x98, - 0x4e, 0x93, 0x20, 0x83, 0x53, 0x58, 0xeb, 0x48, 0x4a, 0x73, 0xce, 0x15, 0x78, 0xd5, 0x4a, 0x40, - 0x19, 0x3a, 0x6c, 0xcd, 0x11, 0x3a, 0xfe, 0x70, 0xf2, 0x6d, 0xc4, 0x1f, 0xd0, 0xef, 0xf2, 0xc1, - 0xd3, 0xef, 0xd1, 0x92, 0xc0, 0x03, 0x5e, 0x79, 0xd9, 0xd8, 0xf0, 0xe7, 0xff, 0xc5, 0xc9, 0x3c, - 0xbc, 0x92, 0xbb, 0x17, 0x6b, 0xb4, 0x66, 0x36, 0x2c, 0x4a, 0x36, 0xd9, 0xa3, 0x3b, 0x0b, 0xc2, - 0x84, 0xfd, 0xe9, 0xd3, 0xf4, 0x66, 0xc4, 0xed, 0x2a, 0xf7, 0xd1, 0x15, 0x9d, 0xd5, 0x7f, 0x02, - 0x01, 0xf6, 0xde, 0x70, 0x2f, 0x89, 0xa1, 0xf9, 0xb3, 0x2f, 0x90, 0x52, 0xea, 0x34, 0x8c, 0x88, - 0x28, 0xa4, 0xd6, 0x03, 0xa1, 0x3a, 0x82, 0x93, 0x86, 0x17, 0x35, 0x83, 0x03, 0x0d, 0xc8, 0xda, - 0x14, 0x1e, 0x57, 0xf0, 0x96, 0x19, 0x3d, 0x50, 0xf2, 0x66, 0x7c, 0x31, 0x8a, 0x3a, 0xa8, 0x78, - 0xf7, 0x29, 0x59, 0x5b, 0x97, 0xc1, 0x15, 0xb3, 0xe2, 0x44, 0x0c, 0x4a, 0x6e, 0xdd, 0xb2, 0x62, - 0x07, 0x36, 0xdc, 0x59, 0x92, 0x65, 0xb7, 0x9e, 0x05, 0xf4, 0x78, 0xc6, 0xac, 0x6b, 0xd4, 0x68, - 0xc6, 0x25, 0x9e, 0xaf, 0x99, 0x25, 0x5c, 0xf5, 0x58, 0xb7, 0x70, 0x8c, 0xca, 0x5c, 0x70, 0xc9, - 0x21, 0x6d, 0x00, 0xa5, 0xda, 0x27, 0x53, 0x38, 0xd2, 0xe0, 0x1f, 0x3c, 0x51, 0xa9, 0x8e, 0x1f, - 0xe0, 0x44, 0x82, 0x6d, 0x29, 0x8b, 0x0a, 0x73, 0x0b, 0x89, 0x85, 0x75, 0x2a, 0xb2, 0x5a, 0x28, - 0xd3, 0x42, 0x02, 0x2a, 0xc0, 0x80, 0xab, 0x30, 0x59, 0xe7, 0x5c, 0xed, 0x3a, 0xe2, 0x3a, 0x96, - 0x56, 0x70, 0x05, 0xd7, 0x28, 0x2a, 0x33, 0x75, 0xb1, 0x54, 0xe7, 0x0c, 0x5e, 0x5c, 0x50, 0x79, - 0x20, 0xb3, 0xa3, 0x3b, 0x78, 0xeb, 0x12, 0x68, 0x19, 0x82, 0x7f, 0x85, 0x56, 0xce, 0xad, 0x44, - 0x9c, 0x02, 0x18, 0xc4, 0x44, 0x6d, 0xe8, 0xeb, 0xec, 0x07, 0x51, 0x7f, 0x20, 0x5b, 0x80, 0x64, - 0x1b, 0xa4, 0x40, 0xc9, 0x87, 0xf5, 0x25, 0x4e, 0xae, 0xe1, 0x04, 0x4d, 0x92, 0xb9, 0x45, 0x50, - 0x27, 0x43, 0x6a, 0xff, 0xde, 0x09, 0x32, 0x28, 0x82, 0x8c, 0x05, 0x56, 0x38, 0xf7, 0x69, 0xa1, - 0xe2, 0xa9, 0x2b, 0xc2, 0xc6, 0xbc, 0xaf, 0xeb, 0xa2, 0xa0, 0x7b, 0x9d, 0x66, 0x7a, 0x5a, 0xc4, - 0xb6, 0xa5, 0x66, 0x4e, 0x2c, 0x76, 0x7b, 0x0c, 0x4b, 0xf2, 0xd6, 0x58, 0x90, 0x27, 0x07, 0x3c, - 0xdf, 0x78, 0x8f, 0xd7, 0xa3, 0x95, 0xc4, 0x49, 0x60, 0xfe, 0xc3, 0x6e, 0x2e, 0x17, 0xfa, 0x0e, - 0x4b, 0x93, 0x11, 0x31, 0xf6, 0xfb, 0x1e, 0x34, 0xeb, 0xf7, 0x3d, 0x71, 0x06, 0x43, 0x5d, 0x1f, - 0x78, 0x64, 0x59, 0x83, 0xeb, 0xd1, 0xc4, 0x1c, 0xc0, 0x82, 0x84, 0x69, 0xa1, 0x2d, 0x97, 0x22, - 0x41, 0x61, 0xeb, 0x87, 0x68, 0xe4, 0x29, 0xea, 0x8e, 0xf6, 0xa3, 0x50, 0x0e, 0xcb, 0x75, 0x99, - 0xb1, 0xa8, 0x55, 0xed, 0x19, 0x64, 0xa4, 0xfd, 0xf6, 0xe3, 0xbb, 0x1f, 0xe0, 0x21, 0xff, 0x81, - 0x3f, 0x4c, 0x46, 0x45, 0x2b, 0x67, 0x4c, 0xb7, 0xa0, 0x2a, 0x37, 0x2b, 0x87, 0x74, 0x64, 0x79, - 0x0a, 0x44, 0x17, 0xfb, 0x08, 0x03, 0x5b, 0xc2, 0xcd, 0xac, 0xf3, 0xb1, 0x7f, 0x44, 0x6f, 0x15, - 0x24, 0x51, 0xea, 0xc5, 0x72, 0x12, 0xc5, 0xd4, 0xe5, 0xd4, 0x68, 0x56, 0x2c, 0x63, 0xf6, 0x85, - 0x88, 0x2f, 0x2a, 0x00, 0x89, 0x6a, 0xc7, 0x3e, 0xfd, 0xe9, 0xec, 0x23, 0x69, 0x2e, 0xf3, 0xc7, - 0xf4, 0x3a, 0xa5, 0xc6, 0xb9, 0x92, 0x48, 0xc5, 0x1e, 0xbd, 0x49, 0xb2, 0x15, 0xa9, 0x2b, 0x71, - 0x2e, 0xe4, 0x8b, 0x28, 0x99, 0x3a, 0x70, 0x90, 0x79, 0x77, 0x05, 0x37, 0xb9, 0x4f, 0x11, 0x6b, - 0x84, 0x16, 0xe7, 0x01, 0x3d, 0xc1, 0x95, 0x43, 0x60, 0x2b, 0x17, 0xac, 0x29, 0xc7, 0xc6, 0x55, - 0x0d, 0x2b, 0xc8, 0xb3, 0x0f, 0xc4, 0x0e, 0x91, 0xaf, 0x75, 0xd4, 0x32, 0x8d, 0x91, 0x6d, 0xe5, - 0x69, 0x04, 0x9a, 0xb6, 0xad, 0xbd, 0x01, 0x50, 0x83, 0x40, 0xbd, 0x9b, 0x1c, 0x3a, 0xb9, 0xe7, - 0x19, 0x57, 0xb3, 0x15, 0x8a, 0x79, 0xa8, 0xf9, 0xe4, 0xd3, 0x5b, 0x95, 0xbe, 0x8f, 0x7b, 0x52, - 0xfb, 0x34, 0x4d, 0x48, 0x45, 0x99, 0xc9, 0x6c, 0xc8, 0x5f, 0x90, 0x87, 0x08, 0x7c, 0x72, 0xc7, - 0x5f, 0x0c, 0x4e, 0x10, 0x07, 0x9e, 0x24, 0x10, 0xb0, 0xe3, 0x8b, 0x58, 0x20, 0x2b, 0x2b, 0xdc, - 0x86, 0x4a, 0xf3, 0xdb, 0x98, 0x0d, 0xf6, 0x51, 0xef, 0x88, 0xb8, 0x63, 0x7c, 0xe2, 0x26, 0x77, - 0x3d, 0x54, 0x35, 0x19, 0x36, 0xf0, 0x20, 0xb8, 0x96, 0x17, 0x33, 0xda, 0x53, 0x6d, 0xaf, 0xc9, - 0x8f, 0xd0, 0x8f, 0x6b, 0xd2, 0xcc, 0x35, 0x19, 0x0b, 0xcc, 0x78, 0xf9, 0x32, 0xb8, 0x26, 0xdc, - 0x2a, 0x83, 0x53, 0xbd, 0xd2, 0xe5, 0xf8, 0x55, 0x3a, 0x89, 0x8d, 0x3c, 0x90, 0x9a, 0x6a, 0x5b, - 0x7a, 0x09, 0x8b, 0x2a, 0xf9, 0x02, 0x64, 0x65, 0xe5, 0x21, 0xe0, 0xa9, 0x6e, 0x6a, 0xfd, 0xe4, - 0x1a, 0x6b, 0xe2, 0x82, 0x86, 0x75, 0x9b, 0x91, 0x91, 0x95, 0x5b, 0xf6, 0x55, 0xb6, 0xc9, 0x55, - 0xba, 0x70, 0x46, 0xaf, 0x29, 0x10, 0x71, 0x7c, 0x78, 0x64, 0xaf, 0xb6, 0x5e, 0x44, 0x7e, 0x78, - 0xb8, 0xf7, 0x5c, 0xfd, 0xfa, 0x63, 0x7c, 0xc9, 0xd7, 0x06, 0x09, 0x45, 0xc3, 0x9a, 0x54, 0xb7, - 0x32, 0x44, 0x6f, 0x7e, 0xdb, 0x3a, 0x38, 0x6c, 0xb1, 0x80, 0x7e, 0xfc, 0x5d, 0x63, 0xc3, 0x1e, - 0x18, 0x9b, 0xd7, 0xbc, 0xb6, 0x3f, 0x3b, 0x34, 0x6f, 0x7e, 0xfb, 0xdb, 0x06, 0x85, 0x38, 0x2f, - 0xdb, 0x06, 0x86, 0xab, 0x2f, 0xfe, 0x4d, 0xe3, 0xe2, 0x08, 0x65, 0x48, 0xc6, 0x71, 0x80, 0xf2, - 0xcb, 0x70, 0x81, 0x49, 0x79, 0x68, 0x77, 0x1d, 0xf3, 0x00, 0x7b, 0xb4, 0x33, 0xb2, 0x5b, 0x86, - 0xa6, 0xd4, 0xa6, 0x7c, 0x78, 0x90, 0xe8, 0x8c, 0xfb, 0xd3, 0x03, 0x85, 0xe7, 0x25, 0xf6, 0x40, - 0x3a, 0x5f, 0x4b, 0xff, 0xe3, 0x1d, 0x54, 0x5b, 0x6a, 0x96, 0xc9, 0xb9, 0xfc, 0x8f, 0x77, 0x8a, - 0xd8, 0x03, 0xea, 0x0a, 0x0e, 0x2e, 0x48, 0xa8, 0xf8, 0xc5, 0xa5, 0xd1, 0x64, 0x01, 0xb7, 0x31, - 0x45, 0xa1, 0x62, 0xa2, 0x43, 0x5a, 0x61, 0xfe, 0x98, 0x7d, 0xee, 0x9d, 0x8f, 0x0b, 0xb4, 0xdb, - 0xf6, 0x18, 0x5e, 0x92, 0xa9, 0xbc, 0x0d, 0xb9, 0x1c, 0xdf, 0xba, 0x84, 0x17, 0xd1, 0x7f, 0xa0, - 0xe2, 0x24, 0xcd, 0xd6, 0xc9, 0x41, 0x0a, 0xb7, 0x29, 0x94, 0x41, 0xa3, 0xe7, 0x42, 0x8e, 0x8b, - 0xfa, 0xe5, 0x6c, 0xc1, 0xbf, 0xfd, 0x9b, 0xdc, 0x4a, 0x73, 0x58, 0xcd, 0x74, 0xa9, 0xc3, 0x9b, - 0x02, 0xab, 0xd8, 0xfc, 0x11, 0x4d, 0x6d, 0xab, 0x08, 0x0b, 0x24, 0xa8, 0x30, 0x68, 0x80, 0xea, - 0xde, 0x83, 0x73, 0x24, 0x5e, 0xb5, 0x9b, 0x97, 0x58, 0x29, 0x04, 0xfa, 0x23, 0xb2, 0x01, 0x19, - 0x86, 0xaf, 0xb2, 0xcf, 0xfd, 0xf3, 0x8d, 0xba, 0x71, 0x2f, 0x46, 0xfc, 0x92, 0xfd, 0x03, 0xa5, - 0x30, 0x15, 0x6e, 0x0f, 0xbb, 0x49, 0x81, 0x48, 0x61, 0x70, 0xe7, 0x70, 0x38, 0x80, 0xc6, 0x94, - 0xea, 0x15, 0xae, 0x12, 0xeb, 0x25, 0x6a, 0xac, 0x93, 0x4d, 0x6d, 0xbc, 0xd5, 0x55, 0x21, 0x6f, - 0x09, 0x87, 0x9f, 0xb8, 0x1a, 0x4b, 0x7c, 0x3b, 0x6d, 0xeb, 0xf2, 0x47, 0x84, 0x7b, 0x27, 0xde, - 0x05, 0x9c, 0x90, 0xef, 0x9d, 0x8f, 0xa4, 0x4e, 0xbd, 0x97, 0x57, 0xb7, 0x2e, 0xcf, 0xc0, 0xa7, - 0x6e, 0xb6, 0x4a, 0x4f, 0xdd, 0x91, 0x58, 0x0d, 0x9c, 0x14, 0xc6, 0x65, 0xa1, 0x49, 0xf1, 0x1c, - 0xa1, 0xb8, 0x9b, 0xf3, 0x79, 0xa2, 0x87, 0x0e, 0x57, 0xb1, 0x43, 0x29, 0x9d, 0x5b, 0xfa, 0xb7, - 0xe3, 0xd2, 0x18, 0xc5, 0x5c, 0xc0, 0x46, 0xf0, 0x7b, 0x3a, 0xf0, 0x31, 0x25, 0xbc, 0x2c, 0x46, - 0x01, 0xdc, 0x7c, 0xb0, 0x68, 0x08, 0x2d, 0xe7, 0x33, 0xf3, 0x02, 0x4f, 0xbe, 0xef, 0x50, 0x7c, - 0xa7, 0x90, 0xcf, 0x8a, 0x4e, 0x03, 0x39, 0x1e, 0xe5, 0xc5, 0x5b, 0xb5, 0x02, 0xd8, 0x26, 0xb1, - 0xc7, 0x17, 0x25, 0x43, 0x35, 0x0d, 0xc9, 0xfc, 0xa6, 0x9a, 0x2f, 0x54, 0xaf, 0x73, 0xa4, 0xa5, - 0x2e, 0x1a, 0x4a, 0x46, 0x39, 0x09, 0x15, 0x8d, 0x5f, 0x5a, 0xd6, 0x0d, 0xdb, 0xb8, 0x58, 0x8c, - 0xf1, 0x62, 0x9c, 0xd8, 0x27, 0xa1, 0x28, 0x64, 0x2f, 0x44, 0x0e, 0x14, 0x2d, 0x54, 0xfc, 0xb6, - 0x37, 0xde, 0xfd, 0xe6, 0x86, 0xf5, 0x0f, 0x9f, 0x8d, 0x4e, 0x0e, 0xc2, 0x31, 0xbe, 0x85, 0x37, - 0xf2, 0x6d, 0xcb, 0xdc, 0xcd, 0xef, 0xb1, 0xa5, 0x32, 0xda, 0x3c, 0x23, 0x9b, 0x87, 0x05, 0xe5, - 0xb4, 0x16, 0x51, 0xa6, 0xf5, 0x30, 0xc6, 0x08, 0xad, 0x49, 0xc5, 0x12, 0x95, 0xc3, 0x63, 0x6c, - 0x50, 0x87, 0x1c, 0xd9, 0xda, 0x54, 0xd3, 0x60, 0xf6, 0x84, 0x6a, 0xe2, 0x7d, 0x6c, 0x2a, 0xbf, - 0x52, 0x38, 0xaa, 0x1e, 0xcb, 0x32, 0xb4, 0xe2, 0xf9, 0xda, 0xad, 0x96, 0x7e, 0xf8, 0xec, 0x98, - 0x4a, 0xc7, 0x72, 0x2b, 0x33, 0x12, 0xc6, 0x34, 0x70, 0x33, 0xee, 0xc9, 0x53, 0x95, 0xad, 0x8a, - 0x56, 0x2d, 0x12, 0xa3, 0x4f, 0x0a, 0xe0, 0x9d, 0xce, 0xa6, 0x85, 0xa0, 0x2d, 0x28, 0x7e, 0xdc, - 0x9b, 0x38, 0x44, 0x22, 0x11, 0x8d, 0xb3, 0xbb, 0xdb, 0x13, 0x9f, 0x4e, 0xbb, 0x96, 0x14, 0x72, - 0xf7, 0x91, 0x3c, 0x11, 0x1b, 0x01, 0x56, 0x1d, 0xe9, 0xa2, 0xb7, 0xa7, 0xaf, 0x69, 0x54, 0xf1, - 0xfd, 0xe0, 0x4a, 0x41, 0x02, 0x96, 0x35, 0x34, 0xa8, 0x18, 0x25, 0xcd, 0x38, 0x7d, 0xee, 0x94, - 0xd7, 0x1e, 0x1e, 0x95, 0xfc, 0x50, 0x68, 0xa3, 0x0d, 0x8f, 0x75, 0x4e, 0xa2, 0xd8, 0x18, 0x8b, - 0x84, 0xe4, 0xf2, 0x52, 0xdb, 0x9d, 0x89, 0x7d, 0xca, 0xba, 0xb8, 0x02, 0x47, 0x35, 0xa1, 0xb0, - 0x3e, 0x40, 0x85, 0x34, 0x8a, 0xf9, 0xfc, 0xfb, 0xfa, 0xb0, 0x77, 0xd4, 0xdb, 0xc7, 0x8f, 0xc5, - 0x02, 0xfe, 0x02, 0xdd, 0x0d, 0x3f, 0x8e, 0xe6, 0x53, 0xf8, 0x71, 0xc4, 0xe8, 0xc7, 0xb3, 0x05, - 0xc6, 0x2c, 0x9e, 0xd1, 0x8f, 0x45, 0x40, 0x3f, 0x16, 0x4f, 0x9e, 0xe0, 0x8f, 0xc5, 0x33, 0xcc, - 0xd3, 0x3f, 0xec, 0xc3, 0x8f, 0x57, 0xdf, 0x3f, 0x7b, 0x75, 0x7e, 0x80, 0x02, 0xcf, 0x16, 0x79, - 0xb4, 0xf2, 0x84, 0xed, 0x0b, 0x4f, 0xd8, 0x42, 0x2f, 0x12, 0x55, 0x12, 0xec, 0x57, 0xd4, 0xbc, - 0x29, 0x32, 0x71, 0x39, 0x5e, 0x97, 0xd3, 0xa6, 0x43, 0xbc, 0xad, 0x18, 0xd6, 0x8d, 0x04, 0x8c, - 0x99, 0x6f, 0x3b, 0xef, 0xe0, 0xab, 0x8b, 0xf8, 0xe1, 0x24, 0x51, 0x95, 0x81, 0x22, 0x64, 0xde, - 0xe5, 0x27, 0x7e, 0x61, 0x1a, 0x41, 0xc0, 0x0c, 0xab, 0x9f, 0xeb, 0xb0, 0xb4, 0xb3, 0x60, 0xa4, - 0x1d, 0x07, 0x47, 0x04, 0xfc, 0x90, 0x36, 0x16, 0x22, 0x0c, 0x7e, 0xc1, 0x62, 0x25, 0x6b, 0x04, - 0xd6, 0x5d, 0xe4, 0x5d, 0xa4, 0x6b, 0xf9, 0x6b, 0x8a, 0xee, 0x04, 0xb2, 0x27, 0x51, 0x63, 0x20, - 0x00, 0x97, 0x7c, 0xa5, 0x74, 0x17, 0xcf, 0x67, 0xb0, 0x52, 0xc9, 0xe7, 0xae, 0x60, 0x61, 0xaf, - 0xae, 0xcb, 0x92, 0x61, 0x61, 0xdd, 0x4c, 0x8c, 0x5f, 0xdd, 0xeb, 0x21, 0x59, 0x32, 0x6c, 0x4b, - 0x82, 0xf0, 0x54, 0x0e, 0x5a, 0x3e, 0xac, 0xae, 0x51, 0x32, 0xbb, 0xc2, 0xfb, 0x96, 0x98, 0x71, - 0x36, 0xd7, 0xf3, 0x18, 0xbc, 0x6a, 0xbc, 0x73, 0xf0, 0x31, 0x6d, 0xbb, 0xc3, 0xf6, 0x84, 0x74, - 0x8d, 0xf1, 0x54, 0xf5, 0xeb, 0x47, 0xae, 0x47, 0xed, 0xb2, 0x80, 0xe1, 0xc8, 0x18, 0xbb, 0x64, - 0x41, 0x7a, 0xd0, 0xef, 0x0d, 0x8e, 0x46, 0xb9, 0x9f, 0x2b, 0x7b, 0xa8, 0xbe, 0x2b, 0xee, 0x08, - 0xd1, 0xf4, 0xf4, 0x3a, 0xf3, 0x62, 0xdf, 0x7e, 0xcf, 0x4d, 0xaa, 0x67, 0x54, 0xe4, 0xdc, 0x1e, - 0x45, 0xe3, 0x3e, 0x3b, 0x9c, 0xc4, 0xbe, 0x13, 0xc1, 0xff, 0x07, 0x3e, 0xfc, 0x70, 0x55, 0x11, - 0x10, 0x87, 0x9e, 0xc3, 0xfa, 0xae, 0xdb, 0xb1, 0xad, 0xe7, 0xf6, 0x30, 0xc2, 0xce, 0x3a, 0x94, - 0xf6, 0xb8, 0xf7, 0x9d, 0x66, 0x65, 0x15, 0x1d, 0xc0, 0xf6, 0xc1, 0x44, 0xab, 0xe7, 0xb6, 0xbc, - 0x47, 0x38, 0x49, 0xc2, 0xba, 0x6b, 0x17, 0x6f, 0x28, 0x32, 0x74, 0xf9, 0x0c, 0x6b, 0xe1, 0x3c, - 0x59, 0x58, 0x55, 0xf2, 0x14, 0xd2, 0xb8, 0xdc, 0xa0, 0xb9, 0xe3, 0x4b, 0x86, 0x2e, 0x24, 0x25, - 0x0d, 0x08, 0xbc, 0xb7, 0x86, 0x66, 0x38, 0xaf, 0x21, 0xf1, 0xed, 0x7f, 0x5f, 0xaf, 0x2f, 0x83, - 0x2f, 0x6b, 0x7b, 0xc4, 0xba, 0xb3, 0x58, 0x58, 0x1f, 0xcf, 0x62, 0x7e, 0x75, 0x5c, 0xc1, 0xe1, - 0x86, 0x08, 0x57, 0x1b, 0x0b, 0x48, 0x8e, 0x64, 0xa3, 0x98, 0x27, 0x27, 0x84, 0xa5, 0x01, 0x47, - 0xdd, 0xb7, 0x77, 0xc1, 0x06, 0xff, 0xa2, 0x0a, 0x8d, 0x1f, 0x4c, 0x6c, 0x7b, 0xb8, 0xa7, 0x78, - 0xc6, 0x49, 0x94, 0xc3, 0x09, 0xeb, 0x0f, 0xc6, 0x27, 0x97, 0x99, 0xe4, 0x04, 0x09, 0x34, 0x9d, - 0x7e, 0x7a, 0x33, 0xe2, 0x50, 0x3a, 0xfb, 0xdc, 0xbe, 0xa0, 0x37, 0xe2, 0x92, 0xcf, 0x65, 0x16, - 0xdc, 0x8e, 0x4a, 0x69, 0xcd, 0x7e, 0x19, 0x4a, 0x8c, 0x0d, 0xc1, 0x53, 0xde, 0xa3, 0x3a, 0x07, - 0xc7, 0x4f, 0x76, 0x51, 0x68, 0x57, 0x4c, 0x64, 0xb7, 0xec, 0x57, 0x6c, 0xba, 0x5e, 0xda, 0xde, - 0x5e, 0x2b, 0x5d, 0x65, 0xf0, 0x28, 0x4a, 0x51, 0xe5, 0xdd, 0xef, 0x7b, 0x73, 0xcc, 0xfa, 0xfb, - 0xde, 0x70, 0xaf, 0xe3, 0xf4, 0x07, 0x4f, 0x45, 0xc1, 0xf6, 0x22, 0x80, 0xe3, 0x0e, 0xee, 0x34, - 0x92, 0xbc, 0xbb, 0x9d, 0x3d, 0x22, 0xa7, 0xaa, 0x17, 0x8e, 0x99, 0x05, 0xde, 0xa1, 0x43, 0x3b, - 0x41, 0xb5, 0xb5, 0xce, 0x1e, 0xbf, 0x53, 0x7a, 0x4f, 0x17, 0xe2, 0xc6, 0x52, 0x1c, 0x0f, 0xbc, - 0x25, 0xb1, 0x0f, 0xaa, 0xe5, 0x2f, 0xd6, 0x61, 0x84, 0xea, 0x39, 0xdd, 0x2b, 0x04, 0x52, 0x32, - 0xa2, 0xce, 0xc2, 0x25, 0xd0, 0xba, 0x08, 0xe8, 0x42, 0x54, 0x29, 0x26, 0xba, 0x86, 0x9d, 0xdf, - 0xcd, 0x29, 0xbc, 0x63, 0xff, 0xc3, 0x22, 0xc5, 0x78, 0x0a, 0xcb, 0xf2, 0x3c, 0xf4, 0x6c, 0x6b, - 0xfe, 0x62, 0x05, 0xe7, 0x8c, 0x59, 0xcc, 0xcf, 0x29, 0xca, 0x45, 0x88, 0xb7, 0xa0, 0xcb, 0x48, - 0xba, 0x6b, 0x0a, 0x77, 0x2b, 0xa9, 0x3f, 0x52, 0x5a, 0x38, 0xc6, 0x30, 0xce, 0x8c, 0x7a, 0x03, - 0xbb, 0xc5, 0xc2, 0xed, 0x02, 0x9b, 0x07, 0xea, 0xfa, 0xf2, 0x42, 0xd4, 0xc4, 0xba, 0x69, 0x9e, - 0x05, 0xab, 0x89, 0x99, 0xf0, 0xf4, 0xec, 0xc3, 0xf3, 0x1f, 0x6d, 0xcf, 0x11, 0xb1, 0xb4, 0xc5, - 0x5c, 0x6d, 0x7f, 0x89, 0x12, 0x6a, 0x03, 0xf2, 0x1a, 0x4e, 0x9e, 0x15, 0xee, 0x2e, 0x4b, 0x98, - 0x9b, 0x11, 0x68, 0xb2, 0x91, 0xe4, 0x39, 0xac, 0x4c, 0xb8, 0xed, 0xac, 0x37, 0xa7, 0x67, 0xd8, - 0x54, 0xda, 0xa0, 0x8b, 0x34, 0xaf, 0xa4, 0xfa, 0xf1, 0xf9, 0x4b, 0x0b, 0x8e, 0x04, 0xb8, 0xa2, - 0x72, 0x4c, 0xb5, 0x0a, 0x66, 0xd5, 0xfe, 0x84, 0x11, 0xcb, 0x6f, 0x73, 0xb8, 0x2f, 0x31, 0x1e, - 0x8e, 0xc6, 0x75, 0x07, 0x95, 0x41, 0xe8, 0x6b, 0xd1, 0xc1, 0xe6, 0xe1, 0x00, 0x6b, 0x1b, 0x15, - 0x8d, 0x20, 0x79, 0xc2, 0x03, 0x9e, 0xc8, 0x25, 0x57, 0x1a, 0x95, 0x62, 0x5f, 0xc7, 0x57, 0x61, - 0x96, 0xc4, 0x2b, 0x6a, 0x3a, 0xeb, 0x06, 0xd9, 0xec, 0x92, 0x84, 0x3d, 0xa8, 0xf1, 0x94, 0x31, - 0xf8, 0x4a, 0xb3, 0x16, 0x5d, 0x87, 0x29, 0x5a, 0x30, 0x60, 0x66, 0x58, 0xdb, 0xb4, 0xad, 0x2e, - 0xf8, 0xc1, 0xfc, 0xe5, 0xca, 0xbc, 0x0e, 0x89, 0x48, 0x25, 0x9a, 0x13, 0x39, 0x83, 0x0d, 0x22, - 0x6a, 0xfb, 0x9b, 0x2f, 0x57, 0x96, 0xf0, 0x3c, 0x20, 0x4e, 0x70, 0xd4, 0x08, 0x41, 0x7d, 0x34, - 0xa5, 0x81, 0x23, 0x78, 0x98, 0xe2, 0xae, 0x3a, 0x0b, 0x51, 0xb0, 0xba, 0x44, 0x2d, 0x15, 0x21, - 0x69, 0xcd, 0x82, 0x10, 0x81, 0x48, 0x36, 0xf5, 0x93, 0x13, 0xee, 0x12, 0xd2, 0xb1, 0xd2, 0x4f, - 0x4f, 0x22, 0x81, 0x73, 0x75, 0x4d, 0x28, 0x32, 0x3a, 0x42, 0x32, 0x5a, 0x37, 0x04, 0x34, 0xad, - 0xff, 0x84, 0xd1, 0x1f, 0xd2, 0x29, 0x4b, 0x41, 0x64, 0xcb, 0xc4, 0x9d, 0x0e, 0x95, 0x19, 0x97, - 0x64, 0x75, 0x84, 0xd0, 0x62, 0xa3, 0x18, 0x15, 0x56, 0xca, 0x42, 0x88, 0x40, 0xd2, 0xca, 0x8c, - 0x3b, 0xb0, 0x92, 0xe2, 0x31, 0x16, 0x8c, 0x51, 0x58, 0x7e, 0xec, 0x52, 0x49, 0x01, 0xe7, 0xe1, - 0x43, 0xf9, 0x76, 0x27, 0x46, 0xa7, 0x22, 0x3b, 0x3b, 0x01, 0xca, 0xc3, 0x9a, 0x85, 0x97, 0xea, - 0x3d, 0x73, 0x7f, 0x8f, 0x86, 0x37, 0x70, 0x1e, 0xea, 0x4a, 0xed, 0x10, 0x8d, 0xfa, 0x79, 0x4a, - 0x7a, 0x3c, 0x75, 0x6d, 0xe9, 0x7c, 0x80, 0x20, 0xd8, 0x84, 0x53, 0xd1, 0xfe, 0x30, 0x34, 0x24, - 0xcc, 0xba, 0x97, 0xd0, 0x81, 0x1e, 0xb7, 0x34, 0xe3, 0x0e, 0xf5, 0xb8, 0xc8, 0xb5, 0x37, 0xd8, - 0xfe, 0x4c, 0x10, 0xf0, 0x82, 0xda, 0x04, 0x4a, 0x39, 0xde, 0x28, 0xae, 0x6b, 0x3e, 0xcd, 0xeb, - 0xc7, 0x11, 0x5f, 0x00, 0x9c, 0x08, 0x86, 0xfb, 0xca, 0xfa, 0xf6, 0x2e, 0xea, 0x26, 0xf1, 0x04, - 0xe5, 0xf8, 0x36, 0x7f, 0x2d, 0x2a, 0xca, 0x35, 0xde, 0x40, 0x02, 0xf3, 0x15, 0x00, 0x43, 0x77, - 0x7a, 0x9d, 0x39, 0x18, 0xe7, 0x56, 0x8e, 0x2f, 0x8d, 0x1e, 0xe6, 0x75, 0x5c, 0x67, 0x41, 0x6a, - 0x85, 0x11, 0x36, 0x01, 0x95, 0x23, 0xf4, 0x72, 0xa7, 0x59, 0xa8, 0x5a, 0x19, 0x27, 0x94, 0x9c, - 0xea, 0xe1, 0x08, 0xb0, 0xa2, 0x22, 0x34, 0x62, 0xe1, 0x15, 0x41, 0x14, 0x15, 0xe1, 0xdb, 0xc6, - 0x3a, 0x44, 0x48, 0x02, 0xb8, 0x0f, 0x83, 0x1b, 0xdf, 0x1e, 0x1c, 0x1f, 0x93, 0xb0, 0xd3, 0xb7, - 0xfb, 0xb6, 0xa5, 0x6b, 0x61, 0x70, 0xbf, 0xc5, 0xf8, 0x26, 0x8e, 0xba, 0x50, 0x2b, 0x74, 0xef, - 0xa0, 0xa1, 0xa9, 0x72, 0x3f, 0x08, 0x22, 0x5d, 0xff, 0x0b, 0xcf, 0x2a, 0x3f, 0xea, 0x92, 0x8e, - 0x86, 0x37, 0xa7, 0x6f, 0x49, 0xea, 0xa5, 0x32, 0xe8, 0x93, 0xb7, 0x14, 0x61, 0x9f, 0x10, 0xfc, - 0x2f, 0xff, 0x11, 0x96, 0xc4, 0xc9, 0xea, 0xfa, 0xbb, 0xd5, 0xa5, 0xb7, 0x80, 0xa9, 0x21, 0xda, - 0x51, 0x56, 0x45, 0x72, 0x48, 0x0b, 0xb6, 0xd8, 0xec, 0xf2, 0x4b, 0x84, 0x8c, 0x6e, 0x04, 0x87, - 0x64, 0x16, 0x3e, 0xa5, 0x7e, 0xc4, 0xbb, 0xd1, 0x9e, 0x4b, 0xe3, 0x38, 0x7b, 0x23, 0x86, 0x8c, - 0xf7, 0x84, 0x32, 0x4e, 0x93, 0x1b, 0x63, 0x6a, 0xa0, 0x9c, 0xca, 0x90, 0x41, 0x81, 0x72, 0xbc, - 0xb0, 0xb7, 0x90, 0x60, 0xc2, 0xb3, 0xc2, 0x8a, 0xc5, 0x99, 0x1d, 0x9f, 0xe0, 0x8d, 0x6b, 0xb4, - 0x66, 0x85, 0x96, 0x09, 0xd0, 0x51, 0x8c, 0x80, 0x0f, 0x6a, 0x2e, 0xf4, 0xf8, 0xf2, 0x81, 0xa6, - 0xff, 0x18, 0xe2, 0x43, 0xe0, 0xe1, 0x36, 0xae, 0xc2, 0x4a, 0x13, 0x7f, 0x0c, 0xf5, 0x16, 0xae, - 0xc2, 0x3f, 0xdb, 0xc0, 0x15, 0xd2, 0x66, 0x57, 0xf8, 0xe7, 0xad, 0xaf, 0x93, 0xbe, 0x13, 0x4e, - 0xd9, 0xa1, 0x28, 0x7d, 0x0d, 0xdb, 0x78, 0xf5, 0xb8, 0x29, 0x78, 0xc4, 0x60, 0x7f, 0xaa, 0x8f, - 0xf5, 0x27, 0x63, 0xb0, 0x3f, 0xfd, 0xd9, 0xae, 0x5c, 0xfd, 0x5d, 0x63, 0xfd, 0xa9, 0x36, 0xd6, - 0x46, 0x0b, 0x57, 0x7f, 0xb6, 0x85, 0xfc, 0xa0, 0x9c, 0x9a, 0x07, 0x0d, 0xd5, 0x18, 0xa4, 0x40, - 0x5b, 0x93, 0x08, 0x6c, 0x1f, 0xbe, 0x23, 0xba, 0x08, 0x05, 0x48, 0x2e, 0xd7, 0x34, 0xda, 0xcf, - 0x49, 0xb8, 0x65, 0x8f, 0x5f, 0xd3, 0xc9, 0x69, 0xf5, 0x5f, 0x59, 0x6f, 0x7e, 0x23, 0x0a, 0x51, - 0xdf, 0x81, 0x2c, 0xda, 0x4f, 0xa1, 0x5a, 0x2e, 0x3f, 0x35, 0x43, 0x8d, 0xea, 0xfa, 0x83, 0x6a, - 0x0f, 0xfb, 0x03, 0x79, 0x12, 0x9d, 0x70, 0x13, 0x51, 0xb9, 0xdb, 0x7b, 0xd8, 0x67, 0x38, 0xa2, - 0xa1, 0xdb, 0xfd, 0xc1, 0x04, 0x75, 0x1a, 0xb8, 0xa1, 0x3a, 0xef, 0xf9, 0x29, 0x10, 0x17, 0x51, - 0x7e, 0x72, 0xc0, 0xf3, 0x54, 0xf3, 0xf6, 0x31, 0x6f, 0xbf, 0x2d, 0xef, 0x8b, 0x20, 0x6b, 0xcb, - 0x38, 0xc0, 0x8c, 0x83, 0xb6, 0x8c, 0xcf, 0xb3, 0x59, 0x5b, 0xc6, 0x43, 0xcc, 0x78, 0xd8, 0x96, - 0xf1, 0x65, 0x92, 0xc1, 0x25, 0x5f, 0xe6, 0x3d, 0xe0, 0xd1, 0x95, 0x43, 0xea, 0x56, 0xcc, 0x0f, - 0xcd, 0x46, 0x1e, 0xe3, 0xb0, 0x85, 0x8d, 0x53, 0x71, 0x86, 0x44, 0x8a, 0x05, 0x9b, 0xe6, 0xcf, - 0xce, 0x43, 0x5e, 0xdd, 0xd4, 0x67, 0xe1, 0x83, 0xb3, 0x90, 0x87, 0xf5, 0x81, 0x64, 0x01, 0xe4, - 0x8c, 0x1f, 0x9e, 0x85, 0x86, 0xbc, 0xbf, 0xb2, 0x5f, 0xc3, 0x28, 0xfa, 0x90, 0xcc, 0xbe, 0x7c, - 0x4a, 0xd6, 0x0f, 0x8c, 0xcc, 0xa8, 0xca, 0xe4, 0x82, 0x6e, 0x10, 0xa7, 0x06, 0xca, 0x8f, 0x77, - 0x7c, 0x24, 0xf9, 0xe0, 0x72, 0x47, 0x4a, 0xc3, 0x3c, 0x48, 0x50, 0x7b, 0x4b, 0x56, 0xba, 0x81, - 0xb4, 0xc9, 0xa4, 0xbc, 0xff, 0x6b, 0xf7, 0xa4, 0xd8, 0x05, 0x08, 0x78, 0x40, 0x37, 0x0d, 0x7c, - 0x41, 0x8e, 0x4f, 0xc3, 0xbe, 0xce, 0x71, 0x57, 0x43, 0x71, 0x6f, 0x37, 0xea, 0x5e, 0xdc, 0xb2, - 0xa9, 0xa1, 0x05, 0xe6, 0x60, 0x23, 0xed, 0xa2, 0xef, 0x6a, 0x08, 0xf9, 0x73, 0xdb, 0xba, 0x32, - 0x22, 0xc4, 0xf8, 0xa3, 0x56, 0xe9, 0xd7, 0x3d, 0xd6, 0xf6, 0xfa, 0x46, 0xcd, 0x6e, 0x0b, 0x27, - 0x2d, 0xfb, 0x97, 0xd1, 0x66, 0xfa, 0x5d, 0xf2, 0xd1, 0x08, 0x22, 0xbb, 0xe6, 0xdf, 0xa9, 0x58, - 0x46, 0x48, 0xff, 0xff, 0x8b, 0xf1, 0xc2, 0x47, 0x44, 0x4b, 0x60, 0x87, 0x20, 0xf7, 0x24, 0x17, - 0x0c, 0x10, 0xfe, 0x09, 0xc5, 0x02, 0xa9, 0x05, 0xa3, 0x7f, 0xd4, 0x47, 0xfb, 0x45, 0xd6, 0x63, - 0x4f, 0xf1, 0xe3, 0x70, 0x70, 0x6c, 0x6f, 0x88, 0xf2, 0xb8, 0xe8, 0x00, 0x7d, 0x15, 0x4f, 0xe0, - 0xdf, 0xd0, 0x16, 0x64, 0xa8, 0x85, 0xd4, 0x5c, 0x67, 0xcf, 0xe0, 0xd1, 0x25, 0x29, 0xdf, 0x01, - 0x0f, 0xb6, 0x8d, 0x07, 0xe3, 0x9d, 0x8e, 0x6a, 0x87, 0xc1, 0x32, 0xe0, 0x62, 0x5f, 0x68, 0xe3, - 0x5e, 0xe7, 0xa2, 0x3a, 0x08, 0x4b, 0x1a, 0x84, 0x52, 0x97, 0x81, 0x5e, 0xa4, 0x70, 0xa5, 0x6f, - 0x46, 0x3a, 0xaf, 0x12, 0x85, 0xc2, 0x31, 0xbb, 0x29, 0x4c, 0xc2, 0xba, 0xae, 0x00, 0xb9, 0x87, - 0x2d, 0xdc, 0x13, 0xc3, 0x31, 0xf8, 0xfe, 0xe9, 0xb7, 0x77, 0x1c, 0x31, 0x8f, 0x00, 0xb6, 0x5e, - 0x5e, 0x06, 0xd9, 0x4b, 0x54, 0xb8, 0xa6, 0xf5, 0xd5, 0xb1, 0x9f, 0xdb, 0x08, 0xc7, 0x43, 0x41, - 0xcf, 0x51, 0xc5, 0xd8, 0x95, 0xc3, 0x71, 0x51, 0xe9, 0xf7, 0xfe, 0x4c, 0xec, 0x7d, 0xbe, 0x36, - 0x8c, 0xa6, 0x4a, 0x82, 0x72, 0xe1, 0x8e, 0x4c, 0x4a, 0xef, 0x9f, 0x59, 0x4a, 0x73, 0xe3, 0xf5, - 0xca, 0xe6, 0x3c, 0x1f, 0xc9, 0x55, 0xd4, 0x5e, 0x50, 0xd6, 0x5a, 0x50, 0xbf, 0x2c, 0xe8, 0xc5, - 0x23, 0x0a, 0x5a, 0xb6, 0x16, 0x34, 0x28, 0x0b, 0x7a, 0xf9, 0x88, 0x82, 0xa2, 0xd6, 0x82, 0x0e, - 0xcb, 0x82, 0x5e, 0xa9, 0x82, 0xb4, 0xc3, 0xc3, 0xba, 0xa8, 0x4f, 0xb8, 0xc1, 0x9f, 0x16, 0x5b, - 0x46, 0x5b, 0xfd, 0xed, 0x6c, 0xea, 0xb8, 0x99, 0x45, 0xdd, 0x54, 0x45, 0x4b, 0xf9, 0x8c, 0x1f, - 0x35, 0x75, 0x1e, 0x75, 0x5c, 0xe5, 0x4f, 0xc3, 0x96, 0xa8, 0x9a, 0xdb, 0x66, 0x64, 0x36, 0x52, - 0x3d, 0x09, 0xc3, 0xb8, 0xde, 0x85, 0x30, 0xb6, 0x79, 0xab, 0xb4, 0xd3, 0x09, 0x95, 0x46, 0xd4, - 0x75, 0x92, 0x16, 0x37, 0x85, 0x91, 0x03, 0x7e, 0x05, 0x6b, 0xb4, 0xba, 0x80, 0x03, 0x94, 0x15, - 0x90, 0x1c, 0x19, 0x1c, 0x48, 0x98, 0x73, 0x49, 0x99, 0xff, 0xed, 0x9d, 0xcd, 0xf2, 0xf4, 0xe9, - 0xe0, 0xc9, 0x13, 0xdb, 0xf7, 0x73, 0x7a, 0xec, 0x4e, 0x0e, 0x07, 0xc3, 0x27, 0x47, 0x1b, 0x9d, - 0x3c, 0x17, 0x5b, 0x18, 0x8f, 0x56, 0x20, 0xc6, 0x67, 0xec, 0x32, 0x89, 0x10, 0xcf, 0x1c, 0x9e, - 0xca, 0x68, 0x5a, 0x82, 0x27, 0x54, 0xb7, 0xdb, 0xb5, 0x0f, 0x04, 0x7b, 0x49, 0x0d, 0x19, 0xbc, - 0x2c, 0xe1, 0x95, 0xc9, 0x96, 0x05, 0xac, 0x6f, 0xd4, 0x28, 0x84, 0x96, 0x17, 0xf3, 0xf1, 0xb7, - 0x77, 0xeb, 0x89, 0x7d, 0x86, 0x24, 0xba, 0xf5, 0x1b, 0x2a, 0x04, 0xd1, 0xb7, 0x77, 0xaf, 0x5f, - 0xd9, 0x5c, 0xf9, 0x50, 0x4b, 0xa5, 0x0f, 0x14, 0xb4, 0x77, 0x62, 0x13, 0x3a, 0x14, 0xe5, 0x81, - 0x23, 0x03, 0x32, 0xd7, 0x12, 0xa0, 0x91, 0x0b, 0x31, 0x51, 0x65, 0xa2, 0xc6, 0x72, 0xf1, 0x06, - 0xf9, 0x69, 0xb1, 0x40, 0x5b, 0x34, 0x4d, 0xe1, 0x51, 0x6b, 0xa2, 0x18, 0x60, 0xed, 0x10, 0x36, - 0xcf, 0x7e, 0xf9, 0x90, 0x89, 0xd7, 0xab, 0x29, 0xcb, 0xc4, 0xf3, 0xa6, 0x27, 0x1e, 0x3c, 0xdf, - 0xde, 0x39, 0xeb, 0xc9, 0xea, 0x7a, 0x28, 0x99, 0xbb, 0xee, 0x7e, 0x7f, 0xa3, 0x3d, 0x76, 0x66, - 0x9b, 0xda, 0xa3, 0xe9, 0x1d, 0x8b, 0xcb, 0xe7, 0xd4, 0x17, 0x76, 0x8b, 0xee, 0xef, 0xa8, 0x32, - 0x1a, 0x5f, 0x75, 0xc8, 0x6b, 0xbd, 0x78, 0xa0, 0x81, 0xec, 0x81, 0x06, 0x1a, 0xed, 0xd3, 0x1b, - 0x37, 0xdf, 0x77, 0xaa, 0x63, 0x3a, 0x1b, 0xf6, 0xdc, 0xbf, 0xa1, 0xc9, 0x16, 0xd6, 0x2a, 0x55, - 0xd4, 0x70, 0xcd, 0xee, 0x07, 0x51, 0xb8, 0x8c, 0x87, 0x78, 0xc4, 0x67, 0x05, 0xea, 0xa5, 0xe1, - 0x15, 0x89, 0x89, 0x2e, 0x3b, 0xc4, 0xae, 0xb4, 0x3b, 0x0b, 0x0c, 0xaa, 0xf7, 0x94, 0x4a, 0x52, - 0xaf, 0x09, 0x73, 0x83, 0x24, 0x8b, 0x6a, 0xcf, 0xb5, 0x55, 0x9c, 0x2c, 0xb6, 0xf5, 0x43, 0x63, - 0x53, 0xc2, 0x1e, 0x85, 0x1a, 0x04, 0x3f, 0x74, 0xcc, 0x17, 0xe8, 0x27, 0xa9, 0x38, 0x0b, 0x0d, - 0xab, 0x8d, 0x91, 0xcd, 0x1d, 0x20, 0xc8, 0x45, 0xf7, 0x09, 0x59, 0x88, 0x2a, 0xbd, 0xb9, 0xc2, - 0x1e, 0x98, 0xbd, 0xbd, 0x4e, 0xdc, 0xd9, 0xcb, 0x3f, 0x6d, 0x9d, 0xbf, 0xbd, 0x8e, 0xb3, 0xba, - 0xdc, 0xef, 0x23, 0x9b, 0x52, 0x76, 0x6f, 0xaf, 0x93, 0xe2, 0xaf, 0x86, 0xce, 0x51, 0x81, 0x2d, - 0xb3, 0x24, 0xe2, 0xc6, 0x65, 0x53, 0x1f, 0x68, 0x18, 0x7b, 0xa8, 0x61, 0xab, 0x4b, 0xa3, 0x51, - 0xce, 0xb2, 0xbe, 0x9e, 0x52, 0x44, 0x34, 0xfb, 0x1b, 0x1a, 0x6b, 0xb5, 0xaf, 0x25, 0xa0, 0x06, - 0xae, 0xe4, 0x22, 0x5a, 0xc1, 0x17, 0x35, 0x01, 0x36, 0x9d, 0xb4, 0x6a, 0x66, 0xff, 0x99, 0x25, - 0xeb, 0x14, 0xee, 0x70, 0xd5, 0xff, 0x33, 0x34, 0x24, 0xd1, 0x7e, 0x9b, 0x53, 0x67, 0x3f, 0x6a, - 0xef, 0x2d, 0xb3, 0xb4, 0x71, 0x90, 0xfa, 0x3a, 0x3f, 0x44, 0x5b, 0x95, 0x90, 0xfe, 0xbf, 0xe1, - 0x44, 0xc8, 0xd3, 0xd9, 0xd6, 0xa9, 0xab, 0xb6, 0x0a, 0xd2, 0xff, 0x2d, 0xad, 0x7a, 0x04, 0x3f, - 0x9f, 0xb3, 0x94, 0xda, 0x48, 0x59, 0x29, 0xad, 0x56, 0xbd, 0x99, 0xd1, 0x55, 0x2b, 0xee, 0xd4, - 0x9e, 0xc9, 0x9f, 0xd7, 0xe6, 0x4b, 0xb2, 0x64, 0xcd, 0x7b, 0xf5, 0xd2, 0x9a, 0x9a, 0x4f, 0x26, - 0x58, 0x91, 0xb6, 0xba, 0xee, 0x1d, 0xba, 0x1a, 0x16, 0x2e, 0x7c, 0xd9, 0xdd, 0x5d, 0xee, 0xa7, - 0xe3, 0xfe, 0xee, 0xee, 0x7c, 0x7f, 0x36, 0xee, 0x4f, 0xa6, 0xb4, 0x70, 0x1c, 0xd6, 0x7d, 0xbe, - 0x9e, 0x87, 0xc9, 0x07, 0x16, 0x08, 0x7f, 0x46, 0x95, 0x00, 0x62, 0xd7, 0xd9, 0xc3, 0x5b, 0xbc, - 0xcd, 0xb7, 0x70, 0x0e, 0x8c, 0x06, 0x4c, 0x8b, 0x95, 0x2d, 0xea, 0xfe, 0x48, 0xbe, 0x7a, 0x12, - 0x12, 0x5c, 0x70, 0xe6, 0x82, 0xc5, 0xf5, 0xa3, 0xb0, 0x6e, 0x38, 0x3d, 0xb7, 0xbf, 0x4a, 0x68, - 0x83, 0x14, 0x69, 0xe5, 0x09, 0xf8, 0x31, 0x55, 0xbb, 0x6a, 0x0f, 0xa9, 0xf1, 0x22, 0x35, 0x5e, - 0x25, 0xb0, 0x1b, 0xc6, 0x28, 0xfb, 0x79, 0xb8, 0xe4, 0x26, 0x8e, 0x91, 0x51, 0x72, 0x85, 0x67, - 0x44, 0x25, 0xe3, 0x39, 0xf8, 0xf5, 0xaf, 0x9e, 0x39, 0xbc, 0xad, 0x88, 0xa2, 0x6f, 0x5f, 0x3d, - 0xa2, 0x65, 0x19, 0xa7, 0xbb, 0x84, 0x76, 0xcd, 0x07, 0x96, 0xc2, 0xd3, 0xd5, 0x42, 0x21, 0x49, - 0x64, 0xa1, 0x35, 0x96, 0x26, 0x34, 0x4a, 0x1f, 0xb5, 0xc8, 0x38, 0x15, 0x38, 0x98, 0x9b, 0xcb, - 0xea, 0xe2, 0x31, 0x4d, 0x99, 0x1b, 0x4d, 0x79, 0x45, 0x3a, 0x2e, 0x5a, 0x03, 0xe6, 0xfa, 0x03, - 0xf1, 0x81, 0x06, 0xf4, 0x0e, 0xbf, 0xaf, 0xae, 0x6b, 0xed, 0xd9, 0x5c, 0x27, 0x20, 0x61, 0xc9, - 0x65, 0x78, 0xac, 0x71, 0x45, 0xdc, 0x8d, 0xe4, 0x9b, 0x37, 0x68, 0x2e, 0x54, 0xa2, 0xda, 0x84, - 0xb4, 0x82, 0x95, 0xaf, 0x73, 0xea, 0xc7, 0x3e, 0x17, 0x4b, 0x8f, 0x4a, 0x4b, 0xbe, 0xd8, 0x95, - 0xe5, 0x45, 0x68, 0x40, 0xed, 0x4a, 0x35, 0x5f, 0xf9, 0xbb, 0x2b, 0x56, 0x03, 0xaa, 0xb1, 0x2b, - 0x09, 0x43, 0xe0, 0xf7, 0x46, 0xc1, 0x89, 0x8f, 0x83, 0x31, 0x0a, 0x3a, 0x1d, 0xb7, 0x64, 0xf2, - 0x07, 0x58, 0x40, 0x79, 0xd0, 0x04, 0xca, 0x88, 0x8c, 0x58, 0xca, 0x64, 0xa6, 0x41, 0x7b, 0x26, - 0x40, 0x1e, 0xf5, 0x85, 0xab, 0x2a, 0x5f, 0x66, 0x98, 0xb7, 0x59, 0x8e, 0xec, 0xed, 0xe8, 0xf9, - 0xa0, 0x61, 0x17, 0xaa, 0x55, 0xb0, 0xc3, 0x1f, 0xd7, 0xf8, 0xbe, 0xcb, 0x41, 0x07, 0x84, 0xa0, - 0xe3, 0x64, 0x50, 0x26, 0x5d, 0xce, 0xed, 0x0e, 0xf6, 0xa4, 0xad, 0x76, 0x38, 0x55, 0x35, 0xa0, - 0x2c, 0x99, 0xa9, 0x87, 0x3c, 0x76, 0xa9, 0x56, 0xad, 0x9a, 0xb1, 0x4c, 0x7b, 0x6d, 0xd2, 0x70, - 0x43, 0x87, 0xa0, 0xcc, 0x50, 0x9b, 0x44, 0x2d, 0x0b, 0xf4, 0x9c, 0x58, 0xde, 0x3b, 0x31, 0xb7, - 0x63, 0x36, 0xaf, 0x60, 0xbd, 0x45, 0x7c, 0x70, 0xb0, 0x17, 0x9b, 0x5c, 0x1a, 0xdc, 0xb8, 0x70, - 0x47, 0x77, 0xda, 0x52, 0x31, 0x95, 0xea, 0x44, 0x92, 0x90, 0x65, 0x9b, 0xb2, 0xfa, 0x80, 0x98, - 0x4b, 0x4b, 0xcd, 0xda, 0x1a, 0x96, 0xd0, 0xa0, 0xa6, 0xb8, 0x20, 0x47, 0x19, 0xce, 0x5c, 0x13, - 0xf0, 0xc8, 0x33, 0x6d, 0x8c, 0xc9, 0x6b, 0x50, 0xee, 0x22, 0x27, 0x02, 0xbf, 0x28, 0xbb, 0x09, - 0x69, 0x6a, 0xbf, 0xf7, 0x8e, 0xcd, 0x21, 0x62, 0xb8, 0x1b, 0x4f, 0xf3, 0x74, 0xd4, 0xc0, 0x39, - 0xcb, 0x97, 0xfa, 0x71, 0x56, 0x91, 0x29, 0x47, 0x94, 0xf9, 0xf7, 0xbd, 0xa1, 0x1a, 0x03, 0xe2, - 0x13, 0xf0, 0x5e, 0x37, 0xb0, 0xd3, 0x4a, 0x2e, 0xd8, 0xf8, 0x67, 0x51, 0xe6, 0x5c, 0x31, 0xbf, - 0xf6, 0x46, 0x4a, 0x05, 0x80, 0xb4, 0x11, 0x2d, 0xde, 0x64, 0x92, 0x9f, 0x91, 0x2e, 0xa1, 0x59, - 0xd6, 0xb7, 0x77, 0xe8, 0x93, 0x67, 0x83, 0x8a, 0x5c, 0x3d, 0xf4, 0x4c, 0x1e, 0xce, 0x27, 0xb6, - 0xe0, 0x80, 0xd8, 0xc3, 0xa2, 0x8b, 0x36, 0x37, 0xf0, 0x14, 0xe3, 0x2d, 0x44, 0xe7, 0xf5, 0xe1, - 0xbc, 0x63, 0x73, 0x2d, 0xea, 0x8d, 0xaa, 0xf2, 0x62, 0xc4, 0x48, 0x31, 0xdf, 0xe0, 0xba, 0x09, - 0x0d, 0x7d, 0x91, 0xd3, 0xd0, 0xf6, 0xab, 0xc4, 0xb4, 0xcd, 0x9d, 0xa6, 0x58, 0xd8, 0x90, 0x76, - 0xab, 0xfa, 0x86, 0xd2, 0xbc, 0x15, 0x2a, 0x9b, 0xa4, 0xa9, 0xeb, 0x91, 0x28, 0x92, 0x49, 0x7d, - 0x54, 0x25, 0x27, 0x45, 0x8b, 0x94, 0xe2, 0x44, 0x82, 0xf4, 0x8f, 0x0a, 0x38, 0x26, 0xc8, 0xf1, - 0xc7, 0x1d, 0xba, 0x9a, 0x83, 0x2f, 0xa8, 0x1a, 0x81, 0x8f, 0x4e, 0xfe, 0xa3, 0x7f, 0xbe, 0xc1, - 0x32, 0x74, 0xf5, 0x4e, 0x52, 0x51, 0x22, 0x9c, 0x85, 0x88, 0x21, 0x82, 0x5b, 0x90, 0x31, 0xa7, - 0xa0, 0x40, 0x17, 0x95, 0x78, 0xa4, 0xc2, 0x2b, 0x96, 0xd7, 0xe3, 0x25, 0xd9, 0x67, 0x68, 0x77, - 0x8e, 0x2a, 0xf7, 0xb2, 0x11, 0x64, 0x7d, 0xcb, 0xe4, 0x7a, 0x42, 0xc4, 0x09, 0x2f, 0x82, 0x0f, - 0xc2, 0x2b, 0xb0, 0x2d, 0x1b, 0xb5, 0x49, 0x6c, 0x0e, 0x46, 0x42, 0x95, 0x49, 0xff, 0xa0, 0xf6, - 0x87, 0xb3, 0x5f, 0x5e, 0xd9, 0xee, 0x49, 0x8f, 0xf4, 0x0f, 0xcd, 0x45, 0xcb, 0x95, 0x68, 0x51, - 0x17, 0x9e, 0x2b, 0xde, 0x8a, 0x45, 0x0b, 0x95, 0xc4, 0x08, 0x39, 0xc2, 0x43, 0xd1, 0xb4, 0x49, - 0xb8, 0xe7, 0xb2, 0x47, 0xa3, 0x9d, 0x51, 0x1f, 0x28, 0x12, 0x19, 0x31, 0xe2, 0xa3, 0x83, 0x4a, - 0x1b, 0xf1, 0xe4, 0xf3, 0xf9, 0x30, 0x96, 0x48, 0x0b, 0x23, 0x42, 0x4c, 0x91, 0x4e, 0x61, 0x4e, - 0x0e, 0xef, 0xef, 0x49, 0xb1, 0x83, 0x94, 0x4d, 0x21, 0x1d, 0x7e, 0xca, 0xa4, 0x1e, 0x59, 0xc9, - 0x36, 0x00, 0x2b, 0x10, 0x90, 0x9d, 0x84, 0x13, 0xc4, 0x00, 0x57, 0x58, 0xde, 0xc0, 0x95, 0xd4, - 0x7f, 0x73, 0xf8, 0xfc, 0xe9, 0xc8, 0x96, 0x92, 0x59, 0x55, 0xd1, 0x91, 0xaa, 0xe8, 0xf0, 0x7c, - 0x02, 0x24, 0xee, 0x10, 0xbf, 0x8c, 0x7a, 0xdc, 0x99, 0x6e, 0x40, 0x50, 0xdf, 0x81, 0x56, 0x97, - 0x13, 0x94, 0x7e, 0x32, 0x80, 0xf4, 0x2c, 0x2b, 0x78, 0x3a, 0x18, 0x3c, 0x19, 0x51, 0xe2, 0x32, - 0xbe, 0xaf, 0xc7, 0x3f, 0x3b, 0x1a, 0x54, 0xe3, 0x07, 0x5a, 0xfc, 0xb3, 0x27, 0x87, 0x4f, 0xab, - 0xf1, 0x57, 0x7a, 0xfc, 0xd3, 0xc3, 0xa3, 0x6a, 0xfc, 0xc2, 0x8c, 0x3f, 0x1e, 0x21, 0x28, 0x5d, - 0xd1, 0xf1, 0x97, 0x68, 0x05, 0x82, 0x97, 0x10, 0x2c, 0x6a, 0x54, 0xc6, 0xfb, 0xa1, 0x58, 0x45, - 0x90, 0xfa, 0xc6, 0xf6, 0xd0, 0x33, 0x16, 0x52, 0x3e, 0x6f, 0x7e, 0x83, 0x51, 0x24, 0xb5, 0x06, - 0x7e, 0xd7, 0x2e, 0x6e, 0x50, 0xd9, 0xd2, 0xbc, 0x6a, 0x1b, 0x14, 0x68, 0x95, 0x62, 0x3e, 0xd7, - 0xe1, 0x57, 0x6a, 0xd8, 0xe2, 0x97, 0xa1, 0x9f, 0x8c, 0x70, 0xd0, 0xe6, 0xf2, 0x25, 0x15, 0x56, - 0x91, 0x56, 0x2e, 0x60, 0x74, 0xb3, 0x26, 0xcf, 0x06, 0xa1, 0xc2, 0x4a, 0xda, 0xd0, 0x6a, 0x23, - 0xe1, 0x1a, 0xa6, 0x2c, 0x78, 0xd2, 0x34, 0x77, 0x4c, 0x98, 0x27, 0xd8, 0x1e, 0x6a, 0x1d, 0x7b, - 0x58, 0x0d, 0xf5, 0xf1, 0x54, 0x06, 0x1b, 0xf4, 0x33, 0x72, 0xe7, 0x53, 0x92, 0x6f, 0x8a, 0xd7, - 0xd7, 0xb7, 0x77, 0x50, 0x2a, 0xa4, 0x3d, 0x85, 0xc0, 0x97, 0x79, 0xee, 0x90, 0x52, 0xb5, 0x52, - 0xa9, 0xbc, 0x90, 0xea, 0xc5, 0x70, 0xa5, 0x56, 0x47, 0x88, 0x89, 0xc5, 0xac, 0x74, 0x10, 0xb8, - 0xba, 0x2e, 0x87, 0xd1, 0x44, 0x83, 0x91, 0xa2, 0x3b, 0x83, 0x7c, 0xc4, 0xcd, 0x71, 0x95, 0x06, - 0x05, 0x9c, 0x0c, 0xec, 0x44, 0x8b, 0x81, 0x83, 0xae, 0x23, 0xb5, 0x24, 0x6a, 0x68, 0x31, 0xe8, - 0x40, 0xac, 0xd6, 0x02, 0x1d, 0xe4, 0xa5, 0x20, 0xfb, 0x9d, 0x75, 0x21, 0x9a, 0xf4, 0xc0, 0x00, - 0xc1, 0x6d, 0xbe, 0xcf, 0x3c, 0xfb, 0x7f, 0x58, 0x2f, 0xd7, 0x79, 0x91, 0xac, 0x50, 0x25, 0x04, - 0x4e, 0x82, 0xff, 0x61, 0xff, 0x95, 0xf1, 0xa2, 0x32, 0xf5, 0x01, 0xdb, 0x68, 0x9d, 0x1b, 0xf7, - 0xb8, 0x5a, 0x5d, 0xb6, 0x82, 0x1c, 0x0f, 0xea, 0xd4, 0xd5, 0x53, 0x35, 0x9e, 0xc8, 0x19, 0x9b, - 0x67, 0xc1, 0xb5, 0x68, 0x82, 0x82, 0xa6, 0x69, 0xd4, 0x4a, 0x11, 0x83, 0x66, 0x75, 0x49, 0xa5, - 0xd9, 0x1d, 0xe9, 0x3a, 0xf5, 0x16, 0x2b, 0x15, 0x54, 0x98, 0x5f, 0x75, 0x28, 0x62, 0x77, 0x55, - 0xcf, 0xdd, 0x11, 0x39, 0xd6, 0xe6, 0xf7, 0xbc, 0x5f, 0x59, 0x2d, 0x0a, 0x7a, 0x93, 0xdc, 0xd8, - 0xe9, 0x16, 0xc7, 0x7a, 0x32, 0xae, 0x72, 0xae, 0x23, 0x3e, 0x97, 0x06, 0xe2, 0x65, 0x18, 0x9e, - 0x8f, 0x04, 0x9d, 0x2f, 0x8d, 0x59, 0xa5, 0xf7, 0x49, 0x8b, 0x08, 0x88, 0x51, 0xdf, 0x57, 0xe7, - 0x16, 0x2a, 0x6b, 0xc2, 0x42, 0xf7, 0x69, 0xc9, 0x57, 0xdc, 0x44, 0xe3, 0x3e, 0x13, 0xf1, 0xa8, - 0xa1, 0x0b, 0x13, 0xa4, 0x8c, 0xb8, 0x84, 0xbe, 0xb9, 0xbe, 0x10, 0xc5, 0x15, 0x45, 0xab, 0x90, - 0x5f, 0xf1, 0xb1, 0x5f, 0xc8, 0x93, 0x3a, 0xf0, 0x12, 0x2f, 0xf4, 0x32, 0x20, 0x21, 0x47, 0xb5, - 0xbb, 0x20, 0x76, 0xdd, 0xcc, 0xd7, 0x74, 0x93, 0x50, 0x1d, 0xf8, 0x00, 0x2a, 0xfb, 0x8e, 0xa0, - 0xeb, 0xb9, 0x22, 0x3a, 0x42, 0x4d, 0xc1, 0xc9, 0x8d, 0xc8, 0x52, 0x78, 0xac, 0xd2, 0xed, 0x8b, - 0x98, 0x41, 0x19, 0x9e, 0xff, 0x6e, 0x80, 0x6d, 0x13, 0x7a, 0x88, 0x41, 0x3c, 0x4f, 0x56, 0x0e, - 0x6a, 0xc9, 0xd4, 0xc3, 0xc2, 0x7a, 0x58, 0x89, 0xee, 0xc3, 0xa8, 0xa2, 0xfd, 0xbe, 0xd0, 0x96, - 0xe4, 0x20, 0x0c, 0x39, 0xa7, 0x7f, 0x61, 0x87, 0x64, 0x2c, 0x1e, 0x05, 0x9a, 0x4a, 0x0f, 0x5e, - 0x4e, 0x72, 0xca, 0x32, 0x57, 0xba, 0x0e, 0xa8, 0x45, 0x2d, 0xb1, 0xd6, 0xe6, 0xa8, 0xa9, 0xbb, - 0xd9, 0x91, 0x9e, 0x0a, 0x8d, 0x01, 0x60, 0x07, 0x72, 0x34, 0x69, 0x08, 0x10, 0x84, 0x81, 0xd4, - 0xec, 0x05, 0xc8, 0x68, 0x80, 0xf8, 0xa2, 0x09, 0xfe, 0x09, 0x37, 0x2e, 0x22, 0x9d, 0x6e, 0xfe, - 0x71, 0x21, 0x21, 0xef, 0x2f, 0x34, 0x27, 0x7e, 0x56, 0x15, 0x1c, 0x55, 0x3a, 0xea, 0xf3, 0x10, - 0xd8, 0x8a, 0x60, 0x82, 0x80, 0x82, 0x1b, 0x5d, 0x98, 0x8b, 0xad, 0xbe, 0xed, 0xc9, 0xa4, 0x1e, - 0xce, 0x7b, 0xbc, 0xe6, 0xbd, 0xc0, 0xb0, 0xad, 0xaf, 0xec, 0x6f, 0x4e, 0xa7, 0xa1, 0x24, 0xb4, - 0x80, 0x97, 0xde, 0xad, 0x60, 0x4a, 0x92, 0xd4, 0x11, 0x9f, 0x86, 0x68, 0x59, 0x8f, 0x12, 0x41, - 0x4d, 0xd3, 0x92, 0xe2, 0x80, 0x54, 0x43, 0x16, 0x59, 0x80, 0xac, 0xb0, 0xbd, 0x4d, 0x12, 0xbf, - 0xe4, 0xef, 0x44, 0x20, 0xb2, 0x37, 0x84, 0xa9, 0xea, 0x2a, 0x29, 0xa5, 0x78, 0x52, 0x8a, 0x50, - 0x59, 0x35, 0xf6, 0x2f, 0xe1, 0x42, 0xcb, 0x07, 0x05, 0x67, 0x15, 0x81, 0x26, 0x65, 0xd5, 0xd8, - 0x3d, 0xd8, 0x40, 0x24, 0x62, 0xf0, 0x3b, 0xdb, 0xd8, 0xa6, 0xa0, 0x92, 0x12, 0x9b, 0x4f, 0xf6, - 0xca, 0x00, 0x48, 0xc5, 0x7a, 0x33, 0x9f, 0xb2, 0x55, 0x18, 0x73, 0x5c, 0x01, 0x43, 0x84, 0x23, - 0x14, 0x18, 0x3a, 0x71, 0xf9, 0x6a, 0x55, 0xd3, 0x31, 0xc5, 0x46, 0x92, 0xcd, 0x25, 0xd7, 0xd0, - 0x62, 0x42, 0x3b, 0x6b, 0x30, 0xe4, 0xca, 0x56, 0x83, 0xa1, 0xd8, 0xdf, 0xaf, 0xcf, 0x4e, 0x0f, - 0x07, 0xb6, 0x54, 0xc1, 0xe2, 0x1f, 0x87, 0x46, 0xe4, 0xfe, 0x99, 0x8c, 0x3f, 0x12, 0xf1, 0x47, - 0x95, 0xf8, 0x43, 0x11, 0x7f, 0x2c, 0xe2, 0x8f, 0xcd, 0xf8, 0x97, 0x32, 0xbe, 0xcf, 0xe3, 0x9f, - 0xea, 0x95, 0x93, 0xd4, 0x44, 0x2c, 0x41, 0x7b, 0xa2, 0xf7, 0x20, 0x36, 0xec, 0xd9, 0x6d, 0xc4, - 0xde, 0x22, 0x23, 0x46, 0x0c, 0x9f, 0x00, 0xad, 0x98, 0x0e, 0xf9, 0xf7, 0x3a, 0x91, 0x40, 0xea, - 0xdc, 0xa5, 0x4b, 0x3b, 0xb4, 0x1c, 0x07, 0xb2, 0x13, 0x89, 0x0d, 0x38, 0x70, 0x60, 0xef, 0x03, - 0x15, 0x4b, 0x4e, 0x7c, 0xd4, 0x73, 0x1a, 0x15, 0xf6, 0x44, 0xe0, 0x57, 0xd0, 0xc0, 0xb2, 0x18, - 0x17, 0x8a, 0x0c, 0x78, 0xa0, 0x38, 0x0e, 0xb6, 0x8b, 0xbc, 0x50, 0x5d, 0x36, 0x10, 0x8e, 0x16, - 0x84, 0xb6, 0xac, 0x2e, 0xf6, 0xca, 0x56, 0xc5, 0xc7, 0x65, 0xe4, 0xec, 0xc1, 0x76, 0x85, 0x4e, - 0x6e, 0xf6, 0xb8, 0x4b, 0xf1, 0x91, 0x6d, 0xea, 0xa3, 0x91, 0x95, 0xb8, 0x54, 0xb7, 0xbc, 0x68, - 0xb2, 0x73, 0x56, 0xd6, 0x52, 0x54, 0x8c, 0x56, 0x81, 0x84, 0x4e, 0x93, 0xc8, 0x04, 0x7b, 0xe4, - 0x78, 0xe1, 0xe0, 0x40, 0x56, 0x48, 0x5a, 0xbe, 0xda, 0xf2, 0x9c, 0xca, 0x15, 0xc8, 0xa7, 0x24, - 0x70, 0x85, 0x85, 0x0d, 0xa6, 0xbf, 0x0a, 0xe7, 0x27, 0x83, 0xc3, 0xde, 0xf7, 0xfd, 0xc3, 0x1e, - 0x76, 0x86, 0x69, 0x66, 0x56, 0xde, 0x05, 0xe4, 0xa0, 0x65, 0xd8, 0x1f, 0x7c, 0x2f, 0x3a, 0x0c, - 0x59, 0x51, 0x2d, 0x23, 0xe4, 0xef, 0x32, 0xca, 0x3e, 0xb1, 0xdf, 0x1f, 0x3c, 0xb7, 0x87, 0xf4, - 0x7d, 0x43, 0x3d, 0x73, 0xbd, 0xb8, 0xd3, 0xd9, 0x30, 0x54, 0xbb, 0x3f, 0xe9, 0x4d, 0x72, 0xa0, - 0x2d, 0xdf, 0x0a, 0x57, 0x5f, 0x16, 0x9e, 0x2e, 0x68, 0x25, 0x2e, 0x5d, 0x68, 0x74, 0xed, 0x61, - 0x8f, 0x14, 0x15, 0x1d, 0x4c, 0xf6, 0x3e, 0xb1, 0x12, 0x34, 0x64, 0x57, 0xae, 0xc1, 0x72, 0x6b, - 0x81, 0xe7, 0x59, 0x17, 0x09, 0x7b, 0x7c, 0x24, 0x4a, 0xc5, 0x6d, 0x4b, 0xd3, 0x54, 0x7d, 0xc9, - 0x15, 0x6c, 0x55, 0x9e, 0x21, 0xea, 0xab, 0xd2, 0x64, 0x6e, 0x28, 0x61, 0x44, 0x56, 0x3c, 0x15, - 0xe5, 0xd4, 0xd8, 0xa0, 0xc2, 0x72, 0xd3, 0x30, 0x91, 0x2f, 0xbf, 0x66, 0x8b, 0xc4, 0x98, 0x5b, - 0x1a, 0x3c, 0xc6, 0x20, 0x51, 0xe1, 0x25, 0xac, 0xa3, 0xb9, 0x85, 0x6e, 0xcc, 0xb0, 0x6c, 0x0b, - 0x0b, 0xb7, 0x90, 0xa0, 0xe0, 0xd0, 0x35, 0x8d, 0x96, 0x8a, 0x55, 0x14, 0x1b, 0xba, 0x0d, 0xcd, - 0xcd, 0x21, 0x09, 0x46, 0xaf, 0x02, 0x2f, 0x56, 0xb3, 0x35, 0xac, 0x61, 0x2f, 0x11, 0x23, 0x89, - 0x13, 0x13, 0xc2, 0x47, 0x9c, 0x20, 0x15, 0x46, 0x25, 0xd0, 0x1d, 0x0e, 0x28, 0xd6, 0xd3, 0x06, - 0xfa, 0x5e, 0x51, 0x4b, 0x44, 0xa0, 0x42, 0xda, 0x97, 0xf0, 0x90, 0x6a, 0x85, 0x0d, 0x2f, 0x5c, - 0x2c, 0x4d, 0x22, 0x25, 0xfd, 0x82, 0xc7, 0x2e, 0x21, 0x37, 0x2f, 0x61, 0x2a, 0x8a, 0x2c, 0x84, - 0x0b, 0x59, 0xee, 0x76, 0xd6, 0xbd, 0x0c, 0xf2, 0xaa, 0xfb, 0x1d, 0x38, 0x31, 0x02, 0x19, 0x44, - 0xf6, 0x20, 0x9c, 0x11, 0x31, 0x84, 0x6b, 0x5d, 0xe2, 0xdf, 0xe8, 0xfa, 0xcd, 0x14, 0x79, 0x00, - 0xdb, 0x2e, 0x3a, 0x21, 0xd8, 0x15, 0xd8, 0x6c, 0x03, 0x4e, 0xc1, 0xc4, 0x7e, 0x0d, 0x3a, 0xfc, - 0x19, 0x47, 0x0e, 0xe7, 0x02, 0xf9, 0xe9, 0xd2, 0xa5, 0x55, 0xf3, 0x0f, 0x19, 0x30, 0xdb, 0x7f, - 0x22, 0x42, 0xdc, 0x8b, 0x51, 0x1b, 0x6a, 0x64, 0xbc, 0xe1, 0x7c, 0x3d, 0x63, 0xf4, 0xda, 0x06, - 0x52, 0xc1, 0x3c, 0x02, 0xd5, 0x4d, 0xee, 0x59, 0x70, 0xfc, 0x02, 0xf1, 0x32, 0x54, 0x4f, 0x03, - 0xc9, 0x69, 0x29, 0x41, 0x94, 0x35, 0x54, 0x2d, 0x42, 0x35, 0x96, 0x9e, 0x66, 0xfe, 0x64, 0x95, - 0x4d, 0x00, 0x57, 0x34, 0xaf, 0xc2, 0xfb, 0x0c, 0x87, 0x6e, 0xaa, 0xac, 0x1f, 0xe4, 0x4a, 0x6a, - 0x50, 0x96, 0x9c, 0x25, 0xc6, 0x90, 0x6b, 0x26, 0x97, 0x51, 0x05, 0xb5, 0xa8, 0x92, 0x4a, 0xf4, - 0x0a, 0x1e, 0xea, 0x8d, 0x29, 0x4a, 0xbe, 0x5a, 0x5d, 0xc0, 0x58, 0x0c, 0x09, 0xeb, 0x28, 0xdf, - 0x2f, 0x04, 0x6b, 0xd6, 0x28, 0xfa, 0xd3, 0x05, 0x52, 0x8c, 0x46, 0x59, 0x18, 0x94, 0xf8, 0x95, - 0x06, 0x00, 0x51, 0x56, 0xa9, 0x10, 0x88, 0x53, 0x3d, 0x24, 0x59, 0x40, 0xd0, 0x8c, 0x53, 0x81, - 0xab, 0x2f, 0x67, 0x9f, 0x7e, 0x80, 0xed, 0x3e, 0x2f, 0x7f, 0xbe, 0xe2, 0xf0, 0xab, 0x61, 0xfe, - 0x23, 0xde, 0x1b, 0xc5, 0xd8, 0x27, 0x75, 0x5a, 0x97, 0x1c, 0x2a, 0x09, 0x58, 0x87, 0x9e, 0x17, - 0x77, 0xb9, 0x3b, 0x1a, 0xf8, 0x0c, 0x63, 0x04, 0x8e, 0xe7, 0xb3, 0xcb, 0xa3, 0xfb, 0xf0, 0x02, - 0xc7, 0x68, 0xfa, 0xe4, 0xd1, 0x09, 0x7d, 0xe1, 0x8a, 0xb9, 0x09, 0x45, 0x4a, 0xae, 0xe2, 0x7e, - 0xdf, 0x0b, 0xcb, 0xc8, 0x0e, 0xfd, 0xd2, 0xa2, 0xd1, 0x83, 0xcf, 0xac, 0x85, 0x61, 0x3a, 0xdf, - 0xdd, 0x9d, 0xb7, 0x44, 0x01, 0xe1, 0x99, 0xb5, 0x33, 0xbe, 0x89, 0x30, 0xae, 0x14, 0x5c, 0x61, - 0x60, 0x56, 0xca, 0xae, 0xc4, 0x56, 0x8a, 0xd7, 0x6a, 0xa6, 0x99, 0xd3, 0x28, 0xe6, 0x58, 0xae, - 0x07, 0x8d, 0x54, 0x0e, 0x5a, 0x57, 0x40, 0x02, 0x2b, 0x60, 0x14, 0x7d, 0xe7, 0x87, 0xfb, 0x09, - 0x15, 0x94, 0x1a, 0x13, 0x87, 0x52, 0xa4, 0x0b, 0xce, 0xa6, 0xde, 0x2f, 0x50, 0x6c, 0x05, 0xc9, - 0x90, 0x19, 0x9a, 0xee, 0xee, 0xa6, 0xdb, 0xb9, 0xfc, 0x02, 0x1b, 0x4c, 0xb1, 0x30, 0xcc, 0x77, - 0xdc, 0x05, 0xbd, 0xe3, 0x3e, 0x6b, 0xc4, 0x6c, 0xe9, 0x65, 0x68, 0x63, 0x9f, 0xf3, 0x2a, 0x0b, - 0x4e, 0x3b, 0xe4, 0x2d, 0xaf, 0x40, 0xba, 0x82, 0xc5, 0x9d, 0x43, 0x40, 0x1c, 0x91, 0xd1, 0x74, - 0x52, 0x4d, 0x45, 0x55, 0x56, 0xc2, 0xc2, 0x55, 0x6c, 0xb4, 0xff, 0xf7, 0x7f, 0xfe, 0x5f, 0xc8, - 0x45, 0x9b, 0x44, 0xed, 0xaf, 0xde, 0xa8, 0x85, 0xf5, 0xbd, 0xe1, 0x7c, 0xca, 0x14, 0x4d, 0x94, - 0x5b, 0x16, 0x81, 0xde, 0x80, 0x22, 0xbd, 0x30, 0xb8, 0xfd, 0x74, 0x9c, 0xa5, 0x40, 0x6f, 0x73, - 0x3b, 0x65, 0x97, 0xb8, 0x7c, 0xd1, 0xb8, 0x3f, 0x49, 0x7d, 0x44, 0xfd, 0x02, 0x5a, 0x2e, 0xb7, - 0x87, 0xa8, 0xff, 0x88, 0xe5, 0xfb, 0x76, 0x9f, 0x74, 0x4c, 0xe0, 0xe2, 0x27, 0x47, 0xad, 0x7a, - 0xc1, 0xcb, 0x0c, 0x4a, 0xe6, 0x27, 0xfb, 0xb2, 0x79, 0xcb, 0x53, 0x0a, 0xb9, 0x0c, 0xd6, 0x2d, - 0x07, 0x47, 0x3a, 0x53, 0x69, 0x90, 0xb3, 0x86, 0x76, 0x12, 0x4b, 0x5f, 0xd8, 0xb7, 0x2d, 0xf8, - 0xf1, 0x3f, 0x63, 0x70, 0xb1, 0x45, 0x07, 0xce, 0xb2, 0xb3, 0x86, 0xc7, 0xaa, 0xf0, 0x00, 0xb2, - 0x20, 0x99, 0xc6, 0xb8, 0x7f, 0x7f, 0xbf, 0x1e, 0xf7, 0xf0, 0x7b, 0x0a, 0x74, 0x84, 0x05, 0xaf, - 0x88, 0xc5, 0xc6, 0xba, 0x0a, 0xb3, 0x62, 0x1d, 0x44, 0x2e, 0x3c, 0xa1, 0x48, 0x4c, 0x20, 0xf7, - 0x32, 0x4f, 0x65, 0x5b, 0x9f, 0xd1, 0xe6, 0x34, 0x3d, 0xaf, 0x8c, 0x14, 0xac, 0x43, 0x03, 0x1f, - 0x2b, 0xad, 0x9e, 0x90, 0x68, 0x75, 0xca, 0xe9, 0xc8, 0x11, 0x93, 0xc0, 0x86, 0x68, 0x9f, 0x6a, - 0xbb, 0x26, 0x4b, 0x8a, 0xb9, 0x8d, 0xa8, 0x71, 0x52, 0xa9, 0xd3, 0xd5, 0x72, 0xa3, 0x39, 0xfd, - 0xd7, 0xe6, 0x86, 0xf9, 0x32, 0x5c, 0x5d, 0x21, 0x1e, 0x80, 0x89, 0x2e, 0x66, 0x44, 0x6f, 0x92, - 0x0b, 0xc2, 0x7b, 0x2d, 0xaa, 0x8b, 0xa5, 0x2c, 0xd2, 0x73, 0xda, 0xf2, 0xfe, 0x11, 0x4d, 0x2f, - 0x5c, 0x77, 0x6b, 0xe6, 0x4d, 0x75, 0x98, 0x10, 0xe9, 0xe0, 0x4e, 0xb3, 0xe1, 0x3c, 0x4d, 0xae, - 0x59, 0x26, 0x39, 0x37, 0x78, 0x57, 0xf9, 0xe8, 0x48, 0x6c, 0x22, 0x01, 0x1c, 0x11, 0x50, 0x4e, - 0xb7, 0xf8, 0x8c, 0x8c, 0xa4, 0x71, 0xf4, 0xbc, 0x2d, 0xe5, 0xd9, 0x6d, 0x3c, 0x33, 0xd2, 0x4a, - 0x9f, 0x63, 0xf5, 0x0c, 0xe9, 0xcd, 0x6a, 0x5a, 0x13, 0xc6, 0x90, 0xf5, 0x43, 0x18, 0x23, 0xcd, - 0xb0, 0x6f, 0x0a, 0x63, 0x78, 0x3f, 0xce, 0xd4, 0x59, 0xa0, 0x40, 0x1c, 0xce, 0x4a, 0xbf, 0x63, - 0xc8, 0x98, 0x71, 0x34, 0x3f, 0x64, 0x75, 0x79, 0x9e, 0xb8, 0x73, 0x5f, 0xa0, 0x38, 0xac, 0x35, - 0xf6, 0x2c, 0x65, 0x38, 0x88, 0xad, 0xf1, 0x6f, 0xf1, 0xf1, 0x99, 0x87, 0xc5, 0xed, 0x96, 0x34, - 0x2f, 0xfb, 0xdb, 0x22, 0x07, 0xdb, 0x22, 0x0f, 0x31, 0x52, 0x3a, 0x45, 0x71, 0x5a, 0x52, 0x7d, - 0xd8, 0x52, 0xc2, 0x3f, 0xb7, 0xc4, 0xbd, 0x20, 0x58, 0x84, 0xd2, 0xd3, 0x4a, 0x4b, 0xb2, 0x5f, - 0x25, 0x8e, 0x10, 0xab, 0x3a, 0x38, 0xe1, 0xcc, 0xcd, 0x6b, 0xb4, 0xe7, 0xa9, 0xcd, 0x9e, 0x2c, - 0xb6, 0x2a, 0x48, 0xe3, 0x59, 0xa6, 0x41, 0xd4, 0x94, 0xe3, 0xe5, 0xcb, 0x8f, 0x8d, 0xe9, 0x2f, - 0xd9, 0xcd, 0x75, 0x2d, 0x3d, 0x43, 0x5f, 0x1c, 0x8d, 0xc9, 0x85, 0x17, 0xaa, 0x86, 0x0a, 0x68, - 0x1c, 0x99, 0x72, 0xcc, 0xd2, 0x54, 0x55, 0x5b, 0x6f, 0xb8, 0x5f, 0x9a, 0xad, 0x79, 0xf3, 0xbf, - 0x90, 0xf7, 0x6a, 0x4b, 0xde, 0xc6, 0x0c, 0x5f, 0xb6, 0x57, 0xb6, 0x65, 0x34, 0xb3, 0xe5, 0x74, - 0x6b, 0x5e, 0x86, 0x7e, 0x40, 0x1a, 0x73, 0xfe, 0x31, 0xcb, 0xf7, 0xaf, 0xb7, 0xe4, 0x23, 0x77, - 0x6f, 0xd5, 0x9c, 0x1a, 0x24, 0x40, 0x0d, 0x94, 0xb8, 0x72, 0x34, 0x55, 0xf7, 0xaf, 0x81, 0xcb, - 0x58, 0x72, 0xd1, 0xbd, 0xfa, 0x65, 0x7f, 0xc1, 0x71, 0x76, 0x39, 0x1f, 0x49, 0xf2, 0xcc, 0xcf, - 0x3f, 0x2b, 0x26, 0x13, 0xe3, 0xf4, 0x42, 0x4e, 0xd7, 0xbc, 0xae, 0x19, 0xc0, 0x39, 0x8f, 0x75, - 0xda, 0x41, 0x3b, 0xd0, 0xe1, 0xaa, 0x8d, 0xb6, 0x1f, 0xf9, 0xfc, 0x79, 0x53, 0x3c, 0x48, 0xbe, - 0x88, 0x56, 0xc4, 0x78, 0x60, 0x3f, 0x2e, 0x6d, 0xfb, 0xb9, 0x2e, 0x84, 0x61, 0xf1, 0xa3, 0xa8, - 0x9e, 0x91, 0x29, 0xc3, 0x77, 0xe4, 0x78, 0x5e, 0x23, 0xc3, 0x43, 0x4b, 0xe7, 0xdb, 0x62, 0xe8, - 0x87, 0x16, 0xaa, 0x35, 0x08, 0xa2, 0xb1, 0x89, 0x2f, 0x8b, 0xf6, 0xe5, 0x48, 0xea, 0xb1, 0x93, - 0x27, 0x6e, 0x62, 0xbe, 0x69, 0x2a, 0x34, 0x29, 0x1b, 0x0f, 0x76, 0x77, 0x13, 0x94, 0x29, 0x6d, - 0x49, 0x72, 0x88, 0x49, 0x06, 0xe7, 0xdb, 0x49, 0x63, 0xcb, 0x30, 0x65, 0x4d, 0x5c, 0xbb, 0x4f, - 0x7c, 0x2d, 0xc9, 0xdc, 0xc5, 0x94, 0xb8, 0x0a, 0x1f, 0x10, 0x41, 0xd4, 0x6f, 0x0f, 0x1d, 0xb5, - 0x51, 0x92, 0xa2, 0x1e, 0x3e, 0xc8, 0xb7, 0xac, 0xb1, 0xc5, 0x8d, 0xbe, 0xbc, 0xaa, 0x74, 0x29, - 0x42, 0x3c, 0x14, 0xb5, 0x75, 0x96, 0xd7, 0x8a, 0x34, 0xd6, 0x99, 0x58, 0x9c, 0x5b, 0x16, 0x9a, - 0x82, 0x06, 0x9e, 0x26, 0x70, 0xc3, 0xae, 0x38, 0x80, 0x93, 0x82, 0x1a, 0xf8, 0x13, 0xc4, 0x73, - 0x04, 0x04, 0xd3, 0x16, 0xba, 0x03, 0xa1, 0x3d, 0x48, 0x74, 0x7e, 0x1a, 0x64, 0xd0, 0x6b, 0x42, - 0x94, 0x2f, 0x4b, 0x41, 0x1e, 0x4a, 0x5d, 0x6e, 0x23, 0xc4, 0x35, 0x06, 0xc4, 0x75, 0xc5, 0xff, - 0x19, 0x67, 0x25, 0x26, 0xa9, 0x46, 0xba, 0xc3, 0x0f, 0x4d, 0x9a, 0x3c, 0x42, 0x91, 0x0c, 0x89, - 0x6c, 0x81, 0xe4, 0x14, 0x3e, 0x46, 0xef, 0xef, 0xfb, 0xea, 0x3b, 0x44, 0xec, 0xe4, 0x9f, 0x0f, - 0xcf, 0xef, 0xef, 0xf1, 0x6f, 0x49, 0xb6, 0xf7, 0x48, 0xf4, 0x7d, 0x7f, 0xcf, 0xb5, 0x4f, 0x30, - 0x8e, 0xff, 0x2d, 0x53, 0xc0, 0x6d, 0x3b, 0xf6, 0x7b, 0xd5, 0xd0, 0x3e, 0x11, 0xfb, 0x2d, 0x2b, - 0x67, 0xc8, 0x5a, 0x57, 0x25, 0x10, 0x57, 0x72, 0xf3, 0x47, 0x8f, 0xdb, 0x87, 0x7c, 0x24, 0x62, - 0x28, 0x87, 0x54, 0xd9, 0x9d, 0x83, 0xcf, 0xff, 0xe7, 0xef, 0x37, 0x88, 0x3d, 0x72, 0xf3, 0xfd, - 0x9b, 0xf3, 0x83, 0xa5, 0x67, 0xe3, 0x3a, 0x68, 0xd8, 0xab, 0x8b, 0x9b, 0xda, 0x4e, 0xe5, 0x33, - 0x33, 0x24, 0xc4, 0x0f, 0x81, 0xfb, 0x50, 0xd1, 0xcd, 0xa9, 0xa3, 0x91, 0xcf, 0xc3, 0xab, 0xcf, - 0x55, 0xbb, 0xbc, 0xf3, 0x3d, 0x57, 0xd3, 0x11, 0xa1, 0xad, 0x15, 0xb8, 0x71, 0xfd, 0x2d, 0xd4, - 0x3e, 0x0c, 0xc3, 0x96, 0x91, 0x1b, 0x7d, 0x4d, 0x8b, 0xa4, 0x6d, 0xda, 0x83, 0xcd, 0xf9, 0x5f, - 0xff, 0x37, 0x36, 0x67, 0x77, 0xd7, 0x08, 0xfb, 0x7f, 0xfe, 0xe4, 0x0c, 0x6a, 0xd4, 0xb1, 0xb8, - 0xce, 0x3e, 0x20, 0xd0, 0x26, 0xe7, 0x81, 0xf3, 0xdb, 0x12, 0x7f, 0x37, 0xc0, 0xbc, 0x48, 0x34, - 0x16, 0x52, 0x93, 0x01, 0x6a, 0x08, 0x4f, 0x1e, 0x61, 0x96, 0x04, 0x2d, 0xb1, 0x29, 0x21, 0xb2, - 0x0d, 0x3f, 0x39, 0xbd, 0xf4, 0xc6, 0x25, 0x30, 0x08, 0x15, 0xd2, 0xef, 0xf5, 0xfe, 0xe1, 0xda, - 0xea, 0x4c, 0x88, 0xc2, 0x74, 0x42, 0x7f, 0xd1, 0x3e, 0x55, 0x69, 0x47, 0xa0, 0xa6, 0x57, 0x0e, - 0xaf, 0x21, 0x34, 0xf1, 0x81, 0x49, 0xce, 0x85, 0xf2, 0x52, 0x64, 0xda, 0xf7, 0x5f, 0x90, 0x6b, - 0x8d, 0x30, 0xb7, 0x32, 0x06, 0xef, 0x30, 0x42, 0x11, 0xc5, 0x56, 0x20, 0x26, 0x6b, 0x37, 0x5a, - 0x6d, 0x48, 0x12, 0x84, 0x22, 0x10, 0xc1, 0x80, 0xa5, 0xde, 0xa0, 0x85, 0x72, 0x03, 0x39, 0xc5, - 0xfb, 0x43, 0x9d, 0xa9, 0xdc, 0xe1, 0x1a, 0xce, 0xed, 0x2a, 0x3d, 0x55, 0x5e, 0x94, 0x15, 0x39, - 0xc8, 0x1d, 0xaf, 0xc2, 0xbe, 0x23, 0xd5, 0x81, 0xd8, 0xd5, 0x7d, 0x45, 0x13, 0x80, 0x36, 0xca, - 0xe5, 0xc7, 0xa5, 0x3a, 0x13, 0x41, 0x5e, 0xf1, 0x09, 0x86, 0xfe, 0x53, 0x1e, 0xd3, 0x64, 0x09, - 0x5e, 0xe9, 0x45, 0x43, 0xf0, 0xe8, 0xc6, 0xcf, 0xc7, 0x47, 0xdf, 0xc3, 0xf6, 0x3d, 0x39, 0x7e, - 0x0a, 0x9b, 0x7f, 0xfc, 0xe4, 0x08, 0xbf, 0x3f, 0xeb, 0xe3, 0xf7, 0x67, 0x4f, 0xf0, 0x7b, 0x7f, - 0x70, 0x88, 0x3f, 0x06, 0xc7, 0xc7, 0x13, 0xdb, 0x87, 0xf6, 0x8f, 0x6d, 0xef, 0xd6, 0x8f, 0x28, - 0x53, 0x44, 0x99, 0x22, 0xca, 0x14, 0x51, 0xa6, 0x88, 0x32, 0x45, 0x3c, 0x53, 0xa4, 0x67, 0x12, - 0xd8, 0x97, 0x8e, 0x43, 0xad, 0x93, 0xa0, 0xc6, 0x13, 0xfb, 0xc4, 0x1e, 0xde, 0xb8, 0x1d, 0xd1, - 0xcd, 0x8a, 0x7c, 0x83, 0xa4, 0xb6, 0x66, 0xda, 0x5b, 0xb7, 0xc3, 0xfb, 0xc1, 0xc1, 0x29, 0x7b, - 0xde, 0x5d, 0xcc, 0x55, 0x5c, 0xc8, 0xc1, 0x74, 0x39, 0xac, 0xab, 0xe0, 0x0b, 0xfb, 0xf5, 0xcc, - 0xa1, 0x51, 0xbd, 0xce, 0xa1, 0x2d, 0x12, 0x41, 0xe7, 0x3a, 0x3f, 0xe9, 0xe9, 0x6c, 0x62, 0x86, - 0x10, 0xbe, 0x13, 0xc5, 0x1a, 0xbf, 0x46, 0xf0, 0x1d, 0x79, 0x96, 0x90, 0xeb, 0x11, 0xdb, 0xb3, - 0xaf, 0x09, 0x06, 0xfc, 0x1a, 0x7d, 0x12, 0xd9, 0x9d, 0x8a, 0xd7, 0x97, 0xd2, 0xeb, 0x09, 0x65, - 0x1e, 0x41, 0x6d, 0x04, 0x07, 0xfa, 0x2b, 0x9b, 0x9e, 0xc1, 0x84, 0x93, 0xbb, 0x6c, 0xb7, 0x3b, - 0x0d, 0xe3, 0x20, 0xbb, 0xfd, 0x48, 0xe2, 0x3a, 0xf2, 0x93, 0x31, 0x5d, 0xc3, 0x61, 0x93, 0xd9, - 0xde, 0x75, 0xde, 0x45, 0x6c, 0x8a, 0x3c, 0x47, 0xd6, 0x2b, 0x9e, 0xec, 0xc8, 0x8e, 0x14, 0x2e, - 0x1c, 0x95, 0x20, 0x00, 0x76, 0x2c, 0x49, 0x99, 0x5f, 0x50, 0x26, 0xe5, 0x72, 0x47, 0x83, 0x6a, - 0xe3, 0x19, 0x5c, 0x2e, 0x30, 0x27, 0x04, 0x0e, 0xf7, 0xce, 0xc0, 0x7d, 0xd7, 0x20, 0xf8, 0x5c, - 0x4f, 0xfb, 0xc1, 0x5d, 0x02, 0x69, 0x8e, 0xa3, 0xa5, 0xd3, 0x23, 0xaf, 0xca, 0xba, 0x97, 0x7e, - 0x1a, 0x1e, 0x0b, 0xe9, 0x1f, 0xa9, 0xfd, 0x08, 0x77, 0x0f, 0x2a, 0x84, 0xe4, 0x13, 0xa7, 0x84, - 0xa2, 0x82, 0xcd, 0xc7, 0xdd, 0x68, 0xef, 0xee, 0x1a, 0x90, 0x40, 0xb9, 0xeb, 0x0e, 0x35, 0x20, - 0x0b, 0x49, 0x4c, 0x12, 0xd6, 0xee, 0x44, 0x7c, 0x0e, 0x8b, 0x91, 0x71, 0xb4, 0xe4, 0x5e, 0x84, - 0x30, 0x87, 0xc1, 0xfc, 0x8c, 0xf0, 0x9d, 0x22, 0x38, 0x83, 0x36, 0x7c, 0x60, 0x67, 0x51, 0x92, - 0xf3, 0x61, 0xfd, 0x6a, 0x77, 0x04, 0xdc, 0xf5, 0x73, 0xa7, 0x73, 0x72, 0x6c, 0xe0, 0x86, 0xf2, - 0x75, 0xe5, 0xf5, 0x11, 0x0f, 0xd1, 0xbb, 0xe6, 0x1e, 0x95, 0x44, 0x65, 0x08, 0x1c, 0x4b, 0x75, - 0x49, 0xa7, 0xd1, 0x19, 0xfb, 0x23, 0x7f, 0xc7, 0x96, 0x41, 0x04, 0xf4, 0xca, 0x46, 0xd7, 0xd8, - 0x90, 0x2d, 0x95, 0xfe, 0x12, 0x70, 0xd6, 0xa4, 0xec, 0x82, 0x2b, 0x17, 0xb0, 0x6e, 0xbe, 0x9e, - 0xcd, 0x60, 0x59, 0xc8, 0xd0, 0xde, 0x88, 0x9c, 0x91, 0xa3, 0x4a, 0xba, 0x57, 0x7d, 0x6b, 0x0b, - 0x66, 0x2c, 0x43, 0xd8, 0x05, 0xf2, 0x55, 0xce, 0xba, 0x31, 0x42, 0x4d, 0x08, 0x3f, 0xe3, 0xf4, - 0x6b, 0xbe, 0xce, 0x84, 0xb7, 0x71, 0xfa, 0x59, 0xf0, 0xa4, 0x6f, 0x02, 0xf4, 0x10, 0x81, 0x01, - 0x0b, 0xf8, 0x56, 0xfa, 0x30, 0x67, 0xdd, 0xf5, 0x3c, 0x8d, 0x09, 0x82, 0xb6, 0xe2, 0x65, 0x1c, - 0x9e, 0x5c, 0x11, 0xdd, 0x0b, 0x69, 0x3e, 0xc4, 0xef, 0xe8, 0x04, 0x5c, 0x1c, 0xe2, 0x21, 0xf6, - 0x8e, 0x37, 0xae, 0x28, 0x54, 0xab, 0x8a, 0xec, 0xa0, 0xdf, 0xf3, 0x1a, 0xc0, 0x4b, 0xc4, 0xe2, - 0xe8, 0xc1, 0xc9, 0xd4, 0x13, 0xbe, 0x57, 0xd5, 0x1b, 0xd7, 0x2f, 0x7d, 0xa5, 0x2b, 0x87, 0xe8, - 0x15, 0x75, 0x42, 0xa7, 0x44, 0x2d, 0xd1, 0x15, 0x0b, 0x61, 0xec, 0x7a, 0xc4, 0xcb, 0xa3, 0xe8, - 0xcf, 0xc5, 0x39, 0xba, 0x96, 0x2a, 0x6d, 0x8f, 0xe9, 0x06, 0x40, 0x96, 0x65, 0x9f, 0xa3, 0x87, - 0x53, 0x0a, 0x20, 0xc0, 0x80, 0x6e, 0x3a, 0xe1, 0xd7, 0x03, 0xc2, 0x7f, 0xf9, 0x03, 0x49, 0x83, - 0xe8, 0xce, 0x2e, 0x89, 0x75, 0x3b, 0xfb, 0xac, 0x15, 0x7c, 0x2e, 0xda, 0x7d, 0xef, 0xef, 0xec, - 0x38, 0xfd, 0xdd, 0xb8, 0x7c, 0xfb, 0x53, 0xc8, 0x40, 0x84, 0x40, 0x4f, 0xe8, 0xf7, 0xd1, 0xae, - 0xc2, 0x42, 0x71, 0xca, 0xca, 0x8b, 0x24, 0xdd, 0xd7, 0x7e, 0x05, 0x59, 0xe1, 0x7e, 0x67, 0x46, - 0x7f, 0x9a, 0x98, 0x3f, 0x2b, 0xc9, 0x3f, 0x0d, 0xfb, 0x40, 0xe2, 0x88, 0x61, 0x12, 0x9f, 0x27, - 0xc1, 0x24, 0x18, 0x8a, 0xef, 0x4a, 0x9e, 0x83, 0x99, 0x72, 0x12, 0x6f, 0x21, 0xbb, 0x13, 0xb5, - 0x14, 0x9b, 0xfa, 0x17, 0x68, 0x1d, 0xab, 0xf5, 0xab, 0xd2, 0x2d, 0xd9, 0xab, 0x0d, 0xae, 0xe0, - 0x40, 0xde, 0x52, 0x9a, 0xc8, 0xf0, 0x7d, 0x62, 0xc9, 0x29, 0x17, 0x52, 0xc2, 0x92, 0x65, 0x06, - 0x3f, 0x09, 0xcc, 0x7d, 0xa9, 0xdd, 0xcf, 0x4d, 0x7a, 0x4b, 0x5d, 0x58, 0x3c, 0x76, 0xd5, 0xc3, - 0x4b, 0x2b, 0xf9, 0x21, 0xf1, 0xb4, 0xb4, 0x27, 0x56, 0xbd, 0x48, 0x01, 0x9a, 0xed, 0x6a, 0xfa, - 0x3f, 0x89, 0x68, 0xc5, 0x7e, 0x7f, 0xc4, 0xc6, 0xa8, 0x0d, 0xb4, 0xbf, 0x0f, 0xcf, 0x30, 0x5d, - 0x3f, 0xc6, 0x0f, 0x90, 0x4b, 0x03, 0x41, 0xe4, 0x35, 0xce, 0xd0, 0x8f, 0x29, 0xa3, 0xfa, 0x95, - 0xa8, 0x69, 0x19, 0x35, 0x38, 0xf7, 0x1c, 0xb5, 0x3e, 0xee, 0x77, 0x6a, 0x9e, 0x79, 0x91, 0xa7, - 0x6b, 0xe4, 0xbd, 0x2e, 0xf3, 0xa2, 0x9b, 0x39, 0xe1, 0xfd, 0x38, 0x21, 0xd8, 0x7e, 0xd2, 0x60, - 0x57, 0x5e, 0x8f, 0x66, 0xb8, 0x84, 0x05, 0xcb, 0x1a, 0xf2, 0xcc, 0xe0, 0xb5, 0x44, 0x1f, 0x44, - 0x99, 0xeb, 0xac, 0xa7, 0xe7, 0x6a, 0x5f, 0x52, 0xbc, 0xeb, 0xd5, 0x39, 0x73, 0x2a, 0x3e, 0xbf, - 0xf1, 0x9a, 0xf9, 0x72, 0x2a, 0x45, 0x68, 0xa4, 0x40, 0xae, 0x5c, 0x59, 0x78, 0x7f, 0x82, 0x7f, - 0x86, 0x3d, 0xaf, 0xc2, 0x9a, 0x2b, 0x53, 0x0c, 0x30, 0xc5, 0xa0, 0x92, 0xe2, 0x50, 0x4f, 0x71, - 0x88, 0x29, 0x0e, 0x65, 0x0a, 0x7a, 0xfc, 0xfd, 0xd4, 0xd7, 0x75, 0xf9, 0x77, 0x82, 0x6e, 0xd2, - 0xd7, 0x63, 0x07, 0xd5, 0xd8, 0x81, 0x1e, 0x7b, 0x58, 0x8d, 0x3d, 0x84, 0x43, 0x80, 0xe0, 0xc1, - 0x09, 0xf0, 0x51, 0x7c, 0xe7, 0xd7, 0x6b, 0x88, 0x8a, 0x97, 0x52, 0x65, 0x45, 0x46, 0x70, 0xdd, - 0x91, 0x1e, 0xe2, 0x03, 0x95, 0xc2, 0xf0, 0x15, 0x4a, 0xaf, 0xac, 0x85, 0x42, 0xaf, 0xda, 0x31, - 0xc0, 0x84, 0xfa, 0x84, 0x42, 0x84, 0x40, 0x75, 0x2c, 0x4e, 0xd6, 0xcb, 0x4b, 0x2b, 0x4f, 0x81, - 0xb4, 0x40, 0x8c, 0xf7, 0x1c, 0x11, 0xf5, 0x39, 0xdc, 0x63, 0x25, 0x0b, 0x81, 0x13, 0x09, 0x8f, - 0x13, 0x58, 0x83, 0x50, 0x1d, 0x30, 0xd2, 0x10, 0x48, 0xd1, 0x8f, 0x61, 0x9e, 0x23, 0x81, 0x1a, - 0x66, 0xdc, 0xbf, 0x96, 0x99, 0xe4, 0x19, 0x26, 0x79, 0xae, 0xb5, 0xcc, 0xa2, 0x6e, 0x58, 0xb0, - 0xe0, 0xac, 0x64, 0x06, 0xe7, 0x3a, 0x6a, 0x2d, 0x6c, 0xb4, 0xdd, 0x4a, 0xb7, 0x3d, 0x41, 0x63, - 0x51, 0xc2, 0x8e, 0x8d, 0x6f, 0xa1, 0x90, 0xa4, 0xef, 0x72, 0x6b, 0x97, 0xfc, 0x24, 0x98, 0xa0, - 0x34, 0x88, 0xbc, 0xf2, 0xf5, 0x0a, 0x01, 0x8b, 0x1b, 0xaf, 0xa2, 0x8f, 0x68, 0xee, 0x77, 0xc3, - 0x95, 0x77, 0xed, 0x21, 0x2c, 0x84, 0xb1, 0x8f, 0xd5, 0xb2, 0x36, 0xa5, 0xb4, 0x55, 0x6d, 0x6b, - 0x2f, 0x2f, 0x83, 0x48, 0xe5, 0x06, 0x7d, 0xc1, 0x7c, 0x3e, 0x1f, 0xe6, 0xba, 0x8e, 0x35, 0xe9, - 0x69, 0x47, 0x22, 0x07, 0xd7, 0x7d, 0x8e, 0xd0, 0x27, 0x1d, 0xa4, 0xc3, 0x4f, 0x4d, 0xc7, 0xda, - 0x0b, 0x54, 0xba, 0x93, 0x81, 0x4c, 0xd9, 0x17, 0x29, 0xfb, 0x46, 0xca, 0xa4, 0x4c, 0x79, 0x28, - 0x53, 0x0e, 0x44, 0x4a, 0x53, 0x6f, 0x1b, 0x7a, 0xdb, 0xa8, 0xa8, 0xc9, 0xf7, 0x42, 0x2e, 0x31, - 0xc4, 0x04, 0x6f, 0x51, 0x1e, 0x80, 0x44, 0xef, 0x08, 0x1e, 0x40, 0xe0, 0xe7, 0x28, 0x1d, 0xd7, - 0x54, 0x0c, 0x84, 0x0b, 0x3b, 0x28, 0x7d, 0xa7, 0x40, 0x4a, 0xdc, 0x61, 0x40, 0x8c, 0x3f, 0x9d, - 0x0c, 0x86, 0xb1, 0x60, 0x12, 0xc2, 0x6b, 0x3e, 0x96, 0x83, 0x18, 0x71, 0x7d, 0xf1, 0xf8, 0x73, - 0x74, 0x3e, 0x71, 0x8c, 0xd0, 0x1d, 0x11, 0x4c, 0x7a, 0xdf, 0xf8, 0x05, 0xae, 0x45, 0xbc, 0x21, - 0x21, 0x02, 0xf1, 0xb8, 0x64, 0x4c, 0x8f, 0x1c, 0xe6, 0xf0, 0x99, 0x84, 0x95, 0xcd, 0xc8, 0x56, - 0x4c, 0xfc, 0x0c, 0xcb, 0x13, 0x03, 0xd9, 0x2c, 0x8d, 0xad, 0xf4, 0x02, 0x52, 0x0c, 0x24, 0x51, - 0xbf, 0xc4, 0xed, 0x6c, 0xe5, 0x0d, 0x0c, 0xdb, 0x53, 0xea, 0x7c, 0x29, 0x98, 0x56, 0xd9, 0x93, - 0x63, 0xf1, 0xe4, 0x5c, 0xdc, 0x24, 0x69, 0xb3, 0x81, 0x14, 0xd2, 0x3d, 0x28, 0x04, 0xde, 0x3a, - 0x0d, 0x09, 0x69, 0xe5, 0x69, 0x33, 0xc0, 0x75, 0xb2, 0x04, 0xaf, 0x85, 0xb5, 0xce, 0xc0, 0x71, - 0xa7, 0x38, 0x89, 0x95, 0x8e, 0x2a, 0x69, 0xe6, 0xc7, 0x9f, 0x21, 0x50, 0x1f, 0x6c, 0xf8, 0xa9, - 0x86, 0x1b, 0xa3, 0x88, 0x08, 0xe1, 0x5f, 0x85, 0x83, 0x93, 0xa6, 0x61, 0xcb, 0x31, 0xae, 0x7d, - 0xa0, 0xda, 0x58, 0x76, 0xba, 0xc9, 0x47, 0x7d, 0x4c, 0x28, 0x25, 0x1f, 0x90, 0x12, 0x9f, 0x3b, - 0xe4, 0x6f, 0x28, 0x9d, 0x85, 0x62, 0x3e, 0x9f, 0x4a, 0x29, 0x67, 0x55, 0x4f, 0x46, 0x3b, 0xd7, - 0x73, 0x74, 0x86, 0xc2, 0x41, 0x27, 0x5d, 0x34, 0x66, 0x39, 0x1e, 0x49, 0x1d, 0xef, 0x0a, 0x93, - 0xe7, 0x1b, 0xce, 0x2e, 0xb4, 0x74, 0x36, 0x1e, 0xe7, 0xfd, 0x19, 0x7c, 0x3a, 0x78, 0x6d, 0xa1, - 0x67, 0xf4, 0x0d, 0xb4, 0x0e, 0xef, 0x45, 0xbc, 0x9c, 0x32, 0xb8, 0x36, 0x9c, 0xd0, 0xfb, 0xfe, - 0x58, 0xf0, 0x06, 0x33, 0x54, 0xb3, 0x9b, 0xe1, 0x9f, 0x14, 0x88, 0xcc, 0xa5, 0x8f, 0x77, 0xe4, - 0xa8, 0x71, 0x9e, 0x81, 0x4a, 0xb0, 0x24, 0x45, 0xa0, 0xcf, 0x71, 0xee, 0x2a, 0x27, 0xad, 0x8a, - 0x9a, 0xe8, 0xe4, 0xb4, 0x6d, 0xd5, 0x31, 0x94, 0xf3, 0x79, 0x0d, 0x80, 0xb0, 0xa2, 0x71, 0x6a, - 0x97, 0x6f, 0x7b, 0x91, 0xc1, 0x57, 0x85, 0x36, 0xd1, 0xac, 0xf3, 0x9c, 0x9c, 0xdc, 0xc4, 0xef, - 0x40, 0xf8, 0x4f, 0xf3, 0x22, 0x73, 0x7a, 0x08, 0xbe, 0x11, 0x69, 0x7c, 0x09, 0x20, 0xe7, 0x79, - 0x6a, 0xd4, 0xb4, 0xed, 0xf8, 0x33, 0x54, 0xb6, 0xf4, 0xed, 0x0e, 0x86, 0x60, 0x37, 0xd1, 0xcd, - 0x14, 0x9f, 0x5d, 0x3d, 0x53, 0x8f, 0x3c, 0x60, 0xbd, 0xb9, 0x21, 0x09, 0x37, 0x7c, 0x7b, 0xb1, - 0x84, 0xfd, 0xf9, 0x12, 0x9e, 0xa9, 0xe9, 0xee, 0xee, 0x72, 0xc7, 0x87, 0x87, 0xb1, 0x46, 0x45, - 0xc0, 0xa2, 0x4a, 0x51, 0xdd, 0x0d, 0x0b, 0x29, 0x26, 0x4e, 0x8b, 0x3c, 0xbe, 0xda, 0x8f, 0xbe, - 0xa7, 0x57, 0x68, 0xdb, 0x1d, 0x27, 0xef, 0xf4, 0x61, 0x0d, 0x7e, 0xd5, 0x50, 0x34, 0x15, 0xe1, - 0xb5, 0xb7, 0x11, 0x37, 0xb9, 0x9c, 0x92, 0x77, 0x35, 0xc0, 0xe2, 0xcc, 0xa3, 0xad, 0x96, 0x4d, - 0xaa, 0x49, 0xb6, 0x2b, 0xdc, 0x37, 0x26, 0xd4, 0x99, 0x6f, 0x38, 0x49, 0x6b, 0x25, 0x39, 0x41, - 0x8f, 0x68, 0x8b, 0x52, 0x8e, 0x02, 0xbf, 0x2e, 0x91, 0x2a, 0x80, 0x77, 0xa4, 0x25, 0xc5, 0x25, - 0xb8, 0x52, 0x94, 0xac, 0x11, 0x9d, 0xf2, 0x25, 0x15, 0x43, 0x9d, 0x84, 0xec, 0x74, 0xb8, 0x7c, - 0x1f, 0xbf, 0xbb, 0x1c, 0xe6, 0x7c, 0x5d, 0xe1, 0x24, 0x99, 0x42, 0x5b, 0x4f, 0x2f, 0x85, 0x24, - 0x05, 0x8a, 0x6d, 0xe7, 0xdb, 0xae, 0x14, 0x8e, 0xaf, 0xfc, 0x5a, 0xd4, 0x88, 0x94, 0x0b, 0xe0, - 0x45, 0x00, 0x8b, 0x8b, 0x7f, 0x0d, 0x63, 0xb4, 0x58, 0xf0, 0xd4, 0x16, 0xa6, 0x2c, 0x62, 0x01, - 0xae, 0x70, 0x16, 0x5d, 0x77, 0x84, 0x61, 0xbe, 0x16, 0x01, 0xf4, 0x06, 0xe4, 0x5f, 0xb9, 0x1b, - 0xa3, 0x33, 0x3b, 0xaa, 0x37, 0xce, 0x25, 0x7d, 0x11, 0x8b, 0xf1, 0x12, 0xd5, 0x0f, 0x90, 0x86, - 0x41, 0xa3, 0x53, 0xdb, 0xab, 0xf5, 0x8c, 0x4b, 0xb4, 0xec, 0x57, 0x6f, 0x9f, 0xbf, 0xfb, 0xe9, - 0x9f, 0x70, 0xb5, 0x68, 0xa3, 0xdb, 0xc5, 0xd7, 0x89, 0x38, 0xea, 0xc9, 0xbe, 0xa3, 0x5b, 0x70, - 0xd5, 0x2f, 0x61, 0x9e, 0xd8, 0x96, 0x8a, 0x1e, 0xfd, 0x68, 0x7e, 0xa6, 0x2d, 0x89, 0xbd, 0x1a, - 0x38, 0x23, 0x8b, 0x84, 0x1d, 0xba, 0x0e, 0x20, 0xf3, 0x03, 0xbb, 0x71, 0x24, 0x76, 0xcc, 0xf4, - 0x90, 0xb4, 0x5b, 0xad, 0xbd, 0xce, 0x25, 0xbd, 0xa0, 0xb4, 0xd7, 0x7c, 0x7f, 0xa4, 0x3d, 0xe6, - 0x4b, 0x4b, 0x43, 0xcd, 0xeb, 0xca, 0xd7, 0xb1, 0x1b, 0x6e, 0x5d, 0x78, 0x1b, 0xc1, 0x9b, 0x40, - 0x55, 0xe1, 0xde, 0x69, 0x2c, 0x9a, 0xfb, 0x7b, 0x9d, 0x7b, 0x53, 0x73, 0xd8, 0x77, 0x0d, 0x47, - 0xd0, 0x75, 0x2e, 0x7b, 0x2d, 0x79, 0x12, 0x5e, 0xd5, 0x91, 0xc4, 0xc6, 0x3b, 0x64, 0x87, 0x42, - 0xee, 0x2c, 0xb8, 0x3e, 0xb9, 0x2f, 0xf2, 0x22, 0x47, 0xe2, 0x96, 0x58, 0x12, 0x70, 0xb7, 0x2b, - 0xc6, 0x55, 0xf7, 0xa7, 0xd3, 0xd7, 0xef, 0x81, 0x74, 0x62, 0x13, 0x3b, 0x4d, 0x72, 0x44, 0xc3, - 0x40, 0x0d, 0x51, 0xe2, 0x4e, 0xa0, 0xc6, 0xde, 0x15, 0x3a, 0x8b, 0xe0, 0xc0, 0xb4, 0xba, 0x57, - 0x3e, 0xe4, 0x1d, 0x75, 0xe3, 0xe4, 0xda, 0x71, 0x0f, 0x10, 0x7e, 0x59, 0x3c, 0xa4, 0x15, 0x57, - 0x00, 0xb3, 0x93, 0xa6, 0x54, 0x38, 0x07, 0xca, 0x80, 0x7f, 0x91, 0x9e, 0x70, 0x75, 0x3e, 0x82, - 0x74, 0xdd, 0xad, 0x96, 0x66, 0xbf, 0xf7, 0x9d, 0xd4, 0xb0, 0x1a, 0x05, 0x3b, 0x7e, 0x91, 0x91, - 0x15, 0x4a, 0x99, 0xc1, 0x0f, 0xdc, 0x8d, 0x23, 0x78, 0x62, 0x25, 0xc2, 0x3a, 0xd3, 0x7c, 0x70, - 0x1d, 0x1e, 0xf5, 0xe8, 0x72, 0x45, 0x97, 0x97, 0x85, 0xba, 0x7e, 0xd1, 0x2b, 0x9f, 0x7c, 0x06, - 0xc3, 0x3a, 0x2e, 0xd1, 0x73, 0xd4, 0xdb, 0x18, 0x41, 0x74, 0x64, 0xc6, 0x4d, 0x3e, 0xb9, 0xce, - 0xb9, 0x6b, 0x1e, 0x98, 0x97, 0xbd, 0x3b, 0xfb, 0xca, 0x1e, 0x22, 0x26, 0xf1, 0x66, 0xcf, 0x1d, - 0x36, 0x29, 0xd9, 0xe6, 0xa1, 0xa6, 0x61, 0x1b, 0x79, 0xe8, 0x0c, 0x1b, 0x2e, 0xc3, 0xe1, 0x1d, - 0x3a, 0x82, 0x44, 0x25, 0xfb, 0x7d, 0x54, 0x45, 0xb6, 0xeb, 0xce, 0x82, 0x46, 0x16, 0xb2, 0x69, - 0x91, 0xe1, 0xf2, 0xf3, 0xc7, 0x37, 0xfb, 0x4f, 0xed, 0x8d, 0x37, 0x4d, 0xe6, 0xb7, 0xc3, 0x42, - 0xd7, 0xcf, 0xfd, 0x0a, 0xfe, 0xde, 0x57, 0xf8, 0x16, 0xc1, 0x3b, 0xec, 0x11, 0xdc, 0x40, 0x5c, - 0x4c, 0x5f, 0xc9, 0x10, 0x5c, 0xc2, 0x2a, 0x17, 0x24, 0x7e, 0xc9, 0xde, 0x22, 0xe7, 0x13, 0xc4, - 0x1f, 0x2c, 0xc1, 0x71, 0x89, 0xf3, 0x57, 0xb2, 0x0a, 0x8b, 0x06, 0x67, 0x38, 0x45, 0x0b, 0xfb, - 0xb0, 0xa8, 0x1a, 0x57, 0x8b, 0x5f, 0xb7, 0xe4, 0x8d, 0x44, 0xe3, 0xbc, 0x09, 0x8e, 0xa2, 0xf8, - 0x1c, 0x32, 0x01, 0xe2, 0x4f, 0x46, 0x93, 0xdc, 0x66, 0x8d, 0x83, 0xf3, 0xe3, 0xe5, 0xd3, 0xe0, - 0x70, 0x57, 0x38, 0xcf, 0x10, 0x1b, 0x90, 0xb3, 0xfb, 0x1e, 0xde, 0x4c, 0xf7, 0xf7, 0x92, 0x2d, - 0x8d, 0x9e, 0x74, 0x07, 0xc7, 0xae, 0xc1, 0x22, 0x2c, 0x3d, 0xb5, 0x08, 0x70, 0x7f, 0xed, 0x61, - 0x86, 0x2d, 0xb2, 0xa4, 0xfb, 0x2b, 0x5b, 0xf8, 0x5e, 0x79, 0x9c, 0xa7, 0x1b, 0xed, 0x84, 0x6a, - 0xf3, 0xe2, 0xb2, 0xa9, 0x6a, 0xe6, 0x92, 0x06, 0x93, 0x12, 0xe3, 0xde, 0x25, 0xf1, 0x90, 0xb8, - 0x8f, 0xe8, 0x7e, 0x23, 0xde, 0x10, 0x27, 0x52, 0xdf, 0x34, 0x25, 0x17, 0x89, 0xe4, 0x1d, 0xc6, - 0xcf, 0x9c, 0x2d, 0x39, 0x13, 0x82, 0x4b, 0x43, 0x90, 0xa3, 0x47, 0x3c, 0x1f, 0x74, 0x3d, 0xc3, - 0x39, 0x52, 0x3d, 0x6e, 0x08, 0x5c, 0xcd, 0xe5, 0x2d, 0xb2, 0x7f, 0x0d, 0xd1, 0x6b, 0x4d, 0xe9, - 0x6c, 0x23, 0x89, 0xf1, 0xaa, 0xe1, 0xb5, 0x43, 0xb7, 0xef, 0xd2, 0x7c, 0xa8, 0xc5, 0x19, 0x29, - 0x17, 0x0b, 0x4c, 0xba, 0xd3, 0x92, 0x76, 0xb1, 0x20, 0x17, 0xc6, 0xda, 0xc9, 0x5d, 0xd3, 0x4d, - 0x7e, 0x1f, 0x19, 0xee, 0xc7, 0x1c, 0x64, 0xab, 0xee, 0xc0, 0x1f, 0x77, 0x72, 0x81, 0x03, 0x0b, - 0x47, 0x13, 0x47, 0x08, 0xb1, 0x3e, 0xa1, 0x7b, 0x3b, 0xee, 0xc8, 0x95, 0x7c, 0xcc, 0xd1, 0x33, - 0xf9, 0xdb, 0x3b, 0xe2, 0xb5, 0x8e, 0x7b, 0x1a, 0x0c, 0xf9, 0x86, 0x42, 0xd1, 0x41, 0x2f, 0x04, - 0xa2, 0x04, 0x0c, 0x76, 0xfd, 0x02, 0xc8, 0x56, 0x11, 0xf1, 0x6a, 0x9d, 0x6d, 0x10, 0xc3, 0x85, - 0x94, 0xc2, 0x2f, 0x86, 0x36, 0xaf, 0x65, 0xce, 0x91, 0x48, 0x10, 0x7f, 0xbb, 0x6b, 0x9b, 0x6d, - 0x86, 0x3c, 0x43, 0x9c, 0x19, 0x68, 0xd4, 0x66, 0x53, 0x6b, 0x3f, 0xea, 0x8a, 0x99, 0x3d, 0x50, - 0xcc, 0xdd, 0x1d, 0xf9, 0xcd, 0x9d, 0xd8, 0x3f, 0x91, 0x91, 0x02, 0x35, 0x9f, 0xdc, 0x75, 0xa3, - 0x9f, 0xbb, 0x98, 0x15, 0xd7, 0x49, 0xf6, 0x85, 0x77, 0x07, 0x4e, 0x72, 0x0b, 0xd3, 0x23, 0xc3, - 0x82, 0x3c, 0xe7, 0xc1, 0x7d, 0x8d, 0x8e, 0x36, 0x3f, 0xe2, 0x77, 0xde, 0x6d, 0xf2, 0xa5, 0xf7, - 0x70, 0x39, 0x56, 0x94, 0xc4, 0x4b, 0x48, 0x84, 0xa5, 0xd5, 0xfa, 0x82, 0xec, 0xe6, 0xe1, 0x1d, - 0x9e, 0xab, 0x43, 0xd9, 0xba, 0x86, 0x4e, 0xa1, 0x8b, 0x86, 0xab, 0x90, 0x5d, 0xe3, 0x93, 0x44, - 0xec, 0x7e, 0xae, 0xee, 0x48, 0xb1, 0x74, 0x00, 0xe0, 0xb9, 0x40, 0x76, 0x05, 0x46, 0x94, 0xb0, - 0x83, 0x80, 0xb8, 0x77, 0x57, 0xb8, 0x8a, 0xdf, 0x5d, 0x89, 0xc7, 0xcb, 0xc3, 0x7b, 0x56, 0xba, - 0xb3, 0x89, 0x44, 0xdd, 0x70, 0x01, 0x62, 0xb9, 0x8c, 0xbb, 0x7d, 0xb1, 0x07, 0xaf, 0x6c, 0x2a, - 0x55, 0xb2, 0xd9, 0xbe, 0x44, 0x57, 0xe4, 0x06, 0x41, 0x93, 0x27, 0x9e, 0x84, 0x0b, 0x64, 0x71, - 0x58, 0xa5, 0xf5, 0x58, 0x9e, 0x01, 0xc1, 0x1e, 0x4c, 0x61, 0x77, 0x0e, 0xa7, 0x51, 0x10, 0x93, - 0x29, 0x16, 0x4f, 0x84, 0x26, 0x27, 0x5c, 0x3f, 0x5b, 0x94, 0x53, 0x15, 0x92, 0x62, 0x5d, 0x8f, - 0x92, 0x85, 0xf2, 0x72, 0x8a, 0xba, 0x0e, 0x20, 0xe6, 0xaf, 0x6b, 0x22, 0x61, 0x42, 0x68, 0x15, - 0x45, 0xab, 0x2b, 0xcc, 0xee, 0x14, 0x1d, 0x07, 0x96, 0x2b, 0xdc, 0x79, 0x04, 0x01, 0xe3, 0x0e, - 0x8d, 0x56, 0x1b, 0xba, 0x89, 0x99, 0x41, 0x36, 0x4b, 0x2d, 0x7c, 0xe9, 0xb3, 0xda, 0xdb, 0xe1, - 0x83, 0xc4, 0x68, 0xb8, 0xe9, 0xfe, 0x84, 0xcb, 0x33, 0x82, 0xdb, 0x93, 0x90, 0xfd, 0xe1, 0xfa, - 0x84, 0x73, 0xfb, 0x5f, 0xcc, 0xa9, 0x4d, 0x39, 0x9f, 0xd4, 0x3b, 0x35, 0xa9, 0xf5, 0xf9, 0x34, - 0x26, 0xba, 0x5c, 0x21, 0xe8, 0xd2, 0x02, 0x33, 0xe3, 0x74, 0xe3, 0xa7, 0xbb, 0xbb, 0x6b, 0x3a, - 0x45, 0xa7, 0xc6, 0xe3, 0x89, 0xd3, 0x38, 0xca, 0x98, 0xe5, 0x51, 0xe3, 0xac, 0x0f, 0xc2, 0xdb, - 0x8a, 0xd2, 0x27, 0x2f, 0xa4, 0xd4, 0xcd, 0xac, 0x1d, 0x32, 0xc2, 0x3c, 0x47, 0x2e, 0xe6, 0xca, - 0x3a, 0xde, 0xda, 0x37, 0xca, 0x8b, 0x9d, 0xa3, 0x2f, 0xd0, 0x3b, 0xcd, 0xde, 0x87, 0xb7, 0x29, - 0x36, 0x5c, 0x89, 0xe8, 0x9d, 0xa3, 0x64, 0x5f, 0xdd, 0x3b, 0xe9, 0x9a, 0x44, 0xef, 0xa1, 0x28, - 0xa9, 0xa9, 0x8b, 0x78, 0xd5, 0x21, 0x44, 0x8e, 0xbc, 0x45, 0x7a, 0x1e, 0x5e, 0x92, 0xb9, 0x81, - 0x42, 0x43, 0x6c, 0x6c, 0x7c, 0xb1, 0xe0, 0x6e, 0x8c, 0x9a, 0x14, 0xa6, 0xf3, 0xfd, 0x7e, 0x69, - 0x49, 0xe1, 0xf5, 0x7b, 0x0d, 0xaa, 0xf4, 0x2d, 0xb9, 0x72, 0x3d, 0x17, 0x6a, 0xdb, 0xa3, 0xfa, - 0xab, 0xc3, 0xdb, 0xb1, 0xba, 0xc6, 0xf7, 0xa9, 0x86, 0x77, 0x02, 0xe1, 0x11, 0x6a, 0x28, 0x29, - 0x5b, 0x85, 0x5a, 0x2d, 0x0c, 0x71, 0xce, 0x36, 0x3a, 0xda, 0x09, 0x0e, 0xed, 0x2c, 0x4b, 0xa2, - 0x08, 0xea, 0x4e, 0x7e, 0xc1, 0x89, 0xb9, 0x9b, 0xb2, 0xcb, 0xe0, 0x2a, 0x4c, 0xb2, 0xa1, 0xf2, - 0xaf, 0x4e, 0x3b, 0x0d, 0x7e, 0x92, 0xe7, 0xf9, 0x8d, 0x54, 0x2d, 0x6a, 0x86, 0xc9, 0x55, 0xa8, - 0xb7, 0xe3, 0x1a, 0x76, 0x64, 0xc5, 0xe2, 0x93, 0x83, 0x44, 0x2a, 0xd8, 0xa9, 0xfc, 0x41, 0x5c, - 0xc8, 0xc3, 0x41, 0x89, 0x6d, 0x62, 0x40, 0x3e, 0xbe, 0x07, 0x02, 0x2f, 0x17, 0x50, 0xae, 0x58, - 0x50, 0x0d, 0xf5, 0xb1, 0xc4, 0x7b, 0x44, 0x90, 0x36, 0xf2, 0x12, 0xe2, 0xdb, 0x87, 0x4f, 0xff, - 0xc1, 0x3d, 0x53, 0xfd, 0xb8, 0x0d, 0xfa, 0xb1, 0x39, 0xc3, 0xdf, 0x8a, 0x02, 0xf9, 0x58, 0x1c, - 0x3e, 0xec, 0xda, 0x43, 0x30, 0x8f, 0xd8, 0xb8, 0xd5, 0xf5, 0x7e, 0x7f, 0x58, 0x1a, 0xac, 0xe8, - 0x58, 0x8a, 0xac, 0x0d, 0x40, 0x2d, 0x6f, 0x07, 0x50, 0xcb, 0x37, 0x8f, 0x84, 0xe3, 0xc3, 0xa4, - 0x0f, 0xa1, 0x3c, 0x1a, 0xc8, 0x8e, 0xc5, 0x5f, 0x6f, 0xcd, 0xd7, 0x60, 0xb9, 0xe5, 0x8d, 0x0e, - 0x57, 0xa6, 0xc5, 0x65, 0x0d, 0xcc, 0x2d, 0x7f, 0x04, 0x98, 0x5b, 0x91, 0x51, 0x06, 0x6e, 0x92, - 0x24, 0x8b, 0x2c, 0xd1, 0xf9, 0x89, 0xdd, 0x82, 0x76, 0xcb, 0x0d, 0x68, 0x8d, 0xdf, 0xde, 0x3d, - 0x08, 0xd6, 0xb8, 0x69, 0xae, 0xe9, 0xd5, 0x03, 0x35, 0x3d, 0xb4, 0x7a, 0x3e, 0x3d, 0x30, 0x3d, - 0x88, 0xe1, 0x58, 0xce, 0x50, 0xef, 0x7f, 0xf7, 0x62, 0x79, 0xb8, 0x39, 0xfa, 0x72, 0xa1, 0xb5, - 0x7d, 0x39, 0xec, 0xff, 0xb5, 0x55, 0xa3, 0x23, 0xf1, 0x19, 0x30, 0x7c, 0x46, 0xd3, 0x08, 0x83, - 0xef, 0xdb, 0x3b, 0xb5, 0x8b, 0xd8, 0x86, 0x8c, 0x6c, 0x84, 0xad, 0xb8, 0x96, 0x6d, 0x66, 0xb7, - 0x2d, 0xc2, 0xd4, 0xf4, 0x61, 0x2c, 0x00, 0xca, 0xd0, 0x3f, 0x32, 0xaa, 0xc3, 0x44, 0x8d, 0x40, - 0x6a, 0x12, 0x85, 0xbc, 0x72, 0x44, 0x6b, 0x9e, 0x8b, 0x0d, 0x0f, 0xc5, 0xa2, 0x4c, 0x46, 0x0a, - 0x18, 0xad, 0x79, 0x6a, 0x07, 0xb5, 0x6c, 0x61, 0x8e, 0x2e, 0xba, 0xa1, 0x95, 0x70, 0xcc, 0x72, - 0x80, 0x80, 0x8a, 0xb7, 0xee, 0xde, 0x68, 0x0b, 0x2a, 0xf9, 0x03, 0x80, 0xe4, 0x84, 0x58, 0x56, - 0x03, 0x23, 0x47, 0x5e, 0x35, 0x77, 0xc4, 0xf1, 0x17, 0x90, 0xc7, 0xb9, 0x6b, 0x71, 0x04, 0x2d, - 0x50, 0xe3, 0xab, 0xee, 0x69, 0xf4, 0xf8, 0xbd, 0x1d, 0xc8, 0xae, 0xff, 0x34, 0xa0, 0x3d, 0xfd, - 0x7c, 0x3e, 0x97, 0x97, 0x46, 0x7d, 0x56, 0x5b, 0xe1, 0xbf, 0x9b, 0x70, 0xbe, 0xdb, 0x40, 0xbe, - 0xff, 0x22, 0xa0, 0xf7, 0xeb, 0xc3, 0xa3, 0x17, 0x35, 0x5f, 0x29, 0x7f, 0x12, 0x9f, 0x3b, 0x42, - 0x10, 0xeb, 0xbf, 0x08, 0xcd, 0x4d, 0x65, 0xfc, 0x45, 0x54, 0x6e, 0x2a, 0xe3, 0x2f, 0x02, 0x72, - 0x53, 0x19, 0x0f, 0x61, 0x71, 0x8b, 0x8d, 0x64, 0x52, 0x72, 0xa7, 0xb0, 0x04, 0x23, 0xa5, 0xb0, - 0x24, 0xb1, 0x0c, 0xa4, 0x43, 0xeb, 0x8a, 0x0b, 0x50, 0xef, 0x21, 0xbf, 0x9f, 0x4a, 0xca, 0x12, - 0x09, 0x09, 0x4b, 0x4c, 0xd2, 0x54, 0x04, 0xa6, 0xa6, 0x8f, 0xa1, 0x94, 0x7e, 0xdb, 0x1d, 0x94, - 0xc3, 0x8e, 0x2a, 0x7a, 0x91, 0xe4, 0xb7, 0x0d, 0x23, 0xc8, 0x91, 0x53, 0x0c, 0xaf, 0x0b, 0x14, - 0x75, 0xea, 0xba, 0x82, 0x95, 0x9f, 0x5d, 0xc4, 0x67, 0x73, 0xf2, 0x26, 0x74, 0x36, 0x2c, 0x86, - 0x00, 0x3d, 0xf0, 0x8b, 0x8f, 0xcc, 0x4e, 0xd3, 0x03, 0x02, 0x22, 0x3c, 0x96, 0x40, 0x6c, 0x28, - 0x78, 0xc8, 0xf5, 0x73, 0x64, 0x01, 0xed, 0xbc, 0x3c, 0x8d, 0x5e, 0x57, 0x2d, 0x2b, 0x22, 0x66, - 0x77, 0x98, 0x34, 0xa7, 0xe4, 0xc3, 0x65, 0x80, 0xe4, 0x2f, 0xc2, 0x2c, 0x87, 0xd3, 0xdd, 0x1e, - 0x4b, 0xdf, 0x9e, 0x96, 0x18, 0x2c, 0x3e, 0xfa, 0x7b, 0xa3, 0x94, 0x70, 0x9e, 0x50, 0x9e, 0x9d, - 0xe6, 0xa5, 0x50, 0xaa, 0xe0, 0xa2, 0x5f, 0xe8, 0x09, 0x9f, 0x14, 0x38, 0xa4, 0xb3, 0x5b, 0x98, - 0x96, 0x88, 0x1a, 0xd6, 0x31, 0xeb, 0xb8, 0xcc, 0xfe, 0x25, 0x81, 0x88, 0xf6, 0xbc, 0x42, 0x47, - 0x09, 0x50, 0x7a, 0x75, 0x6d, 0x56, 0xf1, 0x74, 0x08, 0x47, 0xfb, 0x88, 0xdc, 0x89, 0x52, 0x28, - 0x29, 0xf8, 0x46, 0xf3, 0x73, 0x92, 0x04, 0x34, 0x30, 0xf1, 0x1b, 0x85, 0xa8, 0x17, 0xdf, 0x68, - 0x9e, 0x39, 0x49, 0xa8, 0x77, 0x51, 0x4e, 0x7e, 0x01, 0x3d, 0x29, 0x21, 0x83, 0x60, 0x46, 0xd0, - 0x5c, 0x51, 0xa9, 0xb4, 0xea, 0x11, 0xee, 0xb8, 0x37, 0x29, 0xa4, 0x42, 0x99, 0x1e, 0x31, 0xd4, - 0x87, 0xe9, 0xb3, 0x86, 0x3f, 0x84, 0x62, 0x8f, 0x73, 0x5f, 0x2b, 0x8d, 0xb3, 0x8e, 0x4d, 0x66, - 0x17, 0x9c, 0xd5, 0xa7, 0x11, 0x57, 0xbe, 0x35, 0x86, 0x1b, 0x45, 0xf4, 0x33, 0x06, 0xef, 0xfb, - 0xbe, 0xd7, 0xf3, 0x10, 0xb0, 0x40, 0x45, 0xce, 0xd7, 0x99, 0x19, 0x6b, 0x44, 0x7d, 0x46, 0x99, - 0x6d, 0x19, 0x52, 0x32, 0xa7, 0xdb, 0xf2, 0x94, 0x29, 0x28, 0xab, 0xb1, 0x9c, 0x34, 0x3d, 0x6a, - 0x16, 0x35, 0x36, 0xb3, 0x54, 0x47, 0x70, 0x1a, 0x9b, 0xef, 0xf5, 0xdb, 0x9a, 0x6e, 0xc6, 0x34, - 0xb4, 0x13, 0x13, 0x18, 0xad, 0xd1, 0x31, 0x00, 0x23, 0x76, 0x9a, 0x73, 0x40, 0x1d, 0xb3, 0x41, - 0x88, 0xe9, 0xa7, 0x46, 0x3c, 0xaf, 0x19, 0xfd, 0x43, 0xbe, 0x57, 0xeb, 0x4c, 0x66, 0xcc, 0x6b, - 0x42, 0x00, 0xa7, 0x3a, 0x96, 0xba, 0x58, 0xa1, 0xdf, 0xfb, 0x2e, 0x57, 0x73, 0xa8, 0x17, 0xf9, - 0xf1, 0x71, 0x25, 0x1a, 0x23, 0xfd, 0x98, 0x82, 0x3f, 0x94, 0x3b, 0x5a, 0x95, 0x32, 0x42, 0x2d, - 0x30, 0x6e, 0x37, 0x1a, 0xe1, 0x83, 0x20, 0x2b, 0x96, 0x1a, 0x02, 0xa9, 0xa7, 0xc7, 0xa4, 0x46, - 0xd4, 0xc4, 0x41, 0x91, 0x23, 0xa2, 0xd9, 0xc2, 0xf3, 0x53, 0x1c, 0x96, 0x78, 0x3c, 0x1a, 0x79, - 0x92, 0xfe, 0x85, 0xdb, 0xbc, 0xb3, 0x86, 0x65, 0x76, 0xf3, 0xb1, 0x2b, 0x2b, 0x2b, 0xad, 0x8e, - 0xa9, 0xd4, 0xc6, 0x54, 0xb0, 0xf7, 0x5e, 0xc7, 0xf3, 0x32, 0xe5, 0x03, 0x35, 0x73, 0x16, 0x51, - 0x45, 0xa3, 0xfa, 0xd4, 0x84, 0xb2, 0x11, 0xc7, 0x1b, 0x7a, 0x68, 0x63, 0xe5, 0x68, 0x23, 0x43, - 0x37, 0xcd, 0x87, 0xa8, 0x0a, 0x07, 0xf3, 0x08, 0x9f, 0x3d, 0x04, 0xa2, 0x53, 0xe3, 0x3f, 0xfc, - 0x5c, 0x64, 0xe8, 0x76, 0x1c, 0xbb, 0x33, 0xec, 0x79, 0xd9, 0x10, 0x59, 0xc2, 0xf1, 0x7c, 0xd8, - 0x53, 0xaf, 0xe3, 0x72, 0xd6, 0x78, 0xaa, 0x49, 0x35, 0x00, 0xa8, 0xab, 0x5c, 0xf3, 0x92, 0x04, - 0xab, 0x80, 0x3f, 0xcf, 0xc4, 0x1d, 0x08, 0xc4, 0x10, 0x3c, 0x99, 0xf7, 0x81, 0xdc, 0x18, 0xf6, - 0x7b, 0xe9, 0xcd, 0x48, 0x39, 0x1b, 0xdb, 0xe6, 0xfd, 0xe9, 0xec, 0x72, 0xbd, 0x58, 0x44, 0x8c, - 0xfc, 0x18, 0xb7, 0xd2, 0x66, 0xe5, 0xb4, 0xeb, 0xf4, 0x19, 0x2e, 0x16, 0xee, 0xad, 0x19, 0xae, - 0x11, 0xad, 0xad, 0xf7, 0xf7, 0xa8, 0x2a, 0x6b, 0x3a, 0x8d, 0xc1, 0xf2, 0xb7, 0x53, 0x6f, 0xe8, - 0x7f, 0x90, 0xd3, 0x6f, 0xf0, 0x6d, 0xbb, 0x4f, 0x2d, 0x82, 0x47, 0xc6, 0xa3, 0x6e, 0x11, 0xc6, - 0x61, 0xc1, 0xa2, 0xdb, 0x47, 0xb5, 0x3e, 0xdd, 0xd6, 0xfc, 0x68, 0x4c, 0xe8, 0x39, 0xaa, 0xd1, - 0x5f, 0xdd, 0xe2, 0x72, 0x52, 0xf8, 0xca, 0x52, 0xb3, 0x22, 0xe1, 0xdb, 0x44, 0x1d, 0xa6, 0x39, - 0x84, 0x2d, 0xb3, 0x96, 0x4f, 0x03, 0xd1, 0x3d, 0xa3, 0x3f, 0xf2, 0xad, 0xa3, 0xf7, 0x46, 0x7b, - 0xd1, 0x68, 0x3d, 0x21, 0x54, 0x8a, 0xc1, 0xf7, 0xf4, 0x2a, 0xea, 0x89, 0xdb, 0x9e, 0xd7, 0x1c, - 0xc1, 0x2b, 0x68, 0x6c, 0xa1, 0xd8, 0x32, 0x57, 0x8e, 0xa2, 0x4d, 0xe7, 0x4c, 0xf6, 0x18, 0x36, - 0x8a, 0xd0, 0xcc, 0x1b, 0x22, 0x4a, 0x50, 0x2d, 0x45, 0x9b, 0xfb, 0x26, 0xb8, 0xf5, 0xb5, 0xb6, - 0xf1, 0x1d, 0xd7, 0x32, 0xd4, 0x64, 0xa2, 0x03, 0xed, 0xf2, 0xf5, 0x25, 0x83, 0xb6, 0xdc, 0xc6, - 0x2f, 0xd8, 0x15, 0x58, 0x7b, 0xd5, 0xdb, 0xd3, 0xf8, 0x3d, 0x8c, 0x9a, 0xa2, 0x4a, 0x6a, 0x09, - 0x10, 0xfd, 0x1d, 0xc6, 0x0f, 0x08, 0xee, 0x4c, 0x6a, 0x18, 0x6a, 0x89, 0xe1, 0x6d, 0xa8, 0x08, - 0xba, 0xad, 0x55, 0x93, 0x70, 0x08, 0x27, 0xb7, 0xc1, 0xdb, 0x93, 0xf4, 0xae, 0x5d, 0x9b, 0xb6, - 0x47, 0xbc, 0xe8, 0x0a, 0x68, 0x19, 0x5c, 0x68, 0x38, 0x10, 0x9e, 0x25, 0x9f, 0x34, 0x8f, 0xf2, - 0x6a, 0xfe, 0x11, 0x72, 0x56, 0x1e, 0x7f, 0x17, 0x1b, 0x89, 0xa3, 0x97, 0x3f, 0xe0, 0xdf, 0xad, - 0xba, 0x90, 0x4b, 0x44, 0xb3, 0xb7, 0x1c, 0x44, 0xd4, 0x9a, 0x12, 0xb2, 0x5c, 0xcc, 0xf2, 0x5c, - 0xad, 0xec, 0xad, 0xfb, 0x09, 0x7b, 0x10, 0x4e, 0x69, 0x3b, 0x89, 0xfd, 0xf2, 0x77, 0xee, 0xef, - 0xf6, 0xf6, 0x9e, 0xa1, 0xe6, 0xa8, 0xe4, 0xda, 0x4d, 0x51, 0xd4, 0xfa, 0x15, 0x0d, 0xce, 0xff, - 0x7f, 0x68, 0xf0, 0x4b, 0x5e, 0x99, 0x6c, 0x33, 0x4a, 0x91, 0xa2, 0xdb, 0xaf, 0x69, 0x32, 0x54, - 0x60, 0x7f, 0x55, 0x53, 0x2f, 0x2a, 0x38, 0x90, 0x4a, 0xbc, 0x28, 0x70, 0xa6, 0x8d, 0xdf, 0x1a, - 0xdc, 0x74, 0x5e, 0xf1, 0x61, 0x86, 0x0e, 0xdd, 0xa0, 0x6b, 0x26, 0xfc, 0xf4, 0xd7, 0xf8, 0x72, - 0xa3, 0x0e, 0x44, 0xab, 0xb4, 0x0e, 0x32, 0xdd, 0x80, 0x2d, 0x7d, 0x51, 0xc5, 0x96, 0x36, 0x9a, - 0x49, 0xc6, 0x0e, 0x79, 0x3b, 0xc4, 0x34, 0xd4, 0x84, 0x52, 0xcf, 0x54, 0x6e, 0x62, 0x0e, 0xea, - 0x2c, 0x41, 0xa7, 0xad, 0xea, 0xbb, 0xe6, 0x2f, 0xc0, 0x51, 0xe7, 0x75, 0x38, 0x6a, 0x89, 0xfb, - 0x27, 0x51, 0x15, 0xb7, 0xfa, 0x34, 0xe2, 0xde, 0xea, 0xf0, 0xad, 0x85, 0xc8, 0x4c, 0xa5, 0xdb, - 0x17, 0x1a, 0x2c, 0xf2, 0x79, 0xf4, 0x48, 0x6e, 0x36, 0x75, 0x79, 0x92, 0xbe, 0xe7, 0x00, 0x7d, - 0x8f, 0x70, 0x69, 0x54, 0x3b, 0xaf, 0xfe, 0x03, 0x2d, 0xec, 0x39, 0xa0, 0x19, 0xad, 0x9c, 0xa1, - 0xd5, 0xde, 0xf4, 0x9c, 0x9a, 0x56, 0xb6, 0x43, 0x6b, 0xc6, 0x1f, 0x91, 0x68, 0x83, 0xde, 0x93, - 0x3f, 0xa2, 0xa6, 0x8e, 0x1c, 0x8c, 0x9b, 0x8e, 0xce, 0x4b, 0x7b, 0xec, 0x44, 0x0c, 0x37, 0x36, - 0x23, 0x61, 0x3f, 0x2c, 0x04, 0x14, 0x9a, 0x6a, 0xcd, 0xe3, 0xc7, 0x9e, 0x6b, 0x64, 0x86, 0xa9, - 0x27, 0x83, 0x49, 0x1c, 0x4a, 0xba, 0x66, 0xf7, 0xe4, 0x35, 0x8b, 0xf7, 0xea, 0x9e, 0xa4, 0x39, - 0xfe, 0xe4, 0xb6, 0x85, 0xd2, 0x27, 0xf6, 0x19, 0x4c, 0x91, 0x95, 0xaa, 0x57, 0x2a, 0xd0, 0xd7, - 0x49, 0x66, 0x0f, 0x71, 0xd8, 0xed, 0x9f, 0xae, 0x50, 0x39, 0x19, 0x28, 0x0f, 0xeb, 0x3a, 0x2c, - 0x2e, 0x2d, 0x52, 0xa5, 0x80, 0x2a, 0x7f, 0x86, 0xf3, 0x58, 0x58, 0x0d, 0x89, 0xb0, 0xcd, 0xe3, - 0xf7, 0xfa, 0x2c, 0xaf, 0x90, 0x27, 0xf0, 0xf3, 0x65, 0x5e, 0x12, 0x28, 0xd8, 0xd9, 0xfb, 0xfb, - 0xe2, 0xaf, 0x91, 0x55, 0x0d, 0xe3, 0x9f, 0x26, 0x03, 0xad, 0x15, 0xf0, 0x63, 0xfc, 0xfc, 0xf4, - 0xad, 0x05, 0x33, 0xb7, 0x0a, 0xe2, 0x39, 0xf7, 0xb5, 0x0e, 0x4b, 0x21, 0xc8, 0x58, 0x20, 0x73, - 0x04, 0x69, 0xa8, 0xdc, 0x73, 0x51, 0x26, 0x08, 0x20, 0x4e, 0xa9, 0x48, 0x37, 0x6e, 0xae, 0xa6, - 0xaf, 0x57, 0xd3, 0x97, 0x70, 0x9a, 0x0d, 0x77, 0xa9, 0xb5, 0x7a, 0x22, 0x8e, 0xfa, 0x22, 0xb1, - 0xde, 0xbe, 0xb2, 0x34, 0xe7, 0xbe, 0xfc, 0xe6, 0x99, 0x57, 0x59, 0xc0, 0x8a, 0x10, 0xa2, 0xee, - 0xc3, 0x34, 0xcc, 0x75, 0x72, 0x68, 0x70, 0xdc, 0x23, 0x72, 0xa8, 0xaf, 0xc8, 0x21, 0x9c, 0x44, - 0x36, 0x5c, 0xb2, 0xe2, 0x9d, 0x26, 0x93, 0x3b, 0x75, 0xdc, 0xcd, 0xb8, 0xe5, 0x72, 0xc7, 0x61, - 0x7e, 0xf8, 0x7e, 0x47, 0xc3, 0x86, 0x53, 0x7e, 0xbd, 0x4b, 0xe4, 0xd3, 0xad, 0x6c, 0x45, 0x29, - 0x2a, 0xc0, 0xbe, 0xaa, 0xdb, 0x9d, 0x10, 0x0f, 0xb1, 0x81, 0x7b, 0xed, 0x35, 0xd2, 0x50, 0xec, - 0x75, 0x58, 0x67, 0x6f, 0xce, 0x22, 0xd3, 0x39, 0xc7, 0xa9, 0x43, 0xe1, 0x8f, 0xf6, 0xcd, 0xc1, - 0x1d, 0x7c, 0xec, 0x0d, 0xf7, 0x1e, 0xcb, 0x91, 0x3e, 0x35, 0x59, 0xd2, 0x7b, 0x1b, 0xad, 0xe5, - 0x8d, 0x13, 0x7f, 0x1d, 0x64, 0xb2, 0x4b, 0xf6, 0x34, 0xa5, 0x65, 0x6b, 0xcd, 0xb4, 0xb5, 0x80, - 0xf1, 0xb6, 0x1a, 0x78, 0xd9, 0x77, 0xf3, 0x84, 0x80, 0x55, 0x80, 0xdd, 0x92, 0x20, 0xab, 0x58, - 0x46, 0x95, 0x4f, 0xc7, 0x9b, 0x25, 0xd0, 0x3f, 0x39, 0x2f, 0x8a, 0x73, 0xb5, 0x47, 0x4d, 0x0a, - 0xe3, 0xb0, 0x3d, 0x6f, 0xa7, 0x09, 0xa2, 0x33, 0xd4, 0x54, 0xc6, 0x39, 0xd0, 0x93, 0xc7, 0xda, - 0xb8, 0xe1, 0x18, 0x1f, 0xc6, 0x9a, 0xd0, 0x52, 0xd0, 0x95, 0x4e, 0x4f, 0xa2, 0x72, 0x5e, 0xe8, - 0x88, 0x64, 0x69, 0x0f, 0x37, 0x0b, 0x02, 0x11, 0x2c, 0x92, 0xd9, 0x1a, 0x85, 0xd4, 0x92, 0xa1, - 0x43, 0xbe, 0x03, 0xba, 0xf0, 0x84, 0x99, 0xa3, 0x2e, 0x13, 0x23, 0x83, 0x3d, 0x0d, 0x13, 0x81, - 0x10, 0x30, 0x21, 0x31, 0x0f, 0x22, 0xad, 0xb5, 0x47, 0x8b, 0x5d, 0x67, 0x2c, 0x26, 0x0d, 0x1b, - 0x21, 0x11, 0x4f, 0xf3, 0x37, 0x5c, 0x53, 0xad, 0x79, 0x20, 0x0a, 0xb4, 0x33, 0xab, 0xb2, 0x3d, - 0x25, 0x87, 0xad, 0x68, 0x04, 0x0c, 0x86, 0x63, 0x1d, 0xe3, 0xf9, 0xce, 0x68, 0x66, 0xbd, 0x61, - 0x8c, 0x42, 0xfb, 0x44, 0x51, 0x25, 0x7c, 0x58, 0x9a, 0x68, 0xf4, 0x69, 0xef, 0x1f, 0x70, 0xc1, - 0x24, 0x11, 0x9e, 0x52, 0xfe, 0x80, 0x62, 0xad, 0xc7, 0x3e, 0x37, 0xcc, 0xb7, 0x05, 0xb2, 0x65, - 0xd4, 0xae, 0xf3, 0x84, 0xd3, 0x6e, 0xf5, 0xce, 0xb0, 0xbf, 0xad, 0x32, 0x6b, 0x14, 0xac, 0x31, - 0x32, 0xcb, 0x84, 0x50, 0x91, 0xd7, 0xdf, 0xfc, 0x44, 0xa0, 0x4c, 0x84, 0x45, 0x0a, 0x2d, 0x34, - 0x6f, 0x7f, 0xea, 0x13, 0xca, 0x88, 0x64, 0xe7, 0x1e, 0x7e, 0x10, 0x44, 0xfb, 0xb0, 0xcc, 0xb4, - 0x5d, 0xc5, 0x99, 0x71, 0x8f, 0x3f, 0x35, 0xa4, 0x30, 0xc2, 0x14, 0x30, 0x72, 0x84, 0xd4, 0xac, - 0x3a, 0xd6, 0x65, 0x73, 0x5e, 0xad, 0x33, 0x12, 0x3f, 0xb4, 0xb4, 0xf6, 0xa3, 0xe2, 0x53, 0xb4, - 0x24, 0xf8, 0x06, 0x1a, 0xd7, 0xe9, 0x6f, 0x1e, 0x55, 0x99, 0x9c, 0xe2, 0x23, 0x98, 0xe2, 0x46, - 0x81, 0x9e, 0x79, 0x7c, 0x1b, 0x84, 0x8b, 0x6c, 0x27, 0x3f, 0xbb, 0x9f, 0x1c, 0x1f, 0x1f, 0x76, - 0xf9, 0xf1, 0xdd, 0xeb, 0x0e, 0xe0, 0x56, 0x65, 0x29, 0x7c, 0xe9, 0xeb, 0x4f, 0x5f, 0x62, 0xae, - 0xd5, 0xa6, 0x5f, 0x11, 0x28, 0x55, 0xe6, 0xda, 0x41, 0xbf, 0x07, 0xb3, 0x9d, 0x37, 0xf7, 0xf2, - 0xaf, 0x34, 0xbc, 0x1c, 0x41, 0xd9, 0x74, 0xd5, 0xf0, 0x5e, 0x73, 0xc3, 0x3f, 0x3e, 0xae, 0xdd, - 0x06, 0x0b, 0x6f, 0x6b, 0xf3, 0xb7, 0xac, 0xb9, 0xfa, 0x45, 0xf1, 0x35, 0x6b, 0xae, 0xd5, 0x93, - 0x53, 0x65, 0x31, 0x1c, 0xc8, 0x0d, 0xdf, 0x22, 0x4b, 0x11, 0x87, 0x74, 0xfa, 0x7e, 0xbd, 0x42, - 0xa6, 0xba, 0xa6, 0xe9, 0xf9, 0x29, 0x59, 0x5b, 0x31, 0x83, 0xa7, 0x52, 0x50, 0x58, 0x40, 0x0e, - 0x02, 0xc5, 0x35, 0x10, 0x2f, 0xf8, 0x1c, 0xc9, 0x00, 0xcc, 0x6e, 0x05, 0x8a, 0x1c, 0xdb, 0x11, - 0xa8, 0x45, 0xff, 0xbd, 0x27, 0xbd, 0x14, 0xf6, 0xf6, 0x7b, 0x3d, 0xed, 0xd4, 0x27, 0x6e, 0x81, - 0xe9, 0x2a, 0x5b, 0xe3, 0x20, 0xf7, 0xe4, 0x11, 0xcc, 0xaf, 0x01, 0x75, 0x09, 0xfc, 0x77, 0x1d, - 0xe6, 0xfa, 0x9d, 0x7d, 0xd7, 0x96, 0x9f, 0xa3, 0xf5, 0xc8, 0xcc, 0x0f, 0x8d, 0xac, 0x4a, 0x5d, - 0x1f, 0x56, 0xd9, 0x90, 0x86, 0x91, 0x6d, 0x23, 0x30, 0x74, 0xb5, 0x0b, 0xed, 0x22, 0x57, 0xec, - 0xb3, 0x05, 0xbc, 0x01, 0x8a, 0x61, 0xc4, 0x16, 0xc5, 0xe8, 0xb1, 0x27, 0xe3, 0xa9, 0xe0, 0xfc, - 0xc8, 0xb5, 0xfa, 0xc8, 0x8a, 0xa3, 0xc6, 0x9a, 0x89, 0x35, 0xf2, 0xf8, 0xaa, 0xc5, 0x02, 0x55, - 0x95, 0xef, 0x69, 0xba, 0x6f, 0x44, 0xd0, 0xb3, 0x2a, 0x86, 0xa3, 0x20, 0xfd, 0x4b, 0xa6, 0xf9, - 0xa8, 0x8c, 0x69, 0x60, 0x50, 0x17, 0x4d, 0x5a, 0x8c, 0x22, 0xf5, 0xa0, 0x29, 0x35, 0xa5, 0x1a, - 0x8a, 0x4c, 0x46, 0x6b, 0xc8, 0x6d, 0x30, 0x93, 0xfa, 0xe7, 0x58, 0x0e, 0x3b, 0x81, 0xb5, 0x3d, - 0x51, 0x88, 0xa2, 0x17, 0x43, 0x2a, 0x78, 0x1f, 0x85, 0x58, 0xb0, 0x7c, 0x4b, 0x38, 0xaa, 0x3a, - 0xea, 0x30, 0x21, 0x0d, 0x7b, 0x3a, 0x91, 0x23, 0xe9, 0x16, 0x58, 0x06, 0x8d, 0x60, 0xfe, 0x5e, - 0x8b, 0x74, 0x5c, 0xb7, 0x95, 0x95, 0xf2, 0x7f, 0x35, 0x68, 0x77, 0xd0, 0xb4, 0xe1, 0xe7, 0xf3, - 0x4d, 0xe9, 0xde, 0xc8, 0xef, 0x8d, 0x72, 0xe1, 0x87, 0x2d, 0x37, 0xfc, 0xb0, 0xe5, 0x84, 0x66, - 0x89, 0x66, 0xf6, 0xe4, 0x7f, 0x01, 0x75, 0xad, 0x73, 0xb4, 0xda, 0x45, 0x23, 0x41, 0x3e, 0xd0, - 0x1b, 0x77, 0xa4, 0xab, 0x46, 0x16, 0xb5, 0xaa, 0x5f, 0xdf, 0xfc, 0xbd, 0x35, 0xe7, 0xf0, 0x86, - 0xdb, 0x20, 0x29, 0x28, 0x50, 0x19, 0x7c, 0xe6, 0x6d, 0x6f, 0x00, 0x07, 0xdf, 0xd7, 0xf4, 0x85, - 0xb1, 0x11, 0xe4, 0x3e, 0x8a, 0xca, 0x33, 0xf0, 0x55, 0x75, 0xa7, 0x70, 0x86, 0x0e, 0xb1, 0x10, - 0x7f, 0xa3, 0xf1, 0xca, 0x57, 0x4d, 0xc4, 0x48, 0x93, 0xeb, 0x6e, 0x01, 0x5e, 0xba, 0x28, 0x81, - 0x97, 0xb8, 0x73, 0x7a, 0x8e, 0x37, 0xe7, 0xe5, 0xf5, 0x21, 0xe3, 0xde, 0x46, 0xf8, 0x90, 0x31, - 0x63, 0xc8, 0x18, 0xb9, 0x40, 0x33, 0x86, 0x8c, 0x77, 0x11, 0x35, 0xe1, 0xb9, 0xb8, 0xc5, 0x80, - 0x6c, 0x2b, 0x4a, 0xaf, 0x2d, 0x9a, 0x6c, 0x08, 0x69, 0x68, 0xcd, 0x5a, 0x0b, 0xcd, 0x7e, 0x72, - 0x01, 0x19, 0x41, 0xba, 0xf6, 0x05, 0x2f, 0xb2, 0xb7, 0xd9, 0xe4, 0x1a, 0xfe, 0x82, 0xa9, 0x20, - 0x9b, 0xeb, 0x87, 0x27, 0xf7, 0xb6, 0x68, 0x6e, 0x59, 0xb5, 0x39, 0xa4, 0x9a, 0x65, 0xfe, 0x20, - 0x52, 0x76, 0xf4, 0x10, 0x52, 0x36, 0xf6, 0xb0, 0xb7, 0x83, 0xd8, 0x14, 0xa5, 0xd9, 0x90, 0x4c, - 0x05, 0xb3, 0xa5, 0xc9, 0xda, 0x4c, 0x7c, 0xec, 0x55, 0xa8, 0x45, 0x55, 0x70, 0xb2, 0xf5, 0xf5, - 0x50, 0x41, 0xcc, 0x4e, 0xaf, 0x33, 0x03, 0x10, 0x10, 0xa7, 0x16, 0x57, 0x24, 0xe9, 0x2d, 0xa3, - 0x8a, 0xba, 0xaf, 0x2d, 0xb4, 0x18, 0x87, 0x0d, 0xb5, 0xd1, 0x70, 0x11, 0xa3, 0x6c, 0xa9, 0xa6, - 0x22, 0x9a, 0xa3, 0x9b, 0xbd, 0x08, 0x96, 0xf2, 0xd5, 0x30, 0xf6, 0x56, 0xe1, 0x30, 0xf0, 0xd0, - 0x70, 0xc2, 0x9b, 0x66, 0xe1, 0xb0, 0xb1, 0xdf, 0xe4, 0xf7, 0x50, 0xa1, 0x88, 0xc3, 0x8c, 0x24, - 0x9b, 0xcd, 0x48, 0x18, 0x8f, 0x35, 0x80, 0x0e, 0xcf, 0x1e, 0x01, 0x3a, 0x3c, 0x7f, 0x18, 0x74, - 0xd8, 0x4b, 0x9b, 0xd3, 0x20, 0x58, 0xb8, 0x9c, 0x86, 0x8c, 0x96, 0x05, 0x94, 0xec, 0xcf, 0x3c, - 0xfe, 0x1d, 0x4a, 0xf0, 0xe7, 0xe2, 0x7b, 0xb2, 0xf0, 0xd3, 0x0d, 0xff, 0x0a, 0x2b, 0x83, 0xcc, - 0xc0, 0xb8, 0x7f, 0x74, 0x66, 0x6a, 0xf5, 0x67, 0xba, 0xac, 0x5d, 0xa8, 0x12, 0x6e, 0x5f, 0x43, - 0x23, 0x7e, 0xa0, 0x54, 0x71, 0xce, 0xa3, 0x2a, 0xce, 0xb9, 0xb0, 0x2a, 0xab, 0x09, 0x9b, 0x3d, - 0xdd, 0xb9, 0x4d, 0x2b, 0xf6, 0x76, 0x4c, 0xda, 0xc0, 0x0b, 0x27, 0x3e, 0xc9, 0xd1, 0x04, 0xf2, - 0xfe, 0x3e, 0x1e, 0x13, 0x0e, 0xbf, 0xc4, 0x2f, 0x41, 0x64, 0x29, 0x59, 0xa4, 0x4f, 0x49, 0xb8, - 0xcd, 0xef, 0x49, 0xc4, 0x93, 0x07, 0xfb, 0x8d, 0x45, 0x8e, 0xa3, 0x5a, 0x21, 0xa2, 0x0d, 0x3e, - 0x8f, 0x19, 0xe9, 0x08, 0x5f, 0x3c, 0x23, 0x31, 0xef, 0x82, 0xfb, 0xfb, 0x9d, 0x5a, 0x78, 0x70, - 0xe2, 0xc7, 0x7a, 0x59, 0xd6, 0x5c, 0x9e, 0x84, 0x02, 0xe0, 0xa4, 0x71, 0x69, 0xc6, 0x7c, 0x69, - 0x06, 0x7c, 0x21, 0x91, 0xf2, 0x78, 0x7c, 0xc2, 0x61, 0xdd, 0xb5, 0xeb, 0xcd, 0x40, 0x9a, 0xcf, - 0x6b, 0x48, 0xf3, 0x23, 0x8e, 0x7f, 0x51, 0x53, 0x9e, 0x80, 0xfd, 0x50, 0x1b, 0xf1, 0xfa, 0xe8, - 0x86, 0x62, 0x74, 0xc3, 0x93, 0x82, 0x0f, 0x57, 0x38, 0x2e, 0x6a, 0x03, 0x53, 0x2a, 0x73, 0xc8, - 0xd1, 0xcd, 0xe4, 0x64, 0x64, 0xdb, 0x27, 0x03, 0xc7, 0x31, 0xe1, 0x4b, 0x92, 0xc0, 0x6f, 0xfc, - 0xd0, 0x93, 0x3f, 0x93, 0xf4, 0x93, 0x9f, 0x6d, 0xb0, 0x9b, 0xb3, 0x3a, 0x70, 0x37, 0x0d, 0x7e, - 0xed, 0xa4, 0x9c, 0x3d, 0x00, 0xe2, 0x6f, 0x6c, 0x9c, 0xe8, 0xe1, 0x8d, 0x93, 0xa8, 0x8d, 0x53, - 0xc8, 0x66, 0xc1, 0xc6, 0xc9, 0xc5, 0x77, 0xd8, 0x38, 0x91, 0x47, 0x93, 0x52, 0x05, 0x2c, 0x47, - 0xe8, 0x17, 0x4a, 0x52, 0x98, 0x40, 0xf0, 0x3a, 0x98, 0x39, 0xda, 0xaf, 0x29, 0x55, 0x48, 0x63, - 0xa3, 0x25, 0xa6, 0xb2, 0x88, 0xd8, 0x67, 0xa5, 0x87, 0xd3, 0x49, 0xd3, 0x03, 0x03, 0x5e, 0x13, - 0x97, 0xc8, 0x5c, 0x5c, 0xad, 0x11, 0x52, 0x20, 0x62, 0xa5, 0x70, 0x06, 0x62, 0x84, 0x8e, 0x02, - 0x90, 0x4c, 0x3b, 0xa8, 0x7e, 0x20, 0x8b, 0xda, 0xdf, 0xf7, 0xda, 0xae, 0x61, 0x5c, 0x76, 0x70, - 0xa1, 0xb8, 0xc6, 0x85, 0x5b, 0x7c, 0x60, 0x57, 0x5b, 0xee, 0x6e, 0x3c, 0x29, 0x5b, 0x8f, 0xf8, - 0xca, 0xdd, 0x8d, 0x45, 0x7d, 0xda, 0x56, 0xd6, 0x27, 0xb3, 0xa8, 0x4f, 0xed, 0x25, 0xfd, 0x18, - 0x6e, 0x29, 0x07, 0xce, 0xed, 0xb6, 0x9b, 0xa5, 0x5e, 0xce, 0xb6, 0x06, 0xad, 0xcc, 0x06, 0xad, - 0xb6, 0x35, 0xa8, 0x3f, 0xd8, 0x56, 0x50, 0x7f, 0x60, 0x96, 0xd4, 0x27, 0xfa, 0x56, 0x70, 0xc8, - 0xde, 0x22, 0xf3, 0xa6, 0x5a, 0xe0, 0xd9, 0xb6, 0x1e, 0xe6, 0x66, 0x0f, 0xf3, 0xf0, 0xa1, 0xd2, - 0x3e, 0xa6, 0x5b, 0x4a, 0x2b, 0xd2, 0x61, 0xdb, 0x82, 0xad, 0x96, 0x43, 0xd4, 0x17, 0x32, 0xd2, - 0xbe, 0x8e, 0xfe, 0x6a, 0x5d, 0x72, 0xac, 0x18, 0x16, 0xb5, 0x9e, 0xb3, 0xe5, 0xe9, 0x75, 0xb6, - 0xa5, 0xbd, 0x70, 0x25, 0xef, 0x7c, 0x05, 0x0d, 0xd0, 0x50, 0xfe, 0x8b, 0x6c, 0xdb, 0xe8, 0x3e, - 0xea, 0xb6, 0x37, 0x6d, 0xdb, 0x96, 0xd1, 0x9b, 0x8c, 0xb1, 0x7f, 0x31, 0x65, 0x40, 0xae, 0x51, - 0xda, 0x77, 0x68, 0x06, 0x69, 0x17, 0x36, 0x1c, 0xe8, 0x1c, 0xde, 0x89, 0x34, 0x6d, 0x38, 0x55, - 0x0d, 0xcf, 0x70, 0xe6, 0x95, 0x66, 0x98, 0x4c, 0xb3, 0x59, 0x16, 0x46, 0x94, 0x35, 0xdb, 0x4c, - 0x07, 0x8a, 0x45, 0x05, 0x51, 0xa0, 0x26, 0xdd, 0x2d, 0x34, 0x77, 0xf1, 0xe6, 0x37, 0xd5, 0x18, - 0x6e, 0x9b, 0xed, 0xb3, 0x89, 0x06, 0xf5, 0x51, 0x85, 0xed, 0xd8, 0x93, 0xb0, 0x1d, 0x55, 0x40, - 0xdf, 0xa1, 0x58, 0x0a, 0x7b, 0xca, 0x13, 0x71, 0x35, 0xeb, 0x45, 0x5b, 0xd6, 0x2a, 0xd4, 0xb4, - 0x06, 0xfe, 0xdb, 0xe4, 0x40, 0x19, 0xb2, 0xb4, 0x63, 0x01, 0x34, 0x2c, 0xa1, 0xc5, 0x4d, 0x39, - 0x4d, 0x70, 0xb6, 0x2f, 0x6e, 0xe6, 0x6c, 0x51, 0x9a, 0x9e, 0xd0, 0xcf, 0xea, 0xdc, 0x2b, 0x10, - 0xed, 0xaf, 0x1a, 0x19, 0xe9, 0x75, 0xb1, 0x11, 0x4f, 0xfb, 0x31, 0xe3, 0xb3, 0xb5, 0x80, 0xaf, - 0x1c, 0xa5, 0x07, 0x30, 0x13, 0x1a, 0xc6, 0x09, 0x72, 0x0c, 0x59, 0x75, 0x24, 0x70, 0x0b, 0x54, - 0x76, 0x40, 0x6d, 0xdd, 0xd7, 0x11, 0x0a, 0xdd, 0xea, 0x5e, 0x42, 0xbc, 0x20, 0xa7, 0x69, 0x27, - 0xe5, 0x37, 0x8d, 0x65, 0x19, 0x08, 0x65, 0xb5, 0xad, 0xa9, 0x10, 0xca, 0x1a, 0x8b, 0x0c, 0x9b, - 0x8b, 0xac, 0xc1, 0x9a, 0xd5, 0x8a, 0xe5, 0xde, 0x41, 0x61, 0xd2, 0x05, 0x50, 0x23, 0x32, 0x07, - 0xee, 0xef, 0xd9, 0xf8, 0xd0, 0x35, 0x37, 0xea, 0x66, 0x53, 0x25, 0x22, 0x24, 0xa6, 0x19, 0x3e, - 0xeb, 0x24, 0x81, 0x70, 0x48, 0x0b, 0x86, 0xef, 0xdf, 0xd9, 0xa1, 0x9f, 0x0f, 0x07, 0x7a, 0xc0, - 0x00, 0x02, 0xc4, 0xd7, 0x3e, 0x50, 0x0d, 0x95, 0x0d, 0x6a, 0x34, 0xeb, 0x27, 0x92, 0xc5, 0x63, - 0xb3, 0x34, 0x10, 0xc9, 0x6a, 0xdb, 0x72, 0xd5, 0x36, 0x51, 0x31, 0x7f, 0xef, 0x25, 0x87, 0xfe, - 0xce, 0x4e, 0x21, 0xaa, 0x16, 0x41, 0x03, 0x0a, 0x12, 0x3f, 0xfa, 0xf8, 0xc3, 0xab, 0x3c, 0x07, - 0x8d, 0xea, 0xdf, 0x25, 0xf5, 0x43, 0x16, 0x0f, 0x16, 0x56, 0xdd, 0x33, 0x44, 0xb3, 0x68, 0xec, - 0x03, 0xc4, 0x8d, 0xdc, 0xa0, 0x4f, 0x13, 0xc9, 0x22, 0x72, 0xf0, 0xcd, 0x2b, 0x8c, 0xef, 0xa5, - 0xea, 0x02, 0xc2, 0xa5, 0x28, 0x35, 0x86, 0x6b, 0xa4, 0x0a, 0xf5, 0x5f, 0x25, 0xa8, 0xc9, 0x29, - 0xb2, 0x48, 0x99, 0xed, 0x9e, 0xf8, 0xe4, 0x11, 0x05, 0x8b, 0x87, 0x33, 0x78, 0x23, 0xf5, 0xcf, - 0x85, 0x57, 0xb9, 0xc2, 0x93, 0xb9, 0xdd, 0x52, 0xf9, 0xf2, 0x8f, 0xa8, 0xfc, 0x1e, 0xa3, 0xb5, - 0xa5, 0xd1, 0x1e, 0x44, 0xd3, 0x8e, 0x11, 0x66, 0x5c, 0x33, 0x96, 0xb7, 0xdf, 0x25, 0x01, 0xda, - 0x76, 0x08, 0x7e, 0xac, 0x65, 0x77, 0xa4, 0xde, 0x41, 0xc7, 0xb6, 0x1c, 0xf2, 0x1e, 0xeb, 0xda, - 0x5b, 0x4e, 0x55, 0x92, 0x8a, 0x4a, 0xa4, 0x5f, 0x98, 0xab, 0xf4, 0x6d, 0x55, 0x4f, 0x93, 0x4b, - 0x75, 0xd5, 0x2d, 0xe1, 0x42, 0xb7, 0xdf, 0x9e, 0xf4, 0xc9, 0xd7, 0xcb, 0x5b, 0xbf, 0x4d, 0x58, - 0x0b, 0x0f, 0xba, 0xb7, 0xe3, 0xc1, 0x71, 0xcf, 0x85, 0x23, 0x21, 0x83, 0x56, 0x0a, 0xcd, 0xf9, - 0xb7, 0xaf, 0x80, 0xb2, 0x83, 0x53, 0x63, 0xca, 0x2c, 0x14, 0xfc, 0x26, 0x99, 0x15, 0xb1, 0x3c, - 0xef, 0x4a, 0x9f, 0x48, 0x08, 0x4b, 0xe6, 0xa4, 0xef, 0x35, 0xee, 0x1b, 0x31, 0xb6, 0x94, 0x17, - 0x7b, 0x8c, 0x73, 0x8a, 0x89, 0xad, 0xd4, 0xd3, 0xed, 0x52, 0x27, 0xdf, 0xed, 0xa4, 0x6f, 0x25, - 0x7c, 0xe7, 0x5d, 0xf9, 0x62, 0x6d, 0xe2, 0xe1, 0xb9, 0xc5, 0x04, 0x88, 0x77, 0xc9, 0xae, 0x2e, - 0x35, 0x3b, 0xbd, 0x9c, 0x8f, 0x2f, 0x7e, 0xe2, 0x30, 0x0f, 0xd1, 0x57, 0xd0, 0x54, 0x6b, 0x0d, - 0xa9, 0x55, 0x69, 0x0f, 0x77, 0x58, 0x98, 0x7a, 0x74, 0x5e, 0x8f, 0x9e, 0x19, 0xd1, 0xb3, 0xcb, - 0x2f, 0x35, 0xcd, 0x5c, 0xa1, 0x89, 0x83, 0xd4, 0x36, 0x01, 0x04, 0x55, 0x42, 0x79, 0xdf, 0x09, - 0x32, 0x5e, 0x68, 0xce, 0x34, 0x4c, 0x8f, 0x96, 0x12, 0xc1, 0x71, 0x68, 0x2c, 0x4b, 0x88, 0xa8, - 0x0b, 0xa9, 0x07, 0xa0, 0x1e, 0xb4, 0x45, 0x76, 0x7b, 0x97, 0xeb, 0x48, 0xbd, 0x91, 0xbb, 0xe1, - 0xb8, 0x0d, 0x7c, 0x1d, 0xe4, 0xb8, 0xa0, 0xe1, 0x55, 0x50, 0xea, 0xd8, 0x1b, 0x0f, 0x9f, 0xb2, - 0x50, 0x14, 0x0f, 0x1b, 0xde, 0x7a, 0xc8, 0xcd, 0xf5, 0xd3, 0xa7, 0x23, 0x8b, 0x6f, 0x02, 0x8b, - 0xb8, 0xe3, 0xd6, 0x2d, 0xc2, 0x11, 0x68, 0x9a, 0x0b, 0x16, 0x19, 0x1a, 0x70, 0xdc, 0x95, 0xa8, - 0xdc, 0x38, 0x77, 0xb6, 0x3b, 0xde, 0xef, 0x7f, 0x75, 0x55, 0x67, 0xb7, 0x40, 0x1c, 0xdd, 0x08, - 0x18, 0xc1, 0x30, 0xb6, 0x66, 0xdc, 0x73, 0x32, 0x76, 0x4f, 0xaf, 0x94, 0x57, 0x47, 0xd0, 0x7a, - 0xb5, 0xad, 0xfa, 0x67, 0xbb, 0x27, 0x64, 0x09, 0x84, 0x2c, 0x00, 0xb4, 0x21, 0x83, 0x85, 0xbd, - 0x40, 0xf5, 0xc6, 0x55, 0x32, 0x0f, 0x17, 0xb7, 0xb8, 0x2d, 0x09, 0x9e, 0x80, 0xef, 0x4d, 0xa0, - 0xdb, 0xf8, 0xc2, 0x82, 0x8f, 0x14, 0x37, 0x9e, 0x9f, 0xbe, 0x85, 0x35, 0x12, 0xfb, 0xe9, 0x7b, - 0x0d, 0x90, 0xe6, 0x42, 0x28, 0xe9, 0xa8, 0xc9, 0x8a, 0x75, 0xdf, 0xe6, 0x39, 0x1c, 0x11, 0xf0, - 0x04, 0xd7, 0x0f, 0x80, 0xb3, 0x80, 0xe0, 0xc0, 0x71, 0xe3, 0xf3, 0x2d, 0x9f, 0xbe, 0xad, 0xef, - 0xf9, 0x1c, 0x11, 0xed, 0x92, 0x09, 0x37, 0x7a, 0xf9, 0x9c, 0xbe, 0x3d, 0x87, 0x83, 0xdc, 0xb0, - 0x8f, 0x81, 0x20, 0xde, 0xa8, 0x7a, 0x70, 0x52, 0x0f, 0xba, 0xaa, 0x07, 0xa1, 0xee, 0x2a, 0xec, - 0x98, 0xb2, 0x82, 0xbb, 0x78, 0x98, 0xbe, 0xf7, 0x60, 0x21, 0x0d, 0xed, 0xb6, 0xd1, 0x42, 0xbc, - 0x49, 0xc6, 0xf8, 0x18, 0xc5, 0xec, 0x3a, 0xba, 0xa5, 0xf3, 0x68, 0x2e, 0x67, 0xac, 0x6b, 0xc3, - 0xed, 0x85, 0x4b, 0x11, 0x77, 0xbe, 0xaa, 0x08, 0x97, 0x26, 0x85, 0x62, 0x97, 0xfe, 0x88, 0x8c, - 0x38, 0x18, 0x1c, 0x0c, 0x73, 0x35, 0x70, 0x16, 0x01, 0x8a, 0x82, 0xc3, 0x51, 0x0a, 0x5b, 0xbc, - 0x2a, 0x7e, 0x4a, 0xba, 0x2a, 0xde, 0xc1, 0x68, 0x22, 0xe8, 0x97, 0x86, 0xa4, 0xe2, 0x6e, 0x08, - 0xb9, 0x4d, 0x47, 0x22, 0xe1, 0x5a, 0xa2, 0xf2, 0xc0, 0x24, 0x77, 0xcf, 0xd2, 0xbc, 0x03, 0xe3, - 0xe4, 0x42, 0x32, 0x43, 0xd1, 0xbc, 0x5b, 0x5f, 0x45, 0x8f, 0xd7, 0x2b, 0xb5, 0x39, 0xa2, 0x38, - 0x3d, 0x3f, 0xa0, 0xdd, 0xa3, 0x4a, 0xb9, 0xfd, 0xaf, 0x29, 0xf7, 0x50, 0xb8, 0x46, 0x45, 0x8b, - 0x54, 0xbb, 0x3c, 0x29, 0xb7, 0x9e, 0x84, 0x6d, 0xcc, 0x57, 0xd9, 0x20, 0xf3, 0xae, 0x95, 0x05, - 0xe1, 0xdd, 0x5e, 0x31, 0x15, 0x69, 0x12, 0xad, 0xcc, 0x91, 0x0b, 0x3a, 0x32, 0xc6, 0x70, 0x16, - 0x2f, 0x26, 0x8e, 0x59, 0xe6, 0x1c, 0xa5, 0x02, 0x1b, 0xd7, 0x5c, 0x71, 0xd0, 0xc4, 0xfa, 0x0c, - 0xeb, 0x42, 0xb1, 0x56, 0x91, 0x18, 0xd9, 0x2d, 0x70, 0x39, 0xcc, 0xac, 0x8e, 0xaf, 0xfd, 0x15, - 0xc3, 0x69, 0x2a, 0xe9, 0xec, 0x60, 0x5e, 0xad, 0x17, 0x40, 0x98, 0x19, 0x4c, 0x7e, 0x09, 0x15, - 0x87, 0x8e, 0x86, 0xe1, 0xa7, 0xcf, 0x74, 0x06, 0x7e, 0xc5, 0xe9, 0x8a, 0xc9, 0x4c, 0x77, 0x9b, - 0x64, 0x78, 0x37, 0x37, 0xe4, 0xa2, 0x67, 0x84, 0x6e, 0xc0, 0xab, 0x5d, 0x15, 0x71, 0xb8, 0xc6, - 0x4f, 0xc9, 0x13, 0x91, 0x93, 0x2d, 0xa7, 0x67, 0x45, 0xe6, 0x14, 0x1a, 0x8e, 0x2f, 0x6c, 0x11, - 0x38, 0x0a, 0x67, 0xe8, 0xaa, 0x88, 0x8f, 0x83, 0xbc, 0x68, 0xaa, 0xce, 0x7b, 0x3c, 0xd3, 0x47, - 0x94, 0xe0, 0x79, 0x69, 0x20, 0xff, 0x3a, 0x36, 0x70, 0xab, 0x13, 0x2a, 0xf4, 0x2e, 0x55, 0x45, - 0x61, 0x25, 0x00, 0x33, 0x24, 0xfa, 0x2f, 0x11, 0x47, 0x5b, 0x19, 0xb9, 0xbc, 0x14, 0x90, 0xab, - 0x76, 0x06, 0x67, 0x36, 0xba, 0x4f, 0xbd, 0x43, 0xa8, 0x9c, 0xcb, 0x21, 0x5c, 0xcb, 0xf0, 0xef, - 0x6a, 0x88, 0xf2, 0x2e, 0xb7, 0x9b, 0xeb, 0xe6, 0x32, 0xc7, 0x3d, 0xd3, 0xf5, 0x78, 0x07, 0xe1, - 0x16, 0xe7, 0xc9, 0x1d, 0xeb, 0x5e, 0xea, 0xc9, 0x0e, 0x9f, 0x54, 0xd2, 0xb9, 0x9b, 0x6b, 0x18, - 0x73, 0xe6, 0x50, 0x60, 0x30, 0xcd, 0x1d, 0xc8, 0xb0, 0x4f, 0x2d, 0x72, 0x4f, 0xb0, 0x08, 0xde, - 0x38, 0x08, 0xdc, 0x94, 0x63, 0xc9, 0x38, 0xe6, 0x31, 0x0e, 0x19, 0x2a, 0x15, 0x55, 0x9d, 0xd3, - 0xa9, 0x71, 0x13, 0x00, 0x13, 0xfa, 0x08, 0xc3, 0x34, 0x8c, 0x4c, 0x87, 0x5e, 0x0a, 0x24, 0x3d, - 0xf3, 0x4c, 0x6f, 0x5e, 0x2a, 0x62, 0xe9, 0x99, 0xae, 0xbc, 0x4a, 0x58, 0x75, 0xbe, 0x80, 0x80, - 0xbc, 0xd7, 0xab, 0xb8, 0x64, 0x37, 0x67, 0x24, 0x5f, 0xd1, 0x24, 0x2d, 0xfd, 0x1a, 0x93, 0xb0, - 0xb2, 0xe0, 0x3e, 0xe3, 0x8a, 0xd4, 0x67, 0x71, 0x14, 0xf1, 0xcb, 0xa6, 0x03, 0x77, 0x65, 0x91, - 0x9c, 0x89, 0x62, 0x9e, 0xb8, 0xae, 0xf2, 0xd3, 0x35, 0x53, 0x2d, 0xc9, 0xcb, 0xb0, 0x78, 0xf1, - 0x30, 0xde, 0xd6, 0xa1, 0x6b, 0x0b, 0xef, 0xa2, 0x46, 0xb3, 0xd7, 0xcc, 0x0b, 0x8c, 0x90, 0x3c, - 0x28, 0x84, 0xae, 0x89, 0x97, 0xd4, 0x97, 0xa9, 0x3e, 0x8c, 0x3f, 0xa8, 0xa6, 0x18, 0x20, 0xf4, - 0x67, 0x25, 0x66, 0xb3, 0x1e, 0xfc, 0x8b, 0x0a, 0x4e, 0xe0, 0x89, 0x12, 0x66, 0x49, 0xf7, 0x25, - 0x6f, 0x41, 0x7e, 0xf5, 0x31, 0xf9, 0xb0, 0x9c, 0x3a, 0xb0, 0xd2, 0x62, 0x58, 0x69, 0xb0, 0xca, - 0xe4, 0x5a, 0xab, 0x96, 0xda, 0x60, 0xf8, 0xdb, 0xec, 0xb4, 0xd6, 0x6e, 0x71, 0x84, 0xfb, 0x4d, - 0x10, 0x04, 0xd6, 0x7e, 0xff, 0xf8, 0x1f, 0x9e, 0x85, 0x7e, 0xe7, 0x51, 0xa3, 0x39, 0xeb, 0xd8, - 0x1e, 0x7e, 0x2e, 0xc5, 0xe7, 0x14, 0xae, 0x70, 0x3c, 0x8e, 0xb6, 0xb4, 0x30, 0x68, 0x6a, 0xdf, - 0x2f, 0x7f, 0x4b, 0xfb, 0x7a, 0xbd, 0xde, 0xe3, 0xda, 0xa7, 0xd5, 0xfc, 0xef, 0x6a, 0x60, 0xf5, - 0xd9, 0xfa, 0xc2, 0x22, 0xa0, 0x4e, 0xca, 0x5d, 0x02, 0xcb, 0x84, 0x9b, 0xf0, 0xbb, 0x77, 0x7d, - 0x78, 0xfc, 0x71, 0xe6, 0xda, 0x17, 0x76, 0x8b, 0xbe, 0x3f, 0x76, 0x77, 0xd1, 0x07, 0x0a, 0xa1, - 0x1d, 0xea, 0x47, 0xa7, 0xb0, 0xf9, 0x67, 0x8d, 0x39, 0x94, 0x00, 0xa7, 0xcc, 0xa1, 0x0a, 0xd1, - 0xfd, 0x3d, 0xe9, 0x4b, 0x76, 0x54, 0x13, 0x4c, 0x96, 0x7b, 0xe5, 0x89, 0xeb, 0xc1, 0x3a, 0xe7, - 0x04, 0xb2, 0xda, 0xf2, 0xf6, 0x37, 0x88, 0x3e, 0xad, 0x03, 0x4d, 0xc2, 0x56, 0x10, 0x04, 0x33, - 0xb1, 0xb4, 0xcb, 0x84, 0x8b, 0x45, 0x10, 0xf4, 0x7a, 0xb6, 0xc0, 0x64, 0xd9, 0xbe, 0xcd, 0x7c, - 0x0e, 0xb1, 0x59, 0xb8, 0x93, 0x1e, 0x09, 0x3f, 0xc5, 0xa1, 0x32, 0xa8, 0xbc, 0x55, 0xe5, 0xb1, - 0x23, 0xae, 0x4f, 0x04, 0xbf, 0x53, 0x8b, 0x02, 0x05, 0x2f, 0x42, 0x6a, 0x01, 0x0f, 0x31, 0x63, - 0xff, 0xc0, 0xfb, 0xb6, 0x70, 0x87, 0x95, 0xa0, 0x97, 0x97, 0x01, 0x5c, 0x6f, 0x11, 0x8c, 0x47, - 0x7e, 0x05, 0x13, 0x09, 0xff, 0x7a, 0xad, 0x47, 0xf6, 0x5f, 0xf1, 0x37, 0x58, 0x99, 0x0d, 0x98, - 0x8b, 0xed, 0x0d, 0xb9, 0x34, 0x96, 0xd2, 0x0f, 0x25, 0xdb, 0xc3, 0x28, 0xe7, 0xec, 0xc1, 0x72, - 0x72, 0xbb, 0xf1, 0x08, 0xa8, 0x94, 0xf3, 0xcb, 0x83, 0xe5, 0x5c, 0xd9, 0x8d, 0x67, 0x46, 0xa5, - 0x9c, 0x7f, 0xaf, 0x97, 0xe3, 0xdc, 0xf1, 0x15, 0x3f, 0x6c, 0xda, 0x19, 0x9b, 0x4a, 0x7e, 0xdc, - 0xcc, 0xc6, 0x2a, 0xad, 0xdc, 0x0b, 0x5e, 0xe1, 0x37, 0xdd, 0x0a, 0x42, 0x38, 0x56, 0xbd, 0x13, - 0x46, 0xe5, 0x62, 0xb9, 0xc0, 0x6d, 0x5b, 0x6a, 0xaf, 0x11, 0x5c, 0xc6, 0x05, 0x57, 0x1d, 0x8a, - 0x1a, 0x29, 0x8e, 0xa8, 0xb2, 0x36, 0x33, 0xe4, 0xe1, 0x56, 0xc2, 0x96, 0xe8, 0xa2, 0xa2, 0x12, - 0x36, 0xf5, 0x73, 0xe9, 0x01, 0x40, 0x44, 0x55, 0xba, 0xf8, 0xab, 0xa9, 0xf5, 0xab, 0x88, 0x01, - 0xaf, 0x99, 0xf2, 0x29, 0x6a, 0x7b, 0x84, 0xc9, 0x3e, 0xf3, 0x5a, 0x44, 0x02, 0x73, 0xf1, 0xb1, - 0x0a, 0x6f, 0x4c, 0xec, 0x8c, 0xbb, 0x76, 0x0a, 0x8b, 0x24, 0xba, 0x5e, 0xe4, 0xc5, 0x70, 0xeb, - 0x54, 0xea, 0x84, 0xeb, 0xa6, 0x87, 0x34, 0x29, 0x43, 0x98, 0x2b, 0x98, 0xa1, 0x17, 0x11, 0x9c, - 0x9a, 0x0e, 0x42, 0xbd, 0x3f, 0xb8, 0x64, 0xc8, 0x8f, 0xfc, 0x60, 0x07, 0xb3, 0x96, 0xee, 0x36, - 0x9d, 0xa4, 0x91, 0xff, 0xa6, 0x48, 0x29, 0x57, 0x4a, 0x36, 0xab, 0x94, 0x42, 0x00, 0xb3, 0x90, - 0x4b, 0xd7, 0x90, 0x61, 0x37, 0x1b, 0x26, 0x5e, 0x00, 0x93, 0x10, 0x95, 0x41, 0x4b, 0x0a, 0x9a, - 0xfa, 0x71, 0x19, 0x34, 0xa5, 0xa0, 0x6b, 0xb8, 0xdc, 0x2a, 0x03, 0x26, 0xd0, 0xa7, 0x39, 0xe7, - 0x0d, 0x2a, 0x19, 0x7e, 0xfe, 0x7c, 0xee, 0xd1, 0xff, 0xe7, 0x9b, 0x8d, 0x10, 0xad, 0xa3, 0x5b, - 0x07, 0x4a, 0xed, 0x7f, 0xe6, 0x83, 0x93, 0x9c, 0x57, 0x45, 0xe7, 0x06, 0xbf, 0x35, 0x88, 0x50, - 0xcb, 0xbc, 0x59, 0xec, 0x30, 0x9b, 0x15, 0x3a, 0x2b, 0xdb, 0x78, 0x0f, 0x64, 0xab, 0xe2, 0xe3, - 0x32, 0xfa, 0x53, 0x52, 0x17, 0x0e, 0x67, 0x7a, 0x81, 0x2e, 0x90, 0x86, 0x07, 0x07, 0xb8, 0xc4, - 0x0f, 0xf0, 0x7d, 0xf8, 0xd1, 0x1f, 0x5c, 0x28, 0x44, 0x53, 0x42, 0x84, 0xd5, 0x30, 0x49, 0x59, - 0x17, 0x8d, 0x1f, 0x1c, 0x1d, 0x4f, 0xd4, 0xee, 0x21, 0x60, 0xbc, 0x83, 0x67, 0xa9, 0xf0, 0x9c, - 0xf4, 0xea, 0xa7, 0x1f, 0x4f, 0xb1, 0xb9, 0x99, 0xcb, 0x59, 0x22, 0x6f, 0xf0, 0xbc, 0xe1, 0xc7, - 0x3d, 0xf3, 0xc8, 0xe0, 0xe6, 0xe0, 0x66, 0x85, 0x6b, 0xa8, 0xd9, 0xed, 0x7b, 0x30, 0xe3, 0x2e, - 0xdf, 0x31, 0xa1, 0x40, 0x51, 0x9d, 0xd4, 0xa0, 0xe0, 0xd1, 0xce, 0xc6, 0x1d, 0x36, 0x61, 0xc9, - 0x53, 0xcc, 0x86, 0x53, 0xc4, 0x97, 0x33, 0x9d, 0x1c, 0x46, 0xff, 0x3d, 0xff, 0xc4, 0x03, 0x54, - 0xb4, 0x13, 0x7f, 0x73, 0x17, 0x50, 0xe8, 0xf8, 0x69, 0x19, 0x16, 0x97, 0xeb, 0x29, 0x4a, 0x07, - 0x0e, 0x9e, 0x87, 0xd9, 0x2c, 0x49, 0x92, 0x2f, 0x21, 0x3b, 0x40, 0x5f, 0x61, 0x30, 0x2c, 0x5f, - 0x42, 0xe4, 0x38, 0x68, 0x38, 0xe4, 0xf4, 0xd2, 0x95, 0xb0, 0x6e, 0x8e, 0x73, 0x39, 0xeb, 0xf8, - 0xfd, 0xa7, 0xee, 0xf8, 0x10, 0xd1, 0x66, 0x1d, 0xac, 0xd6, 0xf5, 0x2e, 0x67, 0xe3, 0x81, 0xfc, - 0x79, 0xd8, 0xc3, 0xdb, 0xf0, 0xe8, 0xc8, 0xf7, 0x2f, 0x67, 0x14, 0xd2, 0xf1, 0x0f, 0x31, 0xa4, - 0xf7, 0x54, 0x0b, 0x81, 0x02, 0x24, 0x01, 0x88, 0x60, 0x62, 0xae, 0xf1, 0xb4, 0xba, 0xb8, 0xcc, - 0x51, 0x91, 0xf5, 0x72, 0xb6, 0xf1, 0x2c, 0x84, 0x6e, 0xf3, 0xac, 0xe3, 0xde, 0x3f, 0xd0, 0x1f, - 0xb4, 0xf7, 0xac, 0x2f, 0x00, 0xd1, 0x81, 0x68, 0xcc, 0x0c, 0xec, 0x62, 0x08, 0xf8, 0x40, 0xdc, - 0x59, 0xce, 0x3c, 0xc6, 0x78, 0xe3, 0x8c, 0xa4, 0xd7, 0x1e, 0x79, 0xc9, 0x93, 0x38, 0x1f, 0xac, - 0xfd, 0x39, 0xa7, 0xeb, 0x38, 0x22, 0xba, 0xed, 0x22, 0xcc, 0x56, 0xd6, 0x07, 0x36, 0x4d, 0x12, - 0xf1, 0xb2, 0x76, 0x78, 0xfd, 0x40, 0xc8, 0xd7, 0x3c, 0x68, 0x65, 0x6c, 0xe1, 0x2b, 0xd0, 0x41, - 0xc9, 0xc0, 0x91, 0x4d, 0x3e, 0x33, 0xf1, 0x96, 0x81, 0x06, 0xc9, 0xcd, 0xa3, 0x3c, 0xcb, 0x79, - 0x1b, 0x65, 0x1f, 0xce, 0xdc, 0x3f, 0xd9, 0x5a, 0x5e, 0x73, 0xd9, 0xd8, 0x33, 0xf2, 0x33, 0x29, - 0xdb, 0xe0, 0xb5, 0x14, 0xb7, 0xa8, 0x16, 0x47, 0x63, 0xaa, 0xa4, 0xe9, 0xf6, 0x48, 0xd7, 0x9b, - 0xbb, 0xe3, 0x6a, 0x1a, 0x3d, 0x2e, 0x2f, 0x97, 0x10, 0x49, 0x52, 0x1d, 0xeb, 0x7c, 0xc3, 0xc1, - 0x25, 0xb9, 0x7c, 0x8f, 0x03, 0x6d, 0x24, 0xa9, 0xbf, 0xba, 0xf6, 0xb4, 0x00, 0xc8, 0xff, 0x1b, - 0x71, 0x39, 0xb4, 0x24, 0x9f, 0xfc, 0xd5, 0xa5, 0xee, 0xcc, 0xa6, 0x6f, 0xa8, 0x97, 0xe9, 0x3a, - 0x78, 0x42, 0x4e, 0xdf, 0xae, 0xf1, 0x47, 0x4c, 0x19, 0x01, 0xb3, 0xfb, 0x0a, 0xce, 0x69, 0x1d, - 0xd5, 0x3a, 0xd5, 0xc2, 0x4d, 0xef, 0x1b, 0xe4, 0xb7, 0xed, 0xac, 0x48, 0x32, 0x20, 0x76, 0x71, - 0xdf, 0xbe, 0x2d, 0xd8, 0xca, 0xb1, 0xaf, 0x23, 0xf2, 0x14, 0x72, 0x63, 0x0b, 0xd5, 0x35, 0xa4, - 0xf5, 0x38, 0x33, 0x44, 0x63, 0x88, 0x16, 0xdc, 0x99, 0x0d, 0xea, 0xbd, 0x5d, 0x91, 0xe9, 0x07, - 0x7e, 0x94, 0x0e, 0xef, 0xca, 0x1a, 0x21, 0x26, 0xe5, 0x93, 0x83, 0x4e, 0x49, 0x1d, 0x9d, 0x2e, - 0xdc, 0x18, 0xe9, 0xee, 0x36, 0xde, 0x52, 0x49, 0xeb, 0x78, 0x27, 0x7a, 0x9e, 0xc0, 0xee, 0xd5, - 0x9a, 0x99, 0xd7, 0x9a, 0xe9, 0x55, 0xd0, 0xa3, 0xef, 0xd2, 0xa1, 0x5e, 0xb0, 0x77, 0xa5, 0xe3, - 0xd4, 0xc2, 0x8f, 0x4d, 0xfd, 0xa5, 0xed, 0x31, 0xc3, 0x5d, 0x18, 0xf3, 0x9e, 0x3d, 0x33, 0xc4, - 0x5e, 0xd5, 0x86, 0xd1, 0xc9, 0xdc, 0x84, 0x1c, 0x0d, 0x15, 0xdf, 0x4c, 0x52, 0x7a, 0x3b, 0x74, - 0x98, 0x6b, 0x9e, 0xb8, 0x7f, 0x01, 0x47, 0x5a, 0x07, 0x90, 0x7e, 0x24, 0x2a, 0x74, 0x8e, 0x4c, - 0x3b, 0x7d, 0x7c, 0x4d, 0xe9, 0x0a, 0x8c, 0xb6, 0x31, 0x48, 0x30, 0x4b, 0x50, 0x06, 0x6a, 0xf3, - 0x4c, 0xaa, 0xac, 0xbf, 0x5a, 0xe7, 0x3b, 0x7d, 0xe8, 0xfe, 0xc6, 0x3b, 0xee, 0xc1, 0x59, 0xed, - 0x98, 0x90, 0xc6, 0x75, 0x90, 0x62, 0xed, 0x42, 0x44, 0x48, 0x6e, 0x02, 0x23, 0x52, 0x4b, 0x93, - 0xb5, 0xbf, 0xc5, 0x14, 0xa4, 0x05, 0xf2, 0xfc, 0x05, 0x91, 0x53, 0x55, 0x1e, 0xde, 0x91, 0xec, - 0x44, 0xe5, 0x44, 0x51, 0x4f, 0x8d, 0x0b, 0x54, 0xfa, 0xb1, 0x85, 0xcb, 0xac, 0x80, 0x29, 0x96, - 0x52, 0xe7, 0x30, 0x2a, 0xc8, 0xbb, 0x45, 0x83, 0x5f, 0x09, 0x2e, 0xaf, 0x25, 0x4b, 0x09, 0x69, - 0xe7, 0x78, 0x5e, 0xf7, 0x63, 0x25, 0xc5, 0xb5, 0x7d, 0xf9, 0xba, 0xfc, 0xda, 0x22, 0xa5, 0x08, - 0xd9, 0x96, 0x48, 0xe7, 0x66, 0x4f, 0x38, 0x15, 0x5a, 0xb8, 0xed, 0x8e, 0x65, 0xe9, 0xdc, 0x08, - 0x7d, 0x3b, 0x25, 0xcd, 0x56, 0xec, 0x1f, 0xbc, 0x92, 0xfa, 0xa3, 0xf0, 0x44, 0xca, 0x24, 0x46, - 0x21, 0x1c, 0x22, 0x77, 0xc2, 0x2a, 0xd9, 0x8f, 0x3e, 0x87, 0xe7, 0x0d, 0xfe, 0xa2, 0x9b, 0xdd, - 0xb3, 0x76, 0x8b, 0xe4, 0xe7, 0x34, 0x65, 0xd9, 0xcb, 0x00, 0xc5, 0xcb, 0x4a, 0x1a, 0x20, 0xc6, - 0xd5, 0x8c, 0xc5, 0xf7, 0x95, 0x39, 0x63, 0x39, 0xc2, 0x67, 0x08, 0xbd, 0x6d, 0x9d, 0xe9, 0xc7, - 0x17, 0x00, 0xe9, 0xaa, 0xf8, 0xf9, 0x86, 0x37, 0x2c, 0xf6, 0xb9, 0xc1, 0x37, 0x92, 0xc2, 0x4e, - 0x24, 0xc0, 0xa6, 0xa4, 0xa3, 0x16, 0x39, 0xa9, 0xda, 0x43, 0xb4, 0xa1, 0x2c, 0x83, 0x79, 0xd3, - 0x58, 0x1b, 0x3f, 0xaa, 0x76, 0xd0, 0x7b, 0x9a, 0x74, 0x88, 0xb4, 0x1f, 0x8d, 0x64, 0x03, 0xd8, - 0x9f, 0x18, 0x12, 0xa4, 0x8a, 0xff, 0x44, 0x36, 0x79, 0x21, 0xc7, 0x15, 0x8f, 0x99, 0x01, 0x3a, - 0x40, 0x8b, 0x8d, 0x35, 0x26, 0xa6, 0x1f, 0x4e, 0x06, 0x46, 0x2a, 0x9a, 0x1b, 0xe9, 0x28, 0x14, - 0x5d, 0x5d, 0x4b, 0xab, 0x3b, 0x3e, 0xca, 0xb4, 0xe2, 0x8d, 0x29, 0x20, 0x27, 0xeb, 0x4d, 0xca, - 0x31, 0x70, 0x08, 0xce, 0xbe, 0xdc, 0xda, 0x6e, 0x7b, 0x02, 0xe5, 0xbf, 0xc5, 0x1d, 0x05, 0xb4, - 0x61, 0x82, 0x2d, 0xa6, 0x1e, 0xdc, 0xd3, 0x65, 0x51, 0xb7, 0xf5, 0xd0, 0x1c, 0xa5, 0x46, 0x2c, - 0x88, 0xb9, 0xeb, 0x81, 0x26, 0x90, 0x9c, 0x91, 0x5c, 0x9f, 0x8c, 0x48, 0xdc, 0x30, 0x59, 0xe7, - 0xe6, 0x69, 0x20, 0x5f, 0xef, 0xe8, 0x11, 0x46, 0x9c, 0x20, 0x05, 0x9c, 0x75, 0xa6, 0x47, 0xa1, - 0x86, 0x43, 0x04, 0x2e, 0xa3, 0xb2, 0x11, 0x88, 0xb3, 0xf2, 0x86, 0x6f, 0x50, 0x69, 0x47, 0xf2, - 0xb7, 0x1e, 0x01, 0xda, 0x93, 0x8e, 0x8a, 0x7d, 0x43, 0x66, 0x04, 0xac, 0xdc, 0x7d, 0x66, 0x95, - 0x23, 0x9b, 0xec, 0x0c, 0x70, 0xd3, 0xc2, 0x66, 0x82, 0x6a, 0x50, 0xe1, 0xbe, 0xd5, 0xc9, 0x51, - 0xf5, 0x38, 0xce, 0xe1, 0xf9, 0xe6, 0xd8, 0xfb, 0xfb, 0x30, 0x97, 0xb6, 0xd7, 0xee, 0xc6, 0x67, - 0xde, 0x9d, 0x43, 0x25, 0xab, 0x72, 0x94, 0x88, 0x32, 0xc7, 0xc7, 0x02, 0xcb, 0x8a, 0xdb, 0x5f, - 0x70, 0x4c, 0x65, 0x29, 0xae, 0xdb, 0x71, 0xaa, 0x4d, 0x9a, 0xf4, 0x87, 0xfb, 0x7d, 0xf7, 0xbb, - 0x02, 0x61, 0xd7, 0xa1, 0x05, 0x1c, 0xad, 0x53, 0xb8, 0xef, 0xf1, 0x06, 0xc7, 0x03, 0xd7, 0x83, - 0xb3, 0x78, 0x9d, 0xe9, 0x7d, 0xa8, 0x36, 0x14, 0xc2, 0x83, 0x0c, 0xea, 0x84, 0x24, 0xb2, 0x29, - 0x5d, 0x0e, 0x39, 0x2c, 0x5a, 0xb4, 0xbb, 0xab, 0xc2, 0xe1, 0x7d, 0xc6, 0x07, 0xcd, 0xbd, 0xbf, - 0xff, 0x7b, 0xce, 0xd3, 0xfb, 0xfb, 0xa2, 0xd9, 0x49, 0x12, 0x36, 0xff, 0xb8, 0x3e, 0x65, 0xc8, - 0x0f, 0x13, 0xbe, 0x96, 0xa5, 0x07, 0x74, 0x69, 0x69, 0x24, 0xd9, 0x53, 0xbd, 0xf3, 0x11, 0x2b, - 0x57, 0x23, 0x53, 0xd6, 0x22, 0x62, 0x8d, 0x37, 0x2c, 0x43, 0x77, 0x64, 0xae, 0x00, 0xe1, 0x54, - 0xfd, 0x81, 0x53, 0xbd, 0xa4, 0x06, 0xa5, 0xc3, 0x0b, 0x22, 0x08, 0xd5, 0x79, 0x58, 0x70, 0xe7, - 0x68, 0xf9, 0xe3, 0x5d, 0x6d, 0xc7, 0x48, 0x8d, 0xff, 0xad, 0xeb, 0x1e, 0x4e, 0x10, 0x14, 0x13, - 0x13, 0x02, 0x4b, 0xae, 0x1d, 0xcc, 0x8b, 0xa8, 0x70, 0x09, 0xe8, 0x8f, 0x6e, 0x7f, 0xe5, 0xa8, - 0x5d, 0xee, 0xfa, 0xb8, 0xbc, 0x19, 0x34, 0xa1, 0xa1, 0x78, 0xdd, 0xbe, 0x88, 0xd6, 0x19, 0x3f, - 0x2a, 0xf8, 0xc2, 0x11, 0xc2, 0xfe, 0xc6, 0x99, 0x40, 0x57, 0xa1, 0x95, 0x54, 0xb2, 0x67, 0x18, - 0x55, 0x7d, 0x2f, 0x6b, 0xd3, 0x9d, 0x64, 0xab, 0xa0, 0x80, 0x5b, 0x47, 0x31, 0x40, 0x3c, 0x74, - 0x06, 0xa6, 0xe0, 0x44, 0xe8, 0x41, 0x62, 0xa2, 0x90, 0x30, 0x34, 0xbe, 0x14, 0xba, 0x39, 0xe8, - 0x60, 0x1e, 0x7e, 0x8d, 0x38, 0x6b, 0x32, 0xc2, 0xbe, 0x46, 0x3e, 0xf1, 0x35, 0x28, 0xdc, 0xff, - 0x1c, 0x9d, 0xa3, 0x5b, 0x4d, 0xa7, 0xe0, 0xe9, 0xe4, 0xe5, 0x7e, 0x92, 0x93, 0x05, 0x08, 0x97, - 0x62, 0xf7, 0x46, 0xf1, 0x49, 0xbe, 0x5f, 0x8c, 0x62, 0x98, 0x54, 0x9e, 0x8a, 0xa8, 0x7c, 0xc6, - 0x6d, 0x3c, 0xf7, 0xfb, 0xdc, 0x51, 0x64, 0xad, 0x11, 0x9a, 0x9b, 0x15, 0xf7, 0x2e, 0x32, 0xfc, - 0xae, 0x98, 0xcd, 0x29, 0x32, 0x6c, 0x8d, 0xe6, 0x64, 0x45, 0x6f, 0x94, 0x06, 0x1b, 0x67, 0xb6, - 0xad, 0xda, 0x2e, 0x2d, 0xa1, 0x68, 0x9e, 0x6e, 0xca, 0x89, 0xad, 0x2c, 0x07, 0x55, 0x59, 0x12, - 0x68, 0x2c, 0x25, 0x6e, 0x8d, 0x25, 0x0c, 0x64, 0x34, 0x53, 0xac, 0x44, 0x30, 0xda, 0x04, 0x93, - 0x2e, 0x15, 0x96, 0x39, 0x8a, 0xf5, 0x84, 0x64, 0xe1, 0x18, 0x47, 0xd4, 0x90, 0xf2, 0xe5, 0x8d, - 0x52, 0xbe, 0xf2, 0xba, 0xf2, 0xd8, 0x0e, 0x91, 0x78, 0x4d, 0xa9, 0x94, 0x09, 0x24, 0x7f, 0xd0, - 0x34, 0x18, 0x80, 0x95, 0x29, 0x3c, 0x36, 0xa6, 0xe9, 0x94, 0x93, 0x8d, 0x4d, 0xae, 0xe6, 0x2a, - 0xaf, 0xcb, 0x32, 0x1f, 0xc2, 0xc1, 0x2b, 0x5d, 0xa4, 0xc8, 0x9d, 0x48, 0x03, 0xec, 0xe8, 0xdc, - 0x4f, 0xc5, 0x17, 0x25, 0x46, 0xf6, 0xca, 0x35, 0xa8, 0x52, 0x91, 0x07, 0x04, 0x98, 0x42, 0x15, - 0x20, 0x40, 0xd3, 0xdc, 0x12, 0xa1, 0x4d, 0x85, 0xf9, 0x25, 0xb8, 0x61, 0x44, 0x80, 0x65, 0x7a, - 0x0a, 0x72, 0x94, 0x53, 0x2d, 0x0b, 0xdd, 0x46, 0x18, 0x05, 0x21, 0xdc, 0x9c, 0x34, 0xee, 0x14, - 0x26, 0x4c, 0xda, 0x63, 0x98, 0xdb, 0x86, 0x46, 0xe4, 0xf9, 0x55, 0xb3, 0x06, 0x8d, 0x5c, 0xe1, - 0x73, 0xab, 0x35, 0x47, 0x69, 0xe2, 0x91, 0x86, 0x70, 0xc5, 0x60, 0x80, 0x94, 0x66, 0x47, 0xba, - 0x82, 0x8d, 0x1f, 0xa3, 0x70, 0xb5, 0x41, 0x25, 0x4c, 0x38, 0x64, 0xe0, 0x19, 0x2a, 0x5a, 0x49, - 0xdc, 0x05, 0x10, 0x99, 0x21, 0x46, 0xad, 0xb2, 0xec, 0x9a, 0xe1, 0x2c, 0x07, 0x9a, 0x12, 0xc2, - 0xc7, 0xe7, 0x4e, 0x6b, 0x9f, 0x6d, 0xfb, 0x71, 0xe2, 0xf1, 0x4d, 0xf1, 0x27, 0x6c, 0x5f, 0x35, - 0x29, 0x68, 0x4c, 0xb7, 0x46, 0x29, 0x05, 0xad, 0x29, 0x5d, 0xe2, 0xb5, 0xea, 0x34, 0xba, 0x78, - 0xad, 0xc7, 0xe8, 0x7a, 0x90, 0x3c, 0x56, 0xd0, 0xd5, 0xff, 0xf9, 0xb2, 0xee, 0xa4, 0x4f, 0xae, - 0x5b, 0x68, 0x91, 0xeb, 0xbd, 0xf7, 0x8f, 0x68, 0x17, 0x86, 0xd4, 0x12, 0xbf, 0xe7, 0xdd, 0xf4, - 0x84, 0x7b, 0x29, 0xea, 0xdc, 0x19, 0x29, 0x7a, 0x88, 0x51, 0x1f, 0x69, 0xad, 0xe7, 0xee, 0x99, - 0xee, 0x14, 0xaf, 0x46, 0x60, 0x21, 0x7d, 0x4c, 0xd6, 0x30, 0x4b, 0xf9, 0xa4, 0x1a, 0x00, 0x27, - 0xf5, 0x90, 0x69, 0xd2, 0xad, 0x20, 0x7f, 0x9b, 0x25, 0x84, 0x58, 0x8a, 0xa5, 0xc8, 0x23, 0x91, - 0xfb, 0x86, 0x66, 0xba, 0x47, 0x68, 0x7a, 0x1d, 0x2a, 0x67, 0xc9, 0xf9, 0xaf, 0x61, 0x71, 0xe9, - 0xd8, 0x90, 0x57, 0xa9, 0x22, 0xed, 0xf4, 0x36, 0xd2, 0xf5, 0xb6, 0xce, 0x06, 0x99, 0x7d, 0x91, - 0x0e, 0x49, 0xd3, 0xd9, 0x8f, 0x24, 0x01, 0xdb, 0x31, 0x9c, 0x20, 0x8a, 0x03, 0x4a, 0x5e, 0x1e, - 0xe5, 0x34, 0xd3, 0x2d, 0x20, 0x02, 0x5b, 0xfc, 0x55, 0x8e, 0xf4, 0xad, 0x1f, 0x27, 0x34, 0x05, - 0x36, 0x10, 0x2c, 0x7a, 0xaf, 0x8a, 0xca, 0x6f, 0x74, 0xdc, 0xe9, 0xc0, 0xd8, 0xca, 0x91, 0x83, - 0xd2, 0x50, 0x92, 0xf8, 0x9b, 0x1a, 0xe7, 0xe5, 0xeb, 0x17, 0x2f, 0xdf, 0x3b, 0x76, 0x11, 0x4c, - 0x67, 0x9c, 0x29, 0x60, 0xbb, 0x9f, 0xf9, 0xa4, 0x9c, 0x8b, 0x85, 0xf6, 0x31, 0x49, 0xbd, 0xff, - 0x7c, 0xd9, 0x64, 0xb6, 0x2a, 0x56, 0xdb, 0x8e, 0x23, 0xa7, 0xaa, 0x07, 0xcf, 0x7f, 0xed, 0x5e, - 0xa5, 0xad, 0xc0, 0x87, 0x83, 0xa7, 0x80, 0xd1, 0xd8, 0x3a, 0x2c, 0xf5, 0x56, 0xfa, 0xc5, 0xfe, - 0x0d, 0x3a, 0xfb, 0x26, 0x0d, 0x00, 0xe2, 0x1c, 0xe4, 0xe8, 0x80, 0xb5, 0xe3, 0x44, 0xdf, 0xe5, - 0x07, 0xd7, 0xbf, 0xba, 0xd0, 0x98, 0x37, 0xe1, 0x0d, 0x9b, 0x23, 0xc6, 0x71, 0x6f, 0x07, 0x4f, - 0x60, 0x87, 0xb7, 0x7e, 0xdc, 0x23, 0x20, 0x45, 0x57, 0x05, 0xa0, 0x5b, 0xd5, 0x68, 0x8c, 0x01, - 0xf1, 0xb8, 0xdb, 0x1f, 0xc0, 0x53, 0xfc, 0x31, 0x3d, 0xf7, 0x7d, 0x31, 0x50, 0x50, 0x0e, 0x0c, - 0x02, 0xa7, 0x26, 0xf2, 0x92, 0x90, 0x45, 0x1a, 0x16, 0xe8, 0x60, 0x9e, 0x6f, 0x1f, 0xdd, 0x41, - 0xc4, 0x7e, 0x7f, 0x3f, 0x96, 0xe2, 0x8f, 0x00, 0xc9, 0xb0, 0x2f, 0xb9, 0x68, 0x82, 0xeb, 0x7a, - 0x6d, 0x65, 0x2c, 0x6c, 0x2f, 0x76, 0x1f, 0x3b, 0xcc, 0x7d, 0x28, 0x48, 0xec, 0x17, 0x5d, 0xbf, - 0x96, 0x5c, 0xa1, 0xdc, 0x5d, 0xff, 0xea, 0x0b, 0x56, 0x29, 0x1d, 0x2e, 0xe4, 0x27, 0x61, 0xa4, - 0x31, 0x3e, 0xc9, 0x4a, 0x5d, 0x0c, 0x30, 0x27, 0xab, 0x47, 0x92, 0xa4, 0xc7, 0x5a, 0x84, 0x8f, - 0x4c, 0x4f, 0x86, 0x4d, 0xa5, 0xe8, 0x8f, 0x4e, 0x1f, 0x23, 0x9f, 0x48, 0x29, 0x1c, 0xd9, 0x40, - 0xef, 0x8f, 0xca, 0x6c, 0x45, 0x5a, 0x16, 0x25, 0xbc, 0x43, 0xd1, 0xc4, 0xc3, 0xf9, 0x81, 0xbc, - 0xb0, 0x6b, 0xff, 0xfa, 0xd7, 0x9a, 0xfb, 0x28, 0x9e, 0x80, 0x63, 0xab, 0x13, 0x32, 0x28, 0x05, - 0x3c, 0xf7, 0xc5, 0x9a, 0x79, 0xee, 0x35, 0x33, 0xe2, 0xd2, 0xd9, 0x0a, 0x1e, 0x22, 0x3c, 0x09, - 0x2a, 0x96, 0xd1, 0x37, 0x28, 0x1f, 0x2f, 0xd2, 0xc1, 0xd1, 0xee, 0xae, 0xcc, 0x4d, 0xf2, 0x1b, - 0x29, 0x25, 0x42, 0x70, 0x02, 0x18, 0x2e, 0xb9, 0x1a, 0x21, 0x35, 0x24, 0x3e, 0xc4, 0x2f, 0x27, - 0xfd, 0xc1, 0x71, 0x6f, 0x32, 0x38, 0xec, 0x0d, 0x07, 0x4f, 0xe0, 0xfe, 0xd9, 0xc1, 0x96, 0x60, - 0x28, 0x95, 0x45, 0x6d, 0xa7, 0xef, 0xf7, 0xf7, 0x65, 0x0d, 0x14, 0xca, 0x7f, 0xe0, 0x76, 0x43, - 0x11, 0x00, 0xcc, 0x3c, 0x07, 0x37, 0xa8, 0xae, 0x04, 0x79, 0xeb, 0x71, 0x0b, 0xf7, 0x53, 0x68, - 0xbb, 0xee, 0x1b, 0x85, 0xb7, 0x47, 0x77, 0x8d, 0xa2, 0x0f, 0x3e, 0x5f, 0x39, 0xdc, 0x21, 0xaa, - 0xaf, 0x36, 0x92, 0x32, 0x3f, 0x80, 0x81, 0x80, 0x74, 0x13, 0xbb, 0x87, 0x2c, 0xbd, 0x75, 0x91, - 0xd8, 0x5f, 0x31, 0x89, 0x6a, 0x5d, 0x72, 0x0c, 0x0f, 0x5e, 0xf8, 0xfd, 0xbd, 0xbe, 0x49, 0x27, - 0x36, 0x8a, 0x08, 0xa0, 0xec, 0x23, 0xfc, 0xd0, 0x21, 0x6f, 0x18, 0x9c, 0x5a, 0xaf, 0x18, 0x43, - 0x3b, 0x9d, 0x6e, 0xb7, 0xcb, 0x35, 0xef, 0x76, 0x0a, 0x93, 0xb1, 0x64, 0x31, 0xc5, 0x24, 0x83, - 0x1b, 0xec, 0x32, 0x5c, 0x00, 0x55, 0xcc, 0xad, 0x0d, 0x7f, 0x9a, 0xfe, 0x17, 0x69, 0x4f, 0xf3, - 0x6f, 0xb9, 0xeb, 0xea, 0x68, 0x76, 0x21, 0xac, 0x6b, 0x57, 0xc4, 0x20, 0x8e, 0xcc, 0x84, 0x4e, - 0xe5, 0xfb, 0x7b, 0x93, 0x9b, 0xc8, 0xbc, 0x3b, 0x08, 0x25, 0xad, 0x36, 0x4f, 0x6b, 0x0d, 0x84, - 0x79, 0x94, 0xcb, 0x1d, 0x36, 0xa6, 0x27, 0x38, 0x1b, 0xc5, 0x15, 0xa9, 0x75, 0x43, 0x5f, 0xa0, - 0xe4, 0x41, 0x17, 0x76, 0x57, 0x93, 0x2b, 0xd8, 0xcf, 0x22, 0xba, 0xfe, 0x58, 0x81, 0xab, 0xfb, - 0x35, 0xbe, 0x03, 0x70, 0x3f, 0xb3, 0x18, 0x15, 0x10, 0x56, 0xc9, 0x3a, 0x67, 0xe4, 0xc8, 0x8b, - 0xf3, 0x96, 0xe5, 0xfb, 0x6c, 0xde, 0x9d, 0x65, 0x40, 0x5a, 0xc9, 0xa7, 0x29, 0xec, 0x7a, 0xa0, - 0xec, 0x08, 0xf8, 0xa8, 0x5c, 0x1c, 0xa5, 0x23, 0xdf, 0x42, 0x97, 0x63, 0x6d, 0x71, 0x25, 0x0c, - 0x37, 0xec, 0x1d, 0xb2, 0xee, 0x73, 0x0f, 0x21, 0x20, 0x86, 0x91, 0x47, 0xb3, 0x3b, 0x8c, 0x37, - 0x3c, 0xcf, 0x0b, 0x54, 0x35, 0x81, 0x67, 0xe2, 0x4b, 0x5a, 0x0f, 0x1f, 0x08, 0x70, 0x60, 0x34, - 0xef, 0xa2, 0xd3, 0x40, 0xc1, 0xf9, 0x21, 0x3b, 0x0f, 0x64, 0xb6, 0x53, 0x3b, 0xef, 0xf4, 0xc7, - 0x38, 0x1a, 0x2a, 0xd3, 0x4f, 0x3a, 0x61, 0x86, 0xc9, 0xc6, 0x87, 0x83, 0x64, 0xdf, 0x0f, 0x3a, - 0x4e, 0x0b, 0x6b, 0x47, 0xf3, 0x4a, 0x3d, 0x39, 0x1a, 0xf6, 0x61, 0x23, 0x44, 0x1d, 0xdf, 0x89, - 0xf7, 0x13, 0xf7, 0x60, 0xe0, 0x49, 0x26, 0x1e, 0x4a, 0x2e, 0x72, 0x5a, 0x93, 0x2a, 0x08, 0x9b, - 0xee, 0x47, 0x32, 0xac, 0x42, 0x17, 0x5d, 0x85, 0x39, 0x3c, 0x75, 0xb9, 0x03, 0xe7, 0xf6, 0xf1, - 0x5e, 0x17, 0x62, 0xb8, 0x9b, 0xa6, 0xaf, 0xab, 0xc6, 0xab, 0xfa, 0xd4, 0xac, 0x51, 0x75, 0xaa, - 0x36, 0x4f, 0x8c, 0x12, 0x8f, 0xe0, 0xa3, 0x44, 0x96, 0x2a, 0x26, 0xcb, 0x59, 0x73, 0x23, 0x78, - 0x57, 0x3e, 0x56, 0x38, 0xf4, 0xb4, 0xe0, 0x42, 0x4b, 0x7e, 0xab, 0x62, 0x45, 0x54, 0xd6, 0xc1, - 0x3c, 0x0c, 0xa2, 0x64, 0xc9, 0x9f, 0x0e, 0xb9, 0x9b, 0x1b, 0x4d, 0x8c, 0x8c, 0x59, 0x22, 0x26, - 0x1d, 0x51, 0x9b, 0xb8, 0x81, 0x88, 0xf0, 0x85, 0x9b, 0x94, 0x34, 0xb9, 0x29, 0xc1, 0xc8, 0x35, - 0xd3, 0xd7, 0x12, 0xb8, 0x8a, 0x27, 0xd9, 0xd6, 0x18, 0xe9, 0xef, 0xb8, 0xa4, 0xc8, 0x02, 0xf3, - 0xc1, 0x1c, 0xeb, 0xef, 0xe2, 0x08, 0xce, 0xc2, 0x88, 0x04, 0xa2, 0x93, 0x48, 0xda, 0x0a, 0x0d, - 0x49, 0x9f, 0x1c, 0x6e, 0x3d, 0x54, 0x5e, 0x8d, 0xba, 0xc8, 0xaf, 0x87, 0x93, 0x26, 0x40, 0x95, - 0x5f, 0x15, 0xd1, 0x17, 0x1c, 0x8d, 0x88, 0xb7, 0xcd, 0x34, 0x39, 0x92, 0x4f, 0xf0, 0x3e, 0xfa, - 0x16, 0xd7, 0xee, 0x69, 0xf4, 0xb3, 0x14, 0x93, 0x71, 0x5b, 0x07, 0x41, 0x4a, 0xe0, 0x3a, 0xad, - 0x2e, 0x15, 0x92, 0xf7, 0x79, 0x71, 0xc9, 0x9a, 0xf0, 0x0b, 0xf8, 0x55, 0x5f, 0x32, 0x84, 0x6a, - 0x42, 0x3e, 0xc6, 0xa3, 0xad, 0xb1, 0x62, 0xfc, 0x04, 0x8b, 0x34, 0xae, 0x06, 0x44, 0x42, 0xc7, - 0x88, 0xb4, 0x1d, 0x72, 0xbb, 0xd9, 0x5a, 0xb0, 0x3c, 0x5f, 0x91, 0x90, 0x53, 0xd7, 0x91, 0x71, - 0x21, 0xe2, 0x25, 0x52, 0x39, 0x9e, 0xf9, 0x49, 0xdc, 0x4a, 0x4c, 0x40, 0xef, 0xfb, 0xe2, 0x9a, - 0x69, 0xa8, 0x9d, 0xbf, 0x27, 0xb4, 0x8a, 0x2b, 0x29, 0x45, 0xfb, 0x95, 0x7d, 0xdc, 0xb6, 0xf8, - 0xd2, 0x4f, 0x77, 0x25, 0x11, 0x22, 0x74, 0x64, 0xc5, 0x0b, 0xd2, 0xb6, 0x77, 0x4c, 0x10, 0x0c, - 0x4f, 0xf3, 0x7e, 0xfc, 0x70, 0xb6, 0xf4, 0x8f, 0xa8, 0x9a, 0x85, 0x09, 0x8b, 0x34, 0xcf, 0x7e, - 0x49, 0xc4, 0xbe, 0xf2, 0x9c, 0x4c, 0x51, 0xd0, 0x64, 0x15, 0xc1, 0xc8, 0xa7, 0xbc, 0xed, 0x7d, - 0x36, 0xf8, 0x38, 0x9e, 0xc1, 0x0c, 0x3b, 0x37, 0x4a, 0x6f, 0xf6, 0x34, 0xbc, 0xa5, 0x91, 0xad, - 0x5b, 0x25, 0x6b, 0xec, 0xe9, 0x0a, 0x66, 0x54, 0xfa, 0x8b, 0x6e, 0xaf, 0x4a, 0xb8, 0x4e, 0x7b, - 0x4c, 0x22, 0x74, 0xd9, 0xf8, 0x98, 0x64, 0xd9, 0x23, 0x12, 0x71, 0x6a, 0x64, 0x4b, 0x2a, 0x8d, - 0x0a, 0xa9, 0xc4, 0xab, 0x61, 0xa8, 0x70, 0x7d, 0x9b, 0x17, 0x28, 0xd2, 0x23, 0x76, 0x8f, 0x08, - 0x0f, 0x2a, 0xf8, 0x35, 0xcd, 0x53, 0xbe, 0xb5, 0xf2, 0x33, 0x29, 0x1a, 0xdf, 0x96, 0x48, 0xe8, - 0x9a, 0x6f, 0x4d, 0x53, 0xb2, 0x20, 0xb7, 0xf4, 0xb4, 0x88, 0xdb, 0x12, 0xb8, 0x1b, 0x4e, 0x68, - 0x6f, 0xdb, 0x7d, 0x40, 0x08, 0x0b, 0x1a, 0xbc, 0x7e, 0x80, 0x70, 0xca, 0xd3, 0x26, 0xcf, 0x85, - 0x9e, 0xd8, 0xdb, 0x2d, 0xf7, 0x16, 0x7a, 0x55, 0xb2, 0xe9, 0x1d, 0xec, 0x21, 0xef, 0xa1, 0x31, - 0x61, 0x81, 0x0f, 0x5d, 0xee, 0x28, 0xee, 0x81, 0x94, 0xe5, 0x55, 0x88, 0x77, 0xd6, 0x03, 0xe9, - 0xd6, 0xe9, 0x43, 0xc9, 0xa8, 0x62, 0x38, 0x08, 0xca, 0x74, 0xff, 0xc7, 0xc9, 0x01, 0x9c, 0xc7, - 0x61, 0x5a, 0x8c, 0xad, 0x93, 0x03, 0xbc, 0x1e, 0xf1, 0xf3, 0xb2, 0x58, 0x45, 0x63, 0xeb, 0xff, - 0x03, 0xc6, 0x4c, 0xf0, 0x22, 0x06, 0x1f, 0x02, 0x00 + 0x6f, 0x2d, 0x05, 0x01, 0xbb, 0x92, 0xe5, 0x32, 0x62, 0xa7, 0x24, 0x8c, 0x25, 0xb5, 0x61, 0xc9, + 0x1e, 0x96, 0x8c, 0x25, 0xc9, 0xf0, 0x26, 0x0b, 0x86, 0x8a, 0x0b, 0xb5, 0x30, 0x2e, 0xd1, 0x5d, + 0x25, 0x84, 0x77, 0xff, 0x2b, 0x27, 0x15, 0xe4, 0xdd, 0x8a, 0x15, 0x97, 0xc9, 0x9c, 0xab, 0xa9, + 0x36, 0x2e, 0xa1, 0x25, 0x3b, 0xb0, 0x0d, 0x31, 0x4a, 0xe0, 0xb8, 0x65, 0xc8, 0x5d, 0x55, 0x40, + 0x01, 0x63, 0x87, 0xd2, 0x3f, 0xd4, 0x79, 0x75, 0x05, 0x4a, 0x30, 0xa4, 0x42, 0x71, 0x6f, 0x02, + 0x1b, 0x47, 0x94, 0x2c, 0x1d, 0xfb, 0x7d, 0x62, 0x05, 0x98, 0x5a, 0xec, 0xbe, 0x54, 0x33, 0x9a, + 0x8c, 0x19, 0xad, 0xe8, 0x5a, 0x42, 0xb9, 0x90, 0xd3, 0x7e, 0xc2, 0xe6, 0x5d, 0xb4, 0x7a, 0x80, + 0xe3, 0x24, 0x86, 0x15, 0x7b, 0xeb, 0x38, 0x2e, 0x94, 0x2a, 0x8e, 0x10, 0x8d, 0xb3, 0x5f, 0xa2, + 0x8b, 0x4a, 0x48, 0x37, 0x6c, 0x8b, 0x12, 0xd2, 0xf1, 0xb3, 0x28, 0x29, 0xf0, 0x95, 0x23, 0xbf, + 0x92, 0x7c, 0x0c, 0xa6, 0xb8, 0xbb, 0xe4, 0x18, 0x42, 0x02, 0xb6, 0x2e, 0x74, 0x52, 0x7f, 0xcb, + 0x41, 0xb5, 0xc9, 0x07, 0x85, 0x0e, 0x6a, 0xf2, 0xb4, 0x74, 0xe6, 0xcb, 0x14, 0x4a, 0xca, 0x8b, + 0x3d, 0xe5, 0xb6, 0xdf, 0x39, 0x2a, 0x16, 0x84, 0x30, 0xb9, 0x9d, 0xf8, 0x4e, 0xe1, 0x2e, 0x87, + 0xeb, 0x33, 0x40, 0xb9, 0x3d, 0x89, 0xb7, 0x1d, 0x59, 0xab, 0xc0, 0xa2, 0x2e, 0xfb, 0xfc, 0xe6, + 0x37, 0x14, 0x7d, 0x6f, 0x8b, 0x6f, 0x8f, 0x3b, 0xd5, 0x84, 0xe7, 0x3c, 0xd4, 0x10, 0xb9, 0x69, + 0x37, 0x10, 0xf4, 0x76, 0xd0, 0x54, 0x82, 0xdc, 0xda, 0x6d, 0xdc, 0x4e, 0x5f, 0xe2, 0x6e, 0xba, + 0xe1, 0xe0, 0x8f, 0xf0, 0x79, 0x5c, 0xff, 0xe0, 0xcb, 0x43, 0xac, 0x8e, 0x79, 0xc3, 0x21, 0x77, + 0xa5, 0x24, 0x85, 0x72, 0x0c, 0x9b, 0x25, 0x88, 0xa8, 0x42, 0xe5, 0x07, 0xd2, 0xec, 0x4a, 0x9d, + 0x44, 0xf2, 0x64, 0xeb, 0x41, 0xd1, 0x35, 0xd3, 0x8e, 0x66, 0x9b, 0x0e, 0xa5, 0xcd, 0x45, 0xc2, + 0x64, 0x0d, 0x0d, 0xd2, 0x35, 0xc2, 0x7c, 0x4d, 0xbd, 0x20, 0xc5, 0x14, 0x0a, 0x42, 0x5a, 0x52, + 0xf3, 0x17, 0x3f, 0x7a, 0x5a, 0xfd, 0x40, 0xac, 0x50, 0x99, 0xd2, 0x25, 0x72, 0x71, 0xa3, 0x5d, + 0x88, 0x08, 0xd8, 0x7a, 0x24, 0x67, 0x92, 0x5b, 0x64, 0x1f, 0x94, 0x77, 0xc9, 0xfa, 0x07, 0x2b, + 0x13, 0xcf, 0x8d, 0x1d, 0x9b, 0xdb, 0xdb, 0x42, 0x5a, 0xae, 0x75, 0xb9, 0xbf, 0x2f, 0x3e, 0xb3, + 0x73, 0x2d, 0x1d, 0xb4, 0xb0, 0x4c, 0xa4, 0x9d, 0x47, 0x70, 0xbe, 0x41, 0x0b, 0x50, 0x36, 0x8a, + 0x6f, 0xfb, 0xee, 0x78, 0xee, 0xdd, 0xdd, 0x9d, 0x02, 0xdf, 0x12, 0x11, 0xa5, 0xc2, 0xb1, 0xfa, + 0x9f, 0x2f, 0xb5, 0x92, 0x78, 0x7f, 0x60, 0x9e, 0x57, 0x49, 0x52, 0x00, 0xf3, 0x87, 0xe3, 0x0f, + 0x09, 0xea, 0xf2, 0x56, 0xe0, 0x0f, 0x43, 0xdb, 0xe3, 0x85, 0xd4, 0xd6, 0x14, 0xd3, 0xe5, 0x3d, + 0xf9, 0x65, 0x72, 0xfd, 0x31, 0x09, 0xf2, 0x42, 0xb5, 0x83, 0xbb, 0x8d, 0xa1, 0x69, 0x2d, 0x30, + 0x82, 0x1f, 0xf1, 0x31, 0x0c, 0xed, 0x0f, 0x1f, 0x7f, 0x7c, 0x47, 0x27, 0xbd, 0xd9, 0x37, 0x38, + 0x2a, 0x18, 0xda, 0x49, 0xc1, 0x81, 0x81, 0xa5, 0xc1, 0xa2, 0x99, 0xc1, 0x61, 0x97, 0x49, 0x32, + 0x15, 0xca, 0x20, 0x3c, 0x41, 0x78, 0x43, 0x83, 0x38, 0x5c, 0x05, 0xdc, 0xfa, 0x40, 0x98, 0x63, + 0xf0, 0x14, 0x7e, 0x95, 0xb6, 0x9b, 0x06, 0x9b, 0xd7, 0xb0, 0xf1, 0x06, 0xcf, 0x50, 0xab, 0x0c, + 0x07, 0x83, 0xbe, 0x91, 0xb1, 0x4a, 0xc7, 0xc8, 0x7c, 0x8b, 0xf7, 0xce, 0xbd, 0xe3, 0x84, 0x9a, + 0xc4, 0x31, 0x1c, 0xfc, 0x8a, 0x5a, 0x4b, 0xae, 0xeb, 0xa5, 0xc9, 0x41, 0x65, 0x2e, 0x70, 0x2b, + 0x6a, 0x6c, 0xec, 0x97, 0x90, 0x8f, 0x09, 0x19, 0x42, 0x62, 0x91, 0x88, 0xc2, 0x5a, 0x04, 0x70, + 0xbc, 0xcf, 0x77, 0x6c, 0x34, 0xdb, 0xd4, 0x6e, 0xfb, 0xd8, 0x77, 0xad, 0x62, 0xe6, 0x1f, 0xb3, + 0x43, 0x45, 0x5f, 0xfa, 0xa8, 0x16, 0x5a, 0xf7, 0x10, 0xee, 0x3d, 0x08, 0xe3, 0xdc, 0x11, 0x43, + 0x89, 0xbb, 0x76, 0xf3, 0x28, 0xb6, 0x0d, 0x56, 0xd1, 0x3a, 0x58, 0x5e, 0x53, 0x94, 0xa8, 0x86, + 0x9c, 0x33, 0x18, 0xbc, 0xd5, 0x87, 0x75, 0x8c, 0x55, 0x08, 0xb9, 0x31, 0x6f, 0x76, 0x29, 0x9e, + 0xc5, 0xbb, 0x40, 0x09, 0x2e, 0xee, 0x14, 0x07, 0x4f, 0x11, 0xc3, 0x15, 0xd1, 0x91, 0xb5, 0x50, + 0xa7, 0xd8, 0xa7, 0xe0, 0xef, 0x72, 0x17, 0xfd, 0x3f, 0xf5, 0x10, 0x3c, 0xae, 0x31, 0x7a, 0x1f, + 0x63, 0xbf, 0x8b, 0xdc, 0x03, 0xee, 0x24, 0x2a, 0x9f, 0xe4, 0xdc, 0x15, 0x71, 0x1f, 0x9d, 0x14, + 0xd9, 0x70, 0xf2, 0xd8, 0xa8, 0xaa, 0xbb, 0xcd, 0x6d, 0xee, 0x21, 0x18, 0xf8, 0x90, 0xd2, 0x75, + 0x9c, 0x0f, 0x97, 0x84, 0x7c, 0x12, 0xa9, 0x0c, 0xd1, 0xc4, 0xbe, 0x4c, 0xd6, 0x48, 0x84, 0xf8, + 0x01, 0x59, 0x50, 0xad, 0xb7, 0x03, 0x3b, 0x26, 0xba, 0xe5, 0x84, 0xe4, 0x58, 0x00, 0x0c, 0xc5, + 0xf8, 0xf8, 0x19, 0x2c, 0xb1, 0x9c, 0x87, 0xc5, 0x90, 0x9b, 0x6c, 0x2f, 0xbc, 0xe2, 0x04, 0x9b, + 0x82, 0x22, 0x5d, 0x8c, 0xd7, 0xd2, 0x8b, 0x70, 0x0c, 0x29, 0xf6, 0x9f, 0xf4, 0xbe, 0xc3, 0x2c, + 0x39, 0xc3, 0x6b, 0x6a, 0xa0, 0x89, 0xee, 0x63, 0xd8, 0x26, 0x92, 0x6b, 0xb2, 0x7f, 0xcd, 0xd1, + 0xa6, 0x46, 0xb0, 0xa6, 0x17, 0x27, 0x45, 0x36, 0x3e, 0x29, 0xe6, 0xdc, 0x64, 0xd0, 0xb7, 0xbf, + 0xb0, 0xdb, 0x62, 0x6e, 0x8f, 0xbf, 0xbd, 0x63, 0x9b, 0x93, 0x83, 0x62, 0xae, 0x47, 0x5d, 0x05, + 0x11, 0x8f, 0x2a, 0x36, 0xc0, 0xf4, 0x8b, 0xe8, 0x03, 0xc8, 0x7e, 0x61, 0xcc, 0xce, 0x3b, 0x4d, + 0x03, 0x7c, 0xaa, 0xe0, 0xfa, 0xfa, 0x6a, 0x9b, 0x22, 0x4b, 0x6f, 0xd2, 0xb1, 0xba, 0x05, 0x77, + 0x71, 0xdb, 0xe9, 0x28, 0xec, 0xf5, 0xf1, 0xe0, 0xb8, 0x47, 0xef, 0xea, 0xe1, 0xd3, 0xd5, 0xed, + 0xb6, 0x61, 0xbb, 0x9c, 0x7d, 0xf9, 0x19, 0x8a, 0xd4, 0x76, 0x42, 0xa0, 0xd4, 0x8b, 0x14, 0x5b, + 0x1a, 0xce, 0x2f, 0x5c, 0x6e, 0x44, 0x30, 0xda, 0xa1, 0x92, 0xe9, 0x79, 0x6f, 0x8f, 0xfb, 0x9f, + 0x80, 0x3a, 0x26, 0x65, 0xd2, 0xeb, 0x00, 0xfa, 0xec, 0x6a, 0x9b, 0x45, 0x81, 0x55, 0x4e, 0xec, + 0xdd, 0x6f, 0x9e, 0x3d, 0x7d, 0xfa, 0x74, 0x64, 0xbd, 0x7d, 0x65, 0xad, 0xd6, 0x79, 0x61, 0x4d, + 0x99, 0x05, 0xe1, 0x56, 0x02, 0x37, 0x28, 0x96, 0xe7, 0x5d, 0x9c, 0xd8, 0xe1, 0x96, 0x52, 0x2e, + 0x64, 0xfe, 0x9f, 0xae, 0x58, 0x86, 0x36, 0xe8, 0x61, 0xbc, 0xb4, 0xbe, 0xbd, 0x4b, 0xe9, 0x8e, + 0x52, 0xb8, 0x9b, 0x1d, 0x6d, 0x8c, 0x52, 0xa1, 0x0d, 0x92, 0xc6, 0x21, 0x5c, 0xbf, 0x8e, 0xce, + 0xb8, 0x95, 0xc9, 0x06, 0xf6, 0x61, 0x77, 0x97, 0x77, 0x85, 0x9d, 0x97, 0xdf, 0xba, 0x31, 0x89, + 0xd7, 0xcb, 0x9f, 0x08, 0x30, 0xa5, 0xa9, 0x67, 0x4e, 0xa3, 0xe0, 0x16, 0x4d, 0x9e, 0x34, 0xf5, + 0x8c, 0x4a, 0x9b, 0x8a, 0x38, 0xad, 0x34, 0x19, 0xd4, 0x4d, 0x73, 0xad, 0x79, 0x41, 0x1a, 0xfe, + 0x12, 0x44, 0xf2, 0x16, 0x46, 0x89, 0x81, 0xdd, 0x94, 0x99, 0x84, 0x65, 0x91, 0x6d, 0x0b, 0x71, + 0x77, 0xed, 0x59, 0x8d, 0x4a, 0xa8, 0xec, 0x57, 0xba, 0xd7, 0x04, 0x95, 0x04, 0x7f, 0x87, 0xce, + 0x1c, 0x8e, 0xda, 0x82, 0x41, 0x58, 0xec, 0xa9, 0xaf, 0x69, 0xf9, 0xf5, 0x8f, 0xa8, 0x2a, 0x15, + 0x2e, 0xf4, 0xc5, 0xff, 0x47, 0x24, 0xc7, 0xee, 0xc1, 0x91, 0xfa, 0x23, 0x9a, 0x68, 0xdf, 0x51, + 0xf7, 0x5d, 0xd2, 0x52, 0xfa, 0x62, 0xf6, 0x45, 0x51, 0x26, 0x97, 0x21, 0xa0, 0xe0, 0x7a, 0x84, + 0x27, 0x54, 0xc4, 0x0d, 0x8f, 0xb8, 0x23, 0x15, 0xfa, 0x05, 0x59, 0xc8, 0xd8, 0xc0, 0xe9, 0x79, + 0xcf, 0xe8, 0x3f, 0x64, 0x49, 0x10, 0xe9, 0xec, 0x65, 0xb2, 0x5a, 0x01, 0xd7, 0x81, 0x5b, 0x76, + 0x7a, 0x8b, 0xf7, 0x0f, 0x7d, 0x33, 0x4e, 0x43, 0x36, 0xc7, 0x8d, 0x78, 0x16, 0x85, 0xe9, 0x34, + 0x09, 0x32, 0xd8, 0x85, 0xb5, 0x8e, 0xa4, 0x34, 0xe7, 0xdc, 0x76, 0x57, 0x51, 0x02, 0xaa, 0xcf, + 0x61, 0x69, 0x8e, 0xd0, 0xe7, 0x87, 0x93, 0x6f, 0xe3, 0xfb, 0x80, 0x75, 0x97, 0x77, 0x9d, 0x7e, + 0x8f, 0x48, 0x02, 0x37, 0x78, 0xe5, 0x60, 0x63, 0xc3, 0x6f, 0xfe, 0x17, 0x27, 0xf3, 0xf0, 0x4a, + 0xae, 0x5e, 0xac, 0xd1, 0x9a, 0xd9, 0x40, 0x94, 0x6c, 0xb2, 0x47, 0x27, 0x0b, 0x84, 0x89, 0xa7, + 0xa7, 0x4f, 0xd3, 0x9b, 0x11, 0x7f, 0x52, 0xb9, 0x8f, 0x5e, 0xe8, 0xac, 0xfe, 0x13, 0x08, 0xb0, + 0xf7, 0x86, 0x7b, 0x49, 0x0c, 0xcd, 0x9f, 0x7d, 0x81, 0x94, 0xd2, 0x9c, 0x61, 0x44, 0xfc, 0x20, + 0xb5, 0x1e, 0x78, 0xd4, 0x11, 0xec, 0x34, 0xbc, 0xa8, 0x19, 0x6c, 0x68, 0xc0, 0xd1, 0xa6, 0x70, + 0xaf, 0x82, 0x6b, 0xcc, 0xe8, 0x81, 0x92, 0x37, 0xe3, 0x8b, 0x51, 0xd4, 0x41, 0x9b, 0xbb, 0x4f, + 0xc9, 0xda, 0xba, 0x0c, 0xae, 0x98, 0x15, 0x27, 0x62, 0x50, 0x72, 0xeb, 0x96, 0x15, 0x3b, 0xb0, + 0xe0, 0xce, 0x92, 0x2c, 0xbb, 0xf5, 0x2c, 0x60, 0xc5, 0x33, 0x66, 0x5d, 0xa3, 0x31, 0x33, 0x92, + 0x78, 0xbe, 0x66, 0x96, 0xf0, 0xd2, 0x63, 0xdd, 0xc2, 0x36, 0x2a, 0x73, 0xc1, 0x21, 0x87, 0x77, + 0x30, 0x28, 0xd5, 0x3e, 0x99, 0xc2, 0x96, 0x06, 0xff, 0xe0, 0x76, 0x4a, 0x75, 0xfc, 0x00, 0x3b, + 0x12, 0x2c, 0x4b, 0x59, 0x54, 0x98, 0x5b, 0x78, 0xa6, 0xae, 0x53, 0x91, 0xd5, 0x42, 0x75, 0x16, + 0xf2, 0x4e, 0x01, 0x06, 0x5c, 0x85, 0xc9, 0x3a, 0xe7, 0x16, 0xd7, 0x11, 0x37, 0xaf, 0xb4, 0x82, + 0x2b, 0x38, 0x46, 0xd1, 0x8e, 0xa9, 0x8b, 0xa5, 0x3a, 0x67, 0x70, 0xd9, 0x82, 0xca, 0x03, 0x99, + 0x1d, 0x3d, 0xc1, 0x5b, 0x97, 0xc0, 0xc6, 0x10, 0xf2, 0x2b, 0xb4, 0x72, 0x6e, 0x25, 0x62, 0x17, + 0xc0, 0x20, 0x26, 0x6a, 0x43, 0x37, 0x67, 0x3f, 0x88, 0xfa, 0x03, 0xd9, 0x02, 0xe4, 0xd8, 0x20, + 0x05, 0x2a, 0x3d, 0xac, 0x2f, 0x71, 0x72, 0x0d, 0x3b, 0x68, 0x92, 0xcc, 0x2d, 0x42, 0x39, 0x19, + 0x52, 0xfb, 0xf7, 0x4e, 0x50, 0x36, 0x11, 0x64, 0x2c, 0xb0, 0xc2, 0xb9, 0x4f, 0x84, 0x8a, 0xbb, + 0xae, 0x08, 0x1b, 0xf3, 0xbe, 0xae, 0x8b, 0x82, 0xce, 0x75, 0x9a, 0xe9, 0x69, 0x11, 0xdb, 0x96, + 0x9a, 0x39, 0x41, 0xec, 0xf6, 0x18, 0x48, 0xf2, 0xd6, 0x20, 0xc8, 0x93, 0x03, 0x9e, 0x6f, 0xbc, + 0xc7, 0xeb, 0xd1, 0x4a, 0xe2, 0xdc, 0x2f, 0xff, 0x61, 0x37, 0x97, 0x0b, 0x7d, 0x07, 0xd2, 0x64, + 0x0e, 0x2e, 0x9f, 0xdf, 0xf7, 0xa0, 0x59, 0xbf, 0xef, 0x89, 0x3d, 0x18, 0xea, 0xfa, 0xc0, 0x23, + 0xcb, 0x1a, 0x5c, 0x8f, 0x26, 0xe6, 0x00, 0x08, 0x12, 0xa6, 0x85, 0x96, 0x5c, 0x8a, 0x0c, 0x85, + 0xad, 0x6f, 0xa2, 0x11, 0xcd, 0x60, 0xb9, 0x1e, 0x85, 0x5d, 0x58, 0xae, 0xab, 0x8b, 0x45, 0xad, + 0x6a, 0xcd, 0xa0, 0x0c, 0xed, 0xb7, 0x1f, 0xdf, 0xfd, 0x00, 0x77, 0xf8, 0x0f, 0xfc, 0x4e, 0x32, + 0x2a, 0x5a, 0x85, 0x62, 0xfa, 0xe3, 0xa9, 0x72, 0xb1, 0x72, 0x34, 0x47, 0x96, 0xa7, 0xc0, 0xa6, + 0xb1, 0x8f, 0x30, 0xb0, 0x25, 0xd2, 0xcc, 0x3a, 0x1f, 0xfb, 0x47, 0x74, 0x4d, 0x41, 0x16, 0xa5, + 0x5e, 0x2c, 0x67, 0x51, 0x4c, 0x33, 0x4e, 0x8d, 0x5d, 0xc5, 0x32, 0x66, 0x5f, 0x88, 0xf9, 0xa2, + 0x02, 0x90, 0x9f, 0x76, 0xec, 0xd3, 0x9f, 0xce, 0x3e, 0x92, 0xd1, 0x32, 0xbf, 0x47, 0xaf, 0x53, + 0x6a, 0x9c, 0xeb, 0x0a, 0x6f, 0x88, 0xd8, 0xa3, 0x37, 0x49, 0xb6, 0x22, 0x4b, 0x25, 0x2e, 0x80, + 0x7c, 0x11, 0x25, 0x53, 0x07, 0x36, 0x32, 0xef, 0xae, 0xe0, 0xaf, 0xed, 0x53, 0x84, 0x19, 0x21, + 0xe2, 0x3c, 0xa0, 0xdb, 0xb7, 0xf2, 0x05, 0x6c, 0xe5, 0x42, 0x2a, 0xe5, 0xd8, 0x48, 0xd5, 0x40, + 0x41, 0x9e, 0x7d, 0x20, 0x56, 0x88, 0xbc, 0xa8, 0xa3, 0x81, 0x69, 0x8c, 0x12, 0x2b, 0x4f, 0x63, + 0xd0, 0xb4, 0x65, 0xed, 0x0d, 0x80, 0x1b, 0x04, 0xc6, 0xdd, 0x14, 0xce, 0xc9, 0x35, 0xcf, 0xb8, + 0x85, 0xad, 0xb0, 0xc9, 0x43, 0xa3, 0x27, 0x9f, 0xae, 0xa9, 0xf4, 0x7d, 0xdc, 0x93, 0x86, 0xa7, + 0x69, 0x42, 0xd6, 0xc9, 0x4c, 0x66, 0x43, 0xd1, 0x82, 0xdc, 0x44, 0xe0, 0x93, 0xfb, 0xfc, 0x62, + 0xb0, 0x83, 0x38, 0x70, 0x1b, 0x81, 0x80, 0x1d, 0x5f, 0xc4, 0x02, 0x5b, 0x59, 0x11, 0x34, 0x54, + 0x9a, 0xdf, 0x26, 0x67, 0xb0, 0x8f, 0x7a, 0x47, 0x24, 0x18, 0xe3, 0x13, 0x37, 0xb9, 0xeb, 0xa1, + 0x95, 0xc9, 0xb0, 0x41, 0xfc, 0xc0, 0x0d, 0xbc, 0x98, 0xd1, 0x9e, 0x6a, 0x7b, 0x4d, 0x51, 0x84, + 0xbe, 0x5d, 0x93, 0x51, 0xae, 0x29, 0x53, 0x60, 0xc6, 0xa5, 0x97, 0xc1, 0x31, 0xe1, 0x56, 0x65, + 0x9b, 0xea, 0x82, 0x2e, 0xc7, 0xaf, 0xd2, 0x49, 0x6c, 0xe4, 0x81, 0x34, 0x52, 0xdb, 0xd2, 0x4b, + 0x20, 0xaa, 0xe4, 0x0b, 0xb0, 0x95, 0x95, 0xab, 0x83, 0xa7, 0xba, 0xa9, 0xf5, 0x93, 0x1b, 0xab, + 0x89, 0x03, 0x1a, 0xe8, 0x36, 0xa3, 0xf7, 0x55, 0x6e, 0xd9, 0x57, 0xd9, 0x26, 0x57, 0x99, 0xc1, + 0x19, 0xbd, 0xa6, 0x40, 0x84, 0xf0, 0xe1, 0x91, 0xbd, 0x1a, 0xbd, 0x88, 0xfc, 0x70, 0x67, 0xef, + 0xb9, 0xfa, 0xf1, 0xc7, 0x38, 0xc9, 0xd7, 0x06, 0x09, 0xb5, 0xc2, 0x9a, 0x42, 0xb7, 0x32, 0x44, + 0x6f, 0x7e, 0xdb, 0x3a, 0x38, 0x6c, 0xb1, 0x80, 0x7e, 0xfc, 0x5d, 0x63, 0xc3, 0x1e, 0x18, 0x9b, + 0xd7, 0xbc, 0xb6, 0x3f, 0x3b, 0x34, 0x6f, 0x7e, 0xfb, 0xdb, 0x06, 0x85, 0x84, 0x2e, 0xdb, 0x06, + 0x86, 0x5b, 0x2e, 0xfe, 0x4d, 0xe3, 0xe2, 0x08, 0x3b, 0x48, 0xc6, 0x21, 0x80, 0xf2, 0xcb, 0x70, + 0x81, 0x49, 0x79, 0x68, 0x77, 0x1d, 0xf3, 0x00, 0x7b, 0xb4, 0x33, 0xb2, 0x5b, 0x86, 0xa6, 0x34, + 0xa4, 0x7c, 0x78, 0x90, 0x68, 0x8f, 0xfb, 0xd3, 0x03, 0x85, 0xfb, 0x25, 0xf6, 0x40, 0xfa, 0x5d, + 0x4b, 0xff, 0xe3, 0x1d, 0x54, 0x5b, 0x1a, 0x95, 0xc9, 0xb9, 0xfc, 0x8f, 0x77, 0x8a, 0xd9, 0x03, + 0xee, 0x0a, 0x36, 0x2e, 0x48, 0xa8, 0x44, 0xc5, 0xe5, 0x7b, 0xc9, 0x02, 0x4e, 0x63, 0x8a, 0x42, + 0x9b, 0x44, 0x87, 0x0c, 0xc2, 0xfc, 0x31, 0xfb, 0xdc, 0x3b, 0x1f, 0x17, 0xf8, 0x64, 0xdb, 0x63, + 0x78, 0x48, 0xa6, 0xf2, 0x34, 0xe4, 0x2a, 0x7c, 0xeb, 0x12, 0x6e, 0x44, 0xff, 0x81, 0x36, 0x93, + 0x34, 0x5b, 0x27, 0x07, 0x29, 0x9c, 0xa6, 0x50, 0x06, 0x8d, 0x9e, 0x0b, 0x39, 0x2e, 0xea, 0x87, + 0xb3, 0x05, 0xff, 0xf6, 0x6f, 0x72, 0x2b, 0xcd, 0x81, 0x9a, 0xe9, 0x50, 0x87, 0x3b, 0x05, 0x56, + 0xb1, 0xf9, 0x23, 0x9a, 0xda, 0x56, 0x11, 0x16, 0xc8, 0x50, 0x61, 0xd0, 0x00, 0x2d, 0xbd, 0x07, + 0xe7, 0xc8, 0xbc, 0x6a, 0x27, 0x2f, 0x49, 0x51, 0x08, 0xef, 0x47, 0x64, 0x03, 0x36, 0x0c, 0x6f, + 0x65, 0x9f, 0xfb, 0xe7, 0x1b, 0x75, 0xe2, 0x5e, 0x8c, 0xf8, 0x21, 0xfb, 0x07, 0x2a, 0x60, 0x2a, + 0x82, 0x1e, 0x76, 0x93, 0x02, 0x93, 0xc2, 0xe0, 0xcc, 0xe1, 0x48, 0x00, 0x8d, 0x29, 0xd5, 0x2d, + 0x5c, 0x25, 0xd6, 0x4b, 0xd4, 0x84, 0x2d, 0x9b, 0xda, 0x78, 0xab, 0xa3, 0x42, 0x9e, 0x12, 0x0e, + 0xdf, 0x71, 0x35, 0x69, 0xf8, 0x76, 0xde, 0xd6, 0xe5, 0x97, 0x08, 0xf7, 0x4e, 0xdc, 0x0b, 0x38, + 0x23, 0xdf, 0x3b, 0x1f, 0x49, 0x73, 0x7a, 0x2f, 0xaf, 0x2e, 0x5d, 0x9e, 0x81, 0x4f, 0xdd, 0x6c, + 0x95, 0x9e, 0xba, 0x23, 0x41, 0x0d, 0x9c, 0x15, 0x46, 0xb2, 0xd0, 0x14, 0x78, 0x8e, 0xb0, 0xd9, + 0xcd, 0xf9, 0x3c, 0xd1, 0x45, 0x87, 0x5b, 0xd7, 0xa1, 0x82, 0xce, 0x2d, 0x5d, 0xdb, 0x71, 0x45, + 0x8c, 0x12, 0x2e, 0x60, 0x23, 0xf8, 0x39, 0x1d, 0xf8, 0x98, 0x12, 0x6e, 0x16, 0xa3, 0x00, 0x4e, + 0x3e, 0x20, 0x1a, 0x02, 0xca, 0xf9, 0xcc, 0xbc, 0xc0, 0x93, 0xf7, 0x3b, 0xd4, 0xdc, 0x29, 0xd0, + 0xb3, 0xa2, 0xd3, 0xc0, 0x8e, 0x47, 0x79, 0xf1, 0x56, 0x51, 0x00, 0xdb, 0x24, 0xf6, 0xf8, 0xa2, + 0x94, 0xa5, 0xa6, 0x21, 0xbd, 0xbc, 0xa9, 0xe6, 0x0b, 0xd5, 0xed, 0x1c, 0x79, 0xa9, 0x8b, 0x86, + 0x92, 0x51, 0x45, 0x42, 0x45, 0xe3, 0x97, 0x16, 0xba, 0x61, 0x1b, 0x17, 0x8b, 0x31, 0x6e, 0x8c, + 0x13, 0xfb, 0x24, 0x14, 0x85, 0xec, 0x85, 0x28, 0xb3, 0x22, 0x42, 0xc5, 0x6f, 0x7b, 0xe3, 0xdd, + 0x6f, 0x6e, 0x58, 0xff, 0xf0, 0xd9, 0xe8, 0xe4, 0x20, 0x1c, 0xe3, 0x5d, 0x78, 0x23, 0xef, 0xb6, + 0xcc, 0xdd, 0xfc, 0x1e, 0x5b, 0x2a, 0xa3, 0xcd, 0x33, 0xb2, 0x79, 0x58, 0x50, 0x4e, 0x6b, 0x11, + 0x65, 0x5a, 0x0f, 0x63, 0x8c, 0xd0, 0x9a, 0x54, 0x2c, 0xd1, 0x2e, 0x3c, 0xc6, 0x06, 0x75, 0xc8, + 0x87, 0xad, 0x4d, 0x35, 0x0d, 0x66, 0x4f, 0xa8, 0x26, 0xde, 0xc7, 0xa6, 0xf2, 0x2b, 0x85, 0xa3, + 0xd5, 0xb1, 0x2c, 0x43, 0x2b, 0x9e, 0xd3, 0x6e, 0xb5, 0xf4, 0xc3, 0x67, 0xc7, 0x54, 0x3a, 0x96, + 0x5b, 0x99, 0x91, 0x30, 0xa6, 0x81, 0x9b, 0x71, 0x27, 0x9e, 0xaa, 0x6c, 0x55, 0xb4, 0x6a, 0x91, + 0x18, 0x7d, 0xb2, 0xfd, 0xee, 0x74, 0x36, 0x2d, 0x0c, 0x6d, 0x41, 0xf1, 0xe3, 0xde, 0xc4, 0x21, + 0x16, 0x89, 0x78, 0x9c, 0xdd, 0xdd, 0x9e, 0xf8, 0x74, 0xda, 0x0d, 0xa4, 0x50, 0xb0, 0x8f, 0xec, + 0x89, 0x58, 0x08, 0x40, 0x75, 0x64, 0x86, 0xde, 0x9e, 0xbe, 0x66, 0x4c, 0xc5, 0xd7, 0x83, 0x2b, + 0x75, 0x08, 0x58, 0xd6, 0xd0, 0xe0, 0x62, 0x94, 0x22, 0xe3, 0xf4, 0xb9, 0x53, 0x1e, 0x7b, 0xb8, + 0x55, 0xf2, 0x4d, 0xa1, 0x8d, 0x37, 0x3c, 0xd6, 0x25, 0x89, 0x62, 0x61, 0x2c, 0x12, 0x52, 0xc9, + 0x4b, 0x43, 0x77, 0x26, 0xd6, 0x29, 0xeb, 0x22, 0x05, 0x8e, 0x6a, 0xfa, 0x60, 0x7d, 0x80, 0x0a, + 0xf9, 0x1e, 0xe6, 0xf3, 0xef, 0xeb, 0xc3, 0xde, 0x51, 0x6f, 0x1f, 0x3f, 0x16, 0x0b, 0xf8, 0x0b, + 0x7c, 0x37, 0xfc, 0x38, 0x9a, 0x4f, 0xe1, 0xc7, 0x11, 0xa3, 0x1f, 0xcf, 0x16, 0x18, 0xb3, 0x78, + 0x46, 0x3f, 0x16, 0x01, 0xfd, 0x58, 0x3c, 0x79, 0x82, 0x3f, 0x16, 0xcf, 0x30, 0x4f, 0xff, 0xb0, + 0x0f, 0x3f, 0x5e, 0x7d, 0xff, 0xec, 0xd5, 0xf9, 0x01, 0xea, 0x3a, 0x5b, 0x54, 0xd1, 0xca, 0x09, + 0xb6, 0x2f, 0x9c, 0x60, 0x0b, 0x93, 0x48, 0xb4, 0x46, 0xb0, 0x5f, 0x51, 0xf3, 0xa6, 0x28, 0xf6, + 0xe5, 0x50, 0x5d, 0x4e, 0x9b, 0xf9, 0xf0, 0xb6, 0x62, 0x58, 0x37, 0x12, 0x08, 0x66, 0xbe, 0xed, + 0xbc, 0x83, 0xaf, 0x2e, 0x42, 0x87, 0x93, 0x32, 0x55, 0x06, 0x8a, 0x90, 0x79, 0x97, 0xef, 0xf8, + 0x85, 0xf9, 0xfe, 0x01, 0x66, 0x58, 0xfd, 0x5c, 0x87, 0xe5, 0x13, 0x0b, 0x46, 0x86, 0x71, 0xb0, + 0x45, 0xc0, 0x0f, 0xf9, 0xbc, 0x42, 0x84, 0xc1, 0x2f, 0x20, 0x56, 0x7a, 0x88, 0xc0, 0xba, 0x8b, + 0xbc, 0x8b, 0x7c, 0x2d, 0xbf, 0x4d, 0xd1, 0x99, 0x40, 0x4f, 0x49, 0xd4, 0x18, 0x08, 0xac, 0x25, + 0x5f, 0xd9, 0xdb, 0xc5, 0xf3, 0x19, 0x50, 0x2a, 0xb9, 0xdb, 0x15, 0x42, 0xef, 0xd5, 0x75, 0x59, + 0x32, 0x10, 0xd6, 0xcd, 0xc4, 0xf8, 0xd5, 0xbd, 0x1e, 0xd2, 0x23, 0x86, 0x6d, 0x49, 0x10, 0x99, + 0xca, 0xc1, 0x47, 0x0f, 0xab, 0x6b, 0x54, 0xca, 0xae, 0xf0, 0xbc, 0x25, 0x61, 0x9c, 0xcd, 0x4d, + 0x3c, 0x06, 0xaf, 0x1a, 0xcf, 0x1c, 0xbc, 0x4c, 0xdb, 0xee, 0xb0, 0x3d, 0x21, 0x1d, 0x63, 0x3c, + 0x55, 0xfd, 0xf8, 0x91, 0xf4, 0xa8, 0x1d, 0x16, 0x30, 0x1c, 0x19, 0x63, 0x97, 0x2c, 0x48, 0x0f, + 0xfa, 0xbd, 0xc1, 0xd1, 0x28, 0xf7, 0x73, 0xf5, 0x14, 0xaa, 0xef, 0x8a, 0x33, 0x42, 0x34, 0x3d, + 0xbd, 0xce, 0xbc, 0xd8, 0xb7, 0xdf, 0xf3, 0xd7, 0xd4, 0x33, 0x2a, 0x72, 0x6e, 0x8f, 0xa2, 0x71, + 0x9f, 0x1d, 0x4e, 0x62, 0xdf, 0x89, 0xe0, 0xff, 0x03, 0x1f, 0x7e, 0xb8, 0xaa, 0x08, 0x88, 0x43, + 0xa7, 0x61, 0x7d, 0xd7, 0xed, 0xd8, 0xd6, 0x73, 0x7b, 0x18, 0x61, 0x67, 0x1d, 0x4a, 0x7b, 0xdc, + 0xfb, 0x4e, 0x7b, 0x60, 0x15, 0x1d, 0xc0, 0xf2, 0xc1, 0x44, 0xab, 0xe7, 0xb6, 0x3c, 0x47, 0x38, + 0x4b, 0xc2, 0xba, 0x6b, 0x17, 0x4f, 0x28, 0x7a, 0xe3, 0xf2, 0x19, 0x68, 0xe1, 0x3c, 0x59, 0x58, + 0x55, 0xf6, 0x14, 0xd2, 0xb8, 0xfc, 0x2d, 0x73, 0xc7, 0x97, 0x02, 0x5d, 0x48, 0x4a, 0xc6, 0x0f, + 0x78, 0x6e, 0x0d, 0xcd, 0x70, 0x5e, 0x43, 0xe2, 0xdb, 0xff, 0xbe, 0x5e, 0x5f, 0x06, 0x5f, 0xd6, + 0xf6, 0x88, 0x75, 0x67, 0xb1, 0x78, 0x78, 0x3c, 0x8b, 0xf9, 0xd1, 0x71, 0x05, 0x9b, 0x1b, 0x82, + 0x5b, 0x6d, 0x2c, 0x60, 0x39, 0x92, 0x8d, 0x12, 0x9e, 0x9c, 0x10, 0x8c, 0x06, 0x6c, 0x75, 0xdf, + 0xde, 0x05, 0x1b, 0xfc, 0x8b, 0xd6, 0x33, 0x7e, 0x30, 0xb1, 0xed, 0xe1, 0x9e, 0x92, 0x19, 0x27, + 0x51, 0x0e, 0x3b, 0xac, 0x3f, 0x18, 0x9f, 0x5c, 0x66, 0x52, 0x12, 0x24, 0x80, 0x74, 0xfa, 0xe9, + 0xcd, 0x88, 0xa3, 0xe8, 0xec, 0xf3, 0xa7, 0x05, 0xbd, 0x11, 0x57, 0x7a, 0x2e, 0xb3, 0xe0, 0x76, + 0x54, 0x2a, 0x35, 0xf6, 0xcb, 0x50, 0x12, 0x6c, 0x08, 0x99, 0xf2, 0x1e, 0xd5, 0x39, 0x38, 0x7e, + 0xb2, 0x8b, 0xfa, 0xba, 0x62, 0x22, 0xbb, 0x65, 0xbf, 0x62, 0xd3, 0xf5, 0xd2, 0xf6, 0xf6, 0x5a, + 0xf9, 0x2a, 0x43, 0x46, 0x51, 0x6a, 0x29, 0xef, 0x7e, 0xdf, 0x9b, 0x63, 0xd6, 0xdf, 0xf7, 0x86, + 0x7b, 0x1d, 0xa7, 0x3f, 0x78, 0x2a, 0x0a, 0xb6, 0x17, 0x01, 0x6c, 0x77, 0x70, 0xa6, 0x91, 0xd2, + 0xdd, 0xed, 0xec, 0x11, 0x3b, 0x55, 0x3d, 0x70, 0xcc, 0x2c, 0x70, 0x0f, 0x1d, 0xda, 0x09, 0x5a, + 0xac, 0x75, 0xf6, 0xf8, 0x99, 0xd2, 0x7b, 0xba, 0x10, 0x27, 0x96, 0x92, 0x78, 0xe0, 0x29, 0x89, + 0x7d, 0x50, 0x2d, 0x7f, 0xb1, 0x0e, 0x23, 0xb4, 0xcc, 0xe9, 0x5e, 0x21, 0x86, 0x92, 0x11, 0x75, + 0x16, 0x2e, 0x81, 0xd7, 0x45, 0x2c, 0x17, 0xe2, 0x4a, 0x31, 0xd1, 0x35, 0xac, 0xfc, 0x6e, 0x4e, + 0xe1, 0x1d, 0xfb, 0x1f, 0x16, 0xd9, 0xc4, 0x53, 0x58, 0x96, 0xe7, 0xa1, 0x67, 0x5b, 0xf3, 0x17, + 0x2b, 0xd8, 0x67, 0xcc, 0x62, 0x7e, 0x4e, 0x51, 0x2f, 0x42, 0xb2, 0x05, 0x5d, 0x47, 0xd2, 0x5d, + 0x53, 0xb8, 0x5b, 0x49, 0xfd, 0x91, 0xd2, 0xc2, 0x36, 0x86, 0x71, 0x66, 0xd4, 0x1b, 0x58, 0x2d, + 0x16, 0x2e, 0x17, 0x58, 0x3c, 0x50, 0xd7, 0x97, 0x17, 0xa2, 0x26, 0xd6, 0x4d, 0xf3, 0x2c, 0x58, + 0x4d, 0xcc, 0x84, 0xa7, 0x67, 0x1f, 0x9e, 0xff, 0x68, 0x7b, 0x8e, 0x88, 0xa5, 0x25, 0xe6, 0x6a, + 0xeb, 0x4b, 0x94, 0x50, 0x1b, 0x90, 0xd7, 0xb0, 0xf3, 0xac, 0x70, 0x75, 0x59, 0xe2, 0xa5, 0x19, + 0xe1, 0x25, 0x1b, 0x49, 0x9e, 0x03, 0x65, 0xc2, 0x69, 0x67, 0xbd, 0x39, 0x3d, 0xc3, 0xa6, 0xd2, + 0x02, 0x5d, 0xa4, 0x79, 0x25, 0xd5, 0x8f, 0xcf, 0x5f, 0x5a, 0xb0, 0x25, 0xc0, 0x11, 0x95, 0x63, + 0xaa, 0x55, 0x30, 0xab, 0xf6, 0x27, 0x8c, 0x58, 0x7e, 0x9b, 0xc3, 0x79, 0x89, 0xf1, 0xb0, 0x35, + 0xae, 0x3b, 0x68, 0x07, 0x42, 0x5f, 0x8b, 0x0e, 0x36, 0x0f, 0x07, 0x58, 0x5b, 0xa8, 0xf8, 0xfe, + 0x91, 0x27, 0x3c, 0xe0, 0x89, 0x5c, 0xf2, 0xa2, 0x51, 0x29, 0xf6, 0x75, 0x7c, 0x15, 0x66, 0x49, + 0xbc, 0xa2, 0xa6, 0xb3, 0x6e, 0x90, 0xcd, 0x2e, 0x49, 0xd9, 0x83, 0xc6, 0x4e, 0x19, 0x83, 0xaf, + 0x34, 0x6b, 0xd1, 0x75, 0x98, 0xe2, 0xe3, 0x05, 0xcc, 0x0c, 0xb4, 0x4d, 0xcb, 0xea, 0x82, 0x6f, + 0xcc, 0x5f, 0xae, 0xcc, 0xe3, 0x90, 0x98, 0x54, 0xe2, 0x39, 0x51, 0x32, 0xd8, 0xa0, 0x9d, 0xb6, + 0xbf, 0xf9, 0x72, 0x65, 0x09, 0xa7, 0x03, 0x62, 0x07, 0x47, 0x63, 0x10, 0x34, 0x45, 0x53, 0xc6, + 0x37, 0x42, 0x86, 0x29, 0xce, 0xaa, 0xb3, 0x10, 0x75, 0xaa, 0x4b, 0x34, 0x50, 0x11, 0x4a, 0xd6, + 0x2c, 0x08, 0x11, 0x83, 0x64, 0x53, 0xdf, 0x39, 0xe1, 0x2c, 0x21, 0xf3, 0x2a, 0x7d, 0xf7, 0x24, + 0x16, 0x38, 0x57, 0xc7, 0x84, 0x62, 0xa3, 0x23, 0x64, 0xa3, 0xf5, 0x37, 0x80, 0xe6, 0xc3, 0x3f, + 0xf1, 0xde, 0x0f, 0xf9, 0x94, 0xa5, 0x60, 0xb2, 0x65, 0xe2, 0x4e, 0x87, 0xca, 0x8c, 0x4b, 0xb6, + 0x3a, 0x42, 0x54, 0xb1, 0x51, 0x8c, 0xb6, 0x2a, 0x65, 0x21, 0xc4, 0x20, 0x69, 0x65, 0xc6, 0x1d, + 0xa0, 0xa4, 0x78, 0x8c, 0x05, 0x63, 0x14, 0x96, 0x1f, 0xbb, 0x54, 0x52, 0xc0, 0x65, 0xf8, 0x50, + 0xbe, 0xdd, 0x89, 0xd1, 0x9f, 0xc8, 0xce, 0x4e, 0x80, 0xfa, 0xb0, 0x66, 0xe5, 0xa5, 0xba, 0xcf, + 0xdc, 0xdf, 0xe3, 0x9b, 0x1b, 0xd8, 0x0f, 0x75, 0x7b, 0x76, 0x88, 0x46, 0xd3, 0x3c, 0xa5, 0x64, + 0x9d, 0xba, 0xb6, 0xf4, 0x3b, 0x40, 0xe8, 0x6b, 0xc2, 0x9f, 0x68, 0x7f, 0x18, 0x1a, 0x8a, 0x58, + 0xdd, 0x41, 0xe8, 0x40, 0x8f, 0x5b, 0x9a, 0x71, 0x87, 0x7a, 0x5c, 0xe4, 0xda, 0x1b, 0x6c, 0x7f, + 0x26, 0x18, 0x78, 0xc1, 0x6d, 0x02, 0xa7, 0x1c, 0x6f, 0x94, 0xd4, 0x35, 0x9f, 0xe6, 0xf5, 0xed, + 0x88, 0x13, 0x00, 0x67, 0x82, 0xe1, 0xbc, 0xb2, 0xbe, 0xbd, 0x8b, 0xba, 0x49, 0x3c, 0x41, 0x15, + 0xbe, 0xcd, 0x6f, 0x8b, 0x8a, 0x73, 0x8d, 0x37, 0x90, 0xc0, 0xbc, 0x05, 0xc0, 0xd0, 0x9d, 0x5e, + 0x67, 0x0e, 0xc6, 0xb9, 0x95, 0xed, 0x4b, 0xe3, 0x87, 0x79, 0x1d, 0xd7, 0x59, 0x90, 0x5a, 0x61, + 0x84, 0x4d, 0x40, 0xbb, 0x08, 0xbd, 0xdc, 0x69, 0x16, 0xaa, 0x56, 0xc6, 0x09, 0x25, 0xa7, 0x7a, + 0x38, 0xf8, 0xab, 0xa8, 0x08, 0xdf, 0xaf, 0xf0, 0x8a, 0x20, 0x8a, 0x8a, 0xf0, 0x6d, 0x83, 0x0e, + 0x11, 0x8d, 0x00, 0xce, 0xc3, 0xe0, 0xc6, 0xb7, 0x07, 0xc7, 0xc7, 0xa4, 0xec, 0xf4, 0xed, 0xbe, + 0x6d, 0xe9, 0x06, 0x18, 0xdc, 0x65, 0x31, 0xde, 0x89, 0xa3, 0x2e, 0xd4, 0x0a, 0xdd, 0x3b, 0x68, + 0x68, 0xaa, 0x5c, 0x0f, 0x82, 0x49, 0xd7, 0xff, 0xc2, 0xb5, 0xca, 0x8f, 0xba, 0x64, 0x9e, 0xe1, + 0xcd, 0xe9, 0x5b, 0x92, 0x7a, 0xa9, 0x0c, 0xfa, 0xe4, 0x2d, 0x45, 0xd8, 0x27, 0xc4, 0xfd, 0xcb, + 0x7f, 0x04, 0x92, 0x38, 0x59, 0x5d, 0x7f, 0xb7, 0xba, 0xf4, 0x16, 0x30, 0x35, 0xc4, 0x3b, 0xca, + 0xaa, 0x48, 0x0f, 0x69, 0xc1, 0x12, 0x9b, 0x5d, 0x7e, 0x89, 0x50, 0xd0, 0x8d, 0xb8, 0x90, 0xcc, + 0xc2, 0xab, 0xd4, 0x8f, 0x78, 0x36, 0xda, 0x73, 0xf9, 0x2e, 0xce, 0xde, 0x88, 0x21, 0xe3, 0x3d, + 0xa1, 0x8c, 0xd3, 0xe4, 0xc6, 0x98, 0x1a, 0x28, 0xa7, 0x32, 0x64, 0x50, 0xa0, 0x1c, 0x2f, 0xec, + 0x2d, 0x24, 0x98, 0xf0, 0xac, 0x40, 0xb1, 0x38, 0xb3, 0xe3, 0x13, 0x3c, 0x71, 0x8d, 0xd6, 0xac, + 0xf0, 0x51, 0x02, 0x74, 0x14, 0x23, 0xe0, 0x83, 0x9a, 0x0b, 0x3d, 0xbe, 0x7c, 0xa0, 0xe9, 0x3f, + 0x86, 0x78, 0x11, 0x78, 0xb8, 0x8d, 0xab, 0xb0, 0xd2, 0xc4, 0x1f, 0x43, 0xbd, 0x85, 0xab, 0xf0, + 0xcf, 0x36, 0x70, 0x85, 0xbc, 0xd9, 0x15, 0xfe, 0x79, 0xeb, 0xeb, 0xac, 0xef, 0x84, 0x73, 0x76, + 0xa8, 0x4a, 0x5f, 0xc3, 0x32, 0x5e, 0x3d, 0x6e, 0x0a, 0x1e, 0x31, 0xd8, 0x9f, 0xea, 0x63, 0xfd, + 0xc9, 0x18, 0xec, 0x4f, 0x7f, 0xb6, 0x2b, 0x57, 0x7f, 0xd7, 0x58, 0x7f, 0xaa, 0x8d, 0xb5, 0xd1, + 0xc2, 0xd5, 0x9f, 0x6d, 0x21, 0xdf, 0x28, 0xa7, 0xe6, 0x46, 0x43, 0x35, 0x06, 0x29, 0xf0, 0xd6, + 0xa4, 0x02, 0xdb, 0x87, 0xef, 0x08, 0x2c, 0x42, 0x01, 0x52, 0xca, 0x35, 0x8d, 0xf6, 0x73, 0x52, + 0x6e, 0xd9, 0xe3, 0xd7, 0xb4, 0x73, 0x5a, 0xfd, 0x57, 0xd6, 0x9b, 0xdf, 0x88, 0x43, 0xd4, 0x57, + 0x20, 0x8b, 0xf6, 0x53, 0xa8, 0x96, 0xeb, 0x4f, 0xcd, 0x50, 0xa3, 0xba, 0xfe, 0xa0, 0xda, 0xc3, + 0xfe, 0x40, 0xee, 0x44, 0x27, 0xfc, 0x75, 0xa8, 0x5c, 0xed, 0x3d, 0xec, 0x33, 0x6c, 0xd1, 0xd0, + 0xed, 0xfe, 0x60, 0x82, 0x36, 0x0d, 0xfc, 0x8d, 0x3a, 0xef, 0xf9, 0x29, 0x30, 0x17, 0x51, 0x7e, + 0x72, 0xc0, 0xf3, 0x54, 0xf3, 0xf6, 0x31, 0x6f, 0xbf, 0x2d, 0xef, 0x8b, 0x20, 0x6b, 0xcb, 0x38, + 0xc0, 0x8c, 0x83, 0xb6, 0x8c, 0xcf, 0xb3, 0x59, 0x5b, 0xc6, 0x43, 0xcc, 0x78, 0xd8, 0x96, 0xf1, + 0x65, 0x92, 0xc1, 0x21, 0x5f, 0xe6, 0x3d, 0xe0, 0xd1, 0x95, 0x4d, 0xea, 0x56, 0xcc, 0x0f, 0xcd, + 0x46, 0x1e, 0xe3, 0xb0, 0x85, 0x8d, 0x53, 0x71, 0x86, 0x4c, 0x8a, 0x05, 0x8b, 0xe6, 0xcf, 0xce, + 0x43, 0x5e, 0x5d, 0xd4, 0x67, 0xe1, 0x83, 0xb3, 0x90, 0x87, 0xf5, 0x81, 0x64, 0x01, 0xe4, 0x8c, + 0x1f, 0x9e, 0x85, 0x86, 0xbc, 0xbf, 0xb2, 0x5f, 0xc3, 0x28, 0xfa, 0x90, 0xcc, 0xbe, 0x7c, 0x4a, + 0xd6, 0x0f, 0x8c, 0xcc, 0xa8, 0x2a, 0xe4, 0x82, 0x6e, 0x90, 0xa4, 0x06, 0xca, 0x8f, 0x77, 0x7c, + 0x64, 0xf9, 0xe0, 0x70, 0x47, 0x4e, 0xc3, 0xdc, 0x48, 0xd0, 0xde, 0x4b, 0x56, 0xba, 0x81, 0xb4, + 0xc9, 0xa4, 0x3c, 0xff, 0x6b, 0xe7, 0xa4, 0x58, 0x05, 0x88, 0x75, 0x40, 0x27, 0x0d, 0x7c, 0x41, + 0x89, 0x4f, 0xc3, 0xba, 0xce, 0x71, 0x55, 0x43, 0x71, 0x6f, 0x37, 0xea, 0x5c, 0xdc, 0xb2, 0xa8, + 0xa1, 0x05, 0xe6, 0x60, 0x23, 0xef, 0xa2, 0xaf, 0x6a, 0x08, 0xf9, 0x73, 0xcb, 0xba, 0x32, 0x22, + 0x24, 0xf8, 0xa3, 0x56, 0xe9, 0xc7, 0x3d, 0xd6, 0xf6, 0xfa, 0x46, 0xcd, 0x6e, 0x8b, 0x24, 0x2d, + 0xfb, 0x97, 0xd1, 0x66, 0xfa, 0x5d, 0xca, 0xd1, 0x08, 0x1d, 0xbb, 0xe6, 0xda, 0xa9, 0x58, 0x46, + 0xc8, 0xff, 0xff, 0x8b, 0xf1, 0xc2, 0x47, 0xc4, 0x4b, 0x60, 0x87, 0x20, 0xf7, 0x24, 0x17, 0x02, + 0x10, 0xfe, 0x09, 0xc5, 0x02, 0xab, 0x05, 0xa3, 0x7f, 0xd4, 0xc7, 0xa7, 0x8b, 0xac, 0xc7, 0x9e, + 0xe2, 0xc7, 0xe1, 0xe0, 0xd8, 0xde, 0x10, 0xe7, 0x71, 0xd1, 0x01, 0xfe, 0x2a, 0x9e, 0xc0, 0xbf, + 0xa1, 0x2d, 0xd8, 0x50, 0x0b, 0xb9, 0xb9, 0xce, 0x9e, 0x21, 0xa3, 0x4b, 0x52, 0xbe, 0x02, 0x1e, + 0x6c, 0x1b, 0x0f, 0xc6, 0x33, 0x1d, 0x2d, 0x0e, 0x83, 0x65, 0xc0, 0xd5, 0xbe, 0xd0, 0xc6, 0xbd, + 0xce, 0x45, 0x75, 0x10, 0x96, 0x34, 0x08, 0xa5, 0x2d, 0x03, 0xdd, 0x48, 0xe1, 0x48, 0xdf, 0x8c, + 0x74, 0x59, 0x25, 0x2a, 0x85, 0x63, 0x76, 0x53, 0x98, 0x8c, 0x75, 0xdd, 0xf6, 0x71, 0x0f, 0x5b, + 0xb8, 0x27, 0x86, 0x63, 0xf0, 0xfd, 0xd3, 0x6f, 0xef, 0x38, 0x58, 0x1e, 0x61, 0x6b, 0xbd, 0xbc, + 0x0c, 0xb2, 0x97, 0x68, 0x6b, 0x4d, 0xf4, 0xd5, 0xb1, 0x9f, 0xdb, 0x88, 0xc4, 0x43, 0x41, 0xcf, + 0xd1, 0xba, 0xd8, 0x95, 0xc3, 0x71, 0x51, 0xe9, 0xf7, 0xfe, 0x4c, 0xac, 0x7d, 0x4e, 0x1b, 0x46, + 0x53, 0x25, 0x43, 0xb9, 0x70, 0x47, 0x26, 0xa7, 0xf7, 0xcf, 0x2c, 0xa5, 0xb9, 0xf1, 0x7a, 0x65, + 0x73, 0x9e, 0x8f, 0x24, 0x15, 0xb5, 0x17, 0x94, 0xb5, 0x16, 0xd4, 0x2f, 0x0b, 0x7a, 0xf1, 0x88, + 0x82, 0x96, 0xad, 0x05, 0x0d, 0xca, 0x82, 0x5e, 0x3e, 0xa2, 0xa0, 0xa8, 0xb5, 0xa0, 0xc3, 0xb2, + 0xa0, 0x57, 0xaa, 0x20, 0x6d, 0xf3, 0xb0, 0x2e, 0xea, 0x13, 0x6e, 0xc8, 0xa7, 0xc5, 0x92, 0xd1, + 0xa8, 0xbf, 0x5d, 0x4c, 0x1d, 0x37, 0x8b, 0xa8, 0x9b, 0xaa, 0x68, 0x29, 0x9f, 0xf1, 0xad, 0xa6, + 0x2e, 0xa3, 0x8e, 0xab, 0xf2, 0x69, 0x58, 0x12, 0xd5, 0x97, 0xb6, 0x19, 0xbd, 0x18, 0xa9, 0xee, + 0x84, 0x61, 0x5c, 0xef, 0x42, 0x18, 0xdb, 0xbc, 0x55, 0xda, 0xee, 0x84, 0x46, 0x23, 0xea, 0x38, + 0x49, 0x8b, 0x9b, 0xc2, 0xc8, 0x01, 0xbf, 0x82, 0x35, 0x3e, 0xb8, 0x80, 0x0d, 0x94, 0x15, 0x90, + 0x1c, 0x05, 0x1c, 0xc8, 0x98, 0x73, 0x4d, 0x99, 0xff, 0xed, 0x9d, 0xcd, 0xf2, 0xf4, 0xe9, 0xe0, + 0xc9, 0x13, 0xdb, 0xf7, 0x73, 0xba, 0xec, 0x4e, 0x0e, 0x07, 0xc3, 0x27, 0x47, 0x1b, 0x9d, 0x3d, + 0x17, 0x4b, 0x18, 0xb7, 0x56, 0x60, 0xc6, 0x67, 0xec, 0x32, 0x89, 0x10, 0xca, 0x1c, 0xae, 0xca, + 0xf8, 0xaa, 0x04, 0x77, 0xa8, 0x6e, 0xb7, 0x6b, 0x1f, 0x08, 0xf1, 0x92, 0x1a, 0x32, 0xb8, 0x59, + 0xc2, 0x2d, 0x93, 0x2d, 0x0b, 0xa0, 0x6f, 0xb4, 0x28, 0x84, 0x96, 0x17, 0xf3, 0xf1, 0xb7, 0x77, + 0xeb, 0x89, 0x7d, 0x86, 0x2c, 0xba, 0xf5, 0x1b, 0x1a, 0x04, 0xd1, 0xb7, 0x77, 0xaf, 0x5f, 0xd9, + 0xdc, 0xf8, 0x50, 0x4b, 0xa5, 0x0f, 0x14, 0xb4, 0x77, 0x62, 0x13, 0x30, 0x14, 0xe5, 0x81, 0x2d, + 0x03, 0x32, 0xd7, 0x12, 0xe0, 0xfb, 0x16, 0x12, 0xa2, 0xca, 0x44, 0x8d, 0xe5, 0xe2, 0x09, 0xf2, + 0xd3, 0x62, 0x81, 0xcf, 0xd0, 0x34, 0x83, 0x47, 0xad, 0x89, 0x62, 0x80, 0xb5, 0x4d, 0xd8, 0xdc, + 0xfb, 0xe5, 0x45, 0x26, 0x5e, 0xaf, 0xa6, 0x2c, 0x13, 0xd7, 0x9b, 0x9e, 0xb8, 0xf0, 0x7c, 0x7b, + 0xe7, 0xac, 0x27, 0xab, 0xeb, 0xa1, 0x14, 0xee, 0xba, 0xfb, 0xfd, 0x8d, 0x76, 0xd9, 0x99, 0x6d, + 0x6a, 0x97, 0xa6, 0x77, 0x2c, 0x2e, 0xaf, 0x53, 0x5f, 0xd8, 0x2d, 0x7a, 0xbe, 0xa3, 0xca, 0x68, + 0x7c, 0xd5, 0x26, 0xaf, 0xf5, 0xe2, 0x81, 0x06, 0xb2, 0x07, 0x1a, 0x68, 0xb4, 0x4f, 0x6f, 0xdc, + 0x7c, 0xdf, 0xa9, 0x8e, 0xe9, 0x6c, 0xd8, 0x73, 0xff, 0x86, 0x26, 0x5b, 0x58, 0xab, 0x34, 0x51, + 0x43, 0x9a, 0xdd, 0x0f, 0xa2, 0x70, 0x19, 0x0f, 0x71, 0x8b, 0xcf, 0x0a, 0xb4, 0x4b, 0xc3, 0x23, + 0x12, 0x13, 0x5d, 0x76, 0x48, 0x5c, 0x69, 0x77, 0x16, 0x18, 0x54, 0xef, 0x29, 0x95, 0xa4, 0x6e, + 0x13, 0xe6, 0x02, 0x49, 0x16, 0xd5, 0x9e, 0x6b, 0x54, 0x9c, 0x2c, 0xb6, 0xf5, 0x43, 0x13, 0x53, + 0xc2, 0x1a, 0x85, 0x1a, 0x84, 0x3c, 0x74, 0xcc, 0x09, 0xf4, 0x93, 0x34, 0x9c, 0x85, 0x86, 0xd5, + 0xc6, 0xc8, 0xe6, 0xbe, 0x0f, 0x24, 0xd1, 0x7d, 0x42, 0x11, 0xa2, 0x4a, 0x6f, 0x52, 0xd8, 0x03, + 0xb3, 0xb7, 0xd7, 0x89, 0x3b, 0x7b, 0xf9, 0xa7, 0xad, 0xf3, 0xb7, 0xd7, 0x71, 0x56, 0x97, 0xfb, + 0x7d, 0x14, 0x53, 0xca, 0xee, 0xed, 0x75, 0x52, 0xfc, 0xd5, 0xd0, 0x39, 0x2a, 0xb0, 0x65, 0x96, + 0x44, 0xdc, 0xb8, 0x6c, 0xea, 0x03, 0x0d, 0x63, 0x0f, 0x35, 0x6c, 0x75, 0x69, 0x34, 0xca, 0x59, + 0xd6, 0xe9, 0x29, 0x45, 0x30, 0xb3, 0xbf, 0xa1, 0xb1, 0x56, 0x3b, 0x2d, 0x01, 0x37, 0x70, 0x25, + 0x89, 0x68, 0x05, 0x5f, 0xd4, 0x04, 0xd8, 0xb4, 0xd3, 0xaa, 0x99, 0xfd, 0x67, 0x96, 0xac, 0x53, + 0x38, 0xc3, 0x55, 0xff, 0xcf, 0xf0, 0x0d, 0x89, 0xf6, 0xdb, 0x9c, 0x3a, 0xfb, 0x51, 0x6b, 0x6f, + 0x99, 0xa5, 0x8d, 0x83, 0xd4, 0xd7, 0xe5, 0x21, 0x1a, 0x55, 0x42, 0xfa, 0xff, 0x86, 0x1d, 0x21, + 0x4f, 0x67, 0x5b, 0xa7, 0xae, 0xda, 0x2a, 0x48, 0xff, 0xb7, 0xb4, 0xea, 0x11, 0xf2, 0x7c, 0x2e, + 0x52, 0x6a, 0x63, 0x65, 0xa5, 0xb6, 0x5a, 0xf5, 0x66, 0x46, 0x47, 0xad, 0x38, 0x53, 0x7b, 0xa6, + 0x7c, 0x5e, 0x9b, 0x2f, 0x29, 0x92, 0x35, 0xcf, 0xd5, 0x4b, 0x6b, 0x6a, 0x5e, 0x99, 0x80, 0x22, + 0x6d, 0x75, 0xdc, 0x3b, 0x74, 0x34, 0x2c, 0x5c, 0xf8, 0xb2, 0xbb, 0xbb, 0xdc, 0x4f, 0xc7, 0xfd, + 0xdd, 0xdd, 0xf9, 0xfe, 0x6c, 0xdc, 0x9f, 0x4c, 0x89, 0x70, 0x1c, 0xd6, 0x7d, 0xbe, 0x9e, 0x87, + 0xc9, 0x07, 0x16, 0x08, 0x57, 0x46, 0x95, 0x00, 0x12, 0xd7, 0xd9, 0xc3, 0x5b, 0x3c, 0xcd, 0xb7, + 0x48, 0x0e, 0x8c, 0x06, 0x4c, 0x8b, 0x95, 0x2d, 0xea, 0xfe, 0x48, 0x6e, 0x7a, 0x12, 0x52, 0x5c, + 0x70, 0xe1, 0x82, 0xc5, 0xed, 0xa3, 0xb0, 0x6e, 0xd8, 0x3d, 0xb7, 0xdf, 0x4a, 0x68, 0x81, 0x14, + 0x69, 0xe5, 0x0a, 0xf8, 0x31, 0x55, 0xab, 0x6a, 0x0f, 0xb9, 0xf1, 0x22, 0x35, 0x6e, 0x25, 0xb0, + 0x1a, 0xc6, 0xa8, 0xfb, 0x79, 0xb8, 0xe4, 0x26, 0x89, 0x91, 0x51, 0x72, 0x45, 0x66, 0x44, 0x25, + 0xe3, 0x3e, 0xf8, 0xf5, 0xb7, 0x9e, 0x39, 0xdc, 0xad, 0x88, 0xa3, 0x6f, 0xa7, 0x1e, 0xd1, 0xb2, + 0x8c, 0xf3, 0x5d, 0xc2, 0xba, 0xe6, 0x03, 0x4b, 0xe1, 0xea, 0x6a, 0xa1, 0x92, 0x24, 0xb2, 0xf0, + 0x21, 0x96, 0xa6, 0x34, 0x4a, 0x1f, 0x45, 0x64, 0x9c, 0x0b, 0x1c, 0xcc, 0x4d, 0xb2, 0xba, 0x78, + 0x4c, 0x53, 0xe6, 0x46, 0x53, 0x5e, 0x91, 0x8d, 0x8b, 0xd6, 0x80, 0xb9, 0x7e, 0x41, 0x7c, 0xa0, + 0x01, 0xbd, 0xc3, 0xef, 0xab, 0x74, 0xad, 0x5d, 0x9b, 0xeb, 0x0c, 0x24, 0x90, 0x5c, 0x86, 0xdb, + 0x1a, 0x37, 0xc4, 0xdd, 0x48, 0xb9, 0x79, 0x83, 0xe5, 0x42, 0x25, 0xaa, 0x4d, 0x49, 0x2b, 0x44, + 0xf9, 0xba, 0xa4, 0x7e, 0xec, 0x73, 0xb5, 0xf4, 0xa8, 0x7c, 0xc4, 0x17, 0xbb, 0xb2, 0xbc, 0x08, + 0xdf, 0x4e, 0xbb, 0xd2, 0xcc, 0x57, 0xfe, 0xee, 0x0a, 0x6a, 0x40, 0x33, 0x76, 0xa5, 0x61, 0x08, + 0xfc, 0xde, 0x28, 0x38, 0xf1, 0x71, 0x30, 0x46, 0x41, 0xa7, 0xe3, 0x96, 0x42, 0xfe, 0x00, 0x0b, + 0x28, 0x37, 0x9a, 0x40, 0xbd, 0x1f, 0x23, 0x91, 0x32, 0x3d, 0xd3, 0xa0, 0x35, 0x13, 0xa0, 0x8c, + 0xfa, 0xc2, 0x55, 0x95, 0x2f, 0x33, 0xcc, 0xdb, 0xac, 0x47, 0xf6, 0x76, 0xf4, 0x7c, 0xd0, 0xb0, + 0x0b, 0xd5, 0x2a, 0x58, 0xe1, 0x8f, 0x6b, 0x7c, 0xdf, 0xe5, 0x78, 0x03, 0x42, 0xd1, 0x71, 0x32, + 0x28, 0x93, 0x2e, 0xe7, 0x76, 0x07, 0x7b, 0xd2, 0x56, 0x3b, 0xec, 0xaa, 0x1a, 0x46, 0x96, 0xcc, + 0xd4, 0x43, 0x19, 0xbb, 0x34, 0xab, 0x56, 0xcd, 0x58, 0xa6, 0xbd, 0x36, 0x6d, 0xb8, 0x61, 0x43, + 0x50, 0x66, 0xa8, 0x4d, 0xa2, 0x96, 0x05, 0x7a, 0x4e, 0x22, 0xef, 0x9d, 0x98, 0x3f, 0x61, 0x36, + 0x8f, 0x60, 0xbd, 0x45, 0x7c, 0x70, 0xb0, 0x17, 0x9b, 0x5c, 0x3e, 0xb8, 0x71, 0xe1, 0x8c, 0xee, + 0xb4, 0xa5, 0x62, 0x2a, 0xd5, 0x89, 0x64, 0x21, 0xcb, 0x36, 0x65, 0xf5, 0x01, 0x31, 0x49, 0x4b, + 0xcd, 0xda, 0x1a, 0x48, 0x68, 0x50, 0x33, 0x5c, 0x90, 0xa3, 0x0c, 0x7b, 0xae, 0x89, 0x75, 0xe4, + 0x99, 0xcf, 0x8b, 0xc9, 0x61, 0x50, 0xee, 0xa2, 0x24, 0x02, 0xbf, 0xa8, 0x77, 0x13, 0xf2, 0x95, + 0xfd, 0xde, 0x3b, 0x36, 0x87, 0x88, 0xe1, 0x6e, 0x3c, 0xcd, 0xd3, 0x51, 0x83, 0xe4, 0x2c, 0x5f, + 0xea, 0xdb, 0x59, 0x45, 0xa7, 0x1c, 0x51, 0xe6, 0xdf, 0xf7, 0x86, 0x6a, 0x0c, 0x48, 0x4e, 0xc0, + 0x7b, 0xdd, 0x20, 0x4e, 0x2b, 0xa5, 0x60, 0xe3, 0x9f, 0x45, 0x99, 0x73, 0x25, 0xfc, 0xda, 0x1b, + 0x29, 0x13, 0x00, 0xb2, 0x46, 0xb4, 0x78, 0x93, 0x49, 0x7f, 0x46, 0xb6, 0x84, 0x66, 0x59, 0xdf, + 0xde, 0xa1, 0x3b, 0x9e, 0x0d, 0x1a, 0x72, 0xf5, 0xd0, 0x29, 0x79, 0x38, 0x9f, 0xd8, 0x42, 0x02, + 0x62, 0x0f, 0x8b, 0x2e, 0xbe, 0xb9, 0x81, 0xab, 0x18, 0x6f, 0x21, 0xfa, 0xad, 0x0f, 0xe7, 0x1d, + 0x9b, 0x5b, 0x51, 0x6f, 0x54, 0x95, 0x17, 0x23, 0x46, 0x86, 0xf9, 0x86, 0xd4, 0x4d, 0x58, 0xe8, + 0x8b, 0x9c, 0x86, 0xb5, 0x5f, 0x25, 0xa6, 0x6d, 0xee, 0x34, 0xc3, 0xc2, 0x86, 0xb4, 0x5b, 0xcd, + 0x37, 0x94, 0xe5, 0xad, 0x30, 0xd9, 0x24, 0x4b, 0x5d, 0x8f, 0x54, 0x91, 0x4c, 0xda, 0xa3, 0x2a, + 0x3d, 0x29, 0xbe, 0x48, 0x29, 0x4e, 0x24, 0x3e, 0xff, 0xa8, 0x80, 0x6d, 0x82, 0x7c, 0x7e, 0xdc, + 0xa1, 0x97, 0x39, 0xf8, 0x82, 0xa6, 0x11, 0x78, 0xe9, 0xe4, 0x3f, 0xfa, 0xe7, 0x1b, 0x2c, 0x43, + 0x37, 0xef, 0x24, 0x13, 0x25, 0x82, 0x58, 0x88, 0x18, 0x82, 0xb7, 0x05, 0x19, 0x73, 0x0a, 0x0a, + 0x74, 0xd1, 0x88, 0x47, 0x1a, 0xbc, 0x62, 0x79, 0x3d, 0x5e, 0x92, 0x7d, 0x86, 0x4f, 0xce, 0xd1, + 0xe4, 0x5e, 0x36, 0x82, 0x1e, 0xde, 0x32, 0x49, 0x4f, 0x08, 0x36, 0xe1, 0x45, 0xf0, 0x41, 0x50, + 0x05, 0xb6, 0x65, 0xa3, 0x35, 0x89, 0xcd, 0x71, 0x48, 0xa8, 0x32, 0xe9, 0x1a, 0xd4, 0xfe, 0x70, + 0xf6, 0xcb, 0x2b, 0xdb, 0x3d, 0xe9, 0x91, 0xfd, 0xa1, 0x49, 0xb4, 0xdc, 0x88, 0x16, 0x6d, 0xe1, + 0xb9, 0xe1, 0xad, 0x20, 0x5a, 0xa8, 0x24, 0x46, 0xb4, 0x11, 0x1e, 0x8a, 0x4f, 0x9b, 0x84, 0x67, + 0x2e, 0x7b, 0x34, 0xda, 0x19, 0xf5, 0x81, 0x23, 0x91, 0x11, 0x23, 0x3e, 0x3a, 0x68, 0xb4, 0x11, + 0x4f, 0x3e, 0x9f, 0x0f, 0x63, 0x09, 0xb2, 0x30, 0x22, 0xb0, 0x14, 0xe9, 0x0f, 0xe6, 0xe4, 0xf0, + 0xfe, 0x9e, 0x0c, 0x3b, 0xc8, 0xd8, 0x14, 0xd2, 0xe1, 0xa7, 0x4c, 0xea, 0xd1, 0xbb, 0xda, 0x06, + 0x4c, 0x05, 0xc2, 0xb0, 0x93, 0x48, 0x82, 0x18, 0xe0, 0x8a, 0x97, 0x37, 0x70, 0x24, 0xf5, 0xdf, + 0x1c, 0x3e, 0x7f, 0x3a, 0xb2, 0xa5, 0x66, 0x56, 0x55, 0x74, 0xa4, 0x2a, 0x3a, 0x3c, 0x9f, 0x00, + 0x8b, 0x3b, 0xc4, 0x2f, 0xa3, 0x1e, 0xf7, 0xa3, 0x1b, 0x10, 0xca, 0x77, 0xa0, 0xd5, 0xe5, 0x04, + 0xa5, 0x8b, 0x0c, 0x60, 0x3d, 0xcb, 0x0a, 0x9e, 0x0e, 0x06, 0x4f, 0x46, 0x94, 0xb8, 0x8c, 0xef, + 0xeb, 0xf1, 0xcf, 0x8e, 0x06, 0xd5, 0xf8, 0x81, 0x16, 0xff, 0xec, 0xc9, 0xe1, 0xd3, 0x6a, 0xfc, + 0x95, 0x1e, 0xff, 0xf4, 0xf0, 0xa8, 0x1a, 0xbf, 0x30, 0xe3, 0x8f, 0x47, 0x88, 0x47, 0x57, 0x74, + 0xfc, 0x25, 0xbe, 0x02, 0xc1, 0x43, 0x08, 0x88, 0x1a, 0x8d, 0xf1, 0x7e, 0x28, 0x56, 0x11, 0xa4, + 0xbe, 0xb1, 0x3d, 0x74, 0x8a, 0x85, 0x9c, 0xcf, 0x9b, 0xdf, 0x60, 0x14, 0xc9, 0xac, 0x81, 0x9f, + 0xb5, 0x8b, 0x1b, 0x34, 0xb6, 0x34, 0x8f, 0xda, 0x06, 0x03, 0x5a, 0x65, 0x98, 0xcf, 0x6d, 0xf8, + 0x95, 0x19, 0xb6, 0xf8, 0x65, 0xd8, 0x27, 0x23, 0x12, 0xb4, 0x49, 0xbe, 0x64, 0xc2, 0x2a, 0xd2, + 0x4a, 0x02, 0x46, 0x0f, 0x6b, 0x72, 0x6f, 0x10, 0x26, 0xac, 0x64, 0x0d, 0xad, 0x16, 0x12, 0xd2, + 0x30, 0x65, 0xc1, 0x9d, 0xa6, 0xb9, 0x63, 0xe2, 0x79, 0x82, 0xed, 0xa1, 0xd5, 0xb1, 0x87, 0xd5, + 0x50, 0x1f, 0x4f, 0x65, 0xb0, 0xc1, 0x3f, 0xa3, 0x74, 0x3e, 0x25, 0xfd, 0xa6, 0xb8, 0x7d, 0x7d, + 0x7b, 0x07, 0xa5, 0x42, 0xda, 0x53, 0x08, 0x7c, 0x99, 0xe7, 0x0e, 0x19, 0x55, 0x2b, 0x93, 0xca, + 0x0b, 0x69, 0x5e, 0x0c, 0x47, 0x6a, 0x75, 0x84, 0x98, 0x20, 0x66, 0x65, 0x83, 0xc0, 0xcd, 0x75, + 0x39, 0x82, 0x26, 0x3e, 0x18, 0x29, 0xba, 0x33, 0xc8, 0x47, 0xd2, 0x1c, 0x57, 0x59, 0x50, 0xc0, + 0xce, 0xc0, 0x4e, 0xb4, 0x18, 0xd8, 0xe8, 0x3a, 0xd2, 0x4a, 0xa2, 0x06, 0x14, 0x83, 0xbe, 0xc3, + 0x6a, 0x2d, 0xd0, 0xf1, 0x5d, 0x0a, 0x7a, 0xbf, 0xb3, 0x2e, 0x44, 0x93, 0x1e, 0x18, 0x20, 0x38, + 0xcd, 0xf7, 0x99, 0x67, 0xff, 0x0f, 0xeb, 0xe5, 0x3a, 0x2f, 0x92, 0x15, 0x9a, 0x84, 0xc0, 0x4e, + 0xf0, 0x3f, 0xec, 0xbf, 0x32, 0x5e, 0x54, 0xa6, 0x3e, 0x60, 0x1b, 0xad, 0x73, 0xe3, 0x1e, 0x37, + 0xab, 0xcb, 0x56, 0x90, 0xe3, 0x41, 0x9b, 0xba, 0x7a, 0xaa, 0xc6, 0x1d, 0x39, 0x63, 0xf3, 0x2c, + 0xb8, 0x16, 0x4d, 0x50, 0xa8, 0x34, 0x8d, 0x56, 0x29, 0x62, 0xd0, 0xac, 0x2e, 0x99, 0x34, 0xbb, + 0x23, 0xdd, 0xa6, 0xde, 0x62, 0xa5, 0x81, 0x0a, 0xf3, 0xab, 0xbe, 0x44, 0xec, 0xae, 0xea, 0xb9, + 0x3b, 0x22, 0x9f, 0xda, 0xfc, 0x9c, 0xf7, 0x2b, 0xd4, 0xa2, 0x50, 0x37, 0xc9, 0x83, 0x9d, 0xfe, + 0xe2, 0x58, 0x4f, 0xc6, 0x4d, 0xce, 0x75, 0xb0, 0xe7, 0xf2, 0x81, 0x78, 0x19, 0x86, 0xfb, 0x23, + 0xa1, 0xe6, 0xcb, 0xc7, 0xac, 0xd2, 0xf1, 0xa4, 0x45, 0x0c, 0xc4, 0xa8, 0xef, 0xab, 0x7d, 0x0b, + 0x8d, 0x35, 0x81, 0xd0, 0x7d, 0x22, 0xf9, 0x8a, 0x87, 0x68, 0x5c, 0x67, 0x22, 0x1e, 0x2d, 0x74, + 0x61, 0x82, 0xd4, 0x23, 0x2e, 0x61, 0x6f, 0xae, 0x13, 0xa2, 0x38, 0xa2, 0x88, 0x0a, 0xf9, 0x11, + 0x1f, 0xfb, 0x85, 0xdc, 0xa9, 0x03, 0x2f, 0xf1, 0x42, 0x2f, 0x03, 0x16, 0x72, 0x54, 0x3b, 0x0b, + 0x62, 0xd7, 0xcd, 0x7c, 0xcd, 0x36, 0x09, 0xcd, 0x81, 0x0f, 0xa0, 0xb2, 0xef, 0x08, 0xb5, 0x9e, + 0x1b, 0xa2, 0x23, 0xca, 0x14, 0xec, 0xdc, 0x08, 0x2a, 0x85, 0xdb, 0x2a, 0x9d, 0xbe, 0x08, 0x17, + 0x94, 0xe1, 0xfe, 0xef, 0x06, 0xd8, 0x36, 0x61, 0x87, 0x18, 0xc4, 0xf3, 0x64, 0xe5, 0xa0, 0x95, + 0x4c, 0x3d, 0x2c, 0xac, 0x87, 0x95, 0xc0, 0x3e, 0x8c, 0x2a, 0xda, 0xef, 0x0b, 0x6b, 0x49, 0x8e, + 0x55, 0x90, 0x73, 0xfe, 0x17, 0x56, 0x48, 0xc6, 0xe2, 0x51, 0xa0, 0x99, 0xf4, 0xe0, 0xe1, 0x24, + 0xa7, 0x2c, 0x73, 0xa5, 0xd7, 0x80, 0x5a, 0xd4, 0x12, 0x6b, 0x6d, 0x8e, 0x9a, 0xba, 0x9b, 0x1d, + 0xe9, 0xa4, 0xd0, 0x18, 0x00, 0x76, 0x20, 0x47, 0x93, 0x86, 0x00, 0x61, 0x1b, 0xc8, 0xcc, 0x5e, + 0xe0, 0x8b, 0x06, 0x08, 0x2d, 0x9a, 0xe0, 0x9f, 0x70, 0xe3, 0x22, 0xc8, 0xe9, 0xe6, 0x1f, 0x17, + 0x12, 0xed, 0xfe, 0x42, 0xf3, 0xdf, 0x67, 0x55, 0x71, 0x51, 0xa5, 0x8f, 0x3e, 0x0f, 0x31, 0xad, + 0x08, 0x21, 0x08, 0x38, 0xb8, 0xd1, 0x85, 0x49, 0x6c, 0xf5, 0x65, 0x4f, 0x4f, 0xea, 0x61, 0xbf, + 0xc7, 0x63, 0xde, 0x0b, 0x8c, 0xb7, 0xf5, 0x95, 0xf5, 0xcd, 0xf9, 0x34, 0xd4, 0x84, 0x16, 0x70, + 0xd3, 0xbb, 0x15, 0x42, 0x49, 0xd2, 0x3a, 0xe2, 0xd5, 0x10, 0x5f, 0xd6, 0xa3, 0x46, 0x50, 0xb3, + 0xb4, 0xa4, 0x38, 0x60, 0xd5, 0x50, 0x44, 0x16, 0xa0, 0x28, 0x6c, 0x6f, 0x93, 0xc4, 0x2f, 0xf9, + 0x3d, 0x11, 0x98, 0xec, 0x0d, 0xc1, 0xa9, 0xba, 0x4a, 0x4b, 0x29, 0xae, 0x94, 0x22, 0x54, 0x56, + 0x8d, 0xfd, 0x4b, 0xb8, 0xd2, 0xf2, 0x41, 0xc5, 0x59, 0x45, 0xa1, 0x49, 0x59, 0x35, 0x71, 0x0f, + 0x36, 0x10, 0x99, 0x18, 0xfc, 0xce, 0x36, 0xb6, 0xa9, 0xa8, 0xa4, 0xc4, 0xe6, 0x95, 0xbd, 0x32, + 0x00, 0xd2, 0xb0, 0xde, 0xcc, 0xa7, 0xde, 0x2a, 0x8c, 0x39, 0xae, 0x80, 0xa1, 0xc2, 0x11, 0x06, + 0x0c, 0x9d, 0xb8, 0xbc, 0xb5, 0xaa, 0xe9, 0x98, 0x62, 0x23, 0xe9, 0xcd, 0x25, 0xb7, 0xd0, 0x62, + 0xc2, 0x3a, 0x6b, 0x30, 0xe4, 0xc6, 0x56, 0x83, 0xa1, 0x58, 0xdf, 0xaf, 0xcf, 0x4e, 0x0f, 0x07, + 0xb6, 0x34, 0xc1, 0xe2, 0x1f, 0x87, 0x46, 0xe4, 0xfe, 0x99, 0x8c, 0x3f, 0x12, 0xf1, 0x47, 0x95, + 0xf8, 0x43, 0x11, 0x7f, 0x2c, 0xe2, 0x8f, 0xcd, 0xf8, 0x97, 0x32, 0xbe, 0xcf, 0xe3, 0x9f, 0xea, + 0x95, 0x93, 0xd6, 0x44, 0x90, 0xa0, 0x3d, 0xd1, 0x7b, 0x10, 0x1b, 0xef, 0xd9, 0x6d, 0x84, 0xdd, + 0xa2, 0x47, 0x8c, 0x18, 0x3e, 0x01, 0x5e, 0x31, 0x1d, 0xf2, 0xef, 0x75, 0x26, 0x81, 0xcc, 0xb9, + 0x4b, 0x6f, 0x76, 0xf8, 0x72, 0x1c, 0xd8, 0x4e, 0x64, 0x36, 0x60, 0xc3, 0x81, 0xb5, 0x0f, 0x5c, + 0x2c, 0xf9, 0xef, 0x51, 0xd7, 0x69, 0x34, 0xd8, 0x13, 0x81, 0x5f, 0xc1, 0x03, 0xcb, 0x62, 0x5c, + 0x28, 0x32, 0xe0, 0x81, 0x62, 0x3b, 0xd8, 0xae, 0xf2, 0x42, 0x73, 0xd9, 0x40, 0xf8, 0x58, 0x10, + 0xd6, 0xb2, 0xba, 0xda, 0x2b, 0x5b, 0x15, 0x1f, 0x97, 0x91, 0xb3, 0x07, 0xcb, 0x15, 0x3a, 0xb9, + 0xd9, 0xe3, 0xde, 0xc4, 0x47, 0xb6, 0x69, 0x8f, 0x46, 0xaf, 0xc4, 0xa5, 0xb9, 0xe5, 0x45, 0xd3, + 0x3b, 0x67, 0xf5, 0x5a, 0x8a, 0x8a, 0xd1, 0x2a, 0x90, 0xa8, 0x69, 0x12, 0x99, 0x60, 0x8f, 0x7c, + 0x2e, 0x1c, 0x1c, 0xc8, 0x0a, 0xc9, 0xca, 0x57, 0x23, 0xcf, 0xa9, 0xa4, 0x40, 0x3e, 0x25, 0x81, + 0x2b, 0x5e, 0xd8, 0x60, 0xfa, 0xab, 0x70, 0x7e, 0x32, 0x38, 0xec, 0x7d, 0xdf, 0x3f, 0xec, 0x61, + 0x67, 0x98, 0xf6, 0xcc, 0xca, 0xbb, 0x80, 0x1c, 0x44, 0x86, 0xfd, 0xc1, 0xf7, 0xa2, 0xc3, 0x90, + 0x15, 0xcd, 0x32, 0x42, 0x7e, 0x2f, 0xa3, 0xec, 0x13, 0xfb, 0xfd, 0xc1, 0x73, 0x7b, 0x48, 0xdf, + 0x37, 0xd4, 0x33, 0xd7, 0x8b, 0x3b, 0x9d, 0x0d, 0x43, 0xb3, 0xfb, 0x93, 0xde, 0x24, 0x07, 0xde, + 0xf2, 0xad, 0xf0, 0xf2, 0x65, 0xe1, 0xee, 0x82, 0xaf, 0xc4, 0xa5, 0xf7, 0x8c, 0xae, 0x3d, 0xec, + 0x91, 0xa1, 0xa2, 0x83, 0xc9, 0xde, 0x27, 0x56, 0x82, 0x0f, 0xd9, 0x95, 0x57, 0xb0, 0xdc, 0x5a, + 0xe0, 0x7e, 0xd6, 0x45, 0xc6, 0x1e, 0x2f, 0x89, 0xd2, 0x70, 0xdb, 0xd2, 0x2c, 0x55, 0x5f, 0x72, + 0x03, 0x5b, 0x95, 0x67, 0x88, 0xf6, 0xaa, 0x34, 0x99, 0x1b, 0x4a, 0x18, 0xd1, 0x2b, 0x9e, 0x8a, + 0x71, 0x6a, 0x6c, 0x70, 0x61, 0xb9, 0xf9, 0x30, 0x91, 0x93, 0x5f, 0xf3, 0x8b, 0xc4, 0x98, 0xbf, + 0x34, 0x78, 0xcc, 0x83, 0x44, 0x85, 0x97, 0xb0, 0x8e, 0xe6, 0x16, 0x7a, 0x30, 0xc3, 0xb2, 0x2d, + 0x2c, 0xdc, 0x42, 0x86, 0x82, 0x43, 0xd7, 0x34, 0xbe, 0x54, 0xac, 0xa2, 0xd8, 0xd0, 0x69, 0x68, + 0x2e, 0x0e, 0xc9, 0x30, 0x7a, 0x15, 0x64, 0xb1, 0xda, 0x5b, 0xc3, 0x1a, 0xec, 0x12, 0x09, 0x92, + 0x38, 0x33, 0x21, 0xdc, 0xc3, 0x09, 0x56, 0x61, 0x54, 0x62, 0xdc, 0xe1, 0x80, 0x62, 0x3d, 0x6d, + 0x78, 0xef, 0x15, 0xb3, 0x44, 0xc4, 0x28, 0xa4, 0x75, 0x09, 0x17, 0xa9, 0x56, 0xc4, 0xf0, 0xc2, + 0xc5, 0xd2, 0x24, 0x48, 0xd2, 0x2f, 0xb8, 0xed, 0x12, 0x68, 0xf3, 0x12, 0xa6, 0xa2, 0xc8, 0x42, + 0x38, 0x90, 0xe5, 0x6a, 0x67, 0xdd, 0xcb, 0x20, 0xaf, 0x7a, 0xde, 0x81, 0x1d, 0x23, 0x90, 0x41, + 0xf4, 0x1e, 0x84, 0x0b, 0x22, 0x86, 0x70, 0xac, 0x4b, 0xfc, 0x1b, 0xdd, 0xbe, 0x99, 0x22, 0x0f, + 0x60, 0xd9, 0x45, 0x27, 0x04, 0xbb, 0x02, 0x8b, 0x6d, 0xc0, 0x39, 0x98, 0xd8, 0xaf, 0xa1, 0x86, + 0x3f, 0xe3, 0xa0, 0xe1, 0x5c, 0x21, 0x3f, 0x5d, 0xba, 0x44, 0x35, 0xff, 0x90, 0x01, 0xb3, 0xfd, + 0x27, 0x22, 0xc4, 0xbd, 0x18, 0xb5, 0x01, 0x46, 0xc6, 0x1b, 0x2e, 0xd7, 0x33, 0x46, 0xaf, 0x6d, + 0x20, 0x15, 0xc2, 0x23, 0x70, 0xdd, 0xe4, 0x99, 0x05, 0xc7, 0x2f, 0x10, 0x37, 0x43, 0x75, 0x35, + 0x90, 0x92, 0x96, 0x12, 0x3f, 0x59, 0x03, 0xd4, 0x22, 0x40, 0x63, 0xe9, 0x64, 0xe6, 0x4f, 0x56, + 0xd9, 0x84, 0x6d, 0x45, 0xf3, 0x2a, 0x1c, 0xcf, 0x70, 0xb0, 0xa7, 0x0a, 0xfd, 0xa0, 0x54, 0x52, + 0x43, 0xb1, 0xe4, 0x22, 0x31, 0x86, 0x52, 0x33, 0x49, 0x46, 0x15, 0xd4, 0xa2, 0x4a, 0x2a, 0xd1, + 0x2b, 0xb8, 0xa8, 0x37, 0xa6, 0x28, 0xe5, 0x6a, 0x75, 0x05, 0x63, 0x31, 0x24, 0xac, 0xa3, 0x7c, + 0xbf, 0x10, 0xa2, 0x59, 0xa3, 0xe8, 0x4f, 0x17, 0xc8, 0x31, 0x1a, 0x65, 0x61, 0x50, 0xe2, 0x57, + 0x1a, 0x00, 0x4c, 0x59, 0xa5, 0x42, 0x60, 0x4e, 0xf5, 0x90, 0x64, 0x01, 0x41, 0x33, 0xce, 0x05, + 0xae, 0xbe, 0x9c, 0x7d, 0xfa, 0x01, 0x96, 0xfb, 0xbc, 0xfc, 0xf9, 0x8a, 0x23, 0xaf, 0x86, 0xf9, + 0x8f, 0x78, 0x6e, 0x14, 0x63, 0x9f, 0xcc, 0x69, 0x5d, 0xf2, 0xa5, 0x24, 0x60, 0x1d, 0x7a, 0x5e, + 0xdc, 0xe5, 0x9e, 0x68, 0xe0, 0x33, 0x8c, 0x11, 0x33, 0x9e, 0xcf, 0x2e, 0x8f, 0xee, 0xc3, 0x0d, + 0x1c, 0xa3, 0xe9, 0x93, 0x47, 0x27, 0xf4, 0x85, 0x1b, 0xe6, 0x26, 0x14, 0x29, 0xa5, 0x8a, 0xfb, + 0x7d, 0x2f, 0x2c, 0x23, 0x3b, 0xf4, 0x4b, 0x8b, 0x46, 0xe7, 0x3d, 0xb3, 0x16, 0x81, 0xe9, 0x7c, + 0x77, 0x77, 0xde, 0x12, 0x05, 0x8c, 0x67, 0xd6, 0x2e, 0xf8, 0x26, 0xc6, 0xb8, 0x52, 0x70, 0x45, + 0x80, 0x59, 0x29, 0xbb, 0x12, 0x5b, 0x29, 0x5e, 0xab, 0x99, 0x66, 0x4e, 0xe3, 0x98, 0x63, 0x49, + 0x0f, 0x1a, 0xab, 0x1c, 0xb4, 0x52, 0x40, 0x02, 0x14, 0x30, 0x8a, 0xbe, 0xf3, 0xc3, 0xfd, 0x84, + 0x0a, 0x4a, 0x8d, 0x89, 0x43, 0x2d, 0xd2, 0x05, 0x17, 0x53, 0xef, 0x17, 0xa8, 0xb6, 0x82, 0x64, + 0x28, 0x0c, 0x4d, 0x77, 0x77, 0xd3, 0xed, 0x52, 0x7e, 0x81, 0x0d, 0xa6, 0x44, 0x18, 0xe6, 0x3d, + 0xee, 0x82, 0xee, 0x71, 0x9f, 0x35, 0x66, 0xb6, 0x74, 0x30, 0xb4, 0xb1, 0xcf, 0x79, 0x95, 0x05, + 0xe7, 0x1d, 0xf2, 0x96, 0x5b, 0x20, 0x1d, 0xc1, 0xe2, 0xcc, 0x21, 0x20, 0x8e, 0xc8, 0x68, 0x3a, + 0x99, 0xa6, 0xa2, 0x29, 0x2b, 0xc1, 0xe0, 0x2a, 0x31, 0xda, 0xff, 0xfb, 0x3f, 0xff, 0x2f, 0x94, + 0xa2, 0x4d, 0xa2, 0xf6, 0x5b, 0x6f, 0xd4, 0x22, 0xfa, 0xde, 0x70, 0x39, 0x65, 0x8a, 0x4f, 0x94, + 0x5b, 0x88, 0x40, 0x6f, 0x40, 0x91, 0x5e, 0x18, 0xd2, 0x7e, 0xda, 0xce, 0x52, 0xe0, 0xb7, 0xf9, + 0x3b, 0x65, 0x97, 0xa4, 0x7c, 0xd1, 0xb8, 0x3f, 0x49, 0x7d, 0x44, 0xfd, 0x02, 0x5e, 0x2e, 0xb7, + 0x87, 0x68, 0xff, 0x88, 0xe5, 0xfb, 0x76, 0x9f, 0x6c, 0x4c, 0xe0, 0xe0, 0x27, 0x1f, 0xad, 0x7a, + 0xc1, 0xcb, 0x0c, 0x4a, 0xe6, 0x3b, 0xfb, 0xb2, 0x79, 0xc9, 0x53, 0x0a, 0x49, 0x06, 0xeb, 0x96, + 0x8d, 0x23, 0x9d, 0xa9, 0x34, 0x28, 0x59, 0xc3, 0x77, 0x12, 0x4b, 0x5f, 0xbc, 0x6f, 0x5b, 0xf0, + 0xed, 0x7f, 0xc6, 0xe0, 0x60, 0x8b, 0x0e, 0x9c, 0x65, 0x67, 0x0d, 0x97, 0x55, 0xe1, 0xfc, 0x63, + 0x41, 0x3a, 0x8d, 0x71, 0xff, 0xfe, 0x7e, 0x3d, 0xee, 0xe1, 0xf7, 0x14, 0xf8, 0x08, 0x0b, 0x6e, + 0x11, 0x8b, 0x8d, 0x75, 0x15, 0x66, 0xc5, 0x3a, 0x88, 0x5c, 0xb8, 0x42, 0x91, 0x9a, 0x40, 0xae, + 0x65, 0x9e, 0xca, 0xb6, 0x3e, 0xe3, 0x9b, 0xd3, 0xf4, 0xbc, 0x32, 0x52, 0x40, 0x87, 0x06, 0x3e, + 0x56, 0x5a, 0xdd, 0x21, 0xf1, 0xd5, 0x29, 0xe7, 0x23, 0x47, 0x4c, 0x62, 0x1a, 0xe2, 0xfb, 0x54, + 0xdb, 0x35, 0x45, 0x52, 0xcc, 0x6d, 0x44, 0x8d, 0x93, 0x46, 0x9d, 0xae, 0x96, 0x1b, 0x9f, 0xd3, + 0x7f, 0x6d, 0x6e, 0x98, 0x2f, 0xc3, 0xcb, 0x15, 0xe2, 0x01, 0x98, 0xe8, 0x62, 0x46, 0xf4, 0x26, + 0xb9, 0x20, 0xa8, 0xd7, 0xa2, 0x4a, 0x2c, 0x65, 0x91, 0x9e, 0xd3, 0x96, 0xf7, 0x8f, 0x68, 0x7a, + 0xe1, 0xba, 0x5b, 0x33, 0x6f, 0xaa, 0xc3, 0x84, 0x48, 0x07, 0x77, 0xda, 0x1b, 0xce, 0xd3, 0xe4, + 0x9a, 0x65, 0x52, 0x72, 0x83, 0x67, 0x95, 0x8f, 0x3e, 0xc4, 0x26, 0x12, 0xbb, 0x11, 0x01, 0xe5, + 0xf4, 0x17, 0x9f, 0x91, 0x91, 0x34, 0x8e, 0x9e, 0xb7, 0xa5, 0x3c, 0xbb, 0x8d, 0x67, 0x46, 0x5a, + 0xe9, 0x6e, 0xac, 0x9e, 0x21, 0xbd, 0x59, 0x4d, 0x6b, 0xca, 0x18, 0x7a, 0xfd, 0x10, 0xc6, 0xc8, + 0x33, 0xec, 0x9b, 0xca, 0x18, 0xde, 0x8f, 0x33, 0xb5, 0x17, 0x28, 0x10, 0x87, 0xb3, 0xd2, 0xe5, + 0x18, 0x0a, 0x66, 0x1c, 0xcd, 0x05, 0x59, 0x5d, 0x9f, 0x27, 0xce, 0xdc, 0x17, 0xa8, 0x0e, 0x6b, + 0x8d, 0x3d, 0x4b, 0x19, 0x0e, 0x62, 0x6b, 0xfc, 0x5b, 0xbc, 0x7c, 0xe6, 0x61, 0x71, 0xbb, 0x25, + 0xcd, 0xcb, 0xfe, 0xb6, 0xc8, 0xc1, 0xb6, 0xc8, 0x43, 0x8c, 0x94, 0xfe, 0x50, 0x9c, 0x96, 0x54, + 0x1f, 0xb6, 0x94, 0xf0, 0xcf, 0x2d, 0x71, 0x2f, 0x08, 0x16, 0xa1, 0x74, 0xb2, 0xd2, 0x92, 0xec, + 0x57, 0x89, 0x23, 0xc4, 0xaa, 0xbe, 0x4d, 0xb8, 0x70, 0xf3, 0x1a, 0xdf, 0xf3, 0xd4, 0x66, 0x4f, + 0x16, 0x5b, 0x55, 0xa4, 0xf1, 0x2c, 0xd3, 0x20, 0x6a, 0xca, 0xf1, 0xf2, 0xe5, 0xc7, 0xc6, 0xf4, + 0x97, 0xec, 0xe6, 0xba, 0x96, 0x9e, 0xa1, 0x1b, 0x8e, 0xc6, 0xe4, 0xc2, 0x01, 0x55, 0x43, 0x05, + 0x34, 0x8e, 0x4c, 0xf9, 0x64, 0x69, 0xaa, 0xaa, 0xad, 0x37, 0xdc, 0x25, 0xcd, 0xd6, 0xbc, 0xf9, + 0x5f, 0xc8, 0x7b, 0xb5, 0x25, 0x6f, 0x63, 0x86, 0x2f, 0xdb, 0x2b, 0xdb, 0x32, 0x9a, 0xd9, 0x72, + 0xba, 0x35, 0x2f, 0x43, 0x17, 0x20, 0x8d, 0x39, 0xff, 0x98, 0xe5, 0xfb, 0xd7, 0x5b, 0xf2, 0x91, + 0xa7, 0xb7, 0x6a, 0x4e, 0x0d, 0x12, 0xa0, 0x86, 0x47, 0x5c, 0xd9, 0x9a, 0xaa, 0xeb, 0xd7, 0xc0, + 0x65, 0x2c, 0xa5, 0xe8, 0x5e, 0xfd, 0xb0, 0xbf, 0xe0, 0x10, 0xbb, 0x5c, 0x8e, 0x24, 0x65, 0xe6, + 0xe7, 0x9f, 0x95, 0x90, 0x89, 0x71, 0x7e, 0x21, 0xa7, 0x63, 0x5e, 0xb7, 0x0c, 0xe0, 0x92, 0xc7, + 0x3a, 0xef, 0xa0, 0x6d, 0xe8, 0x70, 0xd4, 0x46, 0xdb, 0xb7, 0x7c, 0x7e, 0xbd, 0x29, 0x1e, 0x64, + 0x5f, 0x44, 0x2b, 0x62, 0xdc, 0xb0, 0x1f, 0x97, 0xb6, 0x7d, 0x5f, 0x17, 0xca, 0xb0, 0xf8, 0x51, + 0x5c, 0xcf, 0xc8, 0xd4, 0xe1, 0x3b, 0x72, 0x3c, 0xaf, 0x51, 0xe0, 0xa1, 0xa5, 0xf3, 0x6d, 0x31, + 0xf4, 0x43, 0x0b, 0xcd, 0x1a, 0x04, 0xd3, 0xd8, 0x24, 0x97, 0xc5, 0xf7, 0xe5, 0xc8, 0xea, 0xb1, + 0x93, 0x27, 0x6e, 0x62, 0xde, 0x69, 0x2a, 0x3c, 0x29, 0x1b, 0x0f, 0x76, 0x77, 0x13, 0xd4, 0x29, + 0x6d, 0x49, 0x72, 0x88, 0x49, 0x06, 0xe7, 0xdb, 0x59, 0x63, 0xcb, 0x78, 0xca, 0x9a, 0xb8, 0x76, + 0x9f, 0xe4, 0x5a, 0x52, 0xb8, 0x8b, 0x29, 0x91, 0x0a, 0x1f, 0x50, 0x41, 0xd4, 0x4f, 0x0f, 0x1d, + 0xb5, 0x51, 0xb2, 0xa2, 0x1e, 0x5e, 0xc8, 0xb7, 0xd0, 0xd8, 0xe2, 0x46, 0x27, 0xaf, 0x2a, 0x5f, + 0x8a, 0x10, 0x0f, 0x45, 0x8d, 0xce, 0xf2, 0x5a, 0x91, 0x06, 0x9d, 0x09, 0xe2, 0xdc, 0x42, 0x68, + 0x0a, 0x4c, 0x78, 0x9a, 0xc0, 0x09, 0xbb, 0xe2, 0x00, 0x4e, 0x0a, 0x6a, 0xe0, 0x4f, 0x30, 0xcf, + 0x11, 0x30, 0x4c, 0x5b, 0xf8, 0x0e, 0x84, 0xf6, 0x20, 0xd5, 0xf9, 0x69, 0x90, 0x41, 0xaf, 0x09, + 0x4c, 0xbe, 0x2c, 0x05, 0x65, 0x28, 0x75, 0xbd, 0x8d, 0x50, 0xd7, 0x18, 0xe8, 0xd6, 0x15, 0xd7, + 0x67, 0x5c, 0x94, 0x98, 0xa4, 0x1a, 0xeb, 0x0e, 0x3f, 0x34, 0x6d, 0xf2, 0x08, 0x55, 0x32, 0xa4, + 0xb2, 0x05, 0x96, 0x53, 0xb8, 0x17, 0xbd, 0xbf, 0xef, 0xab, 0xef, 0x10, 0xb1, 0x93, 0x7f, 0x3e, + 0x3c, 0xbf, 0xbf, 0xc7, 0xbf, 0x25, 0xdb, 0xde, 0x23, 0xd5, 0xf7, 0xfd, 0x3d, 0xb7, 0x3e, 0xc1, + 0x38, 0xfe, 0xb7, 0x4c, 0x01, 0xa7, 0xed, 0xd8, 0xef, 0x55, 0x43, 0xfb, 0xc4, 0xec, 0xb7, 0x50, + 0xce, 0x90, 0xb5, 0x52, 0x25, 0x30, 0x57, 0x72, 0xf1, 0x47, 0x8f, 0x5b, 0x87, 0x7c, 0x24, 0x62, + 0x28, 0x87, 0x4c, 0xd9, 0x9d, 0x83, 0xcf, 0xff, 0xe7, 0xef, 0x37, 0x88, 0x3d, 0x72, 0xf3, 0xfd, + 0x9b, 0xf3, 0x83, 0xa5, 0x67, 0x23, 0x1d, 0x34, 0xac, 0xd5, 0xc5, 0x4d, 0x6d, 0xa5, 0xf2, 0x99, + 0x19, 0x12, 0xe2, 0x87, 0xc0, 0x7d, 0xa8, 0xd8, 0xe6, 0xd4, 0x81, 0xc8, 0xe7, 0xe1, 0xd5, 0xe7, + 0xea, 0xbb, 0xbc, 0xf3, 0x3d, 0x57, 0xb3, 0x11, 0xa1, 0xa5, 0x15, 0xb8, 0x71, 0xfd, 0x2e, 0xd4, + 0x3e, 0x0c, 0xc3, 0x96, 0x91, 0x1b, 0x7d, 0x4d, 0x8b, 0xe4, 0xdb, 0xb4, 0x07, 0x9b, 0xf3, 0xbf, + 0xfe, 0x6f, 0x6c, 0xce, 0xee, 0xae, 0x11, 0xf6, 0xff, 0xfc, 0xc9, 0x19, 0xd4, 0xb8, 0x63, 0x71, + 0x9c, 0x7d, 0x40, 0xa0, 0x4d, 0x2e, 0x03, 0xe7, 0xa7, 0x25, 0xfe, 0x6e, 0x80, 0x79, 0x91, 0x68, + 0x2c, 0x64, 0x26, 0x03, 0xdc, 0x10, 0xee, 0x3c, 0xe2, 0x59, 0x12, 0xb4, 0xc4, 0xa6, 0x84, 0x28, + 0x36, 0xfc, 0xe4, 0xf4, 0xd2, 0x1b, 0x97, 0xc0, 0x20, 0x54, 0x48, 0xbf, 0xd7, 0xfb, 0x87, 0x6b, + 0xab, 0x3d, 0x21, 0x0a, 0xd3, 0x09, 0xfd, 0xc5, 0xf7, 0xa9, 0xca, 0x3a, 0x02, 0x2d, 0xbd, 0x72, + 0xb8, 0x0d, 0xe1, 0x13, 0x1f, 0x98, 0xe4, 0x5c, 0x18, 0x2f, 0x45, 0xe6, 0xfb, 0xfe, 0x0b, 0xf2, + 0xaa, 0x11, 0xe6, 0x56, 0xc6, 0xe0, 0x1e, 0x46, 0x28, 0xa2, 0xd8, 0x0a, 0xc4, 0x64, 0xed, 0x46, + 0xab, 0x0d, 0x69, 0x82, 0x50, 0x05, 0x22, 0x04, 0xb0, 0xd4, 0x1b, 0x7c, 0xa1, 0xdc, 0xc0, 0x4e, + 0xf1, 0xfe, 0x50, 0x67, 0x2a, 0x67, 0xb8, 0x86, 0x73, 0xbb, 0x4a, 0x4f, 0x95, 0x03, 0x65, 0xc5, + 0x0e, 0x72, 0x9f, 0xab, 0xb0, 0xee, 0xc8, 0x74, 0x20, 0x76, 0x75, 0x37, 0xd1, 0x04, 0xa0, 0x8d, + 0x7a, 0xf9, 0x71, 0x69, 0xce, 0x44, 0x90, 0x57, 0x7c, 0x82, 0xa1, 0xff, 0x94, 0xc7, 0x7c, 0xb2, + 0x04, 0xb7, 0xf4, 0xa2, 0x21, 0x78, 0x74, 0xe3, 0xe7, 0xe3, 0xa3, 0xef, 0x61, 0xf9, 0x9e, 0x1c, + 0x3f, 0x85, 0xc5, 0x3f, 0x7e, 0x72, 0x84, 0xdf, 0x9f, 0xf5, 0xf1, 0xfb, 0xb3, 0x27, 0xf8, 0xbd, + 0x3f, 0x38, 0xc4, 0x1f, 0x83, 0xe3, 0xe3, 0x89, 0xed, 0x43, 0xfb, 0xc7, 0xb6, 0x77, 0xeb, 0x47, + 0x94, 0x29, 0xa2, 0x4c, 0x11, 0x65, 0x8a, 0x28, 0x53, 0x44, 0x99, 0x22, 0x9e, 0x29, 0xd2, 0x33, + 0x09, 0xec, 0x4b, 0xc7, 0xa1, 0xd6, 0x49, 0x50, 0xe3, 0x89, 0x7d, 0x62, 0x0f, 0x6f, 0xdc, 0x8e, + 0xe8, 0x66, 0x45, 0xbf, 0x41, 0x5a, 0x5b, 0x33, 0xed, 0xad, 0xdb, 0xe1, 0xfd, 0xe0, 0xe0, 0x94, + 0x3d, 0xef, 0x2e, 0xe6, 0x26, 0x2e, 0xe4, 0x5b, 0xba, 0x1c, 0xd6, 0x55, 0xf0, 0x85, 0xfd, 0x7a, + 0xe6, 0xd0, 0xa8, 0x5e, 0xe7, 0xd0, 0x16, 0x89, 0xa0, 0x73, 0x9d, 0x9f, 0xf4, 0x74, 0x31, 0x31, + 0x43, 0x08, 0xdf, 0x89, 0x12, 0x8d, 0x5f, 0x23, 0xf8, 0x8e, 0xdc, 0x4b, 0xc8, 0xeb, 0x88, 0xed, + 0xd9, 0xd7, 0x04, 0x03, 0x7e, 0x8d, 0xee, 0x88, 0xec, 0x4e, 0xc5, 0xe1, 0x4b, 0xe9, 0xf0, 0x84, + 0x32, 0x8f, 0xa0, 0x36, 0x82, 0x03, 0xfd, 0x95, 0x4d, 0xcf, 0x60, 0xc2, 0xc9, 0x53, 0xb6, 0xdb, + 0x9d, 0x86, 0x71, 0x90, 0xdd, 0x7e, 0x24, 0x75, 0x1d, 0xb9, 0xc8, 0x98, 0xae, 0x61, 0xb3, 0xc9, + 0x6c, 0xef, 0x3a, 0xef, 0x22, 0x36, 0x45, 0x9e, 0xa3, 0xe8, 0x15, 0x77, 0x76, 0x14, 0x47, 0x0a, + 0xef, 0x8d, 0x4a, 0x11, 0x00, 0x2b, 0x96, 0xb4, 0xcc, 0x2f, 0x28, 0x93, 0xf2, 0xb6, 0xa3, 0x41, + 0xb5, 0xf1, 0x0c, 0x2e, 0x57, 0x98, 0x13, 0x02, 0x87, 0x7b, 0x67, 0xe0, 0xbe, 0x6b, 0x10, 0x7c, + 0xae, 0xa7, 0xfd, 0xe0, 0xde, 0x80, 0x34, 0x9f, 0xd1, 0xd2, 0xdf, 0x91, 0x57, 0x15, 0xdd, 0x4b, + 0x17, 0x0d, 0x8f, 0x45, 0xbe, 0x8f, 0xd4, 0x7a, 0x84, 0xb3, 0x07, 0x0d, 0x42, 0xf2, 0x89, 0x53, + 0x42, 0x51, 0xc1, 0xe2, 0xe3, 0x1e, 0xb4, 0x77, 0x77, 0x0d, 0x48, 0xa0, 0xdc, 0x75, 0x87, 0x1a, + 0x90, 0x85, 0x64, 0x26, 0x09, 0x6b, 0x77, 0x22, 0x3e, 0x87, 0xc5, 0xc8, 0xd8, 0x5a, 0x72, 0x2f, + 0x42, 0x98, 0xc3, 0x60, 0x7e, 0x46, 0xf8, 0x4e, 0x11, 0xec, 0x41, 0x1b, 0x3e, 0xb0, 0xb3, 0x28, + 0xc9, 0xf9, 0xb0, 0x7e, 0x3d, 0x6a, 0x3f, 0x79, 0x7d, 0xee, 0x74, 0x4e, 0x8e, 0x0d, 0xdc, 0x50, + 0x4e, 0x57, 0x5e, 0x1f, 0xf1, 0x10, 0xbd, 0x6b, 0xee, 0x4c, 0x49, 0x54, 0x86, 0xc0, 0xb1, 0x54, + 0x97, 0xf4, 0x17, 0x9d, 0xb1, 0x3f, 0xf2, 0x77, 0x6c, 0x19, 0x44, 0xc0, 0xaf, 0x6c, 0x74, 0x8b, + 0x0d, 0xd9, 0x52, 0xe9, 0x2a, 0x01, 0x67, 0x4d, 0xea, 0x2e, 0xb8, 0x71, 0x01, 0xeb, 0xe6, 0xeb, + 0xd9, 0x0c, 0xc8, 0x42, 0x86, 0xf6, 0x46, 0xe4, 0x87, 0x1c, 0x4d, 0xd2, 0xbd, 0xea, 0x5d, 0x5b, + 0x08, 0x63, 0x19, 0xc2, 0x2e, 0x90, 0x9b, 0x72, 0xd6, 0x8d, 0x11, 0x6a, 0x42, 0xb8, 0x18, 0xa7, + 0x5f, 0xf3, 0x75, 0x26, 0x1c, 0x8d, 0xd3, 0xcf, 0x82, 0x27, 0x7d, 0x13, 0xa0, 0x73, 0x08, 0x0c, + 0x58, 0xc0, 0xb7, 0xd2, 0x7d, 0x39, 0xeb, 0xae, 0xe7, 0x69, 0x4c, 0x10, 0xb4, 0x15, 0x07, 0xe3, + 0x70, 0xe5, 0x8a, 0xe8, 0x5c, 0x48, 0xf3, 0x21, 0x7e, 0x47, 0xff, 0xdf, 0x62, 0x13, 0x0f, 0xb1, + 0x77, 0xbc, 0x71, 0x45, 0xa1, 0x5a, 0x55, 0x64, 0x07, 0xfd, 0x9e, 0xd7, 0x00, 0x5e, 0x22, 0x88, + 0xa3, 0x07, 0x3b, 0x53, 0x4f, 0xb8, 0x5d, 0x55, 0x77, 0x5c, 0xbf, 0x74, 0x93, 0xae, 0x7c, 0xa1, + 0x57, 0xcc, 0x09, 0x9d, 0x12, 0xb5, 0x44, 0x37, 0x2c, 0x84, 0xb1, 0xeb, 0x91, 0x2c, 0x8f, 0xa2, + 0x3f, 0x17, 0xe7, 0xe8, 0x55, 0xaa, 0x7c, 0x7b, 0x4c, 0x27, 0x00, 0x8a, 0x2c, 0xfb, 0x1c, 0x3d, + 0x9c, 0x52, 0x00, 0x03, 0x06, 0x7c, 0xd3, 0x09, 0x3f, 0x1e, 0x10, 0xfe, 0xcb, 0x1f, 0x48, 0x1e, + 0x44, 0xf7, 0x73, 0x49, 0xa2, 0xdb, 0xd9, 0x67, 0xad, 0xe0, 0x73, 0xd1, 0xee, 0x7b, 0x7f, 0x67, + 0xc7, 0xe9, 0xef, 0xc6, 0xe5, 0xdd, 0x9f, 0x42, 0x06, 0x22, 0x04, 0x7a, 0x42, 0xbf, 0x8f, 0x76, + 0x15, 0x16, 0x8a, 0x53, 0x56, 0x5e, 0x24, 0xe9, 0xbe, 0xf6, 0x2b, 0xc8, 0x0a, 0xf7, 0x3b, 0x33, + 0xfa, 0xd3, 0xc4, 0xfc, 0x59, 0x49, 0xfe, 0x69, 0xd8, 0x07, 0x16, 0x47, 0x0c, 0x93, 0xf8, 0x3c, + 0x09, 0x26, 0xc1, 0x50, 0x7c, 0x57, 0xfa, 0x1c, 0xcc, 0x94, 0x93, 0x7a, 0x0b, 0xc5, 0x9d, 0x68, + 0xa5, 0xd8, 0xd4, 0xbf, 0x40, 0xeb, 0x58, 0xad, 0x5f, 0x95, 0x6e, 0xc9, 0x5e, 0x6d, 0x90, 0x82, + 0x03, 0x79, 0x4a, 0x69, 0x2a, 0xc3, 0xf7, 0x89, 0x25, 0xa7, 0x5c, 0x68, 0x09, 0x4b, 0x91, 0x19, + 0xfc, 0x24, 0x30, 0xf7, 0xa5, 0x76, 0x3e, 0x37, 0xd9, 0x2d, 0x75, 0x81, 0x78, 0xec, 0xaa, 0x73, + 0x97, 0x56, 0xf6, 0x43, 0xe2, 0x69, 0x69, 0x57, 0xac, 0x7a, 0x91, 0x02, 0x34, 0xdb, 0xd5, 0xec, + 0x7f, 0x12, 0xd1, 0x8a, 0xfd, 0xfe, 0x88, 0x8d, 0xd1, 0x1a, 0x68, 0x7f, 0x1f, 0xae, 0x61, 0xba, + 0x7d, 0x8c, 0x1f, 0xa0, 0x94, 0x06, 0x82, 0xc8, 0x61, 0x9c, 0x61, 0x1f, 0x53, 0x46, 0xf5, 0x2b, + 0x51, 0xd3, 0x32, 0x6a, 0x70, 0xee, 0x39, 0x8a, 0x3e, 0xee, 0x77, 0x6a, 0x4e, 0x79, 0x51, 0xa6, + 0x6b, 0xe4, 0xbd, 0x2e, 0xf3, 0xa2, 0x87, 0x39, 0xe1, 0xf8, 0x38, 0x21, 0xd8, 0x7e, 0xb2, 0x60, + 0x57, 0x0e, 0x8f, 0x66, 0x48, 0xc2, 0x42, 0x64, 0x0d, 0x79, 0x66, 0x70, 0x5b, 0xa2, 0x0f, 0xe2, + 0xcc, 0x75, 0xd1, 0xd3, 0x73, 0xb5, 0x2e, 0x29, 0xde, 0xf5, 0xea, 0x92, 0x39, 0x15, 0x9f, 0xdf, + 0x78, 0xcd, 0x72, 0x39, 0x95, 0x22, 0x34, 0x52, 0xa0, 0x54, 0xae, 0x2c, 0xbc, 0x3f, 0xc1, 0x3f, + 0xc3, 0x9e, 0x57, 0x11, 0xcd, 0x95, 0x29, 0x06, 0x98, 0x62, 0x50, 0x49, 0x71, 0xa8, 0xa7, 0x38, + 0xc4, 0x14, 0x87, 0x32, 0x05, 0x5d, 0xfe, 0x7e, 0xea, 0xeb, 0xb6, 0xfc, 0x3b, 0x41, 0x37, 0xe9, + 0xeb, 0xb1, 0x83, 0x6a, 0xec, 0x40, 0x8f, 0x3d, 0xac, 0xc6, 0x1e, 0xc2, 0x26, 0x40, 0xf0, 0xe0, + 0x04, 0xf8, 0x28, 0xbe, 0xf3, 0xe3, 0x35, 0x44, 0xc3, 0x4b, 0x69, 0xb2, 0x22, 0x23, 0xb8, 0xd1, + 0x08, 0xc2, 0x03, 0xf1, 0xbb, 0x82, 0xf5, 0xe1, 0xf9, 0x8f, 0xd6, 0x9c, 0xd1, 0x5b, 0xdc, 0xf9, + 0x8e, 0x01, 0x22, 0xf4, 0x0c, 0x53, 0xe1, 0x09, 0x4d, 0x4c, 0x1b, 0x72, 0x91, 0x54, 0x86, 0x99, + 0xa8, 0xdf, 0xc3, 0x54, 0xa5, 0x5e, 0x7d, 0x85, 0x8a, 0x30, 0x6b, 0xa1, 0x80, 0xb0, 0x2a, 0xa9, + 0x09, 0xd0, 0x08, 0x31, 0xef, 0x58, 0x9c, 0xac, 0x97, 0x97, 0x56, 0x9e, 0x02, 0x97, 0x82, 0x70, + 0xf1, 0x39, 0x82, 0xf3, 0x73, 0xe4, 0xc8, 0x4a, 0x16, 0xc2, 0x39, 0x12, 0xce, 0x2b, 0xb0, 0x06, + 0x61, 0x85, 0x60, 0xa4, 0x21, 0xbc, 0xa3, 0x1f, 0xc3, 0x9c, 0x5a, 0x19, 0x66, 0xdc, 0x4b, 0x97, + 0x99, 0x84, 0x7a, 0xf3, 0x5c, 0x6b, 0x19, 0xef, 0x8d, 0x05, 0xb4, 0x6b, 0x25, 0x33, 0x38, 0x22, + 0xd0, 0x00, 0x62, 0xa3, 0x2d, 0x7c, 0x62, 0x1c, 0x08, 0x65, 0x8b, 0x12, 0x76, 0x6c, 0xbc, 0x56, + 0x85, 0xa4, 0xc8, 0x97, 0xbb, 0x44, 0x29, 0x9a, 0x82, 0xb9, 0x4e, 0x83, 0xc8, 0x2b, 0x2f, 0xc2, + 0x10, 0xb0, 0xb8, 0xf1, 0x2a, 0xa6, 0x8d, 0xe6, 0xd6, 0x61, 0x38, 0x04, 0xaf, 0xdd, 0xa9, 0x85, + 0x5e, 0xf7, 0xb1, 0x06, 0xdb, 0xa6, 0xc2, 0xb7, 0x6a, 0xb8, 0xed, 0xe5, 0x65, 0x10, 0x59, 0xef, + 0xa0, 0x5b, 0x99, 0xcf, 0xe7, 0xc3, 0x5c, 0x37, 0xd7, 0x26, 0x93, 0xef, 0x48, 0xe4, 0xe0, 0x66, + 0xd4, 0x11, 0x7a, 0xb6, 0x83, 0x74, 0xf8, 0xa9, 0x99, 0x6b, 0x7b, 0x81, 0x4a, 0x77, 0x32, 0x90, + 0x29, 0xfb, 0x22, 0x65, 0xdf, 0x48, 0x99, 0x94, 0x29, 0x0f, 0x65, 0xca, 0x81, 0x48, 0x69, 0x9a, + 0x80, 0x43, 0x6f, 0x1b, 0x6d, 0x3e, 0xf9, 0xb2, 0xca, 0x25, 0x1c, 0x99, 0x10, 0x53, 0xca, 0xbd, + 0x94, 0x58, 0x27, 0x21, 0x4e, 0x08, 0xfc, 0x1c, 0x15, 0xed, 0x9a, 0xb5, 0x82, 0x70, 0x84, 0x07, + 0xa5, 0xef, 0x14, 0xc8, 0xd4, 0x3b, 0x0c, 0xf8, 0xfa, 0xa7, 0x93, 0xc1, 0x30, 0x16, 0xf2, 0x46, + 0xf7, 0xfe, 0x3e, 0x96, 0x83, 0x18, 0x71, 0xd3, 0xf3, 0xf8, 0x73, 0x74, 0x3e, 0x71, 0x8c, 0xd0, + 0x1d, 0x11, 0x4c, 0x26, 0xe4, 0xf8, 0x05, 0x4e, 0x58, 0x3c, 0x6c, 0x21, 0x02, 0xa1, 0xbd, 0x64, + 0x4c, 0x8f, 0x7c, 0xef, 0x88, 0x75, 0x95, 0xd3, 0x5e, 0x34, 0x94, 0x3f, 0xc3, 0x72, 0xf3, 0x41, + 0x89, 0x4d, 0x63, 0x2b, 0xbd, 0x80, 0x6c, 0x0c, 0xc9, 0x6a, 0x40, 0x42, 0x80, 0xb6, 0x8a, 0x19, + 0x86, 0xed, 0x29, 0x75, 0x11, 0x17, 0x4c, 0xab, 0xec, 0xc9, 0xb1, 0xb8, 0xbd, 0x2e, 0x6e, 0x92, + 0xb4, 0xf9, 0xad, 0x15, 0xb2, 0x50, 0xa8, 0x4f, 0xde, 0x3a, 0x0d, 0x09, 0x19, 0xf8, 0x69, 0x33, + 0xc0, 0xcd, 0xbb, 0x84, 0xd8, 0x86, 0xb5, 0xce, 0xc0, 0x71, 0xa7, 0x38, 0x89, 0x95, 0xb9, 0x2b, + 0x19, 0xf9, 0xc7, 0x9f, 0x21, 0x50, 0x1f, 0x6c, 0xf8, 0xa9, 0x86, 0x1b, 0xa3, 0x88, 0x9f, 0xe1, + 0x5f, 0x85, 0xaf, 0x94, 0xa6, 0x61, 0xcb, 0x31, 0xae, 0x7d, 0xa0, 0xda, 0xa4, 0x7f, 0xfa, 0xeb, + 0x91, 0xfa, 0x98, 0x50, 0x4a, 0x3e, 0x20, 0x25, 0xd4, 0x77, 0xc8, 0xaf, 0x63, 0xba, 0x34, 0xc6, + 0xbc, 0x89, 0x95, 0x0a, 0xd3, 0xaa, 0xc9, 0x8d, 0x76, 0x44, 0xe4, 0xe8, 0x57, 0x85, 0xe3, 0x57, + 0xba, 0xf8, 0x2e, 0xe6, 0x78, 0x24, 0xcd, 0xc5, 0x2b, 0xf2, 0xa2, 0x6f, 0xb8, 0xe4, 0xd1, 0xd2, + 0x25, 0x82, 0x5c, 0x8c, 0x68, 0x88, 0xfc, 0xe0, 0xe2, 0x86, 0xfe, 0xd5, 0x37, 0xd0, 0x3a, 0x3c, + 0x62, 0xf1, 0x9c, 0xcb, 0xe0, 0x04, 0x72, 0x42, 0xef, 0xfb, 0x63, 0x21, 0x66, 0xcc, 0xd0, 0x62, + 0x6f, 0x86, 0x7f, 0x52, 0xe0, 0x57, 0x97, 0x3e, 0x1e, 0xb7, 0xa3, 0xc6, 0x79, 0x06, 0x86, 0xc3, + 0x92, 0xcc, 0x85, 0x3e, 0xc7, 0xb9, 0xab, 0x5c, 0xbd, 0x2a, 0xc6, 0xa4, 0x93, 0xd3, 0xb2, 0x55, + 0xdb, 0x50, 0xce, 0xe7, 0x35, 0x00, 0x1e, 0x8d, 0xc6, 0xa9, 0x5d, 0x55, 0xee, 0x45, 0x86, 0x88, + 0x16, 0xda, 0x44, 0xb3, 0xce, 0x73, 0x72, 0xce, 0x15, 0xbf, 0xc3, 0x1d, 0x62, 0x9a, 0x17, 0x99, + 0xd3, 0x43, 0x1c, 0x8f, 0x48, 0x13, 0x71, 0xc0, 0xcd, 0x80, 0xa7, 0x46, 0xa3, 0xdd, 0x8e, 0x3f, + 0x43, 0xbb, 0x4d, 0xdf, 0xee, 0x60, 0x08, 0x76, 0x13, 0x3d, 0x56, 0xf1, 0xd9, 0xd5, 0x33, 0xf5, + 0xc8, 0x99, 0xd6, 0x9b, 0x1b, 0x52, 0x96, 0xc3, 0xb7, 0x17, 0x4b, 0x58, 0x9f, 0x2f, 0xe1, 0xc6, + 0x9b, 0xee, 0xee, 0x2e, 0x77, 0x7c, 0xb8, 0x63, 0x6b, 0x0c, 0x09, 0x10, 0x55, 0x8a, 0x96, 0x73, + 0x58, 0x48, 0x31, 0x71, 0x5a, 0x54, 0xfb, 0xd5, 0x7e, 0xf4, 0x3d, 0xbd, 0x42, 0xdb, 0xee, 0x38, + 0x79, 0xa7, 0x0f, 0x34, 0xf8, 0x55, 0x43, 0xd1, 0x54, 0x84, 0xd7, 0xde, 0x46, 0x5c, 0xe4, 0x72, + 0x4a, 0xde, 0xd5, 0xb0, 0x8f, 0x33, 0x8f, 0x96, 0x5a, 0x36, 0xa9, 0x26, 0xd9, 0x6e, 0xbb, 0xdf, + 0x98, 0x50, 0x97, 0xe3, 0xe1, 0x24, 0xad, 0x95, 0x12, 0x06, 0x9d, 0xab, 0x2d, 0x4a, 0x95, 0x0c, + 0xfc, 0xba, 0x44, 0xae, 0x00, 0xae, 0xa4, 0x96, 0xd4, 0xbc, 0x20, 0xa5, 0x28, 0xb5, 0x25, 0xba, + 0xf6, 0x4b, 0x2a, 0x6f, 0x7e, 0x12, 0x7a, 0xf2, 0xc3, 0x4d, 0x05, 0xf0, 0xbb, 0xcb, 0x11, 0xd3, + 0xd7, 0x15, 0xa1, 0x94, 0xa9, 0xff, 0xf5, 0xf4, 0x52, 0x48, 0xe9, 0xa0, 0x24, 0x80, 0xbe, 0xed, + 0x4a, 0x3d, 0xfb, 0xca, 0xaf, 0x45, 0x8d, 0xc8, 0x4e, 0x01, 0x2e, 0x17, 0x40, 0x5c, 0xfc, 0x6b, + 0x18, 0xe3, 0xe3, 0x07, 0x4f, 0x2d, 0x61, 0xca, 0x22, 0x08, 0x70, 0x85, 0xb3, 0xe8, 0xba, 0x23, + 0x0c, 0xf3, 0xb5, 0x08, 0xe0, 0x37, 0x20, 0xff, 0xca, 0xdd, 0x18, 0x9d, 0xd9, 0x51, 0xbd, 0x71, + 0x2e, 0xe9, 0x8b, 0x20, 0xc6, 0x4b, 0xb4, 0x64, 0x40, 0x1e, 0x06, 0xdf, 0xaf, 0xda, 0x5e, 0xad, + 0x67, 0x5c, 0x39, 0x66, 0xbf, 0x7a, 0xfb, 0xfc, 0xdd, 0x4f, 0xff, 0x84, 0xa3, 0x45, 0x1b, 0xdd, + 0x2e, 0x5e, 0x74, 0xc4, 0x56, 0x4f, 0x4f, 0x45, 0xba, 0x05, 0xb7, 0x22, 0x13, 0x2f, 0x1d, 0xdb, + 0x52, 0x91, 0xfc, 0x00, 0x5f, 0xb2, 0x69, 0x24, 0xb1, 0x57, 0xc3, 0x79, 0x64, 0x91, 0x78, 0xd2, + 0xae, 0x63, 0xd1, 0xfc, 0xc0, 0x6e, 0x1c, 0x09, 0x43, 0x33, 0x3d, 0x24, 0x43, 0x59, 0x6b, 0xaf, + 0x73, 0x49, 0x97, 0x31, 0x4d, 0x30, 0xd0, 0x1f, 0x69, 0x72, 0x81, 0xf2, 0xd1, 0xa2, 0xe6, 0xc0, + 0xe5, 0xeb, 0x24, 0x17, 0xb7, 0x2e, 0x5c, 0xb3, 0xe0, 0x7a, 0xa1, 0xaa, 0x70, 0xef, 0x34, 0x69, + 0xcf, 0xfd, 0xbd, 0x2e, 0x08, 0xaa, 0xf9, 0xfe, 0xbb, 0x86, 0x2d, 0xe8, 0x3a, 0x97, 0xbd, 0x96, + 0xe2, 0x0d, 0xaf, 0xea, 0x93, 0x62, 0xe3, 0x1d, 0xb2, 0x43, 0xa1, 0xc2, 0x16, 0x02, 0xa4, 0xdc, + 0x17, 0x79, 0x51, 0xb8, 0x71, 0x4b, 0xd2, 0x0d, 0x38, 0xdb, 0x95, 0x0c, 0xac, 0xfb, 0xd3, 0xe9, + 0xeb, 0xf7, 0xc0, 0x3a, 0xb1, 0x89, 0x9d, 0x26, 0x39, 0x02, 0x6b, 0xa0, 0xb1, 0x29, 0x09, 0x3a, + 0xd0, 0xf8, 0xef, 0x0a, 0xfd, 0x4e, 0x70, 0x8c, 0x5b, 0xdd, 0xc1, 0x1f, 0x8a, 0xa1, 0xba, 0x71, + 0x72, 0xed, 0xb8, 0x07, 0x88, 0xe4, 0x2c, 0xee, 0xe4, 0x4a, 0xc0, 0x80, 0xd9, 0xc9, 0xe8, 0x2a, + 0x9c, 0x03, 0x67, 0xc0, 0xbf, 0x48, 0x7f, 0xba, 0xba, 0x48, 0x42, 0x3a, 0x00, 0x57, 0xa4, 0xd9, + 0xef, 0x7d, 0x27, 0x8d, 0xb5, 0x46, 0xc1, 0x8e, 0x5f, 0x64, 0xf4, 0xa0, 0xa5, 0xcc, 0xe0, 0x07, + 0xee, 0xc6, 0x11, 0xe2, 0xb5, 0x12, 0xac, 0x9d, 0x69, 0xee, 0xbc, 0x0e, 0x8f, 0x7a, 0x74, 0xb8, + 0xa2, 0xe3, 0xcc, 0x42, 0x1d, 0xbf, 0xe8, 0xe0, 0x4f, 0xde, 0xa8, 0x81, 0x8e, 0x4b, 0x20, 0x1e, + 0x75, 0xcd, 0x46, 0x3c, 0x1e, 0x99, 0x71, 0x93, 0x4f, 0xae, 0x73, 0xee, 0xe5, 0x07, 0xe6, 0x65, + 0xef, 0xce, 0xbe, 0xb2, 0x87, 0x08, 0x6f, 0xbc, 0xd9, 0x73, 0x87, 0x4d, 0xf6, 0xba, 0x79, 0xa8, + 0x19, 0xeb, 0x46, 0x1e, 0xba, 0xd4, 0x86, 0xc3, 0x70, 0x78, 0x87, 0x3e, 0x25, 0xd1, 0x5e, 0x7f, + 0x1f, 0xad, 0x9a, 0xed, 0xba, 0xdf, 0xa1, 0x91, 0x85, 0x12, 0x5f, 0x94, 0xdd, 0xfc, 0xfc, 0xf1, + 0xcd, 0xfe, 0x53, 0x7b, 0xe3, 0x4d, 0x93, 0xf9, 0xed, 0xb0, 0xd0, 0x4d, 0x7d, 0xbf, 0x42, 0x54, + 0xf8, 0x15, 0x6e, 0x4a, 0xf0, 0x0c, 0x7b, 0x84, 0x60, 0x11, 0x89, 0xe9, 0x2b, 0x65, 0x8b, 0x4b, + 0xa0, 0x72, 0xc1, 0xe2, 0x97, 0x92, 0x32, 0xf2, 0x63, 0x41, 0xa2, 0xc6, 0x12, 0x67, 0x97, 0x84, + 0x88, 0xa5, 0xd4, 0xb1, 0x68, 0xf0, 0xab, 0x53, 0xb4, 0x48, 0x22, 0x8b, 0xea, 0x3b, 0x6d, 0xf1, + 0xeb, 0x96, 0x1c, 0x9b, 0x68, 0x42, 0x3c, 0x21, 0x9c, 0x14, 0x9f, 0x43, 0x26, 0xfc, 0x01, 0xd0, + 0xfb, 0x4b, 0xfe, 0xfc, 0x8d, 0xe3, 0xfc, 0xe3, 0xe1, 0xd3, 0xe0, 0xb6, 0x57, 0xf8, 0xe1, 0x10, + 0x0b, 0x90, 0x4b, 0x0e, 0x1f, 0x5e, 0x4c, 0xf7, 0xf7, 0x52, 0xc2, 0x8d, 0xfe, 0x78, 0x07, 0xc7, + 0xae, 0x21, 0x6d, 0x2c, 0x9d, 0xbe, 0x08, 0x3f, 0x01, 0xda, 0xc5, 0x0c, 0x5b, 0x64, 0x49, 0x4f, + 0x5a, 0xb6, 0x70, 0xe3, 0xf2, 0x38, 0xa7, 0x39, 0xda, 0x0e, 0xd5, 0xe6, 0x10, 0x66, 0x53, 0x35, + 0xf2, 0x25, 0x63, 0x28, 0xa5, 0x11, 0xbe, 0x4b, 0xe2, 0x21, 0x09, 0x32, 0xd1, 0x93, 0x47, 0xbc, + 0x21, 0xa1, 0xa6, 0xbe, 0x68, 0x4a, 0x81, 0x14, 0xa9, 0x4e, 0x8c, 0x9f, 0x39, 0x5b, 0x72, 0x79, + 0x06, 0x57, 0xac, 0xa0, 0x70, 0x90, 0xc4, 0x47, 0xe8, 0xc5, 0x86, 0x0b, 0xb7, 0x7a, 0xfc, 0x4d, + 0x71, 0x35, 0x97, 0xb7, 0xc8, 0xfe, 0x35, 0x44, 0x07, 0x38, 0xa5, 0xdf, 0x8e, 0x24, 0xc6, 0xa3, + 0x86, 0xd7, 0x0e, 0xdd, 0xbe, 0x4b, 0xf3, 0xa1, 0x16, 0x67, 0xa4, 0x5c, 0x2c, 0x30, 0xe9, 0x4e, + 0x4b, 0xda, 0xc5, 0x82, 0x1c, 0x21, 0x6b, 0x3b, 0x77, 0xcd, 0xcc, 0xf9, 0x7d, 0x64, 0x78, 0x32, + 0x73, 0x50, 0x42, 0xbb, 0x03, 0x7f, 0xdc, 0xc9, 0x05, 0x0e, 0x2c, 0x6c, 0x4d, 0x1c, 0x6c, 0xc4, + 0xfa, 0x84, 0x9e, 0xf2, 0xb8, 0x4f, 0x58, 0x72, 0x57, 0x47, 0xd7, 0xe4, 0x6f, 0xef, 0x48, 0x6c, + 0x3b, 0xee, 0x69, 0x88, 0xe6, 0x1b, 0x0a, 0x45, 0x37, 0xbf, 0x10, 0x88, 0xca, 0x34, 0x58, 0xf5, + 0x0b, 0x60, 0x5b, 0x45, 0xc4, 0xab, 0x75, 0xb6, 0x41, 0x38, 0x18, 0xb2, 0x2f, 0xbf, 0x18, 0xda, + 0xbc, 0x96, 0x39, 0x07, 0x35, 0x41, 0x28, 0xef, 0xae, 0x6d, 0xb6, 0x19, 0xf2, 0x0c, 0x71, 0x66, + 0xa0, 0x51, 0x9b, 0x4d, 0xad, 0xfd, 0x68, 0x76, 0x66, 0xf6, 0x40, 0xc9, 0x89, 0x77, 0xe4, 0x37, + 0x77, 0x62, 0xff, 0x44, 0xef, 0x1d, 0xa8, 0xf9, 0xe4, 0xf4, 0x1b, 0x5d, 0xe6, 0xc5, 0xac, 0xb8, + 0x4e, 0xb2, 0x2f, 0xbc, 0x3b, 0xb0, 0x93, 0x5b, 0x98, 0x1e, 0x05, 0x16, 0xe4, 0x84, 0x0f, 0xce, + 0x6b, 0xf4, 0xd9, 0xf9, 0x11, 0xbf, 0xf3, 0x6e, 0x93, 0x5b, 0xbe, 0x87, 0xcb, 0xb1, 0xa2, 0x24, + 0x5e, 0x42, 0x22, 0x2c, 0xad, 0xd6, 0x17, 0x94, 0x5c, 0x0f, 0xef, 0x70, 0x5f, 0x1d, 0xca, 0xd6, + 0x35, 0x74, 0x0a, 0xbd, 0x3d, 0x5c, 0x85, 0xec, 0x1a, 0xaf, 0x24, 0x62, 0xf5, 0x73, 0xcb, 0x49, + 0x8a, 0xa5, 0x0d, 0x00, 0xf7, 0x05, 0x7a, 0xa2, 0x60, 0x44, 0x89, 0x27, 0x15, 0x10, 0xf7, 0xee, + 0x0a, 0xa9, 0xf8, 0xdd, 0x95, 0xb8, 0xbc, 0x3c, 0xbc, 0x66, 0xa5, 0x67, 0x9c, 0x48, 0xd4, 0x0d, + 0x07, 0x20, 0x96, 0xcb, 0xb8, 0x07, 0x19, 0x7b, 0xf0, 0xca, 0xa6, 0x52, 0xa5, 0xc4, 0xee, 0x4b, + 0x74, 0x45, 0x1e, 0x15, 0x34, 0xd5, 0xe4, 0x49, 0xb8, 0x40, 0x11, 0x87, 0x55, 0x3e, 0x44, 0xcb, + 0x33, 0x60, 0xd8, 0x83, 0x29, 0xac, 0xce, 0xe1, 0x34, 0x0a, 0x62, 0x7a, 0xd5, 0xc5, 0x13, 0xe1, + 0xeb, 0x15, 0x6e, 0xea, 0x2d, 0xca, 0xa9, 0xea, 0x5b, 0xb1, 0xae, 0x47, 0xa9, 0x55, 0x79, 0x39, + 0x45, 0xdd, 0x9c, 0x10, 0xf3, 0xd7, 0x8d, 0x9a, 0x30, 0x21, 0xb4, 0x8a, 0xa2, 0xd5, 0x11, 0x66, + 0x77, 0x8a, 0x8e, 0x03, 0xe4, 0x0a, 0x67, 0x1e, 0xa1, 0xc9, 0xb8, 0x43, 0xa3, 0xd5, 0x86, 0x99, + 0x63, 0x66, 0xb0, 0xcd, 0xd2, 0xa0, 0x5f, 0x7a, 0xbe, 0xf6, 0x76, 0xf8, 0x20, 0x31, 0x1a, 0x6e, + 0x3a, 0x3f, 0xe1, 0xf0, 0x8c, 0xe0, 0xf4, 0x24, 0x27, 0x01, 0x70, 0x7c, 0xc2, 0xbe, 0xfd, 0x2f, + 0xe6, 0xd4, 0xa6, 0x9c, 0x4f, 0xea, 0x9d, 0x9a, 0xd4, 0xfa, 0x7c, 0x1a, 0x13, 0x5d, 0x52, 0x08, + 0x7a, 0xc7, 0xc0, 0xcc, 0x38, 0xdd, 0xf8, 0xe9, 0xee, 0xee, 0x9a, 0xae, 0xd5, 0xa9, 0xf1, 0xb8, + 0xe3, 0x34, 0x8e, 0x32, 0x66, 0x79, 0xd4, 0x38, 0xeb, 0x83, 0xf0, 0xb6, 0x62, 0x3f, 0xca, 0x0b, + 0x29, 0xcd, 0x3c, 0x6b, 0x9b, 0x8c, 0x78, 0xe9, 0x23, 0x89, 0xb9, 0x42, 0xc7, 0x5b, 0xfb, 0x46, + 0x79, 0xb1, 0x73, 0xf4, 0x05, 0x7a, 0xa7, 0x3d, 0x1d, 0xe2, 0x6d, 0x8a, 0x0d, 0xaf, 0x24, 0x7a, + 0xe7, 0x28, 0xd9, 0x57, 0xf7, 0x4e, 0x7a, 0x39, 0xd1, 0x7b, 0x28, 0x4a, 0x6a, 0xea, 0x22, 0x1e, + 0x75, 0x88, 0xb6, 0x23, 0x4f, 0x91, 0x9e, 0x87, 0x87, 0x64, 0x6e, 0x00, 0xda, 0x90, 0x44, 0x1c, + 0x6f, 0x2c, 0xb8, 0x1a, 0xa3, 0x26, 0xdb, 0xeb, 0x7c, 0xbf, 0x5f, 0x3e, 0xca, 0xf0, 0xfa, 0xbd, + 0x06, 0xab, 0xfc, 0x96, 0x5c, 0xb9, 0x9e, 0x0b, 0x0d, 0xf7, 0xd1, 0x92, 0xd6, 0xe1, 0xed, 0x58, + 0x5d, 0xe3, 0xfd, 0x54, 0x83, 0x4e, 0x81, 0xf0, 0x08, 0x8d, 0x9d, 0xd4, 0xb3, 0x87, 0x5a, 0x2d, + 0x0c, 0x21, 0xd3, 0x36, 0x3a, 0x70, 0x0a, 0x0e, 0xed, 0x2c, 0x4b, 0xa2, 0x08, 0xea, 0x4e, 0x7e, + 0xc1, 0x89, 0xb9, 0x9b, 0xb2, 0xcb, 0xe0, 0x2a, 0x4c, 0xb2, 0xa1, 0xf2, 0xd2, 0x4e, 0x2b, 0x0d, + 0x7e, 0x92, 0xff, 0xfa, 0x8d, 0xb4, 0x52, 0x6a, 0x46, 0xdc, 0x55, 0x00, 0xba, 0xe3, 0x1a, 0x0c, + 0x65, 0xe5, 0xf1, 0x28, 0xc7, 0x9b, 0x54, 0x08, 0x56, 0xf9, 0x83, 0x10, 0x93, 0x87, 0x83, 0x12, + 0x26, 0xc5, 0x40, 0x8f, 0x7c, 0x0f, 0x0c, 0x5e, 0x2e, 0x50, 0x61, 0xb1, 0xa0, 0x1a, 0x80, 0x64, + 0x09, 0x1d, 0x89, 0x78, 0x6f, 0xe4, 0x70, 0xc4, 0xb7, 0x0f, 0x9f, 0xfe, 0x83, 0x3b, 0xb9, 0xfa, + 0x71, 0x1b, 0x8a, 0x64, 0x73, 0x86, 0xbf, 0x15, 0x50, 0xf2, 0xb1, 0x90, 0x7e, 0xd8, 0xb5, 0x87, + 0x10, 0x23, 0xb1, 0x71, 0xab, 0xeb, 0xfd, 0xfe, 0xb0, 0x7c, 0xfb, 0xa2, 0xc3, 0x32, 0xb2, 0x36, + 0x2c, 0xb6, 0xbc, 0x1d, 0x8b, 0x2d, 0xdf, 0x3c, 0x12, 0xd9, 0x0f, 0x93, 0x3e, 0x04, 0x18, 0x69, + 0x80, 0x44, 0x16, 0x7f, 0xbd, 0x35, 0x5f, 0x03, 0x0b, 0x97, 0x37, 0xfa, 0x6e, 0x99, 0x16, 0x97, + 0x35, 0x5c, 0xb8, 0xfc, 0x11, 0xb8, 0x70, 0x45, 0x46, 0x19, 0xf8, 0xeb, 0x26, 0x59, 0x64, 0x09, + 0xf4, 0x4f, 0xe2, 0x16, 0x7c, 0x02, 0xdd, 0x00, 0xfc, 0xf8, 0xed, 0xdd, 0x83, 0xb8, 0x8f, 0x9b, + 0xe6, 0x9a, 0x5e, 0x3d, 0x50, 0xd3, 0x43, 0xd4, 0xf3, 0xe9, 0x81, 0xe9, 0x41, 0x38, 0xc8, 0x72, + 0x86, 0x7a, 0xff, 0xbb, 0x89, 0xe5, 0xe1, 0xe6, 0xe8, 0xe4, 0x42, 0xb4, 0x7d, 0x39, 0xec, 0xff, + 0x35, 0xaa, 0xd1, 0x41, 0xfd, 0x0c, 0x44, 0x3f, 0xa3, 0x69, 0x04, 0xe7, 0xf7, 0xed, 0x9d, 0x5a, + 0x45, 0x6c, 0x43, 0xef, 0x75, 0xc4, 0xb3, 0x73, 0x2d, 0xdb, 0xcc, 0x6e, 0x23, 0xc2, 0xd4, 0x74, + 0x87, 0x2c, 0xb0, 0xce, 0xd0, 0xd5, 0x32, 0x5a, 0xd6, 0x44, 0x8d, 0x98, 0x6c, 0x12, 0xd0, 0xbc, + 0xb2, 0x45, 0x6b, 0x4e, 0x90, 0x0d, 0x67, 0xc7, 0xa2, 0x4c, 0x46, 0xb6, 0x1c, 0xad, 0x79, 0x6a, + 0x1b, 0xb5, 0x6c, 0x61, 0x8e, 0xde, 0xbe, 0xa1, 0x95, 0xb0, 0xcd, 0x72, 0xac, 0x81, 0x8a, 0xe3, + 0xef, 0xde, 0x68, 0x0b, 0xc0, 0xf9, 0x03, 0xd8, 0xe6, 0x04, 0x7e, 0x56, 0xc3, 0x35, 0x47, 0x59, + 0x35, 0xf7, 0xe9, 0xf1, 0x17, 0x40, 0xcc, 0xb9, 0x97, 0x72, 0xc4, 0x3f, 0x50, 0xe3, 0xab, 0xce, + 0x69, 0x74, 0x1e, 0xbe, 0x1d, 0x13, 0xaf, 0xff, 0x34, 0xa0, 0x35, 0xfd, 0x7c, 0x3e, 0x97, 0x87, + 0x46, 0x7d, 0x56, 0x5b, 0x91, 0xc4, 0x9b, 0x20, 0xc3, 0xdb, 0xf0, 0xc2, 0xff, 0x22, 0x36, 0xf8, + 0xeb, 0xc3, 0xa3, 0x17, 0x35, 0xb7, 0x2b, 0x7f, 0x12, 0xea, 0x3b, 0x42, 0x3c, 0xec, 0xbf, 0x88, + 0xf2, 0x4d, 0x65, 0xfc, 0x45, 0x80, 0x6f, 0x2a, 0xe3, 0x2f, 0x62, 0x7b, 0x53, 0x19, 0x0f, 0xc1, + 0x7a, 0x8b, 0x85, 0x64, 0x72, 0x72, 0xa7, 0x40, 0x82, 0x91, 0xb2, 0x7d, 0x92, 0xb0, 0x08, 0xd2, + 0x37, 0x76, 0xc5, 0x9b, 0xa8, 0xf7, 0x90, 0x0b, 0x51, 0xa5, 0x65, 0x89, 0x84, 0x86, 0x25, 0x26, + 0x6d, 0x2a, 0x62, 0x5c, 0xd3, 0xc7, 0x50, 0x6a, 0xbf, 0xed, 0x0e, 0xea, 0x61, 0x47, 0x15, 0x13, + 0x4b, 0x72, 0x01, 0x87, 0x11, 0xe4, 0x13, 0x2a, 0x86, 0xdb, 0x05, 0xaa, 0x3a, 0x75, 0xb3, 0xc3, + 0xca, 0xcf, 0x2e, 0x42, 0xbd, 0x39, 0x79, 0x13, 0xd0, 0x1b, 0x16, 0x43, 0xd8, 0x20, 0xf8, 0xc5, + 0x47, 0x61, 0xa7, 0xe9, 0x4c, 0x01, 0xc1, 0x22, 0x4b, 0x4c, 0x37, 0x54, 0x3c, 0xe4, 0xfa, 0x3e, + 0xb2, 0x80, 0x76, 0x5e, 0x9e, 0x46, 0xaf, 0xab, 0x8f, 0x34, 0x22, 0x66, 0x77, 0x98, 0x7c, 0x99, + 0xc9, 0x87, 0xcb, 0xc0, 0xdb, 0x5f, 0x84, 0x59, 0x0e, 0xbb, 0xbb, 0x3d, 0x96, 0x6e, 0x42, 0x2d, + 0x31, 0x58, 0x7c, 0xf4, 0xf7, 0x46, 0x29, 0x41, 0x46, 0xa1, 0x3e, 0x3b, 0xcd, 0x4b, 0xa5, 0x54, + 0xc1, 0x55, 0xbf, 0xd0, 0x13, 0x3e, 0x29, 0xb0, 0x49, 0x67, 0xb7, 0x30, 0x2d, 0x11, 0x35, 0xac, + 0x63, 0xd6, 0x71, 0x99, 0xfd, 0x4b, 0x62, 0x1a, 0xed, 0x79, 0x85, 0x0e, 0x38, 0xa0, 0x4c, 0xf4, + 0xda, 0x1e, 0xd8, 0xd3, 0x26, 0x1c, 0xed, 0x23, 0x08, 0x28, 0x6a, 0xa1, 0xa4, 0xe2, 0x1b, 0x5f, + 0xb2, 0x93, 0x26, 0xa0, 0x41, 0x88, 0xdf, 0xa8, 0x44, 0xbd, 0xf8, 0x46, 0x73, 0xf2, 0x49, 0x4a, + 0xbd, 0x8b, 0x72, 0xf2, 0x0b, 0xe8, 0x49, 0x89, 0x3e, 0x04, 0x33, 0x82, 0x2f, 0x1f, 0x95, 0x75, + 0xac, 0x1e, 0xe1, 0x8e, 0x7b, 0x93, 0x42, 0xda, 0xa6, 0xe9, 0x11, 0x43, 0x7d, 0x98, 0x3e, 0x6b, + 0x50, 0x46, 0xa8, 0xf6, 0x38, 0xf7, 0xb5, 0xd2, 0xb8, 0xe8, 0xd8, 0x14, 0x76, 0xc1, 0x5e, 0x7d, + 0x1a, 0x71, 0x3b, 0x5e, 0x63, 0xb8, 0x51, 0x45, 0x3f, 0x63, 0x70, 0xbf, 0xef, 0x7b, 0x3d, 0x0f, + 0xb1, 0x0f, 0x54, 0xe4, 0x7c, 0x9d, 0x99, 0xb1, 0x46, 0xd4, 0x67, 0xd4, 0xd9, 0x96, 0x21, 0xa5, + 0x70, 0xba, 0x2d, 0x4f, 0x99, 0x82, 0xb2, 0x1a, 0xe4, 0xa4, 0x99, 0x64, 0xb3, 0xa8, 0xb1, 0x99, + 0xa5, 0x39, 0x82, 0xd3, 0xd8, 0x7c, 0xaf, 0xdf, 0xd6, 0x74, 0x33, 0xa6, 0xa1, 0x9d, 0x98, 0xc0, + 0x68, 0x8d, 0x0e, 0x27, 0x18, 0xb1, 0xd3, 0x9c, 0x63, 0xf3, 0x98, 0x0d, 0x42, 0x78, 0x40, 0x35, + 0xe2, 0x79, 0x0d, 0x3f, 0x00, 0xf2, 0xbd, 0x5a, 0x67, 0x32, 0x63, 0x5e, 0x53, 0x02, 0x38, 0xd5, + 0xb1, 0xd4, 0xd5, 0x0a, 0xfd, 0xde, 0x77, 0xb9, 0x9a, 0x43, 0xbd, 0xc8, 0x8f, 0x8f, 0x2b, 0xd1, + 0x18, 0xe9, 0xc7, 0x14, 0xfc, 0xa1, 0x5c, 0xd1, 0xaa, 0x94, 0x11, 0x1a, 0x94, 0xf1, 0x27, 0xa8, + 0x11, 0x5e, 0x08, 0xb2, 0x62, 0xa9, 0x81, 0x99, 0x7a, 0x7a, 0x4c, 0x6a, 0x44, 0x4d, 0x1c, 0x54, + 0x39, 0x22, 0x30, 0x2e, 0x5c, 0x3f, 0xc5, 0x66, 0x89, 0xdb, 0xa3, 0x91, 0x27, 0xe9, 0x5f, 0xb8, + 0xcd, 0x2b, 0x6b, 0x58, 0x66, 0x37, 0x2f, 0xbb, 0xb2, 0xb2, 0xf2, 0x01, 0x33, 0x95, 0xda, 0x98, + 0x0a, 0xd6, 0xde, 0xeb, 0x78, 0x5e, 0xa6, 0x7c, 0xa0, 0x66, 0x2e, 0x22, 0xaa, 0x18, 0x67, 0x9f, + 0x9a, 0xa8, 0x38, 0x62, 0x7b, 0x43, 0x67, 0x6f, 0xac, 0x1c, 0x6d, 0x14, 0xe8, 0xa6, 0xf9, 0x10, + 0xad, 0xea, 0x60, 0x1e, 0xe1, 0xb3, 0x87, 0x98, 0x76, 0x6a, 0xfc, 0x87, 0x9f, 0x8b, 0x0c, 0x3d, + 0x98, 0x63, 0x77, 0x86, 0x3d, 0x2f, 0x1b, 0xa2, 0x48, 0x38, 0x9e, 0x0f, 0x7b, 0xea, 0x76, 0x5c, + 0xce, 0x1a, 0x4f, 0x35, 0xa9, 0x06, 0x00, 0x77, 0x95, 0x6b, 0x0e, 0x97, 0x80, 0x0a, 0xf8, 0xf5, + 0x4c, 0x9c, 0x81, 0xc0, 0x0c, 0xc1, 0x95, 0x79, 0x1f, 0xd8, 0x8d, 0x61, 0xbf, 0x97, 0xde, 0x8c, + 0x94, 0xdf, 0xb2, 0x6d, 0x8e, 0xa4, 0xce, 0x2e, 0xd7, 0x8b, 0x45, 0xc4, 0xc8, 0x25, 0x72, 0x2b, + 0x6f, 0x56, 0x4e, 0xbb, 0xce, 0x9f, 0x21, 0xb1, 0x70, 0xc7, 0xcf, 0x70, 0x8c, 0x68, 0x6d, 0xbd, + 0xbf, 0x47, 0xab, 0x5b, 0xd3, 0xff, 0x0c, 0x96, 0xbf, 0x9d, 0x7b, 0x43, 0x57, 0x86, 0x9c, 0x7f, + 0x83, 0x6f, 0xdb, 0xdd, 0x73, 0x11, 0xd2, 0x32, 0x6e, 0x75, 0x8b, 0x30, 0x0e, 0x0b, 0x16, 0xdd, + 0x3e, 0xaa, 0xf5, 0xe9, 0xb6, 0xe6, 0x47, 0x63, 0x02, 0xe2, 0x51, 0x8d, 0xfe, 0xea, 0x16, 0x97, + 0x93, 0xc2, 0x29, 0x4b, 0xcd, 0x8a, 0x44, 0x82, 0x13, 0x75, 0x98, 0x2f, 0x2b, 0x6c, 0x99, 0xb5, + 0xbc, 0x1a, 0x88, 0xee, 0x19, 0xfd, 0x91, 0x77, 0x1d, 0xbd, 0x37, 0xda, 0x8d, 0x46, 0xeb, 0x09, + 0x01, 0x5c, 0x0c, 0xbe, 0xa7, 0x5b, 0x51, 0x4f, 0x9c, 0xf6, 0xbc, 0xe6, 0x08, 0x6e, 0x41, 0x63, + 0x0b, 0xd5, 0x96, 0xb9, 0xf2, 0x39, 0x6d, 0xfa, 0x79, 0xb2, 0xc7, 0xb0, 0x50, 0x84, 0x65, 0xde, + 0x10, 0x01, 0x87, 0x6a, 0x29, 0xda, 0x3c, 0x41, 0xc1, 0xa9, 0xaf, 0xb5, 0x8d, 0xaf, 0xb8, 0x96, + 0xa1, 0xa6, 0xd7, 0x3e, 0xd0, 0x2e, 0x5f, 0x27, 0x19, 0x7c, 0x16, 0x6e, 0xfc, 0x82, 0x55, 0x81, + 0xb5, 0x57, 0x1d, 0x47, 0x8d, 0xdf, 0xc3, 0xa8, 0x29, 0xae, 0xa4, 0x96, 0x00, 0x81, 0xe4, 0x61, + 0xfc, 0x80, 0xe1, 0xce, 0xa4, 0x85, 0xa1, 0x96, 0x18, 0xee, 0x86, 0x8a, 0xa1, 0xdb, 0x5a, 0x35, + 0x29, 0x87, 0x70, 0x72, 0x1b, 0x1c, 0x47, 0x49, 0x47, 0xdd, 0xb5, 0x69, 0x7b, 0xc4, 0x8d, 0xae, + 0x80, 0x96, 0xc1, 0x81, 0x86, 0x03, 0xe1, 0x59, 0xf2, 0x4a, 0xf3, 0x28, 0x07, 0xe9, 0x1f, 0x21, + 0x67, 0xe5, 0xf2, 0x77, 0xb1, 0x91, 0x90, 0x7c, 0xf9, 0x03, 0xae, 0xe2, 0xaa, 0x84, 0x5c, 0x82, + 0xa3, 0xbd, 0xe5, 0x78, 0xa4, 0xd6, 0x94, 0x40, 0xea, 0x62, 0x96, 0xe7, 0x8a, 0xb2, 0xb7, 0xae, + 0x27, 0xec, 0x41, 0x38, 0xa5, 0xe5, 0x24, 0xd6, 0xcb, 0xdf, 0xb9, 0xbe, 0xdb, 0xdb, 0x7b, 0x86, + 0x96, 0xa3, 0x52, 0x6a, 0x37, 0x45, 0x55, 0xeb, 0x57, 0x34, 0x38, 0xff, 0xff, 0xa1, 0xc1, 0x2f, + 0x79, 0x65, 0xb2, 0xcd, 0xa8, 0x45, 0x8a, 0x6e, 0xbf, 0xa6, 0xc9, 0x50, 0x81, 0xfd, 0x55, 0x4d, + 0xbd, 0xa8, 0x40, 0x4a, 0x2a, 0xf5, 0xa2, 0x80, 0xac, 0x36, 0x7e, 0x6b, 0xc8, 0xd5, 0x79, 0xc5, + 0x1d, 0x1a, 0xfa, 0x86, 0x83, 0xae, 0x99, 0x48, 0xd6, 0x5f, 0xe3, 0x16, 0x8e, 0x3a, 0x10, 0xad, + 0xd2, 0x3a, 0x5e, 0x75, 0x03, 0x4c, 0xf5, 0x45, 0x15, 0xa6, 0xda, 0x68, 0x26, 0xbd, 0x9b, 0xc8, + 0xdb, 0xd1, 0xaa, 0xa1, 0x26, 0xd4, 0x7a, 0xa6, 0x72, 0x11, 0x73, 0x7c, 0x68, 0x89, 0x5f, 0x6d, + 0x55, 0xef, 0x35, 0x7f, 0x01, 0xd9, 0x3a, 0xaf, 0x23, 0x5b, 0x4b, 0x08, 0x41, 0x09, 0xd0, 0xb8, + 0xd5, 0x3d, 0x12, 0x77, 0x7c, 0x87, 0x77, 0x2d, 0x04, 0x79, 0x2a, 0x3d, 0xc8, 0xd0, 0x60, 0x91, + 0xfb, 0xa4, 0x47, 0x4a, 0xb3, 0xa9, 0xcb, 0x93, 0xf4, 0x3d, 0xc7, 0xfa, 0x7b, 0x84, 0x77, 0xa4, + 0xda, 0x7e, 0xf5, 0x1f, 0xf8, 0x58, 0x9f, 0x63, 0xa3, 0x11, 0xe5, 0x0c, 0xad, 0xf6, 0xa6, 0xe7, + 0xd4, 0xb4, 0xb2, 0x1d, 0x5a, 0x33, 0xfe, 0x88, 0x44, 0x1b, 0xf4, 0x9e, 0xfc, 0x11, 0x35, 0x75, + 0xe4, 0x60, 0xdc, 0xb4, 0x75, 0x5e, 0xda, 0x63, 0x27, 0x62, 0xb8, 0xb0, 0x19, 0x29, 0xfb, 0x81, + 0x10, 0x50, 0x69, 0xaa, 0x35, 0x8f, 0x6f, 0x7b, 0xae, 0x91, 0x19, 0xa6, 0x9e, 0xde, 0x5e, 0xe2, + 0x50, 0xd2, 0x31, 0xbb, 0x27, 0x8f, 0x59, 0x3c, 0x57, 0xf7, 0x24, 0xcf, 0xf1, 0x27, 0x97, 0x2d, + 0x94, 0x3e, 0xb1, 0xcf, 0x60, 0x8a, 0xac, 0x54, 0xdd, 0x52, 0x81, 0xbf, 0x4e, 0x32, 0x7b, 0x88, + 0xc3, 0x6e, 0xff, 0x74, 0x85, 0xc6, 0xc9, 0xc0, 0x79, 0x58, 0xd7, 0x61, 0x71, 0x69, 0x91, 0x29, + 0x05, 0x54, 0xf9, 0x33, 0xec, 0xc7, 0xe2, 0x01, 0x92, 0x08, 0xdb, 0x3c, 0x7e, 0xad, 0xcf, 0xf2, + 0x0a, 0x7b, 0x02, 0x3f, 0x5f, 0xe6, 0x25, 0x83, 0x82, 0x9d, 0xbd, 0xbf, 0x2f, 0xfe, 0x1a, 0x5b, + 0xd5, 0x30, 0xfe, 0x69, 0x32, 0xd0, 0x5a, 0x01, 0x3f, 0xc6, 0xcf, 0x4f, 0xdf, 0x5a, 0x30, 0x73, + 0xab, 0x20, 0x9e, 0x73, 0xb7, 0xed, 0x40, 0x0a, 0x41, 0xc6, 0x02, 0x99, 0x23, 0x48, 0x43, 0xe5, + 0xe9, 0x8b, 0x32, 0x41, 0x00, 0x49, 0x4a, 0x45, 0xba, 0x71, 0x73, 0x35, 0x7d, 0xbd, 0x9a, 0xbe, + 0x44, 0xe6, 0x6c, 0x38, 0x4b, 0xad, 0xd5, 0x13, 0xb1, 0xd5, 0x17, 0x89, 0xf5, 0xf6, 0x95, 0xa5, + 0xf9, 0x09, 0xe6, 0x27, 0xcf, 0xbc, 0x2a, 0x02, 0x56, 0x8c, 0x10, 0x75, 0x1f, 0xa6, 0x61, 0xae, + 0xb3, 0x43, 0x83, 0xe3, 0x1e, 0xb1, 0x43, 0x7d, 0xc5, 0x0e, 0xe1, 0x24, 0xb2, 0xe1, 0x92, 0x15, + 0xef, 0x34, 0x9d, 0xdc, 0xa9, 0xe3, 0x6e, 0xc6, 0x2d, 0x87, 0x3b, 0x0e, 0xf3, 0xc3, 0xe7, 0x3b, + 0x3e, 0x6c, 0x38, 0xe5, 0xc7, 0xbb, 0x04, 0x51, 0xdd, 0x2a, 0x56, 0x94, 0xaa, 0x02, 0xec, 0xab, + 0x3a, 0xdd, 0x09, 0x3c, 0x11, 0x1b, 0xb8, 0xd7, 0x5e, 0x23, 0x0d, 0xc5, 0x5e, 0x87, 0x75, 0xf6, + 0xe6, 0x2c, 0x32, 0xfd, 0x7c, 0x9c, 0x3a, 0x14, 0xfe, 0x68, 0x37, 0x1f, 0xdc, 0x57, 0xc8, 0xde, + 0x70, 0xef, 0xb1, 0x12, 0xe9, 0x53, 0x53, 0x24, 0xbd, 0xb7, 0xd1, 0x5a, 0xde, 0x38, 0xf1, 0xd7, + 0x41, 0x26, 0xbb, 0x64, 0x4f, 0x53, 0x22, 0x5b, 0x6b, 0xa6, 0xd1, 0x02, 0xc6, 0xdb, 0x6a, 0xe0, + 0x65, 0xdf, 0xcd, 0x1d, 0x02, 0xa8, 0x00, 0xbb, 0x25, 0xf1, 0x5a, 0xb1, 0x8c, 0xaa, 0x9c, 0x8e, + 0x37, 0x4b, 0x00, 0x89, 0x72, 0x59, 0x14, 0x97, 0x6a, 0x8f, 0x9a, 0x0c, 0xc6, 0x61, 0x79, 0xde, + 0x4e, 0x13, 0x04, 0x7a, 0xa8, 0x99, 0x8c, 0x73, 0xcc, 0x28, 0x8f, 0xb5, 0x49, 0xc3, 0x31, 0x3e, + 0x8c, 0x35, 0xa5, 0xa5, 0xe0, 0x2b, 0x9d, 0x9e, 0x04, 0xf8, 0xbc, 0xd0, 0xc1, 0xcd, 0xd2, 0x1e, + 0x2e, 0x16, 0xc4, 0x34, 0x58, 0x24, 0xb3, 0x35, 0x2a, 0xa9, 0xa5, 0x40, 0x87, 0xdc, 0x10, 0x74, + 0xe1, 0x0a, 0x33, 0x47, 0x5b, 0x26, 0x46, 0x6f, 0xff, 0x34, 0x78, 0x05, 0x02, 0xd3, 0x84, 0xc4, + 0x3c, 0x88, 0xac, 0xd6, 0x1e, 0xad, 0x76, 0x9d, 0xb1, 0x98, 0x2c, 0x6c, 0x84, 0x46, 0x3c, 0xcd, + 0xdf, 0x70, 0x4b, 0xb5, 0xe6, 0x81, 0x28, 0xf0, 0xc9, 0x5a, 0x55, 0xec, 0x29, 0x25, 0x6c, 0x45, + 0x23, 0xf6, 0x30, 0x6c, 0xeb, 0x18, 0xcf, 0x57, 0x46, 0xb3, 0xe8, 0x0d, 0x63, 0x14, 0x70, 0x28, + 0xaa, 0x2a, 0xe1, 0xc3, 0xd2, 0x54, 0xa3, 0x4f, 0x7b, 0xff, 0x80, 0x03, 0x26, 0x89, 0x70, 0x97, + 0xf2, 0x07, 0x14, 0x6b, 0x3d, 0xf6, 0xba, 0x61, 0xde, 0x2d, 0x50, 0x2c, 0xa3, 0x56, 0x9d, 0x27, + 0xfc, 0x7f, 0xab, 0x7b, 0x86, 0xfd, 0x6d, 0x55, 0x58, 0xa3, 0x10, 0x92, 0x51, 0x58, 0x26, 0x94, + 0x8a, 0xbc, 0xfe, 0xe6, 0x2b, 0x02, 0x65, 0x22, 0x58, 0x53, 0x68, 0xa1, 0x79, 0xfa, 0x53, 0x9f, + 0x50, 0x47, 0x24, 0x3b, 0xf7, 0xf0, 0x85, 0x20, 0xda, 0x07, 0x32, 0xd3, 0x56, 0x15, 0x17, 0xc6, + 0x3d, 0x7e, 0xd7, 0x90, 0xca, 0x08, 0x53, 0xc1, 0xc8, 0xc1, 0x56, 0xb3, 0xea, 0x58, 0x97, 0xcd, + 0x79, 0xb5, 0xce, 0x48, 0xfd, 0xd0, 0xd2, 0xda, 0x8f, 0x4a, 0x4e, 0xd1, 0x92, 0xe0, 0x1b, 0x68, + 0x5c, 0xa7, 0xbf, 0x79, 0x54, 0x65, 0x72, 0x8a, 0x8f, 0x60, 0x8a, 0x1b, 0x15, 0x7a, 0xe6, 0xf6, + 0x6d, 0x30, 0x2e, 0xb2, 0x9d, 0x7c, 0xef, 0x7e, 0x72, 0x7c, 0x7c, 0xd8, 0xe5, 0xdb, 0x77, 0xaf, + 0x3b, 0x80, 0x53, 0x95, 0xa5, 0xf0, 0xa5, 0xaf, 0x5f, 0x7d, 0x49, 0xb8, 0x56, 0x9b, 0x7e, 0xc5, + 0xa0, 0x54, 0x85, 0x6b, 0x07, 0xfd, 0x1e, 0xcc, 0x76, 0xde, 0xdc, 0xcb, 0xbf, 0xd2, 0xf0, 0x72, + 0x04, 0x65, 0xd3, 0x55, 0xc3, 0x7b, 0xcd, 0x0d, 0xff, 0xf8, 0xb8, 0x76, 0x1b, 0x22, 0xbc, 0xad, + 0xcd, 0xdf, 0x42, 0x73, 0xf5, 0x83, 0xe2, 0x6b, 0x68, 0xae, 0xd5, 0x29, 0x54, 0x85, 0x18, 0x0e, + 0xe4, 0x82, 0x6f, 0xd1, 0xa5, 0x88, 0x4d, 0x3a, 0x7d, 0xbf, 0x5e, 0xa1, 0x50, 0x5d, 0xb3, 0xf4, + 0xfc, 0x94, 0xac, 0xad, 0x98, 0xc1, 0x55, 0x29, 0x28, 0x2c, 0x60, 0x07, 0x81, 0xe3, 0x1a, 0x88, + 0x1b, 0x7c, 0x8e, 0x6c, 0x00, 0x66, 0xb7, 0x02, 0xc5, 0x8e, 0xed, 0x08, 0x00, 0xa4, 0xff, 0xde, + 0x9d, 0x5e, 0x2a, 0x7b, 0xfb, 0xbd, 0x9e, 0xb6, 0xeb, 0x93, 0xb4, 0xc0, 0xf4, 0xba, 0xad, 0x49, + 0x90, 0x7b, 0x72, 0x0b, 0xe6, 0xc7, 0x80, 0x3a, 0x04, 0xfe, 0xbb, 0x36, 0x73, 0xfd, 0xcc, 0xbe, + 0x6b, 0xcb, 0xcf, 0x81, 0x7f, 0x64, 0xe6, 0x87, 0x46, 0x56, 0xa5, 0xae, 0x0f, 0xab, 0x6c, 0x48, + 0xc3, 0xc8, 0xb6, 0x31, 0x18, 0xba, 0xd9, 0x85, 0x76, 0x90, 0x2b, 0xf1, 0xd9, 0x02, 0xee, 0x00, + 0xc5, 0x30, 0x62, 0x8b, 0x62, 0xf4, 0xd8, 0x9d, 0xf1, 0x54, 0x48, 0x7e, 0x24, 0xad, 0x3e, 0xb2, + 0xe2, 0xa8, 0xb1, 0x66, 0x12, 0x8d, 0x3c, 0xbe, 0x6a, 0x41, 0xa0, 0xaa, 0xf2, 0x3d, 0xcd, 0xf6, + 0x8d, 0x18, 0x7a, 0x56, 0x85, 0x83, 0x14, 0xac, 0x7f, 0x29, 0x34, 0x1f, 0x95, 0x31, 0x0d, 0x02, + 0xea, 0xa2, 0xc9, 0x8a, 0x51, 0xa4, 0x1e, 0x34, 0xa5, 0xa6, 0x54, 0x43, 0x91, 0xc9, 0x68, 0x0d, + 0x79, 0x20, 0x66, 0xd2, 0xfe, 0x1c, 0xcb, 0x61, 0x27, 0x40, 0xdb, 0x13, 0x05, 0x4e, 0x7a, 0x31, + 0xa4, 0x82, 0xf7, 0x51, 0x89, 0x05, 0xe4, 0x5b, 0x22, 0x5b, 0xd5, 0x01, 0x8c, 0x09, 0xb4, 0xd8, + 0xd3, 0x99, 0x1c, 0xc9, 0xb7, 0x00, 0x19, 0x34, 0xfa, 0x05, 0xf0, 0x5a, 0xb4, 0xe3, 0xfa, 0x5b, + 0x59, 0xa9, 0xff, 0x57, 0x83, 0x76, 0x07, 0x4d, 0x1b, 0x7e, 0x3e, 0xdf, 0x94, 0x9e, 0x92, 0xfc, + 0xde, 0x28, 0x17, 0x2e, 0xdd, 0x72, 0xc3, 0xa5, 0x5b, 0x4e, 0xc0, 0x98, 0xf8, 0x62, 0x9f, 0x5c, + 0x39, 0xa0, 0xad, 0x75, 0x8e, 0xaf, 0x76, 0xf1, 0x91, 0x20, 0x1f, 0xe8, 0x8d, 0x3b, 0xd2, 0x4d, + 0x23, 0x8b, 0x5a, 0xd5, 0xaf, 0x6f, 0xfe, 0xde, 0x9a, 0x73, 0xb8, 0xc3, 0x6d, 0x90, 0x15, 0x14, + 0x00, 0x0f, 0x3e, 0xf3, 0xb6, 0x37, 0x80, 0xe3, 0xf8, 0x6b, 0xf6, 0xc2, 0xd8, 0x08, 0xf2, 0x44, + 0x45, 0xe5, 0x19, 0x50, 0xad, 0xba, 0x7f, 0x39, 0xc3, 0x86, 0x58, 0xa8, 0xbf, 0xf1, 0xf1, 0xca, + 0x57, 0x4d, 0xc4, 0x48, 0xd3, 0xeb, 0x6e, 0xc1, 0x70, 0xba, 0x28, 0x31, 0x9c, 0xb8, 0x9f, 0x7b, + 0x0e, 0x5d, 0xe7, 0xe5, 0xf5, 0x21, 0xe3, 0x8e, 0x4b, 0xf8, 0x90, 0x31, 0x63, 0xc8, 0x18, 0x79, + 0x53, 0x33, 0x86, 0x8c, 0x77, 0x11, 0x2d, 0xe1, 0xb9, 0xba, 0xc5, 0x40, 0x7f, 0x2b, 0x4a, 0x07, + 0x30, 0x9a, 0x6e, 0x08, 0x79, 0x68, 0xed, 0xb5, 0x16, 0x3e, 0xfb, 0xc9, 0x05, 0xfa, 0x04, 0xd9, + 0xda, 0x17, 0xbc, 0xc8, 0xde, 0x66, 0x93, 0x6b, 0x50, 0x0e, 0xa6, 0x81, 0x6c, 0xae, 0x6f, 0x9e, + 0xdc, 0x71, 0xa3, 0xb9, 0x64, 0xd5, 0xe2, 0x90, 0x66, 0x96, 0xf9, 0x83, 0xa0, 0xdb, 0xd1, 0x43, + 0xa0, 0xdb, 0xd8, 0xc3, 0xde, 0x0e, 0xc2, 0x5c, 0x94, 0xcf, 0x86, 0x64, 0x2a, 0x98, 0x2d, 0x4d, + 0xd7, 0x66, 0x42, 0x6d, 0xaf, 0x42, 0x2d, 0xaa, 0x02, 0xb9, 0xad, 0xd3, 0x43, 0x05, 0x7c, 0x3b, + 0xbd, 0xce, 0x0c, 0x6c, 0x41, 0x9c, 0x5a, 0xa4, 0x48, 0xb2, 0x5b, 0x46, 0x13, 0x75, 0x5f, 0x23, + 0xb4, 0x18, 0x87, 0x0d, 0xad, 0xd1, 0x90, 0x88, 0x51, 0xb7, 0x54, 0x33, 0x11, 0xcd, 0xd1, 0x63, + 0x5f, 0x04, 0xa4, 0x7c, 0x35, 0x8c, 0xbd, 0x55, 0x38, 0x0c, 0x3c, 0x7c, 0x38, 0xe1, 0x4d, 0xb3, + 0x70, 0xd8, 0xd8, 0x6f, 0x72, 0xa1, 0xa8, 0x00, 0xc9, 0x61, 0x46, 0x92, 0xcd, 0x66, 0x24, 0x1e, + 0x8f, 0x35, 0xe0, 0x17, 0xcf, 0x1e, 0x81, 0x5f, 0x3c, 0x7f, 0x18, 0xbf, 0xd8, 0x4b, 0x9b, 0xd3, + 0x20, 0xee, 0xb8, 0x9c, 0x86, 0x8c, 0xc8, 0x02, 0x4a, 0xf6, 0x67, 0x1e, 0xff, 0x0e, 0x25, 0xf8, + 0x73, 0xf1, 0x3d, 0x59, 0xf8, 0xe9, 0x86, 0x7f, 0x05, 0xca, 0xa0, 0x67, 0x60, 0xdc, 0xd5, 0x3a, + 0x33, 0xad, 0xfa, 0x33, 0x5d, 0xd7, 0x2e, 0x4c, 0x09, 0xb7, 0xd3, 0xd0, 0x88, 0x6f, 0x28, 0x55, + 0xc8, 0xf4, 0xa8, 0x0a, 0x99, 0x2e, 0x5e, 0x95, 0xd5, 0x94, 0xcd, 0x9e, 0xee, 0x27, 0xa7, 0x15, + 0xc6, 0x3b, 0x26, 0x6b, 0xe0, 0x85, 0x13, 0x9f, 0xe4, 0xf8, 0x04, 0xf2, 0xfe, 0x3e, 0x1e, 0x13, + 0xa4, 0xbf, 0x84, 0x42, 0x41, 0x90, 0x2a, 0x59, 0xa4, 0x4f, 0x49, 0xf8, 0x9b, 0xdf, 0x93, 0x88, + 0x27, 0x0f, 0xf6, 0x1b, 0x8b, 0x1c, 0x47, 0xb5, 0x42, 0x44, 0x1b, 0x7c, 0x1e, 0x33, 0xd2, 0xc1, + 0xc2, 0x78, 0x46, 0x12, 0xde, 0x05, 0xf7, 0xf7, 0x3b, 0xb5, 0xf0, 0xe0, 0xc4, 0x8f, 0xf5, 0xb2, + 0xac, 0xb9, 0xdc, 0x09, 0x05, 0x56, 0x4a, 0x23, 0x69, 0xc6, 0x9c, 0x34, 0x03, 0x4e, 0x48, 0x64, + 0x3c, 0x1e, 0x9f, 0x70, 0x84, 0x78, 0xed, 0x78, 0x33, 0x40, 0xeb, 0xf3, 0x1a, 0x68, 0xfd, 0x88, + 0x43, 0x69, 0xd4, 0x8c, 0x27, 0x60, 0x3d, 0xd4, 0x46, 0xbc, 0x3e, 0xba, 0xa1, 0x18, 0xdd, 0xf0, + 0xa4, 0xe0, 0xc3, 0x15, 0x8e, 0x8b, 0xda, 0xc0, 0x94, 0xc6, 0x1c, 0x72, 0x74, 0x33, 0x39, 0x19, + 0xd9, 0xf6, 0xc9, 0xc0, 0x71, 0x4c, 0x38, 0x49, 0x12, 0x8e, 0x8e, 0x1f, 0x7a, 0xf2, 0x67, 0x92, + 0x7e, 0xf2, 0xb3, 0x0d, 0x76, 0x73, 0x56, 0xc7, 0x00, 0xa7, 0xc1, 0xaf, 0xed, 0x94, 0xb3, 0x07, + 0xfc, 0x01, 0x18, 0x0b, 0x27, 0x7a, 0x78, 0xe1, 0x24, 0x6a, 0xe1, 0x14, 0xb2, 0x59, 0xb0, 0x70, + 0x72, 0xf1, 0x1d, 0x16, 0x4e, 0xe4, 0xd1, 0xa4, 0x54, 0xb1, 0xcf, 0x11, 0x45, 0x86, 0x92, 0x14, + 0x26, 0xa6, 0xbc, 0x8e, 0x8b, 0x8e, 0xef, 0xd7, 0x94, 0x29, 0xa4, 0xb1, 0xd0, 0x12, 0xd3, 0x58, + 0x44, 0xac, 0xb3, 0xd2, 0x59, 0xea, 0xa4, 0xe9, 0x82, 0x01, 0xb7, 0x89, 0x4b, 0x14, 0x2e, 0xae, + 0xd6, 0x08, 0x29, 0x10, 0xb1, 0x52, 0x39, 0x03, 0x31, 0xc2, 0x46, 0x01, 0x58, 0xa6, 0x1d, 0x34, + 0x3f, 0x90, 0x45, 0xed, 0xef, 0x7b, 0x6d, 0xc7, 0x30, 0x92, 0x1d, 0x1c, 0x28, 0xae, 0x71, 0xe0, + 0x16, 0x1f, 0xd8, 0xd5, 0x96, 0xb3, 0x1b, 0x77, 0xca, 0xd6, 0x2d, 0xbe, 0x72, 0x76, 0x63, 0x51, + 0x9f, 0xb6, 0x95, 0xf5, 0xc9, 0x2c, 0xea, 0x53, 0x7b, 0x49, 0x3f, 0x86, 0x5b, 0xca, 0x81, 0x7d, + 0xbb, 0xed, 0x64, 0xa9, 0x97, 0xb3, 0xad, 0x41, 0x2b, 0xb3, 0x41, 0xab, 0x6d, 0x0d, 0xea, 0x0f, + 0xb6, 0x15, 0xd4, 0x1f, 0x98, 0x25, 0xf5, 0x89, 0xbf, 0x15, 0x12, 0xb2, 0xb7, 0x28, 0xbc, 0xa9, + 0x16, 0x78, 0xb6, 0xad, 0x87, 0xb9, 0xd9, 0xc3, 0x3c, 0x7c, 0xa8, 0xb4, 0x8f, 0xe9, 0x96, 0xd2, + 0x8a, 0x74, 0xd8, 0x46, 0xb0, 0xd5, 0x72, 0x88, 0xfb, 0x42, 0x41, 0xda, 0xd7, 0xf1, 0x5f, 0xad, + 0x24, 0xc7, 0x8a, 0x61, 0x51, 0xeb, 0x39, 0x5b, 0x9e, 0x5e, 0x67, 0x5b, 0xda, 0x0b, 0x47, 0xf2, + 0xce, 0x57, 0xf0, 0x00, 0x0d, 0xe5, 0xbf, 0xc8, 0xb6, 0x8d, 0xee, 0xa3, 0x4e, 0x7b, 0xf3, 0x6d, + 0xdb, 0x32, 0x7a, 0x93, 0x31, 0xf6, 0x2f, 0xa6, 0x1e, 0x90, 0x6b, 0x9c, 0xf6, 0x1d, 0x3e, 0x83, + 0xb4, 0x0b, 0x1b, 0x36, 0x74, 0x8e, 0x14, 0x45, 0x96, 0x36, 0x9c, 0xab, 0x86, 0x6b, 0x38, 0xf3, + 0xca, 0x67, 0x98, 0x4c, 0x7b, 0xb3, 0x2c, 0x1e, 0x51, 0xd6, 0xde, 0x66, 0x3a, 0x50, 0x2c, 0x1a, + 0x88, 0x02, 0x37, 0xe9, 0x6e, 0xe1, 0xb9, 0x8b, 0x37, 0xbf, 0xa9, 0xc6, 0xf0, 0xb7, 0xd9, 0x3e, + 0x9b, 0x68, 0x50, 0x1f, 0x55, 0xd8, 0x8e, 0x3d, 0x09, 0xdb, 0x51, 0xc5, 0x06, 0x1e, 0x0a, 0x52, + 0xd8, 0x53, 0x4e, 0x8d, 0xab, 0x59, 0x2f, 0xda, 0xb2, 0x56, 0x51, 0xab, 0x35, 0x1c, 0xe1, 0x26, + 0x5f, 0xcc, 0x90, 0xa5, 0x1d, 0x0b, 0xa0, 0x81, 0x84, 0x16, 0x37, 0xe5, 0x34, 0xc1, 0xde, 0xbe, + 0xb8, 0x99, 0xb3, 0x45, 0xf9, 0xf4, 0x84, 0x7e, 0x56, 0xe7, 0x5e, 0xe1, 0x71, 0x7f, 0xd5, 0xc8, + 0x48, 0x07, 0x8e, 0x8d, 0xd0, 0xdc, 0x8f, 0x19, 0x9f, 0xad, 0x05, 0x7c, 0xe5, 0x28, 0x3d, 0x80, + 0x99, 0xd0, 0x30, 0x4e, 0x90, 0x63, 0xc8, 0xaa, 0x23, 0x81, 0x4b, 0xa0, 0xb2, 0x02, 0x6a, 0x74, + 0x5f, 0x07, 0x3b, 0x74, 0xab, 0x6b, 0x09, 0xf1, 0x82, 0x9c, 0xa6, 0x95, 0x94, 0xdf, 0x34, 0x96, + 0x65, 0x80, 0x9d, 0xd5, 0x96, 0xa6, 0x02, 0x3b, 0x6b, 0x2c, 0x32, 0x6c, 0x2e, 0xb2, 0x86, 0x90, + 0x56, 0x2b, 0x96, 0x3b, 0x1a, 0x85, 0x49, 0x17, 0x98, 0x8f, 0x28, 0x1c, 0xb8, 0xbf, 0x67, 0xe3, + 0x43, 0xd7, 0x5c, 0xa8, 0x9b, 0x4d, 0x95, 0x89, 0x90, 0xf0, 0x68, 0x78, 0xad, 0x93, 0x0c, 0xc2, + 0x21, 0x11, 0x0c, 0x5f, 0xbf, 0xb3, 0x43, 0x3f, 0x1f, 0x0e, 0xf4, 0x80, 0x01, 0x04, 0x88, 0xaf, + 0x7d, 0xe0, 0x1a, 0x2a, 0x0b, 0xd4, 0x68, 0xd6, 0x4f, 0xa4, 0x8b, 0xc7, 0x66, 0x69, 0x78, 0x94, + 0xd5, 0xb6, 0xe5, 0xaa, 0x6d, 0xa2, 0x62, 0x7e, 0xdf, 0x4b, 0x0e, 0xfd, 0x9d, 0x9d, 0x42, 0x54, + 0x2d, 0x82, 0x06, 0x14, 0x24, 0x7e, 0xf4, 0xf1, 0x87, 0x57, 0xb9, 0x0e, 0x1a, 0xd5, 0xbf, 0x4b, + 0xea, 0x9b, 0x2c, 0x6e, 0x2c, 0xac, 0xba, 0x66, 0x88, 0x67, 0xd1, 0xc4, 0x07, 0x08, 0x41, 0xb9, + 0x41, 0xf7, 0x28, 0x52, 0x44, 0xe4, 0xe0, 0x9d, 0x57, 0x3c, 0xbe, 0x97, 0xa6, 0x0b, 0x08, 0x97, + 0xa2, 0xcc, 0x18, 0xae, 0x91, 0x2b, 0xd4, 0x7f, 0x95, 0xa0, 0x26, 0xa7, 0x28, 0x22, 0x65, 0xb6, + 0x7b, 0xe2, 0x93, 0x73, 0x15, 0x2c, 0x1e, 0xf6, 0xe0, 0x8d, 0xb4, 0x3f, 0x17, 0x0e, 0xea, 0x0a, + 0x4f, 0xe6, 0x76, 0x4b, 0xe3, 0xcb, 0x3f, 0xa2, 0xf2, 0x7b, 0x8c, 0xaf, 0x2d, 0x8d, 0xf6, 0x20, + 0x30, 0x77, 0x8c, 0x88, 0xe5, 0xda, 0x63, 0x79, 0xfb, 0x5d, 0x12, 0xe0, 0xdb, 0x0e, 0x21, 0x8f, + 0xb5, 0xec, 0x8e, 0xb4, 0x3b, 0xe8, 0xd8, 0x96, 0x43, 0x8e, 0x68, 0x5d, 0x7b, 0xcb, 0xae, 0x4a, + 0x5a, 0x51, 0x09, 0x1a, 0x0c, 0x73, 0x95, 0xbe, 0xad, 0xda, 0x69, 0x72, 0xad, 0xae, 0x3a, 0x25, + 0x5c, 0xe8, 0xf6, 0xdb, 0x93, 0x3e, 0xb9, 0x8d, 0x79, 0xeb, 0xb7, 0x29, 0x6b, 0xe1, 0x42, 0xf7, + 0x76, 0x3c, 0x38, 0xee, 0xb9, 0xb0, 0x25, 0x64, 0xd0, 0x4a, 0x61, 0x39, 0xff, 0xf6, 0x15, 0x70, + 0x76, 0xb0, 0x6b, 0x4c, 0x99, 0x85, 0x8a, 0xdf, 0x24, 0xb3, 0x22, 0x96, 0xe7, 0x5d, 0xe9, 0x5e, + 0x09, 0x61, 0xc9, 0x9c, 0xf4, 0xbd, 0x26, 0x7d, 0x23, 0xc1, 0x96, 0xa8, 0x19, 0x6b, 0x7c, 0xef, + 0x3b, 0xc5, 0xc4, 0x56, 0xe6, 0xe9, 0x76, 0x69, 0x93, 0xef, 0x76, 0xd2, 0xb7, 0x12, 0x09, 0xf4, + 0xae, 0xbc, 0xb1, 0x36, 0xc9, 0xf0, 0xdc, 0x62, 0x02, 0xcc, 0xbb, 0x14, 0x57, 0x97, 0x96, 0x9d, + 0x5e, 0xce, 0xc7, 0x17, 0x3f, 0x71, 0x98, 0x87, 0xe8, 0x76, 0x68, 0xaa, 0xb5, 0x86, 0xcc, 0xaa, + 0xb4, 0x8b, 0x3b, 0x10, 0xa6, 0x1e, 0x9d, 0xd7, 0xa3, 0x67, 0x46, 0xf4, 0xec, 0xf2, 0x4b, 0xcd, + 0x32, 0x57, 0x58, 0xe2, 0x20, 0xb7, 0x4d, 0x00, 0x41, 0x95, 0x50, 0xde, 0x77, 0x42, 0x9f, 0x17, + 0x96, 0x33, 0x0d, 0xd3, 0xa3, 0xa5, 0x44, 0x70, 0x1c, 0x1a, 0xcb, 0x12, 0x22, 0xea, 0x42, 0xda, + 0x01, 0xa8, 0x0b, 0x6d, 0x91, 0xdd, 0xde, 0xe5, 0x3a, 0xe8, 0x6f, 0xe4, 0x6e, 0x38, 0x6e, 0x03, + 0xa7, 0x83, 0x1c, 0x09, 0x1a, 0x6e, 0x05, 0xa5, 0x8d, 0xbd, 0x71, 0xf1, 0x29, 0x0b, 0x45, 0xf5, + 0xb0, 0xe1, 0xf8, 0x87, 0x3c, 0x66, 0x3f, 0x7d, 0x3a, 0xb2, 0xf8, 0x22, 0xb0, 0x48, 0x3a, 0x6e, + 0xdd, 0x22, 0x1c, 0x81, 0x66, 0xb9, 0x60, 0xd1, 0x43, 0x03, 0x8e, 0xbb, 0x12, 0x95, 0x0b, 0xe7, + 0xce, 0x76, 0xc7, 0xfb, 0xfd, 0xaf, 0xae, 0xea, 0xec, 0x16, 0x98, 0xa3, 0x1b, 0x01, 0x23, 0x18, + 0xc6, 0xd6, 0x8c, 0x3b, 0x61, 0x26, 0xc4, 0x44, 0xad, 0x52, 0x5e, 0x1d, 0x41, 0xeb, 0xd5, 0x96, + 0xea, 0x9f, 0xed, 0x9e, 0xd0, 0x25, 0x10, 0xb2, 0x00, 0xf0, 0x86, 0x0c, 0x08, 0x7b, 0x81, 0xe6, + 0x8d, 0xab, 0x64, 0x1e, 0x2e, 0x6e, 0x71, 0x59, 0x12, 0x3c, 0x01, 0x5f, 0x9b, 0xc0, 0xb7, 0x71, + 0xc2, 0x82, 0x8f, 0x14, 0x17, 0x9e, 0x9f, 0xbe, 0x05, 0x1a, 0x89, 0xfd, 0xf4, 0xbd, 0x06, 0x48, + 0x73, 0x21, 0x8c, 0x74, 0xd4, 0x64, 0xc5, 0xba, 0x9b, 0xf4, 0x1c, 0xb6, 0x08, 0xb8, 0x82, 0xeb, + 0x1b, 0xc0, 0x59, 0x40, 0xc8, 0xe2, 0xb8, 0xf0, 0xf9, 0x92, 0x4f, 0xdf, 0xd6, 0xd7, 0x7c, 0x8e, + 0x88, 0x76, 0xc9, 0x84, 0x3f, 0x7a, 0xf9, 0x9c, 0xbe, 0x3d, 0x87, 0x8d, 0xdc, 0x78, 0x1f, 0x03, + 0x41, 0xbc, 0x51, 0xf5, 0xe0, 0xa4, 0x1e, 0x74, 0x55, 0x0f, 0x42, 0xdb, 0x55, 0x58, 0x31, 0x65, + 0x05, 0x77, 0xf1, 0x30, 0x7d, 0xef, 0x01, 0x21, 0x0d, 0xed, 0xb6, 0xd1, 0x42, 0xbc, 0x49, 0xc6, + 0xf8, 0x18, 0xc5, 0xec, 0x3a, 0xba, 0xa5, 0xfd, 0x68, 0x2e, 0x67, 0xac, 0x6b, 0xc3, 0xe9, 0x85, + 0xa4, 0x88, 0x2b, 0x5f, 0x55, 0x84, 0xa4, 0x49, 0xa1, 0xd8, 0xa5, 0x3f, 0x22, 0x23, 0x0e, 0x06, + 0x07, 0xc3, 0x5c, 0x0d, 0x9c, 0x45, 0x80, 0xa2, 0xe0, 0x70, 0x94, 0xca, 0x16, 0xaf, 0x8a, 0x9f, + 0x92, 0xae, 0x8a, 0x77, 0x30, 0x9a, 0x08, 0xfa, 0xa5, 0x21, 0xa9, 0xb8, 0x1b, 0x42, 0x6e, 0xd3, + 0x91, 0x48, 0xb8, 0x95, 0xa8, 0xdc, 0x30, 0xc9, 0x73, 0xb4, 0x7c, 0xde, 0x81, 0x71, 0x92, 0x90, + 0xcc, 0x50, 0x7c, 0xde, 0xad, 0x53, 0xd1, 0xe3, 0xed, 0x4a, 0x6d, 0x0e, 0x4e, 0x4e, 0xd7, 0x0f, + 0x68, 0xf7, 0xa8, 0x52, 0x6e, 0xff, 0x6b, 0xca, 0x3d, 0x14, 0x5e, 0x56, 0xf1, 0x45, 0xaa, 0x5d, + 0xee, 0x94, 0x5b, 0x77, 0xc2, 0x36, 0xe1, 0xab, 0x6c, 0x90, 0x79, 0xd6, 0xca, 0x82, 0xf0, 0x6c, + 0xaf, 0x3c, 0x15, 0x69, 0x52, 0xad, 0xcc, 0x51, 0x0a, 0x3a, 0x32, 0xc6, 0x70, 0x16, 0x2f, 0x26, + 0x8e, 0x59, 0xe6, 0x1c, 0xb5, 0x02, 0x1b, 0xd7, 0xa4, 0x38, 0x68, 0x62, 0x7d, 0x86, 0x75, 0xa5, + 0x58, 0xab, 0x4a, 0x8c, 0xde, 0x2d, 0x70, 0x3d, 0xcc, 0xac, 0x0e, 0xd5, 0xfd, 0x15, 0xc3, 0x69, + 0x1a, 0xe9, 0xec, 0x60, 0x5e, 0xad, 0x17, 0xc0, 0x98, 0x19, 0x42, 0x7e, 0x09, 0x15, 0x87, 0x3e, + 0x8b, 0xe1, 0xa7, 0xcf, 0x74, 0x01, 0x7e, 0xc5, 0x7f, 0x8b, 0x29, 0x4c, 0x77, 0x9b, 0x74, 0x78, + 0x37, 0x37, 0xe4, 0xed, 0x67, 0x84, 0x1e, 0xc5, 0xab, 0x5d, 0x15, 0x71, 0x48, 0xe3, 0xa7, 0xe4, + 0xd4, 0xc8, 0xc9, 0x96, 0xd3, 0xb3, 0x22, 0x73, 0x0a, 0x0d, 0x12, 0x18, 0x96, 0x08, 0x6c, 0x85, + 0x33, 0xf4, 0x7a, 0xc4, 0xc7, 0x41, 0x1e, 0x34, 0x55, 0x3f, 0x40, 0x9e, 0xe9, 0x6e, 0x4a, 0xc8, + 0xbc, 0x34, 0x7f, 0x01, 0x3a, 0xcc, 0x70, 0xab, 0x3f, 0x2b, 0x74, 0x54, 0x55, 0x45, 0x61, 0x25, + 0x00, 0x33, 0x64, 0xfa, 0x2f, 0x11, 0x92, 0x5b, 0x3d, 0x72, 0x79, 0x29, 0x20, 0x57, 0xed, 0x0c, + 0xf6, 0x6c, 0xf4, 0xc4, 0x7a, 0x87, 0x50, 0x39, 0x97, 0x43, 0x38, 0x96, 0xe1, 0xdf, 0xd5, 0x10, + 0xf5, 0x5d, 0x6e, 0x37, 0xd7, 0x9f, 0xcb, 0x1c, 0xf7, 0x4c, 0x2f, 0xe6, 0x1d, 0x84, 0x5b, 0x9c, + 0x27, 0x77, 0xac, 0x7b, 0xa9, 0x27, 0x3b, 0x7c, 0x52, 0x49, 0xe7, 0x6e, 0xae, 0x61, 0xcc, 0x99, + 0x43, 0x81, 0xc1, 0x34, 0x77, 0x20, 0xc3, 0x3e, 0xb5, 0xc8, 0x3d, 0xc1, 0x22, 0x78, 0xe3, 0x20, + 0x70, 0x53, 0x8e, 0x25, 0xe3, 0xf0, 0xc9, 0x38, 0x64, 0x68, 0x54, 0x54, 0xf5, 0x73, 0xa7, 0xc6, + 0x4d, 0x00, 0x4c, 0xe8, 0x23, 0x0c, 0xd3, 0x30, 0x32, 0x7d, 0x83, 0x29, 0xbc, 0xf5, 0xcc, 0x33, + 0x1d, 0x83, 0xa9, 0x88, 0xa5, 0x67, 0x7a, 0x05, 0x2b, 0x11, 0xda, 0x39, 0x01, 0x01, 0x7b, 0xaf, + 0x57, 0x71, 0xc9, 0x6e, 0xce, 0x48, 0xbf, 0xa2, 0x69, 0x5a, 0xfa, 0x35, 0x21, 0x61, 0x85, 0xe0, + 0x3e, 0x23, 0x45, 0xea, 0xb3, 0x38, 0x8a, 0xf8, 0x61, 0xd3, 0x81, 0xb3, 0xb2, 0x48, 0xce, 0x44, + 0x31, 0x4f, 0x5c, 0x57, 0xb9, 0xfc, 0x9a, 0xa9, 0x96, 0xe4, 0x65, 0x58, 0xbc, 0x78, 0x18, 0x6f, + 0xeb, 0xd0, 0xb5, 0x85, 0xa3, 0x52, 0xa3, 0xd9, 0x6b, 0xe6, 0x05, 0x46, 0x48, 0x1e, 0x14, 0xc2, + 0xd6, 0xc4, 0x4b, 0xea, 0x64, 0xaa, 0x0f, 0xe3, 0x0f, 0xaa, 0x29, 0x06, 0x9e, 0xfd, 0x59, 0x09, + 0xff, 0xac, 0x07, 0xff, 0xa2, 0x82, 0x13, 0xb8, 0xa2, 0x84, 0x59, 0xd2, 0x7d, 0xc9, 0x5b, 0x90, + 0x5f, 0x7d, 0x4c, 0x3e, 0x2c, 0xa7, 0x0e, 0x50, 0x5a, 0x0c, 0x94, 0x06, 0x54, 0x26, 0x69, 0xad, + 0x5a, 0x6a, 0xc3, 0xc3, 0xdf, 0x66, 0xff, 0xb7, 0x76, 0x8b, 0x4f, 0xdd, 0x6f, 0x82, 0x20, 0xb0, + 0xf6, 0xfb, 0xc7, 0xff, 0xf0, 0x2c, 0x74, 0x61, 0x8f, 0x16, 0xcd, 0x59, 0xc7, 0xf6, 0xf0, 0x73, + 0x29, 0x3e, 0xa7, 0x70, 0x84, 0xe3, 0x76, 0xb4, 0xa5, 0x85, 0x41, 0x53, 0xfb, 0x7e, 0xf9, 0x5b, + 0xda, 0xd7, 0xeb, 0xf5, 0x1e, 0xd7, 0x3e, 0xad, 0xe6, 0x7f, 0x57, 0x03, 0xab, 0xcf, 0xd6, 0x17, + 0x16, 0x01, 0x77, 0x52, 0xae, 0x12, 0x20, 0x13, 0xfe, 0x84, 0xdf, 0xbd, 0xeb, 0xc3, 0xe5, 0x8f, + 0x0b, 0xd7, 0xbe, 0xb0, 0x5b, 0x74, 0x23, 0xb2, 0xbb, 0x8b, 0xee, 0x54, 0x08, 0xed, 0x50, 0xdf, + 0x3a, 0xc5, 0x9b, 0x7f, 0xd6, 0x98, 0x43, 0x29, 0x70, 0xca, 0x1c, 0xaa, 0x10, 0xdd, 0x75, 0x94, + 0x4e, 0xb2, 0xa3, 0x9a, 0x62, 0xb2, 0x5c, 0x2b, 0x4f, 0x5c, 0x0f, 0xe8, 0x9c, 0x33, 0xc8, 0x6a, + 0xc9, 0xdb, 0xdf, 0x20, 0xfa, 0xb4, 0x0e, 0x34, 0x09, 0x4b, 0x41, 0x30, 0xcc, 0x24, 0xd2, 0x2e, + 0x13, 0x2e, 0x16, 0x41, 0xd0, 0xeb, 0xd9, 0x02, 0x93, 0x65, 0xfb, 0x32, 0xf3, 0x39, 0xc4, 0x66, + 0xe1, 0x4e, 0x7a, 0xa4, 0xfc, 0x14, 0x9b, 0xca, 0xa0, 0x72, 0x57, 0x95, 0xdb, 0x8e, 0x38, 0x3e, + 0x11, 0xfc, 0x4e, 0x11, 0x05, 0x2a, 0x5e, 0x84, 0xd6, 0x02, 0x2e, 0x62, 0xc6, 0xfa, 0x81, 0xfb, + 0x6d, 0xe1, 0x0e, 0x2b, 0x41, 0x2f, 0x2f, 0x03, 0x38, 0xde, 0x22, 0x18, 0x8f, 0xfc, 0x0a, 0x26, + 0x12, 0xfe, 0xf5, 0x5a, 0xb7, 0xec, 0xbf, 0xe2, 0xba, 0xb0, 0x32, 0x1b, 0x30, 0x17, 0xdb, 0x1b, + 0x72, 0x69, 0x90, 0xd2, 0x0f, 0xa5, 0xd8, 0xc3, 0x28, 0xe7, 0xec, 0xc1, 0x72, 0x72, 0xbb, 0x71, + 0x0b, 0xa8, 0x94, 0xf3, 0xcb, 0x83, 0xe5, 0x5c, 0xd9, 0x8d, 0x7b, 0x46, 0xa5, 0x9c, 0x7f, 0xaf, + 0x97, 0xe3, 0xdc, 0x71, 0x8a, 0x1f, 0x36, 0xad, 0x8c, 0x4d, 0x25, 0x3f, 0x2e, 0x66, 0x83, 0x4a, + 0x2b, 0xe7, 0x82, 0x57, 0xf8, 0x4d, 0xa7, 0x82, 0x50, 0x8e, 0x55, 0xcf, 0x84, 0x51, 0x49, 0x2c, + 0x17, 0xb8, 0x6c, 0x4b, 0xeb, 0x35, 0x82, 0xcb, 0xb8, 0xe0, 0xa6, 0x43, 0x51, 0x23, 0xc7, 0x11, + 0x55, 0x68, 0x33, 0x43, 0x19, 0x6e, 0x25, 0x6c, 0x89, 0xde, 0x2e, 0x2a, 0x61, 0x53, 0x3f, 0x97, + 0xce, 0x04, 0x44, 0x54, 0xa5, 0x8b, 0xbf, 0x9a, 0x56, 0xbf, 0x8a, 0x19, 0xf0, 0x9a, 0x39, 0x9f, + 0xa2, 0xb6, 0x46, 0x98, 0xec, 0x33, 0xaf, 0x45, 0x24, 0x30, 0x89, 0x8f, 0x55, 0x64, 0x63, 0x62, + 0x65, 0xdc, 0xb5, 0x73, 0x58, 0xa4, 0xd1, 0xf5, 0x22, 0x2f, 0x86, 0x53, 0xa7, 0x52, 0x27, 0x1c, + 0x37, 0x3d, 0xe4, 0x49, 0x19, 0xc2, 0x5c, 0xc1, 0x0c, 0xbd, 0x88, 0x60, 0xd7, 0x74, 0x10, 0xea, + 0xfd, 0x41, 0x92, 0x21, 0x97, 0xf4, 0x83, 0x1d, 0xcc, 0x5a, 0x7a, 0xee, 0x74, 0x92, 0x46, 0xf9, + 0x9b, 0x62, 0xa5, 0x5c, 0xa9, 0xd9, 0xac, 0x72, 0x0a, 0x01, 0xcc, 0x42, 0x2e, 0xbd, 0x4c, 0x86, + 0xdd, 0x6c, 0x98, 0x78, 0x01, 0x4c, 0x42, 0x54, 0x06, 0x2d, 0x29, 0x68, 0xea, 0xc7, 0x65, 0xd0, + 0x94, 0x82, 0xae, 0xe1, 0x70, 0xab, 0x0c, 0x98, 0x40, 0x9f, 0xe6, 0x92, 0x37, 0xa8, 0x64, 0xf8, + 0xf9, 0xf3, 0xb9, 0x47, 0xff, 0x9f, 0x6f, 0x36, 0x42, 0xb5, 0x8e, 0x1e, 0x22, 0x28, 0xb5, 0xff, + 0x99, 0x0f, 0x4e, 0x72, 0x5e, 0x55, 0x9d, 0x1b, 0xf2, 0xd6, 0x20, 0x42, 0x2b, 0xf3, 0x66, 0xb5, + 0xc3, 0x6c, 0x56, 0xe8, 0xa2, 0x6c, 0xe3, 0x3e, 0x90, 0xad, 0x8a, 0x8f, 0xcb, 0xe8, 0x4f, 0x69, + 0x5d, 0x38, 0x9c, 0xe9, 0x05, 0x7a, 0x53, 0x1a, 0x1e, 0x1c, 0x20, 0x89, 0x1f, 0xe0, 0xfd, 0xf0, + 0xa3, 0x3f, 0xb8, 0x50, 0x88, 0xa6, 0x84, 0x08, 0xab, 0x61, 0x92, 0xb2, 0x2e, 0x3e, 0x7e, 0x70, + 0x74, 0x3c, 0x51, 0xbb, 0x87, 0x80, 0xf1, 0x0e, 0xee, 0xa5, 0xc2, 0x09, 0xd3, 0xab, 0x9f, 0x7e, + 0x3c, 0xc5, 0xe6, 0x66, 0x2e, 0x17, 0x89, 0xbc, 0xc1, 0xfd, 0x86, 0x6f, 0xf7, 0xcc, 0xa3, 0x07, + 0x37, 0x07, 0x37, 0x2b, 0xa4, 0xa1, 0x66, 0x0f, 0xf2, 0xc1, 0x8c, 0x7b, 0x8f, 0xc7, 0x84, 0x02, + 0x45, 0x75, 0x52, 0x83, 0x82, 0xc7, 0x77, 0x36, 0xee, 0xb0, 0x09, 0x4b, 0x9e, 0x62, 0x36, 0x9c, + 0x23, 0xbe, 0x9c, 0xe9, 0xec, 0x30, 0xba, 0x02, 0xfa, 0x27, 0x6e, 0xa0, 0xa2, 0x9d, 0xf8, 0x9b, + 0x7b, 0x93, 0x42, 0x1f, 0x52, 0xcb, 0xb0, 0xb8, 0x5c, 0x4f, 0x51, 0x3b, 0x70, 0xf0, 0x3c, 0xcc, + 0x66, 0x49, 0x92, 0x7c, 0x09, 0xd9, 0x01, 0xba, 0x1d, 0x83, 0x61, 0xf9, 0x12, 0xa2, 0xc4, 0x41, + 0xc3, 0x21, 0xa7, 0x9b, 0xae, 0x84, 0x75, 0x73, 0x9c, 0xcb, 0x59, 0xc7, 0xef, 0x3f, 0x75, 0xc7, + 0x87, 0x88, 0x36, 0xeb, 0x60, 0xb5, 0xae, 0x77, 0x39, 0x1b, 0x0f, 0xe4, 0xcf, 0xc3, 0x1e, 0x9e, + 0x86, 0x47, 0x47, 0xbe, 0x7f, 0x39, 0xa3, 0x90, 0x8e, 0x7f, 0x88, 0x21, 0xbd, 0xa7, 0x5a, 0x08, + 0x14, 0x20, 0x19, 0x40, 0x04, 0x13, 0x73, 0x8d, 0xab, 0xd5, 0xc5, 0x65, 0x8e, 0x86, 0xac, 0x97, + 0xb3, 0x8d, 0x67, 0x21, 0x74, 0x9b, 0x67, 0x1d, 0xf7, 0xfe, 0x81, 0xae, 0xa5, 0xbd, 0x67, 0x7d, + 0x01, 0x88, 0x0e, 0x4c, 0x63, 0x66, 0x60, 0x17, 0x43, 0xc0, 0x07, 0x92, 0xce, 0x72, 0xe1, 0x31, + 0xc6, 0x1b, 0x7b, 0x24, 0xdd, 0xf6, 0xc8, 0xe1, 0x9e, 0xc4, 0xf9, 0x60, 0xed, 0xd7, 0x39, 0xdd, + 0xc6, 0x11, 0xd1, 0x6d, 0x17, 0x61, 0xb6, 0xb2, 0x3e, 0xb0, 0x69, 0x92, 0x88, 0x9b, 0xb5, 0xc3, + 0xeb, 0x07, 0x46, 0xbe, 0xe6, 0x8c, 0x2b, 0x63, 0x0b, 0x5f, 0x81, 0x0e, 0x4a, 0x01, 0x8e, 0x6c, + 0xf2, 0x99, 0x89, 0xb7, 0x0c, 0x3c, 0x48, 0x6e, 0x6e, 0xe5, 0x59, 0xce, 0xdb, 0x28, 0xfb, 0x70, + 0xe6, 0xfe, 0xc9, 0xd6, 0xf2, 0x9a, 0xcb, 0xc6, 0x9e, 0x91, 0xcb, 0x4a, 0xd9, 0x06, 0xaf, 0xa5, + 0xb8, 0x45, 0xb5, 0x38, 0x1a, 0x53, 0xa5, 0x4d, 0xb7, 0x47, 0xba, 0xdd, 0xdc, 0x1d, 0x37, 0xd3, + 0xe8, 0x71, 0x7d, 0xb9, 0x84, 0x48, 0x92, 0xe6, 0x58, 0xe7, 0x1b, 0x0e, 0x2e, 0xc9, 0xf5, 0x7b, + 0x1c, 0x68, 0x23, 0x49, 0xfd, 0xd5, 0xb5, 0xa7, 0x05, 0x40, 0xfe, 0xdf, 0x48, 0xca, 0xa1, 0x25, + 0xf9, 0xe4, 0xaf, 0x2e, 0x75, 0xbf, 0x38, 0x7d, 0xc3, 0xbc, 0x4c, 0xb7, 0xc1, 0x13, 0x7a, 0xfa, + 0x76, 0x8b, 0x3f, 0x12, 0xca, 0x08, 0x98, 0xdd, 0x57, 0xb0, 0x4f, 0xeb, 0xa8, 0xd6, 0xa9, 0x16, + 0x6e, 0x7a, 0xdf, 0x20, 0x17, 0x70, 0x67, 0x45, 0x92, 0x01, 0xb3, 0x8b, 0xeb, 0xf6, 0x6d, 0xc1, + 0x56, 0x8e, 0x7d, 0x1d, 0x91, 0xa7, 0x90, 0x1b, 0x5b, 0x98, 0xae, 0x21, 0xaf, 0xc7, 0x85, 0x21, + 0x9a, 0x40, 0xb4, 0xe0, 0x7e, 0x71, 0xd0, 0xee, 0xed, 0x8a, 0x9e, 0x7e, 0xe0, 0x47, 0xe9, 0x3b, + 0xaf, 0xac, 0x11, 0x62, 0x52, 0x3e, 0x39, 0xe8, 0xdf, 0xd4, 0xd1, 0xf9, 0xc2, 0x8d, 0x91, 0xee, + 0x6e, 0xe3, 0x2d, 0x95, 0xb6, 0x8e, 0x77, 0xa2, 0xe7, 0x09, 0xec, 0x5e, 0xad, 0x99, 0x79, 0xad, + 0x99, 0x5e, 0x05, 0x3d, 0xfa, 0x2e, 0x1d, 0xea, 0x05, 0x7b, 0x57, 0x3a, 0x4e, 0x2d, 0xfc, 0xd8, + 0xd4, 0x6f, 0xda, 0x1e, 0x33, 0x3c, 0x8f, 0x31, 0xef, 0xd9, 0x33, 0x43, 0xed, 0x55, 0x6d, 0x18, + 0xed, 0xcc, 0x4d, 0xc8, 0xd1, 0x50, 0xf1, 0xcd, 0x24, 0xa5, 0xbb, 0x43, 0x87, 0xb9, 0xe6, 0x8e, + 0xfb, 0x17, 0x70, 0xa4, 0x75, 0x00, 0xe9, 0x47, 0xa2, 0x42, 0xe7, 0x28, 0xb4, 0xd3, 0xc7, 0xd7, + 0xd4, 0xae, 0xc0, 0x68, 0x1b, 0x83, 0x04, 0xb3, 0x04, 0x65, 0xa0, 0x35, 0xcf, 0xa4, 0x2a, 0xfa, + 0xab, 0x75, 0xbe, 0xd3, 0x87, 0xee, 0x6f, 0xbc, 0xe3, 0x1e, 0xec, 0xd5, 0x8e, 0x09, 0x69, 0x5c, + 0x07, 0x29, 0xd6, 0x0e, 0x44, 0x84, 0xe4, 0x26, 0x30, 0x22, 0x45, 0x9a, 0xac, 0xfd, 0x2e, 0xa6, + 0x20, 0x2d, 0x50, 0xe6, 0x2f, 0x98, 0x9c, 0xaa, 0xf1, 0xf0, 0x8e, 0x14, 0x27, 0x2a, 0x7f, 0x8c, + 0x7a, 0x6a, 0x24, 0x50, 0xe9, 0x12, 0x17, 0x0e, 0xb3, 0x02, 0xa6, 0x58, 0x6a, 0x9d, 0xc3, 0xa8, + 0x20, 0xef, 0x16, 0x0d, 0x7e, 0x25, 0xb8, 0xbe, 0x96, 0x5e, 0x4a, 0xc8, 0x77, 0x8e, 0xe7, 0x75, + 0x97, 0x58, 0x52, 0x5d, 0xdb, 0x97, 0xb7, 0xcb, 0xaf, 0x2d, 0x52, 0xaa, 0x90, 0x6d, 0x89, 0x74, + 0x6e, 0xf6, 0x84, 0x73, 0xa1, 0x85, 0xdb, 0xee, 0xa3, 0x96, 0xf6, 0x8d, 0xd0, 0xb7, 0x53, 0xb2, + 0x6c, 0xc5, 0xfe, 0xc1, 0x2d, 0xa9, 0x3f, 0x0a, 0x4f, 0xa4, 0x4e, 0x62, 0x14, 0xc2, 0x26, 0x72, + 0x27, 0x5e, 0x25, 0xfb, 0xd1, 0xe7, 0xf0, 0xbc, 0xc1, 0xf5, 0x74, 0xb3, 0xa7, 0xd7, 0x6e, 0x91, + 0xfc, 0x9c, 0xa6, 0x2c, 0x7b, 0x19, 0xa0, 0x7a, 0x59, 0x69, 0x03, 0xc4, 0xb8, 0x9a, 0xb1, 0x78, + 0xbf, 0x32, 0x67, 0x2c, 0x47, 0xf8, 0x0c, 0x61, 0xb7, 0xad, 0x0b, 0xfd, 0x38, 0x01, 0x90, 0xad, + 0x8a, 0x9f, 0x6f, 0x78, 0xc3, 0x62, 0x9f, 0x3f, 0xf8, 0x46, 0x56, 0xd8, 0x89, 0x04, 0xd8, 0x94, + 0x74, 0xd4, 0x22, 0x27, 0x55, 0xbb, 0x88, 0x36, 0x94, 0x65, 0x08, 0x6f, 0x1a, 0x6b, 0xe3, 0x5b, + 0xd5, 0x0e, 0x3a, 0x62, 0x93, 0x0e, 0x91, 0xf6, 0xa3, 0x91, 0x6c, 0x00, 0xfb, 0x13, 0x43, 0x82, + 0x5c, 0xf1, 0x9f, 0xc8, 0x26, 0x0f, 0xe4, 0xb8, 0xe2, 0x7c, 0x33, 0x40, 0x5f, 0x6a, 0xb1, 0x41, + 0x63, 0x62, 0xfa, 0x61, 0x67, 0x60, 0x64, 0xa2, 0xb9, 0x91, 0x3e, 0x47, 0xd1, 0x6b, 0xb6, 0x7c, + 0x75, 0xc7, 0x47, 0x99, 0x28, 0xde, 0x98, 0x02, 0xf2, 0xd7, 0xde, 0x64, 0x1c, 0x03, 0x9b, 0xe0, + 0xec, 0xcb, 0xad, 0xed, 0xb6, 0x27, 0x50, 0xfe, 0x5b, 0xdc, 0x51, 0x40, 0x0b, 0x26, 0xd8, 0xf2, + 0xd4, 0x83, 0x3b, 0xcd, 0x2c, 0xea, 0x6f, 0x3d, 0x34, 0x9f, 0xab, 0x11, 0x0b, 0x62, 0xee, 0x7a, + 0xa0, 0x09, 0x24, 0x67, 0x24, 0xe9, 0x93, 0x11, 0x8b, 0x1b, 0x26, 0xeb, 0xdc, 0xdc, 0x0d, 0xe4, + 0xed, 0x1d, 0x3d, 0xc2, 0x88, 0x1d, 0xa4, 0x80, 0xbd, 0xce, 0xf4, 0x28, 0xd4, 0xb0, 0x89, 0xc0, + 0x61, 0x54, 0x36, 0x02, 0x71, 0x56, 0xde, 0xf0, 0x05, 0x2a, 0xdf, 0x91, 0xfc, 0xad, 0x5b, 0x80, + 0x76, 0xa5, 0xa3, 0x62, 0xdf, 0xd0, 0x33, 0x02, 0x56, 0xae, 0x3e, 0xb3, 0xca, 0x91, 0x4d, 0xef, + 0x0c, 0x70, 0xd1, 0xc2, 0x62, 0x82, 0x6a, 0xd0, 0xe0, 0xbe, 0xd5, 0xc9, 0x51, 0x75, 0x3b, 0xce, + 0xe1, 0xfa, 0xe6, 0xd8, 0xfb, 0xfb, 0x30, 0x97, 0xb6, 0xd7, 0xee, 0xc6, 0x67, 0xde, 0x9d, 0x43, + 0x25, 0xab, 0x72, 0x94, 0x88, 0x33, 0xc7, 0xcb, 0x02, 0xcb, 0x8a, 0xdb, 0x5f, 0x70, 0x4c, 0x65, + 0x29, 0xae, 0xdb, 0x71, 0xaa, 0x4d, 0x9a, 0xf4, 0x87, 0xfb, 0x7d, 0xf7, 0xbb, 0x02, 0x61, 0xd7, + 0xa1, 0x05, 0x1c, 0xad, 0x53, 0xb8, 0xef, 0xf1, 0x06, 0xc7, 0x03, 0xd7, 0x83, 0xbd, 0x78, 0x9d, + 0xe9, 0x7d, 0xa8, 0x36, 0x14, 0xc2, 0x83, 0x0c, 0xea, 0x84, 0x24, 0xb2, 0x29, 0x5d, 0x0e, 0x39, + 0x2c, 0x5a, 0xb4, 0xbb, 0xab, 0xc2, 0xe1, 0x7e, 0xc6, 0x07, 0xcd, 0xbd, 0xbf, 0xff, 0x7b, 0xf6, + 0xd3, 0xfb, 0xfb, 0xa2, 0xd9, 0x49, 0x12, 0x36, 0xff, 0xb8, 0x3e, 0x65, 0x28, 0x0f, 0x13, 0x6e, + 0x9b, 0xa5, 0x33, 0x75, 0xf9, 0xd2, 0x48, 0x8a, 0xa7, 0x7a, 0xe7, 0x23, 0x56, 0x52, 0x23, 0x53, + 0xaf, 0x45, 0x04, 0x8d, 0x37, 0x90, 0xa1, 0x3b, 0x32, 0x29, 0x40, 0xf8, 0x67, 0x7f, 0x60, 0x57, + 0x2f, 0xb9, 0x41, 0xe9, 0xf0, 0x82, 0x18, 0x42, 0xb5, 0x1f, 0x16, 0xdc, 0x39, 0x5a, 0xfe, 0x78, + 0xaf, 0xdd, 0x31, 0x72, 0xe3, 0x7f, 0x2b, 0xdd, 0xc3, 0x0e, 0x82, 0x6a, 0x62, 0x42, 0x60, 0xc9, + 0xb5, 0x8d, 0x79, 0x11, 0x15, 0x2e, 0x01, 0xfd, 0xd1, 0xe9, 0xaf, 0x7c, 0xbe, 0xcb, 0x55, 0x1f, + 0x97, 0x27, 0x83, 0xa6, 0x34, 0x14, 0xb7, 0xdb, 0x17, 0xd1, 0x3a, 0xe3, 0x5b, 0x05, 0x27, 0x1c, + 0xa1, 0xec, 0x6f, 0x9c, 0x09, 0xf4, 0x3a, 0x5a, 0x49, 0x25, 0x7b, 0x86, 0x51, 0xd5, 0xfb, 0xb2, + 0x36, 0xdd, 0x49, 0xb6, 0x0a, 0x0a, 0x38, 0x75, 0x94, 0x00, 0xc4, 0x43, 0x67, 0x60, 0x0a, 0x4e, + 0x84, 0x2e, 0x24, 0x26, 0x0a, 0x09, 0xc3, 0xc7, 0x97, 0xc2, 0x36, 0x07, 0x7d, 0xd5, 0xc3, 0xaf, + 0x11, 0x17, 0x4d, 0x46, 0xd8, 0xd7, 0xc8, 0x27, 0xb9, 0x06, 0x85, 0xfb, 0x9f, 0xa3, 0x73, 0xf4, + 0xd0, 0xe9, 0x14, 0x3c, 0x9d, 0x3c, 0xdc, 0x4f, 0x72, 0x7a, 0x01, 0xc2, 0xb5, 0xd8, 0xbd, 0x51, + 0x7c, 0x92, 0xef, 0x17, 0xa3, 0x18, 0x26, 0x95, 0xa7, 0x22, 0x2e, 0x9f, 0xf1, 0x37, 0x9e, 0xfb, + 0x7d, 0xee, 0x73, 0xb2, 0xd6, 0x08, 0xcd, 0xcd, 0x8a, 0x7b, 0x17, 0x19, 0x7e, 0x57, 0xcc, 0xe6, + 0x14, 0x19, 0xb6, 0x46, 0x73, 0xb2, 0xa2, 0x37, 0x4a, 0x83, 0x8d, 0x33, 0xdb, 0x56, 0x6d, 0x97, + 0x96, 0x50, 0x34, 0x4f, 0x7f, 0xca, 0x89, 0xad, 0x2c, 0x07, 0x55, 0xbd, 0x24, 0xd0, 0x44, 0x4a, + 0xfc, 0x35, 0x96, 0x78, 0x20, 0xa3, 0x3d, 0xc5, 0x4a, 0x84, 0xa0, 0x4d, 0x08, 0xe9, 0x52, 0xf1, + 0x32, 0x47, 0x89, 0x9e, 0x90, 0x2d, 0x1c, 0xe3, 0x88, 0x1a, 0x5a, 0xbe, 0xbc, 0x51, 0xcb, 0x57, + 0x1e, 0x57, 0x1e, 0xdb, 0x21, 0x16, 0xaf, 0x29, 0x95, 0x7a, 0x02, 0xc9, 0x2f, 0x34, 0x0d, 0x0f, + 0xc0, 0xca, 0x14, 0x1e, 0x1b, 0xd3, 0x74, 0xca, 0xc9, 0xc6, 0x26, 0x57, 0x73, 0x95, 0xc7, 0x65, + 0x99, 0x0f, 0xe1, 0xe0, 0x95, 0x2d, 0x52, 0xe4, 0x4e, 0xe4, 0x03, 0xec, 0xe8, 0xdc, 0x4f, 0xc5, + 0x17, 0xa5, 0x46, 0xf6, 0x4a, 0x1a, 0x54, 0xa9, 0xc8, 0x03, 0x02, 0x4c, 0xa1, 0x0a, 0x10, 0xa0, + 0x69, 0x6e, 0x89, 0xd0, 0xa6, 0xc2, 0xfc, 0x12, 0xdc, 0x30, 0x22, 0xc0, 0x32, 0x3d, 0x05, 0x39, + 0xca, 0xa9, 0x96, 0x85, 0x6e, 0x23, 0x8c, 0x82, 0x10, 0x6e, 0x4e, 0x3e, 0xee, 0x14, 0x4f, 0x98, + 0xb4, 0xcb, 0x30, 0x7f, 0x1b, 0x1a, 0x91, 0x13, 0x59, 0xed, 0x35, 0x68, 0xe4, 0x0a, 0x9f, 0x5b, + 0xad, 0x39, 0xca, 0x27, 0x1e, 0x69, 0x08, 0x47, 0x0c, 0x06, 0x48, 0x6d, 0x76, 0xa4, 0x1b, 0xd8, + 0xf8, 0x31, 0x2a, 0x57, 0x1b, 0x4c, 0xc2, 0x84, 0x43, 0x06, 0x9e, 0xa1, 0x62, 0x95, 0xc4, 0x5d, + 0x00, 0xd1, 0x33, 0xc4, 0xa8, 0x55, 0x97, 0x5d, 0x7b, 0x38, 0xcb, 0x81, 0xa6, 0x84, 0xf2, 0xf1, + 0xb9, 0xd3, 0xda, 0x67, 0xdb, 0x7e, 0x9c, 0x7a, 0x7c, 0x53, 0xfc, 0x89, 0xb7, 0xaf, 0x9a, 0x16, + 0x34, 0xa6, 0x53, 0xa3, 0xd4, 0x82, 0xd6, 0x8c, 0x2e, 0xf1, 0x58, 0x75, 0x1a, 0xbd, 0xc5, 0xd6, + 0x63, 0x74, 0x3b, 0x48, 0x1e, 0x2b, 0xf8, 0xea, 0xff, 0x7c, 0x59, 0x77, 0xd2, 0x27, 0xe9, 0x16, + 0x5a, 0xe4, 0x7a, 0xef, 0xfd, 0x23, 0x5a, 0x85, 0x21, 0xb5, 0xc4, 0xef, 0x79, 0x37, 0x3d, 0xe1, + 0x5e, 0x8a, 0x3a, 0x77, 0x46, 0x86, 0x1e, 0x62, 0xd4, 0x47, 0x5a, 0xeb, 0xb9, 0x7b, 0xa6, 0x3b, + 0x25, 0xab, 0x11, 0x58, 0x48, 0x1f, 0x93, 0x35, 0xcc, 0x52, 0x3e, 0xa9, 0x06, 0xc0, 0x4e, 0x3d, + 0x64, 0x9a, 0x76, 0x2b, 0xc8, 0xdf, 0x66, 0x09, 0x21, 0x96, 0x62, 0x29, 0x72, 0x4b, 0xe4, 0x6e, + 0xa6, 0x99, 0xee, 0x5c, 0x9a, 0x6e, 0x87, 0xca, 0xef, 0x72, 0xfe, 0x6b, 0x58, 0x5c, 0x3a, 0x36, + 0xe4, 0x55, 0xa6, 0x48, 0x3b, 0xbd, 0x8d, 0xf4, 0xe2, 0xad, 0x8b, 0x41, 0x66, 0x5f, 0xa4, 0x43, + 0xd2, 0x74, 0xf6, 0x23, 0x69, 0xc0, 0x76, 0x0c, 0x27, 0x88, 0x62, 0x83, 0x92, 0x87, 0x47, 0x39, + 0xcd, 0x74, 0x0a, 0x88, 0xc0, 0x16, 0x7f, 0x95, 0x23, 0x7d, 0xe9, 0xc7, 0x09, 0x4d, 0x81, 0x0d, + 0x0c, 0x8b, 0xde, 0xab, 0xa2, 0xf2, 0x1b, 0x1d, 0x77, 0x3a, 0x30, 0xb6, 0x72, 0xe4, 0xa0, 0x34, + 0xd4, 0x24, 0xfe, 0xa6, 0xc6, 0x79, 0xf9, 0xfa, 0xc5, 0xcb, 0xf7, 0x8e, 0x5d, 0x04, 0xd3, 0x19, + 0x17, 0x0a, 0xd8, 0xee, 0x67, 0x3e, 0x29, 0xe7, 0x82, 0xd0, 0x3e, 0x26, 0xa9, 0xf7, 0x9f, 0x2f, + 0x9b, 0x9e, 0xad, 0x0a, 0x6a, 0xdb, 0x71, 0xe4, 0x54, 0xf5, 0xe0, 0xfa, 0xaf, 0x9d, 0xab, 0xb4, + 0x14, 0xf8, 0x70, 0xf0, 0x14, 0x30, 0x1a, 0x5b, 0x87, 0xa5, 0xde, 0x4a, 0xbf, 0xd8, 0xbf, 0x41, + 0xbf, 0xe1, 0x64, 0x01, 0x40, 0x92, 0x83, 0x1c, 0x1d, 0xb0, 0x76, 0x9c, 0xe8, 0xbb, 0xfc, 0xe0, + 0xfa, 0x57, 0x17, 0x1a, 0xf3, 0x26, 0xbc, 0x61, 0x73, 0xc4, 0x38, 0xee, 0xed, 0xe0, 0x0e, 0xec, + 0xf0, 0xd6, 0x8f, 0x7b, 0x04, 0xa4, 0xe8, 0xaa, 0x00, 0x74, 0xab, 0x1a, 0x8d, 0x31, 0x20, 0x1e, + 0x77, 0xfb, 0x03, 0xb8, 0x8a, 0x3f, 0xa6, 0xe7, 0xbe, 0x2f, 0x06, 0x0a, 0xca, 0x81, 0x41, 0xe0, + 0xdc, 0x44, 0x5e, 0x32, 0xb2, 0xc8, 0xc3, 0x02, 0x1f, 0xcc, 0xf3, 0xed, 0xa3, 0x3b, 0x88, 0xd8, + 0xef, 0xef, 0xc7, 0x52, 0xfd, 0x11, 0x20, 0x1b, 0xf6, 0x25, 0x17, 0x4d, 0x70, 0x5d, 0xaf, 0xad, + 0x8c, 0x85, 0xed, 0xc5, 0xee, 0x63, 0x87, 0xb9, 0x0f, 0x05, 0x89, 0xf5, 0xa2, 0xdb, 0xd7, 0x92, + 0x2b, 0x94, 0xbb, 0xeb, 0x5f, 0x7d, 0x21, 0x2a, 0xa5, 0xcd, 0x85, 0xfc, 0x24, 0x8c, 0x34, 0xc1, + 0x27, 0xbd, 0x52, 0x17, 0x03, 0xcc, 0xd9, 0xea, 0x91, 0x64, 0xe9, 0xb1, 0x16, 0xe1, 0x23, 0xd3, + 0x93, 0x61, 0x53, 0xa9, 0xfa, 0xa3, 0xdd, 0xc7, 0xc8, 0x27, 0x52, 0x0a, 0x47, 0x36, 0xd0, 0xfb, + 0xa3, 0x32, 0x5b, 0x91, 0x96, 0x45, 0x09, 0xef, 0x50, 0x34, 0xf1, 0xb0, 0x7f, 0xa0, 0x2c, 0xec, + 0xda, 0xbf, 0xfe, 0xb5, 0xe6, 0x3e, 0x8a, 0x27, 0xe0, 0xd8, 0xea, 0x84, 0x0c, 0x4a, 0x01, 0xcf, + 0x7d, 0x41, 0x33, 0xcf, 0xbd, 0x66, 0x41, 0x5c, 0x3a, 0x5b, 0xc1, 0x45, 0x84, 0x27, 0x41, 0xc3, + 0x32, 0xfa, 0x06, 0xe5, 0xe3, 0x41, 0x3a, 0x38, 0xda, 0xdd, 0x95, 0xb9, 0x49, 0x7f, 0x23, 0xb5, + 0x44, 0x08, 0x4e, 0x00, 0xc3, 0x25, 0xa9, 0x11, 0x52, 0x43, 0xe2, 0x43, 0xfc, 0x72, 0xd2, 0x1f, + 0x1c, 0xf7, 0x26, 0x83, 0xc3, 0xde, 0x70, 0xf0, 0x04, 0xce, 0x9f, 0x1d, 0x6c, 0x09, 0x86, 0x52, + 0x59, 0xd4, 0x76, 0xfa, 0x7e, 0x7f, 0x5f, 0xd6, 0x40, 0xa1, 0xfc, 0x07, 0x2e, 0x37, 0x54, 0x01, + 0xc0, 0xcc, 0x73, 0x70, 0x83, 0x2a, 0x25, 0xc8, 0x53, 0x8f, 0xbf, 0x70, 0x3f, 0x85, 0xb6, 0xeb, + 0xbe, 0x51, 0x78, 0x7b, 0x74, 0xd7, 0x28, 0xfa, 0xe0, 0x73, 0xca, 0xe1, 0x0e, 0x51, 0x7d, 0xb5, + 0x90, 0xd4, 0xf3, 0x03, 0x18, 0x08, 0x48, 0x37, 0xb1, 0x7b, 0x28, 0xd2, 0x5b, 0x17, 0x89, 0xfd, + 0x15, 0x93, 0xa8, 0xe8, 0x92, 0x63, 0x78, 0xf0, 0xc2, 0xef, 0xef, 0xf5, 0x45, 0x3a, 0xb1, 0x51, + 0x45, 0x00, 0x65, 0x1f, 0xe1, 0x87, 0x0e, 0x79, 0xc3, 0x60, 0xd7, 0x7a, 0xc5, 0x18, 0xbe, 0xd3, + 0xe9, 0x76, 0xbb, 0xdc, 0xf2, 0x6e, 0xa7, 0x30, 0x05, 0x4b, 0x16, 0x53, 0x42, 0x32, 0x38, 0xc1, + 0x2e, 0xc3, 0x05, 0x70, 0xc5, 0xfc, 0xb5, 0xe1, 0x4f, 0xd3, 0xff, 0x22, 0xeb, 0x69, 0xfe, 0x2d, + 0x77, 0x5d, 0x1d, 0xcd, 0x2e, 0x04, 0xba, 0x76, 0x45, 0x0c, 0xe2, 0xc8, 0x4c, 0x68, 0x57, 0xbe, + 0xbf, 0x37, 0xa5, 0x89, 0xcc, 0xbb, 0x83, 0x50, 0xb2, 0x6a, 0xf3, 0xb4, 0xd6, 0x40, 0x98, 0x47, + 0xb9, 0xdc, 0x61, 0x63, 0x7a, 0x82, 0xb3, 0x51, 0x52, 0x91, 0x5a, 0x37, 0x74, 0x02, 0x25, 0x0f, + 0xba, 0xb0, 0xba, 0x9a, 0x5c, 0xc1, 0x7e, 0x16, 0xd1, 0xf5, 0xcb, 0x0a, 0x1c, 0xdd, 0xaf, 0xf1, + 0x1e, 0x80, 0xeb, 0x99, 0xc5, 0x68, 0x80, 0xb0, 0x4a, 0xd6, 0x39, 0x23, 0x47, 0x5e, 0x5c, 0xb6, + 0x2c, 0xef, 0x67, 0xf3, 0xee, 0x2c, 0x03, 0xd6, 0x4a, 0x5e, 0x4d, 0x61, 0xd5, 0x03, 0x67, 0x47, + 0xc0, 0x47, 0x25, 0x71, 0x94, 0x8e, 0x7c, 0x0b, 0x5d, 0x8f, 0xb5, 0xc5, 0x95, 0x30, 0x9c, 0xb0, + 0x77, 0x28, 0xba, 0xcf, 0x3d, 0x84, 0x80, 0x18, 0x46, 0x1e, 0xcd, 0xee, 0x30, 0xde, 0xf0, 0x3c, + 0x2f, 0xd0, 0xd4, 0x04, 0xae, 0x89, 0x2f, 0x89, 0x1e, 0x3e, 0x10, 0xe0, 0xc0, 0x68, 0xde, 0x45, + 0xa7, 0x81, 0x42, 0xf2, 0x43, 0xef, 0x3c, 0x50, 0xd8, 0x4e, 0xed, 0xbc, 0xd3, 0x2f, 0xe3, 0xf8, + 0x50, 0x99, 0x7e, 0xd2, 0x0e, 0x33, 0x4c, 0x36, 0x3e, 0x6c, 0x24, 0xfb, 0x7e, 0xd0, 0x71, 0x5a, + 0x44, 0x3b, 0x9a, 0x57, 0xea, 0xc9, 0xd1, 0xb0, 0x0f, 0x0b, 0x21, 0xea, 0xf8, 0x4e, 0xbc, 0x9f, + 0xb8, 0x07, 0x03, 0x4f, 0x0a, 0xf1, 0x50, 0x73, 0x91, 0x13, 0x4d, 0xaa, 0x20, 0x6c, 0xba, 0x1f, + 0xc9, 0xb0, 0x0a, 0x5f, 0x74, 0x15, 0xe6, 0x70, 0xd5, 0xe5, 0x0e, 0x9c, 0xdb, 0xc7, 0x7b, 0x5d, + 0x88, 0xe1, 0x6e, 0x9a, 0xbe, 0xae, 0x1a, 0xaf, 0xea, 0x55, 0xb3, 0xc6, 0xd5, 0xa9, 0xda, 0x3c, + 0x31, 0x4a, 0x3c, 0x82, 0x8f, 0x12, 0xbd, 0x54, 0x31, 0x45, 0xce, 0x9a, 0x1b, 0xc1, 0xbb, 0xf2, + 0xb2, 0xc2, 0xa1, 0xa7, 0x85, 0x14, 0x5a, 0xca, 0x5b, 0x95, 0x28, 0xa2, 0x42, 0x07, 0xf3, 0x30, + 0x88, 0x92, 0x25, 0xbf, 0x3a, 0xe4, 0x6e, 0x6e, 0x34, 0x31, 0x32, 0x66, 0x89, 0x84, 0x74, 0xc4, + 0x6d, 0xe2, 0x02, 0x22, 0xc6, 0x17, 0x4e, 0x52, 0xb2, 0xe4, 0xa6, 0x04, 0x23, 0xd7, 0x4c, 0x5f, + 0x4b, 0xe0, 0x2a, 0x99, 0x64, 0x5b, 0x63, 0xa4, 0xbf, 0xe3, 0x92, 0x23, 0x0b, 0xcc, 0x0b, 0x73, + 0xac, 0xdf, 0x8b, 0x23, 0xd8, 0x0b, 0x23, 0x52, 0x88, 0x4e, 0x22, 0xf9, 0x56, 0x68, 0x48, 0xf6, + 0xe4, 0x70, 0xea, 0xa1, 0xf1, 0x6a, 0xd4, 0x45, 0x79, 0x3d, 0xec, 0x34, 0x01, 0x9a, 0xfc, 0xaa, + 0x88, 0xbe, 0x90, 0x68, 0x44, 0xbc, 0x6d, 0xe6, 0x93, 0x23, 0x79, 0x05, 0xef, 0xa3, 0x6f, 0x71, + 0xed, 0x9c, 0x46, 0x3f, 0x4b, 0x31, 0x3d, 0x6e, 0xeb, 0x20, 0x48, 0x09, 0x1c, 0xa7, 0x55, 0x52, + 0x21, 0x7d, 0x9f, 0x17, 0x97, 0xa2, 0x09, 0xbf, 0x80, 0x5f, 0x75, 0x92, 0x21, 0x54, 0x13, 0xf2, + 0x31, 0x1e, 0x6d, 0x8d, 0x15, 0xe3, 0x27, 0x44, 0xa4, 0x71, 0x35, 0x20, 0x12, 0x36, 0x46, 0x64, + 0xed, 0x90, 0xdb, 0xcd, 0xaf, 0x05, 0xcb, 0xfd, 0x15, 0x19, 0x39, 0x75, 0x1c, 0x19, 0x07, 0x22, + 0x1e, 0x22, 0x95, 0xed, 0x99, 0xef, 0xc4, 0xad, 0xcc, 0x04, 0xf4, 0xbe, 0x2f, 0x8e, 0x99, 0x86, + 0xda, 0xf9, 0x7d, 0x42, 0xab, 0xb8, 0x92, 0x52, 0xb4, 0x5f, 0xbd, 0x8f, 0xdb, 0x16, 0x5f, 0xfa, + 0xe9, 0xae, 0x24, 0x42, 0x84, 0x8e, 0xac, 0x78, 0x41, 0xd6, 0xf6, 0x8e, 0x09, 0x82, 0xe1, 0x69, + 0xde, 0x8f, 0x1f, 0xce, 0x96, 0xfe, 0x11, 0x55, 0xb3, 0x30, 0xf1, 0x22, 0xcd, 0xb3, 0x5f, 0x12, + 0xb3, 0xaf, 0x3c, 0x27, 0x53, 0x14, 0x34, 0x59, 0x45, 0x30, 0xf2, 0x29, 0x6f, 0x7b, 0x9f, 0x0d, + 0x39, 0x8e, 0x67, 0x08, 0xc3, 0xce, 0x8d, 0xd2, 0x9b, 0x3d, 0x0d, 0x6f, 0x69, 0x64, 0xeb, 0x52, + 0xc9, 0x1a, 0x7b, 0xba, 0x82, 0x19, 0x95, 0xfe, 0xa2, 0xdb, 0xab, 0x12, 0xae, 0xd3, 0x1e, 0x93, + 0x08, 0x5d, 0x36, 0x3e, 0x26, 0x59, 0xf6, 0x88, 0x44, 0x9c, 0x1b, 0xd9, 0x92, 0x4a, 0xe3, 0x42, + 0x2a, 0xf1, 0x6a, 0x18, 0x2a, 0x52, 0xdf, 0x66, 0x02, 0x45, 0x7e, 0xc4, 0xee, 0x11, 0xe3, 0x41, + 0x05, 0xbf, 0xa6, 0x79, 0xca, 0xb7, 0x56, 0x7e, 0x26, 0x55, 0xe3, 0xdb, 0x12, 0x09, 0x5b, 0xf3, + 0xad, 0x69, 0x4a, 0x11, 0xe4, 0x96, 0x9e, 0x16, 0x71, 0x5b, 0x02, 0x77, 0xc3, 0x19, 0xed, 0x6d, + 0xab, 0x0f, 0x18, 0x61, 0xc1, 0x83, 0xd7, 0x37, 0x10, 0xce, 0x79, 0xda, 0xe4, 0xb9, 0xd0, 0x13, + 0x6b, 0xbb, 0xe5, 0xdc, 0x42, 0xaf, 0x4a, 0x36, 0xdd, 0x83, 0x3d, 0x94, 0x3d, 0x34, 0x26, 0x2c, + 0xf0, 0xa2, 0xcb, 0x1d, 0xc5, 0x3d, 0x90, 0xb2, 0x3c, 0x0a, 0xf1, 0xcc, 0x7a, 0x20, 0xdd, 0x3a, + 0x7d, 0x28, 0x19, 0x55, 0x0c, 0x1b, 0x41, 0x99, 0xee, 0xff, 0x38, 0x39, 0x80, 0xfd, 0x38, 0x4c, + 0x8b, 0xb1, 0x75, 0x72, 0x80, 0xc7, 0x23, 0x7e, 0x5e, 0x16, 0xab, 0x68, 0x6c, 0xfd, 0x7f, 0x71, + 0x0d, 0x27, 0xc0, 0x4c, 0x1f, 0x02, 0x00 }; diff --git a/wled00/wled.h b/wled00/wled.h index 85184faab..4d969fd2d 100644 --- a/wled00/wled.h +++ b/wled00/wled.h @@ -8,7 +8,7 @@ */ // version code in format yymmddb (b = daily build) -#define VERSION 2312190 +#define VERSION 2312270 //uncomment this if you have a "my_config.h" file you'd like to use //#define WLED_USE_MY_CONFIG From 6cd0da821ab743fa1ac0d90b4c8243da476b954b Mon Sep 17 00:00:00 2001 From: Blaz Kristan Date: Thu, 28 Dec 2023 23:32:47 +0100 Subject: [PATCH 09/36] Reduce heap fragmentation when switching ledmaps --- wled00/FX.h | 10 +++++----- wled00/FX_2Dfcn.cpp | 21 +++++++++----------- wled00/FX_fcn.cpp | 48 ++++++++++++++++----------------------------- wled00/overlay.cpp | 8 ++++---- wled00/wled.cpp | 2 +- 5 files changed, 36 insertions(+), 53 deletions(-) diff --git a/wled00/FX.h b/wled00/FX.h index c60805968..3e1c7b238 100644 --- a/wled00/FX.h +++ b/wled00/FX.h @@ -760,7 +760,7 @@ class WS2812FX { // 96 bytes resetSegments(), makeAutoSegments(bool forceReset = false), fixInvalidSegments(), - setPixelColor(int n, uint32_t c), + setPixelColor(unsigned n, uint32_t c), show(void), setTargetFps(uint8_t fps), addEffect(uint8_t id, mode_ptr mode_fn, const char *mode_name), // add effect to the list; defined in FX.cpp @@ -769,10 +769,10 @@ class WS2812FX { // 96 bytes inline void restartRuntime() { for (Segment &seg : _segments) seg.markForReset(); } inline void setTransitionMode(bool t) { for (Segment &seg : _segments) seg.startTransition(t ? _transitionDur : 0); } inline void setColor(uint8_t slot, uint8_t r, uint8_t g, uint8_t b, uint8_t w = 0) { setColor(slot, RGBW32(r,g,b,w)); } - inline void fill(uint32_t c) { for (int i = 0; i < getLengthTotal(); i++) setPixelColor(i, c); } // fill whole strip with color (inline) + inline void fill(uint32_t c) { for (unsigned i = 0; i < getLengthTotal(); i++) setPixelColor(i, c); } // fill whole strip with color (inline) // outsmart the compiler :) by correctly overloading - inline void setPixelColor(int n, uint8_t r, uint8_t g, uint8_t b, uint8_t w = 0) { setPixelColor(n, RGBW32(r,g,b,w)); } - inline void setPixelColor(int n, CRGB c) { setPixelColor(n, c.red, c.green, c.blue); } + inline void setPixelColor(unsigned n, uint8_t r, uint8_t g, uint8_t b, uint8_t w = 0) { setPixelColor(n, RGBW32(r,g,b,w)); } + inline void setPixelColor(unsigned n, CRGB c) { setPixelColor(n, c.red, c.green, c.blue); } inline void trigger(void) { _triggered = true; } // Forces the next frame to be computed on all active segments. inline void setShowCallback(show_callback cb) { _callback = cb; } inline void setTransition(uint16_t t) { _transitionDur = t; } @@ -878,7 +878,7 @@ class WS2812FX { // 96 bytes void setUpMatrix(); // outsmart the compiler :) by correctly overloading - inline void setPixelColorXY(int x, int y, uint32_t c) { setPixelColor(y * Segment::maxWidth + x, c); } + inline void setPixelColorXY(int x, int y, uint32_t c) { setPixelColor((unsigned)(y * Segment::maxWidth + x), c); } inline void setPixelColorXY(int x, int y, byte r, byte g, byte b, byte w = 0) { setPixelColorXY(x, y, RGBW32(r,g,b,w)); } inline void setPixelColorXY(int x, int y, CRGB c) { setPixelColorXY(x, y, RGBW32(c.r,c.g,c.b,0)); } diff --git a/wled00/FX_2Dfcn.cpp b/wled00/FX_2Dfcn.cpp index d2622f901..7a1453925 100644 --- a/wled00/FX_2Dfcn.cpp +++ b/wled00/FX_2Dfcn.cpp @@ -36,14 +36,9 @@ // so matrix should disable regular ledmap processing void WS2812FX::setUpMatrix() { #ifndef WLED_DISABLE_2D - // erase old ledmap, just in case. - if (customMappingTable != nullptr) delete[] customMappingTable; - customMappingTable = nullptr; - customMappingSize = 0; - // isMatrix is set in cfg.cpp or set.cpp if (isMatrix) { - // calculate width dynamically because it will have gaps + // calculate width dynamically because it may have gaps Segment::maxWidth = 1; Segment::maxHeight = 1; for (size_t i = 0; i < panel.size(); i++) { @@ -68,15 +63,17 @@ void WS2812FX::setUpMatrix() { return; } - customMappingTable = new uint16_t[Segment::maxWidth * Segment::maxHeight]; + customMappingSize = 0; // prevent use of mapping if anything goes wrong + + if (customMappingTable == nullptr) customMappingTable = new uint16_t[getLengthTotal()]; if (customMappingTable != nullptr) { - customMappingSize = Segment::maxWidth * Segment::maxHeight; + customMappingSize = getLengthTotal(); // fill with empty in case we don't fill the entire matrix - for (size_t i = 0; i< customMappingSize; i++) { - customMappingTable[i] = (uint16_t)-1; - } + unsigned matrixSize = Segment::maxWidth * Segment::maxHeight; + for (unsigned i = 0; i(); gapSize = map.size(); - if (!map.isNull() && gapSize >= customMappingSize) { // not an empty map + if (!map.isNull() && gapSize >= matrixSize) { // not an empty map gapTable = new int8_t[gapSize]; if (gapTable) for (size_t i = 0; i < gapSize; i++) { gapTable[i] = constrain(map[i], -1, 1); diff --git a/wled00/FX_fcn.cpp b/wled00/FX_fcn.cpp index 501859f92..796392fac 100644 --- a/wled00/FX_fcn.cpp +++ b/wled00/FX_fcn.cpp @@ -753,10 +753,10 @@ void IRAM_ATTR Segment::setPixelColor(int i, uint32_t col) uint32_t tmpCol = col; // set all the pixels in the group for (int j = 0; j < grouping; j++) { - uint16_t indexSet = i + ((reverse) ? -j : j); + unsigned indexSet = i + ((reverse) ? -j : j); if (indexSet >= start && indexSet < stop) { if (mirror) { //set the corresponding mirrored pixel - uint16_t indexMir = stop - indexSet + start - 1; + unsigned indexMir = stop - indexSet + start - 1; indexMir += offset; // offset/phase if (indexMir >= stop) indexMir -= len; // wrap #ifndef WLED_DISABLE_MODE_BLEND @@ -1123,17 +1123,14 @@ void WS2812FX::finalizeInit(void) { #endif } - if (isMatrix) setUpMatrix(); - else { - Segment::maxWidth = _length; - Segment::maxHeight = 1; - } + Segment::maxWidth = _length; + Segment::maxHeight = 1; //segments are created in makeAutoSegments(); DEBUG_PRINTLN(F("Loading custom palettes")); loadCustomPalettes(); // (re)load all custom palettes DEBUG_PRINTLN(F("Loading custom ledmaps")); - deserializeMap(); // (re)load default ledmap + deserializeMap(); // (re)load default ledmap (will also setUpMatrix() if ledmap does not exist) } void WS2812FX::service() { @@ -1212,7 +1209,7 @@ void WS2812FX::service() { #endif } -void IRAM_ATTR WS2812FX::setPixelColor(int i, uint32_t col) { +void IRAM_ATTR WS2812FX::setPixelColor(unsigned i, uint32_t col) { if (i < customMappingSize) i = customMappingTable[i]; if (i >= _length) return; busses.setPixelColor(i, col); @@ -1660,40 +1657,29 @@ bool WS2812FX::deserializeMap(uint8_t n) { strcat_P(fileName, PSTR(".json")); bool isFile = WLED_FS.exists(fileName); - if (!isFile) { - // erase custom mapping if selecting nonexistent ledmap.json (n==0) - if (!isMatrix && !n && customMappingTable != nullptr) { - customMappingSize = 0; - delete[] customMappingTable; - customMappingTable = nullptr; - } + customMappingSize = 0; // prevent use of mapping if anything goes wrong + + if (!isFile && n==0 && isMatrix) { + setUpMatrix(); return false; } - if (!requestJSONBufferLock(7)) return false; + if (!isFile || !requestJSONBufferLock(7)) return false; // this will trigger setUpMatrix() when called from wled.cpp if (!readObjectFromFile(fileName, nullptr, &doc)) { + DEBUG_PRINT(F("ERROR Invalid ledmap in ")); DEBUG_PRINTLN(fileName); releaseJSONBufferLock(); - return false; //if file does not exist just exit + return false; // if file does not load properly then exit } - DEBUG_PRINT(F("Reading LED map from ")); - DEBUG_PRINTLN(fileName); + DEBUG_PRINT(F("Reading LED map from ")); DEBUG_PRINTLN(fileName); - // erase old custom ledmap - if (customMappingTable != nullptr) { - customMappingSize = 0; - delete[] customMappingTable; - customMappingTable = nullptr; - } + if (customMappingTable == nullptr) customMappingTable = new uint16_t[getLengthTotal()]; JsonArray map = doc[F("map")]; if (!map.isNull() && map.size()) { // not an empty map - customMappingSize = map.size(); - customMappingTable = new uint16_t[customMappingSize]; - for (unsigned i=0; i overlayMax) hourPixel = overlayMin -1 + hourPixel - overlayMax; - int minutePixel = floorf(analogClock12pixel + overlaySize*minuteP); + unsigned minutePixel = floorf(analogClock12pixel + overlaySize*minuteP); if (minutePixel > overlayMax) minutePixel = overlayMin -1 + minutePixel - overlayMax; - int secondPixel = floorf(analogClock12pixel + overlaySize*secondP); + unsigned secondPixel = floorf(analogClock12pixel + overlaySize*secondP); if (secondPixel > overlayMax) secondPixel = overlayMin -1 + secondPixel - overlayMax; if (analogClockSecondsTrail) { @@ -36,7 +36,7 @@ void _overlayAnalogClock() { for (byte i = 0; i <= 12; i++) { - int pix = analogClock12pixel + roundf((overlaySize / 12.0f) *i); + unsigned pix = analogClock12pixel + roundf((overlaySize / 12.0f) *i); if (pix > overlayMax) pix -= overlaySize; strip.setPixelColor(pix, 0x00FFAA); } diff --git a/wled00/wled.cpp b/wled00/wled.cpp index ec623630f..7c2a93366 100644 --- a/wled00/wled.cpp +++ b/wled00/wled.cpp @@ -178,7 +178,7 @@ void WLED::loop() doSerializeConfig = true; } if (loadLedmap >= 0) { - if (!strip.deserializeMap(loadLedmap) && strip.isMatrix && loadLedmap == 0) strip.setUpMatrix(); + strip.deserializeMap(loadLedmap); loadLedmap = -1; } yield(); From 1c1b67e000170b43fe462a124d9d6e684cc9b3af Mon Sep 17 00:00:00 2001 From: Blaz Kristan Date: Fri, 29 Dec 2023 23:07:29 +0100 Subject: [PATCH 10/36] Full per-port ABL implementation and bugfix. Update of BusManager class (static) --- usermods/quinled-an-penta/quinled-an-penta.h | 8 +- wled00/FX.h | 6 - wled00/FX_fcn.cpp | 46 +- wled00/bus_manager.cpp | 37 +- wled00/bus_manager.h | 48 +- wled00/button.cpp | 4 +- wled00/cfg.cpp | 26 +- wled00/data/settings_leds.htm | 64 +- wled00/html_settings.h | 1098 +++++++++--------- wled00/json.cpp | 4 +- wled00/set.cpp | 6 +- wled00/wled.cpp | 8 +- wled00/wled.h | 2 +- wled00/wled_eeprom.cpp | 2 +- wled00/xml.cpp | 21 +- 15 files changed, 702 insertions(+), 678 deletions(-) diff --git a/usermods/quinled-an-penta/quinled-an-penta.h b/usermods/quinled-an-penta/quinled-an-penta.h index 5153ee58a..10b784334 100644 --- a/usermods/quinled-an-penta/quinled-an-penta.h +++ b/usermods/quinled-an-penta/quinled-an-penta.h @@ -84,11 +84,11 @@ class QuinLEDAnPentaUsermod : public Usermod void getCurrentUsedLedPins() { for (int8_t lp = 0; lp <= 4; lp++) currentLedPins[lp] = 0; - byte numBusses = busses.getNumBusses(); + byte numBusses = BusManager::getNumBusses(); byte numUsedPins = 0; for (int8_t b = 0; b < numBusses; b++) { - Bus* curBus = busses.getBus(b); + Bus* curBus = BusManager::getBus(b); if (curBus != nullptr) { uint8_t pins[5] = {0, 0, 0, 0, 0}; currentBussesNumPins[b] = curBus->getPins(pins); @@ -104,11 +104,11 @@ class QuinLEDAnPentaUsermod : public Usermod void getCurrentLedcValues() { - byte numBusses = busses.getNumBusses(); + byte numBusses = BusManager::getNumBusses(); byte numLedc = 0; for (int8_t b = 0; b < numBusses; b++) { - Bus* curBus = busses.getBus(b); + Bus* curBus = BusManager::getBus(b); if (curBus != nullptr) { uint32_t curPixColor = curBus->getPixelColor(0); uint8_t _data[5] = {255, 255, 255, 255, 255}; diff --git a/wled00/FX.h b/wled00/FX.h index 3e1c7b238..b6eb58723 100644 --- a/wled00/FX.h +++ b/wled00/FX.h @@ -682,10 +682,7 @@ class WS2812FX { // 96 bytes WS2812FX() : paletteFade(0), paletteBlend(0), - milliampsPerLed(55), cctBlending(0), - ablMilliampsMax(ABL_MILLIAMPS_DEFAULT), - currentMilliamps(0), now(millis()), timebase(0), isMatrix(false), @@ -793,7 +790,6 @@ class WS2812FX { // 96 bytes uint8_t paletteBlend, - milliampsPerLed, cctBlending, getActiveSegmentsNum(void), getFirstSelectedSegId(void), @@ -811,8 +807,6 @@ class WS2812FX { // 96 bytes inline uint8_t getModeCount() { return _modeCount; } uint16_t - ablMilliampsMax, - currentMilliamps, getLengthPhysical(void), getLengthTotal(void), // will include virtual/nonexistent pixels in matrix getFps(); diff --git a/wled00/FX_fcn.cpp b/wled00/FX_fcn.cpp index 796392fac..e9ab61054 100644 --- a/wled00/FX_fcn.cpp +++ b/wled00/FX_fcn.cpp @@ -900,8 +900,8 @@ void Segment::refreshLightCapabilities() { segStopIdx = stop; } - for (unsigned b = 0; b < busses.getNumBusses(); b++) { - Bus *bus = busses.getBus(b); + for (unsigned b = 0; b < BusManager::getNumBusses(); b++) { + Bus *bus = BusManager::getBus(b); if (bus == nullptr || bus->getLength()==0) break; if (!bus->isOk()) continue; if (bus->getStart() >= segStopIdx) continue; @@ -1086,7 +1086,7 @@ void WS2812FX::finalizeInit(void) { _hasWhiteChannel = _isOffRefreshRequired = false; //if busses failed to load, add default (fresh install, FS issue, ...) - if (busses.getNumBusses() == 0) { + if (BusManager::getNumBusses() == 0) { DEBUG_PRINTLN(F("No busses, init default")); const uint8_t defDataPins[] = {DATA_PINS}; const uint16_t defCounts[] = {PIXEL_COUNTS}; @@ -1099,13 +1099,13 @@ void WS2812FX::finalizeInit(void) { uint16_t count = defCounts[(i < defNumCounts) ? i : defNumCounts -1]; prevLen += count; BusConfig defCfg = BusConfig(DEFAULT_LED_TYPE, defPin, start, count, DEFAULT_LED_COLOR_ORDER, false, 0, RGBW_MODE_MANUAL_ONLY); - if (busses.add(defCfg) == -1) break; + if (BusManager::add(defCfg) == -1) break; } } _length = 0; - for (int i=0; igetStart() + bus->getLength() > MAX_LEDS) break; //RGBW mode is enabled if at least one of the strips is RGBW @@ -1162,7 +1162,7 @@ void WS2812FX::service() { _colors_t[1] = gamma32(seg.currentColor(1)); _colors_t[2] = gamma32(seg.currentColor(2)); seg.currentPalette(_currentPalette, seg.palette); // we need to pass reference - if (!cctFromRgb || correctWB) busses.setSegmentCCT(seg.currentBri(true), correctWB); + if (!cctFromRgb || correctWB) BusManager::setSegmentCCT(seg.currentBri(true), correctWB); // Effect blending // When two effects are being blended, each may have different segment data, this // data needs to be saved first and then restored before running previous mode. @@ -1193,7 +1193,7 @@ void WS2812FX::service() { _segment_index++; } _virtualSegmentLength = 0; - busses.setSegmentCCT(-1); + BusManager::setSegmentCCT(-1); _isServicing = false; _triggered = false; @@ -1212,13 +1212,13 @@ void WS2812FX::service() { void IRAM_ATTR WS2812FX::setPixelColor(unsigned i, uint32_t col) { if (i < customMappingSize) i = customMappingTable[i]; if (i >= _length) return; - busses.setPixelColor(i, col); + BusManager::setPixelColor(i, col); } uint32_t IRAM_ATTR WS2812FX::getPixelColor(uint16_t i) { if (i < customMappingSize) i = customMappingTable[i]; if (i >= _length) return 0; - return busses.getPixelColor(i); + return BusManager::getPixelColor(i); } void WS2812FX::show(void) { @@ -1229,7 +1229,7 @@ void WS2812FX::show(void) { // some buses send asynchronously and this method will return before // all of the data has been sent. // See https://github.com/Makuna/NeoPixelBus/wiki/ESP32-NeoMethods#neoesp32rmt-methods - busses.show(); + BusManager::show(); unsigned long showNow = millis(); size_t diff = showNow - _lastShow; @@ -1244,7 +1244,7 @@ void WS2812FX::show(void) { * On some hardware (ESP32), strip updates are done asynchronously. */ bool WS2812FX::isUpdating() { - return !busses.canAllShow(); + return !BusManager::canAllShow(); } /** @@ -1303,7 +1303,7 @@ void WS2812FX::setBrightness(uint8_t b, bool direct) { } // setting brightness with NeoPixelBusLg has no effect on already painted pixels, // so we need to force an update to existing buffer - busses.setBrightness(b); + BusManager::setBrightness(b); if (!direct) { unsigned long t = millis(); if (_segments[0].next_time > t + 22 && t - _lastShow > MIN_SHOW_DELAY) trigger(); //apply brightness change immediately if no refresh soon @@ -1359,8 +1359,8 @@ uint16_t WS2812FX::getLengthTotal(void) { uint16_t WS2812FX::getLengthPhysical(void) { uint16_t len = 0; - for (size_t b = 0; b < busses.getNumBusses(); b++) { - Bus *bus = busses.getBus(b); + for (size_t b = 0; b < BusManager::getNumBusses(); b++) { + Bus *bus = BusManager::getBus(b); if (bus->getType() >= TYPE_NET_DDP_RGB) continue; //exclude non-physical network busses len += bus->getLength(); } @@ -1371,8 +1371,8 @@ uint16_t WS2812FX::getLengthPhysical(void) { //returns if there is an RGBW bus (supports RGB and White, not only white) //not influenced by auto-white mode, also true if white slider does not affect output white channel bool WS2812FX::hasRGBWBus(void) { - for (size_t b = 0; b < busses.getNumBusses(); b++) { - Bus *bus = busses.getBus(b); + for (size_t b = 0; b < BusManager::getNumBusses(); b++) { + Bus *bus = BusManager::getBus(b); if (bus == nullptr || bus->getLength()==0) break; if (bus->hasRGB() && bus->hasWhite()) return true; } @@ -1381,8 +1381,8 @@ bool WS2812FX::hasRGBWBus(void) { bool WS2812FX::hasCCTBus(void) { if (cctFromRgb && !correctWB) return false; - for (size_t b = 0; b < busses.getNumBusses(); b++) { - Bus *bus = busses.getBus(b); + for (size_t b = 0; b < BusManager::getNumBusses(); b++) { + Bus *bus = BusManager::getBus(b); if (bus == nullptr || bus->getLength()==0) break; switch (bus->getType()) { case TYPE_ANALOG_5CH: @@ -1468,8 +1468,8 @@ void WS2812FX::makeAutoSegments(bool forceReset) { } #endif - for (size_t i = s; i < busses.getNumBusses(); i++) { - Bus* b = busses.getBus(i); + for (size_t i = s; i < BusManager::getNumBusses(); i++) { + Bus* b = BusManager::getBus(i); segStarts[s] = b->getStart(); segStops[s] = segStarts[s] + b->getLength(); @@ -1558,8 +1558,8 @@ void WS2812FX::fixInvalidSegments() { bool WS2812FX::checkSegmentAlignment() { bool aligned = false; for (segment &seg : _segments) { - for (unsigned b = 0; bgetStart() && seg.stop == bus->getStart() + bus->getLength()) aligned = true; } if (seg.start == 0 && seg.stop == _length) aligned = true; diff --git a/wled00/bus_manager.cpp b/wled00/bus_manager.cpp index 013e906f4..0dcacc042 100644 --- a/wled00/bus_manager.cpp +++ b/wled00/bus_manager.cpp @@ -125,7 +125,7 @@ BusDigital::BusDigital(BusConfig &bc, uint8_t nr, const ColorOrderMap &com) if (bc.type == TYPE_WS2812_1CH_X3) lenToCreate = NUM_ICS_WS2812_1CH_3X(bc.count); // only needs a third of "RGB" LEDs for NeoPixelBus _busPtr = PolyBus::create(_iType, _pins, lenToCreate + _skip, nr, _frequencykHz); _valid = (_busPtr != nullptr); - DEBUG_PRINTF("%successfully inited strip %u (len %u) with type %u and pins %u,%u (itype %u)\n", _valid?"S":"Uns", nr, bc.count, bc.type, _pins[0], _pins[1], _iType); + DEBUG_PRINTF("%successfully inited strip %u (len %u) with type %u and pins %u,%u (itype %u). mA=%d/%d\n", _valid?"S":"Uns", nr, bc.count, bc.type, _pins[0], _pins[1], _iType, _milliAmpsPerLed, _milliAmpsMax); } //fine tune power estimation constants for your setup @@ -150,7 +150,7 @@ uint8_t BusDigital::estimateCurrentAndLimitBri() { bool useWackyWS2815PowerModel = false; byte actualMilliampsPerLed = _milliAmpsPerLed; - if (_milliAmpsMax < MA_FOR_ESP || actualMilliampsPerLed == 0) { //0 mA per LED and too low numbers turn off calculation + if (_milliAmpsMax < MA_FOR_ESP/BusManager::getNumBusses() || actualMilliampsPerLed == 0) { //0 mA per LED and too low numbers turn off calculation return _bri; } @@ -159,7 +159,12 @@ uint8_t BusDigital::estimateCurrentAndLimitBri() { actualMilliampsPerLed = 12; // from testing an actual strip } - size_t powerBudget = (_milliAmpsMax - MA_FOR_ESP); //100mA for ESP power + size_t powerBudget = (_milliAmpsMax - MA_FOR_ESP/BusManager::getNumBusses()); //80/120mA for ESP power + if (powerBudget > getLength()) { //each LED uses about 1mA in standby, exclude that from power budget + powerBudget -= getLength(); + } else { + powerBudget = 0; + } uint32_t busPowerSum = 0; for (unsigned i = 0; i < getLength(); i++) { //sum up the usage of each LED @@ -178,29 +183,26 @@ uint8_t BusDigital::estimateCurrentAndLimitBri() { busPowerSum >>= 2; //same as /= 4 } - if (powerBudget > getLength()) { //each LED uses about 1mA in standby, exclude that from power budget - powerBudget -= getLength(); - } else { - powerBudget = 0; - } - // powerSum has all the values of channels summed (max would be getLength()*765 as white is excluded) so convert to milliAmps busPowerSum = (busPowerSum * actualMilliampsPerLed) / 765; + _milliAmpsTotal = busPowerSum * _bri / 255; uint8_t newBri = _bri; if (busPowerSum * _bri / 255 > powerBudget) { //scale brightness down to stay in current limit float scale = (float)(powerBudget * 255) / (float)(busPowerSum * _bri); - uint16_t scaleI = scale * 255; - uint8_t scaleB = (scaleI > 255) ? 255 : scaleI; + if (scale >= 1.0f) return _bri; + _milliAmpsTotal = ceilf((float)_milliAmpsTotal * scale); + uint8_t scaleB = min((int)(scale * 255), 255); newBri = unsigned(_bri * scaleB) / 256 + 1; } return newBri; } void BusDigital::show() { + _milliAmpsTotal = 0; if (!_valid) return; - uint8_t newBri = estimateCurrentAndLimitBri(); + uint8_t newBri = estimateCurrentAndLimitBri(); // will fill _milliAmpsTotal if (newBri < _bri) PolyBus::setBrightness(_busPtr, _iType, newBri); // limit brightness to stay within current limits if (_data) { // use _buffering this causes ~20% FPS drop @@ -646,9 +648,12 @@ void BusManager::removeAll() { } void BusManager::show() { + _milliAmpsUsed = 0; for (unsigned i = 0; i < numBusses; i++) { busses[i]->show(); + _milliAmpsUsed += busses[i]->getUsedCurrent(); } + if (_milliAmpsUsed) _milliAmpsUsed += MA_FOR_ESP; } void BusManager::setStatusPixel(uint32_t c) { @@ -714,3 +719,11 @@ uint16_t BusManager::getTotalLength() { int16_t Bus::_cct = -1; uint8_t Bus::_cctBlend = 0; uint8_t Bus::_gAWM = 255; + +uint16_t BusDigital::_milliAmpsTotal = 0; + +uint8_t BusManager::numBusses = 0; +Bus* BusManager::busses[WLED_MAX_BUSSES+WLED_MIN_VIRTUAL_BUSSES]; +ColorOrderMap BusManager::colorOrderMap = {}; +uint16_t BusManager::_milliAmpsUsed = 0; +uint16_t BusManager::_milliAmpsMax = ABL_MILLIAMPS_DEFAULT; \ No newline at end of file diff --git a/wled00/bus_manager.h b/wled00/bus_manager.h index 9d322749c..12fb81b39 100644 --- a/wled00/bus_manager.h +++ b/wled00/bus_manager.h @@ -137,6 +137,7 @@ class Bus { virtual uint8_t skippedLeds() { return 0; } virtual uint16_t getFrequency() { return 0U; } virtual uint16_t getLEDCurrent() { return 0; } + virtual uint16_t getUsedCurrent() { return 0; } virtual uint16_t getMaxCurrent() { return 0; } inline void setReversed(bool reversed) { _reversed = reversed; } inline uint16_t getStart() { return _start; } @@ -219,6 +220,7 @@ class BusDigital : public Bus { uint16_t getFrequency() { return _frequencykHz; } uint8_t estimateCurrentAndLimitBri(); uint16_t getLEDCurrent() { return _milliAmpsPerLed; } + uint16_t getUsedCurrent() { return _milliAmpsTotal; } uint16_t getMaxCurrent() { return _milliAmpsMax; } void reinit(); void cleanup(); @@ -233,7 +235,8 @@ class BusDigital : public Bus { uint16_t _milliAmpsMax; void * _busPtr; const ColorOrderMap &_colorOrderMap; - //bool _buffering; // temporary until we figure out why comparison "_data" causes severe FPS drop + + static uint16_t _milliAmpsTotal; // is overwitten/recalculated on each show() inline uint32_t restoreColorLossy(uint32_t c, uint8_t restoreBri) { if (restoreBri < 255) { @@ -314,39 +317,44 @@ class BusNetwork : public Bus { class BusManager { public: - BusManager() : numBusses(0) {}; + BusManager() {}; //utility to get the approx. memory usage of a given BusConfig static uint32_t memUsage(BusConfig &bc); + static uint16_t currentMilliamps(void) { return _milliAmpsUsed; } + static uint16_t ablMilliampsMax(void) { return _milliAmpsMax; } - int add(BusConfig &bc); + static int add(BusConfig &bc); //do not call this method from system context (network callback) - void removeAll(); + static void removeAll(); - void show(); - bool canAllShow(); - void setStatusPixel(uint32_t c); - void setPixelColor(uint16_t pix, uint32_t c); - void setBrightness(uint8_t b); - void setSegmentCCT(int16_t cct, bool allowWBCorrection = false); - uint32_t getPixelColor(uint16_t pix); + static void show(); + static bool canAllShow(); + static void setStatusPixel(uint32_t c); + static void setPixelColor(uint16_t pix, uint32_t c); + static void setBrightness(uint8_t b); + static void setSegmentCCT(int16_t cct, bool allowWBCorrection = false); + static void setMilliampsMax(uint16_t max) { _milliAmpsMax = max;} + static uint32_t getPixelColor(uint16_t pix); - Bus* getBus(uint8_t busNr); + static Bus* getBus(uint8_t busNr); //semi-duplicate of strip.getLengthTotal() (though that just returns strip._length, calculated in finalizeInit()) - uint16_t getTotalLength(); - inline uint8_t getNumBusses() const { return numBusses; } + static uint16_t getTotalLength(); + static uint8_t getNumBusses() { return numBusses; } - inline void updateColorOrderMap(const ColorOrderMap &com) { memcpy(&colorOrderMap, &com, sizeof(ColorOrderMap)); } - inline const ColorOrderMap& getColorOrderMap() const { return colorOrderMap; } + static void updateColorOrderMap(const ColorOrderMap &com) { memcpy(&colorOrderMap, &com, sizeof(ColorOrderMap)); } + static const ColorOrderMap& getColorOrderMap() { return colorOrderMap; } private: - uint8_t numBusses; - Bus* busses[WLED_MAX_BUSSES+WLED_MIN_VIRTUAL_BUSSES]; - ColorOrderMap colorOrderMap; + static uint8_t numBusses; + static Bus* busses[WLED_MAX_BUSSES+WLED_MIN_VIRTUAL_BUSSES]; + static ColorOrderMap colorOrderMap; + static uint16_t _milliAmpsUsed; + static uint16_t _milliAmpsMax; - inline uint8_t getNumVirtualBusses() { + static uint8_t getNumVirtualBusses() { int j = 0; for (int i=0; igetType() >= TYPE_NET_DDP_RGB && busses[i]->getType() < 96) j++; return j; diff --git a/wled00/button.cpp b/wled00/button.cpp index f1487396a..b1e7f2a79 100644 --- a/wled00/button.cpp +++ b/wled00/button.cpp @@ -347,10 +347,10 @@ void handleButton() void esp32RMTInvertIdle() { bool idle_out; - for (uint8_t u = 0; u < busses.getNumBusses(); u++) + for (uint8_t u = 0; u < BusManager::getNumBusses(); u++) { if (u > 7) return; // only 8 RMT channels, TODO: ESP32 variants have less RMT channels - Bus *bus = busses.getBus(u); + Bus *bus = BusManager::getBus(u); if (!bus || bus->getLength()==0 || !IS_DIGITAL(bus->getType()) || IS_2PIN(bus->getType())) continue; //assumes that bus number to rmt channel mapping stays 1:1 rmt_channel_t ch = static_cast(u); diff --git a/wled00/cfg.cpp b/wled00/cfg.cpp index 489793b24..4e2afb65f 100644 --- a/wled00/cfg.cpp +++ b/wled00/cfg.cpp @@ -87,8 +87,8 @@ bool deserializeConfig(JsonObject doc, bool fromFS) { JsonObject hw_led = hw["led"]; uint16_t total = hw_led[F("total")] | strip.getLengthTotal(); - CJSON(strip.ablMilliampsMax, hw_led[F("maxpwr")]); - CJSON(strip.milliampsPerLed, hw_led[F("ledma")]); // no longer used + uint16_t ablMilliampsMax = hw_led[F("maxpwr")] | BusManager::ablMilliampsMax(); + BusManager::setMilliampsMax(ablMilliampsMax); Bus::setGlobalAWMode(hw_led[F("rgbwm")] | AW_GLOBAL_DISABLED); CJSON(correctWB, hw_led["cct"]); CJSON(cctFromRgb, hw_led[F("cr")]); @@ -138,7 +138,7 @@ bool deserializeConfig(JsonObject doc, bool fromFS) { if (fromFS || !ins.isNull()) { uint8_t s = 0; // bus iterator - if (fromFS) busses.removeAll(); // can't safely manipulate busses directly in network callback + if (fromFS) BusManager::removeAll(); // can't safely manipulate busses directly in network callback uint32_t mem = 0, globalBufMem = 0; uint16_t maxlen = 0; bool busesChanged = false; @@ -164,8 +164,8 @@ bool deserializeConfig(JsonObject doc, bool fromFS) { bool refresh = elm["ref"] | false; uint16_t freqkHz = elm[F("freq")] | 0; // will be in kHz for DotStar and Hz for PWM (not yet implemented fully) uint8_t AWmode = elm[F("rgbwm")] | RGBW_MODE_MANUAL_ONLY; - uint8_t maPerLed = elm[F("ledma")] | strip.milliampsPerLed; // replace with 55 when removing strip.milliampsPerLed - uint16_t maMax = elm[F("maxpwr")] | (strip.ablMilliampsMax * length) / total; // rough (incorrect?) per strip ABL calculation when no config exists + uint8_t maPerLed = elm[F("ledma")] | 55; + uint16_t maMax = elm[F("maxpwr")] | (ablMilliampsMax * length) / total; // rough (incorrect?) per strip ABL calculation when no config exists // To disable brightness limiter we either set output max current to 0 or single LED current to 0 (we choose output max current) if ((ledType > TYPE_TM1814 && ledType < TYPE_WS2801) || ledType >= TYPE_NET_DDP_RGB) { // analog and virtual maPerLed = 0; @@ -179,7 +179,7 @@ bool deserializeConfig(JsonObject doc, bool fromFS) { maxlen = start + length; globalBufMem = maxlen * 4; } - if (mem + globalBufMem <= MAX_LED_MEMORY) if (busses.add(bc) == -1) break; // finalization will be done in WLED::beginStrip() + if (mem + globalBufMem <= MAX_LED_MEMORY) if (BusManager::add(bc) == -1) break; // finalization will be done in WLED::beginStrip() } else { if (busConfigs[s] != nullptr) delete busConfigs[s]; busConfigs[s] = new BusConfig(ledType, pins, start, length, colorOrder, reversed, skipFirst, AWmode, freqkHz, useGlobalLedBuffer, maPerLed, maMax); @@ -190,7 +190,7 @@ bool deserializeConfig(JsonObject doc, bool fromFS) { doInitBusses = busesChanged; // finalization done in beginStrip() } - if (hw_led["rev"]) busses.getBus(0)->setReversed(true); //set 0.11 global reversed setting for first bus + if (hw_led["rev"]) BusManager::getBus(0)->setReversed(true); //set 0.11 global reversed setting for first bus // read color order map configuration JsonArray hw_com = hw[F("com")]; @@ -205,7 +205,7 @@ bool deserializeConfig(JsonObject doc, bool fromFS) { com.add(start, len, colorOrder); s++; } - busses.updateColorOrderMap(com); + BusManager::updateColorOrderMap(com); } // read multiple button configuration @@ -722,8 +722,8 @@ void serializeConfig() { JsonObject hw_led = hw.createNestedObject("led"); hw_led[F("total")] = strip.getLengthTotal(); //provided for compatibility on downgrade and per-output ABL - hw_led[F("maxpwr")] = strip.ablMilliampsMax; - hw_led[F("ledma")] = strip.milliampsPerLed; // no longer used + hw_led[F("maxpwr")] = BusManager::ablMilliampsMax(); + hw_led[F("ledma")] = 0; // no longer used hw_led["cct"] = correctWB; hw_led[F("cr")] = cctFromRgb; hw_led[F("cb")] = strip.cctBlending; @@ -753,8 +753,8 @@ void serializeConfig() { JsonArray hw_led_ins = hw_led.createNestedArray("ins"); - for (uint8_t s = 0; s < busses.getNumBusses(); s++) { - Bus *bus = busses.getBus(s); + for (uint8_t s = 0; s < BusManager::getNumBusses(); s++) { + Bus *bus = BusManager::getBus(s); if (!bus || bus->getLength()==0) break; JsonObject ins = hw_led_ins.createNestedObject(); ins["start"] = bus->getStart(); @@ -775,7 +775,7 @@ void serializeConfig() { } JsonArray hw_com = hw.createNestedArray(F("com")); - const ColorOrderMap& com = busses.getColorOrderMap(); + const ColorOrderMap& com = BusManager::getColorOrderMap(); for (uint8_t s = 0; s < com.count(); s++) { const ColorOrderMapEntry *entry = com.get(s); if (!entry) break; diff --git a/wled00/data/settings_leds.htm b/wled00/data/settings_leds.htm index 835b396fa..229c38327 100644 --- a/wled00/data/settings_leds.htm +++ b/wled00/data/settings_leds.htm @@ -107,30 +107,36 @@ e.preventDefault(); if (!pinsOK()) {e.stopPropagation();return false;} // Prevent form submission and contact with server if (bquot > 100) {var msg = "Too many LEDs for me to handle!"; if (maxM < 10000) msg += "\n\rConsider using an ESP32."; alert(msg);} + if (d.Sf.PPL.checked) d.Sf.MA.value = 0; // submit 0 as ABL (PPL will handle it) if (d.Sf.checkValidity()) d.Sf.submit(); //https://stackoverflow.com/q/37323914 } function enABL() { - var en = d.Sf["ABL"].checked; - d.Sf["MA"].min = en ? 250 : 0; + var en = d.Sf.ABL.checked; gId('abl').style.display = (en) ? 'inline':'none'; gId('psu2').style.display = (en) ? 'inline':'none'; - if (!en) d.Sf["PPL"].checked = false; + if (!en) d.Sf.PPL.checked = false; enPPL(); UI(); } function enPPL() { - const abl = d.Sf["ABL"].checked; - const en = d.Sf["PPL"].checked; - d.Sf["MA"].readonly = en; - gId("ppldis").style.display = en ? 'inline' : 'none'; + const abl = d.Sf.ABL.checked; + const ppl = d.Sf.PPL.checked; + let sumMA = 0; + d.Sf.MA.readonly = ppl; + d.Sf.MA.min = abl && !ppl ? 250 : 0; + gId("psuMA").style.display = ppl ? 'none' : 'inline'; + gId("ppldis").style.display = ppl ? 'inline' : 'none'; + // set PPL minimum value and clear actual PPL limit if ABL disabled d.Sf.querySelectorAll("#mLC input[name^=MA]").forEach((i,n)=>{ - gId("PSU"+n).style.display = en ? "inline" : "none"; + gId("PSU"+n).style.display = ppl ? "inline" : "none"; const t = parseInt(d.Sf["LT"+n].value); // LED type SELECT - i.min = en && !((t >= 80 && t < 96) || (t >= 40 && t < 48)) ? 250 : 0; + i.min = ppl && !((t >= 80 && t < 96) || (t >= 40 && t < 48)) ? 250 : 0; if (!abl) i.value = 0; + else if (ppl) sumMA += parseInt(i.value,10); }); + if (ppl) d.Sf.MA.value = sumMA; // populate UI ABL value if PPL used } function enLA(s,n) { @@ -141,10 +147,11 @@ } function setABL() { - d.Sf["ABL"].checked = false; + console.log(d.Sf.MA.value); + d.Sf.ABL.checked = parseInt(d.Sf.MA.value) > 0; // check if ABL is enabled (max mA entered per output) d.Sf.querySelectorAll("#mLC input[name^=MA]").forEach((i,n)=>{ - if (parseInt(i.value) > 0) d.Sf["ABL"].checked = true; + if (parseInt(i.value) > 0) d.Sf.ABL.checked = true; }); // select appropriate LED current d.Sf.querySelectorAll("#mLC select[name^=LAsel]").forEach((sel,n)=>{ @@ -190,8 +197,8 @@ let isRGBW = false, gRGBW = false, memu = 0; let sumMA = 0, busMA = 0; let sLC = 0, sPC = 0, sDI = 0, maxLC = 0; - const ablEN = d.Sf["ABL"].checked; - const pplEN = d.Sf["PPL"].checked; + const ablEN = d.Sf.ABL.checked; + const pplEN = d.Sf.PPL.checked; // enable/disable LED fields d.Sf.querySelectorAll("#mLC select[name^=LT]").forEach((s)=>{ @@ -244,7 +251,7 @@ gId("rev"+n).innerHTML = (t >= 40 && t < 48) ? "Inverted output":"Reversed (rotated 180°)"; // change reverse text for analog gId("psd"+n).innerHTML = (t >= 40 && t < 48) ? "Index:":"Start:"; // change analog start description if (ablEN && pplEN && !((t >= 80 && t < 96) || (t >= 40 && t < 48))) { - sumMA += parseInt(d.Sf["MA"+n].value); + sumMA += parseInt(d.Sf["MA"+n].value); // summarize PPL ABL limit (fields) } }); // display global white channel overrides @@ -269,11 +276,12 @@ if (s+c > sLC) sLC = s+c; //update total count if (c > maxLC) maxLC = c; //max per output if (t < 80) sPC += c; //virtual out busses do not count towards physical LEDs - if (!((t >= 80 && t < 96) || (t >= 40 && t < 48))) sDI += c; + //if (!((t >= 80 && t < 96) || (t >= 40 && t < 48))) sDI += c; if (!((t >= 80 && t < 96) || (t >= 40 && t < 48))) { + sDI += c; // summarize digital LED count let maPL = parseInt(d.Sf["LA"+n].value); if (maPL == 255) maPL = 12; - busMA += maPL*c; + busMA += maPL*c; // summarize maximum bus current (calculated) } } // increase led count return; @@ -316,14 +324,18 @@ else LC.style.color = d.ro_gpio.some((e)=>e==parseInt(LC.value)) ? "orange" : "#fff"; } }); + // distribute ABL current if not using PPL, otherwise sumMA contains summarized ABL limit d.Sf.querySelectorAll("#mLC input[name^=LC]").forEach((s,n)=>{ let c = parseInt(s.value,10); //get LED count - let t = parseInt(d.Sf["LT"+n].value); - if (ablEN) { - let v = Math.round(parseInt(d.Sf["MA"].value,10)*c/sDI); - if (!pplEN && !((t >= 80 && t < 96) || (t >= 40 && t < 48))) d.Sf["MA"+n].value = v; - } else d.Sf["MA"+n].value = 0; + let t = parseInt(d.Sf["LT"+n].value); //get LED type + if (!ablEN || (t >= 80 && t < 96) || (t >= 40 && t < 48)) { + // virtual and analog LEDs have no limiter + d.Sf["MA"+n].value = 0; + return; + } + if (!pplEN) d.Sf["MA"+n].value = Math.round(parseInt(d.Sf.MA.value,10)*c/sDI); }); + if (pplEN) d.Sf.MA.value = sumMA; // update global ABL if using PPL // update total led count gId("lc").textContent = sLC; gId("pc").textContent = (sLC == sPC) ? "":"(" + sPC + " physical)"; @@ -336,7 +348,6 @@ gId('ledwarning').style.color = (maxLC > Math.max(maxPB,800) || bquot > 100) ? 'red':'orange'; gId('wreason').innerHTML = (bquot > 80) ? "80% of max. LED memory" +(bquot>100 ? ` (ERROR: Using over ${maxM}B!)` : "") : "800 LEDs per output"; // calculate power - if (pplEN) d.Sf.MA.value = sumMA; gId('ampwarning').style.display = (parseInt(d.Sf.MA.value,10) > 7200) ? 'inline':'none'; var val = Math.ceil((100 + busMA)/500)/2; val = (val > 5) ? Math.ceil(val) : val; @@ -409,7 +420,7 @@ mA/LED:
-
PSU: mA
+
PSU: mA
Color Order: gId("+").style.display = (i0) ? "inline":"none"; - if (!init) UI(); + if (!init) { + enPPL(); + UI(); + } } function addCOM(start=0,len=1,co=0) { @@ -750,7 +764,7 @@ Length: mA
+
Maximum PSU Current: mA
Use per-output limiter: