diff --git a/README.md b/README.md index f9917ae47..09dd0f1a6 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ ## We have moved to the new library > [!WARNING] -> This library is now deprecated but no further supports for feature request. +> This library is now deprecated and end of life. No further supports for help and feature request. > We recommended the [FirebaseClient](https://github.com/mobizt/FirebaseClient) library for ongoing supports. > You have to read the library documentation thoroughly before use. diff --git a/examples/Authentications/LegacyTokenAuthen/LegacyTokenAuthen.ino b/examples/Authentications/LegacyTokenAuthen/LegacyTokenAuthen.ino new file mode 100644 index 000000000..2138d89f6 --- /dev/null +++ b/examples/Authentications/LegacyTokenAuthen/LegacyTokenAuthen.ino @@ -0,0 +1,124 @@ + +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +/** This example will show how to authenticate using + * the legacy token or database secret with the new APIs (using config and auth data). + */ +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the RTDB payload printing info and other helper functions. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/* 2. If work with RTDB, define the RTDB URL and database secret */ +#define DATABASE_URL "URL" //.firebaseio.com or ..firebasedatabase.app +#define DATABASE_SECRET "DATABASE_SECRET" + +/* 3. Define the Firebase Data object */ +FirebaseData fbdo; + +/* 4, Define the FirebaseAuth data for authentication data */ +FirebaseAuth auth; + +/* Define the FirebaseConfig data for config data */ +FirebaseConfig config; + +unsigned long dataMillis = 0; +int count = 0; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the certificate file (optional) */ + // config.cert.file = "/cert.cer"; + // config.cert.file_storage = StorageType::FLASH; + + /* Assign the database URL and database secret(required) */ + config.database_url = DATABASE_URL; + config.signer.tokens.legacy_token = DATABASE_SECRET; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + /* Initialize the library with the Firebase authen and config */ + Firebase.begin(&config, &auth); + + // Or use legacy authenticate method + // Firebase.begin(DATABASE_URL, DATABASE_SECRET); +} + +void loop() +{ + if (millis() - dataMillis > 5000) + { + dataMillis = millis(); + Serial.printf("Set int... %s\n", Firebase.RTDB.setInt(&fbdo, "/test/int", count++) ? "ok" : fbdo.errorReason().c_str()); + } +} diff --git a/examples/Authentications/ReAuthenticate/ReAuthenticate.ino b/examples/Authentications/ReAuthenticate/ReAuthenticate.ino new file mode 100644 index 000000000..9a612962c --- /dev/null +++ b/examples/Authentications/ReAuthenticate/ReAuthenticate.ino @@ -0,0 +1,183 @@ + +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +/** This example will show how to re-authenticate after signed in with Email and password. + */ +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +// Provide the RTDB payload printing info and other helper functions. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/** 2. Define the API key + * + * The API key (required) can be obtained since you created the project and set up + * the Authentication in Firebase console. Then you will get the API key from + * Firebase project Web API key in Project settings, on General tab should show the + * Web API Key. + * + * You may need to enable the Identity provider at https://console.cloud.google.com/customer-identity/providers + * Select your project, click at ENABLE IDENTITY PLATFORM button. + * The API key also available by click at the link APPLICATION SETUP DETAILS. + * + */ +#define API_KEY "API_KEY" + +/* 3. Define the user Email and password that already registerd or added in your project */ +#define USER_EMAIL1 "USER_EMAIL1" +#define USER_PASSWORD1 "USER_PASSWORD1" + +#define USER_EMAIL2 "USER_EMAIL2" +#define USER_PASSWORD2 "USER_PASSWORD2" + +/* 4. If work with RTDB, define the RTDB URL */ +#define DATABASE_URL "URL" //.firebaseio.com or ..firebasedatabase.app + +/* 5. Define the Firebase Data object */ +FirebaseData fbdo; + +/* 6. Define the FirebaseAuth data for authentication data */ +FirebaseAuth auth; + +/* 7. Define the FirebaseConfig data for config data */ +FirebaseConfig config; + +unsigned long dataMillis = 0; +int count = 0; +bool toggleUser = false; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void signIn(const char *email, const char *password) +{ + /* Assign the user sign in credentials */ + auth.user.email = email; + auth.user.password = password; + + /* Reset stored authen and config */ + Firebase.reset(&config); + + /* Initialize the library with the Firebase authen and config */ + Firebase.begin(&config, &auth); +} + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the api key (required) */ + config.api_key = API_KEY; + + /* Assign the RTDB URL */ + config.database_url = DATABASE_URL; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise the data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + fbdo.setResponseSize(4096); + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + /** Sign in as user 1 */ + signIn(USER_EMAIL1, USER_PASSWORD1); +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (millis() - dataMillis > 5000) + { + dataMillis = millis(); + + if (Firebase.ready()) + { + String path = "/UsersData/"; + path += auth.token.uid.c_str(); //<- user uid of current user that sign in with Emal/Password + path += "/test/int"; + Serial.printf("Current UID: %s\n", auth.token.uid.c_str()); + Serial.printf("Set int... %s\n", Firebase.RTDB.setInt(&fbdo, path, count++) ? "ok" : fbdo.errorReason().c_str()); + + // Swap users every 5 times + if (count % 5 == 0) + { + Serial.println(); + + if (toggleUser) + signIn(USER_EMAIL1, USER_PASSWORD1); /** Sign in as user 1 */ + else + signIn(USER_EMAIL2, USER_PASSWORD2); /** Sign in as user 2 */ + toggleUser = !toggleUser; + } + } + } +} diff --git a/examples/Authentications/SignInAsAdmin/AccessTokenFile/AccessTokenFile.ino b/examples/Authentications/SignInAsAdmin/AccessTokenFile/AccessTokenFile.ino new file mode 100644 index 000000000..776327fbc --- /dev/null +++ b/examples/Authentications/SignInAsAdmin/AccessTokenFile/AccessTokenFile.ino @@ -0,0 +1,184 @@ + +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +/** This example will show how to authenticate as admin using + * the Service Account file to create the access token to sign in internally. + * + * The library will connect to NTP server to get the time (in case your device + * time was not set) + * and waiting for the time to be ready. + * + * If the waiting is timed out and the system time is not ready, the custom and + * OAuth2.0 acces tokens generation will fail + * because of invalid expiration time in JWT token that used in the id/access + * token request. + * + * This library used RFC 7523, JWT Bearer Token Grant Type Profile for OAuth 2.0 + * which no refresh token is available for access token exchanging. + */ +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +// Provide the RTDB payload printing info and other helper functions. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/* 2. If work with RTDB, define the RTDB URL */ +#define DATABASE_URL "URL" //.firebaseio.com or ..firebasedatabase.app + +/* 3. Define the Firebase Data object */ +FirebaseData fbdo; + +/* 4. Define the FirebaseAuth data for authentication data */ +FirebaseAuth auth; + +/* 5. Define the FirebaseConfig data for config data */ +FirebaseConfig config; + +unsigned long dataMillis = 0; +int count = 0; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the certificate file (optional) */ + /** From the test as of July 2021, GlobalSign Root CA was missing from Google server + * when checking with https://www.sslchecker.com/sslchecker. + * The certificate chain, GTS Root R1 can be used instead. + * + * ESP32 Arduino SDK supports PEM format only even mBedTLS supports DER format too. + * ESP8266 SDK supports both PEM and DER format certificates. + */ + config.cert.file = "/gtsr1.pem"; + config.cert.file_storage = mem_storage_type_flash; // or mem_storage_type_sd + + /* The file systems for flash and SD/SDMMC can be changed in FirebaseFS.h. */ + + /* Assign the sevice account JSON file and the file storage type (required) */ + config.service_account.json.path = "/service_account_file.json"; // change this for your json file + config.service_account.json.storage_type = mem_storage_type_flash; // or mem_storage_type_sd + + /** The user UID set to empty to sign in as admin */ + // auth.token.uid.clear(); + + /* Assign the RTDB URL */ + config.database_url = DATABASE_URL; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + /** The scope of the OAuth2.0 authentication + * If you wan't this access token for others Google Cloud Services. + */ + // config.signer.tokens.scope = "Google Scope 1 Url, Google Scope 2 Url,.."; + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + /** To set system time with the timestamp from RTC + * The internal NTP server time acquisition + * of token generation process will be skipped, + * if the system time is already set. + * + * sec is the seconds from midnight Jan 1, 1970 + */ + // Firebase.setSystemTime(sec); + + /* Now we start to signin using access token */ + + /** Initialize the library with the Firebase authen and config. + * + * The device time will be set by sending request to the NTP server + * befor token generation and exchanging. + * + * The signed RSA256 jwt token will be created and used for access token exchanging. + * + * Theses process may take time to complete. + */ + Firebase.begin(&config, &auth); + + /* The access token can be accessed from Firebase.getToken(). */ + + /* No refresh token is available for OAuth2.0 authentication method used in this library i.e. JWT Bearer Token Grant Type Profile */ +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready() && millis() - dataMillis > 5000) + { + dataMillis = millis(); + Serial.printf("Set int... %s\n", Firebase.RTDB.setInt(&fbdo, "/test/int", count++) ? "ok" : fbdo.errorReason().c_str()); + } +} \ No newline at end of file diff --git a/examples/Authentications/SignInAsAdmin/AccessTokenFile/data/gtsr1.der b/examples/Authentications/SignInAsAdmin/AccessTokenFile/data/gtsr1.der new file mode 100644 index 000000000..e193a059e Binary files /dev/null and b/examples/Authentications/SignInAsAdmin/AccessTokenFile/data/gtsr1.der differ diff --git a/examples/Authentications/SignInAsAdmin/AccessTokenFile/data/gtsr1.pem b/examples/Authentications/SignInAsAdmin/AccessTokenFile/data/gtsr1.pem new file mode 100644 index 000000000..a13aa0564 --- /dev/null +++ b/examples/Authentications/SignInAsAdmin/AccessTokenFile/data/gtsr1.pem @@ -0,0 +1,31 @@ +-----BEGIN CERTIFICATE----- +MIIFVzCCAz+gAwIBAgINAgPlk28xsBNJiGuiFzANBgkqhkiG9w0BAQwFADBHMQsw +CQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEU +MBIGA1UEAxMLR1RTIFJvb3QgUjEwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAw +MDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZp +Y2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjEwggIiMA0GCSqGSIb3DQEBAQUA +A4ICDwAwggIKAoICAQC2EQKLHuOhd5s73L+UPreVp0A8of2C+X0yBoJx9vaMf/vo +27xqLpeXo4xL+Sv2sfnOhB2x+cWX3u+58qPpvBKJXqeqUqv4IyfLpLGcY9vXmX7w +Cl7raKb0xlpHDU0QM+NOsROjyBhsS+z8CZDfnWQpJSMHobTSPS5g4M/SCYe7zUjw +TcLCeoiKu7rPWRnWr4+wB7CeMfGCwcDfLqZtbBkOtdh+JhpFAz2weaSUKK0Pfybl +qAj+lug8aJRT7oM6iCsVlgmy4HqMLnXWnOunVmSPlk9orj2XwoSPwLxAwAtcvfaH +szVsrBhQf4TgTM2S0yDpM7xSma8ytSmzJSq0SPly4cpk9+aCEI3oncKKiPo4Zor8 +Y/kB+Xj9e1x3+naH+uzfsQ55lVe0vSbv1gHR6xYKu44LtcXFilWr06zqkUspzBmk +MiVOKvFlRNACzqrOSbTqn3yDsEB750Orp2yjj32JgfpMpf/VjsPOS+C12LOORc92 +wO1AK/1TD7Cn1TsNsYqiA94xrcx36m97PtbfkSIS5r762DL8EGMUUXLeXdYWk70p +aDPvOmbsB4om3xPXV2V4J95eSRQAogB/mqghtqmxlbCluQ0WEdrHbEg8QOB+DVrN +VjzRlwW5y0vtOUucxD/SVRNuJLDWcfr0wbrM7Rv1/oFB2ACYPTrIrnqYNxgFlQID +AQABo0IwQDAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4E +FgQU5K8rJnEaK0gnhS9SZizv8IkTcT4wDQYJKoZIhvcNAQEMBQADggIBAJ+qQibb +C5u+/x6Wki4+omVKapi6Ist9wTrYggoGxval3sBOh2Z5ofmmWJyq+bXmYOfg6LEe +QkEzCzc9zolwFcq1JKjPa7XSQCGYzyI0zzvFIoTgxQ6KfF2I5DUkzps+GlQebtuy +h6f88/qBVRRiClmpIgUxPoLW7ttXNLwzldMXG+gnoot7TiYaelpkttGsN/H9oPM4 +7HLwEXWdyzRSjeZ2axfG34arJ45JK3VmgRAhpuo+9K4l/3wV3s6MJT/KYnAK9y8J +ZgfIPxz88NtFMN9iiMG1D53Dn0reWVlHxYciNuaCp+0KueIHoI17eko8cdLiA6Ef +MgfdG+RCzgwARWGAtQsgWSl4vflVy2PFPEz0tv/bal8xa5meLMFrUKTX5hgUvYU/ +Z6tGn6D/Qqc6f1zLXbBwHSs09dR2CQzreExZBfMzQsNhFRAbd03OIozUhfJFfbdT +6u9AWpQKXCBfTkBdYiJ23//OYb2MI3jSNwLgjt7RETeJ9r/tSQdirpLsQBqvFAnZ +0E6yove+7u7Y/9waLd64NnHi/Hm3lCXRSHNboTXns5lndcEZOitHTtNCjv0xyBZm +2tIMPNuzjsmhDYAPexZ3FL//2wmUspO8IFgV6dtxQ/PeEMMA3KgqlbbC1j+Qa3bb +bP6MvPJwNQzcmRk13NfIRmPVNnGuV/u3gm3c +-----END CERTIFICATE----- diff --git a/examples/Authentications/SignInAsGuest/AnonymousSignin/AnonymousSignin.ino b/examples/Authentications/SignInAsGuest/AnonymousSignin/AnonymousSignin.ino new file mode 100644 index 000000000..66aaf8320 --- /dev/null +++ b/examples/Authentications/SignInAsGuest/AnonymousSignin/AnonymousSignin.ino @@ -0,0 +1,205 @@ + +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +/** This example will show how to authenticate as a anonymous user and then delete this user from project. + * + * You need to enable Anonymous provider. + * In Firebase console, select Authentication, select Sign-in method tab, + * under the Sign-in providers list, enable Anonymous provider. + * + * Warning: this example will create a new anonymous user with + * different UID every time you run this example. + * + */ +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +// Provide the RTDB payload printing info and other helper functions. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/** 2. Define the API key + * + * The API key can be obtained since you created the project and set up + * the Authentication in Firebase console. + * + * You may need to enable the Identity provider at https://console.cloud.google.com/customer-identity/providers + * Select your project, click at ENABLE IDENTITY PLATFORM button. + * The API key also available by click at the link APPLICATION SETUP DETAILS. + * + */ +#define API_KEY "API_KEY" + +/* 3. If work with RTDB, define the RTDB URL */ +#define DATABASE_URL "URL" //.firebaseio.com or ..firebasedatabase.app + +/* 4. Define the Firebase Data object */ +FirebaseData fbdo; + +/* 5. Define the FirebaseAuth data for authentication data */ +FirebaseAuth auth; + +/* 6. Define the FirebaseConfig data for config data */ +FirebaseConfig config; + +unsigned long dataMillis = 0; +int count = 0; +bool signupOK = false; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the API key (required) */ + config.api_key = API_KEY; + + /* Assign the RTDB URL */ + config.database_url = DATABASE_URL; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + /** To sign in as anonymous user, just sign up as anonymous user + * with blank email and password. + * + * The Anonymous provider must be enabled. + * + * To enable Anonymous provider, + * from Firebase console, select Authentication, select Sign-in method tab, + * under the Sign-in providers list, enable Anonymous provider. + * + * Warning: this will create anonymous user everytime you called this function and your user list + * will grow up and the anonymous users stay in the user list after it created, we recommend to delete + * this user after used. + * + * https://stackoverflow.com/questions/38694015/what-happens-to-firebase-anonymous-users + * https://stackoverflow.com/questions/39640574/how-to-bulk-delete-firebase-anonymous-users + */ + + Serial.print("Sign up new user... "); + + /* Sign up */ + if (Firebase.signUp(&config, &auth, "", "")) + { + Serial.println("ok"); + signupOK = true; + + /** if the database rules were set as in the example "EmailPassword.ino" + * This new user can be access the following location. + * + * "/UserData/" + * + * The new user UID or can be taken from auth.token.uid + */ + } + else + Serial.printf("%s\n", config.signer.signupError.message.c_str()); + + // If the signupError.message showed "ADMIN_ONLY_OPERATION", you need to enable Anonymous provider in project's Authentication. + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + /** The id token (C++ string) will be available from config.signer.tokens.id_token + * if the sig-up was successful. + * + * Now you can initialize the library using the internal created credentials. + * + * If the sign-up was failed, the following function will initialize because + * the internal authentication credentials are not created. + */ + Firebase.begin(&config, &auth); +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (millis() - dataMillis > 5000 && signupOK && Firebase.ready()) + { + dataMillis = millis(); + String path = auth.token.uid.c_str(); //<- user uid + path += "/test/int"; + Serial.printf("Set int... %s\n", Firebase.RTDB.setInt(&fbdo, path, count++) ? "ok" : fbdo.errorReason().c_str()); + + if (count == 10) + { + Serial.print("Delete user... "); + if (Firebase.deleteUser(&config, &auth /* third argument can be the id token of active user to delete or leave it blank to delete current user */)) + { + Serial.println("ok"); + } + else + Serial.printf("%s\n", config.signer.deleteError.message.c_str()); + } + } +} diff --git a/examples/Authentications/SignInAsUser/CustomToken/CustomToken.ino b/examples/Authentications/SignInAsUser/CustomToken/CustomToken.ino new file mode 100644 index 000000000..e8910b3fe --- /dev/null +++ b/examples/Authentications/SignInAsUser/CustomToken/CustomToken.ino @@ -0,0 +1,293 @@ + +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +/** This example will show how to authenticate as user using + * the hard coded Service Account to create the custom token to sign in. + * + * From this example, the user will be granted to access the specific location that matches + * the unique user ID (uid) assigned in the token. + * + * The anonymous user with user UID will be created if not existed. + * + * This example will modify the database rules to set up the security rule which need to + * guard the unauthorized access with the uid and custom claims assigned in the token. + */ +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +// Provide the RTDB payload printing info and other helper functions. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/** 2. Define the API key + * + * The API key can be obtained since you created the project and set up + * the Authentication in Firebase console. + * + * You may need to enable the Identity provider at https://console.cloud.google.com/customer-identity/providers + * Select your project, click at ENABLE IDENTITY PLATFORM button. + * The API key also available by click at the link APPLICATION SETUP DETAILS. + * + */ +#define API_KEY "API_KEY" + +/** 3. Define the Service Account credentials (required for token generation) + * + * This information can be taken from the service account JSON file. + * + * To download service account file, from the Firebase console, goto project settings, + * select "Service accounts" tab and click at "Generate new private key" button + */ +#define FIREBASE_PROJECT_ID "PROJECT_ID" +#define FIREBASE_CLIENT_EMAIL "CLIENT_EMAIL" +const char PRIVATE_KEY[] PROGMEM = "-----BEGIN PRIVATE KEY-----XXXXXXXXXXXX-----END PRIVATE KEY-----\n"; + +/* 4. If work with RTDB, define the RTDB URL */ +#define DATABASE_URL "URL" //.firebaseio.com or ..firebasedatabase.app + +/* This is Google root CA certificate */ + +/** From the test on July 2021, GlobalSign Root CA was missing from Google server + * when checking with https://www.sslchecker.com/sslchecker. + * The certificate chain, GTS Root R1 can be used instead. + * + */ + +/* +const char rootCACert[] PROGMEM = "-----BEGIN CERTIFICATE-----\n" + "MIIFVzCCAz+gAwIBAgINAgPlk28xsBNJiGuiFzANBgkqhkiG9w0BAQwFADBHMQsw\n" + "CQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEU\n" + "MBIGA1UEAxMLR1RTIFJvb3QgUjEwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAw\n" + "MDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZp\n" + "Y2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjEwggIiMA0GCSqGSIb3DQEBAQUA\n" + "A4ICDwAwggIKAoICAQC2EQKLHuOhd5s73L+UPreVp0A8of2C+X0yBoJx9vaMf/vo\n" + "27xqLpeXo4xL+Sv2sfnOhB2x+cWX3u+58qPpvBKJXqeqUqv4IyfLpLGcY9vXmX7w\n" + "Cl7raKb0xlpHDU0QM+NOsROjyBhsS+z8CZDfnWQpJSMHobTSPS5g4M/SCYe7zUjw\n" + "TcLCeoiKu7rPWRnWr4+wB7CeMfGCwcDfLqZtbBkOtdh+JhpFAz2weaSUKK0Pfybl\n" + "qAj+lug8aJRT7oM6iCsVlgmy4HqMLnXWnOunVmSPlk9orj2XwoSPwLxAwAtcvfaH\n" + "szVsrBhQf4TgTM2S0yDpM7xSma8ytSmzJSq0SPly4cpk9+aCEI3oncKKiPo4Zor8\n" + "Y/kB+Xj9e1x3+naH+uzfsQ55lVe0vSbv1gHR6xYKu44LtcXFilWr06zqkUspzBmk\n" + "MiVOKvFlRNACzqrOSbTqn3yDsEB750Orp2yjj32JgfpMpf/VjsPOS+C12LOORc92\n" + "wO1AK/1TD7Cn1TsNsYqiA94xrcx36m97PtbfkSIS5r762DL8EGMUUXLeXdYWk70p\n" + "aDPvOmbsB4om3xPXV2V4J95eSRQAogB/mqghtqmxlbCluQ0WEdrHbEg8QOB+DVrN\n" + "VjzRlwW5y0vtOUucxD/SVRNuJLDWcfr0wbrM7Rv1/oFB2ACYPTrIrnqYNxgFlQID\n" + "AQABo0IwQDAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4E\n" + "FgQU5K8rJnEaK0gnhS9SZizv8IkTcT4wDQYJKoZIhvcNAQEMBQADggIBAJ+qQibb\n" + "C5u+/x6Wki4+omVKapi6Ist9wTrYggoGxval3sBOh2Z5ofmmWJyq+bXmYOfg6LEe\n" + "QkEzCzc9zolwFcq1JKjPa7XSQCGYzyI0zzvFIoTgxQ6KfF2I5DUkzps+GlQebtuy\n" + "h6f88/qBVRRiClmpIgUxPoLW7ttXNLwzldMXG+gnoot7TiYaelpkttGsN/H9oPM4\n" + "7HLwEXWdyzRSjeZ2axfG34arJ45JK3VmgRAhpuo+9K4l/3wV3s6MJT/KYnAK9y8J\n" + "ZgfIPxz88NtFMN9iiMG1D53Dn0reWVlHxYciNuaCp+0KueIHoI17eko8cdLiA6Ef\n" + "MgfdG+RCzgwARWGAtQsgWSl4vflVy2PFPEz0tv/bal8xa5meLMFrUKTX5hgUvYU/\n" + "Z6tGn6D/Qqc6f1zLXbBwHSs09dR2CQzreExZBfMzQsNhFRAbd03OIozUhfJFfbdT\n" + "6u9AWpQKXCBfTkBdYiJ23//OYb2MI3jSNwLgjt7RETeJ9r/tSQdirpLsQBqvFAnZ\n" + "0E6yove+7u7Y/9waLd64NnHi/Hm3lCXRSHNboTXns5lndcEZOitHTtNCjv0xyBZm\n" + "2tIMPNuzjsmhDYAPexZ3FL//2wmUspO8IFgV6dtxQ/PeEMMA3KgqlbbC1j+Qa3bb\n" + "bP6MvPJwNQzcmRk13NfIRmPVNnGuV/u3gm3c\n" + "-----END CERTIFICATE-----\n"; + +*/ + +/** 4. Define the database secret (optional) + * + * This database secret needed only for this example to modify the database rules + * + * If you edit the database rules yourself, this is not required. + */ +#define DATABASE_SECRET "DATABASE_SECRET" + +/* 5. Define the Firebase Data object */ +FirebaseData fbdo; + +/* 6. Define the FirebaseAuth data for authentication data */ +FirebaseAuth auth; + +/* 7. Define the FirebaseConfig data for config data */ +FirebaseConfig config; + +unsigned long dataMillis = 0; +int count = 0; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the certificate data (optional) */ + // config.cert.data = rootCACert; + + /* Assign the api key (required) */ + config.api_key = API_KEY; + + /* Assign the sevice account credentials and private key (required) */ + config.service_account.data.client_email = FIREBASE_CLIENT_EMAIL; + config.service_account.data.project_id = FIREBASE_PROJECT_ID; + config.service_account.data.private_key = PRIVATE_KEY; + + /** Assign the unique user ID (uid) (required) + * This uid will be compare to the auth.uid variable in the database rules. + * + * If the assigned uid (user UID) was not existed, the new user will be created. + * + * If the uid is empty or not assigned, the library will create the OAuth2.0 access token + * instead. + * + * With OAuth2.0 access token, the device will be signed in as admin which has + * the full ggrant access and no database rules and custom claims are applied. + * This similar to sign in using the database secret but no admin rights. + */ + auth.token.uid = "Node1"; + + /** Assign the custom claims (optional) + * This uid will be compare to the auth.token.premium_account variable + * (for this case) in the database rules. + */ + FirebaseJson claims; + claims.add("premium_account", true); + claims.add("admin", true); + auth.token.claims = claims.raw(); + + /* Assign the RTDB URL */ + config.database_url = DATABASE_URL; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + fbdo.setResponseSize(4096); + + /* path for user data is now "/UsersData/Node1" */ + String base_path = "/UsersData/"; + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + /* Now we start to signin using custom token */ + + /** Initialize the library with the Firebase authen and config. + * + * The device time will be set by sending request to the NTP server + * befor token generation and exchanging. + * + * The signed RSA256 jwt token will be created and used for id token exchanging. + * + * Theses process may take time to complete. + */ + Firebase.begin(&config, &auth); + + /** Now modify the database rules (if not yet modified) + * + * The user, Node1 in this case will be granted to read and write + * at the curtain location i.e. "/UsersData/Node1" and we will also check the + * custom claims in the rules which must be matched. + * + * If you database rules has been modified, please comment this code out. + * + * The character $ is to make a wildcard variable (can be any name) represents any node key + * which located at some level in the rule structure and use as reference variable + * in .read, .write and .validate rules + * + * For this case $userId represents any node that places under UsersData node i.e. + * /UsersData/ which is user UID or "Node1" in this case. + * + * Please check your the database rules to see the changes after run the below code. + */ + String var = "$userId"; + String val = "($userId === auth.uid && auth.token.premium_account === true && auth.token.admin === true)"; + Firebase.RTDB.setReadWriteRules(&fbdo, base_path, var, val, val, DATABASE_SECRET); + + /** + * The custom token which created internally in this library will use + * to exchange with the id token returns from the server. + * + * The id token is the token which used to sign in as a user. + * + * The id token was already saved to the config data (FirebaseConfig data variable) that + * passed to the Firebase.begin function. + * + * The id token can be accessed from Firebase.getToken(). + * + * The refresh token can be accessed from Firebase.getRefreshToken(). + */ +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (millis() - dataMillis > 5000 && Firebase.ready()) + { + dataMillis = millis(); + String path = "/UsersData/"; + path += auth.token.uid.c_str(); //<- user uid or "Node1" + path += "/test/int"; + Serial.printf("Set int... %s\n", Firebase.RTDB.setInt(&fbdo, path, count++) ? "ok" : fbdo.errorReason().c_str()); + } +} \ No newline at end of file diff --git a/examples/Authentications/SignInAsUser/CustomTokenFile/CustomTokenFile.ino b/examples/Authentications/SignInAsUser/CustomTokenFile/CustomTokenFile.ino new file mode 100644 index 000000000..2465356f5 --- /dev/null +++ b/examples/Authentications/SignInAsUser/CustomTokenFile/CustomTokenFile.ino @@ -0,0 +1,251 @@ + +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +/** This example will show how to authenticate as user using + * the Service Account file to create the custom token to sign in internally. + * + * From this example, the user will be granted to access the specific location that matches + * the unique user ID (uid) assigned in the token. + * + * The anonymous user with user UID will be created if not existed. + * + * This example will modify the database rules to set up the security rule which need to + * guard the unauthorized access with the uid and custom claims assigned in the token. + */ +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +// Provide the RTDB payload printing info and other helper functions. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/** 2. Define the API key + * + * The API key can be obtained since you created the project and set up + * the Authentication in Firebase console. + * + * You may need to enable the Identity provider at https://console.cloud.google.com/customer-identity/providers + * Select your project, click at ENABLE IDENTITY PLATFORM button. + * The API key also available by click at the link APPLICATION SETUP DETAILS. + * + */ +#define API_KEY "API_KEY" + +/* 3. If work with RTDB, define the RTDB URL */ +#define DATABASE_URL "URL" //.firebaseio.com or ..firebasedatabase.app + +/** 4. Define the database secret (optional) + * + * This need only for this example to edit the database rules for you and required the + * authentication bypass. + * + * If you edit the database rules manually, this legacy database secret is not required. + */ +#define DATABASE_SECRET "DATABASE_SECRET" + +/* 5. Define the Firebase Data object */ +FirebaseData fbdo; + +/* 6. Define the FirebaseAuth data for authentication data */ +FirebaseAuth auth; + +/* 7. Define the FirebaseConfig data for config data */ +FirebaseConfig config; + +unsigned long dataMillis = 0; +int count = 0; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the certificate file (optional) */ + // config.cert.file = "/cert.cer"; + // config.cert.file_storage = mem_storage_type_flash; + + /* Assign the api key (required) */ + config.api_key = API_KEY; + + /* The file systems for flash and SD/SDMMC can be changed in FirebaseFS.h. */ + + /* Assign the sevice account JSON file and the file storage type (required) */ + config.service_account.json.path = "/service_account_file.json"; // change this for your json file + config.service_account.json.storage_type = mem_storage_type_flash; // or mem_storage_type_sd + + /** Assign the unique user ID (uid) (required) + * This uid will be compare to the auth.uid variable in the database rules. + * + * If the assigned uid (user UID) was not existed, the new user will be created. + * + * If the uid is empty or not assigned, the library will create the OAuth2.0 access token + * instead. + * + * With OAuth2.0 access token, the device will be signed in as admin which has + * the full ggrant access and no database rules and custom claims are applied. + * This similar to sign in using the database secret but no admin rights. + */ + auth.token.uid = "Node1"; + + /* Assign the RTDB URL */ + config.database_url = DATABASE_URL; + + /** Assign the custom claims (optional) + * This uid will be compare to the auth.token.premium_account variable + * (for this case) in the database rules. + */ + FirebaseJson claims; + claims.add("premium_account", true); + claims.add("admin", true); + auth.token.claims = claims.raw(); + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + fbdo.setResponseSize(4096); + + /* path for user data is now "/UsersData/Node1" */ + String base_path = "/UsersData/"; + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + /** To set system time with the timestamp from RTC + * The internal NTP server time acquisition + * of token generation process will be skipped, + * if the system time is already set. + * + * sec is the seconds from midnight Jan 1, 1970 + */ + // Firebase.setSystemTime(sec); + + /* Now we start to signin using custom token */ + + /** Initialize the library with the Firebase authen and config. + * + * The device time will be set by sending request to the NTP server + * befor token generation and exchanging. + * + * The signed RSA256 jwt token will be created and used for id token exchanging. + * + * Theses process may take time to complete. + */ + Firebase.begin(&config, &auth); + + /** Now modify the database rules (if not yet modified) + * + * The user, Node1 in this case will be granted to read and write + * at the curtain location i.e. "/UsersData/Node1" and we will also check the + * custom claims in the rules which must be matched. + * + * If you database rules has been modified, please comment this code out. + * + * The character $ is to make a wildcard variable (can be any name) represents any node key + * which located at some level in the rule structure and use as reference variable + * in .read, .write and .validate rules + * + * For this case $userId represents any node that places under UsersData node i.e. + * /UsersData/ which is user UID or "Node1" in this case. + * + * Please check your the database rules to see the changes after run the below code. + */ + String var = "$userId"; + String val = "($userId === auth.uid && auth.token.premium_account === true && auth.token.admin === true)"; + Firebase.RTDB.setReadWriteRules(&fbdo, base_path, var, val, val, DATABASE_SECRET); + + /** + * The custom token which created internally in this library will use + * to exchange with the id token returns from the server. + * + * The id token is the token which used to sign in as a user. + * + * The id token was already saved to the config data (FirebaseConfig data variable) that + * passed to the Firebase.begin function. + * + * The id token can be accessed from Firebase.getToken(). + * + * The refresh token can be accessed from Firebase.getRefreshToken(). + */ +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (millis() - dataMillis > 5000 && Firebase.ready()) + { + dataMillis = millis(); + String path = "/UsersData/"; + path += auth.token.uid.c_str(); //<- user uid is "Node1" + path += "/test/int"; + Serial.printf("Set int... %s\n", Firebase.RTDB.setInt(&fbdo, path, count++) ? "ok" : fbdo.errorReason().c_str()); + } +} diff --git a/examples/Authentications/SignInAsUser/EmailPassword/EmailPassword.ino b/examples/Authentications/SignInAsUser/EmailPassword/EmailPassword.ino new file mode 100644 index 000000000..7292abc0c --- /dev/null +++ b/examples/Authentications/SignInAsUser/EmailPassword/EmailPassword.ino @@ -0,0 +1,203 @@ + +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +/** This example will show how to authenticate as a user with Email and password. + * + * You need to enable Email/Password provider. + * In Firebase console, select Authentication, select Sign-in method tab, + * under the Sign-in providers list, enable Email/Password provider. + * + * From this example, the user will be granted to access the specific location that matches + * the user uid. + * + * This example will modify the database rules to set up the security rule which need to + * guard the unauthorized access with the user Email. + */ +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +// Provide the RTDB payload printing info and other helper functions. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/** 2. Define the API key + * + * The API key (required) can be obtained since you created the project and set up + * the Authentication in Firebase console. Then you will get the API key from + * Firebase project Web API key in Project settings, on General tab should show the + * Web API Key. + * + * You may need to enable the Identity provider at https://console.cloud.google.com/customer-identity/providers + * Select your project, click at ENABLE IDENTITY PLATFORM button. + * The API key also available by click at the link APPLICATION SETUP DETAILS. + * + */ +#define API_KEY "API_KEY" + +/* 3. Define the user Email and password that already registerd or added in your project */ +#define USER_EMAIL "USER_EMAIL" +#define USER_PASSWORD "USER_PASSWORD" + +/* 4. If work with RTDB, define the RTDB URL */ +#define DATABASE_URL "URL" //.firebaseio.com or ..firebasedatabase.app + +/** 5. Define the database secret (optional) + * + * This database secret needed only for this example to modify the database rules + * + * If you edit the database rules yourself, this is not required. + */ +#define DATABASE_SECRET "DATABASE_SECRET" + +/* 6. Define the Firebase Data object */ +FirebaseData fbdo; + +/* 7. Define the FirebaseAuth data for authentication data */ +FirebaseAuth auth; + +/* 8. Define the FirebaseConfig data for config data */ +FirebaseConfig config; + +unsigned long dataMillis = 0; +int count = 0; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the api key (required) */ + config.api_key = API_KEY; + + /* Assign the user sign in credentials */ + auth.user.email = USER_EMAIL; + auth.user.password = USER_PASSWORD; + + /* Assign the RTDB URL */ + config.database_url = DATABASE_URL; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + fbdo.setResponseSize(4096); + + String base_path = "/UsersData/"; + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + /* Initialize the library with the Firebase authen and config */ + Firebase.begin(&config, &auth); + + /** Now modify the database rules (if not yet modified) + * + * The user, in this case will be granted to read and write + * at the certain location i.e. "/UsersData/". + * + * If you database rules has been modified, please comment this code out. + * + * The character $ is to make a wildcard variable (can be any name) represents any node key + * which located at some level in the rule structure and use as reference variable + * in .read, .write and .validate rules + * + * For this case $userId represents any node that places under UsersData node i.e. + * /UsersData/ which is user UID. + * + * Please check your the database rules to see the changes after run the below code. + */ + String var = "$userId"; + String val = "($userId === auth.uid && auth.token.premium_account === true && auth.token.admin === true)"; + Firebase.RTDB.setReadWriteRules(&fbdo, base_path, var, val, val, DATABASE_SECRET); + + /** path for user data is now "/UsersData/" + * + * The id token can be accessed from Firebase.getToken(). + * + * The refresh token can be accessed from Firebase.getRefreshToken(). + */ +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (millis() - dataMillis > 5000 && Firebase.ready()) + { + dataMillis = millis(); + String path = "/UsersData/"; + path += auth.token.uid.c_str(); //<- user uid of current user that sign in with Emal/Password + path += "/test/int"; + Serial.printf("Set int... %s\n", Firebase.RTDB.setInt(&fbdo, path, count++) ? "ok" : fbdo.errorReason().c_str()); + + // You can use refresh token from Firebase.getRefreshToken() to sign in next time without providing Email and Password. + // See SignInWithRefreshIDToken example. + } +} diff --git a/examples/Authentications/SignInWithAccessToken/SignInWithAccessToken.ino b/examples/Authentications/SignInWithAccessToken/SignInWithAccessToken.ino new file mode 100644 index 000000000..3a64deefc --- /dev/null +++ b/examples/Authentications/SignInWithAccessToken/SignInWithAccessToken.ino @@ -0,0 +1,141 @@ + +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +/* This example shows how to authenticate using the OAuth2.0 access token generated from other app. */ +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +// Provide the RTDB payload printing info and other helper functions. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/* 2. If work with RTDB, define the RTDB URL */ +#define DATABASE_URL "URL" //.firebaseio.com or ..firebasedatabase.app + +/* 3. Define the Firebase Data object */ +FirebaseData fbdo; + +/* 4. Define the FirebaseAuth data for authentication data */ +FirebaseAuth auth; + +/* 5. Define the FirebaseConfig data for config data */ +FirebaseConfig config; + +unsigned long dataMillis = 0; +int count = 0; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the RTDB URL */ + config.database_url = DATABASE_URL; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // To refresh the token 5 minutes before expired + config.signer.preRefreshSeconds = 5 * 60; + + /* Set access token */ + // The access token obtained from other apps using OAuth2.0 authentication. + + // The APIs scopes that cover all library applications should include the following + // https://www.googleapis.com/auth/devstorage.full_control + // https://www.googleapis.com/auth/datastore + // https://www.googleapis.com/auth/userinfo.email + // https://www.googleapis.com/auth/firebase.database + // https://www.googleapis.com/auth/cloud-platform + // https://www.googleapis.com/auth/iam + + // Refresh token, Client ID and Client Secret are required for OAuth2.0 token refreshing. + // The Client ID and Client Secret can be taken from https://console.developers.google.com/apis/credentials + + // If Refresh token was not assigned or empty string, the id token will not refresh when it expired. + Firebase.setAccessToken(&config, "" /* access token */, 3600 /* expiry time */, "" /* refresh token */, "" /* client id */, "" /* client secret */); + + Firebase.begin(&config, &auth); +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (millis() - dataMillis > 5000 && Firebase.ready()) + { + dataMillis = millis(); + Serial.printf("Set int... %s\n", Firebase.RTDB.setInt(&fbdo, "/test/int", count++) ? "ok" : fbdo.errorReason().c_str()); + } +} diff --git a/examples/Authentications/SignInWithCustomToken/SignInWithCustomToken.ino b/examples/Authentications/SignInWithCustomToken/SignInWithCustomToken.ino new file mode 100644 index 000000000..df2b1f101 --- /dev/null +++ b/examples/Authentications/SignInWithCustomToken/SignInWithCustomToken.ino @@ -0,0 +1,146 @@ + +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +/* This example shows how to authenticate using the Identity Platform custom token (custom claims signed JWT token) generated from other app. */ +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +// Provide the RTDB payload printing info and other helper functions. +#include + +/** 1. Define the API key + * + * The API key can be obtained since you created the project and set up + * the Authentication in Firebase console. + * + * You may need to enable the Identity provider at https://console.cloud.google.com/customer-identity/providers + * Select your project, click at ENABLE IDENTITY PLATFORM button. + * The API key also available by click at the link APPLICATION SETUP DETAILS. + * + */ +#define API_KEY "API_KEY" + +/* 2. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/* 3. If work with RTDB, define the RTDB URL */ +#define DATABASE_URL "URL" //.firebaseio.com or ..firebasedatabase.app + +/* 4. Define the Firebase Data object */ +FirebaseData fbdo; + +/* 5. Define the FirebaseAuth data for authentication data */ +FirebaseAuth auth; + +/* 6. Define the FirebaseConfig data for config data */ +FirebaseConfig config; + +unsigned long dataMillis = 0; +int count = 0; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the api key (required) */ + config.api_key = API_KEY; + + /* Assign the RTDB URL */ + config.database_url = DATABASE_URL; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // To refresh the token 5 minutes before expired + config.signer.preRefreshSeconds = 5 * 60; + + /* Set custom token */ + // If the refresh token from Custom token verification or sign in, was assigned here instead of + // custom token (signed JWT token), the token refresh process will be performed immediately. + + // Any token that is not in the form header.payload.signature i.e., xxxxx.yyyyy.zzzzz will be treated as refresh token. + Firebase.setCustomToken(&config, "" /* custom token */); + + Firebase.begin(&config, &auth); +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (millis() - dataMillis > 5000 && Firebase.ready()) + { + dataMillis = millis(); + Serial.printf("Set int... %s\n", Firebase.RTDB.setInt(&fbdo, "/test/int", count++) ? "ok" : fbdo.errorReason().c_str()); + } +} diff --git a/examples/Authentications/SignInWithIDToken/SignInWithIDToken.ino b/examples/Authentications/SignInWithIDToken/SignInWithIDToken.ino new file mode 100644 index 000000000..043fc67fb --- /dev/null +++ b/examples/Authentications/SignInWithIDToken/SignInWithIDToken.ino @@ -0,0 +1,145 @@ + +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +/* This example shows how to authenticate using the ID token generated from other app. */ +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +// Provide the RTDB payload printing info and other helper functions. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/** 2. Define the API key + * + * The API key can be obtained since you created the project and set up + * the Authentication in Firebase console. + * + * You may need to enable the Identity provider at https://console.cloud.google.com/customer-identity/providers + * Select your project, click at ENABLE IDENTITY PLATFORM button. + * The API key also available by click at the link APPLICATION SETUP DETAILS. + * + */ +#define API_KEY "API_KEY" + +/* 3. If work with RTDB, define the RTDB URL */ +#define DATABASE_URL "URL" //.firebaseio.com or ..firebasedatabase.app + +/* 4. Define the Firebase Data object */ +FirebaseData fbdo; + +/* 5. Define the FirebaseAuth data for authentication data */ +FirebaseAuth auth; + +/* 6. Define the FirebaseConfig data for config data */ +FirebaseConfig config; + +unsigned long dataMillis = 0; +int count = 0; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the API key (required) */ + config.api_key = API_KEY; + + /* Assign the RTDB URL */ + config.database_url = DATABASE_URL; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // To refresh the token 5 minutes before expired + config.signer.preRefreshSeconds = 5 * 60; + + /* Set ID token */ + // The ID token obtained from other apps e.g. Firebase Admin. + // The Refresh token for token refreshment which used when token was expired. + // If Refresh token was not assigned or empty string, the ID token will not refresh when it expired. + Firebase.setIdToken(&config, "", 3600 /* expiry time */, "" /* refresh token */); + + Firebase.begin(&config, &auth); +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (millis() - dataMillis > 5000 && Firebase.ready()) + { + dataMillis = millis(); + Serial.printf("Set int... %s\n", Firebase.RTDB.setInt(&fbdo, "/test/int", count++) ? "ok" : fbdo.errorReason().c_str()); + } +} diff --git a/examples/Authentications/SignInWithRefreshAccessToken/SignInWithRefreshAccessToken.ino b/examples/Authentications/SignInWithRefreshAccessToken/SignInWithRefreshAccessToken.ino new file mode 100644 index 000000000..d7b5aeac1 --- /dev/null +++ b/examples/Authentications/SignInWithRefreshAccessToken/SignInWithRefreshAccessToken.ino @@ -0,0 +1,133 @@ + +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +/* This example shows how to re-authenticate using the refresh token generated from other app via OAuth2.0 authentication. */ +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +// Provide the RTDB payload printing info and other helper functions. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/* 2. If work with RTDB, define the RTDB URL */ +#define DATABASE_URL "URL" //.firebaseio.com or ..firebasedatabase.app + +/* 3. Define the Firebase Data object */ +FirebaseData fbdo; + +/* 4. Define the FirebaseAuth data for authentication data */ +FirebaseAuth auth; + +/* 5. Define the FirebaseConfig data for config data */ +FirebaseConfig config; + +unsigned long dataMillis = 0; +int count = 0; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the RTDB URL */ + config.database_url = DATABASE_URL; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // To refresh the token 5 minutes before expired + config.signer.preRefreshSeconds = 5 * 60; + + // Use refresh token and force token to refresh immediately + // Refresh token, Client ID and Client Secret are required for OAuth2.0 token refreshing. + // The Client ID and Client Secret can be taken from https://console.developers.google.com/apis/credentials + + Firebase.setAccessToken(&config, "" /* set access token to empty to refresh token immediately */, 3600 /* expiry time */, "" /* refresh token */, "" /* client id */, "" /* client secret */); + + // Or refresh token manually + // Firebase.refreshToken(&config); + + Firebase.begin(&config, &auth); +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (millis() - dataMillis > 5000 && Firebase.ready()) + { + dataMillis = millis(); + Serial.printf("Set int... %s\n", Firebase.RTDB.setInt(&fbdo, "/test/int", count++) ? "ok" : fbdo.errorReason().c_str()); + } +} diff --git a/examples/Authentications/SignInWithRefreshIDToken/SignInWithRefreshIDToken.ino b/examples/Authentications/SignInWithRefreshIDToken/SignInWithRefreshIDToken.ino new file mode 100644 index 000000000..b0a863a70 --- /dev/null +++ b/examples/Authentications/SignInWithRefreshIDToken/SignInWithRefreshIDToken.ino @@ -0,0 +1,148 @@ + +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +/* This example shows how to re-authenticate using the refresh token generated from other app. */ +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +// Provide the RTDB payload printing info and other helper functions. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/** 2. Define the API key + * + * The API key (required) can be obtained since you created the project and set up + * the Authentication in Firebase console. Then you will get the API key from + * Firebase project Web API key in Project settings, on General tab should show the + * Web API Key. + * + * You may need to enable the Identity provider at https://console.cloud.google.com/customer-identity/providers + * Select your project, click at ENABLE IDENTITY PLATFORM button. + * The API key also available by click at the link APPLICATION SETUP DETAILS. + * + */ +#define API_KEY "API_KEY" + +/* 3. If work with RTDB, define the RTDB URL */ +#define DATABASE_URL "URL" //.firebaseio.com or ..firebasedatabase.app + +/* 4. Define the Firebase Data object */ +FirebaseData fbdo; + +/* 5. Define the FirebaseAuth data for authentication data */ +FirebaseAuth auth; + +/* 6. Define the FirebaseConfig data for config data */ +FirebaseConfig config; + +unsigned long dataMillis = 0; +int count = 0; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the API key (required) */ + config.api_key = API_KEY; + + /* Assign the RTDB URL */ + config.database_url = DATABASE_URL; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // To refresh the token 5 minutes before expired + config.signer.preRefreshSeconds = 5 * 60; + + // Use refresh token and force token to refresh immediately + // Refresh token is required for id token refreshing. + Firebase.setIdToken(&config, "" /* set id token to empty to refresh token immediately */, 3600 /* expiry time */, ""); + + // Or refresh token manually + // Firebase.refreshToken(&config); + + Firebase.begin(&config, &auth); +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (millis() - dataMillis > 5000 && Firebase.ready()) + { + dataMillis = millis(); + Serial.printf("Set int... %s\n", Firebase.RTDB.setInt(&fbdo, "/test/int", count++) ? "ok" : fbdo.errorReason().c_str()); + } +} diff --git a/examples/Authentications/TestMode/TestMode.ino b/examples/Authentications/TestMode/TestMode.ino new file mode 100644 index 000000000..bc09cc76e --- /dev/null +++ b/examples/Authentications/TestMode/TestMode.ino @@ -0,0 +1,135 @@ + +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +/** This example will show how to access the RTDB in Test Mode (no authentication). + */ +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the RTDB payload printing info and other helper functions. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/* 2. Define the RTDB URL */ +#define DATABASE_URL "URL" //.firebaseio.com or ..firebasedatabase.app + +/* 3. Define the Firebase Data object */ +FirebaseData fbdo; + +/* 4, Define the FirebaseAuth data for authentication data */ +FirebaseAuth auth; + +/* Define the FirebaseConfig data for config data */ +FirebaseConfig config; + +unsigned long dataMillis = 0; +int count = 0; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the certificate file (optional) */ + // config.cert.file = "/cert.cer"; + // config.cert.file_storage = StorageType::FLASH; + + /* Assign the database URL(required) */ + config.database_url = DATABASE_URL; + + config.signer.test_mode = true; + + /** + Set the database rules to allow public read and write. + + { + "rules": { + ".read": true, + ".write": true + } + } + + */ + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + /* Initialize the library with the Firebase authen and config */ + Firebase.begin(&config, &auth); + + // Or use legacy authenticate method + // Firebase.begin(DATABASE_URL, DATABASE_SECRET); +} + +void loop() +{ + if (millis() - dataMillis > 5000) + { + dataMillis = millis(); + Serial.printf("Set int... %s\n", Firebase.RTDB.setInt(&fbdo, "/test/int", count++) ? "ok" : fbdo.errorReason().c_str()); + } +} diff --git a/examples/Authentications/UserManagement/ResetPassword/ResetPassword.ino b/examples/Authentications/UserManagement/ResetPassword/ResetPassword.ino new file mode 100644 index 000000000..6b385c3fa --- /dev/null +++ b/examples/Authentications/UserManagement/ResetPassword/ResetPassword.ino @@ -0,0 +1,111 @@ + +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +/** This example will show how to send the reset password link to user Email. + * + */ +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/** 2. Define the API key + * + * The API key can be obtained since you created the project and set up + * the Authentication in Firebase console. + * + * You may need to enable the Identity provider at https://console.cloud.google.com/customer-identity/providers + * Select your project, click at ENABLE IDENTITY PLATFORM button. + * The API key also available by click at the link APPLICATION SETUP DETAILS. + * + */ +#define API_KEY "API_KEY" + +/* 3. Define the user Email to reset the password */ +#define USER_EMAIL "USER_EMAIL" + +/* 4. If work with RTDB, define the RTDB URL */ +#define DATABASE_URL "URL" //.firebaseio.com or ..firebasedatabase.app + +/* 5. Define the FirebaseConfig data for config data */ +FirebaseConfig config; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the API key (required) */ + config.api_key = API_KEY; + + /* Assign the RTDB URL */ + config.database_url = DATABASE_URL; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + Serial.printf("Send Email reset password link... %s\n", Firebase.sendResetPassword(&config, USER_EMAIL) ? "ok" : config.signer.resetPswError.message.c_str()); +} + +void loop() +{ +} diff --git a/examples/Authentications/UserManagement/SendVerification/SendVerification.ino b/examples/Authentications/UserManagement/SendVerification/SendVerification.ino new file mode 100644 index 000000000..5edd935fd --- /dev/null +++ b/examples/Authentications/UserManagement/SendVerification/SendVerification.ino @@ -0,0 +1,155 @@ + +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +/** This example will show how to sign in with Email and password and send the verification Email. + * + * You need to enable Email/Password provider. + * In Firebase console, select Authentication, select Sign-in method tab, + * under the Sign-in providers list, enable Email/Password provider. + * + * In the database rules, you can guard the unverified user from access by adding "auth.token.email_verified == true" + */ +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +// Provide the RTDB payload printing info and other helper functions. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/** 2. Define the API key + * + * The API key can be obtained since you created the project and set up + * the Authentication in Firebase console. + * + * You may need to enable the Identity provider at https://console.cloud.google.com/customer-identity/providers + * Select your project, click at ENABLE IDENTITY PLATFORM button. + * The API key also available by click at the link APPLICATION SETUP DETAILS. + * + */ +#define API_KEY "API_KEY" + +/* 3. Define the user Email and password that already registerd or added in your project */ +#define USER_EMAIL "USER_EMAIL" +#define USER_PASSWORD "USER_PASSWORD" + +/* 4. If work with RTDB, define the RTDB URL */ +#define DATABASE_URL "URL" //.firebaseio.com or ..firebasedatabase.app + +/* 5. Define the Firebase Data object */ +FirebaseData fbdo; + +/* 6. Define the FirebaseAuth data for authentication data */ +FirebaseAuth auth; + +/* 7. Define the FirebaseConfig data for config data */ +FirebaseConfig config; + +unsigned long dataMillis = 0; +int count = 0; +bool signupOK = false; + +bool mailSent = false; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the API key (required) */ + config.api_key = API_KEY; + + /* Assign the RTDB URL */ + config.database_url = DATABASE_URL; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + /* Assign the user sign in credentials */ + auth.user.email = USER_EMAIL; + auth.user.password = USER_PASSWORD; + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + /* Initialize the library with the Firebase authen and config */ + Firebase.begin(&config, &auth); +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready() && !mailSent) + { + mailSent = true; + Serial.printf("Send Email verification... %s\n", Firebase.sendEmailVerification(&config) ? "ok" : config.signer.verificationError.message.c_str()); + } +} diff --git a/examples/Authentications/UserManagement/Signup/Signup.ino b/examples/Authentications/UserManagement/Signup/Signup.ino new file mode 100644 index 000000000..f39d0081c --- /dev/null +++ b/examples/Authentications/UserManagement/Signup/Signup.ino @@ -0,0 +1,172 @@ + +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +/** This example will show how to sign up a new user with Email and password. + * + * You need to enable Email/Password provider. + * In Firebase console, select Authentication, select Sign-in method tab, + * under the Sign-in providers list, enable Email/Password provider. + */ +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +// Provide the RTDB payload printing info and other helper functions. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/** 2. Define the API key + * + * The API key can be obtained since you created the project and set up + * the Authentication in Firebase console. + * + * You may need to enable the Identity provider at https://console.cloud.google.com/customer-identity/providers + * Select your project, click at ENABLE IDENTITY PLATFORM button. + * The API key also available by click at the link APPLICATION SETUP DETAILS. + * + */ +#define API_KEY "WEB_API_KEY" + +/* 3. If work with RTDB, define the RTDB URL */ +#define DATABASE_URL "URL" //.firebaseio.com or ..firebasedatabase.app + +/* 4. Define the Firebase Data object */ +FirebaseData fbdo; + +/* 5. Define the FirebaseAuth data for authentication data */ +FirebaseAuth auth; + +/* 6. Define the FirebaseConfig data for config data */ +FirebaseConfig config; + +unsigned long dataMillis = 0; +int count = 0; +bool signupOK = false; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the API key (required) */ + config.api_key = API_KEY; + + /* Assign the RTDB URL */ + config.database_url = DATABASE_URL; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + Serial.print("Sign up new user... "); + + /* Sign up */ + if (Firebase.signUp(&config, &auth, "test_user@gmail.com", "password")) + { + Serial.println("ok"); + signupOK = true; + + /** if the database rules were set as in the example "EmailPassword.ino" + * This new user can be access the following location. + * + * "/UsersData/" + * + * The new user UID can be taken from auth.token.uid + */ + } + else + Serial.printf("%s\n", config.signer.signupError.message.c_str()); + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + /** The id token (C++ string) will be available from config.signer.tokens.id_token + * if the sig-up was successful. + * + * Now you can initialize the library using the internal created credentials. + * + * If the sign-up was failed, the following function will initialize because + * the internal authentication credentials are not created. + */ + Firebase.begin(&config, &auth); +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (millis() - dataMillis > 5000 && signupOK && Firebase.ready()) + { + dataMillis = millis(); + String path = "/UsersData/"; + path += auth.token.uid.c_str(); //<- user uid + path += "/test/int"; + Serial.printf("Set int... %s\n", Firebase.RTDB.setInt(&fbdo, path, count++) ? "ok" : fbdo.errorReason().c_str()); + } +} \ No newline at end of file diff --git a/examples/CloudFunctions/CallFunction/CallFunction.ino b/examples/CloudFunctions/CallFunction/CallFunction.ino new file mode 100644 index 000000000..4d0789ff7 --- /dev/null +++ b/examples/CloudFunctions/CallFunction/CallFunction.ino @@ -0,0 +1,177 @@ + +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +/** Prerequisites + * + * Cloud Functions deployment requires the pay-as-you-go (Blaze) billing plan. + * + * IAM owner permission required for service account used and Cloud Build API must be enabled, + * https://github.com/mobizt/Firebase-ESP-Client#iam-permission-and-api-enable + */ + +/** This example shows how to call the Cloud Function. + * This operation required OAUth2.0 authentication. + */ + +/** Due to the processing power in ESP8266 is weaker than ESP32, the OAuth2.0 token generation takes time then this example + * will check for token to be ready in loop prior to call the Cloud Function. + */ + +// This call example is for test only, do not use in the production due to quota limit of calls. +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/** 2. Define the Service Account credentials (required for token generation) + * + * This information can be taken from the service account JSON file. + * + * To download service account file, from the Firebase console, goto project settings, + * select "Service accounts" tab and click at "Generate new private key" button + */ +#define FIREBASE_PROJECT_ID "PROJECT_ID" +#define FIREBASE_CLIENT_EMAIL "CLIENT_EMAIL" +const char PRIVATE_KEY[] PROGMEM = "-----BEGIN PRIVATE KEY-----XXXXXXXXXXXX-----END PRIVATE KEY-----\n"; + +/* 3. Define the project location e.g. us-central1 or asia-northeast1 */ +// https://firebase.google.com/docs/projects/locations +#define PROJECT_LOCATION "PROJECT_LOCATION" + +/* 4. If work with RTDB, define the RTDB URL */ +#define DATABASE_URL "URL" //.firebaseio.com or ..firebasedatabase.app + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +bool taskCompleted = false; + +unsigned long dataMillis = 0; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +/* The function to call the Cloud Function */ +void callFunction(); + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the Service Account credentials */ + config.service_account.data.client_email = FIREBASE_CLIENT_EMAIL; + config.service_account.data.project_id = FIREBASE_PROJECT_ID; + config.service_account.data.private_key = PRIVATE_KEY; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + /* Assign the RTDB URL */ + config.database_url = DATABASE_URL; + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + Firebase.begin(&config, &auth); +} + +void loop() +{ + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready() && !taskCompleted) + { + callFunction(); + taskCompleted = true; + } +} + +void callFunction() +{ + // Assumed that the function named helloWorld is already created and deployed for project. + + // In the function script file, values can be obtained from http trigger function request e.g. req as following. + // req.body.info.name + // req.body.info.age + + // See the index.js in helloWorld.zip in CreateFunctionWithCallback + + Serial.print("Call the Cloud Function... "); + + // For the usage of FirebaseJson, see examples/FirebaseJson/BasicUsage/Create.ino + FirebaseJson payload; + payload.set("info/name", "Paul"); + payload.set("info/age", 30); + + if (Firebase.Functions.callFunction(&fbdo, FIREBASE_PROJECT_ID /* project id */, PROJECT_LOCATION /* location id */, "helloWorld" /* function name */, payload.raw() /* data pass to Cloud function (serialized JSON string) */)) + Serial.printf("ok\n%s\n\n", fbdo.payload().c_str()); + else + Serial.println(fbdo.errorReason()); +} diff --git a/examples/CloudFunctions/CreateFunction/CreateFunctionFromSources/CreateFunctionFromSources.ino b/examples/CloudFunctions/CreateFunction/CreateFunctionFromSources/CreateFunctionFromSources.ino new file mode 100644 index 000000000..08dba3aa8 --- /dev/null +++ b/examples/CloudFunctions/CreateFunction/CreateFunctionFromSources/CreateFunctionFromSources.ino @@ -0,0 +1,260 @@ + +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +/** Prerequisites + * + * Cloud Functions deployment requires the pay-as-you-go (Blaze) billing plan. + * + * IAM owner permission required for service account used and Cloud Build API must be enabled, + * https://github.com/mobizt/Firebase-ESP-Client#iam-permission-and-api-enable + */ + +/** This example shows how to create (deploy) the Cloud Function from your source code files stored in the Storage data bucket. + * + * This operation required OAUth2.0 authentication. The example "Deploy_autozip_Function" should be run prior to use this exanple, + * please see the details below. + */ + +/** Actually the zip archive is required for function deployment via the REST APIs which it may be hosted at the repository or uploaded or + * stored in the Storage bucket. + * + * To deploy the function from sources, all files need to be compressed to a single zip archive. + * + * This library provides the special option to deploy the function from sources files instead of a zip archive. + * + * Since the implementation of zip compression required the hundreds to megabytes memory for operation and is not suitable for the low memory devices. + * + * The zip compression will processs on the cloud then upload to the Cloud Storage via the backend Cloud Function which provided by the library, called autozip. + * + * The Cloud function called autozip is used for this backend operation for zip compression and upload. + * + * Then you need to deploy the autozip function prior to run this example by running the "Deploy_autozip_Function" example. + */ + +/** The pointer, points to the operation info assigned to the create function will provide the progress of deployment that can be accessed later. + * + * The Cloud Function source code files to deploy with this example will be compress as a single zip archive. + * + * This zip file can be stored in the Firebase Storage data bucket or the repository or in local device storage e.g. flash and SD memory. + * + * In case the archive file in the local memory was choosn, the file will be upload to the Google Cloud Storage bucket automatically in the creation process. + */ + +/** Due to the processing power in ESP8266 is weaker than ESP32, the OAuth2.0 token generation takes time then this example + * will check for token to be ready in loop prior to create the Cloud Function. + * + * The Cloud Function creation (deploy) is the long running operation, + * the final result may fail due to bugs in the user function, missing dependencies, + * and incorrect configurations. + */ +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/** 2. Define the Service Account credentials (required for token generation) + * + * This information can be taken from the service account JSON file. + * + * To download service account file, from the Firebase console, goto project settings, + * select "Service accounts" tab and click at "Generate new private key" button + */ +#define FIREBASE_PROJECT_ID "PROJECT_ID" +#define FIREBASE_CLIENT_EMAIL "CLIENT_EMAIL" +const char PRIVATE_KEY[] PROGMEM = "-----BEGIN PRIVATE KEY-----XXXXXXXXXXXX-----END PRIVATE KEY-----\n"; + +/* 3. Define the project location e.g. us-central1 or asia-northeast1 */ +// https://firebase.google.com/docs/projects/locations +#define PROJECT_LOCATION "PROJECT_LOCATION" + +/* 4. Define the Firebase storage bucket ID e.g bucket-name.appspot.com */ +#define STORAGE_BUCKET_ID "BUCKET-NAME.appspot.com" + +/* 5. If work with RTDB, define the RTDB URL */ +#define DATABASE_URL "URL" //.firebaseio.com or ..firebasedatabase.app + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +// We need to define the FunctionsConfig, PolicyBuilder and Binding data to keep the function and triggers configuaration and IAM policy. +// These objects should declare as global objects or static to prevent the stack overflow. +PolicyBuilder policy; +Binding binding; +FunctionsConfig function_config(FIREBASE_PROJECT_ID /* project id */, PROJECT_LOCATION /* location id */, STORAGE_BUCKET_ID /* bucket id */); + +bool taskCompleted = false; + +unsigned long dataMillis = 0; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +/* The function to create and deploy Cloud Function */ +void creatFunction(); + +/* The function to show the Cloud Function deployment status */ +void functionCreationCallback(FunctionsOperationStatusInfo info); + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the Service Account credentials */ + config.service_account.data.client_email = FIREBASE_CLIENT_EMAIL; + config.service_account.data.project_id = FIREBASE_PROJECT_ID; + config.service_account.data.private_key = PRIVATE_KEY; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + /* Assign the RTDB URL */ + config.database_url = DATABASE_URL; + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + Firebase.begin(&config, &auth); +} + +void loop() +{ + // Firebase.ready() should be called repeatedly to handle authentication tasks. + +#if !defined(ESP32) && !defined(ESP8266) + if (Firebase.ready()) + Firebase.Functions.runDeployTasks(); +#endif + + if (Firebase.ready() && !taskCompleted) + { + creatFunction(); + taskCompleted = true; + } +} + +/* The function to create and deploy Cloud Function */ +void creatFunction() +{ + // You need to deploy the autozip function prior to run this example by running the "Deploy_autozip_Function.ino" + + function_config.setName("helloWorld"); + function_config.setDescription("test"); + function_config.setEntryPoint("helloWorld"); + function_config.setRuntime("nodejs12"); + function_config.setTimeout(60); + function_config.setAvailableMemoryMb(256); + function_config.setMaxInstances(10); + + // If the function source code files stored in the bucket at, "functions/helloWorld" + function_config.setSource("functions/helloWorld" /* relative path (folder) in the Firebase Storage data bucket that stores source code files */, functions_sources_type_storage_bucket_sources /* source type */); + + function_config.setIngressSettings("ALLOW_ALL"); + + // Set up the IAM policy + binding.setRole("roles/cloudfunctions.invoker"); + binding.addMember("allUsers"); + policy.addBinding(&binding); + + function_config.setIamPolicy(&policy); + + Serial.println("Create the Googgle Cloud Function..."); + + Firebase.Functions.createFunction(&fbdo, &function_config /* FunctionsConfig */, functionCreationCallback /* the callback function */); +} + +/* The function to show the Cloud Function deployment status */ +void functionCreationCallback(FunctionsOperationStatusInfo statusInfo) +{ + if (statusInfo.status == firebase_functions_operation_status_unknown) + Serial.printf("%s: Unknown\n", statusInfo.functionId.c_str()); + else if (statusInfo.status == firebase_functions_operation_status_generate_upload_url) + Serial.printf("%s: Generate the upload Url...\n", statusInfo.functionId.c_str()); + else if (statusInfo.status == firebase_functions_operation_status_upload_source_file_in_progress) + Serial.printf("%s: Uploading file...\n", statusInfo.functionId.c_str()); + else if (statusInfo.status == firebase_functions_operation_status_deploy_in_progress) + Serial.printf("%s: Deploying function...\n", statusInfo.functionId.c_str()); + else if (statusInfo.status == firebase_functions_operation_status_set_iam_policy_in_progress) + Serial.printf("%s: Set the IAM policy...\n", statusInfo.functionId.c_str()); + else if (statusInfo.status == firebase_functions_operation_status_delete_in_progress) + Serial.printf("%s: Delete the function...\n", statusInfo.functionId.c_str()); + else if (statusInfo.status == firebase_functions_operation_status_finished) + { + Serial.printf("%s: success\n", statusInfo.functionId.c_str()); + Serial.print("Trigger Url: "); + Serial.println(statusInfo.triggerUrl.c_str()); + Serial.println(); + } + else if (statusInfo.status == firebase_functions_operation_status_error) + { + Serial.printf("%s: Error, ", statusInfo.functionId.c_str()); + Serial.println(statusInfo.errorMsg.c_str()); + Serial.println(); + } +} \ No newline at end of file diff --git a/examples/CloudFunctions/CreateFunction/CreateFunctionWithCallback/CreateFunctionWithCallback.ino b/examples/CloudFunctions/CreateFunction/CreateFunctionWithCallback/CreateFunctionWithCallback.ino new file mode 100644 index 000000000..d88d90d0c --- /dev/null +++ b/examples/CloudFunctions/CreateFunction/CreateFunctionWithCallback/CreateFunctionWithCallback.ino @@ -0,0 +1,254 @@ + +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +/** Prerequisites + * + * Cloud Functions deployment requires the pay-as-you-go (Blaze) billing plan. + * + * IAM owner permission required for service account used and Cloud Build API must be enabled, + * https://github.com/mobizt/Firebase-ESP-Client#iam-permission-and-api-enable + */ + +/* Cloud Functions deployment requires the pay-as-you-go (Blaze) billing plan. */ + +/** This example shows how to create (deploy) the Cloud Function. + * + * This operation required OAUth2.0 authentication. + */ + +/** The pointer, points to the operation info assigned to the create function will provide the progress of deployment that can be accessed later. + * + * The Cloud Function source code files to deploy with this example will be compress as a single zip archive. + * + * This zip file can be stored in the Firebase Storage data bucket or the repository or in local device storage e.g. flash and SD memory. + * + * In case the archive file in the local memory was choosn, the file will be upload to the Google Cloud Storage bucket automatically in the creation process. + */ + +/** Due to the processing power in ESP8266 is weaker than ESP32, the OAuth2.0 token generation takes time then this example + * will check for token to be ready in loop prior to create the Cloud Function. + * + * The Cloud Function creation (deploy) is the long running operation, + * the final result may fail due to bugs in the user function, missing dependencies, + * and incorrect configurations. + */ +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/** 2. Define the Service Account credentials (required for token generation) + * + * This information can be taken from the service account JSON file. + * + * To download service account file, from the Firebase console, goto project settings, + * select "Service accounts" tab and click at "Generate new private key" button + */ +#define FIREBASE_PROJECT_ID "PROJECT_ID" +#define FIREBASE_CLIENT_EMAIL "CLIENT_EMAIL" +const char PRIVATE_KEY[] PROGMEM = "-----BEGIN PRIVATE KEY-----XXXXXXXXXXXX-----END PRIVATE KEY-----\n"; + +/* 3. Define the project location e.g. us-central1 or asia-northeast1 */ +// https://firebase.google.com/docs/projects/locations +#define PROJECT_LOCATION "PROJECT_LOCATION" + +/* 4. Define the Firebase storage bucket ID e.g bucket-name.appspot.com */ +#define STORAGE_BUCKET_ID "BUCKET-NAME.appspot.com" + +/* 5. If work with RTDB, define the RTDB URL */ +#define DATABASE_URL "URL" //.firebaseio.com or ..firebasedatabase.app + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +// We need to define the FunctionsConfig, PolicyBuilder and Binding data to keep the function and triggers configuaration and IAM policy. +// These objects should declare as global objects or static to prevent the stack overflow. +PolicyBuilder policy; +Binding binding; +FunctionsConfig function_config(FIREBASE_PROJECT_ID /* project id */, PROJECT_LOCATION /* location id */, STORAGE_BUCKET_ID /* bucket id */); + +bool taskCompleted = false; + +unsigned long dataMillis = 0; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +/* The function to create and deploy Cloud Function */ +void creatFunction(); + +/* The function to show the Cloud Function deployment status */ +void functionCreationCallback(FunctionsOperationStatusInfo info); + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the Service Account credentials */ + config.service_account.data.client_email = FIREBASE_CLIENT_EMAIL; + config.service_account.data.project_id = FIREBASE_PROJECT_ID; + config.service_account.data.private_key = PRIVATE_KEY; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + /* Assign the RTDB URL */ + config.database_url = DATABASE_URL; + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + Firebase.begin(&config, &auth); +} + +void loop() +{ + // Firebase.ready() should be called repeatedly to handle authentication tasks. + +#if !defined(ESP32) && !defined(ESP8266) + if (Firebase.ready()) + Firebase.Functions.runDeployTasks(); +#endif + + if (Firebase.ready() && !taskCompleted) + { + creatFunction(); + taskCompleted = true; + } +} + +/* The function to create and deploy Cloud Function */ +void creatFunction() +{ + + function_config.setName("helloWorld"); + function_config.setDescription("test"); + function_config.setEntryPoint("helloWorld"); + function_config.setRuntime("nodejs12"); + function_config.setTimeout(60); + function_config.setAvailableMemoryMb(256); + function_config.setMaxInstances(10); + + // If the source code, "helloWorld.zip" is already stored in the Storage bucket + function_config.setSource("/helloWorld.zip" /* relative file path in the Firebase Storage data bucket */, functions_sources_type_storage_bucket_archive /* source type */); + + // or if it in the local memory storage i.e. flash or SD + // function_config.setSource("/helloWorld.zip" /* file path */, functions_sources_type_local_archive /* source type */, mem_storage_type_flash /* type of memory storage e.g. mem_storage_type_flash or mem_storage_type_sd */); + + // or the source code archive is hosted in the Cloud Storage repo + // function_config.setSource("PATH to zip file hosted on the repo", functions_sources_type_repository /* source type */); + // https://cloud.google.com/functions/docs/reference/rest/v1/projects.locations.functions#sourcerepository + + // or if you want to deploy the function from the source code files stored in the Storage data bucket instead of zip file + // function_config.setSource("functions/helloWorld" /* relative path (folder) in the Firebase Storage data bucket that stores source code files */, functions_sources_type_storage_bucket_sources /* source type */); + + function_config.setIngressSettings("ALLOW_ALL"); + + // Set up the IAM policy + binding.setRole("roles/cloudfunctions.invoker"); + binding.addMember("allUsers"); + policy.addBinding(&binding); + + function_config.setIamPolicy(&policy); + + Serial.println("Create the Googgle Cloud Function..."); + + Firebase.Functions.createFunction(&fbdo, &function_config /* FunctionsConfig */, functionCreationCallback /* the callback function */); +} + +/* The function to show the Cloud Function deployment status */ +void functionCreationCallback(FunctionsOperationStatusInfo statusInfo) +{ + if (statusInfo.status == firebase_functions_operation_status_unknown) + Serial.printf("%s: Unknown\n", statusInfo.functionId.c_str()); + else if (statusInfo.status == firebase_functions_operation_status_generate_upload_url) + Serial.printf("%s: Generate the upload Url...\n", statusInfo.functionId.c_str()); + else if (statusInfo.status == firebase_functions_operation_status_upload_source_file_in_progress) + Serial.printf("%s: Uploading file...\n", statusInfo.functionId.c_str()); + else if (statusInfo.status == firebase_functions_operation_status_deploy_in_progress) + Serial.printf("%s: Deploying function...\n", statusInfo.functionId.c_str()); + else if (statusInfo.status == firebase_functions_operation_status_set_iam_policy_in_progress) + Serial.printf("%s: Set the IAM policy...\n", statusInfo.functionId.c_str()); + else if (statusInfo.status == firebase_functions_operation_status_delete_in_progress) + Serial.printf("%s: Delete the function...\n", statusInfo.functionId.c_str()); + else if (statusInfo.status == firebase_functions_operation_status_finished) + { + Serial.printf("%s: success\n", statusInfo.functionId.c_str()); + Serial.print("Trigger Url: "); + Serial.println(statusInfo.triggerUrl.c_str()); + Serial.println(); + } + else if (statusInfo.status == firebase_functions_operation_status_error) + { + Serial.printf("%s: Error, ", statusInfo.functionId.c_str()); + Serial.println(statusInfo.errorMsg.c_str()); + Serial.println(); + } +} \ No newline at end of file diff --git a/examples/CloudFunctions/CreateFunction/CreateFunctionWithCallback/data/helloWorld.zip b/examples/CloudFunctions/CreateFunction/CreateFunctionWithCallback/data/helloWorld.zip new file mode 100644 index 000000000..1967ce48b Binary files /dev/null and b/examples/CloudFunctions/CreateFunction/CreateFunctionWithCallback/data/helloWorld.zip differ diff --git a/examples/CloudFunctions/CreateFunction/CreateFunctionWithEventTrigger/CreateFunctionWithEventTrigger.ino b/examples/CloudFunctions/CreateFunction/CreateFunctionWithEventTrigger/CreateFunctionWithEventTrigger.ino new file mode 100644 index 000000000..46321df0c --- /dev/null +++ b/examples/CloudFunctions/CreateFunction/CreateFunctionWithEventTrigger/CreateFunctionWithEventTrigger.ino @@ -0,0 +1,266 @@ + +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +/** Prerequisites + * + * Cloud Functions deployment requires the pay-as-you-go (Blaze) billing plan. + * + * IAM owner permission required for service account used and Cloud Build API must be enabled, + * https://github.com/mobizt/Firebase-ESP-Client#iam-permission-and-api-enable + */ + +/* Cloud Functions deployment requires the pay-as-you-go (Blaze) billing plan. */ + +/** This example shows how to create (deploy) the Cloud Function with event trigger was set. + * + * This operation required OAUth2.0 authentication. + * + * You need to upload the zip file "gcf.zip" in the data folder to the falsh memory at "/gcf.zip". + * + * File gcf.zip contains the sources of function firestoreImageDownloadTrigger. + * + * The name of zip file should be short to avoid long file name image data upload error in IDE. + * + * After the firestoreImageDownloadTrigger function in gcf.zip was deployed successfully, create the collection "ImageList" and try to add the document in it which contains the field url and name fields. + * The "url" field's value is the string type to specify the remore file url to download and upload to the storage bucket. + * The "name" field's value is the string type to specify the name of remote file (without extenssion). + * + * When the document created in "ImageList" collection with url and name fields inside, the Cloud Function, firestoreImageDownloadTrigger will be called, + * and file will be downloaded from the specified field "url" and upload to the Storage bucket at path "Images" with the name asssiggnd by the filed "name". + */ + +/** The pointer, points to the operation info assigned to the create function will provide the progress of deployment that can be accessed later. + * + * The Cloud Function source code files to deploy with this example will be compress as a single zip archive. + * + * This zip file can be stored in the Firebase Storage data bucket or the repository or in local device storage e.g. flash and SD memory. + * + * In case the archive file in the local memory was choosn, the file will be upload to the Google Cloud Storage bucket automatically in the creation process. + */ + +/** Due to the processing power in ESP8266 is weaker than ESP32, the OAuth2.0 token generation takes time then this example + * will check for token to be ready in loop prior to create the Cloud Function. + * + * The Cloud Function creation (deploy) is the long running operation, + * the final result may fail due to bugs in the user function, missing dependencies, + * and incorrect configurations. + */ +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/** 2. Define the Service Account credentials (required for token generation) + * + * This information can be taken from the service account JSON file. + * + * To download service account file, from the Firebase console, goto project settings, + * select "Service accounts" tab and click at "Generate new private key" button + */ +#define FIREBASE_PROJECT_ID "PROJECT_ID" +#define FIREBASE_CLIENT_EMAIL "CLIENT_EMAIL" +const char PRIVATE_KEY[] PROGMEM = "-----BEGIN PRIVATE KEY-----XXXXXXXXXXXX-----END PRIVATE KEY-----\n"; + +/* 3. Define the project location e.g. us-central1 or asia-northeast1 */ +// https://firebase.google.com/docs/projects/locations +#define PROJECT_LOCATION "PROJECT_LOCATION" + +/* 4. Define the Firebase storage bucket ID e.g bucket-name.appspot.com */ +#define STORAGE_BUCKET_ID "BUCKET-NAME.appspot.com" + +/* 5. If work with RTDB, define the RTDB URL */ +#define DATABASE_URL "URL" //.firebaseio.com or ..firebasedatabase.app + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +// We need to define the FunctionsConfig, PolicyBuilder and Binding data to keep the function and triggers configuaration and IAM policy. +// These objects should declare as global objects or static to prevent the stack overflow. +PolicyBuilder policy; +Binding binding; +FunctionsConfig function_config(FIREBASE_PROJECT_ID /* project id */, PROJECT_LOCATION /* location id */, STORAGE_BUCKET_ID /* bucket id */); + +bool taskCompleted = false; + +unsigned long dataMillis = 0; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +/* The function to create and deploy Cloud Function */ +void creatFunction(); + +/* The function to show the Cloud Function deployment status */ +void functionCreationCallback(FunctionsOperationStatusInfo info); + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the Service Account credentials */ + config.service_account.data.client_email = FIREBASE_CLIENT_EMAIL; + config.service_account.data.project_id = FIREBASE_PROJECT_ID; + config.service_account.data.private_key = PRIVATE_KEY; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + /* Assign the RTDB URL */ + config.database_url = DATABASE_URL; + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + Firebase.begin(&config, &auth); +} + +void loop() +{ + // Firebase.ready() should be called repeatedly to handle authentication tasks. + +#if !defined(ESP32) && !defined(ESP8266) + if (Firebase.ready()) + Firebase.Functions.runDeployTasks(); +#endif + + if (Firebase.ready() && !taskCompleted) + { + creatFunction(); + taskCompleted = true; + } +} + +/* The function to create and deploy Cloud Function */ +void creatFunction() +{ + + function_config.setName("firestoreImageDownloadTrigger"); + function_config.setDescription("Download the image defined in the Firestore document to the bucket"); + function_config.setEntryPoint("firestoreImageDownloadTrigger"); + function_config.setRuntime("nodejs12"); + function_config.setTimeout(60); + function_config.setAvailableMemoryMb(256); + function_config.setMaxInstances(10); + + // Prepare the resource data + String resource = "projects/"; + resource += FIREBASE_PROJECT_ID; + resource += "/databases/(default)/documents/"; + // The collection id that will trig the function when document created, + // if you change this, the collection id in the source code (index.js) must be changed too. + resource += "ImageList"; + resource += "/{id}"; + + function_config.setEventTrigger("providers/cloud.firestore/eventTypes/document.create", resource); + + // if gcf.zip is already upload to flash memory + function_config.setSource("/gcf.zip" /* relative file path in the Firebase Storage data bucket */, functions_sources_type_local_archive /* source type */, mem_storage_type_flash /* type of memory storage e.g. mem_storage_type_flash or mem_storage_type_sd */); + + function_config.setIngressSettings("ALLOW_ALL"); + + // Set up the IAM policy + binding.setRole("roles/cloudfunctions.invoker"); + binding.addMember("allUsers"); + policy.addBinding(&binding); + + function_config.setIamPolicy(&policy); + + Serial.println("Create the Googgle Cloud Function..."); + + Firebase.Functions.createFunction(&fbdo, &function_config /* FunctionsConfig */, functionCreationCallback /* the callback function */); +} + +/* The function to show the Cloud Function deployment status */ +void functionCreationCallback(FunctionsOperationStatusInfo statusInfo) +{ + if (statusInfo.status == firebase_functions_operation_status_unknown) + Serial.printf("%s: Unknown\n", statusInfo.functionId.c_str()); + else if (statusInfo.status == firebase_functions_operation_status_generate_upload_url) + Serial.printf("%s: Generate the upload Url...\n", statusInfo.functionId.c_str()); + else if (statusInfo.status == firebase_functions_operation_status_upload_source_file_in_progress) + Serial.printf("%s: Uploading file...\n", statusInfo.functionId.c_str()); + else if (statusInfo.status == firebase_functions_operation_status_deploy_in_progress) + Serial.printf("%s: Deploying function...\n", statusInfo.functionId.c_str()); + else if (statusInfo.status == firebase_functions_operation_status_set_iam_policy_in_progress) + Serial.printf("%s: Set the IAM policy...\n", statusInfo.functionId.c_str()); + else if (statusInfo.status == firebase_functions_operation_status_delete_in_progress) + Serial.printf("%s: Delete the function...\n", statusInfo.functionId.c_str()); + else if (statusInfo.status == firebase_functions_operation_status_finished) + { + Serial.printf("%s: success\n", statusInfo.functionId.c_str()); + Serial.println(); + } + else if (statusInfo.status == firebase_functions_operation_status_error) + { + Serial.printf("%s: Error, ", statusInfo.functionId.c_str()); + Serial.println(statusInfo.errorMsg.c_str()); + Serial.println(); + } +} \ No newline at end of file diff --git a/examples/CloudFunctions/CreateFunction/CreateFunctionWithEventTrigger/data/gcf.zip b/examples/CloudFunctions/CreateFunction/CreateFunctionWithEventTrigger/data/gcf.zip new file mode 100644 index 000000000..bb5c74bd0 Binary files /dev/null and b/examples/CloudFunctions/CreateFunction/CreateFunctionWithEventTrigger/data/gcf.zip differ diff --git a/examples/CloudFunctions/CreateFunction/CreateFunctionWithEventTrigger/example.png b/examples/CloudFunctions/CreateFunction/CreateFunctionWithEventTrigger/example.png new file mode 100644 index 000000000..092022f67 Binary files /dev/null and b/examples/CloudFunctions/CreateFunction/CreateFunctionWithEventTrigger/example.png differ diff --git a/examples/CloudFunctions/CreateFunction/CreateFunctionWithReturnStatus/CreateFunctionWithReturnStatus.ino b/examples/CloudFunctions/CreateFunction/CreateFunctionWithReturnStatus/CreateFunctionWithReturnStatus.ino new file mode 100644 index 000000000..5e2361d97 --- /dev/null +++ b/examples/CloudFunctions/CreateFunction/CreateFunctionWithReturnStatus/CreateFunctionWithReturnStatus.ino @@ -0,0 +1,266 @@ + +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +/** Prerequisites + * + * Cloud Functions deployment requires the pay-as-you-go (Blaze) billing plan. + * + * IAM owner permission required for service account used and Cloud Build API must be enabled, + * https://github.com/mobizt/Firebase-ESP-Client#iam-permission-and-api-enable + */ + +/* Cloud Functions deployment requires the pay-as-you-go (Blaze) billing plan. */ + +/** This example shows how to create (deploy) the Cloud Function. + * + * This operation required OAUth2.0 authentication. + * + * The callback function show the progress of deployment. + */ + +/** The Cloud Function source code files to deploy with this example will be compress as a single zip archive. + * + * This zip file can be stored in the Firebase Storage data bucket or the repository or in local device storage e.g. flash and SD memory. + * In case the archive file in the local memory was choosn, the file will be upload to the Google Cloud Storage bucket automatically in the creation process. + */ + +/** Due to the processing power in ESP8266 is weaker than ESP32, the OAuth2.0 token generation takes time then this example + * will check for token to be ready in loop prior to create the Cloud Function. + * + * The Cloud Function creation (deploy) is the long running operation, + * the final result may fail due to bugs in the user function, missing dependencies, + * and incorrect configurations. + */ +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/** 2. Define the Service Account credentials (required for token generation) + * + * This information can be taken from the service account JSON file. + * + * To download service account file, from the Firebase console, goto project settings, + * select "Service accounts" tab and click at "Generate new private key" button + */ +#define FIREBASE_PROJECT_ID "PROJECT_ID" +#define FIREBASE_CLIENT_EMAIL "CLIENT_EMAIL" +const char PRIVATE_KEY[] PROGMEM = "-----BEGIN PRIVATE KEY-----XXXXXXXXXXXX-----END PRIVATE KEY-----\n"; + +/* 3. Define the project location e.g. us-central1 or asia-northeast1 */ +// https://firebase.google.com/docs/projects/locations +#define PROJECT_LOCATION "PROJECT_LOCATION" + +/* 4. Define the Firebase storage bucket ID e.g bucket-name.appspot.com */ +#define STORAGE_BUCKET_ID "BUCKET-NAME.appspot.com" + +/* 5. If work with RTDB, define the RTDB URL */ +#define DATABASE_URL "URL" //.firebaseio.com or ..firebasedatabase.app + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +// We need to define the FunctionsConfig, PolicyBuilder and Binding data to keep the function and triggers configuaration and IAM policy. +// These objects should declare as global objects or static to prevent the stack overflow. +PolicyBuilder policy; +Binding binding; +FunctionsConfig function_config(FIREBASE_PROJECT_ID /* project id */, PROJECT_LOCATION /* location id */, STORAGE_BUCKET_ID /* bucket id */); + +unsigned long dataMillis = 0; + +bool taskCompleted = false; + +/* Define the FunctionsOperationStatusInfo data to get the Cloud Function creation status */ +FunctionsOperationStatusInfo statusInfo; + +firebase_functions_operation_status last_status; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +/* The function to create and deploy Cloud Function */ +void creatFunction(); + +/* The function to show the Cloud Function deployment status */ +void showFunctionCreationStatus(FunctionsOperationStatusInfo info); + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the Service Account credentials */ + config.service_account.data.client_email = FIREBASE_CLIENT_EMAIL; + config.service_account.data.project_id = FIREBASE_PROJECT_ID; + config.service_account.data.private_key = PRIVATE_KEY; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + /* Assign the RTDB URL */ + config.database_url = DATABASE_URL; + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + Firebase.begin(&config, &auth); +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + +#if !defined(ESP32) && !defined(ESP8266) + if (Firebase.ready()) + Firebase.Functions.runDeployTasks(); +#endif + + if (Firebase.ready() && !taskCompleted) + { + creatFunction(); + taskCompleted = true; + } + + showFunctionCreationStatus(statusInfo); +} + +/* The function to create and deploy Cloud Function */ +void creatFunction() +{ + + function_config.setName("helloWorld"); + function_config.setDescription("test"); + function_config.setEntryPoint("helloWorld"); + function_config.setRuntime("nodejs12"); + function_config.setTimeout(60); + function_config.setAvailableMemoryMb(256); + function_config.setMaxInstances(10); + + // If the source code, "helloWorld.zip" is already stored in the Storage bucket + function_config.setSource("/helloWorld.zip" /* relative file path in the Firebase Storage data bucket */, functions_sources_type_storage_bucket_archive /* source type */); + + // or if it in the local memory storage i.e. flash or SD + // function_config.setSource("/helloWorld.zip" /* file path */, functions_sources_type_local_archive /* source type */, mem_storage_type_flash /* type of memory storage e.g. mem_storage_type_flash or mem_storage_type_sd */); + + // or the source code archive is hosted in the Cloud Storage repo + // function_config.setSource("PATH to zip file hosted on the repo", functions_sources_type_repository /* source type */); + // https://cloud.google.com/functions/docs/reference/rest/v1/projects.locations.functions#sourcerepository + + // or if you want to deploy the function from the source code files stored in the Storage data bucket instead of zip file + // function_config.setSource("functions/helloWorld" /* relative path (folder) in the Firebase Storage data bucket that stores source code files */, functions_sources_type_storage_bucket_sources /* source type */); + + function_config.setIngressSettings("ALLOW_ALL"); + + // Set up the IAM policy + binding.setRole("roles/cloudfunctions.invoker"); + binding.addMember("allUsers"); + policy.addBinding(&binding); + + function_config.setIamPolicy(&policy); + + Serial.println("Create the Googgle Cloud Function..."); + + Firebase.Functions.createFunction(&fbdo, &function_config /* FunctionsConfig */, &statusInfo /* FunctionsOperationStatusInfo data to read the operation status */); +} + +/* The function to show the Cloud Function deployment status */ +void showFunctionCreationStatus(FunctionsOperationStatusInfo statusInfo) +{ + if (last_status == statusInfo.status) + return; + + last_status = statusInfo.status; + + if (statusInfo.status == firebase_functions_operation_status_unknown) + Serial.printf("%s: Unknown\n", statusInfo.functionId.c_str()); + else if (statusInfo.status == firebase_functions_operation_status_generate_upload_url) + Serial.printf("%s: Generate the upload Url...\n", statusInfo.functionId.c_str()); + else if (statusInfo.status == firebase_functions_operation_status_upload_source_file_in_progress) + Serial.printf("%s: Uploading file...\n", statusInfo.functionId.c_str()); + else if (statusInfo.status == firebase_functions_operation_status_deploy_in_progress) + Serial.printf("%s: Deploying function...\n", statusInfo.functionId.c_str()); + else if (statusInfo.status == firebase_functions_operation_status_set_iam_policy_in_progress) + Serial.printf("%s: Set the IAM policy...\n", statusInfo.functionId.c_str()); + else if (statusInfo.status == firebase_functions_operation_status_delete_in_progress) + Serial.printf("%s: Delete the function...\n", statusInfo.functionId.c_str()); + else if (statusInfo.status == firebase_functions_operation_status_finished) + { + Serial.println("Status: success"); + Serial.print("Trigger Url: "); + Serial.println(statusInfo.triggerUrl.c_str()); + Serial.println(); + } + else if (statusInfo.status == firebase_functions_operation_status_error) + { + Serial.print("Status: "); + Serial.println(statusInfo.errorMsg.c_str()); + Serial.println(); + } +} \ No newline at end of file diff --git a/examples/CloudFunctions/CreateFunction/CreateFunctionWithReturnStatus/data/helloWorld.zip b/examples/CloudFunctions/CreateFunction/CreateFunctionWithReturnStatus/data/helloWorld.zip new file mode 100644 index 000000000..1967ce48b Binary files /dev/null and b/examples/CloudFunctions/CreateFunction/CreateFunctionWithReturnStatus/data/helloWorld.zip differ diff --git a/examples/CloudFunctions/CreateFunction/DeployAutoZipFunction/AutoZip.h b/examples/CloudFunctions/CreateFunction/DeployAutoZipFunction/AutoZip.h new file mode 100644 index 000000000..471bb5552 --- /dev/null +++ b/examples/CloudFunctions/CreateFunction/DeployAutoZipFunction/AutoZip.h @@ -0,0 +1,15923 @@ +#ifndef FB_AUTOZIP_H +#define FB_AUTOZIP_H + +#include + +//This is the zip file data of autozip Cloud Function to compress the source code files in Firebase Storage data bucket as a zip archive prior to upload to the +//Google Cloud Storage in the admin bucket. + +static const uint8_t FB_AUTOZIP[] PROGMEM = {0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0x07, 0x75, 0x48, 0x52, 0xF0, 0x7A, + 0xE7, 0xEC, 0x3C, 0x07, 0x00, 0x00, 0xDC, 0x1B, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x69, 0x6E, + 0x64, 0x65, 0x78, 0x2E, 0x6A, 0x73, 0xCD, 0x59, 0xFB, 0x8B, 0xD3, 0x30, 0x1C, 0xFF, 0x5D, 0xF0, + 0x7F, 0x88, 0x43, 0x68, 0x87, 0x5D, 0xB7, 0xF3, 0x4D, 0x8F, 0x13, 0x54, 0x14, 0x14, 0x51, 0xF1, + 0x81, 0xA0, 0x08, 0xE6, 0xDA, 0x6C, 0xAB, 0xD7, 0x35, 0xB5, 0x49, 0xD5, 0x39, 0xF6, 0xBF, 0xFB, + 0xFD, 0x26, 0x4D, 0x93, 0xBE, 0xEE, 0xCE, 0x53, 0xD4, 0x09, 0xDA, 0x26, 0xDF, 0xF7, 0x2B, 0x9F, + 0xD4, 0xCB, 0x97, 0x62, 0x9E, 0x0B, 0x49, 0x68, 0xB2, 0x49, 0x73, 0x72, 0x44, 0x4A, 0xF6, 0xA5, + 0x4A, 0x4B, 0xE6, 0x4F, 0x96, 0xF0, 0xF7, 0x31, 0x15, 0x6C, 0xA6, 0x76, 0x26, 0xD3, 0x43, 0x43, + 0x59, 0x50, 0xB9, 0x76, 0x08, 0x3D, 0x7C, 0xF7, 0xEC, 0x36, 0x17, 0xEE, 0x26, 0x17, 0xCE, 0xD6, + 0xB2, 0xB5, 0xB5, 0x74, 0xB7, 0xD6, 0x52, 0x16, 0xAD, 0x5D, 0x5C, 0x70, 0x09, 0xAA, 0x32, 0x73, + 0xB7, 0xE1, 0xD5, 0xD9, 0xBC, 0x9F, 0x6C, 0xDE, 0xA7, 0x85, 0xBB, 0x0F, 0x46, 0xCF, 0x7E, 0xA4, + 0x85, 0xA2, 0xC1, 0x3F, 0xCA, 0x89, 0x30, 0xCD, 0x53, 0x99, 0xD2, 0x2C, 0xFD, 0xC1, 0xEE, 0x17, + 0x85, 0x6F, 0xF6, 0xD8, 0xF7, 0x82, 0x97, 0x52, 0x84, 0xB4, 0x92, 0xFC, 0x87, 0x12, 0xE3, 0x83, + 0x9C, 0x00, 0x84, 0x89, 0x29, 0x39, 0xBA, 0x47, 0x76, 0x97, 0x2F, 0x11, 0xF8, 0x6D, 0x68, 0x9A, + 0xE3, 0x46, 0x78, 0xCC, 0x93, 0x6D, 0x88, 0x5E, 0x03, 0x89, 0x79, 0x05, 0x3E, 0xE7, 0xAD, 0x28, + 0xF9, 0x67, 0x16, 0xCB, 0x27, 0x89, 0xB3, 0x96, 0xF1, 0x98, 0xCA, 0x94, 0xE7, 0xCE, 0x12, 0x8D, + 0x63, 0x26, 0xC4, 0x1B, 0x7E, 0xC2, 0xD4, 0xAA, 0x40, 0x83, 0xF6, 0x87, 0xCA, 0x5C, 0xB1, 0xCD, + 0x63, 0xB2, 0xAC, 0xF2, 0x18, 0x59, 0xB4, 0x6A, 0x51, 0xC6, 0x0F, 0xAA, 0xF8, 0x84, 0xC9, 0x97, + 0xB5, 0xEA, 0x0D, 0x97, 0xEC, 0x3D, 0xEA, 0x75, 0xD4, 0x59, 0x2D, 0x3D, 0xE1, 0xE8, 0x87, 0xF6, + 0x24, 0x63, 0x92, 0x80, 0xB4, 0xC7, 0x3C, 0x4B, 0x58, 0x09, 0xEE, 0xA2, 0x2F, 0xE1, 0x67, 0x0E, + 0x3A, 0xB8, 0x08, 0xE5, 0xA6, 0x48, 0xD2, 0xD2, 0x9F, 0x06, 0x64, 0x22, 0x78, 0x55, 0x82, 0x90, + 0x39, 0x24, 0xDF, 0x32, 0x82, 0xA7, 0x67, 0x32, 0xD2, 0x32, 0x5E, 0xA7, 0x5F, 0x59, 0x8B, 0x51, + 0x99, 0x96, 0x81, 0xBD, 0x2D, 0x3E, 0x2B, 0xED, 0x9A, 0x5E, 0xC5, 0x92, 0xCB, 0xE9, 0x86, 0xF9, + 0x8D, 0x7F, 0x53, 0x14, 0xA2, 0xC5, 0xA4, 0x4B, 0xE2, 0x5F, 0x59, 0x8A, 0x90, 0x7D, 0x4F, 0x85, + 0x14, 0xAF, 0x21, 0x46, 0x7E, 0xE3, 0xC7, 0x74, 0x0A, 0x34, 0xF5, 0x0F, 0x48, 0x36, 0x27, 0x60, + 0x4C, 0x9B, 0xE2, 0x34, 0x39, 0x68, 0xC8, 0x19, 0x72, 0x2C, 0xC5, 0xA1, 0x1B, 0x48, 0xA8, 0xC0, + 0x65, 0xBA, 0x02, 0xA7, 0x76, 0xA4, 0x2A, 0x32, 0x4E, 0x93, 0xB7, 0x65, 0x16, 0x11, 0xCF, 0x0B, + 0x48, 0x2B, 0x61, 0x11, 0x19, 0xCB, 0x5F, 0xE4, 0xA4, 0xB2, 0x09, 0x52, 0xD4, 0x3C, 0x05, 0x36, + 0x55, 0x91, 0x7D, 0x0C, 0x6C, 0x1E, 0x22, 0x7C, 0x34, 0xAB, 0xCB, 0x34, 0x63, 0xE2, 0x19, 0x78, + 0x15, 0x91, 0x0F, 0x1F, 0x9D, 0xCA, 0x88, 0x86, 0x8A, 0x24, 0x1A, 0x2E, 0x97, 0xA8, 0x57, 0x3B, + 0x05, 0x74, 0x19, 0x8B, 0xF0, 0x89, 0xEC, 0x5B, 0x41, 0xD4, 0xCE, 0xBB, 0x85, 0x4C, 0x8E, 0x8E, + 0xC8, 0x64, 0x62, 0x63, 0x88, 0x7A, 0x71, 0xF3, 0x31, 0x1A, 0x56, 0xD3, 0xD7, 0xBB, 0x2C, 0x13, + 0xCC, 0xD2, 0xAD, 0x58, 0xCE, 0x4A, 0x2A, 0xD9, 0x5B, 0x13, 0x44, 0x43, 0xAC, 0x14, 0xEE, 0xE1, + 0xAF, 0x7E, 0x5F, 0xC4, 0x25, 0xA3, 0x2A, 0x70, 0x35, 0x6D, 0xA7, 0xC6, 0x75, 0x33, 0xE7, 0xEC, + 0x5B, 0x3D, 0x20, 0x7C, 0x53, 0x8E, 0xB5, 0xD9, 0x4D, 0xB0, 0xC2, 0x25, 0x2F, 0x1F, 0xD1, 0x78, + 0xED, 0xA7, 0x72, 0xE3, 0x74, 0xBC, 0x91, 0x03, 0x15, 0x00, 0x72, 0x60, 0x2F, 0xC4, 0xCA, 0x0C, + 0x4B, 0x56, 0x64, 0x34, 0x66, 0xC6, 0xF9, 0x76, 0x5E, 0xD1, 0xF9, 0x86, 0xA2, 0x5D, 0xD1, 0x46, + 0xC0, 0x54, 0x11, 0x1D, 0xB6, 0x75, 0xA0, 0x2D, 0xCF, 0x61, 0x13, 0x14, 0x8D, 0x70, 0x59, 0x06, + 0xDB, 0x4E, 0xA8, 0xD2, 0xED, 0x27, 0x63, 0x93, 0xAD, 0x93, 0x31, 0x69, 0x8E, 0x38, 0x8C, 0x53, + 0x48, 0x93, 0xE4, 0x19, 0x4A, 0xC4, 0x3C, 0xF9, 0x8D, 0xEC, 0x00, 0x7D, 0x0F, 0x1A, 0xE3, 0x0C, + 0xD3, 0xDE, 0xB6, 0x00, 0xFD, 0x46, 0x53, 0xA9, 0x24, 0x7C, 0x2B, 0x53, 0x37, 0x17, 0xA1, 0x29, + 0xE0, 0x86, 0xB6, 0xEE, 0x0F, 0x27, 0xAF, 0xFB, 0x7E, 0x4E, 0x5B, 0xF5, 0xD2, 0x4F, 0xAB, 0x9E, + 0xF7, 0xC7, 0x2A, 0xDE, 0xE0, 0xB8, 0x1E, 0xEB, 0x42, 0xF2, 0x92, 0xAE, 0x98, 0x3F, 0x0D, 0xF5, + 0x86, 0xDF, 0xEA, 0xF4, 0xC1, 0x3C, 0x91, 0x2B, 0x9D, 0x32, 0x1D, 0x24, 0xBA, 0x06, 0x44, 0xF3, + 0x49, 0xCB, 0x57, 0xA3, 0x3C, 0x5C, 0x31, 0xA9, 0x6D, 0xDC, 0xB9, 0xB5, 0xCE, 0x96, 0xE9, 0xF7, + 0x68, 0x50, 0x58, 0x1D, 0xB9, 0xC0, 0x7A, 0xEA, 0xB3, 0xD2, 0x74, 0xAC, 0xE3, 0x61, 0x33, 0x9F, + 0x60, 0xD7, 0x2C, 0xDB, 0x9F, 0x26, 0x6F, 0xEA, 0x15, 0xDF, 0x3A, 0x05, 0xEB, 0xC8, 0x50, 0xDB, + 0x2A, 0xDD, 0x1F, 0x9A, 0xA7, 0x30, 0x63, 0xF9, 0x0A, 0x5C, 0x9B, 0x91, 0x83, 0x8F, 0x18, 0x04, + 0x6F, 0xEE, 0x4D, 0xFB, 0xCC, 0x83, 0x4D, 0x52, 0x54, 0x62, 0xED, 0xEF, 0x88, 0x87, 0x62, 0xBC, + 0x88, 0x34, 0x22, 0x75, 0x39, 0x38, 0x9C, 0x7A, 0xC1, 0x2E, 0xFD, 0x62, 0xCB, 0xA9, 0x9F, 0x3D, + 0xA6, 0x54, 0x26, 0x6C, 0xFB, 0x1D, 0x0E, 0x13, 0x26, 0x4C, 0xA8, 0x7C, 0xFC, 0x7E, 0x37, 0x98, + 0x5F, 0xC2, 0xBF, 0xE5, 0xAA, 0x5E, 0x6B, 0x1B, 0x82, 0x46, 0xC7, 0x39, 0xDC, 0x15, 0x4C, 0xBE, + 0x49, 0x37, 0x8C, 0x57, 0xD2, 0x6F, 0x86, 0x54, 0x78, 0x9C, 0xE6, 0x89, 0x9F, 0x57, 0x59, 0x16, + 0xD4, 0xE1, 0x80, 0x49, 0x70, 0x70, 0x6B, 0xB1, 0x70, 0xE5, 0x41, 0x4B, 0x38, 0xFF, 0x8C, 0x34, + 0x49, 0xCB, 0x36, 0x6D, 0x17, 0x94, 0xCA, 0xAF, 0x76, 0x48, 0xB7, 0xA4, 0x55, 0x72, 0x50, 0xE2, + 0x34, 0x6C, 0xE4, 0xEF, 0x94, 0xF0, 0x34, 0xD7, 0xE7, 0x85, 0x7A, 0x21, 0xFB, 0x11, 0xAB, 0xDA, + 0xFD, 0x0D, 0x06, 0xFD, 0xD2, 0x39, 0xA1, 0x99, 0x1F, 0xD7, 0xA8, 0xF3, 0xB5, 0x36, 0xB8, 0x99, + 0x15, 0xF6, 0xC4, 0xE8, 0x72, 0x3C, 0xCC, 0x78, 0x95, 0xB4, 0xC9, 0x1B, 0xFB, 0x1A, 0xCB, 0xFA, + 0xA4, 0xBF, 0x33, 0x5A, 0x90, 0x5A, 0x96, 0xDB, 0x76, 0x73, 0x7E, 0xA5, 0x25, 0xF9, 0x02, 0x7C, + 0x80, 0x4C, 0x01, 0x1C, 0x96, 0xA2, 0x39, 0x1F, 0x1A, 0x54, 0xA0, 0x58, 0x2D, 0x35, 0x50, 0xA6, + 0x40, 0xFF, 0x45, 0x41, 0x49, 0xD5, 0x47, 0xD7, 0xE0, 0x45, 0x30, 0x04, 0x4F, 0x1D, 0xCA, 0x35, + 0x17, 0x52, 0x91, 0xE2, 0x43, 0xDD, 0x04, 0x6D, 0x0A, 0x21, 0xA9, 0x04, 0xFC, 0x8C, 0x88, 0x05, + 0x1F, 0x11, 0xB0, 0xF4, 0xE6, 0x70, 0x9B, 0x03, 0x93, 0xFD, 0x1A, 0x90, 0xF0, 0x93, 0xFC, 0xC1, + 0x56, 0x32, 0xE4, 0x45, 0x46, 0x60, 0x87, 0x35, 0x57, 0x3C, 0x8A, 0x84, 0x0A, 0x4E, 0xB0, 0xF0, + 0xBB, 0x22, 0x7B, 0xC3, 0x2C, 0xA1, 0x92, 0x4E, 0xBB, 0xBD, 0x5C, 0xDF, 0x0B, 0x0A, 0xA4, 0x43, + 0x3D, 0xFD, 0x56, 0x57, 0x0E, 0x46, 0xEA, 0xEF, 0xA0, 0xBF, 0x89, 0xE8, 0x1C, 0x10, 0xD5, 0xCD, + 0x9B, 0x37, 0xBC, 0xA1, 0x5D, 0x04, 0x57, 0x18, 0xCB, 0x81, 0xBD, 0x0D, 0x93, 0x6B, 0x9E, 0x00, + 0xEF, 0xCB, 0xB7, 0x6F, 0x86, 0x78, 0xD7, 0xE0, 0x17, 0x2B, 0x45, 0xA4, 0x4D, 0xEA, 0xFF, 0xBC, + 0x87, 0x3C, 0x97, 0x2C, 0x97, 0xB3, 0x37, 0xDB, 0x02, 0x47, 0x9E, 0x47, 0x8B, 0x22, 0x4B, 0x35, + 0x64, 0x9A, 0xE3, 0xF5, 0x22, 0x38, 0x83, 0xEF, 0x99, 0x1A, 0xB6, 0xC0, 0x89, 0x81, 0xA9, 0x47, + 0xEF, 0x18, 0xCF, 0xF7, 0xD9, 0x8A, 0xF3, 0xD5, 0x2C, 0xAE, 0x59, 0x35, 0xF1, 0xAC, 0xA4, 0xF9, + 0x4A, 0xA9, 0x5E, 0x04, 0x07, 0x8B, 0x9B, 0x77, 0x6F, 0xDD, 0xB9, 0xBD, 0x58, 0x78, 0x7D, 0x09, + 0xFB, 0xF6, 0x92, 0x45, 0x69, 0x6E, 0xCA, 0x4B, 0x06, 0x05, 0xAA, 0xAF, 0x5A, 0x21, 0xDE, 0x94, + 0xA0, 0x99, 0xFD, 0x3A, 0x2D, 0x6E, 0x26, 0x0D, 0xE0, 0xEB, 0x9C, 0x3E, 0xED, 0x72, 0x43, 0x44, + 0xE4, 0x0D, 0x18, 0x62, 0x98, 0x43, 0x9E, 0xFB, 0x1E, 0x7A, 0xED, 0xB9, 0xA2, 0xE3, 0x75, 0x95, + 0x9F, 0x4C, 0x47, 0xC2, 0x8D, 0x52, 0xF1, 0xC8, 0x55, 0x44, 0x75, 0x07, 0xF4, 0xC6, 0xEC, 0x19, + 0x1A, 0x59, 0x9E, 0xB4, 0x14, 0xB6, 0x74, 0x75, 0x8B, 0x92, 0x67, 0x0C, 0x4A, 0x79, 0xE5, 0x7F, + 0x2A, 0xE8, 0x16, 0x7B, 0x34, 0x22, 0x57, 0x77, 0x60, 0xC3, 0xFE, 0xD3, 0xF4, 0xF0, 0x1C, 0x4C, + 0x4D, 0x5F, 0x23, 0x5B, 0xB7, 0xD7, 0xC7, 0x65, 0xB0, 0x4D, 0x21, 0xB7, 0xEF, 0x78, 0x79, 0x22, + 0x0A, 0x0B, 0x22, 0xC7, 0x88, 0x05, 0xF8, 0xF3, 0x4A, 0xFB, 0x67, 0x48, 0x03, 0xF2, 0xF4, 0xF5, + 0x8B, 0xE7, 0x21, 0xD8, 0x99, 0xE6, 0xAB, 0x74, 0xB9, 0xF5, 0x77, 0xAA, 0x71, 0x2B, 0xAC, 0x62, + 0x30, 0x30, 0x01, 0x9C, 0x7E, 0x10, 0x40, 0xE5, 0x0B, 0x41, 0x57, 0xF0, 0xEC, 0x2D, 0xE1, 0xD2, + 0x2B, 0xD6, 0x0C, 0xC3, 0xE2, 0x58, 0xDC, 0xB5, 0x37, 0x68, 0xE6, 0x41, 0xD4, 0x9D, 0x0C, 0x01, + 0xD1, 0xF7, 0x40, 0x7D, 0x8B, 0xE9, 0x4C, 0x00, 0xB2, 0x87, 0xB4, 0x4C, 0xC7, 0x92, 0x75, 0xDA, + 0x02, 0x56, 0xA3, 0xC6, 0x8C, 0x3E, 0x96, 0xC9, 0xD0, 0x2E, 0x38, 0x5F, 0x43, 0x39, 0x2B, 0x44, + 0xBD, 0xD9, 0x82, 0x87, 0x5E, 0x8C, 0xD7, 0xC4, 0xD7, 0xB5, 0x7A, 0xEE, 0x10, 0x9F, 0x2F, 0xAC, + 0x30, 0xD1, 0x78, 0x39, 0x12, 0xD5, 0x2A, 0xA7, 0xC7, 0x00, 0x36, 0x24, 0xAF, 0x83, 0x4A, 0x3C, + 0x72, 0xCD, 0xC4, 0xC6, 0x5C, 0xE7, 0x6C, 0x70, 0xBA, 0xF5, 0xA3, 0x24, 0xFB, 0x13, 0x85, 0x57, + 0x26, 0x86, 0xD1, 0x06, 0x15, 0x56, 0x26, 0x46, 0xEE, 0x92, 0x02, 0x51, 0x12, 0x29, 0x32, 0x00, + 0x1E, 0x8D, 0xF3, 0x83, 0x27, 0xF0, 0xA9, 0x87, 0xE8, 0x05, 0x11, 0x42, 0xEB, 0xA0, 0xEB, 0x41, + 0x06, 0xAD, 0xB0, 0x77, 0x2E, 0x74, 0xBA, 0xAE, 0x05, 0x22, 0x7A, 0x61, 0xEA, 0x0C, 0xC4, 0x15, + 0x0C, 0xD6, 0x08, 0xD4, 0x56, 0xCC, 0x6C, 0xD8, 0x69, 0x4E, 0xB1, 0x54, 0x06, 0xC7, 0x75, 0x0C, + 0x58, 0x92, 0xE1, 0xD8, 0x2D, 0x39, 0x5E, 0xBF, 0x8B, 0xEA, 0x18, 0x06, 0x35, 0x64, 0x8C, 0x7E, + 0x9F, 0x81, 0x5B, 0x47, 0x37, 0x0E, 0x6E, 0xDD, 0x80, 0xC9, 0xB9, 0xE8, 0x4E, 0xEC, 0x3D, 0xBE, + 0xDB, 0x0A, 0xFD, 0xE3, 0x35, 0x74, 0xF1, 0xD6, 0x3C, 0xBB, 0x8A, 0xD4, 0x14, 0x52, 0x35, 0x74, + 0x75, 0xD7, 0x49, 0xC0, 0x9E, 0x7C, 0xA3, 0x82, 0x88, 0x4A, 0xE1, 0xAD, 0x25, 0x20, 0xCE, 0x6D, + 0xAD, 0x81, 0x25, 0x50, 0xB3, 0x0D, 0xBD, 0x55, 0xB2, 0x0F, 0x61, 0x60, 0xFD, 0xC3, 0xDE, 0x5A, + 0x2C, 0xFE, 0xAB, 0xEE, 0x1A, 0xFC, 0xDC, 0x30, 0xFE, 0x89, 0x42, 0x37, 0xC8, 0x29, 0x58, 0xC7, + 0x62, 0x1C, 0x2F, 0x46, 0x10, 0x6A, 0x44, 0x8A, 0x10, 0xCF, 0xFC, 0x8C, 0xD1, 0x22, 0x15, 0x61, + 0xCC, 0x37, 0xA6, 0x3C, 0xFB, 0xB0, 0xA7, 0x0D, 0x77, 0xBC, 0xF9, 0xD7, 0x83, 0x79, 0xFD, 0x45, + 0x47, 0xCC, 0x6D, 0x74, 0xEC, 0x97, 0x47, 0x58, 0xF2, 0xE6, 0xE6, 0xF3, 0x4E, 0x8B, 0xC4, 0x2C, + 0x2A, 0x8A, 0xC6, 0x90, 0xA8, 0xE7, 0x1C, 0x6A, 0xED, 0x03, 0xA9, 0x17, 0xAF, 0x15, 0x92, 0x3A, + 0x0B, 0x41, 0x79, 0xF7, 0x2B, 0xE0, 0x28, 0xD3, 0x1F, 0x4A, 0x15, 0xE2, 0x97, 0x07, 0x00, 0x6C, + 0x59, 0xA9, 0x32, 0xD9, 0xBF, 0x0D, 0x80, 0xC4, 0x73, 0xE3, 0xAE, 0xCF, 0x02, 0x04, 0x02, 0xC3, + 0xE9, 0x80, 0x6B, 0xD1, 0xBF, 0x52, 0x35, 0xF5, 0x0D, 0x75, 0x90, 0x1D, 0xD3, 0xF8, 0x84, 0x1C, + 0x8D, 0xA1, 0x9E, 0x61, 0xAC, 0xF3, 0x3B, 0x18, 0xA7, 0x83, 0x6D, 0x3A, 0x98, 0xE6, 0x62, 0x58, + 0x06, 0xAD, 0xC3, 0x68, 0x90, 0x23, 0xD5, 0x60, 0xF5, 0xB5, 0x03, 0x34, 0xA1, 0xD0, 0xEE, 0xB7, + 0x00, 0x09, 0xA1, 0xE4, 0x4B, 0x45, 0xAF, 0x3B, 0x44, 0xDD, 0xC0, 0xAA, 0x3C, 0x61, 0x30, 0x86, + 0x58, 0x32, 0x19, 0x42, 0x4A, 0x3D, 0x98, 0x00, 0x9A, 0x50, 0x80, 0x5D, 0x70, 0x14, 0x9D, 0xF2, + 0xC1, 0xAF, 0x87, 0x05, 0xD4, 0x4D, 0x0E, 0x15, 0x5E, 0x18, 0x1D, 0x5D, 0x68, 0xCC, 0x58, 0xE7, + 0x43, 0x5C, 0xF8, 0xFD, 0x91, 0xF3, 0x87, 0x46, 0x8F, 0x63, 0x57, 0x6D, 0x51, 0x2F, 0x62, 0x2D, + 0x14, 0xD4, 0xC2, 0x01, 0x2D, 0x74, 0xAF, 0x4F, 0xE7, 0x11, 0x8C, 0xDF, 0x14, 0x3E, 0xF2, 0x77, + 0x41, 0x96, 0x92, 0x65, 0xAF, 0xCC, 0xC3, 0x01, 0xAE, 0x81, 0x72, 0x53, 0x2B, 0xB6, 0xB0, 0x9A, + 0x58, 0xD5, 0x2C, 0xE4, 0x4A, 0xA7, 0xBC, 0x1A, 0xF3, 0xBB, 0x94, 0xA1, 0x3E, 0x23, 0xFD, 0xEB, + 0xF0, 0x21, 0x24, 0x44, 0xAD, 0x7E, 0xAD, 0xA5, 0x77, 0x8D, 0x1F, 0xAE, 0x0E, 0x65, 0x8C, 0xB9, + 0xA8, 0x6E, 0xF0, 0xBF, 0x20, 0xFA, 0x9F, 0x7D, 0x76, 0xE0, 0x6A, 0x5C, 0x95, 0x02, 0xFE, 0x53, + 0x42, 0x43, 0x0B, 0x38, 0xF8, 0xD5, 0x95, 0xD5, 0xFD, 0x0F, 0x1E, 0xE3, 0x90, 0xF9, 0xF0, 0x36, + 0x9A, 0x60, 0x45, 0xD1, 0x9F, 0x2F, 0x68, 0xEF, 0xB0, 0x25, 0x80, 0x68, 0xFE, 0xBA, 0x25, 0xF0, + 0xFC, 0x13, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB7, 0x4A, 0x48, 0x52, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, + 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x50, 0x4B, 0x03, + 0x04, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB7, 0x4A, 0x48, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, + 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x61, 0x64, 0x6D, 0x2D, 0x7A, 0x69, 0x70, 0x2F, + 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0xBC, 0x06, + 0xEA, 0x25, 0xAE, 0x12, 0x00, 0x00, 0xBC, 0x4D, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x6E, 0x6F, + 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x61, 0x64, 0x6D, 0x2D, 0x7A, + 0x69, 0x70, 0x2F, 0x61, 0x64, 0x6D, 0x2D, 0x7A, 0x69, 0x70, 0x2E, 0x6A, 0x73, 0xDD, 0x1C, 0x6B, + 0x73, 0xE3, 0x44, 0xEC, 0x73, 0x99, 0xE1, 0x3F, 0x2C, 0x19, 0x20, 0x76, 0x49, 0x93, 0x1E, 0xEF, + 0xB9, 0x12, 0xA0, 0xD0, 0x14, 0x3A, 0x03, 0x2D, 0xD3, 0xF6, 0x78, 0x16, 0x7A, 0x6E, 0xE2, 0x5C, + 0x0D, 0x8E, 0x1D, 0x6C, 0xE7, 0x9A, 0x42, 0xFB, 0xDF, 0x91, 0xB4, 0x0F, 0xED, 0x7A, 0xED, 0x24, + 0xD7, 0x83, 0x81, 0x21, 0x03, 0xD7, 0x64, 0x1F, 0x92, 0x56, 0x6F, 0x4B, 0x9B, 0x3C, 0x8F, 0x0A, + 0xF1, 0xA4, 0x4A, 0xD2, 0x52, 0x0C, 0x45, 0x11, 0xFF, 0xBE, 0x48, 0x8A, 0x38, 0xE8, 0xF4, 0x07, + 0x0B, 0x18, 0xEA, 0x84, 0x7B, 0xAF, 0xBE, 0x82, 0xF3, 0x53, 0x98, 0x94, 0x8B, 0xFA, 0x87, 0x49, + 0x1A, 0x9F, 0xDD, 0x96, 0x55, 0x3C, 0xEB, 0xEB, 0xD5, 0x61, 0xEF, 0xD5, 0x57, 0xB6, 0xE6, 0xD5, + 0xB5, 0x0D, 0x60, 0x1E, 0x55, 0xD7, 0xB4, 0xFD, 0xD5, 0x57, 0xA6, 0x65, 0x3F, 0x5E, 0x26, 0x65, + 0x55, 0x9E, 0xDD, 0x66, 0x63, 0x58, 0xE3, 0x7E, 0xBE, 0xBB, 0x13, 0xB0, 0xD5, 0x1A, 0x81, 0x3D, + 0x12, 0xE9, 0x8F, 0xC9, 0x7C, 0x94, 0x55, 0xC5, 0xAD, 0x4B, 0xD7, 0x1F, 0x6A, 0xB4, 0x43, 0x58, + 0x61, 0x0D, 0x12, 0x54, 0x5B, 0x22, 0x07, 0x01, 0xBD, 0x06, 0x95, 0x94, 0xDF, 0x25, 0x19, 0x2C, + 0x1A, 0xFC, 0x72, 0x93, 0x64, 0x83, 0x7E, 0x15, 0x97, 0x55, 0x30, 0x2F, 0xF2, 0x71, 0x5C, 0x96, + 0xFD, 0x79, 0x1A, 0x55, 0xD3, 0xBC, 0x98, 0x29, 0x62, 0x17, 0xD9, 0xB8, 0x4A, 0xF2, 0x4C, 0x8C, + 0xA3, 0x2C, 0xCF, 0x92, 0x71, 0x94, 0x06, 0xF3, 0x50, 0xFC, 0xF9, 0xEA, 0x2B, 0x02, 0x5E, 0x08, + 0xAA, 0x8C, 0xA6, 0xF1, 0xD9, 0x62, 0x3A, 0x4D, 0x96, 0x00, 0x0F, 0x29, 0xCF, 0x60, 0x6F, 0x94, + 0x26, 0x7F, 0xC4, 0xB0, 0x10, 0x58, 0x02, 0xE0, 0xC6, 0x71, 0x30, 0xF8, 0x25, 0xB8, 0xE8, 0x5F, + 0xF4, 0x83, 0x8B, 0xC1, 0xDD, 0xC5, 0xC5, 0xDD, 0xEB, 0x61, 0xF8, 0xD6, 0xA0, 0x27, 0xBA, 0x5D, + 0xC0, 0x81, 0x80, 0x80, 0xD8, 0x6A, 0x51, 0x64, 0xB4, 0xFD, 0xD7, 0x3C, 0xC9, 0x82, 0x6E, 0x7F, + 0xD0, 0xED, 0x59, 0xA0, 0x71, 0xDD, 0x3D, 0x92, 0x33, 0xCB, 0x27, 0x8B, 0x34, 0x06, 0xEE, 0xCC, + 0xF3, 0xA2, 0x42, 0x21, 0x18, 0xFA, 0x82, 0xC1, 0xF6, 0xF6, 0x59, 0x55, 0x24, 0xD9, 0xB3, 0xED, + 0x41, 0x92, 0xCD, 0x17, 0x15, 0x51, 0xB9, 0x85, 0x24, 0x5E, 0x02, 0x03, 0x60, 0xE9, 0x22, 0x9B, + 0xC4, 0xD3, 0x24, 0x8B, 0x27, 0xC8, 0xA8, 0xAD, 0xCB, 0x29, 0xB0, 0x24, 0x8B, 0x66, 0xC8, 0xAB, + 0x4E, 0x87, 0xCE, 0xBA, 0x95, 0x4C, 0x45, 0x40, 0x7B, 0xC5, 0x9B, 0x6F, 0x8A, 0xEA, 0x76, 0x1E, + 0xE7, 0x53, 0x21, 0x3F, 0x0F, 0x87, 0xB0, 0xAA, 0x24, 0xF0, 0x1D, 0x00, 0x2C, 0x06, 0x03, 0x91, + 0xE6, 0xD1, 0x44, 0x20, 0x64, 0x04, 0x04, 0x9B, 0x69, 0xB7, 0x23, 0x4B, 0x09, 0x2B, 0x94, 0x84, + 0xB8, 0x18, 0x69, 0x66, 0x8F, 0x86, 0x15, 0x75, 0x59, 0x7C, 0x23, 0x94, 0xF4, 0xE4, 0xBE, 0x9E, + 0x52, 0xB0, 0xCF, 0xF3, 0xAC, 0xAC, 0xA2, 0xAC, 0x02, 0x55, 0x3B, 0xFA, 0x6A, 0x14, 0xD2, 0xA6, + 0x7B, 0x11, 0xA7, 0x65, 0xAC, 0xE0, 0x56, 0xD7, 0x45, 0x7E, 0x43, 0xFB, 0x47, 0x45, 0x91, 0x17, + 0x81, 0xDC, 0x46, 0xEF, 0xCB, 0xFE, 0xD1, 0xF1, 0xB7, 0xFB, 0x5F, 0x1D, 0x1D, 0x5C, 0xE2, 0xDE, + 0xE3, 0xFD, 0xAF, 0xF5, 0x7E, 0xF8, 0x47, 0xC1, 0x70, 0xCE, 0xFC, 0x19, 0x70, 0x3B, 0x2E, 0xFA, + 0x49, 0x29, 0xDF, 0x98, 0x03, 0xF0, 0x81, 0xAF, 0x68, 0xE2, 0xD5, 0x57, 0x5E, 0x84, 0xEE, 0xCF, + 0x9E, 0x1C, 0x1E, 0x8E, 0x4E, 0x01, 0xB3, 0x46, 0x2A, 0xE1, 0x8D, 0x8B, 0x38, 0xAA, 0x62, 0x04, + 0x60, 0xD8, 0xD8, 0x02, 0x37, 0x5B, 0xA4, 0xA9, 0x0F, 0xF6, 0xF8, 0xE4, 0x78, 0x24, 0x81, 0x92, + 0xF0, 0x8C, 0x26, 0x94, 0x51, 0x96, 0x54, 0xA4, 0x7F, 0x05, 0xC8, 0x7B, 0xD9, 0x13, 0xC8, 0x73, + 0x25, 0x04, 0x18, 0x62, 0x4D, 0x2D, 0xE2, 0x32, 0x4F, 0x9F, 0xC3, 0x3A, 0xA3, 0xB5, 0xBC, 0x2B, + 0x24, 0xC8, 0xA4, 0x3E, 0xF3, 0x88, 0x54, 0x8D, 0xC0, 0xF4, 0xCB, 0x79, 0x9A, 0x54, 0x41, 0x77, + 0xD0, 0x95, 0xF3, 0x60, 0x28, 0x22, 0x20, 0x8B, 0x82, 0x05, 0xBB, 0x3D, 0x91, 0xC2, 0x1F, 0x5A, + 0xDF, 0x07, 0x51, 0x3F, 0xAB, 0xAE, 0xF7, 0x60, 0xE2, 0x23, 0x91, 0xC2, 0x9F, 0xB7, 0xDE, 0x92, + 0x24, 0x68, 0x98, 0xD5, 0xB5, 0x67, 0x2F, 0x5A, 0xFD, 0x35, 0xE1, 0x0A, 0x52, 0x99, 0x26, 0x63, + 0xE0, 0x2D, 0x00, 0x0F, 0x69, 0x9A, 0xD6, 0x95, 0xF1, 0x3C, 0x94, 0x34, 0x4A, 0xC5, 0x43, 0x80, + 0xFD, 0x04, 0x34, 0x7C, 0x79, 0x32, 0xD5, 0x47, 0x20, 0xAD, 0xDD, 0xD5, 0x68, 0xB7, 0x94, 0x91, + 0xE1, 0x4A, 0xB9, 0xEF, 0x5E, 0xA9, 0x82, 0x9E, 0x5A, 0x4B, 0x0E, 0x0C, 0x5C, 0x45, 0x25, 0xE9, + 0x70, 0x40, 0x4C, 0x0D, 0x9B, 0xF8, 0xFF, 0x2C, 0xAE, 0xC8, 0x23, 0xA1, 0x45, 0x9E, 0x5C, 0xFD, + 0x1A, 0x8F, 0xAB, 0xED, 0x41, 0x8C, 0x03, 0x44, 0x89, 0x24, 0x97, 0x3E, 0xA3, 0xC6, 0xA1, 0xB4, + 0x6D, 0xC6, 0x24, 0xE0, 0x48, 0x25, 0x75, 0xA0, 0x21, 0x47, 0x53, 0x21, 0x17, 0xDE, 0x44, 0xA5, + 0x78, 0x96, 0x3C, 0x8F, 0x33, 0x01, 0x6F, 0x22, 0x52, 0x15, 0x12, 0x87, 0x39, 0x3E, 0x19, 0xAB, + 0x5A, 0xED, 0x1A, 0xAB, 0x3C, 0x3B, 0x82, 0x15, 0x43, 0xC2, 0xD6, 0x37, 0xF4, 0x49, 0xA2, 0x0C, + 0xB6, 0xA4, 0x19, 0x1B, 0xFB, 0xDD, 0x9C, 0x0E, 0xB3, 0x02, 0xA7, 0x5C, 0xD0, 0xC1, 0x73, 0xD9, + 0x93, 0x7D, 0xFA, 0xF7, 0x18, 0x2D, 0xFF, 0x35, 0x5C, 0x66, 0x1C, 0x91, 0xBF, 0xF2, 0x3A, 0x8E, + 0x26, 0x71, 0x51, 0x5B, 0xB6, 0xFE, 0x10, 0x8C, 0x01, 0x8F, 0x63, 0x28, 0xC4, 0x0D, 0x75, 0xF1, + 0xE3, 0x58, 0x8B, 0xF8, 0xD1, 0xCC, 0x8C, 0x3C, 0x05, 0xBC, 0x8C, 0x48, 0x41, 0xFC, 0xDF, 0x80, + 0xDA, 0x04, 0x80, 0x19, 0xFF, 0x86, 0xE8, 0xFF, 0xE5, 0x8B, 0x0C, 0x39, 0xCF, 0x9E, 0xC7, 0x45, + 0x25, 0x6E, 0x40, 0xFF, 0xF2, 0x9B, 0x52, 0x8A, 0xA7, 0x8C, 0x41, 0x7B, 0xA3, 0x0A, 0x7C, 0x10, + 0xAF, 0x55, 0xDB, 0xC5, 0x50, 0xBF, 0x53, 0xE6, 0xD4, 0xB9, 0xB8, 0xE8, 0x28, 0xDD, 0xEE, 0x0C, + 0x20, 0x4C, 0x39, 0xD0, 0xA3, 0xC9, 0x84, 0x81, 0x81, 0x90, 0xE0, 0x04, 0x28, 0xA1, 0xAC, 0x92, + 0x32, 0xE2, 0xB5, 0x78, 0x62, 0x0D, 0x77, 0x7C, 0x1D, 0x15, 0xFB, 0x95, 0xFE, 0xA8, 0x8C, 0x51, + 0xEC, 0x88, 0x47, 0x21, 0xF1, 0x16, 0xB0, 0x98, 0x20, 0x56, 0x27, 0xEE, 0x2D, 0x9A, 0xB6, 0x68, + 0xB8, 0xD7, 0x6F, 0x78, 0x48, 0x32, 0x4C, 0x6F, 0x51, 0x6B, 0xA5, 0x19, 0xC8, 0x29, 0xC9, 0x74, + 0x30, 0x00, 0xFC, 0x23, 0xB6, 0xC5, 0x68, 0x59, 0x15, 0xD1, 0x18, 0xDC, 0x48, 0x75, 0x1D, 0x4B, + 0xBA, 0x95, 0xDE, 0x4C, 0x8B, 0x7C, 0x46, 0x83, 0x51, 0x31, 0xBE, 0x4E, 0x9E, 0xC3, 0xDF, 0x6C, + 0xA2, 0xC0, 0xD3, 0x62, 0x64, 0x6E, 0x05, 0x4B, 0x49, 0x15, 0x95, 0x7F, 0x56, 0x8A, 0xA8, 0x40, + 0x7F, 0x8A, 0xAC, 0x99, 0x49, 0x70, 0x75, 0x5D, 0x15, 0xC0, 0x31, 0x19, 0x14, 0x41, 0x38, 0xD5, + 0x35, 0x01, 0x9C, 0x82, 0x94, 0xA5, 0xFF, 0xC9, 0xA7, 0x38, 0x20, 0x77, 0x4A, 0x60, 0x1A, 0xA4, + 0x24, 0x40, 0xA1, 0x43, 0x20, 0xC7, 0xB8, 0x29, 0xC1, 0x2C, 0x00, 0xBC, 0x37, 0x6A, 0x2B, 0x46, + 0x17, 0xB9, 0x7A, 0x20, 0x35, 0x28, 0x9A, 0xA0, 0xAB, 0x7E, 0xCC, 0x3A, 0xE3, 0x99, 0x7F, 0x4F, + 0x0C, 0x54, 0x84, 0xEE, 0x29, 0xC8, 0xDB, 0x83, 0x79, 0x54, 0x96, 0xB6, 0xF9, 0x2B, 0x15, 0xF7, + 0x4D, 0xD4, 0x55, 0x60, 0xB0, 0x1B, 0xFA, 0x8B, 0x66, 0x70, 0x10, 0x55, 0x51, 0x20, 0xE1, 0xDC, + 0xDD, 0x19, 0x1D, 0xDE, 0xBA, 0x87, 0x28, 0xEF, 0xCA, 0x60, 0xBF, 0x84, 0x98, 0x0C, 0xB1, 0x32, + 0xCB, 0x17, 0xA5, 0xD0, 0x04, 0xFF, 0x03, 0x4C, 0xD4, 0xC0, 0x20, 0x57, 0x4A, 0xAF, 0xA2, 0xF1, + 0x6F, 0x7F, 0x13, 0x6B, 0x89, 0xFC, 0x75, 0xFC, 0xDD, 0x3E, 0x54, 0xD3, 0xDB, 0x03, 0x8D, 0x7E, + 0x53, 0xF6, 0x7A, 0x0E, 0xC3, 0x66, 0x30, 0x21, 0x0F, 0x34, 0x48, 0xDA, 0x51, 0xCB, 0x42, 0xB6, + 0xF4, 0xA4, 0x8A, 0xD6, 0x1D, 0x8D, 0x44, 0x4C, 0x23, 0xA0, 0x7E, 0x22, 0x20, 0x54, 0x3E, 0xEE, + 0x88, 0xB7, 0x84, 0xC4, 0x29, 0x01, 0x68, 0x41, 0xFD, 0x03, 0xC6, 0x02, 0x79, 0x27, 0x30, 0xB5, + 0x8A, 0x97, 0x15, 0x30, 0xD7, 0x81, 0x34, 0xCE, 0x27, 0x20, 0xCB, 0x7F, 0x50, 0xF0, 0x1A, 0x85, + 0x38, 0x99, 0xA3, 0x28, 0xA2, 0xB4, 0x8F, 0x91, 0x2C, 0xCB, 0x79, 0x22, 0x29, 0x45, 0x39, 0x8F, + 0xC7, 0xC9, 0x34, 0x01, 0xC6, 0x2C, 0xAA, 0xE9, 0x87, 0x38, 0xB2, 0x28, 0xE3, 0x49, 0x93, 0xAE, + 0x28, 0x1A, 0x6A, 0x2A, 0xB1, 0x5F, 0x9E, 0xC3, 0xD9, 0xD6, 0xEA, 0x83, 0xDC, 0x3B, 0x84, 0x21, + 0x85, 0xFB, 0xC1, 0xEA, 0x80, 0x1B, 0x26, 0xA0, 0x0A, 0xB0, 0xC1, 0x31, 0x3D, 0x5A, 0xAF, 0x36, + 0xE0, 0x3C, 0xDA, 0x26, 0xFE, 0x55, 0x4E, 0x57, 0xED, 0x37, 0xF6, 0x2B, 0xE7, 0xAA, 0x5C, 0x12, + 0x16, 0x68, 0xB2, 0xD0, 0x76, 0x3B, 0xC8, 0x89, 0x8E, 0x86, 0x77, 0xAF, 0x55, 0x84, 0xB7, 0x76, + 0x3A, 0x9B, 0x9A, 0x36, 0x71, 0xE7, 0x9F, 0xF0, 0x90, 0x75, 0xE3, 0xFE, 0xD7, 0x24, 0xFF, 0x50, + 0x77, 0xF0, 0x37, 0x6B, 0x85, 0xEF, 0x24, 0x98, 0x22, 0x94, 0x74, 0x0F, 0xFD, 0x99, 0x5A, 0xAD, + 0xF6, 0xF3, 0x80, 0xED, 0x36, 0x78, 0xB5, 0x42, 0x65, 0xC4, 0xAE, 0x3F, 0xCA, 0xF8, 0xBA, 0x91, + 0xAA, 0x31, 0xD4, 0xB5, 0xDA, 0x26, 0xB1, 0xB1, 0x37, 0xF3, 0x41, 0x74, 0x3A, 0xBC, 0x46, 0xA9, + 0x66, 0x58, 0xF3, 0x7F, 0xDE, 0xFA, 0x55, 0xEE, 0xED, 0x34, 0x9E, 0xE5, 0xCF, 0x63, 0xA3, 0x58, + 0xEC, 0xD6, 0x64, 0xE2, 0x94, 0x17, 0x3C, 0x45, 0x0E, 0x0E, 0xE0, 0x82, 0x4C, 0xBA, 0xA5, 0xC8, + 0xE0, 0x31, 0x1D, 0xB4, 0x66, 0x02, 0x8F, 0xF5, 0x63, 0xC8, 0x85, 0x92, 0xB8, 0xC4, 0x79, 0xDA, + 0x55, 0x42, 0xF6, 0xE3, 0xB9, 0xCB, 0x04, 0xE6, 0xF5, 0x6A, 0xAD, 0xBF, 0x0D, 0x26, 0x61, 0xA9, + 0xD7, 0x24, 0x4E, 0xE3, 0x2A, 0x5E, 0x17, 0xC8, 0xD5, 0xF3, 0xE0, 0xA7, 0xE7, 0x27, 0x07, 0x27, + 0x8F, 0x05, 0x16, 0x0F, 0x04, 0x6F, 0x7C, 0x98, 0x1A, 0x51, 0x4E, 0x2B, 0x81, 0xD0, 0x6A, 0x9A, + 0xE5, 0xAC, 0x76, 0x35, 0x43, 0xF7, 0x27, 0x13, 0x3C, 0xE9, 0x38, 0x9F, 0xCD, 0xD0, 0xF9, 0x57, + 0x39, 0x71, 0x02, 0x21, 0x8A, 0x73, 0xF9, 0x46, 0xCC, 0x16, 0x40, 0xE4, 0x55, 0x0C, 0xBE, 0xE1, + 0xA6, 0x48, 0xAA, 0x0A, 0x53, 0xFB, 0x69, 0x05, 0xF1, 0x37, 0x9A, 0xA0, 0x3A, 0xE0, 0x7A, 0xBD, + 0xBD, 0xDF, 0xC0, 0x27, 0x3D, 0x67, 0x71, 0x0A, 0x36, 0x82, 0x27, 0xF9, 0x5C, 0x8E, 0x3F, 0x6E, + 0x2E, 0x43, 0xA8, 0x5D, 0x0D, 0xEC, 0x72, 0x76, 0x9B, 0x2A, 0x40, 0x5F, 0x9F, 0x60, 0xA8, 0x11, + 0xEE, 0xB5, 0x69, 0x10, 0x87, 0x3C, 0xD8, 0xA7, 0x57, 0x6F, 0xE6, 0x42, 0x40, 0x20, 0xCD, 0x94, + 0x6B, 0x61, 0xA8, 0x8D, 0x36, 0x45, 0x68, 0x2F, 0xDD, 0xEE, 0xDE, 0xA6, 0xEC, 0x8F, 0x2C, 0x1F, + 0xA7, 0xEB, 0x53, 0x0F, 0x91, 0x85, 0x42, 0x70, 0xCE, 0x23, 0x58, 0x86, 0xCA, 0xF2, 0x4A, 0xC4, + 0xCB, 0x71, 0x0C, 0xC0, 0xDF, 0x7F, 0xEF, 0xBD, 0x77, 0xDE, 0x13, 0x98, 0xEC, 0x47, 0x63, 0x00, + 0x51, 0x62, 0xA8, 0x97, 0xBE, 0xA0, 0x55, 0xDB, 0x37, 0x13, 0x2C, 0x91, 0x2C, 0x79, 0xB4, 0x69, + 0x8C, 0x35, 0xF2, 0x7E, 0x39, 0x5F, 0xDA, 0xAC, 0x03, 0x5B, 0xF7, 0xEB, 0x35, 0x41, 0xAD, 0xD7, + 0x41, 0x8B, 0x45, 0x00, 0x83, 0x6B, 0xCD, 0x7F, 0xA5, 0xBE, 0xBC, 0x00, 0x43, 0x1E, 0x7C, 0x78, + 0x2B, 0xBB, 0xAF, 0x69, 0x9D, 0x97, 0x07, 0xC0, 0x60, 0x33, 0x37, 0x9E, 0xCC, 0xC1, 0xDD, 0xC7, + 0x9C, 0x0A, 0x2A, 0x6E, 0x44, 0x99, 0xA0, 0xA2, 0x1C, 0x9C, 0x4B, 0x7B, 0xC6, 0xAC, 0x4C, 0x26, + 0xB1, 0x9D, 0x4A, 0xAE, 0x57, 0xCF, 0x05, 0x00, 0x47, 0x10, 0x36, 0xF4, 0xB5, 0x4C, 0xA5, 0x21, + 0xB3, 0x9A, 0x99, 0x8A, 0xC0, 0xD6, 0x3B, 0x5A, 0xD2, 0x2E, 0xFD, 0xA8, 0x84, 0x40, 0x5E, 0x5A, + 0xBB, 0x4A, 0x95, 0xB4, 0x29, 0x60, 0x1B, 0xF9, 0x55, 0x8C, 0x2F, 0x1C, 0xA3, 0x26, 0x49, 0xF9, + 0x1B, 0xD8, 0xB8, 0xCD, 0xBB, 0x26, 0x2E, 0xA4, 0x39, 0xC4, 0x43, 0x7A, 0x9E, 0xC6, 0x43, 0xC2, + 0x06, 0x34, 0x6F, 0xF8, 0x83, 0x2C, 0x76, 0x56, 0xEA, 0x87, 0x68, 0x9D, 0x32, 0xA9, 0xCC, 0x8B, + 0x25, 0xD4, 0xB8, 0x03, 0x83, 0x02, 0xEF, 0xC8, 0xE0, 0x13, 0x3E, 0x5F, 0x98, 0x20, 0xEA, 0xDA, + 0xF3, 0x57, 0x48, 0x8B, 0xC7, 0x6B, 0xB6, 0x5B, 0x43, 0xAB, 0x9B, 0x1B, 0x01, 0x1A, 0x7F, 0x50, + 0xE1, 0x5E, 0x65, 0xF7, 0x7E, 0x1D, 0xD8, 0x20, 0x50, 0xB5, 0x60, 0x59, 0x6F, 0xC2, 0x42, 0xE4, + 0x8F, 0x12, 0x87, 0x1C, 0xE3, 0xF2, 0x88, 0x29, 0xB4, 0x88, 0x4F, 0xBC, 0xDA, 0x8B, 0x78, 0x2C, + 0xF3, 0x60, 0x03, 0x67, 0x2E, 0x76, 0x24, 0xBB, 0x9D, 0xBA, 0x98, 0x2E, 0x34, 0x02, 0x34, 0x9A, + 0x6C, 0x2F, 0xB7, 0xC8, 0x51, 0xF9, 0x76, 0x9E, 0xCF, 0x83, 0xD0, 0x02, 0x8E, 0x52, 0x63, 0xB0, + 0x20, 0x15, 0x29, 0xC1, 0xB9, 0x47, 0xF3, 0x5B, 0x40, 0xB4, 0xE2, 0x0D, 0x12, 0xAD, 0xDE, 0x02, + 0xAD, 0x73, 0x0B, 0x1A, 0xA6, 0xE6, 0x0A, 0x5C, 0x54, 0x01, 0xF3, 0xAE, 0x16, 0x68, 0xAD, 0x72, + 0x16, 0x34, 0x12, 0xEC, 0xEE, 0x12, 0xC7, 0x65, 0x4F, 0x04, 0xAA, 0xBC, 0x95, 0xCB, 0xBD, 0x26, + 0xC2, 0x98, 0x26, 0x2D, 0x78, 0xAA, 0x88, 0x27, 0x65, 0x1F, 0x16, 0x50, 0xF1, 0x58, 0x8B, 0x11, + 0x61, 0xEA, 0x67, 0xE9, 0x1A, 0xDC, 0x9E, 0xF6, 0x9D, 0x3D, 0x49, 0x80, 0x97, 0xDE, 0xAD, 0xAE, + 0xB2, 0xCB, 0xCA, 0xFC, 0xE5, 0xF1, 0xC9, 0xF9, 0xE5, 0xE1, 0xC9, 0x93, 0xE3, 0x03, 0xD3, 0xF5, + 0xE8, 0xBC, 0x51, 0x76, 0x7A, 0x82, 0xF1, 0x6C, 0x64, 0x6E, 0xB4, 0x5C, 0xA7, 0x6D, 0x4E, 0x0A, + 0xA8, 0x32, 0x40, 0x95, 0xF1, 0xC1, 0x84, 0x93, 0x0B, 0xBE, 0x88, 0x51, 0x36, 0x5B, 0x60, 0xEE, + 0x5B, 0xA0, 0x6F, 0x7D, 0x88, 0x1C, 0xDC, 0x21, 0x2F, 0x3E, 0x8D, 0x9F, 0x8D, 0x96, 0x73, 0x4C, + 0x5B, 0xF5, 0xC3, 0x06, 0xE4, 0xA2, 0x8A, 0xC4, 0x59, 0x54, 0x8D, 0xAF, 0xE1, 0xC1, 0x2A, 0x4D, + 0x15, 0x0C, 0xF7, 0x75, 0x85, 0xD2, 0x1B, 0xA7, 0x8B, 0x49, 0x3C, 0xE9, 0x1B, 0x93, 0xD5, 0x93, + 0xC6, 0x70, 0xF3, 0x14, 0x4A, 0xA2, 0x0F, 0x37, 0xDD, 0xA1, 0x24, 0xF0, 0x8E, 0x1F, 0x85, 0xE4, + 0x09, 0xBC, 0x02, 0x20, 0x28, 0xD5, 0x37, 0x05, 0x16, 0x1A, 0x63, 0x75, 0x46, 0x77, 0x1A, 0xCD, + 0x5A, 0x9D, 0x3D, 0xA1, 0x16, 0xC4, 0x18, 0xCB, 0xB6, 0x12, 0x38, 0xA6, 0x78, 0xF5, 0x97, 0xAC, + 0x28, 0xEB, 0x1D, 0xA5, 0xE6, 0xD3, 0x4D, 0x11, 0xCD, 0xB1, 0x84, 0xA9, 0x80, 0xF3, 0x4B, 0x2D, + 0x45, 0xEB, 0xE7, 0xA3, 0x16, 0xCB, 0xB0, 0x46, 0x65, 0xAD, 0x04, 0xC9, 0x4B, 0x75, 0x77, 0xC9, + 0x9C, 0x6B, 0xC5, 0xAE, 0x62, 0x49, 0x3D, 0x3F, 0xDE, 0xB3, 0xD7, 0xBC, 0xE5, 0xDE, 0x1F, 0xBE, + 0x0F, 0x15, 0x17, 0xEA, 0x7B, 0xAC, 0x7E, 0x52, 0x57, 0x53, 0xD5, 0xC5, 0x6A, 0xAB, 0xAE, 0x70, + 0x1B, 0xB6, 0xB7, 0x30, 0x08, 0xF2, 0x3A, 0x3E, 0xCE, 0x4D, 0x4C, 0x6A, 0x23, 0x94, 0x29, 0x01, + 0xC7, 0xDA, 0x19, 0x56, 0xCF, 0x61, 0x57, 0x1C, 0xBC, 0x2A, 0x16, 0xF1, 0x5E, 0xC3, 0xA1, 0xF4, + 0x18, 0x9F, 0xDB, 0x1D, 0x70, 0xDD, 0xB5, 0x3B, 0xF7, 0xA2, 0x6E, 0xBB, 0x06, 0xD7, 0x34, 0x5C, + 0xD0, 0x7A, 0xC9, 0xF4, 0x60, 0x6F, 0x51, 0xBA, 0xE7, 0x35, 0xA6, 0xEB, 0x77, 0x8D, 0xD8, 0xBD, + 0x78, 0xD0, 0xD7, 0x46, 0x22, 0x9F, 0x13, 0x3A, 0xAD, 0xE0, 0x06, 0x37, 0xB4, 0x20, 0xC8, 0x67, + 0x96, 0xB6, 0xC3, 0x6C, 0x66, 0x72, 0x19, 0xA7, 0x53, 0xD8, 0x87, 0xEE, 0x77, 0xAF, 0x09, 0xB8, + 0xCE, 0x49, 0x74, 0x77, 0xAC, 0x55, 0x5A, 0x72, 0x11, 0x44, 0xF4, 0x51, 0x34, 0xBE, 0x0E, 0x5C, + 0x1D, 0x47, 0x0E, 0xAD, 0xD4, 0x71, 0x0A, 0x7B, 0xA6, 0xC5, 0x07, 0xDD, 0x6C, 0xF0, 0x86, 0x81, + 0xE5, 0x28, 0x0C, 0x90, 0x96, 0xEE, 0x03, 0x08, 0x85, 0x3B, 0x19, 0x4B, 0x1F, 0x8F, 0xEF, 0x10, + 0xA0, 0xD3, 0x6D, 0x28, 0x5A, 0xB5, 0x9A, 0x30, 0x73, 0x7B, 0x42, 0x7F, 0xF6, 0xFB, 0x13, 0xAA, + 0xC3, 0xB7, 0x16, 0xA8, 0x66, 0x7A, 0x3D, 0xD8, 0x41, 0x99, 0x75, 0xEE, 0x07, 0x3C, 0x73, 0xF0, + 0x1E, 0xA8, 0x62, 0x4F, 0xC7, 0x58, 0x77, 0xAA, 0xC9, 0x13, 0xF8, 0x56, 0xFE, 0x32, 0x74, 0xC1, + 0xFF, 0x5D, 0xE8, 0xEE, 0xEB, 0x5E, 0x73, 0x94, 0x82, 0x68, 0x82, 0x5D, 0x45, 0xD3, 0xEE, 0x5A, + 0xFC, 0xAF, 0xBE, 0xF2, 0x82, 0x53, 0xF7, 0x04, 0xD2, 0x5F, 0xBB, 0xD9, 0xA9, 0xFE, 0xAE, 0xB0, + 0xDF, 0x82, 0x7C, 0x4D, 0x29, 0xD3, 0x4E, 0x5E, 0x37, 0x0A, 0xE5, 0xBA, 0x08, 0xF5, 0x5F, 0x0E, + 0xF0, 0x5B, 0x5B, 0x6E, 0x68, 0xF7, 0x2B, 0x99, 0x8D, 0xE1, 0xBD, 0xB1, 0x96, 0xA9, 0x97, 0x3A, + 0x21, 0xBF, 0x35, 0xE0, 0x73, 0x7E, 0xAE, 0x43, 0xC7, 0xD0, 0xBA, 0x16, 0x62, 0x72, 0xF3, 0xB6, + 0xB8, 0xB2, 0x85, 0x2F, 0x2B, 0x90, 0xE8, 0x42, 0xB5, 0xDD, 0x0D, 0x59, 0x99, 0x26, 0xAC, 0xC2, + 0x60, 0xD3, 0x88, 0xAF, 0xD5, 0xF1, 0x7D, 0xCB, 0x5E, 0x23, 0xB7, 0xBA, 0x11, 0xDD, 0x2B, 0x59, + 0x5A, 0x51, 0xDB, 0xAA, 0xA5, 0x5A, 0x3D, 0x53, 0x03, 0x77, 0xF3, 0x2E, 0x2D, 0xAE, 0x7E, 0x40, + 0xD7, 0x95, 0xE8, 0xF2, 0xDA, 0xAD, 0x92, 0x58, 0xE6, 0xA4, 0x47, 0x8E, 0x8C, 0x9F, 0x66, 0xD5, + 0x8A, 0xD0, 0x49, 0xF3, 0x1B, 0x46, 0x4C, 0x7B, 0xE5, 0xFA, 0x67, 0xA5, 0x5A, 0x70, 0x30, 0x3C, + 0x94, 0xDB, 0x98, 0x07, 0x72, 0xA0, 0x95, 0x0B, 0xB4, 0x8F, 0xF1, 0x32, 0x13, 0xF4, 0xA3, 0xBD, + 0x13, 0x4A, 0x69, 0x10, 0xBC, 0x75, 0x3E, 0x8F, 0x33, 0x3B, 0x90, 0x75, 0x8B, 0x6E, 0xCF, 0x28, + 0x08, 0xD5, 0xD5, 0xE1, 0xA3, 0x52, 0x63, 0xAE, 0xB5, 0x63, 0x91, 0x1C, 0xFE, 0xF4, 0xA1, 0xF2, + 0x1D, 0x93, 0xC2, 0x77, 0x47, 0xC7, 0x27, 0xA3, 0xE3, 0xF3, 0xAE, 0x59, 0xC8, 0xA5, 0x6B, 0xBE, + 0x22, 0x25, 0x1E, 0xEA, 0xE8, 0xAC, 0x52, 0xBA, 0x22, 0x60, 0x15, 0x1E, 0x2E, 0xF8, 0xFB, 0x15, + 0xF8, 0xCD, 0x52, 0x91, 0x3D, 0x7B, 0x35, 0xAC, 0xDC, 0x79, 0x04, 0x23, 0xD6, 0x58, 0x06, 0xBD, + 0x92, 0x16, 0x53, 0xDE, 0x4A, 0x90, 0xF1, 0x8F, 0x08, 0x82, 0x66, 0x18, 0x5E, 0xD7, 0xA9, 0xA5, + 0x28, 0x72, 0x9A, 0x9F, 0xA7, 0xE5, 0xFC, 0x4F, 0xC9, 0xCF, 0xCD, 0x2A, 0x62, 0xB8, 0x03, 0x41, + 0x43, 0xD9, 0x3D, 0x93, 0x6B, 0x26, 0x07, 0xC1, 0x45, 0x70, 0x77, 0x11, 0x86, 0x83, 0x67, 0x20, + 0xC7, 0x8B, 0x8B, 0xD7, 0x1F, 0x75, 0x43, 0x78, 0x93, 0xE0, 0xBF, 0x9D, 0x26, 0x35, 0x93, 0x2F, + 0x4A, 0x6B, 0x2C, 0x4D, 0xEE, 0x1E, 0x1F, 0x1E, 0x74, 0xAD, 0x5B, 0x76, 0x3F, 0x5D, 0x2C, 0x76, + 0xDF, 0xD9, 0xDD, 0xDD, 0xC1, 0x3F, 0xEF, 0x4F, 0x7F, 0x26, 0xE0, 0xCE, 0xFC, 0x2F, 0x17, 0xCB, + 0xB7, 0x61, 0x7A, 0xF9, 0xC1, 0x48, 0x4F, 0xD2, 0x15, 0x8B, 0xF1, 0x18, 0x1E, 0x7E, 0x1D, 0x4C, + 0x7E, 0x72, 0xB3, 0x65, 0xCD, 0xCC, 0xB5, 0x9A, 0xCF, 0xDB, 0x8D, 0x5C, 0xBF, 0xAC, 0x2C, 0x24, + 0xD0, 0x9C, 0xAB, 0xAB, 0x2D, 0x75, 0x71, 0x78, 0x5B, 0x4B, 0xAB, 0x68, 0x13, 0x1D, 0x82, 0x97, + 0xAB, 0x49, 0xFC, 0x6A, 0x4B, 0x48, 0x24, 0x76, 0x64, 0x06, 0xE5, 0x1F, 0xCE, 0x1E, 0xD4, 0x9E, + 0xA0, 0x06, 0x5B, 0x7D, 0xD0, 0x8D, 0x20, 0x1F, 0xE7, 0x06, 0x18, 0xDB, 0x93, 0x1F, 0x1F, 0xB5, + 0x8F, 0x98, 0x51, 0x35, 0x2E, 0xD6, 0xFE, 0xBD, 0xBE, 0xB8, 0xCE, 0x41, 0x8C, 0x61, 0x3D, 0x8E, + 0x7F, 0xB8, 0xDD, 0xEC, 0x66, 0x28, 0x35, 0xF8, 0xEC, 0xA5, 0xC3, 0xB6, 0x7E, 0x40, 0x9A, 0xA2, + 0xDE, 0xDE, 0xE6, 0x0B, 0x28, 0x49, 0xE8, 0x5B, 0x7E, 0x91, 0xAA, 0xBC, 0x06, 0xAA, 0xC7, 0xC5, + 0x05, 0x8E, 0x50, 0xF5, 0xE7, 0x4D, 0x0D, 0xA7, 0xAF, 0xE0, 0x1C, 0x4D, 0x09, 0xC6, 0x0D, 0x5C, + 0xF6, 0xB3, 0x01, 0xF1, 0x4E, 0xDA, 0x65, 0x7A, 0x44, 0x54, 0xB8, 0x85, 0x8F, 0x13, 0x84, 0x37, + 0x90, 0x65, 0x13, 0xBA, 0x0E, 0xA2, 0xEE, 0x2C, 0x8A, 0xF2, 0x3A, 0x5F, 0xA4, 0x13, 0xCC, 0x49, + 0xE0, 0xAA, 0xEB, 0xF3, 0x84, 0x73, 0x12, 0xA1, 0xEA, 0xDA, 0x72, 0x0F, 0x17, 0xA6, 0xA0, 0x12, + 0x60, 0xB2, 0xA0, 0x86, 0x72, 0x0A, 0xA3, 0x5E, 0x51, 0xED, 0xF5, 0x1B, 0x0D, 0x3C, 0x48, 0xB8, + 0xDC, 0xB4, 0x68, 0x45, 0x95, 0xD2, 0x60, 0x6B, 0xAA, 0x0A, 0x7B, 0xF5, 0x48, 0x3D, 0x76, 0xBC, + 0x98, 0x5D, 0xE1, 0x3A, 0x40, 0x25, 0x4D, 0x49, 0xD5, 0x0C, 0x55, 0xA1, 0x03, 0x7D, 0x14, 0x01, + 0xD6, 0x81, 0x47, 0x7E, 0xE2, 0xFB, 0x97, 0x23, 0xFC, 0xA8, 0x25, 0x5F, 0xBF, 0xCD, 0x36, 0x64, + 0x16, 0x58, 0x0B, 0xFC, 0x16, 0x06, 0xB5, 0x5B, 0x9D, 0xF0, 0x96, 0x94, 0x67, 0x55, 0x84, 0x2B, + 0x82, 0xAE, 0xEC, 0xC3, 0x77, 0xC5, 0x90, 0x2B, 0x05, 0x44, 0x2C, 0xC6, 0xAD, 0x00, 0xDE, 0x39, + 0x79, 0x14, 0x38, 0x13, 0xDC, 0x58, 0x22, 0x41, 0xFA, 0x2C, 0x69, 0x04, 0x72, 0x9F, 0x41, 0x5F, + 0x77, 0x0A, 0xD7, 0x93, 0x89, 0x6D, 0x55, 0x32, 0x93, 0x15, 0x6B, 0x75, 0x15, 0x0D, 0x77, 0x98, + 0x50, 0x2D, 0x51, 0x87, 0xCA, 0x1E, 0xEC, 0x6B, 0x77, 0x7D, 0xDA, 0x37, 0x24, 0xF4, 0xFD, 0x19, + 0x7E, 0x50, 0xF9, 0x06, 0xE3, 0x3A, 0x8B, 0xAB, 0x5A, 0xFD, 0x52, 0x1F, 0x89, 0x86, 0x55, 0xF5, + 0x52, 0x5D, 0xCA, 0x4B, 0xCA, 0x03, 0x56, 0xF2, 0x4F, 0xC4, 0xEE, 0xF2, 0xD1, 0x2E, 0x54, 0x01, + 0x76, 0xF7, 0xE8, 0xB1, 0x3F, 0xF8, 0xFA, 0x6C, 0xE7, 0xE0, 0xE4, 0xCC, 0xD2, 0xE6, 0x69, 0x1A, + 0x3D, 0x0B, 0x19, 0x15, 0x58, 0x5C, 0x0C, 0xA6, 0xE9, 0x68, 0x24, 0xB4, 0x73, 0xD2, 0x09, 0x55, + 0xBA, 0x9F, 0x64, 0x26, 0xFB, 0x08, 0xBA, 0x10, 0x2A, 0xDE, 0x79, 0x5B, 0xD6, 0x5A, 0xBC, 0x5B, + 0xDC, 0x5C, 0x6F, 0x2E, 0x15, 0xED, 0xC4, 0x65, 0x11, 0x27, 0x60, 0x3D, 0x70, 0xF7, 0xE1, 0xF2, + 0xE8, 0xF0, 0xE0, 0xE8, 0x54, 0x0C, 0xE8, 0xDD, 0xE9, 0xE8, 0x0B, 0x2E, 0x1D, 0x2F, 0x00, 0xC5, + 0x8A, 0xC3, 0xBC, 0xBB, 0xBB, 0x4B, 0xC7, 0x59, 0x7E, 0x08, 0x6F, 0xB4, 0x38, 0x98, 0xC3, 0xD4, + 0xF6, 0xDC, 0xA2, 0x97, 0xC2, 0x7F, 0x58, 0xAB, 0xFB, 0xFA, 0x02, 0xC2, 0x17, 0x61, 0xBD, 0x03, + 0xB4, 0xBB, 0xCB, 0xE9, 0x74, 0x2A, 0xDE, 0x54, 0xD2, 0xC8, 0x27, 0x90, 0xF8, 0x2A, 0xF7, 0xC3, + 0x75, 0xA6, 0x8C, 0xB4, 0xDB, 0xD7, 0x1D, 0xC0, 0x4C, 0x38, 0xE9, 0x13, 0x21, 0x92, 0x8D, 0x71, + 0xF9, 0xF9, 0x79, 0x94, 0x2E, 0xE2, 0x95, 0xF8, 0xC2, 0x3D, 0x0B, 0xD5, 0x9F, 0xF0, 0xC6, 0x3E, + 0xC7, 0x41, 0x3C, 0x8D, 0x16, 0x69, 0xA5, 0xC0, 0x3C, 0x16, 0x0E, 0xA0, 0x56, 0x7E, 0xE5, 0x1F, + 0xBC, 0xF7, 0x1E, 0xB2, 0x2B, 0x7F, 0xFF, 0xDD, 0x77, 0x41, 0x03, 0xC8, 0x08, 0xE3, 0x62, 0x96, + 0x94, 0x25, 0x68, 0x6C, 0x09, 0xF7, 0x19, 0x8A, 0x9B, 0x65, 0xB1, 0x83, 0xFF, 0x85, 0xE8, 0x1E, + 0x83, 0x9D, 0x62, 0xE7, 0xA6, 0xD8, 0xD9, 0x81, 0xFF, 0x40, 0x27, 0x1C, 0x67, 0x6C, 0x2B, 0x9A, + 0x79, 0x7F, 0x27, 0x02, 0x22, 0xE0, 0xA3, 0x8F, 0xC4, 0xA3, 0xF7, 0x21, 0x60, 0x7F, 0xFC, 0xF1, + 0xC7, 0xA0, 0x69, 0x5C, 0x2A, 0x67, 0xBE, 0x3B, 0x2A, 0x2D, 0x69, 0x55, 0xD0, 0x34, 0xB0, 0x3D, + 0x7B, 0xD2, 0x6F, 0x19, 0x71, 0xBF, 0xBA, 0x74, 0x1B, 0x4F, 0x6B, 0xBA, 0xD5, 0x11, 0xB0, 0xBF, + 0x28, 0xA2, 0x5B, 0x68, 0xC9, 0xD5, 0x6F, 0xE1, 0xE0, 0xA5, 0x1D, 0x70, 0x49, 0x70, 0xB5, 0xD8, + 0x74, 0xD8, 0xB8, 0xC6, 0x3D, 0xA5, 0xA7, 0xC4, 0xB2, 0xA1, 0x69, 0xD7, 0xD8, 0xF0, 0xDE, 0x47, + 0x1C, 0x6E, 0xFF, 0x12, 0x50, 0x61, 0x85, 0xDC, 0x6B, 0x76, 0x2B, 0x7D, 0xE5, 0x3B, 0xC8, 0xB5, + 0xEE, 0x77, 0x2C, 0xF7, 0xD9, 0xCF, 0x77, 0xB5, 0x65, 0x3F, 0xFD, 0xBC, 0x51, 0x7B, 0xD6, 0xBB, + 0x44, 0xDC, 0x7C, 0x5E, 0x10, 0xBC, 0x3A, 0xAD, 0xD5, 0xBD, 0xBD, 0xBA, 0x15, 0x4F, 0x9F, 0xE2, + 0x23, 0xDD, 0xD3, 0xA7, 0x8D, 0x77, 0x13, 0x70, 0xCA, 0x65, 0x81, 0x41, 0xE6, 0x73, 0xE1, 0xB6, + 0x25, 0xB8, 0x98, 0x07, 0x4B, 0x73, 0x34, 0xEE, 0x2A, 0xE2, 0x9C, 0x2B, 0x5B, 0x3D, 0xF5, 0x79, + 0xBE, 0xB0, 0xBB, 0xC1, 0x8D, 0x37, 0x08, 0x9C, 0xB5, 0x81, 0x0B, 0x47, 0x15, 0xF8, 0x2C, 0x08, + 0x3A, 0x37, 0x69, 0x82, 0xA4, 0x56, 0xF3, 0x9A, 0xBD, 0x17, 0xBC, 0x3E, 0x58, 0xE5, 0xD6, 0x50, + 0x15, 0x15, 0x40, 0x9A, 0x55, 0x41, 0x39, 0xA2, 0xB6, 0x79, 0xE3, 0xD5, 0x99, 0x06, 0xD5, 0xEB, + 0xE9, 0xC5, 0xB0, 0xC6, 0x6D, 0xD6, 0xC8, 0xBB, 0x3A, 0xE5, 0xE2, 0xCA, 0xEA, 0xCD, 0xC8, 0x5A, + 0xF6, 0x15, 0x6C, 0x90, 0xB4, 0xE9, 0xEB, 0x5E, 0xFF, 0xE0, 0x05, 0x35, 0x3E, 0x9F, 0x38, 0xA7, + 0xB7, 0x5A, 0xB3, 0x6E, 0xC0, 0xED, 0x53, 0x43, 0x16, 0xDB, 0xDB, 0xB1, 0xD1, 0x3D, 0x77, 0xF7, + 0x2C, 0x82, 0xB6, 0x1A, 0xFC, 0x4F, 0x94, 0x10, 0x90, 0xA3, 0xA9, 0x3F, 0x88, 0x6C, 0xC2, 0x24, + 0x12, 0x8F, 0xED, 0x30, 0x4F, 0x33, 0x2C, 0x52, 0x48, 0x7B, 0x3C, 0xAB, 0x46, 0x14, 0xBA, 0xB6, + 0x97, 0x66, 0x98, 0xCA, 0xFA, 0x30, 0xA7, 0xB3, 0x4F, 0x14, 0x01, 0x47, 0xE3, 0x34, 0xED, 0x6B, + 0x5F, 0x8C, 0x28, 0xCF, 0x4F, 0x9F, 0x8C, 0xDC, 0x43, 0xE4, 0x70, 0x2B, 0x9D, 0x0E, 0xA9, 0x64, + 0xAB, 0x22, 0x77, 0x8A, 0x8F, 0x23, 0xB7, 0xF2, 0x4A, 0x00, 0x88, 0xB9, 0xC2, 0x29, 0x05, 0x9C, + 0x98, 0xDA, 0x33, 0x6B, 0x35, 0x15, 0x0C, 0x09, 0x4B, 0x5F, 0xF4, 0x50, 0xAE, 0x8F, 0xDE, 0x6F, + 0x39, 0x88, 0x4D, 0xD9, 0xE1, 0xFE, 0x57, 0x67, 0x40, 0x9A, 0x99, 0x62, 0x02, 0x17, 0x15, 0x06, + 0x45, 0xCC, 0x9F, 0x94, 0x8C, 0x81, 0x52, 0x8C, 0xD3, 0x84, 0x98, 0xB0, 0x16, 0x5A, 0xEF, 0x74, + 0x61, 0x47, 0x89, 0x9C, 0x35, 0x49, 0x52, 0x1A, 0x9C, 0x64, 0x29, 0x7C, 0x73, 0x21, 0x2F, 0x7E, + 0x03, 0xD2, 0xEA, 0x9A, 0x4C, 0x4B, 0xC2, 0xE6, 0x7B, 0xC8, 0x79, 0x0E, 0x4E, 0x3F, 0xB3, 0x3C, + 0x85, 0x02, 0x4C, 0x42, 0x3E, 0xCF, 0xD7, 0x5E, 0x4F, 0xD0, 0x1E, 0x84, 0xA5, 0x43, 0xC3, 0x0A, + 0xEE, 0xF6, 0xC0, 0x51, 0x1A, 0x7F, 0xDA, 0x70, 0xD6, 0x06, 0x06, 0xC3, 0x9A, 0x33, 0xEC, 0x96, + 0x58, 0x9A, 0x43, 0x96, 0x07, 0x66, 0x96, 0xD3, 0x28, 0x2D, 0x55, 0xA6, 0xE6, 0x6B, 0xA8, 0xC9, + 0x0B, 0x1A, 0xA6, 0x6A, 0xDF, 0xC5, 0xF8, 0x44, 0xEA, 0xF2, 0x63, 0x7F, 0x29, 0x00, 0xDF, 0xF8, + 0xCE, 0xC5, 0x6B, 0x74, 0xE9, 0x62, 0xA3, 0xAE, 0xF1, 0xF1, 0xC9, 0x25, 0xD4, 0x61, 0x4E, 0x7F, + 0x30, 0x35, 0x39, 0xC6, 0x62, 0xE5, 0xD8, 0xFC, 0xCD, 0x3B, 0xEF, 0x52, 0x1C, 0x6F, 0xD0, 0xFA, + 0x3B, 0xE4, 0x6F, 0x3F, 0x59, 0x02, 0xB1, 0xB8, 0x89, 0x59, 0x35, 0x91, 0x68, 0x27, 0x28, 0x70, + 0x74, 0x5E, 0x82, 0x1C, 0x08, 0x7C, 0x6E, 0x7D, 0x62, 0xD1, 0xF4, 0xD8, 0xFD, 0x2A, 0x10, 0x53, + 0x14, 0x3A, 0x5F, 0x3F, 0xA9, 0xA3, 0x31, 0x5C, 0x91, 0xA4, 0xD5, 0xBE, 0x85, 0x25, 0x07, 0xE1, + 0x49, 0xB8, 0xDF, 0x97, 0xC5, 0x45, 0x75, 0x32, 0x70, 0xB7, 0xE9, 0xA4, 0x00, 0xCB, 0x1B, 0xD6, + 0x02, 0x8A, 0x1A, 0x27, 0x34, 0x7A, 0x83, 0x5E, 0xDC, 0xD0, 0x3B, 0xA2, 0x29, 0xFB, 0x26, 0xAA, + 0x1A, 0x72, 0x29, 0xE4, 0x2B, 0xA7, 0x0A, 0xBF, 0xB9, 0x48, 0x34, 0x94, 0x94, 0xD4, 0xEE, 0x3D, + 0x6B, 0xA9, 0xBB, 0xB7, 0x73, 0xD6, 0x8A, 0xFE, 0xF3, 0xFD, 0xE3, 0xF3, 0xCB, 0xD1, 0xF7, 0xE7, + 0xA7, 0xFB, 0x9F, 0x9F, 0xD3, 0x77, 0xF3, 0xB8, 0x5E, 0x6B, 0xD7, 0xAE, 0x6A, 0x0A, 0xA0, 0x08, + 0x66, 0x7E, 0x5B, 0x6B, 0x69, 0x0A, 0x07, 0x5B, 0x74, 0x40, 0x34, 0x89, 0x34, 0x6B, 0x90, 0x26, + 0xFE, 0xA3, 0xE5, 0x88, 0x2F, 0x49, 0x37, 0x59, 0x1B, 0x6A, 0xC8, 0x79, 0x2E, 0xA9, 0x90, 0x4F, + 0xA2, 0xFA, 0xF1, 0x93, 0x2D, 0xD2, 0xA4, 0xCE, 0xF8, 0xA6, 0x56, 0x30, 0xF7, 0xF4, 0x5C, 0xEF, + 0x6F, 0xBA, 0x53, 0xEE, 0x71, 0xF6, 0xC5, 0x19, 0xDA, 0x7C, 0x1D, 0x47, 0x71, 0x25, 0x24, 0x53, + 0x30, 0x74, 0x6F, 0x66, 0xB2, 0x84, 0xE6, 0xE4, 0xDB, 0xD1, 0xE9, 0xE9, 0xD1, 0xC1, 0x88, 0xED, + 0xB6, 0x89, 0x4D, 0x0A, 0x4D, 0x1B, 0x8F, 0x60, 0x93, 0xCF, 0x1B, 0x3F, 0x99, 0x39, 0x87, 0xA2, + 0xBE, 0x9F, 0xF2, 0x5A, 0xEE, 0x1A, 0xAB, 0xFE, 0xB6, 0x93, 0x56, 0xDF, 0xA8, 0x61, 0xFE, 0x35, + 0x64, 0xB7, 0xDA, 0x65, 0xB2, 0x34, 0xF8, 0x9B, 0x8C, 0x3A, 0x6C, 0xB8, 0x29, 0xB0, 0x01, 0x80, + 0x73, 0x6C, 0x42, 0x8D, 0x0F, 0x3B, 0x7C, 0x83, 0x3A, 0xC7, 0xF4, 0x56, 0x1D, 0x4D, 0xA2, 0xF2, + 0xAD, 0xCA, 0x41, 0xF3, 0x13, 0x81, 0xFB, 0xD9, 0xF9, 0x5A, 0xCF, 0x3A, 0x3B, 0xF3, 0x8F, 0xC4, + 0x4D, 0x0F, 0x31, 0xC6, 0xFE, 0x14, 0xD7, 0x11, 0xBD, 0x0D, 0x6E, 0x45, 0x6B, 0x43, 0x99, 0xE8, + 0x04, 0x93, 0x53, 0x40, 0x23, 0x1E, 0x37, 0xC7, 0x4C, 0x73, 0x59, 0x90, 0x90, 0xFB, 0xD6, 0xE4, + 0x67, 0x66, 0xF5, 0x7F, 0x3A, 0x89, 0xA9, 0xA7, 0x09, 0x50, 0xEC, 0x73, 0x93, 0x84, 0x0D, 0x52, + 0x02, 0x43, 0x48, 0xDB, 0x37, 0xC2, 0x5E, 0x24, 0xE4, 0x1B, 0x1D, 0xDF, 0xCC, 0x80, 0x21, 0xE6, + 0xFE, 0x78, 0xF4, 0x8D, 0x63, 0xB9, 0xB6, 0x02, 0x36, 0xC4, 0x0D, 0xE7, 0x5A, 0x2B, 0x07, 0xE7, + 0x55, 0xAE, 0x96, 0x1D, 0x76, 0xAD, 0x62, 0xC6, 0xDF, 0x44, 0x90, 0xA1, 0x72, 0x03, 0x2B, 0x92, + 0xD4, 0xCF, 0xA2, 0xDF, 0x62, 0x98, 0x0C, 0xAC, 0xE0, 0xEF, 0x68, 0x33, 0xEB, 0xB1, 0x6F, 0x60, + 0xB4, 0xC7, 0x33, 0xA9, 0x46, 0x8B, 0x7A, 0x89, 0xC0, 0xA5, 0x50, 0xFB, 0x6E, 0x90, 0xD0, 0xB7, + 0x47, 0x0B, 0xDF, 0xAD, 0x80, 0xB3, 0x5E, 0x60, 0xF1, 0x8D, 0x9C, 0xB5, 0xBD, 0xBD, 0x56, 0xAB, + 0x6B, 0x1C, 0x0A, 0x7D, 0xCB, 0xFF, 0x7B, 0x4E, 0x76, 0x1F, 0x6E, 0xF0, 0xD5, 0x23, 0xDB, 0x28, + 0xFE, 0x67, 0x46, 0x5F, 0xBF, 0x61, 0xD0, 0xE2, 0x0A, 0x88, 0x1D, 0x2F, 0xE3, 0x0F, 0x9A, 0xBF, + 0xC1, 0xC8, 0xA6, 0x5E, 0x1B, 0xE4, 0x76, 0x86, 0x18, 0x3A, 0x85, 0x08, 0x25, 0xB5, 0x97, 0xF0, + 0x23, 0xA6, 0x4F, 0xB2, 0xDA, 0x95, 0xB8, 0x79, 0x4E, 0x63, 0x2A, 0x4F, 0x25, 0x80, 0xA1, 0x57, + 0x53, 0xE2, 0xA6, 0xA5, 0x1C, 0xD4, 0x3D, 0x47, 0x39, 0xB7, 0xA9, 0x47, 0x52, 0x5D, 0x4B, 0xFA, + 0xA6, 0xBF, 0xA2, 0x01, 0xEB, 0xCB, 0x5F, 0x46, 0x13, 0xBA, 0xF8, 0x8E, 0xB4, 0x6A, 0xCD, 0x01, + 0xAA, 0x7C, 0x27, 0xE6, 0xB5, 0xC7, 0x37, 0xF6, 0x5E, 0x0F, 0xF0, 0x5F, 0x8D, 0xEE, 0x92, 0x9D, + 0x9A, 0x13, 0xEB, 0x77, 0x76, 0x12, 0xF5, 0x0B, 0x06, 0x30, 0xD8, 0xD2, 0xFB, 0x5B, 0xE9, 0x06, + 0x09, 0x6E, 0xDB, 0x97, 0xD3, 0x8C, 0x2F, 0x32, 0x1E, 0xA2, 0x85, 0x99, 0xEB, 0xBF, 0xB9, 0x66, + 0xF4, 0x83, 0x16, 0xB4, 0x7E, 0x7D, 0x6D, 0x75, 0x1A, 0x43, 0x3F, 0x20, 0x41, 0x6B, 0x37, 0xD1, + 0x3D, 0xDF, 0x59, 0xAD, 0xFF, 0xD6, 0x9C, 0xE7, 0x9A, 0x89, 0x25, 0xEB, 0x44, 0xD2, 0xE4, 0xB5, + 0xED, 0xF6, 0x6D, 0xB9, 0x18, 0x8F, 0xF9, 0x18, 0xEC, 0xC8, 0x1B, 0x5C, 0x39, 0x3F, 0xED, 0xB5, + 0x21, 0xDB, 0xD0, 0xC7, 0x9B, 0xA3, 0xFA, 0x6E, 0xBE, 0x95, 0x7D, 0xDD, 0x27, 0x59, 0x74, 0x45, + 0xDF, 0x44, 0xA0, 0x02, 0x8B, 0x24, 0xAB, 0x1B, 0xBA, 0x4D, 0xCF, 0x15, 0x3A, 0xC0, 0xB2, 0xE3, + 0x13, 0xDB, 0x92, 0xDB, 0x10, 0x37, 0xF1, 0xCF, 0xA0, 0x65, 0x71, 0x79, 0x64, 0xF8, 0x26, 0xB0, + 0xD6, 0x06, 0xEE, 0xAD, 0x67, 0xAF, 0x95, 0x31, 0xEB, 0x3B, 0x24, 0x42, 0xA6, 0xAF, 0x40, 0x64, + 0x7A, 0xAB, 0xAB, 0x6C, 0xAA, 0x05, 0x4B, 0x94, 0xCA, 0x2F, 0x7A, 0x44, 0x95, 0xFB, 0x5D, 0x22, + 0x13, 0xAF, 0x84, 0xFC, 0x2D, 0x86, 0x08, 0xB7, 0xD0, 0x0F, 0x66, 0xE0, 0xE5, 0x14, 0x98, 0xC7, + 0x4A, 0x60, 0x96, 0x43, 0xC5, 0x9A, 0x04, 0x6C, 0x6A, 0x0A, 0x4F, 0x9F, 0x42, 0x38, 0x31, 0x7D, + 0xD7, 0x9E, 0x48, 0xAC, 0x12, 0x97, 0xA9, 0x43, 0x2A, 0x18, 0x08, 0xB2, 0x2D, 0x78, 0x32, 0xC4, + 0xB5, 0x51, 0x89, 0xC0, 0x42, 0x31, 0xB5, 0x3D, 0x18, 0x31, 0xB4, 0x4D, 0x22, 0x0F, 0xAC, 0x5F, + 0x60, 0x33, 0x53, 0x7B, 0x69, 0x12, 0xCC, 0x23, 0xB9, 0xC2, 0xFD, 0x45, 0x10, 0x17, 0xB4, 0xAC, + 0x33, 0x69, 0x1A, 0xD4, 0xE5, 0x08, 0x37, 0x70, 0xD5, 0x76, 0x68, 0x79, 0xBA, 0xA3, 0x74, 0x01, + 0xAA, 0xFE, 0xBC, 0xC2, 0xA1, 0xCB, 0x5D, 0x4C, 0x3F, 0xAD, 0x52, 0xBB, 0x31, 0xE6, 0x03, 0xE4, + 0x25, 0x4A, 0x5F, 0xDA, 0xC0, 0x19, 0x43, 0xE0, 0xB8, 0x86, 0x52, 0x3A, 0xA0, 0xAF, 0x83, 0x9B, + 0x6F, 0x0A, 0x62, 0x47, 0xA3, 0x3C, 0xCF, 0x65, 0x26, 0x6F, 0x3F, 0xC3, 0xAB, 0xA5, 0x4E, 0x12, + 0x9D, 0xE3, 0xB9, 0xFD, 0x6C, 0xB1, 0x2E, 0x16, 0xB5, 0xB5, 0x47, 0x29, 0x0B, 0x80, 0xAC, 0xF1, + 0xDA, 0x08, 0x9E, 0xB8, 0xCC, 0xF7, 0xCE, 0x43, 0x33, 0x11, 0xBC, 0x06, 0x98, 0x3E, 0xB1, 0x92, + 0xBE, 0x8E, 0xFC, 0x3D, 0x82, 0x0E, 0xDE, 0xC8, 0x96, 0x3F, 0x55, 0xB0, 0xFE, 0x0B, 0xBB, 0x78, + 0x76, 0xEF, 0x6B, 0x65, 0xFC, 0xF4, 0xC7, 0x76, 0xE3, 0xFF, 0x4A, 0xC7, 0x8A, 0x5F, 0x7F, 0xB0, + 0x9F, 0xE2, 0x15, 0xD7, 0x1C, 0x65, 0x65, 0x8D, 0x1C, 0x42, 0x92, 0x94, 0x9D, 0x81, 0xDF, 0x01, + 0x06, 0xF7, 0x44, 0x7D, 0xE2, 0x10, 0x0E, 0xE4, 0x8F, 0x1E, 0x41, 0x41, 0xE5, 0x0C, 0xD8, 0x59, + 0x35, 0x4F, 0x8D, 0x32, 0x59, 0x0C, 0xD3, 0x5F, 0x97, 0xA1, 0x6E, 0xE6, 0x09, 0xDE, 0x39, 0x7B, + 0x7B, 0xAF, 0xFE, 0x13, 0x37, 0x06, 0x77, 0x9B, 0x2E, 0x93, 0x06, 0x54, 0x32, 0xA0, 0x28, 0xF1, + 0x5B, 0xF4, 0x6A, 0x0A, 0x1D, 0x9A, 0x98, 0x0A, 0x42, 0xE7, 0xFE, 0x08, 0x8D, 0xF7, 0x38, 0xDE, + 0xA6, 0x63, 0xEA, 0x27, 0x6C, 0xF0, 0x7F, 0xBC, 0x86, 0xF9, 0x17, 0x50, 0x4B, 0x03, 0x04, 0x14, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xB7, 0x4A, 0x48, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, + 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x61, 0x64, 0x6D, 0x2D, 0x7A, 0x69, 0x70, 0x2F, 0x68, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x73, 0x2F, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, + 0xE0, 0x79, 0x5A, 0x0B, 0x53, 0xA9, 0x72, 0xBB, 0x53, 0x08, 0x00, 0x00, 0xB4, 0x2A, 0x00, 0x00, + 0x2B, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, + 0x2F, 0x61, 0x64, 0x6D, 0x2D, 0x7A, 0x69, 0x70, 0x2F, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, + 0x2F, 0x65, 0x6E, 0x74, 0x72, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x2E, 0x6A, 0x73, 0xB5, + 0x5A, 0x6B, 0x6F, 0xD3, 0x30, 0x14, 0xFD, 0x8E, 0xC4, 0x7F, 0x30, 0xFB, 0x00, 0x2D, 0x2B, 0x5D, + 0xD2, 0xF1, 0x1E, 0x20, 0x8D, 0xAD, 0x83, 0x89, 0xB1, 0x21, 0x56, 0x9E, 0x42, 0x42, 0x59, 0xEB, + 0xB2, 0x88, 0x34, 0x29, 0x8E, 0xC3, 0x78, 0xED, 0xBF, 0x73, 0xFD, 0x8A, 0x63, 0x3B, 0x6E, 0xB2, + 0x30, 0x22, 0x4D, 0x5B, 0xAE, 0xEF, 0x3D, 0xC7, 0xAF, 0x9C, 0x7B, 0x9D, 0xEC, 0x7B, 0x44, 0xD0, + 0x1B, 0x1A, 0x27, 0x39, 0x7A, 0x8C, 0x08, 0xFE, 0x56, 0xC4, 0x04, 0xF7, 0xD6, 0x86, 0xC3, 0x8D, + 0x02, 0x6C, 0x6B, 0xFD, 0xC1, 0xD5, 0x2B, 0x08, 0xAE, 0x9D, 0x2C, 0xCD, 0x69, 0x94, 0x52, 0x70, + 0x12, 0xCE, 0xC3, 0xD2, 0xB2, 0x75, 0xF5, 0xCA, 0xD5, 0x2B, 0x1B, 0x37, 0xD1, 0xE4, 0x14, 0xA3, + 0x29, 0x4E, 0x29, 0x89, 0x12, 0x34, 0x03, 0x90, 0x29, 0xCD, 0xC8, 0x4F, 0x34, 0x8F, 0x13, 0x8C, + 0x4E, 0x71, 0x34, 0xC3, 0x04, 0xDD, 0xDC, 0xB8, 0x7A, 0x65, 0x91, 0xCD, 0x8A, 0x04, 0x0F, 0xF1, + 0x8F, 0x65, 0x46, 0x38, 0xDA, 0xBC, 0x48, 0xA7, 0x34, 0xCE, 0x52, 0xD4, 0xEB, 0xA3, 0xDF, 0x82, + 0x8C, 0xF5, 0xE8, 0xF3, 0x77, 0x4C, 0x5E, 0x42, 0x14, 0x78, 0x04, 0x3F, 0xC2, 0xDB, 0xAC, 0x1B, + 0xE2, 0xE2, 0x2D, 0x39, 0x04, 0xF0, 0x96, 0x60, 0xBB, 0xDA, 0x32, 0x4F, 0xA2, 0x2F, 0x39, 0xB3, + 0x57, 0x8D, 0x0B, 0x4C, 0x4F, 0xB3, 0x99, 0x6D, 0xA5, 0xF1, 0x02, 0xDB, 0xB6, 0x29, 0x99, 0x3A, + 0xA6, 0x6C, 0xB1, 0x24, 0x38, 0xCF, 0xF1, 0xEC, 0x38, 0xFE, 0xE5, 0x04, 0xE4, 0x35, 0xB6, 0x79, + 0x1A, 0x2D, 0xF0, 0x01, 0x4E, 0x6D, 0x3B, 0xFE, 0x01, 0x33, 0xA3, 0xED, 0x26, 0x47, 0x8D, 0xFF, + 0x2C, 0xCE, 0xBF, 0x1E, 0xD3, 0x88, 0x50, 0xBB, 0x21, 0x4E, 0x23, 0x4A, 0x89, 0x6D, 0xAD, 0xB3, + 0x65, 0xF3, 0x79, 0x8E, 0x79, 0xFC, 0x96, 0x22, 0xCC, 0xCF, 0x62, 0x3A, 0x3D, 0xED, 0x2D, 0x49, + 0x36, 0x85, 0x51, 0x0D, 0x97, 0x49, 0x44, 0xE7, 0x19, 0x59, 0xF4, 0x7F, 0xEB, 0xB0, 0x69, 0x94, + 0x63, 0x74, 0xE3, 0x2C, 0x4E, 0x37, 0x47, 0x37, 0x1E, 0x82, 0x59, 0x5F, 0x7A, 0x51, 0xFE, 0x88, + 0xB9, 0x0F, 0x00, 0xD8, 0x8A, 0x9B, 0x45, 0x04, 0x42, 0x57, 0x07, 0x86, 0x9B, 0x46, 0xE0, 0x0C, + 0xCF, 0xA3, 0x22, 0xA1, 0xAB, 0xB9, 0x74, 0xC8, 0x39, 0x8C, 0x45, 0x6F, 0x93, 0x59, 0x44, 0xA3, + 0xE7, 0x6C, 0x7B, 0xB1, 0xD1, 0xFF, 0x3E, 0x57, 0x03, 0xD5, 0xDB, 0x0A, 0x66, 0x60, 0x02, 0x6B, + 0xDD, 0xFB, 0x1E, 0x25, 0x62, 0x83, 0xC9, 0x0B, 0xEE, 0x21, 0x22, 0xC5, 0x67, 0x68, 0x37, 0xA2, + 0xA2, 0x79, 0xCB, 0xDD, 0x1F, 0xCC, 0x3E, 0xFC, 0x82, 0xE9, 0x5E, 0x91, 0x24, 0x1F, 0x70, 0x44, + 0x60, 0x93, 0xDE, 0x42, 0xE1, 0x83, 0xFB, 0x01, 0xBA, 0x0E, 0xBD, 0xBA, 0x37, 0xEF, 0xA3, 0x47, + 0x8F, 0xD0, 0xE8, 0x0E, 0x42, 0x1B, 0x1B, 0xE8, 0x24, 0x78, 0x70, 0x2B, 0xBC, 0x8B, 0x7E, 0x82, + 0x5B, 0x8E, 0xE6, 0x24, 0x5B, 0x70, 0x47, 0x73, 0x54, 0x7F, 0x4A, 0xC4, 0x97, 0x59, 0x4A, 0x4F, + 0x01, 0x6E, 0x1D, 0x85, 0x02, 0x24, 0x44, 0xE6, 0x25, 0x31, 0xEF, 0xDC, 0x0A, 0xEE, 0xA3, 0x05, + 0x73, 0xB6, 0x91, 0x24, 0x10, 0xEF, 0x3E, 0x87, 0x00, 0x72, 0x7D, 0xB9, 0x48, 0xC1, 0xAD, 0xE0, + 0x36, 0x3A, 0xCD, 0x0A, 0xC2, 0xE6, 0xC8, 0x6A, 0x1D, 0xA1, 0x93, 0x9F, 0x14, 0xE7, 0x88, 0x0D, + 0xDB, 0xC3, 0xF3, 0x1C, 0x22, 0x73, 0x49, 0x14, 0x2A, 0xD0, 0x30, 0xBC, 0x15, 0xDE, 0xE1, 0xA0, + 0x9E, 0xA8, 0x97, 0x71, 0x5A, 0x00, 0xB0, 0x88, 0xBB, 0xA3, 0x07, 0x15, 0x06, 0x68, 0xC1, 0x9B, + 0x3C, 0x71, 0xC7, 0x78, 0x9A, 0xA5, 0x33, 0x16, 0xF7, 0xE4, 0x09, 0x0A, 0xB7, 0xAA, 0x43, 0xC8, + 0x45, 0x13, 0x88, 0xCC, 0xF7, 0x78, 0x86, 0x67, 0xD0, 0x73, 0x34, 0x32, 0xB7, 0x46, 0xB9, 0xE8, + 0xEB, 0xE5, 0xFA, 0xF6, 0xFB, 0xE5, 0xD6, 0x20, 0x98, 0x16, 0x24, 0xAD, 0xEE, 0x05, 0xE0, 0x43, + 0x0B, 0xD8, 0x43, 0x5C, 0x83, 0x64, 0x7B, 0xB9, 0x01, 0xB7, 0xD0, 0x79, 0xE5, 0xA1, 0xCA, 0x95, + 0xAB, 0xDC, 0x50, 0x55, 0xA1, 0x02, 0x8B, 0x70, 0x36, 0x91, 0xA5, 0x5E, 0x99, 0xE0, 0xD2, 0xE8, + 0x82, 0xCB, 0x06, 0x8D, 0x2F, 0x0D, 0x02, 0xBF, 0x06, 0x9E, 0x8B, 0x9E, 0x09, 0xCE, 0x4D, 0x0E, + 0x32, 0xB7, 0x6A, 0x5C, 0x7E, 0xEB, 0xEF, 0xB5, 0x90, 0x4D, 0x13, 0x57, 0xD8, 0xAC, 0x3E, 0x6B, + 0x5F, 0xE7, 0x19, 0xD3, 0x8A, 0x23, 0xDA, 0x8C, 0x26, 0xAD, 0x1A, 0x3A, 0xBB, 0x0C, 0x8F, 0x27, + 0x47, 0xAF, 0xC7, 0xBB, 0x5C, 0x0A, 0xDC, 0x8B, 0x9E, 0xC6, 0xF9, 0x50, 0x4F, 0x47, 0x18, 0x6C, + 0x35, 0xE2, 0xED, 0x8E, 0xF7, 0x0E, 0xB6, 0x27, 0x2E, 0xA2, 0x96, 0x9D, 0x76, 0x5C, 0x23, 0x9B, + 0xEB, 0xDC, 0xB8, 0x55, 0x53, 0x23, 0xA7, 0xD3, 0x68, 0x73, 0xE7, 0x96, 0x3F, 0x65, 0xC6, 0xCC, + 0x96, 0xDB, 0xD4, 0x8C, 0xEC, 0xF5, 0xB8, 0x0E, 0xB1, 0x47, 0x60, 0x74, 0xA7, 0x5F, 0x4A, 0xCE, + 0x3A, 0x17, 0x96, 0x81, 0xDF, 0x37, 0x14, 0xBE, 0xC1, 0x9C, 0xAB, 0x95, 0xE5, 0xA8, 0xFD, 0xC2, + 0xBB, 0xC2, 0x2F, 0x9C, 0xFB, 0x5D, 0xC2, 0x46, 0x17, 0xD9, 0xB1, 0xCD, 0x7A, 0x0F, 0x19, 0x2D, + 0x64, 0x43, 0x3B, 0x54, 0xB4, 0xD6, 0xD9, 0x4D, 0x2C, 0xCC, 0xB3, 0x97, 0xB4, 0x96, 0x33, 0x00, + 0xFF, 0x04, 0x43, 0x26, 0x37, 0x77, 0x2E, 0x18, 0xDC, 0x6D, 0x0B, 0x46, 0xC5, 0xC3, 0x3D, 0xFC, + 0x0F, 0x83, 0x59, 0x06, 0x98, 0xD0, 0x66, 0x9B, 0xCB, 0x62, 0xB6, 0x6B, 0x42, 0xD3, 0xEE, 0xE7, + 0xCE, 0x1D, 0xC6, 0xBC, 0x96, 0x27, 0x37, 0xD0, 0xF3, 0x55, 0x98, 0xBC, 0x2A, 0x3B, 0x14, 0x75, + 0xCA, 0x17, 0x7A, 0x5A, 0x45, 0xD7, 0x05, 0x8C, 0xC5, 0xE0, 0x44, 0x29, 0x2E, 0x1D, 0xE1, 0xE7, + 0x93, 0xC5, 0x8F, 0x4B, 0xA6, 0x1A, 0x1C, 0x2E, 0xDE, 0x60, 0x13, 0x29, 0xE3, 0xCA, 0x85, 0x5A, + 0x40, 0x0D, 0x5A, 0x47, 0x05, 0x4D, 0x0E, 0x91, 0x8E, 0x30, 0xA9, 0xA4, 0xB7, 0x5F, 0x74, 0x59, + 0x75, 0x76, 0x58, 0x2C, 0x78, 0x81, 0x66, 0xD0, 0xE8, 0xBA, 0xCD, 0x64, 0xB2, 0x62, 0x4A, 0x22, + 0xED, 0xEF, 0xE5, 0x8A, 0xD3, 0x6D, 0x28, 0xEE, 0xAA, 0x2C, 0xAA, 0x08, 0x34, 0x29, 0x4A, 0x57, + 0x05, 0xAE, 0xDC, 0xBC, 0xC8, 0x91, 0x83, 0x5B, 0x8B, 0x1A, 0x19, 0x98, 0x2B, 0x11, 0x45, 0xC9, + 0x69, 0x62, 0x0A, 0x9B, 0x83, 0x2A, 0xCC, 0x1A, 0x57, 0xDC, 0x7B, 0x91, 0x71, 0x3A, 0x25, 0xF1, + 0x92, 0x62, 0x33, 0x25, 0xF5, 0x64, 0x1A, 0xBB, 0xCE, 0xAA, 0xA8, 0xC7, 0x8F, 0x21, 0x29, 0xD4, + 0x86, 0x52, 0xF2, 0x53, 0x14, 0x89, 0xE5, 0xE3, 0xAB, 0x3D, 0x74, 0x49, 0x50, 0xC9, 0x1B, 0x3B, + 0xE3, 0xC3, 0xE7, 0xBB, 0xAF, 0xD1, 0x7A, 0x65, 0x73, 0xAF, 0x57, 0xF6, 0xDF, 0xBA, 0xDA, 0x20, + 0xAB, 0x54, 0x08, 0x50, 0xA3, 0x04, 0x54, 0x3D, 0x3A, 0xE2, 0x23, 0xF3, 0xD2, 0x96, 0x43, 0x5F, + 0xAF, 0x74, 0xE0, 0xE0, 0x68, 0x47, 0x76, 0x40, 0x57, 0xB8, 0x43, 0xD5, 0x17, 0xCB, 0xCC, 0xBB, + 0xD5, 0xD4, 0x19, 0xED, 0xBF, 0xA2, 0x23, 0xDA, 0xC9, 0x8B, 0x95, 0x64, 0xD1, 0x6C, 0xB7, 0x74, + 0xDB, 0x83, 0x32, 0xF7, 0x29, 0xEC, 0x32, 0x38, 0xE9, 0x3D, 0x2C, 0x6B, 0xEE, 0xDE, 0xC6, 0xCD, + 0xA7, 0xC5, 0x7C, 0x8E, 0xC9, 0xCD, 0x8D, 0x38, 0x5D, 0x16, 0xD4, 0xA0, 0x53, 0x95, 0x3B, 0xA3, + 0x82, 0xC5, 0xE6, 0x0E, 0xC3, 0x3C, 0x89, 0xA7, 0xB8, 0x27, 0xE7, 0x61, 0xB0, 0x62, 0x42, 0xFA, + 0x5B, 0x4E, 0xE9, 0xBA, 0x19, 0xC8, 0xDA, 0x35, 0x4A, 0x67, 0x28, 0x87, 0x52, 0x34, 0x81, 0x5F, + 0xFC, 0x81, 0x3A, 0x8B, 0xE1, 0x89, 0x5E, 0x7B, 0xF5, 0xE2, 0x53, 0x10, 0x6C, 0xC2, 0xCF, 0xED, + 0x35, 0x33, 0x36, 0x9E, 0xA3, 0x1E, 0xEB, 0xC5, 0x90, 0xC0, 0x50, 0xDE, 0xEC, 0xA7, 0x74, 0x73, + 0x74, 0x30, 0xEE, 0x05, 0x7D, 0x74, 0xED, 0xF1, 0x63, 0x93, 0xF8, 0x78, 0xFF, 0x19, 0x1F, 0x83, + 0x5B, 0x24, 0x90, 0xEC, 0x8C, 0x27, 0xEF, 0x31, 0x21, 0x19, 0xE9, 0x89, 0x93, 0x31, 0xFF, 0x3B, + 0x1F, 0xEE, 0x1F, 0xBE, 0xDD, 0x3E, 0xD8, 0xDF, 0xFD, 0x0C, 0xF1, 0xFD, 0x95, 0xC5, 0x83, 0x7D, + 0x88, 0xD1, 0x8D, 0x7A, 0x94, 0xAA, 0x2C, 0x04, 0x32, 0xCC, 0x6A, 0x5E, 0x9A, 0x09, 0x85, 0x9C, + 0x52, 0xC7, 0xBB, 0x74, 0x7D, 0x88, 0x8C, 0xD1, 0x85, 0x77, 0x61, 0x74, 0xC6, 0xB0, 0xDE, 0x8E, + 0x5F, 0xF7, 0x07, 0xB5, 0x6C, 0x5F, 0x70, 0x8A, 0xD9, 0x39, 0x7E, 0x59, 0x90, 0x65, 0x06, 0x05, + 0xD5, 0x49, 0x2C, 0xCA, 0x47, 0xD7, 0x99, 0x3F, 0x7E, 0xCD, 0x54, 0x7B, 0x07, 0xCF, 0xEA, 0xA9, + 0x54, 0x7A, 0x64, 0x3D, 0x96, 0x75, 0xA4, 0xE3, 0x26, 0xED, 0xCD, 0x2C, 0xCF, 0x8F, 0xDE, 0x79, + 0x58, 0xE0, 0xB5, 0x43, 0x3C, 0x8F, 0xA7, 0x11, 0xDB, 0x9E, 0xB2, 0xC0, 0xA8, 0x1E, 0x79, 0x06, + 0xEA, 0x00, 0xC4, 0x18, 0x70, 0xDF, 0x81, 0xE0, 0x4E, 0x36, 0xFF, 0xE6, 0xC8, 0xE6, 0x9F, 0xEC, + 0xBF, 0xF4, 0xF0, 0x17, 0xA9, 0x4E, 0xF7, 0x3C, 0x8F, 0xB2, 0xE2, 0xE3, 0xD6, 0xE6, 0x88, 0x89, + 0x5D, 0x81, 0x9D, 0x10, 0xD6, 0xDA, 0x4C, 0xB7, 0xF3, 0x7A, 0xC7, 0x43, 0xA7, 0xC9, 0x78, 0x59, + 0xE0, 0xF8, 0x98, 0x45, 0x49, 0x8B, 0x91, 0x1D, 0xEF, 0x7F, 0x6C, 0x33, 0xB2, 0x7A, 0xB2, 0xBC, + 0x15, 0xC5, 0xC1, 0xF8, 0xB0, 0x9E, 0x82, 0xCF, 0x17, 0x53, 0x3E, 0x94, 0xF0, 0x24, 0xED, 0xFA, + 0x48, 0x5D, 0x6C, 0xB1, 0xE5, 0x0F, 0xB7, 0x3D, 0x2B, 0x24, 0x1E, 0x27, 0xA0, 0xC2, 0xC9, 0xCC, + 0xC7, 0x23, 0x7C, 0x5A, 0xF1, 0x8C, 0xDF, 0x4F, 0xFA, 0xD6, 0x33, 0xBF, 0x4A, 0x50, 0x9B, 0x64, + 0x94, 0xB1, 0x69, 0x05, 0xD2, 0x9D, 0x66, 0x76, 0xA5, 0x79, 0x27, 0x18, 0xDD, 0xBE, 0x5B, 0x4A, + 0xA1, 0xAD, 0x81, 0x28, 0x08, 0x51, 0x30, 0xF2, 0x29, 0xA0, 0x18, 0x30, 0x13, 0x3E, 0x37, 0x07, + 0xFE, 0xF9, 0x83, 0x5A, 0xA8, 0x24, 0x38, 0xFF, 0x93, 0x4A, 0x42, 0x7C, 0x83, 0x4A, 0x6A, 0x11, + 0xE4, 0x07, 0x70, 0x18, 0xA9, 0xE7, 0x85, 0xD1, 0xE3, 0x95, 0x8B, 0x03, 0x44, 0x6F, 0xC7, 0x2F, + 0x19, 0x57, 0x37, 0x85, 0x55, 0xE7, 0xF1, 0x36, 0x34, 0x35, 0xE9, 0x8A, 0xD7, 0x31, 0x3F, 0x97, + 0x90, 0xE4, 0x66, 0x98, 0xFF, 0x21, 0x14, 0xD4, 0xE2, 0xE0, 0xB6, 0x66, 0x06, 0x50, 0x55, 0xC6, + 0x70, 0x41, 0x45, 0x95, 0x67, 0xD5, 0x66, 0x78, 0x90, 0x53, 0x06, 0x7F, 0x89, 0x52, 0x2A, 0x5F, + 0xAB, 0xD9, 0x1B, 0xCA, 0x26, 0x9E, 0xEC, 0xF3, 0x05, 0xFA, 0x07, 0x0D, 0x65, 0xC7, 0xB9, 0x66, + 0x1E, 0x10, 0x50, 0xC6, 0x73, 0x11, 0xF1, 0x34, 0x8F, 0x6D, 0x2D, 0xC6, 0x02, 0xCA, 0xC9, 0x38, + 0x2E, 0xA6, 0x9A, 0x9F, 0xF3, 0x56, 0xD8, 0x07, 0xE2, 0xA1, 0xB9, 0x88, 0x5C, 0xAA, 0x7A, 0xB6, + 0xC5, 0xFE, 0x3D, 0xDC, 0xE6, 0xAB, 0x70, 0x41, 0x9D, 0x14, 0x45, 0x72, 0x2B, 0x02, 0x10, 0x49, + 0x4F, 0xF7, 0xD5, 0xA9, 0xAC, 0x9E, 0x01, 0x1A, 0x5B, 0xE1, 0xEF, 0x1C, 0xD5, 0x3E, 0xE7, 0x59, + 0x52, 0xC0, 0xE4, 0xA4, 0xC5, 0xE2, 0x04, 0x13, 0xA1, 0x92, 0xA6, 0x8F, 0x3E, 0x92, 0x35, 0x53, + 0xEC, 0x1E, 0xBF, 0xA8, 0xA1, 0x88, 0x53, 0x8A, 0x49, 0x1A, 0x25, 0x7C, 0x2C, 0xFC, 0xF8, 0x14, + 0x9F, 0xB0, 0xB7, 0xA0, 0x86, 0xA3, 0x3A, 0x9D, 0x35, 0x93, 0x6C, 0x4F, 0x26, 0xB5, 0x0B, 0xD1, + 0x8A, 0x84, 0x35, 0x34, 0xEF, 0xA4, 0xED, 0xC9, 0xFB, 0x1A, 0x0A, 0x48, 0x64, 0xF2, 0xDB, 0x8D, + 0x3C, 0xAD, 0x59, 0xD8, 0xC2, 0xD8, 0x8C, 0x7E, 0xB4, 0xB7, 0xE7, 0x7F, 0x5F, 0xA3, 0x8B, 0xDF, + 0x49, 0xE6, 0xE6, 0x40, 0xC8, 0x28, 0x2B, 0xBA, 0x25, 0x5F, 0x7A, 0xA8, 0x23, 0x40, 0xDF, 0x7B, + 0xCC, 0x10, 0x89, 0x74, 0x18, 0x25, 0x49, 0x36, 0xED, 0xB5, 0x38, 0x54, 0x78, 0x4F, 0x0D, 0x62, + 0xA8, 0x67, 0x24, 0xA6, 0xD8, 0x57, 0x29, 0x3D, 0x1B, 0xA0, 0xA0, 0x7B, 0x7E, 0xD1, 0xF8, 0xE5, + 0x66, 0x50, 0x29, 0x67, 0x60, 0x9E, 0x4A, 0x64, 0x7E, 0xE9, 0x54, 0xBA, 0xBB, 0x2C, 0xF2, 0x24, + 0x6D, 0x71, 0x74, 0xCB, 0x30, 0x75, 0xE8, 0xC2, 0xCF, 0x82, 0xBF, 0xFC, 0x0C, 0x53, 0xB3, 0x3C, + 0x3C, 0xE9, 0x58, 0xC4, 0xFF, 0x9E, 0x61, 0xEA, 0x88, 0xC0, 0xDB, 0xE2, 0xE9, 0x90, 0x61, 0x6A, + 0x80, 0xAD, 0xA4, 0x63, 0x71, 0x74, 0xCA, 0x30, 0x75, 0x2C, 0xB9, 0x8B, 0xDD, 0x21, 0xC3, 0xD4, + 0x2C, 0x7E, 0x99, 0x74, 0x2C, 0xF4, 0x6E, 0x19, 0xA6, 0x8E, 0x80, 0xC7, 0xB8, 0x04, 0x32, 0xC3, + 0xB8, 0xAF, 0x3A, 0x38, 0x88, 0x4F, 0x92, 0xC4, 0x0B, 0xA3, 0x8B, 0x69, 0x12, 0xA8, 0x9C, 0xA9, + 0x49, 0xB7, 0xEF, 0x76, 0xD4, 0xA4, 0xB6, 0xAF, 0x9E, 0xBC, 0xAA, 0x15, 0xC2, 0xCF, 0xE8, 0x22, + 0xAA, 0x05, 0x8C, 0x8D, 0xAA, 0x25, 0x4B, 0xEE, 0xE6, 0x95, 0x90, 0x55, 0xF8, 0x00, 0x5D, 0x5E, + 0xC9, 0xDD, 0x52, 0x12, 0xFF, 0xA9, 0xE4, 0x6E, 0x25, 0x88, 0x9D, 0x4B, 0xEE, 0x76, 0x82, 0xF8, + 0x5F, 0x4A, 0xEE, 0x36, 0x82, 0x78, 0x29, 0x25, 0x77, 0x0B, 0x41, 0xEC, 0x56, 0x72, 0x5F, 0x4C, + 0x10, 0xBB, 0x96, 0xDC, 0x6D, 0x04, 0xB1, 0x5B, 0xC9, 0xDD, 0x56, 0x10, 0x3B, 0x97, 0xDC, 0x6D, + 0x05, 0xB1, 0x7B, 0xC9, 0x5D, 0xC7, 0x00, 0xFE, 0x1C, 0xFF, 0x32, 0x4A, 0xEE, 0x1A, 0x7C, 0x5D, + 0x85, 0x0F, 0xD0, 0xA5, 0x95, 0xDC, 0x35, 0x3C, 0xB2, 0x0A, 0x1F, 0xA0, 0x4B, 0x2B, 0xB9, 0xEB, + 0x76, 0x92, 0xA0, 0xF8, 0xF7, 0x92, 0xDB, 0xC5, 0xD6, 0x6F, 0xCD, 0x57, 0x95, 0xDC, 0x7A, 0xA1, + 0x13, 0x14, 0xC1, 0xCF, 0x59, 0x5C, 0xBB, 0xC4, 0xAC, 0xBD, 0x07, 0x1F, 0x8E, 0x83, 0x81, 0xF3, + 0x1E, 0xA8, 0x4B, 0x1E, 0xA5, 0xD9, 0x31, 0x4C, 0x51, 0xFA, 0xC5, 0x4D, 0x9E, 0x2E, 0xD0, 0x8D, + 0xDF, 0x9F, 0xD2, 0x1B, 0x68, 0xDD, 0x7D, 0x7D, 0x74, 0xE3, 0x13, 0x5D, 0x63, 0xD9, 0x67, 0x0D, + 0x50, 0xC0, 0xA1, 0x7C, 0xCF, 0x03, 0x7F, 0xAE, 0x0D, 0x3E, 0xA5, 0x6B, 0xBE, 0x18, 0x99, 0x21, + 0xCA, 0x30, 0x79, 0xDF, 0x14, 0xC6, 0x45, 0xBF, 0x0C, 0xE2, 0x77, 0x4D, 0x21, 0x42, 0xC9, 0x55, + 0x8C, 0x78, 0xBD, 0x25, 0x6C, 0x13, 0x39, 0x01, 0x4A, 0xED, 0xFB, 0x4D, 0x50, 0x4C, 0x99, 0x25, + 0x90, 0xF8, 0x17, 0x04, 0x30, 0x34, 0x8E, 0x14, 0x54, 0x96, 0xC5, 0x04, 0x3F, 0x78, 0x97, 0xE1, + 0x6E, 0x48, 0x15, 0x2F, 0x7C, 0xE2, 0x87, 0x9B, 0x37, 0xCB, 0x25, 0x26, 0x3B, 0xF0, 0x9F, 0x11, + 0xBD, 0xC6, 0x0E, 0x18, 0xC2, 0xAA, 0xE7, 0xDC, 0x34, 0x33, 0x10, 0x91, 0x71, 0x56, 0x41, 0xE5, + 0x55, 0x80, 0xBC, 0x75, 0x98, 0xF9, 0x95, 0x59, 0x01, 0x28, 0xC5, 0x6C, 0x5C, 0x3F, 0x2E, 0x7C, + 0x56, 0xAC, 0xB2, 0xB5, 0xEB, 0x80, 0xF1, 0x45, 0xB8, 0x3A, 0x03, 0xAD, 0x11, 0xAA, 0x5F, 0x7A, + 0x15, 0x80, 0xD6, 0xB3, 0xA6, 0x11, 0x88, 0x8F, 0xB8, 0x2A, 0x4E, 0xEA, 0x53, 0x53, 0x50, 0x54, + 0x0D, 0x69, 0x13, 0x20, 0x54, 0xA3, 0x0C, 0xE1, 0xB7, 0x8D, 0x5D, 0xB3, 0xBE, 0xA4, 0xAA, 0xE8, + 0x2E, 0xD5, 0xAB, 0x9E, 0x49, 0x1F, 0xDF, 0xF9, 0x8D, 0xAA, 0xB0, 0x94, 0xFF, 0xE1, 0x75, 0x0E, + 0xD6, 0xBF, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, + 0xE0, 0x44, 0x35, 0x55, 0x45, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, + 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x61, 0x64, 0x6D, + 0x2D, 0x7A, 0x69, 0x70, 0x2F, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x2F, 0x69, 0x6E, 0x64, + 0x65, 0x78, 0x2E, 0x6A, 0x73, 0x6D, 0x8B, 0x3D, 0x0A, 0x80, 0x20, 0x00, 0x85, 0xF7, 0xA0, 0x3B, + 0x88, 0x53, 0x2D, 0x76, 0x80, 0x68, 0x0C, 0x5A, 0x3A, 0x84, 0xD0, 0x1B, 0x1C, 0xB2, 0x7C, 0x2A, + 0xE8, 0xED, 0xC5, 0x41, 0x5C, 0x5C, 0xBF, 0x1F, 0xA4, 0xFF, 0x63, 0xF0, 0xEA, 0xB4, 0x81, 0xF9, + 0x82, 0x7E, 0x40, 0x71, 0x08, 0xC2, 0x45, 0x43, 0x2C, 0x52, 0x6D, 0xE8, 0x42, 0xAE, 0xFB, 0x3C, + 0xB5, 0xE1, 0xD6, 0xC6, 0x8E, 0xFA, 0xB7, 0xF2, 0x9E, 0x17, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, + 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x81, 0x4C, 0x24, 0x9E, 0xCF, 0x03, 0x00, 0x00, + 0xD9, 0x0F, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, + 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x61, 0x64, 0x6D, 0x2D, 0x7A, 0x69, 0x70, 0x2F, 0x68, 0x65, 0x61, + 0x64, 0x65, 0x72, 0x73, 0x2F, 0x6D, 0x61, 0x69, 0x6E, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x2E, + 0x6A, 0x73, 0xB5, 0x57, 0x4D, 0x73, 0xD3, 0x30, 0x10, 0xBD, 0x77, 0xA6, 0xFF, 0x61, 0xC9, 0x81, + 0x38, 0x6D, 0xC6, 0x09, 0x50, 0x72, 0x20, 0xF4, 0x40, 0x4B, 0x80, 0x0C, 0x50, 0x18, 0xDA, 0x72, + 0xE8, 0x74, 0xA6, 0xA3, 0x24, 0x72, 0xA2, 0xC1, 0x96, 0x82, 0x2C, 0xB7, 0x7C, 0xF5, 0xBF, 0xB3, + 0x92, 0xEC, 0x38, 0x96, 0xEC, 0xA6, 0x2D, 0xD4, 0x97, 0x24, 0xAB, 0xDD, 0x7D, 0x4F, 0xAB, 0xB7, + 0x2B, 0xE7, 0x92, 0x48, 0x38, 0x55, 0x2C, 0x4E, 0x61, 0x1F, 0x24, 0xFD, 0x9E, 0x31, 0x49, 0x83, + 0x56, 0x18, 0xF6, 0x32, 0xB4, 0xB5, 0x3A, 0xDD, 0xED, 0x2D, 0xC0, 0xE7, 0x50, 0xF0, 0x54, 0x11, + 0xAE, 0xD0, 0xC9, 0x3A, 0x87, 0x2B, 0xCB, 0x70, 0x7B, 0x6B, 0x7B, 0xAB, 0xB7, 0x03, 0x27, 0x0B, + 0x0A, 0x94, 0x2B, 0xC9, 0x68, 0x0A, 0x8C, 0x83, 0x32, 0x3F, 0x67, 0x20, 0x22, 0x98, 0x6A, 0x33, + 0x89, 0x61, 0x86, 0xA9, 0xA7, 0x4A, 0xC8, 0x9F, 0xB0, 0xD3, 0xDB, 0xDE, 0x4A, 0xC4, 0x2C, 0x8B, + 0x69, 0x48, 0x7F, 0x2C, 0x85, 0x34, 0x79, 0xA3, 0x8C, 0x4F, 0x15, 0x13, 0x1C, 0x82, 0x0E, 0xFC, + 0xB6, 0xB0, 0x9A, 0xDB, 0xC5, 0xA5, 0x88, 0xB3, 0x84, 0x8E, 0x4C, 0x6A, 0xED, 0xD7, 0xD7, 0x9C, + 0xF2, 0xE7, 0x42, 0x09, 0x45, 0xE2, 0x86, 0xB5, 0x94, 0xFD, 0xA2, 0xAE, 0x4D, 0x44, 0x51, 0x4A, + 0x95, 0x6B, 0x9D, 0x8A, 0x24, 0x41, 0x92, 0x1F, 0x28, 0x9F, 0xAB, 0x85, 0x5E, 0xC4, 0x4D, 0xD9, + 0x65, 0x49, 0x55, 0x26, 0xB9, 0xE1, 0x93, 0x3F, 0x73, 0x0C, 0x9F, 0xB1, 0xF4, 0x5B, 0x0E, 0x6A, + 0xD8, 0xE6, 0x6E, 0x2E, 0xD7, 0xEB, 0x35, 0x8C, 0xD4, 0x0D, 0xEB, 0xED, 0x1C, 0x65, 0xC9, 0x84, + 0xCA, 0x9D, 0xDE, 0x25, 0x89, 0x31, 0x87, 0xB7, 0x51, 0x6F, 0x73, 0xE8, 0x37, 0x34, 0x39, 0xAB, + 0x64, 0x0A, 0x2F, 0x9F, 0x4D, 0xB1, 0xE2, 0x93, 0x29, 0xC2, 0x1A, 0xD9, 0xB8, 0xE0, 0x05, 0xBB, + 0x8D, 0x6C, 0x74, 0xD1, 0xAB, 0x2C, 0xB4, 0xC5, 0x43, 0xD7, 0x46, 0x1F, 0xD5, 0x3A, 0x37, 0x27, + 0xB7, 0xA7, 0x57, 0x4D, 0x6F, 0x6D, 0x1E, 0x80, 0x35, 0xFB, 0x10, 0x45, 0x40, 0x33, 0x48, 0x45, + 0x0C, 0x55, 0xAC, 0xCA, 0x92, 0x07, 0x59, 0x59, 0xF5, 0x91, 0x9D, 0xF0, 0x66, 0x02, 0x09, 0x61, + 0xFC, 0x1D, 0x25, 0x33, 0x2A, 0x8F, 0x8B, 0x62, 0x96, 0x0E, 0xA5, 0x28, 0xCB, 0xA6, 0x0C, 0x47, + 0x47, 0xAF, 0xDF, 0xBD, 0xFE, 0x02, 0xBB, 0x0E, 0xC4, 0x70, 0x15, 0xE6, 0xA0, 0xC4, 0x82, 0xCC, + 0xDE, 0x48, 0x91, 0x1C, 0x30, 0x4E, 0xB0, 0x1D, 0x5F, 0xAC, 0x7A, 0x0F, 0x49, 0x1F, 0x64, 0x51, + 0xA4, 0x49, 0xCF, 0x88, 0x22, 0x1E, 0x72, 0xAF, 0x07, 0xDA, 0x0E, 0xE9, 0x42, 0x64, 0xF1, 0x0C, + 0x26, 0x14, 0x9E, 0x3E, 0x85, 0xC9, 0x4F, 0x85, 0x8A, 0x20, 0xD8, 0xEC, 0x48, 0x47, 0x2A, 0xB8, + 0x62, 0xB8, 0xBB, 0xD6, 0xE7, 0xF7, 0xD0, 0x7F, 0x0E, 0xFD, 0x41, 0xCB, 0xCB, 0x20, 0xA4, 0x0E, + 0x7C, 0x3E, 0xD8, 0xBD, 0x21, 0x72, 0xA0, 0x23, 0x21, 0x42, 0xD7, 0x33, 0xB6, 0x1C, 0xEC, 0x55, + 0x73, 0xB0, 0x08, 0x82, 0x40, 0xF3, 0x08, 0x63, 0x5B, 0xCA, 0x47, 0xFB, 0xFB, 0x7E, 0x35, 0xFE, + 0xFC, 0x01, 0xE3, 0x23, 0xB1, 0x94, 0xA7, 0x63, 0xAE, 0x9E, 0x3D, 0xFD, 0x30, 0x0A, 0xFA, 0x1D, + 0xDF, 0xF9, 0x78, 0xFC, 0xB6, 0x03, 0x8F, 0x1F, 0x17, 0x18, 0xE5, 0x53, 0xC1, 0x78, 0xB9, 0x16, + 0x74, 0x36, 0xFE, 0x3C, 0xD8, 0xBB, 0x3D, 0x86, 0x71, 0xD7, 0x28, 0xA6, 0x9E, 0x3E, 0x8E, 0x5A, + 0x48, 0x71, 0x05, 0x9C, 0x5E, 0xC1, 0x48, 0x4A, 0x21, 0x03, 0x3B, 0x61, 0xCD, 0xF7, 0x34, 0x1C, + 0x1F, 0x7D, 0x7D, 0xF5, 0x61, 0xFC, 0xFA, 0x02, 0x89, 0x76, 0x86, 0xD5, 0xD8, 0xEB, 0x32, 0x59, + 0x59, 0x98, 0x5A, 0x3E, 0xFB, 0x35, 0x7B, 0x5E, 0x1D, 0xAE, 0x73, 0x3C, 0xDC, 0xA8, 0x16, 0x1B, + 0x68, 0x35, 0xCE, 0x85, 0x1E, 0xE7, 0x2C, 0x05, 0x3B, 0x02, 0xBC, 0x20, 0x7F, 0x36, 0x54, 0x38, + 0x3C, 0x19, 0x20, 0x87, 0x2A, 0xF8, 0xE9, 0x81, 0xDE, 0x8A, 0x8F, 0x6D, 0x87, 0x92, 0xCF, 0xA0, + 0x06, 0xD2, 0x78, 0xDE, 0x1A, 0xF1, 0xE4, 0xD3, 0x49, 0x3D, 0xA2, 0x7F, 0x39, 0xD9, 0xD1, 0xC4, + 0xB8, 0x15, 0x67, 0x19, 0xE3, 0x5E, 0x2B, 0x7E, 0x9D, 0x9D, 0x02, 0x9F, 0xD5, 0x23, 0xE6, 0x93, + 0x49, 0xEF, 0x2E, 0x62, 0x32, 0x55, 0x70, 0x38, 0x3A, 0x82, 0x85, 0x69, 0xF7, 0x1A, 0x30, 0xEB, + 0xBC, 0x19, 0xEE, 0xD3, 0x9B, 0x37, 0x0D, 0x70, 0xBF, 0xD8, 0x12, 0x81, 0x62, 0x5A, 0x8C, 0x27, + 0xB0, 0x7A, 0x2E, 0x7D, 0xEB, 0x6F, 0xC1, 0xCD, 0x35, 0x3D, 0xFC, 0xF4, 0xD1, 0x13, 0x24, 0xD0, + 0x38, 0xA5, 0x0F, 0xA7, 0x2B, 0xD3, 0x18, 0x86, 0xD2, 0x01, 0x9B, 0x6B, 0x56, 0x83, 0x3D, 0x64, + 0xA5, 0x79, 0x76, 0xDD, 0x76, 0x7B, 0x00, 0x8D, 0xDD, 0x01, 0xFD, 0x01, 0xF4, 0x76, 0x07, 0xF4, + 0xFF, 0xAD, 0xBD, 0x3B, 0x40, 0xE7, 0x3A, 0xBC, 0x85, 0xBA, 0xFA, 0xFE, 0x30, 0x6B, 0xBA, 0xAE, + 0x94, 0xF0, 0x2E, 0xAA, 0xCA, 0xA5, 0x58, 0xBC, 0x2A, 0x4E, 0x30, 0xAD, 0xBD, 0xBE, 0x42, 0x12, + 0xC7, 0x62, 0x1A, 0x6C, 0xBC, 0x21, 0x35, 0x57, 0xA7, 0x44, 0xE5, 0xC5, 0x85, 0x27, 0x33, 0xE7, + 0x04, 0xAF, 0x5A, 0x47, 0x9A, 0x93, 0xF0, 0x4A, 0x32, 0x45, 0x9B, 0xFA, 0xFE, 0x6D, 0x17, 0xFA, + 0x98, 0xF7, 0xC6, 0x90, 0x7E, 0x17, 0xF6, 0xB4, 0xCF, 0x3F, 0xB5, 0x48, 0x9E, 0x74, 0xD5, 0x9D, + 0xD5, 0x76, 0xE9, 0x42, 0xDD, 0xCC, 0xBD, 0x4F, 0x2F, 0x78, 0x38, 0x26, 0xAA, 0x1E, 0x26, 0x17, + 0xFE, 0xBF, 0x88, 0xDE, 0xAD, 0x95, 0x69, 0x00, 0x07, 0x26, 0x57, 0xF8, 0x3D, 0xD5, 0xED, 0x21, + 0xD8, 0x40, 0x07, 0x23, 0x97, 0xF2, 0x7D, 0xC6, 0xA9, 0x5B, 0xB1, 0xAA, 0xE8, 0x0A, 0x9C, 0x72, + 0x8E, 0xFA, 0x38, 0x1A, 0x23, 0x5E, 0x61, 0x24, 0x34, 0xC1, 0xA2, 0xD9, 0xD7, 0xA3, 0x74, 0x49, + 0xA6, 0x28, 0x8C, 0x54, 0x00, 0x17, 0x30, 0x27, 0x72, 0x42, 0xE6, 0x58, 0xC9, 0x14, 0x79, 0x44, + 0x4A, 0xFF, 0xEB, 0xF2, 0xD5, 0xAA, 0x53, 0x05, 0x2D, 0x68, 0x75, 0xBD, 0x77, 0x24, 0x8D, 0x5B, + 0xFB, 0x6A, 0x39, 0x19, 0x36, 0xF7, 0xE2, 0x31, 0x9E, 0x3B, 0x9F, 0xFB, 0xBD, 0xE8, 0x67, 0x69, + 0xFF, 0x3E, 0xE7, 0x6D, 0xD8, 0xF5, 0x87, 0x41, 0xFB, 0x5C, 0xB5, 0xD6, 0xFE, 0x0C, 0xB5, 0x30, + 0x19, 0xFA, 0xB9, 0xF3, 0x7E, 0x17, 0x29, 0x9F, 0xF3, 0x56, 0x53, 0x02, 0xA3, 0x42, 0x37, 0x83, + 0x31, 0xDE, 0x32, 0x81, 0xD6, 0xD5, 0x2A, 0x50, 0xFF, 0xD0, 0x01, 0x56, 0x91, 0x37, 0x85, 0x59, + 0xB1, 0xE8, 0xC0, 0xFE, 0x0F, 0x13, 0x6A, 0x0D, 0x61, 0x51, 0x99, 0xE0, 0xC9, 0xA0, 0x83, 0x3F, + 0x4E, 0x97, 0x4B, 0x2A, 0x0F, 0x49, 0x4A, 0x83, 0xCE, 0x26, 0x22, 0x15, 0x75, 0xAC, 0x25, 0xAE, + 0xD8, 0x75, 0x92, 0x9A, 0x1C, 0xED, 0xEB, 0xF6, 0xFA, 0x59, 0xE1, 0x57, 0xFB, 0x71, 0x3D, 0xFC, + 0x0B, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0xEE, + 0x72, 0x60, 0x60, 0x04, 0x10, 0x00, 0x00, 0xA5, 0x2C, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x6E, + 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x61, 0x64, 0x6D, 0x2D, + 0x7A, 0x69, 0x70, 0x2F, 0x68, 0x69, 0x73, 0x74, 0x6F, 0x72, 0x79, 0x2E, 0x6D, 0x64, 0xE5, 0x5A, + 0xDB, 0x72, 0xE3, 0x44, 0x10, 0x7D, 0xA7, 0x8A, 0x7F, 0x98, 0x02, 0xAA, 0xD6, 0x0B, 0xB1, 0x13, + 0x3B, 0x09, 0x2C, 0x5B, 0xC5, 0x43, 0x6E, 0xCB, 0x06, 0x36, 0x61, 0x2B, 0x31, 0x77, 0x28, 0x18, + 0x4B, 0x63, 0x7B, 0xB0, 0xA4, 0x11, 0x33, 0x23, 0x3B, 0xDE, 0xDF, 0xE1, 0x53, 0xF8, 0x31, 0x4E, + 0xCF, 0x45, 0x92, 0x6D, 0x39, 0x2C, 0x05, 0x6F, 0x40, 0x11, 0x12, 0xA9, 0xA7, 0xA7, 0xA7, 0x6F, + 0xA7, 0xBB, 0x47, 0x47, 0x83, 0xD3, 0xC1, 0x90, 0x1D, 0xB2, 0xD1, 0xD1, 0xE8, 0xA8, 0x3F, 0x1C, + 0xF6, 0x47, 0x9F, 0xBC, 0xFB, 0xCE, 0x67, 0x3B, 0xFF, 0xBC, 0xFB, 0xCE, 0xBB, 0xEF, 0xB0, 0x0F, + 0xD9, 0x75, 0x91, 0x68, 0x91, 0x8B, 0xC2, 0x8A, 0x94, 0x2D, 0x85, 0x36, 0x52, 0x15, 0xAC, 0x97, + 0xD8, 0x39, 0x4F, 0x16, 0xF8, 0xEB, 0xA9, 0xA3, 0x79, 0x21, 0x1F, 0xF0, 0x56, 0x55, 0xF6, 0x85, + 0xCC, 0xC4, 0x2D, 0xCF, 0x45, 0x9B, 0x82, 0xF8, 0xD0, 0x8E, 0x47, 0xAD, 0x1D, 0x87, 0x9F, 0x76, + 0xED, 0xE8, 0x78, 0x9D, 0xA5, 0x29, 0x78, 0x89, 0x07, 0xAB, 0x39, 0x2B, 0xB9, 0x06, 0x33, 0x2B, + 0x34, 0xB3, 0xCA, 0x3F, 0x4A, 0xEC, 0x55, 0x61, 0xF5, 0x7A, 0xAC, 0x98, 0x51, 0xCC, 0x72, 0x3D, + 0x13, 0x96, 0x4D, 0xB1, 0x69, 0x41, 0x9B, 0x26, 0xBC, 0x60, 0x13, 0xC1, 0xB4, 0xFB, 0x2B, 0xDD, + 0x91, 0xF2, 0xEB, 0x32, 0xE5, 0x74, 0x8A, 0x54, 0x2C, 0xF1, 0x5F, 0x29, 0x8A, 0x54, 0x14, 0xC9, + 0x7A, 0x87, 0x2C, 0x57, 0xA9, 0x9C, 0x4A, 0xD0, 0xF1, 0x34, 0x7D, 0xA5, 0x12, 0x9E, 0xBD, 0x50, + 0x59, 0x0A, 0x11, 0x20, 0xC8, 0x5C, 0x81, 0xEB, 0xA9, 0xE1, 0x4B, 0xC9, 0xE7, 0xCB, 0x7D, 0xD4, + 0x90, 0x66, 0x0F, 0xED, 0xA5, 0x98, 0x66, 0x90, 0x80, 0x15, 0x42, 0xA4, 0x86, 0xE5, 0xB2, 0x60, + 0xDF, 0x8C, 0x06, 0x47, 0xDB, 0x54, 0xB7, 0x2A, 0x15, 0x6C, 0xF9, 0x71, 0xFB, 0x71, 0xA3, 0x97, + 0x1F, 0x64, 0x79, 0xA1, 0xD7, 0xA5, 0x55, 0x38, 0x41, 0x42, 0xBF, 0xC8, 0x62, 0xC6, 0xF8, 0x44, + 0x66, 0xD2, 0xAE, 0xB7, 0x57, 0xBC, 0xBA, 0xBE, 0xB8, 0xBA, 0xBD, 0xBF, 0x6A, 0xF4, 0x83, 0x0D, + 0x4B, 0x9C, 0x94, 0xCF, 0xC4, 0xE0, 0x37, 0xA3, 0x8A, 0x2D, 0x7A, 0x3A, 0x01, 0xCB, 0xAB, 0xCC, + 0xCA, 0xC9, 0xDA, 0x8A, 0x3E, 0x74, 0xA3, 0x68, 0xC7, 0x44, 0xE5, 0x64, 0x7D, 0xB6, 0x92, 0x76, + 0xCE, 0xE8, 0x0D, 0x03, 0xB7, 0x19, 0x7E, 0x97, 0x85, 0xB1, 0x82, 0xC3, 0xEC, 0x53, 0x96, 0xCC, + 0x39, 0x99, 0x46, 0xE8, 0xF8, 0xAE, 0xF7, 0xA5, 0x32, 0xD5, 0x42, 0xB0, 0xFB, 0xEA, 0x4D, 0xB5, + 0x90, 0x9E, 0xFD, 0x79, 0x95, 0x97, 0x2C, 0x53, 0x29, 0x37, 0x73, 0x36, 0xD5, 0x2A, 0x67, 0x27, + 0x83, 0xE1, 0x27, 0x83, 0xE1, 0x29, 0x6C, 0x1B, 0x7E, 0xFD, 0x94, 0xF5, 0xBC, 0x5D, 0xF8, 0x44, + 0xD9, 0x1F, 0xF1, 0xDF, 0xCF, 0x7E, 0x65, 0xA1, 0x56, 0x4C, 0x42, 0x02, 0xA5, 0x17, 0x86, 0x0E, + 0x31, 0xD1, 0x6A, 0x65, 0xB0, 0x59, 0xEF, 0x2A, 0xC7, 0xC1, 0x79, 0xA1, 0xD8, 0xAD, 0x48, 0x12, + 0xC9, 0xB5, 0x0C, 0xCE, 0x06, 0x76, 0x1F, 0x47, 0x6F, 0x3B, 0xFA, 0xB8, 0x3F, 0x3A, 0xEE, 0xF2, + 0xB6, 0xCF, 0x36, 0x9C, 0x22, 0x57, 0x38, 0x44, 0x74, 0x70, 0x12, 0x69, 0x2A, 0x1F, 0xD8, 0xB2, + 0xCA, 0x0A, 0xA1, 0x83, 0x7A, 0xF7, 0xF8, 0x13, 0x2B, 0xB5, 0xFA, 0x4D, 0x24, 0x76, 0x5F, 0x70, + 0x10, 0xA3, 0xE7, 0xCC, 0xCE, 0x21, 0x33, 0x3C, 0x93, 0x67, 0xF0, 0xE3, 0x44, 0x94, 0x96, 0x28, + 0xD5, 0x84, 0x16, 0x1A, 0x86, 0x5F, 0x85, 0xD6, 0x0A, 0x07, 0xBA, 0xE1, 0xD6, 0xCE, 0xC5, 0x8A, + 0xDD, 0x73, 0x68, 0x77, 0x52, 0xE9, 0xB5, 0x67, 0xF1, 0x4D, 0x60, 0x5D, 0x54, 0xF9, 0x04, 0xE7, + 0x96, 0xAD, 0x90, 0xEC, 0xDD, 0xF3, 0xDF, 0xE5, 0x84, 0xDD, 0x6C, 0x88, 0xF4, 0x46, 0x96, 0x70, + 0x43, 0xB2, 0x72, 0xF7, 0xFB, 0xBB, 0xAB, 0xB3, 0xCB, 0x9B, 0xAB, 0x41, 0x9E, 0x7A, 0xAB, 0x62, + 0x4B, 0x46, 0x8E, 0x69, 0x2C, 0xFB, 0xFA, 0xEE, 0x15, 0xD6, 0x8C, 0xF9, 0xA2, 0x5A, 0x73, 0x78, + 0xE2, 0xAC, 0x4A, 0xE6, 0xB2, 0xBD, 0x94, 0xBC, 0x93, 0xF8, 0xB6, 0x35, 0x55, 0x19, 0xE7, 0x5A, + 0x17, 0xD7, 0x8C, 0x58, 0x74, 0x2F, 0x27, 0x2D, 0x25, 0xC2, 0x98, 0x41, 0x58, 0x07, 0x3B, 0x1A, + 0x1C, 0x27, 0xCB, 0xD8, 0x6A, 0x2E, 0x0A, 0x2F, 0x81, 0x9C, 0x68, 0xAE, 0xD7, 0x78, 0x41, 0x1C, + 0xD3, 0xB7, 0x35, 0xF4, 0x49, 0x6D, 0xE8, 0x11, 0x6C, 0xBD, 0xC7, 0xD0, 0x8D, 0x0E, 0x1B, 0xE5, + 0xB1, 0x29, 0x34, 0x5E, 0x94, 0x39, 0x2B, 0xAB, 0x49, 0x26, 0xCD, 0x7C, 0xC7, 0x70, 0xD7, 0x70, + 0x68, 0x3A, 0xB2, 0x5A, 0x42, 0x04, 0x2C, 0xD0, 0x52, 0x18, 0xA7, 0x30, 0x24, 0x3A, 0x66, 0xAC, + 0xD2, 0x88, 0x3D, 0x92, 0x5C, 0xBA, 0xDC, 0xC0, 0xA1, 0x1E, 0xCE, 0x7A, 0xAF, 0x25, 0x4C, 0x29, + 0xD8, 0x2B, 0x31, 0x2F, 0x44, 0x51, 0x47, 0x2E, 0x65, 0x32, 0x2B, 0x61, 0x7C, 0x53, 0x95, 0xA5, + 0xD2, 0x6E, 0x6F, 0xB2, 0xD2, 0xC7, 0x27, 0xAC, 0x97, 0x51, 0x16, 0xD3, 0xD1, 0xB6, 0x6A, 0x1A, + 0xB7, 0x7A, 0xDA, 0xC9, 0xEC, 0xCA, 0x24, 0xBC, 0x14, 0xEC, 0x03, 0x66, 0xE4, 0xAC, 0x70, 0x6C, + 0xB4, 0x98, 0x89, 0x07, 0x1C, 0x6B, 0x2B, 0x5F, 0xF5, 0xB0, 0xFE, 0x5B, 0x99, 0x41, 0x6D, 0x79, + 0xED, 0x87, 0x8C, 0x27, 0x09, 0xB8, 0x37, 0x19, 0xA1, 0x97, 0x43, 0xAE, 0x5F, 0xFA, 0x9E, 0xE0, + 0x4E, 0xE4, 0x6A, 0x49, 0x8A, 0xCF, 0x61, 0xAC, 0x52, 0xE8, 0x6C, 0xCD, 0x34, 0x97, 0x30, 0x45, + 0xF0, 0xCE, 0xD5, 0x1C, 0xCB, 0x28, 0xEF, 0x28, 0x10, 0xC0, 0x96, 0x74, 0x7C, 0x91, 0x97, 0x88, + 0x8C, 0x29, 0xBD, 0xE0, 0x66, 0x5D, 0x24, 0x70, 0xF3, 0x42, 0x55, 0x26, 0x5B, 0x0F, 0x58, 0xEF, + 0x56, 0x26, 0x2A, 0xE3, 0x06, 0xE2, 0x27, 0x99, 0xD0, 0x49, 0x2B, 0x1A, 0x2E, 0xEE, 0x2E, 0x9C, + 0x99, 0x0B, 0xF1, 0x50, 0x8A, 0x04, 0x6E, 0x8C, 0xAD, 0x10, 0x7E, 0xC5, 0x8C, 0xF2, 0xE8, 0xD4, + 0x0A, 0xA7, 0x1B, 0x50, 0xE0, 0x6C, 0x7D, 0x58, 0x8B, 0x3B, 0x47, 0xB7, 0xA2, 0x2C, 0x85, 0x34, + 0x8D, 0xE5, 0x8F, 0x9D, 0xE5, 0x87, 0xCF, 0xFA, 0x43, 0x60, 0xCA, 0xB3, 0x4E, 0xCB, 0x47, 0xFD, + 0x7B, 0xE1, 0x6A, 0xA7, 0x55, 0xD3, 0xCD, 0x74, 0xFD, 0x35, 0x3C, 0x18, 0x27, 0x86, 0x0A, 0x8B, + 0x94, 0x82, 0x34, 0xA5, 0xA7, 0xED, 0x04, 0x27, 0x1E, 0x24, 0x3C, 0xFB, 0x1E, 0x3C, 0x36, 0x48, + 0xE8, 0xC1, 0x80, 0x8D, 0xE7, 0x42, 0xE3, 0xF8, 0xF8, 0xCF, 0x58, 0x28, 0x1C, 0xC8, 0x04, 0xCD, + 0xBA, 0xFD, 0xA6, 0x55, 0x91, 0x58, 0xE7, 0xED, 0x99, 0x98, 0x5A, 0x30, 0x74, 0x8E, 0xFE, 0x35, + 0xA8, 0xCC, 0x60, 0x2A, 0x0B, 0xC7, 0xC3, 0x30, 0x48, 0x91, 0x1D, 0xB0, 0x49, 0x65, 0xE9, 0x2D, + 0x69, 0x9F, 0x27, 0xA0, 0x75, 0x00, 0x21, 0x73, 0xF8, 0x0C, 0xE9, 0x1B, 0xDC, 0x53, 0xC4, 0x1A, + 0x51, 0x6C, 0xEE, 0x4E, 0x39, 0x43, 0xCE, 0x34, 0x60, 0xF0, 0xAC, 0xD2, 0x22, 0x93, 0xD1, 0x4F, + 0x5E, 0xC0, 0xDA, 0xBF, 0x99, 0x54, 0x25, 0xCC, 0xAE, 0x4B, 0x58, 0xCA, 0x90, 0xAF, 0x34, 0x02, + 0x61, 0xDD, 0x2B, 0x01, 0x4D, 0x9C, 0x2D, 0x45, 0x93, 0xA6, 0xB0, 0x85, 0x97, 0xCD, 0x73, 0xC7, + 0xE9, 0x73, 0xE7, 0xFC, 0x2B, 0x2D, 0x1D, 0xCE, 0x3C, 0x99, 0x9A, 0x27, 0x04, 0x78, 0x15, 0x94, + 0x23, 0x96, 0xA2, 0xF0, 0xB1, 0xFB, 0x04, 0x81, 0x30, 0x93, 0x05, 0xCF, 0xFA, 0x78, 0x0D, 0xB9, + 0x29, 0x6A, 0x17, 0x78, 0xDE, 0x1B, 0x23, 0xC7, 0x7F, 0x8B, 0xB3, 0x69, 0x65, 0xE7, 0x8D, 0x0B, + 0x02, 0x28, 0x60, 0x54, 0x55, 0xA4, 0xD2, 0xE5, 0xC0, 0x44, 0x03, 0x0F, 0x1C, 0xA3, 0x00, 0xF0, + 0x6E, 0x27, 0x8A, 0x25, 0xD2, 0x74, 0x7C, 0x06, 0xC9, 0xA6, 0xA4, 0x2B, 0xA7, 0xE5, 0x9E, 0x16, + 0x4F, 0x9D, 0xA7, 0x76, 0x6D, 0xF1, 0x82, 0xFC, 0x6B, 0xC2, 0x53, 0xE8, 0x73, 0x3A, 0x15, 0x7A, + 0x80, 0x97, 0x2A, 0x71, 0x67, 0x1F, 0x58, 0x75, 0xEE, 0x9E, 0xC1, 0x0E, 0xDE, 0x1F, 0xE8, 0x2C, + 0x60, 0x77, 0xA1, 0x32, 0x3C, 0xF9, 0xFC, 0xFA, 0xD5, 0xAB, 0xAB, 0xA7, 0x8D, 0xC3, 0x40, 0x57, + 0xB0, 0x65, 0x26, 0x11, 0x30, 0xF0, 0x0E, 0x0B, 0x41, 0xA2, 0xFE, 0x53, 0x69, 0x10, 0xA0, 0xB0, + 0x97, 0xCB, 0xF6, 0x2F, 0x55, 0xF1, 0x86, 0xB3, 0x2F, 0xF8, 0x52, 0x69, 0xB1, 0x08, 0x81, 0xE4, + 0x83, 0xEB, 0xE6, 0x7A, 0xDC, 0x0F, 0x18, 0x3C, 0xB0, 0x7E, 0x79, 0xF8, 0x13, 0x59, 0xD9, 0xE2, + 0x74, 0x9C, 0x7D, 0x55, 0x4A, 0xF8, 0x7D, 0x56, 0x6B, 0x07, 0x52, 0xCF, 0x9C, 0x32, 0x9A, 0x10, + 0x85, 0xE4, 0x25, 0x47, 0x92, 0x86, 0xCA, 0x2C, 0xA1, 0x82, 0x87, 0xE8, 0x3E, 0x21, 0x71, 0x83, + 0xBB, 0x48, 0xBA, 0x2B, 0xAE, 0x27, 0x7C, 0x12, 0x00, 0x63, 0x02, 0xAC, 0x6D, 0xA7, 0x68, 0x17, + 0x2F, 0x23, 0xF2, 0x15, 0x6D, 0x84, 0xC5, 0xCA, 0x6F, 0x54, 0xC1, 0x1D, 0xA9, 0x8F, 0x3B, 0x0A, + 0xEB, 0x29, 0x07, 0x63, 0x16, 0x82, 0x9B, 0x16, 0x86, 0x2A, 0x86, 0x94, 0x47, 0xE1, 0x52, 0xDB, + 0x60, 0x82, 0x24, 0x49, 0x4C, 0x2F, 0xAF, 0x5E, 0xBC, 0x3A, 0x1B, 0x5F, 0x5D, 0x7A, 0x34, 0xBF, + 0x1F, 0x7F, 0x75, 0x87, 0xDF, 0x61, 0x1C, 0xEC, 0x6B, 0xD9, 0xFB, 0xC3, 0xE3, 0x4F, 0x9F, 0x76, + 0x6E, 0xA8, 0x5D, 0x9A, 0x61, 0x5F, 0xDC, 0xFB, 0x72, 0x88, 0x32, 0x15, 0x99, 0x1A, 0x0F, 0xAE, + 0x8B, 0xFA, 0x81, 0x84, 0x06, 0x48, 0xA5, 0x14, 0x7C, 0x6F, 0x80, 0x0C, 0x83, 0xD4, 0x13, 0xDF, + 0xF1, 0x15, 0xB9, 0xBD, 0x5F, 0xE2, 0xDF, 0xC8, 0x62, 0xEB, 0x0D, 0xC4, 0xA7, 0xAC, 0x22, 0x97, + 0x22, 0x5B, 0x6F, 0x49, 0x50, 0xFB, 0x08, 0x9E, 0x4B, 0xBD, 0x50, 0x6C, 0x2C, 0x26, 0x3C, 0x4B, + 0x3D, 0x46, 0x45, 0x2D, 0xF5, 0xD9, 0x45, 0xC8, 0x39, 0xDC, 0x21, 0x1A, 0x9D, 0x35, 0x99, 0x0B, + 0x1C, 0x7A, 0xBC, 0x92, 0x6F, 0xDE, 0x88, 0x2C, 0x7D, 0x42, 0xF0, 0x65, 0x2A, 0x41, 0xC8, 0x7D, + 0xED, 0x7E, 0x79, 0x7F, 0x74, 0xFC, 0xC9, 0x80, 0x8C, 0x00, 0x54, 0x53, 0x16, 0x15, 0x59, 0x26, + 0xB0, 0x0C, 0xA2, 0x94, 0xF0, 0x20, 0x02, 0x91, 0xB9, 0x0C, 0x6B, 0xA0, 0x94, 0xE4, 0x37, 0x9E, + 0xA8, 0x89, 0x69, 0x84, 0x39, 0x6F, 0xF9, 0x2A, 0xB9, 0x00, 0xB1, 0x03, 0x32, 0x2C, 0xC4, 0x5A, + 0x98, 0x94, 0x2F, 0x37, 0xA5, 0x73, 0x2B, 0x78, 0xEA, 0xE3, 0x87, 0x67, 0x9E, 0xAB, 0xC3, 0xA5, + 0xAD, 0x12, 0xB9, 0x9D, 0xC8, 0xE7, 0x50, 0x57, 0xE6, 0x22, 0x4B, 0x6A, 0xE8, 0x46, 0x69, 0x4A, + 0xB8, 0x32, 0x4B, 0x51, 0x2B, 0x0F, 0x6A, 0x81, 0x76, 0xF7, 0x71, 0xE7, 0x3A, 0xA0, 0xDD, 0x3C, + 0xB6, 0x1F, 0xB0, 0xCA, 0x97, 0x01, 0xD8, 0x67, 0x49, 0x08, 0x4E, 0x01, 0x14, 0x21, 0xFD, 0x7F, + 0xC4, 0xA8, 0x5E, 0x45, 0xC1, 0x41, 0x70, 0xE6, 0xD2, 0x27, 0xA2, 0xF0, 0x4B, 0xB1, 0x84, 0xEB, + 0x8E, 0x7F, 0x8B, 0xA8, 0x1B, 0x93, 0x37, 0x25, 0xF9, 0xA4, 0xCA, 0xC8, 0xAB, 0x88, 0xDC, 0x9B, + 0x2B, 0x53, 0x3C, 0xF5, 0x7F, 0xEF, 0x2E, 0xF4, 0x16, 0x13, 0x1E, 0x7A, 0xA9, 0xEA, 0x75, 0x30, + 0x41, 0xA1, 0xE7, 0xC3, 0x0D, 0x8D, 0xCF, 0x25, 0x92, 0xE4, 0x19, 0xE5, 0xB1, 0x8D, 0xD5, 0x0D, + 0x3E, 0x0E, 0x23, 0x3E, 0x1E, 0x9D, 0xF6, 0x87, 0xC7, 0x7F, 0x5F, 0x19, 0x51, 0xD2, 0xD8, 0xD3, + 0xDA, 0xBD, 0x3F, 0xFC, 0xE4, 0xE3, 0x3D, 0xAF, 0x56, 0x5A, 0xF9, 0x84, 0x4D, 0xD1, 0x10, 0x32, + 0x44, 0x4F, 0x86, 0xA0, 0x38, 0x3A, 0x7E, 0xDA, 0x5A, 0xD6, 0x88, 0x16, 0x7B, 0x41, 0x27, 0xDA, + 0xA8, 0x53, 0xB4, 0x66, 0x0B, 0x8A, 0x08, 0xD2, 0x80, 0xD5, 0x80, 0x9E, 0x44, 0x84, 0xA2, 0x95, + 0xF8, 0xA0, 0x61, 0x70, 0x48, 0xFD, 0x42, 0xE9, 0x9C, 0xDB, 0x56, 0x40, 0xC5, 0xFD, 0x87, 0xCF, + 0x58, 0xEF, 0x0B, 0xC1, 0x8B, 0x3E, 0xB2, 0x40, 0xC2, 0x90, 0xE8, 0x11, 0x03, 0x0D, 0x95, 0x4A, + 0x2C, 0xA7, 0x14, 0x4F, 0x75, 0x5E, 0x66, 0x98, 0x71, 0xE9, 0x7D, 0xED, 0xFA, 0x0C, 0x52, 0x38, + 0x65, 0xF9, 0xC4, 0x06, 0x90, 0x78, 0x89, 0xAA, 0xC6, 0xF0, 0x9C, 0xBD, 0xE4, 0x32, 0xE5, 0xDA, + 0xF3, 0x18, 0xAB, 0x58, 0xCF, 0xB5, 0x69, 0x5D, 0x3D, 0x7C, 0xA4, 0x18, 0xD2, 0x28, 0x65, 0x74, + 0xAB, 0xFC, 0x3E, 0xA1, 0xC0, 0x33, 0x10, 0x48, 0xC1, 0x54, 0x40, 0x0B, 0xF0, 0x9A, 0x1A, 0xD4, + 0x8D, 0x9B, 0xDD, 0xA9, 0xA0, 0xE0, 0x7D, 0x29, 0xE0, 0x19, 0x7A, 0xAC, 0xCE, 0x81, 0xAB, 0x7A, + 0x3D, 0x08, 0x7A, 0xE0, 0x84, 0xE5, 0x24, 0x24, 0xC7, 0x4E, 0x20, 0x20, 0x71, 0xC9, 0x7B, 0xA8, + 0xE9, 0x25, 0x8C, 0xB6, 0x82, 0x80, 0x0D, 0x99, 0x11, 0x4D, 0xBB, 0x3D, 0x1E, 0xB5, 0x0A, 0x18, + 0x2C, 0xFD, 0xDA, 0x3D, 0x83, 0x23, 0xDF, 0xF1, 0x29, 0x17, 0x19, 0x94, 0x81, 0xBD, 0x6B, 0x8B, + 0x7C, 0x5A, 0xFB, 0xCA, 0x49, 0x7F, 0x74, 0xDA, 0x65, 0x90, 0x96, 0x90, 0x5B, 0x5D, 0xE4, 0x18, + 0x52, 0x9C, 0x6B, 0x60, 0xD3, 0x9E, 0x1E, 0xA3, 0x21, 0x68, 0x4A, 0x40, 0x4A, 0xD2, 0x2A, 0x03, + 0x0C, 0x4C, 0x80, 0xDC, 0xA1, 0x91, 0x87, 0xE0, 0xE1, 0xF8, 0x1E, 0xF1, 0x7A, 0x97, 0xBC, 0x28, + 0xD6, 0xEC, 0x73, 0x8D, 0xE7, 0x42, 0xD7, 0xA2, 0x3E, 0x6B, 0x8B, 0x7A, 0xFC, 0x5F, 0x88, 0xFA, + 0xAF, 0x69, 0xE8, 0x44, 0x64, 0xEF, 0x25, 0xA4, 0x6F, 0x97, 0x31, 0x70, 0xBA, 0xB9, 0x5C, 0xD6, + 0xC0, 0x89, 0xBE, 0xC1, 0xC8, 0x54, 0xC0, 0x1E, 0xE1, 0xC4, 0xE1, 0x9C, 0x67, 0x68, 0xC2, 0x53, + 0x54, 0x0D, 0xA8, 0x05, 0x9A, 0xF4, 0x02, 0x35, 0xF4, 0x81, 0x1C, 0xC9, 0x1C, 0x5C, 0x54, 0x55, + 0x80, 0x87, 0x19, 0x90, 0x91, 0xC5, 0xBD, 0x8B, 0x78, 0x95, 0xAD, 0x1B, 0x34, 0x0B, 0xF5, 0x52, + 0x92, 0xC4, 0xAA, 0xFC, 0x81, 0xE7, 0xA5, 0xAB, 0x60, 0x83, 0x19, 0xD0, 0x4A, 0x20, 0xDB, 0xCB, + 0xB2, 0x64, 0x37, 0x15, 0xEA, 0x99, 0x76, 0xBD, 0x1F, 0x0A, 0x25, 0xC3, 0x7E, 0x2D, 0xD4, 0x99, + 0x31, 0xC0, 0xEE, 0x5F, 0xB1, 0xE3, 0xAC, 0x72, 0x2D, 0x52, 0xEF, 0xAE, 0x9A, 0x88, 0x02, 0x47, + 0x95, 0xE9, 0x4C, 0xAC, 0x08, 0x9B, 0xEB, 0x3D, 0x63, 0x69, 0x84, 0xCD, 0xEA, 0x82, 0xC1, 0x2A, + 0xB8, 0xA2, 0x4F, 0x79, 0x56, 0x06, 0x08, 0xBC, 0x7F, 0x7D, 0xF9, 0x1D, 0xBC, 0xEE, 0x73, 0x95, + 0x29, 0x76, 0x87, 0xF0, 0x28, 0x5A, 0xE3, 0x8C, 0x98, 0x6B, 0x13, 0x59, 0x07, 0x52, 0xEF, 0x0C, + 0xAD, 0x1E, 0x67, 0xDF, 0xA2, 0x94, 0x9D, 0x4B, 0x94, 0x48, 0xB5, 0x42, 0x1C, 0x2E, 0x52, 0x40, + 0x61, 0x1F, 0xC2, 0x77, 0xEA, 0xA6, 0x9A, 0xB9, 0x83, 0x6C, 0x2A, 0x26, 0x1F, 0x1F, 0x94, 0x73, + 0x09, 0x4F, 0x57, 0xBE, 0x93, 0x44, 0xDC, 0x57, 0x0F, 0x54, 0x63, 0x13, 0x3C, 0xD3, 0x83, 0x15, + 0x98, 0xAB, 0x15, 0xA2, 0xF1, 0xFB, 0x19, 0x18, 0x9D, 0x8B, 0x2C, 0xE3, 0x50, 0xBF, 0xF0, 0xDB, + 0x5D, 0x50, 0x4D, 0xD4, 0x74, 0xF6, 0xC4, 0x95, 0x12, 0x7D, 0xEC, 0x14, 0x5D, 0xDF, 0xA7, 0x5C, + 0xEF, 0xD8, 0xBB, 0xC4, 0x01, 0x52, 0xF6, 0x25, 0x47, 0xAE, 0x4E, 0xC4, 0xA2, 0x75, 0xB6, 0x8D, + 0x56, 0x4F, 0xE0, 0xAD, 0xD5, 0x90, 0xBC, 0x55, 0x2B, 0x77, 0xAF, 0x9D, 0x86, 0x7C, 0x7B, 0x7C, + 0xF4, 0x9C, 0x41, 0xBD, 0x95, 0x8E, 0x06, 0x62, 0x3D, 0x9C, 0x46, 0xC2, 0x3E, 0x35, 0x9D, 0x2F, + 0x3D, 0x9E, 0xB3, 0xB9, 0xB5, 0xA5, 0x79, 0x7E, 0x78, 0x38, 0x43, 0x5A, 0xAC, 0x26, 0x03, 0xA8, + 0xFF, 0xB0, 0x4E, 0xB9, 0x87, 0x3C, 0xCD, 0xFB, 0x68, 0xA6, 0x0E, 0x5D, 0x46, 0x34, 0x87, 0xC3, + 0xA3, 0x11, 0x9A, 0xBE, 0xF5, 0x4C, 0x41, 0x3F, 0x6D, 0xFF, 0xAE, 0xAD, 0xC9, 0xAD, 0xAF, 0x6D, + 0x05, 0x5C, 0xC6, 0x4D, 0xDE, 0x52, 0xF1, 0x92, 0xF3, 0x60, 0x34, 0xA8, 0x33, 0xE1, 0xC6, 0xE9, + 0x82, 0x72, 0x4F, 0xDD, 0x4E, 0x78, 0x0D, 0xF5, 0x9C, 0xDA, 0xD6, 0x15, 0xFB, 0x1C, 0x43, 0xA0, + 0xA8, 0x89, 0x58, 0x44, 0xD5, 0xB4, 0x5D, 0x64, 0x5F, 0x53, 0x80, 0x47, 0x93, 0x1C, 0x10, 0x6B, + 0x1F, 0x19, 0x06, 0xAD, 0x76, 0x96, 0x92, 0x4F, 0x15, 0x94, 0xE1, 0x33, 0xF9, 0x06, 0x7B, 0x4A, + 0x6D, 0xEC, 0x01, 0x53, 0x20, 0xD2, 0x2B, 0xE8, 0xC3, 0xCF, 0x0E, 0xA8, 0x95, 0x7B, 0x4D, 0x4B, + 0x56, 0xAE, 0x03, 0xB3, 0xF8, 0xE9, 0xF2, 0xB0, 0x03, 0x4C, 0x93, 0x71, 0x6A, 0xEF, 0xEF, 0xE7, + 0xBC, 0x5A, 0xB0, 0x6F, 0xAB, 0x8D, 0x73, 0x07, 0xFD, 0xB8, 0x51, 0xC9, 0x8D, 0x5C, 0x88, 0x5B, + 0x81, 0x30, 0xE6, 0xBA, 0x05, 0x13, 0x35, 0x09, 0x4F, 0xA9, 0xED, 0xAA, 0x4B, 0xE5, 0x46, 0x55, + 0xAE, 0x0A, 0x88, 0x0D, 0x4A, 0x91, 0xD6, 0x35, 0x96, 0x24, 0x28, 0x7C, 0xCD, 0x97, 0xC8, 0xB6, + 0xF7, 0x96, 0xFA, 0x9C, 0x45, 0x8B, 0xAD, 0x07, 0x7E, 0xE7, 0xD5, 0x4D, 0x3A, 0xA9, 0x93, 0xDC, + 0x27, 0x3E, 0xC9, 0x9D, 0xBA, 0xA9, 0xC6, 0xFE, 0x61, 0x69, 0x33, 0xEF, 0x71, 0x35, 0x1F, 0x4E, + 0xF1, 0xCF, 0xF3, 0x97, 0xDF, 0xF0, 0xF4, 0xED, 0x36, 0xA4, 0x21, 0x9E, 0x48, 0xE3, 0xAC, 0x26, + 0xD6, 0x47, 0xBE, 0x45, 0xC0, 0xBF, 0x7E, 0x9C, 0xD2, 0x31, 0x4B, 0xB9, 0x11, 0x9A, 0x9A, 0xFB, + 0x92, 0x7A, 0x2A, 0x2D, 0x7E, 0xAF, 0xE0, 0x11, 0xDB, 0x34, 0xAE, 0x0B, 0xFF, 0xD5, 0x69, 0xF1, + 0x57, 0xE6, 0x0B, 0x57, 0xBB, 0xDE, 0x9E, 0x59, 0xC6, 0x52, 0x07, 0x78, 0x6E, 0xE1, 0xAF, 0x78, + 0x12, 0xC7, 0x4B, 0x02, 0xA1, 0xB1, 0xF4, 0xFE, 0x8B, 0x45, 0x01, 0x47, 0xE6, 0x80, 0xBF, 0x80, + 0xB9, 0x7F, 0xFE, 0xA1, 0xD8, 0x0D, 0x50, 0xB7, 0x50, 0x6E, 0x85, 0xEB, 0xB2, 0xEA, 0xEE, 0x16, + 0x6E, 0x95, 0xF1, 0x19, 0x35, 0xAF, 0xE8, 0x15, 0x0E, 0x82, 0xDF, 0x85, 0xA2, 0x5F, 0x4E, 0xC9, + 0xC5, 0x42, 0xC6, 0x0E, 0x93, 0x80, 0x03, 0xB4, 0xB1, 0xE4, 0x80, 0x94, 0x6B, 0x8A, 0xD6, 0x6B, + 0xB8, 0xE0, 0x8E, 0xA3, 0x7D, 0x04, 0xAC, 0x2E, 0x20, 0x3F, 0xA3, 0xD0, 0x31, 0xB4, 0xAF, 0xF6, + 0xEE, 0x6D, 0xD8, 0x93, 0x8B, 0xE7, 0x87, 0x4F, 0x9C, 0xCB, 0x3C, 0x49, 0xDC, 0x6F, 0xDA, 0xBB, + 0xB3, 0x71, 0xE1, 0x74, 0xBD, 0xE4, 0xC5, 0xA5, 0xC4, 0x62, 0x15, 0x3A, 0x00, 0x27, 0x29, 0x26, + 0xC0, 0x6E, 0x20, 0x0A, 0x87, 0x87, 0xA6, 0x48, 0x51, 0x4B, 0x89, 0x74, 0x13, 0xCA, 0x43, 0x2F, + 0xEF, 0x4C, 0x2E, 0xA9, 0x01, 0x3F, 0x4B, 0x51, 0xB0, 0x9C, 0xAB, 0xD8, 0x1B, 0xC7, 0x2A, 0x82, + 0x7C, 0xCE, 0x8B, 0x11, 0xC6, 0x37, 0x3F, 0x5C, 0xBF, 0x0E, 0xDE, 0xBB, 0xA2, 0x87, 0x13, 0xE1, + 0x12, 0x5C, 0xEC, 0x81, 0xA8, 0xF4, 0x5A, 0x22, 0xF6, 0x52, 0x37, 0x6B, 0x78, 0x60, 0xF7, 0xA4, + 0x44, 0xD3, 0xCA, 0xE3, 0xEE, 0x30, 0x83, 0x26, 0x42, 0xAD, 0xDA, 0x1E, 0x9D, 0xF7, 0xB8, 0xCA, + 0x2B, 0x3D, 0x11, 0x0B, 0xD5, 0x1A, 0x35, 0x73, 0xA8, 0xBF, 0xF4, 0x3D, 0x0C, 0xED, 0x8E, 0x5C, + 0xD3, 0xB5, 0xF2, 0x73, 0x8C, 0xB7, 0x66, 0x6C, 0xCC, 0x11, 0x93, 0x71, 0x52, 0x71, 0xCE, 0x65, + 0x46, 0x58, 0x1A, 0x46, 0x45, 0xBC, 0x9E, 0x9E, 0x7E, 0x87, 0x89, 0xC6, 0x05, 0xA4, 0x6B, 0xD5, + 0x81, 0x34, 0xE3, 0xB7, 0x9C, 0x76, 0xD9, 0x7A, 0xBD, 0x3B, 0x15, 0x32, 0xC0, 0xE5, 0x08, 0xDE, + 0x67, 0x59, 0x36, 0x56, 0x5B, 0x2B, 0x7C, 0x0F, 0x1C, 0xE7, 0xEE, 0x2D, 0xC0, 0xCA, 0x00, 0xB7, + 0x2E, 0x81, 0xDD, 0xE3, 0x7C, 0x65, 0x7B, 0x00, 0x33, 0x45, 0x59, 0x49, 0xF3, 0x1A, 0x22, 0x24, + 0xEE, 0xE7, 0x67, 0x97, 0xBF, 0x50, 0xD0, 0x43, 0x9A, 0xD0, 0xCF, 0xA6, 0x71, 0xDA, 0xB7, 0x3D, + 0x94, 0xF8, 0xA2, 0xA2, 0x59, 0x0E, 0x21, 0x51, 0x95, 0x63, 0x58, 0xD2, 0x06, 0x96, 0x52, 0x01, + 0x6D, 0xC3, 0x4C, 0xDA, 0x2A, 0x7F, 0xDD, 0x11, 0x52, 0xA0, 0x33, 0xA3, 0x73, 0x6D, 0x92, 0x96, + 0xCC, 0x28, 0xA9, 0x7D, 0x8D, 0x85, 0x08, 0x8D, 0x66, 0x4D, 0x82, 0xB7, 0xF8, 0x21, 0xC5, 0x24, + 0x62, 0xC9, 0x1D, 0xA2, 0x84, 0x9C, 0xE0, 0xE3, 0x13, 0x3A, 0x3F, 0xE6, 0xEF, 0x0E, 0x33, 0xA7, + 0x30, 0x68, 0xD0, 0xDC, 0x1D, 0x2F, 0xE7, 0x9C, 0xB2, 0x58, 0x32, 0x5F, 0x09, 0xB9, 0x40, 0x60, + 0xD6, 0xF2, 0x38, 0xE7, 0xF1, 0xA4, 0x1E, 0x96, 0xA7, 0x32, 0xA1, 0x55, 0x71, 0x36, 0x09, 0xE4, + 0xC2, 0x4D, 0x82, 0xD8, 0xCF, 0xE3, 0x7A, 0x56, 0x40, 0xC3, 0xAE, 0xDD, 0xFA, 0xC5, 0xCF, 0x96, + 0x4C, 0xD3, 0xA4, 0xEE, 0x5F, 0x76, 0xE7, 0xC7, 0x0C, 0xEF, 0x61, 0x90, 0x82, 0xFF, 0x21, 0xF3, + 0x88, 0xD5, 0x7B, 0x08, 0x19, 0xEA, 0xD1, 0xD8, 0x2D, 0x0E, 0xC9, 0x37, 0xC9, 0x9C, 0xE6, 0x1C, + 0x10, 0x79, 0x4F, 0xFF, 0x7B, 0xDA, 0x98, 0x53, 0x59, 0x02, 0xF4, 0x78, 0x94, 0xBE, 0x7D, 0x43, + 0x56, 0x2E, 0x66, 0xD1, 0x9F, 0x1E, 0x5B, 0xF2, 0x2D, 0xE7, 0xFC, 0x80, 0xC9, 0x98, 0x68, 0x0A, + 0x7A, 0xEC, 0xF0, 0x6A, 0x56, 0x49, 0xD8, 0x2B, 0x66, 0x0C, 0x20, 0xBA, 0xF3, 0x9E, 0xCE, 0xED, + 0xF7, 0x6C, 0xDB, 0x41, 0xF9, 0x4F, 0x77, 0xEB, 0x60, 0xD1, 0xA1, 0x93, 0xBD, 0x64, 0x8D, 0x9A, + 0xBB, 0x48, 0x5A, 0x06, 0xDB, 0x78, 0x5B, 0x23, 0xD1, 0x89, 0x47, 0xA2, 0x13, 0x87, 0x44, 0x27, + 0x5D, 0x48, 0xB4, 0x7D, 0xFC, 0xED, 0x49, 0xD7, 0xC9, 0x3F, 0xEF, 0x49, 0x76, 0x09, 0xD6, 0x98, + 0x1B, 0xCD, 0x03, 0x78, 0xF1, 0x85, 0x68, 0x75, 0x78, 0x1B, 0x15, 0x6E, 0x9F, 0xA5, 0xAA, 0x78, + 0x62, 0x49, 0x9D, 0xBE, 0xCF, 0x33, 0xFF, 0x66, 0x29, 0x92, 0x40, 0xA8, 0x32, 0xFE, 0x31, 0x17, + 0x37, 0x27, 0x77, 0xE3, 0x63, 0x94, 0x72, 0xB0, 0xE4, 0x2C, 0x53, 0x13, 0x24, 0x84, 0xF7, 0x5E, + 0x7A, 0x08, 0x7C, 0xEF, 0x1F, 0x33, 0x4C, 0x51, 0xB4, 0x82, 0xA1, 0xE7, 0x13, 0x56, 0xD7, 0xB5, + 0x67, 0xBC, 0x62, 0x7A, 0xDF, 0x53, 0xF9, 0xEA, 0x83, 0xF5, 0x26, 0xBA, 0xD8, 0xEC, 0x66, 0x8D, + 0x6F, 0x44, 0xE8, 0x2A, 0x31, 0xDE, 0x79, 0x0C, 0x36, 0xA7, 0x54, 0x83, 0xE0, 0x34, 0x39, 0x6C, + 0x61, 0xF1, 0x9F, 0x7B, 0x4C, 0x38, 0xDA, 0xDC, 0xFE, 0x0E, 0xC8, 0x5C, 0x52, 0xA7, 0xB8, 0x16, + 0x2B, 0x90, 0x15, 0x5A, 0x60, 0xE6, 0x1B, 0xFD, 0x00, 0x66, 0xC9, 0xBC, 0x2A, 0x16, 0x94, 0xC5, + 0x5D, 0x3B, 0xE4, 0xB0, 0x8C, 0xAA, 0x7D, 0x8F, 0x67, 0x61, 0x9E, 0x42, 0xC5, 0x24, 0xE4, 0xC0, + 0xE1, 0x91, 0xE6, 0x7C, 0x1D, 0x5F, 0x23, 0xE7, 0x80, 0x21, 0x3E, 0xDD, 0xD5, 0x93, 0x9D, 0x7B, + 0x91, 0xFD, 0xA8, 0xC5, 0x0D, 0x18, 0xBD, 0x18, 0x5F, 0xA8, 0x39, 0x66, 0xE6, 0xD9, 0x14, 0x2D, + 0xD9, 0x5B, 0x56, 0x57, 0x3E, 0x28, 0xB0, 0x8D, 0x9B, 0xD4, 0x84, 0x01, 0x74, 0xE2, 0x53, 0x3C, + 0x16, 0xE1, 0x72, 0x44, 0x3C, 0x7D, 0xAB, 0x52, 0xCE, 0x07, 0x47, 0xB8, 0xF3, 0x38, 0xA6, 0xE6, + 0x77, 0x38, 0xEC, 0x0A, 0x8E, 0xA6, 0x8B, 0xA8, 0xA7, 0x20, 0x1F, 0x6F, 0x04, 0xDA, 0xF6, 0x65, + 0x78, 0x38, 0x5C, 0x50, 0x68, 0xAE, 0x5C, 0xC7, 0x31, 0xF3, 0x95, 0xEC, 0x34, 0x43, 0x41, 0x3E, + 0x00, 0xE4, 0xE7, 0x74, 0xA7, 0x8D, 0x77, 0x6B, 0x3F, 0x54, 0x5C, 0xEE, 0x72, 0xF4, 0xEB, 0xDD, + 0xE5, 0x47, 0x7B, 0x88, 0xEC, 0x78, 0x3D, 0x9E, 0xBD, 0xB6, 0x6F, 0x50, 0x07, 0xBE, 0x33, 0x8D, + 0xCC, 0x70, 0x9B, 0x04, 0x56, 0x3E, 0x9F, 0xEC, 0xDD, 0x36, 0xD1, 0x89, 0xAF, 0x02, 0xBA, 0x48, + 0xFA, 0x1D, 0xCF, 0xA6, 0x6E, 0x4A, 0x74, 0x19, 0x81, 0xC6, 0xD7, 0xE1, 0x28, 0x39, 0x13, 0x3F, + 0x41, 0x8F, 0xF0, 0xDE, 0x5C, 0x88, 0xB7, 0x2E, 0xCD, 0x26, 0x19, 0x2C, 0x07, 0x5F, 0xCD, 0x82, + 0x59, 0x46, 0x83, 0x61, 0x6D, 0x96, 0xE3, 0x47, 0x72, 0x96, 0xD3, 0xA3, 0x9B, 0xE1, 0x38, 0xED, + 0xBA, 0x6A, 0x79, 0xD9, 0x0C, 0xDF, 0x26, 0xE5, 0xBE, 0xB4, 0x54, 0xA1, 0x9F, 0x39, 0xA4, 0x1F, + 0x06, 0x6E, 0x11, 0xE7, 0x22, 0x63, 0x0D, 0x77, 0xDF, 0x8D, 0x85, 0xF7, 0x87, 0xA7, 0x07, 0xF8, + 0x31, 0xA2, 0x1F, 0xC7, 0x2D, 0x86, 0x0D, 0x65, 0x28, 0xD8, 0x5C, 0x25, 0xEB, 0x87, 0x09, 0xD1, + 0x51, 0x3E, 0x79, 0xBA, 0x67, 0x41, 0x24, 0xF8, 0xB4, 0x6B, 0xF4, 0xE1, 0x03, 0xC6, 0x85, 0x11, + 0x85, 0x53, 0x09, 0xDE, 0xCD, 0x7D, 0x59, 0xBC, 0x20, 0x9E, 0x9A, 0xF6, 0xC3, 0xDE, 0xBD, 0xCC, + 0x71, 0xE8, 0x97, 0xD0, 0xB0, 0xDA, 0x60, 0xC4, 0xD9, 0x7B, 0x4E, 0xB8, 0x86, 0x16, 0x7B, 0x37, + 0xF5, 0x6E, 0xBA, 0xC9, 0xE7, 0x3D, 0x86, 0x5B, 0x8F, 0x02, 0x61, 0xBC, 0xC9, 0x30, 0x98, 0x65, + 0x18, 0xA7, 0x5A, 0x23, 0xFA, 0xE4, 0xE4, 0xE8, 0xF4, 0xAD, 0xA0, 0xA4, 0x6D, 0x93, 0xE6, 0xAC, + 0xFB, 0x9B, 0x98, 0xC9, 0x1A, 0x37, 0xB1, 0x73, 0xB7, 0x6D, 0x43, 0xDF, 0x48, 0xF0, 0xAC, 0x96, + 0xE0, 0xC8, 0xC5, 0xEB, 0xDB, 0x5E, 0x4E, 0x0F, 0xD8, 0xED, 0xEB, 0x9B, 0xEE, 0x56, 0xCA, 0xD0, + 0x9D, 0x6D, 0xB6, 0xA6, 0xE2, 0x32, 0x8B, 0x57, 0x31, 0x5B, 0x3A, 0x1B, 0x50, 0x93, 0xAD, 0xA1, + 0xB8, 0x31, 0xCF, 0x16, 0x50, 0x4F, 0x4B, 0x27, 0xB1, 0xB3, 0xA4, 0x2E, 0xAF, 0x3F, 0xDA, 0xDF, + 0xE8, 0xDD, 0x8A, 0x55, 0x67, 0x37, 0xD7, 0x8C, 0x9C, 0x04, 0x42, 0xDC, 0x97, 0x7A, 0x94, 0x65, + 0x65, 0x52, 0x4F, 0x0C, 0xEE, 0xC4, 0x22, 0x8D, 0x77, 0x5A, 0xCF, 0x67, 0x22, 0x7F, 0xCE, 0xC6, + 0x7E, 0xCC, 0x73, 0x71, 0x8D, 0xEC, 0x81, 0x34, 0x79, 0x88, 0x69, 0x0C, 0x4D, 0x58, 0xDD, 0x4D, + 0x66, 0x2E, 0x02, 0x51, 0xCF, 0x0F, 0x83, 0x4E, 0x78, 0xD6, 0x5E, 0xBB, 0x31, 0x28, 0x1A, 0xAC, + 0x73, 0x57, 0xE2, 0xEE, 0x5B, 0xE2, 0x89, 0xE3, 0x2C, 0xA3, 0xA9, 0x61, 0xBB, 0x6D, 0x73, 0x5A, + 0x6B, 0xE2, 0x19, 0xE2, 0xF6, 0x6F, 0x6D, 0xE3, 0xC6, 0xE3, 0x60, 0x18, 0xDA, 0x5C, 0x0D, 0xE0, + 0x43, 0x43, 0xD7, 0x95, 0xED, 0xDD, 0xE8, 0x2F, 0xD4, 0x48, 0x56, 0x35, 0x83, 0x20, 0xD3, 0x8C, + 0x0C, 0x7C, 0x02, 0x40, 0xBE, 0xC9, 0xA5, 0x4B, 0x93, 0x1B, 0xC9, 0xBE, 0xA9, 0x93, 0x3C, 0x27, + 0x90, 0x53, 0xBF, 0x21, 0xED, 0xEE, 0x6E, 0xBC, 0xAB, 0x23, 0xA8, 0x0A, 0xA0, 0x88, 0x03, 0x41, + 0x0F, 0x60, 0x9A, 0xAF, 0xE2, 0x75, 0x28, 0xFB, 0xA2, 0x02, 0x2F, 0xFA, 0x00, 0xC9, 0xB9, 0x0D, + 0x49, 0x78, 0x1E, 0xDE, 0x8C, 0xB1, 0x8B, 0xA0, 0x26, 0xEF, 0xAC, 0x20, 0x67, 0x7E, 0xAD, 0x52, + 0x8C, 0x25, 0xDF, 0x14, 0x92, 0x9A, 0xB6, 0x26, 0x15, 0xD4, 0x4D, 0xE8, 0xF6, 0xE4, 0x62, 0x5F, + 0x51, 0x16, 0xE6, 0xDE, 0xFE, 0x6B, 0x8B, 0x96, 0x53, 0x75, 0x66, 0x9A, 0xD0, 0x92, 0x85, 0x9B, + 0x47, 0xD3, 0x65, 0xB5, 0xE3, 0xDA, 0x6A, 0xC7, 0xB8, 0x3A, 0x78, 0xEB, 0x98, 0x9E, 0x54, 0x92, + 0x4A, 0x5F, 0xBD, 0xB3, 0xED, 0x9D, 0xA0, 0x13, 0xB9, 0x0C, 0x16, 0xEF, 0x1F, 0xC3, 0xF6, 0xBB, + 0xA7, 0x43, 0x2D, 0x13, 0x79, 0xC6, 0xCB, 0x4B, 0x6F, 0xE6, 0x80, 0x9E, 0x35, 0x07, 0x52, 0x8E, + 0x87, 0x4D, 0x37, 0xA8, 0x72, 0x8D, 0x10, 0x4F, 0xFC, 0x27, 0x23, 0x1B, 0xA7, 0x6A, 0xC6, 0x8D, + 0x24, 0x27, 0x68, 0x41, 0xB0, 0x4F, 0x33, 0xC4, 0x34, 0x7C, 0x43, 0xE0, 0x8C, 0x1B, 0xA7, 0x1B, + 0x3B, 0xF4, 0xAF, 0xFD, 0xC7, 0x26, 0x19, 0xC0, 0xBA, 0x91, 0x78, 0xBB, 0xB3, 0xDE, 0x3D, 0x63, + 0x13, 0x41, 0xB5, 0xFE, 0xF1, 0xFD, 0x40, 0x95, 0x37, 0x1D, 0xF4, 0x2E, 0x6D, 0xB4, 0x98, 0xFB, + 0xEA, 0xA3, 0xFD, 0x6D, 0x88, 0x72, 0x1F, 0x53, 0xF8, 0x89, 0x69, 0x97, 0x3D, 0x77, 0x6A, 0x86, + 0xF0, 0xA9, 0x82, 0xEA, 0x34, 0xFA, 0xA8, 0x36, 0xFA, 0xA8, 0x3F, 0x7A, 0xF6, 0xF8, 0x38, 0x2C, + 0x32, 0x6C, 0x64, 0xF7, 0xC2, 0x74, 0x7B, 0x64, 0x99, 0xEF, 0x7A, 0x44, 0x63, 0x2B, 0xCC, 0x79, + 0xF6, 0xFC, 0xD1, 0x79, 0x94, 0xA6, 0x43, 0x72, 0x47, 0x01, 0x66, 0x55, 0x34, 0x8F, 0x77, 0x1F, + 0x3A, 0x39, 0x93, 0xB9, 0x09, 0xB9, 0x2B, 0x3E, 0xE3, 0xD7, 0x04, 0x75, 0x75, 0xB9, 0xCD, 0xB0, + 0x29, 0x6C, 0x8E, 0x47, 0xF5, 0xF0, 0x74, 0xF0, 0x53, 0xE1, 0x95, 0x7E, 0x75, 0x7B, 0x19, 0xCC, + 0x1F, 0xD3, 0x0B, 0x5E, 0xDD, 0x50, 0xD1, 0x44, 0x27, 0xF5, 0x33, 0x81, 0xA0, 0x08, 0x5F, 0x39, + 0xE1, 0xF5, 0x57, 0xDB, 0x9E, 0xB8, 0xBD, 0xA5, 0x9B, 0x8F, 0x3D, 0x4E, 0xC0, 0x7F, 0x83, 0xD2, + 0x72, 0xFA, 0xF9, 0x28, 0x1D, 0x84, 0xDC, 0x91, 0xBD, 0xCB, 0xAE, 0xC3, 0xB6, 0x5D, 0xF7, 0xA5, + 0xE0, 0x26, 0x40, 0x72, 0x7F, 0x93, 0x52, 0x7F, 0xB5, 0x46, 0x09, 0x85, 0x72, 0x23, 0x2F, 0x25, + 0x8D, 0xA0, 0x71, 0xCA, 0x8D, 0x18, 0xF5, 0x8D, 0x06, 0x69, 0x9A, 0xBE, 0xD9, 0x58, 0x3C, 0xE6, + 0x85, 0x4D, 0x25, 0xDC, 0x84, 0xEE, 0xDE, 0x13, 0x36, 0x22, 0x35, 0xAE, 0x66, 0x1E, 0xA5, 0x20, + 0xE9, 0x28, 0xF4, 0x43, 0xB3, 0x43, 0x72, 0x37, 0xD2, 0xEC, 0x1A, 0xC1, 0x71, 0xFC, 0x0F, 0x5E, + 0x60, 0x33, 0x9F, 0x38, 0x24, 0x8D, 0x9F, 0xDE, 0x2A, 0x9A, 0xDB, 0xB7, 0x16, 0xD7, 0xB7, 0xEE, + 0x03, 0x8F, 0x3D, 0xA9, 0x22, 0x92, 0x3A, 0x14, 0xC7, 0xE1, 0xC8, 0xF7, 0xBD, 0xAF, 0x39, 0xFB, + 0xF8, 0x0F, 0x42, 0xE2, 0xE4, 0x69, 0x0F, 0x0F, 0x3F, 0xCD, 0x77, 0xDF, 0x98, 0x4A, 0xBB, 0xF9, + 0xF2, 0x2F, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, + 0x13, 0x38, 0xD0, 0xF1, 0x98, 0x02, 0x00, 0x00, 0x7D, 0x04, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, + 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x61, 0x64, 0x6D, + 0x2D, 0x7A, 0x69, 0x70, 0x2F, 0x4C, 0x49, 0x43, 0x45, 0x4E, 0x53, 0x45, 0x65, 0x52, 0xCD, 0x6E, + 0xE2, 0x30, 0x10, 0xBE, 0x47, 0xCA, 0x3B, 0x8C, 0x38, 0xB5, 0x52, 0x0A, 0xBB, 0x3D, 0xF6, 0x66, + 0x88, 0x53, 0xAC, 0x0D, 0x49, 0xE4, 0x98, 0xB2, 0x1C, 0x43, 0x62, 0x88, 0x57, 0x21, 0x46, 0xB6, + 0x59, 0xC4, 0xDB, 0xEF, 0xD8, 0x94, 0xFE, 0x68, 0x25, 0x24, 0x64, 0x7B, 0xBE, 0xDF, 0xC9, 0x42, + 0x9F, 0xAE, 0x46, 0x1D, 0x7A, 0x07, 0x0F, 0xED, 0x23, 0x3C, 0xFF, 0xF8, 0xF9, 0x0C, 0x64, 0xD4, + 0xAE, 0x97, 0xE6, 0x29, 0x7D, 0x5A, 0xC9, 0xD1, 0x29, 0x3D, 0x42, 0xAD, 0xF7, 0xEE, 0xD2, 0x18, + 0x09, 0xCD, 0xD8, 0x41, 0x78, 0x84, 0x56, 0x8F, 0xCE, 0xA8, 0xDD, 0xD9, 0x69, 0x63, 0x13, 0x88, + 0xA3, 0xDE, 0xB9, 0xD3, 0xCB, 0x6C, 0x76, 0xB9, 0x5C, 0xA6, 0xCD, 0x3B, 0xBE, 0x7B, 0x3A, 0xDE, + 0xF0, 0x53, 0xA3, 0x67, 0x71, 0x14, 0x47, 0x95, 0x34, 0x47, 0x65, 0xAD, 0x67, 0x54, 0x16, 0x70, + 0x44, 0xEE, 0xAE, 0x70, 0x30, 0xCD, 0xE8, 0x64, 0x97, 0xC0, 0xDE, 0x48, 0x09, 0x7A, 0x0F, 0x6D, + 0xDF, 0x98, 0x83, 0x4C, 0xC0, 0x69, 0x94, 0xBB, 0xC2, 0x49, 0x1A, 0x8B, 0x00, 0xBD, 0x73, 0x8D, + 0x1A, 0xD5, 0x78, 0x88, 0xA3, 0x06, 0xC5, 0x4F, 0x57, 0x3F, 0xEA, 0x7A, 0xE4, 0xB1, 0x5F, 0xCD, + 0x35, 0xD6, 0xEA, 0x56, 0x35, 0x48, 0x08, 0x9D, 0x6E, 0xCF, 0xDE, 0x40, 0x13, 0x22, 0xEC, 0xD5, + 0x20, 0x2D, 0x3C, 0xA0, 0xB1, 0x38, 0x9A, 0xDC, 0xF3, 0x4C, 0x1E, 0x83, 0x4C, 0x27, 0x9B, 0x01, + 0xD4, 0x08, 0xF8, 0xF8, 0x19, 0xF5, 0xA2, 0x5C, 0xAF, 0xCF, 0x0E, 0x8C, 0xB4, 0x18, 0xB4, 0xF5, + 0x24, 0x09, 0x0E, 0xB5, 0xC3, 0xB9, 0x0B, 0x2E, 0xEE, 0xEF, 0x83, 0x3A, 0xAA, 0xA0, 0x71, 0xC3, + 0x87, 0x2E, 0xAD, 0x67, 0x3D, 0x5B, 0x99, 0x04, 0xA7, 0x09, 0x1C, 0x75, 0xA7, 0xF6, 0xFE, 0x5F, + 0x86, 0x64, 0xA7, 0xF3, 0x6E, 0x50, 0xB6, 0x4F, 0xE2, 0xA8, 0x53, 0xF6, 0xD6, 0x22, 0xDE, 0x5A, + 0x7F, 0xDB, 0xCA, 0x11, 0x61, 0x3E, 0xCA, 0x4C, 0x1B, 0xB0, 0x72, 0x18, 0x3C, 0x85, 0x92, 0x36, + 0xC4, 0xFD, 0xF4, 0x77, 0x9B, 0x41, 0x99, 0x38, 0xC2, 0x82, 0xD0, 0xC1, 0x7B, 0x4F, 0x41, 0xF9, + 0xD2, 0xEB, 0xE3, 0xB7, 0x61, 0x5F, 0xF7, 0xFE, 0x6C, 0x46, 0x14, 0x95, 0x1E, 0x84, 0xDD, 0x60, + 0x6D, 0x41, 0xF2, 0x8F, 0x6C, 0x5D, 0xA0, 0xF1, 0xF3, 0x7B, 0x3D, 0x0C, 0xFA, 0x82, 0xF1, 0xFC, + 0x7A, 0x3B, 0xE5, 0x43, 0xD9, 0x17, 0xBF, 0x39, 0x81, 0x8F, 0xCD, 0x4E, 0xFF, 0x95, 0xF8, 0x70, + 0xFF, 0x5E, 0x70, 0xCB, 0x68, 0xD7, 0xDB, 0xB8, 0xED, 0xE1, 0xF4, 0xB1, 0xDD, 0xFB, 0x93, 0xED, + 0x1B, 0xF4, 0xBF, 0xC3, 0xC6, 0x6F, 0xBD, 0xA1, 0x36, 0xB6, 0xDC, 0x7C, 0xC9, 0x64, 0xBC, 0x05, + 0xEB, 0x1A, 0xFC, 0x4C, 0x70, 0x05, 0x27, 0x6D, 0xBC, 0xE4, 0x7F, 0x59, 0xA7, 0xC1, 0xC2, 0x92, + 0x42, 0x5D, 0x66, 0x62, 0x43, 0x38, 0x05, 0x56, 0x43, 0xC5, 0xCB, 0x37, 0x96, 0xD2, 0x14, 0x26, + 0xA4, 0xC6, 0xF3, 0x24, 0x81, 0x0D, 0x13, 0xCB, 0x72, 0x2D, 0x00, 0x27, 0x38, 0x29, 0xC4, 0x16, + 0xCA, 0x0C, 0x48, 0xB1, 0x85, 0x5F, 0xAC, 0x48, 0xB1, 0x6B, 0xFA, 0xBB, 0xE2, 0xB4, 0xAE, 0xA1, + 0xE4, 0xC0, 0x56, 0x55, 0xCE, 0x68, 0x9A, 0x00, 0x2B, 0x16, 0xF9, 0x3A, 0x65, 0xC5, 0x2B, 0xCC, + 0x11, 0x58, 0x94, 0x02, 0x72, 0xB6, 0x62, 0x02, 0x59, 0x45, 0x09, 0xA8, 0x78, 0xE7, 0x62, 0x14, + 0x71, 0x59, 0x1C, 0xAD, 0x28, 0x5F, 0x2C, 0xF1, 0x4C, 0xE6, 0x2C, 0x67, 0x62, 0x9B, 0x40, 0xC6, + 0x44, 0xE1, 0x49, 0x33, 0x64, 0x25, 0x50, 0x11, 0x2E, 0xD8, 0x62, 0x9D, 0x13, 0x0E, 0xD5, 0x9A, + 0x57, 0x65, 0x4D, 0xD1, 0x40, 0x1A, 0x47, 0x45, 0x59, 0xB0, 0x22, 0xE3, 0xA8, 0x43, 0x57, 0xB4, + 0x10, 0x53, 0xD4, 0x45, 0x31, 0xA0, 0x6F, 0x78, 0x80, 0x7A, 0x49, 0xF2, 0x3C, 0x88, 0x91, 0x35, + 0x06, 0xE0, 0xC1, 0xE1, 0xA2, 0xAC, 0xB6, 0x9C, 0xBD, 0x2E, 0x05, 0x2C, 0xCB, 0x3C, 0xA5, 0x78, + 0x39, 0xA7, 0x71, 0x94, 0x33, 0x32, 0xCF, 0xA9, 0x17, 0x0B, 0xC1, 0x16, 0x39, 0x61, 0xAB, 0x04, + 0x52, 0xB2, 0x22, 0xAF, 0x34, 0xC0, 0x4A, 0xA4, 0xE1, 0x98, 0xE1, 0xC3, 0xDF, 0x66, 0x49, 0xFD, + 0x95, 0x17, 0x24, 0xF8, 0x5B, 0x08, 0x56, 0x16, 0x71, 0x54, 0x66, 0x28, 0x50, 0x08, 0x8E, 0xE7, + 0x04, 0x93, 0x72, 0xF1, 0x81, 0xDD, 0xB0, 0x9A, 0x26, 0x40, 0x38, 0xAB, 0x7D, 0x29, 0x19, 0x2F, + 0x91, 0xDF, 0x77, 0x8A, 0x88, 0xD2, 0xB3, 0x78, 0x5C, 0x41, 0xDF, 0x69, 0x7C, 0xE1, 0xF0, 0x75, + 0x2F, 0x38, 0x13, 0xCE, 0xEB, 0x9A, 0x7E, 0xBA, 0x49, 0x29, 0xC9, 0x91, 0xAC, 0x46, 0xF4, 0xB7, + 0x61, 0xDC, 0xEA, 0x3F, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB7, 0x4A, + 0x48, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x00, + 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x61, + 0x64, 0x6D, 0x2D, 0x7A, 0x69, 0x70, 0x2F, 0x6D, 0x65, 0x74, 0x68, 0x6F, 0x64, 0x73, 0x2F, 0x50, + 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x51, 0xFD, 0x4F, + 0x95, 0x85, 0x01, 0x00, 0x00, 0x50, 0x03, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, + 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x61, 0x64, 0x6D, 0x2D, 0x7A, 0x69, + 0x70, 0x2F, 0x6D, 0x65, 0x74, 0x68, 0x6F, 0x64, 0x73, 0x2F, 0x64, 0x65, 0x66, 0x6C, 0x61, 0x74, + 0x65, 0x72, 0x2E, 0x6A, 0x73, 0x75, 0x52, 0xCB, 0x6E, 0xC2, 0x30, 0x10, 0xBC, 0x23, 0xF1, 0x0F, + 0x2B, 0x0E, 0xE0, 0x90, 0x28, 0x40, 0xD5, 0x13, 0x94, 0x43, 0xAB, 0xAA, 0x52, 0xAF, 0xE5, 0x88, + 0x38, 0x98, 0xE0, 0x14, 0x0B, 0x63, 0xA7, 0x8E, 0x53, 0x0A, 0x88, 0x7F, 0xEF, 0xFA, 0x91, 0x07, + 0xAA, 0xEA, 0x43, 0xB2, 0xF1, 0x4E, 0x66, 0x66, 0xC7, 0x3E, 0xAA, 0x5D, 0x25, 0x58, 0xCA, 0x7E, + 0x0A, 0xA5, 0x4D, 0x09, 0x4B, 0xC8, 0x2B, 0x99, 0x19, 0xAE, 0x24, 0x90, 0xC9, 0xF8, 0xA5, 0xCA, + 0x73, 0xA6, 0xC7, 0x13, 0x2E, 0xB7, 0x55, 0x1E, 0xC1, 0xB5, 0xDF, 0xEB, 0xF7, 0x00, 0xBE, 0xA9, + 0x86, 0x8B, 0xE0, 0x5B, 0x04, 0x6B, 0xF6, 0x55, 0x71, 0xCD, 0xC8, 0xC0, 0x7E, 0x0F, 0xA2, 0x85, + 0x6D, 0xD7, 0x10, 0x55, 0x38, 0xBE, 0x6B, 0xB6, 0xAF, 0xE4, 0x61, 0xC5, 0x2F, 0x6C, 0x0E, 0xA4, + 0xA0, 0xBA, 0x64, 0xEF, 0xD2, 0x10, 0xC7, 0x98, 0x0A, 0x26, 0x3F, 0xCD, 0x1E, 0x26, 0x30, 0x9B, + 0x3E, 0x3C, 0x46, 0x10, 0xC3, 0x2C, 0x82, 0xB1, 0xFB, 0xB8, 0xD5, 0x54, 0x28, 0x61, 0x2A, 0x2D, + 0xAD, 0x36, 0xE0, 0xDA, 0xB1, 0x5C, 0x50, 0x83, 0x54, 0xAD, 0xCD, 0xA8, 0xEE, 0xD5, 0x58, 0x67, + 0x2E, 0x0D, 0xC8, 0x0F, 0x7A, 0x5A, 0x9D, 0x65, 0xE6, 0x05, 0x13, 0x67, 0xCA, 0xD9, 0xC4, 0x75, + 0x4B, 0xDC, 0x3C, 0x2D, 0xEB, 0x73, 0x89, 0xC8, 0xF9, 0x5D, 0x02, 0x6F, 0xA1, 0x1E, 0x4F, 0x32, + 0x2A, 0xC4, 0x96, 0x66, 0x87, 0x46, 0xCE, 0x4F, 0x69, 0x8E, 0x05, 0x2C, 0xBD, 0x62, 0xA6, 0x19, + 0x92, 0xBC, 0x36, 0xBA, 0xC4, 0x89, 0x25, 0x50, 0x50, 0x9F, 0xEC, 0x7A, 0x93, 0x80, 0x51, 0x86, + 0x0A, 0xAC, 0xA7, 0x8B, 0x40, 0x62, 0x09, 0x52, 0x25, 0xC9, 0x68, 0x47, 0x0D, 0x1D, 0x25, 0x1D, + 0x71, 0xBB, 0xD1, 0x11, 0x03, 0xCF, 0x93, 0x16, 0x55, 0xB9, 0xF7, 0xBD, 0x45, 0xD3, 0x0A, 0xB4, + 0xF1, 0x12, 0x6C, 0x23, 0xC4, 0xDA, 0xB4, 0x6F, 0xD1, 0x1F, 0x31, 0x26, 0x77, 0x77, 0x5A, 0x41, + 0xA7, 0x1D, 0x0B, 0xC3, 0x42, 0x97, 0xFE, 0xFC, 0x53, 0x9C, 0x5C, 0x65, 0xC4, 0x69, 0xE0, 0x38, + 0x27, 0xCD, 0x8D, 0x61, 0xB2, 0x1E, 0x22, 0x2C, 0x7B, 0x9C, 0x39, 0x17, 0x82, 0x4C, 0xBB, 0xBE, + 0x72, 0xA5, 0x81, 0x58, 0x3E, 0xEE, 0xE0, 0xF8, 0x7A, 0xF2, 0x63, 0x04, 0x8F, 0xB8, 0x13, 0xC7, + 0xB5, 0x78, 0x2B, 0xEF, 0x30, 0xF8, 0x87, 0x83, 0xAE, 0xF9, 0x26, 0x30, 0xB6, 0x31, 0xA4, 0x99, + 0x2A, 0xCE, 0x04, 0x35, 0x1B, 0x3B, 0x51, 0x17, 0xD3, 0x78, 0x8C, 0x3D, 0x47, 0x37, 0x91, 0x90, + 0x49, 0x5B, 0xD6, 0x07, 0x0B, 0xC3, 0x61, 0x53, 0x5B, 0xEA, 0xE8, 0xBF, 0x00, 0x31, 0x3C, 0x7F, + 0x9D, 0xEC, 0x76, 0x20, 0x73, 0x0F, 0x7B, 0x69, 0x7F, 0x01, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, + 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x9F, 0x42, 0xE3, 0x82, 0x50, 0x00, 0x00, 0x00, + 0x81, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, + 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x61, 0x64, 0x6D, 0x2D, 0x7A, 0x69, 0x70, 0x2F, 0x6D, 0x65, 0x74, + 0x68, 0x6F, 0x64, 0x73, 0x2F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x2E, 0x6A, 0x73, 0x6D, 0xCA, 0x41, + 0x0A, 0x40, 0x40, 0x14, 0x06, 0xE0, 0xBD, 0x72, 0x87, 0x69, 0x56, 0x6C, 0xC6, 0x01, 0x64, 0xC5, + 0xC6, 0x15, 0xEC, 0xC4, 0x53, 0xAF, 0x34, 0xF3, 0xFC, 0x9E, 0xC2, 0xE9, 0x49, 0x2C, 0xD4, 0x6C, + 0xBF, 0x3E, 0xDA, 0x25, 0x40, 0x57, 0xD7, 0xD0, 0x34, 0xF7, 0x4A, 0x30, 0x95, 0x01, 0x2D, 0x1B, + 0x83, 0x32, 0xEB, 0x8A, 0xF1, 0x55, 0x9B, 0x97, 0x69, 0xF2, 0xD5, 0xD6, 0xC7, 0x2A, 0xFB, 0x48, + 0xED, 0x58, 0x6A, 0x1C, 0xA2, 0xE1, 0x7F, 0x4F, 0x96, 0xE1, 0xE1, 0x3B, 0x5F, 0x50, 0x4B, 0x03, + 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x22, 0x79, 0x77, 0x8B, 0x55, + 0x01, 0x00, 0x00, 0xF9, 0x02, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, + 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x61, 0x64, 0x6D, 0x2D, 0x7A, 0x69, 0x70, 0x2F, + 0x6D, 0x65, 0x74, 0x68, 0x6F, 0x64, 0x73, 0x2F, 0x69, 0x6E, 0x66, 0x6C, 0x61, 0x74, 0x65, 0x72, + 0x2E, 0x6A, 0x73, 0x75, 0x52, 0xC1, 0x72, 0xC2, 0x20, 0x10, 0xBD, 0x3B, 0xE3, 0x3F, 0xEC, 0x78, + 0x50, 0x62, 0x32, 0xE8, 0xD9, 0xD4, 0x43, 0x7B, 0xE8, 0x4C, 0xAF, 0xED, 0xD1, 0xF1, 0x80, 0x91, + 0x54, 0xA6, 0x08, 0x29, 0x42, 0xAD, 0xED, 0xF8, 0xEF, 0x5D, 0x02, 0x92, 0xA4, 0x9D, 0xE6, 0x10, + 0x16, 0xF6, 0xED, 0x7B, 0xBB, 0x0F, 0x8E, 0x7A, 0xEF, 0x24, 0xA7, 0xFC, 0xB3, 0xD1, 0xC6, 0x9E, + 0x60, 0x0D, 0xB5, 0x53, 0x95, 0x15, 0x5A, 0x01, 0x59, 0xCC, 0x1F, 0x5C, 0x5D, 0x73, 0x33, 0x5F, + 0x08, 0xB5, 0x73, 0x75, 0x06, 0xDF, 0xE3, 0xD1, 0x78, 0x04, 0xF0, 0xC1, 0x0C, 0x7C, 0x49, 0xB1, + 0x43, 0xB0, 0xE1, 0xEF, 0x4E, 0x18, 0x4E, 0x26, 0x7E, 0x3F, 0xC9, 0xCA, 0x16, 0x80, 0xA7, 0xD6, + 0x19, 0xE5, 0xE1, 0x80, 0x9F, 0x50, 0xB5, 0x64, 0x96, 0xAF, 0x7A, 0xCC, 0xD9, 0x2D, 0x97, 0xB0, + 0xBE, 0x9E, 0x46, 0xE4, 0x33, 0x3B, 0xBF, 0x5C, 0x54, 0x45, 0x82, 0x6A, 0x19, 0x90, 0xD7, 0xA2, + 0xE5, 0xEE, 0xF8, 0xEE, 0x4F, 0x88, 0x59, 0x0D, 0xDA, 0x7D, 0x8C, 0xF1, 0x7C, 0x51, 0x31, 0x29, + 0x77, 0xAC, 0x7A, 0x4B, 0x42, 0xA1, 0x6B, 0x7B, 0x6C, 0x60, 0x1D, 0xB4, 0x2A, 0xC3, 0x91, 0xE4, + 0x29, 0x29, 0x92, 0xAC, 0x80, 0x86, 0x05, 0x0B, 0x36, 0xDB, 0x02, 0xAC, 0xB6, 0x4C, 0x62, 0xBC, + 0x2C, 0x23, 0x81, 0x2F, 0xA6, 0x5A, 0x91, 0xD9, 0x9E, 0x59, 0x36, 0x2B, 0x7A, 0xC2, 0xFE, 0xA0, + 0x27, 0x04, 0x81, 0x87, 0x36, 0xEE, 0x74, 0x08, 0xB9, 0x32, 0xA5, 0x22, 0x6D, 0xBE, 0x06, 0x9F, + 0xA0, 0x92, 0xAB, 0x57, 0x7B, 0x48, 0xE9, 0x6B, 0xF6, 0x47, 0x8C, 0xAB, 0xFD, 0x40, 0x2B, 0xEA, + 0x74, 0x23, 0xA1, 0x45, 0xD8, 0x65, 0xB8, 0x28, 0x8A, 0x53, 0xEB, 0x8A, 0xB4, 0x1A, 0x38, 0xCE, + 0xD9, 0x08, 0x6B, 0xB9, 0x1A, 0x0C, 0x01, 0xBE, 0x80, 0xD6, 0x42, 0x4A, 0xB2, 0xEC, 0xF7, 0x55, + 0x6B, 0x03, 0xC4, 0xF3, 0x89, 0x16, 0x8E, 0xCB, 0x5D, 0x18, 0x23, 0xF6, 0x88, 0x27, 0x79, 0x7E, + 0x13, 0xEF, 0xE4, 0x5B, 0x0C, 0x56, 0xB4, 0xD0, 0x8D, 0xD8, 0x46, 0xC6, 0xCE, 0x06, 0x5A, 0xE9, + 0xE6, 0x42, 0x50, 0x33, 0xB5, 0x93, 0xF5, 0x31, 0xA9, 0xC7, 0x3C, 0x70, 0xF4, 0x1D, 0x89, 0x9E, + 0x74, 0xE1, 0xED, 0x52, 0x61, 0x3A, 0x4D, 0xB1, 0xA7, 0xCE, 0xFE, 0x33, 0x10, 0xCD, 0xFB, 0xF5, + 0x88, 0x70, 0xF1, 0xBF, 0x2B, 0xEE, 0x7F, 0x00, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, + 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x40, 0x0F, 0x2F, 0xB5, 0xE4, 0x03, 0x00, 0x00, 0xC4, 0x09, + 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, + 0x65, 0x73, 0x2F, 0x61, 0x64, 0x6D, 0x2D, 0x7A, 0x69, 0x70, 0x2F, 0x6D, 0x65, 0x74, 0x68, 0x6F, + 0x64, 0x73, 0x2F, 0x7A, 0x69, 0x70, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6F, 0x2E, 0x6A, 0x73, 0x75, + 0x56, 0x5F, 0x6F, 0xD3, 0x30, 0x10, 0x7F, 0x9F, 0xB4, 0xEF, 0x70, 0xBC, 0x40, 0xB2, 0x76, 0x6D, + 0xD2, 0x0E, 0x28, 0x84, 0x14, 0xC1, 0xE0, 0x01, 0x21, 0x04, 0x62, 0x02, 0x24, 0xAA, 0x0E, 0x79, + 0xC9, 0x65, 0xCD, 0x96, 0x26, 0x91, 0xE3, 0xD0, 0x15, 0xD6, 0xEF, 0xCE, 0xD9, 0x71, 0xEC, 0x34, + 0x1D, 0x79, 0x58, 0x13, 0xDF, 0xFF, 0xDF, 0xFD, 0xEE, 0xBC, 0xF1, 0x18, 0xAE, 0x31, 0x47, 0xCE, + 0x04, 0xC2, 0xF9, 0xD7, 0xF3, 0xE9, 0x04, 0xB2, 0xA2, 0xB8, 0xAD, 0x4B, 0x10, 0xEC, 0x2A, 0xC3, + 0xE3, 0xA3, 0xA8, 0xC8, 0x2B, 0x01, 0x11, 0x8F, 0xD4, 0x37, 0x84, 0xE0, 0xE4, 0xB8, 0x81, 0x6F, + 0x69, 0x2E, 0xA6, 0x93, 0x37, 0x9C, 0xB3, 0xAD, 0x33, 0x79, 0xFA, 0xCC, 0x75, 0x47, 0x6B, 0x56, + 0x3A, 0x8E, 0x18, 0x92, 0xA2, 0x1B, 0xCE, 0xFF, 0x1E, 0x1F, 0x01, 0x3D, 0x49, 0xC1, 0x9D, 0x0C, + 0x05, 0xDC, 0x84, 0x5E, 0x70, 0xF3, 0x6A, 0x16, 0xDC, 0x0C, 0x06, 0xAE, 0x14, 0xE9, 0x27, 0x4D, + 0xC0, 0xF1, 0xE0, 0x51, 0x48, 0x3E, 0xC9, 0x0C, 0x1E, 0x83, 0xEF, 0x36, 0x62, 0xFB, 0xC8, 0x73, + 0x2D, 0x9E, 0xCF, 0xE7, 0xA4, 0x00, 0x97, 0xE0, 0xDD, 0xBD, 0x7F, 0xF7, 0x76, 0x36, 0x9B, 0x4E, + 0x3C, 0xAB, 0xBB, 0xC3, 0xAC, 0xC2, 0x9E, 0xAD, 0x36, 0x0A, 0xC1, 0x97, 0x5F, 0x1D, 0x5D, 0x7A, + 0xB5, 0x3F, 0x1C, 0x45, 0xCD, 0x73, 0xA9, 0x4C, 0xBA, 0x5E, 0x70, 0x7C, 0xB4, 0x73, 0xE9, 0xCF, + 0xF1, 0x51, 0x52, 0xE7, 0x91, 0x48, 0x8B, 0x1C, 0xD6, 0xEC, 0x16, 0x7F, 0xC5, 0x18, 0xF1, 0x6D, + 0x29, 0x90, 0x3B, 0xE3, 0x93, 0xB7, 0x75, 0x92, 0x20, 0x3F, 0x19, 0x97, 0x9B, 0xB8, 0x4D, 0x97, + 0x40, 0x3C, 0x3F, 0xAD, 0xC4, 0x96, 0x00, 0xAA, 0x3F, 0x48, 0x64, 0xE0, 0x53, 0x9D, 0x89, 0xB4, + 0xCC, 0xB6, 0x8D, 0xBC, 0x01, 0xB1, 0xA6, 0x43, 0x59, 0x0D, 0x1B, 0x5E, 0xB9, 0x10, 0xCE, 0xE1, + 0x13, 0x13, 0xAB, 0x51, 0xBA, 0xAE, 0x33, 0x3A, 0x01, 0x3A, 0x92, 0x15, 0x7A, 0x81, 0xF1, 0xF8, + 0x21, 0x4F, 0x45, 0xCA, 0xB2, 0xF4, 0x0F, 0xC2, 0x2D, 0x6E, 0x2B, 0xD8, 0xA4, 0x62, 0x05, 0x31, + 0x26, 0x8C, 0x5C, 0xC3, 0x6F, 0x96, 0xD5, 0x58, 0x75, 0xBC, 0x2B, 0x1D, 0xF2, 0xDE, 0xEF, 0xCE, + 0xC2, 0xBB, 0xF3, 0x27, 0xD3, 0xB3, 0xA7, 0xCF, 0x9E, 0xCF, 0x86, 0x04, 0x9D, 0x7E, 0x7D, 0x21, + 0xDF, 0xF5, 0xAB, 0xB7, 0x74, 0x4D, 0x50, 0x89, 0x03, 0x65, 0x7F, 0xB5, 0x15, 0x54, 0x49, 0x19, + 0x4B, 0x52, 0x74, 0x62, 0x34, 0xD2, 0xE6, 0x5C, 0x16, 0x52, 0x9E, 0xCB, 0x6F, 0xCA, 0x9D, 0xB2, + 0x51, 0x15, 0x69, 0x38, 0x2C, 0xAE, 0x86, 0x38, 0x0B, 0xAD, 0x0C, 0x97, 0x5A, 0xFB, 0x31, 0x25, + 0x90, 0x24, 0x4B, 0xFA, 0xD6, 0x12, 0x55, 0xFE, 0xAC, 0x4D, 0x65, 0x67, 0x32, 0x6A, 0xC2, 0x59, + 0x08, 0x54, 0x72, 0xDF, 0xFB, 0xE5, 0x6B, 0xB5, 0x8F, 0x0D, 0x08, 0x8E, 0xD1, 0xE9, 0xA5, 0xA5, + 0xDC, 0x2C, 0xBC, 0x25, 0xE9, 0x74, 0x6A, 0x71, 0xF4, 0xE9, 0x10, 0xAC, 0x5D, 0xD0, 0xB3, 0xF1, + 0x97, 0x30, 0x08, 0x5B, 0x73, 0x9D, 0x7D, 0x00, 0x87, 0x4A, 0xA1, 0x6A, 0xB3, 0xD3, 0x7C, 0x92, + 0x47, 0x7F, 0x7A, 0xF6, 0xFC, 0xF9, 0xD3, 0x99, 0x3F, 0x75, 0x61, 0x00, 0x7E, 0xDF, 0xEB, 0xA4, + 0x9F, 0x89, 0x3E, 0x1D, 0xB6, 0xFE, 0x14, 0x2A, 0x93, 0xB3, 0x0E, 0x2C, 0x06, 0x18, 0x7F, 0x04, + 0x17, 0x82, 0x5D, 0x23, 0xA4, 0x7B, 0x44, 0xE9, 0x82, 0x52, 0xB2, 0x4A, 0xC1, 0xD1, 0x50, 0x76, + 0x94, 0x56, 0xCD, 0x8B, 0x23, 0xA9, 0xEB, 0xC2, 0x6B, 0xA0, 0x5F, 0x78, 0x09, 0xA0, 0xC5, 0x09, + 0x2F, 0xD6, 0x4A, 0x14, 0xEC, 0x8F, 0x6F, 0x4A, 0xE3, 0x0B, 0xE9, 0x2B, 0xE5, 0x6D, 0x94, 0x61, + 0x7E, 0x2D, 0x56, 0xF4, 0xBD, 0x3F, 0xCB, 0x16, 0x7E, 0x47, 0xAA, 0x2D, 0xD2, 0xE5, 0x03, 0x29, + 0xB7, 0xA4, 0x30, 0xD3, 0x04, 0xED, 0x94, 0xED, 0xCD, 0xA2, 0x19, 0xBD, 0xCE, 0xB0, 0x91, 0x77, + 0xD6, 0xDF, 0x1D, 0x8F, 0xFA, 0x65, 0x49, 0xA5, 0x83, 0x15, 0x22, 0x56, 0xBC, 0xD8, 0xC0, 0x13, + 0x1B, 0x33, 0x47, 0x8C, 0x2B, 0x5D, 0xF3, 0x93, 0x83, 0xB5, 0x60, 0x32, 0xAD, 0xE4, 0x98, 0x9D, + 0xC2, 0x06, 0xA9, 0x3F, 0x48, 0xB5, 0xC9, 0xC9, 0xD2, 0x56, 0x12, 0x19, 0xAD, 0xA1, 0x39, 0x68, + 0x20, 0x6F, 0x0D, 0xC3, 0x16, 0x54, 0x96, 0x65, 0x45, 0xA4, 0x32, 0xD3, 0xD0, 0x75, 0x99, 0x25, + 0xD1, 0x2D, 0x0B, 0xD9, 0x22, 0x2F, 0xD8, 0x0B, 0x5F, 0xF2, 0x22, 0xC2, 0xAA, 0xA2, 0xD6, 0x96, + 0xB5, 0x00, 0x69, 0xDD, 0x8A, 0x6D, 0x5B, 0x22, 0x28, 0x12, 0xE8, 0xE3, 0xD2, 0xD9, 0x07, 0xB2, + 0xF1, 0x2D, 0xC9, 0xEE, 0x61, 0xD2, 0xEE, 0x17, 0x13, 0x83, 0x64, 0x3D, 0x3B, 0xB8, 0x24, 0x93, + 0x86, 0xBE, 0x44, 0xC0, 0x4B, 0xDA, 0xB6, 0x6A, 0x24, 0x5B, 0xB6, 0x37, 0x76, 0xB2, 0x7B, 0x45, + 0x8C, 0x7B, 0xA6, 0xBA, 0xEA, 0x05, 0xD5, 0x32, 0x18, 0x28, 0x4A, 0x07, 0x5D, 0xA9, 0x09, 0x79, + 0xC1, 0x7E, 0x23, 0xC8, 0xF9, 0x6A, 0xCD, 0x0F, 0xD9, 0x13, 0xB9, 0x0F, 0x98, 0xFE, 0x67, 0x15, + 0xE8, 0x54, 0x62, 0x35, 0xB6, 0x07, 0x9D, 0xB4, 0x8C, 0xD2, 0xE9, 0x59, 0x42, 0xEE, 0x3A, 0x1B, + 0xDE, 0xD0, 0xB1, 0xC3, 0x36, 0x05, 0xEB, 0x10, 0xC6, 0x27, 0x9F, 0xAF, 0x6E, 0x30, 0x12, 0x27, + 0xE3, 0x15, 0xB2, 0x18, 0xB9, 0x3C, 0xB9, 0x10, 0x3C, 0xCD, 0xAF, 0x87, 0x60, 0x54, 0xF5, 0x35, + 0x60, 0x48, 0x29, 0x4D, 0xE1, 0xFE, 0x1E, 0x1E, 0x66, 0xA7, 0x94, 0x74, 0xC8, 0x00, 0xAF, 0xC0, + 0x9F, 0xB8, 0x87, 0x7B, 0x73, 0x9F, 0x3D, 0x5E, 0x6F, 0x2B, 0x9A, 0x79, 0xFA, 0x81, 0xDD, 0x5B, + 0x82, 0xE5, 0xB1, 0xB9, 0xCB, 0xDB, 0xA2, 0x28, 0xD7, 0xCE, 0x90, 0x59, 0x76, 0xD8, 0x71, 0x08, + 0x7B, 0x37, 0x5C, 0xBB, 0x01, 0xEC, 0x95, 0xB0, 0xC2, 0xE8, 0x16, 0x4E, 0x15, 0xE9, 0x05, 0x56, + 0xCA, 0xA5, 0x9C, 0xF1, 0x4D, 0xC1, 0xE3, 0x8E, 0xCB, 0x46, 0x8F, 0xDC, 0x35, 0x58, 0x8D, 0xDA, + 0x3B, 0x7B, 0x72, 0x66, 0x6E, 0x97, 0x36, 0x2A, 0x54, 0x8C, 0x46, 0x64, 0xB3, 0x62, 0xB4, 0x5B, + 0x2A, 0x60, 0xD9, 0x86, 0x51, 0x43, 0xFD, 0xE6, 0xDA, 0xA9, 0x64, 0x19, 0xEA, 0x98, 0x82, 0x70, + 0x21, 0x39, 0x9E, 0xA4, 0x19, 0xCA, 0x18, 0x02, 0x73, 0xD1, 0x09, 0xA8, 0x92, 0x51, 0x37, 0x55, + 0x68, 0xCB, 0x69, 0x26, 0xAD, 0xCA, 0xD2, 0x08, 0x1D, 0x6F, 0x28, 0xC1, 0x75, 0x17, 0xBE, 0xBF, + 0xEC, 0xD6, 0x13, 0x17, 0x14, 0xA4, 0x2D, 0x00, 0xD6, 0x48, 0xA3, 0x84, 0x77, 0x25, 0xB5, 0x99, + 0x49, 0x90, 0x2A, 0xDB, 0x4A, 0x55, 0x90, 0xFC, 0xFF, 0xC4, 0x44, 0x92, 0x8D, 0xEE, 0xED, 0x95, + 0x37, 0xEF, 0x3E, 0x9D, 0xFE, 0xFC, 0xF0, 0xE5, 0x25, 0xFC, 0xE0, 0x05, 0x01, 0xF3, 0x45, 0xFB, + 0x7D, 0xD2, 0xDB, 0x7E, 0x76, 0x70, 0x6C, 0x25, 0xB6, 0xDD, 0x0F, 0xE7, 0x2F, 0x93, 0x0F, 0x34, + 0x59, 0xD7, 0x45, 0x5C, 0x67, 0x38, 0xA2, 0x44, 0x0B, 0x2E, 0xE4, 0xC2, 0xF8, 0xAB, 0x4D, 0x76, + 0xA4, 0xF1, 0x0F, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xFD, 0x95, 0x46, + 0x52, 0x95, 0xFC, 0xC9, 0xDE, 0x4B, 0x03, 0x00, 0x00, 0x34, 0x07, 0x00, 0x00, 0x21, 0x00, 0x00, + 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x61, 0x64, + 0x6D, 0x2D, 0x7A, 0x69, 0x70, 0x2F, 0x70, 0x61, 0x63, 0x6B, 0x61, 0x67, 0x65, 0x2E, 0x6A, 0x73, + 0x6F, 0x6E, 0x8D, 0x55, 0x5B, 0x53, 0x13, 0x31, 0x14, 0x7E, 0xE7, 0x57, 0x64, 0xEA, 0xA3, 0x76, + 0xB7, 0xB4, 0x85, 0x16, 0x66, 0x70, 0x54, 0x04, 0x41, 0xB1, 0x33, 0x58, 0x19, 0xBC, 0x54, 0x9D, + 0x6C, 0x72, 0x76, 0x37, 0x90, 0x4D, 0xD6, 0x24, 0xDB, 0x52, 0x1C, 0xFF, 0xBB, 0x27, 0x7B, 0x17, + 0x7D, 0xE0, 0xA9, 0x9B, 0x2F, 0xE7, 0xF2, 0x7D, 0xE7, 0x92, 0xFE, 0xDA, 0x21, 0x64, 0xF0, 0x23, + 0x36, 0x3A, 0x1B, 0x1C, 0x92, 0x01, 0xE5, 0xD9, 0xF0, 0x5E, 0xE4, 0x83, 0x67, 0x25, 0x2A, 0x78, + 0x0F, 0x7B, 0x31, 0x0A, 0xF6, 0x82, 0x71, 0x73, 0xA3, 0x5E, 0x15, 0x8A, 0x4B, 0xC0, 0xFB, 0x98, + 0x4A, 0x0B, 0x0D, 0xEA, 0x20, 0x31, 0xC2, 0x6D, 0xBD, 0x9B, 0x4D, 0xE9, 0xDE, 0xEE, 0x78, 0x28, + 0xAF, 0xCE, 0x27, 0x5F, 0x96, 0x0B, 0x1B, 0x5F, 0x7E, 0x5A, 0x7C, 0x5E, 0xDC, 0xBF, 0xB9, 0x71, + 0xFB, 0xF3, 0xF7, 0xFC, 0xEE, 0xFE, 0xD8, 0x8E, 0xE0, 0x7A, 0x7C, 0x20, 0x93, 0x8B, 0xD9, 0x74, + 0x1B, 0x7E, 0x1E, 0xA7, 0x53, 0xF5, 0xF2, 0x43, 0x72, 0x96, 0x9D, 0x4D, 0x72, 0x7D, 0x7A, 0x5D, + 0xBC, 0x9B, 0x5C, 0x68, 0xB5, 0x3E, 0x8D, 0x16, 0x67, 0xA7, 0x6E, 0xCA, 0x3F, 0x46, 0xE3, 0x4F, + 0xE1, 0xE5, 0xE5, 0x94, 0xED, 0x7E, 0xB9, 0xBA, 0xBE, 0xB6, 0x6F, 0x37, 0x47, 0x47, 0x35, 0x11, + 0xA9, 0x19, 0x75, 0x42, 0x2B, 0x9F, 0x31, 0xFC, 0x9B, 0x7D, 0x9E, 0x52, 0xE5, 0x74, 0x76, 0x9C, + 0x0A, 0xC9, 0x0D, 0x78, 0x8B, 0x5F, 0xBF, 0xAB, 0x1B, 0x03, 0x3F, 0x0B, 0xB0, 0x0E, 0xBC, 0x3C, + 0xAF, 0x1F, 0x31, 0xB7, 0xCD, 0x51, 0x0C, 0xFE, 0xD2, 0x04, 0xDD, 0x4B, 0xC8, 0x40, 0x22, 0xAC, + 0x33, 0x5E, 0x8C, 0x33, 0x05, 0x34, 0x28, 0xDD, 0xF4, 0x0B, 0x55, 0xA3, 0x8A, 0x66, 0xF0, 0x1F, + 0x18, 0x2C, 0xA3, 0x39, 0xF0, 0xC5, 0x83, 0xDB, 0x2E, 0xD4, 0x32, 0x07, 0xE6, 0x6F, 0x1A, 0xC8, + 0xD2, 0x35, 0xD4, 0x98, 0x2A, 0xA4, 0xAC, 0xD1, 0x18, 0x1C, 0x4B, 0x1B, 0x53, 0x49, 0x1D, 0x72, + 0x1F, 0xE0, 0x4D, 0x4F, 0x8D, 0x30, 0xC0, 0x5F, 0x79, 0xA6, 0x5F, 0x2B, 0x8F, 0x27, 0x57, 0xCB, + 0x93, 0x0F, 0x4D, 0xD0, 0xD0, 0x1B, 0x7F, 0x6B, 0x8C, 0xAD, 0x96, 0xEB, 0x52, 0xF9, 0x20, 0x75, + 0x2E, 0xB7, 0x87, 0x61, 0xD8, 0x08, 0x0D, 0x54, 0x9E, 0xDD, 0xD8, 0x40, 0x9B, 0xA4, 0xA9, 0x64, + 0x38, 0x6C, 0xBE, 0x86, 0x65, 0xF7, 0x03, 0x97, 0xDC, 0xD7, 0xD5, 0xC5, 0xF6, 0xDA, 0xA2, 0x9C, + 0x99, 0xF9, 0xEE, 0x78, 0x0E, 0x6C, 0x32, 0x8A, 0xA7, 0x07, 0xB3, 0x3D, 0x7E, 0x30, 0x9B, 0x45, + 0x07, 0xE3, 0xF9, 0x1E, 0x44, 0x7C, 0xB6, 0x3F, 0xA5, 0x30, 0xE7, 0xD1, 0x68, 0x12, 0xD3, 0x7D, + 0x1E, 0x35, 0x8E, 0xB5, 0x8E, 0xBF, 0x9B, 0xB5, 0x49, 0xC1, 0x94, 0x35, 0x3A, 0x3E, 0x5C, 0xAD, + 0xAE, 0x2C, 0x18, 0xBB, 0x5A, 0x2D, 0x8B, 0x0D, 0x45, 0xE1, 0x54, 0xAC, 0x56, 0xAF, 0xC1, 0xDE, + 0x3A, 0x9D, 0xAF, 0x56, 0x5E, 0x7B, 0x3D, 0x84, 0xB4, 0x70, 0xA9, 0x36, 0x4D, 0x0B, 0xBB, 0x1E, + 0x2C, 0x28, 0x56, 0x9D, 0x9C, 0x53, 0xA6, 0xA3, 0xB6, 0x0F, 0x19, 0x15, 0xB2, 0x1C, 0xCA, 0xED, + 0x0B, 0xAA, 0xB4, 0xC3, 0x64, 0x43, 0x3E, 0xCC, 0x40, 0xF9, 0xD1, 0x09, 0x8C, 0x6E, 0xEC, 0x0A, + 0x23, 0xFB, 0x85, 0x49, 0x84, 0x4B, 0x8B, 0x28, 0x60, 0x3A, 0x0B, 0x99, 0x4B, 0x29, 0xBB, 0x45, + 0x5A, 0x5D, 0xE1, 0xA3, 0x22, 0xB1, 0x3E, 0xFB, 0xA3, 0x5D, 0xDB, 0xAA, 0x0A, 0x6B, 0x71, 0xFE, + 0x1E, 0x4D, 0xAE, 0xCB, 0x58, 0xEE, 0xDC, 0x6B, 0xC8, 0x41, 0x71, 0x50, 0x4C, 0x60, 0x8C, 0xFE, + 0xFE, 0x71, 0xC8, 0x0D, 0x30, 0x8A, 0x73, 0xFD, 0x00, 0xB6, 0xCC, 0x88, 0xBC, 0xD9, 0x92, 0xB7, + 0x74, 0x4D, 0x2B, 0x80, 0x88, 0x2C, 0x97, 0xE0, 0x13, 0x95, 0x2B, 0x44, 0x74, 0x4C, 0x90, 0x1D, + 0x89, 0xB5, 0x21, 0x4A, 0x73, 0xB8, 0xB1, 0x64, 0x83, 0x2A, 0x88, 0x2D, 0xF2, 0x5C, 0x1B, 0x57, + 0xE2, 0x20, 0x81, 0x39, 0xE3, 0x6D, 0x8D, 0x48, 0x84, 0xA2, 0x72, 0x18, 0xDB, 0x80, 0xBC, 0x94, + 0x52, 0x6F, 0x2C, 0x29, 0xB0, 0x6D, 0xC4, 0x69, 0xC2, 0x0C, 0x20, 0x09, 0xE2, 0xCD, 0xEF, 0x9C, + 0xA1, 0xCC, 0x55, 0x61, 0x85, 0x04, 0x4B, 0x22, 0x8D, 0x11, 0x85, 0x22, 0x19, 0x64, 0xDA, 0x6C, + 0xD1, 0x06, 0x1D, 0x42, 0xFF, 0xFA, 0x10, 0x2E, 0xEC, 0xED, 0xA0, 0x26, 0xBC, 0xEE, 0x6B, 0xEC, + 0x6A, 0xEC, 0x67, 0xC1, 0x4B, 0xF8, 0x3E, 0xC5, 0x51, 0x1C, 0x35, 0xF5, 0xCB, 0x34, 0xE2, 0x25, + 0x3C, 0x47, 0x78, 0xB7, 0xDD, 0x2E, 0x91, 0x19, 0x1A, 0x97, 0xF8, 0x24, 0x18, 0x05, 0xE3, 0xAE, + 0x8C, 0xA0, 0x90, 0x7A, 0x3F, 0xAE, 0x57, 0xEB, 0x0D, 0x9F, 0x1F, 0xED, 0x63, 0xD8, 0xD6, 0xAE, + 0x64, 0xDC, 0xED, 0x54, 0xDD, 0xBD, 0xE0, 0xA6, 0xED, 0x5C, 0x0A, 0x94, 0x63, 0x5F, 0x5B, 0x22, + 0x80, 0x03, 0xC9, 0xDB, 0x63, 0xE1, 0x84, 0x6C, 0xBE, 0xD1, 0xEF, 0x44, 0xE1, 0x8A, 0x79, 0xE7, + 0x0E, 0x3A, 0xC5, 0x04, 0x3D, 0xE4, 0xE2, 0xFC, 0xF8, 0x64, 0xB1, 0x3C, 0xE9, 0xB6, 0x35, 0xD5, + 0x19, 0xE4, 0x34, 0x81, 0xC7, 0x0E, 0x56, 0x55, 0xBE, 0x5B, 0xD8, 0x6E, 0xB4, 0xE1, 0x3D, 0xE6, + 0xCD, 0xD5, 0xBF, 0x1C, 0xA9, 0x61, 0xA9, 0x58, 0x43, 0x4B, 0x59, 0xA1, 0x69, 0x97, 0x5F, 0x0A, + 0x06, 0xCA, 0x96, 0xE9, 0xDF, 0x9F, 0x7F, 0xAC, 0xA2, 0xE3, 0xB0, 0xE2, 0x18, 0x3D, 0xA8, 0xC6, + 0x7F, 0x5F, 0xC0, 0xF2, 0x09, 0xCD, 0xB5, 0x15, 0x0E, 0x3B, 0xFD, 0xEF, 0x4B, 0x8B, 0x42, 0x7A, + 0x6B, 0x57, 0x23, 0x4F, 0x1F, 0x23, 0x33, 0xC0, 0xCB, 0xAE, 0x4B, 0xD5, 0x2C, 0xF7, 0xBA, 0x59, + 0x3E, 0x8F, 0x87, 0xF5, 0x5C, 0x10, 0x7F, 0x0A, 0xCB, 0x4F, 0xA4, 0x5A, 0x9D, 0x98, 0x61, 0xA1, + 0xC0, 0xE9, 0xBA, 0x6B, 0x91, 0xAC, 0x90, 0x4E, 0x44, 0x5B, 0x07, 0xA1, 0x3F, 0x22, 0xDC, 0x85, + 0x5F, 0x63, 0xE2, 0x7A, 0x73, 0xAA, 0x3F, 0xC0, 0x9D, 0xDF, 0x3B, 0x7F, 0x00, 0x50, 0x4B, 0x03, + 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x73, 0xE9, 0x16, 0x16, 0x00, + 0x04, 0x00, 0x00, 0x9D, 0x08, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, + 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x61, 0x64, 0x6D, 0x2D, 0x7A, 0x69, 0x70, 0x2F, + 0x52, 0x45, 0x41, 0x44, 0x4D, 0x45, 0x2E, 0x6D, 0x64, 0x8D, 0x55, 0x7F, 0x6B, 0xD4, 0x40, 0x10, + 0xFD, 0xDB, 0x42, 0xBF, 0xC3, 0x78, 0x0A, 0x4D, 0x8A, 0x4D, 0xFE, 0x15, 0x4B, 0x91, 0x4A, 0x2B, + 0x28, 0x2A, 0x42, 0x0B, 0x42, 0x8B, 0xD8, 0x6D, 0x32, 0x49, 0xD6, 0x26, 0xBB, 0x71, 0x77, 0x73, + 0xD7, 0x53, 0xFC, 0xEE, 0xBE, 0xD9, 0x24, 0x77, 0x67, 0xA5, 0x60, 0xE9, 0x1D, 0x97, 0xCC, 0xBC, + 0xF7, 0xE6, 0xD7, 0xCE, 0x3E, 0xA3, 0xD3, 0xB3, 0x8F, 0x47, 0x57, 0xEF, 0x3E, 0x53, 0x65, 0x1D, + 0x7D, 0xB2, 0x25, 0xBF, 0xBF, 0xA0, 0x95, 0x0E, 0x0D, 0xA9, 0xB2, 0xE4, 0x92, 0xFC, 0xD0, 0xF7, + 0xD6, 0x85, 0x68, 0xE5, 0x96, 0x8B, 0xE0, 0xAC, 0x21, 0xEB, 0x74, 0xAD, 0x8D, 0x6A, 0x8F, 0x2A, + 0xBF, 0xBF, 0xB7, 0xBF, 0x37, 0x33, 0x68, 0x4F, 0x8A, 0xFA, 0xC1, 0x31, 0xBD, 0x57, 0x4B, 0x75, + 0x51, 0x38, 0xDD, 0x07, 0xD2, 0x5D, 0xDF, 0x72, 0xC7, 0x26, 0xA8, 0xA0, 0x01, 0x15, 0x9E, 0x9F, + 0xBA, 0xA7, 0x52, 0x05, 0x45, 0x85, 0xED, 0x7A, 0xC7, 0xDE, 0xCF, 0x86, 0xEB, 0x51, 0xFF, 0x6B, + 0xD2, 0x84, 0xD0, 0xFB, 0x57, 0x79, 0x6E, 0xF0, 0xFC, 0xDD, 0x67, 0xD6, 0xD5, 0x79, 0x9A, 0x91, + 0x68, 0x3D, 0xA3, 0x77, 0xC6, 0x07, 0xD5, 0xB6, 0x91, 0x4E, 0xDE, 0x7C, 0x91, 0x60, 0xAF, 0x4D, + 0xDF, 0x6D, 0x61, 0xAB, 0xD5, 0x2A, 0xC3, 0x0B, 0x20, 0xA1, 0x90, 0xA7, 0x54, 0xDA, 0x57, 0xE2, + 0x49, 0xF8, 0x7B, 0x4E, 0x30, 0x90, 0x1E, 0x39, 0x90, 0x63, 0x77, 0x84, 0x68, 0x22, 0xF1, 0x33, + 0xFA, 0xD2, 0xA8, 0x20, 0x49, 0xE8, 0x40, 0xB5, 0xB5, 0xA5, 0x84, 0xF4, 0x7A, 0x7F, 0xEF, 0xB2, + 0x61, 0x6A, 0xF5, 0xAD, 0x53, 0x6E, 0x4D, 0xC0, 0xD8, 0x95, 0xA7, 0xB5, 0x1D, 0x28, 0x8C, 0x9C, + 0x87, 0x54, 0xF2, 0x9C, 0x46, 0x4C, 0xAC, 0xD2, 0x2D, 0x7B, 0x2A, 0xB5, 0x43, 0xAD, 0xDA, 0x35, + 0xDC, 0xF0, 0xDB, 0xDF, 0xA1, 0x64, 0x10, 0xA5, 0x8E, 0x3B, 0x0B, 0x9A, 0xDB, 0xA1, 0xAA, 0xD8, + 0x79, 0x41, 0xCF, 0xD8, 0x09, 0xA7, 0x0C, 0x4A, 0x1E, 0x2C, 0x4A, 0x18, 0x1A, 0xEE, 0x66, 0xB4, + 0x40, 0x33, 0x90, 0x4B, 0x44, 0x9D, 0x0A, 0x23, 0xD9, 0x06, 0xCA, 0xE5, 0x2E, 0xE1, 0xD0, 0xA3, + 0xB4, 0x0C, 0xA3, 0x09, 0x6C, 0xE0, 0x5A, 0xE5, 0x68, 0x24, 0x19, 0x5E, 0xE5, 0x25, 0xFA, 0x07, + 0xCB, 0x28, 0x54, 0x39, 0xDB, 0x41, 0x8D, 0xF8, 0x5E, 0xFB, 0xA0, 0x4D, 0x1D, 0xF9, 0xC7, 0x02, + 0x9F, 0x71, 0xCF, 0xA6, 0x64, 0x53, 0x68, 0xF6, 0x31, 0x7D, 0x44, 0xA3, 0xF0, 0x31, 0x96, 0x6C, + 0xC0, 0x13, 0x7E, 0x48, 0x97, 0xA6, 0xA2, 0xC0, 0x09, 0xB1, 0x22, 0xA8, 0x9D, 0x29, 0x28, 0x23, + 0xC3, 0x28, 0x3F, 0x72, 0x9E, 0xDF, 0x2B, 0x99, 0x03, 0x3F, 0x55, 0xFA, 0x8D, 0xF2, 0xBA, 0xA0, + 0xC1, 0xAB, 0x9A, 0xF7, 0xF7, 0x6E, 0x6E, 0x6E, 0xBE, 0x63, 0x5E, 0x7C, 0x9C, 0x17, 0x71, 0x78, + 0xB2, 0x54, 0x8E, 0x4E, 0xCB, 0xEE, 0x0A, 0x19, 0x9F, 0x90, 0xE3, 0x1F, 0x03, 0xAA, 0x99, 0x1C, + 0x4C, 0xCD, 0x3A, 0x48, 0x8F, 0xA3, 0x53, 0x9E, 0xC3, 0xA4, 0x4A, 0xC4, 0x8E, 0xE8, 0x8A, 0x46, + 0x2F, 0xC1, 0x3E, 0x42, 0x7F, 0x0A, 0x4E, 0x52, 0x9E, 0x48, 0x92, 0x45, 0x96, 0x77, 0xEB, 0x6F, + 0x92, 0xB8, 0x64, 0xB9, 0x00, 0xC1, 0xC6, 0xF1, 0xDC, 0x84, 0x98, 0xC2, 0x89, 0x3C, 0x64, 0x35, + 0x87, 0xE9, 0x45, 0x92, 0x1E, 0x13, 0x14, 0x94, 0x01, 0xB9, 0x53, 0x6B, 0x24, 0x42, 0x57, 0xA3, + 0xF7, 0x1A, 0xB2, 0x85, 0x75, 0xA5, 0x8F, 0x51, 0x6C, 0x29, 0x32, 0x34, 0xE7, 0x5C, 0x15, 0x4D, + 0x52, 0x0D, 0xA6, 0x90, 0xE1, 0x4C, 0x26, 0xDB, 0x3A, 0xA5, 0x5F, 0xF0, 0xC4, 0xF0, 0x49, 0x57, + 0xBC, 0x45, 0x14, 0xAD, 0xAD, 0x37, 0xD6, 0x2C, 0xD8, 0x0B, 0x10, 0x98, 0x3A, 0x49, 0x47, 0x4D, + 0x3B, 0x84, 0x7E, 0x08, 0xE3, 0x34, 0xF1, 0xC8, 0x8D, 0x76, 0x4B, 0xEB, 0xA7, 0x99, 0x7F, 0xF2, + 0x44, 0x57, 0xB4, 0xC5, 0xB3, 0x7C, 0x7F, 0x52, 0x1D, 0xD3, 0xC9, 0x09, 0x2D, 0xE6, 0x44, 0xC3, + 0x7D, 0x58, 0x8C, 0xC2, 0x50, 0x7E, 0x44, 0x5A, 0xF2, 0x3D, 0xC3, 0x41, 0x4C, 0xD2, 0x6D, 0x10, + 0x07, 0x43, 0xA8, 0x5E, 0x1E, 0x48, 0x28, 0x02, 0xFD, 0x8D, 0xAF, 0xDF, 0xB1, 0x5E, 0x9B, 0xC0, + 0xA4, 0xDD, 0xBB, 0xF3, 0x45, 0xDE, 0x76, 0xFC, 0xAD, 0xB2, 0x6D, 0xC9, 0x2E, 0xDF, 0x51, 0x07, + 0xE6, 0x81, 0x66, 0x26, 0xFD, 0x3A, 0xF5, 0x97, 0x7C, 0x1F, 0x92, 0xC5, 0x23, 0xA8, 0x85, 0x28, + 0x8F, 0x72, 0x70, 0x73, 0xAA, 0x98, 0xF4, 0x7C, 0xCF, 0x85, 0xAE, 0x34, 0x66, 0x5D, 0x3C, 0x71, + 0x30, 0x1E, 0xBC, 0x6D, 0x6D, 0x31, 0x57, 0x47, 0x94, 0x26, 0x6C, 0xCC, 0xF2, 0xD2, 0x26, 0xF9, + 0x21, 0xC7, 0xCE, 0x19, 0x54, 0xE9, 0x30, 0x7F, 0x54, 0xFB, 0x05, 0xE5, 0x87, 0x41, 0x39, 0x54, + 0x85, 0x7A, 0x15, 0x1A, 0x78, 0xE6, 0x0D, 0x5C, 0x73, 0xFC, 0x07, 0xEE, 0xFA, 0x11, 0x11, 0xBD, + 0x3A, 0xA5, 0x4D, 0xC0, 0x27, 0x0A, 0x7C, 0x8E, 0xBE, 0x95, 0x6A, 0x3D, 0x8B, 0xCD, 0x2E, 0xD9, + 0xAD, 0x9C, 0x0E, 0x50, 0x0A, 0x6E, 0xE0, 0xF4, 0xF8, 0x41, 0x3A, 0x0C, 0xFB, 0x3A, 0x34, 0x28, + 0xF6, 0xDF, 0xC1, 0x9E, 0xB6, 0x2D, 0x42, 0x7D, 0x34, 0x02, 0x78, 0x4E, 0x45, 0xCF, 0x17, 0x8F, + 0xC9, 0xE0, 0x7F, 0x14, 0x2B, 0x50, 0xEA, 0xF0, 0x3F, 0x47, 0x63, 0x86, 0xC9, 0xAC, 0x97, 0x63, + 0x71, 0x37, 0xCB, 0x6B, 0xC4, 0x6C, 0x5A, 0x8D, 0xE1, 0xD2, 0xC6, 0xB0, 0xDB, 0xE9, 0xBD, 0x34, + 0x21, 0x62, 0x16, 0xC7, 0x53, 0x2E, 0x20, 0x79, 0x8B, 0xE7, 0x64, 0x11, 0xD8, 0x87, 0xA9, 0xA8, + 0x6F, 0xE2, 0x76, 0xCA, 0x64, 0x79, 0x16, 0xC9, 0x04, 0xCE, 0x5A, 0x36, 0x75, 0x68, 0x5E, 0xCC, + 0x64, 0xE9, 0x0B, 0x5A, 0xC4, 0x1E, 0xC9, 0x5A, 0xC3, 0x75, 0x21, 0x2B, 0x18, 0x73, 0x2F, 0xCB, + 0x07, 0xE7, 0x75, 0x0E, 0x70, 0xEC, 0x73, 0x1B, 0x25, 0xB7, 0x82, 0x1F, 0xE4, 0x5D, 0x54, 0xDD, + 0x56, 0x2B, 0xB6, 0xB8, 0xD7, 0x45, 0xC0, 0x75, 0x94, 0xF5, 0xA6, 0xDE, 0x90, 0x48, 0x69, 0xB7, + 0x1D, 0x20, 0x85, 0x9D, 0x3B, 0xAD, 0xCF, 0x29, 0xDD, 0x95, 0x6E, 0xDB, 0x0B, 0xAC, 0x2F, 0xD8, + 0xE7, 0xB5, 0x10, 0xEC, 0x98, 0x42, 0xB2, 0x39, 0x09, 0x70, 0x93, 0xD2, 0xEF, 0x30, 0xCD, 0xBB, + 0x7A, 0x0A, 0x2B, 0x9A, 0x51, 0xE0, 0x4D, 0x3F, 0x63, 0xCC, 0xD3, 0x00, 0x6E, 0xC3, 0x8C, 0xCB, + 0x78, 0xB3, 0x94, 0xB6, 0xFD, 0xCB, 0xB2, 0x8C, 0x70, 0x55, 0x40, 0x20, 0x2E, 0xCE, 0xB8, 0x01, + 0xA4, 0xD8, 0x88, 0xEE, 0x4E, 0xC7, 0x95, 0x29, 0xDB, 0xE7, 0xAD, 0x75, 0xA3, 0x57, 0xC9, 0x41, + 0x81, 0xA9, 0xDC, 0xDD, 0x13, 0x04, 0x98, 0xF2, 0x38, 0xA9, 0x0D, 0x17, 0x77, 0x72, 0x76, 0x23, + 0xFE, 0x5A, 0x08, 0xB6, 0x37, 0x65, 0x8D, 0xCB, 0x73, 0xB8, 0x8D, 0xD7, 0x64, 0x81, 0x2D, 0x5E, + 0xDC, 0xE1, 0x16, 0xC9, 0xA7, 0x45, 0x9B, 0x8B, 0x6B, 0x9A, 0x89, 0xD0, 0xF5, 0xD3, 0xEB, 0x37, + 0x83, 0x6E, 0x4B, 0xBA, 0xC0, 0x35, 0x3E, 0xF8, 0x2D, 0x1E, 0x83, 0xBB, 0xD4, 0xFE, 0xA8, 0xD0, + 0x72, 0x47, 0xFF, 0x4B, 0x91, 0xF9, 0x65, 0xFD, 0x1A, 0xB7, 0x84, 0x29, 0x9A, 0x93, 0x4E, 0xF9, + 0xC0, 0x2E, 0xFD, 0x6F, 0x6C, 0xBA, 0xBF, 0xF7, 0x07, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xB7, 0x4A, 0x48, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, + 0x6C, 0x65, 0x73, 0x2F, 0x61, 0x64, 0x6D, 0x2D, 0x7A, 0x69, 0x70, 0x2F, 0x75, 0x74, 0x69, 0x6C, + 0x2F, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x6B, + 0xB2, 0x6B, 0x03, 0x86, 0x06, 0x00, 0x00, 0xE5, 0x16, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x6E, + 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x61, 0x64, 0x6D, 0x2D, + 0x7A, 0x69, 0x70, 0x2F, 0x75, 0x74, 0x69, 0x6C, 0x2F, 0x63, 0x6F, 0x6E, 0x73, 0x74, 0x61, 0x6E, + 0x74, 0x73, 0x2E, 0x6A, 0x73, 0x9D, 0x58, 0x6D, 0x8F, 0xD2, 0x40, 0x10, 0xFE, 0xAC, 0x89, 0xFF, + 0x61, 0x73, 0x9F, 0xD4, 0xA0, 0xD2, 0xF2, 0x76, 0x6A, 0xFC, 0x80, 0xB4, 0xDC, 0x91, 0x83, 0x96, + 0x94, 0xA2, 0xE6, 0x62, 0x42, 0x7A, 0x74, 0x81, 0x46, 0x68, 0x49, 0xBB, 0xA8, 0xA7, 0xF1, 0xBF, + 0x3B, 0xBB, 0x6D, 0xF7, 0xB5, 0xE8, 0x29, 0x09, 0xE1, 0xDA, 0x67, 0x9E, 0xDD, 0xD9, 0x99, 0x67, + 0x66, 0x77, 0xEF, 0x90, 0xC5, 0xA7, 0x3D, 0x7E, 0x89, 0xBF, 0x1F, 0xB3, 0x9C, 0x14, 0xE8, 0x1D, + 0xFA, 0xF9, 0xE4, 0x31, 0x82, 0xCF, 0xAB, 0xE7, 0x28, 0xDC, 0x61, 0xB4, 0xCF, 0xD6, 0xD1, 0x1E, + 0x6D, 0x92, 0x3D, 0x46, 0x3B, 0x1C, 0xC5, 0x38, 0x47, 0xCF, 0x5F, 0x95, 0x06, 0x53, 0x7F, 0x74, + 0xED, 0x04, 0x48, 0x7C, 0xDE, 0xA0, 0x4E, 0xBB, 0x85, 0x5E, 0xBD, 0xA2, 0x48, 0x6D, 0x5C, 0x24, + 0x3F, 0x30, 0x37, 0x5F, 0x4C, 0xAE, 0x14, 0xF3, 0xF6, 0xF7, 0x76, 0xB7, 0xDD, 0xE9, 0xDE, 0xF5, + 0x4A, 0xDA, 0xC5, 0xFC, 0xE6, 0x73, 0xBB, 0xDD, 0x81, 0x6F, 0xF7, 0x82, 0x73, 0x3E, 0xB8, 0xEA, + 0x14, 0xDD, 0xD6, 0x23, 0x30, 0xFD, 0x8A, 0xF3, 0x22, 0xC9, 0x52, 0x94, 0x62, 0x1C, 0xE3, 0x18, + 0x91, 0x0C, 0xE1, 0xEF, 0x24, 0x8F, 0xD6, 0x84, 0xF3, 0xC6, 0x53, 0x75, 0xAE, 0x3E, 0x9B, 0x62, + 0x8B, 0x53, 0x9C, 0xC3, 0x7A, 0x8E, 0xA7, 0xFC, 0x98, 0x15, 0x18, 0xDD, 0x25, 0x04, 0x6D, 0xF6, + 0xD1, 0x56, 0xAC, 0xC8, 0xFF, 0xA8, 0xD0, 0x2E, 0x19, 0x6D, 0x9D, 0x1D, 0x8E, 0x39, 0x2E, 0xD8, + 0x94, 0x07, 0x4C, 0x76, 0x59, 0xCC, 0x09, 0xE1, 0x64, 0xA6, 0x10, 0xAC, 0x72, 0x2D, 0x10, 0xD5, + 0x64, 0x93, 0xAC, 0x23, 0x42, 0x29, 0x24, 0x39, 0x60, 0xF4, 0xD4, 0x46, 0x77, 0xF7, 0x04, 0x17, + 0xEC, 0xA9, 0x85, 0xEA, 0xA7, 0x38, 0x22, 0xF8, 0x19, 0x1F, 0x6D, 0x14, 0x8C, 0xD4, 0xD1, 0xBA, + 0x6C, 0xB4, 0x53, 0x5A, 0x7B, 0x80, 0xE3, 0x32, 0x17, 0xEB, 0x7C, 0xFD, 0xA2, 0x63, 0xA3, 0xAF, + 0xD1, 0xFE, 0x24, 0xC7, 0xF7, 0x56, 0x65, 0x97, 0xDE, 0x0B, 0xAE, 0x9A, 0x8E, 0xA9, 0xEB, 0x29, + 0xE6, 0xB6, 0x5D, 0x4D, 0x76, 0x8E, 0xE0, 0x0D, 0x67, 0x2A, 0x81, 0x05, 0x95, 0x39, 0x94, 0x46, + 0xB0, 0x44, 0xF8, 0xD9, 0x92, 0x1D, 0x37, 0x77, 0x3F, 0x85, 0xAA, 0x39, 0x73, 0xA7, 0xCC, 0x14, + 0x90, 0xF0, 0x3E, 0xE6, 0x0C, 0x45, 0x72, 0x4E, 0x44, 0x22, 0x14, 0xE3, 0x62, 0x9D, 0x27, 0x47, + 0x92, 0x09, 0xC1, 0xC1, 0x78, 0x0D, 0x0A, 0xBA, 0x6C, 0x0F, 0x34, 0x05, 0x0D, 0xE0, 0x7B, 0x79, + 0xC1, 0x39, 0xBA, 0x48, 0x2D, 0xE6, 0x35, 0x45, 0x0C, 0x91, 0xD2, 0x97, 0x7A, 0x0A, 0x1E, 0x9E, + 0x01, 0x20, 0xEB, 0x19, 0x68, 0x4A, 0x80, 0xB0, 0xD6, 0x13, 0x60, 0x9D, 0x49, 0x80, 0x16, 0x9F, + 0x35, 0x4E, 0x09, 0x15, 0x71, 0x9C, 0xE4, 0x78, 0x0D, 0x01, 0xBA, 0x6F, 0x2C, 0xCF, 0x91, 0xEB, + 0xE9, 0x2B, 0xEF, 0xB2, 0x95, 0x53, 0xC4, 0x58, 0x39, 0x7D, 0xD9, 0x10, 0x5C, 0xBB, 0x6D, 0x69, + 0xC1, 0xB5, 0xE0, 0x6B, 0x5F, 0x70, 0xCE, 0x07, 0x77, 0x66, 0x44, 0x4B, 0x94, 0xE7, 0x01, 0x26, + 0x01, 0x9D, 0x4B, 0xD6, 0x81, 0x5E, 0x94, 0x7F, 0x2F, 0x66, 0xE0, 0xE9, 0xC5, 0x5C, 0x09, 0x29, + 0x5D, 0xE7, 0xF7, 0x47, 0xD2, 0x02, 0xAD, 0xD0, 0x3F, 0xCA, 0x4A, 0x2E, 0x38, 0x49, 0x2F, 0x65, + 0xAB, 0x7D, 0xA6, 0x96, 0x39, 0xC3, 0xA8, 0x65, 0xFB, 0xBF, 0x6B, 0x19, 0x46, 0x33, 0x6A, 0xB9, + 0xFF, 0x60, 0x25, 0x01, 0x5B, 0x57, 0x92, 0xDD, 0x6E, 0x90, 0x92, 0x30, 0x37, 0x6A, 0xB9, 0x96, + 0xED, 0x39, 0x82, 0x51, 0xCB, 0x97, 0x4D, 0xB5, 0xCC, 0xCD, 0xF5, 0x5A, 0xEE, 0xB4, 0xCF, 0xD4, + 0xB2, 0x58, 0xBE, 0x3F, 0x53, 0x19, 0x36, 0x9F, 0x80, 0xAE, 0xE2, 0x00, 0x22, 0xD6, 0x29, 0xCE, + 0xE2, 0x46, 0xA5, 0x54, 0x6A, 0xCA, 0xF6, 0x27, 0xF0, 0x28, 0x3D, 0x1D, 0xEE, 0xA8, 0x64, 0x49, + 0x94, 0x0B, 0x65, 0x0C, 0x43, 0xCD, 0xAF, 0x32, 0xC8, 0x49, 0x4A, 0x70, 0x9E, 0xD6, 0x1B, 0x57, + 0x44, 0x48, 0x9E, 0xDC, 0x9D, 0x20, 0x45, 0x12, 0xEF, 0x93, 0xCA, 0xAB, 0x7B, 0x53, 0x33, 0x0F, + 0x3D, 0xDD, 0x65, 0x05, 0x41, 0xC5, 0x7D, 0x41, 0xF0, 0x01, 0xF4, 0x76, 0xC4, 0x69, 0x0C, 0x0B, + 0x10, 0xC9, 0xF6, 0xC7, 0x63, 0xB5, 0x0E, 0x6C, 0x7D, 0x27, 0xCC, 0x36, 0x9B, 0x02, 0x13, 0xAD, + 0x94, 0x69, 0x25, 0x27, 0x30, 0x7C, 0x02, 0xC2, 0x62, 0x8F, 0x31, 0xD8, 0x99, 0x05, 0xCE, 0x8B, + 0x1A, 0x62, 0x44, 0x8B, 0xDA, 0xEC, 0xDA, 0x14, 0x31, 0x8A, 0x9A, 0xBE, 0x6C, 0x28, 0xEA, 0x7E, + 0xBB, 0xA7, 0x15, 0x75, 0x0F, 0xBE, 0xFD, 0x0B, 0xC1, 0x59, 0xBE, 0x37, 0xCB, 0x8D, 0xC5, 0x9F, + 0xAD, 0x83, 0x7B, 0x9D, 0x51, 0xAF, 0x93, 0x02, 0xFC, 0x2C, 0xBE, 0x70, 0x72, 0xE8, 0x87, 0x4D, + 0x65, 0x47, 0x32, 0x12, 0xED, 0xCD, 0x31, 0x24, 0x3F, 0x6F, 0x1B, 0x6A, 0xCF, 0x0C, 0x05, 0x5B, + 0x1D, 0xC4, 0x8B, 0x95, 0x9C, 0xA0, 0xD3, 0xF8, 0x9B, 0xC5, 0x56, 0x05, 0x1D, 0x7E, 0x20, 0xA1, + 0x79, 0x41, 0xA4, 0xD6, 0xC7, 0x99, 0x4C, 0xA7, 0x66, 0xA1, 0xFD, 0x48, 0x8E, 0xCD, 0x5A, 0xE5, + 0xC4, 0x7E, 0xB7, 0x4C, 0x85, 0x49, 0xEC, 0x77, 0x8D, 0x74, 0x08, 0x52, 0x95, 0x10, 0x91, 0x8E, + 0x41, 0xBB, 0xCF, 0xD2, 0x21, 0xC8, 0xD3, 0x0C, 0x9A, 0x4D, 0x46, 0x99, 0xDB, 0x34, 0x22, 0xA7, + 0x1C, 0xB7, 0xAA, 0x3C, 0xF5, 0xE1, 0x3B, 0xB8, 0x90, 0x07, 0x0B, 0x87, 0x41, 0x28, 0x44, 0xA7, + 0xE6, 0x89, 0x4A, 0x8A, 0xE5, 0x06, 0x7D, 0x4B, 0xC8, 0x8E, 0x3E, 0x95, 0xC5, 0x53, 0x41, 0xE5, + 0x64, 0xD2, 0x60, 0x22, 0x86, 0x22, 0xE9, 0x39, 0xDE, 0x43, 0xDF, 0xFB, 0x8A, 0x45, 0x24, 0x05, + 0xF5, 0xAC, 0x5C, 0xA5, 0x31, 0xBD, 0xE5, 0xCC, 0x99, 0x2C, 0x6E, 0x16, 0x22, 0x2B, 0xA6, 0x16, + 0x98, 0x8F, 0x45, 0x1D, 0xD9, 0xDB, 0xC9, 0xBC, 0x21, 0x48, 0x7D, 0x3D, 0x48, 0xCD, 0xC1, 0xE9, + 0x5F, 0xF0, 0x41, 0xF4, 0xF4, 0xF4, 0xFA, 0x12, 0x19, 0x1C, 0xCD, 0xF2, 0x18, 0x1D, 0x92, 0x34, + 0x39, 0x9C, 0x0E, 0x65, 0x8A, 0x04, 0x71, 0xEA, 0x0E, 0x1D, 0x43, 0x89, 0x7B, 0xC8, 0x66, 0x92, + 0x6E, 0xAB, 0x56, 0x1F, 0x11, 0x23, 0x9E, 0xD5, 0xA0, 0x2D, 0x94, 0x66, 0x04, 0x54, 0x73, 0x82, + 0x16, 0x14, 0x83, 0x35, 0x85, 0x58, 0x6F, 0xA7, 0xD6, 0x59, 0x0E, 0xEF, 0x92, 0xB4, 0x5E, 0xE4, + 0xAD, 0xCB, 0x66, 0x15, 0x8F, 0x52, 0x03, 0x11, 0xDE, 0x32, 0xF7, 0xAA, 0x49, 0xCC, 0x60, 0x57, + 0xD3, 0x4A, 0x03, 0x55, 0x7B, 0xB2, 0x70, 0x5F, 0x8C, 0x64, 0x6E, 0xCC, 0x82, 0x14, 0xC8, 0x24, + 0x69, 0xFA, 0x3F, 0xEC, 0xCF, 0x82, 0x5E, 0xB7, 0xEE, 0x3A, 0xCF, 0x82, 0x2E, 0xF2, 0x2C, 0x9A, + 0x85, 0x4A, 0x74, 0x26, 0x81, 0xA8, 0xA1, 0x7F, 0x93, 0x70, 0xB9, 0x76, 0x11, 0x0C, 0x39, 0x9C, + 0xCB, 0xF7, 0xCA, 0x7E, 0xF8, 0xE0, 0x1E, 0xC6, 0xD8, 0x65, 0x17, 0x13, 0x7B, 0xD7, 0xDF, 0x7B, + 0x58, 0x9D, 0xC3, 0xF7, 0x52, 0x0E, 0x25, 0xBD, 0x3E, 0xAC, 0x93, 0xC1, 0x20, 0x7A, 0x1D, 0x76, + 0x2F, 0xD5, 0x4E, 0xC6, 0x03, 0x60, 0x8E, 0x58, 0x06, 0x09, 0x76, 0xFB, 0x23, 0x3C, 0x83, 0xB7, + 0x22, 0x5E, 0x20, 0x5C, 0xB6, 0xC2, 0xCA, 0x79, 0x69, 0x32, 0xD8, 0xD8, 0x83, 0xA1, 0x54, 0x24, + 0x7C, 0x1B, 0x4C, 0x8B, 0xE4, 0x6E, 0x0F, 0xC1, 0xA7, 0x87, 0xF1, 0x82, 0x8D, 0x2F, 0xED, 0x5D, + 0x23, 0xE3, 0x10, 0x55, 0xF0, 0x3D, 0x6A, 0x11, 0xFA, 0x81, 0xEB, 0x28, 0x3D, 0xB5, 0xCA, 0x6A, + 0x26, 0x1F, 0xBE, 0x2A, 0xE3, 0xEB, 0x60, 0xE9, 0xDD, 0xA8, 0xAD, 0x9B, 0x19, 0x17, 0xBB, 0xFC, + 0x94, 0x56, 0x19, 0x81, 0xE1, 0x96, 0x23, 0xD7, 0xB1, 0xE4, 0x7C, 0x56, 0xDD, 0x29, 0x3E, 0xAD, + 0x71, 0xCC, 0xD6, 0xAD, 0x1C, 0xEC, 0x36, 0x11, 0x75, 0x18, 0x59, 0x0A, 0xDF, 0x96, 0x33, 0xFA, + 0x20, 0xBE, 0xAD, 0xF0, 0x3B, 0x72, 0x56, 0x1E, 0xC4, 0xEF, 0x28, 0xFC, 0xAE, 0xDC, 0x8D, 0x1E, + 0xC4, 0xAF, 0xBA, 0xF3, 0x64, 0x36, 0x9F, 0xFA, 0x8E, 0xEB, 0x18, 0x27, 0xE7, 0xE4, 0x70, 0xDC, + 0x67, 0x50, 0x93, 0xCC, 0x8C, 0xBE, 0x18, 0xD0, 0xEC, 0xE3, 0xFC, 0x6B, 0xFD, 0xCA, 0x71, 0xC7, + 0xD3, 0x61, 0xC8, 0x99, 0xA2, 0xAF, 0xC7, 0x78, 0x03, 0x8D, 0xBD, 0x36, 0x83, 0xC3, 0xF2, 0xD0, + 0x03, 0x0F, 0x57, 0xB5, 0xFD, 0x1B, 0xF4, 0xBA, 0x3A, 0x62, 0xEF, 0xA2, 0x14, 0x3C, 0xD4, 0xEC, + 0xE7, 0x37, 0x1F, 0x87, 0x81, 0xAB, 0x6F, 0xF3, 0x60, 0x0F, 0x40, 0x94, 0xC3, 0x0D, 0x6E, 0x34, + 0x35, 0x7D, 0xB3, 0x2C, 0xCD, 0xB9, 0xF7, 0x20, 0x40, 0x1B, 0x35, 0xED, 0xFA, 0xF2, 0x31, 0xF7, + 0x54, 0x80, 0x78, 0x4B, 0x5B, 0x31, 0x54, 0x47, 0x1B, 0x6A, 0x7A, 0x3B, 0x63, 0x22, 0x36, 0x5A, + 0x18, 0x43, 0x04, 0xAF, 0xF7, 0xC2, 0xD2, 0x43, 0x34, 0x79, 0x3F, 0x5B, 0x85, 0x6E, 0xB0, 0x70, + 0xF5, 0x7B, 0xB3, 0xE1, 0x04, 0x35, 0x45, 0xCC, 0x54, 0x30, 0xA7, 0xB7, 0x83, 0x81, 0x3C, 0x29, + 0x0B, 0x1B, 0xB5, 0x63, 0xC0, 0x0F, 0xA9, 0x64, 0xAE, 0xCE, 0xFC, 0xEB, 0x81, 0xD7, 0x0D, 0x5C, + 0x72, 0x56, 0x70, 0x6C, 0xD6, 0xEA, 0xA6, 0xCC, 0x02, 0xBB, 0x0A, 0x57, 0xF7, 0x05, 0x61, 0x0D, + 0x47, 0x97, 0xB9, 0xA5, 0x14, 0x8E, 0x7E, 0xC1, 0xC9, 0x8E, 0x04, 0x7E, 0x54, 0x86, 0x2D, 0x55, + 0xD1, 0xDF, 0x19, 0x8E, 0xBB, 0x18, 0xA9, 0xBA, 0x67, 0xF2, 0x51, 0xAF, 0xE8, 0xF2, 0x02, 0xAE, + 0xB5, 0x93, 0xA3, 0x29, 0x23, 0x75, 0x82, 0x45, 0x18, 0x34, 0x1C, 0xDC, 0x0A, 0x92, 0x67, 0xE9, + 0xB6, 0xBA, 0xE2, 0xA9, 0x84, 0xA9, 0x77, 0xA5, 0x0A, 0xAF, 0xEA, 0xED, 0xFB, 0x28, 0xDD, 0x9E, + 0xA2, 0x2D, 0xA6, 0xA4, 0x8C, 0x6E, 0xD5, 0x82, 0x32, 0x2B, 0x77, 0x27, 0xD1, 0x97, 0x5F, 0x97, + 0xB3, 0x1C, 0xA2, 0xE2, 0x4B, 0x75, 0x4C, 0x2B, 0xB7, 0xE8, 0x42, 0x4A, 0xD8, 0x34, 0x8B, 0x60, + 0xB3, 0xBB, 0x3F, 0x62, 0x91, 0xA1, 0xC9, 0xB4, 0x56, 0x89, 0xC8, 0x50, 0xA5, 0xE5, 0xE5, 0x78, + 0xAC, 0x5D, 0x6E, 0xAD, 0x0A, 0xF2, 0x7C, 0xAF, 0x66, 0x89, 0xB8, 0x4B, 0xF3, 0x74, 0x5F, 0xF6, + 0x90, 0xAB, 0x34, 0xDC, 0xEA, 0x46, 0x25, 0x5A, 0xAA, 0x3B, 0x5E, 0x4D, 0x1C, 0x7D, 0x62, 0x0E, + 0xD1, 0x83, 0xC3, 0xD9, 0xD1, 0xAF, 0xCB, 0xD5, 0x4D, 0x1C, 0x3E, 0x1A, 0xFC, 0xBD, 0x62, 0xAD, + 0x5F, 0x3D, 0x61, 0xC1, 0xD5, 0xBE, 0xC5, 0xF1, 0xE1, 0x87, 0x89, 0x37, 0xF6, 0x35, 0x7C, 0x20, + 0xF0, 0xF9, 0x98, 0x9E, 0xE8, 0x34, 0xFC, 0x52, 0xE0, 0xFE, 0xC2, 0x36, 0xF1, 0xD7, 0x02, 0xF7, + 0x42, 0x3E, 0x80, 0xC0, 0x23, 0x89, 0x3F, 0x87, 0x7F, 0x16, 0xCC, 0x16, 0x2A, 0xBE, 0x16, 0xF8, + 0xD2, 0x9B, 0x7C, 0x32, 0xF8, 0xB1, 0xC0, 0xC7, 0x7E, 0x70, 0x63, 0xE0, 0x58, 0xF2, 0x7F, 0x18, + 0x8E, 0xAE, 0x75, 0x7C, 0x23, 0xF0, 0x4F, 0xBD, 0xF6, 0xEB, 0xD5, 0xFC, 0x66, 0xB4, 0x18, 0x08, + 0xDC, 0xEA, 0x6A, 0xF8, 0xC8, 0x0D, 0x42, 0x3A, 0x57, 0x8D, 0xF7, 0x9A, 0xF1, 0x51, 0x8D, 0xF7, + 0x39, 0x4E, 0x45, 0xEF, 0x7B, 0x57, 0x55, 0xB5, 0xD7, 0xB8, 0x14, 0xDF, 0xC0, 0x1D, 0xF9, 0x81, + 0xB3, 0x9A, 0x5D, 0x85, 0x12, 0x7E, 0xD9, 0xE4, 0xDF, 0x2A, 0x98, 0xD6, 0xB8, 0x14, 0x5F, 0xE8, + 0x40, 0x96, 0xBE, 0xFE, 0x7E, 0x4F, 0xC1, 0x6D, 0x03, 0x97, 0xFC, 0x9B, 0xFB, 0x0B, 0x90, 0x88, + 0x8C, 0x77, 0xFB, 0xAF, 0xA9, 0xE4, 0x6A, 0xD1, 0x95, 0x0A, 0x5A, 0xF9, 0xC1, 0xAA, 0x63, 0x57, + 0x16, 0x9B, 0xEA, 0xD3, 0x32, 0x6D, 0xAC, 0x3E, 0xB7, 0x31, 0xF1, 0xC5, 0xD2, 0xA3, 0x6D, 0x89, + 0xE2, 0x06, 0x44, 0x81, 0xB2, 0x91, 0xE8, 0x50, 0x70, 0xED, 0xF3, 0x8E, 0xA1, 0x63, 0xCE, 0xC2, + 0xE3, 0xC7, 0xBE, 0x27, 0x8F, 0x7F, 0xBD, 0x7D, 0xF2, 0xF8, 0x37, 0x50, 0x4B, 0x03, 0x04, 0x14, + 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x99, 0xC1, 0xBD, 0x79, 0x05, 0x03, 0x00, + 0x00, 0xCB, 0x07, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, + 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x61, 0x64, 0x6D, 0x2D, 0x7A, 0x69, 0x70, 0x2F, 0x75, 0x74, + 0x69, 0x6C, 0x2F, 0x65, 0x72, 0x72, 0x6F, 0x72, 0x73, 0x2E, 0x6A, 0x73, 0x9D, 0x55, 0xDF, 0x6F, + 0xD3, 0x30, 0x10, 0x7E, 0x47, 0xE2, 0x7F, 0x38, 0x4D, 0x42, 0xFC, 0x10, 0x30, 0x09, 0xDE, 0x8A, + 0x78, 0x30, 0x89, 0xA7, 0x45, 0xB4, 0xCE, 0x94, 0x9A, 0xC1, 0x78, 0x89, 0xBC, 0xF8, 0xDA, 0x5A, + 0x24, 0x76, 0xE4, 0xB8, 0xDB, 0x0A, 0xE2, 0x7F, 0xE7, 0x52, 0xF7, 0x57, 0x36, 0x36, 0xC1, 0xF6, + 0xB0, 0x36, 0xEE, 0x7D, 0xF7, 0xDD, 0x77, 0x77, 0xFE, 0xD2, 0x38, 0xBD, 0xAC, 0xF1, 0x2D, 0xDE, + 0xB4, 0xCE, 0x87, 0x0E, 0x3E, 0xC2, 0xAF, 0xA7, 0x4F, 0x80, 0xFE, 0x8E, 0x5F, 0xC1, 0x29, 0x2A, + 0x8D, 0x1E, 0xD0, 0x7B, 0xE7, 0xA1, 0xC1, 0xAE, 0x53, 0x73, 0xEC, 0xE0, 0xD5, 0x71, 0x0C, 0x38, + 0xCA, 0xC4, 0x39, 0x1B, 0x67, 0x69, 0x39, 0xCE, 0x93, 0x23, 0x18, 0xD1, 0xB3, 0xBD, 0x52, 0xB5, + 0xD1, 0x40, 0xCF, 0xB0, 0x88, 0xD0, 0x17, 0x97, 0x4A, 0x43, 0x67, 0xE6, 0x56, 0x85, 0xA5, 0xC7, + 0x97, 0x47, 0xAF, 0x6F, 0x41, 0x13, 0x2E, 0x06, 0x50, 0x7A, 0xFE, 0x57, 0x28, 0x17, 0xE9, 0x00, + 0x4A, 0xCF, 0x0F, 0x40, 0x77, 0x9A, 0xBE, 0x9B, 0x96, 0xDB, 0xE0, 0x57, 0xB7, 0x54, 0xED, 0x44, + 0x89, 0xBC, 0x4C, 0x99, 0x64, 0xEB, 0xD4, 0xC2, 0x85, 0x85, 0xB1, 0x73, 0x08, 0x0E, 0x34, 0x56, + 0xAE, 0x69, 0x3D, 0x45, 0xEF, 0x0A, 0xF9, 0xC4, 0xA8, 0xFE, 0x22, 0x4A, 0xA7, 0xCF, 0xF7, 0xEF, + 0xA0, 0x5A, 0x60, 0xF5, 0xA3, 0x5B, 0x36, 0x30, 0x53, 0xA6, 0x46, 0xBD, 0x8B, 0x3C, 0xC9, 0xC6, + 0xBC, 0xCC, 0x44, 0x29, 0x4F, 0x79, 0xF9, 0x95, 0x5D, 0xAC, 0x11, 0x72, 0x81, 0x1E, 0xC1, 0x74, + 0xA0, 0x60, 0x66, 0x6A, 0xFA, 0x66, 0x21, 0x2C, 0x10, 0xAE, 0xD5, 0x6A, 0x04, 0xCF, 0xF6, 0x24, + 0x5F, 0xC4, 0x67, 0x91, 0x7F, 0x15, 0xE5, 0x84, 0xCB, 0xD3, 0x7C, 0x20, 0xF8, 0x78, 0x69, 0xBB, + 0x65, 0xDB, 0x0F, 0x0D, 0x35, 0x6C, 0x8B, 0x33, 0xCE, 0x92, 0xA4, 0xB0, 0x70, 0x7A, 0x20, 0x3A, + 0xB3, 0xB3, 0x5A, 0x85, 0x07, 0x46, 0xC9, 0xCE, 0x59, 0x36, 0xDE, 0x0B, 0x37, 0x31, 0x7E, 0x34, + 0x62, 0x57, 0xA4, 0x44, 0x5D, 0x52, 0x7D, 0x9B, 0x23, 0xD0, 0x2A, 0x28, 0xD0, 0xD4, 0x6F, 0xEB, + 0x02, 0x50, 0xCA, 0xC6, 0x58, 0x3A, 0xBE, 0x33, 0x9D, 0x34, 0x9B, 0x4A, 0x26, 0x12, 0x3E, 0x4C, + 0xB7, 0x9D, 0x55, 0x6D, 0x08, 0xA9, 0xEA, 0xE3, 0x1A, 0xED, 0x3C, 0x2C, 0xC0, 0x79, 0xCA, 0xD8, + 0x05, 0x65, 0x2B, 0x24, 0x25, 0xBA, 0x27, 0xA3, 0xA6, 0xDC, 0xA0, 0x5E, 0xFF, 0xB2, 0xB2, 0xAA, + 0x31, 0x15, 0x5C, 0xD6, 0xAE, 0xFA, 0xB1, 0xE3, 0x91, 0x79, 0x39, 0x61, 0xE2, 0xA2, 0x4C, 0xF2, + 0x94, 0x4F, 0x87, 0x24, 0xE9, 0x21, 0x20, 0xE6, 0xD3, 0xD8, 0x55, 0xDE, 0xB4, 0x81, 0xDA, 0x33, + 0xA2, 0x69, 0x3A, 0x68, 0x94, 0x5D, 0xC1, 0x3D, 0xEC, 0xDD, 0x1D, 0x31, 0x05, 0x3F, 0xE3, 0x4C, + 0x96, 0x63, 0x2E, 0xFE, 0x8F, 0xC9, 0x63, 0x8B, 0x2A, 0x40, 0xE3, 0x3C, 0xD2, 0x70, 0x95, 0x85, + 0xAE, 0xC5, 0xCA, 0xCC, 0x0C, 0xEA, 0x0D, 0xF7, 0xBD, 0x54, 0x27, 0x59, 0x31, 0x95, 0x8F, 0x22, + 0xDB, 0x24, 0x86, 0x6B, 0x43, 0xD2, 0xAC, 0xA3, 0x3E, 0xFA, 0x6E, 0x7B, 0x7A, 0xC0, 0x96, 0xE4, + 0x93, 0xB3, 0x31, 0x97, 0xFC, 0x31, 0x0D, 0xEC, 0x4F, 0xB6, 0x3C, 0xB1, 0x63, 0x34, 0xB0, 0x7E, + 0x03, 0x6B, 0xFC, 0xDB, 0x26, 0x5C, 0x88, 0xFD, 0x36, 0xFC, 0x0F, 0x8D, 0x89, 0xCB, 0x32, 0x1C, + 0xCE, 0x7D, 0x8D, 0x8B, 0x3A, 0xFA, 0x11, 0x3D, 0x8A, 0x63, 0xB8, 0x90, 0x0F, 0x33, 0x4D, 0x65, + 0x5E, 0xF0, 0xF2, 0x13, 0xB9, 0xDC, 0xE7, 0x61, 0xDF, 0xA6, 0x81, 0x06, 0xAD, 0x23, 0xD7, 0x06, + 0xBD, 0xBB, 0x29, 0x8D, 0x0A, 0x15, 0xAD, 0x9A, 0xC5, 0xE7, 0x1D, 0xC4, 0x56, 0x35, 0x68, 0xC3, + 0xED, 0xDC, 0x31, 0x6B, 0x29, 0x2F, 0xCE, 0xFE, 0x7A, 0x71, 0xB6, 0xB9, 0xC3, 0xAA, 0x45, 0x78, + 0xB1, 0xFE, 0xFF, 0xF1, 0x23, 0xBC, 0x1F, 0x1A, 0x1C, 0x4B, 0x27, 0x6F, 0xBE, 0x67, 0x67, 0xF7, + 0x5E, 0xF5, 0x84, 0x09, 0x59, 0xF2, 0x6F, 0xB2, 0x60, 0x49, 0xBF, 0x67, 0xE3, 0xC8, 0x94, 0xB8, + 0x65, 0x1D, 0x2B, 0xC5, 0x9B, 0xE0, 0x55, 0x15, 0x7A, 0x37, 0x5A, 0x3B, 0x53, 0x9F, 0x7C, 0x0F, + 0xCC, 0xCF, 0x79, 0x51, 0x64, 0x69, 0x04, 0x49, 0xE5, 0xE7, 0x18, 0xA2, 0x7F, 0xA9, 0xDA, 0x93, + 0xF9, 0xAE, 0x08, 0x4E, 0xE3, 0xA2, 0xA6, 0xED, 0xED, 0x94, 0x8A, 0xD9, 0xB8, 0x29, 0xFC, 0x34, + 0x6D, 0x8C, 0xBE, 0x56, 0x1D, 0xD4, 0x8E, 0xCC, 0x5A, 0x1F, 0x46, 0x72, 0x21, 0x8B, 0xE8, 0x8E, + 0xD1, 0xA2, 0xB5, 0xC3, 0xCE, 0x3E, 0x0F, 0x31, 0xE7, 0x2E, 0x30, 0xCD, 0x0A, 0x9E, 0xD0, 0x0C, + 0xFA, 0xCB, 0x2F, 0x24, 0x61, 0x4A, 0x2A, 0x29, 0x2F, 0xD6, 0x38, 0x46, 0x0D, 0xF7, 0x58, 0x05, + 0x47, 0xE8, 0x4A, 0xD9, 0x5E, 0xCF, 0x42, 0x5D, 0xF5, 0xAB, 0x63, 0xC3, 0xA6, 0xDF, 0x7B, 0x47, + 0x16, 0x39, 0x35, 0x20, 0xFF, 0xB2, 0x79, 0x8F, 0x9C, 0xF4, 0x75, 0xF5, 0x80, 0x99, 0x5B, 0x5A, + 0x3D, 0x30, 0xE1, 0x3E, 0x30, 0xEB, 0xEF, 0xCB, 0x84, 0x13, 0x61, 0xBA, 0x7D, 0x37, 0x80, 0xD9, + 0xCE, 0x71, 0x27, 0x63, 0x3F, 0xC9, 0x9E, 0x41, 0xB0, 0x09, 0x3F, 0xB4, 0xEC, 0xB5, 0x76, 0x5A, + 0x48, 0xBC, 0x1B, 0x9D, 0x17, 0x13, 0x26, 0x07, 0xB1, 0x34, 0xBC, 0x03, 0x87, 0x8F, 0xAD, 0x73, + 0x9E, 0xF6, 0xE8, 0x2D, 0x08, 0x77, 0xF0, 0xB6, 0x8B, 0xF5, 0x1E, 0x3D, 0x7D, 0xF2, 0xFB, 0xC3, + 0x1F, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x4B, + 0x0E, 0x3E, 0xBE, 0x7B, 0x02, 0x00, 0x00, 0x5D, 0x08, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x6E, + 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x61, 0x64, 0x6D, 0x2D, + 0x7A, 0x69, 0x70, 0x2F, 0x75, 0x74, 0x69, 0x6C, 0x2F, 0x66, 0x61, 0x74, 0x74, 0x72, 0x2E, 0x6A, + 0x73, 0x85, 0x55, 0x4D, 0x8F, 0xDA, 0x30, 0x10, 0x3D, 0x17, 0x89, 0xFF, 0x30, 0xCD, 0x81, 0x8F, + 0x5D, 0xC4, 0x47, 0x8F, 0x20, 0x0E, 0x95, 0x5A, 0xA9, 0x3D, 0x55, 0x2A, 0xBD, 0x95, 0xAA, 0x32, + 0x64, 0x20, 0x5E, 0x25, 0x36, 0xB5, 0x1D, 0x58, 0xB4, 0xCB, 0x7F, 0xEF, 0x38, 0x4E, 0xE2, 0x10, + 0x08, 0xC9, 0x25, 0xC9, 0xCC, 0x7B, 0x6F, 0x9C, 0x99, 0x67, 0xE7, 0xC8, 0x14, 0xEC, 0x34, 0x2C, + 0x41, 0xE1, 0xBF, 0x94, 0x2B, 0x1C, 0x04, 0xE3, 0xC9, 0x8E, 0xC7, 0xB8, 0x3A, 0x6B, 0x83, 0x49, + 0x30, 0x1C, 0x17, 0xF1, 0xE1, 0xA8, 0xDB, 0x01, 0xBA, 0x0E, 0x26, 0xAA, 0xA2, 0x0F, 0xCC, 0x44, + 0xC1, 0x70, 0xD1, 0xED, 0x7C, 0xE8, 0x76, 0x76, 0x7A, 0x8C, 0xAF, 0x5C, 0x1B, 0xBD, 0x3A, 0x8B, + 0x2D, 0x81, 0xAE, 0xDF, 0xDF, 0xDF, 0x2D, 0xB7, 0x12, 0x21, 0x52, 0xB7, 0x93, 0xC8, 0x30, 0x8D, + 0x91, 0xA2, 0x07, 0xA9, 0x8C, 0xB6, 0xA4, 0x54, 0x6C, 0x0D, 0x97, 0x62, 0x30, 0x79, 0x5A, 0x19, + 0xC5, 0xC5, 0xFE, 0x69, 0x62, 0x6B, 0x0C, 0xE1, 0x8D, 0xE0, 0xD9, 0x0A, 0xEC, 0x92, 0xFF, 0xDA, + 0x18, 0xA1, 0xED, 0xCD, 0x2A, 0x07, 0x81, 0x5D, 0x9E, 0xBB, 0x28, 0x89, 0x2A, 0xE1, 0x5A, 0x93, + 0x8A, 0x55, 0x9C, 0x56, 0x53, 0x72, 0xF3, 0x42, 0x21, 0x81, 0xA7, 0xCF, 0xC6, 0x28, 0xFB, 0x51, + 0x3E, 0xA5, 0x0D, 0x33, 0x36, 0x97, 0xC6, 0xF1, 0x22, 0xAF, 0x55, 0xAE, 0xA6, 0x64, 0xD0, 0x3A, + 0x3C, 0x45, 0xA1, 0x49, 0x95, 0x70, 0x11, 0x7F, 0x85, 0xD4, 0x98, 0xAD, 0x91, 0xEA, 0x0C, 0x73, + 0xD8, 0xB1, 0x58, 0x63, 0x5E, 0xC4, 0xB3, 0x58, 0x28, 0x45, 0xDC, 0x94, 0x8E, 0x78, 0x18, 0xA2, + 0x68, 0x48, 0xE2, 0x2B, 0x6E, 0x53, 0xC3, 0x36, 0x31, 0x36, 0x00, 0x12, 0xC3, 0x13, 0x9B, 0x9B, + 0xD6, 0xE2, 0xAC, 0x88, 0xFB, 0xF0, 0x85, 0x1E, 0xDD, 0xCD, 0x3D, 0xF0, 0x1D, 0x0C, 0x5C, 0x5F, + 0x7B, 0xBD, 0xEB, 0xD9, 0xB9, 0xF0, 0xD0, 0x7F, 0xBB, 0x6F, 0x97, 0x05, 0xDA, 0xA7, 0x0A, 0x6C, + 0x71, 0xDD, 0xEE, 0xB1, 0xEF, 0xC7, 0xD2, 0xB1, 0xC6, 0x5C, 0x7F, 0x29, 0x62, 0x83, 0x1B, 0x78, + 0xF6, 0x05, 0x05, 0xD4, 0xBD, 0xD5, 0x21, 0xEC, 0x0A, 0xC2, 0xEE, 0x41, 0xCA, 0x46, 0x59, 0xDC, + 0x60, 0x2A, 0x67, 0xB3, 0x19, 0xF4, 0x0A, 0x4D, 0x19, 0xE2, 0x10, 0x3E, 0x92, 0x33, 0x16, 0x16, + 0x3F, 0x99, 0x80, 0x75, 0x3C, 0x70, 0x5D, 0x6D, 0xEF, 0x29, 0x92, 0x80, 0x47, 0x54, 0x10, 0x91, + 0xDD, 0x14, 0xDF, 0x47, 0x06, 0x84, 0x34, 0xF0, 0x92, 0x6A, 0x03, 0xF2, 0x24, 0x50, 0xD5, 0x0A, + 0x96, 0x53, 0x05, 0x57, 0xF0, 0xD3, 0x74, 0x5A, 0x2B, 0xB8, 0xAC, 0x14, 0x2C, 0xD1, 0x7C, 0x67, + 0xD5, 0xB2, 0x32, 0x9A, 0x0A, 0xC0, 0x49, 0x71, 0x83, 0xAE, 0x5E, 0xAD, 0x40, 0xEE, 0x8B, 0x65, + 0xB6, 0x8B, 0x36, 0x4C, 0xA3, 0x60, 0x09, 0xE6, 0x2D, 0xFF, 0x3D, 0xFD, 0x03, 0x4B, 0xD2, 0x0F, + 0xC6, 0xC1, 0x22, 0x9F, 0x2A, 0x20, 0x99, 0xA3, 0x3A, 0xB0, 0x2D, 0xED, 0x06, 0x49, 0x5B, 0xED, + 0xC4, 0x94, 0x18, 0x04, 0xDF, 0xC5, 0x91, 0xC5, 0x3C, 0xCC, 0x36, 0xD0, 0x1C, 0x02, 0x78, 0x06, + 0xA7, 0x54, 0xF3, 0x84, 0x77, 0xB8, 0x17, 0xDA, 0xA3, 0xA9, 0x78, 0xFC, 0x7A, 0x47, 0x78, 0x4E, + 0x6D, 0xF6, 0x95, 0xF9, 0x5C, 0x46, 0x35, 0xB5, 0xAC, 0x1B, 0x3F, 0x44, 0xFC, 0x50, 0xCC, 0xB7, + 0xF8, 0xB1, 0x96, 0x6B, 0x53, 0x8B, 0x92, 0x03, 0x3D, 0xD2, 0x71, 0x1B, 0xA9, 0x45, 0x26, 0xC3, + 0x3C, 0x54, 0x61, 0x75, 0x95, 0x5B, 0x11, 0x76, 0x47, 0xA4, 0x26, 0xE3, 0x7D, 0xD9, 0xB6, 0xA2, + 0x12, 0xD8, 0xBC, 0xAC, 0x10, 0xB7, 0x64, 0x47, 0x7B, 0x98, 0xF1, 0x4D, 0x6A, 0x50, 0xC3, 0xDC, + 0x9F, 0xB9, 0xE4, 0x89, 0x4C, 0xBE, 0x89, 0x8B, 0xA2, 0x91, 0x0B, 0xAD, 0x64, 0x23, 0xDD, 0x81, + 0x5E, 0x21, 0x35, 0x35, 0xA6, 0xFF, 0xB6, 0x16, 0x7D, 0x78, 0xCE, 0x53, 0xFE, 0xEA, 0xAF, 0x8D, + 0xFB, 0xE3, 0x90, 0x46, 0xD0, 0x2F, 0x4C, 0x4B, 0xF7, 0x60, 0xB4, 0x16, 0x41, 0x03, 0xA1, 0x72, + 0xDA, 0x58, 0x1E, 0xD1, 0x6A, 0xDE, 0x6C, 0xE5, 0xFF, 0xCC, 0xFD, 0xE9, 0xE9, 0xDE, 0x8D, 0xED, + 0xEC, 0x6F, 0x99, 0xD9, 0x4A, 0xAE, 0xF7, 0x5F, 0x2B, 0xF3, 0x6B, 0x39, 0xCD, 0x9C, 0x5D, 0x1F, + 0x72, 0x8B, 0x42, 0xF2, 0x8B, 0x27, 0x05, 0xD5, 0x3B, 0x36, 0x63, 0x35, 0x93, 0xD8, 0x0D, 0x89, + 0x35, 0x93, 0xFA, 0x97, 0xFE, 0xE2, 0xFE, 0x1F, 0xE5, 0x42, 0xF1, 0xFF, 0x50, 0x4B, 0x03, 0x04, + 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x21, 0xAB, 0x36, 0x69, 0xB5, 0x00, + 0x00, 0x00, 0x31, 0x01, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, + 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x61, 0x64, 0x6D, 0x2D, 0x7A, 0x69, 0x70, 0x2F, 0x75, + 0x74, 0x69, 0x6C, 0x2F, 0x66, 0x69, 0x6C, 0x65, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x2E, 0x6A, + 0x73, 0x6D, 0x4F, 0xC1, 0x0E, 0x82, 0x30, 0x0C, 0x3D, 0x4B, 0xC2, 0x3F, 0x34, 0x1C, 0x60, 0x1C, + 0x24, 0xDE, 0x8D, 0x1E, 0xBD, 0xFA, 0x01, 0xC6, 0x03, 0x2E, 0x1D, 0x4C, 0xC9, 0x86, 0xDD, 0x20, + 0x12, 0xB3, 0x7F, 0x77, 0x1B, 0x18, 0x62, 0xE2, 0x3B, 0x34, 0x4D, 0xDF, 0x7B, 0x7D, 0x2D, 0xBE, + 0x7A, 0x4D, 0xD6, 0x54, 0x84, 0xCF, 0x41, 0x12, 0xC2, 0x01, 0xC4, 0xA0, 0xB8, 0x95, 0x5A, 0xB1, + 0x12, 0xDE, 0x69, 0x02, 0x30, 0xD6, 0x04, 0xC2, 0x78, 0x62, 0x91, 0xB0, 0x4C, 0x98, 0xAC, 0xDC, + 0x07, 0x4A, 0x0A, 0x60, 0x3D, 0x69, 0x8E, 0xC6, 0x40, 0x9E, 0xC3, 0xD2, 0x56, 0x23, 0x92, 0xF1, + 0x0B, 0xFE, 0xCE, 0x2E, 0x05, 0x76, 0xC8, 0x2D, 0x69, 0x55, 0x5C, 0x63, 0xC0, 0x06, 0xC0, 0xD2, + 0x34, 0x77, 0x1E, 0x9A, 0x64, 0x23, 0x55, 0xDD, 0x9D, 0x7E, 0x12, 0xBF, 0xD3, 0x6D, 0x8C, 0x8E, + 0xD2, 0x39, 0xFD, 0x7C, 0xBB, 0xFB, 0x6D, 0xD5, 0x03, 0x27, 0xC3, 0x56, 0x6B, 0x59, 0x75, 0xA8, + 0x1A, 0xDB, 0xC2, 0x11, 0x76, 0x4B, 0x48, 0xC0, 0xFC, 0xC6, 0x2A, 0x0B, 0x3F, 0x44, 0xB8, 0xA8, + 0x70, 0xC0, 0x6B, 0xCB, 0x5B, 0x60, 0xE8, 0x3D, 0x2E, 0x70, 0xA1, 0xF8, 0x23, 0xEC, 0x40, 0xCA, + 0x7B, 0xD3, 0xC4, 0x79, 0xC7, 0x07, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, + 0xE0, 0x79, 0x5A, 0x0B, 0xC2, 0xCE, 0x8A, 0x7E, 0x68, 0x00, 0x00, 0x00, 0xEB, 0x00, 0x00, 0x00, + 0x22, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, + 0x2F, 0x61, 0x64, 0x6D, 0x2D, 0x7A, 0x69, 0x70, 0x2F, 0x75, 0x74, 0x69, 0x6C, 0x2F, 0x69, 0x6E, + 0x64, 0x65, 0x78, 0x2E, 0x6A, 0x73, 0x75, 0x8E, 0x3B, 0x0A, 0x80, 0x30, 0x10, 0x05, 0x7B, 0xC1, + 0x3B, 0x88, 0x95, 0x36, 0xF1, 0x00, 0x62, 0x21, 0xA2, 0x17, 0xF0, 0x04, 0x41, 0x57, 0x08, 0xE4, + 0xA3, 0x9B, 0x0D, 0xE8, 0xED, 0x8D, 0x85, 0x42, 0x42, 0x6C, 0x87, 0x37, 0xBC, 0x51, 0x66, 0x75, + 0x12, 0x18, 0x9C, 0xBB, 0x41, 0xB2, 0x45, 0x57, 0x20, 0x1C, 0x4E, 0x20, 0x54, 0x25, 0x6B, 0x1C, + 0x09, 0x69, 0xCB, 0xBA, 0xCD, 0xB3, 0x70, 0xC5, 0x26, 0x21, 0x61, 0xBE, 0x2C, 0x81, 0x0A, 0x85, + 0xED, 0xE3, 0x29, 0x6B, 0x30, 0xDA, 0x12, 0xD7, 0xF1, 0xCB, 0xF2, 0xE2, 0x94, 0x33, 0x22, 0x1A, + 0x8C, 0x04, 0x78, 0xD8, 0x6F, 0x57, 0x4F, 0x84, 0x51, 0x15, 0xF7, 0xC8, 0xCF, 0x6F, 0x50, 0x4B, + 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x0A, 0xFA, 0x8F, 0xA9, + 0xC8, 0x06, 0x00, 0x00, 0xB5, 0x1D, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, + 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x61, 0x64, 0x6D, 0x2D, 0x7A, 0x69, 0x70, + 0x2F, 0x75, 0x74, 0x69, 0x6C, 0x2F, 0x75, 0x74, 0x69, 0x6C, 0x73, 0x2E, 0x6A, 0x73, 0xB5, 0x59, + 0xEB, 0x6E, 0xD3, 0x30, 0x14, 0xFE, 0x8F, 0xC4, 0x3B, 0x98, 0x09, 0x68, 0xB2, 0x76, 0x69, 0xC7, + 0x65, 0x9A, 0x56, 0x3A, 0x34, 0xA0, 0x08, 0x24, 0x04, 0x13, 0x1B, 0x42, 0x68, 0x1A, 0x23, 0x4D, + 0x9D, 0x35, 0x2C, 0x4D, 0x8A, 0xE3, 0xEC, 0x02, 0x94, 0x67, 0xE7, 0x1C, 0x3B, 0x89, 0x93, 0x38, + 0x59, 0xB2, 0xC2, 0xFC, 0xA7, 0x8E, 0x73, 0xAE, 0xDF, 0xB9, 0xD8, 0x4E, 0xCF, 0x6D, 0x46, 0xDC, + 0x88, 0x8C, 0x08, 0xA3, 0x3F, 0x62, 0x8F, 0x51, 0x63, 0xCD, 0xEA, 0xBB, 0x9E, 0x4F, 0x0F, 0xAE, + 0x22, 0x4E, 0xE7, 0x6B, 0xA6, 0x95, 0xAE, 0x9B, 0xBD, 0xBB, 0x77, 0x08, 0x8C, 0x05, 0x9F, 0xE5, + 0xA8, 0x3B, 0x0B, 0x9B, 0xCF, 0x3A, 0xE6, 0xF0, 0xEE, 0x9D, 0xBB, 0x77, 0xDC, 0xC8, 0xA2, 0x97, + 0x5E, 0xC4, 0xA3, 0x83, 0xAB, 0xC0, 0x01, 0x9A, 0xE2, 0xF3, 0xEF, 0xDF, 0xC8, 0x9A, 0x5B, 0x11, + 0x3C, 0xF3, 0x70, 0x1A, 0xFB, 0x14, 0x56, 0x17, 0x21, 0xE3, 0x68, 0x86, 0xE1, 0xC6, 0x81, 0xC3, + 0xBD, 0x30, 0x30, 0x4C, 0xF2, 0x0B, 0x28, 0x84, 0x4E, 0x34, 0xD2, 0x61, 0xCE, 0xA1, 0x3D, 0xF1, + 0x29, 0xD0, 0x1C, 0x1D, 0xA3, 0x2D, 0xC9, 0x78, 0x19, 0x06, 0x11, 0xB7, 0x03, 0x64, 0x56, 0x56, + 0x59, 0x7D, 0x27, 0x5D, 0xEE, 0x98, 0x39, 0xE2, 0x31, 0x63, 0x21, 0x2B, 0x51, 0x52, 0x5C, 0x93, + 0x64, 0x8A, 0x70, 0x7F, 0xEF, 0xF0, 0xCD, 0xC9, 0xC1, 0x78, 0x7F, 0xEF, 0xE3, 0xDE, 0xE1, 0x87, + 0x8F, 0xC0, 0x80, 0xB6, 0x47, 0x74, 0x01, 0x46, 0xA7, 0x64, 0xA9, 0xA1, 0x64, 0x7E, 0x36, 0xF5, + 0x18, 0x7A, 0x64, 0xF4, 0xD7, 0x0F, 0x38, 0xF3, 0x82, 0xD3, 0xF5, 0x3E, 0xC2, 0x02, 0x0E, 0x48, + 0xCA, 0xC4, 0x05, 0x50, 0x1A, 0x85, 0xFE, 0x39, 0x9D, 0xEE, 0xC3, 0x4B, 0x14, 0x69, 0xA3, 0xCC, + 0x85, 0xEF, 0x71, 0xA3, 0xA8, 0xCE, 0x3C, 0x1A, 0x1C, 0x0F, 0x33, 0xD6, 0x6B, 0xE8, 0x2C, 0x37, + 0x64, 0x63, 0xDB, 0x99, 0x29, 0xD0, 0x02, 0x7B, 0x4E, 0x13, 0xBD, 0x6A, 0x78, 0x2E, 0x31, 0xEE, + 0xE1, 0x1B, 0x0C, 0x02, 0xFE, 0x5A, 0x51, 0x3C, 0x89, 0x38, 0x33, 0x36, 0x36, 0x7B, 0x9B, 0x26, + 0x19, 0x8D, 0x46, 0x64, 0x6D, 0x67, 0xCD, 0x04, 0xFB, 0x78, 0xCC, 0x82, 0x61, 0x81, 0xB9, 0x68, + 0x74, 0x77, 0x54, 0x46, 0xA6, 0x2B, 0x04, 0x66, 0x3C, 0xCA, 0x59, 0x40, 0x9F, 0x97, 0x96, 0x39, + 0xBB, 0xCA, 0x4C, 0x53, 0x43, 0x50, 0xCA, 0x74, 0xC1, 0x99, 0x00, 0x32, 0xAF, 0xD4, 0x2C, 0x49, + 0x59, 0x12, 0xC7, 0xE6, 0xCE, 0x8C, 0x18, 0x89, 0xA3, 0xC5, 0x81, 0x62, 0x44, 0x40, 0x9A, 0xE5, + 0xE8, 0x20, 0x09, 0x4B, 0x1E, 0x3E, 0x14, 0x16, 0x59, 0x5E, 0xF4, 0xDA, 0xF3, 0x21, 0xEF, 0x4D, + 0x5D, 0x07, 0x9F, 0xB1, 0xF0, 0x22, 0x49, 0x26, 0xEB, 0xF5, 0xDB, 0x77, 0xE3, 0x93, 0xB7, 0xEF, + 0x4F, 0x0E, 0xDF, 0x8C, 0x4F, 0x3E, 0xEF, 0x7D, 0x81, 0x82, 0x59, 0xF8, 0xB6, 0x03, 0x85, 0xF4, + 0x20, 0x5A, 0xEB, 0x91, 0x3A, 0x0B, 0x96, 0xE9, 0xC3, 0x52, 0xCB, 0x27, 0xD7, 0x0B, 0xA6, 0xA5, + 0x74, 0x02, 0x7F, 0x7A, 0xA4, 0xBF, 0xFE, 0x91, 0x9E, 0x8E, 0x2F, 0x17, 0x22, 0xBB, 0x38, 0x65, + 0x01, 0x2E, 0xBD, 0x08, 0x43, 0x9F, 0xDA, 0xC1, 0x7A, 0x9F, 0x51, 0x27, 0x8C, 0x59, 0xE4, 0x9D, + 0xA7, 0xB0, 0x28, 0xB7, 0xF8, 0xD5, 0x82, 0x86, 0x2E, 0x49, 0xB8, 0x44, 0xBC, 0x3B, 0x13, 0xC9, + 0xD7, 0xD1, 0x30, 0x54, 0x72, 0xC8, 0x28, 0x65, 0x29, 0x22, 0xA7, 0x04, 0x91, 0x38, 0x98, 0x52, + 0x30, 0x97, 0x4E, 0xF3, 0x9E, 0x15, 0x93, 0x1E, 0x9B, 0x49, 0x24, 0x8A, 0x16, 0x69, 0x54, 0x90, + 0x18, 0xB5, 0xA7, 0x69, 0x98, 0xE0, 0xB7, 0x22, 0x97, 0x91, 0x53, 0x99, 0xA7, 0x44, 0x8A, 0x82, + 0x48, 0x4A, 0xF2, 0x7B, 0xE8, 0x05, 0xC8, 0xDE, 0x13, 0x7A, 0x10, 0x53, 0x3D, 0xAA, 0xF9, 0xC4, + 0x12, 0x75, 0x09, 0xA1, 0x7D, 0xE5, 0x81, 0x9F, 0x3C, 0x64, 0x57, 0x86, 0x89, 0x01, 0x57, 0x4E, + 0xEB, 0xD1, 0x4E, 0x3D, 0x90, 0xBF, 0x16, 0x34, 0x16, 0xC8, 0x3F, 0x03, 0x83, 0x94, 0x49, 0xEC, + 0x91, 0x34, 0x22, 0x79, 0x49, 0xD5, 0xD6, 0xDC, 0x4B, 0x48, 0xB1, 0x16, 0x93, 0xA9, 0xC5, 0x69, + 0xC4, 0xA5, 0x69, 0x55, 0x29, 0x9D, 0x28, 0x5E, 0xC4, 0xD1, 0xCC, 0x40, 0x9F, 0x83, 0x90, 0xCD, + 0x6D, 0xDF, 0xFB, 0x49, 0x25, 0x0B, 0xE9, 0x36, 0xBB, 0xF8, 0xBC, 0x5C, 0xB6, 0x3B, 0x64, 0x6D, + 0xCD, 0xAC, 0xA8, 0x88, 0x72, 0x82, 0xCA, 0x91, 0x74, 0x06, 0x69, 0x48, 0x6D, 0xDE, 0x62, 0x44, + 0x5F, 0x78, 0xA7, 0x9F, 0xDE, 0x06, 0x7C, 0xEB, 0xC9, 0xBB, 0xB1, 0x01, 0xC9, 0x19, 0xBB, 0x2E, + 0x65, 0xEB, 0xFD, 0x09, 0xFE, 0x8A, 0x0C, 0xF6, 0x02, 0xBE, 0xDE, 0x07, 0xE8, 0xE8, 0xA5, 0xD6, + 0x1D, 0x23, 0xDF, 0x73, 0x30, 0xE7, 0x24, 0x93, 0xE5, 0xB2, 0x70, 0x6E, 0x4C, 0xE4, 0x5C, 0xBC, + 0x32, 0x04, 0x5B, 0x8F, 0x88, 0x1F, 0x70, 0x7A, 0x3B, 0x6F, 0xBF, 0xE4, 0xB6, 0xA2, 0x0B, 0x7B, + 0xB1, 0xF5, 0xC4, 0xC0, 0x17, 0x9A, 0xF1, 0x0B, 0x9B, 0x45, 0x14, 0x6C, 0x33, 0xBE, 0x0D, 0x2E, + 0xEF, 0xFF, 0x4A, 0x18, 0x78, 0x28, 0x4B, 0xCC, 0xE8, 0xCC, 0xE8, 0x25, 0x14, 0xC3, 0xF2, 0x5B, + 0xA1, 0x2E, 0x15, 0x7B, 0xDE, 0xDA, 0xB9, 0x7D, 0x46, 0x01, 0x5D, 0xB2, 0x93, 0xF9, 0x5E, 0xDD, + 0xF9, 0xD5, 0x50, 0x1D, 0x69, 0x51, 0xEE, 0x03, 0xF9, 0x6D, 0x07, 0x37, 0xB9, 0xC7, 0x8F, 0x72, + 0x72, 0x11, 0x00, 0x25, 0x4C, 0x2F, 0x69, 0x78, 0x2D, 0xCB, 0x39, 0x12, 0xDA, 0x3B, 0x55, 0xE9, + 0x83, 0x44, 0x0A, 0x56, 0xDB, 0xF7, 0x43, 0x07, 0xC5, 0x5A, 0x3E, 0x0D, 0x4E, 0x31, 0x75, 0x61, + 0xAE, 0x25, 0x82, 0x5E, 0x73, 0x93, 0xB2, 0x88, 0x27, 0xC0, 0xA4, 0x27, 0x77, 0xBA, 0x4B, 0x27, + 0xD2, 0x2B, 0xED, 0x81, 0x42, 0x27, 0x06, 0xCA, 0xC4, 0x0E, 0x32, 0x18, 0xC2, 0xCF, 0x33, 0xF2, + 0xE8, 0xE9, 0x16, 0x4C, 0xBA, 0xDD, 0x4A, 0x86, 0xEC, 0x08, 0x00, 0xF4, 0x69, 0x2F, 0xAA, 0x15, + 0x7A, 0x06, 0x44, 0xDB, 0x43, 0xB2, 0xB1, 0x71, 0x46, 0x76, 0x51, 0xBC, 0x49, 0x48, 0xBF, 0x5F, + 0xE4, 0x29, 0x5B, 0x6D, 0x38, 0xE4, 0x21, 0x81, 0x8D, 0xF0, 0xDE, 0x08, 0x18, 0x80, 0xFE, 0x97, + 0xD0, 0x34, 0xB8, 0xA4, 0xD3, 0xC9, 0xF6, 0xF6, 0xE3, 0x47, 0x03, 0xF2, 0x95, 0x00, 0xC9, 0xEE, + 0xEE, 0x2E, 0x10, 0x0D, 0x61, 0xFF, 0xA1, 0x7E, 0x44, 0x13, 0xA2, 0x64, 0x79, 0xA8, 0x20, 0xD3, + 0xC5, 0x3B, 0xE0, 0xDF, 0xA0, 0xE0, 0x98, 0x16, 0x21, 0xEB, 0x82, 0x79, 0x1C, 0x93, 0xF3, 0xF1, + 0x23, 0x28, 0x1C, 0xA7, 0x07, 0xF4, 0xC3, 0x5A, 0x72, 0xA1, 0x78, 0x22, 0x1A, 0xE8, 0xA7, 0x94, + 0xA5, 0x8E, 0xBE, 0xCE, 0xAE, 0x34, 0x4E, 0x47, 0xC1, 0x31, 0x7A, 0x51, 0xC1, 0xBC, 0x6C, 0x4C, + 0x09, 0x90, 0x81, 0x30, 0xF5, 0x48, 0xE8, 0xBA, 0x72, 0x02, 0x41, 0x87, 0x49, 0x3E, 0xB9, 0x9C, + 0x4D, 0x58, 0xF8, 0x03, 0x94, 0x25, 0x0D, 0x17, 0x33, 0xDC, 0x5B, 0x37, 0x36, 0x90, 0x63, 0x17, + 0x51, 0x17, 0x94, 0xCA, 0x2C, 0x03, 0x1E, 0xBF, 0xA2, 0xA4, 0x23, 0x10, 0xDE, 0xED, 0x1E, 0x43, + 0x97, 0x86, 0x80, 0xB8, 0xEE, 0xB1, 0x88, 0xC5, 0xA6, 0x40, 0x7D, 0xBB, 0xE4, 0x33, 0x72, 0x0B, + 0x6D, 0x9B, 0xB0, 0x7E, 0x0D, 0xBC, 0x40, 0x26, 0xA5, 0x25, 0xA3, 0x84, 0xB6, 0xAA, 0x79, 0x0D, + 0xE4, 0xFA, 0xC2, 0x9D, 0x53, 0x3E, 0x0B, 0xA7, 0x87, 0x49, 0x37, 0x29, 0x76, 0x86, 0xF7, 0xF1, + 0x7C, 0x82, 0x5D, 0x50, 0xD2, 0x68, 0x89, 0x10, 0x5D, 0x78, 0xE2, 0x38, 0xA3, 0xBF, 0x56, 0x8E, + 0xD9, 0x11, 0x55, 0x07, 0x5D, 0xEB, 0x00, 0x3A, 0xF8, 0xF8, 0xD5, 0x8E, 0xA2, 0xAB, 0x30, 0xBD, + 0x23, 0x89, 0x88, 0xD1, 0x21, 0xDD, 0xC4, 0x3A, 0x98, 0x74, 0xCC, 0xCE, 0xB0, 0x51, 0xFC, 0xAB, + 0xF1, 0xEB, 0x77, 0x7B, 0x87, 0x8D, 0x0A, 0x24, 0x59, 0x4B, 0x15, 0x70, 0x4C, 0xB0, 0x63, 0x9F, + 0x37, 0x88, 0xFC, 0xF4, 0xFE, 0xE0, 0xD3, 0xFE, 0xFE, 0x87, 0x8F, 0x6D, 0xA4, 0x42, 0x42, 0xD6, + 0x05, 0x43, 0x44, 0x1B, 0x0F, 0x6F, 0x87, 0x61, 0x7D, 0x8F, 0xEE, 0x11, 0xB5, 0x3F, 0xC1, 0x9E, + 0xCE, 0x69, 0xC0, 0x0B, 0xE7, 0xA9, 0xF0, 0x9C, 0x32, 0x21, 0x08, 0x56, 0xB3, 0x10, 0xC2, 0x7E, + 0xCD, 0x2A, 0xFB, 0x71, 0xE1, 0xAE, 0x53, 0xDA, 0xCA, 0xB5, 0x26, 0x99, 0x89, 0x36, 0xAF, 0x85, + 0xC3, 0xB5, 0xA1, 0xCF, 0x0C, 0xA1, 0x7B, 0x41, 0x80, 0x82, 0x20, 0xE4, 0x24, 0xE3, 0x4B, 0x9D, + 0x2D, 0x55, 0x64, 0xF9, 0x24, 0xAD, 0xEF, 0x37, 0xFA, 0x71, 0xB7, 0x70, 0x50, 0x40, 0x9B, 0x5B, + 0x98, 0xB4, 0x4A, 0xB3, 0x70, 0x43, 0x7F, 0x4A, 0x59, 0x72, 0x6A, 0x83, 0xCD, 0x10, 0x6F, 0x0D, + 0x99, 0x71, 0x1A, 0x42, 0x45, 0x38, 0x25, 0xAF, 0x32, 0x4E, 0xDB, 0x59, 0xF3, 0x54, 0xD7, 0xA4, + 0x89, 0x32, 0x66, 0xDA, 0xEE, 0x66, 0xE2, 0x4E, 0x25, 0x9A, 0xE1, 0x82, 0x06, 0xB9, 0xC3, 0x5E, + 0xE7, 0xA2, 0xD3, 0x23, 0x4F, 0x1E, 0x6F, 0x9B, 0x22, 0x38, 0x83, 0xAD, 0xAD, 0xAD, 0xCA, 0x1B, + 0x4A, 0xFD, 0x05, 0xC5, 0x99, 0xC1, 0xBD, 0x37, 0x13, 0x98, 0xC8, 0x5A, 0x41, 0x7D, 0xE3, 0x85, + 0xC6, 0x55, 0xFD, 0xA4, 0x85, 0xBB, 0x89, 0x75, 0x22, 0xC5, 0x24, 0xA4, 0xD3, 0x1E, 0xC9, 0x6A, + 0x63, 0x90, 0xCD, 0xB3, 0xEE, 0x3E, 0x30, 0x9B, 0x73, 0x01, 0x86, 0xBA, 0xB0, 0x25, 0x4A, 0xAB, + 0xEF, 0x53, 0x2D, 0x12, 0x4B, 0x9E, 0x86, 0x03, 0x38, 0x81, 0x5C, 0xE7, 0x80, 0xE3, 0x87, 0x51, + 0xEA, 0x40, 0x0B, 0x0B, 0xE1, 0xB1, 0x21, 0x3E, 0x58, 0xF6, 0x70, 0x5E, 0xCF, 0x40, 0xD7, 0x0B, + 0x83, 0xB3, 0x98, 0x0E, 0x5B, 0xF4, 0xA3, 0xBD, 0x08, 0xA4, 0xDE, 0x42, 0x53, 0xC2, 0xE7, 0xD7, + 0x89, 0x4C, 0x60, 0x05, 0x80, 0x26, 0xB6, 0x73, 0x56, 0xD1, 0xAA, 0xD2, 0x93, 0x23, 0x32, 0xC9, + 0xA3, 0x63, 0x6A, 0x4A, 0xF5, 0xE1, 0x31, 0x15, 0x45, 0x46, 0x82, 0x45, 0x47, 0x53, 0x2C, 0xE7, + 0xAF, 0x82, 0x4D, 0x05, 0x98, 0xD5, 0xB6, 0x04, 0x57, 0x41, 0x21, 0x57, 0x6B, 0xDA, 0x66, 0xF2, + 0x16, 0x2F, 0x6B, 0x6D, 0xFB, 0x67, 0x6A, 0xBA, 0x81, 0x5D, 0x2B, 0xBD, 0x1B, 0x16, 0x47, 0xDA, + 0x2A, 0x35, 0x53, 0x18, 0x20, 0x8A, 0x2F, 0x32, 0x6B, 0xAE, 0xB3, 0xE8, 0x06, 0x7D, 0xF4, 0x1A, + 0xF3, 0x14, 0x43, 0x2D, 0x7C, 0x2B, 0x37, 0x55, 0x1D, 0x7B, 0xC9, 0xDA, 0x0E, 0xFD, 0x9C, 0xCF, + 0xF7, 0x12, 0xB2, 0x22, 0x51, 0x9B, 0xA6, 0x5C, 0xCB, 0x91, 0x76, 0xB8, 0x52, 0x77, 0x2B, 0x47, + 0x23, 0xD7, 0xCA, 0xEA, 0xED, 0x43, 0xD2, 0x46, 0xB2, 0x7C, 0x91, 0x0B, 0xA5, 0x65, 0x7D, 0xAD, + 0x24, 0xFC, 0x57, 0xCB, 0xAB, 0x3A, 0x70, 0x73, 0xF7, 0x5D, 0xC5, 0xE4, 0x52, 0x9B, 0x44, 0x2D, + 0xFF, 0x22, 0xA6, 0x8C, 0xA5, 0x6A, 0x96, 0xAB, 0x62, 0x5A, 0x1A, 0xAA, 0x4C, 0xB0, 0xC5, 0x9A, + 0xC3, 0x9B, 0x0B, 0x59, 0x9A, 0x37, 0xE3, 0x59, 0xDE, 0x44, 0x49, 0x6B, 0xE2, 0x56, 0x84, 0x0D, + 0xA6, 0x26, 0x57, 0xCF, 0x36, 0x48, 0x42, 0x29, 0xDC, 0x20, 0xED, 0x6E, 0x3F, 0xE5, 0xFE, 0x53, + 0xBA, 0xDD, 0x5E, 0xAA, 0xFD, 0x53, 0x9A, 0x2D, 0x6F, 0x90, 0x62, 0xAD, 0x12, 0xA1, 0x35, 0x61, + 0xFB, 0x8C, 0xB8, 0x1D, 0xF8, 0x56, 0x82, 0xAD, 0x0D, 0x5C, 0xB0, 0xEF, 0xAD, 0xF8, 0x5A, 0xE0, + 0xD6, 0x56, 0x6D, 0xBA, 0xA6, 0x9E, 0x6B, 0x0E, 0x71, 0xE2, 0xAB, 0x3C, 0x9E, 0xE1, 0xA2, 0x1B, + 0x7C, 0xF6, 0x4B, 0x76, 0xFA, 0xD2, 0xB7, 0x62, 0x09, 0x55, 0x9D, 0x9E, 0x53, 0xCA, 0xF7, 0x38, + 0x08, 0x9D, 0xC4, 0xBC, 0x51, 0x57, 0x9D, 0x8C, 0xE8, 0x3F, 0xC8, 0xE0, 0xA1, 0x3C, 0x88, 0xE6, + 0xD9, 0xBD, 0x60, 0x11, 0xF3, 0xCA, 0xFB, 0xAF, 0xA4, 0x85, 0x43, 0x90, 0x9C, 0x24, 0x94, 0x8A, + 0x54, 0x07, 0x45, 0x50, 0x00, 0x0A, 0xED, 0xB2, 0x19, 0x75, 0x20, 0x47, 0xDA, 0x8A, 0xC4, 0xD1, + 0x75, 0xD0, 0x70, 0x5D, 0x2D, 0x7E, 0xB0, 0x1C, 0x98, 0x8D, 0x37, 0x01, 0xC5, 0x9A, 0xFF, 0x0A, + 0x2D, 0x15, 0xC3, 0xFE, 0x1E, 0x73, 0x77, 0xBB, 0xA3, 0xDD, 0xBA, 0x6A, 0x00, 0x2C, 0x7F, 0x0E, + 0x17, 0xEF, 0xF4, 0x3F, 0x2D, 0x77, 0xD4, 0x5C, 0xFF, 0x9F, 0x72, 0x27, 0x99, 0x64, 0x5F, 0xA4, + 0x97, 0xA6, 0xF8, 0xB6, 0xFD, 0x17, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, + 0xE0, 0x79, 0x5A, 0x0B, 0xA0, 0xAF, 0x0F, 0xED, 0x40, 0x0A, 0x00, 0x00, 0x78, 0x2E, 0x00, 0x00, + 0x20, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, + 0x2F, 0x61, 0x64, 0x6D, 0x2D, 0x7A, 0x69, 0x70, 0x2F, 0x7A, 0x69, 0x70, 0x45, 0x6E, 0x74, 0x72, + 0x79, 0x2E, 0x6A, 0x73, 0xAD, 0x1A, 0x69, 0xAF, 0xD2, 0x40, 0xF0, 0xB3, 0x26, 0xFE, 0x87, 0x95, + 0x18, 0x69, 0x15, 0x8B, 0x57, 0xBC, 0x10, 0x2F, 0xC0, 0x68, 0x54, 0x30, 0xCF, 0x67, 0x8C, 0x57, + 0x5E, 0x0A, 0x5D, 0x1E, 0x8D, 0xA5, 0xAD, 0xED, 0x22, 0xA2, 0xF2, 0xDF, 0x9D, 0xBD, 0xBA, 0xDD, + 0x6E, 0x2F, 0x9E, 0xD6, 0xC4, 0x57, 0xB6, 0x73, 0xCF, 0xEC, 0xCC, 0xEC, 0xB4, 0x3F, 0xDC, 0x04, + 0xBD, 0x27, 0x7E, 0x90, 0xA2, 0x21, 0x4A, 0xF0, 0xF7, 0x8D, 0x9F, 0x60, 0xAB, 0xE3, 0xF4, 0x37, + 0xB0, 0xD4, 0xB1, 0x7B, 0x17, 0xCE, 0x23, 0xB8, 0x5E, 0x60, 0xD7, 0xC3, 0x49, 0x01, 0x62, 0xC5, + 0x17, 0x33, 0xA0, 0x51, 0x14, 0xA6, 0xC4, 0x0D, 0x09, 0x80, 0x71, 0x82, 0x4E, 0xB6, 0x22, 0x20, + 0xDE, 0x60, 0xB2, 0x8A, 0xBC, 0x02, 0x99, 0x35, 0x5B, 0x04, 0x32, 0x83, 0x0B, 0xE7, 0x2F, 0x9C, + 0x5F, 0x47, 0xDE, 0x26, 0xC0, 0x0E, 0xFE, 0x19, 0x47, 0x09, 0xA3, 0xB4, 0xDC, 0x84, 0x0B, 0xE2, + 0x47, 0x21, 0xB2, 0xFA, 0x57, 0x9E, 0x6D, 0x96, 0x4B, 0x9C, 0x5C, 0xE9, 0xFB, 0x61, 0xBC, 0x21, + 0x36, 0xFA, 0x0D, 0x08, 0x8C, 0x2E, 0x55, 0xE1, 0x04, 0x87, 0x24, 0xD9, 0x71, 0x41, 0x01, 0x2D, + 0xC4, 0x5B, 0x29, 0xB5, 0x33, 0x51, 0x4F, 0x2C, 0x26, 0x2C, 0xBF, 0x04, 0xCA, 0xD4, 0x5D, 0x63, + 0x40, 0xE0, 0xB4, 0x1D, 0x37, 0x08, 0xA2, 0x85, 0x75, 0x5D, 0x03, 0x5B, 0x44, 0xEB, 0x35, 0x80, + 0xD6, 0x03, 0xF9, 0xE9, 0x18, 0x14, 0x5A, 0x90, 0x28, 0xD9, 0x51, 0xA9, 0xDD, 0x20, 0xC5, 0xB9, + 0xC7, 0x9B, 0x10, 0x88, 0xC4, 0x09, 0x4E, 0x53, 0xEC, 0x8D, 0x5D, 0xE2, 0x52, 0x09, 0x37, 0x41, + 0xA0, 0x09, 0xF3, 0x93, 0x24, 0xAE, 0xC9, 0x63, 0x20, 0x94, 0x54, 0x86, 0x38, 0xC5, 0x64, 0xA4, + 0x11, 0x7B, 0x9E, 0x44, 0xEB, 0x4F, 0x7E, 0x6C, 0x81, 0x45, 0x14, 0x3D, 0x7F, 0x89, 0xAC, 0x8B, + 0xCC, 0x50, 0xE8, 0xCF, 0x1F, 0x74, 0x51, 0x50, 0xF5, 0x53, 0x7E, 0x63, 0x71, 0x13, 0x0A, 0x0C, + 0x75, 0x25, 0x98, 0x6C, 0x92, 0xD0, 0x90, 0x41, 0x01, 0xED, 0xB3, 0x5B, 0xCD, 0xE2, 0x4E, 0x10, + 0xB9, 0x4C, 0x16, 0xFE, 0x93, 0x4A, 0xF4, 0xCC, 0x0F, 0xDD, 0x64, 0xC7, 0x19, 0x65, 0x14, 0x14, + 0x0B, 0xB6, 0xEE, 0xA4, 0x81, 0xBF, 0xC0, 0x96, 0x46, 0x29, 0xC1, 0x6E, 0x40, 0x29, 0xCD, 0x96, + 0xCB, 0x14, 0x93, 0x1E, 0xAA, 0x79, 0x88, 0xAE, 0xEA, 0x4F, 0x95, 0x8D, 0xDF, 0xF9, 0xBF, 0xB0, + 0xCD, 0x79, 0xEE, 0x0D, 0x03, 0x2E, 0x92, 0xC5, 0xAD, 0x9B, 0xB3, 0x57, 0x96, 0x07, 0x84, 0x34, + 0x0B, 0xF4, 0xFB, 0xD4, 0x6C, 0x73, 0x9F, 0xA0, 0x5B, 0xC8, 0xBA, 0xFE, 0xF3, 0xFA, 0x3D, 0x1B, + 0x45, 0x4B, 0x44, 0x56, 0x18, 0x6C, 0x1E, 0xE2, 0xC4, 0x0D, 0xAE, 0xC5, 0x9B, 0x24, 0x8E, 0x52, + 0x8C, 0x96, 0x81, 0x7B, 0x9A, 0xA2, 0xA5, 0x8F, 0x03, 0x0F, 0xF9, 0x29, 0xA2, 0x82, 0x52, 0xB8, + 0x90, 0x01, 0x8F, 0x8E, 0x46, 0xD7, 0x6E, 0xDD, 0x44, 0x6E, 0xE8, 0x01, 0x44, 0x80, 0x51, 0x0A, + 0xC2, 0xA4, 0xC8, 0x4D, 0x30, 0x0A, 0x23, 0x82, 0xBE, 0x85, 0xD1, 0x36, 0x44, 0x5B, 0x09, 0xCC, + 0x77, 0x11, 0x25, 0xB2, 0x4D, 0x7C, 0x42, 0x70, 0xA8, 0xBB, 0x50, 0xB7, 0x0D, 0x67, 0x7B, 0x19, + 0x5D, 0xFF, 0x09, 0xA2, 0x5D, 0x1C, 0x0E, 0xE9, 0x8D, 0xD2, 0x40, 0x61, 0xF1, 0xED, 0xC7, 0xF4, + 0x64, 0x5A, 0x72, 0x60, 0x8D, 0x94, 0x97, 0x39, 0x8B, 0xC2, 0x15, 0x89, 0x28, 0x47, 0xF1, 0x50, + 0x16, 0xFE, 0x33, 0x83, 0x60, 0x8F, 0x30, 0x3C, 0xCE, 0xB0, 0x95, 0x21, 0x9F, 0x1C, 0xCF, 0xC6, + 0xB3, 0x07, 0x88, 0xC6, 0x05, 0xB3, 0xC4, 0x62, 0x85, 0x17, 0xDF, 0x10, 0xE5, 0x8A, 0x3C, 0x9C, + 0x2E, 0x12, 0x3F, 0x86, 0xAD, 0x22, 0xB4, 0x37, 0x90, 0x8F, 0x57, 0x98, 0x1B, 0x37, 0x45, 0x3E, + 0x37, 0x13, 0x04, 0xA2, 0x1B, 0x08, 0x70, 0x6A, 0x4A, 0x6A, 0xD9, 0x00, 0x7B, 0x68, 0xEB, 0x93, + 0x15, 0xFA, 0x85, 0x93, 0xA8, 0x47, 0xB9, 0x14, 0xCC, 0xCF, 0x2C, 0xCF, 0xA0, 0xDD, 0x38, 0xC6, + 0xA1, 0x07, 0xF0, 0x40, 0xCE, 0x45, 0x37, 0x6E, 0x5E, 0x9B, 0xEF, 0x08, 0x38, 0x86, 0x24, 0x9B, + 0x05, 0x28, 0x89, 0x0D, 0x01, 0xAC, 0x28, 0xA6, 0xA1, 0x02, 0x1B, 0x60, 0x87, 0x62, 0xD8, 0xD6, + 0x98, 0xE2, 0xCE, 0x77, 0x80, 0x7B, 0x5B, 0xA0, 0xFA, 0xA7, 0xA1, 0x4B, 0x51, 0x6D, 0xE4, 0x43, + 0x76, 0xF0, 0x7C, 0x97, 0xE0, 0x00, 0x9E, 0x2F, 0x09, 0x4E, 0x98, 0x14, 0x2A, 0x16, 0x99, 0xD2, + 0x0F, 0xCC, 0x2D, 0xA4, 0x4C, 0x0C, 0x62, 0xE0, 0x41, 0x55, 0xB4, 0x7A, 0x58, 0x92, 0xA2, 0x19, + 0x30, 0x8A, 0x02, 0xEC, 0x86, 0x57, 0xFA, 0x6E, 0xBA, 0x0B, 0x17, 0x3D, 0xD4, 0xBF, 0xF2, 0x9C, + 0xC3, 0xC1, 0xD2, 0x02, 0xA4, 0x9D, 0xBB, 0x8B, 0x6F, 0x74, 0xF5, 0x1D, 0x49, 0xFC, 0xF0, 0xB4, + 0x87, 0x64, 0xC6, 0x8C, 0xDD, 0x34, 0x2D, 0xA4, 0x07, 0x8B, 0xEC, 0x62, 0x0C, 0xE1, 0x2D, 0xD1, + 0xD0, 0x10, 0x42, 0xA4, 0xBB, 0x01, 0x2B, 0x2D, 0xFD, 0x10, 0x7B, 0x5D, 0x74, 0xF9, 0x32, 0x12, + 0x20, 0x8C, 0x19, 0x7F, 0x9E, 0x32, 0xC2, 0x5D, 0x23, 0x5E, 0x28, 0x83, 0x21, 0x83, 0xD3, 0x43, + 0x85, 0xE3, 0x0E, 0x7F, 0x44, 0xBE, 0x87, 0xAE, 0x17, 0xF3, 0x88, 0x0A, 0xD8, 0x7C, 0xFA, 0xCC, + 0x68, 0xE7, 0x01, 0x18, 0x19, 0x10, 0x29, 0x13, 0xB7, 0x2C, 0x62, 0xB3, 0x87, 0x56, 0x31, 0x51, + 0x8B, 0x82, 0x34, 0x49, 0x92, 0x08, 0x0A, 0xC2, 0xF8, 0xE5, 0xD1, 0x64, 0x74, 0x3C, 0x3B, 0xFA, + 0x78, 0x32, 0x9A, 0x4D, 0x8F, 0x27, 0xD3, 0xE3, 0x93, 0xC9, 0xD1, 0xD1, 0xEC, 0xC8, 0x1E, 0x80, + 0xEB, 0x53, 0x1F, 0xB9, 0x1E, 0xF5, 0x36, 0xA6, 0xB0, 0x8E, 0xCE, 0x63, 0x7F, 0x78, 0xB6, 0xE4, + 0x3F, 0x64, 0x95, 0x2A, 0x56, 0x81, 0xEA, 0x64, 0x4E, 0xC9, 0xE8, 0x36, 0xD2, 0x71, 0x9D, 0x00, + 0x87, 0xA7, 0x64, 0xC5, 0xBC, 0x72, 0xDD, 0x2E, 0xD9, 0x80, 0xCF, 0x21, 0xF5, 0xD0, 0xB4, 0x82, + 0xD7, 0x31, 0xD9, 0xF5, 0x68, 0xEA, 0x59, 0x81, 0xE7, 0x10, 0x89, 0x72, 0x11, 0xE5, 0xB4, 0x32, + 0xB4, 0xBC, 0x2B, 0x48, 0xC0, 0x14, 0x35, 0xAD, 0xA1, 0x03, 0x19, 0xC6, 0x50, 0xAC, 0xF4, 0xD4, + 0x86, 0x43, 0x96, 0x13, 0xB0, 0x67, 0x97, 0x78, 0x5F, 0x86, 0x1D, 0x4D, 0x63, 0x22, 0x28, 0x59, + 0xC4, 0x81, 0x9C, 0x66, 0x69, 0x63, 0xB1, 0xAE, 0xA8, 0xA8, 0x8B, 0xAC, 0x92, 0x68, 0xCB, 0x3A, + 0x03, 0x16, 0x07, 0x56, 0xF7, 0xE9, 0xF8, 0xCD, 0xB5, 0x4F, 0x2F, 0xDF, 0x3E, 0x40, 0x2F, 0x59, + 0x79, 0x76, 0x89, 0x3F, 0x0F, 0x30, 0x23, 0xBC, 0x8D, 0x12, 0x0F, 0x6E, 0x12, 0xE8, 0x0D, 0x60, + 0x43, 0x77, 0xED, 0x41, 0x5D, 0x1C, 0x18, 0x5E, 0x95, 0x8D, 0x8E, 0x03, 0x8E, 0x1C, 0x25, 0x3B, + 0xC8, 0x74, 0x0E, 0xD8, 0x9C, 0xDE, 0x14, 0x4C, 0xA8, 0x57, 0xB7, 0x1E, 0x63, 0x5D, 0x17, 0x3F, + 0x34, 0x95, 0x14, 0x7B, 0x04, 0xDD, 0x8C, 0x34, 0xE3, 0xE9, 0xA1, 0x93, 0x42, 0x8A, 0x5C, 0xAC, + 0x0A, 0xD6, 0xE6, 0x4D, 0x97, 0x11, 0x36, 0x0B, 0x37, 0xC5, 0xC5, 0xDE, 0xCD, 0x79, 0x07, 0x3B, + 0x65, 0x32, 0x16, 0x09, 0xAC, 0x5A, 0x6D, 0xA8, 0xBE, 0xF1, 0xCE, 0xF2, 0xCC, 0xC0, 0x50, 0xED, + 0x88, 0x56, 0x78, 0x35, 0xE6, 0x87, 0x44, 0x21, 0xC5, 0x2E, 0x6C, 0xE8, 0x67, 0x4F, 0xC7, 0x27, + 0x90, 0xF6, 0xED, 0x41, 0x71, 0xFF, 0x72, 0x0E, 0x4D, 0x81, 0x50, 0x4E, 0x4B, 0xE1, 0x16, 0x8B, + 0x5D, 0x8E, 0x0B, 0xEC, 0x2A, 0x9C, 0x6C, 0x7D, 0x58, 0xF5, 0x7C, 0x8F, 0xD5, 0xF7, 0x14, 0xE3, + 0x35, 0xEC, 0x32, 0xB9, 0x1D, 0xA8, 0xB4, 0xCE, 0xD9, 0x15, 0x65, 0x62, 0x98, 0x57, 0x9E, 0x7A, + 0x99, 0xA0, 0x2D, 0xDC, 0x3A, 0x9E, 0x3C, 0x7F, 0xFD, 0xF4, 0xB8, 0xE0, 0x58, 0x15, 0x69, 0x7E, + 0x08, 0xCD, 0x06, 0x91, 0xBD, 0x74, 0x16, 0xD1, 0x2F, 0xC5, 0x72, 0x3E, 0x90, 0xEB, 0x5C, 0xCE, + 0xF4, 0xCB, 0x5C, 0x5D, 0xC6, 0x08, 0x88, 0x6C, 0x02, 0x68, 0xAE, 0x33, 0x8E, 0x8E, 0xB8, 0xA9, + 0xD3, 0x5F, 0x60, 0xA9, 0x98, 0xEB, 0xA1, 0x2C, 0xF1, 0xFE, 0x43, 0xE8, 0xB5, 0x0D, 0x0E, 0x68, + 0x3C, 0x3B, 0xF0, 0xEF, 0x6A, 0xEE, 0x08, 0xE1, 0x90, 0x88, 0x17, 0x5D, 0xCB, 0xAE, 0x12, 0x64, + 0x7F, 0x26, 0x57, 0xAA, 0x06, 0xCB, 0xBC, 0x0C, 0x9B, 0x3D, 0xA5, 0xE6, 0xB6, 0x64, 0xEF, 0x60, + 0x71, 0x2B, 0x65, 0xEA, 0xFE, 0xA3, 0x21, 0xCF, 0x60, 0x4C, 0x89, 0x72, 0xE0, 0x36, 0x46, 0xED, + 0xF6, 0x71, 0xDE, 0x3E, 0xE8, 0x3F, 0x6D, 0xCA, 0x16, 0x52, 0x4B, 0xFB, 0x1C, 0xE0, 0xE3, 0xBD, + 0xDD, 0xB8, 0x49, 0xE9, 0x35, 0x87, 0xF3, 0xCD, 0xB7, 0x02, 0x75, 0xE8, 0xC7, 0x5C, 0xF0, 0x10, + 0x6C, 0xD3, 0x43, 0xF3, 0x47, 0x7D, 0x13, 0xF4, 0x7E, 0xFA, 0x6A, 0x3A, 0xFB, 0x30, 0x3D, 0x79, + 0x33, 0x39, 0x7E, 0x31, 0x1B, 0xDB, 0x83, 0xE6, 0x7A, 0xD9, 0x12, 0x7D, 0x5F, 0xD5, 0xC9, 0x1E, + 0xD8, 0xC7, 0x1A, 0xC7, 0x59, 0xEB, 0x62, 0xF1, 0x18, 0x4D, 0x8F, 0xB6, 0x7C, 0xD1, 0xEC, 0x8C, + 0x6C, 0x6A, 0x95, 0x96, 0xC7, 0xDE, 0x7E, 0x1F, 0xA2, 0x84, 0x17, 0x57, 0x7A, 0xAC, 0x8C, 0x58, + 0x0B, 0xCF, 0x7F, 0x6F, 0xDD, 0x34, 0xEC, 0x12, 0x38, 0xBE, 0xB8, 0xE1, 0x29, 0xF6, 0x20, 0x86, + 0xE4, 0xEC, 0x02, 0xFE, 0x4A, 0xBE, 0x20, 0xF6, 0x61, 0x8D, 0x54, 0x75, 0xD7, 0x57, 0xD1, 0x54, + 0x55, 0x23, 0xD4, 0x35, 0x58, 0x15, 0x96, 0x61, 0x5D, 0x53, 0x6D, 0xC7, 0x6D, 0xB6, 0xAA, 0x03, + 0xC3, 0x60, 0xAF, 0xE9, 0x89, 0x8C, 0x1D, 0x70, 0xB5, 0x53, 0xDC, 0x59, 0xDA, 0x8E, 0xC3, 0x5B, + 0x0F, 0xB8, 0xEA, 0x8E, 0xFE, 0x50, 0x4D, 0x8C, 0xAE, 0x48, 0x6B, 0x8A, 0x6A, 0xBB, 0xB7, 0xFC, + 0xBE, 0xA9, 0xB2, 0x61, 0x55, 0x0E, 0x28, 0x82, 0xF3, 0xC4, 0x6A, 0x16, 0xCB, 0xB3, 0x75, 0x04, + 0xCD, 0x45, 0xB7, 0x4D, 0x23, 0xDE, 0x9C, 0x59, 0x9A, 0x1A, 0x86, 0xCA, 0x6A, 0x0E, 0x34, 0x4B, + 0xDB, 0x86, 0xB1, 0x58, 0x06, 0x73, 0xB6, 0xD3, 0xA1, 0x45, 0xF3, 0x50, 0x60, 0xE9, 0x01, 0x4B, + 0xC9, 0xDD, 0x11, 0x37, 0xD9, 0xF6, 0x38, 0x3C, 0x7E, 0x24, 0x55, 0xE1, 0x6F, 0x41, 0xA7, 0xDA, + 0xDC, 0x19, 0x82, 0x80, 0x3C, 0xAC, 0x8E, 0xC3, 0xA5, 0x09, 0x6F, 0xD6, 0x72, 0x56, 0x79, 0x1A, + 0x6B, 0x6D, 0x7D, 0x2C, 0x7B, 0xCD, 0xF1, 0xDB, 0xD2, 0x38, 0x40, 0xA8, 0xD9, 0x30, 0x4C, 0x29, + 0xB9, 0x07, 0x5A, 0xC6, 0x6E, 0xF1, 0x24, 0x0F, 0x1B, 0xE1, 0xD0, 0xF0, 0xE7, 0xF5, 0xF6, 0xA0, + 0x16, 0x4C, 0x9A, 0x5E, 0x8C, 0x65, 0x05, 0xE1, 0x36, 0xD5, 0xB9, 0x71, 0x14, 0xF6, 0xEF, 0xC3, + 0x0B, 0xAA, 0x67, 0xBB, 0x48, 0x6A, 0x9C, 0x47, 0x30, 0xF4, 0x16, 0x95, 0x1A, 0x14, 0xF5, 0xDE, + 0xBF, 0x0C, 0xC9, 0x9D, 0xDB, 0xAF, 0x27, 0xD6, 0x9C, 0x91, 0xEB, 0xA1, 0x88, 0xCD, 0x5C, 0x95, + 0xE8, 0x8A, 0xA1, 0x00, 0x71, 0x24, 0xDA, 0xAD, 0x9B, 0x80, 0x16, 0xC9, 0x11, 0xED, 0x6D, 0x1B, + 0x3D, 0x7C, 0x08, 0xFF, 0xC3, 0x6D, 0x35, 0x9C, 0x5D, 0x35, 0xFF, 0xA2, 0xA7, 0xF0, 0x14, 0x4F, + 0xE8, 0x70, 0x5C, 0x6D, 0x81, 0xFC, 0xF6, 0x17, 0x7C, 0x86, 0x7C, 0xBC, 0xA4, 0x1E, 0xA8, 0x11, + 0x5D, 0x8F, 0xCD, 0x01, 0x7B, 0x94, 0x12, 0xC9, 0xC1, 0x6C, 0x57, 0x50, 0xBB, 0x04, 0xFB, 0x87, + 0xB9, 0x88, 0x2E, 0x3A, 0x27, 0x23, 0x24, 0x23, 0x3F, 0x93, 0xFF, 0xC6, 0x9D, 0x82, 0xFC, 0xEA, + 0x92, 0xDA, 0x0F, 0xD1, 0x4D, 0xFD, 0x09, 0x95, 0xE5, 0xFF, 0x10, 0xA2, 0xEA, 0x08, 0x42, 0x62, + 0x8E, 0xCE, 0x61, 0xA5, 0xA7, 0xAE, 0x52, 0x4E, 0xD5, 0xE4, 0x58, 0x4D, 0x2C, 0xC6, 0xAA, 0xA5, + 0xD2, 0xFD, 0xCB, 0xF1, 0x09, 0xCC, 0x46, 0xEE, 0xDC, 0xA6, 0x13, 0x26, 0x65, 0x82, 0xB2, 0xC8, + 0xE5, 0x2E, 0x82, 0x6E, 0xE4, 0xCE, 0x6D, 0xF0, 0x13, 0x9B, 0xB3, 0xC2, 0x31, 0x31, 0x4A, 0xD6, + 0x2E, 0x4B, 0x5C, 0x54, 0xCE, 0x03, 0x82, 0xB0, 0xDF, 0x9F, 0xFD, 0x80, 0x9E, 0xDF, 0xF7, 0x64, + 0x5F, 0x21, 0xC6, 0xEC, 0x3F, 0xDC, 0x60, 0x83, 0x53, 0x36, 0xF0, 0x95, 0xF7, 0x4B, 0x68, 0x82, + 0x58, 0xA7, 0xC6, 0x05, 0x65, 0x6F, 0x50, 0x38, 0xB4, 0x1E, 0x43, 0xF5, 0x02, 0x96, 0x86, 0x95, + 0x08, 0x19, 0x3D, 0xF3, 0x49, 0xCB, 0xF6, 0xE0, 0x5C, 0x91, 0x7E, 0x9B, 0x6E, 0xD6, 0xEF, 0x08, + 0xE8, 0x56, 0x18, 0xD4, 0xE5, 0xB3, 0x2C, 0x7A, 0x34, 0x44, 0xCA, 0xA2, 0x93, 0xE7, 0xDC, 0xA2, + 0x27, 0xEF, 0x46, 0xB3, 0x37, 0x6F, 0x19, 0x47, 0x33, 0x30, 0xB4, 0xBD, 0xC7, 0x0F, 0x49, 0xA5, + 0x24, 0xDE, 0x4F, 0x19, 0x11, 0xD3, 0x83, 0x46, 0xE3, 0x43, 0x1D, 0x58, 0x46, 0x62, 0x76, 0x74, + 0x72, 0xEB, 0x66, 0xA9, 0x3F, 0x4B, 0x48, 0x30, 0xE9, 0x1A, 0x9D, 0xD8, 0xDA, 0x02, 0x47, 0x2F, + 0x66, 0x45, 0xCE, 0x79, 0x5B, 0x1F, 0x64, 0x89, 0x36, 0x76, 0xC8, 0xD1, 0xFE, 0x77, 0x8B, 0x18, + 0x82, 0xE6, 0x16, 0xFE, 0xAB, 0x95, 0xC6, 0xEF, 0xA6, 0x4C, 0x1A, 0x73, 0x03, 0xB7, 0xB6, 0x0E, + 0x18, 0xBA, 0xC9, 0x36, 0x9C, 0xE2, 0x3F, 0xDA, 0x24, 0x13, 0x8B, 0xDF, 0xFC, 0x57, 0x1B, 0x5C, + 0xBD, 0x5D, 0xE4, 0xAF, 0xF6, 0x9F, 0xCA, 0x81, 0x7A, 0x55, 0x29, 0xA7, 0xD4, 0x64, 0x8A, 0x1C, + 0xD9, 0x3A, 0x83, 0xDC, 0xB8, 0xD3, 0x6C, 0x90, 0xA2, 0x84, 0xEA, 0x67, 0xB3, 0x71, 0xE0, 0x0F, + 0xFD, 0xA7, 0x2A, 0x6C, 0x9E, 0xDB, 0x29, 0x98, 0x59, 0xBD, 0xB8, 0xA6, 0x2F, 0x7D, 0x05, 0x50, + 0xF9, 0x30, 0x6A, 0x80, 0xF6, 0x3D, 0x1D, 0x39, 0x71, 0xB7, 0x13, 0x09, 0x58, 0x8E, 0xAE, 0xE3, + 0xA4, 0x3A, 0x43, 0xC8, 0xBD, 0x86, 0xF6, 0x0A, 0x55, 0xBE, 0xFB, 0x07, 0x09, 0x78, 0x1B, 0xC2, + 0xE0, 0x07, 0xE6, 0xF1, 0x32, 0x70, 0x53, 0x32, 0x5A, 0xC1, 0xCD, 0x30, 0x87, 0xFD, 0x59, 0xDD, + 0xCA, 0xA8, 0xB8, 0x86, 0x6E, 0x7C, 0x15, 0xE8, 0x15, 0xEF, 0xDA, 0x2D, 0x49, 0x8A, 0x79, 0xEC, + 0xF6, 0x5D, 0x1B, 0xA6, 0x02, 0x85, 0xC5, 0xFB, 0x37, 0xA9, 0x08, 0x95, 0xBE, 0xA2, 0x87, 0x58, + 0xCA, 0xF3, 0x35, 0x63, 0xA9, 0x49, 0x64, 0x74, 0xB9, 0xCC, 0x34, 0x9A, 0x41, 0x79, 0xDD, 0xD1, + 0x3D, 0xC1, 0x96, 0x4C, 0x33, 0xB2, 0x65, 0xDD, 0x84, 0xC6, 0xFB, 0x7F, 0x78, 0x58, 0x27, 0x2B, + 0x03, 0xE3, 0x82, 0x72, 0xE0, 0xF2, 0x3E, 0x5C, 0x75, 0x4D, 0x8C, 0x5B, 0xAD, 0xFC, 0xE2, 0xFB, + 0x06, 0x5D, 0x03, 0xB1, 0x58, 0x19, 0x49, 0xA9, 0x42, 0xAC, 0x50, 0x48, 0x3C, 0x6D, 0x15, 0x11, + 0x9A, 0x8A, 0x02, 0x51, 0x79, 0x43, 0x2C, 0xB4, 0xF1, 0x45, 0x28, 0x37, 0x05, 0x0B, 0xB2, 0x10, + 0xB0, 0xCB, 0x77, 0x85, 0xD0, 0x53, 0x8F, 0xA5, 0xC7, 0x28, 0x74, 0xD2, 0xCD, 0x1C, 0x5E, 0x36, + 0x59, 0x61, 0x2E, 0xFE, 0x6C, 0x27, 0x8D, 0x03, 0x9F, 0x58, 0x9D, 0x7E, 0xC7, 0x76, 0xE2, 0x88, + 0x7E, 0x68, 0xF1, 0x00, 0x20, 0x8B, 0x8B, 0xE6, 0x4E, 0xCB, 0xD1, 0xD6, 0x8D, 0x9B, 0x7B, 0xA0, + 0xEB, 0x60, 0x0E, 0x7A, 0x80, 0x55, 0x76, 0x04, 0xAC, 0xF8, 0x5C, 0x43, 0x0D, 0xD6, 0xF8, 0x67, + 0x27, 0xEC, 0x0C, 0xA3, 0x0E, 0x40, 0x4D, 0x1C, 0xD8, 0x39, 0x33, 0xCF, 0xA6, 0x71, 0x18, 0x07, + 0x97, 0xE2, 0x49, 0x5F, 0x5E, 0xF7, 0xB2, 0xC3, 0x8B, 0xC9, 0x56, 0xC5, 0x4B, 0x51, 0x1D, 0xD6, + 0xC5, 0x31, 0xC2, 0x75, 0x13, 0x14, 0x23, 0x7E, 0x04, 0xDE, 0xC0, 0x3C, 0x67, 0x69, 0x43, 0x2D, + 0x7A, 0xDE, 0xAA, 0x18, 0xDE, 0x34, 0x67, 0x6F, 0xDE, 0xF4, 0xE8, 0xF8, 0xB5, 0x67, 0xDE, 0x92, + 0x31, 0x17, 0xE0, 0x57, 0x8D, 0x50, 0x9A, 0x08, 0xC0, 0x80, 0x3D, 0xC3, 0x66, 0xC3, 0x76, 0xA1, + 0x73, 0x23, 0x9E, 0x98, 0x52, 0x0E, 0xE5, 0x27, 0x05, 0x15, 0x93, 0x72, 0xB4, 0x8C, 0x02, 0xFA, + 0x69, 0x14, 0xFB, 0x48, 0x62, 0x1E, 0xB8, 0xE1, 0x37, 0x36, 0xC8, 0x83, 0x0F, 0x59, 0x56, 0xD1, + 0x26, 0x80, 0x25, 0xFA, 0x6D, 0x44, 0x94, 0x60, 0xEF, 0xAC, 0x8A, 0xF2, 0xC1, 0x5D, 0x51, 0x80, + 0xCA, 0x90, 0x34, 0x63, 0x43, 0x7C, 0xB0, 0x60, 0xFA, 0xB8, 0x4C, 0x5F, 0x06, 0x78, 0x0E, 0x2E, + 0xBE, 0x1F, 0x0C, 0xB7, 0x0D, 0xD8, 0x53, 0xAE, 0x7F, 0x01, 0xD4, 0xC3, 0x65, 0x9B, 0x47, 0xBC, + 0x89, 0x3D, 0x50, 0xFE, 0x56, 0x1B, 0x89, 0x93, 0x96, 0x12, 0x37, 0x6A, 0x24, 0xD1, 0xCC, 0xC1, + 0x59, 0x89, 0x4E, 0x42, 0x19, 0xB5, 0x2B, 0x0B, 0x4C, 0x5B, 0xAA, 0x43, 0x53, 0xBB, 0x4B, 0x20, + 0x09, 0xD2, 0xFF, 0x40, 0x12, 0xDD, 0xE7, 0x74, 0x11, 0x3C, 0x4E, 0xFF, 0x18, 0x19, 0x8F, 0xAD, + 0xE6, 0x32, 0x9D, 0x89, 0x39, 0x30, 0x79, 0x89, 0x63, 0x5E, 0xEE, 0xFB, 0x3E, 0xED, 0x40, 0x56, + 0xF9, 0xB9, 0x59, 0xEE, 0x23, 0x33, 0x8A, 0x50, 0x53, 0xE3, 0x14, 0x8F, 0x22, 0xD5, 0x32, 0x39, + 0x2B, 0xE9, 0xC4, 0x60, 0x49, 0x0E, 0x52, 0x97, 0x94, 0x69, 0xE1, 0x11, 0xEC, 0x8A, 0x63, 0xE8, + 0xDC, 0xFD, 0x71, 0x24, 0x44, 0xB7, 0x8D, 0xC9, 0x3A, 0x7D, 0x89, 0x55, 0xD5, 0x5E, 0xF1, 0x51, + 0x1A, 0xA7, 0xDE, 0x33, 0x76, 0xDD, 0x68, 0x32, 0x7D, 0x31, 0x3E, 0x2A, 0xCB, 0x8C, 0x25, 0x2D, + 0x44, 0x4D, 0x26, 0x64, 0x00, 0x6D, 0x58, 0xA1, 0xAB, 0x66, 0xAB, 0x64, 0x46, 0x99, 0x29, 0x8C, + 0x59, 0xEC, 0xEB, 0xC4, 0x11, 0x20, 0x67, 0x15, 0x28, 0x5B, 0x33, 0xD5, 0xEF, 0x65, 0xC4, 0xB3, + 0xB1, 0x68, 0x9B, 0x0F, 0x7E, 0x56, 0xF5, 0x71, 0x22, 0xDB, 0x8C, 0x36, 0xA5, 0xBB, 0xFB, 0xFB, + 0x4B, 0xD8, 0x45, 0x57, 0x4D, 0xAD, 0xBB, 0x5F, 0x48, 0x27, 0xD3, 0xA4, 0x03, 0xA4, 0x3A, 0xDD, + 0xAA, 0xF7, 0xCD, 0xF4, 0x6D, 0xF4, 0x97, 0x4E, 0xEF, 0x4B, 0xD8, 0xA9, 0x22, 0x14, 0xE6, 0x69, + 0x58, 0x7A, 0xCF, 0x53, 0x4E, 0x13, 0x4E, 0x53, 0x71, 0xE0, 0xC2, 0x4C, 0xA9, 0xFF, 0xA5, 0x7F, + 0xA9, 0xDF, 0x43, 0xDD, 0x6E, 0x59, 0x17, 0x54, 0x8A, 0x6B, 0x02, 0xB6, 0x90, 0x50, 0xB8, 0x41, + 0x29, 0x2A, 0x16, 0x0E, 0x52, 0x33, 0xA7, 0x17, 0x25, 0xC4, 0xE8, 0xE4, 0xD6, 0xE0, 0x67, 0x2D, + 0x3A, 0x77, 0x2B, 0xC3, 0x2C, 0xC4, 0x4C, 0xB9, 0x61, 0x48, 0x7F, 0x7D, 0xDA, 0x03, 0x99, 0x08, + 0xE0, 0xE6, 0xD6, 0xF7, 0x72, 0x79, 0xDF, 0xB1, 0x51, 0x13, 0x4F, 0x3D, 0xA9, 0x53, 0xDE, 0x0F, + 0x29, 0x73, 0xFE, 0xA2, 0x92, 0xB6, 0x30, 0xEC, 0x46, 0x46, 0x32, 0xFB, 0xEE, 0x80, 0x7E, 0x7F, + 0x98, 0x8A, 0x51, 0x6A, 0x87, 0x9E, 0x75, 0x3A, 0xB4, 0x64, 0x75, 0x98, 0x7D, 0x1E, 0xD5, 0xB0, + 0xF2, 0xF2, 0x0C, 0x8C, 0x7A, 0x52, 0xD6, 0x2E, 0xFD, 0x3B, 0xDB, 0x7D, 0xB7, 0xF4, 0xC5, 0xF0, + 0x1E, 0x56, 0xFF, 0x02, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, + 0x5A, 0x0B, 0xF5, 0x45, 0x90, 0x34, 0xAD, 0x0A, 0x00, 0x00, 0xDF, 0x2B, 0x00, 0x00, 0x1F, 0x00, + 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x61, + 0x64, 0x6D, 0x2D, 0x7A, 0x69, 0x70, 0x2F, 0x7A, 0x69, 0x70, 0x46, 0x69, 0x6C, 0x65, 0x2E, 0x6A, + 0x73, 0xE5, 0x5A, 0x59, 0x73, 0xD3, 0x30, 0x10, 0x7E, 0x0E, 0x33, 0xFC, 0x07, 0xC1, 0x03, 0x24, + 0x6D, 0x70, 0xCA, 0xF9, 0x40, 0x81, 0xE1, 0x4A, 0xA1, 0xC3, 0x39, 0x9C, 0x33, 0x1C, 0xC3, 0x28, + 0xB6, 0xD2, 0x18, 0x7C, 0x04, 0x59, 0xA6, 0x2D, 0x50, 0x7E, 0x3B, 0xBB, 0xAB, 0xCB, 0x47, 0x9C, + 0x26, 0x1C, 0x2F, 0xD0, 0x19, 0x88, 0x23, 0xAD, 0xF6, 0xFC, 0x76, 0xB5, 0x92, 0xF3, 0x85, 0x4B, + 0xF6, 0x26, 0x9E, 0x8F, 0x33, 0x25, 0x0F, 0xD9, 0x75, 0x26, 0xC5, 0xE7, 0x32, 0x96, 0xA2, 0x7F, + 0x3A, 0x18, 0x7D, 0x35, 0xA3, 0xA7, 0x07, 0xC3, 0x93, 0x27, 0x7A, 0xF7, 0x05, 0x8F, 0x84, 0x2C, + 0xEA, 0x24, 0x33, 0x3D, 0xA8, 0x29, 0x5E, 0xAA, 0x38, 0x69, 0xCC, 0x97, 0x30, 0x74, 0x7A, 0xB0, + 0x7D, 0xF2, 0xC4, 0xC9, 0x13, 0x69, 0x1E, 0x95, 0x89, 0x08, 0xC4, 0xC1, 0x3C, 0x97, 0x0A, 0xC9, + 0xA6, 0x65, 0x16, 0xAA, 0x38, 0xCF, 0x58, 0x7F, 0xB4, 0xF1, 0x5C, 0xC9, 0x38, 0xDB, 0xFB, 0x7E, + 0xBB, 0x9C, 0x4E, 0x85, 0xDC, 0x18, 0xC5, 0xD9, 0xBC, 0x54, 0x43, 0x36, 0xDA, 0x78, 0x5C, 0xA6, + 0x13, 0x37, 0xF0, 0xE2, 0x70, 0x2E, 0x06, 0xEC, 0x1B, 0x48, 0x42, 0x9D, 0x05, 0xAA, 0xF6, 0x30, + 0x2E, 0x14, 0xB0, 0x7A, 0xFB, 0x1E, 0xE5, 0xF7, 0x68, 0xE8, 0x05, 0x9F, 0x24, 0x02, 0xC6, 0xBE, + 0x1D, 0xD1, 0xD8, 0x87, 0x30, 0x4F, 0x53, 0x98, 0x80, 0x11, 0xCD, 0x3D, 0xE0, 0x49, 0x92, 0x87, + 0xFD, 0xAD, 0x01, 0x4D, 0x4F, 0xE3, 0x44, 0x64, 0x3C, 0xC5, 0x05, 0xA7, 0x4F, 0xEB, 0x11, 0xD4, + 0x8D, 0x4C, 0x09, 0x76, 0x60, 0xF2, 0xF9, 0x61, 0xA1, 0x44, 0x1A, 0x58, 0x9B, 0xF4, 0xAA, 0x38, + 0xD3, 0xBC, 0x80, 0x32, 0x2B, 0x93, 0x84, 0xC6, 0x52, 0x1E, 0x67, 0xE8, 0x23, 0x3D, 0x2A, 0xF6, + 0x99, 0x71, 0x58, 0xF0, 0xC8, 0x4D, 0x98, 0xD5, 0x49, 0x0E, 0x5F, 0x22, 0x74, 0x6D, 0x2C, 0xC8, + 0x11, 0x3C, 0x29, 0x04, 0xF9, 0xA8, 0x17, 0x4F, 0x59, 0xDF, 0xDA, 0x0A, 0x3A, 0x5D, 0xB7, 0x9A, + 0xDC, 0xC9, 0xB3, 0x42, 0xF1, 0x4C, 0x81, 0x4E, 0xBB, 0x0F, 0xC7, 0xDA, 0x09, 0xBD, 0xD1, 0x88, + 0xC5, 0x05, 0xE3, 0xCC, 0xDA, 0xD0, 0xB0, 0x87, 0xF8, 0x6C, 0x37, 0xD4, 0x9D, 0x16, 0x81, 0x04, + 0x5D, 0xB4, 0x65, 0x59, 0xD8, 0xB7, 0xF4, 0x03, 0x22, 0xC4, 0xA9, 0x8A, 0xBA, 0x34, 0x78, 0xC4, + 0x04, 0xA8, 0xC7, 0x8E, 0xD7, 0xEC, 0xF6, 0xCB, 0x9D, 0x9D, 0xF1, 0xB3, 0x86, 0x6E, 0xA9, 0x48, + 0x73, 0xC0, 0xD5, 0x84, 0xE4, 0x37, 0x74, 0x21, 0x76, 0xC7, 0xC8, 0x75, 0xDC, 0xB2, 0x3C, 0x13, + 0x01, 0xF1, 0x44, 0xE7, 0x92, 0xCD, 0x8B, 0x7C, 0xA9, 0x64, 0x29, 0x68, 0x35, 0xB9, 0xD3, 0x41, + 0x2C, 0x56, 0x42, 0x72, 0x25, 0x0C, 0x5D, 0x3F, 0x04, 0x0C, 0x4C, 0x78, 0xF8, 0xC9, 0x28, 0x1B, + 0xA2, 0x0D, 0x4C, 0xE5, 0x8A, 0x27, 0x9E, 0x93, 0x8F, 0x67, 0x10, 0xC5, 0xC5, 0x27, 0x33, 0xB1, + 0xCD, 0x46, 0x23, 0x4D, 0xC9, 0x32, 0xC2, 0x26, 0xCB, 0xA7, 0x4C, 0xE8, 0x39, 0xD2, 0x47, 0x28, + 0xB0, 0x2B, 0x12, 0x07, 0x75, 0x0E, 0xF9, 0x74, 0x5A, 0x08, 0x45, 0x8B, 0xF5, 0x23, 0x7C, 0x80, + 0x0D, 0x12, 0xC4, 0xDE, 0x19, 0x3F, 0x66, 0x3A, 0x8D, 0x48, 0xE5, 0xDE, 0x34, 0x97, 0xAC, 0x4F, + 0x6C, 0x80, 0xC5, 0xD6, 0x36, 0x7C, 0x5C, 0xAB, 0xA9, 0x06, 0x23, 0x9B, 0x9B, 0x5A, 0x71, 0x2D, + 0x4E, 0xA5, 0x73, 0xA0, 0x24, 0xA1, 0x68, 0xB9, 0x31, 0x47, 0xE7, 0x87, 0x86, 0xA2, 0xCB, 0xEF, + 0xBE, 0xF5, 0xFE, 0x40, 0xC3, 0xCD, 0xA4, 0x4C, 0x30, 0xB3, 0xB8, 0xB5, 0xF3, 0x41, 0x91, 0xC4, + 0xA1, 0xE8, 0x03, 0xEB, 0x21, 0xF1, 0xDF, 0x6C, 0x87, 0x1B, 0xF4, 0xBE, 0x7F, 0xF7, 0x19, 0x30, + 0xF2, 0x6C, 0xE8, 0xFF, 0xC7, 0x80, 0xA6, 0xE5, 0x9C, 0xAA, 0x32, 0x03, 0x0C, 0x24, 0x2E, 0x79, + 0x28, 0xB2, 0x3D, 0x35, 0x73, 0x7A, 0x91, 0x39, 0x2D, 0x62, 0xFA, 0xA2, 0x5D, 0xFA, 0x3C, 0xFE, + 0x2A, 0x2C, 0xB1, 0x0D, 0x67, 0x9F, 0xE6, 0xB5, 0x4A, 0x47, 0x6D, 0x10, 0x20, 0xCA, 0x2C, 0x02, + 0xC0, 0x81, 0xDD, 0xF0, 0x69, 0x97, 0x12, 0x1A, 0x73, 0x15, 0xC7, 0x78, 0xF5, 0x96, 0x94, 0xFC, + 0xB0, 0xBF, 0x18, 0x27, 0x83, 0x6D, 0xB6, 0x1C, 0x29, 0x58, 0xC3, 0x96, 0x21, 0x65, 0x39, 0x54, + 0x1C, 0x50, 0x88, 0x8B, 0x07, 0x8A, 0x53, 0x31, 0x48, 0xC8, 0x9F, 0x1E, 0x2C, 0xB0, 0x82, 0x64, + 0x56, 0xE1, 0x82, 0xD5, 0x08, 0xFE, 0x8E, 0x45, 0xCA, 0x1F, 0xC2, 0xC9, 0x5F, 0x42, 0x0A, 0x14, + 0xA6, 0x3A, 0x48, 0x0E, 0x94, 0xE4, 0x9A, 0x08, 0x2D, 0xF7, 0x26, 0xEA, 0x99, 0x35, 0x24, 0x56, + 0x38, 0x19, 0x37, 0x1C, 0x75, 0x09, 0x35, 0xBB, 0x8C, 0x21, 0xAE, 0x08, 0xB5, 0x33, 0xCB, 0xC4, + 0xB2, 0x45, 0xAC, 0x7E, 0x27, 0x21, 0x1C, 0x0C, 0xDE, 0xC6, 0xEF, 0x99, 0x59, 0xA2, 0x0D, 0xF0, + 0xB8, 0x7E, 0xDB, 0x88, 0x84, 0x23, 0xEC, 0x4A, 0x9F, 0x66, 0x91, 0x66, 0xDF, 0x1C, 0x8C, 0x2B, + 0xC6, 0x19, 0xE0, 0xB1, 0x73, 0x2D, 0x20, 0x8C, 0x1F, 0xDF, 0x05, 0x20, 0x0C, 0x11, 0xD8, 0xF0, + 0xC8, 0x0C, 0x96, 0x0A, 0x50, 0x9B, 0x34, 0x4B, 0x39, 0x66, 0xC2, 0x23, 0xAE, 0x66, 0x01, 0x3C, + 0xF6, 0xB7, 0x86, 0x2C, 0x06, 0x26, 0x5B, 0x07, 0x3B, 0xF0, 0x37, 0xC0, 0x55, 0xE6, 0x19, 0xF7, + 0x00, 0x35, 0x13, 0x0C, 0xE9, 0xA1, 0x43, 0xA1, 0x9D, 0x80, 0x59, 0x27, 0x6B, 0xE1, 0xC4, 0x2F, + 0xA3, 0xBC, 0x3A, 0x18, 0x1A, 0xB3, 0xA3, 0xE7, 0x8A, 0x4B, 0xD5, 0x56, 0xD4, 0xCD, 0x3F, 0xC1, + 0x64, 0x43, 0x82, 0x73, 0xE7, 0x49, 0x1A, 0xD1, 0xFB, 0x14, 0x24, 0x99, 0x5E, 0x6F, 0x5A, 0x65, + 0xA4, 0x8E, 0xB3, 0x88, 0x32, 0xB0, 0x52, 0xBF, 0x63, 0x4C, 0xC7, 0x1B, 0x90, 0x52, 0xF0, 0x79, + 0xEE, 0x1C, 0xB8, 0xCA, 0xA1, 0xC6, 0x8A, 0xC7, 0xC8, 0x9C, 0xBA, 0x0E, 0xCB, 0x0E, 0x2E, 0x6F, + 0x0D, 0x40, 0xFF, 0x4C, 0xC5, 0x19, 0xD4, 0x1E, 0x94, 0x0C, 0x9D, 0x46, 0xF8, 0x89, 0x85, 0x33, + 0x01, 0xFF, 0xAB, 0x19, 0x57, 0x24, 0x7A, 0x72, 0xA8, 0x04, 0x9A, 0x7E, 0xF6, 0xE9, 0xD9, 0x16, + 0x2F, 0xDA, 0xD2, 0x5F, 0xEE, 0x66, 0xEA, 0xE2, 0x85, 0x87, 0xE3, 0x7E, 0x3C, 0xD0, 0xDB, 0x73, + 0xDB, 0xFD, 0xCF, 0x77, 0xEF, 0x81, 0x2A, 0x28, 0xE2, 0xF4, 0xD3, 0x07, 0xEF, 0xB6, 0xB6, 0x2E, + 0xC3, 0xBF, 0x2B, 0xA7, 0x81, 0x5D, 0xC3, 0x03, 0x31, 0x42, 0xA0, 0x66, 0x9F, 0x1D, 0x6C, 0xB8, + 0x92, 0x6D, 0x76, 0x44, 0xD9, 0xD0, 0x82, 0xA4, 0xD7, 0x82, 0xF1, 0x04, 0xF5, 0x3B, 0x64, 0xD3, + 0xBC, 0x04, 0x4E, 0x1C, 0x80, 0xB4, 0x57, 0x26, 0x1C, 0x43, 0xBF, 0x97, 0x71, 0x55, 0x4A, 0x31, + 0x84, 0xB8, 0xA9, 0xB3, 0x05, 0x4B, 0xF2, 0xFC, 0x13, 0xFB, 0x58, 0x16, 0x0A, 0x88, 0x26, 0xB1, + 0x82, 0x0E, 0x51, 0x82, 0xE9, 0x12, 0xAA, 0xA8, 0xF1, 0x06, 0x18, 0x8D, 0x03, 0x02, 0x68, 0x79, + 0x76, 0x88, 0xE1, 0xBF, 0x72, 0xC9, 0xB3, 0xD1, 0x32, 0x33, 0x54, 0x6C, 0x31, 0xFC, 0xAE, 0x5C, + 0xF2, 0xAA, 0x59, 0x8F, 0xBB, 0xBC, 0xFE, 0x65, 0xAF, 0x5E, 0xB9, 0xA4, 0xFD, 0xEA, 0x4C, 0xDE, + 0xD1, 0x76, 0x6A, 0xF5, 0xDA, 0x56, 0x5A, 0xC9, 0x94, 0x50, 0xD0, 0xF5, 0x52, 0x78, 0xF7, 0x67, + 0x79, 0x22, 0xF4, 0x0A, 0x18, 0x0F, 0x73, 0x19, 0x01, 0x3B, 0x8F, 0xE2, 0xDF, 0x51, 0xBA, 0xA5, + 0xF3, 0x9B, 0xDD, 0xA7, 0x8B, 0x75, 0x06, 0x4D, 0xEA, 0x3A, 0x58, 0x95, 0x23, 0x01, 0xFD, 0x53, + 0x1A, 0x67, 0x80, 0x40, 0xF8, 0xEA, 0x73, 0xD6, 0xA3, 0xE6, 0x18, 0x80, 0x90, 0x5A, 0xB7, 0xE3, + 0x3D, 0xD4, 0xEC, 0xCA, 0xA5, 0x87, 0x63, 0xA7, 0xEF, 0xD0, 0xD3, 0xB4, 0x35, 0x7C, 0x33, 0x1E, + 0x2C, 0x9E, 0x44, 0x16, 0xB7, 0xEE, 0x1A, 0x79, 0x13, 0xE0, 0xFD, 0xC9, 0x79, 0xC4, 0xB8, 0x45, + 0x7B, 0xE5, 0xD4, 0x0F, 0xA7, 0xA0, 0xAE, 0xC9, 0x6A, 0x26, 0xF3, 0x7D, 0xDA, 0xE8, 0xC6, 0x52, + 0xE6, 0xB2, 0xAF, 0x79, 0xD3, 0x73, 0x11, 0xEC, 0x3E, 0x7E, 0x75, 0xEB, 0xE1, 0xEE, 0xDD, 0x0F, + 0x3B, 0x4F, 0x9E, 0x3D, 0xBA, 0xF5, 0xC2, 0x56, 0xDE, 0xCA, 0xDE, 0x8C, 0xDD, 0xC2, 0x8E, 0xCC, + 0xD3, 0xDB, 0x71, 0xC6, 0xED, 0x16, 0xE9, 0xEB, 0xB9, 0x13, 0x35, 0x64, 0xD6, 0x05, 0x03, 0x60, + 0x62, 0x54, 0xD1, 0x6C, 0xDA, 0x05, 0xDE, 0x06, 0xE1, 0x43, 0xE7, 0x3E, 0xE1, 0xB3, 0xB0, 0x33, + 0xDD, 0x5C, 0xCB, 0x83, 0xB1, 0xAC, 0xF7, 0x39, 0xBE, 0x19, 0x96, 0x02, 0x50, 0x98, 0x99, 0x86, + 0x7A, 0x63, 0x03, 0x3F, 0xD8, 0x06, 0x7B, 0x46, 0xA3, 0x98, 0x4F, 0x8C, 0x63, 0x3F, 0x03, 0xA5, + 0xCE, 0x1F, 0x07, 0xF3, 0xC9, 0x47, 0x11, 0xC2, 0x61, 0x4D, 0x1C, 0xC0, 0x5E, 0x02, 0x3A, 0x80, + 0x6A, 0x84, 0x91, 0xB0, 0x94, 0x12, 0xBF, 0xE6, 0x73, 0x91, 0x89, 0x08, 0x16, 0x86, 0xB3, 0xF8, + 0x8B, 0x30, 0x1C, 0x6F, 0x6A, 0x41, 0xBA, 0x3D, 0xD2, 0x63, 0x23, 0xFC, 0xD8, 0x03, 0x94, 0x88, + 0x5A, 0xFB, 0x65, 0x82, 0x54, 0x6B, 0xC2, 0x1C, 0x28, 0x5B, 0x56, 0x18, 0x03, 0xAD, 0x1D, 0x6E, + 0x8F, 0xA3, 0x39, 0x3C, 0xEC, 0xD5, 0x0D, 0xBB, 0x45, 0x4A, 0xB9, 0xAD, 0xA1, 0xA1, 0xDC, 0x37, + 0x7D, 0xE2, 0x3C, 0xAA, 0xEB, 0x67, 0x89, 0x9D, 0x7E, 0x86, 0xDA, 0x06, 0x27, 0x50, 0xB9, 0x5E, + 0x67, 0x34, 0xD2, 0x47, 0xCC, 0xA2, 0xB2, 0xF0, 0x0B, 0x4F, 0xDA, 0x11, 0xD5, 0x51, 0x83, 0xC5, + 0x3A, 0xAE, 0x48, 0x64, 0x2C, 0xEA, 0x42, 0x05, 0xAC, 0xB1, 0xCB, 0xCD, 0x3E, 0xE5, 0xE4, 0x19, + 0x55, 0x29, 0x40, 0x77, 0x20, 0x6B, 0xD5, 0x55, 0x77, 0x92, 0x5E, 0xCD, 0xAD, 0x68, 0x51, 0xC7, + 0xE9, 0xC6, 0xB9, 0x79, 0x91, 0xA3, 0x1B, 0x9A, 0xB8, 0xDD, 0x6E, 0xCC, 0xC3, 0x99, 0xD7, 0xC1, + 0x9D, 0xAD, 0x56, 0xD0, 0xA5, 0xEB, 0x54, 0xB6, 0x5D, 0x55, 0xB5, 0xAE, 0x93, 0x57, 0xC6, 0x48, + 0xF6, 0xAB, 0x9C, 0x5E, 0x1D, 0x00, 0x87, 0xBC, 0x00, 0xE7, 0x8B, 0x2C, 0x14, 0xB0, 0xA1, 0x20, + 0x8C, 0xCD, 0x11, 0x69, 0x3F, 0x56, 0x33, 0xFA, 0xBA, 0x07, 0x70, 0xC9, 0x18, 0x9D, 0x9E, 0x73, + 0x49, 0x07, 0x7B, 0xD8, 0x70, 0x0C, 0x51, 0x5C, 0x00, 0xF6, 0x6D, 0x1A, 0x68, 0xCE, 0x16, 0x51, + 0x73, 0x2E, 0x79, 0xCA, 0x6C, 0x1F, 0xD5, 0xC8, 0x02, 0x9B, 0x4B, 0x8D, 0x44, 0xA0, 0xA1, 0xAB, + 0x0B, 0xAE, 0x40, 0x36, 0x46, 0x8E, 0xD1, 0x0A, 0x0E, 0x5C, 0x29, 0x47, 0x4C, 0xB7, 0xE7, 0xFB, + 0xBC, 0xEF, 0xDF, 0xC9, 0xB8, 0xAE, 0xBC, 0x89, 0xA2, 0xC2, 0xB9, 0xC3, 0xB0, 0xA8, 0x3B, 0x2C, + 0x89, 0x8B, 0xC5, 0x2E, 0x68, 0xD8, 0x59, 0x2C, 0xB4, 0xD3, 0x3A, 0xC4, 0x58, 0xFA, 0x3B, 0x56, + 0x7A, 0x30, 0xCC, 0xCB, 0x62, 0x66, 0x4E, 0x7F, 0xEB, 0xF5, 0xB9, 0xD5, 0x0C, 0xAC, 0x5F, 0x00, + 0xB4, 0x70, 0xDF, 0x89, 0xAF, 0x34, 0xFF, 0x02, 0x0B, 0x96, 0x03, 0x6A, 0x0A, 0xDB, 0x46, 0xC3, + 0x85, 0x41, 0xCD, 0x87, 0xBB, 0x53, 0x3F, 0xAD, 0xAF, 0x39, 0xA2, 0x58, 0x42, 0xF1, 0x85, 0xDB, + 0x93, 0x21, 0xCC, 0x00, 0x1F, 0xC0, 0x39, 0xEC, 0x5C, 0x00, 0xC0, 0x88, 0x7A, 0x5E, 0x2C, 0xD9, + 0x91, 0x25, 0x42, 0x95, 0x41, 0x2E, 0x50, 0x4C, 0xA0, 0xAF, 0x20, 0x8D, 0xA2, 0x2E, 0x7C, 0xFA, + 0x00, 0x45, 0x22, 0x81, 0x8D, 0xFD, 0x6F, 0x63, 0xD1, 0x5D, 0xD6, 0xB1, 0xEB, 0x8B, 0x01, 0xB9, + 0xED, 0x58, 0x6B, 0xB2, 0x33, 0x67, 0xCC, 0x21, 0x27, 0x2E, 0xEE, 0x5A, 0x1F, 0x68, 0x31, 0x86, + 0xDB, 0x87, 0x42, 0x24, 0x53, 0x3C, 0xAD, 0xCF, 0xE2, 0xC2, 0xD4, 0x0A, 0x7C, 0x0C, 0x5C, 0x59, + 0x9C, 0xC5, 0x49, 0x04, 0x99, 0x6E, 0x10, 0xE1, 0x4A, 0x85, 0x37, 0x31, 0x44, 0x0A, 0xC3, 0x93, + 0x64, 0x9B, 0x21, 0x0F, 0x13, 0x6A, 0xCE, 0x1B, 0xF6, 0xD3, 0x1F, 0x09, 0x0F, 0x2A, 0xAE, 0x6B, + 0xAE, 0xA4, 0x4E, 0x43, 0x5B, 0x4F, 0x1F, 0x83, 0x85, 0x88, 0x2D, 0xE6, 0xB4, 0xB9, 0xFB, 0x01, + 0x3A, 0xE0, 0x3D, 0x99, 0x1A, 0x9D, 0x87, 0xEC, 0xBC, 0x71, 0xA2, 0x96, 0xD4, 0x5F, 0xE8, 0xB9, + 0xC1, 0x1F, 0xC2, 0x30, 0xDB, 0xA5, 0x4A, 0x6C, 0x30, 0x25, 0x75, 0xC5, 0x3C, 0x1E, 0x70, 0xF9, + 0xB4, 0x59, 0x28, 0x3A, 0xCB, 0xC2, 0xF1, 0xBD, 0x41, 0x2D, 0x72, 0x7F, 0xAD, 0x64, 0xE0, 0x9A, + 0xE5, 0xE0, 0x4A, 0xAA, 0x57, 0xCA, 0xF8, 0x67, 0xAE, 0x53, 0x1B, 0x65, 0xC4, 0xCE, 0x82, 0x5F, + 0x61, 0x12, 0x69, 0xBC, 0x8B, 0xF5, 0x94, 0xF7, 0x7D, 0x1B, 0x7F, 0xF6, 0x6A, 0xBD, 0x0A, 0x41, + 0x3F, 0xEA, 0xA5, 0x04, 0x45, 0x39, 0x29, 0x94, 0xC4, 0xD3, 0x30, 0x70, 0xD7, 0x47, 0x90, 0xAC, + 0x8E, 0xC7, 0xC4, 0xD6, 0x3F, 0xCF, 0x74, 0xBB, 0x81, 0xC0, 0xFA, 0x86, 0x4A, 0x16, 0xB6, 0x37, + 0x0B, 0xB0, 0x78, 0xE9, 0x06, 0x8A, 0xA1, 0x76, 0x07, 0x6E, 0x3D, 0xD5, 0x08, 0xAA, 0xEE, 0x6E, + 0x5C, 0x54, 0xE9, 0xFC, 0x38, 0x97, 0xA2, 0x28, 0x5E, 0x98, 0xC6, 0xA7, 0x12, 0xD5, 0xD5, 0x5A, + 0x95, 0x25, 0x41, 0x6C, 0x22, 0x9B, 0xDD, 0x60, 0xE7, 0xF5, 0xCA, 0x7A, 0x9A, 0xC1, 0xCB, 0x86, + 0x8A, 0xDF, 0xF9, 0x90, 0x4D, 0x34, 0x95, 0x09, 0x37, 0x79, 0xF3, 0x16, 0x44, 0x90, 0x57, 0x9C, + 0xAE, 0xF2, 0x87, 0xF9, 0xBE, 0x90, 0x77, 0x78, 0x21, 0xAC, 0x60, 0x4F, 0x7C, 0x1B, 0x88, 0x27, + 0x4B, 0x89, 0x8D, 0x86, 0x9A, 0xF3, 0x35, 0xBD, 0xC8, 0x0A, 0xF5, 0xEE, 0x3E, 0x77, 0xDE, 0x46, + 0xA9, 0xB5, 0xE6, 0x46, 0xD7, 0x9A, 0xDA, 0x12, 0x3F, 0xBC, 0xB5, 0x5D, 0x0F, 0xF4, 0x51, 0xE5, + 0xBA, 0x8F, 0x0A, 0x02, 0xDE, 0x0D, 0xE1, 0x15, 0x85, 0x01, 0x6D, 0xC4, 0x15, 0xBF, 0x0D, 0x2F, + 0x41, 0x3E, 0x55, 0x71, 0x5E, 0xB9, 0x4A, 0x2A, 0xAA, 0xE3, 0x91, 0xB9, 0xA4, 0x24, 0x29, 0xCD, + 0x72, 0x53, 0x18, 0xC6, 0x5A, 0x6E, 0xEB, 0x1A, 0xD3, 0xAD, 0x3A, 0x26, 0x1D, 0x68, 0xAE, 0x7A, + 0x1C, 0xB5, 0xC8, 0x61, 0xA8, 0x2A, 0xD5, 0x1D, 0xE4, 0x06, 0x2A, 0xF3, 0x84, 0xBE, 0xD1, 0x02, + 0x7B, 0x85, 0xC4, 0x43, 0x3C, 0xAB, 0xC2, 0x86, 0x95, 0x1C, 0x06, 0x80, 0x56, 0x5E, 0x00, 0xCB, + 0xFD, 0x19, 0xED, 0xA2, 0xD8, 0x1C, 0x8A, 0x48, 0x5F, 0x9F, 0xBA, 0x14, 0x77, 0xDC, 0x45, 0x74, + 0x17, 0xD8, 0xDB, 0xDC, 0xC6, 0xED, 0xE3, 0x4E, 0x6D, 0x06, 0xE2, 0x69, 0x35, 0x22, 0x45, 0xFC, + 0xDD, 0x8F, 0xBF, 0x11, 0x6D, 0x98, 0xAB, 0xBD, 0xB5, 0xED, 0x64, 0xD1, 0x3A, 0xF7, 0x5A, 0xA8, + 0xB6, 0xC6, 0xCF, 0xBC, 0xC8, 0xF5, 0x89, 0xD2, 0xCA, 0xF3, 0x5B, 0xA6, 0xB9, 0xEF, 0x74, 0x4B, + 0x25, 0xDF, 0x1F, 0xDB, 0x71, 0x03, 0xFC, 0xCA, 0x12, 0x7B, 0xBF, 0x59, 0xB9, 0xED, 0xAC, 0x9E, + 0x58, 0x3C, 0xE1, 0x3C, 0x2F, 0x94, 0x16, 0xDD, 0x7C, 0x2D, 0x56, 0x93, 0xBA, 0xA9, 0x39, 0x1A, + 0x41, 0x96, 0xC1, 0x02, 0x4D, 0xC2, 0x7C, 0x7E, 0xD8, 0xF7, 0x4C, 0x87, 0x6C, 0xCB, 0x12, 0xD3, + 0xA0, 0xBB, 0xBF, 0x4D, 0xFA, 0xC4, 0x70, 0x58, 0x33, 0x0E, 0x49, 0xEB, 0xFE, 0x72, 0x67, 0x20, + 0xEF, 0x22, 0x9B, 0xE5, 0x9B, 0x5E, 0x77, 0x3F, 0xD6, 0x08, 0x68, 0xB3, 0x10, 0x47, 0xF6, 0xEE, + 0xD4, 0x31, 0xF7, 0x93, 0x3E, 0x17, 0x74, 0x0D, 0xF5, 0x12, 0xC9, 0x82, 0x36, 0x01, 0x8A, 0x5F, + 0x4A, 0x50, 0xD7, 0x05, 0x89, 0x1A, 0x31, 0x6D, 0xA0, 0x61, 0x0E, 0x67, 0x17, 0xF7, 0xDE, 0xAB, + 0x9D, 0x8A, 0x95, 0xD6, 0xB6, 0x22, 0xB6, 0x9D, 0x85, 0x68, 0x5E, 0x85, 0xAA, 0x0E, 0x0E, 0x5D, + 0x04, 0x0C, 0x55, 0xBF, 0xE2, 0xE2, 0xCD, 0x05, 0x6B, 0x6C, 0x11, 0xD1, 0xAA, 0x37, 0x57, 0x57, + 0xC4, 0xFA, 0x47, 0x98, 0xD4, 0x57, 0x97, 0xF0, 0x26, 0x33, 0x87, 0x83, 0x52, 0x98, 0x94, 0x91, + 0x28, 0x96, 0x5E, 0xCF, 0x02, 0xF1, 0x3C, 0x8F, 0x33, 0x7C, 0xED, 0x86, 0xD7, 0x25, 0xD0, 0x4B, + 0xF8, 0x5C, 0x9F, 0x88, 0xBD, 0x38, 0xCB, 0x00, 0xB4, 0x38, 0x1A, 0xA2, 0x86, 0x3C, 0xF1, 0xED, + 0xB0, 0xCE, 0x66, 0x77, 0x4B, 0x66, 0x5D, 0xD1, 0x95, 0x88, 0x40, 0xD1, 0x28, 0x62, 0x26, 0x18, + 0x79, 0xA9, 0x10, 0xFA, 0xED, 0x1C, 0x70, 0xF6, 0x1A, 0x4F, 0xF8, 0x00, 0xB7, 0x2B, 0x17, 0xDE, + 0xC8, 0x81, 0x82, 0xAE, 0x76, 0x99, 0xEF, 0x3A, 0x23, 0x9C, 0x84, 0xA1, 0x51, 0x67, 0x40, 0x4E, + 0xDA, 0x97, 0x70, 0xF0, 0xD5, 0xD6, 0x4E, 0x90, 0x6D, 0xD1, 0x84, 0xA9, 0x61, 0x62, 0x63, 0xE8, + 0xC3, 0xD1, 0xC0, 0xC6, 0x1F, 0xD5, 0xA7, 0xE5, 0x67, 0x73, 0x59, 0xB3, 0xBA, 0x76, 0xCE, 0xB3, + 0xE9, 0xAC, 0xFE, 0x4E, 0x4B, 0xF9, 0xFA, 0xE6, 0xF6, 0x6F, 0x73, 0xBD, 0xE1, 0x35, 0x35, 0x21, + 0xC0, 0x83, 0x92, 0x9F, 0xD4, 0x7A, 0xA7, 0xB3, 0x61, 0xD7, 0xC5, 0x97, 0x46, 0x5D, 0x14, 0xB5, + 0xB0, 0x56, 0xDB, 0x08, 0xD3, 0xD9, 0x0A, 0x0E, 0x40, 0x85, 0x5D, 0x85, 0xAF, 0x36, 0x46, 0x6E, + 0x55, 0xB5, 0x3F, 0x52, 0xF9, 0xAD, 0x02, 0x5E, 0xA0, 0xEB, 0x89, 0x7A, 0xBB, 0xBA, 0x63, 0x9E, + 0x37, 0x46, 0x79, 0xF6, 0xBC, 0x0C, 0x43, 0x28, 0x06, 0x43, 0x56, 0x1F, 0xDE, 0xE1, 0x71, 0xD2, + 0x1C, 0x83, 0x1E, 0x3C, 0xA5, 0x5B, 0xC3, 0x45, 0x13, 0x70, 0xFB, 0xF7, 0xBF, 0x74, 0x4C, 0x37, + 0x7E, 0xA1, 0x63, 0xBA, 0xF6, 0x2F, 0x76, 0x4C, 0x95, 0x56, 0xA5, 0xF6, 0x7B, 0x19, 0x1F, 0xC9, + 0xDA, 0xC1, 0xC5, 0x1C, 0x8A, 0xB9, 0xDC, 0x2B, 0x53, 0x81, 0x29, 0x42, 0xCD, 0x0F, 0xBD, 0x2B, + 0xE8, 0x40, 0x80, 0x59, 0xDE, 0x3C, 0xA3, 0xFB, 0x5B, 0x95, 0x7C, 0xDE, 0x8E, 0x66, 0xFB, 0x28, + 0xC4, 0x36, 0x97, 0x74, 0x1C, 0x56, 0xB6, 0xC7, 0x37, 0x68, 0x5D, 0xF9, 0x42, 0x01, 0x74, 0x94, + 0x1D, 0x8D, 0x18, 0xA5, 0x5A, 0xB5, 0xCA, 0xD5, 0x66, 0xB5, 0x19, 0x5E, 0x92, 0x4F, 0x18, 0xF7, + 0xE8, 0xA4, 0x20, 0xE1, 0x8A, 0xDD, 0xDB, 0xA2, 0xB6, 0xEF, 0xB7, 0xBA, 0xBA, 0x66, 0xEF, 0xE5, + 0x86, 0x61, 0xB9, 0x37, 0xA1, 0xD7, 0xDD, 0x9C, 0x55, 0x4E, 0x99, 0x43, 0x8A, 0x85, 0xF9, 0x95, + 0x41, 0x59, 0xE0, 0x5E, 0x49, 0x34, 0xFA, 0x12, 0x68, 0x3F, 0x97, 0x9F, 0xC0, 0x78, 0xF8, 0xD1, + 0x4C, 0x24, 0x18, 0xBB, 0x1C, 0x1C, 0x6C, 0x5A, 0xEE, 0x47, 0xD0, 0x12, 0x2B, 0xD8, 0x31, 0xC4, + 0xA0, 0x29, 0xD0, 0xFF, 0x72, 0xC9, 0x08, 0x35, 0x3E, 0xD3, 0x02, 0x60, 0xBF, 0x12, 0xE0, 0x72, + 0x58, 0x0C, 0xED, 0x74, 0x2A, 0xD4, 0x2C, 0x8F, 0xE0, 0x72, 0xD4, 0xC8, 0x9C, 0x72, 0xAC, 0xCD, + 0x41, 0xE0, 0x84, 0xE0, 0xC3, 0x5F, 0x6C, 0xE8, 0x96, 0xB6, 0x74, 0x2B, 0x35, 0x75, 0x2B, 0xB4, + 0x75, 0x2B, 0x37, 0x76, 0x6B, 0xB5, 0x76, 0x2B, 0x36, 0x77, 0xEB, 0xB5, 0x77, 0xBF, 0xD0, 0xE0, + 0xE1, 0xC2, 0xE3, 0xCB, 0x42, 0xAF, 0x87, 0x45, 0xC5, 0x13, 0x78, 0xF5, 0xFC, 0xAF, 0xB3, 0x2C, + 0xAF, 0xBF, 0xD5, 0x28, 0xF6, 0xFE, 0x70, 0xB3, 0xD8, 0x5B, 0xA9, 0x61, 0x6C, 0xD4, 0x71, 0x3D, + 0xB6, 0x6E, 0xE3, 0xD8, 0x5B, 0xB3, 0x79, 0x5C, 0xAF, 0x61, 0x6B, 0x35, 0x90, 0xC7, 0xB7, 0x69, + 0xB5, 0xDB, 0xA0, 0xF5, 0x9B, 0xC9, 0xF5, 0xF4, 0xEB, 0x6A, 0x28, 0xD7, 0xD7, 0x56, 0x7F, 0x5B, + 0xB1, 0xB9, 0xEC, 0x2D, 0x6C, 0x30, 0xCD, 0x9F, 0x1D, 0xFC, 0xCD, 0xBE, 0xD2, 0x14, 0x39, 0xFD, + 0xFC, 0xEB, 0xFD, 0x25, 0xFE, 0xB9, 0x16, 0xD1, 0x2F, 0x46, 0x43, 0x9C, 0x0C, 0xEF, 0x05, 0x3F, + 0x70, 0x64, 0x7D, 0x62, 0x4B, 0x92, 0xCF, 0xD0, 0xDA, 0x8F, 0xDF, 0x90, 0xEE, 0x27, 0x50, 0x4B, + 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB7, 0x4A, 0x48, 0x52, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, + 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, + 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xB7, 0x4A, 0x48, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, + 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, + 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xB7, 0x4A, 0x48, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x25, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, + 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, + 0x6C, 0x69, 0x62, 0x2F, 0x61, 0x75, 0x74, 0x68, 0x2F, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, + 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x67, 0x2A, 0xD6, 0xE1, 0xE3, 0x05, 0x00, 0x00, 0xF1, + 0x18, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, + 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, + 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x61, 0x75, 0x74, 0x68, 0x2F, 0x61, 0x63, 0x74, 0x69, + 0x6F, 0x6E, 0x2D, 0x63, 0x6F, 0x64, 0x65, 0x2D, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6E, 0x67, 0x73, + 0x2D, 0x62, 0x75, 0x69, 0x6C, 0x64, 0x65, 0x72, 0x2E, 0x6A, 0x73, 0xCD, 0x58, 0x6D, 0x73, 0xD2, + 0x40, 0x10, 0xFE, 0xDE, 0x5F, 0xB1, 0xF2, 0x41, 0xD1, 0xC1, 0xA0, 0x8E, 0x1F, 0xB4, 0x1D, 0x66, + 0x4C, 0x01, 0x35, 0x63, 0x1B, 0x1C, 0x28, 0x3A, 0x8E, 0xE3, 0x30, 0x47, 0x72, 0xD0, 0xD3, 0xE4, + 0x2E, 0xDE, 0x5D, 0x40, 0x54, 0xFE, 0xBB, 0x7B, 0x79, 0x21, 0x84, 0x04, 0x4B, 0xD5, 0xAA, 0xF9, + 0xD2, 0x92, 0xDB, 0xDD, 0x7B, 0xF6, 0xD9, 0x97, 0xDC, 0x6D, 0xFB, 0xDE, 0x2D, 0x98, 0x31, 0x49, + 0xA7, 0x44, 0xD1, 0xFB, 0xC4, 0x0F, 0x19, 0x87, 0xC5, 0x53, 0xEB, 0xB1, 0xF5, 0x08, 0xEE, 0xB5, + 0x8F, 0x1A, 0xB1, 0xA2, 0xA0, 0xB4, 0x64, 0x9E, 0x6E, 0x9C, 0x1C, 0xA1, 0xE8, 0x11, 0xDC, 0x83, + 0xAE, 0x88, 0x56, 0x92, 0xCD, 0x2F, 0x35, 0x3C, 0x7A, 0xF0, 0xF0, 0x09, 0xBC, 0x10, 0x62, 0x1E, + 0x50, 0x70, 0xB8, 0x67, 0xE1, 0xAA, 0x11, 0x38, 0x63, 0x1E, 0xE5, 0x8A, 0xFA, 0x10, 0x73, 0x9F, + 0x4A, 0xD0, 0x97, 0x14, 0xEC, 0x88, 0x78, 0xF8, 0x27, 0x5B, 0x69, 0xC1, 0x1B, 0x2A, 0x15, 0x13, + 0x1C, 0x1E, 0x59, 0x0F, 0xA0, 0x69, 0x04, 0x1A, 0xD9, 0x52, 0xE3, 0xEE, 0x89, 0x31, 0xB1, 0x12, + 0x31, 0x84, 0x64, 0x05, 0x5C, 0x68, 0x40, 0x0C, 0x68, 0x83, 0x29, 0x84, 0x89, 0xFB, 0xD0, 0x2F, + 0x1E, 0x8D, 0x34, 0x20, 0x4C, 0x4F, 0x84, 0x51, 0xC0, 0x08, 0xF7, 0x28, 0x2C, 0x99, 0xBE, 0x44, + 0x99, 0xCD, 0x06, 0x96, 0xB1, 0xF1, 0x2E, 0xB3, 0x21, 0xA6, 0x9A, 0xA0, 0x38, 0x41, 0x85, 0x08, + 0x7F, 0xCD, 0xB6, 0x05, 0x81, 0xE8, 0x0C, 0x34, 0xC0, 0xA5, 0xD6, 0xD1, 0x71, 0xBB, 0xBD, 0x5C, + 0x2E, 0x2D, 0x92, 0xC0, 0xB5, 0x84, 0x9C, 0xB7, 0x83, 0x54, 0x50, 0xB5, 0xCF, 0x9C, 0x6E, 0xDF, + 0x1D, 0xF5, 0xEF, 0x23, 0xE4, 0x4C, 0x65, 0xCC, 0x03, 0xAA, 0x14, 0x48, 0xFA, 0x39, 0x66, 0x12, + 0xDD, 0x9D, 0xAE, 0x80, 0x44, 0x11, 0x2A, 0x90, 0x29, 0x02, 0x0D, 0xC8, 0x12, 0x84, 0x04, 0x32, + 0x97, 0x14, 0xD7, 0xB4, 0x30, 0x90, 0x97, 0x92, 0x69, 0xC6, 0xE7, 0x2D, 0x50, 0x62, 0xA6, 0x97, + 0x44, 0x52, 0x63, 0xC6, 0x67, 0x86, 0xE1, 0x69, 0xAC, 0x73, 0xC6, 0x4A, 0x00, 0x99, 0x2A, 0x09, + 0x08, 0x74, 0x84, 0x43, 0xC3, 0x1E, 0x81, 0x33, 0x6A, 0xC0, 0xA9, 0x3D, 0x72, 0x46, 0x2D, 0x63, + 0xE4, 0xAD, 0x73, 0xF1, 0x72, 0x30, 0xBE, 0x80, 0xB7, 0xF6, 0x70, 0x68, 0xBB, 0x17, 0x4E, 0x7F, + 0x04, 0x83, 0x21, 0x74, 0x07, 0x6E, 0xCF, 0xB9, 0x70, 0x06, 0x2E, 0xFE, 0x7A, 0x0E, 0xB6, 0xFB, + 0x0E, 0x5E, 0x39, 0x6E, 0xAF, 0x05, 0x94, 0xE1, 0x16, 0x12, 0xB9, 0x8C, 0x24, 0x7A, 0x60, 0x60, + 0x32, 0xC3, 0x25, 0xF5, 0x13, 0xE2, 0x46, 0x94, 0x96, 0x20, 0xCC, 0x44, 0x0A, 0x49, 0x45, 0xD4, + 0x63, 0x33, 0xE6, 0xA1, 0x6B, 0x7C, 0x1E, 0x93, 0x39, 0x85, 0xB9, 0x58, 0x50, 0xC9, 0xD1, 0x23, + 0x88, 0xA8, 0x0C, 0x99, 0x32, 0x31, 0x55, 0x08, 0xD0, 0x37, 0x66, 0x02, 0x16, 0x32, 0x4D, 0xB4, + 0x79, 0x55, 0xF5, 0xCB, 0x6C, 0xD4, 0x3E, 0x1A, 0x4C, 0x3F, 0x52, 0x4F, 0x5B, 0x3E, 0x9D, 0x31, + 0x4E, 0x5F, 0x4B, 0x81, 0x56, 0xF4, 0xAA, 0x89, 0xB0, 0x84, 0xD4, 0xAA, 0x05, 0x8D, 0xC9, 0x84, + 0xAA, 0x73, 0xE1, 0xC7, 0x01, 0x6D, 0xB4, 0xE0, 0x1B, 0x2C, 0x48, 0x10, 0xD3, 0x63, 0xD0, 0x32, + 0xA6, 0xB0, 0xC6, 0x44, 0xC9, 0x04, 0x2D, 0xDB, 0x33, 0xBB, 0x74, 0x85, 0x4F, 0x47, 0x54, 0x1B, + 0x82, 0xD5, 0x69, 0xCC, 0x02, 0xB3, 0x63, 0x07, 0x16, 0x82, 0xF9, 0xF0, 0xE0, 0xE4, 0x68, 0x41, + 0xA4, 0xD1, 0x67, 0x3E, 0xD1, 0x02, 0xDF, 0xE7, 0x51, 0x6B, 0x36, 0x2C, 0xAB, 0x1D, 0x6B, 0x16, + 0xA8, 0xF6, 0x66, 0xB5, 0x71, 0x37, 0x15, 0xA7, 0x52, 0x0A, 0x39, 0x79, 0x58, 0x2B, 0x8C, 0x6B, + 0xA9, 0x60, 0xFB, 0x5E, 0x92, 0x0B, 0xBD, 0xC4, 0x05, 0x95, 0xB8, 0x58, 0x85, 0x03, 0xD3, 0x0C, + 0x8F, 0x17, 0x10, 0x85, 0x6C, 0xA8, 0x34, 0x23, 0x3C, 0xC1, 0x17, 0xE8, 0xB1, 0x51, 0x42, 0x1B, + 0x75, 0x7A, 0x22, 0x21, 0x28, 0xC9, 0x1E, 0xAD, 0x50, 0x5E, 0x62, 0xBC, 0x22, 0xC1, 0x7D, 0x43, + 0xB9, 0xA2, 0x12, 0xB5, 0x13, 0x6C, 0x54, 0xE9, 0x84, 0xD0, 0x04, 0xF6, 0xCF, 0xD8, 0x40, 0xB4, + 0xF0, 0x2C, 0x01, 0x81, 0xD2, 0xD0, 0x9C, 0xC5, 0x3C, 0x11, 0x86, 0xE6, 0x5D, 0xF8, 0x76, 0x04, + 0xF8, 0x24, 0xEE, 0x98, 0xE7, 0xDE, 0x7E, 0x3B, 0x06, 0xB7, 0xC2, 0x20, 0x78, 0xC8, 0x95, 0x95, + 0x4A, 0x6F, 0x94, 0x9E, 0x45, 0x44, 0x92, 0x10, 0xBE, 0x55, 0x95, 0xD7, 0x40, 0xAA, 0xFE, 0x5D, + 0xD4, 0xD2, 0x95, 0x1B, 0xC3, 0x27, 0x63, 0x60, 0x43, 0x19, 0xE3, 0x58, 0x41, 0x58, 0xF5, 0x5F, + 0xD3, 0x9E, 0xB0, 0x43, 0x42, 0xCE, 0xB3, 0xB5, 0x81, 0xB3, 0x05, 0x35, 0x7B, 0xD7, 0x4E, 0xFE, + 0xE6, 0x9E, 0xEF, 0xF7, 0xB2, 0x59, 0x85, 0x9B, 0x90, 0x94, 0x3D, 0x6C, 0x06, 0xCD, 0x5B, 0x9B, + 0x94, 0xB1, 0x98, 0x72, 0x05, 0x77, 0xE3, 0x20, 0x48, 0x53, 0xBA, 0x4E, 0x39, 0xD1, 0x2E, 0x1E, + 0xC4, 0x2F, 0xC5, 0x12, 0x38, 0x5D, 0xE6, 0x89, 0x66, 0x3D, 0xCF, 0xFA, 0xB0, 0x1D, 0xEB, 0xCB, + 0xBE, 0x79, 0xD7, 0xCC, 0x57, 0xCC, 0x9B, 0x2E, 0x16, 0x28, 0xD7, 0xC9, 0x7B, 0x63, 0xD7, 0x72, + 0xDC, 0x37, 0xF6, 0x99, 0xD3, 0x9B, 0xD8, 0xC3, 0x17, 0xE3, 0xF3, 0xBE, 0x7B, 0xD1, 0x82, 0x3B, + 0x8D, 0xAA, 0x37, 0x0D, 0x08, 0x63, 0x43, 0x0C, 0xB6, 0x3A, 0xEC, 0xA6, 0xFC, 0x3E, 0x47, 0x8C, + 0x19, 0xA9, 0xD6, 0x1D, 0xD3, 0x6C, 0xB3, 0x67, 0x5D, 0xF2, 0x4C, 0xAF, 0x22, 0x2A, 0x66, 0x35, + 0x11, 0xB3, 0x62, 0x19, 0x40, 0xA7, 0xD3, 0x81, 0x3B, 0x31, 0x4F, 0xCB, 0xD6, 0xBF, 0xF3, 0xA7, + 0x1D, 0x3B, 0x77, 0x46, 0x23, 0xC7, 0x7D, 0x31, 0xE9, 0x0E, 0xB0, 0x91, 0xB9, 0xE3, 0xFE, 0x64, + 0x3C, 0x74, 0x6A, 0x91, 0xD2, 0x40, 0xD1, 0x6A, 0x20, 0xC6, 0xC3, 0xB3, 0x66, 0x3D, 0xF0, 0x1B, + 0x0B, 0xC1, 0x95, 0x48, 0x4D, 0xAE, 0x5A, 0x98, 0x8B, 0x08, 0x25, 0xA6, 0x63, 0x43, 0xE1, 0x1E, + 0x6E, 0x4F, 0x0E, 0x0C, 0xC3, 0x25, 0x36, 0xD9, 0x80, 0x9A, 0x57, 0x0E, 0xB7, 0xA3, 0x08, 0x6E, + 0x95, 0x43, 0x02, 0xB7, 0x6F, 0x97, 0x1C, 0x2D, 0x11, 0x74, 0x2A, 0x44, 0x40, 0x09, 0x6F, 0x5E, + 0x6D, 0xF6, 0xC6, 0x08, 0x2B, 0xE5, 0xEC, 0x95, 0x30, 0xB6, 0x73, 0x78, 0x9A, 0x82, 0xB7, 0xEE, + 0xFC, 0x84, 0x67, 0xC2, 0x5F, 0xEE, 0xD0, 0xD3, 0x39, 0x84, 0xC3, 0xEF, 0xDF, 0x61, 0x46, 0x30, + 0xA5, 0x0E, 0x8D, 0x81, 0xBF, 0xE2, 0x24, 0x64, 0xDE, 0x19, 0xE3, 0x9F, 0x7A, 0x22, 0xC4, 0x33, + 0xC6, 0xB5, 0xA2, 0x80, 0xFD, 0xA2, 0x1F, 0x46, 0x7A, 0x35, 0xD2, 0x12, 0xAD, 0x35, 0x0F, 0xB1, + 0x7F, 0x63, 0xE1, 0xE8, 0xBD, 0x73, 0xED, 0x73, 0xA7, 0x3B, 0x39, 0x73, 0xDC, 0x57, 0x93, 0xDE, + 0xE0, 0xDC, 0x76, 0xDC, 0xFD, 0xF4, 0x56, 0xDD, 0xEE, 0x1C, 0xC4, 0xCE, 0xA1, 0xB4, 0xB2, 0xC1, + 0x68, 0x97, 0xC8, 0xDC, 0xEF, 0x5F, 0x6E, 0xBE, 0xC6, 0xE8, 0x86, 0xBD, 0x9B, 0x60, 0x70, 0x37, + 0xA1, 0xAB, 0xDB, 0x6F, 0x27, 0x71, 0x02, 0xFD, 0xA7, 0xED, 0xB8, 0xE0, 0x7D, 0xBB, 0xD9, 0x5D, + 0xCD, 0x9C, 0x35, 0x8D, 0x4D, 0x52, 0x3B, 0xFE, 0x6E, 0x93, 0xBE, 0x09, 0xE7, 0xF3, 0x46, 0xED, + 0x0C, 0x46, 0x93, 0xD3, 0xB1, 0xDB, 0x3B, 0xEB, 0x4F, 0x9C, 0xDE, 0x61, 0x4E, 0x5C, 0xB3, 0x14, + 0xB6, 0x3D, 0xFB, 0xC7, 0x71, 0xDC, 0xE0, 0xA8, 0x0F, 0x28, 0x35, 0x8E, 0x80, 0x4A, 0x3C, 0xD9, + 0x1F, 0xD1, 0xA2, 0x9A, 0xD8, 0x94, 0x41, 0xE7, 0xAA, 0x60, 0x5E, 0xFF, 0x33, 0x8D, 0xAD, 0x4D, + 0xE2, 0xC9, 0xF7, 0xCF, 0x17, 0x52, 0x6A, 0xF8, 0x9F, 0x06, 0x21, 0x83, 0xF0, 0x17, 0x0A, 0x2A, + 0xDB, 0xC9, 0xC2, 0xEB, 0xE0, 0x27, 0xBC, 0xEF, 0xB8, 0x24, 0xA4, 0x7F, 0xB3, 0xAE, 0x6C, 0xB7, + 0x37, 0x1C, 0x20, 0x1F, 0xAF, 0xED, 0xEE, 0x2B, 0xFB, 0x45, 0x7F, 0x82, 0x4D, 0xBA, 0x7F, 0x98, + 0x4B, 0xD7, 0x2C, 0xAF, 0x1A, 0x3F, 0xFF, 0x83, 0x00, 0x6F, 0xC3, 0xF9, 0xED, 0x62, 0xBB, 0x46, + 0xB4, 0x43, 0xBC, 0x64, 0x84, 0x71, 0x98, 0xCE, 0x28, 0xAE, 0xFC, 0xA8, 0xFF, 0xC2, 0x87, 0xBD, + 0x7E, 0xA3, 0xFF, 0x81, 0xF1, 0x32, 0xA2, 0xBF, 0x49, 0x3A, 0xC3, 0x7B, 0x1A, 0x09, 0x82, 0x03, + 0xCE, 0xB2, 0xD7, 0x39, 0xCF, 0x56, 0xAD, 0xFF, 0x0F, 0x2C, 0x17, 0x68, 0x2A, 0x0C, 0xE7, 0xE7, + 0xDB, 0x43, 0x3E, 0x1D, 0x24, 0xC2, 0xA3, 0xD7, 0x81, 0x6D, 0xEB, 0xA4, 0x46, 0x3D, 0x5C, 0x40, + 0xE7, 0xF0, 0x3A, 0xA8, 0x5A, 0xD8, 0x8E, 0x59, 0xE7, 0xC0, 0xD8, 0x16, 0x67, 0xEC, 0xB2, 0x63, + 0xEB, 0xDD, 0xE9, 0xC3, 0x90, 0xEA, 0x58, 0xF2, 0x64, 0xA0, 0xB2, 0x33, 0xF7, 0xD8, 0x5C, 0xE9, + 0xA9, 0xBF, 0x73, 0xFD, 0xDF, 0x11, 0xD4, 0xC2, 0x68, 0xE7, 0x06, 0xBD, 0x18, 0xD7, 0xB8, 0xAE, + 0xB9, 0xF0, 0x57, 0x66, 0x18, 0x32, 0xD9, 0x1B, 0xBE, 0xF5, 0xF1, 0xD8, 0x1A, 0x14, 0xF2, 0xC3, + 0x74, 0x97, 0xB5, 0x99, 0x5A, 0x94, 0x50, 0xD4, 0xCB, 0x6D, 0x26, 0x33, 0xDB, 0x83, 0x87, 0xFD, + 0xF3, 0x06, 0x2B, 0x92, 0x42, 0x0B, 0x53, 0x28, 0x56, 0x32, 0xC5, 0xC8, 0xAD, 0x74, 0x60, 0x67, + 0x4A, 0x93, 0x3D, 0x0B, 0x52, 0xF8, 0xDD, 0xD9, 0xC9, 0xE9, 0xAD, 0x9B, 0xE6, 0x71, 0xE5, 0xEE, + 0xD9, 0x2A, 0x89, 0x56, 0x2F, 0x4B, 0x99, 0x46, 0x75, 0xA1, 0xAC, 0x58, 0x39, 0xDF, 0x67, 0x7A, + 0x95, 0xF7, 0x65, 0xB5, 0x2C, 0x27, 0x5E, 0x17, 0xA9, 0x79, 0x9C, 0x67, 0x73, 0xBD, 0xE4, 0x79, + 0x29, 0x0B, 0x8F, 0x37, 0xB9, 0x5B, 0x2B, 0xEC, 0x6C, 0x32, 0xED, 0x78, 0x37, 0x45, 0xCB, 0xF2, + 0x78, 0xBA, 0x3A, 0xCD, 0x0E, 0x57, 0xC7, 0x9B, 0x83, 0x58, 0x21, 0xB2, 0x2E, 0xF2, 0xB3, 0xDD, + 0xC6, 0x5C, 0x0C, 0x71, 0xD0, 0x09, 0x68, 0x07, 0xCC, 0xF1, 0xC2, 0x6C, 0x06, 0x9B, 0xFE, 0x84, + 0x63, 0x69, 0x1A, 0xF8, 0x38, 0x9D, 0x96, 0x22, 0xDC, 0x0A, 0x79, 0xFA, 0x24, 0xB3, 0xD3, 0xA6, + 0x09, 0xD5, 0x27, 0xBA, 0xC2, 0xE1, 0x55, 0x2E, 0x50, 0x77, 0x0E, 0x4B, 0xCF, 0x5C, 0x5B, 0x69, + 0x70, 0x49, 0xD4, 0x60, 0xC9, 0xF3, 0xB1, 0xA8, 0xE5, 0xE1, 0xFE, 0xCD, 0x4C, 0xBF, 0x65, 0xEC, + 0xD5, 0xB6, 0xB2, 0xA2, 0xDB, 0xE6, 0x7B, 0xBD, 0x47, 0xD1, 0x0F, 0xBB, 0xC7, 0x16, 0x2C, 0xC4, + 0xCA, 0x7A, 0xE2, 0xDC, 0x8E, 0xCD, 0x22, 0xDC, 0x34, 0xA0, 0x9A, 0x96, 0x74, 0x0A, 0x8E, 0x8A, + 0x5A, 0x2E, 0xFF, 0xAA, 0xFE, 0x97, 0x96, 0x56, 0x6E, 0x06, 0x2D, 0xA4, 0x64, 0x17, 0x4B, 0xFB, + 0x0B, 0xE4, 0xE4, 0x68, 0xDD, 0xBC, 0x7B, 0xE0, 0xD4, 0xF7, 0x27, 0x46, 0x7E, 0x00, 0x50, 0x4B, + 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x25, 0xDA, 0x83, 0xE8, + 0xAF, 0x39, 0x00, 0x00, 0x39, 0x64, 0x01, 0x00, 0x38, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, + 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, + 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x61, 0x75, 0x74, 0x68, + 0x2F, 0x61, 0x75, 0x74, 0x68, 0x2D, 0x61, 0x70, 0x69, 0x2D, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x2E, 0x6A, 0x73, 0xEC, 0x1D, 0x6B, 0x77, 0x2A, 0x35, 0xF0, 0xBB, 0xBF, 0x22, 0xF6, 0x83, + 0xA5, 0xCA, 0xA5, 0xEA, 0xF1, 0x71, 0x6C, 0xAD, 0x8A, 0x85, 0xAB, 0x68, 0x5B, 0x6A, 0xA1, 0xBE, + 0x3D, 0xB8, 0x65, 0xB7, 0xED, 0x2A, 0xEC, 0x22, 0xBB, 0xB4, 0xA2, 0xF6, 0xBF, 0x3B, 0x33, 0x79, + 0x27, 0xBB, 0xB0, 0x50, 0xB8, 0xF6, 0xAA, 0x3D, 0x7A, 0x81, 0xDD, 0xC9, 0x64, 0x32, 0x99, 0x4C, + 0x26, 0x93, 0xC9, 0x64, 0xFF, 0xF5, 0x57, 0xD9, 0x75, 0x3C, 0x8D, 0xAE, 0x82, 0x2C, 0x7A, 0x16, + 0x84, 0xE3, 0x38, 0x61, 0x77, 0x1F, 0x34, 0xDE, 0x69, 0xBC, 0xCD, 0x5E, 0xDF, 0x7F, 0x65, 0x67, + 0x96, 0x45, 0x2C, 0xCB, 0xA7, 0xF1, 0x30, 0xDF, 0x39, 0x7C, 0x05, 0x40, 0x5F, 0x61, 0xAF, 0xB3, + 0x4F, 0x46, 0xF1, 0x30, 0x4A, 0xB2, 0x08, 0xBF, 0x1F, 0xA7, 0x93, 0xF9, 0x34, 0xBE, 0xB9, 0xCD, + 0xD9, 0xDB, 0x6F, 0xBE, 0xF5, 0x3E, 0xFB, 0x2C, 0x4D, 0x6F, 0x46, 0x11, 0xEB, 0x24, 0xC3, 0x06, + 0xBC, 0x45, 0x80, 0x13, 0x0E, 0x1B, 0xB2, 0x59, 0x12, 0x46, 0x53, 0x96, 0xDF, 0x46, 0xAC, 0x39, + 0x09, 0x86, 0xF0, 0x21, 0xDE, 0xD4, 0xD9, 0xD7, 0xD1, 0x34, 0x8B, 0xD3, 0x84, 0xBD, 0xDD, 0x78, + 0x93, 0xD5, 0x10, 0x60, 0x47, 0xBC, 0xDA, 0xD9, 0x3B, 0x44, 0x14, 0xF3, 0x74, 0xC6, 0xC6, 0xC1, + 0x9C, 0x25, 0x69, 0xCE, 0x80, 0x1E, 0xC0, 0x11, 0x67, 0x40, 0x32, 0xD4, 0x13, 0xFD, 0x3E, 0x8C, + 0x26, 0x39, 0x03, 0x92, 0x87, 0xE9, 0x78, 0x32, 0x8A, 0x83, 0x64, 0x18, 0xB1, 0xFB, 0x38, 0xBF, + 0x05, 0x18, 0x55, 0x41, 0x03, 0x71, 0x7C, 0x27, 0x70, 0xA4, 0x57, 0x79, 0x00, 0xE0, 0x01, 0x14, + 0x98, 0xC0, 0xAF, 0x6B, 0x13, 0x90, 0x05, 0xB9, 0x20, 0x9A, 0xB1, 0xDB, 0x3C, 0x9F, 0x1C, 0xEC, + 0xEF, 0xDF, 0xDF, 0xDF, 0x37, 0x02, 0x22, 0xB7, 0x91, 0x4E, 0x6F, 0xF6, 0x45, 0xC3, 0xB3, 0xFD, + 0x93, 0xCE, 0x71, 0xFB, 0xAC, 0xD7, 0x7E, 0x06, 0x24, 0x8B, 0x22, 0x97, 0xC9, 0x28, 0xCA, 0x32, + 0x36, 0x8D, 0x7E, 0x9B, 0xC5, 0x53, 0x68, 0xEE, 0xD5, 0x9C, 0x05, 0x93, 0x09, 0x14, 0x08, 0xAE, + 0x80, 0xD0, 0x51, 0x70, 0xCF, 0xD2, 0x29, 0x0B, 0x6E, 0xA6, 0x11, 0xBC, 0xCB, 0x53, 0x24, 0xF9, + 0x7E, 0x1A, 0xE7, 0x71, 0x72, 0x53, 0x67, 0x59, 0x7A, 0x9D, 0xDF, 0x07, 0x53, 0xE2, 0x67, 0x18, + 0x23, 0xB7, 0xAF, 0x66, 0xB9, 0xE4, 0x98, 0x45, 0x60, 0x9C, 0x59, 0x00, 0x29, 0x34, 0x24, 0x61, + 0x3B, 0xCD, 0x1E, 0xEB, 0xF4, 0x76, 0xD8, 0xA7, 0xCD, 0x5E, 0xA7, 0x57, 0x47, 0x24, 0xDF, 0x74, + 0xFA, 0x9F, 0x77, 0x2F, 0xFB, 0xEC, 0x9B, 0xE6, 0xC5, 0x45, 0xF3, 0xAC, 0xDF, 0x69, 0xF7, 0x58, + 0xF7, 0x82, 0x1D, 0x77, 0xCF, 0x5A, 0x9D, 0x7E, 0xA7, 0x7B, 0x06, 0xBF, 0x9E, 0xB3, 0xE6, 0xD9, + 0x77, 0xEC, 0xCB, 0xCE, 0x59, 0xAB, 0xCE, 0xA2, 0x18, 0xAA, 0x98, 0x02, 0x2F, 0x27, 0x53, 0x68, + 0x01, 0x92, 0x19, 0x23, 0x2F, 0xA3, 0x90, 0x18, 0xD7, 0x8B, 0x22, 0x8B, 0x84, 0xEB, 0x94, 0x93, + 0x94, 0x4D, 0xA2, 0x61, 0x7C, 0x1D, 0x0F, 0xA1, 0x69, 0xC9, 0xCD, 0x2C, 0xB8, 0x89, 0xD8, 0x4D, + 0x7A, 0x17, 0x4D, 0x13, 0x68, 0x11, 0x9B, 0x44, 0xD3, 0x71, 0x9C, 0x61, 0x9F, 0x66, 0x40, 0x60, + 0x88, 0x68, 0x46, 0xF1, 0x38, 0xCE, 0x83, 0x1C, 0x1F, 0xF9, 0xED, 0xC2, 0x8A, 0xF6, 0x5F, 0xB9, + 0x0B, 0xA6, 0x6C, 0x30, 0x88, 0x7E, 0xCF, 0xA3, 0x24, 0xCC, 0xD8, 0x11, 0xAB, 0x51, 0x3F, 0xBF, + 0xF6, 0x1A, 0xF5, 0x77, 0x43, 0xBD, 0xD9, 0x63, 0x7F, 0xFD, 0xC5, 0x6A, 0xD7, 0xB3, 0x64, 0x88, + 0xD8, 0x58, 0x6D, 0x8F, 0xFD, 0xF9, 0x0A, 0x83, 0x3F, 0x2C, 0xCE, 0x41, 0x7A, 0x58, 0xD1, 0x10, + 0x51, 0x68, 0xA8, 0xB0, 0xCE, 0xAE, 0x08, 0x92, 0xFF, 0x79, 0x90, 0xDD, 0xAB, 0x5F, 0xA2, 0x61, + 0xDE, 0xC8, 0xA2, 0xFC, 0x7C, 0x9A, 0xE6, 0x69, 0x3E, 0x9F, 0x44, 0xDD, 0x6B, 0xA8, 0x09, 0x0A, + 0xE8, 0xBF, 0xDA, 0x9F, 0x40, 0xE0, 0x04, 0xDF, 0x0F, 0x06, 0x07, 0xEC, 0x87, 0x9F, 0xD8, 0x03, + 0xF4, 0x63, 0x96, 0xA3, 0xD4, 0x81, 0x24, 0x35, 0xA7, 0xD3, 0x60, 0x0E, 0xF4, 0xFA, 0xB5, 0xB2, + 0xB0, 0xA1, 0xCA, 0x41, 0x5D, 0x57, 0x87, 0xEC, 0x61, 0xCF, 0xC1, 0xED, 0x17, 0x22, 0x4E, 0xD7, + 0xB0, 0x55, 0x13, 0xA8, 0x05, 0x1F, 0xC5, 0xD7, 0xAC, 0x76, 0xD5, 0xB8, 0x0D, 0xB2, 0xEE, 0x7D, + 0x02, 0x54, 0x02, 0x97, 0xF3, 0x79, 0x6D, 0xB2, 0xB7, 0xC7, 0xC2, 0x1F, 0x26, 0x3F, 0x21, 0x5E, + 0xF8, 0x00, 0xD4, 0x87, 0x0A, 0xEF, 0x34, 0xCA, 0x67, 0xD3, 0xC4, 0x6E, 0x2B, 0x47, 0x4F, 0x30, + 0x08, 0xAA, 0xC1, 0xAA, 0x32, 0x4B, 0x22, 0xF0, 0x08, 0x1F, 0x0C, 0xB0, 0x2F, 0x78, 0x6F, 0x0D, + 0x53, 0xE0, 0xCB, 0x74, 0x36, 0xCC, 0xD3, 0x29, 0x10, 0x16, 0x02, 0x55, 0x0A, 0x3E, 0x6C, 0x4C, + 0x24, 0x87, 0x91, 0x66, 0x76, 0x74, 0x74, 0xC4, 0x92, 0xD9, 0x68, 0xC4, 0x3E, 0x96, 0x9D, 0x30, + 0x9C, 0x46, 0x41, 0x1E, 0xD5, 0x80, 0x84, 0x03, 0x56, 0x1B, 0x0C, 0x6C, 0x78, 0xFD, 0xAB, 0xCE, + 0x92, 0xE8, 0x9E, 0x6A, 0xD5, 0xCD, 0x79, 0xD8, 0xAB, 0xC1, 0x0F, 0x81, 0x27, 0x8C, 0xAE, 0xE3, + 0x24, 0x52, 0x9C, 0x02, 0x01, 0x4F, 0xA7, 0x79, 0x56, 0x67, 0x3B, 0x20, 0x4B, 0xD9, 0x69, 0x1A, + 0xCE, 0x46, 0xD1, 0x4E, 0x1D, 0x28, 0xBE, 0x0B, 0x46, 0xB3, 0xE8, 0x80, 0x01, 0xBD, 0x11, 0x7B, + 0x80, 0xE2, 0x02, 0xB0, 0x01, 0xBA, 0xA6, 0x3D, 0x9E, 0x8D, 0x02, 0xDE, 0x08, 0xF9, 0xB4, 0x1F, + 0x25, 0x41, 0x92, 0x37, 0x71, 0xC0, 0x36, 0x67, 0xF9, 0xED, 0x05, 0x0C, 0xF8, 0x28, 0xCB, 0x3F, + 0x07, 0x39, 0x1F, 0x45, 0x26, 0xDC, 0xE2, 0x97, 0x57, 0xC0, 0x9E, 0x60, 0x98, 0x2F, 0x04, 0x7A, + 0xDE, 0xB9, 0x68, 0xC3, 0xA0, 0x6E, 0x0F, 0x9A, 0x97, 0xFD, 0xCF, 0x07, 0xBD, 0xCE, 0x67, 0x67, + 0x83, 0xCB, 0xF3, 0xC1, 0x59, 0xFB, 0x9B, 0xC1, 0x65, 0xAF, 0x7D, 0x51, 0x0E, 0xD8, 0xEE, 0x0F, + 0x9A, 0xC7, 0xC7, 0xDD, 0xCB, 0xB3, 0xFE, 0xA0, 0x73, 0xF6, 0xBC, 0x5B, 0x0A, 0xF8, 0x69, 0xB3, + 0x7F, 0xFC, 0xF9, 0xA0, 0xD5, 0x3E, 0x69, 0xF7, 0xDB, 0xB2, 0x44, 0xAF, 0x04, 0xDA, 0x85, 0x2B, + 0x05, 0xFB, 0x4C, 0xD7, 0xDE, 0xA3, 0xEA, 0xAB, 0x40, 0x2E, 0x06, 0x6C, 0x75, 0xBF, 0x39, 0x3B, + 0xE9, 0x36, 0x5B, 0x4B, 0xEB, 0xBE, 0x3C, 0xAF, 0x04, 0x76, 0x7C, 0xD1, 0x6E, 0x42, 0x4B, 0x7A, + 0xED, 0x5E, 0x0F, 0xB4, 0xE1, 0xE0, 0xB8, 0xDB, 0xFD, 0xB2, 0xD3, 0x36, 0xA0, 0xDB, 0xA7, 0xCD, + 0xCE, 0x09, 0x60, 0xE9, 0xE3, 0xDB, 0x8B, 0xF6, 0x57, 0x97, 0xED, 0x5E, 0x7F, 0xD0, 0xFF, 0xEE, + 0xBC, 0x6D, 0x32, 0xE7, 0xA2, 0x0D, 0x7D, 0xF0, 0x75, 0xBB, 0x35, 0x38, 0x3E, 0x69, 0x76, 0x4E, + 0xF1, 0xCD, 0x5D, 0x1A, 0x87, 0xEC, 0xCD, 0x43, 0xD4, 0x63, 0x28, 0x52, 0x71, 0xC8, 0x05, 0x47, + 0x4E, 0x09, 0xB5, 0x9D, 0x46, 0x63, 0x7F, 0x96, 0xC7, 0xA3, 0x6C, 0x5F, 0xBD, 0xDD, 0xD9, 0xE3, + 0xE0, 0x61, 0x14, 0x4D, 0x06, 0x38, 0x23, 0x0D, 0xDE, 0x2A, 0x2C, 0x80, 0xEF, 0x9F, 0xE1, 0x7B, + 0x59, 0x20, 0x0E, 0xA3, 0x24, 0x07, 0xF5, 0x1B, 0x4D, 0x9D, 0x12, 0xFB, 0xFA, 0x8D, 0x84, 0x8D, + 0xA6, 0xD3, 0x74, 0x5A, 0x82, 0x18, 0xDF, 0x29, 0xC0, 0x60, 0x12, 0x0F, 0xA6, 0x5C, 0x18, 0x4B, + 0xC0, 0x01, 0xE2, 0x99, 0x80, 0x90, 0x85, 0x66, 0x19, 0xD0, 0x10, 0x8F, 0x91, 0x29, 0x83, 0xAB, + 0x59, 0x3C, 0x0A, 0x7D, 0x92, 0x10, 0xE4, 0x19, 0x07, 0x79, 0x26, 0x40, 0x64, 0x69, 0x42, 0x5B, + 0x58, 0x55, 0x0C, 0x93, 0xC4, 0xEF, 0x8A, 0x32, 0xD2, 0x30, 0xC0, 0xA1, 0x30, 0x1A, 0x80, 0x8A, + 0xC6, 0x69, 0x33, 0x2B, 0xAB, 0x8D, 0xC3, 0x3E, 0x43, 0xD8, 0x67, 0x12, 0xD6, 0xAD, 0x36, 0x80, + 0x61, 0x07, 0xD8, 0x92, 0xEB, 0xF8, 0xC6, 0x2D, 0x8E, 0xAF, 0x9E, 0xF1, 0x57, 0x12, 0x3A, 0xA7, + 0x11, 0xEF, 0x02, 0xF2, 0xA7, 0x08, 0xB3, 0xFF, 0xFA, 0xEB, 0xEC, 0xB9, 0xB0, 0xA0, 0x18, 0x8E, + 0x68, 0x26, 0x78, 0xC4, 0x6E, 0xA3, 0x00, 0x6A, 0x6D, 0xC8, 0xD9, 0xCD, 0x16, 0xC3, 0xCF, 0xDB, + 0xCD, 0x16, 0x0E, 0x63, 0xA1, 0x68, 0x77, 0xBF, 0x7D, 0x76, 0x3C, 0x8A, 0xA1, 0xF3, 0x9E, 0x09, + 0x7B, 0x68, 0xF7, 0x80, 0xED, 0x9C, 0x41, 0x2B, 0xF6, 0x9B, 0x68, 0x94, 0xED, 0xEF, 0xB0, 0x37, + 0x38, 0xBB, 0x1A, 0x37, 0x51, 0xDE, 0x0B, 0x7F, 0x15, 0x50, 0xB5, 0xBD, 0xFA, 0x2B, 0x0F, 0x8B, + 0x68, 0xC8, 0xE3, 0x71, 0x94, 0xCE, 0x72, 0x16, 0xCE, 0xA6, 0x34, 0xFF, 0xE2, 0x64, 0x32, 0x8E, + 0x47, 0xA3, 0x38, 0x8B, 0xA0, 0x99, 0x61, 0x56, 0x42, 0x5D, 0xBF, 0x73, 0xDA, 0xEE, 0x5E, 0xE2, + 0x20, 0x7A, 0xFB, 0xDD, 0x37, 0xDF, 0x7C, 0x93, 0xD7, 0x70, 0x12, 0x03, 0xC2, 0xF4, 0x1A, 0x70, + 0x43, 0x97, 0xDE, 0x81, 0x05, 0x32, 0x1C, 0x05, 0xF1, 0x38, 0x63, 0xF7, 0xB7, 0xF1, 0xF0, 0x96, + 0x0D, 0x83, 0x04, 0x4D, 0xB4, 0xAB, 0x88, 0x81, 0x8E, 0xBE, 0x03, 0x41, 0x0C, 0xE1, 0x45, 0x94, + 0x30, 0xD4, 0xE7, 0xD8, 0x0D, 0x68, 0x75, 0xCD, 0xB2, 0x3C, 0x1D, 0x83, 0x01, 0xF4, 0x6B, 0x94, + 0x50, 0xC5, 0xE5, 0xC3, 0xE9, 0x07, 0xCE, 0x95, 0x60, 0x38, 0xDD, 0xAD, 0xC3, 0xC7, 0x98, 0x7F, + 0xE4, 0x03, 0x98, 0xFF, 0x6E, 0xE9, 0xEB, 0x2C, 0xC4, 0x0F, 0xEA, 0x4A, 0x6C, 0x23, 0xFD, 0xF8, + 0x63, 0x82, 0x1F, 0xC3, 0xE4, 0x9A, 0x3E, 0x14, 0x2C, 0xD4, 0x82, 0x1F, 0x71, 0x90, 0xEF, 0xD6, + 0x39, 0x5A, 0x30, 0x4F, 0xF0, 0xC9, 0x2F, 0x79, 0x8C, 0x1F, 0xC9, 0xD5, 0x35, 0x7D, 0xA4, 0xC9, + 0x90, 0xF0, 0x64, 0xB3, 0x2B, 0xFC, 0x90, 0x66, 0x31, 0x14, 0xFA, 0xC9, 0x66, 0x40, 0x36, 0x9B, + 0x20, 0xDD, 0xD0, 0xC2, 0x68, 0x1C, 0xC4, 0x23, 0x21, 0xA0, 0x8A, 0xE7, 0x38, 0x3D, 0x71, 0xC6, + 0x56, 0xD2, 0x29, 0xA2, 0xA9, 0xE7, 0xCD, 0x5E, 0xEF, 0x9B, 0xEE, 0x45, 0x0B, 0xDE, 0x83, 0x0E, + 0x47, 0x02, 0xBE, 0x6E, 0x5F, 0x74, 0x9E, 0x7F, 0x37, 0xA0, 0xC2, 0xF8, 0x9B, 0xBE, 0xD0, 0x4C, + 0xD0, 0x39, 0xD3, 0x44, 0x9D, 0x06, 0xBF, 0xC7, 0xE3, 0xD9, 0x98, 0x05, 0xA3, 0x51, 0x7A, 0x0F, + 0x24, 0x25, 0xB3, 0xF1, 0x55, 0x34, 0x45, 0x32, 0x87, 0xB7, 0x01, 0xCE, 0x32, 0x20, 0x29, 0xD0, + 0xEB, 0x68, 0x71, 0x89, 0x0E, 0x90, 0xFD, 0x36, 0x09, 0xE6, 0xA3, 0x34, 0x08, 0x95, 0x08, 0x9C, + 0x36, 0xBF, 0x15, 0x1D, 0x30, 0x38, 0x6F, 0x7E, 0x87, 0xCA, 0x14, 0x2A, 0xFB, 0x1E, 0x75, 0xE3, + 0x5B, 0x20, 0x03, 0xCB, 0x6A, 0xC3, 0x71, 0x9E, 0xA1, 0x71, 0x7B, 0x15, 0xE4, 0x20, 0x0E, 0x61, + 0x7A, 0x9F, 0x20, 0x76, 0x30, 0xAB, 0xC1, 0x52, 0x8D, 0x48, 0x10, 0xCD, 0x9A, 0x3C, 0xBD, 0x0E, + 0x75, 0x7E, 0xD6, 0x7E, 0x44, 0x85, 0xB3, 0xC9, 0xA2, 0xEA, 0x9C, 0xD9, 0x81, 0xCF, 0x7E, 0x8F, + 0xA8, 0x0D, 0x46, 0x61, 0x59, 0x55, 0xD6, 0x24, 0xE8, 0x54, 0xB4, 0x72, 0x3D, 0x61, 0x34, 0x8A, + 0xF2, 0xA8, 0xAC, 0x2A, 0x77, 0xFA, 0x2E, 0x6D, 0x56, 0x9C, 0x58, 0xD5, 0x65, 0x11, 0xDA, 0xE7, + 0xB8, 0x6E, 0x4A, 0x7F, 0x8D, 0x23, 0x4B, 0x39, 0x08, 0xBD, 0xC0, 0x6A, 0xEF, 0x32, 0xD0, 0x3B, + 0xB0, 0xD0, 0xC8, 0xF6, 0x74, 0x8D, 0x9D, 0x33, 0x67, 0xDE, 0x1C, 0xB4, 0x2E, 0x2F, 0x9A, 0x20, + 0xD5, 0xF8, 0xFC, 0x18, 0x85, 0xF9, 0x5D, 0xB0, 0xF6, 0xDF, 0xD3, 0x8D, 0x5C, 0xB9, 0xD6, 0xB7, + 0xD9, 0x7D, 0x14, 0xFD, 0x8A, 0x75, 0xEA, 0x56, 0x2E, 0xAB, 0xF3, 0xAD, 0x77, 0xA0, 0xD2, 0xB7, + 0xDF, 0xA1, 0x9A, 0xF1, 0x9F, 0xA5, 0x3C, 0xE6, 0x0A, 0x0A, 0xBE, 0x73, 0x4D, 0x2F, 0xE8, 0x58, + 0x45, 0x78, 0x4F, 0x3A, 0x3D, 0x10, 0xD8, 0x8B, 0xEE, 0xD7, 0x1D, 0x50, 0xE2, 0x40, 0xD7, 0xD9, + 0xF3, 0xCE, 0x67, 0x82, 0x2A, 0x47, 0x8E, 0x05, 0x31, 0xFD, 0xDB, 0xC8, 0xD6, 0xD0, 0x50, 0xD3, + 0x10, 0xD4, 0x60, 0xC8, 0xE8, 0xC9, 0xE5, 0xC5, 0x09, 0x5A, 0xFC, 0xE3, 0x20, 0x2F, 0x51, 0xC8, + 0xF4, 0x0D, 0xA0, 0x06, 0xCF, 0xBB, 0x17, 0xA7, 0x4D, 0x54, 0xCC, 0xBB, 0xB8, 0x48, 0xCD, 0x0E, + 0xF6, 0xC5, 0x9C, 0x9F, 0xCF, 0xF3, 0x34, 0x1D, 0xFD, 0x1A, 0xE7, 0x8D, 0x1B, 0x5A, 0x85, 0x07, + 0x13, 0x32, 0xC4, 0xC7, 0xFB, 0x7F, 0xDE, 0xF1, 0xA9, 0xE2, 0x61, 0x1F, 0x9A, 0x8D, 0x96, 0x71, + 0xB6, 0xFF, 0xA7, 0xF8, 0xD6, 0x09, 0x1F, 0xFE, 0x04, 0xB8, 0x87, 0xDD, 0x82, 0x19, 0x44, 0xD2, + 0x35, 0x3A, 0xE1, 0x74, 0x71, 0x65, 0x3E, 0xCB, 0x40, 0x93, 0x93, 0x2A, 0x09, 0x10, 0x26, 0x02, + 0x03, 0x39, 0x4F, 0xCB, 0xA6, 0xB8, 0xF6, 0xE9, 0xE5, 0x49, 0xB3, 0xDF, 0xBD, 0x28, 0x23, 0x1E, + 0x68, 0xFF, 0xF3, 0x36, 0xCD, 0xF2, 0x87, 0xCD, 0x35, 0xA1, 0x9C, 0xCD, 0x48, 0x69, 0xFC, 0x8C, + 0xA6, 0xED, 0xE1, 0xBC, 0x22, 0xD3, 0xFB, 0xED, 0x33, 0x58, 0x40, 0x5B, 0x94, 0x2F, 0xEE, 0x96, + 0xC6, 0x34, 0x9A, 0x8C, 0x82, 0x61, 0x54, 0xDB, 0x2D, 0x22, 0x14, 0x74, 0x78, 0xE1, 0x73, 0x6E, + 0x4C, 0xE0, 0x33, 0xFA, 0x42, 0xA0, 0x45, 0x86, 0x85, 0xA6, 0x7A, 0x79, 0x97, 0x90, 0x1F, 0xC4, + 0x6E, 0xF4, 0x92, 0x5E, 0xAA, 0xD0, 0x5A, 0x09, 0xBA, 0xF5, 0x66, 0x97, 0x0F, 0x5D, 0x0E, 0x8A, + 0x43, 0xB5, 0xE2, 0x20, 0xC5, 0x56, 0x95, 0x4C, 0x2E, 0xE4, 0xB9, 0x69, 0x03, 0x6E, 0xE9, 0xD6, + 0x20, 0xE5, 0x4B, 0x9E, 0x99, 0x88, 0xC1, 0xB2, 0x91, 0xAB, 0x05, 0x9A, 0xCE, 0xB5, 0x8F, 0xE2, + 0x1B, 0x7C, 0xDB, 0x95, 0x2F, 0xFB, 0xF0, 0xEE, 0xF0, 0x15, 0xC3, 0x1F, 0xE1, 0xBF, 0x96, 0x4B, + 0x69, 0xFF, 0xCD, 0x0F, 0x3B, 0xC7, 0xB4, 0xD6, 0xDD, 0xC1, 0xE5, 0xFB, 0xCE, 0x90, 0x7F, 0x3F, + 0x2C, 0x05, 0xBE, 0x9C, 0x84, 0x0A, 0x78, 0x06, 0xDF, 0x97, 0x00, 0x23, 0x6B, 0x04, 0x30, 0xFF, + 0x4E, 0xEB, 0x63, 0x1F, 0x96, 0x1C, 0x2A, 0xFE, 0x63, 0xB4, 0x4C, 0x1F, 0xF6, 0x44, 0x7F, 0xB4, + 0x68, 0x2D, 0x0D, 0xEE, 0x1C, 0x12, 0x41, 0x32, 0x44, 0x61, 0xB4, 0x62, 0x27, 0xDC, 0x46, 0xA3, + 0x09, 0xC9, 0x1A, 0x5A, 0x85, 0xE9, 0x6C, 0x3A, 0xE4, 0x02, 0x2A, 0x3D, 0x00, 0x88, 0x4D, 0xF5, + 0x09, 0x2D, 0x77, 0x05, 0xD4, 0xE5, 0x74, 0xF4, 0x29, 0xB7, 0xCA, 0xA1, 0x22, 0xAC, 0xE2, 0x13, + 0x30, 0x4A, 0xB2, 0x0C, 0x40, 0x8B, 0xBC, 0x3B, 0xD4, 0x57, 0xF8, 0x47, 0x23, 0xDC, 0xAE, 0xEA, + 0x4A, 0xA0, 0x31, 0x9C, 0x0E, 0x0D, 0x0E, 0xAC, 0xCA, 0x7C, 0x32, 0x01, 0x43, 0x68, 0xCC, 0xFE, + 0x84, 0xF7, 0x30, 0x56, 0x1E, 0x98, 0x92, 0x41, 0x0B, 0x9B, 0x7C, 0xCC, 0x3A, 0xAD, 0x46, 0x59, + 0x49, 0xA1, 0x88, 0xA8, 0x1C, 0x68, 0x95, 0x49, 0x1A, 0x27, 0x39, 0x6B, 0x9E, 0x77, 0xE4, 0x0B, + 0x5D, 0xD0, 0x20, 0x47, 0x3C, 0xDB, 0xA7, 0x4F, 0xD9, 0xB8, 0x12, 0x6E, 0xD4, 0xC0, 0x6D, 0x58, + 0x97, 0xD8, 0x0C, 0x2F, 0x0C, 0xB9, 0x7F, 0x64, 0xED, 0x47, 0x47, 0x72, 0xBD, 0x09, 0x10, 0x12, + 0x18, 0xB5, 0xEA, 0xDD, 0x5B, 0xBB, 0x86, 0xB3, 0x85, 0x3B, 0x63, 0x00, 0x21, 0xBC, 0x82, 0x7F, + 0x0F, 0xED, 0xE7, 0xBA, 0x98, 0xF8, 0x76, 0x68, 0xD5, 0x65, 0xB8, 0x3F, 0x6A, 0x7B, 0x92, 0x10, + 0x0B, 0xC1, 0x6C, 0x3A, 0x7A, 0xCE, 0xF5, 0xD0, 0x91, 0x58, 0x9A, 0x70, 0xB5, 0xD4, 0x23, 0x5E, + 0xD5, 0xAA, 0xA9, 0x8E, 0xBA, 0xC2, 0xAC, 0xFF, 0x70, 0x4E, 0x38, 0x60, 0x91, 0xA8, 0xFD, 0x73, + 0xF8, 0x55, 0xDB, 0x33, 0x81, 0xC8, 0x4D, 0xA3, 0xBE, 0xAB, 0x6F, 0xD1, 0x28, 0x8B, 0x16, 0xD2, + 0xB9, 0x4C, 0x7B, 0xBB, 0x48, 0x1F, 0x5C, 0xD9, 0xBB, 0x20, 0x57, 0x59, 0x86, 0xAA, 0xC2, 0x15, + 0xF7, 0x29, 0xFC, 0x9E, 0x80, 0x09, 0x43, 0xBA, 0x38, 0x45, 0x08, 0xBD, 0x0C, 0x22, 0x19, 0x8A, + 0xD0, 0x0E, 0x5F, 0x2C, 0x98, 0x47, 0x0F, 0xB8, 0x08, 0x47, 0xD9, 0x92, 0xB3, 0x16, 0x89, 0x56, + 0x02, 0x85, 0x3D, 0x81, 0x4C, 0xC9, 0xC9, 0x05, 0x25, 0xE8, 0x77, 0x46, 0x85, 0xD2, 0x09, 0x0A, + 0x56, 0x00, 0xEB, 0x91, 0x30, 0x8C, 0xC5, 0x57, 0x5D, 0x37, 0x92, 0x05, 0x2B, 0x9B, 0x0C, 0xE6, + 0x59, 0xB0, 0xEA, 0xC4, 0x8A, 0x40, 0xA2, 0x85, 0x3F, 0x6C, 0x08, 0x80, 0xE7, 0xB7, 0xBA, 0x2E, + 0xE1, 0x1A, 0xFC, 0x13, 0x9C, 0x68, 0x63, 0x58, 0x30, 0x7E, 0xC8, 0xC9, 0xFC, 0xE8, 0x01, 0x6B, + 0xB3, 0xDB, 0x6C, 0xB1, 0xA3, 0x61, 0x0A, 0x7C, 0x89, 0x9C, 0x6B, 0x47, 0x1E, 0x2E, 0x68, 0xE1, + 0xB9, 0xE5, 0xAF, 0x05, 0x36, 0xD4, 0x45, 0xCB, 0x4C, 0xD1, 0x23, 0x1F, 0x31, 0xF6, 0x29, 0x00, + 0xE3, 0x87, 0xEB, 0xEB, 0xA4, 0x87, 0x88, 0xEF, 0x5C, 0x0E, 0x70, 0x47, 0x70, 0x1A, 0xD0, 0xE4, + 0xC4, 0xD0, 0x2F, 0x4A, 0x11, 0xA8, 0x5A, 0x74, 0x4D, 0xA4, 0xEA, 0xCE, 0x39, 0x77, 0x8F, 0x7C, + 0x29, 0x95, 0xA3, 0xE6, 0x00, 0x29, 0xD2, 0xC3, 0xA9, 0xEE, 0xC1, 0xA9, 0x3A, 0x0E, 0xF4, 0x57, + 0x1F, 0x0A, 0x5A, 0x7C, 0x80, 0xFF, 0xA0, 0x36, 0xDE, 0xDD, 0xB5, 0xDF, 0x3F, 0x1C, 0x16, 0xD1, + 0x86, 0xCC, 0x2C, 0x1E, 0x79, 0x03, 0x5B, 0xEC, 0xEB, 0x46, 0x4B, 0xF6, 0x6C, 0x54, 0xFB, 0xFB, + 0xAC, 0xA7, 0x45, 0x42, 0x8B, 0x0D, 0x51, 0x32, 0x8D, 0x60, 0xFC, 0x15, 0x88, 0xAF, 0xCD, 0xF3, + 0x22, 0x02, 0x04, 0x75, 0xB2, 0x0B, 0xB1, 0x4D, 0x7F, 0x5A, 0x63, 0x56, 0xB9, 0x6C, 0x2B, 0x4B, + 0x88, 0xEA, 0x51, 0x4B, 0x4E, 0xAA, 0x09, 0x07, 0xAA, 0x33, 0x62, 0x89, 0xDD, 0xDD, 0x7E, 0x53, + 0x84, 0x9C, 0x37, 0x50, 0x98, 0x47, 0x77, 0x91, 0x53, 0xC8, 0x53, 0x3A, 0x3E, 0x13, 0xC0, 0x6D, + 0xA5, 0x45, 0x4F, 0x6A, 0xDF, 0x35, 0x45, 0x10, 0xA9, 0x7E, 0x55, 0xF9, 0x0A, 0x1B, 0x71, 0x76, + 0x96, 0x26, 0xED, 0xF1, 0x24, 0x9F, 0x0B, 0x26, 0xEB, 0x82, 0xB2, 0xA4, 0xAD, 0xF9, 0xA6, 0xE9, + 0x3D, 0xBA, 0xC8, 0xA5, 0x03, 0xB0, 0x21, 0x4D, 0x49, 0xE4, 0x76, 0x1B, 0x9F, 0xD5, 0xE4, 0x1B, + 0x7C, 0xC2, 0x9D, 0x4F, 0xF4, 0xFC, 0x18, 0xBC, 0x4E, 0x8D, 0xCE, 0xD9, 0xD7, 0xCD, 0x93, 0x4E, + 0x0B, 0xBD, 0xA5, 0xAD, 0x36, 0x6C, 0x22, 0x35, 0x4F, 0xC0, 0x8A, 0x7B, 0x0E, 0xCE, 0x0E, 0xBE, + 0x81, 0x15, 0xA2, 0x3C, 0xC0, 0xFA, 0xD0, 0x9C, 0x34, 0xC9, 0x8A, 0x42, 0x5C, 0x0D, 0xD8, 0x01, + 0x04, 0x41, 0x02, 0xD2, 0xFF, 0xE0, 0xBB, 0x47, 0xBB, 0x40, 0x9E, 0xFF, 0xF7, 0x06, 0xDB, 0xED, + 0xB5, 0xBE, 0xE4, 0xC6, 0x03, 0x3A, 0x94, 0x60, 0x37, 0x08, 0x3C, 0x29, 0xC3, 0x74, 0x96, 0xE4, + 0xE8, 0x34, 0x82, 0x25, 0x01, 0xE2, 0xA0, 0x2D, 0x29, 0xF0, 0xE4, 0x99, 0x15, 0x05, 0xB8, 0xB1, + 0x84, 0x53, 0x9A, 0x50, 0x79, 0x8D, 0xF2, 0x1A, 0x9A, 0x23, 0x20, 0x34, 0x01, 0xAB, 0xE6, 0x2E, + 0x1A, 0xCD, 0x11, 0x0F, 0x11, 0xF4, 0x59, 0xB7, 0xFB, 0xD9, 0x49, 0x1B, 0x9C, 0x1D, 0xDD, 0xCB, + 0x16, 0x2E, 0xE3, 0xBE, 0x68, 0x1F, 0xF7, 0x61, 0x3E, 0xBF, 0x8B, 0xA7, 0x69, 0x32, 0x86, 0x7A, + 0x51, 0x98, 0x62, 0xDC, 0xBA, 0x6B, 0xEC, 0x3A, 0x23, 0xE6, 0xC1, 0xFA, 0x35, 0x10, 0x12, 0xA2, + 0x65, 0x53, 0x7D, 0x3F, 0x2C, 0x10, 0xB0, 0xA2, 0xB7, 0x0F, 0x45, 0xBB, 0x31, 0x25, 0x43, 0x02, + 0x2C, 0xB8, 0x9A, 0x34, 0xC9, 0xF8, 0x46, 0x04, 0x0B, 0x60, 0x27, 0x42, 0x4F, 0x46, 0xD2, 0x18, + 0x12, 0x16, 0x9A, 0x36, 0xF9, 0x8D, 0x6D, 0x8B, 0xD5, 0xAD, 0xB0, 0x41, 0x36, 0x03, 0xCB, 0x50, + 0x48, 0x99, 0xDE, 0xA4, 0xAB, 0x2D, 0x45, 0x5A, 0x67, 0xA2, 0xE8, 0x61, 0x91, 0x15, 0x97, 0xEB, + 0x16, 0xBC, 0x1C, 0x26, 0x9D, 0x53, 0x50, 0xAE, 0x5A, 0x74, 0x63, 0xB0, 0x9E, 0x15, 0x2C, 0xC0, + 0xA5, 0xFC, 0xB3, 0x8C, 0xC1, 0xBA, 0xAA, 0xB0, 0x44, 0xEB, 0x09, 0x66, 0x37, 0x86, 0xB0, 0x6A, + 0x22, 0xE5, 0x53, 0x67, 0x66, 0x79, 0xDC, 0x73, 0x74, 0x14, 0xE3, 0xA0, 0xCC, 0x40, 0x1C, 0x2C, + 0xB2, 0x10, 0x35, 0x80, 0xE2, 0xC0, 0x91, 0xA2, 0x6D, 0x05, 0x23, 0x72, 0xF0, 0x08, 0x2B, 0x92, + 0xAF, 0xEA, 0x5E, 0x98, 0x1D, 0xE9, 0x91, 0xBA, 0xCC, 0x51, 0x50, 0x3E, 0x55, 0x70, 0x5C, 0x87, + 0xFF, 0x1B, 0x98, 0x1B, 0x33, 0x30, 0x97, 0x0E, 0xA3, 0xED, 0xD8, 0x9A, 0x34, 0xDA, 0x7C, 0xDC, + 0xD6, 0xF0, 0xD3, 0xA8, 0x17, 0x1B, 0x01, 0x20, 0x59, 0x50, 0x77, 0x45, 0xEB, 0x0A, 0x80, 0x41, + 0xDA, 0xD5, 0x88, 0x3B, 0x70, 0x07, 0xE3, 0xC3, 0xDE, 0xE2, 0xD9, 0xA5, 0x82, 0xE2, 0xC1, 0x89, + 0xA6, 0xF8, 0xCD, 0xDE, 0x9E, 0xF2, 0x9C, 0x20, 0xC0, 0x33, 0x15, 0x08, 0xF2, 0x79, 0xBF, 0x7F, + 0xCE, 0x86, 0x64, 0x45, 0x88, 0x0D, 0x21, 0x18, 0xFC, 0x99, 0x0E, 0x16, 0x01, 0x51, 0xD9, 0x01, + 0x87, 0x0D, 0xEC, 0xC2, 0xF1, 0xFD, 0x1F, 0xC0, 0x20, 0xF6, 0x87, 0xD2, 0xF1, 0x78, 0x96, 0xC4, + 0x43, 0xDA, 0x24, 0x92, 0xE1, 0x3B, 0xC2, 0xE1, 0x25, 0x95, 0x87, 0x72, 0xBF, 0xD0, 0xE3, 0xCF, + 0xC1, 0x77, 0xC8, 0xED, 0x95, 0x75, 0x66, 0x2D, 0x1B, 0x83, 0x33, 0x45, 0xA9, 0xE2, 0x36, 0x94, + 0x34, 0x34, 0xFD, 0xFE, 0x67, 0xAF, 0xCA, 0x00, 0x86, 0xD7, 0x5E, 0x93, 0x22, 0x81, 0x91, 0x3F, + 0x73, 0x29, 0x02, 0xD3, 0x9B, 0x19, 0x5A, 0x14, 0x3C, 0x70, 0xC5, 0x19, 0xFA, 0x4E, 0x2D, 0xB6, + 0x2C, 0xF5, 0x91, 0x4B, 0xAE, 0xB5, 0x5B, 0x5D, 0xBB, 0x96, 0x98, 0xB4, 0xBB, 0xD4, 0x07, 0xBB, + 0xA6, 0x88, 0x54, 0x11, 0x6C, 0x22, 0x46, 0x8B, 0x76, 0x91, 0x54, 0x39, 0x8D, 0x41, 0x11, 0x32, + 0xB6, 0x94, 0x85, 0x99, 0x99, 0x4E, 0xC1, 0x26, 0x0C, 0x35, 0x94, 0x21, 0x4E, 0x5F, 0x73, 0x53, + 0x17, 0xBD, 0x4C, 0x1C, 0xD7, 0xF3, 0x00, 0xA7, 0xCE, 0x4E, 0x72, 0x9D, 0x32, 0xAE, 0x8C, 0x1A, + 0xAC, 0x09, 0x7C, 0x9E, 0x25, 0x7A, 0xFB, 0x4D, 0x2B, 0x1F, 0xC4, 0xC0, 0xED, 0x88, 0x71, 0x8A, + 0x5B, 0x93, 0xD7, 0xD0, 0x6E, 0x92, 0x23, 0xA8, 0xF1, 0x26, 0x46, 0x45, 0x25, 0x08, 0x01, 0xE3, + 0xF4, 0x1A, 0x6B, 0x88, 0x13, 0xB2, 0xAD, 0x19, 0xEC, 0x95, 0x8F, 0x42, 0x0C, 0xAD, 0x9A, 0x80, + 0x08, 0x45, 0x21, 0xE1, 0x49, 0xB8, 0xD1, 0x0C, 0x4F, 0xB9, 0x1D, 0x9D, 0x50, 0x38, 0x9B, 0x52, + 0x8E, 0x12, 0x15, 0x6A, 0x29, 0x87, 0x52, 0xF9, 0x4A, 0x52, 0x6C, 0x14, 0xBA, 0xF7, 0x5C, 0x6C, + 0x58, 0x7E, 0x81, 0xB7, 0x51, 0x75, 0xFC, 0x9D, 0xE0, 0x8C, 0x5D, 0x55, 0x4D, 0x54, 0x55, 0x2F, + 0xC0, 0x6C, 0x44, 0x45, 0xF1, 0xD2, 0x5F, 0x46, 0x73, 0x7B, 0x15, 0x3B, 0xBE, 0x0E, 0xDA, 0xC9, + 0x34, 0x1D, 0x8D, 0x50, 0x38, 0x3B, 0x21, 0x8F, 0x7F, 0x51, 0xCB, 0x4E, 0x8C, 0x33, 0x03, 0x8F, + 0xEE, 0xFC, 0x0C, 0xB8, 0xEB, 0xBE, 0x9A, 0xDC, 0x82, 0xB3, 0x15, 0x09, 0x70, 0x5F, 0x44, 0x84, + 0x2F, 0x0A, 0x9B, 0xB9, 0x78, 0x23, 0x65, 0x44, 0xAC, 0x34, 0x2F, 0xA8, 0x6B, 0xAC, 0xFE, 0xFB, + 0x15, 0xC8, 0x5A, 0xD0, 0x55, 0x58, 0x52, 0x05, 0x42, 0x21, 0x30, 0xF4, 0x9A, 0x7C, 0xE9, 0x0E, + 0x86, 0x57, 0x6B, 0xFC, 0xBD, 0x6E, 0xAF, 0x3B, 0x24, 0xC4, 0x5E, 0x9A, 0x44, 0xF0, 0x03, 0xC0, + 0xFF, 0xE4, 0xB9, 0x7C, 0x24, 0xB1, 0x67, 0xA9, 0x68, 0xCF, 0x38, 0x22, 0xB3, 0x0E, 0x65, 0x21, + 0xB8, 0x83, 0xF5, 0x0F, 0xAE, 0x0A, 0x88, 0xA6, 0x2C, 0xBE, 0x49, 0x66, 0x93, 0xB3, 0xE8, 0xFE, + 0x32, 0xC3, 0x4D, 0x7E, 0xF8, 0x17, 0x04, 0x27, 0x85, 0x76, 0x98, 0xF1, 0x19, 0x0D, 0xD5, 0x0D, + 0x81, 0xD5, 0x79, 0x1D, 0x05, 0xC1, 0x8E, 0x54, 0x73, 0x9D, 0x3E, 0x01, 0x85, 0xA1, 0x5E, 0x29, + 0xA6, 0xE3, 0xC3, 0x2F, 0x7A, 0xDD, 0xB3, 0x06, 0x9F, 0x2A, 0xE3, 0xEB, 0x79, 0x4D, 0x32, 0xE4, + 0x50, 0xD5, 0x35, 0x8B, 0xC3, 0x0B, 0x19, 0x89, 0x78, 0x54, 0x20, 0x1E, 0xA4, 0xB4, 0x7C, 0x97, + 0x6F, 0x83, 0xBB, 0xA3, 0x01, 0x8F, 0xE0, 0x69, 0x0D, 0x85, 0x31, 0xBD, 0x2E, 0x23, 0x90, 0xD0, + 0xEC, 0xCE, 0x12, 0x1E, 0x69, 0x15, 0xEE, 0x02, 0x6D, 0x66, 0xD5, 0x7B, 0xA0, 0x12, 0x15, 0x7B, + 0x17, 0xAD, 0x64, 0x4B, 0xD0, 0x53, 0xFF, 0x6D, 0x7A, 0x3D, 0x7B, 0xD9, 0x69, 0xC1, 0x42, 0x16, + 0x06, 0x9E, 0xD8, 0x72, 0x64, 0xD7, 0xD4, 0x27, 0x6C, 0x07, 0x08, 0xDF, 0x81, 0xFD, 0x92, 0x8C, + 0x22, 0x18, 0x02, 0x2E, 0x45, 0x2C, 0x81, 0x50, 0x92, 0x08, 0x29, 0x65, 0x9C, 0xDD, 0x6A, 0x39, + 0xF8, 0x20, 0x79, 0xE4, 0xB2, 0xC8, 0x18, 0x38, 0x2E, 0x7B, 0x4A, 0xD9, 0x21, 0xD9, 0xE0, 0xA3, + 0xD8, 0x0A, 0x0B, 0x5A, 0x9D, 0xDE, 0xF9, 0x49, 0xF3, 0xBB, 0xC1, 0x59, 0xF3, 0xB4, 0x0D, 0xE1, + 0x70, 0x3E, 0x2F, 0x7E, 0xDC, 0x31, 0x48, 0xF8, 0x71, 0x87, 0x5D, 0xD3, 0x33, 0x88, 0x40, 0x29, + 0x15, 0x62, 0x78, 0xB5, 0xF3, 0xA3, 0xC7, 0x3E, 0xC9, 0x34, 0x88, 0x92, 0xB1, 0x07, 0x97, 0xD6, + 0x14, 0x5E, 0x91, 0xCB, 0xFE, 0x31, 0x43, 0x5D, 0x27, 0xCB, 0x96, 0xF1, 0x59, 0xA3, 0xA8, 0xCC, + 0xE6, 0x4E, 0xAF, 0xDB, 0x02, 0xCC, 0x82, 0xDB, 0x3E, 0xA2, 0xAD, 0x30, 0xBB, 0x7D, 0x76, 0xD1, + 0x3D, 0x39, 0x39, 0x05, 0x17, 0x0A, 0xC4, 0xD4, 0x94, 0xF2, 0x5B, 0xAB, 0x9A, 0x7E, 0xFC, 0x38, + 0x96, 0x43, 0x11, 0x4B, 0xE7, 0xED, 0xBA, 0x0C, 0xDD, 0x75, 0x3A, 0x43, 0xCD, 0xBB, 0x32, 0xBA, + 0x49, 0x4C, 0x89, 0x19, 0xA8, 0xCB, 0x49, 0xC4, 0x6D, 0xEF, 0x34, 0x71, 0x28, 0xC6, 0xCE, 0x70, + 0xBB, 0xC6, 0xD7, 0x55, 0x6E, 0xCF, 0x48, 0xFE, 0x8A, 0x8A, 0x09, 0xEE, 0x8C, 0xEF, 0xEC, 0x65, + 0xB7, 0xE9, 0x6C, 0x14, 0x52, 0x43, 0x04, 0xA1, 0x18, 0x3A, 0x2C, 0x5B, 0xC5, 0x41, 0xC5, 0x2E, + 0x20, 0xD4, 0x5B, 0xE6, 0x21, 0x3B, 0xD7, 0x18, 0x6B, 0x1E, 0x35, 0xD4, 0xBD, 0xDB, 0x70, 0x91, + 0x9D, 0x7F, 0xDE, 0x3D, 0x6B, 0x0F, 0xCE, 0x2E, 0x4F, 0x3F, 0x6D, 0x5F, 0x94, 0xF4, 0xAF, 0xD1, + 0xD4, 0xF5, 0x3A, 0x57, 0x29, 0x22, 0xD5, 0xC1, 0x56, 0x27, 0xB7, 0x1B, 0x6F, 0xBD, 0xF7, 0x0E, + 0x30, 0x0E, 0x78, 0x16, 0x4C, 0x43, 0x15, 0x0E, 0x9F, 0x1B, 0x33, 0x91, 0xEE, 0x7F, 0x7F, 0xCE, + 0x93, 0xAB, 0x5E, 0xBB, 0x7F, 0x3A, 0xDC, 0x42, 0xB2, 0x1B, 0xD3, 0x60, 0xCF, 0x53, 0x8C, 0xB4, + 0x0E, 0xA0, 0x86, 0x08, 0xCC, 0x5B, 0xDE, 0x35, 0x36, 0x0C, 0x85, 0xDA, 0xDF, 0x06, 0x77, 0x11, + 0xD0, 0x1E, 0x25, 0x6A, 0x99, 0x4A, 0xB6, 0x3D, 0xC4, 0xA2, 0x99, 0x75, 0x04, 0x76, 0xD7, 0xB2, + 0x26, 0xEB, 0x77, 0xFB, 0xE7, 0xE4, 0xB0, 0x0E, 0x7D, 0xA4, 0x52, 0x44, 0xA1, 0x18, 0xBC, 0x03, + 0xB3, 0x13, 0x6D, 0x02, 0x08, 0x61, 0xCF, 0x87, 0x8D, 0x2D, 0x0D, 0x5C, 0x08, 0x49, 0x7B, 0xDE, + 0x3C, 0x06, 0x8F, 0x43, 0x0F, 0x66, 0x8D, 0xD3, 0xE7, 0x4D, 0xC3, 0x1A, 0xD5, 0xED, 0x8A, 0x33, + 0x69, 0x4D, 0x1A, 0xA3, 0xEB, 0xA1, 0xC0, 0xAE, 0x55, 0x81, 0x27, 0x60, 0x2C, 0x3C, 0x49, 0xC3, + 0xF6, 0xCF, 0x20, 0x99, 0x3F, 0x98, 0xE6, 0xAD, 0x4D, 0xB1, 0x6F, 0xE0, 0x96, 0x58, 0xAA, 0xE7, + 0x4E, 0x29, 0x39, 0x1A, 0x97, 0xDB, 0xA5, 0xD3, 0xE0, 0xDE, 0xB3, 0x46, 0x15, 0x11, 0xDE, 0x1B, + 0x1E, 0x7F, 0xB7, 0x9A, 0xF1, 0x9A, 0xA7, 0xB0, 0x9A, 0x5D, 0x64, 0xA1, 0x4A, 0x0E, 0x6A, 0xEB, + 0xF4, 0xE9, 0x58, 0xA6, 0x88, 0xAF, 0x8A, 0x29, 0x25, 0x39, 0xB6, 0x25, 0x2B, 0x4A, 0x45, 0x3E, + 0x75, 0x5A, 0x1B, 0x32, 0x88, 0x96, 0x95, 0xE2, 0xDA, 0x6B, 0x77, 0x1B, 0x8D, 0x71, 0xED, 0x21, + 0x2D, 0xF5, 0x8B, 0x4C, 0x21, 0x9F, 0xD3, 0xAB, 0x18, 0x41, 0x55, 0xFB, 0x91, 0x86, 0xC3, 0x9E, + 0x33, 0x71, 0xF6, 0xD1, 0x2B, 0x05, 0xFF, 0xE1, 0x72, 0x1C, 0x34, 0xC2, 0x28, 0x85, 0x2F, 0x50, + 0x3D, 0x2E, 0x1E, 0x0D, 0xCF, 0x1E, 0x1C, 0x12, 0xA2, 0xDF, 0x61, 0x04, 0x5B, 0x1F, 0xB8, 0xBE, + 0x94, 0x87, 0x76, 0xC8, 0x2B, 0x83, 0xCB, 0x99, 0xCC, 0x40, 0x8A, 0x86, 0x3B, 0x9D, 0xF4, 0x98, + 0x26, 0x80, 0x15, 0x36, 0x0E, 0x7A, 0xE4, 0x63, 0x14, 0xFA, 0x62, 0x0C, 0x91, 0x7B, 0x70, 0xC8, + 0x47, 0x4C, 0xD3, 0xE2, 0x18, 0x56, 0x24, 0xDC, 0x3D, 0xA8, 0xA0, 0x81, 0x66, 0x72, 0x23, 0x6E, + 0x5E, 0x0F, 0x83, 0xC1, 0xEE, 0x77, 0x0A, 0x10, 0xBB, 0x5E, 0x67, 0xA8, 0x79, 0xB4, 0xCC, 0x36, + 0xE5, 0x1A, 0x65, 0x89, 0x3D, 0xC2, 0x81, 0x4A, 0x0D, 0x20, 0x7A, 0x5B, 0x20, 0xEC, 0xB6, 0x39, + 0xDA, 0x46, 0xA8, 0x9A, 0x55, 0x66, 0x2B, 0x63, 0x95, 0xA2, 0x86, 0x7D, 0x16, 0x52, 0x85, 0xEB, + 0x31, 0x91, 0x8A, 0x96, 0x31, 0x50, 0xAA, 0x58, 0x8B, 0x87, 0xE8, 0xB4, 0x2D, 0x65, 0x97, 0x2C, + 0x50, 0xD9, 0x90, 0x07, 0x64, 0x35, 0xB7, 0xF0, 0x92, 0x31, 0x22, 0xC1, 0x1E, 0x39, 0x48, 0x08, + 0x0D, 0x54, 0xFF, 0x24, 0x47, 0x0A, 0xD8, 0xA1, 0xFD, 0x2E, 0xEE, 0x41, 0xF8, 0x9D, 0x2D, 0xE9, + 0x5E, 0xAF, 0xBF, 0xA1, 0xA0, 0xEA, 0xED, 0xC5, 0xF6, 0x0D, 0x8F, 0x61, 0xDB, 0x8F, 0x60, 0x77, + 0x40, 0xA2, 0x7F, 0x6A, 0x26, 0x8E, 0x61, 0xDC, 0x98, 0xE4, 0x6E, 0xD5, 0x71, 0xC7, 0xFD, 0x2A, + 0x6D, 0xA8, 0x46, 0x9C, 0xF6, 0xAA, 0xEA, 0xBB, 0xE3, 0x91, 0x7B, 0x4D, 0xDA, 0x14, 0x97, 0x65, + 0x8B, 0x3D, 0x3A, 0x47, 0xC5, 0x1E, 0x1D, 0x1E, 0x06, 0xA8, 0x0C, 0x9C, 0xCF, 0x83, 0x0C, 0xF7, + 0xDA, 0xE9, 0x10, 0xC3, 0xFD, 0x2D, 0x40, 0xC3, 0x39, 0x10, 0x27, 0xC4, 0xA3, 0xD8, 0x3E, 0xAB, + 0x62, 0x5B, 0xD1, 0x3C, 0x54, 0xD1, 0x44, 0xC3, 0x0E, 0xBB, 0x4F, 0xA7, 0x1A, 0x58, 0x9B, 0x7F, + 0xE7, 0xFA, 0x95, 0x8F, 0x07, 0x8E, 0xBD, 0xE0, 0xE0, 0x0C, 0xAB, 0xD8, 0x75, 0x82, 0x5C, 0x74, + 0xD8, 0x85, 0x25, 0xCF, 0xD1, 0x3E, 0x95, 0xAF, 0x6C, 0x5B, 0xAC, 0x99, 0x8B, 0x73, 0xB6, 0x45, + 0xAF, 0xB5, 0x81, 0xEB, 0xBE, 0xCD, 0x82, 0x04, 0xB6, 0xDD, 0x8F, 0x6F, 0xA3, 0xE1, 0xAF, 0xCE, + 0x2B, 0xBD, 0xDC, 0xF5, 0x4A, 0x89, 0x63, 0x19, 0xAA, 0xCA, 0xCC, 0x79, 0xCF, 0xBB, 0xA2, 0x17, + 0x27, 0x43, 0x8B, 0x1A, 0xD1, 0xA7, 0xC8, 0x2F, 0xBD, 0x17, 0x9D, 0x26, 0xA3, 0x39, 0x8C, 0x71, + 0x5B, 0x74, 0x94, 0x74, 0xEB, 0x08, 0x1E, 0xBD, 0x7D, 0x54, 0x28, 0x64, 0x7E, 0x4F, 0xA1, 0xE8, + 0x94, 0xC1, 0xEA, 0xD6, 0x8F, 0xF2, 0x25, 0x30, 0x62, 0xCC, 0x85, 0xCD, 0xA5, 0x80, 0xB0, 0xA5, + 0x93, 0x9F, 0xA4, 0x30, 0xFE, 0x97, 0x83, 0xBA, 0x8B, 0x94, 0x52, 0x78, 0xED, 0xFC, 0xAE, 0x02, + 0x06, 0xCC, 0xED, 0x0A, 0x76, 0x92, 0xE1, 0x50, 0xCA, 0x52, 0x8D, 0xF6, 0x80, 0xBD, 0x5A, 0x84, + 0xF3, 0xE5, 0x5C, 0x68, 0x38, 0xF3, 0xB4, 0x94, 0x98, 0xCA, 0xF3, 0xB4, 0x67, 0xD3, 0x6A, 0x3C, + 0x5B, 0xF3, 0xEF, 0x8A, 0x9D, 0xF8, 0x4E, 0xCB, 0x31, 0x4B, 0xC8, 0x6D, 0x01, 0xAB, 0x5B, 0xC9, + 0x73, 0xAD, 0xF2, 0xEA, 0x72, 0x92, 0x56, 0x93, 0x3A, 0xB2, 0x99, 0xE6, 0x68, 0x00, 0xD6, 0x53, + 0x3B, 0xF0, 0x2E, 0x1B, 0x4E, 0x63, 0x1E, 0x70, 0x24, 0xB0, 0x9A, 0xEA, 0xB0, 0xC0, 0x66, 0x6C, + 0x3C, 0x72, 0x51, 0xF4, 0x54, 0xBC, 0xC4, 0xDE, 0xD2, 0xC5, 0x6D, 0x0F, 0xA9, 0xFE, 0xC2, 0x0D, + 0x81, 0xC2, 0x21, 0xB6, 0x57, 0x6E, 0xDA, 0xC5, 0x61, 0xCD, 0x42, 0xFA, 0xFF, 0xEA, 0xE7, 0xBF, + 0xB1, 0x40, 0x51, 0xAD, 0xDC, 0x84, 0x73, 0xB8, 0xA0, 0xC9, 0x06, 0xBE, 0xCA, 0x23, 0xAE, 0xD0, + 0x9D, 0xAC, 0x9F, 0x6D, 0x85, 0x19, 0xA6, 0x33, 0xD9, 0xE1, 0x89, 0x9A, 0x8A, 0xCB, 0x19, 0x32, + 0x16, 0xE7, 0xFC, 0xA0, 0xE1, 0xEF, 0xD1, 0xF1, 0xCF, 0xAC, 0x94, 0x21, 0x02, 0x59, 0x75, 0x6D, + 0x2E, 0xED, 0xB2, 0x9A, 0x83, 0x61, 0x3B, 0x7A, 0x5C, 0x9E, 0x86, 0x75, 0x78, 0x40, 0x06, 0xE2, + 0x26, 0xD9, 0x80, 0xF8, 0x1E, 0xCD, 0x09, 0x8D, 0x64, 0x99, 0xB6, 0xD2, 0x90, 0x8F, 0xD5, 0x58, + 0x82, 0xFB, 0x4F, 0x53, 0x6D, 0x95, 0xF4, 0x9E, 0x65, 0xC3, 0xDB, 0xFD, 0x77, 0x95, 0xA6, 0x70, + 0xE0, 0x2F, 0x29, 0xED, 0x27, 0xAB, 0xE4, 0x0A, 0x8E, 0xC4, 0x82, 0x72, 0xA2, 0xAA, 0xAD, 0xF8, + 0x12, 0xF9, 0x11, 0x6D, 0x3A, 0xB8, 0xDD, 0x69, 0xB7, 0xFE, 0x77, 0x8D, 0x3C, 0x15, 0x79, 0x94, + 0xAE, 0x11, 0xA7, 0x47, 0xC4, 0x3A, 0x70, 0x45, 0x59, 0xE4, 0x85, 0x56, 0x12, 0x43, 0x5E, 0xE4, + 0x45, 0x48, 0x20, 0xD8, 0x6D, 0xCD, 0x4F, 0x69, 0xDF, 0xAA, 0xD3, 0x3E, 0xF1, 0x24, 0x50, 0xAF, + 0x24, 0xCD, 0x16, 0x2F, 0x9B, 0x3C, 0x55, 0xA9, 0xEA, 0xD6, 0xAA, 0x98, 0x36, 0x3D, 0x0C, 0xDB, + 0x31, 0x56, 0xFB, 0xDD, 0x2F, 0x21, 0x21, 0xD7, 0x80, 0xFF, 0x68, 0x3E, 0xEF, 0xB7, 0x2F, 0x68, + 0xB7, 0xDD, 0x69, 0xBD, 0x5E, 0x7B, 0xAE, 0xD2, 0x78, 0x2A, 0xB4, 0x52, 0xA0, 0x81, 0x6E, 0xBB, + 0x46, 0xB0, 0xB5, 0x00, 0x03, 0x38, 0xA0, 0x41, 0xC7, 0xCE, 0x8B, 0x1A, 0x4C, 0x6B, 0xE8, 0x1E, + 0xC4, 0x29, 0x75, 0x92, 0xD5, 0xDA, 0xAC, 0xD6, 0xDE, 0xEB, 0xB7, 0x5A, 0xA1, 0xD8, 0x52, 0xBB, + 0x4F, 0x9A, 0xBD, 0x3E, 0xCF, 0x8A, 0xD4, 0x29, 0x6C, 0xBB, 0xE9, 0xE2, 0x59, 0x67, 0x74, 0x63, + 0xB9, 0xD5, 0x07, 0xB8, 0x2C, 0xA5, 0xC7, 0xF8, 0x62, 0xE5, 0x6B, 0x14, 0x7B, 0xA4, 0xFE, 0x15, + 0x98, 0x9E, 0xA6, 0x3D, 0xB0, 0x50, 0x29, 0x79, 0xEE, 0x2F, 0xDD, 0x5D, 0xC2, 0xAC, 0xA3, 0xC9, + 0x9B, 0xC2, 0xDE, 0x78, 0x7C, 0x70, 0x02, 0x79, 0x1A, 0x46, 0xC0, 0x26, 0xF4, 0x5E, 0xAA, 0x34, + 0x34, 0x72, 0x4D, 0x8E, 0xCE, 0x59, 0x99, 0xDA, 0x44, 0x62, 0x82, 0xB8, 0x3C, 0xCA, 0x16, 0x08, + 0xC0, 0x6F, 0x7D, 0xF9, 0x69, 0x69, 0xD7, 0xBB, 0x84, 0xB8, 0xFD, 0xEF, 0xC4, 0x87, 0xEB, 0xAE, + 0x39, 0x26, 0x0A, 0x06, 0x6F, 0x19, 0x47, 0x6C, 0xA7, 0x73, 0xDB, 0xF5, 0xE2, 0x03, 0xB3, 0x23, + 0x1E, 0xC9, 0x37, 0x01, 0xFB, 0x34, 0xAA, 0x95, 0xD1, 0x50, 0x18, 0xA9, 0x3B, 0xA4, 0x2C, 0x15, + 0x9C, 0xF5, 0x92, 0x28, 0x2D, 0x0B, 0x9C, 0x53, 0x88, 0x16, 0x7B, 0x94, 0x80, 0x1A, 0x24, 0x78, + 0x8A, 0x1D, 0x40, 0xCA, 0x14, 0x22, 0x34, 0x26, 0x10, 0xE0, 0x83, 0x87, 0xA9, 0xEE, 0x35, 0xA3, + 0xE7, 0x5C, 0x26, 0x88, 0x44, 0x70, 0x7F, 0x28, 0x51, 0x72, 0xAB, 0xF8, 0x3C, 0xBD, 0x47, 0x24, + 0x75, 0x5E, 0x36, 0x06, 0xDF, 0x7E, 0x22, 0x72, 0x1B, 0x0E, 0xD1, 0xF9, 0xC9, 0x32, 0x3E, 0xC7, + 0x44, 0xB9, 0x58, 0xF9, 0x53, 0xEC, 0xC0, 0x5D, 0x1C, 0x30, 0xD3, 0xD9, 0x0E, 0xC3, 0x00, 0xE9, + 0x21, 0x5B, 0xD6, 0xA9, 0x80, 0x44, 0x9C, 0x3B, 0xF8, 0x1B, 0x5B, 0x89, 0xDA, 0xE1, 0x89, 0x6E, + 0xEA, 0x82, 0x3D, 0x62, 0x6C, 0xD8, 0xCC, 0xD6, 0x3D, 0x2D, 0xBD, 0x46, 0x46, 0xD7, 0xFD, 0xF0, + 0xD3, 0xA1, 0x39, 0xFC, 0x8E, 0xA9, 0xD5, 0xD7, 0xB6, 0x93, 0x49, 0x4B, 0x26, 0xFF, 0x2B, 0x4B, + 0x1F, 0x86, 0xF1, 0xFD, 0x6D, 0x48, 0x33, 0x69, 0x44, 0xAF, 0x6B, 0xF9, 0xE6, 0x95, 0x16, 0x9D, + 0x0E, 0xE4, 0x89, 0xEE, 0x74, 0xA0, 0xB6, 0x93, 0x1C, 0x90, 0x87, 0x6B, 0x7B, 0x62, 0x57, 0x67, + 0x2E, 0xEE, 0xA2, 0x03, 0x84, 0x6E, 0x8B, 0x1B, 0x93, 0x59, 0x76, 0xEB, 0x51, 0x55, 0x7A, 0x38, + 0xEE, 0x41, 0xBC, 0x91, 0x43, 0x92, 0x3A, 0x4D, 0xEF, 0xCD, 0x5C, 0xC3, 0x77, 0x9B, 0x49, 0xA0, + 0x13, 0xE9, 0x50, 0xE1, 0x10, 0x50, 0xDB, 0x11, 0x5E, 0x2E, 0x21, 0xA3, 0x28, 0xB9, 0x01, 0x1D, + 0xF0, 0x11, 0x7B, 0x73, 0xD3, 0x01, 0x5D, 0x70, 0x74, 0xE7, 0xD3, 0x4E, 0x0B, 0x8E, 0x3B, 0xF2, + 0x6E, 0xA9, 0xB3, 0xD2, 0xAA, 0xDF, 0x62, 0x1F, 0x7B, 0x0C, 0xDB, 0x69, 0x49, 0x4E, 0x8B, 0x6E, + 0xE7, 0xDB, 0x6C, 0x1E, 0x92, 0x5F, 0xE0, 0x80, 0x59, 0x6D, 0x77, 0x07, 0x36, 0xE9, 0x76, 0xF7, + 0xF8, 0x86, 0x1B, 0x6E, 0x7E, 0xA9, 0xA4, 0x5A, 0xB8, 0x84, 0xD5, 0xB9, 0xB4, 0x94, 0xCE, 0x0F, + 0x1B, 0x3B, 0xEC, 0x60, 0x69, 0x9D, 0xC5, 0x55, 0xFE, 0xF0, 0xE6, 0x4F, 0xA2, 0xA2, 0x38, 0xAB, + 0x50, 0x8F, 0x39, 0x08, 0x3C, 0x11, 0x77, 0x72, 0x47, 0x41, 0x12, 0x8E, 0x28, 0x33, 0xD5, 0xEB, + 0x38, 0xF8, 0x7D, 0x4C, 0x6B, 0xEF, 0x0C, 0x02, 0xFD, 0xAD, 0x8E, 0x2C, 0xD5, 0x70, 0x8A, 0xAD, + 0x65, 0x09, 0xA8, 0x36, 0xDD, 0xCF, 0xA2, 0x8A, 0x7E, 0xB7, 0x0B, 0x56, 0xC4, 0xC5, 0x67, 0xED, + 0xBA, 0xDF, 0x77, 0x0B, 0x26, 0x10, 0x60, 0x70, 0x19, 0xA1, 0xC8, 0x65, 0x23, 0xEB, 0x96, 0xCF, + 0x4A, 0xDF, 0x97, 0x43, 0x3B, 0x72, 0xB7, 0x01, 0xCF, 0x3D, 0x14, 0x89, 0x04, 0x1B, 0xEF, 0xBD, + 0x03, 0x21, 0xB2, 0x98, 0xC2, 0x4E, 0x46, 0x8F, 0x2C, 0xF5, 0xE2, 0x20, 0x9A, 0xCA, 0x96, 0x9A, + 0xF2, 0x24, 0xFB, 0x38, 0xB6, 0x62, 0xAA, 0xA9, 0xCC, 0x66, 0x9F, 0x37, 0x7B, 0x9F, 0x3B, 0x93, + 0x3F, 0xED, 0x19, 0x3D, 0x82, 0x01, 0x50, 0xBC, 0xBA, 0x89, 0x2A, 0x1B, 0xAE, 0xCB, 0x6E, 0xC7, + 0x36, 0x55, 0x0D, 0xEE, 0x35, 0x4F, 0xFA, 0x4E, 0x83, 0xBD, 0xCD, 0x2A, 0xB3, 0xF1, 0x30, 0x1B, + 0x53, 0x1A, 0x59, 0x68, 0x20, 0xD7, 0x8D, 0x6E, 0xD8, 0x5D, 0xB9, 0x23, 0xCB, 0x45, 0x5B, 0x99, + 0x29, 0x94, 0xB8, 0xB6, 0x56, 0x86, 0x66, 0x3B, 0xFC, 0x91, 0xE1, 0x63, 0xAD, 0x66, 0xBF, 0xB9, + 0x77, 0xE8, 0x44, 0xA1, 0x52, 0xEB, 0xD6, 0xA4, 0xB0, 0x0C, 0xA8, 0x60, 0x86, 0x75, 0x41, 0xDA, + 0x09, 0xD8, 0x6C, 0x8E, 0xAA, 0x29, 0x0D, 0x68, 0x2C, 0x2E, 0x6D, 0x0E, 0x77, 0xA7, 0xDB, 0xE5, + 0x9E, 0x23, 0xA8, 0x60, 0xB4, 0xBC, 0x43, 0x32, 0x15, 0x78, 0x56, 0x4C, 0x44, 0x91, 0x35, 0x0C, + 0xB8, 0x86, 0x0E, 0x07, 0xCF, 0x4C, 0x78, 0xC7, 0x9C, 0x52, 0x45, 0x0C, 0xF0, 0x45, 0xC2, 0x54, + 0x72, 0x54, 0x49, 0x6F, 0xF9, 0x5B, 0x88, 0xF8, 0xA9, 0xB6, 0xC3, 0x57, 0x5C, 0xED, 0x2D, 0xDA, + 0x61, 0x30, 0xCA, 0x29, 0xE6, 0x00, 0xBA, 0xBD, 0xEB, 0x22, 0x03, 0xB9, 0x54, 0x45, 0x9C, 0xB6, + 0x57, 0xAA, 0xC3, 0x2C, 0xE0, 0x6E, 0x53, 0x15, 0xE0, 0x92, 0xAF, 0xFC, 0x21, 0x60, 0x42, 0x6F, + 0x2D, 0x56, 0xDC, 0x8D, 0x2A, 0x36, 0x25, 0xA6, 0xA8, 0xAD, 0x05, 0x72, 0xAB, 0x62, 0xC6, 0x97, + 0x4B, 0xAD, 0xDD, 0xE1, 0x45, 0x25, 0x8B, 0x02, 0x50, 0x4C, 0x9A, 0xEC, 0x70, 0x1F, 0xD6, 0xA1, + 0x7C, 0xD7, 0x79, 0x4C, 0xE1, 0x3E, 0xB9, 0x8A, 0xA0, 0xE9, 0xF1, 0xC4, 0x7E, 0xC7, 0x94, 0xD7, + 0x4F, 0x1F, 0xA2, 0x17, 0xF9, 0x57, 0x79, 0x2A, 0xCC, 0xD5, 0x92, 0xF1, 0x22, 0xA7, 0x9D, 0xD3, + 0x83, 0x93, 0xB8, 0x27, 0xF0, 0xD5, 0x76, 0x0F, 0xFC, 0x7A, 0x29, 0x73, 0xE7, 0x79, 0xB7, 0xD7, + 0xDF, 0xDD, 0x93, 0xE3, 0x02, 0xE0, 0x55, 0x58, 0x8F, 0xEE, 0x6E, 0x7A, 0x0B, 0xA9, 0xBE, 0xE5, + 0x66, 0xE4, 0xD7, 0xF2, 0x8D, 0xC1, 0x63, 0xBD, 0xC1, 0xEE, 0x9E, 0x92, 0xA0, 0x56, 0x77, 0x5A, + 0xFC, 0x0C, 0x2B, 0x1D, 0x0A, 0xF3, 0x63, 0x0A, 0x57, 0x8A, 0xF0, 0x8C, 0x43, 0x3A, 0x5B, 0xB9, + 0x15, 0x3D, 0x2B, 0x3D, 0x63, 0xA5, 0x47, 0x3E, 0x74, 0x4E, 0xD0, 0xB2, 0xE4, 0x8C, 0xBA, 0x31, + 0x4B, 0xDD, 0x7B, 0x2D, 0x51, 0xC4, 0x4A, 0x6E, 0x5E, 0x08, 0xC1, 0x3E, 0x5C, 0x9E, 0x4A, 0x72, + 0x29, 0x8E, 0x8F, 0x96, 0xA6, 0x86, 0xDC, 0x06, 0x4B, 0x4B, 0xEA, 0xD3, 0xE3, 0xC4, 0x92, 0x3E, + 0x7E, 0x7E, 0x3D, 0x8B, 0x0A, 0xC5, 0x4F, 0xBC, 0x2B, 0x94, 0x3F, 0xF1, 0xCE, 0x10, 0x40, 0x09, + 0x2E, 0x2D, 0xD2, 0x60, 0x74, 0x1F, 0xCC, 0x71, 0x01, 0x9D, 0xE4, 0x01, 0x0F, 0x53, 0x70, 0xBA, + 0xB0, 0xAA, 0x18, 0x72, 0xB4, 0x40, 0x91, 0x1E, 0x4B, 0x9B, 0x76, 0xD2, 0x82, 0x3F, 0xF6, 0xAC, + 0x79, 0x32, 0x68, 0x5F, 0x5C, 0x74, 0x2F, 0x0C, 0x4E, 0x1D, 0x16, 0xEA, 0x14, 0x3B, 0x62, 0x60, + 0x25, 0x6D, 0x62, 0xE7, 0x78, 0x5D, 0xAE, 0x46, 0xF6, 0x45, 0xBA, 0x99, 0xEC, 0x80, 0xD2, 0x7E, + 0x52, 0x98, 0x9E, 0xD6, 0x23, 0x25, 0xF4, 0x51, 0xDE, 0xC1, 0x75, 0x29, 0xC4, 0xA4, 0xB7, 0x8F, + 0xA2, 0xF1, 0xB3, 0x28, 0x47, 0x02, 0x3F, 0x6B, 0x6F, 0x5B, 0xCF, 0x25, 0xE0, 0x47, 0x84, 0x55, + 0xCA, 0x4D, 0xC4, 0x55, 0x5D, 0xA9, 0xDD, 0x89, 0x70, 0xE7, 0x00, 0x46, 0x5A, 0xAC, 0xB2, 0xD1, + 0xE9, 0x48, 0xA1, 0x8B, 0x6C, 0x7B, 0x2A, 0x11, 0xF3, 0x40, 0x2E, 0x56, 0x8A, 0xB8, 0x84, 0xC5, + 0x81, 0x0B, 0xA9, 0x33, 0xB3, 0x6A, 0xDA, 0x0F, 0x0A, 0x5C, 0x70, 0x78, 0x4B, 0xF5, 0xF9, 0xAF, + 0xD9, 0x87, 0x47, 0xEC, 0xCD, 0x25, 0x20, 0x1F, 0x2D, 0x49, 0x8E, 0xBC, 0x0D, 0xA6, 0xC0, 0x22, + 0xF8, 0x12, 0x8F, 0x28, 0x82, 0x60, 0xA9, 0x73, 0xC3, 0x3B, 0x9A, 0x26, 0x33, 0x22, 0x78, 0x92, + 0x66, 0x31, 0x26, 0x53, 0x22, 0xDF, 0xE0, 0x0D, 0x5D, 0xE4, 0x11, 0xE4, 0x9E, 0x17, 0x60, 0xD7, + 0x39, 0xA4, 0x56, 0x2B, 0x6D, 0x93, 0x5A, 0x37, 0xC3, 0x62, 0x79, 0xB9, 0x6A, 0xB8, 0xB1, 0x0C, + 0xE0, 0x95, 0x46, 0x9E, 0x7B, 0xDF, 0xC0, 0x2A, 0x23, 0x6F, 0x04, 0x4A, 0x71, 0x36, 0xD9, 0xA2, + 0x81, 0x41, 0x12, 0xE6, 0xC4, 0x3D, 0x51, 0x3C, 0x8E, 0xB5, 0x8D, 0xCD, 0x9F, 0xF8, 0x81, 0x28, + 0xD6, 0xF3, 0xEB, 0x08, 0x56, 0x25, 0xB8, 0xDF, 0x44, 0x2B, 0x93, 0x70, 0xB3, 0xE2, 0x62, 0x2A, + 0x72, 0xE0, 0x86, 0x7C, 0xC0, 0x60, 0xBD, 0xDB, 0xBE, 0xE8, 0x33, 0x38, 0x1F, 0x07, 0xB6, 0xED, + 0x01, 0xEB, 0xA1, 0x87, 0x69, 0x2A, 0x59, 0x83, 0x56, 0x12, 0x5D, 0x08, 0x93, 0xDC, 0xC0, 0x52, + 0xC6, 0x3A, 0x1E, 0xBF, 0xBB, 0xE5, 0x79, 0x93, 0xF8, 0xAA, 0xA6, 0x38, 0xAC, 0x9C, 0x92, 0xD1, + 0xD9, 0x8F, 0xA4, 0x03, 0x6A, 0x93, 0xAC, 0xC2, 0x2B, 0x3A, 0x06, 0x67, 0xDD, 0xFE, 0xE0, 0x39, + 0x08, 0x5C, 0xCB, 0x15, 0xEC, 0x57, 0xD8, 0x1A, 0xB2, 0x4D, 0x2B, 0x40, 0xA0, 0x97, 0x67, 0x4D, + 0xB9, 0x8E, 0x60, 0x32, 0x40, 0x8E, 0xC6, 0x00, 0x0C, 0xF8, 0xF0, 0x2D, 0x4F, 0xF7, 0x3B, 0x19, + 0xC9, 0x34, 0x6A, 0xA8, 0xBF, 0x2A, 0x0D, 0x88, 0xDE, 0xFF, 0x23, 0x62, 0xBD, 0x6E, 0xDE, 0xEE, + 0x88, 0x28, 0x56, 0x82, 0x22, 0x86, 0x77, 0x2D, 0xEB, 0x83, 0xB2, 0xC5, 0xAF, 0x63, 0x7B, 0x50, + 0x9D, 0xDB, 0x5C, 0x62, 0xF9, 0xFD, 0xFD, 0x72, 0xF5, 0xD4, 0x6A, 0x77, 0xEC, 0x54, 0xE6, 0x3B, + 0xD9, 0x7C, 0x2D, 0x87, 0xF9, 0x1B, 0x62, 0x6F, 0xF6, 0xB4, 0xF9, 0x9B, 0x2D, 0xCD, 0xB5, 0x71, + 0x9D, 0x62, 0x3E, 0xB0, 0x23, 0x2F, 0xE6, 0xD8, 0x06, 0x40, 0x9B, 0x94, 0x4E, 0x4D, 0x3C, 0xB1, + 0xE6, 0x12, 0x71, 0x47, 0x48, 0x18, 0xDF, 0xE6, 0x34, 0xE5, 0x69, 0xAD, 0xC9, 0x4E, 0xDD, 0xF6, + 0x83, 0x1E, 0x32, 0x35, 0xC3, 0x89, 0x27, 0x7F, 0xFD, 0xA5, 0x76, 0x2C, 0xF9, 0x93, 0xA2, 0x3D, + 0x47, 0x2D, 0x6C, 0xD4, 0x52, 0xD3, 0xCF, 0xE7, 0x74, 0x41, 0x11, 0x68, 0x83, 0x2E, 0xED, 0x71, + 0xFB, 0x63, 0xF3, 0x9E, 0xB4, 0xD5, 0x38, 0xFF, 0x29, 0xA7, 0x54, 0xAB, 0x4C, 0xC5, 0x53, 0xA3, + 0x33, 0xD4, 0xD6, 0x64, 0xC6, 0x1B, 0x61, 0xF7, 0x88, 0x16, 0x42, 0x35, 0x94, 0x8A, 0xDA, 0x2F, + 0xC7, 0xD5, 0xCB, 0xD6, 0x62, 0x41, 0x76, 0x59, 0x9B, 0x85, 0xA6, 0x6F, 0x62, 0x2A, 0x7E, 0x9C, + 0x7F, 0x54, 0xD8, 0x81, 0xD8, 0x33, 0xE7, 0xEE, 0x66, 0x89, 0x77, 0x9F, 0x7A, 0xBE, 0xF1, 0x8A, + 0xF0, 0x1E, 0x96, 0xCF, 0x62, 0x59, 0x25, 0x73, 0x07, 0xD3, 0xDC, 0x53, 0x10, 0xC3, 0xEF, 0x71, + 0x46, 0x5F, 0x84, 0x66, 0xE4, 0xB3, 0x5C, 0xE5, 0x1B, 0xD0, 0x2A, 0xEB, 0x5B, 0xAC, 0x70, 0xAB, + 0xF3, 0x1C, 0xE0, 0x12, 0xFC, 0x26, 0xE7, 0xA1, 0x4A, 0xBA, 0xA2, 0xCF, 0xA3, 0x94, 0xAE, 0xB4, + 0x45, 0x39, 0x67, 0x80, 0x6D, 0x38, 0x88, 0x70, 0x35, 0x51, 0x5B, 0xAE, 0xC5, 0xB5, 0x56, 0x33, + 0x42, 0x01, 0x04, 0x79, 0x64, 0xC9, 0xAA, 0x83, 0x68, 0xFA, 0x1C, 0x27, 0x1E, 0xBB, 0x41, 0xF6, + 0x43, 0xA8, 0x56, 0x38, 0x6F, 0xAC, 0x7A, 0x1C, 0x69, 0xB3, 0xFC, 0xF0, 0x16, 0xC8, 0x3B, 0xB2, + 0x5E, 0xDC, 0x4D, 0x37, 0xC3, 0x18, 0xC4, 0xFD, 0x0C, 0x42, 0x14, 0x76, 0xD8, 0x44, 0x86, 0x61, + 0x58, 0x2C, 0xA8, 0x72, 0x26, 0xB4, 0xF0, 0x1C, 0x27, 0x96, 0xD9, 0x3B, 0xDC, 0xD2, 0x3A, 0x09, + 0xB3, 0xBD, 0xD0, 0x65, 0xA8, 0x5A, 0x38, 0x69, 0x3D, 0x2F, 0x52, 0xFB, 0x45, 0x61, 0x1D, 0x5F, + 0x26, 0xF8, 0x8F, 0xEA, 0xF3, 0x6B, 0x4A, 0x06, 0xDD, 0xF0, 0xD7, 0x59, 0xDB, 0x30, 0xDF, 0xD6, + 0x58, 0x4F, 0x59, 0xF9, 0xD9, 0x4A, 0xF4, 0x8B, 0xBE, 0x9B, 0x0C, 0x69, 0x23, 0xD9, 0xE5, 0x11, + 0x66, 0xF0, 0x4E, 0x65, 0xAB, 0x79, 0x9D, 0x4E, 0x07, 0x5D, 0x45, 0x08, 0xA7, 0xC3, 0x24, 0xAC, + 0x2C, 0xAA, 0xF7, 0x10, 0x00, 0x25, 0xF6, 0x42, 0x04, 0xAA, 0x34, 0xC1, 0x9D, 0x2E, 0xE4, 0xA1, + 0xD8, 0xF0, 0xE5, 0x11, 0x17, 0x32, 0x57, 0x62, 0x2C, 0x32, 0xA7, 0x54, 0xBE, 0xEC, 0xB1, 0xAA, + 0x06, 0xDB, 0xAE, 0xEA, 0xB2, 0x78, 0xAA, 0xBD, 0x3E, 0xE2, 0x50, 0xB7, 0x17, 0xC8, 0xB7, 0x91, + 0x40, 0xBB, 0xC7, 0x8A, 0x4E, 0xD1, 0x18, 0x76, 0xEB, 0xDF, 0x31, 0x23, 0x61, 0x22, 0x7E, 0xB1, + 0x4E, 0x91, 0x70, 0xE8, 0xB1, 0x5C, 0x91, 0x23, 0x3A, 0xEE, 0x79, 0x8D, 0xE0, 0xEA, 0x6D, 0x73, + 0x41, 0xD7, 0xBC, 0x7E, 0xFB, 0xFF, 0xBD, 0xEA, 0x1C, 0x14, 0xF4, 0xD6, 0xD4, 0x39, 0x40, 0xFF, + 0xA7, 0xD5, 0x79, 0x65, 0x3B, 0xE3, 0x32, 0xA1, 0x7C, 0x9B, 0x79, 0x2A, 0xB4, 0xAB, 0x90, 0x44, + 0x77, 0xF5, 0x8D, 0x4B, 0x1F, 0xDF, 0xBB, 0xD5, 0xED, 0x7E, 0x0A, 0xFB, 0x74, 0xAD, 0x0A, 0xFB, + 0xC9, 0xDA, 0x00, 0xCC, 0x40, 0x9D, 0x77, 0xD3, 0x2B, 0xA0, 0x72, 0x9B, 0x56, 0x20, 0x32, 0xF8, + 0x89, 0x9C, 0xB5, 0x44, 0x52, 0x96, 0x5F, 0x53, 0xC9, 0x97, 0x45, 0xDD, 0x6B, 0x45, 0xA2, 0xF8, + 0xA4, 0x78, 0x01, 0xB2, 0x48, 0x9F, 0xBD, 0xB5, 0x0D, 0x7A, 0xF5, 0x48, 0xDD, 0xE1, 0xA1, 0x8D, + 0x05, 0xF5, 0xF3, 0xD8, 0x46, 0x29, 0xE2, 0x41, 0x95, 0xDB, 0x39, 0x1B, 0x3B, 0x5B, 0x76, 0x3C, + 0xEB, 0x11, 0x98, 0xA6, 0x57, 0x27, 0x71, 0xF2, 0xEB, 0xA3, 0x46, 0xA0, 0xC0, 0xB1, 0x59, 0x06, + 0xAF, 0x3B, 0x02, 0x81, 0x64, 0x9B, 0xB1, 0x23, 0x20, 0xAD, 0x82, 0xDB, 0x12, 0x5A, 0x3E, 0x8D, + 0x23, 0xD8, 0x39, 0xEA, 0x76, 0x5A, 0xC7, 0xF6, 0xCD, 0x8B, 0xC5, 0x4E, 0x4C, 0x1A, 0xD5, 0x34, + 0x8E, 0x69, 0x44, 0x77, 0x5A, 0xE7, 0xE2, 0xA2, 0xC5, 0x0A, 0xE3, 0x39, 0xC5, 0x58, 0x97, 0x4E, + 0x38, 0x39, 0xA6, 0x6A, 0xE0, 0x8A, 0x39, 0x9D, 0xE4, 0xE6, 0x41, 0xEE, 0x9F, 0x6E, 0xAB, 0xE3, + 0x2B, 0xEC, 0xD4, 0x13, 0x0B, 0x24, 0x49, 0x2A, 0xB5, 0x3D, 0x1E, 0xBE, 0x58, 0x75, 0xDB, 0x3E, + 0xD9, 0xFC, 0xF9, 0xFF, 0x95, 0x05, 0x03, 0x76, 0x2E, 0x0A, 0x3A, 0xB5, 0x82, 0x48, 0x90, 0x57, + 0x79, 0x45, 0x81, 0xE0, 0xCE, 0xD4, 0x6D, 0xC8, 0x04, 0xC7, 0x0C, 0x64, 0x97, 0x87, 0x3A, 0xAD, + 0x4A, 0x2C, 0x86, 0x37, 0x6D, 0x84, 0xD8, 0x8F, 0xED, 0xDF, 0x9D, 0xF0, 0xC8, 0xA4, 0x5E, 0xCC, + 0x54, 0xFF, 0x8B, 0xF4, 0xC6, 0x44, 0x5A, 0x5B, 0x1B, 0xEB, 0x49, 0x36, 0xF8, 0x91, 0x56, 0x16, + 0x96, 0xCB, 0xF3, 0xD6, 0x66, 0x84, 0xC5, 0x92, 0xEC, 0x8F, 0x39, 0x29, 0xA7, 0x41, 0xF6, 0xEB, + 0xD1, 0x9F, 0xFA, 0x3B, 0x97, 0x19, 0xDC, 0x9E, 0xF8, 0x27, 0x85, 0xC6, 0x62, 0xCD, 0x4B, 0x2F, + 0x34, 0x9C, 0xBB, 0xEB, 0x09, 0x0C, 0x1E, 0xAA, 0x59, 0x4D, 0x5C, 0xF0, 0x76, 0x53, 0x4F, 0x58, + 0xAA, 0x6C, 0x2E, 0x39, 0xD2, 0xF2, 0xB4, 0xC2, 0x89, 0x26, 0x9B, 0x0A, 0x25, 0x9A, 0xBC, 0x74, + 0x61, 0x44, 0x48, 0x71, 0x0F, 0x4E, 0xCD, 0x58, 0x41, 0x44, 0xEE, 0x4B, 0x0A, 0x21, 0x5A, 0x08, + 0xF0, 0x51, 0xF5, 0x0B, 0xAA, 0xB7, 0xC1, 0x99, 0x17, 0x13, 0x4B, 0x54, 0xA9, 0x79, 0x95, 0xC3, + 0x8A, 0x94, 0x69, 0xDA, 0x6B, 0x9E, 0x9E, 0x54, 0x1E, 0x80, 0x68, 0x9A, 0x76, 0xCE, 0x3E, 0x45, + 0x87, 0xE4, 0x00, 0x0B, 0x56, 0xD7, 0xD7, 0x71, 0x72, 0x95, 0x82, 0x64, 0xF7, 0x82, 0xF1, 0xE8, + 0x89, 0x1A, 0xA8, 0xD8, 0x9E, 0x7F, 0xCF, 0x6C, 0x0E, 0x06, 0x2A, 0xB5, 0x68, 0x65, 0xAD, 0x4C, + 0x06, 0xEA, 0x8A, 0x62, 0xC1, 0xCD, 0xC8, 0xED, 0x49, 0x46, 0x35, 0x33, 0x75, 0x25, 0x92, 0xD1, + 0x4C, 0xDD, 0x20, 0xC9, 0x1F, 0x1B, 0x8F, 0x9E, 0xAC, 0xBD, 0xFA, 0xEF, 0x92, 0x70, 0x6D, 0xAF, + 0xAE, 0x27, 0xE8, 0x60, 0xBA, 0xAC, 0x2C, 0x35, 0x60, 0xAF, 0x6E, 0x52, 0x6A, 0xFE, 0xB7, 0x5A, + 0xFF, 0x19, 0xD1, 0xE1, 0xDC, 0x5D, 0x4F, 0x6C, 0xD0, 0x6A, 0x5D, 0x4D, 0x68, 0x70, 0xE2, 0xB6, + 0x44, 0x66, 0x05, 0xC3, 0xD5, 0x90, 0x99, 0xFF, 0x6D, 0xD7, 0x75, 0x64, 0xE3, 0x7F, 0xDB, 0xF5, + 0x65, 0xB7, 0x5D, 0x71, 0x37, 0xFA, 0x18, 0x2F, 0x3B, 0xA4, 0xFA, 0xC4, 0xFC, 0x25, 0x06, 0xE3, + 0x38, 0x82, 0xA3, 0xE7, 0x49, 0x9C, 0x8D, 0x71, 0x54, 0xE3, 0x3E, 0x86, 0x3A, 0xE1, 0x29, 0x2F, + 0x0C, 0x95, 0x5C, 0xA1, 0x93, 0xA0, 0x72, 0xF3, 0x5A, 0x0D, 0xD6, 0xCC, 0xB8, 0x65, 0x11, 0x6E, + 0xF1, 0xC4, 0x43, 0xEC, 0x08, 0x27, 0xC6, 0xCC, 0xE7, 0xB0, 0x7B, 0x3D, 0x5A, 0x7C, 0x4F, 0xB0, + 0x1A, 0x3B, 0xAF, 0x7B, 0xF7, 0x8F, 0xAA, 0xFE, 0x98, 0x4C, 0x1E, 0xF0, 0xAA, 0x59, 0xDC, 0x3D, + 0xC7, 0x4F, 0x3A, 0xDB, 0x0A, 0xE4, 0xF1, 0x78, 0x66, 0x8C, 0xEE, 0x81, 0xA0, 0x22, 0x3E, 0xCC, + 0xF0, 0x83, 0xB6, 0x57, 0xF1, 0x8E, 0x52, 0xD5, 0x94, 0x15, 0xAE, 0xD7, 0x2D, 0x6B, 0x04, 0xBF, + 0x57, 0xD7, 0x96, 0x1F, 0xFF, 0x1A, 0x5C, 0x7B, 0x8C, 0xE3, 0x73, 0x3E, 0xAA, 0x79, 0x7E, 0x70, + 0x0A, 0x33, 0xA4, 0x12, 0xE2, 0xFA, 0x47, 0xFC, 0xFD, 0x6A, 0x6D, 0x97, 0xDF, 0x90, 0x9A, 0xED, + 0x82, 0x58, 0xE0, 0xEB, 0xAD, 0x9D, 0x23, 0x35, 0x24, 0x15, 0x10, 0x64, 0xB9, 0xBA, 0x67, 0x12, + 0xF7, 0x5C, 0x05, 0x4B, 0x83, 0x10, 0xF2, 0x20, 0x36, 0x70, 0xB1, 0x5F, 0xDB, 0xF3, 0x72, 0xBA, + 0xCB, 0x6A, 0xA9, 0x11, 0x31, 0xE9, 0xF5, 0x61, 0xE4, 0x5F, 0x0E, 0xA4, 0xD9, 0x73, 0x6B, 0x5C, + 0xBA, 0x89, 0x0D, 0x70, 0x6F, 0xC8, 0xC4, 0xD6, 0x16, 0xDD, 0x6A, 0xEB, 0x5C, 0x2E, 0xA3, 0xA6, + 0x6A, 0x94, 0x00, 0xF5, 0x43, 0xE7, 0x8D, 0xB9, 0x4E, 0x65, 0x10, 0xA3, 0x7F, 0x4B, 0x2C, 0x3F, + 0x5E, 0xF9, 0x17, 0xB2, 0xFB, 0x01, 0x8B, 0x8B, 0x6D, 0x67, 0xCC, 0x13, 0x80, 0x5D, 0x35, 0x01, + 0x6C, 0x78, 0xF1, 0x24, 0xEF, 0x0F, 0xBA, 0x89, 0xEF, 0x1E, 0xAF, 0xBE, 0x34, 0xA5, 0x63, 0x81, + 0x50, 0xC0, 0x35, 0x97, 0x9A, 0xD1, 0xD0, 0x46, 0xDF, 0x4A, 0x28, 0xB8, 0x04, 0xB4, 0xE6, 0x68, + 0xF3, 0x33, 0xA8, 0x9A, 0xA7, 0x65, 0x31, 0x4A, 0xBD, 0xF6, 0x9A, 0x13, 0x8E, 0xE9, 0x3D, 0xD1, + 0x09, 0x68, 0x50, 0x8E, 0xF4, 0xC1, 0xEB, 0x87, 0xC3, 0x65, 0x44, 0xC3, 0x4D, 0xBC, 0x97, 0x78, + 0x84, 0x54, 0x3C, 0xB6, 0xE8, 0x8E, 0xC3, 0x7A, 0x59, 0xAA, 0x68, 0x37, 0xE9, 0x2E, 0xC0, 0x36, + 0x20, 0xCA, 0x65, 0x6B, 0xF2, 0x4A, 0x79, 0x6C, 0x7D, 0xD1, 0xF2, 0x62, 0xDB, 0x3E, 0x76, 0x9F, + 0x50, 0xDE, 0x19, 0x49, 0x1D, 0x3B, 0x70, 0x5F, 0x63, 0x22, 0x1E, 0xFE, 0xF2, 0x27, 0xF7, 0x82, + 0x5E, 0x09, 0xBA, 0x02, 0x27, 0x69, 0x17, 0xF6, 0x71, 0xBC, 0x24, 0x14, 0x00, 0xCD, 0xF7, 0x70, + 0xB7, 0xC6, 0x4F, 0xDA, 0xA9, 0x5D, 0xC8, 0x51, 0xBE, 0x45, 0xF7, 0xB1, 0xFD, 0x5B, 0x72, 0x93, + 0xFF, 0x12, 0xFC, 0xD4, 0xAF, 0x39, 0x37, 0xF9, 0xF7, 0x4D, 0xF0, 0x93, 0x12, 0xE8, 0x3E, 0x8E, + 0x9F, 0x46, 0x0E, 0x5E, 0xA4, 0x7B, 0xA2, 0x7F, 0x6E, 0x8D, 0xB7, 0x5E, 0x0A, 0x5E, 0x9F, 0xC5, + 0xFE, 0x81, 0x93, 0x8F, 0x8B, 0x9E, 0x4A, 0x76, 0x9B, 0xCF, 0x88, 0xE9, 0x3E, 0x28, 0x67, 0xBD, + 0xF9, 0x64, 0x23, 0x1D, 0x20, 0x56, 0x54, 0x8F, 0xEB, 0x03, 0xDB, 0x4A, 0xC5, 0xF6, 0xA8, 0x95, + 0xDA, 0xF6, 0x34, 0x86, 0x32, 0x90, 0x6C, 0xCD, 0xB1, 0x0E, 0x95, 0x97, 0x5B, 0x54, 0x6C, 0x92, + 0xCC, 0x52, 0x0D, 0x87, 0xE6, 0x94, 0x73, 0x02, 0x49, 0x5D, 0xA8, 0x51, 0x74, 0xBF, 0x99, 0xC5, + 0xDD, 0xBA, 0x06, 0xD3, 0x77, 0xA3, 0xD9, 0x2D, 0xD3, 0x20, 0x0F, 0xBA, 0xFA, 0x92, 0xA3, 0x4F, + 0x16, 0xB6, 0x8F, 0xCB, 0xA0, 0xB8, 0xD4, 0x3A, 0x0F, 0xF7, 0xAC, 0xB2, 0x07, 0x65, 0x65, 0x51, + 0x8C, 0xED, 0x47, 0x15, 0x15, 0xB3, 0x61, 0x2E, 0xF0, 0xE0, 0xA8, 0x4C, 0x84, 0x9D, 0x89, 0x6E, + 0x71, 0x4F, 0xB7, 0xAB, 0x8B, 0xC2, 0x75, 0x48, 0xA6, 0xCA, 0x59, 0x40, 0xB6, 0x31, 0x46, 0xB4, + 0x81, 0xC1, 0xA3, 0x92, 0xA7, 0x08, 0xEC, 0x0A, 0xCD, 0x38, 0x48, 0x60, 0xBE, 0x25, 0x93, 0xA9, + 0x86, 0x21, 0x6F, 0x01, 0x56, 0x48, 0xA9, 0xB1, 0xF0, 0x6A, 0xDF, 0xB0, 0xB0, 0x3E, 0x11, 0xE0, + 0x28, 0x1F, 0x4D, 0xD2, 0x51, 0x3C, 0x9C, 0xEF, 0x29, 0x43, 0xA5, 0x7F, 0xEB, 0x95, 0xFA, 0xE2, + 0x9B, 0x3E, 0x05, 0x87, 0xD2, 0x75, 0x88, 0x9C, 0xDC, 0x60, 0x2C, 0xD3, 0x13, 0xCA, 0xFC, 0x70, + 0x50, 0xB7, 0x75, 0x9F, 0xBF, 0xCA, 0x2F, 0xB1, 0xF8, 0x36, 0xFF, 0x07, 0x26, 0x72, 0x47, 0x60, + 0xC5, 0x8A, 0x4F, 0xAA, 0x30, 0xFC, 0x0B, 0xCB, 0x10, 0x5C, 0x12, 0xDC, 0x44, 0x3C, 0x31, 0x9D, + 0x9B, 0x20, 0xC0, 0x45, 0xCB, 0x93, 0x82, 0x3E, 0x40, 0xA9, 0x09, 0x20, 0xCB, 0x3A, 0x49, 0x41, + 0x8B, 0x34, 0x93, 0x63, 0xE0, 0x21, 0xB4, 0x2C, 0xE6, 0xB7, 0x34, 0x2A, 0x73, 0x6D, 0xF9, 0xDD, + 0xFE, 0x4D, 0x36, 0xE1, 0x8F, 0x78, 0x3F, 0x89, 0x9B, 0xC9, 0x33, 0xBA, 0x65, 0x74, 0x46, 0x0B, + 0x00, 0xD5, 0xB9, 0x32, 0x63, 0xAB, 0x4D, 0x44, 0x75, 0x93, 0x4E, 0xA7, 0xC6, 0xF3, 0x13, 0x86, + 0xD8, 0x36, 0x9E, 0x60, 0x65, 0x5D, 0x37, 0xDE, 0x49, 0xF6, 0x28, 0xA5, 0xD6, 0x1B, 0xBC, 0xA2, + 0xE4, 0x81, 0xFC, 0x52, 0x77, 0x33, 0x19, 0x82, 0xAF, 0x02, 0x84, 0x2A, 0xC7, 0xFE, 0xD0, 0xBC, + 0x32, 0xFE, 0xAC, 0xB4, 0x16, 0x07, 0x06, 0xF7, 0xF7, 0xD9, 0x5B, 0x6F, 0xBE, 0xF9, 0xA6, 0x37, + 0xC0, 0xF5, 0x48, 0xE2, 0x96, 0x39, 0x44, 0x2C, 0x42, 0xBD, 0xCE, 0x0A, 0x87, 0xDE, 0xDC, 0x44, + 0xC4, 0x14, 0x7D, 0x7B, 0x7F, 0x6D, 0xAF, 0xCE, 0x56, 0x48, 0xC4, 0xA2, 0xA7, 0x07, 0x8B, 0xE0, + 0x06, 0x86, 0x2E, 0x15, 0x7B, 0xD1, 0x24, 0x61, 0xC5, 0x69, 0x25, 0x0E, 0xE1, 0x48, 0x48, 0xD9, + 0xA8, 0x3F, 0x01, 0x88, 0x0C, 0x9C, 0x51, 0x2C, 0xE0, 0x61, 0xD8, 0x57, 0x73, 0x0C, 0xBB, 0x5E, + 0x32, 0x02, 0x10, 0x04, 0x85, 0x94, 0x3E, 0x53, 0x0A, 0xB8, 0xA2, 0xD2, 0xC8, 0x6B, 0x7E, 0x44, + 0xB5, 0x51, 0x2A, 0x8F, 0x7C, 0x21, 0x57, 0x2A, 0x8F, 0x5C, 0x08, 0x15, 0x46, 0x3A, 0x67, 0x3B, + 0x1D, 0x53, 0x1F, 0xAD, 0x21, 0x7E, 0xF6, 0xE1, 0xDE, 0x4F, 0xE7, 0xA0, 0xB8, 0x2D, 0xF1, 0x03, + 0xFA, 0x97, 0x9A, 0xE8, 0x00, 0xB3, 0xFC, 0x96, 0x7F, 0x5A, 0x7A, 0x3C, 0x7E, 0x5A, 0xC3, 0xD9, + 0xCC, 0x9C, 0xCE, 0x2A, 0x8D, 0x04, 0x75, 0x01, 0xD4, 0x0F, 0x68, 0x8F, 0xBF, 0x18, 0xB9, 0x75, + 0x8F, 0xF5, 0x2B, 0x91, 0x5D, 0x45, 0xD0, 0xC8, 0xE0, 0x5D, 0x22, 0x6A, 0x1C, 0x08, 0x85, 0x8D, + 0x7F, 0x7B, 0xA9, 0xC4, 0x8D, 0x56, 0x25, 0x96, 0xC0, 0x51, 0x1B, 0x2A, 0xAC, 0x64, 0x08, 0xEE, + 0x85, 0x89, 0x1D, 0x2D, 0x6B, 0x56, 0x17, 0x3C, 0x71, 0xC5, 0xD8, 0x0F, 0xF4, 0xF9, 0x32, 0x09, + 0x9E, 0x79, 0x75, 0xC9, 0x32, 0xF9, 0x33, 0x96, 0x06, 0x28, 0x85, 0x56, 0xD9, 0x97, 0x4A, 0x18, + 0x8D, 0x25, 0x9D, 0x25, 0x92, 0x46, 0x03, 0x2B, 0x2F, 0x09, 0x8D, 0x32, 0x2F, 0x4C, 0x48, 0xCD, + 0xF5, 0xE1, 0xEA, 0xB2, 0x6A, 0x5D, 0x03, 0xF7, 0x83, 0xF1, 0xEB, 0xE9, 0xCB, 0xAD, 0x4A, 0x2F, + 0xC1, 0x13, 0x69, 0x5C, 0x51, 0xAE, 0xE8, 0xD8, 0x3A, 0xB3, 0x4D, 0x33, 0x59, 0x9D, 0x0F, 0x48, + 0xBA, 0x98, 0x7B, 0xAF, 0x4C, 0xAC, 0x69, 0x71, 0xA0, 0x0A, 0xFE, 0xF0, 0xD3, 0x83, 0x89, 0x06, + 0x05, 0xDC, 0xFA, 0x0D, 0xE1, 0xE7, 0xF1, 0x90, 0x4E, 0xA3, 0x28, 0xA9, 0xCC, 0x24, 0x46, 0xF8, + 0xE3, 0x67, 0x50, 0x49, 0xEC, 0xC1, 0x58, 0x04, 0xC9, 0x67, 0xA7, 0x60, 0xA9, 0x73, 0xA3, 0xFB, + 0xC3, 0x23, 0x34, 0xA3, 0xC0, 0xCB, 0x8D, 0x31, 0x1E, 0x99, 0x63, 0xF4, 0xAE, 0x33, 0x24, 0xF8, + 0xFD, 0x89, 0xD2, 0x56, 0xBD, 0x06, 0x67, 0xDD, 0xDC, 0x20, 0x45, 0x13, 0xC1, 0xA9, 0x6C, 0xB0, + 0xF3, 0x14, 0x4C, 0xA0, 0x2B, 0xB8, 0x47, 0x8E, 0x92, 0xC4, 0xF1, 0x53, 0x61, 0x82, 0x85, 0xF7, + 0xD1, 0xD4, 0xA0, 0x7A, 0x03, 0x63, 0xAB, 0xA3, 0x79, 0x66, 0x9B, 0xB7, 0xFA, 0xB9, 0x3D, 0xB6, + 0xF4, 0x2B, 0x9D, 0x08, 0x85, 0x9C, 0xDA, 0x6F, 0x2E, 0x1D, 0x4E, 0xC4, 0x97, 0xDA, 0x9F, 0xBC, + 0x29, 0x20, 0xCB, 0x3F, 0xB1, 0x07, 0x6F, 0x34, 0xC8, 0xAC, 0x8F, 0x25, 0x35, 0xF1, 0x0D, 0x1F, + 0x2B, 0x15, 0x09, 0xCF, 0x99, 0xB0, 0x95, 0xBC, 0xBF, 0x50, 0x55, 0xE7, 0xF4, 0xF2, 0x74, 0x40, + 0x87, 0x09, 0xF9, 0x08, 0x68, 0x7F, 0x7B, 0xDC, 0x6E, 0xB7, 0xDA, 0x2D, 0xF0, 0xA3, 0xFF, 0x6C, + 0x90, 0xF7, 0xB3, 0x3E, 0x8E, 0xCB, 0xC6, 0x86, 0x24, 0xE1, 0x86, 0xCE, 0x22, 0x8A, 0xE1, 0xED, + 0xAE, 0x92, 0xB4, 0xDD, 0x2A, 0xBA, 0x41, 0x0F, 0x75, 0x7D, 0xCB, 0xDF, 0x20, 0x86, 0x37, 0x6F, + 0xD6, 0x8D, 0x01, 0x40, 0x29, 0xC7, 0xCD, 0xDF, 0x87, 0x08, 0xF4, 0xA1, 0x0D, 0x21, 0x78, 0x8A, + 0xAF, 0xDE, 0x78, 0x43, 0xF3, 0x4E, 0x57, 0x8B, 0x36, 0xA7, 0x5D, 0xE4, 0x87, 0x41, 0x2C, 0x96, + 0xE7, 0xC5, 0x12, 0x01, 0x48, 0xC9, 0xF6, 0xD4, 0x62, 0x05, 0x2F, 0x8B, 0xD2, 0x85, 0xEB, 0x26, + 0xAD, 0xE0, 0xAC, 0x36, 0x1D, 0x50, 0x25, 0x99, 0xC4, 0xB5, 0x04, 0x79, 0x94, 0x49, 0x13, 0x65, + 0x73, 0xB4, 0x11, 0xBA, 0xCD, 0x51, 0x47, 0xF3, 0xD4, 0xE6, 0xA8, 0x23, 0x74, 0x1B, 0xA4, 0x4E, + 0xB8, 0x90, 0x36, 0x48, 0xA0, 0xC0, 0xB8, 0x26, 0x8D, 0xBC, 0xE2, 0x4D, 0x8E, 0xF7, 0x82, 0xCD, + 0xB2, 0xCB, 0x64, 0x0A, 0x4B, 0xF0, 0x9B, 0x04, 0x36, 0x9B, 0x43, 0x63, 0x28, 0x1C, 0xE0, 0xC0, + 0x86, 0xDF, 0xE5, 0xF9, 0xEC, 0x5F, 0xC8, 0x84, 0xDC, 0xAB, 0x38, 0x23, 0xB7, 0x39, 0x22, 0x3D, + 0x15, 0xB2, 0x1A, 0x9E, 0xBD, 0x1F, 0x45, 0x3C, 0x2F, 0x07, 0x5D, 0x02, 0xBB, 0xC7, 0x27, 0xAC, + 0x80, 0x12, 0xB1, 0xE3, 0x7C, 0xA5, 0xF7, 0xB1, 0xE9, 0x20, 0x32, 0xEC, 0xF8, 0x4D, 0x71, 0x3E, + 0xA5, 0x7B, 0x47, 0x05, 0x62, 0x40, 0x88, 0xA0, 0xD7, 0xDC, 0x1F, 0xA6, 0x3D, 0x6B, 0x38, 0xD5, + 0xAB, 0x98, 0x84, 0xB2, 0x09, 0x9D, 0x5B, 0xA2, 0x47, 0x0F, 0xBA, 0x22, 0x9A, 0xC6, 0xA9, 0x20, + 0x11, 0x51, 0x27, 0x77, 0x06, 0xCA, 0xA2, 0x8A, 0x8C, 0x68, 0xA8, 0xFB, 0x50, 0x82, 0x51, 0x46, + 0x7B, 0xD4, 0x58, 0x1A, 0xF3, 0xC7, 0x9B, 0x33, 0x6A, 0x80, 0xA9, 0x27, 0xF0, 0xAA, 0xC7, 0x78, + 0x0C, 0xE7, 0xA6, 0x8B, 0xED, 0x63, 0xA8, 0x57, 0x51, 0x08, 0x48, 0xFD, 0xA0, 0x0D, 0xD6, 0xA1, + 0xD3, 0xD8, 0xBA, 0x51, 0x75, 0xD1, 0x95, 0x19, 0x67, 0xA1, 0x62, 0x88, 0x51, 0xB3, 0x3C, 0x03, + 0x8E, 0x77, 0x3A, 0x08, 0xBE, 0x34, 0xD8, 0x25, 0x42, 0x63, 0xCA, 0x7E, 0x51, 0x9E, 0x0E, 0xB8, + 0x8A, 0xEB, 0xAA, 0xA1, 0xA3, 0xF1, 0xDB, 0x1C, 0x27, 0x76, 0xE5, 0xBC, 0x12, 0x37, 0xBB, 0x8E, + 0x42, 0x3A, 0x7D, 0x96, 0x1A, 0xF8, 0x51, 0xB6, 0xE1, 0x21, 0x52, 0x32, 0x0A, 0x30, 0x9A, 0x40, + 0x6E, 0xD4, 0x6B, 0xBA, 0x45, 0xB5, 0x9B, 0x30, 0xE5, 0x87, 0xB3, 0xE9, 0x14, 0x04, 0x5E, 0xCA, + 0xC8, 0xB5, 0x4A, 0x64, 0x19, 0x85, 0x06, 0x4D, 0xC4, 0x0D, 0x2E, 0x22, 0xB9, 0xCF, 0x46, 0xBA, + 0xBA, 0xE1, 0x0E, 0xD4, 0x24, 0x46, 0x0F, 0x35, 0xF0, 0x52, 0x55, 0x82, 0x82, 0x60, 0x00, 0x0E, + 0x55, 0x87, 0x82, 0xDC, 0xCE, 0xA1, 0xD8, 0x20, 0xA8, 0xC5, 0xB3, 0xD5, 0x08, 0x75, 0x92, 0x1A, + 0x48, 0x2D, 0x66, 0xAE, 0x61, 0x04, 0x39, 0x09, 0x39, 0x2D, 0xC3, 0x47, 0x0B, 0x63, 0x5D, 0x0B, + 0x88, 0x6B, 0x02, 0x69, 0x20, 0x32, 0x7D, 0xEE, 0xD2, 0x38, 0x24, 0xFB, 0x87, 0x99, 0x2F, 0x96, + 0xE4, 0x65, 0x3C, 0x74, 0x2E, 0x4B, 0x90, 0xD1, 0x09, 0xCA, 0x53, 0x5E, 0x69, 0x75, 0xA0, 0x2B, + 0x3C, 0x30, 0xBE, 0xDB, 0x2E, 0x45, 0x2B, 0x49, 0xE6, 0x81, 0x6E, 0x95, 0xB7, 0x7E, 0x30, 0x2F, + 0x1B, 0xF6, 0x7A, 0xD2, 0xCD, 0x4E, 0xC0, 0xE9, 0xAB, 0x94, 0xE4, 0x73, 0x71, 0x86, 0x1F, 0x11, + 0x34, 0x5B, 0x5C, 0xF6, 0xF0, 0x45, 0x68, 0x54, 0xB7, 0x93, 0x56, 0x77, 0x63, 0xBA, 0x2E, 0xDC, + 0xB3, 0x94, 0x8D, 0xD3, 0xA9, 0x54, 0xB6, 0x7A, 0x00, 0x28, 0xB8, 0x92, 0x64, 0x83, 0x45, 0xD3, + 0xA9, 0x0D, 0x41, 0x37, 0xC9, 0x2C, 0x98, 0x1B, 0x5D, 0x87, 0xAA, 0x02, 0x5D, 0xE0, 0x4A, 0xED, + 0x8C, 0xD5, 0xF4, 0x60, 0x8F, 0x42, 0xD5, 0xD9, 0x20, 0x02, 0x76, 0x30, 0x90, 0x52, 0xC4, 0x08, + 0x08, 0x4B, 0x1A, 0x3A, 0xCB, 0x2F, 0xF1, 0x8D, 0xE3, 0x9B, 0x69, 0xA0, 0xE6, 0x0A, 0x18, 0xBF, + 0xFA, 0xA6, 0x64, 0x8C, 0x2E, 0xC1, 0x49, 0x74, 0xC8, 0xF7, 0x04, 0xB2, 0x39, 0x5C, 0x0D, 0x33, + 0x16, 0x6A, 0x93, 0xAC, 0x66, 0x5A, 0xB1, 0xD1, 0x72, 0xC7, 0x8E, 0x40, 0x3A, 0x3E, 0xE9, 0xB0, + 0x5E, 0xEB, 0x4B, 0xA5, 0xD7, 0x9A, 0x39, 0x70, 0x38, 0xCB, 0xC5, 0x1C, 0x31, 0x93, 0x3A, 0x56, + 0xEA, 0x7E, 0xBE, 0xC0, 0x13, 0x09, 0xF3, 0xE1, 0x67, 0x9A, 0xC0, 0x2B, 0x3C, 0xEC, 0x9B, 0xC7, + 0x63, 0xBD, 0x91, 0xF1, 0x0D, 0xD0, 0xC2, 0x61, 0x78, 0xDE, 0x02, 0xD9, 0x7A, 0x75, 0xDB, 0x06, + 0x47, 0x5C, 0x27, 0x1D, 0xCE, 0xB9, 0xD4, 0xA5, 0x80, 0x1D, 0xAA, 0x4B, 0xE4, 0xE2, 0x91, 0x95, + 0xE9, 0x99, 0xA2, 0x6C, 0xC6, 0xD3, 0x58, 0x2E, 0xA2, 0x21, 0x60, 0x87, 0x45, 0xAC, 0xA0, 0xBC, + 0xEF, 0x70, 0x1E, 0x50, 0x23, 0x00, 0x86, 0x34, 0x09, 0xFA, 0xFC, 0x1E, 0x70, 0xB1, 0x7B, 0x34, + 0xC2, 0x14, 0x97, 0xD2, 0x37, 0xC2, 0x4F, 0x78, 0x05, 0x32, 0xF9, 0xBC, 0xAE, 0x9B, 0x70, 0x2F, + 0x4E, 0x17, 0x9B, 0x1D, 0xEF, 0x28, 0x7A, 0x48, 0xFC, 0x30, 0x9A, 0x85, 0x91, 0x62, 0x0E, 0xCE, + 0x57, 0x64, 0x11, 0xC1, 0x5C, 0x5C, 0x3E, 0xDF, 0x68, 0xB2, 0x48, 0x39, 0x2D, 0x98, 0x79, 0x34, + 0x0D, 0x29, 0x25, 0x3F, 0xE0, 0xFB, 0x37, 0xE3, 0x09, 0x6A, 0x07, 0x73, 0x42, 0x50, 0x33, 0x94, + 0x08, 0x39, 0x14, 0xCE, 0x2C, 0xD1, 0x36, 0x2E, 0x99, 0x92, 0x58, 0x2E, 0xD4, 0xDC, 0xD4, 0xB0, + 0x17, 0xE1, 0x02, 0x3C, 0xAB, 0x1B, 0x10, 0x46, 0x25, 0x00, 0x2C, 0x0E, 0x58, 0x8B, 0xFC, 0xD2, + 0x34, 0xC5, 0x09, 0x07, 0x06, 0xF4, 0x0D, 0x1F, 0x5F, 0xA1, 0xBA, 0x30, 0x2B, 0x5B, 0x63, 0x1E, + 0x02, 0xC4, 0x25, 0xB3, 0x10, 0x17, 0x3B, 0xD9, 0x4D, 0x05, 0x57, 0xC2, 0xD1, 0x26, 0x21, 0x37, + 0x78, 0xF9, 0xED, 0x48, 0x73, 0x4E, 0x86, 0xBE, 0x16, 0x49, 0x9B, 0x19, 0xB7, 0x70, 0x4F, 0x8B, + 0x44, 0xD5, 0x30, 0x11, 0x3D, 0x57, 0xB1, 0x53, 0x00, 0xEA, 0x8D, 0x7E, 0xE4, 0x8C, 0xAC, 0x09, + 0x35, 0xBF, 0xA8, 0x0D, 0x5A, 0xC1, 0x1F, 0x4D, 0x23, 0xE4, 0x9F, 0xBE, 0x2F, 0x4E, 0x31, 0xC8, + 0xA8, 0xC2, 0xE6, 0x14, 0x17, 0x41, 0xCA, 0x0C, 0x40, 0x15, 0x3A, 0x42, 0x79, 0x13, 0x25, 0x7C, + 0x1F, 0x58, 0x29, 0x2F, 0x18, 0x55, 0x30, 0x9A, 0x2D, 0x9A, 0xCF, 0x52, 0x79, 0x71, 0x98, 0x4A, + 0xA5, 0x81, 0xFB, 0xDC, 0x6A, 0x82, 0x4C, 0xA7, 0xF8, 0x53, 0x63, 0x08, 0xF8, 0xE5, 0x77, 0xC4, + 0x17, 0xCA, 0xB1, 0x93, 0x18, 0x83, 0x59, 0xCC, 0x0C, 0xF6, 0x54, 0x3B, 0x73, 0x5F, 0xF3, 0xF8, + 0x35, 0x7A, 0x3E, 0xE0, 0xA4, 0x0E, 0xAE, 0xF0, 0x0D, 0x2D, 0x8C, 0x3C, 0x64, 0x4E, 0xDF, 0xD5, + 0x9D, 0x5E, 0x15, 0xC2, 0x50, 0x30, 0x67, 0xE0, 0x3D, 0xBF, 0x94, 0x77, 0xD0, 0x6C, 0x9B, 0x9F, + 0xE0, 0x5C, 0xAA, 0x99, 0x21, 0xCF, 0xBF, 0x66, 0xF4, 0xE8, 0xC2, 0xF4, 0x22, 0xBC, 0xF2, 0x45, + 0x19, 0xA3, 0xA8, 0x12, 0xFF, 0x2E, 0x07, 0xDF, 0x04, 0xF1, 0x39, 0xD4, 0x20, 0x7E, 0xC8, 0x9A, + 0xA8, 0x9C, 0x16, 0x32, 0xDC, 0x49, 0x00, 0x25, 0x03, 0xF7, 0x80, 0x91, 0x2F, 0x4B, 0xCF, 0x8B, + 0x38, 0xFA, 0x13, 0xA9, 0xB0, 0x51, 0xA1, 0x3A, 0x4A, 0x5B, 0xB5, 0xAC, 0xE4, 0x82, 0x17, 0x42, + 0x42, 0xD1, 0x72, 0xF0, 0xCD, 0x71, 0x11, 0x39, 0xA9, 0xDD, 0xFF, 0x29, 0x27, 0xD1, 0x4E, 0x53, + 0xAE, 0x4F, 0x60, 0x54, 0xE1, 0x4D, 0x50, 0x8B, 0x69, 0x83, 0xF7, 0x3B, 0xBC, 0x31, 0x3C, 0x1A, + 0x41, 0xF3, 0x02, 0x27, 0xAF, 0x14, 0x22, 0x2E, 0x4B, 0x6F, 0xDB, 0xE2, 0xCB, 0x15, 0x36, 0x45, + 0x4F, 0x6A, 0x62, 0x8C, 0x35, 0xD5, 0x6D, 0xC1, 0x35, 0x4C, 0xC1, 0xE2, 0xF2, 0x46, 0x0A, 0x58, + 0x40, 0x25, 0x8C, 0xBA, 0x10, 0x80, 0x49, 0x07, 0x4E, 0x23, 0xCA, 0x39, 0xC1, 0xC7, 0x97, 0x81, + 0x59, 0x46, 0x07, 0x9B, 0xB9, 0x27, 0xC4, 0xBA, 0x43, 0xC4, 0x3F, 0xD8, 0x1D, 0xF5, 0xAA, 0x80, + 0xD1, 0xE9, 0x93, 0xF5, 0x83, 0x35, 0x7D, 0x86, 0x65, 0x02, 0x27, 0x06, 0x79, 0xED, 0x87, 0x9F, + 0xF6, 0xF6, 0x5E, 0x88, 0xA5, 0x78, 0x79, 0xBE, 0x71, 0x3B, 0x91, 0xAB, 0x6D, 0xBE, 0x2A, 0xC3, + 0x0E, 0xD0, 0x8B, 0x44, 0xE8, 0x50, 0xF9, 0x3A, 0x4A, 0x68, 0xEC, 0x47, 0x53, 0x35, 0x2A, 0xF4, + 0xC0, 0x14, 0xD3, 0x14, 0x1F, 0xBF, 0x68, 0x1F, 0xD6, 0xEC, 0x50, 0x51, 0x9E, 0xCA, 0x53, 0xF3, + 0x47, 0x9B, 0xF9, 0x74, 0x95, 0x8B, 0xA5, 0x2A, 0xDD, 0xC9, 0x5A, 0xA4, 0x20, 0x7B, 0x16, 0x27, + 0xF0, 0x22, 0x17, 0xD2, 0x83, 0x81, 0xB3, 0x77, 0x71, 0x3A, 0xCB, 0x46, 0x73, 0x35, 0xD7, 0xE8, + 0x49, 0xD0, 0xEF, 0xCD, 0x65, 0xBD, 0x67, 0xD1, 0xBF, 0x57, 0xC5, 0x60, 0xE5, 0xC9, 0x2A, 0x71, + 0xC2, 0x91, 0xF9, 0x1D, 0xB9, 0x6F, 0x46, 0x39, 0x1F, 0x82, 0x47, 0xC6, 0x02, 0xF0, 0x25, 0xC9, + 0x63, 0x16, 0xD1, 0xA6, 0x39, 0x05, 0xDD, 0xCA, 0x31, 0xAE, 0xB7, 0x5A, 0x35, 0x33, 0x73, 0xFE, + 0x8B, 0x83, 0x00, 0x80, 0xD2, 0x17, 0xB3, 0xA3, 0xC5, 0x0F, 0x44, 0xFA, 0x83, 0xB8, 0x6A, 0x9C, + 0x64, 0x49, 0xD7, 0x64, 0x6E, 0xDF, 0x64, 0x75, 0x9E, 0xB3, 0xD7, 0xEE, 0x23, 0x7A, 0xB5, 0x96, + 0x16, 0xFC, 0x73, 0xD1, 0x76, 0x89, 0xC6, 0xAB, 0x27, 0x41, 0xD1, 0xD2, 0x27, 0xB0, 0x55, 0x02, + 0xA4, 0x2D, 0xDF, 0x23, 0xE1, 0xD4, 0x6E, 0x66, 0x9B, 0xA4, 0x48, 0xC4, 0x68, 0xCF, 0xC9, 0x72, + 0x8D, 0xF0, 0xFE, 0x39, 0xE0, 0x1F, 0x85, 0xC2, 0x07, 0x84, 0xEB, 0xCC, 0xC7, 0x85, 0x23, 0x6F, + 0xE5, 0xD1, 0xB7, 0x09, 0x76, 0x1B, 0x23, 0x6E, 0xA1, 0xA3, 0xDC, 0xCD, 0xE0, 0x4D, 0xA1, 0x9A, + 0x48, 0x95, 0xA5, 0x66, 0xB7, 0x38, 0xD6, 0x0A, 0x13, 0x9A, 0x2F, 0x77, 0x58, 0xF7, 0x22, 0xF4, + 0x3A, 0x87, 0x61, 0x0C, 0xEC, 0x46, 0xB7, 0x41, 0xE8, 0x5E, 0xB7, 0x09, 0x9D, 0x10, 0x24, 0x2A, + 0xCB, 0x2F, 0x69, 0x59, 0x7B, 0x0A, 0xD0, 0xAE, 0x0B, 0xE0, 0x51, 0xE5, 0x99, 0x40, 0xA8, 0xFF, + 0x28, 0x2C, 0xF0, 0x1B, 0x73, 0x9D, 0xFF, 0x20, 0x62, 0x3A, 0x2F, 0x33, 0x79, 0x43, 0x2E, 0x96, + 0xF4, 0x08, 0x44, 0x2C, 0xE8, 0x86, 0x5D, 0x3F, 0xBA, 0x71, 0xE5, 0xC5, 0xB0, 0xE0, 0x01, 0x47, + 0x73, 0x1F, 0x64, 0xD8, 0x8A, 0xF5, 0x66, 0x1C, 0x20, 0xFC, 0xD8, 0x6E, 0xA4, 0xA7, 0xDB, 0xEA, + 0x1E, 0x1B, 0xA4, 0x98, 0xDB, 0x47, 0x03, 0x39, 0x59, 0xD4, 0x07, 0x2F, 0xC1, 0x3C, 0x85, 0xAA, + 0xD4, 0x27, 0x4F, 0x9C, 0xCF, 0x71, 0x1B, 0xFC, 0xC2, 0xC8, 0x35, 0xB6, 0xA3, 0xDC, 0x6E, 0x51, + 0xC7, 0xB8, 0xF4, 0x79, 0xAD, 0x44, 0xDA, 0x92, 0xE9, 0x94, 0x0E, 0x06, 0x81, 0xBE, 0x2C, 0x59, + 0x32, 0x08, 0x33, 0x4A, 0x0B, 0x58, 0x03, 0x6C, 0xC2, 0x09, 0xDC, 0xD8, 0x1C, 0x51, 0x41, 0x92, + 0x2C, 0xE5, 0x9E, 0x17, 0x58, 0xAD, 0x5E, 0xF4, 0x58, 0xA2, 0x4E, 0xB7, 0xB9, 0xAC, 0x71, 0x01, + 0xED, 0x9D, 0xEC, 0x12, 0x4F, 0xB8, 0x28, 0xC5, 0x25, 0x28, 0x90, 0xB9, 0x57, 0x49, 0xAC, 0x71, + 0xD0, 0xAF, 0xE6, 0x28, 0x77, 0xCC, 0x0C, 0xFD, 0xE7, 0x25, 0xA1, 0x3D, 0xE0, 0xB7, 0xAC, 0xAB, + 0x0B, 0xCE, 0xFD, 0x8E, 0x7F, 0x31, 0x66, 0x8A, 0x9B, 0x96, 0xFC, 0x91, 0xAB, 0x0D, 0x41, 0x9F, + 0x9B, 0xA5, 0xB3, 0x8A, 0xB9, 0x8D, 0x6E, 0x84, 0xCC, 0xD1, 0xB7, 0xCB, 0xE3, 0xCF, 0x56, 0x52, + 0xAA, 0x22, 0x5B, 0x2A, 0xCC, 0xEF, 0x58, 0x46, 0xFF, 0x94, 0x8A, 0x94, 0xA5, 0xDA, 0x9C, 0x7E, + 0x39, 0x95, 0x2A, 0x3F, 0x36, 0xDF, 0x16, 0x1C, 0x2C, 0x31, 0xE7, 0xEB, 0x46, 0xCB, 0x5F, 0x0E, + 0xD3, 0x5E, 0xAB, 0xCC, 0xF2, 0x93, 0x8D, 0xAA, 0x4D, 0xFF, 0x88, 0xCE, 0x3C, 0x97, 0xB5, 0xFB, + 0xDA, 0x52, 0x5C, 0xC6, 0x49, 0xDA, 0x8E, 0x4B, 0xE2, 0x02, 0x6D, 0x49, 0x03, 0xB6, 0xE0, 0x2A, + 0x82, 0x65, 0x7A, 0x28, 0x8C, 0xA2, 0xC9, 0x60, 0x98, 0x4E, 0xE6, 0x40, 0x32, 0x7E, 0x3F, 0x86, + 0xAF, 0x26, 0x4B, 0x74, 0x75, 0xFE, 0x59, 0x45, 0xE8, 0xE2, 0x43, 0xC7, 0x63, 0x4B, 0x2B, 0x49, + 0x1A, 0x84, 0x61, 0x9C, 0x81, 0xB6, 0x9E, 0x9F, 0xE1, 0x01, 0x11, 0x78, 0x3E, 0xB9, 0x05, 0x51, + 0xBB, 0xBC, 0x38, 0x21, 0x67, 0x0E, 0x4F, 0x6D, 0x01, 0xD8, 0x64, 0x53, 0xE5, 0x39, 0xDF, 0x20, + 0xE3, 0xB3, 0x82, 0xED, 0x50, 0x8E, 0xE6, 0xE4, 0xD3, 0x45, 0xB8, 0x29, 0xEE, 0xFE, 0xC9, 0x4D, + 0xE8, 0x5C, 0xE7, 0x2C, 0x57, 0x2D, 0x02, 0xC9, 0x86, 0xFF, 0x0D, 0xEB, 0x4C, 0xDB, 0xF5, 0x06, + 0x52, 0xB1, 0xE0, 0x55, 0x6A, 0x15, 0x6C, 0xEF, 0x5D, 0x08, 0x84, 0xEC, 0x77, 0x07, 0x40, 0x22, + 0xA5, 0xA5, 0xE9, 0xF4, 0xCE, 0x4F, 0x9A, 0xDF, 0x0D, 0xCE, 0x9A, 0xA7, 0xED, 0xDD, 0x9F, 0x8C, + 0x92, 0x34, 0xF8, 0xCC, 0xDB, 0x88, 0x91, 0x0A, 0x5D, 0x07, 0xA5, 0xCD, 0xC8, 0xF4, 0x22, 0x9D, + 0x08, 0xD7, 0x0D, 0xB4, 0x1A, 0x76, 0x2E, 0x0B, 0xF1, 0xE3, 0xEF, 0xE8, 0x63, 0xE4, 0xA5, 0x70, + 0x33, 0x4E, 0xFB, 0xF3, 0x5D, 0x5A, 0x79, 0x15, 0x16, 0x26, 0xD0, 0xFE, 0xD2, 0xFB, 0x71, 0x1D, + 0x0C, 0x81, 0xFB, 0x1C, 0xA6, 0xAE, 0xB8, 0x4E, 0x67, 0xA2, 0xA3, 0x00, 0x3D, 0x09, 0xE2, 0xD9, + 0x74, 0x64, 0x49, 0x84, 0xAE, 0x98, 0xA8, 0xCA, 0xDC, 0x19, 0xCA, 0xEC, 0xCE, 0x03, 0x87, 0x3D, + 0xD6, 0x84, 0xA5, 0xAA, 0x04, 0x28, 0xCD, 0xD1, 0xB2, 0xCD, 0x5C, 0x2D, 0xFD, 0x9A, 0x65, 0xF6, + 0xA6, 0xBC, 0x27, 0x7E, 0x0E, 0x37, 0xF8, 0x8E, 0xA3, 0x1F, 0x75, 0xF6, 0x6B, 0x34, 0x87, 0x46, + 0xBB, 0xCD, 0x2A, 0x5A, 0x16, 0x09, 0xC4, 0x3F, 0x40, 0x89, 0x9F, 0x4A, 0x4C, 0x04, 0x7D, 0x6D, + 0x48, 0x18, 0xAA, 0xD4, 0xD9, 0xCA, 0xA2, 0xA7, 0x09, 0x44, 0x6E, 0x4E, 0x68, 0x53, 0x40, 0x37, + 0xC9, 0x68, 0xC5, 0x92, 0xD6, 0xF0, 0x15, 0x90, 0x43, 0x34, 0x51, 0x66, 0x0C, 0x44, 0x6F, 0x33, + 0x5C, 0x91, 0x44, 0xC3, 0xC2, 0x1B, 0xF1, 0xFE, 0x56, 0xB6, 0x6E, 0xF0, 0xF2, 0x08, 0x21, 0xC5, + 0x22, 0x9F, 0x5A, 0xDF, 0x4D, 0xE0, 0x57, 0x56, 0x52, 0xD4, 0xD3, 0x62, 0xBE, 0x06, 0x31, 0x63, + 0x8B, 0xF9, 0x66, 0x0F, 0x57, 0x1A, 0x55, 0x74, 0x46, 0x27, 0xDF, 0x92, 0xC6, 0x90, 0x51, 0x61, + 0xA8, 0x30, 0x88, 0xBE, 0xDD, 0x9F, 0x7C, 0x8D, 0xA0, 0x4F, 0x3C, 0x66, 0x22, 0x0E, 0x1C, 0x44, + 0x91, 0xB7, 0x60, 0x08, 0x73, 0xC5, 0x5E, 0xDD, 0xC0, 0xBB, 0x48, 0x41, 0x1C, 0xF3, 0x10, 0x97, + 0xD1, 0x9C, 0xCA, 0x62, 0x6E, 0x83, 0x91, 0x18, 0x29, 0x84, 0x54, 0xD5, 0x43, 0x11, 0x52, 0xB6, + 0xED, 0x5B, 0x70, 0x26, 0xB7, 0x54, 0xB6, 0x25, 0xAC, 0xD9, 0x42, 0x04, 0xD7, 0x4D, 0x3C, 0x2C, + 0xEC, 0x59, 0xBF, 0x8A, 0xB2, 0x29, 0xD8, 0x77, 0x2D, 0xB7, 0x20, 0xB5, 0x48, 0xB2, 0x9B, 0x53, + 0x9B, 0xE6, 0xD0, 0x22, 0x9E, 0xE0, 0x40, 0xB6, 0x88, 0xB6, 0xFC, 0x78, 0xC6, 0x07, 0xDA, 0x56, + 0x5F, 0x2E, 0x58, 0x9C, 0x6A, 0x9B, 0x02, 0xDF, 0x9B, 0xAC, 0x94, 0x13, 0xD4, 0xA8, 0xF4, 0xE0, + 0xC2, 0x50, 0x11, 0x59, 0xC0, 0xCD, 0x81, 0x53, 0xC6, 0x43, 0x89, 0x94, 0x1D, 0x79, 0x28, 0x16, + 0x30, 0x51, 0x03, 0x2D, 0xA6, 0x1F, 0xB5, 0x30, 0xE8, 0x05, 0xDA, 0x60, 0x94, 0xDF, 0xD1, 0xF2, + 0x5F, 0xD8, 0x04, 0x59, 0xA6, 0x6A, 0x13, 0x0C, 0xBC, 0xAA, 0x15, 0x1A, 0xCB, 0x82, 0x56, 0x68, + 0xA0, 0xA5, 0x6B, 0x27, 0xB8, 0xE9, 0x9E, 0x47, 0x89, 0x45, 0x21, 0x37, 0x62, 0xC1, 0x34, 0x0B, + 0xEC, 0x56, 0x94, 0x1B, 0x6C, 0xB2, 0x36, 0x0A, 0xE0, 0xE7, 0x37, 0xC0, 0xEF, 0x15, 0x2A, 0x76, + 0x1F, 0x8E, 0x5F, 0xAF, 0x0F, 0x14, 0xF2, 0x9F, 0xD6, 0x92, 0xB0, 0x5C, 0xBF, 0xE2, 0x2E, 0xA0, + 0x38, 0xEC, 0xC8, 0xAE, 0x79, 0xC1, 0x72, 0x8D, 0x0E, 0x4D, 0xA3, 0xF5, 0xE3, 0xD2, 0x08, 0xD1, + 0xC2, 0x6D, 0xC3, 0x2A, 0x44, 0x63, 0x63, 0x17, 0x57, 0xEF, 0xBC, 0xF7, 0x6F, 0xE2, 0xF7, 0x9C, + 0x8D, 0x7A, 0x72, 0x76, 0xFE, 0xE0, 0x56, 0xFD, 0x12, 0x6C, 0x15, 0x28, 0x2D, 0xF0, 0x4D, 0x2A, + 0x68, 0xFF, 0x42, 0xB6, 0x05, 0x4D, 0x6A, 0x18, 0xA4, 0xF3, 0x39, 0xB2, 0x78, 0xBF, 0x7B, 0xC8, + 0x0F, 0xA7, 0x9E, 0xDA, 0x95, 0xF4, 0x53, 0x7E, 0xC1, 0xD3, 0x73, 0x3A, 0xF6, 0xE3, 0x91, 0xE0, + 0x4D, 0xAD, 0x7A, 0xC5, 0xE9, 0x3D, 0xF3, 0x9E, 0x0C, 0x29, 0xFC, 0xB0, 0x66, 0x2D, 0x68, 0x97, + 0x2F, 0x21, 0xA2, 0x4A, 0xB8, 0x95, 0x10, 0xFB, 0x4C, 0x28, 0x9F, 0x7A, 0xFD, 0xD1, 0x59, 0x82, + 0x62, 0x19, 0x05, 0xFA, 0x97, 0xC6, 0x55, 0xD4, 0xE9, 0x2F, 0x64, 0x6B, 0xF3, 0xE9, 0xB8, 0x1B, + 0x2E, 0x22, 0x6C, 0x0E, 0xCC, 0xC6, 0x14, 0x64, 0x72, 0x0D, 0x28, 0x6E, 0x65, 0x86, 0x27, 0x90, + 0x76, 0xFB, 0x0C, 0x7F, 0x91, 0xE7, 0x37, 0xE7, 0x7B, 0x7A, 0x3A, 0x52, 0x51, 0xC5, 0xB9, 0x69, + 0x1B, 0x04, 0xD5, 0xFB, 0x14, 0xEB, 0x01, 0x33, 0xA8, 0xA4, 0x22, 0x71, 0xEC, 0xAE, 0x4E, 0xAF, + 0x3B, 0x2D, 0xF9, 0x06, 0xAE, 0x2D, 0x9B, 0xE9, 0xB8, 0xA8, 0xAB, 0x08, 0x20, 0x23, 0x42, 0xC5, + 0x43, 0xDA, 0xC8, 0xDA, 0xE0, 0xD1, 0xC9, 0x57, 0xF4, 0x1C, 0xCF, 0xEA, 0x70, 0xEF, 0x85, 0x9D, + 0x46, 0xAB, 0xC1, 0x9A, 0xC9, 0x5C, 0xF2, 0x58, 0x5A, 0x38, 0x02, 0xAD, 0xAA, 0x4E, 0xC7, 0xC4, + 0x94, 0xD4, 0xC4, 0x2B, 0xF9, 0x85, 0xF6, 0x60, 0x05, 0x12, 0x5E, 0x92, 0x1F, 0x0B, 0x97, 0x1B, + 0xB3, 0x8A, 0x05, 0x67, 0x69, 0x2E, 0x7C, 0x22, 0xE1, 0x4C, 0x46, 0x0F, 0x93, 0xC6, 0xA5, 0x87, + 0xF8, 0x8B, 0x22, 0xE4, 0x20, 0xB6, 0x79, 0x3C, 0xC1, 0x6D, 0xCB, 0x0C, 0xC4, 0x8F, 0x22, 0x89, + 0xE4, 0x51, 0xF4, 0x3A, 0xC6, 0x1A, 0x49, 0x5E, 0x80, 0xF5, 0x90, 0xD3, 0x5B, 0x81, 0x5E, 0x25, + 0x2C, 0x10, 0xD0, 0x3C, 0xFA, 0xC6, 0x23, 0x1A, 0xB0, 0x0A, 0xD2, 0x49, 0x3B, 0x63, 0xA8, 0xB5, + 0x0A, 0x40, 0x00, 0xFA, 0x31, 0x05, 0xC1, 0x90, 0x53, 0x29, 0x5A, 0xA3, 0xF0, 0xDF, 0x07, 0x46, + 0xA5, 0x2A, 0x92, 0x58, 0xD4, 0x56, 0xC7, 0x21, 0x14, 0xCC, 0xA9, 0xEF, 0xDE, 0xE2, 0xCF, 0x24, + 0xDB, 0x54, 0x5F, 0xAF, 0xE4, 0xB4, 0xBA, 0xBF, 0x4D, 0xB3, 0x48, 0xB4, 0x55, 0xC6, 0xA7, 0xE8, + 0x4E, 0x7D, 0x01, 0x6E, 0x28, 0xF3, 0xC8, 0x98, 0xE7, 0x93, 0x92, 0x2B, 0x63, 0x3F, 0xC4, 0x6A, + 0x0D, 0xEF, 0x14, 0x6F, 0xD3, 0x05, 0x1F, 0x04, 0x14, 0x79, 0xEB, 0xB9, 0xFC, 0xFF, 0x0D, 0x0E, + 0xFE, 0xF5, 0x3C, 0xC4, 0xD0, 0x5A, 0xE3, 0xD2, 0xAD, 0x98, 0x4C, 0xE7, 0xCB, 0xFE, 0x71, 0x71, + 0x76, 0x06, 0x0D, 0x79, 0xC0, 0x4E, 0x03, 0x88, 0xD3, 0xBC, 0x86, 0xF3, 0x7A, 0x53, 0x6A, 0x54, + 0x0B, 0xD8, 0x55, 0xDB, 0x43, 0xA5, 0xDC, 0x8F, 0xC7, 0xF0, 0x4D, 0x24, 0x6C, 0xF8, 0xCF, 0xF9, + 0x93, 0x79, 0x70, 0x9A, 0x77, 0x87, 0x5E, 0x6E, 0x39, 0x7E, 0xE9, 0x5A, 0x9E, 0x91, 0x11, 0x4D, + 0xFB, 0xD2, 0xBB, 0x8E, 0xF1, 0x78, 0xC7, 0x7A, 0xBE, 0x63, 0x5E, 0x12, 0x2E, 0x8D, 0x2B, 0x72, + 0x1B, 0x57, 0xF4, 0x18, 0xFF, 0xCB, 0x5D, 0xB2, 0xE6, 0xB5, 0x7A, 0x9B, 0xF3, 0xC8, 0xFE, 0x8B, + 0x16, 0xB6, 0x33, 0x14, 0xC5, 0x54, 0x6A, 0x39, 0x24, 0x38, 0xCE, 0xF9, 0x86, 0x4E, 0xB6, 0xB0, + 0x19, 0xB3, 0xB8, 0xF2, 0xBA, 0x56, 0xF9, 0xAD, 0xCD, 0xC2, 0x85, 0xB4, 0xEB, 0xF7, 0x4F, 0x64, + 0x25, 0x5B, 0x94, 0x18, 0xEC, 0x71, 0xCB, 0x45, 0x10, 0x39, 0x24, 0x1D, 0xD7, 0x3F, 0x83, 0xB7, + 0xC8, 0x87, 0xFA, 0xA4, 0x96, 0x7E, 0xC0, 0xE2, 0xB6, 0x5A, 0xA9, 0xA0, 0xCD, 0xC7, 0xFD, 0xE1, + 0xD0, 0x21, 0x68, 0xE9, 0x60, 0xBC, 0xB7, 0x8A, 0xCC, 0x85, 0x7A, 0x4A, 0x2E, 0x47, 0xF5, 0xD7, + 0xE8, 0x85, 0xBB, 0x0A, 0xC1, 0x0C, 0xF6, 0x4F, 0x03, 0x3C, 0xF4, 0x81, 0x76, 0xCC, 0x95, 0x70, + 0xAB, 0x61, 0x9A, 0x1F, 0xC0, 0x6E, 0xA4, 0xD0, 0xF2, 0xD1, 0xE9, 0x2E, 0xF2, 0x1A, 0xA7, 0x17, + 0x5A, 0x34, 0x9B, 0xBA, 0x6D, 0xDD, 0x56, 0xC4, 0x8D, 0x79, 0x15, 0xA4, 0x4D, 0x81, 0xBC, 0x51, + 0x4E, 0xDF, 0x27, 0xC7, 0xE7, 0x8C, 0x20, 0x44, 0xC3, 0xCC, 0xF1, 0x6E, 0xB0, 0xBB, 0x38, 0x60, + 0x3B, 0x5C, 0xAF, 0x23, 0x4B, 0x6B, 0x7B, 0x3B, 0x66, 0x5C, 0xD3, 0xF2, 0x95, 0xAB, 0xE3, 0xE8, + 0xF0, 0xD9, 0x03, 0x3D, 0xF9, 0x4F, 0xF0, 0xE4, 0xEF, 0xF6, 0x8E, 0x64, 0xD9, 0x69, 0x18, 0x76, + 0xE7, 0x2B, 0xC2, 0xBB, 0x14, 0x66, 0x4A, 0x59, 0x8E, 0xEC, 0x5B, 0x81, 0xB2, 0x95, 0x81, 0x07, + 0x1C, 0x80, 0x81, 0xBC, 0x26, 0xD0, 0x40, 0xB7, 0x69, 0xF2, 0x58, 0x87, 0x7F, 0x47, 0x92, 0x77, + 0x3B, 0x4E, 0xDC, 0x24, 0x2D, 0x65, 0x61, 0x06, 0x5A, 0x1A, 0x47, 0x96, 0x65, 0x59, 0x92, 0x65, + 0x4B, 0x82, 0x6E, 0x7F, 0x0F, 0x21, 0xE4, 0x5A, 0xFB, 0x77, 0xBC, 0x17, 0x42, 0x48, 0xF0, 0xA1, + 0x47, 0x57, 0x14, 0x11, 0x2E, 0xED, 0xB1, 0xA3, 0xC1, 0x2A, 0x56, 0xDC, 0xD2, 0x0E, 0x45, 0x15, + 0x47, 0x28, 0xEA, 0x46, 0xD7, 0xA0, 0x2B, 0x53, 0xF5, 0x2E, 0xDF, 0x7F, 0xE7, 0xCC, 0xF4, 0x3B, + 0xA6, 0x03, 0xA8, 0x23, 0x18, 0xB9, 0x5B, 0xD2, 0x50, 0x3A, 0x27, 0xE8, 0x89, 0xE1, 0xA2, 0xE0, + 0x69, 0x48, 0x78, 0x6B, 0x4A, 0x40, 0x2C, 0x33, 0xDD, 0x3B, 0x6E, 0x0A, 0x3E, 0x9C, 0x3C, 0x8A, + 0x6B, 0x02, 0x74, 0x95, 0x73, 0x80, 0xFA, 0xAF, 0xDB, 0xDA, 0x6A, 0x15, 0x30, 0x51, 0x36, 0x1B, + 0xF5, 0x2D, 0x79, 0xD0, 0xD4, 0x84, 0x2A, 0x18, 0x1C, 0xC1, 0x10, 0x32, 0xDC, 0x8F, 0xCB, 0x5C, + 0x88, 0x32, 0xE4, 0x0B, 0x91, 0x48, 0x8B, 0xBE, 0x66, 0xEF, 0xF2, 0xD1, 0xC2, 0xEA, 0x81, 0xC1, + 0xB2, 0x3D, 0x7E, 0x9F, 0xFD, 0x46, 0x48, 0x91, 0xE2, 0x80, 0xEB, 0xE3, 0x83, 0x46, 0x59, 0xB2, + 0xE0, 0x0B, 0x01, 0xC9, 0x72, 0x51, 0x4E, 0x9B, 0x94, 0xD5, 0xD2, 0x81, 0x76, 0x83, 0x08, 0x8B, + 0x42, 0x89, 0xA7, 0xFF, 0xC7, 0xE0, 0xB7, 0xD8, 0xF9, 0x91, 0xFA, 0x59, 0xAE, 0xD8, 0x21, 0x94, + 0x3D, 0x1B, 0xD4, 0xE0, 0xCB, 0x34, 0x83, 0xE5, 0x4A, 0x86, 0x0E, 0xB3, 0xF9, 0x91, 0x0E, 0xDA, + 0x70, 0x75, 0x9C, 0xB8, 0x3B, 0x60, 0x8A, 0xEB, 0x40, 0x5C, 0x3B, 0x9F, 0x2F, 0x8F, 0xB2, 0x19, + 0x25, 0xC9, 0x16, 0xC7, 0xCB, 0xFA, 0xB1, 0x57, 0x5E, 0xC0, 0x6C, 0xE9, 0xD9, 0x91, 0x18, 0x08, + 0x22, 0xAF, 0x74, 0x69, 0x68, 0xBD, 0x91, 0xA5, 0x4A, 0xDD, 0x51, 0x6E, 0x1C, 0xB8, 0x9F, 0xA5, + 0x87, 0xEB, 0x19, 0x33, 0x8A, 0x16, 0x1A, 0x65, 0xC3, 0xA2, 0xF5, 0x35, 0x7A, 0xDC, 0x6B, 0xB1, + 0xD3, 0xE1, 0xFC, 0xE5, 0xB2, 0x78, 0x83, 0xAD, 0x0B, 0x26, 0xC9, 0x46, 0x30, 0x6C, 0x86, 0x1E, + 0x02, 0x10, 0x63, 0xF3, 0xA2, 0x0D, 0x41, 0x66, 0x01, 0x72, 0xE7, 0xAD, 0x22, 0xB5, 0xA2, 0x4E, + 0x84, 0x8B, 0x91, 0x0B, 0xEE, 0xA2, 0x80, 0xCA, 0xC8, 0x30, 0x66, 0x95, 0x51, 0x2F, 0x52, 0xA0, + 0x95, 0x75, 0x54, 0xEE, 0x32, 0x91, 0x0C, 0x8F, 0xA4, 0x45, 0xE0, 0x72, 0x35, 0x1D, 0x12, 0xE1, + 0x31, 0xE6, 0x1C, 0xD8, 0x85, 0xF1, 0xED, 0x9A, 0x42, 0x61, 0xD7, 0xF4, 0x3F, 0xD1, 0x8C, 0xAC, + 0x20, 0xBD, 0xA7, 0xA3, 0x54, 0xEC, 0x1D, 0xCB, 0xE3, 0xA8, 0xCB, 0x58, 0xF7, 0x8A, 0x53, 0x22, + 0xC2, 0x9C, 0x7F, 0x87, 0x01, 0x76, 0xBF, 0xAF, 0x3B, 0x78, 0xE7, 0xE2, 0xFD, 0x8E, 0x62, 0x5A, + 0x0C, 0xB6, 0x7D, 0xA7, 0xE1, 0xFD, 0xAE, 0x04, 0xF1, 0x03, 0x63, 0xBF, 0x17, 0x48, 0x1E, 0x73, + 0x8B, 0x82, 0xE9, 0xF6, 0x37, 0x24, 0x8F, 0x6D, 0x8B, 0x2B, 0x6E, 0x3B, 0xD2, 0xC3, 0x00, 0x79, + 0xDF, 0x6F, 0x51, 0x6A, 0xBC, 0x15, 0x32, 0x5C, 0xB3, 0x30, 0x5C, 0x26, 0x12, 0x0A, 0xD1, 0x45, + 0xDA, 0x55, 0xF2, 0x15, 0x9B, 0xD4, 0x21, 0x84, 0x50, 0x2F, 0x12, 0x55, 0x25, 0xFC, 0xA8, 0x34, + 0xF4, 0xCE, 0xB9, 0x0D, 0x1E, 0x6A, 0x8B, 0x84, 0xD9, 0x21, 0x1D, 0x27, 0x38, 0xF1, 0x96, 0xE0, + 0x6E, 0x90, 0x49, 0xD4, 0x6F, 0x14, 0x08, 0xD1, 0xE5, 0x8E, 0xD6, 0x2E, 0x98, 0x1C, 0x62, 0x11, + 0xA8, 0xAC, 0x7C, 0x0B, 0xB3, 0x86, 0xA9, 0x55, 0xD2, 0xE6, 0xE8, 0x9B, 0x7A, 0x52, 0x7F, 0x03, + 0x5D, 0x34, 0x1D, 0x91, 0xFB, 0x59, 0xBD, 0xA9, 0x6E, 0xC0, 0x70, 0xCD, 0x68, 0xF6, 0x12, 0x92, + 0xBB, 0x0F, 0x91, 0xBC, 0x45, 0x2F, 0x31, 0x2B, 0x57, 0xC4, 0x5D, 0x85, 0x68, 0x80, 0xF2, 0xB1, + 0xB5, 0xCF, 0xEF, 0x37, 0xBE, 0xA1, 0x97, 0x94, 0x34, 0x34, 0x82, 0xA2, 0x84, 0xE3, 0xCE, 0x8A, + 0xE1, 0xA5, 0xB7, 0x0C, 0x13, 0x58, 0x14, 0x6A, 0x5C, 0x46, 0x76, 0x22, 0x05, 0x60, 0x77, 0xFE, + 0x66, 0x2D, 0xF7, 0x78, 0xCB, 0x40, 0x44, 0x40, 0x0D, 0x71, 0x62, 0xE3, 0x32, 0x16, 0x4B, 0x69, + 0x65, 0xEB, 0x3E, 0x1C, 0x83, 0xC3, 0x5F, 0x23, 0x21, 0xB8, 0xFA, 0x5E, 0xC5, 0xC5, 0x59, 0xCE, + 0x13, 0x3E, 0xB8, 0x35, 0x44, 0xFF, 0xA0, 0xEC, 0x40, 0x7B, 0x98, 0x1C, 0xA8, 0x84, 0x9E, 0x75, + 0x19, 0x82, 0x6E, 0xE9, 0xAD, 0xFF, 0xE6, 0x54, 0x41, 0x2E, 0x6D, 0xBA, 0x4C, 0x1C, 0x24, 0x18, + 0x5F, 0xEB, 0xD1, 0xEC, 0xAC, 0xFB, 0x4C, 0x42, 0xD0, 0xB5, 0x25, 0xCB, 0xF2, 0x6D, 0x66, 0x13, + 0x0A, 0xAA, 0x04, 0x75, 0x29, 0xF0, 0xBC, 0x4B, 0x14, 0xD1, 0x2A, 0x4D, 0x1C, 0x64, 0x9B, 0xC6, + 0x49, 0x52, 0x32, 0x41, 0x95, 0xB9, 0x80, 0xD4, 0x78, 0x43, 0xDD, 0xC7, 0xEA, 0x85, 0x2B, 0xD1, + 0xAA, 0x93, 0x04, 0x40, 0x7E, 0x69, 0xEA, 0xA9, 0x86, 0xDC, 0xD2, 0xEC, 0x30, 0x33, 0xFA, 0x58, + 0x75, 0x93, 0xCB, 0xAC, 0x2E, 0x5F, 0x5B, 0xCD, 0x5F, 0xEC, 0x7A, 0x6E, 0xE4, 0x5B, 0x66, 0xAA, + 0xA4, 0x8E, 0x93, 0x02, 0x69, 0x31, 0xD6, 0xEE, 0xB2, 0xB5, 0xC3, 0xAD, 0x95, 0xD2, 0xA9, 0x8D, + 0xBA, 0xB6, 0x2C, 0x1D, 0xD7, 0xC0, 0x71, 0x7B, 0x0B, 0x89, 0xC8, 0xC6, 0x55, 0x13, 0x72, 0x7A, + 0xA7, 0x99, 0x6C, 0xDD, 0x04, 0x66, 0xFF, 0x37, 0x65, 0x36, 0x5F, 0x7C, 0x2C, 0x1E, 0x74, 0x73, + 0x6B, 0xA6, 0x72, 0x51, 0xFA, 0xF7, 0x00, 0x0B, 0xB8, 0xFA, 0x8A, 0x77, 0x3F, 0x02, 0xB8, 0xDE, + 0xA8, 0x25, 0x52, 0x65, 0xDF, 0x97, 0x1D, 0x59, 0x8B, 0xA6, 0xDE, 0x35, 0x80, 0x84, 0x17, 0xD3, + 0xCB, 0xE8, 0x22, 0x52, 0x34, 0x55, 0x9F, 0x5D, 0xD7, 0x22, 0x83, 0x6E, 0x24, 0x69, 0x14, 0x6C, + 0x67, 0x2B, 0x00, 0x28, 0xCC, 0xBE, 0x89, 0x2E, 0x08, 0x99, 0x32, 0x3D, 0xDB, 0x74, 0x4F, 0x80, + 0x70, 0x2B, 0xD7, 0x92, 0x99, 0x0A, 0xC9, 0x3D, 0x25, 0x54, 0x77, 0xCE, 0xFD, 0x47, 0xBF, 0x8A, + 0x9D, 0xDD, 0xCD, 0xBE, 0xD2, 0x92, 0xDE, 0xA5, 0x49, 0x3B, 0x6D, 0x41, 0x38, 0x6A, 0x2D, 0xB1, + 0x02, 0x77, 0x83, 0x15, 0xD0, 0x68, 0xEF, 0xB9, 0xC3, 0xD6, 0x6F, 0xEA, 0xBB, 0xB5, 0xA2, 0xAF, + 0x83, 0x2B, 0x32, 0x99, 0x93, 0xFA, 0xB1, 0xC1, 0xBD, 0x11, 0xFF, 0xFA, 0xE4, 0xF5, 0x9D, 0xDD, + 0xF5, 0x29, 0xA8, 0xD4, 0x7C, 0x91, 0xDA, 0x9A, 0x33, 0x4C, 0x28, 0x22, 0xB6, 0xB2, 0x8B, 0x3B, + 0x40, 0xB2, 0xA7, 0xBC, 0x86, 0x2E, 0x06, 0xCB, 0x98, 0xD5, 0x71, 0xB7, 0x14, 0x6E, 0xBF, 0x71, + 0x95, 0x5C, 0x62, 0xE8, 0xDA, 0x85, 0xDB, 0x3B, 0xDD, 0xB1, 0xD6, 0x7E, 0x4E, 0x51, 0x86, 0x46, + 0xB0, 0x66, 0xE7, 0x52, 0x6C, 0x73, 0x9F, 0x85, 0xAB, 0xD2, 0x55, 0x21, 0x61, 0x67, 0x0B, 0x86, + 0x8D, 0xD9, 0x30, 0x94, 0xB8, 0x94, 0x2B, 0xCE, 0x27, 0x2F, 0x15, 0x3C, 0x2E, 0x32, 0xE5, 0xF0, + 0xCD, 0x7E, 0xB7, 0x23, 0x1B, 0xE7, 0xCB, 0x84, 0x6C, 0xA1, 0xFA, 0x2D, 0x48, 0x03, 0xD1, 0x88, + 0xC3, 0x0A, 0x34, 0x33, 0x64, 0xD6, 0xB1, 0xBF, 0xC8, 0xDE, 0xD8, 0x1F, 0x29, 0xDF, 0xA7, 0x43, + 0x83, 0x1D, 0xC8, 0x7A, 0x55, 0xBF, 0x1C, 0x43, 0x40, 0x8B, 0x6C, 0x96, 0x0F, 0xC4, 0x51, 0xDF, + 0x73, 0xF9, 0x48, 0x78, 0x82, 0x9B, 0x64, 0xEF, 0xF0, 0x8B, 0x7E, 0x2C, 0xD2, 0xDE, 0x50, 0xF4, + 0xF7, 0x35, 0xBC, 0x2F, 0x6A, 0xDF, 0x07, 0x1F, 0x97, 0xD9, 0xE2, 0x54, 0xAF, 0xDF, 0x3B, 0xFD, + 0x5F, 0x39, 0x18, 0x25, 0xD4, 0x77, 0xAA, 0x18, 0x34, 0xB7, 0x35, 0x15, 0x60, 0xDF, 0x7B, 0xB7, + 0x35, 0x22, 0xD9, 0x54, 0x1E, 0x6F, 0xCB, 0x6D, 0x3D, 0x52, 0x05, 0xE5, 0xDB, 0x6C, 0xF7, 0x70, + 0x68, 0x7F, 0x8A, 0xF8, 0xED, 0x42, 0xA6, 0xDC, 0x1D, 0x9A, 0x25, 0xFC, 0x43, 0xB7, 0x7B, 0xF5, + 0xCE, 0x6B, 0x84, 0xF6, 0xDF, 0x79, 0xDD, 0x9D, 0xF3, 0xDA, 0xA5, 0x67, 0x78, 0x9E, 0xFB, 0x7F, + 0xC6, 0x8B, 0x8D, 0x44, 0xFA, 0xEB, 0xBC, 0xD8, 0x9A, 0x68, 0xFB, 0xEF, 0xC8, 0xFE, 0xE3, 0x1C, + 0xD9, 0xBA, 0x74, 0xDD, 0x8A, 0x2F, 0x3B, 0x53, 0xEC, 0x11, 0xE2, 0xCE, 0xD6, 0x9A, 0xEF, 0xA1, + 0x47, 0x9B, 0x56, 0xF0, 0xEE, 0x1C, 0xDA, 0xD8, 0xDB, 0xF6, 0x1C, 0xDA, 0x08, 0xBD, 0x53, 0x87, + 0xF6, 0x7F, 0x23, 0xA7, 0xD1, 0x3A, 0x64, 0x3E, 0xED, 0x46, 0x76, 0xCE, 0xAE, 0xDD, 0xDA, 0x88, + 0x5B, 0x97, 0x0E, 0xA1, 0x56, 0x6E, 0x6D, 0x44, 0xA6, 0xA5, 0x5B, 0xBB, 0xCD, 0x56, 0xC1, 0x74, + 0x6B, 0x23, 0xA4, 0x2E, 0x7D, 0x37, 0x08, 0xD7, 0x58, 0x51, 0x7B, 0xE4, 0xD9, 0xC6, 0xB1, 0xD6, + 0xFA, 0x3C, 0x76, 0xE0, 0xED, 0xF8, 0x1D, 0x9E, 0x6D, 0x7D, 0x95, 0x86, 0x7B, 0x38, 0xA2, 0xEE, + 0xFC, 0x17, 0xD8, 0xF1, 0x9F, 0xEB, 0xBF, 0x20, 0xB6, 0xAE, 0x5D, 0xBE, 0x9D, 0xFB, 0x30, 0x4A, + 0x9C, 0xDB, 0x9D, 0xCB, 0xB2, 0xCD, 0x3D, 0x1B, 0x88, 0x41, 0xB0, 0x73, 0x1B, 0x1B, 0xFF, 0x06, + 0xE7, 0x76, 0x1B, 0x09, 0xB9, 0x03, 0xE7, 0x76, 0xA8, 0xC9, 0x11, 0xEA, 0xDF, 0xFE, 0x93, 0x6C, + 0x8F, 0xFD, 0x91, 0xF5, 0xFF, 0x92, 0x7F, 0xBB, 0x99, 0x02, 0xD8, 0xA9, 0x8B, 0xFB, 0xCF, 0x56, + 0x11, 0x8C, 0x38, 0x3B, 0x55, 0x0F, 0x23, 0x62, 0x89, 0xDC, 0xA8, 0x53, 0x32, 0x65, 0x9C, 0x11, + 0xE1, 0x58, 0x55, 0x1A, 0x96, 0x27, 0x23, 0x15, 0x7E, 0xC5, 0xDC, 0x43, 0x14, 0x82, 0x53, 0x6D, + 0xE1, 0x0A, 0x9A, 0x2B, 0x7E, 0xFA, 0x19, 0x1D, 0xCB, 0xEF, 0x24, 0xB2, 0x21, 0x0A, 0x5B, 0xDC, + 0xCB, 0xA7, 0x88, 0x11, 0x7C, 0x4D, 0x06, 0xCB, 0xE6, 0x03, 0x07, 0xEA, 0x2A, 0x13, 0xA1, 0x00, + 0x3F, 0xA3, 0x58, 0xFD, 0x27, 0x3A, 0x64, 0x48, 0xCA, 0x57, 0x15, 0xB6, 0xC5, 0x52, 0x26, 0x74, + 0xD3, 0xD3, 0xEB, 0x49, 0x3A, 0xF9, 0x12, 0xEC, 0x8A, 0xC6, 0xB7, 0xE3, 0x22, 0x36, 0xA2, 0xBF, + 0x12, 0xF8, 0xC1, 0xF3, 0xD2, 0x95, 0x9F, 0x5A, 0xEC, 0x12, 0x1F, 0xBD, 0x48, 0x5E, 0x79, 0x43, + 0x3E, 0x88, 0xD6, 0xFC, 0x89, 0x0C, 0xD2, 0x5E, 0xB1, 0x26, 0xD9, 0x7B, 0xAA, 0x24, 0x93, 0x26, + 0x5D, 0xB8, 0xE6, 0xC4, 0xF8, 0x1A, 0xA8, 0x98, 0x32, 0x49, 0x61, 0xE8, 0x17, 0x35, 0x89, 0x7D, + 0x7D, 0x16, 0xFA, 0x3A, 0xCD, 0xFA, 0x3E, 0x52, 0x38, 0xB1, 0x49, 0x6F, 0x51, 0x08, 0x01, 0x7C, + 0xFC, 0x70, 0x44, 0x97, 0xEA, 0x0A, 0xD7, 0x34, 0x70, 0xD2, 0x29, 0xAD, 0x43, 0xFC, 0x69, 0xC8, + 0x67, 0xFC, 0xD4, 0x69, 0x7F, 0x8F, 0xD5, 0x12, 0x06, 0xBA, 0x90, 0x28, 0xB9, 0xD9, 0x5A, 0x2C, + 0xCD, 0xE2, 0x6A, 0x17, 0xDE, 0x70, 0x89, 0x24, 0xB2, 0x70, 0x7B, 0x6A, 0xB5, 0x38, 0x65, 0x2D, + 0xE0, 0xB5, 0xFD, 0x5C, 0xA3, 0x9F, 0x5B, 0x7E, 0xE6, 0x09, 0xAB, 0x3E, 0x54, 0x89, 0x50, 0x69, + 0x9E, 0xB5, 0x79, 0x0A, 0xBE, 0xE7, 0xE4, 0xA2, 0x8D, 0xDD, 0xBD, 0xA2, 0x58, 0x3D, 0xA2, 0x47, + 0x40, 0x3B, 0xFB, 0x25, 0x24, 0xFC, 0x45, 0xFC, 0xC7, 0x7D, 0x32, 0x4D, 0xE3, 0x04, 0xEB, 0x91, + 0x5B, 0xC1, 0x28, 0xF7, 0x86, 0x37, 0x40, 0x6B, 0x3B, 0xCD, 0x69, 0xBD, 0x5C, 0xD4, 0x39, 0xC3, + 0x69, 0x42, 0xC1, 0xF4, 0xE0, 0x1C, 0xB7, 0x21, 0x1E, 0x8E, 0x1E, 0x0D, 0xC7, 0xCF, 0x0F, 0x55, + 0x7B, 0x21, 0xC5, 0x5C, 0xA9, 0x47, 0x3C, 0x34, 0x98, 0xC2, 0x88, 0x98, 0x24, 0x1E, 0xE4, 0x3C, + 0xF4, 0x47, 0x91, 0xB1, 0xA9, 0xA2, 0xD1, 0x79, 0x41, 0xB4, 0x71, 0x68, 0x2F, 0x9F, 0x54, 0x71, + 0x83, 0xD5, 0xC4, 0x65, 0x07, 0xA7, 0x81, 0xEC, 0x2F, 0x51, 0x1C, 0xE1, 0xBA, 0x35, 0xD0, 0xBE, + 0x5E, 0x1B, 0xC8, 0xB9, 0x04, 0x32, 0x20, 0xF9, 0x69, 0x42, 0x06, 0x8B, 0x22, 0x0A, 0xEA, 0x38, + 0x57, 0xF1, 0xD2, 0xCF, 0x94, 0xBE, 0x17, 0xD3, 0x4E, 0x2D, 0xDF, 0xE3, 0x40, 0xDF, 0xF2, 0x09, + 0x06, 0x7D, 0x88, 0x7C, 0x45, 0x9A, 0xD0, 0x97, 0xE4, 0x01, 0xDE, 0x46, 0xFA, 0xE0, 0xE7, 0xC0, + 0xC5, 0xCB, 0x6D, 0x2E, 0xB4, 0x6A, 0x65, 0x7D, 0x6C, 0x92, 0x05, 0xA2, 0x25, 0xD3, 0xCD, 0x9C, + 0x60, 0x8E, 0xD5, 0x20, 0x01, 0x22, 0x82, 0xDB, 0x09, 0xF3, 0xB7, 0xB4, 0x3F, 0x3D, 0xE2, 0x53, + 0xC1, 0x4F, 0x6F, 0x28, 0x8D, 0x83, 0xA8, 0x8B, 0x4D, 0xC0, 0xE0, 0xB3, 0x37, 0xD0, 0xF4, 0xC4, + 0xEC, 0x1B, 0x1E, 0x76, 0xE0, 0x73, 0x6F, 0x08, 0x7F, 0x2F, 0x5B, 0xB0, 0x32, 0xA1, 0x1C, 0xC2, + 0x72, 0x82, 0x27, 0x32, 0x14, 0x36, 0x48, 0x41, 0xB5, 0x45, 0x81, 0x47, 0x25, 0xBC, 0x42, 0x68, + 0xFA, 0x95, 0x48, 0x87, 0xDA, 0xA1, 0x1A, 0x28, 0xC1, 0xC2, 0x70, 0x3D, 0x95, 0xA0, 0x96, 0x7E, + 0x1A, 0xF4, 0x82, 0x82, 0xEC, 0x89, 0x7A, 0x7E, 0xCA, 0x0D, 0x10, 0x28, 0x33, 0xA7, 0x15, 0x25, + 0x89, 0x6E, 0x7D, 0xB0, 0x4D, 0xA2, 0x39, 0x88, 0x38, 0x70, 0x67, 0x83, 0xC2, 0x52, 0x47, 0x7D, + 0x7D, 0x06, 0xCD, 0x31, 0x7F, 0x4A, 0x7B, 0x0D, 0x31, 0x7C, 0xB8, 0x5E, 0xF5, 0x9B, 0x29, 0x87, + 0xDA, 0xE1, 0x16, 0xB6, 0x61, 0xE1, 0xD5, 0xF3, 0x78, 0x01, 0xA8, 0xCD, 0xE1, 0x47, 0xA9, 0xC3, + 0x95, 0x05, 0xD3, 0x28, 0x8B, 0x98, 0x15, 0xE4, 0x67, 0xE9, 0x59, 0x67, 0xD3, 0x46, 0x52, 0x2E, + 0x36, 0x5E, 0xB0, 0x79, 0xD8, 0x69, 0x42, 0x30, 0xE9, 0x57, 0x60, 0x68, 0x2B, 0xA2, 0xB0, 0xD6, + 0xB7, 0x6B, 0x02, 0xEA, 0x84, 0x9C, 0x2B, 0xB6, 0xD5, 0xE0, 0xA6, 0x6D, 0x87, 0x84, 0x34, 0xF6, + 0x30, 0x1B, 0x51, 0x74, 0x65, 0xBD, 0xE9, 0x27, 0xAD, 0xDB, 0xD6, 0xA5, 0xB1, 0x81, 0xC7, 0x26, + 0xC4, 0x36, 0x41, 0xBB, 0x54, 0x57, 0xED, 0xBD, 0x34, 0xC1, 0xD6, 0x3F, 0x29, 0xA8, 0x55, 0xA4, + 0x92, 0xF0, 0xB7, 0x8C, 0xAE, 0x54, 0x82, 0x81, 0xF9, 0x8D, 0x46, 0x24, 0xE3, 0x8B, 0x4C, 0xE6, + 0x73, 0xC0, 0x4C, 0x6C, 0xE9, 0x02, 0x7E, 0x72, 0x2D, 0xED, 0x01, 0xCE, 0x17, 0xC8, 0x6B, 0xBA, + 0xBC, 0x70, 0x38, 0x7C, 0x7C, 0xE3, 0xF1, 0x21, 0x0B, 0x00, 0xB6, 0xD4, 0x83, 0x66, 0xC3, 0x9F, + 0xEA, 0x9D, 0x2D, 0x08, 0x5A, 0x7E, 0xF6, 0x07, 0xFB, 0x32, 0x4A, 0x7E, 0x62, 0xAA, 0x7B, 0x00, + 0xD1, 0x43, 0xCD, 0x44, 0x5A, 0x0E, 0x5A, 0xAB, 0x92, 0x7B, 0x2A, 0xED, 0x10, 0x3D, 0x1E, 0xE4, + 0x25, 0x7A, 0xD5, 0xAB, 0xD4, 0x09, 0x9C, 0x68, 0x1E, 0xE5, 0x53, 0x4A, 0xDE, 0x10, 0xCF, 0xBE, + 0xC4, 0xDF, 0x72, 0x64, 0xC7, 0x22, 0xC6, 0x0C, 0xCF, 0x45, 0x34, 0x4B, 0xE3, 0x9C, 0x89, 0x49, + 0x86, 0x14, 0x65, 0xAE, 0x87, 0xFE, 0x04, 0xCF, 0x94, 0xA5, 0x3E, 0x7A, 0x46, 0x5E, 0xB0, 0x92, + 0x9D, 0xE5, 0xD6, 0x74, 0x4A, 0xFD, 0x8E, 0x12, 0x26, 0x8B, 0x8F, 0x80, 0x04, 0x37, 0xF1, 0xDD, + 0xCF, 0xD3, 0xE5, 0x33, 0xCB, 0x0F, 0xC1, 0x6A, 0x27, 0x97, 0x1D, 0xDA, 0xB4, 0x9D, 0x5F, 0x06, + 0xA5, 0xE7, 0xC1, 0x85, 0xB6, 0xC2, 0x01, 0xB8, 0xA0, 0x67, 0xA2, 0x1D, 0x2E, 0xD7, 0x94, 0x47, + 0xE2, 0xCA, 0x0F, 0xF5, 0x9D, 0x70, 0x7C, 0x82, 0x85, 0xB8, 0xFE, 0x06, 0x2E, 0x04, 0xF7, 0x94, + 0xE4, 0xC2, 0x93, 0x04, 0x0B, 0x49, 0xC3, 0xA8, 0x3B, 0x90, 0x0B, 0x7A, 0x23, 0x37, 0xC9, 0x6F, + 0x60, 0x66, 0x36, 0x3B, 0xE1, 0xFC, 0x3C, 0xCB, 0x72, 0x3E, 0xB2, 0xDC, 0xCF, 0x42, 0x74, 0x17, + 0x80, 0x33, 0xD0, 0xB3, 0x70, 0x0E, 0xF2, 0x88, 0x28, 0x7A, 0xC7, 0xE5, 0x8D, 0x92, 0x7D, 0xA0, + 0x93, 0xCE, 0x43, 0xE3, 0x0C, 0xDE, 0xCA, 0xBD, 0x85, 0x74, 0xC2, 0x97, 0x36, 0x4F, 0xDD, 0xB6, + 0x70, 0x32, 0x5E, 0xC8, 0x19, 0xAB, 0x62, 0x17, 0x07, 0x50, 0xC7, 0x73, 0x4D, 0x7E, 0x5D, 0x76, + 0x4B, 0xE5, 0x70, 0xFC, 0x60, 0xF8, 0x58, 0x4C, 0x9E, 0x35, 0x62, 0xBA, 0xBF, 0xC5, 0x2B, 0x94, + 0xE7, 0x3E, 0x46, 0xA7, 0x7B, 0x62, 0x12, 0x63, 0x7E, 0x91, 0xC5, 0xE4, 0x71, 0xEB, 0x21, 0x55, + 0x4C, 0x3C, 0x57, 0xD5, 0x80, 0xD7, 0x7E, 0xD4, 0x78, 0x41, 0x5D, 0xA9, 0xD9, 0x06, 0x25, 0xB4, + 0xEC, 0x5F, 0x32, 0x3D, 0xCD, 0x81, 0xBA, 0x89, 0x73, 0xA0, 0x65, 0x76, 0x5C, 0x2D, 0xF3, 0x0C, + 0x6F, 0x71, 0x51, 0x8A, 0xC7, 0xEF, 0xE9, 0x7A, 0xC9, 0xEB, 0xAE, 0xF3, 0x8C, 0xC4, 0xCB, 0x94, + 0xE5, 0x0D, 0x4B, 0xBF, 0x4E, 0xD2, 0x34, 0x71, 0xAC, 0xFA, 0x53, 0x07, 0xC5, 0x54, 0x16, 0xF8, + 0xC7, 0x62, 0xCA, 0xFE, 0x71, 0xC2, 0xB3, 0x03, 0x28, 0x95, 0x5C, 0xBF, 0xAE, 0xE0, 0x24, 0x2B, + 0x44, 0x36, 0xC3, 0xB1, 0x61, 0x13, 0xD9, 0x4C, 0x82, 0x77, 0xFC, 0xEC, 0xAF, 0xD0, 0xFE, 0x7F, + 0x87, 0xDC, 0x55, 0x27, 0x97, 0x3E, 0xD9, 0x7B, 0x02, 0x0F, 0x1A, 0x8B, 0x6C, 0x96, 0x15, 0x2C, + 0x93, 0x34, 0xBA, 0x5E, 0xB4, 0x6A, 0x73, 0xE4, 0x82, 0x45, 0x64, 0xF8, 0x8E, 0x57, 0x16, 0x16, + 0xA2, 0x1F, 0xB9, 0x1B, 0x41, 0x38, 0x43, 0xD5, 0xB5, 0xCE, 0xC5, 0x64, 0x76, 0x9C, 0xA4, 0x39, + 0xAF, 0x65, 0xB7, 0x48, 0xA0, 0x17, 0x8E, 0x80, 0xB9, 0x0D, 0xA3, 0x97, 0xD0, 0xF7, 0x9B, 0xF3, + 0x37, 0x53, 0x4A, 0xFB, 0xC2, 0x98, 0xF5, 0x26, 0x50, 0x46, 0x52, 0xC8, 0x35, 0x80, 0x27, 0xB3, + 0x38, 0xCF, 0x11, 0xB8, 0xC8, 0x5F, 0x85, 0x9D, 0x28, 0x27, 0x62, 0x5D, 0x7F, 0x27, 0x04, 0xB3, + 0x97, 0xDA, 0xD6, 0xB8, 0x7A, 0xAE, 0x53, 0x0F, 0xD0, 0x2C, 0xD2, 0xB8, 0xF2, 0x6D, 0x7E, 0xBC, + 0x52, 0x9B, 0x8B, 0xB7, 0x6F, 0x39, 0xC2, 0xA7, 0x5C, 0x28, 0xFD, 0x88, 0xB7, 0xB5, 0x77, 0x5C, + 0xB4, 0xA1, 0xAA, 0x1A, 0x98, 0x38, 0x1F, 0x5B, 0xF2, 0x94, 0x64, 0xC5, 0x12, 0x28, 0x0A, 0xC3, + 0x8A, 0x67, 0x28, 0xEF, 0xE2, 0x85, 0x24, 0x3B, 0xCF, 0xB5, 0x16, 0x2B, 0x68, 0xAB, 0x95, 0xCF, + 0xA7, 0xAF, 0x35, 0x41, 0xEF, 0xFB, 0x0A, 0xB1, 0xC0, 0x4F, 0xD9, 0xC5, 0xFB, 0x14, 0x8F, 0xBB, + 0x62, 0x4A, 0xC1, 0xCD, 0x94, 0x16, 0x7E, 0x50, 0x52, 0x27, 0xA4, 0x98, 0xE4, 0x08, 0xE5, 0xDF, + 0x56, 0x88, 0x5A, 0x9B, 0x3E, 0x49, 0x2E, 0x77, 0x74, 0xA7, 0xA0, 0x4B, 0x8F, 0x0F, 0x99, 0xD3, + 0x6B, 0x80, 0x79, 0x33, 0xE9, 0x6C, 0xAB, 0x8F, 0xF8, 0xE1, 0x4A, 0xB4, 0xBC, 0xCB, 0xD4, 0x7E, + 0xC0, 0xE6, 0xF7, 0xD1, 0x87, 0x79, 0x21, 0xD6, 0xDF, 0x4D, 0x23, 0x73, 0x51, 0xE9, 0x76, 0x96, + 0xFA, 0x87, 0xA5, 0xF3, 0xF9, 0x02, 0x5B, 0x09, 0xAE, 0x1F, 0x92, 0xAF, 0x8F, 0x8D, 0x77, 0xC9, + 0x37, 0xB0, 0xD3, 0x70, 0x77, 0x83, 0x9C, 0x43, 0x93, 0x72, 0x95, 0xDB, 0x64, 0xE8, 0x20, 0xD0, + 0xDF, 0xC0, 0x90, 0xAD, 0x22, 0x03, 0x91, 0x90, 0xD3, 0xE2, 0x7C, 0xAF, 0xB9, 0xAF, 0x85, 0x86, + 0x1D, 0xE2, 0x16, 0x68, 0x38, 0xE0, 0x4D, 0xFD, 0x02, 0x9B, 0x8D, 0xFC, 0x42, 0x2F, 0x20, 0x82, + 0x44, 0x48, 0x92, 0xA3, 0x6F, 0xFC, 0x5B, 0x40, 0xA4, 0x08, 0x6B, 0xC8, 0x6E, 0x53, 0xF0, 0xFF, + 0xD8, 0x77, 0x29, 0xE4, 0x83, 0x90, 0xF0, 0x10, 0xA6, 0x6E, 0x36, 0xBF, 0xCD, 0x20, 0xBA, 0x56, + 0xA1, 0x20, 0x1B, 0x90, 0x5F, 0xAA, 0x39, 0x83, 0xDA, 0x62, 0x68, 0x82, 0xEA, 0x21, 0xBA, 0x95, + 0xBD, 0xB3, 0xC3, 0x7B, 0x08, 0xCC, 0x74, 0x69, 0x79, 0x03, 0xD2, 0x2B, 0x61, 0xFA, 0x9A, 0x9B, + 0x44, 0x5C, 0x77, 0x14, 0x43, 0xBC, 0xC8, 0xBF, 0x35, 0xBF, 0x3F, 0xD5, 0xE0, 0x2C, 0x78, 0xC8, + 0xFC, 0x45, 0xDA, 0x94, 0xFF, 0x41, 0x81, 0x21, 0xFB, 0x18, 0x19, 0xC2, 0x88, 0x18, 0x1E, 0x0D, + 0xC2, 0xD6, 0xC9, 0xDF, 0x1C, 0x06, 0xC2, 0x28, 0xD2, 0x65, 0xE8, 0x07, 0x87, 0xA8, 0x75, 0xB2, + 0x59, 0xAC, 0x47, 0x95, 0xE8, 0x52, 0x0E, 0x84, 0xED, 0x07, 0x76, 0x30, 0x39, 0xD0, 0x75, 0x20, + 0x07, 0xFC, 0x51, 0x18, 0x5E, 0x54, 0x5F, 0x8D, 0x50, 0x0F, 0xA7, 0xB2, 0x98, 0x3B, 0x2D, 0xC4, + 0xE2, 0xD6, 0x3D, 0xC0, 0x5A, 0x5F, 0x84, 0x95, 0x7D, 0xB3, 0xA6, 0x14, 0x63, 0x07, 0x41, 0x1F, + 0x15, 0xA2, 0x56, 0xA3, 0x71, 0xB7, 0x41, 0x1E, 0xAC, 0x4F, 0x7F, 0x64, 0x87, 0x6A, 0xB3, 0x5F, + 0xE1, 0x1C, 0x96, 0x39, 0x41, 0xB2, 0x58, 0xFE, 0x5C, 0x1F, 0xC0, 0xA1, 0x9B, 0x26, 0x5E, 0x9B, + 0xA4, 0xCB, 0x90, 0x0D, 0x81, 0x6F, 0xCE, 0x20, 0x6E, 0xB4, 0x8E, 0xD9, 0x1B, 0xFF, 0xAD, 0x90, + 0xD2, 0xA5, 0xC1, 0xFD, 0xF9, 0xAD, 0x0D, 0x91, 0x2D, 0xC4, 0x5C, 0xB0, 0xAE, 0x1B, 0x5D, 0x49, + 0x66, 0x93, 0x3D, 0x66, 0x97, 0x34, 0x05, 0xBB, 0x8E, 0x43, 0xE3, 0x2B, 0x58, 0xF3, 0xD0, 0x50, + 0x8A, 0xA6, 0x66, 0xB5, 0x11, 0x46, 0x21, 0xFA, 0x64, 0x2A, 0x77, 0x03, 0xE6, 0xA6, 0xF7, 0xFD, + 0xCC, 0x3D, 0x56, 0x97, 0x7F, 0xDD, 0x2B, 0xB0, 0x9B, 0xDD, 0xA7, 0x75, 0x55, 0x91, 0xED, 0xD2, + 0x72, 0xEF, 0xC9, 0x2A, 0x2C, 0xD4, 0x6D, 0x59, 0x3E, 0xFB, 0x9D, 0x31, 0xB0, 0xE1, 0x68, 0xB4, + 0x84, 0x7B, 0x13, 0x01, 0xEF, 0x95, 0xAD, 0x8A, 0x7F, 0xB7, 0x71, 0xD3, 0x37, 0xEC, 0xEE, 0x7E, + 0x8B, 0x35, 0xD1, 0x74, 0x5B, 0xC9, 0xAF, 0xE5, 0xB7, 0x5C, 0x62, 0xE5, 0x97, 0xF1, 0xF9, 0x6B, + 0xDD, 0x2F, 0x2E, 0x76, 0x03, 0xBF, 0xC5, 0xBA, 0x42, 0x7C, 0x2B, 0x95, 0x46, 0xDF, 0x18, 0x72, + 0x6D, 0x21, 0xA9, 0x7D, 0xD6, 0x21, 0xBF, 0x53, 0x22, 0xBC, 0x87, 0x1D, 0x1A, 0x2C, 0x06, 0xB7, + 0x14, 0x33, 0x99, 0x9C, 0xC5, 0x3A, 0x86, 0x57, 0xF3, 0x94, 0x65, 0xF5, 0xCF, 0x16, 0xB8, 0x87, + 0x01, 0x20, 0x4F, 0x54, 0x75, 0x67, 0x72, 0xFA, 0xA6, 0xFC, 0x06, 0x1C, 0x79, 0xF1, 0xE1, 0xAB, + 0xF0, 0xED, 0x53, 0xE5, 0xC1, 0xD5, 0x2C, 0x9E, 0xA4, 0x89, 0xDD, 0x01, 0x4C, 0x38, 0xF5, 0xF0, + 0xF1, 0x38, 0x97, 0x9B, 0xB7, 0x09, 0x2F, 0x61, 0xBD, 0xE0, 0x90, 0xE9, 0x9D, 0xC6, 0xB7, 0xF0, + 0xFB, 0x50, 0xAA, 0xDA, 0x46, 0xB6, 0xF7, 0xA6, 0x6B, 0xE9, 0x87, 0x47, 0xE0, 0xAE, 0xF4, 0x2B, + 0xD3, 0xE1, 0x4D, 0xEE, 0xE2, 0xFF, 0x39, 0x72, 0x93, 0x37, 0x2F, 0xBF, 0x0E, 0xE3, 0xBF, 0xE5, + 0xA2, 0x5F, 0x94, 0x29, 0x75, 0xE2, 0xBB, 0x3F, 0xB6, 0x3B, 0xF2, 0x60, 0x73, 0x11, 0x7E, 0xF2, + 0x01, 0x1D, 0xF9, 0x8E, 0x1F, 0xB0, 0x63, 0xE5, 0x77, 0xE0, 0x90, 0xE9, 0x50, 0xA2, 0xD9, 0x39, + 0x88, 0x3A, 0xCE, 0x60, 0xAB, 0xF7, 0xC6, 0x17, 0x40, 0xB8, 0x9B, 0x93, 0x0D, 0x0D, 0x60, 0xD3, + 0x43, 0x0E, 0x06, 0xA2, 0xF5, 0x31, 0x07, 0x07, 0xAD, 0x9F, 0x76, 0xB0, 0x62, 0xFB, 0xF5, 0x7E, + 0xD9, 0x2D, 0x9C, 0x7E, 0x78, 0x55, 0xB3, 0x1B, 0x8F, 0xD1, 0xCB, 0x0D, 0x0C, 0xDD, 0xE3, 0x93, + 0xF2, 0xD3, 0x93, 0x4A, 0xCA, 0xD3, 0x41, 0x86, 0xEC, 0xB5, 0xCB, 0x23, 0x15, 0x8C, 0x4C, 0x95, + 0x80, 0xF7, 0xF1, 0x90, 0x44, 0xA7, 0x4B, 0xE7, 0xE7, 0x25, 0x1A, 0xF0, 0x80, 0x03, 0x84, 0xF3, + 0x70, 0xE6, 0x6D, 0x90, 0xEE, 0xF7, 0x9D, 0xA4, 0x6C, 0x40, 0x95, 0x16, 0x87, 0x2A, 0x9B, 0x91, + 0xE7, 0x42, 0x30, 0x79, 0x46, 0x73, 0xE9, 0xC1, 0x16, 0x0E, 0x42, 0x62, 0x11, 0x61, 0x1B, 0xD3, + 0x2A, 0x95, 0x2B, 0x9F, 0x58, 0x48, 0x7A, 0x8A, 0xB1, 0x21, 0x14, 0x0D, 0x26, 0x8F, 0x83, 0x80, + 0x37, 0xCF, 0x3E, 0xAC, 0x63, 0xE9, 0xCC, 0x66, 0x76, 0x38, 0xBF, 0x6D, 0x1D, 0xC3, 0xBB, 0x68, + 0x73, 0xF0, 0x12, 0xCD, 0xF9, 0xB7, 0xBC, 0x48, 0xE7, 0xD2, 0xAB, 0x3B, 0x8D, 0x3F, 0xB3, 0x2B, + 0xD7, 0x08, 0x15, 0xD1, 0x51, 0x9D, 0xDE, 0x7A, 0x38, 0x8A, 0x9E, 0xDD, 0x7E, 0x20, 0x57, 0xF0, + 0x8D, 0x02, 0x6C, 0xD5, 0xBC, 0x60, 0x4E, 0x6C, 0x8E, 0x6D, 0xBC, 0x96, 0x77, 0x36, 0xF8, 0x26, + 0x34, 0xA3, 0x91, 0xC1, 0x7F, 0xD1, 0x3C, 0x41, 0x4D, 0x42, 0x11, 0x13, 0x12, 0xC8, 0x4B, 0xC0, + 0x85, 0xB7, 0x21, 0x21, 0x27, 0x46, 0xAF, 0x8A, 0x50, 0x11, 0x60, 0xB0, 0x16, 0xE0, 0x83, 0xA8, + 0xC4, 0x0D, 0x30, 0xEA, 0x4B, 0xD5, 0x9A, 0xA1, 0xCE, 0x94, 0x4A, 0xB1, 0x05, 0xE1, 0x18, 0x34, + 0xD9, 0x1A, 0xC8, 0xC8, 0x28, 0x4C, 0x52, 0x81, 0x94, 0x00, 0x8F, 0x2F, 0xC9, 0xC9, 0x87, 0x94, + 0x24, 0x84, 0xC2, 0x42, 0x3F, 0x46, 0x9F, 0x4C, 0xD3, 0xC9, 0x27, 0x84, 0x3E, 0x47, 0x65, 0xAF, + 0xE4, 0x58, 0x0E, 0x38, 0x72, 0xE0, 0x72, 0x88, 0x84, 0x2A, 0xA0, 0x34, 0x01, 0xB4, 0x73, 0x96, + 0x68, 0x26, 0xCD, 0x81, 0xD4, 0x3E, 0xA9, 0xAC, 0x86, 0xF4, 0x94, 0xDE, 0x79, 0xF5, 0xE6, 0x27, + 0x27, 0xE3, 0xA1, 0x62, 0x03, 0x13, 0x68, 0xB1, 0xE4, 0xBD, 0xB9, 0xEC, 0x60, 0x43, 0x77, 0x08, + 0x76, 0xC5, 0x88, 0x38, 0x26, 0xB8, 0x1C, 0x98, 0xF8, 0xBD, 0x2F, 0xE9, 0x29, 0xDD, 0x57, 0x3A, + 0x17, 0x9A, 0x2E, 0x71, 0xA1, 0xEC, 0xD5, 0x4C, 0x4D, 0xE0, 0x45, 0xE4, 0x2C, 0xB0, 0x8B, 0xFD, + 0xDB, 0x22, 0x85, 0x16, 0xF3, 0xF9, 0x86, 0xB8, 0xD0, 0x42, 0x8B, 0xF0, 0xAE, 0x09, 0x22, 0xDF, + 0x07, 0xF2, 0xB1, 0x59, 0x96, 0x09, 0x3C, 0x11, 0x56, 0x32, 0xB6, 0x53, 0x35, 0xB7, 0x79, 0xF3, + 0xBC, 0xAF, 0xB5, 0xD0, 0x3A, 0xC1, 0xC6, 0xEF, 0xC1, 0xBF, 0x8F, 0xB3, 0xBC, 0xC2, 0xE3, 0x01, + 0x79, 0x14, 0x90, 0xAD, 0xAD, 0xA2, 0xDC, 0xB4, 0xAD, 0xC9, 0x9B, 0x49, 0x27, 0x06, 0xBB, 0xAC, + 0xF0, 0x2F, 0x5B, 0x06, 0x7C, 0xA6, 0x02, 0xE3, 0xD0, 0x58, 0x0A, 0xA4, 0x10, 0x76, 0x86, 0xE1, + 0x95, 0xB2, 0xB1, 0xDA, 0x49, 0xD0, 0xAF, 0xAA, 0x0C, 0xA9, 0x89, 0x58, 0x1F, 0xE8, 0x9B, 0xA4, + 0x5F, 0x43, 0x6B, 0xAD, 0xB2, 0xCD, 0x24, 0xBD, 0xA9, 0x44, 0x23, 0xDD, 0xF8, 0xB3, 0xFE, 0x18, + 0x2D, 0xF0, 0x8A, 0xA0, 0xA5, 0xA9, 0xB7, 0x11, 0xFE, 0xFA, 0x68, 0xF4, 0xEC, 0x11, 0x5E, 0x9F, + 0x1D, 0x3D, 0xBE, 0xAB, 0x76, 0x9F, 0xFD, 0xE8, 0x00, 0x19, 0x97, 0xAD, 0x53, 0x24, 0x16, 0x8D, + 0x37, 0x7A, 0x7D, 0x80, 0x17, 0xD3, 0xE8, 0x3B, 0x5E, 0x42, 0x7B, 0x7D, 0x10, 0x4D, 0xA9, 0x66, + 0x7D, 0x4E, 0xE4, 0x85, 0x31, 0x2A, 0x0A, 0xB3, 0xB6, 0xD6, 0x88, 0xE8, 0x9D, 0x03, 0x7F, 0xD9, + 0x25, 0xE7, 0x92, 0x06, 0x59, 0x34, 0x7E, 0x8E, 0xD1, 0x2D, 0x1D, 0x8B, 0x61, 0xDC, 0x9B, 0xF8, + 0x86, 0x85, 0xD5, 0x66, 0xF7, 0x51, 0x63, 0x73, 0xD7, 0x75, 0x23, 0x59, 0x29, 0x9D, 0x1F, 0xCF, + 0x90, 0x53, 0xEE, 0x81, 0x56, 0x41, 0x05, 0xAC, 0xA3, 0xBA, 0x62, 0x01, 0x84, 0x83, 0x74, 0xF1, + 0xD9, 0xAA, 0x30, 0x39, 0x7C, 0xF4, 0xFC, 0xE1, 0x8D, 0xC3, 0xF1, 0xD3, 0xB7, 0xF7, 0xE0, 0xEE, + 0x1D, 0x20, 0x4D, 0x7B, 0x1C, 0xA1, 0x59, 0xC0, 0xC0, 0x24, 0x2D, 0x86, 0x8A, 0x8B, 0x6F, 0xAD, + 0x51, 0x86, 0xCC, 0x8F, 0x17, 0xA8, 0xFF, 0x52, 0x25, 0x3A, 0xC8, 0x28, 0x1B, 0x72, 0x04, 0x68, + 0x7B, 0x02, 0x94, 0x44, 0xD3, 0x17, 0x41, 0x21, 0x55, 0x69, 0xBD, 0xD3, 0xA1, 0x2C, 0xE2, 0x92, + 0x1C, 0xA3, 0x5D, 0xBE, 0x40, 0xFB, 0x38, 0x4D, 0x98, 0xC1, 0x4C, 0x9B, 0x10, 0xB1, 0x83, 0x81, + 0x86, 0xA8, 0xEF, 0xE8, 0x92, 0xE3, 0xE5, 0xA3, 0xAB, 0x8F, 0xC7, 0x87, 0xF0, 0x2F, 0x22, 0xB0, + 0x2E, 0xCE, 0x4C, 0xB2, 0xF5, 0xE4, 0x38, 0x23, 0x9E, 0xA0, 0x93, 0x12, 0xA3, 0x9C, 0x22, 0x02, + 0xA1, 0xE3, 0xC3, 0x3C, 0x85, 0x93, 0x49, 0xDC, 0xA3, 0x81, 0x97, 0x34, 0x87, 0x09, 0x24, 0xD9, + 0x28, 0x6F, 0x57, 0x02, 0xE9, 0x67, 0xD9, 0x24, 0x2B, 0xC0, 0x0D, 0x9B, 0x64, 0x39, 0x1E, 0x3A, + 0x26, 0xC4, 0xF8, 0xC7, 0x1F, 0xA6, 0x08, 0x20, 0x4F, 0x8B, 0xFB, 0x5F, 0x8A, 0x17, 0x1A, 0xDC, + 0xE1, 0x82, 0x1A, 0x9D, 0x12, 0x4E, 0x0B, 0x10, 0x4C, 0x92, 0xF0, 0xC8, 0x2A, 0x62, 0xE8, 0x36, + 0xDD, 0x4F, 0x9E, 0x34, 0x67, 0x05, 0x08, 0x2C, 0xE7, 0x5D, 0x7B, 0x2D, 0xBA, 0xA2, 0x01, 0x81, + 0x39, 0xFD, 0x05, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, + 0x0B, 0x9F, 0xBE, 0x7F, 0x22, 0x53, 0x11, 0x00, 0x00, 0x8C, 0x6F, 0x00, 0x00, 0x33, 0x00, 0x00, + 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, + 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, + 0x2F, 0x61, 0x75, 0x74, 0x68, 0x2F, 0x61, 0x75, 0x74, 0x68, 0x2D, 0x63, 0x6F, 0x6E, 0x66, 0x69, + 0x67, 0x2E, 0x6A, 0x73, 0xED, 0x1C, 0x6B, 0x73, 0xE2, 0x36, 0xF0, 0x7B, 0x7E, 0x85, 0xC2, 0x74, + 0xEE, 0xC8, 0x35, 0x67, 0x92, 0x4E, 0xDB, 0x69, 0x93, 0xA6, 0x2D, 0x4D, 0x48, 0x4B, 0x9B, 0xC0, + 0x0D, 0x90, 0x3E, 0x26, 0x77, 0x65, 0x1C, 0x2C, 0x88, 0x7B, 0x60, 0xBB, 0xB6, 0x49, 0x2E, 0xCD, + 0xF1, 0xDF, 0xBB, 0x2B, 0xC9, 0x96, 0x2D, 0xC9, 0x60, 0x08, 0x79, 0x5C, 0x7B, 0x7C, 0x48, 0xC0, + 0x5A, 0xAD, 0x76, 0x57, 0xFB, 0xD2, 0x6A, 0xA1, 0xF6, 0x62, 0x93, 0x0C, 0xDD, 0x90, 0x5E, 0xD8, + 0x11, 0x7D, 0x69, 0x3B, 0x13, 0xD7, 0x23, 0x57, 0x5F, 0x5B, 0x9F, 0x5B, 0x9F, 0x91, 0x17, 0xB5, + 0x8D, 0xCA, 0x34, 0xA2, 0x24, 0x8A, 0x43, 0x77, 0x10, 0x57, 0xF6, 0x37, 0x00, 0x74, 0x83, 0xBC, + 0x20, 0x87, 0x7E, 0x70, 0x13, 0xBA, 0xA3, 0xCB, 0x98, 0x7C, 0xB6, 0xB3, 0xFB, 0x15, 0xF9, 0xD1, + 0xF7, 0x47, 0x63, 0x4A, 0x9A, 0xDE, 0xC0, 0x82, 0x51, 0x04, 0x38, 0x71, 0x07, 0xD4, 0x8B, 0xA8, + 0x43, 0xA6, 0x9E, 0x43, 0x43, 0x12, 0x5F, 0x52, 0x52, 0x0F, 0xEC, 0x01, 0xFC, 0x13, 0x23, 0xDB, + 0xE4, 0x57, 0x1A, 0x46, 0xAE, 0xEF, 0x91, 0xCF, 0xAC, 0x1D, 0x52, 0x45, 0x80, 0x8A, 0x18, 0xAA, + 0x6C, 0xED, 0x23, 0x8A, 0x1B, 0x7F, 0x4A, 0x26, 0xF6, 0x0D, 0xF1, 0xFC, 0x98, 0x00, 0x0D, 0x80, + 0xC3, 0x8D, 0x80, 0x4C, 0x58, 0x87, 0xBE, 0x1B, 0xD0, 0x20, 0x26, 0x40, 0xE6, 0xC0, 0x9F, 0x04, + 0x63, 0xD7, 0xF6, 0x06, 0x94, 0x5C, 0xBB, 0xF1, 0x25, 0xC0, 0xA4, 0x0B, 0x58, 0x88, 0xE3, 0x0F, + 0x81, 0xC3, 0xBF, 0x88, 0x6D, 0x00, 0xB7, 0x61, 0x42, 0x00, 0x9F, 0x86, 0x59, 0x40, 0x62, 0xC7, + 0x82, 0x68, 0x42, 0x2E, 0xE3, 0x38, 0xD8, 0xAB, 0xD5, 0xAE, 0xAF, 0xAF, 0x2D, 0x9B, 0x91, 0x6B, + 0xF9, 0xE1, 0xA8, 0x36, 0xE6, 0x80, 0x51, 0xED, 0xA4, 0x79, 0xD8, 0x68, 0x75, 0x1B, 0x2F, 0x81, + 0x64, 0x31, 0xE5, 0xCC, 0x1B, 0xD3, 0x28, 0x22, 0x21, 0xFD, 0x7B, 0xEA, 0x86, 0xC0, 0xEE, 0xC5, + 0x0D, 0xB1, 0x83, 0x00, 0x26, 0xD8, 0x17, 0x40, 0xE8, 0xD8, 0xBE, 0x26, 0x7E, 0x48, 0xEC, 0x51, + 0x48, 0x61, 0x2C, 0xF6, 0x91, 0xE4, 0xEB, 0xD0, 0x8D, 0x5D, 0x6F, 0xB4, 0x4D, 0x22, 0x7F, 0x18, + 0x5F, 0xDB, 0x21, 0x45, 0x34, 0x8E, 0x8B, 0x12, 0xBE, 0x98, 0xC6, 0x89, 0xC4, 0x72, 0x04, 0xBA, + 0x51, 0x0E, 0xC0, 0x07, 0x46, 0x3C, 0x52, 0xA9, 0x77, 0x49, 0xB3, 0x5B, 0x21, 0x3F, 0xD4, 0xBB, + 0xCD, 0xEE, 0x36, 0x22, 0xF9, 0xAD, 0xD9, 0xFB, 0xA9, 0x7D, 0xD6, 0x23, 0xBF, 0xD5, 0x3B, 0x9D, + 0x7A, 0xAB, 0xD7, 0x6C, 0x74, 0x49, 0xBB, 0x43, 0x0E, 0xDB, 0xAD, 0xA3, 0x66, 0xAF, 0xD9, 0x6E, + 0xC1, 0xA7, 0x63, 0x52, 0x6F, 0xFD, 0x41, 0x7E, 0x69, 0xB6, 0x8E, 0xB6, 0x09, 0x75, 0x61, 0x89, + 0x10, 0x64, 0x19, 0x84, 0xC0, 0x01, 0x92, 0xE9, 0xA2, 0x2C, 0xA9, 0xC3, 0x04, 0xD7, 0xA5, 0x34, + 0x47, 0xC2, 0xD0, 0xE7, 0x24, 0x45, 0x01, 0x1D, 0xB8, 0x43, 0x77, 0x00, 0xAC, 0x79, 0xA3, 0xA9, + 0x3D, 0xA2, 0x64, 0xE4, 0x5F, 0xD1, 0xD0, 0x03, 0x8E, 0x48, 0x40, 0xC3, 0x89, 0x1B, 0xE1, 0x9E, + 0x46, 0x40, 0xA0, 0x83, 0x68, 0xC6, 0xEE, 0xC4, 0x8D, 0xED, 0x18, 0x1F, 0xE9, 0x7C, 0xE1, 0x42, + 0xB5, 0x8D, 0xF6, 0xC5, 0x5F, 0x74, 0x10, 0x5B, 0x0E, 0x1D, 0xBA, 0x1E, 0x7D, 0x15, 0xFA, 0x80, + 0x25, 0xBE, 0xA9, 0x02, 0x59, 0x7E, 0x18, 0x47, 0xDB, 0xA4, 0xD2, 0xEF, 0xD3, 0xE8, 0xD4, 0x77, + 0xA6, 0x63, 0x5A, 0xD9, 0x26, 0xB7, 0xE4, 0xCA, 0x1E, 0x4F, 0xE9, 0x1E, 0x89, 0xC3, 0x29, 0x25, + 0x33, 0x50, 0x14, 0x01, 0x68, 0xB5, 0x9B, 0x47, 0x87, 0x87, 0xBE, 0x37, 0x74, 0x47, 0xE4, 0x80, + 0x24, 0x0F, 0xBB, 0xF5, 0xD3, 0x13, 0xED, 0x61, 0x63, 0x62, 0xBB, 0xE3, 0xAE, 0x3B, 0xF2, 0x9A, + 0x9E, 0x36, 0x06, 0xD8, 0x5D, 0xC7, 0x8E, 0x69, 0x8F, 0x46, 0xF1, 0xAB, 0x4B, 0xDF, 0xA3, 0xAD, + 0xE9, 0xE4, 0x02, 0xF4, 0x34, 0x03, 0x72, 0x3A, 0x1D, 0xC7, 0xEE, 0xB1, 0x3D, 0x88, 0xFD, 0xB0, + 0x3E, 0x8D, 0x2F, 0x35, 0x14, 0xA7, 0xF5, 0xDF, 0x9B, 0xA7, 0x67, 0xA7, 0xFD, 0x5E, 0xA3, 0xDB, + 0xEB, 0xBF, 0xFA, 0xA9, 0xDD, 0x6A, 0xF4, 0x5B, 0x67, 0xA7, 0x3F, 0x34, 0x3A, 0x5D, 0x00, 0xBA, + 0xF2, 0x5D, 0x87, 0xEC, 0xEC, 0x6F, 0x5C, 0xD9, 0x21, 0x11, 0x6B, 0x81, 0x60, 0x0F, 0x12, 0xFD, + 0xA9, 0x56, 0x2C, 0xAB, 0x36, 0x8D, 0xDD, 0x71, 0x54, 0x4B, 0x47, 0x2B, 0x5B, 0x1C, 0xDC, 0xA1, + 0x34, 0xE8, 0xA3, 0xFA, 0xF6, 0x77, 0x8D, 0x13, 0x70, 0xFC, 0x25, 0x8E, 0x27, 0x13, 0x68, 0x18, + 0xFA, 0x61, 0x01, 0x30, 0x1B, 0x43, 0xC0, 0xDA, 0x8B, 0x17, 0xA4, 0x0E, 0x26, 0xF2, 0xCE, 0x9D, + 0x4C, 0x27, 0x68, 0x18, 0xBB, 0x3B, 0x24, 0x06, 0xE6, 0x49, 0x80, 0xDC, 0x13, 0x8F, 0xB1, 0x4F, + 0x6A, 0x60, 0x37, 0x0E, 0x25, 0x81, 0xED, 0x82, 0x28, 0x06, 0xA0, 0x7C, 0x17, 0x14, 0x9E, 0x20, + 0xE3, 0xD3, 0x10, 0x14, 0x06, 0xB7, 0xB1, 0x14, 0xFB, 0xBB, 0x3B, 0x7C, 0xC5, 0x43, 0xD0, 0x33, + 0x2F, 0x26, 0x28, 0x3F, 0x32, 0x64, 0xA2, 0x24, 0xF1, 0x4D, 0x40, 0xD1, 0x42, 0x22, 0x1A, 0x5E, + 0xC1, 0x8A, 0xB6, 0x3A, 0x34, 0x01, 0xB3, 0x02, 0x25, 0xC3, 0xB5, 0x18, 0x77, 0xF5, 0xB3, 0xDE, + 0x4F, 0xFD, 0xE3, 0xFA, 0x61, 0xAF, 0xDD, 0xE9, 0x1F, 0x9E, 0x34, 0x1B, 0xAD, 0x5E, 0xBF, 0xD7, + 0xEE, 0x77, 0x1B, 0x9D, 0x5F, 0x1B, 0x9D, 0x7E, 0xEF, 0x8F, 0x57, 0x0D, 0x58, 0xEE, 0x76, 0x03, + 0x4C, 0x9A, 0x73, 0xB2, 0x47, 0x9E, 0x73, 0x62, 0xBA, 0xA7, 0xDD, 0xE7, 0xDB, 0x1B, 0x33, 0x4E, + 0x47, 0x97, 0x2D, 0x66, 0xA4, 0x63, 0xC0, 0x48, 0x5C, 0x8E, 0x8E, 0x64, 0xF5, 0xB6, 0xA0, 0x28, + 0xA1, 0x43, 0xA8, 0xF8, 0x5B, 0x7A, 0x13, 0x55, 0x17, 0xD2, 0xBD, 0xC5, 0x88, 0xB6, 0x40, 0xAE, + 0xD3, 0x01, 0xAD, 0x0E, 0xA7, 0xDE, 0x00, 0xCD, 0x87, 0x54, 0x43, 0x0A, 0xD6, 0x00, 0x28, 0xB6, + 0x04, 0x5B, 0xF0, 0xF9, 0x7C, 0x21, 0xB2, 0x73, 0x98, 0xF0, 0xE6, 0x0D, 0x90, 0x00, 0xFF, 0xF7, + 0xC5, 0xB4, 0x78, 0x1A, 0x7A, 0x38, 0x7B, 0x7F, 0x63, 0x06, 0x06, 0x35, 0xE3, 0x4A, 0x80, 0xC6, + 0x7A, 0xC4, 0x4C, 0x30, 0x62, 0x26, 0x3A, 0x41, 0x2D, 0x7F, 0xC9, 0x19, 0x17, 0x5B, 0x0D, 0x22, + 0xB1, 0x23, 0x30, 0xE3, 0x88, 0xB9, 0x32, 0x7C, 0x08, 0xB2, 0x8B, 0x13, 0x41, 0x45, 0x2E, 0x28, + 0x48, 0xC6, 0x36, 0xB8, 0x5D, 0x00, 0x5A, 0x84, 0xB5, 0xD1, 0x7F, 0x4C, 0xEC, 0x18, 0x50, 0xC3, + 0x1F, 0x57, 0xF8, 0x82, 0x28, 0xF6, 0x7D, 0xF4, 0x98, 0xB8, 0x20, 0xDB, 0x03, 0xB1, 0xF9, 0xD6, + 0x46, 0x22, 0xDC, 0x22, 0x5B, 0xC3, 0xBD, 0xFB, 0x9E, 0x91, 0x03, 0x90, 0x24, 0x23, 0x24, 0x21, + 0x1C, 0x04, 0x60, 0xFF, 0x61, 0xF9, 0x1E, 0x20, 0x37, 0xE2, 0x41, 0x0E, 0x22, 0xF0, 0x23, 0xF8, + 0xD4, 0xE2, 0xD0, 0xE9, 0xA4, 0xEF, 0x03, 0x3B, 0xB4, 0x27, 0x28, 0xA5, 0x00, 0x80, 0x28, 0x22, + 0x11, 0xC4, 0x31, 0x46, 0xD3, 0x81, 0x54, 0x1A, 0xAE, 0x07, 0x5E, 0x1D, 0x4C, 0xF6, 0x1F, 0xE6, + 0x36, 0x13, 0x34, 0xF0, 0x2A, 0x58, 0xDB, 0xE7, 0x2A, 0x91, 0xAE, 0x97, 0xA1, 0x45, 0x3C, 0xAB, + 0xB1, 0xFF, 0x09, 0x6B, 0x66, 0x34, 0xD5, 0x84, 0x0E, 0xC6, 0xB7, 0x78, 0xA1, 0xE0, 0xFA, 0x2C, + 0x58, 0x1E, 0xB0, 0x98, 0xB9, 0x9F, 0x8E, 0xB8, 0x43, 0x52, 0x45, 0x25, 0xF6, 0x87, 0x29, 0x03, + 0x56, 0x14, 0x83, 0xBB, 0x23, 0x07, 0x07, 0x07, 0xE4, 0xF9, 0xD4, 0xE3, 0x4E, 0xD8, 0x79, 0xCE, + 0xD0, 0xC9, 0x17, 0xA0, 0x09, 0xFD, 0x6B, 0xE2, 0xD1, 0xEB, 0xC4, 0xA9, 0x58, 0xC7, 0x22, 0x5D, + 0x40, 0x5A, 0x1A, 0xF8, 0xAC, 0x9A, 0x8C, 0xE0, 0x13, 0x6E, 0xDF, 0xEC, 0xF9, 0x21, 0x38, 0x0E, + 0xAB, 0xD9, 0xEA, 0x35, 0x3A, 0xAD, 0xFA, 0x49, 0xBF, 0xD1, 0xE9, 0xB4, 0x3B, 0xDB, 0xE4, 0x79, + 0xF2, 0x80, 0xD4, 0xBB, 0xA0, 0xAD, 0x3D, 0x72, 0x5C, 0x6F, 0x9E, 0x34, 0x8E, 0xF6, 0x20, 0x83, + 0x60, 0x7E, 0xCF, 0xA4, 0x7E, 0xD3, 0x90, 0xC5, 0x91, 0x94, 0xF2, 0xE7, 0x5B, 0x92, 0xB1, 0x59, + 0xF2, 0x8E, 0x31, 0x9C, 0xF0, 0xA4, 0x30, 0xB9, 0x9F, 0x07, 0xE2, 0xC8, 0x9B, 0x0E, 0x8A, 0xE9, + 0xFC, 0x8D, 0x1C, 0xAC, 0xA6, 0xB3, 0xA8, 0x87, 0x41, 0xDC, 0x81, 0x98, 0x74, 0xE5, 0xA2, 0xBA, + 0x92, 0xF7, 0xEF, 0x01, 0x72, 0xCB, 0x02, 0x5D, 0x6E, 0x40, 0x6E, 0x90, 0x51, 0x3B, 0x05, 0x52, + 0x15, 0x5F, 0xAD, 0x46, 0x9A, 0x23, 0xCF, 0x0F, 0x29, 0xE8, 0x7D, 0x34, 0x0D, 0xD0, 0x51, 0x52, + 0x87, 0xB9, 0x93, 0xC8, 0x22, 0x4D, 0x66, 0x10, 0x81, 0x0F, 0x81, 0x13, 0x70, 0x30, 0x5B, 0x18, + 0x4C, 0xC3, 0x10, 0x6D, 0x8A, 0xA7, 0x62, 0xDD, 0xA3, 0x5F, 0xC8, 0x15, 0xCF, 0x95, 0x00, 0x52, + 0x41, 0xCC, 0xB3, 0xA3, 0x00, 0x55, 0x10, 0xE3, 0x16, 0xC6, 0x5D, 0xDC, 0x27, 0xD0, 0xD3, 0x0B, + 0x7B, 0xF0, 0x96, 0x7A, 0x62, 0x19, 0x62, 0xC3, 0xE2, 0xE9, 0xD2, 0x5C, 0xED, 0x74, 0xAD, 0x58, + 0xEC, 0xCC, 0xCE, 0x15, 0x4E, 0xDF, 0x90, 0xCD, 0x22, 0xCD, 0x91, 0xAF, 0x7E, 0x5E, 0xDE, 0x56, + 0x30, 0x8D, 0x2E, 0xAB, 0xCB, 0x2F, 0x25, 0xF6, 0x5B, 0xDF, 0xF3, 0x99, 0x18, 0x99, 0xA9, 0xA6, + 0xDF, 0xC5, 0xD4, 0x63, 0x40, 0x26, 0x34, 0xBE, 0xF4, 0x73, 0x3E, 0xCB, 0xCE, 0x7A, 0x2D, 0x16, + 0x1E, 0x21, 0xE4, 0x31, 0x47, 0xA5, 0xDA, 0x19, 0x8F, 0x10, 0xDC, 0xDA, 0x52, 0x6B, 0xED, 0xA1, + 0x39, 0x60, 0x8E, 0xC3, 0xCD, 0x01, 0x25, 0xC8, 0xD4, 0x96, 0x2B, 0xE8, 0xD0, 0x86, 0x08, 0x5B, + 0xE0, 0x50, 0xFC, 0x80, 0xE5, 0x42, 0xE8, 0x4F, 0x92, 0xF7, 0xC2, 0x15, 0x48, 0xF2, 0x38, 0x21, + 0xC2, 0xDD, 0x24, 0xC4, 0x49, 0x4F, 0xC1, 0x1D, 0x38, 0x62, 0x40, 0xFD, 0x46, 0x6A, 0xBD, 0x51, + 0x01, 0x70, 0x6D, 0xA3, 0xD0, 0x01, 0x59, 0x17, 0x53, 0x77, 0xEC, 0x70, 0xEE, 0x3A, 0x7C, 0x16, + 0xD8, 0x81, 0xD4, 0x68, 0x41, 0x9C, 0xEA, 0x57, 0xC2, 0x14, 0xF4, 0x76, 0xC6, 0x85, 0x5E, 0xB8, + 0x42, 0x9A, 0x4B, 0xA5, 0xB8, 0xF2, 0x8E, 0x48, 0x04, 0xC5, 0x20, 0xF4, 0x63, 0x1F, 0xD5, 0xCF, + 0xBA, 0xB4, 0xA3, 0xF6, 0xB5, 0x97, 0x64, 0x80, 0xD6, 0xC0, 0x1E, 0x8F, 0x93, 0xA9, 0xE0, 0x31, + 0x98, 0x09, 0x3F, 0xDF, 0x52, 0xF4, 0x2B, 0x21, 0x28, 0x35, 0x79, 0x31, 0x41, 0xB5, 0xF8, 0xD9, + 0x5D, 0x96, 0x4E, 0x35, 0x57, 0x5F, 0x5E, 0x40, 0x49, 0xED, 0x9E, 0xE3, 0x24, 0x12, 0x90, 0x04, + 0x87, 0xD9, 0x06, 0x13, 0x8E, 0x74, 0xEF, 0x73, 0xB0, 0xD8, 0xD2, 0xE0, 0x55, 0x34, 0x5F, 0x75, + 0x73, 0x52, 0x32, 0x65, 0x11, 0x30, 0xBB, 0x5D, 0x9C, 0xBF, 0x9C, 0x27, 0x7C, 0x6A, 0x06, 0x9B, + 0x7E, 0x96, 0x5E, 0x11, 0x4E, 0x70, 0x10, 0x44, 0x98, 0x25, 0x4D, 0x82, 0xF8, 0x06, 0xDC, 0x54, + 0x68, 0xDF, 0x30, 0x7F, 0x08, 0xB1, 0x1D, 0x33, 0xCB, 0x06, 0x38, 0x4C, 0x70, 0x5D, 0x6E, 0x4C, + 0x46, 0x34, 0x46, 0x37, 0x19, 0x4C, 0xC7, 0x36, 0x7A, 0xCF, 0xC8, 0x47, 0x57, 0x29, 0x27, 0x0C, + 0xC6, 0xD4, 0x0E, 0x75, 0xD7, 0x66, 0xDA, 0xA1, 0x67, 0xCF, 0x88, 0xF6, 0xD0, 0x1A, 0x53, 0x6F, + 0x14, 0x5F, 0x32, 0x21, 0xEF, 0x80, 0x68, 0x4B, 0x4B, 0xC5, 0x20, 0xD6, 0x99, 0x41, 0xED, 0xB8, + 0xD5, 0x26, 0x58, 0x84, 0xBF, 0xDA, 0x57, 0x1D, 0xD6, 0xAF, 0xDC, 0x64, 0x78, 0x0E, 0xA6, 0x67, + 0x53, 0x8A, 0xCB, 0xB0, 0x34, 0x47, 0x24, 0xBC, 0x0F, 0x48, 0x6C, 0x25, 0xFF, 0x93, 0x58, 0x6C, + 0x19, 0xFF, 0x91, 0xC0, 0x96, 0xF1, 0x1A, 0x0C, 0xF6, 0x17, 0xC8, 0x7E, 0x45, 0x4E, 0x2E, 0x5F, + 0x68, 0xA6, 0xE2, 0x34, 0xB7, 0x9D, 0x1B, 0x48, 0x37, 0x46, 0x1D, 0x9C, 0xE5, 0xBD, 0xC8, 0x66, + 0x7A, 0x4E, 0xB2, 0xDC, 0xA8, 0xE5, 0x7B, 0xAD, 0xE9, 0x78, 0xCC, 0xCD, 0x3B, 0x25, 0x66, 0xFD, + 0xC9, 0xCC, 0xAF, 0xF5, 0x93, 0xE6, 0x51, 0x1F, 0x0E, 0xD6, 0xC7, 0xCD, 0x1F, 0xC1, 0x3F, 0x54, + 0xB4, 0x8D, 0xAA, 0x40, 0x02, 0x13, 0xC5, 0x78, 0x4A, 0xB2, 0x21, 0x40, 0x7B, 0x2F, 0x3D, 0xA0, + 0x2A, 0xD9, 0x34, 0x25, 0x6F, 0x91, 0xC6, 0x70, 0x78, 0x49, 0x07, 0x6F, 0x31, 0x51, 0xCE, 0x67, + 0x09, 0x7E, 0x40, 0xC6, 0xF4, 0x8A, 0x8E, 0xA1, 0x4C, 0x21, 0x2A, 0x00, 0x51, 0xAA, 0xE4, 0x0C, + 0xBA, 0x0A, 0x22, 0xC6, 0xFC, 0x1E, 0x8B, 0x0B, 0xFA, 0x06, 0x48, 0x49, 0x55, 0x39, 0x4C, 0xBA, + 0x1B, 0x52, 0x32, 0xF7, 0x29, 0x9D, 0xCA, 0xEB, 0x4A, 0x85, 0x7C, 0xCA, 0xE8, 0xFB, 0x14, 0x3F, + 0x80, 0xAD, 0xB2, 0x9C, 0xC5, 0xE6, 0x74, 0x18, 0x94, 0x9C, 0x69, 0x2A, 0x8D, 0xE1, 0x1C, 0x50, + 0xD9, 0x5A, 0x6C, 0x58, 0xB5, 0x5A, 0x6A, 0x35, 0x18, 0x3F, 0x63, 0x20, 0xC6, 0x32, 0x24, 0xBC, + 0xF9, 0xC0, 0xA0, 0x66, 0x2D, 0xE0, 0x12, 0xB2, 0x0B, 0x99, 0x80, 0x1B, 0xAD, 0xFA, 0x0F, 0x90, + 0xA2, 0x96, 0x01, 0x3D, 0x6A, 0x76, 0x19, 0xEC, 0x3D, 0xA4, 0xD1, 0x0B, 0x35, 0x8F, 0xD3, 0x91, + 0xEA, 0x5F, 0x52, 0xE5, 0xA9, 0x08, 0xF2, 0x2B, 0xC4, 0x87, 0x0F, 0x09, 0x81, 0x95, 0xBC, 0x32, + 0xCE, 0x13, 0x5B, 0x6A, 0x8F, 0x0B, 0x12, 0x3E, 0xDD, 0x28, 0xEB, 0xE8, 0xA1, 0x35, 0x2F, 0xFC, + 0x30, 0xCA, 0x67, 0x10, 0x90, 0xA4, 0x20, 0x63, 0xA4, 0x9E, 0x88, 0x23, 0xFE, 0x50, 0x68, 0x65, + 0x05, 0xB1, 0xF3, 0x69, 0x3D, 0xCC, 0x9F, 0xA5, 0xA4, 0xF2, 0xD2, 0x9A, 0xA3, 0x85, 0x80, 0x8C, + 0x63, 0xCD, 0x85, 0x24, 0x5D, 0xA0, 0xAB, 0x67, 0x0A, 0x4B, 0x84, 0xE2, 0xB2, 0xC9, 0xC3, 0xBA, + 0x37, 0x40, 0x58, 0x7F, 0x42, 0x87, 0xD9, 0x05, 0xBC, 0x56, 0xA4, 0xFD, 0xBA, 0x92, 0x5A, 0x7E, + 0xB1, 0xC4, 0x67, 0xAA, 0xE6, 0xCA, 0x70, 0x9A, 0x4F, 0x92, 0x83, 0x31, 0x54, 0x7E, 0x93, 0x20, + 0x17, 0x52, 0xAC, 0x76, 0x02, 0xC9, 0x3C, 0x55, 0xF7, 0x87, 0x85, 0xC5, 0x0E, 0x17, 0xCE, 0xE3, + 0x58, 0x57, 0xB6, 0xE6, 0x87, 0x41, 0x99, 0x43, 0xC6, 0xFE, 0xCF, 0xDD, 0x76, 0x2B, 0x17, 0x0E, + 0xB3, 0x52, 0xE6, 0x14, 0x19, 0xC3, 0x9F, 0x3C, 0xB4, 0x16, 0x06, 0x41, 0xE5, 0xC8, 0x9A, 0x0B, + 0x87, 0xE2, 0x9F, 0x5C, 0xC4, 0x4C, 0x2A, 0x94, 0x7B, 0xAA, 0x5B, 0x20, 0xB4, 0x45, 0x75, 0x4C, + 0xE3, 0x73, 0x5E, 0x23, 0xD2, 0x32, 0x94, 0x80, 0x67, 0x41, 0x0E, 0x56, 0xC5, 0x40, 0x98, 0x0B, + 0x2A, 0x87, 0xD6, 0x86, 0x4C, 0x44, 0x62, 0xA5, 0xC0, 0x8A, 0x5B, 0x55, 0x3C, 0x33, 0x9F, 0x9C, + 0xE0, 0x8E, 0xA4, 0x42, 0x2E, 0xAA, 0xD8, 0x56, 0xD5, 0x15, 0xC4, 0x66, 0xE8, 0x0E, 0x8A, 0xA7, + 0x0B, 0x3A, 0x3C, 0x4E, 0x58, 0xB7, 0x5D, 0xD4, 0x3B, 0x3F, 0x9E, 0x9D, 0x82, 0xA1, 0xA2, 0x6B, + 0x52, 0x16, 0xCC, 0xFA, 0x23, 0x21, 0xCF, 0x62, 0x81, 0xA4, 0xEE, 0x68, 0x96, 0xF2, 0x24, 0x8B, + 0x8C, 0x06, 0xDE, 0x93, 0xF4, 0xF6, 0xDB, 0x12, 0x65, 0xEA, 0x75, 0xF2, 0x5D, 0xB8, 0x4A, 0xBF, + 0xF1, 0xFB, 0x61, 0xA3, 0x71, 0xD4, 0x38, 0x4A, 0xF9, 0xC8, 0xA5, 0x33, 0x81, 0x24, 0x1E, 0x53, + 0x16, 0xE3, 0x5E, 0xEA, 0xAE, 0x37, 0x27, 0x2F, 0xAB, 0x38, 0x4F, 0xCC, 0xA0, 0xAA, 0x66, 0x56, + 0xBA, 0xB7, 0x4C, 0x11, 0xB9, 0x6F, 0xB6, 0x7E, 0xCC, 0x09, 0x20, 0xF1, 0x8D, 0x59, 0x56, 0xCD, + 0xEE, 0xB1, 0x61, 0xED, 0x7E, 0xF9, 0x39, 0x41, 0x6F, 0xE4, 0xD8, 0xA1, 0x93, 0x5E, 0x79, 0xE5, + 0x0D, 0x0D, 0x3D, 0xE6, 0xC2, 0xEC, 0xC8, 0xA1, 0x73, 0x84, 0xD2, 0x85, 0xEC, 0xD2, 0x1B, 0x69, + 0xAA, 0x73, 0x9E, 0xA1, 0xEF, 0xCD, 0x16, 0x9C, 0x6E, 0x73, 0x12, 0xDA, 0xAC, 0xFD, 0x79, 0xFE, + 0xDA, 0x79, 0x73, 0xFB, 0xE5, 0xEC, 0x93, 0x9A, 0x85, 0x53, 0xE7, 0xCF, 0x7F, 0x1C, 0x09, 0xCF, + 0x25, 0xC9, 0x2C, 0xF3, 0x2F, 0xE1, 0xC2, 0x6D, 0xE4, 0xC6, 0xDC, 0xE2, 0x22, 0x26, 0x19, 0x45, + 0xC2, 0xFC, 0xEF, 0x6C, 0xA3, 0xC4, 0xCD, 0x51, 0xD1, 0x90, 0xB1, 0xF0, 0x4E, 0xF1, 0x76, 0x8A, + 0x44, 0x70, 0x3D, 0xF5, 0xD2, 0xF5, 0xCA, 0x57, 0xDE, 0x33, 0x97, 0x5A, 0x6B, 0xA9, 0xBC, 0x67, + 0xF0, 0xAD, 0x5C, 0x75, 0xCF, 0xE0, 0x28, 0x5D, 0x71, 0xBF, 0xB5, 0xBD, 0x9B, 0xD9, 0x5A, 0xEA, + 0xEE, 0x99, 0xD5, 0x57, 0xAD, 0xB9, 0x67, 0x50, 0xE8, 0xF5, 0xF6, 0xB9, 0x55, 0x75, 0x28, 0x20, + 0xF9, 0xD7, 0xAF, 0x40, 0x52, 0xD7, 0x7E, 0xE8, 0x20, 0x06, 0x28, 0xD1, 0x3E, 0xB5, 0x1A, 0x7B, + 0x4E, 0xD3, 0x96, 0x2F, 0xB2, 0x8B, 0x42, 0x08, 0x39, 0x98, 0xCB, 0xB5, 0x52, 0x74, 0x0F, 0xC4, + 0x60, 0x87, 0xDD, 0x48, 0xB2, 0xD9, 0x9B, 0x4A, 0xBD, 0x9D, 0x09, 0xFD, 0xC4, 0xF5, 0xDE, 0x22, + 0x02, 0xD7, 0x5B, 0x63, 0x69, 0x57, 0xDB, 0xCE, 0x5C, 0xF9, 0x73, 0x0D, 0xD5, 0x5D, 0xA6, 0xBC, + 0x6B, 0xAC, 0xF1, 0xDE, 0xCE, 0xA7, 0x78, 0xB6, 0x44, 0x11, 0x38, 0x83, 0xE9, 0x1E, 0x0A, 0xC0, + 0x19, 0xEC, 0xF7, 0x52, 0xFC, 0x15, 0xBA, 0x56, 0x58, 0xFE, 0x35, 0xDB, 0x5B, 0x7A, 0xD6, 0x12, + 0xD3, 0xD7, 0x54, 0x0E, 0xCE, 0xEB, 0xF0, 0x1C, 0xAA, 0xCC, 0x0A, 0x8D, 0x2A, 0x9F, 0x10, 0xA6, + 0xA2, 0xDA, 0x5F, 0x53, 0xE5, 0x30, 0xB3, 0x1F, 0xEB, 0xAA, 0x1C, 0x96, 0xD1, 0xED, 0x64, 0xD3, + 0x0B, 0x55, 0x6F, 0xC9, 0xDA, 0x21, 0x64, 0x2F, 0xBD, 0xF6, 0x51, 0x7B, 0x2F, 0xE5, 0x0E, 0x99, + 0x4B, 0xA5, 0x5B, 0xB2, 0xC4, 0x28, 0x36, 0xDF, 0x54, 0x64, 0x54, 0xC5, 0xFF, 0x74, 0x6B, 0x8D, + 0xD9, 0x73, 0x43, 0x46, 0x9E, 0x1F, 0xAB, 0x8D, 0x8A, 0x7C, 0x16, 0xD7, 0x1B, 0x33, 0xD2, 0x7B, + 0x90, 0x7A, 0xA3, 0x50, 0xBF, 0x45, 0x15, 0xC7, 0x9C, 0x6E, 0xFD, 0xE0, 0xFB, 0x70, 0x9B, 0xE1, + 0x55, 0x15, 0x1C, 0x8F, 0xA3, 0x5D, 0xC9, 0xEA, 0x59, 0x2D, 0xBB, 0xE0, 0x04, 0x96, 0x2F, 0x1F, + 0xE6, 0x2D, 0xED, 0x8E, 0xE2, 0xC8, 0x23, 0x7B, 0x34, 0xB9, 0xE4, 0xC9, 0x28, 0x2B, 0x20, 0x43, + 0x95, 0xEA, 0x96, 0xDB, 0xEA, 0xAC, 0x6C, 0xB9, 0xCA, 0x94, 0xB8, 0x59, 0x06, 0x6F, 0xBB, 0x96, + 0x12, 0x55, 0xE2, 0x3E, 0x73, 0x49, 0xDF, 0x42, 0x37, 0x6A, 0xCA, 0xF5, 0xE6, 0x17, 0xAD, 0x54, + 0xC2, 0xF5, 0x82, 0x95, 0xE9, 0x48, 0xA2, 0x3D, 0x33, 0x9E, 0xA9, 0x64, 0x1B, 0xA0, 0x3C, 0x49, + 0x15, 0x27, 0x8D, 0xF9, 0x54, 0x98, 0x1D, 0x32, 0xE2, 0x08, 0x50, 0x66, 0x0F, 0x22, 0xCA, 0xCE, + 0xA4, 0xE7, 0x26, 0xB6, 0xD4, 0xCA, 0x07, 0x26, 0x9C, 0xFC, 0x40, 0x27, 0x25, 0xB6, 0xD6, 0xAA, + 0xE7, 0x22, 0x9C, 0xBB, 0xE0, 0x40, 0x94, 0x66, 0xF5, 0x6A, 0xC5, 0x40, 0xA6, 0xFB, 0xAE, 0x13, + 0x70, 0x24, 0x25, 0x40, 0xF0, 0x5D, 0xC3, 0x8B, 0xDD, 0xF8, 0xA6, 0xE9, 0x94, 0x01, 0x8F, 0x22, + 0xFF, 0x2C, 0x1C, 0x17, 0x43, 0x46, 0x0B, 0x97, 0x8E, 0x52, 0x54, 0x25, 0x16, 0xF6, 0xEC, 0x89, + 0xCE, 0x68, 0xD5, 0x50, 0x5D, 0xC9, 0xCD, 0xD8, 0x92, 0x5E, 0x4F, 0xBE, 0xA4, 0x6C, 0x2D, 0xB8, + 0xF1, 0x4E, 0xAE, 0x99, 0x9B, 0xCE, 0x71, 0xE8, 0x4F, 0x3A, 0x34, 0xF2, 0xA7, 0xE1, 0x80, 0xB6, + 0x60, 0xB2, 0x82, 0xEA, 0x1E, 0x7C, 0xE0, 0x92, 0xC7, 0x49, 0x24, 0x7C, 0xA9, 0x53, 0x24, 0xAB, + 0xF3, 0xA5, 0xFC, 0x91, 0x83, 0x55, 0x59, 0x57, 0x92, 0x34, 0x89, 0xF2, 0xC3, 0x13, 0x09, 0xF3, + 0x9B, 0x39, 0x99, 0xC8, 0x0F, 0xFB, 0xD9, 0x14, 0xA4, 0xF3, 0x2A, 0xF1, 0xFB, 0xF9, 0xB9, 0xA1, + 0x50, 0x56, 0x36, 0x77, 0x9E, 0x2E, 0xE7, 0xCF, 0xE5, 0xEC, 0x88, 0x83, 0x0D, 0x63, 0x67, 0x9D, + 0x13, 0xD3, 0x44, 0x39, 0x1E, 0xBA, 0x39, 0x3A, 0x9A, 0x4E, 0x01, 0x21, 0xAE, 0xA3, 0x50, 0xA2, + 0x1B, 0x74, 0x01, 0x2D, 0x68, 0xBB, 0x9C, 0x8C, 0x42, 0xBB, 0xDE, 0x37, 0x55, 0x22, 0xC4, 0x21, + 0x96, 0x1F, 0xB2, 0xD0, 0xFB, 0x6E, 0x1A, 0x1D, 0x03, 0x0C, 0x0B, 0xC8, 0xFD, 0x9C, 0x26, 0xBE, + 0xFB, 0x62, 0xE7, 0xEB, 0x43, 0x88, 0x05, 0xD8, 0xDC, 0x0E, 0xB9, 0x9D, 0xE8, 0xEB, 0xD0, 0x53, + 0xDF, 0xBE, 0x0B, 0x23, 0x3B, 0xDB, 0xA4, 0x6F, 0xC3, 0xFF, 0xAA, 0x99, 0xB1, 0x0C, 0x9E, 0xA4, + 0x1F, 0x68, 0x1F, 0x27, 0x7E, 0x03, 0xB3, 0x44, 0x25, 0x1E, 0x3F, 0x7F, 0xFA, 0xA9, 0xD4, 0x50, + 0x49, 0xC8, 0x00, 0x03, 0xD2, 0x01, 0x40, 0x9E, 0xF7, 0xDD, 0x94, 0x00, 0xA9, 0xDF, 0x38, 0x6C, + 0x29, 0xC4, 0x9A, 0x32, 0x6B, 0x05, 0x84, 0x77, 0xEF, 0x18, 0x67, 0x97, 0x48, 0x7A, 0x99, 0x98, + 0x0D, 0x12, 0x52, 0x1F, 0xE5, 0x74, 0xE3, 0xB7, 0x4B, 0xEA, 0x25, 0xE9, 0x03, 0x66, 0xE1, 0x69, + 0xB6, 0xB7, 0x8D, 0xED, 0x3C, 0xB1, 0xFD, 0x16, 0x50, 0x40, 0x64, 0x25, 0xF0, 0xD4, 0x86, 0x0A, + 0x06, 0xEF, 0xEC, 0xC7, 0x1C, 0x67, 0x68, 0x8F, 0x41, 0xA2, 0x45, 0xD5, 0xA6, 0x4D, 0xB5, 0x60, + 0xA4, 0xEA, 0x0F, 0x7C, 0x55, 0x02, 0x92, 0xA8, 0x1B, 0xF4, 0x14, 0x19, 0x25, 0xCA, 0x3E, 0x2E, + 0xA8, 0x29, 0x1D, 0xF2, 0x6C, 0x20, 0x9A, 0x57, 0x43, 0x92, 0x3E, 0x2A, 0x5F, 0x3A, 0xB9, 0xBE, + 0x74, 0x07, 0x97, 0xC0, 0x25, 0xC6, 0x56, 0x51, 0x72, 0x4D, 0xD0, 0xDA, 0x03, 0xFC, 0xB6, 0x0A, + 0x4D, 0xEA, 0xAD, 0x49, 0x63, 0xA6, 0x88, 0xD6, 0x4B, 0x95, 0x9D, 0x48, 0x73, 0x98, 0x3D, 0x02, + 0xCB, 0xB3, 0x8D, 0x24, 0x2B, 0x19, 0xDB, 0x16, 0x78, 0x45, 0x7A, 0x05, 0x80, 0x70, 0x2A, 0x2C, + 0x4A, 0x25, 0x70, 0x3A, 0x7A, 0x3C, 0xEE, 0x73, 0x65, 0x81, 0x69, 0x1D, 0xB5, 0x2C, 0xB1, 0x84, + 0xC8, 0x88, 0x0F, 0x66, 0xC4, 0x65, 0xAD, 0xB0, 0xA7, 0xF8, 0x4D, 0x11, 0x6F, 0x74, 0xEC, 0xD2, + 0xB1, 0x13, 0xA1, 0xAE, 0x60, 0x9F, 0x02, 0x60, 0x12, 0xC3, 0x64, 0xC2, 0xC7, 0xC9, 0x90, 0x01, + 0xE8, 0xA5, 0xB1, 0xEF, 0x90, 0xE6, 0xA5, 0x8B, 0x62, 0xD0, 0xFE, 0xC0, 0x04, 0x01, 0xD2, 0x45, + 0xC9, 0x71, 0x09, 0xE7, 0xCB, 0x15, 0x88, 0x77, 0xA9, 0x12, 0xD9, 0xB6, 0x89, 0x23, 0x35, 0x1F, + 0x32, 0x31, 0x7D, 0x70, 0x90, 0x7C, 0x21, 0x04, 0xA0, 0x89, 0x11, 0x82, 0xDB, 0xC2, 0xBE, 0x12, + 0x35, 0x27, 0x60, 0x3B, 0x92, 0xA0, 0xC5, 0x55, 0x09, 0x35, 0xCF, 0x10, 0x03, 0xB9, 0x50, 0xF3, + 0xFE, 0xBD, 0x89, 0x02, 0x35, 0xB8, 0x66, 0x56, 0x4E, 0x38, 0xCC, 0x9F, 0x1E, 0x98, 0x74, 0x33, + 0xA1, 0xAD, 0x44, 0xF1, 0x30, 0x7B, 0xA2, 0x4E, 0x08, 0xDB, 0xD0, 0xD2, 0x21, 0xBD, 0xA4, 0xB8, + 0x3D, 0x8F, 0x60, 0xBD, 0x63, 0x4F, 0xAF, 0x07, 0x6A, 0xA0, 0x59, 0x1F, 0x21, 0xC1, 0xB3, 0x4F, + 0x17, 0x06, 0xBF, 0x4C, 0xC7, 0xA1, 0x92, 0xB3, 0x0A, 0x74, 0x49, 0x7C, 0x93, 0x4F, 0x74, 0xCF, + 0x5A, 0x54, 0x4F, 0x94, 0x19, 0xF3, 0x81, 0xC1, 0xE3, 0x67, 0x96, 0xDB, 0x23, 0x06, 0x1A, 0xB6, + 0xB5, 0x19, 0x3C, 0x9A, 0xEE, 0x29, 0x94, 0xE9, 0x70, 0x99, 0xA0, 0x99, 0x00, 0x9B, 0xA3, 0xAE, + 0x3E, 0x55, 0x89, 0x86, 0x7B, 0x44, 0x29, 0x0C, 0xE8, 0x41, 0x45, 0x29, 0x0C, 0x7C, 0x27, 0xE3, + 0x06, 0xD9, 0x83, 0x48, 0x9A, 0x5F, 0x62, 0xA6, 0x07, 0xC8, 0xB2, 0x42, 0x2D, 0x8C, 0xEA, 0x79, + 0x14, 0x2B, 0xC7, 0xF2, 0x92, 0x31, 0xBD, 0x70, 0x8F, 0xF1, 0x9D, 0x1E, 0xC0, 0x6F, 0xD5, 0x98, + 0xBB, 0xC7, 0x91, 0xCF, 0x16, 0x37, 0xCC, 0x98, 0x8B, 0x59, 0x9D, 0x79, 0x3A, 0x2C, 0x13, 0x43, + 0x45, 0x63, 0x65, 0x9E, 0x59, 0xD8, 0x90, 0x3D, 0x4F, 0x55, 0x23, 0x83, 0xA6, 0x86, 0x73, 0x14, + 0x35, 0x93, 0x7E, 0xC2, 0x04, 0x9D, 0x34, 0x45, 0x29, 0x56, 0x2F, 0xA3, 0x77, 0x18, 0x54, 0xAE, + 0xB9, 0x25, 0x24, 0xCD, 0x23, 0x10, 0x51, 0xC8, 0x13, 0x09, 0x07, 0x63, 0x4A, 0xEC, 0xF3, 0x28, + 0x2C, 0xCE, 0x24, 0x04, 0x8F, 0x21, 0x28, 0x35, 0xFB, 0x0A, 0xA2, 0x34, 0x5A, 0x45, 0x51, 0x9C, + 0xE5, 0x37, 0xC9, 0x70, 0x6A, 0x97, 0xA7, 0x19, 0xF5, 0xE4, 0xAE, 0xA0, 0x35, 0x04, 0xBE, 0x04, + 0x49, 0x6F, 0x19, 0x1A, 0xB7, 0x79, 0xD8, 0xF3, 0x31, 0xCA, 0x5E, 0xBB, 0x51, 0xA6, 0x44, 0xBF, + 0xCC, 0xA1, 0x33, 0x17, 0xFE, 0xB2, 0x4C, 0xE4, 0xAB, 0xF6, 0x42, 0x20, 0x11, 0x24, 0x73, 0x2C, + 0x17, 0x42, 0x32, 0x31, 0x20, 0x45, 0x35, 0xF1, 0x66, 0xB7, 0xE6, 0x7A, 0x17, 0x3E, 0x18, 0x76, + 0xD7, 0x9E, 0x8C, 0xF9, 0xC2, 0x30, 0x96, 0x2E, 0xBB, 0xAB, 0x44, 0xBB, 0x78, 0x20, 0x33, 0x13, + 0x96, 0x77, 0x66, 0x97, 0xB6, 0xD8, 0x78, 0xB5, 0xF6, 0xDA, 0x80, 0xF3, 0x75, 0xAD, 0x1A, 0xC1, + 0xA7, 0xD7, 0x96, 0xF5, 0x62, 0xEB, 0x93, 0x9A, 0x1A, 0xCC, 0x34, 0xC4, 0xEF, 0xDF, 0x6B, 0x8B, + 0x09, 0x13, 0x07, 0x73, 0xFF, 0x6C, 0xC9, 0x80, 0xC7, 0x87, 0x35, 0x84, 0xE7, 0xBB, 0x6F, 0x14, + 0xE5, 0x33, 0x17, 0x76, 0xA4, 0x34, 0xD4, 0x8D, 0x66, 0x99, 0x17, 0x56, 0xEF, 0x55, 0xDD, 0x48, + 0x93, 0xAC, 0x59, 0x92, 0x4F, 0xCD, 0xD1, 0xE3, 0x48, 0xE6, 0xB3, 0x29, 0x44, 0xA1, 0x52, 0xB8, + 0x91, 0xD4, 0x89, 0x9C, 0x0E, 0xE8, 0x87, 0x6D, 0xC9, 0xBA, 0x9A, 0x98, 0x34, 0xB0, 0xC3, 0x9F, + 0xD7, 0x41, 0x72, 0xF3, 0x9E, 0x3D, 0xCB, 0x30, 0x6B, 0xB9, 0xE0, 0xED, 0xDF, 0xB5, 0x87, 0xD5, + 0xE7, 0xB8, 0x71, 0x50, 0x3F, 0xE5, 0x1D, 0xF9, 0xE5, 0xAE, 0xBD, 0x90, 0xE2, 0xB5, 0xDD, 0x77, + 0xAD, 0x98, 0x13, 0x27, 0x59, 0xCA, 0x3D, 0x25, 0xC0, 0x72, 0x6B, 0x4A, 0xDC, 0xA5, 0x3D, 0x7C, + 0x66, 0xBA, 0xD2, 0x35, 0x5C, 0x26, 0xBF, 0x32, 0x0D, 0x4B, 0xE5, 0x48, 0x46, 0x0B, 0xB3, 0x1E, + 0x7D, 0x98, 0xA7, 0x34, 0xC9, 0xC8, 0xBC, 0x03, 0xB2, 0x09, 0x26, 0x9C, 0x8B, 0x3B, 0x13, 0x80, + 0x4C, 0xC3, 0xA6, 0x04, 0xE9, 0xE9, 0xDE, 0x30, 0xCA, 0x96, 0x69, 0x55, 0xF1, 0xF5, 0x4B, 0x46, + 0x46, 0xE5, 0xFF, 0xF5, 0xAA, 0xB1, 0xEC, 0x17, 0x1B, 0x78, 0xF1, 0x6F, 0xC5, 0x2B, 0xC6, 0xF4, + 0x9E, 0x4C, 0x5A, 0xBF, 0x64, 0x78, 0x8E, 0x5F, 0xD5, 0x0F, 0x76, 0x28, 0x8B, 0xC2, 0x1C, 0x79, + 0x9E, 0xDF, 0xDD, 0x44, 0xBF, 0x7B, 0x9F, 0x82, 0x7C, 0xD5, 0x69, 0xFF, 0xDA, 0x3C, 0x82, 0x56, + 0xD0, 0xE6, 0x51, 0xB1, 0xDA, 0x65, 0x48, 0x34, 0x6B, 0x20, 0xFF, 0xDE, 0x18, 0xCF, 0x89, 0xC0, + 0x55, 0xC0, 0x49, 0xE1, 0x1D, 0x75, 0xF8, 0x8F, 0x81, 0x54, 0x18, 0x2B, 0xD0, 0xBA, 0x5F, 0x42, + 0xE6, 0x14, 0x9C, 0x19, 0xD7, 0xA6, 0x39, 0x2E, 0x53, 0x6E, 0x50, 0x36, 0x3C, 0xBB, 0xF2, 0xE7, + 0x3F, 0xF8, 0xD7, 0x6F, 0xFD, 0x38, 0x19, 0x76, 0x78, 0xC0, 0x1D, 0xC4, 0xE3, 0x1B, 0x6B, 0x69, + 0xAB, 0xDD, 0xD4, 0x77, 0x09, 0x4E, 0x43, 0x73, 0xBB, 0x6D, 0x9B, 0xDD, 0x2E, 0xEB, 0x82, 0x94, + 0x92, 0x85, 0x33, 0xD3, 0x93, 0xDD, 0x8B, 0x59, 0xDE, 0xF7, 0x19, 0x23, 0xD1, 0xB3, 0x67, 0xE9, + 0x89, 0x51, 0x3F, 0xD1, 0x6A, 0x2D, 0x75, 0xDA, 0x35, 0x72, 0x09, 0x53, 0x91, 0xF8, 0xEE, 0xEF, + 0x22, 0x79, 0x91, 0x73, 0x95, 0x44, 0x94, 0x11, 0xED, 0x1A, 0x84, 0xC8, 0xC3, 0xE2, 0x72, 0xF2, + 0x83, 0x09, 0xD5, 0xFC, 0xFC, 0xC7, 0x93, 0x17, 0x5F, 0x5F, 0x17, 0x15, 0x3C, 0x5C, 0x9F, 0x90, + 0xC2, 0xF5, 0x2A, 0x5A, 0x78, 0x37, 0x3D, 0xDB, 0x54, 0xF1, 0x94, 0x76, 0x07, 0x28, 0xC3, 0x7E, + 0xA7, 0x71, 0xF2, 0x07, 0xF3, 0x0D, 0xF5, 0x4E, 0xEF, 0x0F, 0x21, 0x60, 0xB2, 0xA7, 0x3A, 0xF7, + 0x52, 0xCE, 0x62, 0xE1, 0xEE, 0x84, 0x0F, 0xAB, 0xCC, 0x49, 0x1E, 0x76, 0x27, 0x8D, 0x4E, 0x90, + 0x3C, 0xAA, 0x5A, 0x27, 0x44, 0xDC, 0xBF, 0x6E, 0xAB, 0xD9, 0xEF, 0x72, 0x82, 0xE3, 0xDF, 0xE9, + 0x2B, 0xC0, 0xF5, 0x78, 0x39, 0xAA, 0x46, 0x89, 0x26, 0x44, 0xF9, 0x3D, 0xBF, 0xDF, 0x01, 0x94, + 0x0C, 0x24, 0xAC, 0x10, 0x6D, 0x64, 0x96, 0xED, 0xC2, 0x9A, 0xA0, 0xE1, 0x5B, 0x7C, 0x88, 0x7C, + 0xE1, 0xB7, 0x23, 0xF3, 0xBE, 0x82, 0xCD, 0x79, 0x90, 0xEC, 0xF5, 0xC1, 0x44, 0xA8, 0xFD, 0x54, + 0xC7, 0xE2, 0x66, 0xB9, 0xFC, 0x91, 0xE9, 0x4E, 0xAD, 0x62, 0x26, 0x84, 0x8F, 0xA7, 0x9E, 0x26, + 0x6A, 0xCA, 0x75, 0x8D, 0x7D, 0xC0, 0xCD, 0x85, 0x25, 0xA5, 0x52, 0xB2, 0x7D, 0x4E, 0x11, 0x84, + 0x7E, 0x45, 0xB3, 0xF0, 0xBB, 0xDD, 0xA6, 0x2F, 0x3D, 0x19, 0xD0, 0x3C, 0x9E, 0x3C, 0x32, 0x44, + 0x68, 0xC6, 0x27, 0x4C, 0xAC, 0x5C, 0x5F, 0x61, 0xC9, 0x76, 0xC2, 0x4C, 0x31, 0x29, 0x5B, 0x5F, + 0x7A, 0xA8, 0xEE, 0xC1, 0x6C, 0xF5, 0x47, 0xBD, 0xC0, 0x2F, 0xAE, 0x04, 0xA9, 0xAD, 0x32, 0xC5, + 0x45, 0x21, 0xAD, 0x1F, 0xA5, 0xA0, 0x40, 0x24, 0x5B, 0x4F, 0x16, 0xD4, 0x89, 0xB2, 0xBF, 0xC4, + 0x67, 0xE1, 0xFB, 0x43, 0x78, 0x5B, 0x35, 0xB6, 0x48, 0x6C, 0x15, 0x96, 0x93, 0xD4, 0x76, 0x9D, + 0xE2, 0xCA, 0x92, 0xD6, 0xA0, 0x53, 0xAA, 0xCA, 0x54, 0xD4, 0x17, 0x33, 0xBF, 0x09, 0x33, 0xDD, + 0x78, 0xBD, 0xFB, 0x52, 0x8E, 0x88, 0x4E, 0xAD, 0x39, 0xFD, 0x96, 0xF8, 0x5B, 0x8C, 0x0F, 0xD4, + 0x6F, 0x89, 0x4B, 0xAD, 0xDC, 0x6F, 0x89, 0x93, 0x1F, 0xAA, 0xDF, 0x12, 0xD7, 0x5A, 0xB5, 0xDF, + 0x12, 0xE7, 0xAE, 0xA1, 0xDF, 0x32, 0x8A, 0xA6, 0x34, 0x2C, 0x1E, 0xE7, 0x5B, 0xF2, 0x40, 0x6D, + 0x8E, 0xC8, 0x52, 0x99, 0x1B, 0xA7, 0x27, 0xD7, 0xE6, 0x88, 0x84, 0x2F, 0xD5, 0xD3, 0xA7, 0xB6, + 0x39, 0xAE, 0xCA, 0xFA, 0xFF, 0xAE, 0xCD, 0x11, 0xA1, 0x84, 0x52, 0x32, 0x18, 0x45, 0x51, 0x55, + 0xD0, 0x44, 0xBF, 0x25, 0xA0, 0x78, 0xF2, 0xDF, 0x6F, 0x4A, 0x43, 0x8D, 0x7A, 0x82, 0x4D, 0x69, + 0x48, 0xD6, 0xEA, 0x4D, 0x69, 0x6B, 0x6B, 0x3D, 0xBB, 0xCB, 0x75, 0x5B, 0xA9, 0x9F, 0xDB, 0x2B, + 0xD1, 0x54, 0x86, 0xA2, 0xF8, 0xD8, 0x54, 0xF6, 0x54, 0x9A, 0xCA, 0x70, 0x37, 0x9E, 0x64, 0x53, + 0x99, 0x98, 0x22, 0x1C, 0x97, 0x84, 0x16, 0x0F, 0x34, 0xC0, 0xD4, 0x15, 0x4A, 0x50, 0xE9, 0x1D, + 0x3F, 0xF4, 0xD6, 0x97, 0x07, 0xE9, 0x7C, 0x29, 0x1B, 0x8C, 0xD7, 0xD7, 0xF9, 0xE2, 0xE3, 0x4F, + 0x4A, 0x37, 0x9D, 0x60, 0x6D, 0x6D, 0x2F, 0x09, 0x42, 0xD9, 0xF3, 0x02, 0xE6, 0x3F, 0xF8, 0xD8, + 0xF3, 0x52, 0xD4, 0xF3, 0xC2, 0xF3, 0xE9, 0x14, 0x44, 0xD7, 0x87, 0x47, 0x6C, 0x7A, 0xC1, 0x9D, + 0x5B, 0xB2, 0xE9, 0x05, 0x29, 0x5E, 0x57, 0xD3, 0xCB, 0x6A, 0xAD, 0x2D, 0x77, 0x09, 0xB0, 0x52, + 0xEA, 0x1F, 0xFB, 0x59, 0xD8, 0x8B, 0xBB, 0x6F, 0xF3, 0x18, 0x8F, 0x02, 0x1F, 0x42, 0x0F, 0x09, + 0x6E, 0xE8, 0xC7, 0x1E, 0x92, 0x85, 0x82, 0x5A, 0xD4, 0x43, 0x82, 0x62, 0xFC, 0x10, 0x7B, 0x48, + 0xD0, 0x8D, 0xDD, 0xB9, 0x87, 0xE4, 0x11, 0xFB, 0x1F, 0x50, 0xEE, 0x6B, 0xEE, 0x7F, 0x40, 0x91, + 0xDC, 0x47, 0x2F, 0xCA, 0x47, 0x49, 0xAE, 0x7C, 0x07, 0xCA, 0x5D, 0xED, 0x9A, 0x6E, 0xF7, 0x39, + 0xB2, 0xBB, 0xDE, 0xED, 0x73, 0x2C, 0xA5, 0xB7, 0xA7, 0x8D, 0x3F, 0x01, 0x2A, 0x7E, 0xFB, 0xB3, + 0xFC, 0x16, 0x65, 0x67, 0xCD, 0xDD, 0x26, 0x41, 0x4E, 0x99, 0x4D, 0x5A, 0xC3, 0x76, 0xF0, 0xE8, + 0xB6, 0xDC, 0x66, 0xF0, 0x1B, 0x7C, 0x39, 0x7F, 0xC5, 0x1F, 0xF1, 0xDB, 0xCC, 0xE3, 0x28, 0x29, + 0x7D, 0xF8, 0x77, 0xD6, 0xE8, 0x94, 0x14, 0xFA, 0xA2, 0xD8, 0x28, 0x96, 0x5E, 0xF1, 0xDA, 0xFF, + 0x83, 0xBE, 0x17, 0x44, 0x81, 0x7C, 0xBC, 0x17, 0x5C, 0x28, 0x8F, 0xB5, 0xDD, 0x0B, 0xDE, 0x9A, + 0x17, 0x28, 0xFD, 0xFB, 0x23, 0x99, 0x6C, 0x3D, 0x9B, 0xC0, 0x7F, 0xD0, 0x17, 0x86, 0x49, 0x66, + 0x2D, 0x0B, 0xC9, 0x05, 0x69, 0x79, 0xBE, 0x2C, 0x3D, 0xFF, 0x3A, 0x2D, 0x15, 0x8B, 0x7E, 0x9D, + 0x96, 0xBD, 0xB7, 0xCA, 0x81, 0xFD, 0x0B, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, + 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x34, 0x2D, 0x1A, 0xE7, 0x87, 0x1C, 0x00, 0x00, 0xC5, 0x99, 0x00, + 0x00, 0x2C, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, + 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, + 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x61, 0x75, 0x74, 0x68, 0x2F, 0x61, 0x75, 0x74, 0x68, 0x2E, 0x6A, + 0x73, 0xED, 0x1D, 0x6B, 0x73, 0xE3, 0x44, 0xEC, 0x3B, 0xBF, 0x62, 0xE9, 0x07, 0x9A, 0x32, 0xA9, + 0x0B, 0x0C, 0x8F, 0xA1, 0x47, 0x81, 0xD0, 0x16, 0x08, 0xF4, 0x5A, 0xA6, 0x49, 0x8F, 0x61, 0x18, + 0x26, 0xB8, 0xF1, 0x26, 0x35, 0x24, 0x76, 0xB0, 0x9D, 0x96, 0x00, 0xFD, 0xEF, 0x48, 0xDA, 0xF7, + 0xAE, 0x9D, 0xB8, 0x8F, 0x2B, 0x07, 0x1C, 0x03, 0xB4, 0xB5, 0x77, 0x25, 0xAD, 0x56, 0xD2, 0x6A, + 0xB5, 0xD2, 0x7A, 0xEF, 0xED, 0x37, 0xD9, 0x24, 0x2D, 0xF8, 0x65, 0x5C, 0xF2, 0xDD, 0x38, 0x99, + 0xA7, 0x19, 0xBB, 0xFE, 0x38, 0x7A, 0x3F, 0x7A, 0x8F, 0xBD, 0xBD, 0xF7, 0xC6, 0xD6, 0xB2, 0xE4, + 0xAC, 0xAC, 0x8A, 0x74, 0x5C, 0x6D, 0x3D, 0x7B, 0x03, 0x9A, 0xBE, 0xC1, 0xDE, 0x66, 0x9F, 0xCF, + 0xD2, 0x31, 0xCF, 0x4A, 0x8E, 0xBF, 0x1F, 0xE6, 0x8B, 0x55, 0x91, 0x4E, 0xAF, 0x2A, 0xF6, 0xDE, + 0x3B, 0xEF, 0x7E, 0xC4, 0xBE, 0xCA, 0xF3, 0xE9, 0x8C, 0xB3, 0x7E, 0x36, 0x8E, 0xE0, 0x2D, 0x36, + 0x38, 0x11, 0x6D, 0x13, 0xB6, 0xCC, 0x12, 0x5E, 0xB0, 0xEA, 0x8A, 0xB3, 0xDE, 0x22, 0x1E, 0xC3, + 0x0F, 0xF9, 0xA6, 0xCB, 0x5E, 0xF0, 0xA2, 0x4C, 0xF3, 0x8C, 0xBD, 0x17, 0xBD, 0xC3, 0x3A, 0xD8, + 0x60, 0x4B, 0xBE, 0xDA, 0xDA, 0x79, 0x86, 0x20, 0x56, 0xF9, 0x92, 0xCD, 0xE3, 0x15, 0xCB, 0xF2, + 0x8A, 0x01, 0x3D, 0x00, 0x23, 0x2D, 0x81, 0x64, 0xC0, 0xC3, 0x7F, 0x1F, 0xF3, 0x45, 0xC5, 0x80, + 0xE4, 0x71, 0x3E, 0x5F, 0xCC, 0xD2, 0x38, 0x1B, 0x73, 0x76, 0x93, 0x56, 0x57, 0xD0, 0x46, 0x23, + 0x88, 0x10, 0xC6, 0x0F, 0x12, 0x46, 0x7E, 0x59, 0xC5, 0xD0, 0x3C, 0x86, 0x0E, 0x0B, 0xF8, 0x6B, + 0x62, 0x37, 0x64, 0x71, 0x25, 0x89, 0x66, 0xEC, 0xAA, 0xAA, 0x16, 0xFB, 0x7B, 0x7B, 0x37, 0x37, + 0x37, 0x51, 0x4C, 0xE4, 0x46, 0x79, 0x31, 0xDD, 0x93, 0x03, 0x2F, 0xF7, 0x4E, 0xFA, 0x87, 0xC7, + 0xA7, 0x83, 0xE3, 0x5D, 0x20, 0x59, 0x76, 0xB9, 0xC8, 0x66, 0xBC, 0x2C, 0x59, 0xC1, 0x7F, 0x5B, + 0xA6, 0x05, 0x0C, 0xF7, 0x72, 0xC5, 0xE2, 0xC5, 0x02, 0x3A, 0xC4, 0x97, 0x40, 0xE8, 0x2C, 0xBE, + 0x61, 0x79, 0xC1, 0xE2, 0x69, 0xC1, 0xE1, 0x5D, 0x95, 0x23, 0xC9, 0x37, 0x45, 0x5A, 0xA5, 0xD9, + 0xB4, 0xCB, 0xCA, 0x7C, 0x52, 0xDD, 0xC4, 0x05, 0xF1, 0x33, 0x49, 0x91, 0xDB, 0x97, 0xCB, 0x4A, + 0x71, 0xCC, 0x21, 0x30, 0x2D, 0x9D, 0x06, 0x39, 0x0C, 0x24, 0x63, 0x5B, 0xBD, 0x01, 0xEB, 0x0F, + 0xB6, 0xD8, 0x17, 0xBD, 0x41, 0x7F, 0xD0, 0x45, 0x20, 0xDF, 0xF7, 0x87, 0x5F, 0x9F, 0x5D, 0x0C, + 0xD9, 0xF7, 0xBD, 0xF3, 0xF3, 0xDE, 0xE9, 0xB0, 0x7F, 0x3C, 0x60, 0x67, 0xE7, 0xEC, 0xF0, 0xEC, + 0xF4, 0xA8, 0x3F, 0xEC, 0x9F, 0x9D, 0xC2, 0x5F, 0x5F, 0xB2, 0xDE, 0xE9, 0x0F, 0xEC, 0xDB, 0xFE, + 0xE9, 0x51, 0x97, 0xF1, 0x14, 0x50, 0x14, 0xC0, 0xCB, 0x45, 0x01, 0x23, 0x40, 0x32, 0x53, 0xE4, + 0x25, 0x4F, 0x88, 0x71, 0x03, 0xCE, 0x1D, 0x12, 0x26, 0xB9, 0x20, 0xA9, 0x5C, 0xF0, 0x71, 0x3A, + 0x49, 0xC7, 0x30, 0xB4, 0x6C, 0xBA, 0x8C, 0xA7, 0x9C, 0x4D, 0xF3, 0x6B, 0x5E, 0x64, 0x30, 0x22, + 0xB6, 0xE0, 0xC5, 0x3C, 0x2D, 0x71, 0x4E, 0x4B, 0x20, 0x30, 0x41, 0x30, 0xB3, 0x74, 0x9E, 0x56, + 0x71, 0x85, 0x8F, 0xC2, 0x71, 0x21, 0xA2, 0xBD, 0x37, 0xAE, 0xE3, 0x82, 0x8D, 0x46, 0xFC, 0xF7, + 0x8A, 0x67, 0x49, 0xC9, 0x0E, 0x58, 0x87, 0xE6, 0xF9, 0xAD, 0xB7, 0x68, 0xBE, 0x23, 0xFD, 0x66, + 0x87, 0xFD, 0xF5, 0x17, 0xEB, 0x4C, 0x96, 0xD9, 0x18, 0xA1, 0xB1, 0xCE, 0x0E, 0xFB, 0xF3, 0x0D, + 0x06, 0xFF, 0x60, 0x77, 0xD1, 0x64, 0x80, 0x88, 0xC6, 0x08, 0xC2, 0xB4, 0x4A, 0xBA, 0xEC, 0x92, + 0x5A, 0x8A, 0x7F, 0x82, 0x96, 0x67, 0x97, 0xBF, 0xF0, 0x71, 0x15, 0x95, 0xBC, 0xFA, 0xAE, 0xC8, + 0xAB, 0xBC, 0x5A, 0x2D, 0xF8, 0xD9, 0x04, 0x30, 0x41, 0x07, 0xF3, 0x4F, 0xE7, 0x4F, 0x20, 0x70, + 0x81, 0xEF, 0x47, 0xA3, 0x7D, 0xF6, 0xE3, 0x4F, 0xEC, 0x16, 0xE6, 0xB1, 0xAC, 0x50, 0xEA, 0x40, + 0x92, 0x7A, 0x45, 0x11, 0xAF, 0x80, 0xDE, 0x10, 0x2B, 0x4B, 0x22, 0xDD, 0x0F, 0x70, 0x5D, 0x3E, + 0x63, 0xB7, 0x3B, 0x1E, 0xEC, 0xB0, 0x13, 0x71, 0xBA, 0x83, 0xA3, 0x5A, 0x00, 0x16, 0x7C, 0x94, + 0x4E, 0x58, 0xE7, 0x32, 0xBA, 0x8A, 0xCB, 0xB3, 0x9B, 0x0C, 0xA8, 0x04, 0x2E, 0x57, 0xAB, 0xCE, + 0x62, 0x67, 0x87, 0x25, 0x3F, 0x2E, 0x7E, 0x42, 0xB8, 0xF0, 0x03, 0x40, 0x3F, 0xD3, 0x70, 0x0B, + 0x5E, 0x2D, 0x8B, 0xCC, 0x1D, 0xAB, 0x00, 0x4F, 0x6D, 0xB0, 0xA9, 0x69, 0xD6, 0x96, 0x59, 0x0A, + 0x40, 0x40, 0xF8, 0x68, 0x84, 0x73, 0x21, 0x66, 0x6B, 0x9C, 0x03, 0x5F, 0x8A, 0xE5, 0xB8, 0xCA, + 0x0B, 0x20, 0x2C, 0x01, 0xAA, 0x74, 0xFB, 0x24, 0x5A, 0x28, 0x0E, 0x23, 0xCD, 0xEC, 0xE0, 0xE0, + 0x80, 0x65, 0xCB, 0xD9, 0x8C, 0x7D, 0xA6, 0x26, 0x61, 0x5C, 0xF0, 0xB8, 0xE2, 0x1D, 0x20, 0x61, + 0x9F, 0x75, 0x46, 0x23, 0xB7, 0xBD, 0xF9, 0xAB, 0xCB, 0x32, 0x7E, 0x43, 0x58, 0xCD, 0x70, 0x6E, + 0x77, 0x3A, 0xF0, 0x87, 0x84, 0x93, 0xF0, 0x49, 0x9A, 0x71, 0xCD, 0x29, 0x10, 0xF0, 0xBC, 0xA8, + 0xCA, 0x2E, 0xDB, 0x02, 0x59, 0x2A, 0x9F, 0xE7, 0xC9, 0x72, 0xC6, 0xB7, 0xBA, 0x40, 0xF1, 0x75, + 0x3C, 0x5B, 0xF2, 0x7D, 0x06, 0xF4, 0x72, 0x76, 0x0B, 0xDD, 0x65, 0xC3, 0xA8, 0xB7, 0xAC, 0xAE, + 0x00, 0xA5, 0xFA, 0x73, 0xC8, 0xB3, 0x38, 0xAB, 0x7A, 0xA8, 0xA9, 0xDE, 0x9B, 0x2F, 0xE2, 0x52, + 0x3D, 0xBA, 0xCE, 0xD3, 0x84, 0xBD, 0xF3, 0x0C, 0x85, 0x19, 0x6D, 0x55, 0x31, 0x2A, 0xF8, 0x38, + 0x2F, 0x92, 0xD1, 0xBB, 0xF0, 0x4E, 0xDA, 0x86, 0xCE, 0x56, 0xB4, 0x87, 0xAF, 0x76, 0xC5, 0xAB, + 0xAD, 0x1D, 0xD1, 0x3A, 0x4D, 0x78, 0x56, 0x81, 0x46, 0x41, 0x1F, 0xAF, 0xB1, 0x79, 0xA3, 0xDA, + 0x56, 0xF9, 0xAF, 0x3C, 0x1B, 0x4D, 0x79, 0xC6, 0x8B, 0xB8, 0xCA, 0x83, 0x0E, 0xF4, 0x7A, 0x57, + 0xBD, 0xD6, 0xBD, 0x62, 0x20, 0x71, 0x14, 0x2F, 0xD2, 0x11, 0x36, 0xE5, 0x65, 0xE5, 0x77, 0xC3, + 0xF7, 0xBB, 0xF0, 0x7E, 0x57, 0xBE, 0x57, 0xFD, 0x78, 0x51, 0x04, 0x38, 0x60, 0x08, 0x55, 0x3A, + 0x2B, 0xF7, 0xE8, 0x9D, 0x6A, 0x48, 0x8F, 0x6A, 0x9B, 0xA5, 0xA0, 0xF2, 0xBF, 0xCB, 0x66, 0xC8, + 0xEF, 0x34, 0x41, 0xC2, 0x6A, 0x9B, 0xAA, 0xB7, 0xDE, 0x60, 0xC1, 0xB6, 0x68, 0xE6, 0x84, 0x63, + 0x95, 0x6F, 0xDD, 0xA1, 0x82, 0x10, 0x4E, 0xD2, 0x69, 0xED, 0x28, 0xC5, 0x2B, 0x8D, 0x81, 0x66, + 0x76, 0x34, 0x8F, 0xB3, 0x78, 0x1A, 0x62, 0x10, 0x6F, 0x77, 0xE5, 0x5B, 0xEC, 0xB3, 0xF7, 0x36, + 0x99, 0xFC, 0x7E, 0x56, 0x81, 0xC1, 0x8B, 0x61, 0xC8, 0xF9, 0x04, 0x0D, 0x31, 0x8A, 0x80, 0x32, + 0x08, 0xC6, 0xA6, 0xD1, 0x63, 0xDD, 0x14, 0x40, 0x43, 0x6F, 0xF6, 0xF9, 0x78, 0x16, 0x97, 0x25, + 0xB4, 0xA8, 0xB3, 0x64, 0xEA, 0x89, 0xDB, 0x53, 0xBD, 0x16, 0xAA, 0x84, 0x50, 0xE8, 0x27, 0xD0, + 0x71, 0xC4, 0x67, 0xBC, 0xE2, 0xA5, 0x30, 0xCB, 0xBC, 0xB8, 0x06, 0xA3, 0x8A, 0x66, 0x97, 0xA5, + 0x55, 0xC9, 0x00, 0x4B, 0x3E, 0x4E, 0x63, 0x5C, 0x2D, 0xC0, 0xBA, 0xE7, 0xCB, 0x62, 0xCC, 0xCB, + 0x48, 0x74, 0xD4, 0xFD, 0x3F, 0x97, 0x06, 0xE0, 0x4F, 0x50, 0x15, 0xB0, 0xDB, 0xFC, 0x93, 0xCE, + 0xCE, 0xA7, 0xB7, 0xAC, 0x07, 0x86, 0x63, 0xBE, 0xA8, 0x56, 0x4C, 0x3E, 0x05, 0xF0, 0x71, 0x05, + 0x8B, 0x2B, 0x68, 0xEA, 0x25, 0x07, 0x1A, 0x67, 0x13, 0xF8, 0x15, 0xC0, 0xDE, 0x5C, 0xF1, 0xCC, + 0x42, 0x2D, 0x16, 0x29, 0xA2, 0x28, 0x51, 0x88, 0xF6, 0xF0, 0xA7, 0x3B, 0x1A, 0xA3, 0xC6, 0x91, + 0x68, 0xEC, 0x58, 0x6B, 0xDB, 0xF8, 0xEC, 0xED, 0xB1, 0x21, 0xAC, 0x4F, 0x30, 0x24, 0xF8, 0x2F, + 0xCB, 0xCD, 0x30, 0x70, 0x19, 0x1D, 0xCF, 0x38, 0x30, 0x7E, 0xB9, 0xF0, 0x4C, 0x9E, 0xA2, 0x39, + 0xC2, 0xC6, 0xB3, 0x6B, 0xDE, 0x59, 0x66, 0xC2, 0x18, 0x24, 0x75, 0x96, 0xCF, 0xA5, 0x0C, 0x8C, + 0x48, 0x67, 0xC7, 0x4C, 0x32, 0xEA, 0xB6, 0x98, 0x59, 0x9A, 0xB2, 0x88, 0x3D, 0x07, 0xFF, 0x61, + 0xB6, 0x42, 0xE5, 0x4E, 0xC0, 0x44, 0x0B, 0x2D, 0x67, 0x42, 0x38, 0xE6, 0xA0, 0xA7, 0xAC, 0xF7, + 0x5D, 0xBF, 0x34, 0x93, 0xAF, 0x4C, 0x43, 0x9B, 0x79, 0x37, 0x53, 0x8A, 0x23, 0x36, 0x5D, 0x45, + 0x1F, 0xCB, 0xA4, 0x06, 0x13, 0xB8, 0x88, 0x8B, 0x78, 0x8E, 0xFE, 0x06, 0x75, 0xFC, 0x52, 0x7A, + 0x73, 0x3D, 0xF8, 0xBB, 0xCA, 0xB5, 0x08, 0x68, 0xCF, 0x28, 0x2D, 0x3D, 0x51, 0xF5, 0xE1, 0xC0, + 0xCB, 0x73, 0x61, 0x02, 0xBE, 0x06, 0x39, 0x9A, 0xF1, 0x82, 0xC0, 0x9E, 0x7F, 0x77, 0xC8, 0xA4, + 0x65, 0x60, 0x57, 0xE2, 0x39, 0x32, 0x80, 0x00, 0x36, 0xC1, 0x12, 0xCA, 0xFB, 0x95, 0xB2, 0x44, + 0xEC, 0x6C, 0x81, 0x43, 0x8E, 0x67, 0xE2, 0x39, 0xD3, 0x26, 0x2A, 0x62, 0xFD, 0x09, 0xFA, 0x77, + 0xCA, 0xAD, 0xE0, 0xB0, 0xC8, 0xC4, 0x0A, 0x14, 0xFE, 0xD3, 0xC9, 0xF2, 0x6C, 0x57, 0x6A, 0x62, + 0x8C, 0x26, 0x78, 0x47, 0xA3, 0xD4, 0x32, 0x29, 0xD6, 0x8D, 0x24, 0x62, 0x17, 0xCA, 0x49, 0x24, + 0x1A, 0x60, 0x5E, 0x01, 0x9D, 0x05, 0x4C, 0x22, 0x59, 0x81, 0x17, 0x68, 0x43, 0xF4, 0x68, 0x35, + 0x23, 0xB1, 0x38, 0xEF, 0x08, 0xB4, 0x9A, 0x41, 0x3D, 0x53, 0x1D, 0x98, 0x81, 0x6E, 0x0D, 0xFB, + 0xBA, 0x1E, 0x68, 0x4B, 0xBC, 0xC5, 0x72, 0x59, 0xC3, 0xF1, 0x83, 0x1A, 0x38, 0x7A, 0xD1, 0x25, + 0x57, 0xA0, 0x11, 0xA6, 0x81, 0xEB, 0x71, 0xFF, 0xC0, 0xA3, 0xC3, 0xC0, 0xBB, 0x35, 0x6B, 0xFD, + 0xAC, 0xE4, 0x1E, 0x28, 0x94, 0xE3, 0x71, 0xB1, 0x5A, 0x54, 0xF9, 0x20, 0x9D, 0x66, 0x44, 0x5B, + 0xB8, 0x94, 0x44, 0xA0, 0x07, 0xC7, 0xF3, 0xE5, 0x0C, 0xE1, 0x82, 0x44, 0x7F, 0x86, 0x8B, 0x73, + 0xB8, 0x4E, 0x45, 0xA2, 0x09, 0x4F, 0x08, 0x12, 0x36, 0xDC, 0xAF, 0x69, 0x64, 0x23, 0xFB, 0x12, + 0x34, 0x19, 0x04, 0x19, 0x59, 0xBB, 0xF3, 0xAC, 0xC5, 0x08, 0xEB, 0xD1, 0x2A, 0x95, 0x18, 0x3A, + 0xCD, 0x3B, 0x36, 0xA2, 0x1D, 0x8F, 0x1B, 0x06, 0x47, 0xC9, 0xC9, 0x97, 0x3D, 0xCC, 0xF3, 0x5F, + 0x53, 0xFE, 0x42, 0xAC, 0x34, 0x80, 0x2A, 0x58, 0x98, 0xA4, 0xE3, 0x32, 0xA8, 0x6B, 0x6E, 0xE8, + 0x37, 0x70, 0xD3, 0x84, 0xC8, 0xD9, 0x0C, 0xB1, 0x6F, 0x1A, 0x1A, 0x58, 0xF5, 0x6B, 0xC1, 0x21, + 0x75, 0x00, 0xBB, 0x4F, 0x8C, 0x18, 0x2F, 0xCB, 0x2A, 0x97, 0x4A, 0x28, 0xEC, 0xF7, 0x38, 0xCE, + 0x50, 0x55, 0x4A, 0xB4, 0x54, 0x97, 0xF1, 0xF8, 0x57, 0x32, 0x10, 0x60, 0x61, 0x52, 0x78, 0x80, + 0xBF, 0x2F, 0x4B, 0x61, 0x26, 0x14, 0xBC, 0x12, 0x78, 0xD3, 0xCF, 0xBE, 0x87, 0x27, 0x87, 0x04, + 0x8B, 0x08, 0xE9, 0xEC, 0x34, 0x58, 0xA0, 0x3F, 0x71, 0x6F, 0x92, 0x4D, 0x6F, 0xD9, 0x32, 0x4D, + 0xD0, 0x66, 0xE0, 0x4F, 0x05, 0x35, 0x16, 0x0B, 0xD4, 0x37, 0xDF, 0x0F, 0x59, 0xB9, 0x14, 0x0E, + 0x9A, 0xDF, 0x3B, 0xA7, 0xC7, 0x07, 0xB7, 0xB0, 0x7E, 0x5C, 0xF3, 0x19, 0xBA, 0x6D, 0x87, 0xB3, + 0x38, 0x9D, 0x97, 0xC6, 0x6C, 0xC4, 0x49, 0x92, 0xCA, 0x5F, 0xC7, 0xF4, 0x4A, 0xEC, 0xA5, 0xC6, + 0xB3, 0x65, 0xC2, 0xE1, 0xA7, 0xC6, 0xB0, 0x88, 0x57, 0xB3, 0x3C, 0x4E, 0x36, 0xAE, 0x74, 0x82, + 0x5E, 0x5C, 0xED, 0xB0, 0x9B, 0xDE, 0xDC, 0xC0, 0xE2, 0x74, 0x0D, 0x5E, 0x57, 0xA2, 0xE1, 0xD8, + 0x7A, 0xAF, 0xD5, 0xDD, 0xAC, 0x61, 0x72, 0x9E, 0x2C, 0x16, 0x39, 0xCB, 0x19, 0x70, 0xA1, 0xEB, + 0x8F, 0xC9, 0xD6, 0x57, 0x41, 0x55, 0x9D, 0x40, 0x87, 0x80, 0x6B, 0x81, 0xE9, 0x55, 0xCD, 0x17, + 0x07, 0x21, 0x32, 0x28, 0x0F, 0x38, 0x3E, 0x52, 0x5B, 0x21, 0x0D, 0x11, 0x3B, 0x27, 0xA4, 0xF8, + 0x46, 0x30, 0xC3, 0x6C, 0x9C, 0x45, 0x8B, 0x52, 0x72, 0x18, 0x5B, 0xE2, 0xB4, 0x94, 0x12, 0xA6, + 0x60, 0x90, 0xEC, 0x92, 0x4E, 0x4C, 0x07, 0x58, 0xA1, 0x96, 0xB3, 0x04, 0xAD, 0x38, 0x4A, 0x98, + 0x14, 0xE2, 0x84, 0x2C, 0x3B, 0xEC, 0x9F, 0xC7, 0xBF, 0x9E, 0xF3, 0x6B, 0x68, 0x96, 0xA0, 0x7F, + 0x50, 0x72, 0x14, 0x36, 0xF2, 0xB8, 0xBB, 0x12, 0xAC, 0xEA, 0x50, 0x2A, 0x98, 0x42, 0xEB, 0x10, + 0x6A, 0x01, 0xAB, 0xF8, 0x22, 0xCF, 0x12, 0x98, 0x29, 0xE8, 0x45, 0x2F, 0xFB, 0x47, 0x12, 0xE7, + 0x0D, 0x88, 0x55, 0x81, 0x80, 0x05, 0x26, 0x7C, 0xE9, 0xF6, 0x90, 0xE0, 0x69, 0x99, 0xDE, 0x2E, + 0x25, 0x54, 0xD1, 0x2F, 0xCD, 0xA4, 0xAF, 0x49, 0xAB, 0x4D, 0x46, 0xDC, 0x01, 0x67, 0x7B, 0x57, + 0xB8, 0x94, 0x12, 0xAA, 0xF0, 0x7E, 0x81, 0x68, 0x00, 0x5D, 0xE4, 0x37, 0x59, 0xB8, 0x52, 0x59, + 0x7C, 0x11, 0x03, 0x85, 0xC6, 0xD8, 0x82, 0xF6, 0xFF, 0xF0, 0x7E, 0x93, 0xAE, 0x48, 0x33, 0xC0, + 0x86, 0x42, 0x76, 0x61, 0x60, 0x82, 0x17, 0xAB, 0x40, 0x3F, 0x2E, 0xF3, 0x1C, 0xFD, 0x9D, 0x83, + 0x5B, 0x97, 0xA1, 0xDF, 0x5F, 0x71, 0xC0, 0x8D, 0x8B, 0x9C, 0xC2, 0x3F, 0x71, 0x99, 0x94, 0x1A, + 0x1E, 0x35, 0x6A, 0xC2, 0x11, 0x6C, 0x46, 0x40, 0xE2, 0xA5, 0xA9, 0x41, 0x8D, 0xD8, 0xE4, 0xF8, + 0xC5, 0x13, 0x5C, 0x59, 0x63, 0xD0, 0xE6, 0xF1, 0x18, 0xB8, 0x0A, 0x2F, 0xAC, 0x35, 0x56, 0x4E, + 0xE7, 0x98, 0xB6, 0xFC, 0x1B, 0xD5, 0x47, 0x8C, 0x17, 0x70, 0x07, 0xAA, 0x23, 0x99, 0xD3, 0x75, + 0x46, 0x6C, 0xEB, 0x0E, 0x45, 0x0D, 0x50, 0x73, 0xA0, 0x1B, 0xFE, 0x70, 0xD7, 0x48, 0x87, 0x4F, + 0x07, 0x07, 0x6A, 0x7F, 0x06, 0x00, 0x1C, 0x80, 0x88, 0x32, 0x86, 0x85, 0x4F, 0xED, 0x53, 0x8D, + 0x52, 0xD6, 0x5A, 0x6A, 0x49, 0x2F, 0x4C, 0x96, 0xA2, 0x6F, 0xC7, 0x59, 0x99, 0x22, 0xE0, 0x7E, + 0xD6, 0xB1, 0xF6, 0xD3, 0x0E, 0x6F, 0x15, 0xF5, 0xC6, 0xC1, 0x6D, 0x9C, 0xC1, 0x50, 0xC6, 0x65, + 0x4F, 0x33, 0xC2, 0x37, 0x9B, 0x18, 0xE3, 0x8D, 0xC3, 0xA5, 0xC1, 0x5D, 0x49, 0xCD, 0xA0, 0x4D, + 0x07, 0xC1, 0x54, 0x39, 0x52, 0x29, 0x1C, 0x30, 0xE0, 0xD3, 0xBC, 0x92, 0xB8, 0xBC, 0x51, 0x75, + 0xD5, 0x36, 0x91, 0xB6, 0xCD, 0x87, 0xB4, 0xA0, 0x1C, 0xE3, 0x93, 0x43, 0x68, 0x14, 0xF5, 0x8F, + 0x46, 0xC3, 0xB3, 0x6F, 0x8F, 0x4F, 0x47, 0xE7, 0xC7, 0x2F, 0xE0, 0xE7, 0x91, 0xBD, 0xD8, 0x36, + 0x1A, 0xAF, 0x13, 0x58, 0x41, 0x4B, 0x70, 0xEE, 0x91, 0x15, 0xA8, 0xBF, 0x66, 0x8F, 0x4C, 0xF1, + 0x35, 0xC7, 0x52, 0xAB, 0xF7, 0xB4, 0xF1, 0x29, 0xB4, 0x69, 0x5B, 0xD8, 0x22, 0x9C, 0x2A, 0x13, + 0x66, 0x84, 0x58, 0xD8, 0xBC, 0x58, 0xF4, 0x16, 0xFB, 0x71, 0xBD, 0x08, 0x4C, 0xD3, 0x6B, 0x9E, + 0x49, 0xB8, 0x13, 0x82, 0x20, 0xFF, 0x28, 0xA1, 0xC9, 0x32, 0xDB, 0xA8, 0xD7, 0xF6, 0x1A, 0x98, + 0x4F, 0xE4, 0x20, 0xC4, 0x24, 0xCF, 0x60, 0x64, 0x30, 0xB0, 0x66, 0x6D, 0xBC, 0x80, 0x86, 0xE7, + 0x44, 0x0E, 0x6A, 0xA2, 0x3B, 0x0C, 0xB9, 0xA7, 0x29, 0x89, 0xF6, 0xD0, 0xE0, 0x59, 0x63, 0xD9, + 0xBC, 0x6E, 0x4D, 0x79, 0x85, 0xA8, 0xFC, 0xD5, 0x2A, 0x5C, 0x9C, 0x9A, 0xFC, 0x54, 0x84, 0xD0, + 0x1B, 0x8F, 0x81, 0x1F, 0x55, 0x3F, 0x9B, 0xE4, 0x5F, 0xAC, 0x2E, 0xD2, 0x04, 0x21, 0xAC, 0x57, + 0x08, 0x41, 0x6D, 0xC9, 0x43, 0x55, 0xD0, 0xCB, 0x12, 0xF4, 0x70, 0x66, 0x65, 0x91, 0x2F, 0x84, + 0xE7, 0x48, 0xC3, 0xA6, 0xCD, 0x26, 0xBC, 0x54, 0x80, 0xA2, 0x1A, 0x09, 0x46, 0x0F, 0xC8, 0x8D, + 0xC1, 0x44, 0x86, 0xAD, 0x1D, 0xDD, 0x13, 0x5B, 0x94, 0x3F, 0xBE, 0xF3, 0xD3, 0xE3, 0x8B, 0x24, + 0x9F, 0xC7, 0xE9, 0xEC, 0x15, 0x12, 0x48, 0xA2, 0x07, 0x45, 0x52, 0xFC, 0xF6, 0xAA, 0x0B, 0xE5, + 0x17, 0xAB, 0x63, 0x24, 0xD3, 0x91, 0x4D, 0x22, 0xFC, 0x01, 0xD2, 0x49, 0x10, 0x05, 0x94, 0xD7, + 0x12, 0x0A, 0x24, 0x5F, 0xE5, 0x19, 0x87, 0xE8, 0xEB, 0xFC, 0x92, 0x17, 0xAF, 0x90, 0xA0, 0x12, + 0x59, 0xA7, 0x44, 0x15, 0x8A, 0xAB, 0x43, 0xE6, 0xAB, 0x2F, 0xB5, 0xDF, 0x19, 0xEA, 0x1D, 0xD9, + 0xB5, 0x46, 0xF5, 0x00, 0x09, 0xB6, 0xA0, 0xDB, 0x10, 0xFF, 0xA3, 0xD2, 0xFC, 0x15, 0xAF, 0x2C, + 0xD2, 0xC0, 0x55, 0x8F, 0x6B, 0xF7, 0x03, 0xC6, 0x19, 0xB7, 0xC2, 0xE8, 0x7E, 0x9C, 0xD3, 0x0D, + 0x23, 0x02, 0x4D, 0xBC, 0x40, 0x08, 0xD3, 0x25, 0x08, 0x1F, 0x04, 0xFF, 0x78, 0xF9, 0x0C, 0x77, + 0x90, 0x20, 0x8A, 0x70, 0xCA, 0x01, 0x43, 0x2F, 0xBA, 0x04, 0x39, 0x83, 0xC1, 0x03, 0xC4, 0x62, + 0xA5, 0xB6, 0x97, 0x80, 0x7C, 0x39, 0xAB, 0xD8, 0x0C, 0xCE, 0xE1, 0xA4, 0xA3, 0x2F, 0xE1, 0x1B, + 0x48, 0xB8, 0xE7, 0x35, 0x74, 0xE2, 0x5F, 0xB5, 0xA0, 0xE0, 0xC7, 0x62, 0x59, 0x89, 0x20, 0x15, + 0xAF, 0x80, 0x60, 0x02, 0xEA, 0x53, 0x7D, 0x86, 0xD1, 0xC6, 0x18, 0x22, 0x8C, 0xBF, 0xA7, 0xF3, + 0xE5, 0x1C, 0xC5, 0xFF, 0xDD, 0x77, 0xDE, 0xB1, 0x87, 0x89, 0xE7, 0x9A, 0xB4, 0xA7, 0x5F, 0xC2, + 0x7E, 0x43, 0xED, 0xB8, 0xE6, 0x79, 0x41, 0x32, 0x9E, 0xF9, 0xAD, 0x61, 0xFC, 0xA6, 0xA9, 0xDE, + 0x7C, 0x91, 0x03, 0x0D, 0x44, 0x5C, 0xE5, 0x89, 0xF0, 0xF4, 0xD3, 0xF9, 0x9C, 0x27, 0x18, 0x34, + 0x04, 0xE4, 0xB4, 0xF1, 0x61, 0xB1, 0x88, 0x2B, 0x4A, 0xC1, 0x27, 0xD7, 0xAE, 0x5E, 0x8F, 0x6D, + 0x6C, 0xC8, 0x73, 0xE7, 0xEF, 0x65, 0xA9, 0xCE, 0x3F, 0x93, 0x74, 0x4C, 0x31, 0xC9, 0xAB, 0x74, + 0x7C, 0x65, 0x4B, 0x1E, 0xEC, 0xD1, 0xAE, 0x70, 0x23, 0x09, 0x43, 0x92, 0x82, 0x85, 0x43, 0x7A, + 0x0E, 0x3B, 0x60, 0x7B, 0x7B, 0x71, 0x15, 0x5F, 0x73, 0xF6, 0xC9, 0x01, 0x8E, 0x8E, 0x78, 0x0A, + 0x1B, 0xC7, 0x66, 0x13, 0xF0, 0x95, 0x50, 0xCD, 0xF2, 0x9C, 0xA6, 0xAE, 0xD9, 0x0C, 0x00, 0x61, + 0xEB, 0x8D, 0x80, 0x85, 0x83, 0x98, 0x52, 0x86, 0x3C, 0x41, 0xE6, 0xC7, 0x99, 0x3A, 0x5A, 0xF6, + 0x39, 0xAF, 0xF6, 0x9C, 0x74, 0xCA, 0xEA, 0xCD, 0x92, 0x35, 0x3C, 0xAF, 0x9B, 0x91, 0xEF, 0xD6, + 0x66, 0xC8, 0x3D, 0xFD, 0xB4, 0xC0, 0x49, 0x13, 0x60, 0xF6, 0x0F, 0xFA, 0xBC, 0x25, 0x4A, 0x4B, + 0x3A, 0xC2, 0x74, 0x5A, 0xFB, 0x16, 0x83, 0x86, 0x8D, 0x9A, 0xAE, 0xDD, 0xFD, 0x80, 0x03, 0x9D, + 0xB5, 0x1B, 0x81, 0xD3, 0x17, 0xBD, 0x13, 0xD8, 0x0D, 0xF4, 0xCE, 0xBF, 0xBA, 0x78, 0x7E, 0x7C, + 0x3A, 0xEC, 0xB2, 0xED, 0x9F, 0x2D, 0x7C, 0x3F, 0x1B, 0x6D, 0x60, 0x73, 0x98, 0x72, 0x10, 0x02, + 0xDA, 0x99, 0x23, 0x5D, 0xDB, 0xB6, 0xC5, 0x68, 0x69, 0x3E, 0x1D, 0xDA, 0x03, 0x5B, 0xDA, 0x37, + 0x88, 0xED, 0x41, 0xDF, 0xD3, 0x96, 0xBE, 0xFD, 0xB6, 0xFE, 0x5B, 0x05, 0xE3, 0x70, 0x6B, 0x86, + 0x01, 0x8D, 0x46, 0x1B, 0xC5, 0x52, 0xB1, 0xF6, 0x08, 0x83, 0x20, 0x8C, 0x4A, 0x3E, 0xF1, 0xE1, + 0x18, 0x33, 0x5A, 0x46, 0xDE, 0xBB, 0x3D, 0x2F, 0x52, 0x8B, 0x10, 0xB1, 0xF9, 0x97, 0x30, 0x4A, + 0xDC, 0xD6, 0x5A, 0x84, 0x63, 0xDC, 0x68, 0x69, 0x20, 0xAD, 0xD9, 0x2B, 0xBE, 0xF9, 0xA6, 0xD5, + 0x2E, 0x9A, 0x80, 0xAE, 0x5A, 0x60, 0xCC, 0xAB, 0x10, 0x82, 0x11, 0x2B, 0xFB, 0x34, 0x13, 0x04, + 0x0B, 0x76, 0x05, 0x86, 0xD9, 0xF0, 0x32, 0x90, 0xAB, 0x90, 0x0A, 0xE0, 0x52, 0xB4, 0x4C, 0xC5, + 0xAE, 0x5D, 0xE3, 0xA4, 0x47, 0x46, 0x0C, 0x9A, 0x37, 0xB1, 0x76, 0x38, 0xBB, 0x8E, 0x20, 0x72, + 0x04, 0xEF, 0x43, 0x12, 0xF9, 0x8E, 0x2E, 0x51, 0xF2, 0xE1, 0x63, 0x90, 0x45, 0xAB, 0xFB, 0x7D, + 0xC8, 0xB2, 0x5C, 0x01, 0x97, 0x38, 0xE7, 0xD5, 0xA3, 0x90, 0x28, 0x9C, 0xC7, 0xA2, 0x3D, 0x95, + 0x28, 0x95, 0xF3, 0xB8, 0x1A, 0x83, 0x94, 0x4F, 0x51, 0x36, 0x51, 0xF9, 0x98, 0x4B, 0xA2, 0x84, + 0x79, 0x04, 0x0B, 0x7C, 0x20, 0x6F, 0xB2, 0x87, 0xC2, 0xD0, 0x82, 0x17, 0x9A, 0x42, 0x62, 0x85, + 0x02, 0x60, 0x3D, 0x0F, 0xF9, 0xE0, 0xB8, 0x22, 0xF2, 0x9F, 0x46, 0xED, 0x08, 0x06, 0xF3, 0xD6, + 0x5B, 0x36, 0xDE, 0x0B, 0x29, 0xB5, 0x7E, 0xB3, 0x7B, 0xC9, 0xAE, 0x3B, 0xE8, 0xC7, 0x35, 0xC5, + 0xC3, 0xE3, 0xF3, 0xD3, 0xDE, 0xC9, 0xE8, 0xF8, 0xFC, 0xFC, 0xEC, 0x1C, 0x0C, 0xF1, 0x45, 0x46, + 0xC7, 0x7A, 0xAE, 0x81, 0xC2, 0x45, 0x65, 0x7B, 0xA7, 0x2D, 0xD9, 0xC8, 0xBE, 0x75, 0x7F, 0x53, + 0x96, 0x80, 0x5C, 0x9E, 0x5C, 0x8F, 0x90, 0x7D, 0xE6, 0x3D, 0x88, 0xE6, 0xF1, 0xC2, 0x13, 0x03, + 0x10, 0x81, 0x56, 0xBE, 0x26, 0xB5, 0xA5, 0x24, 0x1B, 0xCC, 0xD2, 0x09, 0x28, 0x40, 0x9F, 0x4D, + 0xDA, 0x47, 0xC7, 0x5D, 0x84, 0x8D, 0x0D, 0xAC, 0x3B, 0x8E, 0xC5, 0xB4, 0x30, 0xBE, 0x69, 0x19, + 0x56, 0x6D, 0x4B, 0x21, 0xF2, 0x1E, 0x8C, 0x51, 0x79, 0x1F, 0xA2, 0xC1, 0xBE, 0xF8, 0xD1, 0xD5, + 0x48, 0xF7, 0x0D, 0xFA, 0xDB, 0x36, 0x2E, 0xF0, 0x31, 0x25, 0x99, 0xE0, 0x96, 0xEC, 0x12, 0xE5, + 0x09, 0x96, 0x07, 0xE1, 0x91, 0xC4, 0x62, 0x25, 0x83, 0xF8, 0xFC, 0x17, 0xF4, 0xBC, 0x4C, 0xFF, + 0x90, 0x67, 0xEF, 0x30, 0x08, 0xC8, 0xE2, 0xD3, 0xDB, 0x3D, 0x74, 0x1D, 0x85, 0xE7, 0x83, 0xBE, + 0xC4, 0x74, 0x89, 0xA7, 0xD4, 0xDA, 0x8F, 0x19, 0x54, 0xE0, 0xEF, 0x52, 0xCE, 0x56, 0x9E, 0x66, + 0x95, 0xF4, 0x5A, 0x04, 0xA6, 0x7A, 0x60, 0x8B, 0x78, 0x2A, 0x4E, 0xD1, 0x34, 0xAC, 0xA6, 0xDD, + 0x9C, 0xD8, 0xAF, 0x1D, 0xDC, 0xDA, 0xF8, 0x87, 0x12, 0x02, 0x51, 0xDB, 0x45, 0xAF, 0xE7, 0x1D, + 0xB4, 0x31, 0xFA, 0x78, 0x3E, 0x82, 0x16, 0x80, 0x16, 0xFE, 0x85, 0x70, 0x2C, 0x39, 0x63, 0xCA, + 0xF1, 0xB5, 0xBC, 0x23, 0x78, 0x37, 0xCB, 0x6F, 0x78, 0x22, 0x92, 0xCA, 0xA2, 0xFA, 0x5D, 0x24, + 0xE0, 0xD5, 0xA4, 0x12, 0xDA, 0x0C, 0xB2, 0x98, 0xE8, 0x91, 0x3C, 0x00, 0x09, 0x4F, 0x9C, 0xD5, + 0xEE, 0x57, 0x4A, 0x68, 0x29, 0x59, 0x63, 0x61, 0xA6, 0xB5, 0x3A, 0x5F, 0x56, 0xD2, 0xC3, 0x9B, + 0xC0, 0x39, 0x46, 0xB3, 0xD7, 0xF9, 0xA7, 0x9C, 0x7F, 0x23, 0x98, 0x3F, 0xFE, 0xD4, 0x35, 0x44, + 0x7D, 0xB6, 0xCF, 0xE4, 0x7E, 0x77, 0xC3, 0xBE, 0xD4, 0xC2, 0x2F, 0xBC, 0xD3, 0x65, 0x51, 0x00, + 0xDB, 0x8D, 0x38, 0x24, 0x70, 0x2C, 0x01, 0xA7, 0x54, 0x2A, 0x0A, 0x4A, 0x39, 0x77, 0xD8, 0x32, + 0x1C, 0xF2, 0x97, 0x72, 0x83, 0x0E, 0x09, 0x05, 0xE2, 0x05, 0x9E, 0x7B, 0x58, 0xF0, 0x45, 0xC6, + 0x87, 0x72, 0x43, 0x0C, 0x34, 0x60, 0x94, 0x84, 0x23, 0x67, 0x5E, 0xB9, 0xE6, 0x2D, 0x1C, 0x52, + 0x04, 0x16, 0x7A, 0xA4, 0x46, 0x26, 0x2C, 0x96, 0xDC, 0x61, 0x5B, 0xAC, 0xC6, 0x2C, 0xFD, 0xB9, + 0x00, 0x5E, 0x8B, 0xA8, 0xFC, 0x9A, 0x4D, 0xF1, 0x89, 0xCD, 0x00, 0x18, 0xB4, 0xA4, 0x26, 0x6A, + 0xB2, 0x65, 0xC6, 0xCA, 0x18, 0x18, 0x87, 0x79, 0x06, 0x3B, 0xE6, 0x8A, 0xF1, 0x58, 0xED, 0x6F, + 0x14, 0x42, 0x71, 0xE6, 0x6A, 0xC4, 0xC2, 0x01, 0xEB, 0x5B, 0x41, 0x88, 0xA9, 0x1C, 0x03, 0x04, + 0xDF, 0x01, 0x0B, 0x68, 0x37, 0xFF, 0x88, 0x7E, 0x8B, 0x65, 0x79, 0xD5, 0xD9, 0x68, 0x25, 0x35, + 0x9C, 0xF5, 0x76, 0xDB, 0x04, 0x0A, 0x8C, 0x6C, 0x98, 0x5D, 0x51, 0xA3, 0xC0, 0xA1, 0x6A, 0xC7, + 0xD7, 0xE0, 0x1A, 0x61, 0x0E, 0x6C, 0xC0, 0x3C, 0xB5, 0x93, 0x3E, 0x08, 0xC7, 0xE0, 0x9A, 0x4E, + 0xFF, 0xAD, 0x99, 0xE0, 0x7D, 0xC3, 0x2D, 0x44, 0xFD, 0x9D, 0x7A, 0xEE, 0x76, 0xB9, 0xF5, 0xC7, + 0x22, 0x33, 0xA6, 0x24, 0x01, 0x91, 0x06, 0xE7, 0x98, 0xA2, 0xF0, 0xA8, 0x05, 0xC5, 0x39, 0x9F, + 0x04, 0xBD, 0x68, 0xAD, 0xDF, 0xD6, 0xFD, 0xB6, 0xEB, 0xE6, 0x24, 0x09, 0x10, 0xB6, 0x3D, 0x86, + 0x11, 0x5D, 0xDA, 0x2C, 0x14, 0xE6, 0xE8, 0x5F, 0x4D, 0xBB, 0x09, 0x6B, 0x2D, 0x44, 0x12, 0x24, + 0xEC, 0x92, 0x75, 0xF0, 0xAF, 0xC9, 0x6C, 0x0B, 0x30, 0x52, 0xDD, 0x6E, 0xED, 0x9E, 0x43, 0x17, + 0x50, 0x95, 0xD3, 0x39, 0x6E, 0x9E, 0xC9, 0xA9, 0xBF, 0xB1, 0x65, 0x02, 0xDF, 0x9A, 0x94, 0x9C, + 0xC7, 0x8A, 0xCE, 0x01, 0x92, 0xD9, 0x4A, 0x01, 0xBD, 0x53, 0x74, 0x4E, 0xF4, 0x09, 0xCE, 0x3A, + 0xCC, 0x70, 0xDA, 0x9D, 0x29, 0xAE, 0xB7, 0x4A, 0x12, 0xCB, 0x29, 0xBF, 0x51, 0x66, 0xC9, 0xC0, + 0x5F, 0x6F, 0x8B, 0xCC, 0x99, 0x4B, 0xA8, 0x72, 0xAD, 0xE2, 0x92, 0x35, 0x67, 0x77, 0x2A, 0x14, + 0x40, 0xC0, 0x2D, 0x01, 0xF2, 0x28, 0x81, 0x28, 0x8C, 0x6D, 0x5E, 0x84, 0xCB, 0xE8, 0x13, 0x93, + 0x4E, 0xE4, 0x8B, 0x08, 0xCF, 0xFC, 0x84, 0xC4, 0xE3, 0xF8, 0x45, 0x22, 0x2B, 0x2C, 0xA3, 0xBB, + 0x18, 0xD8, 0x35, 0xB2, 0xEF, 0x0D, 0x64, 0x90, 0x63, 0x6C, 0x09, 0x28, 0xA7, 0x4D, 0x3D, 0x05, + 0x6F, 0xE0, 0x7F, 0x8B, 0x05, 0xCF, 0xD4, 0x39, 0xB2, 0x98, 0x54, 0x68, 0xA1, 0xA3, 0x7D, 0xCA, + 0xA8, 0xA0, 0x0A, 0x60, 0x7C, 0xE7, 0x1A, 0x5F, 0xE2, 0x72, 0xFF, 0x04, 0x7E, 0x30, 0xDA, 0x2B, + 0x94, 0x60, 0x31, 0x9F, 0x7E, 0x6C, 0xD4, 0xA8, 0xD0, 0xB6, 0x6F, 0x36, 0x83, 0x58, 0x89, 0x24, + 0xAA, 0x8D, 0xFE, 0xCA, 0x34, 0xCE, 0x56, 0x81, 0xFB, 0xFB, 0x9E, 0x76, 0xCA, 0x5C, 0x4D, 0x27, + 0x1C, 0x2F, 0xA0, 0x98, 0x53, 0xFC, 0xD9, 0x4A, 0x98, 0xAB, 0xCD, 0x99, 0x0B, 0xCD, 0x27, 0x9C, + 0x12, 0x42, 0xB3, 0xDE, 0xC3, 0x39, 0xFC, 0x1A, 0x8D, 0x0F, 0x09, 0x0D, 0xC9, 0x6B, 0xE1, 0x7A, + 0x88, 0x76, 0x0F, 0x3C, 0xE0, 0x14, 0x40, 0xA4, 0x42, 0x6F, 0x3E, 0xDA, 0x6C, 0x56, 0xE3, 0x2C, + 0x17, 0x2A, 0x00, 0xAD, 0xE4, 0x68, 0xA2, 0x1A, 0xA9, 0xD8, 0x3C, 0x96, 0xD2, 0x1F, 0x4C, 0x9B, + 0x98, 0x1E, 0x34, 0x7B, 0x9A, 0x60, 0x1E, 0x20, 0x7A, 0xF4, 0x28, 0x9E, 0x3B, 0x07, 0x25, 0x0D, + 0xA6, 0x0B, 0xAA, 0x03, 0xBE, 0xD1, 0x98, 0x1F, 0xBC, 0xBD, 0x47, 0x89, 0x44, 0xEB, 0xA7, 0x85, + 0x9C, 0xE5, 0x23, 0x07, 0x8C, 0xE5, 0x43, 0xDD, 0xC5, 0x35, 0x99, 0x80, 0x3F, 0xB3, 0x2C, 0xF8, + 0x21, 0xC2, 0xD8, 0x67, 0xEF, 0x04, 0xDE, 0x89, 0x9A, 0x5C, 0xD9, 0x00, 0x69, 0x8D, 0x66, 0x3C, + 0x9B, 0x56, 0x57, 0x41, 0x53, 0xC1, 0xF6, 0x12, 0x37, 0xA9, 0xEB, 0x3C, 0x96, 0x70, 0x4E, 0x4F, + 0xF3, 0xEC, 0x18, 0x3D, 0x75, 0x9A, 0xDB, 0x75, 0x63, 0x8B, 0x08, 0x83, 0x99, 0xF9, 0x16, 0x0E, + 0x46, 0x60, 0xC7, 0x94, 0xD7, 0x62, 0x0D, 0x1C, 0x39, 0xB3, 0x19, 0xAB, 0x1C, 0xF6, 0xB3, 0x3A, + 0x60, 0x92, 0x49, 0x12, 0x98, 0xCD, 0x25, 0xB6, 0xFB, 0x40, 0xD0, 0xA2, 0x45, 0x3B, 0x0A, 0xDD, + 0x18, 0x83, 0xD5, 0x01, 0x85, 0x3C, 0x08, 0x3B, 0x99, 0xF9, 0xA8, 0x6F, 0x1B, 0x51, 0x99, 0x03, + 0xAE, 0x8E, 0xC6, 0x8D, 0xC4, 0xFE, 0x4F, 0x12, 0xBD, 0x39, 0x04, 0x0F, 0x61, 0x09, 0xC5, 0x70, + 0x5F, 0x34, 0x8F, 0x9A, 0xB6, 0xF3, 0x63, 0xB0, 0x9C, 0xA8, 0x84, 0x9B, 0x83, 0x39, 0xB2, 0xF6, + 0xE3, 0x79, 0x39, 0x1D, 0xE6, 0x84, 0xD8, 0xDD, 0xC1, 0x95, 0xD3, 0x70, 0x6C, 0x26, 0xA3, 0x89, + 0x33, 0x68, 0x99, 0x67, 0x2A, 0x5D, 0x73, 0xB6, 0x22, 0x67, 0x51, 0x68, 0x2C, 0xE5, 0xFD, 0x31, + 0xB9, 0xBF, 0xDF, 0x3E, 0x3D, 0x1B, 0x8E, 0x8E, 0xFA, 0x83, 0xDE, 0x17, 0x27, 0xC7, 0x47, 0xDB, + 0x82, 0x1B, 0x4D, 0x50, 0xCB, 0x2B, 0x3B, 0xC5, 0x70, 0x91, 0x43, 0x2E, 0x9F, 0xDE, 0x59, 0xD4, + 0x51, 0x2F, 0x9C, 0x15, 0x06, 0xA4, 0x42, 0x88, 0x0E, 0x7F, 0x44, 0xB4, 0xA9, 0x2F, 0x31, 0x9F, + 0xB5, 0xE3, 0x22, 0x86, 0x94, 0xE5, 0xC6, 0x48, 0xDB, 0xBA, 0x79, 0xB8, 0x18, 0x1C, 0x9F, 0x8F, + 0x6C, 0x48, 0x10, 0x73, 0x6A, 0x3F, 0x6F, 0x66, 0x1A, 0x42, 0xCD, 0xDC, 0x20, 0x1C, 0x38, 0xB6, + 0x2E, 0xAB, 0x15, 0xC3, 0x39, 0x68, 0x16, 0x6C, 0x31, 0xEA, 0x26, 0xF9, 0x59, 0x83, 0x19, 0x68, + 0x98, 0x49, 0x12, 0xE8, 0x7D, 0xD6, 0x2C, 0xEC, 0xDD, 0x37, 0x1A, 0x19, 0xB6, 0xEF, 0x0A, 0x4F, + 0x67, 0x2D, 0xA9, 0x21, 0x9C, 0xDB, 0x60, 0x47, 0xFA, 0xB0, 0xED, 0xD1, 0xC5, 0x22, 0x11, 0xDB, + 0x23, 0x2C, 0x88, 0x4B, 0x4B, 0xF4, 0x35, 0xEF, 0xBF, 0x49, 0x0A, 0x3D, 0x20, 0x3B, 0x68, 0xEA, + 0x3B, 0x43, 0x4B, 0x42, 0x1D, 0x04, 0xAA, 0x80, 0xA2, 0xD6, 0x3B, 0x2D, 0x01, 0x42, 0x6E, 0xB6, + 0xDC, 0x01, 0x3C, 0xD6, 0xE6, 0x6A, 0x9E, 0x27, 0x40, 0xFD, 0x1D, 0xF7, 0x55, 0x82, 0x2E, 0x44, + 0x14, 0x66, 0x3C, 0x3F, 0xF2, 0xE6, 0x4A, 0xA0, 0x3A, 0x96, 0x43, 0x97, 0xB6, 0x4D, 0x60, 0x6A, + 0xBB, 0xCD, 0x52, 0x7C, 0xBB, 0x78, 0x99, 0xDB, 0x2D, 0x0B, 0x49, 0xAB, 0x1C, 0x87, 0x01, 0xE6, + 0x38, 0x98, 0xC4, 0x76, 0x93, 0xDB, 0xAD, 0x52, 0xDC, 0xF3, 0xCC, 0x16, 0xDA, 0x8D, 0x7B, 0x83, + 0x8B, 0xFE, 0x51, 0x6B, 0xB1, 0x95, 0x02, 0x0A, 0x47, 0xFD, 0x4D, 0xD9, 0xF8, 0xB7, 0xB2, 0x88, + 0xE0, 0xA2, 0x54, 0xC9, 0xE6, 0xD8, 0xD3, 0x27, 0x52, 0x45, 0x03, 0x1E, 0xEE, 0xF0, 0x23, 0x4C, + 0x4C, 0x1A, 0x16, 0x25, 0xDD, 0xB4, 0x23, 0xB2, 0x02, 0x94, 0xCE, 0x3E, 0x60, 0xA3, 0x70, 0x02, + 0x41, 0x87, 0x1E, 0xF1, 0x81, 0x94, 0x06, 0xC3, 0xBB, 0xC3, 0xD6, 0xA0, 0x06, 0x7E, 0x3D, 0xCC, + 0x27, 0xD8, 0x32, 0x58, 0x02, 0x25, 0x12, 0x74, 0x4B, 0x0C, 0x93, 0xC3, 0x08, 0x26, 0xC0, 0xE3, + 0x2B, 0x99, 0xD2, 0xEF, 0x57, 0x6F, 0xF3, 0xE4, 0x2E, 0xD2, 0x04, 0x05, 0x8F, 0x5A, 0x4E, 0x29, + 0x28, 0x8A, 0x78, 0x80, 0xBC, 0x06, 0x44, 0x32, 0x39, 0xAC, 0x4B, 0xAF, 0xFB, 0x47, 0xEA, 0x0D, + 0x14, 0x86, 0x2F, 0x11, 0x0F, 0x87, 0x26, 0x5C, 0x42, 0x26, 0x50, 0x22, 0x57, 0x9C, 0xD2, 0x4F, + 0x28, 0xFA, 0x0F, 0x4D, 0x54, 0xDA, 0xB3, 0xB2, 0x7B, 0x38, 0xBF, 0x54, 0xB6, 0xC2, 0x21, 0x89, + 0x0C, 0x2A, 0x14, 0x57, 0xAA, 0x20, 0x4D, 0x66, 0xA3, 0x65, 0x1A, 0x8F, 0x04, 0xAC, 0x2A, 0xCC, + 0x34, 0x42, 0x1F, 0x93, 0x40, 0x82, 0x82, 0xAE, 0x53, 0xDA, 0x04, 0x00, 0x2C, 0xEE, 0x4D, 0x0B, + 0x95, 0xFF, 0x7F, 0x27, 0x85, 0xBA, 0xB9, 0xCA, 0x4B, 0x5D, 0x44, 0x21, 0x0A, 0xCB, 0x00, 0xCD, + 0xE6, 0x14, 0xFC, 0x7F, 0x42, 0x45, 0x04, 0x51, 0xE7, 0x62, 0xF2, 0x86, 0x44, 0xF2, 0x03, 0xF6, + 0xCA, 0x35, 0xD0, 0x9E, 0x68, 0xC7, 0x6C, 0x89, 0x7F, 0x7F, 0x2E, 0x0E, 0xCC, 0x00, 0x8D, 0x7B, + 0x92, 0xA1, 0x85, 0x1A, 0x27, 0x44, 0x3A, 0x54, 0x42, 0xA6, 0xF4, 0xB1, 0x13, 0x36, 0x04, 0xC6, + 0x11, 0xAF, 0x15, 0xBC, 0x79, 0x3A, 0x2D, 0x44, 0x68, 0x6A, 0x02, 0xF3, 0x22, 0x4C, 0xB1, 0xA8, + 0x15, 0xA5, 0x8A, 0x11, 0xD4, 0x1C, 0x29, 0x50, 0xE5, 0xAA, 0xAC, 0xF8, 0x5C, 0x1E, 0x12, 0x51, + 0x98, 0x0B, 0x7A, 0xA9, 0xFA, 0x27, 0x68, 0x69, 0x90, 0x1E, 0x9E, 0xF4, 0xD9, 0xE0, 0xE8, 0x5B, + 0x2D, 0x0B, 0xBD, 0x0A, 0x96, 0xDF, 0xB2, 0x12, 0x27, 0x62, 0x44, 0x2D, 0x49, 0x8E, 0x3A, 0xE9, + 0x92, 0x12, 0x94, 0xD2, 0xC8, 0x48, 0x1D, 0xE0, 0x55, 0x85, 0xA2, 0x9A, 0xCE, 0x8D, 0x5F, 0xF1, + 0x3D, 0xD0, 0x22, 0xDB, 0x90, 0x56, 0xEA, 0xD1, 0x2F, 0xA0, 0x04, 0xF4, 0x06, 0x16, 0x2F, 0x75, + 0x14, 0x49, 0x07, 0xD2, 0xD4, 0x4E, 0x14, 0x56, 0x11, 0x2E, 0x59, 0xF2, 0xAC, 0x90, 0x19, 0x13, + 0xD1, 0x24, 0xFB, 0x06, 0x8A, 0x3A, 0xDD, 0xBA, 0x15, 0x08, 0x50, 0x13, 0x6A, 0xCF, 0x09, 0x00, + 0xB2, 0xA4, 0x2F, 0x9C, 0x01, 0x1F, 0x7A, 0x40, 0x23, 0x1C, 0xE8, 0xE5, 0xE2, 0x37, 0xAD, 0x69, + 0x12, 0x98, 0x7A, 0xDE, 0xD5, 0x43, 0xD0, 0xBA, 0xE2, 0x4D, 0xBC, 0xA5, 0x26, 0xAA, 0x6A, 0xCC, + 0x30, 0x67, 0x0C, 0x1D, 0x71, 0x32, 0xC1, 0xF6, 0x34, 0xEB, 0xA8, 0x21, 0x6B, 0x63, 0x32, 0x59, + 0x5B, 0x7D, 0x55, 0x0E, 0x98, 0xF4, 0x65, 0xA5, 0xF3, 0x28, 0xC7, 0x26, 0x24, 0x53, 0x11, 0x2B, + 0x84, 0xDA, 0x24, 0xC2, 0x1A, 0x55, 0x97, 0xCD, 0xCB, 0xAE, 0xD5, 0xC2, 0x42, 0x82, 0x8D, 0x71, + 0xFF, 0x8E, 0x06, 0x7F, 0x01, 0xE7, 0x66, 0xE6, 0xCC, 0x26, 0x2D, 0x3C, 0x67, 0x47, 0xEC, 0x8C, + 0x37, 0x1A, 0x0E, 0x81, 0x2F, 0x8C, 0x47, 0x09, 0x11, 0x93, 0x53, 0x72, 0x97, 0xC5, 0x54, 0xD0, + 0x25, 0xDD, 0x3A, 0x0F, 0x4C, 0xCB, 0x33, 0x0F, 0x25, 0x51, 0xA6, 0x76, 0x8C, 0x6A, 0x30, 0x35, + 0x87, 0x8D, 0x4C, 0x2B, 0xC0, 0x76, 0x51, 0xA4, 0x2E, 0xE9, 0x96, 0xC0, 0x15, 0x14, 0xBB, 0xB8, + 0xBB, 0x83, 0x9B, 0xD8, 0x18, 0xF0, 0xA9, 0x84, 0xD8, 0x32, 0x4D, 0x6A, 0xD1, 0x49, 0x17, 0x40, + 0x3D, 0x5A, 0xE4, 0x70, 0x13, 0xCC, 0x6A, 0x27, 0x32, 0xA9, 0xA8, 0x5E, 0x2F, 0x2A, 0xFD, 0xA2, + 0x15, 0x89, 0xA2, 0xE3, 0x82, 0x5A, 0x08, 0xA1, 0xA9, 0x0A, 0x44, 0xE9, 0x66, 0x01, 0x6E, 0x67, + 0x79, 0xD6, 0xEB, 0x5D, 0x74, 0x87, 0x22, 0x33, 0xC5, 0x26, 0xDD, 0x19, 0xFE, 0x8F, 0x57, 0xE9, + 0x40, 0xF6, 0xC7, 0x94, 0x8B, 0x95, 0xDB, 0x23, 0x2E, 0xD0, 0x4E, 0xA7, 0xC6, 0x55, 0x2A, 0xE8, + 0x2D, 0x74, 0x0A, 0x9F, 0xD6, 0x0C, 0x55, 0x31, 0x5F, 0xE4, 0x7E, 0x4A, 0xD9, 0x76, 0x74, 0x42, + 0x72, 0x4F, 0xF7, 0x4B, 0x96, 0x42, 0x81, 0xEE, 0x52, 0xCF, 0x59, 0xAF, 0x94, 0x66, 0x29, 0x51, + 0x52, 0xA1, 0x0F, 0xA9, 0x3C, 0x2A, 0x37, 0x6A, 0x40, 0x4D, 0xB5, 0x6F, 0x6D, 0xE9, 0x9A, 0xC7, + 0x16, 0xA3, 0x18, 0xC1, 0x82, 0x67, 0x3C, 0x11, 0x53, 0x5F, 0x29, 0xFD, 0x90, 0xB2, 0x9F, 0xE9, + 0xB2, 0x42, 0x73, 0xA2, 0xBA, 0x2E, 0x40, 0x78, 0x0A, 0xEB, 0xBF, 0xB8, 0x08, 0xA5, 0x53, 0x47, + 0x40, 0x70, 0x01, 0x8D, 0xDB, 0x9F, 0x0C, 0x48, 0x6D, 0xC7, 0x48, 0x13, 0xA4, 0xA3, 0x8A, 0x8D, + 0x97, 0x2F, 0x10, 0xF6, 0x87, 0xC4, 0xB8, 0x44, 0x7C, 0x79, 0x70, 0x3C, 0x18, 0xC0, 0xBD, 0x45, + 0xA3, 0xC3, 0xB3, 0xB3, 0x6F, 0xFB, 0xC7, 0xA3, 0xA3, 0x8B, 0xF3, 0xDE, 0x10, 0xFE, 0xDE, 0xB9, + 0x4F, 0x28, 0xB9, 0x66, 0xD6, 0xCC, 0x4C, 0xAD, 0x1F, 0x6F, 0x9B, 0x2A, 0xDB, 0x06, 0x13, 0xF4, + 0x2F, 0x2F, 0xB7, 0x75, 0x07, 0xF3, 0xF8, 0x45, 0xB7, 0xB2, 0xC1, 0xAE, 0x80, 0xBF, 0xA9, 0xF4, + 0x56, 0x42, 0x37, 0xD6, 0x3C, 0x2C, 0xBD, 0x85, 0x15, 0x17, 0xEC, 0xD8, 0x7C, 0x73, 0x00, 0xC7, + 0x99, 0xF1, 0x1A, 0x5B, 0xF5, 0x78, 0xD5, 0xB8, 0x2E, 0xDC, 0x7F, 0x4B, 0x4D, 0x6E, 0xB3, 0x79, + 0x73, 0x38, 0xF7, 0x0F, 0xD7, 0xE7, 0x3A, 0xB4, 0xD4, 0x54, 0xE9, 0x3A, 0xEF, 0x5F, 0xD7, 0xEA, + 0xAE, 0xAF, 0xD5, 0x75, 0xAD, 0xED, 0x9D, 0x2A, 0x76, 0xE5, 0xBD, 0x05, 0xD2, 0x4F, 0xCD, 0x97, + 0xE4, 0xCC, 0x5E, 0xC6, 0x99, 0xAE, 0x85, 0x14, 0x4C, 0x9E, 0xA5, 0xD9, 0xAF, 0xE8, 0x67, 0x68, + 0xDF, 0x1B, 0xC6, 0x41, 0xA7, 0x03, 0xB0, 0xD9, 0xD1, 0x31, 0x0A, 0x09, 0x53, 0xF4, 0x74, 0x02, + 0x16, 0x32, 0x4B, 0x40, 0x41, 0xC3, 0x91, 0xA1, 0x89, 0xC3, 0x4D, 0x4F, 0x18, 0xB9, 0x35, 0x86, + 0x77, 0x43, 0xFC, 0xD3, 0x84, 0x0A, 0x88, 0xBE, 0xE8, 0x01, 0xC5, 0x94, 0x14, 0x00, 0x30, 0x83, + 0x4B, 0x4B, 0xB1, 0xA5, 0x12, 0xA3, 0x0C, 0xEC, 0x48, 0x8F, 0x86, 0x81, 0xAC, 0x1F, 0xC8, 0x41, + 0x80, 0x49, 0x89, 0x83, 0x87, 0x84, 0x2B, 0x97, 0x17, 0x61, 0x78, 0x63, 0xC7, 0x06, 0xCA, 0x9D, + 0x12, 0xE7, 0x4E, 0xF0, 0x97, 0x90, 0x53, 0x2F, 0x7B, 0x90, 0xC6, 0x66, 0x28, 0x52, 0x09, 0xBF, + 0x97, 0x54, 0x62, 0x94, 0x5F, 0xC2, 0x0E, 0x01, 0xAF, 0x2D, 0x50, 0x9B, 0x03, 0x3B, 0x2C, 0x09, + 0x27, 0x27, 0x15, 0xD6, 0xAF, 0xA0, 0x5D, 0x25, 0x0B, 0x42, 0x20, 0xC4, 0x30, 0x71, 0x99, 0xC9, + 0xAC, 0x49, 0x93, 0x39, 0x4F, 0x7C, 0x41, 0xE8, 0x40, 0xDC, 0xAA, 0x71, 0x74, 0x7F, 0x9F, 0x4D, + 0xCD, 0x90, 0x27, 0x2E, 0x04, 0x7B, 0xA3, 0x19, 0x53, 0xB3, 0xFA, 0x9D, 0xEC, 0x7B, 0x8E, 0x5D, + 0x4F, 0xA0, 0x67, 0x58, 0x57, 0xDA, 0x0D, 0xB9, 0x7E, 0x97, 0x0D, 0x0C, 0xC4, 0x7F, 0xA9, 0xAA, + 0x40, 0xCC, 0x27, 0xA2, 0xE8, 0x6C, 0x7F, 0xD7, 0x1B, 0x0C, 0xBE, 0x3F, 0x3B, 0x3F, 0x02, 0x2D, + 0x1A, 0x1C, 0x0F, 0xB7, 0xBB, 0xAC, 0x11, 0xD1, 0xA3, 0xE9, 0x14, 0x3D, 0x75, 0x4C, 0xFD, 0x7F, + 0x46, 0xAF, 0xAA, 0xDC, 0x76, 0x75, 0x5E, 0x2B, 0xD2, 0xBD, 0x15, 0x29, 0x94, 0x91, 0xBB, 0x29, + 0x13, 0xC9, 0xF9, 0x0B, 0xAB, 0xFB, 0x93, 0x29, 0xD4, 0x8B, 0xE3, 0xF3, 0xFE, 0x97, 0x3F, 0x8C, + 0x8E, 0x9F, 0xF7, 0xFA, 0x27, 0x4F, 0xA8, 0x4E, 0xF8, 0x27, 0xDD, 0x85, 0xB4, 0x9B, 0xFE, 0x77, + 0xD4, 0x09, 0xC7, 0x43, 0x49, 0x75, 0x59, 0x0B, 0x55, 0x6A, 0xD0, 0x24, 0x13, 0x36, 0xFC, 0x3F, + 0x6B, 0x92, 0x90, 0x8C, 0x3B, 0x2A, 0xD1, 0x40, 0x5F, 0xAD, 0x45, 0x52, 0xFE, 0x64, 0x2A, 0x44, + 0xBA, 0x33, 0x1A, 0xF4, 0xBF, 0x3A, 0xED, 0x9F, 0xDE, 0x4B, 0x85, 0x84, 0xA8, 0x3A, 0x01, 0x76, + 0x73, 0x3A, 0xA9, 0x8A, 0xA0, 0x98, 0xB8, 0x62, 0x73, 0x49, 0xF3, 0xA2, 0x4B, 0xA1, 0xA8, 0x8F, + 0xA8, 0xB3, 0xD1, 0x2A, 0x50, 0x1B, 0x04, 0xF7, 0xE1, 0xAC, 0x0B, 0x87, 0x9B, 0x50, 0x78, 0x93, + 0x36, 0xE0, 0x0C, 0xA8, 0xBA, 0xB5, 0x43, 0x82, 0xF7, 0x25, 0xD1, 0xE0, 0x84, 0x94, 0x7D, 0x94, + 0x92, 0x4E, 0x40, 0x46, 0x37, 0x39, 0xAD, 0x9A, 0xC5, 0x05, 0xCB, 0x05, 0x5C, 0xF0, 0xB2, 0x16, + 0xA1, 0x8D, 0x04, 0x49, 0x0E, 0x06, 0x03, 0xB6, 0xE5, 0x76, 0xCE, 0x79, 0xE5, 0x72, 0x4F, 0xAA, + 0x1D, 0x45, 0x25, 0x37, 0x07, 0x6B, 0x67, 0x01, 0x81, 0x6E, 0xD0, 0x56, 0x72, 0xC1, 0xDF, 0xB7, + 0x01, 0x00, 0xD8, 0x45, 0x9A, 0xF4, 0x21, 0xD3, 0xC5, 0x54, 0x4F, 0xC0, 0xE1, 0xBB, 0x0B, 0xB8, + 0xF1, 0x38, 0xA7, 0x69, 0xA4, 0x32, 0xB6, 0xF7, 0xF8, 0x45, 0x04, 0x1E, 0x61, 0xFB, 0xFE, 0x83, + 0x97, 0x53, 0x25, 0x20, 0x62, 0x6E, 0x86, 0xF9, 0xDE, 0x85, 0xCD, 0xD1, 0x18, 0x84, 0xD8, 0xE2, + 0xDE, 0xB6, 0x53, 0xB8, 0xB0, 0x5D, 0x9B, 0xA9, 0x17, 0x56, 0x1C, 0x78, 0x75, 0x0F, 0x0F, 0xA9, + 0x27, 0x70, 0x37, 0xE4, 0x4A, 0x1F, 0xDE, 0x7A, 0x4B, 0xA9, 0x46, 0x04, 0x83, 0x90, 0x19, 0xDF, + 0xB0, 0x37, 0x1F, 0xEB, 0x14, 0xEF, 0x96, 0x16, 0x08, 0x27, 0xFD, 0x8C, 0x2E, 0x58, 0x4D, 0x16, + 0x92, 0xEF, 0x1D, 0x05, 0xD9, 0x2E, 0xDA, 0x51, 0xCF, 0xBC, 0xE2, 0x9D, 0xFB, 0x14, 0xF0, 0xA8, + 0x22, 0x9E, 0xB5, 0xE2, 0xD6, 0x54, 0xD6, 0x63, 0x84, 0xDF, 0xD3, 0x17, 0x53, 0xE4, 0xB3, 0xA6, + 0xD0, 0xC7, 0x47, 0xE6, 0xD5, 0xFC, 0x9C, 0xF5, 0x8F, 0x0E, 0x05, 0xBC, 0x00, 0xA7, 0x99, 0xD1, + 0x3C, 0xB6, 0xB9, 0x55, 0x57, 0x01, 0x24, 0x60, 0xFB, 0xF9, 0xAB, 0xEB, 0xC5, 0xDF, 0x54, 0x04, + 0xB9, 0x97, 0x23, 0x47, 0x86, 0x26, 0x1F, 0xEE, 0xCE, 0xB3, 0x8D, 0xF5, 0x9D, 0x2F, 0x59, 0xC1, + 0x8D, 0x7C, 0xF9, 0xB6, 0xA8, 0xD9, 0xFE, 0x04, 0x95, 0x4C, 0x4D, 0xB7, 0x9C, 0x6E, 0x96, 0x77, + 0x38, 0x80, 0x99, 0xDD, 0x47, 0xDE, 0xFB, 0xD9, 0x25, 0xE6, 0xD5, 0x0F, 0xA0, 0xFB, 0xFF, 0x5E, + 0xE4, 0x07, 0xBD, 0xE7, 0x27, 0x1B, 0x45, 0x3E, 0x35, 0x0C, 0x7B, 0x22, 0xA9, 0x47, 0xB2, 0xFE, + 0x77, 0x52, 0xFF, 0xB2, 0xCE, 0x67, 0xAC, 0xFC, 0xFF, 0xAD, 0x26, 0x57, 0x8B, 0xD4, 0x6A, 0x4B, + 0x95, 0x03, 0xA8, 0x8F, 0x4E, 0x6C, 0xA1, 0x8A, 0x6D, 0xB1, 0x1C, 0x7E, 0xC3, 0xC5, 0x65, 0x6B, + 0x7B, 0x67, 0xF3, 0xC5, 0x56, 0xF2, 0xA6, 0xF5, 0x06, 0x7E, 0xE3, 0xBE, 0xA1, 0x7F, 0x74, 0xF7, + 0x6D, 0x55, 0x2D, 0xB4, 0xF0, 0x38, 0xC4, 0x69, 0x0B, 0x88, 0x36, 0xA7, 0x49, 0xA8, 0x9D, 0x98, + 0x75, 0x2B, 0x01, 0x1B, 0x7A, 0x40, 0x42, 0x2C, 0x21, 0x45, 0x46, 0x79, 0x9B, 0x1D, 0xD1, 0x90, + 0xF9, 0x9F, 0xDE, 0xBE, 0xB1, 0x71, 0x3B, 0xE2, 0xB9, 0x86, 0x8E, 0x9B, 0x67, 0xA8, 0xF6, 0x8B, + 0x4C, 0x9A, 0x56, 0x11, 0xE7, 0x8A, 0x08, 0xBB, 0xFF, 0x1D, 0x0D, 0xE9, 0x94, 0x7B, 0x7E, 0x83, + 0x05, 0xEB, 0x61, 0x86, 0x52, 0x22, 0x5E, 0xB7, 0x14, 0xEA, 0xFE, 0xAD, 0xF4, 0x4A, 0xAF, 0x26, + 0xA1, 0x8D, 0x79, 0x74, 0x9E, 0x58, 0x6B, 0xCB, 0x53, 0xB1, 0x05, 0xC7, 0x71, 0x1F, 0xB6, 0xBC, + 0x2C, 0x73, 0xF3, 0xDD, 0xF9, 0xD9, 0x8B, 0xFE, 0x11, 0xA4, 0xDD, 0xF7, 0x8F, 0x76, 0x5A, 0x55, + 0xD3, 0xDD, 0x57, 0xB7, 0x31, 0x8E, 0x70, 0x27, 0xC5, 0xBE, 0xAF, 0x5E, 0x3F, 0xB0, 0x5A, 0x4E, + 0x67, 0x16, 0xB5, 0x3A, 0xD8, 0x13, 0xC8, 0x5E, 0x49, 0x9D, 0x17, 0xA4, 0x35, 0xAA, 0xFD, 0x3F, + 0xAB, 0x7C, 0x82, 0x38, 0x4B, 0xFF, 0xDA, 0xD1, 0xF7, 0x8F, 0x6A, 0x41, 0xEB, 0xE5, 0x4F, 0x24, + 0xD7, 0x27, 0x2C, 0x5C, 0x41, 0x28, 0x8F, 0xAD, 0xB5, 0x1A, 0x49, 0xC4, 0xEB, 0x56, 0x4A, 0x3C, + 0x10, 0xD3, 0xF8, 0xC2, 0xD4, 0x2C, 0x07, 0xFA, 0xC6, 0xBC, 0xA6, 0x47, 0x50, 0xBE, 0xB5, 0xD5, + 0x19, 0x36, 0x3F, 0x54, 0xA5, 0x86, 0x22, 0x5E, 0xF2, 0x67, 0xA8, 0xD8, 0xE7, 0xD1, 0x7E, 0xC7, + 0x75, 0x7A, 0x73, 0xA4, 0x48, 0x22, 0x09, 0xE7, 0xA1, 0xDD, 0x81, 0x3E, 0x76, 0x6F, 0xA9, 0xF7, + 0x5D, 0x77, 0x88, 0xA0, 0x28, 0x6D, 0x53, 0x8D, 0x9C, 0x7E, 0x4F, 0x96, 0x20, 0x04, 0x9F, 0x36, + 0xFB, 0xB2, 0xFF, 0x15, 0xB8, 0x9F, 0x72, 0x8A, 0x50, 0xC2, 0x00, 0x03, 0x85, 0xE0, 0xB7, 0x1A, + 0x27, 0x72, 0xCB, 0x63, 0xE0, 0xB6, 0x93, 0x50, 0xF4, 0xA4, 0x86, 0x0F, 0xD9, 0xE6, 0x1B, 0xBE, + 0xE6, 0xF9, 0x78, 0x49, 0xEB, 0xFC, 0x2B, 0xEF, 0xFE, 0x20, 0x13, 0x1C, 0x0B, 0xFC, 0x0F, 0x31, + 0xEA, 0x5F, 0xE9, 0x10, 0xB5, 0x5E, 0x0A, 0xF4, 0x25, 0x1B, 0x1B, 0x17, 0x04, 0x68, 0xD9, 0x60, + 0x8C, 0xCC, 0xED, 0x03, 0xFA, 0x0A, 0x90, 0xCD, 0x31, 0xF9, 0x5B, 0x65, 0x94, 0x87, 0x8D, 0x8B, + 0x8D, 0xB9, 0x94, 0xE1, 0xB1, 0x8D, 0x2B, 0x40, 0x7D, 0x88, 0x71, 0x85, 0xEE, 0xEB, 0x8D, 0xEB, + 0xF8, 0xAE, 0x96, 0x74, 0xFC, 0x0A, 0x99, 0xD0, 0x90, 0xA5, 0x8F, 0x6E, 0x3B, 0xC7, 0xE2, 0xD9, + 0xFD, 0x8D, 0x03, 0xCC, 0x40, 0x68, 0x42, 0xC7, 0x2F, 0xD3, 0x0C, 0x3C, 0x91, 0xBD, 0x7C, 0x24, + 0xCE, 0x58, 0x66, 0xF3, 0x29, 0x98, 0xF3, 0xAF, 0xB4, 0x91, 0x3A, 0x91, 0x17, 0x38, 0xA0, 0xB2, + 0xF0, 0x74, 0x4A, 0xAF, 0xAC, 0x5C, 0xC3, 0x44, 0x7D, 0x99, 0x66, 0xAA, 0x33, 0xFD, 0x36, 0x19, + 0x57, 0x09, 0x5F, 0x58, 0x1B, 0x03, 0x5B, 0x65, 0xF5, 0x9B, 0xAC, 0x74, 0x93, 0xFE, 0x6B, 0xE7, + 0xFD, 0x8A, 0x7E, 0xA6, 0x72, 0x4D, 0x25, 0xC6, 0x4E, 0x04, 0x01, 0xCD, 0x5B, 0x54, 0x37, 0x81, + 0xF4, 0x56, 0x27, 0x16, 0xBA, 0x5F, 0x9C, 0xD9, 0x2E, 0x3D, 0x7A, 0x02, 0x5B, 0xAD, 0xEB, 0xB5, + 0x6F, 0x2D, 0x2A, 0xF4, 0x43, 0x82, 0x13, 0x52, 0x87, 0x6F, 0xAA, 0x5C, 0x5E, 0x74, 0x00, 0x8F, + 0x4D, 0x0B, 0xF7, 0x48, 0xBE, 0xE2, 0x24, 0x67, 0xAF, 0x74, 0x1A, 0x6C, 0x5D, 0x52, 0xA5, 0x6D, + 0xDE, 0xFD, 0x04, 0xCB, 0x3A, 0x36, 0xB9, 0x29, 0xFF, 0x78, 0xB5, 0xB9, 0xCA, 0xFC, 0xC6, 0x45, + 0x40, 0x12, 0x4D, 0xC7, 0xD8, 0xBA, 0x4C, 0x33, 0x2C, 0x43, 0x8E, 0x7C, 0x45, 0xB1, 0x4B, 0x8F, + 0x3D, 0x2A, 0x22, 0xF8, 0xCE, 0xD6, 0xFA, 0x64, 0x57, 0x84, 0x18, 0x9E, 0xD7, 0x8A, 0x34, 0xEB, + 0x26, 0xE2, 0x4C, 0xD4, 0xBA, 0x2B, 0x9A, 0x78, 0xCA, 0x10, 0x9E, 0x88, 0x12, 0xDD, 0x02, 0xDA, + 0x0B, 0x04, 0xD6, 0x43, 0x58, 0x43, 0x00, 0xE5, 0xA3, 0x36, 0x9C, 0x71, 0xBE, 0x5F, 0xE4, 0x95, + 0xD9, 0x49, 0x2A, 0x32, 0x90, 0x56, 0x71, 0x0C, 0x81, 0x52, 0x36, 0x87, 0x89, 0x07, 0x81, 0x80, + 0x27, 0x50, 0xDA, 0x74, 0x31, 0x3C, 0xAC, 0x3D, 0xE0, 0x20, 0x40, 0x88, 0xF8, 0xA2, 0x1A, 0xC3, + 0xEC, 0x79, 0xDC, 0x22, 0xFB, 0x45, 0xB0, 0xDF, 0xA6, 0x32, 0xBC, 0x67, 0x4D, 0xB4, 0xE1, 0x78, + 0x1A, 0xB9, 0x93, 0x66, 0x2D, 0x69, 0xA1, 0x9E, 0x03, 0x28, 0x7E, 0x11, 0xD4, 0x90, 0x09, 0x3D, + 0x02, 0x3B, 0xBD, 0x86, 0x5D, 0x38, 0xCF, 0xF8, 0x4B, 0x67, 0xA7, 0xFE, 0x54, 0x46, 0xA6, 0x23, + 0xD7, 0xF1, 0x0B, 0x27, 0x29, 0x9F, 0x89, 0xEF, 0x2E, 0xC7, 0x99, 0x24, 0xBB, 0x44, 0xEC, 0x56, + 0xE2, 0x84, 0x3F, 0x71, 0x36, 0xBB, 0x3E, 0x71, 0x09, 0x7E, 0xC8, 0xB5, 0x26, 0x35, 0xBA, 0xB1, + 0xF1, 0x3E, 0x92, 0x5B, 0x5F, 0x46, 0x7B, 0xB3, 0x99, 0xC8, 0xBF, 0x06, 0xA3, 0x7B, 0x99, 0x5F, + 0x8B, 0xA4, 0x1F, 0x63, 0x8A, 0x6D, 0x2B, 0xAB, 0x2A, 0xA4, 0xEE, 0x90, 0x69, 0xBD, 0xE6, 0x3A, + 0x56, 0x71, 0x39, 0x58, 0x5E, 0xE0, 0x97, 0xB8, 0xE1, 0x57, 0x23, 0xA6, 0x8E, 0x5D, 0xB1, 0x2B, + 0x4A, 0x89, 0x02, 0xA8, 0xE6, 0x9A, 0x70, 0xBC, 0x05, 0xE5, 0x0A, 0x72, 0x56, 0x76, 0xC7, 0x69, + 0x31, 0x5E, 0xA6, 0x55, 0x4D, 0x47, 0xBD, 0x46, 0x48, 0x84, 0xE2, 0xAC, 0x83, 0xCB, 0x2F, 0x2B, + 0x46, 0x54, 0xE4, 0x29, 0x51, 0x03, 0xDC, 0xB3, 0xD3, 0x93, 0x1F, 0x20, 0x19, 0x01, 0xF3, 0x8F, + 0xD4, 0x38, 0x4B, 0xB2, 0x87, 0xC4, 0x0E, 0x07, 0x30, 0x1D, 0x19, 0x25, 0x4B, 0xD2, 0x7C, 0xBB, + 0x25, 0xEA, 0x2E, 0xB5, 0xF6, 0x16, 0x11, 0xFC, 0x7A, 0x38, 0x64, 0x08, 0x7D, 0xB5, 0x6F, 0xAE, + 0x64, 0x65, 0x09, 0x56, 0x88, 0x15, 0xF9, 0x52, 0x7D, 0x2B, 0xC0, 0xD8, 0x5F, 0x0C, 0x40, 0xAA, + 0xD5, 0x6A, 0x05, 0xDF, 0x67, 0xC5, 0x94, 0x19, 0xAA, 0xFC, 0x18, 0x2F, 0xE1, 0x33, 0xE7, 0x2B, + 0x52, 0xD7, 0x4B, 0xF0, 0x43, 0x7E, 0xD5, 0x6F, 0x41, 0x53, 0x14, 0x26, 0x43, 0x58, 0xC4, 0x8E, + 0xD4, 0xC5, 0x02, 0xA5, 0xBE, 0xED, 0x05, 0x9E, 0x14, 0x0C, 0xD3, 0x26, 0xEC, 0xCF, 0x14, 0x74, + 0x59, 0x4A, 0x3E, 0xEA, 0x84, 0x96, 0x1A, 0x59, 0x8F, 0x5B, 0x71, 0x7D, 0x45, 0x02, 0xAC, 0x38, + 0xB3, 0x55, 0xB0, 0x2E, 0xAA, 0x96, 0xDA, 0xEA, 0x4B, 0x69, 0xFA, 0xBC, 0x2A, 0x77, 0xA1, 0xCE, + 0x07, 0x56, 0xA2, 0x5D, 0x71, 0x77, 0x89, 0x8D, 0x0A, 0xA9, 0xE5, 0x71, 0x81, 0x1F, 0x2E, 0xA7, + 0xC9, 0x84, 0x8F, 0xAF, 0xAB, 0x89, 0x05, 0xD2, 0xD3, 0x6B, 0xFA, 0x4A, 0x42, 0xB4, 0xE6, 0x12, + 0x82, 0x6F, 0x6E, 0x2A, 0x3B, 0x59, 0x92, 0x44, 0xC8, 0x5B, 0x3F, 0xB8, 0x78, 0x16, 0xEC, 0x0F, + 0xE4, 0x73, 0x3C, 0x9F, 0x7E, 0x73, 0xD3, 0x47, 0x37, 0xEB, 0x8A, 0x15, 0x04, 0x1F, 0x44, 0xE2, + 0x94, 0x16, 0x07, 0x93, 0x2A, 0xA7, 0x25, 0x49, 0x7C, 0x43, 0x3F, 0xFB, 0x05, 0x08, 0xD2, 0x52, + 0xE8, 0x01, 0x43, 0xA1, 0xD4, 0x82, 0x08, 0x1F, 0x5D, 0xB8, 0x4E, 0x8B, 0x3C, 0xC3, 0xFC, 0x23, + 0x34, 0x67, 0xA9, 0x39, 0xC6, 0x0C, 0x4D, 0x81, 0x50, 0xFB, 0xED, 0xA1, 0xC5, 0x52, 0xF8, 0x0D, + 0x09, 0x33, 0x8B, 0x09, 0xEE, 0x2A, 0x89, 0x84, 0x8C, 0x2A, 0xE0, 0x54, 0xBC, 0xAE, 0xE7, 0x98, + 0x32, 0xA3, 0x07, 0xC1, 0x35, 0x62, 0xC6, 0xC6, 0xCF, 0xA6, 0x79, 0x01, 0xD4, 0xCF, 0x81, 0xBF, + 0x8A, 0x7B, 0x9F, 0x85, 0x5F, 0xD6, 0xEC, 0x9D, 0x7C, 0x75, 0x76, 0x0E, 0xDF, 0xC9, 0x7F, 0x3E, + 0x3A, 0x1F, 0xBC, 0xF7, 0xC1, 0x87, 0x6C, 0x1F, 0x32, 0x71, 0xA0, 0xAC, 0x7A, 0x7B, 0xFD, 0x37, + 0x3A, 0x71, 0x36, 0x7B, 0x0A, 0x41, 0x47, 0xA3, 0xDA, 0x79, 0xD6, 0xE2, 0x8B, 0xA1, 0x8D, 0x7D, + 0xC3, 0x2F, 0x12, 0x6B, 0x39, 0x52, 0x1F, 0x23, 0x0E, 0xBF, 0x34, 0x6E, 0x35, 0x41, 0xEB, 0x24, + 0x6A, 0x4A, 0xE5, 0xF7, 0x6C, 0x99, 0xF8, 0x9E, 0xAD, 0xF9, 0x78, 0xB0, 0xF9, 0x1E, 0xB1, 0xF9, + 0x88, 0xF9, 0xC6, 0xCF, 0x12, 0x8F, 0xE0, 0x2B, 0x21, 0xDA, 0x3D, 0x30, 0x5F, 0xE6, 0xEF, 0x78, + 0x20, 0xBA, 0x4C, 0x36, 0x7C, 0x56, 0xF7, 0x11, 0x63, 0xD3, 0xF8, 0x6E, 0xDF, 0x32, 0x56, 0xB7, + 0x8F, 0xA8, 0x8F, 0x1A, 0xE3, 0x4F, 0xB2, 0x36, 0x6A, 0xA3, 0x4E, 0x8C, 0x96, 0xE3, 0xF5, 0xFC, + 0x55, 0xF9, 0x14, 0x43, 0xC2, 0xBE, 0x0F, 0x25, 0x5F, 0x81, 0xCD, 0xBE, 0xC3, 0xE7, 0x7D, 0xCD, + 0x18, 0xCC, 0x57, 0x7E, 0x15, 0x8E, 0x96, 0xB5, 0x4E, 0xAF, 0xE0, 0x27, 0x74, 0x91, 0xA4, 0xC7, + 0xFB, 0x7A, 0xAE, 0x61, 0x88, 0x41, 0xA1, 0x78, 0x21, 0x05, 0x44, 0x64, 0xBE, 0xE1, 0xA3, 0x2E, + 0xCE, 0x26, 0x7D, 0xBE, 0xBF, 0x8E, 0x0B, 0x36, 0xBB, 0x83, 0xCD, 0xAC, 0xC7, 0xFC, 0xF0, 0xCB, + 0xCA, 0x7F, 0xFD, 0xE5, 0xB2, 0x5E, 0x7C, 0x94, 0x3E, 0x8A, 0x13, 0xA8, 0xFC, 0x88, 0x13, 0xB4, + 0x39, 0xE0, 0xC2, 0xE1, 0x35, 0xEF, 0x23, 0x41, 0xC9, 0xB6, 0x82, 0xB5, 0xED, 0x0D, 0x21, 0x2C, + 0xB0, 0x92, 0x8A, 0xFA, 0xFA, 0x1B, 0xAB, 0x0F, 0x2D, 0xF7, 0x7C, 0xFD, 0x8D, 0xD5, 0x97, 0xBD, + 0x91, 0x35, 0x3A, 0xF4, 0x2F, 0xFA, 0xD4, 0xAA, 0x30, 0x13, 0x4D, 0xB4, 0xDA, 0xE6, 0xA3, 0x96, + 0xD4, 0x56, 0x75, 0x9D, 0xF2, 0x3E, 0xA6, 0xD0, 0x53, 0x7A, 0x21, 0xC5, 0xD4, 0x5F, 0x21, 0xCC, + 0x10, 0x3D, 0x18, 0xD1, 0x44, 0x5A, 0xC5, 0x48, 0xF6, 0x78, 0xF3, 0xE0, 0x40, 0x16, 0x62, 0x5A, + 0x6B, 0xC3, 0xA3, 0xDF, 0x56, 0xFC, 0xBC, 0x3F, 0x78, 0xDE, 0x1B, 0x1E, 0x7E, 0x0D, 0x9E, 0xF9, + 0x68, 0x78, 0x7C, 0xDA, 0x3B, 0x1D, 0x62, 0x44, 0xAB, 0x45, 0xE2, 0xAF, 0x43, 0x7C, 0x9B, 0x9D, + 0xCE, 0xEB, 0xBB, 0x35, 0x5E, 0xDF, 0xAD, 0x71, 0xA7, 0xA2, 0x98, 0xFB, 0xDE, 0xAD, 0x61, 0x8C, + 0xD5, 0x4B, 0xBB, 0x62, 0x23, 0x34, 0x5D, 0x35, 0xAA, 0xAF, 0xBF, 0x68, 0x52, 0xCA, 0xCB, 0xC2, + 0x54, 0xFA, 0x25, 0x0C, 0x3B, 0x7A, 0x63, 0xE3, 0x65, 0xBC, 0x03, 0xE2, 0x8F, 0xA4, 0xE9, 0xE9, + 0x2E, 0xC7, 0x50, 0x9F, 0x56, 0x76, 0x0E, 0x60, 0xDA, 0x1E, 0x32, 0xFD, 0xAF, 0x6E, 0x06, 0xD9, + 0xDB, 0xA3, 0x50, 0x06, 0x59, 0x02, 0xB9, 0xFC, 0xDB, 0x6B, 0xB8, 0x4E, 0xD5, 0x95, 0xE5, 0x4A, + 0xF8, 0xAB, 0x59, 0x0D, 0x94, 0x48, 0x98, 0x7B, 0xEA, 0x03, 0xDD, 0xAB, 0x8D, 0xCD, 0xBA, 0x8B, + 0x58, 0xBB, 0xEF, 0x85, 0x2B, 0xEE, 0xD5, 0xAE, 0x8F, 0xEB, 0xD5, 0x83, 0x56, 0x49, 0xE5, 0xDB, + 0xAE, 0x55, 0x8F, 0x56, 0x05, 0xFD, 0xAF, 0x6F, 0x36, 0x79, 0xA0, 0xAB, 0xFB, 0xFA, 0x66, 0x93, + 0x57, 0xDC, 0x13, 0x7E, 0xE5, 0x2F, 0x38, 0x11, 0x5A, 0xBF, 0x9E, 0x6E, 0xDB, 0x37, 0x76, 0xC8, + 0x7E, 0x34, 0x0F, 0xF9, 0x7F, 0xE2, 0xFE, 0xCA, 0xC6, 0x46, 0x68, 0x74, 0x14, 0x4E, 0x85, 0xDB, + 0xEC, 0x68, 0x5C, 0x18, 0x4C, 0x33, 0x4F, 0xDC, 0xD8, 0x1C, 0xFE, 0x41, 0x6E, 0x6D, 0x0A, 0x07, + 0x2E, 0x74, 0x0E, 0xEF, 0x25, 0x24, 0x52, 0x90, 0x39, 0xA2, 0xA6, 0xB2, 0xBC, 0x21, 0x85, 0xA8, + 0x54, 0x0C, 0x87, 0x2D, 0xE8, 0x41, 0x0B, 0xBF, 0x15, 0xE2, 0x3E, 0x55, 0xBA, 0x98, 0xA9, 0x45, + 0xC9, 0x8A, 0xEA, 0xDD, 0x37, 0x94, 0x57, 0x1B, 0xBF, 0x6B, 0x15, 0x8A, 0x03, 0x1B, 0x44, 0xD2, + 0xEE, 0x8C, 0xEC, 0x0E, 0x31, 0x35, 0x15, 0x48, 0xF3, 0x34, 0xE9, 0x9E, 0x21, 0xA3, 0xFA, 0x38, + 0xD1, 0x4E, 0x18, 0x0D, 0x12, 0xF0, 0xF5, 0x25, 0xEC, 0x32, 0xE2, 0x45, 0x39, 0x23, 0xF2, 0x64, + 0xA0, 0xEC, 0xEC, 0xF8, 0xAD, 0x01, 0xD4, 0x08, 0x5A, 0xC2, 0x0F, 0xFF, 0x8D, 0x98, 0x88, 0xE7, + 0xB4, 0x87, 0x29, 0x46, 0x12, 0x9A, 0x78, 0x38, 0x9A, 0x8B, 0xA7, 0x18, 0xD0, 0x32, 0xAD, 0x04, + 0x61, 0x2D, 0xE2, 0x4B, 0xB2, 0x8A, 0x54, 0x54, 0x99, 0xAA, 0xDA, 0xD1, 0x8E, 0x6B, 0xC1, 0xBA, + 0x6C, 0x0B, 0x80, 0x6D, 0x75, 0x35, 0x0B, 0xCD, 0xEC, 0xF9, 0x95, 0xDA, 0x72, 0xD6, 0x40, 0x32, + 0xF2, 0x71, 0x6A, 0x12, 0x6F, 0x11, 0xAB, 0x2B, 0x6D, 0x91, 0xD5, 0x9D, 0x7E, 0xF5, 0x2D, 0xB8, + 0x56, 0xD7, 0xC5, 0xE2, 0x96, 0x0D, 0xEF, 0x05, 0x77, 0x4F, 0xFF, 0x0E, 0xE7, 0x99, 0xFB, 0x6C, + 0xA3, 0xDF, 0xA3, 0x27, 0xC1, 0x52, 0xDB, 0xAE, 0xFE, 0x95, 0x67, 0xE0, 0xB3, 0x17, 0x18, 0xE7, + 0xDF, 0x17, 0x36, 0x54, 0xBF, 0x52, 0x29, 0x4A, 0xE2, 0x25, 0x39, 0x09, 0x82, 0xC3, 0x5A, 0xD4, + 0xCD, 0xB8, 0x86, 0xE6, 0xC3, 0x7A, 0x2E, 0xE1, 0xDB, 0xA5, 0xF2, 0x01, 0xE5, 0x84, 0x46, 0x6A, + 0x00, 0xEE, 0x64, 0xB8, 0xB2, 0xE0, 0x2C, 0x24, 0x75, 0xF5, 0xFA, 0xA1, 0xF4, 0xD4, 0xD9, 0xA1, + 0x75, 0xC6, 0x47, 0xE8, 0xBC, 0x6C, 0xF2, 0x37, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, + 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0xF1, 0x0D, 0x1E, 0x11, 0x9F, 0x02, 0x00, 0x00, 0xCE, 0x05, + 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, + 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, + 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x61, 0x75, 0x74, 0x68, 0x2F, 0x69, 0x64, 0x65, 0x6E, 0x74, + 0x69, 0x66, 0x69, 0x65, 0x72, 0x2E, 0x6A, 0x73, 0x85, 0x53, 0x4D, 0x6F, 0xDA, 0x40, 0x10, 0xBD, + 0xF3, 0x2B, 0xA6, 0xAE, 0x14, 0x25, 0x11, 0xD8, 0x08, 0xF5, 0xD2, 0xA0, 0x1C, 0x68, 0x42, 0x5B, + 0xAB, 0x29, 0x54, 0x01, 0x1A, 0xE5, 0x14, 0xAD, 0xBD, 0x83, 0xD9, 0xD6, 0xDE, 0xDD, 0xEE, 0xAE, + 0xED, 0xA2, 0x28, 0xFF, 0xBD, 0xB3, 0xC6, 0x0D, 0x10, 0xF2, 0xC1, 0x05, 0x31, 0xF3, 0xF6, 0xBD, + 0x37, 0x6F, 0x86, 0xE8, 0xF4, 0x1D, 0x2C, 0x85, 0xC1, 0x84, 0x59, 0xEC, 0x31, 0x5E, 0x08, 0x09, + 0xD5, 0xC7, 0xF0, 0x43, 0x38, 0x80, 0xD3, 0xA8, 0x13, 0x94, 0x16, 0xC1, 0x3A, 0x23, 0x52, 0x17, + 0x0C, 0x3B, 0x04, 0xED, 0xC0, 0x29, 0x5C, 0x28, 0xBD, 0x36, 0x22, 0x5B, 0x39, 0x18, 0xF4, 0x07, + 0x7D, 0xF8, 0xA2, 0x54, 0x96, 0x23, 0xC4, 0x32, 0x0D, 0xA9, 0xEB, 0x01, 0x57, 0x22, 0x45, 0x69, + 0x91, 0x43, 0x29, 0x39, 0x1A, 0x70, 0x2B, 0x84, 0x91, 0x66, 0x29, 0x7D, 0xB5, 0x9D, 0x2E, 0xFC, + 0x44, 0x63, 0x85, 0x92, 0x30, 0x08, 0xFB, 0x70, 0xEC, 0x01, 0x41, 0xDB, 0x0A, 0x4E, 0x86, 0x9E, + 0x62, 0xAD, 0x4A, 0x28, 0xD8, 0x1A, 0xA4, 0x72, 0x40, 0x1E, 0x88, 0x43, 0x58, 0xB2, 0x49, 0x3A, + 0xF8, 0x37, 0x45, 0xED, 0x80, 0x6C, 0xA6, 0xAA, 0xD0, 0xB9, 0x60, 0x32, 0x45, 0xA8, 0x85, 0x5B, + 0x11, 0xE6, 0x51, 0x20, 0xF4, 0x1C, 0xB7, 0x2D, 0x87, 0x4A, 0x1C, 0x23, 0x38, 0xA3, 0x07, 0x9A, + 0x7E, 0x2D, 0x77, 0x81, 0xC0, 0x5C, 0x6B, 0x1A, 0x60, 0xE5, 0x9C, 0x3E, 0x8B, 0xA2, 0xBA, 0xAE, + 0x43, 0xD6, 0xD8, 0x0D, 0x95, 0xC9, 0xA2, 0x7C, 0x03, 0xB4, 0xD1, 0x55, 0x7C, 0x31, 0x9E, 0xCC, + 0xC6, 0x3D, 0xB2, 0xDC, 0x3E, 0x59, 0xC8, 0x1C, 0xAD, 0x05, 0x83, 0x7F, 0x4A, 0x61, 0x68, 0xDC, + 0x64, 0x0D, 0x4C, 0x6B, 0x7A, 0xC0, 0x12, 0x32, 0x9A, 0xB3, 0x1A, 0x94, 0x01, 0x96, 0x19, 0xA4, + 0x9E, 0x53, 0xDE, 0x72, 0x6D, 0x84, 0x13, 0x32, 0xEB, 0x82, 0x55, 0x4B, 0x57, 0x33, 0x83, 0x9E, + 0x86, 0x0B, 0x9F, 0x70, 0x52, 0xBA, 0xFF, 0x89, 0xED, 0x19, 0x14, 0x76, 0x0F, 0xA0, 0x68, 0x10, + 0x09, 0xC1, 0x68, 0x06, 0xF1, 0x2C, 0x80, 0x4F, 0xA3, 0x59, 0x3C, 0xEB, 0x7A, 0x92, 0x9B, 0x78, + 0xFE, 0x75, 0xBA, 0x98, 0xC3, 0xCD, 0xE8, 0xFA, 0x7A, 0x34, 0x99, 0xC7, 0xE3, 0x19, 0x4C, 0xAF, + 0xE1, 0x62, 0x3A, 0xB9, 0x8C, 0xE7, 0xF1, 0x74, 0x42, 0xBF, 0x3E, 0xC3, 0x68, 0x72, 0x0B, 0xDF, + 0xE2, 0xC9, 0x65, 0x17, 0x50, 0x90, 0x84, 0xA1, 0x2C, 0xB5, 0xA1, 0x09, 0xBC, 0x4D, 0xE1, 0xB3, + 0x44, 0xDE, 0x04, 0x37, 0x43, 0xDC, 0xB3, 0xB0, 0x54, 0x1B, 0x4B, 0x56, 0x63, 0x2A, 0x96, 0x22, + 0xA5, 0xD1, 0x64, 0x56, 0xB2, 0x0C, 0x21, 0x53, 0x15, 0x1A, 0x49, 0x13, 0x81, 0x46, 0x53, 0x08, + 0xEB, 0x77, 0x6A, 0xC9, 0x20, 0xF7, 0x34, 0xB9, 0x28, 0x84, 0x63, 0xCE, 0x97, 0x0E, 0xE7, 0xF2, + 0x42, 0x51, 0x67, 0x9A, 0xFC, 0xC2, 0xD4, 0x85, 0x1C, 0x97, 0x42, 0xE2, 0x0F, 0xA3, 0x88, 0xC5, + 0xAD, 0x8F, 0xC9, 0x96, 0x32, 0xCE, 0x76, 0x21, 0xB8, 0xBB, 0x43, 0xFB, 0x5D, 0xF1, 0x32, 0xC7, + 0xA0, 0x0B, 0xF7, 0x50, 0xB1, 0xBC, 0xC4, 0x33, 0x70, 0xA6, 0x44, 0x78, 0xA0, 0x43, 0x69, 0x81, + 0xA1, 0xB0, 0xF4, 0xB6, 0x12, 0x24, 0x11, 0x73, 0x94, 0x8E, 0x3C, 0x92, 0xD8, 0x39, 0xEC, 0xB4, + 0x57, 0x4A, 0xE2, 0x0B, 0xBD, 0x71, 0xC1, 0x44, 0xFE, 0x42, 0x6F, 0x21, 0xF8, 0x5E, 0xA7, 0x52, + 0x82, 0x43, 0x9F, 0xFE, 0x09, 0x9B, 0xFD, 0x5B, 0x2A, 0x36, 0xDE, 0xFD, 0x82, 0xD7, 0x1A, 0x81, + 0x52, 0x31, 0xDC, 0x86, 0x3E, 0x41, 0x02, 0x34, 0x17, 0x65, 0xDB, 0x93, 0xF2, 0x7D, 0x9B, 0x1A, + 0xA1, 0x9D, 0x4F, 0xAF, 0x39, 0x2D, 0xAE, 0x52, 0x1B, 0xAD, 0x28, 0xAD, 0x44, 0xA9, 0xDF, 0x11, + 0xE3, 0x95, 0xBF, 0x65, 0xDE, 0x6B, 0x90, 0xE1, 0xCA, 0x15, 0xF9, 0xFB, 0x92, 0x14, 0x7A, 0x8D, + 0x42, 0x5B, 0xEF, 0x6D, 0x14, 0x9A, 0xF0, 0x96, 0xA5, 0x4C, 0x7D, 0xBA, 0xF0, 0xC4, 0xE7, 0xB1, + 0xE0, 0x27, 0x70, 0xDF, 0x01, 0xFA, 0x18, 0x74, 0xA5, 0x21, 0x00, 0x0F, 0x4B, 0x32, 0xFE, 0xEE, + 0xFC, 0x9C, 0x16, 0xD1, 0xD2, 0x0D, 0x3B, 0x0F, 0x9D, 0x97, 0x07, 0x7D, 0x52, 0x19, 0x6E, 0xC5, + 0xDA, 0xC0, 0xDE, 0x90, 0x43, 0x8F, 0x39, 0x14, 0x7C, 0x2D, 0xF5, 0x6D, 0xED, 0x50, 0xB4, 0xDD, + 0xE0, 0x1B, 0xA2, 0xDA, 0x63, 0x26, 0x65, 0x91, 0x10, 0xDF, 0x81, 0xF4, 0x6B, 0xC7, 0xB0, 0xAD, + 0x1D, 0x4A, 0x6F, 0x6F, 0xEB, 0x59, 0xF5, 0x8A, 0x19, 0xD0, 0x82, 0x7B, 0x12, 0x92, 0xD9, 0xF1, + 0xA3, 0xBD, 0xA1, 0xC7, 0x97, 0xFB, 0x7E, 0xE0, 0xE8, 0x68, 0xAF, 0xBF, 0x78, 0x66, 0x39, 0x6F, + 0x1D, 0xF7, 0xB6, 0xBC, 0x6B, 0xFB, 0x1F, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, + 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0xA8, 0xBE, 0x65, 0x9D, 0x20, 0x37, 0x00, 0x00, 0xE6, 0x20, 0x01, + 0x00, 0x2F, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, + 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, + 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x61, 0x75, 0x74, 0x68, 0x2F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x2E, + 0x64, 0x2E, 0x74, 0x73, 0xEC, 0x1D, 0xED, 0x72, 0xDC, 0x48, 0xF1, 0x7F, 0x9E, 0x42, 0x84, 0x2A, + 0x6C, 0x53, 0xEB, 0x75, 0x12, 0x3E, 0x0A, 0x1C, 0x42, 0xF0, 0xD9, 0xC9, 0x61, 0xC8, 0x17, 0xB1, + 0xC3, 0x41, 0xA5, 0x52, 0x5E, 0x79, 0xA5, 0x5D, 0x8B, 0xEC, 0x4A, 0x8B, 0xA4, 0xB5, 0xB3, 0x40, + 0xAA, 0x78, 0x0C, 0x78, 0x3D, 0x9E, 0x84, 0xFE, 0x9A, 0x6F, 0x49, 0xAB, 0xB5, 0xE3, 0x24, 0x47, + 0xE1, 0xBA, 0x8B, 0x2D, 0x69, 0xA6, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xA7, 0xBB, 0xA7, 0x67, 0xEF, + 0xC7, 0x3F, 0x88, 0x26, 0x59, 0x99, 0x9E, 0xC7, 0x55, 0xBA, 0x1B, 0x27, 0xF3, 0x2C, 0x8F, 0x2E, + 0x7F, 0x39, 0xFC, 0xE9, 0xF0, 0x41, 0xF4, 0xE3, 0xBD, 0x3B, 0xF0, 0xF1, 0x4E, 0xF4, 0xE3, 0xE8, + 0xB0, 0x58, 0xAC, 0xCA, 0x6C, 0x7A, 0x51, 0x47, 0x0F, 0xEE, 0x3D, 0xB8, 0x17, 0x7D, 0x5B, 0x14, + 0xD3, 0x59, 0x1A, 0x1D, 0xE7, 0xE3, 0x21, 0x7C, 0xC5, 0x02, 0xCF, 0xB2, 0x71, 0x9A, 0x57, 0x69, + 0x12, 0x2D, 0xF3, 0x24, 0x2D, 0xA3, 0xFA, 0x22, 0x8D, 0x0E, 0x16, 0xF1, 0x18, 0x7E, 0xC9, 0x97, + 0x41, 0xF4, 0xC7, 0xB4, 0xAC, 0xB2, 0x22, 0x8F, 0x1E, 0x0C, 0xEF, 0x45, 0xDB, 0x58, 0xE0, 0xAE, + 0x7C, 0xBA, 0xBB, 0xF3, 0x10, 0x41, 0xAC, 0x8A, 0x65, 0x34, 0x8F, 0x57, 0x51, 0x5E, 0xD4, 0xD1, + 0xB2, 0x4A, 0x01, 0x46, 0x56, 0x01, 0x62, 0xD0, 0x4E, 0xFA, 0x61, 0x9C, 0x2E, 0xEA, 0x08, 0x10, + 0x1B, 0x17, 0xF3, 0xC5, 0x2C, 0x8B, 0xF3, 0x71, 0x1A, 0x5D, 0x65, 0xF5, 0x05, 0x94, 0xD1, 0x0D, + 0x0C, 0x11, 0xC6, 0x9F, 0x05, 0x46, 0x71, 0x5E, 0xC7, 0x50, 0x3C, 0x86, 0x0A, 0x0B, 0x78, 0x9A, + 0xD8, 0x05, 0xA3, 0xB8, 0x16, 0xA4, 0xA3, 0xE8, 0xA2, 0xAE, 0x17, 0xFB, 0x7B, 0x7B, 0x57, 0x57, + 0x57, 0xC3, 0x98, 0xD0, 0x1D, 0x16, 0xE5, 0x74, 0x6F, 0xC6, 0x05, 0xAB, 0xBD, 0x67, 0xC7, 0x87, + 0x4F, 0x5E, 0x9C, 0x3C, 0xD9, 0x05, 0x94, 0xA5, 0xCA, 0x9B, 0x7C, 0x96, 0x56, 0x55, 0x54, 0xA6, + 0x7F, 0x5D, 0x66, 0x25, 0x74, 0xF7, 0x7C, 0x15, 0xC5, 0x8B, 0x05, 0x54, 0x88, 0xCF, 0x01, 0xD1, + 0x59, 0x7C, 0x15, 0x15, 0x65, 0x14, 0x4F, 0xCB, 0x14, 0xBE, 0xD5, 0x05, 0xA2, 0x7C, 0x55, 0x66, + 0x75, 0x96, 0x4F, 0x07, 0x51, 0x55, 0x4C, 0xEA, 0xAB, 0xB8, 0x4C, 0x11, 0x4C, 0x92, 0x55, 0x75, + 0x99, 0x9D, 0x2F, 0x6B, 0x45, 0x31, 0x07, 0xC1, 0xAC, 0x72, 0x0A, 0x14, 0xD0, 0x91, 0x3C, 0xBA, + 0x7B, 0x70, 0x12, 0x1D, 0x9F, 0xDC, 0x8D, 0xBE, 0x39, 0x38, 0x39, 0x3E, 0x19, 0x20, 0x90, 0xEF, + 0x8E, 0x4F, 0x7F, 0xFB, 0xF2, 0xCD, 0x69, 0xF4, 0xDD, 0xC1, 0xEB, 0xD7, 0x07, 0x2F, 0x4E, 0x8F, + 0x9F, 0x9C, 0x44, 0x2F, 0x5F, 0x47, 0x87, 0x2F, 0x5F, 0x1C, 0x1D, 0x9F, 0x1E, 0xBF, 0x7C, 0x01, + 0x4F, 0x4F, 0xA3, 0x83, 0x17, 0x7F, 0x8E, 0x7E, 0x7F, 0xFC, 0xE2, 0x68, 0x10, 0xA5, 0x19, 0x34, + 0x51, 0x02, 0x2D, 0x17, 0x25, 0xF4, 0x00, 0xD1, 0xCC, 0x90, 0x96, 0x69, 0x42, 0x84, 0x3B, 0x49, + 0x53, 0x07, 0x85, 0x49, 0xC1, 0x28, 0x55, 0x8B, 0x74, 0x9C, 0x4D, 0xB2, 0x31, 0x74, 0x2D, 0x9F, + 0x2E, 0xE3, 0x69, 0x1A, 0x4D, 0x8B, 0xCB, 0xB4, 0xCC, 0xA1, 0x47, 0xD1, 0x22, 0x2D, 0xE7, 0x59, + 0x85, 0x63, 0x5A, 0x01, 0x82, 0x09, 0x82, 0x99, 0x65, 0xF3, 0xAC, 0x8E, 0x6B, 0x7C, 0x15, 0xF6, + 0x0B, 0x1A, 0x42, 0x8E, 0xDA, 0xDB, 0x8B, 0x7E, 0x55, 0xA6, 0x93, 0xB4, 0x4C, 0x71, 0x18, 0xEB, + 0xD5, 0x22, 0xAD, 0x1E, 0xDD, 0xCD, 0x8B, 0x24, 0xBD, 0x1B, 0xED, 0xFD, 0xFA, 0x0E, 0x20, 0x55, + 0x94, 0x75, 0xF4, 0x77, 0x24, 0xEB, 0x20, 0x7A, 0x2A, 0x7C, 0x79, 0x50, 0x96, 0xF1, 0xEA, 0x18, + 0x00, 0x7E, 0x78, 0x52, 0x96, 0x80, 0xDA, 0xC7, 0x68, 0x52, 0x16, 0xF3, 0x68, 0x6B, 0x38, 0xDC, + 0xD3, 0xAC, 0x9B, 0xC7, 0xF3, 0xB4, 0x82, 0x41, 0x04, 0x26, 0x5E, 0x64, 0x5B, 0x0F, 0x81, 0x75, + 0x69, 0xC4, 0xBE, 0x4D, 0xEB, 0x8A, 0xB0, 0xF8, 0xFB, 0x6F, 0x66, 0x59, 0xFE, 0x3E, 0x8A, 0x97, + 0xF5, 0xC5, 0xF0, 0x00, 0xFE, 0x89, 0x46, 0xF8, 0xEF, 0xE8, 0x63, 0x54, 0xA5, 0xE5, 0x65, 0x36, + 0x36, 0x7D, 0x4E, 0xD2, 0x49, 0xBC, 0x9C, 0xD5, 0x88, 0x01, 0x8D, 0x26, 0x42, 0x99, 0x66, 0x97, + 0x69, 0x8E, 0x6F, 0x14, 0xC3, 0x8F, 0x68, 0xA6, 0x0C, 0x11, 0xDA, 0xF6, 0xCE, 0x28, 0x1A, 0xC3, + 0x08, 0x9D, 0xA7, 0xF0, 0x6B, 0x36, 0x4B, 0x13, 0xE6, 0xCD, 0xBC, 0x88, 0xE2, 0x72, 0xBA, 0x9C, + 0xA7, 0x39, 0x22, 0x00, 0x0F, 0xE3, 0x31, 0x10, 0xDE, 0x6F, 0x61, 0xAB, 0x02, 0x68, 0xEB, 0x71, + 0x43, 0x3C, 0x2A, 0xA7, 0x51, 0xA8, 0x0B, 0xED, 0x3A, 0x70, 0x7B, 0x41, 0x8A, 0xAB, 0xAA, 0x18, + 0x67, 0x71, 0xAD, 0xD0, 0x8C, 0xF5, 0x18, 0xDB, 0xDD, 0xFB, 0x4D, 0xFA, 0x21, 0x06, 0xF6, 0x20, + 0x90, 0xA3, 0xD1, 0xE8, 0x2F, 0xF1, 0x65, 0x5C, 0x8D, 0xCB, 0x6C, 0x51, 0xE3, 0x8B, 0xBD, 0x3D, + 0xA4, 0x2A, 0xF5, 0x04, 0x81, 0x77, 0x11, 0x10, 0x8B, 0x5F, 0xC6, 0xA5, 0x7A, 0x45, 0xC5, 0x1F, + 0x45, 0x36, 0xED, 0x1E, 0x4A, 0x13, 0x37, 0x6D, 0x38, 0x56, 0x63, 0x64, 0x1A, 0x2D, 0x90, 0xE3, + 0xC3, 0x26, 0xF9, 0xF5, 0x62, 0xE1, 0x35, 0xBD, 0x77, 0x27, 0xFD, 0x80, 0xBC, 0x07, 0xB8, 0x8E, + 0x67, 0x71, 0x09, 0x50, 0x97, 0xF9, 0x18, 0x59, 0x39, 0x52, 0xF4, 0x7E, 0xBC, 0x4F, 0x24, 0xC2, + 0xAA, 0xFB, 0x86, 0xC2, 0x0F, 0xFD, 0x7A, 0x9A, 0x11, 0xA9, 0x4C, 0xF4, 0xF7, 0x3B, 0x11, 0xFC, + 0x10, 0x37, 0xE2, 0xCF, 0x8F, 0x41, 0x6C, 0xD6, 0x69, 0x39, 0xC1, 0xEF, 0x65, 0x8A, 0x93, 0x11, + 0x18, 0x04, 0xA7, 0x53, 0x8C, 0x52, 0xAF, 0xDC, 0xAA, 0xA2, 0x79, 0x5A, 0xC7, 0x49, 0x5C, 0xC7, + 0x43, 0xA9, 0xB0, 0x47, 0xBF, 0x33, 0x5D, 0xEB, 0x0D, 0x14, 0x7B, 0x2E, 0x65, 0x04, 0xBA, 0xDD, + 0x82, 0xB4, 0x72, 0x0A, 0x44, 0x82, 0x12, 0x34, 0xAD, 0x09, 0x32, 0x4C, 0xE1, 0xAA, 0x8E, 0xAA, + 0x6C, 0x9A, 0xA7, 0x09, 0x40, 0x1B, 0x20, 0xD5, 0xE6, 0x71, 0x8D, 0x8C, 0x10, 0x57, 0xD0, 0xFA, + 0x9B, 0xD3, 0xC3, 0x08, 0x84, 0x0E, 0xA0, 0xC2, 0x0D, 0xEB, 0xC6, 0xF9, 0x87, 0xAA, 0x9F, 0x40, + 0xED, 0xE3, 0xFC, 0x34, 0x9B, 0xA7, 0xFB, 0x52, 0xF6, 0x61, 0xFF, 0xF6, 0xAF, 0xA0, 0x99, 0x71, + 0x99, 0x22, 0xEB, 0x6D, 0xDC, 0x38, 0xD5, 0xCB, 0x8A, 0xFE, 0x4D, 0xD7, 0x50, 0x10, 0x24, 0x7D, + 0x74, 0x75, 0x91, 0x8D, 0x2F, 0x1C, 0x1C, 0x98, 0x0E, 0x31, 0x0C, 0xED, 0x65, 0x1A, 0x6D, 0x1F, + 0x1F, 0xC1, 0x1C, 0x7A, 0x0F, 0x7C, 0x03, 0x22, 0x09, 0xC6, 0xE2, 0x22, 0x4D, 0x76, 0x06, 0x16, + 0xAC, 0x26, 0x3C, 0x8F, 0xA0, 0x07, 0x82, 0x42, 0xB4, 0x9D, 0x4E, 0xA3, 0xAD, 0x93, 0xB8, 0x1E, + 0x44, 0xF7, 0x7E, 0x12, 0x3D, 0x4D, 0xCF, 0x61, 0x7D, 0xBC, 0x77, 0x3F, 0xBA, 0xF7, 0xD3, 0xFD, + 0x7B, 0x3F, 0xDB, 0xBF, 0xF7, 0xF3, 0xE8, 0xDB, 0xE7, 0xA7, 0x5B, 0x3B, 0x43, 0x1B, 0xDE, 0xEB, + 0xB4, 0x5E, 0x96, 0x20, 0x1D, 0xF3, 0xE5, 0x6C, 0x16, 0x65, 0x13, 0x17, 0xB3, 0x3C, 0x05, 0xD9, + 0x2A, 0xA8, 0xB5, 0x0F, 0xC2, 0x6B, 0xC6, 0x14, 0x49, 0xF1, 0x78, 0x5F, 0x21, 0xF2, 0x0F, 0x82, + 0xD8, 0x4A, 0x92, 0xDF, 0x94, 0xD4, 0x6E, 0x74, 0x10, 0xFD, 0xEE, 0xE4, 0xE5, 0x8B, 0x5D, 0x68, + 0x30, 0x8B, 0x67, 0xD9, 0xDF, 0x70, 0xD5, 0x32, 0x5C, 0x48, 0x14, 0xE6, 0xD5, 0x32, 0xAB, 0x60, + 0x0D, 0xFD, 0x4B, 0x3A, 0xAE, 0x9B, 0xD1, 0xA8, 0x0B, 0x04, 0xB3, 0xBD, 0xB3, 0x2F, 0xA5, 0xB8, + 0xDD, 0x8F, 0x9B, 0x72, 0x7A, 0x96, 0x4F, 0x0A, 0x96, 0xE4, 0x31, 0xB6, 0x59, 0x26, 0xBB, 0x8B, + 0xB8, 0xAC, 0x57, 0x51, 0x96, 0x60, 0x49, 0xF8, 0x63, 0x51, 0x16, 0x97, 0xF0, 0x50, 0x2A, 0x80, + 0xD5, 0x72, 0x7C, 0x01, 0x03, 0xA1, 0x14, 0x10, 0x98, 0xF6, 0x4F, 0x01, 0xFA, 0x79, 0x51, 0xBC, + 0xEF, 0x9A, 0x2C, 0xC7, 0xD0, 0x4C, 0xE7, 0x44, 0x21, 0x7C, 0xA4, 0xD5, 0x49, 0x06, 0x7F, 0x2A, + 0x49, 0x86, 0xB2, 0x34, 0x4D, 0x34, 0x1A, 0xCD, 0xC4, 0x58, 0x66, 0x49, 0x2F, 0x96, 0x84, 0x35, + 0x7D, 0x31, 0x8B, 0x57, 0x24, 0x1F, 0x36, 0x6B, 0x41, 0x6A, 0xBE, 0x88, 0x7B, 0x32, 0x7F, 0x3A, + 0x8F, 0xB3, 0xD9, 0x66, 0x4D, 0x50, 0x95, 0x5E, 0xC0, 0x17, 0x17, 0x45, 0x9E, 0x02, 0xB7, 0xCD, + 0xCF, 0x37, 0x25, 0x14, 0xD5, 0x7C, 0x41, 0x15, 0xFB, 0xB6, 0x04, 0xEB, 0xDB, 0x9B, 0xD7, 0xCF, + 0x36, 0x6E, 0xA6, 0x2E, 0xA0, 0x56, 0xAF, 0x36, 0x3C, 0x88, 0x11, 0xC8, 0x83, 0x6D, 0x6C, 0x4D, + 0x96, 0xA1, 0x41, 0x74, 0x77, 0x4A, 0xBC, 0x36, 0x04, 0xD5, 0xF3, 0xAE, 0xC2, 0x43, 0xF8, 0x4F, + 0xD7, 0xDA, 0x69, 0x44, 0x44, 0x7F, 0x3E, 0x5E, 0xCF, 0x1F, 0x5F, 0xD5, 0xFC, 0xC4, 0x1E, 0x42, + 0x77, 0xE7, 0xD0, 0x18, 0x74, 0x01, 0xD4, 0xBC, 0x3A, 0x4B, 0x2B, 0x6C, 0x37, 0xE6, 0x89, 0x92, + 0xE6, 0x65, 0x41, 0x7A, 0x4E, 0x95, 0x8E, 0x8B, 0x3C, 0x89, 0x00, 0x42, 0x5D, 0x94, 0x6D, 0x33, + 0xF0, 0x39, 0xAC, 0xFB, 0xD9, 0x53, 0x2C, 0xD2, 0x63, 0x22, 0x1E, 0x1F, 0x89, 0xB6, 0xDE, 0xD6, + 0x08, 0x94, 0xCA, 0x2A, 0x2C, 0x06, 0xFF, 0x2E, 0xF3, 0xEC, 0xAF, 0xCB, 0x14, 0x3A, 0x2B, 0x52, + 0xF4, 0xA6, 0x13, 0xB4, 0x58, 0x20, 0x81, 0xE3, 0x99, 0x33, 0x53, 0x3B, 0xF1, 0x59, 0x3F, 0x5F, + 0x1F, 0x6F, 0xD8, 0xB2, 0xAC, 0x98, 0x4E, 0x2B, 0xB4, 0x38, 0x08, 0x02, 0xD7, 0x58, 0x3B, 0xB9, + 0x22, 0xEA, 0xA1, 0xA7, 0x59, 0x5F, 0x84, 0x50, 0x2D, 0xB7, 0x04, 0xA2, 0x10, 0xC1, 0x1F, 0x8B, + 0xA7, 0x80, 0xDA, 0xC9, 0xF3, 0x13, 0xF7, 0x75, 0x35, 0x60, 0xFE, 0x84, 0xFF, 0x46, 0x34, 0xE3, + 0x47, 0x8D, 0x68, 0x71, 0xE9, 0xEF, 0xDD, 0xDC, 0x88, 0x49, 0x8A, 0x99, 0x8D, 0xD1, 0x75, 0x66, + 0xC4, 0x2B, 0x84, 0xE0, 0x4F, 0x8B, 0xF4, 0x43, 0x9D, 0xE6, 0x49, 0xB5, 0xD9, 0x74, 0xB1, 0x65, + 0x71, 0xA8, 0xD9, 0xF3, 0xE7, 0x3E, 0x0C, 0xDB, 0x20, 0x99, 0x37, 0x25, 0x0B, 0xD2, 0xA1, 0x6B, + 0x11, 0x7E, 0x0D, 0x58, 0x94, 0xC9, 0xFA, 0x65, 0x78, 0x0B, 0xD8, 0x06, 0x26, 0xEC, 0xE8, 0x66, + 0x53, 0x59, 0x20, 0x2D, 0xCA, 0x6C, 0x1E, 0x97, 0x2B, 0x5E, 0xDD, 0x06, 0xA8, 0x6F, 0x55, 0x69, + 0xDD, 0xB1, 0x00, 0xAE, 0x9F, 0x1C, 0xDF, 0x5D, 0xA4, 0xB4, 0x8F, 0x2E, 0x4A, 0x32, 0x54, 0xD4, + 0x2D, 0x6D, 0x21, 0xF7, 0x83, 0x2E, 0x87, 0x93, 0x27, 0xE9, 0x68, 0xEF, 0x8F, 0x5C, 0x04, 0xFA, + 0x04, 0x3A, 0xCC, 0x2C, 0x8D, 0xF3, 0x3E, 0x9D, 0xB2, 0xA5, 0xD3, 0x27, 0x92, 0x3F, 0x6E, 0x17, + 0x1C, 0xB6, 0x52, 0x54, 0x5B, 0xCB, 0x38, 0x9B, 0xB5, 0xA4, 0x96, 0xF6, 0xEE, 0x25, 0x7C, 0x3D, + 0xCC, 0x96, 0xF1, 0x10, 0x1B, 0x0A, 0xC8, 0x08, 0x24, 0xEE, 0xA8, 0x2E, 0x97, 0xE9, 0x08, 0xE5, + 0xA6, 0x7E, 0xF9, 0x30, 0x1A, 0x4D, 0xE2, 0x59, 0xC5, 0x6F, 0x6D, 0x80, 0x69, 0x4E, 0xDF, 0x1B, + 0xF1, 0x92, 0xDA, 0x7D, 0xC6, 0xEB, 0x20, 0x49, 0x32, 0x91, 0xE9, 0x73, 0xB5, 0x57, 0x8B, 0xCF, + 0x8B, 0x65, 0xDD, 0xBD, 0x56, 0xE9, 0xC2, 0xFB, 0xCE, 0x36, 0xAF, 0xBD, 0x19, 0xD8, 0x9D, 0xA2, + 0x6D, 0x04, 0x24, 0x9F, 0x56, 0x37, 0x2A, 0x57, 0x83, 0x11, 0x65, 0x65, 0xA0, 0x55, 0xE5, 0x1D, + 0x51, 0x7A, 0xD6, 0x2F, 0x9C, 0x0A, 0xE2, 0x91, 0x42, 0x88, 0x44, 0xD2, 0xDB, 0x77, 0x7D, 0x46, + 0xF8, 0x22, 0xAE, 0x2E, 0x50, 0xB1, 0x02, 0xA9, 0x74, 0x85, 0x13, 0x7F, 0x1B, 0x8D, 0x34, 0x3F, + 0xFF, 0xE9, 0x2E, 0x58, 0x7D, 0x8A, 0x04, 0x77, 0x59, 0x60, 0xD7, 0x9A, 0xAD, 0x80, 0xB9, 0x94, + 0x91, 0x87, 0xF7, 0xF4, 0x54, 0x0F, 0x06, 0xDC, 0x86, 0x1A, 0xCF, 0xA6, 0x45, 0x09, 0x12, 0x6D, + 0x1E, 0x6D, 0x9F, 0x1C, 0xBE, 0xFE, 0xF3, 0xAB, 0xD3, 0x1D, 0x5A, 0xFD, 0x2B, 0x18, 0xA5, 0xE8, + 0x18, 0xB5, 0x92, 0x24, 0x9B, 0x90, 0x3D, 0xA9, 0x56, 0xB5, 0x4D, 0x15, 0x78, 0x93, 0x80, 0x65, + 0x26, 0xCD, 0xA9, 0xBC, 0x0D, 0xF5, 0xEA, 0x02, 0x5F, 0x2E, 0x66, 0x45, 0x9C, 0xB0, 0xD2, 0x43, + 0x30, 0x91, 0xE1, 0x63, 0x5C, 0xBC, 0x70, 0x09, 0xCC, 0xC0, 0x9E, 0xC3, 0xE5, 0xE6, 0xD9, 0xB4, + 0x8C, 0x51, 0xD2, 0xC9, 0x76, 0x25, 0x27, 0x23, 0x02, 0x61, 0x6C, 0xC3, 0xAC, 0x56, 0x55, 0x9D, + 0xCE, 0x65, 0x01, 0xBC, 0xCA, 0x66, 0x33, 0x68, 0x1A, 0x0A, 0xC3, 0x64, 0x5F, 0xD4, 0x2B, 0x61, + 0x65, 0xC2, 0x39, 0x2F, 0x0C, 0x65, 0xA0, 0x28, 0xCC, 0x2F, 0xBD, 0x6A, 0x5A, 0xF0, 0x68, 0x4F, + 0x27, 0x2A, 0x0F, 0xFC, 0x47, 0x04, 0x8B, 0x2F, 0x41, 0x6E, 0x20, 0x13, 0x12, 0x62, 0x36, 0xC3, + 0x8B, 0xD5, 0x33, 0x4D, 0x08, 0x47, 0x03, 0x26, 0x34, 0x0A, 0x0D, 0x67, 0x60, 0x5E, 0xC4, 0xE1, + 0x04, 0x59, 0xAB, 0xFF, 0x04, 0x33, 0xD6, 0x47, 0x9B, 0x0D, 0x9A, 0x38, 0x42, 0x23, 0xFD, 0x5B, + 0xA0, 0xF3, 0xFA, 0xC9, 0x69, 0xD8, 0xC1, 0xF4, 0xB6, 0x8A, 0x67, 0xF5, 0xD7, 0xC1, 0x0C, 0xC0, + 0xFF, 0x16, 0x60, 0x61, 0x05, 0x8B, 0x0F, 0x7A, 0x73, 0x40, 0x38, 0xEC, 0x16, 0xDC, 0x6B, 0x70, + 0x40, 0xC3, 0xB0, 0x5B, 0x00, 0xBF, 0x12, 0x0E, 0x38, 0x81, 0x71, 0xDC, 0x88, 0x03, 0xC6, 0xCB, + 0xAA, 0x06, 0xC2, 0x81, 0x8D, 0x2C, 0x9B, 0x2B, 0x0D, 0x0D, 0x46, 0xDC, 0x74, 0x47, 0x13, 0x7C, + 0xB6, 0x52, 0xE3, 0x83, 0x76, 0x43, 0xE8, 0x8F, 0x05, 0x91, 0xBB, 0x5A, 0x82, 0xF0, 0x25, 0xA3, + 0x33, 0x6D, 0x50, 0xE2, 0x69, 0x5C, 0x73, 0xF1, 0x98, 0x8D, 0x75, 0xA8, 0x94, 0x8C, 0xF1, 0x9D, + 0x6A, 0x5B, 0x59, 0x79, 0xEC, 0xDE, 0x11, 0x7D, 0x85, 0xF4, 0xD1, 0x65, 0x16, 0x77, 0x92, 0x0B, + 0xCA, 0x1C, 0x12, 0xFE, 0x48, 0xA8, 0x43, 0xEE, 0xC2, 0x28, 0x7C, 0x49, 0x24, 0x6C, 0x22, 0x9B, + 0xF4, 0x9E, 0x0B, 0x3D, 0xDE, 0x27, 0x35, 0xC8, 0xFC, 0xBC, 0x7D, 0x9F, 0xAE, 0x14, 0x29, 0xDF, + 0xED, 0x43, 0x2F, 0x56, 0x86, 0xA0, 0x1F, 0xFB, 0x5B, 0xD8, 0xB6, 0x2A, 0xEE, 0x65, 0x15, 0xA1, + 0x19, 0xF2, 0x12, 0x94, 0x64, 0xD8, 0x21, 0x4C, 0x40, 0x09, 0xEB, 0xB9, 0x65, 0xD0, 0x14, 0x59, + 0x2E, 0x12, 0xA2, 0x1E, 0x9A, 0xA3, 0x56, 0x6C, 0x4A, 0x33, 0x6D, 0x28, 0x4B, 0x19, 0xB7, 0x85, + 0x4D, 0xC1, 0x9B, 0x4B, 0xF8, 0x3B, 0x11, 0x1F, 0x83, 0x05, 0x91, 0xE7, 0x0A, 0xBC, 0x0C, 0x29, + 0xCA, 0x75, 0x94, 0x2D, 0x8B, 0xD1, 0x1E, 0x85, 0x2F, 0x7D, 0x8A, 0x46, 0x07, 0xAF, 0x8E, 0x61, + 0xB1, 0xD7, 0x80, 0x3D, 0x81, 0x71, 0x1E, 0x8F, 0xA1, 0x12, 0xF9, 0x4C, 0xCE, 0xB3, 0x29, 0xDA, + 0xC6, 0x8B, 0x25, 0x48, 0x82, 0xF1, 0x05, 0xB8, 0x2F, 0x80, 0x63, 0xB6, 0x15, 0xF7, 0xDA, 0x10, + 0x51, 0x8B, 0xAD, 0x61, 0xD7, 0xA2, 0xBE, 0x01, 0x78, 0xD6, 0xCE, 0x84, 0x0E, 0xF0, 0x29, 0xAD, + 0xC7, 0xCD, 0x7B, 0x7C, 0x21, 0xF8, 0x1F, 0x91, 0xD6, 0x07, 0x48, 0xEA, 0xFE, 0x5B, 0x2C, 0xB3, + 0xD5, 0xAD, 0x41, 0xE7, 0xC8, 0x2D, 0xDD, 0xE5, 0x3C, 0x9D, 0x15, 0xF9, 0x14, 0x07, 0x73, 0xE0, + 0x4C, 0x90, 0x46, 0x0C, 0xA4, 0xF6, 0x71, 0xD2, 0xDB, 0x16, 0x88, 0x8D, 0xCF, 0x71, 0x97, 0xB1, + 0x2B, 0xBB, 0xCB, 0x32, 0x9D, 0xD1, 0x70, 0x9B, 0xCD, 0xBE, 0x36, 0x74, 0x8C, 0x97, 0x25, 0x8A, + 0x52, 0xC2, 0xAB, 0x0F, 0x32, 0x73, 0xB3, 0x7B, 0x01, 0x7C, 0x9E, 0x9B, 0xA7, 0x93, 0xB4, 0x46, + 0xE1, 0x59, 0x7D, 0x65, 0xBB, 0xBC, 0x36, 0x5A, 0xF0, 0x40, 0x54, 0x82, 0x74, 0x0F, 0xD3, 0x86, + 0xEA, 0x5F, 0xFB, 0x06, 0xE7, 0x19, 0x88, 0x59, 0x40, 0xDD, 0xDD, 0x8E, 0xA9, 0x6D, 0xBD, 0xEC, + 0xD9, 0x02, 0x9A, 0x3B, 0xD3, 0xF3, 0x90, 0x3F, 0xCC, 0x56, 0xB4, 0x24, 0x34, 0xED, 0xEE, 0x78, + 0xE6, 0x57, 0xCB, 0x05, 0x3A, 0x24, 0x5A, 0x94, 0x58, 0xDD, 0xE2, 0x53, 0xAE, 0x62, 0x0F, 0x93, + 0xE8, 0x77, 0x9F, 0x72, 0x90, 0x6C, 0xEA, 0x7E, 0xBE, 0x11, 0x43, 0x06, 0x16, 0x67, 0x43, 0x84, + 0x4C, 0x4D, 0x38, 0xF5, 0x19, 0xC7, 0x43, 0xAA, 0xB3, 0x7E, 0x34, 0x01, 0x0D, 0x86, 0x6F, 0x16, + 0x99, 0x19, 0x0F, 0x70, 0x8B, 0x31, 0xA0, 0xEA, 0x39, 0x18, 0x8C, 0x80, 0x37, 0x24, 0xAF, 0x53, + 0x30, 0x74, 0x55, 0xF5, 0xDB, 0x77, 0x37, 0x27, 0x0A, 0xC8, 0xB4, 0x8D, 0x89, 0xF2, 0x66, 0x91, + 0xF4, 0x26, 0x8A, 0xAC, 0x1D, 0x6B, 0xA9, 0x81, 0x85, 0x65, 0x83, 0xA1, 0x4B, 0xC3, 0x72, 0x83, + 0xEE, 0xF2, 0xB4, 0xB2, 0x96, 0x1B, 0x67, 0x6F, 0xF6, 0x01, 0x8A, 0x01, 0x0A, 0x0A, 0xB8, 0x0F, + 0xD3, 0xDB, 0x18, 0xE6, 0xE2, 0x65, 0x61, 0xED, 0x13, 0x2D, 0x67, 0xA0, 0x5B, 0x60, 0x35, 0x03, + 0x5D, 0x83, 0xF4, 0x40, 0xC9, 0xB2, 0x36, 0x2F, 0x2E, 0x7B, 0xCF, 0x22, 0x20, 0x52, 0xC7, 0xC0, + 0x89, 0x50, 0xDE, 0xCC, 0xAA, 0xB2, 0xB9, 0x11, 0xF6, 0x8E, 0x71, 0x5B, 0xA1, 0x32, 0x34, 0x62, + 0xA4, 0x04, 0x8B, 0x51, 0xCB, 0x50, 0x77, 0xA2, 0x7E, 0xBB, 0xF6, 0x5A, 0x19, 0xA6, 0xA2, 0xD6, + 0xAC, 0x30, 0x70, 0x54, 0x5D, 0x70, 0x89, 0x5D, 0x81, 0xB4, 0xC3, 0x98, 0x08, 0x2E, 0x81, 0xE1, + 0x06, 0x14, 0x77, 0xE1, 0x7A, 0x81, 0x3B, 0x4C, 0xBF, 0xFD, 0x56, 0xE3, 0x46, 0xDB, 0xAF, 0x90, + 0xF1, 0xFF, 0xB6, 0xDF, 0xCF, 0x63, 0xFB, 0xED, 0x3B, 0x2D, 0x36, 0xB1, 0xC1, 0xDE, 0x64, 0x42, + 0x34, 0xD9, 0x69, 0xA5, 0xA6, 0x32, 0xD7, 0xDE, 0x60, 0xEA, 0x7C, 0x35, 0xB6, 0x5B, 0x18, 0x5C, + 0x5B, 0xC4, 0xD4, 0x85, 0x5E, 0x23, 0x68, 0x73, 0xA9, 0x67, 0x26, 0x91, 0xB9, 0x9B, 0x62, 0x6B, + 0x3B, 0x7E, 0x6D, 0x73, 0x9D, 0x05, 0xC4, 0xB6, 0xDC, 0xF5, 0x33, 0xD7, 0x3D, 0x5E, 0x6F, 0xAF, + 0xBB, 0xB1, 0x7D, 0xB5, 0x8F, 0xD6, 0xDD, 0x64, 0x29, 0xFE, 0x0A, 0xAD, 0xD1, 0x9B, 0x91, 0x6B, + 0x99, 0xBB, 0xA6, 0xBE, 0xE6, 0x16, 0xD4, 0xD7, 0x9E, 0xE2, 0xB8, 0xD5, 0x20, 0xDD, 0xC3, 0xB7, + 0x7C, 0xAD, 0x21, 0xD9, 0xD0, 0x1E, 0xBD, 0x01, 0x68, 0x51, 0x88, 0xD6, 0x6D, 0xB9, 0x36, 0xDC, + 0x4F, 0xB9, 0x2A, 0xD9, 0x66, 0x13, 0x1E, 0xB7, 0xCB, 0x9B, 0x28, 0x15, 0x2C, 0x3C, 0x15, 0xD0, + 0x11, 0x68, 0xA8, 0x3D, 0x44, 0x28, 0x94, 0xBA, 0xA6, 0x60, 0xFC, 0x72, 0x4B, 0xF1, 0xFF, 0xD4, + 0xCA, 0x77, 0x83, 0x51, 0xEB, 0xB3, 0xF0, 0x5D, 0x7F, 0x7C, 0xBF, 0xE2, 0x85, 0x0F, 0x4D, 0x81, + 0x45, 0xCE, 0x6A, 0xA7, 0x58, 0x1A, 0xC9, 0x6D, 0x89, 0xDF, 0xCE, 0x53, 0x01, 0xA7, 0xF6, 0x7D, + 0xDD, 0x34, 0xF4, 0xE8, 0xD5, 0x77, 0x81, 0xEC, 0xED, 0x06, 0xED, 0xC7, 0xD1, 0x0C, 0xEA, 0x13, + 0xCB, 0x1E, 0xE8, 0xE0, 0xB5, 0x65, 0x4F, 0x0C, 0x26, 0x5D, 0xB2, 0xF9, 0x6B, 0xC3, 0x9D, 0x36, + 0xCE, 0x0E, 0x22, 0xB6, 0x2E, 0xC0, 0x37, 0x65, 0xDD, 0xBB, 0xD3, 0x66, 0x8F, 0xA5, 0xD5, 0x6C, + 0x75, 0x9C, 0x9C, 0x92, 0x0D, 0x72, 0xE4, 0x3C, 0xA2, 0xC5, 0x10, 0xFD, 0x68, 0x17, 0x85, 0x1E, + 0x22, 0xF9, 0x15, 0xB6, 0xC9, 0x1B, 0xBD, 0x97, 0x8B, 0x34, 0x87, 0x37, 0x87, 0x45, 0x9E, 0x83, + 0xE1, 0x81, 0x66, 0xD7, 0xAE, 0x0A, 0x35, 0xAF, 0xC9, 0xD4, 0x11, 0x7D, 0x07, 0xB1, 0x7D, 0x62, + 0xA5, 0xDC, 0xFE, 0xDD, 0x77, 0xA7, 0x95, 0x98, 0x03, 0x4D, 0xE8, 0xB4, 0x7A, 0x7C, 0x0B, 0x80, + 0xA8, 0x20, 0xB2, 0xB0, 0xB1, 0x84, 0x34, 0x36, 0xF2, 0x6E, 0x5B, 0x02, 0xD0, 0x0B, 0xF8, 0x96, + 0x25, 0xC3, 0x3C, 0xAD, 0xF7, 0xF0, 0x7D, 0x25, 0x2F, 0x76, 0xC7, 0x5C, 0x18, 0x7E, 0x97, 0xE9, + 0xEE, 0xFD, 0xB3, 0x7B, 0xC3, 0x8B, 0x7A, 0x3E, 0xFB, 0xE1, 0xF1, 0x11, 0x35, 0xB0, 0x63, 0xEB, + 0xB6, 0x73, 0x28, 0x01, 0x3C, 0x48, 0xDB, 0x03, 0x6C, 0xD5, 0x38, 0x1B, 0x8D, 0xB0, 0x30, 0x03, + 0x4E, 0x26, 0xC6, 0xAB, 0x36, 0x06, 0x3E, 0xE2, 0x11, 0x12, 0x72, 0x76, 0xF3, 0x6A, 0xBC, 0x4C, + 0x32, 0x0A, 0xE4, 0x86, 0x96, 0x75, 0xB0, 0x25, 0x7A, 0xCF, 0xA8, 0x2A, 0xFC, 0x81, 0x60, 0xF3, + 0xC4, 0xD5, 0x3B, 0x7C, 0x9B, 0x33, 0xDA, 0xAA, 0x97, 0xB4, 0xC7, 0x8B, 0xD5, 0xFA, 0x0A, 0xF3, + 0x24, 0x9E, 0x01, 0x14, 0x3C, 0x16, 0x50, 0xEA, 0x71, 0xC3, 0x2E, 0x90, 0xDF, 0xE0, 0xF8, 0x68, + 0x80, 0x7D, 0x93, 0x2D, 0xA5, 0x05, 0xCF, 0x8B, 0xE2, 0x6B, 0xAE, 0x3E, 0x60, 0x4C, 0x25, 0x6A, + 0x1B, 0xCA, 0x41, 0xAC, 0x3A, 0xC6, 0xEA, 0xBF, 0xC5, 0xD2, 0xAA, 0x90, 0x63, 0x7A, 0xD0, 0x36, + 0x14, 0x1E, 0xB2, 0x0A, 0xC6, 0x0C, 0xC6, 0xA6, 0x02, 0x25, 0x69, 0xA8, 0x02, 0xD0, 0x87, 0x26, + 0x50, 0x6C, 0x4F, 0x40, 0xEC, 0x9D, 0xED, 0xA9, 0x7A, 0x7B, 0xD3, 0x34, 0x07, 0x8B, 0xCB, 0x6C, + 0x0F, 0x9C, 0x16, 0x65, 0x01, 0x51, 0x0C, 0x50, 0x6C, 0x58, 0xC2, 0x03, 0xFC, 0x92, 0x57, 0x2D, + 0x16, 0xE6, 0x78, 0xD9, 0x23, 0xE4, 0x01, 0x36, 0x77, 0x03, 0xE8, 0x81, 0x88, 0x4D, 0xF0, 0x69, + 0x64, 0x30, 0x26, 0x44, 0xA1, 0x37, 0x79, 0xF6, 0x21, 0x4A, 0x17, 0xC5, 0xF8, 0x62, 0x60, 0xFC, + 0x45, 0x30, 0x22, 0xBB, 0x28, 0x1A, 0x8C, 0xB7, 0x84, 0x98, 0xC6, 0x06, 0x59, 0x8C, 0xD1, 0x0E, + 0xD9, 0x77, 0xDC, 0x50, 0xFB, 0x84, 0xAE, 0xAA, 0x16, 0xC8, 0xE4, 0x52, 0x02, 0xD8, 0x25, 0x44, + 0x44, 0xEB, 0xC9, 0xE6, 0x46, 0x00, 0x9F, 0x2F, 0x75, 0xF1, 0xC0, 0xC1, 0x03, 0x5D, 0x01, 0xEF, + 0x39, 0x79, 0x82, 0x66, 0xC5, 0x74, 0x4A, 0x01, 0xCB, 0x6C, 0x37, 0x20, 0x7F, 0x0D, 0x1D, 0x3A, + 0x00, 0x2F, 0x1A, 0x70, 0x39, 0xF6, 0x14, 0xA8, 0xAE, 0x5E, 0x0E, 0x6C, 0x9F, 0x80, 0x03, 0xF6, + 0xE4, 0xE8, 0xF7, 0xEC, 0x9B, 0xD3, 0xFE, 0x8B, 0xD8, 0xF7, 0x0E, 0x55, 0xE2, 0xF0, 0xB8, 0x00, + 0x2E, 0x18, 0x46, 0x4F, 0xE0, 0x3C, 0x88, 0xFE, 0xC4, 0x35, 0x2F, 0xE2, 0x4B, 0xE0, 0x78, 0x1B, + 0xAA, 0x71, 0x36, 0xBE, 0x1D, 0xC1, 0x2A, 0x36, 0x7A, 0xB7, 0xFD, 0x43, 0xF8, 0xB5, 0xC3, 0x84, + 0x81, 0x3E, 0xAA, 0x29, 0x88, 0x1A, 0xCC, 0x08, 0x89, 0x7D, 0x86, 0xDE, 0x94, 0x11, 0x7F, 0x6F, + 0x1E, 0x6F, 0x5D, 0x6A, 0x5F, 0xD6, 0xC8, 0x1E, 0xA1, 0x9E, 0x96, 0x4D, 0x0B, 0xF0, 0x05, 0xB2, + 0xB2, 0xF8, 0xD4, 0xE8, 0x2B, 0x97, 0x42, 0x1F, 0x13, 0xFE, 0xF5, 0xB7, 0x1E, 0x9B, 0xE1, 0xE2, + 0xBA, 0xBA, 0xF5, 0xFE, 0x64, 0xA0, 0xF7, 0x9B, 0x06, 0xCC, 0x45, 0x8C, 0xCE, 0xBE, 0xB5, 0xFB, + 0xA5, 0xB3, 0xCB, 0xCD, 0x36, 0x30, 0x0A, 0x23, 0x32, 0x03, 0x2E, 0xB2, 0x92, 0x05, 0x67, 0xDD, + 0x67, 0x2E, 0xA1, 0x5D, 0x2B, 0xAE, 0xA1, 0x0B, 0x03, 0x8F, 0x7D, 0x83, 0xC0, 0xF3, 0xCC, 0xF0, + 0x17, 0xB7, 0x22, 0x8E, 0xCB, 0x0A, 0xB8, 0x6C, 0x96, 0xA0, 0x1B, 0x18, 0xA9, 0x41, 0x5E, 0x9F, + 0x08, 0x45, 0x0A, 0xF4, 0x1C, 0x66, 0x1D, 0x79, 0xEF, 0x3A, 0xE6, 0x9E, 0xE1, 0x71, 0x66, 0xEC, + 0x1A, 0x44, 0x09, 0x9C, 0x39, 0x60, 0xF7, 0x80, 0xE2, 0xF0, 0x46, 0xC6, 0x1E, 0x00, 0xD2, 0xD5, + 0x12, 0x46, 0x96, 0xB5, 0x1C, 0x0B, 0xAC, 0x2E, 0xCE, 0x9A, 0xD8, 0x72, 0x41, 0x1E, 0x55, 0xB4, + 0xBE, 0x51, 0x45, 0x8B, 0x46, 0x8D, 0x63, 0x80, 0xDF, 0xD7, 0xB2, 0xEC, 0x71, 0xD3, 0x0A, 0x45, + 0x87, 0x12, 0x80, 0xE2, 0x80, 0x25, 0xE0, 0x8F, 0xB4, 0x1F, 0xCF, 0x96, 0x18, 0x94, 0xC1, 0x44, + 0x54, 0x9F, 0x15, 0x63, 0x90, 0x49, 0xCC, 0x93, 0x18, 0x09, 0xD2, 0x54, 0x17, 0xD8, 0x55, 0x4B, + 0x9E, 0x89, 0x24, 0x4F, 0xD2, 0x1A, 0x38, 0xA4, 0xEA, 0x94, 0x66, 0x14, 0xA4, 0x03, 0xBF, 0x35, + 0x03, 0x9E, 0xAF, 0x42, 0x17, 0xA3, 0x91, 0x96, 0xEA, 0xF8, 0x09, 0x36, 0x4D, 0x6B, 0x97, 0xEB, + 0x54, 0xC4, 0xAF, 0x00, 0x83, 0xFC, 0xDD, 0x80, 0xBD, 0x33, 0x07, 0x5A, 0xF6, 0x06, 0xD2, 0x8E, + 0x72, 0x0F, 0x07, 0x34, 0x34, 0xE0, 0x5F, 0xAD, 0xED, 0x29, 0x30, 0x53, 0x09, 0x48, 0x2C, 0x8A, + 0x1C, 0x29, 0xE9, 0xD5, 0x17, 0x1B, 0xAC, 0x26, 0x98, 0xF2, 0xB7, 0x2B, 0x52, 0x87, 0x71, 0x41, + 0x06, 0x59, 0xF3, 0x23, 0x6D, 0xA2, 0x42, 0xA1, 0x50, 0xEE, 0xEB, 0xD5, 0x66, 0xCF, 0xF6, 0x9A, + 0x5E, 0x1A, 0x0B, 0xF3, 0xF5, 0x90, 0x8D, 0x5E, 0xE6, 0x14, 0xBE, 0x3B, 0xBA, 0x0B, 0xD1, 0x1A, + 0xF9, 0x6A, 0x5E, 0x2C, 0xAB, 0xBB, 0xA3, 0x01, 0x3C, 0x2A, 0x5B, 0x04, 0x3F, 0x4D, 0x24, 0x2E, + 0x0A, 0x57, 0x6E, 0x7E, 0x33, 0x05, 0xFE, 0x5F, 0x9E, 0xCB, 0xB3, 0x0F, 0x74, 0x24, 0x11, 0xE1, + 0xA6, 0x78, 0x0D, 0xF3, 0x05, 0x74, 0x27, 0xF3, 0x02, 0x4E, 0x09, 0xD9, 0xDF, 0xE7, 0xD9, 0xB8, + 0x2C, 0xF0, 0xF8, 0x5F, 0x0B, 0xC4, 0xBB, 0xAB, 0xF8, 0xA2, 0x28, 0x4C, 0x79, 0xDA, 0xD8, 0xF0, + 0x9F, 0xB8, 0x7F, 0x9D, 0xE2, 0x79, 0xA2, 0xA1, 0xDF, 0xE8, 0x74, 0x3C, 0x34, 0xCD, 0x84, 0x30, + 0x8B, 0x12, 0xCA, 0x60, 0xD0, 0x01, 0x7E, 0xF5, 0x09, 0xA3, 0x1F, 0xC3, 0x60, 0xB5, 0x63, 0xC5, + 0x46, 0xAF, 0x60, 0x93, 0x80, 0x73, 0xD5, 0x0E, 0x8D, 0xAF, 0x64, 0x6A, 0xA6, 0x00, 0x9B, 0x63, + 0xC8, 0xB2, 0xBC, 0xA5, 0xFD, 0x97, 0xC7, 0x47, 0x87, 0x34, 0x31, 0x4E, 0x0E, 0x9E, 0x3F, 0x0B, + 0x0F, 0x74, 0xE0, 0x24, 0x83, 0xD0, 0x8E, 0x0F, 0xB2, 0xED, 0x03, 0x78, 0xB0, 0x44, 0xCE, 0x86, + 0x77, 0x47, 0x58, 0x07, 0x9E, 0x40, 0x1D, 0x1A, 0xC3, 0x93, 0x0F, 0x15, 0x19, 0x3A, 0xA5, 0xE3, + 0x31, 0xB3, 0x55, 0x27, 0x6B, 0x12, 0x6F, 0x9C, 0x65, 0xF9, 0x99, 0x6A, 0x50, 0x31, 0x62, 0x2F, + 0x9E, 0xF3, 0xEC, 0x00, 0x44, 0x4C, 0xB5, 0x71, 0x1F, 0x35, 0x5A, 0x05, 0xDC, 0x55, 0xCB, 0x83, + 0x69, 0x2B, 0x40, 0x5E, 0x8C, 0x4E, 0x14, 0xBB, 0x7B, 0xB3, 0x30, 0x7A, 0xC5, 0xEF, 0x26, 0x99, + 0x1F, 0x88, 0x43, 0xB4, 0xC5, 0xC1, 0xB0, 0x4C, 0x3F, 0x9A, 0x30, 0xE6, 0x67, 0xDC, 0xE4, 0xE3, + 0x8D, 0x28, 0x03, 0x7B, 0xD2, 0x66, 0x0A, 0x04, 0xB3, 0xF2, 0xF3, 0x51, 0xC4, 0xED, 0xA4, 0xD3, + 0xB9, 0x33, 0x3D, 0x88, 0x1B, 0xF6, 0xF3, 0x46, 0xC1, 0x19, 0x21, 0x56, 0x02, 0xC5, 0xE0, 0xF0, + 0x89, 0xC2, 0x7F, 0x8C, 0x06, 0x43, 0xAB, 0x7A, 0x9A, 0xEC, 0xC6, 0xF5, 0x6D, 0x2A, 0x30, 0x57, + 0xB1, 0x6A, 0xC8, 0xD2, 0x61, 0x00, 0x73, 0xD0, 0xF5, 0xA1, 0x84, 0xAB, 0xC2, 0x58, 0x30, 0xBF, + 0x02, 0x6D, 0x86, 0x3E, 0x7B, 0x44, 0xC2, 0x38, 0x3C, 0xDC, 0x20, 0x42, 0xB7, 0x72, 0xC2, 0x7F, + 0xCA, 0x87, 0x4B, 0x7D, 0x12, 0x84, 0xFB, 0x13, 0xB5, 0xDD, 0x70, 0x17, 0x59, 0x59, 0x55, 0x75, + 0xCB, 0x66, 0x17, 0xA3, 0x77, 0x53, 0x03, 0xA8, 0x99, 0xFA, 0x10, 0xDF, 0x9A, 0x9D, 0x01, 0x6E, + 0x20, 0xF4, 0xC3, 0x8E, 0xDA, 0xB1, 0xAF, 0x9A, 0xF5, 0x05, 0xD8, 0x69, 0xAC, 0x55, 0xB8, 0x80, + 0xB8, 0xDC, 0xEB, 0xF0, 0x7C, 0x9B, 0xFE, 0xA2, 0x58, 0x9D, 0x7B, 0x52, 0xA5, 0xFD, 0xB6, 0x7C, + 0x31, 0x9A, 0xCB, 0x4D, 0xD4, 0x0A, 0xEB, 0x75, 0x8E, 0x9B, 0x46, 0xED, 0x94, 0xAB, 0x14, 0x3A, + 0x9F, 0x12, 0x49, 0xEC, 0x4D, 0xF2, 0xAF, 0x5E, 0xBD, 0x7E, 0xF9, 0xBB, 0x27, 0x87, 0xA7, 0x67, + 0xC7, 0x47, 0xBF, 0x1E, 0xD1, 0xE6, 0xB4, 0x04, 0x01, 0xE3, 0xBC, 0x85, 0x76, 0x7C, 0x62, 0xC1, + 0x3A, 0x61, 0x9B, 0x01, 0x94, 0x75, 0x83, 0xB6, 0x88, 0x58, 0x96, 0xA8, 0x99, 0x30, 0x1D, 0x93, + 0xB5, 0x14, 0xAC, 0xAA, 0xB5, 0x1B, 0x1D, 0xDF, 0x64, 0xD9, 0x7B, 0x83, 0xD3, 0x67, 0xB3, 0x45, + 0x80, 0xCF, 0xF2, 0x0D, 0x02, 0xE8, 0x9D, 0x43, 0x71, 0x9F, 0x10, 0x91, 0x6C, 0x0C, 0xB6, 0xB7, + 0x9E, 0x76, 0x72, 0x5A, 0x05, 0x02, 0xDE, 0xD7, 0xC8, 0x20, 0x26, 0x4D, 0x88, 0xD0, 0xFA, 0xD0, + 0xC6, 0x5C, 0x07, 0xC0, 0x51, 0x28, 0x3D, 0x60, 0x0B, 0x80, 0x06, 0x25, 0x5E, 0xDD, 0x0C, 0xBB, + 0xC1, 0xA7, 0x05, 0x0C, 0x32, 0xC5, 0x88, 0xA8, 0xB6, 0xDE, 0x02, 0x1E, 0x34, 0xD2, 0xCB, 0x6C, + 0xED, 0x48, 0x57, 0xCB, 0xF3, 0x2F, 0xD6, 0xB5, 0xD0, 0x54, 0x12, 0x03, 0xB1, 0x51, 0x2E, 0x28, + 0x9E, 0x05, 0x8B, 0x22, 0x83, 0x53, 0xE1, 0xB1, 0x59, 0x5D, 0xA5, 0xB3, 0x09, 0x08, 0xA8, 0x9A, + 0xA6, 0x5A, 0x92, 0x88, 0xC3, 0xDF, 0x02, 0xEB, 0x10, 0x0B, 0xC5, 0xB1, 0x8A, 0x65, 0x8D, 0x69, + 0xCE, 0x48, 0x83, 0xC5, 0x44, 0x48, 0x05, 0x04, 0x40, 0x52, 0xC1, 0x2F, 0x43, 0xAA, 0x0D, 0xCE, + 0xD8, 0x84, 0x6B, 0x94, 0x67, 0xF7, 0x8D, 0x5E, 0x2B, 0x33, 0x6F, 0xA5, 0x84, 0x09, 0x2C, 0xE3, + 0xD2, 0x7E, 0x68, 0xC0, 0x9D, 0xA6, 0x1C, 0x73, 0xFC, 0x11, 0x03, 0x3A, 0x87, 0xA1, 0x0D, 0xF2, + 0x5B, 0xF9, 0xFE, 0x1A, 0xC1, 0x74, 0xD8, 0xCB, 0x4F, 0x52, 0x6C, 0xC3, 0xB6, 0xD5, 0x57, 0x83, + 0xE6, 0xE1, 0xAB, 0x4C, 0x49, 0xC4, 0x10, 0xC5, 0x3B, 0x08, 0x1C, 0x67, 0xCF, 0xC6, 0xC6, 0x79, + 0x8C, 0x24, 0x7F, 0x09, 0x01, 0x76, 0x5E, 0x51, 0x65, 0x27, 0x84, 0x65, 0x89, 0xE2, 0x8F, 0x60, + 0x44, 0x50, 0x62, 0xC1, 0x42, 0xAA, 0x7B, 0x4B, 0x6D, 0x64, 0xEE, 0xDE, 0x34, 0x07, 0x94, 0xA0, + 0x58, 0xB3, 0x57, 0x94, 0x9B, 0xD8, 0xB7, 0x0E, 0x48, 0xB9, 0xC1, 0x77, 0xAA, 0x7F, 0x5A, 0x76, + 0x3B, 0x08, 0x09, 0xC2, 0xCA, 0x9A, 0x86, 0x9C, 0xC5, 0x38, 0x0E, 0xAD, 0x26, 0xF0, 0xED, 0x53, + 0x7C, 0x29, 0x07, 0x38, 0x34, 0xA0, 0xB7, 0xEF, 0x36, 0xB3, 0xDC, 0x03, 0x0D, 0x25, 0x32, 0xCF, + 0xB3, 0xD3, 0xC7, 0x77, 0x36, 0x0D, 0x32, 0x37, 0xD1, 0x67, 0x43, 0xB4, 0x87, 0xA3, 0xF6, 0xC7, + 0x4C, 0x83, 0xA5, 0x04, 0x9A, 0x1A, 0xAB, 0x30, 0x16, 0xF5, 0x3C, 0xAE, 0xC7, 0x17, 0xC8, 0xF0, + 0xF4, 0x36, 0x07, 0x07, 0x0B, 0x18, 0x1B, 0xA7, 0xA9, 0x4C, 0xA0, 0x50, 0xD4, 0x05, 0xCC, 0x85, + 0xA1, 0x98, 0xFD, 0xB8, 0x0B, 0x86, 0x56, 0xC5, 0x9A, 0x39, 0xBD, 0xB3, 0x0E, 0xB4, 0x8D, 0xCC, + 0xDF, 0xA3, 0x8F, 0x42, 0x20, 0x8D, 0xB3, 0x05, 0x4B, 0xA3, 0x9F, 0x14, 0x57, 0x39, 0x9E, 0x34, + 0x48, 0x13, 0xEE, 0xC9, 0xF5, 0x18, 0xC3, 0xC1, 0x72, 0x0D, 0x19, 0xF4, 0x51, 0x02, 0x28, 0x95, + 0x42, 0xBB, 0x8C, 0x9D, 0x54, 0x62, 0x24, 0x34, 0x56, 0x8D, 0xD8, 0x10, 0x60, 0x72, 0x06, 0x3C, + 0x6E, 0xF0, 0xB4, 0xF1, 0x76, 0x09, 0x4F, 0x84, 0x1C, 0xA8, 0x83, 0x16, 0xA7, 0xF8, 0xE6, 0x51, + 0xB4, 0xC5, 0x27, 0x34, 0xB6, 0xA2, 0x7F, 0xC0, 0x9F, 0xA7, 0x07, 0x2F, 0x8E, 0x0E, 0x5E, 0x1F, + 0x9D, 0x59, 0xEF, 0x7E, 0xFB, 0xFC, 0xE0, 0xF0, 0xEC, 0xE4, 0xB7, 0x07, 0x3F, 0xBB, 0xFF, 0xC0, + 0x79, 0x7E, 0xF0, 0xB3, 0x9F, 0x3B, 0xCF, 0xF7, 0xCD, 0xD3, 0xF3, 0xA3, 0x9F, 0xD1, 0x83, 0xFA, + 0xFD, 0xEA, 0x9B, 0xDF, 0x1F, 0x3D, 0x35, 0x65, 0xBE, 0x21, 0xE0, 0xE6, 0xCB, 0x03, 0x1B, 0x9C, + 0xD5, 0x92, 0xF5, 0x96, 0xEA, 0x3E, 0xDC, 0x60, 0x12, 0x90, 0xAC, 0xE1, 0x3C, 0x35, 0xE2, 0xAB, + 0xB6, 0x09, 0xDB, 0x3A, 0x19, 0xA8, 0x86, 0x9A, 0x0E, 0xD6, 0x83, 0xE5, 0xAE, 0xD2, 0x03, 0xE5, + 0x9E, 0x4F, 0xF9, 0xB1, 0xDA, 0x4A, 0x51, 0xF3, 0xCA, 0x78, 0x11, 0x1E, 0x6F, 0xB1, 0xFD, 0x3F, + 0x9D, 0xF9, 0x10, 0xA8, 0xF1, 0x97, 0x8C, 0x7A, 0x17, 0xF3, 0x87, 0x8D, 0x79, 0x4D, 0x84, 0xAC, + 0x42, 0x05, 0x7B, 0x18, 0xB0, 0x4E, 0xBB, 0x7B, 0x62, 0xE4, 0x1D, 0xCB, 0xD7, 0x49, 0x31, 0x03, + 0x87, 0x95, 0x53, 0xC6, 0x83, 0x68, 0xAA, 0xF8, 0x51, 0xD0, 0xFB, 0x81, 0x05, 0x87, 0x59, 0x10, + 0xCD, 0x28, 0x9A, 0x2B, 0xCD, 0x2B, 0x8B, 0x29, 0xE9, 0xD1, 0xF0, 0xA4, 0xFD, 0x78, 0xBF, 0xC1, + 0x30, 0xA4, 0x18, 0x14, 0xCB, 0xC9, 0x2F, 0xC3, 0x9E, 0xF8, 0xC4, 0xDC, 0xA9, 0xDF, 0x3F, 0xB0, + 0xE0, 0x4A, 0x83, 0x21, 0x50, 0x2E, 0x22, 0x76, 0x11, 0x04, 0xD4, 0xBD, 0xC9, 0x37, 0xF4, 0xD9, + 0x0F, 0xA7, 0x64, 0xAF, 0xAD, 0x2F, 0xEE, 0xDF, 0x91, 0xD0, 0xEF, 0x53, 0x5C, 0x01, 0xB5, 0x5E, + 0x4D, 0x83, 0xE4, 0xF0, 0x1A, 0xAC, 0x39, 0xE8, 0xFC, 0x00, 0x2B, 0x69, 0x6D, 0x5C, 0xC8, 0x26, + 0xD1, 0x89, 0x49, 0x91, 0x15, 0x8E, 0x2F, 0xCC, 0x80, 0x7E, 0x04, 0x0F, 0x69, 0x7C, 0xF0, 0x9C, + 0xE9, 0x4F, 0x14, 0x31, 0x34, 0xEF, 0xA6, 0x0A, 0x76, 0x06, 0x44, 0xD7, 0x37, 0x84, 0x70, 0x3F, + 0x2A, 0xC4, 0xB4, 0x9C, 0xC3, 0x26, 0x34, 0x06, 0x3B, 0x82, 0xDF, 0x5B, 0xDE, 0x19, 0x92, 0x6A, + 0xB6, 0x58, 0x80, 0x33, 0x8D, 0x26, 0x2B, 0xD6, 0x61, 0x97, 0x96, 0x0F, 0x90, 0xDD, 0xD3, 0x44, + 0x01, 0xCD, 0xF4, 0xDE, 0xB1, 0xBE, 0x65, 0xA5, 0xED, 0xCD, 0x9A, 0x36, 0x86, 0x5E, 0x9D, 0x9D, + 0xA3, 0x76, 0x4F, 0x14, 0xAA, 0x9B, 0x75, 0xD3, 0x6C, 0x69, 0x4A, 0xD4, 0x11, 0x68, 0xE1, 0xD2, + 0xC3, 0x05, 0x47, 0xB1, 0xC0, 0x81, 0x47, 0x73, 0xBD, 0x75, 0x78, 0xB1, 0x82, 0x46, 0xD8, 0xF0, + 0xBD, 0x19, 0x4E, 0x87, 0xC5, 0xEF, 0x6B, 0xDE, 0x37, 0x63, 0xE8, 0x41, 0xF6, 0xE7, 0x46, 0x67, + 0xD7, 0x05, 0xEB, 0xC7, 0xBC, 0x0D, 0xEE, 0xD9, 0xE7, 0x79, 0x0A, 0xCE, 0xF2, 0x15, 0x28, 0x89, + 0xB0, 0xAE, 0x97, 0x76, 0x37, 0x42, 0xBA, 0x0F, 0x22, 0x59, 0x29, 0x0F, 0x5F, 0xBD, 0xD9, 0xB3, + 0xEA, 0x75, 0x93, 0xC3, 0x48, 0x95, 0x0D, 0x07, 0x92, 0x5B, 0x38, 0x84, 0x06, 0x36, 0xEB, 0x11, + 0x0E, 0x3D, 0x04, 0x00, 0xE1, 0x49, 0x0C, 0x2B, 0xE2, 0x20, 0x9C, 0x76, 0x43, 0x17, 0xCF, 0xD0, + 0x2E, 0x77, 0x7D, 0xD4, 0x3D, 0x14, 0x36, 0xC3, 0xFF, 0x7C, 0x56, 0x8C, 0xDF, 0x83, 0xE0, 0xF9, + 0x1B, 0x24, 0x64, 0xCA, 0x61, 0x79, 0xA1, 0xAD, 0xD1, 0x2F, 0x76, 0xBE, 0x44, 0x3F, 0x08, 0x95, + 0x13, 0xC0, 0x64, 0xB3, 0x1E, 0x24, 0x30, 0xC3, 0xC1, 0xDB, 0x43, 0x42, 0x73, 0x96, 0xE6, 0xD3, + 0xFA, 0xE2, 0x4B, 0x20, 0x2F, 0x58, 0xFC, 0x3E, 0x5D, 0x3D, 0x23, 0x1C, 0x1A, 0xFA, 0xF0, 0x71, + 0x73, 0xA5, 0x5F, 0x99, 0x85, 0xD6, 0x47, 0xE5, 0xF4, 0x50, 0x71, 0xB0, 0xCF, 0xAC, 0x72, 0x2A, + 0x28, 0x54, 0x0E, 0x1B, 0x53, 0xFB, 0xAD, 0xC2, 0x75, 0xB8, 0xAD, 0xD7, 0x64, 0xFA, 0x68, 0xF1, + 0x4C, 0x07, 0x6F, 0xAB, 0x28, 0x7B, 0xA9, 0x09, 0xE8, 0xC9, 0x24, 0xC1, 0x05, 0x97, 0x26, 0x14, + 0x42, 0x8A, 0x53, 0x35, 0x30, 0x99, 0x1C, 0x82, 0x08, 0xEA, 0x67, 0x87, 0xEB, 0xC2, 0xA1, 0x5A, + 0x52, 0x1A, 0xBF, 0xC9, 0x92, 0xAC, 0x02, 0x73, 0xD6, 0x5C, 0x7A, 0x22, 0x22, 0x75, 0xFB, 0x21, + 0x62, 0x67, 0x0C, 0x48, 0x31, 0x99, 0x62, 0x15, 0x6C, 0x97, 0xC3, 0xA8, 0xEF, 0xCA, 0x10, 0x87, + 0xF4, 0x31, 0x0B, 0xA0, 0xC3, 0xEE, 0x59, 0x25, 0xC0, 0xE1, 0x0F, 0x1D, 0xC1, 0xF3, 0x76, 0x64, + 0x53, 0x0A, 0x8D, 0x10, 0xF6, 0x73, 0x73, 0xD4, 0x8B, 0xA0, 0xB6, 0xDF, 0x92, 0x01, 0xB2, 0x6D, + 0xF3, 0xDA, 0x6E, 0x85, 0xE8, 0xE4, 0xDB, 0x24, 0x9D, 0xA5, 0x75, 0x2A, 0x7C, 0x6B, 0x1E, 0xF8, + 0xEC, 0xA9, 0x39, 0x77, 0xDA, 0x1A, 0x2F, 0x45, 0x35, 0x7A, 0x6F, 0x28, 0xFB, 0xB1, 0x22, 0xD8, + 0xD2, 0x09, 0x13, 0x78, 0xDA, 0x5E, 0x14, 0x60, 0x6D, 0x3E, 0x07, 0xC6, 0xF8, 0x5B, 0x5A, 0x16, + 0x3B, 0xB7, 0xC2, 0x8D, 0xC6, 0xAC, 0xA0, 0xDB, 0x75, 0x78, 0xB2, 0x0B, 0x89, 0xE8, 0x8D, 0x01, + 0x90, 0x64, 0x09, 0x5A, 0x1C, 0xF8, 0x5C, 0x15, 0xC6, 0x6F, 0xA3, 0x88, 0x2B, 0x28, 0x31, 0x26, + 0x30, 0x97, 0x4F, 0x5D, 0x54, 0xD4, 0x2D, 0x40, 0xDA, 0x7B, 0xA0, 0x48, 0xE0, 0xA0, 0xA0, 0xF0, + 0xFA, 0x14, 0x93, 0x40, 0xEF, 0xEA, 0x47, 0x2D, 0x0C, 0x36, 0x82, 0xF1, 0x05, 0xBF, 0x46, 0x0E, + 0x30, 0xA1, 0x5D, 0x4C, 0x41, 0x79, 0x2E, 0xF2, 0x90, 0x58, 0x53, 0xBA, 0x6B, 0xC1, 0x64, 0xD2, + 0x81, 0x31, 0x0E, 0x11, 0xA0, 0x1E, 0x24, 0xCB, 0x52, 0xAA, 0x10, 0xE6, 0x6C, 0xEE, 0x78, 0xE6, + 0xCC, 0x16, 0x42, 0xC3, 0x9E, 0x2C, 0x16, 0x40, 0xAC, 0x28, 0x96, 0x16, 0x6D, 0xCB, 0xFB, 0xBC, + 0x73, 0x09, 0x47, 0x49, 0x27, 0x24, 0x01, 0xE4, 0x94, 0xF7, 0x97, 0x74, 0x5C, 0x16, 0x07, 0x3D, + 0x93, 0xFF, 0xA8, 0x3C, 0x26, 0xBD, 0xC2, 0x5F, 0x6F, 0x31, 0x6B, 0x65, 0x3F, 0xF3, 0xF6, 0xED, + 0xA4, 0xAD, 0xD4, 0x6D, 0x77, 0x50, 0xDB, 0x38, 0xDB, 0x6F, 0x4C, 0x72, 0x15, 0x21, 0xD2, 0x8B, + 0xE4, 0xDF, 0x9F, 0xFC, 0x87, 0xFD, 0x46, 0xF0, 0xBA, 0x09, 0x10, 0xFB, 0x41, 0xFF, 0x24, 0x19, + 0x10, 0x7B, 0x37, 0x75, 0x93, 0x14, 0x88, 0xFD, 0x1A, 0xF9, 0x12, 0x39, 0x10, 0xFB, 0x2A, 0xA0, + 0xCC, 0xE8, 0x1D, 0xBA, 0x19, 0xA6, 0xEE, 0xB8, 0xA9, 0x52, 0xDA, 0x47, 0xC5, 0xFC, 0x7F, 0xF6, + 0xB2, 0x4F, 0x74, 0x5E, 0xEC, 0x7A, 0xC7, 0xEB, 0xFA, 0x40, 0xFE, 0x7F, 0xFA, 0xB2, 0x9E, 0xE9, + 0xCB, 0x7A, 0x0C, 0xD8, 0x4D, 0xF3, 0x97, 0x41, 0x13, 0x0D, 0x0B, 0x7F, 0xAF, 0x5D, 0xC9, 0xED, + 0xE6, 0x31, 0x43, 0xC4, 0xC2, 0xE5, 0xB1, 0x5F, 0x4E, 0xB3, 0xAF, 0x2D, 0x85, 0xD1, 0xAD, 0xA7, + 0x17, 0x12, 0x9B, 0x67, 0x31, 0x61, 0xB3, 0xA7, 0x67, 0x1B, 0x68, 0x4D, 0xF6, 0x16, 0x26, 0x62, + 0x88, 0x15, 0x5B, 0xB3, 0x5E, 0xCF, 0xC2, 0xDC, 0x1C, 0xFA, 0x72, 0x5D, 0x01, 0x83, 0xB6, 0x54, + 0x4C, 0xA1, 0xF3, 0x62, 0x14, 0xBC, 0x1A, 0x7D, 0xC4, 0x4D, 0x85, 0x36, 0xEC, 0x71, 0x7B, 0x16, + 0x40, 0x15, 0x30, 0x42, 0x9F, 0x94, 0xCE, 0xB3, 0x6A, 0x36, 0xD5, 0xE8, 0x31, 0xA4, 0xC3, 0x1B, + 0xAC, 0x15, 0x66, 0xDC, 0xDB, 0x61, 0x9F, 0xF4, 0x68, 0x6C, 0x88, 0xFD, 0x24, 0x14, 0x76, 0xF2, + 0xA7, 0x0D, 0xFB, 0x64, 0xE6, 0xEA, 0xD1, 0xB8, 0xD1, 0xF8, 0xDC, 0x68, 0x37, 0x8E, 0xC5, 0x69, + 0x1C, 0xB2, 0x20, 0xD0, 0x21, 0xCC, 0xE0, 0x00, 0x0B, 0x28, 0xF0, 0x98, 0xBA, 0xAC, 0x40, 0x2F, + 0xC4, 0x23, 0xDC, 0xDD, 0xD5, 0xE0, 0x71, 0x1C, 0xD8, 0x62, 0x4E, 0xD2, 0xAE, 0xF9, 0xD9, 0xD8, + 0x9C, 0x7B, 0x04, 0x38, 0x12, 0x4C, 0x05, 0xFD, 0x6C, 0xDC, 0xF8, 0x29, 0xF5, 0xE9, 0x00, 0xEF, + 0xDE, 0xE8, 0x81, 0x87, 0x83, 0x44, 0x61, 0x11, 0x25, 0x30, 0x93, 0xF0, 0x86, 0x77, 0xE4, 0x81, + 0x37, 0x1B, 0xC7, 0xAD, 0x4A, 0xD5, 0x3C, 0x3E, 0xEA, 0x99, 0xBA, 0xA9, 0x8F, 0x10, 0xFA, 0xB4, + 0x67, 0xF9, 0x6E, 0x72, 0x8E, 0x18, 0x69, 0x63, 0x02, 0xE1, 0x8A, 0xF7, 0x59, 0xDA, 0xE0, 0x0F, + 0xED, 0xD4, 0xCD, 0x78, 0x5F, 0x75, 0xC2, 0x30, 0x0E, 0x19, 0xC4, 0xA8, 0xE1, 0x65, 0x0F, 0x5D, + 0xCD, 0x29, 0xDF, 0xCB, 0xB7, 0xE9, 0xA2, 0x2E, 0x22, 0xD4, 0x3E, 0x09, 0x92, 0x61, 0xD6, 0x3F, + 0xB0, 0x5B, 0x48, 0x1C, 0x25, 0x7B, 0x22, 0x81, 0xAD, 0xB2, 0xF9, 0x12, 0xA2, 0x1E, 0xD0, 0x21, + 0x99, 0x26, 0x5E, 0xB8, 0xC7, 0xCF, 0xF0, 0xFB, 0x12, 0x26, 0xB2, 0x8E, 0x4F, 0x98, 0xC7, 0x1F, + 0x32, 0xA7, 0x78, 0xF4, 0x00, 0x4C, 0x05, 0xE9, 0xFB, 0xE6, 0x81, 0x52, 0x47, 0x44, 0x8E, 0x73, + 0x65, 0xC3, 0x68, 0x1E, 0x12, 0xE5, 0x3C, 0xC2, 0x26, 0x0C, 0x11, 0x88, 0x23, 0x65, 0xC1, 0xC1, + 0x4F, 0x46, 0x0C, 0x12, 0xCF, 0x03, 0x66, 0xE9, 0x5E, 0x55, 0x03, 0x71, 0x75, 0xE8, 0x9E, 0x80, + 0x33, 0x67, 0xAE, 0x0F, 0xF8, 0x2C, 0x1A, 0xC7, 0x13, 0xBD, 0x3C, 0x01, 0xF9, 0x94, 0x27, 0x33, + 0x5B, 0x52, 0xB4, 0xE6, 0x0B, 0x3A, 0x18, 0xD7, 0x44, 0xFF, 0xA4, 0x47, 0xA2, 0xA0, 0x23, 0x0B, + 0x45, 0x62, 0x89, 0x10, 0x3D, 0x39, 0xA3, 0x87, 0xC2, 0xD6, 0x3A, 0x65, 0x35, 0x07, 0x9D, 0x05, + 0x41, 0x43, 0xBB, 0x8D, 0xC7, 0xB0, 0xD4, 0xDC, 0xAE, 0xF6, 0xED, 0xCF, 0xBF, 0x5A, 0xCE, 0x7E, + 0xED, 0x3C, 0xCF, 0xB2, 0x5F, 0xA3, 0xE4, 0x30, 0xED, 0x93, 0x54, 0x87, 0x9E, 0x1A, 0x77, 0xE7, + 0x15, 0x1C, 0xF8, 0x8C, 0xA9, 0x4B, 0x40, 0xA8, 0x04, 0xC2, 0x95, 0xCC, 0x09, 0x6F, 0x11, 0x4E, + 0xE9, 0xC2, 0x86, 0x09, 0x3F, 0x04, 0x4A, 0xD5, 0x1F, 0xA9, 0x2E, 0xBD, 0x29, 0x67, 0xA3, 0x08, + 0x94, 0x8C, 0x72, 0x45, 0x4E, 0x92, 0x79, 0x8A, 0x47, 0x05, 0x7E, 0x05, 0x97, 0x0C, 0x6D, 0x8C, + 0x12, 0x5E, 0x48, 0x93, 0xC0, 0x68, 0x8E, 0x21, 0x2A, 0x56, 0x23, 0x13, 0x36, 0xE6, 0x61, 0xE5, + 0xB7, 0x0D, 0xD0, 0x74, 0x07, 0xA8, 0x25, 0x25, 0xFB, 0x8F, 0x56, 0xA0, 0x92, 0xC3, 0x49, 0x92, + 0x67, 0xF0, 0xAE, 0x01, 0xC1, 0x3D, 0x21, 0x62, 0xB8, 0xAB, 0x29, 0xD7, 0x5F, 0x1C, 0xA0, 0xF4, + 0xDC, 0xBA, 0x00, 0x56, 0xB3, 0x7A, 0x49, 0xBB, 0xB7, 0x18, 0x4E, 0xAF, 0x9E, 0x83, 0xDD, 0x53, + 0xDF, 0xB8, 0x13, 0x9D, 0x97, 0xC5, 0x95, 0x9F, 0xFD, 0xEC, 0xD4, 0xAC, 0x08, 0xD8, 0x6D, 0x52, + 0x7F, 0x39, 0x7F, 0x10, 0xEA, 0xF7, 0x08, 0x19, 0xD5, 0x64, 0x12, 0xEA, 0x6A, 0xE0, 0xE0, 0x18, + 0xAB, 0x21, 0x26, 0x4A, 0x2D, 0x0B, 0x9E, 0x18, 0x70, 0xF2, 0x0C, 0x36, 0x3A, 0xB0, 0xA6, 0x52, + 0xAF, 0xA1, 0x71, 0x3D, 0x01, 0xE0, 0x96, 0x17, 0x7A, 0x27, 0x91, 0x75, 0x84, 0xB6, 0x72, 0xD1, + 0x32, 0xA6, 0xD9, 0xC4, 0x02, 0xC7, 0x52, 0x7F, 0x36, 0xA3, 0x34, 0xA4, 0xD4, 0x3F, 0xC6, 0x10, + 0x2C, 0x9F, 0x15, 0x23, 0x45, 0xD8, 0x08, 0x22, 0x88, 0xAE, 0xE2, 0x32, 0x61, 0x2F, 0x3C, 0xFD, + 0x53, 0xD9, 0x08, 0x8A, 0x04, 0xA1, 0xAB, 0x49, 0x78, 0xD4, 0x69, 0x25, 0x36, 0xAD, 0x5B, 0x4D, + 0x36, 0x8D, 0x8B, 0x70, 0x0F, 0x4E, 0xC8, 0xE3, 0x1C, 0x7A, 0xD3, 0x43, 0xE9, 0xB7, 0xA7, 0xA5, + 0x99, 0xFC, 0xB8, 0x7C, 0x45, 0xA7, 0x3A, 0xA3, 0x6D, 0x5D, 0xAE, 0x82, 0x61, 0xE4, 0x55, 0x17, + 0xEB, 0x68, 0xDC, 0x9C, 0xAE, 0x40, 0xDD, 0x6E, 0x64, 0xB1, 0xEA, 0xE3, 0x1E, 0x61, 0x23, 0x47, + 0x0D, 0xB2, 0xCD, 0x45, 0x55, 0xB8, 0x19, 0xF1, 0x60, 0x35, 0x46, 0x23, 0xA9, 0xC2, 0xD5, 0xCF, + 0x7D, 0x87, 0x9B, 0x99, 0x67, 0xBA, 0xEA, 0x4C, 0xCE, 0x78, 0x91, 0x8B, 0x7F, 0x06, 0x0B, 0x52, + 0xB2, 0x32, 0x3D, 0x88, 0x0A, 0x35, 0x83, 0xF0, 0xF8, 0x57, 0xA7, 0x4B, 0x4E, 0xF0, 0x32, 0xD6, + 0x8F, 0x3E, 0x9A, 0xB7, 0xD5, 0x49, 0xCD, 0x8E, 0x0B, 0x48, 0x6C, 0x19, 0x4F, 0xF9, 0x72, 0xA1, + 0x7E, 0xA3, 0xE1, 0xB0, 0x12, 0x43, 0x31, 0x83, 0xE3, 0x8C, 0x08, 0xC5, 0xC1, 0x8F, 0xE4, 0x11, + 0x38, 0x65, 0x64, 0xA5, 0x4C, 0x83, 0xB2, 0x5A, 0x63, 0x76, 0x56, 0xBA, 0x2B, 0x33, 0xA3, 0xA5, + 0xA6, 0xC6, 0xD7, 0xB4, 0x64, 0xC8, 0xA4, 0xE3, 0x71, 0x30, 0xB6, 0x55, 0xB1, 0x36, 0x97, 0xB2, + 0xC1, 0xA2, 0x2E, 0xA7, 0x08, 0xEE, 0x22, 0xA8, 0xEE, 0x83, 0x4B, 0x67, 0x89, 0x39, 0xA3, 0x27, + 0x1B, 0x08, 0xDC, 0x96, 0xC6, 0xD1, 0x48, 0x68, 0x84, 0x76, 0x83, 0xD1, 0xC0, 0xA5, 0x00, 0xDB, + 0xC0, 0x59, 0x5C, 0x82, 0x6C, 0xA1, 0xA3, 0x98, 0xB0, 0x59, 0xC2, 0xB5, 0x84, 0x16, 0x4D, 0xC4, + 0xC6, 0x05, 0x10, 0xCD, 0x41, 0x1F, 0x00, 0x5E, 0xB1, 0x35, 0x4B, 0xCF, 0x55, 0xF1, 0x17, 0xB9, + 0x20, 0x8A, 0x70, 0x30, 0xF8, 0x09, 0x3D, 0x45, 0x51, 0x90, 0x6B, 0xEF, 0x90, 0xA6, 0x66, 0xEB, + 0x41, 0xF1, 0xBA, 0x38, 0x63, 0x8A, 0x59, 0xE2, 0x26, 0x4C, 0xBD, 0xE4, 0xE2, 0x16, 0x17, 0x3B, + 0x43, 0xE5, 0xEA, 0xAC, 0x75, 0x0C, 0x1B, 0x42, 0x25, 0x14, 0x5E, 0xA1, 0x51, 0xE5, 0x04, 0x54, + 0xBA, 0x34, 0x48, 0x6C, 0x3C, 0x2D, 0x41, 0xB3, 0x55, 0xF0, 0x1A, 0xE7, 0x9F, 0xE2, 0x90, 0x6B, + 0xCF, 0xC1, 0x26, 0x3E, 0xFD, 0x04, 0x53, 0x51, 0xC0, 0x06, 0x74, 0xE8, 0x9E, 0x74, 0xD6, 0x38, + 0xF6, 0x3E, 0xF5, 0xF3, 0xDD, 0x6D, 0xF0, 0x73, 0xC0, 0xD3, 0x7D, 0x7B, 0x20, 0xC5, 0x1C, 0xB1, + 0xBD, 0xB6, 0x0B, 0xA7, 0x16, 0xBE, 0xC2, 0x7D, 0xC2, 0x4F, 0x7E, 0x3C, 0xE8, 0x31, 0xF5, 0xC4, + 0x20, 0x23, 0x88, 0xBB, 0x1C, 0x19, 0x72, 0x65, 0x07, 0xF7, 0x7D, 0xFB, 0x12, 0x8C, 0x33, 0x1E, + 0x13, 0xFA, 0x9C, 0xD7, 0xDD, 0x65, 0x77, 0xBE, 0x3C, 0xBE, 0xAE, 0xC0, 0x4C, 0x58, 0x8B, 0x61, + 0x36, 0x4B, 0x0A, 0xB0, 0x53, 0x22, 0x8E, 0x88, 0xB4, 0x1F, 0x48, 0x4C, 0x45, 0xB4, 0x38, 0x0C, + 0x0C, 0x05, 0xB2, 0xE2, 0x43, 0x4D, 0xC0, 0x42, 0xD9, 0x9C, 0x5D, 0x2D, 0xA9, 0x82, 0x79, 0x2C, + 0x1B, 0xB2, 0xC5, 0xAC, 0xB1, 0xE9, 0x4A, 0x72, 0x4C, 0x78, 0x92, 0x63, 0x92, 0x4D, 0x97, 0x38, + 0x6B, 0x60, 0xCF, 0xA6, 0xB7, 0xB5, 0xD1, 0xA9, 0x16, 0x20, 0x22, 0x73, 0xA4, 0x47, 0x31, 0xE8, + 0x46, 0x59, 0x4D, 0x62, 0x3E, 0xFD, 0x80, 0x2B, 0x53, 0x86, 0xA7, 0xA2, 0xC6, 0x70, 0x64, 0xB4, + 0xDA, 0x10, 0x6E, 0xD5, 0x08, 0xB8, 0x1B, 0x6A, 0x91, 0x33, 0xBF, 0xE4, 0xF0, 0x87, 0x11, 0xBC, + 0x22, 0x89, 0x88, 0x5B, 0xAA, 0x5A, 0x3A, 0x0B, 0x9F, 0x55, 0x1C, 0x9B, 0xD2, 0xD4, 0x1A, 0x85, + 0x8D, 0x22, 0x14, 0x92, 0xF0, 0x88, 0x6A, 0x3E, 0xBE, 0xAE, 0x73, 0x80, 0x77, 0xD0, 0xBA, 0xEB, + 0x4E, 0xE8, 0xAB, 0xFC, 0xE2, 0xDD, 0xEE, 0x2E, 0x95, 0x1C, 0xAF, 0xD4, 0xB4, 0x55, 0x92, 0x4B, + 0xDF, 0x25, 0x76, 0x38, 0x2B, 0x96, 0xC9, 0x56, 0x15, 0x1E, 0x80, 0x55, 0x60, 0xB6, 0xBF, 0x3D, + 0x3C, 0x7E, 0xB5, 0x03, 0xE4, 0x2C, 0x22, 0x98, 0x8D, 0x65, 0x4E, 0x29, 0x57, 0xC4, 0x26, 0x8A, + 0x9F, 0xAC, 0x73, 0xEB, 0x68, 0x89, 0x1E, 0x13, 0x82, 0x78, 0x3C, 0x12, 0x76, 0xB3, 0x4B, 0x68, + 0x68, 0x20, 0x80, 0xD4, 0x09, 0xB0, 0xE8, 0x2D, 0xD6, 0x02, 0xD2, 0x8D, 0x97, 0x73, 0x95, 0x35, + 0xD7, 0xCA, 0x2E, 0x82, 0xE8, 0xD8, 0xA7, 0xA5, 0xD4, 0x11, 0xDA, 0xDD, 0x85, 0xE0, 0xB5, 0xE3, + 0x75, 0xF3, 0x9B, 0x74, 0x82, 0x08, 0xCD, 0xED, 0xDE, 0x0A, 0xF7, 0xF1, 0xA8, 0xE0, 0x91, 0x7B, + 0xA7, 0xB7, 0x61, 0x5F, 0x15, 0xD3, 0x28, 0x5C, 0x85, 0xBE, 0x95, 0x5A, 0x0C, 0x79, 0x1B, 0x4B, + 0xB0, 0x68, 0xD9, 0x54, 0xE5, 0xC5, 0x09, 0xA3, 0xE0, 0x1E, 0x72, 0x6A, 0x94, 0xE8, 0xCD, 0xB1, + 0x3F, 0x16, 0x07, 0x8D, 0x23, 0xA6, 0xD9, 0xD2, 0x0E, 0x2F, 0xD6, 0x97, 0xBD, 0xD5, 0x9E, 0xEF, + 0x70, 0x20, 0x30, 0xEE, 0x04, 0x81, 0xBF, 0x48, 0x6F, 0x76, 0x4D, 0x78, 0x89, 0x4D, 0x7C, 0x06, + 0x31, 0x47, 0x69, 0xE9, 0xA0, 0xF2, 0x1E, 0x1E, 0x52, 0xD6, 0x56, 0x62, 0x0F, 0xB7, 0x79, 0x9C, + 0xC3, 0x5A, 0x82, 0x43, 0x34, 0xE8, 0x30, 0xF6, 0x54, 0xB2, 0xA4, 0x09, 0x68, 0x45, 0x74, 0xFA, + 0x0E, 0x82, 0x9F, 0x72, 0xAC, 0xA9, 0xEA, 0x74, 0x6D, 0x67, 0x99, 0x02, 0xC3, 0xA7, 0x97, 0xC0, + 0x0A, 0xE6, 0x8C, 0x81, 0x99, 0xC2, 0x38, 0x36, 0xAF, 0x30, 0x34, 0x54, 0xF3, 0xB8, 0x42, 0x9A, + 0x76, 0x3C, 0xBA, 0xA0, 0x98, 0x61, 0xAA, 0xD4, 0x58, 0xCD, 0x07, 0xB8, 0xDE, 0xB0, 0x29, 0x40, + 0xAA, 0xB2, 0xAA, 0x08, 0xA8, 0xC0, 0xFA, 0x96, 0x29, 0xB2, 0xE1, 0xF6, 0xBA, 0x4E, 0xF9, 0x20, + 0x8B, 0x12, 0x56, 0x48, 0x3F, 0xD7, 0xFA, 0xAC, 0xF7, 0x1E, 0xB0, 0x25, 0x3F, 0xAE, 0x64, 0x41, + 0xCF, 0x4A, 0xCF, 0x24, 0x17, 0x8C, 0x32, 0xA6, 0xD9, 0x85, 0x82, 0x3A, 0xF5, 0x30, 0xD6, 0xD4, + 0x3D, 0x61, 0x6C, 0x60, 0x73, 0x84, 0x02, 0x57, 0x61, 0x85, 0x4A, 0xDE, 0x29, 0x76, 0x84, 0xBF, + 0xE6, 0xA9, 0x32, 0xDD, 0x0A, 0xFD, 0x15, 0x61, 0x55, 0x10, 0x5A, 0xC8, 0x6A, 0x6D, 0x76, 0x09, + 0xA2, 0x79, 0xB7, 0xFF, 0x5B, 0x21, 0x66, 0x38, 0xA9, 0xCB, 0x5E, 0xD7, 0xE3, 0xCA, 0x2A, 0x03, + 0xF3, 0x36, 0xDC, 0x5D, 0xC4, 0xE1, 0xEA, 0x9C, 0x75, 0x0B, 0xDB, 0x76, 0xB8, 0xED, 0x38, 0x1C, + 0xE2, 0x90, 0x4A, 0xF7, 0xD1, 0xF7, 0x44, 0x33, 0xE2, 0xCA, 0xA6, 0xB9, 0xAC, 0x22, 0x67, 0xD3, + 0x5A, 0x55, 0x46, 0x0A, 0xF5, 0x57, 0x63, 0xA4, 0x3D, 0xFB, 0x7A, 0x0C, 0x37, 0x4E, 0xD7, 0xF4, + 0x7F, 0x37, 0xCB, 0x4D, 0x0A, 0x61, 0x5D, 0xC8, 0x8F, 0x1A, 0x77, 0x2B, 0x88, 0x4C, 0xC4, 0x35, + 0x12, 0x65, 0x8D, 0x6C, 0x21, 0xEC, 0xEC, 0xFF, 0x28, 0xCD, 0xB8, 0x0E, 0x2D, 0xE5, 0xAA, 0x62, + 0x67, 0x37, 0x75, 0x7D, 0x15, 0xDC, 0x69, 0xF4, 0xB6, 0x3E, 0x1A, 0x0C, 0x0C, 0x6B, 0x78, 0xEC, + 0xDD, 0x13, 0x44, 0xF0, 0x9F, 0xD1, 0x5E, 0xD4, 0xDC, 0x5E, 0x6B, 0xEE, 0xD5, 0xE3, 0xFC, 0xDC, + 0x7F, 0xD7, 0x8D, 0x4C, 0xBC, 0x20, 0x5B, 0x9A, 0xDA, 0x23, 0x11, 0x43, 0x57, 0xB5, 0x1B, 0xFB, + 0xB0, 0x47, 0x36, 0x0D, 0xE8, 0x7A, 0x66, 0x8E, 0x69, 0x75, 0xE1, 0x45, 0x20, 0x5E, 0x19, 0x9F, + 0x6B, 0x83, 0xAB, 0xAA, 0x21, 0xA9, 0xDF, 0xBB, 0x4D, 0x54, 0xC1, 0x6B, 0x64, 0xA8, 0xFF, 0x04, + 0x49, 0xE9, 0xF5, 0xA9, 0x3A, 0x10, 0xA1, 0x6E, 0x5A, 0x04, 0x3A, 0x1C, 0xE5, 0x88, 0x26, 0x7C, + 0xC3, 0xA1, 0x0B, 0x3C, 0x18, 0xEA, 0xAC, 0x14, 0xF5, 0x7C, 0xEB, 0x61, 0x17, 0x68, 0x87, 0x45, + 0x3C, 0xEE, 0x20, 0xC3, 0x69, 0xD8, 0x50, 0x38, 0xEC, 0x27, 0x50, 0x90, 0x1A, 0x7C, 0xF2, 0xE2, + 0xE0, 0x9B, 0x67, 0x4F, 0x8E, 0xE8, 0x10, 0xD4, 0xD1, 0xF1, 0x09, 0x3D, 0xF4, 0x3E, 0x08, 0xD5, + 0x85, 0xCB, 0xD0, 0x36, 0x52, 0xCB, 0x74, 0xF3, 0xDC, 0xA1, 0xCA, 0x7C, 0xE0, 0x40, 0xF1, 0x17, + 0x6D, 0x23, 0x61, 0x14, 0x40, 0xCB, 0x03, 0xAE, 0xF6, 0x5C, 0xCD, 0xB9, 0xE0, 0x41, 0x91, 0xC5, + 0x8D, 0x0D, 0x5E, 0xFA, 0x41, 0x2B, 0xA1, 0x7B, 0x22, 0xA8, 0x47, 0xCA, 0x7B, 0xA6, 0x55, 0xF4, + 0xF7, 0xDE, 0x13, 0x96, 0x29, 0xA0, 0x87, 0x21, 0xE4, 0x25, 0xFE, 0xB4, 0xDF, 0x32, 0x20, 0x0F, + 0xFB, 0x1C, 0x41, 0xB4, 0xAC, 0xF0, 0x3A, 0xF9, 0x71, 0x98, 0x5A, 0xBF, 0xEB, 0xCE, 0x88, 0xFF, + 0xFC, 0xF3, 0x5F, 0xC4, 0x67, 0xFF, 0xF9, 0xE7, 0xBF, 0x81, 0xBC, 0x86, 0x22, 0xDD, 0xC9, 0x4A, + 0x61, 0x9E, 0x7A, 0x0C, 0x1B, 0xC6, 0x0C, 0xB6, 0xAD, 0x4F, 0x2E, 0x6B, 0xB4, 0x51, 0xFE, 0x89, + 0x59, 0x98, 0xC4, 0x33, 0xBF, 0x76, 0x04, 0x36, 0x59, 0x96, 0xA0, 0xBD, 0xF5, 0xCB, 0x11, 0xC2, + 0xBF, 0xA5, 0x65, 0xE8, 0x16, 0x96, 0x20, 0xE8, 0x52, 0xDF, 0xA5, 0xA7, 0xEF, 0x76, 0xAA, 0x77, + 0x22, 0x70, 0x16, 0xF1, 0xDD, 0xA9, 0xC0, 0x59, 0xED, 0xEA, 0x15, 0x7D, 0xF8, 0xB9, 0x34, 0xA5, + 0x6B, 0x2A, 0x48, 0x21, 0x6F, 0xF6, 0x5A, 0x40, 0xBB, 0x57, 0x73, 0x87, 0xBA, 0x6B, 0xD7, 0xCD, + 0x9B, 0xAF, 0xE7, 0x92, 0x85, 0xFA, 0x93, 0xAE, 0xEB, 0xD1, 0x2B, 0x60, 0x3C, 0x80, 0xC2, 0xD7, + 0x6C, 0x8C, 0x71, 0x57, 0x5C, 0x09, 0xA3, 0x80, 0x89, 0x0C, 0xB2, 0x6D, 0x81, 0xC0, 0xA9, 0x20, + 0x65, 0x62, 0x3B, 0xF0, 0x5B, 0xD6, 0x12, 0xAE, 0x75, 0xE9, 0x46, 0x77, 0x56, 0x60, 0x21, 0x43, + 0xB0, 0xD0, 0x52, 0xDA, 0xDF, 0x80, 0xED, 0x1F, 0x35, 0x4D, 0x86, 0xBE, 0x4B, 0xEC, 0x66, 0x07, + 0xEE, 0xB9, 0x89, 0xE7, 0xB4, 0x59, 0x2A, 0xE9, 0xE4, 0x3D, 0xBF, 0x81, 0x18, 0x19, 0xF3, 0xE0, + 0x9C, 0x68, 0x30, 0x87, 0xF0, 0xD5, 0x1B, 0x73, 0x16, 0xDF, 0x2C, 0x3A, 0xD2, 0xE1, 0xDB, 0x3A, + 0x86, 0xCF, 0x78, 0xF5, 0x3A, 0x37, 0xA1, 0x10, 0x0A, 0x7B, 0xAD, 0x36, 0xD6, 0xE1, 0x01, 0xFC, + 0x9E, 0xA7, 0xED, 0xA5, 0x8F, 0xFB, 0xB2, 0x59, 0xFC, 0x8A, 0xCF, 0xDA, 0x7B, 0x4B, 0xED, 0x24, + 0x9B, 0x01, 0x35, 0x2D, 0x9A, 0x2E, 0x2B, 0x69, 0x73, 0xC6, 0xF7, 0xDA, 0xB4, 0x6C, 0x0F, 0x2B, + 0xF7, 0xA8, 0xF9, 0x1D, 0xEB, 0x4E, 0x4C, 0xF2, 0x52, 0xC8, 0x71, 0xD5, 0x8B, 0xE2, 0x0A, 0xFA, + 0x48, 0xB0, 0x2C, 0xDB, 0x44, 0x53, 0x3A, 0xB7, 0xCB, 0xAC, 0x3B, 0x0D, 0x84, 0x2B, 0x39, 0x81, + 0x29, 0xC3, 0x97, 0xC4, 0x9C, 0x6D, 0xBC, 0x82, 0x80, 0xDC, 0xE2, 0x4F, 0xA9, 0xEB, 0x5D, 0x2C, + 0xC3, 0xB5, 0x5A, 0x28, 0x20, 0xA4, 0x1B, 0xDA, 0x4A, 0xAA, 0x5C, 0x60, 0x17, 0x8D, 0x30, 0x19, + 0xDD, 0x88, 0xD2, 0xBE, 0x61, 0x22, 0xBA, 0x51, 0xE0, 0x87, 0xA6, 0x55, 0xBB, 0x54, 0xD4, 0x23, + 0x12, 0x41, 0x10, 0x09, 0xA6, 0xCC, 0x74, 0x2C, 0x49, 0x7C, 0xB6, 0x97, 0x22, 0x19, 0x66, 0x62, + 0xE8, 0x81, 0xC3, 0x03, 0xA6, 0xA2, 0x73, 0x53, 0x9E, 0xD8, 0xA2, 0x4C, 0xE5, 0x90, 0x3D, 0x94, + 0xAC, 0xD9, 0x8F, 0xB6, 0x10, 0x43, 0xD2, 0xDC, 0x11, 0xC1, 0xAD, 0x35, 0x5B, 0xB9, 0x0F, 0x68, + 0x58, 0xB7, 0xCF, 0xFA, 0xD2, 0x6C, 0x43, 0xD9, 0x26, 0x92, 0x05, 0x35, 0x11, 0x62, 0xBC, 0xA1, + 0xED, 0x66, 0xC7, 0xC9, 0xAD, 0x6A, 0x7B, 0x6E, 0xBA, 0xFB, 0xF7, 0xEE, 0x35, 0xA2, 0x87, 0xC5, + 0x5F, 0x33, 0xF4, 0xC7, 0x6B, 0x4F, 0xE1, 0x84, 0x73, 0xC9, 0x56, 0xA3, 0x8C, 0xB3, 0x0C, 0x29, + 0x47, 0x04, 0x5E, 0x2E, 0x38, 0xD7, 0x58, 0x65, 0xAC, 0x40, 0xE7, 0xE9, 0x34, 0xCB, 0x73, 0xF7, + 0x8E, 0x50, 0xE8, 0xA2, 0x96, 0x60, 0x9F, 0x60, 0x8E, 0x81, 0xD9, 0xBF, 0x93, 0x93, 0x0C, 0x97, + 0xF6, 0x67, 0xDE, 0x4E, 0xB6, 0xB5, 0x23, 0xF1, 0x69, 0xBF, 0x64, 0x02, 0x0F, 0xE0, 0x11, 0x72, + 0x1F, 0xA2, 0xE4, 0x96, 0xB6, 0x8C, 0x21, 0x33, 0x76, 0x79, 0xCF, 0x04, 0x88, 0xC4, 0xB3, 0xAB, + 0x78, 0xA5, 0x12, 0x2E, 0x12, 0x24, 0x66, 0xF0, 0xE1, 0x28, 0x84, 0x91, 0x13, 0x0F, 0xF6, 0x04, + 0x42, 0x49, 0x1A, 0x47, 0x9B, 0xC5, 0xFD, 0x77, 0xC4, 0xB6, 0xED, 0x4E, 0xC0, 0x20, 0x0A, 0xDE, + 0xBF, 0x95, 0xAD, 0x09, 0x22, 0x5F, 0xD8, 0xCB, 0x8E, 0x4B, 0x7A, 0x9E, 0xBD, 0x54, 0xCE, 0x65, + 0x50, 0x32, 0x2F, 0x4A, 0x62, 0xD8, 0xCA, 0xCD, 0x1E, 0x0A, 0x62, 0x3A, 0x45, 0x63, 0x68, 0x60, + 0x44, 0xFC, 0x14, 0x4A, 0xA7, 0xDA, 0x34, 0xC0, 0x3F, 0x21, 0xB7, 0xF8, 0xBB, 0x5A, 0x7B, 0x3B, + 0x3B, 0x8C, 0x0E, 0x88, 0x08, 0x16, 0x30, 0x14, 0x4A, 0x30, 0x11, 0x94, 0xFA, 0x2A, 0x8E, 0xA8, + 0x58, 0xAA, 0xAC, 0x3D, 0x03, 0xE2, 0x6F, 0x74, 0xDA, 0x39, 0x5C, 0xFD, 0xF9, 0x16, 0x19, 0x48, + 0xE7, 0xA4, 0x07, 0xC7, 0x44, 0x35, 0x2C, 0xE2, 0x2A, 0xAB, 0x76, 0xD1, 0x13, 0x36, 0x2C, 0xCA, + 0x29, 0x67, 0x72, 0x03, 0xC1, 0xBF, 0x87, 0xFC, 0xB3, 0xF7, 0x0A, 0x0E, 0xAA, 0x3F, 0x18, 0xDE, + 0xDB, 0xAB, 0xAA, 0x7A, 0xBC, 0x8B, 0x6F, 0xC0, 0xED, 0x30, 0xBE, 0xD8, 0x2D, 0x2E, 0x31, 0x2F, + 0x6E, 0x7A, 0xB5, 0x0B, 0xDF, 0x28, 0x61, 0xBD, 0xF2, 0x54, 0xF4, 0x9C, 0x44, 0xD1, 0x81, 0xCB, + 0xC9, 0x22, 0x9C, 0xD5, 0x21, 0xAC, 0xCE, 0xA5, 0x86, 0xCB, 0x78, 0x73, 0x6D, 0xD4, 0xF4, 0xB6, + 0x63, 0xB1, 0xA1, 0xE6, 0xC3, 0x39, 0xAB, 0xAE, 0x72, 0xD8, 0x78, 0x3A, 0x23, 0x38, 0xB4, 0xE7, + 0x47, 0xBC, 0x6A, 0xAE, 0x35, 0x33, 0x67, 0xC9, 0xE2, 0x09, 0x95, 0xEC, 0x39, 0x79, 0x34, 0xFC, + 0x93, 0x93, 0x97, 0x18, 0x3A, 0xC7, 0xB3, 0xC2, 0xF8, 0x6C, 0x38, 0xFD, 0x62, 0xFB, 0x71, 0x05, + 0xB8, 0x82, 0x03, 0xBE, 0xF5, 0x6A, 0x4A, 0x74, 0x30, 0xD3, 0xE4, 0x9F, 0x86, 0x3F, 0xBB, 0xF7, + 0xCB, 0x68, 0x8C, 0xCA, 0xF2, 0x84, 0x5C, 0x06, 0x9C, 0x20, 0x92, 0x25, 0xC4, 0xE1, 0x81, 0xA8, + 0x3F, 0xDA, 0x6F, 0xE8, 0xC9, 0xAD, 0xE7, 0xE2, 0x3A, 0x75, 0x01, 0xC4, 0xE8, 0x57, 0x83, 0xD3, + 0x9C, 0x0B, 0x8E, 0x36, 0xA6, 0xED, 0x04, 0x4E, 0x7D, 0xF0, 0xB4, 0x81, 0xDC, 0xAE, 0xE4, 0x60, + 0xA5, 0x05, 0x07, 0x31, 0xA1, 0xA3, 0xF7, 0x65, 0xC1, 0xB6, 0x3D, 0xE7, 0xE4, 0x40, 0x74, 0x70, + 0xF4, 0xF4, 0x84, 0x3F, 0xA5, 0x2A, 0x77, 0xE4, 0xFD, 0x7B, 0x51, 0x02, 0xF2, 0x0C, 0xDC, 0x79, + 0x2A, 0xE8, 0x2E, 0xBC, 0xCB, 0x1B, 0xB8, 0x98, 0x8F, 0xE7, 0xA6, 0xD9, 0x25, 0x62, 0x45, 0x9D, + 0xD6, 0xA7, 0xE1, 0xC1, 0xDD, 0x27, 0x9E, 0x8C, 0x39, 0x2A, 0x75, 0x08, 0xC2, 0x2D, 0xA0, 0x53, + 0x23, 0x5A, 0x40, 0x75, 0x3F, 0x79, 0xDF, 0xC7, 0x67, 0x7F, 0x31, 0xDD, 0x18, 0x0A, 0x8D, 0x2B, + 0x08, 0x34, 0x75, 0x0E, 0xDC, 0xB3, 0xC5, 0x01, 0xF4, 0x59, 0xCF, 0x40, 0x13, 0x1D, 0xA9, 0x45, + 0x80, 0x68, 0x05, 0xFD, 0x84, 0xA5, 0x92, 0x69, 0xC5, 0xDE, 0x12, 0x06, 0x63, 0xDA, 0x52, 0xDB, + 0x3F, 0x28, 0x5E, 0x21, 0x9D, 0xA8, 0x9A, 0x05, 0x50, 0x88, 0xD3, 0xA2, 0x90, 0x7E, 0x80, 0x11, + 0x3E, 0xB4, 0xC6, 0x47, 0x31, 0xCA, 0xDB, 0x77, 0xEB, 0xB9, 0x12, 0xE2, 0x93, 0x51, 0x91, 0xA4, + 0xDB, 0x00, 0xE0, 0x0C, 0xB1, 0x64, 0xCC, 0x36, 0x87, 0xC6, 0xD4, 0x94, 0x38, 0x3E, 0x6A, 0xBA, + 0x88, 0xB8, 0x75, 0xF1, 0xC3, 0x74, 0x67, 0xA4, 0x60, 0xB3, 0xDB, 0x5E, 0x01, 0x54, 0x67, 0x41, + 0xCC, 0x94, 0x68, 0xEE, 0x51, 0xB9, 0xC9, 0xFC, 0x62, 0x4C, 0x68, 0xD5, 0x43, 0x85, 0x88, 0xA6, + 0x95, 0x2C, 0x87, 0xD0, 0xB2, 0x4E, 0xEF, 0xAF, 0xD6, 0x99, 0x97, 0xC8, 0x47, 0xB6, 0xDB, 0xEC, + 0x99, 0x05, 0xCE, 0xBB, 0xC3, 0xD0, 0x3D, 0xC9, 0x36, 0x68, 0x4C, 0x9E, 0x29, 0x2E, 0xB6, 0xDD, + 0x2C, 0xD1, 0x37, 0x4D, 0x40, 0x28, 0x05, 0xB9, 0x84, 0xCF, 0xCE, 0xF6, 0x50, 0xF2, 0xED, 0x71, + 0xCC, 0x0C, 0x1C, 0x59, 0x5E, 0xE6, 0x70, 0xA6, 0x04, 0x06, 0x57, 0x62, 0x99, 0x1D, 0x78, 0x58, + 0x92, 0x9D, 0xED, 0x23, 0xA5, 0x7E, 0xFA, 0x6A, 0x2D, 0x9D, 0xD2, 0xC6, 0x1B, 0x94, 0x11, 0x6B, + 0xF1, 0x67, 0xE2, 0x42, 0xDA, 0x49, 0xE1, 0x70, 0x36, 0xF6, 0xB1, 0xB3, 0xA8, 0x96, 0xA0, 0xA1, + 0x3E, 0x2A, 0xD8, 0x5B, 0xD4, 0x4A, 0xC4, 0x39, 0xBE, 0xC1, 0x75, 0x29, 0xBB, 0xC0, 0x3D, 0xF1, + 0x8C, 0xD7, 0x20, 0x6B, 0x7E, 0xFF, 0xB8, 0xCF, 0x1A, 0xC4, 0x9A, 0xD0, 0x17, 0x5C, 0x84, 0xB0, + 0xF9, 0x4F, 0xB6, 0x08, 0x21, 0x13, 0xFB, 0x11, 0xE1, 0xB3, 0x2C, 0xA5, 0xB3, 0x09, 0x6A, 0x0F, + 0xC3, 0xC4, 0x28, 0x49, 0xAF, 0x36, 0xF7, 0xBA, 0x14, 0x13, 0xA5, 0x15, 0x06, 0x7C, 0x9C, 0xF8, + 0xF7, 0xB3, 0xBE, 0x55, 0x87, 0x94, 0x6E, 0x34, 0x54, 0xFA, 0x7E, 0x9B, 0x46, 0xD6, 0x21, 0xBC, + 0x7B, 0x3A, 0x61, 0xC3, 0x5E, 0x6B, 0xC4, 0x25, 0xF5, 0xAD, 0xEA, 0xBB, 0x11, 0xE2, 0x41, 0x89, + 0xC2, 0x0E, 0xF3, 0x75, 0x73, 0x7F, 0xC6, 0xB9, 0xB8, 0x34, 0x60, 0xCC, 0xE6, 0x20, 0xA8, 0xF0, + 0xAB, 0x7B, 0x4C, 0x84, 0x08, 0x87, 0x1A, 0xDB, 0xB8, 0xC0, 0x75, 0x47, 0x47, 0x7B, 0xC0, 0x95, + 0xE2, 0xD3, 0xA1, 0x9B, 0x03, 0x78, 0x6F, 0x78, 0x95, 0xCE, 0x66, 0xBB, 0xEF, 0x73, 0xB0, 0x0E, + 0x28, 0x2A, 0x39, 0xEC, 0x39, 0xEA, 0x4F, 0x55, 0xDD, 0xA0, 0xB9, 0x34, 0xC8, 0xE5, 0x15, 0x87, + 0xB6, 0x2D, 0x26, 0x0B, 0x93, 0x74, 0x6D, 0x6D, 0x30, 0xFD, 0x69, 0x21, 0x39, 0xAE, 0x1C, 0x3B, + 0x31, 0x51, 0xB0, 0x2D, 0xD8, 0xFD, 0xC8, 0x26, 0x9A, 0xE7, 0xF9, 0x21, 0xB1, 0x56, 0x94, 0x2A, + 0x9D, 0x11, 0xF0, 0xFB, 0xA2, 0x80, 0x89, 0x21, 0xA2, 0xC6, 0x88, 0x59, 0x3F, 0xD2, 0x7D, 0x94, + 0x25, 0x67, 0x34, 0x32, 0x23, 0xDF, 0x95, 0x34, 0x81, 0x8E, 0x34, 0xE3, 0x71, 0xEA, 0x85, 0x62, + 0x2C, 0x96, 0xE7, 0x10, 0x0C, 0x65, 0x67, 0x41, 0xAB, 0xC8, 0x18, 0x3F, 0xFA, 0xCB, 0xD5, 0xFB, + 0xEA, 0x0C, 0x10, 0xA0, 0xE8, 0x0D, 0xD3, 0xDB, 0x60, 0x6A, 0xE0, 0x8F, 0x99, 0x1E, 0x56, 0x8A, + 0x6E, 0x82, 0x49, 0xB1, 0x40, 0x2D, 0x98, 0x78, 0x9C, 0x24, 0xE7, 0x0C, 0xCF, 0xC4, 0x49, 0xA3, + 0xE7, 0x28, 0xB0, 0xFD, 0x72, 0x6C, 0x9D, 0x15, 0x8D, 0x6B, 0x40, 0x1F, 0x16, 0xC4, 0x34, 0x8C, + 0x61, 0xC3, 0x7F, 0x64, 0x8B, 0x6F, 0x1D, 0x23, 0xD0, 0x47, 0x3B, 0xA9, 0x3E, 0xC5, 0xDC, 0x68, + 0x9D, 0x63, 0x7D, 0xE0, 0xBF, 0xEE, 0x11, 0xAB, 0x95, 0x44, 0x5F, 0x52, 0x84, 0x5C, 0x8F, 0x46, + 0xCC, 0xAB, 0xB7, 0x69, 0xD7, 0xE1, 0x76, 0xE4, 0xDA, 0xFE, 0xEC, 0xDC, 0x78, 0xFD, 0xD5, 0x1F, + 0x55, 0xEB, 0x2D, 0x82, 0x82, 0xB8, 0x6F, 0xED, 0xD5, 0x70, 0xA7, 0x17, 0x3A, 0x8D, 0xAA, 0x91, + 0xBD, 0xE6, 0xA2, 0x6C, 0xA8, 0x28, 0x8A, 0x9F, 0xBB, 0x79, 0x69, 0x37, 0x9F, 0x05, 0xF5, 0x0C, + 0x2F, 0xB8, 0xAB, 0x4D, 0xE7, 0x12, 0x82, 0x40, 0xC2, 0x25, 0x04, 0xDE, 0x6E, 0xB4, 0x84, 0x60, + 0xFB, 0x6C, 0x80, 0x46, 0xA0, 0x1B, 0x65, 0x84, 0xF0, 0x50, 0x57, 0xFE, 0x03, 0x7B, 0x6B, 0xAE, + 0xE2, 0x02, 0x6B, 0x37, 0x26, 0x90, 0x53, 0xBF, 0x74, 0xA9, 0x04, 0x5B, 0x5E, 0x36, 0xE4, 0x79, + 0x91, 0x90, 0xA1, 0xE7, 0x13, 0xEF, 0xBF, 0x9D, 0x2E, 0xB8, 0xDB, 0x6E, 0x6C, 0xF6, 0x06, 0xD8, + 0x4B, 0x54, 0x53, 0x3F, 0xFC, 0xD3, 0xBC, 0xEF, 0x99, 0xEB, 0x0E, 0xBA, 0xDB, 0xDB, 0xC7, 0xE3, + 0xA3, 0x1B, 0xA0, 0xBE, 0x01, 0xE1, 0xF5, 0x36, 0xB4, 0xEF, 0x01, 0xC5, 0x16, 0xDC, 0xD5, 0xB6, + 0xF4, 0xF3, 0x60, 0x5D, 0x55, 0xFD, 0x4E, 0xDE, 0x77, 0x20, 0xAC, 0x76, 0xB9, 0xE1, 0xE6, 0x36, + 0x69, 0xEE, 0x43, 0xD3, 0x1D, 0xF5, 0x6E, 0x1F, 0x08, 0x64, 0xBF, 0x0E, 0xF8, 0xDB, 0xAD, 0xC7, + 0x9B, 0xEC, 0xB7, 0x1A, 0x3A, 0xF3, 0xFA, 0xB3, 0x33, 0x4E, 0x79, 0x43, 0xBE, 0x51, 0x9B, 0x83, + 0xCF, 0xC7, 0x34, 0x1B, 0x6E, 0x47, 0xBA, 0x17, 0x0C, 0xA5, 0x2F, 0x5F, 0x63, 0xC5, 0xE0, 0x8A, + 0x5F, 0x72, 0xC9, 0xC0, 0xF6, 0xAF, 0xB9, 0x64, 0x60, 0xD5, 0xEF, 0xF9, 0x92, 0x81, 0x5D, 0xF8, + 0xDE, 0x2D, 0x19, 0x8D, 0x74, 0xD7, 0x1B, 0xBC, 0xCF, 0x36, 0xEB, 0xB1, 0xB9, 0xFE, 0x87, 0xD9, + 0x1B, 0x91, 0xD6, 0x5B, 0x86, 0xCF, 0x83, 0x31, 0xB7, 0xD5, 0x6F, 0xC2, 0xB3, 0x76, 0x6C, 0x26, + 0x4A, 0x97, 0x8F, 0xB5, 0x72, 0x73, 0xFB, 0x1A, 0xE7, 0xB0, 0x3D, 0xEB, 0x75, 0x65, 0x10, 0x3D, + 0x0D, 0x0E, 0xD5, 0x2D, 0xB7, 0x63, 0xB7, 0xEF, 0x60, 0x7D, 0x16, 0x14, 0x17, 0x3F, 0x5E, 0x3F, + 0xA7, 0xBC, 0x46, 0x5C, 0xED, 0x1E, 0x8D, 0xFF, 0x4E, 0xAE, 0xD3, 0xB2, 0xA3, 0x57, 0xD9, 0xE5, + 0xD7, 0xE1, 0x39, 0x32, 0x38, 0xEF, 0x37, 0x58, 0x3A, 0x36, 0xF3, 0xCF, 0xF7, 0xBA, 0xFE, 0x64, + 0x7D, 0x82, 0xFB, 0x76, 0xA9, 0xF8, 0x68, 0x8D, 0xA2, 0xFD, 0x8F, 0x4E, 0xA9, 0x1A, 0xC6, 0x83, + 0xBC, 0x11, 0x1F, 0x3E, 0xF9, 0x3C, 0x29, 0x31, 0xEA, 0x82, 0xD2, 0xC2, 0x8C, 0x29, 0xB7, 0x20, + 0xDA, 0x0D, 0x97, 0x99, 0x8E, 0x61, 0xB4, 0xAF, 0x21, 0x8E, 0xED, 0x9B, 0x35, 0xB6, 0x77, 0xDA, + 0xE2, 0xB3, 0xB2, 0xC4, 0xDC, 0x02, 0x61, 0x46, 0x17, 0x81, 0xAE, 0x4F, 0x51, 0xD7, 0x8D, 0x18, + 0xC7, 0x4F, 0x5D, 0x1F, 0x35, 0x0A, 0xB5, 0x6A, 0x42, 0x8E, 0x01, 0xDF, 0x18, 0x3D, 0x3B, 0x10, + 0xE9, 0xFA, 0x58, 0x52, 0x6C, 0x92, 0x8D, 0xE5, 0x35, 0xAE, 0x24, 0x5F, 0x8F, 0xEB, 0x24, 0x4D, + 0x30, 0x3E, 0x47, 0xDB, 0xAC, 0x6E, 0x84, 0xB1, 0x40, 0xB0, 0x91, 0xEE, 0xE5, 0xAA, 0x55, 0xDF, + 0xDE, 0xAC, 0xE5, 0x0D, 0x13, 0xA7, 0x6C, 0xE5, 0x6C, 0x3B, 0x67, 0xBF, 0x3D, 0x9E, 0xA2, 0x5B, + 0x84, 0x21, 0x53, 0xDE, 0x85, 0x24, 0xD1, 0x23, 0x8F, 0x35, 0xFF, 0x11, 0xF0, 0xC3, 0x3F, 0x02, + 0xDA, 0xFF, 0xA3, 0xA1, 0x6F, 0x0F, 0xBD, 0xDE, 0x7F, 0x13, 0x57, 0x34, 0xEF, 0x5A, 0x25, 0x99, + 0xC4, 0x6E, 0x55, 0x1C, 0xE2, 0xA5, 0xAD, 0xF2, 0x62, 0x46, 0x67, 0x29, 0x42, 0xD7, 0x7E, 0xEF, + 0x50, 0x30, 0xB1, 0xD8, 0x82, 0xF9, 0x20, 0x3F, 0xAA, 0x8D, 0x94, 0xB7, 0x49, 0x16, 0x40, 0x0B, + 0xAC, 0x9C, 0x14, 0x55, 0xC7, 0x0F, 0xCD, 0xDD, 0x78, 0xDA, 0x35, 0x24, 0x75, 0xE8, 0xD6, 0xB3, + 0x2D, 0xF0, 0xCA, 0x53, 0x90, 0xE1, 0x77, 0xF0, 0xF1, 0x90, 0x5A, 0x56, 0xD7, 0x99, 0x5B, 0x30, + 0x25, 0x0B, 0x0A, 0x2C, 0x31, 0xDB, 0x1C, 0xAB, 0xB4, 0x1B, 0xE3, 0x61, 0x24, 0x73, 0x0E, 0xC9, + 0x3A, 0x5D, 0x93, 0xCE, 0xCF, 0xF9, 0xF6, 0x3D, 0x93, 0x87, 0x26, 0xB4, 0xC5, 0x48, 0xDC, 0xC5, + 0x4E, 0x70, 0x77, 0x91, 0xE1, 0xB1, 0xB7, 0x4C, 0x9E, 0x88, 0x91, 0x92, 0x6B, 0xD0, 0xDF, 0x6D, + 0x93, 0x87, 0x98, 0x3D, 0x10, 0x94, 0x6D, 0x67, 0x8F, 0x2D, 0xDC, 0xBB, 0x4C, 0xB5, 0xDD, 0x9A, + 0x8A, 0xED, 0x20, 0x93, 0x63, 0xC4, 0x9F, 0x7F, 0x89, 0xD7, 0x42, 0xD2, 0x5F, 0xC9, 0x7D, 0xA5, + 0x69, 0xE2, 0x9E, 0x84, 0x6B, 0xBB, 0x4B, 0xE9, 0x37, 0x94, 0xC7, 0x02, 0x65, 0x95, 0xB9, 0xAE, + 0x89, 0x09, 0xAC, 0x3D, 0x30, 0xDC, 0xBE, 0xB1, 0xBA, 0x2D, 0x39, 0xBE, 0x3F, 0x84, 0x62, 0xFC, + 0x49, 0x87, 0x9C, 0xD1, 0xEB, 0xA5, 0xCA, 0x82, 0x62, 0x4C, 0x64, 0x62, 0x84, 0xD3, 0xA9, 0x38, + 0x9D, 0x7E, 0x10, 0x97, 0x35, 0xB5, 0xB9, 0x88, 0x57, 0x5E, 0x80, 0x57, 0xF3, 0x21, 0x05, 0x9C, + 0x5F, 0x73, 0x74, 0xFB, 0x41, 0x82, 0xDB, 0x09, 0x8C, 0x9B, 0x4E, 0x88, 0xE5, 0x00, 0x6C, 0xB8, + 0x4D, 0xC6, 0x4C, 0xCD, 0x84, 0x69, 0x80, 0xA4, 0x54, 0xCD, 0x76, 0xE4, 0x22, 0x4D, 0x6D, 0xC6, + 0xB2, 0x04, 0xFE, 0xC0, 0xA7, 0xC5, 0x63, 0x75, 0xE2, 0x01, 0x8E, 0x3E, 0xBC, 0x62, 0x24, 0x7F, + 0xC5, 0x45, 0x7F, 0xFD, 0xB0, 0xDF, 0x2C, 0xA2, 0x74, 0x6C, 0x3D, 0xB8, 0x8A, 0xA5, 0x45, 0x03, + 0x3B, 0xB1, 0x2B, 0x73, 0x17, 0xBF, 0x56, 0x3F, 0x64, 0xEC, 0xCF, 0xE2, 0x33, 0x7C, 0xBC, 0x25, + 0xA6, 0xB2, 0xA2, 0x3E, 0x4F, 0x5B, 0x82, 0x40, 0x83, 0x61, 0xD0, 0x5D, 0x15, 0x5F, 0x2E, 0x14, + 0x35, 0x6E, 0xA2, 0xEB, 0x33, 0x80, 0x32, 0xEE, 0x3A, 0x6D, 0x51, 0x52, 0xD8, 0xC6, 0x6C, 0xDD, + 0x88, 0xC5, 0x6C, 0xA5, 0x5A, 0xA5, 0x9A, 0x5D, 0x4C, 0x80, 0x72, 0x77, 0xDB, 0x74, 0x6F, 0x5F, + 0x46, 0x8E, 0xF5, 0x11, 0x7B, 0xC4, 0xCD, 0xF5, 0x43, 0xAD, 0xA3, 0xCE, 0xD9, 0xAF, 0x89, 0xEC, + 0x5A, 0x3F, 0x5F, 0x3F, 0xF6, 0x58, 0xA9, 0xF7, 0xD8, 0x27, 0x50, 0xF8, 0xB6, 0xC7, 0x1E, 0xE6, + 0x42, 0xAF, 0xFB, 0xDF, 0xE0, 0x6F, 0x46, 0x67, 0xED, 0xD0, 0xE2, 0x7D, 0xE5, 0x8B, 0x7A, 0xD5, + 0x30, 0xC2, 0x05, 0xC8, 0x69, 0xF7, 0x72, 0xF3, 0xF3, 0x34, 0xCD, 0x9D, 0xA1, 0xEE, 0xCE, 0x75, + 0x6D, 0x92, 0x68, 0xDB, 0x73, 0xD8, 0x1A, 0xB7, 0xCB, 0x22, 0xEB, 0x31, 0x62, 0x0A, 0x05, 0x9D, + 0x98, 0xC2, 0x78, 0xDA, 0xA7, 0x19, 0x44, 0x5C, 0x20, 0x51, 0xEC, 0x28, 0xC4, 0x10, 0x88, 0x5C, + 0xBC, 0x59, 0xE4, 0xBB, 0xCE, 0xD0, 0x47, 0x57, 0xB0, 0x15, 0xAB, 0x4D, 0xD6, 0xBC, 0x38, 0x97, + 0xFC, 0x1B, 0xDB, 0xD9, 0x30, 0x1D, 0x52, 0x3C, 0x88, 0xAC, 0x63, 0x7E, 0x92, 0x98, 0x04, 0x68, + 0x56, 0xD4, 0x30, 0x66, 0xC3, 0x9D, 0xE8, 0x85, 0x0B, 0x56, 0xA2, 0x1D, 0xBA, 0x73, 0x84, 0x5B, + 0xF0, 0x98, 0x4A, 0x3A, 0xD7, 0x06, 0x67, 0x9F, 0x28, 0xF9, 0x90, 0x34, 0x29, 0x59, 0x8D, 0x9E, + 0x89, 0x51, 0x90, 0xCC, 0x7D, 0x68, 0x67, 0x16, 0x6F, 0xB8, 0xB9, 0xDF, 0xAE, 0xFD, 0x92, 0xB6, + 0x7B, 0x3A, 0x66, 0xB2, 0x98, 0x60, 0xA0, 0xE4, 0x3D, 0xFB, 0xDC, 0x0E, 0x7C, 0x5B, 0x31, 0xD2, + 0x98, 0x64, 0x46, 0x0C, 0x8A, 0xF3, 0x82, 0xB0, 0x8B, 0x73, 0x2A, 0x7E, 0xA7, 0xF5, 0x52, 0x23, + 0x53, 0x6D, 0x60, 0x13, 0x91, 0x73, 0x9A, 0x40, 0x01, 0xD6, 0x5C, 0x44, 0xDB, 0xA1, 0xDC, 0xDE, + 0x5D, 0x57, 0x12, 0x62, 0x4A, 0x7B, 0xBA, 0x59, 0x51, 0x1F, 0x11, 0xA2, 0xC1, 0x9A, 0x65, 0xF3, + 0x0C, 0x69, 0xC3, 0x49, 0x51, 0x24, 0x0C, 0x06, 0x49, 0x7D, 0x3F, 0xFA, 0xC3, 0xAB, 0x13, 0x7D, + 0x67, 0x6A, 0xFA, 0x61, 0x9C, 0x3A, 0x11, 0xAC, 0x84, 0xD1, 0x00, 0xBF, 0x51, 0x1F, 0x41, 0x27, + 0x05, 0x84, 0xFE, 0xBA, 0x84, 0xC8, 0x12, 0x29, 0x0B, 0x30, 0x89, 0x0B, 0x60, 0x77, 0xAC, 0x06, + 0x02, 0xB6, 0x66, 0xCE, 0x0D, 0xAC, 0xE1, 0xF0, 0x79, 0xB4, 0x21, 0x3E, 0x30, 0xAD, 0xE8, 0x73, + 0xC2, 0x71, 0x02, 0x08, 0x63, 0x15, 0x78, 0x07, 0x8F, 0xA0, 0x78, 0x80, 0x9B, 0x0D, 0x4B, 0x39, + 0x10, 0x99, 0x2B, 0x0B, 0xBA, 0x44, 0x92, 0xD0, 0xE5, 0xCE, 0xAE, 0x17, 0x0D, 0x95, 0x96, 0x0D, + 0x55, 0x87, 0x70, 0xA8, 0x36, 0x90, 0x0E, 0x6A, 0xAA, 0xB2, 0x42, 0x09, 0xF0, 0x8A, 0x19, 0x04, + 0x19, 0xE9, 0x8C, 0x83, 0x40, 0xB5, 0x99, 0x09, 0xD8, 0xB5, 0x58, 0x7C, 0x8F, 0x6F, 0x08, 0xF0, + 0x7C, 0x7C, 0x3A, 0xC1, 0x3C, 0x67, 0xA4, 0x40, 0x47, 0xB2, 0x68, 0x43, 0xFE, 0x65, 0x0F, 0xDC, + 0x9E, 0xE9, 0x82, 0x6A, 0xD2, 0x07, 0xC8, 0xCD, 0x18, 0xB8, 0xEB, 0x04, 0x51, 0x85, 0x92, 0xC8, + 0x0A, 0x0D, 0xB2, 0x84, 0x51, 0x30, 0xA3, 0x5A, 0x25, 0x13, 0xDE, 0xFA, 0x68, 0xC4, 0x12, 0x2D, + 0x77, 0xCE, 0x2D, 0xA7, 0x21, 0xE9, 0x63, 0x96, 0x54, 0x2C, 0xB6, 0x3B, 0x57, 0x9C, 0xD7, 0xE2, + 0xE4, 0x35, 0xA0, 0xD7, 0x2D, 0x3B, 0xCA, 0x2D, 0x4C, 0xCB, 0xCE, 0x19, 0xD6, 0xB0, 0x95, 0x64, + 0xBD, 0x0C, 0x7D, 0xBE, 0xB5, 0xE7, 0xEA, 0x02, 0x72, 0x73, 0xE8, 0xCC, 0xF0, 0x93, 0x14, 0x22, + 0x16, 0xD6, 0xF3, 0xD9, 0x27, 0x52, 0x30, 0x5C, 0x6D, 0xB3, 0x91, 0x1B, 0x70, 0xCA, 0xFB, 0x6B, + 0xD2, 0x86, 0xBA, 0xC4, 0xB5, 0xC7, 0x9F, 0xCC, 0x03, 0xDF, 0xD7, 0xF1, 0x27, 0xE4, 0xCD, 0x79, + 0xB5, 0xBE, 0x1C, 0xE0, 0x0C, 0xDD, 0x97, 0x62, 0x07, 0xC2, 0xB8, 0x93, 0x1D, 0xBE, 0x59, 0xD1, + 0x2E, 0x7E, 0x9B, 0x4A, 0x7E, 0x6E, 0xBE, 0xB0, 0x0D, 0x3E, 0xC1, 0xCD, 0x35, 0xE6, 0x23, 0xAB, + 0x61, 0x12, 0x5F, 0x81, 0x01, 0x0C, 0xAA, 0x9F, 0x4F, 0x86, 0xF7, 0x7F, 0xFE, 0x53, 0x51, 0x8F, + 0x24, 0x96, 0xE4, 0xFB, 0xCA, 0x65, 0x96, 0x6D, 0x2A, 0xB8, 0xC5, 0x60, 0x1D, 0xCB, 0x39, 0x6C, + 0xF1, 0xA5, 0x25, 0x90, 0x8D, 0xF8, 0x1A, 0xCE, 0xB3, 0x4E, 0x11, 0x6E, 0x5B, 0xFD, 0xFF, 0x74, + 0x5C, 0xD8, 0x84, 0xA9, 0xD1, 0xA6, 0x6D, 0xF5, 0xAD, 0xE3, 0xF6, 0x7B, 0x0C, 0x77, 0x86, 0xFF, + 0xF3, 0x22, 0xA2, 0xBB, 0x82, 0x11, 0xD2, 0x74, 0x09, 0x63, 0x06, 0x2A, 0x6A, 0x5A, 0x3D, 0x04, + 0x25, 0x95, 0xC2, 0x67, 0x33, 0xBC, 0x8B, 0xAF, 0x1C, 0xF0, 0x76, 0x0F, 0xE8, 0x07, 0x90, 0xCB, + 0x15, 0x7E, 0x34, 0xF7, 0x1C, 0xD9, 0x5E, 0x66, 0xAB, 0x0D, 0x05, 0x8D, 0x75, 0x25, 0x83, 0x33, + 0x3E, 0x35, 0x82, 0x83, 0x5F, 0x8B, 0x65, 0x6D, 0x52, 0x86, 0xF2, 0x3D, 0x35, 0x1B, 0x29, 0xBD, + 0x9B, 0xE9, 0xBC, 0xED, 0x7A, 0xAE, 0xD5, 0xD0, 0x0D, 0x55, 0x5E, 0x9E, 0x06, 0x76, 0x4B, 0x5E, + 0x0E, 0x6C, 0x7D, 0x98, 0x0B, 0xBA, 0x9F, 0x90, 0xEF, 0x9D, 0x53, 0xD0, 0x3A, 0xD7, 0x34, 0x99, + 0xCC, 0x75, 0x3A, 0xAE, 0xCA, 0x6E, 0x90, 0xFE, 0x7D, 0x8E, 0x11, 0xC2, 0x17, 0x78, 0xF0, 0xF5, + 0x57, 0x8F, 0xB0, 0x77, 0x44, 0x5B, 0x4E, 0xCD, 0x1C, 0xCE, 0x8F, 0xBF, 0x2B, 0x0E, 0x74, 0x6F, + 0xBC, 0xFE, 0xF5, 0x47, 0x9C, 0x39, 0x1D, 0x3A, 0xA2, 0xCB, 0x7A, 0x36, 0x8E, 0x5E, 0x3B, 0x4C, + 0xA9, 0x90, 0x4E, 0x30, 0x08, 0x98, 0x0A, 0x5E, 0x0E, 0x4B, 0x05, 0x23, 0x90, 0xE5, 0x7C, 0x6A, + 0x00, 0x0A, 0x66, 0xDE, 0x68, 0x79, 0xFD, 0xF5, 0xAB, 0x1A, 0xFE, 0xEF, 0x9C, 0x9D, 0xD5, 0xB6, + 0x55, 0x2F, 0xBC, 0x9C, 0x1A, 0xE7, 0xA6, 0xA1, 0x4C, 0x2F, 0xED, 0x51, 0x09, 0x5F, 0xC0, 0x82, + 0x18, 0xD6, 0xDC, 0x6D, 0xB5, 0x8D, 0x47, 0x67, 0x66, 0x29, 0x9F, 0xBF, 0x24, 0xA7, 0xDC, 0x8E, + 0x18, 0xDA, 0xE8, 0xD6, 0x41, 0x2C, 0x38, 0x32, 0x27, 0xD7, 0x6C, 0x7B, 0x2B, 0x1F, 0x38, 0x83, + 0xDA, 0xEA, 0xC8, 0x19, 0x16, 0x9E, 0xD0, 0x35, 0xEB, 0xDE, 0xB6, 0x79, 0xA4, 0x7D, 0x48, 0xA3, + 0xE0, 0x1E, 0x5F, 0x1B, 0xA0, 0x12, 0xF8, 0xE8, 0xF8, 0xD3, 0xD2, 0x44, 0x12, 0x24, 0x19, 0x80, + 0x12, 0xF6, 0x0D, 0xC3, 0xC0, 0x48, 0xA7, 0x55, 0xE7, 0xBA, 0x83, 0xDE, 0x3B, 0x04, 0xC8, 0xC0, + 0xD6, 0xAD, 0x39, 0x48, 0x9C, 0x33, 0x28, 0x7D, 0x46, 0x8F, 0xB7, 0xB4, 0xDE, 0x18, 0x7A, 0xF2, + 0x72, 0x03, 0xCD, 0x13, 0xB1, 0x07, 0xB2, 0x27, 0x86, 0xB1, 0xC9, 0x25, 0x42, 0x50, 0xD3, 0x8B, + 0xEC, 0xD6, 0x0E, 0x7B, 0xA9, 0x1C, 0xDA, 0x76, 0xCE, 0x6D, 0xB5, 0x6B, 0x0B, 0xDB, 0xD4, 0x43, + 0xD0, 0x7C, 0xB6, 0xF0, 0x78, 0xE2, 0x9D, 0x2C, 0x94, 0x39, 0x5C, 0x39, 0x4D, 0x32, 0x0D, 0xF5, + 0xC0, 0x9B, 0x0C, 0xA3, 0xF9, 0x4A, 0xC6, 0xBE, 0x69, 0x22, 0xB7, 0x4D, 0x57, 0xAA, 0xEE, 0xC0, + 0x0F, 0x4F, 0x51, 0x03, 0x58, 0xEB, 0xA0, 0x32, 0xB7, 0xDF, 0x76, 0xB2, 0xBA, 0x79, 0x4E, 0x99, + 0xEB, 0xD5, 0x1B, 0x0E, 0x60, 0x0E, 0x6C, 0xF7, 0x66, 0xB8, 0xF4, 0x01, 0xEF, 0xF4, 0x9B, 0x5F, + 0xE8, 0xC1, 0xDC, 0xD8, 0xD2, 0x07, 0x95, 0xFA, 0x5B, 0x79, 0x21, 0x0A, 0xE0, 0xD6, 0xAD, 0xBC, + 0x7D, 0x77, 0x5B, 0x3A, 0x41, 0xC3, 0x70, 0x53, 0x53, 0xB1, 0xCE, 0xEB, 0xE0, 0x0C, 0x7B, 0x78, + 0xAB, 0xE2, 0x4D, 0x54, 0x27, 0x07, 0xB4, 0x8A, 0x9E, 0x30, 0x8A, 0x49, 0x03, 0x97, 0xE8, 0x62, + 0xFE, 0x1E, 0x6D, 0x60, 0xA1, 0xBF, 0x8F, 0x83, 0x7C, 0x6D, 0x53, 0xB0, 0x5C, 0x08, 0x64, 0x2F, + 0xCB, 0xE0, 0x73, 0xB2, 0xFD, 0x67, 0x2A, 0xF5, 0x28, 0xBF, 0xC3, 0x19, 0x4F, 0xAB, 0x0C, 0x69, + 0x35, 0xD2, 0x5B, 0xFF, 0x24, 0x67, 0xD8, 0x77, 0xED, 0x66, 0x49, 0x00, 0x1F, 0x20, 0xA6, 0xF8, + 0x68, 0x1E, 0x46, 0x85, 0x3A, 0x46, 0xD5, 0x01, 0xAF, 0xF9, 0x44, 0xD5, 0x41, 0x6E, 0x52, 0xE0, + 0x4F, 0x66, 0xF1, 0x54, 0x67, 0x68, 0x89, 0x2B, 0x96, 0xE0, 0x96, 0x4B, 0x88, 0xD2, 0x64, 0xA6, + 0xE3, 0xF7, 0x2A, 0x87, 0x91, 0x73, 0x26, 0xC0, 0x02, 0x4A, 0x37, 0xC7, 0xC1, 0xD1, 0x35, 0xF4, + 0x7F, 0x76, 0x4E, 0x11, 0x22, 0x1B, 0x86, 0xE7, 0xB5, 0xBB, 0xD6, 0x38, 0xDE, 0x1C, 0x0E, 0x01, + 0x05, 0x6E, 0x35, 0x35, 0x21, 0x2C, 0xA8, 0xD7, 0x9F, 0x1B, 0x59, 0xA2, 0xA4, 0xA7, 0xE9, 0x91, + 0x09, 0x77, 0x6F, 0x98, 0x08, 0x4C, 0x89, 0xD7, 0xDC, 0x49, 0x2B, 0x87, 0x2E, 0xBF, 0x07, 0x21, + 0xEF, 0x10, 0xA7, 0x8D, 0x22, 0xF0, 0xFF, 0xE9, 0x85, 0x4E, 0xAF, 0xA3, 0x24, 0x4C, 0x5D, 0xC6, + 0x2A, 0xD2, 0x4E, 0x26, 0xA6, 0x7B, 0x5E, 0x8A, 0x5C, 0xAF, 0x70, 0x36, 0x40, 0x37, 0x17, 0x4E, + 0xB7, 0x11, 0x53, 0x8B, 0x42, 0xC5, 0x0F, 0x26, 0xA0, 0xC9, 0xE2, 0x45, 0x7C, 0xE0, 0x2F, 0x84, + 0x7F, 0x91, 0x80, 0x2D, 0x7A, 0x94, 0x8B, 0x5A, 0xF3, 0x89, 0x74, 0x44, 0xD7, 0xB0, 0x04, 0xB7, + 0x2F, 0x9A, 0x37, 0xE7, 0x0F, 0xBF, 0x99, 0xF3, 0xC7, 0xC1, 0xA0, 0x85, 0xDF, 0x0D, 0x75, 0xBD, + 0xD9, 0xE4, 0x4C, 0x84, 0x58, 0x33, 0xBC, 0x03, 0x53, 0xB5, 0xDD, 0x28, 0x28, 0x64, 0xBC, 0x8F, + 0x99, 0x1B, 0xB6, 0x85, 0x2B, 0x8C, 0xBC, 0x30, 0x83, 0x6E, 0x07, 0xA9, 0xD9, 0x26, 0x3F, 0x46, + 0x54, 0x00, 0xB4, 0x0B, 0x0C, 0xB8, 0x29, 0xC2, 0x26, 0xA3, 0x71, 0x42, 0xEA, 0x3B, 0x96, 0xF2, + 0x60, 0xB5, 0x51, 0xEA, 0xA6, 0xF1, 0x56, 0x58, 0x10, 0x3D, 0x3B, 0x55, 0xFB, 0x7D, 0x4C, 0xFE, + 0x25, 0x4C, 0x33, 0x6C, 0x19, 0xB5, 0x30, 0x67, 0x1E, 0x91, 0xD5, 0x55, 0x12, 0x53, 0x32, 0x4A, + 0x6A, 0x03, 0x60, 0x6E, 0x6D, 0x42, 0x98, 0xD0, 0x80, 0x38, 0xFB, 0x2B, 0x9D, 0xE9, 0x9A, 0x9B, + 0x70, 0x85, 0x8F, 0x4A, 0x03, 0x6D, 0x2E, 0xB4, 0x8C, 0xB6, 0x63, 0xE4, 0x4B, 0x1E, 0x41, 0xFB, + 0xF2, 0x91, 0xA2, 0xA4, 0x30, 0x31, 0xF9, 0x00, 0xE6, 0x72, 0x60, 0x52, 0xBC, 0x71, 0x1E, 0xF9, + 0x76, 0x9C, 0x26, 0xB6, 0xD2, 0xE6, 0xA8, 0x0A, 0xC8, 0xDC, 0xA6, 0x79, 0x6A, 0x08, 0x38, 0x85, + 0x94, 0x1F, 0xE2, 0x05, 0xB2, 0xE7, 0x27, 0x14, 0x91, 0xC4, 0x3D, 0xA2, 0xB8, 0x4C, 0x0B, 0x9A, + 0x56, 0x5B, 0xB7, 0xC1, 0x73, 0x0E, 0x06, 0xFA, 0xB8, 0x86, 0x7F, 0x2A, 0x30, 0x2C, 0xC3, 0x6E, + 0x7F, 0x07, 0x9D, 0x29, 0x7E, 0x2E, 0x75, 0xA2, 0xCF, 0x0A, 0x35, 0xFF, 0x66, 0x27, 0x69, 0xF7, + 0x7D, 0x56, 0x11, 0x2C, 0x0B, 0x1D, 0xD2, 0xD1, 0x7E, 0x7C, 0x4B, 0x79, 0x9E, 0x15, 0x1F, 0x98, + 0xC1, 0x93, 0x71, 0xE2, 0x31, 0x6C, 0x92, 0x9E, 0x12, 0x91, 0x40, 0xDD, 0xBD, 0x2D, 0x75, 0xD7, + 0x55, 0x2B, 0x8A, 0x89, 0xA3, 0x48, 0xA4, 0x49, 0xB3, 0xBE, 0xCA, 0x88, 0xBD, 0xA9, 0x94, 0xD7, + 0x1D, 0x21, 0xF8, 0x93, 0x40, 0x79, 0x9F, 0x71, 0x04, 0x29, 0x9D, 0x91, 0xC7, 0x52, 0x91, 0x4A, + 0xD5, 0xAF, 0xA7, 0x89, 0x7B, 0x4F, 0x19, 0x0E, 0x8C, 0x76, 0x27, 0xEA, 0x94, 0x4D, 0xB1, 0x53, + 0x48, 0x47, 0x2C, 0xB8, 0x80, 0xC1, 0xDE, 0x00, 0xC9, 0x84, 0x8C, 0xF7, 0x05, 0xEF, 0xA8, 0x92, + 0x08, 0x13, 0x1E, 0x7B, 0xCD, 0x0D, 0xC3, 0xE8, 0x30, 0x68, 0x33, 0x4E, 0xCC, 0x71, 0x51, 0x07, + 0xAE, 0xCF, 0x02, 0xBC, 0xCD, 0x26, 0x86, 0x02, 0x33, 0x45, 0x05, 0xBA, 0x7D, 0x4D, 0x5E, 0x52, + 0x3E, 0xAB, 0xED, 0xB2, 0x8F, 0x5A, 0x11, 0x3C, 0x19, 0xFD, 0xB4, 0xA0, 0x84, 0xD7, 0x13, 0x18, + 0x36, 0x72, 0x47, 0x32, 0x47, 0xA8, 0xEB, 0x91, 0xFC, 0x73, 0x52, 0x03, 0x7C, 0x41, 0x7A, 0x12, + 0x2D, 0x26, 0x50, 0x97, 0x04, 0xA6, 0x0B, 0xB2, 0x4A, 0x61, 0x8C, 0x70, 0x7E, 0x43, 0xBF, 0x4A, + 0xDA, 0xBC, 0xAC, 0x20, 0x57, 0xEE, 0xBC, 0xDA, 0x4C, 0xF9, 0x57, 0xA7, 0xCB, 0x71, 0x3C, 0x55, + 0x2A, 0x62, 0xE4, 0x34, 0xC0, 0xC2, 0x69, 0xCE, 0xF1, 0x62, 0x36, 0x0A, 0x65, 0xE4, 0x81, 0x43, + 0x8F, 0x5F, 0x1C, 0x35, 0x2E, 0xE0, 0x26, 0x15, 0xC2, 0x21, 0x69, 0xB0, 0x7A, 0xFB, 0x87, 0x59, + 0xB2, 0x57, 0x28, 0xD5, 0x94, 0xE0, 0xE1, 0x81, 0x22, 0xE1, 0xD3, 0x5B, 0xFD, 0x57, 0x3E, 0x46, + 0xE2, 0x17, 0xA5, 0x14, 0x9B, 0x2B, 0xCD, 0xDA, 0x2E, 0x79, 0x33, 0x8A, 0xE6, 0xB0, 0x61, 0xF5, + 0x6E, 0x5B, 0xD3, 0x3F, 0xBA, 0xBB, 0x6C, 0x7B, 0x8F, 0x85, 0xB7, 0xF4, 0xC2, 0xE4, 0x41, 0xC3, + 0x98, 0x5C, 0x62, 0x46, 0xCE, 0xC6, 0x0B, 0xD7, 0xC1, 0x59, 0x08, 0x1B, 0xEA, 0x8C, 0x27, 0xB8, + 0x6A, 0xA4, 0x74, 0x21, 0x9D, 0x23, 0x1C, 0x6B, 0xF8, 0x32, 0x2B, 0xC6, 0xEF, 0xA1, 0x1E, 0xF9, + 0xD1, 0xF8, 0x3A, 0x1E, 0x92, 0x1B, 0xD5, 0x2A, 0x1F, 0xC3, 0xAC, 0xC8, 0xB3, 0xBF, 0xB5, 0x2F, + 0xFE, 0xDF, 0x71, 0x2A, 0x20, 0x75, 0x7F, 0x87, 0x68, 0x43, 0x48, 0x6A, 0xB9, 0x8F, 0x4A, 0x11, + 0xD9, 0x68, 0x1B, 0x44, 0x2F, 0x6C, 0x40, 0x65, 0xFE, 0x80, 0xBF, 0x6D, 0x47, 0x37, 0x06, 0x7F, + 0xA8, 0xB9, 0xC4, 0xB5, 0xF5, 0xF8, 0x68, 0x98, 0x6C, 0xBD, 0x98, 0x4A, 0x10, 0x3A, 0xC8, 0xC4, + 0xDA, 0x16, 0x18, 0xA6, 0xB6, 0x05, 0x96, 0xAC, 0x76, 0x25, 0x5A, 0xED, 0x73, 0xBA, 0x4F, 0x07, + 0x8D, 0xDA, 0x30, 0x0B, 0x67, 0x92, 0x01, 0x9A, 0x4E, 0x32, 0xC6, 0x33, 0x7B, 0xC9, 0xDA, 0x46, + 0xBB, 0x2C, 0xAC, 0x8E, 0x25, 0xA8, 0xF9, 0xFA, 0x44, 0xA8, 0x7F, 0x4F, 0xB6, 0x6E, 0x8B, 0x84, + 0x84, 0xD2, 0x06, 0x69, 0x46, 0x52, 0xA9, 0xB6, 0x18, 0x67, 0x47, 0x25, 0x89, 0x46, 0x8D, 0x1A, + 0xCA, 0x80, 0xAE, 0x00, 0x82, 0x20, 0x67, 0x0B, 0x92, 0xAC, 0xC7, 0x23, 0x5B, 0x67, 0xC1, 0x13, + 0xF0, 0xF6, 0xA5, 0x41, 0x1B, 0x89, 0xF6, 0x35, 0xA6, 0x72, 0x77, 0xC6, 0xB8, 0x93, 0x1C, 0x7B, + 0x4C, 0x41, 0x0B, 0xD2, 0xEF, 0x1E, 0x3A, 0x62, 0xCF, 0x28, 0x92, 0xAD, 0x4A, 0xB5, 0xDB, 0xA0, + 0x39, 0x56, 0x64, 0x8C, 0xA4, 0x20, 0x13, 0xD5, 0x6E, 0xA3, 0x84, 0x91, 0x8F, 0xAF, 0x19, 0x10, + 0xEF, 0x45, 0xAE, 0x15, 0x60, 0xC2, 0x17, 0x32, 0x56, 0xCE, 0x8E, 0xD7, 0xB3, 0xC8, 0x65, 0xB9, + 0x7F, 0x91, 0xAF, 0xBB, 0x1F, 0xF3, 0x63, 0x28, 0x4C, 0x00, 0x88, 0xB2, 0x02, 0xF9, 0xD7, 0x12, + 0x22, 0xF3, 0x61, 0xA2, 0x57, 0x52, 0x80, 0x82, 0x4B, 0x02, 0xB9, 0x9C, 0x09, 0x25, 0x71, 0x33, + 0x6E, 0x56, 0x9F, 0xE9, 0xCA, 0xC9, 0xF0, 0xD4, 0xB5, 0x59, 0x17, 0xE8, 0x01, 0x70, 0x47, 0xE9, + 0x41, 0x93, 0xF8, 0x7C, 0x39, 0x7B, 0x2F, 0x68, 0x93, 0x5E, 0xC2, 0x02, 0x03, 0xF4, 0x39, 0xB4, + 0xC5, 0x12, 0x3B, 0x43, 0x0D, 0x71, 0x7D, 0xBB, 0xB9, 0x23, 0xC8, 0xD5, 0x46, 0x21, 0x81, 0xBC, + 0xB0, 0x59, 0x16, 0x5A, 0x98, 0xC3, 0x19, 0x2C, 0xA0, 0x39, 0xC8, 0x05, 0x91, 0x77, 0x63, 0x54, + 0x67, 0x95, 0x03, 0x01, 0xE6, 0x7A, 0xB2, 0xD4, 0xB7, 0x1F, 0x55, 0xDD, 0x13, 0x83, 0x29, 0x69, + 0x1F, 0x03, 0x70, 0xCC, 0xD0, 0x1D, 0x97, 0x36, 0x37, 0xE8, 0x42, 0xEA, 0xEA, 0x40, 0x9D, 0x0E, + 0x4A, 0xEA, 0xAA, 0xF7, 0x03, 0x4D, 0x5F, 0xBD, 0xA8, 0x72, 0xFB, 0x9A, 0xC3, 0x1A, 0x03, 0x34, + 0xF5, 0x10, 0x63, 0xE8, 0x1B, 0x51, 0x21, 0x9E, 0x6D, 0xBE, 0x84, 0x3B, 0x20, 0xDB, 0xD6, 0x73, + 0xBD, 0x79, 0x13, 0x62, 0x8A, 0x12, 0x28, 0xFD, 0x60, 0x1B, 0xA7, 0xC2, 0xB1, 0x0A, 0x94, 0xA2, + 0xC6, 0x68, 0x0F, 0x35, 0xFC, 0x64, 0xCF, 0x30, 0x25, 0x24, 0x3A, 0xC3, 0x66, 0x0E, 0x96, 0xCA, + 0x0E, 0x44, 0x57, 0x52, 0xB1, 0x9E, 0x86, 0x5D, 0x0F, 0xE7, 0xBD, 0x7D, 0x2B, 0x36, 0xD1, 0x74, + 0x3F, 0xB8, 0xFA, 0xFA, 0xED, 0xBB, 0x81, 0x1A, 0x09, 0xD8, 0xF1, 0x05, 0x53, 0xC0, 0x12, 0x0D, + 0x56, 0x4D, 0x22, 0x43, 0xDF, 0x78, 0x51, 0x61, 0x10, 0xFF, 0x5E, 0x46, 0x4D, 0x55, 0x33, 0x8B, + 0x14, 0x22, 0x48, 0x52, 0x1D, 0x6A, 0x69, 0x01, 0xC6, 0x2D, 0x05, 0x8B, 0x2C, 0x6D, 0xC7, 0x11, + 0x83, 0x7D, 0x2C, 0xAB, 0xFD, 0x2E, 0x44, 0x90, 0x35, 0x36, 0xA4, 0xF5, 0x62, 0x7E, 0xE9, 0x6E, + 0x2D, 0x0B, 0x98, 0x17, 0x2B, 0x0E, 0x27, 0x3B, 0x37, 0x99, 0x16, 0x35, 0x18, 0x73, 0x51, 0x04, + 0x22, 0xE6, 0x83, 0x47, 0xA4, 0x68, 0x06, 0xA3, 0x30, 0xB6, 0xE1, 0xEA, 0x0C, 0x32, 0x4A, 0x07, + 0xD7, 0x3A, 0xB4, 0x2B, 0x40, 0xD5, 0xC2, 0xD9, 0xED, 0x80, 0xE6, 0x04, 0xA0, 0xF0, 0x37, 0xB7, + 0xCD, 0xD7, 0x61, 0x76, 0x38, 0x04, 0x18, 0xB9, 0xDB, 0x0A, 0xD3, 0xB6, 0xEC, 0x49, 0xA1, 0x45, + 0x90, 0x2F, 0xB4, 0x19, 0xC3, 0xE6, 0x62, 0x9A, 0x2A, 0x9D, 0x87, 0xD0, 0xF6, 0xA6, 0x1B, 0xA3, + 0xD8, 0x24, 0x32, 0xAA, 0x86, 0x3B, 0x3F, 0xB1, 0xAD, 0x2E, 0x38, 0xC2, 0x3C, 0x22, 0xFD, 0xF4, + 0x7C, 0x94, 0x61, 0xD7, 0x83, 0x96, 0xC8, 0xC1, 0xAB, 0xB5, 0x0B, 0x74, 0x8B, 0xD4, 0x00, 0x10, + 0x32, 0x8D, 0x9B, 0x6D, 0x3A, 0x8A, 0x6D, 0x3D, 0x2E, 0x69, 0x5E, 0x97, 0x1B, 0x6E, 0x44, 0x0D, + 0x8C, 0x32, 0x8D, 0xC4, 0xD8, 0x6F, 0xBC, 0x16, 0x75, 0x83, 0x90, 0xEE, 0x06, 0x8B, 0xAE, 0x8F, + 0x71, 0xF4, 0x9A, 0x28, 0x01, 0x45, 0x14, 0x54, 0xDD, 0x63, 0x29, 0x22, 0x0C, 0x3D, 0x74, 0xF7, + 0x18, 0x94, 0xA7, 0xD5, 0xB5, 0xD3, 0x4E, 0xAC, 0x4A, 0xBC, 0x2E, 0x91, 0x3D, 0xED, 0x3C, 0x65, + 0x5D, 0x52, 0x5C, 0xC7, 0xA1, 0x2E, 0x67, 0x01, 0x76, 0xEE, 0x82, 0x54, 0xD5, 0x94, 0xA9, 0xCC, + 0xA0, 0x1E, 0xEA, 0x70, 0xA1, 0x38, 0x70, 0x14, 0x7F, 0xD6, 0x8D, 0x18, 0x81, 0x16, 0xB3, 0xE1, + 0x56, 0x25, 0x20, 0x1C, 0x3B, 0xA7, 0x7F, 0x11, 0xDD, 0x88, 0xE6, 0xA0, 0x14, 0x94, 0xE9, 0xB7, + 0x2B, 0x65, 0x47, 0xBE, 0x69, 0x25, 0x74, 0x59, 0x51, 0xDB, 0xD4, 0xFF, 0xF0, 0xE2, 0x3C, 0x95, + 0x7D, 0xA3, 0x9F, 0xB9, 0x79, 0x53, 0x11, 0xF1, 0x43, 0x56, 0xB9, 0xCF, 0x04, 0xF5, 0x33, 0x7E, + 0x7D, 0x06, 0xB2, 0xE1, 0x8C, 0xF0, 0x39, 0x5B, 0x60, 0xEA, 0x12, 0xFA, 0x76, 0x6D, 0x1B, 0x8B, + 0x55, 0x6D, 0xDD, 0x74, 0x6F, 0x10, 0xB1, 0x3D, 0x2C, 0xD5, 0x60, 0x27, 0x40, 0xBE, 0x91, 0xAC, + 0x30, 0x4D, 0x06, 0xEB, 0x1E, 0xAC, 0x10, 0x69, 0x66, 0xB8, 0xA1, 0xD9, 0xDA, 0x01, 0xCA, 0x18, + 0x7C, 0x41, 0xB3, 0xF5, 0x5A, 0xEE, 0xD9, 0xDC, 0x70, 0xED, 0xD2, 0xB1, 0xCD, 0x82, 0xED, 0x15, + 0x6B, 0xB4, 0x63, 0xBB, 0x70, 0x8D, 0x51, 0xBB, 0x8F, 0x1D, 0xDB, 0x15, 0x9C, 0x0E, 0x17, 0x19, + 0xF1, 0x19, 0xB2, 0xC7, 0x8D, 0x2C, 0xDB, 0xDF, 0x4A, 0xEC, 0x3B, 0x4B, 0x38, 0x70, 0x1F, 0xD3, + 0x15, 0xEF, 0xFA, 0x7E, 0x2A, 0x75, 0x43, 0x2D, 0x6E, 0x34, 0x38, 0x0D, 0x2F, 0x69, 0x28, 0xDE, + 0x6D, 0xEF, 0xDE, 0x7E, 0xC1, 0xDC, 0x0C, 0xAC, 0x43, 0xEB, 0x13, 0x27, 0x0E, 0x2E, 0xD4, 0x95, + 0x74, 0x73, 0x49, 0x52, 0x2A, 0x53, 0xB6, 0x05, 0xD3, 0x38, 0xBD, 0xDC, 0x0D, 0x77, 0x78, 0x95, + 0xF3, 0x28, 0x7C, 0xA7, 0xB3, 0x6D, 0x5B, 0x00, 0xD5, 0xE5, 0xD3, 0xC6, 0x37, 0x66, 0x90, 0xE6, + 0x7D, 0x91, 0xBE, 0xE1, 0xF1, 0x7C, 0xE5, 0x5F, 0xFC, 0xAB, 0xAE, 0xFD, 0x55, 0xFA, 0xAC, 0x0D, + 0xD7, 0x30, 0x2D, 0xDF, 0xA3, 0x61, 0xDF, 0x14, 0x06, 0x80, 0x8D, 0xAF, 0x2E, 0xB8, 0xDE, 0x98, + 0x0C, 0xD7, 0xAD, 0x2C, 0x2D, 0x39, 0x22, 0x1D, 0x09, 0x3D, 0x1A, 0xFD, 0x05, 0x8E, 0x0B, 0x57, + 0xE3, 0x32, 0x5B, 0x38, 0x7D, 0xBB, 0x8C, 0x01, 0xB5, 0x90, 0x34, 0x8F, 0xA2, 0xBF, 0x5B, 0xA5, + 0xD4, 0x85, 0xC8, 0x5B, 0x2A, 0xB9, 0xD1, 0xD5, 0xD5, 0xD5, 0x90, 0x5A, 0x91, 0x8B, 0xDC, 0x1E, + 0xD3, 0x88, 0x3C, 0xC2, 0xF1, 0xFA, 0x8D, 0xF5, 0x7E, 0xCB, 0x66, 0x71, 0xBE, 0x10, 0x77, 0xDF, + 0x01, 0xEC, 0x5D, 0x27, 0xBB, 0x05, 0x75, 0x34, 0xDC, 0xAC, 0xA8, 0xB6, 0xDC, 0xA2, 0x1F, 0x6D, + 0x70, 0xE6, 0x7E, 0x4F, 0x17, 0xA4, 0x7F, 0x59, 0xA6, 0x07, 0x55, 0xEA, 0x38, 0x98, 0x79, 0xB7, + 0x53, 0xEE, 0xD3, 0x42, 0xEB, 0x14, 0x08, 0xEF, 0x72, 0x04, 0xB0, 0xF7, 0x1F, 0x74, 0xE1, 0x17, + 0x5E, 0x56, 0x1C, 0xC2, 0x6D, 0xB8, 0x36, 0x10, 0x01, 0xB3, 0xDA, 0x36, 0xA4, 0xE3, 0xE4, 0x38, + 0xDA, 0x4E, 0x33, 0x1F, 0x1F, 0xDA, 0x4F, 0xB4, 0xA8, 0x0D, 0x91, 0xC1, 0xB7, 0x77, 0x7C, 0x84, + 0x87, 0x6A, 0x42, 0xBD, 0x52, 0x77, 0x69, 0xE0, 0x84, 0xC4, 0x96, 0xB6, 0xB7, 0xC2, 0x91, 0x6A, + 0xE0, 0x82, 0x10, 0x22, 0x1A, 0xAD, 0xB7, 0x27, 0x72, 0x45, 0xEC, 0x36, 0xE2, 0xB6, 0xE3, 0x12, + 0x9F, 0x7F, 0xF6, 0xF6, 0xF4, 0xC4, 0xC6, 0x75, 0xC6, 0xB1, 0x03, 0xEB, 0x69, 0x1E, 0xC6, 0x98, + 0x7D, 0x0C, 0x1B, 0x1C, 0x63, 0x28, 0x89, 0x69, 0x91, 0x54, 0x89, 0xB6, 0x26, 0x4F, 0x8A, 0x79, + 0x2A, 0xCA, 0x46, 0x31, 0x26, 0x3B, 0x69, 0x42, 0x87, 0x2A, 0x70, 0xBF, 0x84, 0xC3, 0x8B, 0x09, + 0x45, 0xF5, 0xA5, 0xD5, 0xFB, 0x62, 0xE3, 0xC7, 0xBF, 0x43, 0x3C, 0x1E, 0x7A, 0x73, 0x67, 0xB3, + 0x58, 0x67, 0x11, 0x4C, 0x20, 0x1D, 0x7D, 0x3B, 0x9A, 0xB9, 0x77, 0xA5, 0x29, 0xAF, 0x19, 0x4B, + 0xCC, 0xA6, 0x75, 0x3E, 0x1C, 0x1B, 0x6C, 0x4E, 0x5E, 0x7B, 0xE8, 0x8B, 0x5E, 0x22, 0xE5, 0x50, + 0xDB, 0xF2, 0xD2, 0x8E, 0xB3, 0xB0, 0xD9, 0x93, 0xEB, 0xD5, 0xE9, 0x62, 0x7A, 0xB1, 0x1D, 0xCA, + 0xF6, 0xCC, 0x07, 0x78, 0xD7, 0xBA, 0x89, 0xFD, 0xAE, 0x7F, 0xE9, 0xBA, 0xE9, 0x14, 0xA3, 0x4F, + 0xA3, 0xEE, 0xA4, 0x5C, 0xD7, 0x05, 0x3C, 0xB8, 0xAA, 0x7C, 0xCC, 0xCB, 0x3D, 0xB2, 0xBB, 0x98, + 0xD5, 0x69, 0xE7, 0x41, 0x24, 0xD2, 0x89, 0x56, 0x62, 0xBD, 0xAC, 0x4C, 0x0B, 0xD2, 0x36, 0xAC, + 0x7B, 0xC3, 0x3D, 0xB8, 0x4D, 0xB7, 0x41, 0x7B, 0x45, 0x94, 0xC2, 0x1B, 0xD2, 0x15, 0xAA, 0x79, + 0x0A, 0x06, 0x3C, 0x0A, 0x89, 0xB0, 0xAD, 0x34, 0x6F, 0x73, 0x00, 0x45, 0x02, 0x0D, 0x0B, 0x07, + 0xED, 0x9D, 0x2A, 0xB2, 0xE3, 0x57, 0xBD, 0xFD, 0x55, 0xE9, 0x8C, 0x67, 0x85, 0x44, 0x78, 0xEB, + 0xCB, 0x5D, 0x2F, 0x62, 0xEC, 0x80, 0xB9, 0xCF, 0xB0, 0xD1, 0x2F, 0x0C, 0x3F, 0xC6, 0xB1, 0xA6, + 0x4F, 0xED, 0x4A, 0xDE, 0x6F, 0x93, 0x7F, 0xB7, 0xC1, 0xBD, 0x19, 0x86, 0x77, 0xEA, 0x35, 0x4B, + 0xA7, 0x79, 0x25, 0xC3, 0x24, 0xC5, 0x15, 0xAA, 0xCB, 0xC3, 0xCF, 0x67, 0x6A, 0x3F, 0x63, 0x9A, + 0x35, 0x57, 0x28, 0x54, 0x1E, 0x4C, 0xED, 0xC5, 0x5C, 0xF0, 0x96, 0xA8, 0xE5, 0xBA, 0xD9, 0x08, + 0xB3, 0x03, 0xD2, 0x5C, 0x91, 0x44, 0xBA, 0x21, 0xED, 0x5A, 0xAE, 0x0C, 0x87, 0x06, 0xBC, 0x7B, + 0xD2, 0xC5, 0x64, 0x59, 0x71, 0xEA, 0x60, 0xC2, 0x5D, 0x10, 0x5E, 0x79, 0x40, 0xB1, 0xA4, 0x73, + 0xFB, 0x43, 0xAE, 0x4C, 0x16, 0x9E, 0x66, 0x2B, 0x41, 0x8B, 0x9B, 0x87, 0xC7, 0x21, 0x3C, 0x23, + 0xEB, 0x88, 0x7B, 0x9B, 0xF5, 0xB9, 0x56, 0x29, 0xED, 0x9E, 0x2E, 0x68, 0x10, 0xD0, 0x74, 0x85, + 0x95, 0xFF, 0x72, 0x93, 0x9D, 0xF0, 0x86, 0x0A, 0x1D, 0x6B, 0x9E, 0xB6, 0x7D, 0x1E, 0x58, 0x09, + 0x96, 0xC3, 0x8B, 0x6C, 0xE1, 0xDF, 0x54, 0x10, 0xAA, 0x6B, 0xBE, 0x9A, 0x76, 0x13, 0xE5, 0x4C, + 0x4F, 0x20, 0x67, 0x29, 0xA4, 0xBD, 0x0A, 0x78, 0x77, 0x69, 0xEB, 0x05, 0xF8, 0xDA, 0xB1, 0xD5, + 0x1B, 0xEA, 0x70, 0x16, 0xDC, 0x36, 0x75, 0x0E, 0xE7, 0x2C, 0x0D, 0xF4, 0x46, 0x6A, 0x9C, 0x05, + 0xF8, 0x4B, 0x6A, 0x74, 0x3D, 0x54, 0xBA, 0x31, 0x44, 0x8A, 0xB6, 0xA8, 0x75, 0x3F, 0xC2, 0x6F, + 0xC7, 0xC9, 0xA3, 0xFB, 0x0F, 0x7E, 0x22, 0x7A, 0x54, 0xA8, 0xE2, 0x5D, 0x47, 0xC7, 0xD3, 0x4A, + 0xD4, 0x5A, 0x2D, 0xEF, 0x3A, 0x6A, 0xDE, 0x7F, 0xDB, 0xBB, 0x9A, 0xDE, 0xA6, 0x81, 0x20, 0x7A, + 0xEF, 0xAF, 0xE8, 0x31, 0x95, 0xDC, 0x72, 0xE1, 0x94, 0x0B, 0x42, 0x80, 0xAA, 0x4A, 0x1C, 0x90, + 0x80, 0x13, 0x07, 0x92, 0xA6, 0x81, 0x46, 0x0A, 0x71, 0x14, 0xBB, 0x88, 0x1E, 0xF8, 0xEF, 0xEC, + 0xCC, 0xBC, 0xFD, 0x5E, 0xAF, 0xD7, 0xAE, 0x23, 0x0A, 0x0A, 0x07, 0xDA, 0x26, 0xEB, 0xD9, 0xAF, + 0x99, 0xD9, 0xE7, 0xDD, 0x9D, 0x37, 0xFD, 0x38, 0xAF, 0x08, 0xE8, 0x99, 0x46, 0x0E, 0x82, 0x7A, + 0x63, 0xB0, 0x1E, 0xC0, 0x5E, 0x2F, 0xDA, 0x0B, 0xE1, 0x1E, 0x87, 0x26, 0xA9, 0xD6, 0x9B, 0xE8, + 0x9E, 0x71, 0x90, 0xAF, 0x10, 0xF3, 0x8D, 0x07, 0x7D, 0x0E, 0xEA, 0x1B, 0x0C, 0xFB, 0x26, 0xC6, + 0x7D, 0x01, 0xF0, 0x8B, 0x91, 0x1F, 0x4C, 0xB2, 0x00, 0xFB, 0x09, 0xD9, 0x8D, 0xB7, 0x6D, 0x33, + 0x1A, 0xCF, 0x4D, 0x0F, 0xE8, 0xCA, 0x10, 0x9D, 0x74, 0xE5, 0xA7, 0xA3, 0x42, 0x31, 0xAA, 0x93, + 0x42, 0xA1, 0x64, 0xEF, 0xA1, 0x27, 0x40, 0xBB, 0x48, 0x2E, 0xA0, 0x5E, 0x1A, 0xDB, 0x1D, 0x17, + 0xDC, 0xA5, 0xD0, 0xDD, 0xF1, 0xE1, 0xDD, 0x54, 0xF8, 0xEE, 0x28, 0x00, 0x6F, 0x32, 0x84, 0x77, + 0x1C, 0x88, 0xF7, 0x74, 0x8C, 0x77, 0x2C, 0x90, 0x17, 0xF9, 0xE6, 0x67, 0x09, 0xF4, 0x34, 0xA5, + 0x53, 0x7D, 0x90, 0x5F, 0x1F, 0xF6, 0xF4, 0x9C, 0xA0, 0xBD, 0x13, 0xD2, 0xFB, 0xF7, 0x90, 0x1E, + 0x2F, 0xCD, 0xE2, 0x9B, 0xDA, 0xDA, 0xD8, 0x3F, 0xFD, 0xAE, 0x9A, 0x8F, 0x3C, 0xAC, 0xFA, 0xD0, + 0x9F, 0xC4, 0xF9, 0xB1, 0x4B, 0xA6, 0xF9, 0x91, 0x54, 0xEE, 0x0F, 0xC9, 0xC0, 0xD0, 0x19, 0xD1, + 0x38, 0xC6, 0x86, 0xBB, 0x9B, 0x05, 0xD8, 0xF2, 0xC2, 0x64, 0xD0, 0xA1, 0x26, 0xC5, 0x52, 0xE1, + 0x36, 0x3D, 0xF7, 0xB8, 0xD9, 0x79, 0x1E, 0xC6, 0xA4, 0xB7, 0x1A, 0x84, 0x69, 0xE9, 0xA6, 0x6D, + 0x73, 0x4F, 0x69, 0x4F, 0x3F, 0xEF, 0x5F, 0x59, 0x10, 0xFB, 0xF2, 0x84, 0x62, 0xF5, 0xD8, 0x7B, + 0x59, 0x96, 0xE4, 0x1E, 0xD9, 0x33, 0x46, 0xBA, 0x1F, 0x0D, 0xB7, 0x1C, 0xFB, 0xD5, 0x13, 0xCE, + 0xFD, 0x2B, 0x38, 0xD7, 0x25, 0x00, 0x9C, 0x1E, 0xED, 0xAA, 0x92, 0x8D, 0xFD, 0x1B, 0xEB, 0x81, + 0x75, 0x04, 0x5C, 0x2B, 0x9B, 0xC3, 0xE1, 0x81, 0xE5, 0xD1, 0x35, 0x05, 0xCA, 0xF1, 0x19, 0xCA, + 0x8D, 0x13, 0x4D, 0xD8, 0x54, 0xD4, 0x89, 0x7B, 0x4C, 0xD2, 0x2B, 0xCF, 0x2B, 0xB2, 0xFF, 0xAC, + 0x0F, 0xB1, 0x60, 0xB8, 0x47, 0xEB, 0x0D, 0xE1, 0x06, 0xED, 0x2D, 0x26, 0x67, 0x69, 0x69, 0xC0, + 0xEC, 0x67, 0x6E, 0x7C, 0x45, 0xF2, 0xE0, 0x8F, 0x45, 0x9C, 0x5C, 0xA7, 0xDB, 0x31, 0xD4, 0x51, + 0xD2, 0x0C, 0x4A, 0xAA, 0x0F, 0xE4, 0xA4, 0x10, 0xA0, 0x71, 0x82, 0x7B, 0xCF, 0x14, 0xEE, 0x05, + 0x0E, 0xAA, 0x0C, 0xEC, 0x3D, 0x11, 0xEB, 0xF1, 0xD5, 0x95, 0x20, 0xDF, 0xF1, 0xFA, 0x57, 0x3E, + 0x73, 0xAE, 0xA4, 0x0A, 0xA2, 0x02, 0xAD, 0x49, 0xC0, 0x1B, 0x47, 0x20, 0x71, 0x46, 0x47, 0x22, + 0xA0, 0x6E, 0x5A, 0x0E, 0x78, 0x0E, 0xA5, 0x99, 0x94, 0xB3, 0xB2, 0x66, 0xA7, 0x6F, 0xAE, 0xBA, + 0x62, 0x89, 0x62, 0x98, 0xE6, 0x3C, 0xE0, 0x28, 0x47, 0x72, 0x18, 0x7B, 0x07, 0xE1, 0xBA, 0xAE, + 0xBF, 0x6F, 0x91, 0xD8, 0x92, 0x62, 0x2C, 0x34, 0xB3, 0xF4, 0x87, 0xED, 0xB2, 0x25, 0x00, 0xE6, + 0xCA, 0x9C, 0x5D, 0xBF, 0xB9, 0xF9, 0x20, 0x97, 0xB5, 0x29, 0x79, 0xF7, 0x4E, 0xC2, 0xFC, 0x97, + 0xB7, 0x04, 0x7A, 0xE9, 0xAB, 0x0A, 0x66, 0x2E, 0xA3, 0xB1, 0x59, 0xA9, 0x9F, 0xDC, 0x84, 0x6F, + 0x6B, 0x4E, 0x63, 0xE3, 0xDF, 0x9A, 0x6D, 0xD6, 0x72, 0x1D, 0xF9, 0x0B, 0x3D, 0xE9, 0x5F, 0xEB, + 0xB0, 0x99, 0x5E, 0x56, 0xD4, 0xAC, 0xAB, 0xEF, 0xAA, 0x8D, 0x80, 0x19, 0x1B, 0xB4, 0xEF, 0x72, + 0x8F, 0xF6, 0x79, 0xC9, 0x5C, 0xF2, 0xD7, 0x44, 0xC3, 0x31, 0xC5, 0x64, 0x28, 0xA7, 0xC1, 0x56, + 0xFB, 0x38, 0x6E, 0x1F, 0x1A, 0x7A, 0x10, 0x4F, 0xD8, 0x8F, 0x35, 0x13, 0xDE, 0xC5, 0x27, 0x0B, + 0xA8, 0x16, 0x53, 0x40, 0xBD, 0xEE, 0xA0, 0xCB, 0x4A, 0x51, 0x72, 0xA3, 0x3F, 0xF3, 0xCE, 0x0C, + 0xC7, 0x8E, 0x3A, 0x77, 0x72, 0x74, 0x77, 0x6B, 0xF8, 0x7B, 0x75, 0xCD, 0xA1, 0x11, 0x72, 0xE1, + 0x6C, 0xFA, 0xCD, 0xDB, 0xC7, 0xF0, 0xB2, 0xE1, 0x55, 0xCA, 0x50, 0x96, 0x3D, 0xA3, 0xD7, 0x21, + 0xDE, 0x11, 0x95, 0x25, 0x77, 0x39, 0xA8, 0x7A, 0xF5, 0x2B, 0x92, 0xBD, 0x6B, 0x65, 0x3F, 0xA1, + 0xAF, 0xEF, 0xEA, 0x75, 0x48, 0x70, 0x22, 0x36, 0x4B, 0x37, 0xAD, 0x70, 0xBD, 0xCA, 0xAB, 0xFC, + 0x52, 0x15, 0xBE, 0xFC, 0xA6, 0x56, 0xE0, 0xF8, 0x7E, 0xD5, 0xC9, 0xD8, 0x7A, 0x19, 0x51, 0xC1, + 0xAD, 0x1C, 0xE6, 0x25, 0xCE, 0x4F, 0x63, 0x70, 0x82, 0x04, 0x65, 0xB0, 0xF9, 0xA6, 0x87, 0x58, + 0x66, 0x20, 0xCB, 0xA8, 0x9A, 0xAF, 0x61, 0xD9, 0xF6, 0x58, 0x75, 0x8E, 0x17, 0x9F, 0xC0, 0xA0, + 0x66, 0xA6, 0xCB, 0xA9, 0xB0, 0x87, 0xD8, 0x46, 0xCB, 0x58, 0x36, 0xB5, 0xD0, 0x01, 0x6D, 0xA6, + 0x41, 0xC6, 0x1B, 0xB2, 0xDB, 0xF4, 0xAC, 0x49, 0x0C, 0xB4, 0x03, 0x47, 0xEC, 0xC9, 0x24, 0xFE, + 0x9E, 0x49, 0x48, 0x6C, 0xE6, 0x10, 0x93, 0x38, 0xAF, 0x5D, 0xAC, 0x9D, 0xA3, 0x66, 0x1C, 0xA2, + 0xDC, 0x14, 0xD3, 0xD3, 0x0F, 0x95, 0x7A, 0x57, 0x00, 0xCD, 0x45, 0xB1, 0x88, 0x8D, 0x65, 0x31, + 0x72, 0x1D, 0x38, 0xE9, 0xFF, 0xFF, 0xAC, 0xFF, 0xDD, 0x2C, 0x2B, 0x50, 0x25, 0x51, 0x1E, 0xAE, + 0x0E, 0x9F, 0x78, 0x7E, 0x74, 0xD0, 0x6A, 0x12, 0xE9, 0xA9, 0x69, 0x60, 0x49, 0xDA, 0x5A, 0x7A, + 0xA6, 0xC0, 0xA8, 0x2A, 0xBF, 0xE5, 0xF3, 0xEE, 0xDC, 0x21, 0x23, 0xD7, 0x96, 0x62, 0x63, 0x34, + 0xBC, 0xE0, 0x45, 0x26, 0xC9, 0xAF, 0xD9, 0x78, 0x2C, 0x93, 0xBE, 0x1E, 0xE2, 0x4E, 0x96, 0x92, + 0xB7, 0x94, 0x95, 0x51, 0xDB, 0xAE, 0xB1, 0x6C, 0x6B, 0x1E, 0xCB, 0x81, 0xCE, 0x5F, 0x4F, 0x2E, + 0x3D, 0x3B, 0x58, 0x83, 0x93, 0x59, 0x88, 0xE5, 0xB9, 0xC4, 0x2B, 0x48, 0x11, 0xF6, 0x89, 0x52, + 0x81, 0xB8, 0x89, 0x29, 0x44, 0xE7, 0x16, 0x26, 0x1B, 0x87, 0x8D, 0x9B, 0x92, 0x78, 0x29, 0x13, + 0x90, 0x59, 0x99, 0xD6, 0xAB, 0x8F, 0x58, 0x87, 0x5E, 0x38, 0xFA, 0x43, 0x05, 0x20, 0x5E, 0x6F, + 0x18, 0x50, 0x31, 0xBB, 0x2D, 0xD5, 0x90, 0xC8, 0xE0, 0x7A, 0x5D, 0x95, 0x38, 0x9C, 0xE5, 0x13, + 0x05, 0x2A, 0x6B, 0x48, 0x3D, 0x91, 0x1C, 0xA3, 0xF1, 0xB3, 0xAB, 0x20, 0x37, 0xFD, 0x25, 0x7F, + 0xB9, 0x7A, 0x1C, 0xAB, 0xBD, 0x93, 0x69, 0xEE, 0x74, 0x5A, 0x1B, 0x74, 0xF3, 0xDD, 0x72, 0x75, + 0x8F, 0x21, 0xA0, 0x19, 0x68, 0x97, 0x1B, 0xE2, 0x0B, 0x69, 0xF9, 0xBE, 0x52, 0x22, 0x2F, 0x55, + 0x65, 0xB6, 0x17, 0xA9, 0x95, 0xF4, 0x47, 0x63, 0x82, 0x7A, 0xAF, 0x6C, 0x72, 0x1B, 0xEA, 0xC5, + 0x42, 0xF4, 0xE0, 0x35, 0xA9, 0x01, 0x2B, 0x41, 0xC5, 0xC5, 0x10, 0xDF, 0x1E, 0x8E, 0x3F, 0x8B, + 0x8B, 0x73, 0x27, 0xBF, 0x20, 0x4D, 0x80, 0x5C, 0x5F, 0xBF, 0x65, 0x07, 0x05, 0xE9, 0xC9, 0x11, + 0x7C, 0x77, 0x57, 0xF9, 0x81, 0xF0, 0xA8, 0xD0, 0xB2, 0xAD, 0xB4, 0x75, 0x5C, 0x33, 0xA4, 0x93, + 0x38, 0x1B, 0x6A, 0x44, 0xA2, 0x92, 0x67, 0x7E, 0x5E, 0xB5, 0x76, 0x83, 0xCB, 0xD6, 0x86, 0x43, + 0x6C, 0xBB, 0x04, 0x42, 0x3E, 0x6A, 0x0B, 0xD4, 0x2C, 0x1E, 0x25, 0x93, 0xCA, 0x25, 0x1A, 0xA8, + 0x85, 0x48, 0xB8, 0xB9, 0x5B, 0xA0, 0xAD, 0x28, 0xDA, 0x6E, 0x96, 0x72, 0x2A, 0xCE, 0x9C, 0x05, + 0xAA, 0x62, 0x23, 0x9B, 0x8F, 0x11, 0xE5, 0x29, 0x09, 0x0C, 0x3C, 0xCC, 0x2E, 0xF8, 0xA4, 0x40, + 0x05, 0x3A, 0x48, 0xBD, 0x33, 0x2D, 0xF3, 0x62, 0xD1, 0x95, 0x19, 0x2C, 0x68, 0xA0, 0xCE, 0x40, + 0x5E, 0x90, 0x56, 0x87, 0x5C, 0x9F, 0xC8, 0x77, 0x22, 0x90, 0x53, 0x30, 0x61, 0xD3, 0x64, 0xC6, + 0xC1, 0x0F, 0x0C, 0xDF, 0x6E, 0xB9, 0x97, 0x8D, 0x17, 0x79, 0x6F, 0x43, 0x2F, 0x89, 0x70, 0xA2, + 0xA9, 0xAC, 0xEA, 0x18, 0xCD, 0x8D, 0xCB, 0x58, 0xE7, 0xC1, 0x15, 0x04, 0xDE, 0xA5, 0xDE, 0xE9, + 0x62, 0xED, 0x8A, 0xEF, 0x63, 0xC8, 0x86, 0xEA, 0xED, 0x5A, 0xD3, 0x3B, 0xB1, 0x1F, 0xD6, 0x1B, + 0xA7, 0xAB, 0x7A, 0x4F, 0xC4, 0x90, 0xDC, 0x15, 0x74, 0x39, 0xED, 0x7F, 0x31, 0xDC, 0x61, 0x36, + 0xA5, 0x60, 0xC8, 0x7B, 0xC6, 0x99, 0x9A, 0x30, 0xA7, 0xFF, 0xAE, 0xD4, 0xA9, 0x52, 0x00, 0x12, + 0xE2, 0x75, 0xC4, 0xCE, 0x02, 0xC6, 0xE0, 0x60, 0x86, 0xF6, 0x5C, 0xF9, 0xCB, 0x7A, 0xA5, 0xD4, + 0x07, 0xDD, 0x71, 0x69, 0x33, 0xB0, 0xF5, 0x9B, 0xEB, 0x87, 0x55, 0xAA, 0xF9, 0xF9, 0x27, 0xF7, + 0x83, 0x8E, 0x85, 0xE1, 0x2D, 0x8E, 0x9B, 0xDB, 0xA8, 0x45, 0x86, 0x9D, 0xE9, 0x7E, 0xBD, 0xDD, + 0xE3, 0x43, 0x14, 0xD1, 0x24, 0x2E, 0x36, 0xE4, 0xDA, 0x38, 0x1A, 0xFF, 0x28, 0x62, 0x7E, 0x16, + 0x66, 0x28, 0x47, 0x62, 0x6D, 0x3E, 0x40, 0x51, 0x7B, 0xFC, 0xCA, 0x91, 0xD9, 0x25, 0x57, 0x63, + 0xB4, 0x8A, 0x77, 0xE5, 0x2A, 0xC9, 0x57, 0xB0, 0x03, 0xE3, 0xBD, 0xAE, 0xBB, 0xB1, 0xE1, 0x35, + 0x3B, 0xA5, 0x43, 0xDB, 0x47, 0xC7, 0xB8, 0xE8, 0x1F, 0x86, 0x88, 0x93, 0x66, 0x7B, 0x55, 0x5E, + 0x83, 0x69, 0x63, 0x99, 0xD1, 0x6B, 0x39, 0xFE, 0x78, 0xD8, 0xED, 0xA8, 0x20, 0x7D, 0x95, 0xE8, + 0xA9, 0x5B, 0xD9, 0x2C, 0x50, 0xF5, 0xAA, 0x63, 0xE1, 0x77, 0x8B, 0x88, 0x2F, 0xF4, 0x57, 0x40, + 0x57, 0xA6, 0xB5, 0x01, 0x47, 0xF1, 0x85, 0xEA, 0xC9, 0xB9, 0x44, 0xD3, 0x2A, 0x55, 0x0C, 0x08, + 0x4A, 0x31, 0x40, 0xE8, 0x79, 0x98, 0x2A, 0x3C, 0xF6, 0x22, 0xBE, 0x7E, 0xF8, 0x2E, 0x23, 0xC6, + 0x4E, 0xC6, 0x4C, 0x5C, 0xE5, 0xBD, 0x79, 0x2B, 0x91, 0x01, 0x99, 0x21, 0xB5, 0xF7, 0x16, 0x44, + 0xF7, 0xFB, 0x63, 0xD9, 0x94, 0xFC, 0x8C, 0xBC, 0xB4, 0xAF, 0x8A, 0x7D, 0x5A, 0xDA, 0x46, 0x52, + 0x8E, 0xD6, 0x7B, 0xF3, 0x0E, 0xEA, 0xED, 0x27, 0x9E, 0x16, 0x19, 0xC1, 0x74, 0x43, 0x45, 0xF1, + 0x65, 0x37, 0x17, 0xBA, 0x5D, 0x3E, 0x9C, 0xE6, 0x96, 0x0E, 0x7E, 0xD6, 0x7F, 0x9B, 0x62, 0x93, + 0xA7, 0x28, 0x48, 0x75, 0x38, 0xDC, 0xDC, 0x8B, 0x3B, 0x16, 0x6F, 0xF2, 0x85, 0x73, 0x10, 0xEF, + 0x7E, 0x70, 0x89, 0x81, 0xE4, 0xC2, 0x22, 0xEE, 0x99, 0xD3, 0x0B, 0x4B, 0x23, 0x9F, 0x40, 0x30, + 0xFC, 0xCF, 0xF3, 0xF9, 0xCA, 0x08, 0x14, 0x33, 0xFA, 0x0E, 0x7D, 0x17, 0xF3, 0x2B, 0x5B, 0xA6, + 0x28, 0x7D, 0xD1, 0x84, 0x11, 0xA4, 0xBE, 0xA2, 0x96, 0x63, 0x69, 0x7D, 0xE5, 0xE9, 0x5E, 0x62, + 0xDF, 0x44, 0x0A, 0x2F, 0xB4, 0x78, 0x88, 0xA7, 0xB0, 0x66, 0x98, 0x73, 0x11, 0x03, 0x72, 0xE4, + 0x14, 0x70, 0x1F, 0x89, 0x4C, 0x93, 0x43, 0xAB, 0x24, 0x6D, 0x56, 0xBF, 0x2B, 0xA0, 0x8D, 0xD0, + 0x52, 0xD6, 0x12, 0x11, 0x13, 0xD1, 0x0D, 0x09, 0xC8, 0x50, 0x62, 0x9D, 0x42, 0x4D, 0xA5, 0x7F, + 0x61, 0x25, 0x22, 0xE3, 0xB5, 0x24, 0x73, 0xB7, 0xAA, 0x63, 0x78, 0xF5, 0x93, 0xA4, 0x49, 0x82, + 0x39, 0xF1, 0xBA, 0x19, 0xB3, 0xBB, 0x28, 0xD5, 0xD2, 0x26, 0x4C, 0xCF, 0x98, 0x6B, 0x48, 0xB0, + 0x40, 0x72, 0x1F, 0x0B, 0xBA, 0x66, 0xF3, 0x15, 0x17, 0x0B, 0xCA, 0x7C, 0xBE, 0x10, 0x44, 0xE4, + 0xD3, 0xDF, 0xA1, 0x47, 0xB1, 0x5F, 0x9E, 0x30, 0xF5, 0x9D, 0x88, 0x2F, 0x39, 0x2D, 0xE1, 0x0D, + 0xAE, 0x24, 0xB3, 0x46, 0x37, 0x0C, 0x47, 0x99, 0x40, 0x15, 0x0C, 0x65, 0xC6, 0x1B, 0xE7, 0x3B, + 0x6C, 0xD3, 0x0D, 0x58, 0x27, 0x12, 0x24, 0xD9, 0x61, 0x77, 0x4A, 0x98, 0x53, 0x26, 0xB3, 0xAC, + 0xD2, 0x09, 0x36, 0xA4, 0xD5, 0xDE, 0xDA, 0x2A, 0x8F, 0x0D, 0x70, 0x8F, 0xF1, 0x64, 0x42, 0x32, + 0x24, 0xF5, 0xB2, 0x53, 0x77, 0x98, 0x67, 0xE5, 0x77, 0x80, 0xB7, 0x54, 0x4B, 0x67, 0xE9, 0xF7, + 0xD9, 0xEF, 0xB3, 0x3F, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, + 0x5A, 0x0B, 0xD0, 0x49, 0x56, 0x11, 0xBD, 0x01, 0x00, 0x00, 0xBC, 0x02, 0x00, 0x00, 0x2D, 0x00, + 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, + 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, + 0x62, 0x2F, 0x61, 0x75, 0x74, 0x68, 0x2F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x2E, 0x6A, 0x73, 0x65, + 0x92, 0x41, 0x6F, 0xD3, 0x40, 0x10, 0x85, 0xEF, 0xF9, 0x15, 0x0F, 0x9F, 0x4A, 0xE5, 0xDA, 0x51, + 0xC4, 0x85, 0xF6, 0x64, 0xD2, 0x00, 0x16, 0xC5, 0x41, 0x71, 0x4A, 0xD5, 0x53, 0xB5, 0xB6, 0xC7, + 0xCE, 0x20, 0x67, 0xD7, 0xEC, 0xAE, 0x63, 0x22, 0xC4, 0x7F, 0x67, 0xB6, 0x0D, 0x88, 0x88, 0x93, + 0xB5, 0x9E, 0x37, 0x6F, 0xBE, 0x37, 0xBB, 0xE9, 0xE5, 0x2B, 0xB4, 0x6C, 0xA9, 0x52, 0x8E, 0xAE, + 0x54, 0xB3, 0x67, 0x8D, 0xC3, 0xDB, 0xE4, 0x4D, 0xB2, 0xC0, 0x65, 0x3A, 0x8B, 0x46, 0x47, 0x70, + 0xDE, 0x72, 0xED, 0xA3, 0x9B, 0x99, 0x48, 0x67, 0xB8, 0xC4, 0xD2, 0x0C, 0x47, 0xCB, 0xDD, 0xCE, + 0x63, 0x31, 0x5F, 0xCC, 0xF1, 0xC1, 0x98, 0xAE, 0x27, 0xE4, 0xBA, 0x4E, 0xA4, 0x1A, 0x04, 0x77, + 0x5C, 0x93, 0x76, 0xD4, 0x60, 0xD4, 0x0D, 0x59, 0xF8, 0x1D, 0x21, 0x1B, 0x54, 0x2D, 0x9F, 0x53, + 0x25, 0xC6, 0x57, 0xB2, 0x8E, 0x8D, 0xC6, 0x22, 0x99, 0xE3, 0x22, 0x08, 0xA2, 0x53, 0x29, 0x7A, + 0x7D, 0x13, 0x2C, 0x8E, 0x66, 0xC4, 0x5E, 0x1D, 0xA1, 0x8D, 0x87, 0x30, 0x88, 0x07, 0x3B, 0xC1, + 0x94, 0x39, 0xF4, 0xA3, 0xA6, 0xC1, 0x43, 0x30, 0x6B, 0xB3, 0x1F, 0x7A, 0x56, 0xBA, 0x26, 0x4C, + 0xEC, 0x77, 0xA2, 0xF9, 0x3B, 0x20, 0x09, 0x1E, 0x8F, 0x27, 0x0F, 0x53, 0x79, 0x25, 0x72, 0x25, + 0x0D, 0x83, 0x9C, 0xDA, 0x7F, 0x85, 0x50, 0xFE, 0x04, 0x0D, 0xEC, 0xBC, 0x1F, 0xAE, 0xD3, 0x74, + 0x9A, 0xA6, 0x44, 0x3D, 0xE3, 0x26, 0xC6, 0x76, 0x69, 0xFF, 0x22, 0x74, 0xE9, 0x5D, 0xBE, 0x5C, + 0x15, 0xE5, 0xEA, 0x4A, 0x90, 0x4F, 0x2D, 0xF7, 0xBA, 0x27, 0xE7, 0x60, 0xE9, 0xFB, 0xC8, 0x56, + 0xE2, 0x56, 0x47, 0xA8, 0x61, 0x90, 0x06, 0x55, 0x09, 0x68, 0xAF, 0x26, 0x18, 0x0B, 0xD5, 0x59, + 0x92, 0x9A, 0x37, 0x01, 0x79, 0xB2, 0xEC, 0x59, 0x77, 0x31, 0x9C, 0x69, 0xFD, 0xA4, 0x2C, 0x05, + 0x9B, 0x86, 0xC3, 0x86, 0xAB, 0xD1, 0xFF, 0xD9, 0xD8, 0x19, 0x20, 0xBB, 0x33, 0x81, 0x91, 0x20, + 0x1A, 0x51, 0x56, 0x22, 0x2F, 0x23, 0xBC, 0xCB, 0xCA, 0xBC, 0x8C, 0x83, 0xC9, 0x43, 0xBE, 0xFD, + 0xB8, 0xBE, 0xDF, 0xE2, 0x21, 0xDB, 0x6C, 0xB2, 0x62, 0x9B, 0xAF, 0x4A, 0xAC, 0x37, 0x58, 0xAE, + 0x8B, 0xDB, 0x7C, 0x9B, 0xAF, 0x0B, 0x39, 0xBD, 0x47, 0x56, 0x3C, 0xE2, 0x53, 0x5E, 0xDC, 0xC6, + 0x20, 0x96, 0x11, 0x56, 0x76, 0x39, 0x58, 0x49, 0x10, 0x30, 0x39, 0xEC, 0x92, 0x9A, 0xE7, 0xC5, + 0x95, 0x44, 0x67, 0x08, 0xAD, 0x79, 0x41, 0x72, 0x03, 0xD5, 0xDC, 0x72, 0x2D, 0xD1, 0x74, 0x37, + 0xAA, 0x8E, 0xD0, 0x99, 0x03, 0x59, 0x2D, 0x89, 0x30, 0x90, 0xDD, 0xB3, 0x0B, 0x77, 0xEA, 0x04, + 0xB0, 0x09, 0x36, 0x3D, 0xEF, 0xD9, 0x2B, 0x1F, 0x7E, 0xFD, 0x9F, 0x2B, 0x0C, 0x4A, 0x67, 0xEB, + 0xEA, 0x1B, 0xD5, 0x3E, 0x69, 0xA8, 0x65, 0x4D, 0x5F, 0xAC, 0x11, 0x17, 0x7F, 0xBC, 0x10, 0x2C, + 0x63, 0xBD, 0x8B, 0x11, 0x3D, 0x3D, 0x91, 0xFB, 0x6C, 0x9A, 0xB1, 0xA7, 0x28, 0xC6, 0x4F, 0x1C, + 0x54, 0x3F, 0xD2, 0x35, 0xBC, 0x1D, 0x09, 0xBF, 0xE4, 0xA1, 0xFC, 0x06, 0x50, 0x4B, 0x03, 0x04, + 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x53, 0x9A, 0xA8, 0x08, 0xFA, 0x06, + 0x00, 0x00, 0x65, 0x17, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, + 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, + 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x61, 0x75, 0x74, 0x68, 0x2F, 0x74, + 0x65, 0x6E, 0x61, 0x6E, 0x74, 0x2D, 0x6D, 0x61, 0x6E, 0x61, 0x67, 0x65, 0x72, 0x2E, 0x6A, 0x73, + 0xC5, 0x58, 0xDF, 0x73, 0x12, 0x31, 0x10, 0x7E, 0xEF, 0x5F, 0xB1, 0xF2, 0x22, 0x75, 0xF0, 0xA8, + 0x8E, 0x2F, 0xB6, 0xD3, 0x19, 0xB1, 0x45, 0x65, 0xAC, 0xD4, 0x29, 0xA8, 0xE3, 0x38, 0x4E, 0x27, + 0xDC, 0x05, 0x88, 0x1E, 0xC9, 0x99, 0xE4, 0x40, 0x74, 0xFA, 0xBF, 0xBB, 0x9B, 0xE4, 0x38, 0xEE, + 0x00, 0x2D, 0xFE, 0x18, 0x79, 0x10, 0x7B, 0xD9, 0xFD, 0xF6, 0xCB, 0xEE, 0xB7, 0xC9, 0x1E, 0xED, + 0x7B, 0x77, 0x60, 0x2C, 0x34, 0x1F, 0x31, 0xC3, 0xEF, 0xB3, 0x64, 0x26, 0x24, 0xCC, 0x1F, 0x47, + 0x8F, 0xA2, 0x87, 0x70, 0xAF, 0x7D, 0xD0, 0xC8, 0x0D, 0x07, 0x63, 0xB5, 0x88, 0x6D, 0xE3, 0xE4, + 0x00, 0x4D, 0x0F, 0xE0, 0x1E, 0x9C, 0xA9, 0x6C, 0xA9, 0xC5, 0x64, 0x6A, 0xE1, 0xE1, 0xD1, 0x83, + 0xC7, 0xF0, 0x5C, 0xA9, 0x49, 0xCA, 0xA1, 0x27, 0xE3, 0x08, 0x57, 0xC9, 0xE0, 0x42, 0xC4, 0x5C, + 0x1A, 0x9E, 0x40, 0x2E, 0x13, 0xAE, 0xC1, 0x4E, 0x39, 0x74, 0x32, 0x16, 0xE3, 0x57, 0x58, 0x69, + 0xC1, 0x5B, 0xAE, 0x8D, 0x50, 0x12, 0x1E, 0x46, 0x47, 0xD0, 0x24, 0x83, 0x46, 0x58, 0x6A, 0x1C, + 0x9E, 0x10, 0xC4, 0x52, 0xE5, 0x30, 0x63, 0x4B, 0x90, 0xCA, 0x02, 0x72, 0x40, 0x0C, 0x61, 0x90, + 0x26, 0xC6, 0xE1, 0x5F, 0x63, 0x9E, 0x59, 0x40, 0x9A, 0xB1, 0x9A, 0x65, 0xA9, 0x60, 0x32, 0xE6, + 0xB0, 0x10, 0x76, 0x8A, 0x36, 0xAB, 0x00, 0x11, 0x61, 0xBC, 0x0F, 0x18, 0x6A, 0x64, 0x19, 0x9A, + 0x33, 0x74, 0xC8, 0xF0, 0xAF, 0xF1, 0xBA, 0x21, 0x30, 0x1B, 0x48, 0x03, 0x4C, 0xAD, 0xCD, 0x8E, + 0xDB, 0xED, 0xC5, 0x62, 0x11, 0x31, 0x47, 0x37, 0x52, 0x7A, 0xD2, 0x4E, 0xBD, 0xA1, 0x69, 0x5F, + 0xF4, 0xCE, 0xBA, 0xFD, 0x41, 0xF7, 0x3E, 0x52, 0x0E, 0x2E, 0x6F, 0x64, 0xCA, 0x8D, 0x01, 0xCD, + 0xBF, 0xE4, 0x42, 0xE3, 0x76, 0x47, 0x4B, 0x60, 0x59, 0x86, 0x0E, 0x6C, 0x84, 0x44, 0x53, 0xB6, + 0x00, 0xA5, 0x81, 0x4D, 0x34, 0xC7, 0x35, 0xAB, 0x88, 0xF2, 0x42, 0x0B, 0x2B, 0xE4, 0xA4, 0x05, + 0x46, 0x8D, 0xED, 0x82, 0x69, 0x4E, 0x30, 0x89, 0xA0, 0x0C, 0x8F, 0x72, 0x5B, 0x64, 0xAC, 0x42, + 0x50, 0x98, 0x8A, 0x81, 0xC2, 0x8D, 0x48, 0x68, 0x74, 0x06, 0xD0, 0x1B, 0x34, 0xE0, 0x69, 0x67, + 0xD0, 0x1B, 0xB4, 0x08, 0xE4, 0x5D, 0x6F, 0xF8, 0xE2, 0xF2, 0xCD, 0x10, 0xDE, 0x75, 0xAE, 0xAE, + 0x3A, 0xFD, 0x61, 0xAF, 0x3B, 0x80, 0xCB, 0x2B, 0x38, 0xBB, 0xEC, 0x9F, 0xF7, 0x86, 0xBD, 0xCB, + 0x3E, 0xFE, 0xF5, 0x0C, 0x3A, 0xFD, 0xF7, 0xF0, 0xB2, 0xD7, 0x3F, 0x6F, 0x01, 0x17, 0x18, 0x42, + 0x63, 0x2E, 0x33, 0x8D, 0x3B, 0x20, 0x9A, 0x82, 0x72, 0xC9, 0x13, 0x97, 0xB8, 0x01, 0xE7, 0x15, + 0x0A, 0x63, 0xE5, 0x29, 0x99, 0x8C, 0xC7, 0x62, 0x2C, 0x62, 0xDC, 0x9A, 0x9C, 0xE4, 0x6C, 0xC2, + 0x61, 0xA2, 0xE6, 0x5C, 0x4B, 0xDC, 0x11, 0x64, 0x5C, 0xCF, 0x84, 0xA1, 0x9A, 0x1A, 0x24, 0x98, + 0x10, 0x4C, 0x2A, 0x66, 0xC2, 0x32, 0x4B, 0x8F, 0x36, 0xF7, 0x45, 0x81, 0xDA, 0x07, 0x97, 0xA3, + 0x4F, 0x3C, 0xB6, 0x51, 0xC2, 0xC7, 0x42, 0xF2, 0xD7, 0x5A, 0x21, 0x8A, 0x5D, 0x36, 0x91, 0x96, + 0xD2, 0xD6, 0xB4, 0xA0, 0x71, 0x7D, 0xCD, 0xCD, 0x2B, 0x95, 0xE4, 0x29, 0x6F, 0xB4, 0xE0, 0x3B, + 0xCC, 0x59, 0x9A, 0xF3, 0x63, 0xB0, 0x3A, 0xE7, 0x70, 0x83, 0x42, 0x09, 0x86, 0xD1, 0x90, 0x4B, + 0x26, 0xED, 0x2B, 0x26, 0xD9, 0x04, 0xA3, 0x9C, 0xC2, 0x5C, 0x89, 0x04, 0x8E, 0x4E, 0x0E, 0xE6, + 0x0C, 0xF3, 0x9F, 0xDB, 0xE9, 0x35, 0xCB, 0xC4, 0x35, 0x95, 0x89, 0x1B, 0x7B, 0xFD, 0x00, 0x0D, + 0x42, 0xC9, 0x9A, 0x8D, 0xA8, 0x4D, 0xEB, 0xF7, 0x71, 0xFD, 0x7E, 0x58, 0x6F, 0x1C, 0x96, 0x7E, + 0xDB, 0x6C, 0x8B, 0x75, 0xEB, 0x62, 0xD6, 0x2D, 0xFC, 0xD3, 0xC2, 0x86, 0x6B, 0xAD, 0x74, 0xCD, + 0x24, 0x6A, 0xE7, 0x56, 0xA4, 0xA6, 0xED, 0xD6, 0x82, 0x21, 0x6D, 0x4C, 0x24, 0xCC, 0x2A, 0xBD, + 0xD5, 0x34, 0xAC, 0x7A, 0xF3, 0xF6, 0x3D, 0xA7, 0xBD, 0x73, 0x66, 0x19, 0x75, 0x66, 0x1E, 0xDB, + 0x5C, 0x73, 0xEC, 0x11, 0xAF, 0xB1, 0x29, 0x4F, 0x33, 0x98, 0xB9, 0x44, 0x04, 0x86, 0x88, 0x97, + 0x32, 0x52, 0x0E, 0x25, 0xD7, 0x57, 0xC3, 0x15, 0x79, 0x48, 0x1D, 0x25, 0x64, 0x9C, 0xE6, 0x09, + 0x37, 0xC7, 0xF4, 0xE4, 0x3E, 0x3E, 0xC3, 0x86, 0x18, 0x89, 0x54, 0xD8, 0x25, 0x81, 0xC5, 0x9A, + 0xA3, 0x67, 0x0B, 0xF2, 0x2C, 0x71, 0xDF, 0x29, 0xEA, 0xB0, 0x05, 0x13, 0x6E, 0xA9, 0xC2, 0x90, + 0xF0, 0x94, 0xDB, 0x22, 0x8A, 0x29, 0x44, 0xE2, 0x2B, 0x9D, 0x2E, 0x9D, 0x26, 0xB4, 0x72, 0xE5, + 0xF5, 0xE0, 0xCF, 0xB9, 0x25, 0xED, 0x63, 0x1F, 0xFA, 0x72, 0x75, 0x48, 0xFF, 0x1D, 0xCC, 0x28, + 0xB2, 0x30, 0x96, 0xDA, 0xD8, 0x61, 0xE8, 0x5C, 0x3A, 0x41, 0xB9, 0x95, 0x4D, 0xEE, 0xD0, 0xC4, + 0xAD, 0x6A, 0x98, 0x4D, 0x66, 0xB6, 0x45, 0x01, 0xE6, 0x02, 0xC3, 0x61, 0x67, 0xCB, 0xB1, 0x98, + 0x84, 0xA7, 0xDC, 0xC6, 0x87, 0xAE, 0xA3, 0x11, 0x98, 0x28, 0xD1, 0xAA, 0xE5, 0x5F, 0x2D, 0xB5, + 0x3E, 0x2B, 0x44, 0x8C, 0xA0, 0x9E, 0xB9, 0x13, 0xA2, 0x2B, 0x42, 0x5D, 0x45, 0x98, 0x69, 0x78, + 0x12, 0xA7, 0xCC, 0x18, 0xB4, 0x80, 0xE6, 0x38, 0x97, 0x31, 0x51, 0x80, 0xE6, 0x21, 0x7C, 0x3F, + 0x40, 0x74, 0x32, 0x70, 0xDF, 0x18, 0xAB, 0x27, 0xB1, 0xB1, 0xB1, 0x4C, 0xDF, 0x38, 0xCA, 0xBF, + 0x8A, 0x54, 0xD9, 0x5E, 0x85, 0xC0, 0xB3, 0x70, 0xEC, 0x76, 0xB2, 0x2C, 0x2A, 0x80, 0x9E, 0x64, + 0x4C, 0xB3, 0x19, 0x9D, 0x23, 0x54, 0x0D, 0xFA, 0x26, 0x37, 0x77, 0xFE, 0xED, 0x80, 0x2D, 0x5C, + 0xDB, 0xEE, 0xBB, 0x60, 0x59, 0x35, 0x6E, 0x22, 0x8E, 0x63, 0xED, 0x3F, 0x0E, 0x2E, 0x22, 0xEC, + 0x53, 0x8A, 0x70, 0x52, 0x7B, 0x8E, 0x99, 0xBF, 0xF2, 0xCD, 0xF0, 0x02, 0x0B, 0x9D, 0xBA, 0x64, + 0x48, 0xBE, 0xD8, 0xD2, 0x4A, 0x51, 0xA7, 0x66, 0x1B, 0x42, 0xD5, 0x10, 0x83, 0x46, 0x5E, 0x31, + 0x0A, 0xF8, 0xFD, 0xC6, 0xAF, 0xDE, 0xD4, 0x73, 0x78, 0xC5, 0x51, 0xCA, 0xD2, 0xFC, 0x42, 0x20, + 0xA1, 0xA2, 0x1A, 0x0F, 0xAE, 0x4C, 0xC9, 0x04, 0xA5, 0x52, 0x08, 0xBD, 0x77, 0x5E, 0xA4, 0xA2, + 0x9A, 0xCC, 0xB0, 0xDE, 0x4B, 0x28, 0xA3, 0xA5, 0x31, 0x2C, 0xA6, 0xCA, 0xF0, 0xCD, 0x58, 0x86, + 0xA4, 0x3F, 0xE2, 0xA0, 0x1D, 0x1D, 0x9E, 0x94, 0xA5, 0xF1, 0x4F, 0x10, 0xA5, 0x46, 0xA0, 0x8E, + 0xB1, 0xBD, 0x34, 0xD5, 0x8A, 0x44, 0xA8, 0x5D, 0xAB, 0xEC, 0x32, 0xE3, 0x2E, 0xDF, 0xCF, 0x94, + 0xF6, 0xCB, 0x98, 0xA0, 0x52, 0x68, 0x05, 0xF1, 0xF5, 0xD2, 0x89, 0x31, 0x34, 0xEF, 0xAC, 0x4E, + 0x84, 0x48, 0x98, 0xBE, 0x92, 0xDD, 0x59, 0x66, 0x97, 0x03, 0xAB, 0x91, 0x4B, 0xE9, 0x53, 0x38, + 0x95, 0x95, 0xD0, 0x6A, 0x41, 0x75, 0x2C, 0x8E, 0xA5, 0x28, 0xE8, 0xCF, 0x71, 0xEE, 0xD2, 0xB3, + 0x66, 0xB1, 0x42, 0x4F, 0xCE, 0xF0, 0x3E, 0x90, 0xD6, 0x3D, 0x3F, 0x53, 0x09, 0x8F, 0x7A, 0xFD, + 0xB7, 0x9D, 0x8B, 0xDE, 0xF9, 0xF5, 0xB0, 0xDB, 0xC7, 0x0B, 0xE6, 0xBA, 0x77, 0xBE, 0x56, 0xE5, + 0x9B, 0x0A, 0x3D, 0xDA, 0x95, 0x1A, 0xD7, 0x4B, 0xFF, 0xA1, 0x60, 0xF6, 0x11, 0x4E, 0x4F, 0x4F, + 0xE1, 0x6E, 0x2E, 0xFD, 0xB1, 0x9F, 0xDC, 0xAD, 0x31, 0xFD, 0x89, 0x63, 0xA9, 0x43, 0x24, 0x59, + 0xCB, 0x7A, 0xB3, 0x10, 0x75, 0x6B, 0x55, 0xF0, 0x6D, 0x0C, 0x43, 0x5D, 0x77, 0x07, 0x09, 0xEA, + 0x3C, 0xA9, 0xCB, 0xF3, 0x42, 0xA9, 0xCF, 0x06, 0xCF, 0x42, 0xF4, 0x5C, 0xA9, 0x48, 0x24, 0x98, + 0x22, 0xDF, 0xCC, 0xA3, 0x25, 0x2D, 0x14, 0x47, 0x52, 0x52, 0xEA, 0xCC, 0x1D, 0x96, 0xBA, 0xD0, + 0x36, 0x19, 0xCC, 0x84, 0x9B, 0x68, 0x18, 0xFA, 0x9B, 0x02, 0x7D, 0x9C, 0xA7, 0x38, 0xDE, 0xA4, + 0xE8, 0x48, 0xB3, 0xCC, 0x4E, 0x91, 0x53, 0x7E, 0x05, 0xFE, 0x4B, 0xE7, 0x2D, 0x26, 0x70, 0x3F, + 0xC1, 0x53, 0x4D, 0x56, 0x0F, 0x48, 0xE5, 0x29, 0x6E, 0x09, 0x77, 0xB4, 0xA1, 0xF0, 0x4E, 0x95, + 0x25, 0xB2, 0x50, 0xE9, 0x9C, 0x9B, 0x9F, 0x53, 0xBB, 0x9D, 0xD8, 0xF1, 0xF6, 0xB8, 0xA5, 0xD0, + 0x3D, 0x97, 0x5D, 0x47, 0x52, 0x09, 0x54, 0x3A, 0x57, 0x44, 0x14, 0x21, 0x4F, 0xB9, 0x76, 0x68, + 0x7B, 0xBE, 0x86, 0x17, 0x21, 0xAA, 0x61, 0x9C, 0xAE, 0x3C, 0xD0, 0x4A, 0x59, 0x2B, 0x97, 0x75, + 0x19, 0x1D, 0xEE, 0x92, 0x47, 0xD7, 0xCD, 0x22, 0x54, 0xE1, 0x11, 0xB3, 0xF1, 0xD4, 0x25, 0xDB, + 0x6F, 0x94, 0xC5, 0x31, 0xD6, 0x0A, 0xC7, 0x14, 0x78, 0xEA, 0x56, 0x8C, 0xF8, 0xE6, 0xC7, 0x3A, + 0x6E, 0x69, 0x68, 0x92, 0xA5, 0x78, 0x66, 0xEC, 0xEB, 0x15, 0x37, 0x79, 0x4A, 0x30, 0x7A, 0x92, + 0xCF, 0x78, 0x99, 0x55, 0x18, 0x58, 0xA6, 0xAD, 0xBB, 0x55, 0x95, 0x40, 0x50, 0x5F, 0x4B, 0x1F, + 0x6B, 0x3B, 0x58, 0x86, 0x99, 0x1F, 0xAA, 0xCF, 0x5C, 0xAE, 0xB0, 0xB6, 0xAB, 0x65, 0x3D, 0xEA, + 0x30, 0xF8, 0x39, 0x8E, 0x2D, 0x78, 0x70, 0x74, 0x74, 0x44, 0x8A, 0x5B, 0xB5, 0x6A, 0x14, 0xC6, + 0x06, 0xE4, 0x97, 0x1A, 0x55, 0x70, 0x16, 0xB3, 0x7C, 0x56, 0x60, 0xE2, 0x07, 0xD7, 0x52, 0xB5, + 0xE0, 0x89, 0x1F, 0x00, 0x6B, 0x37, 0x5B, 0x49, 0xCB, 0x05, 0x93, 0x78, 0x2F, 0xFB, 0x88, 0x96, + 0x9E, 0x45, 0xD0, 0x1B, 0xD3, 0xCC, 0x5F, 0x5E, 0x92, 0xAD, 0x55, 0xEB, 0xD0, 0xBD, 0x6F, 0xC0, + 0x84, 0x34, 0xAC, 0xC5, 0x73, 0xB2, 0x54, 0x39, 0x4D, 0x25, 0x34, 0xDE, 0x8F, 0x0D, 0xB7, 0x7B, + 0x29, 0x7A, 0x0D, 0xCA, 0x8B, 0x3B, 0xD7, 0x1A, 0xB3, 0x55, 0xD6, 0x31, 0x51, 0x0B, 0x99, 0x2A, + 0x56, 0x76, 0x35, 0x8D, 0xB8, 0xF8, 0xFF, 0x6D, 0xFC, 0x9F, 0x85, 0x1B, 0x0A, 0xC7, 0x06, 0xBF, + 0xD0, 0x42, 0xDB, 0xF5, 0x08, 0x9C, 0xCE, 0x6A, 0x37, 0x4A, 0x21, 0xF4, 0x3A, 0x1E, 0xEE, 0x3B, + 0x20, 0x85, 0xA2, 0x95, 0x57, 0xD0, 0xED, 0x5A, 0x8B, 0x30, 0xFD, 0x9A, 0xA9, 0x34, 0x57, 0x59, + 0xDF, 0x56, 0x99, 0xFD, 0x3D, 0x3A, 0x6D, 0x0D, 0x77, 0x3B, 0xD6, 0xEF, 0x35, 0x5E, 0xBB, 0x0D, + 0x17, 0xD5, 0x2C, 0xE0, 0xCE, 0x03, 0x97, 0xA8, 0x62, 0xE9, 0xC6, 0xED, 0xD5, 0xC6, 0x3E, 0x7C, + 0x3C, 0xA9, 0xE3, 0x9C, 0x29, 0x39, 0xC7, 0x37, 0x07, 0xE0, 0x0C, 0x0B, 0xE6, 0xE6, 0xC3, 0x22, + 0x28, 0x42, 0xAE, 0xE6, 0x89, 0x0A, 0xE8, 0xCA, 0xA2, 0xB8, 0x03, 0x22, 0x9C, 0x2D, 0xBA, 0xE8, + 0xDF, 0xAC, 0x9F, 0x4A, 0x57, 0x1B, 0xFC, 0xCB, 0x4F, 0xE1, 0x9B, 0xE5, 0x66, 0xDA, 0xDC, 0x72, + 0x84, 0xD4, 0x21, 0xC2, 0xE9, 0x51, 0x9E, 0x26, 0xF5, 0xAD, 0x84, 0x21, 0xA8, 0xD0, 0xC7, 0xAF, + 0xF4, 0x46, 0xCD, 0xC9, 0xE6, 0x4C, 0xA4, 0xF4, 0xC6, 0xB9, 0x99, 0x34, 0xED, 0x4A, 0x05, 0xA7, + 0xBB, 0x99, 0x1F, 0x17, 0xFF, 0x69, 0xD5, 0x2D, 0xCA, 0xF2, 0x1E, 0x97, 0xB9, 0xA2, 0xF0, 0xAF, + 0x8B, 0xE7, 0x55, 0x97, 0x9B, 0x8D, 0xAD, 0x9C, 0xBB, 0x17, 0x84, 0x40, 0x22, 0x5A, 0xC1, 0x55, + 0x0F, 0x14, 0xE7, 0xB4, 0x39, 0x3C, 0x6C, 0x78, 0xED, 0x9E, 0x19, 0xCA, 0x4F, 0xB2, 0x3D, 0x60, + 0x2D, 0xE7, 0x5B, 0x4E, 0xFF, 0xE0, 0x72, 0x9B, 0x63, 0xDE, 0x6F, 0xCA, 0xFC, 0xF3, 0x21, 0x00, + 0x7B, 0xA8, 0x8C, 0x51, 0x5E, 0xF8, 0x0E, 0xC7, 0xE4, 0x71, 0x8C, 0xAF, 0xED, 0x68, 0x9D, 0x2E, + 0xC3, 0xA6, 0xFF, 0x74, 0x12, 0xF0, 0x28, 0xB7, 0x3F, 0x36, 0x37, 0xE9, 0x6D, 0x92, 0xBA, 0xED, + 0xB9, 0xE5, 0x8D, 0xFF, 0xCE, 0x54, 0xB0, 0x8E, 0xB5, 0xF2, 0xDF, 0x59, 0xCC, 0x33, 0xF7, 0x82, + 0x4B, 0x05, 0x29, 0x7B, 0xB7, 0x1C, 0x72, 0x32, 0xFF, 0x7B, 0x84, 0x40, 0x03, 0x5F, 0xD0, 0x5F, + 0x64, 0xF9, 0x32, 0xF3, 0x6F, 0xA8, 0xC3, 0x8A, 0x2F, 0x65, 0xD7, 0x70, 0x6C, 0x66, 0x9F, 0xB0, + 0x32, 0x90, 0x7F, 0xCD, 0x08, 0x2F, 0xD9, 0xC9, 0xED, 0x53, 0x8F, 0xF4, 0x0A, 0xA4, 0x74, 0x59, + 0xB8, 0xEF, 0x35, 0x83, 0x91, 0xCF, 0xAE, 0x84, 0x97, 0xFB, 0xD8, 0x23, 0xEB, 0xEB, 0x80, 0x55, + 0x90, 0xDF, 0xBB, 0x1A, 0xFE, 0xD6, 0x4C, 0xF6, 0xC6, 0xFD, 0x70, 0x41, 0xA7, 0x27, 0xFE, 0xD4, + 0x25, 0x0C, 0xCD, 0x0D, 0x3B, 0x9B, 0xB6, 0xEC, 0x8E, 0xDF, 0x57, 0x80, 0xEF, 0xB3, 0x8D, 0x10, + 0x7A, 0xA3, 0xDF, 0xC2, 0x4F, 0x2A, 0xD1, 0x9E, 0x3A, 0xF2, 0x5E, 0x41, 0x4A, 0xB5, 0x2D, 0xED, + 0x37, 0xF3, 0xF8, 0xD1, 0x4D, 0x25, 0x48, 0x6F, 0x4F, 0xF1, 0x10, 0x87, 0x9F, 0x76, 0x6B, 0x0B, + 0x7E, 0x57, 0x46, 0xEB, 0xD0, 0x6B, 0x70, 0xFF, 0x5B, 0x50, 0xDE, 0xB9, 0x9A, 0x90, 0x93, 0x83, + 0x9B, 0xE6, 0xE1, 0xEE, 0x5F, 0x20, 0xEB, 0xC6, 0x3F, 0x00, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, + 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0xA4, 0x9A, 0xCF, 0x40, 0x20, 0x08, 0x00, 0x00, + 0x45, 0x1D, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, + 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, + 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x61, 0x75, 0x74, 0x68, 0x2F, 0x74, 0x65, 0x6E, + 0x61, 0x6E, 0x74, 0x2E, 0x6A, 0x73, 0xC5, 0x59, 0xEB, 0xB2, 0xD2, 0x30, 0x10, 0xFE, 0xEF, 0x53, + 0xAC, 0x8C, 0xA3, 0x45, 0xB1, 0x55, 0xC7, 0x3F, 0x5E, 0xCE, 0x28, 0x2A, 0x2A, 0x5E, 0x38, 0x0E, + 0xA0, 0x8E, 0xA3, 0x0E, 0x13, 0xDA, 0x00, 0xD1, 0xD2, 0xD6, 0x34, 0x05, 0x51, 0x79, 0x77, 0x77, + 0xD3, 0xF4, 0x4E, 0x15, 0x2F, 0xA3, 0x67, 0x1C, 0xA1, 0xCD, 0x66, 0x2F, 0x5F, 0x36, 0xDF, 0x6E, + 0x82, 0x73, 0xF1, 0x2C, 0x2C, 0x84, 0xE4, 0x73, 0x16, 0xF3, 0xCB, 0xCC, 0x5B, 0x8B, 0x00, 0x36, + 0x37, 0xEC, 0xEB, 0xF6, 0x35, 0xB8, 0xE8, 0x9C, 0xE9, 0x24, 0x31, 0x87, 0x58, 0x49, 0xE1, 0xAA, + 0xCE, 0xAD, 0x33, 0x28, 0x7A, 0x06, 0x2E, 0xC2, 0xFD, 0x30, 0xDA, 0x49, 0xB1, 0x5C, 0x29, 0xB8, + 0x76, 0xE5, 0xEA, 0x0D, 0x78, 0x14, 0x86, 0x4B, 0x9F, 0xC3, 0x30, 0x70, 0x6D, 0x1C, 0x25, 0x81, + 0x67, 0xC2, 0xE5, 0x41, 0xCC, 0x3D, 0x48, 0x02, 0x8F, 0x4B, 0x50, 0x2B, 0x0E, 0xFD, 0x88, 0xB9, + 0xF8, 0x61, 0x46, 0x7A, 0xF0, 0x8A, 0xCB, 0x58, 0x84, 0x01, 0x5C, 0xB3, 0xAF, 0x80, 0x45, 0x02, + 0x1D, 0x33, 0xD4, 0xE9, 0xDE, 0x22, 0x15, 0xBB, 0x30, 0x81, 0x35, 0xDB, 0x41, 0x10, 0x2A, 0x40, + 0x1F, 0x50, 0x87, 0x88, 0xD1, 0x4D, 0xB4, 0xC3, 0x3F, 0xBB, 0x3C, 0x52, 0x80, 0x6E, 0xBA, 0xE1, + 0x3A, 0xF2, 0x05, 0x0B, 0x5C, 0x0E, 0x5B, 0xA1, 0x56, 0x28, 0x93, 0x1B, 0xB0, 0x49, 0xC7, 0x1B, + 0xA3, 0x23, 0x9C, 0x2B, 0x86, 0xE2, 0x0C, 0x27, 0x44, 0xF8, 0xB4, 0x28, 0x0B, 0x02, 0x53, 0xC6, + 0x69, 0x80, 0x95, 0x52, 0xD1, 0x4D, 0xC7, 0xD9, 0x6E, 0xB7, 0x36, 0xD3, 0xEE, 0xDA, 0xA1, 0x5C, + 0x3A, 0x7E, 0x2A, 0x18, 0x3B, 0xCF, 0x86, 0xF7, 0x07, 0xA3, 0xC9, 0xE0, 0x32, 0xBA, 0x6C, 0xA6, + 0xBC, 0x0C, 0x7C, 0x1E, 0xC7, 0x20, 0xF9, 0xA7, 0x44, 0x48, 0x0C, 0x77, 0xBE, 0x03, 0x16, 0x45, + 0x38, 0x81, 0xCD, 0xD1, 0x51, 0x9F, 0x6D, 0x21, 0x94, 0xC0, 0x96, 0x92, 0xE3, 0x98, 0x0A, 0xC9, + 0xE5, 0xAD, 0x14, 0x4A, 0x04, 0xCB, 0x1E, 0xC4, 0xE1, 0x42, 0x6D, 0x99, 0xE4, 0xA4, 0xC6, 0x13, + 0x84, 0xF0, 0x3C, 0x51, 0x19, 0x62, 0x15, 0x07, 0x45, 0x5C, 0x11, 0x08, 0x31, 0x90, 0x00, 0x3A, + 0xFD, 0x09, 0x0C, 0x27, 0x1D, 0xB8, 0xD7, 0x9F, 0x0C, 0x27, 0x3D, 0x52, 0xF2, 0x7A, 0x38, 0x7D, + 0x7C, 0xFA, 0x72, 0x0A, 0xAF, 0xFB, 0xE3, 0x71, 0x7F, 0x34, 0x1D, 0x0E, 0x26, 0x70, 0x3A, 0x86, + 0xFB, 0xA7, 0xA3, 0x07, 0xC3, 0xE9, 0xF0, 0x74, 0x84, 0x4F, 0x0F, 0xA1, 0x3F, 0x7A, 0x03, 0x4F, + 0x87, 0xA3, 0x07, 0x3D, 0xE0, 0x02, 0x4D, 0x48, 0xC4, 0x32, 0x92, 0x18, 0x01, 0xB9, 0x29, 0x08, + 0x4B, 0xEE, 0x69, 0xE0, 0x26, 0x9C, 0x57, 0x5C, 0x58, 0x84, 0xA9, 0x4B, 0x71, 0xC4, 0x5D, 0xB1, + 0x10, 0x2E, 0x86, 0x16, 0x2C, 0x13, 0xB6, 0xE4, 0xB0, 0x0C, 0x37, 0x5C, 0x06, 0x18, 0x11, 0x44, + 0x5C, 0xAE, 0x45, 0x4C, 0x6B, 0x1A, 0xA3, 0x83, 0x1E, 0xA9, 0xF1, 0xC5, 0x5A, 0x28, 0xA6, 0xE8, + 0x55, 0x33, 0x2E, 0x32, 0xE4, 0x9C, 0x39, 0x9D, 0x7F, 0xE0, 0xAE, 0xB2, 0x3D, 0xBE, 0x10, 0x01, + 0x7F, 0x21, 0x43, 0xD4, 0xA2, 0x76, 0x16, 0xBA, 0x15, 0x4A, 0x15, 0xF7, 0xA0, 0x33, 0x9B, 0xF1, + 0xF8, 0x79, 0xE8, 0x25, 0x3E, 0xEF, 0xF4, 0xE0, 0x2B, 0x6C, 0x98, 0x9F, 0xF0, 0x9B, 0xA0, 0x64, + 0xC2, 0x61, 0x8F, 0x89, 0x62, 0x04, 0xED, 0x29, 0x0F, 0x58, 0xA0, 0xE0, 0x04, 0x36, 0xA1, 0xF0, + 0xE0, 0xCA, 0xAD, 0x33, 0x1B, 0x26, 0x49, 0x58, 0x78, 0x4C, 0xA1, 0xEF, 0x27, 0xD9, 0x12, 0x59, + 0x1D, 0xDB, 0x76, 0x12, 0x25, 0xFC, 0xD8, 0xC9, 0x47, 0x3B, 0xDD, 0x54, 0xDC, 0xE3, 0x3C, 0x9A, + 0x51, 0x86, 0xCC, 0xAE, 0x1E, 0x9C, 0x40, 0xE3, 0x97, 0x69, 0x3C, 0x9B, 0xC0, 0xA5, 0x0C, 0x65, + 0x8B, 0xB0, 0x1E, 0xCB, 0x04, 0x59, 0xA2, 0x56, 0xA8, 0x39, 0x58, 0x88, 0x65, 0x4D, 0xDC, 0xA1, + 0xA1, 0xCB, 0xE9, 0x10, 0x49, 0x3B, 0x17, 0x75, 0x5E, 0x99, 0x70, 0x5C, 0x9F, 0xC5, 0x31, 0x62, + 0xC6, 0x14, 0xA4, 0x00, 0x21, 0xB2, 0xF0, 0xD0, 0x6C, 0x55, 0xE8, 0x27, 0x94, 0xF2, 0x5A, 0x52, + 0x63, 0xA9, 0x4D, 0xE5, 0x40, 0xA0, 0x26, 0xB8, 0xAB, 0x15, 0xE0, 0x10, 0x58, 0x8B, 0x24, 0x70, + 0x69, 0x21, 0xC0, 0xEA, 0xC2, 0xD7, 0x33, 0x98, 0xEB, 0x24, 0xA0, 0x3F, 0xC9, 0xDC, 0x8A, 0x67, + 0x13, 0x43, 0x5A, 0x0F, 0xB4, 0x8C, 0x4B, 0x86, 0x20, 0xBB, 0x08, 0x8F, 0x9D, 0x4A, 0xE5, 0xC2, + 0x77, 0x23, 0x26, 0xD9, 0x1A, 0x63, 0x88, 0x23, 0x14, 0xE2, 0x7A, 0x72, 0xCC, 0xE5, 0x06, 0x57, + 0x37, 0x16, 0x1E, 0x2F, 0x06, 0x92, 0x38, 0xCB, 0x7A, 0x4C, 0x79, 0x04, 0xFB, 0x0B, 0xE6, 0x54, + 0xDD, 0x90, 0x9D, 0x6B, 0x2D, 0x59, 0x34, 0xEF, 0x1C, 0xFD, 0x99, 0x39, 0x6E, 0xE6, 0x59, 0x99, + 0x7A, 0x1D, 0x86, 0xF9, 0xC3, 0xC0, 0x0D, 0x10, 0x43, 0x0F, 0x4E, 0x8C, 0xA4, 0xBD, 0xE4, 0x6A, + 0x6A, 0x5E, 0x3E, 0x94, 0xE1, 0x7A, 0xCC, 0xE3, 0x30, 0x91, 0x2E, 0x1F, 0xB1, 0x35, 0xCF, 0xB5, + 0xD8, 0x01, 0x3E, 0x11, 0xE1, 0x98, 0x3F, 0xB1, 0x00, 0xEB, 0x6C, 0xA6, 0x4A, 0x9B, 0x28, 0xFE, + 0xD0, 0x7B, 0x19, 0x6E, 0x21, 0xE0, 0xDB, 0x6C, 0xE5, 0xED, 0x6C, 0x2D, 0x68, 0x29, 0x06, 0xF4, + 0xCE, 0xCA, 0x46, 0xE8, 0xCD, 0x7D, 0xDC, 0x4F, 0x81, 0xD2, 0xEF, 0xEF, 0x87, 0x1E, 0xB7, 0x87, + 0xA3, 0xE9, 0x60, 0x3C, 0xEA, 0x3F, 0x9B, 0x0D, 0xC6, 0xE3, 0xD3, 0x71, 0x0F, 0x2E, 0x64, 0x2F, + 0xA0, 0x3F, 0x99, 0x0C, 0xC6, 0x53, 0x78, 0xD8, 0x1F, 0x3E, 0x1B, 0x3C, 0xB8, 0x89, 0x4C, 0xAA, + 0x93, 0xD3, 0xC4, 0x94, 0x23, 0x7A, 0xA1, 0xE4, 0xE8, 0x3E, 0xFB, 0xA6, 0x89, 0xD1, 0x2E, 0x45, + 0x9F, 0x7D, 0xBD, 0x55, 0x95, 0x40, 0x0A, 0x89, 0x7C, 0xB6, 0xA3, 0xE8, 0x51, 0x28, 0x53, 0x59, + 0x7E, 0x5D, 0x9A, 0x20, 0x77, 0x45, 0xE8, 0x85, 0x0A, 0xBE, 0x66, 0xC2, 0x9F, 0x88, 0x65, 0x30, + 0x0C, 0xEE, 0xEB, 0x8C, 0x45, 0x45, 0x88, 0x46, 0x35, 0xBD, 0xED, 0x41, 0x5D, 0x2A, 0x07, 0xFB, + 0xA0, 0xFB, 0x2E, 0x53, 0xEE, 0x0A, 0x2C, 0x5E, 0x07, 0xDB, 0x71, 0x60, 0xB8, 0x00, 0xE6, 0xFB, + 0xE1, 0xF6, 0x05, 0x26, 0xF1, 0x36, 0x94, 0x1E, 0x29, 0x4D, 0x22, 0x10, 0x44, 0x26, 0xE9, 0x7E, + 0xF0, 0x7A, 0x20, 0x94, 0x21, 0x48, 0xA4, 0xDC, 0x94, 0x81, 0x71, 0x88, 0x25, 0xBE, 0xB2, 0xFF, + 0x5E, 0x00, 0xC6, 0xB3, 0xE2, 0xEF, 0x90, 0x5F, 0x37, 0x61, 0xC1, 0x7C, 0xAC, 0x6C, 0x15, 0xD9, + 0x7D, 0x2D, 0xE6, 0x22, 0xCB, 0xD4, 0x2E, 0xE2, 0xE1, 0xA2, 0x58, 0x88, 0xF5, 0x82, 0x19, 0x9F, + 0xCE, 0x9E, 0x9C, 0xC0, 0x85, 0x3C, 0xC2, 0x0B, 0xDD, 0x43, 0x4B, 0xB1, 0xC6, 0x00, 0xC5, 0x43, + 0x46, 0xBB, 0xE5, 0x07, 0x91, 0x3C, 0x2F, 0xA4, 0x28, 0x1F, 0x4D, 0x34, 0x4D, 0x93, 0x47, 0x3B, + 0xA9, 0x78, 0xAC, 0x5E, 0xAC, 0xC2, 0x80, 0x8F, 0x92, 0xF5, 0x1C, 0x0B, 0xF8, 0x51, 0xBE, 0x36, + 0x26, 0x9D, 0x94, 0xA9, 0xD6, 0xA6, 0xEF, 0xD4, 0x50, 0x58, 0xED, 0x56, 0xBE, 0x7D, 0x83, 0xAF, + 0x4D, 0x24, 0xF7, 0x75, 0x1A, 0xBB, 0x97, 0x08, 0xDF, 0x8B, 0x35, 0xC9, 0xB8, 0xA1, 0x4C, 0xD5, + 0x79, 0x58, 0x9A, 0x0C, 0x3D, 0x69, 0xDA, 0x45, 0xD5, 0xBA, 0x9A, 0x31, 0xC3, 0x12, 0xA7, 0x91, + 0x2E, 0x4F, 0x86, 0x8E, 0x5A, 0xB8, 0xEE, 0x6B, 0x45, 0x76, 0x0F, 0xAA, 0xFC, 0xA8, 0x09, 0x30, + 0x4A, 0x2B, 0x97, 0xE0, 0x68, 0x3E, 0x24, 0xF6, 0xDC, 0xE0, 0x13, 0x7D, 0x65, 0x35, 0xE3, 0x76, + 0x5D, 0xF5, 0x3C, 0x0C, 0x7D, 0xCE, 0x82, 0x3D, 0xB8, 0x92, 0x33, 0xC5, 0xC7, 0xC6, 0xC7, 0xD7, + 0x2B, 0x4E, 0x05, 0x3A, 0x6D, 0x7B, 0xF0, 0x1F, 0x33, 0xE3, 0x4D, 0x3D, 0x92, 0xAB, 0x44, 0x06, + 0xF0, 0x35, 0x8D, 0x60, 0xAF, 0xDD, 0xA1, 0xFA, 0x82, 0x14, 0x82, 0xEC, 0xD3, 0x34, 0x5F, 0x70, + 0x6B, 0x46, 0x94, 0x73, 0xC2, 0x6D, 0xA2, 0xE5, 0x32, 0xF3, 0x27, 0x50, 0x14, 0x8C, 0x4A, 0xB4, + 0xBD, 0xAA, 0x9F, 0x75, 0x16, 0x9E, 0x31, 0xB3, 0x4A, 0x85, 0x76, 0x53, 0x67, 0xF9, 0x8F, 0xF5, + 0xDC, 0xAA, 0xA8, 0x91, 0xB9, 0x1B, 0x5F, 0xF7, 0xB7, 0x0E, 0x65, 0x64, 0x59, 0x57, 0x65, 0x5F, + 0x1F, 0xB7, 0x87, 0x72, 0xFD, 0x3F, 0xDB, 0xFA, 0x07, 0xB0, 0xB1, 0x5A, 0x6D, 0x1F, 0xB7, 0x99, + 0xCA, 0xD3, 0x2B, 0xB4, 0x7C, 0xA4, 0xD3, 0x55, 0x26, 0x6F, 0x57, 0xF7, 0x4B, 0x6E, 0x94, 0xF8, + 0xE4, 0x97, 0x10, 0x2C, 0xD1, 0xD6, 0xC9, 0x31, 0xE4, 0xF3, 0x73, 0x3C, 0x4B, 0x9E, 0xFC, 0x0E, + 0x9E, 0xBF, 0xCA, 0x50, 0x58, 0x66, 0x82, 0xC4, 0xF7, 0xF1, 0xFC, 0x80, 0xFF, 0xB9, 0xB8, 0x13, + 0xA9, 0x27, 0xC6, 0x6E, 0x9B, 0x68, 0x83, 0x74, 0x41, 0x44, 0xCA, 0x50, 0x46, 0x6B, 0xB3, 0x61, + 0x2A, 0x59, 0x10, 0xFB, 0x98, 0xB8, 0xB4, 0xB9, 0xF9, 0x3A, 0x52, 0xBB, 0x82, 0x3A, 0x9A, 0xF0, + 0x1C, 0xE2, 0x3E, 0x6B, 0xC6, 0xF0, 0xFF, 0x1F, 0x7B, 0xDD, 0x25, 0xB7, 0x53, 0xC7, 0xCE, 0x9F, + 0xC7, 0x4D, 0x85, 0x8F, 0x59, 0x6B, 0x0B, 0x77, 0xE8, 0xF9, 0xA6, 0xDE, 0x18, 0x4D, 0x5C, 0x52, + 0x32, 0xC8, 0xCC, 0xA7, 0x12, 0x28, 0x58, 0x23, 0xCA, 0xB1, 0x96, 0xD2, 0x4C, 0x99, 0xF5, 0x18, + 0xC3, 0x07, 0x55, 0xCE, 0xC4, 0xF0, 0xF4, 0xB0, 0x34, 0x5D, 0x13, 0x50, 0xA3, 0x44, 0xB0, 0xB3, + 0x0D, 0xE6, 0x3B, 0xD5, 0xDA, 0x36, 0xAE, 0xC4, 0x2E, 0x0E, 0xE7, 0xEF, 0xF3, 0x99, 0x98, 0x8B, + 0xF5, 0x26, 0xB1, 0xA6, 0xB6, 0x41, 0x65, 0x77, 0x32, 0x1D, 0xD3, 0xE3, 0x1D, 0xEC, 0xA5, 0x70, + 0x85, 0xC4, 0x9A, 0x5B, 0x11, 0xF3, 0x0A, 0xD3, 0x1D, 0xD1, 0x12, 0x56, 0x28, 0xAF, 0xEC, 0x7B, + 0x39, 0x63, 0x1C, 0xC7, 0xE0, 0x80, 0x05, 0x63, 0x41, 0x75, 0x64, 0x4D, 0xCC, 0x4F, 0xCB, 0x1F, + 0x3B, 0xE6, 0xCB, 0x55, 0x27, 0x75, 0x38, 0x36, 0x9F, 0x57, 0x2B, 0xC4, 0xB6, 0xA6, 0x6E, 0x27, + 0x75, 0x01, 0x8D, 0xA3, 0xCD, 0xB2, 0x25, 0x5B, 0x8F, 0x5A, 0xCE, 0xBB, 0x4C, 0xC5, 0x3B, 0xC7, + 0xB2, 0x2F, 0x76, 0xCF, 0x39, 0xF5, 0x06, 0xB5, 0xA6, 0xE5, 0xDB, 0xB7, 0x9A, 0x5E, 0x1B, 0x99, + 0x7F, 0x89, 0x87, 0x83, 0xDB, 0x70, 0x2D, 0xF3, 0xBE, 0x9A, 0x20, 0x1A, 0xAB, 0xF6, 0xFC, 0xA9, + 0xA9, 0x7B, 0x7B, 0xF5, 0x7D, 0x5B, 0x26, 0xBD, 0x32, 0xE4, 0x8E, 0x05, 0x2A, 0x5B, 0xA8, 0xB0, + 0x5A, 0x51, 0x61, 0x4A, 0x5D, 0x33, 0x1D, 0x09, 0xD3, 0xAE, 0x99, 0xCE, 0xAF, 0x0B, 0x4C, 0xA1, + 0x44, 0xB6, 0x66, 0x10, 0x0B, 0x76, 0xFB, 0x2C, 0x85, 0xB3, 0x14, 0x68, 0x6A, 0xA6, 0x04, 0xC8, + 0x6A, 0xCB, 0xDF, 0xAE, 0xAA, 0x95, 0xA4, 0x31, 0x46, 0xAA, 0x19, 0x62, 0x26, 0xFC, 0xA4, 0x1C, + 0xEA, 0xA9, 0x4F, 0xF9, 0x0E, 0x57, 0xBA, 0xB6, 0x0E, 0x05, 0x51, 0xA7, 0xC7, 0xD9, 0x5A, 0xDF, + 0xD8, 0xA8, 0x2A, 0x87, 0x84, 0x4A, 0x54, 0xD9, 0x2E, 0x54, 0xA7, 0x96, 0xBA, 0xCC, 0xBE, 0x5A, + 0x79, 0x71, 0x6B, 0x73, 0x1F, 0x4E, 0x6A, 0xB8, 0xDD, 0x81, 0x0B, 0xF7, 0xF5, 0x8B, 0x14, 0x12, + 0xF3, 0xFA, 0x02, 0xD2, 0xD0, 0x85, 0x97, 0x91, 0xD7, 0x78, 0x5F, 0x4B, 0xD7, 0xFC, 0xA4, 0x6D, + 0x8B, 0x78, 0x14, 0x06, 0x23, 0xCC, 0xBD, 0xF4, 0xD8, 0x9F, 0xA1, 0xD8, 0xFD, 0xFB, 0x27, 0xAD, + 0x57, 0xFD, 0x67, 0xC3, 0x07, 0xB3, 0xFE, 0xF8, 0xD1, 0xCB, 0xE7, 0x83, 0xD1, 0x14, 0x2F, 0x12, + 0xDE, 0x75, 0x3A, 0x70, 0xC9, 0x84, 0x77, 0x89, 0x1E, 0x11, 0x3E, 0x8C, 0x6C, 0x8E, 0x17, 0x40, + 0xE9, 0x32, 0xE1, 0x4D, 0x53, 0x70, 0x99, 0xF6, 0x45, 0x96, 0xB9, 0x9D, 0x6A, 0xE5, 0x29, 0x28, + 0xE0, 0xFE, 0x8A, 0xBB, 0x1F, 0x75, 0x17, 0x99, 0x04, 0x71, 0x12, 0xD1, 0x0D, 0x84, 0x3E, 0xE9, + 0x46, 0xE0, 0xF3, 0x0D, 0xAA, 0x67, 0xCA, 0x5C, 0xD6, 0xC4, 0x79, 0x51, 0xD0, 0xD2, 0x16, 0x01, + 0xFC, 0x91, 0xEF, 0xE8, 0x1E, 0x48, 0x36, 0x12, 0xA6, 0xC0, 0xCB, 0x4A, 0x65, 0x8A, 0xEC, 0xC9, + 0xF1, 0xF9, 0x27, 0x18, 0xA1, 0x75, 0x83, 0x90, 0x88, 0xE9, 0xFA, 0x2D, 0x07, 0xA8, 0x02, 0x20, + 0xE8, 0x9D, 0xC6, 0x15, 0x97, 0x39, 0x50, 0x39, 0x58, 0x07, 0x61, 0xCB, 0xB9, 0xA2, 0x9C, 0xFB, + 0x40, 0x45, 0x1C, 0xA3, 0x26, 0x1A, 0xDD, 0x60, 0x61, 0xF0, 0xEC, 0x03, 0x25, 0x3E, 0x03, 0xEB, + 0x47, 0xCD, 0x12, 0xD6, 0xC9, 0x8A, 0x0F, 0xF5, 0xA4, 0x1B, 0x50, 0xA9, 0x9E, 0xE8, 0xB2, 0x62, + 0x1D, 0x50, 0xF7, 0x1F, 0x32, 0xB0, 0x6C, 0xBE, 0x25, 0x1B, 0xD3, 0xFE, 0x22, 0x2D, 0x86, 0x84, + 0xF2, 0x8F, 0x71, 0x6D, 0x92, 0xC6, 0xAF, 0xA1, 0xFB, 0xCB, 0x5D, 0x34, 0xDA, 0x9E, 0x22, 0x91, + 0xEA, 0xDE, 0x29, 0x05, 0x2C, 0x67, 0x79, 0xD2, 0x2F, 0xD2, 0x5B, 0x8C, 0x4A, 0x63, 0xF4, 0x3B, + 0xFD, 0xB6, 0xF1, 0xEF, 0xC8, 0x4E, 0xBB, 0x0C, 0x48, 0xB3, 0x81, 0x3B, 0x1A, 0x8C, 0x3A, 0x6D, + 0x1E, 0xC8, 0xB7, 0xE3, 0x1A, 0xBE, 0xAC, 0x91, 0x43, 0xF0, 0xDA, 0x81, 0xC8, 0x6B, 0xCC, 0xB4, + 0x36, 0xDD, 0x6A, 0xD3, 0x7B, 0x30, 0x76, 0x8E, 0xF7, 0x0F, 0x3A, 0x98, 0xF6, 0xF6, 0xB3, 0x68, + 0x2B, 0xAB, 0x14, 0xDF, 0xD2, 0x17, 0xA7, 0x17, 0x1D, 0xFA, 0xD6, 0xD9, 0xDF, 0xA5, 0x94, 0x17, + 0x69, 0x68, 0xE9, 0xB8, 0xCB, 0xD2, 0xE6, 0xF5, 0x5F, 0xEF, 0x9B, 0x7A, 0x50, 0xE5, 0xCD, 0x73, + 0x3C, 0x89, 0x67, 0x49, 0x52, 0xAE, 0xA2, 0xBF, 0xB3, 0x6B, 0x7E, 0xF9, 0xE4, 0xF4, 0xE7, 0xBB, + 0xE6, 0xE8, 0x93, 0x95, 0xF1, 0xF1, 0x88, 0x33, 0x55, 0xDE, 0xD9, 0xB5, 0x5C, 0x28, 0x44, 0x3E, + 0xFD, 0x80, 0x92, 0xBE, 0xC1, 0xD0, 0xE9, 0x47, 0x03, 0x5C, 0x36, 0x9D, 0x00, 0xE6, 0xF7, 0x94, + 0xEC, 0x26, 0xBA, 0xD6, 0x3C, 0x21, 0x86, 0x2A, 0x24, 0xC8, 0x6C, 0x15, 0x3E, 0x99, 0x9C, 0x8E, + 0x2A, 0x4D, 0x54, 0xF3, 0xF6, 0xA0, 0x07, 0xB3, 0x79, 0xB5, 0x21, 0xF9, 0x10, 0xA3, 0x64, 0xAD, + 0x7B, 0xCA, 0xEF, 0x38, 0x6F, 0x56, 0x6F, 0x3F, 0x7B, 0xAD, 0x2D, 0x56, 0xFD, 0x0E, 0xF4, 0xE7, + 0xED, 0x96, 0x3E, 0xA6, 0xB5, 0x5C, 0x1B, 0x76, 0xF3, 0x7D, 0x44, 0xBD, 0x37, 0x09, 0x96, 0x8E, + 0x67, 0xD9, 0x97, 0x9B, 0x38, 0x60, 0x82, 0xB6, 0xBA, 0x3F, 0x6D, 0xDC, 0xAC, 0xD9, 0x3C, 0x33, + 0x57, 0x1D, 0x6D, 0x9A, 0x9B, 0xB7, 0x99, 0x9B, 0xE7, 0xE6, 0x7E, 0xDA, 0x02, 0x1E, 0xBA, 0x97, + 0x2B, 0x26, 0x1D, 0xBC, 0x73, 0xD1, 0x2B, 0x71, 0xE8, 0xE2, 0xF1, 0xC7, 0xE9, 0xEE, 0x71, 0x1F, + 0x9B, 0x84, 0x96, 0xC9, 0x8D, 0xBD, 0xD9, 0xB4, 0xD8, 0x70, 0xF3, 0x57, 0x0C, 0xD6, 0xE7, 0xB6, + 0x1F, 0x79, 0xB4, 0x7C, 0x7E, 0xCA, 0x29, 0xDE, 0x9B, 0x3C, 0xBE, 0x75, 0x66, 0x6F, 0x75, 0x0F, + 0xFC, 0xDE, 0x94, 0x0F, 0x7F, 0x07, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, + 0xE0, 0x79, 0x5A, 0x0B, 0x7F, 0x6D, 0x63, 0xD7, 0x17, 0x0F, 0x00, 0x00, 0x7F, 0x34, 0x00, 0x00, + 0x37, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, + 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, + 0x6C, 0x69, 0x62, 0x2F, 0x61, 0x75, 0x74, 0x68, 0x2F, 0x74, 0x6F, 0x6B, 0x65, 0x6E, 0x2D, 0x67, + 0x65, 0x6E, 0x65, 0x72, 0x61, 0x74, 0x6F, 0x72, 0x2E, 0x6A, 0x73, 0xC5, 0x5B, 0x7B, 0x73, 0x1A, + 0x37, 0x10, 0xFF, 0xDF, 0x9F, 0x42, 0x61, 0x3A, 0x05, 0xA7, 0x70, 0xD8, 0x99, 0x3E, 0xF1, 0xB8, + 0x0D, 0xB1, 0x49, 0x4A, 0x6B, 0xE3, 0x0C, 0xD0, 0x76, 0x3A, 0x69, 0x86, 0x8A, 0x3B, 0x01, 0xAA, + 0x8F, 0x13, 0x3D, 0xE9, 0xEC, 0xD2, 0x8C, 0xBF, 0x7B, 0x77, 0xA5, 0xD3, 0xE9, 0x5E, 0xE0, 0x47, + 0x5F, 0xCC, 0xC4, 0x1C, 0x7A, 0xAC, 0x56, 0xAB, 0xDD, 0xDF, 0xAE, 0x76, 0x2F, 0xDD, 0xE7, 0xCF, + 0xC8, 0x82, 0xC7, 0x6C, 0x4E, 0x25, 0xEB, 0xD0, 0x60, 0xCD, 0x23, 0x72, 0xF3, 0x95, 0xF7, 0xA9, + 0xF7, 0x82, 0x3C, 0xEF, 0x1E, 0x34, 0x12, 0xC9, 0x88, 0x54, 0x31, 0xF7, 0x55, 0xE3, 0xE4, 0x00, + 0x86, 0x1E, 0x90, 0xE7, 0xE4, 0x65, 0xC8, 0x7D, 0x16, 0x49, 0x86, 0xCF, 0x67, 0x62, 0xB3, 0x8D, + 0xF9, 0x72, 0xA5, 0xC8, 0x8B, 0xA3, 0xE3, 0x2F, 0xC8, 0x1B, 0x21, 0x96, 0x21, 0x23, 0xC3, 0xC8, + 0xF7, 0xA0, 0x17, 0x07, 0x5C, 0x98, 0xB1, 0x01, 0x49, 0xA2, 0x80, 0xC5, 0x44, 0xAD, 0x18, 0xE9, + 0x6F, 0xA8, 0x0F, 0x5F, 0x69, 0x4F, 0x9B, 0xFC, 0xC8, 0x62, 0xC9, 0x45, 0x44, 0x5E, 0x78, 0x47, + 0xA4, 0x85, 0x03, 0x1A, 0x69, 0x57, 0xE3, 0xF0, 0x04, 0x49, 0x6C, 0x45, 0x42, 0xD6, 0x74, 0x4B, + 0x22, 0xA1, 0x08, 0xF0, 0x03, 0x34, 0xB8, 0x04, 0x96, 0x61, 0x1D, 0xF6, 0x87, 0xCF, 0x36, 0x8A, + 0x00, 0xCB, 0xBE, 0x58, 0x6F, 0x42, 0x4E, 0x23, 0x9F, 0x91, 0x5B, 0xAE, 0x56, 0x30, 0x26, 0x5B, + 0xC0, 0x43, 0x1A, 0x3F, 0xA7, 0x34, 0xC4, 0x5C, 0x51, 0x18, 0x4E, 0x61, 0xC2, 0x06, 0x7E, 0x2D, + 0xF2, 0x03, 0x09, 0x55, 0x29, 0xD3, 0x84, 0xAC, 0x94, 0xDA, 0xF4, 0xBA, 0xDD, 0xDB, 0xDB, 0x5B, + 0x8F, 0x6A, 0x76, 0x3D, 0x11, 0x2F, 0xBB, 0xE9, 0xC6, 0x65, 0xF7, 0x62, 0x78, 0x36, 0x18, 0x4D, + 0x06, 0x1D, 0x60, 0x39, 0x9D, 0xF2, 0x43, 0x14, 0x32, 0x29, 0x49, 0xCC, 0x7E, 0x4F, 0x78, 0x0C, + 0xDB, 0x9D, 0x6F, 0x09, 0xDD, 0x6C, 0x60, 0x02, 0x9D, 0x03, 0xA3, 0x21, 0xBD, 0x25, 0x22, 0x26, + 0x74, 0x19, 0x33, 0xE8, 0x53, 0x02, 0x59, 0xBE, 0x8D, 0xB9, 0xE2, 0xD1, 0xB2, 0x4D, 0xA4, 0x58, + 0xA8, 0x5B, 0x1A, 0x6B, 0x79, 0x06, 0x1C, 0xA5, 0x3D, 0x4F, 0x94, 0x95, 0x58, 0x81, 0x41, 0x2E, + 0x0B, 0x03, 0x04, 0x6C, 0x24, 0x22, 0x8D, 0xFE, 0x84, 0x0C, 0x27, 0x0D, 0xF2, 0xAA, 0x3F, 0x19, + 0x4E, 0xDA, 0x48, 0xE4, 0xA7, 0xE1, 0xF4, 0xDB, 0xAB, 0x1F, 0xA6, 0xE4, 0xA7, 0xFE, 0x78, 0xDC, + 0x1F, 0x4D, 0x87, 0x83, 0x09, 0xB9, 0x1A, 0x93, 0xB3, 0xAB, 0xD1, 0xF9, 0x70, 0x3A, 0xBC, 0x1A, + 0xC1, 0xAF, 0xD7, 0xA4, 0x3F, 0xFA, 0x99, 0x7C, 0x3F, 0x1C, 0x9D, 0xB7, 0x09, 0xE3, 0xB0, 0x44, + 0x0C, 0xB2, 0xDC, 0xC4, 0xB0, 0x03, 0x64, 0x93, 0xA3, 0x2C, 0x59, 0xA0, 0x05, 0x37, 0x61, 0xAC, + 0xC0, 0xC2, 0x42, 0x18, 0x96, 0xE4, 0x86, 0xF9, 0x7C, 0xC1, 0x7D, 0xD8, 0x5A, 0xB4, 0x4C, 0xE8, + 0x92, 0x91, 0xA5, 0xB8, 0x61, 0x71, 0x04, 0x3B, 0x22, 0x1B, 0x16, 0xAF, 0xB9, 0xC4, 0x33, 0x95, + 0xC0, 0x60, 0x80, 0x64, 0x42, 0xBE, 0xE6, 0x8A, 0x2A, 0x6C, 0xAA, 0xEE, 0x0B, 0x17, 0xEA, 0x1E, + 0x5C, 0xCD, 0x7F, 0x63, 0xBE, 0xF2, 0x02, 0xB6, 0xE0, 0x11, 0x7B, 0x1B, 0x0B, 0xA0, 0xA2, 0xB6, + 0x2D, 0x60, 0x4B, 0xC4, 0x4A, 0xB6, 0x49, 0x63, 0x36, 0x63, 0xF2, 0x52, 0x04, 0x49, 0xC8, 0x1A, + 0x6D, 0xF2, 0x81, 0xDC, 0xD0, 0x30, 0x61, 0x3D, 0xA2, 0xE2, 0x84, 0x91, 0x3B, 0x50, 0x94, 0x74, + 0xA0, 0xF7, 0x3A, 0xD5, 0xE5, 0xA9, 0xB8, 0x66, 0xD1, 0x1B, 0x16, 0xB1, 0x98, 0x2A, 0xE0, 0xF9, + 0x94, 0xD8, 0x01, 0x7E, 0xBC, 0xDD, 0x28, 0x31, 0xE1, 0x4B, 0xE8, 0x7A, 0x1D, 0x8B, 0x75, 0x7F, + 0xB3, 0xC9, 0xF5, 0x0E, 0xD6, 0x49, 0x48, 0x41, 0xB8, 0xA6, 0x3F, 0xD7, 0x31, 0xEC, 0x5F, 0x56, + 0xDA, 0x26, 0x2C, 0xBE, 0x81, 0x2D, 0xF4, 0x7D, 0x5F, 0x24, 0x91, 0xAA, 0x74, 0xBF, 0xBA, 0xE8, + 0x9F, 0x7D, 0x7F, 0x31, 0x9C, 0x4C, 0x07, 0xE7, 0xB3, 0xB3, 0x8B, 0xFE, 0xF0, 0x72, 0x02, 0x9D, + 0x37, 0x82, 0x07, 0xE4, 0xE8, 0xE4, 0xE0, 0x86, 0xC6, 0xC4, 0x07, 0x4D, 0x61, 0x91, 0xE2, 0x34, + 0x9C, 0xF1, 0x48, 0x81, 0xF4, 0xE0, 0xE1, 0x18, 0xC6, 0xA4, 0x5A, 0xD4, 0x6A, 0x78, 0x5E, 0xD7, + 0x8D, 0xC9, 0x3D, 0x76, 0xEC, 0xF0, 0xC6, 0xA1, 0xA1, 0xC4, 0xE2, 0x58, 0xC4, 0x95, 0xB9, 0x89, + 0xE2, 0xA1, 0xEC, 0xEA, 0x3E, 0x3B, 0x90, 0x6E, 0xF8, 0x0C, 0x87, 0x30, 0xA9, 0x76, 0x0C, 0x87, + 0x11, 0x9D, 0x74, 0x44, 0x3A, 0x09, 0x65, 0xCD, 0x83, 0x54, 0x8C, 0xD5, 0x09, 0x59, 0xAF, 0x1D, + 0xAE, 0x9B, 0xEB, 0xA9, 0xDB, 0x21, 0xFD, 0x8B, 0x37, 0x57, 0x63, 0x50, 0xD3, 0xCB, 0xD9, 0x78, + 0xF2, 0xE2, 0xB3, 0xCF, 0x61, 0x68, 0x53, 0x3F, 0x34, 0xCB, 0xDD, 0xA3, 0xAB, 0xD1, 0x00, 0x7B, + 0x23, 0x11, 0xB1, 0xB4, 0x13, 0x5A, 0x66, 0xA0, 0xDF, 0xE3, 0xD9, 0x70, 0x34, 0x9B, 0x0C, 0x50, + 0xAD, 0x51, 0xAE, 0x9F, 0x1F, 0x91, 0xE7, 0xF0, 0x07, 0x50, 0xAA, 0x4B, 0x2E, 0xC0, 0x48, 0xD0, + 0xB8, 0xE7, 0x21, 0xF5, 0xAF, 0x43, 0xF8, 0x01, 0xC6, 0xE2, 0x87, 0x94, 0xAF, 0x25, 0xB9, 0x5D, + 0x71, 0x7F, 0x45, 0x7C, 0x1A, 0x21, 0x9A, 0xCC, 0x19, 0xD9, 0xC4, 0xE2, 0x86, 0x07, 0x2C, 0x80, + 0x0E, 0x16, 0xE1, 0x81, 0x50, 0x34, 0x4A, 0x04, 0x88, 0x44, 0x2A, 0xB1, 0x26, 0x0A, 0xD5, 0xE8, + 0x60, 0xEF, 0x89, 0xBE, 0x3B, 0x20, 0xF0, 0x69, 0x52, 0x3F, 0x6E, 0xB6, 0xE1, 0x6B, 0x6D, 0xBE, + 0xD4, 0x6C, 0x45, 0xE5, 0x4A, 0x3F, 0x26, 0x81, 0xF9, 0x52, 0xAB, 0x99, 0xE2, 0x6B, 0xA6, 0x7F, + 0xFC, 0xB9, 0xC1, 0x2F, 0x3F, 0x5A, 0xE8, 0xAF, 0x6C, 0x2C, 0x2C, 0x84, 0x5F, 0x9C, 0x2A, 0xFD, + 0x25, 0x25, 0x7E, 0xFD, 0xA6, 0x78, 0xB3, 0x6D, 0x16, 0x89, 0xE6, 0x30, 0x41, 0x4B, 0xC3, 0x67, + 0xD0, 0xF6, 0x5E, 0x6F, 0xB7, 0x9F, 0x04, 0x9C, 0x41, 0x03, 0x02, 0x4B, 0x92, 0xDA, 0xA8, 0x35, + 0x03, 0xE8, 0x04, 0x38, 0x3C, 0xCB, 0x6D, 0x46, 0x6A, 0x21, 0xBE, 0x1E, 0x8E, 0x07, 0x80, 0x18, + 0x83, 0x59, 0xFF, 0x87, 0xF3, 0xE1, 0x60, 0x74, 0xA6, 0x85, 0x8C, 0xA8, 0x27, 0x01, 0xF6, 0xB8, + 0x56, 0x33, 0xB5, 0x55, 0x42, 0x84, 0xD7, 0x5C, 0x79, 0x4B, 0x0D, 0xEB, 0xA0, 0x18, 0x60, 0x3D, + 0x62, 0xDD, 0x35, 0x3F, 0x3D, 0x3B, 0xCA, 0x2B, 0x0F, 0xBF, 0x39, 0xF6, 0x86, 0x69, 0xD3, 0xD4, + 0x34, 0x35, 0xD1, 0x79, 0x68, 0x9C, 0xEC, 0x93, 0x33, 0x67, 0x7F, 0x06, 0x6A, 0xD8, 0x1A, 0xC6, + 0x6A, 0x6C, 0x00, 0x50, 0xA0, 0x1A, 0xE3, 0x11, 0x37, 0xC0, 0x8C, 0x10, 0x3F, 0xB9, 0x0A, 0xB7, + 0x16, 0x6D, 0xE0, 0x98, 0xA4, 0x31, 0x39, 0x42, 0x8D, 0xCD, 0xC1, 0xF9, 0xF1, 0x1B, 0xB0, 0x57, + 0x72, 0xCD, 0xB6, 0xB0, 0x3D, 0x5C, 0x41, 0x02, 0x65, 0x02, 0xFA, 0x48, 0x3D, 0xF2, 0x96, 0xC5, + 0x20, 0x8B, 0x35, 0x50, 0x0B, 0x43, 0x82, 0x80, 0x92, 0x22, 0x50, 0x28, 0x7C, 0x68, 0xD9, 0xB6, + 0x11, 0x9D, 0x48, 0x20, 0x60, 0x39, 0xD4, 0x86, 0x35, 0xBD, 0x66, 0xD0, 0xB2, 0x25, 0xE3, 0xB7, + 0x67, 0x04, 0x07, 0x48, 0x0D, 0x4C, 0x5A, 0x5C, 0x3B, 0x2C, 0x1D, 0x36, 0x45, 0x5E, 0x82, 0x66, + 0x49, 0x09, 0x03, 0x49, 0x6B, 0x91, 0x44, 0xBE, 0xDE, 0x47, 0xEB, 0x90, 0x7C, 0xC0, 0x03, 0xC3, + 0x01, 0xFA, 0x1B, 0x5D, 0x25, 0xEA, 0x16, 0xEE, 0x8C, 0x44, 0xEC, 0xB6, 0x24, 0x85, 0x48, 0x2A, + 0xED, 0xBB, 0x16, 0x80, 0x47, 0x1A, 0x19, 0x97, 0xFC, 0x86, 0x45, 0x95, 0xCD, 0x3A, 0x00, 0xF0, + 0x0C, 0xD5, 0x8C, 0xF8, 0xCB, 0x0D, 0x8D, 0xE9, 0x9A, 0x7C, 0x28, 0xF2, 0x79, 0x96, 0x8D, 0xBF, + 0xCB, 0xCD, 0x25, 0xFD, 0x07, 0x10, 0xEE, 0xEA, 0x6F, 0xBB, 0xA1, 0xDA, 0xFD, 0xB7, 0xDC, 0x2C, + 0xBD, 0x5D, 0xF3, 0xD1, 0xEE, 0xD9, 0xCB, 0xAD, 0x76, 0x9A, 0xA3, 0x7E, 0x52, 0x1C, 0x45, 0xC3, + 0xA5, 0x88, 0xC1, 0xFD, 0xAC, 0x61, 0x50, 0x09, 0x11, 0xDC, 0x48, 0xBE, 0x20, 0xAD, 0x67, 0xD5, + 0xA5, 0x1C, 0xA1, 0x58, 0xDC, 0xA2, 0x48, 0x2D, 0x06, 0x66, 0x1E, 0x00, 0x35, 0x7F, 0x80, 0x6D, + 0x2D, 0xDB, 0x83, 0x2D, 0x67, 0x21, 0x07, 0x42, 0xBA, 0xFD, 0x4C, 0x04, 0xCC, 0x1B, 0x8E, 0x7E, + 0xEC, 0x5F, 0x0C, 0xC1, 0x9C, 0xC7, 0x83, 0xF3, 0x01, 0x38, 0xCB, 0xFE, 0x05, 0xD8, 0xD7, 0x70, + 0x34, 0x1D, 0x8C, 0x47, 0xFD, 0x0B, 0xD2, 0x9F, 0x4C, 0x06, 0xE3, 0x69, 0x8F, 0x5C, 0x82, 0x01, + 0x59, 0xAC, 0x20, 0x74, 0x8F, 0xFC, 0x8C, 0x73, 0xE7, 0xF8, 0xC8, 0xFF, 0x64, 0xB5, 0x72, 0xF3, + 0x9A, 0x87, 0x6E, 0x77, 0x77, 0x07, 0xFA, 0x6F, 0x59, 0x59, 0x5E, 0xF2, 0x68, 0xC5, 0x40, 0x34, + 0xE7, 0xC2, 0xCF, 0x1F, 0x48, 0x3D, 0x3D, 0xE0, 0x4B, 0x09, 0xB5, 0xDD, 0x30, 0x4F, 0xEB, 0xFE, + 0xA9, 0x3B, 0xB6, 0xD6, 0x3C, 0x59, 0x2C, 0x58, 0x9C, 0x97, 0x19, 0x6A, 0xB3, 0x71, 0x81, 0x39, + 0x7C, 0x6E, 0x9A, 0x16, 0x60, 0x8C, 0x00, 0x9E, 0x30, 0x19, 0x82, 0x7F, 0xE9, 0x40, 0xA8, 0x81, + 0xC1, 0x4B, 0x07, 0x7E, 0x30, 0xF2, 0x12, 0xE9, 0x4B, 0x3F, 0xE6, 0x1B, 0xD5, 0x31, 0xFD, 0xDD, + 0x48, 0x74, 0x80, 0x58, 0x27, 0xA5, 0x21, 0x0B, 0x2B, 0x18, 0x46, 0xD2, 0x85, 0x3C, 0x5F, 0xAB, + 0x3E, 0x72, 0xDB, 0x02, 0x98, 0xEF, 0x77, 0x26, 0xDF, 0xF6, 0xE1, 0x88, 0x73, 0x62, 0xD0, 0xE3, + 0xBD, 0x64, 0x13, 0xC0, 0xB0, 0x94, 0x67, 0xD7, 0x09, 0x5C, 0xAA, 0x24, 0x8E, 0xC8, 0x5B, 0x30, + 0x0E, 0x0E, 0xD1, 0x02, 0xAC, 0x25, 0xC2, 0x1B, 0xD6, 0xD2, 0x73, 0xF0, 0x4F, 0xAB, 0xA4, 0x72, + 0x5E, 0x0A, 0x0A, 0xDF, 0xB3, 0xED, 0x61, 0x4A, 0xE6, 0xEE, 0xE4, 0x1F, 0x92, 0xF0, 0x92, 0xA9, + 0xB4, 0x6B, 0x18, 0xC0, 0x06, 0x0B, 0x16, 0x7F, 0x0F, 0xC3, 0x15, 0x36, 0x7D, 0xA3, 0x8A, 0x6B, + 0xCA, 0x43, 0xC7, 0xA6, 0x9B, 0x5F, 0xCB, 0xCA, 0xC9, 0xC1, 0x5D, 0x0B, 0x37, 0x75, 0x4F, 0x08, + 0x52, 0xD7, 0xFC, 0x68, 0x0C, 0x06, 0x20, 0x02, 0x56, 0xD6, 0x02, 0xE0, 0x15, 0xA2, 0x9F, 0x4C, + 0xE9, 0x95, 0xC8, 0x63, 0xEC, 0x70, 0x91, 0xD3, 0xF7, 0x40, 0x47, 0xDF, 0x22, 0xC1, 0x40, 0xBA, + 0xC6, 0x4C, 0x86, 0xE7, 0x00, 0xB9, 0x4A, 0xB1, 0xF5, 0x46, 0x49, 0x24, 0x03, 0x1A, 0xE6, 0x63, + 0xD4, 0x58, 0x3B, 0x14, 0x43, 0x68, 0x1F, 0xD0, 0x3A, 0x09, 0xD1, 0x23, 0x23, 0x33, 0x06, 0xB7, + 0xC9, 0x25, 0x53, 0x14, 0xD7, 0x86, 0x35, 0xEC, 0x34, 0x8F, 0x4C, 0x41, 0xB6, 0xB0, 0x38, 0xE0, + 0xBC, 0x4C, 0x7C, 0x1F, 0xA2, 0x6C, 0xE0, 0x0A, 0x10, 0x3D, 0xA2, 0x4B, 0x78, 0x64, 0xD1, 0x0D, + 0x8F, 0x45, 0x84, 0x7B, 0x04, 0xF0, 0xE7, 0xD7, 0xCC, 0x5E, 0x54, 0xCE, 0x42, 0x91, 0x04, 0xE4, + 0x75, 0x7A, 0x88, 0x52, 0xFB, 0x03, 0x8C, 0x07, 0x07, 0xD1, 0x12, 0x94, 0xDE, 0xDE, 0x61, 0x5E, + 0x4A, 0x08, 0x82, 0xAD, 0x6F, 0xF4, 0x71, 0x4A, 0xEA, 0x11, 0xB5, 0x37, 0xE4, 0x74, 0xDD, 0x8D, + 0x19, 0x68, 0x2C, 0xBA, 0x60, 0x78, 0x92, 0xAA, 0x7B, 0x73, 0xDC, 0x05, 0x8D, 0xC1, 0x70, 0x56, + 0x7A, 0xB2, 0x70, 0x12, 0xB2, 0x8B, 0xA2, 0x7B, 0x15, 0x8A, 0xF9, 0xFD, 0x84, 0xE1, 0xDF, 0x06, + 0xE2, 0xFC, 0x6E, 0x20, 0x7C, 0x98, 0x06, 0xF1, 0x15, 0x88, 0x01, 0xAC, 0x0D, 0xC2, 0x7F, 0x76, + 0x83, 0x8F, 0xEB, 0x54, 0x0E, 0xD6, 0x49, 0xE1, 0x21, 0x3D, 0xDC, 0x33, 0xD9, 0x16, 0x37, 0xAB, + 0x85, 0x9C, 0x18, 0x78, 0x6C, 0x5B, 0xC1, 0x66, 0xBA, 0x0E, 0xD3, 0x9E, 0x8A, 0xDD, 0x8E, 0xEC, + 0xBF, 0x85, 0xDD, 0xFD, 0xF1, 0x9B, 0x1F, 0x2E, 0x01, 0xBC, 0x1F, 0x80, 0xDC, 0xDF, 0x4E, 0xA7, + 0x6F, 0x89, 0x31, 0xBC, 0x22, 0x54, 0x67, 0x72, 0xA8, 0xE2, 0xB3, 0xDB, 0x0B, 0x42, 0x80, 0x58, + 0x54, 0x84, 0x43, 0x9E, 0x9D, 0x42, 0xF4, 0x94, 0x44, 0xE6, 0xEE, 0x12, 0x34, 0xC9, 0xC7, 0x1F, + 0x93, 0x67, 0x59, 0x58, 0xEC, 0x71, 0x39, 0x12, 0xD1, 0x00, 0x94, 0x7E, 0x3B, 0x51, 0x78, 0x88, + 0xAD, 0x8A, 0x70, 0xFF, 0x0F, 0xC1, 0x4C, 0xAA, 0x16, 0xB7, 0x4E, 0xA4, 0x0E, 0x8A, 0xB3, 0x9D, + 0xE8, 0x4B, 0x2B, 0x81, 0x68, 0xB3, 0x83, 0x36, 0x0B, 0x71, 0x98, 0xE6, 0xBF, 0x2A, 0x20, 0xA7, + 0x16, 0xEE, 0xB0, 0x41, 0x2F, 0xDC, 0x8F, 0x92, 0xE3, 0xAF, 0x08, 0xF0, 0xB4, 0x22, 0xD3, 0x93, + 0xC7, 0x39, 0x46, 0x38, 0xBD, 0xA7, 0x7A, 0xC3, 0x19, 0xB2, 0x04, 0xE3, 0xF0, 0xAB, 0xEC, 0x74, + 0x74, 0x63, 0x01, 0xF4, 0x5B, 0x87, 0x1E, 0x40, 0x51, 0xE4, 0x2C, 0xAA, 0x74, 0x9A, 0x8E, 0xBA, + 0x5B, 0x21, 0xBD, 0x4E, 0xC1, 0x1A, 0xB6, 0xCF, 0x7D, 0xC0, 0x8A, 0x57, 0x22, 0xE8, 0x91, 0xE6, + 0xDB, 0xAB, 0xC9, 0xB4, 0xD9, 0xAE, 0xF4, 0x27, 0x71, 0xD8, 0x23, 0x8D, 0x2C, 0x32, 0xA7, 0x6B, + 0xE7, 0x40, 0x64, 0x29, 0x30, 0xCF, 0xE3, 0x4E, 0xB7, 0xD3, 0x2D, 0x23, 0x4F, 0x83, 0x7C, 0x52, + 0x92, 0x32, 0x34, 0x34, 0x7A, 0x16, 0x90, 0x1A, 0x95, 0xB5, 0x35, 0xC2, 0xF7, 0xE0, 0xAE, 0xBD, + 0xA1, 0xDB, 0x50, 0x50, 0x60, 0xD2, 0x08, 0xD0, 0x53, 0x22, 0x55, 0xE4, 0x26, 0xAA, 0xE4, 0xE7, + 0x9F, 0x36, 0x0F, 0xC9, 0x9D, 0x9B, 0x9D, 0x73, 0x64, 0x25, 0x61, 0xCE, 0x4A, 0x2A, 0x02, 0x7A, + 0x10, 0x05, 0xAD, 0x54, 0x3A, 0x79, 0x9D, 0xAA, 0xC8, 0x18, 0x60, 0x75, 0x03, 0x00, 0xCD, 0x4A, + 0xD2, 0xC5, 0x68, 0x65, 0x6C, 0xBA, 0x4C, 0xF0, 0xAC, 0x1D, 0x15, 0x9C, 0xA6, 0xE1, 0x8B, 0x00, + 0x24, 0x83, 0x39, 0x04, 0x1E, 0x39, 0x67, 0xF8, 0x40, 0x38, 0x26, 0x8B, 0xC0, 0xEC, 0x69, 0xBA, + 0x13, 0x04, 0xFC, 0x94, 0x39, 0xAF, 0x8E, 0xE1, 0x57, 0x66, 0xBF, 0x48, 0x39, 0x63, 0xC1, 0x43, + 0xA9, 0x68, 0xDD, 0x62, 0x01, 0xCA, 0xAD, 0x4D, 0xAC, 0x14, 0x8A, 0x3B, 0xF0, 0xA9, 0xF2, 0x57, + 0x6E, 0x0B, 0x68, 0xAF, 0x65, 0xEE, 0xF9, 0x02, 0x9B, 0x5D, 0xFC, 0x2F, 0x16, 0xC5, 0xFB, 0xB9, + 0xF7, 0x2D, 0x88, 0x4A, 0x5B, 0xB5, 0x9B, 0xE9, 0x3E, 0xD9, 0xBD, 0x9F, 0x9C, 0xE2, 0xB7, 0x57, + 0x60, 0xD0, 0xB0, 0x52, 0x5E, 0xAC, 0x84, 0x49, 0xA3, 0x24, 0x0C, 0x4D, 0xDA, 0xC5, 0xA0, 0xC9, + 0x21, 0x02, 0x97, 0x7E, 0xF2, 0x58, 0x69, 0xD5, 0xEA, 0xCA, 0x16, 0x6C, 0x70, 0x75, 0x37, 0xC5, + 0x83, 0x9D, 0xA8, 0x44, 0x9E, 0xEC, 0x9C, 0x17, 0x98, 0x28, 0x52, 0xCB, 0xE4, 0x14, 0xB4, 0x1E, + 0xD4, 0x17, 0xCE, 0x4E, 0x3B, 0x50, 0x04, 0x64, 0xAB, 0xE8, 0x36, 0x25, 0x99, 0x73, 0x88, 0xC6, + 0x11, 0xE2, 0x35, 0xBA, 0xAB, 0xF3, 0x94, 0x5D, 0x13, 0x56, 0x76, 0xCC, 0x4D, 0xBD, 0x63, 0x2E, + 0xB7, 0xA4, 0x49, 0x3E, 0x49, 0xD7, 0xAE, 0x7E, 0x9A, 0x78, 0x33, 0x5E, 0x8B, 0x98, 0x01, 0x17, + 0x0A, 0xA2, 0x2E, 0x89, 0x29, 0xB4, 0x95, 0xB8, 0x4D, 0x2F, 0xCE, 0x5A, 0x1B, 0x54, 0x2C, 0x12, + 0x88, 0x7A, 0xE5, 0x4A, 0x08, 0x95, 0xA6, 0x1A, 0x61, 0x95, 0x24, 0x66, 0x5E, 0xF3, 0x64, 0xBF, + 0x30, 0x2E, 0xE5, 0xB2, 0x24, 0x8B, 0x35, 0x24, 0xD4, 0x20, 0x00, 0x41, 0x33, 0x3B, 0x21, 0x60, + 0x7E, 0xF9, 0xCD, 0x3B, 0x62, 0x65, 0xE0, 0xDF, 0x0D, 0xFA, 0x46, 0x13, 0x11, 0xB8, 0x59, 0x6C, + 0x9C, 0x40, 0x76, 0x0A, 0xED, 0x8C, 0x87, 0xF4, 0x29, 0xA7, 0x8C, 0x45, 0xA8, 0xFE, 0x67, 0xFD, + 0x8C, 0x71, 0x2A, 0xB3, 0xC1, 0x78, 0x7C, 0x35, 0x06, 0x4B, 0xD0, 0x5D, 0xA9, 0xF5, 0xB0, 0xC0, + 0x98, 0xA4, 0xD4, 0xFC, 0xF6, 0xF0, 0x64, 0xCC, 0x32, 0xF0, 0xDD, 0xF4, 0x48, 0x3F, 0x08, 0x38, + 0x0A, 0xC2, 0xDE, 0xC4, 0x77, 0x9E, 0x5C, 0xD3, 0x26, 0xBB, 0xD2, 0xD9, 0xC2, 0xF7, 0x93, 0x38, + 0xD6, 0x29, 0x1B, 0x48, 0x02, 0xA7, 0x01, 0xA5, 0x89, 0x11, 0x05, 0x24, 0x0D, 0x54, 0x4C, 0x7D, + 0x3C, 0x39, 0xB6, 0x9B, 0xA0, 0xA6, 0x83, 0x80, 0xE0, 0x2E, 0xDC, 0xD8, 0xE4, 0x3C, 0xBF, 0x93, + 0x58, 0xED, 0xE1, 0xE4, 0xEC, 0xFC, 0xD1, 0xF7, 0x0B, 0x00, 0xA8, 0xA7, 0x5D, 0x2A, 0xAA, 0xAE, + 0x2A, 0x6F, 0xD9, 0x7B, 0xA2, 0x0D, 0x0D, 0xBA, 0xF7, 0x86, 0x1C, 0xBB, 0xEF, 0x2C, 0xD5, 0xC9, + 0x05, 0xF7, 0xFF, 0x10, 0x47, 0x97, 0x39, 0xB9, 0x37, 0x03, 0xF4, 0x71, 0x15, 0xFF, 0xD6, 0x4C, + 0xF3, 0xED, 0x36, 0xA4, 0xB5, 0xB1, 0xAF, 0x0D, 0xF5, 0xD1, 0xB3, 0x59, 0x90, 0xB4, 0x7E, 0xAD, + 0x43, 0xAD, 0x63, 0x83, 0x60, 0x85, 0xC2, 0x2D, 0xA1, 0xCB, 0xF0, 0x26, 0x55, 0x22, 0xBF, 0x62, + 0x34, 0x80, 0xFA, 0x42, 0xAF, 0x06, 0xC9, 0x9A, 0x96, 0x7A, 0xE7, 0x75, 0x48, 0x6F, 0x44, 0xDC, + 0x44, 0xFE, 0x34, 0xDA, 0x14, 0x69, 0x58, 0xDF, 0xE6, 0xCE, 0xD9, 0x5D, 0xA4, 0xD3, 0x48, 0x47, + 0x9B, 0x50, 0x15, 0xBA, 0x8D, 0xB9, 0xB4, 0xAA, 0x57, 0x59, 0xBF, 0xEA, 0xFE, 0x1E, 0xEC, 0xF2, + 0x74, 0x4C, 0x9D, 0x61, 0xBD, 0x02, 0x85, 0x87, 0x11, 0xFF, 0xBE, 0x65, 0x63, 0xE0, 0xEC, 0x7C, + 0xAD, 0xCE, 0xEF, 0x47, 0x4B, 0x1B, 0x19, 0xEC, 0xB7, 0x9B, 0xD9, 0xAE, 0x98, 0xAF, 0xB0, 0x8B, + 0xBA, 0x88, 0xA1, 0x38, 0xE2, 0xB1, 0xEE, 0xF5, 0xEF, 0xCB, 0xA0, 0x26, 0x35, 0xF4, 0x1A, 0x74, + 0x4C, 0xD7, 0x70, 0xD0, 0x87, 0x60, 0xA1, 0x23, 0x62, 0xE5, 0xCB, 0xAB, 0x47, 0x2E, 0xE9, 0x35, + 0xB4, 0x82, 0xD3, 0x28, 0xDC, 0x31, 0xEA, 0x11, 0xA9, 0x89, 0xF0, 0x33, 0x39, 0xFF, 0x5E, 0x5F, + 0x9D, 0xF7, 0xE6, 0x96, 0x00, 0x33, 0x43, 0x8D, 0x84, 0x0A, 0xB2, 0x83, 0x59, 0x56, 0x74, 0x9B, + 0xCD, 0xA9, 0xA7, 0xDF, 0x6A, 0xA4, 0x94, 0xCC, 0x02, 0x10, 0x41, 0x96, 0xEF, 0xA4, 0x9E, 0x0D, + 0x01, 0x73, 0x95, 0x1B, 0x8F, 0x5C, 0x41, 0x5D, 0x8F, 0x67, 0xA8, 0xDB, 0xD3, 0xFE, 0x0B, 0x85, + 0x9C, 0x37, 0xFE, 0xBA, 0xB4, 0x85, 0x43, 0x38, 0x97, 0xAB, 0xA8, 0x96, 0x50, 0xE0, 0xF9, 0xF1, + 0x59, 0x09, 0x2E, 0xC1, 0x4D, 0x67, 0xB9, 0x7A, 0xB1, 0x5E, 0x27, 0x11, 0xF7, 0x75, 0xC2, 0xDE, + 0x56, 0xFD, 0xD2, 0x7C, 0x37, 0x83, 0x2A, 0x8E, 0x06, 0x43, 0x24, 0x3C, 0xD4, 0xF7, 0xBF, 0x20, + 0xF1, 0x19, 0xD6, 0x9E, 0x4C, 0xE0, 0x96, 0xA6, 0xC2, 0x5D, 0x82, 0xD7, 0xD6, 0x7D, 0x9E, 0x70, + 0x81, 0x2E, 0x4E, 0x6D, 0x3D, 0xF0, 0xA6, 0x8C, 0x85, 0x8D, 0x47, 0xDE, 0x71, 0xAA, 0xA9, 0xB9, + 0x08, 0xAC, 0x62, 0x5F, 0x7E, 0x2E, 0x89, 0x50, 0x5E, 0x98, 0xA6, 0xD3, 0xE9, 0xB9, 0x8C, 0xD5, + 0xA7, 0x5C, 0x95, 0x76, 0x38, 0x88, 0x7C, 0x88, 0xDC, 0x6C, 0x3E, 0x3E, 0xDF, 0x66, 0x59, 0x7A, + 0x9A, 0x53, 0xDC, 0xC1, 0x54, 0xD3, 0x55, 0xB4, 0x41, 0x1D, 0x3A, 0x56, 0x1D, 0x5E, 0xB2, 0x3F, + 0xE8, 0x7A, 0x63, 0xA2, 0xC9, 0x66, 0x9D, 0xEE, 0x66, 0xDC, 0xD4, 0x2B, 0x70, 0x45, 0x49, 0x5C, + 0x83, 0x53, 0xE5, 0x2C, 0xD5, 0xBF, 0x3F, 0xD3, 0x2F, 0x62, 0x97, 0xE8, 0xC7, 0x52, 0x31, 0x66, + 0xD2, 0xB0, 0x05, 0x9F, 0x09, 0x94, 0x83, 0xE0, 0x1E, 0x0E, 0x1D, 0xE5, 0xD4, 0x9A, 0xB3, 0x75, + 0x5C, 0xA7, 0x0A, 0x11, 0x6D, 0x78, 0x4E, 0xCB, 0x0C, 0xF5, 0x99, 0x4C, 0x72, 0x85, 0xD5, 0xDE, + 0x5B, 0x10, 0x96, 0x1B, 0x99, 0x33, 0x59, 0x93, 0xF2, 0x72, 0xF5, 0x84, 0x0C, 0x30, 0x37, 0x9B, + 0x3B, 0xCD, 0x59, 0x9F, 0xE4, 0x9A, 0xB2, 0xED, 0x78, 0x7A, 0x4E, 0x2A, 0xC3, 0x0F, 0xF9, 0x1D, + 0xDF, 0x95, 0xEC, 0xBA, 0x30, 0xA5, 0x7B, 0x90, 0x9D, 0x6A, 0x4D, 0x55, 0xB6, 0x05, 0xEB, 0xD9, + 0xB3, 0x2E, 0x56, 0x4B, 0xC9, 0xA9, 0x96, 0x98, 0xD0, 0x81, 0xB4, 0xF4, 0xF2, 0xF5, 0x05, 0xEB, + 0x21, 0x5D, 0x5B, 0xEE, 0x76, 0x55, 0x5F, 0x70, 0xF5, 0x76, 0x15, 0x4D, 0xAA, 0x8A, 0x86, 0x07, + 0x7A, 0x6F, 0x2D, 0xC4, 0x5A, 0x75, 0x69, 0x9A, 0xCB, 0xB3, 0x95, 0x82, 0x85, 0xD4, 0xFB, 0x88, + 0x18, 0x4F, 0xD9, 0x85, 0x0D, 0x7A, 0xFB, 0xED, 0xDC, 0x46, 0x6B, 0xE3, 0xB0, 0xBB, 0x83, 0xFD, + 0x75, 0xED, 0x9A, 0x56, 0xA7, 0xA6, 0x88, 0x6E, 0x5A, 0x13, 0x97, 0x58, 0x27, 0x37, 0x40, 0x1A, + 0x70, 0xB4, 0x67, 0x8C, 0x6A, 0x34, 0xA2, 0x40, 0x19, 0xB5, 0x54, 0x4B, 0x4C, 0xEF, 0x59, 0xAD, + 0xEF, 0x7E, 0x9A, 0xCA, 0x43, 0x07, 0xA0, 0xB5, 0x75, 0xF7, 0x07, 0x01, 0x29, 0x0C, 0x28, 0x95, + 0xB1, 0x14, 0x8B, 0xA8, 0x36, 0xFB, 0xE9, 0x8A, 0xE9, 0x1F, 0x3A, 0x3D, 0x95, 0xDE, 0xD2, 0x9C, + 0xE9, 0x98, 0x45, 0x58, 0x50, 0x64, 0xD0, 0xD2, 0x82, 0x4F, 0xA1, 0xEE, 0xA9, 0x0D, 0x8C, 0xCE, + 0x25, 0xA6, 0x37, 0x71, 0x3E, 0x9C, 0x8A, 0x70, 0xC4, 0x4D, 0x7D, 0xD8, 0x64, 0x90, 0xE7, 0xE8, + 0xD1, 0x31, 0x53, 0x80, 0xC3, 0x2C, 0x39, 0x73, 0x9A, 0x36, 0x1B, 0x0D, 0x9B, 0xAF, 0xAF, 0x94, + 0xED, 0x90, 0x43, 0x4B, 0xEA, 0x13, 0x68, 0x67, 0x5B, 0xAB, 0x78, 0x89, 0x6C, 0xCF, 0xA7, 0xD9, + 0x98, 0x52, 0x1E, 0x75, 0xE7, 0xE5, 0x3D, 0x25, 0xFE, 0xAF, 0x65, 0x11, 0x1F, 0x55, 0x1A, 0xCB, + 0x1B, 0x7B, 0x7A, 0x62, 0xF5, 0x32, 0x79, 0x40, 0x9E, 0x35, 0x13, 0xCC, 0x53, 0x92, 0xAC, 0xD9, + 0xE4, 0xFF, 0x2A, 0xC3, 0xFA, 0xAB, 0x5D, 0xEC, 0x57, 0x42, 0xE3, 0x65, 0x82, 0xB1, 0x8B, 0xCD, + 0xA8, 0x3E, 0x32, 0x89, 0x2A, 0xAD, 0x7F, 0x31, 0x0F, 0x29, 0xA0, 0xEC, 0x2D, 0x28, 0xEF, 0x29, + 0xF8, 0xEF, 0xA8, 0x15, 0x27, 0x5C, 0xDB, 0x17, 0x1E, 0x50, 0xFC, 0x70, 0xEB, 0x2A, 0x52, 0x2E, + 0x91, 0x0C, 0x18, 0xC4, 0xA5, 0x58, 0x67, 0x3F, 0x33, 0x2F, 0x5B, 0x5C, 0x6D, 0xCC, 0x05, 0xDF, + 0x75, 0xA4, 0xAF, 0x61, 0x98, 0xB0, 0xD8, 0x0F, 0x93, 0x80, 0xC1, 0x77, 0xFD, 0x7A, 0x79, 0xCB, + 0xDB, 0xB9, 0xB4, 0xF3, 0x3A, 0x7D, 0x1B, 0x04, 0x80, 0x29, 0x86, 0x0B, 0x30, 0xE3, 0xCC, 0x63, + 0xEE, 0xD9, 0x80, 0x16, 0x70, 0x36, 0x30, 0xB7, 0x60, 0x39, 0x0A, 0xC7, 0xF7, 0x0B, 0x30, 0x3D, + 0x84, 0x15, 0x29, 0x7C, 0x83, 0xCC, 0x54, 0xA4, 0xDC, 0xEB, 0x23, 0xF6, 0x22, 0x54, 0x00, 0x85, + 0x5D, 0x7A, 0xEF, 0x62, 0x1C, 0xE3, 0x82, 0x0D, 0x47, 0x38, 0xA8, 0x18, 0x83, 0xC1, 0x09, 0xB5, + 0xCB, 0x32, 0x7D, 0x58, 0x46, 0xC0, 0xE5, 0xA4, 0x4C, 0x06, 0xAA, 0x88, 0x24, 0x7B, 0xAC, 0x06, + 0xD6, 0xAC, 0xD8, 0x4A, 0x81, 0x12, 0xE6, 0xEC, 0x7E, 0x4D, 0xF8, 0xC3, 0x74, 0x1C, 0x75, 0xCC, + 0x6B, 0xD6, 0xA9, 0x39, 0x0B, 0x25, 0xD3, 0xBC, 0xE0, 0x88, 0x90, 0x45, 0x4B, 0x90, 0xFF, 0xD7, + 0xE4, 0xF8, 0xC5, 0x97, 0x4F, 0x59, 0x9B, 0xC2, 0x3A, 0xE9, 0x19, 0xE2, 0x4B, 0x78, 0x78, 0x57, + 0x88, 0xB0, 0x72, 0x01, 0xEE, 0x55, 0x17, 0xE4, 0x91, 0x2E, 0xF1, 0x57, 0x14, 0x13, 0x43, 0x90, + 0x0B, 0xB8, 0x87, 0xA3, 0x67, 0x28, 0x4A, 0x10, 0xCC, 0x79, 0x51, 0xF0, 0x3F, 0xA2, 0xCC, 0x66, + 0xAD, 0xD2, 0x71, 0xDC, 0x2F, 0xAB, 0xD2, 0x84, 0x5A, 0xB9, 0xE9, 0xF3, 0x68, 0x6B, 0xF1, 0x45, + 0x09, 0xBE, 0xAA, 0xA2, 0x61, 0xBD, 0xA4, 0x6B, 0x65, 0x23, 0xAA, 0xEC, 0xC3, 0x1D, 0x70, 0x9E, + 0x89, 0x7F, 0x1F, 0xF8, 0xF2, 0xAB, 0xED, 0xC8, 0x0C, 0x59, 0x96, 0x31, 0x31, 0x74, 0x77, 0x52, + 0x07, 0xF5, 0x25, 0x31, 0x95, 0xC1, 0xBE, 0xB4, 0x0B, 0x8D, 0x52, 0x2D, 0xA0, 0xAB, 0xED, 0x92, + 0x47, 0xBB, 0xAD, 0xC4, 0x7D, 0xBA, 0xCF, 0x09, 0xC7, 0x40, 0x70, 0x9E, 0x84, 0x04, 0xAC, 0x1E, + 0xB2, 0xC0, 0xE6, 0xCC, 0x9F, 0x77, 0x6B, 0x53, 0xE5, 0xC6, 0xB5, 0xE6, 0x6C, 0x15, 0x62, 0xF2, + 0xAB, 0xDB, 0xC8, 0xBE, 0x98, 0xE8, 0xE1, 0x0B, 0x42, 0x65, 0x6D, 0x68, 0x23, 0x3B, 0x99, 0x4A, + 0xD4, 0x51, 0xDD, 0xFD, 0x22, 0x99, 0xC7, 0x61, 0xB3, 0x7F, 0x5C, 0x2D, 0x5A, 0x48, 0x42, 0x6F, + 0xBF, 0x73, 0x9C, 0xA7, 0xF4, 0xCF, 0x27, 0x78, 0xCA, 0xE7, 0xD8, 0x38, 0x2F, 0x2A, 0x18, 0xF9, + 0xA5, 0x01, 0x77, 0x7E, 0xDC, 0x12, 0xFC, 0x6D, 0xFC, 0xD2, 0xC0, 0xEB, 0x77, 0xCC, 0x74, 0x36, + 0x37, 0x40, 0x2C, 0x74, 0x6F, 0xD1, 0xB9, 0xF7, 0xB3, 0xBC, 0x46, 0xAA, 0x01, 0xF7, 0xE7, 0x9E, + 0xE1, 0x93, 0x6A, 0xC5, 0x3B, 0x58, 0xE2, 0x3D, 0x39, 0xCD, 0x1D, 0xA2, 0x6B, 0xBE, 0x2F, 0x8B, + 0xED, 0x7E, 0xDD, 0x95, 0x62, 0xF5, 0xBC, 0x2B, 0xBD, 0xA7, 0x82, 0x47, 0x77, 0x96, 0xEE, 0xD2, + 0xFC, 0x61, 0x6D, 0xE5, 0x0E, 0xEE, 0xF5, 0x3D, 0x32, 0xCB, 0xAD, 0xE2, 0x6E, 0xFA, 0xD5, 0x52, + 0x1A, 0xA8, 0x10, 0xA4, 0x17, 0x21, 0x6C, 0x6C, 0x96, 0x0B, 0x65, 0x95, 0x25, 0x39, 0xC5, 0x8C, + 0xE2, 0x25, 0x55, 0x2B, 0x6F, 0x11, 0x0A, 0x38, 0xC6, 0x73, 0xF0, 0x11, 0x5E, 0x24, 0x6E, 0x21, + 0x62, 0xEE, 0x92, 0xE3, 0xA3, 0xA3, 0xA3, 0xC3, 0xEA, 0xA4, 0xB9, 0x08, 0xB6, 0xF5, 0x5C, 0x26, + 0x41, 0xAF, 0xFA, 0xB6, 0x5F, 0x85, 0x41, 0x5C, 0xB5, 0x87, 0x7F, 0xAA, 0x3D, 0xA0, 0xB3, 0xBA, + 0x87, 0x7C, 0x52, 0xF7, 0xEA, 0x65, 0x0D, 0x25, 0x29, 0x7B, 0xD6, 0x6F, 0x56, 0x7B, 0x65, 0x32, + 0xDF, 0xDD, 0x8B, 0x40, 0xDE, 0xC3, 0x3F, 0x15, 0x21, 0x95, 0x0D, 0x69, 0x56, 0x0C, 0xEF, 0x4A, + 0x1B, 0x7F, 0x42, 0xB6, 0xC4, 0xA7, 0x6B, 0x16, 0xFA, 0x59, 0xD8, 0xE1, 0x3E, 0x5A, 0xB4, 0xE9, + 0x4A, 0x33, 0x8E, 0xF1, 0x79, 0x71, 0xED, 0x72, 0xE6, 0x73, 0x07, 0x90, 0x80, 0x32, 0xCB, 0x96, + 0xD1, 0xF7, 0x43, 0xE7, 0xF1, 0x8E, 0x52, 0xCE, 0xAB, 0x0B, 0x66, 0x80, 0x69, 0x1E, 0x4A, 0xAB, + 0x94, 0xCF, 0xDF, 0x84, 0x33, 0x19, 0x6F, 0xA6, 0xEE, 0x39, 0x61, 0x4B, 0x74, 0x34, 0x2D, 0xA3, + 0xC3, 0x87, 0x68, 0xC5, 0x1E, 0x58, 0x74, 0xED, 0x18, 0x5C, 0xB3, 0x46, 0xAD, 0x50, 0xB1, 0x6D, + 0x5C, 0x75, 0x5A, 0x50, 0x76, 0xFD, 0x55, 0xC8, 0xFE, 0x68, 0x16, 0x20, 0x5D, 0xB2, 0xAF, 0xAC, + 0x80, 0xA0, 0xF9, 0x4E, 0x0F, 0x6C, 0xE7, 0x69, 0xBF, 0xDF, 0x5B, 0xFC, 0x9D, 0x51, 0x90, 0xD2, + 0xEE, 0x1D, 0xD3, 0x77, 0x47, 0xEF, 0x0D, 0x35, 0x5D, 0xA7, 0x33, 0x4D, 0xC7, 0xEF, 0xEB, 0xF8, + 0x30, 0x93, 0xF6, 0x0A, 0x22, 0xA3, 0x53, 0x9B, 0xE7, 0x7C, 0x58, 0x58, 0x57, 0xA0, 0x58, 0x08, + 0xE9, 0xA4, 0x69, 0x2B, 0x45, 0x71, 0xB6, 0x1A, 0x7D, 0x9A, 0x0D, 0xC8, 0x27, 0x2D, 0x5E, 0xA5, + 0xA9, 0xB8, 0x6F, 0x88, 0xED, 0xEC, 0x15, 0x0A, 0xD3, 0xDF, 0x4D, 0xAE, 0x46, 0x9E, 0x09, 0xB8, + 0x20, 0x1B, 0x9C, 0x2D, 0x51, 0xA9, 0x3A, 0xD8, 0xF7, 0xB2, 0xA1, 0x7C, 0xFF, 0x13, 0x9B, 0x4F, + 0xE8, 0x82, 0xBD, 0xD2, 0x75, 0x6B, 0x9B, 0xEB, 0x83, 0xEC, 0xD9, 0x06, 0x5E, 0x98, 0x66, 0xAD, + 0xEE, 0xE9, 0x27, 0x1F, 0x75, 0xE1, 0x42, 0xD3, 0xDC, 0x99, 0xCC, 0x1B, 0x6B, 0x82, 0x12, 0x13, + 0xB1, 0xFA, 0x3F, 0x0F, 0x88, 0x18, 0xDF, 0xA0, 0x2D, 0x44, 0xC4, 0xD5, 0x98, 0x1F, 0xFE, 0x8B, + 0x83, 0x89, 0x74, 0x76, 0xBD, 0xBC, 0x6A, 0xC2, 0x9E, 0x3B, 0xF2, 0xAE, 0xE4, 0x08, 0xDE, 0xEF, + 0xBF, 0x48, 0xA4, 0xD1, 0x2C, 0xAB, 0x5C, 0x09, 0x3E, 0xCC, 0x85, 0x80, 0xF2, 0x72, 0x74, 0x47, + 0xA6, 0x71, 0x82, 0xC1, 0x5D, 0x81, 0xC1, 0x0A, 0x5B, 0x27, 0x44, 0xD8, 0xDC, 0x58, 0x9B, 0x2C, + 0x28, 0xC4, 0x06, 0x8F, 0x8C, 0xE6, 0x77, 0xC4, 0x8C, 0x05, 0x05, 0xA8, 0x06, 0x2A, 0x0F, 0x89, + 0x86, 0x4E, 0xF7, 0x45, 0x43, 0x4E, 0xB9, 0x61, 0x97, 0x27, 0xBB, 0xFD, 0xE1, 0xEE, 0xFC, 0x41, + 0x69, 0xB9, 0xBA, 0xCC, 0x68, 0xFD, 0xEE, 0x4D, 0x86, 0xF4, 0x21, 0xFF, 0xFB, 0x62, 0xD7, 0xF4, + 0xBF, 0x00, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, + 0x9B, 0x02, 0x0E, 0xA9, 0xA9, 0x0F, 0x00, 0x00, 0x4E, 0x41, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, + 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, + 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, + 0x61, 0x75, 0x74, 0x68, 0x2F, 0x74, 0x6F, 0x6B, 0x65, 0x6E, 0x2D, 0x76, 0x65, 0x72, 0x69, 0x66, + 0x69, 0x65, 0x72, 0x2E, 0x6A, 0x73, 0xD5, 0x5B, 0xEB, 0x57, 0xDB, 0x36, 0x14, 0xFF, 0xCE, 0x5F, + 0xA1, 0xE6, 0xC3, 0x9C, 0xB4, 0xC1, 0xA1, 0xDD, 0xE3, 0x6C, 0x65, 0x6C, 0xCB, 0x20, 0xED, 0xB2, + 0x02, 0xE9, 0x21, 0x74, 0xDD, 0x4E, 0xD7, 0x93, 0x63, 0x6C, 0x25, 0xF1, 0x70, 0xAC, 0xCC, 0x76, + 0x48, 0xD9, 0xC6, 0xFF, 0xBE, 0xDF, 0x95, 0x64, 0xCB, 0x4F, 0x08, 0xB0, 0xD2, 0x33, 0x3E, 0x90, + 0xC4, 0xBA, 0xBE, 0x4F, 0xDD, 0x87, 0xAE, 0xA4, 0xDE, 0xE3, 0x47, 0x6C, 0xEA, 0x47, 0xFC, 0xCC, + 0x89, 0xF9, 0xB6, 0xE3, 0x2D, 0xFC, 0x90, 0x5D, 0x7C, 0x63, 0x7F, 0x61, 0x3F, 0x63, 0x8F, 0x7B, + 0x5B, 0xAD, 0x55, 0xCC, 0x59, 0x9C, 0x44, 0xBE, 0x9B, 0xB4, 0x76, 0xB7, 0x00, 0xBA, 0xC5, 0x1E, + 0xB3, 0x7D, 0xB1, 0xBC, 0x8C, 0xFC, 0xD9, 0x3C, 0x61, 0xCF, 0x76, 0x9E, 0x7E, 0xCD, 0x5E, 0x0A, + 0x31, 0x0B, 0x38, 0x1B, 0x86, 0xAE, 0x8D, 0x51, 0x02, 0x38, 0xF4, 0x5D, 0x1E, 0xC6, 0xDC, 0x63, + 0xAB, 0xD0, 0xE3, 0x11, 0x4B, 0xE6, 0x9C, 0xF5, 0x97, 0x8E, 0x8B, 0x0F, 0x3D, 0xD2, 0x65, 0xBF, + 0xF0, 0x28, 0xF6, 0x45, 0xC8, 0x9E, 0xD9, 0x3B, 0xAC, 0x4D, 0x00, 0x2D, 0x3D, 0xD4, 0xEA, 0xEC, + 0x12, 0x8A, 0x4B, 0xB1, 0x62, 0x0B, 0xE7, 0x92, 0x85, 0x22, 0x61, 0xE0, 0x01, 0x38, 0xFC, 0x18, + 0x6C, 0x82, 0x0E, 0xFF, 0xE0, 0xF2, 0x65, 0xC2, 0xC0, 0xA6, 0x2B, 0x16, 0xCB, 0xC0, 0x77, 0x42, + 0x97, 0xB3, 0xB5, 0x9F, 0xCC, 0x01, 0x93, 0x11, 0xB0, 0x09, 0xC7, 0x6F, 0x1A, 0x87, 0x38, 0x4B, + 0x1C, 0x80, 0x3B, 0x78, 0x61, 0x89, 0x5F, 0xD3, 0x3C, 0x20, 0x73, 0x12, 0xCD, 0x34, 0x63, 0xF3, + 0x24, 0x59, 0x3E, 0xEF, 0xF5, 0xD6, 0xEB, 0xB5, 0xED, 0x48, 0x76, 0x6D, 0x11, 0xCD, 0x7A, 0x81, + 0x02, 0x8C, 0x7B, 0x87, 0xC3, 0xFD, 0xC1, 0xF1, 0x78, 0xB0, 0x0D, 0x96, 0xF5, 0x2B, 0x6F, 0xC2, + 0x80, 0xC7, 0x31, 0x8B, 0xF8, 0x9F, 0x2B, 0x3F, 0x82, 0xB8, 0x67, 0x97, 0xCC, 0x59, 0x2E, 0xF1, + 0x82, 0x73, 0x06, 0x46, 0x03, 0x67, 0xCD, 0x44, 0xC4, 0x9C, 0x59, 0xC4, 0x31, 0x96, 0x08, 0x62, + 0x79, 0x1D, 0xF9, 0x89, 0x1F, 0xCE, 0xBA, 0x2C, 0x16, 0xD3, 0x64, 0xED, 0x44, 0x9C, 0xD0, 0x78, + 0x3E, 0x69, 0xF8, 0x6C, 0x95, 0xA4, 0x1A, 0x2B, 0x30, 0xE8, 0xC7, 0x05, 0x00, 0x01, 0x41, 0x42, + 0xD6, 0xEA, 0x8F, 0xD9, 0x70, 0xDC, 0x62, 0x3F, 0xF6, 0xC7, 0xC3, 0x71, 0x97, 0x90, 0xBC, 0x1D, + 0x9E, 0xFE, 0x34, 0x7A, 0x73, 0xCA, 0xDE, 0xF6, 0x4F, 0x4E, 0xFA, 0xC7, 0xA7, 0xC3, 0xC1, 0x98, + 0x8D, 0x4E, 0xD8, 0xFE, 0xE8, 0xF8, 0x60, 0x78, 0x3A, 0x1C, 0x1D, 0xE3, 0xD7, 0x0B, 0xD6, 0x3F, + 0xFE, 0x8D, 0xBD, 0x1A, 0x1E, 0x1F, 0x74, 0x19, 0xF7, 0x41, 0x22, 0x82, 0x2E, 0x97, 0x11, 0x24, + 0x20, 0x36, 0x7D, 0xD2, 0x25, 0xF7, 0xA4, 0xE2, 0xC6, 0x9C, 0x17, 0x58, 0x98, 0x0A, 0xC5, 0x52, + 0xBC, 0xE4, 0xAE, 0x3F, 0xF5, 0x5D, 0x88, 0x16, 0xCE, 0x56, 0xCE, 0x8C, 0xB3, 0x99, 0xB8, 0xE0, + 0x51, 0x08, 0x89, 0xD8, 0x92, 0x47, 0x0B, 0x3F, 0x26, 0x9B, 0xC6, 0x60, 0xD0, 0x23, 0x34, 0x81, + 0xBF, 0xF0, 0x13, 0x27, 0xA1, 0x47, 0x55, 0xB9, 0x88, 0x50, 0x6F, 0x6B, 0x74, 0xF6, 0x07, 0x77, + 0x13, 0xDB, 0xE3, 0x53, 0x3F, 0xE4, 0xAF, 0x23, 0x01, 0x2C, 0xC9, 0x65, 0x1B, 0x6C, 0x89, 0x28, + 0x89, 0xBB, 0xAC, 0x35, 0x99, 0xF0, 0xF8, 0x48, 0x78, 0xAB, 0x80, 0xB7, 0xBA, 0xEC, 0x6F, 0x76, + 0xE1, 0x04, 0x2B, 0xFE, 0x9C, 0x25, 0xD1, 0x8A, 0xB3, 0x2B, 0x4C, 0x14, 0x0D, 0x68, 0xBB, 0x11, + 0x77, 0x12, 0x3E, 0xE6, 0x92, 0xFE, 0xBE, 0x10, 0xE7, 0x3E, 0xC7, 0x04, 0x03, 0xAB, 0xA0, 0xB9, + 0xC7, 0x8A, 0x50, 0x43, 0xEF, 0x54, 0x9C, 0xF3, 0xB0, 0x66, 0xFC, 0x85, 0xF6, 0x82, 0xA6, 0xF1, + 0xF1, 0x60, 0x3C, 0x86, 0x2A, 0x27, 0xFB, 0xA3, 0xD1, 0xAB, 0xE1, 0x60, 0x32, 0x3C, 0x7E, 0x31, + 0xCA, 0x8D, 0x0E, 0x0F, 0x26, 0xA7, 0xA3, 0x57, 0x83, 0xE3, 0xF2, 0xF3, 0xFE, 0xE1, 0xCB, 0xD1, + 0x09, 0x8C, 0x73, 0x34, 0x39, 0x19, 0x3F, 0xFB, 0xF2, 0x2B, 0x8C, 0x5C, 0x08, 0xDF, 0x63, 0x3B, + 0xBB, 0x5B, 0x17, 0x0E, 0x2C, 0x10, 0x45, 0x22, 0x9A, 0x3C, 0xC5, 0x53, 0x3D, 0x8B, 0xDA, 0x2D, + 0xDB, 0xEE, 0xAD, 0x12, 0x3F, 0x88, 0x7B, 0x72, 0xAC, 0xD5, 0x51, 0x80, 0xF4, 0xA8, 0x16, 0xCA, + 0x87, 0x66, 0x3F, 0x68, 0x28, 0x52, 0x90, 0xEF, 0x39, 0x89, 0x88, 0x6A, 0x41, 0xB3, 0xD1, 0x14, + 0xFC, 0x8F, 0x75, 0x92, 0x07, 0xFC, 0x23, 0x16, 0xE1, 0x9A, 0x9F, 0x25, 0x24, 0x7F, 0x0A, 0xE2, + 0x2C, 0xFD, 0x09, 0x01, 0xF0, 0x38, 0x69, 0x60, 0x13, 0x10, 0xDB, 0x1A, 0x82, 0x5E, 0xEA, 0xF5, + 0x58, 0x7F, 0xE5, 0xF9, 0x1C, 0x6E, 0x49, 0x93, 0x7E, 0xA5, 0xE7, 0x4F, 0xAA, 0x5C, 0x0C, 0xC2, + 0x55, 0xF7, 0x57, 0x71, 0x22, 0x16, 0x4C, 0x52, 0x8A, 0x25, 0x9D, 0x17, 0xC3, 0x93, 0x01, 0x66, + 0xF3, 0x60, 0xD2, 0x7F, 0x73, 0x30, 0x1C, 0x1C, 0xEF, 0x0F, 0x40, 0xCB, 0x22, 0x8F, 0x8C, 0xE1, + 0x92, 0xBE, 0xC7, 0xC3, 0xC4, 0x4F, 0x2E, 0x13, 0x21, 0x82, 0x73, 0x3F, 0xB1, 0x67, 0x32, 0xE4, + 0x80, 0x30, 0x8C, 0x2A, 0x16, 0x3D, 0xF5, 0xD3, 0x4E, 0xA1, 0xEC, 0x32, 0xF8, 0xC5, 0x53, 0x7B, + 0xA8, 0x1F, 0x9D, 0xAA, 0x47, 0xD6, 0xEE, 0x56, 0xB3, 0x7D, 0x2C, 0xF9, 0xC5, 0x92, 0xA2, 0xBC, + 0x39, 0x39, 0x44, 0xD8, 0x08, 0x11, 0x40, 0x68, 0x96, 0xCB, 0x09, 0xBC, 0x5C, 0x9D, 0x05, 0xF0, + 0x81, 0x73, 0x7E, 0x19, 0xA7, 0x9E, 0x91, 0xC6, 0x40, 0x97, 0x03, 0x23, 0x6B, 0xAF, 0xE7, 0x22, + 0x06, 0x5C, 0xE4, 0x5F, 0x60, 0xBE, 0x29, 0x40, 0xB8, 0x3A, 0x54, 0xA1, 0xE2, 0x40, 0xEC, 0xCF, + 0xC2, 0x4C, 0x1F, 0x20, 0xA2, 0x54, 0x32, 0x3C, 0xD0, 0xEA, 0xE8, 0x48, 0x7D, 0xEC, 0x1F, 0x42, + 0x0B, 0xA7, 0x93, 0xFD, 0xC1, 0xC9, 0xE9, 0x04, 0x4C, 0x64, 0xDA, 0x50, 0x01, 0xAA, 0xAC, 0x81, + 0x48, 0x9C, 0x89, 0xA4, 0x77, 0xF1, 0xB4, 0xB7, 0xE0, 0x89, 0x03, 0x13, 0x3B, 0xBD, 0x0F, 0x5F, + 0xEE, 0x7C, 0xD3, 0x8B, 0xB9, 0xBB, 0x8A, 0xB8, 0x44, 0xFB, 0x43, 0x7C, 0x19, 0x27, 0x7C, 0x61, + 0xCF, 0x62, 0x1E, 0x5D, 0xC0, 0x05, 0x1D, 0xD7, 0x15, 0xAB, 0x30, 0xA1, 0xB7, 0x37, 0x96, 0x34, + 0xB3, 0x61, 0xAC, 0x3C, 0x0D, 0xF0, 0xE4, 0x6A, 0xB1, 0xCD, 0x4E, 0x29, 0x3C, 0xAF, 0xFD, 0x20, + 0x60, 0x67, 0x90, 0x73, 0x09, 0x0E, 0x94, 0xA8, 0x0E, 0x62, 0xD7, 0x74, 0xCA, 0x23, 0x28, 0x5F, + 0x12, 0x88, 0x85, 0x08, 0x6D, 0x29, 0x5F, 0xD1, 0x99, 0x36, 0x95, 0xB3, 0x68, 0x59, 0x48, 0xFC, + 0x79, 0x2F, 0xE2, 0xC1, 0x25, 0x18, 0x5E, 0x3A, 0x88, 0x1C, 0x3D, 0xC5, 0xF1, 0x2B, 0x30, 0x4C, + 0x42, 0x3D, 0x46, 0x88, 0x86, 0xB8, 0x6C, 0xEA, 0xB8, 0x80, 0x50, 0xEA, 0x45, 0x14, 0x86, 0x28, + 0x0B, 0x19, 0x96, 0x18, 0xDE, 0xD5, 0x9C, 0x92, 0xBC, 0x99, 0x7C, 0x99, 0x2D, 0x6C, 0x8A, 0x51, + 0x4D, 0x0E, 0xFE, 0xF7, 0x16, 0xC3, 0xDF, 0x2A, 0x0A, 0x9E, 0x1B, 0x96, 0xD3, 0x44, 0xAA, 0xF9, + 0x96, 0x3C, 0x7B, 0xC2, 0x85, 0x93, 0xC0, 0xC4, 0x3D, 0x99, 0x5D, 0x7B, 0x17, 0x14, 0x59, 0x2E, + 0xB7, 0x7D, 0x6F, 0x5B, 0xD9, 0xDB, 0xEA, 0x4A, 0x44, 0xEA, 0x71, 0x7F, 0xE9, 0x1F, 0x3B, 0x0B, + 0x0E, 0x94, 0xEA, 0xB7, 0x8E, 0x56, 0xED, 0x8E, 0x82, 0x22, 0x8F, 0xD5, 0xE3, 0x15, 0x66, 0x35, + 0x44, 0x3C, 0x17, 0x51, 0x0A, 0x53, 0x1A, 0x82, 0x24, 0x94, 0xA7, 0x06, 0x14, 0x57, 0xF6, 0x85, + 0x07, 0x08, 0x1D, 0x7E, 0x6C, 0x9A, 0x81, 0xFB, 0x81, 0x0F, 0xE5, 0x66, 0x83, 0x46, 0xDE, 0xC1, + 0xAF, 0xAF, 0xE1, 0x9C, 0x07, 0xDD, 0xAD, 0xAB, 0xFB, 0xE8, 0xB4, 0x38, 0x67, 0x32, 0xCD, 0x56, + 0x03, 0xEB, 0x7D, 0xF5, 0xBB, 0x70, 0x42, 0xA4, 0xA6, 0x6D, 0x45, 0xE7, 0x7A, 0xED, 0x16, 0x32, + 0x46, 0x93, 0x8E, 0xAB, 0xCC, 0xD7, 0x68, 0xBA, 0x08, 0x70, 0x27, 0x7D, 0x17, 0xB5, 0x50, 0xD6, + 0xBA, 0x2C, 0xBC, 0x02, 0x27, 0x96, 0x9E, 0xA8, 0xC5, 0x21, 0x03, 0xCC, 0x78, 0xC8, 0x23, 0x27, + 0x80, 0xAF, 0x46, 0x4B, 0x11, 0xE7, 0xF4, 0xFD, 0xF3, 0xDB, 0x53, 0xED, 0x98, 0x0A, 0x1A, 0xBA, + 0x48, 0xA7, 0x8A, 0x4A, 0xD1, 0x65, 0x2F, 0x96, 0x19, 0x59, 0xFA, 0x66, 0x53, 0x22, 0x24, 0xE3, + 0xFF, 0xE0, 0x12, 0x13, 0x80, 0x64, 0xED, 0xE9, 0x2A, 0x74, 0xA5, 0xC9, 0xDB, 0x1D, 0x6D, 0xAC, + 0xF4, 0x49, 0x3D, 0x86, 0xB6, 0x2B, 0x25, 0xDE, 0x47, 0x90, 0x7C, 0x13, 0x05, 0x5D, 0xE6, 0x04, + 0x33, 0x11, 0xA1, 0x10, 0x59, 0x74, 0x19, 0x2A, 0x87, 0x15, 0x8F, 0xBA, 0x8A, 0xBB, 0x21, 0x66, + 0x53, 0x97, 0x2A, 0x29, 0x89, 0x56, 0xFD, 0xC9, 0x02, 0xD0, 0x2E, 0x20, 0x00, 0x43, 0x85, 0xDF, + 0xBB, 0x45, 0xD8, 0x0C, 0x3B, 0xE0, 0xB2, 0xEF, 0x25, 0x18, 0x45, 0x16, 0x00, 0xEA, 0x4B, 0x69, + 0x34, 0x63, 0x06, 0x00, 0xD9, 0xF7, 0x12, 0x0C, 0xB8, 0xC4, 0x28, 0xFE, 0x9B, 0xE7, 0xFE, 0x94, + 0xB5, 0x1F, 0x65, 0xA9, 0x16, 0x34, 0x10, 0xD6, 0x8A, 0xA2, 0x77, 0x52, 0xC1, 0x0C, 0xAA, 0x48, + 0xAC, 0x59, 0xC8, 0xD7, 0xD9, 0x04, 0x49, 0x15, 0x48, 0x13, 0x45, 0x4E, 0x91, 0xF6, 0xB5, 0xAE, + 0x7A, 0xFC, 0x4B, 0xFF, 0x10, 0xFE, 0xDA, 0x3F, 0x79, 0xF9, 0xE6, 0x08, 0x69, 0xA3, 0xCB, 0xAC, + 0xD3, 0x39, 0x65, 0x20, 0x71, 0x81, 0x88, 0xE9, 0xA5, 0x81, 0x5C, 0x31, 0x21, 0xB3, 0x14, 0x95, + 0x71, 0x70, 0x53, 0x19, 0x94, 0x7D, 0x4C, 0x07, 0xF2, 0x61, 0xC9, 0x33, 0x3D, 0xB1, 0xAD, 0x8E, + 0x11, 0xE7, 0x2A, 0xFB, 0xC6, 0x83, 0x98, 0x57, 0xA5, 0x3B, 0x16, 0xE1, 0x60, 0xB1, 0x4C, 0x2E, + 0xC7, 0x49, 0x84, 0xF9, 0xD8, 0xCE, 0x54, 0xFD, 0xE0, 0x42, 0x62, 0xC2, 0x1B, 0x43, 0x6B, 0xA1, + 0x38, 0x71, 0xC6, 0x62, 0xC9, 0xDA, 0xAD, 0xA4, 0x22, 0x9B, 0xA9, 0x49, 0xF1, 0x49, 0xE4, 0x50, + 0xA4, 0xEF, 0x6F, 0x99, 0xE3, 0x55, 0x10, 0xA8, 0x1A, 0xBB, 0x9D, 0xCD, 0xE0, 0x4F, 0x23, 0x90, + 0xC9, 0x10, 0x90, 0x8A, 0x96, 0x75, 0x24, 0x99, 0x90, 0xAC, 0xD1, 0xF2, 0x23, 0x04, 0xA3, 0xB7, + 0x12, 0x0E, 0xCA, 0x30, 0x22, 0xD9, 0xAB, 0x4F, 0xE0, 0x54, 0x10, 0x4B, 0x47, 0x56, 0x57, 0xC9, + 0x85, 0x44, 0xB4, 0x5A, 0x00, 0x85, 0xFC, 0xA5, 0x3D, 0x2B, 0x35, 0xDE, 0xAD, 0x64, 0x2B, 0xB9, + 0x94, 0x11, 0xB3, 0x90, 0xC5, 0x1E, 0x4A, 0xE0, 0x4C, 0xCE, 0x4B, 0xD6, 0x7F, 0x3D, 0x64, 0x21, + 0x48, 0xB3, 0x05, 0xEA, 0x77, 0x2A, 0xF5, 0x1C, 0x58, 0x32, 0xDC, 0xBE, 0xB3, 0x97, 0x35, 0x0A, + 0x8A, 0x14, 0xFC, 0xD0, 0x22, 0xEA, 0x18, 0x39, 0xC5, 0x44, 0x7C, 0x18, 0x19, 0xA9, 0x7C, 0xF8, + 0x54, 0x52, 0x4A, 0xDA, 0xFF, 0xB5, 0x98, 0x75, 0xC1, 0xC6, 0x2E, 0xD7, 0x40, 0x1D, 0xF6, 0xCF, + 0x3F, 0xEC, 0x51, 0xDB, 0x72, 0xF1, 0xDD, 0xA2, 0x96, 0x48, 0x23, 0xE8, 0x83, 0xEA, 0x45, 0xD2, + 0x96, 0x8E, 0xAB, 0x70, 0x33, 0xF0, 0x57, 0xD6, 0x4D, 0x48, 0x53, 0x43, 0x62, 0x23, 0x76, 0x75, + 0xF0, 0xAA, 0x28, 0xC9, 0x14, 0x07, 0xC6, 0xC2, 0x7D, 0x24, 0x5C, 0x37, 0xE0, 0xF9, 0x3A, 0xC2, + 0x0C, 0xDA, 0xEE, 0xDC, 0x89, 0xFA, 0x49, 0x7B, 0xA7, 0x63, 0x23, 0x40, 0xBA, 0xF3, 0x76, 0xEF, + 0x9D, 0xC3, 0x7D, 0xB1, 0x7A, 0xDF, 0xF3, 0x3B, 0xEC, 0x7B, 0x66, 0x39, 0xA1, 0xC5, 0x9E, 0xE3, + 0xC3, 0x32, 0x74, 0xB0, 0x5C, 0x7B, 0x01, 0x1E, 0xCF, 0x1C, 0xF7, 0x1C, 0x4D, 0x24, 0x4F, 0x76, + 0xC2, 0xC0, 0xFC, 0x99, 0x1F, 0x60, 0x6D, 0x84, 0x2A, 0x4A, 0x85, 0x29, 0x19, 0x5B, 0x87, 0x07, + 0x14, 0x85, 0xB4, 0xA5, 0xB8, 0x07, 0x8D, 0xD3, 0x70, 0x31, 0x70, 0xB9, 0x0E, 0x82, 0xEF, 0x96, + 0x11, 0x40, 0x96, 0x9B, 0xF4, 0xF7, 0x98, 0xFD, 0xA2, 0x4B, 0x47, 0xF9, 0x92, 0x0A, 0xE1, 0x54, + 0x3B, 0xCA, 0x35, 0xAC, 0x93, 0x60, 0x71, 0x49, 0xFD, 0x34, 0xA7, 0xB8, 0xBA, 0x27, 0x85, 0xEA, + 0xF5, 0x93, 0x42, 0x93, 0x61, 0xFB, 0x01, 0xAB, 0x34, 0x67, 0xC1, 0xFE, 0x56, 0xF3, 0xEB, 0x8A, + 0x2A, 0xED, 0x53, 0xB9, 0x80, 0x80, 0x19, 0x9A, 0x70, 0xE0, 0xBF, 0x0E, 0x3F, 0x76, 0x86, 0x26, + 0xE2, 0x20, 0x1D, 0xB2, 0xBF, 0xD1, 0x31, 0x42, 0xD3, 0x89, 0x7F, 0x7B, 0xC0, 0xC9, 0x5C, 0x9E, + 0x5E, 0x2C, 0x7D, 0x77, 0xC5, 0xFA, 0x6C, 0xA9, 0x86, 0xC8, 0x9F, 0xA7, 0x58, 0x97, 0x72, 0xCF, + 0xF4, 0x08, 0x3D, 0x05, 0xCD, 0x50, 0xC9, 0xFA, 0x8B, 0x58, 0x36, 0x04, 0x2B, 0xE4, 0x87, 0x07, + 0x29, 0xB1, 0xC6, 0xBF, 0xA2, 0x88, 0x3D, 0xFA, 0xAC, 0xAF, 0x7B, 0x6D, 0xF0, 0x92, 0x88, 0xE4, + 0x72, 0xC9, 0x75, 0x00, 0x27, 0xD9, 0xF6, 0x98, 0x29, 0x9F, 0x53, 0x35, 0xE4, 0xE7, 0x3B, 0xD5, + 0xE1, 0x13, 0x9A, 0x45, 0x80, 0xA4, 0x8F, 0x6B, 0xEA, 0x4B, 0x15, 0x59, 0x32, 0x2C, 0x0F, 0xE0, + 0x36, 0x2D, 0x20, 0x88, 0x31, 0x11, 0xA2, 0x99, 0x4C, 0x78, 0x64, 0xA2, 0x16, 0x7B, 0xA2, 0x26, + 0x7D, 0x43, 0xB6, 0xC2, 0x70, 0xCB, 0xF8, 0x53, 0x1D, 0x38, 0xF8, 0x4F, 0x01, 0xD3, 0x00, 0xD4, + 0xAA, 0xF5, 0x2D, 0x65, 0x7D, 0xD9, 0x11, 0xB3, 0xA7, 0x68, 0x7F, 0xBD, 0x56, 0x53, 0x7D, 0xE8, + 0xB5, 0xD3, 0x92, 0xBC, 0x53, 0x90, 0xDF, 0x86, 0x79, 0xC3, 0xDC, 0x6A, 0x65, 0x99, 0xC2, 0xA7, + 0x8A, 0x2A, 0x22, 0x56, 0x6A, 0x37, 0xA6, 0x7A, 0x8B, 0x79, 0x93, 0x91, 0xC8, 0xB4, 0xDC, 0x65, + 0x19, 0x9A, 0x3C, 0x93, 0xFA, 0xFB, 0xD5, 0x6E, 0xD9, 0x91, 0x46, 0xC0, 0x17, 0xF9, 0x9E, 0x6A, + 0xAC, 0x02, 0xAB, 0xF4, 0x20, 0xC8, 0x68, 0x4A, 0x56, 0xBB, 0xE8, 0x25, 0x66, 0x80, 0x5E, 0x21, + 0xF3, 0x55, 0x5F, 0xB9, 0xDD, 0xE4, 0x8B, 0x79, 0xD2, 0x4F, 0xDF, 0x2C, 0xCC, 0xBF, 0x0C, 0x1F, + 0x14, 0xB2, 0xF1, 0x22, 0xEA, 0x6A, 0x77, 0x23, 0xA2, 0xF5, 0x6A, 0xCC, 0x93, 0xAF, 0x53, 0xE9, + 0x1D, 0x3D, 0xA1, 0x94, 0x6B, 0x33, 0x74, 0x1F, 0xCD, 0x25, 0xF6, 0xB1, 0x42, 0x87, 0x47, 0x0C, + 0xFB, 0x87, 0xC8, 0x25, 0x47, 0x34, 0xBB, 0xFD, 0x10, 0x1D, 0x7E, 0xB0, 0xF4, 0x17, 0xA7, 0x55, + 0xA1, 0x0A, 0x3A, 0x8E, 0x5C, 0x72, 0x31, 0xF4, 0x9F, 0xD1, 0xBE, 0xA2, 0x51, 0xAA, 0x78, 0x61, + 0x0D, 0xDA, 0xE5, 0xC8, 0x56, 0xDB, 0x85, 0x90, 0xED, 0xA8, 0x80, 0x6B, 0xB1, 0x27, 0x9A, 0x6D, + 0xF3, 0xD7, 0x6E, 0xBD, 0x1C, 0x8D, 0x5E, 0x1E, 0xA2, 0x65, 0x76, 0x38, 0x7A, 0x73, 0x30, 0x79, + 0x7D, 0x32, 0xFA, 0x79, 0xB0, 0x8F, 0x04, 0x16, 0x5E, 0xF8, 0x91, 0x08, 0xC9, 0x1D, 0x49, 0x63, + 0xBE, 0xDC, 0x82, 0x48, 0x84, 0x8C, 0xED, 0x1B, 0x39, 0x27, 0x9C, 0xAD, 0xCE, 0xDB, 0x08, 0x99, + 0x2C, 0x8A, 0x74, 0x8C, 0x55, 0xF1, 0x7A, 0x8F, 0x42, 0xB7, 0xAD, 0x02, 0xA9, 0xB1, 0x5F, 0x51, + 0xC9, 0x6A, 0x7F, 0x86, 0x27, 0xBA, 0x61, 0xDF, 0x2D, 0x39, 0x89, 0xC1, 0x3E, 0xE7, 0x8E, 0x47, + 0xAB, 0xF0, 0x2A, 0x99, 0xCF, 0x3E, 0xAB, 0x3C, 0xB3, 0x15, 0x74, 0x11, 0xC3, 0xD2, 0xB9, 0x0C, + 0x84, 0xE3, 0x6D, 0x8A, 0x42, 0x83, 0x17, 0x70, 0x98, 0xB9, 0x77, 0x44, 0x49, 0xF8, 0x08, 0xBD, + 0x11, 0xDA, 0xE0, 0xD8, 0x83, 0xEE, 0x8E, 0x9C, 0x73, 0x74, 0x80, 0x56, 0x91, 0xF4, 0x5D, 0xA3, + 0xCB, 0x52, 0x2A, 0x4F, 0xF5, 0x48, 0x62, 0x23, 0x5F, 0x4E, 0x91, 0x7F, 0xD4, 0xA6, 0x09, 0x3D, + 0x6F, 0x95, 0x0C, 0x69, 0x95, 0x8D, 0x9E, 0x5A, 0x5C, 0x77, 0x67, 0x99, 0x6E, 0xCF, 0x66, 0x3D, + 0x63, 0xEA, 0x6F, 0xC1, 0xB4, 0x6A, 0xD1, 0x2E, 0x9D, 0x61, 0x7C, 0xF0, 0xCA, 0xB6, 0x8A, 0x22, + 0x68, 0x5F, 0xD3, 0xE6, 0x38, 0x40, 0x5F, 0x2C, 0x2F, 0xC6, 0x98, 0x17, 0x99, 0x37, 0x4B, 0x27, + 0x62, 0xBB, 0xC2, 0x62, 0xBB, 0x45, 0x8D, 0x26, 0x0F, 0xFD, 0x64, 0x34, 0xF9, 0x69, 0xDB, 0x69, + 0x2E, 0xD6, 0xC4, 0x49, 0xC4, 0xE1, 0x5C, 0xFC, 0x22, 0xC3, 0x55, 0x2D, 0x73, 0x08, 0xDD, 0x8D, + 0x6A, 0x2A, 0xC4, 0xF6, 0x6C, 0x27, 0x44, 0xF3, 0x5B, 0x72, 0xF1, 0xB2, 0x01, 0x4B, 0xDE, 0xAC, + 0x5F, 0x35, 0xA2, 0x4A, 0x58, 0x04, 0x80, 0x9B, 0xB2, 0xCC, 0x14, 0xA2, 0x61, 0xCB, 0xCB, 0x18, + 0x98, 0x1C, 0x12, 0x93, 0x29, 0x86, 0xD2, 0xA5, 0x35, 0x48, 0xE3, 0x78, 0xAA, 0xB2, 0x91, 0x8C, + 0xDA, 0xAD, 0x5A, 0x8F, 0x5C, 0xCF, 0x7D, 0x77, 0x0E, 0xCD, 0xD0, 0x6E, 0x1A, 0xDE, 0x89, 0xEF, + 0xAF, 0x1B, 0x7C, 0x34, 0x5A, 0xF3, 0xDA, 0xA2, 0x9C, 0x82, 0xAE, 0x98, 0x6A, 0x9F, 0xB2, 0xCF, + 0x7D, 0x38, 0xC5, 0x1E, 0x7A, 0xEA, 0xAB, 0x50, 0xED, 0xB1, 0x79, 0x16, 0x3C, 0xA2, 0x1C, 0xDB, + 0x1F, 0x11, 0x04, 0x2A, 0x5C, 0x6E, 0x19, 0xCD, 0x1A, 0xC3, 0xF8, 0xB1, 0xDA, 0xAD, 0x49, 0x3D, + 0xBF, 0xAD, 0xDD, 0xC7, 0x76, 0x56, 0x12, 0x79, 0x75, 0xEB, 0xA6, 0xB3, 0x5B, 0x83, 0xE4, 0x90, + 0xCF, 0x1C, 0xF7, 0xB2, 0x84, 0x4A, 0xB1, 0x49, 0xAC, 0x28, 0x36, 0x7F, 0xA2, 0x9D, 0x17, 0xC9, + 0x62, 0x4A, 0xE4, 0x42, 0x0E, 0xEC, 0xD0, 0x23, 0xCB, 0xA3, 0x05, 0x43, 0x3A, 0x22, 0x9F, 0xAC, + 0xFC, 0xC2, 0x33, 0xDB, 0xE4, 0x62, 0x33, 0x7D, 0x0A, 0xFC, 0xA7, 0x02, 0x36, 0x4F, 0x9F, 0x1B, + 0x03, 0x25, 0xAD, 0x15, 0xB8, 0xBB, 0x89, 0x91, 0x25, 0xA5, 0xCA, 0x6C, 0xB9, 0xCE, 0xF2, 0x5D, + 0x86, 0x5D, 0x5E, 0xB6, 0x46, 0x30, 0x98, 0xF9, 0x17, 0x5C, 0xEE, 0x59, 0xE7, 0x76, 0xCA, 0x32, + 0x9F, 0x29, 0xDA, 0xBF, 0x32, 0x07, 0x52, 0x65, 0xFF, 0x9F, 0xE5, 0x0E, 0xA4, 0x04, 0xB7, 0x16, + 0xFF, 0x46, 0x29, 0xAB, 0xFB, 0x26, 0x6C, 0x0E, 0xB2, 0x21, 0x2A, 0x58, 0x38, 0x4B, 0x4B, 0x2D, + 0x0A, 0x6C, 0xAB, 0x4C, 0xA8, 0x11, 0xE3, 0x93, 0xBD, 0x3B, 0x3A, 0xAA, 0x99, 0xFA, 0xE4, 0x7F, + 0x25, 0x97, 0x24, 0x73, 0x6D, 0x6E, 0xAA, 0x5C, 0x4C, 0x93, 0xC2, 0xF8, 0xA1, 0x2B, 0xA2, 0x08, + 0xB6, 0xCA, 0x55, 0x8A, 0x6C, 0x20, 0xAD, 0x87, 0xC0, 0xF6, 0x7B, 0x2B, 0x33, 0x60, 0x36, 0x8C, + 0x07, 0x56, 0x4B, 0xDA, 0x60, 0x26, 0x92, 0xBA, 0xB2, 0x03, 0xC3, 0x78, 0xCA, 0x0C, 0xD3, 0xF2, + 0x0D, 0xDB, 0xBA, 0x73, 0x9C, 0xCA, 0x05, 0x11, 0x92, 0xDF, 0xA4, 0xDF, 0xFF, 0x4A, 0xF4, 0xDF, + 0x5B, 0x40, 0xFD, 0x7B, 0x0B, 0xD5, 0xAD, 0xDE, 0x8D, 0xEE, 0x48, 0xDB, 0x96, 0x34, 0x51, 0x95, + 0xD4, 0x70, 0x52, 0x54, 0x8A, 0x94, 0x3F, 0xC7, 0x75, 0xA6, 0x80, 0xFA, 0xCA, 0xA1, 0x8A, 0xF8, + 0x9E, 0x8A, 0x42, 0x4B, 0x98, 0x14, 0x55, 0xD8, 0xB8, 0x78, 0xF2, 0x31, 0xD4, 0x06, 0xDC, 0xA4, + 0x36, 0x45, 0xA2, 0xA2, 0xB4, 0x86, 0x0C, 0x28, 0x55, 0x59, 0xE2, 0x0D, 0x0F, 0x29, 0x91, 0x5D, + 0xA3, 0xD0, 0x2A, 0xA6, 0x9C, 0xB4, 0x37, 0x2A, 0xF8, 0x8E, 0x0A, 0x55, 0x19, 0x32, 0xA3, 0x14, + 0xAF, 0xCE, 0x54, 0x02, 0x54, 0x59, 0xDE, 0xBA, 0x9F, 0x22, 0x43, 0x01, 0x0D, 0x02, 0x25, 0x69, + 0x10, 0x1F, 0xC4, 0x76, 0xAA, 0xC2, 0xD6, 0x9D, 0x39, 0xCE, 0xB1, 0xAA, 0xD2, 0xE4, 0x3D, 0x99, + 0x2C, 0x6D, 0x8C, 0x7C, 0x5C, 0x8E, 0xED, 0x80, 0x87, 0x33, 0x2C, 0x82, 0xBE, 0x63, 0x4F, 0x9F, + 0x7D, 0x7D, 0x3F, 0xBE, 0x1B, 0xF8, 0x64, 0x81, 0x08, 0x67, 0xF2, 0x74, 0x91, 0x13, 0x12, 0x11, + 0x46, 0x0D, 0x35, 0x07, 0x93, 0x35, 0x8A, 0xED, 0xD6, 0x7D, 0xFD, 0x90, 0xA4, 0xC9, 0x73, 0xD9, + 0xD0, 0x33, 0xD0, 0x9D, 0x28, 0x3B, 0xE2, 0xB2, 0xFF, 0x79, 0xFF, 0x95, 0xA5, 0x69, 0xB6, 0xE4, + 0xA9, 0x97, 0x96, 0x68, 0xA6, 0x1D, 0xF8, 0x76, 0xCE, 0x65, 0x63, 0xAF, 0xB0, 0x03, 0x26, 0xD7, + 0x98, 0x89, 0xD0, 0xB5, 0x1D, 0x0D, 0x47, 0x3C, 0x3B, 0xA5, 0x11, 0x0A, 0xD3, 0xC4, 0xA3, 0x96, + 0x9E, 0x1A, 0x9E, 0x0A, 0x02, 0xE1, 0xD8, 0xCB, 0x08, 0xAD, 0x04, 0x8A, 0xE4, 0xEE, 0x79, 0x8E, + 0x4C, 0xF9, 0x54, 0x88, 0x5D, 0x50, 0x53, 0xB9, 0x63, 0x90, 0x55, 0x95, 0x0D, 0x3A, 0x93, 0xF0, + 0x99, 0x31, 0xC6, 0x29, 0x33, 0xD4, 0x28, 0xC0, 0x09, 0x0E, 0xB3, 0xAC, 0x94, 0x9B, 0x43, 0x25, + 0xC1, 0xAB, 0x88, 0xA6, 0x1C, 0xB1, 0xE1, 0x75, 0x76, 0xFE, 0xA3, 0xDD, 0xA9, 0xB4, 0x7D, 0xB2, + 0xB1, 0x94, 0x9F, 0xC2, 0x22, 0x43, 0x75, 0xAE, 0x73, 0x9D, 0x0B, 0xCC, 0xB8, 0xD1, 0x3A, 0x4C, + 0x0F, 0xA5, 0xD9, 0xB4, 0x90, 0xCE, 0xE1, 0xE8, 0x9A, 0x12, 0xDB, 0xB4, 0x17, 0x1E, 0x76, 0x62, + 0x4C, 0x6E, 0x74, 0x17, 0xF0, 0xF6, 0x7B, 0x4B, 0x3B, 0x89, 0x5A, 0xA3, 0x78, 0x82, 0xAB, 0xDD, + 0x37, 0x19, 0xEF, 0xE3, 0xA5, 0x08, 0xF5, 0x39, 0x9D, 0xF3, 0x50, 0xAC, 0xC3, 0x9C, 0x6D, 0xED, + 0xE6, 0x42, 0xAE, 0x75, 0x24, 0xD0, 0xE8, 0x08, 0xFC, 0x73, 0x9C, 0xBC, 0xC9, 0x96, 0xC4, 0x93, + 0x6B, 0xD7, 0xC4, 0x7E, 0x9C, 0x1E, 0x86, 0xA0, 0xA3, 0x8F, 0x38, 0xB4, 0x90, 0x80, 0xE4, 0x14, + 0x0C, 0xCC, 0x55, 0x0D, 0x26, 0x97, 0xCB, 0xAA, 0x1D, 0xD2, 0xEA, 0x34, 0xD0, 0xB5, 0xD4, 0xF6, + 0x35, 0xB5, 0x55, 0xD4, 0x7C, 0x8D, 0x2E, 0x71, 0xB8, 0x12, 0xC7, 0x95, 0xD0, 0x82, 0xBF, 0x4B, + 0x61, 0x98, 0x76, 0xFB, 0x36, 0x9E, 0x86, 0xC6, 0xF8, 0xEF, 0x8C, 0xED, 0xDF, 0x97, 0x49, 0x6F, + 0xD0, 0x0B, 0x4C, 0x9B, 0xEA, 0x59, 0x2F, 0xD0, 0x38, 0xE2, 0x2A, 0x4E, 0x0F, 0x5F, 0x99, 0xCD, + 0x7B, 0x63, 0x93, 0x8D, 0xFA, 0xE8, 0xD5, 0xCE, 0x79, 0xE3, 0x8B, 0x46, 0x24, 0xF9, 0xA6, 0xA1, + 0x94, 0x3F, 0x23, 0x70, 0xA7, 0xB6, 0x3B, 0x62, 0x71, 0xC2, 0x60, 0x5F, 0x11, 0x5C, 0xF0, 0xB8, + 0xD2, 0x7A, 0x27, 0x1E, 0xB3, 0xF6, 0x7B, 0x88, 0xA5, 0xB7, 0xEB, 0x22, 0xBE, 0x61, 0x99, 0x9F, + 0x6B, 0xBA, 0xE7, 0xB7, 0x28, 0xEE, 0xD6, 0x65, 0xAF, 0x1A, 0xB3, 0xD8, 0x76, 0xAC, 0x1A, 0x76, + 0xB3, 0xB6, 0xE3, 0xFF, 0xBA, 0xD5, 0xA2, 0x6D, 0x48, 0x71, 0x48, 0x9B, 0x31, 0x17, 0x22, 0xB5, + 0xC1, 0xBA, 0x4C, 0x45, 0xAB, 0x72, 0x58, 0x83, 0xC6, 0xB4, 0x6E, 0xEB, 0x94, 0x47, 0x1B, 0x7B, + 0x96, 0xD5, 0xAD, 0x7A, 0x9A, 0xC9, 0x49, 0xF1, 0x73, 0xF6, 0x6E, 0x52, 0x4C, 0x13, 0xEF, 0xBB, + 0x45, 0xF7, 0xE9, 0x66, 0x16, 0xD2, 0x79, 0xB7, 0xCB, 0xBC, 0x86, 0xD6, 0x4F, 0x25, 0x45, 0xA7, + 0x83, 0x8D, 0x00, 0x36, 0xED, 0x78, 0xAA, 0xC4, 0x24, 0xB1, 0x0D, 0x72, 0x3B, 0x8E, 0x56, 0xED, + 0xDB, 0xC6, 0xE4, 0xA5, 0x5A, 0xE5, 0xC6, 0xE8, 0xAB, 0xE3, 0x9D, 0xCD, 0x5E, 0x9A, 0x60, 0x77, + 0x53, 0xA4, 0xAC, 0xD0, 0x2F, 0xCE, 0x92, 0x5C, 0x94, 0x6C, 0x8A, 0x85, 0xAC, 0x2D, 0x4F, 0xC2, + 0x19, 0x3A, 0xCD, 0xDB, 0xAB, 0x36, 0xB4, 0x2A, 0xD9, 0xED, 0xD8, 0x95, 0x98, 0x7B, 0x87, 0x92, + 0xA9, 0x21, 0xBC, 0x6E, 0x94, 0xF7, 0x6E, 0x62, 0xB5, 0xB9, 0x08, 0xAA, 0x0F, 0xBD, 0xE5, 0xE8, + 0x5F, 0x3B, 0x03, 0x7E, 0xC6, 0x69, 0xE7, 0xB7, 0xFC, 0x4C, 0x4A, 0xF4, 0x51, 0x66, 0x80, 0x3E, + 0xFA, 0x61, 0xA2, 0xFB, 0xA6, 0x05, 0xF5, 0x7D, 0x54, 0x79, 0xBB, 0x12, 0xE2, 0xEE, 0x6A, 0xFD, + 0xC8, 0x3C, 0xD9, 0x0B, 0xC3, 0xD4, 0xCD, 0x0C, 0xE9, 0x0C, 0xDF, 0x64, 0x37, 0xAF, 0x90, 0xA7, + 0xD8, 0x5E, 0x21, 0xA2, 0xD4, 0x0A, 0x5D, 0x7A, 0xC5, 0x5E, 0x51, 0x1F, 0xB5, 0xF4, 0x90, 0x16, + 0x37, 0xB5, 0x2F, 0xA7, 0x79, 0xAF, 0x5D, 0x84, 0xBF, 0x51, 0x92, 0xAB, 0x8D, 0x36, 0x12, 0x5F, + 0x50, 0x9D, 0xCB, 0xE3, 0x8D, 0x8E, 0xA2, 0xA7, 0x69, 0xB3, 0x31, 0x83, 0xAB, 0x33, 0x0C, 0xD7, + 0x6C, 0x98, 0x6F, 0x4C, 0x62, 0xB3, 0xCC, 0x5C, 0x2A, 0xD2, 0x0B, 0xF9, 0x78, 0xF3, 0xE4, 0x6B, + 0x0A, 0xB1, 0xC1, 0x07, 0x1F, 0xA5, 0xE8, 0x5E, 0xB6, 0xA8, 0x97, 0x1E, 0x69, 0x86, 0xD9, 0xA3, + 0x62, 0xEF, 0xBB, 0xD3, 0x84, 0x47, 0x27, 0x02, 0x89, 0x2E, 0x2E, 0xE3, 0x2B, 0x83, 0xF5, 0x93, + 0x8D, 0xF1, 0x8E, 0x13, 0xA8, 0xF2, 0x17, 0x8A, 0x02, 0x84, 0xB4, 0x81, 0x1E, 0x75, 0xB2, 0x0F, + 0xA8, 0xD0, 0x42, 0x09, 0x0E, 0x2D, 0x7C, 0xDB, 0x44, 0xB5, 0x53, 0xDC, 0x16, 0x29, 0x69, 0x01, + 0x58, 0x6A, 0x09, 0xDF, 0xB8, 0x60, 0x55, 0x73, 0xB5, 0x44, 0xB3, 0x61, 0x2B, 0x30, 0x4B, 0x3C, + 0x7B, 0x54, 0x41, 0x14, 0x2F, 0x87, 0xD8, 0x3F, 0xE1, 0x90, 0xB6, 0x72, 0xEF, 0x76, 0x49, 0x21, + 0x0A, 0x06, 0x6F, 0x95, 0x78, 0xC1, 0x6D, 0x85, 0xB9, 0xF0, 0x70, 0xB8, 0xE5, 0xE5, 0xE0, 0xD4, + 0x32, 0x85, 0x40, 0x76, 0xEE, 0xBB, 0x7A, 0xE8, 0x37, 0x07, 0xA4, 0x6F, 0x6C, 0xF5, 0x67, 0x18, + 0x7D, 0x9E, 0x9D, 0xC6, 0xB5, 0xC5, 0x52, 0xDE, 0x38, 0xB2, 0xB3, 0xB1, 0xDC, 0xC6, 0x63, 0xA5, + 0x0C, 0x52, 0xB8, 0x6D, 0x6C, 0xDA, 0x78, 0x6D, 0xCD, 0x64, 0x65, 0xDD, 0x48, 0xCB, 0xA4, 0xDA, + 0x15, 0x23, 0x0D, 0xA0, 0x51, 0x45, 0x79, 0xA4, 0x2D, 0x8F, 0x35, 0xC9, 0x07, 0x74, 0xFB, 0xC2, + 0xAE, 0x96, 0x23, 0x66, 0x0D, 0x7D, 0x4A, 0xD7, 0x90, 0x18, 0x56, 0x93, 0xF2, 0x50, 0x11, 0xDD, + 0xB9, 0x61, 0x3A, 0xD8, 0xC9, 0x63, 0xD9, 0xD9, 0x0F, 0xBD, 0x77, 0x1C, 0x32, 0x4B, 0x62, 0xB3, + 0x18, 0x7C, 0x29, 0xF0, 0xB0, 0x51, 0x58, 0x87, 0x54, 0x82, 0x48, 0x06, 0x20, 0x3B, 0xD7, 0x5E, + 0x59, 0xD9, 0xF1, 0x6E, 0x30, 0x9A, 0x8A, 0xD2, 0xF4, 0x72, 0x79, 0x31, 0x53, 0x11, 0x7A, 0xA3, + 0x55, 0x32, 0x61, 0xD2, 0xFB, 0xB4, 0x71, 0x17, 0xEB, 0x36, 0xBA, 0x4B, 0xB7, 0x4D, 0x77, 0x4B, + 0x22, 0x11, 0x58, 0xA5, 0xC5, 0xB2, 0x99, 0x24, 0x12, 0x6C, 0x5F, 0x41, 0xFD, 0x94, 0x6E, 0x09, + 0xE7, 0x51, 0xBD, 0x2B, 0x61, 0x7A, 0xBF, 0x5B, 0x8B, 0x07, 0x4B, 0x1C, 0xE9, 0xC3, 0x55, 0x7C, + 0x76, 0xBC, 0xC4, 0x01, 0xA9, 0xB6, 0xD5, 0xB5, 0xAA, 0xB1, 0x58, 0xBD, 0x66, 0x23, 0xC4, 0x0D, + 0xF0, 0x5E, 0xCE, 0xFC, 0xF4, 0xBC, 0x73, 0x4D, 0x72, 0x41, 0x16, 0x78, 0xAD, 0x29, 0x12, 0xA8, + 0x8D, 0x92, 0x7D, 0xD1, 0xEE, 0xA4, 0xA4, 0xF6, 0xAA, 0xA4, 0x8C, 0x32, 0xD3, 0x57, 0xDF, 0xED, + 0xBC, 0x57, 0x25, 0xC9, 0xC2, 0xF9, 0xB0, 0x0D, 0xD3, 0xDF, 0x58, 0x88, 0x00, 0xAE, 0x2F, 0x4B, + 0x90, 0x27, 0x19, 0x8A, 0xA7, 0x99, 0x36, 0xAA, 0x7F, 0x93, 0xA6, 0x30, 0xB6, 0x97, 0x8F, 0x3B, + 0x4F, 0x58, 0x5B, 0xE3, 0x7D, 0xCC, 0x9E, 0xEE, 0xEC, 0xEC, 0x6C, 0x5C, 0x0E, 0x5C, 0x55, 0x66, + 0xCD, 0x75, 0xC4, 0x41, 0x34, 0xF3, 0x93, 0xDD, 0x9A, 0xC8, 0x94, 0x1F, 0x35, 0x14, 0x6C, 0x57, + 0x1E, 0x8D, 0x2B, 0xAC, 0x0D, 0xAA, 0x4E, 0x29, 0x1F, 0xA3, 0xEE, 0x8A, 0x13, 0xBA, 0x15, 0x2A, + 0xA6, 0x0D, 0x73, 0x5D, 0xBE, 0xB9, 0x41, 0x81, 0x67, 0x49, 0x60, 0x26, 0x93, 0x16, 0x96, 0xCB, + 0xE5, 0x5C, 0x58, 0xC8, 0x83, 0x08, 0x62, 0xB5, 0xD3, 0x51, 0x8A, 0x03, 0x5C, 0x40, 0x6D, 0xA7, + 0xEE, 0xB9, 0x5B, 0xBB, 0x84, 0x29, 0x86, 0x93, 0xCF, 0x3E, 0xDB, 0x24, 0x9C, 0xD4, 0x6D, 0x47, + 0x51, 0x27, 0xBE, 0xFC, 0x6E, 0xF3, 0x1C, 0x2C, 0x01, 0x4E, 0x3C, 0x1E, 0xBB, 0x91, 0x2F, 0x63, + 0x68, 0x4A, 0x70, 0x13, 0xA2, 0x16, 0x6B, 0x53, 0xA7, 0xFE, 0x1A, 0x6C, 0xD4, 0xCE, 0xEF, 0x58, + 0x1B, 0xCF, 0xA9, 0xDB, 0xD4, 0x78, 0xCD, 0x1A, 0x48, 0xF8, 0x87, 0x64, 0x77, 0x03, 0xE4, 0xF7, + 0x3F, 0x0F, 0x74, 0x3A, 0x38, 0x39, 0xEE, 0x1F, 0x4E, 0x06, 0x27, 0x27, 0xA3, 0x93, 0x62, 0x5D, + 0x5D, 0xF1, 0x8E, 0x0A, 0x61, 0x02, 0xAF, 0x2D, 0xFD, 0x8C, 0x57, 0xD4, 0x56, 0x56, 0x78, 0xE9, + 0xAA, 0x4D, 0x15, 0xF2, 0x4D, 0x37, 0x58, 0x6B, 0x9F, 0x9B, 0x6B, 0x45, 0x94, 0x90, 0x28, 0xF9, + 0x90, 0x02, 0xEA, 0x61, 0x4D, 0x2B, 0xA9, 0x7A, 0x49, 0x2E, 0x56, 0xD7, 0xBE, 0x4D, 0x73, 0x29, + 0x53, 0xDD, 0x72, 0x79, 0x25, 0x57, 0xA8, 0xE9, 0x03, 0xFA, 0x91, 0x79, 0x27, 0xBD, 0x65, 0x0A, + 0xD2, 0x5A, 0xAA, 0x57, 0xF2, 0x46, 0x52, 0xE6, 0xF3, 0xB5, 0xF7, 0x77, 0xDB, 0xB9, 0x7B, 0x42, + 0x0A, 0x59, 0xB3, 0x14, 0xED, 0xD2, 0xA5, 0xCA, 0x6E, 0xD3, 0x25, 0xDD, 0x6E, 0x76, 0xE3, 0x2C, + 0x7F, 0x85, 0x32, 0x7F, 0xE9, 0xCC, 0xEA, 0xD6, 0x5F, 0xFC, 0x55, 0xF7, 0x96, 0x60, 0x97, 0xAD, + 0x9B, 0x6E, 0x1D, 0xA7, 0xCF, 0xFF, 0x53, 0x9B, 0x14, 0xAF, 0x74, 0x3D, 0xB0, 0x65, 0x0A, 0xB7, + 0xE9, 0xEE, 0x64, 0x9F, 0xE2, 0x15, 0xB8, 0x5B, 0xDA, 0x49, 0x12, 0xB7, 0xD3, 0x1B, 0x82, 0x0D, + 0xC6, 0x2A, 0x52, 0x28, 0x9A, 0x6C, 0xC3, 0xEB, 0xE4, 0xD7, 0x8C, 0xEE, 0x6E, 0xFD, 0x0B, 0x50, + 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0xEF, 0x32, 0x62, + 0xDA, 0x4B, 0x10, 0x00, 0x00, 0x41, 0x49, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, + 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, + 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x61, 0x75, 0x74, + 0x68, 0x2F, 0x75, 0x73, 0x65, 0x72, 0x2D, 0x69, 0x6D, 0x70, 0x6F, 0x72, 0x74, 0x2D, 0x62, 0x75, + 0x69, 0x6C, 0x64, 0x65, 0x72, 0x2E, 0x6A, 0x73, 0xE5, 0x1C, 0x6B, 0x73, 0x22, 0x45, 0xF0, 0x7B, + 0x7E, 0xC5, 0xC8, 0x07, 0x03, 0xCA, 0x6D, 0x92, 0x2B, 0xB5, 0x94, 0x18, 0x95, 0x24, 0xC4, 0x43, + 0x13, 0x48, 0x01, 0xF1, 0x4A, 0x73, 0x57, 0xD4, 0xB2, 0x0C, 0x61, 0xCD, 0xB2, 0x8B, 0xFB, 0x08, + 0xA2, 0xF2, 0xDF, 0xED, 0x9E, 0xC7, 0xCE, 0xCE, 0xEC, 0x03, 0x72, 0x5E, 0x52, 0xA7, 0xF2, 0x21, + 0x59, 0x66, 0x7A, 0x7A, 0x7A, 0xFA, 0x3D, 0x33, 0xBD, 0x1C, 0x7C, 0xF2, 0x11, 0x99, 0xB9, 0x21, + 0x9D, 0xD8, 0x11, 0x7D, 0x61, 0x4F, 0x17, 0xAE, 0x4F, 0x1E, 0xBE, 0xB2, 0x3E, 0xB3, 0x5E, 0x92, + 0x4F, 0x0E, 0xF6, 0x6A, 0x49, 0x44, 0x49, 0x14, 0x87, 0xAE, 0x13, 0xD7, 0x8E, 0xF7, 0x00, 0x74, + 0x8F, 0x7C, 0x42, 0xCE, 0x82, 0xE5, 0x3A, 0x74, 0xEF, 0xE6, 0x31, 0x79, 0x79, 0x78, 0xF4, 0x25, + 0xF9, 0x3E, 0x08, 0xEE, 0x3C, 0x4A, 0xBA, 0xBE, 0x63, 0x41, 0x2F, 0x02, 0x5C, 0xBA, 0x0E, 0xF5, + 0x23, 0x3A, 0x25, 0x89, 0x3F, 0xA5, 0x21, 0x89, 0xE7, 0x94, 0xB4, 0x97, 0xB6, 0x03, 0xFF, 0x44, + 0x4F, 0x93, 0xFC, 0x44, 0xC3, 0xC8, 0x0D, 0x7C, 0xF2, 0xD2, 0x3A, 0x24, 0x75, 0x04, 0xA8, 0x89, + 0xAE, 0x5A, 0xE3, 0x18, 0x51, 0xAC, 0x83, 0x84, 0x2C, 0xEC, 0x35, 0xF1, 0x83, 0x98, 0x00, 0x0D, + 0x80, 0xC3, 0x8D, 0x80, 0x4C, 0x98, 0x87, 0xFE, 0xEE, 0xD0, 0x65, 0x4C, 0x80, 0x4C, 0x27, 0x58, + 0x2C, 0x3D, 0xD7, 0xF6, 0x1D, 0x4A, 0x56, 0x6E, 0x3C, 0x07, 0x98, 0x74, 0x02, 0x0B, 0x71, 0xFC, + 0x2C, 0x70, 0x04, 0x93, 0xD8, 0x06, 0x70, 0x1B, 0x06, 0x2C, 0xE1, 0xDB, 0x2C, 0x0B, 0x48, 0xEC, + 0x58, 0x10, 0x4D, 0xC8, 0x3C, 0x8E, 0x97, 0xAD, 0x83, 0x83, 0xD5, 0x6A, 0x65, 0xD9, 0x8C, 0x5C, + 0x2B, 0x08, 0xEF, 0x0E, 0x3C, 0x0E, 0x18, 0x1D, 0x5C, 0x76, 0xCF, 0x3A, 0xBD, 0x61, 0xE7, 0x05, + 0x90, 0x2C, 0x86, 0xDC, 0xF8, 0x1E, 0x8D, 0x22, 0x12, 0xD2, 0xDF, 0x12, 0x37, 0x84, 0xE5, 0x4E, + 0xD6, 0xC4, 0x5E, 0x2E, 0x61, 0x80, 0x3D, 0x01, 0x42, 0x3D, 0x7B, 0x45, 0x82, 0x90, 0xD8, 0x77, + 0x21, 0x85, 0xBE, 0x38, 0x40, 0x92, 0x57, 0xA1, 0x1B, 0xBB, 0xFE, 0x5D, 0x93, 0x44, 0xC1, 0x2C, + 0x5E, 0xD9, 0x21, 0x45, 0x34, 0x53, 0x17, 0x39, 0x3C, 0x49, 0x62, 0xC9, 0x31, 0x8D, 0x40, 0x37, + 0xD2, 0x00, 0x02, 0x58, 0x88, 0x4F, 0x6A, 0xED, 0x21, 0xE9, 0x0E, 0x6B, 0xE4, 0xB4, 0x3D, 0xEC, + 0x0E, 0x9B, 0x88, 0xE4, 0x75, 0x77, 0xF4, 0xAA, 0x7F, 0x33, 0x22, 0xAF, 0xDB, 0x83, 0x41, 0xBB, + 0x37, 0xEA, 0x76, 0x86, 0xA4, 0x3F, 0x20, 0x67, 0xFD, 0xDE, 0x79, 0x77, 0xD4, 0xED, 0xF7, 0xE0, + 0xDB, 0x05, 0x69, 0xF7, 0x7E, 0x26, 0x3F, 0x76, 0x7B, 0xE7, 0x4D, 0x42, 0x5D, 0x98, 0x22, 0x04, + 0x5E, 0x2E, 0x43, 0x58, 0x01, 0x92, 0xE9, 0x22, 0x2F, 0xE9, 0x94, 0x31, 0x6E, 0x48, 0xA9, 0x46, + 0xC2, 0x2C, 0xE0, 0x24, 0x45, 0x4B, 0xEA, 0xB8, 0x33, 0xD7, 0x81, 0xA5, 0xF9, 0x77, 0x89, 0x7D, + 0x47, 0xC9, 0x5D, 0xF0, 0x40, 0x43, 0x1F, 0x56, 0x44, 0x96, 0x34, 0x5C, 0xB8, 0x11, 0xCA, 0x34, + 0x02, 0x02, 0xA7, 0x88, 0xC6, 0x73, 0x17, 0x6E, 0x6C, 0xC7, 0xD8, 0x94, 0x5F, 0x17, 0x4E, 0x74, + 0xB0, 0xD7, 0x9F, 0xFC, 0x4A, 0x9D, 0xD8, 0x9A, 0xD2, 0x99, 0xEB, 0xD3, 0xEB, 0x30, 0x00, 0x2C, + 0xF1, 0xBA, 0x0E, 0x64, 0x05, 0x61, 0x1C, 0x35, 0x49, 0x6D, 0x3C, 0xA6, 0xD1, 0x55, 0x30, 0x4D, + 0x3C, 0x5A, 0x6B, 0x92, 0x3F, 0xC9, 0x83, 0xED, 0x25, 0xB4, 0x45, 0xE2, 0x30, 0xA1, 0x64, 0x03, + 0x8A, 0x22, 0x00, 0xAD, 0x9B, 0x88, 0x86, 0xDD, 0x05, 0x3E, 0x9F, 0x26, 0xAE, 0x87, 0x33, 0x9D, + 0x10, 0xD9, 0xE7, 0x04, 0xFE, 0x03, 0x60, 0xBD, 0x4A, 0xBC, 0xD8, 0xBD, 0xB0, 0x9D, 0x38, 0x08, + 0xBB, 0xFE, 0x2C, 0x18, 0x05, 0x43, 0x1A, 0x42, 0xFB, 0x45, 0x10, 0x2E, 0xEC, 0x18, 0xC0, 0x1F, + 0x02, 0x77, 0x4A, 0x0E, 0x8F, 0xF7, 0x1E, 0xEC, 0x90, 0x4C, 0x29, 0x5D, 0x8E, 0x51, 0x59, 0xC6, + 0x47, 0xD0, 0x23, 0xC4, 0x5B, 0xAF, 0x59, 0xD6, 0x41, 0x12, 0xBB, 0x5E, 0x74, 0x80, 0xFD, 0x2F, + 0xB0, 0xBF, 0xD6, 0xE0, 0x03, 0x58, 0x73, 0x11, 0xA8, 0x00, 0x40, 0xC2, 0xDD, 0xA9, 0x0D, 0x73, + 0x17, 0xE2, 0x4B, 0x7B, 0x25, 0x38, 0x0D, 0xC3, 0x20, 0x2C, 0x99, 0x1C, 0xFA, 0x38, 0xE0, 0xC1, + 0x27, 0x9F, 0x30, 0x6B, 0xE4, 0xEB, 0x8B, 0x50, 0xBF, 0x41, 0x82, 0x7E, 0x4C, 0x66, 0x7C, 0x4D, + 0x11, 0x85, 0xA5, 0x4F, 0xC9, 0x8C, 0xAD, 0x99, 0x04, 0x8C, 0xD3, 0xA8, 0x86, 0x11, 0x5B, 0xB8, + 0x80, 0x62, 0xF2, 0xFE, 0x6E, 0x69, 0x87, 0xF6, 0x82, 0x2C, 0x74, 0x16, 0x91, 0xD1, 0x9C, 0x56, + 0xA1, 0xE4, 0x43, 0x43, 0x1A, 0x27, 0xA1, 0xCF, 0x61, 0x83, 0x10, 0xB4, 0x69, 0x09, 0x10, 0xA8, + 0x10, 0xED, 0x24, 0x9E, 0xA7, 0xC8, 0xE4, 0xAC, 0x6C, 0x3D, 0x34, 0x92, 0x08, 0xB9, 0x12, 0xCC, + 0x12, 0xDF, 0x41, 0x2D, 0x21, 0xBB, 0x88, 0xAA, 0x6E, 0x50, 0xD9, 0x20, 0x7F, 0xEE, 0x11, 0xF8, + 0x30, 0xB6, 0xF9, 0x61, 0xE0, 0x79, 0x74, 0xDA, 0x8E, 0x8F, 0x59, 0x9B, 0x3B, 0x03, 0xDF, 0xB2, + 0x5E, 0xD2, 0x60, 0x66, 0xAE, 0xCD, 0xE2, 0xA0, 0x0B, 0x58, 0xDB, 0xC8, 0x5D, 0x50, 0xF2, 0xD1, + 0xC9, 0x09, 0xD9, 0x4F, 0x7C, 0xAE, 0x87, 0xD3, 0x7D, 0x89, 0x54, 0x22, 0x49, 0x05, 0x64, 0xB9, + 0xD1, 0xCD, 0xE8, 0xEC, 0xDC, 0x8E, 0xE9, 0x30, 0x0E, 0x61, 0x95, 0xF5, 0x6A, 0xBC, 0x0D, 0x8E, + 0x48, 0x7D, 0x0E, 0x0E, 0xA4, 0xBC, 0xC8, 0x2C, 0x0C, 0x16, 0x04, 0x90, 0x11, 0x40, 0xCC, 0x7C, + 0x2C, 0x32, 0xAD, 0x2E, 0xF8, 0x1D, 0xB9, 0x53, 0x2A, 0x78, 0xD4, 0x40, 0x99, 0x75, 0x87, 0x7D, + 0x1D, 0x8E, 0xB3, 0x53, 0x83, 0xB3, 0xB2, 0x33, 0x29, 0x5E, 0xA0, 0x72, 0xFB, 0x74, 0x45, 0x90, + 0xE8, 0x6D, 0xE4, 0x5A, 0x71, 0x00, 0x33, 0x89, 0xA5, 0xA1, 0x23, 0x16, 0x9F, 0x4D, 0xFA, 0x44, + 0xBD, 0x88, 0x1A, 0x6B, 0x8A, 0xE7, 0x61, 0xB0, 0xC2, 0x29, 0xA4, 0xDA, 0x5A, 0x17, 0x22, 0x9C, + 0xA0, 0x0A, 0x74, 0xB0, 0xAD, 0x2E, 0x7B, 0xB0, 0xE5, 0x8C, 0x2D, 0x91, 0xB5, 0x9F, 0x05, 0x53, + 0x6A, 0x75, 0x7B, 0x3F, 0xB5, 0x2F, 0xBB, 0xE7, 0xE3, 0x4E, 0x6F, 0xD0, 0xBF, 0xBC, 0xBC, 0xEA, + 0xF4, 0x46, 0xE3, 0x51, 0xF7, 0xAA, 0x03, 0xD6, 0x0F, 0x4A, 0x65, 0x68, 0xF1, 0x9B, 0x9A, 0x4E, + 0xF1, 0x9B, 0x1A, 0x99, 0xB1, 0xE6, 0x1A, 0xF9, 0x34, 0x27, 0xE3, 0xC4, 0x9D, 0x42, 0x6B, 0xED, + 0x4D, 0x0D, 0x7A, 0x40, 0xE5, 0x26, 0xE0, 0xEC, 0xB9, 0x21, 0x12, 0x80, 0x16, 0x4B, 0x50, 0x9F, + 0x7D, 0x43, 0x16, 0xD6, 0xBE, 0xC6, 0x00, 0xFE, 0x57, 0xCA, 0x30, 0x09, 0x43, 0xA0, 0xC0, 0x5B, + 0x83, 0x3B, 0x86, 0x3F, 0xCB, 0x79, 0xE0, 0x1B, 0x94, 0x82, 0x39, 0x86, 0xD0, 0x94, 0x2C, 0xD1, + 0x09, 0x81, 0x5B, 0x4D, 0xF5, 0xD1, 0x8D, 0xAE, 0x11, 0x9A, 0x93, 0x69, 0xCA, 0x23, 0xD5, 0x17, + 0x31, 0x4F, 0x77, 0x06, 0xBE, 0x74, 0xAD, 0x02, 0xCC, 0xCC, 0xA5, 0xDE, 0x14, 0x23, 0x02, 0xBA, + 0x5A, 0xA0, 0x91, 0x39, 0x6E, 0x9F, 0xAD, 0xA9, 0x29, 0x7C, 0x0C, 0x33, 0xA4, 0x95, 0xEB, 0x79, + 0xB0, 0x0C, 0xF8, 0x0B, 0xE4, 0xB8, 0x1E, 0xF1, 0x60, 0x59, 0x21, 0xA7, 0x41, 0xDA, 0x8A, 0xAD, + 0x9B, 0xE7, 0x89, 0x21, 0xD4, 0xC5, 0xCC, 0xEE, 0xA4, 0x9C, 0xEE, 0x4E, 0x5B, 0x45, 0xCC, 0x6D, + 0x66, 0x47, 0x60, 0x90, 0x5A, 0x7A, 0xF6, 0xBA, 0x67, 0x2F, 0x68, 0x1E, 0x3A, 0xD3, 0xD9, 0x34, + 0x0D, 0x62, 0x90, 0xAE, 0x0E, 0xA3, 0xA5, 0xE7, 0x15, 0xB2, 0x53, 0x53, 0x6E, 0x0E, 0x81, 0x88, + 0xF3, 0x33, 0xB1, 0xAE, 0x5E, 0xB2, 0x98, 0xD0, 0xB0, 0x59, 0x62, 0x10, 0xAD, 0xCC, 0xB3, 0x82, + 0xD9, 0xA4, 0xD2, 0x46, 0x42, 0xD0, 0xE6, 0x99, 0xD3, 0xFC, 0x91, 0xAE, 0x81, 0xC5, 0x06, 0xBB, + 0xB2, 0x62, 0xD2, 0x1D, 0x8D, 0x01, 0x78, 0xCB, 0x31, 0xBC, 0x25, 0x27, 0xA5, 0x0E, 0x46, 0x31, + 0x90, 0x7A, 0x34, 0xA6, 0x25, 0x08, 0x38, 0x71, 0x4A, 0x1D, 0xF3, 0x4F, 0xDC, 0x11, 0x1B, 0xC3, + 0x8F, 0x53, 0xBD, 0x55, 0xA6, 0xAB, 0x38, 0x7F, 0xE3, 0xA7, 0x0A, 0x6A, 0xBA, 0xF6, 0xF7, 0x65, + 0xDC, 0x37, 0xBD, 0xE1, 0xCD, 0xF5, 0x75, 0x7F, 0x30, 0xEA, 0x9C, 0x8F, 0x87, 0x1D, 0x4C, 0x47, + 0xC6, 0x17, 0xED, 0xB3, 0x51, 0x7F, 0x00, 0xE6, 0x5D, 0x32, 0x7D, 0x6A, 0xCF, 0x3F, 0x0C, 0xFB, + 0x3D, 0x8B, 0x1B, 0xA3, 0x3B, 0x5B, 0xE7, 0x6C, 0x45, 0xD8, 0xF6, 0x32, 0x0C, 0x1E, 0xDC, 0x29, + 0x98, 0x58, 0xAD, 0x21, 0x57, 0xBB, 0xD9, 0x7B, 0x64, 0xF0, 0xDF, 0x05, 0xEC, 0x58, 0xC5, 0xA9, + 0x4A, 0x1B, 0x46, 0xD1, 0x2A, 0x79, 0xE4, 0xF4, 0x73, 0xC6, 0x1F, 0xA7, 0x5C, 0x23, 0x98, 0xB6, + 0xEE, 0x1F, 0xEF, 0x6D, 0x58, 0x34, 0x57, 0xA1, 0xF8, 0x4F, 0x30, 0xFB, 0x0D, 0xAA, 0x1F, 0x0B, + 0xAC, 0x2A, 0x76, 0x43, 0x52, 0xEA, 0xDC, 0x33, 0xFD, 0xF4, 0x99, 0x8A, 0x73, 0x8F, 0xC0, 0xD2, + 0x5F, 0xD7, 0xB7, 0xB2, 0x08, 0x38, 0xDF, 0x36, 0xE4, 0x9E, 0xAE, 0x19, 0x0E, 0x90, 0x4A, 0xB8, + 0xC6, 0x6F, 0x5A, 0xD8, 0xFE, 0x93, 0xA3, 0xD9, 0x14, 0xC4, 0x6F, 0xDE, 0x83, 0xAA, 0x6D, 0x3F, + 0x80, 0x0F, 0xC1, 0x94, 0xD6, 0x22, 0x7D, 0x4C, 0x1B, 0x57, 0x2E, 0x66, 0xF0, 0x3D, 0xBB, 0x67, + 0x84, 0xEF, 0x3B, 0x1A, 0x73, 0xC3, 0xBB, 0x40, 0xA2, 0xEA, 0x40, 0x75, 0x13, 0x27, 0x44, 0x86, + 0x18, 0x46, 0x02, 0x5D, 0xB7, 0xD0, 0xF3, 0xD6, 0x8C, 0xBB, 0xE4, 0xE3, 0x8F, 0xB5, 0x3E, 0x20, + 0xC2, 0xF3, 0xE4, 0xF8, 0x0C, 0x53, 0x61, 0x8D, 0x11, 0xD8, 0x7F, 0x5C, 0x97, 0xC0, 0x10, 0xB8, + 0x64, 0xD4, 0x6A, 0x92, 0xA3, 0xC3, 0x54, 0x13, 0xD4, 0x18, 0xA4, 0x17, 0xF9, 0x9C, 0xCF, 0x9A, + 0x54, 0xF2, 0x38, 0xA0, 0xC0, 0x02, 0x4C, 0xD5, 0xB1, 0x75, 0xE9, 0x05, 0xF6, 0xB4, 0xED, 0x38, + 0x41, 0xE2, 0xC7, 0x08, 0x22, 0xA4, 0x60, 0x91, 0x11, 0x9A, 0x04, 0x26, 0xB9, 0xDC, 0x24, 0xC8, + 0x6A, 0x4E, 0x7D, 0xE9, 0x85, 0x01, 0x35, 0x17, 0x09, 0xF3, 0xFF, 0xA9, 0x6E, 0x6A, 0x92, 0x31, + 0xE7, 0xDB, 0xE0, 0x06, 0x27, 0x44, 0x09, 0x14, 0x91, 0x22, 0x74, 0x13, 0x9E, 0xF2, 0x24, 0x69, + 0x68, 0x7F, 0x92, 0x39, 0xCA, 0x85, 0x90, 0xC7, 0x09, 0x47, 0x2C, 0xDB, 0xD9, 0x0C, 0xD8, 0x92, + 0xCD, 0x46, 0xA5, 0xEC, 0x74, 0xA5, 0x30, 0x26, 0x2A, 0xD6, 0x0F, 0x03, 0x88, 0x93, 0xC8, 0x31, + 0x18, 0x7A, 0xB1, 0x0C, 0x96, 0x09, 0x46, 0xA0, 0xDC, 0x88, 0x3A, 0x52, 0xD3, 0xD4, 0xA9, 0xCC, + 0xE6, 0x73, 0x30, 0x1B, 0x58, 0x8F, 0x16, 0x9B, 0xBC, 0xC0, 0xB1, 0x3D, 0x88, 0x47, 0x6C, 0x90, + 0x1E, 0x84, 0xE8, 0x02, 0xD4, 0x54, 0x74, 0xB0, 0x67, 0xA3, 0x0B, 0xB6, 0x9C, 0x2E, 0xC8, 0x46, + 0x8E, 0xD5, 0xDA, 0x00, 0x34, 0x1F, 0xC6, 0x04, 0x60, 0xA6, 0x45, 0x03, 0x03, 0x8B, 0x48, 0x91, + 0xC9, 0xAF, 0x0A, 0x00, 0x2C, 0x3B, 0x0E, 0x6E, 0x42, 0x49, 0x10, 0xFF, 0x3A, 0xB8, 0x54, 0x00, + 0x99, 0x40, 0x95, 0xC2, 0xE4, 0x43, 0x97, 0x54, 0xA1, 0x10, 0xF9, 0xC5, 0x23, 0xDE, 0xED, 0x5B, + 0xE8, 0x55, 0x61, 0x3A, 0xDF, 0x18, 0x53, 0xDF, 0xF6, 0xE3, 0x94, 0x49, 0xF2, 0xAB, 0x02, 0x70, + 0x20, 0x1D, 0x0A, 0x16, 0xED, 0x58, 0x6C, 0x2A, 0x23, 0x01, 0xC8, 0x9B, 0xCF, 0x3C, 0xDB, 0x5D, + 0x44, 0x60, 0x89, 0xA6, 0xFF, 0xCD, 0xC1, 0x34, 0x38, 0xC6, 0x8D, 0x99, 0x6C, 0x8B, 0xD5, 0xD8, + 0x51, 0xB4, 0x02, 0x1D, 0x7E, 0x65, 0x47, 0xF3, 0x6D, 0xF9, 0xF5, 0x47, 0xD9, 0x04, 0xFB, 0x34, + 0x99, 0xCD, 0x40, 0x37, 0x72, 0x48, 0x1A, 0x8D, 0x27, 0x4A, 0x3C, 0xAF, 0xDB, 0xC3, 0xE1, 0xEB, + 0xFE, 0xE0, 0x7C, 0xFC, 0xAA, 0x3D, 0x7C, 0x55, 0x94, 0xF5, 0x0A, 0x45, 0xD4, 0x97, 0x74, 0xC2, + 0x77, 0x7D, 0xE0, 0x79, 0x5E, 0xD3, 0xC9, 0xD0, 0x9E, 0xD1, 0x53, 0x98, 0xF8, 0x8B, 0xCF, 0xF2, + 0x74, 0x4B, 0x67, 0x54, 0xC9, 0xA5, 0xA1, 0xED, 0xC5, 0xFF, 0x98, 0x4B, 0x88, 0xE4, 0xE9, 0xB9, + 0x34, 0x6C, 0x5F, 0x8E, 0xAA, 0xB8, 0x14, 0x01, 0x15, 0xBB, 0x71, 0x07, 0xE9, 0xCD, 0x71, 0x27, + 0xBB, 0xC8, 0x5E, 0xE0, 0xF7, 0x20, 0x02, 0xF0, 0x53, 0x02, 0x3E, 0x76, 0x41, 0x63, 0x1B, 0xBA, + 0xED, 0x74, 0x9D, 0x25, 0xE3, 0x3A, 0x8B, 0x65, 0xBC, 0xE6, 0x31, 0x41, 0x1F, 0x68, 0x39, 0x21, + 0x65, 0x59, 0x72, 0x6E, 0x83, 0xA6, 0xD6, 0xC0, 0x61, 0x8C, 0xCD, 0x53, 0x15, 0x1A, 0x0B, 0x62, + 0x1F, 0x3E, 0x68, 0x9B, 0xA6, 0x77, 0x23, 0xCF, 0xB3, 0xA3, 0x78, 0xE8, 0xDE, 0xF9, 0xDD, 0x2A, + 0x02, 0x19, 0xD4, 0x65, 0x70, 0xE7, 0xFA, 0x15, 0x24, 0x2A, 0x54, 0x15, 0x44, 0x56, 0x70, 0xBF, + 0x1D, 0x86, 0xB6, 0x30, 0x7B, 0xE9, 0x85, 0xCE, 0x4D, 0xCE, 0xE7, 0x7A, 0x2D, 0x48, 0x4E, 0x3A, + 0x70, 0x78, 0x56, 0x4F, 0xDD, 0x7F, 0x3D, 0xDB, 0x5D, 0xB2, 0x1C, 0xD3, 0xCB, 0x59, 0xCB, 0x24, + 0x9A, 0xD7, 0x15, 0xA8, 0xE9, 0x0D, 0xD1, 0xB9, 0x69, 0xB3, 0xAA, 0x8E, 0x66, 0x6E, 0x50, 0x68, + 0xAF, 0x4C, 0x78, 0x3D, 0x72, 0x68, 0x61, 0x42, 0x07, 0x34, 0x23, 0x49, 0x41, 0x98, 0xD0, 0x07, + 0x14, 0x87, 0x0B, 0x33, 0x2A, 0xE8, 0x63, 0x8C, 0xE8, 0x90, 0xCA, 0x26, 0x2B, 0xA7, 0xD4, 0x4E, + 0x8C, 0x63, 0x04, 0x2E, 0x71, 0x95, 0x64, 0x5A, 0x72, 0x6F, 0xC3, 0xBF, 0x46, 0xF9, 0x13, 0x9F, + 0x9D, 0x2D, 0x4D, 0x21, 0x6D, 0x40, 0x38, 0x48, 0x49, 0x29, 0xD2, 0x64, 0xAE, 0x2A, 0xDB, 0x68, + 0xC9, 0x6A, 0xCE, 0x56, 0xC2, 0xF3, 0x8A, 0x64, 0x66, 0xDA, 0x25, 0xBA, 0x04, 0x31, 0x51, 0xA9, + 0xD0, 0x2E, 0x99, 0x7D, 0x0E, 0x6F, 0x15, 0xDF, 0x07, 0x74, 0x01, 0x67, 0x9E, 0x64, 0x02, 0x47, + 0xA0, 0xF7, 0x22, 0xD5, 0xB3, 0x64, 0xC2, 0x82, 0xD9, 0x2E, 0x80, 0xCB, 0x1D, 0xE4, 0x3D, 0xDB, + 0x3A, 0x0A, 0xB2, 0x24, 0xB1, 0x7A, 0x10, 0x10, 0x9D, 0xB7, 0xF7, 0x3B, 0xEC, 0x11, 0xF9, 0xFE, + 0x30, 0x3B, 0xA2, 0xDC, 0x8C, 0xCB, 0xCC, 0xCA, 0xA3, 0xFE, 0x5D, 0x3C, 0x67, 0x33, 0x1D, 0xA6, + 0xF8, 0x15, 0xEE, 0x92, 0x61, 0xA6, 0x8B, 0x56, 0x8C, 0x7E, 0x04, 0x52, 0x01, 0x6D, 0xB0, 0x53, + 0xE4, 0x7D, 0xFC, 0xBC, 0x19, 0x84, 0x05, 0xE9, 0x46, 0xE2, 0x40, 0x0E, 0x49, 0xA7, 0x3C, 0x55, + 0x75, 0x21, 0xD9, 0x04, 0x5A, 0x12, 0xDB, 0x13, 0x47, 0x87, 0x2C, 0x01, 0x77, 0x23, 0x76, 0xC4, + 0xC1, 0x63, 0x1B, 0x90, 0x94, 0x26, 0xE3, 0x02, 0x2D, 0x3B, 0x34, 0x87, 0xB9, 0x9D, 0xF4, 0xE8, + 0x45, 0xB1, 0x5C, 0x4F, 0x37, 0x39, 0xD3, 0xA5, 0x8A, 0x65, 0x79, 0xAE, 0xC3, 0x89, 0x35, 0x17, + 0x6D, 0x2C, 0x78, 0x4F, 0x76, 0x6F, 0xE1, 0x41, 0x7C, 0x03, 0xDA, 0xEC, 0x58, 0x5A, 0x39, 0x6E, + 0x33, 0xE6, 0xD4, 0x5B, 0x72, 0x23, 0x24, 0x13, 0x3C, 0xA4, 0x06, 0xCF, 0x2F, 0x0F, 0x7E, 0x31, + 0x9D, 0x4E, 0xB2, 0xC9, 0xB1, 0x5C, 0xAB, 0x3C, 0x4A, 0xCF, 0x6E, 0x0C, 0x78, 0x4E, 0xCC, 0x12, + 0x71, 0xBC, 0x96, 0xE0, 0xB9, 0x36, 0x2A, 0x5F, 0xD1, 0x21, 0x38, 0x50, 0x44, 0xBE, 0x73, 0x90, + 0x1E, 0x80, 0x22, 0x19, 0x53, 0x12, 0x0B, 0x45, 0x00, 0xF6, 0xBF, 0x62, 0x7F, 0x72, 0xFB, 0x96, + 0x6F, 0x24, 0x22, 0xB6, 0x09, 0xF0, 0x5C, 0x38, 0x4A, 0x13, 0x5C, 0x24, 0x21, 0x03, 0x60, 0x3E, + 0xC6, 0x65, 0x23, 0xAC, 0x72, 0x64, 0xFD, 0x25, 0xBB, 0x09, 0x38, 0x81, 0x6D, 0x2D, 0x7B, 0x62, + 0xE8, 0xC4, 0xB0, 0xB4, 0x69, 0x35, 0x77, 0x9D, 0x39, 0x08, 0xDD, 0xF1, 0x12, 0xE4, 0xDA, 0x1C, + 0xD2, 0x27, 0x60, 0x8E, 0x44, 0x8A, 0x1F, 0xDB, 0xBB, 0x0B, 0x42, 0xD8, 0xEE, 0x2E, 0x50, 0xC0, + 0xE0, 0x9A, 0x85, 0xF5, 0xED, 0xB0, 0x11, 0x1A, 0x70, 0x9E, 0xE6, 0xF7, 0x43, 0x92, 0xDB, 0x05, + 0xFB, 0x22, 0x85, 0x5C, 0xEA, 0x26, 0xF4, 0x8A, 0xB6, 0x03, 0xFC, 0x9F, 0x42, 0xE6, 0xD9, 0x5F, + 0x67, 0x4C, 0x6B, 0xCA, 0xB5, 0x35, 0x0B, 0x89, 0xC8, 0x28, 0x1C, 0xBB, 0xE3, 0xB2, 0xC4, 0x59, + 0x5F, 0x84, 0x99, 0xA3, 0x60, 0x19, 0xC8, 0x71, 0x66, 0xC3, 0xE1, 0xCD, 0xB1, 0x0E, 0x29, 0xA8, + 0xA5, 0x53, 0x9C, 0x19, 0x81, 0x6E, 0xDF, 0x1A, 0x10, 0x89, 0xAE, 0x35, 0x2C, 0xA9, 0x2B, 0x86, + 0x04, 0x33, 0xA3, 0xBF, 0x5F, 0xD9, 0x4B, 0xDC, 0x6B, 0x6D, 0xB6, 0xCC, 0xC3, 0x5B, 0xE5, 0xA6, + 0x8E, 0x35, 0xB2, 0xA5, 0x96, 0xAD, 0xB0, 0x0C, 0x1D, 0x5F, 0x5D, 0x0E, 0xA1, 0x68, 0xAE, 0x4B, + 0xB6, 0x95, 0xB2, 0x45, 0xDA, 0xA2, 0xA9, 0xC7, 0x03, 0x66, 0x96, 0xA0, 0x94, 0xB9, 0x2D, 0xAB, + 0x94, 0x21, 0x4C, 0x5E, 0x6C, 0x6F, 0x5C, 0xDC, 0xA5, 0x5B, 0x61, 0xB1, 0x34, 0xB6, 0x1B, 0xDE, + 0x1D, 0x19, 0xD3, 0x93, 0xBC, 0x7A, 0xA0, 0x97, 0x8D, 0x03, 0xF4, 0x49, 0x16, 0xF3, 0x07, 0x02, + 0x39, 0xB0, 0x23, 0x6F, 0xA5, 0x32, 0xBE, 0x24, 0x52, 0x02, 0x79, 0xB9, 0x58, 0x0B, 0x7B, 0x99, + 0xB1, 0x6F, 0x84, 0xCC, 0x8E, 0x56, 0xFE, 0x2A, 0x7B, 0xBB, 0x65, 0xE1, 0xF3, 0x19, 0x3C, 0x32, + 0x78, 0x23, 0xEC, 0x6D, 0x19, 0xD6, 0xF9, 0x1D, 0x36, 0x96, 0xD3, 0xFA, 0x9F, 0x9C, 0xA8, 0x96, + 0xA0, 0x6D, 0xD3, 0x2C, 0xC6, 0x5F, 0x28, 0xFA, 0x86, 0x14, 0xE1, 0xB1, 0x29, 0xC3, 0x6B, 0xA1, + 0x0C, 0x4C, 0x8A, 0x79, 0xEF, 0x97, 0xE0, 0xE1, 0x37, 0xEB, 0xCA, 0xDC, 0x97, 0xA4, 0x1E, 0x9F, + 0x87, 0x02, 0xE6, 0x3B, 0x11, 0x46, 0xA4, 0x3F, 0x02, 0x35, 0x03, 0x15, 0x6B, 0x4A, 0x41, 0xF3, + 0x72, 0x37, 0xA7, 0xDC, 0xA4, 0xDE, 0x42, 0xB8, 0x2C, 0x79, 0x38, 0x01, 0x1B, 0x29, 0x76, 0x2B, + 0x0B, 0x33, 0x29, 0xB4, 0xEC, 0xD4, 0x9D, 0x4E, 0x33, 0x7E, 0x4B, 0x53, 0x11, 0xE5, 0xBE, 0x1F, + 0xAD, 0x23, 0x7C, 0x98, 0xA6, 0x24, 0x7C, 0x2E, 0xAE, 0xA8, 0x91, 0xA9, 0x31, 0x63, 0x60, 0xBC, + 0xD4, 0x98, 0x63, 0xED, 0x6A, 0xC1, 0x87, 0x9B, 0x68, 0x90, 0xC7, 0x1F, 0x45, 0xAB, 0xD2, 0xAF, + 0x0A, 0xDC, 0x0C, 0x1F, 0x72, 0x17, 0x05, 0x51, 0xE2, 0x38, 0x70, 0x85, 0x7C, 0x86, 0xCB, 0x6A, + 0x15, 0x29, 0xA6, 0x48, 0x0F, 0xF4, 0xD4, 0x16, 0x69, 0x86, 0x20, 0xCF, 0x47, 0x95, 0x3B, 0xAB, + 0xE2, 0xD1, 0x42, 0x68, 0xAD, 0x62, 0x4D, 0xAB, 0x40, 0xD6, 0x28, 0x3A, 0xED, 0xD7, 0x96, 0x67, + 0x65, 0x09, 0x23, 0x9F, 0x9E, 0x90, 0x2C, 0x73, 0x25, 0x31, 0x25, 0x43, 0xB3, 0x9C, 0x20, 0x2F, + 0xB6, 0x0C, 0x35, 0x7A, 0xF3, 0xB9, 0x6E, 0xB6, 0x5F, 0x0A, 0xB5, 0x70, 0x5A, 0xCE, 0x8C, 0xDC, + 0x86, 0x49, 0x49, 0x1A, 0xDD, 0xFA, 0xC4, 0x76, 0xEE, 0xC1, 0x5A, 0xD3, 0x48, 0xC7, 0xFC, 0x3D, + 0x86, 0x6D, 0x88, 0xA5, 0xB0, 0x89, 0xB4, 0x3D, 0xE0, 0xE5, 0x03, 0xF5, 0xF0, 0xFE, 0x3D, 0x3D, + 0xB4, 0x24, 0x36, 0x26, 0xF5, 0x1C, 0xD4, 0x32, 0x11, 0xF3, 0xE6, 0x16, 0x19, 0x6B, 0xE1, 0xE3, + 0x36, 0x4B, 0x35, 0x6F, 0x15, 0xE7, 0x52, 0x39, 0xF1, 0xB5, 0xDE, 0xC3, 0x91, 0xC4, 0xCD, 0xB0, + 0x33, 0x18, 0x77, 0xAF, 0xF0, 0x7A, 0xA1, 0x49, 0xB4, 0xA9, 0x17, 0x20, 0x08, 0xA8, 0x4F, 0x68, + 0x6C, 0xDF, 0x50, 0x09, 0x26, 0x0D, 0x81, 0xA1, 0xD2, 0x6F, 0x4C, 0xD2, 0x45, 0x57, 0x31, 0x3C, + 0x82, 0x96, 0x8C, 0xBC, 0xEC, 0x26, 0x99, 0x94, 0x38, 0x5C, 0xDB, 0xE2, 0xEC, 0x7E, 0x41, 0x26, + 0xFC, 0xA9, 0x94, 0x8A, 0x01, 0x1F, 0x10, 0xB1, 0x3B, 0x91, 0xD4, 0x16, 0x75, 0x74, 0x1A, 0x31, + 0x25, 0xFE, 0x33, 0x4D, 0xAB, 0xB9, 0x13, 0x0C, 0x55, 0x44, 0x94, 0x29, 0x95, 0xCC, 0x4A, 0x44, + 0x39, 0x4C, 0x75, 0x04, 0x2B, 0x3C, 0xF2, 0xA6, 0xB8, 0xA5, 0xB4, 0xD3, 0x93, 0x6F, 0xD0, 0x24, + 0x7E, 0x2B, 0xA9, 0x70, 0x67, 0xB3, 0xF0, 0xED, 0x89, 0xA1, 0x9E, 0x17, 0xE6, 0xBA, 0x73, 0x08, + 0x26, 0x41, 0xE0, 0x51, 0xDB, 0xDF, 0x90, 0xA2, 0x8C, 0xE9, 0xF5, 0x9C, 0xC6, 0x73, 0x76, 0x24, + 0x2D, 0xBA, 0xF9, 0xC2, 0xE5, 0x14, 0xD5, 0x71, 0x3E, 0xA5, 0x88, 0x51, 0x22, 0xF3, 0x92, 0xA9, + 0x7E, 0xE2, 0x2D, 0x51, 0xED, 0xEE, 0xC1, 0x8D, 0x04, 0x27, 0xEB, 0xC3, 0x55, 0xB2, 0x93, 0x5F, + 0x8C, 0xE9, 0xD2, 0x15, 0x41, 0xA2, 0xFF, 0x58, 0x3F, 0x24, 0xDC, 0x82, 0x41, 0x29, 0x92, 0x96, + 0xE9, 0x6D, 0x74, 0x24, 0xA5, 0x47, 0x03, 0x92, 0xD2, 0x27, 0x3B, 0x66, 0x6C, 0x0F, 0xBE, 0xBF, + 0xC1, 0x1A, 0x80, 0x26, 0xD9, 0xAF, 0xE5, 0x94, 0xA0, 0x86, 0xB7, 0x2A, 0xE9, 0x75, 0xB8, 0xB8, + 0x79, 0x61, 0x00, 0xA0, 0x76, 0x3C, 0x03, 0xE1, 0xA5, 0x60, 0xF2, 0x84, 0x31, 0x82, 0x5B, 0xFC, + 0x77, 0x5F, 0xA4, 0x35, 0x7F, 0x8A, 0x63, 0xE7, 0xAB, 0xEE, 0x70, 0xD8, 0xED, 0x7D, 0xCF, 0x4E, + 0x9B, 0xC7, 0xED, 0xCB, 0xEF, 0xFB, 0x03, 0x28, 0xDD, 0xBA, 0xC2, 0xF5, 0xE2, 0x74, 0x56, 0xBA, + 0xC1, 0xA9, 0x65, 0x2E, 0xFA, 0x59, 0xB5, 0x08, 0x1A, 0xAA, 0xF2, 0xCE, 0x05, 0xDC, 0x29, 0x5B, + 0xAC, 0xDA, 0xFB, 0xCA, 0x85, 0xE9, 0x33, 0x99, 0x27, 0x0F, 0xE4, 0xAF, 0xBF, 0xB4, 0x15, 0x7F, + 0x54, 0x71, 0x78, 0x59, 0x8C, 0xF1, 0xBD, 0x33, 0x4D, 0xA8, 0xC7, 0x0E, 0x4C, 0x4B, 0x6B, 0x3D, + 0x64, 0xAD, 0x0C, 0x9C, 0xF0, 0x38, 0xCC, 0xE5, 0xC5, 0x99, 0xED, 0xAB, 0xBA, 0x79, 0x4E, 0x87, + 0x16, 0xE9, 0x4A, 0x7A, 0x13, 0x15, 0x00, 0x77, 0x32, 0x96, 0x16, 0x81, 0x96, 0xC1, 0x46, 0xB5, + 0x64, 0xF5, 0xE6, 0xE2, 0x1D, 0x58, 0x26, 0xD9, 0x7F, 0x75, 0xD5, 0x3E, 0x1B, 0x0F, 0x5F, 0xB5, + 0x3F, 0x3F, 0x7A, 0xB9, 0xDF, 0xAA, 0xE8, 0x7F, 0xF9, 0xF9, 0x17, 0x95, 0xFD, 0x47, 0xE5, 0xBD, + 0x57, 0xE7, 0x9F, 0x67, 0x3A, 0xB7, 0xDC, 0x1D, 0xE8, 0xC4, 0xE3, 0x45, 0x6D, 0x96, 0xEE, 0x27, + 0x13, 0xDE, 0x8F, 0x9D, 0x9F, 0x41, 0x6C, 0x6D, 0xA8, 0xEC, 0xF4, 0x5F, 0x50, 0x54, 0x24, 0x52, + 0x93, 0x04, 0xD4, 0x20, 0xF4, 0xC6, 0x70, 0xB6, 0xC6, 0xC8, 0x13, 0x82, 0x54, 0x1A, 0xCF, 0x8E, + 0x4E, 0xF6, 0xD3, 0xCA, 0x9D, 0xFC, 0xA7, 0xCE, 0x10, 0x29, 0x81, 0x62, 0x99, 0x4F, 0x89, 0xC6, + 0x43, 0x47, 0xCD, 0xAA, 0x65, 0x0F, 0xFA, 0x0C, 0xB9, 0xAB, 0x4F, 0xCE, 0xDF, 0x8A, 0x14, 0x38, + 0xFF, 0xC1, 0x29, 0xDA, 0x72, 0x86, 0x56, 0xC9, 0xCC, 0xCD, 0xC2, 0xA1, 0x11, 0x9C, 0xD2, 0xD3, + 0x10, 0x0A, 0x3D, 0x5A, 0xC5, 0xF7, 0x26, 0x79, 0x59, 0xE5, 0xF1, 0x6C, 0xF2, 0x8B, 0x99, 0xC0, + 0x1D, 0xC5, 0xFD, 0x71, 0x81, 0xB6, 0x70, 0x45, 0xC9, 0xB7, 0x97, 0xAA, 0x57, 0x85, 0x5E, 0x4A, + 0x95, 0x26, 0x85, 0xD9, 0x27, 0xCC, 0x84, 0x7E, 0xEC, 0xF6, 0xB0, 0xF9, 0xE5, 0xD1, 0x57, 0x2F, + 0xDF, 0x82, 0x70, 0x63, 0x82, 0xB3, 0x34, 0x09, 0x47, 0xD9, 0x64, 0x19, 0x0A, 0xC7, 0xC1, 0xBC, + 0xFB, 0xED, 0x11, 0x87, 0x34, 0x91, 0x09, 0x1B, 0x24, 0x27, 0x46, 0x9D, 0x81, 0xC6, 0x1A, 0xD0, + 0x2C, 0x0E, 0x96, 0x35, 0xE5, 0xAC, 0x21, 0x43, 0x79, 0xF3, 0x40, 0xE0, 0xA9, 0x70, 0x86, 0x9C, + 0x41, 0xE4, 0x5B, 0x72, 0x48, 0x5A, 0xE4, 0x48, 0xC7, 0xA4, 0x0A, 0xB9, 0xA0, 0xA2, 0xA0, 0xCE, + 0x67, 0x6B, 0x80, 0xC7, 0x94, 0xF4, 0x7D, 0xAD, 0xE6, 0xC8, 0xB4, 0x7E, 0x43, 0x70, 0x51, 0xCF, + 0x62, 0x60, 0x83, 0xFE, 0x4D, 0xEF, 0x7C, 0xD8, 0x84, 0x1A, 0x61, 0x51, 0xED, 0xF6, 0x86, 0x1B, + 0x18, 0xA7, 0xE4, 0x4D, 0x4D, 0x56, 0x76, 0x4C, 0x68, 0xBC, 0xA2, 0xD4, 0x47, 0x2B, 0x51, 0x24, + 0xA3, 0x61, 0xA0, 0x44, 0x18, 0xB9, 0xC5, 0x26, 0x58, 0xFB, 0x6F, 0x9A, 0x20, 0x67, 0x4F, 0x4B, + 0xFC, 0x7F, 0x57, 0xF3, 0xDA, 0x14, 0x18, 0xC8, 0xF5, 0xE9, 0x8F, 0xE7, 0x17, 0xC2, 0x73, 0x97, + 0x75, 0xBF, 0x4C, 0x3D, 0xFF, 0xFB, 0xD7, 0xFB, 0x6A, 0x6D, 0x3D, 0xD4, 0xB4, 0xF4, 0xE8, 0xE5, + 0x21, 0x7C, 0x9E, 0x55, 0x4F, 0xF7, 0xA5, 0x9E, 0x66, 0xD5, 0x34, 0xA7, 0xA5, 0x87, 0xA8, 0x95, + 0x82, 0xBC, 0xFF, 0x55, 0x68, 0x78, 0x3F, 0x7A, 0x29, 0x5C, 0xF5, 0xD9, 0xE0, 0xE7, 0xEB, 0x11, + 0xBA, 0xEA, 0x7F, 0x49, 0x92, 0xF0, 0x81, 0xA7, 0x06, 0x4F, 0x6B, 0x9A, 0x27, 0x86, 0x6D, 0x7E, + 0xF9, 0x2C, 0xAC, 0x7F, 0x9C, 0x59, 0x1E, 0xF1, 0x60, 0xF1, 0xC1, 0x48, 0x84, 0xC5, 0x78, 0xB8, + 0xA2, 0x0D, 0xD7, 0x67, 0x41, 0x14, 0x6F, 0x95, 0x8C, 0x02, 0xAD, 0x96, 0x8E, 0x82, 0x63, 0x12, + 0x52, 0x5F, 0x53, 0x29, 0xA9, 0x26, 0xF4, 0xA2, 0x9F, 0x3D, 0x8B, 0xA8, 0xAE, 0x3A, 0x57, 0xFD, + 0xC1, 0xCF, 0xE3, 0xB3, 0xFE, 0x70, 0x94, 0x93, 0x97, 0xA2, 0xA7, 0x58, 0x66, 0x40, 0xE3, 0x07, + 0x23, 0xB4, 0x92, 0x0D, 0x2A, 0xAB, 0x24, 0x1A, 0x52, 0x38, 0xEF, 0x41, 0x97, 0x54, 0x50, 0x2B, + 0x5A, 0x48, 0xE7, 0x56, 0x27, 0xA6, 0x61, 0x7D, 0x1E, 0x77, 0x86, 0x25, 0x53, 0x50, 0xFE, 0x7C, + 0xDD, 0x1E, 0xB4, 0x59, 0xE9, 0xF3, 0x7E, 0x2D, 0x4F, 0x49, 0x66, 0xE7, 0x9A, 0xF5, 0x75, 0xD6, + 0xFE, 0x4E, 0x2C, 0x7C, 0x8E, 0x48, 0xF4, 0x3E, 0x36, 0x29, 0xBB, 0x44, 0x34, 0xFC, 0x28, 0xF5, + 0x6D, 0x65, 0x9E, 0x8B, 0x61, 0x35, 0x36, 0xEE, 0x44, 0x9B, 0x36, 0x02, 0xAD, 0xF7, 0x94, 0xF3, + 0x1A, 0x4F, 0x59, 0xEA, 0xFB, 0xFB, 0x8D, 0x77, 0xDE, 0x5D, 0x15, 0xA5, 0x7F, 0xA7, 0x22, 0xE8, + 0x3E, 0xBB, 0xCC, 0x76, 0x23, 0x59, 0x64, 0x06, 0xA3, 0x76, 0xEF, 0xBC, 0x0D, 0xD5, 0x7D, 0x2A, + 0x45, 0x28, 0xF4, 0xAD, 0xCE, 0x32, 0xB9, 0xA2, 0x8B, 0xF7, 0xEA, 0x5B, 0x15, 0xCA, 0xE7, 0x31, + 0xC6, 0x47, 0x7A, 0xCD, 0x0F, 0xC5, 0x49, 0x22, 0xF7, 0x51, 0x63, 0xA1, 0x44, 0x0A, 0x6E, 0xED, + 0x58, 0xE9, 0xE1, 0x56, 0x11, 0x18, 0xF0, 0xD5, 0x72, 0x30, 0x80, 0x9F, 0x47, 0x18, 0xE8, 0x12, + 0x2F, 0x2F, 0x3B, 0x97, 0xDD, 0x5F, 0xDA, 0xF8, 0x9A, 0x6A, 0x4E, 0x20, 0x06, 0x51, 0x1F, 0xA4, + 0x54, 0x26, 0x50, 0x94, 0x7E, 0x3F, 0x84, 0x9B, 0xD4, 0xAD, 0xF2, 0x48, 0x21, 0xAB, 0x25, 0x91, + 0x82, 0x3D, 0x8F, 0x0C, 0x4E, 0x2F, 0xFB, 0x67, 0x3F, 0x8E, 0x87, 0xDD, 0x5F, 0x3A, 0x39, 0xF6, + 0xA7, 0x94, 0x7C, 0x90, 0x8C, 0x9F, 0xDE, 0x5F, 0xD2, 0xED, 0x46, 0x00, 0xB7, 0x30, 0xEE, 0x03, + 0x9D, 0x42, 0xDC, 0xBA, 0x64, 0x77, 0xB0, 0xD5, 0xBC, 0x47, 0x9C, 0xCF, 0xA4, 0xFB, 0xE7, 0x9D, + 0x41, 0xF7, 0xA7, 0xCE, 0x39, 0x6E, 0x76, 0xC6, 0x97, 0x9D, 0xDE, 0xF7, 0xA3, 0x57, 0x39, 0xFE, + 0x9B, 0xB4, 0x7F, 0x70, 0x62, 0x78, 0xEA, 0x18, 0x86, 0x1F, 0x15, 0x20, 0x5A, 0x99, 0xE7, 0x42, + 0x58, 0xD3, 0x43, 0xB6, 0xCC, 0x86, 0xC2, 0x51, 0xCA, 0x82, 0x5B, 0xEA, 0xB1, 0x10, 0x92, 0xAB, + 0x5C, 0x8B, 0xFF, 0x7B, 0xD7, 0x88, 0xAB, 0x73, 0x11, 0xF2, 0x59, 0x1B, 0x6E, 0x72, 0x5B, 0x7B, + 0x4F, 0xAA, 0x6B, 0xE9, 0x95, 0x89, 0xF1, 0xDE, 0x9D, 0xAE, 0x14, 0x52, 0x9D, 0xF0, 0x0D, 0xBC, + 0x6A, 0xFD, 0x78, 0x83, 0x1A, 0x72, 0x5C, 0xFA, 0x1A, 0x62, 0x4E, 0x2F, 0x1E, 0x7F, 0x51, 0xCD, + 0x6E, 0xF3, 0xD8, 0x7D, 0xCD, 0x6E, 0x77, 0xD4, 0xAF, 0xD3, 0x3B, 0x69, 0x36, 0x94, 0xDD, 0x03, + 0xA6, 0x37, 0xD6, 0xD9, 0xAB, 0xE8, 0x26, 0x22, 0x53, 0xCD, 0x0E, 0xFE, 0xD2, 0xC3, 0x14, 0xA7, + 0xE7, 0x35, 0xA5, 0x40, 0x35, 0xDB, 0x2B, 0x49, 0xBC, 0x0B, 0x1A, 0xDE, 0x41, 0xBF, 0xEB, 0xC3, + 0x5D, 0x72, 0x5C, 0x54, 0x03, 0x24, 0x2B, 0x52, 0x41, 0xCD, 0xE0, 0x92, 0x5C, 0x5E, 0xD2, 0x39, + 0x54, 0xDC, 0x85, 0xCF, 0x84, 0x41, 0xAB, 0xDB, 0xC9, 0x20, 0x89, 0x05, 0x72, 0x56, 0xB4, 0x80, + 0x50, 0xD4, 0x0E, 0xD9, 0xCB, 0xC4, 0x38, 0x1A, 0x7F, 0x8D, 0x23, 0x12, 0xC5, 0x08, 0xBB, 0xDC, + 0x9F, 0x17, 0x55, 0x69, 0x9A, 0xBD, 0x91, 0x7A, 0x93, 0x2C, 0xC6, 0xC7, 0x1B, 0xDF, 0x7C, 0x17, + 0x2B, 0x53, 0xAB, 0x24, 0xDE, 0x74, 0xDB, 0xBD, 0xB2, 0x72, 0xD7, 0x57, 0xCC, 0xE0, 0x53, 0xF9, + 0x9A, 0xD9, 0xED, 0x5B, 0xE3, 0xCA, 0x5D, 0x17, 0x39, 0xC3, 0xFC, 0x0E, 0x17, 0xEE, 0x08, 0xA3, + 0x5F, 0xB7, 0x33, 0x44, 0xC6, 0x8B, 0x67, 0xBB, 0x55, 0x4E, 0xA5, 0x17, 0xF0, 0x65, 0x85, 0x97, + 0x0C, 0x75, 0xBE, 0x9E, 0x87, 0xBF, 0xEA, 0xC6, 0xEB, 0x4A, 0x72, 0x77, 0xA3, 0xE1, 0xDA, 0x68, + 0x31, 0x5F, 0x80, 0x7B, 0xE4, 0x2B, 0x74, 0x8A, 0x9A, 0xD2, 0x8A, 0xF3, 0x9D, 0x5F, 0xCF, 0xCA, + 0x7E, 0xC6, 0xE5, 0x15, 0xAA, 0xEC, 0x37, 0x39, 0x76, 0x09, 0x18, 0x70, 0x25, 0xD4, 0x87, 0x77, + 0xE6, 0x19, 0xC5, 0xA2, 0x48, 0x1A, 0x49, 0x49, 0x0B, 0xF9, 0xE0, 0xB5, 0x1A, 0x8A, 0x3F, 0x28, + 0xC2, 0x8D, 0x71, 0x42, 0x59, 0x2F, 0xFB, 0xFD, 0x94, 0xB4, 0x88, 0x09, 0x98, 0x9B, 0xB1, 0xB0, + 0x5C, 0x69, 0x92, 0x26, 0x1F, 0x51, 0x19, 0x95, 0x96, 0x6F, 0x97, 0x14, 0x48, 0x31, 0x72, 0xF6, + 0x23, 0x2E, 0x1F, 0xFE, 0x83, 0x34, 0xF0, 0x2E, 0x1E, 0x9B, 0x14, 0xEA, 0x07, 0x91, 0x30, 0x35, + 0x7F, 0x63, 0xA7, 0xBA, 0xA9, 0x1C, 0x59, 0x66, 0xA9, 0x94, 0x4E, 0xA5, 0x2C, 0xA2, 0x7F, 0x41, + 0x8E, 0xE0, 0x45, 0x00, 0x4E, 0x47, 0xF5, 0xD6, 0x12, 0xEF, 0x9F, 0xB9, 0xFF, 0x6F, 0x14, 0xDF, + 0xBC, 0x0D, 0xED, 0x07, 0x9A, 0xAB, 0x91, 0xC4, 0x01, 0xDC, 0x37, 0xB2, 0x1A, 0x44, 0xFE, 0x5A, + 0x31, 0x42, 0x3D, 0x7A, 0x21, 0xB9, 0x12, 0xBB, 0xCA, 0x3A, 0x34, 0x55, 0x32, 0xC6, 0xFF, 0xA9, + 0xD8, 0x99, 0xAF, 0x0C, 0xE3, 0xFF, 0x0A, 0xA2, 0x6B, 0xC3, 0xE0, 0x48, 0x55, 0xB9, 0xAA, 0xC6, + 0x5E, 0x15, 0x7E, 0x14, 0x44, 0xDE, 0x75, 0x40, 0x09, 0x7F, 0xBD, 0x51, 0xFD, 0xAB, 0x32, 0x45, + 0x83, 0xFE, 0x06, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, + 0x0B, 0x2D, 0x80, 0x89, 0x1B, 0x32, 0x0E, 0x00, 0x00, 0xD0, 0x38, 0x00, 0x00, 0x33, 0x00, 0x00, + 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, + 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, + 0x2F, 0x61, 0x75, 0x74, 0x68, 0x2F, 0x75, 0x73, 0x65, 0x72, 0x2D, 0x72, 0x65, 0x63, 0x6F, 0x72, + 0x64, 0x2E, 0x6A, 0x73, 0xCD, 0x5B, 0x6D, 0x73, 0xE3, 0x34, 0x10, 0xFE, 0x7E, 0xBF, 0x42, 0xD7, + 0x0F, 0x34, 0x29, 0x39, 0xB7, 0xE5, 0x75, 0x68, 0x29, 0x10, 0xDA, 0x1E, 0x04, 0xEE, 0x5A, 0x26, + 0x09, 0x30, 0x70, 0xC3, 0x64, 0x14, 0x5B, 0x49, 0xCC, 0x39, 0x96, 0xB1, 0xE5, 0xE6, 0xC2, 0x5D, + 0xFF, 0x3B, 0xBB, 0x7A, 0xB1, 0x24, 0xDB, 0xB9, 0x26, 0xBD, 0x1E, 0x90, 0x19, 0x7A, 0xB6, 0xB4, + 0x5A, 0xAD, 0x56, 0xAB, 0x67, 0x5F, 0x64, 0x0E, 0x0F, 0x1E, 0x93, 0x59, 0x9C, 0xB3, 0x29, 0x2D, + 0xD8, 0x13, 0x1A, 0x2D, 0xE3, 0x94, 0xDC, 0x7C, 0x11, 0x7C, 0x12, 0x7C, 0x44, 0x0E, 0x0E, 0x1F, + 0xED, 0x95, 0x05, 0x23, 0x85, 0xC8, 0xE3, 0x50, 0xEC, 0x9D, 0x3E, 0x02, 0xD2, 0x47, 0xE4, 0x80, + 0x7C, 0x93, 0xC4, 0x21, 0x4B, 0x0B, 0x86, 0xCF, 0xE7, 0x3C, 0x5B, 0xE7, 0xF1, 0x7C, 0x21, 0xC8, + 0x47, 0x47, 0xC7, 0x9F, 0x93, 0xEF, 0x38, 0x9F, 0x27, 0x8C, 0x0C, 0xD2, 0x30, 0x80, 0x5E, 0x24, + 0x78, 0xA6, 0x68, 0x23, 0x52, 0xA6, 0x11, 0xCB, 0x89, 0x58, 0x30, 0xD2, 0xCF, 0x68, 0x08, 0xFF, + 0xE8, 0x9E, 0x1E, 0xF9, 0x85, 0xE5, 0x45, 0xCC, 0x53, 0xF2, 0x51, 0x70, 0x44, 0x3A, 0x48, 0xB0, + 0xA7, 0xBB, 0xF6, 0xBA, 0xA7, 0xC8, 0x62, 0xCD, 0x4B, 0xB2, 0xA4, 0x6B, 0x92, 0x72, 0x41, 0x40, + 0x1E, 0xE0, 0x11, 0x17, 0x20, 0x32, 0xCC, 0xC3, 0x5E, 0x85, 0x2C, 0x13, 0x04, 0x44, 0x0E, 0xF9, + 0x32, 0x4B, 0x62, 0x9A, 0x86, 0x8C, 0xAC, 0x62, 0xB1, 0x00, 0x9A, 0x6A, 0x82, 0x00, 0x79, 0xFC, + 0xA6, 0x79, 0xF0, 0xA9, 0xA0, 0x40, 0x4E, 0x61, 0x40, 0x06, 0x6F, 0x33, 0x97, 0x90, 0x50, 0xA1, + 0x85, 0x26, 0x64, 0x21, 0x44, 0x76, 0x72, 0x78, 0xB8, 0x5A, 0xAD, 0x02, 0x2A, 0xC5, 0x0D, 0x78, + 0x3E, 0x3F, 0xD4, 0x0B, 0x2F, 0x0E, 0x9F, 0x0D, 0xCE, 0x2F, 0xAF, 0x46, 0x97, 0x4F, 0x40, 0x64, + 0x3D, 0xE4, 0xE7, 0x34, 0x61, 0x45, 0x41, 0x72, 0xF6, 0x57, 0x19, 0xE7, 0xB0, 0xDC, 0xE9, 0x9A, + 0xD0, 0x2C, 0x83, 0x01, 0x74, 0x0A, 0x82, 0x26, 0x74, 0x45, 0x78, 0x4E, 0xE8, 0x3C, 0x67, 0xD0, + 0x27, 0x38, 0x8A, 0xBC, 0xCA, 0x63, 0x11, 0xA7, 0xF3, 0x1E, 0x29, 0xF8, 0x4C, 0xAC, 0x68, 0x2E, + 0xF5, 0x19, 0xC5, 0xA8, 0xED, 0x69, 0x29, 0x8C, 0xC6, 0x3C, 0x01, 0xE3, 0xC2, 0x23, 0xE0, 0xB0, + 0x90, 0x94, 0xEC, 0xF5, 0x47, 0x64, 0x30, 0xDA, 0x23, 0xDF, 0xF6, 0x47, 0x83, 0x51, 0x0F, 0x99, + 0xFC, 0x3A, 0x18, 0x7F, 0x7F, 0xFD, 0xF3, 0x98, 0xFC, 0xDA, 0x1F, 0x0E, 0xFB, 0x57, 0xE3, 0xC1, + 0xE5, 0x88, 0x5C, 0x0F, 0xC9, 0xF9, 0xF5, 0xD5, 0xC5, 0x60, 0x3C, 0xB8, 0xBE, 0x82, 0xB7, 0xA7, + 0xA4, 0x7F, 0xF5, 0x1B, 0xF9, 0x71, 0x70, 0x75, 0xD1, 0x23, 0x2C, 0x86, 0x29, 0x72, 0xD0, 0x65, + 0x96, 0xC3, 0x0A, 0x50, 0xCC, 0x18, 0x75, 0xC9, 0x22, 0xA9, 0xB8, 0x11, 0x63, 0x9E, 0x08, 0x33, + 0xAE, 0x44, 0x2A, 0x32, 0x16, 0xC6, 0xB3, 0x38, 0x84, 0xA5, 0xA5, 0xF3, 0x92, 0xCE, 0x19, 0x99, + 0xF3, 0x1B, 0x96, 0xA7, 0xB0, 0x22, 0x92, 0xB1, 0x7C, 0x19, 0x17, 0xB8, 0xA7, 0x05, 0x08, 0x18, + 0x21, 0x9B, 0x24, 0x5E, 0xC6, 0x82, 0x0A, 0x6C, 0x6A, 0xAE, 0x0B, 0x27, 0x3A, 0x7C, 0x74, 0x43, + 0x73, 0x32, 0x99, 0xB0, 0x57, 0x82, 0xA5, 0x51, 0x41, 0xCE, 0x48, 0x47, 0xEE, 0xF3, 0x07, 0x1F, + 0xC8, 0xFD, 0x0E, 0xAA, 0x9E, 0x2E, 0x79, 0xF3, 0x86, 0x74, 0x66, 0x65, 0x1A, 0x22, 0x37, 0xD2, + 0xE9, 0x92, 0xD7, 0x8F, 0x08, 0xFC, 0x70, 0xB8, 0x22, 0x19, 0xE1, 0x44, 0x21, 0xB2, 0xB0, 0x54, + 0x51, 0x8F, 0x4C, 0x25, 0xA5, 0xFA, 0x35, 0x28, 0xAF, 0xA7, 0x7F, 0xB2, 0x50, 0x04, 0x05, 0x13, + 0x3F, 0xE5, 0x5C, 0x70, 0xB1, 0xCE, 0xD8, 0xF5, 0x0C, 0x66, 0x82, 0x01, 0xF6, 0xD7, 0x79, 0x0D, + 0x02, 0x66, 0xD8, 0x3F, 0x99, 0x9C, 0x90, 0x17, 0x7F, 0x90, 0x5B, 0xD8, 0xC7, 0x42, 0xA0, 0xD5, + 0x81, 0x25, 0xF5, 0xF3, 0x9C, 0xAE, 0x41, 0xDE, 0xE6, 0xAC, 0x24, 0x0A, 0xAA, 0x71, 0x30, 0xD7, + 0xF4, 0x94, 0xDC, 0x76, 0x6B, 0xBC, 0x9B, 0x83, 0xA4, 0xA6, 0x3B, 0xB8, 0xAA, 0x0C, 0x66, 0xC1, + 0xA6, 0x78, 0x46, 0x3A, 0xD3, 0x60, 0x41, 0x8B, 0xEB, 0x55, 0x0A, 0x52, 0x82, 0x96, 0xC5, 0xBA, + 0x93, 0x75, 0xBB, 0x24, 0x7A, 0x91, 0xFD, 0x81, 0x7C, 0xE1, 0x1F, 0x60, 0x7D, 0x5A, 0xF1, 0xCD, + 0x99, 0x28, 0xF3, 0xD4, 0x5F, 0xAB, 0x62, 0x2F, 0x69, 0x90, 0xD4, 0x92, 0x6D, 0xAB, 0x2C, 0xC3, + 0xA0, 0x21, 0xF8, 0x64, 0x82, 0x7B, 0xA1, 0x76, 0x2B, 0xE4, 0xA0, 0x97, 0xBC, 0x0C, 0x05, 0xCF, + 0x41, 0xB0, 0x08, 0xA4, 0xAA, 0xE8, 0xA3, 0x20, 0x33, 0x1A, 0x46, 0x99, 0xC9, 0xD9, 0xD9, 0x19, + 0x49, 0xCB, 0x24, 0x21, 0x5F, 0x9B, 0x4D, 0x08, 0x73, 0x46, 0x05, 0xEB, 0x80, 0x08, 0x27, 0xA4, + 0x33, 0x99, 0xF8, 0xF4, 0xF6, 0xAD, 0x47, 0x52, 0xB6, 0x92, 0xB3, 0xDA, 0xE5, 0xDC, 0x76, 0x3B, + 0xF0, 0xA2, 0xF9, 0x44, 0x6C, 0x16, 0xA7, 0xAC, 0xD2, 0x14, 0x18, 0x38, 0xCF, 0x45, 0xD1, 0x23, + 0x7B, 0x60, 0x4B, 0xC5, 0x73, 0x1E, 0x95, 0x09, 0xDB, 0xEB, 0x81, 0xC4, 0x37, 0x34, 0x29, 0xD9, + 0x09, 0x01, 0x79, 0x19, 0xB9, 0x85, 0xE1, 0x9A, 0x30, 0xF8, 0xB9, 0x60, 0xF9, 0x90, 0x85, 0x3C, + 0x8F, 0x60, 0x62, 0xB7, 0x71, 0x90, 0xCE, 0x78, 0xAD, 0xE9, 0x39, 0x13, 0x34, 0xA2, 0x82, 0x3A, + 0xCD, 0xCF, 0xCB, 0x44, 0xC4, 0x4F, 0xA9, 0xD4, 0x81, 0x6D, 0xFD, 0x69, 0xC1, 0x53, 0x66, 0xBB, + 0xEA, 0xBC, 0x9A, 0x3D, 0x37, 0x3C, 0x8E, 0xC8, 0xD1, 0xA9, 0x3C, 0x1E, 0x11, 0x63, 0xD9, 0x04, + 0x91, 0x6B, 0x72, 0x0C, 0x3D, 0x1A, 0x6B, 0x3A, 0x7B, 0x41, 0x70, 0x58, 0x8A, 0x38, 0x29, 0x0E, + 0xB1, 0xFF, 0x09, 0xF6, 0xEF, 0x75, 0xE5, 0x00, 0x5C, 0x5A, 0x1C, 0x51, 0x60, 0xB6, 0x61, 0x40, + 0xD5, 0x6F, 0x06, 0xC8, 0xE6, 0x36, 0x52, 0x43, 0xC0, 0xF2, 0x7C, 0x23, 0x37, 0xD9, 0x87, 0x84, + 0x87, 0x07, 0x12, 0x13, 0xF7, 0x87, 0x97, 0x17, 0xFD, 0xF3, 0xF1, 0xE5, 0xC5, 0x3E, 0xA0, 0x4C, + 0x1A, 0xF2, 0x08, 0x30, 0x8B, 0x16, 0x00, 0xBE, 0xE8, 0x6B, 0x3E, 0xFB, 0x44, 0x3A, 0x96, 0x74, + 0x6E, 0x4F, 0xFF, 0xB7, 0x9F, 0x7D, 0x32, 0x31, 0x43, 0x60, 0x82, 0x6F, 0xCB, 0xD9, 0x8C, 0xE5, + 0xC1, 0x2C, 0xE7, 0xCB, 0x8E, 0x65, 0xD5, 0x0D, 0x04, 0x1F, 0xC9, 0x81, 0x9D, 0x7D, 0xC5, 0x67, + 0xDF, 0xCE, 0xF8, 0x13, 0xCD, 0x0B, 0x86, 0x33, 0x88, 0x78, 0x89, 0x8E, 0x8B, 0x2E, 0x33, 0x3D, + 0x0B, 0xE2, 0x5A, 0x5A, 0x2E, 0xA7, 0x2C, 0x47, 0x48, 0xD2, 0x36, 0x5F, 0x48, 0x14, 0x82, 0x1D, + 0x06, 0xE4, 0xCB, 0x78, 0x1A, 0x21, 0x1D, 0xA8, 0x83, 0xC1, 0x51, 0x53, 0xAA, 0x33, 0x5E, 0xEC, + 0x9B, 0x8C, 0xE6, 0x74, 0x49, 0x5E, 0xD3, 0x74, 0x7D, 0xAB, 0x78, 0x8F, 0x61, 0x60, 0x99, 0xC6, + 0xAF, 0xE4, 0x5B, 0xFB, 0x44, 0x78, 0x6C, 0x97, 0x71, 0x92, 0xC4, 0x05, 0x18, 0x11, 0x20, 0x57, + 0x20, 0x39, 0xE9, 0xD3, 0xF6, 0x5A, 0x51, 0xDF, 0x4A, 0x46, 0x4D, 0x09, 0x94, 0x9E, 0x7E, 0x1E, + 0x9F, 0x6B, 0xAE, 0x3D, 0x2B, 0x12, 0xB9, 0x46, 0xBC, 0x5E, 0x01, 0xD7, 0x9E, 0x3C, 0x38, 0x4A, + 0x7F, 0xD5, 0x31, 0xCC, 0x50, 0x05, 0x17, 0x78, 0x80, 0x50, 0x32, 0x73, 0x8C, 0x45, 0xBE, 0xD6, + 0x4F, 0x1A, 0x2B, 0xD5, 0x2C, 0x67, 0xF2, 0x0C, 0x49, 0x6A, 0x39, 0x6E, 0x90, 0x0A, 0x1C, 0x06, + 0x9C, 0x8F, 0x8F, 0xBA, 0xF6, 0x90, 0x4B, 0xE8, 0x79, 0x1C, 0x17, 0x57, 0xF4, 0xAA, 0x83, 0xE3, + 0x82, 0x39, 0x13, 0x63, 0x20, 0x83, 0xA3, 0x67, 0x26, 0xA8, 0x61, 0x8E, 0xA4, 0x12, 0x1C, 0x16, + 0xA0, 0xF7, 0xCA, 0x61, 0x76, 0xFB, 0xC8, 0xFE, 0x0D, 0xA9, 0x08, 0x17, 0xA4, 0xC3, 0x5C, 0x36, + 0x87, 0x87, 0xE4, 0x82, 0xA3, 0xB7, 0x5F, 0xA0, 0x75, 0xC8, 0x35, 0x82, 0x53, 0x87, 0x3F, 0x53, + 0xA6, 0xD9, 0x83, 0x6F, 0xB2, 0x3C, 0x74, 0x9B, 0xA4, 0x03, 0x04, 0x90, 0x96, 0xE4, 0x1E, 0xA3, + 0xE8, 0xF4, 0x91, 0xE3, 0x2E, 0xBC, 0x1E, 0x33, 0xAB, 0xD7, 0xF8, 0x62, 0x4F, 0x9E, 0xD1, 0x3D, + 0x84, 0xD4, 0xBD, 0x4C, 0x3E, 0x22, 0xB0, 0xF8, 0x23, 0xD1, 0x09, 0xF9, 0x2D, 0x40, 0xFD, 0xFA, + 0xB6, 0x6B, 0x4D, 0xB1, 0x3F, 0x85, 0x9D, 0x83, 0x3E, 0x12, 0x26, 0x54, 0x06, 0x06, 0xE8, 0x5E, + 0x59, 0x8A, 0x2E, 0x1F, 0x76, 0x76, 0x89, 0x43, 0x9F, 0xCC, 0x14, 0x3A, 0xC4, 0x70, 0xD2, 0xE1, + 0x8F, 0x60, 0x39, 0x34, 0x38, 0xDE, 0xB0, 0x09, 0x06, 0xC0, 0x9B, 0x7C, 0x23, 0x19, 0x02, 0x4D, + 0x9B, 0x17, 0x94, 0x93, 0xE3, 0xEF, 0x00, 0x82, 0x30, 0x88, 0x2F, 0xC0, 0x62, 0xFE, 0x66, 0xD2, + 0xCC, 0x1B, 0xDC, 0x38, 0xA2, 0x24, 0x46, 0x54, 0x20, 0x91, 0x24, 0x00, 0x18, 0xBB, 0x01, 0xAB, + 0x2D, 0xE2, 0x88, 0x11, 0x69, 0x8E, 0xCA, 0x35, 0xE3, 0x4F, 0x31, 0xAD, 0x0E, 0x42, 0xD5, 0x4D, + 0xC6, 0x9B, 0xC6, 0x55, 0x03, 0x1C, 0x57, 0xA0, 0xDB, 0x0E, 0xE5, 0xBF, 0x46, 0xF6, 0xBA, 0x5C, + 0x1D, 0xCD, 0xC2, 0x35, 0x09, 0xE5, 0x54, 0x62, 0x58, 0xD0, 0x53, 0x00, 0x83, 0x91, 0x9C, 0x6F, + 0xA8, 0xC9, 0x2A, 0x7A, 0xE3, 0x05, 0x76, 0xD5, 0x03, 0x28, 0x93, 0x87, 0x31, 0xC5, 0x80, 0xAA, + 0x28, 0xA7, 0x52, 0xB9, 0xED, 0x4A, 0x09, 0x2A, 0x8E, 0x33, 0xB0, 0xCE, 0x06, 0x9F, 0xB8, 0x70, + 0x58, 0xD9, 0x28, 0x54, 0x89, 0x67, 0x0E, 0x2B, 0x50, 0x55, 0x36, 0xFC, 0xFE, 0x74, 0x5B, 0x13, + 0x4D, 0x6A, 0xAE, 0xD6, 0xE6, 0x46, 0x47, 0x56, 0x85, 0x35, 0x8C, 0x58, 0xD6, 0xC7, 0xA8, 0x43, + 0xE6, 0x9E, 0xD4, 0xEB, 0x34, 0x59, 0x93, 0x56, 0xA7, 0x16, 0x96, 0x79, 0x0E, 0xF6, 0x0E, 0xDD, + 0xF4, 0x86, 0xC6, 0x09, 0xC4, 0xC1, 0x46, 0x72, 0x8B, 0x47, 0xF6, 0xD7, 0x36, 0x17, 0x5B, 0xB5, + 0x72, 0xAE, 0xEF, 0xB8, 0xDD, 0xF5, 0x56, 0x44, 0xB1, 0xB2, 0x0E, 0xE6, 0x29, 0xCF, 0x99, 0x72, + 0x61, 0x41, 0x73, 0xA8, 0xDE, 0x98, 0xBA, 0x24, 0x6E, 0xAC, 0xA4, 0x0E, 0xA0, 0xA2, 0x93, 0xFB, + 0x93, 0x25, 0x90, 0x4E, 0xE8, 0xA3, 0x54, 0x9D, 0x71, 0x15, 0xE8, 0x06, 0x1B, 0x76, 0xA3, 0x8A, + 0x60, 0x10, 0x20, 0x7F, 0x18, 0x5D, 0x5F, 0x79, 0x5B, 0x61, 0xC4, 0xB6, 0xF2, 0xD4, 0xD6, 0x51, + 0xC6, 0xD1, 0x89, 0x3A, 0x0F, 0xF0, 0xD4, 0x73, 0xBB, 0x30, 0x37, 0x00, 0x79, 0xD6, 0x57, 0x74, + 0xC9, 0x34, 0x89, 0xD3, 0xE2, 0x93, 0xCE, 0x94, 0x38, 0x86, 0x95, 0x79, 0xF5, 0x89, 0x58, 0x9A, + 0xF3, 0x24, 0x59, 0xC2, 0x82, 0xC6, 0x71, 0xC5, 0xD2, 0x6F, 0xB4, 0x03, 0x6E, 0x8D, 0x9E, 0x76, + 0x3D, 0x7F, 0x0D, 0x1C, 0x02, 0xFD, 0xDC, 0x80, 0xBD, 0x47, 0xDA, 0xF8, 0x1F, 0x0C, 0x8B, 0xEE, + 0xD8, 0x8D, 0x0D, 0xF8, 0xB2, 0xD5, 0x41, 0x99, 0x59, 0x27, 0x60, 0x48, 0x4C, 0xE6, 0x82, 0xBE, + 0xD2, 0xF8, 0x88, 0x6A, 0x7C, 0xDD, 0xB5, 0xCE, 0x1C, 0xB7, 0xF2, 0xD8, 0x10, 0x79, 0x2F, 0xC1, + 0x72, 0x46, 0x2F, 0x2B, 0xD5, 0x5B, 0xD7, 0x65, 0x11, 0x32, 0xE7, 0x2B, 0x3C, 0x32, 0x26, 0x42, + 0x0B, 0x9E, 0xEA, 0xA4, 0xBE, 0x5F, 0x8A, 0xC5, 0x25, 0xB6, 0x75, 0x4C, 0x0F, 0xB6, 0x9C, 0x27, + 0x31, 0xF0, 0x91, 0xED, 0xE7, 0x1C, 0xB0, 0x6D, 0x70, 0x35, 0xBE, 0x1C, 0x5E, 0xF5, 0x9F, 0x4D, + 0x2E, 0x87, 0xC3, 0xEB, 0x61, 0x8F, 0xEC, 0x9B, 0x06, 0xD2, 0x1F, 0x8D, 0x2E, 0x87, 0x63, 0xF2, + 0xB4, 0x3F, 0x78, 0x76, 0x79, 0x71, 0x02, 0xDB, 0x29, 0xC3, 0x90, 0xA6, 0x07, 0xAB, 0x56, 0xBE, + 0xDF, 0x76, 0x2E, 0x55, 0x64, 0x19, 0xD0, 0x28, 0x1A, 0x32, 0x1A, 0x71, 0x40, 0x8D, 0xEF, 0x98, + 0x00, 0x8F, 0x27, 0xB3, 0x3C, 0x98, 0x0E, 0x8C, 0x19, 0xA2, 0xC4, 0x8D, 0xAB, 0x3D, 0xDD, 0x96, + 0x8F, 0xD6, 0x24, 0x32, 0x53, 0x8F, 0xBB, 0x0C, 0x76, 0x8E, 0x8B, 0x2B, 0x8C, 0xD3, 0xDC, 0xF5, + 0xC0, 0xEF, 0x52, 0x05, 0xB5, 0xDA, 0x76, 0x5F, 0x0C, 0x9F, 0x9E, 0x93, 0x8F, 0x3F, 0xFE, 0xF8, + 0x8B, 0x3F, 0x3A, 0x58, 0x3E, 0x28, 0x74, 0xFD, 0x20, 0x66, 0x62, 0x26, 0xAB, 0x07, 0xF9, 0x2C, + 0xC4, 0xFF, 0x90, 0x22, 0x10, 0xAF, 0x44, 0x17, 0x33, 0xBC, 0x25, 0x15, 0x81, 0xCB, 0xF1, 0x29, + 0xC7, 0x2C, 0x96, 0x42, 0x02, 0x0E, 0x0E, 0x63, 0x0F, 0x6B, 0x2A, 0x4F, 0x8E, 0x8E, 0x9F, 0x1C, + 0x7F, 0x3A, 0x3E, 0x3A, 0x3E, 0xF9, 0xF8, 0xE8, 0xE4, 0xF8, 0xD3, 0xE0, 0xE8, 0xF8, 0xF7, 0x3D, + 0x6F, 0xC8, 0x18, 0x64, 0x07, 0xD4, 0x4B, 0x21, 0x3C, 0x92, 0xC1, 0x1F, 0xC8, 0x13, 0xC1, 0xD6, + 0x87, 0x88, 0xBC, 0x37, 0x31, 0x95, 0xD1, 0x1D, 0x71, 0x3C, 0xC5, 0xA6, 0xC1, 0xB2, 0x86, 0x52, + 0x0A, 0xB3, 0x1C, 0x1C, 0x47, 0x3D, 0xAC, 0x1A, 0x8C, 0xAE, 0x47, 0x3A, 0x62, 0xB7, 0xC6, 0x6B, + 0xCF, 0x84, 0x46, 0x06, 0x16, 0xF5, 0x85, 0x31, 0xCE, 0x2D, 0xD5, 0xEE, 0x43, 0xCA, 0x7E, 0xAF, + 0x0A, 0x4A, 0x5B, 0x79, 0xFB, 0x61, 0x65, 0xAB, 0xAD, 0xB1, 0xA4, 0x60, 0xEF, 0x2A, 0x02, 0x38, + 0x3A, 0x8F, 0x77, 0x33, 0x61, 0x7E, 0x5E, 0xF7, 0x13, 0xB7, 0x52, 0x9C, 0x8D, 0xA9, 0x5C, 0x73, + 0x00, 0x7A, 0x93, 0xF3, 0xB6, 0xF0, 0x10, 0xC3, 0xCE, 0x4D, 0x48, 0x19, 0xE8, 0xF0, 0x50, 0xF9, + 0xC6, 0x1D, 0x62, 0xC4, 0x49, 0x51, 0x42, 0x26, 0xAC, 0xF7, 0xC6, 0x96, 0x5A, 0x3A, 0x6D, 0x7C, + 0x7A, 0x44, 0x53, 0xDF, 0x09, 0xE7, 0x72, 0xF4, 0x9D, 0x98, 0xFE, 0x1F, 0xC5, 0x96, 0x52, 0xB8, + 0x6D, 0x02, 0x4C, 0x59, 0x7C, 0x92, 0x05, 0xA7, 0x33, 0xBD, 0xF2, 0x20, 0xA4, 0x49, 0xA2, 0xCD, + 0xA3, 0x1A, 0x81, 0x90, 0x8C, 0x4D, 0x77, 0x23, 0xCA, 0x44, 0x1B, 0x96, 0xDC, 0xC9, 0x2B, 0x99, + 0x0F, 0xBA, 0x90, 0x22, 0x9B, 0x51, 0x9A, 0x6E, 0xA3, 0x5C, 0x33, 0xB1, 0x13, 0xDC, 0xDE, 0x3B, + 0xE6, 0x90, 0x0B, 0x7F, 0xD7, 0xC0, 0x43, 0xD7, 0x51, 0xC0, 0x92, 0xE2, 0x79, 0xAA, 0xCD, 0xA7, + 0xC1, 0xC4, 0xEA, 0xA9, 0xDB, 0xAB, 0x9D, 0x39, 0x67, 0xED, 0x3A, 0x78, 0x70, 0x5A, 0x9C, 0xC8, + 0xA1, 0xBB, 0x29, 0x74, 0x18, 0x3A, 0x59, 0xBA, 0xF6, 0x34, 0x83, 0x0B, 0xAC, 0x1E, 0xC8, 0xE2, + 0xA7, 0x1B, 0x5E, 0x9B, 0xA8, 0xE1, 0x21, 0xA2, 0x6A, 0xAB, 0x6A, 0xED, 0xE4, 0xEC, 0xD4, 0xCD, + 0x00, 0xDF, 0x4E, 0x6C, 0x39, 0x41, 0x82, 0xE0, 0xCB, 0x16, 0x17, 0x86, 0x39, 0xFC, 0x30, 0xB3, + 0x6D, 0x30, 0x82, 0xC2, 0x02, 0x79, 0x99, 0xF2, 0x55, 0x5A, 0x9F, 0x72, 0x53, 0xDA, 0xB0, 0xE5, + 0x46, 0x3B, 0xC1, 0xC7, 0x9D, 0x81, 0x8C, 0x5E, 0x77, 0xC7, 0x89, 0x60, 0xDA, 0x0C, 0x96, 0x7C, + 0xED, 0xE7, 0xCB, 0xAA, 0xA4, 0x45, 0x4E, 0xA4, 0xA0, 0x6D, 0x85, 0x45, 0xD9, 0xDF, 0x02, 0x96, + 0xB5, 0x26, 0x17, 0x3B, 0x37, 0x40, 0x9B, 0x6C, 0xDE, 0x16, 0x45, 0x5D, 0x45, 0x42, 0x4F, 0x22, + 0x95, 0x9D, 0xA9, 0x6A, 0x60, 0xCC, 0x0A, 0x2C, 0xFE, 0x53, 0x40, 0x28, 0x30, 0xE9, 0x96, 0x7C, + 0xFB, 0xE1, 0x72, 0xED, 0xB7, 0x63, 0x21, 0xF4, 0xFF, 0xF0, 0xEB, 0x58, 0x47, 0x02, 0xFF, 0x26, + 0x32, 0x3A, 0x12, 0x6E, 0x02, 0x44, 0x1D, 0x4D, 0x5C, 0x6A, 0xD7, 0xAB, 0x88, 0x11, 0x20, 0x5F, + 0xFC, 0x51, 0x0B, 0x5F, 0x9D, 0x32, 0x63, 0x00, 0x55, 0x22, 0x9E, 0x5E, 0x81, 0x29, 0x28, 0xF4, + 0xB0, 0xCC, 0xFF, 0x5F, 0x11, 0x6B, 0x15, 0xAC, 0x6E, 0x0C, 0x20, 0xE4, 0xD2, 0xDC, 0x80, 0x14, + 0xAD, 0xAD, 0xBE, 0x88, 0x7A, 0x7F, 0x00, 0x3B, 0x79, 0x09, 0xF7, 0x45, 0x8E, 0xB9, 0xA8, 0x09, + 0x87, 0x2D, 0x3A, 0x7E, 0x6B, 0xAA, 0xBD, 0x4D, 0x12, 0x5F, 0xE7, 0x6D, 0x97, 0xE2, 0x6E, 0x8F, + 0xC3, 0xBA, 0x5A, 0x42, 0xF3, 0xD7, 0xBE, 0xDB, 0x41, 0x56, 0x16, 0x8B, 0x06, 0x07, 0x3B, 0x8F, + 0x55, 0x9D, 0xF7, 0xE6, 0x2B, 0xD5, 0x86, 0x9B, 0xCF, 0xE9, 0x4B, 0xC8, 0xBF, 0xF5, 0x14, 0x1A, + 0xD2, 0x0B, 0xB8, 0x6F, 0x5A, 0x96, 0x42, 0xD6, 0x07, 0xEE, 0x74, 0xAB, 0x26, 0x5C, 0xF3, 0xA5, + 0xDC, 0xEF, 0x19, 0x5F, 0x35, 0x83, 0x0B, 0xB6, 0xBF, 0x59, 0xA7, 0x75, 0x2D, 0xDD, 0xEE, 0xBB, + 0x7A, 0x55, 0x47, 0xFD, 0x3B, 0x3B, 0x53, 0x5F, 0xE9, 0xB5, 0x05, 0x98, 0xDC, 0xBA, 0xA6, 0xFC, + 0x25, 0xCD, 0x1C, 0x43, 0x8A, 0xD5, 0xE6, 0x19, 0x86, 0xF8, 0xAA, 0xE7, 0xEE, 0x74, 0xF1, 0x4A, + 0xC9, 0xCD, 0xC5, 0xDF, 0x1E, 0xAE, 0xBE, 0x25, 0x54, 0xF5, 0x0D, 0xAF, 0xAA, 0x66, 0xE2, 0x1D, + 0x07, 0x59, 0x9A, 0x4B, 0x0E, 0x89, 0x8A, 0x20, 0x32, 0x15, 0xC6, 0xFB, 0x15, 0x55, 0x27, 0xC8, + 0x25, 0xD1, 0x4C, 0xCA, 0x9C, 0xC4, 0xB0, 0xDF, 0x25, 0x8E, 0xA5, 0x61, 0xC8, 0xCB, 0x54, 0x10, + 0xB8, 0xDC, 0x91, 0x5D, 0xC0, 0x54, 0x16, 0xE2, 0x81, 0x93, 0x20, 0x18, 0x5F, 0xC0, 0x38, 0x59, + 0x4B, 0x97, 0x25, 0xF7, 0x1D, 0x30, 0xAF, 0xF2, 0x8B, 0x04, 0x2F, 0x0A, 0x24, 0xC0, 0x82, 0xD3, + 0xEB, 0xAB, 0xE9, 0xD0, 0x5A, 0x81, 0x99, 0x56, 0x79, 0x94, 0xF1, 0x38, 0x85, 0x7C, 0xAB, 0x0E, + 0x90, 0x06, 0xFF, 0xDD, 0x8B, 0x9C, 0x6D, 0x1C, 0x80, 0x69, 0xF1, 0x06, 0xFA, 0x68, 0x6A, 0x4D, + 0xFF, 0x5C, 0x2F, 0x5C, 0x15, 0xDE, 0x8B, 0x05, 0x2F, 0x13, 0xB8, 0x0D, 0x49, 0x56, 0x74, 0x5D, + 0x40, 0xF2, 0x65, 0x6B, 0x64, 0x04, 0xEE, 0x76, 0x49, 0x54, 0x32, 0xBC, 0x25, 0x2E, 0xF8, 0x12, + 0xDE, 0x69, 0xF8, 0x12, 0x64, 0x87, 0xF6, 0xB9, 0x74, 0x2E, 0x39, 0x73, 0xD9, 0xAE, 0xE0, 0x1D, + 0x12, 0x38, 0xB8, 0xF5, 0x90, 0x0A, 0x44, 0x43, 0x46, 0x8D, 0xAE, 0x80, 0x4E, 0x69, 0x1E, 0xAF, + 0x8C, 0x23, 0x19, 0x73, 0x2C, 0xE8, 0x0D, 0x90, 0xBA, 0x62, 0x68, 0x77, 0x08, 0x89, 0x22, 0x5C, + 0x7C, 0xD6, 0xF3, 0x42, 0x64, 0x18, 0x26, 0x25, 0x46, 0x36, 0x09, 0x9B, 0xD3, 0x70, 0x4D, 0x0C, + 0x3E, 0xC3, 0xAD, 0xC6, 0x3C, 0xA7, 0xE8, 0x64, 0x91, 0x01, 0x1E, 0x18, 0x35, 0x13, 0x6E, 0xA8, + 0x94, 0x19, 0x1E, 0x78, 0xBA, 0x5E, 0xF2, 0xB2, 0x50, 0x1D, 0x35, 0xD6, 0x70, 0xB2, 0xE4, 0x6A, + 0x94, 0x44, 0x34, 0x01, 0x91, 0xA2, 0x35, 0x28, 0x81, 0xA5, 0x04, 0x4E, 0x3C, 0xDE, 0x42, 0x63, + 0xF1, 0x07, 0x66, 0x97, 0x57, 0xCF, 0xE9, 0xD6, 0xA8, 0x60, 0xD6, 0xA6, 0x52, 0x38, 0x05, 0x68, + 0x7E, 0x1A, 0x29, 0x29, 0x64, 0x16, 0xB9, 0x7D, 0x51, 0x00, 0x2D, 0x74, 0x04, 0x06, 0x3A, 0x78, + 0x0B, 0x5F, 0xA4, 0x79, 0xC6, 0xE7, 0x71, 0x6A, 0x38, 0x5B, 0x60, 0xC7, 0xAE, 0x21, 0x9B, 0x01, + 0xE9, 0xA2, 0x2F, 0x9C, 0xFA, 0x50, 0xE0, 0x77, 0x7C, 0x6D, 0x93, 0xDE, 0x36, 0x8A, 0x46, 0xDE, + 0xAB, 0xE3, 0xAD, 0x9D, 0x56, 0xA1, 0x79, 0xE9, 0x65, 0x78, 0xDC, 0xEF, 0x0B, 0x8D, 0xFA, 0x13, + 0x0A, 0xB9, 0xCD, 0xFB, 0x16, 0x04, 0x0C, 0x62, 0x7A, 0x27, 0xE3, 0x1D, 0x21, 0xD3, 0xDF, 0x07, + 0x8D, 0x98, 0x6E, 0x63, 0xBD, 0xC6, 0x59, 0x99, 0x83, 0x25, 0x77, 0x9B, 0xDE, 0x0E, 0x97, 0x9E, + 0xE4, 0x75, 0xBC, 0xAC, 0x01, 0x85, 0xFB, 0xEA, 0x21, 0xA6, 0xC4, 0xC2, 0x36, 0xB4, 0x34, 0x0F, + 0xB9, 0x54, 0x9C, 0x07, 0x99, 0xF0, 0x04, 0x27, 0x16, 0x6F, 0x3E, 0x41, 0xC7, 0xC0, 0xA8, 0x3A, + 0x75, 0xD5, 0x98, 0x42, 0xC1, 0xEA, 0x5C, 0x7E, 0x6B, 0x13, 0x40, 0xD5, 0x46, 0x96, 0xBA, 0xD8, + 0x94, 0xF3, 0x97, 0xEA, 0x2D, 0x83, 0xF9, 0x56, 0x70, 0x6D, 0x0D, 0xB7, 0xAE, 0x22, 0xFC, 0x8F, + 0xF1, 0x74, 0xB0, 0xE5, 0xC5, 0x95, 0x69, 0xA9, 0x06, 0x6D, 0xC2, 0xD1, 0x9F, 0x7C, 0xCD, 0x45, + 0x08, 0x3A, 0x5A, 0x35, 0xFA, 0x3D, 0x67, 0xD5, 0x67, 0x38, 0x7E, 0xA5, 0xCA, 0x16, 0x53, 0x73, + 0xBA, 0xAA, 0x15, 0x5B, 0x03, 0xC3, 0xE2, 0x7F, 0x50, 0x5A, 0x85, 0x95, 0xBD, 0x87, 0x92, 0x2A, + 0xAC, 0xF9, 0xBD, 0xD5, 0x42, 0xEF, 0x0A, 0xD7, 0x96, 0xE0, 0xDC, 0x5C, 0x2E, 0xB2, 0x61, 0xFB, + 0xF1, 0x90, 0x7C, 0x02, 0xF8, 0x0D, 0x9F, 0xB9, 0x2C, 0x54, 0x5B, 0xBE, 0x0B, 0x97, 0x6A, 0x87, + 0x5D, 0x3E, 0xBA, 0x75, 0xA7, 0x3A, 0xF1, 0xA6, 0xA2, 0x8E, 0x6D, 0x7E, 0x57, 0x3C, 0xD5, 0x97, + 0x67, 0xD6, 0xB0, 0xEB, 0xA8, 0x7A, 0xBF, 0x8A, 0xCE, 0xFB, 0xB8, 0x4A, 0x92, 0x7B, 0xA9, 0x89, + 0xE4, 0xB3, 0xDF, 0x6D, 0xF6, 0x4E, 0x53, 0x98, 0x57, 0x9F, 0xC8, 0x6E, 0x82, 0x26, 0xB3, 0x0D, + 0xBD, 0x7B, 0x95, 0x94, 0x36, 0x20, 0x7A, 0x6B, 0xA1, 0xD6, 0x81, 0x29, 0xF3, 0xE8, 0xA3, 0x78, + 0x2E, 0x3F, 0x02, 0x72, 0x71, 0x5C, 0x7E, 0x5A, 0xA4, 0x72, 0xFD, 0x0A, 0x9F, 0xE5, 0xB1, 0x35, + 0xBB, 0x9A, 0xF1, 0xAC, 0x84, 0x8A, 0x83, 0x46, 0x51, 0xE0, 0xE4, 0x93, 0x22, 0x4C, 0x78, 0xB0, + 0x6A, 0xCF, 0xFA, 0x7F, 0x1D, 0x00, 0xAB, 0x2F, 0x9E, 0x76, 0x86, 0x6C, 0x35, 0x6C, 0x13, 0x68, + 0x8F, 0x9D, 0xC5, 0x57, 0xC0, 0x1D, 0x17, 0x77, 0xE2, 0x74, 0xC2, 0xA1, 0xBA, 0xF8, 0x7F, 0x41, + 0xE4, 0x87, 0x04, 0x63, 0xB9, 0xB0, 0x5D, 0x20, 0xE7, 0x5D, 0x21, 0x54, 0x92, 0xC3, 0x97, 0xB6, + 0xF0, 0xCD, 0x26, 0x43, 0x49, 0x1E, 0x5B, 0x25, 0xBB, 0x5D, 0x3B, 0x48, 0xF4, 0x90, 0x0E, 0xE2, + 0x81, 0x00, 0x7E, 0x5B, 0x58, 0x36, 0xDF, 0x03, 0xCC, 0x10, 0xE7, 0x30, 0xE9, 0x42, 0x63, 0xC4, + 0x1C, 0xA9, 0x2A, 0xE6, 0xF6, 0xF0, 0x1C, 0x99, 0xA4, 0x15, 0x3B, 0x59, 0xAA, 0xE8, 0xA6, 0x6B, + 0x3C, 0xFC, 0x14, 0x52, 0xE4, 0xAD, 0xD3, 0x12, 0x33, 0x87, 0x2B, 0x93, 0x6E, 0x93, 0x31, 0xC8, + 0x8C, 0x26, 0xC5, 0x0E, 0xBA, 0x32, 0x31, 0xB6, 0xBA, 0x27, 0x6B, 0xCF, 0x3D, 0x6B, 0x49, 0x48, + 0x85, 0xAF, 0x78, 0xA7, 0xE7, 0x17, 0xF0, 0xEC, 0x67, 0xA6, 0x93, 0x18, 0x7A, 0x8E, 0xE0, 0xE2, + 0x07, 0x29, 0x3A, 0x0D, 0xFF, 0x68, 0xA0, 0x11, 0x24, 0x86, 0xF1, 0xDD, 0x53, 0xA4, 0xFF, 0x12, + 0x88, 0x83, 0x84, 0xA5, 0x73, 0xB1, 0xC0, 0xF7, 0x0F, 0x3F, 0x74, 0x0F, 0x6A, 0xF5, 0x51, 0x6E, + 0x8A, 0x1F, 0x7B, 0x9C, 0x01, 0xE9, 0x8B, 0x49, 0x8C, 0x13, 0xDB, 0x9F, 0x27, 0x97, 0x2A, 0x35, + 0xC1, 0x92, 0x6C, 0x08, 0x28, 0x87, 0x76, 0xEF, 0x73, 0xDC, 0x2A, 0xC6, 0x4A, 0x51, 0xEE, 0x6B, + 0xDD, 0x06, 0x70, 0xA7, 0xAB, 0x90, 0x19, 0x52, 0xD2, 0x62, 0xA1, 0x90, 0x29, 0xA2, 0x21, 0xE2, + 0x77, 0x07, 0xC6, 0x4E, 0x61, 0xAF, 0xD6, 0x26, 0x29, 0xC7, 0x4F, 0x9B, 0x6B, 0x5F, 0x39, 0x77, + 0x1D, 0x8E, 0x32, 0x65, 0x05, 0x5F, 0xC1, 0x60, 0xE9, 0xB1, 0x20, 0xBC, 0x14, 0x3D, 0xC0, 0x6B, + 0xF8, 0x0E, 0x10, 0xDE, 0x61, 0xF4, 0x82, 0xAF, 0x54, 0x11, 0x98, 0x26, 0xC2, 0xAB, 0xEA, 0x93, + 0x8E, 0xFD, 0xAE, 0x0F, 0x06, 0xBA, 0x1C, 0x0F, 0x12, 0x08, 0xED, 0x8B, 0x03, 0x19, 0xF6, 0xE3, + 0xD7, 0x93, 0x9F, 0x7D, 0xF2, 0x44, 0x7D, 0x4E, 0x69, 0xC5, 0xD5, 0x31, 0x44, 0x0F, 0x12, 0xFF, + 0x38, 0x94, 0x2D, 0x80, 0xEF, 0x33, 0x59, 0x73, 0x0E, 0xBA, 0xED, 0xD7, 0xB5, 0x66, 0xC9, 0xDF, + 0x03, 0x0B, 0xFC, 0x0A, 0xD7, 0xFB, 0xFC, 0x72, 0xC7, 0x1B, 0x5C, 0x97, 0x17, 0xA8, 0xBB, 0x4C, + 0x95, 0x83, 0x8C, 0x1E, 0xE8, 0x76, 0xB6, 0xC6, 0xBE, 0x75, 0x09, 0xF7, 0xB2, 0x12, 0x3D, 0x7E, + 0x04, 0x9B, 0xE1, 0xF2, 0xC5, 0xCD, 0x51, 0xFC, 0x9A, 0x6A, 0x0B, 0xCB, 0x42, 0xF0, 0x65, 0x5F, + 0xE8, 0xAF, 0xF0, 0x8B, 0x1D, 0x35, 0xA5, 0x86, 0x9F, 0x43, 0x04, 0xB8, 0xC4, 0xB2, 0xA5, 0xBC, + 0x41, 0x93, 0x05, 0x85, 0xB7, 0xCC, 0xD0, 0xBA, 0xB4, 0xEA, 0xF3, 0xDE, 0xFE, 0x0C, 0xD8, 0x63, + 0x42, 0xDB, 0xF6, 0x79, 0xD6, 0x39, 0x4F, 0x21, 0x60, 0x10, 0x8A, 0x72, 0x84, 0x25, 0x15, 0xFC, + 0x9F, 0x3D, 0x0A, 0x81, 0xA6, 0x08, 0xD5, 0x04, 0xEF, 0xFB, 0x54, 0xCC, 0xA4, 0xA4, 0xF5, 0xEA, + 0x4E, 0x5D, 0xA9, 0x6A, 0xB9, 0xF2, 0xC7, 0x88, 0x93, 0xCF, 0xAC, 0xBE, 0x1C, 0xEE, 0x8F, 0xC1, + 0x90, 0xF6, 0xAB, 0xFD, 0xDF, 0xAF, 0x69, 0xA7, 0x29, 0xB1, 0x5C, 0xBB, 0xFF, 0x01, 0x6A, 0x93, + 0xAD, 0xFA, 0x1E, 0x95, 0x1C, 0xC0, 0xDF, 0xA3, 0xA3, 0xFB, 0x6C, 0xB4, 0xE0, 0x50, 0x42, 0x2B, + 0x7E, 0xF1, 0x26, 0xDF, 0xEF, 0xD5, 0xA5, 0x79, 0xF3, 0xC6, 0x58, 0xEE, 0x2E, 0x7E, 0x50, 0x80, + 0x6B, 0x48, 0x85, 0x9F, 0x54, 0xE8, 0xB6, 0x8A, 0x4B, 0xB3, 0xC8, 0xAF, 0xBE, 0x6F, 0x6B, 0xBD, + 0x86, 0xA9, 0x59, 0x9E, 0x33, 0xA8, 0x5E, 0x20, 0xD6, 0xD8, 0x4B, 0xBE, 0x22, 0x47, 0x3B, 0x9A, + 0xA1, 0xC3, 0x14, 0xE4, 0x76, 0xDE, 0x5C, 0xED, 0xBE, 0x5B, 0x0A, 0x53, 0xDA, 0xD0, 0xB9, 0x4A, + 0x5C, 0x6C, 0xA4, 0xB8, 0x7D, 0xEA, 0x82, 0x8A, 0xFB, 0xB3, 0x80, 0xD6, 0xB3, 0xED, 0xD3, 0x97, + 0x3B, 0x72, 0x12, 0x2F, 0xE2, 0xA9, 0xC8, 0x6C, 0xDB, 0xFD, 0x93, 0xA1, 0xED, 0xB2, 0x9D, 0xED, + 0x92, 0x18, 0xF8, 0x55, 0xF1, 0x89, 0xA6, 0x33, 0xAF, 0x8A, 0xA8, 0x79, 0xCE, 0x6D, 0x15, 0x5E, + 0x70, 0xA9, 0xB4, 0xC0, 0x25, 0xAC, 0x7A, 0x35, 0x37, 0xF3, 0x5A, 0xDD, 0x22, 0xF8, 0x6C, 0x5D, + 0x74, 0xD5, 0x23, 0xDC, 0xA6, 0x3A, 0xB1, 0x85, 0xD2, 0x8A, 0xD8, 0x36, 0xF9, 0xC4, 0x2E, 0x08, + 0x9E, 0xB8, 0xFF, 0x57, 0x43, 0x80, 0xCF, 0xE7, 0xF0, 0xD8, 0x91, 0x1C, 0x5C, 0xBA, 0x9A, 0x70, + 0x6D, 0x27, 0x5A, 0xCF, 0xDB, 0xD6, 0xE5, 0x0F, 0x36, 0xC7, 0x53, 0x0F, 0x30, 0xAF, 0xB5, 0xFC, + 0xD1, 0x1E, 0x41, 0x49, 0xE5, 0x1C, 0x92, 0xDA, 0x61, 0x53, 0x9A, 0xF6, 0x0F, 0x77, 0x7D, 0x88, + 0xD1, 0x71, 0xFD, 0x7C, 0xD9, 0xF1, 0x3B, 0xC7, 0x68, 0x38, 0x85, 0x37, 0xEA, 0x61, 0x62, 0x32, + 0xC7, 0x9A, 0x18, 0xDC, 0x64, 0xDA, 0x12, 0xC4, 0x46, 0xBB, 0x52, 0x2D, 0xCD, 0x58, 0x4E, 0xCE, + 0x52, 0x2D, 0xBC, 0xB1, 0x72, 0x9B, 0x9A, 0x4B, 0x06, 0x6D, 0x29, 0xBB, 0xC5, 0x8B, 0x66, 0xD2, + 0x6E, 0x53, 0x55, 0x8F, 0xEC, 0x1F, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xB7, 0x4A, 0x48, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x2B, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, + 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, + 0x6C, 0x69, 0x62, 0x2F, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6E, 0x74, 0x69, 0x61, 0x6C, 0x2F, 0x50, + 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x3A, 0x64, 0xDF, + 0xB1, 0x17, 0x11, 0x00, 0x00, 0xE9, 0x44, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, + 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, + 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x63, 0x72, 0x65, + 0x64, 0x65, 0x6E, 0x74, 0x69, 0x61, 0x6C, 0x2F, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6E, 0x74, 0x69, + 0x61, 0x6C, 0x2D, 0x69, 0x6E, 0x74, 0x65, 0x72, 0x6E, 0x61, 0x6C, 0x2E, 0x6A, 0x73, 0xED, 0x1B, + 0xFD, 0x73, 0xEA, 0x44, 0xF0, 0xF7, 0xFE, 0x15, 0x27, 0x33, 0x0A, 0x28, 0x04, 0xBF, 0x47, 0xDB, + 0xA9, 0x8A, 0x2D, 0x55, 0xF4, 0x59, 0x3A, 0x85, 0xE7, 0xC7, 0x38, 0x0E, 0x93, 0x26, 0x07, 0x9C, + 0x0D, 0x39, 0x4C, 0x2E, 0x20, 0xEA, 0xF3, 0x6F, 0x77, 0xF7, 0x3E, 0x72, 0x97, 0x90, 0x00, 0xB5, + 0xAD, 0x8E, 0x33, 0x76, 0xE6, 0x3D, 0x20, 0xB7, 0xB7, 0xB7, 0xDF, 0xBB, 0xB7, 0x77, 0xE9, 0xBD, + 0xF9, 0x1A, 0x99, 0xB1, 0x84, 0xDE, 0xF9, 0x29, 0xED, 0xFA, 0xE1, 0x92, 0xC5, 0x64, 0xFD, 0xB1, + 0xF7, 0xBE, 0xF7, 0x2E, 0x79, 0xB3, 0x77, 0xD2, 0xC8, 0x52, 0x4A, 0x52, 0x91, 0xB0, 0x40, 0x34, + 0xCE, 0x4E, 0x00, 0xF4, 0x84, 0xBC, 0x49, 0x2E, 0xF8, 0x6A, 0x9B, 0xB0, 0xF9, 0x42, 0x90, 0x77, + 0xDF, 0x7E, 0xF7, 0x6D, 0xF2, 0x05, 0xE7, 0xF3, 0x88, 0x92, 0x61, 0x1C, 0x78, 0x30, 0x8A, 0x00, + 0x2F, 0x58, 0x40, 0xE3, 0x94, 0x86, 0x24, 0x8B, 0x43, 0x9A, 0x10, 0xB1, 0xA0, 0xA4, 0xBF, 0xF2, + 0x03, 0xF8, 0xD0, 0x23, 0x1D, 0xF2, 0x2D, 0x4D, 0x52, 0xC6, 0x63, 0xF2, 0xAE, 0xF7, 0x36, 0x69, + 0x21, 0x40, 0x43, 0x0F, 0x35, 0xDA, 0x67, 0x88, 0x62, 0xCB, 0x33, 0xB2, 0xF4, 0xB7, 0x24, 0xE6, + 0x82, 0x00, 0x0D, 0x80, 0x83, 0xA5, 0x40, 0x26, 0xAC, 0x43, 0x7F, 0x0D, 0xE8, 0x4A, 0x10, 0x20, + 0x33, 0xE0, 0xCB, 0x55, 0xC4, 0xFC, 0x38, 0xA0, 0x64, 0xC3, 0xC4, 0x02, 0x60, 0xF2, 0x05, 0x3C, + 0xC4, 0xF1, 0x83, 0xC6, 0xC1, 0xEF, 0x84, 0x0F, 0xE0, 0x3E, 0x4C, 0x58, 0xC1, 0xAF, 0x99, 0x0B, + 0x48, 0x7C, 0xA1, 0x89, 0x26, 0x64, 0x21, 0xC4, 0xEA, 0xB4, 0xD7, 0xDB, 0x6C, 0x36, 0x9E, 0x2F, + 0xC9, 0xF5, 0x78, 0x32, 0xEF, 0x45, 0x0A, 0x30, 0xED, 0xBD, 0x18, 0x5E, 0x0C, 0xAE, 0xC7, 0x83, + 0x2E, 0x90, 0xAC, 0xA7, 0xBC, 0x8C, 0x23, 0x9A, 0xA6, 0x24, 0xA1, 0xBF, 0x64, 0x2C, 0x01, 0x76, + 0xEF, 0xB6, 0xC4, 0x5F, 0xAD, 0x60, 0x82, 0x7F, 0x07, 0x84, 0x46, 0xFE, 0x86, 0xF0, 0x84, 0xF8, + 0xF3, 0x84, 0xC2, 0x98, 0xE0, 0x48, 0xF2, 0x26, 0x61, 0x82, 0xC5, 0xF3, 0x0E, 0x49, 0xF9, 0x4C, + 0x6C, 0xFC, 0x84, 0x22, 0x9A, 0x90, 0xA1, 0x84, 0xEF, 0x32, 0x61, 0x24, 0x56, 0x20, 0x90, 0xA5, + 0x05, 0x00, 0x0E, 0x8C, 0xC4, 0xA4, 0xD1, 0x1F, 0x93, 0xE1, 0xB8, 0x41, 0x3E, 0xEF, 0x8F, 0x87, + 0xE3, 0x0E, 0x22, 0xF9, 0x6E, 0x38, 0xF9, 0x72, 0xF4, 0x72, 0x42, 0xBE, 0xEB, 0xDF, 0xDE, 0xF6, + 0xAF, 0x27, 0xC3, 0xC1, 0x98, 0x8C, 0x6E, 0xC9, 0xC5, 0xE8, 0xFA, 0x72, 0x38, 0x19, 0x8E, 0xAE, + 0xE1, 0xD7, 0x15, 0xE9, 0x5F, 0xFF, 0x40, 0xBE, 0x1E, 0x5E, 0x5F, 0x76, 0x08, 0x65, 0xB0, 0x44, + 0x02, 0xB2, 0x5C, 0x25, 0xC0, 0x01, 0x92, 0xC9, 0x50, 0x96, 0x34, 0x94, 0x82, 0x1B, 0x53, 0x5A, + 0x20, 0x61, 0xC6, 0x15, 0x49, 0xE9, 0x8A, 0x06, 0x6C, 0xC6, 0x02, 0x60, 0x2D, 0x9E, 0x67, 0xFE, + 0x9C, 0x92, 0x39, 0x5F, 0xD3, 0x24, 0x06, 0x8E, 0xC8, 0x8A, 0x26, 0x4B, 0x96, 0xA2, 0x4E, 0x53, + 0x20, 0x30, 0x44, 0x34, 0x11, 0x5B, 0x32, 0xE1, 0x0B, 0x7C, 0xB4, 0xCB, 0x17, 0x2E, 0xD4, 0x3B, + 0x19, 0xDD, 0xFD, 0x4C, 0x03, 0xE1, 0x85, 0x74, 0xC6, 0x62, 0x7A, 0x93, 0x70, 0xC0, 0x22, 0xB6, + 0x2D, 0x20, 0x8B, 0x27, 0x22, 0xED, 0x90, 0xC6, 0x74, 0x4A, 0xD3, 0x6F, 0x78, 0x98, 0x45, 0xB4, + 0xD1, 0x21, 0xBF, 0x93, 0xB5, 0x1F, 0x65, 0xF4, 0x94, 0x88, 0x24, 0xA3, 0xE4, 0x15, 0x18, 0x8A, + 0x06, 0xF4, 0xE6, 0x54, 0xF4, 0xA5, 0xE0, 0xE5, 0x6A, 0x97, 0x74, 0xE6, 0x67, 0x91, 0x20, 0xE7, + 0xC4, 0x8C, 0xB3, 0x74, 0xEF, 0xF0, 0x2D, 0x9D, 0x81, 0x18, 0x16, 0x13, 0x7E, 0x4F, 0xE3, 0x0B, + 0x50, 0x24, 0x8D, 0x05, 0xF3, 0x23, 0x07, 0xE0, 0x02, 0x2C, 0x0D, 0xA4, 0x3F, 0x88, 0xE7, 0x40, + 0x66, 0x25, 0xC4, 0x98, 0x26, 0x6B, 0x60, 0xAC, 0x1F, 0x04, 0x3C, 0x8B, 0x45, 0x01, 0x64, 0xCD, + 0x59, 0x48, 0xDE, 0x3E, 0x3B, 0x59, 0xFB, 0x09, 0x99, 0xA5, 0xF0, 0x40, 0xDB, 0x4B, 0xAB, 0x31, + 0x4B, 0x1B, 0x6D, 0xF5, 0x9C, 0x17, 0x9E, 0xF3, 0xFC, 0xF9, 0xCA, 0x17, 0x0B, 0x77, 0x04, 0x7F, + 0x9B, 0x31, 0x9A, 0x24, 0x3C, 0x99, 0xBE, 0xE3, 0x0E, 0x7B, 0x5E, 0x2F, 0x13, 0x2C, 0x4A, 0x7B, + 0x72, 0xCC, 0x00, 0xFA, 0x2B, 0x36, 0x45, 0x10, 0x9A, 0x8A, 0x1A, 0x70, 0x80, 0xE8, 0x6A, 0x08, + 0x33, 0x09, 0x07, 0x2A, 0x61, 0x41, 0x07, 0x2C, 0xF4, 0x85, 0x45, 0xFF, 0xC5, 0x68, 0xF4, 0xC5, + 0x8B, 0xC1, 0x74, 0x32, 0xFA, 0x7A, 0x70, 0x3D, 0xED, 0xBF, 0xBC, 0x1C, 0x0E, 0xAE, 0x2F, 0x06, + 0x30, 0xB5, 0x89, 0xFE, 0x94, 0x82, 0x43, 0xF9, 0x52, 0x28, 0xA8, 0x26, 0x19, 0x29, 0x3C, 0xF0, + 0xDB, 0x1E, 0xEF, 0x71, 0x3F, 0x13, 0x8B, 0x77, 0x7B, 0x02, 0x85, 0xDE, 0x74, 0x31, 0x01, 0x8E, + 0xC9, 0x97, 0x1A, 0xDD, 0x97, 0xA3, 0xF1, 0x04, 0x51, 0x55, 0xA0, 0xA8, 0x9D, 0x73, 0xD3, 0x9F, + 0x7C, 0x89, 0x73, 0x76, 0xD7, 0xE8, 0xF5, 0xC8, 0xF5, 0x68, 0x32, 0x38, 0x45, 0x3B, 0x34, 0x61, + 0xEB, 0x1B, 0x2A, 0x7C, 0x60, 0xC7, 0x27, 0x5A, 0x83, 0x18, 0x6D, 0x52, 0xF2, 0xE5, 0x64, 0x72, + 0x43, 0xD0, 0xB6, 0x21, 0x6A, 0xAC, 0xC1, 0xDA, 0xDD, 0xA5, 0xBE, 0x19, 0x4C, 0xFA, 0x97, 0xFD, + 0x49, 0x7F, 0x3A, 0x1E, 0xDC, 0x7E, 0x0B, 0x31, 0x21, 0x27, 0x72, 0xA9, 0x51, 0x19, 0x22, 0x59, + 0x2C, 0xC0, 0x39, 0xFC, 0x08, 0x56, 0xDE, 0x33, 0xBD, 0x4C, 0x75, 0xA0, 0x6C, 0xCD, 0xD0, 0xD5, + 0x5B, 0xBF, 0xD3, 0x63, 0x71, 0x2A, 0x30, 0xCC, 0xF5, 0x52, 0x45, 0x63, 0xD7, 0x88, 0xA3, 0x17, + 0x2A, 0x5B, 0x56, 0x1C, 0x1E, 0x58, 0xE7, 0xE6, 0x76, 0xF4, 0xD5, 0xE0, 0x62, 0x32, 0x1D, 0x5E, + 0xEE, 0x5D, 0x6C, 0x95, 0x70, 0xF4, 0x49, 0xF3, 0xD9, 0x65, 0xA1, 0xC6, 0x1B, 0xF0, 0x78, 0xC6, + 0xE6, 0x97, 0x2C, 0x81, 0x99, 0xAD, 0x59, 0x16, 0x07, 0xE8, 0x4C, 0xA4, 0xD5, 0x26, 0xBF, 0x9F, + 0x10, 0xF8, 0x03, 0xE1, 0x7E, 0xC7, 0xE2, 0x90, 0x6F, 0x52, 0xB2, 0xF0, 0x53, 0x90, 0x5B, 0x48, + 0x43, 0xF0, 0x38, 0x8C, 0x59, 0x11, 0xDF, 0x74, 0x65, 0xC2, 0x48, 0xE1, 0xAB, 0x72, 0x42, 0x8C, + 0x29, 0x18, 0x2C, 0x01, 0x50, 0x90, 0x3F, 0x7B, 0x8E, 0x7B, 0x92, 0x4B, 0x20, 0x44, 0x62, 0xC4, + 0x45, 0xD3, 0x2D, 0x7A, 0x06, 0x4F, 0xBD, 0x55, 0xE4, 0x0B, 0x98, 0xB3, 0x6C, 0xB5, 0xCF, 0xE4, + 0x20, 0x9B, 0x91, 0x16, 0x0E, 0xBE, 0xF1, 0x06, 0xC2, 0x78, 0x11, 0x8D, 0xE7, 0xE0, 0x2A, 0x9F, + 0x9C, 0x93, 0xF7, 0xCC, 0xA3, 0x34, 0xBB, 0xC3, 0xB0, 0x19, 0xCF, 0x5B, 0x6F, 0x77, 0xC8, 0x7B, + 0x6D, 0x4F, 0xF0, 0x17, 0x7C, 0x43, 0x93, 0x0B, 0xC8, 0x73, 0x40, 0xF4, 0xF9, 0x39, 0xF0, 0xBF, + 0x61, 0x71, 0x53, 0xD2, 0xAF, 0xFF, 0x12, 0x2A, 0xB2, 0x24, 0x26, 0xC0, 0x7A, 0x00, 0x61, 0xD1, + 0xA3, 0xF1, 0xDA, 0xEB, 0xDF, 0xDC, 0xA0, 0x14, 0xD5, 0xA2, 0xAF, 0x0C, 0xA7, 0xA3, 0x98, 0xBC, + 0x19, 0xB3, 0x5F, 0xA5, 0x21, 0xCD, 0x83, 0x88, 0x67, 0x21, 0x09, 0x22, 0x46, 0x82, 0x84, 0x02, + 0xC3, 0xC8, 0xBC, 0x07, 0x41, 0x3B, 0xF1, 0x4E, 0x6A, 0x90, 0x7E, 0x39, 0xFA, 0x66, 0x00, 0x64, + 0x4A, 0xF7, 0xF6, 0x20, 0xF4, 0xF0, 0x68, 0x4D, 0x5B, 0x65, 0x80, 0x0E, 0x69, 0x7A, 0x4A, 0xE6, + 0x4D, 0xE0, 0xF9, 0x55, 0xBB, 0x65, 0xFC, 0xED, 0xE2, 0xC5, 0xE8, 0xE5, 0xE5, 0xF4, 0xE2, 0x76, + 0x70, 0x39, 0x80, 0x40, 0xDF, 0x7F, 0x31, 0x1D, 0xBF, 0xBC, 0xBA, 0x1A, 0x7E, 0x8F, 0x0A, 0x55, + 0xB4, 0xF4, 0x7C, 0x2B, 0xCE, 0xA9, 0x36, 0x91, 0x69, 0x90, 0xC7, 0xA4, 0xD4, 0xFB, 0x39, 0xE5, + 0x71, 0xB3, 0x06, 0x9B, 0x36, 0x0E, 0xAB, 0xEE, 0x1D, 0x42, 0xF3, 0x91, 0x4E, 0x2D, 0x2D, 0x9A, + 0xD4, 0xDB, 0xC1, 0xD5, 0xED, 0x60, 0x5C, 0x76, 0x66, 0x48, 0xB0, 0xDA, 0x45, 0x20, 0xEE, 0xA4, + 0xDA, 0x97, 0x2D, 0x78, 0xD9, 0x8F, 0x8D, 0x17, 0xAF, 0xDF, 0x2F, 0x98, 0xF9, 0xE8, 0x1A, 0x3D, + 0xEF, 0xE5, 0xED, 0x74, 0x78, 0x0D, 0x26, 0x8E, 0x89, 0x6E, 0x0C, 0xD0, 0x1F, 0xBE, 0x4D, 0xDE, + 0x84, 0xFF, 0x14, 0xC8, 0x57, 0xDF, 0x4D, 0xA6, 0xFD, 0x17, 0x5F, 0x8C, 0x6E, 0x21, 0x37, 0x7E, + 0x83, 0xA8, 0x6E, 0xC7, 0xEF, 0x7E, 0xF0, 0x21, 0x06, 0x82, 0x37, 0x65, 0xFE, 0x1E, 0x42, 0xCE, + 0xA3, 0x4B, 0x10, 0x8A, 0x94, 0x14, 0x56, 0x06, 0x36, 0x70, 0x83, 0x6A, 0x7D, 0x2C, 0x3D, 0xA4, + 0x36, 0xB5, 0xDF, 0x11, 0xED, 0x77, 0x32, 0x77, 0xC9, 0x15, 0xF6, 0x84, 0x7D, 0x58, 0x83, 0x7C, + 0x16, 0x44, 0x7E, 0x9A, 0x02, 0x70, 0x85, 0xC3, 0x20, 0x80, 0xFC, 0xC4, 0x8A, 0x2A, 0xB7, 0x9B, + 0x98, 0x6E, 0xEA, 0x91, 0xCE, 0x12, 0xBE, 0x54, 0x26, 0xC7, 0xD6, 0x34, 0x06, 0xA5, 0x24, 0x3E, + 0xC4, 0x1C, 0xA8, 0xA4, 0x3C, 0x85, 0x28, 0xC7, 0xF7, 0x99, 0x1C, 0x92, 0x64, 0x5B, 0x44, 0x37, + 0xA0, 0xC3, 0x51, 0xA2, 0x32, 0xAE, 0x5A, 0xC3, 0x72, 0x44, 0x7E, 0x4E, 0x51, 0x00, 0x6A, 0x8C, + 0xEB, 0xBC, 0x23, 0xB8, 0x64, 0x7D, 0x17, 0x50, 0x16, 0x62, 0x5E, 0x69, 0x31, 0x8C, 0xF6, 0xFD, + 0x39, 0x05, 0x90, 0xD1, 0x0A, 0x19, 0xF5, 0x23, 0xF9, 0xC8, 0x93, 0xCF, 0x00, 0x97, 0x2C, 0xE3, + 0x36, 0x0B, 0xA0, 0x3B, 0xF0, 0xA3, 0x08, 0xDC, 0x52, 0x72, 0x92, 0xD0, 0x25, 0x17, 0x94, 0x48, + 0xC5, 0xCA, 0xB5, 0x68, 0x52, 0x42, 0xAC, 0x2A, 0x93, 0x80, 0x09, 0xD2, 0x07, 0x0A, 0x01, 0x35, + 0x62, 0xBE, 0xE3, 0x1C, 0xAC, 0x27, 0x86, 0x92, 0x4A, 0xC6, 0x18, 0xC0, 0x86, 0xA8, 0xB1, 0xA6, + 0x51, 0x95, 0x62, 0x60, 0x85, 0xB6, 0xF1, 0xD3, 0x1C, 0x45, 0xB4, 0xC5, 0x5A, 0x2A, 0x80, 0xC0, + 0x0E, 0xE3, 0xB9, 0x38, 0xF5, 0x7A, 0xF0, 0x0F, 0x5C, 0x8F, 0x25, 0x3C, 0x46, 0x93, 0xE8, 0x10, + 0x98, 0xC7, 0x57, 0x2B, 0x9E, 0xAA, 0xE2, 0xED, 0x8E, 0xE2, 0x22, 0xF4, 0x57, 0x83, 0xC8, 0x14, + 0x43, 0xB2, 0xEC, 0x93, 0xAC, 0x84, 0x74, 0x4D, 0x23, 0xAC, 0x60, 0x76, 0xB4, 0x01, 0x0E, 0x03, + 0x91, 0x28, 0x0B, 0x20, 0x69, 0xEA, 0x67, 0x3D, 0xF9, 0x69, 0x6C, 0xA2, 0x56, 0xE3, 0xAD, 0x7A, + 0x0D, 0x76, 0xAC, 0xC0, 0x3B, 0x39, 0x7F, 0xC6, 0xB4, 0x4C, 0x80, 0x34, 0xCF, 0x21, 0xDA, 0x99, + 0x3A, 0x04, 0x40, 0x88, 0x7D, 0x4C, 0x66, 0x10, 0x0E, 0xE8, 0x19, 0x06, 0x36, 0xF5, 0x27, 0xC5, + 0xE7, 0x59, 0x5D, 0x9E, 0xDB, 0x65, 0xCE, 0x8A, 0x30, 0x0E, 0x12, 0xF3, 0xD5, 0x42, 0xA0, 0x6F, + 0x14, 0x69, 0xC7, 0xA4, 0x21, 0xB6, 0x2B, 0xCA, 0x67, 0x7B, 0xCC, 0x52, 0x45, 0x65, 0x15, 0xB5, + 0x21, 0x30, 0x7F, 0x0A, 0xF8, 0xF2, 0xBF, 0x92, 0x90, 0x3C, 0xD4, 0x1E, 0xCE, 0xDD, 0x23, 0xA3, + 0x76, 0x61, 0xFE, 0x69, 0x85, 0x73, 0xED, 0x9B, 0x5C, 0xE2, 0x57, 0xE7, 0xC3, 0x61, 0x08, 0x9C, + 0x14, 0x67, 0xD9, 0xA1, 0x9D, 0x29, 0x6C, 0x0D, 0x7E, 0xFD, 0x35, 0xDD, 0xEE, 0xCE, 0xB1, 0x63, + 0xA5, 0x49, 0x90, 0x47, 0x40, 0xD8, 0x83, 0xA5, 0xCF, 0xA2, 0x9D, 0x59, 0xEE, 0xE0, 0xD9, 0xAE, + 0xCA, 0x2E, 0xE4, 0x28, 0xCC, 0x02, 0x46, 0x8B, 0x55, 0x9F, 0xF7, 0x65, 0x3E, 0xDC, 0x6A, 0x3B, + 0xB9, 0xAC, 0xD6, 0xF2, 0x90, 0x27, 0xC1, 0x51, 0x61, 0xB2, 0xB8, 0x0E, 0x30, 0x33, 0xC9, 0xFA, + 0x18, 0xB0, 0x97, 0x43, 0x99, 0x55, 0xB9, 0x50, 0x10, 0x8A, 0x22, 0x95, 0x0C, 0xFB, 0x10, 0xBB, + 0xBF, 0xDA, 0x88, 0xA9, 0x5A, 0xD6, 0x82, 0x82, 0x63, 0x09, 0xCC, 0xF4, 0x32, 0x6B, 0x25, 0x7E, + 0x2C, 0xA6, 0xB8, 0xD8, 0x39, 0x64, 0xCA, 0xD7, 0xDF, 0xEB, 0x33, 0x2A, 0x66, 0xF0, 0x21, 0xFD, + 0x3F, 0x85, 0x2F, 0x32, 0x03, 0xC0, 0x67, 0x93, 0xBC, 0xE5, 0xAA, 0x54, 0xCF, 0xEC, 0xE2, 0x4C, + 0x18, 0xFD, 0x79, 0x23, 0xBA, 0x77, 0x14, 0x36, 0x55, 0xC9, 0x1B, 0x7E, 0x0A, 0x82, 0x43, 0x1A, + 0xCF, 0x61, 0x8A, 0x22, 0xAB, 0xB8, 0xBC, 0x96, 0x0C, 0xAC, 0xFE, 0x7B, 0x01, 0xE3, 0x12, 0x82, + 0x08, 0x0F, 0x4F, 0x49, 0xF3, 0x06, 0x92, 0x55, 0xB3, 0x53, 0x18, 0xCB, 0x92, 0xE8, 0x94, 0x34, + 0x4C, 0x55, 0xDB, 0x00, 0xC4, 0x35, 0x05, 0xEB, 0x5B, 0x35, 0x55, 0x69, 0x11, 0xDD, 0x82, 0xFA, + 0x21, 0xC4, 0xEE, 0x53, 0x4B, 0x81, 0xE5, 0xEB, 0x82, 0x43, 0xED, 0x08, 0x9C, 0x4D, 0x80, 0xB3, + 0x26, 0x50, 0xE3, 0x24, 0xF4, 0xDE, 0xAF, 0x5D, 0x48, 0xA0, 0x5D, 0xAC, 0x85, 0xBA, 0x40, 0x11, + 0x8D, 0x03, 0x0E, 0x95, 0x56, 0x89, 0xD4, 0x57, 0xC5, 0x9F, 0x58, 0xDB, 0x9D, 0xE6, 0x22, 0x2F, + 0x8C, 0x59, 0xFF, 0x3E, 0x2D, 0xF9, 0xBE, 0x05, 0x7B, 0x75, 0x56, 0xAA, 0x90, 0xB4, 0xF8, 0x5C, + 0xBB, 0x68, 0x95, 0xAC, 0xB0, 0x63, 0x60, 0x8C, 0xB9, 0x9D, 0x1D, 0x6B, 0x6F, 0x45, 0xBB, 0xD9, + 0x6B, 0x6F, 0x90, 0x5E, 0xD9, 0x32, 0xDD, 0x51, 0x22, 0x44, 0xF8, 0x15, 0x6C, 0x13, 0x7F, 0xDC, + 0x95, 0xAB, 0x51, 0xDE, 0x6E, 0x09, 0xD2, 0x43, 0x13, 0xEB, 0xC9, 0xF2, 0xA9, 0x6B, 0x6A, 0xCD, + 0x66, 0xE7, 0xE1, 0x18, 0x4C, 0x2B, 0xC5, 0x43, 0x99, 0xE3, 0x97, 0x47, 0x21, 0x59, 0x82, 0x78, + 0xFD, 0x39, 0x44, 0xC3, 0xBF, 0x83, 0x85, 0x49, 0xD9, 0x8A, 0xAD, 0x80, 0x64, 0x79, 0xCF, 0xC4, + 0xDF, 0x41, 0x01, 0x39, 0x1B, 0x62, 0xF1, 0x8C, 0x7B, 0x14, 0x43, 0x4E, 0x09, 0xC3, 0x4F, 0xDE, + 0xCF, 0x9C, 0xC5, 0xAD, 0x26, 0x69, 0xB6, 0x77, 0x6C, 0x45, 0xD7, 0xC9, 0x34, 0x8D, 0x18, 0x98, + 0x31, 0x24, 0x5D, 0x6C, 0x89, 0x74, 0x63, 0xFA, 0xAB, 0xE8, 0xC2, 0x13, 0x4A, 0x3E, 0x43, 0x55, + 0xA7, 0x41, 0xC2, 0x56, 0xA2, 0xAB, 0x80, 0x7A, 0x31, 0xEF, 0x82, 0x4E, 0xBB, 0x7A, 0xC7, 0x99, + 0x16, 0x14, 0x0D, 0xAE, 0xED, 0x6C, 0x46, 0x9B, 0x58, 0x84, 0x6C, 0xE8, 0x9D, 0x2A, 0x07, 0xDB, + 0x85, 0x15, 0x27, 0x60, 0x86, 0xDA, 0x8B, 0x09, 0x7C, 0xF3, 0x03, 0x91, 0xF9, 0x11, 0xA6, 0xEB, + 0x6D, 0x1C, 0x2C, 0x20, 0xB7, 0xF3, 0x2C, 0x85, 0xE6, 0x0B, 0xD9, 0x50, 0x28, 0x43, 0x62, 0xF8, + 0xB7, 0x02, 0x7B, 0xA6, 0xD8, 0xB1, 0xD0, 0xA6, 0x2D, 0x53, 0xF9, 0x5D, 0x36, 0x9B, 0x99, 0x3C, + 0x6E, 0xAD, 0x1E, 0xA9, 0xF0, 0x52, 0x36, 0x8F, 0x5B, 0xCA, 0xEE, 0x3A, 0xE5, 0x28, 0xDF, 0x29, + 0xD9, 0xA1, 0x9F, 0x85, 0x0C, 0xFC, 0x93, 0x9E, 0x56, 0xEF, 0x91, 0x0B, 0xD2, 0xC4, 0xD2, 0x02, + 0xD9, 0x1E, 0xC6, 0xA7, 0x55, 0xA5, 0x6D, 0x11, 0x16, 0x1A, 0x2D, 0x19, 0x4D, 0x4E, 0x77, 0x12, + 0x46, 0x11, 0xCA, 0x8F, 0xE6, 0x3C, 0x81, 0x46, 0xCF, 0xF2, 0xB4, 0x58, 0x09, 0x3B, 0xCA, 0xB2, + 0xCE, 0x69, 0xD9, 0xAC, 0xF5, 0x51, 0xD8, 0x84, 0xB4, 0xDA, 0x30, 0xE3, 0x88, 0x9E, 0x47, 0xDD, + 0x50, 0x5E, 0x7A, 0xF7, 0x89, 0xAA, 0x88, 0x70, 0x9B, 0x81, 0xDD, 0x39, 0x53, 0x0F, 0xAE, 0x54, + 0x0F, 0x88, 0xD1, 0x14, 0x92, 0x58, 0x80, 0xD6, 0x9F, 0x6C, 0x75, 0xF1, 0xB8, 0x53, 0x8A, 0x7E, + 0x35, 0x1E, 0x5D, 0x13, 0x67, 0x5B, 0x53, 0x57, 0x96, 0x1F, 0x53, 0x8C, 0xD7, 0x94, 0x62, 0x2D, + 0xB4, 0xB4, 0x72, 0x55, 0xF5, 0x1A, 0x36, 0x42, 0xA0, 0xA7, 0x74, 0xCD, 0xE3, 0xEB, 0x2C, 0x8A, + 0x64, 0xB9, 0xA0, 0x21, 0x0D, 0xA8, 0x4D, 0xCD, 0x09, 0xDF, 0x60, 0x3A, 0x36, 0xDD, 0x1A, 0xEF, + 0x4A, 0xBB, 0x36, 0xEC, 0x78, 0x07, 0xF8, 0xA8, 0x65, 0x06, 0xCC, 0x83, 0x0B, 0x08, 0xE7, 0xA9, + 0x37, 0xBC, 0xFE, 0xB6, 0xFF, 0x62, 0xE8, 0xEE, 0xAC, 0x60, 0x3B, 0x58, 0x2E, 0xDA, 0x97, 0x19, + 0x64, 0xB0, 0x3B, 0xF8, 0x6D, 0x4A, 0x77, 0xCF, 0x71, 0x06, 0x5B, 0xD3, 0xC9, 0xBE, 0x67, 0x5F, + 0x88, 0x44, 0xC6, 0xE8, 0x8E, 0x2C, 0xE1, 0x01, 0x5B, 0x5E, 0xB5, 0x34, 0xED, 0x8F, 0x29, 0x0B, + 0x01, 0xC5, 0xC1, 0x89, 0xC6, 0xE0, 0x9B, 0xF6, 0xD7, 0xF4, 0x9E, 0x6E, 0x0F, 0x4F, 0x75, 0x6C, + 0xB5, 0x99, 0xFF, 0x9C, 0xCA, 0xE0, 0xE2, 0x4E, 0xCE, 0xDB, 0x5B, 0xDF, 0xC8, 0xF8, 0x47, 0xCF, + 0xEA, 0xE4, 0x3F, 0x58, 0xAE, 0xC4, 0x76, 0xAC, 0x76, 0xF9, 0xC5, 0x2A, 0xAD, 0xAC, 0x8A, 0x02, + 0x3E, 0x72, 0xBE, 0x23, 0x4C, 0x25, 0x41, 0x29, 0xD3, 0xDC, 0x28, 0x71, 0xFB, 0x23, 0x71, 0x93, + 0x86, 0x95, 0x4F, 0xC3, 0xD8, 0xE8, 0xD6, 0x6B, 0x56, 0x09, 0x9B, 0x42, 0x41, 0x7D, 0x04, 0x99, + 0x46, 0x84, 0x4F, 0x4E, 0x67, 0xAE, 0x8D, 0x27, 0x21, 0xD4, 0x51, 0xD8, 0x13, 0x53, 0xEA, 0xEA, + 0xFE, 0x00, 0xA9, 0x40, 0xA5, 0xD9, 0x3C, 0x14, 0x17, 0x7D, 0x0D, 0xB7, 0x0B, 0x59, 0xAC, 0xDA, + 0xC7, 0x61, 0xF3, 0x59, 0xBD, 0xCF, 0x5D, 0xD8, 0xF5, 0xB2, 0xE7, 0x48, 0x77, 0x50, 0x7C, 0xCC, + 0xA9, 0x9B, 0xF0, 0x62, 0x20, 0xAB, 0x2B, 0x9F, 0xBA, 0x6E, 0x22, 0x92, 0x6D, 0x91, 0x63, 0x35, + 0xD1, 0x5B, 0xDD, 0x33, 0xC7, 0xC2, 0xAE, 0x70, 0xA3, 0x44, 0x97, 0x65, 0xC3, 0xAB, 0x8E, 0x14, + 0xBE, 0x08, 0x16, 0x44, 0x49, 0xE5, 0x59, 0xA5, 0xD9, 0xBC, 0x02, 0xB5, 0xAB, 0x9D, 0x35, 0x54, + 0xF9, 0x60, 0x88, 0x9A, 0x30, 0x02, 0x86, 0x7B, 0x4A, 0xA0, 0x68, 0x57, 0x8B, 0x14, 0x88, 0x54, + 0xFF, 0xEF, 0xD9, 0x0A, 0x16, 0x6A, 0x45, 0xEC, 0x51, 0xE0, 0x43, 0xC3, 0xC6, 0xAE, 0xC0, 0x6C, + 0xCA, 0xAB, 0xDA, 0x19, 0x62, 0x76, 0xF1, 0x24, 0x6D, 0xAD, 0x59, 0xEA, 0x25, 0x50, 0xAC, 0x5F, + 0x01, 0xC6, 0x31, 0x94, 0x11, 0x39, 0x6A, 0x60, 0x23, 0x13, 0xB3, 0x8F, 0x9A, 0xED, 0xF6, 0x83, + 0x85, 0x89, 0x95, 0x0A, 0xCA, 0x13, 0x5B, 0x3E, 0xB0, 0x28, 0x14, 0x28, 0x58, 0x70, 0x82, 0x40, + 0x24, 0x34, 0x59, 0x6A, 0x03, 0x67, 0xF2, 0xB0, 0x4A, 0x1D, 0x7C, 0x05, 0x6A, 0x4F, 0x90, 0x62, + 0xE1, 0x12, 0x73, 0x19, 0xF8, 0x25, 0x79, 0xE1, 0x3F, 0xA8, 0xA5, 0xDA, 0x6E, 0x50, 0x8D, 0xCE, + 0x0E, 0x56, 0x17, 0xAA, 0xA6, 0x78, 0x40, 0x47, 0x0E, 0x76, 0xA3, 0x50, 0xD5, 0xC9, 0x7D, 0x87, + 0xDA, 0xD7, 0xA5, 0xB6, 0x2D, 0x66, 0x1A, 0xF0, 0x96, 0xCC, 0x35, 0xD0, 0x8F, 0xAE, 0x88, 0xB8, + 0x59, 0xEC, 0xF6, 0xFD, 0x2F, 0x64, 0xD3, 0xF6, 0x46, 0x57, 0xFA, 0x9E, 0xAA, 0x1B, 0xB1, 0xE6, + 0xC5, 0xC5, 0x02, 0xEC, 0xC6, 0x99, 0x7A, 0x44, 0x2E, 0xE5, 0xAB, 0x9F, 0xBA, 0x99, 0x5A, 0x96, + 0x03, 0xA0, 0x07, 0x5A, 0x31, 0x0F, 0x83, 0x4C, 0x89, 0x3A, 0x26, 0x22, 0xA6, 0x6B, 0x0F, 0xFD, + 0x34, 0xB3, 0xA8, 0x3E, 0x47, 0x32, 0x10, 0x4B, 0x38, 0x64, 0x84, 0x4F, 0x5B, 0xB7, 0x14, 0xCE, + 0x99, 0x1E, 0xD6, 0x4D, 0x34, 0x4F, 0xEA, 0x70, 0xB4, 0xF2, 0x7D, 0x1D, 0xCC, 0x78, 0x64, 0xEB, + 0xE0, 0x98, 0x3E, 0x91, 0x54, 0x7D, 0x91, 0x98, 0xC7, 0x76, 0x17, 0xF2, 0x3D, 0xBB, 0x5A, 0xFC, + 0x2E, 0x63, 0x51, 0x78, 0xAB, 0x9E, 0xB5, 0x0E, 0x1F, 0xAE, 0xB4, 0x9F, 0x6E, 0x13, 0x7B, 0x14, + 0x57, 0x37, 0xA6, 0x12, 0xD9, 0xCB, 0xD3, 0x14, 0x57, 0xD4, 0x1C, 0x15, 0xAA, 0x9C, 0x72, 0x39, + 0x53, 0x1D, 0xB7, 0x60, 0x11, 0x38, 0x75, 0xA5, 0xA6, 0x35, 0x5F, 0x9A, 0xE4, 0x7A, 0xE2, 0xA3, + 0x25, 0x69, 0x8F, 0x8F, 0x6A, 0xC4, 0x59, 0x92, 0x9D, 0x97, 0xD2, 0x38, 0x6C, 0x19, 0xF9, 0x15, + 0x88, 0xF7, 0xD0, 0xCB, 0x1C, 0x1B, 0x06, 0xEA, 0x57, 0x65, 0x06, 0xA7, 0x3B, 0x4D, 0x37, 0x84, + 0xF2, 0x04, 0xA4, 0xD4, 0xB3, 0x0A, 0x49, 0x94, 0xE1, 0x1D, 0xCE, 0x4B, 0x6B, 0xCB, 0xA8, 0x9C, + 0x2F, 0x2E, 0xC3, 0xB3, 0x5D, 0xDB, 0x8A, 0x28, 0xA4, 0x42, 0x76, 0xE0, 0x24, 0x40, 0xEE, 0xCB, + 0x7C, 0x56, 0xE1, 0x1C, 0x03, 0x15, 0xE0, 0x3F, 0xC5, 0xD8, 0x74, 0x29, 0xA7, 0x61, 0xCA, 0xBD, + 0x05, 0x72, 0x39, 0x1C, 0x74, 0xE3, 0x7C, 0x2F, 0xD1, 0x3F, 0xDA, 0xD0, 0x85, 0xC4, 0xDF, 0x3A, + 0xBE, 0x9F, 0x3D, 0x5F, 0xE8, 0x6E, 0xE4, 0xA1, 0x1B, 0x59, 0x81, 0xC3, 0x79, 0x0C, 0x38, 0x5A, + 0x3C, 0x64, 0x78, 0x79, 0x4A, 0xA0, 0x7F, 0xA5, 0x99, 0x74, 0xCD, 0xE4, 0xA1, 0x86, 0xEE, 0x9A, + 0x4E, 0xC1, 0xD0, 0xA1, 0x35, 0x65, 0xB2, 0x6F, 0x51, 0x53, 0x75, 0x0D, 0xB7, 0x2F, 0x06, 0xF5, + 0xFD, 0x36, 0xD5, 0x6E, 0xDB, 0x7B, 0x00, 0x0B, 0xC3, 0x7A, 0xC9, 0xE3, 0xBB, 0x6C, 0xE6, 0xD8, + 0xB3, 0x7B, 0x15, 0xF9, 0x6B, 0x9E, 0x60, 0xA3, 0x4D, 0x05, 0xEA, 0x72, 0x37, 0xED, 0xEF, 0x76, + 0xCC, 0x0A, 0x99, 0xAF, 0x4E, 0x9A, 0x26, 0x05, 0x1E, 0xBE, 0x6C, 0x50, 0x33, 0xF2, 0x04, 0xD9, + 0x33, 0x51, 0x37, 0x20, 0xF4, 0x33, 0x9B, 0x90, 0xDC, 0x9B, 0x11, 0x0F, 0xCB, 0x47, 0x75, 0xA7, + 0x5B, 0x05, 0x94, 0x8F, 0x38, 0xDB, 0x4A, 0x1C, 0x34, 0x85, 0x23, 0x84, 0x5B, 0x97, 0x95, 0xFA, + 0x73, 0xAD, 0xA4, 0x00, 0xD6, 0xC2, 0x46, 0x97, 0xDB, 0x4B, 0x68, 0xFF, 0x7F, 0xD0, 0xF5, 0x1C, + 0x07, 0x5D, 0xD5, 0xCA, 0x6F, 0xB9, 0xCA, 0xFC, 0xEF, 0x1C, 0x72, 0x49, 0x08, 0x97, 0x74, 0xE7, + 0x8C, 0xCB, 0x7D, 0x7C, 0xF4, 0x09, 0x97, 0x2B, 0x1D, 0x7B, 0xBE, 0xE5, 0xA2, 0x3A, 0x70, 0xBA, + 0x55, 0xC0, 0x50, 0x3F, 0xF1, 0x69, 0x8E, 0x8E, 0xDC, 0xB5, 0x1E, 0x5B, 0xDA, 0xD9, 0xD3, 0xA0, + 0xBC, 0x29, 0xC4, 0x42, 0x3C, 0xBB, 0xD9, 0x15, 0xB2, 0x6E, 0x49, 0x0C, 0x43, 0x18, 0x6C, 0xBE, + 0x51, 0x3A, 0x11, 0xCA, 0x67, 0xA7, 0x14, 0x3C, 0x43, 0xEC, 0xC5, 0x30, 0x96, 0x20, 0xD5, 0x58, + 0x34, 0xF8, 0x54, 0xBA, 0x6B, 0x35, 0x96, 0xC2, 0x8F, 0x2A, 0x2C, 0x85, 0x73, 0xAD, 0x02, 0xC2, + 0xE6, 0x73, 0x9C, 0x45, 0xED, 0xDE, 0xB5, 0xC8, 0x1F, 0xFE, 0x7F, 0x06, 0xB5, 0x9B, 0x8E, 0x8B, + 0xB1, 0x68, 0x37, 0x1B, 0x1F, 0xBC, 0x1B, 0x58, 0x33, 0x7D, 0x27, 0x6D, 0x1E, 0x93, 0x2C, 0x2B, + 0xE3, 0xA3, 0xE9, 0x3D, 0x1F, 0xD5, 0x52, 0x85, 0x2E, 0xAE, 0xF9, 0x7E, 0x5C, 0x13, 0xD7, 0xF5, + 0x01, 0x3D, 0xD5, 0xFA, 0xCD, 0xE1, 0xE9, 0xAE, 0xF1, 0xC3, 0xF4, 0xA2, 0xC3, 0x1C, 0x9E, 0x2E, + 0xD0, 0xA6, 0xF4, 0xE7, 0xD3, 0x34, 0x7E, 0x25, 0xFD, 0xC7, 0xF4, 0x7D, 0x0B, 0xF5, 0x41, 0xA9, + 0x39, 0xA9, 0xBB, 0x92, 0x4F, 0xD6, 0xE6, 0x75, 0x85, 0xFC, 0x34, 0x84, 0x29, 0xFD, 0x3C, 0x09, + 0x71, 0xAE, 0x0A, 0x1F, 0x49, 0x5C, 0x41, 0xFB, 0x4F, 0x42, 0x1C, 0x1A, 0xC6, 0x23, 0x89, 0x42, + 0x14, 0x8D, 0xFF, 0x7A, 0x63, 0x59, 0xFD, 0xDF, 0xCB, 0x4B, 0xAC, 0x49, 0x02, 0x47, 0x63, 0x58, + 0xA6, 0x45, 0xDC, 0x0F, 0x89, 0x5F, 0x08, 0x18, 0xAA, 0xCE, 0xF3, 0xD5, 0x65, 0x3D, 0xD5, 0x5E, + 0x4C, 0x75, 0x07, 0x51, 0x15, 0xBE, 0x21, 0xA7, 0x69, 0xDC, 0x14, 0x50, 0xDC, 0xB1, 0x14, 0xCB, + 0x61, 0xB7, 0x26, 0x94, 0x7D, 0x33, 0x5F, 0x58, 0x60, 0x06, 0x73, 0x63, 0x79, 0xD9, 0xD7, 0x73, + 0x6B, 0xB9, 0xC2, 0x8A, 0x4F, 0xD4, 0x79, 0x75, 0x51, 0xFE, 0xDF, 0x77, 0xAD, 0xE8, 0xBB, 0x16, + 0x76, 0x2B, 0x0F, 0x6D, 0xB8, 0xBA, 0xD2, 0x2D, 0xB5, 0x5B, 0x2F, 0x16, 0x34, 0xB8, 0x47, 0x1B, + 0xB1, 0x3B, 0xAF, 0xD2, 0x8E, 0x42, 0xDA, 0x19, 0x50, 0xB2, 0x66, 0xBE, 0x84, 0x71, 0x8A, 0x80, + 0xBC, 0x19, 0x6A, 0x67, 0xE0, 0xC9, 0x7B, 0xB0, 0xF0, 0x63, 0x96, 0xEA, 0x8E, 0xAA, 0xEA, 0xBB, + 0x06, 0x51, 0x06, 0x9C, 0x12, 0xD8, 0x0D, 0xD5, 0x6D, 0x61, 0xF3, 0x06, 0x4B, 0xDA, 0xC1, 0xB3, + 0x78, 0x5C, 0xAA, 0xF6, 0x0C, 0x19, 0x01, 0x6A, 0xB2, 0x2F, 0x2C, 0x67, 0x31, 0xA9, 0x1D, 0xEF, + 0x06, 0x76, 0x40, 0x9A, 0x09, 0xE9, 0x1F, 0xF0, 0x20, 0x8A, 0xBA, 0xF7, 0x31, 0xDF, 0x28, 0x39, + 0xE2, 0xCB, 0x0F, 0xEE, 0x76, 0x08, 0x53, 0x10, 0x83, 0x96, 0x31, 0x52, 0x92, 0xF8, 0x6A, 0xA3, + 0x05, 0x1C, 0xED, 0x6C, 0x8B, 0xF2, 0xA5, 0x70, 0x61, 0xA1, 0x5E, 0x9C, 0x38, 0xC9, 0xF7, 0x72, + 0xAE, 0x14, 0x27, 0xC0, 0x4B, 0xB0, 0xCB, 0x29, 0x2A, 0x37, 0x40, 0xF9, 0xAB, 0xDD, 0x76, 0xEE, + 0x3E, 0x55, 0xEF, 0x2A, 0xB4, 0xEC, 0x7C, 0x34, 0x68, 0xAB, 0xDC, 0x2A, 0xC4, 0x7C, 0x56, 0x2B, + 0xE5, 0x3F, 0xFE, 0xC8, 0x2D, 0xA5, 0x55, 0x39, 0xB3, 0x5E, 0xE8, 0x6F, 0xBC, 0xE1, 0xAC, 0xE5, + 0xE5, 0x7B, 0xB1, 0x23, 0x50, 0xBA, 0xAA, 0x3A, 0x8C, 0x10, 0x2C, 0xF4, 0xE4, 0xC0, 0x6B, 0x1B, + 0x55, 0x8F, 0xCF, 0xAC, 0x00, 0x2B, 0x5F, 0x06, 0xD9, 0x69, 0x7F, 0xA3, 0xD1, 0x17, 0xAE, 0x5C, + 0x9B, 0x2B, 0x5B, 0x37, 0x37, 0xF0, 0xA2, 0x4F, 0x1F, 0xDF, 0x99, 0x71, 0x5C, 0x72, 0x6C, 0x66, + 0x55, 0x89, 0x5E, 0xB6, 0xFB, 0x30, 0x48, 0x3D, 0x00, 0x9F, 0xB3, 0xB3, 0x6D, 0x97, 0xEE, 0x96, + 0x0F, 0x05, 0xC6, 0xDE, 0xD1, 0xD7, 0x68, 0x20, 0x18, 0x6F, 0x16, 0xFE, 0xDA, 0x79, 0xFF, 0xC9, + 0x23, 0xC3, 0x19, 0x61, 0x12, 0x04, 0xDF, 0xDD, 0x51, 0x3B, 0x63, 0x7B, 0x15, 0x40, 0x05, 0xEC, + 0x9C, 0xC1, 0xEA, 0xDB, 0xDD, 0xE5, 0xDD, 0x57, 0x69, 0x0F, 0x8B, 0x31, 0xD7, 0x2A, 0x0A, 0x19, + 0xAB, 0xC1, 0xD3, 0x91, 0x6F, 0xE2, 0xB4, 0x8B, 0x45, 0x5A, 0xA1, 0xAC, 0x38, 0x2E, 0xE6, 0xD7, + 0x74, 0x02, 0x1C, 0x19, 0xE9, 0x95, 0x76, 0xB3, 0x63, 0x11, 0xEB, 0x11, 0x87, 0x1F, 0x60, 0x5F, + 0x07, 0x5F, 0x1B, 0xAA, 0x7C, 0x6E, 0x83, 0x26, 0x5F, 0x31, 0x75, 0x3A, 0x64, 0x5B, 0x23, 0x79, + 0x99, 0xA1, 0x62, 0x0C, 0x8F, 0xA9, 0x6E, 0x3A, 0xC9, 0x66, 0x53, 0xCC, 0x31, 0x8E, 0x98, 0x08, + 0x31, 0x9C, 0x81, 0x5A, 0xF3, 0x09, 0x2A, 0x19, 0xA7, 0xD8, 0x5B, 0xB1, 0x31, 0xB8, 0x81, 0xC7, + 0xF7, 0x1D, 0x08, 0x5B, 0xFC, 0x3E, 0x55, 0x6F, 0x4A, 0x58, 0x78, 0x79, 0xAB, 0x2B, 0xEF, 0xC7, + 0x34, 0xFC, 0x48, 0x34, 0x54, 0xCC, 0x0C, 0x14, 0x5D, 0x4C, 0x48, 0xE7, 0x03, 0x1D, 0xE2, 0x82, + 0xEA, 0x5C, 0x2B, 0x90, 0x01, 0x0C, 0x1A, 0x53, 0xFA, 0x45, 0x34, 0xD3, 0x27, 0x84, 0x87, 0x60, + 0x5D, 0x8C, 0x27, 0x70, 0x27, 0x2A, 0x0B, 0x16, 0xD8, 0x09, 0x6A, 0x60, 0xC1, 0x6E, 0x57, 0x5B, + 0x6E, 0xF1, 0xF6, 0x2A, 0x66, 0xC6, 0xAD, 0xBC, 0x53, 0x50, 0x0C, 0x73, 0x88, 0x6C, 0xE2, 0x27, + 0x20, 0x2F, 0xCB, 0x2E, 0xD2, 0xA1, 0x78, 0xB1, 0x24, 0xC7, 0x82, 0x7B, 0x76, 0x96, 0x92, 0xD1, + 0x98, 0x67, 0x49, 0x40, 0xF7, 0xCD, 0x93, 0x70, 0xEE, 0xBC, 0x7B, 0x20, 0xE5, 0xDA, 0x5F, 0xC2, + 0xA4, 0x59, 0x01, 0xD0, 0xCC, 0x76, 0x61, 0x7D, 0xD0, 0x64, 0x3F, 0x92, 0x2F, 0xE0, 0x08, 0x90, + 0x29, 0x89, 0x0F, 0xCC, 0xB3, 0x11, 0xD8, 0xD9, 0xB2, 0xF0, 0x8E, 0xA4, 0xA1, 0x83, 0x2B, 0x77, + 0x10, 0x25, 0x1A, 0x74, 0x7E, 0xD9, 0x75, 0xB9, 0x22, 0xE7, 0x72, 0xFC, 0x47, 0x18, 0xFE, 0x09, + 0x22, 0xA1, 0xFA, 0x01, 0x60, 0x3F, 0x9D, 0x9D, 0x14, 0xAB, 0x4B, 0x04, 0xDE, 0x53, 0x54, 0x02, + 0x21, 0x0A, 0xC7, 0x39, 0x02, 0x9A, 0x78, 0xF0, 0xCA, 0x58, 0xDC, 0x48, 0xBF, 0xC0, 0x28, 0x4D, + 0x7C, 0xD4, 0xC7, 0xB7, 0x21, 0x74, 0x25, 0x70, 0x07, 0x1A, 0xF2, 0xEF, 0x31, 0x33, 0xF9, 0xAA, + 0xC3, 0x98, 0x1F, 0xD1, 0xCA, 0xE6, 0x63, 0x81, 0xB1, 0xCA, 0x1D, 0x73, 0x50, 0xDC, 0x28, 0x97, + 0xB3, 0x4B, 0xC5, 0x49, 0xCE, 0xBE, 0xC3, 0x1B, 0x2D, 0x1A, 0xB9, 0xCB, 0x33, 0x27, 0x36, 0x58, + 0x58, 0x96, 0xB6, 0x71, 0x38, 0xEC, 0xA9, 0x2E, 0xB4, 0xDA, 0x32, 0xA0, 0xEC, 0xD4, 0x53, 0x7D, + 0x0B, 0x6E, 0xCA, 0xE2, 0x67, 0xAD, 0xB9, 0x1B, 0x2F, 0x63, 0x58, 0x09, 0x0C, 0x0F, 0x1C, 0x42, + 0x9D, 0xCD, 0xC8, 0x9E, 0x2D, 0x96, 0x7B, 0x33, 0x0A, 0xD5, 0x23, 0x48, 0xB4, 0xD0, 0x26, 0x57, + 0xC7, 0x25, 0xB2, 0x34, 0x55, 0xBD, 0x3B, 0x36, 0xDB, 0xAA, 0xFD, 0xF9, 0x4E, 0x4C, 0x72, 0xC4, + 0x87, 0x00, 0x5A, 0x99, 0xED, 0xBA, 0x73, 0xA7, 0x67, 0x61, 0x0F, 0x1C, 0x72, 0xE0, 0xEC, 0x2A, + 0xE4, 0x5A, 0x26, 0xCD, 0xC0, 0x67, 0x6E, 0x58, 0x17, 0xA6, 0x5F, 0x8B, 0xCD, 0xF9, 0x45, 0xB6, + 0xF4, 0xE3, 0x2E, 0x06, 0x7F, 0x2C, 0x7F, 0x8A, 0x05, 0x71, 0xB9, 0x3D, 0x2F, 0xB1, 0x17, 0xAD, + 0xAB, 0xBC, 0xA8, 0x61, 0xF0, 0x5F, 0x38, 0x50, 0xD3, 0xE2, 0x6F, 0x48, 0x3C, 0x7B, 0x14, 0xAA, + 0x69, 0x72, 0x04, 0x32, 0xF8, 0x55, 0x24, 0x3E, 0x88, 0x43, 0x8F, 0xA4, 0x25, 0xBE, 0xE5, 0x7B, + 0x81, 0x5A, 0x32, 0x86, 0x82, 0x8E, 0x73, 0x79, 0xB4, 0x42, 0x8C, 0xA1, 0xBA, 0xF6, 0x83, 0x12, + 0xC2, 0xD4, 0x0D, 0x8B, 0x20, 0xBA, 0x7C, 0x36, 0xE4, 0x71, 0x69, 0x56, 0xB2, 0x97, 0xE6, 0x0B, + 0xB0, 0x47, 0x13, 0xF6, 0xB3, 0x15, 0x02, 0xAA, 0xC5, 0xE4, 0x12, 0x4A, 0xFD, 0x0E, 0x3E, 0x02, + 0x49, 0x20, 0x0A, 0x53, 0x82, 0x45, 0x80, 0xCE, 0x1F, 0x80, 0xDE, 0xDC, 0x35, 0xC0, 0x30, 0xA1, + 0x0F, 0x1A, 0x52, 0x8F, 0x8C, 0x30, 0x03, 0x6D, 0xE0, 0xA8, 0xD8, 0x50, 0x2A, 0x91, 0x63, 0x26, + 0x49, 0x1C, 0x62, 0x56, 0xFE, 0x56, 0xED, 0x2B, 0xD3, 0x7C, 0x6D, 0xA3, 0xB8, 0xA2, 0xB2, 0x6B, + 0x34, 0x63, 0x10, 0x39, 0x35, 0x56, 0xFE, 0x0C, 0xAA, 0xB9, 0xAF, 0xC0, 0x1F, 0x5A, 0x6D, 0xAC, + 0xFC, 0xF2, 0x87, 0xF2, 0x7D, 0x49, 0xB9, 0x4E, 0x7D, 0x0C, 0xB1, 0x90, 0x4A, 0xBD, 0x65, 0x8B, + 0x92, 0xA0, 0x0A, 0x49, 0x31, 0xD0, 0xC8, 0xE7, 0x65, 0xB1, 0x95, 0x03, 0x8B, 0x41, 0xF3, 0x16, + 0x04, 0x67, 0xD2, 0xC2, 0x4D, 0x55, 0xE5, 0x34, 0xD9, 0xE2, 0x6D, 0x37, 0xEB, 0xBD, 0xDD, 0x18, + 0xD3, 0x4E, 0x61, 0x92, 0xB3, 0x20, 0x0F, 0xAF, 0x31, 0xD4, 0x35, 0xBF, 0xC1, 0x37, 0xA5, 0xE3, + 0xB9, 0x12, 0xB0, 0x91, 0x3A, 0xE0, 0x7E, 0x65, 0x05, 0xBC, 0x5B, 0x5D, 0xDA, 0xED, 0xAF, 0xAD, + 0x8B, 0xAC, 0x83, 0x15, 0x4E, 0xAF, 0x10, 0xBC, 0xB2, 0x90, 0xB3, 0x7B, 0xF3, 0x72, 0x86, 0x2A, + 0x4F, 0x57, 0xD9, 0x4A, 0x65, 0xE7, 0x26, 0x10, 0xBD, 0x8B, 0x1E, 0xC6, 0x63, 0xB8, 0xFE, 0xFA, + 0x6C, 0x41, 0xAC, 0xB4, 0x09, 0xB6, 0x1B, 0x71, 0x9D, 0xC6, 0x5D, 0x8A, 0xD4, 0x4E, 0xDD, 0x4F, + 0xED, 0x55, 0xD8, 0xA6, 0x89, 0x77, 0x39, 0x9F, 0x25, 0x06, 0x64, 0x8B, 0x49, 0x1D, 0xC7, 0xE8, + 0x94, 0x39, 0xD5, 0xB7, 0x79, 0x64, 0x66, 0x3E, 0x78, 0x41, 0xCC, 0x0A, 0xB6, 0x8C, 0x79, 0xA7, + 0x6E, 0x7D, 0x00, 0x29, 0x78, 0x03, 0x09, 0x2E, 0x6D, 0xFF, 0x46, 0xC3, 0x29, 0x1E, 0x49, 0x4A, + 0x52, 0x8E, 0xAF, 0x9E, 0x1F, 0x44, 0xC8, 0xD3, 0x2A, 0x6B, 0xA8, 0x7A, 0x45, 0x56, 0x49, 0x2C, + 0xAE, 0x54, 0x52, 0xB3, 0xED, 0x9A, 0xF9, 0x3E, 0x13, 0x85, 0x7D, 0xCD, 0x3C, 0xE6, 0x09, 0xD5, + 0xCE, 0xE2, 0x9A, 0x3A, 0x82, 0x4C, 0xE4, 0x4D, 0x90, 0x9D, 0xDE, 0x52, 0x3E, 0x06, 0xF6, 0x7F, + 0xB0, 0x7F, 0x64, 0xC4, 0x51, 0xD7, 0x35, 0x32, 0xFA, 0xAA, 0x24, 0xA4, 0xA8, 0x16, 0xE9, 0x0B, + 0x4E, 0x74, 0x78, 0x1E, 0x9F, 0xB0, 0xB7, 0x3A, 0xA4, 0xE4, 0xAC, 0x74, 0x75, 0xAA, 0x92, 0xDC, + 0xCB, 0xD4, 0x66, 0x78, 0x85, 0xAF, 0x0D, 0x48, 0x76, 0xA5, 0x5E, 0xD1, 0xAB, 0xB2, 0xE0, 0x2C, + 0x1F, 0x4E, 0xFF, 0xCD, 0x88, 0xF2, 0x28, 0x39, 0x3D, 0x29, 0x9F, 0x8F, 0xF3, 0x7D, 0xB7, 0x37, + 0x66, 0x8B, 0xE9, 0xBF, 0x00, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, + 0x79, 0x5A, 0x0B, 0xF7, 0xBD, 0x2E, 0xAD, 0xF7, 0x02, 0x00, 0x00, 0xDD, 0x07, 0x00, 0x00, 0x38, + 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, + 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, + 0x69, 0x62, 0x2F, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6E, 0x74, 0x69, 0x61, 0x6C, 0x2F, 0x63, 0x72, + 0x65, 0x64, 0x65, 0x6E, 0x74, 0x69, 0x61, 0x6C, 0x2E, 0x6A, 0x73, 0x95, 0x53, 0x61, 0x6F, 0xDA, + 0x30, 0x10, 0xFD, 0xCE, 0xAF, 0xB8, 0xE5, 0x4B, 0xA1, 0xA2, 0xA1, 0xAD, 0x26, 0x4D, 0x2B, 0x42, + 0x5A, 0x46, 0xBB, 0x2D, 0x5B, 0x07, 0x15, 0xA1, 0xAB, 0xAA, 0x6A, 0xAA, 0x4C, 0x72, 0x09, 0xDE, + 0x82, 0x9D, 0xD9, 0x0E, 0x0C, 0x55, 0xFD, 0xEF, 0x3B, 0x87, 0x00, 0x61, 0x29, 0x55, 0x9B, 0x0F, + 0x90, 0xF8, 0x9E, 0x9F, 0xDF, 0xBD, 0x77, 0xEE, 0x1C, 0xBE, 0x81, 0x98, 0x2B, 0x9C, 0x30, 0x8D, + 0x47, 0x2C, 0x9A, 0x71, 0x01, 0xF3, 0xF7, 0xEE, 0x5B, 0xF7, 0x14, 0x0E, 0x3B, 0x0D, 0x27, 0xD7, + 0x08, 0xDA, 0x28, 0x1E, 0x1A, 0xA7, 0xDB, 0x20, 0x68, 0x03, 0x0E, 0xE1, 0x43, 0xCA, 0x43, 0x14, + 0x1A, 0xED, 0x7B, 0x5F, 0x66, 0x4B, 0xC5, 0x93, 0xA9, 0x81, 0xD3, 0xE3, 0x93, 0x77, 0xF0, 0x59, + 0xCA, 0x24, 0x45, 0xF0, 0x45, 0xE8, 0x52, 0xD5, 0x02, 0x2E, 0x57, 0xD8, 0x08, 0x72, 0x11, 0xA1, + 0x02, 0x33, 0x45, 0xF0, 0x32, 0x16, 0xD2, 0x5F, 0x59, 0x69, 0xC3, 0x0F, 0x54, 0x9A, 0x4B, 0x01, + 0xA7, 0xEE, 0x31, 0x34, 0x2D, 0xC0, 0x29, 0x4B, 0x4E, 0xAB, 0x6B, 0x29, 0x96, 0x32, 0x87, 0x19, + 0x5B, 0x82, 0x90, 0x06, 0x48, 0x0F, 0x71, 0x70, 0x4D, 0x92, 0xE9, 0x1C, 0xFC, 0x1B, 0x62, 0x66, + 0x80, 0x24, 0x87, 0x72, 0x96, 0xA5, 0x9C, 0x89, 0x10, 0x61, 0xC1, 0xCD, 0x94, 0x30, 0x9B, 0x03, + 0x5C, 0xCB, 0x71, 0x5B, 0x72, 0xC8, 0x89, 0x61, 0x04, 0x67, 0xB4, 0x21, 0xA3, 0xAF, 0xB8, 0x0A, + 0x04, 0x66, 0x4A, 0xD1, 0x00, 0x53, 0x63, 0xB2, 0xB3, 0x4E, 0x67, 0xB1, 0x58, 0xB8, 0xAC, 0x90, + 0xEB, 0x4A, 0x95, 0x74, 0xCA, 0xC6, 0x75, 0xE7, 0xD2, 0xEF, 0x5F, 0x0C, 0x82, 0x8B, 0x23, 0x92, + 0x5C, 0x6E, 0xB9, 0x16, 0x29, 0x6A, 0x0D, 0x0A, 0xFF, 0xE4, 0x5C, 0x51, 0xBB, 0x93, 0x25, 0xB0, + 0x2C, 0xA3, 0x0D, 0x6C, 0x42, 0x42, 0x53, 0xB6, 0x00, 0xA9, 0x80, 0x25, 0x0A, 0xA9, 0x66, 0xA4, + 0x95, 0xBC, 0x50, 0xDC, 0x70, 0x91, 0xB4, 0x41, 0xCB, 0xD8, 0x2C, 0x98, 0x2A, 0xFC, 0x8C, 0xB8, + 0x75, 0x7B, 0x92, 0x9B, 0xB5, 0x63, 0x3B, 0x02, 0xB9, 0xDE, 0x01, 0x48, 0x6A, 0x44, 0x80, 0xE3, + 0x05, 0xE0, 0x07, 0x0E, 0x7C, 0xF4, 0x02, 0x3F, 0x68, 0x5B, 0x92, 0x1B, 0x7F, 0xFC, 0x65, 0x78, + 0x3D, 0x86, 0x1B, 0x6F, 0x34, 0xF2, 0x06, 0x63, 0xFF, 0x22, 0x80, 0xE1, 0x08, 0xFA, 0xC3, 0xC1, + 0xB9, 0x3F, 0xF6, 0x87, 0x03, 0xFA, 0xFA, 0x04, 0xDE, 0xE0, 0x16, 0xBE, 0xF9, 0x83, 0xF3, 0x36, + 0x20, 0xA7, 0x23, 0x14, 0x79, 0x99, 0x29, 0xEA, 0xC0, 0xCA, 0xE4, 0xD6, 0x4B, 0x8C, 0x0A, 0xE3, + 0x02, 0xC4, 0x1D, 0x09, 0xB1, 0x5C, 0x49, 0xD2, 0x19, 0x86, 0x3C, 0xE6, 0x21, 0xB5, 0x26, 0x92, + 0x9C, 0x25, 0x08, 0x89, 0x9C, 0xA3, 0x12, 0xD4, 0x11, 0x64, 0xA8, 0x66, 0x5C, 0xDB, 0x4C, 0x35, + 0x09, 0x8C, 0x2C, 0x4D, 0xCA, 0x67, 0xDC, 0x30, 0x63, 0x97, 0xEA, 0x7D, 0xD9, 0x83, 0x3A, 0x8D, + 0xE1, 0xE4, 0x17, 0x86, 0xC6, 0x8D, 0x30, 0xE6, 0x02, 0xAF, 0x94, 0x24, 0x16, 0xB3, 0x6C, 0x92, + 0x2C, 0xA9, 0x8C, 0x6E, 0x83, 0x73, 0x7F, 0x8F, 0xFA, 0xBB, 0x8C, 0xF2, 0x14, 0x9D, 0x36, 0x3C, + 0xC0, 0x9C, 0xA5, 0x39, 0x9E, 0x81, 0x51, 0x39, 0xC2, 0x23, 0x0D, 0x4A, 0x09, 0x74, 0x15, 0xC6, + 0xD4, 0xC7, 0x74, 0x2C, 0x7F, 0xA3, 0x80, 0x1E, 0xAC, 0x97, 0x43, 0x62, 0xAB, 0x7C, 0xAE, 0xB2, + 0x29, 0x04, 0x9D, 0x63, 0xCC, 0xF2, 0xD4, 0x16, 0xE7, 0x92, 0x47, 0x70, 0xDC, 0x6D, 0xCC, 0x99, + 0x82, 0x90, 0x42, 0x44, 0x61, 0x38, 0x4B, 0xEF, 0xB9, 0x30, 0xD4, 0x18, 0xBD, 0x9C, 0x10, 0xA6, + 0x0C, 0xB8, 0xE9, 0xB8, 0x9D, 0x2D, 0xE4, 0x68, 0x0D, 0x71, 0x5A, 0xAB, 0xDD, 0x49, 0x2A, 0x27, + 0x2C, 0xF5, 0xB2, 0xAC, 0x24, 0xEF, 0x13, 0xB4, 0x5A, 0xE9, 0xA3, 0x2A, 0xD6, 0x34, 0x31, 0x3E, + 0x3C, 0x56, 0x2B, 0xA3, 0x8A, 0xFC, 0x2A, 0xE2, 0x59, 0xE1, 0x71, 0x2E, 0x42, 0xBB, 0x02, 0x4D, + 0x3B, 0xB7, 0x5E, 0x42, 0xAA, 0x5A, 0xF0, 0xD0, 0x00, 0x7A, 0x78, 0x4C, 0x77, 0x6A, 0x99, 0xA1, + 0x8C, 0x9F, 0x14, 0x05, 0xBD, 0x5E, 0x0F, 0x0E, 0x72, 0xB1, 0x72, 0x3D, 0x3A, 0x28, 0xB6, 0xAD, + 0x9E, 0x3D, 0xF8, 0xA7, 0x9D, 0x71, 0x13, 0x34, 0x5E, 0x4D, 0x5A, 0x45, 0x4E, 0xB7, 0xA0, 0x7D, + 0x2C, 0x7E, 0x15, 0x9A, 0x5C, 0x89, 0x3D, 0x26, 0xAD, 0x7B, 0xDD, 0x66, 0xB6, 0xED, 0x4E, 0xA3, + 0x9A, 0xD3, 0xC8, 0x78, 0x61, 0x28, 0x73, 0x61, 0xAE, 0x98, 0x99, 0x0E, 0xD5, 0x6A, 0x6C, 0xDA, + 0x50, 0xEB, 0xDC, 0x7A, 0x6A, 0xEF, 0x8A, 0x48, 0x78, 0x4C, 0xD3, 0x1C, 0x54, 0xF7, 0x5A, 0xDA, + 0xAF, 0xC1, 0x70, 0xE0, 0xAE, 0x01, 0xCB, 0xFD, 0xDC, 0xA4, 0x7D, 0xE3, 0xE4, 0x9B, 0xE6, 0x7E, + 0x46, 0x2E, 0xFE, 0x0F, 0xB7, 0x55, 0x73, 0x73, 0x5B, 0xBB, 0xDB, 0x4B, 0xF4, 0x93, 0xB4, 0x09, + 0x5C, 0xEC, 0xF1, 0x79, 0x17, 0xDB, 0xDF, 0x60, 0x5E, 0xE8, 0x4D, 0x3D, 0x86, 0x57, 0x08, 0xDB, + 0x86, 0x53, 0xBF, 0x67, 0xDB, 0x90, 0xAA, 0x85, 0xD7, 0x45, 0x54, 0x9D, 0xFD, 0x5A, 0x40, 0x3B, + 0xBC, 0x2F, 0x89, 0xA7, 0xCA, 0xB6, 0x0D, 0xA7, 0xBA, 0x5A, 0x0B, 0x69, 0x1F, 0xE6, 0x6E, 0x0F, + 0xED, 0xF3, 0x51, 0xED, 0xD0, 0x6C, 0x10, 0x2F, 0xF2, 0xA7, 0x1E, 0xD3, 0xAB, 0xA5, 0x15, 0x61, + 0xFD, 0x03, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, + 0x99, 0xCE, 0xDA, 0x12, 0xB6, 0x06, 0x00, 0x00, 0x8E, 0x19, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, + 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, + 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, + 0x63, 0x72, 0x65, 0x64, 0x65, 0x6E, 0x74, 0x69, 0x61, 0x6C, 0x2F, 0x69, 0x6E, 0x64, 0x65, 0x78, + 0x2E, 0x64, 0x2E, 0x74, 0x73, 0xED, 0x58, 0x5B, 0x6F, 0xD3, 0x30, 0x14, 0x7E, 0xDF, 0xAF, 0x38, + 0x94, 0x07, 0x3A, 0x34, 0x12, 0x34, 0xF1, 0xC2, 0x36, 0x06, 0x65, 0x2B, 0x50, 0x2E, 0xED, 0xB4, + 0x16, 0x10, 0x02, 0xB4, 0x7A, 0xC9, 0x69, 0x6B, 0x48, 0xE3, 0x60, 0x3B, 0x2D, 0x05, 0xFA, 0xDF, + 0x39, 0x76, 0x9C, 0x5B, 0xDB, 0x01, 0xE2, 0x26, 0x40, 0x64, 0x9A, 0x9A, 0xC4, 0x3E, 0x9F, 0xCF, + 0xF9, 0xCE, 0xCD, 0x8E, 0x7F, 0xF5, 0x12, 0x8C, 0xB8, 0xC4, 0x73, 0xA6, 0xF0, 0x1A, 0x0B, 0xA7, + 0x3C, 0x86, 0xD9, 0x4D, 0xEF, 0x86, 0xB7, 0x0B, 0x57, 0xFD, 0x2D, 0x1A, 0xDC, 0x82, 0xAB, 0x70, + 0x24, 0x92, 0x85, 0xE4, 0xE3, 0x89, 0x86, 0xDD, 0xEB, 0xBB, 0xD7, 0xE1, 0xBE, 0x10, 0xE3, 0x08, + 0xA1, 0x13, 0x07, 0x1E, 0x8D, 0x9A, 0x09, 0x8F, 0x79, 0x80, 0xB1, 0xC2, 0x10, 0xD2, 0x38, 0x44, + 0x09, 0x7A, 0x82, 0xD0, 0x4A, 0x58, 0x40, 0x3F, 0x6E, 0x64, 0x07, 0x9E, 0xA1, 0x54, 0x5C, 0xC4, + 0xB0, 0xEB, 0x5D, 0x87, 0xA6, 0x99, 0xD0, 0x70, 0x43, 0x8D, 0xED, 0x7D, 0x03, 0xB1, 0x10, 0x29, + 0x4C, 0xD9, 0x02, 0x62, 0xA1, 0x21, 0x55, 0x48, 0x18, 0x5C, 0x91, 0x62, 0xB4, 0x0E, 0xBE, 0x0F, + 0x30, 0xD1, 0x40, 0x8A, 0x05, 0x62, 0x9A, 0x44, 0x9C, 0xC5, 0x01, 0xC2, 0x9C, 0xEB, 0x09, 0xCD, + 0x29, 0x16, 0xF0, 0x0C, 0xC6, 0x0B, 0x87, 0x21, 0xCE, 0x35, 0xA3, 0xE9, 0x8C, 0x04, 0x12, 0x7A, + 0x1A, 0x55, 0x27, 0x02, 0xD3, 0x4E, 0x69, 0x80, 0x89, 0xD6, 0xC9, 0x9E, 0xEF, 0xCF, 0xE7, 0x73, + 0x8F, 0x59, 0x75, 0x3D, 0x21, 0xC7, 0x7E, 0x94, 0x4D, 0x54, 0xFE, 0xE3, 0xCE, 0x51, 0xBB, 0xDB, + 0x6F, 0x5F, 0x23, 0x95, 0x9D, 0xC8, 0xD3, 0x38, 0x42, 0xA5, 0x40, 0xE2, 0xBB, 0x94, 0x4B, 0x32, + 0xF7, 0x7C, 0x01, 0x2C, 0x49, 0x48, 0x80, 0x9D, 0x93, 0xA2, 0x11, 0x9B, 0x83, 0x90, 0xC0, 0xC6, + 0x12, 0x69, 0x4C, 0x0B, 0xA3, 0xF2, 0x5C, 0x72, 0xCD, 0xE3, 0xF1, 0x0E, 0x28, 0x31, 0xD2, 0x73, + 0x26, 0xD1, 0xC0, 0x84, 0x5C, 0x69, 0xC9, 0xCF, 0x53, 0x9D, 0x33, 0x56, 0x53, 0x90, 0xAB, 0xDA, + 0x04, 0x41, 0x86, 0xC4, 0xD0, 0x68, 0xF5, 0xA1, 0xD3, 0x6F, 0xC0, 0xDD, 0x56, 0xBF, 0xD3, 0xDF, + 0x31, 0x20, 0xCF, 0x3B, 0x83, 0x07, 0xBD, 0xA7, 0x03, 0x78, 0xDE, 0x3A, 0x3D, 0x6D, 0x75, 0x07, + 0x9D, 0x76, 0x1F, 0x7A, 0xA7, 0x70, 0xD4, 0xEB, 0x1E, 0x77, 0x06, 0x9D, 0x5E, 0x97, 0x9E, 0xEE, + 0x41, 0xAB, 0xFB, 0x02, 0x1E, 0x75, 0xBA, 0xC7, 0x3B, 0x80, 0x9C, 0x96, 0x90, 0xC4, 0x65, 0x22, + 0xC9, 0x02, 0xA3, 0x26, 0x37, 0x5C, 0x62, 0x68, 0x89, 0xEB, 0x23, 0xD6, 0x54, 0x18, 0x89, 0x4C, + 0x25, 0x95, 0x60, 0xC0, 0x47, 0x3C, 0x20, 0xD3, 0xE2, 0x71, 0xCA, 0xC6, 0x08, 0x63, 0x31, 0x43, + 0x19, 0x93, 0x45, 0x90, 0xA0, 0x9C, 0x72, 0x65, 0x7C, 0xAA, 0x48, 0xC1, 0xD0, 0xC0, 0x44, 0x7C, + 0xCA, 0x35, 0xD3, 0xE6, 0xD5, 0xBA, 0x5D, 0xB4, 0x90, 0x89, 0x28, 0xDF, 0x87, 0x03, 0x89, 0x23, + 0x94, 0x68, 0xDC, 0xA8, 0x17, 0x09, 0xAA, 0x5B, 0x8D, 0x58, 0x84, 0xD8, 0x00, 0xFF, 0x70, 0x8B, + 0x94, 0x12, 0x52, 0xC3, 0x47, 0x68, 0x8D, 0x31, 0xD6, 0xB0, 0x84, 0x91, 0x14, 0x53, 0xB8, 0x62, + 0x1C, 0x75, 0x65, 0x7F, 0x0B, 0xDF, 0xDB, 0x51, 0x1E, 0x6B, 0x94, 0x23, 0x46, 0xE2, 0x7D, 0x94, + 0x33, 0x42, 0x6F, 0x05, 0x81, 0x48, 0x63, 0x12, 0xDB, 0x02, 0xBA, 0x12, 0x29, 0xDE, 0x60, 0xA0, + 0x3B, 0xE1, 0xED, 0x3D, 0x20, 0x1A, 0x49, 0xD7, 0x7D, 0xFB, 0x3E, 0x88, 0x38, 0x61, 0xB6, 0xA7, + 0x8C, 0x47, 0xE5, 0x88, 0x93, 0xE0, 0x33, 0xA6, 0xF1, 0x11, 0x2E, 0x2A, 0x03, 0x4B, 0x8A, 0x7E, + 0xEB, 0xF4, 0x8E, 0x5B, 0xCE, 0xD2, 0x92, 0x07, 0x7F, 0xAF, 0x95, 0xEA, 0x89, 0x0D, 0x66, 0x16, + 0x04, 0x86, 0x51, 0x2D, 0xDE, 0x92, 0x95, 0xD6, 0xC8, 0x35, 0x3D, 0x9D, 0x90, 0x95, 0x69, 0xD9, + 0xE9, 0x03, 0x33, 0x3B, 0xD3, 0xD7, 0x01, 0x9C, 0x59, 0x80, 0xBA, 0x5E, 0x84, 0xC3, 0xC9, 0x5D, + 0x67, 0x9C, 0xDE, 0xC7, 0xE9, 0xF4, 0x1C, 0x25, 0xA9, 0x95, 0xA3, 0x87, 0x18, 0x44, 0x14, 0x4F, + 0x10, 0xB3, 0x29, 0xAA, 0xC4, 0xAC, 0x12, 0x50, 0x48, 0x92, 0x85, 0x9C, 0x45, 0x0E, 0xD9, 0x1A, + 0x60, 0xAE, 0xD2, 0x08, 0xE3, 0x67, 0xA6, 0x0D, 0x47, 0x33, 0x1E, 0xA2, 0xAA, 0x99, 0xB3, 0x5B, + 0xB7, 0x85, 0xD2, 0x30, 0x0B, 0x63, 0x46, 0x63, 0x06, 0x37, 0x20, 0x8E, 0x1C, 0x5E, 0x96, 0x7F, + 0xF7, 0x5C, 0xDD, 0x00, 0x95, 0xF9, 0xC1, 0x98, 0x6F, 0xAE, 0xCA, 0xAA, 0x30, 0x15, 0x4A, 0x43, + 0x40, 0x93, 0xD4, 0x8E, 0xC9, 0x71, 0x12, 0x8C, 0x22, 0x9B, 0xE4, 0x71, 0x96, 0x24, 0x36, 0x0E, + 0x71, 0x4A, 0xF8, 0x36, 0xE5, 0xCD, 0x1C, 0xA9, 0x30, 0x1A, 0x99, 0x98, 0x22, 0xB9, 0x98, 0x58, + 0x54, 0x1A, 0x59, 0xE8, 0x20, 0x5D, 0x6D, 0x40, 0x32, 0x7F, 0xC4, 0xD2, 0x48, 0x17, 0xE2, 0x2E, + 0xEE, 0x9C, 0x65, 0x36, 0x37, 0x73, 0x91, 0x8F, 0x77, 0x22, 0x1E, 0xBF, 0xAD, 0xD2, 0x33, 0xB4, + 0x85, 0xCE, 0x2B, 0xDF, 0x0C, 0x97, 0xB9, 0xEA, 0xBE, 0xFD, 0x2D, 0x5D, 0x77, 0xB4, 0x4A, 0x6A, + 0x95, 0x58, 0xB7, 0xC0, 0x29, 0xEA, 0x54, 0x9A, 0x34, 0xF8, 0x02, 0x9D, 0x54, 0x94, 0x4C, 0x54, + 0x6E, 0x24, 0xD5, 0xB2, 0x59, 0x01, 0xDC, 0x48, 0x6C, 0x7E, 0xD5, 0x56, 0x1E, 0x10, 0x65, 0x39, + 0x72, 0x20, 0x88, 0x04, 0x62, 0xCB, 0xD2, 0x33, 0x12, 0x51, 0x24, 0xE6, 0x36, 0x4F, 0xA5, 0xA0, + 0x54, 0xD5, 0x1C, 0xD5, 0x5E, 0x45, 0x92, 0xFE, 0x86, 0xD5, 0xC0, 0x1B, 0x42, 0x73, 0x98, 0x85, + 0xDE, 0x70, 0x7B, 0x8F, 0x60, 0x91, 0x94, 0xD7, 0x29, 0x8B, 0xBE, 0x60, 0x91, 0xB7, 0x02, 0x57, + 0x44, 0xAB, 0x05, 0xCB, 0xE2, 0x35, 0x07, 0xCB, 0x9E, 0xA8, 0x14, 0x93, 0x45, 0xA4, 0x67, 0xA8, + 0xB2, 0xC4, 0x9E, 0x13, 0x05, 0x46, 0x5D, 0x47, 0xD1, 0x9C, 0xA9, 0x0A, 0x26, 0xFD, 0x53, 0x7D, + 0x49, 0x31, 0xCC, 0x42, 0x96, 0xEB, 0x2C, 0x1F, 0x2E, 0x26, 0xE3, 0x8E, 0xB4, 0x7E, 0x80, 0xD6, + 0xD7, 0xDD, 0x50, 0x85, 0xF0, 0x8B, 0xFB, 0x31, 0xEA, 0x4A, 0x7A, 0x36, 0x49, 0xF7, 0x13, 0xD2, + 0x92, 0x2B, 0x3C, 0xD8, 0x9C, 0xC0, 0x87, 0x59, 0x9A, 0x2E, 0x8B, 0x64, 0x5B, 0x8B, 0x87, 0x32, + 0xC2, 0xCC, 0x2D, 0xB9, 0x3A, 0xB4, 0x86, 0x1B, 0x9B, 0xEB, 0xD1, 0x99, 0x3F, 0xB9, 0xAE, 0xA4, + 0xA8, 0x2D, 0x85, 0x38, 0xC3, 0xC8, 0xF8, 0x4E, 0x79, 0x63, 0xBB, 0xBC, 0x47, 0xFD, 0xCF, 0xE7, + 0x16, 0x4F, 0x2F, 0x7C, 0xF2, 0xAB, 0x16, 0x81, 0x88, 0x94, 0x9F, 0xB5, 0x20, 0x1B, 0xFF, 0xD7, + 0x5C, 0x5A, 0x5C, 0x2B, 0x17, 0x56, 0x25, 0x74, 0xCE, 0x4B, 0xAB, 0x14, 0x80, 0x63, 0x97, 0x47, + 0x47, 0xA5, 0xC0, 0xD2, 0x49, 0x64, 0xBC, 0x8F, 0x25, 0x8B, 0xB5, 0x02, 0x9B, 0x31, 0x25, 0x95, + 0x1B, 0x42, 0x34, 0x0B, 0xC6, 0x72, 0x61, 0x9B, 0xBD, 0xE7, 0x68, 0x23, 0x3E, 0x47, 0xE4, 0xD6, + 0xDD, 0x34, 0x12, 0x45, 0x04, 0xB2, 0x99, 0x82, 0x92, 0x81, 0x7C, 0x5F, 0x52, 0xB5, 0x3F, 0x14, + 0x81, 0xF2, 0x8B, 0x06, 0xE2, 0x5B, 0xB5, 0x7C, 0xEA, 0x1F, 0xEE, 0xF6, 0xB2, 0xC7, 0x63, 0x6E, + 0x56, 0xE7, 0x1F, 0x90, 0xCC, 0xCC, 0x31, 0x5D, 0xC6, 0xD7, 0x07, 0x9B, 0xDB, 0x65, 0xDA, 0xBB, + 0x9F, 0x6F, 0x64, 0x08, 0x4C, 0xE1, 0x65, 0x33, 0xEA, 0x24, 0xA6, 0xF1, 0x67, 0x2D, 0x7A, 0xE1, + 0x64, 0x4B, 0x53, 0x47, 0x92, 0x51, 0x4A, 0xA5, 0x01, 0x05, 0x03, 0xD2, 0x06, 0x20, 0x0D, 0x26, + 0xC0, 0x54, 0x65, 0x05, 0x68, 0xC7, 0x63, 0x1E, 0xA3, 0xA9, 0x74, 0xF9, 0xDB, 0x23, 0xDA, 0xE1, + 0x50, 0xD7, 0x77, 0x23, 0x35, 0xE5, 0xB2, 0x36, 0xFD, 0xDD, 0x94, 0x65, 0x44, 0x29, 0x8A, 0xCC, + 0xE4, 0x72, 0xC9, 0xC2, 0x19, 0x79, 0xE3, 0x4C, 0x85, 0x15, 0xA0, 0x4E, 0x31, 0x66, 0x3D, 0xD5, + 0x3F, 0x7E, 0x94, 0x87, 0x83, 0x6D, 0x7F, 0x53, 0x21, 0x4D, 0xED, 0xD5, 0x64, 0xFA, 0x5A, 0xB5, + 0xBF, 0x83, 0xEF, 0x99, 0xA9, 0xC6, 0xF9, 0xF3, 0x70, 0x38, 0x7C, 0x43, 0x24, 0xA9, 0x40, 0xF2, + 0x44, 0xE7, 0x2F, 0x37, 0xF9, 0xE1, 0x63, 0xB9, 0x7C, 0x19, 0x3E, 0x7B, 0x6E, 0x6A, 0xF9, 0xC6, + 0xAB, 0x04, 0xBA, 0x73, 0x4A, 0x73, 0x7B, 0xA7, 0x94, 0x0D, 0x99, 0x66, 0xC6, 0xF6, 0xA7, 0xA7, + 0x8F, 0xF7, 0xA0, 0x91, 0x33, 0x72, 0x70, 0xDC, 0x1A, 0xB4, 0x68, 0xDB, 0xD4, 0x3E, 0xEB, 0xB6, + 0x9E, 0xB4, 0x0F, 0xBD, 0x9C, 0x21, 0x2E, 0x0C, 0x39, 0x8D, 0x5C, 0x7C, 0xB9, 0xBD, 0x5F, 0xD1, + 0x7B, 0xD5, 0xB2, 0x84, 0x49, 0x36, 0x85, 0x8F, 0x97, 0x7A, 0xB6, 0x7A, 0xDC, 0x5A, 0x5A, 0xBE, + 0xB3, 0x3D, 0x4A, 0x2F, 0x31, 0xFA, 0x50, 0xB8, 0xBF, 0x7C, 0x30, 0x18, 0x9C, 0x64, 0x1B, 0x97, + 0xD7, 0x4D, 0xB7, 0xBA, 0x8D, 0xCC, 0x37, 0xCA, 0xEE, 0x2B, 0x59, 0xC2, 0x7D, 0xF3, 0xDA, 0x9B, + 0xE8, 0x69, 0x74, 0xD9, 0xDC, 0x9D, 0x51, 0x07, 0xA7, 0x02, 0x6C, 0x6F, 0x99, 0x91, 0xDB, 0x2E, + 0x8D, 0xD1, 0x22, 0xCF, 0x9D, 0xAC, 0x4A, 0x4A, 0xA4, 0xEA, 0x8C, 0x33, 0x2A, 0xD0, 0xB5, 0x7A, + 0x96, 0x15, 0x52, 0x17, 0x3E, 0xD9, 0x2B, 0x9B, 0x91, 0x28, 0x4B, 0xF7, 0xD4, 0xCB, 0x23, 0x59, + 0xB1, 0x46, 0x6C, 0x19, 0xDA, 0x4B, 0xAA, 0x9E, 0xE5, 0x40, 0xB5, 0x4B, 0x91, 0x22, 0x33, 0x9E, + 0x77, 0xB8, 0x42, 0xCF, 0xAF, 0x66, 0x8A, 0xA9, 0x21, 0x65, 0x25, 0x70, 0x2D, 0xBF, 0x8C, 0x31, + 0x1A, 0x20, 0xAF, 0xD6, 0x9B, 0xEF, 0x28, 0x8D, 0x03, 0x8B, 0xB7, 0xC1, 0xDF, 0x05, 0xEF, 0xB4, + 0x53, 0xB3, 0xBF, 0xDB, 0x7B, 0x95, 0xE5, 0xF6, 0xBF, 0xAB, 0x12, 0x17, 0x7B, 0x06, 0x57, 0xCB, + 0x48, 0xAB, 0x6C, 0x43, 0x59, 0x2D, 0x80, 0x0E, 0xF1, 0x07, 0xEB, 0x60, 0xB5, 0x00, 0x3A, 0xC4, + 0xDF, 0x5B, 0x07, 0xBF, 0xB9, 0x10, 0xFE, 0x0B, 0xB5, 0x86, 0xCE, 0x1A, 0x27, 0xD6, 0xB5, 0x36, + 0x6B, 0x20, 0x61, 0x7A, 0x62, 0xB7, 0x5E, 0x6B, 0x7E, 0x7E, 0x8B, 0x0B, 0x78, 0xD8, 0xEF, 0x75, + 0xED, 0x81, 0x33, 0x97, 0x9E, 0x31, 0x99, 0x4D, 0x2C, 0x0F, 0x18, 0xB7, 0xF2, 0xA3, 0x5F, 0xB3, + 0x61, 0xC0, 0x7C, 0x2D, 0xFC, 0xFA, 0x0C, 0x3A, 0x42, 0x78, 0x6F, 0x94, 0x88, 0xE9, 0x50, 0xFB, + 0x33, 0x0A, 0x5E, 0x40, 0x1B, 0xB7, 0x66, 0x7D, 0x85, 0xDF, 0x54, 0xF0, 0xBE, 0x83, 0xDE, 0x15, + 0x52, 0xF3, 0x6D, 0x29, 0x8F, 0x29, 0x7A, 0xF0, 0xA7, 0xB1, 0x51, 0x4C, 0xAE, 0x1D, 0xF5, 0xC8, + 0xFC, 0x83, 0x93, 0xD3, 0xDE, 0xC3, 0xF6, 0xD1, 0xE0, 0xAC, 0x73, 0x7C, 0xD8, 0x28, 0x48, 0x5A, + 0x39, 0xF8, 0xD1, 0xBC, 0x91, 0x10, 0x77, 0xAA, 0x73, 0x3D, 0xCE, 0xA6, 0xDE, 0xD8, 0x29, 0xEF, + 0x74, 0x37, 0x44, 0x95, 0x18, 0xF5, 0x23, 0x22, 0x41, 0x5C, 0x33, 0xD7, 0xDD, 0xF6, 0xFD, 0x4E, + 0x17, 0x4E, 0x4E, 0x3B, 0xCF, 0x5A, 0x83, 0x36, 0x3C, 0x6A, 0xBF, 0xB0, 0x6F, 0x0F, 0xE8, 0xE6, + 0xD0, 0xDE, 0xB5, 0xBB, 0xC7, 0x6B, 0xA3, 0xAF, 0xE2, 0x46, 0x09, 0xBA, 0xFC, 0x4D, 0xAE, 0xB4, + 0xBD, 0x6B, 0x25, 0x92, 0x4F, 0x28, 0x7A, 0x7B, 0x32, 0xEB, 0x66, 0x66, 0x83, 0xBE, 0x9E, 0x1B, + 0x85, 0x6A, 0x9B, 0x93, 0xC4, 0x7E, 0xE8, 0x28, 0x0E, 0x35, 0x12, 0xCD, 0x67, 0x05, 0x22, 0x79, + 0x25, 0x12, 0x4A, 0x49, 0xAF, 0xAE, 0xCE, 0xDF, 0xDC, 0x3F, 0xBF, 0xD2, 0x20, 0xE9, 0xB9, 0xD0, + 0xE2, 0xC2, 0xCE, 0xF2, 0x43, 0x6D, 0xD1, 0xE6, 0xC1, 0xC5, 0xFE, 0xCC, 0xBF, 0x21, 0xC0, 0xA7, + 0x95, 0xEF, 0x23, 0x3B, 0xF0, 0x6B, 0xBB, 0x27, 0x75, 0x23, 0x8A, 0x82, 0x49, 0xC6, 0xE2, 0xFF, + 0xDE, 0xF9, 0x7D, 0x6A, 0xFD, 0xF1, 0xBD, 0xB3, 0xE6, 0xE5, 0x8D, 0x5D, 0x33, 0x9F, 0x62, 0xCF, + 0xC8, 0x9B, 0x7A, 0x66, 0x75, 0xFC, 0x67, 0xB6, 0xCB, 0x2A, 0x6E, 0xB3, 0xFA, 0xF0, 0x5B, 0x2B, + 0x6D, 0x75, 0xE1, 0x0B, 0xEB, 0xEC, 0xDA, 0x46, 0xDA, 0x7D, 0xAC, 0xA8, 0xD3, 0xFB, 0x8D, 0xF5, + 0xB6, 0xF6, 0xB9, 0xA3, 0x40, 0xAC, 0x43, 0xFD, 0x2F, 0xC0, 0x3F, 0xAF, 0x00, 0x5F, 0x18, 0x67, + 0x9B, 0xCB, 0x70, 0xE6, 0xB5, 0x6F, 0x28, 0xBF, 0xCB, 0xAD, 0xCF, 0x50, 0x4B, 0x03, 0x04, 0x14, + 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0xDB, 0xB4, 0xD3, 0x0E, 0x13, 0x02, 0x00, + 0x00, 0x79, 0x03, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, + 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, + 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6E, 0x74, + 0x69, 0x61, 0x6C, 0x2F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x2E, 0x6A, 0x73, 0x6D, 0x92, 0x51, 0x6F, + 0xD3, 0x30, 0x14, 0x85, 0xDF, 0xFB, 0x2B, 0x0E, 0x79, 0x6A, 0xA7, 0x36, 0xA9, 0x2A, 0x5E, 0xD8, + 0x84, 0x44, 0xD9, 0x06, 0x44, 0x8C, 0x16, 0x2D, 0x1D, 0xD3, 0x9E, 0x26, 0xD7, 0xB9, 0x49, 0x8D, + 0x52, 0xDB, 0xD8, 0x4E, 0x43, 0xB5, 0xED, 0xBF, 0x73, 0xDD, 0x16, 0x46, 0xB5, 0x3D, 0x59, 0xF6, + 0x3D, 0x3E, 0xF7, 0xBB, 0xC7, 0xCE, 0x4E, 0xDE, 0xA0, 0x52, 0x8E, 0x96, 0xC2, 0xD3, 0x48, 0x94, + 0x6B, 0xA5, 0xB1, 0x79, 0x97, 0xBE, 0x4D, 0x27, 0x38, 0xC9, 0x7A, 0x49, 0xEB, 0x09, 0x3E, 0x38, + 0x25, 0x43, 0x72, 0xD6, 0x63, 0x69, 0x0F, 0x27, 0x38, 0x37, 0x76, 0xEB, 0x54, 0xBD, 0x0A, 0x98, + 0x8C, 0x27, 0x63, 0x7C, 0x36, 0xA6, 0x6E, 0x08, 0xB9, 0x96, 0x29, 0x57, 0xA3, 0xE0, 0x4A, 0x49, + 0xD2, 0x9E, 0x4A, 0xB4, 0xBA, 0x24, 0x87, 0xB0, 0x22, 0x4C, 0xAD, 0x90, 0xBC, 0x1C, 0x2A, 0x43, + 0xFC, 0x20, 0xE7, 0x95, 0xD1, 0x98, 0xA4, 0x63, 0xF4, 0xA3, 0x20, 0x39, 0x94, 0x92, 0xC1, 0x59, + 0xB4, 0xD8, 0x9A, 0x16, 0x6B, 0xB1, 0x85, 0x36, 0x01, 0xCC, 0xC0, 0x1E, 0xCA, 0x33, 0x26, 0xF7, + 0xA1, 0xDF, 0x92, 0x6C, 0x00, 0x63, 0x4A, 0xB3, 0xB6, 0x8D, 0x12, 0x5A, 0x12, 0x3A, 0x15, 0x56, + 0xAC, 0xF9, 0xD7, 0x20, 0x8D, 0x1E, 0x77, 0x07, 0x0F, 0xB3, 0x0C, 0x82, 0xE5, 0x82, 0x2F, 0x58, + 0xDE, 0x55, 0xFF, 0x0B, 0x21, 0xC2, 0x01, 0x1A, 0x58, 0x85, 0x60, 0x4F, 0xB3, 0xAC, 0xEB, 0xBA, + 0x54, 0xEC, 0x70, 0x53, 0xE3, 0xEA, 0xAC, 0xD9, 0x0B, 0x7D, 0x76, 0x95, 0x9F, 0x5F, 0xCE, 0x8A, + 0xCB, 0x11, 0x23, 0x1F, 0xAE, 0xDC, 0xE8, 0x86, 0xBC, 0x87, 0xA3, 0x5F, 0xAD, 0x72, 0x3C, 0xEE, + 0x72, 0x0B, 0x61, 0x2D, 0x5F, 0x10, 0x4B, 0x06, 0x6D, 0x44, 0x07, 0xE3, 0x20, 0x6A, 0x47, 0x5C, + 0x0B, 0x26, 0x22, 0x77, 0x4E, 0x05, 0xA5, 0xEB, 0x21, 0xBC, 0xA9, 0x42, 0x27, 0x1C, 0x45, 0x9B, + 0x52, 0xC5, 0x84, 0x97, 0x6D, 0xF8, 0x9B, 0xD8, 0x11, 0xA0, 0xF2, 0x47, 0x02, 0xC3, 0x83, 0x68, + 0x24, 0xD3, 0x02, 0x79, 0x91, 0xE0, 0xE3, 0xB4, 0xC8, 0x8B, 0x61, 0x34, 0xB9, 0xCD, 0x17, 0x5F, + 0xE6, 0x37, 0x0B, 0xDC, 0x4E, 0xAF, 0xAF, 0xA7, 0xB3, 0x45, 0x7E, 0x59, 0x60, 0x7E, 0x8D, 0xF3, + 0xF9, 0xEC, 0x22, 0x5F, 0xE4, 0xF3, 0x19, 0xEF, 0x3E, 0x61, 0x3A, 0xBB, 0xC3, 0xD7, 0x7C, 0x76, + 0x31, 0x04, 0x29, 0x6E, 0xE1, 0x38, 0x4B, 0xEB, 0x78, 0x82, 0x88, 0xA9, 0x62, 0x96, 0x54, 0xEE, + 0x82, 0x2B, 0x88, 0x8E, 0x10, 0x2A, 0xB3, 0x47, 0xF2, 0x96, 0xA4, 0xAA, 0x94, 0xE4, 0xD1, 0x74, + 0xDD, 0x8A, 0x9A, 0x50, 0x9B, 0x0D, 0x39, 0xCD, 0x13, 0xC1, 0x92, 0x5B, 0x2B, 0x1F, 0xDF, 0xD4, + 0x33, 0x60, 0x19, 0x6D, 0x1A, 0xB5, 0x56, 0x41, 0x84, 0x78, 0xF4, 0x72, 0xAE, 0xD8, 0x28, 0xEB, + 0xCD, 0x97, 0x3F, 0x49, 0x86, 0xB4, 0xA4, 0x4A, 0x69, 0xFA, 0xEE, 0x0C, 0xBB, 0x84, 0x6D, 0x9F, + 0xB1, 0x8C, 0x0B, 0x7E, 0x88, 0xE4, 0xFE, 0x9E, 0xFC, 0x37, 0x53, 0xB6, 0x0D, 0x25, 0x43, 0x3C, + 0x60, 0x23, 0x9A, 0x96, 0x4E, 0x11, 0x5C, 0x4B, 0x78, 0xE2, 0x8F, 0x72, 0x10, 0xA6, 0x92, 0xD3, + 0x27, 0x1D, 0x94, 0x68, 0xF0, 0x1E, 0x1B, 0xA3, 0x4A, 0x8C, 0xE3, 0x6F, 0x05, 0xF9, 0x46, 0xE9, + 0x30, 0xE2, 0xFC, 0x76, 0x2F, 0xF2, 0x21, 0x6C, 0x2D, 0x79, 0xE9, 0x94, 0x0D, 0xA3, 0x7D, 0x29, + 0xD3, 0x66, 0xA4, 0xC5, 0x9A, 0x3C, 0xBF, 0x37, 0x45, 0xA0, 0x8D, 0x70, 0x78, 0x76, 0x3B, 0xEB, + 0xF5, 0xAB, 0x56, 0xCB, 0x38, 0x02, 0xFA, 0xCF, 0xC7, 0x03, 0x3C, 0xF4, 0x9E, 0x06, 0xFD, 0xA3, + 0xAE, 0xAF, 0xA0, 0x3C, 0x3E, 0xA2, 0xFF, 0x2A, 0xE1, 0xC3, 0xD3, 0x80, 0xE1, 0xFF, 0x00, 0x50, + 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB7, 0x4A, 0x48, 0x52, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, + 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, + 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x64, 0x61, 0x74, + 0x61, 0x62, 0x61, 0x73, 0x65, 0x2F, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, + 0xE0, 0x79, 0x5A, 0x0B, 0xA1, 0x35, 0x14, 0xE0, 0x22, 0x09, 0x00, 0x00, 0x11, 0x20, 0x00, 0x00, + 0x3D, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, + 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, + 0x6C, 0x69, 0x62, 0x2F, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2F, 0x64, 0x61, 0x74, + 0x61, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x69, 0x6E, 0x74, 0x65, 0x72, 0x6E, 0x61, 0x6C, 0x2E, 0x6A, + 0x73, 0xC5, 0x59, 0x5B, 0xB3, 0xD2, 0x30, 0x10, 0x7E, 0xF7, 0x57, 0xAC, 0x3C, 0x48, 0x55, 0x28, + 0xEA, 0xF8, 0xA0, 0x1E, 0x75, 0xC4, 0x3B, 0x5E, 0x8E, 0x0E, 0xA0, 0x8E, 0xA3, 0x0E, 0xC6, 0x36, + 0x40, 0xB5, 0x24, 0x35, 0x4D, 0x45, 0x54, 0xFE, 0xBB, 0xBB, 0x49, 0x7A, 0x07, 0x45, 0x1D, 0x95, + 0x71, 0x84, 0x36, 0x7B, 0xCF, 0xEE, 0x97, 0xDD, 0x9C, 0xC1, 0x99, 0x93, 0x30, 0x8F, 0x14, 0x7F, + 0xC7, 0x52, 0xDE, 0x67, 0xE1, 0x2A, 0x12, 0xF0, 0xE9, 0xB2, 0x7F, 0xD1, 0xBF, 0x00, 0x67, 0x06, + 0x27, 0x3A, 0x59, 0xCA, 0x21, 0xD5, 0x2A, 0x0A, 0x74, 0xE7, 0xE8, 0x04, 0x92, 0x9E, 0x80, 0x33, + 0x70, 0x4B, 0x26, 0x1B, 0x15, 0x2D, 0x96, 0x1A, 0x2E, 0x9C, 0xBB, 0x70, 0x0E, 0xEE, 0x49, 0xB9, + 0x88, 0x39, 0x8C, 0x44, 0xE0, 0xE3, 0x2A, 0x11, 0x3C, 0x8A, 0x02, 0x2E, 0x52, 0x1E, 0x42, 0x26, + 0x42, 0xAE, 0x40, 0x2F, 0x39, 0x0C, 0x13, 0x16, 0xE0, 0x97, 0x5B, 0xE9, 0xC1, 0x73, 0xAE, 0xD2, + 0x48, 0x0A, 0xB8, 0xE0, 0x9F, 0x03, 0x8F, 0x08, 0x3A, 0x6E, 0xA9, 0x73, 0xFA, 0x88, 0x44, 0x6C, + 0x64, 0x06, 0x2B, 0xB6, 0x01, 0x21, 0x35, 0xA0, 0x0D, 0x28, 0x23, 0x4A, 0xD1, 0x4C, 0xD4, 0xC3, + 0x3F, 0x07, 0x3C, 0xD1, 0x80, 0x66, 0x06, 0x72, 0x95, 0xC4, 0x11, 0x13, 0x01, 0x87, 0x75, 0xA4, + 0x97, 0x48, 0x53, 0x28, 0xF0, 0x49, 0xC6, 0x4B, 0x27, 0x43, 0xBE, 0xD3, 0x0C, 0xC9, 0x19, 0x32, + 0x24, 0xF8, 0x34, 0xAF, 0x12, 0x02, 0xD3, 0xCE, 0x68, 0x80, 0xA5, 0xD6, 0xC9, 0x95, 0xC1, 0x60, + 0xBD, 0x5E, 0xFB, 0xCC, 0x98, 0xEB, 0x4B, 0xB5, 0x18, 0xC4, 0x96, 0x30, 0x1D, 0x3C, 0x1A, 0xDD, + 0xBA, 0x73, 0x3C, 0xB9, 0xD3, 0x47, 0x93, 0x1D, 0xCB, 0x33, 0x11, 0xF3, 0x34, 0x05, 0xC5, 0x3F, + 0x66, 0x91, 0x42, 0x77, 0xDF, 0x6D, 0x80, 0x25, 0x09, 0x32, 0xB0, 0x77, 0x68, 0x68, 0xCC, 0xD6, + 0x20, 0x15, 0xB0, 0x85, 0xE2, 0xB8, 0xA6, 0x25, 0x99, 0xBC, 0x56, 0x91, 0x8E, 0xC4, 0xA2, 0x07, + 0xA9, 0x9C, 0xEB, 0x35, 0x53, 0x9C, 0xC4, 0x84, 0x11, 0x45, 0xF8, 0x5D, 0xA6, 0xF3, 0x88, 0xD5, + 0x0C, 0x8C, 0xD2, 0x1A, 0x81, 0x44, 0x47, 0x04, 0x74, 0x86, 0x13, 0x18, 0x4D, 0x3A, 0x70, 0x73, + 0x38, 0x19, 0x4D, 0x7A, 0x24, 0xE4, 0xC5, 0x68, 0x7A, 0xFF, 0xC9, 0xB3, 0x29, 0xBC, 0x18, 0x8E, + 0xC7, 0xC3, 0xE3, 0xE9, 0xE8, 0xCE, 0x04, 0x9E, 0x8C, 0xE1, 0xD6, 0x93, 0xE3, 0xDB, 0xA3, 0xE9, + 0xE8, 0xC9, 0x31, 0x3E, 0xDD, 0x85, 0xE1, 0xF1, 0x4B, 0x78, 0x38, 0x3A, 0xBE, 0xDD, 0x03, 0x1E, + 0xA1, 0x0A, 0x85, 0xB1, 0x4C, 0x14, 0x7A, 0x40, 0x66, 0x46, 0x14, 0x4B, 0x1E, 0x9A, 0xC0, 0x4D, + 0x38, 0xAF, 0x99, 0x30, 0x97, 0xD6, 0xA4, 0x34, 0xE1, 0x41, 0x34, 0x8F, 0x02, 0x74, 0x4D, 0x2C, + 0x32, 0xB6, 0xE0, 0xB0, 0x90, 0x9F, 0xB8, 0x12, 0xE8, 0x11, 0x24, 0x5C, 0xAD, 0xA2, 0x94, 0xF6, + 0x34, 0x45, 0x03, 0x43, 0x12, 0x13, 0x47, 0xAB, 0x48, 0x33, 0x4D, 0xAF, 0xDA, 0x7E, 0x91, 0xA2, + 0xC1, 0x89, 0x27, 0xEF, 0xDE, 0xF3, 0x40, 0xFB, 0x21, 0x9F, 0x47, 0x82, 0x3F, 0x55, 0x12, 0xA5, + 0xE8, 0x8D, 0x87, 0x66, 0x49, 0xA5, 0xD3, 0x1E, 0x74, 0x66, 0x33, 0x9E, 0x3E, 0x96, 0x61, 0x16, + 0xF3, 0x4E, 0x0F, 0xBE, 0xC2, 0x27, 0x16, 0x67, 0xFC, 0x0A, 0x68, 0x95, 0x71, 0xD8, 0x62, 0xA2, + 0x38, 0x42, 0xFF, 0x36, 0xD3, 0x8C, 0xF2, 0x77, 0xC2, 0xD5, 0x27, 0x14, 0x0F, 0xD7, 0xE0, 0x93, + 0x8C, 0x42, 0x38, 0x77, 0x74, 0xE2, 0x13, 0x53, 0x90, 0xA9, 0x78, 0x76, 0x1E, 0xDF, 0xB9, 0x7D, + 0xF2, 0x3A, 0xF8, 0xA2, 0x73, 0xDA, 0xAE, 0x25, 0x4C, 0x2F, 0xAB, 0x4B, 0xF4, 0x9C, 0xAF, 0x71, + 0xA5, 0xA4, 0xAA, 0x73, 0xFA, 0xFE, 0x20, 0xD3, 0x51, 0x9C, 0x0E, 0xCC, 0x9A, 0x23, 0x24, 0xB3, + 0xA2, 0x90, 0x69, 0xA9, 0x76, 0x92, 0xBA, 0xD5, 0x92, 0x9C, 0x25, 0xD1, 0x8C, 0xC8, 0x78, 0xAA, + 0xF7, 0x48, 0x47, 0x8A, 0xBE, 0xA3, 0xC8, 0x99, 0x22, 0x0C, 0xE0, 0xE7, 0x3D, 0xE4, 0x66, 0x8D, + 0x08, 0x07, 0x67, 0x4C, 0x5E, 0x8E, 0x84, 0xC6, 0x5D, 0x61, 0x71, 0x4A, 0xC9, 0xCE, 0x20, 0x8F, + 0x0E, 0xCA, 0x48, 0x35, 0x96, 0x8B, 0x8D, 0x3D, 0x49, 0x2D, 0x96, 0x0A, 0x0E, 0x94, 0x8F, 0x42, + 0xE0, 0x46, 0x10, 0xB3, 0x34, 0x45, 0x2A, 0xF0, 0xE6, 0x99, 0x08, 0x68, 0x0F, 0xC1, 0x3B, 0x0D, + 0x5F, 0x4F, 0x00, 0x7E, 0xF2, 0x37, 0x6D, 0x6E, 0x4B, 0x62, 0x3F, 0xA6, 0x64, 0xFD, 0xD0, 0x91, + 0x90, 0xE0, 0xAF, 0xDB, 0x23, 0xB3, 0xB8, 0xA5, 0xFF, 0x49, 0x8D, 0xF9, 0x46, 0x7B, 0x6F, 0xF3, + 0x98, 0x6B, 0x24, 0x31, 0x39, 0x66, 0xB7, 0x90, 0x72, 0x08, 0x22, 0x9D, 0x02, 0x9A, 0x21, 0x83, + 0x88, 0x51, 0xEA, 0x63, 0xAA, 0xCA, 0x4C, 0x05, 0x3C, 0xF5, 0x2D, 0x63, 0xC1, 0x7F, 0x43, 0x71, + 0x9D, 0x29, 0x01, 0x5F, 0x31, 0x83, 0x30, 0x09, 0xF9, 0x55, 0xEF, 0xF4, 0xF5, 0x2D, 0x0C, 0x05, + 0xF0, 0x55, 0xA2, 0x37, 0xE0, 0xDE, 0xA2, 0x78, 0xA6, 0x11, 0x29, 0xE2, 0x18, 0xDE, 0x71, 0x74, + 0x22, 0x9E, 0xE3, 0x4F, 0x14, 0xBB, 0x5E, 0x72, 0x51, 0x51, 0x6D, 0x2B, 0xCE, 0x58, 0x14, 0xE6, + 0x8A, 0x06, 0xF4, 0xDD, 0x76, 0xD7, 0x4F, 0x94, 0xD4, 0x52, 0x6F, 0x12, 0xEE, 0x5B, 0x06, 0x74, + 0xB2, 0x11, 0x2E, 0xFB, 0x31, 0x15, 0xE4, 0x51, 0xC0, 0x67, 0x11, 0xD2, 0x9C, 0xEB, 0xC1, 0x8C, + 0xE1, 0xB7, 0xCB, 0xFE, 0x0F, 0x7C, 0x93, 0x7A, 0xF5, 0x68, 0x9D, 0x3E, 0x22, 0xCA, 0xAB, 0x48, + 0xE6, 0xC7, 0x5C, 0x2C, 0xF4, 0x92, 0x9E, 0xCF, 0x9E, 0xB5, 0x22, 0xCB, 0x0F, 0x49, 0x0C, 0xDF, + 0x3D, 0x53, 0x31, 0x5C, 0x43, 0xD2, 0x57, 0xB3, 0xE8, 0xCD, 0xD1, 0x8E, 0x75, 0x5C, 0xAC, 0x4B, + 0x7F, 0x65, 0x78, 0xEA, 0xB4, 0x48, 0xE7, 0x8F, 0x8E, 0xA7, 0x77, 0xC6, 0xC7, 0xC3, 0x47, 0xCE, + 0x1B, 0xEF, 0x74, 0x49, 0xB1, 0x2D, 0x7E, 0xD9, 0x58, 0xE7, 0x41, 0xF5, 0x69, 0x53, 0xE2, 0x4F, + 0xDC, 0xCB, 0x84, 0x2D, 0xE2, 0xD0, 0x31, 0xE1, 0x5E, 0x97, 0xD4, 0xED, 0xD0, 0x1D, 0x9D, 0xD8, + 0x7A, 0xA7, 0x5D, 0x6A, 0x37, 0xAA, 0xF7, 0xB7, 0x52, 0xD0, 0xF1, 0x7A, 0x88, 0xBF, 0xCD, 0x1C, + 0x2C, 0xDC, 0x42, 0xC1, 0x82, 0xAF, 0xDB, 0xB6, 0x54, 0xFD, 0x8C, 0xE6, 0xE0, 0x9D, 0x2C, 0x2A, + 0xD6, 0x8F, 0xD2, 0x63, 0x29, 0x8E, 0xB3, 0x38, 0xB6, 0x5B, 0x65, 0xC5, 0x7F, 0xFB, 0x06, 0x27, + 0xBD, 0xAE, 0x4C, 0x0C, 0xB2, 0x75, 0x09, 0xD6, 0xE9, 0x75, 0xAE, 0xB6, 0x54, 0xAD, 0xE4, 0x9A, + 0x14, 0xE6, 0x38, 0xE2, 0xDF, 0x75, 0xA7, 0x6C, 0x6E, 0xC0, 0x1D, 0x7A, 0xEF, 0xE5, 0x5C, 0xE5, + 0x27, 0x90, 0x21, 0x82, 0x5C, 0x37, 0x12, 0xC6, 0x8E, 0x3E, 0x53, 0x8B, 0x6C, 0xC5, 0x85, 0xEE, + 0xF6, 0x5A, 0x94, 0x2B, 0x04, 0x6F, 0xB6, 0x20, 0x62, 0x94, 0x9D, 0x6A, 0xC8, 0x49, 0x21, 0xC1, + 0xD0, 0xD9, 0x43, 0xC7, 0x9C, 0xE8, 0xC5, 0xD6, 0x63, 0x00, 0x57, 0x19, 0x12, 0xBE, 0xC3, 0x02, + 0xB3, 0xB0, 0x05, 0xB9, 0x55, 0xE4, 0x44, 0x89, 0x10, 0x0D, 0x65, 0xDB, 0x66, 0x2A, 0x94, 0xD1, + 0x45, 0xB6, 0x3C, 0x92, 0x18, 0x60, 0x7C, 0xAA, 0x16, 0xF9, 0x6E, 0x7C, 0x6F, 0x6C, 0x5A, 0x59, + 0x46, 0x88, 0xF8, 0x28, 0xA0, 0xD3, 0x2B, 0x42, 0x59, 0xC2, 0x84, 0x2B, 0xF5, 0xB1, 0xC9, 0x27, + 0x0B, 0x15, 0x48, 0x5A, 0x81, 0x87, 0xBC, 0x07, 0xC0, 0xEA, 0x6D, 0xC8, 0x2F, 0xBD, 0xAA, 0x48, + 0x32, 0x3F, 0x9B, 0xF8, 0x91, 0xC7, 0x62, 0x98, 0x24, 0x5B, 0x98, 0xFE, 0xA9, 0x8A, 0x41, 0xF1, + 0x7B, 0xC1, 0xF5, 0x95, 0x3D, 0xC8, 0x50, 0x16, 0x49, 0x2B, 0x9C, 0x95, 0x90, 0x97, 0xBB, 0xC1, + 0x05, 0xEE, 0xB0, 0xA2, 0x06, 0x03, 0x25, 0x62, 0xF2, 0xF2, 0x72, 0x29, 0x90, 0x62, 0x1E, 0x2D, + 0x32, 0x5A, 0x74, 0x87, 0xE4, 0x89, 0xEA, 0xDE, 0xED, 0x8D, 0xBA, 0x8F, 0xE6, 0xB9, 0xC5, 0x3A, + 0x82, 0xE1, 0x39, 0x69, 0x4C, 0x6D, 0xA3, 0x8D, 0xB5, 0x15, 0xCF, 0xF1, 0x4C, 0x71, 0x7C, 0x41, + 0x94, 0x3F, 0x29, 0xA2, 0x3B, 0x04, 0xC5, 0x13, 0xAD, 0xB0, 0x57, 0xF0, 0x8C, 0x90, 0xFF, 0x5C, + 0x30, 0x85, 0xC3, 0xCF, 0xC6, 0x8F, 0x9A, 0x35, 0xD1, 0xC3, 0xB6, 0x53, 0xF4, 0xCD, 0xE1, 0x61, + 0x96, 0x53, 0x63, 0xF6, 0x61, 0x35, 0x91, 0x43, 0x6E, 0x1D, 0x7A, 0x5A, 0xD8, 0x5B, 0x0F, 0x16, + 0xED, 0x82, 0x9C, 0x1B, 0xBE, 0x6B, 0xD7, 0xA0, 0x5B, 0x60, 0x69, 0x77, 0x17, 0xE0, 0x2B, 0x8D, + 0x74, 0x65, 0x1B, 0xD0, 0xBD, 0x91, 0x77, 0xEF, 0x83, 0x5C, 0x49, 0x17, 0x8F, 0x8F, 0xC1, 0x00, + 0x78, 0x1A, 0x47, 0x42, 0xF7, 0xB1, 0x7B, 0xA4, 0x8C, 0xE8, 0xE3, 0x03, 0x87, 0x1B, 0xA4, 0x2A, + 0x0D, 0x54, 0x94, 0xE8, 0xBE, 0x5D, 0x1F, 0x08, 0xD9, 0x47, 0xB1, 0x7D, 0x27, 0x2F, 0xAD, 0xE9, + 0x23, 0x4D, 0x46, 0xA1, 0x1F, 0x89, 0x48, 0x4F, 0x30, 0xC5, 0x43, 0x16, 0x4B, 0xC1, 0xBD, 0x66, + 0xAE, 0xF6, 0x6C, 0x66, 0xF4, 0xF2, 0x3E, 0x85, 0x72, 0x6A, 0x12, 0x7E, 0x70, 0x6D, 0x3E, 0x42, + 0xBD, 0x9F, 0x57, 0xC8, 0x51, 0xDB, 0xA1, 0x0C, 0xDB, 0xE8, 0x5B, 0xD8, 0x7D, 0x0A, 0xEC, 0x87, + 0x1A, 0x20, 0x3D, 0x2E, 0xD7, 0x0A, 0x9D, 0x4E, 0xD7, 0xE9, 0xE6, 0xF9, 0x45, 0x3A, 0x0D, 0xFD, + 0xCE, 0x63, 0xB8, 0x5D, 0x70, 0x75, 0xC5, 0x05, 0xB7, 0xD7, 0x10, 0xBC, 0xDD, 0xAB, 0xE7, 0xC1, + 0xE4, 0xC9, 0xF1, 0x9F, 0xE9, 0x22, 0x09, 0x3F, 0xD7, 0x97, 0xEE, 0xF2, 0xCB, 0xF6, 0x42, 0x07, + 0x6B, 0xCC, 0x65, 0x38, 0xBE, 0x1F, 0xEA, 0xFC, 0x49, 0xEE, 0xC2, 0x35, 0x34, 0x6A, 0x7F, 0x6B, + 0x50, 0x2C, 0x6E, 0x7F, 0x82, 0x3B, 0x25, 0x7E, 0xEC, 0x44, 0x9D, 0x76, 0x7D, 0xE0, 0x0A, 0x9C, + 0x6C, 0x17, 0x48, 0xDB, 0x77, 0xA2, 0xDC, 0x65, 0x20, 0x47, 0xBC, 0xAC, 0x0A, 0x6C, 0x66, 0xB1, + 0xEF, 0x0E, 0xF5, 0xC2, 0x65, 0xAC, 0xFE, 0x03, 0x35, 0x1E, 0x22, 0xAA, 0x6A, 0xD2, 0x9F, 0xA1, + 0xDE, 0x61, 0x88, 0x57, 0xA2, 0xDD, 0x2D, 0x26, 0x5E, 0x77, 0x35, 0xB6, 0xB5, 0x68, 0xDC, 0x0A, + 0xDD, 0x28, 0x4F, 0xFD, 0x2A, 0x0E, 0x56, 0x11, 0x6E, 0xBB, 0xBF, 0x8F, 0x2B, 0xF7, 0xD2, 0x74, + 0x71, 0x3F, 0x9A, 0xC3, 0xDA, 0x0C, 0x54, 0xF0, 0xE3, 0x67, 0x8F, 0xEE, 0x4C, 0x66, 0xA8, 0x70, + 0xF6, 0x74, 0x38, 0xBD, 0x8F, 0x54, 0x5D, 0x4A, 0x4F, 0x1A, 0x8C, 0xD3, 0x81, 0xC9, 0x5A, 0xFF, + 0x7D, 0x2A, 0x45, 0xB7, 0x98, 0x67, 0x86, 0xB0, 0xE4, 0x71, 0x82, 0xF3, 0x63, 0x60, 0xB2, 0xD9, + 0x74, 0xD3, 0x2B, 0x26, 0xD8, 0x82, 0x06, 0xCF, 0xF1, 0xF4, 0xF6, 0x4D, 0x6C, 0xDD, 0x83, 0x0C, + 0x47, 0xEB, 0x8D, 0x4D, 0xFA, 0x62, 0xBE, 0xD9, 0x05, 0x23, 0xBF, 0xD5, 0x5E, 0x56, 0x61, 0x28, + 0x47, 0xA0, 0xF6, 0xE1, 0x98, 0x30, 0x85, 0x5D, 0x17, 0x2E, 0x58, 0x10, 0xB3, 0x83, 0xA7, 0x8F, + 0x7E, 0x7A, 0x0D, 0xC0, 0x2A, 0x29, 0x7D, 0x1A, 0x38, 0x05, 0x5B, 0x51, 0xAC, 0xE8, 0xA7, 0xFF, + 0x5E, 0x46, 0xC2, 0x6B, 0x2F, 0xF7, 0x1A, 0x41, 0xB3, 0xB2, 0xCA, 0x62, 0xCD, 0xCF, 0xE5, 0x92, + 0x53, 0x4B, 0x77, 0xDA, 0x36, 0x49, 0xE9, 0x9A, 0xC3, 0xBA, 0x62, 0xCD, 0xAC, 0xCF, 0xA3, 0xFE, + 0x30, 0xD3, 0x4B, 0xA9, 0xA2, 0x2F, 0x3C, 0xBC, 0x9F, 0x13, 0xDA, 0xBE, 0x77, 0xCF, 0xF0, 0x76, + 0x8F, 0x6B, 0xDB, 0x8E, 0xE1, 0x0E, 0x28, 0xA4, 0x8D, 0xDD, 0x25, 0x08, 0x0F, 0x1B, 0xBB, 0x02, + 0x0C, 0xFF, 0xE5, 0x67, 0x29, 0x75, 0x57, 0x2E, 0xA9, 0xEC, 0x54, 0x4F, 0xDD, 0x4B, 0x8A, 0xF7, + 0x1C, 0x34, 0xB3, 0x3A, 0xD1, 0x24, 0xD5, 0xB1, 0x5A, 0xD0, 0xC2, 0xC3, 0x25, 0x88, 0xB3, 0x10, + 0xF9, 0xE9, 0xEE, 0x87, 0x12, 0xFE, 0xE7, 0xA3, 0xA0, 0xD5, 0x47, 0xE3, 0x20, 0x24, 0xF6, 0x55, + 0x39, 0xFA, 0x15, 0xD7, 0x46, 0x55, 0x03, 0x15, 0x5B, 0x3B, 0x23, 0x1B, 0xD3, 0x5F, 0x3B, 0x15, + 0x4A, 0x28, 0xFB, 0xF9, 0xD1, 0x63, 0x86, 0x3F, 0x8A, 0xBF, 0x6B, 0x0D, 0x8E, 0x6A, 0x2B, 0x18, + 0x7E, 0x1A, 0x90, 0x1B, 0xD5, 0x8B, 0x1B, 0x11, 0x62, 0xF1, 0xDE, 0xBB, 0x33, 0xAD, 0x17, 0x36, + 0x25, 0xD6, 0x95, 0xCA, 0xBE, 0x57, 0xAA, 0xF6, 0xA8, 0x01, 0xC6, 0xCD, 0x2D, 0xC7, 0x42, 0x13, + 0xA1, 0x87, 0xEA, 0x4E, 0xD7, 0x04, 0xFA, 0x18, 0x04, 0x51, 0x29, 0x04, 0xEC, 0x03, 0x8A, 0x39, + 0xAA, 0xD6, 0xD5, 0xD1, 0x82, 0xAF, 0xF9, 0x67, 0x9D, 0xAF, 0x1E, 0xD6, 0xC1, 0x61, 0x43, 0x6D, + 0x61, 0x2C, 0x5F, 0xC8, 0x5F, 0xDC, 0x42, 0x20, 0x2B, 0x8F, 0x9A, 0xD9, 0x9D, 0xF1, 0xF8, 0xC9, + 0xB8, 0x07, 0xDD, 0xFB, 0xD3, 0xE9, 0x53, 0x20, 0x5D, 0x92, 0xEE, 0x9F, 0xE8, 0x62, 0x89, 0x36, + 0x9D, 0xA0, 0xD4, 0xEF, 0x36, 0x8F, 0xAE, 0x5D, 0x68, 0x5C, 0x98, 0x59, 0x81, 0xDC, 0x86, 0xC7, + 0x01, 0xD3, 0xC1, 0xB2, 0x74, 0x99, 0x2C, 0xDB, 0xDD, 0x91, 0xCE, 0x6C, 0x08, 0xB1, 0xF5, 0x89, + 0x79, 0xE1, 0x04, 0x1A, 0xD1, 0x46, 0xCA, 0x3F, 0x2C, 0x0D, 0x5B, 0xBB, 0x60, 0xBA, 0x0A, 0x69, + 0x07, 0x27, 0xBC, 0xC4, 0xD8, 0x14, 0xB9, 0x8E, 0xE9, 0x5F, 0xAD, 0x0C, 0x2C, 0xD2, 0x45, 0x84, + 0x27, 0x4D, 0x5E, 0x1C, 0x4C, 0xD9, 0xAB, 0xDA, 0x24, 0x41, 0x21, 0x6C, 0xCD, 0x36, 0x3F, 0xAD, + 0x0D, 0xAB, 0xE4, 0x27, 0xB5, 0xE1, 0xCC, 0xAA, 0x15, 0xE2, 0xEF, 0x54, 0x06, 0xB9, 0xF5, 0x9F, + 0xAB, 0x03, 0x3F, 0x26, 0x87, 0xAE, 0xC0, 0x57, 0x3A, 0x43, 0x56, 0x4C, 0x23, 0xBF, 0xBD, 0xDD, + 0xEE, 0xC2, 0xF6, 0xDF, 0x54, 0x51, 0x35, 0x41, 0xC9, 0x96, 0xFF, 0x9A, 0xA0, 0x13, 0x93, 0xA0, + 0xE5, 0xCD, 0x6E, 0xB1, 0xCD, 0x92, 0x5C, 0x6E, 0x77, 0x09, 0x95, 0x39, 0x17, 0x46, 0xF3, 0x1D, + 0xF8, 0x9C, 0x3A, 0xC9, 0xA5, 0xC0, 0x2A, 0xEA, 0x9B, 0xEB, 0x70, 0xB8, 0x99, 0xCD, 0xE7, 0x5C, + 0xE1, 0xA4, 0xA0, 0xE9, 0x76, 0xDE, 0x61, 0x3A, 0xDF, 0x8F, 0xE8, 0x98, 0x7F, 0x6C, 0x05, 0x5F, + 0xAD, 0x88, 0x6F, 0x96, 0xFB, 0x9B, 0x4D, 0xDD, 0x6D, 0xAE, 0x78, 0x62, 0xBF, 0x64, 0xD5, 0x26, + 0x2D, 0x4D, 0xB5, 0x6D, 0x7C, 0x78, 0x4C, 0xE3, 0x9D, 0x90, 0x66, 0xC4, 0x7B, 0x2B, 0xF0, 0x36, + 0xE7, 0x6D, 0x2E, 0x9C, 0x2C, 0x32, 0x73, 0x9E, 0xBF, 0xB7, 0x48, 0xE8, 0x26, 0x19, 0x4B, 0x64, + 0x6C, 0xEF, 0xB9, 0x52, 0x73, 0x5D, 0x58, 0x6A, 0xB1, 0x55, 0xC7, 0xB5, 0x8D, 0x58, 0x11, 0xA8, + 0x5F, 0xAA, 0x90, 0x03, 0xDB, 0xFB, 0x66, 0x8D, 0x1C, 0x3E, 0x6F, 0xE7, 0xB2, 0x4E, 0x9D, 0xAA, + 0x65, 0x4F, 0x8D, 0xC5, 0xC6, 0xF5, 0x20, 0xD2, 0xDA, 0x95, 0x58, 0xCE, 0xD1, 0x4C, 0xCD, 0xE2, + 0x02, 0x1D, 0xAE, 0xFD, 0x72, 0x77, 0x7B, 0x78, 0x87, 0x5B, 0xEF, 0x72, 0x6D, 0x16, 0x94, 0xD3, + 0x7C, 0x39, 0xC6, 0xBB, 0x04, 0xEC, 0xB9, 0xE4, 0x33, 0x89, 0x28, 0x1C, 0xC8, 0xEE, 0x9B, 0xEB, + 0xF7, 0x5E, 0x78, 0x1A, 0xB7, 0xC9, 0x9F, 0x5A, 0x91, 0x1D, 0x8E, 0x58, 0x4F, 0x9F, 0xFD, 0x06, + 0x62, 0xD9, 0x30, 0xD7, 0x57, 0x96, 0x9C, 0x85, 0x38, 0x60, 0x5F, 0xD9, 0x71, 0x14, 0x77, 0xB1, + 0x9D, 0xD2, 0x18, 0xAF, 0x3E, 0x65, 0x58, 0x17, 0x95, 0xBA, 0x3F, 0x4C, 0x51, 0x72, 0x0D, 0xA8, + 0xBB, 0x3E, 0x82, 0x60, 0x49, 0xC0, 0xAE, 0xAF, 0x65, 0x7A, 0xDE, 0xBF, 0x54, 0x37, 0xE8, 0x6F, + 0x80, 0xE1, 0x6E, 0x20, 0xFC, 0xF7, 0xF0, 0xF7, 0xC3, 0x5A, 0xCC, 0xC5, 0xB8, 0xC4, 0xDD, 0xAB, + 0x3D, 0x9A, 0x9B, 0x57, 0x05, 0x1C, 0xCA, 0x79, 0xA3, 0x8B, 0xA6, 0xDE, 0xD9, 0x48, 0xD9, 0xED, + 0xF6, 0x1F, 0x94, 0xC4, 0x41, 0x1D, 0xD4, 0xDE, 0x22, 0x31, 0x9B, 0x47, 0x67, 0xB2, 0xE1, 0x7D, + 0x6C, 0xDF, 0x1A, 0xEF, 0x0E, 0xB9, 0xDC, 0x72, 0xC6, 0x23, 0xF9, 0x2F, 0x84, 0xB4, 0xA1, 0xEC, + 0x47, 0x61, 0xB5, 0x7F, 0xE8, 0xD2, 0x4A, 0xD2, 0x4C, 0x68, 0x98, 0x10, 0x6E, 0xE9, 0x8F, 0xBE, + 0x2C, 0x08, 0xB8, 0xE9, 0x01, 0x1B, 0x8D, 0x53, 0xB7, 0x32, 0xDB, 0xA8, 0xCD, 0x0E, 0x08, 0x7A, + 0x27, 0xC3, 0x0D, 0x0A, 0x43, 0x3D, 0x7E, 0xDE, 0x4E, 0xD6, 0x8E, 0xDD, 0x72, 0x3B, 0x0D, 0xE5, + 0xA9, 0x53, 0x86, 0xC3, 0x37, 0x41, 0xDE, 0x7F, 0xB7, 0xE2, 0x8C, 0x3C, 0x0B, 0x9D, 0x2B, 0xD0, + 0xC1, 0xAF, 0x92, 0xC7, 0x47, 0x9C, 0x59, 0xB5, 0x6E, 0x74, 0x76, 0x84, 0xD2, 0xA4, 0x37, 0x78, + 0x33, 0xD6, 0xD0, 0x42, 0x17, 0x77, 0xA3, 0x85, 0x90, 0xCA, 0x34, 0x5E, 0xC6, 0x65, 0x23, 0x38, + 0xAD, 0xC8, 0xF8, 0xA1, 0x31, 0x35, 0x5F, 0xF3, 0x1E, 0xB8, 0x3D, 0xC8, 0xB7, 0xB7, 0x2C, 0x1F, + 0xE6, 0xBF, 0x03, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, + 0x0B, 0xB2, 0xEF, 0x2D, 0x1F, 0x2B, 0x05, 0x00, 0x00, 0xC1, 0x0D, 0x00, 0x00, 0x33, 0x00, 0x00, + 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, + 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, + 0x2F, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x2E, + 0x64, 0x2E, 0x74, 0x73, 0xAD, 0x57, 0xDB, 0x72, 0xD3, 0x30, 0x10, 0x7D, 0xEF, 0x57, 0x2C, 0x7D, + 0x01, 0x3A, 0xC5, 0x66, 0x18, 0x5E, 0x68, 0xB9, 0x05, 0x5A, 0x20, 0x5C, 0x52, 0x68, 0x02, 0x0C, + 0xC3, 0x30, 0x13, 0xC5, 0xDE, 0x38, 0x02, 0x59, 0x32, 0x92, 0x9C, 0x90, 0x81, 0xFE, 0x3B, 0xBB, + 0xF2, 0xB5, 0x4D, 0x5A, 0x86, 0x81, 0x3E, 0x34, 0xB1, 0xBC, 0x97, 0xB3, 0x67, 0x8F, 0x56, 0x4A, + 0xBC, 0x77, 0x0D, 0xE6, 0xD2, 0xE2, 0x4C, 0x38, 0xBC, 0x25, 0xD2, 0x5C, 0x6A, 0x58, 0xDE, 0x8B, + 0xEE, 0x46, 0x77, 0x60, 0x2F, 0xDE, 0xA1, 0x97, 0x3B, 0xB0, 0x07, 0x4F, 0x4D, 0xB1, 0xB6, 0x32, + 0x5B, 0x78, 0xB8, 0x73, 0xFB, 0xCE, 0x6D, 0x78, 0x6E, 0x4C, 0xA6, 0x10, 0x86, 0x3A, 0x89, 0xE8, + 0x2D, 0x1B, 0xBC, 0x96, 0x09, 0x6A, 0x87, 0x29, 0x94, 0x3A, 0x45, 0x0B, 0x7E, 0x81, 0x30, 0x28, + 0x44, 0x42, 0x1F, 0xF5, 0x9B, 0x7D, 0xF8, 0x80, 0xD6, 0x49, 0xA3, 0xE1, 0x4E, 0x74, 0x1B, 0x6E, + 0xB0, 0xC1, 0x6E, 0xFD, 0x6A, 0xF7, 0xE6, 0x21, 0x87, 0x58, 0x9B, 0x12, 0x72, 0xB1, 0x06, 0x6D, + 0x3C, 0x94, 0x0E, 0x29, 0x86, 0x74, 0x04, 0x8C, 0xF2, 0xE0, 0x8F, 0x04, 0x0B, 0x0F, 0x04, 0x2C, + 0x31, 0x79, 0xA1, 0xA4, 0xD0, 0x09, 0xC2, 0x4A, 0xFA, 0x05, 0xD9, 0xB4, 0x09, 0x22, 0x8E, 0xF1, + 0xA9, 0x8E, 0x61, 0x66, 0x5E, 0x90, 0xB9, 0x20, 0x87, 0x82, 0x9E, 0xE6, 0x7D, 0x43, 0x10, 0xBE, + 0x06, 0x0D, 0xB0, 0xF0, 0xBE, 0x38, 0x88, 0xE3, 0xD5, 0x6A, 0x15, 0x89, 0x00, 0x37, 0x32, 0x36, + 0x8B, 0x55, 0x65, 0xE8, 0xE2, 0xD7, 0xC3, 0xA7, 0xC7, 0xA3, 0xF1, 0xF1, 0x2D, 0x82, 0x5C, 0xBB, + 0xBC, 0xD7, 0x0A, 0x9D, 0x03, 0x8B, 0xDF, 0x4B, 0x69, 0xA9, 0xDC, 0xD9, 0x1A, 0x44, 0x51, 0x90, + 0x83, 0x98, 0x11, 0x50, 0x25, 0x56, 0x60, 0x2C, 0x88, 0xCC, 0x22, 0xBD, 0xF3, 0x86, 0x21, 0xAF, + 0xAC, 0xF4, 0x52, 0x67, 0xFB, 0xE0, 0xCC, 0xDC, 0xAF, 0x84, 0x45, 0x0E, 0x93, 0x4A, 0xE7, 0xAD, + 0x9C, 0x95, 0xBE, 0x61, 0xEC, 0x1C, 0x40, 0xE9, 0xCE, 0x19, 0x18, 0x2A, 0x44, 0xC3, 0xEE, 0x60, + 0x0C, 0xC3, 0xF1, 0x2E, 0x3C, 0x19, 0x8C, 0x87, 0xE3, 0x7D, 0x0E, 0xF2, 0x71, 0x38, 0x79, 0x71, + 0xF2, 0x7E, 0x02, 0x1F, 0x07, 0xA7, 0xA7, 0x83, 0xD1, 0x64, 0x78, 0x3C, 0x86, 0x93, 0x53, 0x78, + 0x7A, 0x32, 0x3A, 0x1A, 0x4E, 0x86, 0x27, 0x23, 0x7A, 0x7A, 0x06, 0x83, 0xD1, 0x27, 0x78, 0x35, + 0x1C, 0x1D, 0xED, 0x03, 0x4A, 0x4A, 0x61, 0x89, 0xCB, 0xC2, 0x52, 0x05, 0x0C, 0x53, 0x32, 0x97, + 0x98, 0x06, 0xE2, 0xC6, 0x88, 0xE7, 0x20, 0xCC, 0x4D, 0x05, 0xC9, 0x15, 0x98, 0xC8, 0xB9, 0x4C, + 0xA8, 0x34, 0x9D, 0x95, 0x22, 0x43, 0xC8, 0xCC, 0x12, 0xAD, 0xA6, 0x8A, 0xA0, 0x40, 0x9B, 0x4B, + 0xC7, 0x3D, 0x75, 0x04, 0x30, 0xE5, 0x30, 0x4A, 0xE6, 0xD2, 0x0B, 0xCF, 0x4B, 0x9B, 0x75, 0x51, + 0x22, 0x56, 0x54, 0x1C, 0xC3, 0x7D, 0x8B, 0x73, 0xB4, 0xC8, 0x6D, 0xF4, 0xEB, 0x02, 0xDD, 0x83, + 0x5D, 0x6D, 0x52, 0xDC, 0x85, 0xF8, 0xE1, 0x0E, 0x81, 0x32, 0xD6, 0xC3, 0x4F, 0xA6, 0x15, 0xCE, + 0x60, 0x6E, 0x4D, 0x0E, 0xD7, 0xA3, 0x28, 0x6E, 0x15, 0xAA, 0x45, 0x8E, 0x8E, 0x7A, 0x45, 0x5A, + 0x2D, 0xE4, 0xF5, 0xC3, 0xDA, 0x81, 0x72, 0x0B, 0x6A, 0x8B, 0x4F, 0x67, 0xB5, 0xCB, 0xE3, 0xC6, + 0x21, 0x4E, 0x85, 0x17, 0xC1, 0x33, 0xA4, 0x22, 0x8F, 0x78, 0x2F, 0xB4, 0xF2, 0x39, 0x7A, 0x17, + 0xE0, 0xFD, 0x7C, 0xAC, 0xA4, 0xFE, 0x06, 0x8D, 0x5D, 0x74, 0x54, 0x7F, 0x81, 0x69, 0xF3, 0x6D, + 0x7A, 0x06, 0x0E, 0xED, 0x52, 0x26, 0x1D, 0x31, 0x29, 0xCE, 0x45, 0xA9, 0x58, 0x49, 0x8C, 0x34, + 0x74, 0x1D, 0x32, 0xB9, 0x44, 0xCD, 0x8F, 0xCD, 0xAE, 0x98, 0x86, 0xED, 0x14, 0x35, 0x91, 0x6F, + 0xDC, 0x9C, 0x42, 0x42, 0xAD, 0x9C, 0x21, 0x7D, 0x28, 0x85, 0x69, 0x25, 0x62, 0x6D, 0x40, 0xD8, + 0xAC, 0xCC, 0x51, 0x33, 0x20, 0x7A, 0x48, 0x12, 0xEE, 0xD0, 0x66, 0x96, 0xEB, 0xEE, 0xEF, 0xB0, + 0x32, 0x28, 0xB7, 0x0D, 0x07, 0xC5, 0xBA, 0x39, 0x3D, 0x9F, 0x8A, 0xCC, 0xFE, 0x2E, 0xB8, 0x70, + 0xCE, 0x24, 0x52, 0xF8, 0xA6, 0x0A, 0xD1, 0x6A, 0x85, 0x42, 0x5D, 0x41, 0xC2, 0x94, 0xE5, 0x2D, + 0x94, 0x33, 0xE4, 0xD1, 0xF6, 0x92, 0x10, 0x08, 0x5F, 0x73, 0xC3, 0x9B, 0x3F, 0xED, 0x81, 0xCB, + 0x94, 0x99, 0x09, 0xC5, 0x91, 0x12, 0x92, 0x95, 0x17, 0xDA, 0x07, 0xB9, 0x41, 0x8E, 0x7E, 0x61, + 0x52, 0x77, 0x11, 0x08, 0x85, 0xEA, 0x03, 0x6E, 0xF0, 0x36, 0x68, 0x1E, 0xE3, 0x0F, 0x41, 0xBA, + 0xC7, 0x80, 0x6C, 0x3A, 0xFD, 0x2A, 0x96, 0xC2, 0x25, 0x56, 0x16, 0x81, 0xE3, 0x38, 0x66, 0x55, + 0x84, 0x08, 0x4D, 0x80, 0xCB, 0x1A, 0xCF, 0x15, 0xB2, 0xCB, 0x52, 0xD8, 0x66, 0xA9, 0x75, 0x79, + 0x00, 0x17, 0xFB, 0x7E, 0x58, 0xA7, 0xFB, 0x1F, 0x20, 0x3A, 0xA2, 0xFB, 0x18, 0x0C, 0xEF, 0xEE, + 0xCB, 0x11, 0x90, 0xE5, 0x06, 0x88, 0x42, 0x58, 0x91, 0xC3, 0x80, 0xD4, 0xBB, 0x5A, 0x18, 0xB7, + 0x8D, 0x34, 0xEA, 0x42, 0x35, 0x27, 0x2D, 0xFA, 0xD2, 0xEA, 0x08, 0x86, 0xF3, 0x30, 0x9E, 0x0B, + 0x6B, 0x96, 0x32, 0xC5, 0x74, 0xFF, 0x1C, 0x23, 0x9B, 0xFE, 0xD4, 0x10, 0xA5, 0xA8, 0xA5, 0xB5, + 0x3F, 0xA6, 0x6D, 0x17, 0xAA, 0x05, 0x98, 0x5C, 0xED, 0x2E, 0x39, 0x5D, 0x53, 0x25, 0x90, 0x70, + 0xDA, 0xCC, 0xA4, 0xED, 0x4B, 0x1A, 0xBD, 0x4D, 0x0F, 0xAD, 0x1B, 0xC7, 0xAA, 0xC6, 0x10, 0xFE, + 0xE0, 0xB1, 0x41, 0xC9, 0x13, 0x25, 0x2C, 0x11, 0x5B, 0xEA, 0xC4, 0xF3, 0xE9, 0xD4, 0x67, 0xEC, + 0xD1, 0x41, 0xB0, 0x1F, 0x10, 0x77, 0x07, 0x9B, 0xBB, 0xE2, 0xF0, 0x42, 0x8C, 0x4E, 0xCD, 0xAD, + 0x2D, 0xFC, 0xDC, 0x01, 0xC6, 0xAD, 0x3D, 0xDA, 0x39, 0xBF, 0xA8, 0x7D, 0xF9, 0x48, 0xF3, 0xA8, + 0xD3, 0x6A, 0x62, 0x45, 0xCF, 0xEA, 0x51, 0x75, 0xD4, 0x73, 0xAB, 0xFF, 0xC2, 0xAC, 0xAA, 0xFF, + 0xFA, 0x33, 0x2B, 0x29, 0xAD, 0xA5, 0x79, 0xA1, 0xEA, 0xE3, 0x07, 0x53, 0x2A, 0x9F, 0xD6, 0xA4, + 0x5F, 0x83, 0x2D, 0x15, 0xF2, 0xAE, 0x60, 0xA1, 0x78, 0x4B, 0x83, 0x3A, 0x0A, 0x34, 0xD7, 0x8C, + 0x2F, 0x85, 0x2A, 0x31, 0xEC, 0x24, 0x3A, 0x61, 0x1C, 0x1D, 0x8D, 0xBD, 0xF0, 0x1C, 0xB9, 0x76, + 0x77, 0xA6, 0xB4, 0xDC, 0x00, 0x9D, 0xA8, 0x32, 0xA5, 0x18, 0x7C, 0xF2, 0x86, 0x01, 0x15, 0xF5, + 0xEC, 0xBB, 0xAF, 0x5D, 0x47, 0x07, 0xCC, 0x35, 0x1D, 0x0B, 0x4C, 0xA9, 0x9A, 0x53, 0xFB, 0x7B, + 0x6D, 0xE8, 0x43, 0xB3, 0x62, 0x55, 0xC3, 0xEB, 0x47, 0x8C, 0xDB, 0xEF, 0x19, 0xFA, 0x53, 0xB6, + 0xBE, 0x41, 0xD4, 0xBF, 0xAD, 0x22, 0xDE, 0xAF, 0xEC, 0x1F, 0x1E, 0xFE, 0x27, 0x76, 0x48, 0xFF, + 0x3C, 0x69, 0x5E, 0x8E, 0x4F, 0x46, 0x74, 0x61, 0xF8, 0x8A, 0x89, 0x8F, 0x60, 0xA0, 0xD7, 0x6D, + 0xA9, 0x54, 0xFD, 0x45, 0x72, 0x0C, 0x5D, 0x82, 0xA4, 0x16, 0xAA, 0xE1, 0x87, 0xDA, 0x1E, 0xAA, + 0x28, 0x0A, 0xD6, 0xD6, 0x4A, 0xAC, 0xFF, 0x89, 0x9E, 0x0A, 0x50, 0x05, 0xB1, 0x46, 0x74, 0x35, + 0x39, 0x0C, 0xBD, 0x4F, 0x50, 0xE5, 0x73, 0x39, 0x41, 0xE3, 0x40, 0x50, 0x77, 0xAC, 0x77, 0xC9, + 0x74, 0x58, 0x6E, 0x84, 0x08, 0xA7, 0x28, 0x94, 0x97, 0x79, 0x4F, 0xB0, 0x32, 0x8C, 0xDE, 0x04, + 0xC3, 0x0C, 0xD8, 0xD4, 0x89, 0xEB, 0xA5, 0xE9, 0xA2, 0xF7, 0x55, 0x58, 0x1D, 0x91, 0x4F, 0xCA, + 0x39, 0x9D, 0xFC, 0xFB, 0x20, 0x3D, 0xDF, 0xD3, 0x6A, 0x7D, 0xE1, 0x9F, 0xD5, 0x15, 0x66, 0x55, + 0x93, 0x6D, 0x5C, 0x7D, 0x98, 0x3E, 0x10, 0x6F, 0x42, 0xAF, 0xD7, 0x11, 0xBC, 0x29, 0x9D, 0x0F, + 0x53, 0x6A, 0x46, 0xE3, 0x41, 0x97, 0x4A, 0x4D, 0x39, 0x35, 0xE6, 0x85, 0x5F, 0x47, 0x5B, 0x5A, + 0x42, 0xB5, 0x3A, 0xA3, 0x96, 0x14, 0x62, 0xB5, 0x40, 0xDD, 0x45, 0xAC, 0x7A, 0x8B, 0xBE, 0xE6, + 0x66, 0x93, 0x92, 0xED, 0xAD, 0x71, 0x8D, 0x6E, 0x2B, 0xAC, 0x07, 0x4D, 0xF5, 0xBF, 0xEA, 0xD2, + 0xE9, 0x4B, 0xD5, 0xA5, 0x5E, 0xDB, 0x96, 0x46, 0xA6, 0x75, 0xD3, 0xCE, 0xC2, 0xFF, 0x7A, 0xB0, + 0x54, 0x57, 0x9B, 0x90, 0x70, 0xAC, 0x45, 0xE1, 0x16, 0x54, 0xD4, 0x83, 0x6A, 0x64, 0xF4, 0xD7, + 0x0E, 0xB7, 0xF8, 0x1C, 0x2F, 0x89, 0xCE, 0x09, 0x5D, 0x78, 0x1A, 0x87, 0x76, 0x61, 0x9B, 0xF5, + 0x89, 0x3E, 0x92, 0x8E, 0x66, 0x82, 0x26, 0x5C, 0x8D, 0x43, 0x7F, 0x6D, 0x9B, 0xCF, 0xBB, 0x12, + 0xED, 0xBA, 0x31, 0x0E, 0x0F, 0xDB, 0xAC, 0x4E, 0x9B, 0x8B, 0x5E, 0x63, 0xD9, 0x2E, 0x6C, 0xB3, + 0x9E, 0x50, 0x07, 0xF8, 0x22, 0xBD, 0xE1, 0xD5, 0xBC, 0xB8, 0xD2, 0xBB, 0x32, 0x79, 0x6D, 0xB2, + 0x8C, 0x08, 0x6F, 0x3C, 0xCF, 0x2D, 0x06, 0xAF, 0x6E, 0x53, 0xEC, 0xC1, 0xE7, 0xE9, 0x98, 0x4E, + 0x0D, 0xB4, 0x1F, 0x78, 0x2A, 0x4E, 0xBF, 0xDC, 0xE0, 0xDF, 0x03, 0xEE, 0x20, 0x6E, 0x6F, 0x9B, + 0x51, 0x16, 0x7E, 0xE9, 0x44, 0xA4, 0xCF, 0x38, 0x35, 0x89, 0x8B, 0xDB, 0x8B, 0x6B, 0xFC, 0xD5, + 0x75, 0x56, 0xED, 0xD9, 0xD0, 0x8B, 0x76, 0xB3, 0xC9, 0x91, 0x9B, 0x94, 0x04, 0x11, 0xAE, 0xA5, + 0xD5, 0x91, 0xB5, 0x79, 0x35, 0x9D, 0xD2, 0xD6, 0x4F, 0xBE, 0x89, 0x8C, 0x35, 0xD5, 0xE9, 0xA9, + 0xBA, 0xEF, 0x40, 0x2F, 0xE6, 0x41, 0x55, 0x53, 0xB7, 0x42, 0x3C, 0x9C, 0xED, 0xFC, 0x06, 0x50, + 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x9A, 0x82, 0x22, + 0x0D, 0x9D, 0x02, 0x00, 0x00, 0xDA, 0x04, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, + 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, + 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x64, 0x61, 0x74, + 0x61, 0x62, 0x61, 0x73, 0x65, 0x2F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x2E, 0x6A, 0x73, 0x7D, 0x53, + 0x51, 0x4F, 0xDB, 0x30, 0x10, 0x7E, 0xCF, 0xAF, 0xB8, 0xE5, 0x29, 0xAD, 0xDA, 0xA4, 0xAB, 0xF6, + 0x32, 0x2A, 0x24, 0x3A, 0x60, 0x5B, 0x34, 0xD6, 0x4E, 0xA4, 0x80, 0xD0, 0x34, 0x51, 0x37, 0xB9, + 0xA4, 0x66, 0x89, 0x9D, 0xD9, 0x4E, 0xB3, 0x0A, 0xF8, 0xEF, 0x3B, 0xA7, 0x09, 0xB4, 0x02, 0x2D, + 0x2F, 0x91, 0x7D, 0xDF, 0x7D, 0xF7, 0xDD, 0x7D, 0xE7, 0xA0, 0xFF, 0x0E, 0x52, 0xAE, 0x70, 0xC5, + 0x34, 0x0E, 0x59, 0x52, 0x70, 0x01, 0x9B, 0x8F, 0xFE, 0x07, 0x7F, 0x0C, 0xFD, 0xC0, 0x71, 0x2B, + 0x8D, 0xA0, 0x8D, 0xE2, 0xB1, 0x71, 0x27, 0x0E, 0x41, 0x1D, 0xE8, 0xC3, 0xA9, 0x2C, 0xB7, 0x8A, + 0x67, 0x6B, 0x03, 0xE3, 0xD1, 0x78, 0x04, 0x5F, 0xA4, 0xCC, 0x72, 0x84, 0x50, 0xC4, 0x3E, 0x45, + 0x2D, 0xE0, 0x82, 0xC7, 0x28, 0x34, 0x26, 0x50, 0x89, 0x04, 0x15, 0x98, 0x35, 0xC2, 0xB4, 0x64, + 0x31, 0xFD, 0xDA, 0xC8, 0x00, 0xAE, 0x51, 0x69, 0x2E, 0x05, 0x8C, 0xFD, 0x11, 0x78, 0x16, 0xE0, + 0xB6, 0x21, 0xB7, 0x37, 0xB1, 0x14, 0x5B, 0x59, 0x41, 0xC1, 0xB6, 0x20, 0xA4, 0x01, 0xD2, 0x40, + 0x1C, 0x5C, 0x93, 0x4C, 0xAA, 0x83, 0x7F, 0x63, 0x2C, 0x0D, 0x90, 0xCC, 0x58, 0x16, 0x65, 0xCE, + 0x99, 0x88, 0x11, 0x6A, 0x6E, 0xD6, 0x84, 0x79, 0x2E, 0xE0, 0x5B, 0x8E, 0xDB, 0x96, 0x43, 0xAE, + 0x0C, 0x23, 0x38, 0xA3, 0x84, 0x92, 0x4E, 0xE9, 0x3E, 0x10, 0x98, 0x69, 0x45, 0x03, 0xAC, 0x8D, + 0x29, 0x8F, 0x82, 0xA0, 0xAE, 0x6B, 0x9F, 0x35, 0x72, 0x7D, 0xA9, 0xB2, 0x20, 0xDF, 0x01, 0x75, + 0x70, 0x11, 0x9E, 0x9E, 0xCF, 0xA2, 0xF3, 0x21, 0x49, 0x6E, 0x53, 0xAE, 0x44, 0x8E, 0x5A, 0x83, + 0xC2, 0x3F, 0x15, 0x57, 0xD4, 0xEE, 0x6A, 0x0B, 0xAC, 0x2C, 0x29, 0x81, 0xAD, 0x48, 0x68, 0xCE, + 0x6A, 0x90, 0x0A, 0x58, 0xA6, 0x90, 0x62, 0x46, 0x5A, 0xC9, 0xB5, 0xE2, 0x86, 0x8B, 0x6C, 0x00, + 0x5A, 0xA6, 0xA6, 0x66, 0x0A, 0x2D, 0x4D, 0xC2, 0xED, 0x84, 0x57, 0x95, 0xE9, 0x26, 0x76, 0x20, + 0x90, 0xEB, 0x03, 0x80, 0xA4, 0x46, 0x04, 0xB8, 0xD3, 0x08, 0xC2, 0xC8, 0x85, 0x4F, 0xD3, 0x28, + 0x8C, 0x06, 0x96, 0xE4, 0x26, 0x5C, 0x7C, 0x9D, 0x5F, 0x2D, 0xE0, 0x66, 0x7A, 0x79, 0x39, 0x9D, + 0x2D, 0xC2, 0xF3, 0x08, 0xE6, 0x97, 0x70, 0x3A, 0x9F, 0x9D, 0x85, 0x8B, 0x70, 0x3E, 0xA3, 0xD3, + 0x67, 0x98, 0xCE, 0x6E, 0xE1, 0x5B, 0x38, 0x3B, 0x1B, 0x00, 0x72, 0x2A, 0xA1, 0x68, 0x96, 0xA5, + 0xA2, 0x0E, 0xAC, 0x4C, 0x6E, 0x67, 0x89, 0x49, 0x33, 0xB8, 0x08, 0xF1, 0x40, 0x42, 0x2A, 0x77, + 0x92, 0x74, 0x89, 0x31, 0x4F, 0x79, 0x4C, 0xAD, 0x89, 0xAC, 0x62, 0x19, 0x42, 0x26, 0x37, 0xA8, + 0x04, 0x75, 0x04, 0x25, 0xAA, 0x82, 0x6B, 0xEB, 0xA9, 0x26, 0x81, 0x89, 0xA5, 0xC9, 0x79, 0xC1, + 0x0D, 0x33, 0xF6, 0xEA, 0x75, 0x5F, 0xB6, 0x50, 0xE0, 0xCC, 0x57, 0xF7, 0x18, 0x1B, 0x3F, 0xC1, + 0x94, 0x0B, 0xFC, 0xA1, 0x24, 0xB1, 0x98, 0xAD, 0x47, 0xB2, 0xA4, 0x32, 0x7A, 0x00, 0xEE, 0xDD, + 0x1D, 0xEA, 0xEF, 0x32, 0xA9, 0x72, 0x74, 0x07, 0xF0, 0x00, 0x1B, 0x96, 0x57, 0x78, 0x04, 0x46, + 0x55, 0x08, 0x4F, 0xB4, 0x28, 0x2D, 0xD0, 0x4F, 0x98, 0x61, 0x76, 0x7F, 0xE1, 0x18, 0x36, 0x92, + 0x27, 0x30, 0x9A, 0x38, 0x1B, 0xA6, 0xA0, 0xBB, 0xBE, 0x7B, 0x4F, 0x81, 0xD6, 0x25, 0xCF, 0x3D, + 0xE9, 0xB6, 0x3D, 0xE8, 0xE2, 0x6E, 0x6F, 0x87, 0x57, 0x26, 0x59, 0xFD, 0x1F, 0x39, 0x34, 0xDB, + 0x12, 0xB5, 0xC5, 0x07, 0x7D, 0x40, 0x9D, 0x73, 0x61, 0x86, 0xE4, 0x4E, 0xE3, 0xF7, 0x49, 0x13, + 0x8B, 0x15, 0x2F, 0xCD, 0x70, 0x17, 0x0A, 0x84, 0x1C, 0x0A, 0x56, 0xA0, 0xA6, 0x6D, 0x42, 0x6A, + 0xF7, 0x40, 0xD4, 0xC4, 0xF1, 0xD2, 0x4A, 0xC4, 0x76, 0x3C, 0xE0, 0x75, 0x97, 0x3D, 0x78, 0x70, + 0x80, 0xBE, 0xEE, 0xEC, 0xA3, 0xB0, 0xDC, 0x17, 0x32, 0xCB, 0xEC, 0x90, 0x8F, 0x1B, 0x89, 0x87, + 0x97, 0x93, 0x26, 0x21, 0xE8, 0xF7, 0x9B, 0x3F, 0x8D, 0xFD, 0xE7, 0x32, 0x42, 0x45, 0xB6, 0x5C, + 0xDB, 0x61, 0x2D, 0x7F, 0x79, 0x76, 0xAD, 0x35, 0xED, 0x75, 0xD7, 0x8C, 0x9F, 0x35, 0x0F, 0xD6, + 0xA7, 0xE7, 0x13, 0x24, 0x32, 0xD6, 0x81, 0xC2, 0x14, 0x15, 0xD2, 0x33, 0x0A, 0xEE, 0xF5, 0x0B, + 0xEA, 0x59, 0xC2, 0x1E, 0x5B, 0xAF, 0xAB, 0x51, 0x34, 0x9E, 0x40, 0xAA, 0x64, 0xD1, 0x98, 0xBA, + 0x7C, 0x3D, 0xAA, 0x25, 0x50, 0xD7, 0xBF, 0x69, 0x49, 0xFC, 0x36, 0x29, 0x68, 0xFE, 0x6F, 0xD1, + 0x52, 0x5F, 0x2F, 0x56, 0xED, 0x07, 0x26, 0xCE, 0x53, 0xCF, 0xDB, 0x33, 0xF7, 0x95, 0xDF, 0x8F, + 0x8F, 0xE0, 0xBD, 0xB1, 0x04, 0x0F, 0x4F, 0x3D, 0xB2, 0xE8, 0x1F, 0x50, 0x4B, 0x03, 0x04, 0x14, + 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x56, 0x6F, 0xF7, 0x7B, 0x44, 0x02, 0x00, + 0x00, 0xAC, 0x04, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, + 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, + 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6C, 0x74, + 0x2D, 0x6E, 0x61, 0x6D, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2E, 0x6A, 0x73, 0xBD, 0x53, 0x4D, + 0x6F, 0x9B, 0x40, 0x10, 0xBD, 0xFB, 0x57, 0x4C, 0xB9, 0x24, 0xB1, 0x1C, 0x48, 0xA2, 0x4A, 0x55, + 0x63, 0x55, 0x2A, 0xCD, 0x47, 0x8B, 0x1A, 0x61, 0xC9, 0x38, 0x8D, 0x72, 0x8A, 0x96, 0x65, 0x80, + 0xAD, 0x96, 0x5D, 0xBA, 0xBB, 0x98, 0xFA, 0xDF, 0x77, 0xD6, 0xC6, 0x6E, 0x89, 0x7B, 0xCE, 0x09, + 0x76, 0xE7, 0xCD, 0x9B, 0xF7, 0x1E, 0x43, 0x34, 0x7D, 0x07, 0xA5, 0x30, 0x98, 0x33, 0x8B, 0xE7, + 0xAC, 0x68, 0x84, 0x82, 0xF5, 0xC7, 0xF0, 0x7D, 0x78, 0x05, 0xD3, 0x68, 0x12, 0x74, 0x16, 0xC1, + 0x3A, 0x23, 0xB8, 0x0B, 0xE6, 0x13, 0x82, 0x4E, 0x60, 0x0A, 0x9F, 0xA5, 0xE0, 0xA8, 0x2C, 0xFA, + 0xF7, 0x1B, 0xDD, 0x6E, 0x8C, 0xA8, 0x6A, 0x07, 0x57, 0x17, 0x97, 0x1F, 0xE0, 0xAB, 0xD6, 0x95, + 0x44, 0x48, 0x14, 0x0F, 0xA9, 0xEA, 0x01, 0x0F, 0x3B, 0x6C, 0x01, 0x9D, 0x2A, 0xD0, 0x80, 0xAB, + 0x11, 0xE2, 0x96, 0x71, 0x7A, 0x0C, 0x95, 0x19, 0xFC, 0x40, 0x63, 0x85, 0x56, 0x70, 0x15, 0x5E, + 0xC0, 0xA9, 0x07, 0x04, 0x43, 0x29, 0x38, 0x9B, 0x7B, 0x8A, 0x8D, 0xEE, 0xA0, 0x61, 0x1B, 0x50, + 0xDA, 0x01, 0xE9, 0x21, 0x0E, 0x61, 0x49, 0x32, 0xCD, 0xC1, 0xDF, 0x1C, 0x5B, 0x07, 0x24, 0x99, + 0xEB, 0xA6, 0x95, 0x82, 0x29, 0x8E, 0xD0, 0x0B, 0x57, 0x13, 0xE6, 0x30, 0x20, 0xF4, 0x1C, 0xCF, + 0x03, 0x87, 0xCE, 0x1D, 0x23, 0x38, 0xA3, 0x86, 0x96, 0x4E, 0xE5, 0xBF, 0x40, 0x60, 0x6E, 0x10, + 0x0D, 0x50, 0x3B, 0xD7, 0x5E, 0x47, 0x51, 0xDF, 0xF7, 0x21, 0xDB, 0xCA, 0x0D, 0xB5, 0xA9, 0xA2, + 0xC1, 0xB8, 0x8D, 0x1E, 0x92, 0x9B, 0xBB, 0x34, 0xBB, 0x3B, 0x27, 0xC9, 0x43, 0xCB, 0xA3, 0x92, + 0x68, 0x2D, 0x18, 0xFC, 0xD5, 0x09, 0x43, 0x76, 0xF3, 0x0D, 0xB0, 0xB6, 0xA5, 0x06, 0x96, 0x93, + 0x50, 0xC9, 0x7A, 0xD0, 0x06, 0x58, 0x65, 0x90, 0x6A, 0x4E, 0x7B, 0xC9, 0xBD, 0x11, 0x4E, 0xA8, + 0x6A, 0x06, 0x56, 0x97, 0xAE, 0x67, 0x66, 0x9B, 0x67, 0x21, 0x7C, 0xDA, 0x79, 0xE7, 0xF6, 0x89, + 0x8D, 0x04, 0x0A, 0x3B, 0x02, 0x68, 0x32, 0xA2, 0x20, 0x88, 0x33, 0x48, 0xB2, 0x00, 0xBE, 0xC4, + 0x59, 0x92, 0xCD, 0x3C, 0xC9, 0x53, 0xB2, 0xFA, 0xB6, 0x78, 0x5C, 0xC1, 0x53, 0xBC, 0x5C, 0xC6, + 0xE9, 0x2A, 0xB9, 0xCB, 0x60, 0xB1, 0x84, 0x9B, 0x45, 0x7A, 0x9B, 0xAC, 0x92, 0x45, 0x4A, 0xA7, + 0x7B, 0x88, 0xD3, 0x67, 0xF8, 0x9E, 0xA4, 0xB7, 0x33, 0x40, 0x41, 0x23, 0x0C, 0x65, 0xD9, 0x1A, + 0x72, 0xE0, 0x65, 0x0A, 0x9F, 0x25, 0x16, 0xDB, 0xE0, 0x32, 0xC4, 0x91, 0x84, 0x52, 0xEF, 0x24, + 0xD9, 0x16, 0xB9, 0x28, 0x05, 0x27, 0x6B, 0xAA, 0xEA, 0x58, 0x85, 0x50, 0xE9, 0x35, 0x1A, 0x45, + 0x8E, 0xA0, 0x45, 0xD3, 0x08, 0xEB, 0xBF, 0xA9, 0x25, 0x81, 0x85, 0xA7, 0x91, 0xA2, 0x11, 0x8E, + 0x39, 0x7F, 0x75, 0xEC, 0xCB, 0x0F, 0x8A, 0x26, 0x6B, 0x66, 0x0E, 0x8B, 0xF8, 0xA2, 0x58, 0x83, + 0x96, 0x82, 0xC7, 0x97, 0x4B, 0xF8, 0xB4, 0x4F, 0xF5, 0x34, 0x08, 0xA3, 0xC3, 0xAA, 0xEE, 0x11, + 0x7E, 0x4B, 0x46, 0xBD, 0xB1, 0xDF, 0x61, 0x6A, 0x52, 0xD8, 0xFF, 0x97, 0x2F, 0xBC, 0x1F, 0x2E, + 0xD3, 0xFD, 0xDD, 0x29, 0x31, 0x44, 0x11, 0x6D, 0xED, 0x4F, 0xE4, 0xCE, 0xEF, 0x86, 0x30, 0xBC, + 0x93, 0x44, 0x59, 0x60, 0xC9, 0x3A, 0xE9, 0x7C, 0x36, 0xDA, 0x38, 0xFF, 0xDD, 0x98, 0x94, 0xBA, + 0xF7, 0x5B, 0x68, 0x2C, 0x1D, 0xB7, 0xEB, 0x98, 0x6B, 0x57, 0x5F, 0x53, 0xBF, 0xA7, 0x00, 0xCA, + 0xCE, 0x43, 0x5F, 0x89, 0x29, 0x8D, 0x6E, 0xE0, 0x64, 0xFC, 0x97, 0x9D, 0xCC, 0x77, 0x0D, 0x7D, + 0x2D, 0x78, 0x0D, 0x39, 0x72, 0x4D, 0x6A, 0xAE, 0xE1, 0xD8, 0xC9, 0x5F, 0xFB, 0xAF, 0x19, 0xCE, + 0xC2, 0x41, 0xE0, 0x7C, 0x18, 0xCF, 0x2C, 0xF4, 0x28, 0x25, 0x3D, 0xB7, 0xF1, 0x36, 0xDA, 0x20, + 0x2D, 0xBA, 0x31, 0x64, 0xEB, 0x48, 0xE1, 0x94, 0x50, 0x6F, 0x24, 0x73, 0x3E, 0x19, 0x41, 0xF7, + 0xAA, 0xA9, 0x65, 0x74, 0x3F, 0x9F, 0x34, 0xBA, 0xE8, 0x24, 0x86, 0xBB, 0xB8, 0xED, 0x71, 0xFD, + 0x0F, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x63, + 0x71, 0x44, 0x2F, 0x7B, 0x11, 0x00, 0x00, 0x6B, 0x49, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x6E, + 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, + 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x66, + 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x70, 0x70, 0x2E, 0x6A, 0x73, 0xE5, 0x5C, + 0x6D, 0x73, 0xFA, 0x44, 0x10, 0x7F, 0xDF, 0x4F, 0x71, 0x32, 0xA3, 0x80, 0xD2, 0x50, 0x9F, 0x47, + 0x6B, 0xD5, 0xDA, 0x56, 0x45, 0xFF, 0xB6, 0x4E, 0x5B, 0x75, 0x1C, 0x75, 0x98, 0x94, 0x1C, 0x10, + 0x1B, 0x12, 0xCC, 0x43, 0x11, 0xB5, 0xDF, 0xDD, 0xDF, 0xEE, 0xDD, 0xE5, 0xF1, 0x02, 0xB4, 0xC5, + 0x57, 0x32, 0x6A, 0x21, 0x77, 0xB7, 0xBB, 0xB7, 0xCF, 0xB7, 0x7B, 0x71, 0xF8, 0xE6, 0x6B, 0x62, + 0xEA, 0xC7, 0xF2, 0xCE, 0x4D, 0xE4, 0xA1, 0xEB, 0x2D, 0xFC, 0x50, 0x3C, 0x7C, 0xE4, 0xBC, 0xE7, + 0xBC, 0x23, 0xDE, 0x1C, 0x1E, 0x74, 0xB2, 0x44, 0x8A, 0x24, 0x8D, 0xFD, 0x49, 0xDA, 0x39, 0x3E, + 0xC0, 0xD4, 0x03, 0xF1, 0xA6, 0xF8, 0x3C, 0xF0, 0x27, 0x32, 0x4C, 0x24, 0x7D, 0x3F, 0x8B, 0x96, + 0xEB, 0xD8, 0x9F, 0xCD, 0x53, 0xF1, 0xCE, 0xD1, 0xDB, 0x1F, 0x8A, 0xAF, 0xA2, 0x68, 0x16, 0x48, + 0x31, 0x0A, 0x27, 0x0E, 0x46, 0x69, 0xC2, 0x2B, 0x35, 0xD7, 0x13, 0x59, 0xE8, 0xC9, 0x58, 0xA4, + 0x73, 0x29, 0x4E, 0x97, 0xEE, 0x04, 0x7F, 0xF4, 0xC8, 0x40, 0xFC, 0x28, 0xE3, 0xC4, 0x8F, 0x42, + 0xF1, 0x8E, 0x73, 0x24, 0x7A, 0x34, 0xA1, 0xA3, 0x87, 0x3A, 0xFD, 0x63, 0x02, 0xB1, 0x8E, 0x32, + 0xB1, 0x70, 0xD7, 0x22, 0x8C, 0x52, 0x01, 0x7A, 0x00, 0xC3, 0x4F, 0x40, 0x32, 0xF0, 0xC8, 0x3F, + 0x27, 0x72, 0x99, 0x0A, 0x90, 0x3C, 0x89, 0x16, 0xCB, 0xC0, 0x77, 0xC3, 0x89, 0x14, 0x2B, 0x3F, + 0x9D, 0x63, 0x4E, 0x8E, 0xC0, 0x21, 0x18, 0x3F, 0x6B, 0x18, 0xD1, 0x5D, 0xEA, 0x62, 0xBA, 0x8B, + 0x05, 0x4B, 0xFC, 0x9A, 0x96, 0x27, 0x0A, 0x37, 0xD5, 0x44, 0x0B, 0x31, 0x4F, 0xD3, 0xE5, 0xC7, + 0xC3, 0xE1, 0x6A, 0xB5, 0x72, 0x5C, 0x26, 0xD7, 0x89, 0xE2, 0xD9, 0x50, 0x6F, 0x3C, 0x19, 0xBE, + 0x1A, 0x9D, 0x5D, 0x5C, 0xDE, 0x5C, 0x1C, 0x82, 0x64, 0xBD, 0xE4, 0x87, 0x30, 0x90, 0x49, 0x22, + 0x62, 0xF9, 0x47, 0xE6, 0xC7, 0xD8, 0xEE, 0xDD, 0x5A, 0xB8, 0xCB, 0x25, 0x16, 0xB8, 0x77, 0x20, + 0x34, 0x70, 0x57, 0x22, 0x8A, 0x85, 0x3B, 0x8B, 0x25, 0xC6, 0xD2, 0x88, 0x48, 0x5E, 0xC5, 0x7E, + 0xEA, 0x87, 0xB3, 0x81, 0x48, 0xA2, 0x69, 0xBA, 0x72, 0x63, 0xE6, 0xA7, 0xE7, 0x13, 0xB7, 0xEF, + 0xB2, 0xD4, 0x70, 0xAC, 0x42, 0xA0, 0x9F, 0x54, 0x26, 0x44, 0xD8, 0x48, 0x28, 0x3A, 0xA7, 0x37, + 0x62, 0x74, 0xD3, 0x11, 0x5F, 0x9C, 0xDE, 0x8C, 0x6E, 0x06, 0x04, 0xE4, 0xA7, 0xD1, 0xED, 0xD7, + 0x57, 0x3F, 0xDC, 0x8A, 0x9F, 0x4E, 0xAF, 0xAF, 0x4F, 0x2F, 0x6F, 0x47, 0x17, 0x37, 0xE2, 0xEA, + 0x5A, 0x9C, 0x5D, 0x5D, 0x9E, 0x8F, 0x6E, 0x47, 0x57, 0x97, 0xF8, 0xF5, 0xA5, 0x38, 0xBD, 0xFC, + 0x59, 0x7C, 0x3B, 0xBA, 0x3C, 0x1F, 0x08, 0xE9, 0x03, 0x45, 0x0C, 0x5E, 0x2E, 0x63, 0xEC, 0x80, + 0xC8, 0xF4, 0x89, 0x97, 0xD2, 0x63, 0xC6, 0xDD, 0x48, 0x59, 0x21, 0x61, 0x1A, 0x29, 0x92, 0x92, + 0xA5, 0x9C, 0xF8, 0x53, 0x7F, 0x82, 0xAD, 0x85, 0xB3, 0xCC, 0x9D, 0x49, 0x31, 0x8B, 0x1E, 0x64, + 0x1C, 0x62, 0x47, 0x62, 0x29, 0xE3, 0x85, 0x9F, 0x90, 0x4C, 0x13, 0x10, 0xE8, 0x11, 0x98, 0xC0, + 0x5F, 0xF8, 0xA9, 0x9B, 0xD2, 0xA3, 0xE6, 0xBE, 0x08, 0xD1, 0xF0, 0xE0, 0xEA, 0xEE, 0x77, 0x39, + 0x49, 0x1D, 0x4F, 0x4E, 0xFD, 0x50, 0x7E, 0x1F, 0x47, 0x80, 0x92, 0xAE, 0x7B, 0x20, 0x2B, 0x8A, + 0xD3, 0x64, 0x20, 0x3A, 0xE3, 0xB1, 0x4C, 0xBE, 0x8B, 0xBC, 0x2C, 0x90, 0x9D, 0x81, 0xF8, 0x5B, + 0x3C, 0xB8, 0x41, 0x26, 0x3F, 0x16, 0x69, 0x9C, 0x49, 0xF1, 0x08, 0x45, 0xD1, 0x13, 0x9D, 0x2F, + 0xB5, 0x2E, 0x9F, 0x2E, 0x97, 0xE2, 0x44, 0x58, 0x9E, 0x8E, 0xC2, 0x14, 0x74, 0xBA, 0x41, 0x82, + 0xE1, 0x87, 0xC8, 0xF7, 0xC4, 0xD1, 0xF1, 0xC1, 0x83, 0x1B, 0x8B, 0x09, 0xC4, 0x26, 0xC3, 0xD4, + 0x77, 0x83, 0xB1, 0xAF, 0xA7, 0x8C, 0xDF, 0xC6, 0x1C, 0x2D, 0xD2, 0x5E, 0xC7, 0x19, 0x16, 0x53, + 0x4A, 0x5F, 0x0F, 0xCD, 0xEC, 0x4E, 0x9F, 0x01, 0x11, 0x65, 0xBE, 0xE7, 0xA6, 0x51, 0x5C, 0x5D, + 0x9C, 0xA5, 0x7E, 0x90, 0x0C, 0xF3, 0x41, 0x33, 0xDB, 0x93, 0x72, 0x39, 0x26, 0x6D, 0x24, 0x64, + 0xCD, 0xF9, 0x34, 0x7C, 0x48, 0xC3, 0x66, 0xBE, 0x8C, 0xE3, 0x28, 0xB6, 0xCF, 0xE5, 0x21, 0x9A, + 0x37, 0x7C, 0x93, 0x75, 0xB2, 0xD8, 0x69, 0x34, 0x85, 0xCA, 0x97, 0x39, 0xE3, 0x87, 0x49, 0x0A, + 0x6B, 0x51, 0xAC, 0x67, 0xB8, 0x2D, 0x1C, 0x02, 0x28, 0xF1, 0xF9, 0x24, 0x70, 0x93, 0x04, 0x13, + 0x45, 0x6F, 0x9A, 0x85, 0x13, 0x92, 0xA2, 0xE8, 0xF5, 0xC5, 0xDF, 0x07, 0x02, 0x1F, 0xF3, 0xC4, + 0x0A, 0xA0, 0x57, 0x62, 0x2A, 0x2F, 0x50, 0x1F, 0x36, 0x61, 0xA7, 0x34, 0x06, 0x44, 0xA5, 0x5F, + 0xC7, 0xD5, 0x79, 0x7E, 0x72, 0x2E, 0x03, 0x09, 0x85, 0xA7, 0x69, 0x53, 0x40, 0x95, 0xB5, 0x09, + 0x69, 0x74, 0x2F, 0xC3, 0x57, 0x30, 0x0C, 0x19, 0xC2, 0x95, 0xD0, 0xAC, 0x5F, 0x7E, 0x53, 0x53, + 0x1E, 0xF9, 0xBF, 0xCC, 0x0E, 0xFA, 0xBC, 0x29, 0xBE, 0x92, 0x69, 0x42, 0x46, 0xE3, 0x66, 0x70, + 0x12, 0xBC, 0x2E, 0xD7, 0x68, 0x6C, 0x31, 0x9A, 0xF8, 0x2E, 0xF0, 0x90, 0xE5, 0x3A, 0x6A, 0x45, + 0xBE, 0xF0, 0xF3, 0xA5, 0x1B, 0xBB, 0x0B, 0xF1, 0xF7, 0x5D, 0x14, 0x05, 0xD2, 0x0D, 0x1F, 0x69, + 0xD9, 0x44, 0x5E, 0xCB, 0x29, 0x8C, 0x66, 0x2E, 0x7E, 0x9A, 0x4B, 0x36, 0x22, 0x80, 0x82, 0x97, + 0x02, 0x60, 0x1E, 0x06, 0x4C, 0x8D, 0x23, 0x56, 0xF3, 0x9C, 0x1C, 0x5A, 0x2C, 0xD3, 0x2C, 0x0E, + 0xC5, 0xDF, 0xD0, 0x73, 0x98, 0x8A, 0xFC, 0x24, 0x67, 0xDE, 0x64, 0x02, 0x23, 0xBC, 0xA5, 0x45, + 0x9F, 0x3E, 0x8A, 0x53, 0xA1, 0xC7, 0x41, 0xA0, 0x9B, 0xC2, 0xB3, 0x05, 0x81, 0xB8, 0x93, 0x60, + 0x79, 0x30, 0xC5, 0x57, 0xE9, 0x15, 0xBE, 0x6E, 0x92, 0xC5, 0x31, 0xB8, 0x07, 0x02, 0x34, 0x0A, + 0xFC, 0x1B, 0xCA, 0x95, 0x42, 0x6F, 0xD0, 0x0E, 0xE9, 0xAF, 0x55, 0x4E, 0xCE, 0x32, 0x8E, 0xD2, + 0x28, 0x5D, 0x2F, 0xA5, 0x33, 0x93, 0x29, 0xA3, 0x07, 0x17, 0x0B, 0x61, 0x97, 0x37, 0x5B, 0x96, + 0x23, 0x29, 0xCE, 0x98, 0x64, 0x80, 0xD9, 0xF4, 0xE7, 0xB8, 0x3C, 0x42, 0xC6, 0xC7, 0xBE, 0xF0, + 0x44, 0xCB, 0x9B, 0xFC, 0xA8, 0xC7, 0xC0, 0xC7, 0xE2, 0x8D, 0x37, 0x9A, 0x0F, 0x1D, 0x5E, 0xC0, + 0x5E, 0xE2, 0xD6, 0x5F, 0x48, 0xF1, 0x89, 0x38, 0x87, 0x38, 0x9C, 0x30, 0x5A, 0xF5, 0xFA, 0x05, + 0x64, 0x7F, 0x2A, 0x7A, 0xF5, 0xA5, 0x9A, 0x4D, 0x0C, 0xF6, 0xB5, 0x32, 0xB1, 0xFC, 0x40, 0xD3, + 0xA1, 0x08, 0x2F, 0x3E, 0x5A, 0x06, 0x6D, 0xB0, 0xF4, 0xDC, 0xE2, 0x83, 0x49, 0xE9, 0x64, 0x5E, + 0x32, 0x01, 0xB6, 0xB7, 0x02, 0x6A, 0xF1, 0x19, 0x0E, 0xC5, 0x0F, 0x4B, 0x58, 0xB9, 0x72, 0x9D, + 0x0A, 0xB6, 0xD6, 0x84, 0xA5, 0x82, 0x4E, 0x2A, 0xE2, 0x92, 0xF7, 0xE1, 0x51, 0x72, 0x9A, 0x0C, + 0x2C, 0x71, 0xE0, 0x70, 0x11, 0xD0, 0x58, 0x85, 0x40, 0x7F, 0x14, 0x3C, 0x14, 0x01, 0xCD, 0x82, + 0xA6, 0x02, 0x9B, 0x38, 0xB3, 0x92, 0x62, 0xEE, 0x62, 0x4D, 0x14, 0x4A, 0xD1, 0x83, 0xEF, 0x2D, + 0x36, 0xE9, 0xA6, 0x39, 0xEE, 0xC4, 0x0F, 0x27, 0x4C, 0x9A, 0x5A, 0x87, 0x15, 0x09, 0x82, 0x3C, + 0x34, 0x8A, 0x94, 0xD7, 0x86, 0xC5, 0x30, 0xD0, 0xC9, 0x07, 0xCB, 0xC2, 0x18, 0x37, 0x04, 0xA9, + 0x78, 0xD2, 0xFC, 0x8C, 0x5B, 0xE5, 0x76, 0x62, 0x34, 0xDD, 0xD1, 0xBB, 0xB6, 0x41, 0x2D, 0x74, + 0xA0, 0x29, 0xC6, 0x76, 0xD8, 0xCD, 0x55, 0x8F, 0xB6, 0x3D, 0x5E, 0x91, 0x01, 0xAF, 0xB0, 0x00, + 0x01, 0x59, 0xA6, 0x1B, 0x05, 0x17, 0x66, 0x60, 0x55, 0x12, 0x29, 0xA6, 0xFA, 0xCA, 0x2E, 0x8D, + 0xC1, 0x1B, 0x53, 0x87, 0xF5, 0xFD, 0x69, 0xE5, 0x65, 0x4A, 0x9A, 0x6D, 0x8C, 0xAC, 0xD7, 0x47, + 0x4C, 0x07, 0x1E, 0x32, 0x66, 0xE7, 0xE0, 0x29, 0xEC, 0x22, 0x1A, 0x8E, 0x6D, 0xF0, 0x4F, 0x59, + 0xE8, 0x87, 0xE9, 0x3C, 0x8E, 0x56, 0x7A, 0x17, 0x19, 0xF2, 0x33, 0xA5, 0x5F, 0x4D, 0x1C, 0x3C, + 0x4F, 0x0D, 0x56, 0xC0, 0x71, 0x4C, 0x6D, 0x32, 0x4C, 0xC2, 0xFB, 0x1A, 0xE1, 0x16, 0x38, 0xCF, + 0xE0, 0x12, 0x95, 0x13, 0x8D, 0xB2, 0x94, 0x02, 0x8B, 0x07, 0x8D, 0xAE, 0xBA, 0x3E, 0xDE, 0x37, + 0x46, 0x1D, 0x71, 0x4B, 0xEE, 0x02, 0xFF, 0xB8, 0xD0, 0xB6, 0x08, 0x91, 0x88, 0x73, 0x30, 0x33, + 0x4C, 0x03, 0x59, 0xC8, 0x39, 0x40, 0x9D, 0x23, 0x13, 0x42, 0x72, 0xAB, 0xA6, 0xF5, 0x0A, 0xBF, + 0xAF, 0x0D, 0x5D, 0x0F, 0x18, 0x25, 0x29, 0x88, 0x6B, 0xC4, 0x1A, 0xCE, 0x03, 0xEF, 0x20, 0xAA, + 0x10, 0x7A, 0xAD, 0xFC, 0x9F, 0xE0, 0x00, 0x77, 0xAC, 0x2D, 0x8E, 0x68, 0xF7, 0x39, 0xAB, 0x74, + 0x73, 0xA9, 0xCF, 0x65, 0xB0, 0x04, 0x65, 0x49, 0x1D, 0x38, 0xF9, 0x4D, 0x64, 0x2D, 0xC8, 0xEC, + 0x5C, 0x0A, 0xA9, 0x3A, 0x23, 0x35, 0x99, 0x8F, 0xC8, 0x96, 0xB3, 0xD8, 0xF5, 0x64, 0x42, 0x5B, + 0x24, 0xE8, 0x59, 0x40, 0x96, 0x5D, 0xC0, 0x65, 0x24, 0x01, 0xF0, 0xC3, 0x1F, 0x27, 0xD5, 0xED, + 0x3E, 0xC1, 0x54, 0xEA, 0x3B, 0x24, 0x1F, 0x5E, 0x0A, 0x24, 0xBD, 0x7E, 0xBF, 0xE9, 0xCB, 0x40, + 0x50, 0x58, 0x72, 0x65, 0x8A, 0xB6, 0x16, 0x5F, 0x76, 0x93, 0xFB, 0x0B, 0x4F, 0x3E, 0xC8, 0x80, + 0x32, 0x33, 0x50, 0xCC, 0x26, 0xF1, 0xE0, 0x7B, 0x6A, 0xA4, 0x40, 0xCF, 0xE9, 0xA3, 0x5C, 0xE0, + 0x07, 0x7B, 0xF2, 0x01, 0xF9, 0xA4, 0x95, 0x1B, 0xD2, 0xC6, 0xF1, 0xD5, 0xBD, 0x0F, 0xD6, 0x02, + 0x89, 0xA2, 0x3F, 0x5D, 0x5B, 0x50, 0x11, 0x28, 0x63, 0xD0, 0x14, 0x8D, 0xA0, 0x0B, 0xF0, 0x4B, + 0xF4, 0x94, 0x7F, 0x92, 0x76, 0x2C, 0x39, 0x33, 0x04, 0x10, 0x95, 0xDA, 0x49, 0xCF, 0xEE, 0x94, + 0x5E, 0xCB, 0x13, 0x2D, 0xE4, 0x0F, 0x97, 0x51, 0x78, 0x09, 0x7B, 0x51, 0x19, 0x66, 0xBE, 0xD7, + 0x7F, 0xFE, 0xB1, 0xF9, 0x13, 0x46, 0x14, 0x4D, 0xB5, 0xB4, 0x38, 0x24, 0xE1, 0xEB, 0x18, 0x82, + 0x7A, 0xED, 0xE4, 0x44, 0x74, 0xC3, 0x6C, 0x71, 0x27, 0xE3, 0xEE, 0x6E, 0x8B, 0x5D, 0x16, 0xC2, + 0x98, 0xF4, 0x54, 0x2F, 0xA7, 0xE4, 0x3D, 0x9C, 0x75, 0x0D, 0xA3, 0xAD, 0xD6, 0x48, 0x81, 0xDB, + 0xA4, 0x79, 0xE5, 0xC4, 0xF5, 0x82, 0x1E, 0xF5, 0xCC, 0x80, 0x79, 0x70, 0x16, 0x79, 0x50, 0x9D, + 0xD1, 0xE5, 0x8F, 0xA7, 0xAF, 0x46, 0xE7, 0xE3, 0xB3, 0xEB, 0x8B, 0xF3, 0x0B, 0xA4, 0xFC, 0xA7, + 0xAF, 0x90, 0x31, 0x8F, 0x42, 0x66, 0x82, 0x50, 0x64, 0x68, 0x7B, 0x9C, 0x51, 0x92, 0x44, 0x59, + 0xCE, 0xC7, 0xE2, 0xD7, 0x4E, 0x47, 0xBC, 0x25, 0xBE, 0xB9, 0xB9, 0xBA, 0x74, 0x14, 0x5D, 0x10, + 0x8A, 0xE1, 0x0E, 0x06, 0x3A, 0xBF, 0x76, 0x1C, 0xF1, 0x63, 0x19, 0x02, 0xA6, 0x6B, 0xB2, 0x9B, + 0x9F, 0x2E, 0x83, 0x4F, 0xC4, 0x22, 0x4B, 0x52, 0x6D, 0x5E, 0x11, 0xF3, 0xBB, 0x48, 0x52, 0x3A, + 0x05, 0x33, 0x3B, 0xA2, 0xA7, 0x38, 0xD9, 0x67, 0x3B, 0xE9, 0x94, 0x38, 0x85, 0xB1, 0xEE, 0x26, + 0x3C, 0x3D, 0x45, 0x6B, 0x5F, 0x6B, 0x42, 0xEA, 0x63, 0xFB, 0xDD, 0xFE, 0x2E, 0x5E, 0x1E, 0x39, + 0x89, 0x66, 0xC2, 0x49, 0x0B, 0xFF, 0xDD, 0xC2, 0x6A, 0x3E, 0xB6, 0x09, 0x71, 0x60, 0x5D, 0x55, + 0x4D, 0x5B, 0x3E, 0x2E, 0xB2, 0x16, 0xE2, 0x62, 0xAF, 0xA9, 0x48, 0x6F, 0x8A, 0xB7, 0x8F, 0x8E, + 0x8E, 0xFA, 0x4D, 0x60, 0x8F, 0xC7, 0x36, 0x9A, 0x29, 0x3E, 0x97, 0xCC, 0xF9, 0x6C, 0x8E, 0x13, + 0x17, 0x67, 0x55, 0xBD, 0xB1, 0x35, 0xAF, 0x6A, 0x3E, 0x75, 0xF4, 0xBE, 0x72, 0x3D, 0xE4, 0xCD, + 0x94, 0x9F, 0xF6, 0x5B, 0x31, 0x5F, 0x98, 0xCD, 0x3D, 0x0B, 0x71, 0x95, 0x35, 0x05, 0xEE, 0xDA, + 0x80, 0x42, 0xDF, 0x34, 0x62, 0x0B, 0x9E, 0x7F, 0xFE, 0xB1, 0xF3, 0x43, 0x0D, 0x34, 0xC9, 0xDD, + 0x39, 0x17, 0x19, 0x0B, 0x4D, 0xDB, 0x71, 0xDB, 0xFC, 0xE6, 0x51, 0xC3, 0x41, 0xD4, 0xBF, 0x70, + 0x2B, 0x49, 0x61, 0xA0, 0x07, 0x0B, 0xBC, 0xCD, 0x8F, 0x99, 0xD3, 0xDB, 0x45, 0x0E, 0xAC, 0x18, + 0x3B, 0xE9, 0x37, 0xFC, 0xE7, 0x05, 0xA2, 0xEF, 0x1D, 0xC0, 0xCF, 0x85, 0x6B, 0x42, 0x2A, 0x36, + 0x45, 0xA6, 0xE2, 0x82, 0x3E, 0x38, 0xEF, 0x75, 0x1E, 0x90, 0x8B, 0xFC, 0x4F, 0xC2, 0x1F, 0xAF, + 0x05, 0x2A, 0x3F, 0x19, 0x32, 0x56, 0x00, 0x88, 0x53, 0x0A, 0x81, 0xC8, 0x6D, 0xA6, 0x58, 0x61, + 0xC1, 0xA2, 0xA7, 0x26, 0x30, 0x73, 0xEC, 0x5F, 0x52, 0xB0, 0xD4, 0xDA, 0xED, 0x88, 0xAB, 0xB0, + 0x79, 0xEC, 0x11, 0x49, 0x86, 0x1D, 0x4A, 0x2F, 0x19, 0x20, 0xE4, 0xE3, 0x54, 0x11, 0x53, 0xAA, + 0x85, 0x41, 0xD8, 0x31, 0x80, 0xB8, 0xB1, 0x15, 0x47, 0x88, 0x05, 0xD2, 0x3B, 0x86, 0x1E, 0x10, + 0xFC, 0xA9, 0x8B, 0x03, 0xEE, 0x80, 0xD7, 0xAC, 0x2B, 0xF4, 0x16, 0x11, 0x42, 0xE1, 0x34, 0x94, + 0x18, 0xBB, 0xE3, 0x60, 0x1E, 0x32, 0x45, 0xA9, 0x1B, 0xD8, 0x10, 0xC1, 0x5D, 0x4F, 0xA3, 0x2C, + 0xA7, 0xE7, 0x63, 0xDA, 0xF8, 0x7B, 0x03, 0xF1, 0xEE, 0x40, 0xBC, 0x33, 0x60, 0xE7, 0xF4, 0xB6, + 0xD9, 0x6F, 0xDF, 0xB1, 0x1A, 0x49, 0x5C, 0x64, 0x20, 0xA3, 0xF0, 0x46, 0x4E, 0xA2, 0xD0, 0xC3, + 0x79, 0xC8, 0x66, 0xF8, 0x87, 0xA2, 0xF7, 0x3E, 0xAC, 0xFF, 0x83, 0xA3, 0x7E, 0x8B, 0xBD, 0xC1, + 0x27, 0x5E, 0x33, 0x19, 0x04, 0xE0, 0x3D, 0x6B, 0x7E, 0x37, 0x0A, 0x55, 0x90, 0x04, 0xDB, 0x54, + 0xDA, 0x50, 0xEC, 0x9D, 0xC2, 0x63, 0x32, 0x47, 0x50, 0x3C, 0x0C, 0x20, 0x38, 0x4F, 0xF4, 0x54, + 0x82, 0x9A, 0x0C, 0x4A, 0x12, 0x22, 0x66, 0x70, 0xA5, 0x0A, 0x63, 0xE1, 0x56, 0x01, 0x4F, 0x91, + 0x69, 0x88, 0x15, 0x52, 0x05, 0x4E, 0x73, 0x5D, 0x3C, 0x90, 0x29, 0x19, 0x4C, 0x1F, 0x65, 0x23, + 0xA3, 0x69, 0x8C, 0xBF, 0xD0, 0x35, 0xC3, 0x0E, 0x5A, 0xE1, 0x4E, 0x91, 0x5F, 0xB5, 0x1C, 0x5D, + 0xCC, 0x91, 0xD5, 0xC8, 0x51, 0x86, 0x9E, 0xCE, 0x99, 0x8A, 0x93, 0x93, 0x0A, 0x11, 0x90, 0x50, + 0xAE, 0x2C, 0xB4, 0x23, 0xDA, 0x63, 0x16, 0x78, 0x1C, 0x64, 0xD2, 0x54, 0x2E, 0x96, 0x08, 0x66, + 0x4A, 0x15, 0x6D, 0x78, 0x9A, 0xAA, 0x61, 0x4F, 0x18, 0xAC, 0x52, 0xFC, 0xE4, 0x44, 0x1C, 0xB5, + 0x18, 0x72, 0x9B, 0xD8, 0x9B, 0x52, 0x7F, 0x1D, 0x02, 0xB7, 0x9A, 0x75, 0x55, 0xDC, 0xDF, 0xB9, + 0xE9, 0xDC, 0x99, 0x06, 0x11, 0x62, 0x7C, 0x13, 0xC6, 0x90, 0x94, 0x06, 0xFA, 0xF3, 0xF6, 0x8E, + 0x7E, 0xE0, 0x56, 0x6D, 0xBA, 0x99, 0x7F, 0x8B, 0x7B, 0x14, 0x94, 0x94, 0xCE, 0x5C, 0x22, 0x73, + 0x70, 0x7E, 0xE7, 0x8C, 0x8A, 0xA3, 0xBB, 0x4B, 0x5A, 0x43, 0xE5, 0x48, 0x9C, 0x1E, 0x83, 0x35, + 0x65, 0x74, 0x90, 0x03, 0x67, 0xC2, 0x53, 0xCE, 0x46, 0x2D, 0x78, 0xF2, 0x3A, 0x12, 0xB9, 0x5E, + 0x3A, 0x3D, 0x02, 0x08, 0x96, 0x79, 0x94, 0x60, 0x03, 0xB7, 0xA7, 0xEA, 0x36, 0x76, 0x86, 0x17, + 0x9B, 0xE7, 0x43, 0xFA, 0xB8, 0x56, 0xEB, 0xD9, 0xEC, 0xB7, 0x13, 0x1C, 0xA0, 0x9A, 0xD9, 0xBF, + 0x55, 0x88, 0x3A, 0xDC, 0x0E, 0x4A, 0xDC, 0xDE, 0xC9, 0x9B, 0x9A, 0x34, 0x94, 0xD0, 0xD4, 0x8F, + 0x46, 0x2F, 0xA8, 0x0D, 0xE4, 0x35, 0xBC, 0xEF, 0xC0, 0x73, 0xD4, 0x4D, 0xC9, 0x53, 0xA8, 0xAC, + 0x51, 0x3D, 0x16, 0x27, 0x95, 0x3C, 0xF1, 0x33, 0xFD, 0xF4, 0x63, 0xF5, 0xD7, 0x59, 0xA8, 0x55, + 0x8D, 0x0D, 0xD4, 0x61, 0x76, 0xCF, 0x5A, 0x12, 0x72, 0x93, 0xB6, 0x9B, 0x3A, 0xB4, 0x4F, 0x53, + 0xFC, 0xBF, 0x28, 0xC1, 0x44, 0xBE, 0xF2, 0xE0, 0xBB, 0xA4, 0x1B, 0xAD, 0x19, 0x58, 0xB7, 0x53, + 0x24, 0xFA, 0x1D, 0x93, 0x81, 0xAD, 0xD9, 0x3D, 0x33, 0x40, 0xE5, 0x20, 0x84, 0xAB, 0x8A, 0xA0, + 0xA6, 0x1F, 0x70, 0x75, 0x8A, 0x72, 0xDB, 0x3B, 0x95, 0x3C, 0x94, 0xB3, 0xC2, 0x8D, 0xA8, 0x7A, + 0x9D, 0x69, 0x14, 0x04, 0xD1, 0x2A, 0x2F, 0x8E, 0xE8, 0x84, 0xB5, 0xB2, 0x53, 0x9D, 0xA6, 0x76, + 0x5A, 0x12, 0x88, 0xF2, 0x54, 0xC7, 0xC7, 0xB9, 0xF2, 0xCF, 0xAB, 0x69, 0xAF, 0xEB, 0xAB, 0xBC, + 0x78, 0x3C, 0x8B, 0x71, 0x2C, 0xE9, 0xF6, 0x39, 0x2B, 0x39, 0x7C, 0xBB, 0x45, 0xE1, 0x6A, 0xE8, + 0xC0, 0x59, 0x32, 0xAE, 0x18, 0xBE, 0x07, 0xFF, 0xA6, 0xAB, 0x08, 0xC1, 0xFC, 0x1E, 0x61, 0x95, + 0x8E, 0xD9, 0x09, 0x45, 0x8F, 0x1E, 0x00, 0xAD, 0x29, 0x9E, 0x24, 0x32, 0x46, 0x9C, 0x52, 0xE7, + 0x7D, 0x9F, 0x8D, 0x23, 0x3F, 0xBB, 0x6C, 0x4E, 0x70, 0x93, 0x35, 0x0C, 0xCA, 0xA3, 0x5A, 0x62, + 0xEF, 0x1D, 0x0D, 0x6B, 0x02, 0x2E, 0x53, 0xB5, 0x9D, 0x0C, 0xF2, 0x5E, 0xAE, 0xA9, 0xFB, 0xA1, + 0x4C, 0xEE, 0x4E, 0xB2, 0x89, 0x3F, 0x80, 0xA5, 0x1E, 0x8E, 0xD6, 0x91, 0xE0, 0x13, 0x21, 0x11, + 0x41, 0xC1, 0xF2, 0x90, 0x40, 0x11, 0x93, 0x37, 0x23, 0x64, 0x12, 0xA3, 0xB0, 0x4C, 0x76, 0x19, + 0xD6, 0x3B, 0x80, 0xB5, 0x70, 0xEF, 0x25, 0xC2, 0x38, 0x6D, 0x79, 0xAE, 0x48, 0x18, 0x9D, 0x53, + 0xC9, 0x83, 0xD7, 0x14, 0x24, 0xF9, 0xBA, 0x90, 0xB4, 0x19, 0x1F, 0x35, 0x1A, 0xC8, 0xF3, 0xBB, + 0x29, 0xF7, 0x59, 0x12, 0x34, 0x5A, 0x60, 0xA9, 0xC0, 0x26, 0x1D, 0xD3, 0x89, 0x72, 0x66, 0xAC, + 0x39, 0x0E, 0xFA, 0x3A, 0x43, 0xDF, 0x5D, 0xA8, 0xC6, 0xD4, 0x90, 0x68, 0x43, 0xCB, 0x00, 0x7A, + 0x14, 0x21, 0xEC, 0x27, 0x43, 0xF0, 0x93, 0x7B, 0x06, 0x62, 0x34, 0xDD, 0x8C, 0x11, 0xCC, 0x1F, + 0xE4, 0x27, 0x1F, 0xE1, 0xD2, 0x09, 0x2B, 0x27, 0x1A, 0x64, 0x6C, 0x5E, 0xBC, 0x0B, 0x8D, 0x9A, + 0x92, 0xE1, 0x18, 0x34, 0xA6, 0x94, 0x74, 0x24, 0x0D, 0x62, 0x79, 0x0B, 0x89, 0x77, 0xEF, 0x74, + 0x77, 0xF1, 0x3E, 0x7B, 0x3D, 0x09, 0x96, 0x55, 0xB8, 0xDF, 0x28, 0xF3, 0x3C, 0xA5, 0x28, 0x5A, + 0xAF, 0x09, 0x3D, 0x1E, 0xD7, 0x2B, 0xEC, 0xA7, 0x1E, 0xC5, 0xF1, 0x3C, 0xC5, 0xE5, 0x88, 0x5D, + 0x14, 0xB9, 0x04, 0xF8, 0xC1, 0xB1, 0xA8, 0x48, 0x12, 0x27, 0x9C, 0xA7, 0x27, 0x6D, 0x05, 0x77, + 0xE3, 0x52, 0xCD, 0xB1, 0xEF, 0x31, 0x07, 0x4D, 0x76, 0x98, 0xFF, 0xA8, 0x54, 0xC8, 0x35, 0x32, + 0xF6, 0x31, 0x8C, 0xF1, 0x99, 0xB5, 0x70, 0xD7, 0xF3, 0xC8, 0x73, 0xDD, 0x96, 0x93, 0x7E, 0xF8, + 0xD6, 0xCD, 0xC9, 0xBE, 0xF5, 0x9C, 0xB0, 0xCC, 0x92, 0x79, 0x3E, 0xBB, 0x56, 0xCC, 0xDE, 0x5A, + 0x3E, 0x35, 0xEB, 0x9A, 0x33, 0x2B, 0x47, 0x87, 0xED, 0xB2, 0xB9, 0x96, 0x0B, 0x34, 0xE9, 0x12, + 0xC3, 0xFA, 0x1C, 0xF0, 0x8B, 0x79, 0x8F, 0xAC, 0x8F, 0x41, 0x3F, 0x89, 0xBB, 0x6A, 0xC9, 0x7E, + 0x18, 0x8C, 0x45, 0x56, 0xBE, 0xC3, 0xC0, 0x81, 0xB8, 0x14, 0x97, 0xA3, 0x74, 0xCE, 0xD0, 0x8C, + 0xA2, 0xF3, 0x6F, 0x8E, 0x00, 0x06, 0xD5, 0x71, 0x6E, 0x13, 0x4D, 0x06, 0x72, 0x72, 0xA2, 0x52, + 0x6E, 0xEB, 0xEE, 0x4C, 0x3E, 0xF4, 0x34, 0x46, 0xA8, 0x34, 0xA9, 0xB2, 0x6F, 0x50, 0xD8, 0xDE, + 0x04, 0xE3, 0xA6, 0xE7, 0xF1, 0x41, 0xB3, 0x00, 0xDB, 0x9A, 0xF4, 0x25, 0x11, 0xE5, 0x71, 0x5E, + 0x24, 0x93, 0xB0, 0xAB, 0x52, 0xC0, 0xD6, 0x0C, 0x10, 0xA4, 0x3F, 0xAB, 0xE2, 0xDA, 0x60, 0x56, + 0x71, 0x16, 0x95, 0x89, 0xE5, 0x7C, 0x40, 0x04, 0x6C, 0xCA, 0x0F, 0xB2, 0x84, 0xBB, 0xE8, 0x3C, + 0xED, 0xE6, 0xFC, 0xDB, 0x36, 0x15, 0x55, 0x47, 0x84, 0x47, 0x4A, 0x35, 0xDD, 0xF5, 0x28, 0xFC, + 0xCE, 0x0F, 0x80, 0x51, 0x25, 0x7E, 0xA4, 0xA3, 0xEA, 0x39, 0xA1, 0xCD, 0x8A, 0xE6, 0x75, 0x5E, + 0x8B, 0x6E, 0x01, 0x56, 0xCE, 0xCB, 0x6F, 0xCB, 0xC7, 0x10, 0x5E, 0x48, 0x04, 0xAA, 0x83, 0xA8, + 0x4A, 0x76, 0xF8, 0xAC, 0x5C, 0x38, 0x18, 0x53, 0xD0, 0x5E, 0xC6, 0x3E, 0xB0, 0xF1, 0x8C, 0xBC, + 0x25, 0xA7, 0xF3, 0xA4, 0x27, 0x29, 0x87, 0x3D, 0xD3, 0xAD, 0x28, 0x8B, 0x65, 0xEF, 0xE5, 0x6C, + 0x77, 0xB7, 0x86, 0x5D, 0xAB, 0x7C, 0x31, 0x13, 0x34, 0xE8, 0x5F, 0xB5, 0x06, 0x70, 0x33, 0x31, + 0xCF, 0x3B, 0x1B, 0xC3, 0x37, 0x2B, 0x2D, 0x52, 0xEC, 0x96, 0xD5, 0x76, 0x87, 0xD4, 0xB9, 0xA5, + 0x0A, 0x3D, 0x9A, 0x85, 0x91, 0xCA, 0x3F, 0x54, 0x3C, 0xD3, 0x6D, 0x2C, 0xDE, 0xCC, 0x82, 0xAF, + 0xA0, 0xFC, 0x5E, 0x94, 0x1E, 0xB9, 0x27, 0x8F, 0x2B, 0x07, 0xB0, 0x68, 0x55, 0x3C, 0x40, 0xEA, + 0xC2, 0x69, 0xC2, 0x8A, 0xEA, 0xCB, 0x6E, 0xC0, 0x09, 0x5B, 0x68, 0x6F, 0x77, 0x35, 0x2B, 0x24, + 0x54, 0x07, 0x50, 0x48, 0xF3, 0x08, 0x13, 0x44, 0xB3, 0x19, 0x5F, 0xC1, 0x98, 0x68, 0x92, 0xFE, + 0xF4, 0x13, 0x8A, 0xFB, 0x95, 0xA3, 0x26, 0x1F, 0x68, 0x09, 0x25, 0x94, 0xC5, 0x82, 0xA8, 0x9C, + 0x2F, 0x33, 0x46, 0x6A, 0xDB, 0x6D, 0x3D, 0x2C, 0x7D, 0x2A, 0x8E, 0x9E, 0x75, 0x36, 0xFA, 0xE0, + 0xC8, 0x72, 0x12, 0xA2, 0x23, 0xE5, 0xD6, 0xD3, 0x50, 0xA5, 0x15, 0x34, 0xB0, 0x99, 0x5A, 0xE1, + 0x03, 0x8A, 0x1C, 0xC2, 0xAA, 0xD8, 0xC7, 0x07, 0x8F, 0x3D, 0x2A, 0x7E, 0x6C, 0xB9, 0x97, 0x61, + 0x7B, 0x9C, 0x5F, 0x6B, 0xF8, 0x2A, 0x88, 0xEE, 0xA8, 0x67, 0x13, 0x61, 0xE4, 0xCF, 0x54, 0x57, + 0x99, 0xD9, 0xB6, 0x5D, 0x3C, 0x44, 0xE0, 0x67, 0x3D, 0x22, 0x73, 0xD5, 0x29, 0x18, 0x35, 0x6E, + 0x94, 0x95, 0x26, 0x73, 0x17, 0xC7, 0x17, 0xEE, 0xFE, 0xD3, 0x19, 0x66, 0xA2, 0x0E, 0x44, 0xF0, + 0x53, 0xA9, 0xFD, 0x26, 0xC4, 0x73, 0x2F, 0x40, 0xF4, 0x22, 0xD5, 0x04, 0x02, 0xAB, 0xDD, 0x85, + 0x1C, 0xE4, 0x17, 0xAC, 0xF2, 0xCD, 0x8C, 0x9F, 0x60, 0x94, 0xCD, 0xC5, 0x98, 0xD7, 0x7C, 0x58, + 0x5B, 0xA5, 0xF7, 0xCE, 0x93, 0xFF, 0x7E, 0x7C, 0xEA, 0x95, 0x0A, 0x22, 0x9B, 0xC6, 0xF0, 0xB7, + 0x3E, 0xA4, 0xB7, 0x86, 0xD1, 0xF2, 0xDD, 0x15, 0x87, 0xBE, 0x9F, 0xE1, 0xAB, 0xD9, 0x3A, 0x84, + 0xBC, 0x63, 0x3F, 0xA6, 0x02, 0xB5, 0x4F, 0x8C, 0xD9, 0x6B, 0x22, 0x7C, 0xFA, 0xFD, 0xF7, 0xE3, + 0xAB, 0xEF, 0xF9, 0xE2, 0xD3, 0x40, 0x74, 0x4D, 0x4F, 0xC4, 0x00, 0xA1, 0xBB, 0x1E, 0x42, 0x23, + 0x17, 0x4B, 0x48, 0x99, 0xD4, 0x83, 0x03, 0x3C, 0xB1, 0x18, 0xFE, 0xC4, 0x8D, 0x67, 0x19, 0x9D, + 0x9D, 0x2D, 0xA7, 0x65, 0xD2, 0xB9, 0xD6, 0xD3, 0x55, 0xAF, 0x03, 0xC8, 0xCC, 0x3F, 0x4F, 0x9F, + 0x5B, 0x0B, 0xC6, 0x9A, 0xE6, 0xCA, 0x95, 0xC2, 0x5B, 0xF4, 0x4C, 0x70, 0x4A, 0x0C, 0x0F, 0xA9, + 0xB5, 0xAB, 0xB5, 0x1A, 0x07, 0xDB, 0x4A, 0x5A, 0x57, 0xAB, 0xCD, 0x17, 0x67, 0x7C, 0xAA, 0x22, + 0x74, 0x8B, 0xA3, 0x79, 0x17, 0xA4, 0x56, 0xA5, 0x55, 0x17, 0x47, 0x65, 0x75, 0x8D, 0xE7, 0xD5, + 0x95, 0xCE, 0xA4, 0x84, 0xC5, 0x7E, 0x4B, 0x8A, 0x1B, 0x8E, 0xEA, 0xB6, 0x1B, 0xAD, 0x39, 0x97, + 0x53, 0x37, 0x0B, 0x6A, 0x82, 0x75, 0xE8, 0x18, 0x75, 0x3A, 0xC3, 0xDA, 0xD6, 0x1D, 0x95, 0x11, + 0xB5, 0xD2, 0x50, 0xDE, 0x47, 0x5E, 0x39, 0x29, 0x86, 0x55, 0x9B, 0x4D, 0x71, 0x8F, 0xBA, 0x74, + 0x15, 0xA0, 0x27, 0xAA, 0x6F, 0x4E, 0x8F, 0x1B, 0x0B, 0x6B, 0x4D, 0x53, 0x05, 0xC7, 0xD8, 0x76, + 0xF7, 0xFF, 0xA4, 0x95, 0x94, 0xF2, 0xFC, 0x5A, 0xAA, 0xF3, 0xFC, 0x5A, 0x14, 0x7A, 0x6C, 0xDD, + 0xBD, 0xB9, 0x3F, 0x99, 0x17, 0x25, 0x26, 0x34, 0x09, 0xFB, 0x16, 0xBC, 0x5D, 0x22, 0xA8, 0x50, + 0x38, 0x15, 0x9F, 0xA7, 0x2E, 0x12, 0xE5, 0xAE, 0x55, 0x1D, 0xF4, 0x65, 0x40, 0x9C, 0xD1, 0x93, + 0x5E, 0xD3, 0xD5, 0x19, 0xE7, 0xF6, 0x25, 0x9A, 0x1A, 0x11, 0xA7, 0x38, 0x96, 0x46, 0x8C, 0x9E, + 0x73, 0x89, 0xAD, 0xF5, 0x9B, 0x57, 0x16, 0xA0, 0xA3, 0x32, 0xE6, 0x73, 0x22, 0x22, 0x83, 0xAE, + 0x75, 0xDE, 0xA8, 0x15, 0xBD, 0x7E, 0xA9, 0xA9, 0xA0, 0xA1, 0xE0, 0x04, 0xAB, 0xD3, 0x53, 0xE9, + 0x35, 0xB3, 0x9E, 0x5F, 0x4A, 0xB8, 0x7E, 0x13, 0x27, 0x45, 0x2A, 0xA4, 0x21, 0x8E, 0x9D, 0x3B, + 0x14, 0x9F, 0x54, 0xD7, 0x6C, 0x20, 0x4A, 0x93, 0xCB, 0x7B, 0x2F, 0x7D, 0xE7, 0xE5, 0xA3, 0xCB, + 0xDB, 0x8B, 0xEB, 0xCB, 0xD3, 0x57, 0x80, 0x07, 0x3D, 0xDB, 0x76, 0xBD, 0xCE, 0x44, 0xE0, 0xC6, + 0x91, 0x8F, 0x63, 0xB1, 0x52, 0x1D, 0xCA, 0xB2, 0x0D, 0x76, 0x73, 0x52, 0x29, 0xEE, 0xBD, 0xE9, + 0xF3, 0x32, 0x23, 0xB7, 0xDE, 0x80, 0xD3, 0x61, 0xFD, 0xB6, 0x15, 0x52, 0x34, 0xCD, 0x17, 0xB7, + 0xA6, 0xB8, 0xE5, 0xD3, 0x35, 0x80, 0x54, 0xF2, 0xD8, 0xDD, 0x62, 0x62, 0xB9, 0x42, 0x21, 0x43, + 0xAA, 0x49, 0x19, 0x2E, 0xF7, 0xBA, 0x04, 0xB2, 0x3B, 0xB0, 0x82, 0x2C, 0xC0, 0xD2, 0x24, 0xBD, + 0xA4, 0x74, 0x8B, 0xB2, 0xEB, 0x0C, 0x69, 0x80, 0xFF, 0xD3, 0xED, 0x3B, 0xB4, 0x43, 0x5B, 0x65, + 0x84, 0x64, 0x51, 0x86, 0xA0, 0x84, 0x6A, 0x91, 0xE3, 0xE3, 0xF1, 0x06, 0x51, 0x50, 0x8B, 0xD8, + 0x25, 0x8E, 0x68, 0x26, 0x36, 0xEE, 0xD5, 0x42, 0x18, 0x3F, 0x5C, 0xBF, 0xE2, 0xFE, 0x53, 0xF9, + 0x7E, 0xDF, 0x66, 0xB9, 0x14, 0x60, 0x5F, 0x2C, 0x1B, 0x4F, 0x03, 0xAA, 0xC8, 0x27, 0x8B, 0x83, + 0xDD, 0x44, 0x84, 0x91, 0x9C, 0x82, 0x13, 0xBB, 0xA4, 0x0C, 0x82, 0xAD, 0xD2, 0xF2, 0xEE, 0xAC, + 0xB2, 0x32, 0xEB, 0xF3, 0x2F, 0xF9, 0x35, 0x5C, 0x08, 0xCF, 0xB0, 0x41, 0xAF, 0x6C, 0x93, 0x23, + 0x60, 0x6F, 0x93, 0x62, 0xB1, 0xC0, 0x6C, 0x88, 0xCC, 0xDA, 0xC0, 0x27, 0x8E, 0xEC, 0x24, 0x6E, + 0x55, 0x7B, 0x83, 0xA7, 0xD9, 0x8F, 0xF9, 0xE5, 0xE0, 0x5E, 0x2C, 0xE7, 0x85, 0x81, 0xB4, 0x67, + 0x43, 0xCC, 0xE1, 0x6E, 0x95, 0x6F, 0x3E, 0xD3, 0x2A, 0xE6, 0x7C, 0xB4, 0xF8, 0x06, 0xF9, 0xE6, + 0xFB, 0x6F, 0x95, 0x6C, 0x01, 0xF5, 0x45, 0x66, 0x7A, 0x83, 0xF0, 0x82, 0x9A, 0xE9, 0x7E, 0xA4, + 0xA6, 0x80, 0xBD, 0xDC, 0x36, 0x13, 0x05, 0x67, 0xCF, 0x12, 0x53, 0x50, 0xB7, 0xDB, 0xA3, 0x9E, + 0x67, 0x95, 0x96, 0x1E, 0x33, 0x7F, 0x21, 0x29, 0xBD, 0xE7, 0x56, 0x39, 0xE9, 0x99, 0x3B, 0x4A, + 0xC9, 0xCA, 0x0F, 0x3E, 0x1F, 0x11, 0x9C, 0xE7, 0x70, 0x64, 0x07, 0x4F, 0x65, 0xC0, 0x6F, 0x67, + 0x8D, 0x99, 0x69, 0x67, 0x4E, 0x3E, 0x9A, 0x7F, 0xAB, 0xF8, 0xAC, 0x2F, 0xF5, 0xC3, 0xAD, 0x4E, + 0xCB, 0xAC, 0xDE, 0xCA, 0x34, 0x8B, 0xEF, 0x9A, 0x04, 0x3E, 0xA2, 0xC8, 0x2E, 0x9A, 0x3F, 0xD2, + 0xCA, 0x39, 0xF2, 0xF6, 0xA3, 0xFC, 0x05, 0xBC, 0x17, 0xEB, 0xBF, 0x9F, 0x83, 0x7A, 0x86, 0xC0, + 0x37, 0x99, 0x80, 0xEF, 0x7B, 0x5B, 0x65, 0x8C, 0x39, 0x56, 0xE9, 0x1A, 0xA2, 0x0E, 0x7D, 0xAF, + 0xFC, 0x1D, 0x82, 0x2D, 0x76, 0xDE, 0x26, 0x52, 0x06, 0xBA, 0x9B, 0x05, 0xB4, 0xC5, 0x17, 0xBE, + 0x44, 0x2E, 0x5F, 0xA1, 0x5E, 0x1B, 0xEE, 0x2F, 0xCA, 0x28, 0xA0, 0xC2, 0x40, 0xDD, 0x28, 0xB8, + 0x1D, 0xE4, 0xB6, 0x28, 0x11, 0xF9, 0x1F, 0x44, 0x1C, 0x05, 0xFD, 0x30, 0x20, 0xF0, 0x3B, 0x05, + 0x9E, 0x2A, 0x39, 0x56, 0xA9, 0xD6, 0x81, 0x36, 0x1E, 0x40, 0xBE, 0x35, 0xDE, 0xB7, 0x09, 0xB9, + 0x82, 0xEF, 0xC5, 0x81, 0xE9, 0x7B, 0xD5, 0x6F, 0xFC, 0xCE, 0x0D, 0xDD, 0x19, 0x9F, 0xBB, 0xF6, + 0x23, 0xF2, 0x1D, 0xC0, 0x3E, 0xD1, 0x58, 0x97, 0x75, 0x88, 0x7B, 0x16, 0xBB, 0x86, 0x7F, 0xB8, + 0xC8, 0x11, 0x6C, 0x15, 0x7C, 0x83, 0x24, 0xAB, 0xE8, 0x9B, 0x80, 0x2D, 0x8F, 0x20, 0xFE, 0x06, + 0xCB, 0xDA, 0x14, 0xA0, 0x89, 0xF7, 0x65, 0x2A, 0x80, 0xEB, 0x2D, 0x19, 0x5E, 0x21, 0x5C, 0x5F, + 0x67, 0xB8, 0xCF, 0xB5, 0x1F, 0xF1, 0x57, 0x40, 0xBE, 0x58, 0xF4, 0x49, 0x19, 0xDA, 0x9E, 0xC5, + 0x6E, 0x60, 0x1F, 0xC6, 0x04, 0x7C, 0xAB, 0xC8, 0x2B, 0xA4, 0x58, 0xC5, 0x5D, 0x05, 0x58, 0xFB, + 0x09, 0x31, 0x57, 0x58, 0xD3, 0x26, 0xE2, 0x2A, 0x9E, 0x97, 0x89, 0x97, 0x7A, 0xB5, 0xA9, 0x3C, + 0x8B, 0xC2, 0xA9, 0xBF, 0x27, 0x7F, 0x5E, 0x82, 0xF8, 0xF2, 0x83, 0x43, 0x5C, 0x00, 0xDB, 0xB7, + 0x27, 0x2F, 0x81, 0xDE, 0xEE, 0xC5, 0xCB, 0x93, 0xAD, 0x82, 0x55, 0x13, 0x0E, 0x27, 0x3C, 0xA3, + 0xFA, 0x0B, 0x62, 0x2D, 0xF3, 0xA4, 0x4D, 0xAA, 0x65, 0x1C, 0xBB, 0xBA, 0x6D, 0xFB, 0xCB, 0xAC, + 0x56, 0x56, 0xE2, 0xA2, 0x3E, 0x95, 0xDF, 0x3A, 0x83, 0x62, 0x77, 0x85, 0x4E, 0x34, 0xF5, 0x82, + 0xE6, 0xEA, 0x17, 0x97, 0xDB, 0xDE, 0xE8, 0x34, 0x1F, 0x05, 0xA3, 0xAE, 0x09, 0x4F, 0x84, 0x31, + 0xCC, 0xBF, 0xE3, 0xE0, 0xFB, 0x71, 0x4D, 0x1A, 0xCD, 0x17, 0x56, 0xE6, 0x72, 0x72, 0x7F, 0x8E, + 0xFC, 0x34, 0x8E, 0xD6, 0xE8, 0x2E, 0xF4, 0xEC, 0xB7, 0x4B, 0x8A, 0x9A, 0x63, 0xB9, 0xB1, 0x94, + 0x7F, 0x95, 0x21, 0x6A, 0x9B, 0x31, 0xBD, 0x38, 0xFD, 0xB1, 0x6A, 0x4E, 0x14, 0x43, 0x4A, 0x70, + 0x99, 0x1A, 0xE4, 0x86, 0xE2, 0x81, 0xE2, 0xFE, 0x73, 0xD8, 0xAE, 0x0B, 0xAC, 0xBB, 0x72, 0x5E, + 0x4F, 0xA7, 0x52, 0xCD, 0x4E, 0x9C, 0xB3, 0x72, 0xFF, 0x19, 0x70, 0xFE, 0x0B, 0x09, 0xD8, 0x3A, + 0x37, 0xB5, 0x46, 0xCC, 0x9E, 0x45, 0xB3, 0xFD, 0x16, 0x45, 0xBE, 0xF9, 0x36, 0x27, 0x76, 0x1A, + 0x0A, 0xBA, 0xED, 0xBB, 0x36, 0x2F, 0x40, 0x15, 0x2F, 0xC2, 0x16, 0x7D, 0xD8, 0x26, 0x3C, 0x2E, + 0xDE, 0x9A, 0xAB, 0xA8, 0xBB, 0xB8, 0x36, 0x9E, 0xFA, 0x9C, 0xC3, 0xA4, 0x9D, 0xFF, 0x5B, 0xBB, + 0x79, 0xEA, 0x22, 0x0C, 0x17, 0xEF, 0x0B, 0xC3, 0x68, 0xAB, 0x06, 0x6B, 0xEA, 0x7A, 0x8D, 0x33, + 0x5E, 0xFE, 0x56, 0x18, 0x4A, 0xDA, 0xBD, 0x72, 0xF9, 0xBC, 0xDA, 0x0D, 0xEC, 0x23, 0x0D, 0x5F, + 0xEE, 0x56, 0x25, 0x37, 0x2F, 0x56, 0x56, 0x01, 0x54, 0x6A, 0xDD, 0x9B, 0xC8, 0x7A, 0xEC, 0xF7, + 0xF9, 0x2D, 0xB3, 0xAD, 0x57, 0x06, 0x6A, 0x9D, 0xCA, 0xE6, 0x8C, 0xE6, 0xE5, 0x97, 0x27, 0x56, + 0x08, 0x2A, 0x11, 0x86, 0x60, 0x58, 0xF7, 0x3F, 0x28, 0x3A, 0x29, 0x7C, 0x45, 0x68, 0x67, 0xB9, + 0x96, 0x8A, 0x08, 0xE5, 0xEE, 0x54, 0x05, 0x38, 0x60, 0xD7, 0xFA, 0xB2, 0x75, 0x66, 0x14, 0x65, + 0x88, 0x0D, 0x0C, 0xDF, 0xF1, 0x9D, 0xCC, 0x1C, 0x56, 0x79, 0x4B, 0x35, 0x57, 0xB0, 0x09, 0x0D, + 0x16, 0x36, 0x36, 0xF4, 0xD8, 0x52, 0x54, 0xD8, 0x25, 0x99, 0xD9, 0x2D, 0x7F, 0xB1, 0xDA, 0x6E, + 0x8F, 0x7B, 0x33, 0xFA, 0x9D, 0xCC, 0x88, 0x3C, 0x17, 0xD2, 0x6F, 0xCF, 0x20, 0xF1, 0xA7, 0xFA, + 0x45, 0x91, 0x7E, 0xFE, 0x62, 0x29, 0xDF, 0x1C, 0x62, 0xE7, 0x8A, 0xBB, 0xF4, 0xF7, 0xB4, 0x30, + 0x5B, 0x8A, 0x45, 0x14, 0xC2, 0x18, 0x96, 0x2E, 0xBF, 0xBD, 0x50, 0x27, 0xA7, 0xF5, 0xF2, 0x61, + 0x89, 0x25, 0xF5, 0xB8, 0xD9, 0xDC, 0x52, 0x1A, 0x69, 0xC6, 0x38, 0x8D, 0xE4, 0xAB, 0x39, 0xBD, + 0x78, 0xAB, 0x3B, 0xBF, 0x8E, 0xCD, 0xD0, 0x77, 0xF1, 0x4F, 0x88, 0x02, 0x25, 0x55, 0xDE, 0x6A, + 0xCA, 0x1B, 0xB4, 0xB7, 0x68, 0x07, 0x6F, 0x51, 0x55, 0xC0, 0x7B, 0x82, 0xEA, 0xF0, 0xE8, 0x0E, + 0x5D, 0xBB, 0xCA, 0x3A, 0xF6, 0x53, 0x03, 0xB5, 0x96, 0xDE, 0xCB, 0x0D, 0x3D, 0xEC, 0x5A, 0x37, + 0xCE, 0x38, 0xD7, 0xEA, 0xB7, 0xAB, 0xE2, 0x76, 0x8B, 0x69, 0xAA, 0xE7, 0x19, 0xFC, 0xE4, 0x9D, + 0x3B, 0xB9, 0xCF, 0x19, 0xC8, 0x7A, 0x43, 0x52, 0x54, 0xD8, 0xA9, 0xC5, 0x59, 0x51, 0x44, 0x37, + 0xD5, 0x77, 0xC7, 0x58, 0x07, 0x9A, 0x02, 0x25, 0x3D, 0x25, 0x38, 0xBB, 0x88, 0x30, 0xDF, 0x60, + 0x55, 0x82, 0xD4, 0x66, 0x2D, 0x5F, 0xD7, 0x6A, 0x84, 0xE9, 0x0B, 0x5E, 0xA7, 0x59, 0xA5, 0x66, + 0xB7, 0xED, 0xEF, 0x96, 0x3A, 0xD4, 0xFC, 0xFF, 0xBA, 0xE0, 0xEE, 0x33, 0x89, 0xB9, 0x19, 0x1F, + 0x8B, 0x97, 0x37, 0x2A, 0x2F, 0x6E, 0x3C, 0x25, 0x5A, 0xD6, 0x34, 0xAB, 0x1E, 0x36, 0x2B, 0x6A, + 0x56, 0x73, 0xE6, 0x7B, 0x6B, 0xAA, 0x53, 0x33, 0xFD, 0xFC, 0xE2, 0xD5, 0xC5, 0xED, 0xC5, 0x39, + 0xD2, 0xBA, 0xBC, 0x89, 0xBE, 0xAD, 0xD5, 0xDD, 0xBE, 0xEF, 0x4E, 0x59, 0xD9, 0x36, 0x5F, 0x6D, + 0xDA, 0x70, 0xA3, 0x49, 0x9C, 0x54, 0x27, 0xFE, 0x0B, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, + 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0xD9, 0x43, 0xF6, 0x1A, 0x27, 0x0C, 0x00, 0x00, 0xF2, + 0x22, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, + 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, + 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, + 0x6E, 0x61, 0x6D, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2D, 0x61, 0x70, 0x69, 0x2E, 0x64, 0x2E, + 0x74, 0x73, 0xB5, 0x5A, 0x5B, 0x73, 0xDB, 0x44, 0x14, 0x7E, 0xEF, 0xAF, 0x58, 0xDC, 0x87, 0xDA, + 0x1D, 0x5B, 0x86, 0xC2, 0x0B, 0x09, 0x01, 0x4C, 0x92, 0x82, 0xA1, 0x24, 0x4C, 0x9C, 0xC2, 0x30, + 0x99, 0x4C, 0xBD, 0x96, 0xD6, 0xF6, 0x52, 0x59, 0x6B, 0x76, 0x25, 0xBB, 0xA6, 0xE4, 0xBF, 0xF3, + 0x9D, 0xBD, 0xE8, 0x62, 0xD9, 0x69, 0x99, 0x81, 0x3C, 0xD4, 0xD2, 0xEE, 0xB9, 0xDF, 0xF6, 0x9C, + 0x55, 0x87, 0xCF, 0x3F, 0x61, 0x73, 0xA9, 0xC5, 0x8C, 0x1B, 0x31, 0xE0, 0xC9, 0x4A, 0x66, 0x6C, + 0xF3, 0x65, 0xF4, 0x45, 0xF4, 0x82, 0x3D, 0x1F, 0x3E, 0xC1, 0xE6, 0x13, 0xF6, 0x9C, 0x9D, 0xAB, + 0xF5, 0x4E, 0xCB, 0xC5, 0x32, 0x67, 0x2F, 0x3E, 0x7D, 0xF1, 0x29, 0xFB, 0x5E, 0xA9, 0x45, 0x2A, + 0xD8, 0x38, 0x8B, 0x23, 0xEC, 0x12, 0xC0, 0x2B, 0x19, 0x8B, 0xCC, 0x88, 0x84, 0x15, 0x59, 0x22, + 0x34, 0xCB, 0x97, 0x82, 0x8D, 0xD6, 0x3C, 0xC6, 0x8F, 0xDF, 0xE9, 0xB3, 0x5F, 0x85, 0x36, 0x52, + 0x65, 0xEC, 0x45, 0xF4, 0x29, 0xEB, 0x12, 0x40, 0xC7, 0x6F, 0x75, 0x7A, 0xA7, 0x44, 0x62, 0xA7, + 0x0A, 0xB6, 0xE2, 0x3B, 0x96, 0xA9, 0x9C, 0x15, 0x46, 0x80, 0x86, 0x34, 0x10, 0x0C, 0x7C, 0xC4, + 0xBB, 0x58, 0xAC, 0x73, 0x06, 0xC1, 0x62, 0xB5, 0x5A, 0xA7, 0x92, 0x67, 0xB1, 0x60, 0x5B, 0x99, + 0x2F, 0x01, 0x53, 0x32, 0x88, 0x88, 0xC6, 0xEF, 0x9E, 0x86, 0x9A, 0xE5, 0x1C, 0xE0, 0x1C, 0x08, + 0x6B, 0xBC, 0xCD, 0xEB, 0x80, 0x8C, 0xE7, 0x5E, 0x68, 0xC6, 0x96, 0x79, 0xBE, 0x3E, 0x19, 0x0E, + 0xB7, 0xDB, 0x6D, 0xC4, 0xAD, 0xB8, 0x91, 0xD2, 0x8B, 0x61, 0xEA, 0x00, 0xCD, 0xF0, 0xD5, 0xF8, + 0xFC, 0xF2, 0x6A, 0x72, 0x39, 0x80, 0xC8, 0x1E, 0xE5, 0x75, 0x96, 0x0A, 0x63, 0x98, 0x16, 0x7F, + 0x16, 0x52, 0x43, 0xDD, 0xD9, 0x8E, 0xF1, 0xF5, 0x1A, 0x08, 0x7C, 0x06, 0x41, 0x53, 0xBE, 0x65, + 0x4A, 0x33, 0xBE, 0xD0, 0x02, 0x7B, 0xB9, 0x22, 0x91, 0xB7, 0x5A, 0xE6, 0x32, 0x5B, 0xF4, 0x99, + 0x51, 0xF3, 0x7C, 0xCB, 0xB5, 0x20, 0x32, 0x89, 0x34, 0xB9, 0x96, 0xB3, 0x22, 0x0F, 0x16, 0x6B, + 0x08, 0x28, 0x4D, 0x03, 0x40, 0x41, 0x91, 0x8C, 0x75, 0x46, 0x13, 0x36, 0x9E, 0x74, 0xD8, 0x77, + 0xA3, 0xC9, 0x78, 0xD2, 0x27, 0x22, 0xBF, 0x8D, 0x6F, 0x7F, 0xB8, 0x7E, 0x7D, 0xCB, 0x7E, 0x1B, + 0xDD, 0xDC, 0x8C, 0xAE, 0x6E, 0xC7, 0x97, 0x13, 0x76, 0x7D, 0xC3, 0xCE, 0xAF, 0xAF, 0x2E, 0xC6, + 0xB7, 0xE3, 0xEB, 0x2B, 0xBC, 0xBD, 0x64, 0xA3, 0xAB, 0xDF, 0xD9, 0x4F, 0xE3, 0xAB, 0x8B, 0x3E, + 0x13, 0x12, 0x2C, 0x34, 0x6C, 0xB9, 0xD6, 0xD0, 0x80, 0xC4, 0x94, 0x64, 0x4B, 0x91, 0x58, 0xC3, + 0x4D, 0x84, 0x68, 0x88, 0x30, 0x57, 0x4E, 0x24, 0xB3, 0x16, 0xB1, 0x9C, 0xCB, 0x18, 0xAA, 0x65, + 0x8B, 0x82, 0x2F, 0x04, 0x5B, 0xA8, 0x8D, 0xD0, 0x19, 0x34, 0x62, 0x6B, 0xA1, 0x57, 0xD2, 0x90, + 0x4F, 0x0D, 0x04, 0x4C, 0x88, 0x4C, 0x2A, 0x57, 0x32, 0xE7, 0x39, 0x2D, 0xB5, 0xF5, 0x02, 0x23, + 0x8A, 0xA8, 0xE1, 0x90, 0x7D, 0xA5, 0xC5, 0x5C, 0x68, 0x41, 0x6E, 0xCC, 0x77, 0x6B, 0x61, 0xCE, + 0x3A, 0x99, 0x4A, 0x44, 0x87, 0x0D, 0xBF, 0x7E, 0x02, 0xA1, 0x94, 0xCE, 0xD9, 0x7B, 0x36, 0x5A, + 0x88, 0x2C, 0x67, 0x0F, 0x6C, 0xAE, 0xD5, 0x8A, 0x3D, 0x23, 0x47, 0x3D, 0x3B, 0xAD, 0x76, 0x79, + 0x91, 0x2F, 0xCB, 0xCD, 0x68, 0x48, 0xAF, 0x43, 0x09, 0x86, 0xEF, 0xEA, 0x40, 0x31, 0x3C, 0x04, + 0x22, 0x92, 0xA7, 0x35, 0xD0, 0x6A, 0xB1, 0x8D, 0x90, 0xF0, 0x9C, 0x53, 0x1A, 0xD4, 0xC0, 0xC3, + 0x52, 0x0B, 0xD8, 0xE6, 0x8C, 0xC9, 0x95, 0xAE, 0x43, 0x97, 0x6B, 0x6D, 0x70, 0x99, 0x99, 0x9C, + 0x02, 0x77, 0x9C, 0xD4, 0xE0, 0xC3, 0xE2, 0x40, 0x26, 0x6D, 0x8C, 0x15, 0x02, 0x52, 0x66, 0xE2, + 0x95, 0xE0, 0xCE, 0xDE, 0x15, 0x9A, 0xDF, 0x19, 0xA4, 0x7E, 0xEB, 0x00, 0x2E, 0x7C, 0xCC, 0x17, + 0x4D, 0xAC, 0x72, 0xAD, 0x0D, 0xBE, 0xD6, 0xEA, 0x0F, 0x11, 0xE7, 0x3F, 0xF3, 0x0C, 0x2E, 0x5E, + 0x91, 0xE1, 0x2B, 0x34, 0xBF, 0x37, 0x58, 0x95, 0x9B, 0x6D, 0x7C, 0x2D, 0x56, 0x2A, 0x17, 0xE7, + 0x2A, 0x9B, 0xCB, 0x3A, 0x47, 0xB7, 0x3C, 0x88, 0xED, 0x7A, 0x1B, 0xCB, 0x88, 0xB8, 0x40, 0x76, + 0xEC, 0x6E, 0x0A, 0x24, 0x55, 0x0D, 0x2D, 0xAC, 0x0F, 0x34, 0x6D, 0xB4, 0xF1, 0xC8, 0xC2, 0x10, + 0xA5, 0x86, 0xE1, 0x57, 0x4A, 0xD0, 0xE1, 0x73, 0x9B, 0xAD, 0xD3, 0x97, 0xBE, 0xAE, 0x5D, 0x6A, + 0xAD, 0xF4, 0x94, 0x12, 0x8B, 0x33, 0x53, 0xCC, 0xE2, 0x94, 0x1B, 0x13, 0xCA, 0x02, 0x79, 0x20, + 0xE1, 0x3A, 0x61, 0x3F, 0xF2, 0x0D, 0x9F, 0xC4, 0x5A, 0xA2, 0xD4, 0x4C, 0x3D, 0x82, 0x9A, 0x91, + 0xEA, 0x11, 0x2A, 0x1D, 0x91, 0xE3, 0x49, 0x22, 0x29, 0xB6, 0x29, 0xB3, 0xB9, 0x37, 0x31, 0xE1, + 0x6B, 0xB2, 0x33, 0x88, 0x10, 0xA9, 0xF8, 0x2D, 0xCB, 0x35, 0x8F, 0x51, 0xEF, 0x64, 0xCE, 0xA0, + 0x38, 0xD5, 0x21, 0x70, 0xF5, 0x50, 0x58, 0x49, 0x7C, 0x1E, 0x88, 0x77, 0x56, 0x1B, 0x99, 0xE5, + 0x42, 0xCF, 0x81, 0xC0, 0x1A, 0xB2, 0xB2, 0xF7, 0x4F, 0x18, 0xFE, 0xAC, 0x1E, 0xF8, 0x03, 0x73, + 0xBB, 0x6C, 0xF1, 0x41, 0x4E, 0x07, 0xB6, 0x48, 0x33, 0x83, 0x1F, 0xAB, 0xC8, 0x5C, 0xA5, 0xA9, + 0xDA, 0xE2, 0x8D, 0xB2, 0x77, 0xC5, 0xF3, 0x13, 0x36, 0xED, 0x18, 0xA1, 0x37, 0xC8, 0xBE, 0xA1, + 0x83, 0x1E, 0x10, 0x7A, 0x67, 0x1A, 0x05, 0x9A, 0x13, 0xB5, 0xA2, 0xEA, 0xCA, 0x57, 0x6B, 0xD8, + 0x19, 0xA2, 0xC4, 0x69, 0x91, 0x08, 0x60, 0xF9, 0x74, 0xDA, 0xF0, 0x54, 0x26, 0x83, 0x42, 0x26, + 0x9D, 0x29, 0xA9, 0xE7, 0xB1, 0xB0, 0x5F, 0x46, 0x52, 0x09, 0xA4, 0x51, 0x26, 0xD6, 0x12, 0xB1, + 0x51, 0x51, 0x0F, 0xE0, 0xBF, 0x2D, 0x65, 0xEA, 0x8A, 0x8B, 0x43, 0x73, 0xC5, 0x85, 0xB3, 0x85, + 0xDC, 0x88, 0x8C, 0x09, 0xA7, 0x16, 0x47, 0x6D, 0x5F, 0xA2, 0xC4, 0x88, 0x3E, 0x41, 0x92, 0x9A, + 0x54, 0xE1, 0xD3, 0x94, 0x22, 0x0B, 0x16, 0x74, 0x8E, 0xE2, 0x2B, 0x11, 0x88, 0xCE, 0x44, 0xBE, + 0x15, 0x40, 0x9F, 0xC1, 0xE0, 0x5B, 0x38, 0x6F, 0x40, 0x27, 0x03, 0x0A, 0x0F, 0x55, 0xE1, 0x8D, + 0x3B, 0x68, 0xBC, 0x83, 0x2B, 0xC3, 0xB2, 0xC9, 0xC5, 0x4F, 0x41, 0xB8, 0x21, 0xFD, 0x5A, 0x36, + 0x27, 0xDE, 0x92, 0xA7, 0xFB, 0x06, 0x1F, 0x65, 0x54, 0x2C, 0x53, 0x44, 0x3D, 0x82, 0x6B, 0x57, + 0x17, 0x9E, 0xA8, 0x92, 0xE0, 0xF6, 0x89, 0xE7, 0xEC, 0x8F, 0xC2, 0xE4, 0x4C, 0xC5, 0x08, 0x5A, + 0xD4, 0x96, 0x7D, 0xF5, 0x6F, 0x71, 0x8C, 0x95, 0xC8, 0x78, 0x84, 0xFF, 0xE4, 0x22, 0xB3, 0xC7, + 0x03, 0xB4, 0x60, 0x4B, 0x91, 0xAE, 0xE7, 0x45, 0x8A, 0x37, 0x3A, 0x00, 0xAD, 0xF6, 0x00, 0xD9, + 0x88, 0x54, 0xA1, 0xBC, 0x46, 0xEC, 0x3B, 0x11, 0xF3, 0xC2, 0x04, 0xB5, 0x29, 0xA6, 0x50, 0x16, + 0x85, 0xE6, 0x69, 0xBA, 0x63, 0x89, 0x82, 0xD3, 0x32, 0x65, 0xC3, 0x6C, 0x23, 0x48, 0x42, 0x4E, + 0xC5, 0x80, 0xA8, 0xC9, 0xCC, 0x86, 0x40, 0x08, 0x56, 0x81, 0xD8, 0x04, 0x15, 0x6D, 0xFA, 0x81, + 0x50, 0x5E, 0x97, 0xCA, 0x2C, 0x55, 0x91, 0x26, 0x44, 0x0A, 0x12, 0xD1, 0xD1, 0x03, 0xAD, 0x77, + 0x22, 0x01, 0x15, 0x92, 0x49, 0xFB, 0x13, 0xCE, 0x52, 0x6B, 0xD8, 0xCF, 0x13, 0x78, 0xC4, 0x84, + 0x21, 0xEC, 0x11, 0x24, 0x85, 0x08, 0xE9, 0x10, 0xE2, 0x55, 0xBC, 0x43, 0x9E, 0x83, 0xA8, 0xF3, + 0xA2, 0xCD, 0x1A, 0xB6, 0x5D, 0x8A, 0xAC, 0x66, 0x5E, 0xA5, 0x25, 0xC2, 0x8C, 0xB4, 0xF5, 0x24, + 0x1F, 0x35, 0x73, 0x5D, 0x6D, 0x0A, 0x29, 0x68, 0x43, 0x6A, 0x57, 0xE6, 0xA5, 0x28, 0x0E, 0x1B, + 0x06, 0xC1, 0x8A, 0xE5, 0x80, 0xFF, 0xFE, 0xDB, 0x54, 0x66, 0x6F, 0x6D, 0x43, 0x60, 0xD0, 0x11, + 0x84, 0x86, 0x28, 0x5A, 0xD8, 0x56, 0x27, 0x42, 0x78, 0x0D, 0x4D, 0xB1, 0xA6, 0x94, 0x1D, 0xD6, + 0x02, 0xCA, 0xAD, 0x3C, 0x80, 0x8E, 0x75, 0xA4, 0x27, 0x66, 0xE3, 0x26, 0x44, 0xAD, 0xF5, 0x1F, + 0x85, 0x22, 0xF7, 0xC1, 0xDE, 0x30, 0xA1, 0x2B, 0x19, 0xDF, 0x1C, 0xB5, 0xE0, 0xB7, 0x5A, 0xE4, + 0x85, 0xCE, 0x60, 0xC9, 0x1F, 0x27, 0xD7, 0x57, 0x03, 0xF8, 0x50, 0x22, 0xDF, 0xFE, 0xB2, 0xDD, + 0x86, 0x16, 0x38, 0xCA, 0x49, 0x0D, 0xAB, 0x30, 0x58, 0x58, 0xAF, 0xFA, 0x9A, 0xD5, 0xE0, 0x02, + 0xF9, 0x08, 0xBD, 0xDB, 0x3B, 0xF1, 0xBB, 0xA7, 0x4F, 0x1E, 0x42, 0x8D, 0x3C, 0x47, 0xE2, 0x28, + 0x23, 0x73, 0x7B, 0x14, 0x93, 0x03, 0x64, 0xBC, 0x0C, 0xA5, 0xC0, 0xB0, 0x99, 0xC2, 0x39, 0xCB, + 0xF7, 0x0B, 0xA9, 0xA7, 0x42, 0xE6, 0x24, 0xB5, 0x6C, 0xD5, 0x05, 0x2D, 0x87, 0x5C, 0x59, 0xDE, + 0x05, 0xF9, 0x42, 0xE4, 0x95, 0x47, 0xB1, 0x04, 0x56, 0xAB, 0xD0, 0x36, 0x7E, 0xEB, 0x8B, 0x8F, + 0x2D, 0xD6, 0xD3, 0xE9, 0x1F, 0xA8, 0xC0, 0xC6, 0x56, 0x60, 0x5A, 0xD8, 0x70, 0x0D, 0x1D, 0x17, + 0xD4, 0x09, 0x59, 0x0D, 0x6F, 0xD5, 0x5B, 0x81, 0xAC, 0x3E, 0x63, 0x77, 0x39, 0x3D, 0x7D, 0xD6, + 0x67, 0xF6, 0xF7, 0x85, 0xFF, 0xFD, 0xFC, 0xDE, 0xB6, 0x91, 0xB6, 0x83, 0x8D, 0xCA, 0x0A, 0xD5, + 0xED, 0x45, 0x28, 0xF8, 0x44, 0x74, 0x26, 0x6E, 0xD5, 0xAD, 0x5A, 0xCB, 0xB8, 0xDB, 0x26, 0xDA, + 0x67, 0xCF, 0x72, 0xDA, 0x1A, 0x64, 0xA8, 0x31, 0xCF, 0x7A, 0xAE, 0x39, 0x8C, 0x20, 0x75, 0xD6, + 0x9D, 0x17, 0x59, 0x4C, 0x80, 0xC0, 0x32, 0x6B, 0x54, 0x15, 0xD1, 0x63, 0xEF, 0x69, 0x9F, 0xFE, + 0xE4, 0x9C, 0x95, 0xCB, 0xD1, 0x9C, 0xCB, 0xB4, 0xD0, 0x38, 0x04, 0x0B, 0x04, 0xD6, 0xD7, 0xEC, + 0x53, 0x0F, 0xE7, 0xFE, 0x62, 0x80, 0x28, 0xC4, 0x51, 0xAA, 0x16, 0xDD, 0xCE, 0xCB, 0xB2, 0x50, + 0x27, 0x82, 0xAA, 0x33, 0xF5, 0x4A, 0xA6, 0xC0, 0xAF, 0x99, 0x17, 0x94, 0xD8, 0x41, 0x60, 0x67, + 0x3F, 0x2B, 0xD8, 0x89, 0x6F, 0x92, 0xDD, 0x5F, 0xC9, 0xD3, 0xDA, 0xD4, 0x44, 0x88, 0xFA, 0x4B, + 0xB4, 0x04, 0x95, 0xAC, 0x76, 0xBD, 0x21, 0x00, 0xB3, 0xE6, 0xF4, 0xE5, 0xDA, 0x2A, 0xCD, 0xCE, + 0x0E, 0x58, 0xF7, 0xCE, 0x85, 0xA8, 0xF5, 0xE8, 0xBD, 0xE7, 0xD8, 0xD6, 0xA0, 0x4E, 0xA6, 0xEF, + 0xA3, 0xDA, 0xFE, 0x5B, 0x17, 0xF2, 0xA1, 0x7A, 0x79, 0x60, 0x22, 0x35, 0xE2, 0xA8, 0x3D, 0x46, + 0x69, 0x5A, 0x5A, 0x02, 0x76, 0xF8, 0x80, 0x21, 0xFA, 0xA5, 0xFA, 0x35, 0x06, 0xEE, 0xE1, 0x21, + 0x78, 0x0E, 0xC5, 0xEA, 0x88, 0x39, 0xDA, 0xDC, 0x6D, 0x48, 0x97, 0xAC, 0xE0, 0x95, 0x06, 0xAF, + 0x4A, 0xAD, 0x52, 0x25, 0x04, 0xEA, 0xE3, 0x27, 0xF8, 0x48, 0x6B, 0xBE, 0x1B, 0x93, 0x09, 0x8F, + 0x9C, 0xE5, 0xB7, 0x4B, 0xE1, 0x92, 0x06, 0x49, 0xDB, 0xCA, 0x0D, 0x3B, 0xD9, 0xB8, 0xE2, 0x51, + 0xD6, 0x3F, 0xC6, 0x89, 0x24, 0x5B, 0x73, 0x43, 0x49, 0xC5, 0x0D, 0x9E, 0xC0, 0xD9, 0x21, 0x07, + 0xA2, 0x31, 0xCA, 0x24, 0x36, 0x47, 0xBF, 0x8C, 0x51, 0x97, 0xF3, 0xA5, 0x4A, 0x1A, 0x25, 0xC0, + 0xF1, 0x3B, 0x61, 0x59, 0xB1, 0x9A, 0x09, 0x7D, 0xDA, 0x92, 0x28, 0x08, 0x71, 0xA8, 0x7C, 0xB8, + 0x9D, 0x93, 0x66, 0x87, 0x52, 0x2B, 0x21, 0xA3, 0x0D, 0x42, 0xDF, 0x96, 0x24, 0xB5, 0x76, 0xBD, + 0x7F, 0xAE, 0x48, 0x56, 0xFB, 0x7B, 0x37, 0x45, 0xC5, 0xCF, 0x6D, 0xD5, 0x12, 0xA3, 0xF5, 0xBA, + 0xDB, 0x9B, 0xDE, 0x77, 0x6D, 0x8E, 0x3E, 0x8D, 0x1A, 0x1B, 0xBD, 0x23, 0x6D, 0x11, 0xB6, 0xAE, + 0x1D, 0xD5, 0xB6, 0x1D, 0x47, 0xA1, 0x6C, 0x57, 0x4D, 0x7D, 0x74, 0x5E, 0x35, 0xFD, 0xD3, 0xEA, + 0x79, 0xFA, 0xE0, 0x15, 0x0B, 0x65, 0xC9, 0x93, 0xB0, 0x83, 0x04, 0x81, 0x20, 0x62, 0x84, 0x1B, + 0x5B, 0x49, 0xB6, 0x7A, 0xAB, 0x60, 0x7F, 0xFC, 0x88, 0x74, 0x37, 0x0E, 0x22, 0x5B, 0x60, 0x02, + 0xBB, 0xEF, 0x0E, 0x13, 0x15, 0x9B, 0xA1, 0xD5, 0x69, 0x68, 0x50, 0xAE, 0xD7, 0x4F, 0x2B, 0xC5, + 0xDE, 0x00, 0xEA, 0x8D, 0x49, 0xDE, 0xF6, 0x6C, 0xDF, 0x90, 0x08, 0x9C, 0x7F, 0x70, 0x52, 0x20, + 0x09, 0xC4, 0x62, 0x15, 0x0A, 0x38, 0x55, 0x53, 0xD7, 0xF8, 0x18, 0xD7, 0x90, 0x35, 0x7D, 0x50, + 0xA9, 0xF8, 0xCD, 0xC9, 0x61, 0x7D, 0x0F, 0x39, 0xD5, 0x6B, 0x0D, 0x85, 0x49, 0x71, 0x44, 0x8E, + 0x15, 0xFB, 0x6E, 0x4A, 0x6A, 0x4F, 0x83, 0xE8, 0xE5, 0x34, 0x56, 0x76, 0xDE, 0xD5, 0xD8, 0xF3, + 0x94, 0x20, 0x7B, 0x96, 0xA2, 0x2B, 0xC9, 0x92, 0x1C, 0x5D, 0xB6, 0x06, 0x37, 0x82, 0xA7, 0xB9, + 0x44, 0x17, 0x79, 0x11, 0x46, 0x27, 0xDB, 0xCC, 0x97, 0xE7, 0x78, 0x65, 0x4E, 0x64, 0x2D, 0x4F, + 0x8C, 0xEB, 0xD8, 0x95, 0xF6, 0x04, 0xED, 0x74, 0x2C, 0x28, 0x4E, 0x08, 0xB8, 0x4D, 0x2D, 0x72, + 0xE7, 0x3A, 0xA7, 0x7A, 0x69, 0x88, 0x23, 0x41, 0x26, 0x6A, 0x9B, 0x19, 0x0C, 0xF6, 0x7B, 0xFE, + 0xF2, 0x24, 0x1D, 0x07, 0x99, 0x53, 0xA7, 0x35, 0xE7, 0x45, 0x9A, 0x33, 0xAA, 0x25, 0x96, 0x3B, + 0x59, 0xD8, 0x71, 0xC4, 0xC0, 0x23, 0x37, 0xF0, 0xC4, 0xA2, 0xB2, 0xB2, 0xFD, 0x71, 0x57, 0x08, + 0x74, 0x82, 0xB9, 0xF8, 0x9D, 0x66, 0xC0, 0x9D, 0xDA, 0x7E, 0x9F, 0x8E, 0x3B, 0x9A, 0x73, 0x51, + 0xAB, 0xEB, 0x31, 0x03, 0x97, 0xA5, 0xD4, 0xF7, 0x1E, 0x88, 0x96, 0xF0, 0x78, 0x37, 0xAA, 0xC1, + 0xDB, 0xEC, 0xB6, 0x73, 0x32, 0xE1, 0x56, 0x62, 0x78, 0x5F, 0x94, 0x86, 0x0F, 0xF1, 0x94, 0x23, + 0xD1, 0x9F, 0xD6, 0x19, 0x0E, 0x88, 0xC0, 0xC0, 0x13, 0x18, 0x54, 0x04, 0x82, 0x8F, 0x1A, 0x81, + 0xF6, 0xAF, 0x22, 0x2C, 0xB0, 0x26, 0x71, 0x7F, 0xF5, 0x8E, 0xBE, 0xDE, 0x20, 0xF7, 0x65, 0x22, + 0xBE, 0x39, 0x09, 0x91, 0xF4, 0x37, 0x83, 0x4D, 0x0E, 0xC7, 0xDA, 0xEB, 0x9B, 0x57, 0xBE, 0x26, + 0xB5, 0x3D, 0x69, 0xDD, 0xE2, 0x1B, 0x84, 0x5C, 0xED, 0xB9, 0xC3, 0xB2, 0x3E, 0x2C, 0x0C, 0x68, + 0x96, 0xDD, 0xD1, 0x41, 0xA6, 0xE3, 0x8B, 0xC0, 0xD3, 0xCF, 0x3A, 0x70, 0x55, 0x4C, 0x67, 0x30, + 0xD8, 0x84, 0x36, 0xC4, 0xDA, 0x84, 0xDA, 0x6E, 0x3B, 0x82, 0xA1, 0x5B, 0x87, 0x28, 0xB9, 0x3D, + 0xEF, 0x5C, 0x80, 0x79, 0x7A, 0xBE, 0x73, 0x01, 0x74, 0x01, 0xC9, 0x7C, 0x09, 0x9E, 0x3A, 0xFF, + 0xBE, 0xA1, 0x39, 0x04, 0xA1, 0x30, 0x97, 0x22, 0x4D, 0x6C, 0x3B, 0xB7, 0xCF, 0xCF, 0x76, 0x68, + 0xF6, 0xC2, 0xAA, 0xA1, 0x49, 0x00, 0x1B, 0x39, 0xA8, 0x71, 0xF2, 0xB8, 0x3A, 0xD4, 0x80, 0x78, + 0x85, 0xC2, 0x35, 0xDB, 0x79, 0xAA, 0x8A, 0x84, 0x4D, 0xFC, 0xD0, 0x3B, 0x2B, 0xE2, 0xB7, 0x22, + 0xAF, 0xA9, 0x85, 0x75, 0x10, 0xAB, 0x37, 0xE9, 0x0D, 0x73, 0xB2, 0xD7, 0xD4, 0x7E, 0x66, 0xE9, + 0x0E, 0x24, 0x03, 0x36, 0x71, 0x71, 0x91, 0xA8, 0x0A, 0xEA, 0xE2, 0x70, 0xB2, 0xA0, 0x06, 0xC8, + 0x77, 0x82, 0xEE, 0x85, 0xCA, 0x31, 0xD7, 0xB0, 0x6E, 0xA2, 0xD8, 0x73, 0x8C, 0x05, 0xCF, 0xFD, + 0x7E, 0x35, 0x3D, 0x88, 0x8A, 0x04, 0xEB, 0x2C, 0xA8, 0x63, 0xEE, 0xF4, 0xF6, 0xD4, 0x76, 0xF2, + 0x7E, 0x67, 0x19, 0x7E, 0xAC, 0x0B, 0xEB, 0x1A, 0x87, 0x4B, 0x09, 0x86, 0x44, 0x54, 0xB1, 0xA4, + 0x5C, 0x0B, 0x97, 0x7E, 0xF6, 0x54, 0x68, 0xB0, 0xF3, 0xC0, 0x64, 0xDE, 0xC7, 0x06, 0xBA, 0xBB, + 0x1F, 0x6E, 0x6F, 0x7F, 0x71, 0x57, 0x4B, 0xF7, 0xDD, 0xD0, 0xEB, 0xD3, 0xDD, 0xD3, 0x1F, 0xC6, + 0xDE, 0xFC, 0xF1, 0xB5, 0x1C, 0xD2, 0x72, 0xB4, 0xCC, 0x57, 0xE9, 0x53, 0x7A, 0x7A, 0x63, 0xEF, + 0x0A, 0xDE, 0xD8, 0x47, 0x4E, 0x78, 0x65, 0x9E, 0x55, 0xE1, 0xE5, 0xAA, 0xDD, 0x8A, 0xBF, 0x25, + 0x3F, 0xC0, 0xA2, 0x0B, 0x45, 0x0F, 0xC4, 0xCA, 0x1E, 0xCA, 0x3E, 0xC8, 0x1C, 0xDB, 0x70, 0x0F, + 0x44, 0xB3, 0xA0, 0x45, 0x2E, 0x27, 0xDA, 0x1D, 0x95, 0xB9, 0x10, 0x2D, 0xC6, 0x4E, 0x96, 0x44, + 0x13, 0xB9, 0x74, 0x39, 0xB9, 0x75, 0x84, 0x58, 0x17, 0x03, 0x49, 0xC4, 0x5C, 0xF5, 0xEE, 0xB3, + 0x69, 0xD9, 0xE5, 0x4E, 0xFB, 0xE5, 0x70, 0xDE, 0xBA, 0xCA, 0x99, 0xF6, 0xF6, 0x6A, 0x53, 0x3B, + 0x39, 0x6D, 0x26, 0xBE, 0x2C, 0xEF, 0xB3, 0xEC, 0xC0, 0x42, 0xB7, 0x85, 0x34, 0x52, 0xBA, 0x39, + 0x1A, 0xF3, 0xCF, 0xAA, 0xC8, 0x28, 0xBE, 0xC0, 0xCD, 0xBA, 0xA1, 0x16, 0x0B, 0x76, 0x7E, 0xC3, + 0x8C, 0x49, 0xC2, 0xD3, 0xF0, 0x4D, 0x77, 0x9D, 0xB4, 0x4E, 0x23, 0x6A, 0xF3, 0x3A, 0xB7, 0x32, + 0x7F, 0xD4, 0x38, 0x9D, 0x3D, 0xB1, 0xD2, 0x38, 0x54, 0xF2, 0x41, 0xE3, 0x38, 0x7A, 0x1F, 0x91, + 0xEC, 0x6C, 0x49, 0x85, 0xC4, 0x4F, 0x66, 0x9E, 0x8A, 0xBF, 0xB4, 0xDC, 0xB9, 0x5B, 0x99, 0x0A, + 0x89, 0xE0, 0xFD, 0xED, 0x82, 0x76, 0x2D, 0x64, 0x42, 0x20, 0xE8, 0x32, 0x68, 0xC0, 0xF7, 0x4D, + 0xD3, 0x5E, 0x4D, 0x24, 0xBF, 0x13, 0x2E, 0x45, 0x30, 0xFD, 0xD2, 0xE4, 0x14, 0x7A, 0x94, 0x44, + 0x20, 0x36, 0xB4, 0xCD, 0x04, 0x50, 0x43, 0xAF, 0x42, 0x39, 0x78, 0xA0, 0x49, 0x09, 0x7D, 0x93, + 0xDB, 0x5F, 0xAA, 0x34, 0x71, 0xA7, 0x70, 0xD9, 0x25, 0xD8, 0xA4, 0x6D, 0x0C, 0xAF, 0x78, 0xB2, + 0x97, 0xD7, 0xE8, 0xE8, 0x62, 0x3F, 0xDC, 0x79, 0x72, 0x65, 0x80, 0xEC, 0x3B, 0xF5, 0xC2, 0xDA, + 0xCA, 0xC6, 0x89, 0x35, 0x96, 0x6D, 0x72, 0x73, 0x5D, 0x90, 0x72, 0x98, 0xE9, 0x35, 0x08, 0xA5, + 0x3B, 0xDC, 0x64, 0x39, 0x93, 0xF5, 0xC9, 0xA8, 0xCD, 0xD9, 0x37, 0xBC, 0xB1, 0xC7, 0x86, 0xE0, + 0x66, 0xC3, 0xE0, 0x4F, 0x29, 0x9B, 0x41, 0xC3, 0x43, 0x4D, 0x5D, 0x45, 0x73, 0xEA, 0xE6, 0xB2, + 0xFD, 0x5E, 0xF0, 0xA1, 0xCA, 0x26, 0x6A, 0x6A, 0x90, 0xE4, 0xE4, 0x32, 0xBE, 0x97, 0xDD, 0xF5, + 0x76, 0xB0, 0x34, 0x71, 0xC3, 0xCC, 0x55, 0x31, 0xE9, 0xD2, 0xD1, 0x32, 0xA0, 0x82, 0xD7, 0xB3, + 0x9E, 0x21, 0x5B, 0x5A, 0x83, 0x78, 0xAA, 0xE1, 0x6F, 0x1F, 0x31, 0xB4, 0x0B, 0x04, 0xF6, 0xCC, + 0x38, 0x54, 0x20, 0x4D, 0x3B, 0x77, 0x17, 0x97, 0x2F, 0x47, 0xAF, 0x5F, 0xDD, 0xDE, 0x77, 0xA6, + 0xC7, 0xD0, 0xAB, 0x31, 0xD6, 0xFF, 0xB5, 0xC7, 0xD9, 0x6A, 0x63, 0x38, 0x7C, 0x84, 0x5D, 0x8D, + 0x5B, 0x1D, 0xE7, 0x90, 0xF1, 0x3C, 0x01, 0x3C, 0xBA, 0x7B, 0xD7, 0xDE, 0x69, 0x0D, 0xA3, 0x31, + 0xE2, 0x38, 0x6C, 0x4E, 0x06, 0x8F, 0x88, 0x51, 0xEF, 0x94, 0x41, 0x8A, 0x16, 0xAF, 0x4A, 0xF0, + 0xFF, 0x48, 0xCD, 0x91, 0x55, 0x2B, 0xD9, 0x53, 0x71, 0x8B, 0xC2, 0x46, 0xAD, 0x1C, 0x95, 0xEC, + 0x0D, 0x5A, 0x0B, 0x72, 0xFD, 0x5E, 0x58, 0x58, 0x3A, 0x55, 0xCB, 0xE9, 0x8A, 0x11, 0x79, 0xFE, + 0xEC, 0xA0, 0x25, 0xEC, 0x76, 0x69, 0x87, 0x3E, 0xEB, 0xD8, 0x85, 0xCE, 0x51, 0x83, 0x94, 0x08, + 0x0D, 0x6B, 0xD8, 0xC5, 0x47, 0x2C, 0x31, 0x2C, 0x9F, 0x09, 0xAB, 0x3C, 0x65, 0x3E, 0x36, 0x16, + 0xDD, 0x25, 0x78, 0xE1, 0x86, 0xED, 0x30, 0x28, 0x35, 0x83, 0x93, 0x70, 0xA8, 0x4A, 0x68, 0xD1, + 0x18, 0xFE, 0x6A, 0x54, 0x69, 0xEE, 0x03, 0x73, 0x24, 0x83, 0xF1, 0xF7, 0xA7, 0x32, 0xB3, 0xDB, + 0xED, 0x4C, 0xFE, 0xDF, 0xB2, 0xF9, 0x43, 0x19, 0xFD, 0x9F, 0x24, 0x09, 0x79, 0x9D, 0x1F, 0x75, + 0x78, 0xFC, 0x81, 0x80, 0x27, 0x63, 0x7A, 0x0B, 0x47, 0xB5, 0x8F, 0x40, 0x67, 0x67, 0x67, 0xDE, + 0x0D, 0xB5, 0x55, 0xEF, 0x7E, 0x54, 0x4A, 0xF1, 0x31, 0xE4, 0x6A, 0x7D, 0x69, 0x8D, 0x5E, 0x7D, + 0xB9, 0x46, 0xF0, 0x63, 0x82, 0xC9, 0x13, 0x3E, 0xA9, 0x0D, 0xBA, 0x95, 0x5E, 0x74, 0xD0, 0xE3, + 0xD6, 0xCE, 0xFE, 0x46, 0x23, 0xFC, 0x53, 0x6D, 0x05, 0x8E, 0xDD, 0x42, 0xA7, 0x65, 0xCF, 0x03, + 0xD0, 0xB0, 0x1E, 0x85, 0xC3, 0xBD, 0x44, 0xA9, 0xBE, 0x58, 0x81, 0x64, 0xF5, 0x12, 0x95, 0x07, + 0x7F, 0x05, 0x59, 0x7D, 0xAC, 0x22, 0xD0, 0xEA, 0x2D, 0x1A, 0x97, 0x8F, 0x25, 0xF0, 0xFE, 0x77, + 0x2A, 0x60, 0xEC, 0x2F, 0x45, 0x3F, 0x37, 0xDF, 0x2B, 0xDC, 0xDA, 0x3D, 0xDD, 0x89, 0x7F, 0xB1, + 0xF0, 0xE1, 0xA9, 0x82, 0x6C, 0xF5, 0x35, 0xC0, 0x68, 0x2F, 0x46, 0xBF, 0xEC, 0xAF, 0x94, 0x14, + 0x1A, 0x1F, 0xA9, 0x80, 0xDC, 0x78, 0x8F, 0x6E, 0xAA, 0x97, 0x8A, 0x69, 0xF3, 0x0B, 0x15, 0x70, + 0x9A, 0x0B, 0xD1, 0xA4, 0xFE, 0xE6, 0xB1, 0xAA, 0xD6, 0x17, 0xF0, 0xE1, 0x31, 0x9A, 0xB8, 0xDF, + 0xA3, 0xD5, 0xE2, 0x46, 0xD0, 0xD7, 0x52, 0xE3, 0x6A, 0x41, 0xAA, 0x70, 0x8A, 0x97, 0x77, 0xAE, + 0x14, 0xF1, 0x53, 0x4C, 0x9D, 0x85, 0xC1, 0x40, 0xE6, 0x5A, 0xB5, 0x39, 0xBE, 0x2F, 0xBB, 0x1E, + 0x02, 0x9E, 0xC3, 0x18, 0x1E, 0x0B, 0x6A, 0xD2, 0x6A, 0xF4, 0x6C, 0x2B, 0x59, 0xF5, 0xCD, 0x55, + 0x57, 0xD9, 0xA5, 0x96, 0x7F, 0xB1, 0xC4, 0x7C, 0x6C, 0x3F, 0x1F, 0xF8, 0xEE, 0x3E, 0x4E, 0x05, + 0x0D, 0xB6, 0x6B, 0x1A, 0x05, 0x42, 0x33, 0x57, 0xA3, 0x56, 0x71, 0xE9, 0x45, 0xEC, 0x37, 0xEA, + 0x75, 0x75, 0x91, 0x91, 0x1F, 0xC3, 0x1D, 0x88, 0x93, 0x38, 0xDD, 0xF5, 0xAD, 0xFC, 0xAE, 0x93, + 0x6A, 0x10, 0x58, 0x15, 0x86, 0xBE, 0x2D, 0xF8, 0x3B, 0x2A, 0xF7, 0x49, 0xC2, 0x14, 0xA8, 0x73, + 0x0B, 0xDC, 0xFA, 0xBB, 0x0B, 0x7A, 0xFA, 0x98, 0x9C, 0xD5, 0x6E, 0xB2, 0x05, 0x39, 0x97, 0xAE, + 0x02, 0xFF, 0x93, 0x7A, 0x42, 0x29, 0x9C, 0x88, 0x14, 0x95, 0xB3, 0x71, 0xBA, 0xB4, 0x6F, 0x79, + 0x7B, 0xB5, 0xEE, 0xE2, 0xD0, 0x6D, 0x21, 0x9D, 0x42, 0x8E, 0x50, 0xD2, 0xB8, 0xAB, 0xAC, 0x9F, + 0x36, 0xE5, 0x5D, 0xA4, 0xFF, 0xFB, 0xC0, 0x9D, 0xA4, 0xFF, 0x3B, 0x7A, 0x37, 0xE9, 0xF8, 0xF9, + 0x19, 0xAF, 0xBC, 0x93, 0x6C, 0xF3, 0x3B, 0xFD, 0x98, 0x72, 0x63, 0x69, 0xD9, 0xD0, 0x44, 0xA6, + 0xE0, 0xF3, 0xBD, 0xF8, 0x6A, 0xA3, 0x64, 0xF2, 0xB5, 0xC3, 0x7D, 0x68, 0x35, 0xB7, 0xAE, 0x8B, + 0x24, 0x1F, 0xBF, 0xF9, 0xF5, 0xF2, 0x66, 0x82, 0xFF, 0x56, 0x50, 0x1E, 0x7C, 0x07, 0x21, 0x49, + 0x44, 0xD4, 0x32, 0x5B, 0x32, 0x61, 0x2A, 0x7F, 0x5B, 0xD0, 0xBB, 0xBB, 0x6F, 0x81, 0x07, 0x43, + 0x10, 0x46, 0x97, 0x4E, 0xD4, 0x7A, 0x11, 0xF3, 0xE8, 0xC7, 0x91, 0x9A, 0xE7, 0x81, 0xAF, 0xA1, + 0xDF, 0xD4, 0x8B, 0x68, 0x9F, 0x1D, 0x25, 0xFA, 0x0F, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, + 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0xD0, 0x49, 0x56, 0x11, 0xBD, 0x01, 0x00, 0x00, 0xBC, + 0x02, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, + 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, + 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, + 0x6E, 0x61, 0x6D, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2D, 0x61, 0x70, 0x69, 0x2E, 0x6A, 0x73, + 0x65, 0x92, 0x41, 0x6F, 0xD3, 0x40, 0x10, 0x85, 0xEF, 0xF9, 0x15, 0x0F, 0x9F, 0x4A, 0xE5, 0xDA, + 0x51, 0xC4, 0x85, 0xF6, 0x64, 0xD2, 0x00, 0x16, 0xC5, 0x41, 0x71, 0x4A, 0xD5, 0x53, 0xB5, 0xB6, + 0xC7, 0xCE, 0x20, 0x67, 0xD7, 0xEC, 0xAE, 0x63, 0x22, 0xC4, 0x7F, 0x67, 0xB6, 0x0D, 0x88, 0x88, + 0x93, 0xB5, 0x9E, 0x37, 0x6F, 0xBE, 0x37, 0xBB, 0xE9, 0xE5, 0x2B, 0xB4, 0x6C, 0xA9, 0x52, 0x8E, + 0xAE, 0x54, 0xB3, 0x67, 0x8D, 0xC3, 0xDB, 0xE4, 0x4D, 0xB2, 0xC0, 0x65, 0x3A, 0x8B, 0x46, 0x47, + 0x70, 0xDE, 0x72, 0xED, 0xA3, 0x9B, 0x99, 0x48, 0x67, 0xB8, 0xC4, 0xD2, 0x0C, 0x47, 0xCB, 0xDD, + 0xCE, 0x63, 0x31, 0x5F, 0xCC, 0xF1, 0xC1, 0x98, 0xAE, 0x27, 0xE4, 0xBA, 0x4E, 0xA4, 0x1A, 0x04, + 0x77, 0x5C, 0x93, 0x76, 0xD4, 0x60, 0xD4, 0x0D, 0x59, 0xF8, 0x1D, 0x21, 0x1B, 0x54, 0x2D, 0x9F, + 0x53, 0x25, 0xC6, 0x57, 0xB2, 0x8E, 0x8D, 0xC6, 0x22, 0x99, 0xE3, 0x22, 0x08, 0xA2, 0x53, 0x29, + 0x7A, 0x7D, 0x13, 0x2C, 0x8E, 0x66, 0xC4, 0x5E, 0x1D, 0xA1, 0x8D, 0x87, 0x30, 0x88, 0x07, 0x3B, + 0xC1, 0x94, 0x39, 0xF4, 0xA3, 0xA6, 0xC1, 0x43, 0x30, 0x6B, 0xB3, 0x1F, 0x7A, 0x56, 0xBA, 0x26, + 0x4C, 0xEC, 0x77, 0xA2, 0xF9, 0x3B, 0x20, 0x09, 0x1E, 0x8F, 0x27, 0x0F, 0x53, 0x79, 0x25, 0x72, + 0x25, 0x0D, 0x83, 0x9C, 0xDA, 0x7F, 0x85, 0x50, 0xFE, 0x04, 0x0D, 0xEC, 0xBC, 0x1F, 0xAE, 0xD3, + 0x74, 0x9A, 0xA6, 0x44, 0x3D, 0xE3, 0x26, 0xC6, 0x76, 0x69, 0xFF, 0x22, 0x74, 0xE9, 0x5D, 0xBE, + 0x5C, 0x15, 0xE5, 0xEA, 0x4A, 0x90, 0x4F, 0x2D, 0xF7, 0xBA, 0x27, 0xE7, 0x60, 0xE9, 0xFB, 0xC8, + 0x56, 0xE2, 0x56, 0x47, 0xA8, 0x61, 0x90, 0x06, 0x55, 0x09, 0x68, 0xAF, 0x26, 0x18, 0x0B, 0xD5, + 0x59, 0x92, 0x9A, 0x37, 0x01, 0x79, 0xB2, 0xEC, 0x59, 0x77, 0x31, 0x9C, 0x69, 0xFD, 0xA4, 0x2C, + 0x05, 0x9B, 0x86, 0xC3, 0x86, 0xAB, 0xD1, 0xFF, 0xD9, 0xD8, 0x19, 0x20, 0xBB, 0x33, 0x81, 0x91, + 0x20, 0x1A, 0x51, 0x56, 0x22, 0x2F, 0x23, 0xBC, 0xCB, 0xCA, 0xBC, 0x8C, 0x83, 0xC9, 0x43, 0xBE, + 0xFD, 0xB8, 0xBE, 0xDF, 0xE2, 0x21, 0xDB, 0x6C, 0xB2, 0x62, 0x9B, 0xAF, 0x4A, 0xAC, 0x37, 0x58, + 0xAE, 0x8B, 0xDB, 0x7C, 0x9B, 0xAF, 0x0B, 0x39, 0xBD, 0x47, 0x56, 0x3C, 0xE2, 0x53, 0x5E, 0xDC, + 0xC6, 0x20, 0x96, 0x11, 0x56, 0x76, 0x39, 0x58, 0x49, 0x10, 0x30, 0x39, 0xEC, 0x92, 0x9A, 0xE7, + 0xC5, 0x95, 0x44, 0x67, 0x08, 0xAD, 0x79, 0x41, 0x72, 0x03, 0xD5, 0xDC, 0x72, 0x2D, 0xD1, 0x74, + 0x37, 0xAA, 0x8E, 0xD0, 0x99, 0x03, 0x59, 0x2D, 0x89, 0x30, 0x90, 0xDD, 0xB3, 0x0B, 0x77, 0xEA, + 0x04, 0xB0, 0x09, 0x36, 0x3D, 0xEF, 0xD9, 0x2B, 0x1F, 0x7E, 0xFD, 0x9F, 0x2B, 0x0C, 0x4A, 0x67, + 0xEB, 0xEA, 0x1B, 0xD5, 0x3E, 0x69, 0xA8, 0x65, 0x4D, 0x5F, 0xAC, 0x11, 0x17, 0x7F, 0xBC, 0x10, + 0x2C, 0x63, 0xBD, 0x8B, 0x11, 0x3D, 0x3D, 0x91, 0xFB, 0x6C, 0x9A, 0xB1, 0xA7, 0x28, 0xC6, 0x4F, + 0x1C, 0x54, 0x3F, 0xD2, 0x35, 0xBC, 0x1D, 0x09, 0xBF, 0xE4, 0xA1, 0xFC, 0x06, 0x50, 0x4B, 0x03, + 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0xAE, 0x5C, 0x74, 0xE6, 0x01, + 0x02, 0x00, 0x00, 0x2F, 0x04, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, + 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, + 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, + 0x61, 0x73, 0x65, 0x2D, 0x6E, 0x61, 0x6D, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2E, 0x64, 0x2E, + 0x74, 0x73, 0x7D, 0x92, 0x4D, 0x6F, 0xDA, 0x40, 0x10, 0x86, 0xEF, 0xFC, 0x8A, 0x29, 0x97, 0xB4, + 0x08, 0xDB, 0x08, 0xF5, 0xD2, 0xE6, 0xE4, 0x12, 0xDA, 0x5A, 0x8D, 0x8C, 0x84, 0x49, 0xA3, 0x1C, + 0x17, 0x7B, 0x6C, 0xA6, 0xB2, 0x77, 0xB7, 0xBB, 0xE3, 0x38, 0xFC, 0xFB, 0xCE, 0x12, 0x8A, 0x8A, + 0x52, 0x38, 0x59, 0xEB, 0x79, 0xE6, 0x9D, 0x77, 0x3E, 0x92, 0xC9, 0x3B, 0xA8, 0xC9, 0xE1, 0x56, + 0x79, 0x8C, 0x54, 0xD5, 0x91, 0x86, 0xE7, 0x4F, 0xF1, 0xC7, 0x78, 0x0E, 0x93, 0x64, 0x24, 0xC1, + 0x11, 0x4C, 0x60, 0x61, 0xEC, 0xDE, 0x51, 0xB3, 0x63, 0x98, 0xCF, 0xE6, 0x33, 0xF8, 0x66, 0x4C, + 0xD3, 0x22, 0x64, 0xBA, 0x8C, 0x25, 0x1A, 0x80, 0x7B, 0x2A, 0x51, 0x7B, 0xAC, 0xA0, 0xD7, 0x15, + 0x3A, 0xE0, 0x1D, 0x42, 0x6A, 0x55, 0x29, 0x9F, 0x63, 0x64, 0x0A, 0x3F, 0xD1, 0x79, 0x32, 0x1A, + 0xE6, 0xF1, 0x0C, 0xDE, 0x07, 0x60, 0x7C, 0x0C, 0x8D, 0x3F, 0xDC, 0x06, 0x89, 0xBD, 0xE9, 0xA1, + 0x53, 0x7B, 0xD0, 0x86, 0xA1, 0xF7, 0x28, 0x1A, 0xE4, 0xC5, 0x98, 0xD4, 0xC1, 0x97, 0x12, 0x2D, + 0x83, 0x18, 0x2B, 0x4D, 0x67, 0x5B, 0x52, 0xBA, 0x44, 0x18, 0x88, 0x77, 0xC2, 0x9C, 0x0A, 0xC4, + 0x41, 0xE3, 0xE9, 0xA8, 0x61, 0xB6, 0xAC, 0x04, 0x57, 0x92, 0x60, 0xE5, 0x55, 0xFF, 0x0B, 0x82, + 0xE2, 0xA3, 0x69, 0x80, 0x1D, 0xB3, 0xFD, 0x9C, 0x24, 0xC3, 0x30, 0xC4, 0xEA, 0x60, 0x37, 0x36, + 0xAE, 0x49, 0xDA, 0x57, 0xD0, 0x27, 0xF7, 0xD9, 0x62, 0x99, 0x17, 0xCB, 0x48, 0x2C, 0x1F, 0x53, + 0x1E, 0x74, 0x8B, 0xDE, 0x83, 0xC3, 0xDF, 0x3D, 0x39, 0x69, 0x77, 0xBB, 0x07, 0x65, 0xAD, 0x24, + 0xA8, 0xAD, 0x18, 0x6D, 0xD5, 0x00, 0xC6, 0x81, 0x6A, 0x1C, 0x4A, 0x8C, 0x4D, 0xB0, 0x3C, 0x38, + 0x62, 0xD2, 0xCD, 0x14, 0xBC, 0xA9, 0x79, 0x50, 0x0E, 0x83, 0x4C, 0x45, 0x9E, 0x1D, 0x6D, 0x7B, + 0xFE, 0x3B, 0xB1, 0x33, 0x83, 0xE4, 0xCF, 0x00, 0x23, 0x8D, 0x68, 0x18, 0xA7, 0x05, 0x64, 0xC5, + 0x18, 0xBE, 0xA4, 0x45, 0x56, 0x4C, 0x83, 0xC8, 0x63, 0xB6, 0xF9, 0xBE, 0x7A, 0xD8, 0xC0, 0x63, + 0xBA, 0x5E, 0xA7, 0xF9, 0x26, 0x5B, 0x16, 0xB0, 0x5A, 0xC3, 0x62, 0x95, 0xDF, 0x65, 0x9B, 0x6C, + 0x95, 0xCB, 0xEB, 0x2B, 0xA4, 0xF9, 0x13, 0xFC, 0xC8, 0xF2, 0xBB, 0x29, 0x20, 0x49, 0x09, 0x27, + 0xB3, 0xB4, 0x4E, 0x3A, 0x08, 0x36, 0x29, 0xCC, 0x12, 0xAB, 0xC3, 0xE0, 0x0A, 0xC4, 0x33, 0x0B, + 0xB5, 0x79, 0xB5, 0xE4, 0x2D, 0x96, 0x54, 0x53, 0x29, 0xAD, 0xE9, 0xA6, 0x57, 0x0D, 0x42, 0x63, + 0x9E, 0xD1, 0x69, 0xE9, 0x08, 0x2C, 0xBA, 0x8E, 0x7C, 0xD8, 0xA9, 0x17, 0x83, 0x55, 0x90, 0x69, + 0xA9, 0x23, 0x56, 0x1C, 0x7E, 0xBD, 0xED, 0x2B, 0x14, 0x4A, 0x46, 0x23, 0x71, 0x60, 0x1C, 0x0B, + 0x5C, 0x3B, 0xD3, 0xC1, 0x4D, 0x9C, 0x94, 0x32, 0x48, 0xD4, 0x4C, 0xAA, 0x4D, 0x48, 0x72, 0x5E, + 0x6E, 0x6E, 0xDF, 0x32, 0xA7, 0x03, 0xD5, 0xAA, 0x43, 0x2F, 0xAB, 0x92, 0x53, 0xB5, 0xF4, 0x3F, + 0x52, 0xF5, 0xBC, 0xBB, 0xAC, 0x53, 0x29, 0x56, 0x41, 0xE7, 0x7A, 0x25, 0xCF, 0xC6, 0x5D, 0x46, + 0x24, 0xE0, 0x39, 0xDC, 0x60, 0x44, 0xD5, 0x65, 0xA8, 0x93, 0x73, 0x22, 0x8D, 0x51, 0x8B, 0xEA, + 0x30, 0xAE, 0x2B, 0xA4, 0xEC, 0x43, 0x35, 0x57, 0x11, 0xEB, 0xCC, 0x2F, 0x2C, 0x39, 0xEA, 0x94, + 0x96, 0x1D, 0x74, 0x32, 0xAD, 0xCB, 0xAC, 0xC3, 0xCE, 0x30, 0x46, 0xA5, 0xD1, 0x35, 0x5D, 0x91, + 0xF4, 0x58, 0xF6, 0x72, 0x9A, 0xFB, 0xC8, 0xF5, 0x72, 0xD2, 0x97, 0xB9, 0x30, 0x0B, 0xA9, 0x79, + 0x02, 0xFE, 0x00, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, + 0x0B, 0x0F, 0x9F, 0x8D, 0xC1, 0xA9, 0x0F, 0x00, 0x00, 0xA2, 0x4E, 0x00, 0x00, 0x35, 0x00, 0x00, + 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, + 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, + 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x6E, 0x61, 0x6D, 0x65, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x2E, 0x6A, 0x73, 0xE5, 0x5C, 0x5F, 0x53, 0xE3, 0x36, 0x10, 0x7F, 0xE7, 0x53, + 0xE8, 0xF2, 0x92, 0x70, 0x4D, 0x9C, 0xB6, 0xD3, 0x99, 0xB6, 0x61, 0x98, 0x5E, 0x0A, 0xA1, 0x4D, + 0x7B, 0x07, 0x0C, 0xA1, 0x77, 0xD3, 0xB9, 0x76, 0x38, 0x13, 0x2B, 0x41, 0xC5, 0xB1, 0x52, 0xD9, + 0x86, 0x4B, 0xAF, 0x7C, 0xF7, 0xEE, 0xEA, 0xAF, 0x65, 0x3B, 0xC1, 0x70, 0xD0, 0xA1, 0xD7, 0x3C, + 0x10, 0x47, 0x5A, 0xAD, 0x56, 0xBB, 0x3F, 0xAD, 0x56, 0x2B, 0x99, 0xFE, 0xF3, 0x67, 0x64, 0xC6, + 0x04, 0x3D, 0x0F, 0x53, 0xDA, 0x0B, 0xA3, 0x05, 0x4B, 0xC8, 0xD5, 0xB7, 0xC1, 0x57, 0xC1, 0x97, + 0xE4, 0x79, 0x7F, 0xAB, 0x95, 0xA7, 0x94, 0xA4, 0x99, 0x60, 0xD3, 0xAC, 0xB5, 0xB3, 0x05, 0xA4, + 0x5B, 0xE4, 0x39, 0x79, 0x11, 0xB3, 0x29, 0x4D, 0x52, 0x8A, 0xCF, 0x7B, 0x7C, 0xB9, 0x12, 0x6C, + 0x7E, 0x91, 0x91, 0x2F, 0x3F, 0xFF, 0xE2, 0x6B, 0xF2, 0x03, 0xE7, 0xF3, 0x98, 0x92, 0x71, 0x32, + 0x0D, 0xA0, 0x16, 0x09, 0x5E, 0x2A, 0xDA, 0x88, 0xE4, 0x49, 0x44, 0x05, 0xC9, 0x2E, 0x28, 0x19, + 0x2E, 0xC3, 0x29, 0x7C, 0xE9, 0x9A, 0x2E, 0x79, 0x4D, 0x45, 0xCA, 0x78, 0x42, 0xBE, 0x0C, 0x3E, + 0x27, 0x1D, 0x24, 0x68, 0xE9, 0xAA, 0xD6, 0xF6, 0x0E, 0xB2, 0x58, 0xF1, 0x9C, 0x2C, 0xC2, 0x15, + 0x49, 0x78, 0x46, 0x40, 0x1E, 0xE0, 0xC1, 0x52, 0x10, 0x19, 0xFA, 0xA1, 0xEF, 0xA7, 0x74, 0x99, + 0x11, 0x10, 0x79, 0xCA, 0x17, 0xCB, 0x98, 0x85, 0xC9, 0x94, 0x92, 0x6B, 0x96, 0x5D, 0x00, 0x8D, + 0xED, 0x20, 0x40, 0x1E, 0xBF, 0x6A, 0x1E, 0xFC, 0x3C, 0x0B, 0x81, 0x3C, 0x84, 0x06, 0x4B, 0xF8, + 0x35, 0x2B, 0x12, 0x92, 0x30, 0xD3, 0x42, 0x13, 0x72, 0x91, 0x65, 0xCB, 0x41, 0xBF, 0x7F, 0x7D, + 0x7D, 0x1D, 0x84, 0x52, 0xDC, 0x80, 0x8B, 0x79, 0x5F, 0x0F, 0x3C, 0xED, 0xBF, 0x1C, 0xEF, 0x8D, + 0x0E, 0x27, 0xA3, 0x1E, 0x88, 0xAC, 0x9B, 0xFC, 0x92, 0xC4, 0x34, 0x4D, 0x89, 0xA0, 0x7F, 0xE6, + 0x4C, 0xC0, 0x70, 0xCF, 0x57, 0x24, 0x5C, 0x2E, 0xA1, 0x41, 0x78, 0x0E, 0x82, 0xC6, 0xE1, 0x35, + 0xE1, 0x82, 0x84, 0x73, 0x41, 0xA1, 0x2E, 0xE3, 0x28, 0xF2, 0xB5, 0x60, 0x19, 0x4B, 0xE6, 0x5D, + 0x92, 0xF2, 0x59, 0x76, 0x1D, 0x0A, 0xA9, 0xCF, 0x88, 0xA1, 0xB6, 0xCF, 0xF3, 0xCC, 0x68, 0xCC, + 0x13, 0x90, 0xA5, 0x1E, 0x01, 0x87, 0x81, 0x24, 0xA4, 0x35, 0x9C, 0x90, 0xF1, 0xA4, 0x45, 0xBE, + 0x1F, 0x4E, 0xC6, 0x93, 0x2E, 0x32, 0x79, 0x33, 0x3E, 0xFD, 0xF1, 0xE8, 0x97, 0x53, 0xF2, 0x66, + 0x78, 0x72, 0x32, 0x3C, 0x3C, 0x1D, 0x8F, 0x26, 0xE4, 0xE8, 0x84, 0xEC, 0x1D, 0x1D, 0xEE, 0x8F, + 0x4F, 0xC7, 0x47, 0x87, 0xF0, 0xEB, 0x80, 0x0C, 0x0F, 0x7F, 0x25, 0x3F, 0x8F, 0x0F, 0xF7, 0xBB, + 0x84, 0x32, 0xE8, 0x42, 0x80, 0x2E, 0x97, 0x02, 0x46, 0x80, 0x62, 0x32, 0xD4, 0x25, 0x8D, 0xA4, + 0xE2, 0x26, 0x94, 0x7A, 0x22, 0xCC, 0xB8, 0x12, 0x29, 0x5D, 0xD2, 0x29, 0x9B, 0xB1, 0x29, 0x0C, + 0x2D, 0x99, 0xE7, 0xE1, 0x9C, 0x92, 0x39, 0xBF, 0xA2, 0x22, 0x81, 0x11, 0x91, 0x25, 0x15, 0x0B, + 0x96, 0xA2, 0x4D, 0x53, 0x10, 0x30, 0x42, 0x36, 0x31, 0x5B, 0xB0, 0x2C, 0xCC, 0xB0, 0xA8, 0x3A, + 0x2E, 0xEC, 0xA8, 0xBF, 0x75, 0x74, 0xFE, 0x07, 0x9D, 0x66, 0x41, 0x44, 0x67, 0x2C, 0xA1, 0xC7, + 0x82, 0x03, 0x97, 0x6C, 0xD5, 0x01, 0xB1, 0xB8, 0xC8, 0xD2, 0x2E, 0x69, 0x9D, 0x9D, 0xD1, 0xF4, + 0x15, 0x8F, 0xF2, 0x98, 0xB6, 0xBA, 0xE4, 0x03, 0xB9, 0x0A, 0xE3, 0x9C, 0x0E, 0x48, 0x26, 0x72, + 0x4A, 0x6E, 0x00, 0x28, 0x9A, 0x30, 0x38, 0xD0, 0x58, 0x3E, 0x0C, 0x17, 0x34, 0x05, 0xD3, 0x51, + 0xB2, 0x4B, 0xD6, 0xD6, 0x8D, 0x93, 0x0C, 0x64, 0x0E, 0xE3, 0xB4, 0x48, 0x34, 0x3E, 0x19, 0x81, + 0x2E, 0x47, 0x67, 0xA0, 0xB0, 0x83, 0xF1, 0x0F, 0x67, 0xAF, 0x87, 0x27, 0x50, 0x7B, 0xC5, 0x59, + 0x44, 0x3E, 0xDF, 0xD9, 0xBA, 0x0A, 0x05, 0x99, 0x01, 0xB9, 0xB1, 0x74, 0xA7, 0x35, 0x4B, 0x5B, + 0xDB, 0xAA, 0x3C, 0xA2, 0x74, 0x79, 0x86, 0xC0, 0x3A, 0xFB, 0xA2, 0x48, 0x10, 0xF4, 0xF3, 0x8C, + 0xC5, 0x69, 0x1F, 0xAB, 0x7B, 0x58, 0x6D, 0xE8, 0xA9, 0x10, 0x5C, 0xD4, 0xD3, 0xCA, 0x2A, 0x4D, + 0x67, 0xA7, 0xE7, 0x19, 0x20, 0xAA, 0x4C, 0x6E, 0xA7, 0x2E, 0xD4, 0x19, 0xFA, 0x29, 0x00, 0x90, + 0x26, 0x19, 0x0B, 0xE3, 0x32, 0xB5, 0xAB, 0x29, 0x3C, 0xD6, 0x34, 0x63, 0x52, 0x2F, 0x0D, 0xDB, + 0xF7, 0x14, 0xB5, 0x65, 0x84, 0xA6, 0x61, 0x51, 0x98, 0x71, 0x51, 0x37, 0x32, 0x5B, 0x69, 0xA8, + 0x19, 0xC0, 0xE1, 0x7D, 0xBD, 0x16, 0x64, 0x95, 0xA1, 0xDB, 0x1F, 0x1D, 0x0C, 0x7F, 0x79, 0x79, + 0x7A, 0x36, 0x3C, 0x3E, 0x3E, 0x3B, 0x1C, 0xBE, 0x1A, 0x41, 0x83, 0xF6, 0x5B, 0x5D, 0xF8, 0x7B, + 0x1B, 0xBD, 0xD3, 0x73, 0xE5, 0x91, 0x92, 0x34, 0x0B, 0x93, 0x8C, 0x5C, 0xF0, 0x38, 0x02, 0x34, + 0x4A, 0xA0, 0xD1, 0xE4, 0x8A, 0x09, 0x9E, 0x2C, 0x28, 0x94, 0x03, 0x2F, 0x26, 0x27, 0x65, 0x12, + 0x2E, 0x0A, 0xDE, 0x02, 0x70, 0x17, 0xE6, 0x71, 0x06, 0x8E, 0x21, 0x99, 0xB1, 0xB9, 0xC4, 0xFE, + 0x78, 0xB6, 0xB6, 0x31, 0x92, 0x81, 0x27, 0x41, 0x80, 0xA3, 0x7F, 0x54, 0xFD, 0x84, 0x19, 0x3C, + 0x87, 0x80, 0x21, 0xC5, 0xB5, 0xFD, 0xA1, 0x4D, 0x58, 0x06, 0xCF, 0x71, 0x4C, 0xCE, 0x29, 0x59, + 0x86, 0x02, 0xFD, 0x60, 0x98, 0x92, 0x9F, 0x26, 0x47, 0x87, 0x72, 0xA2, 0x72, 0x9C, 0x79, 0xD7, + 0x2C, 0xA5, 0x05, 0x3A, 0x20, 0x48, 0xF3, 0x85, 0xF4, 0x12, 0xB2, 0x15, 0x07, 0xED, 0x02, 0x7B, + 0xFC, 0x19, 0xA2, 0xD7, 0xD3, 0xB3, 0x65, 0x33, 0x5A, 0xDB, 0xA5, 0x62, 0xA7, 0x1E, 0x87, 0x78, + 0x3E, 0x03, 0x86, 0xD5, 0xD9, 0xC2, 0xA4, 0xFA, 0xA6, 0xAA, 0x1B, 0xA9, 0xF8, 0x8D, 0xB3, 0x06, + 0xD8, 0x92, 0x17, 0xD3, 0x18, 0x84, 0x06, 0x72, 0xD2, 0x99, 0xE5, 0xC9, 0x14, 0x67, 0x39, 0xE9, + 0x6C, 0x93, 0x0F, 0x5B, 0x04, 0x3E, 0xA6, 0x64, 0x03, 0x9B, 0x8E, 0x05, 0xB8, 0x6C, 0xA4, 0x3E, + 0xD2, 0xCD, 0x07, 0xB6, 0x06, 0xBA, 0xB2, 0xCF, 0x3B, 0x3E, 0x4D, 0x4A, 0xC5, 0x15, 0x38, 0x92, + 0x83, 0x70, 0x0A, 0xA8, 0x62, 0x14, 0xA5, 0xFA, 0x70, 0x53, 0xA2, 0x81, 0xD9, 0x91, 0x9E, 0xAD, + 0xA9, 0xF8, 0x91, 0xF3, 0x4B, 0xAF, 0xF2, 0x06, 0xFF, 0xE2, 0xC8, 0xE4, 0xB7, 0x54, 0x1A, 0x43, + 0xA0, 0xB3, 0xBF, 0x80, 0xB9, 0x5A, 0xC1, 0x96, 0x45, 0x3D, 0xE1, 0xC7, 0xD2, 0xBE, 0x00, 0x3B, + 0x87, 0x0B, 0xC2, 0x97, 0xCA, 0xD9, 0x1D, 0xE1, 0x37, 0x0C, 0xD2, 0x14, 0xA0, 0x03, 0xAD, 0xF2, + 0x40, 0xA8, 0x25, 0x3C, 0xA1, 0x04, 0x7D, 0x30, 0x4D, 0x34, 0x18, 0x32, 0xB1, 0x92, 0x6B, 0x85, + 0xED, 0x5D, 0xF7, 0x81, 0x5A, 0x15, 0x7C, 0x21, 0xD9, 0x94, 0x0C, 0x5D, 0x0B, 0xD6, 0xE0, 0x6E, + 0x48, 0xB6, 0xBD, 0xDC, 0x15, 0xD2, 0x77, 0xC1, 0xB3, 0xEB, 0xC4, 0x01, 0xBB, 0xA4, 0x42, 0x30, + 0x0D, 0x62, 0xC5, 0xAA, 0x50, 0x4E, 0x58, 0xBD, 0x66, 0x5B, 0x34, 0x6D, 0x34, 0x85, 0xA0, 0x59, + 0x2E, 0x12, 0x32, 0x24, 0x09, 0xBD, 0xAE, 0x35, 0x5A, 0x1F, 0xBF, 0x37, 0x20, 0x33, 0x58, 0x0A, + 0x9E, 0xF1, 0x6C, 0xB5, 0xA4, 0x81, 0xB5, 0x82, 0xEC, 0x72, 0x97, 0x38, 0xA4, 0x6B, 0xCB, 0x76, + 0x8D, 0xC0, 0x45, 0x10, 0xB3, 0x19, 0xE9, 0x98, 0x71, 0xEC, 0xEE, 0x9A, 0x65, 0x04, 0x28, 0x88, + 0x2D, 0xAD, 0x38, 0xB6, 0x1D, 0x72, 0xE3, 0xB5, 0xC7, 0xEE, 0x61, 0xD4, 0xBA, 0x1B, 0xC9, 0xA6, + 0x9D, 0x27, 0x6A, 0x9D, 0x8C, 0xDA, 0xB2, 0x37, 0xF7, 0x71, 0x64, 0x0A, 0xDF, 0x31, 0x0F, 0xA3, + 0x23, 0x55, 0x74, 0x00, 0x98, 0x19, 0x25, 0x57, 0xAF, 0x43, 0xD1, 0xD9, 0xDE, 0xA9, 0x6B, 0x13, + 0x38, 0x9F, 0x0E, 0xCD, 0x6B, 0x97, 0x83, 0x60, 0x4E, 0xB3, 0xA1, 0x8A, 0x6B, 0xB0, 0xC9, 0xBE, + 0x72, 0x9A, 0x05, 0x7E, 0xB5, 0xB2, 0xDB, 0xC1, 0x3E, 0x43, 0xD9, 0x15, 0xCA, 0xDA, 0xE4, 0xEF, + 0xBF, 0x4D, 0xB9, 0x1A, 0x53, 0x79, 0x28, 0x30, 0x00, 0xC1, 0xAF, 0xD1, 0x76, 0x66, 0xA5, 0x0C, + 0x0A, 0x56, 0x1F, 0x61, 0x51, 0xC7, 0x54, 0x98, 0x82, 0x3D, 0x1E, 0xD1, 0x34, 0x18, 0x1F, 0xBE, + 0x1E, 0xBE, 0x1C, 0xEF, 0x5B, 0x8D, 0x42, 0xF4, 0x30, 0x4E, 0xE4, 0xC2, 0x63, 0x6D, 0x8D, 0x5D, + 0x2B, 0x40, 0xFD, 0xD6, 0x6A, 0x91, 0xCF, 0x8C, 0x24, 0xF0, 0xD4, 0xFA, 0xAD, 0x45, 0xC0, 0xEC, + 0x57, 0x2C, 0x82, 0x10, 0x88, 0x0C, 0x0D, 0xD9, 0x22, 0x4F, 0x33, 0x09, 0x67, 0x9C, 0xA8, 0x3D, + 0xBA, 0x58, 0x66, 0x2B, 0x3D, 0x5F, 0x82, 0x56, 0xED, 0xF0, 0x69, 0x0C, 0xBD, 0x14, 0xED, 0xCF, + 0x92, 0x82, 0x2F, 0x32, 0x63, 0xAD, 0x07, 0x4A, 0x15, 0x14, 0x86, 0xFE, 0x41, 0xF4, 0xB3, 0xFF, + 0xCB, 0x31, 0x44, 0xB0, 0xC3, 0xD3, 0x11, 0xB2, 0xEF, 0x92, 0xF6, 0xA9, 0x5B, 0xFF, 0x7C, 0x05, + 0x85, 0xB1, 0xA0, 0x61, 0xB4, 0x82, 0xD8, 0x88, 0xA5, 0xB0, 0xD8, 0x90, 0x53, 0x0C, 0xBD, 0x17, + 0x34, 0x4C, 0x52, 0x19, 0x95, 0x4F, 0xC3, 0x38, 0x86, 0x99, 0xED, 0x4D, 0x0D, 0x70, 0xFC, 0x6D, + 0xF2, 0x19, 0xC8, 0x5A, 0xFD, 0xB4, 0x17, 0x5C, 0x60, 0x34, 0x09, 0x41, 0x2B, 0x37, 0x91, 0x3A, + 0xCF, 0x33, 0xA5, 0x6D, 0xB9, 0x56, 0x43, 0x8D, 0xB5, 0x4B, 0xA8, 0x7C, 0x6D, 0x4A, 0xC1, 0x41, + 0x81, 0x8F, 0x11, 0xF3, 0x1C, 0xFD, 0x56, 0x00, 0xCE, 0x98, 0x2C, 0x38, 0xD8, 0x62, 0x0A, 0x42, + 0xA6, 0xEB, 0xFB, 0x02, 0xF9, 0xA0, 0x97, 0x18, 0xB6, 0x0D, 0x2A, 0xE4, 0x96, 0xC2, 0x56, 0x44, + 0xE5, 0xD2, 0xFB, 0x7E, 0x9F, 0x67, 0x68, 0x00, 0x6C, 0x12, 0x71, 0x72, 0x0D, 0xD1, 0x83, 0xEF, + 0x77, 0x37, 0x8C, 0x08, 0x54, 0xC6, 0x96, 0xB1, 0xD4, 0x16, 0x78, 0x80, 0x25, 0xAE, 0x83, 0x61, + 0x49, 0x66, 0xC7, 0xCC, 0x75, 0x8C, 0x45, 0x73, 0x76, 0x05, 0x2E, 0x19, 0x36, 0x17, 0x4A, 0xD5, + 0x10, 0x17, 0xB3, 0x3F, 0xF3, 0x0D, 0x7D, 0xA1, 0x56, 0x82, 0xB6, 0xC6, 0x5A, 0x19, 0x6F, 0x0E, + 0x73, 0x8F, 0x08, 0x94, 0x56, 0x65, 0xF6, 0x44, 0x75, 0xD3, 0xE7, 0x9E, 0xB0, 0x69, 0xDD, 0x01, + 0x36, 0x0A, 0x1A, 0xD0, 0xE3, 0xED, 0x78, 0x79, 0x15, 0x5E, 0x42, 0x69, 0x0E, 0x2C, 0xA0, 0x6F, + 0x8D, 0x35, 0xA0, 0x5E, 0xAF, 0x67, 0x65, 0x07, 0xC5, 0x94, 0x5E, 0x51, 0x5C, 0x84, 0xD9, 0x42, + 0xB6, 0xAE, 0xC5, 0xD0, 0x7A, 0x93, 0xB8, 0x27, 0x5C, 0x6D, 0xA5, 0xA4, 0xBB, 0x68, 0x05, 0x2F, + 0xA0, 0xF7, 0x8D, 0x51, 0x59, 0x4C, 0xBA, 0xD2, 0x67, 0x6C, 0xD7, 0x85, 0x33, 0x6F, 0x35, 0xC9, + 0xEF, 0xC0, 0x15, 0x1E, 0x4B, 0x24, 0x28, 0xEA, 0xD0, 0x04, 0x37, 0xE8, 0x5A, 0x60, 0x9E, 0x4F, + 0xC1, 0x2C, 0x19, 0x2D, 0xCA, 0xAB, 0x56, 0x48, 0xD7, 0xFC, 0x66, 0xA7, 0x1C, 0xFB, 0x9C, 0x48, + 0x8A, 0x4A, 0xDC, 0xE3, 0xCC, 0x60, 0x9D, 0xA5, 0xD2, 0x58, 0x87, 0x8B, 0x62, 0x3C, 0xED, 0xB5, + 0x31, 0x3C, 0x19, 0x46, 0x3B, 0x8A, 0x9C, 0xA5, 0xB6, 0xFD, 0xB6, 0x59, 0x95, 0x3F, 0x36, 0x0E, + 0x80, 0xC9, 0xA5, 0x07, 0x16, 0x94, 0x43, 0x81, 0xD3, 0xCA, 0x28, 0x2E, 0x18, 0x4C, 0xC0, 0x8B, + 0x30, 0xAD, 0x0C, 0xE5, 0x3E, 0x41, 0x42, 0x58, 0x0A, 0x0D, 0x1E, 0x37, 0x22, 0xF8, 0x5F, 0xAF, + 0xAA, 0xCF, 0xD6, 0xAC, 0xAB, 0xE5, 0xE1, 0xDA, 0x8D, 0xF6, 0x2B, 0xC8, 0x6E, 0x60, 0x9E, 0x62, + 0xF7, 0x96, 0x85, 0xB6, 0xE2, 0x14, 0xBE, 0xDB, 0xB0, 0x40, 0x46, 0x9C, 0xA6, 0x98, 0x98, 0x52, + 0xAE, 0x2E, 0x00, 0xA7, 0x32, 0x68, 0xEC, 0x25, 0xCB, 0x6D, 0x5B, 0x9E, 0x1B, 0xF1, 0x85, 0xFE, + 0x0C, 0x2C, 0x69, 0x1C, 0xD9, 0x7A, 0x57, 0x04, 0x9A, 0x9C, 0xA1, 0xAF, 0xCC, 0x53, 0xB5, 0x98, + 0xAE, 0xCA, 0xB3, 0x84, 0xE8, 0xBD, 0x52, 0x1A, 0xB4, 0x77, 0x1E, 0x06, 0x14, 0x87, 0x47, 0x72, + 0x69, 0xF0, 0xA4, 0xAD, 0x18, 0xCE, 0x79, 0x9A, 0x3A, 0xF7, 0xE5, 0x79, 0x9E, 0xFA, 0x2C, 0x50, + 0x93, 0xC9, 0x07, 0x70, 0x44, 0xBE, 0xAD, 0x6E, 0x01, 0x00, 0x7D, 0xE5, 0x4B, 0x7C, 0x57, 0x26, + 0xA3, 0x0C, 0x21, 0x42, 0xA9, 0x1D, 0xD0, 0x22, 0x6A, 0x48, 0xC2, 0x2F, 0xA2, 0x31, 0xC5, 0xBC, + 0x9A, 0x73, 0x10, 0xA8, 0xA9, 0x02, 0x87, 0xBE, 0x7D, 0x86, 0x30, 0x78, 0x50, 0x98, 0xE7, 0x75, + 0xA0, 0x3B, 0x83, 0xA1, 0x9A, 0x30, 0xDC, 0x57, 0x76, 0xBF, 0xAF, 0x44, 0xB1, 0x79, 0xC8, 0x94, + 0xA3, 0x0C, 0x6A, 0x5D, 0x14, 0xF0, 0x95, 0x20, 0x2A, 0x16, 0x79, 0x06, 0xCE, 0x1A, 0x2B, 0x94, + 0xB4, 0x96, 0x85, 0xD3, 0xA6, 0xD1, 0xD6, 0x25, 0x5D, 0xA5, 0x9D, 0xC2, 0x1C, 0x08, 0x16, 0xE1, + 0xB2, 0x53, 0xE7, 0x85, 0x4C, 0xBB, 0xB3, 0x3A, 0x33, 0x90, 0x9B, 0xA2, 0xE1, 0xBA, 0x6E, 0xCA, + 0x25, 0xB0, 0x92, 0x0A, 0xDC, 0x2B, 0xC2, 0x90, 0x41, 0xE5, 0xD4, 0x56, 0xE9, 0x64, 0x49, 0x8E, + 0x95, 0x3A, 0x17, 0x87, 0x55, 0x96, 0x51, 0xBF, 0xB0, 0x8A, 0x2C, 0x20, 0x3D, 0x98, 0x16, 0x53, + 0x87, 0x34, 0xFA, 0xD8, 0x2D, 0x99, 0x90, 0x4C, 0x87, 0xCD, 0x7C, 0xAE, 0xEF, 0x33, 0x4B, 0xBB, + 0xA8, 0xC7, 0x74, 0x92, 0xED, 0x43, 0x5E, 0xF5, 0x8F, 0x77, 0xF4, 0x85, 0xB0, 0x64, 0xAF, 0x0F, + 0x2A, 0x4E, 0xB9, 0xD2, 0xAE, 0xD9, 0xF2, 0x41, 0x91, 0x55, 0xC2, 0xE6, 0xA0, 0xC0, 0xB5, 0x05, + 0x31, 0x15, 0xFA, 0x8B, 0x3D, 0xA9, 0x92, 0x5B, 0xA7, 0xAC, 0x17, 0x2C, 0xCC, 0x59, 0x0A, 0x86, + 0x82, 0x39, 0x86, 0xCA, 0x33, 0xEE, 0x86, 0x70, 0x35, 0xF1, 0x9D, 0x1E, 0x12, 0x63, 0xD7, 0xFA, + 0x35, 0xDF, 0x34, 0x94, 0xA6, 0x3A, 0xBD, 0x50, 0xF4, 0xF5, 0xCE, 0x4C, 0x2F, 0xF7, 0xBA, 0xE3, + 0x72, 0x0E, 0x41, 0x45, 0x3C, 0x13, 0x4D, 0x38, 0x24, 0x33, 0x99, 0x24, 0x5A, 0x41, 0x30, 0x0A, + 0x5B, 0x8F, 0x48, 0x46, 0xE1, 0x34, 0xA1, 0x02, 0x68, 0xC0, 0x2B, 0x18, 0x2C, 0xAE, 0xED, 0x29, + 0xA8, 0x95, 0xD2, 0xB8, 0x29, 0x46, 0x0B, 0xE9, 0x9E, 0xA5, 0x2D, 0xC3, 0x4E, 0xE8, 0xFB, 0x8C, + 0x26, 0x51, 0xBD, 0x0E, 0x74, 0x28, 0x55, 0xE6, 0xAD, 0x13, 0x53, 0x8E, 0x23, 0xDA, 0xEE, 0x3C, + 0x9C, 0x5E, 0xAA, 0xAC, 0x0C, 0x44, 0xC3, 0x11, 0x9C, 0x38, 0x20, 0x59, 0x4F, 0xD0, 0x18, 0x06, + 0x10, 0x61, 0xB0, 0x9A, 0x64, 0x29, 0xE4, 0xDA, 0x2F, 0x25, 0xD0, 0xE4, 0xE0, 0xE5, 0x9C, 0x00, + 0x5A, 0x69, 0x4C, 0xFC, 0x51, 0x0D, 0x89, 0x6A, 0x06, 0xDA, 0x4E, 0x8D, 0x74, 0xF7, 0x9C, 0x98, + 0xCA, 0x1A, 0x5A, 0xEF, 0xDE, 0xF4, 0x2C, 0x58, 0xB6, 0xEB, 0x9B, 0xA7, 0x5B, 0xD5, 0x67, 0xD7, + 0xA8, 0x01, 0xE7, 0xE7, 0xED, 0xCE, 0xB5, 0xBC, 0xD6, 0xEF, 0xD4, 0x78, 0x00, 0xD3, 0x49, 0x13, + 0x2F, 0xE0, 0xC7, 0x0D, 0x38, 0x93, 0x4D, 0xEB, 0xF2, 0x24, 0xD6, 0x43, 0xB8, 0x7D, 0x22, 0x6F, + 0x88, 0x69, 0xAA, 0x12, 0x56, 0x63, 0xBB, 0xAA, 0xF4, 0xB7, 0x08, 0x6D, 0x63, 0x34, 0xD3, 0xB2, + 0x10, 0x9E, 0x99, 0x22, 0x17, 0x93, 0xDC, 0x63, 0x44, 0xAD, 0x8D, 0x23, 0x2A, 0xF6, 0xC0, 0x92, + 0xFA, 0x7C, 0xED, 0x6D, 0x03, 0x28, 0x83, 0x53, 0x85, 0x54, 0xEB, 0x86, 0x80, 0xB1, 0xBC, 0xD9, + 0x80, 0x82, 0xC8, 0x34, 0xB1, 0xBE, 0x01, 0x46, 0xD5, 0xDA, 0x9C, 0xA7, 0xF2, 0xBB, 0x7E, 0xF6, + 0x68, 0x4B, 0xC4, 0xE9, 0xE8, 0xE4, 0x70, 0xF8, 0xF2, 0x6C, 0x74, 0x72, 0x72, 0x74, 0x02, 0x61, + 0x8B, 0x29, 0x20, 0xC3, 0xC9, 0x64, 0x74, 0x72, 0x4A, 0x0E, 0x86, 0xE3, 0x97, 0xA3, 0xFD, 0x01, + 0x6E, 0x88, 0x6F, 0x8F, 0xAB, 0x6A, 0x55, 0xFA, 0x56, 0x17, 0xE8, 0xED, 0xA1, 0x37, 0xCF, 0x4A, + 0xB3, 0xA2, 0x34, 0xC1, 0xEA, 0x93, 0xE3, 0x65, 0x7E, 0xBA, 0xA2, 0x4E, 0x9E, 0x7E, 0x1F, 0x3D, + 0x8A, 0xB3, 0x95, 0x3B, 0x58, 0x50, 0x81, 0xD7, 0x74, 0x0A, 0x83, 0xE1, 0xC2, 0x7A, 0x04, 0xBD, + 0x03, 0xCB, 0x20, 0xB8, 0x05, 0x82, 0xDA, 0xFD, 0x5C, 0x91, 0x37, 0xB4, 0xCC, 0x21, 0xEF, 0x53, + 0xDC, 0x62, 0xA2, 0x34, 0x6A, 0x4B, 0x59, 0xD7, 0xDA, 0xDB, 0x62, 0x7A, 0x9E, 0xC2, 0x8C, 0xC9, + 0x48, 0x58, 0x8E, 0x22, 0x86, 0x62, 0x6E, 0xB5, 0x52, 0x85, 0x8A, 0x22, 0x58, 0xEB, 0x41, 0xDC, + 0xC7, 0x52, 0xBA, 0xA8, 0xAB, 0x53, 0x9F, 0x31, 0x70, 0xA3, 0x3C, 0xE0, 0x02, 0x4E, 0x84, 0xED, + 0x9C, 0x75, 0x63, 0x89, 0x41, 0xEB, 0xF9, 0x12, 0x96, 0x94, 0xF2, 0xE6, 0xB7, 0x26, 0x3A, 0xD4, + 0x1D, 0x7B, 0xB6, 0xF3, 0x32, 0xB5, 0x3B, 0x45, 0xC5, 0x06, 0x41, 0x20, 0xD7, 0x89, 0xD0, 0x1C, + 0x08, 0x50, 0xB0, 0x11, 0xB7, 0x5A, 0xEA, 0xC5, 0xB0, 0xBA, 0x14, 0x97, 0xB5, 0xC0, 0x43, 0x51, + 0xC5, 0x73, 0xCB, 0xD9, 0x63, 0xF5, 0x52, 0x52, 0x4B, 0xF1, 0xA4, 0x34, 0xC0, 0xE7, 0x91, 0x5C, + 0x1F, 0x3B, 0xBE, 0x45, 0x6A, 0x57, 0x84, 0xED, 0x35, 0x98, 0x7B, 0xC5, 0x13, 0x88, 0x82, 0x7B, + 0xCB, 0x30, 0x43, 0x30, 0xD5, 0x02, 0x90, 0x27, 0x25, 0xB5, 0xB9, 0xBA, 0xFA, 0x43, 0xA7, 0x0A, + 0xEC, 0xCB, 0xF2, 0x95, 0xF3, 0x28, 0x15, 0x82, 0x75, 0x71, 0xD2, 0x1E, 0xAC, 0xE5, 0x12, 0xC3, + 0x12, 0xBB, 0x17, 0x38, 0xC7, 0x40, 0xED, 0x42, 0x40, 0x2B, 0x48, 0x5E, 0xE9, 0xE3, 0x3E, 0x97, + 0x90, 0x30, 0x6B, 0xBB, 0x14, 0x18, 0xAD, 0x22, 0xD3, 0x86, 0xAA, 0x37, 0x1D, 0x3E, 0x48, 0xE7, + 0x6A, 0x12, 0x2C, 0xB6, 0x59, 0x93, 0x93, 0x2A, 0x90, 0xA0, 0x2E, 0x2D, 0xC2, 0xD3, 0x82, 0x70, + 0x26, 0x7F, 0x5A, 0x0A, 0x52, 0x94, 0x54, 0x36, 0x48, 0x73, 0x32, 0x82, 0x3E, 0xF4, 0x49, 0x16, + 0x8C, 0x45, 0xCD, 0xF0, 0x2A, 0xB3, 0x7B, 0x04, 0x16, 0x5E, 0xFC, 0x5A, 0x9E, 0xAF, 0x5D, 0x27, + 0x4E, 0xB3, 0x70, 0xA1, 0xBC, 0x7B, 0xAA, 0xAE, 0x4C, 0x01, 0xE8, 0x7A, 0x04, 0xAA, 0xEE, 0xD4, + 0xC6, 0x2F, 0x75, 0xDE, 0xE1, 0x6C, 0x83, 0xE3, 0xAC, 0x73, 0x0E, 0x9B, 0xE8, 0x3B, 0x76, 0x3C, + 0x32, 0x0E, 0x5A, 0x9F, 0x66, 0xDC, 0x5E, 0x87, 0xB3, 0x63, 0x3C, 0xA0, 0x43, 0x60, 0xE0, 0x01, + 0x9B, 0x3E, 0x7C, 0xD3, 0x47, 0x71, 0x2B, 0x59, 0x5C, 0x73, 0x7C, 0xDC, 0xC5, 0x71, 0xB0, 0xCC, + 0x24, 0x6F, 0x0D, 0xAB, 0x23, 0x01, 0xE5, 0xB5, 0x6D, 0x46, 0x87, 0xAF, 0x8B, 0x87, 0x88, 0x32, + 0xDA, 0x90, 0x07, 0x82, 0x84, 0x4B, 0x05, 0x77, 0xD5, 0x39, 0x21, 0xF2, 0x8C, 0x98, 0x80, 0x82, + 0x78, 0xA5, 0xB8, 0x3E, 0xFE, 0x11, 0x3B, 0x7C, 0x3E, 0xE2, 0x98, 0xFD, 0xAE, 0xE8, 0xAC, 0x3D, + 0x6B, 0xF3, 0x50, 0x5A, 0xC2, 0xA5, 0xDE, 0x3F, 0x03, 0x09, 0x30, 0xC1, 0x75, 0x31, 0x00, 0x45, + 0xBC, 0xDD, 0x70, 0xB4, 0xFF, 0xBB, 0xBF, 0x76, 0x3F, 0xB3, 0x97, 0x29, 0x02, 0x96, 0x1E, 0xF2, + 0x64, 0x84, 0x81, 0xD9, 0x44, 0xEA, 0xAA, 0xA3, 0x58, 0xAB, 0x74, 0x58, 0x75, 0x69, 0xF8, 0x70, + 0x53, 0x1B, 0x4B, 0x88, 0x55, 0x35, 0x91, 0x21, 0xED, 0x20, 0x37, 0x16, 0xBB, 0xE6, 0x72, 0x84, + 0x32, 0xC1, 0x1B, 0xB0, 0x40, 0x07, 0x2C, 0xB0, 0x4D, 0xBE, 0x33, 0x03, 0x81, 0x04, 0x41, 0x1A, + 0x60, 0xE8, 0x75, 0x00, 0x1A, 0x9C, 0xAC, 0x92, 0xA9, 0x16, 0xA3, 0x0B, 0x6B, 0x64, 0x36, 0xFB, + 0x06, 0x37, 0x97, 0x55, 0x61, 0xA4, 0xB1, 0x02, 0x69, 0xBB, 0x8E, 0xEE, 0xAB, 0xDE, 0xCD, 0x4F, + 0xA5, 0x73, 0x57, 0x51, 0x95, 0x1B, 0x97, 0x0B, 0x3B, 0x30, 0x20, 0xC3, 0x10, 0x15, 0xE6, 0x4F, + 0xBC, 0x42, 0x37, 0x89, 0xF6, 0x95, 0xD4, 0x64, 0xA1, 0x63, 0x3A, 0x36, 0x73, 0xB3, 0xC1, 0xF4, + 0xA5, 0x13, 0x2E, 0x0E, 0x40, 0x0F, 0x15, 0xE6, 0xB9, 0x4C, 0xC0, 0xD1, 0xB1, 0xBC, 0x78, 0x05, + 0x6A, 0x38, 0x08, 0xA1, 0x6B, 0x44, 0x9D, 0xEA, 0x0B, 0xE7, 0xB5, 0xBB, 0x1A, 0xC0, 0x30, 0x8B, + 0xD2, 0x36, 0x51, 0x5F, 0x45, 0x07, 0x60, 0x33, 0xA7, 0xB5, 0x0D, 0x90, 0xDC, 0xD9, 0xBA, 0xE9, + 0x6C, 0x43, 0xEB, 0x46, 0xD7, 0x9E, 0xD6, 0x57, 0xFA, 0x97, 0x8F, 0xF6, 0x0A, 0x67, 0xC3, 0x5A, + 0xF7, 0x53, 0x58, 0x92, 0x07, 0xDE, 0x6D, 0xA3, 0x00, 0x8B, 0xBA, 0x20, 0xE1, 0x0C, 0xBC, 0xFF, + 0xC5, 0x29, 0xBF, 0xA4, 0x49, 0x89, 0xA0, 0x58, 0x05, 0x5E, 0xAD, 0x72, 0x94, 0x5C, 0x22, 0xAF, + 0x12, 0x6C, 0xDD, 0xD8, 0xBB, 0x2C, 0x3F, 0xC4, 0xFC, 0x3C, 0x8C, 0xCD, 0x08, 0xB4, 0x41, 0xDF, + 0x67, 0xDA, 0xED, 0x6C, 0xB8, 0xC0, 0xD2, 0xE4, 0xDE, 0x4A, 0xFF, 0x39, 0xC9, 0xD2, 0x18, 0xBC, + 0xC2, 0x80, 0x26, 0xE8, 0x8E, 0x80, 0xEC, 0x96, 0xFB, 0x2C, 0xAA, 0xA9, 0xC3, 0xE3, 0x8F, 0xB0, + 0x59, 0x97, 0x86, 0x16, 0x6A, 0x61, 0xFC, 0x3E, 0x3C, 0xA7, 0xB1, 0xBA, 0xB9, 0xB1, 0xE0, 0x11, + 0x9B, 0xAD, 0xF4, 0xED, 0x24, 0x2D, 0xAF, 0xB6, 0x2B, 0xFA, 0x2F, 0x3F, 0xBC, 0x95, 0x97, 0x32, + 0xCB, 0xFB, 0x71, 0x5F, 0x44, 0xB8, 0x15, 0x28, 0x53, 0x70, 0xC6, 0x77, 0xF6, 0x80, 0xDA, 0x48, + 0xEC, 0xE2, 0x1A, 0x77, 0x83, 0x0E, 0x97, 0x42, 0x91, 0xEB, 0xF0, 0xA4, 0x3C, 0xDA, 0x06, 0x9C, + 0xBC, 0x8B, 0x02, 0x55, 0x84, 0x94, 0xB2, 0x4E, 0x93, 0xFD, 0x9F, 0xCF, 0x5E, 0x8F, 0x4E, 0x26, + 0x30, 0x05, 0x80, 0x5C, 0x5E, 0xEA, 0x52, 0x37, 0x09, 0x26, 0xD1, 0xA5, 0xBE, 0xFC, 0xE9, 0xE2, + 0xD2, 0xEA, 0xB0, 0x74, 0xF7, 0x6E, 0x9E, 0x1F, 0xED, 0x1F, 0x75, 0xFE, 0xB8, 0xA6, 0xC9, 0x9C, + 0x8A, 0xED, 0x01, 0xD9, 0x0F, 0xB3, 0x50, 0x9A, 0x9F, 0x49, 0xB5, 0xC9, 0x43, 0x5F, 0x84, 0x02, + 0xBA, 0x77, 0x01, 0x99, 0x1C, 0x2B, 0x5F, 0x70, 0x0C, 0xAA, 0x67, 0xF0, 0x4D, 0xDE, 0x40, 0x78, + 0x08, 0x27, 0xCF, 0x31, 0xDC, 0xB1, 0x5C, 0x82, 0xFB, 0x84, 0xA6, 0x78, 0x46, 0x8B, 0x1B, 0x8B, + 0x42, 0x3F, 0xF8, 0x53, 0xA5, 0x86, 0xC3, 0x0C, 0x4F, 0x6A, 0x75, 0x6B, 0x0C, 0x92, 0xB1, 0x38, + 0x21, 0x2A, 0xFD, 0xA8, 0x86, 0xE8, 0x0F, 0xD8, 0x90, 0xEE, 0x9A, 0x46, 0x9E, 0x42, 0xDC, 0x0E, + 0x50, 0x1D, 0x07, 0x6E, 0xBA, 0x19, 0x55, 0x38, 0xFC, 0xBB, 0xB9, 0x4B, 0x7E, 0xDC, 0x4F, 0x8B, + 0xE7, 0xD9, 0x45, 0x29, 0x2D, 0xEE, 0xE5, 0xC5, 0x7F, 0xA0, 0x99, 0x52, 0xDD, 0xBB, 0x21, 0x50, + 0xBE, 0xAB, 0x86, 0xCE, 0x01, 0x86, 0x77, 0x16, 0x9F, 0xAE, 0x1C, 0x3D, 0x27, 0xB8, 0x4D, 0xD4, + 0x94, 0xCE, 0xA5, 0x65, 0xC8, 0xA7, 0xC0, 0xBB, 0xC4, 0x12, 0x9D, 0x72, 0x65, 0xEB, 0x06, 0x45, + 0xC0, 0x86, 0xBE, 0xC7, 0x99, 0xCE, 0x20, 0x38, 0x70, 0x09, 0x62, 0xAC, 0x7E, 0x84, 0xFC, 0xBB, + 0x74, 0x6B, 0x49, 0x39, 0x7C, 0xAC, 0x89, 0xCE, 0xFC, 0x74, 0x39, 0x05, 0x48, 0x09, 0xF4, 0xFA, + 0x92, 0x3A, 0x40, 0xAD, 0x56, 0x36, 0x72, 0xD5, 0x8E, 0x90, 0xAC, 0x70, 0xB7, 0xB1, 0x1D, 0xF4, + 0xB1, 0x44, 0xFE, 0x69, 0x6F, 0x07, 0xA8, 0x9D, 0x9D, 0x0D, 0x99, 0x7D, 0xF0, 0x4F, 0x6C, 0x9E, + 0x74, 0x66, 0x09, 0x5E, 0x79, 0x45, 0xE2, 0x81, 0x64, 0xF8, 0xF0, 0xA9, 0xFA, 0xFB, 0xE0, 0x2A, + 0xD2, 0x33, 0xAF, 0x19, 0xB6, 0xCC, 0x3C, 0x7D, 0x60, 0x7C, 0x19, 0xB6, 0x9F, 0x24, 0xC6, 0x8C, + 0x86, 0xD7, 0xE1, 0xCC, 0x39, 0x2B, 0x2A, 0x3D, 0x66, 0x4F, 0x7B, 0xCC, 0x5E, 0x02, 0xEB, 0x60, + 0x0F, 0x4A, 0x28, 0x79, 0x81, 0xC6, 0x4A, 0xA7, 0x82, 0x2D, 0xB3, 0x9E, 0x22, 0xEA, 0x27, 0xBC, + 0x07, 0xE2, 0xF5, 0x34, 0x24, 0xD3, 0x66, 0xF0, 0xB3, 0x00, 0x7E, 0x61, 0xFC, 0x69, 0xDF, 0x48, + 0xD7, 0xDE, 0x7E, 0x0A, 0x68, 0x54, 0x21, 0x1E, 0xAC, 0xA9, 0xCD, 0xE0, 0xF8, 0xCA, 0x90, 0x3F, + 0x30, 0x1E, 0x2D, 0xDF, 0x4F, 0x12, 0x90, 0x56, 0xC9, 0x0D, 0x3C, 0x9F, 0xA5, 0xF5, 0xDD, 0x9F, + 0x2D, 0x76, 0x4F, 0xE0, 0x08, 0xAD, 0xDA, 0x1A, 0x7B, 0x43, 0xDB, 0x62, 0xE0, 0x7A, 0x7A, 0x1A, + 0x7E, 0x31, 0x85, 0x0D, 0x59, 0x38, 0x6F, 0xE8, 0x16, 0x27, 0x92, 0xF8, 0xA1, 0xBD, 0xA2, 0xE2, + 0xFA, 0x69, 0x3A, 0x45, 0xAD, 0xDE, 0x06, 0x08, 0xD4, 0x94, 0x3E, 0xFE, 0x74, 0xA1, 0xF9, 0x06, + 0xEC, 0x69, 0x65, 0x35, 0x46, 0x9E, 0xA6, 0x1F, 0x18, 0xFE, 0x4F, 0x03, 0x75, 0xE8, 0x96, 0x51, + 0xA0, 0x86, 0xB8, 0x3B, 0xD0, 0xE4, 0x0F, 0x8D, 0x3C, 0xC3, 0xF7, 0xD3, 0xC4, 0x9E, 0x55, 0xF2, + 0xBF, 0xB7, 0x22, 0xA3, 0xE0, 0xA6, 0x5B, 0x0F, 0xCA, 0x2F, 0xE6, 0xF2, 0x6D, 0xBB, 0xDE, 0x34, + 0xE6, 0x79, 0xD4, 0xB7, 0x24, 0xA5, 0x24, 0x8B, 0x1A, 0x74, 0x15, 0xC6, 0x96, 0x3E, 0xB0, 0x16, + 0xDB, 0xAE, 0x8C, 0xE1, 0xDD, 0xD5, 0x17, 0xE7, 0x34, 0x0B, 0xBF, 0x78, 0x87, 0xBB, 0x1E, 0xF8, + 0x85, 0x0F, 0x02, 0x5F, 0x67, 0xFB, 0x6B, 0xD5, 0xC3, 0x6C, 0x97, 0xBC, 0xC5, 0xA9, 0x92, 0x82, + 0x56, 0x42, 0xD8, 0xED, 0xC1, 0x0E, 0x4B, 0x82, 0xC4, 0xDD, 0xD2, 0xC4, 0x57, 0x08, 0x2F, 0xC9, + 0x05, 0x1C, 0xC2, 0x95, 0xBA, 0x90, 0x09, 0x37, 0xBC, 0x03, 0x87, 0x24, 0xF3, 0x39, 0xD5, 0x79, + 0x3E, 0x96, 0xBA, 0x4E, 0xB0, 0x24, 0x87, 0xBC, 0xB8, 0xBB, 0xED, 0x24, 0xF3, 0x01, 0x0E, 0x23, + 0x6B, 0x67, 0x8C, 0x1C, 0x68, 0x5B, 0x8F, 0xA1, 0x5D, 0x9C, 0x16, 0x0D, 0x21, 0x55, 0x82, 0x84, + 0xD3, 0x99, 0xE6, 0xE9, 0x14, 0x56, 0x33, 0xFD, 0xF5, 0x84, 0x6E, 0x2E, 0xE6, 0x03, 0x4B, 0x78, + 0x67, 0xE1, 0x0C, 0x8F, 0xE4, 0x09, 0x78, 0xB3, 0x05, 0x64, 0xDD, 0x81, 0xFA, 0x25, 0x0D, 0x45, + 0xD2, 0x3C, 0xA6, 0x2B, 0x34, 0xBA, 0x57, 0x64, 0x57, 0x60, 0x5B, 0x74, 0x72, 0x55, 0xEE, 0xCD, + 0xE2, 0xBB, 0x02, 0x3B, 0xEB, 0xEA, 0x56, 0xFF, 0x19, 0x5F, 0x57, 0x34, 0x41, 0xC3, 0x88, 0xCF, + 0x6F, 0xE1, 0xAF, 0xBB, 0xBA, 0xB2, 0x17, 0xEB, 0x5A, 0xBF, 0x40, 0x47, 0x81, 0x05, 0x06, 0x77, + 0x8A, 0x05, 0xFD, 0x76, 0x03, 0x4F, 0x92, 0x27, 0x13, 0x17, 0x9A, 0xD3, 0xB5, 0x71, 0xD4, 0x0C, + 0xCE, 0x63, 0x4B, 0x7F, 0x77, 0x24, 0x6F, 0x58, 0xA3, 0x2D, 0xE3, 0x4F, 0x73, 0x89, 0x76, 0x5A, + 0x6E, 0x80, 0x58, 0x47, 0xEC, 0x83, 0xD5, 0x94, 0xF7, 0x58, 0x54, 0x7C, 0x06, 0x88, 0x3A, 0xA3, + 0x34, 0x46, 0xA7, 0x6B, 0x32, 0x28, 0x74, 0xF8, 0x34, 0x30, 0x09, 0xCF, 0xD8, 0xE8, 0x55, 0x98, + 0x40, 0x20, 0x8B, 0xE7, 0x6F, 0xCD, 0xA0, 0x79, 0x5C, 0x6E, 0xF6, 0xC0, 0x08, 0xAD, 0xF0, 0xFF, + 0x24, 0xA1, 0x5A, 0x51, 0x7E, 0x03, 0xC4, 0x56, 0xDA, 0xF8, 0xC0, 0xD5, 0xD5, 0xBD, 0x85, 0xAD, + 0xAF, 0x29, 0x02, 0x18, 0x57, 0x14, 0xDC, 0x18, 0xCD, 0x95, 0x96, 0x83, 0xAA, 0x4C, 0x4F, 0x03, + 0xDB, 0xF0, 0x2A, 0x50, 0x2E, 0x60, 0xC5, 0x3D, 0x81, 0x13, 0x8F, 0xB4, 0x19, 0xAE, 0x27, 0xC5, + 0x26, 0x0F, 0x8C, 0x69, 0x8F, 0xF7, 0x27, 0x89, 0x67, 0x4F, 0xE1, 0x0D, 0xB0, 0xEC, 0xD1, 0xFB, + 0x38, 0x36, 0x55, 0x3D, 0x81, 0x75, 0xA5, 0x9F, 0xB8, 0x67, 0x2F, 0x36, 0x6D, 0x8C, 0x5D, 0xAF, + 0xD5, 0xC0, 0xEF, 0xFF, 0x69, 0x60, 0x16, 0x0F, 0x95, 0x32, 0xBA, 0x87, 0x8C, 0x1B, 0x06, 0xBD, + 0x27, 0xAE, 0xC5, 0x3D, 0x22, 0xDE, 0x0D, 0x88, 0xF5, 0x58, 0x37, 0x09, 0x77, 0xFF, 0x7B, 0x80, + 0x2D, 0x68, 0xBB, 0x49, 0x7C, 0x5B, 0x24, 0xF7, 0xE1, 0xAA, 0x6A, 0x7A, 0x0A, 0x10, 0xFE, 0x2F, + 0x00, 0x6B, 0x41, 0x8F, 0xCD, 0x63, 0xDA, 0x62, 0xA3, 0x41, 0xB1, 0xEB, 0x47, 0x88, 0x66, 0xF5, + 0xA9, 0xEA, 0x80, 0xEC, 0xC1, 0xBD, 0xF2, 0xB9, 0xDC, 0xB7, 0x1B, 0xD1, 0x64, 0xB2, 0x02, 0x00, + 0x22, 0xED, 0xA8, 0xEE, 0x88, 0xC9, 0xEA, 0x19, 0x8F, 0x63, 0x7E, 0x0D, 0xB1, 0xB5, 0xBE, 0x4B, + 0x9F, 0x06, 0x1B, 0xFE, 0x6B, 0x42, 0xF3, 0x57, 0xF6, 0x1B, 0xFE, 0xF7, 0x84, 0x4D, 0xBC, 0x08, + 0x69, 0xF8, 0xEF, 0x14, 0xEE, 0xF8, 0x5F, 0x14, 0x2C, 0xFB, 0x7F, 0xE7, 0xD6, 0x12, 0xF9, 0xB8, + 0x7B, 0x4B, 0xF7, 0x7E, 0x7B, 0x72, 0xE3, 0x7F, 0x51, 0xB0, 0x2D, 0xEE, 0xF0, 0xEA, 0xCE, 0x47, + 0xFF, 0x13, 0x05, 0x25, 0x80, 0x7F, 0x74, 0xEE, 0xB3, 0xAA, 0x36, 0x6F, 0xF2, 0x3A, 0xAB, 0x91, + 0xF4, 0x3E, 0xAF, 0xB5, 0x9A, 0xB6, 0x4F, 0xEF, 0xF5, 0x56, 0xD3, 0xE4, 0x81, 0x5E, 0x73, 0xBD, + 0xDB, 0xDB, 0xAD, 0x75, 0xA6, 0xF2, 0x5E, 0x48, 0xBA, 0xCF, 0xCB, 0x7E, 0x8F, 0xF1, 0x8E, 0x9F, + 0xE9, 0xE4, 0xE3, 0xDF, 0xF5, 0x5B, 0x37, 0xE4, 0xF4, 0x81, 0x7D, 0xF4, 0x06, 0xB5, 0x98, 0x65, + 0xAD, 0x6A, 0x9F, 0xF5, 0x6F, 0xC1, 0xDD, 0x76, 0x73, 0x5D, 0x19, 0xBB, 0xEE, 0xC6, 0xFA, 0x4D, + 0xDD, 0xDB, 0xE3, 0x4D, 0x2E, 0xA8, 0xDD, 0x7A, 0x2F, 0x0D, 0x3A, 0xAC, 0x69, 0xF4, 0x0F, 0x50, + 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0xF3, 0x5B, 0x6C, + 0x9D, 0xC4, 0x01, 0x00, 0x00, 0xC8, 0x02, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, + 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, + 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x66, 0x69, 0x72, + 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2E, 0x6A, 0x73, + 0x65, 0x92, 0x41, 0x6F, 0xD3, 0x40, 0x10, 0x85, 0xEF, 0xF9, 0x15, 0x0F, 0x9F, 0x4A, 0xE5, 0xDA, + 0x25, 0x42, 0x42, 0xB4, 0x17, 0x4C, 0x1A, 0xC0, 0xA2, 0x38, 0x28, 0x4E, 0xA9, 0x7A, 0xAA, 0xD6, + 0xF6, 0xD8, 0x59, 0xE4, 0xEC, 0x2E, 0xBB, 0xEB, 0x98, 0x08, 0xF1, 0xDF, 0x99, 0x4D, 0x0D, 0x22, + 0xEA, 0xC9, 0x5E, 0xCF, 0x9B, 0x37, 0xDF, 0x1B, 0x6F, 0x7A, 0xFE, 0x02, 0xAD, 0xB4, 0x54, 0x09, + 0x47, 0x17, 0xA2, 0xD9, 0x49, 0x85, 0xFD, 0xDB, 0xE4, 0x75, 0x32, 0xC7, 0x79, 0x3A, 0x8B, 0x06, + 0x47, 0x70, 0xDE, 0xCA, 0xDA, 0x47, 0xD7, 0x33, 0x96, 0xCE, 0x70, 0x8E, 0x77, 0xBD, 0xAC, 0x49, + 0x39, 0x0A, 0xEF, 0x0B, 0x6D, 0x0E, 0x56, 0x76, 0x5B, 0x8F, 0xF9, 0xE5, 0xAB, 0x37, 0xF8, 0xA8, + 0x75, 0xD7, 0x13, 0x72, 0x55, 0x27, 0x5C, 0x0D, 0x82, 0xDB, 0x27, 0x6D, 0x83, 0x41, 0x35, 0x64, + 0xE1, 0xB7, 0x84, 0xCC, 0x88, 0x9A, 0x1F, 0x53, 0x25, 0xC6, 0x37, 0xB2, 0x4E, 0x6A, 0x85, 0x79, + 0x72, 0x89, 0xB3, 0x20, 0x88, 0xA6, 0x52, 0xF4, 0xF2, 0x3A, 0x58, 0x1C, 0xF4, 0x80, 0x9D, 0x38, + 0x40, 0x69, 0x0F, 0xE6, 0x61, 0x0F, 0xE9, 0x18, 0x99, 0xE7, 0xD0, 0xCF, 0x9A, 0x8C, 0x07, 0x23, + 0xD7, 0x7A, 0x67, 0x7A, 0x29, 0x54, 0x4D, 0x18, 0xA5, 0xDF, 0xB2, 0xE6, 0xDF, 0x80, 0x24, 0x78, + 0x3C, 0x4C, 0x1E, 0xBA, 0xF2, 0x82, 0xE5, 0x82, 0x1B, 0x0C, 0x9F, 0xDA, 0xFF, 0x85, 0x10, 0x7E, + 0x82, 0x06, 0xB6, 0xDE, 0x9B, 0xAB, 0x34, 0x1D, 0xC7, 0x31, 0x11, 0x47, 0xDC, 0x44, 0xDB, 0x2E, + 0x9D, 0x82, 0xBB, 0xF4, 0x36, 0x5F, 0x2C, 0x8B, 0x72, 0x79, 0xC1, 0xC8, 0x53, 0xCB, 0x9D, 0xEA, + 0xC9, 0x39, 0x58, 0xFA, 0x31, 0x48, 0xCB, 0x71, 0xAB, 0x03, 0x84, 0x31, 0xDC, 0x20, 0x2A, 0x06, + 0xED, 0xC5, 0x08, 0x6D, 0x21, 0x3A, 0x4B, 0x5C, 0xF3, 0x3A, 0x20, 0x8F, 0x56, 0x7A, 0xA9, 0xBA, + 0x18, 0x4E, 0xB7, 0x7E, 0x14, 0xF6, 0xB8, 0xCF, 0x46, 0x86, 0x6D, 0x57, 0x83, 0xFF, 0xBB, 0xB1, + 0x13, 0x40, 0xE9, 0x4E, 0x04, 0x9A, 0x83, 0x28, 0x44, 0x59, 0x89, 0xBC, 0x8C, 0xF0, 0x3E, 0x2B, + 0xF3, 0x32, 0x0E, 0x26, 0xF7, 0xF9, 0xE6, 0xD3, 0xEA, 0x6E, 0x83, 0xFB, 0x6C, 0xBD, 0xCE, 0x8A, + 0x4D, 0xBE, 0x2C, 0xB1, 0x5A, 0x63, 0xB1, 0x2A, 0x6E, 0xF2, 0x4D, 0xBE, 0x2A, 0xF8, 0xF4, 0x01, + 0x59, 0xF1, 0x80, 0xCF, 0x79, 0x71, 0x13, 0x83, 0x24, 0x8F, 0xB0, 0xBC, 0x4B, 0x63, 0x39, 0x41, + 0xC0, 0x94, 0x61, 0x97, 0xD4, 0x1C, 0x17, 0x57, 0x12, 0x9D, 0x20, 0xB4, 0xFA, 0x09, 0xC9, 0x19, + 0xAA, 0x65, 0x2B, 0x6B, 0x8E, 0xA6, 0xBA, 0x41, 0x74, 0x84, 0x4E, 0xEF, 0xC9, 0x2A, 0x4E, 0x04, + 0x43, 0x76, 0x27, 0x5D, 0xF8, 0xA7, 0x8E, 0x01, 0x9B, 0x60, 0xD3, 0xCB, 0x9D, 0xF4, 0xC2, 0x87, + 0x4F, 0xCF, 0x73, 0x85, 0x41, 0xE9, 0x6C, 0x55, 0x7D, 0xA7, 0xDA, 0x27, 0x0D, 0xB5, 0x52, 0xD1, + 0x57, 0xAB, 0xD9, 0xC5, 0x1F, 0xCE, 0x18, 0x4B, 0x5B, 0xEF, 0x62, 0x44, 0x8F, 0x8F, 0xE4, 0xBE, + 0xE8, 0x66, 0xE8, 0x29, 0x8A, 0xF1, 0x0B, 0x7B, 0xD1, 0x0F, 0x74, 0x05, 0x6F, 0x07, 0xC2, 0x6F, + 0xBE, 0x28, 0x7F, 0x00, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB7, 0x4A, + 0x48, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x00, + 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, + 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, + 0x62, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6F, 0x72, 0x65, 0x2F, 0x50, 0x4B, 0x03, 0x04, + 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0xA0, 0xF3, 0xF1, 0x19, 0xFA, 0x06, + 0x00, 0x00, 0x76, 0x13, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, + 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, + 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, + 0x6F, 0x72, 0x65, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6F, 0x72, 0x65, 0x2D, 0x69, 0x6E, + 0x74, 0x65, 0x72, 0x6E, 0x61, 0x6C, 0x2E, 0x6A, 0x73, 0xAD, 0x58, 0x59, 0x93, 0x12, 0x31, 0x10, + 0x7E, 0xF7, 0x57, 0xB4, 0xBC, 0x08, 0x0A, 0x83, 0x5A, 0x56, 0x59, 0xBA, 0x5E, 0xC8, 0xA2, 0xE2, + 0x01, 0x96, 0xAC, 0x5A, 0x3E, 0x6D, 0x85, 0x21, 0x60, 0x74, 0x48, 0xC6, 0x24, 0x03, 0xA2, 0xEE, + 0x7F, 0xF7, 0xEB, 0xB9, 0x61, 0xF0, 0x28, 0x4B, 0x6A, 0x77, 0x99, 0x49, 0xFA, 0xEE, 0x2F, 0xDD, + 0x9D, 0xED, 0x5F, 0xBD, 0x4C, 0x4B, 0x65, 0xE5, 0x5C, 0x38, 0xD9, 0x13, 0x8B, 0xB5, 0xD2, 0xB4, + 0xB9, 0x13, 0xDC, 0x0A, 0x6E, 0xD2, 0xD5, 0xFE, 0xA5, 0x56, 0xE2, 0x24, 0x39, 0x6F, 0x55, 0xE8, + 0x5B, 0x27, 0x97, 0x40, 0x7A, 0x89, 0xAE, 0xD2, 0xA3, 0x48, 0x85, 0x52, 0x3B, 0xC9, 0xCF, 0x43, + 0x13, 0xEF, 0xAC, 0x5A, 0x7D, 0xF4, 0x74, 0xF3, 0xFA, 0x8D, 0xDB, 0xF4, 0xD4, 0x98, 0x55, 0x24, + 0x69, 0xAC, 0xC3, 0x00, 0xBB, 0x4C, 0xF0, 0x32, 0xA3, 0x5D, 0x50, 0xA2, 0x17, 0xD2, 0x92, 0xFF, + 0x28, 0x69, 0x10, 0x8B, 0x10, 0x5F, 0xF9, 0x4E, 0x97, 0xDE, 0x49, 0xEB, 0x94, 0xD1, 0x74, 0x33, + 0xB8, 0x4E, 0x6D, 0x26, 0x68, 0xE5, 0x5B, 0xAD, 0xCE, 0x09, 0x8B, 0xD8, 0x99, 0x84, 0xD6, 0x62, + 0x47, 0xDA, 0x78, 0x82, 0x3D, 0x90, 0xA1, 0x1C, 0x4C, 0x86, 0x1E, 0xF9, 0x35, 0x94, 0xB1, 0x27, + 0x98, 0x1C, 0x9A, 0x75, 0x1C, 0x29, 0xA1, 0x43, 0x49, 0x5B, 0xE5, 0x3F, 0x82, 0xA6, 0x54, 0x10, + 0xB0, 0x8C, 0x0F, 0xB9, 0x0C, 0x33, 0xF7, 0x02, 0xE4, 0x02, 0x0C, 0x31, 0xDE, 0x96, 0x75, 0x42, + 0x12, 0x3E, 0x37, 0x9A, 0xE8, 0xA3, 0xF7, 0xF1, 0xDD, 0x7E, 0x7F, 0xBB, 0xDD, 0x06, 0x22, 0x35, + 0x37, 0x30, 0x76, 0xD5, 0xCF, 0x1D, 0x77, 0xFD, 0x97, 0xE3, 0xE1, 0x68, 0x32, 0x1B, 0xF5, 0x60, + 0x72, 0xCE, 0xF2, 0x56, 0x47, 0xD2, 0x39, 0xB2, 0xF2, 0x4B, 0xA2, 0x2C, 0xDC, 0x9D, 0xEF, 0x48, + 0xC4, 0x31, 0x18, 0xC4, 0x1C, 0x86, 0x46, 0x62, 0x4B, 0xC6, 0x92, 0x58, 0x59, 0x89, 0x3D, 0x6F, + 0xD8, 0xE4, 0xAD, 0x55, 0x5E, 0xE9, 0x55, 0x97, 0x9C, 0x59, 0xFA, 0xAD, 0xB0, 0x69, 0x3C, 0x17, + 0x8A, 0xA3, 0x3D, 0x4F, 0x7C, 0x11, 0xB1, 0x3D, 0x03, 0x95, 0xDB, 0x23, 0x30, 0x70, 0x44, 0x53, + 0x6B, 0x30, 0xA3, 0xF1, 0xAC, 0x45, 0x8F, 0x07, 0xB3, 0xF1, 0xAC, 0xCB, 0x42, 0xDE, 0x8F, 0xCF, + 0x9E, 0x4D, 0xDF, 0x9E, 0xD1, 0xFB, 0xC1, 0x9B, 0x37, 0x83, 0xC9, 0xD9, 0x78, 0x34, 0xA3, 0xE9, + 0x1B, 0x1A, 0x4E, 0x27, 0xA7, 0xE3, 0xB3, 0xF1, 0x74, 0x82, 0xB7, 0x27, 0x34, 0x98, 0x7C, 0xA0, + 0x17, 0xE3, 0xC9, 0x69, 0x97, 0xA4, 0x82, 0x0A, 0x8B, 0x58, 0xC6, 0x16, 0x1E, 0xB0, 0x99, 0x8A, + 0x63, 0x29, 0x17, 0x69, 0xE0, 0x66, 0x52, 0xEE, 0x99, 0xB0, 0x34, 0x99, 0x49, 0x2E, 0x96, 0xA1, + 0x5A, 0xAA, 0x10, 0xAE, 0xE9, 0x55, 0x22, 0x56, 0x92, 0x56, 0x66, 0x23, 0xAD, 0x86, 0x47, 0x14, + 0x4B, 0xBB, 0x56, 0x8E, 0x73, 0xEA, 0x60, 0xE0, 0x82, 0xC5, 0x44, 0x6A, 0xAD, 0xBC, 0xF0, 0xBC, + 0xD4, 0xF4, 0x8B, 0x15, 0xF5, 0x2F, 0x4D, 0xE7, 0x9F, 0x64, 0xE8, 0x83, 0x85, 0x5C, 0x2A, 0x2D, + 0x5F, 0x5B, 0x03, 0x29, 0x7E, 0xD7, 0x86, 0x59, 0xC6, 0x7A, 0xD7, 0xA5, 0xD6, 0xF9, 0xB9, 0x74, + 0xAF, 0xCC, 0x22, 0x89, 0x64, 0xAB, 0x4B, 0xDF, 0x69, 0x23, 0xA2, 0x44, 0xDE, 0x25, 0x6F, 0x13, + 0x49, 0x17, 0x00, 0x4A, 0x4E, 0x18, 0xAC, 0xA4, 0x7F, 0xA2, 0xE0, 0x89, 0x37, 0x56, 0x4E, 0xE3, + 0x4C, 0xE3, 0x7D, 0x2A, 0x76, 0xCB, 0xAD, 0x99, 0xB4, 0x1B, 0x68, 0xC7, 0xD6, 0xC6, 0xA8, 0x05, + 0x5D, 0x3F, 0xB9, 0xB4, 0x11, 0x08, 0x82, 0xB5, 0xC6, 0x9E, 0xDF, 0xC0, 0x6A, 0x9E, 0xC8, 0x76, + 0x2B, 0x08, 0xFA, 0x89, 0x57, 0x91, 0xEB, 0xA7, 0x7B, 0xAD, 0x4E, 0x46, 0x18, 0x22, 0xC7, 0x52, + 0x7B, 0x25, 0xA2, 0x73, 0xA5, 0x3D, 0xFC, 0xC6, 0xC3, 0x21, 0x5B, 0x45, 0x53, 0x7B, 0xEC, 0x15, + 0xE4, 0xB9, 0x24, 0xF6, 0x43, 0x2D, 0x04, 0x4C, 0x3A, 0xAA, 0xB4, 0xDC, 0x2D, 0xC8, 0xD3, 0xE5, + 0xA3, 0xA4, 0x0A, 0x61, 0xFD, 0xCA, 0x64, 0xFD, 0xAB, 0x29, 0x22, 0xC7, 0xB9, 0x22, 0xC7, 0x30, + 0x17, 0x54, 0x7A, 0x0E, 0xEC, 0x39, 0x8F, 0x93, 0x92, 0x85, 0x9D, 0x85, 0x56, 0x7B, 0x39, 0x4F, + 0xAA, 0x01, 0x62, 0xE8, 0x51, 0x18, 0x09, 0xE7, 0x40, 0x46, 0xED, 0x65, 0xA2, 0x43, 0x8E, 0x26, + 0xB5, 0x3B, 0xF4, 0xFD, 0x12, 0xE1, 0x53, 0xAE, 0x34, 0xD9, 0x4B, 0x9A, 0x0B, 0xFE, 0xCB, 0xA2, + 0xD2, 0x6F, 0x58, 0x75, 0x2A, 0x23, 0xE9, 0xA5, 0xCB, 0x30, 0x94, 0xE5, 0x80, 0x31, 0x42, 0xCA, + 0x3B, 0x82, 0x2A, 0x13, 0x2A, 0xC1, 0xD0, 0x86, 0x40, 0x93, 0xD8, 0x50, 0xBA, 0x20, 0x63, 0x2C, + 0xF9, 0x1F, 0x59, 0xE9, 0x13, 0xAB, 0xE9, 0x3B, 0x10, 0x02, 0x90, 0xC9, 0x7B, 0xED, 0xCE, 0x83, + 0x0B, 0x1A, 0x68, 0x92, 0xEB, 0xD8, 0xEF, 0x28, 0x5F, 0x85, 0x78, 0xE1, 0x51, 0x09, 0xA2, 0x88, + 0xE6, 0x12, 0x86, 0x46, 0x4B, 0x3C, 0x42, 0xEC, 0xF6, 0xA3, 0xD4, 0x35, 0xD5, 0xD9, 0x89, 0x4A, + 0x2D, 0x5A, 0x14, 0x8A, 0xFA, 0xE9, 0x77, 0xD3, 0xA5, 0x20, 0xB6, 0xC6, 0x1B, 0xBF, 0x8B, 0x65, + 0x90, 0x71, 0x20, 0x44, 0xCD, 0x98, 0xA4, 0xDE, 0xF6, 0xE9, 0x0C, 0x27, 0x0A, 0x7E, 0xE1, 0x57, + 0x9B, 0xCA, 0x17, 0x3E, 0xF8, 0x61, 0x24, 0x71, 0x66, 0x93, 0x38, 0x28, 0xC9, 0x33, 0x87, 0x0A, + 0xCB, 0x03, 0xA6, 0x8E, 0x36, 0xB2, 0xDD, 0x39, 0xC9, 0x02, 0x88, 0xAF, 0x8A, 0xA8, 0x69, 0xD6, + 0xC9, 0xA5, 0x8B, 0x76, 0x27, 0xC7, 0xC6, 0x21, 0xB8, 0xFF, 0x2D, 0x89, 0x39, 0x73, 0x1B, 0xE5, + 0xAB, 0xE6, 0x55, 0x5A, 0x75, 0x83, 0xF1, 0xE4, 0x6C, 0xF4, 0x66, 0x32, 0x78, 0x09, 0xC9, 0x5A, + 0x6E, 0x8F, 0x26, 0xFE, 0x64, 0x9F, 0x63, 0x59, 0x90, 0x0C, 0x23, 0x85, 0x13, 0x00, 0x46, 0xA5, + 0x55, 0x79, 0x42, 0x53, 0x2D, 0x87, 0x2C, 0x58, 0x2A, 0xE4, 0x81, 0x1C, 0x6F, 0x27, 0x35, 0x28, + 0x1D, 0xAF, 0x12, 0x87, 0xC6, 0x57, 0xC9, 0x42, 0xE1, 0x80, 0x84, 0x56, 0xB7, 0xF4, 0xA4, 0x42, + 0x63, 0x8E, 0xA8, 0x37, 0x69, 0x68, 0x33, 0x44, 0x82, 0xB4, 0x86, 0xC2, 0xA2, 0x95, 0x00, 0x24, + 0x33, 0x08, 0x17, 0xAB, 0xBD, 0xB3, 0x53, 0x7C, 0x32, 0x61, 0x87, 0xF0, 0x7C, 0x92, 0xB7, 0xD4, + 0x41, 0x1C, 0x5F, 0xD0, 0xD9, 0xBF, 0x8A, 0xEE, 0x97, 0xCF, 0x28, 0x6B, 0x77, 0x7F, 0x81, 0xB7, + 0x0A, 0x1F, 0x8D, 0xF8, 0x55, 0x91, 0xBD, 0xE8, 0x96, 0x8F, 0x52, 0x27, 0x6B, 0x69, 0xB9, 0x2F, + 0x41, 0x22, 0x72, 0x26, 0xAB, 0xAD, 0xD0, 0xE8, 0xA5, 0x5A, 0x25, 0xBC, 0x99, 0xD7, 0x56, 0xDE, + 0xE2, 0xFA, 0xFA, 0xAF, 0xC1, 0x0F, 0xD3, 0xB4, 0x73, 0xFC, 0xFF, 0xC5, 0x95, 0x03, 0xF4, 0xFC, + 0x67, 0x77, 0x72, 0x4D, 0x87, 0xF6, 0x17, 0x47, 0xEA, 0x37, 0x3D, 0xA3, 0xC9, 0x52, 0xFA, 0x73, + 0xA4, 0xFF, 0xD4, 0x8F, 0x92, 0x5A, 0x52, 0xFB, 0x72, 0x59, 0xD5, 0x03, 0xE5, 0x26, 0x46, 0x4F, + 0x92, 0x28, 0xCA, 0x42, 0x9B, 0x51, 0xFE, 0xF8, 0x41, 0x97, 0xDB, 0x57, 0x4C, 0xC6, 0x7C, 0x85, + 0x67, 0x05, 0x5E, 0xDE, 0x3F, 0x8C, 0xD6, 0x6C, 0xF9, 0x08, 0x16, 0x1D, 0x2B, 0x28, 0xF0, 0x56, + 0xEA, 0x1E, 0xF1, 0x46, 0x3B, 0x63, 0xA9, 0xE2, 0xB1, 0x40, 0x1C, 0xAE, 0x28, 0x9D, 0x1A, 0xD0, + 0x13, 0x76, 0x95, 0xAC, 0x11, 0xD6, 0x2B, 0xDD, 0x3D, 0xAA, 0x35, 0xC6, 0x00, 0xB1, 0x62, 0x42, + 0x08, 0x73, 0x9E, 0x0A, 0x32, 0x8A, 0x81, 0xDF, 0x6C, 0x7C, 0x49, 0xE7, 0xC4, 0x2A, 0x3B, 0xC8, + 0xE1, 0x3A, 0x01, 0xE5, 0x1C, 0x30, 0xCF, 0x1A, 0x1A, 0x15, 0xF6, 0xB0, 0xE9, 0x15, 0xB4, 0x73, + 0x4D, 0x45, 0x12, 0xAA, 0x63, 0xCD, 0xE5, 0x0B, 0xB0, 0xE1, 0x18, 0x8C, 0x17, 0x74, 0x3F, 0x6D, + 0x73, 0x69, 0x2F, 0x1F, 0x7D, 0xE5, 0x21, 0x4A, 0xF9, 0xD7, 0xC5, 0x66, 0xAD, 0x62, 0xD4, 0x1B, + 0x71, 0x51, 0x2B, 0x82, 0x3C, 0x6C, 0x41, 0xB5, 0x01, 0xE2, 0xAC, 0x2A, 0x4B, 0x17, 0xA1, 0xFB, + 0xF6, 0x30, 0x42, 0x31, 0x20, 0x7A, 0x5A, 0x7E, 0xF5, 0x3D, 0xAC, 0x48, 0x7A, 0xC4, 0x60, 0x75, + 0xA1, 0x55, 0xB1, 0xEF, 0x65, 0x44, 0x7D, 0x6D, 0x7A, 0x10, 0xDF, 0xCB, 0xDB, 0xAC, 0x2B, 0xF4, + 0x95, 0xA3, 0x72, 0x31, 0xB4, 0x56, 0x9D, 0xF8, 0x0A, 0x3A, 0x31, 0x7E, 0x30, 0x2D, 0x7E, 0x46, + 0xF4, 0x82, 0x4F, 0xCE, 0xE8, 0x2B, 0x9D, 0x60, 0x93, 0xD1, 0x9D, 0x94, 0xC9, 0xAF, 0xEC, 0x2A, + 0xC3, 0x62, 0x96, 0xC7, 0xE7, 0x89, 0x20, 0x47, 0xD7, 0x20, 0x0C, 0x4D, 0xA2, 0xFD, 0xB0, 0xA4, + 0x29, 0xA1, 0x50, 0x81, 0xF8, 0x20, 0xD1, 0x25, 0xA9, 0xBB, 0x5B, 0x6E, 0x55, 0x9F, 0xD8, 0xAA, + 0x0D, 0xAA, 0xD0, 0xF9, 0x67, 0xB9, 0xBB, 0x5B, 0xA3, 0x0D, 0xF2, 0xF5, 0x17, 0x72, 0xD7, 0x6D, + 0xF0, 0x64, 0x07, 0xF9, 0x5C, 0xAE, 0x85, 0x8A, 0xF6, 0x98, 0xB2, 0x8D, 0x11, 0xAF, 0xE7, 0x5C, + 0xCD, 0x33, 0x9A, 0x27, 0xE0, 0x7D, 0xD1, 0x7E, 0x67, 0xA7, 0x2F, 0xD0, 0x7A, 0xB9, 0x15, 0xB0, + 0x08, 0xF5, 0xAD, 0x28, 0x88, 0xBF, 0x72, 0xD8, 0xF1, 0xA0, 0x2B, 0x73, 0x28, 0x54, 0x40, 0x81, + 0x8C, 0x43, 0x15, 0x98, 0x45, 0xAD, 0x40, 0x04, 0x53, 0x9C, 0xA6, 0x80, 0xDC, 0xC0, 0x30, 0xCE, + 0x77, 0x50, 0x27, 0xAD, 0x64, 0xDC, 0xAD, 0x1E, 0xF7, 0xEC, 0x3D, 0xCC, 0xF4, 0xDD, 0xC3, 0x85, + 0x1A, 0x94, 0xEB, 0x48, 0x96, 0xA8, 0x40, 0x65, 0xA2, 0x9B, 0x29, 0x55, 0x6E, 0x90, 0x5D, 0x0B, + 0x18, 0xA5, 0xA7, 0x72, 0x29, 0x92, 0xC8, 0xB7, 0x8F, 0xE3, 0xB6, 0x73, 0x38, 0x54, 0xD8, 0x1D, + 0x7C, 0xCA, 0xAF, 0x40, 0xB2, 0xB8, 0x6B, 0x89, 0x4A, 0x1C, 0x2D, 0x32, 0x79, 0xF5, 0xF4, 0x07, + 0x75, 0x09, 0xE3, 0xE5, 0xB1, 0x38, 0xD2, 0xF8, 0x14, 0x81, 0xE4, 0xEB, 0x55, 0x15, 0xAC, 0x2E, + 0x61, 0xC4, 0xA9, 0xCA, 0x5C, 0x9E, 0x7D, 0xBE, 0x7D, 0x84, 0x3C, 0xE6, 0xE3, 0xEA, 0x81, 0xB1, + 0x0A, 0x13, 0x0B, 0x5B, 0x52, 0xD7, 0x20, 0xF5, 0x46, 0x59, 0xA3, 0xB9, 0x5C, 0x04, 0x68, 0x7B, + 0x10, 0x8B, 0x5B, 0xC5, 0x06, 0x6F, 0x69, 0x7F, 0x65, 0xDB, 0xAD, 0xCB, 0x18, 0x3F, 0x8A, 0x0D, + 0xEE, 0x0A, 0xEC, 0x90, 0x83, 0xA6, 0xA7, 0xD3, 0xE9, 0xD3, 0x97, 0xA3, 0xF3, 0xE1, 0xCB, 0xE9, + 0xDB, 0xD3, 0xF3, 0xD7, 0x6F, 0xA6, 0xCF, 0x47, 0xC3, 0x33, 0x2E, 0x7C, 0x4F, 0x87, 0xAF, 0xC9, + 0x26, 0x70, 0x05, 0x45, 0xA9, 0x31, 0x32, 0x1D, 0x94, 0xD1, 0x11, 0x4F, 0x80, 0x33, 0x6F, 0x21, + 0xB6, 0x5D, 0xE6, 0xB4, 0x43, 0x0F, 0xE9, 0xFB, 0xF1, 0x6C, 0xFF, 0x31, 0xC3, 0x74, 0x41, 0x38, + 0x3D, 0x7F, 0x41, 0x56, 0xE4, 0xFF, 0x1F, 0x4B, 0xF3, 0x41, 0x59, 0xAE, 0xB2, 0xC7, 0xE5, 0xB2, + 0x59, 0x94, 0x91, 0xA2, 0x14, 0xDD, 0xD5, 0xF1, 0x29, 0xC1, 0x30, 0x8C, 0x4C, 0xB2, 0x68, 0xA4, + 0xAD, 0xBC, 0x12, 0x57, 0xF9, 0xDD, 0x83, 0x08, 0x5D, 0xA1, 0x6B, 0x7B, 0xD0, 0xBF, 0xF2, 0x8A, + 0xAB, 0x79, 0x25, 0xBE, 0x38, 0xB3, 0xA9, 0x20, 0xBE, 0x3C, 0xA3, 0xEF, 0xAB, 0x25, 0xA3, 0xAE, + 0x2E, 0x08, 0x57, 0xC7, 0x3F, 0xA1, 0xB1, 0xA9, 0x29, 0x05, 0x74, 0xD3, 0xF0, 0xC1, 0xEB, 0x31, + 0x9A, 0x45, 0xD9, 0xAD, 0x2F, 0xFE, 0x70, 0xBD, 0x3B, 0xB2, 0x5A, 0xB5, 0xE4, 0x23, 0x13, 0x27, + 0x7D, 0x2F, 0x0B, 0xBA, 0xF9, 0x9D, 0x90, 0x83, 0x66, 0x53, 0x36, 0xBC, 0x53, 0xE1, 0x05, 0xA7, + 0x34, 0xDB, 0xF2, 0x76, 0xB7, 0x7F, 0x52, 0x5F, 0x8A, 0x6F, 0xBB, 0x5E, 0x64, 0xC4, 0x22, 0x0D, + 0x5C, 0x29, 0x34, 0xBD, 0x58, 0x4B, 0x3E, 0x1B, 0x59, 0x80, 0xF8, 0x92, 0xD0, 0xC5, 0x9D, 0x44, + 0x85, 0x1F, 0x19, 0xEB, 0xD9, 0x18, 0xCA, 0x6C, 0x8E, 0x56, 0x6F, 0x5E, 0x0F, 0x4B, 0xBC, 0x37, + 0xF5, 0xD6, 0xDB, 0xCE, 0xA3, 0x55, 0x9A, 0xFB, 0x5E, 0xC8, 0x21, 0xEC, 0x97, 0xA4, 0xE8, 0x3D, + 0xA5, 0xE2, 0x3A, 0x3E, 0x91, 0x1C, 0xA8, 0x6B, 0x03, 0x9C, 0xFF, 0x6F, 0xA0, 0x48, 0x6F, 0xFB, + 0x7A, 0xD5, 0x5B, 0xC8, 0x58, 0x6A, 0xE4, 0x3A, 0x54, 0xD2, 0xE5, 0xD9, 0xFB, 0x2D, 0x7E, 0xD7, + 0x9C, 0x53, 0xE8, 0xFE, 0x25, 0x70, 0x23, 0x35, 0xB7, 0xC2, 0xEE, 0xD2, 0xFF, 0x3A, 0x4C, 0xA0, + 0x2B, 0xF8, 0xC4, 0x68, 0x6D, 0xF4, 0xA6, 0x6B, 0x40, 0xAC, 0xF8, 0x8C, 0x5B, 0x5D, 0x02, 0x56, + 0x08, 0x4E, 0x1B, 0x6B, 0x14, 0xA5, 0x92, 0x5B, 0xBF, 0x88, 0x4F, 0x8B, 0x74, 0xBC, 0xA6, 0xBC, + 0x5B, 0x1F, 0x17, 0xDA, 0x6E, 0x4D, 0xF1, 0xBF, 0x2D, 0x85, 0xC2, 0x9D, 0x45, 0xE5, 0x2E, 0xB5, + 0xB0, 0xCA, 0x91, 0x3B, 0x36, 0xC6, 0x54, 0x85, 0x89, 0xE3, 0xD8, 0xCC, 0x59, 0x3B, 0x47, 0x5A, + 0x0A, 0xE7, 0x9F, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, + 0x0B, 0xDA, 0x8E, 0xA4, 0xB9, 0x28, 0x03, 0x00, 0x00, 0xDC, 0x09, 0x00, 0x00, 0x34, 0x00, 0x00, + 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, + 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, + 0x2F, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6F, 0x72, 0x65, 0x2F, 0x69, 0x6E, 0x64, 0x65, 0x78, + 0x2E, 0x64, 0x2E, 0x74, 0x73, 0x8D, 0x55, 0x5F, 0x4F, 0xDB, 0x30, 0x10, 0x7F, 0xEF, 0xA7, 0xB8, + 0xF1, 0x32, 0x40, 0x90, 0x00, 0xDA, 0xCB, 0x40, 0xD3, 0x56, 0xCA, 0x9F, 0x45, 0x43, 0x2D, 0x6B, + 0x0A, 0x88, 0xA7, 0xC9, 0x4D, 0xAE, 0xA9, 0xB5, 0xC4, 0xF6, 0x6C, 0x87, 0x52, 0x21, 0xBE, 0xFB, + 0xCE, 0x21, 0xB4, 0x4D, 0xEA, 0x56, 0xF4, 0xA5, 0xED, 0xFD, 0xFE, 0xF8, 0x77, 0x97, 0xAB, 0x1B, + 0xEE, 0x7F, 0x82, 0x09, 0xD7, 0x38, 0x66, 0x06, 0x0F, 0x59, 0x5A, 0x70, 0x01, 0x4F, 0x5F, 0x83, + 0x2F, 0xC1, 0x09, 0xEC, 0x87, 0x1D, 0x02, 0x3B, 0xB0, 0x0F, 0x3D, 0xA9, 0xE6, 0x9A, 0x67, 0x53, + 0x0B, 0x27, 0x47, 0x27, 0x47, 0x70, 0x2D, 0x65, 0x96, 0x23, 0x44, 0x22, 0x09, 0x08, 0x75, 0x84, + 0x1B, 0x9E, 0xA0, 0x30, 0x98, 0x42, 0x29, 0x52, 0xD4, 0x60, 0xA7, 0x08, 0x5D, 0xC5, 0x12, 0x7A, + 0xAB, 0x91, 0x03, 0xB8, 0x47, 0x6D, 0xB8, 0x14, 0x70, 0x12, 0x1C, 0xC1, 0xAE, 0x23, 0xEC, 0xD4, + 0xD0, 0xCE, 0xDE, 0x99, 0xB3, 0x98, 0xCB, 0x12, 0x0A, 0x36, 0x07, 0x21, 0x2D, 0x94, 0x06, 0xC9, + 0x83, 0x1B, 0x0A, 0x46, 0xE7, 0xE0, 0x73, 0x82, 0xCA, 0x02, 0x05, 0x4B, 0x64, 0xA1, 0x72, 0xCE, + 0x44, 0x82, 0x30, 0xE3, 0x76, 0x4A, 0x9C, 0xC5, 0x01, 0x81, 0xF3, 0x78, 0xAC, 0x3D, 0xE4, 0xD8, + 0x32, 0xA2, 0x33, 0x12, 0x28, 0xFA, 0x36, 0x59, 0x25, 0x02, 0xB3, 0x75, 0x68, 0x80, 0xA9, 0xB5, + 0xEA, 0x34, 0x0C, 0x67, 0xB3, 0x59, 0xC0, 0xAA, 0xB8, 0x81, 0xD4, 0x59, 0x98, 0xBF, 0x11, 0x4D, + 0x78, 0x13, 0xF5, 0x2E, 0xFB, 0xF1, 0xE5, 0x21, 0x45, 0xAE, 0x25, 0x77, 0x22, 0x47, 0x63, 0x40, + 0xE3, 0xBF, 0x92, 0x6B, 0x6A, 0x77, 0x3C, 0x07, 0xA6, 0x14, 0x09, 0xD8, 0x98, 0x82, 0xE6, 0x6C, + 0x06, 0x52, 0x03, 0xCB, 0x34, 0x12, 0x66, 0xA5, 0x8B, 0x3C, 0xD3, 0xDC, 0x72, 0x91, 0x1D, 0x80, + 0x91, 0x13, 0x3B, 0x63, 0x1A, 0x9D, 0x4D, 0xCA, 0x8D, 0xD5, 0x7C, 0x5C, 0xDA, 0xF7, 0x89, 0x35, + 0x02, 0x72, 0xD3, 0x20, 0x48, 0x6A, 0x44, 0xC0, 0x4E, 0x37, 0x86, 0x28, 0xDE, 0x81, 0xF3, 0x6E, + 0x1C, 0xC5, 0x07, 0xCE, 0xE4, 0x21, 0x1A, 0xFD, 0x1C, 0xDC, 0x8D, 0xE0, 0xA1, 0x3B, 0x1C, 0x76, + 0xFB, 0xA3, 0xE8, 0x32, 0x86, 0xC1, 0x10, 0x7A, 0x83, 0xFE, 0x45, 0x34, 0x8A, 0x06, 0x7D, 0xFA, + 0x76, 0x05, 0xDD, 0xFE, 0x23, 0xFC, 0x8A, 0xFA, 0x17, 0x07, 0x80, 0x9C, 0x8E, 0xD0, 0x34, 0x4B, + 0xA5, 0xA9, 0x03, 0x17, 0x93, 0xBB, 0x59, 0x62, 0x5A, 0x0D, 0x2E, 0x46, 0x6C, 0x44, 0x98, 0xC8, + 0xB7, 0x48, 0x46, 0x61, 0xC2, 0x27, 0x3C, 0xA1, 0xD6, 0x44, 0x56, 0xB2, 0x0C, 0x21, 0x93, 0x4F, + 0xA8, 0x05, 0x75, 0x04, 0x0A, 0x75, 0xC1, 0x8D, 0x7B, 0xA6, 0x86, 0x02, 0xA6, 0xCE, 0x26, 0xE7, + 0x05, 0xB7, 0xCC, 0xBA, 0xD2, 0x7A, 0x5F, 0xEE, 0xA0, 0xB0, 0x43, 0xA7, 0x4A, 0x6D, 0xE1, 0xC5, + 0xCD, 0x0D, 0x5E, 0x61, 0xA2, 0x65, 0x01, 0x9F, 0x83, 0x20, 0x5C, 0xAC, 0xA0, 0x60, 0x05, 0x1A, + 0x7A, 0x18, 0xB4, 0x8C, 0x8A, 0x7F, 0x3E, 0xAB, 0x05, 0x64, 0xCE, 0x0C, 0xFC, 0x71, 0x2C, 0x63, + 0xA5, 0xC6, 0x5A, 0xF8, 0x23, 0xAB, 0x56, 0xF1, 0x30, 0xC9, 0x65, 0x99, 0x86, 0x0B, 0x94, 0x64, + 0xF8, 0x5C, 0xC9, 0x52, 0x4C, 0x72, 0xE6, 0xE8, 0xA5, 0x48, 0x5C, 0x2E, 0x58, 0x70, 0x76, 0x29, + 0xC0, 0xF7, 0x53, 0x17, 0x23, 0xE8, 0x2A, 0xB5, 0x77, 0xBA, 0x62, 0x1E, 0x5C, 0xBD, 0x7F, 0x5A, + 0xF3, 0x59, 0xA4, 0x5B, 0x1A, 0xC1, 0x4B, 0x07, 0xE8, 0x55, 0x13, 0xEB, 0xB8, 0x4F, 0xC7, 0x63, + 0xB4, 0xEC, 0x18, 0xBE, 0xAD, 0xDA, 0xD6, 0xC5, 0x33, 0x1F, 0xBF, 0x4D, 0xF5, 0xB2, 0xCE, 0xCB, + 0xFC, 0xEF, 0x03, 0x2D, 0x14, 0xEA, 0x26, 0x7B, 0x59, 0xDF, 0xAE, 0x1A, 0xA8, 0xEA, 0xD9, 0x34, + 0xC5, 0x6B, 0xB0, 0xCF, 0xA3, 0x27, 0xF3, 0x1C, 0xAB, 0x09, 0x5E, 0x6B, 0x59, 0xAA, 0xA6, 0x43, + 0x0B, 0xDC, 0xAE, 0x1F, 0xE2, 0x04, 0x35, 0xD2, 0x4F, 0xB8, 0xE5, 0xB1, 0x4E, 0xF0, 0xF9, 0x5C, + 0xC8, 0xA4, 0x2C, 0x50, 0xD8, 0xDE, 0x94, 0x16, 0x12, 0x47, 0x73, 0xD5, 0xB2, 0x59, 0xC3, 0xB7, + 0xBA, 0x5C, 0x30, 0xCB, 0xDA, 0xFA, 0x25, 0xB2, 0x4D, 0xB9, 0xA1, 0x8B, 0x77, 0xF8, 0x43, 0x3D, + 0xC4, 0x82, 0x29, 0x33, 0x95, 0xB6, 0x69, 0xD1, 0x46, 0x7D, 0x0E, 0x57, 0x1C, 0xF3, 0xF4, 0x96, + 0xD9, 0x69, 0x53, 0xBA, 0x28, 0x6F, 0xD4, 0xDC, 0xB3, 0xBC, 0x6C, 0x45, 0x5E, 0xD6, 0xBD, 0xAA, + 0x9A, 0xD7, 0x16, 0xD5, 0x9F, 0xB6, 0x6B, 0xDC, 0x10, 0x7B, 0x52, 0xD0, 0x85, 0xB1, 0xB6, 0xB1, + 0x7E, 0x8E, 0xCF, 0xED, 0x1A, 0xE5, 0xAD, 0xE4, 0xA2, 0x35, 0xA5, 0xF7, 0xAA, 0x57, 0xA1, 0x55, + 0x12, 0xD3, 0x35, 0x54, 0xB6, 0x16, 0x7D, 0x59, 0xF7, 0xA9, 0x6E, 0x35, 0x26, 0x52, 0xA4, 0xDC, + 0xAD, 0x60, 0x53, 0xB7, 0x8A, 0xF8, 0x94, 0xBF, 0x4B, 0xD4, 0xF3, 0xA6, 0xA4, 0x2A, 0x6D, 0xE4, + 0xB6, 0x1F, 0xB1, 0x47, 0xFB, 0x91, 0x2D, 0xA8, 0x88, 0xB7, 0x4C, 0x5B, 0x4F, 0xE6, 0x26, 0xB6, + 0x51, 0xBD, 0x25, 0xC1, 0xB6, 0x93, 0x87, 0xC8, 0x52, 0xEF, 0x5D, 0xB2, 0x02, 0xF8, 0x74, 0x31, + 0x5A, 0xF7, 0x67, 0xD8, 0x12, 0xD5, 0x55, 0xAF, 0x62, 0xC4, 0x0B, 0x62, 0xB1, 0xA2, 0x75, 0xE3, + 0x2C, 0xCA, 0x5E, 0x8D, 0x66, 0xC2, 0xB0, 0x64, 0x7D, 0x28, 0x2B, 0x80, 0x4F, 0x77, 0xA7, 0x52, + 0x66, 0x71, 0xFD, 0x4E, 0x58, 0xD6, 0x7D, 0xAA, 0xEA, 0xEA, 0x3C, 0x67, 0x36, 0x69, 0xFD, 0x18, + 0x97, 0xF5, 0x8D, 0xAA, 0x21, 0x9A, 0x32, 0x6F, 0xCD, 0x7E, 0x05, 0xF0, 0xE9, 0x0C, 0xDA, 0x1B, + 0x99, 0x5D, 0x95, 0xC2, 0xD3, 0xDE, 0x02, 0xAB, 0x3B, 0x7C, 0xED, 0xFC, 0x07, 0x50, 0x4B, 0x03, + 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x87, 0x09, 0xC6, 0x0B, 0x3A, + 0x03, 0x00, 0x00, 0x86, 0x08, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, + 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, + 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x73, + 0x74, 0x6F, 0x72, 0x65, 0x2F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x2E, 0x6A, 0x73, 0x8D, 0x54, 0xDB, + 0x6E, 0xD3, 0x40, 0x10, 0x7D, 0xCF, 0x57, 0x0C, 0x7E, 0x4A, 0x50, 0x62, 0x97, 0x82, 0x90, 0x20, + 0x42, 0x22, 0xF4, 0x86, 0x45, 0x49, 0x4A, 0x1C, 0xA8, 0x78, 0xAA, 0x36, 0xF6, 0xC4, 0x59, 0xB0, + 0x77, 0xCD, 0x5E, 0x12, 0xA2, 0xD2, 0x7F, 0x67, 0xD6, 0x71, 0x13, 0xEA, 0x4D, 0x81, 0xBE, 0xD4, + 0x99, 0x39, 0xE7, 0xCC, 0x99, 0xD9, 0xD9, 0x8D, 0x9E, 0x3E, 0x81, 0x05, 0x57, 0x38, 0x67, 0x1A, + 0x07, 0x2C, 0x2B, 0xB9, 0x80, 0xD5, 0xAB, 0xF0, 0x45, 0x78, 0x0C, 0x4F, 0xA3, 0x4E, 0x60, 0x35, + 0x82, 0x36, 0x8A, 0xA7, 0x26, 0x18, 0x76, 0x08, 0xDA, 0x81, 0xA7, 0x70, 0x22, 0xAB, 0x8D, 0xE2, + 0xF9, 0xD2, 0xC0, 0xF1, 0xD1, 0xF1, 0x11, 0x5C, 0x48, 0x99, 0x17, 0x08, 0xB1, 0x48, 0x43, 0xCA, + 0x3A, 0xC0, 0x25, 0x4F, 0x51, 0x68, 0xCC, 0xC0, 0x8A, 0x0C, 0x15, 0x98, 0x25, 0xC2, 0xA8, 0x62, + 0x29, 0xFD, 0x6B, 0x32, 0x7D, 0xF8, 0x82, 0x4A, 0x73, 0x29, 0xE0, 0x38, 0x3C, 0x82, 0xAE, 0x03, + 0x04, 0x4D, 0x2A, 0xE8, 0x0D, 0x9D, 0xC4, 0x46, 0x5A, 0x28, 0xD9, 0x06, 0x84, 0x34, 0x40, 0x1E, + 0x48, 0x83, 0x6B, 0xB2, 0x49, 0x75, 0xF0, 0x67, 0x8A, 0x95, 0x01, 0xB2, 0x99, 0xCA, 0xB2, 0x2A, + 0x38, 0x13, 0x29, 0xC2, 0x9A, 0x9B, 0x25, 0x61, 0x76, 0x05, 0x42, 0xA7, 0xF1, 0xB5, 0xD1, 0x90, + 0x73, 0xC3, 0x08, 0xCE, 0x88, 0x50, 0xD1, 0xAF, 0xC5, 0x9F, 0x40, 0x60, 0xA6, 0x31, 0x0D, 0xB0, + 0x34, 0xA6, 0x7A, 0x1D, 0x45, 0xEB, 0xF5, 0x3A, 0x64, 0xB5, 0xDD, 0x50, 0xAA, 0x3C, 0x2A, 0xB6, + 0x40, 0x1D, 0x5D, 0xC6, 0x27, 0x67, 0xE3, 0xE4, 0x6C, 0x40, 0x96, 0x1B, 0xCA, 0x67, 0x51, 0xA0, + 0xD6, 0xA0, 0xF0, 0x87, 0xE5, 0x8A, 0xDA, 0x9D, 0x6F, 0x80, 0x55, 0x15, 0x11, 0xD8, 0x9C, 0x8C, + 0x16, 0x6C, 0x0D, 0x52, 0x01, 0xCB, 0x15, 0x52, 0xCE, 0x48, 0x67, 0x79, 0xAD, 0xB8, 0xE1, 0x22, + 0xEF, 0x83, 0x96, 0x0B, 0xB3, 0x66, 0x0A, 0x9D, 0x4C, 0xC6, 0xDD, 0x84, 0xE7, 0xD6, 0xDC, 0x4F, + 0xEC, 0x81, 0x41, 0xAE, 0x1F, 0x00, 0x24, 0x35, 0x22, 0x20, 0x18, 0x25, 0x10, 0x27, 0x01, 0xBC, + 0x1B, 0x25, 0x71, 0xD2, 0x77, 0x22, 0xD7, 0xF1, 0xEC, 0xFD, 0xE4, 0xF3, 0x0C, 0xAE, 0x47, 0xD3, + 0xE9, 0x68, 0x3C, 0x8B, 0xCF, 0x12, 0x98, 0x4C, 0xE1, 0x64, 0x32, 0x3E, 0x8D, 0x67, 0xF1, 0x64, + 0x4C, 0xBF, 0xCE, 0x61, 0x34, 0xFE, 0x0A, 0x1F, 0xE2, 0xF1, 0x69, 0x1F, 0x90, 0x53, 0x09, 0x45, + 0xB3, 0xAC, 0x14, 0x75, 0xE0, 0x6C, 0x72, 0x37, 0x4B, 0xCC, 0xEA, 0xC1, 0x25, 0x88, 0x0F, 0x2C, + 0x2C, 0xE4, 0xD6, 0x92, 0xAE, 0x30, 0xE5, 0x0B, 0x9E, 0x52, 0x6B, 0x22, 0xB7, 0x2C, 0x47, 0xC8, + 0xE5, 0x0A, 0x95, 0xA0, 0x8E, 0xA0, 0x42, 0x55, 0x72, 0xED, 0xCE, 0x54, 0x93, 0xC1, 0xCC, 0xC9, + 0x14, 0xBC, 0xE4, 0x86, 0x19, 0x17, 0xF2, 0xFB, 0x72, 0x85, 0xA2, 0xCE, 0x64, 0xFE, 0x0D, 0x53, + 0x13, 0x66, 0xB8, 0xE0, 0x02, 0xAF, 0x94, 0x24, 0x15, 0xB3, 0xE9, 0x92, 0x2D, 0xA9, 0x8C, 0xEE, + 0x43, 0x70, 0x73, 0x83, 0xFA, 0xA3, 0xCC, 0x6C, 0x81, 0x41, 0x1F, 0x6E, 0x61, 0xC5, 0x0A, 0x8B, + 0xAF, 0xC1, 0x28, 0x8B, 0x70, 0x47, 0x8B, 0xD2, 0x00, 0x43, 0xB7, 0xBF, 0xDA, 0x48, 0x85, 0xF0, + 0x06, 0x56, 0x92, 0x67, 0x70, 0x34, 0xEC, 0xAC, 0x98, 0x82, 0x9B, 0x3F, 0x12, 0xF7, 0xC7, 0xD4, + 0x0D, 0xDE, 0xE6, 0xF5, 0xC6, 0x0E, 0xD2, 0x42, 0xDA, 0x2C, 0xDA, 0x41, 0x82, 0x9E, 0xDB, 0x70, + 0x40, 0x5D, 0x70, 0x61, 0x06, 0x34, 0xF3, 0xFA, 0x14, 0xDF, 0x9A, 0x4D, 0x85, 0x3A, 0x55, 0xBC, + 0x32, 0x83, 0x6D, 0x2A, 0x12, 0x72, 0x20, 0x58, 0x89, 0x9A, 0x76, 0x04, 0xA9, 0x89, 0xBA, 0xD2, + 0x4E, 0x65, 0xD8, 0xE9, 0x2E, 0xAC, 0x48, 0x5D, 0xD7, 0xD0, 0xDD, 0x45, 0x7B, 0x70, 0xDB, 0x01, + 0xFA, 0xFB, 0x5F, 0x7D, 0x2B, 0x2C, 0xDD, 0x9F, 0x01, 0x29, 0x6B, 0xAA, 0xB0, 0xA5, 0x46, 0xEE, + 0x5C, 0xEA, 0x25, 0xD5, 0xB4, 0xA5, 0x39, 0x9D, 0xA0, 0x9D, 0x87, 0x74, 0x07, 0x22, 0x5F, 0xC1, + 0x8F, 0xD0, 0xD1, 0x58, 0xDA, 0xE1, 0xE7, 0x2F, 0x9F, 0x3B, 0xB1, 0xBD, 0xDD, 0x70, 0xF5, 0x6C, + 0x8E, 0x86, 0x3D, 0xA3, 0xF9, 0xDC, 0x78, 0xC1, 0x61, 0x1B, 0xDB, 0x86, 0x79, 0x88, 0x77, 0xB6, + 0xF8, 0x7E, 0x4D, 0x3B, 0x8E, 0x6A, 0x8B, 0xF4, 0xE3, 0x6D, 0xC6, 0x89, 0x2C, 0x0A, 0xAC, 0xC7, + 0x75, 0xA1, 0xA4, 0xAD, 0x1C, 0xED, 0xD1, 0xE4, 0xE3, 0xDC, 0x29, 0x2E, 0x50, 0x21, 0xBD, 0x04, + 0x8E, 0xFF, 0x57, 0x40, 0x5B, 0xE3, 0x54, 0xA6, 0xB6, 0x44, 0x61, 0x1E, 0x28, 0xF8, 0xE9, 0x7F, + 0xF2, 0x13, 0xC1, 0x2A, 0xBD, 0x94, 0xC6, 0xD1, 0x1F, 0xCF, 0xB6, 0xD9, 0xE7, 0x1C, 0x8B, 0xEC, + 0x8A, 0x99, 0x65, 0x4D, 0xF3, 0xC3, 0x07, 0xF1, 0x5F, 0xDC, 0x2D, 0xD8, 0x12, 0xFC, 0xB8, 0xC7, + 0x68, 0xBE, 0xDA, 0x84, 0xE6, 0xCB, 0xC3, 0x5F, 0xA0, 0xBC, 0x92, 0x5C, 0xD4, 0x7D, 0xF8, 0x51, + 0x0F, 0xAD, 0xAA, 0x34, 0xA1, 0x3B, 0x6E, 0xF5, 0x16, 0xEF, 0xC7, 0xDB, 0x8C, 0x4F, 0x16, 0xD5, + 0x66, 0x07, 0xDE, 0x87, 0x0E, 0xE2, 0x0E, 0x0D, 0xF7, 0x1F, 0x90, 0x83, 0x3A, 0x57, 0x4C, 0x19, + 0xEE, 0xD6, 0x60, 0x2F, 0xE0, 0xE7, 0x0E, 0x32, 0xFF, 0x52, 0xF9, 0xB1, 0x8A, 0x33, 0x5E, 0xD2, + 0x17, 0x2B, 0xB7, 0xBB, 0xEC, 0x87, 0x3D, 0xBC, 0x62, 0x42, 0xB3, 0xF4, 0xDE, 0xDE, 0xC1, 0x44, + 0x9B, 0x53, 0xDF, 0xA5, 0x77, 0xCC, 0xA4, 0xCD, 0xE2, 0xF8, 0xF1, 0x83, 0x8C, 0x29, 0x6A, 0x5B, + 0xDC, 0xF7, 0xE2, 0x27, 0xDA, 0x1C, 0x8D, 0xE6, 0x52, 0xE6, 0xE7, 0x56, 0xEC, 0xCD, 0xF9, 0xB9, + 0xC6, 0xDF, 0x5D, 0x6F, 0xFF, 0xDA, 0x11, 0xD2, 0x7F, 0x99, 0x7F, 0xFD, 0x82, 0xEE, 0xA1, 0xF7, + 0xFA, 0xF6, 0xAE, 0x47, 0x0F, 0xEF, 0x6F, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, + 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x70, 0xA7, 0x5E, 0x96, 0xC5, 0x01, 0x00, 0x00, 0xE1, 0x02, 0x00, + 0x00, 0x2A, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, + 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, + 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x2E, 0x64, 0x2E, 0x74, 0x73, 0x65, + 0x52, 0xD1, 0x8E, 0xD3, 0x30, 0x10, 0x7C, 0xF7, 0x57, 0x2C, 0x7D, 0x29, 0x54, 0xBD, 0xE4, 0xA8, + 0x90, 0x10, 0x54, 0x48, 0x84, 0x5E, 0x81, 0x88, 0x53, 0x2A, 0x35, 0x3D, 0x4E, 0xF7, 0xE8, 0x24, + 0x9B, 0x74, 0xA5, 0xC4, 0x36, 0xB6, 0x73, 0xB9, 0x0A, 0xF1, 0xEF, 0xAC, 0xD3, 0x70, 0xA2, 0xBA, + 0xA7, 0xC4, 0xDE, 0xD9, 0xD9, 0x99, 0xF1, 0xC6, 0x8B, 0x57, 0x50, 0x93, 0xC5, 0x42, 0x3A, 0xBC, + 0x92, 0x55, 0x47, 0x0A, 0x1E, 0x3F, 0x44, 0xEF, 0xA2, 0x15, 0x2C, 0x62, 0xC1, 0x45, 0x01, 0x0B, + 0xF8, 0xDC, 0x52, 0x89, 0xCA, 0x61, 0xF8, 0xDF, 0x68, 0x73, 0xB2, 0xD4, 0x1C, 0x3D, 0xAC, 0xAE, + 0xDF, 0xBE, 0x87, 0x6F, 0x5A, 0x37, 0x2D, 0x42, 0xAA, 0xCA, 0x88, 0xAB, 0x01, 0x70, 0x7B, 0xC6, + 0x56, 0xD0, 0xAB, 0x0A, 0x2D, 0xF8, 0x23, 0x42, 0x62, 0x64, 0xC9, 0x9F, 0xA9, 0xB2, 0x84, 0x9F, + 0x68, 0x1D, 0x69, 0x05, 0xAB, 0xE8, 0x1A, 0x5E, 0x07, 0xC0, 0x6C, 0x2A, 0xCD, 0xDE, 0xAC, 0x03, + 0xC5, 0x49, 0xF7, 0xD0, 0xC9, 0x13, 0x28, 0xED, 0xA1, 0x77, 0xC8, 0x1C, 0xE4, 0x58, 0x24, 0xCF, + 0xC1, 0xA7, 0x12, 0x8D, 0x07, 0x16, 0x59, 0xEA, 0xCE, 0xB4, 0x24, 0x55, 0x89, 0x30, 0x90, 0x3F, + 0x32, 0xE6, 0x79, 0x40, 0x14, 0x38, 0x1E, 0x26, 0x0E, 0x5D, 0x78, 0xC9, 0x70, 0xC9, 0x0D, 0x86, + 0x4F, 0xF5, 0xFF, 0x40, 0x90, 0x7E, 0x12, 0x0D, 0x70, 0xF4, 0xDE, 0x7C, 0x8C, 0xE3, 0x61, 0x18, + 0x22, 0x39, 0xCA, 0x8D, 0xB4, 0x6D, 0xE2, 0xC9, 0xB8, 0x8B, 0x6F, 0xD3, 0xCD, 0x36, 0xCB, 0xB7, + 0x57, 0x2C, 0x79, 0x6A, 0xB9, 0x53, 0x2D, 0x3A, 0x07, 0x16, 0x7F, 0xF5, 0x64, 0xD9, 0x6E, 0x71, + 0x02, 0x69, 0x0C, 0x37, 0xC8, 0x82, 0x85, 0xB6, 0x72, 0x00, 0x6D, 0x41, 0x36, 0x16, 0xB9, 0xE6, + 0x75, 0x90, 0x3C, 0x58, 0xF2, 0xA4, 0x9A, 0x25, 0x38, 0x5D, 0xFB, 0x41, 0xDA, 0x31, 0xCF, 0x8A, + 0x9C, 0xB7, 0x54, 0xF4, 0xFE, 0x5F, 0x62, 0x17, 0x02, 0xC9, 0x5D, 0x00, 0x34, 0x1B, 0x51, 0x30, + 0x4B, 0x72, 0x48, 0xF3, 0x19, 0x7C, 0x49, 0xF2, 0x34, 0x5F, 0x06, 0x92, 0xFB, 0xF4, 0xF0, 0x7D, + 0x77, 0x77, 0x80, 0xFB, 0x64, 0xBF, 0x4F, 0xB2, 0x43, 0xBA, 0xCD, 0x61, 0xB7, 0x87, 0xCD, 0x2E, + 0xBB, 0x49, 0x0F, 0xE9, 0x2E, 0xE3, 0xD3, 0x57, 0x48, 0xB2, 0x07, 0xF8, 0x91, 0x66, 0x37, 0x4B, + 0x40, 0xE2, 0x11, 0x96, 0xB3, 0x34, 0x96, 0x1D, 0x04, 0x99, 0x14, 0xB2, 0xC4, 0x6A, 0x0C, 0x2E, + 0x47, 0xBC, 0x90, 0x50, 0xEB, 0xB3, 0x24, 0x67, 0xB0, 0xA4, 0x9A, 0x4A, 0xB6, 0xA6, 0x9A, 0x5E, + 0x36, 0x08, 0x8D, 0x7E, 0x44, 0xAB, 0xD8, 0x11, 0x18, 0xB4, 0x1D, 0xB9, 0xF0, 0xA6, 0x8E, 0x05, + 0x56, 0x81, 0xA6, 0xA5, 0x8E, 0xBC, 0xF4, 0xE1, 0xEA, 0xA5, 0xAF, 0x30, 0x28, 0x16, 0x82, 0xC7, + 0x6A, 0xEB, 0x19, 0x2C, 0xB9, 0x6D, 0x5C, 0xBD, 0xDA, 0xEA, 0x0E, 0xE6, 0x51, 0xFC, 0xBC, 0x91, + 0x4A, 0x76, 0xE8, 0xF8, 0x3D, 0x70, 0xBE, 0x16, 0xA2, 0xC2, 0xB2, 0xE5, 0xD8, 0xA0, 0xD3, 0x55, + 0xCF, 0x19, 0xCF, 0x2F, 0xF7, 0x76, 0x0E, 0xBF, 0xC5, 0x1F, 0x21, 0xF0, 0x69, 0x24, 0xFD, 0x74, + 0x66, 0x5C, 0x8B, 0xBF, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, + 0x5A, 0x0B, 0x65, 0x61, 0xE1, 0xA9, 0x1B, 0x03, 0x00, 0x00, 0x7F, 0x05, 0x00, 0x00, 0x28, 0x00, + 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, + 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, + 0x62, 0x2F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x2E, 0x6A, 0x73, 0x65, 0x54, 0xC1, 0x6E, 0xD3, 0x40, + 0x10, 0xBD, 0xE7, 0x2B, 0x06, 0x5F, 0x08, 0x55, 0x62, 0x97, 0x0A, 0x09, 0x91, 0xA8, 0x82, 0xD0, + 0x96, 0x62, 0x40, 0x8E, 0x54, 0xA7, 0x20, 0xD4, 0xF4, 0xB0, 0xB6, 0x27, 0xCE, 0xC2, 0x7A, 0xD7, + 0xEC, 0xAE, 0xE3, 0x46, 0x88, 0x7F, 0x67, 0xC6, 0xB1, 0x4B, 0x23, 0x72, 0x89, 0xBD, 0x3B, 0xF3, + 0xE6, 0xCD, 0x9B, 0x37, 0x8E, 0x4E, 0x9E, 0xC1, 0x46, 0x5A, 0xCC, 0x84, 0xC3, 0xA9, 0x28, 0x2A, + 0xA9, 0x61, 0xF7, 0x26, 0x7C, 0x15, 0x9E, 0xC1, 0x49, 0x34, 0x0A, 0x1A, 0x87, 0xE0, 0xBC, 0x95, + 0xB9, 0x0F, 0xE6, 0x23, 0x0A, 0x1D, 0xC1, 0x09, 0xBC, 0x53, 0x32, 0x47, 0xED, 0x90, 0x9F, 0x2F, + 0x4C, 0xBD, 0xB7, 0xB2, 0xDC, 0x7A, 0x38, 0x3B, 0x7D, 0xF9, 0x1A, 0xAE, 0x8D, 0x29, 0x15, 0x42, + 0xAC, 0xF3, 0x90, 0x6E, 0x39, 0xE0, 0xCB, 0x21, 0xB6, 0x80, 0x46, 0x17, 0x68, 0xC1, 0x6F, 0x11, + 0x16, 0xB5, 0xC8, 0xE9, 0xAF, 0xBF, 0x99, 0xC0, 0x57, 0xB4, 0x4E, 0x1A, 0x0D, 0x67, 0xE1, 0x29, + 0x8C, 0x39, 0x20, 0xE8, 0xAF, 0x82, 0x17, 0x73, 0x86, 0xD8, 0x9B, 0x06, 0x2A, 0xB1, 0x07, 0x6D, + 0x3C, 0x10, 0x1F, 0xC2, 0x90, 0x8E, 0x28, 0x53, 0x1D, 0x7C, 0xC8, 0xB1, 0xF6, 0x40, 0x94, 0x73, + 0x53, 0xD5, 0x4A, 0x0A, 0x9D, 0x23, 0xB4, 0xD2, 0x6F, 0x29, 0xE6, 0xB1, 0x40, 0xC8, 0x18, 0xDF, + 0x7B, 0x0C, 0x93, 0x79, 0x41, 0xE1, 0x82, 0x12, 0x6A, 0x7A, 0xDB, 0x3C, 0x0D, 0x04, 0xE1, 0x7B, + 0xD2, 0x00, 0x5B, 0xEF, 0xEB, 0x59, 0x14, 0xB5, 0x6D, 0x1B, 0x8A, 0x8E, 0x6E, 0x68, 0x6C, 0x19, + 0xF5, 0x8D, 0xBB, 0xE8, 0x4B, 0x7C, 0x71, 0x95, 0xA4, 0x57, 0x53, 0xA2, 0xDC, 0xA7, 0xDC, 0x6A, + 0x85, 0xCE, 0x81, 0xC5, 0x5F, 0x8D, 0xB4, 0xD4, 0x6E, 0xB6, 0x07, 0x51, 0xD7, 0x94, 0x20, 0x32, + 0x22, 0xAA, 0x44, 0x0B, 0xC6, 0x82, 0x28, 0x2D, 0xD2, 0x9D, 0x37, 0x4C, 0xB9, 0xB5, 0xD2, 0x4B, + 0x5D, 0x4E, 0xC0, 0x99, 0x8D, 0x6F, 0x85, 0xED, 0xF4, 0x2C, 0x24, 0xAB, 0x9D, 0x35, 0x7E, 0x50, + 0xEC, 0x88, 0xA0, 0x74, 0x47, 0x01, 0x86, 0x1A, 0xD1, 0x10, 0x2C, 0x52, 0x88, 0xD3, 0x00, 0xDE, + 0x2F, 0xD2, 0x38, 0x9D, 0x30, 0xC8, 0xB7, 0x78, 0xF5, 0x71, 0x79, 0xBB, 0x82, 0x6F, 0x8B, 0x9B, + 0x9B, 0x45, 0xB2, 0x8A, 0xAF, 0x52, 0x58, 0xDE, 0xC0, 0xC5, 0x32, 0xB9, 0x8C, 0x57, 0xF1, 0x32, + 0xA1, 0xB7, 0x0F, 0xB0, 0x48, 0xBE, 0xC3, 0xE7, 0x38, 0xB9, 0x9C, 0x00, 0x4A, 0x2A, 0x61, 0x49, + 0xCB, 0xDA, 0x52, 0x07, 0x4C, 0x53, 0xB2, 0x96, 0x58, 0x74, 0xC2, 0xA5, 0x88, 0x47, 0x14, 0x36, + 0xE6, 0x40, 0xC9, 0xD5, 0x98, 0xCB, 0x8D, 0xCC, 0xA9, 0x35, 0x5D, 0x36, 0xA2, 0x44, 0x28, 0xCD, + 0x0E, 0xAD, 0xA6, 0x8E, 0xA0, 0x46, 0x5B, 0x49, 0xC7, 0x33, 0x75, 0x44, 0xB0, 0x60, 0x18, 0x25, + 0x2B, 0xE9, 0x85, 0xE7, 0xA3, 0xFF, 0xFB, 0xE2, 0x42, 0xD1, 0x68, 0x27, 0xEC, 0xA3, 0x11, 0xE1, + 0x7C, 0x50, 0x72, 0x1C, 0x84, 0x51, 0x81, 0x1B, 0xD1, 0x28, 0x3F, 0xD5, 0xA2, 0x42, 0x47, 0xD3, + 0xE8, 0x8C, 0x11, 0x45, 0xB0, 0xD4, 0x6A, 0x0F, 0x89, 0x29, 0x30, 0xFC, 0xE1, 0x60, 0x2B, 0xA8, + 0x18, 0xD4, 0xD6, 0xE4, 0xDC, 0x05, 0x81, 0x49, 0x56, 0x9E, 0xCA, 0x08, 0x4F, 0xBA, 0xF1, 0xA8, + 0xEF, 0xEE, 0x2E, 0x94, 0x70, 0xEE, 0xFE, 0x7E, 0x88, 0xE2, 0x92, 0xC3, 0xF3, 0xB5, 0x32, 0x99, + 0x50, 0x54, 0xD7, 0xEF, 0x6B, 0xA4, 0xE0, 0x01, 0xE8, 0xD9, 0xF9, 0x39, 0x3C, 0x67, 0xC6, 0x1B, + 0xA9, 0xB1, 0x78, 0x0E, 0x6F, 0x1F, 0x6F, 0x66, 0x70, 0x3A, 0x1F, 0xC9, 0x0D, 0x8C, 0x97, 0xD9, + 0x0F, 0xCC, 0x7D, 0x48, 0xE7, 0xDE, 0x70, 0x76, 0xE8, 0x4D, 0xEA, 0x2D, 0x09, 0x11, 0xE6, 0x42, + 0xA9, 0xF1, 0x51, 0x81, 0x17, 0x07, 0xC0, 0x3B, 0xD3, 0xE5, 0x0C, 0x58, 0xF7, 0xCF, 0x5F, 0xC0, + 0xEF, 0x11, 0xD0, 0x8F, 0x19, 0x55, 0x74, 0x22, 0x4A, 0xD6, 0x20, 0x58, 0xEB, 0xF3, 0xFE, 0xC7, + 0xC3, 0x4C, 0xE2, 0xE4, 0xFA, 0x19, 0x0C, 0x27, 0x6B, 0xBD, 0xD6, 0xC7, 0x8B, 0xCB, 0x8E, 0x43, + 0x61, 0x1D, 0x1B, 0x6C, 0x2B, 0x76, 0x08, 0x19, 0xA2, 0x26, 0xAB, 0x39, 0x4F, 0x3C, 0xC8, 0x2F, + 0x1C, 0xA1, 0x49, 0x7E, 0xD7, 0xD4, 0xB5, 0xB1, 0xEC, 0x20, 0xD4, 0x3B, 0x69, 0x8D, 0xAE, 0x50, + 0xFB, 0x70, 0xAD, 0x57, 0xBC, 0x58, 0xA4, 0xEF, 0x4F, 0xAE, 0xEE, 0xB6, 0xA6, 0x51, 0xEC, 0x31, + 0xB5, 0x27, 0x1C, 0x5A, 0xBC, 0x03, 0x80, 0x43, 0x4B, 0x63, 0x9E, 0x3A, 0x59, 0x20, 0x5B, 0x25, + 0xA3, 0x68, 0xD4, 0xC5, 0x30, 0x85, 0xA7, 0x80, 0x6E, 0xB2, 0xD6, 0x34, 0xFD, 0x1E, 0x88, 0xB7, + 0xF7, 0x29, 0x4E, 0x8B, 0x19, 0x64, 0xD6, 0xB4, 0x84, 0xD7, 0x79, 0xCE, 0x74, 0x26, 0xCC, 0x95, + 0xA4, 0xCC, 0x0E, 0xFD, 0x08, 0x2A, 0xE4, 0x66, 0x6F, 0xDD, 0xC1, 0x8A, 0x1F, 0x06, 0x93, 0x7C, + 0x4A, 0x21, 0xBD, 0xFC, 0xDC, 0x59, 0xF2, 0x5F, 0xE2, 0xBF, 0x7B, 0x2A, 0xE3, 0xB1, 0xB4, 0x07, + 0xD7, 0xCD, 0x18, 0x81, 0xB7, 0xDA, 0xD1, 0x5A, 0x0F, 0xB2, 0x85, 0x65, 0xF7, 0xBD, 0x0A, 0xE9, + 0xEB, 0x11, 0x15, 0x26, 0x77, 0x11, 0xB1, 0x8A, 0x1C, 0xFA, 0xA6, 0x5E, 0xEB, 0x60, 0xDE, 0x0D, + 0x84, 0x6C, 0xE6, 0x9D, 0x22, 0xA4, 0x19, 0x6D, 0x1E, 0x3B, 0x6A, 0xAA, 0xF1, 0xC1, 0x4F, 0xE9, + 0x04, 0x67, 0xDA, 0x4C, 0x73, 0x82, 0x36, 0x0A, 0xBB, 0xD0, 0xFE, 0x39, 0x44, 0x6B, 0x8D, 0x1D, + 0xF7, 0x53, 0x24, 0xA7, 0xFE, 0x19, 0x55, 0xA6, 0x68, 0xF8, 0xE2, 0x81, 0x65, 0x77, 0x34, 0xD8, + 0x81, 0xC0, 0x7C, 0xF4, 0x17, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB7, + 0x4A, 0x48, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2C, + 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, + 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, + 0x69, 0x62, 0x2F, 0x69, 0x6E, 0x73, 0x74, 0x61, 0x6E, 0x63, 0x65, 0x2D, 0x69, 0x64, 0x2F, 0x50, + 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x66, 0x3E, 0x4A, + 0x82, 0x44, 0x04, 0x00, 0x00, 0x0D, 0x0B, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, + 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, + 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x69, 0x6E, 0x73, + 0x74, 0x61, 0x6E, 0x63, 0x65, 0x2D, 0x69, 0x64, 0x2F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x2E, 0x64, + 0x2E, 0x74, 0x73, 0xAD, 0x56, 0xDB, 0x8E, 0xD3, 0x30, 0x10, 0x7D, 0xEF, 0x57, 0x0C, 0xCB, 0x03, + 0x2C, 0x5A, 0x12, 0xB4, 0xE2, 0x85, 0x5D, 0x6E, 0x85, 0xE5, 0x12, 0x81, 0xBA, 0x88, 0x2E, 0x20, + 0x84, 0x10, 0x75, 0x93, 0x69, 0x6A, 0x48, 0xEC, 0x60, 0x3B, 0xED, 0x56, 0xAB, 0xFD, 0x77, 0x66, + 0x9C, 0x7B, 0x5B, 0x40, 0x42, 0xE4, 0x25, 0x17, 0x8F, 0xCF, 0x1C, 0x9F, 0x39, 0x1E, 0x27, 0xBC, + 0x73, 0x03, 0x16, 0xD2, 0xE0, 0x5C, 0x58, 0xBC, 0x2B, 0x92, 0x5C, 0x2A, 0x58, 0x3D, 0x08, 0xEE, + 0x07, 0xC7, 0x70, 0x27, 0x1C, 0xD1, 0xE0, 0x08, 0xEE, 0xC0, 0x73, 0x5D, 0x6C, 0x8C, 0x4C, 0x97, + 0x0E, 0x8E, 0xEF, 0x1D, 0xDF, 0x83, 0x57, 0x5A, 0xA7, 0x19, 0x42, 0xA4, 0xE2, 0x80, 0x46, 0x39, + 0xE0, 0xAD, 0x8C, 0x51, 0x59, 0x4C, 0xA0, 0x54, 0x09, 0x1A, 0x70, 0x4B, 0x84, 0x71, 0x21, 0x62, + 0xBA, 0xD5, 0x23, 0x47, 0xF0, 0x11, 0x8D, 0x95, 0x5A, 0xC1, 0x71, 0x70, 0x0F, 0x6E, 0x73, 0xC0, + 0x41, 0x3D, 0x74, 0x70, 0x78, 0xCA, 0x10, 0x1B, 0x5D, 0x42, 0x2E, 0x36, 0xA0, 0xB4, 0x83, 0xD2, + 0x22, 0x61, 0x48, 0x4B, 0xC4, 0x28, 0x0F, 0x5E, 0xC6, 0x58, 0x38, 0x20, 0x62, 0xB1, 0xCE, 0x8B, + 0x4C, 0x0A, 0x15, 0x23, 0xAC, 0xA5, 0x5B, 0x52, 0x4C, 0x9B, 0x20, 0x60, 0x8C, 0xCF, 0x35, 0x86, + 0x9E, 0x3B, 0x41, 0xE1, 0x82, 0x26, 0x14, 0xF4, 0xB6, 0xE8, 0x07, 0x82, 0x70, 0x35, 0x69, 0x80, + 0xA5, 0x73, 0xC5, 0x49, 0x18, 0xAE, 0xD7, 0xEB, 0x40, 0x78, 0xBA, 0x81, 0x36, 0x69, 0x98, 0x55, + 0x81, 0x36, 0x7C, 0x1B, 0x3D, 0x7F, 0x31, 0x99, 0xBE, 0xB8, 0x4B, 0x94, 0xEB, 0x29, 0x1F, 0x54, + 0x86, 0xD6, 0x82, 0xC1, 0x9F, 0xA5, 0x34, 0xB4, 0xDC, 0xF9, 0x06, 0x44, 0x51, 0xD0, 0x04, 0x31, + 0x27, 0xA2, 0x99, 0x58, 0x83, 0x36, 0x20, 0x52, 0x83, 0x34, 0xE6, 0x34, 0x53, 0x5E, 0x1B, 0xE9, + 0xA4, 0x4A, 0x8F, 0xC0, 0xEA, 0x85, 0x5B, 0x0B, 0x83, 0x0C, 0x93, 0x48, 0xEB, 0x8C, 0x9C, 0x97, + 0xAE, 0x51, 0x6C, 0x40, 0x50, 0xDA, 0x41, 0x80, 0xA6, 0x85, 0x28, 0x38, 0x18, 0x4F, 0x21, 0x9A, + 0x1E, 0xC0, 0xB3, 0xF1, 0x34, 0x9A, 0x1E, 0x31, 0xC8, 0xA7, 0xE8, 0xE2, 0xF5, 0xF9, 0x87, 0x0B, + 0xF8, 0x34, 0x7E, 0xFF, 0x7E, 0x3C, 0xB9, 0x88, 0x5E, 0x4C, 0xE1, 0xFC, 0x3D, 0x3C, 0x3F, 0x9F, + 0x9C, 0x45, 0x17, 0xD1, 0xF9, 0x84, 0xDE, 0x5E, 0xC2, 0x78, 0xF2, 0x19, 0xDE, 0x44, 0x93, 0xB3, + 0x23, 0x40, 0x49, 0x29, 0x0C, 0x69, 0x59, 0x18, 0x5A, 0x01, 0xD3, 0x94, 0xAC, 0x25, 0x26, 0x5E, + 0xB8, 0x29, 0xE2, 0x80, 0xC2, 0x42, 0x57, 0x94, 0x6C, 0x81, 0xB1, 0x5C, 0xC8, 0x98, 0x96, 0xA6, + 0xD2, 0x52, 0xA4, 0x08, 0xA9, 0x5E, 0xA1, 0x51, 0xB4, 0x22, 0x28, 0xD0, 0xE4, 0xD2, 0x72, 0x4D, + 0x2D, 0x11, 0x4C, 0x18, 0x26, 0x93, 0xB9, 0x74, 0xC2, 0xF1, 0xA7, 0xDD, 0x75, 0x71, 0xA2, 0x70, + 0x44, 0x59, 0xB5, 0x71, 0x70, 0xC5, 0xBA, 0xC1, 0x35, 0x2C, 0x8C, 0xCE, 0xE1, 0x56, 0x10, 0x84, + 0xAD, 0x05, 0x95, 0xC8, 0xD1, 0x52, 0x31, 0xC8, 0x8C, 0x85, 0xBC, 0x75, 0x4A, 0x16, 0xF4, 0xCA, + 0xBF, 0x42, 0x67, 0x3D, 0xDA, 0xD5, 0xD3, 0x4C, 0xAA, 0x1F, 0x24, 0xAD, 0x75, 0x6C, 0x84, 0x28, + 0x09, 0xA2, 0xF6, 0x11, 0x66, 0xDD, 0xF3, 0xEC, 0x1A, 0x2C, 0x9A, 0x15, 0xE5, 0xAE, 0x57, 0x53, + 0x29, 0x8F, 0x0B, 0x51, 0x66, 0x8E, 0xB3, 0xFB, 0x52, 0x41, 0x2A, 0x57, 0xA8, 0xF8, 0xB5, 0xB1, + 0xF2, 0xCC, 0xEF, 0x81, 0xA0, 0xC3, 0xBF, 0x7D, 0x38, 0x83, 0x98, 0x2A, 0x30, 0x47, 0xBA, 0x65, + 0x19, 0x26, 0x95, 0xF7, 0x94, 0x06, 0x61, 0xD2, 0x32, 0x47, 0xC5, 0xC4, 0xE8, 0x25, 0x8E, 0xD1, + 0x7A, 0x8A, 0x4D, 0x12, 0x42, 0x63, 0xE0, 0x5B, 0xF6, 0x5F, 0x38, 0x33, 0x39, 0xBB, 0x9F, 0x0F, + 0x61, 0x1E, 0xCE, 0x86, 0x29, 0x29, 0xF0, 0x5F, 0x92, 0x08, 0x6B, 0x75, 0x2C, 0x85, 0x6B, 0xD6, + 0x24, 0x08, 0xA7, 0xAD, 0x79, 0x5F, 0x94, 0xA7, 0x78, 0x29, 0xC8, 0x2E, 0x3E, 0xCF, 0x6C, 0x36, + 0xFB, 0x2E, 0x56, 0xC2, 0xC6, 0x46, 0x16, 0x7E, 0x8D, 0x61, 0xC8, 0xD5, 0xF1, 0x2B, 0xAF, 0xB3, + 0xD0, 0xC3, 0xD9, 0xB6, 0xFA, 0x7D, 0xE9, 0x79, 0xD6, 0x4A, 0x98, 0xE6, 0x53, 0x8F, 0xE7, 0x23, + 0xD8, 0x95, 0xFF, 0xB4, 0xCE, 0xFA, 0x9F, 0xB8, 0xB4, 0x35, 0xEF, 0x78, 0x68, 0xDE, 0x1B, 0x7F, + 0x66, 0xE1, 0x43, 0xC6, 0x45, 0xE1, 0xD9, 0xF4, 0xC8, 0x14, 0xC2, 0x88, 0xDC, 0xDB, 0xE9, 0xBC, + 0x60, 0xE3, 0x8B, 0xCC, 0xBF, 0xAC, 0x97, 0xDA, 0xE2, 0x40, 0xF5, 0x96, 0x83, 0xD3, 0x55, 0xF3, + 0x31, 0xE8, 0x4A, 0xA3, 0x02, 0x88, 0x16, 0xBE, 0xE7, 0x15, 0x46, 0xAF, 0x64, 0x82, 0xC9, 0x51, + 0x5F, 0xAC, 0xFD, 0x08, 0x6B, 0x99, 0x65, 0x64, 0xC7, 0x3E, 0x0C, 0x26, 0x6D, 0xA9, 0xAA, 0x0F, + 0x70, 0xF1, 0x37, 0x14, 0xB9, 0xF0, 0x00, 0x94, 0xDC, 0x33, 0x96, 0xB6, 0xA5, 0x00, 0x75, 0xC5, + 0x76, 0xA7, 0xED, 0x7A, 0xA6, 0x71, 0x1F, 0xB4, 0xB3, 0x19, 0xAD, 0xDA, 0xEB, 0x78, 0xC9, 0x7B, + 0x9D, 0x58, 0xC4, 0x99, 0x30, 0x24, 0x7E, 0xA9, 0x62, 0x96, 0x08, 0x86, 0x5E, 0x7E, 0x72, 0xE2, + 0x67, 0xB0, 0xB6, 0x27, 0xFB, 0xDD, 0x7B, 0xBA, 0x8D, 0xD4, 0xF6, 0x88, 0x5E, 0x3C, 0x5C, 0x8D, + 0x80, 0x2E, 0xDF, 0x2E, 0xF8, 0xDA, 0x6D, 0x19, 0x7F, 0xDD, 0x0E, 0xB5, 0x53, 0x9B, 0xF9, 0x71, + 0x69, 0x0C, 0xED, 0x6E, 0xCF, 0xAE, 0xFE, 0xE6, 0x6F, 0x03, 0x0F, 0xD2, 0xB5, 0xEB, 0x43, 0xBA, + 0x2A, 0x67, 0xF5, 0xF9, 0x3D, 0x62, 0xA0, 0x6D, 0x63, 0xD3, 0xE5, 0x5D, 0xEB, 0xCB, 0x25, 0xE6, + 0x7A, 0xE5, 0xDB, 0xBF, 0x5D, 0xD2, 0x6A, 0x97, 0xD4, 0x54, 0x99, 0xD2, 0x49, 0x17, 0xB5, 0x0B, + 0xB9, 0xB7, 0x39, 0x9C, 0xF6, 0x68, 0x0D, 0x89, 0x77, 0xEE, 0xD8, 0x2A, 0xEF, 0xEF, 0x34, 0x80, + 0x7D, 0x2A, 0x84, 0x7C, 0x27, 0x1E, 0x0E, 0xCD, 0x82, 0x8B, 0x10, 0x0D, 0x8A, 0x50, 0x5D, 0x1C, + 0xDF, 0x16, 0xB6, 0x22, 0xD4, 0x2F, 0x4F, 0x0D, 0x7F, 0x86, 0x19, 0x3A, 0xB4, 0xFD, 0xB3, 0x86, + 0x0C, 0x24, 0x7B, 0x3B, 0x97, 0x44, 0xA0, 0xD1, 0x81, 0xED, 0x12, 0xE1, 0x44, 0x75, 0x70, 0xBC, + 0xAC, 0x0F, 0x8D, 0xA0, 0xC3, 0x1C, 0xC0, 0x4F, 0xB4, 0xE3, 0x73, 0x4D, 0xB8, 0xE6, 0x97, 0x65, + 0x4C, 0xFB, 0x73, 0xE3, 0x64, 0x6C, 0x79, 0x9D, 0xED, 0x74, 0xFA, 0xDF, 0x20, 0x0E, 0x92, 0xDC, + 0xA2, 0xD7, 0x8A, 0x47, 0x72, 0xFA, 0x67, 0x18, 0xF4, 0x0F, 0xA7, 0xFB, 0xB0, 0x3F, 0x10, 0x0B, + 0x70, 0x46, 0xC4, 0x3F, 0x38, 0x4E, 0x34, 0x98, 0x9E, 0x58, 0xC0, 0xD2, 0x1A, 0x24, 0x10, 0xDA, + 0x7E, 0xBC, 0x3A, 0x3E, 0x2A, 0x45, 0x9B, 0x6A, 0x80, 0x9A, 0x68, 0xB4, 0x3D, 0x5C, 0x6E, 0x03, + 0xD5, 0x9C, 0x9A, 0x68, 0x07, 0xCA, 0x07, 0x74, 0x3F, 0xF2, 0x4B, 0x25, 0x1C, 0xE5, 0xEE, 0x03, + 0x7E, 0xBD, 0x1D, 0xDA, 0xB2, 0xE0, 0x9D, 0x12, 0x16, 0x46, 0xAE, 0x44, 0xBC, 0x09, 0x73, 0x62, + 0x97, 0xE2, 0x5D, 0x29, 0x13, 0x7B, 0xB3, 0x82, 0xFE, 0x26, 0xD4, 0xB7, 0x46, 0xE0, 0x6F, 0x32, + 0x39, 0xEC, 0xC1, 0x7A, 0x51, 0x72, 0x66, 0x2E, 0x15, 0xAB, 0xE0, 0x4F, 0xF2, 0xBD, 0xDA, 0x76, + 0x9D, 0xAF, 0xB3, 0x9E, 0xF7, 0x94, 0x1C, 0x88, 0xC6, 0x67, 0x66, 0x95, 0x35, 0xD9, 0x81, 0xD9, + 0x32, 0xE4, 0x98, 0xFB, 0x07, 0xFD, 0x4F, 0x70, 0x9B, 0xC8, 0x16, 0xB2, 0x3A, 0x67, 0x97, 0xD4, + 0xA6, 0xDD, 0x16, 0xAA, 0xB4, 0xFB, 0x20, 0xC3, 0xE6, 0xB9, 0x1E, 0x8C, 0xBA, 0x1D, 0xD1, 0x31, + 0x3C, 0x01, 0xFE, 0xAB, 0x52, 0x29, 0xF5, 0x99, 0x77, 0x55, 0xB2, 0x87, 0x2B, 0x2D, 0x93, 0xC7, + 0x95, 0x3D, 0xAF, 0x47, 0xD7, 0xA3, 0x5F, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, + 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0xD0, 0x49, 0x56, 0x11, 0xBD, 0x01, 0x00, 0x00, 0xBC, 0x02, 0x00, + 0x00, 0x34, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, + 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, + 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x69, 0x6E, 0x73, 0x74, 0x61, 0x6E, 0x63, 0x65, 0x2D, 0x69, 0x64, + 0x2F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x2E, 0x6A, 0x73, 0x65, 0x92, 0x41, 0x6F, 0xD3, 0x40, 0x10, + 0x85, 0xEF, 0xF9, 0x15, 0x0F, 0x9F, 0x4A, 0xE5, 0xDA, 0x51, 0xC4, 0x85, 0xF6, 0x64, 0xD2, 0x00, + 0x16, 0xC5, 0x41, 0x71, 0x4A, 0xD5, 0x53, 0xB5, 0xB6, 0xC7, 0xCE, 0x20, 0x67, 0xD7, 0xEC, 0xAE, + 0x63, 0x22, 0xC4, 0x7F, 0x67, 0xB6, 0x0D, 0x88, 0x88, 0x93, 0xB5, 0x9E, 0x37, 0x6F, 0xBE, 0x37, + 0xBB, 0xE9, 0xE5, 0x2B, 0xB4, 0x6C, 0xA9, 0x52, 0x8E, 0xAE, 0x54, 0xB3, 0x67, 0x8D, 0xC3, 0xDB, + 0xE4, 0x4D, 0xB2, 0xC0, 0x65, 0x3A, 0x8B, 0x46, 0x47, 0x70, 0xDE, 0x72, 0xED, 0xA3, 0x9B, 0x99, + 0x48, 0x67, 0xB8, 0xC4, 0xD2, 0x0C, 0x47, 0xCB, 0xDD, 0xCE, 0x63, 0x31, 0x5F, 0xCC, 0xF1, 0xC1, + 0x98, 0xAE, 0x27, 0xE4, 0xBA, 0x4E, 0xA4, 0x1A, 0x04, 0x77, 0x5C, 0x93, 0x76, 0xD4, 0x60, 0xD4, + 0x0D, 0x59, 0xF8, 0x1D, 0x21, 0x1B, 0x54, 0x2D, 0x9F, 0x53, 0x25, 0xC6, 0x57, 0xB2, 0x8E, 0x8D, + 0xC6, 0x22, 0x99, 0xE3, 0x22, 0x08, 0xA2, 0x53, 0x29, 0x7A, 0x7D, 0x13, 0x2C, 0x8E, 0x66, 0xC4, + 0x5E, 0x1D, 0xA1, 0x8D, 0x87, 0x30, 0x88, 0x07, 0x3B, 0xC1, 0x94, 0x39, 0xF4, 0xA3, 0xA6, 0xC1, + 0x43, 0x30, 0x6B, 0xB3, 0x1F, 0x7A, 0x56, 0xBA, 0x26, 0x4C, 0xEC, 0x77, 0xA2, 0xF9, 0x3B, 0x20, + 0x09, 0x1E, 0x8F, 0x27, 0x0F, 0x53, 0x79, 0x25, 0x72, 0x25, 0x0D, 0x83, 0x9C, 0xDA, 0x7F, 0x85, + 0x50, 0xFE, 0x04, 0x0D, 0xEC, 0xBC, 0x1F, 0xAE, 0xD3, 0x74, 0x9A, 0xA6, 0x44, 0x3D, 0xE3, 0x26, + 0xC6, 0x76, 0x69, 0xFF, 0x22, 0x74, 0xE9, 0x5D, 0xBE, 0x5C, 0x15, 0xE5, 0xEA, 0x4A, 0x90, 0x4F, + 0x2D, 0xF7, 0xBA, 0x27, 0xE7, 0x60, 0xE9, 0xFB, 0xC8, 0x56, 0xE2, 0x56, 0x47, 0xA8, 0x61, 0x90, + 0x06, 0x55, 0x09, 0x68, 0xAF, 0x26, 0x18, 0x0B, 0xD5, 0x59, 0x92, 0x9A, 0x37, 0x01, 0x79, 0xB2, + 0xEC, 0x59, 0x77, 0x31, 0x9C, 0x69, 0xFD, 0xA4, 0x2C, 0x05, 0x9B, 0x86, 0xC3, 0x86, 0xAB, 0xD1, + 0xFF, 0xD9, 0xD8, 0x19, 0x20, 0xBB, 0x33, 0x81, 0x91, 0x20, 0x1A, 0x51, 0x56, 0x22, 0x2F, 0x23, + 0xBC, 0xCB, 0xCA, 0xBC, 0x8C, 0x83, 0xC9, 0x43, 0xBE, 0xFD, 0xB8, 0xBE, 0xDF, 0xE2, 0x21, 0xDB, + 0x6C, 0xB2, 0x62, 0x9B, 0xAF, 0x4A, 0xAC, 0x37, 0x58, 0xAE, 0x8B, 0xDB, 0x7C, 0x9B, 0xAF, 0x0B, + 0x39, 0xBD, 0x47, 0x56, 0x3C, 0xE2, 0x53, 0x5E, 0xDC, 0xC6, 0x20, 0x96, 0x11, 0x56, 0x76, 0x39, + 0x58, 0x49, 0x10, 0x30, 0x39, 0xEC, 0x92, 0x9A, 0xE7, 0xC5, 0x95, 0x44, 0x67, 0x08, 0xAD, 0x79, + 0x41, 0x72, 0x03, 0xD5, 0xDC, 0x72, 0x2D, 0xD1, 0x74, 0x37, 0xAA, 0x8E, 0xD0, 0x99, 0x03, 0x59, + 0x2D, 0x89, 0x30, 0x90, 0xDD, 0xB3, 0x0B, 0x77, 0xEA, 0x04, 0xB0, 0x09, 0x36, 0x3D, 0xEF, 0xD9, + 0x2B, 0x1F, 0x7E, 0xFD, 0x9F, 0x2B, 0x0C, 0x4A, 0x67, 0xEB, 0xEA, 0x1B, 0xD5, 0x3E, 0x69, 0xA8, + 0x65, 0x4D, 0x5F, 0xAC, 0x11, 0x17, 0x7F, 0xBC, 0x10, 0x2C, 0x63, 0xBD, 0x8B, 0x11, 0x3D, 0x3D, + 0x91, 0xFB, 0x6C, 0x9A, 0xB1, 0xA7, 0x28, 0xC6, 0x4F, 0x1C, 0x54, 0x3F, 0xD2, 0x35, 0xBC, 0x1D, + 0x09, 0xBF, 0xE4, 0xA1, 0xFC, 0x06, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, + 0xE0, 0x79, 0x5A, 0x0B, 0x36, 0xC7, 0x8B, 0x48, 0xD1, 0x07, 0x00, 0x00, 0xF7, 0x14, 0x00, 0x00, + 0x4B, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, + 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, + 0x6C, 0x69, 0x62, 0x2F, 0x69, 0x6E, 0x73, 0x74, 0x61, 0x6E, 0x63, 0x65, 0x2D, 0x69, 0x64, 0x2F, + 0x69, 0x6E, 0x73, 0x74, 0x61, 0x6E, 0x63, 0x65, 0x2D, 0x69, 0x64, 0x2D, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x2D, 0x69, 0x6E, 0x74, 0x65, 0x72, 0x6E, 0x61, 0x6C, 0x2E, 0x6A, 0x73, 0xB5, + 0x58, 0x69, 0x8F, 0xD3, 0x30, 0x10, 0xFD, 0xCE, 0xAF, 0x18, 0xFA, 0x81, 0xB6, 0xB0, 0xA4, 0x9C, + 0x42, 0xDC, 0x94, 0xA5, 0x40, 0x38, 0xB6, 0x68, 0x5B, 0x40, 0x08, 0x50, 0x65, 0x12, 0xB7, 0x35, + 0xA4, 0x71, 0xB0, 0x9D, 0x96, 0x82, 0xF6, 0xBF, 0xF3, 0xC6, 0xB9, 0xDA, 0x52, 0x2E, 0x09, 0x22, + 0x41, 0x37, 0xF1, 0x78, 0xE6, 0xCD, 0x78, 0xE6, 0x79, 0xEC, 0xDE, 0xD9, 0xD3, 0x34, 0x55, 0x46, + 0x7E, 0x10, 0x56, 0x9E, 0x17, 0xF1, 0x42, 0xA5, 0xB4, 0xBC, 0x1E, 0x5C, 0x09, 0x2E, 0xD1, 0xD9, + 0xDE, 0xA9, 0x56, 0x6E, 0x25, 0x59, 0x67, 0x54, 0xE4, 0x5A, 0x37, 0x4F, 0x41, 0xF4, 0x14, 0x9D, + 0xA5, 0x7B, 0x89, 0x8A, 0x64, 0x6A, 0x25, 0xFF, 0x7D, 0xA8, 0xB3, 0xB5, 0x51, 0xB3, 0xB9, 0xA3, + 0x4B, 0x17, 0x2E, 0x5E, 0xA3, 0x47, 0x5A, 0xCF, 0x12, 0x49, 0x61, 0x1A, 0x05, 0x18, 0x65, 0x81, + 0x67, 0x85, 0x6C, 0x4C, 0x79, 0x1A, 0x4B, 0x43, 0x6E, 0x2E, 0xA9, 0x9F, 0x89, 0x08, 0x3F, 0xE5, + 0xC8, 0x01, 0xBD, 0x92, 0xC6, 0x2A, 0x9D, 0xD2, 0xA5, 0xE0, 0x02, 0x75, 0x58, 0xA0, 0x55, 0x0E, + 0xB5, 0xBA, 0x37, 0x59, 0xC5, 0x5A, 0xE7, 0xB4, 0x10, 0x6B, 0x4A, 0xB5, 0x23, 0xE0, 0x81, 0x0E, + 0x65, 0x01, 0x19, 0x76, 0xE4, 0x97, 0x48, 0x66, 0x8E, 0x00, 0x39, 0xD2, 0x8B, 0x2C, 0x51, 0x22, + 0x8D, 0x24, 0xAD, 0x94, 0x9B, 0x43, 0xA6, 0x36, 0x10, 0xB0, 0x8E, 0x37, 0xA5, 0x0E, 0xFD, 0xC1, + 0x09, 0x88, 0x0B, 0x4C, 0xC8, 0xF0, 0x36, 0xDD, 0x14, 0x24, 0xE1, 0x4A, 0xD0, 0x44, 0x73, 0xE7, + 0xB2, 0x1B, 0xBD, 0xDE, 0x6A, 0xB5, 0x0A, 0x84, 0x87, 0x1B, 0x68, 0x33, 0xEB, 0x95, 0x8E, 0xDB, + 0xDE, 0xB3, 0xF0, 0x70, 0x70, 0x34, 0x1A, 0x9C, 0x07, 0xE4, 0x72, 0xCA, 0xCB, 0x34, 0x91, 0xD6, + 0x92, 0x91, 0x9F, 0x73, 0x65, 0xE0, 0xEE, 0x87, 0x35, 0x89, 0x2C, 0xC3, 0x04, 0xF1, 0x01, 0x40, + 0x13, 0xB1, 0x22, 0x6D, 0x48, 0xCC, 0x8C, 0xC4, 0x98, 0xD3, 0x0C, 0x79, 0x65, 0x94, 0x53, 0xE9, + 0xEC, 0x80, 0xAC, 0x9E, 0xBA, 0x95, 0x30, 0x3E, 0x9E, 0xB1, 0xE2, 0x68, 0x7F, 0xC8, 0x5D, 0x15, + 0xB1, 0x2D, 0x80, 0xCA, 0x6E, 0x09, 0x68, 0x38, 0x92, 0x52, 0xAB, 0x3F, 0xA2, 0x70, 0xD4, 0xA2, + 0xFB, 0xFD, 0x51, 0x38, 0x3A, 0x60, 0x25, 0xAF, 0xC3, 0xF1, 0xE3, 0xE1, 0xCB, 0x31, 0xBD, 0xEE, + 0x1F, 0x1F, 0xF7, 0x8F, 0xC6, 0xE1, 0x60, 0x44, 0xC3, 0x63, 0x3A, 0x1C, 0x1E, 0x3D, 0x08, 0xC7, + 0xE1, 0xF0, 0x08, 0x6F, 0x0F, 0xA9, 0x7F, 0xF4, 0x86, 0x9E, 0x86, 0x47, 0x0F, 0x0E, 0x48, 0x2A, + 0x98, 0x30, 0x88, 0x65, 0x66, 0xE0, 0x01, 0xC3, 0x54, 0x1C, 0x4B, 0x19, 0xFB, 0xC0, 0x8D, 0xA4, + 0xDC, 0x82, 0x30, 0xD5, 0x05, 0x24, 0x9B, 0xC9, 0x48, 0x4D, 0x55, 0x04, 0xD7, 0xD2, 0x59, 0x2E, + 0x66, 0x92, 0x66, 0x7A, 0x29, 0x4D, 0x0A, 0x8F, 0x28, 0x93, 0x66, 0xA1, 0x2C, 0xAF, 0xA9, 0x05, + 0xC0, 0x98, 0xD5, 0x24, 0x6A, 0xA1, 0x9C, 0x70, 0xFC, 0xE9, 0x47, 0xBF, 0xD8, 0x50, 0xEF, 0xD4, + 0xF0, 0xC3, 0x47, 0x19, 0xB9, 0x20, 0x96, 0x53, 0x95, 0xCA, 0x17, 0x46, 0x43, 0x8B, 0x5B, 0x77, + 0x00, 0x4B, 0x1B, 0x67, 0x0F, 0xA8, 0x35, 0x99, 0x48, 0xFB, 0x5C, 0xC7, 0x79, 0x22, 0x5B, 0x07, + 0xF4, 0x8D, 0x96, 0x22, 0xC9, 0xE5, 0x0D, 0x72, 0x26, 0x97, 0x74, 0x82, 0x44, 0x29, 0x05, 0x83, + 0x87, 0x65, 0x2E, 0x87, 0xA9, 0x75, 0x9C, 0x0F, 0x61, 0x7C, 0x8C, 0x35, 0x91, 0xD6, 0x3D, 0x06, + 0x94, 0x04, 0x86, 0x6F, 0xD3, 0x52, 0xAB, 0x98, 0x2E, 0xDC, 0x3C, 0xB5, 0x14, 0x70, 0xDB, 0x18, + 0x6D, 0x26, 0x17, 0xF1, 0xB5, 0x5C, 0xBA, 0x4E, 0x2B, 0x08, 0x7A, 0xB9, 0x53, 0x89, 0xED, 0xF9, + 0xB1, 0x56, 0xB7, 0x10, 0x14, 0x99, 0x9A, 0x98, 0x42, 0xD3, 0x4F, 0xC4, 0x21, 0x71, 0xBE, 0x94, + 0xA8, 0x26, 0xF9, 0x81, 0xBD, 0xC2, 0x0A, 0x41, 0xF8, 0x52, 0x8A, 0xB1, 0x2F, 0x2A, 0x16, 0x4E, + 0x9B, 0xBD, 0xA2, 0xF5, 0x28, 0x8B, 0xF7, 0xCE, 0x9E, 0xA5, 0xCA, 0x45, 0x0A, 0xC3, 0x07, 0xF4, + 0x41, 0x44, 0x9F, 0x64, 0x1A, 0xD3, 0x5C, 0x5B, 0x17, 0x20, 0x8E, 0x5E, 0xE1, 0xC3, 0xF0, 0x78, + 0x80, 0x7C, 0x18, 0x4C, 0x20, 0x31, 0x79, 0x3C, 0x1C, 0x8D, 0xA1, 0xB8, 0x1D, 0x21, 0xF8, 0x3A, + 0x91, 0x41, 0x55, 0xED, 0xC1, 0xCC, 0x57, 0x6B, 0x80, 0xDA, 0x69, 0xFF, 0x42, 0x71, 0x26, 0xDC, + 0x7C, 0xBF, 0xE2, 0x17, 0xFD, 0xF1, 0x63, 0x56, 0xDC, 0x5B, 0x5E, 0xEC, 0xED, 0xD3, 0x50, 0x06, + 0x83, 0x9C, 0x5A, 0x48, 0x9D, 0x3B, 0x8A, 0x73, 0xE3, 0x53, 0x80, 0xB3, 0x7F, 0xA1, 0x92, 0x44, + 0x59, 0x09, 0x4C, 0xB1, 0xDD, 0xAF, 0x7D, 0x1C, 0x3E, 0x1F, 0x0C, 0x5F, 0x32, 0xF2, 0x8B, 0x17, + 0xF0, 0x14, 0xFA, 0x1F, 0x8F, 0xC7, 0x2F, 0x8A, 0x35, 0x43, 0x05, 0xC7, 0x12, 0x05, 0x27, 0xA0, + 0x85, 0xCB, 0x8D, 0x13, 0xAA, 0xC6, 0x6C, 0xA5, 0x41, 0x32, 0xD6, 0x7A, 0x07, 0xC7, 0xC7, 0xC3, + 0xE3, 0xC9, 0xE1, 0xF0, 0xC1, 0x60, 0x04, 0x75, 0xDF, 0x4E, 0x11, 0x9E, 0x2B, 0x17, 0x2E, 0xDC, + 0xA0, 0xF6, 0x73, 0x91, 0x20, 0xA3, 0x17, 0xD0, 0xA0, 0xCA, 0x7C, 0x21, 0x00, 0x17, 0x66, 0x96, + 0x2F, 0x64, 0xEA, 0x82, 0xF6, 0x41, 0x29, 0x7B, 0x11, 0xB2, 0x65, 0x1E, 0x79, 0x1E, 0x12, 0xB9, + 0x9B, 0x6B, 0xA3, 0xBE, 0xCA, 0xB8, 0x91, 0xB9, 0x0C, 0x19, 0xE4, 0x2D, 0xB2, 0x18, 0xAE, 0x6A, + 0x69, 0xBD, 0xE0, 0x42, 0xB8, 0x68, 0xBE, 0xA5, 0xBC, 0x2C, 0xA0, 0x08, 0x25, 0x96, 0x6E, 0x08, + 0xCE, 0xC5, 0x12, 0x55, 0x95, 0x4F, 0x51, 0x53, 0x7E, 0x20, 0x33, 0x6A, 0x09, 0x8E, 0x9B, 0x49, + 0xDB, 0x58, 0xB8, 0x02, 0x0B, 0x0F, 0x05, 0xBE, 0x7A, 0x0E, 0x99, 0x22, 0x87, 0x58, 0xD5, 0xA6, + 0xF6, 0x46, 0xF6, 0x3A, 0x64, 0xFB, 0x89, 0x91, 0x22, 0x5E, 0x53, 0x2C, 0x13, 0xE9, 0x36, 0xA0, + 0x5E, 0xBA, 0xDE, 0xB8, 0x03, 0x0D, 0x46, 0x3B, 0xC7, 0x3A, 0xB1, 0x46, 0xFB, 0x03, 0x59, 0x4D, + 0xBC, 0xEA, 0x63, 0x16, 0xA6, 0x0E, 0x85, 0x2E, 0x92, 0x72, 0xD0, 0x2F, 0x47, 0x23, 0xE2, 0xC3, + 0x70, 0x7F, 0x6B, 0xBA, 0x45, 0x40, 0x25, 0x69, 0x96, 0x8D, 0x98, 0x4D, 0x95, 0x5B, 0x07, 0x34, + 0x36, 0x6B, 0xF0, 0x21, 0x93, 0x71, 0x22, 0x5C, 0x61, 0xE2, 0xC4, 0xAF, 0xB1, 0xDF, 0x56, 0x12, + 0x61, 0x2D, 0x80, 0x08, 0x8E, 0x83, 0x5E, 0x2A, 0x5E, 0xE9, 0x85, 0x8C, 0xE6, 0x22, 0x55, 0x76, + 0xC1, 0xBE, 0x5B, 0x68, 0xAF, 0xF2, 0xCB, 0xE2, 0x83, 0x07, 0xDD, 0x24, 0x5F, 0x13, 0x90, 0xDA, + 0x13, 0xFC, 0xCB, 0xB4, 0x4A, 0xC1, 0x10, 0xA7, 0xAA, 0xB4, 0xF8, 0x03, 0xAA, 0xE0, 0x9C, 0xBB, + 0x17, 0x31, 0x1A, 0x4C, 0xA2, 0xCE, 0x34, 0x4F, 0x23, 0x9F, 0xC1, 0x9D, 0x6E, 0x99, 0x46, 0x1E, + 0x30, 0x3F, 0x90, 0xCB, 0x84, 0x11, 0x0B, 0xFA, 0x56, 0xA9, 0xED, 0x67, 0xD9, 0x09, 0x6F, 0x02, + 0x34, 0x9E, 0x4B, 0xFF, 0x9B, 0xDB, 0x72, 0xE1, 0x24, 0xE7, 0x84, 0x88, 0x22, 0xF0, 0x2D, 0xDE, + 0x01, 0xCF, 0x7A, 0x9F, 0xD4, 0x2C, 0xA5, 0xFE, 0x8B, 0xB0, 0xF6, 0x2B, 0x28, 0x34, 0x37, 0x06, + 0xB8, 0x82, 0x41, 0x78, 0x11, 0xB8, 0xA0, 0xFC, 0xD6, 0xF3, 0xBF, 0x15, 0xAC, 0xDF, 0x7A, 0xD4, + 0x01, 0x0C, 0x8F, 0xBC, 0x78, 0xFC, 0x56, 0x1A, 0x30, 0xB4, 0xDB, 0x0C, 0xF0, 0xE6, 0xF6, 0x77, + 0x66, 0x14, 0x0C, 0xFC, 0xC0, 0x25, 0x3B, 0x62, 0x55, 0x75, 0xDF, 0xDE, 0x57, 0xBE, 0xBB, 0xC2, + 0xBC, 0xAF, 0x1E, 0x72, 0xE6, 0xB3, 0x7C, 0x2A, 0x57, 0xDB, 0xB4, 0x1A, 0xF4, 0xEB, 0xB2, 0x7A, + 0x5C, 0x0B, 0x7A, 0xCC, 0x85, 0x9A, 0x13, 0xFE, 0xFF, 0xB7, 0x4E, 0x06, 0x19, 0x12, 0x5A, 0xBB, + 0x75, 0x26, 0x83, 0x22, 0xF1, 0x1B, 0x41, 0x18, 0x6D, 0x96, 0x50, 0xD5, 0x9F, 0x37, 0x43, 0xA2, + 0xA6, 0xD4, 0x39, 0x5D, 0x53, 0x6E, 0xA0, 0xEC, 0x91, 0x4E, 0x07, 0x8B, 0xCC, 0xAD, 0x47, 0xCE, + 0x60, 0x73, 0xDB, 0x9C, 0x55, 0x4C, 0x6B, 0x1E, 0x23, 0x5D, 0x6E, 0x52, 0x02, 0x07, 0x2C, 0x14, + 0xE8, 0xD5, 0x48, 0xA6, 0x82, 0x0E, 0xBC, 0xAC, 0x76, 0x99, 0x3D, 0x9B, 0xD3, 0x80, 0x47, 0x3A, + 0xD5, 0x78, 0xF3, 0xBD, 0xF0, 0xDD, 0x8F, 0x1E, 0x82, 0xE8, 0x82, 0xF0, 0xE8, 0x55, 0xFF, 0x19, + 0xC2, 0x1A, 0x1E, 0x8D, 0xC6, 0xFD, 0xA3, 0x43, 0xC4, 0x18, 0x5B, 0x77, 0x7B, 0x33, 0xD1, 0x17, + 0x39, 0x96, 0xEB, 0x03, 0x32, 0x0D, 0x74, 0x92, 0x9E, 0x97, 0x0C, 0x99, 0xAC, 0xC7, 0x1C, 0xB4, + 0xBB, 0x65, 0x00, 0x9B, 0x20, 0x36, 0x78, 0x8B, 0x85, 0x51, 0xE9, 0x12, 0x89, 0xB8, 0x93, 0x2D, + 0x7B, 0x16, 0x28, 0x53, 0x23, 0xE9, 0xB8, 0x6F, 0xB1, 0x1B, 0x91, 0x00, 0x92, 0x07, 0x83, 0x67, + 0x83, 0xF1, 0xA0, 0x36, 0x74, 0x72, 0x73, 0xB7, 0x3A, 0x42, 0x6F, 0xC0, 0x72, 0xA1, 0xD6, 0x1B, + 0xC3, 0xBC, 0xAC, 0x33, 0x84, 0xC4, 0xB7, 0x33, 0x3C, 0xE8, 0x2B, 0xC0, 0x96, 0x36, 0x48, 0xFB, + 0xA6, 0x00, 0x7B, 0x90, 0x85, 0x44, 0x59, 0x0F, 0x3F, 0x14, 0xDC, 0x06, 0x28, 0x14, 0x5C, 0xF3, + 0x42, 0xE3, 0x42, 0x5D, 0x5D, 0xFB, 0x8D, 0x5E, 0xA7, 0x7D, 0x7B, 0xB6, 0xC6, 0x1F, 0x35, 0x1A, + 0xE1, 0x29, 0xC5, 0x66, 0x9A, 0x5B, 0x92, 0xDA, 0x46, 0x19, 0xA4, 0x6F, 0xE5, 0xAA, 0xDE, 0xE2, + 0xE6, 0xE1, 0xCE, 0x09, 0xF5, 0x29, 0x2B, 0x3E, 0x78, 0x96, 0xE2, 0x79, 0x3A, 0x59, 0xC2, 0xBD, + 0xD5, 0x5C, 0xA6, 0x5B, 0x3E, 0x2A, 0x5B, 0x34, 0xA7, 0xD2, 0xD5, 0x4A, 0x7B, 0x7F, 0x9B, 0xC6, + 0xFB, 0x16, 0x67, 0x2B, 0x95, 0x37, 0x9C, 0xDE, 0x4C, 0x4A, 0x26, 0xB9, 0x09, 0x2F, 0x2F, 0x84, + 0xF9, 0xE7, 0xE6, 0xDE, 0xA5, 0x9F, 0x49, 0xF7, 0x02, 0x7B, 0xFC, 0x0B, 0x83, 0xCE, 0xEB, 0x4B, + 0xA7, 0xBB, 0x95, 0xD2, 0x81, 0x83, 0x3F, 0x1B, 0xB4, 0xC7, 0xCD, 0x40, 0x6D, 0xA1, 0xB1, 0xC2, + 0xDE, 0x16, 0x3B, 0xEB, 0xCE, 0x93, 0x9B, 0xE4, 0x06, 0xB5, 0xB8, 0xEA, 0x2D, 0xDA, 0xE9, 0x16, + 0x9D, 0xA3, 0x49, 0xCD, 0x2D, 0x78, 0x61, 0x75, 0xF8, 0x69, 0xE0, 0x7B, 0x34, 0x83, 0x72, 0xB9, + 0x3A, 0xDD, 0x83, 0x1F, 0x14, 0x2E, 0x24, 0x18, 0x22, 0xBE, 0xB1, 0x3B, 0x85, 0xE9, 0xE2, 0xB9, + 0x1F, 0xDA, 0x37, 0xA9, 0xA4, 0xA8, 0x1B, 0xA5, 0xF1, 0xF2, 0x75, 0x5B, 0xEE, 0xE4, 0xE6, 0xBE, + 0x5A, 0x9E, 0xEC, 0xB0, 0x56, 0xC0, 0x1B, 0x4F, 0x07, 0xDE, 0x6E, 0x16, 0xD4, 0xAF, 0x43, 0xB6, + 0x1B, 0xAE, 0x5E, 0xAF, 0x54, 0xCE, 0xDB, 0xFE, 0x1C, 0x0E, 0x70, 0xE2, 0xDB, 0xDC, 0xEF, 0x06, + 0x3F, 0xD5, 0x19, 0x71, 0x1B, 0xD1, 0x28, 0x65, 0xC2, 0xD8, 0xD5, 0xAB, 0xA6, 0xFE, 0x73, 0xDD, + 0x0D, 0xE8, 0xE9, 0x4E, 0xED, 0x72, 0x8C, 0x98, 0x50, 0xEA, 0x99, 0x3B, 0x8B, 0x58, 0x27, 0x3F, + 0x56, 0x12, 0x8A, 0x82, 0xEA, 0xF5, 0xE6, 0x0F, 0xC2, 0x75, 0xE3, 0xFC, 0x1C, 0x98, 0xC5, 0x8C, + 0x27, 0x74, 0x2A, 0x69, 0x30, 0xE6, 0x13, 0xAB, 0x53, 0xB8, 0x7D, 0xE6, 0x0C, 0xB5, 0xBD, 0x54, + 0x9B, 0x1B, 0xBE, 0x7A, 0x1C, 0xBC, 0x2A, 0xBA, 0x74, 0xB7, 0x51, 0xDA, 0x3C, 0xDB, 0x42, 0x41, + 0xD1, 0xE7, 0xDD, 0x68, 0xBE, 0x3A, 0xF9, 0xC5, 0xED, 0x47, 0xE3, 0xC0, 0x77, 0xE8, 0x23, 0x80, + 0x64, 0xB3, 0xD9, 0x7B, 0x5B, 0xCF, 0x44, 0x48, 0x5C, 0x6E, 0xDF, 0xEF, 0x9F, 0xBC, 0xA8, 0xBC, + 0xA8, 0xD5, 0xFC, 0x04, 0x5E, 0x6B, 0x93, 0x6F, 0xDF, 0xB5, 0x5A, 0xBF, 0x4A, 0x5D, 0x8C, 0xB5, + 0xDE, 0xB5, 0x6E, 0x10, 0x84, 0x1A, 0xB5, 0x37, 0xB6, 0xC2, 0xF6, 0x03, 0x1A, 0xDF, 0x8B, 0xAD, + 0xE8, 0xDF, 0xEC, 0x18, 0x20, 0xBE, 0x89, 0x8F, 0xC5, 0x41, 0xE5, 0x60, 0x77, 0xDB, 0xE0, 0xC9, + 0x6E, 0x5A, 0x86, 0x38, 0x47, 0xC3, 0x14, 0x8E, 0xC5, 0x55, 0xC5, 0x58, 0x4F, 0x8A, 0x9A, 0x0F, + 0x88, 0x40, 0xE5, 0x56, 0xDA, 0x7C, 0x2A, 0x90, 0xD9, 0x03, 0x4F, 0x72, 0xCD, 0x2E, 0x5D, 0xE6, + 0x34, 0x26, 0xEC, 0x6A, 0xAD, 0x3C, 0xF0, 0xC8, 0x70, 0xEA, 0x05, 0xEF, 0xFA, 0x76, 0x9B, 0x15, + 0x34, 0x4B, 0x4B, 0x23, 0x3E, 0x75, 0xAE, 0xCB, 0x08, 0x28, 0x47, 0x30, 0x09, 0xC2, 0xFC, 0x21, + 0x38, 0x6C, 0x7E, 0xA3, 0xF4, 0xEA, 0xED, 0xE6, 0x6F, 0x29, 0x75, 0x8B, 0xF4, 0xB6, 0xB8, 0xF4, + 0xCF, 0x08, 0x94, 0xAB, 0xCD, 0x73, 0x03, 0x53, 0xD8, 0x6F, 0x1B, 0x01, 0xBF, 0x39, 0x34, 0xF2, + 0xBF, 0xD8, 0x8D, 0x8B, 0x23, 0x63, 0xC0, 0xBD, 0x7D, 0x79, 0x96, 0x08, 0xE3, 0x4E, 0xD5, 0xA6, + 0xFD, 0x86, 0x9B, 0x2B, 0xF9, 0x0A, 0xCE, 0x9F, 0xB6, 0x34, 0xCD, 0xC4, 0x6A, 0xE6, 0xCE, 0x12, + 0xF6, 0xB1, 0xFB, 0x1A, 0xE7, 0xCF, 0xFE, 0x22, 0xC5, 0x4D, 0x01, 0xDF, 0x6B, 0x60, 0x89, 0x78, + 0x5E, 0xE4, 0xB8, 0x16, 0x3A, 0xE5, 0x25, 0xC2, 0x52, 0x09, 0x42, 0xDB, 0x3B, 0xCC, 0xFC, 0x49, + 0xBF, 0x3E, 0xEA, 0xF0, 0x64, 0xE5, 0xAC, 0x4C, 0xA6, 0xDD, 0xE0, 0xBF, 0xE6, 0x7C, 0xD5, 0x25, + 0xBD, 0x38, 0x1E, 0x3E, 0x19, 0x1C, 0x8E, 0x8B, 0x26, 0xA9, 0x39, 0x31, 0xC5, 0xD2, 0xF1, 0xD5, + 0x44, 0x2A, 0xC9, 0xBB, 0xEC, 0xB1, 0x7B, 0xAF, 0x1A, 0x8D, 0x01, 0xFE, 0xC6, 0xBD, 0x0C, 0x82, + 0xF5, 0xB5, 0xB8, 0xF8, 0x68, 0xEF, 0x65, 0x82, 0x73, 0xD4, 0x1E, 0x3D, 0x78, 0xEA, 0xEF, 0x9A, + 0xFC, 0x21, 0x07, 0x17, 0x19, 0xDC, 0xD0, 0xEB, 0x1C, 0x95, 0x10, 0xE1, 0xFE, 0x47, 0xA6, 0xAC, + 0x83, 0x23, 0xC0, 0x3D, 0xC7, 0xA6, 0x39, 0xC1, 0x35, 0xE5, 0x8F, 0x03, 0xDA, 0x47, 0x29, 0xF8, + 0xB9, 0x85, 0x7E, 0xE2, 0x0F, 0x5A, 0x4E, 0x2D, 0x65, 0xB2, 0x66, 0x3D, 0x1E, 0xD0, 0xA3, 0xE1, + 0xF0, 0xD1, 0xB3, 0xC1, 0xE4, 0xF0, 0xD9, 0xF0, 0x65, 0xED, 0x28, 0x3A, 0x9C, 0xA5, 0x32, 0x3A, + 0xE5, 0x43, 0x2B, 0x27, 0xAD, 0xE2, 0x5B, 0xA7, 0xA0, 0xFD, 0xCB, 0x82, 0x9F, 0xD4, 0xE9, 0x48, + 0xB7, 0x7F, 0x3C, 0xD7, 0xC3, 0x7E, 0xA7, 0x55, 0xC2, 0xF6, 0xFB, 0x76, 0x9D, 0x24, 0x4C, 0x6C, + 0xBD, 0xA6, 0xF7, 0xEB, 0xB5, 0xBA, 0x7B, 0x77, 0xCE, 0x46, 0xFD, 0xDE, 0x72, 0xAD, 0x25, 0x7F, + 0x7F, 0x68, 0xB9, 0x79, 0xEA, 0xA4, 0xD3, 0xFD, 0xBB, 0x1B, 0x9E, 0x87, 0xBF, 0x55, 0xF9, 0x1D, + 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x72, 0xC8, + 0x34, 0x04, 0x87, 0x05, 0x00, 0x00, 0x01, 0x0E, 0x00, 0x00, 0x3A, 0x00, 0x00, 0x00, 0x6E, 0x6F, + 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, + 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x69, 0x6E, + 0x73, 0x74, 0x61, 0x6E, 0x63, 0x65, 0x2D, 0x69, 0x64, 0x2F, 0x69, 0x6E, 0x73, 0x74, 0x61, 0x6E, + 0x63, 0x65, 0x2D, 0x69, 0x64, 0x2E, 0x6A, 0x73, 0xA5, 0x57, 0x6D, 0x6F, 0x12, 0x41, 0x10, 0xFE, + 0xCE, 0xAF, 0x18, 0xF1, 0x83, 0x60, 0xF0, 0x4E, 0x8D, 0x5F, 0xB4, 0x6A, 0x8A, 0x6D, 0xD5, 0x8B, + 0x4A, 0x0D, 0xA0, 0xC6, 0x18, 0x43, 0x97, 0xBB, 0x01, 0x56, 0x8F, 0xDD, 0x73, 0x77, 0x0F, 0x24, + 0x95, 0xFF, 0xEE, 0xEC, 0xEE, 0xBD, 0x16, 0x34, 0x26, 0x36, 0x69, 0x0F, 0x6E, 0x66, 0x9F, 0x79, + 0xE6, 0x7D, 0x1B, 0xDE, 0xBD, 0x05, 0x0B, 0xAE, 0x70, 0xCE, 0x34, 0xDE, 0x63, 0xC9, 0x9A, 0x0B, + 0xD8, 0x3C, 0x0E, 0x1E, 0x05, 0x0F, 0xE1, 0x6E, 0xD8, 0xE9, 0xE6, 0x1A, 0x41, 0x1B, 0xC5, 0x63, + 0xD3, 0x3D, 0xE9, 0x90, 0x6A, 0x07, 0xEE, 0xC2, 0x99, 0xCC, 0x76, 0x8A, 0x2F, 0x57, 0x06, 0x1E, + 0xDE, 0x7F, 0x78, 0x1F, 0x5E, 0x49, 0xB9, 0x4C, 0x11, 0x22, 0x11, 0x07, 0x24, 0xB5, 0x0A, 0x6F, + 0x79, 0x8C, 0x42, 0x63, 0x02, 0xB9, 0x48, 0x50, 0x81, 0x59, 0x21, 0x0C, 0x33, 0x16, 0xD3, 0xA3, + 0x90, 0x0C, 0xE0, 0x23, 0x2A, 0xCD, 0xA5, 0x80, 0x87, 0xC1, 0x7D, 0xE8, 0x59, 0x85, 0x6E, 0x21, + 0xEA, 0xF6, 0x4F, 0x2C, 0xC4, 0x4E, 0xE6, 0xB0, 0x66, 0x3B, 0x10, 0xD2, 0x00, 0x71, 0x20, 0x0C, + 0xAE, 0x89, 0x26, 0xD9, 0xC1, 0x9F, 0x31, 0x66, 0x06, 0x88, 0x66, 0x2C, 0xD7, 0x59, 0xCA, 0x99, + 0x88, 0x11, 0xB6, 0xDC, 0xAC, 0x48, 0xA7, 0x32, 0x10, 0x58, 0x8C, 0xCF, 0x05, 0x86, 0x9C, 0x1B, + 0x46, 0xEA, 0x8C, 0x0E, 0x64, 0xF4, 0x6D, 0xD1, 0x54, 0x04, 0x66, 0x0A, 0xD2, 0x00, 0x2B, 0x63, + 0xB2, 0x27, 0x61, 0xB8, 0xDD, 0x6E, 0x03, 0xE6, 0xE8, 0x06, 0x52, 0x2D, 0xC3, 0xD4, 0x2B, 0xEA, + 0xF0, 0x6D, 0x74, 0x76, 0x31, 0x9A, 0x5C, 0xDC, 0x23, 0xCA, 0xC5, 0x91, 0x0F, 0x22, 0x45, 0xAD, + 0x41, 0xE1, 0x8F, 0x9C, 0x2B, 0x72, 0x77, 0xBE, 0x03, 0x96, 0x65, 0x74, 0x80, 0xCD, 0x89, 0x68, + 0xCA, 0xB6, 0x20, 0x15, 0xB0, 0xA5, 0x42, 0x92, 0x19, 0x69, 0x29, 0x6F, 0x15, 0x37, 0x5C, 0x2C, + 0x07, 0xA0, 0xE5, 0xC2, 0x6C, 0x99, 0x42, 0x0B, 0x93, 0x70, 0x1B, 0xE1, 0x79, 0x6E, 0xCA, 0x88, + 0xB5, 0x08, 0x72, 0xDD, 0x52, 0x90, 0xE4, 0x88, 0x80, 0xEE, 0x70, 0x02, 0xD1, 0xA4, 0x0B, 0x2F, + 0x86, 0x93, 0x68, 0x32, 0xB0, 0x20, 0x9F, 0xA2, 0xE9, 0xEB, 0xCB, 0x0F, 0x53, 0xF8, 0x34, 0x1C, + 0x8F, 0x87, 0xA3, 0x69, 0x74, 0x31, 0x81, 0xCB, 0x31, 0x9C, 0x5D, 0x8E, 0xCE, 0xA3, 0x69, 0x74, + 0x39, 0xA2, 0x6F, 0x2F, 0x61, 0x38, 0xFA, 0x0C, 0x6F, 0xA2, 0xD1, 0xF9, 0x00, 0x90, 0x93, 0x09, + 0x45, 0xB1, 0xCC, 0x14, 0x79, 0x60, 0x69, 0x72, 0x1B, 0x4B, 0x4C, 0x5C, 0xE0, 0x26, 0x88, 0x2D, + 0x0A, 0x0B, 0xE9, 0x29, 0xE9, 0x0C, 0x63, 0xBE, 0xE0, 0x31, 0xB9, 0x26, 0x96, 0x39, 0x5B, 0x22, + 0x2C, 0xE5, 0x06, 0x95, 0x20, 0x8F, 0x20, 0x43, 0xB5, 0xE6, 0xDA, 0xE6, 0x54, 0x13, 0xC1, 0xC4, + 0xC2, 0xA4, 0x7C, 0xCD, 0x0D, 0x33, 0xF6, 0xD5, 0xA1, 0x5F, 0xD6, 0x50, 0xD8, 0xB9, 0x9C, 0x7F, + 0xC3, 0xD8, 0x04, 0x09, 0x2E, 0xB8, 0xC0, 0xF7, 0x4A, 0x12, 0x8A, 0xD9, 0xF5, 0x88, 0x96, 0x54, + 0x46, 0x0F, 0xA0, 0x3B, 0x9B, 0xA1, 0x7E, 0x27, 0x93, 0x3C, 0xC5, 0xEE, 0x00, 0xAE, 0x61, 0xC3, + 0xD2, 0x1C, 0x9F, 0x80, 0x51, 0x39, 0xC2, 0x9E, 0x0A, 0xA5, 0x50, 0x0C, 0x22, 0xA1, 0x8D, 0xAD, + 0x83, 0x28, 0x81, 0x67, 0xB0, 0x91, 0x3C, 0x81, 0xFB, 0x27, 0x9D, 0x0D, 0x23, 0x07, 0x95, 0x92, + 0x6A, 0xF6, 0x80, 0xDE, 0x16, 0x49, 0xEA, 0x75, 0x83, 0x20, 0xCC, 0x0D, 0x4F, 0x75, 0xE8, 0x64, + 0xDD, 0xBE, 0x57, 0xE4, 0x05, 0xC2, 0x8C, 0x27, 0x33, 0xAB, 0x8A, 0xDA, 0xCC, 0xB8, 0x30, 0xE4, + 0x1C, 0x4B, 0x6F, 0x9C, 0x0F, 0x4B, 0xDD, 0x7B, 0x3C, 0xB9, 0x57, 0xE8, 0xDE, 0x2B, 0x75, 0x0B, + 0x3C, 0xCB, 0x94, 0x27, 0xCC, 0x48, 0x75, 0xD4, 0x74, 0x25, 0xB5, 0xEA, 0xE1, 0x5D, 0x57, 0x4C, + 0x51, 0x81, 0x40, 0xD9, 0x58, 0xD8, 0x14, 0x37, 0x7C, 0xD2, 0xA8, 0x36, 0x14, 0xB5, 0x92, 0xA4, + 0x8F, 0x9D, 0x33, 0x53, 0x2B, 0x55, 0xC7, 0xC9, 0x20, 0x21, 0xC2, 0x69, 0x9C, 0x32, 0xAD, 0x49, + 0x0F, 0x7A, 0x8B, 0x5C, 0xC4, 0x36, 0x0B, 0xD0, 0xEB, 0xC3, 0x75, 0x07, 0xE8, 0xA7, 0x7C, 0x73, + 0xEC, 0x7C, 0xA5, 0xB4, 0xB7, 0x7F, 0x2D, 0x96, 0x7B, 0x12, 0xC3, 0x73, 0x4C, 0xD1, 0xA0, 0xB6, + 0x59, 0x2C, 0x29, 0xD9, 0x54, 0x03, 0x37, 0x1A, 0xC8, 0x96, 0x8C, 0x39, 0xB3, 0x15, 0x4A, 0x15, + 0x25, 0x73, 0x15, 0xA3, 0x0E, 0xFC, 0xC1, 0xEA, 0xFC, 0xA9, 0x42, 0x93, 0x2B, 0x01, 0xD7, 0x94, + 0x68, 0xAA, 0x15, 0x7C, 0xDA, 0xEB, 0x3F, 0xDF, 0xC3, 0x50, 0x00, 0xAE, 0x33, 0xB3, 0x83, 0xE2, + 0x2D, 0xC1, 0x33, 0x43, 0x0D, 0x9D, 0xA6, 0x30, 0x47, 0x62, 0x9A, 0x2E, 0xE8, 0x23, 0xC1, 0x6E, + 0x57, 0x28, 0x1A, 0xA6, 0x7D, 0x63, 0x38, 0x46, 0x49, 0x69, 0x28, 0xB4, 0xCF, 0x63, 0x3E, 0x05, + 0x99, 0x92, 0x46, 0x9A, 0x5D, 0x86, 0x81, 0x3F, 0x42, 0x41, 0x3A, 0x8C, 0x8A, 0x73, 0x37, 0x84, + 0x29, 0x75, 0x06, 0x39, 0x46, 0xBF, 0x42, 0xD6, 0xCE, 0xD8, 0x06, 0x8E, 0x53, 0xA4, 0xC4, 0xE4, + 0x59, 0xA5, 0xED, 0x1D, 0x2A, 0x99, 0x07, 0x56, 0x39, 0xDD, 0x60, 0x2F, 0x17, 0xBE, 0xA0, 0x93, + 0xFE, 0x89, 0x8F, 0x24, 0x3D, 0x2A, 0xED, 0x63, 0xFC, 0x4E, 0x3A, 0xFB, 0x5E, 0xBF, 0x2E, 0x85, + 0x57, 0x68, 0x7C, 0x94, 0xAF, 0x4F, 0x53, 0x2E, 0xBE, 0x37, 0x4B, 0xE1, 0xAA, 0xFE, 0x7C, 0xB5, + 0x2F, 0x42, 0x51, 0x35, 0xA8, 0x3D, 0x1B, 0xE7, 0x4A, 0xA1, 0x30, 0x76, 0x10, 0x95, 0xE3, 0xF8, + 0x14, 0x7F, 0x32, 0xEA, 0x6E, 0x27, 0xBE, 0xBA, 0xBA, 0xFA, 0xC6, 0x36, 0x4C, 0xC7, 0x8A, 0x67, + 0xC6, 0xBE, 0xF0, 0xC5, 0x5F, 0xB7, 0x8F, 0x3B, 0x58, 0xBF, 0xE8, 0xB9, 0x71, 0x5C, 0x84, 0x05, + 0xD8, 0x5C, 0x6E, 0x5C, 0xE0, 0xF5, 0x8A, 0xFA, 0x6E, 0x45, 0xC9, 0xB7, 0xA6, 0x9F, 0x78, 0x8D, + 0x43, 0x28, 0xB7, 0x4D, 0x9A, 0x60, 0x84, 0x4D, 0x78, 0x9E, 0x46, 0x49, 0xCE, 0x47, 0xC5, 0xC2, + 0xB7, 0x9C, 0x3B, 0xE6, 0x1B, 0xB4, 0xBD, 0x3B, 0x6C, 0x82, 0x7F, 0xA9, 0xFD, 0x46, 0x41, 0x9F, + 0x66, 0x4C, 0xB1, 0x35, 0x5C, 0xBF, 0x2C, 0xD6, 0xDF, 0x30, 0xCB, 0xF6, 0x16, 0xDA, 0x92, 0xB1, + 0xCF, 0xC2, 0x36, 0xF9, 0x7B, 0xD8, 0x8C, 0x41, 0x05, 0x12, 0x4B, 0x12, 0xAA, 0x3C, 0xA6, 0x76, + 0xAE, 0xEA, 0xF0, 0xB0, 0xC9, 0xEA, 0x00, 0xD4, 0xD5, 0xE6, 0xB0, 0x83, 0x68, 0x34, 0xBD, 0x18, + 0x8F, 0x86, 0x6F, 0x89, 0xBC, 0xC0, 0xED, 0xF1, 0x96, 0x3C, 0xA9, 0x8E, 0xF0, 0x05, 0xF4, 0x6E, + 0x55, 0xF3, 0x23, 0xE0, 0x7A, 0x24, 0xC5, 0x28, 0x4F, 0x53, 0x3F, 0x49, 0xBD, 0x81, 0x5F, 0xBF, + 0xE0, 0x56, 0xEF, 0x8E, 0xCC, 0xDC, 0xE8, 0xBD, 0x63, 0xF7, 0x8E, 0x7D, 0x5D, 0x1A, 0xAE, 0x8D, + 0x2B, 0xB9, 0xB5, 0x26, 0xCB, 0x29, 0x19, 0x94, 0x71, 0xA8, 0x29, 0x5C, 0x58, 0x49, 0xAF, 0x94, + 0xD7, 0xEF, 0xCF, 0x52, 0x4E, 0x69, 0x70, 0xD2, 0x33, 0x99, 0x20, 0xF9, 0xF0, 0x71, 0xF8, 0x36, + 0x3A, 0x9F, 0x0D, 0xC7, 0xAF, 0x3E, 0xBC, 0xBB, 0x18, 0x4D, 0x07, 0x70, 0x87, 0xC0, 0x34, 0x25, + 0x4A, 0x2D, 0xF3, 0xB5, 0xCD, 0x58, 0x46, 0x19, 0x71, 0x6B, 0xF0, 0xB0, 0x2A, 0xFA, 0xB0, 0xCE, + 0x49, 0x75, 0x4E, 0x31, 0xF7, 0x73, 0x13, 0x4A, 0x22, 0x96, 0x77, 0x3D, 0xF5, 0xEE, 0x34, 0xC2, + 0xB0, 0x6F, 0xC7, 0x90, 0xF4, 0x66, 0xBE, 0x76, 0x4F, 0xDA, 0x82, 0x62, 0x3E, 0xBF, 0xA6, 0x52, + 0x4D, 0x51, 0xF9, 0x10, 0xFF, 0x75, 0xD8, 0x1F, 0x0D, 0xC3, 0xB8, 0x85, 0xE2, 0xCB, 0xF8, 0x1F, + 0x66, 0xA4, 0x5F, 0x97, 0x98, 0x54, 0x06, 0x21, 0x3A, 0xB7, 0x13, 0xD3, 0x4A, 0x9B, 0x13, 0x93, + 0x52, 0xC9, 0x60, 0x41, 0x43, 0xA4, 0x72, 0xFC, 0xE6, 0xE8, 0x1C, 0x49, 0xE3, 0x07, 0x63, 0x79, + 0xDB, 0x1A, 0x12, 0xD5, 0x9D, 0xE1, 0xB1, 0xB6, 0x35, 0x5A, 0x1D, 0xB3, 0x57, 0x25, 0xED, 0xE6, + 0xB1, 0xDC, 0x0A, 0x2B, 0x59, 0xDB, 0x65, 0x12, 0xD5, 0xD6, 0x29, 0xFE, 0x25, 0xE4, 0x77, 0xC4, + 0x8C, 0x36, 0x29, 0x8B, 0xBF, 0xBB, 0x85, 0x53, 0xE2, 0x39, 0x32, 0x81, 0x1F, 0x82, 0x04, 0x80, + 0x7E, 0xC6, 0xDA, 0x0D, 0xCF, 0x2A, 0x33, 0x2D, 0xC4, 0x44, 0xA2, 0x2E, 0x30, 0xDD, 0x6D, 0xAD, + 0x18, 0xB0, 0xC3, 0x36, 0xA0, 0xBD, 0x53, 0x94, 0x5A, 0x5F, 0x7C, 0x90, 0xC8, 0x66, 0x13, 0xE8, + 0x6B, 0x2F, 0xD4, 0x79, 0x66, 0xF7, 0x79, 0x98, 0x29, 0xBE, 0x61, 0xF1, 0x2E, 0x5C, 0x13, 0xAB, + 0x25, 0xAD, 0x59, 0x9E, 0xE8, 0xDB, 0x1E, 0x76, 0xC6, 0xC4, 0xAC, 0x91, 0xBD, 0x7E, 0x01, 0xE9, + 0x82, 0xB0, 0xB6, 0x6C, 0xB9, 0xB0, 0x5E, 0xBB, 0x4B, 0x47, 0x11, 0xC3, 0x9B, 0xDD, 0x5E, 0x17, + 0x9E, 0x6B, 0x73, 0xDE, 0x0A, 0x0E, 0x15, 0x61, 0xB9, 0x54, 0xFE, 0xB4, 0xBD, 0x86, 0x90, 0xB9, + 0x71, 0x7F, 0xB8, 0x9B, 0xDA, 0x68, 0xFF, 0xB0, 0x9F, 0x0E, 0xD6, 0x52, 0x2D, 0x6A, 0x2D, 0xA8, + 0x9A, 0x72, 0xB3, 0x87, 0x3D, 0x9F, 0x63, 0x65, 0x7E, 0x80, 0xD6, 0x44, 0x68, 0xCD, 0x80, 0xC0, + 0x10, 0xF3, 0x23, 0x43, 0xB2, 0xB1, 0x0E, 0xC7, 0xCE, 0x8C, 0x4D, 0xED, 0xCA, 0x56, 0x01, 0x69, + 0xE9, 0x3C, 0xA6, 0x85, 0xA8, 0xEB, 0x5E, 0x6C, 0xAF, 0xB9, 0xE3, 0x77, 0xBA, 0x63, 0x5E, 0xD3, + 0x05, 0x8F, 0x5A, 0xA9, 0x3B, 0xA8, 0x8C, 0xD6, 0xAD, 0xE4, 0x03, 0x56, 0x18, 0xF7, 0xED, 0x44, + 0xAA, 0x8D, 0xA6, 0x71, 0x57, 0xFE, 0x9B, 0xC3, 0xB9, 0x79, 0x43, 0x2A, 0x7F, 0x6A, 0xBC, 0x3A, + 0x89, 0x37, 0x46, 0xFE, 0xF4, 0x3F, 0xD0, 0xC3, 0xEA, 0xF3, 0x12, 0xCD, 0x93, 0x3F, 0xDC, 0x2A, + 0xEA, 0x74, 0xD5, 0xE3, 0xAA, 0x31, 0xCB, 0x06, 0xD5, 0x47, 0x14, 0x34, 0x2D, 0x95, 0xFD, 0xF7, + 0x81, 0xA0, 0x68, 0xF2, 0x63, 0x2D, 0xA2, 0x35, 0xB3, 0xE0, 0xCB, 0xDC, 0x0A, 0x8B, 0x2B, 0x70, + 0xC7, 0x07, 0xFF, 0x0F, 0x97, 0x0B, 0x77, 0xA7, 0xF8, 0xC3, 0x1D, 0xB9, 0xA5, 0xF6, 0x1B, 0x50, + 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB7, 0x4A, 0x48, 0x52, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, + 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, + 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x6D, 0x61, 0x63, + 0x68, 0x69, 0x6E, 0x65, 0x2D, 0x6C, 0x65, 0x61, 0x72, 0x6E, 0x69, 0x6E, 0x67, 0x2F, 0x50, 0x4B, + 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x22, 0x24, 0x15, 0x3D, + 0xAA, 0x09, 0x00, 0x00, 0x1B, 0x23, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, + 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, + 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x6D, 0x61, 0x63, 0x68, + 0x69, 0x6E, 0x65, 0x2D, 0x6C, 0x65, 0x61, 0x72, 0x6E, 0x69, 0x6E, 0x67, 0x2F, 0x69, 0x6E, 0x64, + 0x65, 0x78, 0x2E, 0x64, 0x2E, 0x74, 0x73, 0xB5, 0x5A, 0x59, 0x6F, 0x13, 0x31, 0x10, 0x7E, 0xE7, + 0x57, 0x18, 0x78, 0xE0, 0x50, 0x49, 0x10, 0xE2, 0x85, 0x70, 0x86, 0x3B, 0x50, 0x5A, 0x44, 0x53, + 0x10, 0x42, 0x88, 0xB8, 0xBB, 0x4E, 0x62, 0xD8, 0xD8, 0x8B, 0xED, 0x4D, 0x08, 0x25, 0xFF, 0x9D, + 0x19, 0x1F, 0x7B, 0x6F, 0x1A, 0xA0, 0x54, 0x88, 0x12, 0x1F, 0x73, 0x7C, 0x73, 0x3B, 0xF4, 0xAF, + 0x5F, 0x24, 0x53, 0xAE, 0xD8, 0x09, 0xD5, 0xEC, 0x06, 0x8D, 0x17, 0x5C, 0x90, 0xE5, 0x9D, 0xDE, + 0xED, 0xDE, 0x2D, 0x72, 0xBD, 0x7F, 0x01, 0x36, 0x2F, 0x90, 0xEB, 0xE4, 0x89, 0x4C, 0xD7, 0x8A, + 0xCF, 0xE6, 0x86, 0xDC, 0xBA, 0x79, 0xEB, 0x26, 0x79, 0x21, 0xE5, 0x2C, 0x61, 0x64, 0x24, 0xA2, + 0x1E, 0xEC, 0xE2, 0x81, 0x7D, 0x1E, 0x31, 0xA1, 0x59, 0x4C, 0x32, 0x11, 0x33, 0x45, 0xCC, 0x9C, + 0x91, 0x61, 0x4A, 0x23, 0xF8, 0xE5, 0x77, 0xF6, 0xC8, 0x7B, 0xA6, 0x34, 0x97, 0x82, 0xDC, 0xEA, + 0xDD, 0x24, 0x57, 0xF1, 0xC0, 0x25, 0xBF, 0x75, 0xE9, 0xDA, 0x5D, 0x24, 0xB1, 0x96, 0x19, 0x59, + 0xD0, 0x35, 0x11, 0xD2, 0x90, 0x4C, 0x33, 0xA0, 0xC1, 0x35, 0x08, 0x06, 0x7C, 0xD8, 0x8F, 0x88, + 0xA5, 0x86, 0x80, 0x60, 0x91, 0x5C, 0xA4, 0x09, 0xA7, 0x22, 0x62, 0x64, 0xC5, 0xCD, 0x1C, 0xCE, + 0xE4, 0x0C, 0x7A, 0x48, 0xE3, 0xA3, 0xA7, 0x21, 0x4F, 0x0C, 0x85, 0xE3, 0x14, 0x2E, 0xA4, 0xF0, + 0x69, 0x5A, 0x3E, 0x48, 0xA8, 0xF1, 0x42, 0x13, 0x32, 0x37, 0x26, 0x1D, 0xF4, 0xFB, 0xAB, 0xD5, + 0xAA, 0x47, 0xAD, 0xB8, 0x3D, 0xA9, 0x66, 0xFD, 0xC4, 0x1D, 0xD4, 0xFD, 0xFD, 0xD1, 0x93, 0x67, + 0x07, 0x47, 0xCF, 0x6E, 0x80, 0xC8, 0xFE, 0xCA, 0xB1, 0x48, 0x98, 0xD6, 0x44, 0xB1, 0xEF, 0x19, + 0x57, 0xA0, 0xEE, 0xC9, 0x9A, 0xD0, 0x34, 0x85, 0x0B, 0xF4, 0x04, 0x04, 0x4D, 0xE8, 0x8A, 0x48, + 0x45, 0xE8, 0x4C, 0x31, 0xD8, 0x33, 0x12, 0x45, 0x5E, 0x29, 0x6E, 0xB8, 0x98, 0xED, 0x11, 0x2D, + 0xA7, 0x66, 0x45, 0x15, 0x43, 0x32, 0x31, 0xD7, 0x46, 0xF1, 0x93, 0xCC, 0x04, 0xC4, 0x2A, 0x02, + 0x72, 0x5D, 0x39, 0x20, 0x41, 0x11, 0x41, 0x2E, 0x0D, 0x8F, 0xC8, 0xE8, 0xE8, 0x12, 0x79, 0x3C, + 0x3C, 0x1A, 0x1D, 0xED, 0x21, 0x91, 0x0F, 0xA3, 0xF1, 0xCB, 0xC3, 0xE3, 0x31, 0xF9, 0x30, 0x7C, + 0xF7, 0x6E, 0x78, 0x30, 0x1E, 0x3D, 0x3B, 0x22, 0x87, 0xEF, 0xC8, 0x93, 0xC3, 0x83, 0xA7, 0xA3, + 0xF1, 0xE8, 0xF0, 0x00, 0x3E, 0x3D, 0x27, 0xC3, 0x83, 0x8F, 0xE4, 0xF5, 0xE8, 0xE0, 0xE9, 0x1E, + 0x61, 0x1C, 0x58, 0x28, 0xC0, 0x32, 0x55, 0xA0, 0x01, 0x8A, 0xC9, 0x11, 0x4B, 0x16, 0x5B, 0xE0, + 0x8E, 0x18, 0xAB, 0x88, 0x30, 0x95, 0x4E, 0x24, 0x9D, 0xB2, 0x88, 0x4F, 0x79, 0x04, 0xAA, 0x89, + 0x59, 0x46, 0x67, 0x8C, 0xCC, 0xE4, 0x92, 0x29, 0x01, 0x1A, 0x91, 0x94, 0xA9, 0x05, 0xD7, 0x68, + 0x53, 0x0D, 0x02, 0xC6, 0x48, 0x26, 0xE1, 0x0B, 0x6E, 0xA8, 0xC1, 0xA5, 0xA6, 0x5E, 0xC8, 0xA8, + 0x7F, 0x01, 0xB8, 0x4A, 0x65, 0xC8, 0x29, 0xE2, 0x46, 0x36, 0x64, 0xAA, 0xE4, 0x82, 0x5C, 0xE9, + 0xF5, 0xFA, 0xB9, 0x0B, 0x0A, 0xBA, 0x60, 0x1A, 0x8C, 0x01, 0xCE, 0x98, 0xF2, 0x2B, 0x77, 0xC1, + 0x05, 0x2D, 0xF2, 0x2F, 0x98, 0xD1, 0x96, 0xDA, 0xE9, 0xA3, 0x84, 0x8B, 0x6F, 0x64, 0x01, 0xE6, + 0xE2, 0x82, 0xED, 0x33, 0x6A, 0xA5, 0xE9, 0xBD, 0xA9, 0x7E, 0x26, 0x93, 0xDA, 0xC2, 0x64, 0x43, + 0x34, 0x53, 0x4B, 0x1E, 0x05, 0xE5, 0x9C, 0x21, 0xD8, 0x94, 0x66, 0x89, 0x41, 0x61, 0xAC, 0xE5, + 0xC8, 0x8C, 0x2F, 0x99, 0xC0, 0x8F, 0xC1, 0xB3, 0x27, 0x36, 0x24, 0x7A, 0x35, 0x76, 0x57, 0xAF, + 0x4D, 0x48, 0x04, 0x56, 0x39, 0x61, 0xF0, 0x2B, 0x49, 0x58, 0xEC, 0xFC, 0x51, 0x48, 0x42, 0xD5, + 0x2C, 0x5B, 0x30, 0x81, 0xC2, 0xC2, 0x87, 0x28, 0x42, 0xB0, 0x9B, 0xCC, 0xAE, 0xE8, 0x1D, 0xF5, + 0x80, 0x7B, 0x5B, 0x54, 0xB1, 0x32, 0xEB, 0x2E, 0x19, 0x81, 0xCF, 0xB5, 0x49, 0x21, 0x06, 0x90, + 0xFA, 0x37, 0x00, 0x81, 0x40, 0x60, 0x0C, 0x5C, 0xB5, 0x8C, 0x38, 0x35, 0x41, 0x73, 0x9A, 0xBB, + 0x4A, 0x19, 0xBC, 0x47, 0xEC, 0x07, 0x05, 0x2F, 0x63, 0x56, 0x8B, 0xC9, 0xE4, 0x2B, 0x5D, 0x52, + 0x1D, 0x29, 0x9E, 0x1A, 0x5C, 0xE8, 0xF7, 0xD1, 0xA8, 0x56, 0xA4, 0x1A, 0xAB, 0xBA, 0xA5, 0xCA, + 0xC8, 0xE1, 0xCD, 0x25, 0x55, 0x61, 0xA9, 0x7E, 0xF3, 0x3E, 0xE9, 0xB0, 0xD7, 0x5D, 0x2F, 0xC3, + 0x39, 0x4A, 0x96, 0x7B, 0x4B, 0x21, 0x95, 0xC4, 0x20, 0xDB, 0x55, 0x26, 0x7B, 0x78, 0x98, 0xA6, + 0x0D, 0xD9, 0x52, 0xAA, 0xE8, 0xC2, 0xFA, 0xE4, 0x61, 0x8A, 0xC1, 0x44, 0x13, 0xFB, 0x61, 0x35, + 0x97, 0x9A, 0x35, 0xED, 0x92, 0xCB, 0x64, 0xA4, 0xCB, 0x6A, 0x8A, 0x99, 0x4C, 0x89, 0x1E, 0x19, + 0x4D, 0x6D, 0x32, 0x4D, 0x95, 0x5C, 0xF2, 0x98, 0xC5, 0x7B, 0x65, 0x28, 0xBB, 0xC9, 0x38, 0x1A, + 0x2B, 0x9E, 0x24, 0xE0, 0xDD, 0x9E, 0x16, 0x8B, 0x73, 0x8B, 0xBA, 0x05, 0x32, 0xDE, 0x85, 0x14, + 0xE1, 0x28, 0x81, 0x95, 0x9D, 0xEB, 0x5C, 0x0E, 0x52, 0x84, 0x1F, 0x69, 0xDE, 0xED, 0xF2, 0x30, + 0xBC, 0x92, 0x93, 0x40, 0x92, 0x2E, 0x9D, 0xB0, 0x1F, 0x98, 0x4E, 0x40, 0x94, 0x28, 0xA1, 0x0A, + 0xCC, 0x92, 0x89, 0x08, 0x11, 0x23, 0x2D, 0xB1, 0xF0, 0x70, 0x60, 0xAF, 0x21, 0xE0, 0x83, 0xB3, + 0xBC, 0xFF, 0x6E, 0x9D, 0x70, 0x9E, 0x95, 0xEA, 0x37, 0xC9, 0xE9, 0x05, 0x02, 0x3F, 0x36, 0x4B, + 0xC1, 0x0F, 0x28, 0xF5, 0xDC, 0x67, 0x32, 0xF2, 0x66, 0x9F, 0xBC, 0x91, 0x31, 0x4B, 0xA0, 0x0C, + 0xA4, 0x99, 0x81, 0xA2, 0xF4, 0x95, 0x45, 0x46, 0xFB, 0x63, 0x7D, 0xFC, 0x0D, 0x3B, 0x86, 0xA9, + 0x29, 0x90, 0x75, 0x27, 0x9D, 0xB9, 0xF5, 0x63, 0xB8, 0x8D, 0x74, 0xDD, 0x0F, 0x16, 0x83, 0x34, + 0xA1, 0xEB, 0x03, 0x10, 0x01, 0x74, 0x80, 0xC2, 0x80, 0x02, 0xE6, 0xBB, 0x86, 0xCE, 0x74, 0xBE, + 0xFC, 0xE9, 0xB3, 0xDB, 0xD8, 0xD4, 0xA8, 0xBF, 0x88, 0xF4, 0x78, 0x9A, 0x70, 0xC3, 0xCA, 0x6C, + 0xA0, 0x18, 0x18, 0x26, 0x62, 0xBD, 0x8D, 0xB7, 0x29, 0x6E, 0x0D, 0xEC, 0x72, 0xF1, 0x33, 0x0B, + 0x34, 0x8F, 0x15, 0x6F, 0x8A, 0xB5, 0x69, 0x17, 0x64, 0x98, 0x19, 0xF9, 0x66, 0xFF, 0xDC, 0x65, + 0xA1, 0x40, 0x76, 0x91, 0xD8, 0xAD, 0x33, 0x44, 0x31, 0xEB, 0xB4, 0x0A, 0x36, 0xB9, 0xDF, 0xE4, + 0xF9, 0xAB, 0x03, 0xB0, 0x5F, 0x9D, 0xF2, 0xDF, 0xAD, 0x7B, 0xC1, 0x90, 0x8C, 0xA1, 0xE8, 0x49, + 0xF5, 0x3C, 0x91, 0x2B, 0xB2, 0x0F, 0xA7, 0xBD, 0x2F, 0xC8, 0xCC, 0x14, 0xCE, 0xE0, 0x0E, 0xE7, + 0x77, 0x0E, 0x05, 0x64, 0xF4, 0xA9, 0x2F, 0xD5, 0xD6, 0xE1, 0x27, 0x65, 0x90, 0x27, 0x18, 0x39, + 0x93, 0x92, 0xAA, 0x13, 0x0C, 0x08, 0x28, 0xC3, 0x86, 0x33, 0x1D, 0x22, 0xD6, 0xD3, 0xC2, 0xE0, + 0xE4, 0x18, 0xB7, 0x1D, 0xEE, 0x36, 0x7E, 0xBE, 0x1F, 0x34, 0xF0, 0x50, 0x7A, 0xF9, 0x6D, 0x64, + 0x6B, 0xFE, 0x93, 0x85, 0xB6, 0x69, 0x81, 0x67, 0x7A, 0x96, 0x82, 0xFF, 0x51, 0x8C, 0xC6, 0x52, + 0x24, 0x6B, 0x7B, 0xEC, 0xF1, 0xDA, 0x30, 0x3D, 0x20, 0x22, 0x5B, 0x9C, 0x30, 0x75, 0xB7, 0x41, + 0xE9, 0xF8, 0xDD, 0xC8, 0xD5, 0xF8, 0xD5, 0x9C, 0x47, 0xF3, 0x82, 0x20, 0x59, 0x51, 0x6C, 0x42, + 0xF8, 0x8C, 0x43, 0x76, 0x03, 0x52, 0x79, 0x64, 0x1B, 0x99, 0x07, 0x50, 0x3B, 0xD3, 0x32, 0x22, + 0xB5, 0x70, 0xC8, 0x4D, 0x10, 0x7E, 0xAC, 0x0C, 0xDE, 0x66, 0x8E, 0x2F, 0xD0, 0x99, 0x32, 0xC5, + 0xA0, 0x83, 0xFC, 0x23, 0xB1, 0x4A, 0x24, 0x2B, 0x12, 0xE6, 0xEB, 0xAD, 0xA2, 0x96, 0x4C, 0x55, + 0x93, 0x74, 0xD3, 0x74, 0x97, 0x66, 0xDA, 0x68, 0xBA, 0x4A, 0xD3, 0x8E, 0x5D, 0x16, 0x1C, 0x3D, + 0xDD, 0xC1, 0x7E, 0x76, 0x6B, 0x14, 0xEF, 0x04, 0xA2, 0x3D, 0x7B, 0x45, 0xDB, 0x44, 0xD8, 0x83, + 0x15, 0x48, 0xE8, 0xF0, 0x07, 0x18, 0xD8, 0x15, 0xDB, 0xBD, 0x67, 0xDA, 0x81, 0x8A, 0x1F, 0x14, + 0xE6, 0x5A, 0x84, 0x2A, 0x91, 0x34, 0xC6, 0x63, 0x25, 0x7A, 0x8E, 0xD6, 0x76, 0xEC, 0xCA, 0x49, + 0xEF, 0x8F, 0xE4, 0xC3, 0x74, 0xB8, 0xE7, 0xCC, 0xEA, 0x3B, 0x34, 0x90, 0xCB, 0xF9, 0xD5, 0x4C, + 0xC9, 0x0C, 0xDB, 0x3C, 0x9C, 0x2A, 0x00, 0x3F, 0x77, 0x45, 0x63, 0x93, 0x9E, 0x40, 0xBB, 0x5D, + 0x26, 0x88, 0x41, 0xE5, 0xDA, 0xD8, 0xED, 0x52, 0x36, 0x92, 0x6F, 0xC3, 0x0E, 0x86, 0x43, 0xDD, + 0x30, 0xD0, 0x6A, 0x38, 0x73, 0x14, 0x72, 0x46, 0x40, 0x03, 0x39, 0xB4, 0x5A, 0xC6, 0xED, 0xB2, + 0x31, 0x2F, 0x94, 0xFF, 0x03, 0xD2, 0x0B, 0xA9, 0x0D, 0x90, 0x82, 0xA6, 0x1B, 0x26, 0xA9, 0x34, + 0x06, 0x42, 0xAD, 0x4C, 0x70, 0x6F, 0x2B, 0x93, 0x67, 0x4A, 0x01, 0x58, 0xC0, 0x44, 0x63, 0xE3, + 0xBF, 0x9A, 0x33, 0xE1, 0x83, 0x64, 0x49, 0x13, 0x1E, 0x5B, 0xE9, 0xC9, 0x94, 0xF2, 0x44, 0xB7, + 0x93, 0x2F, 0x4E, 0x59, 0x42, 0x0F, 0x3B, 0x34, 0x51, 0x19, 0xF6, 0x09, 0x85, 0x02, 0xB6, 0x55, + 0xC8, 0x4E, 0xC0, 0x24, 0x73, 0x16, 0xB7, 0x52, 0x2E, 0xB6, 0x07, 0xE4, 0x44, 0xCA, 0x84, 0x51, + 0xB1, 0xD5, 0x35, 0x9E, 0x8D, 0xE9, 0x8C, 0xF0, 0x18, 0xE0, 0x80, 0xFE, 0x94, 0xA9, 0x00, 0x57, + 0x94, 0x29, 0x85, 0x10, 0x2D, 0xDD, 0x60, 0x5A, 0x41, 0xD1, 0x79, 0x38, 0xAA, 0x90, 0x55, 0x3C, + 0x37, 0x9A, 0xC3, 0x1C, 0xC4, 0xB4, 0x05, 0x83, 0xC1, 0x45, 0x74, 0x75, 0x8F, 0x23, 0xCC, 0x40, + 0xEB, 0x9A, 0x25, 0x8A, 0xF4, 0x7C, 0x96, 0x1F, 0x31, 0x70, 0xA4, 0x9D, 0xDC, 0x7C, 0x4E, 0xF5, + 0xBC, 0xCE, 0x65, 0xE2, 0x0A, 0xE3, 0xC4, 0x4E, 0xCB, 0x65, 0xC9, 0x73, 0x71, 0x91, 0x87, 0x95, + 0xB9, 0x44, 0xCE, 0x8B, 0x6E, 0xE3, 0x93, 0x12, 0xC1, 0x56, 0xF5, 0x82, 0xB5, 0x53, 0x98, 0xDA, + 0x33, 0x2F, 0x41, 0xA8, 0x1D, 0x52, 0x71, 0x9B, 0xA5, 0x13, 0x19, 0x7D, 0xF3, 0x73, 0xB4, 0xED, + 0xFC, 0x98, 0xBA, 0xA1, 0xC1, 0x54, 0x45, 0x04, 0xF6, 0x70, 0xA8, 0xC7, 0x48, 0xBE, 0x62, 0xA0, + 0xF5, 0xFA, 0xD6, 0x62, 0x0D, 0x37, 0x69, 0x79, 0x4A, 0xC1, 0x7C, 0x47, 0x2C, 0x1F, 0x74, 0x56, + 0x94, 0x9B, 0xE7, 0x52, 0x1D, 0x0B, 0x7F, 0x62, 0x52, 0x5B, 0x80, 0x59, 0x6E, 0x73, 0x86, 0x96, + 0x78, 0x70, 0x17, 0x6F, 0xFB, 0x00, 0x94, 0x71, 0x34, 0x28, 0x74, 0x04, 0xD9, 0x6C, 0x0A, 0xF2, + 0xBC, 0xCA, 0x7C, 0xF2, 0x7F, 0x16, 0x2D, 0xFF, 0xA9, 0x2B, 0xA3, 0x1B, 0xD0, 0xF4, 0x07, 0xC6, + 0xE5, 0x1B, 0x9E, 0x80, 0xA3, 0xA3, 0xE1, 0x71, 0x85, 0x2F, 0xB2, 0x85, 0x8D, 0x7A, 0x4C, 0x59, + 0x0B, 0xBB, 0xC5, 0x22, 0x29, 0x62, 0x04, 0xC0, 0x6A, 0x59, 0xA6, 0x8E, 0x7F, 0xF9, 0x09, 0x20, + 0x8C, 0x66, 0x38, 0x02, 0xD0, 0xD0, 0xB5, 0x07, 0x82, 0xE8, 0x4C, 0xB7, 0x80, 0x9A, 0x80, 0xB7, + 0x06, 0x9B, 0xD2, 0x33, 0xDD, 0x25, 0x66, 0xD1, 0xFD, 0x9F, 0xBE, 0x85, 0x34, 0x0F, 0xDC, 0xEF, + 0x2D, 0x25, 0x8F, 0x1F, 0x6C, 0xA0, 0x7A, 0xA5, 0x6E, 0x01, 0x14, 0xA7, 0x98, 0x7B, 0xB4, 0x4C, + 0x96, 0x3E, 0x4C, 0x2A, 0xF6, 0xCE, 0x81, 0xA8, 0x4A, 0x8A, 0x88, 0x15, 0x3A, 0x5A, 0x5D, 0x9C, + 0xA2, 0x73, 0x0A, 0x41, 0x44, 0xB5, 0x17, 0xA9, 0x69, 0xA1, 0xBA, 0x29, 0x2B, 0xB8, 0x3D, 0x0C, + 0x6D, 0x09, 0xF4, 0xFB, 0x15, 0x81, 0x3B, 0xED, 0xF7, 0xCE, 0xA9, 0x57, 0x48, 0x0C, 0xEC, 0x29, + 0x79, 0x75, 0x74, 0x78, 0xE0, 0xAB, 0x70, 0xBB, 0x14, 0x46, 0xE2, 0x91, 0xAB, 0xD7, 0xEA, 0x5D, + 0xE9, 0xA7, 0x6F, 0x6C, 0x1D, 0xC2, 0xE2, 0xF3, 0x00, 0x13, 0x44, 0xAD, 0x29, 0x2D, 0xD2, 0xE0, + 0x1B, 0xC8, 0x00, 0x90, 0x45, 0x28, 0xA1, 0x27, 0x50, 0xF6, 0xCB, 0xE1, 0xDD, 0x1E, 0x96, 0x2E, + 0xD6, 0xDB, 0x9C, 0xB5, 0xDC, 0x26, 0x3F, 0x1C, 0x94, 0x1B, 0xBD, 0x8E, 0xD6, 0x63, 0x14, 0x9A, + 0x09, 0x20, 0x81, 0x8F, 0x43, 0x90, 0x13, 0x71, 0xAE, 0x91, 0xAE, 0xB1, 0xB5, 0xEE, 0x0C, 0x60, + 0xDA, 0x35, 0x4B, 0x46, 0x77, 0xF5, 0x94, 0xFB, 0x70, 0xCA, 0x9D, 0x08, 0xFD, 0xF2, 0x69, 0x17, + 0xD0, 0x43, 0x11, 0x5E, 0xA2, 0xE0, 0x1C, 0x3A, 0x4D, 0xE1, 0xA4, 0x9A, 0xCC, 0x41, 0x53, 0x23, + 0x7D, 0x95, 0xB6, 0x50, 0xC0, 0x41, 0x70, 0x59, 0xDD, 0xE5, 0x96, 0xCF, 0xDC, 0x2C, 0xAF, 0x07, + 0x6D, 0xFB, 0x7E, 0xB4, 0x2E, 0x3E, 0x86, 0xD6, 0xE2, 0x8B, 0x6D, 0x5C, 0xEE, 0xDB, 0x6E, 0xE5, + 0x8B, 0x05, 0xB5, 0xF3, 0xD0, 0x00, 0xA5, 0x65, 0x8A, 0xE3, 0xC3, 0x0E, 0x4D, 0xBE, 0x94, 0x89, + 0xDB, 0x16, 0x60, 0x40, 0x10, 0x80, 0x2F, 0x31, 0x33, 0xE0, 0x23, 0x80, 0xD7, 0xF0, 0xE0, 0xA9, + 0x5D, 0xAF, 0xDE, 0x2B, 0xDF, 0xD2, 0x06, 0xCB, 0x72, 0x5E, 0xC8, 0x40, 0x0C, 0x03, 0xE9, 0xB1, + 0x5B, 0xE8, 0xD2, 0x3F, 0x31, 0xB7, 0xD9, 0x97, 0x4B, 0x3D, 0xE8, 0xE7, 0xCF, 0x66, 0xBD, 0x99, + 0x7D, 0x93, 0xED, 0xC1, 0x0B, 0x69, 0x3F, 0x96, 0x91, 0xEE, 0x2F, 0x92, 0xFE, 0x82, 0x0A, 0x28, + 0xDC, 0x37, 0xE0, 0xD5, 0x00, 0x86, 0xE8, 0x1B, 0xAE, 0xDB, 0xB9, 0x8C, 0xA6, 0xFC, 0x62, 0x55, + 0x86, 0x90, 0xB5, 0x03, 0xE9, 0x17, 0xB7, 0xD3, 0xE6, 0xD9, 0xDE, 0x06, 0x0F, 0x3B, 0x9B, 0x10, + 0x1B, 0x60, 0xB6, 0xA4, 0x06, 0x1B, 0xA1, 0xE5, 0x7C, 0x96, 0xE0, 0x60, 0x64, 0x18, 0x96, 0x21, + 0x80, 0x67, 0x15, 0x57, 0xB5, 0x0B, 0x47, 0x30, 0x3B, 0x3C, 0x6C, 0x9F, 0x1B, 0x86, 0x40, 0xE3, + 0x1B, 0x6B, 0xB8, 0x45, 0xE1, 0x08, 0x96, 0x40, 0xC1, 0xA8, 0x41, 0x7B, 0x8C, 0xD7, 0x3B, 0x3A, + 0x6E, 0x0C, 0x72, 0x9D, 0x82, 0x73, 0x32, 0x1F, 0xD2, 0xFE, 0x29, 0x27, 0xC9, 0x9D, 0xB7, 0x54, + 0x7B, 0xB6, 0xF9, 0xF8, 0x3B, 0x27, 0xCA, 0x69, 0x55, 0x74, 0x4B, 0x07, 0xE0, 0x28, 0x9A, 0x4B, + 0xD7, 0x0D, 0x7B, 0xB0, 0xB7, 0xF4, 0xE1, 0xE0, 0x2C, 0x96, 0xF0, 0xA7, 0xCF, 0x1D, 0xE9, 0xA9, + 0x00, 0x66, 0xED, 0x2A, 0x22, 0xA4, 0x6A, 0x8F, 0x02, 0xE8, 0x09, 0xDD, 0x88, 0xEB, 0xC6, 0xD9, + 0x0F, 0x8F, 0x4F, 0x61, 0x13, 0xF7, 0x14, 0x94, 0x25, 0xC9, 0x5E, 0xAD, 0x13, 0xF7, 0x3D, 0x90, + 0xBB, 0x10, 0xFA, 0xF9, 0x29, 0xCE, 0x3E, 0x76, 0x65, 0x7B, 0x55, 0x3C, 0x1B, 0xEA, 0x0B, 0x45, + 0xE3, 0xE2, 0xC7, 0x9B, 0x6D, 0xEF, 0x57, 0x05, 0xCA, 0xBD, 0xDA, 0x5C, 0xFC, 0x54, 0x62, 0x19, + 0xB3, 0x2F, 0xAD, 0xEE, 0x6B, 0x01, 0xA8, 0x7A, 0xC0, 0x30, 0xB3, 0xB1, 0x16, 0x03, 0xE1, 0xC8, + 0x24, 0x6B, 0x50, 0x12, 0x16, 0x41, 0xB6, 0x3D, 0xC4, 0x25, 0x5C, 0xFD, 0xD4, 0xF9, 0x7E, 0xFB, + 0xF9, 0x6A, 0xEB, 0xCE, 0xE5, 0xDA, 0xE7, 0x6B, 0x5D, 0xD9, 0xAE, 0xA6, 0x46, 0x77, 0xAE, 0x03, + 0xF5, 0x43, 0x2F, 0x12, 0x1E, 0xA0, 0x36, 0x6D, 0xAF, 0x5B, 0xC1, 0x18, 0x4D, 0x84, 0x2A, 0xD4, + 0x0A, 0xB4, 0x20, 0x87, 0x88, 0xA8, 0xDD, 0x48, 0xC8, 0x28, 0x7F, 0xEE, 0xEA, 0xF4, 0xA7, 0x27, + 0x76, 0xCA, 0x80, 0x12, 0x17, 0xEA, 0xB3, 0x28, 0xCB, 0x91, 0x9B, 0x2C, 0x38, 0xEF, 0x59, 0xCD, + 0x4B, 0xF9, 0x3D, 0x64, 0xE3, 0x49, 0x8E, 0x4B, 0x8D, 0x90, 0x9F, 0x6A, 0x76, 0x6E, 0x2E, 0x2C, + 0x3D, 0xDB, 0x5D, 0xB8, 0x15, 0x7C, 0xDE, 0x4B, 0xA6, 0x50, 0xDA, 0x4B, 0xA0, 0x79, 0x9A, 0xF1, + 0x96, 0x66, 0xD5, 0x1F, 0xB1, 0xD4, 0xAE, 0xDA, 0x63, 0x83, 0xCA, 0x8B, 0x0F, 0x94, 0xED, 0x2A, + 0xC7, 0x4E, 0xBC, 0x8E, 0xD3, 0xD8, 0xE1, 0x55, 0x8C, 0x5A, 0xA1, 0x6C, 0x4B, 0x55, 0xAA, 0xCB, + 0x67, 0x01, 0xE5, 0x82, 0x65, 0x13, 0xE6, 0xEF, 0xCA, 0xC0, 0x5E, 0xC0, 0x15, 0x66, 0xB7, 0x3F, + 0x87, 0x1A, 0xD2, 0x65, 0x12, 0x6B, 0x4F, 0xE2, 0xDC, 0x11, 0x07, 0x9A, 0x67, 0x20, 0x8E, 0x47, + 0x72, 0xC4, 0x6B, 0x8F, 0x0C, 0x7B, 0xE4, 0x9F, 0x4C, 0xF0, 0xD6, 0x55, 0x4C, 0x34, 0x42, 0xF9, + 0xC5, 0xA4, 0x21, 0x4C, 0x2D, 0x6F, 0xE6, 0x85, 0xD6, 0x1D, 0x0C, 0x2F, 0x03, 0xB1, 0x5C, 0x09, + 0x18, 0x80, 0xFC, 0xBB, 0x53, 0x04, 0x5F, 0x87, 0x09, 0xFB, 0x25, 0x83, 0x3E, 0x27, 0x0B, 0x7A, + 0xB6, 0xE7, 0x8B, 0xBF, 0x27, 0xBA, 0xD5, 0x02, 0xE1, 0x50, 0xAB, 0x09, 0x76, 0x47, 0xFB, 0x58, + 0xA4, 0x7F, 0x83, 0xF7, 0x1F, 0xA2, 0x94, 0x89, 0xFF, 0x82, 0x53, 0x26, 0x76, 0x42, 0x2A, 0x13, + 0xE7, 0x83, 0x55, 0xF8, 0x82, 0xD2, 0xF1, 0x0A, 0x7D, 0x8B, 0x9D, 0x6D, 0x71, 0xD9, 0x7D, 0x57, + 0x04, 0xEA, 0x9F, 0x13, 0x68, 0x33, 0x66, 0xCE, 0x17, 0x2E, 0x4B, 0x79, 0xDB, 0x98, 0x83, 0x2C, + 0xFF, 0x11, 0x23, 0xEC, 0x9E, 0x74, 0xB9, 0xC6, 0x84, 0xD2, 0x72, 0x45, 0x3B, 0xFE, 0x67, 0x06, + 0x5E, 0x63, 0xC6, 0xD8, 0x84, 0x41, 0x05, 0x81, 0x0A, 0x83, 0x4A, 0x58, 0xDB, 0x19, 0xA1, 0x7A, + 0x5B, 0xD7, 0x98, 0x69, 0x6B, 0x93, 0x75, 0x3E, 0xE2, 0x36, 0xAB, 0xF7, 0x55, 0xD7, 0x33, 0xB3, + 0xF8, 0x5A, 0xB5, 0x17, 0xB4, 0x5F, 0x92, 0x57, 0x5B, 0xB4, 0x1A, 0x51, 0xD7, 0xDD, 0xF5, 0xC8, + 0x73, 0x3F, 0x0E, 0x27, 0x54, 0xBB, 0x73, 0x7B, 0xF8, 0x1F, 0x00, 0xD8, 0x22, 0x35, 0xEB, 0x36, + 0x92, 0x42, 0xDA, 0x43, 0xEE, 0x76, 0x9D, 0x24, 0x55, 0xC5, 0x77, 0x78, 0xED, 0x56, 0x2D, 0x1A, + 0xDF, 0xAB, 0x1E, 0xB5, 0x87, 0x83, 0xE6, 0x28, 0x97, 0xDB, 0xB8, 0x89, 0x55, 0xB7, 0xB9, 0x9F, + 0xB2, 0x84, 0x95, 0xEA, 0xA5, 0x7D, 0x1C, 0x2E, 0x63, 0xB5, 0x6B, 0x63, 0xB1, 0x63, 0x48, 0xC4, + 0x96, 0x5D, 0xAB, 0x96, 0x7E, 0xAF, 0xD3, 0x7D, 0x9B, 0xAF, 0x03, 0x9B, 0x0B, 0x9B, 0x0B, 0xBF, + 0x01, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0xD0, + 0x49, 0x56, 0x11, 0xBD, 0x01, 0x00, 0x00, 0xBC, 0x02, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x6E, + 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, + 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x6D, + 0x61, 0x63, 0x68, 0x69, 0x6E, 0x65, 0x2D, 0x6C, 0x65, 0x61, 0x72, 0x6E, 0x69, 0x6E, 0x67, 0x2F, + 0x69, 0x6E, 0x64, 0x65, 0x78, 0x2E, 0x6A, 0x73, 0x65, 0x92, 0x41, 0x6F, 0xD3, 0x40, 0x10, 0x85, + 0xEF, 0xF9, 0x15, 0x0F, 0x9F, 0x4A, 0xE5, 0xDA, 0x51, 0xC4, 0x85, 0xF6, 0x64, 0xD2, 0x00, 0x16, + 0xC5, 0x41, 0x71, 0x4A, 0xD5, 0x53, 0xB5, 0xB6, 0xC7, 0xCE, 0x20, 0x67, 0xD7, 0xEC, 0xAE, 0x63, + 0x22, 0xC4, 0x7F, 0x67, 0xB6, 0x0D, 0x88, 0x88, 0x93, 0xB5, 0x9E, 0x37, 0x6F, 0xBE, 0x37, 0xBB, + 0xE9, 0xE5, 0x2B, 0xB4, 0x6C, 0xA9, 0x52, 0x8E, 0xAE, 0x54, 0xB3, 0x67, 0x8D, 0xC3, 0xDB, 0xE4, + 0x4D, 0xB2, 0xC0, 0x65, 0x3A, 0x8B, 0x46, 0x47, 0x70, 0xDE, 0x72, 0xED, 0xA3, 0x9B, 0x99, 0x48, + 0x67, 0xB8, 0xC4, 0xD2, 0x0C, 0x47, 0xCB, 0xDD, 0xCE, 0x63, 0x31, 0x5F, 0xCC, 0xF1, 0xC1, 0x98, + 0xAE, 0x27, 0xE4, 0xBA, 0x4E, 0xA4, 0x1A, 0x04, 0x77, 0x5C, 0x93, 0x76, 0xD4, 0x60, 0xD4, 0x0D, + 0x59, 0xF8, 0x1D, 0x21, 0x1B, 0x54, 0x2D, 0x9F, 0x53, 0x25, 0xC6, 0x57, 0xB2, 0x8E, 0x8D, 0xC6, + 0x22, 0x99, 0xE3, 0x22, 0x08, 0xA2, 0x53, 0x29, 0x7A, 0x7D, 0x13, 0x2C, 0x8E, 0x66, 0xC4, 0x5E, + 0x1D, 0xA1, 0x8D, 0x87, 0x30, 0x88, 0x07, 0x3B, 0xC1, 0x94, 0x39, 0xF4, 0xA3, 0xA6, 0xC1, 0x43, + 0x30, 0x6B, 0xB3, 0x1F, 0x7A, 0x56, 0xBA, 0x26, 0x4C, 0xEC, 0x77, 0xA2, 0xF9, 0x3B, 0x20, 0x09, + 0x1E, 0x8F, 0x27, 0x0F, 0x53, 0x79, 0x25, 0x72, 0x25, 0x0D, 0x83, 0x9C, 0xDA, 0x7F, 0x85, 0x50, + 0xFE, 0x04, 0x0D, 0xEC, 0xBC, 0x1F, 0xAE, 0xD3, 0x74, 0x9A, 0xA6, 0x44, 0x3D, 0xE3, 0x26, 0xC6, + 0x76, 0x69, 0xFF, 0x22, 0x74, 0xE9, 0x5D, 0xBE, 0x5C, 0x15, 0xE5, 0xEA, 0x4A, 0x90, 0x4F, 0x2D, + 0xF7, 0xBA, 0x27, 0xE7, 0x60, 0xE9, 0xFB, 0xC8, 0x56, 0xE2, 0x56, 0x47, 0xA8, 0x61, 0x90, 0x06, + 0x55, 0x09, 0x68, 0xAF, 0x26, 0x18, 0x0B, 0xD5, 0x59, 0x92, 0x9A, 0x37, 0x01, 0x79, 0xB2, 0xEC, + 0x59, 0x77, 0x31, 0x9C, 0x69, 0xFD, 0xA4, 0x2C, 0x05, 0x9B, 0x86, 0xC3, 0x86, 0xAB, 0xD1, 0xFF, + 0xD9, 0xD8, 0x19, 0x20, 0xBB, 0x33, 0x81, 0x91, 0x20, 0x1A, 0x51, 0x56, 0x22, 0x2F, 0x23, 0xBC, + 0xCB, 0xCA, 0xBC, 0x8C, 0x83, 0xC9, 0x43, 0xBE, 0xFD, 0xB8, 0xBE, 0xDF, 0xE2, 0x21, 0xDB, 0x6C, + 0xB2, 0x62, 0x9B, 0xAF, 0x4A, 0xAC, 0x37, 0x58, 0xAE, 0x8B, 0xDB, 0x7C, 0x9B, 0xAF, 0x0B, 0x39, + 0xBD, 0x47, 0x56, 0x3C, 0xE2, 0x53, 0x5E, 0xDC, 0xC6, 0x20, 0x96, 0x11, 0x56, 0x76, 0x39, 0x58, + 0x49, 0x10, 0x30, 0x39, 0xEC, 0x92, 0x9A, 0xE7, 0xC5, 0x95, 0x44, 0x67, 0x08, 0xAD, 0x79, 0x41, + 0x72, 0x03, 0xD5, 0xDC, 0x72, 0x2D, 0xD1, 0x74, 0x37, 0xAA, 0x8E, 0xD0, 0x99, 0x03, 0x59, 0x2D, + 0x89, 0x30, 0x90, 0xDD, 0xB3, 0x0B, 0x77, 0xEA, 0x04, 0xB0, 0x09, 0x36, 0x3D, 0xEF, 0xD9, 0x2B, + 0x1F, 0x7E, 0xFD, 0x9F, 0x2B, 0x0C, 0x4A, 0x67, 0xEB, 0xEA, 0x1B, 0xD5, 0x3E, 0x69, 0xA8, 0x65, + 0x4D, 0x5F, 0xAC, 0x11, 0x17, 0x7F, 0xBC, 0x10, 0x2C, 0x63, 0xBD, 0x8B, 0x11, 0x3D, 0x3D, 0x91, + 0xFB, 0x6C, 0x9A, 0xB1, 0xA7, 0x28, 0xC6, 0x4F, 0x1C, 0x54, 0x3F, 0xD2, 0x35, 0xBC, 0x1D, 0x09, + 0xBF, 0xE4, 0xA1, 0xFC, 0x06, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, + 0x79, 0x5A, 0x0B, 0x3A, 0xF4, 0x3D, 0xA9, 0xFD, 0x0C, 0x00, 0x00, 0x79, 0x36, 0x00, 0x00, 0x4F, + 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, + 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, + 0x69, 0x62, 0x2F, 0x6D, 0x61, 0x63, 0x68, 0x69, 0x6E, 0x65, 0x2D, 0x6C, 0x65, 0x61, 0x72, 0x6E, + 0x69, 0x6E, 0x67, 0x2F, 0x6D, 0x61, 0x63, 0x68, 0x69, 0x6E, 0x65, 0x2D, 0x6C, 0x65, 0x61, 0x72, + 0x6E, 0x69, 0x6E, 0x67, 0x2D, 0x61, 0x70, 0x69, 0x2D, 0x63, 0x6C, 0x69, 0x65, 0x6E, 0x74, 0x2E, + 0x6A, 0x73, 0xD5, 0x1B, 0x6B, 0x53, 0xDB, 0x46, 0xF0, 0x3B, 0xBF, 0x62, 0xE3, 0x0F, 0xB5, 0x49, + 0x6D, 0x19, 0xE8, 0x1B, 0x4A, 0x5B, 0x17, 0x04, 0xB8, 0x35, 0x36, 0x63, 0x9B, 0x24, 0x9D, 0x4E, + 0xC7, 0x95, 0xA5, 0x33, 0xA8, 0x91, 0x25, 0x55, 0x3A, 0x01, 0x6E, 0xC2, 0x7F, 0xEF, 0xEE, 0x3D, + 0xF4, 0xB2, 0x05, 0x26, 0x10, 0xD2, 0x7A, 0x12, 0x40, 0xA7, 0xBD, 0x7D, 0xEF, 0xDE, 0xDE, 0xDE, + 0xB9, 0xFD, 0xF2, 0x05, 0xCC, 0xDC, 0x88, 0x4D, 0xAD, 0x98, 0xB5, 0x2C, 0x67, 0xEE, 0xFA, 0x70, + 0xF5, 0x9D, 0xF1, 0xA5, 0xB1, 0x03, 0x2F, 0xDB, 0x1B, 0xB5, 0x24, 0x66, 0x10, 0xF3, 0xC8, 0xB5, + 0x79, 0x6D, 0x6F, 0x03, 0x41, 0x37, 0xE0, 0x25, 0x1C, 0x04, 0xE1, 0x22, 0x72, 0x2F, 0x2E, 0x39, + 0xEC, 0x6C, 0xED, 0x6C, 0xC1, 0x71, 0x10, 0x5C, 0x78, 0x0C, 0xBA, 0xBE, 0x6D, 0xE0, 0x5B, 0x02, + 0xE8, 0xB9, 0x36, 0xF3, 0x63, 0xE6, 0x40, 0xE2, 0x3B, 0x2C, 0x02, 0x7E, 0xC9, 0xA0, 0x13, 0x5A, + 0x36, 0xFE, 0x52, 0x6F, 0x9A, 0xF0, 0x8A, 0x45, 0xB1, 0x1B, 0xF8, 0xB0, 0x63, 0x6C, 0x41, 0x83, + 0x00, 0x6A, 0xEA, 0x55, 0x6D, 0x73, 0x8F, 0x50, 0x2C, 0x82, 0x04, 0xE6, 0xD6, 0x02, 0xFC, 0x80, + 0x03, 0xF2, 0x80, 0x38, 0xDC, 0x18, 0xD9, 0x44, 0x3A, 0xEC, 0xC6, 0x66, 0x21, 0x07, 0x64, 0xD3, + 0x0E, 0xE6, 0xA1, 0xE7, 0x5A, 0xBE, 0xCD, 0xE0, 0xDA, 0xE5, 0x97, 0x08, 0x93, 0x12, 0x30, 0x08, + 0xC7, 0x6F, 0x0A, 0x47, 0x30, 0xE5, 0x16, 0x82, 0x5B, 0x38, 0x21, 0xC4, 0xA7, 0x59, 0x1E, 0x10, + 0x2C, 0xAE, 0x98, 0x06, 0xB8, 0xE4, 0x3C, 0xDC, 0x6D, 0xB7, 0xAF, 0xAF, 0xAF, 0x0D, 0x4B, 0xB0, + 0x6B, 0x04, 0xD1, 0x45, 0xDB, 0x93, 0x80, 0x71, 0xBB, 0xD7, 0x3D, 0x30, 0xFB, 0x23, 0xB3, 0x85, + 0x2C, 0xAB, 0x29, 0xE7, 0xBE, 0xC7, 0xE2, 0x18, 0x22, 0xF6, 0x77, 0xE2, 0x46, 0x28, 0xEE, 0x74, + 0x01, 0x56, 0x18, 0xE2, 0x04, 0x6B, 0x8A, 0x8C, 0x7A, 0xD6, 0x35, 0x04, 0x11, 0x58, 0x17, 0x11, + 0xC3, 0x77, 0x3C, 0x20, 0x96, 0xAF, 0x23, 0x97, 0xBB, 0xFE, 0x45, 0x13, 0xE2, 0x60, 0xC6, 0xAF, + 0xAD, 0x88, 0x11, 0x1A, 0xC7, 0x25, 0x0D, 0x4F, 0x13, 0xAE, 0x35, 0x56, 0x60, 0xD0, 0x8D, 0x0B, + 0x00, 0x01, 0x0A, 0xE2, 0x43, 0xAD, 0x33, 0x82, 0xEE, 0xA8, 0x06, 0x3F, 0x77, 0x46, 0xDD, 0x51, + 0x93, 0x90, 0xBC, 0xEE, 0x8E, 0x4F, 0x06, 0xE7, 0x63, 0x78, 0xDD, 0x19, 0x0E, 0x3B, 0xFD, 0x71, + 0xD7, 0x1C, 0xC1, 0x60, 0x08, 0x07, 0x83, 0xFE, 0x61, 0x77, 0xDC, 0x1D, 0xF4, 0xF1, 0xE9, 0x08, + 0x3A, 0xFD, 0xDF, 0xE0, 0xD7, 0x6E, 0xFF, 0xB0, 0x09, 0xCC, 0x45, 0x12, 0x11, 0xEA, 0x32, 0x8C, + 0x50, 0x02, 0x62, 0xD3, 0x25, 0x5D, 0x32, 0x47, 0x28, 0x6E, 0xC4, 0x58, 0x81, 0x85, 0x59, 0x20, + 0x59, 0x8A, 0x43, 0x66, 0xBB, 0x33, 0xD7, 0x46, 0xD1, 0xFC, 0x8B, 0xC4, 0xBA, 0x60, 0x70, 0x11, + 0x5C, 0xB1, 0xC8, 0x47, 0x89, 0x20, 0x64, 0xD1, 0xDC, 0x8D, 0xC9, 0xA6, 0x31, 0x32, 0xE8, 0x10, + 0x1A, 0xCF, 0x9D, 0xBB, 0xDC, 0xE2, 0x34, 0xB4, 0x2C, 0x17, 0x11, 0x6A, 0x6F, 0x0C, 0xA6, 0x7F, + 0x31, 0x9B, 0x1B, 0x0E, 0x9B, 0xB9, 0x3E, 0x3B, 0x8B, 0x02, 0xC4, 0xC2, 0x17, 0x0D, 0x64, 0x2B, + 0x88, 0x78, 0xDC, 0x84, 0xDA, 0x64, 0xC2, 0xE2, 0xD3, 0xC0, 0x49, 0x3C, 0x56, 0x6B, 0xC2, 0x3B, + 0xB8, 0xB2, 0xBC, 0x84, 0xED, 0x02, 0x8F, 0x12, 0x06, 0xB7, 0xE8, 0x28, 0x0A, 0xD0, 0x38, 0x45, + 0x6B, 0x21, 0x82, 0x1E, 0xB3, 0x04, 0x33, 0x9D, 0xD0, 0x3D, 0x40, 0x61, 0x7C, 0x0E, 0xFB, 0xA0, + 0x41, 0xDC, 0xF8, 0xD8, 0x8E, 0xC7, 0x33, 0xCF, 0xE5, 0x0C, 0x11, 0x32, 0x6F, 0x10, 0x0A, 0xC6, + 0x10, 0xE2, 0x2A, 0x70, 0x1D, 0xD8, 0xDA, 0xDB, 0xB8, 0xB2, 0x22, 0x34, 0x9F, 0x3B, 0x21, 0x73, + 0xB2, 0x98, 0x4F, 0xB6, 0xF1, 0x9D, 0x32, 0x6D, 0xA3, 0x66, 0x18, 0xED, 0x84, 0xBB, 0x5E, 0xDC, + 0x46, 0x88, 0x96, 0x82, 0xA8, 0x6D, 0xCA, 0x49, 0x2C, 0x8A, 0x82, 0xA8, 0x02, 0x5C, 0xBC, 0xD3, + 0x80, 0x73, 0xC9, 0xE6, 0xC4, 0x53, 0x7C, 0x4E, 0x04, 0x4C, 0x69, 0x66, 0x5B, 0x41, 0xB5, 0x34, + 0x54, 0x4B, 0x40, 0x69, 0x1C, 0xE2, 0x61, 0x25, 0x29, 0x17, 0x55, 0x7C, 0xA3, 0xC0, 0x48, 0x53, + 0xAE, 0x63, 0xF1, 0x20, 0x5A, 0x09, 0x9A, 0xBE, 0xD5, 0xE0, 0xA7, 0xBD, 0xC9, 0xAB, 0xED, 0x9F, + 0xCD, 0x71, 0x67, 0x67, 0xD2, 0x39, 0xEB, 0xE2, 0x9C, 0x3A, 0x05, 0x43, 0x8C, 0xD1, 0xA0, 0x53, + 0xC3, 0xDC, 0x33, 0x2E, 0x44, 0xA0, 0xA3, 0x02, 0x62, 0x03, 0x43, 0xAF, 0x7D, 0xB5, 0x3D, 0x65, + 0xDC, 0xDA, 0xA9, 0x4B, 0x0C, 0x47, 0xDD, 0xA1, 0x89, 0xDE, 0x68, 0x4E, 0x5E, 0x99, 0xC3, 0x11, + 0x3A, 0xDC, 0xE4, 0xC4, 0xEC, 0x1C, 0x9A, 0x43, 0x44, 0xF5, 0x6E, 0x03, 0xF0, 0x53, 0x7F, 0xD3, + 0x3A, 0xD2, 0x59, 0x46, 0x1A, 0xA7, 0xBE, 0x0B, 0x35, 0xC4, 0xAE, 0x92, 0x4E, 0xCB, 0x47, 0xAB, + 0xB4, 0x6B, 0xF0, 0xB9, 0x94, 0xD0, 0xB8, 0x60, 0x7C, 0xE4, 0xBC, 0x55, 0x69, 0xA2, 0xB1, 0xD9, + 0xDC, 0xB8, 0xC5, 0xFC, 0xD3, 0x86, 0x01, 0x7A, 0x88, 0x70, 0x29, 0x08, 0x03, 0xCF, 0x23, 0xC7, + 0x43, 0xDF, 0xB1, 0x12, 0x8F, 0xC7, 0x82, 0x8B, 0xB3, 0x41, 0xAF, 0x37, 0x39, 0x34, 0x8F, 0x3A, + 0xE7, 0xBD, 0xF1, 0xE4, 0xB4, 0xF3, 0x66, 0x32, 0xEE, 0x9E, 0x9A, 0x93, 0xD3, 0x6E, 0xAF, 0xD7, + 0x1D, 0x99, 0x14, 0x0C, 0x23, 0x64, 0x68, 0x7B, 0x67, 0x0B, 0x3F, 0x7B, 0x80, 0xE8, 0x4E, 0xAD, + 0x1B, 0x77, 0x9E, 0xCC, 0x81, 0xDC, 0xD8, 0xF2, 0x3C, 0xD8, 0x01, 0x64, 0x05, 0xE3, 0x2C, 0x87, + 0x4D, 0x08, 0xF5, 0xBA, 0xD3, 0x1D, 0xAF, 0xC4, 0xF5, 0x85, 0xC6, 0x34, 0xE2, 0x56, 0xC4, 0x65, + 0x1E, 0xFA, 0x02, 0x62, 0x66, 0x07, 0xBE, 0x83, 0xAC, 0x79, 0xD6, 0x22, 0xC5, 0x44, 0xFC, 0xDC, + 0x81, 0xA8, 0xCC, 0x13, 0x8E, 0x14, 0xF1, 0xCC, 0x12, 0xDF, 0x16, 0x92, 0x57, 0xB8, 0x72, 0x23, + 0x90, 0xBF, 0x37, 0x95, 0xC6, 0x89, 0xEE, 0xC4, 0x6A, 0xC2, 0x64, 0xBA, 0x97, 0x3E, 0x5F, 0xD8, + 0xF1, 0x79, 0xE4, 0x22, 0xB9, 0xC6, 0x64, 0x2A, 0x7E, 0x5A, 0xF8, 0x33, 0x9D, 0xB7, 0xBF, 0xBF, + 0x0F, 0x7E, 0x82, 0x6A, 0x78, 0xFF, 0x1E, 0x67, 0xE2, 0xA3, 0x0E, 0x0E, 0xF8, 0x51, 0xFF, 0xB1, + 0x8B, 0x2F, 0x0C, 0x9E, 0xD1, 0x2E, 0x4D, 0x9A, 0x56, 0x4D, 0x9A, 0x1A, 0x17, 0x9A, 0x67, 0x64, + 0x40, 0x32, 0x14, 0x31, 0x9E, 0x44, 0x3E, 0xF0, 0x45, 0xC8, 0x82, 0x99, 0x66, 0xED, 0x05, 0xCE, + 0xAF, 0x27, 0xBE, 0xCC, 0x08, 0x0E, 0x3A, 0xD7, 0xED, 0xC6, 0xFD, 0x21, 0x5C, 0xF1, 0x86, 0x56, + 0xAC, 0x97, 0x62, 0xC5, 0xF2, 0xAC, 0x38, 0xC6, 0xEC, 0x63, 0x71, 0x98, 0x59, 0xB6, 0x8B, 0x70, + 0x16, 0xDA, 0x18, 0xD5, 0xEB, 0x3B, 0xE4, 0x42, 0x2A, 0x9E, 0x11, 0x22, 0x10, 0x29, 0x4A, 0x3B, + 0x2A, 0x86, 0x05, 0x4C, 0x2D, 0xFB, 0x2D, 0x82, 0x01, 0x86, 0x85, 0x5E, 0xDE, 0x7E, 0x0A, 0x23, + 0xF7, 0x0A, 0x11, 0x50, 0x06, 0x13, 0xD6, 0xBD, 0x23, 0xFD, 0xB4, 0x5F, 0x22, 0xBC, 0x4D, 0xE4, + 0x11, 0x18, 0x1A, 0xA9, 0x0D, 0x1B, 0xDA, 0x4A, 0x7A, 0xA4, 0x12, 0x49, 0x03, 0x97, 0x14, 0x01, + 0x2C, 0x3F, 0x62, 0x25, 0x34, 0x70, 0x0C, 0x91, 0xE3, 0xCF, 0xBD, 0x74, 0xDC, 0x9D, 0x41, 0xE3, + 0x45, 0x1A, 0xD8, 0xA8, 0xAC, 0x7E, 0xE0, 0xF7, 0xD1, 0x2E, 0x22, 0xC5, 0x4A, 0x2C, 0x64, 0xA2, + 0x17, 0x8D, 0xBA, 0xB2, 0x77, 0x9D, 0x16, 0x24, 0x1A, 0xD6, 0xD8, 0x33, 0x0A, 0x51, 0x70, 0x0D, + 0x3E, 0xBB, 0xAE, 0x4C, 0x58, 0x86, 0xD6, 0x50, 0x89, 0x69, 0x93, 0xB2, 0x5D, 0xA3, 0xEE, 0xFA, + 0x82, 0x8F, 0x96, 0x15, 0x5D, 0x24, 0x73, 0x8A, 0xF4, 0x26, 0xD4, 0x71, 0x46, 0xCC, 0x41, 0x8F, + 0x40, 0x88, 0x1A, 0x91, 0xAB, 0xA2, 0x88, 0x7E, 0x63, 0x5E, 0x44, 0x84, 0xEA, 0x99, 0x27, 0x08, + 0x3F, 0xC5, 0x05, 0x5A, 0xE6, 0x32, 0xA8, 0x2B, 0x1E, 0xB3, 0xCF, 0xE7, 0x88, 0x55, 0xF1, 0x41, + 0x72, 0xA0, 0x38, 0x31, 0xA7, 0x6A, 0xC0, 0xA8, 0x6F, 0x66, 0x6A, 0xB9, 0x2D, 0x2A, 0x8E, 0xD2, + 0x9A, 0x36, 0x0E, 0x89, 0x58, 0xCC, 0xF8, 0x46, 0x27, 0xE1, 0x97, 0x41, 0xE4, 0xFE, 0xC3, 0x9C, + 0x13, 0x04, 0xCC, 0x0C, 0x80, 0x08, 0x53, 0x64, 0x95, 0x96, 0x32, 0xC2, 0x28, 0xE0, 0x01, 0xB9, + 0xB3, 0x61, 0x47, 0xCC, 0x52, 0xBE, 0x88, 0x74, 0x32, 0xAB, 0xCF, 0x69, 0x44, 0xEB, 0x3B, 0x0D, + 0x52, 0xE2, 0x0C, 0xC1, 0xE8, 0xD7, 0xDA, 0xF6, 0x54, 0x98, 0xDE, 0xBF, 0x2F, 0xA8, 0xA5, 0x3C, + 0xC1, 0x9C, 0x87, 0x7C, 0x31, 0xE2, 0x11, 0xB2, 0x29, 0x67, 0x18, 0x58, 0x4B, 0x84, 0x98, 0x4D, + 0xFA, 0xD6, 0x9C, 0x2D, 0x19, 0x5E, 0x2D, 0x66, 0xB0, 0xFF, 0xD4, 0xC6, 0xEF, 0xCA, 0x31, 0x10, + 0x2C, 0x00, 0xE6, 0x34, 0x8E, 0x2F, 0x0A, 0x66, 0xCA, 0xE5, 0x03, 0x2C, 0x03, 0xE6, 0x2E, 0x16, + 0x08, 0x11, 0x13, 0x82, 0x22, 0x43, 0x4B, 0xE6, 0xCC, 0xA0, 0x49, 0x69, 0x62, 0xB1, 0xC0, 0x59, + 0x04, 0x7E, 0x1E, 0x79, 0x8D, 0xCD, 0x02, 0x56, 0x03, 0x23, 0xDA, 0xCF, 0x05, 0x5E, 0x12, 0x79, + 0xAB, 0xE4, 0x56, 0x3E, 0x20, 0xD7, 0xAB, 0xD2, 0x67, 0xCE, 0xD0, 0x2B, 0x9C, 0x5D, 0xA8, 0x9F, + 0x0D, 0x46, 0xE3, 0x7A, 0x73, 0xE9, 0x3D, 0xA2, 0xDC, 0xA5, 0x1F, 0xE8, 0x91, 0xB5, 0xB6, 0x90, + 0x31, 0xAE, 0x2D, 0x43, 0xA1, 0x59, 0xAC, 0x5D, 0xA9, 0x82, 0xE2, 0xCB, 0xDB, 0x95, 0x6A, 0x98, + 0x08, 0xC9, 0x28, 0x45, 0x0D, 0x25, 0x6B, 0x0D, 0xC5, 0x62, 0x5E, 0x1B, 0xDA, 0x2F, 0xF7, 0xD6, + 0x75, 0xCC, 0x24, 0x74, 0xAA, 0x1D, 0xB3, 0xEB, 0x34, 0x15, 0x7F, 0xA0, 0xE0, 0xAC, 0xF8, 0xED, + 0x87, 0x7B, 0x6B, 0xCE, 0xF9, 0x34, 0xFE, 0x7B, 0x1D, 0xF6, 0xC3, 0x3C, 0xBC, 0x13, 0x45, 0xD6, + 0xA2, 0x91, 0xF1, 0xFC, 0xA9, 0x3C, 0x3B, 0xC0, 0x1A, 0x0F, 0xC9, 0xFF, 0x9F, 0x3D, 0xBC, 0x33, + 0x3E, 0x38, 0x59, 0xCF, 0xC5, 0x45, 0xB1, 0xA6, 0xEC, 0x4A, 0xC3, 0x3F, 0x66, 0xFA, 0xDF, 0xA7, + 0x57, 0xD9, 0xA3, 0xF1, 0x57, 0xE0, 0x62, 0x0D, 0xF7, 0x1F, 0x0D, 0x09, 0x54, 0x6D, 0x65, 0x3C, + 0xAC, 0xE7, 0xFC, 0x4B, 0x66, 0x8D, 0x03, 0xEF, 0x8A, 0xDD, 0x63, 0xA5, 0x0C, 0xF5, 0xB2, 0x8C, + 0x29, 0x4F, 0x94, 0xA6, 0x35, 0x2F, 0x79, 0x21, 0xEF, 0x46, 0x3D, 0xD7, 0x53, 0xEF, 0xA3, 0x31, + 0x44, 0x4E, 0x93, 0xC8, 0x66, 0xAF, 0xB1, 0x6C, 0x1D, 0xE1, 0xC2, 0xC7, 0x33, 0x7A, 0xF4, 0xD7, + 0x63, 0xD5, 0x9A, 0x16, 0xEB, 0x05, 0xD5, 0x06, 0x7A, 0x94, 0x48, 0x7C, 0x42, 0x05, 0xE7, 0x85, + 0x3F, 0x4A, 0x3C, 0x21, 0x71, 0xC6, 0xDC, 0xA3, 0xE5, 0xF7, 0xDC, 0x58, 0xDA, 0x30, 0x2E, 0x49, + 0x4F, 0xBF, 0xE3, 0xF5, 0xE4, 0x76, 0x67, 0xE9, 0x84, 0x5C, 0x61, 0x8D, 0x73, 0x21, 0x1D, 0x85, + 0x77, 0xB7, 0x7B, 0x70, 0xBB, 0x6E, 0xD5, 0xA0, 0xA6, 0x3D, 0x7F, 0x7E, 0xEC, 0xA5, 0xDA, 0x50, + 0xB5, 0xF9, 0xE3, 0x52, 0x23, 0x89, 0xA9, 0xF6, 0x0D, 0x4A, 0x24, 0x03, 0x9B, 0x43, 0x9C, 0x45, + 0xE5, 0xFD, 0x03, 0x7C, 0xF6, 0xD9, 0x9D, 0x45, 0x51, 0x71, 0xF6, 0xF3, 0xEB, 0x85, 0xBC, 0x04, + 0x24, 0xF1, 0x47, 0xAE, 0x16, 0x2B, 0x54, 0x12, 0x62, 0x8B, 0x66, 0x84, 0xC5, 0x6C, 0x59, 0x29, + 0x5A, 0xCA, 0x6A, 0xA7, 0x49, 0xE6, 0x53, 0x16, 0x35, 0xCA, 0x78, 0x52, 0xF5, 0x3C, 0xAB, 0x8A, + 0x88, 0x3A, 0xC4, 0x48, 0x3E, 0x55, 0xD0, 0x43, 0x95, 0x24, 0x14, 0xB5, 0x24, 0xF1, 0x92, 0x96, + 0xBE, 0x87, 0x6D, 0xDA, 0x21, 0x2D, 0x8D, 0xFF, 0x00, 0xDB, 0x5B, 0x5B, 0xCF, 0x2A, 0xFA, 0x99, + 0x16, 0x59, 0xEF, 0x82, 0xF0, 0x1F, 0xBF, 0x66, 0xCC, 0x87, 0x6D, 0x6A, 0xAE, 0x11, 0x3F, 0x4F, + 0xA4, 0x8C, 0x7B, 0xFD, 0x67, 0x1C, 0xE0, 0xF6, 0xF7, 0x43, 0xA3, 0x2A, 0x45, 0xF0, 0x7C, 0x81, + 0xD5, 0x67, 0x37, 0x5C, 0xBA, 0x0C, 0x27, 0xC2, 0xB9, 0x6D, 0xA4, 0x1F, 0xF8, 0x2D, 0x46, 0x4C, + 0x42, 0x2C, 0xB8, 0x7C, 0x64, 0xBC, 0x7D, 0x8A, 0xEA, 0xEC, 0xD8, 0x7C, 0xEC, 0xF6, 0x43, 0x59, + 0xE6, 0xD3, 0x55, 0x5B, 0xC8, 0x1D, 0xE3, 0xEC, 0x69, 0x0A, 0xAE, 0xA7, 0xD2, 0x7D, 0x5A, 0xF0, + 0xC0, 0xFE, 0x7A, 0xF5, 0xD7, 0x83, 0x8C, 0x76, 0x68, 0xF6, 0xCC, 0xB1, 0x79, 0x9F, 0xDD, 0x6A, + 0xF8, 0x33, 0xE5, 0xE3, 0x23, 0x99, 0x47, 0x74, 0xC3, 0xE8, 0xF3, 0x12, 0x4E, 0x30, 0x8D, 0xE0, + 0xE1, 0x05, 0x86, 0x45, 0x2F, 0xC0, 0x0E, 0xD8, 0x30, 0xF1, 0xC9, 0x60, 0x69, 0x7B, 0x55, 0x1C, + 0xAE, 0xE0, 0x80, 0x68, 0x7F, 0xC1, 0x0C, 0x23, 0x42, 0x1E, 0x00, 0xB0, 0xE8, 0x0A, 0x17, 0x2A, + 0x89, 0x24, 0xC5, 0xF5, 0x53, 0x68, 0x45, 0xD6, 0x1C, 0x5D, 0x0B, 0xC6, 0x08, 0x93, 0x56, 0x50, + 0xD4, 0xDC, 0xB9, 0x14, 0x64, 0x8A, 0x80, 0xDA, 0x07, 0x09, 0x5A, 0xFF, 0x4D, 0x47, 0x0C, 0xBA, + 0xA3, 0xAB, 0xA0, 0xDB, 0xEB, 0x7A, 0x94, 0xA4, 0x51, 0x55, 0x6B, 0x36, 0xA1, 0x54, 0x71, 0x65, + 0xE9, 0xDF, 0x70, 0x02, 0x3F, 0x2D, 0x40, 0x8B, 0xAF, 0xA8, 0xC4, 0x0C, 0x71, 0x12, 0xBD, 0xBE, + 0x3F, 0xCB, 0x8A, 0x6A, 0x34, 0x3F, 0xEB, 0xCE, 0xB5, 0x07, 0xC3, 0x93, 0x69, 0x32, 0xE2, 0x78, + 0xE0, 0xCE, 0xA5, 0xE5, 0xC3, 0x72, 0xA3, 0x41, 0x26, 0x4B, 0x55, 0x22, 0x86, 0x52, 0x72, 0xD8, + 0xBC, 0x77, 0xF0, 0x04, 0x2E, 0x7D, 0x9C, 0xE3, 0x09, 0x10, 0xE6, 0xCB, 0x27, 0x59, 0x4E, 0xF0, + 0x43, 0x2D, 0xEC, 0xC3, 0xC0, 0xCF, 0x39, 0x42, 0x2C, 0x93, 0xF0, 0xA5, 0x75, 0xC5, 0xF4, 0xC1, + 0x93, 0x05, 0x5A, 0x55, 0xE2, 0x88, 0xCC, 0x07, 0xC9, 0xCA, 0xC7, 0x69, 0x43, 0x4A, 0xAF, 0x6D, + 0x69, 0x8A, 0xF9, 0xDA, 0x22, 0x73, 0x56, 0xF5, 0xB6, 0xAA, 0x79, 0x58, 0x38, 0x7A, 0x70, 0x63, + 0x71, 0x2E, 0x49, 0xEE, 0x53, 0x51, 0xAA, 0x67, 0x2D, 0x71, 0x35, 0xB6, 0xBA, 0x2F, 0x9E, 0xAE, + 0xB4, 0xD7, 0x96, 0xCB, 0x33, 0x37, 0x58, 0x4E, 0x72, 0x14, 0x1A, 0x29, 0x7D, 0xDA, 0xB0, 0x98, + 0x37, 0xC8, 0x2D, 0xC6, 0x81, 0x6B, 0x79, 0x3F, 0x63, 0x88, 0x06, 0xB3, 0x19, 0xD9, 0xD7, 0xA7, + 0xDC, 0xA1, 0x91, 0x96, 0xE5, 0xC8, 0xD2, 0x1D, 0x1E, 0xDB, 0xE0, 0x6A, 0x20, 0x5B, 0xFF, 0x86, + 0x7E, 0x42, 0x66, 0x69, 0x2F, 0xB1, 0x12, 0x72, 0x8C, 0x71, 0x86, 0xD0, 0xFA, 0xF1, 0xF7, 0xFA, + 0x4F, 0x14, 0x79, 0xF5, 0x3F, 0x68, 0x4E, 0xBD, 0x5E, 0xEA, 0x02, 0xE5, 0x27, 0x19, 0xAE, 0x6F, + 0x7B, 0x89, 0xC3, 0xE2, 0x46, 0x9D, 0xF2, 0x69, 0x26, 0xC3, 0xA9, 0x02, 0xAA, 0x7F, 0xBC, 0xEE, + 0xF3, 0xB2, 0xD9, 0x6B, 0xE7, 0xFE, 0x5B, 0x3F, 0xB8, 0xF6, 0x41, 0x53, 0x17, 0x67, 0x0F, 0xBB, + 0x40, 0xB9, 0xF7, 0x97, 0xD1, 0xA0, 0x6F, 0xC8, 0xC2, 0xC0, 0x9D, 0x2D, 0x1A, 0x5A, 0x88, 0xCD, + 0x75, 0xD6, 0x7E, 0x21, 0x5A, 0x03, 0x0B, 0x8F, 0xC8, 0xB2, 0xE5, 0x43, 0xD7, 0x49, 0x31, 0x08, + 0xA3, 0x6C, 0x96, 0x12, 0x71, 0x1B, 0x88, 0xFF, 0xD7, 0x68, 0xF5, 0x53, 0x17, 0x93, 0x9E, 0x38, + 0x32, 0x45, 0x79, 0x6F, 0x72, 0x23, 0xF1, 0x65, 0x90, 0x78, 0x74, 0xDE, 0xEB, 0x2D, 0x80, 0xA1, + 0x20, 0x58, 0xC4, 0xD0, 0x02, 0x81, 0xE7, 0xAF, 0xF2, 0xA4, 0x39, 0xF1, 0x5D, 0x0E, 0x5C, 0x1F, + 0x5B, 0x44, 0x89, 0x8F, 0x47, 0x1B, 0x31, 0x6D, 0x23, 0xD6, 0xCD, 0x9B, 0x6B, 0xF8, 0x54, 0x29, + 0x97, 0xF6, 0x85, 0x7B, 0x3D, 0x68, 0x07, 0x9B, 0x1D, 0x42, 0xE1, 0x7F, 0xBB, 0x30, 0x4E, 0xF2, + 0x8E, 0xDD, 0x39, 0x13, 0xF2, 0xCA, 0x93, 0xAE, 0x38, 0x3D, 0x93, 0xFA, 0xF0, 0x50, 0xCA, 0x63, + 0x45, 0x26, 0x5F, 0x28, 0x04, 0x54, 0xB2, 0x22, 0xE6, 0x17, 0xB9, 0xB9, 0xF4, 0xBC, 0xBB, 0xC6, + 0x91, 0x61, 0x81, 0xEB, 0x92, 0xE1, 0xE4, 0x51, 0xDA, 0xA3, 0x18, 0xD6, 0x08, 0x57, 0x72, 0x3C, + 0x2D, 0x70, 0x4C, 0xCF, 0xBB, 0xF7, 0x1E, 0x4B, 0x2E, 0x69, 0xB9, 0xC4, 0xAE, 0xFD, 0x28, 0x76, + 0x33, 0x7C, 0xCB, 0xDC, 0xDA, 0x05, 0x6E, 0xE9, 0x79, 0x37, 0x3D, 0xFA, 0x5C, 0x8B, 0x59, 0xF2, + 0x49, 0x16, 0xAD, 0x3C, 0x9A, 0x59, 0xF6, 0xCE, 0x33, 0x01, 0xDC, 0x28, 0xEA, 0xAF, 0x59, 0x14, + 0xB8, 0xB9, 0xCA, 0xCB, 0x36, 0xCB, 0x95, 0xA4, 0xA2, 0x2B, 0x42, 0xE2, 0x01, 0x1D, 0xA4, 0x34, + 0x7A, 0x54, 0x6C, 0xC8, 0xE2, 0xF3, 0xAE, 0x02, 0x54, 0x27, 0xA3, 0x43, 0x4C, 0x0C, 0x25, 0xEC, + 0x59, 0x02, 0xCD, 0x03, 0x2D, 0xD5, 0x28, 0xCB, 0xFC, 0x08, 0xF5, 0x2F, 0x2F, 0xDE, 0xB7, 0x2B, + 0x91, 0xE7, 0x71, 0x17, 0xAB, 0x8F, 0x67, 0xA8, 0x40, 0x4A, 0xC4, 0xB3, 0x5A, 0x24, 0xFF, 0xE2, + 0xDE, 0xAA, 0x24, 0x5B, 0x24, 0x10, 0x72, 0x1D, 0xB9, 0xA5, 0x9A, 0x8A, 0x44, 0xF4, 0x43, 0xA9, + 0x90, 0x59, 0xAB, 0x76, 0x3E, 0x66, 0x3C, 0x4E, 0xEF, 0xC3, 0xC8, 0x7C, 0x1C, 0xA9, 0x5E, 0x62, + 0x56, 0x2A, 0x9F, 0xF6, 0xC4, 0x91, 0x31, 0x0C, 0xF5, 0x1B, 0x5A, 0x06, 0x62, 0xBD, 0x1D, 0x95, + 0xD3, 0xA9, 0xE3, 0x2A, 0xC7, 0xC5, 0xC5, 0x81, 0x20, 0xC1, 0x9D, 0xAB, 0xDC, 0xCA, 0x68, 0x52, + 0xDD, 0x43, 0x1C, 0xC1, 0x4D, 0xF7, 0x0D, 0x34, 0xB0, 0xA3, 0x6A, 0xC0, 0x9F, 0xAA, 0xF5, 0xBE, + 0xBD, 0xF3, 0xC5, 0x97, 0x5F, 0x7D, 0xFD, 0xCD, 0xB7, 0xDF, 0xFD, 0xB9, 0x59, 0x51, 0x8D, 0xBF, + 0x93, 0x6B, 0xD9, 0xAD, 0xC0, 0x0F, 0xA3, 0x94, 0x94, 0xBA, 0xFF, 0x94, 0x72, 0x4C, 0x8B, 0x07, + 0xBA, 0xB2, 0x01, 0x02, 0x7F, 0x3D, 0x8F, 0xBF, 0x9E, 0xA2, 0x94, 0x1A, 0x8C, 0xE1, 0x9D, 0x2A, + 0x05, 0xBF, 0x1F, 0xFF, 0x70, 0x0B, 0x1D, 0x08, 0xE5, 0x93, 0x3A, 0x58, 0x4F, 0xBC, 0x19, 0xC6, + 0x98, 0x14, 0xA5, 0x40, 0xC2, 0x78, 0x68, 0x45, 0x5F, 0xD5, 0x99, 0x2E, 0x2C, 0x47, 0xFE, 0x43, + 0xBB, 0xC7, 0x4F, 0xB5, 0x5B, 0x5C, 0x6B, 0xD3, 0xB7, 0xC6, 0x4E, 0xBD, 0x86, 0x3F, 0xFD, 0x67, + 0xD9, 0xEC, 0x3D, 0x95, 0xC3, 0xA2, 0x89, 0x3D, 0x35, 0x2C, 0xEB, 0x3A, 0xB4, 0x5F, 0xD9, 0x63, + 0x7D, 0xD1, 0x3A, 0x54, 0x5E, 0x6B, 0x14, 0x9D, 0x52, 0x20, 0x10, 0x86, 0x3C, 0xC2, 0x3F, 0x52, + 0x1E, 0xD6, 0xF0, 0x4B, 0x45, 0x44, 0x3A, 0xE6, 0xD7, 0x5F, 0xB5, 0xB3, 0xBD, 0x45, 0xFB, 0xBB, + 0x6F, 0xBF, 0xF9, 0xFA, 0xAB, 0x2F, 0x1F, 0xEC, 0xAA, 0xC9, 0x47, 0x71, 0x55, 0x92, 0x6B, 0xC9, + 0x53, 0x85, 0xD4, 0xCA, 0x5B, 0xD7, 0x71, 0xA4, 0x92, 0x13, 0x95, 0x1D, 0xA8, 0x74, 0x59, 0x2B, + 0xF5, 0x25, 0x4D, 0x26, 0x73, 0x88, 0xA5, 0x10, 0xA8, 0xF2, 0xA2, 0x07, 0x77, 0x71, 0x72, 0x38, + 0xF2, 0xA2, 0x6A, 0x7C, 0xEB, 0xC6, 0xA5, 0x00, 0x36, 0x2E, 0x99, 0x85, 0x97, 0x03, 0xF1, 0x7D, + 0xD5, 0x25, 0xB2, 0xB2, 0x1C, 0xE5, 0xAB, 0x1C, 0x82, 0x9D, 0x94, 0xF6, 0xC6, 0x7D, 0x0B, 0x70, + 0xC5, 0xB2, 0x4E, 0xAF, 0x0C, 0xAA, 0xD8, 0xAB, 0xCF, 0xD9, 0x6C, 0x8B, 0xDB, 0x97, 0x19, 0x36, + 0xDA, 0x0A, 0xAF, 0xDC, 0xBE, 0xA8, 0x78, 0xE5, 0x81, 0x5E, 0x21, 0xC5, 0xFA, 0x47, 0xE0, 0x8F, + 0xEA, 0x9D, 0x95, 0xF0, 0x65, 0x9A, 0x5F, 0x66, 0xC5, 0x9D, 0x89, 0xA1, 0xF4, 0x4E, 0x4C, 0x30, + 0xD3, 0xD7, 0x14, 0x8D, 0x33, 0x11, 0x9A, 0xCC, 0x29, 0xE0, 0x5A, 0xAD, 0x13, 0x9A, 0x53, 0xB1, + 0x8B, 0xCC, 0x36, 0xF0, 0xFB, 0x04, 0x55, 0x5C, 0x50, 0x97, 0x6B, 0x19, 0xEC, 0x11, 0xFF, 0x12, + 0xD3, 0x45, 0xBE, 0xD5, 0x84, 0x1E, 0xB3, 0xDF, 0x4B, 0xE4, 0xA6, 0xAE, 0x25, 0xE4, 0x93, 0xBB, + 0x3C, 0x76, 0x83, 0x89, 0x8E, 0x6E, 0xCB, 0x6A, 0xF2, 0x32, 0xD2, 0x51, 0x15, 0x3C, 0x89, 0xE5, + 0x7E, 0x2F, 0x65, 0x4C, 0x0E, 0x52, 0x14, 0x89, 0x4D, 0xD8, 0x34, 0x70, 0x16, 0x25, 0x08, 0x8E, + 0x3B, 0xBB, 0xCA, 0xCD, 0x34, 0x93, 0x96, 0xC8, 0xA0, 0x9D, 0xB4, 0x86, 0x59, 0xB5, 0xA3, 0xA6, + 0x7A, 0x07, 0xA1, 0x4B, 0x4C, 0x17, 0x95, 0x26, 0xC6, 0x14, 0x5F, 0x54, 0x56, 0xE7, 0x9F, 0xE9, + 0xCE, 0x96, 0x39, 0x1C, 0x0E, 0x86, 0x93, 0x83, 0xC1, 0xA1, 0x89, 0x75, 0xF5, 0xD9, 0x59, 0xB7, + 0x7F, 0x5C, 0x52, 0xAA, 0xA6, 0xB2, 0x0C, 0xF8, 0x7B, 0x1E, 0xD7, 0x1F, 0x55, 0x32, 0xC9, 0xDA, + 0x8B, 0x30, 0x14, 0x6A, 0x31, 0x94, 0x27, 0xDB, 0x42, 0xCB, 0xDD, 0xB5, 0x04, 0x58, 0xA1, 0xAF, + 0xBD, 0x8D, 0x27, 0x33, 0xB0, 0x28, 0x11, 0x35, 0x4F, 0x0F, 0x8E, 0x99, 0xC2, 0x82, 0x5F, 0x88, + 0x18, 0x54, 0xDA, 0x3D, 0x25, 0x42, 0xD7, 0x91, 0xB1, 0x72, 0x4F, 0x9D, 0x10, 0x16, 0xA1, 0x57, + 0x7B, 0x78, 0x55, 0xD6, 0x2E, 0x4D, 0x7E, 0x4C, 0x7A, 0x58, 0x66, 0xBC, 0x20, 0xEF, 0x7A, 0x49, + 0x99, 0x1C, 0x50, 0xA8, 0x61, 0x3D, 0xA9, 0x4A, 0x4D, 0xD0, 0x95, 0x53, 0xEF, 0x68, 0xA1, 0xA8, + 0xCB, 0xBE, 0x78, 0xAA, 0xE4, 0xA4, 0xAC, 0x37, 0xF4, 0x0D, 0xC7, 0x35, 0xB5, 0x7E, 0xFF, 0x69, + 0x66, 0xF1, 0x70, 0x2A, 0x9B, 0xA8, 0x67, 0x7E, 0x94, 0xF6, 0x53, 0xE1, 0xF2, 0xA3, 0xE5, 0x7A, + 0xF2, 0xB6, 0xA3, 0xC3, 0xB0, 0x45, 0x33, 0xC7, 0x59, 0xDA, 0xF0, 0x58, 0xE2, 0x1B, 0xF8, 0xDD, + 0x09, 0xFC, 0x5A, 0x00, 0xCE, 0xFA, 0x47, 0xD6, 0x59, 0xA3, 0xC3, 0x5F, 0x45, 0xC2, 0x12, 0x41, + 0xE6, 0x62, 0x2D, 0x64, 0xD9, 0x76, 0x90, 0xE0, 0x95, 0x45, 0x1B, 0xBF, 0x65, 0x20, 0xB7, 0xC0, + 0x71, 0x93, 0x1A, 0xA7, 0xAA, 0x42, 0x5F, 0xBE, 0x17, 0x19, 0x33, 0x9E, 0x23, 0x00, 0x16, 0x36, + 0x98, 0xC4, 0x5D, 0x4F, 0xB5, 0x8B, 0x37, 0xA0, 0x43, 0x27, 0xCE, 0x3E, 0x96, 0x50, 0x57, 0xCC, + 0x5B, 0x34, 0x01, 0xE1, 0x05, 0xE5, 0xE3, 0xC1, 0xE0, 0xB8, 0x67, 0x4E, 0x0E, 0x7A, 0x83, 0xF3, + 0xC3, 0xC9, 0xD9, 0x70, 0xF0, 0x8B, 0x79, 0x30, 0xAE, 0xA6, 0xC2, 0xFC, 0x2B, 0x37, 0x0A, 0x7C, + 0x92, 0x92, 0x3C, 0xCA, 0xA5, 0xAF, 0x3D, 0x18, 0xF5, 0x3B, 0x9B, 0xC3, 0x13, 0xE9, 0x20, 0x4B, + 0x6E, 0x5A, 0xD3, 0x15, 0x5E, 0x31, 0x28, 0xEE, 0x28, 0x86, 0x9F, 0x36, 0x70, 0xD2, 0xD3, 0x9E, + 0x8A, 0x43, 0xA9, 0x07, 0x5F, 0x74, 0xFB, 0x68, 0x6D, 0xCD, 0xBC, 0x5F, 0x09, 0xAE, 0xD1, 0xC0, + 0xEB, 0x9E, 0x72, 0xE6, 0x4F, 0x7B, 0x53, 0xE9, 0x0C, 0xF1, 0xC5, 0x81, 0xC1, 0xAC, 0x51, 0x6F, + 0xD7, 0x65, 0x3F, 0xA7, 0xB5, 0xFD, 0x09, 0xB8, 0xA7, 0x8E, 0x3A, 0x76, 0x67, 0xE4, 0x57, 0x75, + 0xFC, 0x85, 0x48, 0x8F, 0xF6, 0xA5, 0x45, 0x2D, 0x55, 0x2C, 0x0E, 0x4B, 0x62, 0x94, 0x3C, 0xA2, + 0xB6, 0x7C, 0x23, 0x2D, 0xF5, 0x81, 0x0C, 0xAC, 0xD2, 0x15, 0xF0, 0x92, 0x79, 0x63, 0x73, 0xBD, + 0xAF, 0x93, 0x54, 0xA3, 0xC0, 0x00, 0x58, 0xB1, 0xE0, 0xA6, 0xC5, 0x7D, 0xB7, 0xFF, 0xAA, 0xD3, + 0xEB, 0x1E, 0x4E, 0x3A, 0xC3, 0xE3, 0xF3, 0x53, 0xB3, 0x3F, 0xDE, 0x85, 0x15, 0x3A, 0x11, 0x90, + 0xFD, 0xC1, 0x78, 0x72, 0x34, 0x38, 0xEF, 0x1F, 0x22, 0x08, 0x2A, 0xA5, 0x35, 0xC3, 0xD0, 0x77, + 0xD4, 0xBB, 0xA1, 0x39, 0x1A, 0x9C, 0x0F, 0x0F, 0xCC, 0x89, 0xF9, 0xE6, 0xA4, 0x73, 0x3E, 0x1A, + 0x9B, 0x04, 0xA4, 0x37, 0x2F, 0x2D, 0x76, 0x73, 0x69, 0xA1, 0x2A, 0x99, 0x86, 0x3E, 0xEF, 0x77, + 0xCE, 0xC7, 0x27, 0x48, 0xAC, 0x7B, 0xD0, 0x91, 0xA0, 0x16, 0xDE, 0x6F, 0xA6, 0x04, 0x62, 0xD3, + 0xE6, 0x49, 0x55, 0x1F, 0x29, 0xF0, 0xAF, 0xFD, 0xC1, 0xEB, 0xFE, 0x6E, 0xB9, 0x36, 0x11, 0xDF, + 0xBC, 0x48, 0x43, 0xA2, 0xD4, 0xE4, 0xD6, 0xA4, 0xD3, 0xED, 0x4D, 0xA6, 0xEC, 0xFC, 0x2B, 0x23, + 0x0E, 0xF1, 0xCE, 0xBD, 0x70, 0x30, 0xEC, 0xB1, 0x85, 0x8D, 0x4D, 0xBA, 0xD6, 0xFF, 0x2F, 0x50, + 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x2E, 0xBD, 0x23, + 0xD9, 0x47, 0x04, 0x00, 0x00, 0x06, 0x0D, 0x00, 0x00, 0x4A, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, + 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, + 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x6D, 0x61, 0x63, + 0x68, 0x69, 0x6E, 0x65, 0x2D, 0x6C, 0x65, 0x61, 0x72, 0x6E, 0x69, 0x6E, 0x67, 0x2F, 0x6D, 0x61, + 0x63, 0x68, 0x69, 0x6E, 0x65, 0x2D, 0x6C, 0x65, 0x61, 0x72, 0x6E, 0x69, 0x6E, 0x67, 0x2D, 0x75, + 0x74, 0x69, 0x6C, 0x73, 0x2E, 0x6A, 0x73, 0x95, 0x56, 0x5B, 0xAF, 0xD2, 0x40, 0x10, 0x7E, 0xE7, + 0x57, 0x8C, 0x3C, 0x68, 0x39, 0xA1, 0xE5, 0x9C, 0xE3, 0x1D, 0x62, 0x14, 0xEF, 0x44, 0x05, 0x23, + 0x47, 0x8D, 0x31, 0x86, 0x2C, 0xDD, 0x29, 0xAC, 0x96, 0xDD, 0xBA, 0x17, 0x90, 0x28, 0xFF, 0xDD, + 0xD9, 0x52, 0xA8, 0x48, 0x2C, 0xB6, 0x0F, 0x90, 0xEE, 0x7E, 0xFB, 0xCD, 0x37, 0xB7, 0x9D, 0x76, + 0xCE, 0xAE, 0x41, 0x22, 0x34, 0x4E, 0x99, 0xC1, 0x90, 0xF1, 0x85, 0x90, 0xB0, 0xBC, 0x1F, 0xDD, + 0x8A, 0x2E, 0xE1, 0xAC, 0xD3, 0x68, 0x3A, 0x83, 0x60, 0xAC, 0x16, 0xB1, 0x6D, 0xF6, 0x1A, 0x04, + 0x6D, 0xC0, 0x19, 0x3C, 0x51, 0xD9, 0x5A, 0x8B, 0xD9, 0xDC, 0xC2, 0xE5, 0xF9, 0xE5, 0x39, 0xBC, + 0x50, 0x6A, 0x96, 0x22, 0x0C, 0x64, 0x1C, 0xD1, 0xAE, 0x07, 0xBC, 0x16, 0x31, 0x4A, 0x83, 0x1C, + 0x9C, 0xE4, 0xA8, 0xC1, 0xCE, 0x11, 0xFA, 0x19, 0x8B, 0xE9, 0xAF, 0xD8, 0x69, 0xC3, 0x07, 0xD4, + 0x46, 0x28, 0x09, 0x97, 0xD1, 0x39, 0x04, 0x1E, 0xD0, 0x2C, 0xB6, 0x9A, 0xAD, 0x9E, 0xA7, 0x58, + 0x2B, 0x07, 0x0B, 0xB6, 0x06, 0xA9, 0x2C, 0x90, 0x06, 0xE2, 0x10, 0x86, 0x64, 0x92, 0x1D, 0xFC, + 0x11, 0x63, 0x66, 0x81, 0x64, 0xC6, 0x6A, 0x91, 0xA5, 0x82, 0xC9, 0x18, 0x61, 0x25, 0xEC, 0x9C, + 0x30, 0x7B, 0x03, 0x91, 0xE7, 0xF8, 0x54, 0x70, 0xA8, 0xA9, 0x65, 0x04, 0x67, 0x74, 0x20, 0xA3, + 0xB7, 0xE4, 0x4F, 0x20, 0x30, 0x5B, 0x88, 0x06, 0x98, 0x5B, 0x9B, 0x75, 0x3B, 0x9D, 0xD5, 0x6A, + 0x15, 0xB1, 0x5C, 0x6E, 0xA4, 0xF4, 0xAC, 0x93, 0x6E, 0x81, 0xA6, 0xF3, 0x7A, 0xF0, 0xE4, 0xD9, + 0x70, 0xFC, 0x2C, 0x24, 0xC9, 0xC5, 0x91, 0xF7, 0x32, 0x45, 0x63, 0x40, 0xE3, 0x77, 0x27, 0x34, + 0xB9, 0x3B, 0x5D, 0x03, 0xCB, 0x32, 0x3A, 0xC0, 0xA6, 0x24, 0x34, 0x65, 0x2B, 0x50, 0x1A, 0xD8, + 0x4C, 0x23, 0xED, 0x59, 0xE5, 0x25, 0xAF, 0xB4, 0xB0, 0x42, 0xCE, 0xDA, 0x60, 0x54, 0x62, 0x57, + 0x4C, 0xA3, 0xA7, 0xE1, 0xC2, 0x47, 0x78, 0xEA, 0xEC, 0x2E, 0x62, 0x07, 0x02, 0x85, 0x39, 0x00, + 0x28, 0x72, 0x44, 0x42, 0xB3, 0x3F, 0x86, 0xC1, 0xB8, 0x09, 0x8F, 0xFB, 0xE3, 0xC1, 0xB8, 0xED, + 0x49, 0x3E, 0x0E, 0xAE, 0x5E, 0x8E, 0xDE, 0x5F, 0xC1, 0xC7, 0xFE, 0xBB, 0x77, 0xFD, 0xE1, 0xD5, + 0xE0, 0xD9, 0x18, 0x46, 0xEF, 0xE0, 0xC9, 0x68, 0xF8, 0x74, 0x70, 0x35, 0x18, 0x0D, 0xE9, 0xED, + 0x39, 0xF4, 0x87, 0x9F, 0xE0, 0xD5, 0x60, 0xF8, 0xB4, 0x0D, 0x28, 0xC8, 0x84, 0xA6, 0x58, 0x66, + 0x9A, 0x3C, 0xF0, 0x32, 0x85, 0x8F, 0x25, 0xF2, 0x3C, 0x70, 0x63, 0xC4, 0x03, 0x09, 0x89, 0xDA, + 0x4A, 0x32, 0x19, 0xC6, 0x22, 0x11, 0x31, 0xB9, 0x26, 0x67, 0x8E, 0xCD, 0x10, 0x66, 0x6A, 0x89, + 0x5A, 0x92, 0x47, 0x90, 0xA1, 0x5E, 0x08, 0xE3, 0x73, 0x6A, 0x48, 0x20, 0xF7, 0x34, 0xA9, 0x58, + 0x08, 0xCB, 0xAC, 0x5F, 0x3A, 0xF6, 0xCB, 0x1B, 0xEA, 0x34, 0x96, 0x4C, 0xC3, 0x64, 0x82, 0x3F, + 0x2C, 0x4A, 0x6E, 0xE0, 0x01, 0x04, 0x79, 0x9E, 0xAF, 0x5F, 0xCF, 0xF3, 0x1D, 0xED, 0x77, 0x5A, + 0xF0, 0xEB, 0x17, 0x04, 0x89, 0x93, 0xB1, 0x67, 0x83, 0xA0, 0x05, 0x3F, 0x1B, 0x40, 0x8F, 0x3F, + 0xBE, 0x85, 0x8C, 0xBD, 0xA1, 0xD8, 0x53, 0x94, 0x28, 0xDE, 0x86, 0x69, 0x8E, 0xDC, 0x3E, 0x47, + 0xC8, 0xD1, 0xF4, 0x2B, 0xC6, 0x36, 0x32, 0x68, 0xDF, 0x6A, 0x65, 0x95, 0x5D, 0x67, 0x38, 0x4A, + 0xC8, 0x12, 0x1D, 0x28, 0x9F, 0xE0, 0x27, 0x09, 0xCC, 0xFC, 0xFE, 0x64, 0xD2, 0x85, 0xCF, 0x5F, + 0x60, 0x43, 0x79, 0x34, 0xD6, 0x57, 0x1D, 0x55, 0x52, 0x5F, 0x6B, 0xB6, 0x26, 0xBD, 0xC7, 0x56, + 0x81, 0x47, 0xFB, 0x73, 0x64, 0x6B, 0xDA, 0x83, 0x4D, 0xEB, 0x2F, 0xEE, 0xE3, 0x43, 0x79, 0xA4, + 0x03, 0xEF, 0x55, 0x46, 0x56, 0xFC, 0x92, 0x48, 0x20, 0x98, 0x46, 0x73, 0x66, 0x46, 0x2B, 0x49, + 0x2A, 0x29, 0xCA, 0x76, 0x1D, 0x64, 0xAD, 0x16, 0xF0, 0xCF, 0xD9, 0x17, 0xCF, 0x4B, 0x7F, 0x44, + 0xDD, 0xDB, 0xF3, 0x6A, 0xB4, 0x4E, 0xCB, 0x43, 0x5F, 0xB7, 0xF4, 0x39, 0xC6, 0x43, 0x4B, 0xD8, + 0xFF, 0x06, 0x6B, 0x47, 0x70, 0x24, 0x7C, 0x32, 0xF1, 0xB9, 0xD8, 0x66, 0x2B, 0x56, 0x14, 0x17, + 0xED, 0x62, 0xAB, 0x34, 0x09, 0xE3, 0xA4, 0x6A, 0x8F, 0xE7, 0x51, 0xB6, 0x8B, 0xB0, 0xD7, 0x0C, + 0x0F, 0x1E, 0x3C, 0x00, 0xE9, 0xD2, 0x14, 0x1E, 0xEE, 0x92, 0x10, 0x6B, 0x64, 0x16, 0x03, 0x92, + 0xD0, 0x85, 0x60, 0x32, 0x39, 0xC4, 0x97, 0x6F, 0x6D, 0x90, 0xB8, 0xCA, 0xAD, 0x96, 0xEE, 0x6C, + 0x5A, 0x01, 0xBD, 0x14, 0x3C, 0x1C, 0x13, 0x21, 0x71, 0x1F, 0x29, 0x2A, 0x70, 0xA5, 0xAD, 0x69, + 0x43, 0x93, 0x6A, 0xC9, 0xBC, 0x51, 0xDC, 0xA5, 0xD8, 0x6C, 0x93, 0xE2, 0x25, 0x4B, 0x1D, 0x76, + 0x81, 0xF4, 0x22, 0x6C, 0xE8, 0x78, 0x01, 0x8C, 0x9E, 0x17, 0x37, 0xE1, 0x1B, 0xEA, 0x7F, 0x22, + 0x7A, 0x8D, 0x2C, 0x2F, 0xEF, 0x67, 0x5A, 0xE7, 0x5E, 0x2D, 0x95, 0xE0, 0x70, 0xDE, 0x6B, 0xE4, + 0x85, 0xE7, 0xD7, 0x26, 0x17, 0xB4, 0x5A, 0x5C, 0x00, 0x41, 0x33, 0x8A, 0x3A, 0xCE, 0x8A, 0xD4, + 0x74, 0xF2, 0xBD, 0x66, 0x6B, 0x0B, 0x3C, 0xC1, 0xD9, 0x39, 0x3B, 0x83, 0x47, 0x71, 0xCA, 0x8C, + 0xA1, 0x8E, 0xF8, 0xB3, 0xCA, 0x27, 0xC6, 0x91, 0x17, 0x45, 0x52, 0xCA, 0x36, 0x09, 0xAA, 0xF8, + 0xDA, 0xB0, 0x3D, 0x55, 0x84, 0x67, 0x4F, 0x56, 0x75, 0x26, 0x88, 0x15, 0xA7, 0xC8, 0x2E, 0xE8, + 0x26, 0xA0, 0x9E, 0xDE, 0xD9, 0x2B, 0xAB, 0xA4, 0xA0, 0x8C, 0x62, 0x96, 0xA6, 0x79, 0x83, 0xB6, + 0xE1, 0xC6, 0x62, 0xCB, 0x13, 0xA6, 0x05, 0xD1, 0x8D, 0x36, 0x1C, 0xB0, 0xE4, 0x1D, 0xEB, 0xB1, + 0x45, 0x9A, 0xFC, 0x6F, 0xA5, 0x88, 0x28, 0xD1, 0x6A, 0x31, 0x22, 0x33, 0xF9, 0x85, 0x91, 0x2F, + 0xFD, 0xD9, 0xCC, 0xFF, 0xD6, 0x68, 0xE8, 0xEE, 0x8F, 0xE7, 0x39, 0xA0, 0x58, 0x2F, 0x9F, 0x98, + 0x8C, 0xC1, 0x45, 0xB7, 0xF0, 0xC3, 0xD7, 0x4E, 0x75, 0x20, 0x6E, 0xC4, 0xBE, 0xAF, 0xD3, 0x14, + 0xF9, 0x8D, 0xD2, 0x56, 0xEF, 0x98, 0xF2, 0xB2, 0x06, 0xA5, 0x93, 0xDF, 0xA4, 0x5A, 0xC9, 0x30, + 0x2F, 0x89, 0x6A, 0xDA, 0x9B, 0x35, 0x68, 0x85, 0xA4, 0x12, 0x16, 0x3C, 0x64, 0x7A, 0xE6, 0x16, + 0x28, 0x6D, 0x35, 0xF3, 0xAD, 0x1A, 0xCC, 0x1C, 0x19, 0x4F, 0x7D, 0x6E, 0xFD, 0xA4, 0x45, 0x7E, + 0x2A, 0x16, 0xB7, 0x6B, 0x50, 0xD3, 0x34, 0x0F, 0x13, 0xE5, 0xE4, 0x09, 0xCA, 0x3B, 0x35, 0x28, + 0x59, 0xAA, 0x49, 0xEF, 0x9A, 0xC4, 0xD2, 0x90, 0x34, 0xD5, 0xBC, 0x77, 0x6B, 0xF0, 0x96, 0xF3, + 0x2C, 0xE4, 0x28, 0xC5, 0xA9, 0x28, 0xDC, 0xAB, 0x41, 0x4D, 0x23, 0x57, 0x39, 0x1D, 0xFB, 0x00, + 0xCF, 0x99, 0x33, 0xF6, 0x14, 0xF7, 0xFD, 0x1A, 0xDC, 0x09, 0x13, 0x54, 0xBD, 0x21, 0x8D, 0x75, + 0xBA, 0x8E, 0xB9, 0xF0, 0xBD, 0x53, 0x4D, 0x7E, 0x71, 0x5E, 0x83, 0x9D, 0x4D, 0x95, 0x3E, 0x29, + 0xF7, 0xA2, 0x4E, 0xC3, 0x29, 0x67, 0x43, 0x95, 0x84, 0x9A, 0x3E, 0x28, 0xF0, 0x04, 0x6D, 0xBD, + 0xEE, 0xB0, 0xF4, 0x5D, 0xC2, 0xD2, 0xFF, 0xE9, 0xBA, 0x8B, 0x3A, 0xCD, 0x61, 0x50, 0x2F, 0x05, + 0xA5, 0xCE, 0x49, 0xB6, 0xA4, 0x50, 0xFB, 0x0F, 0xBD, 0x13, 0xEC, 0x75, 0xFA, 0x83, 0x33, 0xCB, + 0xC2, 0x54, 0x19, 0x73, 0x82, 0xB3, 0x4E, 0x83, 0x90, 0x52, 0x67, 0xE7, 0x74, 0x43, 0xD0, 0x67, + 0x69, 0x55, 0xEE, 0x68, 0x72, 0x32, 0x97, 0xDA, 0xEE, 0x76, 0xB1, 0x7C, 0xEA, 0x58, 0x3A, 0x75, + 0xD3, 0x6D, 0x8E, 0x3F, 0x41, 0x2A, 0x39, 0x69, 0xB8, 0x07, 0xC5, 0x98, 0x8D, 0xDE, 0x6A, 0x1A, + 0xED, 0x3F, 0x90, 0xEF, 0xF0, 0x39, 0xA0, 0xF5, 0xFF, 0xA3, 0xBB, 0xDA, 0xCE, 0x6F, 0x50, 0x4B, + 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0xE4, 0xDC, 0xF0, 0x66, + 0x9B, 0x0D, 0x00, 0x00, 0x1E, 0x3B, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, + 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, + 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x6D, 0x61, 0x63, 0x68, + 0x69, 0x6E, 0x65, 0x2D, 0x6C, 0x65, 0x61, 0x72, 0x6E, 0x69, 0x6E, 0x67, 0x2F, 0x6D, 0x61, 0x63, + 0x68, 0x69, 0x6E, 0x65, 0x2D, 0x6C, 0x65, 0x61, 0x72, 0x6E, 0x69, 0x6E, 0x67, 0x2E, 0x6A, 0x73, + 0xDD, 0x1B, 0x6B, 0x73, 0xE2, 0x36, 0xF0, 0x7B, 0x7E, 0x85, 0xCA, 0x74, 0x0A, 0x5C, 0xC1, 0xA4, + 0xD7, 0x4E, 0x67, 0x0A, 0x7D, 0xD1, 0x5C, 0xDA, 0xD2, 0x12, 0x72, 0x13, 0x92, 0xDE, 0x74, 0xD2, + 0x94, 0x31, 0xB6, 0x20, 0xEE, 0x19, 0xCB, 0xB5, 0xE4, 0x70, 0x34, 0xC7, 0x7F, 0xEF, 0xAE, 0x1E, + 0xB6, 0x6C, 0x03, 0x21, 0xB9, 0x5C, 0xD3, 0x36, 0x33, 0x77, 0x60, 0x6B, 0x77, 0xB5, 0x2F, 0xED, + 0xAE, 0xB4, 0xA2, 0xF3, 0xEC, 0x03, 0x32, 0x0B, 0x12, 0x3A, 0x75, 0x39, 0x6D, 0xBB, 0xFE, 0x22, + 0x88, 0xC8, 0xCD, 0x17, 0xCE, 0x67, 0xCE, 0x73, 0xF2, 0xAC, 0x73, 0x50, 0x4B, 0x39, 0x25, 0x5C, + 0x24, 0x81, 0x27, 0x6A, 0xBD, 0x03, 0x00, 0x3D, 0x20, 0xCF, 0xC8, 0x11, 0x8B, 0x57, 0x49, 0x30, + 0xBF, 0x16, 0xE4, 0xF9, 0xE1, 0xF3, 0x43, 0xF2, 0x03, 0x63, 0xF3, 0x90, 0x92, 0x41, 0xE4, 0x39, + 0x30, 0x8A, 0x00, 0xC3, 0xC0, 0xA3, 0x11, 0xA7, 0x3E, 0x49, 0x23, 0x9F, 0x26, 0x44, 0x5C, 0x53, + 0xD2, 0x8F, 0x5D, 0x0F, 0x3E, 0xF4, 0x48, 0x8B, 0xFC, 0x42, 0x13, 0x1E, 0xB0, 0x88, 0x3C, 0x77, + 0x0E, 0x49, 0x03, 0x01, 0x6A, 0x7A, 0xA8, 0xD6, 0xEC, 0x21, 0x89, 0x15, 0x4B, 0xC9, 0xC2, 0x5D, + 0x91, 0x88, 0x09, 0x02, 0x3C, 0x00, 0x8D, 0x80, 0x03, 0x9B, 0x30, 0x0F, 0x7D, 0xE3, 0xD1, 0x58, + 0x10, 0x60, 0xD3, 0x63, 0x8B, 0x38, 0x0C, 0xDC, 0xC8, 0xA3, 0x64, 0x19, 0x88, 0x6B, 0x80, 0xC9, + 0x26, 0x70, 0x90, 0xC6, 0xAF, 0x9A, 0x06, 0x9B, 0x0A, 0x17, 0xC0, 0x5D, 0x40, 0x88, 0xE1, 0x69, + 0x66, 0x03, 0x12, 0x57, 0x68, 0xA6, 0x09, 0xB9, 0x16, 0x22, 0xEE, 0x76, 0x3A, 0xCB, 0xE5, 0xD2, + 0x71, 0x25, 0xBB, 0x0E, 0x4B, 0xE6, 0x9D, 0x50, 0x01, 0xF2, 0xCE, 0x70, 0x70, 0x74, 0x3C, 0x1A, + 0x1F, 0xB7, 0x81, 0x65, 0x8D, 0x72, 0x11, 0x85, 0x94, 0x73, 0x92, 0xD0, 0x3F, 0xD3, 0x20, 0x01, + 0x71, 0xA7, 0x2B, 0xE2, 0xC6, 0x31, 0x20, 0xB8, 0x53, 0x60, 0x34, 0x74, 0x97, 0x84, 0x25, 0xC4, + 0x9D, 0x27, 0x14, 0xC6, 0x04, 0x43, 0x96, 0x97, 0x49, 0x20, 0x82, 0x68, 0xDE, 0x22, 0x9C, 0xCD, + 0xC4, 0xD2, 0x4D, 0x28, 0x92, 0xF1, 0x03, 0xD4, 0xF0, 0x34, 0x15, 0x46, 0x63, 0x05, 0x06, 0x03, + 0x5E, 0x00, 0x60, 0x20, 0x48, 0x44, 0x6A, 0xFD, 0x31, 0x19, 0x8C, 0x6B, 0xE4, 0xBB, 0xFE, 0x78, + 0x30, 0x6E, 0x21, 0x91, 0x57, 0x83, 0xF3, 0x1F, 0x4F, 0x2F, 0xCE, 0xC9, 0xAB, 0xFE, 0xD9, 0x59, + 0x7F, 0x74, 0x3E, 0x38, 0x1E, 0x93, 0xD3, 0x33, 0x72, 0x74, 0x3A, 0x7A, 0x31, 0x38, 0x1F, 0x9C, + 0x8E, 0xE0, 0xE9, 0x7B, 0xD2, 0x1F, 0xFD, 0x4A, 0x7E, 0x1E, 0x8C, 0x5E, 0xB4, 0x08, 0x0D, 0x60, + 0x8A, 0x04, 0x74, 0x19, 0x27, 0x20, 0x01, 0xB2, 0x19, 0xA0, 0x2E, 0xA9, 0x2F, 0x15, 0x37, 0xA6, + 0xB4, 0xC0, 0xC2, 0x8C, 0x29, 0x96, 0x78, 0x4C, 0xBD, 0x60, 0x16, 0x78, 0x20, 0x5A, 0x34, 0x4F, + 0xDD, 0x39, 0x25, 0x73, 0x76, 0x43, 0x93, 0x08, 0x24, 0x22, 0x31, 0x4D, 0x16, 0x01, 0x47, 0x9B, + 0x72, 0x60, 0xD0, 0x47, 0x32, 0x61, 0xB0, 0x08, 0x84, 0x2B, 0xF0, 0x55, 0x55, 0x2E, 0x9C, 0xA8, + 0x73, 0x70, 0x3A, 0xFD, 0x83, 0x7A, 0xC2, 0xF1, 0xE9, 0x2C, 0x88, 0xE8, 0xCB, 0x84, 0x01, 0x15, + 0xB1, 0x6A, 0x00, 0x5B, 0x2C, 0x11, 0xBC, 0x45, 0x6A, 0x93, 0x09, 0xE5, 0x27, 0xCC, 0x4F, 0x43, + 0x5A, 0x6B, 0x91, 0x5B, 0x72, 0xE3, 0x86, 0x29, 0xED, 0x12, 0x91, 0xA4, 0x94, 0xAC, 0xC1, 0x51, + 0x34, 0xA0, 0x03, 0x20, 0x34, 0x24, 0x5F, 0x91, 0xEC, 0x19, 0xAC, 0x07, 0x04, 0x87, 0xD4, 0x95, + 0xCC, 0xC1, 0xC8, 0x0D, 0x0B, 0x7C, 0x72, 0xD8, 0x3B, 0xB8, 0x71, 0x13, 0xB2, 0x50, 0xA3, 0x93, + 0x50, 0x0F, 0x4F, 0xDC, 0x38, 0x98, 0x78, 0x20, 0x7D, 0x24, 0x26, 0x9F, 0x00, 0xAC, 0xB6, 0x67, + 0xA3, 0xE6, 0x74, 0x34, 0x68, 0xDB, 0x80, 0xB6, 0x01, 0xB4, 0xAD, 0x40, 0x6B, 0x4D, 0x45, 0x8D, + 0x26, 0x09, 0x4B, 0x4A, 0x78, 0x4E, 0x27, 0x15, 0x41, 0xC8, 0x3B, 0x72, 0x4C, 0x03, 0x22, 0xF3, + 0x81, 0xEF, 0x0A, 0x96, 0x6C, 0x04, 0xD5, 0xA3, 0x19, 0x78, 0x95, 0x4B, 0x09, 0x77, 0x27, 0x83, + 0x12, 0xCA, 0xD0, 0xF0, 0x29, 0x8D, 0x27, 0xE8, 0xF5, 0x5B, 0xF8, 0xC3, 0xF1, 0x36, 0x8E, 0x1B, + 0x04, 0xF9, 0xBA, 0x04, 0x9A, 0x51, 0xEC, 0x3C, 0x93, 0x5E, 0x3F, 0x88, 0x04, 0xD8, 0xDC, 0x05, + 0x38, 0x36, 0x43, 0x5F, 0x3C, 0x19, 0x82, 0x67, 0x73, 0x01, 0xEB, 0x50, 0x19, 0x55, 0x12, 0x2A, + 0x59, 0x40, 0xE3, 0x48, 0xDA, 0x40, 0x86, 0x7C, 0xEB, 0x85, 0x2E, 0xE7, 0x00, 0x4C, 0x1A, 0xB3, + 0x34, 0xF2, 0xD0, 0x47, 0x48, 0xA3, 0x49, 0x6E, 0x0F, 0x08, 0xFC, 0x99, 0x37, 0x5B, 0x89, 0x64, + 0x90, 0x6B, 0xFC, 0x1F, 0x09, 0xCA, 0x4F, 0xE0, 0xED, 0x05, 0x0D, 0xA9, 0xA0, 0x5C, 0x79, 0x2B, + 0x4D, 0x6E, 0xC0, 0xD7, 0xD0, 0x1B, 0x49, 0x20, 0x38, 0x81, 0x09, 0x99, 0x17, 0xB8, 0xB8, 0x88, + 0xC0, 0xE9, 0x59, 0x9A, 0x78, 0x94, 0x3B, 0x0A, 0x31, 0xC3, 0xFF, 0x36, 0xA1, 0x22, 0x4D, 0x22, + 0x72, 0x0B, 0xBE, 0x08, 0xEE, 0x4C, 0xBF, 0x44, 0xBF, 0xF9, 0x7A, 0x4D, 0xFA, 0x11, 0xA1, 0x8B, + 0x58, 0xAC, 0x88, 0x7E, 0x0F, 0x13, 0xB8, 0x02, 0xA2, 0x4E, 0x18, 0x92, 0x29, 0x95, 0xE4, 0xC2, + 0x1B, 0xA0, 0xBB, 0xBC, 0xA6, 0x11, 0xCE, 0x6D, 0xC8, 0xC1, 0x9F, 0x66, 0x43, 0xAD, 0x63, 0xC9, + 0x9D, 0x6F, 0x26, 0xED, 0xE0, 0xE7, 0x56, 0x21, 0x9D, 0x38, 0x61, 0x82, 0x89, 0x55, 0x4C, 0x1D, + 0x85, 0x07, 0xAA, 0xAB, 0xEA, 0x4A, 0xCA, 0xDF, 0x21, 0xE7, 0xB0, 0x9A, 0x41, 0x52, 0xF8, 0x17, + 0xB1, 0x5C, 0x3A, 0x0C, 0x3A, 0x5E, 0x48, 0xC1, 0x46, 0x69, 0xEC, 0x64, 0xE0, 0x4A, 0x44, 0x23, + 0x89, 0xA3, 0x99, 0x6F, 0x34, 0x7B, 0x4A, 0xA5, 0xF0, 0x91, 0x01, 0x6D, 0x65, 0xAE, 0x77, 0xB0, + 0x6E, 0x34, 0x33, 0x97, 0xC0, 0xE9, 0xC9, 0xF7, 0x3A, 0x87, 0x18, 0x1C, 0x92, 0xAD, 0x3E, 0x69, + 0xEB, 0x6D, 0x9E, 0xB1, 0x8F, 0x43, 0x58, 0x06, 0xFE, 0x36, 0x76, 0x13, 0x77, 0x41, 0x6E, 0xCD, + 0x6C, 0xFD, 0x38, 0x5E, 0x63, 0xD0, 0x45, 0x16, 0xF0, 0x53, 0xC7, 0x2A, 0x50, 0xF6, 0xC9, 0xD0, + 0xA8, 0xDE, 0xC9, 0x90, 0x3D, 0x08, 0x45, 0x10, 0x3C, 0x3C, 0x58, 0x66, 0xC6, 0x06, 0x3B, 0x3D, + 0xAE, 0x01, 0x14, 0x2D, 0x4D, 0x4B, 0xC2, 0xCE, 0x60, 0x74, 0x7E, 0x7C, 0x36, 0xEA, 0x0F, 0x81, + 0xF3, 0x88, 0x2E, 0x77, 0x38, 0x69, 0x2F, 0xC3, 0x0B, 0x66, 0xA4, 0xF1, 0x41, 0xB6, 0xC2, 0x9D, + 0x80, 0x8F, 0x58, 0x34, 0x4A, 0xC3, 0x50, 0x85, 0x3F, 0x35, 0xCB, 0xDB, 0xB7, 0xE4, 0x83, 0x46, + 0x9D, 0xC5, 0x32, 0x5E, 0xD6, 0x31, 0x59, 0xE0, 0x6B, 0x33, 0x7B, 0xCE, 0x41, 0xC2, 0x96, 0x38, + 0xAF, 0x89, 0x3B, 0x8E, 0xD1, 0xC4, 0x31, 0x3E, 0x37, 0x0C, 0x74, 0xFE, 0xE7, 0x31, 0x1F, 0x42, + 0x66, 0xBD, 0x1C, 0x28, 0x3A, 0x41, 0x24, 0x19, 0x6A, 0xBB, 0xC9, 0x3C, 0x5D, 0x40, 0x3C, 0xAB, + 0xB7, 0x2A, 0xA8, 0x0B, 0xC8, 0x0D, 0xEE, 0x1C, 0xB1, 0x61, 0x12, 0x2E, 0x88, 0x01, 0x25, 0x31, + 0xD8, 0x4A, 0xE5, 0x34, 0x59, 0x30, 0x38, 0x8B, 0x92, 0xDA, 0x9A, 0x64, 0x91, 0x02, 0xFC, 0x14, + 0x4C, 0x42, 0xEA, 0xE4, 0x63, 0x20, 0x5C, 0xFD, 0xAB, 0xCB, 0xE9, 0x33, 0xB7, 0x41, 0x69, 0xF3, + 0x38, 0x52, 0x64, 0x46, 0xC6, 0xFA, 0xEC, 0x7B, 0xD1, 0x1A, 0x80, 0x66, 0x54, 0x0E, 0x06, 0x81, + 0xA7, 0x5E, 0x71, 0x5C, 0x05, 0x6B, 0x65, 0xAB, 0xDD, 0x91, 0xBF, 0x9C, 0x35, 0xFA, 0x71, 0x70, + 0x84, 0x43, 0xCA, 0x3E, 0x3D, 0x2B, 0xE0, 0x6C, 0xCE, 0x5A, 0x25, 0xF4, 0x7C, 0xFD, 0x42, 0x1E, + 0x03, 0x0A, 0xB5, 0x56, 0x66, 0xCA, 0xDC, 0xA3, 0xB5, 0x63, 0x9E, 0xC9, 0xD5, 0xA6, 0xC2, 0x16, + 0x80, 0x5A, 0xA1, 0x4A, 0x56, 0x36, 0x52, 0x92, 0x52, 0x9C, 0x35, 0x7F, 0x39, 0x9D, 0x3C, 0x7C, + 0x95, 0x96, 0xC7, 0xF9, 0x03, 0xA8, 0x76, 0xB2, 0xEF, 0x73, 0x2A, 0xBA, 0x5B, 0x02, 0x4F, 0x1E, + 0x28, 0x2A, 0xB6, 0xB0, 0xEC, 0x95, 0x9B, 0x92, 0x46, 0xE0, 0x3E, 0x09, 0x16, 0x47, 0x40, 0x11, + 0x96, 0x08, 0xCD, 0x87, 0x60, 0x65, 0xCE, 0x82, 0x79, 0x8A, 0x83, 0x3A, 0xC1, 0x1F, 0x68, 0xC3, + 0x97, 0x23, 0xC0, 0x51, 0x42, 0x41, 0x04, 0x0E, 0x9E, 0xB5, 0xC0, 0xAC, 0x0F, 0xDC, 0x5B, 0xA1, + 0x67, 0xA8, 0x65, 0xA8, 0xC4, 0x0B, 0x59, 0x21, 0x9C, 0xAA, 0xC5, 0xB5, 0x56, 0x98, 0xA8, 0x17, + 0xF5, 0x4D, 0xC6, 0x49, 0x49, 0xF6, 0xCE, 0x7C, 0x20, 0xE9, 0x60, 0x42, 0xC8, 0x32, 0xC1, 0x2C, + 0x0D, 0x67, 0x90, 0x07, 0x72, 0xA5, 0x52, 0x4D, 0xCB, 0x57, 0xC4, 0x77, 0x46, 0x7B, 0x2B, 0xC8, + 0x2B, 0x24, 0x49, 0xBF, 0x10, 0xE9, 0x25, 0x11, 0x5B, 0xEB, 0x18, 0x44, 0x27, 0xD2, 0x76, 0x5F, + 0x49, 0xB5, 0xF7, 0x0E, 0x36, 0xD9, 0x82, 0x07, 0xF3, 0xE8, 0x22, 0x09, 0x07, 0xB3, 0x97, 0x10, + 0xE0, 0xC1, 0x89, 0x35, 0x9D, 0x82, 0xED, 0x1C, 0x60, 0x36, 0x6A, 0x94, 0xA6, 0x3A, 0x62, 0x91, + 0x00, 0x78, 0x98, 0xD1, 0xD0, 0x9B, 0x58, 0x0B, 0xC9, 0x66, 0xB3, 0x08, 0xDF, 0x23, 0xEB, 0xDD, + 0xD4, 0x71, 0x99, 0xC8, 0x6A, 0x70, 0x1B, 0xE9, 0x6B, 0xC8, 0xD4, 0x21, 0x3D, 0x35, 0x60, 0x39, + 0xC2, 0xDD, 0xB4, 0x25, 0x27, 0x67, 0x94, 0xC7, 0x60, 0x5E, 0x9A, 0xD3, 0x57, 0x01, 0x1A, 0xC7, + 0x8A, 0x10, 0xAD, 0x7C, 0x62, 0xCD, 0xBA, 0x59, 0xDF, 0x15, 0x77, 0xBB, 0x88, 0xFD, 0x07, 0xB8, + 0x1B, 0x64, 0x19, 0xB0, 0xAE, 0x76, 0xB4, 0x81, 0x2F, 0x5D, 0x2D, 0xF0, 0xF5, 0xDE, 0x23, 0x77, + 0xBA, 0x54, 0x12, 0x77, 0xEE, 0xE7, 0xAC, 0xB3, 0x80, 0x86, 0x3E, 0xD7, 0xE8, 0x8F, 0xE6, 0xB3, + 0x40, 0xEB, 0xFE, 0x3E, 0xAB, 0x90, 0xAA, 0x3E, 0xAB, 0xC5, 0x6E, 0x91, 0x7B, 0x38, 0x2F, 0x8E, + 0x68, 0x7A, 0x2E, 0x7F, 0x0D, 0xC3, 0xB2, 0xEE, 0x74, 0xE6, 0x34, 0x42, 0x2F, 0xA0, 0x17, 0xD9, + 0x90, 0xF6, 0xE4, 0x7F, 0xD6, 0xED, 0x2D, 0x49, 0x73, 0xE9, 0x6C, 0xC4, 0x96, 0xC5, 0xFC, 0xDD, + 0xFE, 0xFA, 0xDF, 0x5C, 0x0B, 0x2F, 0xD3, 0x69, 0x18, 0xF0, 0xEB, 0xF7, 0xB5, 0x1A, 0x62, 0x45, + 0xFE, 0x71, 0xFC, 0x59, 0x13, 0xBB, 0xAF, 0x47, 0x6B, 0xB4, 0xAD, 0x2E, 0x0D, 0xFA, 0xDC, 0xEC, + 0x77, 0x54, 0x68, 0xED, 0x8C, 0x61, 0xCB, 0x9B, 0xF2, 0xCC, 0x49, 0x64, 0x2E, 0xDB, 0x1E, 0x5D, + 0xA2, 0xF8, 0xFD, 0xEA, 0x34, 0x8D, 0x1E, 0x55, 0xAB, 0x69, 0xF4, 0x40, 0xBD, 0xA6, 0xD1, 0xE3, + 0x6B, 0x16, 0x4B, 0x88, 0xED, 0xAA, 0xFD, 0x81, 0x8A, 0x5C, 0xA7, 0x33, 0x10, 0xE9, 0x11, 0xB5, + 0x0A, 0x35, 0xD1, 0x13, 0xEB, 0x13, 0x38, 0xD8, 0x4B, 0x93, 0xFB, 0x15, 0x0B, 0x6A, 0xED, 0x67, + 0x44, 0x0D, 0xA1, 0xA7, 0x8A, 0x33, 0x43, 0x38, 0xEF, 0xE2, 0x4A, 0x1F, 0x7C, 0x6F, 0xD3, 0x21, + 0xD2, 0x89, 0x44, 0xC9, 0x32, 0xA7, 0xDE, 0x4C, 0x49, 0x2B, 0x82, 0x92, 0xF1, 0xE4, 0x4D, 0xBF, + 0xBB, 0x7B, 0xE3, 0x7F, 0xAB, 0xA6, 0xEF, 0x2A, 0x51, 0x2E, 0xAF, 0x5A, 0x24, 0x86, 0xAD, 0xD0, + 0x39, 0x7B, 0x4D, 0xA3, 0x6F, 0xBA, 0x44, 0xFB, 0x89, 0x34, 0x6F, 0x6C, 0x1D, 0x09, 0xD8, 0x1B, + 0x7F, 0xBD, 0xB1, 0xE6, 0x56, 0x5D, 0x98, 0x26, 0x09, 0x6E, 0x46, 0x1A, 0xE0, 0x06, 0x02, 0x36, + 0xEC, 0x7E, 0x53, 0xB2, 0x05, 0xEE, 0x65, 0x84, 0x85, 0xA8, 0x2F, 0x21, 0x23, 0xFA, 0x46, 0xC8, + 0x09, 0x6D, 0x82, 0x02, 0x27, 0x77, 0xC8, 0xF7, 0xFA, 0x34, 0x0E, 0x36, 0xCC, 0x0A, 0xA6, 0x05, + 0x68, 0xEA, 0x78, 0x62, 0x13, 0xB9, 0x88, 0x49, 0x20, 0x85, 0x0D, 0x5B, 0xB8, 0x02, 0x49, 0x25, + 0x35, 0xF5, 0xF7, 0x75, 0xBB, 0x30, 0x53, 0x72, 0xC1, 0xF1, 0xB4, 0x52, 0xF7, 0x73, 0xBC, 0x60, + 0x66, 0x10, 0x60, 0xEC, 0x2B, 0x73, 0x34, 0x87, 0x0E, 0x94, 0xBD, 0x25, 0xB7, 0x6B, 0xF0, 0x8F, + 0x5D, 0xAE, 0x9A, 0x33, 0x62, 0x68, 0xED, 0x76, 0x56, 0x30, 0x46, 0xB6, 0x93, 0xDF, 0x73, 0x57, + 0x2E, 0x51, 0x0C, 0xCE, 0xC6, 0x3D, 0xF8, 0xB6, 0x33, 0xBA, 0x7C, 0x53, 0x5E, 0xD2, 0xA4, 0xDA, + 0xA3, 0xD7, 0xAB, 0x5B, 0x6F, 0x52, 0x1B, 0xA8, 0x77, 0x64, 0x98, 0x6B, 0x38, 0xD1, 0x2B, 0xA7, + 0x4B, 0x6A, 0xE4, 0x63, 0xF2, 0xD3, 0xF8, 0x74, 0xE4, 0x28, 0xBF, 0x0B, 0x66, 0x2B, 0xCD, 0x5D, + 0xAF, 0xB8, 0x4D, 0x2E, 0x3C, 0xC9, 0x43, 0x44, 0x63, 0xAB, 0xCB, 0xAB, 0x5E, 0x59, 0x76, 0x49, + 0xC2, 0x51, 0x10, 0x1B, 0xC4, 0xCC, 0x71, 0x2D, 0x38, 0xD8, 0xE9, 0xC7, 0xB6, 0x56, 0xF9, 0xA6, + 0x75, 0x0F, 0xAF, 0xAB, 0x8B, 0xFD, 0x4E, 0x56, 0x61, 0x96, 0x34, 0x14, 0x68, 0x7B, 0x3D, 0x73, + 0xD7, 0x70, 0xB0, 0xDE, 0xC2, 0x3A, 0x2E, 0x92, 0x97, 0x66, 0x51, 0x6E, 0x90, 0x40, 0x93, 0x74, + 0xB2, 0x85, 0x0B, 0xC4, 0xAB, 0x88, 0x3B, 0xF8, 0xD2, 0x92, 0x69, 0x3A, 0x39, 0x60, 0x1E, 0xB9, + 0x36, 0x9F, 0x3F, 0xBE, 0xB7, 0xBC, 0xA3, 0x0E, 0x02, 0xF7, 0x5D, 0xAC, 0x0A, 0x7A, 0xAF, 0x34, + 0x51, 0x5D, 0x61, 0x36, 0xB6, 0xC1, 0xC8, 0xC4, 0xDE, 0x3D, 0x71, 0x25, 0x65, 0x6F, 0xDE, 0x1B, + 0xE8, 0xCC, 0xB7, 0x5F, 0xD0, 0xA8, 0xEC, 0x0E, 0x2E, 0xEB, 0x5C, 0xE0, 0xE6, 0x27, 0xCB, 0x9F, + 0xF5, 0xAB, 0x02, 0xB4, 0x1D, 0x4C, 0x88, 0x04, 0xED, 0xC2, 0x97, 0x0C, 0xBA, 0x6B, 0xBE, 0x92, + 0x35, 0xC8, 0x53, 0xD6, 0xC3, 0x9D, 0x95, 0xBF, 0x26, 0x6E, 0x17, 0xFD, 0xFF, 0x9B, 0x82, 0x7F, + 0xAB, 0x5D, 0x2B, 0x9B, 0xAB, 0x7D, 0x72, 0x80, 0x9C, 0xFA, 0xD4, 0xD8, 0xC2, 0xEE, 0x48, 0x38, + 0xF8, 0xFD, 0x08, 0xBE, 0x66, 0xA8, 0xC5, 0x1C, 0xB1, 0xFB, 0xB0, 0x2E, 0xE0, 0x3F, 0x78, 0xFC, + 0x7C, 0x16, 0x06, 0x68, 0x9B, 0x7C, 0x8A, 0x86, 0x3D, 0x5F, 0x16, 0xBD, 0x77, 0xEC, 0x14, 0x0B, + 0x08, 0x8E, 0xC8, 0x09, 0x3A, 0x73, 0x43, 0xFF, 0x22, 0x09, 0x94, 0x01, 0x76, 0x19, 0x21, 0x05, + 0xA0, 0x0D, 0x21, 0x68, 0x2F, 0xEA, 0xA0, 0x17, 0x40, 0x57, 0xD2, 0x57, 0xD9, 0x2D, 0xD0, 0x28, + 0x45, 0xAB, 0x0D, 0x7C, 0x79, 0xAE, 0xF0, 0xAE, 0x2D, 0xC6, 0xE0, 0x9C, 0xF8, 0x3D, 0x25, 0x31, + 0x75, 0xD2, 0xD7, 0xA6, 0xF8, 0x8C, 0x29, 0x4C, 0x0E, 0x10, 0x3F, 0xC5, 0x50, 0x46, 0x50, 0xBD, + 0xF8, 0x99, 0xC6, 0x21, 0x73, 0x7D, 0x90, 0x2F, 0x54, 0x69, 0x0C, 0xA0, 0x1D, 0x7D, 0xAE, 0xDC, + 0xEC, 0xED, 0x71, 0xC8, 0xBB, 0xB9, 0x5B, 0x51, 0xB0, 0xDA, 0x3D, 0xDD, 0xB7, 0xE0, 0xB5, 0x69, + 0x84, 0x6F, 0xA9, 0x0F, 0xEF, 0xCB, 0x9E, 0x7B, 0x32, 0x18, 0x5D, 0x9C, 0x1F, 0x8F, 0x27, 0x83, + 0xD1, 0xE4, 0x64, 0x30, 0x1C, 0x0E, 0xC6, 0x80, 0xF8, 0xF9, 0x21, 0x04, 0xED, 0x4F, 0x0E, 0x0F, + 0x0F, 0x8B, 0xB1, 0xE6, 0xE2, 0x6C, 0x38, 0xF9, 0xA5, 0x3F, 0x1C, 0xBC, 0x98, 0xBC, 0xB8, 0x38, + 0xEB, 0x63, 0xBF, 0x15, 0x60, 0x3F, 0x01, 0xD8, 0x2A, 0x91, 0x22, 0x22, 0x78, 0xC1, 0x19, 0x9D, + 0xD3, 0x37, 0xD8, 0x05, 0xF9, 0x7D, 0xCE, 0xBB, 0xBF, 0x75, 0x7E, 0xEB, 0x34, 0x2E, 0xDD, 0xF6, + 0x5F, 0x87, 0xED, 0x2F, 0x26, 0x4E, 0xFB, 0xEA, 0xF6, 0xD3, 0xD6, 0xE7, 0x9F, 0xAE, 0x9B, 0xF0, + 0xD2, 0xF9, 0xB8, 0xF9, 0x61, 0xA7, 0x88, 0xBC, 0x40, 0x4B, 0x53, 0x58, 0x55, 0x19, 0x19, 0x87, + 0xBE, 0xA1, 0x9E, 0x2D, 0x53, 0xB9, 0x07, 0xA1, 0x51, 0x50, 0xD4, 0x47, 0x76, 0x86, 0xED, 0x15, + 0x8D, 0x61, 0x27, 0xF7, 0x81, 0xCD, 0x0C, 0xAE, 0x0B, 0xC2, 0x4D, 0x53, 0xEF, 0x35, 0x15, 0x23, + 0x77, 0x01, 0x7D, 0x2F, 0x23, 0xE9, 0xE5, 0x27, 0xA5, 0x18, 0x3F, 0x0D, 0xD9, 0xB4, 0x04, 0xF2, + 0x1C, 0x40, 0xAA, 0x74, 0x00, 0xA0, 0x7C, 0x42, 0xED, 0x70, 0x28, 0xFA, 0xC0, 0x0B, 0x1B, 0x4D, + 0x47, 0xC1, 0x34, 0xF2, 0x29, 0x9B, 0xD5, 0x69, 0x80, 0x82, 0x1A, 0x77, 0xF0, 0x16, 0x42, 0xC3, + 0xCC, 0x5C, 0x3D, 0x86, 0xC2, 0x11, 0xDC, 0x49, 0x8D, 0x8D, 0x88, 0xA5, 0x9E, 0x8C, 0x2B, 0x3D, + 0x0F, 0x7A, 0x2A, 0x70, 0x90, 0xEA, 0x17, 0xFB, 0x1C, 0xD8, 0xBF, 0x06, 0x35, 0x43, 0xE5, 0xF3, + 0x02, 0x53, 0x5B, 0xC4, 0x96, 0x70, 0xDC, 0xFE, 0xF1, 0x06, 0xEF, 0x6A, 0x59, 0xA5, 0x48, 0x39, + 0x10, 0x69, 0x2F, 0xB7, 0xF2, 0x80, 0x7E, 0x73, 0x79, 0x78, 0x05, 0xB1, 0x7E, 0x9F, 0x36, 0x9F, + 0xE9, 0xEE, 0x6D, 0x6F, 0xA7, 0x97, 0xDE, 0x64, 0x8D, 0xC0, 0xBE, 0x5D, 0xEC, 0xA8, 0xE4, 0x43, + 0x58, 0x2A, 0xE2, 0x14, 0x76, 0x25, 0xB2, 0xAA, 0xCE, 0x3A, 0xC4, 0x6A, 0x70, 0x9F, 0xEE, 0x9F, + 0x79, 0x63, 0xE7, 0xB2, 0x16, 0x51, 0x89, 0xA0, 0xD2, 0x9C, 0x5B, 0x68, 0xAA, 0x2A, 0xC8, 0xEA, + 0xE2, 0x9E, 0xF6, 0x23, 0xFF, 0x28, 0x64, 0x91, 0x0E, 0x1B, 0xCD, 0x6D, 0x2D, 0x22, 0xF5, 0x65, + 0x8F, 0x4E, 0x0F, 0x52, 0x29, 0xF4, 0x77, 0x74, 0x61, 0x80, 0x3D, 0x9E, 0x7B, 0x36, 0x4E, 0xA0, + 0x14, 0x4D, 0xC0, 0x25, 0x4E, 0x14, 0x81, 0x46, 0x2E, 0x84, 0x13, 0xA1, 0x7B, 0x3D, 0x72, 0x1F, + 0x65, 0x5F, 0x79, 0xE0, 0xC6, 0x49, 0x1C, 0xBA, 0x2B, 0xF4, 0xF0, 0x07, 0xC8, 0x64, 0x09, 0x61, + 0x11, 0x7A, 0x22, 0x51, 0x84, 0x3B, 0xE7, 0xEF, 0x26, 0x03, 0x52, 0xC0, 0xF6, 0xEC, 0xE5, 0xD5, + 0x13, 0x89, 0xA0, 0x7A, 0x2E, 0xE7, 0xC1, 0x83, 0x8C, 0x01, 0x51, 0x5D, 0x86, 0x13, 0xDB, 0xB5, + 0x72, 0x82, 0x10, 0x3E, 0xD8, 0xC5, 0xF9, 0xD1, 0x58, 0xEE, 0x3F, 0x1A, 0x4F, 0xE5, 0x6E, 0x50, + 0x45, 0x3F, 0xAE, 0x80, 0x40, 0xF0, 0x5F, 0x25, 0xA0, 0x0A, 0x44, 0x28, 0x86, 0x4C, 0x98, 0xF7, + 0x91, 0x52, 0xEE, 0x89, 0x5C, 0x28, 0xDA, 0xA7, 0xBD, 0x4D, 0xD2, 0x37, 0x26, 0x90, 0x9A, 0xE0, + 0x7F, 0x17, 0xFE, 0xB7, 0x14, 0x20, 0x77, 0x3C, 0x4D, 0x79, 0xBE, 0x12, 0xC1, 0x91, 0x06, 0xBA, + 0x2F, 0x80, 0xE4, 0xC7, 0x2D, 0xE4, 0x1B, 0xF3, 0xA5, 0x0B, 0x03, 0x4E, 0x89, 0xBF, 0x12, 0xE2, + 0x74, 0x1B, 0xE2, 0x54, 0x97, 0x72, 0x4F, 0xB5, 0xB6, 0xCD, 0x76, 0xEE, 0x5E, 0x81, 0x57, 0x29, + 0x74, 0xB3, 0x32, 0xDF, 0x55, 0x8F, 0x19, 0x43, 0x78, 0x9F, 0x43, 0x0A, 0xFD, 0x54, 0xAA, 0xA1, + 0x10, 0xB5, 0xEE, 0xA3, 0x95, 0x6A, 0xD8, 0x43, 0x0A, 0x4F, 0xC4, 0xBC, 0x64, 0xE0, 0x47, 0x97, + 0x5F, 0xBF, 0x9B, 0x04, 0x19, 0x99, 0x27, 0x12, 0xC3, 0xDA, 0xEF, 0xDD, 0x47, 0x90, 0x4E, 0x07, + 0xEA, 0xAB, 0xD7, 0xD4, 0x5C, 0x58, 0xE5, 0x70, 0x80, 0x4B, 0x59, 0x1C, 0xC2, 0xF9, 0xB1, 0x1B, + 0xD5, 0x05, 0xDC, 0x06, 0x4D, 0x60, 0xF6, 0x70, 0x85, 0xFB, 0x42, 0x38, 0x09, 0x54, 0xDD, 0xAE, + 0x24, 0xB8, 0x01, 0x47, 0xB5, 0x84, 0xCF, 0xEA, 0xAD, 0xAA, 0x8A, 0x36, 0x6F, 0xC2, 0x73, 0x54, + 0x7B, 0x9F, 0xFA, 0x54, 0x01, 0x33, 0x64, 0x50, 0x6B, 0xFB, 0xBB, 0xEE, 0xCC, 0x0C, 0x25, 0x04, + 0x74, 0xCB, 0xFC, 0xC0, 0xC3, 0x0E, 0x3D, 0x6E, 0x70, 0x84, 0xB9, 0x06, 0x27, 0xAB, 0xEC, 0x1B, + 0x38, 0x23, 0x67, 0x50, 0xAE, 0x26, 0x69, 0x24, 0xCB, 0xD6, 0xEC, 0x48, 0x85, 0xC3, 0x2D, 0xDA, + 0xFC, 0x60, 0xCD, 0xB1, 0xA9, 0xAA, 0xA3, 0xD7, 0xEC, 0xEA, 0xF1, 0x94, 0x2A, 0x2D, 0x07, 0xD6, + 0xE5, 0xBE, 0x95, 0x9C, 0x40, 0x31, 0xF8, 0xA0, 0x2B, 0x33, 0x77, 0x45, 0xF4, 0x2D, 0x21, 0x5D, + 0x89, 0x74, 0x9A, 0x09, 0xB1, 0x7F, 0x54, 0x0A, 0x69, 0x34, 0x17, 0x70, 0xD0, 0xF6, 0x81, 0x81, + 0xFF, 0xE8, 0x23, 0x98, 0x1C, 0x1E, 0x73, 0x78, 0x7C, 0xEE, 0xE2, 0x29, 0xFC, 0xD7, 0xE4, 0xF0, + 0x91, 0x4D, 0x5E, 0x32, 0x2E, 0xE4, 0x63, 0x3C, 0xCA, 0xDE, 0x75, 0x9B, 0xF1, 0x95, 0x71, 0xF5, + 0x3F, 0xE0, 0x16, 0x59, 0x75, 0x5D, 0x83, 0x55, 0x3C, 0x37, 0xC5, 0xAB, 0xD1, 0x82, 0x5C, 0xBB, + 0x5C, 0x95, 0xD0, 0xEA, 0x5A, 0x84, 0x6C, 0x79, 0xD8, 0xA4, 0xC0, 0x76, 0x33, 0x8A, 0x4D, 0x17, + 0xBC, 0x18, 0x08, 0x7B, 0x44, 0x80, 0x16, 0x9E, 0x43, 0xC6, 0x8C, 0x2C, 0x29, 0x6C, 0xE8, 0x82, + 0x50, 0xF6, 0x5B, 0x70, 0xE3, 0x05, 0x6E, 0x09, 0x46, 0x2E, 0xAF, 0x9D, 0xDC, 0x62, 0x7F, 0x70, + 0x16, 0xE9, 0x3D, 0x4B, 0xC9, 0x9E, 0xBA, 0xF8, 0xEF, 0x2A, 0x16, 0xF5, 0x53, 0x71, 0x63, 0x67, + 0x95, 0xC1, 0x1A, 0xCC, 0x7A, 0x53, 0x04, 0xC5, 0x6A, 0x53, 0xC3, 0xE0, 0xD7, 0xE2, 0x60, 0x5E, + 0xB8, 0x69, 0x90, 0xFC, 0x45, 0x11, 0x50, 0x17, 0x40, 0x39, 0xA0, 0x7A, 0x51, 0x05, 0xCC, 0x32, + 0x96, 0x86, 0xCB, 0x9E, 0x8B, 0x60, 0x98, 0x0C, 0x34, 0x04, 0x7E, 0x2D, 0x0C, 0xEA, 0xB5, 0xA0, + 0x87, 0xD5, 0x83, 0xB5, 0x43, 0xED, 0xD9, 0xF6, 0xE8, 0x87, 0x1C, 0x2F, 0x0D, 0xFA, 0x24, 0x66, + 0x70, 0x59, 0x7C, 0x0A, 0x51, 0x2C, 0x8D, 0x54, 0x30, 0xF0, 0x95, 0x05, 0xCD, 0x3A, 0x5E, 0x81, + 0x4D, 0x02, 0x9E, 0xDB, 0x00, 0x5F, 0xCB, 0x18, 0x55, 0xA9, 0x55, 0x8A, 0xD6, 0xC8, 0xED, 0x74, + 0x59, 0x2F, 0x41, 0xD6, 0xAF, 0xCC, 0x82, 0x2A, 0x0D, 0x58, 0x0E, 0x5F, 0x99, 0x2E, 0x4F, 0x22, + 0x3B, 0x26, 0xCA, 0x60, 0xF2, 0x29, 0xB2, 0x57, 0xBB, 0x88, 0xDB, 0x91, 0x76, 0x07, 0x79, 0x0B, + 0x2A, 0x9F, 0xC0, 0x7A, 0xB9, 0xFD, 0xDC, 0x2C, 0xA7, 0xB2, 0xAD, 0x63, 0xF1, 0xCA, 0x0D, 0x84, + 0xBE, 0x34, 0x6B, 0xA2, 0x66, 0x25, 0x50, 0xE6, 0x1D, 0x08, 0xF5, 0x9B, 0x0B, 0x5A, 0xBD, 0xB3, + 0xB4, 0x70, 0xDF, 0xA0, 0x6F, 0x9D, 0x40, 0x7F, 0x3B, 0x50, 0x0D, 0x57, 0x88, 0x17, 0x53, 0x9A, + 0xC8, 0x66, 0xA4, 0x7C, 0x49, 0x21, 0x4C, 0xA8, 0x6B, 0x4B, 0x4B, 0x3D, 0x65, 0x91, 0xF2, 0x14, + 0xBB, 0xE1, 0x3A, 0xAA, 0x92, 0xC1, 0x0C, 0x1E, 0xF4, 0xCF, 0x0D, 0x32, 0x67, 0x7A, 0x26, 0xFF, + 0x77, 0x09, 0xF8, 0x8B, 0x9B, 0x86, 0xF9, 0xF5, 0xEB, 0x94, 0x17, 0x1B, 0x98, 0xD5, 0x90, 0x83, + 0x33, 0x42, 0xDB, 0xF4, 0x42, 0xD3, 0x2F, 0xC4, 0x1E, 0x9B, 0xF3, 0x3D, 0x3B, 0x98, 0xC5, 0x00, + 0x9E, 0x9B, 0xF4, 0xC9, 0x23, 0x77, 0xB5, 0x92, 0x40, 0x53, 0xA8, 0x73, 0x0D, 0xAD, 0x2F, 0x37, + 0x5C, 0xBA, 0x2B, 0x8E, 0x6A, 0x33, 0xCB, 0xCE, 0x9C, 0xAC, 0x70, 0x75, 0xA9, 0xFD, 0xDA, 0x05, + 0x0F, 0x28, 0x73, 0x5C, 0xA2, 0x9A, 0x45, 0x60, 0x29, 0x9F, 0xEE, 0x70, 0x57, 0x9D, 0xC7, 0xC3, + 0xA3, 0xB9, 0xA9, 0xEB, 0xBD, 0x96, 0x7D, 0xB0, 0xEC, 0x52, 0x3E, 0x4D, 0xF2, 0x28, 0x9D, 0x93, + 0x5C, 0x62, 0xEA, 0x36, 0x17, 0xB4, 0xB3, 0x3B, 0xAA, 0x2E, 0xA4, 0xE1, 0xA8, 0x2D, 0x9B, 0xDB, + 0x4A, 0x8C, 0xCD, 0x15, 0xCD, 0xAE, 0x4E, 0xCA, 0x0E, 0x43, 0xC0, 0x91, 0x18, 0x54, 0x18, 0xD2, + 0x21, 0x55, 0xE2, 0x6A, 0x15, 0x1D, 0xB9, 0x5B, 0xF2, 0xEB, 0xF5, 0xDD, 0x7D, 0x80, 0x72, 0x33, + 0xA6, 0x82, 0x30, 0xD9, 0xFB, 0x9C, 0x4A, 0x53, 0x79, 0xA7, 0x73, 0xF2, 0xC2, 0x71, 0xDF, 0x96, + 0xD9, 0x36, 0x5E, 0x37, 0xDD, 0xF7, 0xEE, 0xBA, 0x86, 0x7F, 0xFB, 0xB6, 0xC0, 0x63, 0x19, 0xE1, + 0x18, 0x0D, 0xA8, 0xF7, 0xE0, 0xF9, 0xE9, 0xD6, 0x03, 0xD0, 0x4C, 0xBE, 0x7B, 0x10, 0x32, 0xE4, + 0xC0, 0x87, 0x23, 0x9B, 0x84, 0xFD, 0x30, 0xBE, 0x31, 0x69, 0x36, 0xDF, 0xDB, 0xB1, 0xBB, 0x5A, + 0x55, 0x6D, 0x73, 0x61, 0xC0, 0x3A, 0x7D, 0x57, 0x26, 0xDF, 0x79, 0x95, 0x40, 0x9B, 0x70, 0xEB, + 0x49, 0xBC, 0x58, 0xC4, 0x92, 0xC8, 0xE6, 0xEE, 0x9D, 0x41, 0xB7, 0xB3, 0x3C, 0x86, 0x6F, 0x95, + 0x9E, 0xF4, 0xF4, 0xB0, 0x74, 0xF2, 0x60, 0x0E, 0x65, 0x1B, 0xFE, 0x3C, 0xC0, 0x44, 0x1A, 0x22, + 0x7F, 0xAC, 0xA2, 0x96, 0xBE, 0xB9, 0xA3, 0x33, 0xB3, 0x89, 0x81, 0x87, 0x42, 0x12, 0xB9, 0xB5, + 0x1B, 0x66, 0x70, 0xE3, 0x25, 0x15, 0x6C, 0x11, 0x4A, 0xEA, 0xC5, 0xB4, 0x5A, 0xDE, 0xC1, 0x60, + 0xC8, 0xBC, 0xA7, 0xAD, 0xB6, 0x36, 0x01, 0xDF, 0x8D, 0x94, 0xC5, 0x72, 0xE6, 0x09, 0x45, 0x9D, + 0x2D, 0xA9, 0xD2, 0x09, 0x67, 0x0B, 0x88, 0xA3, 0xB8, 0x99, 0xD1, 0xCA, 0x01, 0x9D, 0xCD, 0x23, + 0x96, 0xA8, 0x5F, 0xE5, 0x2D, 0xAF, 0x19, 0xEC, 0x05, 0x6D, 0xCA, 0x05, 0x52, 0xAA, 0x6F, 0x9F, + 0x59, 0x6D, 0x6B, 0x9D, 0x90, 0xCF, 0x7C, 0x46, 0x17, 0x0C, 0x66, 0xAD, 0x7F, 0x8B, 0xB9, 0xB2, + 0xAE, 0xCA, 0x30, 0x07, 0x8B, 0x70, 0x9F, 0x61, 0x11, 0x1E, 0x51, 0xDC, 0x66, 0x95, 0x2A, 0x31, + 0x43, 0xFE, 0x52, 0x63, 0x5D, 0x49, 0x89, 0xAA, 0x6C, 0x54, 0xE0, 0xB6, 0xC7, 0xAE, 0x0C, 0x76, + 0x53, 0x87, 0x42, 0x0E, 0x94, 0xFB, 0x12, 0xDA, 0x2D, 0xCD, 0xA0, 0x0E, 0x62, 0x95, 0x33, 0x75, + 0xF3, 0x7B, 0x28, 0xB5, 0x74, 0x6F, 0x6D, 0xB2, 0xF6, 0x90, 0xC3, 0x63, 0xD0, 0x54, 0xA3, 0xDE, + 0xA9, 0x37, 0x9D, 0x98, 0xC5, 0x18, 0x3A, 0xD7, 0x07, 0x7F, 0x03, 0x50, 0x4B, 0x03, 0x04, 0x14, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xB7, 0x4A, 0x48, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, + 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, + 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x6D, 0x65, 0x73, 0x73, 0x61, 0x67, 0x69, + 0x6E, 0x67, 0x2F, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, + 0x0B, 0x9A, 0xE9, 0x31, 0xC9, 0xE3, 0x07, 0x00, 0x00, 0xC1, 0x15, 0x00, 0x00, 0x43, 0x00, 0x00, + 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, + 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, + 0x2F, 0x6D, 0x65, 0x73, 0x73, 0x61, 0x67, 0x69, 0x6E, 0x67, 0x2F, 0x62, 0x61, 0x74, 0x63, 0x68, + 0x2D, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2D, 0x69, 0x6E, 0x74, 0x65, 0x72, 0x6E, 0x61, + 0x6C, 0x2E, 0x6A, 0x73, 0x8D, 0x58, 0x5B, 0xB3, 0xD2, 0x30, 0x10, 0x7E, 0xF7, 0x57, 0xAC, 0xBC, + 0x80, 0xCA, 0x29, 0xEA, 0xF8, 0xA0, 0x78, 0x19, 0x51, 0x51, 0xF1, 0x02, 0x0E, 0xA0, 0x8E, 0xA3, + 0x0E, 0x13, 0xDA, 0x00, 0xD1, 0xB6, 0xA9, 0x49, 0x0A, 0xA2, 0xC3, 0x7F, 0x77, 0x37, 0xE9, 0xBD, + 0x1C, 0x95, 0x39, 0x33, 0xD0, 0x64, 0xEF, 0xFB, 0x7D, 0xC9, 0xF6, 0x0C, 0xAE, 0x5F, 0x85, 0x8D, + 0x50, 0x7C, 0xCD, 0x34, 0xBF, 0x60, 0x41, 0x24, 0x62, 0xD8, 0xDF, 0xF3, 0xEE, 0x78, 0xB7, 0xE1, + 0xFA, 0xE0, 0x4A, 0x27, 0xD5, 0x1C, 0xB4, 0x51, 0xC2, 0x37, 0x9D, 0xFB, 0x57, 0x50, 0xF4, 0x0A, + 0x5C, 0x87, 0xA7, 0x32, 0x39, 0x2A, 0xB1, 0xDD, 0x19, 0xB8, 0x7D, 0xF3, 0xD6, 0x3D, 0x78, 0x21, + 0xE5, 0x36, 0xE4, 0x30, 0x89, 0x7D, 0x0F, 0x77, 0x49, 0xE0, 0x8D, 0xF0, 0x79, 0xAC, 0x79, 0x00, + 0x69, 0x1C, 0x70, 0x05, 0x66, 0xC7, 0x61, 0x94, 0x30, 0x1F, 0xBF, 0xB2, 0x9D, 0x3E, 0x7C, 0xE0, + 0x4A, 0x0B, 0x19, 0xC3, 0x6D, 0xEF, 0x26, 0xF4, 0x48, 0xA0, 0x93, 0x6D, 0x75, 0xAE, 0xDD, 0x27, + 0x13, 0x47, 0x99, 0x42, 0xC4, 0x8E, 0x10, 0x4B, 0x03, 0x18, 0x03, 0xDA, 0x10, 0x1A, 0xC3, 0x44, + 0x3F, 0xFC, 0xA7, 0xCF, 0x13, 0x03, 0x18, 0xA6, 0x2F, 0xA3, 0x24, 0x14, 0x2C, 0xF6, 0x39, 0x1C, + 0x84, 0xD9, 0xA1, 0x4C, 0xE1, 0xC0, 0x23, 0x1B, 0x9F, 0x32, 0x1B, 0x72, 0x6D, 0x18, 0x8A, 0x33, + 0x54, 0x48, 0xF0, 0x69, 0x53, 0x15, 0x04, 0x66, 0xB2, 0xA0, 0x01, 0x76, 0xC6, 0x24, 0xC3, 0xC1, + 0xE0, 0x70, 0x38, 0x78, 0xCC, 0x86, 0xEB, 0x49, 0xB5, 0x1D, 0x84, 0x4E, 0x50, 0x0F, 0xDE, 0x4C, + 0x9E, 0x8E, 0xA7, 0x8B, 0xF1, 0x05, 0x86, 0x9C, 0xA9, 0xBC, 0x8F, 0x43, 0xAE, 0x35, 0x28, 0xFE, + 0x23, 0x15, 0x0A, 0xD3, 0x5D, 0x1F, 0x81, 0x25, 0x09, 0x2A, 0xB0, 0x35, 0x06, 0x1A, 0xB2, 0x03, + 0x48, 0x05, 0x6C, 0xAB, 0x38, 0xEE, 0x19, 0x49, 0x21, 0x1F, 0x94, 0x30, 0x22, 0xDE, 0xF6, 0x41, + 0xCB, 0x8D, 0x39, 0x30, 0xC5, 0xC9, 0x4C, 0x20, 0xA8, 0xC2, 0xEB, 0xD4, 0xE4, 0x15, 0xAB, 0x05, + 0x28, 0x74, 0x4D, 0x40, 0x62, 0x22, 0x31, 0x74, 0x46, 0x0B, 0x98, 0x2C, 0x3A, 0xF0, 0x64, 0xB4, + 0x98, 0x2C, 0xFA, 0x64, 0xE4, 0xE3, 0x64, 0xF9, 0x72, 0xF6, 0x7E, 0x09, 0x1F, 0x47, 0xF3, 0xF9, + 0x68, 0xBA, 0x9C, 0x8C, 0x17, 0x30, 0x9B, 0xC3, 0xD3, 0xD9, 0xF4, 0xD9, 0x64, 0x39, 0x99, 0x4D, + 0xF1, 0xE9, 0x39, 0x8C, 0xA6, 0x9F, 0xE0, 0xF5, 0x64, 0xFA, 0xAC, 0x0F, 0x5C, 0xA0, 0x0B, 0x85, + 0xB5, 0x4C, 0x14, 0x66, 0x40, 0x61, 0x0A, 0xAA, 0x25, 0x0F, 0x6C, 0xE1, 0x16, 0x9C, 0xD7, 0x42, + 0xD8, 0x48, 0x17, 0x92, 0x4E, 0xB8, 0x2F, 0x36, 0xC2, 0xC7, 0xD4, 0xE2, 0x6D, 0xCA, 0xB6, 0x1C, + 0xB6, 0x72, 0xCF, 0x55, 0x8C, 0x19, 0x41, 0xC2, 0x55, 0x24, 0x34, 0xF5, 0x54, 0x63, 0x80, 0x01, + 0x99, 0x09, 0x45, 0x24, 0x0C, 0x33, 0xB4, 0xD4, 0xCE, 0x8B, 0x1C, 0x0D, 0xAE, 0xCC, 0xD6, 0xDF, + 0xB8, 0x6F, 0xBC, 0x80, 0x6F, 0x44, 0xCC, 0xDF, 0x29, 0x89, 0x56, 0xCC, 0xB1, 0x87, 0x61, 0x49, + 0x65, 0x74, 0x1F, 0x3A, 0xAB, 0x15, 0xD7, 0x6F, 0x65, 0x90, 0x86, 0xBC, 0xD3, 0x87, 0xDF, 0xB0, + 0x67, 0x61, 0xCA, 0x87, 0x60, 0x54, 0xCA, 0xE1, 0x84, 0x40, 0xC9, 0x04, 0xBD, 0x27, 0xCC, 0xF8, + 0xBB, 0x39, 0xB6, 0x81, 0x6B, 0xF3, 0x14, 0xD3, 0x88, 0x0D, 0x3C, 0x84, 0xBD, 0x14, 0x01, 0xDC, + 0xBC, 0x7F, 0x65, 0xCF, 0x14, 0xB6, 0x45, 0xAC, 0x94, 0xDB, 0x5F, 0xDD, 0xC2, 0xBD, 0xAC, 0x65, + 0xBD, 0x8E, 0xE7, 0x0D, 0x52, 0x23, 0x42, 0x3D, 0x40, 0x89, 0x8B, 0x4C, 0xA2, 0x73, 0xCD, 0x29, + 0x71, 0xA5, 0xA4, 0xBA, 0x44, 0xDC, 0xEE, 0xE5, 0x82, 0xEF, 0x46, 0xF3, 0xE5, 0xEA, 0xC9, 0xEC, + 0xFD, 0xF4, 0xD9, 0x68, 0xFE, 0x09, 0xC5, 0xBB, 0xAB, 0xD5, 0x78, 0xFA, 0x6C, 0x35, 0x7B, 0xBE, + 0xB2, 0x3B, 0xAB, 0xAE, 0x13, 0x5B, 0x8E, 0xA7, 0xAB, 0xC5, 0x98, 0x5A, 0xB2, 0x58, 0x4D, 0xA6, + 0xAB, 0xB7, 0x93, 0x37, 0x6F, 0x26, 0x0B, 0x14, 0xBF, 0x75, 0x13, 0x3F, 0xC4, 0x2E, 0x0B, 0xAA, + 0x51, 0x0C, 0x2F, 0x97, 0xCB, 0x77, 0xE0, 0xBB, 0x3C, 0xCC, 0x8E, 0x19, 0xF0, 0xB1, 0xE5, 0x6B, + 0x8E, 0x44, 0x70, 0x40, 0x8A, 0xD8, 0x77, 0x0E, 0x6B, 0xCA, 0x19, 0xB2, 0x90, 0xB5, 0x07, 0x4B, + 0x64, 0x48, 0xAE, 0x84, 0xBF, 0x88, 0x38, 0x46, 0x38, 0x79, 0x16, 0x1F, 0x41, 0x73, 0xB5, 0xC7, + 0xCA, 0x93, 0x87, 0xDE, 0xF3, 0xA7, 0x6F, 0xA9, 0xE5, 0x92, 0x30, 0x70, 0x10, 0x9A, 0x5F, 0x43, + 0x6D, 0xFC, 0xC9, 0xB1, 0xCF, 0x88, 0xB7, 0xFF, 0x71, 0xD7, 0xB0, 0xEA, 0xA2, 0x64, 0x61, 0x28, + 0x0F, 0x1A, 0x3D, 0xA0, 0x0D, 0x0F, 0x26, 0x1B, 0x4B, 0xDA, 0xBC, 0x76, 0x11, 0xC5, 0xC5, 0xF7, + 0x1C, 0x7B, 0xA1, 0xD0, 0xA5, 0x86, 0x03, 0xB7, 0x7E, 0x22, 0x44, 0x90, 0x15, 0xB4, 0x08, 0x24, + 0x31, 0x07, 0x19, 0xF4, 0x60, 0xE1, 0x62, 0xCB, 0x8D, 0x52, 0x84, 0x01, 0x32, 0x7D, 0xD8, 0xF1, + 0x5A, 0x90, 0x9C, 0x69, 0x11, 0x62, 0x20, 0x3B, 0x46, 0x0C, 0x64, 0x91, 0x8C, 0xB7, 0x2E, 0xB1, + 0x4C, 0x47, 0x5B, 0xA0, 0xD9, 0xFA, 0x9F, 0x45, 0x09, 0x56, 0x1D, 0x1E, 0xFB, 0x21, 0xD3, 0x1A, + 0xC5, 0xA0, 0xB7, 0x49, 0x63, 0xDF, 0xBA, 0xEF, 0x5D, 0x83, 0xDF, 0x57, 0x00, 0x3F, 0xB6, 0x2D, + 0xF4, 0x41, 0xB9, 0x84, 0x29, 0x16, 0xC1, 0xEF, 0x97, 0x78, 0x50, 0x38, 0x03, 0x27, 0xD8, 0x15, + 0xBF, 0xA9, 0x86, 0xB5, 0xAE, 0x1D, 0x44, 0x18, 0x36, 0xEB, 0x98, 0xF5, 0x16, 0x4B, 0xA5, 0xBD, + 0xA6, 0x59, 0x22, 0x79, 0xBC, 0x3D, 0xB9, 0x52, 0xBF, 0x57, 0xA1, 0x35, 0xF8, 0x7E, 0xFE, 0x26, + 0xAB, 0xAE, 0x4F, 0xE7, 0x9E, 0xAE, 0x37, 0xA2, 0x6D, 0x44, 0x5A, 0x46, 0x3D, 0x3C, 0xD1, 0xE9, + 0x88, 0xC5, 0x78, 0xC9, 0x19, 0x12, 0x4F, 0xC3, 0x2C, 0xA1, 0xAC, 0x58, 0x08, 0x3B, 0xB7, 0x50, + 0x8F, 0x50, 0xC4, 0x7E, 0x98, 0x06, 0x3C, 0xC0, 0x1F, 0xD4, 0xC5, 0x96, 0xF5, 0xC2, 0x89, 0x8F, + 0x5C, 0x46, 0xF6, 0xF9, 0x46, 0xAA, 0x6C, 0x6D, 0x60, 0xBF, 0x8B, 0xB2, 0xB5, 0x6B, 0xDC, 0x2B, + 0x2B, 0xD4, 0x2F, 0x52, 0xEB, 0xD7, 0xC3, 0xB3, 0xB5, 0x76, 0x1F, 0x8B, 0x05, 0x8F, 0x74, 0x8A, + 0x16, 0x95, 0x0F, 0xF7, 0xEB, 0x52, 0x45, 0xA1, 0x1E, 0x16, 0x86, 0x1B, 0x12, 0xF5, 0x22, 0x3C, + 0xAC, 0x7B, 0x75, 0xB2, 0xA7, 0x66, 0x97, 0x17, 0x3C, 0x0E, 0xB4, 0xC5, 0xDE, 0x56, 0xEC, 0x39, + 0x16, 0x44, 0x29, 0x66, 0xAF, 0x0D, 0x9D, 0xAE, 0x4B, 0x02, 0x30, 0xFC, 0x03, 0x8D, 0xFD, 0x0A, + 0x33, 0x6E, 0xF4, 0xE9, 0xD8, 0x03, 0xEC, 0x82, 0xE6, 0x4E, 0x1B, 0x4F, 0xD6, 0x34, 0x44, 0x49, + 0x11, 0x13, 0x59, 0x32, 0x3B, 0x99, 0x13, 0x32, 0x47, 0x28, 0x9A, 0x73, 0x9D, 0x48, 0x3A, 0x62, + 0x6D, 0xDB, 0xCA, 0x82, 0x37, 0xBB, 0xBA, 0x48, 0xD7, 0x59, 0x51, 0x3F, 0x7F, 0x3D, 0x95, 0x41, + 0x8C, 0x2E, 0x8B, 0x0E, 0x3D, 0x6A, 0x4C, 0xA3, 0x44, 0x87, 0xE2, 0x26, 0x55, 0x31, 0xFC, 0xC6, + 0x33, 0x36, 0x42, 0xFA, 0x3D, 0xA8, 0x3A, 0xFF, 0xFC, 0xF5, 0xD1, 0x09, 0x46, 0x90, 0xD8, 0x2D, + 0xC7, 0x65, 0x0A, 0x5E, 0x86, 0x7B, 0xAE, 0x89, 0x6F, 0x31, 0xA5, 0x63, 0xED, 0x01, 0x1D, 0xD0, + 0x8E, 0x9E, 0x42, 0xBB, 0xFB, 0x97, 0x1B, 0xEE, 0xD5, 0xA0, 0xD0, 0x46, 0x80, 0x87, 0x96, 0x8D, + 0x34, 0xC7, 0x84, 0x7B, 0xD6, 0xC8, 0x43, 0x28, 0x59, 0x96, 0x45, 0x5C, 0x43, 0x00, 0x71, 0x75, + 0x45, 0xED, 0x43, 0x49, 0xFA, 0x2A, 0x7A, 0x5A, 0xE6, 0xF7, 0xB0, 0x84, 0x68, 0xC4, 0x92, 0x5E, + 0xCD, 0x5E, 0x61, 0xAA, 0x54, 0xF2, 0x76, 0x05, 0x02, 0xB2, 0x1B, 0x07, 0xF9, 0x2E, 0xB6, 0x71, + 0xEF, 0xF7, 0xA9, 0x8F, 0xAE, 0x5A, 0x48, 0xE9, 0x57, 0x95, 0x68, 0x20, 0xA9, 0x7C, 0x5C, 0x25, + 0x49, 0xA0, 0x58, 0xA7, 0xBB, 0xA8, 0x1A, 0x7D, 0x1E, 0x5C, 0x81, 0xBB, 0x46, 0x44, 0xDD, 0xA7, + 0x32, 0x36, 0x58, 0x98, 0x8B, 0x25, 0xD6, 0xA4, 0x3B, 0x84, 0x4E, 0x84, 0x40, 0x11, 0xD8, 0x6A, + 0x33, 0x88, 0xC4, 0x4F, 0x1E, 0xDC, 0x87, 0xB5, 0xC4, 0x0B, 0x93, 0xA9, 0xE3, 0xC3, 0x0E, 0xDC, + 0xA8, 0x5F, 0x2F, 0xFD, 0xD2, 0xE9, 0x59, 0x9F, 0x2D, 0x67, 0x11, 0x37, 0x3B, 0x19, 0x0C, 0xA1, + 0xFB, 0x6E, 0xB6, 0x58, 0x76, 0xFB, 0xB5, 0xBD, 0x54, 0x85, 0xC3, 0x3A, 0x95, 0xEA, 0xFB, 0x01, + 0x33, 0x2C, 0x13, 0xD8, 0x72, 0xF3, 0x36, 0x8F, 0xF2, 0x1D, 0x3B, 0x86, 0x92, 0x05, 0x65, 0xF3, + 0xEA, 0x5A, 0x59, 0xDD, 0x86, 0x67, 0x6A, 0x7D, 0x49, 0xA9, 0xCB, 0x62, 0x35, 0x6D, 0x19, 0x11, + 0x71, 0x99, 0x9A, 0xE1, 0xF9, 0xCB, 0xB3, 0x55, 0x8C, 0xB2, 0x41, 0xCD, 0x73, 0x84, 0xA0, 0x57, + 0x44, 0x7C, 0xCD, 0x33, 0x08, 0xEB, 0x2A, 0x6C, 0x32, 0x2A, 0x34, 0xB1, 0x23, 0x36, 0xD0, 0xBB, + 0x9A, 0x6F, 0x7A, 0x45, 0x9B, 0xAA, 0x62, 0xE5, 0x79, 0xA3, 0xE4, 0x01, 0x62, 0x7E, 0xC8, 0xE7, + 0x06, 0xEF, 0x79, 0x36, 0x55, 0x8F, 0x92, 0x64, 0x4C, 0x4B, 0xBD, 0x7C, 0x23, 0x5F, 0x78, 0x2A, + 0x03, 0xBC, 0x9F, 0x26, 0xD3, 0xE5, 0x78, 0x3E, 0x1D, 0xBD, 0x59, 0x8D, 0xE7, 0xF3, 0xD9, 0xBC, + 0x0F, 0xDD, 0xF1, 0xCF, 0x04, 0xCB, 0x46, 0xB7, 0x19, 0x14, 0x1E, 0xA1, 0x08, 0xA2, 0xDB, 0xC0, + 0xE3, 0xE9, 0x1C, 0x3A, 0xDB, 0x21, 0x37, 0x78, 0xB2, 0x4E, 0x37, 0x9B, 0x3C, 0x8B, 0xB6, 0x7E, + 0x7D, 0x5E, 0xF2, 0xEC, 0xA1, 0x56, 0x3D, 0x31, 0xAC, 0x7A, 0xD1, 0xB9, 0x66, 0x40, 0xC5, 0x73, + 0xF9, 0xFB, 0x74, 0xFF, 0xDF, 0x67, 0x43, 0x1B, 0x61, 0xFF, 0x77, 0x54, 0x50, 0x2C, 0x5C, 0xD1, + 0xD8, 0xD5, 0x6D, 0x9F, 0x14, 0x1E, 0xCE, 0x34, 0x63, 0x9C, 0xE5, 0x7B, 0x2D, 0x3B, 0x7D, 0x10, + 0xC1, 0xCF, 0x46, 0x09, 0x72, 0x5B, 0x37, 0xF0, 0xA6, 0x50, 0x9C, 0x19, 0xFE, 0x0E, 0x63, 0x29, + 0x14, 0xEA, 0x44, 0xB4, 0xFA, 0x8D, 0x54, 0xDB, 0x66, 0x3A, 0x17, 0x17, 0x2D, 0x0A, 0xE3, 0x33, + 0x2E, 0x7F, 0x51, 0x5F, 0xE2, 0x4E, 0x0B, 0xB5, 0x4F, 0xAC, 0xA6, 0xB7, 0xC1, 0xB3, 0xB8, 0xE7, + 0xAC, 0x20, 0x20, 0x52, 0xB3, 0xB9, 0xB8, 0xDB, 0x2D, 0x4B, 0x59, 0xCA, 0x9F, 0xA9, 0xE8, 0xFD, + 0x2B, 0xA7, 0xDE, 0xB5, 0x7F, 0xCD, 0xC6, 0xED, 0xC5, 0x62, 0xFE, 0x7C, 0x6A, 0x13, 0xAF, 0xDC, + 0x6E, 0x16, 0x7E, 0x22, 0xAE, 0xA2, 0xD1, 0x4E, 0x31, 0xC5, 0x89, 0xB3, 0x96, 0xC1, 0x91, 0x26, + 0xC8, 0x4C, 0x94, 0x66, 0x04, 0x81, 0xA5, 0xB7, 0x97, 0x12, 0x4D, 0x7C, 0xE5, 0xD4, 0x41, 0xF6, + 0x37, 0x92, 0xC6, 0x44, 0xFB, 0xB6, 0x94, 0xDD, 0x2B, 0x4A, 0xB0, 0x50, 0xFC, 0xC2, 0x95, 0xCA, + 0x15, 0x86, 0xF7, 0x2B, 0xED, 0x66, 0xB6, 0x47, 0x9A, 0xDE, 0x2F, 0xEC, 0x42, 0x39, 0x4E, 0x5A, + 0x0F, 0x76, 0x0D, 0xE7, 0x59, 0x77, 0x07, 0xDB, 0xF9, 0xF9, 0xDD, 0xA4, 0x8F, 0x46, 0x8D, 0xD3, + 0xF7, 0xB3, 0x93, 0x96, 0x10, 0x96, 0x45, 0x81, 0x97, 0x63, 0xFE, 0x9A, 0x46, 0x80, 0x18, 0xD0, + 0x19, 0x61, 0x2F, 0xEF, 0xBA, 0x82, 0x62, 0xB1, 0xC6, 0xF2, 0x5F, 0xF0, 0xD8, 0x97, 0x01, 0x56, + 0x02, 0xD5, 0xC8, 0xFC, 0x5A, 0xC4, 0x78, 0x2E, 0xE7, 0x6F, 0xBA, 0xED, 0xFB, 0xF9, 0x54, 0x64, + 0x30, 0xAA, 0xE4, 0x73, 0xC9, 0x44, 0x98, 0xC8, 0x24, 0x0D, 0xB1, 0xDA, 0xD6, 0xB3, 0x65, 0xE9, + 0x95, 0xF6, 0x3C, 0x58, 0x5C, 0x06, 0x50, 0xD0, 0xA3, 0x5C, 0x72, 0x32, 0x35, 0xB5, 0x38, 0x8D, + 0xD6, 0x5C, 0x9D, 0x08, 0x9E, 0x34, 0x20, 0x08, 0x7C, 0xF3, 0xFA, 0x09, 0x6E, 0xD1, 0x45, 0x21, + 0x74, 0x1E, 0x00, 0xD5, 0xA9, 0x96, 0xB5, 0x08, 0xB2, 0x22, 0x39, 0x8B, 0x0E, 0x64, 0x45, 0x24, + 0x45, 0x8F, 0xDD, 0xF4, 0xE3, 0x56, 0x8B, 0x37, 0x94, 0xC6, 0x20, 0x89, 0xEB, 0x6E, 0xDA, 0xB5, + 0x3D, 0x74, 0x53, 0x78, 0x4E, 0xC2, 0x73, 0xEC, 0x2A, 0x72, 0x2A, 0x88, 0x99, 0x13, 0xBC, 0x44, + 0xC8, 0x3C, 0xBF, 0xE3, 0xCA, 0xB5, 0xB2, 0xF2, 0xBD, 0xE2, 0x38, 0xCA, 0x35, 0x5D, 0xAC, 0x39, + 0x09, 0x0B, 0x07, 0xC4, 0xBF, 0x92, 0x7D, 0x56, 0xC8, 0x52, 0x35, 0xBF, 0x95, 0xDF, 0xF0, 0x78, + 0x6B, 0x76, 0x43, 0x40, 0x9D, 0xB6, 0x6F, 0x2F, 0xB4, 0xBB, 0xE7, 0x6D, 0xD4, 0x6F, 0xF6, 0x61, + 0x0B, 0x66, 0xA4, 0xD1, 0x6D, 0x78, 0x2D, 0x4B, 0xEF, 0x3C, 0xF6, 0x30, 0x7B, 0xFC, 0xBA, 0x75, + 0xED, 0x32, 0x17, 0x97, 0x22, 0x74, 0x98, 0x81, 0xF3, 0x8C, 0x97, 0x6E, 0x7B, 0xAD, 0x9D, 0x5A, + 0xC3, 0xA1, 0x6B, 0x3E, 0x89, 0xD3, 0x99, 0x92, 0x1F, 0x0F, 0x8B, 0x5C, 0xCB, 0x22, 0xA0, 0x04, + 0xB8, 0x1D, 0x73, 0xCF, 0x83, 0x82, 0x23, 0xF4, 0x02, 0x04, 0xC5, 0xDF, 0x0E, 0x11, 0x7B, 0x7E, + 0xB8, 0xE3, 0x41, 0x45, 0xA8, 0xEA, 0x98, 0x9D, 0x5B, 0x13, 0x8E, 0xCC, 0x07, 0x24, 0x7E, 0x29, + 0x80, 0xB6, 0x90, 0xD5, 0x58, 0xDE, 0xB0, 0x66, 0xA9, 0x9F, 0x1F, 0x40, 0xA8, 0x68, 0xA5, 0x32, + 0x44, 0x5B, 0x86, 0x33, 0x74, 0x51, 0xE0, 0xB1, 0x24, 0x4D, 0xAE, 0x5B, 0x23, 0x32, 0x45, 0x54, + 0xA7, 0xB0, 0xA4, 0x6C, 0xCA, 0xB2, 0x9D, 0xE7, 0xC8, 0xC2, 0x7E, 0xA3, 0x12, 0xFD, 0x6B, 0x25, + 0x7F, 0x9B, 0xCD, 0xF3, 0x29, 0xCD, 0xD7, 0x09, 0xF1, 0x37, 0x3C, 0x57, 0xA9, 0x90, 0x2D, 0x3D, + 0xC1, 0x0C, 0x10, 0xD7, 0xAF, 0x16, 0xB3, 0xA9, 0xE7, 0xFC, 0x8A, 0xCD, 0x31, 0x97, 0xF7, 0x28, + 0xBF, 0x0A, 0x09, 0x22, 0xFC, 0x0F, 0x0F, 0xFE, 0xAF, 0xA6, 0xBC, 0x52, 0x3B, 0x34, 0x09, 0x5A, + 0xAC, 0xE5, 0x1A, 0x38, 0x07, 0x52, 0xF3, 0x6D, 0x1D, 0x07, 0xB7, 0xBC, 0x5B, 0x25, 0x0A, 0x1A, + 0xDA, 0x97, 0xF1, 0xA4, 0x1A, 0x58, 0x9B, 0x21, 0x6D, 0x3B, 0xFF, 0xE0, 0xCA, 0x37, 0x2D, 0xE3, + 0xFB, 0xE0, 0xEF, 0x68, 0xEE, 0x30, 0x0F, 0xDF, 0x2F, 0x9F, 0x5F, 0xDC, 0xCD, 0x00, 0x9C, 0x0D, + 0x65, 0x45, 0xAE, 0xBB, 0xD6, 0x0B, 0x64, 0x3E, 0x75, 0x7E, 0xE7, 0x47, 0xDD, 0x12, 0x3B, 0x33, + 0x0E, 0xA0, 0x5C, 0x55, 0xFB, 0x7C, 0xAC, 0x28, 0x44, 0xF9, 0xB8, 0x5C, 0x1B, 0x46, 0x3F, 0xE3, + 0xE6, 0xD7, 0x32, 0xDB, 0xF6, 0xEC, 0x73, 0x59, 0xFE, 0x65, 0x4A, 0xED, 0xDD, 0x6A, 0x41, 0xAB, + 0x74, 0x6C, 0x48, 0x12, 0x31, 0xFF, 0x00, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, + 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x1C, 0x80, 0xA9, 0x37, 0xA2, 0x24, 0x00, 0x00, 0x40, 0xB9, 0x00, + 0x00, 0x34, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, + 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, + 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x6D, 0x65, 0x73, 0x73, 0x61, 0x67, 0x69, 0x6E, 0x67, 0x2F, 0x69, + 0x6E, 0x64, 0x65, 0x78, 0x2E, 0x64, 0x2E, 0x74, 0x73, 0xED, 0x1D, 0xD9, 0x72, 0xE3, 0x44, 0xF0, + 0x9D, 0xAF, 0x10, 0xE1, 0x21, 0x09, 0xC4, 0x76, 0xB8, 0x0A, 0x58, 0xCE, 0x90, 0xE5, 0x08, 0x2C, + 0x9B, 0xD4, 0x26, 0x40, 0x51, 0x5B, 0xD4, 0x4A, 0xB6, 0xC7, 0x89, 0x58, 0x59, 0x32, 0x1A, 0x29, + 0xC1, 0xC0, 0xFE, 0x3B, 0x7D, 0xCC, 0xA9, 0xDB, 0x4E, 0xC2, 0x55, 0x4B, 0x15, 0x1B, 0xDB, 0x9A, + 0xE9, 0xE9, 0xE9, 0xE9, 0xEE, 0xE9, 0x6B, 0x46, 0x93, 0xD7, 0x5F, 0x0D, 0x16, 0x71, 0x2E, 0xA6, + 0x91, 0x14, 0xA3, 0x68, 0xBE, 0x8C, 0xD3, 0xE0, 0xFA, 0x83, 0xF1, 0x3B, 0xE3, 0xB7, 0x82, 0xD7, + 0x27, 0xAF, 0xC0, 0xC3, 0x57, 0x82, 0xD7, 0x83, 0xE3, 0x6C, 0xB5, 0xCE, 0xE3, 0xCB, 0xAB, 0x22, + 0x78, 0xEB, 0xF0, 0xAD, 0xC3, 0xE0, 0xAB, 0x2C, 0xBB, 0x4C, 0x44, 0x70, 0x92, 0xCE, 0xC6, 0xF0, + 0x14, 0x1B, 0x3C, 0x8A, 0x67, 0x22, 0x95, 0x62, 0x1E, 0x94, 0xE9, 0x5C, 0xE4, 0x41, 0x71, 0x25, + 0x82, 0xA3, 0x55, 0x34, 0x83, 0x3F, 0xEA, 0xC9, 0x41, 0xF0, 0x83, 0xC8, 0x65, 0x9C, 0xA5, 0xC1, + 0x5B, 0xE3, 0xC3, 0x60, 0x0F, 0x1B, 0xEC, 0xA8, 0x47, 0x3B, 0xFB, 0x1F, 0x22, 0x88, 0x75, 0x56, + 0x06, 0xCB, 0x68, 0x1D, 0xA4, 0x59, 0x11, 0x94, 0x52, 0x00, 0x8C, 0x58, 0x02, 0x62, 0x30, 0x8E, + 0xF8, 0x6D, 0x26, 0x56, 0x45, 0x00, 0x88, 0xCD, 0xB2, 0xE5, 0x2A, 0x89, 0xA3, 0x74, 0x26, 0x82, + 0x9B, 0xB8, 0xB8, 0x82, 0x36, 0x66, 0x80, 0x31, 0xC2, 0xF8, 0x49, 0xC1, 0xC8, 0xA6, 0x45, 0x04, + 0xCD, 0x23, 0xE8, 0xB0, 0x82, 0x6F, 0x0B, 0xB7, 0x61, 0x10, 0x15, 0x0A, 0xE9, 0x20, 0xB8, 0x2A, + 0x8A, 0xD5, 0x83, 0xC9, 0xE4, 0xE6, 0xE6, 0x66, 0x1C, 0x11, 0xBA, 0xE3, 0x2C, 0xBF, 0x9C, 0x24, + 0xDC, 0x50, 0x4E, 0x1E, 0x9D, 0x1C, 0x7F, 0xF1, 0xF8, 0xFC, 0x8B, 0x11, 0xA0, 0xAC, 0xBA, 0x7C, + 0x9F, 0x26, 0x42, 0xCA, 0x20, 0x17, 0xBF, 0x96, 0x71, 0x0E, 0xD3, 0x9D, 0xAE, 0x83, 0x68, 0xB5, + 0x82, 0x0E, 0xD1, 0x14, 0x10, 0x4D, 0xA2, 0x9B, 0x20, 0xCB, 0x83, 0xE8, 0x32, 0x17, 0xF0, 0xAC, + 0xC8, 0x10, 0xE5, 0x9B, 0x3C, 0x2E, 0xE2, 0xF4, 0xF2, 0x20, 0x90, 0xD9, 0xA2, 0xB8, 0x89, 0x72, + 0x81, 0x60, 0xE6, 0xB1, 0x2C, 0xF2, 0x78, 0x5A, 0x16, 0x9A, 0x62, 0x1E, 0x82, 0xB1, 0xF4, 0x1A, + 0x64, 0x30, 0x91, 0x34, 0xD8, 0x39, 0x3A, 0x0F, 0x4E, 0xCE, 0x77, 0x82, 0xCF, 0x8F, 0xCE, 0x4F, + 0xCE, 0x0F, 0x10, 0xC8, 0x8F, 0x27, 0x17, 0x5F, 0x9F, 0x7E, 0x7F, 0x11, 0xFC, 0x78, 0xF4, 0xE4, + 0xC9, 0xD1, 0xE3, 0x8B, 0x93, 0x2F, 0xCE, 0x83, 0xD3, 0x27, 0xC1, 0xF1, 0xE9, 0xE3, 0x87, 0x27, + 0x17, 0x27, 0xA7, 0x8F, 0xE1, 0xDB, 0x97, 0xC1, 0xD1, 0xE3, 0x9F, 0x82, 0x6F, 0x4F, 0x1E, 0x3F, + 0x3C, 0x08, 0x44, 0x0C, 0x43, 0xE4, 0x40, 0xCB, 0x55, 0x0E, 0x33, 0x40, 0x34, 0x63, 0xA4, 0xA5, + 0x98, 0x13, 0xE1, 0xCE, 0x85, 0xF0, 0x50, 0x58, 0x64, 0x8C, 0x92, 0x5C, 0x89, 0x59, 0xBC, 0x88, + 0x67, 0x30, 0xB5, 0xF4, 0xB2, 0x8C, 0x2E, 0x45, 0x70, 0x99, 0x5D, 0x8B, 0x3C, 0x85, 0x19, 0x05, + 0x2B, 0x91, 0x2F, 0x63, 0x89, 0x6B, 0x2A, 0x01, 0xC1, 0x39, 0x82, 0x49, 0xE2, 0x65, 0x5C, 0x44, + 0x05, 0xFE, 0x54, 0x9F, 0x17, 0x0E, 0x34, 0x79, 0x05, 0x46, 0xCD, 0xF2, 0x22, 0xF8, 0x03, 0xE9, + 0x76, 0x10, 0x7C, 0xA9, 0x18, 0xEF, 0x8B, 0x3C, 0xCF, 0x72, 0xFB, 0xF5, 0x28, 0xCF, 0xA3, 0xF5, + 0x09, 0x00, 0xF8, 0x8D, 0x1E, 0x04, 0x2F, 0x82, 0x45, 0x9E, 0x2D, 0x83, 0xDD, 0xF1, 0x78, 0x62, + 0x58, 0x35, 0x8D, 0x96, 0x42, 0xC2, 0xA2, 0x01, 0xD3, 0xAE, 0xE2, 0xDD, 0x0F, 0x81, 0x55, 0x69, + 0x85, 0xBE, 0x12, 0x85, 0xA4, 0x51, 0xFF, 0xF8, 0x2C, 0x89, 0xD3, 0xE7, 0x01, 0x34, 0x92, 0xD1, + 0x25, 0xE0, 0x3B, 0xFE, 0x4E, 0x7F, 0x0A, 0x42, 0xF3, 0x31, 0x7C, 0x11, 0x48, 0x91, 0x5F, 0xC7, + 0x33, 0x3D, 0x65, 0x5E, 0x1E, 0xB1, 0x88, 0xCA, 0xA4, 0x40, 0x14, 0x69, 0x3D, 0x83, 0xCB, 0xF8, + 0x5A, 0xA4, 0xF8, 0x55, 0xF3, 0x7B, 0x48, 0x82, 0x32, 0x36, 0xC0, 0xF7, 0xF6, 0xC3, 0x60, 0x06, + 0xAB, 0x34, 0x15, 0xF0, 0x27, 0x49, 0xC4, 0x9C, 0xF9, 0x33, 0xCD, 0x82, 0x28, 0xBF, 0x2C, 0x97, + 0x22, 0x45, 0xA4, 0xE0, 0xCB, 0x6C, 0x06, 0x3D, 0x70, 0x18, 0x3D, 0x06, 0x00, 0x43, 0xB8, 0xBB, + 0x72, 0x63, 0x7C, 0x11, 0x31, 0xD9, 0x88, 0x0B, 0xC0, 0xDB, 0x0F, 0xFD, 0xE1, 0xA0, 0xDD, 0xC6, + 0x03, 0x44, 0x52, 0x66, 0xB3, 0x38, 0x2A, 0xF4, 0x64, 0x22, 0x00, 0x62, 0x18, 0xC2, 0x25, 0xC6, + 0x67, 0xE2, 0xB7, 0x08, 0x78, 0x89, 0x06, 0x09, 0xC3, 0xF0, 0x97, 0xE8, 0x3A, 0x92, 0xB3, 0x3C, + 0x5E, 0xD1, 0xE4, 0x26, 0x13, 0x5C, 0x12, 0x9A, 0xB2, 0x19, 0xA4, 0x4A, 0x73, 0x97, 0xE0, 0xD8, + 0xE7, 0x3A, 0xCA, 0xF5, 0x4F, 0xB6, 0xCF, 0xC7, 0x41, 0x8D, 0xE6, 0x1F, 0xAA, 0x11, 0xEF, 0x04, + 0x0F, 0xB3, 0xCA, 0x16, 0x87, 0x0C, 0x45, 0xA6, 0x0B, 0x03, 0x6A, 0x70, 0xB4, 0x5A, 0xD5, 0x30, + 0x59, 0x45, 0x79, 0xB4, 0x24, 0xFE, 0x39, 0x5D, 0xA1, 0x38, 0x44, 0x09, 0x7D, 0xB9, 0xB9, 0xCA, + 0xA4, 0x70, 0xA9, 0x6D, 0x30, 0x28, 0x32, 0xD6, 0x48, 0xB9, 0x28, 0xCA, 0x3C, 0x1D, 0x07, 0x27, + 0x0B, 0x52, 0x84, 0xAB, 0x3C, 0xBB, 0x8E, 0xE7, 0x62, 0x7E, 0xE0, 0x92, 0xA9, 0x11, 0xC0, 0x4D, + 0x9C, 0x24, 0xC0, 0x7E, 0x0A, 0x80, 0x98, 0x9B, 0xC5, 0xE1, 0x1F, 0x82, 0x8B, 0x9E, 0xFE, 0x31, + 0x0C, 0xC8, 0x38, 0x10, 0xA6, 0xB1, 0x34, 0x63, 0x07, 0xBC, 0x48, 0xF5, 0x5E, 0x75, 0x1E, 0xC1, + 0x76, 0xA6, 0x9F, 0x01, 0xC6, 0x82, 0x2F, 0x7E, 0x43, 0xC1, 0x07, 0x1C, 0x66, 0x49, 0x94, 0x03, + 0xC9, 0xCB, 0x74, 0x86, 0x94, 0x09, 0x3C, 0xBE, 0xFD, 0xF4, 0x01, 0x75, 0x40, 0x92, 0x3E, 0x68, + 0xE2, 0xD4, 0x0F, 0xAB, 0x60, 0x8C, 0x16, 0xB0, 0xAD, 0x83, 0x3F, 0x5E, 0x81, 0x71, 0x41, 0xF7, + 0x16, 0x22, 0x5F, 0xE0, 0x93, 0xCF, 0x41, 0x5D, 0x30, 0x04, 0x81, 0xCF, 0xD4, 0x7F, 0xF3, 0xA8, + 0x88, 0x60, 0x38, 0xFC, 0xC1, 0xFE, 0xF7, 0xF4, 0xB9, 0x58, 0x3F, 0x08, 0x40, 0xF7, 0x02, 0x9C, + 0x9F, 0xF5, 0x87, 0x0F, 0x4D, 0x93, 0x17, 0xE6, 0x23, 0xAE, 0x0E, 0xCA, 0x01, 0x29, 0x3B, 0x00, + 0xF3, 0xD8, 0xF9, 0x6A, 0x1A, 0xA1, 0x5A, 0xCC, 0xB3, 0x78, 0x0E, 0xCF, 0x8F, 0xF8, 0xD3, 0x71, + 0x96, 0x2E, 0x62, 0x07, 0xE0, 0x8D, 0x98, 0xAE, 0x4A, 0x79, 0x05, 0x0D, 0x7E, 0xE4, 0x4F, 0xD5, + 0x06, 0xD1, 0x2A, 0x95, 0xD8, 0x1D, 0xFE, 0x54, 0x1F, 0x2D, 0x66, 0x4B, 0x62, 0x2E, 0x6A, 0xF0, + 0xA5, 0xF9, 0xC2, 0x0D, 0x5E, 0x54, 0x68, 0x70, 0x91, 0x3D, 0x17, 0xA9, 0x26, 0x82, 0xF8, 0xAD, + 0x10, 0xE9, 0x5C, 0xB6, 0x10, 0xA6, 0xC0, 0xA6, 0x7A, 0xEE, 0x6D, 0xD0, 0x56, 0xF1, 0x6C, 0x28, + 0x34, 0x68, 0xDA, 0x0D, 0x0D, 0x26, 0x36, 0x8F, 0x01, 0xF7, 0x81, 0xF8, 0xCD, 0x74, 0xF3, 0x26, + 0xA8, 0xB4, 0x0B, 0xE0, 0x7F, 0xAF, 0x07, 0x67, 0xD1, 0x3A, 0xC9, 0xA2, 0xB9, 0x56, 0x32, 0x55, + 0xE1, 0x1D, 0x4B, 0x18, 0x63, 0x6F, 0x3F, 0xC8, 0x60, 0x1F, 0xA3, 0x65, 0x1B, 0x93, 0x8C, 0xAC, + 0xB8, 0x17, 0x8E, 0x82, 0x36, 0x84, 0x0C, 0x40, 0x9D, 0x53, 0xF7, 0x45, 0x2C, 0x92, 0xB9, 0x54, + 0xC0, 0x01, 0x7B, 0xFC, 0xD1, 0xC3, 0xB0, 0x58, 0xAF, 0xC4, 0x01, 0x2E, 0x39, 0xE0, 0x1F, 0xCD, + 0x8A, 0x64, 0x0D, 0x3B, 0x37, 0xA8, 0xE9, 0x05, 0x13, 0xF4, 0x80, 0x29, 0x01, 0xC2, 0x64, 0x27, + 0x30, 0x56, 0xD0, 0x26, 0xF4, 0x97, 0x39, 0x9B, 0xC0, 0x04, 0x1A, 0xE6, 0xC7, 0xFE, 0xC2, 0xFD, + 0xE9, 0x53, 0xFE, 0xCF, 0x1A, 0xE9, 0x3E, 0xDC, 0x80, 0x08, 0x9A, 0x06, 0xDF, 0x81, 0x4A, 0x88, + 0x67, 0x30, 0x11, 0x20, 0xC6, 0x52, 0x14, 0x57, 0xD9, 0xFC, 0xEE, 0x28, 0x11, 0x05, 0x09, 0x58, + 0x32, 0x86, 0x08, 0xB2, 0x71, 0xC6, 0x96, 0x13, 0x34, 0x2A, 0xC5, 0x30, 0x4E, 0x60, 0x98, 0x9A, + 0x0D, 0x9E, 0xFE, 0xDC, 0xC2, 0x08, 0x47, 0xAE, 0xB0, 0x22, 0xB6, 0x51, 0xA1, 0x36, 0x6B, 0x18, + 0x7A, 0x96, 0x94, 0xA0, 0xAB, 0xE0, 0x43, 0xDB, 0xFE, 0x28, 0x5E, 0x74, 0x23, 0xED, 0x89, 0xBE, + 0x41, 0xCE, 0x22, 0xC0, 0x7D, 0x89, 0xA2, 0x45, 0x5C, 0x24, 0x42, 0x99, 0xA3, 0x1E, 0x4E, 0x3C, + 0x82, 0x19, 0x85, 0xFF, 0xE3, 0xE6, 0x9F, 0x1A, 0x2E, 0xEF, 0x80, 0xEC, 0x4F, 0x70, 0x9A, 0xCD, + 0xD7, 0x4D, 0x00, 0xE9, 0x41, 0x3F, 0xBC, 0xEF, 0x9F, 0x3C, 0x42, 0x1C, 0x81, 0x40, 0xF1, 0x92, + 0x56, 0x33, 0x03, 0x4A, 0xA1, 0x45, 0xBA, 0x4A, 0xA2, 0x35, 0x91, 0x6A, 0x20, 0xFE, 0xD4, 0xFD, + 0xFB, 0x3C, 0xF9, 0xB4, 0x47, 0x50, 0x9F, 0x08, 0xB4, 0x49, 0xC9, 0x46, 0x82, 0x21, 0x0A, 0x60, + 0xD5, 0xE5, 0x28, 0x06, 0xE3, 0x6F, 0x25, 0xE0, 0x9F, 0x14, 0xB8, 0x87, 0x15, 0x1B, 0xF1, 0xF0, + 0x42, 0x44, 0xB0, 0x9D, 0x09, 0x67, 0x77, 0x9A, 0xAE, 0x09, 0x9D, 0x2F, 0x8F, 0xBF, 0x0B, 0xCE, + 0x1F, 0x7E, 0xDB, 0xC7, 0x61, 0x56, 0x4F, 0x76, 0x2F, 0x55, 0x12, 0x4D, 0x45, 0xD2, 0xB8, 0xBD, + 0x2D, 0x99, 0x2B, 0x76, 0xD1, 0xE8, 0x8D, 0x92, 0x35, 0xF0, 0xAB, 0xA4, 0xBD, 0xA4, 0x91, 0x06, + 0xB6, 0xCD, 0x23, 0x00, 0xB8, 0x09, 0x25, 0x60, 0x28, 0xDC, 0x13, 0xCE, 0x60, 0x4F, 0xC0, 0xB9, + 0x16, 0xD9, 0x2C, 0x4B, 0x34, 0x25, 0xDA, 0x58, 0x18, 0x46, 0x53, 0x90, 0xB6, 0x66, 0x66, 0x6F, + 0x1B, 0x6A, 0x27, 0xD1, 0x11, 0x68, 0x05, 0x30, 0x73, 0x79, 0x07, 0xCF, 0x16, 0x06, 0xD3, 0x2B, + 0x11, 0xCD, 0xC1, 0xCF, 0x1B, 0x07, 0x5F, 0xD3, 0x07, 0xB0, 0xA2, 0x92, 0x12, 0x16, 0x6B, 0x59, + 0xCA, 0x02, 0x70, 0x55, 0x93, 0x97, 0x2E, 0xA9, 0xCC, 0x47, 0xE5, 0x85, 0x3C, 0x55, 0xA0, 0xC8, + 0xD2, 0x34, 0x0C, 0xF6, 0xF3, 0x1E, 0xBA, 0x6A, 0x12, 0x7C, 0xB5, 0x22, 0xCB, 0x12, 0x39, 0x8E, + 0x45, 0xB1, 0x20, 0x5F, 0xED, 0xAA, 0x58, 0x26, 0x93, 0x7C, 0x31, 0x7B, 0xFF, 0xF0, 0xED, 0xC3, + 0xD7, 0x24, 0x23, 0x34, 0x7A, 0x77, 0xDF, 0x81, 0x4A, 0x6C, 0x23, 0xCB, 0x15, 0x4E, 0x54, 0xCC, + 0x35, 0x86, 0x8D, 0xAB, 0xA5, 0x1F, 0xDE, 0xC2, 0x2C, 0xE8, 0xA6, 0x13, 0x31, 0x0A, 0xEB, 0x4F, + 0x1F, 0x83, 0xBB, 0xB2, 0x4A, 0xAA, 0xC3, 0xEB, 0x85, 0xF1, 0xA4, 0xD5, 0x68, 0xF6, 0x22, 0xAB, + 0x30, 0x90, 0xCB, 0xE0, 0x8D, 0xF8, 0x79, 0x70, 0xAC, 0xD5, 0xE2, 0xAA, 0xC0, 0x56, 0x64, 0x4E, + 0x37, 0x10, 0x63, 0x6C, 0x84, 0xC0, 0x7D, 0x24, 0xEA, 0x96, 0x8F, 0x45, 0xC1, 0x0A, 0xB6, 0x2F, + 0x5B, 0xAE, 0x50, 0x6D, 0xA4, 0x49, 0x34, 0x0A, 0x5A, 0xA2, 0xF6, 0x6E, 0xAE, 0xE2, 0xD9, 0x15, + 0xF8, 0x73, 0xA4, 0xFA, 0x80, 0x86, 0x79, 0xA1, 0x54, 0xB9, 0x46, 0x01, 0x16, 0x06, 0xF6, 0xBC, + 0x28, 0x9F, 0xEF, 0x0F, 0x13, 0xB2, 0xC1, 0xBA, 0x08, 0x24, 0x19, 0xD7, 0x2A, 0x03, 0x85, 0x08, + 0x2E, 0x84, 0xA0, 0x65, 0xC2, 0x18, 0x09, 0x98, 0x12, 0x10, 0x7A, 0x78, 0x0E, 0xF3, 0xEA, 0x56, + 0xC9, 0xC1, 0x97, 0x59, 0x8E, 0xBB, 0x37, 0xAA, 0x76, 0x25, 0x92, 0x07, 0xC1, 0xD7, 0x17, 0x17, + 0x67, 0xE7, 0x41, 0x6C, 0x83, 0x19, 0x8D, 0xB4, 0xA6, 0xC1, 0xB7, 0x53, 0x5B, 0x23, 0x2D, 0xC1, + 0x1E, 0x5E, 0x3D, 0x3A, 0xAC, 0x5D, 0x81, 0x79, 0x9A, 0xE9, 0x05, 0x9A, 0x28, 0xB1, 0xD4, 0x72, + 0x0D, 0x1A, 0x26, 0x93, 0x7A, 0x39, 0xCC, 0x32, 0x28, 0x50, 0x66, 0xC4, 0x48, 0xA2, 0x07, 0x14, + 0xA7, 0x34, 0x8E, 0xC6, 0xD4, 0xDB, 0xBE, 0x75, 0x8F, 0xA7, 0x2D, 0xCA, 0x67, 0x2E, 0xAE, 0x45, + 0x82, 0x06, 0xE3, 0x78, 0x99, 0xFD, 0x0E, 0x0E, 0x57, 0x44, 0x3A, 0x48, 0xA4, 0xA3, 0xEF, 0xCF, + 0x27, 0xF3, 0x6C, 0x26, 0x27, 0x00, 0x70, 0x72, 0x74, 0x76, 0x32, 0x71, 0x67, 0x3C, 0x71, 0x47, + 0x18, 0xC8, 0x1A, 0x03, 0x6D, 0x0A, 0xB2, 0x27, 0x0A, 0x30, 0x92, 0xEE, 0xDC, 0xA8, 0x38, 0x82, + 0xCD, 0x04, 0x83, 0x30, 0x00, 0xD8, 0x5F, 0xBE, 0x68, 0xC6, 0xC4, 0xCC, 0xF5, 0x9A, 0x03, 0x14, + 0x1C, 0x5A, 0x3F, 0x70, 0x81, 0x80, 0x03, 0x1E, 0xC3, 0x46, 0x8A, 0x38, 0x66, 0x86, 0x67, 0x0D, + 0x07, 0xFB, 0x70, 0x61, 0x31, 0x15, 0xC0, 0x16, 0x4E, 0xE4, 0x01, 0xD8, 0x1B, 0x42, 0xCC, 0x3E, + 0x52, 0x64, 0xA9, 0xE3, 0x6F, 0xE7, 0xA0, 0xFA, 0x6C, 0x8D, 0x88, 0x82, 0x58, 0xC7, 0xC5, 0xE2, + 0x63, 0x28, 0xD9, 0x83, 0x8D, 0x0D, 0x04, 0xC4, 0x60, 0x50, 0x73, 0xC4, 0xA1, 0x89, 0xB2, 0xE3, + 0xAE, 0x31, 0xA9, 0xEF, 0xA7, 0x83, 0x87, 0xBC, 0x70, 0xEC, 0xCD, 0xCD, 0xC7, 0x22, 0x4E, 0x69, + 0xD8, 0x6D, 0x3E, 0xE9, 0xB2, 0x1C, 0xD5, 0x68, 0x64, 0xFB, 0x11, 0x99, 0x71, 0x97, 0xB1, 0xCC, + 0x52, 0xC3, 0xC4, 0x2C, 0x42, 0x0E, 0x7D, 0x5C, 0xE6, 0x21, 0x25, 0x2B, 0xD2, 0xAC, 0xBC, 0x44, + 0x53, 0x20, 0xA2, 0x10, 0x89, 0x36, 0x42, 0x1B, 0x16, 0xAD, 0x90, 0x22, 0x59, 0x34, 0xF3, 0xCD, + 0x34, 0x9A, 0x5F, 0x0E, 0xE0, 0xF8, 0xCF, 0xC1, 0x38, 0xDE, 0x50, 0x96, 0x86, 0xD9, 0xD3, 0x47, + 0xF9, 0x34, 0x2E, 0xF2, 0x28, 0x5F, 0xD3, 0xE6, 0x4E, 0x7A, 0x8F, 0x82, 0xDD, 0x37, 0x51, 0x5A, + 0x54, 0x2D, 0xCC, 0xCE, 0x81, 0x49, 0xE5, 0x29, 0x95, 0xC9, 0x16, 0x3A, 0x83, 0x24, 0x7F, 0xAB, + 0xCB, 0x9C, 0xC0, 0x96, 0x9D, 0xEE, 0xC3, 0x3C, 0xCE, 0xD9, 0x46, 0x41, 0xC5, 0x48, 0xFB, 0x5C, + 0x17, 0xB5, 0xC7, 0xC1, 0x77, 0x6C, 0xCF, 0xA1, 0x83, 0xEB, 0x80, 0x42, 0x9C, 0xC2, 0xA8, 0x2C, + 0xB2, 0xF0, 0x20, 0x08, 0x93, 0x22, 0x0F, 0xD1, 0xD9, 0x0D, 0xF3, 0x22, 0x09, 0x1B, 0x91, 0xC3, + 0x51, 0x01, 0xB7, 0x5D, 0xEC, 0xB1, 0x0B, 0xBE, 0xEC, 0x2E, 0x74, 0xA1, 0xBF, 0xD0, 0x63, 0xB7, + 0x8B, 0xC7, 0x10, 0xB7, 0x3A, 0x07, 0xCC, 0x5A, 0x56, 0x89, 0x9E, 0xF4, 0xAF, 0xD2, 0xDD, 0x7A, + 0x3D, 0xFD, 0xE3, 0x55, 0xBD, 0xB6, 0x5D, 0x69, 0x63, 0xEC, 0x91, 0x04, 0xDD, 0xF0, 0xF9, 0xF1, + 0x59, 0xF0, 0xCE, 0x7B, 0xF6, 0xC7, 0x22, 0xBA, 0x6C, 0x1C, 0x90, 0x5A, 0xF4, 0x8F, 0x77, 0x04, + 0xDC, 0x9A, 0x25, 0x02, 0xE6, 0xC7, 0x7B, 0xDB, 0x1A, 0x1A, 0xA3, 0xF0, 0xA1, 0xE8, 0x59, 0x95, + 0x28, 0xAF, 0xB2, 0x32, 0x01, 0x4B, 0x48, 0xE3, 0x06, 0x13, 0x8F, 0x16, 0x05, 0x3C, 0x88, 0x3C, + 0xD1, 0x14, 0x37, 0x1E, 0xEE, 0x28, 0xDF, 0x09, 0x88, 0xA8, 0x44, 0xF2, 0x65, 0xD0, 0x1F, 0xF8, + 0x62, 0x1C, 0x3C, 0xA4, 0x68, 0x23, 0x07, 0xBE, 0x17, 0x51, 0x22, 0x9B, 0x59, 0x14, 0xFA, 0x12, + 0x28, 0x10, 0x24, 0x8D, 0x61, 0xEB, 0x1C, 0x20, 0x23, 0x80, 0x23, 0x0A, 0x36, 0x1E, 0x2A, 0xFA, + 0x53, 0xE1, 0x0E, 0xF0, 0x96, 0x51, 0xCC, 0x1A, 0xEE, 0x1A, 0x66, 0x05, 0x1B, 0x54, 0x62, 0xE6, + 0xE7, 0x00, 0x33, 0xA6, 0x53, 0x8E, 0x8B, 0x8C, 0x89, 0x0C, 0x00, 0x1B, 0x17, 0x07, 0x41, 0x1E, + 0x29, 0x92, 0x44, 0x29, 0xB4, 0xC9, 0x24, 0xD2, 0x09, 0x59, 0x74, 0x09, 0xA3, 0x60, 0x6C, 0x7F, + 0xED, 0x4E, 0x63, 0xF8, 0x24, 0xC9, 0xC6, 0x3A, 0xC1, 0x7D, 0x9E, 0x75, 0xEF, 0x80, 0xE9, 0xF6, + 0x2E, 0x59, 0xC3, 0xF4, 0xC9, 0xCB, 0x8A, 0x13, 0x50, 0xB5, 0xDB, 0xA0, 0xC9, 0x3D, 0x87, 0xA0, + 0x06, 0x62, 0x82, 0xBE, 0x39, 0x23, 0x85, 0xBC, 0x89, 0x3B, 0xDA, 0x40, 0x09, 0x29, 0xA2, 0x01, + 0xFC, 0x7A, 0x11, 0x83, 0xE9, 0x57, 0x40, 0x3C, 0xBF, 0x51, 0x1D, 0x83, 0xC9, 0xB9, 0x40, 0x22, + 0x64, 0x6E, 0x97, 0xDB, 0x59, 0x69, 0x85, 0x1E, 0xB0, 0xEA, 0x3B, 0xCE, 0x45, 0x01, 0xD6, 0x43, + 0x8B, 0xBF, 0x66, 0x7A, 0xC1, 0x8C, 0xD2, 0x72, 0x39, 0x15, 0x79, 0xC7, 0x72, 0x5E, 0xC7, 0xD3, + 0x5C, 0x7B, 0x60, 0x05, 0x70, 0x42, 0xEA, 0x24, 0x40, 0x30, 0x9C, 0xBE, 0x2B, 0x9D, 0x26, 0x57, + 0x60, 0xC1, 0x62, 0xBE, 0x10, 0x97, 0x4C, 0x40, 0x5A, 0xCD, 0x01, 0xD5, 0x6C, 0xB9, 0x50, 0x16, + 0xB7, 0x19, 0x4D, 0x05, 0x56, 0x18, 0x24, 0x83, 0x3F, 0xD5, 0x07, 0x15, 0x34, 0xAB, 0xBB, 0x99, + 0xB4, 0x69, 0x0C, 0xB3, 0xF7, 0x8F, 0xCE, 0x1E, 0x4B, 0x6B, 0xEC, 0xDF, 0x45, 0x8C, 0xC2, 0x2C, + 0xAF, 0x31, 0xC8, 0x21, 0x23, 0x00, 0xA6, 0x0C, 0xAC, 0x1E, 0x25, 0xD3, 0x5A, 0xCD, 0xF2, 0x08, + 0x9B, 0x8D, 0x21, 0x4D, 0x0C, 0x49, 0xDC, 0x29, 0xEE, 0xB9, 0x13, 0x8C, 0x5E, 0x42, 0x8F, 0x89, + 0xD7, 0x75, 0xF2, 0x58, 0x14, 0x37, 0x59, 0xFE, 0x1C, 0x06, 0x25, 0x91, 0x4C, 0x45, 0x31, 0x01, + 0xC7, 0x02, 0xD3, 0xCC, 0x65, 0x94, 0x4C, 0x9E, 0x88, 0x65, 0x56, 0x08, 0xD7, 0x06, 0x97, 0x67, + 0x5F, 0x41, 0x83, 0xE5, 0xB2, 0x4C, 0xF1, 0x07, 0xE8, 0x86, 0x9B, 0x35, 0xCE, 0x7B, 0x8C, 0x01, + 0x88, 0xFD, 0x57, 0x2C, 0xBB, 0x60, 0xE2, 0x28, 0xCE, 0x4A, 0xA9, 0x62, 0x09, 0x94, 0x1A, 0xD5, + 0x0E, 0xB7, 0xF2, 0xFC, 0x9D, 0x68, 0xC4, 0x74, 0x4D, 0xD4, 0xEB, 0x76, 0x0A, 0x28, 0xFA, 0xBF, + 0x69, 0x44, 0x06, 0xC1, 0x6E, 0x11, 0x8E, 0xB9, 0xCF, 0x58, 0x48, 0x4A, 0x48, 0xDD, 0x26, 0xFA, + 0xA0, 0xBA, 0xAA, 0x84, 0xC8, 0x19, 0x7F, 0xBB, 0xBB, 0x80, 0x43, 0x7C, 0x7A, 0x3E, 0x20, 0xE0, + 0x80, 0x43, 0x5B, 0xD7, 0x7D, 0x98, 0x88, 0x28, 0xC4, 0xC9, 0xC2, 0x60, 0x32, 0x98, 0x89, 0x06, + 0xDF, 0xC1, 0x76, 0x05, 0xC9, 0x82, 0x19, 0x00, 0x83, 0x58, 0xB9, 0xD4, 0xFA, 0x2E, 0x8C, 0x56, + 0x32, 0xD4, 0xE0, 0xE6, 0x31, 0x2D, 0x2C, 0x30, 0xF4, 0x38, 0xF8, 0xBC, 0x2C, 0xA8, 0xC8, 0x01, + 0xD4, 0x78, 0xA6, 0x83, 0xF3, 0x9C, 0xAA, 0x0C, 0x22, 0x63, 0x6A, 0xCE, 0x60, 0x89, 0x21, 0x63, + 0x0E, 0x6B, 0x35, 0x84, 0xB9, 0x14, 0x25, 0x3B, 0x3C, 0x4D, 0x8D, 0x90, 0x83, 0xC9, 0x36, 0x0B, + 0x08, 0x20, 0x90, 0x80, 0xD2, 0x51, 0x3A, 0x8C, 0xE9, 0x43, 0x30, 0x54, 0xB7, 0xD1, 0x3D, 0x4F, + 0x01, 0xA2, 0x83, 0xD3, 0xDF, 0xAD, 0x13, 0x14, 0xE1, 0xBE, 0x15, 0x6B, 0xD2, 0x58, 0x02, 0x9A, + 0x7B, 0x1A, 0x81, 0xB5, 0x60, 0x2C, 0x75, 0xB8, 0xC8, 0x5B, 0xFA, 0xFE, 0x95, 0x91, 0x1D, 0xF2, + 0x9E, 0x08, 0x68, 0xDC, 0xBD, 0x04, 0xE4, 0x30, 0x20, 0xAF, 0x60, 0xA3, 0x48, 0x51, 0x17, 0x2C, + 0x1E, 0x32, 0xD3, 0xA6, 0xBF, 0x88, 0x19, 0xA2, 0xE4, 0x00, 0xE5, 0xDC, 0x53, 0x58, 0x4D, 0x94, + 0x01, 0x1E, 0x34, 0x5A, 0xD8, 0xB2, 0xA6, 0xF8, 0xCC, 0x6C, 0xE8, 0xB0, 0xB3, 0xE8, 0xF6, 0xED, + 0xAE, 0x56, 0x34, 0xAF, 0x59, 0xD8, 0xF5, 0x08, 0xFB, 0x18, 0xE2, 0xC1, 0x34, 0xC3, 0x43, 0x76, + 0x21, 0x97, 0x50, 0x79, 0x82, 0xCF, 0xD1, 0xA1, 0xC3, 0xA7, 0x3F, 0xC2, 0x26, 0x58, 0x75, 0x18, + 0xD5, 0x2E, 0x04, 0x09, 0x73, 0xD3, 0x92, 0x53, 0xE3, 0xDA, 0x2C, 0x84, 0xAC, 0xF3, 0x15, 0xD8, + 0xCB, 0x2D, 0x31, 0x06, 0xEE, 0xD0, 0xBF, 0x95, 0x9F, 0x67, 0x65, 0xAA, 0x15, 0x98, 0x83, 0x7D, + 0x3F, 0xFF, 0x4B, 0xEC, 0xE8, 0xD2, 0xEA, 0x38, 0x8F, 0xC9, 0xAC, 0x24, 0x88, 0xED, 0xE3, 0xA9, + 0x69, 0x49, 0x6B, 0xFE, 0x81, 0xE8, 0xD3, 0x8E, 0x50, 0xE6, 0xB0, 0xB4, 0x80, 0xF7, 0xEC, 0xF9, + 0x65, 0x4E, 0x58, 0x95, 0x2B, 0x70, 0xFA, 0x86, 0x98, 0x61, 0x4A, 0x0A, 0x8E, 0x74, 0x6C, 0x64, + 0x80, 0xD9, 0xD7, 0x88, 0x87, 0x54, 0x65, 0x15, 0xE1, 0xB2, 0x2C, 0x10, 0xCE, 0x48, 0x01, 0x0E, + 0x51, 0xD7, 0xAE, 0x80, 0x0F, 0x30, 0x11, 0xEA, 0x92, 0xC6, 0x85, 0x28, 0xC9, 0x95, 0x43, 0x63, + 0x1C, 0x7A, 0xB0, 0x73, 0xBB, 0xCC, 0xE6, 0xF1, 0xA2, 0xC1, 0xC7, 0xBF, 0x8E, 0x23, 0x2C, 0x0E, + 0xE0, 0x9C, 0x20, 0x95, 0x1D, 0x35, 0xCF, 0x4B, 0xA1, 0x71, 0x0C, 0x58, 0x0C, 0x33, 0x66, 0x2F, + 0xD6, 0xAB, 0x0D, 0xB2, 0x72, 0xE8, 0x80, 0x5C, 0x66, 0xF9, 0x10, 0xC7, 0x9F, 0x8A, 0x49, 0x8C, + 0x65, 0xA4, 0x2D, 0xE6, 0x58, 0xE4, 0xB4, 0xDB, 0xE0, 0x7A, 0xAD, 0xA0, 0xBF, 0x37, 0x66, 0x9B, + 0x99, 0x79, 0x95, 0xC3, 0x76, 0x7C, 0x62, 0x59, 0x67, 0x43, 0x05, 0xDA, 0xA4, 0x5B, 0x58, 0x83, + 0xFC, 0xD1, 0x1B, 0x19, 0x94, 0xE5, 0xB4, 0xF2, 0xA8, 0x2F, 0x00, 0x92, 0x64, 0xB3, 0x6F, 0x45, + 0xCB, 0x83, 0xA3, 0xFC, 0x52, 0x7E, 0x5A, 0x49, 0xD9, 0xDA, 0xE1, 0x1F, 0xF9, 0x3D, 0xEB, 0x4F, + 0xEB, 0xDD, 0x2D, 0x96, 0x2D, 0x10, 0x6C, 0x83, 0x5E, 0x20, 0xEC, 0x9A, 0xB5, 0x82, 0x48, 0x22, + 0x54, 0x1F, 0x27, 0xE8, 0xE0, 0x6F, 0x10, 0x12, 0x87, 0x2A, 0x44, 0x25, 0xE4, 0x2C, 0xFE, 0x46, + 0x70, 0xBB, 0xD2, 0xD1, 0x24, 0x30, 0x0A, 0x58, 0x6D, 0xE7, 0x35, 0x66, 0x84, 0xB5, 0xA6, 0xBA, + 0xB7, 0x12, 0x4F, 0xCD, 0x74, 0x6F, 0xF3, 0x16, 0xD9, 0x88, 0xF8, 0x63, 0x91, 0x44, 0x97, 0x46, + 0x13, 0x87, 0x45, 0x5E, 0x8A, 0x90, 0x3C, 0x92, 0x94, 0xC3, 0xA9, 0xB5, 0x0E, 0x8D, 0xFC, 0x6B, + 0xDA, 0x0C, 0x91, 0xC6, 0x2B, 0xAE, 0xEA, 0xA1, 0x49, 0x32, 0xC5, 0xA8, 0x0C, 0x54, 0xD1, 0x44, + 0x55, 0xCB, 0x91, 0x32, 0x9F, 0xC2, 0x33, 0x0C, 0x70, 0xE6, 0xFA, 0x59, 0xF8, 0x48, 0xED, 0xF0, + 0x34, 0x4F, 0x19, 0xFA, 0xAE, 0x5C, 0x02, 0xF6, 0x2C, 0x40, 0xB5, 0x50, 0xB4, 0xF5, 0x04, 0x3F, + 0x73, 0x04, 0x0C, 0xC4, 0x7A, 0x4C, 0x4A, 0x4E, 0x29, 0x20, 0xAD, 0xA7, 0x77, 0x54, 0xE5, 0xD4, + 0x0E, 0x4C, 0x9D, 0x14, 0xBE, 0x03, 0x98, 0xDB, 0xAD, 0x65, 0x21, 0x96, 0x8C, 0x6D, 0x23, 0x05, + 0x68, 0x4A, 0xBD, 0x1A, 0x03, 0xE7, 0x7E, 0x9D, 0x25, 0xE5, 0x92, 0x4B, 0xD2, 0xEA, 0xD4, 0xDD, + 0x95, 0x3C, 0x86, 0x0D, 0xC1, 0x45, 0x6C, 0xD4, 0xC3, 0xC7, 0xE2, 0x46, 0x80, 0x57, 0x78, 0x38, + 0x3E, 0x74, 0x21, 0xEE, 0xB1, 0x4B, 0xBF, 0x4F, 0x6E, 0xC8, 0x9B, 0x58, 0x7A, 0xBB, 0x28, 0x93, + 0x44, 0x0D, 0xB2, 0xDF, 0x88, 0x2A, 0x3F, 0xB4, 0xBB, 0x60, 0x3F, 0x87, 0x6F, 0x9C, 0x56, 0x03, + 0x43, 0xBB, 0xD7, 0xF6, 0x49, 0xE5, 0xE0, 0xFC, 0xD8, 0xDF, 0x91, 0xAB, 0xBF, 0xF7, 0x90, 0xE1, + 0x66, 0x85, 0x12, 0x00, 0x58, 0xD7, 0x94, 0xDD, 0xAD, 0xEB, 0xDD, 0xB5, 0x2C, 0x66, 0xC8, 0x3E, + 0x67, 0xF4, 0x18, 0x5C, 0x51, 0xD0, 0x59, 0x02, 0xFD, 0x0F, 0x5C, 0x70, 0xCF, 0x30, 0xF2, 0x9E, + 0x52, 0x25, 0x21, 0x06, 0x0E, 0x71, 0x89, 0xFC, 0x1D, 0xD2, 0x0F, 0x3A, 0xF2, 0x76, 0x09, 0xF4, + 0xD6, 0x70, 0xFC, 0x69, 0xCE, 0x14, 0xCC, 0x39, 0x16, 0x5A, 0xF3, 0x93, 0x0C, 0xBD, 0xAA, 0x82, + 0xF8, 0x43, 0x16, 0xBA, 0x57, 0x70, 0x29, 0x0A, 0x2F, 0xCD, 0x80, 0xE4, 0xE4, 0x78, 0xCA, 0x5C, + 0x24, 0x10, 0x31, 0xCC, 0xD7, 0x1A, 0x24, 0x90, 0x1A, 0xC4, 0x00, 0x44, 0xED, 0x08, 0xB4, 0xCD, + 0x6F, 0xF1, 0xB2, 0x5C, 0xC2, 0xE8, 0x80, 0x57, 0x89, 0xDA, 0x62, 0x41, 0xD6, 0x3E, 0x0C, 0xEF, + 0xCC, 0xC5, 0x85, 0xAB, 0xAC, 0x6E, 0x1D, 0x86, 0x8C, 0x0A, 0xDC, 0x91, 0xB9, 0xC2, 0x94, 0x62, + 0x46, 0x8D, 0x8C, 0x60, 0xA0, 0x7D, 0x2B, 0x06, 0x98, 0x17, 0x67, 0x10, 0x67, 0x00, 0xE5, 0x80, + 0xBB, 0x81, 0x4B, 0x5F, 0xA3, 0x1A, 0x74, 0xC9, 0x77, 0x98, 0x42, 0x41, 0x4D, 0x94, 0x70, 0x34, + 0xFE, 0x0A, 0xAA, 0xF8, 0xC3, 0x16, 0xE7, 0x9A, 0xE1, 0xE1, 0xC8, 0x7B, 0xBB, 0xD8, 0x8E, 0x82, + 0xF1, 0xDC, 0x79, 0x77, 0xBF, 0x33, 0x50, 0x37, 0x2A, 0xB2, 0x51, 0x82, 0xF3, 0x9C, 0xAB, 0x5D, + 0xAD, 0x82, 0x13, 0x32, 0xDF, 0x12, 0xAC, 0xF0, 0x58, 0x0A, 0x2C, 0x7E, 0x6B, 0x33, 0x72, 0x8A, + 0xA4, 0xDF, 0xF4, 0x3E, 0x03, 0x4B, 0x17, 0x20, 0xF2, 0x16, 0x61, 0x95, 0x79, 0xE2, 0xE4, 0x93, + 0x72, 0xDE, 0x97, 0x72, 0x71, 0x89, 0x55, 0xF4, 0xF4, 0x33, 0x97, 0x8A, 0xA9, 0xC8, 0x07, 0x44, + 0x72, 0x67, 0x57, 0x2E, 0x4C, 0xF4, 0x9F, 0xF3, 0x39, 0x5B, 0xB3, 0xB0, 0x0D, 0x08, 0x98, 0x49, + 0xBF, 0x29, 0x9F, 0x0B, 0x5C, 0x9F, 0x19, 0xE8, 0x1B, 0x85, 0xD2, 0xE3, 0x68, 0x39, 0x20, 0xEE, + 0xDF, 0x51, 0x11, 0xD2, 0xE7, 0xCD, 0x1D, 0x25, 0x89, 0x1B, 0xC1, 0x71, 0xA1, 0xDA, 0x60, 0x0E, + 0xFB, 0x45, 0x4E, 0xE1, 0x30, 0xD6, 0xEB, 0xE7, 0xF0, 0x51, 0x22, 0x07, 0xBA, 0xC3, 0xA1, 0xE1, + 0xAE, 0x2C, 0x73, 0xAC, 0x4D, 0x1C, 0x25, 0xE8, 0x31, 0x3B, 0x40, 0xB5, 0x23, 0x58, 0x53, 0x12, + 0xE1, 0xF8, 0xC5, 0xDF, 0x51, 0xBB, 0xC2, 0xAA, 0xC6, 0x53, 0x9F, 0xDB, 0x84, 0x1C, 0xDC, 0xFE, + 0xB6, 0x10, 0xF7, 0x7E, 0x2A, 0x56, 0x14, 0xF0, 0x21, 0x41, 0x24, 0x6E, 0xD9, 0x11, 0x47, 0x1A, + 0xA8, 0xF3, 0x37, 0xAF, 0xAD, 0x68, 0x52, 0xFF, 0x9E, 0x5E, 0xC7, 0x4D, 0x60, 0xC8, 0x2E, 0xB0, + 0x49, 0x91, 0x02, 0x4B, 0x6A, 0xE3, 0xA2, 0x76, 0x70, 0x6C, 0xA1, 0x8B, 0x26, 0x91, 0x57, 0xD1, + 0x01, 0xEC, 0x64, 0x4F, 0x17, 0x9F, 0xF0, 0x56, 0xD5, 0x0F, 0x98, 0x0B, 0xBE, 0x05, 0xCA, 0xE8, + 0x16, 0xDD, 0x15, 0xC6, 0xC3, 0x72, 0xCC, 0x27, 0x33, 0xCA, 0xC2, 0x49, 0xD8, 0x9C, 0xF4, 0xB1, + 0x0A, 0x8B, 0xFA, 0x10, 0x0B, 0x64, 0x50, 0x8E, 0xF4, 0x71, 0x35, 0xE1, 0x8A, 0xBA, 0x8C, 0xAD, + 0xEF, 0xF0, 0xB5, 0x3C, 0xBF, 0xBC, 0x9C, 0x4E, 0x43, 0x1C, 0x1C, 0x14, 0x6C, 0xE3, 0x30, 0xDC, + 0xBC, 0x7F, 0x9C, 0x2F, 0xE3, 0xC4, 0x57, 0xF0, 0xB2, 0x21, 0xDE, 0x82, 0x0B, 0x60, 0x53, 0x27, + 0x4A, 0x6F, 0xF3, 0x02, 0x38, 0xB0, 0x06, 0xCC, 0x9D, 0x80, 0xF7, 0x23, 0xE5, 0x4E, 0x1E, 0x53, + 0x58, 0x2A, 0xBA, 0x16, 0x57, 0x0C, 0x17, 0x5D, 0xF3, 0xA0, 0x73, 0xA2, 0x20, 0x3D, 0xB0, 0x0B, + 0x01, 0xE0, 0x36, 0xA4, 0x00, 0x44, 0x43, 0x2E, 0x67, 0x9E, 0x47, 0x37, 0x22, 0xC7, 0x73, 0x20, + 0xD5, 0xB8, 0x96, 0x80, 0x73, 0x6A, 0x94, 0x4F, 0x14, 0xFE, 0x16, 0x30, 0xCB, 0x05, 0xA5, 0x46, + 0x23, 0x4C, 0xCF, 0x0E, 0x98, 0xF6, 0xA0, 0x2C, 0xDC, 0x7D, 0x9B, 0xB8, 0x4D, 0x7A, 0x9F, 0xB6, + 0xC6, 0xFA, 0xE9, 0x23, 0xA7, 0xE0, 0xAD, 0xA9, 0xDE, 0x0D, 0x49, 0xE5, 0x92, 0x29, 0x72, 0x63, + 0x83, 0x6C, 0x86, 0x81, 0x6D, 0xA3, 0x60, 0xB1, 0x09, 0x80, 0x9E, 0xDD, 0x09, 0x05, 0x89, 0x90, + 0xE3, 0x40, 0xB9, 0xC1, 0x62, 0x2A, 0x1F, 0x5F, 0x33, 0x58, 0x54, 0x29, 0xB3, 0xDB, 0x9C, 0xBB, + 0xA8, 0x2B, 0xCE, 0x69, 0x88, 0x80, 0x7D, 0x2B, 0xB4, 0xDA, 0x21, 0xB9, 0x57, 0xCD, 0x3D, 0xCF, + 0x57, 0xFD, 0x66, 0x85, 0xBD, 0xC8, 0x00, 0x47, 0xFA, 0x93, 0x64, 0xE0, 0x27, 0xC6, 0xBF, 0x8B, + 0x2A, 0x92, 0x53, 0x5D, 0xD9, 0xE2, 0x62, 0xD8, 0xAA, 0x6C, 0x20, 0xFA, 0x31, 0xC8, 0xFC, 0x74, + 0x2A, 0xC4, 0x2C, 0x32, 0xB0, 0xD9, 0xF3, 0xEE, 0xA3, 0xCF, 0x23, 0x01, 0x6E, 0xCC, 0x26, 0x24, + 0x0C, 0x6A, 0x72, 0x4A, 0x47, 0x38, 0xD0, 0xCC, 0xCA, 0xE5, 0x24, 0x0E, 0xA1, 0x45, 0xA4, 0x43, + 0x2D, 0xD6, 0x23, 0x39, 0x43, 0x08, 0x4B, 0x5B, 0xC0, 0x1D, 0x51, 0x96, 0x60, 0xD5, 0x48, 0x3B, + 0x19, 0x18, 0xD3, 0xFA, 0x3B, 0x09, 0xAA, 0x30, 0xA9, 0x53, 0x74, 0x78, 0x84, 0xAD, 0xEE, 0x79, + 0x37, 0xDB, 0x68, 0x18, 0x60, 0x4F, 0xC1, 0x21, 0x3F, 0x79, 0x18, 0xEC, 0x81, 0x2A, 0x82, 0xE1, + 0x4D, 0xBB, 0xD3, 0x7D, 0xD0, 0x9A, 0x4C, 0x6F, 0x32, 0x61, 0x95, 0xD2, 0xF2, 0x24, 0x55, 0xF7, + 0xD7, 0x5E, 0x7C, 0x2C, 0x5D, 0x88, 0x53, 0x01, 0x53, 0x15, 0x68, 0xCA, 0x7A, 0x83, 0x36, 0x36, + 0x76, 0xC0, 0xB2, 0x31, 0x64, 0x76, 0x89, 0x39, 0x6A, 0x0B, 0x2A, 0xC2, 0x9A, 0x43, 0xE5, 0x4D, + 0x81, 0x4E, 0xE0, 0xBC, 0xDA, 0x5B, 0xF1, 0x86, 0x56, 0xB5, 0x07, 0x14, 0x66, 0x5A, 0x54, 0x39, + 0xC0, 0xB6, 0xB7, 0x86, 0xE1, 0x55, 0x24, 0x49, 0x69, 0xAF, 0x05, 0xBA, 0x61, 0x22, 0xE5, 0x59, + 0x1A, 0x8B, 0x51, 0x9D, 0x7C, 0x3D, 0xFE, 0x0E, 0x96, 0x92, 0xF7, 0x2B, 0x0D, 0xC5, 0xDB, 0xD1, + 0x1F, 0x5A, 0x6D, 0xE6, 0xB0, 0x29, 0x68, 0xAE, 0x34, 0x5E, 0x00, 0x3E, 0x8D, 0x8B, 0xA8, 0x01, + 0x9D, 0x0C, 0xD8, 0xCF, 0xCE, 0xF5, 0x41, 0xD9, 0x9D, 0x02, 0x34, 0x94, 0xC8, 0x77, 0x88, 0x8F, + 0x0F, 0x54, 0xF9, 0x57, 0x2C, 0xC9, 0x33, 0xB6, 0xA7, 0x48, 0xE3, 0x69, 0x9C, 0x80, 0x02, 0xD5, + 0x27, 0xFF, 0xE4, 0x98, 0xFC, 0xCF, 0x6A, 0x09, 0x06, 0x54, 0x55, 0x04, 0xE4, 0x47, 0x04, 0x6F, + 0xBD, 0x19, 0xEC, 0x3D, 0xCA, 0xC0, 0xE5, 0x5B, 0x65, 0xAB, 0x7D, 0x70, 0xCA, 0xD5, 0x68, 0x34, + 0x88, 0xCE, 0x8A, 0xD5, 0x36, 0x12, 0xC0, 0x19, 0xAC, 0x6C, 0x09, 0xE9, 0x8C, 0x7C, 0x50, 0xB9, + 0x83, 0x2C, 0x50, 0x64, 0x70, 0xDB, 0x6F, 0x26, 0x07, 0xCD, 0x6C, 0x80, 0xC1, 0x41, 0xD6, 0x9C, + 0x54, 0x31, 0x4E, 0xAA, 0x8F, 0x21, 0x6F, 0xB9, 0x4C, 0xE1, 0xB7, 0x83, 0xA6, 0x12, 0x51, 0xBF, + 0x22, 0x48, 0x57, 0x10, 0xA9, 0x5D, 0xC3, 0x81, 0x5C, 0xAB, 0xD4, 0x8E, 0x0B, 0x3D, 0xD5, 0x55, + 0x04, 0x0B, 0x35, 0x36, 0x43, 0xDB, 0xF0, 0x6A, 0x7D, 0x40, 0x3C, 0x6A, 0x4D, 0xB9, 0x61, 0x17, + 0xB2, 0xB8, 0xD6, 0xD5, 0xE0, 0xF5, 0x31, 0x5A, 0x0C, 0x1D, 0x24, 0xC7, 0x90, 0x3A, 0x2B, 0x28, + 0x17, 0xF7, 0x4D, 0x14, 0xB5, 0x60, 0x29, 0xAA, 0x19, 0x1A, 0x0A, 0x08, 0x30, 0xCD, 0xCA, 0x82, + 0x90, 0x28, 0xA4, 0xDA, 0x55, 0x53, 0xF8, 0x51, 0x42, 0xEC, 0xB0, 0x40, 0x25, 0xBB, 0x04, 0xC9, + 0xD1, 0x29, 0x51, 0x5E, 0x7E, 0x9F, 0x2C, 0xDC, 0x86, 0x00, 0xE3, 0x37, 0x86, 0xD4, 0x68, 0x0A, + 0x65, 0xB3, 0x59, 0x99, 0x63, 0x7D, 0xBA, 0x67, 0x82, 0xB9, 0xE0, 0x3C, 0x92, 0x52, 0x85, 0xBE, + 0xD4, 0xE5, 0x15, 0x24, 0xD5, 0xED, 0x11, 0x17, 0x1E, 0xF6, 0xC2, 0x29, 0xE2, 0x79, 0x08, 0x92, + 0xDA, 0x25, 0x33, 0x36, 0xF5, 0xC5, 0x44, 0xA2, 0x01, 0xAA, 0xEC, 0x01, 0x53, 0x07, 0x29, 0x88, + 0x52, 0x1D, 0x84, 0xE2, 0x24, 0x17, 0x4D, 0x03, 0x7E, 0x63, 0x8B, 0x75, 0xEC, 0x27, 0x14, 0x97, + 0xFE, 0xAC, 0x4D, 0x9D, 0xE7, 0x14, 0xDC, 0x8A, 0x4B, 0xB2, 0x28, 0x39, 0xC7, 0xAF, 0x7A, 0xB3, + 0x53, 0x9A, 0x53, 0x52, 0x5A, 0x8B, 0x11, 0x90, 0xB9, 0xC4, 0x13, 0x0A, 0xD2, 0xD7, 0xA7, 0x3F, + 0x0A, 0x38, 0xCA, 0x7C, 0x7A, 0x1E, 0xDC, 0xA0, 0xCD, 0xA3, 0xAC, 0x56, 0xB0, 0x7D, 0xB4, 0x83, + 0xA8, 0x98, 0x0F, 0x55, 0x23, 0x14, 0xB8, 0x80, 0x22, 0xAC, 0xCF, 0x08, 0xBF, 0x38, 0xB8, 0x8C, + 0x6B, 0x67, 0x76, 0xF4, 0x10, 0x97, 0x25, 0xFA, 0x40, 0x8D, 0x49, 0x78, 0xDE, 0x01, 0x28, 0x0D, + 0x0F, 0x31, 0x99, 0x18, 0x6F, 0x10, 0x98, 0xDC, 0x40, 0x37, 0x4C, 0x23, 0xC8, 0x89, 0x37, 0xF5, + 0x09, 0x8F, 0x93, 0xBF, 0xA6, 0x4D, 0xE7, 0x11, 0x1F, 0x4B, 0x1C, 0x65, 0x8B, 0xD1, 0x2A, 0xC7, + 0x15, 0xA3, 0x1F, 0xA9, 0x15, 0x7C, 0xD8, 0x6F, 0x5A, 0x58, 0xDE, 0xB2, 0x4F, 0xD3, 0x64, 0x08, + 0xBF, 0x6B, 0x55, 0x88, 0xCB, 0x16, 0x61, 0xBC, 0xCE, 0xC4, 0xC2, 0x90, 0xCA, 0x75, 0x7A, 0x8C, + 0x83, 0x47, 0xD9, 0xCD, 0x48, 0xB7, 0xF1, 0x1E, 0x35, 0xC5, 0x00, 0xAF, 0xE2, 0x39, 0xB8, 0x07, + 0x74, 0x85, 0x81, 0x91, 0x55, 0xBA, 0xCD, 0x42, 0xE4, 0x54, 0xBB, 0x21, 0xE3, 0xA2, 0xE4, 0xCE, + 0xC4, 0xE2, 0xEA, 0xEA, 0x0B, 0x0D, 0x5E, 0x05, 0x1B, 0x5D, 0xC0, 0x0C, 0x2A, 0x54, 0xBB, 0xAA, + 0x8A, 0xCA, 0xE8, 0x70, 0x60, 0xC8, 0x4B, 0x6C, 0xFB, 0xD3, 0xE7, 0x0C, 0x75, 0x38, 0x4B, 0x84, + 0xCD, 0xB7, 0x72, 0x6D, 0xA7, 0x03, 0xD8, 0x8D, 0xA6, 0xE0, 0x36, 0x06, 0xD8, 0x9B, 0xC0, 0x28, + 0x49, 0xE0, 0x8F, 0x57, 0xF0, 0x17, 0x7E, 0x6F, 0x1B, 0x9B, 0xDD, 0x21, 0xDA, 0xDC, 0x66, 0x5C, + 0x3B, 0xE1, 0x43, 0x8F, 0x0A, 0xCA, 0xB9, 0xE4, 0x59, 0x42, 0x72, 0xE4, 0x85, 0x6F, 0xA0, 0xAF, + 0x1D, 0x6A, 0x40, 0x88, 0x12, 0x5C, 0x69, 0x2E, 0x1B, 0xCE, 0x6E, 0xE8, 0xAF, 0xCA, 0xD1, 0xE0, + 0x67, 0x1B, 0xBE, 0x84, 0xC8, 0xED, 0xEE, 0x7E, 0xFF, 0xC2, 0xD7, 0x2A, 0xF3, 0x94, 0xF1, 0x07, + 0xBB, 0x1C, 0x38, 0x22, 0x14, 0x3B, 0xB7, 0xD6, 0x99, 0x17, 0xCA, 0xAC, 0x6C, 0x80, 0x74, 0xD6, + 0xDE, 0x42, 0x04, 0xEE, 0x01, 0x98, 0xF8, 0xEF, 0x62, 0x41, 0xA6, 0x0F, 0xEF, 0x5A, 0x2A, 0x67, + 0x13, 0x3B, 0xF5, 0xAC, 0x26, 0x76, 0x4A, 0x43, 0xDF, 0x44, 0x71, 0xA1, 0x6C, 0x9D, 0x0A, 0x74, + 0x14, 0x9C, 0xEA, 0x00, 0x0C, 0x39, 0x15, 0xBF, 0xF5, 0x03, 0x7E, 0x2E, 0xC4, 0xAA, 0x62, 0xC3, + 0xF8, 0x90, 0xCE, 0xCB, 0xA9, 0x44, 0x8B, 0x27, 0x55, 0xB0, 0xF0, 0xD8, 0x2F, 0x12, 0x04, 0xA0, + 0xE9, 0x1C, 0x93, 0x0B, 0xB0, 0x3E, 0x61, 0xBF, 0x20, 0x1C, 0x7D, 0xC7, 0x79, 0x63, 0xBB, 0x40, + 0xF9, 0x6C, 0x21, 0xFF, 0x20, 0x9E, 0x81, 0x92, 0xC6, 0x00, 0x66, 0xC8, 0xB6, 0x47, 0x41, 0x1D, + 0x43, 0xB5, 0xA8, 0xCF, 0xAA, 0x8D, 0x3C, 0xED, 0x2F, 0x9B, 0x36, 0x50, 0xEE, 0x69, 0x28, 0x22, + 0xB5, 0xE1, 0x0C, 0x89, 0x3A, 0x2A, 0xC4, 0x32, 0xA2, 0x38, 0x32, 0x76, 0x56, 0x1D, 0x97, 0xCE, + 0x6A, 0xCA, 0x0B, 0x6E, 0xF4, 0x1D, 0x71, 0x83, 0x89, 0x5C, 0xB7, 0x9B, 0xCC, 0x30, 0xDB, 0x0A, + 0xA2, 0x38, 0xBE, 0x17, 0xA9, 0x59, 0xE4, 0x10, 0xF5, 0xC0, 0x2A, 0xA4, 0x5D, 0xA9, 0x27, 0xA0, + 0x47, 0x73, 0x6B, 0x46, 0xBB, 0xDC, 0x50, 0x5D, 0x78, 0x6D, 0xD7, 0x2F, 0x17, 0xBE, 0x29, 0xF9, + 0x34, 0xE4, 0x0C, 0xF4, 0xF8, 0xB7, 0x65, 0x12, 0x5A, 0x65, 0xAD, 0x55, 0xF4, 0x25, 0xDE, 0xEE, + 0xA3, 0xFC, 0x0F, 0xD2, 0xD7, 0xFA, 0x50, 0xEE, 0xC4, 0x60, 0x27, 0x27, 0x78, 0x05, 0xCB, 0xE4, + 0x8D, 0xC9, 0x32, 0x92, 0x80, 0xD3, 0x64, 0x06, 0x7C, 0x3A, 0x01, 0x9F, 0x85, 0xFE, 0xE7, 0x61, + 0x27, 0x76, 0x8C, 0xFD, 0xB1, 0x4F, 0x84, 0xF6, 0x55, 0xAD, 0x2D, 0x25, 0x33, 0x41, 0x43, 0x33, + 0xAE, 0x7E, 0x43, 0xF3, 0xCC, 0x81, 0x7D, 0xDF, 0xEB, 0xAE, 0x40, 0xFF, 0xE0, 0x2D, 0xFF, 0x80, + 0xFD, 0x65, 0xBB, 0x75, 0xA7, 0xB8, 0x54, 0x6F, 0x59, 0xF5, 0xBF, 0x7B, 0xB5, 0x6B, 0xB4, 0xA3, + 0xC4, 0xFC, 0x00, 0x92, 0x81, 0x66, 0xC6, 0x4D, 0x1E, 0xD5, 0xAB, 0xDE, 0x31, 0x6A, 0x64, 0x00, + 0x5A, 0x3D, 0xFA, 0x02, 0x5C, 0x42, 0x8C, 0x65, 0xA3, 0x56, 0x24, 0x29, 0x81, 0x79, 0xE9, 0xA8, + 0xE4, 0x82, 0x1E, 0xC7, 0x2D, 0x47, 0xD2, 0x32, 0x37, 0x7C, 0x48, 0x1A, 0x14, 0xC6, 0x2A, 0xA2, + 0xC4, 0xC0, 0x23, 0xAB, 0x11, 0xBA, 0xEB, 0xF1, 0x13, 0xBB, 0x7D, 0xB6, 0xD5, 0x89, 0x26, 0x78, + 0x47, 0x96, 0x46, 0x1D, 0x66, 0xF9, 0xC8, 0xFD, 0x7E, 0xC7, 0xEC, 0x01, 0x73, 0xE3, 0xF1, 0xA0, + 0x33, 0x0F, 0xE0, 0xC0, 0xD4, 0x6C, 0xF3, 0x9F, 0xD5, 0x0C, 0x34, 0xB3, 0x67, 0x38, 0xB3, 0x2E, + 0xC5, 0x60, 0x5B, 0xF5, 0xEB, 0x05, 0x5F, 0xE4, 0xEB, 0x7D, 0xEB, 0x9A, 0xA2, 0xAE, 0x4E, 0x3A, + 0x59, 0xDB, 0x2C, 0xF6, 0x40, 0xAD, 0xE0, 0x18, 0x1F, 0xDA, 0xBB, 0x6E, 0xAA, 0x42, 0xAB, 0xE7, + 0x73, 0x57, 0xE0, 0xF1, 0x46, 0x05, 0xF0, 0x09, 0x7C, 0x2C, 0x81, 0x5B, 0x67, 0xA1, 0x3B, 0x59, + 0x4A, 0xF3, 0x82, 0x71, 0x02, 0xF7, 0xFE, 0x84, 0xB4, 0xC1, 0x96, 0xA9, 0x13, 0x16, 0x9D, 0xDB, + 0x83, 0x20, 0x16, 0x50, 0xE3, 0xB4, 0x34, 0x5A, 0xDA, 0xDC, 0x52, 0x8D, 0xC9, 0xAA, 0xE2, 0x61, + 0xE9, 0x23, 0x8F, 0x34, 0xC4, 0xC6, 0xE2, 0xED, 0x11, 0xA7, 0x18, 0x43, 0xAD, 0x8C, 0x6C, 0x70, + 0x33, 0x72, 0x93, 0xEB, 0xC2, 0xAA, 0xE8, 0xB5, 0x17, 0x6A, 0xA6, 0x0A, 0x01, 0x07, 0xAE, 0xAA, + 0xED, 0x9C, 0x81, 0x3E, 0x29, 0x88, 0xDB, 0x1F, 0x71, 0xE0, 0x36, 0x67, 0x67, 0x55, 0xD7, 0xD8, + 0x63, 0x33, 0x4A, 0xB5, 0xB0, 0xA3, 0x12, 0xBA, 0x2E, 0x24, 0x95, 0xA1, 0x86, 0x43, 0x9D, 0x15, + 0x3E, 0xA5, 0x34, 0x42, 0x36, 0x9A, 0xD0, 0xD8, 0x72, 0xBF, 0x76, 0xC6, 0x5A, 0x5D, 0x40, 0x75, + 0xC0, 0x73, 0x5B, 0x22, 0x43, 0xA8, 0x90, 0xDD, 0xA2, 0x84, 0x83, 0x9F, 0x14, 0x72, 0xDA, 0xCD, + 0xF1, 0x07, 0xD4, 0x2F, 0xBF, 0xE0, 0xBA, 0x66, 0xA9, 0xBF, 0xDC, 0x15, 0x7B, 0xD2, 0x9E, 0x9C, + 0x5C, 0xE2, 0xDD, 0x28, 0x00, 0x1C, 0xC3, 0xFB, 0xB6, 0x06, 0x62, 0x5A, 0xDA, 0xC3, 0x84, 0x30, + 0xAA, 0x26, 0x08, 0x9A, 0xE9, 0xDE, 0xC1, 0x4B, 0x07, 0xA6, 0xBF, 0x18, 0xAC, 0xF4, 0x3C, 0xA0, + 0xC4, 0x35, 0xBF, 0x8B, 0x3C, 0x03, 0x56, 0xF2, 0xB8, 0x47, 0x95, 0x39, 0xB9, 0x8A, 0xA6, 0x91, + 0xD8, 0x38, 0x61, 0x57, 0x78, 0x6C, 0x50, 0x89, 0x2F, 0xC5, 0x03, 0x8E, 0x59, 0x92, 0xFB, 0xA1, + 0xD0, 0x70, 0xE0, 0xD9, 0x05, 0xD7, 0x0A, 0x3A, 0xC9, 0xC0, 0xD7, 0xE3, 0x4B, 0xEB, 0xA0, 0x53, + 0x49, 0xF9, 0x0F, 0x56, 0xCD, 0xF5, 0x4C, 0x87, 0x8E, 0x06, 0xF5, 0x67, 0x82, 0x8F, 0x91, 0x4C, + 0xC6, 0x66, 0x1B, 0x90, 0x7C, 0x95, 0xF5, 0x0D, 0xC9, 0x03, 0x88, 0xFA, 0x78, 0xEB, 0xBC, 0xAB, + 0xCB, 0x95, 0xBD, 0xD9, 0x57, 0x4F, 0xCF, 0xB4, 0xE7, 0x5D, 0x9F, 0xE8, 0x63, 0xFD, 0x24, 0x81, + 0xBC, 0x27, 0x2A, 0xFD, 0x82, 0xB8, 0xFA, 0x49, 0x3B, 0x78, 0xA4, 0xBF, 0x44, 0xD1, 0x80, 0x1C, + 0x5E, 0x6F, 0x44, 0xCD, 0x8E, 0x7E, 0x84, 0x0B, 0x48, 0x11, 0x22, 0xAD, 0x73, 0xC1, 0x2B, 0x78, + 0xA6, 0x5D, 0x88, 0xF0, 0x40, 0x9D, 0xC9, 0x27, 0x1D, 0xC1, 0x7B, 0x2F, 0x6F, 0xE4, 0x19, 0x6F, + 0xDF, 0x0B, 0xA8, 0xDE, 0xB9, 0x6A, 0x5B, 0x51, 0x82, 0x77, 0x9A, 0x3E, 0x54, 0xC0, 0xD8, 0x12, + 0xEF, 0x2D, 0x21, 0xE9, 0xC4, 0x2D, 0xBD, 0x53, 0xD4, 0x16, 0x0B, 0x1F, 0xB7, 0x0D, 0x18, 0x6E, + 0xE3, 0xA2, 0x3A, 0x5D, 0x7C, 0x30, 0x2C, 0x79, 0xFF, 0xAF, 0x2A, 0xAE, 0xAB, 0x55, 0xBA, 0x9D, + 0x68, 0x74, 0xBD, 0x7B, 0x06, 0x74, 0x68, 0x21, 0x11, 0x97, 0xD1, 0x6C, 0x8D, 0xC1, 0x66, 0x1A, + 0x50, 0x63, 0x62, 0x6A, 0x61, 0x83, 0x87, 0xF0, 0xAB, 0x02, 0x65, 0x55, 0x65, 0x02, 0xF6, 0x83, + 0xD1, 0xF1, 0x28, 0xD0, 0x54, 0x2C, 0x8F, 0xF2, 0xFC, 0xCE, 0xB7, 0x9F, 0xE3, 0x9A, 0xDA, 0x33, + 0x33, 0x23, 0xDC, 0xED, 0x11, 0x1E, 0x38, 0xEB, 0x64, 0x1A, 0x2A, 0x60, 0xF8, 0x8C, 0x4E, 0x74, + 0xF9, 0x27, 0xA9, 0x20, 0x30, 0xE7, 0x55, 0xE0, 0x7C, 0x0B, 0xAD, 0x94, 0x1A, 0x80, 0xC6, 0xFA, + 0x30, 0x8E, 0x7A, 0x7E, 0xA0, 0x60, 0xA9, 0x6B, 0x4D, 0xB5, 0xA5, 0x06, 0x7F, 0x13, 0x88, 0x64, + 0x70, 0x02, 0x8A, 0x8A, 0xE2, 0xE6, 0x1A, 0xE0, 0x03, 0xD5, 0x43, 0xFD, 0xA1, 0xFF, 0xC3, 0x1D, + 0x8C, 0x01, 0xED, 0x84, 0xEE, 0x6F, 0x47, 0xE9, 0xBA, 0xC0, 0xA4, 0x26, 0xF4, 0x83, 0xD3, 0x26, + 0xB1, 0xE1, 0xEC, 0x1D, 0xB6, 0xDB, 0xC6, 0x3B, 0xE1, 0xD8, 0x87, 0xC4, 0x7B, 0xE2, 0xE7, 0x65, + 0x9C, 0xCC, 0x89, 0x1C, 0x3A, 0xD7, 0x01, 0x11, 0x3C, 0x3E, 0x28, 0x09, 0xE7, 0x5F, 0xCB, 0xF9, + 0xC8, 0xA8, 0xAB, 0x09, 0x34, 0xD2, 0x5F, 0x85, 0x77, 0xE8, 0x6D, 0x96, 0xCD, 0x61, 0xFE, 0xB4, + 0xF9, 0x11, 0x7D, 0xD4, 0xA1, 0x49, 0x31, 0xF7, 0x8F, 0xEC, 0x75, 0x57, 0x17, 0xD2, 0xB2, 0xA9, + 0x88, 0x92, 0x3D, 0x91, 0x34, 0xA0, 0x90, 0x68, 0x7B, 0xF6, 0x71, 0x35, 0x78, 0x8D, 0x8D, 0x5E, + 0x69, 0xC8, 0xFC, 0x6F, 0xC0, 0x4E, 0x30, 0xB0, 0xBA, 0x6E, 0x44, 0x01, 0xAA, 0x73, 0xD6, 0xD1, + 0x0C, 0x59, 0x40, 0xCC, 0xF1, 0x09, 0x9B, 0xE3, 0x10, 0x54, 0x4F, 0xB0, 0x0B, 0xB0, 0x0E, 0x70, + 0xC3, 0xBF, 0x7C, 0xBD, 0x5C, 0xC2, 0xA8, 0x75, 0xEB, 0x3D, 0x49, 0x76, 0xD2, 0x5F, 0x29, 0x31, + 0xBC, 0x3C, 0xA2, 0x39, 0x9F, 0xDD, 0x53, 0x34, 0x31, 0xB0, 0x52, 0xC2, 0x07, 0x68, 0x81, 0xF1, + 0xBD, 0x76, 0x8D, 0xD9, 0x47, 0x22, 0x29, 0x9D, 0xD4, 0x67, 0x4F, 0x04, 0xCF, 0x6C, 0xA0, 0x15, + 0x4B, 0x32, 0x79, 0x95, 0xDD, 0xA4, 0x55, 0xA7, 0xA4, 0xFD, 0x24, 0x3D, 0x3C, 0xB5, 0x04, 0x41, + 0x23, 0x71, 0x0B, 0x32, 0xBC, 0xFE, 0xFA, 0x99, 0xF2, 0xCF, 0xE4, 0x83, 0xD7, 0x4D, 0x41, 0xDD, + 0xF6, 0xC5, 0x20, 0xF5, 0x2B, 0x0B, 0x7A, 0x4B, 0x0B, 0x2A, 0x38, 0x60, 0xE1, 0xF7, 0x81, 0x46, + 0xE4, 0x00, 0x2F, 0xBB, 0xB9, 0x45, 0xCD, 0x53, 0x1D, 0x1D, 0xAA, 0x49, 0x6A, 0xC7, 0x44, 0x8D, + 0x8B, 0x78, 0x58, 0xA7, 0xA4, 0x5A, 0xD2, 0x44, 0x8E, 0xD1, 0x72, 0x8D, 0x1F, 0xC9, 0x0E, 0x22, + 0x1A, 0x63, 0xC0, 0xC0, 0xE4, 0xE4, 0x1D, 0xA0, 0xA6, 0x65, 0x5B, 0x3E, 0x19, 0x05, 0xBB, 0x9A, + 0x48, 0x46, 0x1D, 0xA4, 0xCD, 0xDC, 0x5A, 0xB9, 0x52, 0xA2, 0xBC, 0x18, 0xC2, 0xC5, 0x77, 0xCE, + 0xD7, 0x30, 0xBA, 0x97, 0x02, 0x6E, 0x9F, 0x29, 0x10, 0xF6, 0xC1, 0xEB, 0x44, 0x21, 0x7D, 0x5F, + 0x46, 0xA9, 0x2F, 0x75, 0xDE, 0x94, 0x68, 0xEE, 0xF2, 0xF5, 0xAF, 0xDC, 0xB0, 0x3A, 0x32, 0xC4, + 0x8B, 0xF5, 0x60, 0xB6, 0xB0, 0xE7, 0xF4, 0xB4, 0xC1, 0x7F, 0x85, 0xB9, 0x30, 0x09, 0x42, 0xCA, + 0x97, 0xF1, 0x12, 0xCC, 0xE1, 0x92, 0x6E, 0xC1, 0xB1, 0x77, 0x19, 0xD4, 0xCF, 0xFB, 0xB5, 0x05, + 0x5F, 0x0E, 0x43, 0xBF, 0xBB, 0x3A, 0x73, 0x38, 0x1F, 0x48, 0x1C, 0xE0, 0xED, 0xDB, 0xDC, 0x3F, + 0x73, 0xD1, 0xC4, 0x8D, 0xBB, 0xCA, 0x70, 0x3F, 0xD0, 0x17, 0x77, 0x8B, 0x79, 0x43, 0xB5, 0xDD, + 0x50, 0xE9, 0x53, 0xCB, 0x77, 0x9B, 0xD2, 0xBC, 0x8B, 0x0D, 0xAB, 0xF1, 0xA2, 0x4A, 0x2C, 0xE3, + 0x5C, 0x5D, 0xD8, 0xE5, 0xC0, 0xB4, 0xA7, 0x6B, 0xAA, 0xF7, 0x41, 0x7B, 0x7D, 0xD5, 0xB0, 0xD9, + 0xC2, 0x1D, 0x87, 0xDB, 0xD3, 0xF9, 0x20, 0x73, 0x66, 0xC8, 0x01, 0xCD, 0x7D, 0x8C, 0xE4, 0xF2, + 0x81, 0x21, 0xAF, 0x9E, 0xC2, 0xCF, 0x65, 0xEA, 0xC3, 0x46, 0xCA, 0xB2, 0xC3, 0x8E, 0x60, 0x6D, + 0x13, 0xC5, 0x39, 0x88, 0x15, 0xDD, 0x4C, 0xC2, 0x3B, 0x20, 0xF6, 0xC0, 0x92, 0xC3, 0xBA, 0x86, + 0xE3, 0x2A, 0x9D, 0x81, 0x18, 0x0C, 0x53, 0xB6, 0x03, 0x4B, 0x62, 0x01, 0x17, 0x52, 0x66, 0x45, + 0xB6, 0x51, 0x79, 0x9A, 0x6C, 0xA8, 0xA2, 0xAA, 0x6C, 0x82, 0x76, 0x13, 0x71, 0x6F, 0xE7, 0x02, + 0x50, 0x2A, 0x5F, 0xAE, 0xFB, 0x11, 0x09, 0xDA, 0xA7, 0x0E, 0xB3, 0xC5, 0x49, 0x1F, 0x67, 0xD0, + 0x49, 0xAE, 0x54, 0x6A, 0x2E, 0x08, 0xA1, 0xF3, 0x08, 0xF0, 0x0E, 0x15, 0x96, 0xFE, 0xA1, 0x39, + 0xD8, 0x07, 0x3C, 0x6C, 0x9E, 0x2A, 0xF3, 0x85, 0xEA, 0xC5, 0xCC, 0x89, 0xEE, 0x7F, 0xD9, 0xA1, + 0x72, 0x42, 0x15, 0xAD, 0x10, 0x0F, 0xF3, 0x47, 0x4C, 0x24, 0x9D, 0x1D, 0x54, 0xA7, 0x5F, 0x51, + 0x20, 0x7E, 0xC2, 0x7D, 0x83, 0x47, 0xF2, 0x2B, 0x28, 0xFE, 0xEE, 0x79, 0x1D, 0xA3, 0xDD, 0x05, + 0x3D, 0x8A, 0x2B, 0xEF, 0x91, 0x9A, 0x2E, 0x4D, 0xF1, 0xB5, 0xC9, 0x84, 0x30, 0x78, 0x06, 0xB5, + 0x23, 0x38, 0xE2, 0x04, 0x0A, 0x0A, 0x26, 0x17, 0x67, 0xEF, 0x1C, 0x1E, 0x1E, 0xBE, 0xFF, 0xE6, + 0x07, 0xEF, 0x8C, 0x8E, 0xBF, 0x7E, 0xF3, 0x70, 0x74, 0xFE, 0xE3, 0x07, 0xB5, 0x0B, 0x3E, 0x97, + 0x10, 0x67, 0x56, 0x05, 0x2A, 0x00, 0x74, 0xB0, 0x15, 0xE0, 0xAF, 0xFE, 0x39, 0xF3, 0xEE, 0x13, + 0xC5, 0xBB, 0x8A, 0x40, 0xAD, 0xA1, 0x41, 0xAA, 0x76, 0x98, 0xD0, 0xB5, 0xCE, 0xA0, 0x1A, 0x74, + 0xA7, 0x09, 0x4B, 0xC0, 0x88, 0x7F, 0xD0, 0x4B, 0xB7, 0x1D, 0xAE, 0xAD, 0xE2, 0x7C, 0xEB, 0xEA, + 0xCD, 0x1F, 0xE0, 0x96, 0x12, 0xB4, 0x6A, 0x54, 0x3B, 0xED, 0xCF, 0x16, 0x59, 0x4F, 0x89, 0xA1, + 0x5F, 0x57, 0xE8, 0x99, 0x42, 0x38, 0xFC, 0x33, 0x10, 0xB7, 0x67, 0x24, 0x6E, 0x75, 0xB1, 0x1F, + 0x22, 0xEB, 0x0E, 0xC0, 0x41, 0x62, 0x6F, 0x2C, 0x09, 0x73, 0xFD, 0x91, 0xBD, 0xE8, 0x80, 0x0D, + 0xA7, 0x6F, 0xCE, 0x4F, 0x1F, 0x73, 0xE6, 0x7E, 0x2B, 0xD5, 0x11, 0x41, 0x35, 0xE4, 0x4B, 0xDD, + 0xF1, 0x52, 0x77, 0xF4, 0xEA, 0x8E, 0x2F, 0xA9, 0x37, 0xA2, 0x48, 0x0E, 0xE2, 0x79, 0xB1, 0x4E, + 0xE0, 0xF3, 0xDD, 0x69, 0x90, 0xD7, 0xEC, 0x00, 0x80, 0x85, 0x02, 0x7F, 0x8B, 0xA9, 0x6C, 0xA5, + 0x5A, 0xB0, 0x36, 0xB8, 0x5F, 0xB7, 0xFC, 0x2F, 0x2A, 0xF8, 0x9D, 0x8F, 0x9B, 0x5A, 0x77, 0x1B, + 0x95, 0xFC, 0x5B, 0xBB, 0x6A, 0xB3, 0xEA, 0xF4, 0x21, 0x86, 0x15, 0x01, 0xBB, 0x37, 0xCB, 0x8A, + 0xA0, 0x8F, 0x5E, 0xDA, 0x57, 0x2F, 0x75, 0xE4, 0x50, 0x1D, 0x79, 0x8F, 0xF6, 0xD5, 0xF6, 0xF8, + 0x6E, 0xA6, 0x08, 0x37, 0x3A, 0xD1, 0x71, 0x0F, 0x46, 0x16, 0x8D, 0xDF, 0x6B, 0x65, 0x51, 0xAB, + 0xFF, 0x8A, 0x99, 0xC5, 0x7A, 0xE4, 0xA5, 0xB1, 0xF5, 0x52, 0x91, 0x0C, 0x56, 0x24, 0xFF, 0x6F, + 0x63, 0xAB, 0xF1, 0x24, 0x56, 0xDB, 0x35, 0x9D, 0xF6, 0x2A, 0xB1, 0x32, 0x55, 0xE9, 0xA6, 0x0D, + 0x93, 0x62, 0xE6, 0xAD, 0x7B, 0xC1, 0x31, 0xA6, 0x8F, 0xEC, 0xEB, 0xD1, 0xEA, 0x79, 0xD5, 0xD3, + 0x14, 0x43, 0x6E, 0x0A, 0x20, 0xE5, 0x3D, 0xCD, 0x6D, 0x85, 0x98, 0x88, 0x55, 0x55, 0x59, 0xAE, + 0x49, 0x15, 0x9A, 0xD4, 0x96, 0x7D, 0xCF, 0x40, 0x3D, 0xA9, 0xA5, 0x3E, 0xFE, 0x9B, 0x72, 0x5B, + 0x86, 0x0A, 0xBD, 0x19, 0x2D, 0x50, 0x8E, 0x8D, 0x69, 0xE8, 0xCE, 0x1B, 0xB9, 0xEB, 0xA9, 0xCE, + 0xC1, 0x51, 0xC0, 0x61, 0xE3, 0x74, 0xBC, 0x9F, 0xCC, 0x1B, 0x77, 0x43, 0x6E, 0xC1, 0xB5, 0xAE, + 0xDF, 0x32, 0xA0, 0x5F, 0xFA, 0xA6, 0x8C, 0x6E, 0x5A, 0x40, 0x6C, 0x5D, 0x4D, 0xC2, 0xE3, 0x81, + 0x78, 0x04, 0x51, 0x49, 0xC3, 0xCA, 0x7F, 0x79, 0x9E, 0xD3, 0xF0, 0x42, 0x6F, 0xC5, 0xC4, 0x8F, + 0xFE, 0xD9, 0x20, 0x5B, 0x26, 0x61, 0x76, 0xCE, 0x68, 0x86, 0x8A, 0x37, 0xA1, 0xE2, 0x36, 0x24, + 0x6A, 0xE3, 0x09, 0x30, 0x6F, 0xFF, 0xC0, 0xB2, 0x00, 0xE9, 0xA4, 0x9A, 0x69, 0x4B, 0xC7, 0x3C, + 0x66, 0xA4, 0xE9, 0x42, 0x3E, 0x11, 0x64, 0x8E, 0x0D, 0x70, 0xBB, 0x00, 0x6A, 0xF8, 0xFA, 0x75, + 0x89, 0x95, 0xE3, 0x6E, 0x07, 0x16, 0x57, 0x75, 0x63, 0xA2, 0x46, 0xB0, 0x5D, 0xAB, 0x79, 0xD5, + 0xA4, 0xA0, 0xD9, 0x34, 0xAC, 0x66, 0xBE, 0xCF, 0xD7, 0x4F, 0xCA, 0x21, 0xB7, 0x5E, 0xD3, 0xAB, + 0xC7, 0xDA, 0xAE, 0xB6, 0xF9, 0x01, 0xB6, 0xCE, 0xB9, 0x5B, 0xBE, 0x1A, 0xEE, 0xF0, 0x05, 0x35, + 0x3B, 0x4A, 0xF7, 0xEC, 0xE0, 0xC9, 0x8F, 0x9D, 0x71, 0x18, 0x9C, 0x3A, 0x93, 0x65, 0x9D, 0x8B, + 0x90, 0x40, 0xC9, 0xCD, 0x8C, 0xF9, 0x01, 0xD3, 0x27, 0x2B, 0x43, 0x0F, 0x87, 0xF7, 0x1A, 0x86, + 0xEF, 0x2A, 0x40, 0x6F, 0x1E, 0xB6, 0x06, 0xFA, 0x3F, 0x5F, 0x9B, 0xC2, 0xB6, 0x26, 0xC1, 0x24, + 0xCC, 0x98, 0x76, 0xEC, 0xAC, 0x22, 0x4A, 0x66, 0x4A, 0xF4, 0x5E, 0x34, 0xD2, 0x02, 0x0E, 0xC8, + 0xB6, 0x9E, 0x3C, 0x37, 0xD3, 0x17, 0x8E, 0x07, 0xF9, 0x3F, 0x90, 0x28, 0x2E, 0xC1, 0xEA, 0x93, + 0xCE, 0xA9, 0x1E, 0x07, 0xAE, 0x72, 0x1D, 0xA7, 0x74, 0x72, 0x80, 0xAF, 0x98, 0x2D, 0x97, 0xC4, + 0xC3, 0x88, 0x85, 0x62, 0x49, 0x63, 0x8C, 0x96, 0xFC, 0x72, 0xDB, 0x18, 0x4E, 0x81, 0xCD, 0xD1, + 0x6F, 0x37, 0x37, 0x22, 0xF9, 0x35, 0xD4, 0x56, 0x91, 0x63, 0xCD, 0xA3, 0x41, 0xBD, 0x11, 0xE3, + 0x03, 0xE7, 0xDC, 0xEA, 0xBA, 0xE9, 0x6E, 0x1D, 0x07, 0x2E, 0x01, 0x70, 0xEB, 0x0D, 0x71, 0xFC, + 0x56, 0x7B, 0x92, 0xC5, 0x26, 0x72, 0x0E, 0x0F, 0xB5, 0x53, 0x3C, 0x2E, 0xF4, 0x63, 0x3B, 0xB9, + 0x84, 0x57, 0x02, 0x71, 0xA9, 0x10, 0x8C, 0x54, 0xDA, 0x4D, 0xF4, 0x9C, 0x4C, 0xDC, 0x44, 0x08, + 0xBC, 0xA3, 0x51, 0xE5, 0x9B, 0xA8, 0x47, 0xB6, 0xA2, 0x81, 0x53, 0x36, 0xAC, 0x90, 0xA8, 0xA9, + 0x98, 0xA9, 0xD2, 0x4D, 0x4A, 0xD2, 0xD2, 0x19, 0xD9, 0xF6, 0xB4, 0xFC, 0x97, 0x0D, 0xA6, 0x03, + 0x94, 0x56, 0x56, 0x7D, 0x25, 0x51, 0xB0, 0xC2, 0xF5, 0xC5, 0xC1, 0xCE, 0xB8, 0x4D, 0x17, 0xAA, + 0x73, 0x57, 0x23, 0xA5, 0xA5, 0x5F, 0x53, 0x85, 0x8B, 0x23, 0x00, 0x64, 0x8E, 0xAC, 0xE1, 0x49, + 0xBA, 0xC8, 0x28, 0xCC, 0x4D, 0x24, 0x9C, 0xE5, 0x8B, 0xF2, 0x8E, 0xCD, 0xBC, 0x7F, 0x60, 0x44, + 0x92, 0x5B, 0xB5, 0xB2, 0x7A, 0xD7, 0x01, 0xAF, 0x01, 0xBE, 0xD5, 0xD7, 0xD9, 0x4D, 0x40, 0xD5, + 0x7B, 0x7B, 0xE0, 0x2F, 0xA8, 0xB3, 0x58, 0xFB, 0x2E, 0x67, 0x39, 0xDC, 0xFD, 0x9C, 0x5F, 0x1F, + 0x4D, 0xBB, 0x8E, 0x84, 0xA3, 0x47, 0xC4, 0x2F, 0x6E, 0x1E, 0xD1, 0x3F, 0x4D, 0x84, 0xC7, 0x96, + 0xC0, 0xE0, 0xE3, 0x43, 0x01, 0xE6, 0xEE, 0x2F, 0x10, 0x34, 0x72, 0xB4, 0x50, 0x24, 0xEC, 0x0D, + 0xDE, 0xD0, 0x9C, 0xAF, 0x04, 0x83, 0x83, 0x51, 0xCF, 0xA5, 0x61, 0x29, 0xAD, 0x20, 0x1C, 0xC0, + 0x4C, 0x44, 0x53, 0xA2, 0x6E, 0x3B, 0x8D, 0xB7, 0xE0, 0x88, 0x04, 0x0B, 0x00, 0xE0, 0xB8, 0xEB, + 0x56, 0x1C, 0x01, 0xF7, 0x6C, 0x6D, 0xB4, 0xE6, 0x6F, 0xBD, 0xF3, 0xE6, 0x07, 0x6F, 0x1D, 0x1E, + 0x86, 0xC1, 0x9E, 0x6B, 0x0A, 0x78, 0xD3, 0x76, 0xD6, 0xA0, 0xF5, 0x9A, 0xFC, 0x8B, 0xEC, 0x51, + 0x7C, 0x3D, 0xE4, 0x72, 0x5D, 0x5A, 0x78, 0xEF, 0xFD, 0x02, 0x51, 0xC3, 0xED, 0x6F, 0x7B, 0x0B, + 0xB7, 0xE0, 0x7A, 0xE7, 0x7B, 0xBC, 0xF6, 0x16, 0x7E, 0x36, 0xD7, 0xD9, 0xEE, 0xB8, 0x98, 0x6C, + 0x7F, 0x57, 0x5C, 0xC3, 0x05, 0x71, 0x0E, 0xDC, 0xCA, 0x5D, 0x71, 0xE6, 0x4E, 0x18, 0x53, 0xDB, + 0x14, 0x5D, 0x83, 0x95, 0xAF, 0xB7, 0x63, 0xF8, 0x21, 0xC3, 0xEA, 0x0D, 0x14, 0x64, 0x53, 0x2E, + 0xD4, 0x24, 0x10, 0x95, 0x7C, 0x3A, 0xA2, 0x0C, 0xAD, 0xE8, 0x96, 0x5F, 0x44, 0x35, 0x26, 0x33, + 0x1C, 0xC6, 0xA5, 0x9F, 0xD5, 0x1D, 0x73, 0x1D, 0xBE, 0x7B, 0xAE, 0x8A, 0x21, 0xE0, 0x7C, 0x2E, + 0x1C, 0xB8, 0x05, 0xB3, 0x46, 0xC7, 0x1B, 0xF8, 0xDA, 0x33, 0xF3, 0xD2, 0x17, 0x83, 0x0A, 0xCE, + 0xBC, 0x6B, 0xF3, 0x1F, 0x7E, 0x25, 0x1E, 0x0C, 0xCC, 0x16, 0x8C, 0x98, 0xD7, 0x2F, 0xC1, 0x63, + 0x72, 0xF9, 0xCA, 0x21, 0x4A, 0x25, 0xCA, 0xA9, 0xD2, 0xA1, 0x44, 0x5F, 0x19, 0x63, 0xED, 0x3B, + 0x9C, 0xED, 0x86, 0x6B, 0xF5, 0x93, 0x35, 0x49, 0xB0, 0xA8, 0x0C, 0x5A, 0xB9, 0xD1, 0x6F, 0x8E, + 0x17, 0xD2, 0xC9, 0x75, 0x3A, 0xB3, 0x33, 0x02, 0xCB, 0x49, 0xED, 0x8F, 0xA8, 0xE3, 0x75, 0xBD, + 0x0E, 0x15, 0x61, 0x0A, 0xAE, 0xD5, 0x51, 0x7C, 0x09, 0x5B, 0x96, 0xA5, 0x98, 0x03, 0xD7, 0x12, + 0x8F, 0x89, 0x45, 0x18, 0xF8, 0x93, 0xC5, 0x9E, 0x0E, 0xF2, 0x64, 0x46, 0xD1, 0x89, 0xCB, 0x0D, + 0xA4, 0xED, 0x31, 0xD4, 0x7A, 0xDD, 0xFE, 0x6E, 0xC0, 0xD3, 0x94, 0x4C, 0x1E, 0xF7, 0x45, 0xFA, + 0x22, 0xF1, 0x5F, 0xC5, 0x54, 0xBB, 0xAF, 0xB9, 0x39, 0xF2, 0x52, 0xDF, 0x72, 0x6B, 0x87, 0xDD, + 0x09, 0x5A, 0xA4, 0x2A, 0x9E, 0x5A, 0x4E, 0x63, 0xCE, 0x4C, 0x98, 0xA3, 0x2B, 0x00, 0xAF, 0xC4, + 0x09, 0xAF, 0x80, 0x26, 0x0B, 0x40, 0x5F, 0xF7, 0x11, 0xFB, 0xB7, 0x45, 0xE0, 0xBC, 0x48, 0x2D, + 0x78, 0xFA, 0xD1, 0x2B, 0xD3, 0x3C, 0x57, 0x2F, 0xA8, 0xB6, 0x17, 0x46, 0xF7, 0xBE, 0x31, 0xC2, + 0x5C, 0x57, 0x30, 0xC1, 0x60, 0x99, 0x7F, 0x22, 0xBD, 0x4C, 0xBD, 0xEF, 0x0C, 0xDC, 0xC0, 0xDD, + 0x6F, 0x59, 0xDE, 0x53, 0x73, 0xF3, 0x09, 0x92, 0x07, 0x2B, 0x30, 0xD4, 0xC9, 0x10, 0x7A, 0x3D, + 0xB8, 0x28, 0x14, 0x8B, 0xD0, 0x69, 0x81, 0xCB, 0x14, 0x26, 0x3A, 0xDF, 0x80, 0x51, 0x94, 0xB1, + 0x7D, 0x37, 0x57, 0x60, 0x0F, 0xE2, 0x17, 0xB5, 0x86, 0x23, 0x73, 0x86, 0x6E, 0x3B, 0x8E, 0xC9, + 0x72, 0xCF, 0x5D, 0x1E, 0xC2, 0x41, 0x5E, 0x2A, 0x08, 0x06, 0x65, 0x8D, 0xE7, 0xC8, 0x33, 0xA9, + 0x99, 0x1B, 0xBC, 0xE3, 0x71, 0xEC, 0x50, 0xFD, 0xC0, 0x1B, 0x48, 0x92, 0x51, 0x67, 0x0C, 0xD2, + 0xA9, 0xAB, 0xC7, 0xF5, 0x7E, 0x4D, 0xBD, 0x8F, 0xAF, 0x72, 0xD0, 0xAB, 0x07, 0x8A, 0x10, 0x09, + 0x56, 0x73, 0x9A, 0xC8, 0x69, 0x42, 0xC7, 0xFD, 0xF5, 0xFE, 0x7F, 0x67, 0x0B, 0xB6, 0xC5, 0x5D, + 0xEC, 0xE4, 0x27, 0xF5, 0x5E, 0x86, 0x09, 0x8A, 0xEA, 0xFE, 0x2E, 0xC3, 0xDC, 0x56, 0x95, 0x0D, + 0xBD, 0x3A, 0xB3, 0xFE, 0x42, 0x9A, 0x86, 0x30, 0x57, 0x8F, 0xCB, 0xFE, 0x90, 0x36, 0x50, 0x48, + 0x39, 0x00, 0x6A, 0xDD, 0x31, 0x1C, 0xB8, 0xC1, 0x2F, 0xCB, 0xC9, 0x1C, 0x30, 0x57, 0x8E, 0xD0, + 0x3E, 0xAC, 0x6F, 0x4F, 0x00, 0x60, 0x0E, 0x21, 0x4C, 0x39, 0x25, 0x12, 0x29, 0x5E, 0x21, 0x23, + 0x36, 0x06, 0x62, 0x18, 0xEC, 0xA7, 0x0F, 0x4C, 0x94, 0xED, 0x0B, 0xFC, 0xDE, 0x9E, 0x3B, 0x85, + 0xF9, 0xC5, 0xE0, 0xD4, 0xC3, 0xFD, 0x3F, 0x7A, 0x00, 0xBC, 0xD5, 0x03, 0xC7, 0xC7, 0x8B, 0x9B, + 0xD7, 0xF6, 0x2A, 0x87, 0xCE, 0x5B, 0x2F, 0xF5, 0xC3, 0x21, 0x17, 0x01, 0xC1, 0xDC, 0x51, 0xEF, + 0x66, 0x29, 0x5D, 0x33, 0x5D, 0x67, 0x14, 0x83, 0x87, 0x15, 0x37, 0xA2, 0x92, 0x1F, 0x31, 0xF0, + 0x6E, 0x1D, 0xB1, 0x58, 0xA2, 0x54, 0xEB, 0x9B, 0x84, 0xC6, 0x18, 0xE1, 0x56, 0x66, 0xB9, 0xD1, + 0x34, 0xCA, 0x2C, 0x8E, 0x64, 0x0B, 0x9B, 0x56, 0x83, 0xAE, 0x8B, 0x12, 0x4F, 0xC2, 0x98, 0x88, + 0x10, 0x08, 0x2C, 0x6E, 0xD7, 0x37, 0x70, 0x1D, 0xC3, 0x01, 0x3F, 0x33, 0x38, 0x99, 0x03, 0x78, + 0xD8, 0x1A, 0x5E, 0x76, 0xD1, 0xF6, 0x62, 0x49, 0x3B, 0xF9, 0x27, 0xCE, 0xE8, 0xF4, 0xDE, 0xF5, + 0x2D, 0x8F, 0xA9, 0xD8, 0x9B, 0x8C, 0x3C, 0xFB, 0xDC, 0xDE, 0xA8, 0x94, 0xD2, 0x0D, 0x0D, 0x10, + 0x30, 0x83, 0x68, 0x8D, 0xE7, 0x82, 0xBC, 0xBE, 0x41, 0x84, 0xEC, 0x15, 0xEB, 0x18, 0x50, 0x2C, + 0xA3, 0x0E, 0xB3, 0x35, 0x5E, 0x46, 0xF7, 0x50, 0x7A, 0x51, 0x33, 0xF9, 0x1A, 0x7E, 0x7B, 0x56, + 0x64, 0xCF, 0x2C, 0x94, 0x67, 0x0A, 0xCA, 0x7D, 0x46, 0xD4, 0x1E, 0xF2, 0x10, 0x4F, 0x28, 0x22, + 0x03, 0x2C, 0xF1, 0xC7, 0x80, 0x55, 0xA1, 0xB3, 0x7B, 0x75, 0x37, 0x62, 0x01, 0x68, 0xC0, 0xF2, + 0xB7, 0x3C, 0x5D, 0xEA, 0x57, 0xCB, 0x9F, 0xCC, 0xEB, 0x0F, 0x73, 0x52, 0x0F, 0xF2, 0x41, 0xB3, + 0xDA, 0x70, 0x6E, 0x74, 0xD0, 0xB2, 0xE8, 0x0D, 0xB2, 0x05, 0x73, 0xB0, 0x7D, 0x98, 0xAB, 0x59, + 0x9B, 0xAB, 0x61, 0x7A, 0xAE, 0xE7, 0xD6, 0x6F, 0xEC, 0xBF, 0xC8, 0x18, 0xBD, 0xAF, 0xC8, 0x29, + 0x0A, 0x6B, 0x3F, 0xED, 0xED, 0x87, 0x2F, 0x14, 0x28, 0xF5, 0x46, 0xFF, 0x5E, 0xF6, 0xB1, 0x97, + 0x6A, 0x67, 0x8A, 0x79, 0xD8, 0xE5, 0x1A, 0x14, 0x72, 0xFD, 0x14, 0x6E, 0xC3, 0xBA, 0x42, 0xA3, + 0xE9, 0xE3, 0x43, 0x66, 0x23, 0x0D, 0x0D, 0xF9, 0x89, 0xA1, 0x3D, 0x23, 0x68, 0x7F, 0x03, 0x2B, + 0x11, 0x01, 0x34, 0x3B, 0x75, 0x2A, 0x7C, 0xB5, 0x7A, 0x0D, 0x57, 0x8A, 0xA3, 0x82, 0x52, 0x77, + 0x1E, 0xF9, 0x9A, 0x4C, 0x31, 0x8A, 0xBE, 0x4D, 0x9D, 0x75, 0xBB, 0xA7, 0x54, 0x06, 0x30, 0xCA, + 0x3F, 0x81, 0x8D, 0x92, 0x8D, 0x01, 0xD8, 0xF8, 0xF7, 0x10, 0xD6, 0xF5, 0xB1, 0xC2, 0x6A, 0x41, + 0x0B, 0xD5, 0x6B, 0x23, 0x58, 0x14, 0x54, 0x8F, 0x9A, 0x30, 0x4B, 0x7B, 0xD5, 0xE0, 0xDD, 0xC9, + 0x91, 0xD2, 0x9C, 0x83, 0xC5, 0xE9, 0x02, 0x93, 0x82, 0x41, 0xE8, 0x7C, 0x41, 0x11, 0x1A, 0x2A, + 0x3B, 0xA8, 0xD1, 0xE1, 0x1F, 0xE8, 0xB5, 0x8D, 0xBE, 0x8D, 0x9E, 0x51, 0xD7, 0xFB, 0x94, 0x0C, + 0x9A, 0xD1, 0x30, 0x99, 0x60, 0xF4, 0x8C, 0xF9, 0x11, 0x79, 0xC6, 0x87, 0x5E, 0x6B, 0x93, 0x90, + 0x61, 0x03, 0x13, 0xF7, 0x2A, 0x76, 0x64, 0x30, 0xCE, 0x0C, 0xF1, 0x65, 0xFF, 0x0C, 0xBB, 0x8E, + 0x9B, 0x10, 0x9D, 0xA0, 0x11, 0xBC, 0x88, 0x05, 0x4E, 0x77, 0xC4, 0x53, 0x00, 0xA3, 0x36, 0x98, + 0x1E, 0x13, 0xE6, 0xEE, 0xF5, 0xEC, 0xA6, 0xFC, 0x71, 0x9C, 0xC1, 0xA6, 0x48, 0x32, 0x10, 0x56, + 0x7E, 0xD8, 0x98, 0x4F, 0x66, 0xBA, 0xE7, 0x76, 0xBC, 0x62, 0xBA, 0xDF, 0x27, 0xBF, 0x98, 0xD9, + 0xBD, 0xE4, 0x99, 0xCD, 0xF6, 0x66, 0x8D, 0xA5, 0xD1, 0x28, 0xF6, 0x17, 0xAB, 0x56, 0x70, 0x81, + 0x06, 0x00, 0x2B, 0x53, 0xD3, 0xF9, 0x4B, 0x40, 0x41, 0x01, 0x6C, 0xFA, 0xB5, 0xBE, 0xDD, 0x77, + 0x9A, 0x8B, 0xDF, 0x45, 0x29, 0xAE, 0x16, 0x17, 0x42, 0xF0, 0xF4, 0xEC, 0xBC, 0xDB, 0xB8, 0x72, + 0x49, 0x9D, 0x46, 0xD4, 0xE9, 0x5E, 0x77, 0x71, 0x9A, 0x11, 0xA3, 0x88, 0x7D, 0x87, 0x71, 0x20, + 0xAF, 0x75, 0xDB, 0x86, 0x55, 0xDF, 0x46, 0x2D, 0x3B, 0x99, 0xBA, 0x4B, 0x1C, 0xD6, 0x01, 0x7B, + 0x6F, 0xFB, 0xEB, 0x70, 0x8C, 0xE1, 0x64, 0xA7, 0xEF, 0xFB, 0xD5, 0xD1, 0x76, 0xA0, 0xF2, 0x0C, + 0xEE, 0xC0, 0x16, 0x71, 0xB6, 0x7F, 0x9E, 0xB1, 0x74, 0x52, 0xA6, 0xB0, 0x40, 0x6A, 0x68, 0x9B, + 0xF1, 0xAF, 0x4F, 0x60, 0x4F, 0xF2, 0x3D, 0xBF, 0x2E, 0x58, 0x38, 0xA0, 0x75, 0xA9, 0xCB, 0x45, + 0x62, 0xC9, 0x43, 0x98, 0xE8, 0x17, 0x68, 0x86, 0x28, 0x41, 0xC0, 0x4F, 0x43, 0x97, 0x92, 0x70, + 0x05, 0xD1, 0x6B, 0xEE, 0xF7, 0xFD, 0x0E, 0x0F, 0x5B, 0x5A, 0x0F, 0xFB, 0x08, 0x61, 0x9F, 0x40, + 0x98, 0xE0, 0x37, 0xF2, 0xB5, 0xEF, 0xD2, 0xB0, 0x18, 0x20, 0xB7, 0xA8, 0xAB, 0xF1, 0x4D, 0x1D, + 0xA1, 0xFA, 0xB0, 0x81, 0xC8, 0x63, 0x8F, 0xEF, 0xB4, 0x9F, 0x42, 0x00, 0xEC, 0x57, 0x67, 0xA3, + 0xE9, 0x7B, 0x6F, 0xE4, 0xE7, 0x18, 0xD2, 0xE9, 0x17, 0x1C, 0x67, 0xA1, 0xCD, 0x44, 0x25, 0x1F, + 0x95, 0xAE, 0xAF, 0x78, 0xD4, 0xFB, 0x32, 0x14, 0xEE, 0xFF, 0x20, 0xC0, 0xAD, 0x4E, 0x0F, 0xFE, + 0xF4, 0xE7, 0x81, 0x42, 0xA0, 0x80, 0xB7, 0x72, 0x3E, 0x9C, 0xE1, 0x04, 0x56, 0xC3, 0xC4, 0x1C, + 0xEA, 0x1C, 0x9D, 0x4F, 0xB9, 0x03, 0x6E, 0xEF, 0x40, 0xC3, 0x15, 0x7F, 0xC5, 0x63, 0x5E, 0x75, + 0xCB, 0xA6, 0x9A, 0x60, 0x23, 0xFE, 0xD3, 0xD1, 0x03, 0x3F, 0x56, 0xA0, 0x11, 0x54, 0x64, 0x8A, + 0x74, 0xE4, 0x54, 0x2A, 0x90, 0xE6, 0x35, 0xA3, 0x11, 0xE6, 0xFC, 0xED, 0x91, 0xF7, 0x6E, 0x86, + 0xA1, 0x25, 0x1B, 0xC0, 0x2F, 0x3A, 0x24, 0xA9, 0xAF, 0x97, 0xA4, 0x2C, 0xDD, 0xA2, 0x1A, 0x06, + 0x6A, 0x5D, 0xB8, 0x22, 0xA3, 0x4D, 0x3F, 0xCB, 0xFD, 0xE8, 0xBF, 0xAE, 0x80, 0xC1, 0x50, 0x2F, + 0xE7, 0x0A, 0x42, 0xB3, 0x8B, 0x87, 0x68, 0x1D, 0x80, 0xC2, 0x2B, 0x0B, 0x0C, 0x13, 0x9B, 0x0C, + 0x0C, 0xE9, 0x3F, 0x75, 0x75, 0x6D, 0xBD, 0xB0, 0x05, 0xC3, 0xAC, 0x1A, 0x12, 0x2D, 0xDB, 0x10, + 0x28, 0x5D, 0x9C, 0xD4, 0x1F, 0x8B, 0x35, 0x51, 0x3B, 0x6B, 0x0A, 0xE9, 0xDB, 0x3E, 0x9A, 0x28, + 0x54, 0x27, 0xCA, 0xC2, 0xA3, 0x8A, 0xC9, 0x34, 0xF6, 0x5E, 0xD8, 0xBF, 0x41, 0x98, 0xEF, 0x48, + 0x31, 0x71, 0x13, 0x46, 0xB8, 0x0C, 0x75, 0xAC, 0xBC, 0x95, 0xDC, 0x38, 0xB8, 0xD9, 0x17, 0x98, + 0xED, 0xDC, 0xD1, 0x95, 0x96, 0xA4, 0x54, 0x1D, 0xBC, 0xFA, 0x1B, 0xFF, 0xBE, 0xA8, 0x1E, 0x28, + 0xF1, 0xEE, 0x54, 0x0E, 0x0D, 0xDC, 0x50, 0x5F, 0x51, 0xEE, 0x07, 0xB5, 0x41, 0xA2, 0xD2, 0x59, + 0x6B, 0xF4, 0xFA, 0x33, 0x95, 0x48, 0x76, 0x7F, 0x0B, 0xC3, 0xF0, 0x17, 0x48, 0x75, 0xE0, 0x8E, + 0xBB, 0xAA, 0x24, 0xF2, 0xF9, 0x1C, 0xFE, 0xC7, 0x8E, 0x12, 0x87, 0xEF, 0x1F, 0x56, 0x3A, 0x37, + 0x11, 0x0C, 0xFB, 0x3D, 0xD0, 0xB3, 0x6A, 0x5B, 0x2A, 0x92, 0x47, 0x8A, 0x87, 0x72, 0xAE, 0xD4, + 0xAD, 0x9E, 0xC3, 0x75, 0x69, 0x9D, 0x04, 0xA5, 0x95, 0x74, 0x6B, 0x24, 0x63, 0xAD, 0x54, 0xB0, + 0xDE, 0x5C, 0x15, 0x66, 0x05, 0x3F, 0x3A, 0x2F, 0x74, 0x85, 0xE1, 0x2B, 0x6F, 0xEF, 0xC2, 0xAF, + 0xD8, 0x72, 0x94, 0x97, 0xAE, 0xAC, 0xC1, 0xFF, 0x7B, 0xD7, 0x58, 0x92, 0x45, 0x9B, 0x3F, 0x65, + 0xD1, 0xF7, 0x31, 0x79, 0x27, 0xFC, 0x81, 0x72, 0x41, 0xB7, 0xBF, 0x1E, 0xA1, 0xCD, 0xB0, 0x8C, + 0x71, 0x3B, 0x2D, 0x93, 0x05, 0x6C, 0xFD, 0xE6, 0x64, 0x50, 0x5D, 0x7C, 0xBC, 0x41, 0x14, 0x6B, + 0xF3, 0x75, 0xC5, 0x8D, 0x77, 0x14, 0x77, 0x28, 0x1D, 0x1D, 0x4D, 0xF5, 0x20, 0x6A, 0x1E, 0x41, + 0xC1, 0xB3, 0xD2, 0xD6, 0xB4, 0x62, 0x44, 0x8D, 0x3D, 0x35, 0x9E, 0x0E, 0x10, 0x8A, 0x83, 0x5A, + 0x3D, 0xDB, 0xFE, 0x83, 0xE0, 0x8C, 0x67, 0xF7, 0x11, 0x63, 0xFB, 0x49, 0xF7, 0xF2, 0xA2, 0x5B, + 0xE3, 0x4E, 0x05, 0x2B, 0xFD, 0xCD, 0x92, 0xEB, 0x9D, 0xF9, 0x3A, 0x6E, 0xAF, 0xCE, 0xF5, 0x48, + 0xFC, 0x05, 0x30, 0x6F, 0xB6, 0x06, 0x5A, 0xA8, 0x53, 0x51, 0xDE, 0x32, 0xE2, 0xBE, 0x92, 0x63, + 0xCD, 0x88, 0xC4, 0xAD, 0x02, 0xFD, 0x33, 0x68, 0x01, 0xE7, 0x03, 0x9E, 0x9C, 0x1D, 0x07, 0x78, + 0x7F, 0x3D, 0xBE, 0x91, 0x6F, 0x09, 0xCC, 0x20, 0xDC, 0x72, 0x64, 0x45, 0x39, 0xB6, 0x42, 0xC0, + 0xF8, 0x50, 0xB6, 0x07, 0x67, 0xC5, 0xD4, 0x97, 0x20, 0x66, 0x68, 0x97, 0x29, 0x65, 0xF7, 0x30, + 0x3B, 0xC6, 0x75, 0x2C, 0x62, 0x01, 0xDF, 0x29, 0x59, 0x70, 0xE3, 0xBD, 0x2B, 0x53, 0xA3, 0xA5, + 0x2F, 0xB3, 0xB3, 0xB3, 0xEF, 0xA8, 0x5E, 0xB0, 0xC6, 0x05, 0x4F, 0x21, 0x9B, 0xD2, 0x3B, 0x3B, + 0xE7, 0xD6, 0x75, 0x61, 0xFE, 0xE2, 0x4C, 0x82, 0x57, 0x9C, 0xE1, 0x9F, 0x34, 0xB0, 0x05, 0x0F, + 0xD9, 0x42, 0x59, 0xDA, 0xE6, 0xC5, 0xA1, 0xC6, 0xCE, 0x32, 0xEF, 0x38, 0x33, 0x0A, 0xB3, 0x7A, + 0xF1, 0xB6, 0x47, 0x01, 0x7B, 0xD3, 0x72, 0xC4, 0x37, 0xE9, 0x69, 0x03, 0x20, 0x18, 0x8D, 0x82, + 0x78, 0x0C, 0x25, 0x0E, 0x10, 0xC5, 0x36, 0xB9, 0x39, 0xBB, 0xD6, 0xD5, 0x97, 0x04, 0xE0, 0xD4, + 0x94, 0x93, 0x62, 0x2B, 0x43, 0xCF, 0xF0, 0x1A, 0x27, 0x03, 0x92, 0xAB, 0x03, 0xCD, 0x88, 0xD0, + 0x6E, 0x0D, 0x83, 0x86, 0x9E, 0xB5, 0xE7, 0x2A, 0x1D, 0x8F, 0x2C, 0xC3, 0x74, 0x06, 0x94, 0xCF, + 0x20, 0xBE, 0x23, 0x74, 0xC8, 0xD7, 0xCC, 0x83, 0x4E, 0x63, 0x95, 0xA7, 0xE4, 0xFB, 0x10, 0xD5, + 0x5D, 0x47, 0xEF, 0x1E, 0x1E, 0x9A, 0xCE, 0xDB, 0x69, 0x17, 0x79, 0x77, 0xEA, 0xE5, 0xAC, 0x51, + 0xBD, 0xD8, 0xB7, 0x9D, 0xD7, 0xEC, 0x2C, 0x65, 0xE2, 0xA9, 0xE5, 0xA9, 0x6A, 0x08, 0xAE, 0xF5, + 0xCB, 0x3B, 0x5E, 0xEE, 0xA3, 0x4D, 0x7C, 0x3D, 0x95, 0x07, 0x01, 0xF9, 0x1E, 0x1F, 0x29, 0x26, + 0xFA, 0xA4, 0x53, 0x4D, 0x78, 0x0B, 0xF7, 0xC9, 0xF0, 0xCD, 0x40, 0x73, 0xAA, 0x26, 0xA0, 0x8A, + 0x91, 0x68, 0x3D, 0xD7, 0xE4, 0x50, 0x3A, 0xF0, 0xFC, 0x3B, 0x65, 0xE2, 0xA2, 0x55, 0xF0, 0x2C, + 0x93, 0x9B, 0xF7, 0x94, 0xB8, 0x3E, 0x0D, 0x66, 0xA5, 0x28, 0x17, 0x9B, 0xAB, 0x4B, 0x5B, 0xA0, + 0x9D, 0x5A, 0x5D, 0x8B, 0xAC, 0x03, 0xB0, 0x09, 0x5B, 0xB8, 0xA6, 0x0C, 0x0A, 0x8D, 0x6C, 0x02, + 0x55, 0x8E, 0x07, 0xC9, 0x7B, 0x1B, 0x8F, 0xDF, 0x4E, 0xDE, 0x9B, 0x6C, 0xA5, 0x6D, 0xE4, 0xBD, + 0x62, 0x5A, 0x55, 0x8C, 0x5D, 0x93, 0x03, 0xB4, 0x55, 0x60, 0x3E, 0x6A, 0x38, 0xE7, 0x21, 0xA2, + 0xEF, 0xC0, 0xAD, 0x6B, 0x81, 0x2D, 0x44, 0x3F, 0x38, 0xAA, 0x73, 0xD6, 0x00, 0xD9, 0x27, 0xDC, + 0xB7, 0x94, 0xFC, 0xFF, 0xB8, 0xE0, 0x1B, 0x16, 0xB2, 0xD6, 0x81, 0xF9, 0x69, 0x88, 0x99, 0xB0, + 0x91, 0xFC, 0xAB, 0xAB, 0xEB, 0xAC, 0x10, 0x99, 0x6D, 0x5C, 0x05, 0x44, 0xBB, 0x83, 0x34, 0x2E, + 0xC0, 0xBA, 0x7E, 0xA8, 0x71, 0x48, 0x25, 0x6A, 0x78, 0xDB, 0x44, 0x33, 0x47, 0xDB, 0x47, 0xF0, + 0x02, 0xCC, 0xFE, 0x2C, 0xF3, 0xE6, 0x81, 0xC5, 0xE0, 0x02, 0xCA, 0x7A, 0xA4, 0xBE, 0x1D, 0xD9, + 0x7F, 0xE1, 0x62, 0x5E, 0x4D, 0x37, 0x85, 0x96, 0x11, 0xEB, 0x24, 0xCC, 0x7A, 0xBB, 0xCB, 0xD0, + 0xD6, 0x6E, 0x39, 0x02, 0x61, 0xDE, 0x0E, 0x61, 0x35, 0x8D, 0x1A, 0xA7, 0x62, 0x52, 0x59, 0xC3, + 0x47, 0xCD, 0xBA, 0x47, 0x38, 0x6B, 0x08, 0x04, 0x47, 0xAA, 0x67, 0xC3, 0x32, 0x12, 0xFE, 0x16, + 0x11, 0x8F, 0xAB, 0x9B, 0x7A, 0x59, 0x4C, 0x39, 0x26, 0x5F, 0xAF, 0x9E, 0xB6, 0xB6, 0x48, 0x1D, + 0x37, 0xED, 0x53, 0x0C, 0xF5, 0x33, 0xF4, 0xA9, 0xA1, 0x53, 0xFA, 0x1B, 0x25, 0xFA, 0x87, 0x4A, + 0xE0, 0x3F, 0xE0, 0xF7, 0x4D, 0x0C, 0x29, 0x39, 0xEA, 0xF5, 0x2B, 0x6C, 0x24, 0x6F, 0x57, 0x9A, + 0x5D, 0xA5, 0xEE, 0x45, 0xF8, 0xC3, 0x5B, 0x97, 0xA2, 0xB5, 0xA4, 0xC7, 0x4D, 0xB8, 0xEF, 0xD5, + 0x96, 0xC8, 0x1E, 0xC9, 0x33, 0x99, 0xCD, 0x03, 0x4D, 0x98, 0x07, 0xB5, 0x73, 0x65, 0x07, 0x9A, + 0x0E, 0x9F, 0x3E, 0xA8, 0x9D, 0x33, 0x72, 0x94, 0x45, 0xB5, 0x60, 0xE2, 0x36, 0x7A, 0xC3, 0xCD, + 0xEF, 0x0F, 0x57, 0x1B, 0x6E, 0x0D, 0x1F, 0x56, 0xBB, 0x6E, 0xAA, 0x34, 0xFC, 0x71, 0x37, 0x56, + 0x18, 0x91, 0x57, 0x48, 0xB0, 0xB5, 0xB2, 0xE8, 0x14, 0x37, 0x6F, 0x8E, 0x50, 0x67, 0x5B, 0x3B, + 0x7A, 0xE7, 0xBE, 0xCF, 0xDC, 0x9B, 0x4E, 0x95, 0x89, 0xB5, 0x40, 0xD5, 0x37, 0xBD, 0x97, 0x92, + 0xE4, 0x4A, 0x52, 0xBD, 0x74, 0xA5, 0xB2, 0x04, 0x5A, 0x98, 0xEE, 0x5C, 0x82, 0x68, 0xB4, 0xDB, + 0x48, 0x11, 0xE5, 0x5B, 0x36, 0x17, 0x82, 0x01, 0x75, 0x02, 0x8D, 0xDC, 0x4F, 0xFD, 0xEE, 0x89, + 0xED, 0x09, 0x36, 0x72, 0x1F, 0x7F, 0x82, 0x7F, 0x5F, 0xF2, 0xEF, 0x26, 0xFC, 0xCB, 0x59, 0x58, + 0xA2, 0xDD, 0x3D, 0xF0, 0x2B, 0x41, 0xBF, 0x0D, 0xA7, 0xEA, 0x9A, 0x81, 0x8D, 0xED, 0xBC, 0xC1, + 0xD5, 0x0A, 0x8D, 0x1C, 0x6B, 0xFA, 0xDE, 0x13, 0xD7, 0x1A, 0xF8, 0xC4, 0x77, 0xF6, 0xDB, 0x1C, + 0x8D, 0xB3, 0x25, 0xD9, 0x65, 0x96, 0x93, 0x69, 0x71, 0x1A, 0x8D, 0xB2, 0xE0, 0x25, 0x77, 0x77, + 0x73, 0xB7, 0xAD, 0x75, 0x31, 0x34, 0xBE, 0x07, 0x2E, 0x37, 0xA3, 0x0C, 0xE0, 0x74, 0x9D, 0x06, + 0x97, 0xD6, 0xA8, 0x28, 0x32, 0xC5, 0xFA, 0xBD, 0x7A, 0x39, 0x78, 0xAA, 0xFB, 0x73, 0xAF, 0x5A, + 0x0E, 0x7D, 0x50, 0x09, 0xC4, 0x6B, 0xB2, 0x64, 0x18, 0xCF, 0x22, 0xE0, 0x77, 0xA7, 0x2A, 0xE3, + 0x19, 0x1D, 0x4D, 0x79, 0x06, 0x64, 0xDF, 0x9A, 0xED, 0x0D, 0xEB, 0xC0, 0x19, 0x55, 0x3A, 0xA4, + 0x34, 0x8B, 0xCC, 0xBB, 0xE6, 0xFD, 0xA3, 0x10, 0x4D, 0x4E, 0x87, 0xC1, 0xE4, 0xD6, 0xBE, 0x06, + 0x44, 0x03, 0x8D, 0x63, 0xD1, 0x59, 0x12, 0xE8, 0x31, 0x56, 0xC5, 0x3E, 0xF2, 0x71, 0xF2, 0xCA, + 0x2D, 0xC6, 0x9B, 0x6E, 0x45, 0x0A, 0xCA, 0xFD, 0x09, 0x0A, 0xA3, 0x6C, 0x44, 0xC3, 0x9B, 0x57, + 0x5B, 0xD1, 0x48, 0xB3, 0xE8, 0xD4, 0x0A, 0x7F, 0xEA, 0xD4, 0x6D, 0xF4, 0x13, 0xBC, 0x4D, 0xA4, + 0x26, 0x27, 0xF5, 0xFA, 0x98, 0x7E, 0x69, 0xF9, 0x3E, 0x95, 0x75, 0x79, 0xA1, 0xC0, 0xD6, 0x70, + 0x89, 0xB1, 0x30, 0xB8, 0xE7, 0x06, 0x52, 0x43, 0x1B, 0x84, 0x27, 0x3B, 0x23, 0x05, 0x4B, 0x9D, + 0x46, 0x75, 0x65, 0x07, 0x61, 0xDF, 0xDA, 0xD6, 0x09, 0x6E, 0x27, 0x3F, 0x65, 0x7A, 0xB7, 0x12, + 0x74, 0x1F, 0xEE, 0x7A, 0x59, 0x59, 0x8F, 0xCD, 0x64, 0x0A, 0x7B, 0xB0, 0x54, 0x31, 0xAC, 0x7F, + 0x58, 0xAE, 0x2C, 0x02, 0x2A, 0xC6, 0xDB, 0x27, 0x5B, 0x95, 0x1A, 0xB8, 0xBF, 0x53, 0xBE, 0xBC, + 0xA4, 0xF6, 0x1F, 0x2F, 0x3E, 0x7C, 0xE5, 0xC5, 0x2B, 0x7F, 0x01, 0x50, 0x4B, 0x03, 0x04, 0x14, + 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0xD0, 0x49, 0x56, 0x11, 0xBD, 0x01, 0x00, + 0x00, 0xBC, 0x02, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, + 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, + 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x6D, 0x65, 0x73, 0x73, 0x61, 0x67, 0x69, + 0x6E, 0x67, 0x2F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x2E, 0x6A, 0x73, 0x65, 0x92, 0x41, 0x6F, 0xD3, + 0x40, 0x10, 0x85, 0xEF, 0xF9, 0x15, 0x0F, 0x9F, 0x4A, 0xE5, 0xDA, 0x51, 0xC4, 0x85, 0xF6, 0x64, + 0xD2, 0x00, 0x16, 0xC5, 0x41, 0x71, 0x4A, 0xD5, 0x53, 0xB5, 0xB6, 0xC7, 0xCE, 0x20, 0x67, 0xD7, + 0xEC, 0xAE, 0x63, 0x22, 0xC4, 0x7F, 0x67, 0xB6, 0x0D, 0x88, 0x88, 0x93, 0xB5, 0x9E, 0x37, 0x6F, + 0xBE, 0x37, 0xBB, 0xE9, 0xE5, 0x2B, 0xB4, 0x6C, 0xA9, 0x52, 0x8E, 0xAE, 0x54, 0xB3, 0x67, 0x8D, + 0xC3, 0xDB, 0xE4, 0x4D, 0xB2, 0xC0, 0x65, 0x3A, 0x8B, 0x46, 0x47, 0x70, 0xDE, 0x72, 0xED, 0xA3, + 0x9B, 0x99, 0x48, 0x67, 0xB8, 0xC4, 0xD2, 0x0C, 0x47, 0xCB, 0xDD, 0xCE, 0x63, 0x31, 0x5F, 0xCC, + 0xF1, 0xC1, 0x98, 0xAE, 0x27, 0xE4, 0xBA, 0x4E, 0xA4, 0x1A, 0x04, 0x77, 0x5C, 0x93, 0x76, 0xD4, + 0x60, 0xD4, 0x0D, 0x59, 0xF8, 0x1D, 0x21, 0x1B, 0x54, 0x2D, 0x9F, 0x53, 0x25, 0xC6, 0x57, 0xB2, + 0x8E, 0x8D, 0xC6, 0x22, 0x99, 0xE3, 0x22, 0x08, 0xA2, 0x53, 0x29, 0x7A, 0x7D, 0x13, 0x2C, 0x8E, + 0x66, 0xC4, 0x5E, 0x1D, 0xA1, 0x8D, 0x87, 0x30, 0x88, 0x07, 0x3B, 0xC1, 0x94, 0x39, 0xF4, 0xA3, + 0xA6, 0xC1, 0x43, 0x30, 0x6B, 0xB3, 0x1F, 0x7A, 0x56, 0xBA, 0x26, 0x4C, 0xEC, 0x77, 0xA2, 0xF9, + 0x3B, 0x20, 0x09, 0x1E, 0x8F, 0x27, 0x0F, 0x53, 0x79, 0x25, 0x72, 0x25, 0x0D, 0x83, 0x9C, 0xDA, + 0x7F, 0x85, 0x50, 0xFE, 0x04, 0x0D, 0xEC, 0xBC, 0x1F, 0xAE, 0xD3, 0x74, 0x9A, 0xA6, 0x44, 0x3D, + 0xE3, 0x26, 0xC6, 0x76, 0x69, 0xFF, 0x22, 0x74, 0xE9, 0x5D, 0xBE, 0x5C, 0x15, 0xE5, 0xEA, 0x4A, + 0x90, 0x4F, 0x2D, 0xF7, 0xBA, 0x27, 0xE7, 0x60, 0xE9, 0xFB, 0xC8, 0x56, 0xE2, 0x56, 0x47, 0xA8, + 0x61, 0x90, 0x06, 0x55, 0x09, 0x68, 0xAF, 0x26, 0x18, 0x0B, 0xD5, 0x59, 0x92, 0x9A, 0x37, 0x01, + 0x79, 0xB2, 0xEC, 0x59, 0x77, 0x31, 0x9C, 0x69, 0xFD, 0xA4, 0x2C, 0x05, 0x9B, 0x86, 0xC3, 0x86, + 0xAB, 0xD1, 0xFF, 0xD9, 0xD8, 0x19, 0x20, 0xBB, 0x33, 0x81, 0x91, 0x20, 0x1A, 0x51, 0x56, 0x22, + 0x2F, 0x23, 0xBC, 0xCB, 0xCA, 0xBC, 0x8C, 0x83, 0xC9, 0x43, 0xBE, 0xFD, 0xB8, 0xBE, 0xDF, 0xE2, + 0x21, 0xDB, 0x6C, 0xB2, 0x62, 0x9B, 0xAF, 0x4A, 0xAC, 0x37, 0x58, 0xAE, 0x8B, 0xDB, 0x7C, 0x9B, + 0xAF, 0x0B, 0x39, 0xBD, 0x47, 0x56, 0x3C, 0xE2, 0x53, 0x5E, 0xDC, 0xC6, 0x20, 0x96, 0x11, 0x56, + 0x76, 0x39, 0x58, 0x49, 0x10, 0x30, 0x39, 0xEC, 0x92, 0x9A, 0xE7, 0xC5, 0x95, 0x44, 0x67, 0x08, + 0xAD, 0x79, 0x41, 0x72, 0x03, 0xD5, 0xDC, 0x72, 0x2D, 0xD1, 0x74, 0x37, 0xAA, 0x8E, 0xD0, 0x99, + 0x03, 0x59, 0x2D, 0x89, 0x30, 0x90, 0xDD, 0xB3, 0x0B, 0x77, 0xEA, 0x04, 0xB0, 0x09, 0x36, 0x3D, + 0xEF, 0xD9, 0x2B, 0x1F, 0x7E, 0xFD, 0x9F, 0x2B, 0x0C, 0x4A, 0x67, 0xEB, 0xEA, 0x1B, 0xD5, 0x3E, + 0x69, 0xA8, 0x65, 0x4D, 0x5F, 0xAC, 0x11, 0x17, 0x7F, 0xBC, 0x10, 0x2C, 0x63, 0xBD, 0x8B, 0x11, + 0x3D, 0x3D, 0x91, 0xFB, 0x6C, 0x9A, 0xB1, 0xA7, 0x28, 0xC6, 0x4F, 0x1C, 0x54, 0x3F, 0xD2, 0x35, + 0xBC, 0x1D, 0x09, 0xBF, 0xE4, 0xA1, 0xFC, 0x06, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, + 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0xEE, 0xF3, 0x58, 0x09, 0xDC, 0x06, 0x00, 0x00, 0x54, 0x15, + 0x00, 0x00, 0x4B, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, + 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, + 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x6D, 0x65, 0x73, 0x73, 0x61, 0x67, 0x69, 0x6E, 0x67, 0x2F, + 0x6D, 0x65, 0x73, 0x73, 0x61, 0x67, 0x69, 0x6E, 0x67, 0x2D, 0x61, 0x70, 0x69, 0x2D, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x2D, 0x69, 0x6E, 0x74, 0x65, 0x72, 0x6E, 0x61, 0x6C, 0x2E, 0x6A, + 0x73, 0xED, 0x58, 0x5B, 0x8F, 0xD2, 0x40, 0x14, 0x7E, 0xE7, 0x57, 0x1C, 0x79, 0x59, 0x50, 0x28, + 0x6A, 0x4C, 0x8C, 0xA0, 0x46, 0x64, 0xD1, 0x45, 0x5D, 0xD6, 0x00, 0xDE, 0x62, 0x0C, 0x19, 0xDA, + 0x81, 0x8E, 0x96, 0x4E, 0x9D, 0x99, 0x82, 0x68, 0xF8, 0xEF, 0x9E, 0x99, 0xE9, 0x85, 0x96, 0x05, + 0xD4, 0x44, 0x9F, 0x6C, 0x36, 0xA1, 0xED, 0x9C, 0xF9, 0xCE, 0x77, 0xEE, 0xD3, 0x6D, 0xDD, 0xBC, + 0x01, 0x73, 0x26, 0xE8, 0x8C, 0x48, 0xDA, 0x24, 0xDE, 0x92, 0x85, 0xB0, 0x7A, 0xE0, 0xDC, 0x73, + 0xEE, 0xC2, 0xCD, 0x56, 0xA5, 0x1A, 0x4B, 0x0A, 0x52, 0x09, 0xE6, 0xAA, 0x6A, 0xA7, 0x82, 0xA2, + 0x15, 0xB8, 0x09, 0x4F, 0x02, 0xE6, 0xD2, 0x50, 0x52, 0x7D, 0xDF, 0xE3, 0xD1, 0x46, 0xB0, 0x85, + 0xAF, 0xE0, 0xEE, 0xED, 0x3B, 0xF7, 0xE1, 0x39, 0xE7, 0x8B, 0x80, 0xC2, 0x20, 0x74, 0x1D, 0x5C, + 0xD5, 0x02, 0xAF, 0xAC, 0xAC, 0x07, 0x71, 0xE8, 0x51, 0x01, 0xCA, 0xA7, 0xD0, 0x8D, 0x88, 0x8B, + 0x3F, 0xC9, 0x4A, 0x03, 0xDE, 0x52, 0x21, 0x19, 0x0F, 0xE1, 0xAE, 0x73, 0x1B, 0x6A, 0x5A, 0xA0, + 0x9A, 0x2C, 0x55, 0xEB, 0x1D, 0x0D, 0xB1, 0xE1, 0x31, 0x2C, 0xC9, 0x06, 0x42, 0xAE, 0x00, 0xF9, + 0x20, 0x06, 0x93, 0x48, 0x19, 0xF5, 0xD0, 0x6F, 0x2E, 0x8D, 0x14, 0x20, 0x65, 0x97, 0x2F, 0xA3, + 0x80, 0x91, 0xD0, 0xA5, 0xB0, 0x66, 0xCA, 0x47, 0x99, 0x4C, 0x81, 0xA3, 0x31, 0x3E, 0x24, 0x18, + 0x7C, 0xA6, 0x08, 0x8A, 0x13, 0xDC, 0x10, 0xE1, 0xD3, 0x7C, 0x57, 0x10, 0x88, 0x4A, 0x48, 0x03, + 0xF8, 0x4A, 0x45, 0xED, 0x56, 0x6B, 0xBD, 0x5E, 0x3B, 0xC4, 0xD0, 0x75, 0xB8, 0x58, 0xB4, 0x12, + 0xC3, 0x65, 0xEB, 0xD5, 0xA0, 0xD7, 0x1F, 0x8E, 0xFB, 0x4D, 0xA4, 0x9C, 0x6C, 0x79, 0x13, 0x06, + 0x54, 0x4A, 0x10, 0xF4, 0x6B, 0xCC, 0x04, 0x9A, 0x3B, 0xDB, 0x00, 0x89, 0x22, 0xDC, 0x40, 0x66, + 0x48, 0x34, 0x20, 0x6B, 0xE0, 0x02, 0xC8, 0x42, 0x50, 0x5C, 0x53, 0x5C, 0x53, 0x5E, 0x0B, 0xA6, + 0x58, 0xB8, 0x68, 0x80, 0xE4, 0x73, 0xB5, 0x26, 0xC2, 0xF8, 0xD3, 0x63, 0xDA, 0xDB, 0xB3, 0x58, + 0xA5, 0x1E, 0x2B, 0x10, 0x64, 0xB2, 0x20, 0xC0, 0xD1, 0x90, 0x10, 0xAA, 0xDD, 0x31, 0x0C, 0xC6, + 0x55, 0x78, 0xDA, 0x1D, 0x0F, 0xC6, 0x0D, 0x0D, 0xF2, 0x6E, 0x30, 0xB9, 0xB8, 0x7A, 0x33, 0x81, + 0x77, 0xDD, 0xD1, 0xA8, 0x3B, 0x9C, 0x0C, 0xFA, 0x63, 0xB8, 0x1A, 0x41, 0xEF, 0x6A, 0x78, 0x3E, + 0x98, 0x0C, 0xAE, 0x86, 0xF8, 0xF4, 0x0C, 0xBA, 0xC3, 0x0F, 0xF0, 0x72, 0x30, 0x3C, 0x6F, 0x00, + 0x65, 0xA8, 0x42, 0xA0, 0x2F, 0x23, 0x81, 0x16, 0x68, 0x9A, 0x4C, 0xFB, 0x92, 0x7A, 0xC6, 0x71, + 0x63, 0x4A, 0x0B, 0x14, 0xE6, 0xDC, 0x52, 0x92, 0x11, 0x75, 0xD9, 0x9C, 0xB9, 0x68, 0x5A, 0xB8, + 0x88, 0xC9, 0x82, 0xC2, 0x82, 0xAF, 0xA8, 0x08, 0xD1, 0x22, 0x88, 0xA8, 0x58, 0x32, 0xA9, 0x63, + 0x2A, 0x91, 0xA0, 0xA7, 0x61, 0x02, 0xB6, 0x64, 0x8A, 0x28, 0xFD, 0x6A, 0xDF, 0x2E, 0xAD, 0xA8, + 0x55, 0xB9, 0x9A, 0x7D, 0xA6, 0xAE, 0x72, 0x3C, 0x3A, 0x67, 0x21, 0x7D, 0x2D, 0x38, 0xA2, 0xA8, + 0x4D, 0x0D, 0x69, 0x71, 0xA1, 0x64, 0x03, 0xAA, 0xD3, 0x29, 0x95, 0x97, 0xDC, 0x8B, 0x03, 0x5A, + 0x6D, 0xC0, 0x0F, 0x58, 0x91, 0x20, 0xA6, 0x6D, 0x50, 0x22, 0xA6, 0xB0, 0xC5, 0x44, 0x49, 0x04, + 0x9D, 0x67, 0x49, 0x2E, 0x5F, 0xA2, 0x31, 0x64, 0x81, 0x74, 0x46, 0x18, 0x12, 0x2A, 0xD5, 0x05, + 0x32, 0x09, 0x50, 0xEF, 0x23, 0x58, 0x71, 0xE6, 0xC1, 0xED, 0x4E, 0x65, 0x45, 0x04, 0xC6, 0x88, + 0x4D, 0x85, 0x15, 0x98, 0xDE, 0xC1, 0xB5, 0x24, 0x7E, 0xB5, 0xAA, 0xE3, 0xB4, 0x62, 0xC5, 0x02, + 0xD9, 0x42, 0x89, 0x66, 0x22, 0x51, 0xAD, 0xDB, 0x4D, 0xCB, 0x14, 0x7A, 0x4A, 0x85, 0xE0, 0x42, + 0x4E, 0x59, 0xA8, 0xD0, 0x74, 0x12, 0x94, 0x20, 0x5A, 0x99, 0x60, 0xD3, 0x0A, 0x36, 0x53, 0xC1, + 0x14, 0x69, 0x46, 0x94, 0xEB, 0xA7, 0x04, 0x0E, 0xC2, 0x18, 0xA9, 0x94, 0xC4, 0x1E, 0x06, 0x43, + 0x77, 0x7E, 0x3B, 0x40, 0xDE, 0xAC, 0x69, 0xC1, 0x56, 0x0B, 0x9E, 0xF5, 0x2E, 0x51, 0x9F, 0xFB, + 0x85, 0x86, 0x1E, 0xB8, 0x18, 0x07, 0x45, 0x42, 0x25, 0x0D, 0xC2, 0xB3, 0xC1, 0xA8, 0x8F, 0xD9, + 0xD3, 0x9F, 0x5E, 0xF6, 0xC7, 0xE3, 0xEE, 0xF3, 0xC1, 0xF0, 0xF9, 0x74, 0x32, 0xB8, 0xEC, 0x63, + 0x0A, 0x21, 0xE8, 0x9D, 0xDB, 0x78, 0x75, 0x0E, 0xC9, 0x3D, 0xED, 0x4E, 0x7A, 0x17, 0xD3, 0x37, + 0xA3, 0x57, 0x28, 0x79, 0xA6, 0x8B, 0x46, 0x62, 0xD5, 0xCC, 0xDD, 0xA5, 0xB3, 0x30, 0x9D, 0x00, + 0x9D, 0x27, 0x1D, 0xAC, 0x4D, 0x6B, 0xC2, 0xD9, 0x41, 0x98, 0x8B, 0xC9, 0xE4, 0x35, 0x3E, 0x62, + 0xDA, 0x9E, 0x6B, 0xA0, 0xD7, 0x57, 0xE3, 0xC9, 0x11, 0xE1, 0x7E, 0xF7, 0xBC, 0x3F, 0x1A, 0xA3, + 0xE0, 0x8F, 0x0A, 0xE0, 0x75, 0xF6, 0xBE, 0x99, 0x06, 0xBD, 0xD9, 0xC3, 0xC4, 0x0D, 0xD5, 0x59, + 0x1B, 0xAA, 0xD8, 0xD3, 0x92, 0x7E, 0xD6, 0x0C, 0xB9, 0x47, 0x5B, 0x55, 0xB8, 0x95, 0xBA, 0xCA, + 0x59, 0x50, 0x35, 0xF6, 0xBE, 0x24, 0x7D, 0xA7, 0x56, 0x6F, 0x54, 0xB6, 0x56, 0xD9, 0xAB, 0xFE, + 0xF3, 0x6E, 0xEF, 0xC3, 0xF4, 0xDF, 0xE8, 0x34, 0x30, 0xC4, 0x75, 0x31, 0x47, 0xA6, 0x8A, 0x63, + 0x58, 0xA6, 0x24, 0x56, 0x3E, 0xC2, 0x9C, 0xE9, 0x9C, 0x3E, 0x33, 0xA4, 0x5A, 0x37, 0x6F, 0x9A, + 0x2E, 0x1B, 0x10, 0x29, 0xB1, 0x62, 0x88, 0x82, 0x48, 0xF0, 0x15, 0xF3, 0x28, 0x16, 0x16, 0xA6, + 0xA1, 0xEB, 0x93, 0x90, 0xC9, 0xA5, 0x6E, 0x28, 0x52, 0x87, 0x35, 0x49, 0x11, 0x89, 0x2F, 0x4C, + 0x7D, 0xA5, 0x14, 0x11, 0x80, 0xC7, 0x1E, 0x64, 0x25, 0x91, 0xE6, 0x81, 0x29, 0x3C, 0x63, 0xF9, + 0xE9, 0xAA, 0x41, 0x2A, 0xF0, 0xC4, 0xD5, 0x44, 0x70, 0x0F, 0xD4, 0xE6, 0x71, 0xE8, 0xEA, 0x72, + 0x86, 0x5A, 0x3D, 0x71, 0x89, 0xE1, 0xAA, 0x2F, 0x94, 0x8B, 0x88, 0x20, 0x4B, 0xF8, 0x91, 0xA2, + 0x76, 0xA3, 0x68, 0xAB, 0xDB, 0x21, 0x4C, 0x7C, 0x6A, 0x7E, 0x63, 0x69, 0xDB, 0xE0, 0x9C, 0x62, + 0x5A, 0x80, 0x75, 0x02, 0x18, 0x27, 0x48, 0x63, 0x0C, 0x5B, 0x84, 0xD0, 0x7D, 0x3D, 0xC8, 0x0C, + 0x72, 0x32, 0x64, 0x93, 0xB9, 0x22, 0x76, 0x15, 0x17, 0xC9, 0xBB, 0x96, 0xF9, 0x4D, 0xF9, 0x9C, + 0xB2, 0xA4, 0x86, 0xEA, 0x0D, 0x63, 0x7B, 0x99, 0x61, 0xE2, 0xE8, 0xC4, 0xB5, 0x51, 0x44, 0x43, + 0x43, 0xBA, 0x2E, 0xB6, 0x05, 0xA7, 0x8B, 0x71, 0xE1, 0x82, 0x7D, 0xA7, 0xDE, 0x45, 0x26, 0x68, + 0x70, 0x3A, 0x45, 0x18, 0x93, 0xE4, 0xBB, 0x38, 0x07, 0xEB, 0xDB, 0x79, 0xAA, 0x17, 0x12, 0x66, + 0x09, 0x60, 0x89, 0x49, 0xE3, 0x68, 0xB9, 0x35, 0x8E, 0x14, 0x46, 0x42, 0x6B, 0x5B, 0x8E, 0xCA, + 0x20, 0x5C, 0xA1, 0x87, 0xA5, 0xC9, 0x8C, 0x84, 0x12, 0xF8, 0xD6, 0x2B, 0xD9, 0xD0, 0x4C, 0xF3, + 0xCB, 0xCB, 0x24, 0x3C, 0xA2, 0x48, 0xE2, 0xFE, 0xBD, 0xF8, 0x62, 0x24, 0xD0, 0xC1, 0x5B, 0xF0, + 0x39, 0x0A, 0x62, 0x6C, 0xCD, 0x8D, 0x0E, 0xE0, 0xDA, 0x67, 0xAE, 0x9F, 0xA6, 0xE5, 0xAE, 0x42, + 0xE7, 0x10, 0x44, 0x44, 0x94, 0xAF, 0x21, 0xCC, 0xCD, 0xEF, 0x41, 0x70, 0x33, 0x38, 0xB6, 0xE9, + 0xFA, 0x39, 0x12, 0xD6, 0x48, 0x05, 0x0B, 0xF2, 0x4D, 0x82, 0xAA, 0x58, 0x84, 0xF0, 0x03, 0x27, + 0x0C, 0x0E, 0x29, 0xFA, 0xD0, 0xEE, 0x7E, 0xBC, 0x85, 0x2E, 0x44, 0xF6, 0x95, 0x2D, 0x34, 0x1C, + 0x86, 0x3C, 0x58, 0x51, 0x99, 0xB9, 0x46, 0xBF, 0x89, 0xB8, 0x1D, 0x57, 0x79, 0xE2, 0x9D, 0xCA, + 0x37, 0x07, 0x41, 0x15, 0x57, 0x9B, 0x88, 0x3A, 0xCC, 0xF8, 0x7F, 0xAF, 0xB0, 0xF2, 0x4A, 0xD2, + 0xDE, 0x6B, 0x18, 0x07, 0x34, 0x76, 0x8D, 0xD9, 0x4D, 0x57, 0xAC, 0xD5, 0x74, 0x29, 0xE9, 0x45, + 0xF9, 0xB5, 0xA4, 0x98, 0xA6, 0x5E, 0xFB, 0x44, 0x7F, 0x6D, 0x14, 0xF6, 0xC4, 0x22, 0xC0, 0xBE, + 0x95, 0x34, 0x6E, 0xDD, 0xAF, 0x6C, 0x08, 0x6F, 0x19, 0x16, 0x05, 0x51, 0xE3, 0xC6, 0xF6, 0x2E, + 0xAF, 0xE2, 0xB2, 0x4F, 0x89, 0x87, 0xCD, 0xAD, 0x7D, 0xBA, 0x89, 0x16, 0xF7, 0x29, 0xB6, 0xA4, + 0x3C, 0x56, 0xED, 0x23, 0x53, 0x28, 0xDF, 0xB0, 0xCD, 0x2B, 0xCE, 0xC6, 0xB1, 0x5C, 0xBF, 0x8E, + 0xCE, 0x96, 0x5A, 0x42, 0xB2, 0xEE, 0x60, 0xD8, 0xC2, 0x9D, 0x56, 0x95, 0x46, 0xB0, 0x5E, 0xF2, + 0x1C, 0x4E, 0xC7, 0x31, 0xEE, 0xC3, 0x13, 0x66, 0xD8, 0x7C, 0x31, 0xBE, 0x1A, 0x66, 0xA1, 0xCE, + 0x3A, 0xA9, 0xAB, 0xEB, 0x15, 0x5B, 0xDD, 0x8C, 0x06, 0x7C, 0x8D, 0xB9, 0x49, 0x85, 0x39, 0x16, + 0x6D, 0x30, 0x3B, 0x82, 0x00, 0xDF, 0xE2, 0x39, 0x84, 0x12, 0x7D, 0x26, 0x23, 0x12, 0xEC, 0xAC, + 0x77, 0x0A, 0x1A, 0xD8, 0x1C, 0x6A, 0x37, 0xB2, 0x04, 0x62, 0xF2, 0x85, 0xD4, 0x43, 0x60, 0x97, + 0x47, 0xDE, 0x49, 0x04, 0x6A, 0xD8, 0x6F, 0x42, 0xBA, 0xF5, 0xF4, 0x35, 0x72, 0x6E, 0x45, 0xA7, + 0xB0, 0x79, 0x5B, 0x36, 0xA9, 0xE7, 0x53, 0xF7, 0x8B, 0x3E, 0xB0, 0xA5, 0xED, 0x3E, 0x61, 0x86, + 0x23, 0xE9, 0xBA, 0x7C, 0xCE, 0x33, 0xCC, 0xCA, 0xF5, 0x70, 0x82, 0xC1, 0xA3, 0xC3, 0x87, 0x1D, + 0x3B, 0xD3, 0xFA, 0xA9, 0x68, 0x2D, 0x83, 0xD3, 0x89, 0x92, 0x71, 0xCB, 0xCD, 0xCF, 0x40, 0xFF, + 0xAE, 0xD5, 0x23, 0x9B, 0x17, 0x98, 0x0B, 0x4C, 0x94, 0x6D, 0x2C, 0xE5, 0x4E, 0x81, 0x71, 0x0E, + 0xBB, 0xAD, 0x17, 0x84, 0x1D, 0x13, 0xFB, 0x2C, 0x8B, 0x8C, 0x21, 0xC6, 0x84, 0x7D, 0xFB, 0x80, + 0x99, 0x63, 0x95, 0x4B, 0xF9, 0xFC, 0x90, 0x1D, 0x07, 0x8D, 0x3F, 0xEA, 0x68, 0xD7, 0x64, 0x57, + 0xDA, 0x6A, 0x0C, 0x90, 0xD6, 0x77, 0xDA, 0x17, 0x4D, 0x83, 0x6D, 0xC2, 0x6D, 0x50, 0x35, 0x53, + 0xA6, 0x80, 0x04, 0x08, 0xE8, 0x6D, 0xB0, 0xFD, 0x4B, 0xDB, 0xF5, 0xCD, 0x71, 0x5B, 0xE7, 0xCA, + 0x92, 0x60, 0x83, 0xDD, 0x23, 0xA7, 0x37, 0xEF, 0x38, 0x28, 0x9D, 0x30, 0x9D, 0xD2, 0x88, 0x31, + 0x55, 0x64, 0x11, 0x17, 0x6C, 0x45, 0xF1, 0xF3, 0x44, 0x08, 0x62, 0x3E, 0xB3, 0x64, 0x3C, 0xCB, + 0x4F, 0x27, 0x04, 0xFF, 0x70, 0xC6, 0x87, 0x78, 0x40, 0xB4, 0x13, 0x12, 0xAB, 0x4C, 0x1F, 0x4F, + 0x1B, 0xFA, 0x6B, 0x01, 0xB0, 0xAB, 0xCB, 0x6C, 0x4A, 0xC9, 0x38, 0xD0, 0xDF, 0x77, 0x8A, 0x27, + 0x1A, 0x70, 0xA3, 0x1D, 0x9D, 0x49, 0xE8, 0xC0, 0xB6, 0xEF, 0x43, 0x03, 0x6A, 0x1C, 0xCF, 0x92, + 0x7E, 0xFB, 0xF1, 0xD3, 0x36, 0x27, 0xD0, 0x3D, 0xC0, 0x2C, 0x1D, 0x37, 0x87, 0xA7, 0x45, 0x41, + 0xF9, 0xB1, 0xA1, 0xE1, 0x53, 0x53, 0x64, 0x76, 0x7A, 0x69, 0xE7, 0x9A, 0x8F, 0x1F, 0xFC, 0x82, + 0xB3, 0x9F, 0xAA, 0x54, 0xFD, 0xF1, 0x18, 0xD1, 0x88, 0xBB, 0xC7, 0x87, 0xC2, 0x08, 0x49, 0x2D, + 0x29, 0xCF, 0x8C, 0xA9, 0xEE, 0x93, 0x28, 0xA9, 0x7F, 0xAE, 0xEF, 0xA1, 0x26, 0x10, 0xD7, 0x34, + 0x51, 0x59, 0xAC, 0x86, 0x43, 0x2D, 0x55, 0x6B, 0x3C, 0x56, 0x63, 0xD2, 0x59, 0x92, 0x68, 0x67, + 0x1F, 0x06, 0x48, 0x65, 0x5B, 0xF6, 0xB7, 0x4D, 0x2D, 0xA7, 0x98, 0x05, 0x9E, 0xCE, 0xA9, 0xD4, + 0xE3, 0x66, 0x5B, 0x39, 0xEB, 0xF1, 0x39, 0xBF, 0xFF, 0x65, 0x7E, 0xDA, 0x2B, 0x32, 0x36, 0x27, + 0xCF, 0x1E, 0x8F, 0xCD, 0x89, 0x2D, 0xE7, 0x8A, 0xFF, 0x5D, 0xC0, 0xDA, 0x2B, 0xC1, 0x20, 0xC2, + 0xAE, 0x55, 0x4E, 0xB2, 0xBB, 0xA3, 0xB5, 0x06, 0x34, 0x5C, 0x28, 0xBF, 0x73, 0x8D, 0x07, 0xF6, + 0x6D, 0xCC, 0xF5, 0xB4, 0xF3, 0xDB, 0x46, 0x59, 0xAA, 0x40, 0xAE, 0x5D, 0x78, 0xDA, 0x97, 0x9D, + 0x13, 0x16, 0xC4, 0x82, 0x9A, 0xD5, 0x1D, 0xD0, 0x84, 0x16, 0x34, 0x8F, 0x6C, 0xDF, 0xEE, 0x7A, + 0xEF, 0x7F, 0xAF, 0x3B, 0xDC, 0xEB, 0x7E, 0xB3, 0x4C, 0xF7, 0x72, 0xB7, 0x58, 0xA7, 0xC9, 0xCB, + 0x52, 0x9D, 0xDA, 0x8E, 0xB7, 0x77, 0xB4, 0x4B, 0xC3, 0x97, 0x87, 0xD6, 0x41, 0xDF, 0xAB, 0x18, + 0x2B, 0xFA, 0xD1, 0x23, 0xFC, 0xCF, 0xDB, 0xED, 0xD2, 0x09, 0x29, 0x0F, 0x94, 0xC5, 0x4B, 0x53, + 0xB5, 0x1C, 0x90, 0x64, 0xD5, 0x46, 0x83, 0x0E, 0x3C, 0xD4, 0x5B, 0x98, 0x89, 0x4E, 0x48, 0x96, + 0x74, 0xC7, 0x17, 0xD9, 0x1D, 0x0D, 0x24, 0xBD, 0x1E, 0xCB, 0x7A, 0xFE, 0xD1, 0x6F, 0x47, 0xF8, + 0x97, 0x46, 0xFF, 0x6E, 0xA5, 0x97, 0x9A, 0x58, 0xA2, 0x3F, 0x0B, 0x56, 0xB6, 0x72, 0xF2, 0x8B, + 0xB0, 0x53, 0xD9, 0xD6, 0xEA, 0xBF, 0xF5, 0x0F, 0xA4, 0x93, 0x80, 0x3F, 0x01, 0x50, 0x4B, 0x03, + 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0xCF, 0x51, 0xDC, 0xF7, 0x83, + 0x05, 0x00, 0x00, 0x46, 0x0F, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, + 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, + 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x6D, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x69, 0x6E, 0x67, 0x2F, 0x6D, 0x65, 0x73, 0x73, 0x61, 0x67, 0x69, 0x6E, 0x67, 0x2D, 0x65, + 0x72, 0x72, 0x6F, 0x72, 0x73, 0x2D, 0x69, 0x6E, 0x74, 0x65, 0x72, 0x6E, 0x61, 0x6C, 0x2E, 0x6A, + 0x73, 0xBD, 0x56, 0x5B, 0x93, 0xD2, 0x30, 0x14, 0x7E, 0xE7, 0x57, 0x1C, 0xFB, 0x20, 0xEC, 0x8A, + 0x65, 0xBD, 0x3D, 0xB8, 0xB8, 0x33, 0xD6, 0x15, 0x15, 0x5D, 0x8B, 0x03, 0xAC, 0x8E, 0xA3, 0x0E, + 0x13, 0x4A, 0xE8, 0x46, 0x4B, 0x52, 0x93, 0x14, 0x64, 0x94, 0xFF, 0xEE, 0x49, 0x1A, 0x7A, 0x01, + 0xBC, 0xCC, 0x3A, 0x23, 0x2F, 0x4C, 0x93, 0x73, 0xF9, 0xCE, 0xE5, 0x3B, 0x27, 0x9D, 0xE3, 0x1B, + 0x30, 0x67, 0x92, 0x4E, 0x89, 0xA2, 0xB7, 0xC9, 0x6C, 0xC1, 0x38, 0x2C, 0x1F, 0xFA, 0xF7, 0xFD, + 0xBB, 0x70, 0xDC, 0x69, 0x78, 0x99, 0xA2, 0xA0, 0xB4, 0x64, 0x91, 0xF6, 0xBA, 0x0D, 0x14, 0x6D, + 0xC0, 0x31, 0x9C, 0x8B, 0x74, 0x2D, 0x59, 0x7C, 0xA5, 0xE1, 0xEE, 0xC9, 0x9D, 0x87, 0xF0, 0x5C, + 0x88, 0x38, 0xA1, 0xD0, 0xE7, 0x91, 0x8F, 0xB7, 0x46, 0xE0, 0x82, 0x45, 0x94, 0x2B, 0x3A, 0x83, + 0x8C, 0xCF, 0xA8, 0x04, 0x7D, 0x45, 0x21, 0x48, 0x49, 0x84, 0x7F, 0xEE, 0xA6, 0x0D, 0x6F, 0xA9, + 0x54, 0x4C, 0x70, 0xB8, 0xEB, 0x9F, 0x40, 0xCB, 0x08, 0x78, 0xEE, 0xCA, 0x3B, 0xEA, 0x1A, 0x13, + 0x6B, 0x91, 0xC1, 0x82, 0xAC, 0x81, 0x0B, 0x0D, 0x88, 0x01, 0x6D, 0x30, 0x85, 0x30, 0xD1, 0x0F, + 0xFD, 0x16, 0xD1, 0x54, 0x03, 0xC2, 0x8C, 0xC4, 0x22, 0x4D, 0x18, 0xE1, 0x11, 0x85, 0x15, 0xD3, + 0x57, 0x28, 0x53, 0x38, 0xF0, 0x8D, 0x8D, 0xF7, 0xCE, 0x86, 0x98, 0x6A, 0x82, 0xE2, 0x04, 0x15, + 0x52, 0xFC, 0x9A, 0x57, 0x05, 0x81, 0x68, 0x07, 0x1A, 0xE0, 0x4A, 0xEB, 0xF4, 0xB4, 0xD3, 0x59, + 0xAD, 0x56, 0x3E, 0xB1, 0x70, 0x7D, 0x21, 0xE3, 0x4E, 0x92, 0x0B, 0xAA, 0xCE, 0x45, 0xFF, 0xBC, + 0x17, 0x8E, 0x7A, 0xB7, 0x11, 0xB2, 0x53, 0xB9, 0xE4, 0x09, 0x55, 0x0A, 0x24, 0xFD, 0x9A, 0x31, + 0x89, 0xE1, 0x4E, 0xD7, 0x40, 0xD2, 0x14, 0x15, 0xC8, 0x14, 0x81, 0x26, 0x64, 0x05, 0x42, 0x02, + 0x89, 0x25, 0xC5, 0x3B, 0x2D, 0x0C, 0xE4, 0x95, 0x64, 0x9A, 0xF1, 0xB8, 0x0D, 0x4A, 0xCC, 0xF5, + 0x8A, 0x48, 0x6A, 0xCC, 0xCC, 0x98, 0xC9, 0xF0, 0x34, 0xD3, 0xDB, 0x8C, 0xD5, 0x00, 0x32, 0x55, + 0x13, 0x10, 0x18, 0x08, 0x07, 0x2F, 0x18, 0x41, 0x7F, 0xE4, 0xC1, 0x93, 0x60, 0xD4, 0x1F, 0xB5, + 0x8D, 0x91, 0x77, 0xFD, 0xF1, 0x8B, 0xC1, 0xE5, 0x18, 0xDE, 0x05, 0xC3, 0x61, 0x10, 0x8E, 0xFB, + 0xBD, 0x11, 0x0C, 0x86, 0x70, 0x3E, 0x08, 0x9F, 0xF6, 0xC7, 0xFD, 0x41, 0x88, 0x5F, 0xCF, 0x20, + 0x08, 0xDF, 0xC3, 0xAB, 0x7E, 0xF8, 0xB4, 0x0D, 0x94, 0xA1, 0x0B, 0x89, 0xB9, 0x4C, 0x25, 0x46, + 0x60, 0x60, 0x32, 0x93, 0x4B, 0x3A, 0xB3, 0x89, 0x1B, 0x51, 0x5A, 0x83, 0x30, 0x17, 0x39, 0x24, + 0x95, 0xD2, 0x88, 0xCD, 0x59, 0x84, 0xA1, 0xF1, 0x38, 0x23, 0x31, 0x85, 0x58, 0x2C, 0xA9, 0xE4, + 0x18, 0x11, 0xA4, 0x54, 0x2E, 0x98, 0x32, 0x35, 0x55, 0x08, 0x70, 0x66, 0xCC, 0x24, 0x6C, 0xC1, + 0x34, 0xD1, 0xE6, 0x68, 0x3F, 0x2E, 0xE3, 0xA8, 0xD3, 0x18, 0x4C, 0x3F, 0xD3, 0x48, 0xFB, 0x33, + 0x3A, 0x67, 0x9C, 0xBE, 0x91, 0x02, 0xAD, 0xE8, 0x75, 0x0B, 0x61, 0x09, 0xA9, 0x55, 0x1B, 0xBC, + 0xC9, 0x84, 0xAA, 0xD7, 0x62, 0x96, 0x25, 0xD4, 0x6B, 0xC3, 0x77, 0x58, 0x92, 0x24, 0xA3, 0xA7, + 0xA0, 0x65, 0x46, 0x61, 0x83, 0x8D, 0xE2, 0x04, 0xFD, 0x98, 0xEA, 0x9E, 0x94, 0x42, 0x9E, 0x8B, + 0x19, 0x85, 0x33, 0xD8, 0x1E, 0x47, 0x92, 0x12, 0x4D, 0x9F, 0xB9, 0xE6, 0xB6, 0x12, 0x78, 0xBB, + 0x14, 0x6C, 0x06, 0x27, 0xDD, 0xC6, 0x92, 0x60, 0x02, 0xCC, 0xD9, 0xE4, 0x0E, 0x9E, 0xBA, 0x22, + 0xB6, 0x3C, 0xDF, 0xEF, 0x64, 0x9A, 0x25, 0xAA, 0x63, 0xEF, 0xBC, 0x23, 0x2B, 0x68, 0x3C, 0xB3, + 0x19, 0xD1, 0xD6, 0xC0, 0xBE, 0xA8, 0xBB, 0xCD, 0xC5, 0x3B, 0xC7, 0xC7, 0x96, 0x25, 0xD6, 0x39, + 0x26, 0x03, 0x38, 0x5D, 0xC1, 0x16, 0xC4, 0x6B, 0x4C, 0x37, 0x89, 0x31, 0x61, 0x39, 0x9A, 0xE9, + 0x1A, 0xC1, 0x6A, 0x49, 0x22, 0xD3, 0x15, 0x36, 0x3D, 0xD6, 0x2B, 0x76, 0xEA, 0x0C, 0x49, 0xB2, + 0xB0, 0xC2, 0xD4, 0xE4, 0x13, 0x84, 0x29, 0x18, 0xBA, 0x4E, 0xE8, 0x92, 0x70, 0x6D, 0xDB, 0x86, + 0x62, 0x5B, 0x27, 0xC8, 0x0A, 0x29, 0x16, 0xA6, 0x27, 0x5E, 0x8C, 0xC7, 0x6F, 0x9C, 0x3A, 0x16, + 0x35, 0x15, 0x2E, 0xC9, 0x46, 0xF4, 0x71, 0x4A, 0x24, 0x59, 0xC0, 0xF7, 0x17, 0xD8, 0xE1, 0xD6, + 0xF1, 0xC6, 0x08, 0xC2, 0x18, 0xFD, 0x15, 0x47, 0xD8, 0xA1, 0xE8, 0x96, 0x63, 0x3D, 0x0D, 0xB9, + 0xF0, 0x83, 0x14, 0xA0, 0x73, 0xAB, 0xD6, 0x90, 0xA4, 0x3A, 0x93, 0x1C, 0xBE, 0xEF, 0xC5, 0xE3, + 0xCC, 0x06, 0x3B, 0x4A, 0x18, 0x13, 0xD1, 0x10, 0x21, 0xBC, 0x29, 0x85, 0x5C, 0xD9, 0x92, 0xC1, + 0xC4, 0x6A, 0x88, 0x2D, 0xF3, 0x3E, 0x98, 0x67, 0x3C, 0x32, 0x8D, 0x02, 0x07, 0x4A, 0xD6, 0x42, + 0x43, 0x47, 0xF0, 0xBD, 0x01, 0xF8, 0x63, 0x73, 0x30, 0x9F, 0x7E, 0x11, 0x20, 0x53, 0x2F, 0x95, + 0xE0, 0xAD, 0x23, 0x2B, 0xE0, 0x7E, 0x9D, 0x0E, 0x3C, 0x43, 0xCF, 0x2F, 0x47, 0x83, 0xB0, 0xC8, + 0x84, 0xC2, 0x6C, 0x92, 0xD4, 0x7A, 0x45, 0xA7, 0x18, 0x64, 0x71, 0x03, 0x36, 0xD4, 0x08, 0x9B, + 0x9F, 0xEB, 0xDB, 0x8A, 0xCD, 0x1C, 0x70, 0xBF, 0x30, 0x67, 0xCA, 0xFF, 0x19, 0x9D, 0x60, 0xE5, + 0x6B, 0xAE, 0xB1, 0xE0, 0xA4, 0x5B, 0x93, 0xA2, 0x95, 0x1E, 0xAC, 0xB6, 0x64, 0xCB, 0xA8, 0x1F, + 0x1D, 0x90, 0xCD, 0xB3, 0xB7, 0x15, 0x2F, 0x4F, 0x76, 0x35, 0x5C, 0xE6, 0xB6, 0xED, 0xEA, 0x1F, + 0xCE, 0xBE, 0x6F, 0x3A, 0x61, 0x64, 0xA3, 0xCB, 0x13, 0x57, 0xE0, 0x69, 0x57, 0xDD, 0xE1, 0x57, + 0xC5, 0xFA, 0xA6, 0xE1, 0x52, 0x16, 0x0A, 0x7E, 0xBB, 0x96, 0xB2, 0x46, 0x0D, 0x6A, 0x2E, 0xAD, + 0x70, 0xD0, 0x46, 0x57, 0x3B, 0x35, 0x50, 0x48, 0xF2, 0x4C, 0x55, 0x2B, 0x10, 0x99, 0xFA, 0xDF, + 0x3F, 0x39, 0x39, 0xC5, 0x93, 0xF2, 0x47, 0x73, 0x02, 0x16, 0x51, 0x14, 0xE8, 0xCF, 0x4D, 0xF2, + 0xCB, 0x74, 0xF9, 0xFD, 0xF0, 0x6D, 0x70, 0xD1, 0x7F, 0x3A, 0x09, 0x86, 0xCF, 0x2F, 0x5F, 0xF7, + 0xC2, 0x71, 0xB7, 0x66, 0x66, 0x8A, 0x2D, 0xF2, 0xA5, 0xBB, 0xEB, 0xEB, 0xCE, 0xE9, 0xEE, 0xC9, + 0xBD, 0x6B, 0x7A, 0x0F, 0x2E, 0xC7, 0x2F, 0xD0, 0x69, 0xFF, 0x3C, 0x30, 0x83, 0x73, 0xD2, 0x1B, + 0x0E, 0x07, 0xC3, 0x3F, 0x23, 0x78, 0xF0, 0x0F, 0xD1, 0x8E, 0x7B, 0xC3, 0x30, 0xB8, 0xF8, 0x7B, + 0x4F, 0xD7, 0x8D, 0x6C, 0xD4, 0x1B, 0xBE, 0xED, 0x0D, 0x27, 0x97, 0x61, 0xF0, 0x36, 0xE8, 0x5F, + 0x04, 0x4F, 0x2E, 0x7A, 0xBF, 0xF5, 0x86, 0x53, 0x99, 0x64, 0x89, 0x76, 0xCE, 0x4A, 0x72, 0x8D, + 0x0D, 0x47, 0x81, 0xEF, 0xF6, 0x8B, 0xCA, 0xB7, 0x70, 0xC6, 0xE9, 0x37, 0xDC, 0x13, 0x66, 0x57, + 0xE5, 0x8D, 0x61, 0x86, 0x99, 0x99, 0x83, 0x66, 0x09, 0x7C, 0xE1, 0x62, 0xE5, 0xDA, 0x58, 0xF9, + 0xD7, 0x0B, 0xE2, 0x32, 0x7C, 0x15, 0x0E, 0xDE, 0xD5, 0xEA, 0xB2, 0x69, 0x94, 0x1C, 0x31, 0xD3, + 0xF6, 0x0F, 0x3C, 0x69, 0x15, 0x8D, 0x6A, 0xA1, 0x9D, 0x3A, 0xC2, 0xDB, 0x99, 0xBB, 0xBD, 0x71, + 0xB3, 0xB7, 0xB8, 0xDC, 0x8E, 0xE2, 0x5B, 0xE0, 0xC1, 0x90, 0xAC, 0x76, 0x86, 0x08, 0x8A, 0x7D, + 0xF4, 0x3C, 0xBC, 0xAC, 0xF1, 0x42, 0xE3, 0x68, 0x37, 0x0A, 0x1F, 0x3D, 0x1F, 0x46, 0x45, 0x2A, + 0x50, 0x16, 0x25, 0xAB, 0xB1, 0x1F, 0xA4, 0x93, 0x51, 0xF4, 0xBD, 0x23, 0x0B, 0xC8, 0xEE, 0xBA, + 0x4D, 0xE3, 0xF7, 0x6B, 0xED, 0xC0, 0xA9, 0xDB, 0x45, 0xE5, 0xFC, 0x17, 0x76, 0xDD, 0x6E, 0x0A, + 0xD8, 0x66, 0x03, 0xD4, 0x06, 0x21, 0x3E, 0x7A, 0xA2, 0x2F, 0x66, 0xDF, 0x6F, 0x6B, 0x54, 0x1B, + 0xFA, 0xE6, 0x15, 0xC2, 0xE3, 0x1F, 0x3C, 0x4B, 0x92, 0x8D, 0x55, 0x2D, 0x97, 0x95, 0x99, 0xCC, + 0xE6, 0x2D, 0x81, 0xA5, 0xEA, 0x82, 0x11, 0xC8, 0x17, 0xD6, 0x8A, 0x29, 0x5A, 0x9F, 0xF0, 0xF5, + 0xC1, 0xB8, 0xF5, 0x5D, 0x9D, 0xEF, 0xC5, 0x32, 0xC5, 0xE1, 0x8E, 0x43, 0x29, 0x44, 0x63, 0xF9, + 0x33, 0xA1, 0x22, 0x7D, 0xF3, 0x26, 0x34, 0xAD, 0xF3, 0xA6, 0x79, 0x55, 0xED, 0x58, 0x29, 0x67, + 0xAC, 0x4B, 0x4D, 0x91, 0xDA, 0xCA, 0x24, 0x3B, 0xE4, 0x6D, 0x64, 0xE3, 0xCB, 0xC7, 0x66, 0xB1, + 0x51, 0x76, 0x46, 0xF0, 0x8E, 0x89, 0xCD, 0x2F, 0x8D, 0x05, 0x52, 0x92, 0x75, 0x6E, 0xCB, 0x77, + 0xAB, 0xBA, 0xB0, 0x59, 0x05, 0x39, 0x8F, 0x16, 0x36, 0x1F, 0xE3, 0x75, 0x6A, 0x16, 0x41, 0x53, + 0xE3, 0xBF, 0x1F, 0xDB, 0x37, 0x35, 0x49, 0x19, 0x56, 0x5B, 0x2C, 0x3A, 0xF9, 0xA7, 0xBF, 0x7D, + 0xA6, 0xFB, 0xA8, 0xE3, 0x2F, 0xB1, 0xBD, 0x9D, 0x6A, 0xB3, 0x46, 0x63, 0x5B, 0xBE, 0x96, 0x31, + 0x3D, 0x61, 0x68, 0xF0, 0xA4, 0x0D, 0x13, 0x82, 0xFF, 0x35, 0x24, 0x5D, 0x73, 0xF7, 0x08, 0x2F, + 0xFC, 0x84, 0xF2, 0x58, 0x5F, 0x99, 0xEF, 0x5B, 0xB7, 0x76, 0xE0, 0x95, 0x79, 0x4C, 0xE8, 0x02, + 0x0B, 0x0B, 0x67, 0xA8, 0xF0, 0x61, 0xC2, 0x3E, 0x95, 0xEE, 0xAA, 0xC1, 0x3B, 0xA9, 0x0F, 0xCD, + 0xC7, 0x26, 0x84, 0xE6, 0x27, 0x38, 0x3B, 0x3B, 0xAB, 0x45, 0x57, 0x33, 0xBF, 0x9F, 0x59, 0xA7, + 0xEF, 0x17, 0x5B, 0xAB, 0x74, 0x53, 0x66, 0x7B, 0xFF, 0x6B, 0xBF, 0x0A, 0xCD, 0x9C, 0x41, 0xB6, + 0x35, 0xAC, 0xB1, 0xDF, 0x95, 0xD2, 0xD1, 0xED, 0x40, 0x45, 0x11, 0x90, 0xA2, 0xBF, 0xD4, 0x2C, + 0x67, 0x42, 0x45, 0x75, 0x6F, 0x1A, 0x59, 0x2A, 0x14, 0xDC, 0xDD, 0x7F, 0xA9, 0x56, 0x3F, 0x0B, + 0xB6, 0xF6, 0xF2, 0x17, 0xA1, 0x72, 0xFD, 0xEB, 0xDC, 0xD8, 0x77, 0x9E, 0x7D, 0xC0, 0xC4, 0x6C, + 0x49, 0x79, 0x49, 0xDB, 0x9C, 0xD4, 0xC8, 0xB2, 0xFF, 0x40, 0xF5, 0x1C, 0xCB, 0x35, 0xD8, 0x9E, + 0x4F, 0xE0, 0x7F, 0x21, 0xFC, 0x36, 0xCB, 0x87, 0x88, 0x5F, 0xBD, 0xDE, 0xB1, 0xD6, 0x5B, 0xA4, + 0x7A, 0xED, 0x88, 0x5D, 0xCC, 0x81, 0x5A, 0xFD, 0x4A, 0x56, 0x96, 0x65, 0x3B, 0x2C, 0xD9, 0xFD, + 0x75, 0x7D, 0x7F, 0x02, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, + 0x5A, 0x0B, 0x28, 0xAA, 0xA8, 0x7E, 0x64, 0x10, 0x00, 0x00, 0x4E, 0x5D, 0x00, 0x00, 0x3F, 0x00, + 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, + 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, + 0x62, 0x2F, 0x6D, 0x65, 0x73, 0x73, 0x61, 0x67, 0x69, 0x6E, 0x67, 0x2F, 0x6D, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x69, 0x6E, 0x67, 0x2D, 0x69, 0x6E, 0x74, 0x65, 0x72, 0x6E, 0x61, 0x6C, 0x2E, 0x6A, + 0x73, 0xED, 0x1C, 0x69, 0x77, 0xE2, 0x36, 0xF0, 0x7B, 0x7E, 0x85, 0x96, 0x1E, 0x90, 0x2D, 0x18, + 0x92, 0xDD, 0xED, 0x91, 0x34, 0x6D, 0x69, 0x8E, 0x96, 0xD7, 0x1C, 0xFB, 0x12, 0xB6, 0x7D, 0xDB, + 0x34, 0xA5, 0x02, 0x64, 0x70, 0xD7, 0xD8, 0xAE, 0x6D, 0x48, 0xE8, 0x96, 0xFE, 0xF6, 0xCE, 0x48, + 0xB2, 0x25, 0x1F, 0x80, 0x21, 0x59, 0x36, 0x7D, 0x6D, 0x3E, 0xC4, 0x58, 0x9A, 0x19, 0xCD, 0x8C, + 0x46, 0x73, 0xC8, 0xB2, 0xEB, 0x4F, 0x9F, 0x10, 0xD3, 0xF2, 0x59, 0x97, 0x06, 0xAC, 0x46, 0xFB, + 0x23, 0xCB, 0x21, 0x93, 0x2F, 0x8C, 0xE7, 0xC6, 0x2E, 0x79, 0x5A, 0xDF, 0x2A, 0x8D, 0x03, 0x46, + 0x82, 0xD0, 0xB7, 0x7A, 0x61, 0x69, 0x7F, 0x0B, 0x40, 0xB7, 0xC8, 0x53, 0x72, 0xE8, 0x7A, 0x53, + 0xDF, 0x1A, 0x0C, 0x43, 0xB2, 0xDB, 0xD8, 0x6D, 0x90, 0xEF, 0x5C, 0x77, 0x60, 0x33, 0xD2, 0x72, + 0x7A, 0x06, 0xF4, 0x22, 0xC0, 0xA9, 0xD5, 0x63, 0x4E, 0xC0, 0xFA, 0x64, 0xEC, 0xF4, 0x99, 0x4F, + 0xC2, 0x21, 0x23, 0x4D, 0x8F, 0xF6, 0xE0, 0x22, 0x7B, 0xAA, 0xE4, 0x47, 0xE6, 0x07, 0x96, 0xEB, + 0x90, 0x5D, 0xA3, 0x41, 0x2A, 0x08, 0x50, 0x92, 0x5D, 0xA5, 0xED, 0x7D, 0x24, 0x31, 0x75, 0xC7, + 0x64, 0x44, 0xA7, 0xC4, 0x71, 0x43, 0x02, 0x3C, 0x00, 0x0D, 0x2B, 0x00, 0x36, 0x61, 0x1C, 0x76, + 0xD7, 0x63, 0x5E, 0x48, 0x80, 0xCD, 0x9E, 0x3B, 0xF2, 0x6C, 0x8B, 0x3A, 0x3D, 0x46, 0x6E, 0xAD, + 0x70, 0x08, 0x30, 0xF1, 0x00, 0x06, 0xD2, 0x78, 0x2D, 0x69, 0xB8, 0xDD, 0x90, 0x02, 0x38, 0x05, + 0x04, 0x0F, 0xEE, 0x4C, 0x1D, 0x90, 0xD0, 0x50, 0x32, 0x4D, 0xC8, 0x30, 0x0C, 0xBD, 0xBD, 0x7A, + 0xFD, 0xF6, 0xF6, 0xD6, 0xA0, 0x9C, 0x5D, 0xC3, 0xF5, 0x07, 0x75, 0x5B, 0x00, 0x06, 0xF5, 0xD3, + 0xD6, 0xE1, 0xF1, 0xF9, 0xD5, 0x71, 0x0D, 0x58, 0x96, 0x28, 0xAF, 0x1C, 0x9B, 0x05, 0x01, 0xF1, + 0xD9, 0x1F, 0x63, 0xCB, 0x07, 0x71, 0xBB, 0x53, 0x42, 0x3D, 0x0F, 0x10, 0x68, 0x17, 0x18, 0xB5, + 0xE9, 0x2D, 0x71, 0x7D, 0x42, 0x07, 0x3E, 0x83, 0xBE, 0xD0, 0x45, 0x96, 0x6F, 0x7D, 0x2B, 0xB4, + 0x9C, 0x41, 0x95, 0x04, 0xAE, 0x19, 0xDE, 0x52, 0x9F, 0x21, 0x99, 0xBE, 0x85, 0x1A, 0xEE, 0x8E, + 0xC3, 0x48, 0x63, 0x09, 0x06, 0xAD, 0x20, 0x01, 0xE0, 0x82, 0x20, 0x0E, 0x29, 0x35, 0xAF, 0x48, + 0xEB, 0xAA, 0x44, 0xBE, 0x6D, 0x5E, 0xB5, 0xAE, 0xAA, 0x48, 0xE4, 0xA7, 0x56, 0xFB, 0xFB, 0x8B, + 0x57, 0x6D, 0xF2, 0x53, 0xF3, 0xF2, 0xB2, 0x79, 0xDE, 0x6E, 0x1D, 0x5F, 0x91, 0x8B, 0x4B, 0x72, + 0x78, 0x71, 0x7E, 0xD4, 0x6A, 0xB7, 0x2E, 0xCE, 0xE1, 0xEE, 0x84, 0x34, 0xCF, 0x5F, 0x93, 0x1F, + 0x5A, 0xE7, 0x47, 0x55, 0xC2, 0x2C, 0x18, 0xC2, 0x07, 0x5D, 0x7A, 0x3E, 0x48, 0x80, 0x6C, 0x5A, + 0xA8, 0x4B, 0xD6, 0xE7, 0x8A, 0xBB, 0x62, 0x2C, 0xC1, 0x82, 0xE9, 0x0A, 0x96, 0x02, 0x8F, 0xF5, + 0x2C, 0xD3, 0xEA, 0x81, 0x68, 0xCE, 0x60, 0x4C, 0x07, 0x8C, 0x0C, 0xDC, 0x09, 0xF3, 0x1D, 0x90, + 0x88, 0x78, 0xCC, 0x1F, 0x59, 0x01, 0xCE, 0x69, 0x00, 0x0C, 0xF6, 0x91, 0x8C, 0x6D, 0x8D, 0xAC, + 0x90, 0x86, 0xD8, 0x94, 0x95, 0x0B, 0x07, 0xAA, 0x6F, 0x5D, 0x74, 0x7F, 0x67, 0xBD, 0xD0, 0xE8, + 0x33, 0xD3, 0x72, 0xD8, 0x4B, 0xDF, 0x05, 0x2A, 0xE1, 0xB4, 0x02, 0x6C, 0xB9, 0x7E, 0x18, 0x54, + 0x49, 0xA9, 0xD3, 0x61, 0xC1, 0x99, 0xDB, 0x1F, 0xDB, 0xAC, 0x54, 0x25, 0x6F, 0xC9, 0x84, 0xDA, + 0x63, 0xB6, 0x47, 0x42, 0x7F, 0xCC, 0xC8, 0x0C, 0x0C, 0x45, 0x02, 0x1A, 0xD0, 0x6E, 0xF5, 0x69, + 0xC8, 0xCE, 0x40, 0x18, 0x64, 0xEB, 0x80, 0x44, 0x3D, 0xDF, 0x9E, 0x36, 0x0F, 0x7F, 0x38, 0x6D, + 0x5D, 0xB5, 0x8F, 0x8F, 0x3A, 0x17, 0x2F, 0xB9, 0x26, 0x3A, 0x3F, 0x1C, 0xBF, 0xBE, 0x9A, 0x03, + 0x72, 0xD4, 0x6C, 0x37, 0x3B, 0x2F, 0x9B, 0xAF, 0x4F, 0x2F, 0x9A, 0x47, 0x11, 0xDC, 0xC4, 0xB5, + 0xFA, 0xA4, 0xB1, 0xBF, 0x35, 0xA1, 0xA0, 0x25, 0x10, 0xE3, 0xAE, 0xB3, 0x03, 0xAD, 0x72, 0xD2, + 0x2B, 0x25, 0xC3, 0xA8, 0x8F, 0x43, 0xCB, 0x0E, 0xEA, 0xBC, 0xAF, 0xB4, 0x2D, 0x00, 0x99, 0xEF, + 0xBB, 0xFE, 0x1C, 0x40, 0xDE, 0x17, 0x01, 0x4A, 0xD6, 0x5D, 0x3F, 0x17, 0x54, 0xF6, 0x0A, 0xF0, + 0x7A, 0x9D, 0xFC, 0xC0, 0xA6, 0x01, 0xB9, 0x1D, 0x5A, 0xBD, 0x21, 0x01, 0xE3, 0xE1, 0xAB, 0x83, + 0xDA, 0xB6, 0x7B, 0xCB, 0xFA, 0xC0, 0x1A, 0x57, 0xEF, 0x88, 0xAB, 0x00, 0x67, 0x04, 0xF0, 0x28, + 0xF1, 0xE8, 0xD4, 0x76, 0x29, 0x98, 0x8D, 0x50, 0xF4, 0x56, 0x51, 0xA1, 0xAF, 0xCB, 0xA6, 0xEF, + 0x8E, 0xCA, 0x37, 0x2B, 0x8F, 0xEA, 0x7A, 0x7C, 0xC2, 0xE3, 0x01, 0x0B, 0x4C, 0xC4, 0xF5, 0x16, + 0x81, 0xBF, 0x72, 0xCF, 0x75, 0xFA, 0x16, 0x22, 0x97, 0xAB, 0xA4, 0x8C, 0xCC, 0xE3, 0x15, 0xC6, + 0x42, 0x8B, 0xA3, 0x51, 0xBB, 0xCF, 0x06, 0xB8, 0x18, 0xF8, 0x7D, 0xAB, 0x1F, 0xA4, 0x9B, 0x3A, + 0x96, 0x68, 0x0B, 0xDD, 0x72, 0x75, 0x0B, 0x99, 0x7F, 0xCA, 0x17, 0xEA, 0xE1, 0x90, 0xF5, 0xDE, + 0x04, 0xC4, 0x12, 0x4B, 0x7F, 0x60, 0x4D, 0x98, 0x43, 0xA4, 0xAD, 0x48, 0x46, 0x61, 0x99, 0x89, + 0xA9, 0x30, 0xC8, 0x25, 0xEB, 0x8D, 0xFD, 0x00, 0x60, 0xEC, 0x69, 0x34, 0x3B, 0x2C, 0x40, 0x81, + 0x39, 0x72, 0x6F, 0x68, 0xD9, 0x91, 0x3A, 0x03, 0xA4, 0x6D, 0x39, 0x3D, 0x7B, 0xDC, 0xD7, 0x54, + 0x21, 0xE9, 0x56, 0x60, 0x15, 0xF8, 0x60, 0x3A, 0x55, 0xF0, 0x09, 0x4E, 0x50, 0x15, 0xD3, 0xC1, + 0xC2, 0x9E, 0xB1, 0x6D, 0x90, 0x96, 0x49, 0x82, 0x71, 0xAF, 0x07, 0x90, 0xE6, 0xD8, 0xAE, 0x12, + 0x60, 0xDE, 0x09, 0x60, 0x91, 0x8D, 0x02, 0x9D, 0x82, 0x20, 0x4E, 0x3C, 0x9B, 0xF6, 0x18, 0xBA, + 0x16, 0x9F, 0x39, 0x74, 0x04, 0x2A, 0xE6, 0x30, 0x6F, 0x70, 0x4A, 0x42, 0x17, 0x66, 0x85, 0x86, + 0xE5, 0x00, 0x6D, 0x19, 0xF8, 0xE1, 0x2E, 0x08, 0xBB, 0x01, 0x76, 0xE4, 0x86, 0x8C, 0x9C, 0x1C, + 0x9E, 0x91, 0x80, 0xF9, 0x13, 0x58, 0x72, 0x91, 0x6F, 0xFE, 0xC6, 0xA3, 0x3E, 0x1D, 0x91, 0xB7, + 0x52, 0xFC, 0x59, 0xAC, 0x87, 0xA6, 0x23, 0xA5, 0x42, 0xB2, 0x5D, 0x16, 0x8B, 0xDE, 0x17, 0x2B, + 0xD5, 0x1C, 0x3B, 0x3D, 0xD4, 0x30, 0x49, 0xAD, 0xB5, 0x8A, 0xE4, 0x76, 0x9B, 0xBC, 0xC5, 0x69, + 0x44, 0x1D, 0x57, 0x9E, 0xC4, 0x66, 0x6B, 0x58, 0xC1, 0xB9, 0xEB, 0x9C, 0x8F, 0x6D, 0x5B, 0xAC, + 0xF4, 0x18, 0x9A, 0x83, 0x8B, 0x3F, 0x60, 0xD8, 0x77, 0x6F, 0x89, 0xC3, 0x6E, 0xA3, 0x55, 0x63, + 0x9C, 0xC8, 0x78, 0x74, 0x16, 0x99, 0xD5, 0x31, 0x76, 0x54, 0xA2, 0xEE, 0xB8, 0xF9, 0x10, 0x5C, + 0x96, 0x13, 0xF2, 0xCE, 0x43, 0xB7, 0xCF, 0x8C, 0xD6, 0xF9, 0x8F, 0xCD, 0xD3, 0xD6, 0x51, 0x64, + 0xCC, 0x60, 0x08, 0x91, 0x74, 0xA3, 0x71, 0x10, 0xA2, 0x54, 0x14, 0xAC, 0xD7, 0xA9, 0x39, 0xC0, + 0x90, 0x94, 0xB6, 0x8C, 0xF1, 0x06, 0xFE, 0x66, 0xFC, 0x3F, 0xAE, 0x48, 0xEA, 0x4C, 0x95, 0x1F, + 0x91, 0xFC, 0xEE, 0xC7, 0xB2, 0xA9, 0x5E, 0x23, 0x74, 0x3D, 0xAB, 0xA7, 0x0B, 0x02, 0x4B, 0xA5, + 0x25, 0x4C, 0x8C, 0x77, 0x11, 0x98, 0x2F, 0xEE, 0xBF, 0x3D, 0x1F, 0xFC, 0xDB, 0x1D, 0xEB, 0x57, + 0xF9, 0xBC, 0x4C, 0xA0, 0x2D, 0x34, 0x38, 0xD2, 0x3C, 0xA2, 0x46, 0x10, 0x52, 0x58, 0x34, 0x3F, + 0x81, 0x97, 0xAE, 0x94, 0xEB, 0xBC, 0x29, 0xA8, 0x97, 0xA5, 0xD2, 0xD4, 0x5F, 0x1A, 0x0D, 0xF8, + 0xCD, 0x50, 0xF2, 0x19, 0x37, 0xA0, 0x4A, 0xFD, 0xD7, 0x5F, 0x24, 0xA1, 0x5F, 0xEA, 0x75, 0x50, + 0x4C, 0x24, 0xB7, 0x90, 0x5D, 0x49, 0x10, 0xAD, 0x15, 0x13, 0x63, 0x82, 0x6D, 0xB3, 0x01, 0xB5, + 0xC1, 0xE6, 0xC1, 0x66, 0xC0, 0xBC, 0x7C, 0xEE, 0xDA, 0x09, 0x1B, 0x79, 0xE1, 0x94, 0x67, 0x05, + 0xCE, 0x20, 0x29, 0xC7, 0x93, 0xFA, 0xAF, 0xD7, 0xB4, 0xF6, 0x67, 0xB3, 0xF6, 0x73, 0xA3, 0xF6, + 0x45, 0xAD, 0x63, 0xFC, 0xFD, 0xD1, 0xCD, 0x27, 0x1F, 0xD6, 0x0D, 0x58, 0x3F, 0x61, 0x46, 0xC6, + 0x58, 0x9A, 0x8D, 0x98, 0x01, 0xB5, 0x71, 0x7D, 0xB1, 0xBE, 0x36, 0x33, 0x59, 0x0D, 0x28, 0x1B, + 0x00, 0xF5, 0x0F, 0x58, 0x18, 0xA0, 0x73, 0x4A, 0xF0, 0xFD, 0x86, 0x39, 0xD5, 0x8C, 0x8E, 0x13, + 0x2D, 0xB1, 0x17, 0xBB, 0x51, 0x36, 0x23, 0xA9, 0x19, 0x90, 0xBF, 0x80, 0x12, 0x2B, 0xF1, 0x52, + 0xAA, 0x4C, 0x40, 0x07, 0x60, 0x13, 0xE1, 0xD8, 0x77, 0x48, 0x6A, 0xCD, 0x1C, 0xA3, 0x92, 0xAF, + 0xB8, 0x8E, 0x01, 0x6C, 0x1F, 0xC2, 0x9D, 0x61, 0x33, 0x67, 0x00, 0x69, 0xCE, 0x93, 0x83, 0x03, + 0xB2, 0xB3, 0xA9, 0xF5, 0x73, 0x7C, 0x07, 0x13, 0x0F, 0x8E, 0xD0, 0x75, 0x18, 0x66, 0x4E, 0x52, + 0x5E, 0xAE, 0x08, 0xCC, 0x1A, 0x62, 0x69, 0x89, 0xA5, 0xF2, 0xA0, 0xC4, 0x92, 0x8A, 0xFD, 0x85, + 0x90, 0xE5, 0x8C, 0x7A, 0x91, 0x0F, 0x30, 0xD0, 0x23, 0x4A, 0x57, 0x2F, 0x50, 0x14, 0x70, 0x53, + 0xF8, 0xCE, 0x43, 0xD7, 0x31, 0xAD, 0x41, 0x8C, 0x20, 0x3D, 0x6A, 0x0A, 0xF6, 0x27, 0xD6, 0xF5, + 0xC6, 0xC1, 0x30, 0x05, 0x7B, 0x2B, 0x5A, 0xD3, 0x74, 0xC1, 0x15, 0xA7, 0x89, 0x42, 0x53, 0x0A, + 0xEA, 0xA4, 0x37, 0xBA, 0x10, 0x61, 0x2C, 0x86, 0x32, 0x65, 0x53, 0x06, 0xF6, 0x5C, 0x0B, 0x50, + 0x31, 0xB4, 0x1E, 0xB5, 0x00, 0x7E, 0xB6, 0x20, 0x51, 0x49, 0xB5, 0x2C, 0x08, 0x59, 0xB1, 0x7F, + 0x76, 0x1D, 0x7B, 0x8A, 0x9A, 0xC7, 0xAC, 0x36, 0x90, 0xEB, 0x10, 0x56, 0x66, 0x20, 0x62, 0x93, + 0x48, 0x92, 0x82, 0xB4, 0xBF, 0x17, 0xB8, 0x33, 0x48, 0x88, 0xBD, 0x85, 0xAE, 0x5E, 0x61, 0x08, + 0xC2, 0x33, 0x48, 0xF6, 0xBA, 0xCC, 0x26, 0x4D, 0x71, 0x15, 0x18, 0xE9, 0xA0, 0x27, 0x0C, 0x2F, + 0x10, 0x96, 0xE8, 0xA4, 0x02, 0x46, 0xD6, 0x00, 0x80, 0x87, 0xAA, 0x20, 0xA7, 0x47, 0x8D, 0x70, + 0xEA, 0x31, 0xD7, 0xE4, 0x0C, 0x1E, 0x80, 0x89, 0x97, 0xC7, 0x8E, 0x48, 0x0B, 0xFB, 0x65, 0xCD, + 0xD8, 0xE5, 0x6A, 0xD1, 0x0D, 0x8C, 0xD9, 0x01, 0x5B, 0x1A, 0x76, 0xA8, 0xB7, 0xA9, 0x90, 0x23, + 0xD4, 0xF4, 0x09, 0x29, 0xCD, 0x8F, 0x39, 0xA5, 0xC4, 0x02, 0x91, 0x39, 0x30, 0x46, 0x74, 0xCE, + 0xA7, 0x01, 0x9E, 0xEA, 0x18, 0xCA, 0x0F, 0xCD, 0x4F, 0x40, 0x9F, 0xC6, 0x7D, 0x56, 0x58, 0xA1, + 0x5A, 0xC4, 0xBE, 0x06, 0xD0, 0x9B, 0x4D, 0xBA, 0xD6, 0x84, 0xB8, 0x49, 0xDB, 0x94, 0xA6, 0x29, + 0x0D, 0xB2, 0x94, 0x75, 0xB7, 0xB8, 0x34, 0x16, 0xD9, 0x7B, 0x62, 0x65, 0x67, 0x13, 0xB5, 0x36, + 0x00, 0x8A, 0x46, 0x31, 0xF6, 0x90, 0x4E, 0xA4, 0x2D, 0x93, 0x21, 0xA3, 0xFD, 0x28, 0x5C, 0xA1, + 0x7F, 0x49, 0xAF, 0x86, 0x04, 0xE5, 0x19, 0xE9, 0xF1, 0xEB, 0xCA, 0x29, 0x50, 0xD2, 0xF3, 0x08, + 0x22, 0x39, 0x16, 0x2D, 0x3A, 0x1E, 0xDE, 0xA8, 0x05, 0xDD, 0x4D, 0xD9, 0x75, 0x59, 0x7A, 0xD4, + 0xE2, 0xA9, 0x54, 0x6A, 0xD9, 0x4B, 0x7E, 0x0D, 0x39, 0x37, 0x8A, 0x62, 0xD4, 0x02, 0xF8, 0x8B, + 0x31, 0x71, 0x26, 0x35, 0x34, 0x1E, 0x38, 0x96, 0xD9, 0x10, 0x7A, 0xFC, 0x7B, 0x1A, 0x10, 0x05, + 0xDA, 0x51, 0x21, 0x95, 0x36, 0x24, 0x24, 0x7F, 0x4F, 0x2B, 0x42, 0x12, 0xFF, 0x11, 0x13, 0xC2, + 0x58, 0xFB, 0x80, 0xF6, 0x83, 0xE4, 0xB2, 0xC6, 0xA3, 0xB4, 0xFA, 0x52, 0xCC, 0x59, 0x84, 0x28, + 0xA7, 0x30, 0x07, 0x50, 0x05, 0xFC, 0x08, 0x56, 0xC5, 0xFB, 0x22, 0x06, 0xA6, 0xF0, 0x53, 0x46, + 0x96, 0xB1, 0x97, 0x24, 0xF4, 0x8C, 0xA8, 0x71, 0xD6, 0xB2, 0x1B, 0x8D, 0x71, 0x45, 0x29, 0xC7, + 0x7E, 0x54, 0xE7, 0xC3, 0xDB, 0x90, 0xA2, 0xBD, 0x31, 0x3B, 0x8A, 0x86, 0x2C, 0x6E, 0x4D, 0xB9, + 0xBA, 0x30, 0xAC, 0x11, 0xA4, 0x5C, 0xAF, 0x7C, 0x9B, 0x3C, 0x49, 0x2A, 0x85, 0x7C, 0xFC, 0x71, + 0x2C, 0x47, 0x42, 0xF2, 0x57, 0x97, 0xA7, 0x95, 0x1C, 0xFC, 0x8D, 0x09, 0x1E, 0x0D, 0xA8, 0xC4, + 0x96, 0xFE, 0x0A, 0x18, 0x93, 0xE1, 0xB6, 0x88, 0xDC, 0xD4, 0xA1, 0xF6, 0x34, 0x84, 0x5A, 0xF0, + 0x94, 0x47, 0xEF, 0xAC, 0xF4, 0x24, 0x2F, 0xBD, 0x98, 0x47, 0x60, 0x73, 0xE2, 0x27, 0x87, 0x55, + 0x4A, 0x48, 0x64, 0x1A, 0xD9, 0x8A, 0xDE, 0x93, 0x1B, 0x8B, 0xE0, 0x44, 0x3C, 0x9E, 0x2B, 0x1F, + 0x68, 0xFC, 0x46, 0x2A, 0xDD, 0x93, 0xDA, 0x2D, 0x57, 0x05, 0xF6, 0x7E, 0x26, 0x39, 0x4B, 0x93, + 0x29, 0x98, 0xA9, 0x41, 0x13, 0xA6, 0xC9, 0x4A, 0x7B, 0xA8, 0xDF, 0x34, 0x2D, 0x9E, 0xB7, 0x25, + 0xC1, 0x36, 0x98, 0xC4, 0x95, 0xCE, 0xC6, 0x76, 0x68, 0x79, 0xB6, 0xD8, 0xE2, 0x8D, 0x4B, 0x17, + 0xB1, 0x0B, 0x50, 0x82, 0xEC, 0x0E, 0xB8, 0xE3, 0x39, 0x9E, 0x95, 0xF2, 0x77, 0xF9, 0x59, 0x1D, + 0x5E, 0xA3, 0xAD, 0x52, 0x83, 0x6F, 0x5B, 0x45, 0x7B, 0xBB, 0x16, 0xD3, 0x1D, 0x55, 0x35, 0xAD, + 0x86, 0xA5, 0xCE, 0xB6, 0xB8, 0xA3, 0x7D, 0x20, 0x27, 0xFB, 0xBF, 0x83, 0xBD, 0x97, 0x83, 0xFD, + 0x8F, 0x38, 0x9A, 0x85, 0x36, 0xAB, 0xEF, 0x10, 0x2C, 0xB3, 0x5A, 0x1D, 0x76, 0x46, 0x1C, 0xED, + 0x6E, 0x65, 0xCB, 0x4D, 0x6C, 0x4C, 0xE8, 0x94, 0x72, 0xAC, 0x57, 0xEF, 0x7E, 0x78, 0xFB, 0xD5, + 0xA9, 0x6F, 0x6C, 0x06, 0xF5, 0x41, 0xD7, 0xB0, 0x61, 0x1D, 0x3D, 0x0A, 0xF3, 0xCB, 0xED, 0x17, + 0xD3, 0x03, 0x1D, 0x73, 0xF3, 0x09, 0x42, 0x62, 0xF4, 0x95, 0xB3, 0x85, 0x47, 0x13, 0x2C, 0x75, + 0x31, 0xE6, 0x86, 0xCB, 0x34, 0xE0, 0x23, 0x0D, 0x98, 0xFA, 0x42, 0x5C, 0x23, 0x5C, 0xEA, 0x12, + 0xAE, 0x1E, 0x30, 0xB5, 0x32, 0xA8, 0x60, 0xFD, 0x1B, 0xD9, 0x08, 0xF5, 0x38, 0xDC, 0x38, 0xF3, + 0xE4, 0x48, 0x23, 0x39, 0x8B, 0xCA, 0xE2, 0x95, 0xBD, 0x93, 0x5E, 0x9E, 0x49, 0x1A, 0x39, 0x7E, + 0x49, 0xF6, 0x3C, 0xBC, 0x4B, 0x92, 0x84, 0x37, 0xB6, 0x2C, 0x79, 0xA5, 0x2A, 0x07, 0x2D, 0xEA, + 0x8D, 0x94, 0xAA, 0x82, 0x88, 0x5F, 0xD8, 0xAC, 0x2E, 0x30, 0xE3, 0xC1, 0xAA, 0x33, 0x6D, 0x83, + 0x45, 0x19, 0xF2, 0xD1, 0x95, 0x68, 0xE3, 0xD6, 0xC6, 0x1F, 0x40, 0x06, 0x8B, 0x9E, 0x54, 0x5A, + 0x8E, 0x37, 0x0E, 0x25, 0xE1, 0x79, 0x8F, 0x28, 0xE5, 0x20, 0xCD, 0x97, 0xE7, 0x57, 0xD1, 0x7C, + 0xF2, 0xAE, 0xAC, 0x59, 0x05, 0x33, 0x30, 0xBA, 0xD5, 0x53, 0x34, 0xD4, 0x0F, 0xE0, 0x65, 0xCD, + 0x07, 0xA8, 0xBD, 0x83, 0x6C, 0x8C, 0x7A, 0x9B, 0x4B, 0xC3, 0xB8, 0xD9, 0xA8, 0xB9, 0x2F, 0x9C, + 0x8C, 0x69, 0xAA, 0x69, 0xC2, 0xE4, 0x72, 0xA6, 0x0D, 0x3E, 0xCD, 0x00, 0x96, 0x02, 0xB8, 0x72, + 0x41, 0x3B, 0x1C, 0x20, 0xC0, 0x5F, 0xDB, 0xFB, 0xC5, 0x22, 0x01, 0xEE, 0xF1, 0x02, 0xF7, 0xCD, + 0x09, 0xB5, 0x6C, 0x3C, 0xEE, 0x02, 0x11, 0x41, 0x36, 0xD5, 0xA8, 0x6C, 0xE3, 0xD1, 0x41, 0xFC, + 0x01, 0xE3, 0x21, 0xB6, 0x1C, 0x0A, 0x10, 0x00, 0x96, 0x0D, 0x35, 0x89, 0x84, 0xA0, 0x4A, 0xA1, + 0xB0, 0xA5, 0xD3, 0xEA, 0x03, 0x90, 0xF8, 0x59, 0xB3, 0xFA, 0xEF, 0x2A, 0xCE, 0x80, 0xD8, 0x73, + 0xC3, 0x8B, 0xE8, 0x7F, 0xBC, 0x65, 0xD8, 0x3A, 0xB5, 0x17, 0xC8, 0x93, 0x8D, 0x21, 0x6A, 0xCA, + 0x33, 0xB3, 0x0A, 0x53, 0x0E, 0x28, 0xD7, 0x39, 0x53, 0x7B, 0xB3, 0x9F, 0x5A, 0x6D, 0x59, 0xDC, + 0x6C, 0xB6, 0x94, 0x0F, 0xB3, 0x93, 0x9E, 0x9C, 0x2C, 0x17, 0x00, 0x85, 0x87, 0x7E, 0x52, 0x73, + 0x31, 0x97, 0x37, 0x02, 0x44, 0xD3, 0xBA, 0x89, 0xD6, 0x77, 0x8A, 0x44, 0x9F, 0xD9, 0x2C, 0x64, + 0x73, 0x29, 0xCD, 0x7D, 0x44, 0x9C, 0xB2, 0x68, 0xA9, 0xA8, 0xB4, 0x59, 0x67, 0xD5, 0x94, 0xC6, + 0xCB, 0x2A, 0x29, 0x05, 0x91, 0xAF, 0xA2, 0x24, 0xCC, 0x02, 0x05, 0x65, 0x79, 0x5A, 0x5B, 0x3D, + 0x19, 0x3A, 0x59, 0xE5, 0xCC, 0x62, 0xF7, 0x9C, 0x75, 0x31, 0xC2, 0xBD, 0x64, 0xBD, 0x34, 0xB6, + 0x67, 0x42, 0x3C, 0xF9, 0xEB, 0xAF, 0x05, 0x4F, 0xC4, 0x25, 0xAD, 0xFB, 0x3B, 0x73, 0xA4, 0xF3, + 0x7E, 0xB2, 0x00, 0x23, 0xF6, 0xB8, 0x29, 0xA7, 0xAE, 0x9F, 0xAE, 0xC0, 0x47, 0xEC, 0x05, 0x6A, + 0x96, 0x27, 0xCB, 0x34, 0x65, 0x80, 0x1B, 0xD8, 0xDC, 0x99, 0x9B, 0x8C, 0x98, 0x8A, 0x87, 0x05, + 0xB2, 0x66, 0x2B, 0x91, 0x89, 0x6B, 0x8F, 0x47, 0xE8, 0x82, 0x04, 0xBE, 0xB8, 0x4D, 0xAF, 0xA7, + 0x08, 0xEA, 0xC9, 0xFC, 0x38, 0x9F, 0x55, 0xD1, 0x78, 0xD4, 0x85, 0x73, 0x18, 0x02, 0x73, 0x93, + 0x0F, 0x4B, 0xB3, 0xAA, 0x51, 0xA2, 0x25, 0x95, 0xC3, 0x39, 0x4C, 0x9F, 0x50, 0x51, 0xE2, 0x48, + 0x84, 0x2F, 0x49, 0x03, 0x17, 0x8A, 0xBC, 0xFB, 0x8A, 0xEC, 0x3C, 0x3E, 0x59, 0xF8, 0x01, 0x01, + 0xBC, 0xC0, 0xC9, 0x17, 0x98, 0x03, 0x72, 0xDD, 0xA8, 0x92, 0x9D, 0x9B, 0x45, 0x67, 0x6F, 0x38, + 0x19, 0xB1, 0x3E, 0xA3, 0xB9, 0x8F, 0x03, 0x14, 0x8F, 0x80, 0x30, 0xD1, 0x3D, 0x3C, 0x47, 0xDB, + 0xA3, 0x76, 0x59, 0xF5, 0x44, 0x4D, 0xD0, 0xAD, 0x51, 0xE0, 0x91, 0x3C, 0x6D, 0x33, 0x0A, 0x36, + 0xEB, 0x7D, 0xE3, 0xBE, 0x7C, 0xBF, 0x1B, 0xF5, 0xCE, 0xF3, 0xB8, 0xE9, 0xB1, 0xD7, 0xF0, 0xB5, + 0x69, 0x0A, 0x1A, 0x76, 0x91, 0xED, 0x26, 0x9E, 0xE6, 0x65, 0x2B, 0x80, 0x26, 0x6F, 0xEE, 0xB9, + 0x63, 0xBB, 0xCF, 0x4D, 0x4C, 0xF7, 0x30, 0xE2, 0x24, 0x35, 0xBB, 0x93, 0x58, 0xFC, 0x14, 0x48, + 0xCB, 0x8C, 0x92, 0x10, 0x06, 0x15, 0x02, 0x3E, 0x08, 0x95, 0xBD, 0x55, 0x62, 0x65, 0x1F, 0x97, + 0xDA, 0x6E, 0x0F, 0xAE, 0x7F, 0x8A, 0x7A, 0x9D, 0x27, 0xF4, 0x0C, 0x8F, 0x8B, 0x2D, 0x38, 0xE9, + 0x08, 0x63, 0x3C, 0x78, 0x09, 0x21, 0x45, 0xFA, 0x8B, 0x44, 0x79, 0xEF, 0x4C, 0x6A, 0xA3, 0x29, + 0xD5, 0xA2, 0x0B, 0xBD, 0x7A, 0x95, 0x21, 0x53, 0x69, 0xFC, 0x9F, 0x13, 0xC6, 0x78, 0xFB, 0xB2, + 0x30, 0x26, 0x9D, 0x32, 0x87, 0x7D, 0x80, 0xF0, 0xC5, 0xE9, 0xBC, 0x3F, 0xBF, 0xCE, 0x87, 0x57, + 0x5E, 0xAB, 0x78, 0xD0, 0xE2, 0xC7, 0x2C, 0x85, 0x42, 0x79, 0xE6, 0x84, 0x57, 0xB5, 0x48, 0xF3, + 0xA2, 0x59, 0xD3, 0xF7, 0xE9, 0xB4, 0x12, 0xE1, 0x18, 0x60, 0x6F, 0x4D, 0x1F, 0x32, 0x57, 0xFD, + 0x41, 0xDD, 0x82, 0x28, 0x98, 0x40, 0x84, 0xD3, 0xCC, 0xEF, 0x59, 0x65, 0x92, 0x0B, 0xFD, 0xCC, + 0x1C, 0x1C, 0xE4, 0x65, 0x8E, 0x5C, 0x71, 0x53, 0x54, 0xA2, 0x94, 0x30, 0xD6, 0xDB, 0x2A, 0xDA, + 0x09, 0xAD, 0xD0, 0x66, 0xA7, 0xEB, 0xAA, 0x48, 0x60, 0x3F, 0x0A, 0x3D, 0x09, 0x56, 0x96, 0x2B, + 0x4B, 0xC0, 0xDD, 0x43, 0x63, 0xC1, 0xB8, 0x7B, 0x3F, 0xA5, 0x01, 0x81, 0x47, 0xA4, 0x37, 0xE0, + 0xA6, 0xA8, 0xEA, 0x52, 0x92, 0xAF, 0xB8, 0x1F, 0x2C, 0x0C, 0x19, 0x2A, 0x75, 0xF8, 0x51, 0x03, + 0x97, 0xAC, 0xCA, 0xF8, 0xC8, 0x80, 0x65, 0x1F, 0x85, 0x9F, 0x5A, 0xA7, 0x18, 0x32, 0x42, 0xE6, + 0x77, 0xB5, 0x2C, 0x09, 0x9D, 0xB1, 0x18, 0x2C, 0x4B, 0x2D, 0x92, 0x41, 0x11, 0x8C, 0x1A, 0xB2, + 0x34, 0xD3, 0xF2, 0x0A, 0xE0, 0xB9, 0x94, 0x29, 0x0F, 0x02, 0x31, 0x5D, 0x71, 0x9B, 0x43, 0xD5, + 0xA6, 0x10, 0x2F, 0x86, 0x2D, 0xDC, 0x12, 0x07, 0x30, 0x71, 0x57, 0x4B, 0xEC, 0x90, 0x2F, 0x2F, + 0xCC, 0xB9, 0x21, 0xAD, 0xB1, 0xC3, 0x2B, 0x0E, 0xC5, 0xAE, 0x71, 0xC6, 0x29, 0x0C, 0x6D, 0xF1, + 0x5A, 0x02, 0xBE, 0x40, 0x84, 0x27, 0x9D, 0x92, 0xDB, 0xEE, 0x10, 0xF9, 0xED, 0x3E, 0x0F, 0xE1, + 0x6B, 0x6D, 0x01, 0x26, 0x62, 0x37, 0x0C, 0x10, 0x31, 0xCA, 0x3B, 0x30, 0x1F, 0x09, 0xDC, 0x14, + 0x2D, 0x64, 0x48, 0x6C, 0x39, 0x03, 0x1E, 0x6F, 0xC0, 0x2E, 0x1A, 0xEA, 0x6F, 0x37, 0x2C, 0x7A, + 0xA5, 0x41, 0x0E, 0x70, 0xDF, 0xE3, 0x58, 0x82, 0xCA, 0x7F, 0xE5, 0x44, 0x16, 0x97, 0xB6, 0xF0, + 0x9E, 0x74, 0x46, 0x01, 0x06, 0xCC, 0xD9, 0x3A, 0xB5, 0x97, 0xC2, 0xDE, 0xC6, 0x1C, 0x49, 0xDD, + 0x62, 0x4D, 0xB3, 0xC9, 0x2A, 0xA6, 0xDD, 0x3E, 0x4D, 0x0B, 0xCF, 0x06, 0xB0, 0x00, 0x60, 0x95, + 0xF4, 0xC7, 0xE2, 0xA5, 0x22, 0xAC, 0x61, 0x46, 0xF0, 0x2E, 0x84, 0x15, 0x30, 0x3C, 0xEF, 0x1E, + 0x64, 0x8B, 0x17, 0xE9, 0x2B, 0x15, 0xC6, 0x81, 0x32, 0xED, 0x33, 0x0D, 0xB3, 0xED, 0x5E, 0x89, + 0x1F, 0x32, 0x7C, 0x28, 0xB1, 0x15, 0x49, 0x5D, 0x17, 0x07, 0x31, 0xC5, 0x42, 0x27, 0xE3, 0x70, + 0x2D, 0xAB, 0x39, 0x35, 0x16, 0x1C, 0xAC, 0xD7, 0x9F, 0x49, 0x45, 0xD8, 0xFA, 0xE2, 0xCF, 0xC7, + 0x5A, 0x74, 0x4C, 0xAE, 0xF8, 0xBE, 0xB1, 0x6D, 0x83, 0xB3, 0x63, 0xC2, 0xA1, 0x46, 0x77, 0x9D, + 0xA4, 0x3B, 0xF5, 0x19, 0xA6, 0x92, 0xB8, 0xE4, 0x5F, 0xD2, 0xDE, 0x1B, 0xF0, 0xA2, 0xE7, 0xE0, + 0x2D, 0x01, 0x5C, 0xB5, 0x77, 0x3C, 0xD1, 0xD1, 0x01, 0x6F, 0x53, 0xD4, 0xC7, 0x0A, 0x9E, 0xD7, + 0xF6, 0xB0, 0xBA, 0xCE, 0x56, 0xF2, 0xB3, 0x20, 0xA4, 0xEB, 0xCB, 0x97, 0x22, 0xD7, 0xA8, 0x94, + 0xEE, 0xE3, 0x66, 0xF3, 0x3D, 0xE4, 0x03, 0x9E, 0x32, 0x90, 0x14, 0xFF, 0xE3, 0x87, 0x0D, 0xA2, + 0x15, 0xF7, 0x90, 0x87, 0x0E, 0xB8, 0xD5, 0xE4, 0x9E, 0x38, 0xA8, 0xFF, 0xFA, 0xC1, 0x35, 0xBC, + 0x5F, 0x45, 0x6B, 0x66, 0xB3, 0x76, 0x72, 0xF3, 0xF6, 0xD3, 0x59, 0xF4, 0x8A, 0x55, 0x16, 0xFF, + 0xBD, 0x6A, 0x40, 0x8A, 0xA0, 0x76, 0x82, 0xE2, 0x98, 0x4E, 0x3E, 0xB8, 0xBC, 0xFC, 0xEE, 0xBB, + 0x6F, 0xBF, 0x5D, 0x25, 0x57, 0x4F, 0x50, 0xEE, 0xBA, 0xFD, 0xE9, 0xAA, 0xB9, 0x7A, 0x86, 0xC0, + 0xA6, 0x73, 0x75, 0xA9, 0xA2, 0x0C, 0x1F, 0x05, 0xB2, 0x74, 0x04, 0x5B, 0xA3, 0xBE, 0xD1, 0x87, + 0x5A, 0xAF, 0x2A, 0xD4, 0x29, 0xBC, 0x9F, 0xCA, 0x30, 0x47, 0x6B, 0x0F, 0x54, 0x17, 0xAE, 0x78, + 0xD4, 0x27, 0x12, 0xF7, 0xB1, 0x1D, 0xF9, 0x89, 0x34, 0x74, 0xBF, 0xA3, 0x3F, 0xF3, 0x14, 0xC2, + 0x26, 0x30, 0x7C, 0xDB, 0x1A, 0x81, 0x7F, 0xA1, 0x23, 0x6F, 0x69, 0xAA, 0x57, 0x59, 0x84, 0x6C, + 0x39, 0x70, 0x75, 0x7A, 0x38, 0xC6, 0x11, 0x0D, 0x37, 0xBC, 0xF3, 0x2E, 0xB5, 0xB4, 0x80, 0xBF, + 0x8C, 0xAE, 0x7E, 0x43, 0x2E, 0x7F, 0x93, 0x5E, 0x7B, 0xFE, 0x0B, 0xB3, 0xAE, 0x33, 0xC1, 0x7D, + 0xAC, 0x30, 0xA2, 0x83, 0xA1, 0xF3, 0xF2, 0xE4, 0xF0, 0xD9, 0xB3, 0x67, 0x5F, 0x90, 0x57, 0xED, + 0x43, 0x52, 0xFA, 0x79, 0x6C, 0x8F, 0x4B, 0xB2, 0x98, 0xA9, 0x42, 0x35, 0x03, 0x30, 0xF0, 0x50, + 0xB3, 0xB4, 0xDB, 0xD8, 0x79, 0x5E, 0xDB, 0x69, 0xD4, 0x1A, 0xBB, 0xED, 0x9D, 0x17, 0x7B, 0x8D, + 0x9D, 0xBD, 0xDD, 0x67, 0x46, 0xE3, 0xF9, 0x8B, 0x9D, 0xDD, 0x67, 0xCF, 0x5F, 0x7C, 0xFA, 0x73, + 0x29, 0x91, 0x59, 0xFE, 0x09, 0x24, 0x14, 0xA3, 0x07, 0x8B, 0xE6, 0x08, 0x5E, 0x4A, 0x6D, 0x5D, + 0x5D, 0xC8, 0xF5, 0xAB, 0x98, 0x5E, 0x38, 0xAD, 0x07, 0xC9, 0x01, 0x8A, 0x18, 0xC6, 0xC4, 0xEA, + 0xFA, 0xA0, 0x1E, 0xC0, 0xC1, 0x1C, 0x4A, 0x64, 0xB9, 0x4B, 0xCD, 0xA3, 0xA0, 0xAB, 0xCA, 0xA3, + 0xFD, 0xFE, 0xAD, 0x25, 0x8F, 0xAB, 0xDC, 0x07, 0x5A, 0x14, 0x25, 0x82, 0xD7, 0x65, 0xE5, 0x63, + 0x9C, 0x05, 0x05, 0x43, 0x92, 0x24, 0xFF, 0x5E, 0xC4, 0xB5, 0xDA, 0xF0, 0x5F, 0xAE, 0xF0, 0x9C, + 0xC3, 0x0E, 0xBC, 0x80, 0x8E, 0x74, 0xB5, 0xA4, 0x0C, 0x13, 0xC0, 0xBC, 0x02, 0xE3, 0xBF, 0xF4, + 0xE2, 0xEB, 0xF1, 0xAA, 0x3A, 0xB7, 0x48, 0x0B, 0x16, 0x55, 0x69, 0x4A, 0xF1, 0xF7, 0xA9, 0xD6, + 0xB8, 0x8A, 0x92, 0x54, 0x33, 0x13, 0x68, 0xE0, 0x9B, 0x69, 0x95, 0x88, 0xB2, 0x3E, 0xEF, 0xDB, + 0x2B, 0x4C, 0x2B, 0x39, 0xC8, 0x10, 0x2E, 0xB2, 0x24, 0x3D, 0xDF, 0x72, 0xE1, 0xF9, 0xD4, 0x34, + 0x7F, 0x19, 0x2A, 0xC1, 0x63, 0x38, 0x80, 0x7A, 0x79, 0xD9, 0xBA, 0xB8, 0x6C, 0xB5, 0x5F, 0x77, + 0xCA, 0xE4, 0x93, 0x7C, 0x6A, 0xE0, 0x4F, 0x5E, 0x79, 0x50, 0x30, 0x1D, 0xC2, 0x74, 0xCF, 0xF5, + 0x27, 0x1A, 0xC9, 0xE8, 0x67, 0x11, 0x8E, 0x27, 0x56, 0x60, 0x75, 0x2D, 0xBB, 0x00, 0xCF, 0x1A, + 0xE4, 0x41, 0x2E, 0x8D, 0xA2, 0x9C, 0x26, 0x08, 0xA9, 0x9B, 0xBC, 0x02, 0xFB, 0x14, 0x3F, 0x72, + 0x74, 0xC5, 0xC2, 0x10, 0xA7, 0x20, 0xE9, 0xA1, 0x6C, 0xAD, 0xAB, 0x78, 0xED, 0x0B, 0x9F, 0x06, + 0x7A, 0xD3, 0xE4, 0xEB, 0x14, 0x8A, 0x59, 0x7E, 0xD7, 0xA1, 0xFC, 0x56, 0xAB, 0x7D, 0x55, 0x46, + 0x08, 0x30, 0x78, 0xD3, 0x81, 0x92, 0x31, 0x59, 0x1F, 0xEB, 0xE9, 0xA0, 0x0E, 0xB4, 0x7C, 0x93, + 0x95, 0x83, 0x2D, 0xDF, 0x64, 0xCD, 0xA1, 0x86, 0x1F, 0x81, 0x70, 0x1C, 0x66, 0xF3, 0x73, 0x59, + 0xF2, 0x77, 0x07, 0x0F, 0x66, 0x2D, 0x3C, 0x1B, 0x2C, 0xFF, 0x92, 0xD1, 0x06, 0x00, 0x78, 0x43, + 0x07, 0x23, 0xA6, 0x82, 0x12, 0xA5, 0xF1, 0x85, 0x63, 0x23, 0xB7, 0xFC, 0x77, 0xC7, 0x85, 0x1B, + 0x05, 0x10, 0x5B, 0xD6, 0x5E, 0xF2, 0x9C, 0x73, 0x47, 0xB6, 0xEB, 0xA0, 0x79, 0xAB, 0x0A, 0xD0, + 0x64, 0x33, 0x8C, 0xCC, 0xDB, 0x35, 0x04, 0xB0, 0x3B, 0x0A, 0xA7, 0xAF, 0x7E, 0xD4, 0xF1, 0x10, + 0x43, 0xB6, 0x77, 0x96, 0x62, 0xF2, 0x43, 0x2E, 0x1A, 0x42, 0x80, 0xF7, 0x1A, 0x58, 0x6C, 0x31, + 0x92, 0x30, 0xDE, 0x03, 0x94, 0x6C, 0xC8, 0xD2, 0x8B, 0x8D, 0x2F, 0xC5, 0xC8, 0x5C, 0x3C, 0x5D, + 0x25, 0x87, 0x30, 0x78, 0x98, 0x56, 0x53, 0x0F, 0x1B, 0x0B, 0xEE, 0x95, 0xDC, 0xEF, 0xD4, 0xB1, + 0xCE, 0x7B, 0xD1, 0xD3, 0xA8, 0x79, 0x7B, 0x25, 0x40, 0x06, 0x5F, 0x29, 0xAF, 0xBB, 0xA6, 0x89, + 0xDE, 0xFA, 0xA1, 0x36, 0x4D, 0x80, 0x76, 0x72, 0xDF, 0x64, 0xE1, 0xA6, 0x49, 0x42, 0x98, 0x59, + 0x62, 0x1E, 0x57, 0x3F, 0xAC, 0x9A, 0x74, 0x29, 0x09, 0x5A, 0x39, 0x5B, 0x25, 0x7A, 0xFF, 0x3B, + 0x38, 0xCA, 0xAA, 0x93, 0xDF, 0xE0, 0xA1, 0xD6, 0xBC, 0x80, 0xAF, 0xB3, 0x52, 0xF8, 0x98, 0xEB, + 0xBC, 0xAC, 0x26, 0x41, 0x4C, 0x90, 0xBE, 0x70, 0x8E, 0xA4, 0xFD, 0x08, 0x5F, 0xC0, 0x73, 0x9E, + 0x02, 0x70, 0x98, 0x11, 0x3D, 0x1E, 0xC5, 0xE4, 0xF3, 0xB8, 0xEE, 0xFE, 0x75, 0xFC, 0x8C, 0x2F, + 0x86, 0xBC, 0x28, 0x9C, 0x0B, 0x15, 0x60, 0x4B, 0x8C, 0x52, 0x48, 0xC9, 0x07, 0x1A, 0x07, 0xFB, + 0x2B, 0x4F, 0xAD, 0x69, 0x16, 0x9C, 0x5B, 0xD3, 0xFC, 0x17, 0x4C, 0xAE, 0x69, 0xBE, 0xB3, 0xD9, + 0x35, 0xCD, 0xFB, 0x4C, 0xAF, 0x69, 0x16, 0x9E, 0xDF, 0x8C, 0x0C, 0x07, 0x3A, 0x13, 0xF9, 0x33, + 0x9C, 0x3F, 0x34, 0x8F, 0x07, 0x38, 0xA1, 0xF1, 0x24, 0x55, 0xE6, 0xEE, 0x7F, 0xE6, 0xA2, 0xE6, + 0xED, 0x98, 0x7E, 0xBE, 0x10, 0xE3, 0x11, 0x39, 0xC2, 0xE5, 0x3B, 0xA8, 0x04, 0xBA, 0xE5, 0xCF, + 0x66, 0x53, 0x6E, 0x31, 0x64, 0x2D, 0x80, 0x93, 0x11, 0xFA, 0x85, 0xA9, 0xC8, 0x19, 0x42, 0x7E, + 0x5B, 0x8A, 0x87, 0x98, 0xCF, 0xC8, 0xD7, 0x79, 0x20, 0x50, 0x1E, 0x94, 0x4F, 0x4E, 0xCA, 0x64, + 0x2F, 0xAF, 0x53, 0x25, 0xC0, 0xFE, 0xA0, 0x0B, 0x43, 0x80, 0xC2, 0xBF, 0xAE, 0xE8, 0x2A, 0xDF, + 0x9D, 0x6D, 0xAF, 0x7A, 0xFF, 0x61, 0xDD, 0x32, 0xD8, 0x1D, 0xEB, 0x55, 0x34, 0xEE, 0xB7, 0x35, + 0xDB, 0x81, 0x91, 0x70, 0xA1, 0xC3, 0x25, 0xE2, 0xFE, 0x4B, 0xF2, 0xFC, 0x5D, 0xCD, 0x5D, 0xFB, + 0xF8, 0xF2, 0xBC, 0x79, 0xDA, 0x39, 0xBE, 0xBC, 0xBC, 0xB8, 0x14, 0xDF, 0x1C, 0x64, 0x77, 0x18, + 0xF2, 0xD9, 0x5D, 0x88, 0x9F, 0x46, 0x43, 0x2E, 0xA8, 0xFC, 0xD0, 0x0D, 0xC1, 0x2F, 0x27, 0x12, + 0x28, 0xA7, 0x12, 0x6A, 0xFF, 0x04, 0x5A, 0x4C, 0x38, 0x56, 0x0E, 0x99, 0xC1, 0x9C, 0xF9, 0x49, + 0x94, 0x0A, 0xB0, 0x9B, 0xB9, 0x87, 0x99, 0x4E, 0xC0, 0x5A, 0x4E, 0x58, 0x01, 0xEA, 0xD7, 0x3B, + 0x37, 0x70, 0x70, 0xF2, 0xD3, 0x6D, 0x52, 0x27, 0xBB, 0x2F, 0x5E, 0x18, 0x0D, 0x95, 0xF7, 0xE1, + 0xF7, 0x45, 0x9D, 0x14, 0xF0, 0xEE, 0x3C, 0xE0, 0x2E, 0x70, 0x98, 0x82, 0x7D, 0x36, 0x0F, 0x96, + 0xDA, 0xDE, 0x90, 0xA6, 0x80, 0x9F, 0xE7, 0x01, 0xCF, 0xF2, 0x3C, 0x41, 0x24, 0x13, 0xBF, 0x16, + 0x2C, 0x90, 0xF2, 0xA2, 0x83, 0xCA, 0x95, 0x21, 0x85, 0x8D, 0xBC, 0x48, 0x2A, 0xAF, 0x56, 0x1E, + 0x27, 0x8B, 0x64, 0x9A, 0x31, 0x56, 0xC1, 0xDC, 0x57, 0x97, 0x63, 0x8D, 0x77, 0xD4, 0x65, 0x2E, + 0x59, 0xFC, 0x55, 0x75, 0x89, 0xF0, 0x40, 0x6F, 0xAC, 0x4B, 0x6A, 0xFF, 0xBF, 0xB8, 0xBE, 0x42, + 0x12, 0xF9, 0xFF, 0x8B, 0xEB, 0xED, 0xB8, 0x72, 0x4A, 0x24, 0x13, 0xC5, 0x0F, 0xE2, 0x90, 0x4B, + 0x6E, 0x22, 0x58, 0x78, 0x25, 0x73, 0x13, 0x49, 0x49, 0x7C, 0xA2, 0x79, 0xCC, 0x37, 0xC7, 0x1D, + 0x50, 0x22, 0x78, 0x49, 0xBE, 0xF5, 0x01, 0xFC, 0x8A, 0x6F, 0x20, 0x0F, 0x2C, 0xFC, 0xE2, 0x6F, + 0x88, 0x9F, 0x11, 0x76, 0xA8, 0x1C, 0xA3, 0x1C, 0x94, 0x0D, 0x72, 0x2C, 0xF6, 0xCB, 0xF7, 0x48, + 0xE9, 0x99, 0xF1, 0x22, 0x28, 0xA5, 0x57, 0x8F, 0xD8, 0x63, 0x9D, 0x25, 0xD9, 0x6E, 0x0F, 0xE7, + 0x27, 0x48, 0x06, 0xC7, 0x16, 0x16, 0x1D, 0x7F, 0xE5, 0x0E, 0x31, 0xF0, 0xD8, 0x01, 0x54, 0xD8, + 0x70, 0x2B, 0xE5, 0x45, 0x2E, 0x44, 0xFF, 0x43, 0x08, 0x92, 0x58, 0xAE, 0xC5, 0xD2, 0x30, 0x8D, + 0x6D, 0x5C, 0xBB, 0x99, 0x8C, 0x2E, 0x76, 0xAB, 0x31, 0x73, 0x07, 0xE4, 0x8C, 0x86, 0x43, 0xC3, + 0xB4, 0x5D, 0xD7, 0x4F, 0xA0, 0x83, 0xC7, 0xDE, 0x69, 0x34, 0x1A, 0xDA, 0x56, 0x95, 0x43, 0x1D, + 0x17, 0x11, 0x92, 0x60, 0xB5, 0x98, 0xD4, 0x53, 0x81, 0xC0, 0xAF, 0xFC, 0x4F, 0xC5, 0x5E, 0x81, + 0xFA, 0x95, 0xCA, 0x9E, 0x75, 0x9A, 0x71, 0x9E, 0xC1, 0xA1, 0x60, 0x4F, 0x2E, 0xFB, 0x28, 0xE2, + 0x76, 0x88, 0x5F, 0xF2, 0xAE, 0x28, 0x68, 0x15, 0xC1, 0xBF, 0x48, 0xED, 0x3F, 0x27, 0x49, 0x96, + 0x1B, 0x18, 0x57, 0x55, 0x53, 0xDE, 0xBE, 0xBA, 0xDA, 0xD6, 0x8D, 0x44, 0xC1, 0x77, 0xE6, 0x8C, + 0x52, 0x02, 0x11, 0x9B, 0x82, 0x52, 0xC6, 0xA1, 0xBD, 0x5D, 0x42, 0x45, 0xA1, 0x28, 0xAF, 0x18, + 0x83, 0x62, 0x5C, 0xF8, 0x07, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, + 0x79, 0x5A, 0x0B, 0x97, 0x9F, 0x70, 0xAB, 0x3B, 0x1F, 0x00, 0x00, 0x84, 0xAD, 0x00, 0x00, 0x36, + 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, + 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, + 0x69, 0x62, 0x2F, 0x6D, 0x65, 0x73, 0x73, 0x61, 0x67, 0x69, 0x6E, 0x67, 0x2F, 0x6D, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x69, 0x6E, 0x67, 0x2E, 0x6A, 0x73, 0xED, 0x1D, 0x6B, 0x77, 0xE2, 0x44, 0xF4, + 0xBB, 0xBF, 0x62, 0xC4, 0xA3, 0x80, 0xD2, 0xB0, 0xBE, 0x8F, 0xAD, 0xAB, 0x62, 0x8B, 0x8A, 0xF6, + 0x75, 0x5A, 0x7C, 0xAE, 0x2B, 0x0D, 0x30, 0x94, 0xB8, 0x21, 0xC1, 0x3C, 0x5A, 0x51, 0xF1, 0xB7, + 0x7B, 0xEF, 0xBC, 0x93, 0x49, 0x48, 0xA0, 0xB5, 0xAE, 0xBA, 0x3D, 0x47, 0x17, 0xC8, 0xCC, 0x9D, + 0x3B, 0xF7, 0x7D, 0xEF, 0x3C, 0xD2, 0x7D, 0xFD, 0x65, 0x32, 0xF3, 0x22, 0x3A, 0x76, 0x63, 0xBA, + 0xE7, 0x4E, 0x17, 0x5E, 0x40, 0x6E, 0x3E, 0x70, 0xDE, 0x71, 0xDE, 0x22, 0xAF, 0x77, 0x5F, 0x6A, + 0xA4, 0x31, 0x25, 0x71, 0x12, 0x79, 0x93, 0xA4, 0x71, 0xF0, 0x12, 0x34, 0x7D, 0x89, 0xBC, 0x4E, + 0x3E, 0xF1, 0xBD, 0x09, 0x0D, 0x62, 0x8A, 0x9F, 0x0F, 0xC3, 0xE5, 0x2A, 0xF2, 0xAE, 0xE7, 0x09, + 0x79, 0xEB, 0xD1, 0x9B, 0xEF, 0x93, 0xCF, 0xC3, 0xF0, 0xDA, 0xA7, 0x64, 0x10, 0x4C, 0x1C, 0x78, + 0x8A, 0x0D, 0x8E, 0x79, 0xDB, 0x29, 0x49, 0x83, 0x29, 0x8D, 0x48, 0x32, 0xA7, 0xA4, 0xB7, 0x74, + 0x27, 0xF0, 0x8F, 0x78, 0xD2, 0x21, 0xDF, 0xD0, 0x28, 0xF6, 0xC2, 0x80, 0xBC, 0xE5, 0x3C, 0x22, + 0x2D, 0x6C, 0xD0, 0x10, 0x8F, 0x1A, 0xED, 0x03, 0x04, 0xB1, 0x0A, 0x53, 0xB2, 0x70, 0x57, 0x24, + 0x08, 0x13, 0x02, 0xF8, 0x00, 0x0C, 0x2F, 0x06, 0x94, 0x61, 0x1C, 0xFA, 0xEB, 0x84, 0x2E, 0x13, + 0x02, 0x28, 0x4F, 0xC2, 0xC5, 0xD2, 0xF7, 0xDC, 0x60, 0x42, 0xC9, 0xAD, 0x97, 0xCC, 0xA1, 0x8D, + 0x1A, 0xC0, 0x41, 0x18, 0xDF, 0x0B, 0x18, 0xE1, 0x38, 0x71, 0xA1, 0xB9, 0x0B, 0x1D, 0x96, 0xF0, + 0x6D, 0x66, 0x36, 0x24, 0x6E, 0x22, 0x90, 0x26, 0x64, 0x9E, 0x24, 0xCB, 0xFD, 0x6E, 0xF7, 0xF6, + 0xF6, 0xD6, 0x71, 0x19, 0xBA, 0x4E, 0x18, 0x5D, 0x77, 0xC5, 0xC4, 0xE3, 0xEE, 0xF1, 0xE0, 0xB0, + 0x7F, 0x7A, 0xD9, 0xDF, 0x03, 0x94, 0x45, 0x97, 0xAF, 0x03, 0x9F, 0xC6, 0x31, 0x89, 0xE8, 0x2F, + 0xA9, 0x17, 0xC1, 0x74, 0xC7, 0x2B, 0xE2, 0x2E, 0x97, 0xD0, 0xC1, 0x1D, 0x03, 0xA2, 0xBE, 0x7B, + 0x4B, 0xC2, 0x88, 0xB8, 0xD7, 0x11, 0x85, 0x67, 0x49, 0x88, 0x28, 0xDF, 0x46, 0x5E, 0xE2, 0x05, + 0xD7, 0x1D, 0x12, 0x87, 0xB3, 0xE4, 0xD6, 0x8D, 0x18, 0x3D, 0xA7, 0x1E, 0x52, 0x7B, 0x9C, 0x26, + 0x92, 0x62, 0x19, 0x04, 0xBD, 0x38, 0xD3, 0x20, 0x84, 0x89, 0x04, 0xA4, 0xD1, 0xBB, 0x24, 0x83, + 0xCB, 0x06, 0xF9, 0xB4, 0x77, 0x39, 0xB8, 0xEC, 0x20, 0x90, 0x6F, 0x07, 0xC3, 0x2F, 0xCE, 0xBE, + 0x1E, 0x92, 0x6F, 0x7B, 0x17, 0x17, 0xBD, 0xD3, 0xE1, 0xA0, 0x7F, 0x49, 0xCE, 0x2E, 0xC8, 0xE1, + 0xD9, 0xE9, 0xD1, 0x60, 0x38, 0x38, 0x3B, 0x85, 0x6F, 0x9F, 0x91, 0xDE, 0xE9, 0xF7, 0xE4, 0xAB, + 0xC1, 0xE9, 0x51, 0x87, 0x50, 0x0F, 0x86, 0x88, 0x80, 0x96, 0xCB, 0x08, 0x66, 0x80, 0x68, 0x7A, + 0x48, 0x4B, 0x3A, 0x65, 0x84, 0xBB, 0xA4, 0x34, 0x83, 0xC2, 0x2C, 0xE4, 0x28, 0xC5, 0x4B, 0x3A, + 0xF1, 0x66, 0xDE, 0x04, 0xA6, 0x16, 0x5C, 0xA7, 0xEE, 0x35, 0x25, 0xD7, 0xE1, 0x0D, 0x8D, 0x02, + 0x98, 0x11, 0x59, 0xD2, 0x68, 0xE1, 0xC5, 0xC8, 0xD3, 0x18, 0x10, 0x9C, 0x22, 0x18, 0xDF, 0x5B, + 0x78, 0x89, 0x9B, 0xE0, 0x4F, 0xF6, 0xBC, 0x70, 0xA0, 0xEE, 0x4B, 0x37, 0x6E, 0x44, 0x46, 0x23, + 0x17, 0xFA, 0x5D, 0x07, 0xE4, 0x31, 0x69, 0x31, 0x36, 0xBF, 0xF6, 0x1A, 0x63, 0xB7, 0x23, 0x1F, + 0xB4, 0xC9, 0x1F, 0x7F, 0x90, 0x59, 0x1A, 0x4C, 0x10, 0x14, 0x69, 0xB5, 0xC9, 0xEF, 0x2F, 0x01, + 0xB7, 0xCC, 0x7E, 0x67, 0xE3, 0x9F, 0xE9, 0x24, 0x71, 0xF8, 0x77, 0xB3, 0x75, 0x2B, 0x61, 0xAD, + 0xF9, 0x1F, 0x9B, 0x47, 0x0B, 0x87, 0x8C, 0x3B, 0xC4, 0x83, 0x6E, 0x6F, 0x76, 0x08, 0xF6, 0x76, + 0xA3, 0xEB, 0x74, 0x41, 0x83, 0x24, 0x76, 0x7C, 0x1A, 0x5C, 0x27, 0xF3, 0x03, 0x78, 0xF8, 0x21, + 0x09, 0xE0, 0x9F, 0x37, 0xDE, 0xE0, 0xDD, 0xF5, 0x5F, 0x6C, 0xB6, 0x7F, 0xE2, 0x3D, 0x3D, 0x60, + 0x4F, 0xAD, 0x01, 0x96, 0xC8, 0xEC, 0xB8, 0x4D, 0xBC, 0x19, 0x69, 0x09, 0xE4, 0x96, 0x51, 0x98, + 0x84, 0xC9, 0x6A, 0x49, 0x9D, 0xB9, 0x1B, 0x9F, 0xDD, 0x06, 0xE7, 0x51, 0x08, 0x34, 0x4B, 0x56, + 0xCE, 0xC4, 0xF5, 0xFD, 0x16, 0x60, 0xB4, 0x6C, 0xB7, 0x05, 0x30, 0xFD, 0x97, 0x3C, 0x59, 0x3E, + 0x85, 0x11, 0x63, 0xF8, 0x47, 0x8F, 0xB4, 0x56, 0x9F, 0x22, 0x9A, 0xA4, 0x51, 0x40, 0x12, 0xFE, + 0x6C, 0x0D, 0xFF, 0xA8, 0x1F, 0x15, 0x79, 0x1C, 0x14, 0xC9, 0x15, 0xA3, 0x6C, 0x47, 0xA3, 0x0E, + 0x5A, 0x06, 0xCD, 0x05, 0x6A, 0x53, 0x3A, 0xF3, 0x02, 0x2A, 0x11, 0x6A, 0x81, 0x54, 0x84, 0x51, + 0x02, 0xAD, 0x1B, 0xA3, 0x11, 0x8D, 0x4F, 0xC2, 0x69, 0xEA, 0xD3, 0x46, 0x87, 0xFC, 0x4E, 0x6E, + 0x5C, 0x3F, 0xA5, 0xFB, 0x24, 0x89, 0x52, 0x4A, 0xD6, 0x00, 0x41, 0x34, 0x74, 0x4E, 0x40, 0x86, + 0xDC, 0x6B, 0x90, 0x02, 0x40, 0xF5, 0x26, 0xF4, 0xA6, 0xE4, 0xD1, 0x01, 0xE3, 0xEC, 0x94, 0xD2, + 0xE5, 0x08, 0x95, 0x6E, 0xF4, 0x26, 0x3C, 0x11, 0x6A, 0xD2, 0x6A, 0x38, 0x4E, 0x37, 0x4D, 0x3C, + 0x3F, 0xEE, 0xE2, 0xF3, 0x3D, 0x7C, 0xDE, 0x68, 0xF3, 0x0E, 0x0B, 0x09, 0x68, 0xE4, 0x05, 0x09, + 0x08, 0x96, 0xEB, 0xE7, 0x7A, 0x76, 0x55, 0x8B, 0x3D, 0xD9, 0xC2, 0xEE, 0xEB, 0x2E, 0xBD, 0x11, + 0x76, 0xA1, 0x71, 0x52, 0x03, 0x0E, 0xB4, 0xDE, 0x13, 0xAD, 0x2D, 0x98, 0x34, 0x8A, 0xC2, 0xA8, + 0x04, 0x79, 0xF6, 0x4C, 0x36, 0x64, 0x3F, 0x15, 0x35, 0x13, 0x0D, 0x90, 0x74, 0xDE, 0xD4, 0x4D, + 0xC2, 0xA8, 0x10, 0x96, 0x7A, 0x8A, 0xCD, 0xBB, 0xAF, 0x13, 0x1A, 0xFB, 0x80, 0xCA, 0x1E, 0xE8, + 0x3D, 0xB3, 0x24, 0x9F, 0xA0, 0xD8, 0xC4, 0x93, 0xC8, 0x5B, 0x26, 0x7B, 0xFC, 0x51, 0x77, 0xE2, + 0x2E, 0xA8, 0x3F, 0x01, 0xF3, 0x8D, 0x5A, 0xD4, 0xED, 0x92, 0xCF, 0x0E, 0x4F, 0x08, 0x0D, 0xA6, + 0xCB, 0x10, 0x1E, 0xC6, 0x38, 0x22, 0xFE, 0x32, 0xBA, 0xEC, 0x9F, 0x1E, 0x8D, 0xBE, 0x38, 0xBB, + 0x1C, 0xC2, 0xA8, 0xCD, 0xD9, 0x64, 0xE1, 0x5C, 0x33, 0x5B, 0x0D, 0x53, 0x8E, 0x1D, 0xB0, 0x9E, + 0xCD, 0x83, 0x6C, 0xCB, 0xF3, 0xDE, 0xF0, 0x0B, 0x6C, 0xD9, 0x85, 0xA6, 0xDD, 0x18, 0xC0, 0x19, + 0x0D, 0x86, 0x67, 0xE7, 0x83, 0xC3, 0xD1, 0x49, 0xEF, 0xB4, 0xF7, 0x79, 0xFF, 0xA4, 0x7F, 0x3A, + 0x54, 0x60, 0x3D, 0x6F, 0x9A, 0x03, 0xBB, 0xA9, 0x57, 0xEF, 0xC8, 0x18, 0x06, 0xBA, 0x76, 0x6F, + 0xDE, 0xDC, 0x1F, 0xBB, 0xC9, 0x64, 0xDE, 0x9B, 0x6E, 0x1C, 0xED, 0xA2, 0x7F, 0x72, 0xF6, 0x4D, + 0xBF, 0xB8, 0xEB, 0x05, 0x5D, 0x80, 0x19, 0x82, 0xDE, 0x40, 0x87, 0x13, 0xF7, 0x57, 0x6F, 0x91, + 0x2E, 0x84, 0x34, 0xD0, 0x18, 0x2C, 0x89, 0x9B, 0x90, 0x09, 0x98, 0xCC, 0x31, 0x05, 0x9D, 0x9C, + 0xF8, 0xE9, 0x14, 0x8C, 0x28, 0xF3, 0x06, 0xAC, 0x2F, 0x11, 0xAC, 0x77, 0xE4, 0xD0, 0x30, 0xE8, + 0x77, 0xA3, 0x4F, 0x7B, 0xC3, 0xC3, 0x2F, 0x46, 0x97, 0x83, 0x1F, 0xFA, 0x30, 0xD8, 0xBB, 0x8F, + 0x1E, 0x31, 0xD0, 0x5F, 0xD1, 0x15, 0xB4, 0x0E, 0x5C, 0x00, 0x2D, 0x2D, 0xA2, 0x16, 0x3A, 0x74, + 0x54, 0x68, 0x1A, 0x5D, 0x66, 0xA3, 0x96, 0xEE, 0xCA, 0x0F, 0x5D, 0x30, 0xD6, 0xA8, 0x5F, 0x02, + 0xF6, 0x61, 0xEF, 0xA4, 0x7F, 0x7C, 0xD8, 0xBB, 0xEC, 0x1F, 0x8D, 0x4E, 0xCF, 0x86, 0x83, 0xCF, + 0x06, 0x87, 0x3D, 0x34, 0xCC, 0x30, 0xA5, 0xEF, 0x8F, 0xCF, 0x7A, 0x47, 0xA3, 0xAF, 0xFA, 0xDF, + 0x5F, 0xC2, 0xE0, 0xE7, 0x30, 0x22, 0x37, 0x39, 0xE3, 0x70, 0xBA, 0x3A, 0x0E, 0x27, 0xBD, 0xE8, + 0x3A, 0xDE, 0x27, 0x4D, 0xFC, 0x36, 0xF2, 0xC3, 0xC9, 0xC8, 0x85, 0xEF, 0xCD, 0x8E, 0xD9, 0x02, + 0x10, 0x33, 0x1B, 0x3C, 0xA3, 0x2B, 0xF1, 0x7C, 0x02, 0xAE, 0xE8, 0x59, 0x8F, 0x19, 0x42, 0x68, + 0xC0, 0xBE, 0x8D, 0x5C, 0xF6, 0x55, 0x34, 0x48, 0xBC, 0xC4, 0xA7, 0x7A, 0x0C, 0xF6, 0x35, 0x3F, + 0x08, 0xFB, 0x51, 0x8D, 0xC2, 0xBE, 0x19, 0xC3, 0xAC, 0x6B, 0x90, 0x26, 0x5C, 0x32, 0x1F, 0x50, + 0x4C, 0x8D, 0xD1, 0xD9, 0x39, 0xF3, 0x4F, 0xF6, 0xFC, 0xA7, 0xD1, 0xEA, 0x22, 0x45, 0xC4, 0xE1, + 0xC3, 0x28, 0x4A, 0x35, 0xCE, 0x0B, 0x3A, 0x0C, 0x8F, 0xBD, 0x1B, 0x0A, 0x8F, 0xF0, 0xCB, 0x28, + 0x09, 0x47, 0x3E, 0x7C, 0x95, 0x93, 0x0E, 0x7D, 0xDF, 0x5D, 0xC6, 0x94, 0xE3, 0x2B, 0xBF, 0x19, + 0x54, 0x59, 0xA4, 0x09, 0x6A, 0xD5, 0x61, 0x08, 0xCA, 0x1E, 0x24, 0xD0, 0x46, 0xFC, 0x30, 0x9A, + 0xF0, 0x5F, 0x44, 0x33, 0xF1, 0xAD, 0x77, 0xE3, 0x7A, 0x3E, 0x3E, 0x86, 0x86, 0xE2, 0xA7, 0x91, + 0x2B, 0x7F, 0xE3, 0x4D, 0x61, 0xEA, 0x3C, 0x5C, 0xA2, 0xD3, 0x73, 0x77, 0xF2, 0x0C, 0xC4, 0xEE, + 0xD4, 0x5D, 0x60, 0x7B, 0xFD, 0xFB, 0x68, 0xC9, 0x1F, 0x8C, 0x90, 0x46, 0x1B, 0xC9, 0xA6, 0x6C, + 0xE9, 0x11, 0xBD, 0x01, 0x4F, 0x79, 0x41, 0xE3, 0xD4, 0x4F, 0x32, 0xA4, 0x3B, 0xE9, 0x5F, 0x5E, + 0xF6, 0x3E, 0x1F, 0x9C, 0x7E, 0x3E, 0x3A, 0xEA, 0x7F, 0x03, 0x31, 0x09, 0xE8, 0xC6, 0xE5, 0xD7, + 0xC7, 0x43, 0x8B, 0x80, 0x52, 0x07, 0x46, 0xDE, 0x14, 0x70, 0x11, 0x5F, 0x06, 0x53, 0x85, 0xF3, + 0x35, 0x46, 0x15, 0x4C, 0x5E, 0x79, 0x0B, 0x50, 0x92, 0x30, 0x00, 0x09, 0xF6, 0x2F, 0x8C, 0x47, + 0xC3, 0xF0, 0x19, 0x0D, 0xB6, 0x41, 0x38, 0x06, 0x8C, 0x97, 0xC0, 0x6D, 0xBA, 0x11, 0xE7, 0x4B, + 0x44, 0xFA, 0x1C, 0xD8, 0xDE, 0xB7, 0xD1, 0x56, 0x78, 0x00, 0x5A, 0xF1, 0x46, 0xBC, 0x0E, 0xC3, + 0x54, 0xB1, 0x6B, 0x06, 0x2C, 0x49, 0x23, 0xA4, 0xBA, 0xF8, 0x64, 0x3E, 0x8C, 0xD3, 0x09, 0x60, + 0x86, 0xC0, 0xC4, 0x27, 0xF3, 0xE1, 0x02, 0x08, 0x0C, 0xE0, 0xE3, 0x84, 0x93, 0x41, 0x7D, 0x1D, + 0x4C, 0xB7, 0x99, 0xF7, 0xE7, 0x51, 0x98, 0x2E, 0x6B, 0xCD, 0x7D, 0xF4, 0xF9, 0xC5, 0xD9, 0xD7, + 0xE7, 0xC5, 0x04, 0xA8, 0xC6, 0xD6, 0x9A, 0x67, 0xFE, 0x21, 0x08, 0x5B, 0x8E, 0xB7, 0x08, 0x89, + 0x3F, 0xB1, 0x28, 0x18, 0xD7, 0x9B, 0xE2, 0x30, 0x5C, 0x7A, 0x93, 0xCD, 0x93, 0xE3, 0x26, 0x5B, + 0xCD, 0x6A, 0x0B, 0x69, 0xAC, 0x31, 0x3E, 0xE8, 0xEA, 0xD4, 0x43, 0xA4, 0x2B, 0x70, 0x50, 0xE1, + 0xEE, 0xAE, 0x78, 0xBC, 0xCE, 0xE2, 0xFA, 0x13, 0xB0, 0x18, 0xE0, 0x20, 0x22, 0xF7, 0x96, 0xF9, + 0xD5, 0x98, 0x46, 0x37, 0x10, 0xBC, 0x46, 0x62, 0x6C, 0x0C, 0xE5, 0xDD, 0x6A, 0xB1, 0xE7, 0x29, + 0xC2, 0x27, 0x4B, 0x37, 0x72, 0x17, 0xE4, 0x77, 0xFE, 0xEB, 0x5A, 0x03, 0x19, 0xCE, 0xE9, 0xA6, + 0x01, 0x16, 0xEE, 0x52, 0x81, 0x10, 0x01, 0xDD, 0xEF, 0x9B, 0x24, 0x6E, 0x8D, 0x00, 0xB1, 0xD7, + 0x92, 0x4E, 0xEB, 0xE0, 0xD6, 0x7D, 0x49, 0x86, 0xC8, 0xD8, 0xE9, 0xC2, 0xBD, 0x95, 0x6D, 0x86, + 0x61, 0xAE, 0x53, 0x4B, 0xA2, 0x25, 0x43, 0x61, 0x60, 0xD6, 0x05, 0x63, 0x14, 0x59, 0xF2, 0x88, + 0xD1, 0x03, 0x96, 0x01, 0x1C, 0xE0, 0x58, 0x7E, 0x26, 0xD8, 0x9E, 0xC7, 0x46, 0x0E, 0xE7, 0xED, + 0xB9, 0xEA, 0xA1, 0xC0, 0x76, 0xEA, 0x18, 0x87, 0x36, 0x0B, 0x6D, 0x59, 0x38, 0xDD, 0x8C, 0x98, + 0x49, 0x8C, 0x9B, 0xE8, 0xC5, 0x33, 0xB8, 0xF1, 0x3F, 0xF5, 0x9B, 0x23, 0x1A, 0x3A, 0x20, 0x4E, + 0x7D, 0x48, 0xE7, 0x5A, 0x3A, 0x85, 0x58, 0x14, 0x19, 0x59, 0x13, 0x46, 0x39, 0xDE, 0xC5, 0x7D, + 0x3B, 0x95, 0x56, 0x99, 0xCD, 0x40, 0xFF, 0xB1, 0x50, 0x65, 0xC9, 0x68, 0xA6, 0x25, 0xA0, 0x19, + 0xF3, 0x88, 0x13, 0xB3, 0x6F, 0x18, 0x20, 0x66, 0x92, 0x36, 0x49, 0x52, 0xD7, 0xE7, 0xBF, 0x73, + 0xFE, 0xC1, 0x8C, 0x14, 0x28, 0x45, 0x14, 0xF6, 0x9C, 0x91, 0xA4, 0xD6, 0xDC, 0xF0, 0x0F, 0x55, + 0x27, 0xA0, 0xB7, 0x7D, 0x06, 0xF9, 0xB1, 0x8C, 0x75, 0x9D, 0xCF, 0x44, 0x5D, 0x40, 0x09, 0x11, + 0x6B, 0xE0, 0xCC, 0xA2, 0x70, 0x71, 0xC9, 0xB0, 0x64, 0xDF, 0x8B, 0xC9, 0xE0, 0x30, 0x20, 0x1D, + 0xD2, 0x7D, 0x5D, 0xA0, 0x81, 0xE1, 0x29, 0xE4, 0x7E, 0x3C, 0xC1, 0x98, 0x76, 0xC8, 0x86, 0x5E, + 0x92, 0x40, 0xFA, 0xAF, 0xAC, 0x35, 0x47, 0x58, 0xE1, 0xCE, 0xFB, 0x59, 0xC9, 0x11, 0xCB, 0x50, + 0xD8, 0xBF, 0x3A, 0x2B, 0xD2, 0x02, 0x03, 0xE9, 0xCF, 0x1D, 0xB4, 0x9D, 0xA9, 0xDE, 0x73, 0xAC, + 0xF1, 0xAC, 0xE1, 0x2E, 0x5A, 0xCF, 0x3A, 0xFE, 0x73, 0x9A, 0x5F, 0xE6, 0x1A, 0xDB, 0x07, 0x72, + 0x7C, 0x48, 0x13, 0x70, 0xB8, 0x0D, 0x0E, 0x4D, 0xE2, 0xB6, 0x42, 0xC5, 0xF0, 0x12, 0x32, 0x0D, + 0x69, 0xCC, 0xCA, 0x48, 0xF4, 0x57, 0x68, 0x2A, 0xD1, 0xD5, 0x38, 0xDC, 0xCE, 0xBD, 0xC9, 0x5C, + 0x80, 0xC7, 0xF6, 0xB7, 0x10, 0x1D, 0xC3, 0xFF, 0xE7, 0x94, 0x35, 0xCC, 0xB9, 0x59, 0x0D, 0x7C, + 0xEE, 0x82, 0xD0, 0xF0, 0x8C, 0x18, 0x4B, 0x4A, 0x8F, 0xDA, 0x2F, 0x65, 0x6C, 0x4F, 0x19, 0x7A, + 0xE4, 0x71, 0x8D, 0x36, 0x50, 0xC0, 0x78, 0xF2, 0xF4, 0xE0, 0x3E, 0xC5, 0x96, 0x39, 0xF0, 0x13, + 0x37, 0x00, 0x8D, 0xC4, 0xF4, 0xFF, 0x21, 0x45, 0xD7, 0x1A, 0xDA, 0x16, 0xDF, 0x6D, 0xF0, 0xDC, + 0x20, 0xC2, 0x56, 0x67, 0x5B, 0x8C, 0x73, 0x62, 0x24, 0x42, 0x2D, 0x56, 0xB1, 0x92, 0x91, 0x15, + 0x99, 0x00, 0xA7, 0xD1, 0xC6, 0x4A, 0x1B, 0xC9, 0xDD, 0x08, 0x8F, 0x1F, 0xC4, 0x9F, 0x19, 0x97, + 0xED, 0x93, 0x47, 0x1D, 0xF9, 0x40, 0xC2, 0xB0, 0x1E, 0x70, 0xEB, 0x1A, 0xEF, 0x03, 0x5F, 0xF9, + 0x6F, 0xEB, 0xFB, 0x75, 0x68, 0x09, 0x0A, 0x8E, 0x9E, 0xBA, 0x74, 0x4A, 0x1E, 0x58, 0xDE, 0x5F, + 0x01, 0xD4, 0x03, 0xB9, 0x9E, 0x1C, 0x16, 0xE5, 0xAE, 0x87, 0x4F, 0xC4, 0x31, 0xA9, 0x45, 0xDE, + 0x80, 0x7A, 0xDC, 0xC1, 0x3D, 0x38, 0xA9, 0x9C, 0x14, 0x98, 0x3E, 0x2B, 0x87, 0x5F, 0x4D, 0x9F, + 0x95, 0xEB, 0x55, 0xE1, 0xB3, 0x22, 0xE3, 0x71, 0xEC, 0x2C, 0xD3, 0x78, 0xDE, 0x82, 0xF9, 0xDB, + 0x7F, 0x9C, 0x37, 0xFB, 0xFC, 0x9F, 0x4E, 0x61, 0x0B, 0x06, 0x63, 0x5F, 0x4D, 0xDF, 0x6E, 0xB4, + 0x6E, 0xE7, 0x7D, 0x5F, 0xA6, 0xBB, 0x1F, 0xD3, 0x72, 0xDA, 0x0B, 0x11, 0xD6, 0xB4, 0xDF, 0xD6, + 0x8D, 0x02, 0x10, 0xC3, 0x1A, 0x0D, 0x44, 0xE5, 0x2C, 0x06, 0x63, 0x68, 0x1A, 0x1E, 0x98, 0x5F, + 0x9C, 0x40, 0x89, 0x5E, 0xD7, 0x7B, 0xF5, 0x33, 0xDD, 0xE7, 0x31, 0x50, 0x1F, 0x6C, 0xC7, 0xC4, + 0x87, 0x92, 0x25, 0x52, 0xBF, 0x65, 0x57, 0x7B, 0xD5, 0x2F, 0x76, 0x77, 0x6C, 0xA3, 0x51, 0x44, + 0x50, 0xEC, 0x5F, 0xC0, 0xEA, 0x88, 0xFA, 0x34, 0xA1, 0xB1, 0x74, 0x50, 0xE8, 0xE1, 0x98, 0xAA, + 0x7B, 0x49, 0x4C, 0x60, 0xA8, 0x70, 0xE2, 0xB9, 0x90, 0x9C, 0xE3, 0x6C, 0xC2, 0x34, 0x9A, 0x50, + 0x29, 0xDD, 0xB2, 0xBF, 0xB6, 0x66, 0xE0, 0xBD, 0xA0, 0xBA, 0x4D, 0x3F, 0x6C, 0xB5, 0x3F, 0x5A, + 0x93, 0x5E, 0x40, 0xE8, 0x62, 0x09, 0x3E, 0x40, 0xFC, 0xCA, 0x6B, 0x4C, 0xB7, 0x9E, 0xEF, 0x43, + 0x91, 0x09, 0x10, 0xF5, 0x67, 0xF0, 0x11, 0xC0, 0x32, 0x1F, 0xA2, 0x87, 0xE6, 0xA5, 0x7C, 0x86, + 0xD1, 0x54, 0x0E, 0xD4, 0x65, 0xFF, 0xDA, 0x53, 0x32, 0xAA, 0xC5, 0xBC, 0x07, 0x90, 0x28, 0x4B, + 0x13, 0xAD, 0xCD, 0x68, 0x48, 0x23, 0x98, 0x17, 0xFC, 0x17, 0x84, 0x6A, 0x2E, 0x4C, 0x83, 0x27, + 0x3E, 0x85, 0xCA, 0x57, 0xBA, 0x74, 0x72, 0x15, 0x63, 0x89, 0xB9, 0x83, 0xAD, 0xFD, 0x1B, 0xDA, + 0x52, 0xE2, 0xDE, 0x2E, 0x2A, 0x25, 0xDB, 0xF8, 0x01, 0xE7, 0x5B, 0xED, 0xB6, 0x4C, 0x98, 0x74, + 0x03, 0x35, 0xD5, 0x31, 0xC8, 0x15, 0x2E, 0x7A, 0xB0, 0xF9, 0xC3, 0x64, 0x6E, 0x3C, 0xAC, 0xBB, + 0x81, 0xB5, 0x2F, 0x90, 0x83, 0x3A, 0xEC, 0x37, 0x98, 0xFA, 0x39, 0x4D, 0x38, 0x47, 0x7F, 0xFF, + 0x04, 0x4A, 0xA1, 0xCF, 0x74, 0x94, 0x68, 0xD4, 0xA1, 0xAF, 0xD4, 0xC7, 0xAB, 0xB5, 0xC4, 0x49, + 0xA6, 0x95, 0x12, 0xCE, 0x24, 0x8D, 0x22, 0xD0, 0x67, 0x44, 0xCA, 0xE2, 0x3B, 0xFD, 0xD5, 0x85, + 0xF5, 0x10, 0xD5, 0xF4, 0xEA, 0xEA, 0xEA, 0x67, 0x28, 0xFA, 0xF0, 0x12, 0xAC, 0xFC, 0x91, 0x15, + 0x9D, 0xF5, 0x1C, 0x18, 0x1C, 0xF5, 0xBD, 0x25, 0x55, 0xF3, 0x75, 0xC1, 0x21, 0xE2, 0x8E, 0xC3, + 0x1B, 0x26, 0x02, 0xF1, 0x1C, 0x8A, 0xE6, 0x73, 0xE6, 0x71, 0x40, 0xBD, 0x75, 0x2B, 0x0B, 0x20, + 0x5B, 0x98, 0x33, 0x40, 0xC2, 0x00, 0x00, 0x55, 0xA3, 0x54, 0x2C, 0xAC, 0x38, 0x98, 0x39, 0xFF, + 0xFC, 0xF4, 0x8B, 0xE6, 0xDD, 0xB5, 0x55, 0x4C, 0x0F, 0xA9, 0x85, 0x8D, 0x2F, 0xCB, 0x0C, 0x4E, + 0x87, 0xFD, 0x8B, 0xD3, 0xDE, 0x31, 0x0F, 0xC1, 0x0B, 0x84, 0x83, 0xCF, 0x5D, 0x7B, 0x88, 0x97, + 0x55, 0x79, 0xDB, 0xF1, 0xE2, 0xD3, 0x30, 0x38, 0x4D, 0x7D, 0x9F, 0xAF, 0x3C, 0x30, 0xF8, 0x18, + 0xEE, 0xBC, 0xDC, 0x6A, 0xF2, 0x2A, 0x21, 0xF7, 0x82, 0xF8, 0xB3, 0x1C, 0x57, 0x8F, 0x1D, 0x85, + 0xB7, 0x38, 0x62, 0x85, 0x13, 0x68, 0xC9, 0xC7, 0xBA, 0x7A, 0xE0, 0x7B, 0x30, 0x5F, 0xF6, 0xF0, + 0x30, 0x9C, 0x52, 0x98, 0xC0, 0x37, 0xBD, 0xE3, 0xC1, 0xD1, 0xA8, 0x77, 0xF1, 0xF9, 0xD7, 0x58, + 0x5C, 0xEE, 0x90, 0x26, 0x80, 0x8A, 0x13, 0xB5, 0x3A, 0x42, 0x96, 0x20, 0x88, 0x6C, 0xCD, 0xCE, + 0xE2, 0x41, 0x1B, 0xCA, 0x45, 0xD0, 0x72, 0x0C, 0xFC, 0xE4, 0x35, 0x7D, 0x22, 0xB1, 0x40, 0xA4, + 0xB5, 0xB5, 0x6B, 0x1A, 0x34, 0x58, 0x67, 0xE9, 0x07, 0xED, 0x24, 0xA9, 0xB8, 0xD4, 0x1C, 0x64, + 0x9E, 0xEB, 0xC1, 0x2E, 0x78, 0x69, 0xFA, 0x0B, 0x10, 0x15, 0x9F, 0x8A, 0x8C, 0xA7, 0x72, 0x99, + 0x43, 0x53, 0xA5, 0x18, 0x8C, 0x90, 0x22, 0x8D, 0x57, 0xF1, 0x1A, 0x90, 0xEA, 0xAD, 0x2D, 0x11, + 0xAC, 0x07, 0x41, 0xDF, 0x46, 0x47, 0xF1, 0x45, 0x6B, 0xA5, 0x90, 0xC0, 0x0B, 0x26, 0x80, 0x5C, + 0x39, 0xA1, 0xA9, 0x61, 0x62, 0xD9, 0x02, 0x2D, 0x9B, 0x5E, 0xB1, 0x6B, 0x90, 0x7F, 0x1C, 0x5C, + 0xDE, 0xFA, 0xCA, 0x29, 0xF5, 0x96, 0x4B, 0x08, 0x1B, 0x77, 0x07, 0xDE, 0x55, 0x9F, 0xAF, 0x69, + 0xB2, 0x5F, 0x62, 0x50, 0xB5, 0xDD, 0xB3, 0xD8, 0x65, 0xB0, 0xD4, 0x88, 0xEC, 0x02, 0x90, 0x99, + 0x88, 0x57, 0x88, 0x67, 0x20, 0xFD, 0x94, 0x3F, 0x12, 0x25, 0xE4, 0x99, 0x77, 0x9D, 0xE2, 0x43, + 0xB1, 0x6C, 0xF6, 0x92, 0xF0, 0xA8, 0x79, 0x9B, 0x76, 0x09, 0x8B, 0x2D, 0x9C, 0x6E, 0xD7, 0x50, + 0xC9, 0x0E, 0x54, 0x24, 0x72, 0xE3, 0xB9, 0x18, 0xA4, 0x65, 0xEC, 0x93, 0x0A, 0xD4, 0x65, 0x2B, + 0x24, 0x89, 0xFC, 0x2C, 0x97, 0x1E, 0x9C, 0x6C, 0x53, 0x51, 0x4C, 0x27, 0xDF, 0xCE, 0x29, 0x2E, + 0xFC, 0xA2, 0x64, 0xE3, 0xFA, 0x8E, 0x51, 0xA8, 0xC7, 0xD5, 0x11, 0xFC, 0x8A, 0x2D, 0xF7, 0xA0, + 0xDA, 0x2E, 0xFA, 0xC3, 0x7F, 0x2D, 0xAE, 0xBE, 0x8C, 0x52, 0x61, 0xE0, 0xAF, 0x40, 0x05, 0x50, + 0x8B, 0xF2, 0x66, 0xA7, 0x47, 0x96, 0xCC, 0xA9, 0x28, 0x0F, 0x28, 0x19, 0xE3, 0x42, 0x30, 0xE5, + 0xFD, 0x92, 0xEA, 0x81, 0x06, 0x47, 0x0A, 0xB8, 0x08, 0x37, 0x89, 0x3B, 0x03, 0x0A, 0x9B, 0xD8, + 0xB0, 0xFC, 0x6A, 0x4C, 0x69, 0x20, 0x63, 0x6D, 0x00, 0xEA, 0x63, 0xD6, 0x15, 0xA0, 0x1F, 0x09, + 0x67, 0x33, 0x98, 0x82, 0x0C, 0x61, 0x15, 0x34, 0xD3, 0xD4, 0xA1, 0xA7, 0x05, 0x52, 0x46, 0xAB, + 0x12, 0x57, 0x6B, 0x78, 0x58, 0xA4, 0x44, 0xC6, 0xBF, 0x0A, 0x1C, 0x3A, 0x82, 0x6A, 0xA6, 0x74, + 0xB0, 0x05, 0x6B, 0x94, 0x0B, 0xE8, 0x80, 0xFF, 0x1C, 0x98, 0x4F, 0xF8, 0x06, 0x83, 0xC7, 0xE6, + 0xBA, 0xA7, 0x83, 0x9F, 0x0F, 0xE1, 0xA3, 0x04, 0xAA, 0xED, 0x42, 0xE1, 0x6A, 0xA7, 0x23, 0x88, + 0x2D, 0xD4, 0x97, 0xB6, 0x10, 0x4C, 0xCE, 0x9E, 0x22, 0xD2, 0xE1, 0x4C, 0xB2, 0xF4, 0xE5, 0xC7, + 0xB0, 0x1E, 0xA6, 0xFC, 0x77, 0x13, 0x57, 0xCF, 0x33, 0x06, 0xF7, 0xD3, 0x30, 0xC4, 0x28, 0xA0, + 0xC5, 0x9B, 0x3F, 0xAC, 0x59, 0xE5, 0x63, 0x1A, 0x26, 0x73, 0xCC, 0x91, 0xC9, 0x5B, 0x47, 0x5B, + 0xEB, 0x40, 0x41, 0xBF, 0x8E, 0xFC, 0x73, 0x37, 0x99, 0xB7, 0xB2, 0xAB, 0xE2, 0x0E, 0x30, 0x3D, + 0x30, 0x02, 0x84, 0x94, 0xB7, 0xD2, 0xD3, 0xD2, 0xDC, 0xE0, 0xC6, 0x91, 0x65, 0x6E, 0x52, 0xAC, + 0xF6, 0x39, 0x8B, 0xD6, 0x07, 0x56, 0x1A, 0x93, 0x63, 0xB5, 0xFE, 0x93, 0x60, 0x14, 0x67, 0x46, + 0xA8, 0x04, 0x00, 0x14, 0xF5, 0xB9, 0x3C, 0xFE, 0xD6, 0xEB, 0xF0, 0x9B, 0x8C, 0xBA, 0xE3, 0x05, + 0x37, 0x90, 0x5E, 0xE4, 0x4C, 0x74, 0x66, 0xE9, 0xB6, 0x43, 0xC4, 0x14, 0x3B, 0x12, 0x13, 0x93, + 0x78, 0x9B, 0x89, 0x53, 0x94, 0x4D, 0x16, 0x54, 0x15, 0x1C, 0x2C, 0xD0, 0x1C, 0xD8, 0x11, 0x7F, + 0x89, 0x99, 0x82, 0xFD, 0x0A, 0xA6, 0xAA, 0xC6, 0x68, 0x39, 0xB4, 0xE9, 0x72, 0xA3, 0xC8, 0x5D, + 0xA1, 0xE1, 0xD2, 0x9E, 0xF1, 0xD0, 0x0F, 0x53, 0x23, 0xC9, 0x57, 0xA6, 0xA3, 0x0F, 0x31, 0x56, + 0xB8, 0x8A, 0xF9, 0x4A, 0x2C, 0x3C, 0xC8, 0x98, 0x25, 0x90, 0x2D, 0xE8, 0x4F, 0x7C, 0x2C, 0xDA, + 0xB0, 0x5A, 0x4B, 0x0C, 0x2D, 0x60, 0x31, 0xFC, 0xE2, 0xFC, 0x90, 0xE0, 0x96, 0x09, 0x07, 0xF6, + 0x21, 0x2D, 0xC0, 0xB8, 0xD1, 0xA9, 0x00, 0x27, 0x2D, 0xC2, 0x15, 0x82, 0x68, 0xB5, 0xAF, 0x00, + 0xBF, 0x64, 0x1E, 0x4E, 0x3B, 0x4C, 0xA0, 0xC4, 0x17, 0xE2, 0x71, 0x48, 0xD7, 0x01, 0x5B, 0xAC, + 0x0D, 0x12, 0xE0, 0xE4, 0x22, 0x8C, 0x60, 0xB4, 0x19, 0x7C, 0x47, 0x79, 0x26, 0xB7, 0xEE, 0x4A, + 0x00, 0x94, 0xE8, 0xF0, 0x15, 0xA2, 0xA5, 0xAF, 0x67, 0x9C, 0xB7, 0xC7, 0x43, 0xA3, 0xA2, 0x14, + 0x33, 0x94, 0xC5, 0xA6, 0x23, 0xB0, 0x55, 0x98, 0x93, 0x22, 0x5E, 0x82, 0xE8, 0xAC, 0x64, 0xA4, + 0x63, 0xD0, 0x30, 0xE2, 0xFD, 0xA6, 0xB1, 0x44, 0x3F, 0x8C, 0x70, 0xA7, 0x4C, 0x38, 0xE3, 0x79, + 0xA7, 0x22, 0xEE, 0xD5, 0x89, 0x5C, 0x97, 0x12, 0x96, 0xE1, 0xCA, 0x81, 0x44, 0x84, 0x2B, 0xAD, + 0x80, 0xC6, 0x86, 0xCA, 0xCE, 0x36, 0x98, 0xE2, 0x92, 0x34, 0xC5, 0x49, 0x83, 0xB1, 0x73, 0x7D, + 0x55, 0xE4, 0xD8, 0xDB, 0x23, 0x9E, 0x43, 0x1D, 0xC8, 0x18, 0x02, 0xAC, 0x5F, 0xE5, 0xF9, 0xA9, + 0x28, 0x30, 0xE7, 0x1C, 0xC0, 0xA2, 0x88, 0x3F, 0x45, 0x1D, 0x8E, 0x81, 0x46, 0x0E, 0x39, 0x77, + 0xA1, 0x94, 0xA7, 0xC1, 0xC5, 0x98, 0x7D, 0xC8, 0xD1, 0xC4, 0x46, 0x28, 0x72, 0xF5, 0x29, 0xB2, + 0x55, 0x56, 0x61, 0x64, 0xB4, 0x9A, 0x21, 0xC3, 0x46, 0xBF, 0x06, 0x50, 0x7B, 0x88, 0xDF, 0x1E, + 0x4B, 0xB6, 0xB8, 0x5C, 0x89, 0x86, 0xDC, 0xB7, 0x22, 0x81, 0x51, 0x6A, 0xD2, 0x25, 0x4C, 0x0E, + 0x97, 0xE9, 0x55, 0xC7, 0xED, 0xBD, 0x5F, 0x7C, 0x77, 0xF7, 0x77, 0x5E, 0xE2, 0xFE, 0x02, 0x51, + 0x3B, 0x81, 0x99, 0xC3, 0x6E, 0x2B, 0xA4, 0x1F, 0x20, 0x8D, 0x63, 0x89, 0x2C, 0x5A, 0x90, 0x5F, + 0x8D, 0xC8, 0x71, 0xC3, 0x38, 0x8C, 0x0D, 0x5A, 0xCF, 0x7F, 0xF5, 0x7C, 0xBF, 0xC8, 0x85, 0xC5, + 0xDB, 0xF9, 0x30, 0x34, 0x84, 0xA6, 0xEF, 0xE8, 0x21, 0xCD, 0x15, 0xAC, 0x36, 0xF8, 0x16, 0x4D, + 0xE2, 0x09, 0x70, 0x15, 0x4C, 0xE0, 0x04, 0x5A, 0x32, 0x1F, 0xC4, 0xDA, 0x16, 0xD4, 0x9A, 0x06, + 0x01, 0x6A, 0x18, 0x4E, 0x76, 0x82, 0xEA, 0xF5, 0xE5, 0x25, 0xDB, 0x46, 0x86, 0x7B, 0x91, 0x84, + 0xAD, 0xD8, 0xF3, 0xBD, 0x67, 0x54, 0xD2, 0x68, 0xC1, 0xF6, 0x15, 0xCE, 0xDD, 0x1B, 0xF4, 0x16, + 0xC6, 0x10, 0x3C, 0xC7, 0xF6, 0x78, 0x25, 0x37, 0x9C, 0xE5, 0x06, 0xE1, 0x83, 0x13, 0x46, 0x0D, + 0x72, 0x96, 0x46, 0x44, 0x79, 0xDD, 0xB6, 0x50, 0x05, 0x56, 0x06, 0xC6, 0xC2, 0xEE, 0x9C, 0xD9, + 0x58, 0x24, 0xF8, 0x42, 0x14, 0x73, 0xFD, 0x15, 0x9A, 0x92, 0xE0, 0x06, 0xE2, 0x5E, 0x0C, 0x36, + 0xE6, 0x02, 0x15, 0x54, 0xC8, 0xFC, 0x30, 0x2E, 0x2E, 0x9B, 0xA7, 0xBE, 0x1B, 0x09, 0x2B, 0xC7, + 0x12, 0xEF, 0x31, 0x9D, 0xC1, 0xFC, 0x98, 0x4D, 0x42, 0xC6, 0xEA, 0xA1, 0x1D, 0xB6, 0x91, 0x0E, + 0x36, 0xC5, 0x41, 0xEC, 0xF3, 0xCA, 0xBB, 0xEF, 0xBD, 0x27, 0xC2, 0x92, 0x04, 0x74, 0x26, 0x5B, + 0x47, 0xD3, 0x42, 0x28, 0xC8, 0xC8, 0x0A, 0x59, 0x8A, 0xEE, 0xA6, 0xBD, 0xDF, 0x36, 0xDC, 0x88, + 0x2B, 0x72, 0xB1, 0x3E, 0xEA, 0x16, 0x67, 0x33, 0x42, 0x78, 0xD8, 0xF0, 0x40, 0xE2, 0xA8, 0x03, + 0x84, 0xBC, 0xBE, 0xE7, 0x02, 0x05, 0x3D, 0x11, 0x86, 0xAD, 0xD8, 0xAF, 0x47, 0x3E, 0x2A, 0xD8, + 0xB8, 0xF3, 0x90, 0x13, 0x69, 0xF0, 0x89, 0x08, 0xD3, 0xCF, 0x66, 0x83, 0x72, 0x2A, 0x6C, 0x94, + 0x90, 0x7F, 0x4C, 0xF9, 0x49, 0x83, 0xBC, 0x51, 0x80, 0x2B, 0xFC, 0xD8, 0x80, 0x9A, 0x14, 0x5D, + 0xC4, 0x0D, 0x73, 0xBE, 0x2F, 0x82, 0xBE, 0xDD, 0x83, 0x3E, 0x54, 0x25, 0x26, 0x22, 0xB0, 0x48, + 0x60, 0x2D, 0xFC, 0x66, 0xE2, 0xA1, 0xAD, 0xA2, 0xF1, 0x6C, 0x10, 0x5F, 0x2B, 0xE0, 0x14, 0x1F, + 0x64, 0x34, 0x55, 0x3F, 0xEE, 0xDC, 0x2E, 0xF6, 0xCC, 0x52, 0x35, 0x4B, 0xDD, 0x12, 0xE0, 0x40, + 0xC5, 0x7D, 0xD2, 0xC0, 0x5D, 0xCF, 0x31, 0x6C, 0x7B, 0x96, 0xA2, 0xA9, 0xF7, 0x0C, 0xBE, 0xA1, + 0x22, 0x4F, 0xAB, 0xBB, 0xDC, 0x7D, 0xB6, 0x2F, 0x31, 0xB4, 0x9A, 0xA8, 0xF9, 0xEA, 0xA0, 0x72, + 0xFB, 0xE8, 0x18, 0x3D, 0x1B, 0x8B, 0x22, 0xC4, 0xEF, 0x2D, 0xC9, 0xDD, 0x76, 0xFD, 0x68, 0xD5, + 0x48, 0xAA, 0x65, 0x04, 0xA5, 0x78, 0x92, 0x84, 0x32, 0x98, 0xC5, 0xA9, 0x67, 0xF6, 0x44, 0x89, + 0xF0, 0x4B, 0xC0, 0x92, 0x5B, 0x9F, 0xF9, 0xDE, 0x41, 0x2F, 0xB1, 0x03, 0x40, 0x1D, 0x74, 0xA5, + 0xB1, 0xA8, 0x38, 0x5F, 0x09, 0xC7, 0x8C, 0xB1, 0x68, 0xEF, 0x7C, 0x60, 0xEC, 0x81, 0x9E, 0x87, + 0xD0, 0x4E, 0x44, 0x21, 0x1A, 0x41, 0x01, 0xAC, 0x08, 0xBB, 0xC4, 0x8D, 0x40, 0x39, 0xD0, 0x87, + 0x7A, 0x4B, 0x8F, 0x6D, 0x55, 0xAE, 0x15, 0x73, 0x16, 0xC5, 0x5C, 0x77, 0x8B, 0x39, 0x05, 0x44, + 0x15, 0x7A, 0xEE, 0x12, 0x73, 0x9A, 0x69, 0xFE, 0xAD, 0x2B, 0x49, 0x8C, 0x16, 0x93, 0x45, 0x97, + 0x6C, 0xDE, 0x81, 0xDC, 0xA8, 0x9F, 0x45, 0x09, 0xE7, 0x59, 0x27, 0xFC, 0x14, 0x30, 0xED, 0x28, + 0x74, 0x8B, 0xF0, 0x93, 0xF4, 0x6C, 0x89, 0xD9, 0x1C, 0x7F, 0x72, 0x5C, 0x77, 0x88, 0x3E, 0xFF, + 0xE5, 0xC1, 0xA7, 0x12, 0x93, 0x6D, 0xAA, 0x28, 0x35, 0x82, 0x97, 0xFA, 0x75, 0xE4, 0x87, 0x8F, + 0x5D, 0xF2, 0xAA, 0x91, 0x8B, 0x61, 0x02, 0xC0, 0x4D, 0x90, 0x3E, 0xE3, 0xF7, 0xB6, 0x09, 0xC6, + 0x1C, 0x2E, 0x4E, 0x0F, 0x3B, 0x2F, 0x36, 0xE6, 0xEE, 0x11, 0x19, 0xEF, 0xFE, 0xDC, 0x04, 0x66, + 0x0C, 0x9D, 0xBF, 0x2B, 0x2C, 0x03, 0x29, 0x36, 0x23, 0x77, 0x63, 0xFE, 0xB9, 0xA8, 0x83, 0xFD, + 0x88, 0xF3, 0xAE, 0xE5, 0x9A, 0x59, 0xEB, 0x7D, 0xFE, 0x8F, 0xED, 0x56, 0xC1, 0x33, 0x46, 0x21, + 0xEC, 0x5D, 0xE4, 0xC3, 0x89, 0x6F, 0x05, 0xCD, 0x96, 0x41, 0x2C, 0xDA, 0xE0, 0x47, 0xBB, 0x01, + 0x88, 0x9D, 0x2B, 0x1A, 0xE0, 0x47, 0xAB, 0x41, 0x66, 0x43, 0xBB, 0x68, 0x68, 0xFE, 0x64, 0x77, + 0xB8, 0xA5, 0x63, 0x5C, 0xEE, 0x16, 0x6D, 0xC5, 0x37, 0xBB, 0x19, 0x9C, 0x2D, 0x38, 0xE3, 0x4B, + 0x3D, 0xA2, 0xA5, 0xFE, 0x21, 0xDB, 0x78, 0x9D, 0xF7, 0xF1, 0x76, 0xC0, 0x28, 0x1C, 0xAC, 0x95, + 0xED, 0x56, 0x15, 0xB0, 0x02, 0xE4, 0xB6, 0xE1, 0x67, 0x75, 0x75, 0x69, 0x8A, 0xDB, 0xA0, 0x4C, + 0x1F, 0x09, 0x3F, 0xE7, 0x97, 0x31, 0x25, 0x30, 0x3B, 0x5C, 0xC8, 0x39, 0x14, 0xCC, 0xFF, 0xE4, + 0xC7, 0x27, 0x38, 0x34, 0xB4, 0x62, 0x6E, 0x0A, 0xC0, 0xC0, 0xCE, 0x0A, 0x31, 0x58, 0xFC, 0xB4, + 0xD5, 0x9D, 0x86, 0x93, 0xB8, 0x3B, 0xC1, 0x32, 0xD9, 0x9E, 0x8A, 0x85, 0xBA, 0x6C, 0xED, 0xA9, + 0xEB, 0xD3, 0x6B, 0x77, 0xB2, 0xDA, 0x03, 0x2A, 0xBD, 0x82, 0xD3, 0xC5, 0xDD, 0xEE, 0x1A, 0xC4, + 0x48, 0x80, 0x68, 0xAB, 0x12, 0x50, 0x88, 0x96, 0x75, 0x0A, 0x75, 0x1A, 0xB6, 0x80, 0xC9, 0x76, + 0xB6, 0xF0, 0x9C, 0x13, 0x7D, 0x02, 0x0C, 0xC3, 0x16, 0xB8, 0xB8, 0x6D, 0x27, 0x43, 0xF7, 0x19, + 0xB4, 0x10, 0x67, 0xC1, 0x5C, 0xB5, 0xB2, 0x18, 0xE5, 0x77, 0x24, 0x5D, 0x69, 0x9F, 0x65, 0x93, + 0x2A, 0xDC, 0xD8, 0x35, 0xBE, 0x22, 0xCC, 0x09, 0x52, 0x08, 0xA9, 0x0D, 0x9F, 0xA9, 0x92, 0x7F, + 0x1D, 0x74, 0xC8, 0x31, 0x74, 0xF1, 0x4D, 0xD7, 0xDD, 0xC4, 0x2C, 0x4B, 0xFC, 0xB5, 0x35, 0x28, + 0xE9, 0x89, 0x1E, 0x05, 0x2C, 0x62, 0xF8, 0xEA, 0xC1, 0x95, 0xE3, 0x2B, 0xEA, 0xA1, 0x31, 0xE3, + 0xBB, 0xC4, 0x32, 0x2E, 0x3B, 0x9E, 0x67, 0x4A, 0x62, 0x59, 0x9C, 0xE4, 0x32, 0x4C, 0x9D, 0xA5, + 0x19, 0x79, 0x3C, 0x82, 0x2B, 0x81, 0xEB, 0xF3, 0x1F, 0xD8, 0xB0, 0x1A, 0x3B, 0xD7, 0xCF, 0x2D, + 0x90, 0x48, 0x28, 0xB5, 0x97, 0x61, 0xA0, 0xAF, 0xDA, 0xEB, 0xA3, 0x02, 0x47, 0x7B, 0xE1, 0x45, + 0x0D, 0xA9, 0x56, 0x60, 0xD8, 0xFC, 0xEA, 0x05, 0x02, 0x72, 0x1B, 0x61, 0x26, 0x0E, 0xB0, 0xD8, + 0x73, 0x16, 0x71, 0xD1, 0xE8, 0x48, 0x8A, 0x74, 0xE4, 0x94, 0xEB, 0x57, 0xA9, 0x24, 0x8D, 0x1E, + 0x3F, 0x96, 0x47, 0xCE, 0xA0, 0xAF, 0x04, 0x83, 0x09, 0xD8, 0xFA, 0x80, 0xAC, 0xCD, 0x4D, 0x12, + 0xDF, 0x88, 0x0C, 0x8A, 0xCD, 0xD5, 0x0B, 0x96, 0xA9, 0xB1, 0xDC, 0xCB, 0x8E, 0x57, 0x41, 0xB5, + 0x06, 0xCE, 0x07, 0xB1, 0xE7, 0x48, 0x17, 0xB6, 0x11, 0x6C, 0xB1, 0x08, 0x03, 0x14, 0x0C, 0xEA, + 0x63, 0x44, 0x24, 0x36, 0x71, 0xF1, 0x7D, 0x1D, 0x10, 0x8E, 0x63, 0x28, 0x65, 0x0E, 0x11, 0x43, + 0x94, 0x0E, 0xE1, 0x67, 0x47, 0xB8, 0x34, 0x57, 0x84, 0xC8, 0x6C, 0x29, 0x92, 0xBA, 0xB8, 0x6A, + 0xC5, 0x8D, 0x17, 0x57, 0x00, 0xF8, 0x0C, 0xD1, 0x01, 0xB4, 0x97, 0x0C, 0x73, 0x32, 0xCB, 0xC0, + 0x2A, 0xE5, 0xB3, 0xF7, 0x07, 0x0E, 0x01, 0xDD, 0x4D, 0x54, 0x6D, 0x9A, 0xAC, 0x68, 0x76, 0x48, + 0x6D, 0xC7, 0x79, 0xD1, 0x3F, 0x1C, 0x9C, 0x0F, 0xC0, 0x73, 0xB6, 0x0F, 0x8A, 0x71, 0x51, 0x10, + 0xCE, 0x39, 0xE3, 0x7A, 0xC1, 0x94, 0x49, 0x2D, 0xC7, 0x29, 0x6E, 0x59, 0xFC, 0x3C, 0xA8, 0xD8, + 0x78, 0x52, 0x91, 0xE7, 0x4B, 0x79, 0x28, 0xE1, 0xA3, 0x3C, 0xA3, 0xC3, 0x36, 0x1D, 0xD9, 0x7C, + 0x05, 0x96, 0x7E, 0x4A, 0x27, 0x2E, 0x1E, 0x1F, 0xBE, 0x95, 0xFB, 0x63, 0x6E, 0xD9, 0xF6, 0x02, + 0x49, 0xF2, 0x0E, 0x26, 0x1A, 0x9C, 0x5D, 0x41, 0x6E, 0x20, 0x4E, 0x35, 0xBE, 0xAB, 0x87, 0xC1, + 0xC8, 0x24, 0x39, 0x49, 0x28, 0x26, 0x54, 0xC2, 0x47, 0xFD, 0x37, 0xAA, 0x60, 0xE6, 0x83, 0x31, + 0x52, 0xEA, 0x94, 0xE0, 0xD1, 0x21, 0x0F, 0xBF, 0x47, 0x1B, 0xF9, 0x2B, 0x19, 0x6A, 0x83, 0x91, + 0x1C, 0xDE, 0x0C, 0x46, 0x08, 0x47, 0x4B, 0x89, 0x43, 0x59, 0xB9, 0xA6, 0x2C, 0x11, 0x30, 0x90, + 0xCD, 0x76, 0xB6, 0x9A, 0xF7, 0x7F, 0x4D, 0x70, 0xD9, 0x47, 0xC0, 0x53, 0x12, 0x68, 0xF5, 0xB4, + 0x8B, 0xDC, 0x97, 0x6C, 0x09, 0xBA, 0x9C, 0x0F, 0xED, 0x4D, 0x8B, 0x82, 0x49, 0x08, 0xA8, 0x97, + 0x76, 0xDD, 0x69, 0x7B, 0x1E, 0x07, 0x9C, 0x3F, 0xC3, 0xB3, 0xEB, 0x30, 0xB5, 0xEA, 0x2C, 0x75, + 0x56, 0x21, 0x33, 0xA7, 0x44, 0xEF, 0x71, 0x2D, 0x52, 0x6C, 0x8F, 0x32, 0x45, 0x1D, 0xF4, 0x1E, + 0x70, 0x90, 0x3F, 0xE9, 0x8D, 0xE9, 0xAA, 0x9A, 0x0F, 0x8E, 0x29, 0x4C, 0xE6, 0xD0, 0x20, 0xE1, + 0x75, 0x8A, 0x24, 0xBC, 0x22, 0x80, 0x4E, 0xB4, 0x32, 0x82, 0x0D, 0x2F, 0xAF, 0xD1, 0xD8, 0x94, + 0xD7, 0x60, 0xFC, 0x15, 0x90, 0x00, 0x27, 0xA4, 0xA8, 0x4D, 0x06, 0xB3, 0x4C, 0x88, 0x57, 0x10, + 0x06, 0x68, 0x77, 0xE1, 0xC5, 0x62, 0x6B, 0xAC, 0x0F, 0x39, 0x51, 0x7E, 0x10, 0x26, 0x59, 0xD9, + 0xD3, 0xA0, 0x70, 0xF4, 0xB0, 0x93, 0xD9, 0x74, 0xAE, 0xD7, 0x04, 0xF5, 0x06, 0x5C, 0xB5, 0x7F, + 0xD0, 0x95, 0x91, 0xC8, 0x35, 0x4E, 0x59, 0xAF, 0xD1, 0x5A, 0xEB, 0x2A, 0x33, 0xB9, 0x26, 0xC2, + 0x4D, 0xA1, 0xCB, 0x36, 0xB3, 0xB3, 0x2D, 0xD5, 0xF8, 0xC3, 0x16, 0x07, 0x18, 0xF2, 0xA0, 0xD9, + 0xB2, 0xC5, 0xB8, 0xFB, 0xF6, 0xBB, 0x6F, 0x7F, 0xF0, 0xCE, 0x07, 0xEF, 0xBE, 0x89, 0x31, 0x25, + 0xE6, 0x4A, 0xC2, 0xDC, 0xFE, 0x9A, 0x14, 0xEC, 0x01, 0x36, 0xCF, 0xD0, 0x15, 0xEE, 0x63, 0xB6, + 0x44, 0x72, 0x8B, 0x73, 0x47, 0x3B, 0x68, 0x11, 0x9A, 0x96, 0xEB, 0xCC, 0x21, 0x88, 0xC7, 0xDB, + 0x9D, 0x78, 0xC8, 0x8E, 0x59, 0x70, 0xAC, 0xBE, 0xA5, 0x3E, 0xFC, 0xBE, 0xEE, 0x64, 0xC7, 0x6A, + 0xE3, 0x59, 0xF9, 0x8A, 0x53, 0x8B, 0xFB, 0x64, 0x0F, 0x6E, 0x1F, 0x30, 0xCE, 0x1A, 0xB2, 0x1F, + 0x44, 0x51, 0x86, 0xED, 0x13, 0x07, 0x7D, 0xAA, 0xDC, 0x92, 0xBB, 0x45, 0x7E, 0x63, 0x0A, 0x55, + 0xBD, 0xF4, 0x26, 0x2F, 0xC3, 0x75, 0x92, 0x9B, 0xEC, 0x38, 0x5B, 0x27, 0x36, 0xAE, 0xC8, 0x67, + 0x46, 0xAC, 0xFB, 0x4E, 0x49, 0x4D, 0x61, 0x8A, 0x90, 0x99, 0x0B, 0x9C, 0x34, 0x44, 0x8B, 0x63, + 0xCD, 0x4F, 0x6E, 0x90, 0xCC, 0x4C, 0xC1, 0x0C, 0xC2, 0x65, 0x12, 0x60, 0xD7, 0xEF, 0x5E, 0x44, + 0xFF, 0x96, 0xAD, 0xCE, 0xA4, 0x00, 0x39, 0xF2, 0x3F, 0x5C, 0xE0, 0x5F, 0x5A, 0x65, 0xE3, 0x4E, + 0x3F, 0x87, 0xD8, 0x43, 0x94, 0x10, 0x55, 0x68, 0x06, 0xE1, 0xDD, 0x69, 0x4E, 0x02, 0x95, 0x0A, + 0x02, 0xF3, 0x8B, 0xBD, 0x9F, 0x5D, 0x95, 0x13, 0x3B, 0xE8, 0xEC, 0x0D, 0xA7, 0xDA, 0x3C, 0x7A, + 0x33, 0x8B, 0x03, 0x0E, 0x3B, 0x76, 0x70, 0x36, 0x6B, 0x35, 0xF7, 0x9B, 0x6D, 0xB6, 0x9A, 0xB8, + 0xF7, 0x66, 0xD1, 0xDA, 0x3D, 0x73, 0x2F, 0xCB, 0x10, 0x0C, 0xDD, 0x98, 0x2F, 0x9A, 0xEB, 0x6C, + 0x48, 0x20, 0x8B, 0xDA, 0x58, 0xE0, 0x2D, 0xCD, 0xA4, 0xC7, 0xB5, 0x54, 0xCD, 0xF2, 0xCC, 0xA1, + 0x19, 0x5D, 0x3B, 0xE4, 0x5B, 0x8A, 0xF6, 0x13, 0x55, 0x1C, 0x4B, 0xD7, 0x71, 0xB8, 0x10, 0x7B, + 0x54, 0xC2, 0x98, 0x3B, 0xBA, 0x18, 0x77, 0x98, 0xC0, 0x05, 0x3D, 0x93, 0x67, 0x6A, 0xD7, 0x10, + 0x4E, 0x13, 0x11, 0x14, 0xF4, 0x90, 0xB5, 0x86, 0xD8, 0x5A, 0xC2, 0x87, 0x27, 0x3E, 0x16, 0x3F, + 0x80, 0xF8, 0xB8, 0xBC, 0x52, 0x94, 0xF0, 0x33, 0x5F, 0x2C, 0x21, 0xC8, 0x1E, 0xA4, 0x85, 0x05, + 0x78, 0x94, 0x05, 0x5C, 0x2A, 0x09, 0x28, 0x6F, 0x05, 0xB6, 0x7E, 0x9C, 0x62, 0x59, 0x31, 0x37, + 0x8E, 0x35, 0xE5, 0x62, 0xA0, 0x78, 0x11, 0x10, 0xB9, 0xE5, 0xB3, 0x4D, 0x91, 0x55, 0x62, 0xAF, + 0x13, 0xF0, 0xFB, 0x7A, 0x0E, 0xDB, 0x0B, 0xD2, 0x08, 0x70, 0xF3, 0x26, 0x77, 0xF3, 0xD0, 0x56, + 0xEA, 0xC5, 0x4A, 0xE6, 0xCF, 0x8D, 0x50, 0xCF, 0x5D, 0x16, 0xC1, 0xE0, 0x24, 0x16, 0x6E, 0xC2, + 0x04, 0xA6, 0xA8, 0xB4, 0x46, 0x9A, 0xE4, 0x0D, 0xCB, 0x29, 0x37, 0xE1, 0x8E, 0x27, 0x59, 0x89, + 0x49, 0xE3, 0x7C, 0x14, 0x29, 0x85, 0x10, 0x94, 0xC3, 0xD6, 0x0E, 0x3B, 0x9D, 0xE4, 0x75, 0x00, + 0x2E, 0x69, 0xCA, 0x5E, 0xA3, 0xAF, 0x91, 0xE6, 0x45, 0x85, 0x80, 0x35, 0x8A, 0x05, 0xC6, 0x20, + 0xA2, 0x6E, 0x70, 0xCF, 0x75, 0x81, 0xE7, 0x3D, 0x17, 0x2F, 0xA0, 0x1F, 0x5F, 0x10, 0xD9, 0x90, + 0x97, 0xE7, 0x06, 0x28, 0x4A, 0xD3, 0xEF, 0x2B, 0x2F, 0x7F, 0x91, 0x0A, 0xE7, 0xB3, 0xD8, 0x9C, + 0x8B, 0xD8, 0x61, 0xB9, 0xFE, 0x45, 0x1A, 0x99, 0x4B, 0x23, 0x2D, 0x2F, 0xA0, 0x2C, 0x08, 0x3F, + 0x3F, 0x8C, 0x6E, 0x92, 0x49, 0x4A, 0x6E, 0x0C, 0x69, 0x0B, 0x5B, 0x22, 0xC3, 0x83, 0x93, 0x9C, + 0xF0, 0x8F, 0x2E, 0xD5, 0x17, 0xD7, 0xB5, 0xB9, 0xA3, 0x8C, 0x60, 0xCE, 0xE1, 0x42, 0xB8, 0xC1, + 0x76, 0x36, 0xF1, 0xCC, 0x0D, 0x53, 0x9E, 0x87, 0xC2, 0xC6, 0x22, 0x17, 0x12, 0x11, 0x33, 0xA4, + 0x37, 0xC2, 0xC6, 0x16, 0x0F, 0x84, 0x6F, 0xA9, 0xF0, 0xD0, 0xE8, 0x8D, 0xFD, 0x30, 0x44, 0x67, + 0x8C, 0x98, 0x17, 0x11, 0xEC, 0xCA, 0xCC, 0x10, 0xAF, 0xD4, 0x31, 0xEA, 0xB6, 0x53, 0x96, 0xC7, + 0x8A, 0xB9, 0xE6, 0x6D, 0x66, 0xEC, 0xAE, 0xC4, 0x02, 0x76, 0x6E, 0x94, 0x72, 0x9A, 0x03, 0x64, + 0x49, 0x66, 0xD2, 0xF2, 0x32, 0x5B, 0x5D, 0xD9, 0x06, 0x02, 0xED, 0x99, 0xDA, 0x40, 0xC4, 0x7C, + 0xFE, 0x9C, 0x1F, 0x67, 0xF3, 0xED, 0x1F, 0xB9, 0x01, 0xC4, 0x01, 0x63, 0x0A, 0x68, 0xB5, 0xEF, + 0xE6, 0xC3, 0xB7, 0xCF, 0xB2, 0xB1, 0x87, 0x7C, 0x2E, 0x4E, 0x7B, 0xF2, 0xA8, 0xF9, 0x91, 0xD9, + 0xFA, 0x39, 0x0E, 0x76, 0x15, 0xDB, 0xD0, 0x7F, 0xD7, 0xD9, 0xEC, 0x94, 0xAB, 0x05, 0xE4, 0xEC, + 0xAB, 0x14, 0xE3, 0xCA, 0x8A, 0x40, 0x65, 0x05, 0xA2, 0x56, 0x45, 0x40, 0x8F, 0xA6, 0x6B, 0x02, + 0x25, 0x07, 0xFE, 0x45, 0xBA, 0x5F, 0x39, 0xC7, 0xF5, 0x4B, 0xB5, 0xAB, 0x28, 0x95, 0x55, 0x8D, + 0x5D, 0x4A, 0x08, 0x09, 0x9E, 0xAC, 0xAE, 0x57, 0x05, 0x60, 0x4D, 0x77, 0x48, 0xFF, 0x59, 0xBF, + 0x7B, 0xCC, 0xFB, 0x19, 0x3C, 0x74, 0x0C, 0xFC, 0x13, 0xFC, 0xFF, 0x45, 0x12, 0x5F, 0x95, 0xC4, + 0xB3, 0x03, 0xF4, 0x99, 0xF4, 0x9D, 0xD1, 0xEE, 0xE1, 0x92, 0xF6, 0x7F, 0xF3, 0x6A, 0x1D, 0x23, + 0x1E, 0x06, 0xE0, 0x92, 0x68, 0x4D, 0x83, 0xA8, 0x77, 0x5D, 0xC2, 0xB9, 0xAF, 0xF8, 0x1F, 0x66, + 0x7F, 0x0E, 0xFB, 0xC1, 0xA4, 0xFC, 0x33, 0x4C, 0xB9, 0x84, 0x75, 0xD9, 0xE7, 0xB8, 0x8B, 0x5C, + 0x0B, 0xE8, 0x04, 0x87, 0x88, 0x56, 0xC6, 0x54, 0xB9, 0x68, 0x70, 0x44, 0x02, 0x88, 0x51, 0x00, + 0x97, 0xDF, 0xF8, 0x9C, 0xF9, 0x7C, 0x5F, 0x24, 0x19, 0xCF, 0x71, 0x92, 0x31, 0xB2, 0x25, 0xF5, + 0xEF, 0x90, 0xD2, 0xE7, 0x25, 0x9F, 0x61, 0x53, 0xFB, 0xF7, 0x65, 0x31, 0x5B, 0xDD, 0xB0, 0x84, + 0x7F, 0x5B, 0xDE, 0xB4, 0x54, 0x72, 0x4F, 0x5F, 0xE1, 0xF6, 0x6C, 0x39, 0xD8, 0x36, 0x87, 0x03, + 0x0B, 0x02, 0x87, 0x89, 0xB8, 0xBE, 0xAF, 0xD6, 0xFE, 0x28, 0xA3, 0xF9, 0x0E, 0x01, 0x84, 0xEA, + 0x7B, 0x8F, 0x41, 0x84, 0x82, 0x89, 0xA1, 0x80, 0xFE, 0x86, 0x40, 0xF0, 0xD2, 0x6B, 0x74, 0x10, + 0x2A, 0xB0, 0xE0, 0x52, 0x67, 0x6D, 0x66, 0x22, 0x2F, 0x02, 0x0D, 0x3B, 0xD0, 0x50, 0xB7, 0x3A, + 0x66, 0x82, 0x0D, 0x45, 0xDF, 0x87, 0x0B, 0x38, 0x2A, 0x56, 0x09, 0x14, 0x4A, 0x0F, 0x71, 0x90, + 0xC6, 0x4C, 0x99, 0x34, 0x81, 0xEC, 0x5C, 0x49, 0x3D, 0xDB, 0x65, 0x59, 0xE0, 0xFF, 0x5A, 0xF8, + 0xE4, 0x45, 0xA2, 0xEC, 0x35, 0x66, 0x2C, 0x58, 0xD0, 0x5A, 0x1D, 0x73, 0x3D, 0x66, 0x53, 0x8B, + 0x53, 0x40, 0x37, 0x0D, 0xF8, 0x8D, 0xD1, 0x72, 0xDB, 0xE3, 0x2F, 0x69, 0x98, 0x60, 0xFC, 0xF9, + 0xAD, 0xB8, 0xDD, 0x47, 0x77, 0x35, 0x87, 0xF1, 0x62, 0xC1, 0x01, 0x7E, 0x68, 0x24, 0xBC, 0x11, + 0x9A, 0x73, 0x0B, 0xE2, 0xD1, 0x01, 0xAB, 0x93, 0x8E, 0x15, 0x28, 0x7E, 0xA2, 0x04, 0x43, 0x54, + 0x00, 0xC5, 0x8E, 0x21, 0x72, 0x3E, 0xFF, 0xD8, 0x90, 0x26, 0x25, 0x83, 0xB2, 0x31, 0x8A, 0xBA, + 0xDB, 0x4E, 0x9D, 0x64, 0x14, 0xC7, 0x1B, 0xE5, 0x0A, 0x0A, 0x03, 0xEA, 0xB2, 0x39, 0xF0, 0x08, + 0x66, 0xBC, 0xC2, 0x83, 0x00, 0xBE, 0x3B, 0x41, 0x8A, 0xCB, 0x73, 0x4E, 0x59, 0x74, 0x98, 0x05, + 0x30, 0x06, 0xC9, 0xCD, 0x5B, 0x3D, 0x99, 0x68, 0xED, 0x35, 0x0C, 0x3C, 0x87, 0x4E, 0x5B, 0xDD, + 0x46, 0xF7, 0x1A, 0x24, 0xF8, 0xC7, 0x66, 0xF3, 0x45, 0x48, 0xF8, 0x1C, 0x87, 0x84, 0xFF, 0x70, + 0x9C, 0x56, 0x28, 0x43, 0x2F, 0x42, 0x36, 0x16, 0xB2, 0xD5, 0xBB, 0xD6, 0xF8, 0x1E, 0xC2, 0xB6, + 0x74, 0x8C, 0xF7, 0x5A, 0x8D, 0x69, 0xAC, 0x77, 0x6F, 0x24, 0xA1, 0x88, 0xE3, 0x4A, 0x6B, 0x3E, + 0xE4, 0x89, 0xEC, 0xC7, 0x5B, 0x8B, 0x47, 0x9B, 0x0B, 0x3F, 0x0B, 0x76, 0x89, 0xDE, 0x1E, 0x0F, + 0x91, 0x5E, 0x89, 0x53, 0xDE, 0x7F, 0x04, 0xFC, 0x1A, 0xA5, 0x41, 0x2C, 0xE1, 0x8D, 0x52, 0xB4, + 0x38, 0x23, 0xA0, 0xDF, 0x4E, 0x31, 0x9C, 0x8A, 0x8D, 0xFC, 0x55, 0x87, 0xBD, 0x46, 0x66, 0xE2, + 0x2A, 0xFF, 0x09, 0xFD, 0x04, 0xC8, 0xA2, 0xDD, 0xE7, 0x0A, 0x83, 0x9D, 0x37, 0x9E, 0xC3, 0x8D, + 0x05, 0xAA, 0x1A, 0xAF, 0x46, 0xD8, 0x74, 0xAC, 0x90, 0xE4, 0x36, 0x9D, 0x64, 0xF1, 0x10, 0x3B, + 0x73, 0x04, 0x13, 0xB6, 0x29, 0x6D, 0x09, 0x08, 0xF7, 0x1F, 0xF9, 0x71, 0x34, 0x55, 0xBC, 0xA7, + 0xE6, 0xA1, 0x87, 0x9C, 0x66, 0xB0, 0xAE, 0x11, 0x0B, 0xCA, 0x8E, 0x22, 0xFD, 0xAC, 0xBB, 0x77, + 0x9C, 0x81, 0xD7, 0xCA, 0x68, 0x1F, 0x0C, 0xC9, 0x5F, 0x07, 0xCA, 0x15, 0xBE, 0x12, 0x24, 0x78, + 0xAD, 0x3C, 0x4A, 0xCD, 0xCE, 0xE6, 0x97, 0x59, 0x94, 0xEA, 0xD6, 0xD7, 0x41, 0x6C, 0x6B, 0x17, + 0x5B, 0x75, 0xA9, 0xD6, 0x2F, 0xDD, 0x97, 0xF7, 0xA8, 0xA9, 0x63, 0x2C, 0x37, 0xCA, 0x68, 0xDA, + 0x9E, 0x80, 0xC3, 0xAD, 0xF1, 0x2B, 0xA6, 0xA6, 0x21, 0xDC, 0x3B, 0x55, 0x5D, 0xC9, 0xEE, 0xDA, + 0x96, 0x06, 0xF7, 0xA3, 0x6F, 0xF7, 0x7D, 0xD2, 0x23, 0xCD, 0xD1, 0xBD, 0xBE, 0x06, 0x62, 0x6B, + 0xAE, 0x83, 0x1C, 0xCE, 0x3F, 0xA0, 0x85, 0x7A, 0x50, 0x71, 0x0A, 0x78, 0x1B, 0x4D, 0x34, 0x3A, + 0x7F, 0x06, 0x5D, 0x9F, 0x17, 0x6D, 0x2C, 0x42, 0xAB, 0xD9, 0xA9, 0x7C, 0x4D, 0x8C, 0x52, 0xCA, + 0xD2, 0xF9, 0xEA, 0xEB, 0x06, 0x32, 0xB3, 0xAC, 0x9F, 0x65, 0xB2, 0xC9, 0xE5, 0xEE, 0x22, 0xD8, + 0x1C, 0xEB, 0x66, 0xBA, 0x6C, 0xB8, 0x0F, 0x41, 0x44, 0x07, 0x33, 0xD8, 0xA6, 0x05, 0x10, 0x30, + 0x9E, 0x1C, 0x4C, 0x5B, 0xF2, 0x3A, 0xBA, 0xCD, 0x71, 0xCA, 0x52, 0xB6, 0x97, 0x18, 0xD5, 0xCD, + 0x72, 0x75, 0x47, 0xD9, 0x33, 0x7F, 0xC9, 0x4A, 0x0C, 0x32, 0x99, 0xA0, 0x7D, 0x60, 0xA9, 0xDC, + 0xAF, 0xF8, 0xA6, 0x33, 0x48, 0x5C, 0x44, 0x3F, 0xB8, 0xD6, 0x8D, 0xB4, 0xF8, 0xA2, 0x2D, 0xBB, + 0xFD, 0x09, 0x2E, 0xEB, 0x3B, 0x13, 0xE1, 0xB7, 0xBC, 0x78, 0x12, 0x7A, 0xE3, 0xD5, 0xAB, 0xD4, + 0x9F, 0xC1, 0x6A, 0xE8, 0xDF, 0xBF, 0xFA, 0x68, 0xDE, 0xEF, 0x28, 0xD7, 0x79, 0x55, 0xD1, 0x86, + 0x1A, 0x78, 0xB3, 0x29, 0x69, 0x09, 0x81, 0x2B, 0x6B, 0x20, 0x10, 0x65, 0xA5, 0x6D, 0x7E, 0x05, + 0x78, 0xE1, 0xEA, 0xDF, 0x1B, 0xA4, 0x79, 0x79, 0xF4, 0x15, 0xD3, 0x57, 0x7D, 0xB7, 0xEC, 0x64, + 0xC2, 0xEE, 0xD3, 0x9D, 0x44, 0xB0, 0xE4, 0x1B, 0x20, 0x0C, 0x9C, 0x3C, 0x3C, 0xCE, 0x50, 0x89, + 0xAF, 0xFC, 0x03, 0x23, 0x45, 0x84, 0xEC, 0x94, 0x8F, 0xD0, 0xF3, 0x59, 0x8A, 0x96, 0x78, 0x90, + 0x5C, 0xAF, 0xD4, 0x46, 0x85, 0xCF, 0xCF, 0xCE, 0x3E, 0x3F, 0xEE, 0x8F, 0x0E, 0x8F, 0xCF, 0xBE, + 0x06, 0x07, 0x74, 0x71, 0xF6, 0x65, 0xFF, 0x70, 0x08, 0xF7, 0x65, 0xDD, 0x78, 0x51, 0x18, 0xA0, + 0x72, 0xA1, 0xD8, 0x7A, 0x78, 0xE9, 0xA0, 0xB5, 0x70, 0xBA, 0x2E, 0x28, 0x08, 0xA7, 0x4A, 0x07, + 0x1A, 0xF0, 0x4A, 0xA5, 0xAE, 0x40, 0x34, 0x66, 0x17, 0x42, 0x28, 0x99, 0x80, 0xCF, 0x8D, 0xAE, + 0x3C, 0x66, 0xB9, 0x8F, 0x0A, 0xDD, 0x28, 0x8B, 0xD3, 0x35, 0xC8, 0x3A, 0xE1, 0xE7, 0x17, 0xD4, + 0x87, 0xD0, 0x57, 0xE4, 0x51, 0xC2, 0x7A, 0x22, 0x78, 0xE6, 0x76, 0x44, 0x3A, 0x1B, 0x0B, 0x03, + 0x6B, 0x3A, 0x32, 0xB2, 0x50, 0xB6, 0x44, 0xC6, 0xF2, 0x65, 0x6E, 0xE3, 0x77, 0x9E, 0x89, 0xFF, + 0xC1, 0xFF, 0x79, 0xF2, 0x74, 0x5D, 0x7E, 0x92, 0x02, 0xAC, 0xF9, 0x56, 0xAE, 0x84, 0xDC, 0xDD, + 0x8B, 0x08, 0xEC, 0xD6, 0xDB, 0x05, 0x74, 0xF9, 0xDE, 0x82, 0x80, 0xF8, 0xE2, 0x21, 0xBE, 0xB9, + 0x19, 0x3E, 0xC8, 0x8C, 0x38, 0x84, 0x97, 0x35, 0x7A, 0xE0, 0xA2, 0x45, 0x1B, 0x70, 0xD1, 0xE8, + 0x69, 0x4A, 0x21, 0x2D, 0x81, 0x73, 0x08, 0x43, 0xBD, 0x4F, 0x8C, 0xFD, 0xC2, 0x26, 0xA5, 0xDF, + 0x05, 0x28, 0x69, 0x5E, 0x79, 0x63, 0x72, 0xD5, 0xD5, 0xEE, 0x1F, 0xAD, 0x4B, 0x6F, 0x2F, 0x10, + 0xE9, 0x7C, 0x14, 0xC3, 0x77, 0xB3, 0xF6, 0xF1, 0xBA, 0x71, 0x27, 0x7A, 0xB5, 0x57, 0x2B, 0x77, + 0x3E, 0x5B, 0xF9, 0xB6, 0x8E, 0x41, 0xE1, 0x0E, 0xA3, 0x48, 0x3D, 0x3F, 0x71, 0xC7, 0xB3, 0x7C, + 0x7A, 0xD0, 0xF6, 0x41, 0xCD, 0x15, 0x47, 0xDD, 0xE5, 0x3F, 0xB9, 0xE4, 0xF7, 0x1F, 0x3B, 0xE3, + 0xA7, 0xB9, 0x55, 0x7F, 0xB5, 0xCE, 0xEE, 0xA3, 0xA7, 0xD4, 0x07, 0xC3, 0x83, 0xD7, 0x1A, 0x14, + 0xDA, 0xB1, 0x56, 0xDC, 0xCE, 0xAF, 0xA6, 0x7B, 0xB1, 0xB2, 0x6C, 0x76, 0xA1, 0xCA, 0xC2, 0x9B, + 0xDF, 0x08, 0x57, 0xFF, 0x2C, 0xDA, 0x3D, 0x9D, 0xB5, 0x2B, 0xC3, 0xE2, 0x49, 0x29, 0xA0, 0xA7, + 0x39, 0xBF, 0x57, 0x5E, 0xF5, 0x2A, 0xBC, 0x81, 0x61, 0x5F, 0x28, 0xFD, 0x46, 0x5C, 0x46, 0xDC, + 0xDC, 0xEF, 0x97, 0x21, 0x98, 0xED, 0xBD, 0xBE, 0xCF, 0xBA, 0x56, 0xE1, 0xDB, 0x18, 0xC1, 0x2C, + 0xFD, 0x2D, 0xD7, 0x84, 0x6E, 0xFD, 0x9E, 0x8D, 0x3A, 0x7E, 0x5F, 0xEA, 0x78, 0x6C, 0x2F, 0x40, + 0x28, 0x6A, 0x14, 0xD5, 0x72, 0x71, 0xC3, 0xA0, 0xDC, 0x17, 0xD6, 0x91, 0x4B, 0x0A, 0xEA, 0xF4, + 0x9C, 0xD0, 0xF3, 0xB2, 0x40, 0x20, 0x5F, 0x5C, 0x5D, 0xEB, 0xB5, 0xB7, 0x82, 0x71, 0x99, 0x09, + 0x10, 0xD2, 0x6B, 0x3B, 0xDE, 0x7C, 0x85, 0x75, 0x2D, 0x31, 0xCC, 0xC2, 0x52, 0xBF, 0x6A, 0x58, + 0x35, 0x9C, 0x56, 0xCD, 0xB5, 0x8E, 0x8C, 0x07, 0x2B, 0x5F, 0x2D, 0xB3, 0x8D, 0xAA, 0x68, 0xCB, + 0xB5, 0x5F, 0x94, 0xC7, 0xEB, 0xDE, 0xB5, 0x23, 0xFA, 0x3E, 0xC0, 0x5A, 0x98, 0x78, 0x35, 0x26, + 0xDE, 0xB6, 0x93, 0x67, 0x8D, 0x5C, 0xF3, 0xD2, 0xE8, 0x8B, 0x0B, 0x8F, 0x12, 0x02, 0x77, 0xCD, + 0xC1, 0x23, 0xE3, 0x5E, 0xD3, 0x06, 0x5E, 0x70, 0xD2, 0xC0, 0x18, 0xAE, 0x61, 0xEE, 0x0D, 0x6D, + 0x18, 0x05, 0xDB, 0x9A, 0xEB, 0x64, 0xF9, 0xE5, 0xB0, 0x9D, 0xE8, 0xC7, 0x80, 0x3C, 0xC8, 0xB5, + 0x3E, 0xE2, 0xD5, 0x9A, 0x19, 0xFA, 0x89, 0xD1, 0x6D, 0xFA, 0x65, 0x49, 0x50, 0x4B, 0x6B, 0x2D, + 0x85, 0xF9, 0xA7, 0x95, 0xD3, 0x8A, 0x42, 0x6D, 0x98, 0x3D, 0xF3, 0x2D, 0xE0, 0x6A, 0x5D, 0x55, + 0x02, 0x65, 0x42, 0x84, 0x61, 0x77, 0x42, 0xF1, 0xCE, 0x20, 0x7C, 0xA0, 0x8B, 0xFA, 0x31, 0x3C, + 0x9C, 0xCC, 0xF5, 0x01, 0x49, 0xF8, 0xE3, 0xB1, 0x3D, 0x7B, 0x19, 0xEF, 0xA1, 0xCB, 0xCE, 0xDA, + 0xF2, 0xAD, 0xE1, 0x31, 0x9C, 0xB0, 0x84, 0x17, 0x8A, 0xBA, 0x75, 0x02, 0xD4, 0x32, 0x5D, 0x2F, + 0x52, 0x6E, 0x25, 0x33, 0xF6, 0x4A, 0x52, 0xC5, 0xFA, 0x4D, 0xFB, 0xA0, 0xA8, 0xE3, 0x57, 0x70, + 0x30, 0x49, 0xBF, 0x3F, 0xFB, 0x19, 0x7C, 0x2B, 0x59, 0xEF, 0x51, 0xEF, 0x30, 0x3E, 0xCF, 0x74, + 0x7C, 0xD2, 0x44, 0xDD, 0x6A, 0x82, 0x84, 0x99, 0x9A, 0xD5, 0x7C, 0x9A, 0xE9, 0xA8, 0xCE, 0x62, + 0x1D, 0x41, 0xDB, 0xB3, 0xE8, 0x34, 0x77, 0x16, 0xF3, 0x31, 0xBF, 0x36, 0x5F, 0x77, 0xD1, 0xB8, + 0x15, 0xBD, 0xEA, 0x48, 0x3F, 0xAD, 0x8A, 0x1C, 0x45, 0x4B, 0xB5, 0x4A, 0x2A, 0xF1, 0xC0, 0x80, + 0x50, 0xED, 0x08, 0xC7, 0x39, 0x5B, 0x21, 0x4B, 0x7E, 0xA6, 0xF2, 0xB8, 0x5C, 0x66, 0xF0, 0xC7, + 0xF2, 0xD4, 0xDC, 0x03, 0x94, 0x32, 0x94, 0x25, 0x6C, 0x58, 0x96, 0x50, 0xCE, 0xCA, 0x3C, 0x4E, + 0x00, 0x6B, 0xC7, 0x98, 0xBD, 0x6B, 0x6C, 0x31, 0x7D, 0xFF, 0x51, 0x19, 0xBC, 0x95, 0xC3, 0x08, + 0x65, 0x0A, 0x37, 0x0B, 0x9D, 0xA1, 0x4F, 0x61, 0x21, 0xA2, 0xC9, 0x2D, 0x28, 0xBA, 0xE1, 0x9C, + 0x09, 0x75, 0x9A, 0xBB, 0x9C, 0xCE, 0xDE, 0x24, 0x0F, 0xA5, 0x37, 0xAB, 0xEB, 0x88, 0xA2, 0xD2, + 0xAB, 0x49, 0xF8, 0x9B, 0xBC, 0x81, 0x3D, 0x17, 0x25, 0x0A, 0xDA, 0x88, 0x6F, 0x44, 0xF4, 0xEF, + 0xB7, 0xDF, 0x95, 0xFE, 0x4F, 0xE0, 0x77, 0xCF, 0x5E, 0xCF, 0x78, 0x5F, 0x39, 0xDD, 0x60, 0x8B, + 0xF0, 0x20, 0x2F, 0xBF, 0x47, 0x71, 0x93, 0x22, 0x52, 0x97, 0x6F, 0x8A, 0xDA, 0xF3, 0x71, 0x83, + 0x08, 0x3F, 0x8F, 0x11, 0x54, 0xC7, 0x20, 0x35, 0xFC, 0x28, 0x1F, 0xFA, 0xF9, 0xD4, 0x3F, 0xC4, + 0x4D, 0xD5, 0x4A, 0xAA, 0xB5, 0xB1, 0x54, 0xF1, 0xBE, 0x41, 0x38, 0xB6, 0xAF, 0xDE, 0xAC, 0x76, + 0xA6, 0x39, 0x17, 0x54, 0x2A, 0xB0, 0xA3, 0x50, 0x52, 0xB2, 0x85, 0x58, 0xD3, 0xDD, 0xCE, 0xDA, + 0x38, 0xA8, 0x27, 0xBC, 0xDF, 0x53, 0x9B, 0xF0, 0x36, 0xF3, 0xD9, 0xF9, 0x5A, 0x68, 0xBF, 0x87, + 0x98, 0x88, 0x4B, 0xBD, 0xE5, 0xF9, 0x5C, 0x06, 0xEC, 0x81, 0x8E, 0xA1, 0xDC, 0x3F, 0xF7, 0x1C, + 0xF8, 0x09, 0x67, 0xA6, 0x98, 0xA9, 0x58, 0x58, 0xC8, 0xC6, 0x8C, 0xDD, 0x4D, 0xF5, 0x85, 0xD7, + 0xF2, 0x6D, 0x7B, 0xDB, 0x1C, 0x70, 0x41, 0xEE, 0x68, 0x64, 0x98, 0x17, 0x62, 0x4E, 0x98, 0x5D, + 0x02, 0xDD, 0xFD, 0x89, 0xBF, 0x8A, 0xFF, 0x47, 0xA7, 0xEB, 0x24, 0x90, 0x03, 0x0A, 0x2E, 0xD7, + 0x62, 0x16, 0xCE, 0x15, 0x01, 0x95, 0xFB, 0x4D, 0x64, 0x23, 0xAF, 0x49, 0xB2, 0xDD, 0xF3, 0x22, + 0xE4, 0x6E, 0xF2, 0x21, 0x9D, 0xA6, 0xF3, 0x3C, 0xB1, 0x13, 0x67, 0x33, 0x86, 0xAD, 0x48, 0xCF, + 0x44, 0x1C, 0xF7, 0x23, 0xB3, 0x87, 0x36, 0xDF, 0x14, 0x6B, 0x1A, 0x95, 0x2C, 0x40, 0xD7, 0x63, + 0x67, 0xF3, 0x26, 0x43, 0x0E, 0xE5, 0x75, 0x8A, 0x78, 0xA4, 0x5E, 0xBF, 0x43, 0x30, 0x47, 0xFD, + 0xBC, 0x71, 0x6D, 0xC9, 0x20, 0x2A, 0x0F, 0xC5, 0x1C, 0xAF, 0x74, 0x38, 0xD3, 0xB8, 0x6F, 0x39, + 0xAC, 0xD9, 0x35, 0x37, 0xBC, 0xF9, 0xA8, 0x56, 0x6A, 0x64, 0x4A, 0x8E, 0xB0, 0x52, 0x96, 0x00, + 0x65, 0x18, 0xA2, 0xDD, 0x50, 0x66, 0x6A, 0x42, 0x96, 0xA1, 0xB1, 0x81, 0x0E, 0xCE, 0xA4, 0xF2, + 0xAE, 0xEE, 0x4F, 0x8F, 0x7B, 0x87, 0x5F, 0x1D, 0x0F, 0x2E, 0x87, 0xFD, 0xA3, 0xD1, 0x51, 0x6F, + 0xD8, 0x93, 0x72, 0xC2, 0xF6, 0xCA, 0x14, 0x18, 0x40, 0x03, 0x99, 0x52, 0x43, 0x98, 0x6F, 0xA5, + 0xF1, 0xD2, 0x5C, 0x7A, 0xB8, 0xE3, 0x74, 0x77, 0x15, 0x7C, 0xE3, 0xE7, 0xBB, 0x2B, 0x80, 0x21, + 0x09, 0xF2, 0xF5, 0x09, 0x66, 0xE2, 0xA4, 0x93, 0x22, 0x6E, 0x36, 0xEC, 0xCC, 0xA8, 0x96, 0x44, + 0xD7, 0x7C, 0x29, 0x77, 0x59, 0xF7, 0x0E, 0x39, 0xEC, 0x9D, 0xF4, 0x8F, 0x0F, 0x7B, 0x97, 0x20, + 0x14, 0xA7, 0x67, 0xC3, 0xC1, 0x67, 0x83, 0xC3, 0x1E, 0x26, 0xC5, 0x92, 0x96, 0x6A, 0x23, 0xD5, + 0xA6, 0xC5, 0x58, 0x03, 0x7A, 0xBD, 0x72, 0x96, 0x92, 0xCF, 0xFB, 0xAD, 0x5A, 0xED, 0x5E, 0x69, + 0xCA, 0x25, 0xC6, 0x36, 0xCC, 0xB2, 0xC4, 0x58, 0x02, 0xDD, 0x32, 0x31, 0xFE, 0x3B, 0xD2, 0x62, + 0x81, 0x69, 0x26, 0x14, 0x2D, 0xD9, 0x18, 0x2E, 0x7E, 0xDE, 0x90, 0x16, 0xEB, 0xFD, 0x90, 0x95, + 0xC5, 0x9E, 0x1D, 0x8D, 0x59, 0xA5, 0x8D, 0x12, 0xD5, 0x99, 0xDD, 0xCC, 0x53, 0xA1, 0x69, 0x32, + 0xE7, 0xFD, 0x30, 0x71, 0xB1, 0xAA, 0x30, 0x35, 0xAC, 0x0A, 0xD3, 0x26, 0x8B, 0xB4, 0xBD, 0x31, + 0xCA, 0x24, 0x80, 0xF7, 0x67, 0x7A, 0x4A, 0xCC, 0x89, 0x41, 0x47, 0xC3, 0x82, 0xC8, 0xD9, 0x2A, + 0x9B, 0x51, 0x5F, 0x78, 0x14, 0x2D, 0x8C, 0x00, 0x33, 0xC6, 0x08, 0x93, 0xE3, 0x5D, 0xE1, 0x12, + 0xE1, 0xAA, 0x18, 0x1F, 0xDE, 0xF6, 0x4D, 0x47, 0x30, 0x9D, 0x66, 0x8E, 0xCF, 0x18, 0xF5, 0x6D, + 0xDA, 0xD5, 0x61, 0x34, 0x75, 0x4C, 0x38, 0xED, 0xA2, 0x97, 0x67, 0xC0, 0xEF, 0x6C, 0x05, 0xF9, + 0xB1, 0x31, 0xE8, 0x57, 0xD9, 0x31, 0xDB, 0xE4, 0x63, 0x92, 0x7D, 0xB6, 0x4F, 0xB2, 0x08, 0x1E, + 0xFC, 0xCD, 0x59, 0x71, 0x2D, 0x99, 0xDB, 0x1C, 0xCD, 0xCB, 0x89, 0x5A, 0x89, 0x98, 0xCE, 0xB7, + 0x0A, 0x03, 0xFA, 0xE6, 0x36, 0x87, 0x2C, 0x54, 0xB4, 0x8E, 0x6F, 0x44, 0x19, 0xC1, 0xB5, 0xFE, + 0x95, 0xAC, 0x13, 0x6F, 0x6D, 0xC9, 0xF0, 0x4C, 0xF4, 0xAD, 0x64, 0x17, 0xBF, 0xF8, 0x3A, 0xCF, + 0x29, 0xF5, 0xF3, 0x3E, 0x91, 0x58, 0xFC, 0xF7, 0xF9, 0x23, 0xDE, 0x37, 0x53, 0xC9, 0x96, 0x65, + 0xE4, 0xC1, 0xD6, 0x88, 0xE4, 0x4E, 0x2A, 0x25, 0x60, 0x3C, 0xC4, 0xCD, 0x61, 0xBA, 0x9A, 0xBF, + 0x0B, 0x5D, 0x1B, 0x12, 0xD3, 0x12, 0x72, 0x36, 0xEF, 0x4F, 0xDC, 0x23, 0x8A, 0x0D, 0x71, 0xB9, + 0x7C, 0xB4, 0x04, 0x1B, 0x0F, 0xCB, 0x84, 0x23, 0xB4, 0xAF, 0x05, 0x64, 0x36, 0x47, 0xAC, 0x4D, + 0xF2, 0x12, 0xF0, 0x95, 0x1A, 0xA2, 0xFB, 0x9D, 0xF3, 0x6E, 0xF8, 0x24, 0xAF, 0x30, 0x65, 0xAD, + 0xF6, 0x49, 0xD9, 0xB4, 0xFE, 0xFB, 0xFA, 0xB4, 0xB5, 0x00, 0x24, 0xDE, 0x82, 0xE2, 0x71, 0x4C, + 0x7C, 0x01, 0x6B, 0xB5, 0x72, 0xA5, 0x8B, 0x31, 0x8D, 0x32, 0x1C, 0x36, 0xFA, 0x57, 0xB3, 0x15, + 0x1B, 0x0F, 0xC3, 0x63, 0x68, 0x9A, 0xE7, 0xA5, 0x7E, 0xC4, 0x19, 0x68, 0x80, 0xFD, 0x3F, 0x70, + 0x8D, 0xD1, 0xB5, 0x92, 0x57, 0x62, 0x7B, 0xCD, 0xC8, 0xBD, 0x81, 0x2D, 0x92, 0xB0, 0x67, 0xB0, + 0x9A, 0x61, 0x45, 0x5E, 0x2A, 0x0F, 0xA5, 0x9A, 0x6D, 0xA2, 0x47, 0x4F, 0x74, 0xB0, 0x99, 0x67, + 0x37, 0xD8, 0x27, 0x16, 0xB6, 0xFF, 0x03, 0x3E, 0xD6, 0xF5, 0x66, 0x8B, 0x34, 0x41, 0x82, 0x8C, + 0x04, 0x89, 0x76, 0x62, 0x63, 0x0E, 0x46, 0x25, 0x13, 0x45, 0xFB, 0x43, 0xDE, 0x3C, 0xCF, 0x42, + 0xEB, 0xF1, 0x3E, 0xC9, 0x63, 0xF9, 0x7F, 0x67, 0x1F, 0x4F, 0xC7, 0x25, 0x46, 0xF5, 0x0B, 0x0C, + 0x98, 0x21, 0x93, 0xB0, 0xF2, 0xCE, 0x6A, 0xD8, 0xEF, 0x75, 0xA7, 0xCA, 0xC3, 0x9D, 0x37, 0xCE, + 0x02, 0x02, 0x46, 0x39, 0xA2, 0x6A, 0xF7, 0x2A, 0x02, 0x91, 0x1F, 0xD1, 0xB5, 0xCA, 0x3D, 0xA7, + 0x9E, 0xC0, 0xBA, 0xF4, 0xFD, 0xAE, 0xBF, 0x33, 0xC6, 0x0F, 0x82, 0x59, 0xF8, 0xF1, 0x9A, 0x3C, + 0xA1, 0xF2, 0xCB, 0x53, 0x04, 0x28, 0xCF, 0x1C, 0xC3, 0x77, 0x05, 0x6F, 0x56, 0xB2, 0x3F, 0x8E, + 0x2D, 0x83, 0x4A, 0x6A, 0xD5, 0x2F, 0x51, 0x14, 0x6E, 0xEB, 0xAC, 0xFD, 0x12, 0x0C, 0x73, 0x5F, + 0xA9, 0x42, 0xDD, 0xD0, 0x3C, 0xA6, 0xDE, 0xEA, 0x41, 0xEE, 0x48, 0xBB, 0xF1, 0x7B, 0xFD, 0x5B, + 0x3B, 0xE4, 0xC6, 0xF8, 0x5A, 0x67, 0xE0, 0xD9, 0x56, 0xB6, 0x0D, 0x3B, 0xF6, 0xB6, 0x09, 0xE3, + 0xEA, 0xEF, 0xFB, 0xDB, 0xCE, 0x12, 0x20, 0x01, 0x40, 0xC5, 0x2F, 0x8A, 0xE4, 0xCF, 0x3C, 0x3B, + 0x8F, 0x7A, 0x2A, 0xE8, 0x2D, 0x35, 0x7A, 0xE3, 0xF1, 0x79, 0xB6, 0xEF, 0xBB, 0x58, 0xB9, 0x73, + 0xAF, 0xC5, 0xDA, 0x61, 0xF7, 0x4C, 0xB9, 0xDE, 0xDE, 0xB1, 0x5E, 0x78, 0x67, 0xAD, 0xDD, 0x7E, + 0xBB, 0xFB, 0xDF, 0xAE, 0xE0, 0xD4, 0x54, 0xF0, 0xFE, 0x3F, 0xAF, 0xE0, 0xFF, 0x3E, 0xE5, 0xB6, + 0xDE, 0xEB, 0xBC, 0x85, 0x36, 0xE6, 0xAA, 0x5B, 0x5C, 0x32, 0xB4, 0xFF, 0x0C, 0x42, 0xE3, 0x5D, + 0x6A, 0x6F, 0x76, 0x1E, 0x3D, 0x7A, 0x54, 0x28, 0xD3, 0xF9, 0x02, 0x66, 0x39, 0x02, 0xFA, 0xFD, + 0x71, 0x6F, 0x02, 0xB0, 0xBB, 0x97, 0x32, 0x85, 0x7D, 0x18, 0x86, 0x80, 0x28, 0x6C, 0xFE, 0x29, + 0xC2, 0x4E, 0xAB, 0xA3, 0x17, 0xC8, 0x77, 0x5C, 0xA9, 0x53, 0x0E, 0x65, 0xA6, 0xC3, 0x21, 0xEC, + 0xED, 0x92, 0xE5, 0xEB, 0xF7, 0x70, 0x22, 0x52, 0xBF, 0x92, 0x16, 0xA0, 0x48, 0x9A, 0xD5, 0x24, + 0x19, 0x59, 0x52, 0xD5, 0xDD, 0x5E, 0xF3, 0xDF, 0x86, 0x45, 0x16, 0x70, 0xF3, 0xA2, 0x0B, 0xCB, + 0xEE, 0xE5, 0x78, 0x55, 0xCE, 0x27, 0xBB, 0x6C, 0x6D, 0xB5, 0xED, 0x10, 0xB6, 0x79, 0xAA, 0xD6, + 0x46, 0x83, 0x2A, 0x77, 0xD1, 0xBE, 0x9F, 0xB5, 0xB6, 0x52, 0x77, 0x51, 0xED, 0x2B, 0xDC, 0x84, + 0x4F, 0x07, 0x9F, 0xF2, 0x4F, 0xF8, 0x40, 0xBB, 0x90, 0xCD, 0xFB, 0x00, 0xF2, 0x74, 0xAE, 0xB1, + 0xEE, 0xBF, 0xDE, 0xDA, 0xAF, 0x14, 0xC5, 0x86, 0x7C, 0x3B, 0xFB, 0x3D, 0x78, 0x15, 0xEB, 0x98, + 0xD2, 0x83, 0x58, 0xFF, 0x9D, 0xC2, 0x3B, 0x8E, 0x9E, 0x17, 0x6F, 0x6F, 0xEE, 0xD5, 0x91, 0x1A, + 0xFB, 0x16, 0xC4, 0xE7, 0xC9, 0xA2, 0x6F, 0x50, 0x1D, 0x8E, 0xEC, 0xFD, 0x44, 0x55, 0x8C, 0x1A, + 0xD5, 0x9A, 0xA1, 0x55, 0x80, 0x73, 0x5D, 0x98, 0x97, 0x05, 0x1A, 0x48, 0x6A, 0xDC, 0xF0, 0x5E, + 0x92, 0x2C, 0x35, 0xE4, 0x39, 0xA4, 0x27, 0xEE, 0xDE, 0x6F, 0xBD, 0xBD, 0x1F, 0x1E, 0xED, 0x7D, + 0xB0, 0x37, 0x72, 0xFE, 0x7C, 0xF5, 0xE9, 0x1B, 0x8D, 0xBB, 0xC4, 0x56, 0x2F, 0xE4, 0x7E, 0x5B, + 0xB9, 0xFF, 0x17, 0xC9, 0x3C, 0xC3, 0xF7, 0xFF, 0x27, 0xEA, 0xA7, 0xE2, 0x14, 0x5E, 0xA1, 0xAC, + 0x73, 0x09, 0x1B, 0xAF, 0xE0, 0x67, 0x76, 0xDC, 0x8F, 0x5D, 0xF4, 0x24, 0x77, 0x6A, 0xC9, 0x81, + 0x9B, 0x9D, 0xCC, 0x69, 0xBF, 0x6D, 0x45, 0x5F, 0x0A, 0xB1, 0x3C, 0x0E, 0x58, 0xB6, 0xCD, 0x40, + 0x41, 0xC0, 0xBE, 0xAA, 0xB5, 0x89, 0x69, 0x8D, 0x7D, 0x00, 0xB2, 0x5B, 0x99, 0x74, 0xE6, 0xC5, + 0xF0, 0xE5, 0xEE, 0x4F, 0x3F, 0x8A, 0x79, 0xFE, 0xD8, 0xE5, 0xBB, 0xE0, 0xCA, 0x44, 0x44, 0x00, + 0x54, 0xFC, 0x40, 0x66, 0xB3, 0x8F, 0xE5, 0xA5, 0x1A, 0xF1, 0x5C, 0x72, 0x46, 0x3F, 0xD0, 0xB8, + 0x1F, 0xBC, 0xB4, 0x6E, 0xE1, 0xFB, 0x26, 0xE0, 0x80, 0x7C, 0x18, 0x25, 0xB1, 0x96, 0x75, 0x18, + 0xCA, 0x68, 0xF4, 0x17, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB7, 0x4A, + 0x48, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x00, + 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, + 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, + 0x62, 0x2F, 0x70, 0x72, 0x6F, 0x6A, 0x65, 0x63, 0x74, 0x2D, 0x6D, 0x61, 0x6E, 0x61, 0x67, 0x65, + 0x6D, 0x65, 0x6E, 0x74, 0x2F, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, + 0x79, 0x5A, 0x0B, 0x73, 0xAE, 0x33, 0xBA, 0x98, 0x08, 0x00, 0x00, 0x03, 0x21, 0x00, 0x00, 0x41, + 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, + 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, + 0x69, 0x62, 0x2F, 0x70, 0x72, 0x6F, 0x6A, 0x65, 0x63, 0x74, 0x2D, 0x6D, 0x61, 0x6E, 0x61, 0x67, + 0x65, 0x6D, 0x65, 0x6E, 0x74, 0x2F, 0x61, 0x6E, 0x64, 0x72, 0x6F, 0x69, 0x64, 0x2D, 0x61, 0x70, + 0x70, 0x2E, 0x6A, 0x73, 0xDD, 0x59, 0x59, 0x8F, 0xD3, 0x30, 0x10, 0x7E, 0xE7, 0x57, 0x0C, 0x05, + 0xA9, 0x2D, 0xB4, 0x29, 0x20, 0x40, 0x1C, 0x42, 0xA2, 0xB0, 0x1C, 0xE5, 0x28, 0x68, 0xBB, 0x80, + 0x10, 0x2C, 0x8B, 0x37, 0x71, 0xBB, 0x86, 0x34, 0x0E, 0xB6, 0xB3, 0xA5, 0x82, 0xFD, 0xEF, 0xCC, + 0x38, 0xA7, 0x93, 0x14, 0xCA, 0x02, 0x2F, 0xF4, 0xA5, 0xAD, 0x3D, 0xE7, 0x37, 0xE3, 0x99, 0x49, + 0x3C, 0xBA, 0x70, 0x16, 0xE6, 0x42, 0xF1, 0x43, 0xA6, 0xF9, 0x90, 0x05, 0x4B, 0x11, 0xC1, 0xF1, + 0x4D, 0xEF, 0xAA, 0x77, 0x05, 0x2E, 0x8C, 0xCE, 0x74, 0x12, 0xCD, 0x41, 0x1B, 0x25, 0x7C, 0xD3, + 0xB9, 0x7D, 0x06, 0x49, 0xCF, 0xC0, 0x05, 0xB8, 0x2F, 0xE3, 0xB5, 0x12, 0x8B, 0x23, 0x03, 0x57, + 0x2E, 0x5D, 0xBE, 0x01, 0x8F, 0xA4, 0x5C, 0x84, 0x1C, 0x26, 0x91, 0xEF, 0xE1, 0x2E, 0x11, 0x3C, + 0x13, 0x3E, 0x8F, 0x34, 0x0F, 0x20, 0x89, 0x02, 0xAE, 0xC0, 0x1C, 0x71, 0x18, 0xC7, 0xCC, 0xC7, + 0xAF, 0x6C, 0x67, 0x00, 0xAF, 0xB9, 0xD2, 0x42, 0x46, 0x70, 0xC5, 0xBB, 0x04, 0x3D, 0x22, 0xE8, + 0x64, 0x5B, 0x9D, 0xFE, 0x6D, 0x12, 0xB1, 0x96, 0x09, 0x2C, 0xD9, 0x1A, 0x22, 0x69, 0x00, 0x6D, + 0x40, 0x19, 0x42, 0xA3, 0x99, 0xA8, 0x87, 0x7F, 0xF5, 0x79, 0x6C, 0x00, 0xCD, 0xF4, 0xE5, 0x32, + 0x0E, 0x05, 0x8B, 0x7C, 0x0E, 0x2B, 0x61, 0x8E, 0x90, 0xA6, 0x50, 0xE0, 0x91, 0x8C, 0xB7, 0x99, + 0x0C, 0x79, 0x68, 0x18, 0x92, 0x33, 0x64, 0x88, 0xF1, 0xDF, 0xBC, 0x4A, 0x08, 0xCC, 0x64, 0x46, + 0x03, 0x1C, 0x19, 0x13, 0xDF, 0x1A, 0x8D, 0x56, 0xAB, 0x95, 0xC7, 0xAC, 0xB9, 0x9E, 0x54, 0x8B, + 0x51, 0x98, 0x12, 0xEA, 0xD1, 0xB3, 0xC9, 0xFD, 0x07, 0xD3, 0xD9, 0x83, 0x21, 0x9A, 0x9C, 0xB1, + 0xBC, 0x8A, 0x42, 0xAE, 0x35, 0x28, 0xFE, 0x25, 0x11, 0x0A, 0xDD, 0x3D, 0x5C, 0x03, 0x8B, 0x63, + 0x64, 0x60, 0x87, 0x68, 0x68, 0xC8, 0x56, 0x20, 0x15, 0xB0, 0x85, 0xE2, 0xB8, 0x67, 0x24, 0x99, + 0xBC, 0x52, 0xC2, 0x88, 0x68, 0x31, 0x00, 0x2D, 0xE7, 0x66, 0xC5, 0x14, 0x27, 0x31, 0x81, 0x20, + 0x84, 0x0F, 0x13, 0x93, 0x23, 0xE6, 0x18, 0x28, 0xB4, 0x43, 0x20, 0xD1, 0x91, 0x08, 0x3A, 0xE3, + 0x19, 0x4C, 0x66, 0x1D, 0xB8, 0x37, 0x9E, 0x4D, 0x66, 0x03, 0x12, 0xF2, 0x66, 0xB2, 0xF7, 0xF8, + 0xC5, 0xAB, 0x3D, 0x78, 0x33, 0xDE, 0xDD, 0x1D, 0x4F, 0xF7, 0x26, 0x0F, 0x66, 0xF0, 0x62, 0x17, + 0xEE, 0xBF, 0x98, 0xEE, 0x4C, 0xF6, 0x26, 0x2F, 0xA6, 0xF8, 0xEF, 0x21, 0x8C, 0xA7, 0x6F, 0xE1, + 0xE9, 0x64, 0xBA, 0x33, 0x00, 0x2E, 0x50, 0x85, 0x42, 0x2C, 0x63, 0x85, 0x1E, 0x90, 0x99, 0x82, + 0xB0, 0xE4, 0x81, 0x05, 0x6E, 0xC6, 0xB9, 0x63, 0xC2, 0x5C, 0xA6, 0x26, 0xE9, 0x98, 0xFB, 0x62, + 0x2E, 0x7C, 0x74, 0x2D, 0x5A, 0x24, 0x6C, 0xC1, 0x61, 0x21, 0x8F, 0xB9, 0x8A, 0xD0, 0x23, 0x88, + 0xB9, 0x5A, 0x0A, 0x4D, 0x31, 0xD5, 0x68, 0x60, 0x40, 0x62, 0x42, 0xB1, 0x14, 0x86, 0x19, 0x5A, + 0x6A, 0xFA, 0x45, 0x8A, 0x46, 0x67, 0x5E, 0x1C, 0x7E, 0xE2, 0xBE, 0xF1, 0x02, 0x3E, 0x17, 0x11, + 0x7F, 0xA9, 0x24, 0x4A, 0x31, 0xEB, 0x1E, 0x9A, 0x25, 0x95, 0xD1, 0x03, 0xE8, 0x1C, 0x1C, 0x70, + 0xFD, 0x5C, 0x06, 0x49, 0xC8, 0x3B, 0x03, 0xF8, 0x06, 0xC7, 0x2C, 0x4C, 0xF8, 0x2D, 0x30, 0x2A, + 0xE1, 0x70, 0x82, 0x89, 0x92, 0x11, 0x7A, 0xB3, 0x23, 0x76, 0x1F, 0x39, 0xC9, 0x36, 0x66, 0x38, + 0xDC, 0x81, 0x7C, 0x63, 0x1C, 0x05, 0x4A, 0x8A, 0x60, 0x1C, 0xC7, 0xB8, 0x78, 0x8C, 0xBF, 0xE0, + 0xD2, 0xED, 0x33, 0xC7, 0x0C, 0x3D, 0x57, 0x4A, 0xAA, 0x83, 0xCB, 0xB8, 0x9A, 0x45, 0xAF, 0xD7, + 0xF1, 0xBC, 0x51, 0x62, 0x44, 0xA8, 0x47, 0x76, 0xAF, 0xD3, 0xB7, 0x84, 0xA4, 0x52, 0x04, 0xCC, + 0x48, 0xD5, 0x4A, 0x9A, 0xED, 0x96, 0xE4, 0xB1, 0x92, 0xE4, 0xD1, 0xC1, 0x92, 0x45, 0x88, 0xCF, + 0x92, 0x47, 0xE6, 0x80, 0xC5, 0xE2, 0x80, 0x38, 0xB9, 0x36, 0x07, 0x22, 0x32, 0x88, 0x17, 0x0B, + 0x6B, 0x9A, 0x47, 0x19, 0xDB, 0xB0, 0x64, 0x1B, 0x22, 0xDB, 0x30, 0x63, 0x1B, 0xE6, 0x6C, 0xB9, + 0x16, 0x81, 0x68, 0x7E, 0xAD, 0xCB, 0xB0, 0x8B, 0x39, 0x05, 0x7A, 0xFC, 0x32, 0x64, 0x06, 0x23, + 0xB7, 0x44, 0xAA, 0x8C, 0xDE, 0xCB, 0xD4, 0x3C, 0x2F, 0xB4, 0x78, 0x15, 0xBA, 0x94, 0xD1, 0x41, + 0x6C, 0x74, 0xE1, 0x02, 0xDC, 0xF5, 0x43, 0xA6, 0x35, 0x06, 0x0B, 0x7A, 0xF3, 0x24, 0xF2, 0x29, + 0x9C, 0xD0, 0xEB, 0xC3, 0xB7, 0x33, 0x80, 0x9F, 0x62, 0xA5, 0x64, 0xEB, 0xE1, 0x11, 0x98, 0x04, + 0x03, 0xC8, 0x6C, 0x7F, 0x8C, 0xC9, 0x10, 0x72, 0x65, 0x19, 0xD2, 0x8F, 0x3D, 0xCB, 0x9E, 0xA5, + 0x42, 0x15, 0xF6, 0xFB, 0xB6, 0xBB, 0xE7, 0xB2, 0x22, 0x91, 0xBB, 0x50, 0x52, 0x8B, 0x39, 0xF4, + 0xCE, 0x16, 0x31, 0xF0, 0x84, 0x9E, 0xCA, 0xE8, 0xC1, 0x32, 0x36, 0xEB, 0x99, 0x51, 0x98, 0x94, + 0xA9, 0x29, 0xFD, 0x5C, 0x77, 0xA9, 0x43, 0xC9, 0x15, 0x44, 0x7C, 0x95, 0x67, 0x81, 0xF7, 0x30, + 0xAB, 0x7F, 0x2F, 0xEB, 0xF8, 0x3C, 0x20, 0x82, 0x5E, 0x57, 0x44, 0x56, 0xC9, 0x90, 0xA9, 0x45, + 0x42, 0xCB, 0xDD, 0x01, 0x74, 0x53, 0x07, 0x96, 0x89, 0x36, 0x70, 0x88, 0x65, 0x04, 0x2B, 0x55, + 0x34, 0xE4, 0xA4, 0x1B, 0xB4, 0x55, 0xEE, 0x75, 0xFB, 0xA5, 0xA1, 0x27, 0x75, 0x07, 0xB5, 0x4C, + 0x94, 0xCF, 0xA7, 0x6C, 0x49, 0xD9, 0xDA, 0xC9, 0xE2, 0xA2, 0x47, 0xC3, 0x11, 0x2B, 0x80, 0xD4, + 0xA3, 0x0E, 0x5C, 0xCC, 0xF1, 0x29, 0x84, 0x50, 0x4C, 0xEC, 0x37, 0x1E, 0xB0, 0x5D, 0x8E, 0x9A, + 0xF8, 0x31, 0xD7, 0xB0, 0xE4, 0x86, 0x21, 0x06, 0x0C, 0xD8, 0xA1, 0x4C, 0x8C, 0x55, 0x92, 0x87, + 0x84, 0x24, 0x78, 0x29, 0x47, 0xC1, 0x78, 0x57, 0x71, 0x93, 0x28, 0x8C, 0x1A, 0xE5, 0xEB, 0x52, + 0xD8, 0xFA, 0xCA, 0x0C, 0x90, 0x59, 0x21, 0x89, 0x33, 0xD2, 0x1E, 0x55, 0x95, 0xC9, 0x0F, 0xB6, + 0x95, 0x3F, 0xB2, 0xDF, 0x65, 0x2E, 0x50, 0xC2, 0x19, 0x69, 0xD6, 0x31, 0xF7, 0x16, 0xDC, 0x3C, + 0xCF, 0x84, 0xA0, 0xC7, 0xB5, 0x4C, 0xCA, 0x3E, 0xA9, 0x55, 0x6D, 0x39, 0x40, 0xEC, 0xBB, 0x19, + 0x68, 0xBD, 0x06, 0x84, 0x7D, 0x27, 0xBC, 0x1E, 0x9A, 0x1E, 0x55, 0x72, 0x15, 0x29, 0x63, 0x89, + 0x15, 0x67, 0x07, 0x55, 0xD7, 0x52, 0x61, 0xFB, 0xE3, 0xEA, 0xE1, 0x19, 0xC0, 0x0A, 0x33, 0xE3, + 0x0A, 0x0B, 0xDE, 0x6E, 0x26, 0xB1, 0x57, 0x4B, 0xBD, 0x69, 0x12, 0x86, 0x69, 0x45, 0x73, 0x95, + 0x0E, 0xA0, 0xFA, 0x17, 0x73, 0xA7, 0x02, 0x46, 0xAF, 0xFF, 0xBE, 0xAB, 0x9D, 0xFD, 0x5A, 0x4E, + 0x45, 0x28, 0x14, 0xA4, 0x95, 0x9A, 0xA5, 0x54, 0xF9, 0xC1, 0x03, 0x5B, 0x74, 0x9F, 0x87, 0x82, + 0x87, 0x81, 0x7E, 0x86, 0xAD, 0x02, 0xF1, 0x7D, 0xD7, 0x8D, 0x10, 0x97, 0x22, 0x4D, 0xE9, 0x47, + 0xE6, 0x6A, 0xF6, 0x87, 0xF9, 0x9F, 0xD1, 0xE1, 0x29, 0x11, 0xED, 0xBB, 0x32, 0x9B, 0xF2, 0x3C, + 0xAC, 0x0E, 0x0F, 0xB0, 0x1F, 0x56, 0x30, 0x75, 0x88, 0x72, 0x50, 0xFF, 0x1D, 0xB0, 0x95, 0x33, + 0xED, 0x20, 0xFB, 0xCE, 0xB1, 0x63, 0xBF, 0x01, 0x74, 0xC7, 0x01, 0xBA, 0x86, 0xB3, 0x47, 0xC7, + 0xCB, 0x11, 0x80, 0xFF, 0x3B, 0x3F, 0x3B, 0xD1, 0x9D, 0x1A, 0xFC, 0x27, 0xCD, 0x70, 0x94, 0x27, + 0xE5, 0x4E, 0x1B, 0x2A, 0x59, 0xA9, 0xBD, 0x55, 0xAD, 0xCF, 0xDE, 0x78, 0xBA, 0xB3, 0xFB, 0x62, + 0xB2, 0x33, 0x68, 0x90, 0x57, 0x73, 0xFC, 0x96, 0x6B, 0x3B, 0x85, 0xB7, 0xC9, 0x60, 0x83, 0x5D, + 0xA3, 0xB4, 0x6B, 0x0D, 0x52, 0x9A, 0x29, 0xD0, 0x9A, 0x75, 0x8B, 0xE8, 0xCA, 0x0E, 0x7C, 0xFF, + 0x0E, 0x94, 0x7F, 0x83, 0x4D, 0xF1, 0x6D, 0x68, 0x2B, 0xD6, 0x9B, 0x2C, 0x95, 0x9C, 0xAB, 0x33, + 0x95, 0x3B, 0x2E, 0xDB, 0x49, 0x89, 0x6F, 0x59, 0x1F, 0x0A, 0x88, 0x69, 0xB3, 0x0C, 0x44, 0x4A, + 0x5F, 0x2F, 0x91, 0x33, 0x6E, 0xB4, 0xAD, 0x65, 0x32, 0xA6, 0xCC, 0x65, 0x21, 0x4D, 0x93, 0x6A, + 0x88, 0x49, 0x27, 0x16, 0x11, 0x0F, 0x72, 0x18, 0x80, 0xF0, 0xCC, 0x46, 0xC3, 0xD6, 0x82, 0x19, + 0x33, 0xC5, 0x96, 0xD4, 0x33, 0x76, 0x2A, 0xE8, 0xEC, 0x21, 0x31, 0x2E, 0x39, 0x42, 0xA8, 0x76, + 0x6A, 0x6E, 0x7E, 0xB7, 0xE2, 0xAE, 0xB0, 0x66, 0x91, 0x72, 0x57, 0xD6, 0x11, 0xD3, 0x98, 0x8A, + 0xB8, 0x83, 0x12, 0xB7, 0xA8, 0xB1, 0x48, 0x55, 0x31, 0xCF, 0x29, 0xB3, 0xAE, 0xE5, 0x5B, 0x16, + 0x5D, 0x57, 0x5E, 0xB3, 0xEE, 0x0E, 0x6A, 0x80, 0x6C, 0x8C, 0xC2, 0xA3, 0x3C, 0x0A, 0x21, 0x96, + 0x13, 0x82, 0x79, 0xF6, 0x78, 0x0C, 0x7E, 0x31, 0xB1, 0xA1, 0xFF, 0x18, 0x10, 0xE9, 0x0B, 0xFC, + 0x19, 0xD8, 0x59, 0xBE, 0xD1, 0x61, 0x68, 0x78, 0xCE, 0xBB, 0xF4, 0x26, 0x6C, 0xF7, 0x5C, 0x05, + 0xC3, 0xCB, 0x34, 0x88, 0xDA, 0x5F, 0x57, 0xAE, 0x5D, 0xFF, 0x6D, 0x75, 0xB9, 0x74, 0xFC, 0x14, + 0x9A, 0xB7, 0x88, 0x01, 0x56, 0x1C, 0x77, 0x1A, 0xD5, 0xA7, 0x6C, 0x77, 0x99, 0xF4, 0x9A, 0xB0, + 0xFF, 0xA3, 0xF9, 0xD5, 0x9C, 0xFA, 0xA3, 0x1E, 0x68, 0x67, 0x40, 0xA7, 0x9C, 0x54, 0x23, 0x5D, + 0xF5, 0xB9, 0x86, 0xFB, 0xBB, 0xFD, 0x5A, 0x35, 0xFF, 0x57, 0xE0, 0x8C, 0x95, 0x62, 0xEB, 0xDE, + 0x46, 0x13, 0x9B, 0x08, 0x75, 0xAA, 0xDB, 0x1D, 0x98, 0x53, 0x6F, 0x2A, 0x10, 0xA1, 0x27, 0x36, + 0xB4, 0x06, 0x44, 0x5A, 0x2F, 0xDA, 0xD0, 0x2C, 0xE4, 0x01, 0x95, 0xC9, 0xD3, 0x4C, 0x0D, 0xFA, + 0x88, 0x3D, 0x66, 0xFA, 0xA8, 0xBB, 0xDF, 0x5A, 0x80, 0x37, 0xBA, 0xE2, 0x2D, 0x59, 0x5C, 0x49, + 0xBE, 0xCA, 0xD6, 0x13, 0x2D, 0xA3, 0x3C, 0x16, 0x7F, 0x7F, 0xDA, 0xF8, 0xCB, 0x01, 0x73, 0x27, + 0x8E, 0xBA, 0x1B, 0xDB, 0x0C, 0x1D, 0x8D, 0x90, 0x74, 0xF5, 0x66, 0xD4, 0xDE, 0xED, 0xFF, 0x72, + 0x14, 0xE9, 0xA4, 0x2E, 0x37, 0x3F, 0x48, 0xD7, 0xFD, 0xE9, 0x93, 0x47, 0xBD, 0x45, 0x36, 0xC3, + 0x69, 0x5B, 0x98, 0x6B, 0x70, 0xDD, 0x65, 0x2F, 0xCB, 0x87, 0x01, 0xD4, 0x37, 0x28, 0x61, 0x1A, + 0x53, 0xD1, 0x36, 0x8D, 0x79, 0x1C, 0x04, 0x3A, 0x4D, 0x60, 0x71, 0xCC, 0xA3, 0x5A, 0x43, 0xA0, + 0x2E, 0xFA, 0xEB, 0x87, 0x18, 0xDB, 0x93, 0xAB, 0x5C, 0x7B, 0x12, 0xA5, 0x52, 0x1B, 0x68, 0x13, + 0xC7, 0x82, 0xE0, 0xD4, 0x4D, 0xD9, 0xDA, 0x58, 0x15, 0x58, 0x69, 0x0E, 0x45, 0x93, 0x26, 0x0D, + 0xF6, 0x45, 0x0F, 0xB1, 0xFC, 0xE6, 0xD3, 0x11, 0xB2, 0x3A, 0x11, 0x70, 0x9B, 0x77, 0xDD, 0xC5, + 0x2D, 0x9B, 0x08, 0x0A, 0x6D, 0x6B, 0x22, 0xAD, 0x8D, 0xBC, 0xAE, 0x62, 0x63, 0xDC, 0x76, 0x78, + 0xC8, 0x31, 0x67, 0xAB, 0xEF, 0x83, 0x78, 0xD0, 0xC0, 0x7B, 0x8E, 0x78, 0x6E, 0x1B, 0x40, 0x57, + 0x77, 0x2A, 0x7F, 0x53, 0x10, 0x03, 0xBB, 0x7B, 0xEA, 0x38, 0x16, 0x06, 0x97, 0xF1, 0x73, 0xD4, + 0x17, 0xB1, 0x44, 0xDE, 0xA5, 0xC4, 0x07, 0x5F, 0xEB, 0xC8, 0x29, 0xE2, 0x99, 0xDA, 0xB9, 0x6D, + 0x48, 0x53, 0x9F, 0xB3, 0xA8, 0x96, 0x4D, 0xAD, 0x85, 0xC6, 0x89, 0xDA, 0xBF, 0x79, 0xAF, 0x31, + 0xCB, 0x31, 0x72, 0x80, 0x09, 0x24, 0xE2, 0x18, 0x49, 0x6A, 0x3B, 0x7E, 0x98, 0x04, 0x54, 0x93, + 0xAA, 0xA6, 0x78, 0xD0, 0x7B, 0xA5, 0x79, 0x15, 0x8B, 0xD6, 0xBE, 0x64, 0x64, 0xF1, 0x4E, 0x01, + 0xBA, 0x70, 0xB1, 0x51, 0x90, 0xBA, 0xD5, 0xB2, 0x68, 0x27, 0xB3, 0x9A, 0x1E, 0xF7, 0xA5, 0xCA, + 0x36, 0x87, 0x20, 0x8D, 0x44, 0xF1, 0xEE, 0xE0, 0x97, 0x98, 0xFE, 0x72, 0x84, 0xF5, 0x65, 0x34, + 0x17, 0x8B, 0x44, 0x31, 0x1B, 0x48, 0x46, 0xE2, 0x98, 0x6F, 0x5A, 0x27, 0xCA, 0x3F, 0x78, 0xF5, + 0x52, 0x49, 0xB7, 0xAE, 0x6E, 0x19, 0x45, 0x73, 0x3B, 0xEC, 0x3B, 0xF1, 0x01, 0x0D, 0x03, 0xAF, + 0xF6, 0x1E, 0x0E, 0x6F, 0x64, 0x1D, 0x00, 0xE8, 0xB9, 0x92, 0x19, 0x0F, 0xF6, 0xD0, 0x8A, 0x7C, + 0x0D, 0x7F, 0x61, 0x6E, 0xA2, 0xEB, 0x61, 0xB8, 0xAE, 0x4A, 0xA4, 0xCE, 0x18, 0x65, 0x95, 0xEB, + 0x90, 0xDB, 0x57, 0xD4, 0xB8, 0x60, 0x4B, 0x26, 0x3C, 0x99, 0xBD, 0x98, 0x92, 0x8A, 0xCC, 0x4A, + 0x0C, 0x2A, 0x8A, 0x3B, 0x12, 0x71, 0x9C, 0xBB, 0xB9, 0x46, 0xE4, 0x72, 0x63, 0x2B, 0x42, 0xB7, + 0x3C, 0x26, 0x28, 0xEF, 0xBE, 0x75, 0xE3, 0x94, 0x33, 0x72, 0xCA, 0xFC, 0x7F, 0xCC, 0xC4, 0xA9, + 0x2F, 0x7F, 0x34, 0x0A, 0xD3, 0x60, 0x47, 0xB9, 0x71, 0xFD, 0x6A, 0x2A, 0xEC, 0x21, 0x06, 0x0E, + 0x7F, 0x61, 0x34, 0x31, 0x6C, 0x77, 0x6A, 0x03, 0x48, 0x83, 0xE2, 0xF6, 0xBF, 0x02, 0xE2, 0x9E, + 0x35, 0x29, 0x1B, 0xA6, 0x36, 0xD9, 0xF7, 0x5B, 0x98, 0xB4, 0x58, 0x5F, 0x81, 0x29, 0x55, 0x51, + 0x1F, 0x86, 0x6A, 0x19, 0x75, 0x2F, 0x99, 0xCF, 0x31, 0x89, 0xA8, 0xBE, 0x6F, 0xB4, 0x09, 0x8D, + 0x48, 0xB7, 0xBA, 0x7D, 0xCF, 0xC8, 0xCC, 0x81, 0x6E, 0x62, 0xE6, 0x37, 0xBA, 0x1B, 0x66, 0x9C, + 0x52, 0x7E, 0x99, 0xEF, 0xB7, 0xCF, 0x9C, 0xF4, 0xFA, 0x48, 0xD3, 0x76, 0x27, 0xE1, 0x90, 0x51, + 0xB5, 0xA1, 0xC9, 0x28, 0x7B, 0x78, 0x95, 0xAA, 0xED, 0xD9, 0x35, 0xBF, 0x63, 0xDB, 0x91, 0xB6, + 0x1C, 0xD3, 0x69, 0x4E, 0x6B, 0x0D, 0x42, 0x82, 0x1E, 0x27, 0x3E, 0x5D, 0x55, 0x04, 0x42, 0x61, + 0xEC, 0xC2, 0xB5, 0x07, 0x13, 0x5C, 0xE4, 0x2C, 0x18, 0xD0, 0x6B, 0x0F, 0x62, 0x7B, 0xF7, 0xB1, + 0x79, 0x07, 0xA0, 0xDD, 0xE9, 0xA0, 0xFF, 0x71, 0xBF, 0xD7, 0x24, 0x6A, 0xB4, 0x90, 0x73, 0x2E, + 0x5B, 0x3F, 0xBD, 0xD0, 0xA1, 0x14, 0x74, 0xEB, 0xFE, 0x36, 0xD7, 0x08, 0x95, 0x3A, 0x7B, 0x5F, + 0xF1, 0xF4, 0x09, 0xBD, 0x26, 0x06, 0x1D, 0x40, 0xF4, 0xCB, 0x69, 0x8C, 0x5A, 0xF5, 0x11, 0x15, + 0x38, 0x5E, 0x23, 0xEC, 0xDA, 0x32, 0xC7, 0xA1, 0xC7, 0x17, 0x9E, 0x7D, 0x90, 0x41, 0x00, 0xBB, + 0x7D, 0xAC, 0x7E, 0xB9, 0x06, 0x96, 0x18, 0x89, 0xC5, 0x31, 0x2D, 0x84, 0x38, 0x51, 0x18, 0xBA, + 0xB9, 0x8A, 0x2A, 0xBD, 0xDE, 0x8A, 0x06, 0x61, 0x34, 0x0F, 0xE7, 0x1B, 0x66, 0x96, 0x6C, 0x1E, + 0xB6, 0xEA, 0x53, 0x15, 0x18, 0x2E, 0xFA, 0x75, 0xD9, 0x32, 0x53, 0xFD, 0xB5, 0x51, 0x71, 0x22, + 0x57, 0xC8, 0xE0, 0x5F, 0x19, 0xDE, 0xB6, 0x15, 0x43, 0xE4, 0xC7, 0x8F, 0x1F, 0x3F, 0xB1, 0x63, + 0xA6, 0x7D, 0x25, 0x62, 0x93, 0x2F, 0x22, 0x90, 0x85, 0x96, 0x3B, 0xE0, 0x62, 0x9D, 0x8F, 0xE3, + 0xB7, 0x2B, 0x12, 0x5C, 0x03, 0x9D, 0xA6, 0x49, 0x56, 0x16, 0x7D, 0xA3, 0xD8, 0xB1, 0x6F, 0x98, + 0x5A, 0x0D, 0x4D, 0xDB, 0x46, 0xD9, 0xF2, 0x23, 0x9E, 0x37, 0x87, 0x4A, 0x85, 0xA7, 0x57, 0x52, + 0xE9, 0x60, 0xE5, 0x53, 0xC4, 0x28, 0x36, 0x8C, 0x66, 0x8F, 0x3F, 0xF3, 0xB8, 0x6A, 0x76, 0xD3, + 0xED, 0xEA, 0x6E, 0x8B, 0xEF, 0x23, 0xE7, 0x4A, 0xAA, 0xFE, 0x48, 0x93, 0x3F, 0xC2, 0x38, 0x3A, + 0x1A, 0xD7, 0x52, 0x25, 0xE4, 0x39, 0xC6, 0x3F, 0xBD, 0xB9, 0xA9, 0xFE, 0x75, 0xAF, 0xA5, 0x46, + 0x1F, 0xDE, 0xB1, 0xE1, 0x7C, 0x3C, 0x7C, 0x78, 0x69, 0x78, 0x73, 0xFF, 0xDB, 0xD5, 0x4B, 0x27, + 0xE7, 0x47, 0x1E, 0xE6, 0xB5, 0xC9, 0xED, 0x28, 0x6E, 0xA5, 0x1C, 0xF1, 0x04, 0xDE, 0x1E, 0x65, + 0xEF, 0x1D, 0x9B, 0xBA, 0x97, 0xBB, 0x6D, 0xD3, 0x0E, 0x0F, 0x35, 0x6F, 0xD1, 0x71, 0xFD, 0xEA, + 0xA9, 0x74, 0x60, 0xEE, 0x6E, 0xD4, 0xF2, 0x4F, 0x06, 0xCC, 0xCC, 0xB8, 0xBC, 0x60, 0xE7, 0x77, + 0xD1, 0x2C, 0x3B, 0x48, 0xF6, 0x00, 0xD9, 0x8B, 0xF3, 0xF2, 0x3C, 0xB5, 0x8C, 0x7D, 0x27, 0x65, + 0xB1, 0xAD, 0x87, 0xBA, 0x5E, 0x70, 0xEB, 0xF5, 0xA8, 0x41, 0xFE, 0x03, 0x50, 0x4B, 0x03, 0x04, + 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x25, 0xB6, 0xAB, 0x81, 0xFE, 0x09, + 0x00, 0x00, 0xFF, 0x31, 0x00, 0x00, 0x3D, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, + 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, + 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x70, 0x72, 0x6F, 0x6A, 0x65, 0x63, + 0x74, 0x2D, 0x6D, 0x61, 0x6E, 0x61, 0x67, 0x65, 0x6D, 0x65, 0x6E, 0x74, 0x2F, 0x69, 0x6E, 0x64, + 0x65, 0x78, 0x2E, 0x64, 0x2E, 0x74, 0x73, 0xE5, 0x5A, 0xE9, 0x8E, 0xD3, 0x30, 0x10, 0xFE, 0xCF, + 0x53, 0x18, 0xF8, 0xB1, 0x80, 0x4A, 0x0A, 0x08, 0x10, 0x37, 0x14, 0x96, 0xA3, 0x1C, 0x2D, 0xA2, + 0x05, 0x84, 0x10, 0xA2, 0x6E, 0xE2, 0xB6, 0x86, 0x34, 0x0E, 0x8E, 0xB3, 0xA5, 0x02, 0xDE, 0x9D, + 0x19, 0xDB, 0xB9, 0x93, 0x36, 0x85, 0x72, 0x89, 0x6A, 0xA5, 0x6D, 0x13, 0x7B, 0xE6, 0x9B, 0x6F, + 0x0E, 0x8F, 0x9D, 0x74, 0xCF, 0x1C, 0x27, 0x33, 0x2E, 0xD9, 0x94, 0x46, 0xEC, 0x2C, 0xF5, 0x96, + 0x3C, 0x20, 0x47, 0x57, 0x9D, 0x8B, 0xCE, 0x05, 0x72, 0xA6, 0x7B, 0x0C, 0x6E, 0x1E, 0x23, 0x67, + 0xC8, 0x3D, 0x11, 0xAE, 0x25, 0x9F, 0x2F, 0x14, 0xB9, 0x70, 0xEE, 0xC2, 0x39, 0xF2, 0x50, 0x88, + 0xB9, 0xCF, 0x48, 0x3F, 0x70, 0x1D, 0xB8, 0x8B, 0x03, 0x9E, 0x72, 0x97, 0x05, 0x11, 0xF3, 0x48, + 0x1C, 0x78, 0x4C, 0x12, 0xB5, 0x60, 0xA4, 0x17, 0x52, 0x17, 0xFE, 0xD9, 0x3B, 0x1D, 0xF2, 0x8A, + 0xC9, 0x88, 0x8B, 0x80, 0x5C, 0x70, 0xCE, 0x91, 0x53, 0x38, 0xE0, 0x84, 0xBD, 0x75, 0xE2, 0xF4, + 0x75, 0x14, 0xB1, 0x16, 0x31, 0x59, 0xD2, 0x35, 0x09, 0x84, 0x22, 0x71, 0xC4, 0x40, 0x06, 0x8F, + 0x00, 0x18, 0xE8, 0x61, 0x9F, 0x5D, 0x16, 0x2A, 0x02, 0xC0, 0x5C, 0xB1, 0x0C, 0x7D, 0x4E, 0x03, + 0x97, 0x91, 0x15, 0x57, 0x0B, 0x18, 0x93, 0x2A, 0x70, 0x50, 0xC6, 0x1B, 0x2B, 0x43, 0x4C, 0x15, + 0x85, 0xE1, 0x14, 0x26, 0x84, 0xF0, 0x6B, 0x96, 0x1F, 0x48, 0xA8, 0xB2, 0xA0, 0x09, 0x59, 0x28, + 0x15, 0x5E, 0xEB, 0x76, 0x57, 0xAB, 0x95, 0x43, 0x35, 0x5C, 0x47, 0xC8, 0x79, 0xD7, 0x37, 0x03, + 0xA3, 0xEE, 0xD3, 0xFE, 0xBD, 0xFB, 0x83, 0xD1, 0xFD, 0xB3, 0x00, 0xD9, 0x4E, 0x79, 0x19, 0xF8, + 0x2C, 0x8A, 0x88, 0x64, 0x9F, 0x62, 0x2E, 0xC1, 0xDC, 0xE9, 0x9A, 0xD0, 0x30, 0x84, 0x09, 0x74, + 0x0A, 0x40, 0x7D, 0xBA, 0x22, 0x42, 0x12, 0x3A, 0x97, 0x0C, 0xEE, 0x29, 0x81, 0x90, 0x57, 0x92, + 0x2B, 0x1E, 0xCC, 0x3B, 0x24, 0x12, 0x33, 0xB5, 0xA2, 0x92, 0xA1, 0x18, 0x8F, 0x47, 0x4A, 0xF2, + 0x69, 0xAC, 0x12, 0xC6, 0x0A, 0x00, 0x79, 0x54, 0x18, 0x20, 0xC0, 0x90, 0x80, 0x9C, 0xE8, 0x8D, + 0x48, 0x7F, 0x74, 0x82, 0xDC, 0xED, 0x8D, 0xFA, 0xA3, 0x0E, 0x0A, 0x79, 0xDD, 0x1F, 0x3F, 0x1A, + 0xBE, 0x1C, 0x93, 0xD7, 0xBD, 0x17, 0x2F, 0x7A, 0x83, 0x71, 0xFF, 0xFE, 0x88, 0x0C, 0x5F, 0x90, + 0x7B, 0xC3, 0xC1, 0x61, 0x7F, 0xDC, 0x1F, 0x0E, 0xE0, 0xD7, 0x03, 0xD2, 0x1B, 0xBC, 0x21, 0x4F, + 0xFA, 0x83, 0xC3, 0x0E, 0x61, 0x1C, 0x54, 0x48, 0xE0, 0x32, 0x94, 0x60, 0x01, 0xC2, 0xE4, 0xC8, + 0x25, 0xF3, 0x34, 0x71, 0x23, 0xC6, 0x0A, 0x10, 0x66, 0xC2, 0x40, 0x8A, 0x42, 0xE6, 0xF2, 0x19, + 0x77, 0xC1, 0xB4, 0x60, 0x1E, 0xD3, 0x39, 0x23, 0x73, 0x71, 0xC4, 0x64, 0x00, 0x16, 0x91, 0x90, + 0xC9, 0x25, 0x8F, 0xD0, 0xA7, 0x11, 0x00, 0xF4, 0x50, 0x8C, 0xCF, 0x97, 0x5C, 0x51, 0x85, 0x97, + 0xAA, 0x76, 0xA1, 0xA2, 0xEE, 0x31, 0xD0, 0x2A, 0xA4, 0x22, 0x5F, 0x90, 0x37, 0xF2, 0x8D, 0xCC, + 0xA4, 0x58, 0x92, 0x03, 0xC7, 0xE9, 0xA6, 0x21, 0x18, 0xD0, 0x25, 0x8B, 0xC0, 0x19, 0x10, 0x8C, + 0x21, 0x3F, 0xB8, 0x0E, 0x21, 0xA8, 0x99, 0x7F, 0xC8, 0x54, 0xA4, 0xA5, 0x7D, 0xB9, 0xE3, 0xF3, + 0xE0, 0x23, 0x09, 0xA5, 0xF8, 0xC0, 0x5C, 0xF5, 0x8C, 0x06, 0x80, 0x6A, 0xC9, 0x02, 0xE5, 0x3C, + 0x2F, 0x5F, 0xC1, 0x69, 0x93, 0xCA, 0xD5, 0xC9, 0x37, 0x12, 0x31, 0x79, 0xC4, 0xDD, 0xCC, 0x4A, + 0x8F, 0xCD, 0x68, 0xEC, 0x2B, 0x84, 0xA4, 0xFD, 0x47, 0xE6, 0xFC, 0x88, 0x05, 0xF8, 0x33, 0x89, + 0xEF, 0x89, 0x4E, 0x0C, 0xA7, 0xA2, 0xF4, 0xD4, 0xE9, 0x09, 0x71, 0xC1, 0x3B, 0x53, 0x06, 0xFF, + 0x7C, 0x9F, 0x79, 0x26, 0x2E, 0x03, 0x41, 0xA8, 0x9C, 0xC7, 0x30, 0x02, 0x41, 0xC3, 0x0F, 0xD7, + 0x65, 0x91, 0x86, 0x0F, 0xC2, 0xF2, 0xEA, 0x0E, 0xA2, 0x3D, 0xDA, 0xD3, 0xD1, 0xE0, 0xA3, 0x66, + 0xB0, 0xA0, 0xF0, 0xF4, 0x24, 0xC3, 0x03, 0xF2, 0x76, 0x64, 0xB4, 0x56, 0x3D, 0x88, 0x49, 0x10, + 0x80, 0xF6, 0x48, 0xB8, 0x9C, 0xAA, 0x84, 0x08, 0x9A, 0x46, 0x50, 0x9E, 0xCD, 0x3B, 0xEC, 0x33, + 0x85, 0xE0, 0x63, 0xDA, 0xA0, 0xC9, 0xE4, 0x03, 0x3D, 0xA2, 0x91, 0x2B, 0x79, 0xA8, 0x2D, 0xEC, + 0x76, 0xD1, 0xD7, 0x1A, 0x58, 0x45, 0xD9, 0x26, 0xCF, 0xE1, 0xDC, 0x23, 0x2A, 0x93, 0x4B, 0xD5, + 0xB9, 0x37, 0x49, 0xA3, 0x13, 0xAF, 0x5B, 0x24, 0x7B, 0xC5, 0x97, 0x86, 0x51, 0x86, 0x4D, 0x60, + 0x0E, 0xEE, 0x82, 0x4C, 0x4F, 0xE8, 0x85, 0x61, 0x05, 0x61, 0x48, 0x25, 0x5D, 0xEA, 0x80, 0x1D, + 0x86, 0x98, 0x6F, 0xD4, 0xD7, 0x3F, 0x56, 0x0B, 0x11, 0xB1, 0x3A, 0x2F, 0x25, 0xC8, 0x70, 0x32, + 0x7C, 0x30, 0x08, 0x24, 0x53, 0xB1, 0x0C, 0x1C, 0xD2, 0x9F, 0xE9, 0x9A, 0x0B, 0xCA, 0x8F, 0xB8, + 0xC7, 0xBC, 0x4E, 0x9E, 0xD8, 0x4D, 0xA2, 0xC0, 0xC3, 0xBE, 0x9F, 0xC8, 0x9B, 0x32, 0x2B, 0x0F, + 0x0A, 0x8A, 0x85, 0x68, 0x7E, 0x93, 0x71, 0x4B, 0x69, 0x1C, 0x61, 0x68, 0x23, 0x78, 0x94, 0x82, + 0x21, 0xC6, 0xCF, 0x5A, 0x4B, 0xF3, 0xEC, 0x6A, 0xE0, 0xE1, 0xA4, 0x54, 0x08, 0x0A, 0x35, 0xC5, + 0x87, 0x7D, 0xC6, 0xE2, 0x03, 0x70, 0x5C, 0x9F, 0x4A, 0xF0, 0x52, 0x1C, 0xB8, 0x48, 0x1E, 0xA9, + 0x4D, 0x95, 0xDB, 0xD7, 0xF4, 0x44, 0x64, 0xFF, 0x5A, 0x9B, 0xE4, 0xB8, 0x5E, 0x16, 0x9F, 0x56, + 0xB2, 0xEA, 0x6C, 0xF2, 0xE5, 0x18, 0xB2, 0xA6, 0x6B, 0x1B, 0x7C, 0xC0, 0xBC, 0x67, 0x4C, 0x51, + 0x8F, 0x2A, 0x4A, 0xE8, 0x54, 0xC4, 0x0A, 0x82, 0xE7, 0x81, 0x2D, 0x88, 0xA4, 0x17, 0x78, 0x52, + 0x70, 0x8F, 0xF4, 0x00, 0x8C, 0x1D, 0xDD, 0xD5, 0xFF, 0x79, 0xA0, 0x98, 0x9C, 0x81, 0xFC, 0x64, + 0x08, 0x8C, 0x48, 0xC5, 0xB0, 0xCF, 0x8A, 0x05, 0x5E, 0x44, 0x72, 0xD7, 0x50, 0xA9, 0xFD, 0x84, + 0x3E, 0x55, 0x10, 0xA3, 0xCB, 0x6B, 0x78, 0xFF, 0xB9, 0xFD, 0xE1, 0xF4, 0x06, 0x87, 0x2F, 0x86, + 0xFD, 0xC3, 0xEB, 0x76, 0x58, 0x86, 0xCF, 0x68, 0x45, 0x57, 0x62, 0xB5, 0x13, 0x01, 0x77, 0x21, + 0xDE, 0xC0, 0xB2, 0x8F, 0x74, 0x6E, 0xCC, 0x34, 0x6B, 0x6C, 0x01, 0x6B, 0x07, 0x4B, 0xD1, 0x4A, + 0xC4, 0xBE, 0xE6, 0x9F, 0x51, 0x09, 0x78, 0x71, 0x4C, 0xD2, 0x3D, 0x80, 0xD6, 0x35, 0x39, 0x64, + 0x47, 0xCC, 0x17, 0xB0, 0x92, 0xE4, 0xD5, 0xDC, 0x83, 0xE5, 0x43, 0xF8, 0xCC, 0xC9, 0x5D, 0x4B, + 0xBF, 0x16, 0xB2, 0xD3, 0x7E, 0xAA, 0x59, 0x6A, 0x3F, 0x26, 0xEB, 0x12, 0xA0, 0x03, 0xC0, 0x89, + 0xA9, 0x56, 0xE1, 0xCA, 0xC9, 0x0D, 0xB8, 0x5E, 0x92, 0x9A, 0xFB, 0xD9, 0x4D, 0xBF, 0xE7, 0xC6, + 0x5F, 0x23, 0xB8, 0x50, 0x07, 0x73, 0x33, 0xEF, 0x5B, 0x7B, 0xAF, 0xD2, 0x46, 0x6F, 0x16, 0x5D, + 0xB6, 0xC9, 0x17, 0x73, 0x5F, 0x4C, 0x61, 0xD5, 0x59, 0xC3, 0x5A, 0xCB, 0x3F, 0xC5, 0xAC, 0x93, + 0x4A, 0x3F, 0x0B, 0xE9, 0xC0, 0xE7, 0x01, 0x84, 0x3E, 0xF7, 0x20, 0xDA, 0xA0, 0xFE, 0x32, 0x69, + 0x5C, 0xA4, 0x15, 0xEF, 0x8D, 0x59, 0x90, 0xD5, 0xF7, 0x90, 0xD3, 0x1C, 0x99, 0xFA, 0x5A, 0x2B, + 0x1A, 0xF5, 0xC8, 0x94, 0xC0, 0x4D, 0x86, 0x8A, 0xA4, 0xC6, 0xC5, 0x90, 0xEF, 0xA9, 0x71, 0xD8, + 0x25, 0x85, 0x10, 0x45, 0x3A, 0x02, 0x7F, 0x85, 0x79, 0x56, 0x3E, 0xFA, 0xB9, 0x64, 0xA4, 0xBD, + 0xD3, 0x3A, 0x62, 0x72, 0xE3, 0x6F, 0xB7, 0xB2, 0xD8, 0x33, 0x89, 0x81, 0xB5, 0x22, 0x4D, 0xD6, + 0xBC, 0x89, 0x64, 0x14, 0x87, 0x58, 0x6C, 0x40, 0x4E, 0x9A, 0x74, 0x34, 0x00, 0x7F, 0x0F, 0x47, + 0x78, 0x3F, 0x9D, 0x13, 0xED, 0x8D, 0x8C, 0x14, 0xC5, 0xCD, 0xBA, 0x9A, 0xD1, 0x8A, 0x85, 0xDA, + 0xAA, 0x73, 0x7D, 0xA7, 0x08, 0x2F, 0x06, 0x40, 0xFF, 0x30, 0xE1, 0x04, 0xD6, 0x43, 0xA0, 0x2A, + 0x29, 0xB4, 0xB8, 0xFE, 0xEE, 0x3D, 0x1A, 0xAC, 0xEC, 0x4A, 0xC0, 0xDB, 0xEB, 0x2D, 0x83, 0xDE, + 0x8E, 0x6E, 0x19, 0xF8, 0xB3, 0x18, 0x8C, 0x3F, 0xFB, 0x29, 0xA6, 0x3E, 0xE6, 0xB0, 0x07, 0x6B, + 0x6C, 0x24, 0x62, 0xE9, 0x9A, 0xA2, 0x0B, 0x16, 0x52, 0x95, 0x65, 0x78, 0xA4, 0xB7, 0x4C, 0x9B, + 0x4C, 0x1E, 0xE3, 0x7D, 0xF8, 0x03, 0x12, 0x41, 0x30, 0x34, 0x0B, 0x2C, 0x80, 0xED, 0x52, 0x10, + 0x6B, 0x86, 0x5D, 0x11, 0x00, 0xA0, 0xD8, 0xC5, 0x90, 0xD2, 0x1B, 0x1C, 0x16, 0xA9, 0x08, 0x89, + 0x4C, 0xAB, 0xCA, 0x01, 0xAC, 0xCB, 0xF1, 0xD4, 0x87, 0x5E, 0xAE, 0xF7, 0xBC, 0xBF, 0x37, 0x5A, + 0xAD, 0x49, 0x1B, 0xCA, 0xB3, 0x1D, 0xD1, 0xBE, 0x3E, 0xDB, 0x09, 0x6D, 0x0A, 0xF4, 0xF3, 0x24, + 0x4F, 0x4C, 0xDB, 0xB0, 0x5A, 0x70, 0x77, 0x91, 0x2F, 0xD3, 0x80, 0x23, 0x69, 0xF0, 0xB3, 0x16, + 0xA3, 0x58, 0xB8, 0x59, 0x10, 0x2F, 0xF3, 0x01, 0xDD, 0x5C, 0xB3, 0x5F, 0x06, 0x1F, 0x03, 0xB1, + 0x0A, 0x00, 0x11, 0x48, 0x71, 0x52, 0x77, 0x88, 0x00, 0x03, 0x1C, 0x77, 0xCF, 0x30, 0x1D, 0x4B, + 0x05, 0xBA, 0x20, 0xE6, 0xD1, 0x02, 0x3D, 0x11, 0xC3, 0xCE, 0x49, 0x01, 0x51, 0x3E, 0xF8, 0xC3, + 0xA9, 0xB5, 0xF6, 0xF9, 0xD3, 0xDE, 0xF8, 0xC1, 0xF0, 0xC5, 0xB3, 0xF7, 0x2F, 0x07, 0x4F, 0x06, + 0xC3, 0xD7, 0x03, 0x20, 0xF1, 0x44, 0xF9, 0xDA, 0x89, 0xCE, 0x86, 0x28, 0x2B, 0x58, 0x0B, 0x80, + 0xCA, 0xCD, 0x14, 0x16, 0x95, 0x7A, 0xD5, 0xFD, 0xE1, 0x08, 0xB5, 0xC1, 0xBF, 0x9F, 0x53, 0x60, + 0x2B, 0x58, 0xBD, 0x12, 0x5B, 0x61, 0x50, 0x91, 0xFD, 0x7A, 0x62, 0xD7, 0xC5, 0x16, 0x0C, 0xD8, + 0xD4, 0x3E, 0xF5, 0x45, 0xF4, 0xB3, 0xAD, 0x13, 0x50, 0xD0, 0xB2, 0x6D, 0x9A, 0xC2, 0xC6, 0xD8, + 0x67, 0x69, 0xE9, 0x4A, 0xC1, 0x61, 0xBB, 0xC4, 0x55, 0xB9, 0x63, 0x2A, 0x8C, 0x18, 0x29, 0x21, + 0xF7, 0xD7, 0x16, 0x19, 0x20, 0xBA, 0x9C, 0xF1, 0x02, 0x01, 0x4E, 0x72, 0x27, 0x9F, 0x6C, 0x4D, + 0xB9, 0x96, 0x8C, 0xDD, 0x92, 0x67, 0x3D, 0x48, 0xCA, 0x19, 0x83, 0x1A, 0x0D, 0x74, 0x2B, 0x51, + 0xD7, 0xDE, 0x66, 0x75, 0x2B, 0x9D, 0x74, 0x28, 0x70, 0x67, 0xA2, 0x77, 0xD6, 0xBA, 0xB6, 0x65, + 0x35, 0x4A, 0xE7, 0x89, 0x84, 0x3A, 0xEA, 0xAF, 0x61, 0x03, 0x03, 0x17, 0x19, 0xF5, 0xF4, 0xE2, + 0x90, 0x4C, 0x7D, 0x3B, 0xA9, 0x76, 0xEC, 0x59, 0x69, 0x81, 0x6D, 0xFB, 0xBB, 0x53, 0x2D, 0x5A, + 0xFA, 0x93, 0xD9, 0x94, 0xD3, 0xDB, 0x7B, 0x6F, 0xF2, 0x65, 0xC7, 0xD6, 0xE6, 0x05, 0x83, 0xFB, + 0xEC, 0x08, 0x2A, 0xF7, 0xB2, 0x10, 0xBA, 0xDA, 0xD8, 0x44, 0x70, 0x73, 0x41, 0xCF, 0xF6, 0x58, + 0x3D, 0x5C, 0x56, 0xE0, 0x30, 0xC6, 0x2C, 0x09, 0xBA, 0xFE, 0xF9, 0x28, 0x56, 0x09, 0x1D, 0x3F, + 0xD2, 0xEA, 0xF1, 0x76, 0xD1, 0x93, 0xB9, 0x78, 0xCE, 0x54, 0x12, 0x1A, 0xA7, 0x60, 0x2B, 0xF4, + 0xDC, 0xA8, 0xBA, 0x51, 0xDD, 0x74, 0xDC, 0x6A, 0xB4, 0x74, 0xA4, 0x4F, 0x6F, 0xF6, 0xD7, 0xC9, + 0x99, 0xED, 0x6F, 0xC0, 0x56, 0x87, 0x59, 0x63, 0x85, 0x79, 0x86, 0x97, 0x0A, 0xC2, 0x90, 0x02, + 0x28, 0xA0, 0x3F, 0x4A, 0x20, 0x2E, 0x91, 0x08, 0xA6, 0x28, 0x73, 0x01, 0xA9, 0x3A, 0x65, 0x70, + 0xC7, 0x48, 0xAE, 0x52, 0x86, 0x37, 0x72, 0xC8, 0x4E, 0x15, 0x81, 0x26, 0x71, 0x91, 0xE3, 0xF2, + 0x08, 0x88, 0x6C, 0x64, 0x2F, 0x3B, 0xFB, 0xF2, 0x61, 0x6D, 0x40, 0x7A, 0x46, 0x8F, 0x7A, 0xC4, + 0x65, 0x12, 0x97, 0x7D, 0x17, 0xAA, 0x68, 0xA5, 0xA0, 0x56, 0x1C, 0x0B, 0xF1, 0x9A, 0x66, 0xDC, + 0x36, 0x2E, 0xC6, 0x45, 0x45, 0x67, 0xCF, 0xE3, 0x9A, 0xAC, 0xBF, 0x5D, 0xB8, 0x74, 0x79, 0x67, + 0xB5, 0x79, 0x0D, 0xF0, 0x49, 0x51, 0x34, 0x86, 0xDA, 0x68, 0x41, 0xEF, 0xE5, 0x74, 0xE4, 0x23, + 0xAE, 0x78, 0xEB, 0xED, 0xBB, 0x66, 0xC6, 0x7A, 0x9E, 0xA7, 0x19, 0x33, 0x47, 0x30, 0x25, 0xBE, + 0x30, 0x28, 0xDA, 0xA7, 0x98, 0x0E, 0xB5, 0xFC, 0xEC, 0xB1, 0x00, 0xE9, 0xC8, 0x52, 0x9D, 0x58, + 0xEA, 0x79, 0xCE, 0xCF, 0xC6, 0x9A, 0xC6, 0x9C, 0x17, 0x5C, 0xE2, 0x30, 0x8D, 0x3F, 0xD4, 0xC6, + 0x3C, 0x9B, 0xE5, 0xDB, 0xF3, 0x18, 0x46, 0x17, 0x19, 0x3C, 0x55, 0xB6, 0xEA, 0x1A, 0x29, 0x0E, + 0x68, 0x1D, 0xA1, 0x87, 0xCC, 0x67, 0xE0, 0xAC, 0xFC, 0x99, 0x31, 0xF3, 0xCA, 0xFC, 0xE8, 0xC3, + 0xDE, 0x5D, 0x89, 0x2F, 0x32, 0x6F, 0xF4, 0x34, 0x91, 0xEF, 0xE1, 0xDD, 0xAD, 0xF1, 0xBD, 0x95, + 0xFF, 0xD4, 0x80, 0x12, 0xEF, 0x79, 0x75, 0xA9, 0x0F, 0x60, 0xFE, 0x52, 0x40, 0x69, 0xD5, 0xC6, + 0xB5, 0xF3, 0x83, 0x81, 0xB9, 0xC9, 0x15, 0x2F, 0xB4, 0xCC, 0x1F, 0xF6, 0x46, 0x52, 0x2F, 0x70, + 0xBD, 0x9C, 0xF1, 0x79, 0x2C, 0xA9, 0x3E, 0xE5, 0xA2, 0x28, 0x89, 0xBA, 0xAA, 0x9C, 0xB6, 0x5B, + 0xF7, 0x0D, 0x77, 0xDA, 0x2D, 0x33, 0x39, 0xC3, 0x0F, 0xA2, 0x86, 0xBC, 0x4F, 0x30, 0xE9, 0x27, + 0x3B, 0x1D, 0x2C, 0x4B, 0x2F, 0xC7, 0x0F, 0xCE, 0x5E, 0xB1, 0x15, 0x91, 0x60, 0x2F, 0x45, 0x95, + 0x69, 0x8D, 0x93, 0x6B, 0xF0, 0x4D, 0xAD, 0x43, 0xEE, 0xE2, 0x2E, 0x25, 0x2F, 0x35, 0x59, 0x86, + 0x03, 0x9B, 0x03, 0x53, 0xA6, 0x1F, 0xB6, 0xC0, 0x05, 0xD3, 0x61, 0x3C, 0x1E, 0x0D, 0x07, 0xA8, + 0xC6, 0xA2, 0x9D, 0x23, 0x29, 0xD0, 0x53, 0x87, 0x61, 0x62, 0xF6, 0x1A, 0x36, 0x09, 0x09, 0xE8, + 0x92, 0xE0, 0x8D, 0x8B, 0xE1, 0x3D, 0x6D, 0x41, 0xBE, 0x30, 0x19, 0xA4, 0xB7, 0x76, 0xEE, 0x7D, + 0xA0, 0xB1, 0xFB, 0x0D, 0x7D, 0x0F, 0x74, 0x77, 0xBB, 0xF4, 0x3C, 0x66, 0xF8, 0xE9, 0x0D, 0xCD, + 0xF2, 0xFE, 0x7B, 0x1D, 0x20, 0xA2, 0x4D, 0x00, 0x7E, 0x39, 0x9E, 0x30, 0xDE, 0x70, 0x60, 0xEE, + 0x14, 0x5B, 0xF9, 0x5B, 0xDF, 0x4A, 0x31, 0x5B, 0x72, 0xF3, 0x8E, 0x9D, 0x12, 0xA0, 0xDC, 0xB9, + 0x4B, 0x02, 0x40, 0xFF, 0x67, 0x87, 0x54, 0xA2, 0xFA, 0xCF, 0x34, 0x4C, 0xBF, 0xB7, 0x00, 0xDA, + 0xF8, 0x38, 0x88, 0xD2, 0x0C, 0x2F, 0x91, 0xF0, 0x73, 0xC5, 0x2F, 0x5F, 0xED, 0x4A, 0x82, 0x2B, + 0xC5, 0x2F, 0xC4, 0x0E, 0x6E, 0x7B, 0xF5, 0x03, 0xC4, 0x7B, 0x2E, 0x75, 0xA6, 0x63, 0x14, 0xB2, + 0xAE, 0x61, 0xFC, 0xC5, 0x75, 0x2E, 0x2A, 0xAC, 0x96, 0xAD, 0xEB, 0x5D, 0x71, 0x5A, 0x53, 0xDD, + 0x2B, 0xAD, 0xC5, 0x1B, 0x0F, 0xE6, 0xAB, 0xBD, 0xC9, 0x3A, 0xDC, 0xDF, 0xBE, 0x1D, 0x05, 0x8F, + 0x41, 0x20, 0xEC, 0xDB, 0x8B, 0xD0, 0x1D, 0x7B, 0xA7, 0xDD, 0x21, 0x59, 0x32, 0xF8, 0x1A, 0x39, + 0x75, 0x00, 0x72, 0xCE, 0x1F, 0x90, 0xAF, 0x04, 0xBF, 0x80, 0xCF, 0x0E, 0x4E, 0x6F, 0x3A, 0xCB, + 0xA8, 0xB8, 0x18, 0xB3, 0x7D, 0x81, 0xD1, 0x6B, 0x9C, 0x98, 0x19, 0xBE, 0x3F, 0x9B, 0x01, 0xD7, + 0x23, 0x50, 0x52, 0x35, 0xD9, 0xDE, 0x68, 0x65, 0xB1, 0x1D, 0xBB, 0x75, 0xA9, 0xFA, 0xC1, 0x83, + 0x57, 0x10, 0x7F, 0xF6, 0x23, 0x5B, 0xFF, 0xCB, 0x87, 0xAF, 0x45, 0x72, 0x7F, 0xEE, 0xE0, 0xF5, + 0x76, 0xD3, 0x89, 0x50, 0xF5, 0x5C, 0x70, 0xC3, 0x93, 0xF4, 0x34, 0x01, 0xF7, 0x5B, 0x3C, 0x1A, + 0xDA, 0x87, 0xFA, 0x9A, 0x71, 0xB2, 0x72, 0xA5, 0xA9, 0x48, 0x54, 0xED, 0x28, 0xF6, 0x49, 0xE9, + 0x13, 0xE5, 0xC6, 0xD8, 0x7B, 0xCA, 0xD1, 0xF1, 0x71, 0x88, 0x55, 0xFC, 0xFC, 0xB9, 0x73, 0x85, + 0xE7, 0x85, 0xF5, 0xFB, 0xED, 0x6C, 0x88, 0x81, 0xF9, 0xC3, 0x2B, 0xB9, 0x59, 0xC4, 0xB2, 0xC6, + 0x47, 0xAF, 0x20, 0x59, 0xA7, 0x51, 0x7F, 0xFA, 0xAC, 0x47, 0x81, 0x41, 0x75, 0xAD, 0x4F, 0xEE, + 0x32, 0xEC, 0xD5, 0x77, 0x37, 0xD9, 0xB6, 0xE6, 0x7B, 0x34, 0x3D, 0x77, 0xB4, 0x91, 0x48, 0xDF, + 0x62, 0x5A, 0x76, 0xC8, 0x15, 0xD5, 0x9F, 0x7D, 0xFD, 0x90, 0x65, 0xB0, 0xEC, 0xFE, 0x22, 0xAB, + 0x40, 0xF2, 0x16, 0x8B, 0x4C, 0x43, 0x1A, 0x95, 0x7A, 0xD4, 0x2D, 0x96, 0xDC, 0x93, 0xCC, 0x1C, + 0xF8, 0x04, 0x64, 0x92, 0xD9, 0x3E, 0x81, 0x17, 0xED, 0x10, 0x60, 0x27, 0xDD, 0xE0, 0x40, 0xBA, + 0x17, 0xB7, 0xD0, 0x79, 0x9A, 0xB5, 0x89, 0x85, 0x13, 0xA1, 0xDD, 0xEC, 0xC5, 0x0A, 0x8A, 0xE1, + 0xB9, 0x10, 0xD0, 0x0E, 0x0B, 0x16, 0x99, 0xD7, 0x56, 0x98, 0xC4, 0xBE, 0x09, 0x91, 0xBD, 0x78, + 0x7E, 0x6F, 0x73, 0x3B, 0x6C, 0xB6, 0x2A, 0x9A, 0xAF, 0x89, 0xFE, 0x3A, 0x49, 0xE2, 0x3B, 0x43, + 0x89, 0xCE, 0x4A, 0xCD, 0xD9, 0x7E, 0x96, 0x50, 0xCB, 0x87, 0x4E, 0xAC, 0x54, 0x48, 0xF9, 0x58, + 0x24, 0xB1, 0xB7, 0xC5, 0x49, 0x41, 0xEE, 0xC4, 0x5A, 0xE3, 0xCD, 0x1A, 0xE1, 0x64, 0xEE, 0xA6, + 0x5A, 0xF2, 0x32, 0x84, 0xD4, 0xD3, 0xEF, 0xF5, 0x95, 0x77, 0x0F, 0xBB, 0xF1, 0xBE, 0xDB, 0x5E, + 0x02, 0x3A, 0xD1, 0x58, 0x2B, 0xFE, 0xF9, 0x83, 0x30, 0x8B, 0xAB, 0xFE, 0xF0, 0x35, 0xD1, 0xF2, + 0x3B, 0xF6, 0x13, 0xF9, 0xF0, 0x87, 0x0C, 0x6B, 0x19, 0xFA, 0x30, 0xF2, 0x2F, 0x0F, 0x7B, 0x40, + 0xF8, 0x43, 0x21, 0x0F, 0xF3, 0x7E, 0x20, 0xDC, 0x37, 0x6D, 0x36, 0xCC, 0x23, 0xA8, 0x6A, 0x98, + 0x9B, 0xD2, 0xB4, 0xDD, 0x31, 0x64, 0x52, 0xEC, 0xCF, 0x11, 0xDB, 0xAF, 0x25, 0xD5, 0x76, 0x93, + 0xFB, 0xEA, 0x88, 0x13, 0x76, 0x9B, 0x0C, 0xC1, 0xF6, 0x06, 0x5F, 0x6A, 0xAE, 0x39, 0x63, 0xD5, + 0xDA, 0xEA, 0x59, 0x2D, 0x6D, 0x89, 0x2C, 0xE6, 0x1C, 0xBF, 0x45, 0x65, 0x2D, 0x78, 0x86, 0x4C, + 0xAA, 0x2D, 0x60, 0x3F, 0xB9, 0x94, 0x69, 0x4E, 0xF3, 0x2F, 0x56, 0xED, 0xF8, 0xB2, 0x59, 0x69, + 0x3F, 0xBC, 0xD3, 0xBB, 0x67, 0xD9, 0x0B, 0x67, 0x55, 0x44, 0xD9, 0x8B, 0x3B, 0xA8, 0xAF, 0xD5, + 0xE1, 0x4C, 0xE2, 0xF6, 0x12, 0x24, 0x64, 0x6E, 0x0F, 0x67, 0x0C, 0x20, 0x05, 0xF7, 0x0B, 0xDA, + 0x1F, 0xDE, 0xF6, 0x15, 0xC4, 0x0C, 0xEC, 0x65, 0xEB, 0x48, 0xCD, 0xBB, 0x6B, 0x9D, 0xDA, 0xD7, + 0x93, 0x6A, 0xBB, 0x9D, 0x16, 0x25, 0x12, 0x11, 0x16, 0x72, 0x7E, 0x6F, 0xD1, 0x91, 0x3E, 0xB0, + 0x1E, 0x67, 0xA5, 0x2B, 0x7B, 0x9C, 0x8E, 0x04, 0xC5, 0x51, 0x46, 0x7F, 0xC2, 0xF7, 0x3F, 0xE8, + 0x55, 0xB0, 0x6D, 0x9B, 0x47, 0xFB, 0xA6, 0x5C, 0x26, 0x94, 0xB4, 0x76, 0xA5, 0x99, 0x97, 0x1E, + 0xDF, 0x7C, 0x3B, 0xF6, 0x1D, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, + 0x79, 0x5A, 0x0B, 0x56, 0xAB, 0xA1, 0x32, 0xE1, 0x02, 0x00, 0x00, 0x10, 0x06, 0x00, 0x00, 0x3B, + 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, + 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, + 0x69, 0x62, 0x2F, 0x70, 0x72, 0x6F, 0x6A, 0x65, 0x63, 0x74, 0x2D, 0x6D, 0x61, 0x6E, 0x61, 0x67, + 0x65, 0x6D, 0x65, 0x6E, 0x74, 0x2F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x2E, 0x6A, 0x73, 0xA5, 0x93, + 0x6D, 0x6F, 0xDA, 0x30, 0x10, 0xC7, 0xDF, 0xF3, 0x29, 0x6E, 0x79, 0x55, 0x10, 0x24, 0x08, 0xED, + 0xCD, 0x8A, 0x26, 0x2D, 0x2B, 0xED, 0x16, 0xB5, 0x4D, 0x2A, 0x42, 0x57, 0x55, 0xD3, 0x54, 0x99, + 0xE4, 0x00, 0x6F, 0x89, 0x9D, 0xD9, 0x0E, 0x19, 0x6A, 0xFB, 0xDD, 0x77, 0x4E, 0x02, 0x03, 0xD1, + 0x4A, 0x95, 0x16, 0x21, 0x19, 0xFB, 0xCE, 0xFF, 0xFB, 0xDD, 0x83, 0xBD, 0xDE, 0x3B, 0x58, 0x70, + 0x85, 0x73, 0xA6, 0x71, 0xC0, 0xD2, 0x9C, 0x0B, 0x58, 0x7F, 0x70, 0xDF, 0xBB, 0x23, 0xE8, 0x79, + 0x1D, 0xA7, 0xD4, 0x08, 0xDA, 0x28, 0x9E, 0x18, 0x67, 0xDC, 0x21, 0xD7, 0x0E, 0xF4, 0xE0, 0x4C, + 0x16, 0x1B, 0xC5, 0x97, 0x2B, 0x03, 0xA3, 0xE1, 0x68, 0x08, 0x5F, 0xA4, 0x5C, 0x66, 0x08, 0x81, + 0x48, 0x5C, 0xB2, 0x5A, 0x87, 0x2B, 0x9E, 0xA0, 0xD0, 0x98, 0x42, 0x29, 0x52, 0x54, 0x60, 0x56, + 0x08, 0x7E, 0xC1, 0x12, 0x5A, 0x5A, 0x4B, 0x1F, 0xBE, 0xA1, 0xD2, 0x5C, 0x0A, 0x18, 0xB9, 0x43, + 0x38, 0xB1, 0x0E, 0x4E, 0x6B, 0x72, 0xBA, 0x63, 0x2B, 0xB1, 0x91, 0x25, 0xE4, 0x6C, 0x03, 0x42, + 0x1A, 0x20, 0x06, 0xD2, 0xE0, 0x9A, 0x30, 0x29, 0x0E, 0xFE, 0x49, 0xB0, 0x30, 0x40, 0x98, 0x89, + 0xCC, 0x8B, 0x8C, 0x33, 0x91, 0x20, 0x54, 0xDC, 0xAC, 0xC8, 0x67, 0x17, 0xC0, 0xB5, 0x1A, 0xF7, + 0xAD, 0x86, 0x9C, 0x1B, 0x46, 0xEE, 0x8C, 0x2E, 0x14, 0xB4, 0x5B, 0xEC, 0x3B, 0x02, 0x33, 0x2D, + 0x34, 0xC0, 0xCA, 0x98, 0xE2, 0xD4, 0xF3, 0xAA, 0xAA, 0x72, 0x59, 0x8D, 0xEB, 0x4A, 0xB5, 0xF4, + 0xB2, 0xC6, 0x51, 0x7B, 0x57, 0xC1, 0xD9, 0x79, 0x18, 0x9F, 0x0F, 0x08, 0xB9, 0xBD, 0x72, 0x2B, + 0x32, 0xD4, 0x1A, 0x14, 0xFE, 0x2E, 0xB9, 0xA2, 0x74, 0xE7, 0x1B, 0x60, 0x45, 0x41, 0x17, 0xD8, + 0x9C, 0x40, 0x33, 0x56, 0x81, 0x54, 0xC0, 0x96, 0x0A, 0xC9, 0x66, 0xA4, 0x45, 0xAE, 0x14, 0x37, + 0x5C, 0x2C, 0xFB, 0xA0, 0xE5, 0xC2, 0x54, 0x4C, 0xA1, 0x95, 0x49, 0xB9, 0xAD, 0xF0, 0xBC, 0x34, + 0xDB, 0x8A, 0x1D, 0x00, 0x72, 0x7D, 0xE0, 0x20, 0x29, 0x11, 0x01, 0x8E, 0x1F, 0x43, 0x10, 0x3B, + 0xF0, 0xD9, 0x8F, 0x83, 0xB8, 0x6F, 0x45, 0xEE, 0x82, 0xD9, 0xD7, 0xE8, 0x76, 0x06, 0x77, 0xFE, + 0x74, 0xEA, 0x87, 0xB3, 0xE0, 0x3C, 0x86, 0x68, 0x0A, 0x67, 0x51, 0x38, 0x09, 0x66, 0x41, 0x14, + 0xD2, 0xEE, 0x02, 0xFC, 0xF0, 0x1E, 0x2E, 0x83, 0x70, 0xD2, 0x07, 0xE4, 0x14, 0x42, 0x51, 0x2D, + 0x0B, 0x45, 0x19, 0x58, 0x4C, 0x6E, 0x6B, 0x89, 0x69, 0x5D, 0xB8, 0x18, 0xF1, 0x00, 0x61, 0x21, + 0x1B, 0x24, 0x5D, 0x60, 0xC2, 0x17, 0x3C, 0xA1, 0xD4, 0xC4, 0xB2, 0x64, 0x4B, 0x84, 0xA5, 0x5C, + 0xA3, 0x12, 0x94, 0x11, 0x14, 0xA8, 0x72, 0xAE, 0x6D, 0x4F, 0x35, 0x01, 0xA6, 0x56, 0x26, 0xE3, + 0x39, 0x37, 0xCC, 0xD8, 0xA3, 0xE3, 0xBC, 0x6C, 0x20, 0xAF, 0x13, 0xCD, 0x7F, 0x62, 0x62, 0xDC, + 0x14, 0x17, 0x5C, 0xE0, 0x8D, 0x92, 0xA4, 0x62, 0x36, 0x27, 0x84, 0x25, 0x95, 0xD1, 0x7D, 0x70, + 0x1E, 0x1E, 0x50, 0x5F, 0xCB, 0xB4, 0xCC, 0xD0, 0xE9, 0xC3, 0x23, 0xAC, 0x59, 0x56, 0xE2, 0x29, + 0x18, 0x55, 0x22, 0x3C, 0xD3, 0xA0, 0xB4, 0x8E, 0x6E, 0xA1, 0xA4, 0xD5, 0xB9, 0x66, 0x82, 0xA0, + 0x72, 0x14, 0x06, 0x3E, 0xC2, 0x5A, 0xF2, 0x14, 0x86, 0x76, 0x68, 0x01, 0x75, 0xC6, 0x85, 0x19, + 0x50, 0x19, 0xEB, 0xC6, 0x7C, 0x32, 0x9B, 0x02, 0x75, 0xA2, 0x78, 0x61, 0x06, 0x8D, 0xC9, 0x13, + 0x72, 0x20, 0x58, 0x8E, 0x9A, 0xDA, 0x8E, 0x96, 0x6B, 0xCD, 0x14, 0x1C, 0x89, 0x8E, 0x3B, 0x27, + 0x8B, 0x52, 0x24, 0x36, 0x21, 0x38, 0x39, 0xB2, 0x76, 0xE1, 0xB1, 0x03, 0xF4, 0x79, 0xBD, 0x5E, + 0xBD, 0x52, 0x01, 0x6E, 0x32, 0x66, 0xA8, 0x76, 0xB9, 0x6E, 0xE6, 0xB3, 0x5A, 0xF1, 0x64, 0x45, + 0x63, 0x78, 0xD1, 0xBC, 0x36, 0xFB, 0x28, 0x0A, 0x48, 0xA8, 0x9B, 0x73, 0x1A, 0x43, 0xAD, 0x65, + 0xC2, 0x99, 0xA1, 0x0E, 0xB4, 0xB7, 0xBD, 0x7A, 0x25, 0x10, 0xEB, 0xB6, 0x55, 0x1A, 0xD7, 0x87, + 0x7B, 0x18, 0x7B, 0xB6, 0x2D, 0xC0, 0x0E, 0xA2, 0xFD, 0xEA, 0x41, 0xFD, 0x25, 0x64, 0x25, 0xE8, + 0x25, 0x53, 0x04, 0x17, 0x66, 0xF6, 0x31, 0xD1, 0x4F, 0x8A, 0x6C, 0x63, 0x5F, 0x57, 0x6A, 0x3B, + 0x5C, 0x4F, 0x19, 0xA7, 0xBE, 0x72, 0xBD, 0xB2, 0x0D, 0x2D, 0xA9, 0x49, 0xA6, 0xA9, 0xB8, 0x6E, + 0x98, 0x76, 0x5C, 0xED, 0xB7, 0x17, 0xFB, 0xBB, 0x73, 0x73, 0xE5, 0xCF, 0x2E, 0xA2, 0xE9, 0xF5, + 0xC3, 0x6D, 0x78, 0x19, 0x46, 0x77, 0xA1, 0xF3, 0x83, 0x7A, 0x70, 0x7C, 0x3A, 0x7E, 0x05, 0x91, + 0x98, 0xF0, 0xA0, 0x30, 0x96, 0xEF, 0x5F, 0x51, 0x9A, 0x02, 0xF2, 0x28, 0x7E, 0x03, 0x49, 0x10, + 0xC5, 0x75, 0x70, 0xFB, 0xE7, 0xFF, 0xE2, 0xF9, 0x22, 0x55, 0x34, 0x45, 0x6F, 0x88, 0xE9, 0x87, + 0x93, 0x69, 0x14, 0x4C, 0xEA, 0xB8, 0xDB, 0x4D, 0x1B, 0xFB, 0xB9, 0xBB, 0xDF, 0x24, 0xB2, 0x1F, + 0x4D, 0x8E, 0xBB, 0x6F, 0x7F, 0x7A, 0x7A, 0x61, 0xB6, 0xDC, 0x43, 0x85, 0xC7, 0xE7, 0x2E, 0x0D, + 0x3F, 0x09, 0xBF, 0x34, 0xF7, 0xAF, 0xBE, 0x89, 0x5A, 0xFA, 0x55, 0xEB, 0x4E, 0xF6, 0x2F, 0x50, + 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x1E, 0xCD, 0x89, + 0x80, 0x8E, 0x05, 0x00, 0x00, 0xA8, 0x10, 0x00, 0x00, 0x3D, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, + 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, + 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x70, 0x72, 0x6F, + 0x6A, 0x65, 0x63, 0x74, 0x2D, 0x6D, 0x61, 0x6E, 0x61, 0x67, 0x65, 0x6D, 0x65, 0x6E, 0x74, 0x2F, + 0x69, 0x6F, 0x73, 0x2D, 0x61, 0x70, 0x70, 0x2E, 0x6A, 0x73, 0xDD, 0x57, 0xDB, 0x8E, 0xD3, 0x30, + 0x10, 0x7D, 0xEF, 0x57, 0x0C, 0x79, 0x69, 0x0B, 0x6D, 0x02, 0x08, 0x21, 0x60, 0x01, 0x51, 0x60, + 0x81, 0x0A, 0x68, 0xD1, 0xB6, 0x80, 0x10, 0xA0, 0xCA, 0x4D, 0x9C, 0xAC, 0x51, 0x62, 0x07, 0xDB, + 0xD9, 0x52, 0xC1, 0xFE, 0x3B, 0x63, 0xC7, 0x69, 0x73, 0xE9, 0x72, 0x15, 0x2F, 0xE4, 0xA5, 0x89, + 0x3D, 0x97, 0x33, 0x67, 0x2E, 0x76, 0x83, 0xCB, 0x97, 0x20, 0x66, 0x92, 0xAE, 0x89, 0xA2, 0x63, + 0x12, 0x65, 0x8C, 0xC3, 0xD9, 0x6D, 0xFF, 0x86, 0x7F, 0x1D, 0x2E, 0x07, 0x3D, 0xAF, 0x50, 0x14, + 0x94, 0x96, 0x2C, 0xD4, 0xDE, 0x51, 0x0F, 0x45, 0x7B, 0x70, 0x19, 0x1E, 0x89, 0x7C, 0x2B, 0x59, + 0x72, 0xAA, 0xE1, 0xFA, 0xD5, 0x6B, 0xB7, 0xE0, 0xA9, 0x10, 0x49, 0x4A, 0x61, 0xCA, 0x43, 0x1F, + 0x77, 0x8D, 0xC0, 0x0B, 0x16, 0x52, 0xAE, 0x68, 0x04, 0x05, 0x8F, 0xA8, 0x04, 0x7D, 0x4A, 0x61, + 0x92, 0x93, 0x10, 0x7F, 0xDC, 0xCE, 0x08, 0xDE, 0x50, 0xA9, 0x98, 0xE0, 0x70, 0xDD, 0xBF, 0x0A, + 0x03, 0x23, 0xE0, 0xB9, 0x2D, 0x6F, 0x78, 0x64, 0x4C, 0x6C, 0x45, 0x01, 0x19, 0xD9, 0x02, 0x17, + 0x1A, 0x10, 0x03, 0xDA, 0x60, 0x0A, 0x61, 0xA2, 0x1F, 0xFA, 0x25, 0xA4, 0xB9, 0x06, 0x84, 0x19, + 0x8A, 0x2C, 0x4F, 0x19, 0xE1, 0x21, 0x85, 0x0D, 0xD3, 0xA7, 0x28, 0xB3, 0x73, 0xE0, 0x1B, 0x1B, + 0xEF, 0x9C, 0x0D, 0xB1, 0xD6, 0x04, 0xC5, 0x09, 0x2A, 0xE4, 0xF8, 0x15, 0xD7, 0x05, 0x81, 0x68, + 0x07, 0x1A, 0xE0, 0x54, 0xEB, 0xFC, 0x4E, 0x10, 0x6C, 0x36, 0x1B, 0x9F, 0x58, 0xB8, 0xBE, 0x90, + 0x49, 0x90, 0x96, 0x82, 0x2A, 0x78, 0x31, 0x7D, 0x74, 0x3C, 0x5B, 0x1C, 0x8F, 0x11, 0xB2, 0x53, + 0x79, 0xCD, 0x53, 0xAA, 0x14, 0x48, 0xFA, 0xB9, 0x60, 0x12, 0xC3, 0x5D, 0x6F, 0x81, 0xE4, 0x39, + 0x2A, 0x90, 0x35, 0x02, 0x4D, 0xC9, 0x06, 0x84, 0x04, 0x92, 0x48, 0x8A, 0x7B, 0x5A, 0x18, 0xC8, + 0x1B, 0xC9, 0x34, 0xE3, 0xC9, 0x08, 0x94, 0x88, 0xF5, 0x86, 0x48, 0x6A, 0xCC, 0x44, 0xCC, 0x30, + 0xBC, 0x2E, 0x74, 0xC5, 0x58, 0x03, 0x20, 0x53, 0x0D, 0x01, 0x81, 0x81, 0x70, 0xF0, 0x26, 0x0B, + 0x98, 0x2E, 0x3C, 0x78, 0x38, 0x59, 0x4C, 0x17, 0x23, 0x63, 0xE4, 0xED, 0x74, 0xF9, 0x6C, 0xFE, + 0x7A, 0x09, 0x6F, 0x27, 0x27, 0x27, 0x93, 0xD9, 0x72, 0x7A, 0xBC, 0x80, 0xF9, 0x09, 0x3C, 0x9A, + 0xCF, 0x1E, 0x4F, 0x97, 0xD3, 0xF9, 0x0C, 0xBF, 0x9E, 0xC0, 0x64, 0xF6, 0x0E, 0x9E, 0x4F, 0x67, + 0x8F, 0x47, 0x40, 0x19, 0xBA, 0x90, 0xC8, 0x65, 0x2E, 0x31, 0x02, 0x03, 0x93, 0x19, 0x2E, 0x69, + 0x64, 0x89, 0x5B, 0x50, 0xDA, 0x80, 0x10, 0x8B, 0x12, 0x92, 0xCA, 0x69, 0xC8, 0x62, 0x16, 0x62, + 0x68, 0x3C, 0x29, 0x48, 0x42, 0x21, 0x11, 0x67, 0x54, 0x72, 0x8C, 0x08, 0x72, 0x2A, 0x33, 0xA6, + 0x4C, 0x4E, 0x15, 0x02, 0x8C, 0x8C, 0x99, 0x94, 0x65, 0x4C, 0x13, 0x6D, 0x96, 0xBA, 0x71, 0x19, + 0x47, 0x41, 0x6F, 0xBE, 0xFE, 0x44, 0x43, 0xED, 0x47, 0x34, 0x66, 0x9C, 0xBE, 0x92, 0x02, 0xAD, + 0xE8, 0xED, 0x00, 0x61, 0x09, 0xA9, 0xD5, 0x08, 0xBC, 0xD5, 0x8A, 0xAA, 0x97, 0x22, 0x2A, 0x52, + 0xEA, 0x8D, 0xE0, 0x2B, 0x9C, 0x91, 0xB4, 0xA0, 0x77, 0x40, 0xCB, 0x82, 0xC2, 0x39, 0x16, 0x8A, + 0x13, 0xF4, 0xA7, 0x42, 0x4D, 0xF2, 0x1C, 0xEE, 0xC1, 0x99, 0x60, 0x11, 0x5C, 0x3D, 0xEA, 0x9D, + 0x11, 0x0C, 0x4E, 0x4A, 0x21, 0x57, 0xD7, 0x70, 0xD5, 0x25, 0x68, 0xE0, 0xF9, 0x7E, 0x50, 0x68, + 0x96, 0xAA, 0xC0, 0xEE, 0x79, 0x43, 0x2B, 0x68, 0xAC, 0xB2, 0x88, 0x68, 0x21, 0x0F, 0x8A, 0xBA, + 0xDD, 0xBD, 0x78, 0x2E, 0x85, 0x01, 0xBD, 0xCA, 0x08, 0x47, 0x0A, 0x32, 0xCA, 0xF5, 0x8A, 0xE4, + 0x6C, 0x65, 0x34, 0xA9, 0xD2, 0x2B, 0xC6, 0x35, 0x52, 0x42, 0xD2, 0x96, 0xE7, 0xC0, 0xA9, 0x8D, + 0xF7, 0x6A, 0x63, 0x54, 0x1B, 0x3B, 0xB5, 0x71, 0xA5, 0x56, 0x79, 0x61, 0x48, 0xD8, 0x97, 0xB6, + 0x0D, 0xBB, 0x58, 0x49, 0x60, 0xC4, 0xAF, 0x52, 0xA2, 0x31, 0x39, 0x19, 0x4A, 0x39, 0x79, 0xDF, + 0xB9, 0x79, 0xB9, 0xF3, 0xE2, 0xD7, 0xE4, 0x4A, 0xC5, 0x1D, 0x5B, 0xC1, 0xE5, 0xCB, 0xF0, 0x20, + 0x4C, 0x89, 0x52, 0x98, 0x0B, 0x18, 0xC4, 0x05, 0x0F, 0x4D, 0xB6, 0x60, 0x30, 0x84, 0xAF, 0x3D, + 0xC0, 0xA7, 0x5A, 0x71, 0x2A, 0x03, 0xAC, 0xEE, 0x69, 0x34, 0x02, 0x87, 0xF9, 0x19, 0xE6, 0x39, + 0xA5, 0xD2, 0x0A, 0x97, 0x8F, 0x6D, 0x53, 0xDF, 0x4A, 0xA1, 0x79, 0xFB, 0x7B, 0xD4, 0xDC, 0x6B, + 0xAA, 0xA2, 0x50, 0x73, 0x61, 0x2F, 0xCD, 0x62, 0x18, 0x5C, 0xDA, 0x71, 0xEF, 0x33, 0x35, 0x13, + 0xFC, 0x38, 0xCB, 0xF5, 0x76, 0xA1, 0x25, 0xD6, 0x5B, 0x09, 0x65, 0x58, 0xF9, 0xDE, 0xFB, 0x90, + 0x62, 0x03, 0x9C, 0x6E, 0xAA, 0xEC, 0xFB, 0x4F, 0xDC, 0x68, 0x7B, 0xD5, 0xE6, 0xE5, 0xD8, 0x08, + 0x0C, 0xFA, 0x8C, 0x5B, 0x27, 0x63, 0x22, 0x93, 0xC2, 0x2C, 0xF7, 0x47, 0xD0, 0x2F, 0x03, 0xC8, + 0x0A, 0xA5, 0x61, 0x8D, 0x13, 0x02, 0x87, 0x10, 0x1F, 0x53, 0xE3, 0x1B, 0x94, 0x75, 0xEE, 0xF7, + 0x87, 0x7B, 0xA0, 0xE7, 0xED, 0x00, 0x95, 0x28, 0x64, 0x48, 0x67, 0x24, 0xA3, 0x18, 0x9E, 0xE7, + 0xF2, 0xA1, 0x82, 0x71, 0xC0, 0x2C, 0x89, 0x2A, 0xF0, 0xE0, 0x4A, 0xC5, 0xCD, 0xCE, 0x80, 0xC9, + 0x85, 0xFD, 0xC5, 0xBE, 0x39, 0xA1, 0xE8, 0x85, 0x9E, 0x51, 0x05, 0x19, 0xD5, 0x04, 0xE3, 0x27, + 0x40, 0xD6, 0xA2, 0xD0, 0xE5, 0x10, 0x64, 0xF3, 0x85, 0xD1, 0xF6, 0x4B, 0xE9, 0x9D, 0xD2, 0x03, + 0x49, 0x75, 0x21, 0x39, 0x7C, 0xBD, 0x84, 0x91, 0x62, 0x27, 0xD2, 0xBB, 0x76, 0x96, 0x77, 0xEB, + 0xC1, 0x35, 0xCB, 0x4B, 0x67, 0xFA, 0xFE, 0x39, 0x4C, 0x20, 0x2F, 0x55, 0xD0, 0x01, 0xD1, 0x95, + 0x41, 0xF3, 0x98, 0x60, 0x52, 0x03, 0x44, 0x0B, 0xDB, 0xBB, 0xD2, 0x21, 0x8B, 0x7E, 0x05, 0x59, + 0x60, 0x7F, 0x4B, 0x6F, 0x06, 0x86, 0x16, 0x7A, 0x9B, 0x53, 0x3F, 0xA1, 0xBA, 0xF2, 0x8D, 0xFC, + 0xB4, 0x6A, 0xCE, 0x3D, 0x65, 0x2C, 0x87, 0x2A, 0xC6, 0xA8, 0x9F, 0x38, 0x8A, 0x07, 0x1D, 0xC2, + 0x87, 0x8D, 0x62, 0xF0, 0x11, 0x32, 0xAF, 0x55, 0x35, 0x4A, 0xE6, 0x02, 0x47, 0xCF, 0x63, 0x74, + 0xDD, 0x2A, 0x9C, 0x5F, 0x6F, 0x6A, 0x1F, 0xBB, 0x05, 0x87, 0xD4, 0x82, 0x4A, 0x9C, 0x7C, 0x27, + 0xCE, 0xE2, 0xA0, 0x55, 0xA8, 0xB3, 0x22, 0x4D, 0xCB, 0xD1, 0xD6, 0x74, 0x3A, 0x82, 0xFA, 0x27, + 0x56, 0x5A, 0x8D, 0x8C, 0xC1, 0xF0, 0x43, 0x5F, 0x35, 0xF6, 0x5B, 0x15, 0xC8, 0xD1, 0x28, 0x08, + 0x6B, 0xD5, 0x15, 0xE0, 0xFE, 0xC1, 0xB6, 0xDE, 0x1D, 0x43, 0x4F, 0x18, 0x4D, 0x23, 0xF5, 0x02, + 0xCF, 0x0C, 0xE4, 0xF7, 0x7D, 0x9F, 0x23, 0x2F, 0xBB, 0xA2, 0x36, 0x2F, 0x2E, 0xD4, 0xF2, 0x63, + 0x5D, 0x18, 0x5A, 0xF1, 0xFD, 0x63, 0xD3, 0x60, 0xD7, 0x98, 0x8F, 0x03, 0xE4, 0x18, 0x4F, 0xC5, + 0x1A, 0xA1, 0x0D, 0xA1, 0x8A, 0xD1, 0x7F, 0xC7, 0x6A, 0xAD, 0xFD, 0x1B, 0xB4, 0xBE, 0x6F, 0xE0, + 0xF8, 0xD8, 0x61, 0xD9, 0x6B, 0xB0, 0xDC, 0x22, 0xD9, 0x37, 0xDD, 0xD8, 0x30, 0x80, 0xDF, 0xDE, + 0x8F, 0x9A, 0xDF, 0x6B, 0x71, 0x7F, 0xDE, 0xCD, 0xC5, 0xBE, 0x3D, 0xEE, 0x1D, 0x62, 0xC5, 0x4D, + 0xE3, 0x3B, 0xF5, 0x11, 0xEE, 0x4F, 0xE7, 0xE6, 0x20, 0x6F, 0x3D, 0xF5, 0xE2, 0xBE, 0xD3, 0xC4, + 0x6D, 0xF2, 0xDA, 0x55, 0xB0, 0x59, 0x6E, 0x49, 0xDA, 0xB5, 0x8E, 0xA8, 0xB9, 0x55, 0x20, 0x92, + 0xED, 0x01, 0xD3, 0xB5, 0x1D, 0xF8, 0xF6, 0x0D, 0x4C, 0xE1, 0x8D, 0x2E, 0xCA, 0x6D, 0xC7, 0xDB, + 0x6E, 0xBD, 0xAB, 0x52, 0x16, 0x5B, 0x47, 0xA3, 0x5C, 0x6E, 0x2B, 0x9C, 0xEF, 0x59, 0xDD, 0x8F, + 0x84, 0x1D, 0xB1, 0x66, 0x73, 0x4F, 0x7F, 0x29, 0xDF, 0x9E, 0xA3, 0x0B, 0xAA, 0x95, 0x1D, 0x5B, + 0x22, 0x37, 0xF5, 0x4A, 0x52, 0x73, 0x93, 0x94, 0x63, 0x2C, 0x35, 0x96, 0x70, 0x1A, 0x55, 0x04, + 0x80, 0x61, 0xD2, 0x5D, 0x0B, 0x0F, 0x4E, 0xD6, 0x9C, 0x48, 0x92, 0x99, 0x43, 0xE5, 0x71, 0x8D, + 0x97, 0x25, 0x0A, 0xE3, 0x52, 0xC3, 0x88, 0x19, 0x93, 0x8A, 0xEA, 0x0B, 0x46, 0x73, 0x6B, 0xCE, + 0xEE, 0x87, 0xEB, 0x06, 0xC7, 0x94, 0x71, 0xDE, 0xB4, 0x75, 0x4A, 0x54, 0x7D, 0x14, 0xAF, 0x29, + 0x0A, 0xA1, 0xF1, 0x9F, 0x4C, 0x57, 0x94, 0xA8, 0xA1, 0x6C, 0x0C, 0xD8, 0x66, 0x00, 0xBF, 0x38, + 0x6E, 0x9B, 0xF6, 0xBA, 0x13, 0x77, 0xD4, 0xE2, 0xE5, 0xC2, 0x64, 0x3C, 0xAD, 0x92, 0x11, 0x0A, + 0x1E, 0xB3, 0xA4, 0x90, 0xC4, 0xA2, 0x22, 0x52, 0xB3, 0x98, 0x84, 0x1A, 0x30, 0x2B, 0x22, 0x64, + 0x04, 0xAF, 0xB8, 0xE5, 0x65, 0xDE, 0x78, 0x32, 0xD9, 0xF8, 0x5D, 0x32, 0xCB, 0x93, 0xAA, 0x3A, + 0x8B, 0xB0, 0xD9, 0xAB, 0x0B, 0x40, 0x8D, 0x4C, 0x87, 0xC1, 0xFE, 0x9F, 0x18, 0x99, 0x6B, 0xF9, + 0xEB, 0xE5, 0x93, 0xF1, 0x2D, 0xD7, 0xDF, 0x60, 0xBA, 0x91, 0x68, 0x1F, 0x96, 0x88, 0xA0, 0x5A, + 0xC3, 0x37, 0xA4, 0x17, 0x2F, 0xF6, 0x69, 0xBA, 0x05, 0x33, 0xB6, 0x78, 0x64, 0xEF, 0xF4, 0xCD, + 0x0C, 0xD9, 0xEB, 0x3D, 0xEE, 0x19, 0x10, 0x04, 0xDB, 0x1C, 0xA7, 0xA6, 0xF1, 0xE1, 0x20, 0x26, + 0x86, 0x01, 0x75, 0xCA, 0xF2, 0xBC, 0x8A, 0x71, 0x8B, 0x34, 0xFE, 0xFA, 0xA9, 0xF9, 0xC8, 0x82, + 0xFE, 0xC3, 0x33, 0xB3, 0x54, 0xFE, 0x3F, 0x4E, 0xCC, 0x32, 0x96, 0xBF, 0x3E, 0x2F, 0x4D, 0x51, + 0xDC, 0xBC, 0x51, 0x1A, 0x7B, 0x82, 0x59, 0xC2, 0x37, 0xCC, 0x1D, 0xE6, 0xE8, 0x5E, 0x73, 0x3C, + 0x85, 0x1D, 0x89, 0xA3, 0x7F, 0x45, 0xC4, 0x43, 0x0B, 0xC9, 0x1D, 0x71, 0x17, 0xE1, 0xFB, 0x2D, + 0x4E, 0x0E, 0xA0, 0xAF, 0xD1, 0x54, 0xBA, 0x68, 0xDF, 0x6A, 0x5B, 0x15, 0xF5, 0xB0, 0x88, 0x63, + 0x2C, 0xA2, 0x18, 0xDB, 0xED, 0x42, 0x4C, 0x08, 0xA2, 0xDC, 0xEA, 0x0F, 0x7D, 0x2D, 0x5C, 0x00, + 0xFD, 0x42, 0xC7, 0xB7, 0xAC, 0xD1, 0xEE, 0xA8, 0xDE, 0xDB, 0x77, 0xB5, 0x7E, 0xD4, 0x3B, 0x1F, + 0x0C, 0x0F, 0xFC, 0xA5, 0xDB, 0x6D, 0x7F, 0x07, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, + 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x77, 0xBB, 0x89, 0x0C, 0x55, 0x0B, 0x00, 0x00, 0x0A, 0x32, + 0x00, 0x00, 0x5D, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, + 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, + 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x70, 0x72, 0x6F, 0x6A, 0x65, 0x63, 0x74, 0x2D, 0x6D, 0x61, + 0x6E, 0x61, 0x67, 0x65, 0x6D, 0x65, 0x6E, 0x74, 0x2F, 0x70, 0x72, 0x6F, 0x6A, 0x65, 0x63, 0x74, + 0x2D, 0x6D, 0x61, 0x6E, 0x61, 0x67, 0x65, 0x6D, 0x65, 0x6E, 0x74, 0x2D, 0x61, 0x70, 0x69, 0x2D, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2D, 0x69, 0x6E, 0x74, 0x65, 0x72, 0x6E, 0x61, 0x6C, + 0x2E, 0x6A, 0x73, 0xED, 0x1B, 0x6B, 0x77, 0x22, 0x35, 0xF4, 0x7B, 0x7F, 0x45, 0xE4, 0x0B, 0x74, + 0x97, 0x0E, 0xED, 0xBA, 0x7A, 0x94, 0x5A, 0x95, 0x6D, 0xD1, 0xA2, 0x5B, 0xE0, 0x00, 0xEB, 0xDB, + 0xC3, 0x09, 0x33, 0x01, 0x62, 0x87, 0xC9, 0x98, 0x64, 0xCA, 0xA2, 0xF6, 0xBF, 0x7B, 0x6F, 0x32, + 0x4F, 0x1E, 0xE5, 0x61, 0xED, 0xD9, 0xF5, 0x38, 0x1F, 0x96, 0x4E, 0x72, 0x73, 0xDF, 0xAF, 0x64, + 0xB2, 0xB5, 0x67, 0x1F, 0x90, 0x31, 0x97, 0x6C, 0x44, 0x15, 0x3B, 0xA1, 0xDE, 0x8C, 0x07, 0xE4, + 0xEE, 0x53, 0xE7, 0xA5, 0xF3, 0x82, 0x3C, 0xAB, 0x1D, 0x95, 0x22, 0xC5, 0x88, 0xD2, 0x92, 0xBB, + 0xBA, 0x74, 0x7E, 0x04, 0xA0, 0x47, 0xE4, 0x19, 0xB9, 0x14, 0xE1, 0x42, 0xF2, 0xC9, 0x54, 0x93, + 0x17, 0xA7, 0x67, 0x9F, 0x90, 0xAF, 0x85, 0x98, 0xF8, 0x8C, 0xB4, 0x02, 0xD7, 0x81, 0x59, 0x04, + 0x78, 0xCD, 0x5D, 0x16, 0x28, 0xE6, 0x91, 0x28, 0xF0, 0x98, 0x24, 0x7A, 0xCA, 0x48, 0x23, 0xA4, + 0x2E, 0xFC, 0xC4, 0x33, 0x55, 0xF2, 0x1D, 0x93, 0x8A, 0x8B, 0x80, 0xBC, 0x70, 0x4E, 0x49, 0x05, + 0x01, 0x4A, 0xF1, 0x54, 0xE9, 0xF8, 0x1C, 0x51, 0x2C, 0x44, 0x44, 0x66, 0x74, 0x41, 0x02, 0xA1, + 0x09, 0xF0, 0x00, 0x38, 0xB8, 0x02, 0x36, 0x81, 0x0E, 0x7B, 0xEB, 0xB2, 0x50, 0x13, 0x60, 0xD3, + 0x15, 0xB3, 0xD0, 0xE7, 0x34, 0x70, 0x19, 0x99, 0x73, 0x3D, 0x05, 0x98, 0x94, 0x80, 0x83, 0x38, + 0x7E, 0x8C, 0x71, 0x88, 0x91, 0xA6, 0x00, 0x4E, 0x61, 0x41, 0x08, 0x6F, 0xE3, 0x3C, 0x20, 0xA1, + 0x3A, 0x66, 0x9A, 0x90, 0xA9, 0xD6, 0x61, 0xBD, 0x56, 0x9B, 0xCF, 0xE7, 0x0E, 0x35, 0xEC, 0x3A, + 0x42, 0x4E, 0x6A, 0xBE, 0x05, 0x54, 0xB5, 0xD7, 0xAD, 0xCB, 0x66, 0xBB, 0xDF, 0x3C, 0x01, 0x96, + 0xE3, 0x25, 0x6F, 0x02, 0x9F, 0x29, 0x45, 0x24, 0xFB, 0x3D, 0xE2, 0x12, 0xC4, 0x1D, 0x2D, 0x08, + 0x0D, 0x43, 0x58, 0x40, 0x47, 0xC0, 0xA8, 0x4F, 0xE7, 0x44, 0x48, 0x42, 0x27, 0x92, 0xC1, 0x9C, + 0x16, 0xC8, 0xF2, 0x5C, 0x72, 0xCD, 0x83, 0x49, 0x95, 0x28, 0x31, 0xD6, 0x73, 0x2A, 0x19, 0xA2, + 0xF1, 0x38, 0x6A, 0x78, 0x14, 0xE9, 0x44, 0x63, 0x05, 0x06, 0xB9, 0x2A, 0x00, 0x08, 0x10, 0x24, + 0x20, 0xA5, 0x46, 0x9F, 0xB4, 0xFA, 0x25, 0xF2, 0xAA, 0xD1, 0x6F, 0xF5, 0xAB, 0x88, 0xE4, 0xFB, + 0xD6, 0xE0, 0xBA, 0xF3, 0x66, 0x40, 0xBE, 0x6F, 0xF4, 0x7A, 0x8D, 0xF6, 0xA0, 0xD5, 0xEC, 0x93, + 0x4E, 0x8F, 0x5C, 0x76, 0xDA, 0x57, 0xAD, 0x41, 0xAB, 0xD3, 0x86, 0xB7, 0xAF, 0x48, 0xA3, 0xFD, + 0x23, 0xF9, 0xB6, 0xD5, 0xBE, 0xAA, 0x12, 0xC6, 0x81, 0x84, 0x04, 0x5D, 0x86, 0x12, 0x24, 0x40, + 0x36, 0x39, 0xEA, 0x92, 0x79, 0x46, 0x71, 0x7D, 0xC6, 0x0A, 0x2C, 0x8C, 0x85, 0x65, 0x49, 0x85, + 0xCC, 0xE5, 0x63, 0xEE, 0x82, 0x68, 0xC1, 0x24, 0xA2, 0x13, 0x46, 0x26, 0xE2, 0x8E, 0xC9, 0x00, + 0x24, 0x22, 0x21, 0x93, 0x33, 0xAE, 0xD0, 0xA6, 0x0A, 0x18, 0xF4, 0x10, 0x8D, 0xCF, 0x67, 0x5C, + 0x53, 0x8D, 0x43, 0xAB, 0x72, 0x21, 0xA1, 0xDA, 0x51, 0x67, 0xF4, 0x1B, 0x73, 0xB5, 0xE3, 0xB1, + 0x31, 0x0F, 0x58, 0x57, 0x0A, 0xC0, 0xA2, 0x17, 0x15, 0x60, 0x4B, 0x48, 0xAD, 0xAA, 0xA4, 0x34, + 0x1C, 0x32, 0x75, 0x23, 0xBC, 0xC8, 0x67, 0xA5, 0x2A, 0xF9, 0x93, 0xDC, 0x51, 0x3F, 0x62, 0x75, + 0xA2, 0x65, 0xC4, 0xC8, 0x3D, 0x38, 0x4A, 0x0C, 0xE8, 0xC0, 0x4A, 0xC4, 0x73, 0x43, 0x03, 0x60, + 0x6A, 0xC6, 0x02, 0xDD, 0x03, 0x93, 0x30, 0xA5, 0xAF, 0x81, 0x13, 0x1F, 0xE8, 0x5E, 0x90, 0x04, + 0x92, 0x2A, 0x05, 0x24, 0xFA, 0x4C, 0x02, 0xDF, 0x3D, 0xA6, 0x42, 0x01, 0xAC, 0xC0, 0xF4, 0x9D, + 0xE0, 0x1E, 0x39, 0x3D, 0x3F, 0xBA, 0xA3, 0x12, 0x4C, 0xC8, 0x87, 0xD2, 0xAE, 0x1F, 0x9E, 0xC1, + 0x5C, 0x6C, 0xDE, 0x4A, 0xC9, 0x71, 0x6A, 0x91, 0xE6, 0xBE, 0xAA, 0x01, 0xC4, 0x49, 0x0C, 0x51, + 0x3A, 0xB6, 0x8B, 0x98, 0x94, 0x42, 0x6E, 0x00, 0x37, 0x73, 0x31, 0x20, 0x8A, 0xC0, 0x3D, 0xAA, + 0x85, 0x5C, 0x0B, 0x1A, 0xCF, 0x66, 0xE0, 0x1C, 0xF4, 0xF6, 0x76, 0x03, 0x5E, 0x33, 0x87, 0x80, + 0xB5, 0x67, 0xCF, 0x48, 0xAC, 0x02, 0x32, 0x4B, 0x75, 0x40, 0x46, 0xD4, 0xBD, 0x65, 0x81, 0x47, + 0xA6, 0x42, 0x69, 0xB4, 0x09, 0x41, 0x15, 0x38, 0xA0, 0x76, 0x83, 0xB9, 0xDB, 0xEB, 0x7C, 0xD3, + 0xBC, 0x1C, 0x0C, 0x6F, 0x1A, 0xED, 0xC6, 0xD7, 0xCD, 0x9B, 0x66, 0x7B, 0x30, 0xBC, 0xEE, 0xF4, + 0x07, 0xC3, 0x46, 0xFB, 0x6A, 0xD8, 0xED, 0xF4, 0x06, 0x40, 0xB2, 0x9C, 0xE4, 0x05, 0x67, 0x62, + 0x62, 0x1C, 0xE4, 0x56, 0x0E, 0x44, 0x5D, 0xFD, 0xE5, 0xCB, 0x0F, 0xCB, 0x5B, 0xC9, 0x86, 0x54, + 0x4F, 0x1F, 0xA2, 0xD6, 0x6D, 0x0C, 0xAE, 0x91, 0x48, 0xED, 0xEE, 0xAC, 0xF6, 0x00, 0x36, 0xA6, + 0xE9, 0xCE, 0x28, 0x5F, 0x35, 0x07, 0x8D, 0x3C, 0x5E, 0x5C, 0xFC, 0x10, 0xF2, 0xD8, 0x88, 0x64, + 0xCA, 0x28, 0xB8, 0xE7, 0x83, 0xAA, 0x69, 0x36, 0xAE, 0x9A, 0xBD, 0x3E, 0xE0, 0xFD, 0xF3, 0x88, + 0xC0, 0x53, 0xFE, 0xE1, 0xE4, 0xD2, 0xE7, 0x80, 0xE3, 0x24, 0xCE, 0x64, 0xE5, 0x3A, 0x29, 0xB5, + 0x85, 0xC7, 0x6A, 0x0D, 0x4C, 0xA1, 0xB5, 0x12, 0x79, 0x9E, 0xD8, 0xCE, 0x99, 0x30, 0xDD, 0xF7, + 0x6E, 0x63, 0xB8, 0xCA, 0x71, 0xF5, 0xE8, 0x7E, 0x2B, 0x43, 0x9A, 0xCF, 0x98, 0x88, 0x34, 0xF1, + 0x22, 0x69, 0x02, 0x08, 0x73, 0xC7, 0x8C, 0xFB, 0x3E, 0x57, 0xCC, 0x15, 0x81, 0xA7, 0x1E, 0x62, + 0x75, 0xD0, 0xBA, 0x69, 0x76, 0xDE, 0xC0, 0x50, 0xEB, 0xF5, 0xEB, 0x16, 0x72, 0x7C, 0x76, 0x0A, + 0x8F, 0x75, 0x27, 0x18, 0x00, 0x0B, 0x77, 0xBB, 0x7D, 0x58, 0xF0, 0xC3, 0xB0, 0x0B, 0x4B, 0x86, + 0xFD, 0xD6, 0x4F, 0x4D, 0x04, 0x4A, 0x40, 0x2E, 0x9B, 0x3D, 0xC0, 0xF1, 0x63, 0xB7, 0x09, 0x70, + 0x2D, 0x00, 0xEB, 0xA6, 0x32, 0xAB, 0x29, 0x3D, 0xAB, 0x93, 0x72, 0xFF, 0xBA, 0x31, 0x3C, 0x2B, + 0x57, 0x93, 0xA1, 0x17, 0x1F, 0x7D, 0x1C, 0x0F, 0xC2, 0x5F, 0x65, 0x23, 0xDC, 0x38, 0x0A, 0x5C, + 0xC3, 0xF5, 0xBA, 0x68, 0xAB, 0xA0, 0x00, 0x1C, 0xA7, 0xAB, 0x44, 0xC6, 0x63, 0x57, 0x54, 0xD3, + 0x2A, 0x99, 0x41, 0x2A, 0x02, 0x45, 0x1C, 0xC7, 0xE4, 0xF8, 0x98, 0x54, 0x3E, 0x48, 0x81, 0xCD, + 0x68, 0xFC, 0xE8, 0xA9, 0x14, 0x73, 0x12, 0xB0, 0x79, 0x12, 0x76, 0xCE, 0x57, 0xB1, 0xA3, 0xAE, + 0x24, 0x82, 0x26, 0x02, 0x54, 0xCA, 0x3C, 0x30, 0x91, 0x75, 0xA2, 0x0C, 0x2B, 0x27, 0x09, 0xDD, + 0x72, 0x4A, 0x14, 0xCC, 0x55, 0x22, 0x69, 0x42, 0xF0, 0x80, 0x1F, 0xB0, 0x27, 0x0C, 0x7E, 0xD3, + 0xEF, 0xB4, 0x1D, 0xCC, 0xBE, 0xC1, 0x84, 0x8F, 0x17, 0x95, 0x22, 0xC3, 0x41, 0xE4, 0xFB, 0x55, + 0xF2, 0xE2, 0x18, 0x4B, 0x16, 0x3C, 0xF7, 0x47, 0xF7, 0x47, 0x5B, 0xF2, 0xCC, 0xBA, 0x61, 0xE3, + 0x0C, 0xA6, 0xAE, 0xFA, 0x30, 0x0D, 0xC2, 0x51, 0x4D, 0x42, 0x29, 0xEE, 0xB8, 0xC7, 0x14, 0xB0, + 0xE7, 0x4E, 0x69, 0xC0, 0xD5, 0x0C, 0x0B, 0x88, 0x82, 0x18, 0x48, 0x5C, 0x44, 0xC1, 0x80, 0xC9, + 0xA7, 0x89, 0xE8, 0xB0, 0x66, 0x53, 0x28, 0x22, 0x72, 0xF8, 0x09, 0x05, 0x0F, 0xB4, 0x4A, 0x8A, + 0xF4, 0x97, 0xA1, 0xE4, 0x77, 0x54, 0xB3, 0xA3, 0xC4, 0x95, 0xB6, 0x27, 0x51, 0x74, 0xDA, 0x2F, + 0x5D, 0xE4, 0x12, 0xD6, 0x90, 0x4A, 0x6A, 0xE6, 0x4A, 0x6C, 0x1C, 0x04, 0x30, 0xBF, 0x06, 0x3D, + 0x95, 0x74, 0x46, 0xFE, 0x4C, 0xD8, 0x6B, 0x84, 0xE1, 0x3D, 0x56, 0x47, 0x32, 0x98, 0x32, 0xF3, + 0x1B, 0x29, 0x5B, 0x15, 0xC7, 0x4C, 0xBB, 0x53, 0x42, 0x5D, 0x17, 0x0C, 0x01, 0xEF, 0xC0, 0xAF, + 0x32, 0xB2, 0xF2, 0x49, 0x40, 0xC0, 0x03, 0x53, 0x79, 0x9D, 0x14, 0x33, 0xF8, 0x04, 0x58, 0x24, + 0x72, 0x21, 0x4D, 0xC6, 0x63, 0x35, 0xF3, 0x9B, 0xF0, 0xB3, 0x4D, 0x92, 0x0A, 0x90, 0x2F, 0xBA, + 0x13, 0xA4, 0x35, 0xE4, 0xF1, 0x8D, 0xF4, 0x41, 0xCA, 0x12, 0xF6, 0x01, 0xAA, 0x5E, 0xC3, 0x18, + 0xDE, 0x9E, 0x25, 0x9F, 0x6F, 0x4A, 0x6D, 0xE7, 0xAB, 0xF8, 0x5F, 0x41, 0x3A, 0x7A, 0x34, 0x1A, + 0x36, 0xD7, 0xAD, 0x12, 0x42, 0xCC, 0x36, 0x35, 0x01, 0x1D, 0x88, 0x91, 0x62, 0x3D, 0x73, 0x1A, + 0x91, 0x9E, 0x0A, 0xC9, 0xFF, 0x60, 0xDE, 0x75, 0x0A, 0x88, 0x0A, 0x49, 0x7C, 0x18, 0xFF, 0xDD, + 0xA6, 0x40, 0x67, 0x2E, 0x69, 0xD8, 0x08, 0xBC, 0x1E, 0x33, 0x91, 0x88, 0x88, 0x4C, 0x9C, 0x01, + 0xC1, 0xCC, 0x27, 0x20, 0x34, 0xFB, 0x50, 0xFD, 0x23, 0x75, 0x09, 0x59, 0xB1, 0x8A, 0x91, 0x3A, + 0x60, 0x6F, 0x75, 0x5E, 0xEF, 0x69, 0xDD, 0x44, 0x88, 0xF3, 0xD5, 0xE1, 0x1B, 0x1B, 0x9A, 0xD9, + 0x8C, 0x9A, 0x73, 0xF0, 0x95, 0x25, 0xD4, 0x16, 0x63, 0xF6, 0xB8, 0x18, 0x0B, 0x2F, 0x4F, 0x4F, + 0xEB, 0x76, 0x34, 0x7B, 0x32, 0x5A, 0xC0, 0x67, 0x9A, 0x11, 0xA8, 0x9C, 0x44, 0x28, 0x61, 0xF9, + 0x7C, 0x15, 0x3E, 0x63, 0xC2, 0x2C, 0x69, 0xD9, 0x25, 0x24, 0x5E, 0x92, 0x46, 0xA9, 0xE7, 0xAC, + 0x59, 0x3C, 0x92, 0x8C, 0xDE, 0x9E, 0xAF, 0xE3, 0xEC, 0xAC, 0xBE, 0x6E, 0xF4, 0xC3, 0x2D, 0xFC, + 0x52, 0xB0, 0x1B, 0xD0, 0xE4, 0xAE, 0xA9, 0x07, 0x27, 0x66, 0x6E, 0x07, 0x9E, 0x1B, 0x81, 0x1D, + 0x22, 0xC2, 0x75, 0x23, 0x89, 0x4D, 0xEA, 0x1C, 0xD0, 0x40, 0x07, 0xB5, 0x80, 0x8C, 0x86, 0x71, + 0x96, 0xC3, 0xCB, 0x1C, 0x72, 0x43, 0x6F, 0xA1, 0xCD, 0x8B, 0xA4, 0xED, 0xFF, 0x5C, 0x80, 0xC7, + 0x39, 0xEA, 0x93, 0x32, 0x50, 0x5A, 0x7D, 0x9E, 0x93, 0x32, 0x86, 0xF1, 0x12, 0x9E, 0xB8, 0x5B, + 0xEF, 0x5F, 0x7D, 0x4B, 0xA6, 0x54, 0x19, 0x4C, 0xA1, 0x69, 0xED, 0xF2, 0x4D, 0xA2, 0x83, 0x5D, + 0xE6, 0x66, 0xB4, 0x49, 0x7C, 0x2C, 0x75, 0x20, 0xD8, 0x7D, 0xD4, 0x3C, 0xE1, 0x42, 0x0F, 0x66, + 0xCA, 0xAC, 0x62, 0x3A, 0x0A, 0x4D, 0x7F, 0x6A, 0xFF, 0xE2, 0x71, 0x66, 0x40, 0x0A, 0xFB, 0x59, + 0xE5, 0xE5, 0x16, 0xFD, 0xC3, 0x46, 0xE4, 0x64, 0x2C, 0xA0, 0x8D, 0xDD, 0x41, 0xE9, 0x83, 0xAC, + 0x57, 0x06, 0xE5, 0xA0, 0x56, 0xF4, 0x02, 0x36, 0x1F, 0x91, 0xEF, 0x99, 0xFD, 0xCC, 0x88, 0x11, + 0xC4, 0xB4, 0xA7, 0xDB, 0x7C, 0xBA, 0xCD, 0x41, 0x7C, 0x58, 0xEA, 0x2D, 0x4E, 0xD8, 0x5B, 0x0E, + 0xD9, 0xF2, 0x50, 0x2E, 0x63, 0x2C, 0xC4, 0x60, 0xD9, 0x4B, 0x85, 0x1F, 0xED, 0x10, 0x72, 0x1A, + 0x36, 0x0B, 0xD4, 0xDF, 0xC7, 0x79, 0x93, 0x35, 0x76, 0x0E, 0xFD, 0x29, 0xF5, 0x64, 0x87, 0x74, + 0x7D, 0x86, 0x94, 0x25, 0x03, 0x77, 0x46, 0x37, 0x4B, 0x6A, 0xC5, 0x7E, 0x6C, 0x6F, 0x8B, 0x3C, + 0xEC, 0x19, 0x60, 0xCF, 0x72, 0x12, 0x05, 0xF4, 0x8E, 0x72, 0x1F, 0xF7, 0x76, 0x3B, 0xF0, 0x6E, + 0xB4, 0x6B, 0xEA, 0x7C, 0x66, 0x79, 0x0C, 0x03, 0x5B, 0xE6, 0x32, 0x5E, 0x41, 0x42, 0xD3, 0xED, + 0x39, 0xC9, 0xAE, 0xCB, 0x62, 0xDA, 0x1C, 0x19, 0xE0, 0xFD, 0x26, 0xFB, 0x98, 0x3C, 0x60, 0x5C, + 0x7F, 0x26, 0x20, 0x5E, 0x3D, 0xA6, 0x81, 0xB9, 0x5D, 0x2D, 0x06, 0x1B, 0x2E, 0x1A, 0xF9, 0x7A, + 0x8B, 0xE4, 0x51, 0x70, 0x1B, 0x88, 0xF9, 0x5E, 0xC9, 0x26, 0x5E, 0x12, 0x8B, 0x1E, 0xCB, 0x32, + 0xA7, 0x0A, 0x8D, 0x14, 0xC9, 0x20, 0xCB, 0x95, 0x59, 0xB1, 0x49, 0x7B, 0xBD, 0x42, 0x89, 0xC8, + 0x9E, 0x78, 0x18, 0x09, 0x7C, 0x66, 0xB2, 0x47, 0x30, 0xF9, 0x3C, 0x8F, 0xE4, 0xF0, 0xB6, 0x30, + 0x15, 0xB6, 0x9A, 0x88, 0x92, 0xF5, 0x82, 0xB6, 0xC0, 0x10, 0x17, 0x66, 0x6D, 0x27, 0x98, 0x2F, + 0x3A, 0x06, 0xC4, 0x21, 0x3D, 0x3A, 0x8F, 0x05, 0x4D, 0x3A, 0x59, 0x80, 0xFD, 0xA5, 0x04, 0xD0, + 0x09, 0xD3, 0x08, 0xF7, 0x4B, 0xC9, 0x29, 0x25, 0xD5, 0xF5, 0x7C, 0x53, 0x9B, 0x64, 0x5B, 0xCC, + 0x7B, 0x02, 0xAF, 0xA6, 0xDC, 0x2A, 0x11, 0x49, 0x97, 0xB5, 0xE9, 0x0C, 0x1A, 0x3C, 0xE8, 0x32, + 0x17, 0x27, 0xBF, 0x47, 0xD4, 0xB7, 0x91, 0x2A, 0xE3, 0x49, 0x12, 0xC0, 0xAC, 0x3D, 0xCE, 0xC8, + 0x9A, 0xBF, 0xF9, 0x54, 0x80, 0x53, 0x43, 0x6D, 0x96, 0xB0, 0xA3, 0x4D, 0x88, 0xE0, 0x03, 0x25, + 0x5E, 0x99, 0x53, 0x95, 0x39, 0x0D, 0x34, 0x26, 0x6C, 0x9F, 0x43, 0xA0, 0x24, 0xFD, 0xD3, 0x4E, + 0x55, 0x1F, 0x68, 0x68, 0xA1, 0x17, 0x21, 0x73, 0x70, 0x6D, 0x4C, 0xA3, 0x01, 0x78, 0x0B, 0x75, + 0x7F, 0x55, 0x82, 0x9C, 0x41, 0x63, 0x37, 0xB0, 0x9D, 0x0A, 0x94, 0x60, 0x68, 0xF7, 0x96, 0x7A, + 0xB3, 0xF2, 0xD7, 0xCD, 0x41, 0xB9, 0xBA, 0xAA, 0x07, 0xA3, 0xF2, 0x1A, 0xCD, 0x88, 0x7E, 0x11, + 0x02, 0x97, 0x43, 0x05, 0x9D, 0xCC, 0x05, 0x28, 0x7C, 0xD3, 0xCE, 0xA6, 0x4A, 0x52, 0xD2, 0xB5, + 0x67, 0x49, 0xCC, 0x61, 0xF7, 0x0E, 0x42, 0xC7, 0xFD, 0x7B, 0x39, 0xDE, 0x27, 0x96, 0x9F, 0xD8, + 0x48, 0xBC, 0xD3, 0x37, 0x56, 0xC9, 0x59, 0xE9, 0x51, 0x0D, 0xD4, 0x12, 0xEA, 0x69, 0x8D, 0xC3, + 0x85, 0xFA, 0xDF, 0x30, 0x3B, 0x18, 0x06, 0x94, 0x74, 0x03, 0x72, 0xE1, 0x26, 0xF3, 0xC9, 0x8C, + 0x53, 0x57, 0x8C, 0x4A, 0x77, 0xFA, 0x9E, 0xDB, 0x07, 0xF7, 0xC6, 0xA9, 0x29, 0xF2, 0xE6, 0xD1, + 0x02, 0x9B, 0x55, 0xDB, 0x7A, 0xA6, 0xE9, 0x0F, 0x8D, 0x68, 0x4E, 0x86, 0x79, 0x70, 0xA8, 0xB9, + 0x2C, 0xD2, 0x2C, 0xD5, 0x6D, 0xB1, 0x17, 0x6A, 0xDF, 0xBD, 0x05, 0xA4, 0xE6, 0x05, 0xCF, 0x6D, + 0x43, 0x9F, 0x2E, 0xF0, 0x65, 0x79, 0xDF, 0x33, 0x44, 0x3B, 0x02, 0x36, 0xFC, 0x29, 0x6C, 0x7D, + 0x0A, 0xAA, 0xBE, 0x28, 0x96, 0xC2, 0x3C, 0xF6, 0x7A, 0x81, 0x54, 0x56, 0x0D, 0xCF, 0x0B, 0x35, + 0x35, 0x3D, 0x4F, 0x74, 0xB8, 0x6A, 0x8B, 0xA0, 0x39, 0x0B, 0xF5, 0xA2, 0x6F, 0x8C, 0x51, 0xC9, + 0x33, 0xB7, 0x54, 0x72, 0xF3, 0x3C, 0x38, 0x39, 0x38, 0xE0, 0x27, 0xF7, 0x56, 0x28, 0xC1, 0xAB, + 0x4E, 0x5A, 0x40, 0xB8, 0xC1, 0x63, 0xBB, 0x9D, 0xFE, 0x6E, 0xC9, 0xBE, 0x54, 0xCD, 0xF3, 0x94, + 0x77, 0xBD, 0x22, 0x19, 0xDC, 0x83, 0x64, 0xE7, 0x12, 0x85, 0xE3, 0x9A, 0x25, 0x19, 0xD7, 0x1E, + 0xC5, 0x2C, 0xEB, 0xAB, 0x0D, 0xCE, 0x69, 0x8F, 0xA8, 0x8B, 0xA8, 0x96, 0x4F, 0xAE, 0xCA, 0xCB, + 0x7E, 0xF2, 0x4B, 0x59, 0x15, 0x40, 0xC8, 0x2C, 0x52, 0xA6, 0xF1, 0xA7, 0x24, 0x80, 0xDD, 0x1B, + 0xC6, 0x0F, 0x11, 0xF6, 0xEC, 0x1B, 0xA2, 0x67, 0x6F, 0xBE, 0xF2, 0x76, 0xCC, 0x93, 0x71, 0x30, + 0x68, 0xF6, 0xE7, 0xCE, 0x2C, 0x5B, 0x62, 0x91, 0x21, 0x09, 0x62, 0x03, 0x37, 0xE5, 0xB1, 0x68, + 0x66, 0xEB, 0xC4, 0x4E, 0x28, 0x7C, 0xBF, 0xC7, 0x66, 0x42, 0xB3, 0x4E, 0xC8, 0xEC, 0x71, 0xE5, + 0xF7, 0x10, 0x74, 0xCD, 0xB7, 0x80, 0xDF, 0xEE, 0x1E, 0x5F, 0x81, 0xA7, 0x8A, 0xF1, 0x78, 0x0D, + 0xAB, 0x39, 0x1F, 0x7A, 0xD7, 0x92, 0x08, 0x54, 0x81, 0x47, 0x4B, 0x20, 0x50, 0x8A, 0x77, 0x49, + 0x1E, 0xA3, 0x08, 0x97, 0xB7, 0xBC, 0x7F, 0x21, 0x73, 0x24, 0xA8, 0xEB, 0xE9, 0x5F, 0xFF, 0xCD, + 0x9C, 0x01, 0x3D, 0xC8, 0xFB, 0x93, 0x2F, 0xC0, 0x2D, 0xDE, 0xD1, 0x5C, 0x01, 0x9C, 0xBD, 0xF7, + 0x79, 0x42, 0xEE, 0x9D, 0x21, 0xEC, 0x19, 0x88, 0xED, 0x02, 0x13, 0xAF, 0x35, 0x00, 0x98, 0x2E, + 0x72, 0x99, 0x22, 0xED, 0x04, 0x15, 0x3B, 0xB8, 0x11, 0x84, 0xA5, 0x57, 0x85, 0x28, 0x29, 0x78, + 0x61, 0x96, 0x14, 0x70, 0x3F, 0x7B, 0x55, 0xC8, 0x06, 0x3B, 0xC7, 0x7C, 0x2E, 0xEE, 0xEA, 0x4B, + 0x68, 0xF2, 0xC1, 0x7F, 0x70, 0x20, 0x36, 0x06, 0x97, 0xD7, 0x65, 0x70, 0xA0, 0xA5, 0x18, 0xFC, + 0x22, 0x0A, 0x3D, 0x70, 0xA1, 0xE1, 0x8C, 0xAA, 0xDB, 0x8B, 0x98, 0x87, 0x21, 0x6A, 0xF1, 0xC0, + 0xA0, 0x04, 0x91, 0x13, 0xD6, 0xA2, 0xC0, 0x7E, 0x29, 0xF6, 0xCE, 0xF7, 0xF0, 0x83, 0x43, 0xEB, + 0x45, 0xAE, 0x8B, 0x8C, 0x5D, 0x02, 0x3E, 0x72, 0xE5, 0xBD, 0xC0, 0x85, 0xD8, 0x83, 0xF5, 0x78, + 0xE2, 0x59, 0xDC, 0x5A, 0x4F, 0x0E, 0x77, 0x0B, 0x58, 0x1A, 0xD3, 0xED, 0x4F, 0xE9, 0x65, 0x46, + 0xE0, 0x09, 0xB7, 0x71, 0xF0, 0x4D, 0xAF, 0x54, 0x7D, 0x07, 0x9A, 0xFE, 0x9C, 0xFE, 0x4D, 0xCD, + 0xDE, 0x14, 0x84, 0xD4, 0xF3, 0x0C, 0xFC, 0x84, 0xDF, 0xB1, 0x00, 0x6D, 0x94, 0x37, 0x0C, 0x00, + 0x1C, 0x6A, 0x0A, 0xC0, 0xBB, 0xD6, 0x14, 0x5B, 0xCB, 0x78, 0x46, 0x7E, 0xAF, 0x70, 0x05, 0xBD, + 0x5F, 0x53, 0x35, 0xAD, 0xE7, 0xD7, 0x3B, 0xF1, 0x60, 0x1A, 0xAF, 0xA9, 0xE3, 0x0D, 0x80, 0xC5, + 0xFA, 0xEA, 0xC7, 0xDA, 0x9F, 0xF3, 0x8B, 0x13, 0xB8, 0x5F, 0x1F, 0x25, 0xDC, 0x3B, 0xFD, 0xAD, + 0x4E, 0xF3, 0x3E, 0x85, 0x77, 0x16, 0xD6, 0xF0, 0x3D, 0x71, 0xCC, 0x27, 0x4B, 0xEE, 0xF5, 0x48, + 0xC1, 0x7C, 0x69, 0x70, 0x3F, 0x5D, 0xF0, 0x5A, 0x59, 0xDE, 0x89, 0xF8, 0xB5, 0xD5, 0x34, 0x0D, + 0xDD, 0x44, 0xA1, 0x39, 0x1D, 0xFF, 0x43, 0xDD, 0x26, 0x2C, 0x3D, 0x89, 0x76, 0x1F, 0x53, 0xA3, + 0x07, 0x77, 0x26, 0x0F, 0xE9, 0xD2, 0x63, 0x3E, 0xD3, 0xEC, 0x50, 0x75, 0xDA, 0xD5, 0x6B, 0x35, + 0x2A, 0xB7, 0xEB, 0x72, 0x97, 0xFC, 0x71, 0xD5, 0x7C, 0xDD, 0x1C, 0x34, 0xB1, 0x5F, 0xD8, 0x53, + 0xAB, 0xFF, 0x3C, 0x7B, 0xEC, 0xAE, 0x86, 0x9D, 0x7B, 0xD4, 0x82, 0x86, 0x44, 0x02, 0x9B, 0xE8, + 0x6F, 0xBF, 0x7D, 0x1B, 0x10, 0x05, 0x2E, 0xD6, 0x7E, 0xAD, 0x5F, 0x25, 0xDC, 0x35, 0xC0, 0x95, + 0xE3, 0xE5, 0x3C, 0x1E, 0x63, 0x31, 0x12, 0x14, 0xF5, 0xB3, 0xB6, 0x23, 0xDF, 0x1A, 0x01, 0xA9, + 0x4C, 0xBB, 0x04, 0x81, 0xB5, 0xD1, 0xA1, 0x3B, 0xAB, 0x78, 0xE3, 0x59, 0x6C, 0xFB, 0xCD, 0x07, + 0x99, 0x15, 0xC8, 0x4C, 0x6B, 0x4B, 0xDF, 0x63, 0x2E, 0xC8, 0xEA, 0x6A, 0xC7, 0xC5, 0x99, 0xBF, + 0xFE, 0xC2, 0x4F, 0x93, 0xE7, 0x9B, 0xF0, 0x24, 0x5F, 0x6A, 0xD6, 0x63, 0xB0, 0xB7, 0x83, 0x10, + 0xC9, 0xCA, 0x4D, 0xA0, 0x55, 0x66, 0x57, 0x69, 0xEC, 0xE2, 0x7C, 0x1B, 0xEE, 0x52, 0x6C, 0xBA, + 0x3F, 0xB1, 0x4A, 0xE4, 0x7E, 0xAD, 0x32, 0x3F, 0x28, 0x30, 0xE8, 0x81, 0x17, 0x6D, 0x52, 0x66, + 0xAD, 0x06, 0x37, 0x7A, 0xC1, 0xC5, 0x82, 0x88, 0x19, 0x27, 0xC2, 0x8D, 0x5C, 0x0A, 0xB8, 0xEA, + 0x3B, 0xC6, 0xE0, 0xBB, 0x70, 0x01, 0x78, 0xBB, 0x16, 0x9D, 0xB9, 0xA9, 0x6B, 0xB2, 0x13, 0x41, + 0x6F, 0xF2, 0xEF, 0xEC, 0x85, 0xDD, 0xCC, 0xC7, 0x52, 0xD5, 0x5B, 0x2D, 0x1F, 0x6D, 0xA0, 0x5C, + 0x10, 0x29, 0x79, 0x29, 0xB2, 0x72, 0xBF, 0xD3, 0x56, 0xB1, 0x65, 0x1C, 0xBF, 0xF8, 0x1D, 0x76, + 0x6A, 0xED, 0x91, 0x5E, 0x25, 0x4E, 0x6F, 0x77, 0xA4, 0x10, 0x78, 0x60, 0x7F, 0x68, 0x7E, 0x5D, + 0x17, 0x6A, 0x85, 0x1C, 0x32, 0x03, 0xFB, 0x0B, 0xAF, 0x6A, 0xAE, 0x38, 0x16, 0x1B, 0x29, 0x4C, + 0x09, 0xF1, 0xE5, 0x41, 0x6B, 0xC2, 0xCC, 0xC8, 0xD9, 0x0C, 0xB9, 0xB8, 0x48, 0x6E, 0xB1, 0x62, + 0x4A, 0xCC, 0x4F, 0x60, 0x2A, 0x2D, 0x43, 0x4E, 0x2C, 0xE4, 0x9C, 0xF8, 0xBA, 0xD3, 0x40, 0xBC, + 0xC1, 0x7B, 0x69, 0x4B, 0x98, 0xEC, 0x92, 0x63, 0xF2, 0x45, 0xF1, 0x6A, 0x54, 0x7D, 0xE5, 0x26, + 0xD3, 0xDA, 0xF3, 0xA7, 0x95, 0xC6, 0xD6, 0x8A, 0x56, 0x8F, 0x7F, 0x8B, 0xAD, 0x6C, 0x24, 0xFD, + 0x3A, 0xC1, 0x2F, 0xA6, 0x45, 0x8E, 0x9E, 0x1B, 0x3D, 0x14, 0x40, 0xE3, 0x4B, 0x9A, 0xAA, 0xFE, + 0xC0, 0xF5, 0xCC, 0xC2, 0x02, 0x7B, 0x8B, 0x2F, 0xAF, 0xCA, 0xC2, 0x74, 0x72, 0xC7, 0xB2, 0xBE, + 0xFD, 0x0E, 0xE5, 0x03, 0xED, 0xF3, 0xF2, 0x9D, 0x2B, 0x07, 0xEF, 0xE8, 0x55, 0x62, 0x9A, 0xBB, + 0x1D, 0x36, 0xA5, 0x46, 0xCD, 0xE2, 0xA6, 0x0F, 0x48, 0xCC, 0xE9, 0x0A, 0x86, 0x43, 0xEA, 0xF6, + 0xE9, 0x95, 0x3F, 0x68, 0xEE, 0xDD, 0x29, 0xA4, 0xF6, 0x11, 0xF3, 0xC5, 0xBC, 0x8A, 0x37, 0x7A, + 0xEC, 0x85, 0x9D, 0x05, 0x38, 0x2F, 0x1C, 0x16, 0x8D, 0xE0, 0xC5, 0x9C, 0xE2, 0xC0, 0xDE, 0x49, + 0xD9, 0x2F, 0xDB, 0x70, 0x7B, 0x6E, 0x63, 0x82, 0x80, 0x63, 0xA2, 0x6F, 0x14, 0x5E, 0x4C, 0x5D, + 0x66, 0x24, 0xFB, 0xA6, 0xBE, 0x5A, 0x98, 0xD2, 0x3C, 0x95, 0x89, 0xB1, 0x14, 0x88, 0xEB, 0xCA, + 0x4E, 0x4A, 0x12, 0x4D, 0x93, 0x0B, 0xD4, 0x25, 0x45, 0x59, 0xF9, 0x0A, 0x57, 0xC9, 0x12, 0xDE, + 0x32, 0x09, 0xCC, 0xB0, 0xB9, 0xF0, 0x83, 0xFF, 0x03, 0x40, 0x8C, 0x37, 0x30, 0x68, 0x56, 0x3E, + 0x62, 0x4E, 0x76, 0x52, 0x19, 0x94, 0xC9, 0xCE, 0x55, 0x52, 0x18, 0xD4, 0x90, 0xA3, 0x1F, 0xD4, + 0x84, 0xC1, 0x88, 0x6B, 0xD6, 0xE6, 0xA9, 0x54, 0x57, 0x5B, 0x2F, 0x31, 0x9E, 0x1F, 0xDD, 0x57, + 0x8E, 0xF7, 0xBA, 0x02, 0xBF, 0x15, 0xE1, 0xDF, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, + 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0xB4, 0xCE, 0x67, 0x19, 0x30, 0x0A, 0x00, 0x00, 0xEA, 0x2F, + 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, + 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, + 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x70, 0x72, 0x6F, 0x6A, 0x65, 0x63, 0x74, 0x2D, 0x6D, 0x61, + 0x6E, 0x61, 0x67, 0x65, 0x6D, 0x65, 0x6E, 0x74, 0x2F, 0x70, 0x72, 0x6F, 0x6A, 0x65, 0x63, 0x74, + 0x2D, 0x6D, 0x61, 0x6E, 0x61, 0x67, 0x65, 0x6D, 0x65, 0x6E, 0x74, 0x2E, 0x6A, 0x73, 0xE5, 0x1A, + 0xD9, 0xB2, 0xD2, 0x30, 0xF4, 0xDD, 0xAF, 0x38, 0xE2, 0x03, 0xA0, 0xDC, 0xA2, 0x8E, 0x3A, 0xEE, + 0x8A, 0x3B, 0x2E, 0xE0, 0x5C, 0x50, 0xC7, 0x51, 0x07, 0x63, 0x1B, 0x30, 0x5A, 0xDA, 0xDA, 0xA4, + 0x22, 0x2E, 0xFF, 0xEE, 0x39, 0x69, 0xBA, 0x53, 0x36, 0x97, 0x71, 0x61, 0x46, 0xB9, 0xA4, 0x67, + 0xDF, 0x93, 0xB4, 0x7B, 0xFC, 0x28, 0x4C, 0x45, 0xC8, 0xDF, 0x30, 0xC9, 0x0F, 0x98, 0x33, 0x17, + 0x1E, 0x7C, 0xBC, 0x60, 0x9D, 0xB1, 0x4E, 0xC3, 0xF1, 0xEE, 0x91, 0x46, 0x24, 0x39, 0x48, 0x15, + 0x0A, 0x5B, 0x35, 0x2E, 0x1D, 0x41, 0xD0, 0x23, 0x70, 0x1C, 0x6E, 0xFA, 0xC1, 0x32, 0x14, 0xB3, + 0xB7, 0x0A, 0x4E, 0x9F, 0x3C, 0x75, 0x1E, 0xEE, 0xFA, 0xFE, 0xCC, 0xE5, 0xD0, 0xF7, 0x6C, 0x0B, + 0x9F, 0x12, 0xC0, 0x43, 0x61, 0x73, 0x4F, 0x72, 0x07, 0x22, 0xCF, 0xE1, 0x21, 0xA8, 0xB7, 0x1C, + 0x7A, 0x01, 0xB3, 0xF1, 0xCB, 0x3C, 0xE9, 0xC0, 0x53, 0x1E, 0x4A, 0xE1, 0x7B, 0x70, 0xDA, 0x3A, + 0x09, 0x2D, 0x02, 0x68, 0x98, 0x47, 0x8D, 0xF6, 0x25, 0x22, 0xB1, 0xF4, 0x23, 0x98, 0xB3, 0x25, + 0x78, 0xBE, 0x02, 0x94, 0x01, 0x69, 0x08, 0x89, 0x62, 0x22, 0x1F, 0xFE, 0xC9, 0xE6, 0x81, 0x02, + 0x14, 0xD3, 0xF6, 0xE7, 0x81, 0x2B, 0x98, 0x67, 0x73, 0x58, 0x08, 0xF5, 0x16, 0x61, 0x52, 0x06, + 0x16, 0xD1, 0x78, 0x6E, 0x68, 0xF8, 0x6F, 0x14, 0x43, 0x70, 0x86, 0x08, 0x01, 0xFE, 0x9A, 0xE6, + 0x01, 0x81, 0x29, 0x23, 0x34, 0xC0, 0x5B, 0xA5, 0x82, 0x8B, 0xDD, 0xEE, 0x62, 0xB1, 0xB0, 0x98, + 0x16, 0xD7, 0xF2, 0xC3, 0x59, 0xD7, 0x8D, 0x01, 0x65, 0xF7, 0x61, 0xFF, 0xE6, 0xED, 0xC1, 0xE8, + 0xF6, 0x01, 0x8A, 0x6C, 0x50, 0x9E, 0x78, 0x2E, 0x97, 0x12, 0x42, 0xFE, 0x21, 0x12, 0x21, 0xAA, + 0xFB, 0x66, 0x09, 0x2C, 0x08, 0x10, 0x81, 0xBD, 0x41, 0x41, 0x5D, 0xB6, 0x00, 0x3F, 0x04, 0x36, + 0x0B, 0x39, 0x3E, 0x53, 0x3E, 0x89, 0xBC, 0x08, 0x85, 0x12, 0xDE, 0xAC, 0x03, 0xD2, 0x9F, 0xAA, + 0x05, 0x0B, 0x39, 0x91, 0x71, 0x04, 0x59, 0xF8, 0x4D, 0xA4, 0x12, 0x8B, 0x15, 0x04, 0x14, 0xB2, + 0x00, 0xE0, 0xA3, 0x22, 0x1E, 0x34, 0x7A, 0x23, 0xE8, 0x8F, 0x1A, 0x70, 0xA3, 0x37, 0xEA, 0x8F, + 0x3A, 0x44, 0xE4, 0x59, 0x7F, 0x7C, 0x6F, 0xF8, 0x64, 0x0C, 0xCF, 0x7A, 0x87, 0x87, 0xBD, 0xC1, + 0xB8, 0x7F, 0x7B, 0x04, 0xC3, 0x43, 0xB8, 0x39, 0x1C, 0xDC, 0xEA, 0x8F, 0xFB, 0xC3, 0x01, 0xFE, + 0xBA, 0x03, 0xBD, 0xC1, 0x73, 0x78, 0xD0, 0x1F, 0xDC, 0xEA, 0x00, 0x17, 0xC8, 0x22, 0x44, 0x5B, + 0x06, 0x21, 0x6A, 0x40, 0x62, 0x0A, 0xB2, 0x25, 0x77, 0xB4, 0xE1, 0x46, 0x9C, 0x17, 0x44, 0x98, + 0xFA, 0xB1, 0x48, 0x32, 0xE0, 0xB6, 0x98, 0x0A, 0x1B, 0x55, 0xF3, 0x66, 0x11, 0x9B, 0x71, 0x98, + 0xF9, 0x1F, 0x79, 0xE8, 0xA1, 0x46, 0x10, 0xF0, 0x70, 0x2E, 0x24, 0xF9, 0x54, 0xA2, 0x80, 0x0E, + 0x91, 0x71, 0xC5, 0x5C, 0x28, 0xA6, 0x68, 0xA9, 0xAA, 0x17, 0x31, 0xEA, 0x1E, 0x19, 0xBE, 0x79, + 0xC7, 0x6D, 0x65, 0x39, 0x7C, 0x2A, 0x3C, 0xFE, 0x38, 0xF4, 0x91, 0x8A, 0x5A, 0xB6, 0x50, 0x2C, + 0x3F, 0x54, 0xB2, 0x03, 0x8D, 0xC9, 0x84, 0xCB, 0x47, 0xBE, 0x13, 0xB9, 0xBC, 0xD1, 0x81, 0x2F, + 0xF0, 0x91, 0xB9, 0x11, 0xBF, 0x08, 0x2A, 0x8C, 0x38, 0x7C, 0xC3, 0x40, 0x31, 0x80, 0x16, 0x62, + 0x12, 0x9D, 0x47, 0xCC, 0x43, 0xA1, 0xE6, 0xDC, 0x53, 0x70, 0x05, 0x3E, 0xFA, 0xC2, 0x81, 0x93, + 0x97, 0x8E, 0x7C, 0x64, 0xA8, 0x67, 0x18, 0xFA, 0xE1, 0xE4, 0x14, 0xAE, 0x1A, 0x5F, 0xB5, 0x1A, + 0x96, 0xD5, 0x8D, 0x94, 0x70, 0x65, 0x57, 0x3F, 0x6B, 0xB4, 0x63, 0x40, 0xBD, 0xB4, 0x12, 0x4C, + 0xA0, 0x02, 0x9F, 0x0C, 0x18, 0xC9, 0x21, 0x1C, 0xA6, 0xFC, 0x70, 0x25, 0x68, 0xFA, 0xD4, 0x80, + 0x93, 0x3D, 0x42, 0x94, 0x66, 0x82, 0xC1, 0x51, 0x12, 0xA2, 0x6B, 0x1E, 0x1D, 0xE0, 0xA3, 0x04, + 0x5A, 0xF8, 0x72, 0x15, 0x24, 0x2E, 0xE7, 0xA1, 0x82, 0x58, 0xE5, 0xC9, 0x3C, 0xD5, 0x19, 0x91, + 0xC4, 0x84, 0x10, 0xB8, 0x54, 0x13, 0xE1, 0x29, 0x74, 0x0C, 0x73, 0xCB, 0x54, 0x0C, 0xDA, 0x41, + 0x86, 0x76, 0x80, 0x68, 0x07, 0x06, 0xED, 0x20, 0x41, 0x4B, 0xB8, 0x68, 0xAD, 0x4B, 0x34, 0x8A, + 0xA6, 0xE8, 0x05, 0xC1, 0x63, 0x97, 0x29, 0x0C, 0x91, 0x39, 0x42, 0x19, 0x78, 0x2B, 0x28, 0x3B, + 0xC4, 0xCA, 0xC1, 0x51, 0x21, 0xD1, 0xF9, 0xD3, 0x37, 0xDC, 0x24, 0x25, 0x25, 0x03, 0xE3, 0x45, + 0xC8, 0xB0, 0x90, 0x9E, 0x54, 0x98, 0xE0, 0x71, 0xB4, 0x68, 0x7E, 0x15, 0x57, 0xA7, 0x44, 0x90, + 0x3D, 0xD2, 0x85, 0xEB, 0xB6, 0xCB, 0xA4, 0x44, 0x70, 0x68, 0x4D, 0x23, 0xCF, 0xA6, 0xF0, 0x83, + 0x56, 0x1B, 0xBE, 0x1C, 0x01, 0xFC, 0x24, 0x2B, 0x6B, 0xC8, 0xA4, 0xB0, 0xDF, 0xE8, 0x7F, 0x22, + 0xA9, 0xBF, 0x51, 0xDC, 0x5B, 0xDC, 0xE5, 0x8A, 0xCB, 0x38, 0x15, 0x78, 0xF8, 0x11, 0x03, 0x99, + 0x5C, 0x0B, 0x42, 0x49, 0x40, 0x96, 0xBE, 0x2D, 0x18, 0x65, 0x28, 0x66, 0x94, 0x1F, 0x85, 0x36, + 0x97, 0x56, 0x8C, 0x98, 0xE2, 0x5F, 0x0F, 0xB9, 0x8A, 0x42, 0x0F, 0xBE, 0x20, 0x73, 0xCC, 0x15, + 0x7E, 0x99, 0x42, 0xF4, 0xEA, 0x37, 0xE8, 0x79, 0xC0, 0xE7, 0x81, 0x5A, 0x82, 0x59, 0x47, 0x06, + 0x4C, 0x61, 0x49, 0x73, 0x5D, 0x78, 0xC3, 0x35, 0x39, 0xF7, 0x23, 0xD2, 0x5D, 0xBC, 0xE5, 0x5E, + 0x8E, 0x77, 0x5C, 0x19, 0xB4, 0x48, 0x4E, 0xC2, 0xA9, 0x4B, 0xDF, 0x6B, 0x74, 0x23, 0xBF, 0x28, + 0x5F, 0x2D, 0x03, 0x6E, 0xC5, 0x98, 0x68, 0xB3, 0xAA, 0x91, 0xB4, 0xDA, 0x5D, 0x18, 0x63, 0x85, + 0x40, 0x05, 0xF1, 0x9F, 0xE7, 0x67, 0x4A, 0x51, 0x21, 0xB3, 0x5D, 0x8E, 0x35, 0x28, 0x0A, 0xAC, + 0x14, 0x3C, 0xD6, 0x2C, 0x51, 0xC0, 0x32, 0x32, 0xB7, 0xDA, 0x97, 0x62, 0x4B, 0xE2, 0x57, 0x0A, + 0xB4, 0x46, 0xBC, 0x4B, 0x47, 0xBE, 0xB5, 0xDA, 0xED, 0x34, 0x3C, 0xC6, 0xA8, 0xEB, 0x1D, 0xD3, + 0x99, 0xAA, 0x58, 0x99, 0x19, 0x08, 0x7D, 0xCA, 0x74, 0x90, 0x68, 0xBC, 0x5B, 0xBE, 0x6E, 0x1B, + 0x36, 0x73, 0xDD, 0xB8, 0x6F, 0xD8, 0x58, 0x81, 0xB0, 0x66, 0xD8, 0x94, 0xB0, 0x8E, 0x08, 0x91, + 0x8C, 0xBB, 0xB4, 0xA0, 0x8F, 0x8B, 0x9C, 0x39, 0x1D, 0xEA, 0x2F, 0x84, 0xF6, 0xE2, 0xB5, 0xEE, + 0x7E, 0xD5, 0xD8, 0x6D, 0xB5, 0x5F, 0xBF, 0x6A, 0x55, 0x56, 0x8F, 0x55, 0x56, 0xDA, 0x6B, 0xA2, + 0x74, 0x9B, 0xE0, 0xCC, 0x85, 0xDA, 0xF5, 0x80, 0x85, 0x6C, 0x0E, 0x5F, 0x7C, 0x5D, 0x1F, 0xBF, + 0x51, 0x5B, 0x21, 0x73, 0xE8, 0x6F, 0x4C, 0x21, 0xAD, 0x56, 0xBD, 0x49, 0xAC, 0x94, 0x4C, 0x4E, + 0xF3, 0x24, 0x44, 0x36, 0xE4, 0x41, 0x0B, 0x59, 0xE4, 0x02, 0x41, 0x73, 0xB2, 0x88, 0xED, 0x15, + 0x62, 0x7E, 0xA9, 0xB8, 0xDE, 0x1F, 0x8C, 0x6F, 0x1F, 0x0E, 0x7A, 0x0F, 0xF1, 0xA1, 0xC7, 0x17, + 0x6B, 0x93, 0x2A, 0xC3, 0x14, 0x53, 0x68, 0x1D, 0x4D, 0x6B, 0xA4, 0x25, 0xE4, 0xC0, 0xF7, 0x06, + 0x91, 0xEB, 0xEA, 0x5E, 0x60, 0xF8, 0x7F, 0xFD, 0x0A, 0x47, 0x5B, 0x4D, 0x3F, 0xD0, 0xCD, 0xA3, + 0x49, 0x9D, 0x93, 0x96, 0x13, 0xB9, 0x32, 0x19, 0x42, 0x7F, 0x41, 0x9C, 0x93, 0x02, 0x6F, 0x25, + 0xE1, 0x52, 0x91, 0xE4, 0x36, 0x01, 0xB4, 0x9A, 0xC2, 0xD3, 0x8C, 0x0F, 0x58, 0x38, 0x8B, 0x68, + 0xB9, 0xD9, 0x81, 0x26, 0xE2, 0x48, 0x05, 0xC9, 0x0A, 0x04, 0xE8, 0xA0, 0xB8, 0x5F, 0xD7, 0x86, + 0x03, 0xCC, 0x23, 0xC4, 0x78, 0x83, 0xEE, 0x88, 0x3B, 0x41, 0x12, 0xA5, 0xB1, 0x7F, 0x9A, 0x46, + 0xC6, 0xEC, 0x73, 0x02, 0x9A, 0x69, 0x21, 0x6B, 0xE6, 0x2C, 0xF1, 0xAD, 0x68, 0x4D, 0x53, 0x84, + 0xEF, 0x61, 0x4D, 0x71, 0x79, 0x18, 0xDB, 0x74, 0xFB, 0x3A, 0x5F, 0x6D, 0x82, 0x87, 0x05, 0x7A, + 0xDA, 0xB0, 0x97, 0x56, 0x57, 0xB6, 0x87, 0x38, 0x60, 0x48, 0x4C, 0x68, 0xD2, 0xFA, 0xD4, 0xC9, + 0x93, 0x99, 0x3E, 0xBD, 0xB8, 0x3D, 0x91, 0x5E, 0xF9, 0x1A, 0xA7, 0xE7, 0x2D, 0x2D, 0x74, 0x0A, + 0x9A, 0x08, 0x5A, 0x53, 0xF4, 0x74, 0xF4, 0xBA, 0xC8, 0x06, 0x4B, 0x7D, 0x81, 0xEA, 0x86, 0xD2, + 0x95, 0xAB, 0x58, 0x84, 0x6D, 0x30, 0x7B, 0x88, 0x58, 0x5B, 0xBA, 0x62, 0x86, 0x5A, 0x3A, 0x8D, + 0x93, 0xB4, 0x1D, 0x42, 0x6A, 0x35, 0x4D, 0xC3, 0x25, 0xC7, 0x97, 0x08, 0xB6, 0xDA, 0xCD, 0xB4, + 0x5E, 0x6D, 0x6D, 0x20, 0x31, 0x1C, 0xFD, 0x64, 0xE3, 0x20, 0xC5, 0x3D, 0x0C, 0xD3, 0xF7, 0xE5, + 0x0F, 0x18, 0x05, 0x67, 0x0B, 0x32, 0x88, 0x21, 0xB4, 0xC9, 0x18, 0x37, 0x43, 0x8E, 0x7A, 0x4A, + 0x9A, 0x43, 0x5F, 0x67, 0xF6, 0x7B, 0x0D, 0x71, 0xB1, 0xEA, 0x20, 0xAF, 0x29, 0x76, 0x0E, 0xCF, + 0xC6, 0xB1, 0x30, 0x3F, 0x36, 0x72, 0x27, 0xEF, 0x78, 0x6D, 0x25, 0xE1, 0x19, 0x9A, 0xDB, 0x99, + 0x6B, 0x4C, 0x40, 0x73, 0xAE, 0xDE, 0xFA, 0x0E, 0x38, 0x3E, 0x97, 0x54, 0xE6, 0x69, 0xF0, 0x24, + 0x45, 0x48, 0x9A, 0xC3, 0xC7, 0x37, 0x0D, 0x4A, 0xA9, 0x90, 0x12, 0xC3, 0xBE, 0xA3, 0xCD, 0xFC, + 0x5A, 0xFF, 0xF9, 0x3A, 0xD9, 0x06, 0x64, 0x12, 0x91, 0x6F, 0x53, 0xD1, 0x79, 0x9D, 0xA7, 0x7A, + 0x2B, 0x75, 0xD6, 0x1D, 0x3B, 0x43, 0x96, 0x45, 0xB5, 0x57, 0xA6, 0xD3, 0xF6, 0xEE, 0x65, 0x29, + 0xBB, 0x82, 0x77, 0xB5, 0x1E, 0x55, 0x17, 0x53, 0xD1, 0x28, 0x0E, 0x9C, 0x56, 0x26, 0x6F, 0x8C, + 0xD4, 0x59, 0x55, 0x6E, 0xB6, 0xF2, 0x36, 0xC6, 0xE6, 0x96, 0x9E, 0x46, 0xC8, 0x3F, 0xC8, 0xCB, + 0x28, 0xCD, 0x4E, 0x1E, 0x46, 0xF8, 0x3D, 0xBC, 0x8B, 0x58, 0xBB, 0x79, 0x16, 0xD3, 0x6E, 0x17, + 0xAF, 0xA6, 0x1B, 0x03, 0x0B, 0x93, 0xF4, 0x47, 0xBD, 0x09, 0xAF, 0x47, 0x6F, 0xD9, 0x4D, 0xDC, + 0x6E, 0xD1, 0x86, 0x0E, 0x97, 0x48, 0xD9, 0x9F, 0xEB, 0x0D, 0xF9, 0x96, 0xDD, 0x63, 0xF2, 0xAD, + 0xF6, 0xC7, 0xE8, 0x5E, 0xEF, 0xE0, 0x14, 0x6E, 0x33, 0xF5, 0x1F, 0xA7, 0xCF, 0x9E, 0x83, 0xB7, + 0xF8, 0x24, 0x9B, 0x64, 0xEC, 0x54, 0x8E, 0x7A, 0xB7, 0xD4, 0x09, 0x4C, 0xD3, 0x1D, 0xED, 0xEF, + 0x4B, 0x6E, 0x21, 0x4E, 0x9A, 0xCB, 0xF6, 0xEE, 0x90, 0x05, 0xFA, 0x05, 0xB7, 0x18, 0x5D, 0xB6, + 0x4A, 0xB7, 0xA2, 0x98, 0x09, 0xEA, 0x16, 0x1E, 0x41, 0x52, 0x2B, 0x4B, 0xC5, 0x9E, 0xBD, 0x25, + 0xF6, 0x02, 0x1E, 0x64, 0xBC, 0x47, 0x55, 0x07, 0x6C, 0xCE, 0xB5, 0x27, 0x6C, 0xE6, 0xF9, 0x1E, + 0x4A, 0xE6, 0x26, 0x4F, 0xC0, 0xC3, 0x47, 0xE5, 0x72, 0x88, 0xD1, 0xD5, 0x49, 0x08, 0xE1, 0x07, + 0x25, 0x80, 0x85, 0x1F, 0xB9, 0x5A, 0x1C, 0xAE, 0xF7, 0x85, 0x04, 0x9E, 0x1C, 0xFD, 0x60, 0x33, + 0x59, 0xE2, 0xEE, 0xE8, 0x23, 0x77, 0x69, 0x03, 0x8F, 0xE7, 0x43, 0x1E, 0x8E, 0xFF, 0xDC, 0x2A, + 0x4A, 0x42, 0xA7, 0x18, 0x01, 0x02, 0x92, 0x24, 0x94, 0x64, 0xF1, 0x70, 0x87, 0x72, 0x44, 0x38, + 0xB5, 0x1E, 0xA0, 0x8A, 0x62, 0xE6, 0x71, 0x27, 0x81, 0xD2, 0x52, 0xA5, 0x01, 0x92, 0x13, 0x85, + 0xAC, 0x44, 0x52, 0xD4, 0xC7, 0x49, 0x90, 0xDB, 0x45, 0x99, 0xDD, 0x93, 0xDE, 0xB6, 0x90, 0xC4, + 0x84, 0xED, 0x2E, 0xC1, 0xD6, 0x36, 0x77, 0xF6, 0xAB, 0xC7, 0x31, 0x72, 0x6F, 0x75, 0x55, 0xCE, + 0x99, 0xBB, 0x93, 0xD7, 0x38, 0x1F, 0x39, 0xB4, 0x41, 0x98, 0x68, 0x1F, 0x5E, 0xD1, 0xDA, 0x5D, + 0x5A, 0xD9, 0xA5, 0x67, 0x5C, 0x1D, 0xC6, 0x9B, 0x2E, 0x4D, 0xAD, 0xD5, 0x2E, 0x8C, 0x95, 0x16, + 0x2A, 0xE3, 0xE5, 0xF6, 0x10, 0xC9, 0xFE, 0x2C, 0xCF, 0xAB, 0x44, 0x75, 0xB2, 0xA2, 0x4E, 0x54, + 0x94, 0x49, 0x08, 0x19, 0x0D, 0xEA, 0xD4, 0xC9, 0x0F, 0xB1, 0x1B, 0x05, 0x0B, 0x30, 0x1E, 0xF8, + 0x2D, 0xA6, 0x58, 0x49, 0xB0, 0x1D, 0x66, 0x5B, 0x0C, 0x0F, 0x4C, 0xA9, 0x11, 0x6E, 0x6F, 0x78, + 0x78, 0x68, 0x28, 0xB6, 0x6A, 0xF7, 0x10, 0x45, 0xA6, 0x1D, 0xC8, 0xFF, 0xC4, 0x31, 0xA7, 0xA2, + 0x73, 0xFB, 0x65, 0x53, 0x16, 0x80, 0x72, 0x03, 0x3E, 0x66, 0xCB, 0x81, 0x87, 0x94, 0x4D, 0xB5, + 0xA1, 0xF9, 0xFD, 0x17, 0xEA, 0x70, 0x9B, 0xCE, 0x01, 0x46, 0x2A, 0xC4, 0x86, 0x5A, 0x50, 0xC2, + 0xD2, 0xA5, 0xBE, 0xAA, 0x4A, 0xA3, 0x0A, 0xD4, 0x00, 0x2C, 0x7F, 0xAE, 0x93, 0xAA, 0x40, 0x27, + 0x7C, 0xF1, 0x51, 0x0A, 0xAC, 0x57, 0x1C, 0x1C, 0xA4, 0x91, 0xEA, 0xB7, 0xB1, 0xCC, 0x65, 0x64, + 0x56, 0x48, 0xDA, 0x59, 0x19, 0x6D, 0xF9, 0xA8, 0xD9, 0xB5, 0x1E, 0x62, 0x73, 0xFD, 0xE1, 0x5A, + 0xF8, 0x26, 0x22, 0x31, 0xF4, 0x88, 0x90, 0x12, 0x34, 0x8B, 0xD0, 0xBF, 0x45, 0x25, 0x22, 0x92, + 0x59, 0xD1, 0x49, 0x2A, 0xCD, 0x5F, 0x50, 0xC7, 0x76, 0x9E, 0x3C, 0x62, 0xC4, 0x7E, 0x75, 0xFE, + 0x48, 0x4C, 0xF4, 0x17, 0x15, 0x2F, 0xD4, 0xA2, 0x5A, 0xB8, 0x12, 0x3D, 0xFE, 0xB5, 0xAA, 0x85, + 0xCA, 0xFE, 0x7F, 0x15, 0x0B, 0x95, 0xDE, 0xBD, 0x5A, 0x15, 0xA6, 0xE5, 0x9F, 0x5E, 0xA5, 0xEA, + 0x0E, 0x04, 0x7E, 0xC2, 0x61, 0xC0, 0xFA, 0xCC, 0xA7, 0x59, 0x9C, 0x91, 0xEE, 0xC9, 0x81, 0x01, + 0x2D, 0xEE, 0x71, 0x60, 0x80, 0x16, 0x79, 0x64, 0x28, 0x15, 0x0A, 0xC0, 0x9F, 0x9A, 0xEB, 0x25, + 0x99, 0x53, 0x3A, 0x3F, 0x2F, 0xAF, 0x13, 0xEE, 0x89, 0x52, 0xC6, 0x82, 0x7D, 0xC7, 0x68, 0xB4, + 0x8E, 0xAE, 0x71, 0x69, 0xB6, 0x75, 0xAB, 0x25, 0xAC, 0x42, 0xE6, 0x49, 0xDA, 0x3C, 0x25, 0x09, + 0x35, 0xF6, 0xF3, 0x6A, 0x15, 0xB3, 0x25, 0x25, 0x5B, 0x0A, 0xF3, 0x6F, 0x5B, 0xC5, 0xE8, 0x93, + 0x00, 0x49, 0xEA, 0x9B, 0xBC, 0x62, 0x37, 0xF2, 0xA7, 0x5B, 0x06, 0xA4, 0xEE, 0x77, 0x94, 0x4C, + 0xB7, 0x72, 0x2D, 0x6F, 0x1C, 0x77, 0x9F, 0x22, 0x49, 0xE5, 0x53, 0xE2, 0x46, 0x9A, 0xA1, 0xB3, + 0x6B, 0x60, 0x9B, 0x8B, 0x8D, 0x54, 0x8E, 0x02, 0x69, 0xDA, 0xC3, 0x21, 0x6D, 0x84, 0x20, 0xEA, + 0x9B, 0xEF, 0x3A, 0xF2, 0xFB, 0x39, 0xAE, 0x72, 0x82, 0x17, 0xA2, 0x9C, 0x74, 0xFA, 0xF3, 0xFB, + 0x5B, 0x51, 0x81, 0x52, 0x87, 0x2B, 0xAA, 0xB0, 0x32, 0x20, 0x36, 0x5A, 0x68, 0x7D, 0x30, 0xE6, + 0x2D, 0x56, 0x17, 0x98, 0xE5, 0xAB, 0x02, 0xD3, 0x33, 0x1E, 0xC6, 0xD9, 0x2A, 0x0F, 0x73, 0x58, + 0x25, 0x12, 0xCD, 0x72, 0x46, 0xB7, 0x9B, 0xE5, 0x4B, 0x82, 0x72, 0xC5, 0x96, 0x35, 0xC6, 0x7B, + 0xF1, 0x2A, 0xA7, 0x7D, 0xD9, 0x5F, 0x15, 0x22, 0xD6, 0x9C, 0x05, 0xAD, 0xC2, 0x89, 0xCB, 0x7D, + 0xE9, 0x7B, 0xBF, 0xB6, 0xCB, 0xE7, 0xBA, 0x64, 0xC2, 0xB0, 0xB6, 0x41, 0x92, 0x8C, 0x2F, 0x5E, + 0x6D, 0x6C, 0x8D, 0x94, 0x30, 0x15, 0x13, 0x16, 0xDB, 0xE3, 0x6F, 0x6C, 0xFD, 0x89, 0x52, 0x81, + 0x39, 0x57, 0xAE, 0xD5, 0x2B, 0x85, 0xF8, 0xC9, 0xAA, 0x51, 0xDE, 0xCE, 0xB3, 0xC0, 0xAD, 0x56, + 0x61, 0x6D, 0xCF, 0x8B, 0x50, 0xB0, 0x7E, 0xA7, 0x02, 0x95, 0x48, 0x77, 0x31, 0x7F, 0xB1, 0xFD, + 0xA2, 0xAC, 0xDD, 0x2B, 0xBC, 0xA0, 0xCA, 0x03, 0x58, 0x8F, 0x1F, 0xF6, 0xC6, 0x77, 0x86, 0x87, + 0x8F, 0x26, 0x4F, 0x06, 0x0F, 0x06, 0xC3, 0x67, 0x83, 0x0A, 0xE1, 0x2C, 0x63, 0x2E, 0x66, 0x7F, + 0x56, 0xA1, 0xF2, 0x29, 0x9E, 0xC9, 0x4A, 0x75, 0x30, 0x83, 0xCD, 0xE5, 0x76, 0x3E, 0x5B, 0x12, + 0xE0, 0xF2, 0xDC, 0x5E, 0xFC, 0xA4, 0x36, 0xCA, 0xC3, 0xA1, 0xBD, 0x56, 0x60, 0x97, 0x5A, 0xCE, + 0x8A, 0xC4, 0x4B, 0x89, 0xED, 0x55, 0x7C, 0x4A, 0x35, 0x74, 0xAB, 0xAB, 0x8B, 0x52, 0x5B, 0xDE, + 0xAB, 0x25, 0x1B, 0x7A, 0x0D, 0x03, 0x20, 0xBB, 0x0D, 0x38, 0x91, 0xF9, 0x64, 0x5F, 0x55, 0x52, + 0xB1, 0xF6, 0x98, 0xA6, 0xC8, 0x7D, 0x5A, 0xBD, 0x8A, 0xCC, 0xEB, 0xEF, 0xD7, 0xCB, 0x48, 0xF5, + 0x55, 0x30, 0x7E, 0xB1, 0xC5, 0x9A, 0xE2, 0xFB, 0x19, 0x99, 0xFD, 0x92, 0xAB, 0xDD, 0x3D, 0xED, + 0x88, 0xAF, 0x08, 0xF4, 0x74, 0x95, 0x88, 0xDB, 0x39, 0xCB, 0x5E, 0x0F, 0x32, 0x28, 0xB4, 0xA7, + 0x5E, 0x30, 0x49, 0x3F, 0x3F, 0x0A, 0xC7, 0xCC, 0xC2, 0x71, 0x7A, 0x67, 0xBB, 0xD5, 0x42, 0xC1, + 0x5F, 0x53, 0x60, 0x32, 0x31, 0x12, 0x39, 0x7E, 0xCE, 0x4D, 0x70, 0xF2, 0x42, 0x4C, 0x7C, 0x25, + 0x78, 0x87, 0x09, 0x37, 0xBE, 0xFC, 0x75, 0xB8, 0xA2, 0x37, 0x9A, 0x3C, 0x9E, 0xD3, 0x86, 0xDE, + 0x19, 0xC0, 0xF7, 0xB7, 0x10, 0xEF, 0x73, 0x3C, 0x56, 0x8D, 0x6E, 0x3D, 0xD0, 0x4A, 0x65, 0xAF, + 0x83, 0xD8, 0xB6, 0x1F, 0x79, 0x8A, 0xF6, 0x2D, 0x0E, 0xF2, 0x42, 0x50, 0xD9, 0xC1, 0x63, 0xEF, + 0xE4, 0x4E, 0xB8, 0x7A, 0x2F, 0x8C, 0x2D, 0x3E, 0x6F, 0x2E, 0xB4, 0x16, 0xD3, 0x77, 0xDD, 0xE6, + 0x58, 0xC1, 0x82, 0x9E, 0xAB, 0x6B, 0xB2, 0x12, 0x78, 0xBA, 0xBA, 0xEC, 0x00, 0xC2, 0xC7, 0x27, + 0xAF, 0xC3, 0xE1, 0xDD, 0x87, 0xB7, 0x27, 0x37, 0x1F, 0x0E, 0x9F, 0xDC, 0x9A, 0x3C, 0x3E, 0x1C, + 0xDE, 0xBF, 0x7D, 0x73, 0x5C, 0xCF, 0x85, 0x7B, 0x1F, 0x45, 0xE8, 0x7B, 0xA4, 0x3E, 0x85, 0xA1, + 0xA0, 0xF7, 0xD3, 0xB0, 0x82, 0xAE, 0xCB, 0xF0, 0x49, 0x31, 0xB6, 0xE0, 0x4A, 0x2E, 0x45, 0xEA, + 0x07, 0x98, 0xCD, 0x69, 0xB4, 0xF5, 0x1E, 0x8A, 0xCE, 0x4C, 0x58, 0x76, 0x9E, 0x9F, 0x56, 0xE6, + 0xCE, 0x6E, 0xBB, 0xAB, 0xCD, 0x63, 0x62, 0xF9, 0x3A, 0xB4, 0x90, 0xC0, 0x29, 0x57, 0xFD, 0x3A, + 0x09, 0x0F, 0xFF, 0x90, 0x71, 0x31, 0x95, 0x0B, 0xAE, 0x5C, 0xB9, 0x02, 0xE9, 0xA5, 0x76, 0x1B, + 0xAE, 0x95, 0x43, 0x60, 0xCD, 0x6E, 0x2A, 0xBB, 0xFA, 0x2E, 0xB2, 0xAC, 0x90, 0xB8, 0x58, 0x43, + 0x24, 0xBB, 0x2E, 0xFE, 0x05, 0xDB, 0xB1, 0xC9, 0x6E, 0xE3, 0xA4, 0x71, 0x4F, 0xC6, 0x7E, 0xB7, + 0x49, 0xB2, 0x30, 0x4D, 0x6E, 0xD1, 0xF9, 0xF6, 0x9C, 0x2A, 0x7F, 0xCF, 0x10, 0xB6, 0x7A, 0xB2, + 0x6C, 0xBC, 0x2C, 0x8C, 0x96, 0x2F, 0x37, 0x0C, 0x60, 0xD4, 0x15, 0x33, 0xA3, 0xE2, 0x8F, 0x46, + 0x69, 0x02, 0x6B, 0x18, 0x43, 0x17, 0x8D, 0x5D, 0x1F, 0x9A, 0x99, 0x25, 0x76, 0x3D, 0x5F, 0x36, + 0x7A, 0x6D, 0x79, 0x68, 0x53, 0xF6, 0x5B, 0xF6, 0xE1, 0xAE, 0xE4, 0x9B, 0xC5, 0x28, 0x1C, 0x1C, + 0xFD, 0x2C, 0xF6, 0xDF, 0xF6, 0xDB, 0xA0, 0xD5, 0x84, 0xFF, 0xBA, 0xCD, 0x59, 0xB9, 0x52, 0xFD, + 0x9A, 0xB0, 0xDB, 0xF6, 0xD8, 0xB2, 0x18, 0x41, 0xDB, 0x1F, 0x5A, 0x36, 0x4A, 0x7B, 0xC1, 0x8D, + 0x09, 0xFC, 0x13, 0xD5, 0xEB, 0x85, 0x21, 0x5B, 0x56, 0x39, 0xD6, 0x25, 0xD4, 0x4F, 0x4D, 0xA4, + 0x6F, 0xDB, 0xBC, 0x30, 0xA9, 0xDF, 0x93, 0x5C, 0xFF, 0xFA, 0xF3, 0x2A, 0xA4, 0xEF, 0x50, 0x4B, + 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB7, 0x4A, 0x48, 0x52, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, + 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, + 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x72, 0x65, 0x6D, 0x6F, + 0x74, 0x65, 0x2D, 0x63, 0x6F, 0x6E, 0x66, 0x69, 0x67, 0x2F, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, + 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x76, 0x8E, 0x94, 0x60, 0xD9, 0x0E, 0x00, 0x00, + 0xC4, 0x38, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, + 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, + 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x72, 0x65, 0x6D, 0x6F, 0x74, 0x65, 0x2D, 0x63, + 0x6F, 0x6E, 0x66, 0x69, 0x67, 0x2F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x2E, 0x64, 0x2E, 0x74, 0x73, + 0xCD, 0x1B, 0xDB, 0x72, 0xE3, 0x34, 0xF4, 0x7D, 0xBF, 0x42, 0xC0, 0x43, 0xDB, 0x9D, 0x36, 0x29, + 0xCB, 0x65, 0x86, 0x2E, 0x50, 0x42, 0x9B, 0x2D, 0x81, 0x92, 0x74, 0x9A, 0x14, 0x86, 0x61, 0x98, + 0x46, 0xB1, 0x95, 0x44, 0xD4, 0xB1, 0x8C, 0x65, 0xB7, 0x1B, 0x96, 0xFE, 0x3B, 0xE7, 0x1C, 0x5D, + 0x6C, 0x27, 0x76, 0x92, 0x76, 0x19, 0x20, 0x2F, 0x4D, 0x6C, 0xE9, 0xDC, 0xEF, 0x52, 0xDB, 0x2F, + 0x3F, 0x60, 0x53, 0x99, 0x8A, 0x09, 0xD7, 0xE2, 0x88, 0x87, 0x0B, 0x19, 0xB3, 0xFB, 0x2F, 0x5A, + 0x9F, 0xB6, 0x5E, 0xB1, 0x97, 0xED, 0x17, 0xF0, 0xF2, 0x05, 0x7B, 0xC9, 0xCE, 0x54, 0xB2, 0x4C, + 0xE5, 0x6C, 0x9E, 0xB1, 0x57, 0xC7, 0xAF, 0x8E, 0xD9, 0x85, 0x52, 0xB3, 0x48, 0xB0, 0x5E, 0x1C, + 0xB4, 0xE0, 0x2D, 0x2E, 0xB8, 0x94, 0x81, 0x88, 0xB5, 0x08, 0x59, 0x1E, 0x87, 0x22, 0x65, 0xD9, + 0x5C, 0xB0, 0x4E, 0xC2, 0x03, 0xF8, 0x63, 0xDF, 0x1C, 0xB2, 0x9F, 0x44, 0xAA, 0xA5, 0x8A, 0xD9, + 0xAB, 0xD6, 0x31, 0xDB, 0xC7, 0x05, 0x1F, 0xDA, 0x57, 0x1F, 0x1E, 0xBC, 0x46, 0x10, 0x4B, 0x95, + 0xB3, 0x05, 0x5F, 0xB2, 0x58, 0x65, 0x2C, 0xD7, 0x02, 0x60, 0x48, 0x0D, 0x84, 0x01, 0x1E, 0xF1, + 0x36, 0x10, 0x49, 0xC6, 0x80, 0xB0, 0x40, 0x2D, 0x92, 0x48, 0xF2, 0x38, 0x10, 0xEC, 0x41, 0x66, + 0x73, 0x58, 0xE3, 0x11, 0xB4, 0x10, 0xC6, 0x2F, 0x16, 0x86, 0x9A, 0x64, 0x1C, 0x96, 0x73, 0xD8, + 0x90, 0xC0, 0xAF, 0x69, 0x79, 0x21, 0xE3, 0x99, 0x25, 0x9A, 0xB1, 0x79, 0x96, 0x25, 0x27, 0xED, + 0xF6, 0xC3, 0xC3, 0x43, 0x8B, 0x13, 0xB9, 0x2D, 0x95, 0xCE, 0xDA, 0x91, 0x59, 0xA8, 0xDB, 0x97, + 0xBD, 0xB3, 0x6E, 0x7F, 0xD8, 0x3D, 0x02, 0x92, 0xED, 0x96, 0x9B, 0x38, 0x12, 0x5A, 0xB3, 0x54, + 0xFC, 0x91, 0xCB, 0x14, 0xD8, 0x9D, 0x2C, 0x19, 0x4F, 0x12, 0xD8, 0xC0, 0x27, 0x40, 0x68, 0xC4, + 0x1F, 0x98, 0x4A, 0x19, 0x9F, 0xA5, 0x02, 0xDE, 0x65, 0x0A, 0x49, 0x7E, 0x48, 0x65, 0x26, 0xE3, + 0xD9, 0x21, 0xD3, 0x6A, 0x9A, 0x3D, 0xF0, 0x54, 0x20, 0x98, 0x50, 0xEA, 0x2C, 0x95, 0x93, 0x3C, + 0x73, 0x12, 0xAB, 0x10, 0x28, 0x75, 0x65, 0x81, 0x02, 0x46, 0x62, 0xF6, 0x61, 0x67, 0xC8, 0x7A, + 0xC3, 0x0F, 0xD9, 0xB7, 0x9D, 0x61, 0x6F, 0x78, 0x88, 0x40, 0x7E, 0xEE, 0x8D, 0xBE, 0x1B, 0xDC, + 0x8C, 0xD8, 0xCF, 0x9D, 0xEB, 0xEB, 0x4E, 0x7F, 0xD4, 0xEB, 0x0E, 0xD9, 0xE0, 0x9A, 0x9D, 0x0D, + 0xFA, 0xE7, 0xBD, 0x51, 0x6F, 0xD0, 0x87, 0x5F, 0x6F, 0x58, 0xA7, 0xFF, 0x0B, 0xFB, 0xA1, 0xD7, + 0x3F, 0x3F, 0x64, 0x42, 0x02, 0x8A, 0x14, 0x64, 0x99, 0xA4, 0xC0, 0x01, 0x92, 0x29, 0x51, 0x96, + 0x22, 0x24, 0xC1, 0x0D, 0x85, 0xA8, 0x90, 0x30, 0x55, 0x86, 0x24, 0x9D, 0x88, 0x40, 0x4E, 0x65, + 0x00, 0xAC, 0xC5, 0xB3, 0x9C, 0xCF, 0x04, 0x9B, 0xA9, 0x7B, 0x91, 0xC6, 0xC0, 0x11, 0x4B, 0x44, + 0xBA, 0x90, 0x1A, 0x75, 0xAA, 0x81, 0xC0, 0x10, 0xC1, 0x44, 0x72, 0x21, 0x33, 0x9E, 0xE1, 0xA3, + 0x75, 0xBE, 0x10, 0x51, 0xFB, 0x05, 0x60, 0x55, 0x69, 0xC6, 0xDE, 0xA1, 0xDC, 0xD8, 0x23, 0x9B, + 0xA6, 0x6A, 0xC1, 0xF6, 0x5A, 0xAD, 0xB6, 0x37, 0xC1, 0x98, 0x2F, 0x84, 0x06, 0x65, 0x80, 0x31, + 0x26, 0x72, 0xEF, 0x35, 0x98, 0x20, 0x49, 0xFE, 0x42, 0x64, 0x9A, 0xA0, 0xBD, 0xFB, 0x26, 0x92, + 0xF1, 0x1D, 0xA8, 0x60, 0xA1, 0x32, 0x71, 0xA6, 0xE2, 0xA9, 0x9C, 0xB5, 0xAE, 0x4B, 0x3F, 0xD8, + 0xB8, 0xFC, 0x6B, 0xFC, 0xC8, 0xB4, 0x48, 0xEF, 0x65, 0xE0, 0x78, 0x32, 0xF2, 0x17, 0x53, 0x9E, + 0x47, 0x19, 0xD2, 0x40, 0x0A, 0x63, 0x33, 0x79, 0x2F, 0x62, 0xFC, 0xE9, 0x0C, 0x7A, 0x4C, 0x9E, + 0xD0, 0x2A, 0x63, 0xD9, 0x3F, 0x18, 0xB3, 0x00, 0x34, 0x31, 0x11, 0xF0, 0x27, 0x8A, 0x44, 0x68, + 0x6C, 0x30, 0x56, 0x8C, 0xA7, 0xB3, 0x7C, 0x21, 0x62, 0x24, 0x10, 0x7E, 0x04, 0x81, 0xD0, 0x44, + 0xAA, 0x43, 0x03, 0xF0, 0x10, 0xF4, 0x9E, 0x7E, 0x3E, 0xED, 0x48, 0xA4, 0x6E, 0xA2, 0x0B, 0x60, + 0x1F, 0x8C, 0xAB, 0xA8, 0x61, 0xE9, 0xF3, 0x91, 0x71, 0xAD, 0x55, 0x20, 0x79, 0xE6, 0x38, 0xE4, + 0x00, 0xCD, 0x5B, 0x42, 0x59, 0x48, 0xDF, 0x88, 0xB7, 0x1C, 0x8C, 0x88, 0xB0, 0x8D, 0xC7, 0xE3, + 0xDF, 0xF9, 0x3D, 0xD7, 0x41, 0x2A, 0x13, 0xE2, 0xB8, 0xDD, 0x46, 0x9D, 0x21, 0x31, 0x2B, 0x88, + 0x56, 0x15, 0x52, 0xD6, 0x06, 0x6E, 0xBC, 0xE7, 0xA9, 0x7B, 0x54, 0x21, 0xF7, 0x2B, 0x56, 0xA7, + 0x93, 0xD7, 0x16, 0xF9, 0x3F, 0x47, 0x92, 0xB7, 0x86, 0x82, 0x1C, 0x85, 0xBE, 0xB3, 0x9D, 0x18, + 0x5A, 0xD6, 0x49, 0x92, 0x35, 0xA2, 0x12, 0x9E, 0xF2, 0x05, 0x59, 0xDB, 0x20, 0x41, 0xEF, 0xE0, + 0x11, 0xFE, 0x20, 0x6C, 0x0F, 0x73, 0x19, 0xCC, 0x51, 0x79, 0xA9, 0xC8, 0xF2, 0x34, 0xDE, 0x40, + 0x5C, 0xCB, 0xC4, 0xAC, 0xDE, 0x94, 0x42, 0x64, 0x92, 0xAA, 0x7B, 0x19, 0x8A, 0xF0, 0xB0, 0x2C, + 0xC2, 0x26, 0xB6, 0xA4, 0xB6, 0xE0, 0x45, 0xE8, 0x75, 0x67, 0xF1, 0x8D, 0x76, 0xD8, 0x8D, 0x18, + 0x09, 0x39, 0x52, 0x8D, 0xC0, 0x0A, 0xE4, 0x46, 0x85, 0x2B, 0x3B, 0x9B, 0x2C, 0x09, 0x97, 0xFA, + 0xBD, 0x1E, 0xA0, 0x89, 0x0B, 0xE2, 0x2D, 0xC6, 0x05, 0x20, 0x25, 0x88, 0x78, 0x0A, 0x8A, 0xC8, + 0xE3, 0x00, 0x25, 0xC5, 0x56, 0x2D, 0xFD, 0xF4, 0x84, 0xF6, 0xA0, 0x94, 0x4F, 0x9A, 0x6D, 0xFB, + 0xF5, 0x2A, 0x3C, 0x1F, 0x55, 0x2A, 0x7B, 0xD8, 0xBB, 0x17, 0x0C, 0x3E, 0x14, 0x62, 0xF0, 0xF3, + 0x12, 0x72, 0x5A, 0x26, 0xD2, 0xA9, 0x59, 0x87, 0x91, 0x12, 0xBC, 0x1A, 0x63, 0x9D, 0x22, 0xB5, + 0x69, 0xD2, 0x98, 0xC1, 0xC3, 0x2C, 0x84, 0x08, 0x22, 0x35, 0xBB, 0x37, 0xB9, 0x0D, 0xC2, 0x2A, + 0x04, 0x45, 0x8A, 0x7F, 0x2D, 0x0B, 0xB0, 0x4D, 0x7F, 0xA5, 0x87, 0x7A, 0x09, 0xCB, 0x7F, 0xB2, + 0xAB, 0x07, 0x06, 0xA8, 0x25, 0xA2, 0x4C, 0x88, 0xD9, 0x4B, 0xBA, 0x59, 0xF0, 0xB7, 0x72, 0x91, + 0x2F, 0x58, 0x9C, 0x2F, 0x26, 0x22, 0xC5, 0x5C, 0x26, 0x33, 0xB1, 0xD0, 0x25, 0x8B, 0x49, 0xE0, + 0x71, 0x02, 0xA1, 0xD9, 0xA0, 0xF4, 0x68, 0xCD, 0x87, 0xDE, 0x0C, 0xE5, 0x9F, 0xE2, 0xF4, 0xC4, + 0x82, 0x78, 0xBD, 0x09, 0xDB, 0x38, 0x16, 0x6F, 0xB3, 0x2B, 0xD8, 0x32, 0x52, 0x77, 0x22, 0x1E, + 0x83, 0xF1, 0x47, 0xB9, 0xF0, 0xB6, 0x63, 0xA2, 0x35, 0x67, 0x20, 0x98, 0x7B, 0xA9, 0x72, 0x5D, + 0x61, 0xDE, 0x64, 0x45, 0xA1, 0xB3, 0x43, 0x34, 0x18, 0x1E, 0x2F, 0x1B, 0xE8, 0x71, 0xC0, 0x81, + 0x20, 0xCC, 0x71, 0xF1, 0xAC, 0x91, 0xA0, 0xA1, 0x09, 0x39, 0xC2, 0x04, 0xD3, 0x58, 0x3C, 0x88, + 0x02, 0x9B, 0x65, 0xC6, 0x24, 0xD9, 0x20, 0xCA, 0x43, 0x01, 0x7F, 0x69, 0x1D, 0x28, 0x0D, 0x6C, + 0x59, 0x97, 0xB1, 0x83, 0xCF, 0xB8, 0xF8, 0x85, 0x36, 0xBB, 0xC8, 0x01, 0x0E, 0x44, 0x71, 0x48, + 0xD3, 0x3C, 0xA3, 0x1C, 0x05, 0x51, 0xFD, 0x4F, 0x91, 0xAA, 0x16, 0x3B, 0x37, 0x9E, 0x40, 0xE2, + 0x5D, 0x47, 0x5A, 0xCF, 0x91, 0x88, 0x43, 0xAB, 0xD1, 0x3E, 0xD1, 0xE4, 0x19, 0x63, 0x7F, 0x59, + 0x2A, 0x77, 0xE4, 0x50, 0xF0, 0x34, 0x92, 0x88, 0x2E, 0x4F, 0x42, 0x20, 0x8C, 0x65, 0x72, 0x21, + 0x36, 0x30, 0xC8, 0x3A, 0xF1, 0x12, 0x90, 0x03, 0x2A, 0xD8, 0x6F, 0xB6, 0x84, 0xC0, 0x16, 0x98, + 0xA8, 0x29, 0x9E, 0x4A, 0x88, 0x0C, 0x28, 0xF4, 0x03, 0x05, 0x09, 0x1A, 0xD6, 0xD5, 0x72, 0x02, + 0x64, 0xF3, 0x34, 0x1B, 0xC1, 0x52, 0x60, 0xE1, 0x1C, 0x29, 0xF8, 0xEB, 0x69, 0x2A, 0x8A, 0x78, + 0xF6, 0x9E, 0xE4, 0xAB, 0x98, 0x52, 0xDD, 0x14, 0xD4, 0x52, 0x42, 0x43, 0xEC, 0xEC, 0xC8, 0x03, + 0x68, 0xA3, 0x99, 0x83, 0xC7, 0x1D, 0xDD, 0x9D, 0x1B, 0xCB, 0x56, 0xD3, 0x15, 0x67, 0x07, 0xCF, + 0x4B, 0x90, 0x49, 0x6F, 0xF3, 0xBB, 0xB8, 0xF9, 0x35, 0x31, 0xDC, 0xEC, 0xE5, 0x1D, 0x87, 0xCC, + 0xDB, 0xF6, 0x42, 0x64, 0x1C, 0xE4, 0xC1, 0xA1, 0x8E, 0xFD, 0x5D, 0x04, 0x99, 0xC6, 0xE2, 0x31, + 0x45, 0xF1, 0x48, 0x8C, 0x87, 0xB8, 0x0A, 0x4A, 0x90, 0x79, 0xAA, 0x62, 0x15, 0xA9, 0x99, 0x84, + 0x62, 0x04, 0x84, 0x06, 0xC5, 0x56, 0xAD, 0x40, 0x3C, 0xA9, 0x27, 0xAE, 0x02, 0xFF, 0xF5, 0xB7, + 0x46, 0x75, 0x92, 0x63, 0x9A, 0xD0, 0x82, 0x7A, 0xB9, 0x37, 0x45, 0x21, 0xC6, 0x04, 0xF2, 0x5B, + 0xA0, 0xD1, 0xA9, 0x8F, 0x22, 0x3F, 0x48, 0x23, 0x5B, 0xA2, 0xB7, 0x63, 0xDE, 0x23, 0xDD, 0x60, + 0x35, 0xB4, 0x00, 0x03, 0x74, 0xCB, 0x4A, 0xC0, 0xAD, 0xFE, 0x89, 0xD9, 0x7A, 0x4A, 0x2B, 0xB1, + 0xE7, 0xF4, 0xE4, 0x99, 0x9A, 0xAB, 0x6A, 0x2C, 0x50, 0x71, 0x28, 0x4D, 0x40, 0x76, 0xE2, 0x2E, + 0x9E, 0x31, 0xB0, 0xF7, 0x19, 0xD6, 0x95, 0xBC, 0x28, 0x6F, 0x66, 0xA9, 0xCA, 0x13, 0x64, 0x34, + 0xD7, 0x20, 0xAE, 0x96, 0xD7, 0x0E, 0x32, 0x09, 0x58, 0x8A, 0xCD, 0x1A, 0x42, 0xF3, 0x9D, 0x00, + 0xCB, 0x75, 0x80, 0x21, 0xC9, 0xD3, 0x3A, 0xDE, 0x60, 0x34, 0x4D, 0xB6, 0x52, 0xCE, 0x5B, 0x67, + 0x0E, 0xFA, 0x26, 0x73, 0x89, 0x55, 0x7C, 0x64, 0x44, 0xCF, 0x63, 0xEC, 0x1F, 0xE4, 0x1F, 0xB9, + 0x49, 0x70, 0x86, 0x4A, 0xA9, 0x0B, 0x22, 0x6B, 0x05, 0x4D, 0x6B, 0xB7, 0x46, 0x5F, 0x4C, 0x07, + 0x64, 0x5E, 0x1B, 0xA1, 0x16, 0xAD, 0x43, 0xA8, 0x02, 0x2A, 0x82, 0x29, 0xFD, 0x81, 0x23, 0xFB, + 0x35, 0xBE, 0x14, 0xA5, 0x76, 0x4B, 0x9F, 0xB4, 0x7D, 0xAD, 0xDF, 0x9A, 0x51, 0x23, 0xD9, 0x82, + 0xB6, 0xAE, 0x0D, 0xDB, 0x75, 0xDB, 0xE4, 0xE6, 0xA3, 0x80, 0x64, 0xD1, 0xF6, 0xF8, 0x8E, 0x52, + 0x31, 0x05, 0x03, 0xC3, 0xB6, 0xCF, 0x3F, 0x73, 0x9D, 0x0C, 0x6A, 0xE2, 0xB1, 0x84, 0xCB, 0x55, + 0x95, 0xF8, 0x5E, 0x04, 0xE8, 0x34, 0x7A, 0x09, 0x44, 0xBD, 0xF5, 0x5C, 0x40, 0xB4, 0x8A, 0x1A, + 0x62, 0x47, 0x01, 0x72, 0x27, 0xE9, 0x04, 0xE0, 0x7E, 0xE9, 0x6A, 0x8D, 0xB3, 0x22, 0x2A, 0x24, + 0x07, 0xBB, 0x39, 0xB0, 0x80, 0x25, 0x4B, 0xF2, 0x34, 0x51, 0xD0, 0x58, 0x3A, 0x57, 0x78, 0x63, + 0xE4, 0x40, 0x96, 0xA2, 0x15, 0x08, 0xA2, 0x8C, 0xA1, 0xAF, 0x32, 0x6B, 0x95, 0x4B, 0x20, 0x84, + 0xC0, 0x52, 0x3A, 0x76, 0xBE, 0xE5, 0xA1, 0x04, 0x66, 0x33, 0x4B, 0x64, 0x70, 0x47, 0x2E, 0x10, + 0x83, 0x27, 0x4E, 0x64, 0x96, 0xF2, 0x74, 0x69, 0x69, 0xCC, 0x54, 0x41, 0x66, 0x09, 0x87, 0x2F, + 0xCA, 0xB6, 0x19, 0x4C, 0xC6, 0x67, 0x67, 0x08, 0x08, 0x9C, 0x72, 0x64, 0xBF, 0xBE, 0x9F, 0x5B, + 0x52, 0x41, 0x2C, 0x60, 0x69, 0xE1, 0x96, 0x19, 0x83, 0x7A, 0x1A, 0x4B, 0x9D, 0x43, 0x58, 0x3D, + 0xB6, 0x25, 0xE9, 0x4F, 0xC8, 0xF0, 0xD8, 0xF4, 0x68, 0x63, 0x4F, 0x24, 0x8F, 0xE8, 0xB9, 0x1E, + 0x53, 0xFE, 0x58, 0xFA, 0x84, 0x6E, 0x11, 0x3A, 0x13, 0xB0, 0xA0, 0x3D, 0x32, 0x92, 0xC3, 0x9C, + 0xDF, 0x43, 0xA4, 0xC2, 0xD4, 0x33, 0x9D, 0x82, 0x7D, 0xEC, 0xE2, 0x94, 0x57, 0x6E, 0xFF, 0xC6, + 0x4A, 0xCD, 0x28, 0x07, 0x51, 0x68, 0xD3, 0x63, 0x54, 0xF0, 0x1E, 0x42, 0xA1, 0x2F, 0x62, 0x74, + 0x5D, 0xEB, 0xA5, 0xC6, 0x63, 0xC3, 0x72, 0x3C, 0x11, 0x08, 0x81, 0x67, 0x04, 0x63, 0x9C, 0xA5, + 0xC0, 0x78, 0xBD, 0x36, 0xCA, 0xB2, 0x39, 0x3D, 0xA9, 0x27, 0x95, 0x5E, 0xBE, 0x6E, 0x8E, 0x21, + 0xE3, 0x7D, 0x8F, 0x98, 0x08, 0x39, 0x34, 0xE4, 0x1F, 0x8C, 0x21, 0xAA, 0x25, 0x2D, 0xE2, 0xA7, + 0xB2, 0xC0, 0x53, 0x3D, 0x97, 0x33, 0x88, 0x83, 0xD8, 0x7F, 0x48, 0x05, 0xA3, 0x8D, 0x65, 0x09, + 0xAC, 0x19, 0xEB, 0xA8, 0xD8, 0xC4, 0x78, 0xE0, 0x0D, 0xFC, 0x1C, 0x56, 0x1A, 0x33, 0x6D, 0x08, + 0x8A, 0x7B, 0x25, 0x5F, 0x31, 0xF5, 0xE4, 0x01, 0x0B, 0x91, 0x01, 0x30, 0x06, 0x53, 0x55, 0x10, + 0x61, 0x88, 0x7E, 0xB5, 0x20, 0x28, 0xE4, 0x5B, 0x2F, 0xA6, 0x35, 0x73, 0x39, 0x3D, 0x21, 0x05, + 0x16, 0x9F, 0x5F, 0xEF, 0xC4, 0xD2, 0x79, 0xFA, 0x6F, 0xBB, 0x09, 0xF2, 0xB1, 0x59, 0xA6, 0x40, + 0x37, 0xB5, 0x9A, 0xCE, 0xED, 0x57, 0x89, 0x64, 0xC3, 0xB9, 0xCA, 0xA3, 0x10, 0x6C, 0x80, 0x8C, + 0x15, 0xE7, 0x28, 0xEC, 0xE3, 0xE3, 0x63, 0xC8, 0xE4, 0xB0, 0x24, 0x80, 0x15, 0x34, 0x46, 0xC1, + 0xF9, 0x15, 0x92, 0x6E, 0x06, 0x58, 0x71, 0x45, 0xBE, 0x37, 0xB1, 0x0C, 0x54, 0x28, 0x4A, 0x3B, + 0xEA, 0x39, 0x2F, 0x08, 0xF9, 0xA7, 0xD2, 0xA8, 0xE7, 0xC2, 0xE4, 0x47, 0xEF, 0xB5, 0x17, 0xF8, + 0x0B, 0x36, 0x14, 0x0B, 0x34, 0xF6, 0x87, 0x2A, 0x8E, 0x96, 0x28, 0x02, 0x60, 0x26, 0x86, 0x84, + 0x8E, 0x69, 0xC1, 0x05, 0x3F, 0xC3, 0x64, 0xA8, 0xE0, 0x0B, 0x0A, 0x82, 0x93, 0x17, 0xB2, 0x20, + 0x92, 0xB0, 0xE6, 0x48, 0xCB, 0xD0, 0x7B, 0xED, 0x54, 0x64, 0xC1, 0x9C, 0x7A, 0xAF, 0x69, 0x09, + 0xFD, 0x3D, 0x69, 0xF2, 0x49, 0x5E, 0x4B, 0x34, 0xB2, 0x77, 0x4F, 0xD1, 0x9B, 0xB0, 0x6C, 0xB2, + 0x5E, 0x06, 0x46, 0x29, 0xE2, 0x59, 0x36, 0xF7, 0x41, 0x06, 0x07, 0x80, 0xA6, 0x65, 0x80, 0xA5, + 0xD0, 0xF1, 0xF0, 0x08, 0xFD, 0xF5, 0xD5, 0x67, 0x9F, 0x97, 0xD5, 0xD2, 0x88, 0x60, 0x55, 0xBD, + 0xFF, 0x80, 0x4E, 0x6B, 0x78, 0xFA, 0x91, 0x27, 0x55, 0xB1, 0x81, 0xA1, 0xBB, 0x9E, 0x46, 0x42, + 0x13, 0x69, 0x87, 0x10, 0x2E, 0x92, 0x90, 0x54, 0x8D, 0x66, 0xFC, 0xBB, 0xB2, 0xFB, 0xD8, 0xF7, + 0x28, 0x9C, 0x12, 0x96, 0x02, 0x3C, 0xC9, 0x03, 0x85, 0x13, 0x29, 0xCC, 0x54, 0x8A, 0x2C, 0xDF, + 0x89, 0xB0, 0x53, 0xAC, 0x23, 0xBB, 0xC0, 0xF6, 0x1D, 0x3A, 0x1D, 0x34, 0x12, 0xD0, 0x58, 0x52, + 0x29, 0xF4, 0x1B, 0x82, 0x04, 0xF6, 0x0A, 0x50, 0xE7, 0x10, 0x40, 0x11, 0x16, 0xF0, 0x3C, 0x28, + 0x4E, 0x01, 0x17, 0x30, 0x27, 0xA0, 0x9E, 0x7B, 0x11, 0x51, 0xB4, 0x85, 0xEE, 0x0E, 0xDE, 0xD4, + 0x12, 0x0C, 0xAA, 0x9B, 0xF1, 0x58, 0xFE, 0x69, 0x73, 0x36, 0xAA, 0xC2, 0x90, 0xEB, 0x20, 0xBA, + 0xC7, 0x32, 0xB3, 0x7C, 0x40, 0x9C, 0x5A, 0x94, 0x85, 0xDA, 0xAC, 0xA8, 0xE2, 0xFD, 0x73, 0xC2, + 0x4D, 0x29, 0xD2, 0x3C, 0xD1, 0x63, 0xB1, 0x22, 0xC2, 0x49, 0xB4, 0xCC, 0x56, 0xDD, 0xA5, 0xC9, + 0x5B, 0xBA, 0x76, 0x7D, 0x35, 0xD6, 0x6D, 0x4E, 0x72, 0x63, 0x43, 0xBE, 0x9D, 0x0C, 0xA0, 0xDE, + 0x57, 0x73, 0x9D, 0xD4, 0x26, 0x01, 0xAA, 0x5A, 0xF1, 0x98, 0x7D, 0xCF, 0x0C, 0x4A, 0x31, 0x10, + 0x7F, 0x04, 0x1A, 0x3A, 0xB2, 0x76, 0xBB, 0x91, 0x3D, 0x80, 0x02, 0x43, 0x22, 0xDB, 0xD0, 0x6F, + 0xE1, 0xAC, 0x37, 0xB5, 0x09, 0xF7, 0x70, 0x8D, 0x19, 0xD3, 0x6D, 0xDA, 0xD9, 0x47, 0xF5, 0xAD, + 0x41, 0x5F, 0x8C, 0xD6, 0xA8, 0xCC, 0xB2, 0xA1, 0xAC, 0x96, 0x79, 0xEC, 0x29, 0xCA, 0x54, 0x9D, + 0xB0, 0x89, 0x82, 0xCA, 0x8D, 0xC7, 0x0D, 0x72, 0x18, 0x2D, 0x93, 0x9D, 0xE3, 0xB2, 0x15, 0x45, + 0x91, 0xE0, 0x9B, 0xB3, 0x19, 0x8C, 0xB1, 0x29, 0x11, 0x4D, 0x84, 0x3D, 0x15, 0x40, 0xC9, 0x8E, + 0xD7, 0xAC, 0xC1, 0xD7, 0x5E, 0x16, 0x28, 0xAD, 0x5A, 0x13, 0xEA, 0xB8, 0x2A, 0xFE, 0x0C, 0x49, + 0x6E, 0x46, 0xCD, 0xBE, 0x6A, 0xB2, 0xBA, 0xBF, 0xD6, 0xF5, 0xF5, 0x7A, 0x57, 0xBB, 0x78, 0x8F, + 0x86, 0x6B, 0x64, 0xD7, 0xEE, 0xD2, 0x9E, 0x17, 0x85, 0x0A, 0x00, 0xA3, 0x80, 0x0C, 0xC3, 0x06, + 0x20, 0xC0, 0x74, 0xDF, 0x70, 0x16, 0xE4, 0x8B, 0xA2, 0x2D, 0x05, 0x89, 0x3E, 0xA9, 0x6F, 0xFA, + 0x7E, 0xFD, 0xED, 0x5F, 0x8E, 0xE8, 0xFF, 0x4A, 0x04, 0xDB, 0x85, 0x1B, 0x8A, 0xB1, 0x54, 0x67, + 0x16, 0x4C, 0xAD, 0xBE, 0xB6, 0xD3, 0x90, 0x95, 0xE4, 0xEA, 0xC2, 0x33, 0x6D, 0x46, 0x7F, 0x5D, + 0xE4, 0x19, 0x1D, 0xC6, 0xC1, 0xE1, 0x99, 0xCB, 0xD9, 0xAE, 0x47, 0xE6, 0x0B, 0xC8, 0x4F, 0x66, + 0x83, 0xDE, 0x5C, 0x96, 0xB6, 0x56, 0xE2, 0x9E, 0x83, 0x6E, 0x4E, 0xB8, 0x44, 0xB8, 0x96, 0xF2, + 0x49, 0xD4, 0x64, 0x63, 0x71, 0x48, 0xAF, 0x11, 0xED, 0x3C, 0x5F, 0x70, 0x6C, 0x5E, 0x79, 0x08, + 0x14, 0x61, 0x16, 0x2B, 0xF2, 0x7D, 0x09, 0x7E, 0x05, 0x08, 0x8E, 0x51, 0xA2, 0x48, 0x3D, 0x34, + 0x8D, 0xB7, 0x92, 0x4A, 0x55, 0xF3, 0x2C, 0x05, 0xD1, 0xCE, 0x5D, 0xB4, 0xD4, 0x85, 0x5E, 0xCF, + 0x95, 0xFD, 0x41, 0x9E, 0xA6, 0xE0, 0x6E, 0x4D, 0xF3, 0xB0, 0x7D, 0x64, 0x12, 0xB3, 0xFB, 0x41, + 0x3D, 0xD9, 0xEE, 0x35, 0x13, 0xD0, 0x4A, 0x6E, 0x2D, 0x5F, 0xDC, 0x51, 0xB1, 0x8C, 0xA1, 0xE2, + 0x58, 0x70, 0x57, 0x98, 0xED, 0x40, 0xC8, 0xC6, 0x11, 0xD8, 0xA9, 0x1F, 0x81, 0x3D, 0x31, 0xEF, + 0x54, 0x91, 0xD1, 0x64, 0x68, 0x97, 0xD8, 0x72, 0xA3, 0x37, 0xB5, 0x8C, 0xDD, 0x05, 0x97, 0x11, + 0x9C, 0x22, 0x85, 0x80, 0x08, 0xE6, 0x4C, 0x83, 0x3C, 0x4B, 0xC0, 0x62, 0x51, 0x48, 0x0D, 0xC3, + 0x09, 0x5C, 0xBF, 0x55, 0x74, 0xE7, 0x66, 0xD4, 0x40, 0xF6, 0xBA, 0x03, 0x50, 0x5C, 0xB6, 0xBD, + 0x9C, 0xEC, 0x2D, 0x70, 0xF8, 0x77, 0x73, 0x7D, 0xB9, 0x03, 0x44, 0x89, 0x6B, 0x6F, 0xD2, 0x68, + 0x5B, 0xE3, 0x81, 0x43, 0x04, 0x57, 0x38, 0xF2, 0x74, 0xFD, 0xA8, 0xA8, 0x08, 0x96, 0xB5, 0x23, + 0x94, 0xF5, 0xAC, 0xE3, 0x27, 0x13, 0x90, 0x63, 0xF6, 0xBE, 0xBD, 0xBC, 0xE9, 0xEE, 0xB1, 0xBF, + 0xE0, 0xCB, 0xF5, 0xE0, 0xE7, 0x3E, 0x7D, 0x3B, 0xFB, 0xA5, 0x63, 0xBE, 0x9C, 0x77, 0xBB, 0x57, + 0xB7, 0x03, 0x38, 0x32, 0xBF, 0x30, 0x4B, 0x2E, 0xAE, 0xBB, 0x5D, 0xF3, 0xA6, 0x07, 0x47, 0xE7, + 0x17, 0x03, 0xFA, 0x7A, 0xD9, 0xFB, 0xD1, 0xBC, 0x2D, 0x2D, 0xBC, 0xEA, 0xF5, 0x7F, 0x30, 0x5F, + 0x6E, 0xAE, 0xAF, 0x2E, 0xCD, 0xB3, 0x51, 0xB7, 0x73, 0xB9, 0xF7, 0xBE, 0x89, 0x6A, 0xE5, 0x7C, + 0xE1, 0x65, 0x59, 0xCA, 0x87, 0xF6, 0xFA, 0x83, 0x75, 0x00, 0xBF, 0xB6, 0xDC, 0x10, 0xB4, 0x00, + 0x20, 0x75, 0x14, 0xBA, 0x18, 0x1D, 0xF3, 0x89, 0x02, 0x08, 0x9C, 0xA6, 0x92, 0x32, 0xC8, 0x23, + 0xEE, 0xD2, 0xB8, 0x03, 0x60, 0x3D, 0xBB, 0xB9, 0xE4, 0x8E, 0x22, 0x33, 0x2B, 0xA3, 0xA8, 0x84, + 0x35, 0x9D, 0x29, 0xB3, 0xCD, 0x60, 0x1F, 0xBF, 0x14, 0x67, 0x2A, 0x16, 0x88, 0xC5, 0xB0, 0x0A, + 0x8B, 0x4E, 0x0C, 0xF3, 0x09, 0xA4, 0xD1, 0xB9, 0x08, 0x01, 0xB0, 0xA3, 0x60, 0x4F, 0x97, 0x99, + 0x20, 0x64, 0xA6, 0xFD, 0x9D, 0x94, 0x41, 0xCB, 0xD8, 0x81, 0x1D, 0x5B, 0x20, 0x2E, 0x67, 0x8F, + 0xE9, 0x1C, 0xBE, 0xA9, 0x19, 0x74, 0xBE, 0xBE, 0xB1, 0x9E, 0x5D, 0x39, 0x4E, 0xDA, 0x61, 0x7C, + 0xBB, 0x1E, 0x5A, 0x8A, 0x93, 0x9F, 0xED, 0x9E, 0x34, 0xB2, 0xE2, 0x83, 0x93, 0x96, 0x05, 0xA6, + 0x40, 0x9A, 0x0A, 0x51, 0xBB, 0xB4, 0x9B, 0x5A, 0xD8, 0x03, 0xD7, 0x74, 0xA5, 0x04, 0xF2, 0x8C, + 0x4D, 0x94, 0xCD, 0xED, 0xD3, 0x84, 0x07, 0x30, 0x48, 0xAF, 0x4F, 0x24, 0xF6, 0xC4, 0x65, 0x24, + 0x77, 0xF1, 0x7F, 0xA4, 0x1A, 0xEA, 0x9A, 0x99, 0x74, 0xD4, 0x79, 0x7A, 0xDC, 0x59, 0x0F, 0xA7, + 0xC3, 0xDA, 0x4D, 0x98, 0x06, 0xB4, 0x1F, 0x70, 0xED, 0xEF, 0x5D, 0x77, 0x7F, 0x1C, 0x8C, 0xBA, + 0xB7, 0x70, 0x53, 0xE5, 0x4D, 0xEF, 0xE2, 0xF6, 0xE6, 0xEA, 0xBC, 0x03, 0xBF, 0x06, 0xD7, 0xBD, + 0x8B, 0x5E, 0xFF, 0xF6, 0xA6, 0x3F, 0xBC, 0xEA, 0x9E, 0xF5, 0xDE, 0xF4, 0xBA, 0xE7, 0xC6, 0x6B, + 0xE1, 0x22, 0xCB, 0xC0, 0xF8, 0x1A, 0xEC, 0x1B, 0x8E, 0x6E, 0x3B, 0x57, 0x3D, 0xFA, 0xD1, 0x39, + 0xFF, 0x11, 0x96, 0x0F, 0xCF, 0x7F, 0xB8, 0xED, 0x0F, 0xCE, 0xBB, 0x7B, 0x07, 0x9B, 0x88, 0xA7, + 0xF8, 0xF0, 0x7C, 0xD2, 0xB1, 0x0C, 0x6F, 0x26, 0x7C, 0xF4, 0xCB, 0x55, 0x77, 0x8D, 0xEC, 0x5E, + 0xFF, 0x0C, 0x16, 0x77, 0xFB, 0xA3, 0xCE, 0xA5, 0x5D, 0x47, 0x8F, 0xDF, 0x0C, 0xAE, 0xCF, 0xBA, + 0xE7, 0xE5, 0x27, 0xD7, 0x83, 0xCB, 0xCB, 0x6F, 0x3B, 0x67, 0x3F, 0x6C, 0x60, 0xA0, 0x33, 0x83, + 0x83, 0xCA, 0x99, 0x1D, 0xAB, 0x4F, 0xB1, 0x3C, 0xF0, 0x5E, 0x6E, 0x1D, 0xD4, 0x38, 0x3B, 0x70, + 0x87, 0xDC, 0x40, 0x6D, 0x1F, 0x67, 0x14, 0x57, 0xB1, 0xB9, 0xC6, 0x04, 0x2A, 0x42, 0xF8, 0xE9, + 0xF8, 0xDD, 0xC4, 0xE8, 0x8D, 0x46, 0x1B, 0x5E, 0xCB, 0x61, 0x9B, 0x44, 0x4B, 0xC9, 0xF0, 0xC8, + 0x9D, 0xE9, 0x97, 0xFD, 0xD9, 0x57, 0x0E, 0x2A, 0x85, 0x08, 0x98, 0x28, 0x2A, 0x95, 0x9F, 0xE4, + 0x5B, 0x4F, 0x1A, 0x79, 0xAC, 0x3B, 0xF3, 0x66, 0x4F, 0x32, 0x12, 0x9A, 0x83, 0x3B, 0x4D, 0x04, + 0x9C, 0x3F, 0x88, 0x72, 0x71, 0xE1, 0x00, 0x95, 0xE1, 0x87, 0xB9, 0x30, 0xFD, 0x5D, 0xAA, 0xA2, + 0x08, 0x3D, 0x0B, 0x72, 0x21, 0x84, 0x67, 0x3F, 0x73, 0x96, 0xD3, 0xAA, 0x1B, 0xC3, 0xD7, 0xE2, + 0xB4, 0x13, 0x49, 0x29, 0x76, 0xD6, 0x72, 0xEB, 0xDF, 0x0E, 0x55, 0x9E, 0x06, 0x3B, 0x38, 0x65, + 0x0F, 0x04, 0x1A, 0xE0, 0x81, 0x2B, 0xC6, 0x10, 0xEC, 0xE2, 0x08, 0x7F, 0x73, 0xDC, 0xF0, 0x31, + 0xD8, 0x9F, 0x12, 0x7B, 0x5A, 0x61, 0x5F, 0xA6, 0xD2, 0x25, 0x2E, 0x2A, 0x63, 0xD0, 0x79, 0x92, + 0xD0, 0xB9, 0x63, 0x43, 0xA6, 0xD7, 0x97, 0x60, 0x96, 0xC1, 0xF2, 0x74, 0x6B, 0x1B, 0x5B, 0x1C, + 0x75, 0x34, 0xDD, 0x14, 0xF1, 0x61, 0x7B, 0xA7, 0xA6, 0xAD, 0x08, 0xE9, 0x38, 0xAF, 0xF1, 0x17, + 0x42, 0xEA, 0x45, 0xE5, 0xEF, 0x8E, 0x15, 0xFA, 0x25, 0x9F, 0xBF, 0x17, 0xA5, 0x90, 0xBB, 0xD3, + 0xCD, 0x32, 0x97, 0x77, 0xCA, 0xA0, 0xC7, 0x75, 0x0B, 0xC6, 0x8F, 0x0E, 0x24, 0x38, 0x06, 0xF6, + 0x2C, 0x65, 0x01, 0x16, 0x5F, 0x8B, 0x4B, 0x38, 0x1D, 0x5C, 0x08, 0x97, 0xE9, 0xAC, 0x55, 0x4E, + 0xF3, 0x68, 0x2A, 0x21, 0xB3, 0xD9, 0xEB, 0x57, 0x0D, 0x48, 0xEA, 0xB5, 0x02, 0xE7, 0x99, 0x6E, + 0xC5, 0x3E, 0xDC, 0x90, 0xB9, 0x32, 0x70, 0xBF, 0xAC, 0x83, 0xF0, 0xF5, 0x76, 0x81, 0xD9, 0x2B, + 0x1D, 0x22, 0xFC, 0x1F, 0xC8, 0x8A, 0x5A, 0x9F, 0x6A, 0xC2, 0x65, 0x3F, 0x3D, 0xC9, 0xE3, 0x15, + 0x1C, 0x68, 0xAA, 0x3B, 0x08, 0x76, 0xFF, 0x8D, 0x3E, 0x3A, 0xEE, 0x4A, 0xC0, 0x7E, 0x85, 0x09, + 0x77, 0x31, 0xC7, 0xDF, 0x55, 0x78, 0xB6, 0xDA, 0x60, 0x6A, 0x22, 0x43, 0x0A, 0x09, 0x7C, 0x67, + 0x05, 0x35, 0x69, 0x65, 0xB3, 0x1A, 0x0A, 0xA1, 0x8E, 0x36, 0xCA, 0x7B, 0x02, 0x4E, 0x66, 0x89, + 0x0A, 0x5B, 0x35, 0x92, 0xD6, 0x1B, 0x45, 0x0D, 0x8F, 0x4A, 0xFB, 0x9F, 0x24, 0x76, 0xB7, 0xCB, + 0xFB, 0x82, 0xA3, 0xEA, 0xA4, 0x76, 0xFC, 0xF3, 0x6C, 0x91, 0x5F, 0xD9, 0x98, 0xAA, 0x77, 0xAA, + 0x1B, 0xDF, 0x4B, 0x90, 0x45, 0x09, 0xBD, 0x0E, 0xC6, 0x5D, 0x50, 0xF3, 0xF7, 0x0B, 0xDD, 0x03, + 0x3B, 0x34, 0xA1, 0x3A, 0xD3, 0x41, 0xD8, 0xD4, 0x8A, 0x9C, 0x94, 0x61, 0xC3, 0xE7, 0x88, 0xBD, + 0xB3, 0xC1, 0xFD, 0x91, 0x8D, 0x21, 0x69, 0x04, 0x50, 0x75, 0x0F, 0x45, 0x96, 0xB9, 0x23, 0xE9, + 0xE2, 0xAC, 0x92, 0xD1, 0x5B, 0xBD, 0xD9, 0x01, 0x57, 0xA0, 0x33, 0xE0, 0xCB, 0xDD, 0xFD, 0xA1, + 0x01, 0x4A, 0x20, 0x53, 0xB8, 0x45, 0x00, 0xB7, 0x2F, 0xA9, 0x9A, 0xA1, 0x09, 0x04, 0x1C, 0x46, + 0x22, 0x1E, 0x9E, 0x80, 0x9D, 0x70, 0xB8, 0x2A, 0x29, 0xCD, 0xC1, 0x51, 0x8A, 0x59, 0x7B, 0x41, + 0xD3, 0x96, 0x1A, 0xA0, 0x01, 0xCF, 0xF1, 0x22, 0x35, 0x2C, 0x93, 0xFA, 0x4E, 0x33, 0xFC, 0x49, + 0x14, 0xD3, 0x9D, 0x06, 0xBC, 0xFE, 0x3C, 0xB5, 0x68, 0x89, 0x81, 0x25, 0xA4, 0xDC, 0x2A, 0xCD, + 0xAB, 0x20, 0x3D, 0x0F, 0x98, 0xE7, 0x17, 0x90, 0xD1, 0x25, 0xDC, 0x31, 0xB5, 0xA3, 0x5E, 0xEA, + 0x8F, 0x0C, 0x38, 0xC0, 0xB1, 0xEB, 0x50, 0x09, 0x3F, 0x78, 0x77, 0xE2, 0x99, 0x77, 0x23, 0x72, + 0xED, 0xBE, 0x1E, 0xA5, 0x10, 0xA0, 0x3F, 0xC2, 0xB9, 0xCA, 0x6D, 0xAE, 0xA1, 0xF7, 0xBE, 0x05, + 0x39, 0xDE, 0x92, 0x2E, 0xC2, 0x5B, 0xCB, 0xE3, 0x2A, 0x5E, 0x33, 0xD9, 0xA1, 0xD5, 0x24, 0x75, + 0xB3, 0xDA, 0x49, 0xE4, 0x71, 0x7B, 0x74, 0xBC, 0xDA, 0xE4, 0xB2, 0xDE, 0x52, 0x9F, 0xE8, 0xB2, + 0x76, 0xD7, 0x8E, 0x1E, 0x7B, 0x68, 0x2D, 0x7C, 0xED, 0x54, 0xD7, 0x70, 0x53, 0xAE, 0x49, 0xEC, + 0xE7, 0xF1, 0x79, 0x4E, 0x0E, 0x5D, 0x95, 0x02, 0xEE, 0xA8, 0x9B, 0x62, 0xDC, 0x65, 0xA9, 0xBD, + 0x52, 0x39, 0xD5, 0x6C, 0xEE, 0x2B, 0x5D, 0x72, 0xD1, 0xE6, 0x17, 0xC5, 0xBD, 0xAF, 0xFB, 0xD0, + 0xB0, 0xF1, 0xDF, 0x0A, 0x20, 0x72, 0x81, 0x51, 0xE1, 0xE6, 0x99, 0xF5, 0xB3, 0xE2, 0xC2, 0x65, + 0xB4, 0x6C, 0xC2, 0x5A, 0x80, 0x74, 0xF8, 0x8D, 0x6A, 0x53, 0x71, 0x54, 0x78, 0x3D, 0x3A, 0x84, + 0x71, 0x04, 0x4E, 0x52, 0x2A, 0x7A, 0x82, 0x42, 0xDF, 0x9B, 0x13, 0xEE, 0x33, 0xCA, 0x6C, 0x45, + 0x1C, 0x92, 0xF8, 0xDC, 0xA1, 0x50, 0x61, 0x8A, 0xA3, 0x35, 0xF9, 0x14, 0x80, 0x8B, 0x13, 0x57, + 0xF5, 0x60, 0x6F, 0x69, 0xAE, 0x15, 0xE9, 0xC5, 0xEA, 0x43, 0x64, 0x17, 0x23, 0x03, 0xDD, 0xF0, + 0xA8, 0x60, 0x01, 0x18, 0x02, 0xE7, 0x25, 0x91, 0x80, 0x30, 0xE3, 0x0A, 0x79, 0x9D, 0xA1, 0x9C, + 0x61, 0xF4, 0x66, 0xEA, 0x78, 0x7B, 0x7F, 0x11, 0x10, 0x7E, 0x72, 0x7C, 0xEC, 0x40, 0x1B, 0xCF, + 0xC6, 0xDA, 0x58, 0x84, 0x55, 0xC2, 0x71, 0x3A, 0xE2, 0x57, 0x19, 0x37, 0x28, 0xFA, 0x1C, 0x00, + 0x4F, 0x77, 0xB4, 0xA8, 0xCA, 0x6C, 0x12, 0x8C, 0x66, 0xFB, 0xB4, 0x4D, 0xEA, 0x43, 0x6C, 0xE9, + 0xEC, 0x94, 0xA7, 0xD2, 0xD0, 0xBF, 0xAC, 0x04, 0x1E, 0xBB, 0x1A, 0x98, 0x01, 0x05, 0x9A, 0xD3, + 0x71, 0xFA, 0x07, 0x14, 0x17, 0x85, 0x0E, 0xEC, 0xF0, 0x58, 0x2B, 0xC7, 0xAA, 0xBD, 0x99, 0xB7, + 0xC4, 0x17, 0x74, 0x2B, 0xCF, 0xC8, 0xF0, 0x8B, 0x63, 0x16, 0xF2, 0x25, 0xC4, 0x40, 0xBC, 0x06, + 0xF5, 0xC4, 0xDA, 0xE7, 0x69, 0xDE, 0x5D, 0xD3, 0xDD, 0x54, 0x4B, 0x9F, 0xB5, 0x9B, 0xB2, 0xCF, + 0x75, 0x51, 0x2C, 0x58, 0x77, 0xBF, 0xB5, 0x89, 0x9C, 0x19, 0x3B, 0x21, 0xD3, 0x28, 0x38, 0xAA, + 0xB9, 0x68, 0x59, 0x20, 0xA9, 0xBB, 0x72, 0xF9, 0x0C, 0xE3, 0xF9, 0x77, 0x2C, 0xE7, 0xDF, 0x32, + 0x9B, 0x17, 0xDB, 0x2B, 0x91, 0xBA, 0x4A, 0xB4, 0xEE, 0x1A, 0xFC, 0xB8, 0xE6, 0xE1, 0xF8, 0xB1, + 0xE2, 0x0D, 0xB6, 0x9A, 0xC1, 0xE0, 0xE5, 0xA2, 0x63, 0xA1, 0xF5, 0x75, 0x3D, 0x3F, 0xD9, 0xBC, + 0xA1, 0xB4, 0x5F, 0xBF, 0xB9, 0x5B, 0x6F, 0xD0, 0x51, 0x69, 0xDD, 0x7E, 0x91, 0x8A, 0x6A, 0x78, + 0x28, 0xD9, 0xF4, 0x3A, 0xF0, 0xE6, 0xCA, 0xF2, 0x0C, 0x6F, 0xA7, 0xDB, 0x23, 0x3C, 0x43, 0x3B, + 0x7C, 0xC7, 0x0B, 0xE9, 0x0D, 0x66, 0xE1, 0x2E, 0xE7, 0x7F, 0x3F, 0x1C, 0xF4, 0xAD, 0x5B, 0x6D, + 0x29, 0x3D, 0x7F, 0xD7, 0x8A, 0xFE, 0xFF, 0xA3, 0xBC, 0x05, 0x2D, 0x30, 0x51, 0x49, 0x8E, 0x10, + 0x9F, 0x5E, 0xD2, 0x3A, 0x19, 0x13, 0x99, 0x45, 0xC9, 0x14, 0xEB, 0x0C, 0xFF, 0x67, 0xAF, 0xE1, + 0x54, 0x94, 0xF8, 0x74, 0x1E, 0xFE, 0x06, 0x98, 0x40, 0x72, 0xF6, 0x91, 0x38, 0x17, 0x1E, 0x0E, + 0xEA, 0x4B, 0x00, 0x37, 0x6E, 0x78, 0x7C, 0xF1, 0x37, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, + 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0xD0, 0x49, 0x56, 0x11, 0xBD, 0x01, 0x00, 0x00, 0xBC, + 0x02, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, + 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, + 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x72, 0x65, 0x6D, 0x6F, 0x74, 0x65, 0x2D, 0x63, 0x6F, + 0x6E, 0x66, 0x69, 0x67, 0x2F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x2E, 0x6A, 0x73, 0x65, 0x92, 0x41, + 0x6F, 0xD3, 0x40, 0x10, 0x85, 0xEF, 0xF9, 0x15, 0x0F, 0x9F, 0x4A, 0xE5, 0xDA, 0x51, 0xC4, 0x85, + 0xF6, 0x64, 0xD2, 0x00, 0x16, 0xC5, 0x41, 0x71, 0x4A, 0xD5, 0x53, 0xB5, 0xB6, 0xC7, 0xCE, 0x20, + 0x67, 0xD7, 0xEC, 0xAE, 0x63, 0x22, 0xC4, 0x7F, 0x67, 0xB6, 0x0D, 0x88, 0x88, 0x93, 0xB5, 0x9E, + 0x37, 0x6F, 0xBE, 0x37, 0xBB, 0xE9, 0xE5, 0x2B, 0xB4, 0x6C, 0xA9, 0x52, 0x8E, 0xAE, 0x54, 0xB3, + 0x67, 0x8D, 0xC3, 0xDB, 0xE4, 0x4D, 0xB2, 0xC0, 0x65, 0x3A, 0x8B, 0x46, 0x47, 0x70, 0xDE, 0x72, + 0xED, 0xA3, 0x9B, 0x99, 0x48, 0x67, 0xB8, 0xC4, 0xD2, 0x0C, 0x47, 0xCB, 0xDD, 0xCE, 0x63, 0x31, + 0x5F, 0xCC, 0xF1, 0xC1, 0x98, 0xAE, 0x27, 0xE4, 0xBA, 0x4E, 0xA4, 0x1A, 0x04, 0x77, 0x5C, 0x93, + 0x76, 0xD4, 0x60, 0xD4, 0x0D, 0x59, 0xF8, 0x1D, 0x21, 0x1B, 0x54, 0x2D, 0x9F, 0x53, 0x25, 0xC6, + 0x57, 0xB2, 0x8E, 0x8D, 0xC6, 0x22, 0x99, 0xE3, 0x22, 0x08, 0xA2, 0x53, 0x29, 0x7A, 0x7D, 0x13, + 0x2C, 0x8E, 0x66, 0xC4, 0x5E, 0x1D, 0xA1, 0x8D, 0x87, 0x30, 0x88, 0x07, 0x3B, 0xC1, 0x94, 0x39, + 0xF4, 0xA3, 0xA6, 0xC1, 0x43, 0x30, 0x6B, 0xB3, 0x1F, 0x7A, 0x56, 0xBA, 0x26, 0x4C, 0xEC, 0x77, + 0xA2, 0xF9, 0x3B, 0x20, 0x09, 0x1E, 0x8F, 0x27, 0x0F, 0x53, 0x79, 0x25, 0x72, 0x25, 0x0D, 0x83, + 0x9C, 0xDA, 0x7F, 0x85, 0x50, 0xFE, 0x04, 0x0D, 0xEC, 0xBC, 0x1F, 0xAE, 0xD3, 0x74, 0x9A, 0xA6, + 0x44, 0x3D, 0xE3, 0x26, 0xC6, 0x76, 0x69, 0xFF, 0x22, 0x74, 0xE9, 0x5D, 0xBE, 0x5C, 0x15, 0xE5, + 0xEA, 0x4A, 0x90, 0x4F, 0x2D, 0xF7, 0xBA, 0x27, 0xE7, 0x60, 0xE9, 0xFB, 0xC8, 0x56, 0xE2, 0x56, + 0x47, 0xA8, 0x61, 0x90, 0x06, 0x55, 0x09, 0x68, 0xAF, 0x26, 0x18, 0x0B, 0xD5, 0x59, 0x92, 0x9A, + 0x37, 0x01, 0x79, 0xB2, 0xEC, 0x59, 0x77, 0x31, 0x9C, 0x69, 0xFD, 0xA4, 0x2C, 0x05, 0x9B, 0x86, + 0xC3, 0x86, 0xAB, 0xD1, 0xFF, 0xD9, 0xD8, 0x19, 0x20, 0xBB, 0x33, 0x81, 0x91, 0x20, 0x1A, 0x51, + 0x56, 0x22, 0x2F, 0x23, 0xBC, 0xCB, 0xCA, 0xBC, 0x8C, 0x83, 0xC9, 0x43, 0xBE, 0xFD, 0xB8, 0xBE, + 0xDF, 0xE2, 0x21, 0xDB, 0x6C, 0xB2, 0x62, 0x9B, 0xAF, 0x4A, 0xAC, 0x37, 0x58, 0xAE, 0x8B, 0xDB, + 0x7C, 0x9B, 0xAF, 0x0B, 0x39, 0xBD, 0x47, 0x56, 0x3C, 0xE2, 0x53, 0x5E, 0xDC, 0xC6, 0x20, 0x96, + 0x11, 0x56, 0x76, 0x39, 0x58, 0x49, 0x10, 0x30, 0x39, 0xEC, 0x92, 0x9A, 0xE7, 0xC5, 0x95, 0x44, + 0x67, 0x08, 0xAD, 0x79, 0x41, 0x72, 0x03, 0xD5, 0xDC, 0x72, 0x2D, 0xD1, 0x74, 0x37, 0xAA, 0x8E, + 0xD0, 0x99, 0x03, 0x59, 0x2D, 0x89, 0x30, 0x90, 0xDD, 0xB3, 0x0B, 0x77, 0xEA, 0x04, 0xB0, 0x09, + 0x36, 0x3D, 0xEF, 0xD9, 0x2B, 0x1F, 0x7E, 0xFD, 0x9F, 0x2B, 0x0C, 0x4A, 0x67, 0xEB, 0xEA, 0x1B, + 0xD5, 0x3E, 0x69, 0xA8, 0x65, 0x4D, 0x5F, 0xAC, 0x11, 0x17, 0x7F, 0xBC, 0x10, 0x2C, 0x63, 0xBD, + 0x8B, 0x11, 0x3D, 0x3D, 0x91, 0xFB, 0x6C, 0x9A, 0xB1, 0xA7, 0x28, 0xC6, 0x4F, 0x1C, 0x54, 0x3F, + 0xD2, 0x35, 0xBC, 0x1D, 0x09, 0xBF, 0xE4, 0xA1, 0xFC, 0x06, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, + 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x45, 0x3B, 0x38, 0xE7, 0x9D, 0x10, 0x00, 0x00, + 0x91, 0x47, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, + 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, + 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x72, 0x65, 0x6D, 0x6F, 0x74, 0x65, 0x2D, 0x63, + 0x6F, 0x6E, 0x66, 0x69, 0x67, 0x2F, 0x72, 0x65, 0x6D, 0x6F, 0x74, 0x65, 0x2D, 0x63, 0x6F, 0x6E, + 0x66, 0x69, 0x67, 0x2D, 0x61, 0x70, 0x69, 0x2D, 0x63, 0x6C, 0x69, 0x65, 0x6E, 0x74, 0x2D, 0x69, + 0x6E, 0x74, 0x65, 0x72, 0x6E, 0x61, 0x6C, 0x2E, 0x6A, 0x73, 0xED, 0x5C, 0xE9, 0x72, 0xE3, 0x44, + 0x10, 0xFE, 0xCF, 0x53, 0x0C, 0xA6, 0x0A, 0x3B, 0x8B, 0x2D, 0x2F, 0x47, 0x51, 0x85, 0x43, 0x00, + 0x93, 0x78, 0x17, 0x43, 0xB0, 0x53, 0xB6, 0xC3, 0x59, 0x94, 0xA3, 0x48, 0x63, 0x47, 0xAC, 0x2C, + 0x09, 0x1D, 0xC9, 0x86, 0xC5, 0xEF, 0xCE, 0xD7, 0x73, 0xE8, 0x96, 0x63, 0x2F, 0xE1, 0x28, 0x20, + 0x3F, 0x92, 0x78, 0xD4, 0xF7, 0xF4, 0x74, 0xF7, 0xF4, 0x8C, 0xDC, 0x7F, 0xF2, 0x26, 0x5B, 0x39, + 0x21, 0xBF, 0x36, 0x23, 0xDE, 0x33, 0xED, 0x8D, 0xE3, 0xB1, 0xDB, 0x8F, 0x8C, 0x0F, 0x8C, 0xF7, + 0xD8, 0x93, 0xFE, 0x1B, 0xAD, 0x24, 0xE2, 0x2C, 0x8A, 0x43, 0xC7, 0x8A, 0x5B, 0xC7, 0x6F, 0x00, + 0xF4, 0x0D, 0xF6, 0x84, 0x9D, 0xFA, 0xC1, 0x7D, 0xE8, 0xAC, 0x6F, 0x62, 0xF6, 0xDE, 0xD3, 0xF7, + 0x9E, 0xB2, 0xE7, 0xBE, 0xBF, 0x76, 0x39, 0x1B, 0x7B, 0x96, 0x81, 0xA7, 0x04, 0x70, 0xEE, 0x58, + 0xDC, 0x8B, 0xB8, 0xCD, 0x12, 0xCF, 0xE6, 0x21, 0x8B, 0x6F, 0x38, 0x1B, 0x06, 0xA6, 0x85, 0x3F, + 0xEA, 0x49, 0x97, 0x7D, 0xC3, 0xC3, 0xC8, 0xF1, 0x3D, 0xF6, 0x9E, 0xF1, 0x94, 0x75, 0x08, 0xA0, + 0xA5, 0x1E, 0xB5, 0x8E, 0x8E, 0x89, 0xC4, 0xBD, 0x9F, 0xB0, 0x8D, 0x79, 0xCF, 0x3C, 0x3F, 0x66, + 0x90, 0x01, 0x34, 0x9C, 0x08, 0x62, 0x82, 0x0F, 0x7F, 0x69, 0xF1, 0x20, 0x66, 0x10, 0xD3, 0xF2, + 0x37, 0x81, 0xEB, 0x98, 0x9E, 0xC5, 0xD9, 0x9D, 0x13, 0xDF, 0x00, 0x26, 0x65, 0x60, 0x10, 0x8D, + 0xEF, 0x15, 0x0D, 0xFF, 0x3A, 0x36, 0x01, 0x6E, 0x02, 0x21, 0xC0, 0xA7, 0x55, 0x1E, 0x90, 0x99, + 0xB1, 0x12, 0x9A, 0xB1, 0x9B, 0x38, 0x0E, 0x06, 0xFD, 0xFE, 0xDD, 0xDD, 0x9D, 0x61, 0x0A, 0x71, + 0x0D, 0x3F, 0x5C, 0xF7, 0x5D, 0x09, 0x18, 0xF5, 0xCF, 0xC7, 0xA7, 0xA3, 0xC9, 0x7C, 0xD4, 0x83, + 0xC8, 0x0A, 0xE5, 0xD2, 0x73, 0x79, 0x14, 0xB1, 0x90, 0xFF, 0x92, 0x38, 0x21, 0xD4, 0xBD, 0xBE, + 0x67, 0x66, 0x10, 0x00, 0xC1, 0xBC, 0x86, 0xA0, 0xAE, 0x79, 0xC7, 0xFC, 0x90, 0x99, 0xEB, 0x90, + 0xE3, 0x59, 0xEC, 0x93, 0xC8, 0x77, 0xA1, 0x13, 0x3B, 0xDE, 0xBA, 0xCB, 0x22, 0x7F, 0x15, 0xDF, + 0x99, 0x21, 0x27, 0x32, 0xB6, 0x43, 0x16, 0xBE, 0x4E, 0x62, 0x6D, 0xB1, 0x82, 0x80, 0x4E, 0x54, + 0x00, 0xF0, 0xA1, 0x88, 0xC7, 0x5A, 0xC3, 0x39, 0x1B, 0xCF, 0x5B, 0xEC, 0xF3, 0xE1, 0x7C, 0x3C, + 0xEF, 0x12, 0x91, 0x6F, 0xC7, 0x8B, 0x2F, 0xA6, 0x97, 0x0B, 0xF6, 0xED, 0x70, 0x36, 0x1B, 0x4E, + 0x16, 0xE3, 0xD1, 0x9C, 0x4D, 0x67, 0xEC, 0x74, 0x3A, 0x39, 0x1B, 0x2F, 0xC6, 0xD3, 0x09, 0x3E, + 0x3D, 0x63, 0xC3, 0xC9, 0xF7, 0xEC, 0xAB, 0xF1, 0xE4, 0xAC, 0xCB, 0xB8, 0x03, 0x16, 0x21, 0x6C, + 0x19, 0x84, 0xD0, 0x80, 0xC4, 0x74, 0xC8, 0x96, 0xDC, 0x16, 0x86, 0x9B, 0x73, 0x5E, 0x10, 0x61, + 0xE5, 0x4B, 0x91, 0xA2, 0x80, 0x5B, 0xCE, 0xCA, 0xB1, 0xA0, 0x9A, 0xB7, 0x4E, 0xCC, 0x35, 0x67, + 0x6B, 0xFF, 0x96, 0x87, 0x1E, 0x34, 0x62, 0x01, 0x0F, 0x37, 0x4E, 0x44, 0x73, 0x1A, 0x41, 0x40, + 0x9B, 0xC8, 0xB8, 0xCE, 0xC6, 0x89, 0xCD, 0x98, 0x86, 0xAA, 0x7A, 0x11, 0xA3, 0xFE, 0x1B, 0xB7, + 0x66, 0xC8, 0x96, 0x4B, 0xFE, 0x32, 0xE6, 0x9E, 0x1D, 0xB1, 0x13, 0xD6, 0x11, 0xF3, 0xFC, 0xF6, + 0xDB, 0x62, 0xBE, 0x8D, 0xF4, 0xC9, 0x11, 0xFB, 0xED, 0x37, 0xD6, 0x59, 0x25, 0x9E, 0x45, 0xD4, + 0x58, 0xE7, 0x88, 0xBD, 0x7A, 0x83, 0xE1, 0x87, 0xD0, 0x25, 0xC8, 0x9C, 0x18, 0x59, 0x44, 0x22, + 0x83, 0xB2, 0xBB, 0xEC, 0x5A, 0x40, 0xCA, 0x9F, 0x0A, 0xE4, 0xF4, 0xFA, 0x67, 0x6E, 0xC5, 0x46, + 0xC4, 0xE3, 0x8B, 0xD0, 0x8F, 0xFD, 0xF8, 0x3E, 0xE0, 0xD3, 0x15, 0x38, 0x01, 0x21, 0xFB, 0xE9, + 0xBC, 0x82, 0x80, 0x01, 0x3D, 0x5F, 0x2E, 0x07, 0xEC, 0xC7, 0x9F, 0xD8, 0x16, 0xF3, 0x18, 0xC5, + 0xE4, 0x75, 0xF0, 0xA4, 0x61, 0x18, 0x9A, 0xF7, 0x90, 0xB7, 0xCA, 0x95, 0xD9, 0x46, 0x8A, 0x07, + 0x5E, 0xD7, 0xC7, 0x6C, 0x7B, 0x54, 0xA2, 0x5D, 0x45, 0x12, 0x96, 0xEE, 0x90, 0x56, 0x01, 0xB8, + 0xD0, 0x90, 0xB3, 0x62, 0x9D, 0x6B, 0xE3, 0xC6, 0x8C, 0xA6, 0x77, 0x1E, 0xA4, 0x84, 0x95, 0xE3, + 0xFB, 0x4E, 0x70, 0x74, 0xC4, 0xEC, 0x1F, 0x83, 0x9F, 0x88, 0x2E, 0xFE, 0x80, 0xF4, 0x71, 0x4A, + 0x37, 0xE4, 0x71, 0x12, 0x7A, 0x45, 0x5D, 0x25, 0x79, 0x01, 0x43, 0xA0, 0x19, 0xD8, 0xBE, 0xC6, + 0xD2, 0x04, 0x2A, 0x82, 0x2F, 0x97, 0x34, 0x17, 0x72, 0xB6, 0x2C, 0x1F, 0x76, 0x09, 0x13, 0x2B, + 0xF6, 0x43, 0x08, 0x66, 0x43, 0xAA, 0x14, 0xDE, 0x36, 0x02, 0x6D, 0x61, 0x92, 0x99, 0x9D, 0x9C, + 0x9C, 0x30, 0x2F, 0x71, 0x5D, 0xF6, 0xA9, 0x9E, 0x04, 0x2B, 0xE4, 0x66, 0xCC, 0x3B, 0x10, 0x61, + 0xC0, 0x3A, 0xCB, 0x65, 0x11, 0x3E, 0xFB, 0xD4, 0x65, 0x1E, 0xBF, 0x13, 0x5C, 0x33, 0x75, 0xB6, + 0x47, 0x1D, 0x7C, 0x90, 0x9E, 0x64, 0xC2, 0x03, 0xD7, 0x5E, 0xC5, 0x91, 0xF4, 0x03, 0xE1, 0x47, + 0x55, 0x37, 0xCA, 0xF0, 0xB4, 0x38, 0xF2, 0x73, 0x1E, 0xBA, 0x13, 0xE7, 0xAC, 0x93, 0xCD, 0x53, + 0xD4, 0x65, 0x0E, 0xD0, 0xDE, 0x85, 0x60, 0xF8, 0x63, 0x86, 0xEB, 0x64, 0xC3, 0xBD, 0x38, 0x32, + 0x5C, 0xEE, 0xAD, 0xE3, 0x9B, 0x63, 0x3C, 0xFC, 0x98, 0x79, 0xF8, 0xF3, 0xCE, 0x3B, 0x12, 0x3D, + 0xFB, 0x89, 0xF2, 0xF0, 0x3F, 0x3A, 0x3F, 0x1D, 0xE7, 0x9F, 0x96, 0x1C, 0x21, 0x92, 0x8E, 0x20, + 0x85, 0xCB, 0xAC, 0x51, 0xF2, 0x0B, 0xC3, 0x32, 0x5D, 0xB7, 0x03, 0x89, 0xE0, 0x1F, 0x8A, 0x58, + 0xF6, 0x13, 0x4B, 0x7F, 0x89, 0xF0, 0x27, 0xE3, 0xB4, 0x2D, 0xBB, 0x4D, 0x5C, 0xE3, 0x24, 0xA9, + 0x79, 0x0C, 0x0A, 0x6E, 0xF7, 0xC2, 0xB2, 0xDD, 0x4C, 0x74, 0xD8, 0x1E, 0xE0, 0x4A, 0x34, 0x9B, + 0xAF, 0x1C, 0x8F, 0xA7, 0x8E, 0x8A, 0xF8, 0xE2, 0x87, 0x31, 0xA0, 0x5B, 0x58, 0xCA, 0xD1, 0xD7, + 0xBE, 0x9D, 0xB8, 0xBC, 0xD5, 0x65, 0xAF, 0xB0, 0x70, 0xDD, 0x84, 0x0F, 0x18, 0xDC, 0x85, 0xB3, + 0x2D, 0x28, 0x28, 0x40, 0xE3, 0x99, 0x4A, 0x44, 0x33, 0xBE, 0xF1, 0x63, 0x7E, 0xEA, 0x7B, 0x2B, + 0x67, 0x3D, 0x0A, 0x43, 0xE1, 0x51, 0x1A, 0x26, 0xFF, 0x6C, 0x18, 0x38, 0xA7, 0xAE, 0x03, 0x31, + 0xF0, 0xFC, 0xD6, 0x77, 0x6C, 0xF6, 0x54, 0x7A, 0x82, 0x19, 0x38, 0x4B, 0x0A, 0xCB, 0x3C, 0x8A, + 0x97, 0xEF, 0xE2, 0x99, 0x0A, 0xD1, 0x9D, 0x96, 0x61, 0xF4, 0x93, 0xD8, 0x71, 0xA3, 0x3E, 0x20, + 0x7A, 0x0A, 0xA2, 0xA5, 0xDC, 0x87, 0x13, 0xA3, 0x06, 0x70, 0xF1, 0x4C, 0x03, 0x8A, 0xA1, 0x5A, + 0x30, 0x07, 0x61, 0xEE, 0xA5, 0x02, 0x23, 0x25, 0x1D, 0xDB, 0x94, 0xCB, 0xA1, 0x0A, 0x9A, 0x3E, + 0xD5, 0xE0, 0x36, 0xE7, 0xC1, 0x92, 0x52, 0x54, 0x83, 0x08, 0xF4, 0xBC, 0x47, 0xCF, 0x09, 0xA1, + 0xDF, 0x67, 0xD2, 0x0E, 0x4C, 0x1A, 0x82, 0x5D, 0x9B, 0xD6, 0x0B, 0x2C, 0x58, 0x26, 0x56, 0xA1, + 0x89, 0x79, 0x11, 0x34, 0x9F, 0x8D, 0x67, 0x23, 0xE4, 0x88, 0xD1, 0x72, 0x36, 0xFA, 0x7A, 0xBA, + 0x18, 0x2D, 0x91, 0x0F, 0x9E, 0x8D, 0x9F, 0x2F, 0xBF, 0x79, 0x77, 0x39, 0xBC, 0x18, 0x83, 0x4B, + 0x9B, 0x72, 0x5E, 0x84, 0xA4, 0xA7, 0x2B, 0x80, 0x50, 0x10, 0xB5, 0x04, 0x4D, 0x63, 0x2D, 0x32, + 0xBB, 0x19, 0x88, 0xC5, 0xBD, 0xE9, 0xDF, 0xBE, 0xDB, 0x3E, 0xDE, 0x45, 0xF5, 0x8B, 0xD1, 0xF0, + 0x6C, 0x34, 0x9B, 0x83, 0xAC, 0xF4, 0xF4, 0xF6, 0x77, 0x3D, 0x3D, 0x9F, 0x3D, 0x39, 0x4B, 0xED, + 0x01, 0x6B, 0x81, 0x93, 0xAA, 0x33, 0x7A, 0x9E, 0x6F, 0xF3, 0x7E, 0x8B, 0xBD, 0x23, 0x0D, 0x6A, + 0xAC, 0x79, 0x3C, 0xB7, 0x5F, 0xA8, 0xCA, 0xA0, 0x73, 0xD4, 0x15, 0x44, 0xA0, 0xE8, 0x02, 0xA9, + 0x4A, 0xE4, 0x41, 0x93, 0xBD, 0xF0, 0xFC, 0x3B, 0x0F, 0xFF, 0x46, 0x09, 0x17, 0xE9, 0xF4, 0xC6, + 0xB1, 0x64, 0xDE, 0x1F, 0x2D, 0xCC, 0x35, 0xC6, 0x45, 0xBD, 0x10, 0x08, 0xF7, 0x73, 0xEF, 0x95, + 0xFF, 0x72, 0x5B, 0x14, 0x0B, 0x90, 0x22, 0x02, 0x02, 0x48, 0x09, 0x04, 0x35, 0xF7, 0x9A, 0x87, + 0xED, 0x73, 0x81, 0xAC, 0x72, 0xDC, 0xBD, 0xA8, 0x16, 0x36, 0x22, 0x3B, 0x52, 0xA8, 0x10, 0xAB, + 0x8D, 0x9D, 0x26, 0x61, 0x08, 0x2D, 0xDC, 0x7B, 0x2C, 0x7A, 0x54, 0x20, 0x3A, 0xF3, 0xEB, 0xEC, + 0x6E, 0xB9, 0x89, 0x2D, 0x89, 0xDF, 0x70, 0x13, 0xE9, 0x4E, 0xD3, 0xBE, 0x1A, 0x5A, 0x54, 0xB2, + 0xF4, 0x46, 0x9E, 0xE5, 0xDB, 0xC8, 0x95, 0x03, 0xB6, 0xFE, 0xD5, 0x09, 0xAE, 0x28, 0xEB, 0x12, + 0x3E, 0x1C, 0x01, 0x44, 0x49, 0x46, 0x2C, 0x5F, 0x2D, 0x57, 0x64, 0x68, 0xEC, 0xF2, 0x0C, 0xA9, + 0x59, 0x11, 0x33, 0x62, 0xFB, 0x56, 0xD4, 0x97, 0x53, 0xD6, 0x93, 0x73, 0xD6, 0x4F, 0x22, 0xFD, + 0x6F, 0x2F, 0x04, 0x9D, 0xB7, 0x78, 0x6C, 0xAE, 0x97, 0x49, 0x84, 0x64, 0xBD, 0x44, 0x5A, 0x5E, + 0x22, 0xAE, 0x58, 0xDC, 0x5E, 0x26, 0x01, 0x5C, 0x8F, 0x47, 0x72, 0x9A, 0x4A, 0xE2, 0x61, 0x92, + 0xDA, 0x24, 0x60, 0xBB, 0x4B, 0x0B, 0xBB, 0xFF, 0xE4, 0x89, 0xA8, 0xF9, 0x5C, 0xC4, 0x00, 0xE8, + 0x66, 0xC6, 0x6C, 0x65, 0x5A, 0x8E, 0x4B, 0x89, 0x1D, 0x16, 0x8B, 0xB8, 0x47, 0x28, 0xA9, 0xD4, + 0x30, 0x84, 0x30, 0x80, 0x9E, 0xF7, 0x06, 0x27, 0x85, 0xF3, 0xE9, 0x5A, 0xF1, 0xB3, 0x20, 0x74, + 0x6E, 0x41, 0x2B, 0x2D, 0x07, 0x9A, 0x96, 0x77, 0xFF, 0x09, 0x80, 0x2D, 0x12, 0x03, 0x90, 0x75, + 0xC5, 0x80, 0x1E, 0xA9, 0xA7, 0xD0, 0x41, 0xF0, 0xCA, 0x85, 0x60, 0x99, 0x17, 0x30, 0x06, 0xCA, + 0xF8, 0x9D, 0x86, 0x44, 0x11, 0x67, 0xDF, 0x4C, 0xD7, 0xA6, 0xE1, 0x44, 0x13, 0xDF, 0x9B, 0x20, + 0x55, 0x89, 0x00, 0x27, 0xA8, 0x88, 0x24, 0xF2, 0x66, 0xA7, 0xED, 0x07, 0xA2, 0xB4, 0x69, 0xD3, + 0xCC, 0xD1, 0xB0, 0xA6, 0x9E, 0x71, 0x08, 0xFD, 0x3B, 0x91, 0xAF, 0x1A, 0xA3, 0x5A, 0xA7, 0xED, + 0x78, 0x82, 0x57, 0x4F, 0x87, 0xD3, 0x76, 0x97, 0xB5, 0x01, 0x1E, 0xC5, 0x69, 0x80, 0x65, 0x01, + 0x54, 0x96, 0x2E, 0x26, 0x56, 0x8D, 0x11, 0xE6, 0xA8, 0x40, 0xF9, 0x4D, 0x02, 0xE0, 0x6B, 0x14, + 0xB2, 0x32, 0xDE, 0xA4, 0xCC, 0x48, 0xA6, 0xB4, 0x54, 0x31, 0xDA, 0x47, 0xA5, 0xA8, 0x9F, 0x19, + 0x81, 0x1C, 0x4C, 0x5B, 0x99, 0xC4, 0x2D, 0x06, 0x4F, 0x63, 0x98, 0xC4, 0x37, 0x7E, 0xE8, 0xFC, + 0xCA, 0xED, 0x2F, 0x00, 0x98, 0x19, 0x13, 0x04, 0x53, 0x62, 0xF5, 0x26, 0xCF, 0x12, 0x15, 0x2D, + 0xED, 0x05, 0x47, 0x85, 0x89, 0x89, 0x2E, 0x94, 0x68, 0x79, 0x9B, 0x89, 0x0C, 0x4E, 0x12, 0x01, + 0x82, 0xFE, 0x94, 0x6B, 0x1A, 0x31, 0x48, 0x94, 0x2E, 0x43, 0xB7, 0x53, 0x4C, 0x70, 0x06, 0x7C, + 0xCE, 0xCB, 0xB9, 0x44, 0x12, 0xBA, 0x19, 0xE5, 0x8C, 0xBA, 0x52, 0x4A, 0x06, 0xA8, 0xD2, 0xCF, + 0x86, 0x43, 0x4D, 0x1B, 0xAE, 0xFF, 0x7C, 0xB4, 0x68, 0x77, 0x2B, 0x8F, 0x41, 0x71, 0x40, 0xBF, + 0x10, 0xAC, 0x5A, 0xFD, 0xFC, 0x0C, 0xB4, 0x2A, 0xB0, 0x6A, 0xF5, 0x47, 0x83, 0x07, 0xE2, 0x64, + 0x1E, 0x2F, 0x5F, 0xC1, 0xE5, 0x33, 0x6F, 0x69, 0x82, 0x0C, 0x5A, 0x6F, 0x1D, 0xA5, 0x46, 0x7E, + 0x46, 0x77, 0x9B, 0x03, 0x81, 0x80, 0x7C, 0xBF, 0x99, 0x43, 0xEC, 0xE7, 0x27, 0x50, 0xCF, 0x94, + 0xC0, 0xDB, 0xC1, 0xC5, 0x32, 0x63, 0xEB, 0x26, 0xC7, 0x06, 0x39, 0xB2, 0x76, 0x0D, 0xA4, 0x4C, + 0xB4, 0x6B, 0x0A, 0xDF, 0x27, 0xF0, 0x3C, 0xF1, 0xB4, 0xA0, 0x3B, 0xD4, 0xA1, 0x86, 0xB1, 0x4A, + 0x19, 0x05, 0xCF, 0xBA, 0x95, 0x63, 0x93, 0x64, 0x73, 0xCD, 0xC3, 0xFD, 0xDC, 0x8C, 0x9E, 0x60, + 0xD5, 0x9B, 0xE4, 0x1F, 0xAC, 0x80, 0x3F, 0x90, 0xBE, 0xA7, 0xC2, 0x02, 0xFF, 0x26, 0xFF, 0xAC, + 0xCC, 0x69, 0xFB, 0x6F, 0xF7, 0xDB, 0x0A, 0xA2, 0x30, 0xDA, 0x40, 0xFC, 0xFE, 0xDF, 0xA7, 0xFF, + 0x80, 0x4F, 0x6B, 0xF7, 0xAA, 0x8D, 0x94, 0xB1, 0x1A, 0xDC, 0xCF, 0x95, 0xE3, 0x94, 0x44, 0xD1, + 0x73, 0xC7, 0x5E, 0x90, 0xC4, 0x75, 0x76, 0xC9, 0xE8, 0xD7, 0xBA, 0xAF, 0x98, 0xA4, 0x0B, 0xA0, + 0xCA, 0x69, 0x4A, 0xA1, 0xBB, 0x29, 0x27, 0x83, 0x0A, 0x8D, 0xAE, 0xA8, 0xE8, 0x0F, 0x9F, 0xB8, + 0x7E, 0x5F, 0x17, 0xCB, 0x54, 0x4C, 0x98, 0x29, 0x51, 0x25, 0x42, 0x44, 0x2D, 0x0F, 0xA2, 0x9F, + 0xF5, 0x79, 0xA2, 0x64, 0xB5, 0x72, 0x5E, 0xB2, 0xDE, 0x53, 0x2C, 0x00, 0xD3, 0x93, 0x95, 0x09, + 0x35, 0x8D, 0x42, 0x26, 0x4B, 0x9B, 0x32, 0xF9, 0x3B, 0x33, 0x02, 0x8E, 0x65, 0xA1, 0x9E, 0x5B, + 0x21, 0x9B, 0xDF, 0x6B, 0x7E, 0xE8, 0x78, 0xB0, 0x6F, 0x41, 0x8E, 0xC7, 0x44, 0x96, 0x98, 0xC8, + 0x2A, 0x45, 0x17, 0x32, 0xC8, 0x7C, 0x6B, 0xC7, 0x33, 0x5D, 0xF1, 0x44, 0xF5, 0x8E, 0xA4, 0x78, + 0x55, 0x26, 0xC0, 0xA1, 0x12, 0xCE, 0xBF, 0xC3, 0xB4, 0x41, 0x6C, 0x20, 0xA3, 0x0C, 0x95, 0xFD, + 0x0F, 0xA3, 0x00, 0xBA, 0x2C, 0xCC, 0xC9, 0x08, 0x94, 0x85, 0x55, 0x0C, 0xB5, 0x00, 0x7F, 0x6C, + 0x13, 0xB3, 0xF6, 0x4F, 0x47, 0xC7, 0xAF, 0xE5, 0xDD, 0xA5, 0x39, 0xF9, 0x87, 0x3A, 0x7B, 0x90, + 0x5C, 0xBB, 0x4E, 0x74, 0xB3, 0xD3, 0xD7, 0xBB, 0x4C, 0xD5, 0x58, 0x7F, 0xA1, 0xD3, 0x13, 0x79, + 0x67, 0xF5, 0x35, 0x59, 0x06, 0x74, 0x0A, 0x96, 0x2C, 0x16, 0x89, 0x52, 0x34, 0xD1, 0x63, 0x50, + 0xFF, 0x1A, 0xA2, 0xB8, 0x46, 0x73, 0x43, 0xAC, 0x82, 0xAA, 0x8F, 0x93, 0x97, 0x09, 0x07, 0xBF, + 0x1A, 0xAF, 0x7A, 0x82, 0xC3, 0x80, 0x3D, 0xB9, 0x62, 0x02, 0x8B, 0x3C, 0xB8, 0x54, 0x2D, 0xA7, + 0xCC, 0xC9, 0xAF, 0xAE, 0xB9, 0x72, 0x6C, 0xBB, 0x4C, 0xD4, 0xA4, 0x4D, 0x9F, 0x13, 0x5A, 0xC9, + 0xE6, 0x16, 0x16, 0x4E, 0x37, 0x43, 0x5D, 0x7A, 0x20, 0x3E, 0x91, 0xCD, 0xB9, 0xB4, 0xEC, 0x2A, + 0xF4, 0x37, 0x72, 0xA9, 0x38, 0x62, 0x9B, 0x74, 0xEB, 0xD8, 0xBC, 0xE4, 0x9B, 0x99, 0xEE, 0xED, + 0x27, 0xED, 0xDC, 0xEC, 0x1E, 0x16, 0x15, 0x14, 0x95, 0xC3, 0x23, 0xC1, 0xBE, 0x4E, 0xFE, 0x0F, + 0xF5, 0xEA, 0xD0, 0x77, 0x5D, 0x0A, 0x1F, 0xFF, 0xED, 0x52, 0xE4, 0x62, 0x3A, 0x3F, 0xA8, 0x16, + 0x19, 0x68, 0xB3, 0xFD, 0x5F, 0x94, 0xFC, 0xE3, 0x3C, 0x1A, 0x41, 0x5A, 0xD7, 0xD7, 0xC5, 0xEE, + 0xFA, 0x41, 0xA1, 0x99, 0x02, 0x26, 0x91, 0x43, 0x02, 0xD5, 0x71, 0xF3, 0xCD, 0x13, 0x84, 0x98, + 0xC4, 0x93, 0x1D, 0x43, 0xBB, 0x5D, 0x52, 0x48, 0x83, 0x95, 0x63, 0xF9, 0x79, 0x4E, 0x9C, 0xA9, + 0x04, 0xD1, 0x92, 0xE4, 0x75, 0xFC, 0x7B, 0xFC, 0xFE, 0xC0, 0x12, 0x7C, 0x90, 0xB7, 0xED, 0xE3, + 0xBB, 0xBE, 0x32, 0xCB, 0x3F, 0xC2, 0xFB, 0x45, 0x79, 0x43, 0x62, 0xFD, 0x33, 0x9D, 0xBC, 0x98, + 0xC7, 0x1A, 0x6A, 0x11, 0x59, 0xE0, 0x6A, 0x47, 0x9C, 0x7A, 0xEE, 0xFD, 0x7E, 0xBE, 0x2F, 0xBA, + 0xF8, 0x66, 0x2C, 0x52, 0x6A, 0x7E, 0xFA, 0xDB, 0xC5, 0xE5, 0x51, 0x21, 0x9C, 0xFD, 0x48, 0xF4, + 0x77, 0x80, 0xFF, 0xA9, 0x86, 0x5A, 0xFA, 0x00, 0x3B, 0xA1, 0x3A, 0xE3, 0xC1, 0x24, 0xFD, 0xA7, + 0xBB, 0xFD, 0xC5, 0xE5, 0x83, 0x6E, 0xDF, 0xC2, 0x6F, 0x52, 0xA2, 0xD9, 0xC9, 0xD3, 0x53, 0x86, + 0x4E, 0xFA, 0xCF, 0xAB, 0x6D, 0xF7, 0x01, 0xD7, 0x3F, 0xA2, 0xB3, 0x84, 0xB6, 0xAE, 0xA6, 0xDA, + 0x03, 0x31, 0x47, 0x98, 0xFC, 0x86, 0x25, 0x21, 0x94, 0xA8, 0xFE, 0x58, 0x3E, 0x9A, 0x98, 0x62, + 0xAD, 0x0C, 0xB2, 0x82, 0x2F, 0x1B, 0xCC, 0x88, 0x15, 0xA7, 0x24, 0x34, 0x61, 0x01, 0x12, 0x3D, + 0x43, 0x4A, 0x07, 0x1F, 0x42, 0x7A, 0x1E, 0xFA, 0x49, 0x50, 0xC6, 0xCC, 0x9E, 0x34, 0xA0, 0xAB, + 0xF4, 0x9E, 0x43, 0x53, 0x23, 0x55, 0xF0, 0xED, 0xA3, 0x2E, 0xFB, 0x83, 0x16, 0x93, 0xF4, 0xB7, + 0x72, 0x9B, 0xAF, 0xDE, 0x35, 0xC5, 0xD1, 0x2B, 0x35, 0x56, 0xC7, 0xF6, 0x45, 0x88, 0x4C, 0xF0, + 0xF2, 0x01, 0x37, 0x0D, 0x8A, 0xD0, 0xF5, 0xD1, 0x66, 0xF7, 0xA9, 0x47, 0xEA, 0x8F, 0x25, 0x5A, + 0x7F, 0x44, 0xDF, 0x92, 0x12, 0xAF, 0xD1, 0xE2, 0xA4, 0x08, 0x20, 0x4C, 0xB2, 0x9F, 0x86, 0x60, + 0xB8, 0x71, 0x70, 0x16, 0x80, 0xB8, 0xEA, 0xBB, 0xB7, 0xBC, 0x16, 0x75, 0x47, 0x3E, 0x54, 0x07, + 0x2E, 0xC8, 0xBC, 0x76, 0x2A, 0x7A, 0x47, 0x77, 0xC4, 0xF7, 0x9C, 0x01, 0x2D, 0xD9, 0xAE, 0xC6, + 0xF9, 0x68, 0x13, 0xC4, 0xF7, 0xF3, 0x38, 0xC4, 0xA6, 0x27, 0x87, 0xA8, 0x31, 0x0F, 0x6E, 0x96, + 0x27, 0x9E, 0x38, 0xFF, 0xE9, 0x71, 0xFA, 0x28, 0x3A, 0xE5, 0xA6, 0xE3, 0xCA, 0xD6, 0xB8, 0x4D, + 0x6B, 0x67, 0x83, 0x4A, 0x42, 0x4F, 0x2B, 0x1B, 0x9F, 0x19, 0xB8, 0x93, 0x82, 0x25, 0x0C, 0x91, + 0x7E, 0x95, 0xC7, 0x32, 0xF3, 0xB3, 0xAF, 0x64, 0x07, 0x01, 0xE7, 0x5C, 0xB7, 0x0E, 0xB6, 0x6A, + 0xA6, 0x65, 0xF9, 0x09, 0x36, 0x4D, 0x16, 0xCE, 0x70, 0xB8, 0x47, 0xA0, 0x51, 0x97, 0x8E, 0x65, + 0xDA, 0xB5, 0xCB, 0xEF, 0x1D, 0xD6, 0xC6, 0x0E, 0x2E, 0xC7, 0x80, 0x99, 0xA2, 0x33, 0x01, 0x9B, + 0xA9, 0x64, 0x6B, 0xB0, 0xA1, 0x0B, 0x39, 0x3C, 0x6C, 0xFA, 0x6F, 0x39, 0x8E, 0x89, 0xD2, 0xBE, + 0xC2, 0xF3, 0xE9, 0xF4, 0xF9, 0x39, 0x1C, 0xF1, 0x7C, 0x7A, 0x79, 0xB6, 0xBC, 0x98, 0x4D, 0xBF, + 0x1C, 0x9D, 0x2E, 0x9A, 0xB9, 0x70, 0xEF, 0xD6, 0x09, 0x7D, 0x8F, 0xBA, 0xFF, 0xE4, 0x32, 0x0E, + 0xAE, 0x93, 0xC8, 0x0E, 0x7E, 0xF3, 0x0A, 0x5F, 0x4A, 0x0F, 0xA8, 0xF8, 0x61, 0x4B, 0x0D, 0x45, + 0x45, 0x97, 0xDF, 0x11, 0x0F, 0x1E, 0x6B, 0x59, 0x94, 0x12, 0x34, 0x64, 0x69, 0xCC, 0xED, 0xCE, + 0x4A, 0x0C, 0xE5, 0x2E, 0x56, 0xE8, 0xB3, 0x58, 0x43, 0x0A, 0xC1, 0xED, 0x02, 0xAD, 0xFA, 0x45, + 0x41, 0x38, 0x65, 0x97, 0xCF, 0xF2, 0x58, 0x14, 0xF8, 0x74, 0x95, 0xE5, 0x84, 0xA0, 0x0C, 0xFD, + 0xB1, 0x74, 0xEC, 0xA3, 0x87, 0xE1, 0xBC, 0x5F, 0x46, 0x74, 0x04, 0x59, 0xCF, 0xE8, 0x50, 0x37, + 0x6D, 0x5D, 0x7A, 0x38, 0xBB, 0x86, 0x4D, 0xB9, 0x9D, 0x0A, 0xA2, 0xFC, 0x10, 0xA7, 0x68, 0x09, + 0xD2, 0x00, 0xCD, 0x4D, 0xCA, 0x5C, 0x0E, 0x52, 0x98, 0x12, 0x5B, 0xF8, 0x6B, 0xDF, 0xBE, 0x2F, + 0x41, 0xC4, 0xB8, 0x9C, 0x71, 0xD4, 0xA4, 0x2A, 0x97, 0xD6, 0xCE, 0xA0, 0x29, 0xF5, 0x19, 0x62, + 0x94, 0x0E, 0xAE, 0x5E, 0x6D, 0x8B, 0x95, 0x09, 0xCE, 0xFC, 0xC8, 0x2A, 0x25, 0xA1, 0x8B, 0x86, + 0x11, 0x63, 0x52, 0x2E, 0xD1, 0xEF, 0xC8, 0x7F, 0xA6, 0xD3, 0xAF, 0xD1, 0x6C, 0x36, 0x9D, 0x21, + 0xCA, 0x9E, 0x8D, 0x96, 0x5F, 0x0F, 0x2F, 0x2E, 0xC6, 0x93, 0xE7, 0x25, 0xC3, 0x69, 0x2E, 0x55, + 0xC0, 0x1F, 0xF3, 0xB4, 0x7E, 0x6A, 0xD2, 0x69, 0x83, 0xB6, 0x1D, 0x5D, 0x37, 0x3A, 0x51, 0xAC, + 0xD5, 0x67, 0xD2, 0xA7, 0x75, 0x29, 0x05, 0x17, 0x6B, 0x9A, 0x2B, 0xF5, 0x6B, 0xEC, 0x75, 0xFC, + 0xC6, 0x41, 0x93, 0x48, 0x02, 0x77, 0x35, 0xDF, 0xA2, 0xE3, 0x8B, 0x13, 0x51, 0xFC, 0xD0, 0xA9, + 0xA8, 0xB8, 0xB5, 0x42, 0x07, 0xD3, 0x75, 0xDB, 0x3A, 0xDD, 0x6E, 0xE1, 0x74, 0xDE, 0x99, 0x49, + 0xA3, 0x91, 0xC7, 0x2B, 0xDD, 0x82, 0xC1, 0xED, 0x1A, 0x0B, 0xA7, 0x78, 0xFE, 0x66, 0x14, 0xCB, + 0x53, 0xEC, 0x04, 0x07, 0x7E, 0x62, 0x35, 0xA0, 0x38, 0x52, 0x4D, 0x47, 0x51, 0xDA, 0xE4, 0x4F, + 0xB4, 0x1B, 0x09, 0x6B, 0xFA, 0x9F, 0x89, 0x9A, 0x82, 0xBD, 0xA2, 0x63, 0xBB, 0x99, 0x82, 0xD9, + 0x0A, 0xE8, 0x02, 0x1A, 0xF3, 0xE5, 0xD5, 0x8D, 0x32, 0x5A, 0x24, 0xC2, 0xF6, 0x36, 0x2F, 0xD9, + 0x50, 0x7D, 0x90, 0xB2, 0xC4, 0x3E, 0x68, 0x40, 0x51, 0x8B, 0x67, 0xF2, 0xAD, 0x6A, 0x14, 0x66, + 0x1D, 0xB9, 0x51, 0x33, 0xDD, 0x23, 0xCD, 0xA4, 0xBF, 0x67, 0x04, 0xC9, 0x43, 0xD4, 0x76, 0x0A, + 0x89, 0x47, 0xDE, 0x78, 0xA5, 0x64, 0x2B, 0x85, 0x3A, 0xD1, 0x7B, 0xCF, 0xBC, 0x2E, 0xE5, 0xDD, + 0xE7, 0xA7, 0xAC, 0xAE, 0x05, 0xCB, 0x06, 0x39, 0x9C, 0xCC, 0x85, 0xAA, 0xFD, 0x5B, 0x02, 0xAF, + 0xB4, 0xCE, 0xB5, 0x30, 0xD5, 0x3A, 0x33, 0xDB, 0x10, 0x55, 0x0B, 0xCD, 0x6A, 0x81, 0x99, 0x41, + 0x17, 0x2A, 0xCC, 0x5D, 0x95, 0x65, 0x86, 0xB2, 0xBB, 0xB4, 0x24, 0xB9, 0x07, 0xE2, 0x37, 0x8D, + 0x57, 0x4B, 0xCD, 0x8C, 0x4E, 0xB5, 0xD6, 0xDC, 0x36, 0x2E, 0x8B, 0x1B, 0x6E, 0xBD, 0x40, 0x64, + 0x90, 0x8E, 0xBB, 0x46, 0x2E, 0xF4, 0xEA, 0x16, 0x88, 0x76, 0x3D, 0xF2, 0x78, 0x61, 0xCC, 0xD4, + 0x07, 0x17, 0x37, 0xFA, 0x99, 0x3C, 0xDE, 0xBE, 0x31, 0x6F, 0xB9, 0x3A, 0xDE, 0xCE, 0x19, 0x20, + 0xFB, 0x9F, 0xAD, 0xA5, 0x6A, 0x39, 0x13, 0x8B, 0xFE, 0xA7, 0x3E, 0x37, 0xD0, 0x84, 0x85, 0x14, + 0xB7, 0x58, 0xB0, 0x7E, 0x12, 0xA3, 0x27, 0xCC, 0x68, 0x13, 0xA5, 0xAE, 0x8B, 0xC4, 0x0E, 0x86, + 0x69, 0xC1, 0x6A, 0xD5, 0x69, 0x7F, 0x63, 0x92, 0xE2, 0x4D, 0xEB, 0xAA, 0x4E, 0xA3, 0x6D, 0xD6, + 0xB4, 0x1D, 0xEE, 0x52, 0x59, 0xB6, 0x74, 0xB3, 0x43, 0x88, 0x0A, 0x0F, 0x75, 0xF0, 0xD1, 0xC4, + 0x65, 0x71, 0x93, 0x43, 0xDE, 0xC5, 0xE8, 0xB0, 0x15, 0xF7, 0x60, 0xC7, 0x7C, 0xAF, 0x23, 0x29, + 0x3D, 0x4E, 0xF7, 0x84, 0x81, 0x90, 0xBB, 0xD7, 0x64, 0xD0, 0xFF, 0x34, 0x9C, 0xE1, 0xEE, 0x7D, + 0xF3, 0x22, 0x4F, 0xF5, 0xD1, 0xEE, 0x5A, 0xB4, 0xC6, 0x72, 0xAC, 0xA1, 0xF3, 0x2E, 0xF3, 0xC8, + 0x97, 0xF3, 0xE9, 0xC4, 0x90, 0xE1, 0x10, 0x37, 0x83, 0x8A, 0x82, 0x14, 0xD2, 0xF0, 0xBE, 0xA5, + 0x70, 0x9E, 0x82, 0x38, 0x59, 0x78, 0x34, 0x7D, 0xDA, 0xD4, 0xFA, 0xCF, 0x5D, 0x09, 0xF1, 0x7C, + 0x64, 0x74, 0xE2, 0xCC, 0xA4, 0xFC, 0x46, 0x7B, 0x6F, 0x81, 0x1B, 0x4C, 0x9F, 0x8B, 0x40, 0x8F, + 0x27, 0x75, 0xD1, 0xFA, 0x19, 0x87, 0x92, 0x26, 0x74, 0x65, 0x54, 0xF9, 0xF5, 0x23, 0xEA, 0x21, + 0xC2, 0xE2, 0x9F, 0xAF, 0x8C, 0x8C, 0x51, 0x7F, 0x5C, 0x25, 0x71, 0xE5, 0xB8, 0xA0, 0x4A, 0x96, + 0x42, 0xFE, 0x34, 0x2D, 0x52, 0x0E, 0xA9, 0xFC, 0x62, 0xE3, 0x43, 0xA2, 0x34, 0x89, 0x9D, 0x26, + 0xDD, 0xBC, 0xA8, 0x3A, 0x89, 0x54, 0xBA, 0xBF, 0xD5, 0xC3, 0x32, 0xFE, 0x52, 0xDC, 0xA7, 0x6B, + 0x08, 0xD5, 0x22, 0xBA, 0xBF, 0x40, 0x34, 0xA1, 0x14, 0x23, 0x1F, 0x3A, 0x14, 0xB4, 0x34, 0x08, + 0x4A, 0x66, 0x1C, 0x6D, 0x59, 0xA1, 0x23, 0x4A, 0x8F, 0x3C, 0xED, 0x5A, 0x79, 0xA8, 0xC1, 0x95, + 0x47, 0x18, 0xD4, 0x42, 0x19, 0x39, 0x08, 0xB6, 0x6D, 0xDE, 0x5E, 0x17, 0x90, 0x1F, 0x4E, 0x92, + 0xA6, 0x4A, 0x91, 0x5A, 0x16, 0x4F, 0x1C, 0xDF, 0x54, 0xB3, 0xE2, 0xB0, 0x0C, 0x91, 0x4D, 0x05, + 0x94, 0x8F, 0xF9, 0x1A, 0x43, 0xF4, 0xC2, 0x81, 0x5A, 0xEB, 0x18, 0xA3, 0xE1, 0x0F, 0x3F, 0xA0, + 0x13, 0xC6, 0x8D, 0x19, 0xE7, 0x0A, 0x4F, 0x49, 0xB8, 0xAB, 0xC4, 0x15, 0x67, 0x8F, 0x0A, 0x09, + 0x43, 0x74, 0xE9, 0x91, 0x7B, 0xF2, 0xE2, 0xBE, 0x2A, 0x3E, 0xD3, 0x42, 0xB5, 0x24, 0x41, 0x53, + 0x6A, 0x94, 0xB4, 0x7E, 0x93, 0x40, 0xDB, 0xE2, 0x01, 0x56, 0x45, 0x8D, 0xFD, 0x73, 0xA1, 0x24, + 0x5B, 0xCA, 0x7E, 0x65, 0x6A, 0x66, 0x94, 0x5A, 0xE0, 0xF5, 0x92, 0x5F, 0xE1, 0x48, 0xAD, 0xF9, + 0x20, 0xAF, 0x9B, 0xBA, 0xDA, 0x04, 0x0B, 0xBC, 0xBC, 0x9D, 0xCD, 0x3F, 0x43, 0xAD, 0xA9, 0x6F, + 0x27, 0x03, 0x2C, 0x8F, 0x26, 0x76, 0x5E, 0x05, 0xAA, 0xED, 0xE3, 0x03, 0xF2, 0x48, 0xE9, 0xB8, + 0xEF, 0xED, 0xB7, 0x0B, 0x7E, 0x5E, 0xC0, 0xAC, 0x3B, 0x20, 0x7C, 0xB4, 0x60, 0x91, 0xD7, 0x88, + 0xF6, 0xAD, 0x8D, 0x09, 0xA8, 0xEA, 0x94, 0xC2, 0x61, 0xD5, 0xD4, 0xB5, 0x9A, 0x03, 0xA0, 0x10, + 0x98, 0xF4, 0x18, 0x4B, 0x3F, 0xEF, 0xD4, 0xEA, 0xF3, 0x17, 0x28, 0xB4, 0xD7, 0x4A, 0x6B, 0xED, + 0x6A, 0xBD, 0x15, 0x44, 0xC6, 0x1E, 0x47, 0xCD, 0xE5, 0x61, 0xCD, 0x95, 0xFC, 0xDE, 0xA3, 0xD8, + 0x59, 0x91, 0x9B, 0xA0, 0xBD, 0x5D, 0xE8, 0x4F, 0xA8, 0x3E, 0xE4, 0x16, 0x4A, 0x5F, 0xC6, 0x56, + 0xD1, 0x44, 0x6D, 0x58, 0xD5, 0x2E, 0x3D, 0xDB, 0xB3, 0x16, 0xB2, 0xC7, 0xDE, 0x91, 0xF2, 0xAA, + 0xE6, 0x18, 0xF0, 0xAA, 0xB2, 0x9B, 0xA0, 0x40, 0x97, 0xDD, 0xF9, 0xC1, 0xE6, 0x40, 0xEE, 0xD6, + 0x8B, 0x2F, 0x82, 0x29, 0x26, 0xFA, 0xB4, 0x4C, 0x13, 0x31, 0xE5, 0x55, 0x7A, 0xC8, 0x1A, 0xB3, + 0x2B, 0x74, 0x27, 0xC2, 0x78, 0xE1, 0x6C, 0xF8, 0x95, 0x18, 0xBF, 0x42, 0x9B, 0x5C, 0x7C, 0xA2, + 0xC8, 0x35, 0x7B, 0x76, 0xFA, 0xFE, 0xFB, 0xEF, 0x7F, 0xC4, 0x2E, 0x17, 0xA7, 0xAC, 0xF5, 0x43, + 0xE2, 0x26, 0x2D, 0xE5, 0x04, 0x74, 0x09, 0x42, 0x6B, 0xDF, 0x14, 0x27, 0x6B, 0xD4, 0xD8, 0xA6, + 0x92, 0x0C, 0x3D, 0xFD, 0xEF, 0x61, 0x9B, 0x86, 0x06, 0xB2, 0x43, 0xA1, 0x75, 0x39, 0xA0, 0x97, + 0x58, 0xA8, 0x0B, 0x56, 0x50, 0x0E, 0x3A, 0x6F, 0x82, 0x48, 0xD9, 0x00, 0xCC, 0x14, 0x13, 0xC8, + 0x20, 0x54, 0x25, 0x4D, 0xA5, 0xA2, 0xAF, 0xB9, 0xC5, 0x28, 0xC9, 0xB8, 0xEF, 0xF1, 0xB2, 0x1A, + 0xDE, 0xB1, 0xB5, 0xD0, 0x98, 0xFB, 0xEF, 0x2C, 0x14, 0xC2, 0xA3, 0x6E, 0x2C, 0xDA, 0x55, 0xFD, + 0x76, 0x94, 0x7E, 0xC6, 0x83, 0x45, 0x94, 0x92, 0x51, 0x55, 0xAE, 0x6B, 0x3E, 0x47, 0x4F, 0xBB, + 0x5C, 0x44, 0x3D, 0xDC, 0x91, 0x97, 0x41, 0xB3, 0x8E, 0xD6, 0xEB, 0x37, 0xE5, 0xEB, 0x94, 0xD7, + 0x54, 0xF3, 0x1A, 0x0B, 0xDE, 0xD5, 0x2E, 0x76, 0x45, 0xE2, 0x5A, 0x4D, 0x3F, 0x66, 0xEF, 0x52, + 0xB3, 0xAF, 0xF6, 0xD9, 0x27, 0xEC, 0xFD, 0xA7, 0x4F, 0xFF, 0x1A, 0xF1, 0xF1, 0x7F, 0x7C, 0xC7, + 0x11, 0x80, 0xDE, 0xA5, 0x40, 0x40, 0x7C, 0x59, 0x47, 0xBC, 0xF7, 0x11, 0x21, 0x2C, 0x1D, 0x55, + 0x95, 0x3B, 0x6C, 0x4E, 0x17, 0xFE, 0x0B, 0x5E, 0xA9, 0x8C, 0xA9, 0xDF, 0xBA, 0x2B, 0x80, 0xD7, + 0x12, 0x79, 0x3C, 0x37, 0x4E, 0x49, 0x6A, 0x5B, 0xA4, 0x49, 0x4F, 0xBE, 0xC3, 0x75, 0x98, 0xE7, + 0x22, 0x70, 0x16, 0xAB, 0xAB, 0xFD, 0x2E, 0x81, 0xD4, 0xE3, 0x9E, 0xEC, 0xBA, 0x09, 0xB5, 0x0B, + 0x13, 0x6A, 0x95, 0x87, 0x0E, 0xD2, 0x42, 0xA7, 0x83, 0xFD, 0x16, 0x60, 0xA7, 0x16, 0x35, 0x7F, + 0xD6, 0x71, 0x46, 0x7D, 0x90, 0xCA, 0x3C, 0x23, 0xCA, 0xD2, 0x83, 0x74, 0x9A, 0xAB, 0x44, 0x1E, + 0x79, 0xD1, 0xA6, 0x64, 0x2B, 0xAF, 0x94, 0x9C, 0xA5, 0xFD, 0x24, 0x59, 0xAF, 0x89, 0x0C, 0x40, + 0x36, 0x57, 0xAE, 0x50, 0x75, 0xFC, 0xF2, 0x66, 0xEE, 0x54, 0xA5, 0xD2, 0x94, 0xC7, 0xCE, 0xD4, + 0x69, 0x94, 0xAD, 0xB8, 0xAF, 0x0D, 0xAB, 0xD6, 0xA8, 0x47, 0x3C, 0xA9, 0x1F, 0x47, 0x35, 0x36, + 0x9E, 0x4F, 0x95, 0xC5, 0x77, 0xAA, 0xC4, 0xDD, 0x88, 0x1F, 0xC0, 0x0D, 0xB3, 0x21, 0x24, 0x6C, + 0x98, 0xC6, 0xFD, 0xF8, 0x3E, 0xE8, 0x97, 0x70, 0xEA, 0xD7, 0xF3, 0x4A, 0x20, 0xFE, 0x51, 0x9F, + 0x04, 0x89, 0xC7, 0xF7, 0x48, 0x10, 0xFD, 0x93, 0xFD, 0x11, 0x1C, 0xFE, 0xA0, 0x37, 0x82, 0xC2, + 0xEB, 0xF8, 0xA2, 0x46, 0x3B, 0x29, 0x8F, 0x3E, 0xBA, 0x1F, 0xA6, 0x9C, 0x32, 0x2F, 0x2C, 0x3D, + 0x7E, 0x2D, 0x1F, 0x54, 0x2F, 0xA0, 0xA2, 0x2F, 0x9F, 0x7A, 0x1A, 0xBE, 0x9F, 0x81, 0xBB, 0xB6, + 0xEA, 0xA2, 0xE7, 0x78, 0x68, 0x1C, 0xFD, 0x72, 0xF5, 0x0B, 0x7E, 0x1F, 0x15, 0x8A, 0x2E, 0xBA, + 0x38, 0x3D, 0x32, 0x0B, 0xB7, 0xBF, 0x00, 0x53, 0x7F, 0xF8, 0x5A, 0xE7, 0xF9, 0x3F, 0x02, 0x1A, + 0x2F, 0x37, 0x17, 0xDD, 0x5E, 0x78, 0xAF, 0xCD, 0x5D, 0xF4, 0xDE, 0x2A, 0xB0, 0xD5, 0x43, 0xED, + 0x8C, 0x41, 0x1E, 0xB8, 0xE6, 0x6D, 0xE8, 0xFA, 0x02, 0x17, 0xEF, 0x40, 0x8B, 0x57, 0xD2, 0x1F, + 0x78, 0x47, 0xB9, 0x09, 0x99, 0x2A, 0xDB, 0xEA, 0xD9, 0x68, 0x7A, 0xEB, 0x6A, 0xF8, 0xF9, 0x74, + 0xB6, 0x18, 0x9D, 0xE1, 0xAA, 0x95, 0x79, 0x0D, 0xF2, 0x50, 0xAE, 0x2B, 0xC7, 0xCF, 0x67, 0xB8, + 0x07, 0xF5, 0xFD, 0x72, 0xF4, 0xDD, 0x78, 0xBE, 0x98, 0xD3, 0x63, 0x37, 0xC4, 0xE6, 0xEB, 0xBE, + 0xC7, 0x5F, 0xA2, 0xFA, 0x8C, 0x14, 0xD4, 0x78, 0xF2, 0xCD, 0xF0, 0x7C, 0x7C, 0xB6, 0x1C, 0xCE, + 0x9E, 0x5F, 0x7E, 0x3D, 0x9A, 0x2C, 0x00, 0x57, 0x5E, 0x6C, 0x29, 0xE4, 0x62, 0x34, 0x9B, 0x0C, + 0xCF, 0x05, 0x84, 0xB8, 0xC7, 0xE0, 0xCA, 0xF3, 0x60, 0xF5, 0xFC, 0xD9, 0x70, 0x7C, 0x3E, 0xA2, + 0xFB, 0x0B, 0xA3, 0xF4, 0x7B, 0x25, 0x00, 0xBA, 0x12, 0x97, 0x30, 0x7A, 0xD8, 0xEA, 0xA4, 0x5D, + 0x42, 0x05, 0x3F, 0x99, 0x2E, 0x96, 0xCF, 0xA6, 0x97, 0x13, 0x92, 0x1C, 0x7B, 0xC1, 0xDE, 0x0A, + 0x97, 0x2D, 0xB4, 0xEC, 0xF8, 0xAE, 0x8A, 0xE5, 0xF4, 0xD9, 0x12, 0xDF, 0x55, 0xF1, 0x7C, 0x84, + 0xC7, 0xE8, 0xF2, 0xF5, 0xFC, 0x55, 0x2F, 0xC4, 0x17, 0x4B, 0x70, 0x05, 0x71, 0x31, 0x9A, 0x7D, + 0x3D, 0x9E, 0xCF, 0xC1, 0x64, 0x79, 0x36, 0x9A, 0x8C, 0x85, 0xFE, 0xD9, 0xB7, 0x4C, 0xF4, 0x70, + 0x61, 0xC3, 0x49, 0x2D, 0x31, 0x1B, 0xCD, 0xA7, 0x97, 0xB3, 0xD3, 0x11, 0x4C, 0xF1, 0xC5, 0xF0, + 0x72, 0x2E, 0x8D, 0x45, 0x97, 0x63, 0x12, 0xDC, 0xAD, 0x87, 0x39, 0x6E, 0xCC, 0x24, 0xCA, 0xEC, + 0x76, 0x39, 0x19, 0x5E, 0x2E, 0xBE, 0x80, 0x29, 0xC6, 0xA7, 0x43, 0x09, 0x9A, 0x78, 0x26, 0x5E, + 0x73, 0xA4, 0x2B, 0x20, 0x96, 0x99, 0x87, 0xFB, 0x6A, 0x32, 0xFD, 0x16, 0x3A, 0x96, 0x8F, 0xF4, + 0xB3, 0x17, 0x63, 0x9B, 0xDE, 0x74, 0x25, 0x40, 0x75, 0xB8, 0x2E, 0xBF, 0x14, 0x21, 0x09, 0xF1, + 0x02, 0xF1, 0x82, 0xAE, 0xFE, 0xE8, 0x6F, 0xBB, 0xA8, 0xBD, 0xDA, 0x90, 0xBD, 0x16, 0x5B, 0x3D, + 0x64, 0x12, 0x00, 0xA7, 0x20, 0xB9, 0x15, 0x84, 0x45, 0x1B, 0x2C, 0xE3, 0x03, 0xCC, 0xCA, 0xE1, + 0xAD, 0x3E, 0xC0, 0xCE, 0x40, 0xD5, 0x88, 0x82, 0xCE, 0x7D, 0x65, 0x83, 0x7E, 0xFF, 0xB6, 0x39, + 0x46, 0xEF, 0x7A, 0x07, 0x77, 0x19, 0x25, 0x41, 0x7A, 0xB7, 0x3D, 0xFB, 0x46, 0x8F, 0x4E, 0x23, + 0xB1, 0x2E, 0x53, 0x28, 0xC7, 0x85, 0x77, 0x77, 0xF7, 0x3E, 0x91, 0xAF, 0x5C, 0x28, 0x53, 0xF4, + 0xC4, 0x77, 0x20, 0xA8, 0xAF, 0x28, 0x68, 0x17, 0xDE, 0x8C, 0x46, 0x42, 0x29, 0x91, 0xF8, 0xED, + 0xB7, 0xDC, 0x25, 0xAC, 0x6D, 0xB6, 0xC6, 0x77, 0x48, 0x41, 0xEB, 0x7C, 0xF7, 0xD5, 0x94, 0x3D, + 0xBF, 0xCC, 0x60, 0x07, 0x87, 0xDF, 0x01, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, + 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0xA5, 0x29, 0x9F, 0xFC, 0x3E, 0x0C, 0x00, 0x00, 0x80, 0x39, 0x00, + 0x00, 0x3E, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, + 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, + 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x72, 0x65, 0x6D, 0x6F, 0x74, 0x65, 0x2D, 0x63, 0x6F, 0x6E, 0x66, + 0x69, 0x67, 0x2F, 0x72, 0x65, 0x6D, 0x6F, 0x74, 0x65, 0x2D, 0x63, 0x6F, 0x6E, 0x66, 0x69, 0x67, + 0x2E, 0x6A, 0x73, 0xD5, 0x5B, 0x7B, 0x73, 0xE3, 0x34, 0x10, 0xFF, 0xBF, 0x9F, 0x42, 0x84, 0x19, + 0x9A, 0x42, 0xEB, 0x94, 0xC7, 0x30, 0x43, 0x4B, 0x80, 0xD0, 0x2B, 0x10, 0x38, 0xDA, 0x9B, 0x36, + 0x07, 0xC3, 0x30, 0x4C, 0x4E, 0xB1, 0x95, 0x54, 0x9C, 0x63, 0x1B, 0xC9, 0x4E, 0x08, 0xA5, 0xDF, + 0x9D, 0x5D, 0x3D, 0x2C, 0x3F, 0x53, 0xE7, 0xDA, 0xB9, 0x1E, 0x9D, 0xB9, 0xE4, 0x6C, 0xAF, 0x56, + 0xBB, 0xBF, 0x7D, 0x68, 0x57, 0x56, 0x06, 0x1F, 0xBE, 0x47, 0xE6, 0x5C, 0xB0, 0x19, 0x95, 0xEC, + 0x88, 0x06, 0x4B, 0x1E, 0x91, 0xD5, 0x17, 0xDE, 0x67, 0xDE, 0x27, 0xE4, 0xC3, 0xC1, 0x5E, 0x2F, + 0x93, 0x8C, 0xC8, 0x54, 0x70, 0x3F, 0xED, 0x9D, 0xEE, 0x01, 0xE9, 0x1E, 0xF9, 0x90, 0x9C, 0xC5, + 0xC9, 0x46, 0xF0, 0xC5, 0x4D, 0x4A, 0x3E, 0x39, 0xFE, 0xE4, 0x98, 0x7C, 0x1F, 0xC7, 0x8B, 0x90, + 0x91, 0x71, 0xE4, 0x7B, 0xF0, 0x14, 0x09, 0x9E, 0x73, 0x9F, 0x45, 0x92, 0x05, 0x24, 0x8B, 0x02, + 0x26, 0x48, 0x7A, 0xC3, 0xC8, 0x28, 0xA1, 0x3E, 0x7C, 0x99, 0x27, 0x87, 0xE4, 0x17, 0x26, 0x24, + 0x8F, 0x23, 0xF2, 0x89, 0x77, 0x4C, 0xFA, 0x48, 0xD0, 0x33, 0x8F, 0x7A, 0x07, 0xA7, 0xC8, 0x62, + 0x13, 0x67, 0x64, 0x49, 0x37, 0x24, 0x8A, 0x53, 0x02, 0x32, 0x00, 0x0F, 0x2E, 0x41, 0x4C, 0x98, + 0x87, 0xFD, 0xED, 0xB3, 0x24, 0x25, 0x20, 0xA6, 0x1F, 0x2F, 0x93, 0x90, 0xD3, 0xC8, 0x67, 0x64, + 0xCD, 0xD3, 0x1B, 0xA0, 0xC9, 0x27, 0xF0, 0x90, 0xC7, 0x6F, 0x86, 0x47, 0x3C, 0x4B, 0x29, 0x90, + 0x53, 0x18, 0x90, 0xC0, 0xD5, 0xBC, 0x48, 0x48, 0x68, 0x6A, 0x84, 0x26, 0xE4, 0x26, 0x4D, 0x93, + 0x93, 0xC1, 0x60, 0xBD, 0x5E, 0x7B, 0x54, 0x89, 0xEB, 0xC5, 0x62, 0x31, 0x08, 0x35, 0xA1, 0x1C, + 0x3C, 0x1F, 0x9F, 0x9D, 0x5F, 0x5C, 0x9F, 0x1F, 0x81, 0xC8, 0x66, 0xC8, 0xCB, 0x28, 0x64, 0x52, + 0x12, 0xC1, 0xFE, 0xCA, 0xB8, 0x00, 0x75, 0x67, 0x1B, 0x42, 0x93, 0x04, 0x06, 0xD0, 0x19, 0x08, + 0x1A, 0xD2, 0x35, 0x89, 0x05, 0xA1, 0x0B, 0xC1, 0xE0, 0x59, 0x1A, 0xA3, 0xC8, 0x6B, 0xC1, 0x53, + 0x1E, 0x2D, 0x0E, 0x89, 0x8C, 0xE7, 0xE9, 0x9A, 0x0A, 0x86, 0x6C, 0x02, 0x8E, 0x08, 0xCF, 0xB2, + 0xD4, 0x22, 0x56, 0x12, 0x90, 0xCB, 0x12, 0x41, 0x0C, 0x8A, 0x44, 0xA4, 0x37, 0xBA, 0x26, 0xE3, + 0xEB, 0x1E, 0xF9, 0x76, 0x74, 0x3D, 0xBE, 0x3E, 0x44, 0x26, 0xBF, 0x8E, 0x27, 0x3F, 0x5C, 0xBE, + 0x9C, 0x90, 0x5F, 0x47, 0x57, 0x57, 0xA3, 0x8B, 0xC9, 0xF8, 0xFC, 0x9A, 0x5C, 0x5E, 0x91, 0xB3, + 0xCB, 0x8B, 0x67, 0xE3, 0xC9, 0xF8, 0xF2, 0x02, 0xAE, 0xBE, 0x23, 0xA3, 0x8B, 0xDF, 0xC8, 0x4F, + 0xE3, 0x8B, 0x67, 0x87, 0x84, 0x71, 0x98, 0x42, 0x00, 0x96, 0x89, 0x00, 0x0D, 0x50, 0x4C, 0x8E, + 0x58, 0xB2, 0x40, 0x01, 0x77, 0xCD, 0x58, 0x49, 0x84, 0x79, 0xAC, 0x45, 0x92, 0x09, 0xF3, 0xF9, + 0x9C, 0xFB, 0xA0, 0x5A, 0xB4, 0xC8, 0xE8, 0x82, 0x91, 0x45, 0xBC, 0x62, 0x22, 0x02, 0x8D, 0x48, + 0xC2, 0xC4, 0x92, 0x4B, 0xB4, 0xA9, 0x04, 0x01, 0x03, 0x64, 0x13, 0xF2, 0x25, 0x4F, 0x69, 0x8A, + 0xB7, 0xEA, 0x7A, 0xE1, 0x44, 0x83, 0xBD, 0xCB, 0xD9, 0x9F, 0xCC, 0x4F, 0xBD, 0x80, 0xCD, 0x79, + 0xC4, 0x5E, 0x88, 0x18, 0xB8, 0xA4, 0x9B, 0x3E, 0x88, 0x15, 0x8B, 0x54, 0x1E, 0x92, 0xDE, 0x74, + 0xCA, 0xE4, 0xCF, 0x71, 0x90, 0x85, 0xAC, 0x77, 0x48, 0x6E, 0xC9, 0x8A, 0x86, 0x19, 0x3B, 0x21, + 0xA9, 0xC8, 0x18, 0xB9, 0x03, 0x47, 0x31, 0x84, 0xDE, 0x15, 0x5B, 0xC6, 0x29, 0x3B, 0x8B, 0xA3, + 0x39, 0x5F, 0x90, 0x21, 0x59, 0xC5, 0x3C, 0x20, 0xC7, 0xA7, 0x7B, 0x2B, 0x2A, 0x70, 0x08, 0x0F, + 0x68, 0x0A, 0x1A, 0x0C, 0xAD, 0xA1, 0xFA, 0x3D, 0xCF, 0x1B, 0x64, 0x29, 0x0F, 0xE5, 0x20, 0x7F, + 0xDA, 0x3B, 0xD0, 0xE4, 0x42, 0x71, 0x9A, 0xFA, 0x8A, 0xD5, 0x94, 0x26, 0x7C, 0xEA, 0x03, 0x2C, + 0x51, 0x3A, 0xE5, 0x51, 0x0A, 0x9A, 0xD2, 0x70, 0xFA, 0x71, 0x89, 0xD1, 0x40, 0x0F, 0x38, 0xD2, + 0x03, 0x8E, 0x60, 0xC0, 0x91, 0x1E, 0x70, 0x64, 0x07, 0x20, 0xE7, 0xC1, 0x87, 0xCA, 0x5F, 0xC6, + 0xE6, 0x16, 0x00, 0x3E, 0x47, 0x2B, 0x96, 0xC4, 0x96, 0x4C, 0xAC, 0x00, 0x1A, 0xF0, 0x12, 0x99, + 0x82, 0x4F, 0x6B, 0x80, 0x50, 0xA6, 0x12, 0x59, 0xCE, 0x02, 0xA4, 0x00, 0xAE, 0xE4, 0x1B, 0x3F, + 0xA4, 0x52, 0x02, 0x25, 0xE9, 0xCF, 0xB3, 0xC8, 0x47, 0xB0, 0x49, 0xFF, 0x80, 0xDC, 0xEE, 0x11, + 0xF8, 0xB3, 0x77, 0x9A, 0x39, 0xE4, 0x64, 0x77, 0xF8, 0x89, 0xDC, 0xD4, 0x37, 0xC8, 0xF9, 0x8C, + 0x85, 0x2C, 0x65, 0x12, 0xCD, 0x65, 0xC5, 0x42, 0x9B, 0x12, 0x9E, 0x4A, 0x02, 0xB3, 0xC5, 0x3E, + 0xA7, 0xE8, 0x8A, 0xE0, 0x3A, 0x71, 0x26, 0x7C, 0x26, 0x3D, 0x3D, 0x30, 0x1F, 0xFF, 0x8D, 0x60, + 0x69, 0x26, 0x22, 0x72, 0x0B, 0x16, 0x05, 0xA7, 0x60, 0x5F, 0xF6, 0x0F, 0xBE, 0xBA, 0x23, 0xA3, + 0x88, 0xB0, 0x65, 0x92, 0x6E, 0x88, 0xB9, 0x0B, 0xEC, 0x69, 0x0A, 0x91, 0x1B, 0x86, 0x64, 0xC6, + 0x40, 0xD6, 0x70, 0x0E, 0xFF, 0x05, 0xB6, 0xEB, 0x1B, 0x16, 0x15, 0xA6, 0xD6, 0x11, 0xA0, 0x24, + 0x0A, 0xEC, 0x44, 0x03, 0xFC, 0x6E, 0xD6, 0xCA, 0x4B, 0x44, 0x9C, 0xC6, 0xE9, 0x26, 0x61, 0x9E, + 0x1E, 0x04, 0x40, 0xD5, 0x91, 0x51, 0x0A, 0x0F, 0xC8, 0x04, 0x82, 0x00, 0x54, 0x83, 0x7F, 0x51, + 0xEC, 0xD4, 0xC1, 0x58, 0xF5, 0x43, 0x06, 0x06, 0xCA, 0x92, 0x9C, 0x5A, 0xAB, 0x64, 0x65, 0xF7, + 0x90, 0x38, 0x5C, 0xB1, 0x7E, 0x16, 0x69, 0xDF, 0x0D, 0x0E, 0x4E, 0x35, 0x96, 0xF0, 0x95, 0x53, + 0x37, 0x4B, 0x78, 0xBA, 0x77, 0xD7, 0x3F, 0xC8, 0x9D, 0xC2, 0xD0, 0x90, 0x8A, 0x17, 0xCC, 0x62, + 0xE0, 0x0C, 0x82, 0x28, 0x20, 0x40, 0xA5, 0x15, 0x0F, 0x58, 0x80, 0xD9, 0xA5, 0xD9, 0x2D, 0xBA, + 0x78, 0x43, 0xC1, 0xC0, 0xDF, 0x24, 0x54, 0xD0, 0x25, 0xB2, 0x43, 0x08, 0xF0, 0xDB, 0xC4, 0x38, + 0x97, 0x8D, 0x4E, 0xE9, 0xE5, 0x03, 0x7D, 0x08, 0x66, 0x08, 0x3F, 0x1F, 0x42, 0xC6, 0xDA, 0xA2, + 0xDD, 0xD5, 0xFA, 0xC0, 0xB8, 0x80, 0xB8, 0xE2, 0xEF, 0xE1, 0x64, 0x43, 0x9C, 0xF2, 0xB4, 0x7C, + 0x7F, 0x7C, 0x31, 0x39, 0xBF, 0xBA, 0x18, 0x3D, 0x87, 0x87, 0x11, 0x5B, 0xB7, 0xB9, 0x6C, 0x65, + 0x90, 0x8E, 0x35, 0x3D, 0xA4, 0x4B, 0xEC, 0x96, 0x32, 0xC5, 0x28, 0xE1, 0x67, 0x8A, 0x40, 0xC9, + 0x79, 0xDA, 0x1C, 0x0B, 0xDF, 0xB3, 0x54, 0x07, 0x82, 0x9F, 0x09, 0x81, 0x73, 0x51, 0xD0, 0x73, + 0xC5, 0xC8, 0x4A, 0x2F, 0x60, 0x76, 0x39, 0xB9, 0xFD, 0x26, 0xE4, 0xD1, 0x6B, 0x10, 0xC1, 0xB1, + 0x2F, 0xCD, 0x35, 0x01, 0xD7, 0x0F, 0x21, 0x6A, 0x2C, 0xDB, 0x57, 0x4D, 0x0F, 0x5F, 0xDD, 0x01, + 0x3B, 0x6B, 0x71, 0x4C, 0x8C, 0x6D, 0x81, 0x35, 0x02, 0x02, 0x17, 0x43, 0x36, 0x76, 0xA4, 0x5E, + 0x06, 0x69, 0x0B, 0xF3, 0xF6, 0xE0, 0x29, 0xC4, 0xCC, 0x82, 0xA5, 0x7A, 0xC0, 0x96, 0xC0, 0xD1, + 0x42, 0x14, 0x0D, 0x50, 0x1C, 0xD6, 0x3F, 0x00, 0x42, 0xF7, 0xE7, 0x81, 0x3A, 0x51, 0xC1, 0x1B, + 0x53, 0x43, 0x76, 0xC5, 0x64, 0x02, 0xBE, 0xC4, 0x2C, 0xE3, 0x32, 0xF3, 0x9A, 0x0B, 0x58, 0xEE, + 0x63, 0xF8, 0xAA, 0xF3, 0x70, 0x5E, 0x71, 0x97, 0xC7, 0x61, 0x9B, 0x21, 0x55, 0xF2, 0x66, 0x12, + 0xB2, 0xC9, 0xC3, 0x6C, 0xF8, 0xE6, 0x46, 0x54, 0xC1, 0x67, 0x27, 0xBF, 0xC8, 0x96, 0x33, 0x26, + 0xF2, 0x7A, 0x28, 0x52, 0x97, 0x86, 0x43, 0x25, 0x37, 0x58, 0xB5, 0x31, 0x2D, 0x84, 0x71, 0xFC, + 0x1A, 0xD2, 0xD3, 0x93, 0x3A, 0xC8, 0x28, 0x35, 0x52, 0x97, 0x3C, 0xA5, 0xA4, 0x57, 0x77, 0xB7, + 0xC9, 0x99, 0x95, 0x19, 0xBC, 0xA3, 0xCE, 0xF4, 0x8B, 0xAE, 0x1B, 0x18, 0xAC, 0x87, 0x9D, 0xDD, + 0xA6, 0xCD, 0x5D, 0x9A, 0xFD, 0xC3, 0x59, 0x7B, 0xB2, 0xD5, 0x11, 0x66, 0xCC, 0x94, 0x38, 0xF9, + 0xF2, 0xE8, 0xDC, 0x40, 0x6E, 0xF5, 0x03, 0xB8, 0x55, 0x18, 0xFB, 0x10, 0x9F, 0xB0, 0x4C, 0x1A, + 0x33, 0x87, 0x15, 0x76, 0xBB, 0x2B, 0xD4, 0x78, 0xE4, 0xE3, 0xDE, 0x51, 0x0F, 0x78, 0x91, 0xCD, + 0x42, 0x2E, 0x6F, 0xD0, 0x03, 0x5A, 0xAC, 0xF3, 0x60, 0xBB, 0x26, 0x66, 0x8A, 0xC0, 0xAB, 0xB0, + 0x88, 0x13, 0x5D, 0x54, 0x5F, 0xAA, 0x6F, 0x1A, 0xE6, 0x37, 0x62, 0x55, 0x4E, 0xAB, 0x0A, 0xCA, + 0x8E, 0x86, 0xDA, 0xBC, 0x55, 0xC2, 0x13, 0xCB, 0x17, 0xFE, 0x8E, 0xC8, 0xED, 0x2C, 0x8E, 0xB1, + 0xEA, 0xB9, 0x23, 0xAF, 0xE6, 0x31, 0xD4, 0x41, 0xAF, 0xA0, 0x0F, 0x48, 0xB1, 0x5B, 0x51, 0x76, + 0x42, 0x99, 0x5E, 0xC1, 0xCA, 0x0F, 0xB7, 0xD5, 0x53, 0xB9, 0x3D, 0x41, 0x15, 0x38, 0x13, 0xD4, + 0x25, 0x4B, 0x94, 0x97, 0xA9, 0x32, 0xD2, 0xE7, 0xC2, 0xCF, 0x96, 0x2B, 0xB0, 0xBA, 0xE2, 0x71, + 0x3E, 0xA1, 0x0B, 0x8F, 0x4C, 0x70, 0x0E, 0x9A, 0x80, 0x53, 0x41, 0xE7, 0x05, 0x25, 0x9F, 0xEA, + 0xFC, 0x04, 0x83, 0x1E, 0x6F, 0xC9, 0x22, 0xA8, 0x7D, 0x2A, 0x0C, 0x7D, 0x9A, 0x61, 0x6F, 0x04, + 0x24, 0x5C, 0xBE, 0x96, 0x04, 0x2F, 0xB5, 0xA4, 0x0C, 0x52, 0xA3, 0xC4, 0x02, 0xDB, 0x4C, 0xA9, + 0x04, 0xDF, 0x40, 0x61, 0x57, 0x96, 0xB5, 0xC8, 0xCE, 0xC9, 0xCD, 0xE7, 0x64, 0x99, 0x85, 0x29, + 0x4F, 0xA0, 0x7D, 0xD3, 0x7E, 0x09, 0x32, 0x09, 0x23, 0xBD, 0xE1, 0x7F, 0x8F, 0xB5, 0xD5, 0x27, + 0x20, 0x67, 0x97, 0x13, 0xD5, 0x55, 0x4A, 0x68, 0x2B, 0x6D, 0x8F, 0xED, 0x2D, 0x54, 0xBF, 0xEC, + 0x81, 0x66, 0x83, 0x20, 0xF6, 0x65, 0xB9, 0x83, 0x18, 0x64, 0x32, 0x6F, 0x26, 0x04, 0xAC, 0x52, + 0xEF, 0xB3, 0x94, 0x2E, 0xA6, 0x99, 0x84, 0x66, 0x6B, 0x0A, 0xD8, 0x4D, 0x15, 0xF6, 0xC1, 0xD4, + 0xE8, 0x56, 0x9C, 0x53, 0xE1, 0x48, 0x14, 0xA5, 0x42, 0x59, 0x53, 0x5A, 0x14, 0xEE, 0xDA, 0x57, + 0x8A, 0x17, 0xDB, 0x32, 0x44, 0xEE, 0x85, 0x0F, 0xCB, 0x10, 0x86, 0xC9, 0xD6, 0x04, 0x71, 0x68, + 0xDD, 0x78, 0x7B, 0xA6, 0xA8, 0xF2, 0xAA, 0x8F, 0x7F, 0x47, 0x33, 0xC6, 0x55, 0x8C, 0xB8, 0xCE, + 0xA8, 0xFF, 0x9A, 0x50, 0x5B, 0x1B, 0xEC, 0x4B, 0x87, 0x6F, 0x7B, 0x30, 0x15, 0x9B, 0x6F, 0x57, + 0xB6, 0x58, 0xE0, 0xC1, 0x84, 0x02, 0x58, 0x23, 0x63, 0x8C, 0x1B, 0x6C, 0x4D, 0x21, 0x99, 0x02, + 0x52, 0x38, 0x72, 0xA1, 0x43, 0x58, 0xCD, 0xC8, 0x56, 0x3C, 0xCE, 0x64, 0xB8, 0x69, 0x9B, 0xD2, + 0xF0, 0xB3, 0x33, 0x6B, 0x37, 0x12, 0xEC, 0xC8, 0x65, 0x12, 0x0C, 0x38, 0x1D, 0x68, 0x54, 0xF9, + 0x97, 0x8D, 0xEB, 0x4E, 0x25, 0xCE, 0x04, 0x97, 0x9B, 0x1D, 0xCB, 0x1C, 0x54, 0x4C, 0x41, 0x06, + 0x17, 0xC5, 0x08, 0x9B, 0xD4, 0x01, 0x71, 0x5C, 0x97, 0x99, 0x4C, 0xC9, 0x0C, 0x13, 0xC1, 0x5A, + 0xED, 0x39, 0xD0, 0xA8, 0x58, 0xC0, 0x57, 0xA8, 0x0F, 0x51, 0x4B, 0x95, 0x6C, 0x6E, 0xE8, 0x8A, + 0xB9, 0x29, 0x80, 0x01, 0x8B, 0x6C, 0xDF, 0x49, 0x82, 0x4C, 0x89, 0x23, 0x53, 0x04, 0x16, 0x76, + 0x4C, 0x3C, 0x72, 0x19, 0x85, 0x1B, 0x9D, 0x6E, 0x28, 0xCC, 0xF6, 0xE9, 0xF1, 0xB1, 0xE5, 0xAB, + 0x33, 0x86, 0x84, 0x06, 0xC9, 0x25, 0x6E, 0xFC, 0x18, 0x85, 0x61, 0x4E, 0xA2, 0x63, 0xCD, 0x8F, + 0x85, 0x40, 0x07, 0x52, 0x8D, 0x1E, 0x88, 0x10, 0x1D, 0xA9, 0xDE, 0xA2, 0x0D, 0x0F, 0x49, 0xFA, + 0x6A, 0x18, 0x97, 0x20, 0x33, 0x30, 0xD3, 0x1B, 0x61, 0x28, 0x83, 0x9B, 0xC5, 0x81, 0x67, 0x48, + 0x41, 0x0D, 0x34, 0xD7, 0x9C, 0xA5, 0xFE, 0x8D, 0xDA, 0xA1, 0xB2, 0x79, 0xED, 0x40, 0x89, 0x09, + 0x3D, 0x55, 0x9C, 0x2B, 0xC9, 0x95, 0x35, 0x36, 0xEA, 0xC1, 0x12, 0xC4, 0xD7, 0xD0, 0x7D, 0x71, + 0x4C, 0x02, 0xBA, 0x81, 0x8C, 0x1A, 0x06, 0xDE, 0x4E, 0x65, 0xE6, 0xA3, 0x25, 0x0F, 0xEB, 0xDD, + 0x6F, 0x5C, 0x66, 0x5A, 0x06, 0xFF, 0x8B, 0xD2, 0x52, 0xF5, 0x29, 0x94, 0x00, 0x6C, 0x29, 0xC4, + 0x47, 0x8B, 0x2F, 0x94, 0x3C, 0x49, 0xBB, 0xAE, 0x72, 0x58, 0x07, 0x38, 0x6E, 0x31, 0x0A, 0x65, + 0xD5, 0x08, 0x64, 0x45, 0xF2, 0xDC, 0x4D, 0xFC, 0x1B, 0x11, 0x47, 0x71, 0x18, 0x2F, 0xB8, 0x8F, + 0xB5, 0x83, 0x80, 0x9D, 0xB9, 0x5D, 0xFD, 0xF9, 0x31, 0x9C, 0x99, 0x7B, 0xCC, 0x6B, 0xF1, 0xE4, + 0x47, 0x73, 0xE3, 0x38, 0x04, 0xE5, 0x4A, 0x7E, 0x6C, 0x55, 0xD8, 0xB1, 0xA4, 0x82, 0x6C, 0x67, + 0x73, 0xA9, 0x33, 0x4E, 0x0E, 0xC1, 0x6E, 0x81, 0x01, 0xFD, 0xD7, 0x73, 0x60, 0xF0, 0x8B, 0x19, + 0x0C, 0xDE, 0x01, 0x35, 0x47, 0xB7, 0x50, 0x08, 0x0B, 0xE3, 0x4A, 0xE1, 0xD0, 0x6D, 0xE9, 0x2C, + 0x0E, 0xEF, 0x77, 0x5A, 0x2D, 0x8B, 0x23, 0xDA, 0x42, 0x01, 0x37, 0xA3, 0xA6, 0xF4, 0x90, 0x4C, + 0x67, 0xA7, 0x0D, 0x21, 0x62, 0x89, 0xDD, 0x5F, 0x0E, 0xDB, 0x09, 0xE9, 0x4F, 0x67, 0x64, 0x08, + 0x9F, 0x14, 0x3E, 0x9B, 0xA6, 0xF2, 0x90, 0x54, 0x2B, 0x36, 0x1C, 0x0E, 0x21, 0x65, 0x83, 0xB7, + 0xFC, 0xFB, 0x2F, 0xCC, 0x06, 0x97, 0x76, 0x9F, 0x97, 0x7C, 0x6D, 0xFF, 0x73, 0x02, 0x0F, 0xBC, + 0x25, 0x4D, 0xFA, 0xB5, 0x34, 0x01, 0x22, 0x17, 0x23, 0xD6, 0x4C, 0x83, 0x41, 0x9A, 0x53, 0x9C, + 0x42, 0x4C, 0x1E, 0x90, 0xF7, 0xEC, 0x2C, 0x1F, 0x7C, 0x00, 0xFA, 0xC0, 0xA5, 0x9B, 0x05, 0xAE, + 0x61, 0x86, 0xDF, 0xFF, 0x38, 0xAC, 0xEA, 0x03, 0x2C, 0xFF, 0x4E, 0x5F, 0x40, 0xDD, 0x35, 0x89, + 0x5F, 0xB3, 0xE8, 0xA4, 0x59, 0x91, 0x12, 0x4D, 0x99, 0xC5, 0x5D, 0x97, 0xB4, 0x70, 0x26, 0x98, + 0xEE, 0x37, 0xA3, 0xC0, 0x68, 0x02, 0xFF, 0x47, 0x65, 0xDA, 0x32, 0xC4, 0x1C, 0x1C, 0x10, 0x28, + 0x7E, 0xBC, 0xBE, 0xBC, 0x50, 0x6F, 0x70, 0xA2, 0x45, 0x8B, 0xEB, 0xFF, 0x29, 0xE3, 0x08, 0x17, + 0xD4, 0x22, 0x29, 0xC6, 0x70, 0x12, 0x27, 0x19, 0x72, 0xEA, 0xDE, 0xE0, 0x58, 0xE7, 0x47, 0xB1, + 0x2C, 0x95, 0xDB, 0xD0, 0xEE, 0xE4, 0xE0, 0xBE, 0x52, 0xD3, 0x66, 0xD1, 0xEF, 0x40, 0x07, 0x94, + 0xAA, 0xE4, 0xEA, 0x28, 0x6F, 0xC1, 0x05, 0x31, 0xDE, 0xFB, 0xEF, 0xE5, 0x1B, 0xF9, 0x1E, 0x97, + 0x17, 0x71, 0x74, 0x8E, 0x1B, 0xCD, 0xD7, 0x4A, 0x15, 0x4D, 0x5F, 0xF5, 0xD9, 0x14, 0x72, 0xE0, + 0xBA, 0xF3, 0xAE, 0xE1, 0x77, 0xA6, 0x76, 0x2F, 0x0A, 0x7D, 0x2E, 0x44, 0x2C, 0xFA, 0xFB, 0x3C, + 0x52, 0x53, 0x1F, 0x51, 0xB1, 0xC8, 0x96, 0x30, 0x6C, 0xFF, 0x90, 0xEC, 0x17, 0x80, 0xCC, 0x8B, + 0x11, 0xAA, 0x5B, 0x6D, 0x95, 0x19, 0xD5, 0x36, 0xB8, 0x21, 0xD8, 0x2F, 0x2E, 0x0A, 0x7B, 0x85, + 0x90, 0xCA, 0x01, 0x74, 0xCF, 0x53, 0xB1, 0xA9, 0xAA, 0xE1, 0x0A, 0x6A, 0x9C, 0xD4, 0x03, 0x8B, + 0x4A, 0xA6, 0x34, 0x6E, 0x64, 0xEB, 0x53, 0xC8, 0x9F, 0xA4, 0xCF, 0xDE, 0x26, 0x1A, 0xBD, 0xEF, + 0x28, 0x0F, 0xF5, 0x0B, 0x30, 0x25, 0x1D, 0x4C, 0x56, 0x72, 0xB5, 0x13, 0xD2, 0x23, 0x1F, 0x29, + 0x27, 0x84, 0xAF, 0x9E, 0xA7, 0xAE, 0x58, 0x49, 0xFA, 0x37, 0x59, 0x72, 0xEF, 0xDD, 0x8E, 0x57, + 0xBB, 0xF0, 0xED, 0xAF, 0x90, 0x8A, 0x97, 0xCD, 0x5B, 0xF5, 0x0E, 0x7B, 0x0B, 0x8D, 0x7A, 0x87, + 0xC6, 0x40, 0x6D, 0xFD, 0xD2, 0x2B, 0xDF, 0xA9, 0x6F, 0x95, 0xB6, 0xCB, 0xAE, 0xBD, 0xBD, 0xD3, + 0xAE, 0xB2, 0xB6, 0xD5, 0x7D, 0x11, 0x71, 0x01, 0x49, 0x4D, 0xBF, 0x6D, 0xCB, 0x07, 0xFC, 0xFB, + 0x6F, 0xC9, 0x09, 0xB6, 0xC4, 0x90, 0x19, 0xE2, 0x61, 0x33, 0xFA, 0x56, 0x43, 0xA9, 0x37, 0xD6, + 0xF7, 0x5A, 0xA0, 0x57, 0xBE, 0xA3, 0x3D, 0x5F, 0x3B, 0x13, 0x9F, 0x6F, 0xAC, 0x7A, 0x4D, 0x2E, + 0xA4, 0x16, 0x43, 0xD4, 0xC2, 0xBE, 0x52, 0x40, 0x13, 0x14, 0x74, 0x3B, 0x2D, 0x41, 0x88, 0x09, + 0x29, 0x9E, 0xDB, 0xE7, 0x2A, 0x59, 0x32, 0x18, 0x25, 0xD5, 0xAA, 0xB0, 0x9F, 0xBF, 0xF9, 0xD9, + 0xB7, 0x80, 0xEC, 0x04, 0x7F, 0x81, 0x5F, 0x8E, 0xE8, 0xDB, 0x42, 0x75, 0xBF, 0x8C, 0xA6, 0x93, + 0xC4, 0x65, 0x2B, 0x95, 0xA7, 0x70, 0x21, 0x34, 0x05, 0x90, 0x4D, 0x53, 0x35, 0x48, 0x1D, 0xAC, + 0x05, 0x36, 0xC3, 0x3A, 0x68, 0x4D, 0xD6, 0x60, 0x21, 0xA4, 0x83, 0xDB, 0x7B, 0x38, 0xDD, 0x16, + 0x97, 0xC7, 0x2E, 0xF6, 0xF9, 0x5E, 0xC4, 0x59, 0xF2, 0xD8, 0x46, 0x52, 0x4C, 0xDF, 0x1D, 0x4B, + 0x91, 0x05, 0xCA, 0xF3, 0x48, 0xF6, 0x32, 0x80, 0x0D, 0x9B, 0x91, 0x7C, 0x33, 0xCB, 0xA9, 0xA1, + 0xBB, 0x98, 0x0F, 0xBE, 0x02, 0x8E, 0x89, 0x6E, 0x77, 0xCB, 0x8D, 0x84, 0xA0, 0x9B, 0x7E, 0x95, + 0xCF, 0x93, 0x1B, 0xCB, 0x49, 0xE2, 0xCC, 0x04, 0x87, 0x37, 0x50, 0xD8, 0x0E, 0xD6, 0x29, 0x8C, + 0x1E, 0xD6, 0x30, 0xDA, 0xC9, 0x26, 0x25, 0x4E, 0xBF, 0xFF, 0xD1, 0xCD, 0x1C, 0xA6, 0x2A, 0xAE, + 0xDB, 0xA2, 0x3E, 0x41, 0x4E, 0x3B, 0xAC, 0xD5, 0xD6, 0x65, 0x66, 0xA5, 0x8C, 0xEC, 0x3E, 0x9B, + 0xCF, 0x80, 0xB4, 0x2D, 0x77, 0xAE, 0x56, 0x84, 0xD5, 0x01, 0x73, 0x76, 0xEF, 0xD0, 0xC9, 0xE4, + 0x0A, 0x66, 0xD7, 0x4B, 0xE7, 0x7B, 0xCC, 0x66, 0xB7, 0xA9, 0x5A, 0xBE, 0xBA, 0x12, 0xB6, 0x7A, + 0x7A, 0x41, 0x2F, 0x29, 0x77, 0x64, 0xE2, 0x18, 0xDC, 0xBF, 0x01, 0x6C, 0x4B, 0x5C, 0xFD, 0x87, + 0x3D, 0xE3, 0x49, 0xE5, 0x35, 0x6A, 0xBD, 0x45, 0xAA, 0x2F, 0x4B, 0x05, 0xA4, 0x0E, 0x9D, 0x81, + 0x23, 0xF0, 0x34, 0x81, 0x67, 0x8B, 0x80, 0x25, 0x05, 0x6B, 0xE7, 0x8F, 0x8C, 0xD5, 0x32, 0xF3, + 0x10, 0xB7, 0xE9, 0x35, 0xC0, 0x07, 0xAE, 0x8F, 0xA8, 0x6A, 0xD7, 0x04, 0x30, 0x1C, 0xD2, 0x50, + 0xAB, 0xE9, 0x11, 0xBC, 0xF7, 0xE7, 0xE0, 0xDE, 0xFF, 0x20, 0x3F, 0x10, 0x12, 0x4F, 0x09, 0xD9, + 0xB2, 0x46, 0xA3, 0xC0, 0x6D, 0x67, 0x5C, 0xAE, 0xEA, 0xEF, 0xB7, 0x9A, 0x97, 0xC6, 0x38, 0xC3, + 0x3D, 0x2F, 0x97, 0x2B, 0x30, 0x39, 0x17, 0x3E, 0xA9, 0xFA, 0x74, 0xA9, 0x95, 0x72, 0x09, 0xD2, + 0x12, 0xBA, 0x1B, 0x75, 0x42, 0x97, 0xA8, 0x2C, 0x75, 0xF9, 0x6E, 0x65, 0x08, 0xDA, 0xE7, 0xC4, + 0x99, 0xAA, 0xFC, 0xD0, 0xB8, 0xB8, 0x79, 0x6E, 0xAE, 0x1C, 0xC9, 0x5D, 0x7B, 0x39, 0x5A, 0x07, + 0xAB, 0x78, 0x40, 0xA4, 0x52, 0x74, 0xDA, 0xE8, 0x6A, 0xAF, 0x39, 0x75, 0xC9, 0x69, 0xE9, 0x76, + 0xAE, 0x32, 0x6B, 0x9D, 0xF1, 0xFD, 0xBD, 0x96, 0x5B, 0x35, 0xF5, 0x88, 0xB7, 0xDC, 0x6D, 0xB5, + 0x94, 0x88, 0x46, 0x14, 0xDB, 0x7D, 0x36, 0x96, 0x8A, 0x4E, 0xDE, 0xED, 0x49, 0x31, 0xDF, 0x71, + 0x2F, 0x6F, 0x68, 0xEF, 0xBA, 0x4E, 0x55, 0x6A, 0xEA, 0x46, 0xA6, 0x07, 0xB0, 0xF1, 0x50, 0x5B, + 0xB4, 0x4A, 0x5C, 0x34, 0x5D, 0xF3, 0xE8, 0xB7, 0xBF, 0xE4, 0xFD, 0xD2, 0xBC, 0xF5, 0x4E, 0x6B, + 0x7D, 0x2E, 0xE1, 0xCA, 0x69, 0x3F, 0xFF, 0x0C, 0xB7, 0xD2, 0x96, 0x34, 0x55, 0x47, 0x23, 0xCD, + 0xB0, 0xDA, 0x72, 0x58, 0xC7, 0x51, 0xE9, 0x87, 0xEA, 0x63, 0x86, 0x5C, 0x80, 0xFE, 0x5B, 0x61, + 0x78, 0x77, 0x70, 0x00, 0xA5, 0xB5, 0xC0, 0x4A, 0xDF, 0x66, 0x2C, 0xBA, 0x14, 0x6B, 0x65, 0xCF, + 0x1B, 0x36, 0x7B, 0x64, 0x47, 0x2F, 0xD6, 0xEF, 0x6C, 0x2E, 0xE1, 0x08, 0x2F, 0xBF, 0x77, 0x81, + 0xEF, 0xEA, 0xC4, 0x45, 0x9E, 0x4F, 0x87, 0xBE, 0x96, 0x82, 0xC4, 0x4A, 0x8C, 0x2D, 0xCE, 0xD8, + 0x01, 0xF0, 0x12, 0x48, 0xC3, 0x46, 0xEC, 0x76, 0x82, 0x7B, 0x02, 0x37, 0x1F, 0x17, 0x6C, 0xE4, + 0xF8, 0xE4, 0x50, 0xA3, 0xAE, 0x8F, 0x01, 0xB4, 0x82, 0x67, 0xD8, 0x80, 0xD9, 0x4E, 0x20, 0xBF, + 0x94, 0x6F, 0x96, 0x96, 0x6B, 0x4B, 0x98, 0x63, 0xF8, 0x94, 0x49, 0xD5, 0x60, 0x9C, 0x81, 0x10, + 0x0F, 0xEA, 0xF4, 0x0A, 0xE0, 0x0C, 0x6B, 0x88, 0x75, 0x4E, 0x1B, 0x01, 0x93, 0xBE, 0xE0, 0x49, + 0xDA, 0xA1, 0x2D, 0xE8, 0xEA, 0xC8, 0x8E, 0xE5, 0x13, 0x26, 0x0D, 0x27, 0xC4, 0x03, 0x53, 0x46, + 0x91, 0xD1, 0xB0, 0x01, 0xB6, 0xAE, 0x09, 0xC3, 0xBE, 0xAE, 0xBC, 0xC6, 0xE3, 0xC8, 0x8F, 0x96, + 0x34, 0x4A, 0x5C, 0x9F, 0x30, 0x71, 0xE4, 0x6F, 0x73, 0xD5, 0x69, 0xEB, 0x07, 0x26, 0x8F, 0x0A, + 0x54, 0xC3, 0x66, 0x0C, 0xBB, 0x26, 0x11, 0x2E, 0x9F, 0xB3, 0x05, 0xF5, 0x37, 0x3B, 0x43, 0xFE, + 0xAD, 0x3E, 0x39, 0xD5, 0xAF, 0x32, 0x7A, 0x32, 0x94, 0x9D, 0x2A, 0x0E, 0x5E, 0x73, 0xBC, 0xAB, + 0x03, 0xAA, 0xF9, 0xE0, 0x61, 0x0D, 0x9A, 0x2A, 0x92, 0xEE, 0x20, 0xBD, 0x3A, 0xA6, 0xC1, 0xE0, + 0xED, 0xD4, 0xE8, 0xC5, 0xD8, 0x9E, 0x58, 0x87, 0xE6, 0x9B, 0x2F, 0x19, 0x14, 0xE0, 0xCB, 0x04, + 0x7F, 0x39, 0x00, 0x3F, 0x59, 0xB9, 0x24, 0x98, 0x75, 0x8C, 0x81, 0xA5, 0xA7, 0x06, 0x8E, 0xD4, + 0x8F, 0x8E, 0xAE, 0x9F, 0xFD, 0x44, 0x70, 0x33, 0x5E, 0x96, 0x46, 0x15, 0x26, 0x41, 0x06, 0x2F, + 0x27, 0x67, 0x15, 0x06, 0xE3, 0x39, 0xA8, 0x16, 0xC0, 0x0B, 0xEE, 0x10, 0x37, 0x0E, 0x30, 0x57, + 0xCA, 0xE2, 0x61, 0x17, 0xFB, 0xEB, 0x1F, 0x16, 0xE4, 0x8D, 0xBA, 0x7A, 0x09, 0x8B, 0x9C, 0x5A, + 0xA6, 0x59, 0x33, 0xE8, 0x37, 0xB3, 0x30, 0x80, 0x39, 0xF0, 0xB7, 0x09, 0xC6, 0xCE, 0xEA, 0xB0, + 0xD9, 0x0C, 0x66, 0x59, 0x7B, 0xF7, 0xAF, 0x43, 0x13, 0xBE, 0xEC, 0x16, 0xB7, 0x06, 0x6E, 0x75, + 0x9C, 0x74, 0x62, 0xA5, 0xE9, 0xD7, 0x98, 0x3D, 0x61, 0xB8, 0x6A, 0x19, 0x14, 0x54, 0xB5, 0x77, + 0x59, 0xF8, 0xA4, 0x7B, 0xAC, 0x3A, 0x6D, 0xCC, 0x4E, 0xD1, 0x33, 0xB8, 0x6C, 0xD2, 0x15, 0xB6, + 0x08, 0xC0, 0x3A, 0x26, 0x7D, 0xD5, 0x37, 0x8D, 0x5A, 0x77, 0x34, 0x8C, 0xC8, 0x0F, 0xDE, 0xC4, + 0x30, 0x7C, 0x1E, 0x61, 0xDF, 0xA2, 0x54, 0x9D, 0x9F, 0x34, 0x54, 0xF2, 0xE5, 0x4D, 0x84, 0x62, + 0x71, 0x69, 0xA8, 0x8B, 0xB7, 0xCA, 0xC4, 0xAE, 0x44, 0x32, 0xA4, 0xEE, 0x46, 0x13, 0xE1, 0x4B, + 0x99, 0x4B, 0xE0, 0x6E, 0x94, 0x09, 0xDD, 0x4A, 0x65, 0x67, 0x77, 0x77, 0x2A, 0x93, 0x97, 0xD3, + 0xAB, 0xA1, 0x2E, 0xDF, 0x2C, 0x0F, 0xB0, 0xF9, 0xC3, 0x90, 0xDA, 0xCB, 0x32, 0x91, 0xF3, 0x81, + 0x93, 0xAA, 0xCB, 0x34, 0x6C, 0xA5, 0xB4, 0xDB, 0xAA, 0x16, 0x51, 0x25, 0xAB, 0xE5, 0x51, 0xDF, + 0x60, 0xBE, 0x2D, 0xEB, 0xA8, 0x1B, 0x86, 0x67, 0x03, 0xFA, 0xB9, 0x03, 0xBB, 0xFB, 0x07, 0xEA, + 0x3C, 0x3B, 0x5C, 0x82, 0x63, 0x7C, 0x45, 0x8E, 0x1B, 0xB6, 0x7C, 0x9C, 0xB8, 0x6E, 0x97, 0xE7, + 0x3F, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB7, 0x4A, 0x48, 0x52, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x6E, + 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, + 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x73, + 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2D, 0x72, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x50, 0x4B, + 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x09, 0xBB, 0xD7, 0x39, + 0xD3, 0x08, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, + 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, + 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x73, 0x65, 0x63, 0x75, + 0x72, 0x69, 0x74, 0x79, 0x2D, 0x72, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x69, 0x6E, 0x64, 0x65, 0x78, + 0x2E, 0x64, 0x2E, 0x74, 0x73, 0xED, 0x59, 0x59, 0x8F, 0xD3, 0x30, 0x10, 0x7E, 0xE7, 0x57, 0x98, + 0xE5, 0x81, 0x43, 0x25, 0x05, 0xC4, 0x0B, 0x37, 0xE5, 0xAE, 0x80, 0x05, 0x6D, 0x17, 0x10, 0x42, + 0x48, 0x71, 0x13, 0xB7, 0x35, 0xA4, 0x71, 0xB0, 0x9D, 0x96, 0x02, 0xFB, 0xDF, 0x99, 0xF1, 0x91, + 0xBB, 0xD7, 0x72, 0x48, 0x48, 0xAC, 0x40, 0x6D, 0x6A, 0xFB, 0x9B, 0xCF, 0x33, 0x9F, 0x67, 0xC6, + 0x6D, 0xFF, 0xD2, 0x59, 0x32, 0xE1, 0x92, 0x8D, 0xA9, 0x62, 0x97, 0x69, 0x3C, 0xE7, 0x29, 0x59, + 0xDC, 0x08, 0xAE, 0x07, 0xD7, 0xC8, 0xA5, 0xFE, 0x19, 0x18, 0x3C, 0x43, 0x2E, 0x91, 0x87, 0x22, + 0x5B, 0x49, 0x3E, 0x9D, 0x69, 0x72, 0xED, 0xCA, 0xB5, 0x2B, 0xE4, 0xA9, 0x10, 0xD3, 0x84, 0x91, + 0x61, 0x1A, 0x05, 0x30, 0x8A, 0x13, 0x5E, 0xF0, 0x88, 0xA5, 0x8A, 0xC5, 0x24, 0x4F, 0x63, 0x26, + 0x89, 0x9E, 0x31, 0x32, 0xC8, 0x68, 0x04, 0x2F, 0x6E, 0xA4, 0x47, 0xDE, 0x32, 0xA9, 0xB8, 0x48, + 0xC9, 0xB5, 0xE0, 0x0A, 0xB9, 0x80, 0x13, 0x0E, 0xDC, 0xD0, 0xC1, 0xC5, 0x5B, 0x08, 0xB1, 0x12, + 0x39, 0x99, 0xD3, 0x15, 0x49, 0x85, 0x26, 0xB9, 0x62, 0x80, 0xC1, 0x15, 0x10, 0x03, 0x3B, 0xEC, + 0x6B, 0xC4, 0x32, 0x4D, 0x80, 0x58, 0x24, 0xE6, 0x59, 0xC2, 0x69, 0x1A, 0x31, 0xB2, 0xE4, 0x7A, + 0x06, 0x73, 0x0A, 0x03, 0x01, 0x62, 0xBC, 0x77, 0x18, 0x62, 0xAC, 0x29, 0x4C, 0xA7, 0xB0, 0x20, + 0x83, 0xA7, 0x49, 0x75, 0x22, 0xA1, 0xDA, 0x91, 0x26, 0x64, 0xA6, 0x75, 0x76, 0xB3, 0xDF, 0x5F, + 0x2E, 0x97, 0x01, 0x35, 0x74, 0x03, 0x21, 0xA7, 0xFD, 0xC4, 0x4E, 0x54, 0xFD, 0x17, 0xC3, 0x87, + 0x8F, 0x0F, 0x47, 0x8F, 0x2F, 0x03, 0x65, 0xB7, 0xE4, 0x4D, 0x9A, 0x30, 0xA5, 0x88, 0x64, 0x5F, + 0x72, 0x2E, 0x61, 0xBB, 0xE3, 0x15, 0xA1, 0x59, 0x06, 0x0B, 0xE8, 0x18, 0x88, 0x26, 0x74, 0x49, + 0x84, 0x24, 0x74, 0x2A, 0x19, 0x8C, 0x69, 0x81, 0x94, 0x97, 0x92, 0x6B, 0x9E, 0x4E, 0x7B, 0x44, + 0x89, 0x89, 0x5E, 0x52, 0xC9, 0x10, 0x26, 0xE6, 0x4A, 0x4B, 0x3E, 0xCE, 0xB5, 0xF7, 0x58, 0x8D, + 0x20, 0x57, 0xB5, 0x09, 0x02, 0x36, 0x92, 0x92, 0x83, 0xC1, 0x88, 0x0C, 0x47, 0x07, 0xE4, 0xC1, + 0x60, 0x34, 0x1C, 0xF5, 0x10, 0xE4, 0xDD, 0xF0, 0xF8, 0xD9, 0xAB, 0x37, 0xC7, 0xE4, 0xDD, 0xE0, + 0xE8, 0x68, 0x70, 0x78, 0x3C, 0x7C, 0x3C, 0x22, 0xAF, 0x8E, 0xC8, 0xC3, 0x57, 0x87, 0x8F, 0x86, + 0xC7, 0xC3, 0x57, 0x87, 0xF0, 0xF4, 0x84, 0x0C, 0x0E, 0xDF, 0x93, 0xE7, 0xC3, 0xC3, 0x47, 0x3D, + 0xC2, 0x38, 0x98, 0x90, 0xE0, 0xCB, 0x4C, 0xC2, 0x0E, 0x90, 0x26, 0x47, 0x5F, 0xB2, 0xD8, 0x38, + 0x6E, 0xC4, 0x58, 0x8D, 0xC2, 0x44, 0x58, 0x4A, 0x2A, 0x63, 0x11, 0x9F, 0xF0, 0x08, 0xB6, 0x96, + 0x4E, 0x73, 0x3A, 0x65, 0x64, 0x2A, 0x16, 0x4C, 0xA6, 0xB0, 0x23, 0x92, 0x31, 0x39, 0xE7, 0x0A, + 0x63, 0xAA, 0x80, 0x60, 0x8C, 0x30, 0x09, 0x9F, 0x73, 0x4D, 0x35, 0x7E, 0xD4, 0xDE, 0x17, 0x18, + 0x42, 0x45, 0xF5, 0xFB, 0xE4, 0xB6, 0x64, 0x13, 0x26, 0x19, 0x86, 0x51, 0xAF, 0x32, 0xA6, 0xEE, + 0x1C, 0xA4, 0x22, 0x66, 0x07, 0xA4, 0x7F, 0xF7, 0x0C, 0x90, 0x12, 0x52, 0x93, 0xEF, 0xE8, 0x56, + 0x72, 0x42, 0x26, 0x52, 0xCC, 0xC9, 0xF9, 0x20, 0xE8, 0x17, 0x0A, 0x4D, 0xE9, 0x9C, 0x29, 0x88, + 0x15, 0x68, 0x35, 0xE3, 0xE7, 0x6F, 0x81, 0x42, 0x4D, 0x60, 0x9E, 0x32, 0xAD, 0x8C, 0xB1, 0xEF, + 0xF7, 0x13, 0x9E, 0x7E, 0x26, 0x8A, 0x45, 0x39, 0x78, 0x7E, 0x75, 0x94, 0x43, 0xC0, 0x82, 0x51, + 0xF5, 0x09, 0xA7, 0x87, 0xB5, 0x4F, 0xC2, 0x13, 0x98, 0x2F, 0x17, 0x3C, 0x2A, 0x37, 0x1E, 0xB3, + 0x09, 0xCD, 0x13, 0x8D, 0x34, 0x4C, 0x48, 0xC9, 0x94, 0x2F, 0x58, 0x8A, 0x8F, 0x5E, 0xF2, 0xA1, + 0x39, 0x2B, 0x41, 0xCD, 0xD0, 0x85, 0x8B, 0x21, 0x89, 0x20, 0x58, 0x63, 0x06, 0x2F, 0x49, 0xC2, + 0x62, 0x2B, 0xD3, 0x54, 0x10, 0x2A, 0xA7, 0xF9, 0x9C, 0xA5, 0x48, 0x12, 0x1E, 0xA2, 0x88, 0x29, + 0x43, 0x17, 0x80, 0xAA, 0xA6, 0xCE, 0xAB, 0x5F, 0xE4, 0xDF, 0x33, 0x64, 0x55, 0x37, 0x39, 0x30, + 0x70, 0x31, 0x2C, 0xEC, 0x23, 0xCE, 0x8E, 0x1E, 0x6B, 0x99, 0x83, 0xA5, 0xDE, 0x22, 0x58, 0x53, + 0x22, 0xE2, 0x54, 0xFB, 0xCD, 0xD2, 0x42, 0x34, 0x55, 0x6F, 0xDD, 0x67, 0x5F, 0x29, 0xE8, 0x8D, + 0x19, 0xF2, 0x61, 0xF8, 0x89, 0x2E, 0xA8, 0x8A, 0x24, 0xCF, 0x34, 0x7E, 0xD0, 0xEF, 0x63, 0xFC, + 0x0C, 0x99, 0x9A, 0xA1, 0x4D, 0x51, 0xC1, 0x75, 0x0B, 0x2A, 0xFD, 0x47, 0xF5, 0x75, 0x77, 0x48, + 0x67, 0x70, 0x6E, 0x39, 0xEB, 0x1D, 0x9C, 0x4E, 0x49, 0xAA, 0xD0, 0x45, 0x49, 0x48, 0xE0, 0x39, + 0xDB, 0x85, 0x8E, 0x99, 0x38, 0xC8, 0xB2, 0x16, 0xAD, 0x8C, 0x4A, 0x3A, 0x37, 0xCA, 0x7B, 0x95, + 0xE1, 0x59, 0xA2, 0x09, 0x3E, 0x60, 0xE0, 0x24, 0xD3, 0xB9, 0x4C, 0x91, 0x53, 0x33, 0x24, 0x9E, + 0x15, 0x02, 0xC0, 0x1F, 0x92, 0x0B, 0xC8, 0x70, 0x62, 0xB2, 0x69, 0x26, 0xC5, 0x82, 0xC7, 0x2C, + 0xEE, 0x55, 0x7D, 0xB8, 0x0D, 0x80, 0x2B, 0x67, 0xCD, 0x65, 0x88, 0xFB, 0xCE, 0xF6, 0xF1, 0x76, + 0x08, 0xC2, 0xD1, 0x2E, 0x72, 0x46, 0x94, 0xD2, 0xBA, 0x09, 0xA2, 0x35, 0xD0, 0x5C, 0xBA, 0x4E, + 0x4D, 0xB8, 0xA0, 0x40, 0x40, 0x44, 0x9B, 0x44, 0xD8, 0x57, 0xCC, 0x12, 0xC0, 0x23, 0x4A, 0xA8, + 0x84, 0x48, 0xE4, 0x69, 0x84, 0x8E, 0x22, 0x2D, 0xBD, 0xDF, 0xBB, 0x69, 0x16, 0xA1, 0x97, 0x6F, + 0x6E, 0x52, 0xF8, 0xAD, 0x26, 0x64, 0x91, 0x66, 0xEA, 0xAB, 0xC8, 0xF7, 0x33, 0xE8, 0x1C, 0x93, + 0x74, 0xE0, 0x0F, 0xB6, 0x32, 0x80, 0xC4, 0x9E, 0x4B, 0x98, 0x67, 0x4A, 0x55, 0x24, 0x52, 0xA8, + 0x3C, 0x98, 0x1E, 0xE1, 0xE3, 0x39, 0x23, 0x4F, 0x6C, 0xDA, 0x2A, 0x51, 0x88, 0x34, 0xC6, 0xC1, + 0x8D, 0x76, 0x32, 0x4B, 0xB1, 0xB0, 0x45, 0x49, 0x1E, 0x03, 0xB8, 0xA4, 0x4B, 0x07, 0xEB, 0x41, + 0x23, 0xC8, 0x8B, 0x6E, 0x1C, 0x31, 0x35, 0xFB, 0xAA, 0x31, 0xB4, 0x73, 0xAA, 0x6D, 0x51, 0xE1, + 0x90, 0x64, 0x53, 0x9B, 0x71, 0x31, 0x07, 0x63, 0x81, 0xC4, 0x2C, 0x03, 0x06, 0xDE, 0x28, 0x93, + 0xD1, 0x3D, 0xDE, 0x87, 0xB0, 0xBE, 0xFB, 0x48, 0x32, 0x70, 0xB2, 0x79, 0xFF, 0x04, 0x88, 0x3F, + 0x81, 0x3C, 0x3B, 0x32, 0x26, 0x21, 0x85, 0x7D, 0xBC, 0xB0, 0xC1, 0x53, 0xE7, 0xD6, 0xAE, 0xBC, + 0xE8, 0x6D, 0xCD, 0x99, 0x9E, 0x09, 0x53, 0xFF, 0xEC, 0x5C, 0x92, 0xB2, 0x25, 0x30, 0x55, 0x1A, + 0x0B, 0xB7, 0xB2, 0xE5, 0x98, 0x2B, 0x93, 0xFA, 0x03, 0xB7, 0xA6, 0x6F, 0x5E, 0x39, 0xF8, 0x43, + 0x4E, 0xD0, 0xE9, 0x05, 0x3C, 0x3A, 0xDC, 0xFD, 0x01, 0x56, 0x2C, 0xD2, 0x64, 0x65, 0x62, 0x03, + 0xD1, 0xD4, 0x12, 0x5C, 0x70, 0xAB, 0x35, 0xEC, 0xDD, 0x5A, 0x9F, 0x71, 0xD2, 0x8C, 0xDB, 0x91, + 0x2B, 0xE1, 0xC8, 0x96, 0xC6, 0x54, 0xD3, 0x76, 0x22, 0xB3, 0xB1, 0x62, 0x7A, 0x2D, 0x49, 0x3B, + 0xFC, 0xD2, 0x01, 0x14, 0x54, 0x4B, 0x3B, 0xCE, 0xD6, 0x21, 0x10, 0xF6, 0x5D, 0x48, 0xE8, 0x56, + 0x85, 0x60, 0x0F, 0x73, 0xE5, 0x0C, 0x54, 0xE7, 0x98, 0xA2, 0x2A, 0xB8, 0xF2, 0x05, 0x24, 0x06, + 0x76, 0x91, 0x86, 0xFD, 0x64, 0x40, 0x8C, 0xC5, 0x68, 0x57, 0x90, 0xC1, 0xEB, 0xA1, 0xAA, 0x22, + 0x27, 0xFC, 0xF3, 0x2E, 0x09, 0x3C, 0x98, 0x32, 0xED, 0xEC, 0x92, 0x50, 0xAD, 0x19, 0x81, 0xC8, + 0x9F, 0x54, 0xB0, 0x51, 0x4F, 0xBB, 0x40, 0xC7, 0x2C, 0x61, 0x9A, 0x95, 0xE8, 0x5D, 0x83, 0xA5, + 0x81, 0xA0, 0x62, 0xA1, 0xBF, 0x6B, 0x68, 0x1B, 0xEE, 0x7C, 0x08, 0xD3, 0x8D, 0xE2, 0x35, 0x5F, + 0xEB, 0xD7, 0x37, 0xC7, 0x0F, 0xCD, 0x30, 0x88, 0x6E, 0x9E, 0x39, 0xC0, 0xCD, 0xB6, 0x9D, 0x58, + 0x8F, 0x61, 0xD1, 0x16, 0xE9, 0x0C, 0x20, 0x24, 0x53, 0x34, 0xEC, 0x05, 0x52, 0x68, 0x68, 0x47, + 0xA5, 0xBC, 0x80, 0xEE, 0xAE, 0x43, 0x2D, 0x05, 0xFC, 0x98, 0xEA, 0x68, 0xD6, 0x85, 0xBF, 0x79, + 0x07, 0x7E, 0xBA, 0xBA, 0xD9, 0x34, 0xF8, 0xE1, 0xE3, 0x3A, 0x67, 0x9A, 0x44, 0x94, 0x42, 0x5A, + 0xB1, 0x7B, 0xD2, 0xE2, 0x33, 0x4B, 0x31, 0x7F, 0x43, 0x29, 0xE4, 0x09, 0x36, 0xB5, 0x4E, 0x94, + 0xF0, 0x2F, 0x65, 0x0C, 0x92, 0xB0, 0x2B, 0x43, 0x92, 0xB3, 0x05, 0x4C, 0x77, 0x8B, 0x2D, 0xE3, + 0xCD, 0xEC, 0xCC, 0xC4, 0xD7, 0x60, 0xE4, 0x18, 0x6D, 0xDC, 0xDB, 0xEA, 0x63, 0xDC, 0xB7, 0x98, + 0xAC, 0xCB, 0xA0, 0x5B, 0x3C, 0x0D, 0x7D, 0x2E, 0xE4, 0x80, 0x58, 0xB5, 0xCF, 0x68, 0x8B, 0x97, + 0x4B, 0xB5, 0x37, 0xCB, 0x9C, 0xF3, 0xE1, 0x63, 0x93, 0x54, 0xE9, 0x2B, 0xCF, 0x67, 0x6D, 0x01, + 0x2E, 0xB9, 0xAC, 0xA3, 0x58, 0x5B, 0x57, 0x12, 0xC2, 0x42, 0x55, 0x54, 0xAB, 0xCD, 0xDA, 0x87, + 0x65, 0xB4, 0xFB, 0x68, 0xFA, 0x3D, 0xB8, 0xF3, 0x80, 0xEF, 0xC2, 0x93, 0xA2, 0x92, 0xDA, 0x66, + 0xC5, 0x1C, 0xB2, 0xC6, 0x41, 0xB7, 0x4E, 0x30, 0xC1, 0x96, 0x62, 0xA9, 0xF0, 0xC2, 0xC1, 0xA4, + 0xC4, 0x4B, 0xC2, 0x04, 0xDE, 0xFB, 0x2B, 0x54, 0xD9, 0xC5, 0xC2, 0x3B, 0xDC, 0xE9, 0x82, 0x26, + 0x3C, 0xF6, 0x0A, 0x41, 0x52, 0x89, 0x80, 0xBE, 0xB7, 0x8A, 0x2D, 0xE0, 0x96, 0x60, 0x0E, 0x6B, + 0xCF, 0x98, 0x89, 0x05, 0x53, 0xD8, 0x93, 0xE0, 0x5A, 0x91, 0x2C, 0x18, 0x7C, 0x88, 0xC2, 0xD0, + 0x4B, 0x21, 0x3F, 0x63, 0x72, 0x33, 0x6D, 0xB3, 0xAA, 0x0A, 0xA9, 0x78, 0x5B, 0x6B, 0xD8, 0xDC, + 0x5F, 0xBB, 0x99, 0x2C, 0x07, 0x22, 0x01, 0x15, 0xC7, 0xD7, 0xD1, 0x3B, 0xE4, 0x3C, 0xF4, 0x73, + 0x23, 0x28, 0xC9, 0x56, 0x3E, 0xEE, 0xF3, 0xF3, 0xB7, 0xDA, 0x2B, 0xA4, 0x77, 0xE1, 0xBA, 0x2E, + 0x72, 0x43, 0xED, 0xAC, 0xA0, 0xC1, 0xFF, 0xF3, 0x78, 0x69, 0x51, 0x5A, 0x48, 0x16, 0x18, 0xD0, + 0xF3, 0x3D, 0x67, 0xF6, 0xE2, 0xAD, 0xC6, 0x0E, 0xBA, 0xF6, 0x5B, 0x74, 0x82, 0x26, 0x5E, 0xA6, + 0x86, 0x98, 0xDE, 0x1D, 0x6E, 0x5C, 0xD3, 0x14, 0xDF, 0xE9, 0x99, 0xDF, 0xCC, 0x84, 0x57, 0xCF, + 0x69, 0xAE, 0x72, 0x70, 0xE2, 0xCA, 0x17, 0x17, 0x33, 0x6A, 0x30, 0x60, 0x05, 0xD5, 0x75, 0x8A, + 0x33, 0x96, 0x64, 0xB0, 0x08, 0x9B, 0x08, 0x3E, 0x59, 0x21, 0xA4, 0x9D, 0xCE, 0xD3, 0x4A, 0xF9, + 0x6B, 0x53, 0xF2, 0x6E, 0x7D, 0x68, 0x4B, 0x2D, 0xD6, 0xF4, 0x26, 0x9D, 0x72, 0x51, 0xD9, 0x3B, + 0x0E, 0x4C, 0x27, 0x50, 0x4E, 0x2A, 0x9A, 0x82, 0xEE, 0xCC, 0xB1, 0xDE, 0xCF, 0xD5, 0x32, 0xE1, + 0x9C, 0x5A, 0x3C, 0x93, 0x1F, 0xE4, 0x41, 0x3E, 0x81, 0xFB, 0xE5, 0xC5, 0xCA, 0x91, 0xDE, 0xE1, + 0x3C, 0x01, 0xB5, 0x0D, 0x67, 0x8A, 0xE9, 0xB2, 0xC2, 0xD8, 0x6B, 0x69, 0x79, 0xA0, 0x2A, 0x78, + 0x7B, 0x9C, 0xCA, 0x60, 0x63, 0xD0, 0xAD, 0x7F, 0x8E, 0x4A, 0x57, 0x69, 0xE1, 0xFB, 0x44, 0x78, + 0x75, 0x89, 0x77, 0x59, 0x72, 0xEA, 0xF2, 0xB7, 0xC2, 0x4A, 0x05, 0x4C, 0xB9, 0xB2, 0xA1, 0x87, + 0x3E, 0x39, 0x01, 0xAC, 0x44, 0x99, 0x84, 0xE0, 0x31, 0x8A, 0xCA, 0x17, 0x97, 0x68, 0x5B, 0xE3, + 0x01, 0xC5, 0x1C, 0x59, 0x55, 0x3C, 0x0C, 0xDE, 0x7E, 0x6D, 0x6D, 0xDD, 0x76, 0x33, 0xEE, 0x76, + 0x3B, 0x7D, 0xEB, 0x65, 0xBD, 0xED, 0x6F, 0x2F, 0x50, 0x6E, 0xBE, 0x71, 0xE9, 0x74, 0x3C, 0x0A, + 0xDC, 0x9C, 0x01, 0x74, 0x4F, 0x96, 0x6B, 0xF3, 0x8C, 0x07, 0x20, 0x4F, 0x60, 0x0D, 0xEE, 0xDF, + 0x3C, 0x49, 0x3B, 0xE0, 0xA4, 0x82, 0x7E, 0x80, 0x19, 0xDA, 0xDF, 0x32, 0x3E, 0x41, 0xC3, 0x45, + 0x86, 0x8F, 0xAA, 0xB0, 0x19, 0x7C, 0x55, 0xC1, 0xBF, 0x06, 0xE4, 0x09, 0xE4, 0x42, 0x97, 0x7D, + 0x7A, 0xAD, 0x12, 0x18, 0xBA, 0xB5, 0xAA, 0xEF, 0xDE, 0x5C, 0xE6, 0x71, 0xDF, 0x17, 0xE3, 0xFE, + 0x7C, 0x75, 0xD9, 0xBD, 0x0F, 0x7B, 0x35, 0x68, 0x38, 0xCA, 0x4D, 0x5E, 0x07, 0xE5, 0xE4, 0x83, + 0x00, 0x7A, 0x54, 0x83, 0xEA, 0xDB, 0xD1, 0x10, 0x12, 0xE7, 0xE5, 0x89, 0x80, 0x2F, 0x56, 0xC2, + 0x22, 0x3B, 0x23, 0x40, 0x05, 0xD4, 0xDF, 0xBD, 0xAB, 0xC1, 0xC4, 0x86, 0x12, 0x56, 0xA2, 0x17, + 0xCC, 0xE2, 0x60, 0xD7, 0x6C, 0xD3, 0xEA, 0xAC, 0xCA, 0x7D, 0x77, 0x9E, 0xEF, 0xED, 0x72, 0x73, + 0xEC, 0xB6, 0x4B, 0xAD, 0xEC, 0x4A, 0x6B, 0x67, 0x7D, 0x1F, 0x91, 0x3D, 0x32, 0xAD, 0xE7, 0xBF, + 0xAE, 0x33, 0xD3, 0x40, 0xFF, 0x16, 0x95, 0xFD, 0x53, 0x32, 0x33, 0xDB, 0xDE, 0x53, 0x64, 0x33, + 0x96, 0x36, 0x80, 0xB8, 0x72, 0x40, 0x71, 0xA7, 0xCA, 0xDC, 0xE0, 0x16, 0xA1, 0x2D, 0x04, 0x8F, + 0xD7, 0xAB, 0xEC, 0xC8, 0x9E, 0x07, 0xAC, 0x20, 0x6B, 0x6F, 0x05, 0x9B, 0x3D, 0x61, 0x96, 0x8D, + 0xF8, 0x37, 0x86, 0xA2, 0xB2, 0x18, 0x0A, 0x9E, 0x7A, 0xE4, 0xEA, 0x95, 0x2B, 0xE8, 0x79, 0x70, + 0x25, 0x48, 0x23, 0x65, 0xD5, 0x3E, 0x2B, 0x51, 0xB6, 0xFC, 0xCF, 0xE9, 0x57, 0x3E, 0xCF, 0xE7, + 0xF0, 0x41, 0x22, 0x96, 0x2C, 0xAE, 0xD5, 0x76, 0xF3, 0x65, 0x6C, 0x57, 0xF1, 0xAE, 0x37, 0xE2, + 0x5D, 0x17, 0x00, 0xFF, 0xCD, 0x51, 0x19, 0xE6, 0x1E, 0xF1, 0x25, 0xC5, 0x0B, 0xAE, 0x6E, 0x0B, + 0xCA, 0xB8, 0xD4, 0x15, 0xA5, 0xBB, 0xA6, 0x71, 0x02, 0x33, 0xF7, 0x0B, 0x22, 0x2C, 0x6F, 0x7B, + 0x52, 0x75, 0x87, 0x2F, 0x81, 0x6B, 0x54, 0xA3, 0xBF, 0xBF, 0xE0, 0x9D, 0x09, 0xF7, 0x8B, 0x34, + 0x9F, 0x8F, 0x99, 0xEC, 0x35, 0xEF, 0x1D, 0xED, 0x08, 0xB7, 0x6F, 0x67, 0xBF, 0xB3, 0x76, 0xC1, + 0xB0, 0x84, 0xAC, 0x92, 0xB8, 0x5F, 0x0A, 0xCC, 0x0D, 0xAA, 0xD6, 0x81, 0x24, 0x22, 0x8F, 0xC9, + 0x13, 0xDF, 0x2A, 0xEE, 0x76, 0x1C, 0x53, 0x51, 0xA8, 0x8C, 0x2B, 0x0F, 0x5C, 0xEB, 0xBB, 0xD3, + 0x0A, 0x64, 0x65, 0x60, 0xEF, 0x60, 0xC0, 0x56, 0x4B, 0x24, 0x6F, 0x74, 0x6D, 0xD2, 0xF6, 0x33, + 0x8B, 0x43, 0xB5, 0x4F, 0xC6, 0xFE, 0xDD, 0xBD, 0x98, 0xED, 0x0B, 0xCD, 0xC5, 0xC3, 0xB9, 0x08, + 0x4E, 0x8F, 0x06, 0xF7, 0x5B, 0x9F, 0xEF, 0xE0, 0xA0, 0x5A, 0xB3, 0x6B, 0x4C, 0xBA, 0x07, 0x00, + 0x31, 0x90, 0xAB, 0xFD, 0xD4, 0xED, 0x53, 0x54, 0x19, 0x3B, 0xDF, 0x7B, 0x19, 0x92, 0x12, 0xF2, + 0x11, 0x55, 0x6B, 0xB2, 0x95, 0x1F, 0x6D, 0xBA, 0xB8, 0xD2, 0x16, 0xAF, 0x69, 0x84, 0xF7, 0x89, + 0xC1, 0xC0, 0xFA, 0xA9, 0x5E, 0xAD, 0x77, 0x8E, 0x85, 0xDB, 0x57, 0x05, 0x70, 0x7F, 0x6F, 0x3B, + 0x8C, 0x6A, 0x6D, 0xF0, 0x9F, 0x15, 0x5E, 0xB7, 0x3F, 0xC9, 0x84, 0x8D, 0x83, 0x1B, 0xC2, 0xEF, + 0x7E, 0x78, 0x74, 0xEA, 0xA9, 0xA9, 0xFC, 0x4A, 0x16, 0xA1, 0xB0, 0xEE, 0x9C, 0xB2, 0xAE, 0x94, + 0x41, 0x3B, 0x5D, 0xA0, 0x2E, 0x38, 0x80, 0x4A, 0x7C, 0x1A, 0x1B, 0xD8, 0xB9, 0xEA, 0xFC, 0x96, + 0x24, 0x44, 0x68, 0x3B, 0x0D, 0x8D, 0x80, 0x2F, 0xE6, 0xDE, 0x71, 0x1E, 0x7D, 0x66, 0xFA, 0xF7, + 0xE5, 0x22, 0x3D, 0xF3, 0x98, 0x9B, 0xA3, 0xEF, 0x26, 0x95, 0x3F, 0x7C, 0xA4, 0xA5, 0x0A, 0x3A, + 0x29, 0xE2, 0x3E, 0xC6, 0xAC, 0x68, 0x4B, 0x63, 0x57, 0xBA, 0xEA, 0x1A, 0xA8, 0xD5, 0x31, 0x5F, + 0xB0, 0xAB, 0x31, 0xF5, 0xAC, 0x0D, 0xD5, 0xF2, 0x07, 0x0E, 0x67, 0x03, 0x25, 0x34, 0xE1, 0xD3, + 0x1C, 0xBF, 0x2D, 0x5E, 0x70, 0x5A, 0x87, 0x0E, 0xE1, 0xC4, 0x58, 0xB6, 0x2A, 0xDC, 0x4F, 0x57, + 0xE0, 0xD2, 0xD6, 0xB6, 0xB6, 0x67, 0x58, 0x3B, 0xAF, 0xD0, 0x94, 0x65, 0x78, 0xEF, 0x34, 0x0D, + 0xF2, 0xDF, 0x4B, 0xB7, 0xB4, 0xB6, 0xC7, 0x1D, 0x95, 0xB0, 0x7B, 0xD6, 0x3D, 0xBD, 0x72, 0x0C, + 0x58, 0xE5, 0x9B, 0x0B, 0x61, 0x5A, 0x9F, 0x5A, 0x80, 0x1B, 0x7D, 0x90, 0xDD, 0x59, 0x5D, 0x3D, + 0xA7, 0x50, 0x8D, 0xF3, 0x76, 0xA9, 0x9D, 0x9A, 0x8E, 0x4E, 0xF6, 0x13, 0xD2, 0xEF, 0xA8, 0x2A, + 0xD6, 0x37, 0xBB, 0xD7, 0x94, 0x1E, 0xF9, 0x05, 0xE5, 0xFD, 0x89, 0x22, 0x73, 0x2A, 0x8D, 0xFD, + 0xF5, 0x5A, 0xF3, 0x5F, 0xAA, 0xA7, 0xAB, 0xA5, 0xD6, 0x1F, 0xBB, 0x57, 0xD2, 0x42, 0x9E, 0x9B, + 0x2F, 0x74, 0x27, 0x67, 0x4E, 0xCE, 0xFC, 0x04, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, + 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0xD0, 0x49, 0x56, 0x11, 0xBD, 0x01, 0x00, 0x00, 0xBC, 0x02, + 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, + 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, + 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2D, 0x72, + 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x2E, 0x6A, 0x73, 0x65, 0x92, 0x41, + 0x6F, 0xD3, 0x40, 0x10, 0x85, 0xEF, 0xF9, 0x15, 0x0F, 0x9F, 0x4A, 0xE5, 0xDA, 0x51, 0xC4, 0x85, + 0xF6, 0x64, 0xD2, 0x00, 0x16, 0xC5, 0x41, 0x71, 0x4A, 0xD5, 0x53, 0xB5, 0xB6, 0xC7, 0xCE, 0x20, + 0x67, 0xD7, 0xEC, 0xAE, 0x63, 0x22, 0xC4, 0x7F, 0x67, 0xB6, 0x0D, 0x88, 0x88, 0x93, 0xB5, 0x9E, + 0x37, 0x6F, 0xBE, 0x37, 0xBB, 0xE9, 0xE5, 0x2B, 0xB4, 0x6C, 0xA9, 0x52, 0x8E, 0xAE, 0x54, 0xB3, + 0x67, 0x8D, 0xC3, 0xDB, 0xE4, 0x4D, 0xB2, 0xC0, 0x65, 0x3A, 0x8B, 0x46, 0x47, 0x70, 0xDE, 0x72, + 0xED, 0xA3, 0x9B, 0x99, 0x48, 0x67, 0xB8, 0xC4, 0xD2, 0x0C, 0x47, 0xCB, 0xDD, 0xCE, 0x63, 0x31, + 0x5F, 0xCC, 0xF1, 0xC1, 0x98, 0xAE, 0x27, 0xE4, 0xBA, 0x4E, 0xA4, 0x1A, 0x04, 0x77, 0x5C, 0x93, + 0x76, 0xD4, 0x60, 0xD4, 0x0D, 0x59, 0xF8, 0x1D, 0x21, 0x1B, 0x54, 0x2D, 0x9F, 0x53, 0x25, 0xC6, + 0x57, 0xB2, 0x8E, 0x8D, 0xC6, 0x22, 0x99, 0xE3, 0x22, 0x08, 0xA2, 0x53, 0x29, 0x7A, 0x7D, 0x13, + 0x2C, 0x8E, 0x66, 0xC4, 0x5E, 0x1D, 0xA1, 0x8D, 0x87, 0x30, 0x88, 0x07, 0x3B, 0xC1, 0x94, 0x39, + 0xF4, 0xA3, 0xA6, 0xC1, 0x43, 0x30, 0x6B, 0xB3, 0x1F, 0x7A, 0x56, 0xBA, 0x26, 0x4C, 0xEC, 0x77, + 0xA2, 0xF9, 0x3B, 0x20, 0x09, 0x1E, 0x8F, 0x27, 0x0F, 0x53, 0x79, 0x25, 0x72, 0x25, 0x0D, 0x83, + 0x9C, 0xDA, 0x7F, 0x85, 0x50, 0xFE, 0x04, 0x0D, 0xEC, 0xBC, 0x1F, 0xAE, 0xD3, 0x74, 0x9A, 0xA6, + 0x44, 0x3D, 0xE3, 0x26, 0xC6, 0x76, 0x69, 0xFF, 0x22, 0x74, 0xE9, 0x5D, 0xBE, 0x5C, 0x15, 0xE5, + 0xEA, 0x4A, 0x90, 0x4F, 0x2D, 0xF7, 0xBA, 0x27, 0xE7, 0x60, 0xE9, 0xFB, 0xC8, 0x56, 0xE2, 0x56, + 0x47, 0xA8, 0x61, 0x90, 0x06, 0x55, 0x09, 0x68, 0xAF, 0x26, 0x18, 0x0B, 0xD5, 0x59, 0x92, 0x9A, + 0x37, 0x01, 0x79, 0xB2, 0xEC, 0x59, 0x77, 0x31, 0x9C, 0x69, 0xFD, 0xA4, 0x2C, 0x05, 0x9B, 0x86, + 0xC3, 0x86, 0xAB, 0xD1, 0xFF, 0xD9, 0xD8, 0x19, 0x20, 0xBB, 0x33, 0x81, 0x91, 0x20, 0x1A, 0x51, + 0x56, 0x22, 0x2F, 0x23, 0xBC, 0xCB, 0xCA, 0xBC, 0x8C, 0x83, 0xC9, 0x43, 0xBE, 0xFD, 0xB8, 0xBE, + 0xDF, 0xE2, 0x21, 0xDB, 0x6C, 0xB2, 0x62, 0x9B, 0xAF, 0x4A, 0xAC, 0x37, 0x58, 0xAE, 0x8B, 0xDB, + 0x7C, 0x9B, 0xAF, 0x0B, 0x39, 0xBD, 0x47, 0x56, 0x3C, 0xE2, 0x53, 0x5E, 0xDC, 0xC6, 0x20, 0x96, + 0x11, 0x56, 0x76, 0x39, 0x58, 0x49, 0x10, 0x30, 0x39, 0xEC, 0x92, 0x9A, 0xE7, 0xC5, 0x95, 0x44, + 0x67, 0x08, 0xAD, 0x79, 0x41, 0x72, 0x03, 0xD5, 0xDC, 0x72, 0x2D, 0xD1, 0x74, 0x37, 0xAA, 0x8E, + 0xD0, 0x99, 0x03, 0x59, 0x2D, 0x89, 0x30, 0x90, 0xDD, 0xB3, 0x0B, 0x77, 0xEA, 0x04, 0xB0, 0x09, + 0x36, 0x3D, 0xEF, 0xD9, 0x2B, 0x1F, 0x7E, 0xFD, 0x9F, 0x2B, 0x0C, 0x4A, 0x67, 0xEB, 0xEA, 0x1B, + 0xD5, 0x3E, 0x69, 0xA8, 0x65, 0x4D, 0x5F, 0xAC, 0x11, 0x17, 0x7F, 0xBC, 0x10, 0x2C, 0x63, 0xBD, + 0x8B, 0x11, 0x3D, 0x3D, 0x91, 0xFB, 0x6C, 0x9A, 0xB1, 0xA7, 0x28, 0xC6, 0x4F, 0x1C, 0x54, 0x3F, + 0xD2, 0x35, 0xBC, 0x1D, 0x09, 0xBF, 0xE4, 0xA1, 0xFC, 0x06, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, + 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x22, 0x1E, 0x02, 0xA8, 0xA8, 0x09, 0x00, 0x00, + 0x9B, 0x26, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, + 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, + 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, + 0x2D, 0x72, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2D, + 0x72, 0x75, 0x6C, 0x65, 0x73, 0x2D, 0x61, 0x70, 0x69, 0x2D, 0x63, 0x6C, 0x69, 0x65, 0x6E, 0x74, + 0x2D, 0x69, 0x6E, 0x74, 0x65, 0x72, 0x6E, 0x61, 0x6C, 0x2E, 0x6A, 0x73, 0xC5, 0x1A, 0x69, 0x73, + 0xD2, 0x40, 0xF4, 0x7B, 0x7F, 0xC5, 0x93, 0x0F, 0x42, 0x15, 0x82, 0x3A, 0x7E, 0x91, 0xAA, 0x23, + 0xB6, 0x51, 0xF1, 0x80, 0x0E, 0x87, 0xC7, 0x38, 0x0E, 0xA6, 0xC9, 0x52, 0x56, 0x43, 0x12, 0x37, + 0x1B, 0x10, 0x95, 0xFF, 0xEE, 0x7B, 0x9B, 0xDD, 0x84, 0x04, 0x68, 0xD1, 0x7A, 0x30, 0x9D, 0x96, + 0x64, 0xDF, 0x7D, 0xEE, 0xBE, 0x6D, 0xF3, 0xC6, 0x35, 0x98, 0x70, 0xC1, 0xCE, 0x9C, 0x98, 0x35, + 0x1C, 0x6F, 0xC6, 0x03, 0x98, 0xDF, 0xB3, 0xEE, 0x5A, 0x77, 0xE0, 0x46, 0xF3, 0xA0, 0x92, 0xC4, + 0x0C, 0x62, 0x29, 0xB8, 0x2B, 0x2B, 0x47, 0x07, 0x08, 0x7A, 0x00, 0x37, 0xE0, 0x38, 0x8C, 0x96, + 0x82, 0x9F, 0x4F, 0x25, 0xDC, 0xB9, 0x75, 0xFB, 0x1E, 0x3C, 0x0D, 0xC3, 0x73, 0x9F, 0x41, 0x27, + 0x70, 0x2D, 0x5C, 0x25, 0x80, 0x97, 0xDC, 0x65, 0x41, 0xCC, 0x3C, 0x48, 0x02, 0x8F, 0x09, 0x90, + 0x53, 0x06, 0xED, 0xC8, 0x71, 0xF1, 0x8F, 0x5E, 0xA9, 0xC3, 0x6B, 0x26, 0x62, 0x1E, 0x06, 0x70, + 0xC7, 0xBA, 0x05, 0x35, 0x02, 0xA8, 0xE8, 0xA5, 0xCA, 0xE1, 0x11, 0x91, 0x58, 0x86, 0x09, 0xCC, + 0x9C, 0x25, 0x04, 0xA1, 0x04, 0x94, 0x01, 0x69, 0xF0, 0x18, 0xC5, 0x44, 0x3E, 0xEC, 0xAB, 0xCB, + 0x22, 0x09, 0x28, 0xA6, 0x1B, 0xCE, 0x22, 0x9F, 0x3B, 0x81, 0xCB, 0x60, 0xC1, 0xE5, 0x14, 0x61, + 0x32, 0x06, 0x16, 0xD1, 0x78, 0xA7, 0x69, 0x84, 0x67, 0xD2, 0x41, 0x70, 0x07, 0x11, 0x22, 0x7C, + 0x9A, 0xAC, 0x03, 0x82, 0x23, 0xB5, 0xD0, 0x00, 0x53, 0x29, 0xA3, 0x56, 0xB3, 0xB9, 0x58, 0x2C, + 0x2C, 0x47, 0x89, 0x6B, 0x85, 0xE2, 0xBC, 0xE9, 0xA7, 0x80, 0x71, 0xF3, 0x65, 0xE7, 0xD8, 0xEE, + 0x0E, 0xEC, 0x06, 0x8A, 0xAC, 0x51, 0x46, 0x81, 0xCF, 0xE2, 0x18, 0x04, 0xFB, 0x92, 0x70, 0x81, + 0xEA, 0x9E, 0x2D, 0xC1, 0x89, 0x22, 0x44, 0x70, 0xCE, 0x50, 0x50, 0xDF, 0x59, 0x40, 0x28, 0xC0, + 0x39, 0x17, 0x0C, 0xD7, 0x64, 0x48, 0x22, 0x2F, 0x04, 0x97, 0x3C, 0x38, 0xAF, 0x43, 0x1C, 0x4E, + 0xE4, 0xC2, 0x11, 0x8C, 0xC8, 0x78, 0x9C, 0x2C, 0x7C, 0x96, 0x48, 0x63, 0xB1, 0x82, 0x80, 0x3C, + 0x2E, 0x00, 0x84, 0xA8, 0x48, 0x00, 0x95, 0xF6, 0x00, 0x3A, 0x83, 0x0A, 0x3C, 0x6E, 0x0F, 0x3A, + 0x83, 0x3A, 0x11, 0x79, 0xD3, 0x19, 0x3E, 0xEB, 0x8D, 0x86, 0xF0, 0xA6, 0xDD, 0xEF, 0xB7, 0xBB, + 0xC3, 0x8E, 0x3D, 0x80, 0x5E, 0x1F, 0x8E, 0x7B, 0xDD, 0x93, 0xCE, 0xB0, 0xD3, 0xEB, 0xE2, 0xD3, + 0x13, 0x68, 0x77, 0xDF, 0xC1, 0x8B, 0x4E, 0xF7, 0xA4, 0x0E, 0x8C, 0x23, 0x0B, 0x81, 0xB6, 0x8C, + 0x04, 0x6A, 0x40, 0x62, 0x72, 0xB2, 0x25, 0xF3, 0x94, 0xE1, 0x06, 0x8C, 0x15, 0x44, 0x98, 0x84, + 0xA9, 0x48, 0x71, 0xC4, 0x5C, 0x3E, 0xE1, 0x2E, 0xAA, 0x16, 0x9C, 0x27, 0xCE, 0x39, 0x83, 0xF3, + 0x70, 0xCE, 0x44, 0x80, 0x1A, 0x41, 0xC4, 0xC4, 0x8C, 0xC7, 0xE4, 0xD3, 0x18, 0x05, 0xF4, 0x88, + 0x8C, 0xCF, 0x67, 0x5C, 0x3A, 0x92, 0x5E, 0x6D, 0xEA, 0x45, 0x8C, 0x9A, 0x07, 0xBD, 0xB3, 0x4F, + 0xCC, 0x95, 0x96, 0xC7, 0x26, 0x3C, 0x60, 0xA7, 0x22, 0x44, 0x2A, 0x72, 0x59, 0x43, 0xB1, 0x42, + 0x21, 0xE3, 0x3A, 0x54, 0xC6, 0x63, 0x16, 0xBF, 0x0A, 0xBD, 0xC4, 0x67, 0x95, 0x3A, 0x7C, 0x87, + 0xB9, 0xE3, 0x27, 0xAC, 0x05, 0x52, 0x24, 0x0C, 0x56, 0x18, 0x28, 0x1A, 0xD0, 0x1A, 0x30, 0x37, + 0x41, 0xCB, 0x2E, 0xFB, 0x08, 0x18, 0xB7, 0x23, 0x7E, 0x8C, 0xAA, 0x04, 0x12, 0x1E, 0xC0, 0x3C, + 0xE4, 0x1E, 0xDC, 0x3A, 0x3A, 0x98, 0x3B, 0x02, 0x5D, 0xC3, 0xC7, 0xE4, 0x2A, 0x16, 0xCB, 0xF1, + 0x6D, 0x5C, 0xD3, 0x6E, 0xAB, 0x55, 0x2C, 0xAB, 0x99, 0x48, 0xEE, 0xC7, 0x4D, 0x84, 0x68, 0x68, + 0x88, 0xCA, 0x61, 0x8A, 0xC4, 0x84, 0x08, 0xC5, 0x0E, 0x70, 0xB5, 0x66, 0x00, 0x63, 0x2D, 0xC2, + 0x58, 0x90, 0x0C, 0x63, 0x1E, 0x48, 0x34, 0x8C, 0xE3, 0x97, 0x50, 0x9B, 0x06, 0xAC, 0xA1, 0xC0, + 0x1A, 0x06, 0xCC, 0x50, 0x51, 0x84, 0xB7, 0x32, 0xE3, 0x68, 0xC0, 0xAF, 0x1A, 0x8C, 0xEC, 0xC0, + 0x3D, 0x47, 0x86, 0x62, 0x2B, 0x68, 0xB6, 0x6A, 0xC0, 0xFB, 0xA3, 0x97, 0xF6, 0x60, 0xFC, 0xFA, + 0xF6, 0xB8, 0x7D, 0xDA, 0x41, 0x8C, 0x2A, 0x05, 0x7A, 0x8C, 0x91, 0x6E, 0xD2, 0x5E, 0xC9, 0x62, + 0x9D, 0xAB, 0x3C, 0x46, 0x1B, 0xC4, 0x16, 0x66, 0x56, 0x73, 0x7E, 0xBB, 0x9A, 0x62, 0x3F, 0xE9, + 0xF4, 0x6D, 0x8C, 0x33, 0x7B, 0xFC, 0xDA, 0xEE, 0x0F, 0x30, 0x94, 0xC6, 0xCF, 0xEC, 0xF6, 0x89, + 0xDD, 0x47, 0x42, 0xDF, 0x0F, 0x00, 0x3F, 0xD5, 0xB7, 0x8D, 0x27, 0xA6, 0x7E, 0xA4, 0x86, 0xAF, + 0xB6, 0xA0, 0x82, 0xB4, 0x75, 0x39, 0x69, 0x04, 0xA1, 0xC7, 0x9A, 0x15, 0xB8, 0xA9, 0xB4, 0x43, + 0x3E, 0x4C, 0x0E, 0xBC, 0xCF, 0xBA, 0x00, 0xD4, 0x0E, 0xEB, 0x07, 0x2B, 0xAA, 0x2C, 0x2A, 0xA1, + 0x8E, 0x7D, 0x27, 0x8E, 0x31, 0x4A, 0x1C, 0x09, 0x13, 0xC7, 0xE5, 0x3E, 0x85, 0x0F, 0x8B, 0xD1, + 0xB6, 0x81, 0x47, 0x31, 0xA6, 0x7D, 0x83, 0x10, 0xA1, 0x0A, 0x25, 0xC3, 0x36, 0x33, 0x3E, 0x28, + 0x4D, 0xE0, 0xCC, 0x71, 0x3F, 0x23, 0x0A, 0xA0, 0xBA, 0xA6, 0x24, 0x3D, 0x8A, 0x04, 0x9F, 0x23, + 0x31, 0x8A, 0x3A, 0xA5, 0xD5, 0xCE, 0x90, 0x69, 0xDE, 0x40, 0x68, 0x97, 0x04, 0x41, 0x50, 0xA8, + 0x4D, 0x92, 0xC0, 0xA5, 0x10, 0x86, 0xDA, 0xA1, 0xD6, 0xD7, 0xBC, 0xD9, 0x41, 0xA2, 0x86, 0x25, + 0x40, 0x81, 0xA6, 0x1F, 0x55, 0xB9, 0x2C, 0x7C, 0x87, 0xA4, 0xF1, 0xF7, 0x51, 0xF6, 0x9E, 0x4F, + 0xA0, 0x76, 0x2D, 0x73, 0x95, 0xC5, 0xE3, 0x6E, 0x18, 0x74, 0x13, 0xDF, 0x57, 0x29, 0xA1, 0xA9, + 0xFC, 0xF8, 0x01, 0xD7, 0x6A, 0xD5, 0x30, 0x52, 0x39, 0x54, 0xA5, 0x02, 0x42, 0xAF, 0x0D, 0xF5, + 0x9C, 0x83, 0x08, 0x17, 0x10, 0xB0, 0xC5, 0xEE, 0x20, 0xB4, 0x8C, 0xA9, 0x0A, 0x32, 0xDB, 0x14, + 0xC0, 0xB5, 0x2A, 0x0F, 0x94, 0x18, 0x0D, 0x47, 0x9C, 0x27, 0x33, 0x72, 0x5F, 0x1D, 0xAA, 0x08, + 0x1F, 0x4B, 0x30, 0x6F, 0x20, 0x42, 0x73, 0xA4, 0x45, 0x4C, 0xB9, 0xD4, 0x8A, 0xD7, 0xC9, 0xA0, + 0x65, 0x66, 0x09, 0x42, 0x9F, 0x61, 0x35, 0x4D, 0x43, 0x33, 0xF7, 0x0C, 0x29, 0x5E, 0xD5, 0xD2, + 0xE6, 0x9F, 0x9B, 0x80, 0x4C, 0x63, 0x49, 0xA5, 0xDB, 0xAA, 0x1E, 0xE6, 0x36, 0x59, 0x15, 0xAD, + 0x46, 0x71, 0x6A, 0xFC, 0x42, 0xFA, 0x15, 0x53, 0xD8, 0x6A, 0x27, 0x72, 0x1A, 0x0A, 0xFE, 0x8D, + 0x79, 0xCF, 0x10, 0x30, 0xB7, 0x3E, 0x12, 0xCC, 0x88, 0xED, 0x70, 0x92, 0x15, 0x89, 0x50, 0x86, + 0x72, 0x19, 0x31, 0x0A, 0x47, 0xB5, 0xC6, 0x88, 0x49, 0xEE, 0xED, 0xC0, 0x99, 0xB1, 0x75, 0x43, + 0x53, 0xCC, 0x8C, 0x49, 0x2A, 0x84, 0xA2, 0x3F, 0xB9, 0xD0, 0x82, 0xC9, 0x44, 0x04, 0x80, 0xD5, + 0x6B, 0xC6, 0xB1, 0xAE, 0x61, 0x41, 0x0D, 0xFD, 0x39, 0xAB, 0x1D, 0x16, 0xB4, 0xB6, 0x30, 0x5E, + 0x83, 0x2D, 0xC1, 0x54, 0x24, 0x92, 0x72, 0x58, 0x13, 0xA9, 0x8B, 0x52, 0x28, 0x51, 0xD6, 0x8D, + 0x74, 0x31, 0x65, 0x91, 0x63, 0x5E, 0xCA, 0x04, 0x45, 0x4D, 0x84, 0xCB, 0x32, 0x9C, 0x12, 0x23, + 0x63, 0xC8, 0xA3, 0xFD, 0x2C, 0xE9, 0x0A, 0x86, 0x19, 0x96, 0x1B, 0x73, 0x43, 0xA6, 0xFD, 0xEC, + 0x79, 0x71, 0x62, 0xE4, 0xB4, 0x7E, 0xFC, 0x28, 0x28, 0x77, 0x39, 0x8A, 0x95, 0x6A, 0x7B, 0x29, + 0xA6, 0x3D, 0x8B, 0xE4, 0xB2, 0x2D, 0x84, 0xB3, 0x2C, 0x61, 0x5A, 0x13, 0x8E, 0x8F, 0x1B, 0xF9, + 0xA7, 0xFB, 0x04, 0x3C, 0xF8, 0xC3, 0x39, 0xD8, 0x49, 0xDF, 0xE9, 0xA2, 0xE6, 0x86, 0x81, 0xC4, + 0x85, 0x2C, 0x5F, 0x76, 0x86, 0x9F, 0x52, 0x19, 0xE5, 0xD9, 0x96, 0x57, 0xAA, 0x95, 0xD7, 0x94, + 0xED, 0x39, 0xCA, 0x7B, 0xAB, 0x0E, 0x63, 0x07, 0xFF, 0x6E, 0x53, 0xF3, 0x88, 0x40, 0xEE, 0xE3, + 0xBA, 0xE5, 0xB3, 0xE0, 0x5C, 0x4E, 0xE9, 0xF9, 0xE6, 0xCD, 0x6D, 0xBA, 0x8B, 0x09, 0x3C, 0x40, + 0xB8, 0xF7, 0x63, 0xFE, 0x21, 0x65, 0xB9, 0xAF, 0x27, 0x27, 0x99, 0x2B, 0x2E, 0x75, 0xC7, 0x40, + 0x0A, 0xEC, 0x00, 0x88, 0x62, 0x51, 0x36, 0xFC, 0x0E, 0x9E, 0xB6, 0x5F, 0xE6, 0xBD, 0x7F, 0xE0, + 0xC1, 0xCA, 0xBA, 0x07, 0xF5, 0xF6, 0xD5, 0x2C, 0xB7, 0x80, 0x3A, 0xE2, 0xF3, 0x41, 0xAF, 0x6B, + 0xC5, 0x4A, 0x46, 0x3E, 0x59, 0x92, 0x45, 0xB4, 0xD7, 0x7E, 0xD5, 0xC3, 0xA9, 0x97, 0xF3, 0x6F, + 0x25, 0x5C, 0x93, 0xF1, 0x23, 0xE1, 0x5F, 0x52, 0x98, 0x12, 0xE1, 0x6F, 0xF1, 0xB1, 0x69, 0xBD, + 0x69, 0xD3, 0x2F, 0x7D, 0x66, 0x0C, 0xEB, 0xB0, 0xD7, 0x82, 0xEA, 0x69, 0x6F, 0x30, 0xAC, 0xD6, + 0x37, 0xD6, 0x91, 0x64, 0x8B, 0x7E, 0xA1, 0xBE, 0x95, 0xA6, 0x0E, 0xB5, 0xB8, 0xB2, 0x09, 0x87, + 0xBE, 0x73, 0x5A, 0x26, 0x16, 0x8B, 0xCB, 0xAB, 0xA3, 0xDD, 0x85, 0x8C, 0x76, 0x07, 0xFD, 0x54, + 0xBC, 0x9A, 0x16, 0xF3, 0x0A, 0x45, 0xCC, 0x63, 0x3E, 0x93, 0xEC, 0x8F, 0x74, 0x84, 0xAB, 0x1B, + 0x3D, 0x2F, 0xCB, 0xF0, 0x60, 0xAF, 0xDE, 0xF0, 0x4B, 0xEE, 0x3A, 0xB1, 0x5F, 0xDA, 0x43, 0xFB, + 0x32, 0x87, 0x61, 0x98, 0xAE, 0x0B, 0xF2, 0xBF, 0xFC, 0xE2, 0xF3, 0xD8, 0x28, 0x1E, 0x17, 0xDC, + 0x12, 0xE1, 0x39, 0x64, 0xC0, 0xBF, 0xE1, 0x99, 0x92, 0xBE, 0x0D, 0x43, 0xDC, 0xF9, 0xED, 0xE7, + 0x25, 0x3E, 0xC9, 0x91, 0xE1, 0xC1, 0x03, 0x73, 0x58, 0x40, 0x64, 0xC8, 0x5F, 0xC3, 0xED, 0x5B, + 0xB7, 0x8E, 0x60, 0x75, 0x41, 0x73, 0x4A, 0x66, 0x67, 0x4C, 0x64, 0x84, 0xFE, 0x79, 0x73, 0x20, + 0xC6, 0x10, 0x23, 0xE7, 0x2B, 0x36, 0x86, 0x82, 0x35, 0xEE, 0xC3, 0x6D, 0xDA, 0x7B, 0x66, 0xCF, + 0x0F, 0xC9, 0x0C, 0xFF, 0x4A, 0xB3, 0x53, 0xA3, 0x91, 0xD9, 0x55, 0xE2, 0x8F, 0x5C, 0x30, 0x16, + 0xC0, 0x6D, 0x3A, 0x59, 0x92, 0x28, 0x7F, 0x40, 0x57, 0x0A, 0xAA, 0x70, 0x92, 0xC7, 0x0C, 0x5C, + 0xC3, 0x08, 0xA8, 0x26, 0x41, 0x7A, 0x14, 0xF5, 0xAA, 0x70, 0xFD, 0xFA, 0x85, 0x1D, 0x25, 0x43, + 0xFC, 0x67, 0x1E, 0xEF, 0xB2, 0xAF, 0x32, 0x75, 0xB7, 0x24, 0xBE, 0x6B, 0x7B, 0xEE, 0x20, 0x0C, + 0x1A, 0x8C, 0x64, 0x83, 0xB4, 0x95, 0x5C, 0xD1, 0x3C, 0xA8, 0x80, 0xAA, 0xC5, 0xE5, 0xEA, 0x91, + 0xC5, 0x43, 0xCB, 0x7C, 0x2B, 0x56, 0x83, 0xDC, 0x98, 0xAD, 0xFC, 0x6B, 0x0E, 0xB1, 0x2A, 0x6D, + 0xF1, 0x4A, 0xE9, 0x9A, 0x7F, 0xD2, 0x12, 0xAC, 0x44, 0xB0, 0x32, 0xA0, 0xA3, 0xFF, 0xDD, 0xDC, + 0x9E, 0xDA, 0x57, 0xEF, 0x6D, 0xF4, 0xFB, 0x7F, 0x15, 0x50, 0x6A, 0x1C, 0x68, 0x58, 0x0C, 0xB8, + 0xDD, 0x5D, 0x2D, 0x97, 0x60, 0xE3, 0x88, 0x50, 0x11, 0x29, 0x72, 0xAC, 0x1A, 0x02, 0x61, 0xFD, + 0x22, 0xFF, 0x24, 0x42, 0xED, 0xD9, 0x2E, 0x11, 0xEA, 0x59, 0x8F, 0xF9, 0xA7, 0x5D, 0xB6, 0x60, + 0xEF, 0xDC, 0x42, 0x27, 0x2C, 0x76, 0x05, 0x57, 0xC7, 0xEE, 0x4D, 0xE9, 0x52, 0x26, 0x17, 0x31, + 0xD2, 0xA6, 0x32, 0xCC, 0x7E, 0x25, 0xDC, 0x8A, 0xFB, 0xA9, 0xF6, 0xF0, 0xF8, 0x99, 0x0E, 0xBA, + 0x0B, 0x03, 0x6F, 0xC3, 0x37, 0x39, 0xCE, 0x66, 0x10, 0x7E, 0x07, 0x0D, 0xDE, 0x32, 0x5F, 0x60, + 0x55, 0x82, 0xCF, 0xDD, 0xFA, 0x9B, 0xC1, 0xA9, 0x28, 0x5C, 0x2D, 0x58, 0xD1, 0x9F, 0x85, 0x28, + 0xB9, 0x20, 0x48, 0xB1, 0xAE, 0x51, 0x41, 0xEB, 0x78, 0xA7, 0x02, 0xAB, 0xF7, 0xD7, 0x4B, 0xC2, + 0x20, 0x2A, 0x42, 0x6F, 0x0F, 0x89, 0xC2, 0xCC, 0x2C, 0xDB, 0x07, 0x95, 0x50, 0xAF, 0xA4, 0x5F, + 0x49, 0xE8, 0x82, 0xAE, 0xFB, 0x25, 0x00, 0x55, 0x51, 0x65, 0x82, 0xFD, 0x34, 0x2A, 0x0D, 0x28, + 0xB6, 0xA3, 0xEE, 0x2E, 0xB3, 0x7A, 0x7A, 0x87, 0xDD, 0xD1, 0xCB, 0x44, 0xAF, 0x99, 0xE1, 0xD6, + 0x9E, 0x16, 0x47, 0xC9, 0x2E, 0x3D, 0x20, 0xAE, 0x37, 0xD9, 0x1C, 0xD1, 0x60, 0xFE, 0xF5, 0xB9, + 0x97, 0xC3, 0xFD, 0x74, 0xD0, 0xE5, 0x31, 0x24, 0x32, 0xC3, 0xBD, 0x80, 0xF1, 0x3A, 0x74, 0x4E, + 0x2C, 0xBC, 0xE5, 0xC0, 0x01, 0x3E, 0x62, 0x7D, 0x4B, 0x27, 0xE4, 0x83, 0x93, 0x17, 0xE9, 0xDD, + 0x03, 0x0E, 0x51, 0xE7, 0xDC, 0xC5, 0x66, 0xEC, 0xBA, 0x61, 0x82, 0xF3, 0x2A, 0x17, 0xEF, 0x03, + 0x90, 0x24, 0x82, 0xC6, 0x75, 0x1C, 0xAF, 0x9B, 0x19, 0xD8, 0xE6, 0x1C, 0x0C, 0x8B, 0xCA, 0x1A, + 0x03, 0x70, 0x68, 0x7A, 0xAE, 0xA6, 0x66, 0xE9, 0xD4, 0xCF, 0x82, 0xB6, 0xAF, 0x94, 0x91, 0x7C, + 0xCE, 0xFC, 0x65, 0x1D, 0x10, 0x5E, 0x71, 0x7E, 0xDA, 0xEB, 0x3D, 0x7D, 0x69, 0x8F, 0x8F, 0x5F, + 0xF6, 0x46, 0x27, 0xE3, 0xD3, 0x7E, 0xEF, 0xB9, 0x7D, 0x3C, 0xDC, 0xCD, 0x85, 0x05, 0x73, 0x2E, + 0xC2, 0x80, 0xB4, 0xA4, 0x80, 0xE2, 0x78, 0x41, 0xB1, 0xB9, 0x61, 0x5C, 0x15, 0x9E, 0xC6, 0x69, + 0x7C, 0x6C, 0x44, 0x69, 0x45, 0xBF, 0x8A, 0x8B, 0x19, 0x71, 0x41, 0x1F, 0xDB, 0x37, 0x6B, 0xD4, + 0x10, 0x98, 0x3E, 0x37, 0xE0, 0x29, 0x76, 0xD1, 0xF5, 0x2B, 0x07, 0x74, 0x89, 0xD0, 0x9D, 0x08, + 0x26, 0x18, 0xC7, 0x6A, 0x4D, 0x39, 0x5B, 0x0D, 0x79, 0xC1, 0xB4, 0x29, 0x55, 0xFC, 0x62, 0xB3, + 0x35, 0x4A, 0x29, 0x4C, 0xF1, 0x8A, 0x20, 0x7D, 0xAF, 0x5C, 0x15, 0x26, 0x99, 0xC1, 0x35, 0x37, + 0xB2, 0x7B, 0x94, 0xAA, 0x57, 0xC3, 0xD4, 0xB4, 0xE0, 0xA3, 0x69, 0xE4, 0xA6, 0xA3, 0x37, 0x08, + 0xFD, 0xE3, 0xA1, 0xA5, 0x11, 0x0C, 0xDE, 0xA3, 0xC8, 0x11, 0xCE, 0x0C, 0xBE, 0xA7, 0xBB, 0xAE, + 0x95, 0x62, 0x02, 0x4F, 0x70, 0xC0, 0x01, 0x5F, 0x12, 0xC7, 0x57, 0x62, 0xAB, 0x77, 0xFA, 0xCE, + 0x29, 0x53, 0x81, 0xC2, 0x0B, 0x2B, 0x80, 0x95, 0xD1, 0x49, 0xCD, 0x15, 0xC3, 0x77, 0x9D, 0xA3, + 0xF7, 0x87, 0x0F, 0x57, 0xD0, 0x86, 0x28, 0x7D, 0xD2, 0x03, 0xF1, 0xC4, 0xC7, 0x01, 0x82, 0x9F, + 0x2A, 0x51, 0x20, 0x67, 0xE8, 0x34, 0xF7, 0xAE, 0x3D, 0xC6, 0x5C, 0xFF, 0xFB, 0x7C, 0xFB, 0x87, + 0xF6, 0x5D, 0xAA, 0xEB, 0xFD, 0xC7, 0xB3, 0xE9, 0xD6, 0x8D, 0xC3, 0x5F, 0xD8, 0xE2, 0xFC, 0x8D, + 0x3E, 0xB7, 0x69, 0x79, 0x92, 0xB5, 0x55, 0x6E, 0x75, 0xFB, 0x6E, 0x33, 0x8C, 0x8A, 0xBB, 0x68, + 0x10, 0xEA, 0xF6, 0x49, 0xC6, 0xBA, 0x71, 0x4A, 0x8E, 0xBC, 0x9A, 0x67, 0x32, 0xBA, 0xDB, 0xC3, + 0x7D, 0xDF, 0x5E, 0x44, 0xF0, 0xFF, 0xE4, 0xEA, 0x45, 0x0B, 0xAC, 0x0C, 0xBC, 0xEF, 0x21, 0xAF, + 0x78, 0xB6, 0x25, 0x4C, 0x4B, 0x5D, 0x18, 0xF6, 0x26, 0xB5, 0x6A, 0xB3, 0x7A, 0xA8, 0x0E, 0xB7, + 0x8D, 0xDB, 0xFF, 0x47, 0x7A, 0xBC, 0xC2, 0xA7, 0xE1, 0x75, 0x7A, 0x07, 0x1F, 0x2C, 0x55, 0x0C, + 0xB8, 0x53, 0xAC, 0x9C, 0x2E, 0x32, 0x89, 0x8B, 0x6A, 0x94, 0x23, 0xBF, 0xA2, 0xA3, 0x22, 0x0F, + 0xB9, 0x5F, 0xF3, 0x7F, 0x9E, 0xE7, 0xA5, 0x0B, 0x09, 0xF5, 0x6E, 0xCF, 0x0B, 0x09, 0x0D, 0x6C, + 0x4D, 0x99, 0x83, 0x97, 0xD8, 0xB8, 0xBE, 0xEB, 0x4A, 0xB4, 0x9C, 0xB8, 0xE5, 0x5B, 0x2C, 0x25, + 0x4E, 0xC6, 0xFB, 0xE0, 0xE2, 0x23, 0x44, 0x1C, 0xED, 0xC8, 0x58, 0x5A, 0xB2, 0x68, 0x2B, 0xBF, + 0xFB, 0x4A, 0xC8, 0x75, 0xA4, 0x3B, 0xCD, 0xA9, 0xD1, 0x49, 0x7F, 0xAB, 0xEF, 0x75, 0x26, 0xCA, + 0xD0, 0x78, 0x59, 0x39, 0x96, 0xC0, 0xAF, 0x50, 0x0D, 0x4B, 0xD4, 0x72, 0xBB, 0x6F, 0x0A, 0xC2, + 0x27, 0xEA, 0x15, 0x98, 0xCB, 0xC0, 0x70, 0x62, 0x2E, 0xDC, 0xAD, 0xB4, 0x64, 0x30, 0xAF, 0x40, + 0x6B, 0xBB, 0x45, 0x08, 0x67, 0xC7, 0x1C, 0x43, 0x19, 0x2B, 0x0C, 0xE8, 0xC0, 0x49, 0x50, 0x96, + 0x79, 0x2C, 0x8D, 0x22, 0xCC, 0x6B, 0xCC, 0xFA, 0xE7, 0x31, 0x5D, 0x4A, 0x6F, 0x67, 0x74, 0x85, + 0x54, 0x49, 0x82, 0xCF, 0x41, 0xB8, 0xC0, 0x0C, 0xA6, 0x47, 0xBA, 0x1A, 0x18, 0x05, 0xF8, 0xCF, + 0x0B, 0x0C, 0x53, 0xC0, 0xCB, 0x64, 0xD4, 0x3B, 0x49, 0xBC, 0xF3, 0x4E, 0xE2, 0xF4, 0x7A, 0x20, + 0x93, 0x2B, 0x7D, 0x49, 0x05, 0x54, 0x8D, 0xC0, 0xCE, 0x42, 0x6F, 0x59, 0x82, 0x90, 0x38, 0x1D, + 0xDA, 0x39, 0xCD, 0x61, 0xA9, 0x23, 0x72, 0x68, 0x35, 0x5B, 0x51, 0x6F, 0x69, 0xCE, 0xF7, 0x7D, + 0x75, 0x54, 0x00, 0x77, 0x43, 0x8F, 0x0C, 0x56, 0x12, 0xBA, 0x68, 0x33, 0xF5, 0x4E, 0xCB, 0x45, + 0xB3, 0xB2, 0xC2, 0x33, 0x66, 0xBA, 0xDD, 0xEF, 0xF7, 0xFA, 0xE3, 0xE3, 0xDE, 0x89, 0x3D, 0x7E, + 0xD5, 0x3E, 0x3D, 0xED, 0x74, 0x9F, 0x96, 0x6C, 0x6A, 0xB8, 0x6C, 0x02, 0xBE, 0x5F, 0xA7, 0xF5, + 0x61, 0x97, 0x4E, 0xB8, 0x9F, 0x8B, 0x69, 0x18, 0xF6, 0x40, 0xB3, 0xD6, 0xCF, 0xA4, 0x4F, 0x65, + 0x94, 0x0A, 0xAE, 0x76, 0xE5, 0x4C, 0xAB, 0xBF, 0xC5, 0x5E, 0x47, 0x07, 0x7F, 0xCA, 0xBF, 0xA4, + 0x4B, 0xDD, 0x88, 0x94, 0xE7, 0x4B, 0x4E, 0x7A, 0x7B, 0xDA, 0xA0, 0x04, 0xAB, 0xDA, 0xE1, 0x3E, + 0xFF, 0xC8, 0xB2, 0x0B, 0x9D, 0x2C, 0xB1, 0x69, 0xC1, 0x6C, 0x47, 0xD5, 0xE9, 0xBE, 0x6E, 0xBF, + 0xEC, 0x9C, 0x8C, 0xDB, 0xFD, 0xA7, 0xA3, 0x57, 0x76, 0x77, 0xD8, 0x82, 0x2D, 0x45, 0x5B, 0x41, + 0x76, 0x7B, 0xC3, 0xF1, 0x93, 0xDE, 0xA8, 0x7B, 0x82, 0x20, 0x58, 0xB1, 0x1B, 0x13, 0x3C, 0xC6, + 0x78, 0x7A, 0xAD, 0x6F, 0x0F, 0x7A, 0xA3, 0xFE, 0xB1, 0x3D, 0xB6, 0xDF, 0x3E, 0x6B, 0x8F, 0x06, + 0x43, 0x9B, 0x80, 0xCC, 0xEE, 0xB3, 0xC1, 0xBE, 0x4E, 0x1D, 0xAC, 0xF3, 0xCC, 0x40, 0x8F, 0xBA, + 0xED, 0xD1, 0xF0, 0x19, 0x32, 0xEB, 0x1C, 0xB7, 0x53, 0x50, 0x07, 0x2F, 0xEA, 0xE9, 0x30, 0xE4, + 0xD2, 0x3F, 0x03, 0xE9, 0x70, 0xCA, 0x80, 0x5F, 0x74, 0x7B, 0x6F, 0xBA, 0xAD, 0x72, 0xB0, 0xA9, + 0xFF, 0x0A, 0xF9, 0x09, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, + 0x5A, 0x0B, 0x26, 0xBB, 0x01, 0xCB, 0x3B, 0x03, 0x00, 0x00, 0xE8, 0x06, 0x00, 0x00, 0x49, 0x00, + 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, + 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, + 0x62, 0x2F, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2D, 0x72, 0x75, 0x6C, 0x65, 0x73, + 0x2F, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2D, 0x72, 0x75, 0x6C, 0x65, 0x73, 0x2D, + 0x69, 0x6E, 0x74, 0x65, 0x72, 0x6E, 0x61, 0x6C, 0x2E, 0x6A, 0x73, 0x8D, 0x54, 0x4D, 0x8F, 0xD3, + 0x30, 0x10, 0xBD, 0xF7, 0x57, 0x0C, 0x39, 0x40, 0x52, 0x85, 0x04, 0x10, 0x17, 0xB6, 0x5A, 0x41, + 0x81, 0x05, 0x22, 0xA0, 0x45, 0x9B, 0x05, 0x84, 0x10, 0x8A, 0x1C, 0x67, 0xD2, 0x1A, 0xA5, 0xB6, + 0xB1, 0x9D, 0x66, 0x2B, 0xD8, 0xFF, 0xCE, 0x38, 0x4D, 0x5B, 0x4A, 0xC5, 0x0A, 0x5F, 0x22, 0x7B, + 0xDE, 0xBC, 0x79, 0xF3, 0x95, 0x74, 0x7C, 0x07, 0x6A, 0x61, 0xB0, 0x64, 0x16, 0xEF, 0xB3, 0x6A, + 0x25, 0x24, 0xAC, 0x9F, 0x24, 0x8F, 0x93, 0x47, 0x30, 0x4E, 0x47, 0x41, 0x6B, 0x11, 0xAC, 0x33, + 0x82, 0xBB, 0x60, 0x32, 0x22, 0xE8, 0x08, 0xC6, 0xF0, 0x42, 0xE9, 0x8D, 0x11, 0x8B, 0xA5, 0x83, + 0x47, 0x0F, 0x1E, 0x3E, 0x81, 0xD7, 0x4A, 0x2D, 0x1A, 0x84, 0x4C, 0xF2, 0x84, 0xAC, 0x1E, 0xF0, + 0x4E, 0x70, 0x94, 0x16, 0x2B, 0x68, 0x65, 0x85, 0x06, 0xDC, 0x12, 0x61, 0xAA, 0x19, 0xA7, 0xCF, + 0x60, 0x89, 0xE1, 0x13, 0x1A, 0x2B, 0x94, 0x84, 0x47, 0xC9, 0x03, 0x08, 0x3D, 0x20, 0x18, 0x4C, + 0x41, 0x34, 0xF1, 0x14, 0x1B, 0xD5, 0xC2, 0x8A, 0x6D, 0x40, 0x2A, 0x07, 0xA4, 0x81, 0x38, 0x84, + 0x25, 0x99, 0x14, 0x07, 0xAF, 0x39, 0x6A, 0x07, 0x24, 0x93, 0xAB, 0x95, 0x6E, 0x04, 0x93, 0x1C, + 0xA1, 0x13, 0x6E, 0x49, 0x98, 0x7D, 0x80, 0xC4, 0x73, 0x7C, 0x19, 0x38, 0x54, 0xE9, 0x18, 0xC1, + 0x19, 0x39, 0x68, 0xBA, 0xD5, 0x7F, 0x02, 0x81, 0xB9, 0x41, 0x34, 0xC0, 0xD2, 0x39, 0x7D, 0x96, + 0xA6, 0x5D, 0xD7, 0x25, 0xAC, 0x97, 0x9B, 0x28, 0xB3, 0x48, 0x9B, 0x2D, 0xD0, 0xA6, 0xEF, 0xB2, + 0x17, 0x17, 0xB3, 0xFC, 0xE2, 0x3E, 0x49, 0x1E, 0x5C, 0x3E, 0xCA, 0x06, 0xAD, 0x05, 0x83, 0x3F, + 0x5A, 0x61, 0x28, 0xDD, 0x72, 0x03, 0x4C, 0x6B, 0x72, 0x60, 0x25, 0x09, 0x6D, 0x58, 0x07, 0xCA, + 0x00, 0x5B, 0x18, 0x24, 0x9B, 0x53, 0x5E, 0x72, 0x67, 0x84, 0x13, 0x72, 0x11, 0x83, 0x55, 0xB5, + 0xEB, 0x98, 0x41, 0x4F, 0x53, 0x09, 0x5F, 0xE1, 0xB2, 0x75, 0xBB, 0x8A, 0x1D, 0x09, 0x14, 0xF6, + 0x08, 0xA0, 0x28, 0x11, 0x09, 0xC1, 0x34, 0x87, 0x2C, 0x0F, 0xE0, 0xF9, 0x34, 0xCF, 0xF2, 0xD8, + 0x93, 0x7C, 0xCE, 0xAE, 0xDE, 0xCC, 0x3F, 0x5E, 0xC1, 0xE7, 0xE9, 0xE5, 0xE5, 0x74, 0x76, 0x95, + 0x5D, 0xE4, 0x30, 0xBF, 0x84, 0x17, 0xF3, 0xD9, 0xCB, 0xEC, 0x2A, 0x9B, 0xCF, 0xE8, 0xF6, 0x0A, + 0xA6, 0xB3, 0x2F, 0xF0, 0x36, 0x9B, 0xBD, 0x8C, 0x01, 0x05, 0x85, 0x30, 0x54, 0x4B, 0x6D, 0x28, + 0x03, 0x2F, 0x53, 0xF8, 0x5A, 0x62, 0xD5, 0x17, 0x2E, 0x47, 0x3C, 0x92, 0x50, 0xAB, 0xAD, 0x24, + 0xAB, 0x91, 0x8B, 0x5A, 0x70, 0x4A, 0x4D, 0x2E, 0x5A, 0xB6, 0x40, 0x58, 0xA8, 0x35, 0x1A, 0x49, + 0x19, 0x81, 0x46, 0xB3, 0x12, 0xD6, 0xF7, 0xD4, 0x92, 0xC0, 0xCA, 0xD3, 0x34, 0x62, 0x25, 0x1C, + 0x73, 0xFE, 0xE9, 0x34, 0x2F, 0x1F, 0x28, 0x1D, 0xAD, 0x99, 0x81, 0xA2, 0xC0, 0x6B, 0x87, 0xB2, + 0xB2, 0x70, 0x0E, 0x61, 0xDF, 0xE7, 0xBB, 0x77, 0xFB, 0x7E, 0x27, 0x7B, 0x4B, 0x04, 0xBF, 0x7E, + 0x41, 0x58, 0xB7, 0x92, 0x7B, 0x36, 0x08, 0x23, 0xF8, 0x39, 0x02, 0x3A, 0xDE, 0x7D, 0x0B, 0xC9, + 0x7D, 0x20, 0xEE, 0x29, 0x0E, 0xA8, 0x2A, 0x86, 0xB2, 0x47, 0x6E, 0xCF, 0x09, 0x72, 0x5E, 0x7E, + 0x47, 0xEE, 0x12, 0x8B, 0xEE, 0x83, 0x51, 0x4E, 0xB9, 0x8D, 0xC6, 0x79, 0x4D, 0x91, 0xC8, 0xE1, + 0x70, 0xC2, 0x9F, 0x24, 0x50, 0x7B, 0x7B, 0x51, 0x9C, 0xC1, 0xD7, 0x6F, 0x70, 0x43, 0x7D, 0xB4, + 0xCE, 0x4F, 0x1D, 0x4D, 0xD2, 0xD4, 0x18, 0xB6, 0x21, 0xBD, 0xA7, 0x51, 0xA1, 0x4A, 0xF6, 0x7E, + 0x14, 0xAB, 0x9C, 0xC0, 0x4D, 0xF4, 0x17, 0xF7, 0xA9, 0x53, 0x5F, 0xE9, 0xD0, 0x67, 0xA5, 0x29, + 0x8A, 0x7F, 0x12, 0x35, 0x84, 0x65, 0xB2, 0x64, 0x76, 0xDE, 0x49, 0x52, 0x49, 0x55, 0x76, 0x9B, + 0x50, 0x47, 0x11, 0x54, 0x5F, 0xF5, 0x37, 0xCF, 0x4B, 0x1F, 0xA2, 0x9E, 0xEC, 0x79, 0x0D, 0xBA, + 0xD6, 0xC8, 0xE3, 0x5C, 0xB7, 0xF4, 0x3D, 0xC6, 0x43, 0x0F, 0xB0, 0xFF, 0x2D, 0xD6, 0x8E, 0xE0, + 0x44, 0x78, 0x51, 0xF8, 0x5E, 0x6C, 0xBB, 0xC5, 0x15, 0xD5, 0xC5, 0xB4, 0xDC, 0x29, 0x43, 0xC2, + 0x2A, 0x52, 0xB5, 0xC7, 0x57, 0x89, 0xDE, 0x55, 0xD8, 0x6B, 0x86, 0xF3, 0xF3, 0x73, 0x90, 0x6D, + 0xD3, 0xC0, 0xD3, 0x5D, 0x13, 0xB8, 0x41, 0xE6, 0x30, 0x24, 0x09, 0x67, 0x10, 0x16, 0xC5, 0x31, + 0xFE, 0x70, 0x8B, 0x41, 0x62, 0xD7, 0x47, 0x3D, 0xA4, 0x73, 0x13, 0x85, 0x74, 0x19, 0x78, 0x2A, + 0xAC, 0x85, 0xC4, 0x7D, 0xA5, 0x68, 0xC0, 0x95, 0x71, 0x36, 0x86, 0x80, 0x66, 0xC9, 0xBE, 0x57, + 0x55, 0xDB, 0x60, 0x10, 0x93, 0xE2, 0x35, 0x6B, 0x5A, 0x3C, 0x03, 0xD2, 0x8B, 0x70, 0x43, 0xEE, + 0x03, 0x30, 0x79, 0x35, 0xFC, 0x09, 0x73, 0xE4, 0x2D, 0xED, 0xEA, 0xE6, 0x92, 0x1C, 0xEC, 0x85, + 0x31, 0x7D, 0x4E, 0x6B, 0x25, 0x2A, 0x78, 0x30, 0x19, 0xF5, 0x63, 0xE7, 0xDF, 0x8A, 0x87, 0xF4, + 0x3A, 0xAC, 0x7F, 0x18, 0x24, 0x49, 0xDA, 0x3A, 0xD1, 0xD8, 0xB4, 0xB7, 0x05, 0xD1, 0x16, 0x78, + 0x2B, 0x63, 0x3A, 0x1E, 0xC3, 0x33, 0xDE, 0x30, 0x6B, 0x69, 0x1B, 0xFE, 0x9C, 0xF0, 0xC2, 0xB6, + 0x94, 0xC1, 0xD0, 0x90, 0xC3, 0x8A, 0x84, 0xFF, 0x66, 0x8B, 0x61, 0xEB, 0x33, 0x14, 0x66, 0x4F, + 0xF5, 0x6F, 0x8F, 0x90, 0xAB, 0x8A, 0x2A, 0xBA, 0xA2, 0x3F, 0x00, 0xED, 0xF2, 0x2E, 0xD6, 0x61, + 0x3A, 0x06, 0xC2, 0x84, 0xB3, 0xA6, 0xE9, 0x17, 0x33, 0x86, 0x7B, 0x76, 0x60, 0xB9, 0x6F, 0x3C, + 0xCD, 0xBD, 0x18, 0x8E, 0x38, 0xFA, 0x3D, 0xF5, 0xC8, 0xA1, 0x39, 0x87, 0x51, 0xBB, 0x4D, 0x07, + 0xB5, 0x30, 0x1C, 0xCA, 0x99, 0x7C, 0x30, 0xD4, 0xC0, 0x6B, 0xAC, 0x76, 0xE8, 0x1E, 0x10, 0xFD, + 0x6F, 0x83, 0x6E, 0x8B, 0xF1, 0x1B, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, + 0xE0, 0x79, 0x5A, 0x0B, 0xE0, 0xE0, 0x48, 0xC7, 0x6F, 0x0C, 0x00, 0x00, 0x1A, 0x37, 0x00, 0x00, + 0x40, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, + 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, + 0x6C, 0x69, 0x62, 0x2F, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2D, 0x72, 0x75, 0x6C, + 0x65, 0x73, 0x2F, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2D, 0x72, 0x75, 0x6C, 0x65, + 0x73, 0x2E, 0x6A, 0x73, 0xDD, 0x1B, 0x6B, 0x73, 0xE3, 0x34, 0xF0, 0x7B, 0x7F, 0x85, 0x08, 0x33, + 0x24, 0x3D, 0x52, 0x07, 0x18, 0x3E, 0x40, 0x4B, 0x81, 0xD0, 0xF6, 0x20, 0x3C, 0x5A, 0x26, 0x29, + 0x30, 0x0C, 0xC3, 0x34, 0xAA, 0xA3, 0xA4, 0xA6, 0x8E, 0x6D, 0x2C, 0xB9, 0x25, 0xDC, 0xE5, 0xBF, + 0xB3, 0xAB, 0xA7, 0x65, 0x3B, 0x89, 0x73, 0x77, 0x94, 0x47, 0x3F, 0xB4, 0xB6, 0xBC, 0xBB, 0xDA, + 0xB7, 0x56, 0x2B, 0x75, 0xF0, 0xEC, 0x2D, 0x32, 0x8F, 0x72, 0x76, 0x4B, 0x39, 0x3B, 0xA2, 0xB3, + 0x65, 0x94, 0x90, 0x87, 0x8F, 0x83, 0x0F, 0x83, 0x0F, 0xC8, 0xB3, 0xC1, 0x41, 0xA7, 0xE0, 0x8C, + 0x70, 0x91, 0x47, 0xA1, 0xE8, 0x9C, 0x1C, 0x00, 0xE8, 0x01, 0x79, 0x46, 0xCE, 0xD2, 0x6C, 0x95, + 0x47, 0x8B, 0x3B, 0x41, 0x3E, 0x78, 0xEF, 0xFD, 0x8F, 0xC9, 0x97, 0x69, 0xBA, 0x88, 0x19, 0x19, + 0x25, 0x61, 0x00, 0x5F, 0x11, 0xE0, 0xDB, 0x28, 0x64, 0x09, 0x67, 0x33, 0x52, 0x24, 0x33, 0x96, + 0x13, 0x71, 0xC7, 0xC8, 0x30, 0xA3, 0x21, 0xFC, 0xD1, 0x5F, 0xFA, 0xE4, 0x47, 0x96, 0xF3, 0x28, + 0x4D, 0xC8, 0x07, 0xC1, 0x7B, 0xA4, 0x87, 0x00, 0x1D, 0xFD, 0xA9, 0x73, 0x78, 0x82, 0x24, 0x56, + 0x69, 0x41, 0x96, 0x74, 0x45, 0x92, 0x54, 0x10, 0xE0, 0x01, 0x68, 0x44, 0x1C, 0xD8, 0x84, 0x79, + 0xD8, 0x1F, 0x21, 0xCB, 0x04, 0x01, 0x36, 0xC3, 0x74, 0x99, 0xC5, 0x11, 0x4D, 0x42, 0x46, 0x1E, + 0x23, 0x71, 0x07, 0x30, 0x76, 0x82, 0x00, 0x69, 0xFC, 0xAC, 0x69, 0xA4, 0xB7, 0x82, 0x02, 0x38, + 0x05, 0x84, 0x0C, 0xDE, 0xE6, 0x65, 0x40, 0x42, 0x85, 0x66, 0x9A, 0x90, 0x3B, 0x21, 0xB2, 0xE3, + 0xC1, 0xE0, 0xF1, 0xF1, 0x31, 0xA0, 0x92, 0xDD, 0x20, 0xCD, 0x17, 0x83, 0x58, 0x01, 0xF2, 0xC1, + 0xB7, 0xA3, 0xB3, 0x8B, 0xCB, 0xC9, 0xC5, 0x11, 0xB0, 0xAC, 0x51, 0x7E, 0x48, 0x62, 0xC6, 0x39, + 0xC9, 0xD9, 0xEF, 0x45, 0x94, 0x83, 0xB8, 0xB7, 0x2B, 0x42, 0xB3, 0x0C, 0x10, 0xE8, 0x2D, 0x30, + 0x1A, 0xD3, 0x47, 0x92, 0xE6, 0x84, 0x2E, 0x72, 0x06, 0xDF, 0x44, 0x8A, 0x2C, 0x3F, 0xE6, 0x91, + 0x88, 0x92, 0x45, 0x9F, 0xF0, 0x74, 0x2E, 0x1E, 0x69, 0xCE, 0x90, 0xCC, 0x2C, 0x42, 0x0D, 0xDF, + 0x16, 0xC2, 0x68, 0xCC, 0x63, 0x30, 0xE2, 0x1E, 0x40, 0x0A, 0x82, 0x24, 0xA4, 0x33, 0x9C, 0x90, + 0xD1, 0xA4, 0x43, 0xBE, 0x18, 0x4E, 0x46, 0x93, 0x3E, 0x12, 0xF9, 0x69, 0x74, 0xFD, 0xD5, 0xD5, + 0x0F, 0xD7, 0xE4, 0xA7, 0xE1, 0x78, 0x3C, 0xBC, 0xBC, 0x1E, 0x5D, 0x4C, 0xC8, 0xD5, 0x98, 0x9C, + 0x5D, 0x5D, 0x9E, 0x8F, 0xAE, 0x47, 0x57, 0x97, 0xF0, 0xF6, 0x9C, 0x0C, 0x2F, 0x7F, 0x26, 0xDF, + 0x8C, 0x2E, 0xCF, 0xFB, 0x84, 0x45, 0x30, 0x45, 0x0E, 0xBA, 0xCC, 0x72, 0x90, 0x00, 0xD9, 0x8C, + 0x50, 0x97, 0x6C, 0x26, 0x15, 0x37, 0x61, 0xCC, 0x63, 0x61, 0x9E, 0x2A, 0x96, 0x78, 0xC6, 0xC2, + 0x68, 0x1E, 0x85, 0x20, 0x5A, 0xB2, 0x28, 0xE8, 0x82, 0x91, 0x45, 0xFA, 0xC0, 0xF2, 0x04, 0x24, + 0x22, 0x19, 0xCB, 0x97, 0x11, 0x47, 0x9B, 0x72, 0x60, 0x70, 0x86, 0x64, 0xE2, 0x68, 0x19, 0x09, + 0x2A, 0x70, 0xA8, 0x2E, 0x17, 0x4E, 0x34, 0x38, 0xB8, 0xBA, 0xFD, 0x8D, 0x85, 0x22, 0x98, 0xB1, + 0x79, 0x94, 0xB0, 0xEF, 0xF3, 0x14, 0xA8, 0x88, 0x55, 0x0F, 0xD8, 0x4A, 0x73, 0xC1, 0xFB, 0xA4, + 0x73, 0x73, 0xC3, 0xF8, 0x77, 0xE9, 0xAC, 0x88, 0x59, 0xA7, 0x4F, 0x5E, 0x90, 0x07, 0x1A, 0x17, + 0xEC, 0x98, 0x88, 0xBC, 0x60, 0x64, 0x0D, 0x8E, 0xA2, 0x01, 0x83, 0x09, 0x0B, 0x0B, 0xD0, 0xEC, + 0x6A, 0x0C, 0x80, 0x9C, 0x9C, 0x12, 0x33, 0x2E, 0xDF, 0x99, 0x80, 0x91, 0x87, 0x34, 0x9A, 0x91, + 0xF7, 0x4E, 0x0E, 0x1E, 0x68, 0x8E, 0x54, 0xA2, 0x19, 0x15, 0x20, 0xD4, 0xA9, 0xB1, 0x5D, 0xAF, + 0x13, 0x04, 0x83, 0x42, 0x44, 0x31, 0x1F, 0xD8, 0xAF, 0x9D, 0x43, 0x05, 0xCE, 0x35, 0xF1, 0x9B, + 0x1C, 0xA9, 0xDD, 0xD0, 0x2C, 0xBA, 0x09, 0x41, 0x55, 0x89, 0xB8, 0x89, 0x12, 0x01, 0xD2, 0xD3, + 0xF8, 0xE6, 0x7D, 0x8F, 0xD2, 0xC0, 0x60, 0x1C, 0x49, 0x8C, 0x23, 0xC0, 0x38, 0x52, 0x18, 0x47, + 0x06, 0xA3, 0x99, 0x76, 0x5B, 0x82, 0x55, 0x2A, 0x5A, 0xCC, 0xEF, 0x98, 0xA0, 0xC0, 0x39, 0xFD, + 0x16, 0xDC, 0x65, 0x04, 0xE6, 0x04, 0x1A, 0x83, 0x67, 0xCF, 0xC8, 0xE7, 0x61, 0x4C, 0x39, 0x07, + 0x6D, 0x93, 0xDE, 0xBC, 0x48, 0x42, 0xB4, 0x07, 0xE9, 0x1D, 0x92, 0x17, 0x07, 0x04, 0x7E, 0xCC, + 0xC8, 0x26, 0x1A, 0x3D, 0xF0, 0x8F, 0x2C, 0x05, 0x7B, 0x49, 0x04, 0xFD, 0x13, 0xCD, 0x49, 0xEF, + 0x2D, 0xAB, 0xA7, 0x20, 0xE2, 0x97, 0x69, 0x72, 0x59, 0xC4, 0xB1, 0xB2, 0x66, 0x09, 0xE5, 0xE5, + 0x4B, 0xE2, 0xC1, 0x0D, 0xF3, 0x9C, 0xAE, 0xEC, 0xF7, 0x20, 0x57, 0x73, 0xF2, 0x43, 0x45, 0xDC, + 0xFD, 0x88, 0xBB, 0x3C, 0x7D, 0x24, 0x09, 0x7B, 0xDC, 0xAC, 0xA0, 0xE0, 0xB9, 0xCE, 0x59, 0x9E, + 0xED, 0x2F, 0xF2, 0x3C, 0xCD, 0x7B, 0xDD, 0x28, 0x91, 0xB3, 0x1E, 0xD1, 0x7C, 0x51, 0x2C, 0x41, + 0xEF, 0x5D, 0x70, 0xA5, 0x91, 0x1A, 0x23, 0x28, 0xD9, 0x58, 0x4F, 0x4C, 0x0C, 0x2B, 0xC7, 0xA4, + 0x43, 0xDE, 0x25, 0x5F, 0x4F, 0xAE, 0x2E, 0x03, 0x0C, 0xB5, 0x64, 0x11, 0xCD, 0x57, 0x4E, 0x0E, + 0x4C, 0x49, 0xFA, 0x67, 0x6D, 0x9E, 0x64, 0x46, 0xB2, 0x12, 0x80, 0xAA, 0x6B, 0x52, 0x05, 0x4B, + 0x9A, 0x95, 0x34, 0x9E, 0xF3, 0x8A, 0x94, 0x80, 0x21, 0x8A, 0x3C, 0xB1, 0x83, 0xEE, 0x27, 0xA1, + 0x4B, 0xE0, 0x08, 0x19, 0xC9, 0x20, 0x26, 0x50, 0xA7, 0xA3, 0xD9, 0xF7, 0x39, 0xC4, 0xC8, 0x1F, + 0x40, 0x25, 0xC0, 0xAF, 0x87, 0xFD, 0x1A, 0x52, 0x98, 0x33, 0x2A, 0xD8, 0x75, 0x04, 0xA8, 0x52, + 0x73, 0xE7, 0xF0, 0x86, 0xE0, 0x6E, 0xFC, 0x30, 0x10, 0xE9, 0x0F, 0xD7, 0x67, 0x13, 0x29, 0x60, + 0xAF, 0x42, 0x62, 0x5D, 0x92, 0x51, 0xCA, 0xEB, 0x4C, 0x6D, 0x25, 0x4B, 0xD8, 0x1F, 0xE2, 0x7B, + 0x08, 0xFB, 0xEB, 0xF4, 0x9E, 0x25, 0x4E, 0x1A, 0xA7, 0x0F, 0x1F, 0x42, 0x2B, 0xA5, 0x8E, 0x5A, + 0x56, 0xA7, 0xFA, 0x6D, 0xD5, 0xB1, 0xD1, 0x11, 0x4F, 0x0E, 0xD6, 0x3D, 0x34, 0xC4, 0xE0, 0x99, + 0x4C, 0xBD, 0x63, 0x86, 0x99, 0x0B, 0x4C, 0xCB, 0x21, 0xAF, 0x03, 0x38, 0xA6, 0x75, 0xE3, 0x11, + 0xD6, 0x69, 0x88, 0x34, 0x85, 0xCC, 0x34, 0xE5, 0x38, 0x79, 0x95, 0xB8, 0xE8, 0x69, 0xAB, 0xEE, + 0x13, 0x06, 0x06, 0xE3, 0xE5, 0x4B, 0x4F, 0x51, 0x55, 0x94, 0x8B, 0x65, 0x26, 0x56, 0xCA, 0x28, + 0x06, 0x47, 0xDA, 0xF8, 0x95, 0x10, 0x8D, 0xB5, 0x5B, 0xA0, 0xD7, 0x59, 0x0D, 0x78, 0x5A, 0xE4, + 0x21, 0x7B, 0xD2, 0x70, 0xD4, 0xFA, 0xDD, 0x11, 0x89, 0x0A, 0x68, 0x73, 0x20, 0x4A, 0x85, 0x91, + 0xD3, 0xC6, 0x98, 0xF1, 0x95, 0x7A, 0xE2, 0xE1, 0x59, 0x7D, 0x21, 0xB6, 0x0D, 0x1B, 0x83, 0xB1, + 0x31, 0x76, 0x2A, 0x54, 0x94, 0xDE, 0x90, 0x82, 0xAF, 0xC8, 0x60, 0x1E, 0xC1, 0x2B, 0x66, 0xC1, + 0x5F, 0x7E, 0x3D, 0xD9, 0xE8, 0xE9, 0xC6, 0xB3, 0xEB, 0x8B, 0x96, 0x7E, 0xB2, 0x4E, 0x7F, 0x7D, + 0xC7, 0x9C, 0x93, 0x4F, 0x3D, 0x4D, 0x4F, 0xC1, 0x34, 0xF9, 0x43, 0x04, 0x4C, 0x48, 0x9B, 0xCC, + 0x29, 0xCC, 0xAE, 0xAB, 0x94, 0xF3, 0x54, 0x56, 0x51, 0x21, 0x8D, 0x63, 0x55, 0x46, 0x85, 0xA0, + 0x67, 0x58, 0x42, 0x43, 0x5C, 0x01, 0x67, 0x40, 0x2E, 0x14, 0xF1, 0x2A, 0x20, 0x23, 0x18, 0x64, + 0x74, 0xD6, 0xC7, 0x72, 0x0B, 0xD1, 0x7E, 0x99, 0xCA, 0x62, 0x30, 0xE0, 0xE5, 0x69, 0x7A, 0x87, + 0xD3, 0x5F, 0x7B, 0xDE, 0xC8, 0xDB, 0xDE, 0xDB, 0xA1, 0x0B, 0x36, 0x8F, 0xBD, 0x36, 0x21, 0x27, + 0x85, 0xC4, 0x1F, 0x80, 0xCB, 0x68, 0x4E, 0x97, 0xE4, 0x45, 0x2A, 0xDD, 0x73, 0x8D, 0x55, 0x15, + 0x0A, 0x8F, 0x7F, 0xB1, 0x18, 0x91, 0x62, 0xF8, 0x13, 0x18, 0xF1, 0x03, 0x4B, 0xA2, 0x24, 0xA5, + 0x1E, 0x1B, 0x78, 0x91, 0xED, 0xE3, 0xF7, 0x80, 0xB4, 0x66, 0xC4, 0x99, 0x15, 0xA7, 0x3B, 0xC5, + 0x49, 0x2B, 0xE6, 0x1E, 0x5D, 0x5E, 0x5F, 0x8C, 0x2F, 0x87, 0xDF, 0x2A, 0x97, 0xF1, 0x09, 0x8D, + 0x74, 0x48, 0xF0, 0x9A, 0x93, 0xA8, 0x12, 0x40, 0xE1, 0xB4, 0x2A, 0x2A, 0xFC, 0xB2, 0x66, 0x98, + 0x45, 0x67, 0x12, 0x42, 0xB2, 0xAA, 0xDD, 0xA9, 0xAA, 0xB8, 0x2F, 0x61, 0xDD, 0xC1, 0x2A, 0xCB, + 0x86, 0x55, 0x34, 0x03, 0x0C, 0xA8, 0xD9, 0x64, 0x75, 0x2A, 0xBF, 0x2C, 0xA2, 0x07, 0x96, 0xC8, + 0x25, 0x26, 0x90, 0x3A, 0x8D, 0x92, 0xAC, 0x10, 0xF2, 0x9D, 0xF0, 0xBB, 0xB4, 0x88, 0x01, 0x10, + 0xAB, 0x3F, 0xF9, 0x96, 0xEB, 0x0F, 0x2A, 0x12, 0xB1, 0xCA, 0x06, 0x08, 0xA1, 0x27, 0x93, 0x40, + 0x99, 0x8A, 0x35, 0x32, 0x3A, 0x87, 0x47, 0x8C, 0xB6, 0x80, 0x3C, 0x4F, 0xB1, 0xB0, 0xA4, 0x90, + 0xB3, 0x59, 0x1F, 0xCB, 0xDE, 0x9C, 0x01, 0x36, 0x7B, 0x50, 0x44, 0xA7, 0x1A, 0x81, 0x0F, 0xF4, + 0xC3, 0x51, 0x34, 0x1B, 0x98, 0x15, 0x73, 0xB0, 0x5C, 0x1D, 0xE9, 0xE7, 0x69, 0x9F, 0x64, 0x94, + 0x4B, 0x59, 0xF4, 0x74, 0x65, 0x7E, 0x3A, 0x0E, 0xB0, 0x13, 0xC0, 0x5A, 0x20, 0x29, 0x4A, 0xF6, + 0x60, 0x35, 0x98, 0x82, 0xB7, 0x1F, 0xCD, 0x53, 0xA8, 0x38, 0xA7, 0x84, 0x61, 0x02, 0x82, 0x44, + 0x5D, 0x2E, 0x5F, 0x99, 0x4B, 0x3A, 0x21, 0x4D, 0x00, 0x18, 0x05, 0x96, 0xF0, 0xDA, 0x79, 0x6A, + 0x6E, 0xA8, 0xC4, 0x5F, 0xAB, 0xB9, 0x2F, 0xF1, 0x57, 0x3A, 0xF7, 0xB4, 0xEC, 0xA4, 0x2C, 0x39, + 0xA0, 0x8A, 0x72, 0x4E, 0x5E, 0x40, 0x3E, 0x82, 0xD2, 0x98, 0x7D, 0xA2, 0xA1, 0x3F, 0x5D, 0x93, + 0x21, 0xC9, 0xD4, 0x18, 0x50, 0xA1, 0x02, 0x5C, 0x32, 0x86, 0x4C, 0x11, 0x2B, 0x09, 0x9A, 0x59, + 0x0D, 0xCA, 0x3E, 0xEC, 0x7B, 0x5C, 0x00, 0xB4, 0x44, 0x2A, 0x56, 0x19, 0x0B, 0x16, 0x4C, 0xB8, + 0xEC, 0xE1, 0x22, 0x0C, 0xF9, 0x2E, 0x3B, 0xB7, 0xE2, 0xAC, 0xEC, 0x95, 0x25, 0x4C, 0x05, 0xED, + 0xE5, 0xFF, 0x00, 0x58, 0x4A, 0xCA, 0xA5, 0x8C, 0x82, 0x1C, 0x57, 0x4A, 0x43, 0x9F, 0xBC, 0x74, + 0x73, 0x4D, 0xB3, 0x86, 0x51, 0x2F, 0x36, 0xD6, 0x27, 0x3B, 0x7D, 0x19, 0x64, 0xCE, 0x81, 0xD7, + 0x58, 0xEF, 0xB2, 0xD4, 0xA6, 0xEA, 0x2C, 0x4E, 0x8B, 0x99, 0xCC, 0x8A, 0x1C, 0x22, 0x9D, 0xB5, + 0xF3, 0x86, 0x24, 0x75, 0x01, 0xC2, 0xF5, 0x7C, 0x96, 0x28, 0x48, 0xE8, 0xC8, 0xE9, 0x8F, 0x6F, + 0xC4, 0xA8, 0x96, 0xEA, 0xDE, 0x46, 0xB5, 0x98, 0x4D, 0xD6, 0xDD, 0x64, 0x59, 0x67, 0x52, 0x88, + 0xC8, 0x31, 0x8B, 0x19, 0xAC, 0x1A, 0x3D, 0x7F, 0x92, 0xB3, 0x6F, 0xAF, 0x7E, 0x38, 0xBF, 0x79, + 0x3E, 0x1A, 0x5F, 0x4C, 0xAE, 0xAF, 0xC6, 0x17, 0x1B, 0x4D, 0x71, 0x26, 0xD7, 0x41, 0x28, 0xB5, + 0xA4, 0x51, 0x73, 0xCD, 0xC4, 0x1C, 0xC4, 0x2D, 0xA5, 0x14, 0xB5, 0xE6, 0xF5, 0x71, 0xF7, 0xA7, + 0x74, 0x09, 0x08, 0x91, 0x68, 0xB0, 0xD1, 0xF6, 0x30, 0x7B, 0xF9, 0x45, 0x31, 0x9F, 0xB3, 0x7C, + 0xAD, 0xE8, 0x69, 0x5D, 0xE9, 0x17, 0x20, 0x26, 0x49, 0xAF, 0x5E, 0x2F, 0xCA, 0xC0, 0x9B, 0x25, + 0xDF, 0xB9, 0xF5, 0x01, 0x5D, 0x3D, 0xCF, 0x24, 0xF3, 0xB9, 0xD2, 0xD5, 0xAC, 0x9D, 0x79, 0x34, + 0x74, 0xD5, 0x44, 0xCF, 0x61, 0xEA, 0x89, 0x64, 0xDA, 0x33, 0x96, 0x92, 0xA3, 0x6C, 0x32, 0x5C, + 0x2B, 0x6F, 0xD0, 0x60, 0x00, 0x87, 0x7F, 0x4E, 0xAA, 0xC6, 0xD4, 0x82, 0x05, 0x40, 0x3F, 0x8D, + 0x1F, 0x58, 0x6F, 0x7B, 0x6C, 0x5A, 0xD2, 0x8E, 0xBC, 0x92, 0xF3, 0x79, 0x14, 0x23, 0x2B, 0x37, + 0xA5, 0xB2, 0x67, 0x6C, 0xC6, 0x1D, 0xB3, 0xBD, 0xEE, 0xDC, 0x9A, 0x49, 0xA2, 0x41, 0xAD, 0xA6, + 0x79, 0x3E, 0x69, 0x08, 0x72, 0x8F, 0x9C, 0x09, 0x76, 0x33, 0x9D, 0x17, 0xE6, 0xAD, 0x32, 0x8A, + 0x63, 0xBE, 0x3E, 0xC9, 0x26, 0x45, 0x5B, 0x5C, 0x89, 0xB9, 0x8F, 0x6A, 0x4A, 0x33, 0x68, 0x1A, + 0xBE, 0x88, 0xEB, 0x56, 0x69, 0xEA, 0x3B, 0x7A, 0xCF, 0xB8, 0x9F, 0xB4, 0x0D, 0x39, 0x1C, 0xAD, + 0x66, 0x2D, 0xF7, 0x15, 0x2B, 0x99, 0x3D, 0x43, 0xA3, 0xB2, 0x37, 0x5A, 0x1B, 0x52, 0xE5, 0x45, + 0xC9, 0x8C, 0xD9, 0x58, 0x91, 0x4D, 0xA8, 0xEA, 0xB6, 0x8A, 0xA8, 0xD2, 0x0A, 0x6B, 0x41, 0x6C, + 0x8E, 0x01, 0x71, 0x33, 0x25, 0x41, 0x22, 0x72, 0xA9, 0xDB, 0x12, 0x64, 0xD8, 0x4E, 0xD9, 0x33, + 0xC2, 0xDE, 0x48, 0x54, 0x79, 0xB1, 0xA4, 0x89, 0x6F, 0xC8, 0x7F, 0x9A, 0x44, 0xD5, 0x4D, 0xFA, + 0xE4, 0xD5, 0x52, 0x60, 0xBB, 0xD5, 0x88, 0x6A, 0x83, 0x4E, 0x80, 0x67, 0xEC, 0x8F, 0xDD, 0x16, + 0xE1, 0x3D, 0x13, 0x6F, 0x66, 0x51, 0x82, 0xC9, 0x35, 0xBD, 0xED, 0x5E, 0x72, 0xBA, 0xD6, 0x60, + 0xE4, 0x2A, 0x43, 0x45, 0xD1, 0x98, 0x24, 0xCE, 0x3D, 0x1A, 0x19, 0x44, 0xD6, 0x6F, 0x99, 0xAD, + 0x61, 0x66, 0xB0, 0x1B, 0x40, 0x7E, 0x84, 0x73, 0xE9, 0xBE, 0x75, 0x0F, 0x0B, 0xC5, 0xCB, 0x16, + 0xAE, 0x32, 0x0A, 0x1D, 0x3D, 0x5A, 0xC4, 0x42, 0xD1, 0x97, 0x6E, 0x36, 0x8F, 0x16, 0x05, 0x36, + 0x49, 0x1F, 0x22, 0x90, 0x7F, 0x98, 0x65, 0x8A, 0x39, 0x3E, 0x7D, 0xBD, 0x54, 0x0E, 0xFA, 0xAC, + 0x49, 0xB5, 0xFF, 0xFA, 0xAA, 0xF0, 0x1A, 0x9D, 0x4C, 0x09, 0xF0, 0x84, 0x09, 0xBB, 0x9C, 0xF3, + 0x90, 0xB7, 0x2F, 0x24, 0x03, 0x18, 0xE0, 0x9A, 0x97, 0xF6, 0x59, 0xF5, 0xD6, 0xA2, 0x6E, 0x9A, + 0xA4, 0x6D, 0xA1, 0x80, 0xF1, 0x01, 0xBD, 0xE6, 0x8B, 0x1B, 0x0C, 0x92, 0xE1, 0x97, 0x17, 0xB0, + 0x45, 0xEF, 0x0C, 0x3A, 0xF0, 0xDB, 0x4E, 0xD1, 0xAE, 0xA6, 0x7B, 0xCD, 0x42, 0xC2, 0x0F, 0xAF, + 0x76, 0xE1, 0xB0, 0x67, 0x3D, 0xF1, 0x26, 0x42, 0x49, 0x92, 0x74, 0xD1, 0x01, 0x31, 0xB1, 0x2D, + 0xA0, 0x94, 0x8C, 0x7E, 0x38, 0x3D, 0x75, 0x18, 0xFD, 0x1D, 0x15, 0x91, 0xD2, 0x4B, 0xAB, 0x7A, + 0xA8, 0x4F, 0x9E, 0x3C, 0xCC, 0x06, 0x03, 0xA2, 0x22, 0x4B, 0x59, 0x14, 0xA6, 0x01, 0xF3, 0xB8, + 0xA3, 0x9C, 0x02, 0x76, 0xCD, 0xB1, 0x54, 0x09, 0x74, 0x2C, 0xC0, 0x6C, 0x82, 0x65, 0x01, 0x20, + 0xC0, 0x53, 0x84, 0xE7, 0x4D, 0x78, 0x7A, 0xC2, 0xBA, 0xE8, 0xC7, 0xE5, 0xD2, 0x47, 0xC1, 0x55, + 0xA7, 0xB9, 0x65, 0xB0, 0xD0, 0x4B, 0x94, 0xA4, 0x0F, 0xE7, 0x51, 0xF7, 0x50, 0x28, 0x14, 0xF8, + 0x9E, 0x82, 0xB6, 0x13, 0xDD, 0x91, 0xB9, 0x63, 0xE1, 0xBD, 0xD4, 0xF4, 0x9C, 0xC2, 0xB4, 0x8C, + 0xE6, 0xF1, 0xCA, 0xEC, 0x5A, 0x6F, 0x7D, 0x2E, 0x75, 0x2F, 0x2D, 0x28, 0xCF, 0xD2, 0x2E, 0x59, + 0xBC, 0x52, 0x35, 0xC8, 0xA5, 0x11, 0xFF, 0xAD, 0xB5, 0xA0, 0xEF, 0x62, 0x06, 0x53, 0x79, 0xD3, + 0x7F, 0xB5, 0x22, 0x7C, 0xA5, 0x1C, 0xF7, 0x4F, 0x15, 0x86, 0xFF, 0xC3, 0x6C, 0xF9, 0x54, 0xA5, + 0xED, 0x96, 0x9A, 0x43, 0x93, 0xFE, 0x07, 0xB2, 0xE2, 0xD3, 0x17, 0x1F, 0xED, 0xAA, 0xF4, 0x37, + 0x5F, 0x7F, 0xBC, 0xF8, 0x3C, 0x8E, 0x92, 0x7B, 0xC2, 0xBD, 0x69, 0xC6, 0x36, 0x35, 0x4E, 0xF1, + 0x11, 0x9F, 0xA6, 0x6B, 0x57, 0x64, 0xBA, 0xD6, 0xA9, 0xA6, 0x27, 0x53, 0xB6, 0xEE, 0xF5, 0x93, + 0x6B, 0x3C, 0x25, 0xC1, 0xC3, 0x6F, 0x5B, 0xD2, 0xC3, 0xB3, 0xBD, 0x6F, 0x60, 0xCE, 0x3E, 0x38, + 0x3C, 0x31, 0x93, 0xC5, 0x11, 0x09, 0x73, 0x3A, 0x32, 0x14, 0xA7, 0xD0, 0xA1, 0x37, 0x74, 0xF1, + 0x20, 0x5C, 0x9E, 0x9C, 0xAB, 0x2A, 0x68, 0x96, 0x32, 0xB9, 0x3E, 0x21, 0x1E, 0x5A, 0x55, 0x12, + 0x4E, 0x98, 0x78, 0x4C, 0xF3, 0x7B, 0x32, 0xFC, 0x7E, 0x24, 0x9B, 0xFB, 0xBC, 0x96, 0x23, 0x74, + 0x17, 0xD6, 0xBC, 0x4F, 0xA7, 0xD3, 0xDF, 0xE8, 0x03, 0xE5, 0x21, 0x9C, 0x91, 0x98, 0x26, 0xAE, + 0x3A, 0x0C, 0x20, 0xF6, 0x00, 0xA3, 0x0B, 0x0B, 0xD6, 0x24, 0x5D, 0x6A, 0xF7, 0xD6, 0xE3, 0xDD, + 0x13, 0x0F, 0xDA, 0x5B, 0x41, 0x1A, 0x0F, 0x09, 0xB6, 0xAC, 0x28, 0x2E, 0x90, 0x77, 0x76, 0x1A, + 0x24, 0xC7, 0x8D, 0x79, 0xCF, 0x75, 0x62, 0x65, 0x02, 0x81, 0x6B, 0x07, 0x8B, 0x04, 0x9E, 0x6C, + 0x5C, 0xAA, 0xAB, 0x22, 0x4E, 0xBB, 0x05, 0x2F, 0x68, 0x8C, 0xF9, 0x56, 0x35, 0x91, 0xE5, 0x57, + 0xA4, 0xA1, 0x82, 0xDB, 0xB1, 0x74, 0xC7, 0xE2, 0x8C, 0x9B, 0x9E, 0xB9, 0xCC, 0x49, 0x0A, 0x14, + 0x6F, 0x8F, 0x98, 0x80, 0xAF, 0x24, 0x3F, 0xA3, 0xBA, 0x33, 0xC8, 0x97, 0xD2, 0xBC, 0xE9, 0xBC, + 0xC2, 0x46, 0x35, 0xD7, 0x90, 0xA1, 0x2B, 0x7E, 0x0D, 0x79, 0x2E, 0xF0, 0x1A, 0x4B, 0xBB, 0xFC, + 0xB1, 0x51, 0xB7, 0xB5, 0x9E, 0xAF, 0x56, 0xE8, 0xCE, 0xB3, 0xFB, 0xD2, 0x41, 0x22, 0xE2, 0x3D, + 0xC9, 0x01, 0x60, 0x57, 0x5A, 0x6F, 0x59, 0x70, 0xD9, 0x7E, 0xA7, 0xE0, 0xDD, 0xC9, 0x11, 0x43, + 0x3E, 0xF4, 0x61, 0x43, 0xD0, 0x2D, 0x07, 0xB4, 0x97, 0xFF, 0x42, 0xA5, 0x6A, 0xFF, 0x90, 0x7A, + 0x8B, 0x48, 0xCD, 0xA7, 0x9A, 0x86, 0x0C, 0x68, 0x4D, 0x01, 0x34, 0x4D, 0xC7, 0x62, 0xCE, 0x6A, + 0xE4, 0xD5, 0x86, 0xA2, 0x2D, 0x59, 0x38, 0x38, 0xD4, 0x7C, 0x74, 0x0B, 0x31, 0x3F, 0xFA, 0xC8, + 0xC8, 0x55, 0x9F, 0xE8, 0x09, 0x94, 0x2E, 0x1D, 0x65, 0x9B, 0xDA, 0x55, 0x4D, 0xA0, 0x24, 0xAC, + 0x98, 0xA0, 0x76, 0x6D, 0xA1, 0x7E, 0x65, 0x41, 0x3A, 0x5D, 0x93, 0x36, 0x8E, 0xCD, 0x83, 0xFB, + 0xBA, 0xDE, 0x9D, 0xA3, 0x41, 0xF6, 0xE6, 0x3C, 0x6D, 0x16, 0xCD, 0xA9, 0x7E, 0x98, 0xAE, 0x2B, + 0x7B, 0x48, 0x4D, 0x6B, 0x8F, 0x2C, 0xDF, 0x5C, 0x60, 0xA9, 0xF8, 0x1C, 0xDB, 0x50, 0x55, 0xD7, + 0xB8, 0xC2, 0xB8, 0x98, 0x61, 0xD4, 0xE2, 0x7C, 0xC8, 0xA4, 0xE5, 0xA3, 0x5E, 0x57, 0xEC, 0xEE, + 0x5C, 0x00, 0x7E, 0xBC, 0x32, 0xBB, 0x2D, 0x47, 0x69, 0xEF, 0x5C, 0x50, 0xA9, 0x21, 0x60, 0x96, + 0x5A, 0x9B, 0x39, 0x37, 0x70, 0xBE, 0xF1, 0xB4, 0xA3, 0x1E, 0x37, 0x14, 0xC3, 0xF2, 0x00, 0xFB, + 0x98, 0xFC, 0x82, 0x7F, 0x7F, 0xAD, 0x5C, 0x18, 0x29, 0x9B, 0x72, 0xCB, 0xD1, 0x52, 0x75, 0x43, + 0xA0, 0xFE, 0xB6, 0xDA, 0x02, 0xFC, 0xCD, 0x07, 0x4C, 0xE7, 0x50, 0x7A, 0x08, 0x55, 0x49, 0xB6, + 0x76, 0xB3, 0x0D, 0xE7, 0xA9, 0x9A, 0xE4, 0x6B, 0x1D, 0xAB, 0x56, 0xCE, 0x53, 0x35, 0xC9, 0x8D, + 0xC7, 0xAA, 0x33, 0xE4, 0x7E, 0xDF, 0x43, 0x55, 0x4D, 0xD4, 0x9E, 0xAD, 0x92, 0xD7, 0x3E, 0x55, + 0xD5, 0x14, 0x5D, 0xA9, 0xEE, 0xB4, 0xD5, 0xF2, 0x78, 0xB5, 0x7A, 0xAA, 0xEA, 0x08, 0x38, 0x31, + 0xAB, 0x71, 0xB5, 0xBB, 0x3C, 0x77, 0x44, 0x22, 0xAE, 0x88, 0xB4, 0xAD, 0xCF, 0x15, 0xF0, 0x2B, + 0x9E, 0xA3, 0x7A, 0xC8, 0x12, 0x61, 0xA3, 0xFB, 0x8D, 0x6D, 0x1F, 0x95, 0x82, 0x3D, 0x16, 0x28, + 0xBE, 0x8D, 0xD0, 0xA5, 0xDE, 0x8D, 0x35, 0xAB, 0x4C, 0x82, 0x4F, 0xA2, 0x3F, 0x19, 0x7A, 0x9A, + 0xC2, 0xE5, 0xF0, 0xD6, 0x27, 0xEF, 0xBF, 0xF7, 0x1E, 0x9A, 0xA5, 0x48, 0xD4, 0x85, 0xCA, 0x72, + 0x7D, 0x19, 0x73, 0x55, 0x1E, 0x2D, 0xE9, 0x1F, 0xD1, 0xB2, 0x58, 0xC2, 0x40, 0x9C, 0x3E, 0xB2, + 0x99, 0xAD, 0x7D, 0xE4, 0x6D, 0xCD, 0x5A, 0x71, 0xE3, 0x5D, 0xDB, 0xC2, 0xD9, 0xE4, 0x88, 0x9A, + 0x52, 0xC0, 0x58, 0xD3, 0x56, 0x8D, 0x98, 0xD4, 0x67, 0x3C, 0xD0, 0xCD, 0x01, 0x65, 0x4E, 0x2E, + 0x4A, 0x2E, 0xAF, 0x0B, 0xE4, 0x39, 0x40, 0xB5, 0xB7, 0x30, 0xA0, 0xD6, 0x35, 0xC6, 0xDB, 0xD9, + 0x36, 0x36, 0x97, 0xFF, 0xDC, 0x86, 0xD7, 0xB3, 0xB0, 0x51, 0x6C, 0xDF, 0x97, 0xBC, 0x5A, 0x40, + 0x59, 0xFD, 0x9F, 0x9E, 0x9A, 0xAB, 0xA5, 0x00, 0x42, 0xDC, 0x30, 0x5A, 0xE2, 0x84, 0xAC, 0xB7, + 0x78, 0x4A, 0x99, 0x15, 0xBE, 0x69, 0xDE, 0x1D, 0x59, 0xB2, 0x75, 0x7A, 0xAC, 0xDF, 0xEA, 0xDC, + 0x99, 0x27, 0x77, 0x5F, 0x31, 0x70, 0xCD, 0x62, 0x7F, 0xF3, 0xAA, 0xC6, 0x20, 0xA0, 0xF7, 0x3B, + 0xE6, 0xAC, 0xDC, 0x46, 0xD0, 0xA4, 0x2D, 0xB9, 0xDD, 0x97, 0x12, 0x14, 0xE0, 0xC6, 0xF3, 0x4F, + 0xB5, 0x4B, 0x84, 0xD9, 0x35, 0x60, 0x50, 0x1A, 0x55, 0xCC, 0xB4, 0x2D, 0x91, 0x1D, 0xA2, 0xAB, + 0xFE, 0xDE, 0x64, 0xE1, 0x66, 0x33, 0x2D, 0xDE, 0x93, 0x93, 0x1F, 0x74, 0xFF, 0x4F, 0x06, 0x9A, + 0xFC, 0x02, 0xBF, 0x73, 0x79, 0x51, 0xAE, 0xA4, 0x1E, 0xDC, 0x13, 0x07, 0x9D, 0xC3, 0x4A, 0xC7, + 0xAA, 0x4D, 0xDB, 0xBF, 0xB7, 0xE1, 0xDA, 0x9C, 0x13, 0x73, 0x7F, 0x3F, 0x51, 0x8C, 0x6D, 0x6F, + 0x6F, 0x38, 0xE6, 0xF7, 0xDA, 0xA2, 0xD8, 0x06, 0xE1, 0x3B, 0xEF, 0x94, 0xA5, 0x6B, 0x7B, 0x19, + 0xB3, 0xD5, 0x3D, 0x4A, 0xB5, 0x0D, 0x6A, 0x70, 0x26, 0x5C, 0xFC, 0xC8, 0xE9, 0x6B, 0x58, 0xB7, + 0xA9, 0x2C, 0xD7, 0xB3, 0x36, 0xD6, 0xE5, 0xC8, 0xC9, 0xB6, 0x4E, 0x9D, 0xAD, 0xD2, 0x37, 0x36, + 0x82, 0xA4, 0x02, 0x80, 0x6D, 0xAF, 0x9A, 0xDF, 0x1C, 0x1F, 0x65, 0xED, 0x54, 0x35, 0xFE, 0x99, + 0x5D, 0xA1, 0x8E, 0x49, 0x59, 0x55, 0x5B, 0xA3, 0xB9, 0xC8, 0x80, 0x1C, 0x6B, 0x08, 0xE8, 0xBE, + 0xA1, 0xB1, 0x3B, 0xBA, 0x9B, 0x73, 0xDC, 0xDE, 0x5E, 0xE9, 0xB5, 0xB4, 0x5A, 0x9C, 0xF3, 0xDD, + 0x96, 0x81, 0x7B, 0x48, 0x22, 0x9D, 0x9B, 0xF6, 0xE2, 0x5B, 0x90, 0xFB, 0xBB, 0x76, 0xA9, 0xED, + 0x82, 0x72, 0xCC, 0x97, 0x63, 0x7B, 0x7D, 0x30, 0x48, 0x55, 0xC3, 0x31, 0xD0, 0x7D, 0x74, 0x35, + 0xF9, 0x49, 0x6B, 0x57, 0xD7, 0xF3, 0x3F, 0xD5, 0x9E, 0xBC, 0x74, 0x22, 0xE2, 0x2F, 0xEA, 0xE0, + 0x80, 0xAE, 0x67, 0x35, 0x91, 0xA3, 0xD0, 0x4D, 0x71, 0x0D, 0x57, 0x87, 0x87, 0xAD, 0x56, 0x59, + 0x68, 0x74, 0xC9, 0xBB, 0xB5, 0xCC, 0xD8, 0xF5, 0xD4, 0x40, 0x94, 0x72, 0x64, 0xCD, 0x06, 0xD4, + 0xE1, 0x3F, 0x63, 0x80, 0xFE, 0x9F, 0x20, 0xB6, 0xC4, 0x07, 0xED, 0xF5, 0x71, 0x5A, 0xAE, 0x66, + 0xAB, 0x9C, 0x85, 0x6C, 0xA0, 0xCF, 0xFE, 0xC0, 0x7F, 0xBF, 0x89, 0xA0, 0xB7, 0x2E, 0xA9, 0xCA, + 0xBE, 0x98, 0x21, 0x28, 0xB5, 0x83, 0xDD, 0xB2, 0xED, 0xFB, 0x5A, 0xA7, 0xF2, 0xB2, 0x47, 0x6D, + 0xBF, 0x35, 0x80, 0x8D, 0xB3, 0x10, 0xDB, 0xDB, 0x81, 0xE9, 0x69, 0xE9, 0x9E, 0xD9, 0xF6, 0x36, + 0xA6, 0xC4, 0x33, 0xFF, 0x7B, 0xA5, 0x5D, 0x04, 0x11, 0x1D, 0x37, 0x3E, 0xBE, 0xBC, 0x29, 0xBC, + 0xF9, 0xDF, 0x5E, 0xAA, 0xC0, 0xE0, 0xC0, 0xCD, 0x77, 0x53, 0x5B, 0x5D, 0xC7, 0x35, 0x23, 0x1B, + 0x48, 0x48, 0x38, 0xAB, 0xC0, 0x66, 0xA0, 0x7A, 0x55, 0x5D, 0xBD, 0xB8, 0xB6, 0xB3, 0x7B, 0x6D, + 0x6D, 0xE0, 0x80, 0x9A, 0xE7, 0xB2, 0xCA, 0xB1, 0xF4, 0x9B, 0x16, 0x35, 0x5B, 0xC2, 0x3B, 0x72, + 0x6A, 0xCF, 0xC6, 0xC1, 0x6F, 0x44, 0xAF, 0x3B, 0xE8, 0x1E, 0x06, 0x59, 0x9A, 0xE1, 0xBC, 0xEB, + 0x83, 0xBF, 0x00, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB7, 0x4A, 0x48, + 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, + 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, + 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, + 0x2F, 0x73, 0x74, 0x6F, 0x72, 0x61, 0x67, 0x65, 0x2F, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, + 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0xCD, 0x93, 0x96, 0x85, 0x71, 0x03, 0x00, 0x00, 0xF0, + 0x07, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, + 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, + 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x73, 0x74, 0x6F, 0x72, 0x61, 0x67, 0x65, 0x2F, 0x69, + 0x6E, 0x64, 0x65, 0x78, 0x2E, 0x64, 0x2E, 0x74, 0x73, 0xAD, 0x55, 0x59, 0x6F, 0x13, 0x31, 0x10, + 0x7E, 0xCF, 0xAF, 0x18, 0xFA, 0x42, 0x5B, 0x95, 0x35, 0xAA, 0x78, 0x81, 0x08, 0xD1, 0x70, 0xAF, + 0x40, 0x89, 0x44, 0x02, 0x08, 0x21, 0xA4, 0x38, 0xDE, 0xD9, 0x8D, 0xE9, 0xC6, 0x5E, 0x6C, 0x6F, + 0xD2, 0xAA, 0xEA, 0x7F, 0x67, 0xC6, 0x7B, 0xE4, 0xA0, 0x45, 0x42, 0x62, 0x5F, 0xF6, 0xF0, 0xCC, + 0x77, 0xCC, 0xCC, 0xDA, 0xE2, 0xF4, 0x01, 0xE4, 0xDA, 0xE1, 0x42, 0x7A, 0x7C, 0x24, 0xB3, 0x95, + 0x36, 0xB0, 0x7E, 0x9A, 0x3C, 0x49, 0xCE, 0xE1, 0x54, 0x0C, 0x68, 0x71, 0x00, 0xA7, 0xF0, 0xCA, + 0x56, 0xD7, 0x4E, 0x17, 0xCB, 0x00, 0xE7, 0x8F, 0xCF, 0x1F, 0xC3, 0x3B, 0x6B, 0x8B, 0x12, 0x21, + 0x35, 0x2A, 0xA1, 0x55, 0x0E, 0xF8, 0xA8, 0x15, 0x1A, 0x8F, 0x19, 0xD4, 0x26, 0x43, 0x07, 0x61, + 0x89, 0x30, 0xAA, 0xA4, 0xA2, 0x5B, 0xBB, 0x72, 0x06, 0x5F, 0xD0, 0x79, 0x6D, 0x0D, 0x9C, 0x27, + 0x8F, 0xE1, 0x98, 0x03, 0x8E, 0xDA, 0xA5, 0xA3, 0x93, 0x21, 0x43, 0x5C, 0xDB, 0x1A, 0x56, 0xF2, + 0x1A, 0x8C, 0x0D, 0x50, 0x7B, 0x24, 0x0C, 0xED, 0x49, 0x18, 0xF1, 0xE0, 0x95, 0xC2, 0x2A, 0x00, + 0x09, 0x53, 0x76, 0x55, 0x95, 0x5A, 0x1A, 0x85, 0xB0, 0xD1, 0x61, 0x49, 0x31, 0x3D, 0x41, 0xC2, + 0x18, 0xDF, 0x5A, 0x0C, 0xBB, 0x08, 0x92, 0xC2, 0x25, 0x25, 0x54, 0xF4, 0x96, 0xEF, 0x06, 0x82, + 0x0C, 0xAD, 0x68, 0x80, 0x65, 0x08, 0xD5, 0x33, 0x21, 0x36, 0x9B, 0x4D, 0x22, 0xA3, 0xDC, 0xC4, + 0xBA, 0x42, 0x94, 0x4D, 0xA0, 0x17, 0x1F, 0xD3, 0x57, 0x6F, 0xC6, 0xD3, 0x37, 0x8F, 0x48, 0x72, + 0x9B, 0xF2, 0xD9, 0x94, 0xE8, 0x3D, 0x38, 0xFC, 0x55, 0x6B, 0x47, 0x76, 0x17, 0xD7, 0x20, 0xAB, + 0x8A, 0x12, 0xE4, 0x82, 0x84, 0x96, 0x72, 0x03, 0xD6, 0x81, 0x2C, 0x1C, 0xD2, 0x5A, 0xB0, 0x2C, + 0x79, 0xE3, 0x74, 0xD0, 0xA6, 0x38, 0x03, 0x6F, 0xF3, 0xB0, 0x91, 0x0E, 0x19, 0x26, 0xD3, 0x3E, + 0x38, 0xBD, 0xA8, 0x43, 0x57, 0xB1, 0x3D, 0x81, 0xDA, 0xEF, 0x05, 0x58, 0x32, 0x62, 0xE0, 0x68, + 0x34, 0x85, 0x74, 0x7A, 0x04, 0x2F, 0x47, 0xD3, 0x74, 0x7A, 0xC6, 0x20, 0x5F, 0xD3, 0xD9, 0xFB, + 0xC9, 0xE7, 0x19, 0x7C, 0x1D, 0x7D, 0xFA, 0x34, 0x1A, 0xCF, 0xD2, 0x37, 0x53, 0x98, 0x7C, 0x82, + 0x57, 0x93, 0xF1, 0xEB, 0x74, 0x96, 0x4E, 0xC6, 0xF4, 0xF6, 0x16, 0x46, 0xE3, 0x6F, 0xF0, 0x21, + 0x1D, 0xBF, 0x3E, 0x03, 0xD4, 0x44, 0xE1, 0xA8, 0x96, 0x95, 0x23, 0x07, 0x2C, 0x53, 0x73, 0x2D, + 0x31, 0x8B, 0x85, 0x9B, 0x22, 0xEE, 0x49, 0xC8, 0x6D, 0x23, 0xC9, 0x57, 0xA8, 0x74, 0xAE, 0x15, + 0x59, 0x33, 0x45, 0x2D, 0x0B, 0x84, 0xC2, 0xAE, 0xD1, 0x19, 0x72, 0x04, 0x15, 0xBA, 0x95, 0xF6, + 0xDC, 0x53, 0x4F, 0x02, 0x33, 0x86, 0x29, 0xF5, 0x4A, 0x07, 0x19, 0xF8, 0xD3, 0x9F, 0xBE, 0x98, + 0x48, 0x0C, 0x88, 0xD5, 0xBA, 0x00, 0x37, 0xF0, 0xB2, 0x56, 0x97, 0x18, 0xE0, 0x16, 0x72, 0x67, + 0x57, 0xF0, 0xF0, 0xA2, 0x88, 0x43, 0xF5, 0x48, 0x95, 0xB6, 0xCE, 0x84, 0x0F, 0xD6, 0x11, 0xDB, + 0xC3, 0x61, 0x1F, 0xCF, 0x75, 0xEE, 0x83, 0x93, 0x44, 0xF4, 0x23, 0x6B, 0xE4, 0x0A, 0x3D, 0x35, + 0x8F, 0x86, 0xB7, 0xD2, 0x94, 0x20, 0x4E, 0x63, 0xA7, 0xDE, 0x61, 0xF0, 0x91, 0xFD, 0xE6, 0xA2, + 0xD4, 0xE6, 0x12, 0x5A, 0xC4, 0x64, 0xDA, 0xDC, 0x61, 0xDE, 0x3E, 0xCC, 0x6F, 0xC1, 0xA3, 0x5B, + 0x6B, 0xD5, 0x99, 0x6E, 0x1A, 0x84, 0xB9, 0xAC, 0xCB, 0xC0, 0xA4, 0xB1, 0xA3, 0x50, 0xE8, 0x35, + 0x1A, 0x7E, 0xED, 0x26, 0x7E, 0x1E, 0x7F, 0x95, 0xA4, 0x85, 0x3D, 0x3E, 0x99, 0x83, 0xA2, 0x2E, + 0x2D, 0x90, 0x6E, 0x65, 0x89, 0x59, 0x33, 0x9F, 0xC6, 0x82, 0x74, 0x45, 0xBD, 0x42, 0xC3, 0x62, + 0xE8, 0x45, 0x29, 0xF4, 0x51, 0x56, 0xC7, 0x40, 0x50, 0x8C, 0xFA, 0xD0, 0xFF, 0x83, 0x4E, 0x16, + 0xE4, 0xEF, 0xD0, 0x40, 0x38, 0x27, 0xF3, 0x7D, 0x1A, 0x8A, 0xFA, 0x07, 0x60, 0xE9, 0xBD, 0x55, + 0x5A, 0x86, 0x4E, 0xBE, 0xA4, 0xF4, 0x7E, 0x04, 0x76, 0xCD, 0x5F, 0xE0, 0x95, 0xA4, 0xE9, 0x89, + 0xF0, 0xF3, 0xF9, 0xFC, 0xA7, 0x5C, 0x4B, 0xAF, 0x9C, 0xAE, 0xA2, 0x1D, 0x21, 0xB8, 0xF8, 0xD1, + 0x64, 0x4B, 0x71, 0x58, 0xE1, 0xDD, 0xF2, 0x72, 0xC6, 0x5A, 0xBA, 0xEE, 0x53, 0x97, 0xF1, 0x1C, + 0x0E, 0xEA, 0x3B, 0x6C, 0xB9, 0xFE, 0x83, 0x82, 0xBE, 0x9B, 0x5B, 0x76, 0xCB, 0x3F, 0xC7, 0x7D, + 0xDC, 0x71, 0x71, 0x54, 0x55, 0xBB, 0x1A, 0xC4, 0x00, 0xAF, 0x78, 0x30, 0x49, 0xB7, 0x2A, 0xA5, + 0x23, 0xE0, 0xDA, 0x28, 0x1E, 0x7C, 0xD8, 0xE9, 0xC6, 0x8B, 0x67, 0xB1, 0x68, 0x9C, 0xFA, 0xEC, + 0xB0, 0xFE, 0xC3, 0x43, 0x80, 0x7E, 0x8E, 0xBB, 0x48, 0xB8, 0x19, 0x00, 0x5D, 0x71, 0x9E, 0xE9, + 0x22, 0xEA, 0xD9, 0xB6, 0x74, 0xDB, 0xF6, 0xF5, 0xD6, 0x74, 0x4E, 0xF3, 0xD6, 0x86, 0x32, 0x2F, + 0xEF, 0x23, 0x95, 0xB3, 0x6B, 0x9D, 0x51, 0x3F, 0x9B, 0xC2, 0x6F, 0xB3, 0xEE, 0xEB, 0x39, 0x47, + 0xF5, 0x59, 0x3B, 0x60, 0x49, 0xFB, 0x2C, 0xE2, 0x5D, 0x9B, 0x80, 0x2E, 0x67, 0xAD, 0xD3, 0x3D, + 0xAD, 0xBB, 0x7A, 0xDB, 0xDC, 0x49, 0xC5, 0x55, 0x91, 0x65, 0x54, 0xB4, 0x59, 0x5A, 0x7F, 0x97, + 0x88, 0x60, 0x77, 0x53, 0x1C, 0x86, 0xDA, 0x99, 0x04, 0x52, 0x36, 0x14, 0x7A, 0x35, 0x67, 0x10, + 0xFE, 0xE6, 0x9F, 0xE4, 0x97, 0x25, 0xFD, 0x80, 0x6D, 0x3A, 0x6F, 0x6C, 0x5B, 0x4C, 0xD1, 0x3D, + 0xB3, 0x8C, 0xBE, 0x2B, 0xC3, 0xFB, 0x44, 0x5F, 0x34, 0x18, 0x1E, 0x46, 0xF0, 0xBD, 0xD9, 0xA7, + 0x7E, 0x1C, 0xF3, 0x59, 0xE1, 0xE9, 0xB0, 0x88, 0x1B, 0x54, 0xD2, 0xEC, 0x56, 0x09, 0x1D, 0x48, + 0xC2, 0xD8, 0x0C, 0x7F, 0x7A, 0x91, 0x59, 0xE5, 0x85, 0xC3, 0x1C, 0x1D, 0xD2, 0xF9, 0xD4, 0xED, + 0x60, 0xA2, 0xA4, 0xD2, 0xFA, 0x20, 0x1A, 0x94, 0x93, 0x5D, 0x12, 0x6D, 0x7C, 0x90, 0x26, 0xB6, + 0x80, 0x5D, 0x69, 0x92, 0x4C, 0xDF, 0x9A, 0x36, 0x1D, 0xEC, 0x86, 0x9D, 0x55, 0x1A, 0x8F, 0x4B, + 0x7A, 0xB8, 0xDB, 0xD9, 0x22, 0x52, 0x1C, 0xF3, 0x1C, 0xBD, 0xE0, 0x71, 0x73, 0xB4, 0x49, 0xD3, + 0xDC, 0x35, 0xCC, 0x8D, 0xD5, 0xDB, 0xC1, 0xED, 0xE0, 0x37, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, + 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0xD0, 0x49, 0x56, 0x11, 0xBD, 0x01, 0x00, 0x00, + 0xBC, 0x02, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, + 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, + 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x73, 0x74, 0x6F, 0x72, 0x61, 0x67, 0x65, 0x2F, + 0x69, 0x6E, 0x64, 0x65, 0x78, 0x2E, 0x6A, 0x73, 0x65, 0x92, 0x41, 0x6F, 0xD3, 0x40, 0x10, 0x85, + 0xEF, 0xF9, 0x15, 0x0F, 0x9F, 0x4A, 0xE5, 0xDA, 0x51, 0xC4, 0x85, 0xF6, 0x64, 0xD2, 0x00, 0x16, + 0xC5, 0x41, 0x71, 0x4A, 0xD5, 0x53, 0xB5, 0xB6, 0xC7, 0xCE, 0x20, 0x67, 0xD7, 0xEC, 0xAE, 0x63, + 0x22, 0xC4, 0x7F, 0x67, 0xB6, 0x0D, 0x88, 0x88, 0x93, 0xB5, 0x9E, 0x37, 0x6F, 0xBE, 0x37, 0xBB, + 0xE9, 0xE5, 0x2B, 0xB4, 0x6C, 0xA9, 0x52, 0x8E, 0xAE, 0x54, 0xB3, 0x67, 0x8D, 0xC3, 0xDB, 0xE4, + 0x4D, 0xB2, 0xC0, 0x65, 0x3A, 0x8B, 0x46, 0x47, 0x70, 0xDE, 0x72, 0xED, 0xA3, 0x9B, 0x99, 0x48, + 0x67, 0xB8, 0xC4, 0xD2, 0x0C, 0x47, 0xCB, 0xDD, 0xCE, 0x63, 0x31, 0x5F, 0xCC, 0xF1, 0xC1, 0x98, + 0xAE, 0x27, 0xE4, 0xBA, 0x4E, 0xA4, 0x1A, 0x04, 0x77, 0x5C, 0x93, 0x76, 0xD4, 0x60, 0xD4, 0x0D, + 0x59, 0xF8, 0x1D, 0x21, 0x1B, 0x54, 0x2D, 0x9F, 0x53, 0x25, 0xC6, 0x57, 0xB2, 0x8E, 0x8D, 0xC6, + 0x22, 0x99, 0xE3, 0x22, 0x08, 0xA2, 0x53, 0x29, 0x7A, 0x7D, 0x13, 0x2C, 0x8E, 0x66, 0xC4, 0x5E, + 0x1D, 0xA1, 0x8D, 0x87, 0x30, 0x88, 0x07, 0x3B, 0xC1, 0x94, 0x39, 0xF4, 0xA3, 0xA6, 0xC1, 0x43, + 0x30, 0x6B, 0xB3, 0x1F, 0x7A, 0x56, 0xBA, 0x26, 0x4C, 0xEC, 0x77, 0xA2, 0xF9, 0x3B, 0x20, 0x09, + 0x1E, 0x8F, 0x27, 0x0F, 0x53, 0x79, 0x25, 0x72, 0x25, 0x0D, 0x83, 0x9C, 0xDA, 0x7F, 0x85, 0x50, + 0xFE, 0x04, 0x0D, 0xEC, 0xBC, 0x1F, 0xAE, 0xD3, 0x74, 0x9A, 0xA6, 0x44, 0x3D, 0xE3, 0x26, 0xC6, + 0x76, 0x69, 0xFF, 0x22, 0x74, 0xE9, 0x5D, 0xBE, 0x5C, 0x15, 0xE5, 0xEA, 0x4A, 0x90, 0x4F, 0x2D, + 0xF7, 0xBA, 0x27, 0xE7, 0x60, 0xE9, 0xFB, 0xC8, 0x56, 0xE2, 0x56, 0x47, 0xA8, 0x61, 0x90, 0x06, + 0x55, 0x09, 0x68, 0xAF, 0x26, 0x18, 0x0B, 0xD5, 0x59, 0x92, 0x9A, 0x37, 0x01, 0x79, 0xB2, 0xEC, + 0x59, 0x77, 0x31, 0x9C, 0x69, 0xFD, 0xA4, 0x2C, 0x05, 0x9B, 0x86, 0xC3, 0x86, 0xAB, 0xD1, 0xFF, + 0xD9, 0xD8, 0x19, 0x20, 0xBB, 0x33, 0x81, 0x91, 0x20, 0x1A, 0x51, 0x56, 0x22, 0x2F, 0x23, 0xBC, + 0xCB, 0xCA, 0xBC, 0x8C, 0x83, 0xC9, 0x43, 0xBE, 0xFD, 0xB8, 0xBE, 0xDF, 0xE2, 0x21, 0xDB, 0x6C, + 0xB2, 0x62, 0x9B, 0xAF, 0x4A, 0xAC, 0x37, 0x58, 0xAE, 0x8B, 0xDB, 0x7C, 0x9B, 0xAF, 0x0B, 0x39, + 0xBD, 0x47, 0x56, 0x3C, 0xE2, 0x53, 0x5E, 0xDC, 0xC6, 0x20, 0x96, 0x11, 0x56, 0x76, 0x39, 0x58, + 0x49, 0x10, 0x30, 0x39, 0xEC, 0x92, 0x9A, 0xE7, 0xC5, 0x95, 0x44, 0x67, 0x08, 0xAD, 0x79, 0x41, + 0x72, 0x03, 0xD5, 0xDC, 0x72, 0x2D, 0xD1, 0x74, 0x37, 0xAA, 0x8E, 0xD0, 0x99, 0x03, 0x59, 0x2D, + 0x89, 0x30, 0x90, 0xDD, 0xB3, 0x0B, 0x77, 0xEA, 0x04, 0xB0, 0x09, 0x36, 0x3D, 0xEF, 0xD9, 0x2B, + 0x1F, 0x7E, 0xFD, 0x9F, 0x2B, 0x0C, 0x4A, 0x67, 0xEB, 0xEA, 0x1B, 0xD5, 0x3E, 0x69, 0xA8, 0x65, + 0x4D, 0x5F, 0xAC, 0x11, 0x17, 0x7F, 0xBC, 0x10, 0x2C, 0x63, 0xBD, 0x8B, 0x11, 0x3D, 0x3D, 0x91, + 0xFB, 0x6C, 0x9A, 0xB1, 0xA7, 0x28, 0xC6, 0x4F, 0x1C, 0x54, 0x3F, 0xD2, 0x35, 0xBC, 0x1D, 0x09, + 0xBF, 0xE4, 0xA1, 0xFC, 0x06, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, + 0x79, 0x5A, 0x0B, 0x49, 0xBB, 0xDB, 0x6D, 0x23, 0x07, 0x00, 0x00, 0x36, 0x14, 0x00, 0x00, 0x32, + 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, + 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, + 0x69, 0x62, 0x2F, 0x73, 0x74, 0x6F, 0x72, 0x61, 0x67, 0x65, 0x2F, 0x73, 0x74, 0x6F, 0x72, 0x61, + 0x67, 0x65, 0x2E, 0x6A, 0x73, 0xAD, 0x58, 0xE9, 0x8E, 0xD3, 0x30, 0x10, 0xFE, 0xBF, 0x4F, 0x31, + 0xF4, 0x4F, 0x53, 0x28, 0x09, 0x20, 0x24, 0xC4, 0x72, 0x16, 0x58, 0xA0, 0x02, 0xBA, 0x88, 0x72, + 0x08, 0x21, 0x04, 0x6E, 0xE2, 0x76, 0x0D, 0x69, 0x1C, 0x6C, 0xA7, 0xA5, 0xC0, 0xBE, 0x3B, 0x33, + 0x3E, 0x92, 0x94, 0x84, 0x53, 0x54, 0xDA, 0x6D, 0x62, 0x8F, 0xE7, 0x9E, 0x6F, 0xC6, 0x4D, 0xCE, + 0x9E, 0x81, 0xA5, 0x50, 0x7C, 0xC1, 0x34, 0x3F, 0xCF, 0xB2, 0xB5, 0x28, 0x60, 0x73, 0x35, 0xBE, + 0x1C, 0x5F, 0x82, 0xB3, 0xC9, 0xC1, 0xA0, 0xD2, 0x1C, 0xB4, 0x51, 0x22, 0x35, 0x83, 0x6B, 0x07, + 0x48, 0x7A, 0x00, 0x67, 0xE1, 0x76, 0x2E, 0x52, 0x5E, 0x68, 0x4E, 0xCF, 0x77, 0x65, 0xB9, 0x53, + 0x62, 0x75, 0x62, 0xE0, 0xD2, 0x85, 0x8B, 0x57, 0xE0, 0x81, 0x94, 0xAB, 0x9C, 0xC3, 0xB4, 0x48, + 0x63, 0xDC, 0x25, 0x82, 0xC7, 0x8E, 0x36, 0x83, 0xAA, 0xC8, 0xB8, 0x02, 0x73, 0xC2, 0x61, 0x52, + 0xB2, 0x14, 0xBF, 0xFC, 0xCE, 0x18, 0x5E, 0x72, 0xA5, 0x85, 0x2C, 0xE0, 0x52, 0x7C, 0x01, 0x22, + 0x22, 0x18, 0xF8, 0xAD, 0xC1, 0xE8, 0x1A, 0xB1, 0xD8, 0xC9, 0x0A, 0xD6, 0x6C, 0x07, 0x85, 0x34, + 0x80, 0xFA, 0x20, 0x0F, 0xA1, 0x51, 0x65, 0x94, 0xC3, 0x3F, 0xA7, 0xBC, 0x34, 0x80, 0x2A, 0xA7, + 0x72, 0x5D, 0xE6, 0x82, 0x15, 0x29, 0x87, 0xAD, 0x30, 0x27, 0x48, 0x53, 0x0B, 0x88, 0x89, 0xC7, + 0x6B, 0xCF, 0x43, 0x2E, 0x0C, 0x43, 0x72, 0x86, 0x07, 0x4A, 0x7C, 0x5B, 0xB6, 0x09, 0x81, 0x19, + 0xAF, 0x34, 0xC0, 0x89, 0x31, 0xE5, 0x61, 0x92, 0x6C, 0xB7, 0xDB, 0x98, 0x59, 0x75, 0x63, 0xA9, + 0x56, 0x89, 0x37, 0x5C, 0x27, 0x8F, 0xA7, 0x77, 0x8F, 0x66, 0xF3, 0xA3, 0xF3, 0xA8, 0xB2, 0x3F, + 0xF2, 0xA2, 0xC8, 0xB9, 0xD6, 0xA0, 0xF8, 0xA7, 0x4A, 0x28, 0x34, 0x77, 0xB1, 0x03, 0x56, 0x96, + 0x78, 0x80, 0x2D, 0x50, 0xD1, 0x9C, 0x6D, 0x41, 0x2A, 0x60, 0x2B, 0xC5, 0x71, 0xCF, 0x48, 0x52, + 0x79, 0xAB, 0x84, 0x11, 0xC5, 0x6A, 0x0C, 0x5A, 0x2E, 0xCD, 0x96, 0x29, 0xEB, 0xCF, 0x4C, 0x90, + 0xB7, 0x17, 0x95, 0x09, 0x1E, 0xDB, 0x53, 0x50, 0xE8, 0x3D, 0x02, 0x89, 0x86, 0x14, 0x30, 0x98, + 0xCC, 0x61, 0x3A, 0x1F, 0xC0, 0x9D, 0xC9, 0x7C, 0x3A, 0x1F, 0x13, 0x93, 0x57, 0xD3, 0xE7, 0x0F, + 0x8F, 0x5F, 0x3C, 0x87, 0x57, 0x93, 0x67, 0xCF, 0x26, 0xB3, 0xE7, 0xD3, 0xA3, 0x39, 0x1C, 0x3F, + 0x83, 0xBB, 0xC7, 0xB3, 0x7B, 0xD3, 0xE7, 0xD3, 0xE3, 0x19, 0xBE, 0xDD, 0x87, 0xC9, 0xEC, 0x35, + 0x3C, 0x9A, 0xCE, 0xEE, 0x8D, 0x81, 0x0B, 0x14, 0xA1, 0xD0, 0x97, 0xA5, 0x42, 0x0B, 0x48, 0x4D, + 0x41, 0xBE, 0xE4, 0x99, 0x75, 0xDC, 0x9C, 0xF3, 0x3D, 0x15, 0x96, 0xD2, 0xA9, 0xA4, 0x4B, 0x9E, + 0x8A, 0xA5, 0x48, 0xD1, 0xB4, 0x62, 0x55, 0xB1, 0x15, 0x87, 0x95, 0xDC, 0x70, 0x55, 0xA0, 0x45, + 0x50, 0x72, 0xB5, 0x16, 0x9A, 0x62, 0xAA, 0x51, 0xC1, 0x8C, 0xD8, 0xE4, 0x62, 0x2D, 0x0C, 0x33, + 0xB4, 0xD4, 0xB5, 0x8B, 0x04, 0x25, 0x07, 0xC7, 0x8B, 0x0F, 0x3C, 0x35, 0x71, 0xC6, 0x97, 0xA2, + 0xE0, 0x4F, 0x95, 0x44, 0x2E, 0x66, 0x17, 0xA1, 0x5A, 0x52, 0x19, 0x3D, 0x86, 0xC1, 0xBB, 0x77, + 0x5C, 0x3F, 0x91, 0x59, 0x95, 0xF3, 0xC1, 0x18, 0xBE, 0xC2, 0x86, 0xE5, 0x15, 0x3F, 0x04, 0xA3, + 0x2A, 0x0E, 0xA7, 0x98, 0x28, 0x9E, 0x30, 0x9E, 0x1B, 0xA9, 0x48, 0x9D, 0x1B, 0xB0, 0x91, 0x22, + 0x83, 0x0B, 0xD7, 0x0E, 0x36, 0x0C, 0xAD, 0x53, 0x4A, 0xAA, 0x77, 0x17, 0x71, 0xD5, 0x47, 0x28, + 0x1A, 0xC4, 0x71, 0x52, 0x19, 0x91, 0xEB, 0xC4, 0xEE, 0x0D, 0x46, 0x8E, 0x30, 0xC5, 0xE0, 0xF1, + 0xC2, 0x08, 0x96, 0xBF, 0x13, 0x85, 0x41, 0x83, 0xF0, 0xE1, 0xC7, 0x63, 0x0D, 0x4D, 0xEB, 0xF1, + 0x7C, 0x20, 0x0F, 0x9C, 0x2C, 0xF3, 0x5E, 0x81, 0x02, 0x1D, 0xF0, 0xD9, 0x93, 0x91, 0x1D, 0x22, + 0x63, 0xA8, 0x74, 0x2F, 0x69, 0xBD, 0x4B, 0xE4, 0xC9, 0x59, 0x9B, 0x6A, 0x53, 0x2F, 0x48, 0x53, + 0xFE, 0x32, 0x08, 0x06, 0x8B, 0x42, 0x1B, 0x2C, 0x00, 0xE7, 0x4D, 0x62, 0x1D, 0x76, 0x6A, 0x7A, + 0x94, 0x80, 0x2C, 0xE0, 0x76, 0x9A, 0x33, 0xAD, 0x91, 0x08, 0xA2, 0x65, 0x55, 0xA4, 0x14, 0x14, + 0x88, 0x46, 0xF0, 0xF5, 0x00, 0xF0, 0x13, 0x56, 0x3A, 0x87, 0x6B, 0x8A, 0x53, 0xFA, 0x4F, 0x8C, + 0xEC, 0x37, 0xEA, 0x73, 0x8F, 0xE7, 0xDC, 0x70, 0xED, 0xD2, 0x82, 0xAB, 0x0D, 0x06, 0x95, 0xC2, + 0x0E, 0xC2, 0x68, 0x40, 0x41, 0x32, 0x15, 0x8C, 0xB2, 0x15, 0xB3, 0x4B, 0x56, 0x2A, 0xE5, 0x3A, + 0x76, 0x07, 0xEB, 0xF3, 0xB7, 0x15, 0x37, 0x95, 0x2A, 0xE0, 0x2B, 0x06, 0x1D, 0xF3, 0x86, 0x5F, + 0x8F, 0x46, 0x37, 0x4F, 0x61, 0x52, 0x00, 0x5F, 0x97, 0x66, 0x07, 0x7E, 0x15, 0xD9, 0x33, 0x83, + 0xC5, 0x9D, 0xE7, 0xB0, 0xE0, 0xA8, 0x66, 0xBE, 0xC4, 0x47, 0x64, 0xBB, 0x3D, 0xE1, 0x45, 0x4B, + 0xB4, 0x2B, 0x12, 0xAB, 0x51, 0x16, 0x04, 0x25, 0xF4, 0xDD, 0x31, 0x28, 0x2E, 0x95, 0x34, 0xD2, + 0xEC, 0x4A, 0x1E, 0x3B, 0x7A, 0x74, 0x4F, 0xD7, 0x1F, 0xD6, 0xD6, 0x04, 0x9E, 0x63, 0x89, 0xA0, + 0x55, 0xF8, 0x57, 0xC8, 0xC6, 0x12, 0xAA, 0xE4, 0x34, 0xE7, 0x58, 0x84, 0x55, 0x19, 0xD7, 0xE4, + 0xCE, 0x9C, 0xA0, 0x77, 0x4C, 0xD4, 0xF9, 0x86, 0x47, 0xA3, 0x6B, 0xCE, 0x7D, 0xF8, 0x55, 0x13, + 0x75, 0x94, 0xBA, 0x76, 0x70, 0x1A, 0x8D, 0xEA, 0x50, 0x93, 0x58, 0x34, 0x66, 0xC9, 0xAA, 0xDC, + 0xC0, 0x7B, 0x4F, 0xFB, 0xBE, 0xB1, 0x74, 0x89, 0xDA, 0x20, 0x19, 0x21, 0x0D, 0x99, 0x8D, 0x06, + 0x6D, 0x44, 0x86, 0x3E, 0xF1, 0x35, 0xDA, 0x3D, 0xD1, 0x84, 0xA3, 0x86, 0xC9, 0xFA, 0x94, 0x67, + 0xD4, 0x49, 0x9F, 0x3F, 0xC9, 0x9A, 0x56, 0x36, 0xDC, 0x2E, 0x99, 0x62, 0x6B, 0xF8, 0x7A, 0xDF, + 0xF7, 0x94, 0x49, 0x59, 0x9E, 0x12, 0x5F, 0xB2, 0x85, 0xBE, 0x3D, 0x82, 0x08, 0x1D, 0xF8, 0x07, + 0xE5, 0xE2, 0x9A, 0x43, 0x8A, 0x28, 0x81, 0x75, 0x9D, 0xE2, 0x7E, 0xBD, 0x16, 0xAA, 0x2B, 0x84, + 0xB4, 0x37, 0x59, 0x23, 0xE4, 0xDF, 0x0A, 0x9C, 0x15, 0x13, 0x4F, 0x67, 0xCF, 0x8F, 0x9E, 0xCD, + 0x26, 0x8F, 0xD1, 0x8E, 0x82, 0x6F, 0x7B, 0xF2, 0xFA, 0x5A, 0xA0, 0x27, 0x87, 0x46, 0x67, 0xEA, + 0x92, 0x8B, 0x85, 0x9E, 0xC9, 0x62, 0x56, 0xE5, 0xB9, 0x83, 0x26, 0xC7, 0xFD, 0xDB, 0x37, 0x38, + 0x13, 0x0D, 0x65, 0x69, 0xB1, 0x6C, 0x48, 0x40, 0x4E, 0xCB, 0x41, 0x6A, 0x23, 0x59, 0xC9, 0x2D, + 0xC9, 0x0B, 0xC8, 0x13, 0x07, 0x7F, 0x1C, 0xD1, 0x7B, 0x14, 0xA8, 0x9B, 0x4F, 0x2A, 0x33, 0x84, + 0xB3, 0xA1, 0x76, 0xEA, 0x21, 0x46, 0x58, 0x3D, 0xCE, 0x33, 0xB5, 0xAA, 0xD6, 0x88, 0x30, 0xC3, + 0x71, 0xE7, 0xC4, 0x1A, 0xE1, 0x1A, 0x49, 0xF1, 0x10, 0xF2, 0xD6, 0x06, 0x02, 0x29, 0x94, 0x18, + 0x28, 0xD7, 0x66, 0x6C, 0x3F, 0x8F, 0x3D, 0x4F, 0x8C, 0xD6, 0xBA, 0x42, 0xBA, 0x05, 0xC6, 0xC1, + 0xC1, 0x0E, 0x04, 0xA5, 0xC8, 0x86, 0x06, 0x40, 0xF6, 0x65, 0x59, 0x74, 0xAD, 0x9F, 0xEB, 0x27, + 0xCA, 0x10, 0xCF, 0xB8, 0xD9, 0x36, 0x6A, 0xB7, 0xEF, 0x88, 0x40, 0xD2, 0x02, 0xB7, 0xE1, 0xED, + 0x95, 0x9D, 0x12, 0xCE, 0xA7, 0xB9, 0xAC, 0xB2, 0xC4, 0x13, 0x0C, 0x47, 0x01, 0xB9, 0xFB, 0x84, + 0xA5, 0xCC, 0xA4, 0x27, 0x10, 0xA1, 0x2F, 0xFF, 0xBB, 0xA3, 0x6D, 0xA7, 0x2A, 0x56, 0xE7, 0x33, + 0x5E, 0xF2, 0x02, 0xB1, 0x3C, 0x15, 0x5C, 0xFF, 0xDA, 0xD9, 0x4C, 0xE4, 0xBE, 0x89, 0xAF, 0xA9, + 0xE5, 0xD8, 0x22, 0xBA, 0x4B, 0xB6, 0xD4, 0x19, 0x9D, 0xE6, 0x82, 0xE2, 0x90, 0x8B, 0x85, 0x62, + 0x6A, 0x67, 0x33, 0x7E, 0x86, 0x52, 0xE3, 0x0F, 0x3A, 0x86, 0x21, 0xB2, 0xEE, 0x7E, 0xCE, 0xC1, + 0xF0, 0x09, 0xFB, 0x88, 0xB5, 0x50, 0x29, 0x8E, 0xAC, 0x5D, 0x2C, 0x10, 0xEA, 0xEC, 0x38, 0xD4, + 0xEB, 0xB0, 0x01, 0x14, 0xE5, 0x1A, 0x43, 0x9D, 0x7E, 0xC4, 0x97, 0x9F, 0xB3, 0x8D, 0x06, 0xC7, + 0x38, 0x9F, 0x09, 0xCC, 0x74, 0xE7, 0xA0, 0x43, 0x18, 0xE0, 0x2A, 0x39, 0xF2, 0x4F, 0x83, 0x8C, + 0xF8, 0x40, 0xD9, 0x3F, 0xCD, 0xE0, 0x86, 0xEB, 0x69, 0xF1, 0x8A, 0x9B, 0xA3, 0xCF, 0x34, 0xDB, + 0x08, 0xF3, 0x34, 0x6C, 0xDA, 0xE2, 0x68, 0x58, 0xEC, 0xB7, 0x52, 0x3C, 0x49, 0xC8, 0xE2, 0x8B, + 0x26, 0x6E, 0x36, 0xF6, 0x4B, 0xAF, 0x59, 0xAF, 0x73, 0x51, 0x2E, 0xFB, 0x3B, 0x72, 0x3C, 0x77, + 0xA0, 0x31, 0x49, 0x53, 0x59, 0x15, 0xE6, 0x6E, 0x4D, 0xD3, 0xCD, 0x0F, 0xA1, 0x43, 0x01, 0xDC, + 0xB5, 0x61, 0xF1, 0x38, 0xE0, 0xD7, 0xDA, 0x09, 0xD2, 0xC0, 0xFD, 0xAB, 0xD0, 0x54, 0xE6, 0xF7, + 0x1E, 0x21, 0xB2, 0xA2, 0x3A, 0x82, 0x98, 0x8B, 0x2F, 0x01, 0x38, 0x7F, 0x26, 0x5E, 0xD3, 0x44, + 0xC6, 0xBD, 0x73, 0x1A, 0xD7, 0x21, 0x8F, 0x3E, 0x31, 0xAB, 0x0A, 0xB1, 0x12, 0x6D, 0xB2, 0xE9, + 0x64, 0xEB, 0x72, 0x83, 0xC9, 0x45, 0x13, 0x63, 0xFC, 0x23, 0x79, 0xC3, 0xEB, 0xB0, 0x79, 0x1C, + 0x77, 0x93, 0xBB, 0xD1, 0xE4, 0xD0, 0x7B, 0xA2, 0xCB, 0x48, 0x6C, 0xB0, 0x03, 0xBC, 0xFB, 0xC8, + 0x77, 0x87, 0x2D, 0xFA, 0xD8, 0xAF, 0x3F, 0xE2, 0xBB, 0x71, 0xDF, 0x39, 0x9F, 0xD4, 0xEF, 0xF8, + 0x1A, 0x55, 0xDC, 0x3B, 0xE8, 0x36, 0x8E, 0x68, 0xBD, 0x7B, 0xF2, 0xF4, 0x4F, 0xD2, 0x8C, 0xE7, + 0x9A, 0xD7, 0x19, 0xD0, 0x8D, 0xB5, 0xD0, 0x13, 0x37, 0x4A, 0x53, 0xFA, 0xDC, 0x73, 0xED, 0x30, + 0xEA, 0x4F, 0xA8, 0x1A, 0x88, 0xDB, 0xBD, 0x5B, 0xED, 0xD0, 0xBD, 0xFE, 0xEA, 0xC0, 0xC3, 0x1D, + 0x85, 0x35, 0x2C, 0x43, 0x8B, 0x6D, 0x7B, 0x2F, 0xFE, 0xBB, 0x2C, 0xFA, 0xA9, 0x59, 0xFF, 0x1B, + 0xAE, 0x42, 0x5F, 0x68, 0x54, 0xFD, 0x53, 0xB0, 0x0A, 0x29, 0xEC, 0x3D, 0xD0, 0x8F, 0x59, 0xF5, + 0x58, 0xD0, 0xA4, 0x62, 0x3B, 0xD4, 0x30, 0x84, 0x73, 0xBD, 0xC9, 0x31, 0x7C, 0x42, 0x9D, 0xA5, + 0x91, 0x11, 0x8A, 0xC7, 0xF2, 0xA3, 0xEB, 0x16, 0x0E, 0xF3, 0x62, 0x49, 0xFE, 0x6E, 0xF3, 0xC3, + 0x41, 0xE5, 0x77, 0x71, 0xF8, 0xB9, 0x44, 0x1B, 0xD2, 0x1F, 0xAD, 0x98, 0x3C, 0x9D, 0xFE, 0x59, + 0xFB, 0xB2, 0x11, 0x45, 0xD9, 0x6E, 0x0E, 0x08, 0x10, 0xE5, 0x47, 0xB4, 0x9F, 0xCC, 0x34, 0x05, + 0x5B, 0x73, 0x38, 0xA6, 0x9C, 0xC3, 0x03, 0xF6, 0x2D, 0xDC, 0x20, 0x17, 0x55, 0xFA, 0x91, 0x1B, + 0x5F, 0xC4, 0x8A, 0xE3, 0x0D, 0x8D, 0x6F, 0x70, 0xFE, 0x84, 0xE9, 0xD2, 0x91, 0x09, 0x4D, 0xB7, + 0xD7, 0x70, 0x69, 0xE2, 0xA1, 0x70, 0xCF, 0xD6, 0xB4, 0x88, 0x1B, 0xF8, 0xBC, 0xE4, 0x0A, 0x1B, + 0x90, 0x6D, 0x00, 0xA6, 0x99, 0xFC, 0x3C, 0xF7, 0xF8, 0x87, 0x79, 0x59, 0xC3, 0x04, 0xDE, 0xDC, + 0xB1, 0x5B, 0x6F, 0x23, 0xBA, 0xAF, 0x6A, 0xBC, 0xB0, 0xDA, 0x16, 0x11, 0xBB, 0x7E, 0x11, 0xE3, + 0xA5, 0x38, 0x29, 0x30, 0x7D, 0x3E, 0xE8, 0x24, 0x93, 0xA9, 0x4E, 0x6A, 0x01, 0x49, 0xC8, 0xA6, + 0x1C, 0xE3, 0xA1, 0x4D, 0xE2, 0xB8, 0x8C, 0xBC, 0x00, 0x0F, 0xBE, 0x76, 0x5C, 0x04, 0x77, 0x1D, + 0xCB, 0x70, 0xCD, 0x8D, 0x94, 0xBD, 0xBD, 0xE8, 0x7D, 0xE8, 0x43, 0xBD, 0x13, 0x77, 0x6B, 0xD0, + 0x76, 0x96, 0xEC, 0x0D, 0xDA, 0xE4, 0x1F, 0x57, 0xB4, 0x4D, 0xE7, 0x70, 0x64, 0x33, 0xDC, 0x41, + 0xD2, 0x88, 0x4E, 0x4A, 0xEF, 0xC8, 0x33, 0x37, 0x6E, 0xC0, 0xB0, 0x2A, 0xBC, 0x56, 0xC3, 0xD1, + 0x5E, 0xA4, 0x6F, 0x39, 0x9A, 0xC3, 0x4E, 0x70, 0x6B, 0xA0, 0xF0, 0xFA, 0x3A, 0x7B, 0xF7, 0x9B, + 0xCF, 0x0F, 0x63, 0xDF, 0x11, 0xDD, 0x3D, 0xE6, 0x18, 0x9C, 0x62, 0x15, 0x35, 0xEA, 0x74, 0xE0, + 0xC5, 0x85, 0xA2, 0x07, 0x1F, 0xBC, 0xA9, 0xAD, 0xB3, 0x7B, 0x69, 0xF8, 0x6F, 0x78, 0xF0, 0x77, + 0x33, 0x62, 0x83, 0x02, 0xCE, 0x5E, 0xEB, 0x9D, 0xFD, 0x3C, 0xA4, 0x02, 0xF4, 0x5C, 0x62, 0x98, + 0xDB, 0xD5, 0x5D, 0x3D, 0x1C, 0x2E, 0x5A, 0xA7, 0x36, 0x82, 0x51, 0xFC, 0xFB, 0xAA, 0xB1, 0xD6, + 0xC7, 0x4B, 0x71, 0xBE, 0xB6, 0xF7, 0xB2, 0x06, 0x10, 0xD0, 0x8D, 0xF6, 0x3C, 0x06, 0x65, 0x4C, + 0x42, 0xB5, 0x93, 0x65, 0xD7, 0x1A, 0x39, 0x3F, 0xE1, 0x1F, 0xFA, 0x69, 0xBE, 0x73, 0x5C, 0x53, + 0x9C, 0x8C, 0x02, 0x43, 0x9C, 0x45, 0x9C, 0x5C, 0x9A, 0x6E, 0xB9, 0x39, 0x91, 0x59, 0xBB, 0xFE, + 0x4F, 0xF7, 0x2F, 0x5D, 0xFD, 0x3F, 0x31, 0x74, 0xD2, 0x14, 0x7F, 0x6C, 0x40, 0x3D, 0x07, 0xE3, + 0x3A, 0xD6, 0x0D, 0x18, 0xEC, 0x97, 0x60, 0x7D, 0xA7, 0xE9, 0xDE, 0xAB, 0x84, 0xEE, 0x5E, 0xCC, + 0x5B, 0x1C, 0x92, 0xF0, 0x4C, 0x06, 0x1C, 0xB6, 0xCA, 0xA1, 0x3F, 0xC1, 0x3A, 0x19, 0xDD, 0xCA, + 0xA5, 0xC6, 0x5A, 0x5E, 0x60, 0x1A, 0x28, 0xC2, 0x6C, 0xE4, 0xC8, 0xB0, 0xF9, 0x34, 0x5B, 0x78, + 0xA5, 0x5A, 0x8A, 0x55, 0x45, 0x9B, 0xFE, 0x47, 0x93, 0x83, 0xE0, 0x9F, 0xEE, 0x6D, 0xD4, 0x5F, + 0x42, 0xBB, 0x3F, 0xA9, 0x34, 0x04, 0xDF, 0x01, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xB7, 0x4A, 0x48, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, + 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, + 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x75, 0x74, 0x69, 0x6C, 0x73, 0x2F, 0x50, 0x4B, 0x03, 0x04, + 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x0B, 0x55, 0xF8, 0xCC, 0xAD, 0x1F, + 0x00, 0x00, 0x97, 0x86, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, + 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, + 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x75, 0x74, 0x69, 0x6C, 0x73, 0x2F, + 0x61, 0x70, 0x69, 0x2D, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2E, 0x6A, 0x73, 0xCD, 0x1D, + 0x6B, 0x73, 0xE3, 0x34, 0xF0, 0x3B, 0xBF, 0x42, 0x74, 0x18, 0xE2, 0x40, 0xEA, 0xF6, 0x78, 0xD3, + 0x52, 0xA0, 0xDC, 0x05, 0x28, 0xDC, 0xB5, 0x9D, 0xB6, 0x07, 0xC3, 0x1C, 0x9D, 0xE2, 0xC6, 0x4A, + 0x6B, 0xCE, 0xB1, 0x83, 0xED, 0xB4, 0x0D, 0x47, 0xFF, 0x3B, 0xBB, 0xAB, 0xB7, 0x64, 0xE7, 0xD1, + 0x3B, 0x1E, 0x65, 0xB8, 0xC4, 0x96, 0xB4, 0x2F, 0xAD, 0x56, 0xAB, 0x5D, 0x49, 0xD9, 0x7A, 0xEF, + 0x6D, 0x36, 0xCE, 0x2A, 0x7E, 0x99, 0xD4, 0x7C, 0x33, 0x49, 0x27, 0x59, 0xC1, 0x6E, 0x3E, 0x8F, + 0x3F, 0x8A, 0x3F, 0x60, 0xEF, 0x6D, 0xBD, 0xB5, 0x31, 0xAB, 0x39, 0xAB, 0x9B, 0x2A, 0x1B, 0x35, + 0x1B, 0xBB, 0x6F, 0x41, 0xD5, 0xB7, 0xD8, 0x7B, 0xEC, 0xEB, 0x3C, 0x1B, 0xF1, 0xA2, 0xE6, 0xF8, + 0xFD, 0x71, 0x39, 0x9D, 0x57, 0xD9, 0xD5, 0x75, 0xC3, 0x3E, 0xD8, 0x7E, 0xF4, 0x29, 0xFB, 0xAE, + 0x2C, 0xAF, 0x72, 0xCE, 0x0E, 0x8A, 0x51, 0x0C, 0xA5, 0x58, 0xE1, 0xA9, 0xA8, 0x9B, 0xB2, 0x59, + 0x91, 0xF2, 0x8A, 0x35, 0xD7, 0x9C, 0xED, 0x4F, 0x93, 0x11, 0x7C, 0xC8, 0x92, 0x01, 0xFB, 0x89, + 0x57, 0x75, 0x56, 0x16, 0xEC, 0x83, 0x78, 0x9B, 0x45, 0x58, 0x61, 0x43, 0x16, 0x6D, 0xF4, 0x77, + 0x11, 0xC4, 0xBC, 0x9C, 0xB1, 0x49, 0x32, 0x67, 0x45, 0xD9, 0x30, 0xA0, 0x07, 0x60, 0x64, 0x35, + 0x90, 0x0C, 0x78, 0xF8, 0xDD, 0x88, 0x4F, 0x1B, 0x06, 0x24, 0x8F, 0xCA, 0xC9, 0x34, 0xCF, 0x92, + 0x62, 0xC4, 0xD9, 0x6D, 0xD6, 0x5C, 0x43, 0x1D, 0x8D, 0x20, 0x46, 0x18, 0xBF, 0x48, 0x18, 0xE5, + 0x65, 0x93, 0x40, 0xF5, 0x04, 0x1A, 0x4C, 0xE1, 0x69, 0x6C, 0x57, 0x64, 0x49, 0x23, 0x89, 0x66, + 0xEC, 0xBA, 0x69, 0xA6, 0x3B, 0x5B, 0x5B, 0xB7, 0xB7, 0xB7, 0x71, 0x42, 0xE4, 0xC6, 0x65, 0x75, + 0xB5, 0x25, 0x19, 0xAF, 0xB7, 0x9E, 0x1E, 0x3C, 0x1E, 0x1E, 0x9E, 0x0E, 0x37, 0x81, 0x64, 0xD9, + 0xE4, 0x79, 0x91, 0xF3, 0xBA, 0x66, 0x15, 0xFF, 0x63, 0x96, 0x55, 0xC0, 0xEE, 0xE5, 0x9C, 0x25, + 0xD3, 0x29, 0x34, 0x48, 0x2E, 0x81, 0xD0, 0x3C, 0xB9, 0x65, 0x65, 0xC5, 0x92, 0xAB, 0x8A, 0x43, + 0x59, 0x53, 0x22, 0xC9, 0xB7, 0x55, 0xD6, 0x64, 0xC5, 0xD5, 0x80, 0xD5, 0xE5, 0xB8, 0xB9, 0x4D, + 0x2A, 0x92, 0x67, 0x9A, 0xA1, 0xB4, 0x2F, 0x67, 0x8D, 0x92, 0x98, 0x43, 0x60, 0x56, 0x3B, 0x15, + 0x4A, 0x60, 0xA4, 0x60, 0x1B, 0xFB, 0xA7, 0xEC, 0xE0, 0x74, 0x83, 0x7D, 0xB3, 0x7F, 0x7A, 0x70, + 0x3A, 0x40, 0x20, 0x3F, 0x1F, 0x9C, 0x7D, 0x7F, 0xF4, 0xFC, 0x8C, 0xFD, 0xBC, 0x7F, 0x72, 0xB2, + 0x7F, 0x78, 0x76, 0x30, 0x3C, 0x65, 0x47, 0x27, 0xEC, 0xF1, 0xD1, 0xE1, 0x93, 0x83, 0xB3, 0x83, + 0xA3, 0x43, 0x78, 0xFA, 0x96, 0xED, 0x1F, 0xFE, 0xC2, 0x7E, 0x3C, 0x38, 0x7C, 0x32, 0x60, 0x3C, + 0x03, 0x14, 0x15, 0xC8, 0x72, 0x5A, 0x01, 0x07, 0x48, 0x66, 0x86, 0xB2, 0xE4, 0x29, 0x09, 0xEE, + 0x94, 0x73, 0x87, 0x84, 0x71, 0x29, 0x48, 0xAA, 0xA7, 0x7C, 0x94, 0x8D, 0xB3, 0x11, 0xB0, 0x56, + 0x5C, 0xCD, 0x92, 0x2B, 0xCE, 0xAE, 0xCA, 0x1B, 0x5E, 0x15, 0xC0, 0x11, 0x9B, 0xF2, 0x6A, 0x92, + 0xD5, 0xD8, 0xA7, 0x35, 0x10, 0x98, 0x22, 0x98, 0x3C, 0x9B, 0x64, 0x4D, 0xD2, 0xE0, 0xAB, 0x90, + 0x2F, 0x44, 0xB4, 0xF5, 0xD6, 0x4D, 0x52, 0xB1, 0x8B, 0x0B, 0x7E, 0xD7, 0xF0, 0x22, 0xAD, 0xD9, + 0x1E, 0x8B, 0xA8, 0x9F, 0xDF, 0x7D, 0x97, 0xFA, 0x3B, 0xD6, 0x25, 0x7D, 0xF6, 0xD7, 0x5F, 0x2C, + 0x1A, 0xCF, 0x8A, 0x11, 0x42, 0x63, 0x51, 0x9F, 0xBD, 0x7A, 0x8B, 0xC1, 0x1F, 0x36, 0x17, 0x55, + 0x4E, 0x11, 0xD1, 0x08, 0x41, 0x98, 0x5A, 0xE9, 0x80, 0x5D, 0x52, 0x4D, 0xF1, 0x17, 0xD4, 0x3C, + 0xBA, 0xFC, 0x9D, 0x8F, 0x9A, 0xB8, 0xE6, 0xCD, 0x71, 0x55, 0x36, 0x65, 0x33, 0x9F, 0xF2, 0xA3, + 0x31, 0x60, 0x82, 0x06, 0xE6, 0x2F, 0x7A, 0x05, 0x04, 0x4E, 0xB1, 0xFC, 0xE2, 0x62, 0x87, 0xBD, + 0x38, 0x67, 0xF7, 0xD0, 0x8F, 0x75, 0x83, 0x5A, 0x07, 0x9A, 0xB4, 0x5F, 0x55, 0xC9, 0x1C, 0xE8, + 0x0D, 0xB1, 0xB2, 0x34, 0xD6, 0xED, 0x00, 0xD7, 0xE5, 0x2E, 0xBB, 0xEF, 0x7B, 0xB0, 0xC3, 0x46, + 0x24, 0xE9, 0x08, 0xB9, 0x9A, 0x02, 0x16, 0x7C, 0x95, 0x8D, 0x59, 0x74, 0x19, 0x5F, 0x27, 0xF5, + 0xD1, 0x6D, 0x01, 0x54, 0x82, 0x94, 0x9B, 0x79, 0x34, 0xED, 0xF7, 0x59, 0xFA, 0x62, 0x7A, 0x8E, + 0x70, 0xE1, 0x03, 0x40, 0xEF, 0x6A, 0xB8, 0x15, 0x6F, 0x66, 0x55, 0xE1, 0xF2, 0x2A, 0xC0, 0x53, + 0x1D, 0xAC, 0x6A, 0xAA, 0xAD, 0x2A, 0x2C, 0x05, 0x20, 0x20, 0xFC, 0xE2, 0x02, 0xFB, 0x42, 0xF4, + 0xD6, 0xA8, 0x04, 0xB9, 0x54, 0xB3, 0x51, 0x53, 0x56, 0x40, 0x58, 0x0A, 0x54, 0xE9, 0xFA, 0x69, + 0x3C, 0x55, 0x12, 0x46, 0x9A, 0xD9, 0xDE, 0xDE, 0x1E, 0x2B, 0x66, 0x79, 0xCE, 0xBE, 0x52, 0x9D, + 0x30, 0xAA, 0x78, 0xD2, 0xF0, 0x08, 0x48, 0xD8, 0x61, 0xD1, 0xC5, 0x85, 0x5B, 0xDF, 0x3C, 0x0D, + 0x58, 0xC1, 0x6F, 0x09, 0xAB, 0x61, 0xE7, 0xBE, 0x1F, 0xC1, 0x83, 0x84, 0x93, 0xF2, 0x71, 0x56, + 0x70, 0x2D, 0x29, 0x50, 0xF0, 0xB2, 0x6A, 0xEA, 0x01, 0xDB, 0x00, 0x5D, 0xAA, 0x9F, 0x95, 0xE9, + 0x2C, 0xE7, 0x1B, 0x03, 0xA0, 0xF8, 0x26, 0xC9, 0x67, 0x7C, 0x87, 0x01, 0xBD, 0x9C, 0xDD, 0x43, + 0x73, 0x59, 0x31, 0x1E, 0xC2, 0x67, 0xC1, 0x8B, 0x26, 0x4B, 0xF2, 0x6F, 0x92, 0xD1, 0xCB, 0x72, + 0x3C, 0x3E, 0x2E, 0xF3, 0x9C, 0x23, 0x47, 0xAA, 0xCA, 0xFE, 0x34, 0x3B, 0xE5, 0x0D, 0x0E, 0xE3, + 0xDA, 0x7E, 0x3B, 0x6B, 0xAE, 0xCB, 0x2A, 0xFB, 0x93, 0xA7, 0xDF, 0x83, 0x19, 0x79, 0x9C, 0x67, + 0x00, 0xC4, 0x2A, 0x9E, 0x26, 0x55, 0xCD, 0xB1, 0xE4, 0x84, 0xD7, 0x80, 0xA1, 0xE6, 0x56, 0x59, + 0x5B, 0x03, 0x64, 0x24, 0x99, 0xE5, 0xCD, 0x09, 0x6F, 0xAA, 0xF9, 0xE3, 0xB2, 0x18, 0x67, 0x57, + 0x5E, 0x8B, 0x61, 0x55, 0x91, 0xA0, 0x6F, 0xCA, 0x2C, 0x65, 0xDB, 0xBB, 0x6F, 0xD1, 0x58, 0xC0, + 0x77, 0x17, 0x8F, 0xE0, 0xAD, 0xB4, 0x49, 0xD1, 0x46, 0xBC, 0x45, 0x2F, 0x37, 0xFA, 0x54, 0x03, + 0xF9, 0xCE, 0xD2, 0x04, 0xBA, 0xC8, 0xAD, 0x23, 0x5F, 0xEB, 0x7A, 0x64, 0x0B, 0xED, 0x2A, 0xF8, + 0x6C, 0x97, 0xD5, 0x7E, 0x61, 0xAD, 0x4A, 0x67, 0x55, 0x6E, 0x97, 0xC1, 0xA3, 0x2A, 0xE1, 0x37, + 0xC0, 0x62, 0xED, 0x92, 0x47, 0xEF, 0x74, 0xDB, 0x27, 0x82, 0x69, 0x4F, 0x4E, 0x5B, 0xEF, 0xC1, + 0xFC, 0x33, 0xCA, 0x93, 0xBA, 0x06, 0x93, 0xD1, 0x62, 0x06, 0xB0, 0x02, 0x7D, 0xE2, 0xDC, 0xA4, + 0x94, 0x10, 0xAC, 0x10, 0xE9, 0x8A, 0x03, 0x6B, 0x5C, 0x95, 0x13, 0x32, 0x42, 0x57, 0x19, 0xE0, + 0x65, 0x4F, 0xCB, 0xDB, 0xA7, 0x40, 0x40, 0xAE, 0xCA, 0x63, 0x09, 0x65, 0x8B, 0x3E, 0x15, 0x9E, + 0x36, 0xAA, 0xA2, 0x0A, 0xBE, 0x58, 0xC3, 0x45, 0x8C, 0x80, 0x1A, 0x46, 0xCB, 0x0C, 0x25, 0x83, + 0xA5, 0xF2, 0x69, 0xD7, 0xAD, 0x72, 0xCD, 0x13, 0x30, 0x84, 0xAA, 0x8E, 0x7C, 0xF4, 0x2B, 0x35, + 0x30, 0xF8, 0x54, 0x0D, 0xE8, 0x95, 0xC4, 0x2A, 0xAE, 0xE6, 0x88, 0xD4, 0xFC, 0x91, 0x81, 0x78, + 0x5B, 0xD7, 0xB4, 0x49, 0x32, 0x20, 0xAB, 0xF2, 0x16, 0x65, 0xA1, 0xD4, 0x23, 0xFE, 0x56, 0x4E, + 0xFD, 0xFB, 0x53, 0xA1, 0x45, 0x91, 0x2A, 0x50, 0x2F, 0x1E, 0x97, 0x29, 0xAF, 0xE3, 0x83, 0xC3, + 0xB3, 0xE1, 0xC9, 0xE1, 0xFE, 0xD3, 0x8B, 0xE1, 0xC9, 0xC9, 0xD1, 0xC9, 0x80, 0xF5, 0xBE, 0x3F, + 0x3B, 0x3B, 0x66, 0x95, 0x12, 0x26, 0x9A, 0x7B, 0xB4, 0xFC, 0x88, 0x37, 0xEE, 0xE1, 0x78, 0x34, + 0x7F, 0x6A, 0xEC, 0x1B, 0xAE, 0xE4, 0x10, 0x48, 0x9F, 0x40, 0x6D, 0xE0, 0xED, 0x87, 0xD3, 0xA3, + 0x43, 0xF1, 0x26, 0x32, 0xC4, 0x1B, 0x10, 0xA6, 0xF9, 0x28, 0x69, 0x46, 0xD7, 0x0C, 0x29, 0x04, + 0xDE, 0x96, 0x00, 0x9D, 0x15, 0x62, 0xF8, 0xA7, 0xBB, 0x1D, 0x15, 0xD5, 0x98, 0x01, 0x68, 0x1E, + 0x2E, 0x53, 0x11, 0x55, 0x93, 0xD7, 0x5A, 0xFE, 0x23, 0x1A, 0x7B, 0xF1, 0x84, 0xC3, 0xF0, 0x4E, + 0xD9, 0xFB, 0x6C, 0x03, 0xFE, 0x7B, 0xDF, 0x29, 0x02, 0x0D, 0x07, 0x60, 0x1A, 0x50, 0xBB, 0x21, + 0x6A, 0xD1, 0x21, 0xDB, 0xAA, 0x6D, 0x20, 0xFF, 0x1B, 0x03, 0x8B, 0xC3, 0x2B, 0xDE, 0xEC, 0x30, + 0x5B, 0xD5, 0xC3, 0x6E, 0x27, 0x72, 0xB3, 0xFA, 0x87, 0xBA, 0x2C, 0xA2, 0xBE, 0x5F, 0xC1, 0x18, + 0x79, 0x5F, 0x50, 0x7E, 0x47, 0xBD, 0x11, 0x5D, 0x79, 0x7E, 0xB8, 0xFF, 0xCD, 0xD3, 0xE1, 0xC5, + 0xD9, 0xD1, 0xC5, 0xF1, 0xFE, 0xC9, 0xE9, 0xF0, 0xE2, 0x64, 0x78, 0x7A, 0x7C, 0x04, 0xDE, 0x12, + 0xB0, 0x26, 0x84, 0x7E, 0x7B, 0x8D, 0xCE, 0x1B, 0x50, 0x81, 0x3A, 0x63, 0x94, 0x08, 0xF9, 0xDE, + 0x61, 0xBF, 0x6E, 0x80, 0x50, 0xFD, 0x7E, 0x8A, 0x9B, 0xF2, 0xB4, 0xA9, 0xA0, 0x76, 0xD4, 0x47, + 0xB9, 0xFF, 0xBA, 0x11, 0xB3, 0x13, 0x70, 0xA9, 0x6A, 0x5E, 0x81, 0xCF, 0x81, 0xBD, 0x10, 0xF0, + 0x1B, 0x6D, 0x28, 0xB8, 0x12, 0xA4, 0x19, 0x4E, 0x0A, 0xC2, 0xA9, 0x18, 0xA2, 0xA3, 0x32, 0x35, + 0x75, 0xCC, 0xD0, 0x55, 0xB5, 0x8E, 0x66, 0xCD, 0x55, 0x89, 0x74, 0x6E, 0xF4, 0x5B, 0xD1, 0x48, + 0x1D, 0x71, 0x20, 0x88, 0x77, 0x84, 0x28, 0x86, 0xD7, 0x7D, 0x5B, 0x9B, 0x07, 0x66, 0x5A, 0x2D, + 0x66, 0x13, 0x5E, 0xA1, 0x7F, 0x08, 0xBD, 0x9B, 0xE4, 0x35, 0x37, 0x45, 0x42, 0x9D, 0x66, 0x58, + 0x28, 0x67, 0x26, 0xA1, 0x55, 0x12, 0xD0, 0x42, 0x0D, 0x92, 0x6A, 0xC0, 0xF6, 0x3C, 0x95, 0xF1, + 0x34, 0x01, 0xAB, 0x96, 0xE3, 0x60, 0xE4, 0xBC, 0x0D, 0xD3, 0x71, 0x4F, 0x0F, 0x9E, 0x5E, 0x8B, + 0xA3, 0xD0, 0x86, 0x1D, 0x66, 0x5E, 0x9A, 0x86, 0xC9, 0xFA, 0xBE, 0xC7, 0x4E, 0x38, 0xFA, 0x92, + 0xBC, 0x20, 0xCB, 0x3B, 0x81, 0xBA, 0x19, 0x60, 0x68, 0x98, 0x63, 0x33, 0x62, 0x76, 0x0C, 0xEF, + 0x6A, 0x20, 0x20, 0x69, 0x18, 0xF9, 0x0B, 0x59, 0x33, 0x6B, 0xC8, 0xD9, 0x34, 0x2A, 0x71, 0x59, + 0xA6, 0x73, 0x18, 0xF6, 0xE0, 0xFE, 0x80, 0x77, 0x3E, 0x1A, 0xF1, 0x1A, 0xC8, 0x44, 0x04, 0x37, + 0x59, 0x82, 0x15, 0x0D, 0x6C, 0x1C, 0x23, 0x0D, 0xAF, 0x62, 0xF6, 0x1D, 0x7D, 0xD6, 0xE4, 0x3D, + 0x61, 0x67, 0xA3, 0x03, 0x4A, 0x9A, 0x45, 0xFA, 0x2C, 0x75, 0xB9, 0x36, 0x1E, 0xE7, 0x33, 0x09, + 0x61, 0xED, 0x89, 0x46, 0xBD, 0xD1, 0x10, 0xFE, 0xC5, 0x49, 0x41, 0xB3, 0x2D, 0xAB, 0x99, 0x17, + 0xCB, 0xAD, 0x8F, 0x22, 0xB7, 0xDB, 0xFE, 0xA0, 0xD8, 0xD6, 0xB1, 0x3F, 0xFF, 0x80, 0xA1, 0xE8, + 0x3D, 0x2F, 0x68, 0xDD, 0xD4, 0x94, 0x64, 0x26, 0xAC, 0x8E, 0x86, 0xE7, 0x79, 0x5E, 0x26, 0x29, + 0x4B, 0x6A, 0xEA, 0xDF, 0xDE, 0x9B, 0x1E, 0x5B, 0x0F, 0x95, 0xDA, 0xBA, 0x56, 0xFB, 0x3F, 0x93, + 0x1A, 0x4E, 0xB7, 0x6F, 0x5C, 0x6A, 0x4A, 0x3E, 0xAF, 0x67, 0x93, 0x08, 0x67, 0x9B, 0xC9, 0x31, + 0xE0, 0x43, 0xA3, 0x43, 0xC3, 0x58, 0x7B, 0xC1, 0x8B, 0x86, 0xEE, 0x45, 0x3D, 0x83, 0xDE, 0x94, + 0x78, 0xCD, 0x5A, 0x33, 0xD2, 0x8D, 0x07, 0x4C, 0x56, 0xD9, 0x75, 0x87, 0xB8, 0xAE, 0x10, 0x29, + 0xCB, 0x64, 0x13, 0x4F, 0x0B, 0x57, 0x5A, 0xAC, 0xEE, 0xC9, 0xF6, 0xF1, 0x28, 0xC9, 0x73, 0x9A, + 0x93, 0x41, 0x31, 0x4E, 0xC5, 0x24, 0x25, 0x5A, 0xA6, 0x3C, 0x15, 0x01, 0x0A, 0x31, 0xF8, 0xC9, + 0x81, 0x50, 0x30, 0xAD, 0x89, 0x27, 0xDE, 0xA0, 0x65, 0x2E, 0x42, 0x30, 0x1D, 0x75, 0x21, 0xE6, + 0x16, 0x63, 0xA3, 0xD4, 0x57, 0x53, 0x65, 0x6B, 0x8B, 0xC1, 0x7A, 0x84, 0x4C, 0xA3, 0x59, 0x35, + 0xD5, 0x25, 0x19, 0x59, 0x7B, 0xAD, 0x0A, 0x01, 0x8D, 0xD1, 0xCB, 0x1A, 0x28, 0x81, 0x75, 0xD7, + 0x6D, 0x59, 0xBD, 0x84, 0xEE, 0xAD, 0x2A, 0x50, 0xFB, 0x7C, 0x1E, 0xBB, 0xB0, 0xF8, 0x8E, 0x70, + 0xF1, 0x21, 0x16, 0x72, 0x05, 0x64, 0xCF, 0x2E, 0xC1, 0xD3, 0x99, 0x6C, 0x3D, 0xCB, 0x46, 0x55, + 0x89, 0x61, 0x8B, 0xAD, 0x33, 0x40, 0x70, 0x3A, 0xAA, 0xB2, 0x69, 0xB3, 0x05, 0x2E, 0x20, 0x4C, + 0x7A, 0x5B, 0x8F, 0x3E, 0xFC, 0xFC, 0x93, 0x8F, 0x15, 0x90, 0xF6, 0x75, 0x75, 0x44, 0x9C, 0x0C, + 0x8C, 0x58, 0x8D, 0xA2, 0xF4, 0x83, 0xD5, 0x2B, 0xD5, 0x55, 0x66, 0xCD, 0xBC, 0x37, 0x8D, 0x51, + 0x0D, 0xE8, 0x0B, 0xEA, 0x42, 0xDB, 0xAA, 0x48, 0x7F, 0x57, 0xF3, 0x93, 0x9A, 0xC1, 0x10, 0x54, + 0x35, 0x37, 0xAA, 0x8D, 0x7D, 0x8D, 0x13, 0x87, 0x98, 0xA8, 0xE4, 0x24, 0x5E, 0x83, 0xAB, 0x01, + 0xD5, 0x32, 0x0E, 0x81, 0x8B, 0x29, 0x0E, 0xAD, 0x8F, 0x58, 0x93, 0x4D, 0xE0, 0x09, 0xEA, 0x42, + 0xCB, 0x82, 0x0B, 0x15, 0xC1, 0xF9, 0x8E, 0x26, 0x1B, 0x2A, 0x2D, 0x67, 0x8D, 0x9C, 0x69, 0x10, + 0x5D, 0x02, 0x92, 0xE6, 0x79, 0x0E, 0x9F, 0x02, 0xF2, 0xC7, 0xDB, 0x1F, 0xAA, 0x79, 0x88, 0xE1, + 0x22, 0x13, 0x26, 0x35, 0x2C, 0x4B, 0xB4, 0xC2, 0x21, 0x1A, 0x08, 0x8C, 0xCC, 0x2A, 0x4E, 0x3D, + 0x87, 0xAB, 0x25, 0xA0, 0x53, 0xAF, 0x0D, 0x69, 0xB6, 0xAB, 0x59, 0x06, 0xFF, 0x97, 0xB7, 0x05, + 0xB3, 0xD6, 0x85, 0x80, 0x4D, 0x77, 0xB3, 0x98, 0xE3, 0x34, 0xC8, 0x70, 0x11, 0x29, 0x46, 0xA0, + 0x91, 0xA8, 0xD1, 0xE8, 0x49, 0x72, 0x27, 0x79, 0xDE, 0x61, 0x1F, 0x69, 0x1B, 0x20, 0x75, 0x96, + 0xAC, 0x10, 0x84, 0x3F, 0x80, 0x8B, 0x73, 0x53, 0x96, 0x95, 0x24, 0x62, 0x55, 0xD8, 0x1B, 0x42, + 0xB8, 0xE9, 0x10, 0x4C, 0xD3, 0xF0, 0xAC, 0x07, 0x86, 0x69, 0x78, 0x76, 0xF0, 0x6C, 0xF8, 0x04, + 0x62, 0x52, 0x3D, 0xAB, 0xC9, 0x25, 0x2C, 0xAA, 0x8F, 0xC6, 0xE3, 0x6F, 0x13, 0x0C, 0x13, 0xEC, + 0xB0, 0xED, 0xF8, 0xE3, 0x81, 0x4D, 0xC1, 0x13, 0x9E, 0x27, 0xF3, 0x83, 0xE2, 0x19, 0xE8, 0x68, + 0x06, 0x20, 0x3F, 0xD9, 0x06, 0xDE, 0x1E, 0x6D, 0x6F, 0x6F, 0x0F, 0xF4, 0x62, 0xFF, 0xAD, 0x85, + 0x0B, 0xE4, 0xF0, 0xA5, 0xEE, 0xFF, 0x21, 0xC9, 0x56, 0xFA, 0x1E, 0x66, 0x0D, 0x68, 0xB7, 0x2F, + 0x49, 0x71, 0x21, 0xE2, 0x26, 0x96, 0xC9, 0x2A, 0x9C, 0xF9, 0x35, 0x18, 0xA1, 0x64, 0x22, 0x15, + 0xE7, 0x0C, 0x5A, 0x6A, 0xE5, 0x51, 0xFD, 0x76, 0xC9, 0xD5, 0xC2, 0x9A, 0xA7, 0x6E, 0x17, 0xE8, + 0xF7, 0x76, 0x1F, 0x10, 0x24, 0xEC, 0x08, 0xBD, 0x80, 0xD3, 0xEB, 0x6F, 0x30, 0x9A, 0x87, 0xB3, + 0xC9, 0x25, 0xAF, 0x44, 0xA5, 0xD8, 0xF4, 0x0A, 0x19, 0x07, 0xFF, 0x25, 0xFB, 0x82, 0x6D, 0x23, + 0xA0, 0xD7, 0x9E, 0x60, 0x0E, 0x0E, 0x7F, 0xDA, 0x7F, 0x7A, 0xF0, 0xE4, 0x62, 0xFF, 0xE4, 0xBB, + 0xE7, 0xCF, 0x86, 0x87, 0x67, 0xD0, 0x7F, 0x16, 0x96, 0xC9, 0xAC, 0x6E, 0xC8, 0x1D, 0x83, 0x78, + 0x6C, 0xB1, 0x59, 0xF0, 0x2B, 0xE0, 0xFC, 0x86, 0x83, 0xD6, 0x35, 0xFC, 0x8A, 0x57, 0x6A, 0x62, + 0xB9, 0xD7, 0xFC, 0x08, 0x3F, 0x53, 0x52, 0xEB, 0x74, 0xB9, 0xEF, 0x6B, 0x2A, 0xE2, 0x97, 0x4B, + 0xC2, 0x01, 0x23, 0x84, 0x11, 0xBE, 0x47, 0x79, 0xBC, 0xB1, 0x49, 0xB7, 0x45, 0x26, 0x0E, 0xB2, + 0x2E, 0xB1, 0x14, 0x44, 0xB6, 0x33, 0xDD, 0x0A, 0xF9, 0xAC, 0xD6, 0xDF, 0xCE, 0x18, 0x50, 0x8C, + 0x86, 0x45, 0xFF, 0x74, 0xDF, 0xDB, 0xB8, 0x5E, 0x53, 0x03, 0x2C, 0x1B, 0xE2, 0xF7, 0x3F, 0xC6, + 0x4E, 0x1D, 0x69, 0x50, 0x44, 0x35, 0x0A, 0xDA, 0xF5, 0xFF, 0x29, 0x4E, 0x0D, 0x0E, 0x8B, 0x49, + 0x88, 0xB1, 0x23, 0x19, 0x4B, 0xD8, 0x92, 0xE6, 0x6F, 0x7D, 0xBE, 0x64, 0xC3, 0x7F, 0x96, 0x31, + 0x89, 0x64, 0x19, 0x67, 0xF7, 0xE4, 0x4A, 0x99, 0x69, 0x66, 0xAD, 0x65, 0x90, 0x69, 0x26, 0x38, + 0xF3, 0x46, 0xB3, 0x78, 0x09, 0xD1, 0x5E, 0x15, 0xA5, 0xC4, 0x58, 0xB1, 0x7C, 0xD7, 0x3A, 0x37, + 0xED, 0xFA, 0xC1, 0x18, 0x55, 0x99, 0x3E, 0x77, 0x1D, 0xD8, 0xA6, 0xDC, 0x1B, 0xF0, 0xAD, 0x26, + 0xD7, 0xD4, 0x0E, 0x87, 0xA5, 0x1F, 0x43, 0x3C, 0x45, 0x07, 0x11, 0x44, 0xE5, 0xB8, 0x04, 0x68, + 0xE6, 0x13, 0x78, 0x98, 0x94, 0x0D, 0x97, 0x31, 0x88, 0x98, 0x1D, 0x8C, 0x45, 0x5E, 0xC4, 0xF1, + 0xF6, 0x6A, 0x72, 0xF6, 0xA0, 0x72, 0x3D, 0xA3, 0xD5, 0xEB, 0x78, 0x96, 0x9B, 0xC5, 0x6D, 0xF4, + 0xC1, 0xDD, 0x5D, 0x7F, 0x80, 0xAD, 0xE4, 0x0C, 0xCC, 0x53, 0x89, 0x16, 0x9D, 0x37, 0x08, 0xA9, + 0xD1, 0x42, 0xB8, 0xCC, 0x6F, 0xB8, 0x02, 0x53, 0x38, 0x21, 0xCC, 0x25, 0x38, 0x0B, 0xA1, 0x38, + 0x2C, 0xFA, 0xF0, 0xEE, 0x6E, 0xC0, 0x3E, 0xC2, 0x7F, 0x3E, 0xD6, 0x08, 0x0D, 0x02, 0x9C, 0xE6, + 0x6A, 0x89, 0x57, 0xB7, 0x34, 0x9E, 0x19, 0xE4, 0xF2, 0x60, 0x01, 0x0E, 0x35, 0x41, 0xD5, 0x13, + 0xF0, 0x61, 0x4A, 0x4C, 0x16, 0x49, 0xEF, 0xA5, 0x0D, 0x94, 0xE6, 0xD8, 0xD7, 0x56, 0xA2, 0x36, + 0xD1, 0x22, 0x1C, 0x27, 0x59, 0xAE, 0xD1, 0xA6, 0x33, 0x2E, 0x64, 0x9A, 0x97, 0xB7, 0x9B, 0x39, + 0x86, 0x61, 0x41, 0xF1, 0x1B, 0x74, 0x4C, 0x05, 0x26, 0x40, 0x54, 0x25, 0x45, 0x0D, 0x73, 0x2F, + 0xA8, 0x57, 0x3E, 0x07, 0x20, 0x34, 0x17, 0x21, 0x7A, 0x0D, 0xB0, 0xC4, 0xDC, 0xDF, 0x25, 0x07, + 0xF7, 0x4D, 0x92, 0x82, 0x51, 0x79, 0x43, 0xA0, 0x89, 0xE8, 0xCA, 0x0F, 0x20, 0xC7, 0x6E, 0x2F, + 0x62, 0x04, 0x59, 0xAD, 0x12, 0x5B, 0xD2, 0x25, 0x2B, 0xA4, 0x23, 0x30, 0x00, 0x6F, 0x4B, 0xB8, + 0xCB, 0x97, 0x24, 0x6F, 0xC8, 0x09, 0x60, 0x7C, 0x1F, 0x8C, 0x1E, 0xD2, 0x4D, 0x6B, 0x2A, 0xCC, + 0x93, 0x02, 0xCA, 0x18, 0xDD, 0x02, 0x95, 0xFB, 0xC3, 0x91, 0xB1, 0xF5, 0x3B, 0xAC, 0x7C, 0x24, + 0x52, 0x74, 0x17, 0x1A, 0xE0, 0x61, 0x93, 0x1C, 0x73, 0xB1, 0xB8, 0x17, 0x60, 0x61, 0xE5, 0x53, + 0xD2, 0xA8, 0x9C, 0x35, 0xE5, 0x04, 0xDA, 0xE1, 0x0A, 0x62, 0x0E, 0x98, 0xD0, 0x6D, 0x27, 0xFD, + 0xA7, 0x5E, 0x88, 0xD9, 0xB7, 0x65, 0x65, 0xFA, 0x41, 0x2F, 0xEB, 0x10, 0x9C, 0xE8, 0x0E, 0x07, + 0x83, 0xC4, 0xAA, 0x10, 0xD5, 0xD7, 0xE5, 0x2C, 0x4F, 0x11, 0x0B, 0xBF, 0x43, 0xF2, 0xB2, 0x46, + 0xA2, 0xB8, 0x9C, 0x53, 0x53, 0xC4, 0x89, 0xAA, 0x7C, 0x56, 0xC2, 0xDB, 0x22, 0x55, 0x7C, 0xE5, + 0x3C, 0x19, 0x8B, 0x24, 0x09, 0xC4, 0x5E, 0x63, 0x60, 0x70, 0x63, 0x5C, 0x96, 0x1B, 0xA0, 0x4D, + 0xFD, 0x81, 0x5C, 0x67, 0x66, 0x0D, 0x09, 0x82, 0xAA, 0x0F, 0x24, 0x52, 0xF2, 0x85, 0xA7, 0x60, + 0x38, 0x48, 0x8E, 0x52, 0x38, 0x94, 0x04, 0x65, 0xDF, 0xCC, 0xC6, 0x63, 0x8E, 0x6C, 0x94, 0xF0, + 0x46, 0xA4, 0x6B, 0x85, 0xC8, 0x60, 0xB5, 0x0D, 0x92, 0x6D, 0x78, 0x9B, 0x98, 0x9C, 0xEE, 0x33, + 0x9E, 0xD8, 0x2B, 0x1A, 0x11, 0xA2, 0x0F, 0xEF, 0xA5, 0x37, 0xE6, 0x0F, 0x56, 0xEA, 0x33, 0x00, + 0x17, 0xEB, 0xB6, 0xCA, 0xE3, 0x3D, 0x16, 0xAA, 0xF1, 0x85, 0x3D, 0xAC, 0xBE, 0xBC, 0x67, 0xFB, + 0x52, 0x67, 0x84, 0xFB, 0xED, 0x8E, 0x42, 0x37, 0x40, 0x95, 0xF2, 0x06, 0x15, 0xD9, 0xCD, 0x16, + 0x18, 0x53, 0x68, 0xAD, 0x80, 0x51, 0xA2, 0xCE, 0xFA, 0x57, 0xD0, 0x1A, 0xAC, 0x82, 0x45, 0x6F, + 0x53, 0xF5, 0x9F, 0x01, 0x1D, 0x19, 0x2E, 0x55, 0x57, 0x2D, 0x8D, 0x57, 0xB2, 0x52, 0x38, 0x74, + 0x91, 0x58, 0x91, 0x6B, 0xA1, 0xF1, 0x5B, 0xC8, 0xE1, 0x64, 0x0F, 0x20, 0xA7, 0x0D, 0x06, 0xD9, + 0xCA, 0x2A, 0xA5, 0x91, 0x53, 0x62, 0xA9, 0xC2, 0x60, 0xD9, 0x4F, 0xD2, 0x98, 0x52, 0x80, 0x36, + 0x9C, 0xAE, 0xD0, 0x3D, 0xA2, 0xF9, 0xEA, 0x9D, 0x24, 0x21, 0x08, 0x17, 0xEA, 0x5E, 0xD8, 0xFD, + 0x7D, 0x88, 0xEE, 0x4D, 0xA6, 0x60, 0x65, 0x84, 0xA7, 0x04, 0x5C, 0x69, 0x5E, 0x60, 0xDD, 0x0D, + 0x83, 0x7F, 0xC2, 0x53, 0xB9, 0x4E, 0x2B, 0xCA, 0xDB, 0xFF, 0xBC, 0xC3, 0x75, 0x0F, 0xB6, 0xF4, + 0xFC, 0xC0, 0xE5, 0xA8, 0x2B, 0xA2, 0x80, 0x1F, 0xEE, 0x6C, 0xE7, 0x34, 0xF3, 0x66, 0x54, 0xAF, + 0x8C, 0x6D, 0xEB, 0x69, 0xD4, 0xE8, 0xD7, 0x7E, 0x3D, 0x2F, 0x46, 0x44, 0x32, 0x8C, 0xF7, 0x38, + 0x2B, 0x6E, 0xCA, 0x97, 0x5C, 0x69, 0x98, 0x33, 0x79, 0xC6, 0xC0, 0x79, 0x61, 0xE6, 0x7C, 0x2F, + 0xA6, 0x19, 0xAE, 0xD2, 0x65, 0xE6, 0x36, 0x88, 0x83, 0xDA, 0xD3, 0xAC, 0x87, 0x81, 0x52, 0x3A, + 0x1A, 0x85, 0x9F, 0xDB, 0x31, 0xC2, 0x80, 0x94, 0x8E, 0xC4, 0x71, 0xC5, 0x85, 0x9F, 0x40, 0x3E, + 0xA9, 0xF0, 0x48, 0x5D, 0x89, 0x0C, 0x50, 0xC9, 0xC1, 0x34, 0xA5, 0xA6, 0x02, 0x36, 0x4E, 0x5E, + 0x6C, 0x9F, 0x0F, 0x30, 0x96, 0x4C, 0xAD, 0xC5, 0x9B, 0x47, 0xE7, 0xBB, 0x41, 0x26, 0x45, 0xD7, + 0x78, 0xF7, 0x5D, 0x15, 0x71, 0x91, 0x8F, 0x0E, 0xC4, 0x2F, 0x14, 0x3D, 0xED, 0x0E, 0xB9, 0x62, + 0xA2, 0x53, 0x54, 0xB7, 0x49, 0xD6, 0x80, 0x2D, 0x17, 0xC3, 0xDB, 0x02, 0xDC, 0xF7, 0x85, 0xAE, + 0x20, 0x2D, 0x82, 0xE6, 0xEA, 0x5A, 0xAB, 0x7E, 0x61, 0x58, 0xE9, 0x91, 0x97, 0x98, 0x53, 0x01, + 0x3C, 0xE7, 0xD9, 0x13, 0x08, 0x75, 0x89, 0x0E, 0x3A, 0x2D, 0xCE, 0x29, 0x9A, 0x30, 0x59, 0x97, + 0x3A, 0xB8, 0xC0, 0x56, 0x42, 0x8D, 0xE9, 0x19, 0x54, 0x72, 0x3B, 0x88, 0xF0, 0x46, 0x53, 0x9B, + 0x87, 0xC3, 0xB3, 0x9F, 0x8F, 0x4E, 0x7E, 0xBC, 0x40, 0xE8, 0x00, 0xDC, 0xCB, 0x52, 0x4D, 0x92, + 0x97, 0x68, 0x0D, 0x55, 0x96, 0x87, 0x02, 0x76, 0x48, 0xD6, 0x04, 0xBC, 0x39, 0xD8, 0xF5, 0x22, + 0x83, 0x75, 0xFF, 0x48, 0x1E, 0x4D, 0x12, 0x26, 0x52, 0xAE, 0x0F, 0x20, 0x8B, 0x89, 0x06, 0x28, + 0x40, 0x53, 0x01, 0x9F, 0xEC, 0xF1, 0xA8, 0xE7, 0x94, 0x6E, 0x43, 0x16, 0x76, 0x23, 0x8C, 0x9E, + 0xD0, 0x2A, 0xD8, 0x1D, 0xE7, 0x26, 0x25, 0xDA, 0x6D, 0x06, 0x8A, 0x64, 0x41, 0xF2, 0xC4, 0xF1, + 0xCD, 0xC3, 0x96, 0x9D, 0x99, 0xF8, 0x15, 0x18, 0xB2, 0xC7, 0x9E, 0xCD, 0x8A, 0x3D, 0x0E, 0x7D, + 0x8E, 0xEC, 0xB1, 0xFF, 0x25, 0xDB, 0x5E, 0xC0, 0x92, 0x9C, 0x62, 0xAC, 0x21, 0x2C, 0xA6, 0x93, + 0xB6, 0xC1, 0x83, 0x73, 0xE9, 0x99, 0x88, 0x17, 0xAA, 0x5A, 0x8E, 0xE1, 0xF2, 0x15, 0x6B, 0x81, + 0x50, 0x14, 0xDE, 0x58, 0xC2, 0x89, 0x3A, 0xBD, 0x85, 0xC7, 0x14, 0xFC, 0x45, 0xAE, 0x12, 0x72, + 0xC3, 0x79, 0xAA, 0xA7, 0x61, 0x60, 0x8E, 0xE7, 0xD9, 0x55, 0x76, 0x99, 0x8B, 0x9D, 0x5E, 0x89, + 0xB0, 0x21, 0x03, 0x74, 0xE6, 0xB0, 0x41, 0x5D, 0x4A, 0x6C, 0xC2, 0x75, 0x48, 0xAD, 0xB8, 0x17, + 0x0A, 0x55, 0xF9, 0xDF, 0x59, 0x91, 0xC1, 0xAE, 0x19, 0x74, 0xC0, 0x25, 0x4E, 0xAA, 0x2D, 0x2C, + 0xA5, 0x7C, 0xF3, 0xD0, 0x59, 0x9E, 0x36, 0xFA, 0xF1, 0xC6, 0x99, 0xE5, 0x7D, 0x58, 0x6A, 0x2F, + 0x07, 0xE9, 0xFF, 0x3D, 0xAA, 0x3D, 0xF9, 0xE4, 0x79, 0x02, 0x1C, 0xF2, 0x62, 0x54, 0xCE, 0xC0, + 0xB9, 0x84, 0x3D, 0x7A, 0x62, 0x3C, 0x9A, 0xD6, 0x8A, 0xB3, 0x57, 0x2F, 0x04, 0x31, 0x03, 0x48, + 0x3F, 0x96, 0xE0, 0xFC, 0x16, 0xE7, 0xE8, 0x20, 0x7C, 0xB0, 0xD9, 0xCC, 0x00, 0x33, 0x8C, 0x3F, + 0x68, 0x4B, 0xFC, 0x3C, 0x42, 0x70, 0x39, 0x9F, 0xA0, 0x77, 0x95, 0x2D, 0x16, 0x48, 0x52, 0x08, + 0x7F, 0xDD, 0x48, 0xD3, 0x76, 0xAE, 0xF0, 0xEF, 0x03, 0x78, 0x65, 0x01, 0x4B, 0x14, 0x6E, 0x90, + 0x65, 0x9A, 0x8D, 0x48, 0x96, 0x88, 0x9A, 0xA0, 0xC0, 0x3F, 0xCB, 0x7A, 0x0C, 0x1D, 0x6D, 0xC0, + 0xB9, 0x82, 0x9B, 0xD2, 0x32, 0x9F, 0x3A, 0x63, 0x22, 0x9C, 0x5B, 0x83, 0x38, 0x9D, 0xDC, 0x7C, + 0x40, 0x60, 0x86, 0x92, 0x98, 0xB6, 0x76, 0x1D, 0x83, 0xE6, 0xC5, 0xF6, 0x40, 0x64, 0x7E, 0xCE, + 0x5D, 0xED, 0x36, 0xD3, 0xBF, 0x95, 0xF3, 0xB0, 0x27, 0x10, 0xD7, 0x2D, 0xD2, 0x95, 0xDE, 0x7D, + 0x57, 0x37, 0x50, 0xF9, 0xD3, 0x17, 0x3D, 0x22, 0x67, 0x33, 0x19, 0x43, 0xCF, 0xF7, 0xCE, 0x5B, + 0x5C, 0x0C, 0xCF, 0x5D, 0x30, 0x69, 0xF1, 0x13, 0xE2, 0x03, 0xDB, 0x1D, 0xC0, 0x12, 0x47, 0x3A, + 0x1C, 0xCB, 0xE0, 0x0B, 0xCA, 0xD6, 0xB0, 0x1F, 0xB6, 0x38, 0xAC, 0xAA, 0x03, 0xCA, 0xB4, 0x9D, + 0xFB, 0xD3, 0x8B, 0xF9, 0xE6, 0xB7, 0x45, 0xBA, 0x55, 0x18, 0xB4, 0xD3, 0x43, 0xEA, 0x4B, 0xB0, + 0xCB, 0x2D, 0xA5, 0xD7, 0xA9, 0x0F, 0x52, 0x0C, 0x3F, 0x2E, 0x13, 0x26, 0xFC, 0x0C, 0x3F, 0x0B, + 0xFC, 0xDC, 0x2F, 0x65, 0xA7, 0xF8, 0x61, 0xEF, 0x87, 0x40, 0xB6, 0x95, 0xA8, 0x4D, 0x17, 0xEC, + 0x40, 0xA0, 0x83, 0xD6, 0x2A, 0xC0, 0x60, 0xEC, 0x8B, 0xF3, 0xDD, 0x16, 0xDC, 0x76, 0xF3, 0x18, + 0x86, 0x2F, 0xBF, 0x3B, 0x1A, 0x3B, 0x28, 0x25, 0x98, 0x3E, 0x05, 0x0A, 0x37, 0x1F, 0x75, 0x51, + 0x29, 0xA7, 0xEB, 0x56, 0x0A, 0x89, 0x1C, 0x9F, 0x40, 0x13, 0x4E, 0x5C, 0x42, 0xA1, 0x6E, 0x6E, + 0x08, 0x34, 0xD8, 0x42, 0xAA, 0x96, 0xA7, 0x69, 0xAD, 0xD9, 0xE5, 0x18, 0x07, 0x8D, 0xB0, 0x86, + 0x27, 0x34, 0x26, 0x68, 0xEC, 0x88, 0xD5, 0x9E, 0x18, 0x2D, 0x22, 0x20, 0x30, 0x21, 0xC5, 0xE4, + 0x23, 0x8C, 0x58, 0x89, 0xE8, 0x02, 0x24, 0xDA, 0x08, 0xBE, 0x78, 0x42, 0xCB, 0x66, 0x62, 0xCB, + 0x63, 0x1F, 0xA0, 0x84, 0x65, 0xC7, 0x55, 0x92, 0x8C, 0xF6, 0x1B, 0x63, 0x70, 0x03, 0x1C, 0x2C, + 0x91, 0x88, 0x03, 0x49, 0x4F, 0xA6, 0x68, 0x0C, 0xC9, 0xFE, 0xDE, 0x02, 0x42, 0x70, 0x9D, 0x72, + 0xB1, 0x4E, 0x5C, 0xC1, 0x38, 0x76, 0x5A, 0x00, 0x77, 0x24, 0xE8, 0x0A, 0xD8, 0x55, 0x81, 0x51, + 0x39, 0x95, 0x4C, 0xEE, 0x89, 0x68, 0x09, 0x00, 0xB1, 0x5A, 0x0C, 0x20, 0xA7, 0xD5, 0xDF, 0x75, + 0x87, 0x0D, 0xE4, 0x01, 0x92, 0xC3, 0xC8, 0x6E, 0xDB, 0x65, 0x3A, 0xED, 0x3A, 0x32, 0x3D, 0xD6, + 0x65, 0x43, 0x53, 0x8C, 0xAB, 0xEC, 0x09, 0xD7, 0x09, 0xBE, 0x5A, 0x24, 0xB4, 0xA3, 0xC7, 0xFA, + 0xF1, 0x95, 0x70, 0x4F, 0xA2, 0x7E, 0x17, 0x01, 0x6E, 0x2D, 0xB6, 0x49, 0xB0, 0x63, 0x98, 0x94, + 0xA3, 0x45, 0xAE, 0xCA, 0xE6, 0xA3, 0xE5, 0xA6, 0x47, 0x1A, 0xB1, 0x95, 0xA6, 0x25, 0x20, 0x6E, + 0xF1, 0x0A, 0xB9, 0xD3, 0x61, 0xB3, 0xC5, 0xB5, 0xAA, 0xED, 0x7A, 0xB0, 0x43, 0x1F, 0x6C, 0xA2, + 0x1C, 0xDE, 0x41, 0xB0, 0x11, 0x7D, 0x19, 0x83, 0x8C, 0x52, 0xBF, 0x77, 0xB0, 0xC9, 0x5F, 0x6D, + 0xA3, 0x0C, 0xBB, 0xD2, 0x4D, 0x9C, 0xBA, 0xE3, 0xDF, 0x2D, 0xFA, 0xEB, 0x2F, 0x60, 0x30, 0x54, + 0xC8, 0x83, 0xC2, 0xA8, 0x64, 0xF4, 0x2C, 0x69, 0xAE, 0xE3, 0x29, 0x74, 0xD8, 0x07, 0xDE, 0x82, + 0x11, 0xBA, 0xFC, 0x3D, 0x17, 0x55, 0x90, 0x9B, 0xA7, 0xB6, 0x70, 0x62, 0x24, 0x72, 0xC1, 0xAA, + 0x44, 0x2D, 0x5B, 0xB0, 0x40, 0x6E, 0xDD, 0x82, 0x6E, 0x14, 0x41, 0xED, 0xED, 0x68, 0xDD, 0x17, + 0x6D, 0x1E, 0x44, 0x46, 0x57, 0x5B, 0x1D, 0x74, 0x68, 0x71, 0x2B, 0xB9, 0xBB, 0x39, 0x55, 0xAE, + 0x89, 0x94, 0x8D, 0x40, 0x4F, 0xEA, 0xB2, 0xC4, 0x18, 0xB5, 0xB6, 0x47, 0x18, 0xEB, 0xA4, 0xBD, + 0x66, 0x5E, 0x9A, 0xF7, 0x95, 0x88, 0x5A, 0xFE, 0x25, 0x02, 0x96, 0xF7, 0x1A, 0x24, 0xBA, 0x93, + 0x2E, 0x12, 0x11, 0xC0, 0xA2, 0x01, 0x8E, 0x86, 0x65, 0xA5, 0x00, 0xD8, 0x99, 0x71, 0xE3, 0xDC, + 0x34, 0xB2, 0x0E, 0x42, 0xC1, 0xFA, 0x06, 0x63, 0xCC, 0xF0, 0xC2, 0xC7, 0x87, 0x28, 0x4C, 0x54, + 0xCB, 0x5E, 0x04, 0x81, 0xAF, 0xAA, 0x82, 0xD6, 0x16, 0xC7, 0x00, 0x41, 0x51, 0x47, 0x80, 0xE4, + 0x1C, 0x35, 0x90, 0x22, 0xA8, 0x95, 0x4B, 0x4A, 0x52, 0xF0, 0xD2, 0xD6, 0xC1, 0x7E, 0x75, 0xED, + 0xFE, 0x0C, 0x98, 0x09, 0x62, 0xFA, 0xBE, 0xDA, 0x99, 0xD8, 0xB8, 0x6C, 0xE7, 0xBD, 0x48, 0x8C, + 0xF6, 0x1E, 0x9A, 0xAF, 0xB4, 0x42, 0xA9, 0x77, 0x66, 0xA3, 0x67, 0x6F, 0xD6, 0x8C, 0x37, 0x3F, + 0x83, 0xA5, 0xFE, 0x8E, 0x2E, 0xDC, 0xD5, 0x48, 0x20, 0xDC, 0x71, 0x34, 0xFE, 0x9E, 0x48, 0x3F, + 0x2E, 0x41, 0x8D, 0x1D, 0xAC, 0x7A, 0x4A, 0xEB, 0xFD, 0x5A, 0xFD, 0x5A, 0xE0, 0xFF, 0xBD, 0xBE, + 0x6E, 0x2A, 0x19, 0x7E, 0x0A, 0x99, 0xB9, 0xA0, 0x5D, 0x3D, 0xBB, 0xAC, 0x05, 0xF2, 0xED, 0x81, + 0x87, 0xA2, 0x1F, 0xD7, 0x10, 0x31, 0x6F, 0x00, 0xA4, 0x0B, 0x4E, 0xCA, 0x11, 0xC1, 0x01, 0x34, + 0x0B, 0x36, 0x44, 0x9B, 0xFC, 0x4A, 0x50, 0xC1, 0xD4, 0x8E, 0x01, 0xD1, 0x24, 0x52, 0x60, 0xB7, + 0x7E, 0xAD, 0xB7, 0xFA, 0x3A, 0x1C, 0x65, 0xC8, 0xC4, 0x36, 0xAF, 0xC4, 0x18, 0xB1, 0x81, 0xC7, + 0x35, 0x9E, 0x44, 0x8A, 0x1E, 0xF5, 0x63, 0x98, 0xC9, 0x86, 0x89, 0x13, 0x41, 0xCB, 0xA1, 0x82, + 0x3F, 0x0D, 0x8D, 0x4A, 0x08, 0xB5, 0x0B, 0x41, 0x61, 0xB1, 0x11, 0xD0, 0x8E, 0x60, 0xC5, 0xD4, + 0x2C, 0x92, 0x09, 0x97, 0xB5, 0x1C, 0x71, 0x68, 0x10, 0x7D, 0x45, 0x78, 0x53, 0xC2, 0x32, 0x8B, + 0x57, 0x8F, 0x13, 0xD0, 0x07, 0x17, 0x88, 0x98, 0xBF, 0x43, 0x28, 0x12, 0x04, 0x45, 0xA2, 0x14, + 0x18, 0xD3, 0x50, 0x79, 0xD2, 0x48, 0xC1, 0xB9, 0x50, 0x9C, 0x99, 0x72, 0x32, 0x8C, 0xBC, 0x29, + 0x4D, 0xD3, 0xDD, 0x6F, 0x56, 0xA7, 0x09, 0x44, 0x1F, 0x41, 0x53, 0x65, 0xD2, 0x69, 0x73, 0x3A, + 0x46, 0xCA, 0x31, 0x52, 0x16, 0xF5, 0xB0, 0x1F, 0x2D, 0x41, 0x49, 0xC8, 0xF4, 0x21, 0xE4, 0x8B, + 0x6C, 0x6F, 0x3E, 0x52, 0x86, 0xAA, 0x13, 0x4C, 0xB5, 0x3E, 0x18, 0x64, 0x24, 0xF7, 0x0E, 0x1C, + 0x60, 0x4F, 0x7B, 0x3B, 0x6D, 0x76, 0x8C, 0xC3, 0x20, 0x5E, 0x90, 0xB3, 0x30, 0xF0, 0x45, 0xB6, + 0xA3, 0xBE, 0x0C, 0x1C, 0x22, 0x76, 0xE8, 0x5F, 0x7F, 0x07, 0xDF, 0x8E, 0xFC, 0xD4, 0xEF, 0x75, + 0x0C, 0x89, 0x4E, 0xE1, 0xA8, 0xCD, 0x35, 0x0B, 0xB7, 0x27, 0x68, 0xD2, 0x1D, 0x7F, 0xF6, 0x8D, + 0xA5, 0xAF, 0xBD, 0x49, 0xF2, 0x99, 0xF0, 0xD7, 0x5C, 0xC3, 0x25, 0x74, 0xCB, 0xA4, 0xAE, 0x57, + 0x08, 0x0E, 0xF9, 0x54, 0xF7, 0x71, 0x07, 0xD1, 0xA2, 0x33, 0x39, 0xC1, 0x3B, 0x3D, 0xDB, 0xEC, + 0x83, 0xC4, 0xF3, 0x29, 0xCC, 0x1C, 0x22, 0x33, 0x0E, 0xE4, 0x51, 0xC2, 0x0C, 0x34, 0xD0, 0xDD, + 0x3A, 0xC6, 0xCA, 0x1B, 0xB9, 0x5C, 0xBF, 0x05, 0xE6, 0x31, 0x33, 0x98, 0xD5, 0x62, 0x75, 0x7F, + 0x5B, 0x25, 0x53, 0x04, 0x90, 0x54, 0xE5, 0x4C, 0x5A, 0x5E, 0xDC, 0xB5, 0x95, 0x26, 0x15, 0xEE, + 0x6F, 0x16, 0x47, 0x6E, 0xE0, 0x51, 0x9E, 0xAF, 0x99, 0xC2, 0x2C, 0x0C, 0x33, 0x58, 0x8D, 0x81, + 0x90, 0x43, 0x90, 0x52, 0xFC, 0x7B, 0x3D, 0xC0, 0x8C, 0xC5, 0x4D, 0x86, 0x38, 0x55, 0xB6, 0x0C, + 0xDF, 0x60, 0x92, 0x19, 0x5E, 0x0D, 0xD4, 0x2E, 0x34, 0x32, 0xEC, 0x32, 0x11, 0x7C, 0x0D, 0x5F, + 0x73, 0x28, 0xA4, 0xB9, 0xE3, 0xA0, 0xA1, 0x94, 0x23, 0x11, 0x52, 0xEB, 0xEC, 0x1F, 0x4E, 0xF7, + 0x6C, 0xFF, 0xF8, 0x40, 0x9E, 0x8C, 0x54, 0xC8, 0x34, 0x6D, 0x20, 0xF6, 0xCB, 0x2A, 0x01, 0x2F, + 0x85, 0xCE, 0x50, 0x4E, 0x30, 0xB4, 0x31, 0xCE, 0xF9, 0x1D, 0xAE, 0x0D, 0x55, 0xFC, 0x09, 0x9B, + 0xEB, 0xED, 0xD5, 0x6E, 0xAE, 0x61, 0xAD, 0xFD, 0x04, 0x4E, 0x4B, 0x19, 0xD2, 0x5E, 0x2D, 0x47, + 0x12, 0x1C, 0x8C, 0xA1, 0x72, 0x79, 0x44, 0x43, 0xBA, 0xC0, 0xC1, 0xAC, 0x7C, 0x30, 0x99, 0x6A, + 0x2C, 0xBB, 0x61, 0xE3, 0x72, 0x8A, 0x44, 0x29, 0x5C, 0xEA, 0xB8, 0xC7, 0xE5, 0x2C, 0xCB, 0x53, + 0x09, 0xE6, 0x48, 0xD4, 0x88, 0xDA, 0x5A, 0xE3, 0x21, 0xB2, 0x66, 0xDE, 0xD6, 0x78, 0x48, 0x25, + 0x91, 0x8D, 0x43, 0xC5, 0x14, 0xDA, 0x00, 0xA9, 0x2C, 0xD5, 0xDE, 0xE2, 0x48, 0xE3, 0x40, 0x66, + 0xC0, 0x6D, 0x79, 0xB9, 0xBB, 0x48, 0x45, 0x45, 0x04, 0x24, 0xBF, 0xED, 0x76, 0x54, 0x14, 0x80, + 0xA0, 0x9E, 0xF8, 0xD2, 0x55, 0x8D, 0xDF, 0xF1, 0xD1, 0x0C, 0x56, 0x15, 0x2B, 0x05, 0x2C, 0x17, + 0x9F, 0xE3, 0x31, 0x4C, 0x2A, 0x06, 0x25, 0x11, 0x91, 0x94, 0xE5, 0x35, 0xEE, 0x6E, 0xD4, 0x26, + 0x64, 0x40, 0x76, 0xAB, 0xFF, 0xD0, 0xAD, 0x1C, 0x68, 0x91, 0x52, 0x99, 0xCE, 0x94, 0x43, 0x0A, + 0x9E, 0x1D, 0x77, 0xCC, 0x59, 0x27, 0xB6, 0x66, 0xCF, 0x56, 0xCB, 0xEB, 0x42, 0x97, 0xB5, 0x6B, + 0xB5, 0xE0, 0xD8, 0x2C, 0xA9, 0x43, 0x3C, 0x66, 0x5D, 0x24, 0x25, 0xED, 0xA2, 0x5C, 0x6D, 0x5C, + 0x40, 0x89, 0xDC, 0x47, 0x51, 0xE2, 0xC9, 0x01, 0x47, 0xB1, 0x05, 0x02, 0x98, 0xA1, 0x45, 0xAA, + 0x45, 0xEC, 0xF9, 0xED, 0xB1, 0xAF, 0xA4, 0x01, 0xDA, 0xA1, 0x4F, 0x07, 0x14, 0x4A, 0x10, 0x80, + 0x68, 0x80, 0xEA, 0xD0, 0x8B, 0xA3, 0xCB, 0x03, 0x37, 0x4F, 0x80, 0x74, 0x86, 0xBA, 0x43, 0x76, + 0x89, 0xDB, 0xCE, 0xE5, 0x00, 0x81, 0xFB, 0x59, 0x0A, 0xB3, 0x2D, 0xF9, 0x7B, 0x6A, 0xA0, 0x37, + 0xD8, 0x9A, 0x79, 0x2C, 0x86, 0xD3, 0x4F, 0x3D, 0x7A, 0xDD, 0xB3, 0x31, 0xC3, 0x9B, 0xB6, 0x33, + 0x53, 0xD8, 0x20, 0xB9, 0x04, 0xD2, 0x79, 0xDA, 0x1D, 0x8E, 0x5B, 0x94, 0xD9, 0xB9, 0xB0, 0x15, + 0x72, 0xBF, 0x48, 0x4F, 0x48, 0x4D, 0x8D, 0x52, 0x86, 0x6C, 0x38, 0x12, 0x54, 0x36, 0xDA, 0xB3, + 0x0B, 0xF2, 0x6D, 0x6B, 0xD5, 0xC7, 0xCA, 0x46, 0x87, 0xBD, 0x6F, 0xFE, 0x34, 0x5F, 0x66, 0x34, + 0x86, 0x23, 0x1A, 0x9D, 0x17, 0x31, 0x86, 0x36, 0x14, 0x19, 0xE5, 0x98, 0xB2, 0x44, 0xF2, 0x11, + 0xBE, 0x6D, 0x4C, 0x6A, 0x3A, 0x62, 0xCF, 0x61, 0x48, 0x6C, 0x38, 0xBB, 0x78, 0x03, 0xCE, 0xDC, + 0x10, 0x82, 0x04, 0xA1, 0x09, 0x33, 0x5D, 0xF7, 0x14, 0x56, 0xB6, 0x1C, 0xC3, 0xE3, 0xCE, 0x04, + 0x25, 0xBC, 0x05, 0xBD, 0x3F, 0x21, 0x0E, 0xD8, 0x31, 0x69, 0x12, 0x05, 0x7B, 0xE0, 0x8B, 0x44, + 0x52, 0xE3, 0x6B, 0x43, 0x5D, 0x8E, 0x5E, 0xF2, 0xC6, 0x51, 0x07, 0xF1, 0xAA, 0xAD, 0xCB, 0x45, + 0xC9, 0x03, 0xB0, 0xB9, 0x76, 0xCE, 0xF0, 0x4B, 0x46, 0xC7, 0x8E, 0xD7, 0x3B, 0xDA, 0x0A, 0x65, + 0x91, 0x35, 0x3F, 0xF4, 0x57, 0x1A, 0xFF, 0xEE, 0x68, 0xB1, 0x15, 0x41, 0x8F, 0x1C, 0x64, 0x6D, + 0x45, 0x45, 0x17, 0x4A, 0xDE, 0x19, 0x04, 0x01, 0x88, 0x56, 0xCC, 0xF3, 0x5F, 0x08, 0x84, 0x24, + 0x56, 0xF0, 0x54, 0x59, 0xE5, 0xCA, 0x3E, 0xB2, 0x0B, 0x35, 0xC4, 0xD2, 0x5F, 0x4E, 0xBB, 0xBD, + 0xFE, 0x0A, 0x49, 0x03, 0x41, 0xB6, 0xEF, 0x5C, 0xBB, 0xCC, 0x19, 0x87, 0xD8, 0xB8, 0xD6, 0xB2, + 0x92, 0xE3, 0x5E, 0xFB, 0x6E, 0x33, 0x7E, 0xD1, 0x25, 0xC6, 0xF9, 0x36, 0x07, 0x50, 0x45, 0xA1, + 0xE7, 0x85, 0xDB, 0x23, 0x7E, 0xE0, 0x0D, 0x23, 0x13, 0xE7, 0x41, 0xDF, 0x30, 0xA1, 0x1C, 0xA5, + 0xDA, 0xFA, 0xA0, 0xF3, 0xA5, 0xDF, 0xC8, 0x32, 0xEC, 0x74, 0xE3, 0x31, 0x04, 0x02, 0x80, 0xC5, + 0x34, 0x4F, 0x26, 0x0A, 0x00, 0x68, 0x4A, 0x39, 0xA1, 0x6B, 0x1E, 0x6C, 0x6B, 0xEB, 0xC5, 0xFF, + 0x14, 0xD6, 0xA0, 0xB7, 0x8D, 0xAD, 0xD6, 0x54, 0x84, 0x11, 0x01, 0x0B, 0xEB, 0x40, 0x33, 0xD0, + 0xDA, 0x47, 0x1C, 0x82, 0xC8, 0xDD, 0x28, 0x4E, 0xF8, 0xD5, 0x2C, 0x4F, 0xAA, 0x85, 0x08, 0x02, + 0xB0, 0x61, 0x34, 0x7A, 0x78, 0x07, 0x13, 0x14, 0xEE, 0x4A, 0xD4, 0xC9, 0x68, 0x4D, 0x94, 0x3E, + 0x01, 0x6E, 0xC7, 0xA6, 0xD1, 0x47, 0x6F, 0xDD, 0x7E, 0x46, 0xFB, 0xA7, 0x0C, 0x14, 0x09, 0xDF, + 0x28, 0xD9, 0x75, 0x22, 0xBC, 0x68, 0x5C, 0xAA, 0xB0, 0x9E, 0xAE, 0xB7, 0x05, 0x6B, 0x53, 0x84, + 0xB2, 0xAB, 0xD1, 0xEE, 0x89, 0xA5, 0x6A, 0xAF, 0x6D, 0x3B, 0x62, 0x07, 0xEA, 0xB4, 0xE4, 0x35, + 0x66, 0xF3, 0x44, 0x60, 0x70, 0xC0, 0x4A, 0xEB, 0x55, 0xDD, 0x00, 0x16, 0xDA, 0xA7, 0x24, 0x01, + 0xD9, 0xC8, 0x7B, 0xB4, 0x25, 0xB0, 0xA0, 0xC9, 0x48, 0xED, 0x5E, 0x94, 0x43, 0xDE, 0x0A, 0x7F, + 0x2F, 0x32, 0x37, 0xAD, 0x3A, 0xE7, 0x18, 0x1D, 0x41, 0xA3, 0xBF, 0x7D, 0x49, 0xF1, 0x71, 0x26, + 0xAE, 0x6D, 0xD0, 0x69, 0x32, 0x9B, 0xBD, 0xDE, 0xB9, 0x17, 0x78, 0xB6, 0xDA, 0x60, 0xE8, 0xD2, + 0x7E, 0x8E, 0x89, 0x4F, 0xB1, 0xE4, 0xB6, 0x19, 0x6C, 0x8F, 0x4B, 0x0B, 0x8E, 0xBB, 0x0C, 0x43, + 0xCD, 0xAF, 0x26, 0x74, 0x36, 0x75, 0xCF, 0xA6, 0x52, 0x05, 0x78, 0x76, 0xFD, 0x90, 0x08, 0x06, + 0x43, 0xE7, 0xE2, 0x1C, 0x93, 0x15, 0x8D, 0x71, 0xE3, 0x34, 0xC7, 0x18, 0xEB, 0x03, 0x80, 0x0A, + 0xB6, 0x89, 0xD0, 0x38, 0xC4, 0x41, 0x14, 0x74, 0x6A, 0x79, 0xEB, 0xB2, 0x32, 0xB0, 0xA0, 0xC8, + 0x96, 0x6F, 0xDC, 0xE0, 0x50, 0x6F, 0x0F, 0x48, 0x0A, 0x76, 0x4E, 0x41, 0x86, 0x63, 0x06, 0x18, + 0x2C, 0xBF, 0x73, 0x86, 0x7E, 0xC7, 0x94, 0x28, 0x09, 0x67, 0x5E, 0x11, 0x21, 0x65, 0x2F, 0xF9, + 0x7C, 0x8F, 0x22, 0x2B, 0x50, 0x31, 0xAB, 0x6A, 0x58, 0xC7, 0x75, 0x69, 0x9D, 0xD8, 0xD1, 0x39, + 0x15, 0x07, 0x20, 0x33, 0x5A, 0x7B, 0x9A, 0xED, 0xB0, 0x71, 0xE0, 0x4C, 0x09, 0xBC, 0x71, 0xCE, + 0x8B, 0xAB, 0xE6, 0x9A, 0x9C, 0xC8, 0x0F, 0x1C, 0x22, 0x8C, 0xC8, 0x90, 0x86, 0x9F, 0x90, 0x84, + 0x63, 0xA0, 0x40, 0x49, 0xD4, 0xFD, 0x73, 0xAA, 0xBC, 0x20, 0xD0, 0x18, 0x50, 0xC3, 0xB0, 0x90, + 0x78, 0xD0, 0xA1, 0xB2, 0xB0, 0xEB, 0xD5, 0x91, 0xB3, 0x04, 0x16, 0xC2, 0x57, 0x85, 0x90, 0x8A, + 0x03, 0x2F, 0xDC, 0xAC, 0x13, 0xC2, 0xC0, 0x56, 0xF6, 0x09, 0x49, 0x5B, 0x09, 0x82, 0x23, 0x6A, + 0x8E, 0x0E, 0xC4, 0x6A, 0x9C, 0xAF, 0x34, 0x99, 0x87, 0x06, 0x19, 0x58, 0x0C, 0x5D, 0x66, 0xD3, + 0x8B, 0xCF, 0x75, 0x83, 0xF0, 0xA0, 0xB4, 0xB7, 0x49, 0x3A, 0x1B, 0xEB, 0xDB, 0x88, 0xE2, 0xCE, + 0x79, 0x01, 0x1F, 0x3C, 0x75, 0x07, 0x0C, 0xA9, 0xBC, 0xD0, 0xE4, 0x45, 0xEF, 0xEA, 0xCF, 0x6C, + 0x8A, 0x07, 0xB8, 0x14, 0x56, 0xFC, 0x0E, 0xF3, 0x5A, 0x9E, 0x34, 0xFE, 0xF0, 0xA5, 0x89, 0x28, + 0x18, 0xE7, 0x0A, 0x5A, 0xEF, 0x1C, 0xD3, 0xF2, 0xEA, 0x49, 0x67, 0x1D, 0x97, 0x35, 0x52, 0xC9, + 0xC8, 0x16, 0x7D, 0xDE, 0x4F, 0x85, 0x63, 0x35, 0x2B, 0x80, 0x44, 0xD0, 0x51, 0xB1, 0x61, 0x55, + 0x4A, 0xA2, 0x16, 0xEC, 0x99, 0x80, 0x08, 0x9B, 0x66, 0x53, 0x4E, 0x31, 0xA3, 0x20, 0x95, 0xFA, + 0x27, 0xC4, 0x34, 0xAC, 0x6B, 0x48, 0x7A, 0xF8, 0x0C, 0x03, 0x0E, 0x71, 0x70, 0x18, 0xC5, 0x40, + 0x0F, 0xDC, 0xB9, 0x84, 0xC7, 0x5E, 0x37, 0xB1, 0x3D, 0xFB, 0x9A, 0xF6, 0x5A, 0xD3, 0x91, 0xC7, + 0x4D, 0x51, 0xBE, 0x55, 0x94, 0x9B, 0x00, 0x68, 0x53, 0x42, 0xA8, 0x6D, 0x0C, 0xAE, 0xB0, 0xCD, + 0x43, 0x8C, 0xF4, 0x44, 0x88, 0x4A, 0x6E, 0xAF, 0x7A, 0x8E, 0x6C, 0x60, 0xCA, 0xC3, 0xE7, 0xF3, + 0x04, 0x8E, 0x19, 0xDC, 0x88, 0x0D, 0x27, 0xBE, 0x7C, 0x70, 0xF4, 0xC2, 0x6E, 0x5D, 0xC1, 0x7B, + 0x51, 0x8A, 0x2C, 0xC2, 0x0C, 0x37, 0xA9, 0xC2, 0xB1, 0x40, 0x29, 0x02, 0x1C, 0xBE, 0xE2, 0xDE, + 0x25, 0x97, 0xF3, 0x94, 0xE3, 0x2E, 0x1A, 0xB6, 0x44, 0xFE, 0x0B, 0x72, 0x78, 0x86, 0x97, 0x95, + 0x34, 0x3D, 0x70, 0x1C, 0x42, 0x75, 0x5F, 0xE2, 0x44, 0xAC, 0xBE, 0xC8, 0x4D, 0xC1, 0xF4, 0x56, + 0x76, 0x97, 0xD2, 0x8B, 0x37, 0xD3, 0xA7, 0xF0, 0xD2, 0x78, 0x01, 0x64, 0x53, 0x2B, 0x11, 0x8D, + 0x11, 0x58, 0xA3, 0x57, 0x9A, 0xDE, 0x1D, 0xFD, 0x2D, 0x58, 0xF8, 0x29, 0x46, 0xE5, 0x46, 0xF8, + 0x3D, 0x3B, 0x4D, 0xEF, 0x43, 0xA7, 0x55, 0x0C, 0x3C, 0xBA, 0x6B, 0x18, 0x7C, 0xD1, 0xB6, 0x2F, + 0x00, 0x53, 0x77, 0x02, 0x6A, 0xAD, 0xC1, 0x9A, 0x3F, 0x6C, 0x45, 0xF0, 0xD0, 0x45, 0x0D, 0xE0, + 0x3D, 0xE9, 0xBA, 0x34, 0xC6, 0xC0, 0x8C, 0xA7, 0xB3, 0xFA, 0x5A, 0x57, 0x0E, 0x16, 0x41, 0x1D, + 0xD8, 0x60, 0x9D, 0xE3, 0x20, 0x6B, 0x41, 0xE2, 0x89, 0x44, 0xE0, 0x91, 0xDF, 0x41, 0x2D, 0x21, + 0x62, 0x14, 0x59, 0x64, 0xF4, 0x5B, 0x30, 0x9B, 0xEF, 0x8B, 0x45, 0x09, 0x3E, 0x79, 0x56, 0x5F, + 0x2F, 0xA2, 0xC7, 0x24, 0xA3, 0xD2, 0x05, 0x77, 0xC9, 0x98, 0x6A, 0xC1, 0x75, 0x0C, 0x86, 0x8F, + 0xB6, 0xF5, 0x37, 0x40, 0xA2, 0xC3, 0x23, 0x81, 0x6B, 0xDB, 0xCE, 0x44, 0x60, 0x34, 0x3C, 0xA6, + 0xD6, 0x5B, 0x35, 0x92, 0x53, 0xBD, 0xF2, 0xE0, 0x5B, 0x7D, 0xC8, 0x2D, 0xD4, 0x68, 0x03, 0xB0, + 0x5D, 0xF9, 0x46, 0xD7, 0xB3, 0xE2, 0x25, 0xE2, 0x5A, 0xA2, 0x10, 0xA2, 0xE2, 0x72, 0x31, 0xAD, + 0x1C, 0x05, 0xD2, 0x61, 0x2C, 0x8D, 0x4D, 0x45, 0xB1, 0x76, 0xDB, 0xA2, 0x45, 0x38, 0x85, 0xFD, + 0xA7, 0x41, 0x23, 0xC3, 0xE3, 0x4A, 0xE3, 0xCA, 0xD7, 0x63, 0x77, 0x3C, 0xB9, 0x02, 0xEE, 0x5B, + 0x57, 0xEC, 0xBC, 0xAE, 0xD6, 0x86, 0xCB, 0xB0, 0x6F, 0x65, 0x6B, 0x99, 0x69, 0x98, 0x55, 0xE8, + 0xA3, 0xD0, 0xBA, 0x8B, 0xD2, 0x0E, 0x30, 0x91, 0x6D, 0x8E, 0x73, 0xBA, 0x46, 0xF2, 0x72, 0x2E, + 0x2F, 0x24, 0x94, 0x81, 0x69, 0x71, 0x68, 0xC8, 0x3B, 0xD1, 0x05, 0xBE, 0x5D, 0x39, 0x82, 0x0D, + 0xA6, 0xC1, 0x81, 0xB9, 0x45, 0x67, 0x5E, 0x92, 0x34, 0xAD, 0xF1, 0x9F, 0x0C, 0x84, 0x05, 0xD4, + 0xE0, 0x55, 0x92, 0xE3, 0x19, 0xA2, 0xC6, 0x25, 0x9B, 0xDA, 0xB5, 0xE9, 0x9C, 0xC6, 0x13, 0x2D, + 0x57, 0x5B, 0x27, 0x29, 0xF9, 0x2C, 0x1C, 0x5B, 0x7E, 0x60, 0xC6, 0xBF, 0xF9, 0xE1, 0x4B, 0xF0, + 0x9A, 0xB7, 0xB7, 0x51, 0xCD, 0xFC, 0x92, 0x2F, 0xD8, 0x87, 0xDB, 0xC1, 0x1E, 0x16, 0x3B, 0x92, + 0xAF, 0x61, 0xAD, 0xB5, 0xD6, 0xF6, 0x63, 0x81, 0xBD, 0x13, 0xEB, 0x78, 0x9E, 0x77, 0x55, 0x05, + 0x6D, 0xC4, 0xEF, 0x85, 0xF7, 0x55, 0x48, 0xB5, 0x0D, 0x86, 0x90, 0x79, 0xB3, 0xC2, 0x3A, 0xFD, + 0x31, 0x39, 0x41, 0xD0, 0x3F, 0x26, 0x9C, 0xE4, 0xDD, 0xD0, 0xA6, 0xB6, 0x71, 0x88, 0xDD, 0xB3, + 0x72, 0xFC, 0xE0, 0x25, 0x08, 0x44, 0xA4, 0xD8, 0xDF, 0xE5, 0x74, 0x66, 0x72, 0x03, 0x3C, 0xE0, + 0x1C, 0xAF, 0x3A, 0x10, 0x97, 0xF6, 0x85, 0x73, 0x64, 0xD1, 0xE8, 0x11, 0x01, 0x21, 0x99, 0xD8, + 0x5A, 0x59, 0x4B, 0xBD, 0x33, 0xE5, 0x5C, 0x6C, 0xCB, 0x40, 0x4D, 0x5C, 0x47, 0x3B, 0x3C, 0x39, + 0x3B, 0xCA, 0xA1, 0xF8, 0x42, 0x01, 0xC3, 0xBF, 0x81, 0xF4, 0x3C, 0x23, 0x4C, 0x68, 0x95, 0xCF, + 0x41, 0xD0, 0x24, 0x04, 0x5B, 0xCC, 0xED, 0x36, 0x86, 0x5A, 0x76, 0xE2, 0x59, 0x6D, 0x22, 0xF1, + 0x81, 0xDA, 0xAC, 0x08, 0x04, 0x2B, 0x31, 0x82, 0x04, 0x76, 0xA6, 0x75, 0x96, 0xC1, 0xE9, 0x34, + 0x33, 0x43, 0xA5, 0x15, 0x46, 0x6B, 0x08, 0x14, 0xDD, 0xC6, 0x9A, 0xA2, 0x4B, 0x4B, 0x39, 0x4B, + 0x7F, 0xCC, 0x67, 0x70, 0x56, 0xEE, 0x94, 0x8E, 0x7D, 0x8A, 0x63, 0x97, 0x14, 0x35, 0x09, 0x53, + 0x84, 0x03, 0x6B, 0x33, 0xBB, 0xB8, 0xC4, 0x34, 0x9F, 0x5B, 0x87, 0x30, 0x50, 0x2F, 0x35, 0x8D, + 0x3A, 0xDA, 0x92, 0x34, 0x0D, 0x5E, 0x1F, 0x9B, 0x4A, 0xDB, 0xB2, 0x8E, 0xD2, 0xD8, 0x22, 0x79, + 0xA0, 0x98, 0xA9, 0xA6, 0x0C, 0x33, 0xBA, 0x69, 0x06, 0x77, 0xED, 0xE6, 0x6E, 0x33, 0x35, 0x6D, + 0xD5, 0xF1, 0x1B, 0xC2, 0xE5, 0x8F, 0x62, 0x53, 0xC9, 0xDC, 0x93, 0xA7, 0xA6, 0x4F, 0xB7, 0x42, + 0xF7, 0xA5, 0x35, 0x66, 0xCE, 0x14, 0x35, 0x75, 0xCF, 0x76, 0x9D, 0x57, 0xF3, 0x6E, 0x1A, 0xDB, + 0x2F, 0xA0, 0x63, 0x93, 0x69, 0xE3, 0xE4, 0xE2, 0xB9, 0x08, 0xFA, 0x61, 0xDF, 0xC8, 0x3C, 0x14, + 0xF5, 0x8D, 0xCC, 0xC2, 0xE2, 0x64, 0x28, 0x43, 0xC9, 0x45, 0xD8, 0xC9, 0x3A, 0x75, 0xDD, 0x9A, + 0x22, 0x5E, 0x2F, 0x85, 0xBD, 0x28, 0xC9, 0xAC, 0x2A, 0x87, 0xE9, 0x69, 0xF1, 0x65, 0xF9, 0x45, + 0x5E, 0xAD, 0xD0, 0x9D, 0x2B, 0xA9, 0xC4, 0x45, 0x85, 0xEB, 0x5C, 0x4A, 0x65, 0x9D, 0x40, 0x75, + 0x6F, 0x3B, 0x7C, 0xC3, 0xD7, 0x45, 0x3D, 0x94, 0x23, 0xB8, 0x5F, 0xF1, 0x35, 0xD9, 0x01, 0x08, + 0xFF, 0x13, 0x5E, 0xE4, 0xB2, 0xFB, 0x35, 0xF9, 0x91, 0x50, 0xFE, 0x27, 0x3C, 0xAD, 0x7B, 0x09, + 0x5A, 0x0B, 0x43, 0x08, 0xE2, 0x7F, 0xC2, 0x8D, 0xC8, 0xF9, 0xAD, 0x75, 0x17, 0x5E, 0x0B, 0x43, + 0x12, 0xCA, 0xFF, 0x84, 0x27, 0xCC, 0xE3, 0xEF, 0x5F, 0xF1, 0xE2, 0x75, 0xB9, 0x52, 0x70, 0xDE, + 0x34, 0x5F, 0x4B, 0x38, 0x68, 0xDB, 0x72, 0xB3, 0x68, 0x2B, 0x84, 0xDC, 0xF3, 0x2A, 0xE7, 0x3E, + 0xD1, 0xFA, 0x79, 0x95, 0xFB, 0x3B, 0x16, 0xCD, 0xEE, 0x07, 0xB5, 0x85, 0x57, 0xBD, 0xF1, 0xEA, + 0xC1, 0xC2, 0xCF, 0xD4, 0xC1, 0x27, 0x2F, 0x85, 0x81, 0xAF, 0xDA, 0x56, 0x99, 0x59, 0xFD, 0xBD, + 0xBC, 0x29, 0xB9, 0x75, 0xA3, 0x85, 0xB3, 0xE2, 0x92, 0x58, 0x74, 0x9B, 0xAF, 0x58, 0xEF, 0xA3, + 0x8F, 0x3E, 0xEC, 0xC1, 0x26, 0x8C, 0xDE, 0x67, 0xDB, 0xBD, 0xEE, 0x90, 0x9C, 0x8B, 0x56, 0x23, + 0xDA, 0xD1, 0xDF, 0xBC, 0x14, 0x67, 0x59, 0x37, 0xB8, 0xD9, 0x72, 0x47, 0xB1, 0xA3, 0x5E, 0x0C, + 0x02, 0x62, 0x76, 0xE8, 0x5F, 0xEF, 0x3D, 0xEC, 0xFD, 0xD6, 0x4D, 0xF1, 0xC1, 0x2D, 0x16, 0xD3, + 0x86, 0xCC, 0x73, 0x8A, 0x07, 0xB7, 0x42, 0x82, 0xCA, 0x23, 0xCA, 0x8D, 0x32, 0xB5, 0x27, 0x61, + 0xBD, 0x90, 0xFE, 0xAB, 0xFB, 0x81, 0x73, 0x57, 0x66, 0x3F, 0x48, 0xA0, 0xDE, 0xAF, 0xA1, 0x4B, + 0xB4, 0x03, 0x6B, 0xA5, 0x94, 0x96, 0xB0, 0x4C, 0xE1, 0x21, 0x01, 0x48, 0xFD, 0xC9, 0x6D, 0x5C, + 0x74, 0x43, 0x93, 0x78, 0x99, 0xC9, 0x77, 0xC3, 0x62, 0x94, 0x97, 0x18, 0x81, 0x96, 0x84, 0x44, + 0x0B, 0x4E, 0x52, 0x24, 0x5D, 0x79, 0xF8, 0x96, 0x4D, 0xD4, 0x84, 0x04, 0xDB, 0x04, 0xF0, 0xE4, + 0x62, 0x5F, 0x57, 0xE8, 0x5A, 0x0F, 0x06, 0x90, 0x85, 0x94, 0x97, 0x43, 0x96, 0x61, 0x04, 0x74, + 0xA1, 0x22, 0xBA, 0xBB, 0x59, 0x64, 0x34, 0xB3, 0xF1, 0xDC, 0x6A, 0x3B, 0x60, 0x6A, 0x03, 0xB7, + 0xC1, 0xEF, 0xDE, 0x9C, 0xD4, 0x95, 0x14, 0x64, 0x7B, 0x1D, 0xD7, 0x82, 0x99, 0xBF, 0xCE, 0xA6, + 0xD0, 0xD0, 0xBF, 0x79, 0x65, 0x77, 0x74, 0x8D, 0x3A, 0xDA, 0xEC, 0x09, 0x72, 0x96, 0x1F, 0xA5, + 0x6B, 0x95, 0x8D, 0x08, 0x8D, 0xAC, 0x27, 0x1B, 0x5D, 0x59, 0xCB, 0x62, 0xF5, 0xB5, 0xB9, 0xDA, + 0x58, 0xE1, 0x2E, 0xCB, 0x05, 0x16, 0x73, 0xFF, 0x96, 0x10, 0xFC, 0xC0, 0x5C, 0xA9, 0x42, 0x07, + 0x40, 0x91, 0x6B, 0x7D, 0x47, 0x0D, 0x9A, 0x59, 0x99, 0xB4, 0x73, 0xD1, 0x7B, 0xA9, 0x94, 0xC7, + 0x52, 0x90, 0x4F, 0x29, 0x81, 0xA7, 0x73, 0x80, 0x63, 0x42, 0x29, 0x12, 0xCF, 0x26, 0x83, 0x60, + 0xE4, 0xEF, 0x36, 0xC3, 0x1E, 0xA0, 0x06, 0x32, 0x0F, 0xE8, 0xC6, 0x94, 0x42, 0x7D, 0x5F, 0x7F, + 0xB4, 0x82, 0xED, 0x5E, 0x64, 0xEE, 0xE9, 0xF8, 0x87, 0xA8, 0x83, 0xD2, 0x47, 0x6F, 0x0F, 0x17, + 0xDD, 0xC7, 0xD2, 0x00, 0x46, 0xFD, 0x15, 0xC6, 0xEF, 0xC3, 0x86, 0x2F, 0x60, 0x92, 0x77, 0x98, + 0x4B, 0x12, 0xFA, 0x9D, 0x9B, 0x6A, 0xD6, 0x1A, 0x73, 0x9E, 0x2A, 0x88, 0x9A, 0xE6, 0x06, 0x72, + 0xBD, 0xD5, 0x18, 0x6F, 0xB6, 0xC0, 0x14, 0xD0, 0x75, 0x72, 0xC3, 0xE5, 0x61, 0x96, 0x0D, 0x87, + 0x84, 0x20, 0x15, 0xFC, 0xFC, 0xE4, 0x29, 0x2D, 0x8B, 0x70, 0x23, 0xB2, 0xBE, 0x23, 0xB9, 0x64, + 0x00, 0xAE, 0x9A, 0xAB, 0xBB, 0x8C, 0xC2, 0xA9, 0x54, 0xF4, 0x00, 0x12, 0x44, 0x2C, 0x03, 0x10, + 0xC3, 0x70, 0x60, 0x2D, 0x81, 0xBB, 0x56, 0x4B, 0x64, 0x7E, 0xDB, 0xE2, 0x25, 0xC7, 0xBD, 0xC4, + 0xAA, 0x72, 0xDB, 0x2E, 0x3D, 0x21, 0x21, 0xA3, 0x07, 0xDE, 0x0F, 0x60, 0x88, 0xAB, 0x56, 0x65, + 0x7B, 0x4A, 0xF4, 0xB6, 0x5D, 0x7F, 0x6E, 0x68, 0x87, 0xCD, 0x5D, 0x49, 0x35, 0xBA, 0x96, 0xC9, + 0x5A, 0xC1, 0x7B, 0x04, 0xAD, 0x06, 0x8A, 0x86, 0x17, 0xF0, 0x70, 0xDE, 0x5F, 0x6E, 0x26, 0x82, + 0x7E, 0x37, 0x28, 0x8C, 0xD6, 0xF7, 0xD7, 0xD2, 0x70, 0x57, 0x5B, 0xD7, 0x55, 0x74, 0x57, 0xB5, + 0x65, 0xB9, 0xB3, 0x6F, 0x42, 0xFE, 0xA8, 0x4D, 0x8F, 0xD4, 0xBC, 0xAB, 0x42, 0x8D, 0x35, 0x3A, + 0xB4, 0x5C, 0x35, 0x5A, 0xE0, 0x83, 0x6C, 0x28, 0x18, 0xB0, 0x95, 0x50, 0x55, 0x5F, 0x4B, 0x08, + 0x7A, 0x34, 0x2E, 0xBB, 0x2C, 0xF8, 0x6D, 0x31, 0x7A, 0xD7, 0xB6, 0x23, 0x5D, 0x43, 0x3B, 0xC4, + 0x67, 0x46, 0xCC, 0x77, 0xC3, 0x33, 0x1A, 0x2B, 0xDF, 0x0F, 0xF7, 0x9F, 0x98, 0x21, 0x97, 0x8A, + 0xAC, 0x2B, 0x5C, 0xF9, 0x8B, 0xEE, 0x91, 0x8A, 0x2F, 0x44, 0x38, 0xF6, 0xFA, 0xA0, 0xD5, 0xAA, + 0x62, 0xEC, 0x53, 0x6E, 0x8D, 0x61, 0x71, 0x57, 0x20, 0x80, 0xC7, 0x5B, 0x02, 0xC3, 0x02, 0xC4, + 0xD7, 0x76, 0x07, 0x7B, 0x3B, 0x93, 0xF6, 0x85, 0xC8, 0xE6, 0x37, 0x48, 0x56, 0xBB, 0xCF, 0xAF, + 0xEB, 0x6E, 0xE4, 0x36, 0x38, 0x5D, 0xD7, 0x24, 0xB7, 0xD5, 0x8D, 0x60, 0x88, 0xAD, 0x7A, 0x59, + 0x72, 0xE7, 0x9D, 0xC7, 0x00, 0x03, 0xAA, 0xC3, 0xBF, 0xCB, 0x6F, 0x07, 0x36, 0x34, 0xAC, 0x76, + 0x0B, 0x97, 0xEC, 0xA3, 0xD5, 0x32, 0x5D, 0x56, 0xFF, 0xD1, 0xA1, 0x57, 0xD8, 0xFA, 0x5D, 0x44, + 0xC1, 0x8D, 0x3D, 0x0D, 0xBE, 0x6E, 0x4D, 0x35, 0xA9, 0x0E, 0x9B, 0x82, 0x72, 0x87, 0x4E, 0xAD, + 0x2A, 0x77, 0x8D, 0x8F, 0xDD, 0x4A, 0x79, 0xBC, 0x8B, 0x5A, 0x9B, 0xCD, 0x80, 0x01, 0xFE, 0x04, + 0x64, 0xF3, 0x3D, 0x95, 0xA2, 0xA3, 0xA4, 0x24, 0x45, 0xAE, 0x52, 0x6F, 0x29, 0xCE, 0x17, 0xA6, + 0x35, 0xCE, 0xF2, 0x1B, 0xDF, 0x80, 0x1D, 0x15, 0xBF, 0xBD, 0xC0, 0x88, 0xE1, 0xD0, 0xCD, 0x7B, + 0xDB, 0x82, 0x62, 0x5C, 0x7C, 0xD0, 0x73, 0xD3, 0xAB, 0x6A, 0x9F, 0xB8, 0x29, 0x6E, 0x33, 0xDE, + 0xED, 0x70, 0xF6, 0x16, 0x81, 0x59, 0x61, 0x8F, 0x8F, 0xD0, 0x3E, 0x4F, 0x37, 0x48, 0x19, 0xE5, + 0xFD, 0xD4, 0x36, 0xDE, 0xD6, 0x2C, 0xD7, 0x2A, 0x0A, 0x27, 0xD5, 0x64, 0xE9, 0xD5, 0xE7, 0x8A, + 0x15, 0xBD, 0x37, 0xD6, 0x28, 0xD8, 0xE2, 0x4B, 0xB9, 0xC4, 0xCF, 0x22, 0x50, 0x4D, 0x7F, 0x06, + 0x35, 0xD0, 0xDD, 0x4A, 0xB1, 0xF5, 0xD8, 0xCA, 0x97, 0x69, 0xD9, 0xCA, 0x1E, 0xDA, 0x19, 0xF3, + 0x84, 0x16, 0x67, 0xC9, 0x2F, 0x1F, 0xB5, 0xBD, 0xD6, 0x21, 0xDC, 0xC7, 0x68, 0x8D, 0xC4, 0x91, + 0x57, 0xE1, 0xF2, 0xD7, 0x78, 0xC1, 0xA1, 0x38, 0x12, 0x25, 0x7F, 0x5B, 0x49, 0xFD, 0xEA, 0x18, + 0x1D, 0x47, 0x86, 0x5E, 0xA2, 0x23, 0x4A, 0xF0, 0x39, 0x2D, 0x61, 0xAB, 0x46, 0xFB, 0x99, 0xDD, + 0x7B, 0x5D, 0x8E, 0x69, 0x1F, 0x7D, 0x1B, 0x25, 0x91, 0xA2, 0xC0, 0xE8, 0x2A, 0xC1, 0x81, 0xDD, + 0x67, 0x64, 0x83, 0xEF, 0xD9, 0xB5, 0xFE, 0x8E, 0x50, 0xE8, 0x51, 0xAE, 0x6C, 0x91, 0x24, 0x22, + 0xDA, 0x03, 0x62, 0xFD, 0xF2, 0x95, 0x8E, 0x24, 0x5B, 0xBF, 0x12, 0xB5, 0x56, 0xFC, 0xD8, 0x6A, + 0x17, 0x29, 0x2C, 0x03, 0x8B, 0x26, 0x3F, 0x9D, 0x68, 0x4A, 0xBC, 0x5B, 0xE1, 0xEC, 0x02, 0xD6, + 0x3B, 0x3E, 0x3A, 0x3D, 0xEB, 0x05, 0xD7, 0xAB, 0x6A, 0x71, 0xED, 0x69, 0x8E, 0xBC, 0x7C, 0x92, + 0x03, 0xC5, 0x3C, 0x78, 0xB5, 0xA0, 0xCF, 0xE4, 0xC4, 0xF4, 0x93, 0xF2, 0x73, 0x23, 0x4C, 0x10, + 0xBA, 0x5A, 0x8C, 0xD5, 0x54, 0xAA, 0xD4, 0xAB, 0xB7, 0xEB, 0x1C, 0xDF, 0xD1, 0xA7, 0x9C, 0x4D, + 0xC7, 0x9E, 0x75, 0x29, 0x82, 0x4E, 0xA8, 0x18, 0xB9, 0xB9, 0x23, 0x71, 0x28, 0x6B, 0xAE, 0x34, + 0x18, 0x15, 0x58, 0x35, 0x2A, 0x7C, 0x82, 0x5C, 0x4D, 0x31, 0x87, 0xB9, 0x45, 0x5E, 0x5B, 0xAA, + 0xC9, 0x72, 0x9A, 0x0C, 0x90, 0x95, 0xA8, 0x32, 0x72, 0xF7, 0xE8, 0x0A, 0x6E, 0x54, 0x02, 0x8C, + 0xEA, 0xB4, 0xC2, 0xB7, 0x12, 0x2C, 0x9C, 0x60, 0xF7, 0xBA, 0xC6, 0xA1, 0x5B, 0x2F, 0x4C, 0xC2, + 0x7B, 0x13, 0x2D, 0xF2, 0x81, 0x57, 0x93, 0xC3, 0xC7, 0x0E, 0xD0, 0xC3, 0xD4, 0xBE, 0x7A, 0x1E, + 0xFE, 0x16, 0xB2, 0xDE, 0xA6, 0x27, 0xEE, 0xC4, 0xEC, 0x15, 0xFA, 0x33, 0x34, 0xEA, 0x8A, 0xE2, + 0xCB, 0x97, 0x9C, 0x92, 0x98, 0xD9, 0xB8, 0xA3, 0xE4, 0x64, 0x72, 0x8F, 0x21, 0xEE, 0xE0, 0xD5, + 0x5F, 0x7F, 0x39, 0x58, 0x5A, 0xFD, 0x80, 0x2E, 0xED, 0x68, 0x97, 0x7F, 0xBB, 0xB8, 0x97, 0x2B, + 0x89, 0x2F, 0xA9, 0x95, 0x54, 0xC5, 0xE7, 0xE7, 0x81, 0x0A, 0xE3, 0x0D, 0x52, 0x64, 0x41, 0xBF, + 0xFD, 0x0F, 0x54, 0xC6, 0x23, 0xA7, 0x75, 0x9F, 0xC5, 0x3F, 0xA7, 0x34, 0x21, 0x76, 0xF5, 0xEE, + 0x5F, 0x50, 0x1B, 0x81, 0x68, 0x3D, 0xBD, 0x11, 0x6D, 0xD6, 0x55, 0x1C, 0xAF, 0x55, 0xAB, 0x63, + 0x60, 0x70, 0xFA, 0x97, 0x75, 0xB8, 0xF3, 0x9D, 0xF5, 0xE4, 0xCE, 0xF9, 0xB8, 0x03, 0x47, 0xCC, + 0xA3, 0x53, 0xF8, 0x5D, 0x45, 0x28, 0x87, 0x25, 0x96, 0x32, 0xE6, 0x72, 0x57, 0x07, 0x37, 0x3F, + 0xC1, 0xC8, 0x2E, 0xC5, 0x6F, 0x30, 0xAA, 0xE9, 0x7E, 0x78, 0x97, 0xE0, 0x4D, 0x70, 0x00, 0x04, + 0x22, 0xC9, 0x3B, 0xF8, 0xE6, 0xB7, 0xDF, 0x7E, 0xC3, 0x0F, 0x9A, 0x81, 0x09, 0xA4, 0xDE, 0x9A, + 0xD9, 0xF5, 0x4B, 0x8E, 0x14, 0x0F, 0x7A, 0x4F, 0xD6, 0xC5, 0x6F, 0xF8, 0x17, 0xE3, 0x63, 0x04, + 0xC2, 0xD9, 0xFB, 0x12, 0xE5, 0xF3, 0x9E, 0x2B, 0xA0, 0xC9, 0x5C, 0x8E, 0xC5, 0xB3, 0x12, 0x61, + 0xA0, 0x73, 0xF6, 0x5E, 0xE0, 0x9D, 0x69, 0x45, 0x7C, 0x82, 0x47, 0x81, 0x80, 0xAD, 0xB9, 0x0B, + 0xCD, 0xBB, 0x6E, 0x87, 0xE4, 0xEC, 0xB4, 0xE9, 0xF7, 0x9D, 0xCA, 0x66, 0x21, 0x0A, 0x8B, 0x3D, + 0x90, 0xE4, 0x8C, 0x2B, 0x91, 0xC5, 0xA2, 0x56, 0xD7, 0x09, 0x08, 0xBF, 0xF4, 0x5E, 0x0A, 0xCF, + 0x3F, 0x1B, 0x20, 0x80, 0xA9, 0xCB, 0xF5, 0xF0, 0x26, 0x26, 0xDA, 0x55, 0xA4, 0x77, 0xCA, 0x88, + 0xDE, 0xA0, 0x3D, 0x4E, 0xEE, 0xEF, 0xB5, 0x09, 0xFC, 0x21, 0x76, 0x9B, 0x19, 0x8F, 0x8A, 0x7B, + 0x12, 0xBA, 0xFC, 0x0A, 0xDF, 0xD6, 0x92, 0x1B, 0x76, 0x6E, 0x09, 0x5B, 0x7A, 0xF2, 0xF2, 0x2A, + 0xFA, 0xED, 0x5B, 0x87, 0x9E, 0x1D, 0xF6, 0xCE, 0x2B, 0xBB, 0xFD, 0xFD, 0x6F, 0x36, 0xA2, 0x5D, + 0xA9, 0x21, 0xCA, 0x29, 0xEB, 0xD2, 0x89, 0x07, 0xFD, 0x80, 0x50, 0x17, 0xAC, 0x8E, 0x85, 0x72, + 0xB7, 0x3E, 0x8A, 0x8B, 0x13, 0x73, 0xD9, 0x1F, 0x4F, 0xAC, 0x8B, 0xE0, 0xF0, 0x17, 0x51, 0xDA, + 0x5F, 0xD7, 0xB0, 0xF9, 0x41, 0x1E, 0x57, 0x6C, 0xBD, 0xBA, 0xB2, 0x1B, 0xA8, 0xE7, 0x25, 0x2E, + 0xA8, 0x27, 0x6E, 0x96, 0xF2, 0x02, 0x99, 0x40, 0xD1, 0x52, 0x98, 0xBA, 0x4E, 0x08, 0x2F, 0x04, + 0xE8, 0xF3, 0x12, 0x82, 0x6B, 0xAD, 0xC1, 0x3E, 0x91, 0xC0, 0x5E, 0x2F, 0xC8, 0xB0, 0x88, 0xFD, + 0x8E, 0xB2, 0x10, 0x48, 0x17, 0xBF, 0xF0, 0x7E, 0x95, 0xC6, 0x6D, 0xDC, 0x05, 0x6F, 0xC3, 0x86, + 0x90, 0x6D, 0x3D, 0x83, 0xBB, 0xF0, 0xB0, 0xF6, 0xB6, 0x5F, 0x66, 0x2E, 0xCC, 0xDC, 0x13, 0xA9, + 0xD8, 0xE5, 0x31, 0x14, 0xCB, 0x37, 0x40, 0xA2, 0xBD, 0xA3, 0xF1, 0x72, 0x72, 0xEA, 0x34, 0xD0, + 0x5D, 0x37, 0x7C, 0x0A, 0x8B, 0xAA, 0x2E, 0xE0, 0x3E, 0xFB, 0xF2, 0x5E, 0x83, 0xC2, 0xE9, 0x4D, + 0x3F, 0xD0, 0x4D, 0x4A, 0xE2, 0x51, 0xCE, 0x0E, 0x1C, 0x36, 0x50, 0x91, 0xBD, 0xC3, 0x9F, 0x10, + 0xF0, 0xEE, 0xCD, 0xD4, 0xCD, 0xF4, 0x9D, 0xDD, 0xD8, 0x3E, 0x11, 0x9C, 0xCE, 0xC5, 0x25, 0x32, + 0x03, 0x65, 0x2C, 0xC5, 0xA6, 0xAC, 0x91, 0x34, 0xA1, 0xF0, 0xD3, 0x8E, 0xEA, 0x4E, 0x38, 0xB1, + 0xE1, 0xAB, 0xA9, 0x60, 0x6D, 0x38, 0xB7, 0x80, 0x0B, 0x98, 0x33, 0x1C, 0xB2, 0x6A, 0x3F, 0x17, + 0xCD, 0x59, 0x80, 0x42, 0xA1, 0xB3, 0xB7, 0x13, 0x9A, 0x7D, 0xA3, 0x97, 0x73, 0xD2, 0x30, 0xB9, + 0x06, 0x08, 0x5D, 0x23, 0x5B, 0x08, 0xFB, 0x4A, 0x24, 0x78, 0xB3, 0xEF, 0xE8, 0xDA, 0xE6, 0xC3, + 0x50, 0x25, 0x38, 0xF1, 0x31, 0x98, 0x5E, 0x69, 0x95, 0xC8, 0x2D, 0x98, 0x54, 0xCD, 0x7A, 0xA6, + 0xAF, 0x4E, 0x75, 0x5D, 0xAD, 0x4E, 0x5B, 0x64, 0x39, 0x12, 0x08, 0xC3, 0x71, 0x1C, 0x14, 0x8A, + 0xD5, 0xA2, 0x66, 0xEA, 0x17, 0x3A, 0x08, 0x8E, 0x3E, 0x40, 0xBD, 0x2C, 0xE5, 0x35, 0xA5, 0xD9, + 0x95, 0x7E, 0xFC, 0xB1, 0x2C, 0xF2, 0xB9, 0xD1, 0x09, 0xF1, 0x4B, 0x0F, 0x30, 0xA6, 0xB5, 0xEF, + 0x08, 0xFB, 0x7C, 0x3B, 0xD9, 0x68, 0x4F, 0x7A, 0x05, 0xE4, 0x00, 0xD1, 0x8A, 0x29, 0xCF, 0xE7, + 0x2B, 0x0B, 0x41, 0x4B, 0x4F, 0x5F, 0x67, 0x86, 0x4F, 0x16, 0x54, 0x77, 0xE8, 0xD2, 0x04, 0x62, + 0x1D, 0x20, 0x5F, 0xFC, 0xB3, 0xAD, 0xF6, 0x10, 0x7D, 0xCD, 0x1D, 0xE5, 0x93, 0xA4, 0x7A, 0xF9, + 0x58, 0x01, 0x5A, 0x74, 0xF2, 0x3F, 0xB2, 0x84, 0xDC, 0x39, 0x09, 0xA6, 0x10, 0xE8, 0xC3, 0xA3, + 0x31, 0xFA, 0xFC, 0x3F, 0x5C, 0xED, 0xF7, 0x8C, 0x78, 0x54, 0x27, 0xE1, 0x81, 0x30, 0xDA, 0xD8, + 0xD8, 0x73, 0x7F, 0xDD, 0x94, 0x75, 0x59, 0x32, 0xA8, 0xB5, 0xCE, 0x65, 0xC9, 0xF6, 0x15, 0x26, + 0x6B, 0x5F, 0x5F, 0xB2, 0xC2, 0xD5, 0x25, 0xAA, 0x0A, 0xA9, 0x59, 0x6B, 0x74, 0x6F, 0xD5, 0xD1, + 0x21, 0x60, 0x3C, 0xE0, 0x3E, 0x8E, 0x40, 0x09, 0xA3, 0xA5, 0xD7, 0xEF, 0xC3, 0xCE, 0xE3, 0x7F, + 0x4C, 0x8D, 0xC8, 0x19, 0x75, 0x71, 0x74, 0x09, 0x4C, 0xEA, 0xB9, 0xA9, 0x63, 0xFE, 0x3A, 0x75, + 0xDF, 0xBD, 0xB0, 0x9E, 0x4F, 0xB2, 0x46, 0x8C, 0x2B, 0x3A, 0xDB, 0x3A, 0x30, 0x97, 0xFB, 0x87, + 0xD3, 0x64, 0x70, 0x2A, 0x2E, 0x9C, 0xF8, 0xDE, 0x7F, 0x7F, 0xF7, 0x01, 0x1C, 0xAF, 0x31, 0x70, + 0x48, 0xC9, 0x64, 0x0F, 0xBC, 0xDE, 0xCF, 0x19, 0xBC, 0xB1, 0xFE, 0x5A, 0x83, 0x7A, 0xB5, 0xFB, + 0xFB, 0xB5, 0xF4, 0xBC, 0xB5, 0x6F, 0x16, 0xAA, 0x7D, 0x56, 0xE0, 0xD9, 0x46, 0x98, 0x30, 0xED, + 0x76, 0xD0, 0xC2, 0xBE, 0x72, 0xD2, 0xE9, 0x46, 0xB8, 0x71, 0x52, 0xBC, 0x58, 0xC1, 0xDF, 0xF2, + 0xAF, 0xA0, 0x6C, 0x45, 0x06, 0xF0, 0x3B, 0xBD, 0xB2, 0xB5, 0x05, 0xE0, 0x88, 0xBA, 0x93, 0x71, + 0xDF, 0xE9, 0xA2, 0x2D, 0x6E, 0xEE, 0x64, 0xE8, 0xCF, 0x18, 0x7E, 0xFF, 0x8F, 0xE0, 0xE2, 0x6F, + 0x65, 0x3C, 0x83, 0xCA, 0x9D, 0xFB, 0x0A, 0xAC, 0xF1, 0xB9, 0x22, 0x54, 0x51, 0x39, 0x80, 0x1A, + 0x2E, 0xF6, 0x3B, 0xA5, 0x83, 0x2B, 0x7F, 0xF5, 0x53, 0xFE, 0xF1, 0x10, 0xBF, 0x0C, 0x61, 0x60, + 0x03, 0xA9, 0x76, 0x38, 0xA0, 0x7B, 0xA5, 0xB5, 0x00, 0xEE, 0xDF, 0x50, 0x4B, 0x03, 0x04, 0x14, + 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x79, 0x72, 0x8D, 0xE5, 0x93, 0x04, 0x00, + 0x00, 0xC4, 0x0A, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, + 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, + 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x75, 0x74, 0x69, 0x6C, 0x73, 0x2F, 0x64, + 0x65, 0x65, 0x70, 0x2D, 0x63, 0x6F, 0x70, 0x79, 0x2E, 0x6A, 0x73, 0x85, 0x56, 0x5B, 0xAF, 0xD2, + 0x40, 0x10, 0x7E, 0xE7, 0x57, 0x8C, 0x3C, 0x81, 0x81, 0xA2, 0xC6, 0xC4, 0x78, 0x08, 0x89, 0xA8, + 0x47, 0x25, 0x2A, 0x98, 0x03, 0x6A, 0x8C, 0x31, 0x66, 0x69, 0x07, 0x58, 0x2D, 0xDD, 0xBA, 0xBB, + 0x05, 0xC9, 0x91, 0xFF, 0xEE, 0xCC, 0xEE, 0x96, 0x5E, 0x34, 0xCA, 0x83, 0xB6, 0xBB, 0x73, 0xF9, + 0xBE, 0x6F, 0x2E, 0x3D, 0xA3, 0xBB, 0x77, 0x60, 0x23, 0x35, 0xAE, 0x85, 0xC1, 0xA1, 0x48, 0xF6, + 0x32, 0x83, 0xC3, 0xE3, 0xE8, 0x61, 0xF4, 0x00, 0xEE, 0x8E, 0x3A, 0xDD, 0xC2, 0x20, 0x18, 0xAB, + 0x65, 0x6C, 0xBB, 0xE3, 0x0E, 0x99, 0x76, 0xE0, 0x2E, 0x3C, 0x49, 0x65, 0x8C, 0x99, 0x41, 0x7E, + 0x7E, 0xA6, 0xF2, 0x93, 0x96, 0xDB, 0x9D, 0x85, 0x07, 0xF7, 0xEE, 0x3F, 0x82, 0x97, 0x4A, 0x6D, + 0x53, 0x84, 0x59, 0x16, 0x47, 0x74, 0xCB, 0x06, 0x6F, 0xBC, 0x6D, 0x02, 0x45, 0x96, 0xA0, 0x06, + 0xBB, 0x43, 0x98, 0xE6, 0x22, 0xA6, 0xFF, 0xC2, 0xCD, 0x00, 0x3E, 0xA0, 0x36, 0x52, 0x65, 0xF0, + 0x20, 0xBA, 0x07, 0x3D, 0x36, 0xE8, 0x86, 0xAB, 0x6E, 0x7F, 0xCC, 0x21, 0x4E, 0xAA, 0x80, 0xBD, + 0x38, 0x41, 0xA6, 0x2C, 0x10, 0x1E, 0x8A, 0x21, 0x0D, 0x41, 0xA6, 0x3C, 0xF8, 0x33, 0xC6, 0xDC, + 0x02, 0x41, 0x8E, 0xD5, 0x3E, 0x4F, 0xA5, 0xC8, 0x62, 0x84, 0xA3, 0xB4, 0x3B, 0xB2, 0xB9, 0x24, + 0x88, 0x38, 0xC6, 0xA7, 0x10, 0x43, 0xAD, 0xAD, 0x20, 0x73, 0x41, 0x0E, 0x39, 0xBD, 0x6D, 0xEA, + 0x86, 0x20, 0x6C, 0x00, 0x0D, 0xB0, 0xB3, 0x36, 0xBF, 0x1A, 0x8D, 0x8E, 0xC7, 0x63, 0x24, 0x1C, + 0xDC, 0x48, 0xE9, 0xED, 0x28, 0x10, 0x37, 0xA3, 0x37, 0xB3, 0x67, 0xD7, 0xF3, 0xE5, 0xF5, 0x90, + 0x20, 0x07, 0x97, 0xF7, 0x59, 0x8A, 0xC6, 0x80, 0xC6, 0x1F, 0x85, 0xD4, 0x44, 0x77, 0x7D, 0x02, + 0x91, 0xE7, 0xE4, 0x20, 0xD6, 0x04, 0x34, 0x15, 0x47, 0x50, 0x1A, 0xC4, 0x56, 0x23, 0xDD, 0x59, + 0xC5, 0x90, 0x8F, 0x5A, 0x5A, 0x99, 0x6D, 0x07, 0x60, 0xD4, 0xC6, 0x1E, 0x85, 0x76, 0x7A, 0x26, + 0x92, 0xD5, 0x5E, 0x17, 0xB6, 0x54, 0xAC, 0x01, 0x50, 0x9A, 0x86, 0x81, 0x22, 0x22, 0x19, 0x74, + 0xA7, 0x4B, 0x98, 0x2D, 0xBB, 0xF0, 0x74, 0xBA, 0x9C, 0x2D, 0x07, 0x1C, 0xE4, 0xE3, 0x6C, 0xF5, + 0x6A, 0xF1, 0x7E, 0x05, 0x1F, 0xA7, 0x37, 0x37, 0xD3, 0xF9, 0x6A, 0x76, 0xBD, 0x84, 0xC5, 0x0D, + 0x3C, 0x5B, 0xCC, 0x9F, 0xCF, 0x56, 0xB3, 0xC5, 0x9C, 0xDE, 0x5E, 0xC0, 0x74, 0xFE, 0x09, 0x5E, + 0xCF, 0xE6, 0xCF, 0x07, 0x80, 0x92, 0x52, 0x68, 0xD2, 0x32, 0xD7, 0xC4, 0x80, 0x61, 0x4A, 0xD6, + 0x12, 0x13, 0x27, 0xDC, 0x12, 0xB1, 0x01, 0x61, 0xA3, 0x3C, 0x24, 0x93, 0x63, 0x2C, 0x37, 0x32, + 0x26, 0x6A, 0xD9, 0xB6, 0x10, 0x5B, 0x84, 0xAD, 0x3A, 0xA0, 0xCE, 0x88, 0x11, 0xE4, 0xA8, 0xF7, + 0xD2, 0x70, 0x4D, 0x0D, 0x01, 0x4C, 0x38, 0x4C, 0x2A, 0xF7, 0xD2, 0x0A, 0xCB, 0x47, 0x7F, 0xF2, + 0xE2, 0x44, 0xA3, 0xCE, 0x62, 0xFD, 0x0D, 0x63, 0x1B, 0x25, 0xB8, 0x91, 0x19, 0xBE, 0xD3, 0x8A, + 0xA2, 0xD8, 0x53, 0x8F, 0x60, 0x29, 0x6D, 0xCD, 0x00, 0xBA, 0x5F, 0xBF, 0xA2, 0x79, 0xAB, 0x92, + 0x22, 0xC5, 0xEE, 0x00, 0x6E, 0xE1, 0x20, 0xD2, 0x02, 0xAF, 0xC0, 0xEA, 0x02, 0xE1, 0x4C, 0x8D, + 0x12, 0x0C, 0xC9, 0x1F, 0xF3, 0xEB, 0x9F, 0x16, 0xB3, 0x04, 0x26, 0x50, 0x3F, 0xE4, 0x56, 0xA5, + 0xA3, 0x83, 0x92, 0x09, 0xDC, 0xE3, 0x66, 0x76, 0x75, 0xBB, 0x41, 0x5B, 0x68, 0xC6, 0x09, 0x6C, + 0x53, 0xB6, 0x05, 0xEB, 0xAA, 0x1C, 0x1E, 0x57, 0x36, 0xAD, 0xC5, 0xA9, 0x6C, 0xE8, 0x27, 0xB9, + 0xD0, 0x62, 0x0F, 0xB7, 0xFE, 0xFA, 0x97, 0xBB, 0x3B, 0x7B, 0x34, 0xB0, 0xDA, 0x61, 0xDB, 0x8D, + 0x8A, 0x5D, 0x45, 0x8E, 0x5C, 0x00, 0xED, 0x52, 0xB6, 0x23, 0x4C, 0x4B, 0xB3, 0xAA, 0x2F, 0x73, + 0xAD, 0x0E, 0x32, 0xC1, 0xA4, 0x1D, 0xD3, 0xEB, 0xB5, 0x29, 0xB2, 0x98, 0x05, 0x85, 0x92, 0x5C, + 0xCF, 0x81, 0xE8, 0xC3, 0x6D, 0x07, 0xE8, 0x17, 0xB2, 0x54, 0x72, 0xF4, 0x8A, 0xCC, 0x6B, 0x9B, + 0x0C, 0x3C, 0x5C, 0x12, 0xED, 0xDC, 0xF9, 0x8B, 0x42, 0xE5, 0xE3, 0x45, 0x23, 0x7A, 0x91, 0x68, + 0x20, 0xF7, 0x35, 0xE1, 0xC7, 0x8D, 0x56, 0x7B, 0xEA, 0xDB, 0x42, 0xC7, 0xC8, 0x04, 0xAD, 0xD0, + 0x5B, 0xB4, 0xD0, 0xD3, 0x18, 0x17, 0x34, 0xCB, 0x07, 0x4C, 0xA9, 0xFB, 0xD3, 0x54, 0x1D, 0x0D, + 0x20, 0xE7, 0xE6, 0x56, 0x20, 0x52, 0x81, 0x87, 0x6B, 0x0A, 0xCF, 0xC4, 0xF4, 0x7D, 0x93, 0xC5, + 0x22, 0x15, 0xDA, 0xA3, 0x32, 0x34, 0x1B, 0xCC, 0xBE, 0x0C, 0x4A, 0x83, 0x01, 0xDC, 0x59, 0x43, + 0x9E, 0x17, 0x8A, 0x15, 0xC1, 0x6C, 0x13, 0xEE, 0x78, 0x1E, 0x2A, 0x52, 0x55, 0xCD, 0x82, 0x7E, + 0x1C, 0x59, 0xE4, 0x8C, 0x5A, 0x4B, 0x61, 0x29, 0xE0, 0x29, 0xE7, 0xED, 0x90, 0xA6, 0xB0, 0x46, + 0x88, 0x35, 0x0A, 0x9E, 0xA1, 0x1E, 0x61, 0xF1, 0x5A, 0x51, 0x8C, 0x7E, 0x59, 0xE4, 0x8F, 0x08, + 0x35, 0x2E, 0xBE, 0x28, 0x82, 0x1C, 0xE3, 0x9D, 0x4C, 0x93, 0x9A, 0x10, 0x9C, 0x29, 0x4F, 0x85, + 0x2C, 0x33, 0x97, 0xE0, 0x4B, 0x6D, 0x86, 0xF4, 0x40, 0xEF, 0xC2, 0x42, 0x26, 0xF6, 0x68, 0x68, + 0x93, 0xE0, 0x30, 0x95, 0xDF, 0x19, 0x5A, 0xE9, 0xE1, 0x08, 0xEE, 0x91, 0xF8, 0x24, 0x65, 0xF6, + 0xB9, 0xB2, 0xE8, 0xBC, 0xEA, 0x3A, 0xC4, 0x22, 0x63, 0xDC, 0x02, 0xCA, 0xBA, 0x0F, 0xDC, 0x12, + 0xD9, 0xC9, 0x78, 0x47, 0x77, 0xC6, 0x4D, 0x69, 0x85, 0xAC, 0x05, 0xA4, 0x14, 0xC6, 0x6F, 0x19, + 0xE6, 0x23, 0xDD, 0xFE, 0xE0, 0x4D, 0x44, 0xA7, 0x06, 0x0C, 0x0F, 0x67, 0xDC, 0x64, 0xC6, 0xFE, + 0x97, 0x6C, 0xED, 0xF6, 0x17, 0xD9, 0xE9, 0x1C, 0xA0, 0x71, 0xDB, 0xFB, 0xDA, 0x05, 0x38, 0xD2, + 0x10, 0x52, 0x5A, 0x04, 0xBE, 0xF8, 0x09, 0x11, 0x6B, 0x7B, 0x06, 0x58, 0x0D, 0x4F, 0x65, 0xEA, + 0xF8, 0x19, 0x6A, 0xF0, 0xE7, 0x48, 0x95, 0x10, 0xF5, 0x19, 0x0A, 0xC1, 0x56, 0x97, 0x4B, 0x1F, + 0xAC, 0x3D, 0x1F, 0xD5, 0x08, 0x78, 0xAB, 0x81, 0x4F, 0x7F, 0x19, 0x15, 0xB9, 0x81, 0xDE, 0x9D, + 0x9E, 0x3F, 0x23, 0xDD, 0x8C, 0xE5, 0xEF, 0x08, 0xF1, 0xF7, 0x1B, 0xA9, 0x5F, 0x9A, 0x55, 0x53, + 0x15, 0xFC, 0xC7, 0xEE, 0xF8, 0xEC, 0xFE, 0x35, 0xF4, 0xD9, 0x21, 0xEA, 0x21, 0x4A, 0x14, 0xD3, + 0xA2, 0xA3, 0xD5, 0x14, 0x5B, 0xA5, 0x6B, 0xEE, 0xBE, 0x50, 0xCF, 0xA9, 0xF1, 0xAE, 0xDC, 0x61, + 0xF5, 0x1B, 0x8D, 0x60, 0xC5, 0x1D, 0xC9, 0x97, 0x44, 0x9E, 0x7B, 0x04, 0x8C, 0x9B, 0x0A, 0x33, + 0x26, 0x7C, 0xF5, 0x46, 0x48, 0xC8, 0xA2, 0xAC, 0xE7, 0x4E, 0x24, 0x40, 0x12, 0xF8, 0xBE, 0x6C, + 0x05, 0xAC, 0x8B, 0x39, 0xE4, 0x00, 0xA7, 0x4B, 0xF3, 0xA7, 0xCA, 0xD8, 0x3B, 0x0D, 0xF3, 0x83, + 0xD0, 0x2E, 0xF0, 0x07, 0x57, 0x8C, 0x49, 0x83, 0x60, 0x8B, 0x7B, 0x86, 0x47, 0x87, 0xB2, 0x77, + 0xB1, 0x8F, 0x08, 0xD6, 0x4A, 0xEE, 0xB1, 0xD7, 0xEF, 0x57, 0x1E, 0xE7, 0x06, 0xE9, 0xA0, 0xE5, + 0xD5, 0xE5, 0xB0, 0xD4, 0x3D, 0x90, 0x9A, 0x4C, 0x26, 0xD5, 0x28, 0x57, 0x8A, 0x55, 0xBF, 0xD2, + 0x0E, 0x6E, 0xCF, 0x4D, 0x54, 0xE7, 0xC6, 0xDB, 0x9A, 0x44, 0xFC, 0x3E, 0x6E, 0xA6, 0x9E, 0xF2, + 0xA6, 0xB9, 0x6A, 0xAB, 0x33, 0x4D, 0x8F, 0xB4, 0x7F, 0xDC, 0x68, 0xB3, 0x38, 0x7E, 0x1F, 0x05, + 0xDE, 0xBC, 0xA0, 0xDC, 0xD2, 0xE1, 0x9D, 0x83, 0x8D, 0xE6, 0xFB, 0x2B, 0xA6, 0xCF, 0x5F, 0xC6, + 0xFF, 0x42, 0x41, 0xB4, 0x44, 0x91, 0xDA, 0x3F, 0x20, 0xCC, 0x15, 0xCD, 0x9E, 0xDF, 0x1F, 0x41, + 0x1F, 0x2E, 0x14, 0xB7, 0x41, 0x98, 0x4A, 0x11, 0x7A, 0xC0, 0xA7, 0xFD, 0x6F, 0x0F, 0xF2, 0xB7, + 0xB9, 0x47, 0x95, 0x74, 0x95, 0xA7, 0x46, 0x6E, 0xB5, 0xF9, 0xA5, 0xD5, 0xC3, 0x97, 0x96, 0xAC, + 0xAC, 0xE2, 0xA5, 0x18, 0xED, 0x84, 0x59, 0x1C, 0xB3, 0xF2, 0x9B, 0x1B, 0x51, 0xCE, 0x34, 0x34, + 0xF2, 0xC0, 0xC5, 0xEA, 0xB7, 0x2B, 0x42, 0xED, 0x4D, 0x7F, 0xBB, 0x14, 0xD8, 0x2E, 0x77, 0xA5, + 0xCA, 0x67, 0xF6, 0xFB, 0x02, 0x93, 0xE6, 0xF4, 0x55, 0x37, 0xE5, 0x0C, 0xFA, 0xB7, 0xFE, 0x85, + 0x46, 0xC5, 0xCF, 0x5B, 0xD7, 0xBF, 0x51, 0x55, 0xA8, 0x46, 0xDC, 0x71, 0xE7, 0x37, 0x50, 0x4B, + 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0xAB, 0x0B, 0xEF, 0xE4, + 0x4A, 0x22, 0x00, 0x00, 0xE0, 0xB0, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, + 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, + 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x75, 0x74, 0x69, 0x6C, + 0x73, 0x2F, 0x65, 0x72, 0x72, 0x6F, 0x72, 0x2E, 0x6A, 0x73, 0xED, 0x1D, 0xD9, 0x72, 0xC3, 0x34, + 0xF0, 0x9D, 0xAF, 0x10, 0x65, 0x86, 0xB6, 0xD0, 0xA4, 0xC0, 0x70, 0x33, 0x0C, 0x98, 0xC4, 0x05, + 0x43, 0x73, 0x90, 0x83, 0x9B, 0xC9, 0xB8, 0xB1, 0xDB, 0x9A, 0x26, 0x76, 0xB0, 0x9D, 0x96, 0x00, + 0xFD, 0x77, 0x76, 0x57, 0x97, 0x6D, 0xF9, 0x4A, 0x5A, 0x8E, 0x01, 0x18, 0xA0, 0xAD, 0xBD, 0x5A, + 0xAD, 0x56, 0x7B, 0x69, 0xB5, 0x92, 0xCF, 0x5F, 0x79, 0x91, 0x5D, 0x07, 0xB1, 0x7F, 0xE5, 0x26, + 0x7E, 0xC7, 0xF5, 0xD6, 0x41, 0xC8, 0xEE, 0xDF, 0xEB, 0xBE, 0xD9, 0x7D, 0x83, 0xBD, 0x72, 0xFE, + 0xC2, 0xD1, 0x36, 0xF1, 0x59, 0x92, 0xC6, 0xC1, 0x32, 0x3D, 0xFA, 0xE0, 0x05, 0x00, 0x7D, 0x81, + 0xBD, 0xC2, 0x3E, 0x5E, 0x05, 0x4B, 0x3F, 0x4C, 0x7C, 0xFC, 0xBD, 0x17, 0x6D, 0x76, 0x71, 0x70, + 0x73, 0x9B, 0xB2, 0x37, 0x5E, 0x7B, 0xFD, 0x1D, 0xF6, 0x69, 0x14, 0xDD, 0xAC, 0x7C, 0xE6, 0x84, + 0xCB, 0x2E, 0xBC, 0x45, 0x80, 0x4B, 0x0E, 0xEB, 0xB1, 0x6D, 0xE8, 0xF9, 0x31, 0x4B, 0x6F, 0x7D, + 0x66, 0x6D, 0xDC, 0x25, 0xFC, 0x10, 0x6F, 0xCE, 0xD8, 0x57, 0x7E, 0x9C, 0x04, 0x51, 0xC8, 0xDE, + 0xE8, 0xBE, 0xC6, 0x4E, 0x10, 0xE0, 0x48, 0xBC, 0x3A, 0x3A, 0xFD, 0x00, 0x51, 0xEC, 0xA2, 0x2D, + 0x5B, 0xBB, 0x3B, 0x16, 0x46, 0x29, 0x03, 0x7A, 0x00, 0x47, 0x90, 0x00, 0xC9, 0xD0, 0x8F, 0xFF, + 0xCB, 0xD2, 0xDF, 0xA4, 0x0C, 0x48, 0x5E, 0x46, 0xEB, 0xCD, 0x2A, 0x70, 0xC3, 0xA5, 0xCF, 0x1E, + 0x82, 0xF4, 0x16, 0x60, 0x54, 0x07, 0x5D, 0xC4, 0xF1, 0xAD, 0xC0, 0x11, 0x5D, 0xA5, 0x2E, 0x80, + 0xBB, 0xD0, 0x60, 0x03, 0x7F, 0x5D, 0x67, 0x01, 0x99, 0x9B, 0x0A, 0xA2, 0x19, 0xBB, 0x4D, 0xD3, + 0xCD, 0xFB, 0xE7, 0xE7, 0x0F, 0x0F, 0x0F, 0x5D, 0x97, 0xC8, 0xED, 0x46, 0xF1, 0xCD, 0xB9, 0x18, + 0x78, 0x72, 0x7E, 0xE9, 0xF4, 0xEC, 0xE1, 0xD4, 0xEE, 0x00, 0xC9, 0xA2, 0xC9, 0x3C, 0x5C, 0xF9, + 0x49, 0xC2, 0x62, 0xFF, 0xE7, 0x6D, 0x10, 0xC3, 0x70, 0xAF, 0x76, 0xCC, 0xDD, 0x6C, 0xA0, 0x81, + 0x7B, 0x05, 0x84, 0xAE, 0xDC, 0x07, 0x16, 0xC5, 0xCC, 0xBD, 0x89, 0x7D, 0x78, 0x97, 0x46, 0x48, + 0xF2, 0x43, 0x1C, 0xA4, 0x41, 0x78, 0x73, 0xC6, 0x92, 0xE8, 0x3A, 0x7D, 0x70, 0x63, 0xE2, 0xA7, + 0x17, 0x20, 0xB7, 0xAF, 0xB6, 0xA9, 0xE4, 0x58, 0x8E, 0xC0, 0x20, 0xC9, 0x01, 0x44, 0x30, 0x90, + 0x90, 0x1D, 0x59, 0x53, 0xE6, 0x4C, 0x8F, 0xD8, 0x27, 0xD6, 0xD4, 0x99, 0x9E, 0x21, 0x92, 0xAF, + 0x9D, 0xD9, 0x67, 0xA3, 0xF9, 0x8C, 0x7D, 0x6D, 0x4D, 0x26, 0xD6, 0x70, 0xE6, 0xD8, 0x53, 0x36, + 0x9A, 0xB0, 0xDE, 0x68, 0xD8, 0x77, 0x66, 0xCE, 0x68, 0x08, 0x7F, 0x5D, 0x30, 0x6B, 0xF8, 0x2D, + 0xFB, 0xC2, 0x19, 0xF6, 0xCF, 0x98, 0x1F, 0x40, 0x17, 0x31, 0xF0, 0x72, 0x13, 0xC3, 0x08, 0x90, + 0xCC, 0x00, 0x79, 0xE9, 0x7B, 0xC4, 0xB8, 0xA9, 0xEF, 0xE7, 0x48, 0xB8, 0x8E, 0x38, 0x49, 0xC9, + 0xC6, 0x5F, 0x06, 0xD7, 0xC1, 0x12, 0x86, 0x16, 0xDE, 0x6C, 0xDD, 0x1B, 0x9F, 0xDD, 0x44, 0xF7, + 0x7E, 0x1C, 0xC2, 0x88, 0xD8, 0xC6, 0x8F, 0xD7, 0x41, 0x82, 0x73, 0x9A, 0x00, 0x81, 0x1E, 0xA2, + 0x59, 0x05, 0xEB, 0x20, 0x75, 0x53, 0x7C, 0x64, 0x8E, 0x0B, 0x3B, 0x3A, 0x7F, 0xE1, 0xDE, 0x8D, + 0xD9, 0x62, 0xE1, 0xFF, 0x92, 0xFA, 0xA1, 0x97, 0xB0, 0x0F, 0xD9, 0x09, 0xCD, 0xF3, 0xCB, 0x2F, + 0xD3, 0x7C, 0x77, 0xD5, 0x9B, 0x53, 0xF6, 0xFB, 0xEF, 0xEC, 0xE4, 0x7A, 0x1B, 0x2E, 0x11, 0x1B, + 0x3B, 0x39, 0x65, 0xBF, 0xBD, 0xC0, 0xE0, 0x1F, 0x6C, 0xCE, 0x41, 0xA6, 0xD8, 0xD1, 0x12, 0x51, + 0x68, 0x28, 0xEF, 0x8C, 0x5D, 0x11, 0x24, 0xFF, 0xC7, 0x80, 0x1C, 0x5D, 0xFD, 0xE4, 0x2F, 0xD3, + 0x6E, 0xE2, 0xA7, 0xE3, 0x38, 0x4A, 0xA3, 0x74, 0xB7, 0xF1, 0x47, 0xD7, 0xD0, 0x13, 0x34, 0xD0, + 0xFF, 0x9C, 0xFC, 0x06, 0x04, 0x6E, 0xF0, 0xFD, 0x62, 0xF1, 0x3E, 0xFB, 0xFE, 0x47, 0xF6, 0x08, + 0xF3, 0x98, 0xA4, 0x28, 0x75, 0x20, 0x49, 0x56, 0x1C, 0xBB, 0x3B, 0xA0, 0xD7, 0xEC, 0x95, 0x79, + 0x5D, 0xD5, 0x0E, 0xFA, 0xBA, 0xFA, 0x80, 0x3D, 0x9E, 0x16, 0x70, 0x9B, 0x8D, 0x88, 0xD3, 0x27, + 0x38, 0xAA, 0x0D, 0xF4, 0x82, 0x8F, 0x82, 0x6B, 0x76, 0x72, 0xD5, 0xBD, 0x75, 0x93, 0xD1, 0x43, + 0x08, 0x54, 0x02, 0x97, 0xD3, 0xDD, 0xC9, 0xE6, 0xF4, 0x94, 0x79, 0xDF, 0x6F, 0x7E, 0x44, 0xBC, + 0xF0, 0x03, 0x50, 0x7F, 0xA0, 0xF0, 0xC6, 0x7E, 0xBA, 0x8D, 0xC3, 0xFC, 0x58, 0x39, 0x7A, 0x82, + 0x41, 0x50, 0x0D, 0xD6, 0x96, 0x59, 0x12, 0x81, 0x41, 0xF8, 0x62, 0x81, 0x73, 0xC1, 0x67, 0x6B, + 0x19, 0x01, 0x5F, 0xE2, 0xED, 0x32, 0x8D, 0x62, 0x20, 0xCC, 0x03, 0xAA, 0x14, 0xBC, 0xD7, 0xDD, + 0x48, 0x0E, 0x23, 0xCD, 0xEC, 0xC3, 0x0F, 0x3F, 0x64, 0xE1, 0x76, 0xB5, 0x62, 0x1F, 0xC9, 0x49, + 0x58, 0xC6, 0xBE, 0x9B, 0xFA, 0x27, 0x40, 0xC2, 0xFB, 0xEC, 0x64, 0xB1, 0xC8, 0xC3, 0xEB, 0xBF, + 0xCE, 0x58, 0xE8, 0x3F, 0x50, 0xAF, 0x7A, 0x38, 0x8F, 0xA7, 0x27, 0xF0, 0x87, 0xC0, 0xE3, 0xF9, + 0xD7, 0x41, 0xE8, 0x2B, 0x4E, 0x81, 0x80, 0x47, 0x71, 0x9A, 0x9C, 0xB1, 0x23, 0x90, 0xA5, 0x64, + 0x10, 0x79, 0xDB, 0x95, 0x7F, 0x74, 0x06, 0x14, 0xDF, 0xBB, 0xAB, 0xAD, 0xFF, 0x3E, 0x03, 0x7A, + 0x7D, 0xF6, 0x08, 0xCD, 0x05, 0x60, 0xD7, 0x11, 0x73, 0xEB, 0x78, 0x3D, 0x50, 0x87, 0x30, 0xB5, + 0xE3, 0x38, 0x8A, 0x7B, 0x91, 0x87, 0x74, 0x48, 0x98, 0x01, 0xA8, 0x8C, 0x7B, 0x03, 0x42, 0x5F, + 0x0D, 0x62, 0x6D, 0xD3, 0xDB, 0x9A, 0xB7, 0x9B, 0x8D, 0x7A, 0x9C, 0x64, 0x9E, 0x5F, 0x70, 0x93, + 0x8C, 0xE4, 0xE3, 0x60, 0x06, 0x6E, 0x08, 0x3A, 0xB6, 0x96, 0x48, 0x4A, 0x00, 0x15, 0x25, 0x55, + 0x00, 0x7A, 0x38, 0x55, 0x10, 0xF8, 0x33, 0x81, 0x29, 0xF3, 0xAB, 0x00, 0xFA, 0x6E, 0xEA, 0xC2, + 0xCF, 0xCA, 0xF7, 0x38, 0xD4, 0xAA, 0x77, 0x30, 0xD0, 0xE2, 0xAB, 0x71, 0x0C, 0x33, 0xF4, 0x8B, + 0xEF, 0x49, 0x90, 0xE2, 0xFB, 0xE2, 0xF3, 0xFB, 0x28, 0xF0, 0xD8, 0x6B, 0x1F, 0x90, 0xA5, 0xF0, + 0x7C, 0x7F, 0xB3, 0x40, 0x23, 0xBE, 0x78, 0x1D, 0xDE, 0x08, 0xB3, 0x7B, 0x72, 0xD4, 0xED, 0x9E, + 0x6F, 0xD3, 0x60, 0x95, 0x9C, 0xE3, 0xFB, 0x0E, 0xBE, 0x3F, 0x3A, 0x45, 0xC7, 0x45, 0x36, 0x5A, + 0xE2, 0x63, 0x3E, 0x21, 0x5C, 0xE2, 0x4C, 0x70, 0x31, 0xDD, 0xC6, 0x7E, 0x97, 0xCD, 0xD0, 0xDE, + 0x48, 0xFB, 0x43, 0x7D, 0x4A, 0x27, 0xF6, 0xF1, 0xC6, 0x8D, 0xDD, 0x35, 0xFB, 0x8D, 0x1E, 0x3A, + 0xE1, 0x75, 0xF4, 0x08, 0x28, 0xC4, 0xAF, 0xD0, 0x4C, 0x22, 0x0C, 0xE0, 0xCF, 0x78, 0xED, 0x72, + 0x25, 0x42, 0xEC, 0x68, 0xFD, 0xD8, 0x9A, 0x26, 0xC6, 0x3F, 0xED, 0x12, 0xA6, 0x8C, 0x66, 0x28, + 0xAB, 0x57, 0x1C, 0xE7, 0xF9, 0x2B, 0x08, 0xB8, 0x72, 0x93, 0x04, 0x20, 0xB2, 0xB6, 0x6E, 0x91, + 0x6C, 0x41, 0x96, 0x85, 0x6A, 0x6A, 0x63, 0x79, 0x92, 0x43, 0x70, 0xC6, 0x38, 0x98, 0xD0, 0x0A, + 0xD5, 0x3A, 0x07, 0x74, 0xA2, 0xE8, 0xCF, 0x2A, 0x3A, 0x99, 0x60, 0x32, 0xBB, 0x1F, 0x0A, 0x24, + 0xDD, 0xA5, 0xBB, 0x5A, 0x91, 0x25, 0x3E, 0xD3, 0x43, 0xEE, 0x8A, 0x21, 0x91, 0x29, 0xC6, 0x77, + 0xCA, 0x1A, 0xF0, 0xD6, 0x5D, 0xCD, 0x9C, 0x0F, 0x75, 0x2B, 0x05, 0x04, 0xE3, 0x63, 0x69, 0xB2, + 0x0A, 0xC2, 0xF4, 0x7D, 0xF0, 0x66, 0xE8, 0x1F, 0xDF, 0x5F, 0xBB, 0xBF, 0x74, 0xE0, 0x81, 0xDF, + 0x59, 0xF9, 0xE1, 0x4D, 0x7A, 0x0B, 0xC3, 0xD6, 0xC0, 0xE7, 0xE0, 0x83, 0x52, 0x72, 0x17, 0x4A, + 0xF5, 0x61, 0x96, 0xD0, 0xB5, 0x06, 0xE9, 0x6A, 0xD7, 0x55, 0x1E, 0xEA, 0x3A, 0x5A, 0xAD, 0xA2, + 0x07, 0xF4, 0x3F, 0x80, 0xE9, 0x8E, 0xCC, 0xE7, 0x1A, 0x64, 0x19, 0x24, 0x25, 0x75, 0x41, 0x22, + 0xDE, 0xCF, 0x60, 0x24, 0xF7, 0x9E, 0x80, 0x7F, 0xBF, 0x01, 0xDF, 0xB7, 0xBD, 0x02, 0x73, 0xB5, + 0x3E, 0x1F, 0x04, 0xCB, 0x38, 0x42, 0x57, 0x7C, 0x3E, 0x83, 0x1E, 0xA6, 0xCB, 0x38, 0xD8, 0xA4, + 0xE7, 0x0F, 0xC1, 0x5D, 0x70, 0xFE, 0x09, 0xD8, 0xA3, 0x3B, 0xC0, 0xDB, 0xE9, 0xDD, 0x82, 0xAF, + 0xF3, 0x93, 0x97, 0x38, 0xDB, 0xF1, 0xC9, 0xD5, 0x36, 0x58, 0xA5, 0x1D, 0x70, 0x02, 0x40, 0xFD, + 0x9D, 0xDF, 0xA1, 0xB1, 0x76, 0x5C, 0x74, 0x04, 0x1D, 0x98, 0xFA, 0xCE, 0xDA, 0xDD, 0xC0, 0x7F, + 0xBB, 0x4E, 0x18, 0x75, 0x56, 0x11, 0x34, 0x8D, 0x3B, 0x0F, 0x51, 0x7C, 0x57, 0xC2, 0x07, 0x3F, + 0xAC, 0x61, 0x83, 0x66, 0x6C, 0xD6, 0x8D, 0xE4, 0xE7, 0x53, 0x9B, 0x45, 0xC3, 0xFC, 0x2F, 0xD4, + 0x0C, 0x09, 0x2B, 0x5C, 0x6E, 0x1E, 0x2B, 0xD0, 0x81, 0xB9, 0x44, 0x49, 0x3E, 0x3A, 0xD3, 0x62, + 0xC2, 0xE5, 0x53, 0x60, 0xFF, 0x0D, 0xA4, 0x19, 0x38, 0xF1, 0x98, 0x51, 0x03, 0x84, 0xEF, 0x66, + 0x69, 0xBF, 0xF1, 0xD3, 0xF7, 0x99, 0xE9, 0xB1, 0x0B, 0x74, 0xE6, 0x25, 0xA7, 0x8B, 0x58, 0xF4, + 0x58, 0x1E, 0xCF, 0xB4, 0x37, 0x0A, 0xB7, 0x6B, 0x3F, 0x46, 0x7E, 0x01, 0x52, 0x77, 0x95, 0xF8, + 0xFA, 0x15, 0x28, 0xD7, 0x75, 0x70, 0xB3, 0xC5, 0x97, 0xC2, 0xA0, 0xE3, 0x2B, 0x34, 0xEA, 0x07, + 0x0D, 0x9C, 0x8B, 0xF9, 0x5E, 0x63, 0xE7, 0x4D, 0x9E, 0x61, 0xF8, 0x1C, 0xD1, 0x73, 0x73, 0x20, + 0x47, 0x7D, 0x44, 0xEC, 0xE0, 0xD4, 0xF3, 0xDF, 0x81, 0x16, 0x0C, 0x02, 0xFD, 0x90, 0x87, 0x6A, + 0x14, 0x1F, 0xCB, 0xA1, 0xA9, 0x21, 0x55, 0xF0, 0xAB, 0x9B, 0x46, 0x9F, 0x4F, 0x47, 0x43, 0xF6, + 0x61, 0xC5, 0x50, 0x79, 0xAF, 0x85, 0xB1, 0xE3, 0x24, 0xBF, 0xCF, 0x87, 0x8E, 0xBF, 0x9E, 0x65, + 0x5F, 0x0A, 0x5E, 0xCA, 0xF7, 0xE2, 0x2F, 0x0D, 0xF2, 0x58, 0x12, 0xC4, 0xE4, 0x89, 0x83, 0x78, + 0xE0, 0x84, 0x7E, 0xC1, 0x08, 0xA1, 0xCA, 0xA9, 0xE4, 0xFE, 0x56, 0xAE, 0xC2, 0xCA, 0x3F, 0xE7, + 0x8B, 0x0A, 0x97, 0x6D, 0xC8, 0x63, 0x61, 0x3C, 0x76, 0x1D, 0x47, 0x61, 0x9A, 0x63, 0x10, 0x0D, + 0x26, 0xEF, 0x31, 0x94, 0x84, 0xD0, 0x3B, 0xEE, 0xEE, 0x90, 0xDD, 0x12, 0x4F, 0x1A, 0xD1, 0x22, + 0x61, 0x07, 0xBF, 0x14, 0xF1, 0x54, 0x21, 0x61, 0xB3, 0x66, 0x38, 0xC1, 0x2A, 0x53, 0x2C, 0xAB, + 0x5D, 0x90, 0x74, 0xC5, 0x4F, 0x76, 0x45, 0x12, 0x51, 0x2B, 0x97, 0x54, 0x0A, 0x7C, 0xA2, 0x79, + 0x75, 0x46, 0x63, 0x3C, 0x93, 0xE4, 0xB7, 0x77, 0x55, 0x25, 0x52, 0x96, 0x9D, 0x82, 0x57, 0xD9, + 0xD1, 0xF9, 0x11, 0xFC, 0xBF, 0x46, 0xE6, 0x4C, 0x71, 0xAB, 0xF4, 0x76, 0x19, 0xC4, 0x1F, 0x66, + 0x7A, 0xF9, 0xDF, 0xDF, 0x3D, 0xAF, 0xBF, 0x93, 0xC2, 0x72, 0xB0, 0xDF, 0x23, 0xD5, 0x86, 0x7F, + 0x50, 0xBD, 0x91, 0x75, 0x49, 0x46, 0xE7, 0x10, 0x03, 0x6A, 0xE1, 0x95, 0xCF, 0x60, 0xB1, 0xBF, + 0xBC, 0xF3, 0x3D, 0x52, 0xF9, 0x68, 0x9B, 0xC2, 0x2A, 0xC3, 0xC7, 0xB1, 0xE3, 0xDB, 0xBB, 0x30, + 0x7A, 0xA0, 0xD5, 0xB1, 0xBF, 0x96, 0x36, 0x52, 0xB2, 0x5B, 0x60, 0x16, 0x16, 0x01, 0xC5, 0x40, + 0x6A, 0x39, 0xB4, 0xED, 0x8A, 0xB7, 0xF4, 0xA3, 0x4E, 0xB1, 0xC3, 0x28, 0xEC, 0x6C, 0xC4, 0x38, + 0x33, 0x5A, 0x4E, 0xF6, 0x01, 0x42, 0x73, 0x48, 0x20, 0xB8, 0xB8, 0xE2, 0x94, 0xF8, 0xB4, 0x2D, + 0xBF, 0x8A, 0xA2, 0x95, 0xEF, 0x86, 0x60, 0xCC, 0x71, 0x15, 0x13, 0x64, 0x88, 0x80, 0x78, 0x14, + 0x46, 0x94, 0x9C, 0x71, 0x4F, 0xC1, 0x22, 0x5C, 0xEC, 0x3F, 0x04, 0xB4, 0xE8, 0x86, 0x7F, 0x04, + 0xCB, 0x9B, 0x98, 0x8B, 0xAB, 0x4E, 0xB1, 0x70, 0xD1, 0x26, 0x00, 0xD0, 0x0B, 0x95, 0x34, 0x1D, + 0x59, 0x85, 0xB2, 0xE1, 0x6A, 0x4F, 0x03, 0x94, 0x18, 0x70, 0x45, 0x88, 0x61, 0xC8, 0xE5, 0x03, + 0xC3, 0xA0, 0x97, 0xB6, 0xA8, 0x92, 0x17, 0x73, 0x2D, 0x00, 0xEB, 0x92, 0x36, 0xEB, 0x81, 0x72, + 0x06, 0x01, 0xA6, 0xBF, 0xD8, 0x50, 0x67, 0x96, 0x53, 0x07, 0xDB, 0xE8, 0x0C, 0x8E, 0x56, 0x2B, + 0x06, 0x09, 0x77, 0x72, 0xA0, 0x35, 0x3E, 0x06, 0x27, 0x77, 0x5C, 0xB0, 0xE5, 0xCA, 0x9A, 0xFE, + 0x6F, 0x26, 0x9F, 0xD7, 0x4C, 0x66, 0x26, 0x6D, 0x6F, 0x0B, 0xC9, 0x9F, 0x67, 0x51, 0x28, 0xF5, + 0x93, 0xF2, 0x5F, 0xA9, 0x86, 0xC5, 0x46, 0x79, 0x52, 0x2A, 0x94, 0x0F, 0x13, 0x06, 0xCF, 0xA6, + 0x7D, 0x7A, 0x75, 0x4E, 0x2B, 0xF1, 0x82, 0x02, 0xD2, 0xB3, 0x52, 0x2D, 0xFC, 0x5E, 0x88, 0xE4, + 0x8F, 0x86, 0x1E, 0x4A, 0x32, 0x1E, 0x02, 0xC8, 0x4F, 0x45, 0xF7, 0xF0, 0x2A, 0xF0, 0xB8, 0x54, + 0xC1, 0x1A, 0xC2, 0xDD, 0xAE, 0x30, 0x5F, 0x9C, 0x09, 0x1B, 0xC8, 0xF0, 0x02, 0xBB, 0xEF, 0x01, + 0xCA, 0x6B, 0xA1, 0xC2, 0x30, 0xF8, 0xA7, 0xEB, 0x30, 0x20, 0x69, 0xA7, 0xC4, 0x12, 0xF0, 0x04, + 0x19, 0xD1, 0xA8, 0xC5, 0x59, 0xB5, 0x18, 0xF1, 0x91, 0xAB, 0x51, 0x67, 0x87, 0xBB, 0xDC, 0x42, + 0xC6, 0x68, 0x2D, 0x9F, 0x64, 0x47, 0xCF, 0xFF, 0x29, 0x35, 0x07, 0x40, 0xCA, 0xF1, 0x19, 0x9F, + 0x90, 0x9C, 0x51, 0x00, 0x9B, 0xC0, 0x9F, 0xFE, 0x6F, 0x24, 0xFE, 0x22, 0x23, 0x01, 0x33, 0xB1, + 0xB7, 0x95, 0xC8, 0xC4, 0x51, 0x3D, 0x4A, 0xD5, 0x26, 0x42, 0x25, 0xEE, 0xFD, 0x15, 0xAE, 0xA9, + 0x3B, 0xD7, 0xEE, 0x12, 0x06, 0xA8, 0x74, 0x2F, 0x86, 0x25, 0xE5, 0x26, 0xA2, 0x41, 0xCB, 0x85, + 0xCE, 0x95, 0x0B, 0x21, 0x56, 0x98, 0x0D, 0x71, 0x9A, 0x42, 0xA4, 0xC4, 0x8F, 0x41, 0x0A, 0x55, + 0xAA, 0x14, 0x55, 0x55, 0x3C, 0x33, 0x90, 0xEC, 0xAF, 0xE2, 0x25, 0x92, 0x9D, 0xE0, 0x56, 0x93, + 0x27, 0xF1, 0xE1, 0x3F, 0xC1, 0x35, 0xEE, 0x40, 0x29, 0x09, 0x2F, 0xF4, 0xA5, 0x97, 0xD3, 0xDF, + 0xC7, 0xEE, 0xC3, 0x94, 0x28, 0x9B, 0xD0, 0xB8, 0x93, 0x6C, 0xAF, 0xC7, 0x09, 0x83, 0xD7, 0x92, + 0xF2, 0x58, 0x00, 0x98, 0xF1, 0x9C, 0x31, 0x41, 0xB4, 0x4C, 0xCF, 0x33, 0xB3, 0x82, 0xE3, 0xF9, + 0xC0, 0xCE, 0x9C, 0x69, 0x58, 0xB9, 0xAE, 0xA7, 0x9A, 0x9B, 0xB9, 0x90, 0x2E, 0xC7, 0x65, 0xAD, + 0x98, 0xF0, 0x4B, 0x71, 0x50, 0xDC, 0x70, 0x68, 0xAD, 0xC8, 0xB7, 0x44, 0x4A, 0xB7, 0x2B, 0x0F, + 0xFE, 0x1F, 0xF2, 0xFD, 0x36, 0xCF, 0x0B, 0xB0, 0x07, 0x77, 0x55, 0xAA, 0x52, 0xF6, 0x64, 0x32, + 0x9A, 0x2C, 0x7A, 0xA3, 0xBE, 0x0D, 0x29, 0xFF, 0x3E, 0x01, 0xF8, 0x9E, 0x9A, 0x8B, 0x87, 0xDB, + 0x60, 0x79, 0xCB, 0x96, 0x2E, 0xA0, 0x59, 0x25, 0x91, 0xC4, 0x09, 0x3F, 0x57, 0x40, 0x47, 0xD6, + 0x78, 0xF1, 0x47, 0x53, 0x1F, 0x27, 0x84, 0x76, 0x1E, 0x8A, 0x03, 0x22, 0x03, 0x73, 0x7C, 0x7C, + 0xDA, 0x0D, 0x60, 0x0B, 0xEA, 0x97, 0xD1, 0xF5, 0xC9, 0xF1, 0xFB, 0xC7, 0xA7, 0x1F, 0x64, 0x51, + 0x08, 0x7B, 0x36, 0x10, 0x5D, 0xF3, 0xAD, 0x09, 0x05, 0x41, 0x5B, 0x30, 0x85, 0x4E, 0x5E, 0x84, + 0x88, 0xB6, 0xF3, 0x7A, 0x21, 0xA9, 0x63, 0xA0, 0x29, 0xD0, 0xD1, 0x4D, 0xB6, 0x57, 0x5C, 0x36, + 0x8B, 0xE8, 0x5E, 0x65, 0xAF, 0x9F, 0x76, 0xE1, 0xCD, 0xFA, 0x04, 0x09, 0xD3, 0xFF, 0x14, 0x30, + 0xD4, 0xE3, 0x7C, 0xED, 0xAC, 0xC0, 0x0A, 0x13, 0xE5, 0x63, 0x96, 0xFF, 0x0E, 0x17, 0xED, 0xEB, + 0x08, 0xB6, 0xE6, 0xCE, 0xA4, 0x2E, 0xF0, 0x6D, 0xCA, 0xD4, 0x8F, 0x71, 0xD6, 0xB4, 0x64, 0x69, + 0x4E, 0xD1, 0x9E, 0x06, 0xF6, 0xFC, 0x85, 0xBF, 0x03, 0x72, 0xAC, 0xF9, 0xEC, 0xB3, 0xC5, 0xD4, + 0x9E, 0x7C, 0x65, 0x4F, 0x16, 0xB3, 0xD1, 0xA2, 0x77, 0xE9, 0xD8, 0xC3, 0x19, 0x4D, 0xEA, 0xF7, + 0x05, 0x4A, 0x7F, 0xA4, 0x69, 0x70, 0x86, 0x33, 0x7B, 0x32, 0xB4, 0x2E, 0x17, 0x34, 0xFB, 0xC7, + 0xF9, 0x69, 0xF0, 0xB9, 0x68, 0x66, 0xD3, 0xFC, 0x5D, 0xFC, 0xBD, 0x07, 0xBF, 0x9E, 0x94, 0xEC, + 0xA8, 0x7C, 0x9F, 0xA3, 0xE6, 0x47, 0x1A, 0xA8, 0xF6, 0x01, 0x5C, 0xDB, 0xBC, 0xA2, 0x60, 0x25, + 0xB7, 0x24, 0xA4, 0xB7, 0xEE, 0xBD, 0xCF, 0x6E, 0x83, 0x1B, 0x58, 0x25, 0xA1, 0x7A, 0x07, 0x11, + 0x6C, 0xCC, 0xEE, 0xD4, 0x58, 0xC5, 0xD0, 0x65, 0x9B, 0x0F, 0xF3, 0x53, 0x8B, 0x23, 0xD1, 0xCE, + 0x2B, 0x0F, 0x9B, 0x17, 0x9B, 0x02, 0xBB, 0x3E, 0xFC, 0xD0, 0xE0, 0x00, 0xEE, 0x1D, 0xA2, 0x05, + 0x8E, 0xAE, 0x4D, 0x6D, 0x23, 0x31, 0x3B, 0xDE, 0x86, 0x3C, 0x77, 0xE9, 0x1D, 0x17, 0xE5, 0x2D, + 0x8D, 0x77, 0x85, 0x27, 0x26, 0xE9, 0xAF, 0x7E, 0xC8, 0x8E, 0xD8, 0xC4, 0xB4, 0x3E, 0xEF, 0xB3, + 0x1F, 0x8E, 0x70, 0x81, 0x86, 0xE9, 0xBB, 0x2E, 0x97, 0xA0, 0xE0, 0x7A, 0x77, 0x62, 0x6A, 0x3C, + 0x2E, 0xE5, 0x00, 0x34, 0x2F, 0x97, 0x8F, 0x79, 0xB9, 0xC7, 0xD5, 0x26, 0x3B, 0xC9, 0x59, 0x87, + 0xAC, 0xA0, 0xDD, 0x84, 0xE8, 0x56, 0x29, 0x51, 0x08, 0xA2, 0x99, 0x68, 0xA3, 0x55, 0x81, 0xF3, + 0xB1, 0xE0, 0x8D, 0x68, 0xCF, 0xCF, 0x0C, 0x69, 0x08, 0x47, 0xD9, 0xAE, 0x66, 0x0E, 0xF6, 0x80, + 0x60, 0x56, 0xB6, 0x2A, 0xF8, 0xCC, 0x8A, 0x70, 0x16, 0xF7, 0xC7, 0xDA, 0x6E, 0x30, 0xFD, 0xAB, + 0x42, 0x59, 0x1C, 0xF8, 0x93, 0xD2, 0x86, 0x59, 0x44, 0x8D, 0x69, 0xC3, 0x22, 0x70, 0x79, 0x58, + 0xFB, 0x6C, 0x11, 0x2C, 0x97, 0xA4, 0xB2, 0x2C, 0xA3, 0xC8, 0x2C, 0x1E, 0x7B, 0x82, 0x90, 0xF3, + 0x63, 0xF6, 0x6A, 0x49, 0x58, 0xFB, 0x7E, 0x55, 0x7C, 0xAB, 0x93, 0x8A, 0xE6, 0x32, 0x2C, 0x3F, + 0xCC, 0x76, 0xA9, 0x90, 0xAA, 0xE9, 0x28, 0x3E, 0xAF, 0x10, 0x5F, 0xB9, 0xFF, 0xFB, 0xDF, 0x93, + 0x5F, 0x39, 0xF2, 0xA7, 0x0B, 0xB0, 0xC4, 0xD4, 0x4E, 0x82, 0x25, 0xF4, 0xDF, 0x2F, 0xC2, 0xD7, + 0x82, 0x92, 0x3F, 0x49, 0x86, 0xE5, 0x40, 0xF7, 0x10, 0x62, 0x63, 0x4E, 0x8A, 0x2F, 0x2A, 0xC4, + 0x58, 0xD5, 0xE4, 0x30, 0xA7, 0xFF, 0x9F, 0x13, 0x64, 0x5D, 0xE4, 0xF1, 0x64, 0x49, 0xD6, 0xA8, + 0x5A, 0x89, 0xB2, 0x06, 0xFF, 0xDB, 0x65, 0x59, 0x0A, 0x40, 0x27, 0xF0, 0xFE, 0x1C, 0x69, 0xD6, + 0x63, 0x6D, 0x2F, 0xCE, 0xE6, 0xCC, 0x98, 0x6F, 0x2A, 0x04, 0x5A, 0x95, 0xF6, 0xB4, 0x11, 0xE7, + 0x7F, 0x6A, 0xAA, 0xEC, 0x30, 0x79, 0x56, 0x43, 0x7F, 0xB2, 0x38, 0x2B, 0x4C, 0xAD, 0xA4, 0x59, + 0x41, 0xFF, 0x43, 0x52, 0x66, 0x6B, 0x49, 0xCF, 0xFF, 0x79, 0xB3, 0x7F, 0x42, 0xDE, 0x4C, 0x89, + 0xC7, 0xFF, 0xC9, 0xB3, 0x7F, 0x70, 0xF2, 0x4C, 0xCD, 0xD2, 0xB3, 0x64, 0xD0, 0x14, 0xB6, 0x3F, + 0x33, 0x8D, 0x56, 0x99, 0x89, 0xD9, 0x86, 0xB8, 0xF9, 0x1C, 0xB6, 0x49, 0xC4, 0x1C, 0xCF, 0x87, + 0x5F, 0x0C, 0x47, 0x5F, 0x0F, 0x8D, 0xC4, 0x4A, 0x70, 0x6D, 0x90, 0x86, 0x39, 0x87, 0xE2, 0x23, + 0xC8, 0xAD, 0x0D, 0xEC, 0xE9, 0xD4, 0xFA, 0xD4, 0x19, 0x7E, 0x5A, 0x9E, 0xD0, 0x29, 0xAC, 0xEE, + 0x8B, 0x14, 0xE8, 0xE6, 0x2D, 0xF3, 0x41, 0x99, 0xB4, 0x54, 0xFB, 0x2C, 0x90, 0x9A, 0x8F, 0xD6, + 0xA9, 0xA0, 0x42, 0x26, 0xE7, 0xF0, 0xC4, 0x8D, 0x60, 0xF0, 0xFF, 0x79, 0x9B, 0xC3, 0xF2, 0x36, + 0x6A, 0xE6, 0xCA, 0x92, 0x37, 0x4D, 0x3A, 0x37, 0x8B, 0x36, 0xC1, 0x52, 0x97, 0x43, 0xFF, 0x33, + 0x55, 0x70, 0x36, 0x1A, 0x3B, 0xBD, 0xC5, 0xE0, 0xD3, 0x59, 0x4B, 0x05, 0x00, 0x11, 0x54, 0x52, + 0xB5, 0x7F, 0x3E, 0xF4, 0x7F, 0x4D, 0xF8, 0xF7, 0x6A, 0x02, 0x6F, 0x64, 0x36, 0xD8, 0x3F, 0x97, + 0x69, 0x84, 0xD2, 0xC6, 0x8B, 0x8A, 0xE5, 0xC7, 0x86, 0x1F, 0x41, 0x60, 0x6B, 0xA5, 0x74, 0xCF, + 0xB6, 0x0E, 0x29, 0x9E, 0x6E, 0xD0, 0xB2, 0xFB, 0x97, 0x14, 0xD1, 0x18, 0xDD, 0x3F, 0x79, 0x95, + 0x61, 0x60, 0x6C, 0xB5, 0xDA, 0x30, 0x5A, 0x3D, 0xAD, 0xDC, 0x46, 0x4C, 0x58, 0x47, 0x4F, 0xD8, + 0xFF, 0xD5, 0x37, 0x7F, 0xF1, 0x02, 0xC1, 0x98, 0xD1, 0xBD, 0x17, 0x0A, 0xFC, 0x79, 0x35, 0xC2, + 0xFD, 0x0D, 0x40, 0x39, 0x8A, 0x46, 0xA2, 0x75, 0x4D, 0xF4, 0x66, 0x83, 0x8E, 0x2E, 0xAF, 0xFF, + 0x74, 0xC2, 0x0F, 0xA7, 0x3A, 0x88, 0x8B, 0xEB, 0x80, 0x44, 0x9F, 0xEB, 0xCB, 0x9D, 0x72, 0xAA, + 0xD3, 0x2F, 0x29, 0xE5, 0xF2, 0x49, 0xBE, 0x25, 0xBE, 0xD6, 0x2C, 0xCA, 0xBF, 0xEB, 0x5A, 0xE3, + 0xF1, 0xA2, 0x6F, 0x5F, 0xDA, 0x33, 0xBB, 0x0F, 0x3D, 0x60, 0xCD, 0x59, 0xC7, 0xF3, 0x57, 0x7E, + 0x0A, 0xBE, 0xE6, 0x83, 0x12, 0xF0, 0xFE, 0x7C, 0x0C, 0xA7, 0x38, 0xAD, 0x99, 0xBD, 0x80, 0x86, + 0xD8, 0xC0, 0xDB, 0xA2, 0xF8, 0xC2, 0x8A, 0xAC, 0x03, 0x4D, 0x4B, 0x9B, 0x38, 0xC3, 0xAF, 0xAC, + 0x4B, 0xA7, 0xBF, 0xB0, 0x26, 0x9F, 0xCE, 0x07, 0xE0, 0xCB, 0xB1, 0x55, 0x10, 0xC2, 0xF1, 0xB1, + 0xC0, 0x03, 0xF9, 0xBA, 0xD9, 0x22, 0xCB, 0x4A, 0x1B, 0xE6, 0x37, 0xFA, 0xB0, 0x99, 0xDC, 0x58, + 0xE5, 0xD2, 0x59, 0xDB, 0x1B, 0x8E, 0x6B, 0x68, 0x0D, 0xEC, 0x6C, 0x6F, 0x38, 0xB8, 0xD0, 0x5D, + 0xFB, 0x8D, 0x0D, 0x47, 0x63, 0x3A, 0xF1, 0x59, 0x6C, 0x1B, 0x6D, 0xE8, 0x28, 0x66, 0x6D, 0xF3, + 0xDE, 0xC4, 0xEE, 0xC3, 0x20, 0x1D, 0xEB, 0x32, 0xDB, 0x7A, 0x09, 0x87, 0x5B, 0x61, 0x98, 0x81, + 0xBB, 0x2A, 0x6D, 0x3C, 0xB4, 0x67, 0x5F, 0x8F, 0x26, 0x5F, 0xE8, 0x81, 0x86, 0x7E, 0x8A, 0xEA, + 0xC5, 0xC7, 0x59, 0xDB, 0x64, 0xE6, 0x0C, 0x6C, 0x38, 0xB5, 0x9A, 0x6D, 0x94, 0x06, 0x6B, 0x1F, + 0x4A, 0x70, 0xCB, 0x9B, 0x8D, 0xE4, 0xC4, 0x85, 0x51, 0xE5, 0x8C, 0xCD, 0x87, 0xD6, 0x27, 0x97, + 0x36, 0x46, 0x5F, 0x63, 0x6B, 0x32, 0xB5, 0x17, 0x13, 0x7B, 0x3A, 0x06, 0x76, 0x10, 0x2F, 0xB7, + 0xA4, 0xDE, 0x9D, 0x34, 0xEA, 0xA0, 0x1F, 0xF7, 0x3B, 0x32, 0x98, 0x38, 0xCE, 0x3A, 0xDE, 0x3C, + 0x3E, 0x54, 0xB7, 0xAC, 0x66, 0x15, 0xC5, 0x3A, 0xF7, 0xB7, 0xD2, 0x1B, 0xDC, 0x30, 0x3C, 0x58, + 0x71, 0xCC, 0xAD, 0xEE, 0xFD, 0xD4, 0xC7, 0x6C, 0x5F, 0x54, 0x22, 0x13, 0xA2, 0xFB, 0x89, 0x73, + 0x79, 0x89, 0xAB, 0xB7, 0xE1, 0x68, 0xB6, 0xB0, 0x91, 0x85, 0xA8, 0x52, 0xDA, 0xFF, 0xC8, 0x3C, + 0xEB, 0x15, 0xE4, 0xFA, 0xD0, 0xE0, 0x42, 0xB8, 0xDC, 0xE1, 0xC6, 0xD2, 0x3B, 0x3E, 0x7B, 0xC1, + 0x28, 0xA5, 0x3F, 0xBE, 0xF0, 0x5D, 0x0C, 0x10, 0xC4, 0x29, 0x3D, 0x18, 0xB9, 0x68, 0x28, 0x0A, + 0xAE, 0x45, 0xD3, 0xAE, 0x68, 0xFB, 0xF8, 0x41, 0x25, 0x5D, 0xBD, 0x4B, 0xCB, 0x19, 0x4C, 0x61, + 0x3A, 0x47, 0x8B, 0x4B, 0x50, 0x42, 0xBB, 0x8C, 0x28, 0x60, 0x4B, 0xB0, 0x4E, 0x60, 0x5A, 0xC1, + 0xBC, 0x83, 0x52, 0xFA, 0xA5, 0x14, 0xF5, 0xE5, 0xBA, 0x9F, 0x71, 0x70, 0x06, 0x46, 0x3E, 0x58, + 0x6F, 0xD7, 0x10, 0xD2, 0xED, 0x56, 0x91, 0xEB, 0xB1, 0x24, 0xF8, 0x95, 0x1F, 0x2F, 0xF7, 0xBD, + 0x76, 0x94, 0x8D, 0x86, 0x17, 0xCE, 0xA7, 0xF3, 0x89, 0x85, 0xEA, 0xB6, 0xB0, 0xBF, 0x71, 0xA6, + 0xB3, 0x69, 0x19, 0x75, 0xEA, 0x7C, 0x0E, 0xCE, 0x4E, 0xC7, 0xFF, 0x05, 0x4E, 0x73, 0x27, 0xA5, + 0x14, 0x5A, 0x2C, 0x0B, 0x8A, 0xA5, 0x2F, 0xE0, 0xF0, 0xBC, 0x1D, 0xE3, 0x4D, 0xE4, 0x21, 0x77, + 0x9D, 0x3D, 0x64, 0x01, 0xA9, 0xE5, 0x75, 0xE0, 0xC7, 0x7B, 0x93, 0x8B, 0xD3, 0x7C, 0x31, 0x9A, + 0x0F, 0xFB, 0xCD, 0x14, 0xE3, 0x54, 0xD3, 0xCA, 0xA8, 0x94, 0x68, 0x08, 0xC1, 0x62, 0x4A, 0xFF, + 0x84, 0x51, 0x9E, 0x7C, 0x23, 0x91, 0xF5, 0x04, 0xDA, 0x9D, 0x3E, 0x08, 0xC0, 0x17, 0x36, 0x72, + 0x79, 0xEC, 0x4C, 0xCA, 0x25, 0x33, 0xF0, 0x40, 0x00, 0xEE, 0x7C, 0xE4, 0xF0, 0x06, 0x24, 0xAE, + 0x8A, 0x5A, 0x4D, 0x82, 0xF4, 0x81, 0xB4, 0x69, 0x44, 0x4D, 0x71, 0x18, 0xD4, 0xBA, 0xD5, 0xFC, + 0x9B, 0xAE, 0xC1, 0x24, 0x4A, 0xBA, 0x08, 0x6E, 0x0B, 0x4B, 0x49, 0x72, 0xB8, 0x95, 0x65, 0x12, + 0x94, 0xD3, 0xD7, 0x4E, 0x04, 0x25, 0x09, 0x7C, 0x6E, 0x4D, 0x02, 0xB4, 0x0D, 0xE7, 0x53, 0xD3, + 0xCC, 0x93, 0xEC, 0x14, 0x12, 0x3F, 0x38, 0x82, 0x36, 0xC4, 0xD8, 0x03, 0xCB, 0xB9, 0x5C, 0x58, + 0x97, 0x13, 0xDB, 0xEA, 0x7F, 0x5B, 0xA3, 0x0F, 0xFE, 0x1A, 0xC2, 0xC0, 0x8E, 0x10, 0x6E, 0xA1, + 0x0F, 0x95, 0x84, 0x11, 0x30, 0xD6, 0x92, 0xC5, 0xF0, 0x18, 0xE9, 0x11, 0xED, 0x80, 0x2E, 0x4C, + 0x38, 0xD2, 0x9D, 0x0B, 0x21, 0x1D, 0x70, 0x60, 0xEE, 0x72, 0x09, 0x52, 0x9A, 0xB6, 0xA0, 0xF4, + 0x62, 0x34, 0xF9, 0xC4, 0xE9, 0xF7, 0x41, 0x9E, 0xC8, 0xBA, 0x94, 0x11, 0x09, 0xDD, 0xE1, 0x32, + 0xD2, 0xEB, 0x90, 0xB1, 0x28, 0x27, 0x4F, 0x5F, 0x89, 0x00, 0x8C, 0xF3, 0xF2, 0xE6, 0x05, 0x49, + 0x95, 0x38, 0xD0, 0xEA, 0x63, 0x2D, 0x1B, 0xA6, 0x18, 0xAE, 0x54, 0x9B, 0xBD, 0x26, 0x58, 0x2A, + 0x40, 0xDD, 0x14, 0x4B, 0x05, 0x68, 0x9E, 0xE4, 0xAC, 0xBC, 0x23, 0x51, 0x2E, 0x23, 0x0C, 0xA6, + 0x42, 0xB4, 0xA1, 0x50, 0xAA, 0xE6, 0xC4, 0xFE, 0x0A, 0x7E, 0xD6, 0xAB, 0x66, 0xEC, 0xDF, 0xC3, + 0xCF, 0x6A, 0xD5, 0x34, 0x35, 0x12, 0x0E, 0xA1, 0x00, 0xCF, 0xE0, 0x17, 0x6A, 0xDA, 0x92, 0x67, + 0xD9, 0xC8, 0xCB, 0xA4, 0xA7, 0x18, 0x89, 0x95, 0xDB, 0xE2, 0xB0, 0x50, 0x08, 0x47, 0x94, 0x44, + 0xCB, 0xE5, 0x36, 0xDE, 0xCF, 0x3A, 0x70, 0xFF, 0x55, 0x37, 0x6F, 0xDC, 0x1D, 0x35, 0xCF, 0x1A, + 0xDF, 0x43, 0x12, 0xE2, 0xE5, 0xA6, 0xE2, 0x4A, 0x10, 0xD0, 0x88, 0xD8, 0xDF, 0x43, 0x4B, 0x33, + 0x26, 0x63, 0xE6, 0x0C, 0xE7, 0xF6, 0x62, 0x3E, 0x71, 0x1A, 0x0C, 0x07, 0x5C, 0x59, 0xB2, 0xF5, + 0x3B, 0xDB, 0x38, 0xA8, 0xA4, 0x51, 0x02, 0xB1, 0xF9, 0xE4, 0x92, 0xAD, 0x81, 0x4E, 0x98, 0x33, + 0x29, 0x55, 0xF4, 0x8C, 0x2F, 0xDC, 0xF7, 0x21, 0x6F, 0x62, 0x93, 0xA3, 0xA2, 0x10, 0xB1, 0x96, + 0xBE, 0xD8, 0x27, 0x5B, 0x45, 0x81, 0x63, 0x25, 0x81, 0x12, 0x8A, 0x21, 0x94, 0x49, 0xE1, 0xAC, + 0xC7, 0x3C, 0x58, 0x05, 0x1C, 0x44, 0xA6, 0x0A, 0x98, 0x4D, 0x1A, 0xCD, 0x00, 0xBA, 0xD6, 0x03, + 0x68, 0x30, 0x7E, 0x36, 0xF7, 0x20, 0x57, 0xD0, 0x77, 0xA6, 0x14, 0xBC, 0x2D, 0x2E, 0x1C, 0xFB, + 0xB2, 0x5F, 0x47, 0x95, 0x58, 0xF3, 0x7B, 0x1D, 0xB0, 0x45, 0xAB, 0x6A, 0x9D, 0x94, 0x60, 0x8C, + 0xC0, 0x32, 0xBC, 0xE3, 0xE7, 0xCF, 0x5A, 0xD9, 0x08, 0x4D, 0xDB, 0xF8, 0xD2, 0xFA, 0x96, 0x96, + 0x36, 0x0D, 0x94, 0x6D, 0x56, 0xB8, 0x5C, 0x77, 0x6B, 0xA6, 0x54, 0x00, 0x0D, 0x01, 0xC6, 0x20, + 0x8D, 0xD0, 0xEC, 0x3F, 0x9B, 0xFD, 0x6F, 0x81, 0x32, 0x48, 0xE2, 0x42, 0x20, 0xFC, 0xC5, 0xA2, + 0x3F, 0x02, 0x7F, 0x36, 0xAC, 0x25, 0x73, 0x07, 0x04, 0x06, 0xCB, 0x0E, 0xA6, 0x39, 0x3A, 0x5E, + 0x04, 0x9E, 0xAA, 0x85, 0xED, 0x15, 0x8D, 0x78, 0x6E, 0x84, 0x1A, 0x49, 0x33, 0xAC, 0x7C, 0x2F, + 0x40, 0xE1, 0xC5, 0x41, 0x40, 0x28, 0x94, 0xA5, 0xFE, 0x0A, 0x7F, 0x41, 0x41, 0x43, 0x2E, 0xD3, + 0x78, 0x2C, 0x6F, 0xE4, 0x41, 0x6B, 0x04, 0x23, 0x11, 0xE9, 0xBA, 0x36, 0xAE, 0x4F, 0x0E, 0x95, + 0x3B, 0x6B, 0x48, 0x53, 0x3B, 0x20, 0x27, 0xB5, 0x62, 0xC2, 0xDD, 0x35, 0x64, 0x54, 0xC9, 0x67, + 0xD5, 0x3B, 0xEA, 0xAF, 0x08, 0xEA, 0x59, 0x64, 0x85, 0x08, 0x6C, 0xA4, 0xAB, 0x7D, 0xDC, 0x00, + 0x47, 0x38, 0xE9, 0xF4, 0x3F, 0x9C, 0xBC, 0xE6, 0x37, 0x76, 0xA4, 0x7B, 0xA9, 0x95, 0x3D, 0x9C, + 0x8C, 0x2E, 0x49, 0xAD, 0xAC, 0xDE, 0x6C, 0x34, 0x99, 0xD6, 0x52, 0x16, 0xC6, 0xD1, 0x8A, 0x14, + 0xCB, 0xC5, 0x14, 0x64, 0xB5, 0x69, 0x97, 0x80, 0x4C, 0x00, 0x1A, 0x12, 0x4C, 0x19, 0x2C, 0x3C, + 0x5F, 0x3A, 0x80, 0xA5, 0x62, 0x70, 0x01, 0x50, 0xBC, 0x84, 0x43, 0xD8, 0x87, 0x64, 0xEF, 0x01, + 0x60, 0x9C, 0xDA, 0x68, 0x52, 0x39, 0x59, 0x18, 0x8B, 0xD6, 0x1B, 0xD5, 0xC4, 0x07, 0x89, 0x95, + 0xC4, 0x33, 0xDD, 0xEA, 0xB9, 0x8D, 0xEC, 0x67, 0xD6, 0xF4, 0x33, 0x88, 0x2B, 0x3F, 0x1D, 0x4D, + 0xE0, 0x92, 0xAB, 0x41, 0x1D, 0xE5, 0xE0, 0xA3, 0x6F, 0x21, 0xB2, 0xBC, 0xC1, 0x72, 0xEE, 0xDB, + 0xEA, 0xA8, 0x0D, 0xC1, 0x98, 0x02, 0x23, 0x4A, 0xF9, 0x99, 0x59, 0xB8, 0x5E, 0xCB, 0xE7, 0xC7, + 0x79, 0x25, 0x99, 0x18, 0x00, 0xD3, 0x9F, 0x2B, 0x08, 0x53, 0xE1, 0x95, 0xA9, 0x8B, 0x90, 0x8B, + 0xC5, 0xCC, 0x80, 0xEF, 0x69, 0x8C, 0xFB, 0xCC, 0x0B, 0x0D, 0xEE, 0x93, 0xCB, 0x51, 0xEF, 0x8B, + 0xC5, 0xD4, 0xF9, 0xCE, 0x6E, 0x1C, 0xDD, 0xD5, 0x2A, 0x5A, 0xDE, 0x75, 0x70, 0xAD, 0x5A, 0x3F, + 0x3C, 0x82, 0xC3, 0x35, 0xAD, 0x39, 0x13, 0x70, 0x95, 0xC4, 0x55, 0xBB, 0x65, 0x57, 0x96, 0xC6, + 0x3E, 0xD8, 0x8A, 0xAF, 0x40, 0x01, 0xBE, 0xB0, 0xBF, 0x5D, 0x5C, 0xDA, 0xC3, 0x4F, 0x67, 0x9F, + 0x35, 0xD2, 0xEA, 0x81, 0x39, 0xC0, 0x18, 0xFA, 0xCE, 0xDF, 0x89, 0x4C, 0x6A, 0x3D, 0xCD, 0x02, + 0x9E, 0x01, 0x3C, 0xE3, 0xF0, 0xCF, 0x44, 0x3B, 0xD0, 0xDC, 0x48, 0x2C, 0x74, 0x5A, 0x4F, 0x1D, + 0x00, 0x10, 0x39, 0x8A, 0x96, 0xAB, 0x1D, 0x48, 0xF3, 0xD5, 0xF6, 0xFA, 0x7A, 0x7F, 0x82, 0x06, + 0xF6, 0x60, 0x34, 0xF9, 0x16, 0x82, 0xB0, 0xE9, 0xAC, 0x91, 0xB0, 0xB5, 0x0F, 0xE9, 0xF3, 0x1D, + 0x04, 0x62, 0x49, 0x5A, 0x4F, 0x20, 0x07, 0x64, 0x08, 0xF8, 0x4C, 0x7C, 0x83, 0x0C, 0x9A, 0x05, + 0x56, 0xEF, 0xD2, 0xF9, 0x8E, 0x82, 0xB1, 0x46, 0x52, 0x71, 0x9B, 0x06, 0x0C, 0xDA, 0x2A, 0xF8, + 0x95, 0xA2, 0xAD, 0x7A, 0x72, 0x0B, 0xC0, 0xCF, 0x44, 0xF2, 0x04, 0x93, 0x1A, 0xD3, 0x46, 0x4A, + 0x63, 0x4C, 0x68, 0x24, 0xF5, 0x04, 0x72, 0x98, 0x67, 0xA2, 0x6B, 0x6A, 0x5D, 0xE2, 0xCE, 0x30, + 0x72, 0x14, 0xFC, 0x47, 0x23, 0x7D, 0x89, 0x0B, 0xFB, 0x19, 0x89, 0x3C, 0xCB, 0x53, 0x4B, 0x27, + 0x58, 0xA9, 0x8C, 0x31, 0xC3, 0x86, 0x4C, 0x35, 0xCC, 0x3B, 0xE2, 0x27, 0x4A, 0xEE, 0xA5, 0x35, + 0x85, 0x21, 0x38, 0x9F, 0x0E, 0x17, 0x4E, 0x73, 0x5C, 0x0E, 0x99, 0x4A, 0x18, 0x40, 0x70, 0x13, + 0x76, 0x82, 0x86, 0xD8, 0x1C, 0x21, 0x19, 0x87, 0x7C, 0xF6, 0xF8, 0xBC, 0x21, 0xD2, 0xAC, 0x8D, + 0x30, 0x71, 0xFD, 0x1E, 0x6D, 0x63, 0x28, 0x2A, 0x06, 0x28, 0x1D, 0xC1, 0xED, 0x97, 0x14, 0x91, + 0x84, 0x8C, 0xF0, 0xA8, 0x94, 0xAC, 0x07, 0x70, 0x6A, 0x03, 0xAE, 0x08, 0x23, 0xBF, 0x0E, 0x4F, + 0x1E, 0x77, 0x82, 0x16, 0x79, 0xAC, 0x51, 0x36, 0xDB, 0xEC, 0xF4, 0x0F, 0x23, 0x70, 0x6C, 0x7D, + 0x6A, 0x37, 0xE7, 0x18, 0x36, 0xD0, 0x7D, 0x53, 0x96, 0x01, 0x7E, 0xE5, 0x8B, 0x77, 0x53, 0x73, + 0x30, 0xFF, 0xB9, 0xDE, 0xA4, 0xBB, 0xFD, 0x27, 0x72, 0x6C, 0x4D, 0xA7, 0xB0, 0x65, 0xD0, 0xAF, + 0x27, 0x2E, 0x49, 0x60, 0x0F, 0xA1, 0x9A, 0x63, 0x12, 0x40, 0x13, 0x26, 0x08, 0x11, 0x77, 0xFD, + 0xA4, 0xE0, 0x75, 0x50, 0x18, 0xDF, 0x86, 0x0B, 0x41, 0x40, 0x7F, 0x96, 0xB0, 0xFE, 0xDF, 0xC7, + 0x95, 0x0B, 0x1A, 0xB9, 0xC2, 0xB7, 0x21, 0x94, 0x54, 0xBD, 0x99, 0x5A, 0x84, 0x7A, 0x26, 0x15, + 0x96, 0x24, 0x92, 0x39, 0x6A, 0x45, 0x22, 0xDA, 0x93, 0x66, 0x12, 0x11, 0xEA, 0xB9, 0x48, 0xFC, + 0x6C, 0x34, 0xB4, 0x17, 0xC3, 0xF9, 0xE0, 0x13, 0x7B, 0x52, 0x4B, 0xE1, 0x2D, 0x04, 0x6B, 0x1D, + 0x6E, 0x8C, 0x2B, 0x09, 0x24, 0x20, 0x61, 0xB1, 0x35, 0x7D, 0x19, 0x41, 0xB4, 0xBB, 0xAF, 0xBF, + 0xFD, 0x26, 0xC3, 0x62, 0x6C, 0xCF, 0x8D, 0x3D, 0x75, 0xA7, 0x6C, 0x9A, 0xC9, 0x4F, 0x9B, 0x21, + 0xDF, 0xFE, 0xD2, 0xFB, 0xD9, 0x08, 0xF6, 0xA3, 0x20, 0x11, 0xD2, 0x30, 0xA0, 0x34, 0x82, 0x34, + 0x4B, 0xF5, 0xA2, 0x86, 0x20, 0x00, 0x4B, 0x85, 0x55, 0x87, 0x37, 0xFB, 0xD0, 0x34, 0x19, 0x7D, + 0x6E, 0xF7, 0x9A, 0x8C, 0x91, 0xAC, 0x2B, 0x08, 0xBC, 0xDA, 0xD4, 0xC5, 0xC6, 0xCD, 0xAD, 0x43, + 0x99, 0x4D, 0x17, 0xCC, 0x16, 0x1E, 0xC3, 0x72, 0xD7, 0x4F, 0xC2, 0x1F, 0x8E, 0x53, 0xBE, 0xA3, + 0x81, 0x8B, 0x5C, 0x2F, 0xF0, 0xF0, 0x81, 0xD8, 0x0F, 0x62, 0x6B, 0x5C, 0xE6, 0x74, 0x52, 0xF8, + 0x2B, 0x5C, 0xEE, 0xF6, 0x1B, 0xCB, 0x57, 0x0E, 0x04, 0xA8, 0x8B, 0xBE, 0x35, 0xB3, 0xEA, 0x86, + 0x23, 0x6C, 0x66, 0xDC, 0xC1, 0xE3, 0x5B, 0x4D, 0x96, 0x35, 0xC6, 0xB3, 0x53, 0xD5, 0x6B, 0xB2, + 0x79, 0xE2, 0x1F, 0xBA, 0x18, 0x93, 0xF4, 0x36, 0x33, 0x9F, 0xE8, 0x68, 0xE1, 0x05, 0x62, 0xC7, + 0x94, 0x07, 0xB5, 0x32, 0x51, 0x40, 0x19, 0xA9, 0x3E, 0xC0, 0x04, 0x4B, 0xA2, 0xE7, 0x2D, 0xA9, + 0xDE, 0xB6, 0x20, 0x7B, 0x1E, 0x18, 0x74, 0x6B, 0x6A, 0xB7, 0x87, 0x24, 0x71, 0xA6, 0x50, 0x88, + 0x8A, 0x89, 0xC3, 0xDE, 0x68, 0xF4, 0x85, 0x63, 0x2F, 0xFA, 0xF3, 0x49, 0x63, 0xEC, 0x9A, 0xF8, + 0x74, 0x73, 0x31, 0x84, 0xD8, 0xD1, 0x5D, 0xE0, 0x77, 0xBC, 0x6D, 0x5C, 0x1F, 0xBE, 0x0A, 0x78, + 0xC6, 0xE1, 0x19, 0xC0, 0xD7, 0x45, 0xB0, 0xB8, 0x82, 0x5C, 0xE3, 0xEE, 0x27, 0x5F, 0x2F, 0x27, + 0xA6, 0x3D, 0xB9, 0x82, 0xBD, 0x6F, 0xCC, 0x71, 0xBF, 0x05, 0x70, 0xE1, 0x36, 0x15, 0xFB, 0xC4, + 0x6F, 0x30, 0x78, 0x78, 0xB7, 0x8F, 0x58, 0xCD, 0x60, 0xE3, 0xB6, 0x31, 0xBC, 0x40, 0xED, 0xAA, + 0x0F, 0x2C, 0x10, 0x82, 0x22, 0x89, 0xE7, 0x74, 0xE0, 0x82, 0xB6, 0xD9, 0xB7, 0x63, 0xBB, 0x05, + 0x75, 0x58, 0x2F, 0x53, 0x4E, 0x1F, 0xA7, 0x0D, 0xDF, 0x4B, 0xEA, 0xE4, 0x6D, 0xD6, 0x47, 0xD7, + 0x70, 0x6E, 0x7F, 0x81, 0x5B, 0x2E, 0x70, 0xC5, 0xF4, 0x11, 0x5A, 0x97, 0xA3, 0x15, 0x9C, 0xF0, + 0x06, 0xD6, 0xE2, 0xFF, 0x8F, 0xF6, 0xA2, 0x75, 0x3A, 0x83, 0xBD, 0xF0, 0xD6, 0xAE, 0x08, 0x66, + 0x0C, 0xAF, 0xF5, 0x6E, 0x76, 0x49, 0xD2, 0x5C, 0x8A, 0x06, 0x79, 0xF7, 0x44, 0xB7, 0xC9, 0xEA, + 0xF7, 0xD4, 0xC9, 0x21, 0x19, 0xE0, 0x7A, 0xF5, 0xAC, 0xD5, 0x4A, 0x78, 0x57, 0xE6, 0x25, 0x8B, + 0x51, 0xD2, 0x1A, 0x57, 0x98, 0xAF, 0xBF, 0xF1, 0xEE, 0x61, 0x61, 0xD2, 0x7C, 0x8A, 0x86, 0x6F, + 0x30, 0x1E, 0x4D, 0x66, 0xB5, 0x74, 0x26, 0x68, 0xF8, 0xD6, 0x68, 0xC1, 0xAA, 0xE9, 0x4D, 0xA8, + 0x22, 0x14, 0x76, 0x9A, 0xE9, 0x86, 0x75, 0x0E, 0x7D, 0x58, 0xFC, 0x4B, 0xA1, 0xEF, 0x74, 0xC1, + 0xFF, 0xB0, 0x2E, 0x60, 0x0B, 0xA9, 0x71, 0x89, 0x43, 0x41, 0x6E, 0xD2, 0xE1, 0x7F, 0xB8, 0xD7, + 0xC0, 0x86, 0xFA, 0x85, 0x0E, 0x87, 0xFF, 0x0A, 0xC1, 0x2D, 0x84, 0x9E, 0x55, 0xAD, 0x75, 0xB4, + 0xDD, 0xE0, 0x26, 0xA3, 0x0D, 0x77, 0x07, 0xCE, 0x74, 0x60, 0xCD, 0x7A, 0x9F, 0x81, 0xDC, 0xD6, + 0xDB, 0x01, 0xB8, 0xA6, 0x9D, 0x72, 0x5D, 0x30, 0xA1, 0x0D, 0xB6, 0x00, 0x1D, 0x9C, 0x36, 0x06, + 0xE8, 0xBD, 0x79, 0x9E, 0x9A, 0x9A, 0x93, 0x30, 0xE4, 0x92, 0xD0, 0x5C, 0x35, 0x2D, 0xBC, 0xD6, + 0x1E, 0x09, 0xD4, 0x2D, 0xDB, 0x51, 0x3F, 0x45, 0xCA, 0xAD, 0x61, 0x7F, 0x32, 0xA2, 0x38, 0xB5, + 0xF7, 0x05, 0x2C, 0x48, 0x2A, 0xD7, 0x6F, 0x78, 0xD7, 0x3C, 0x0E, 0x00, 0xEC, 0x64, 0x1C, 0xA1, + 0xCF, 0xB9, 0xBB, 0xA1, 0xB5, 0x5C, 0xD5, 0x5E, 0x9E, 0xC5, 0xE1, 0xD8, 0x18, 0xCE, 0xD1, 0xE0, + 0xFA, 0x64, 0xE8, 0x2A, 0xD6, 0x6B, 0x1D, 0x13, 0x77, 0xE8, 0x49, 0x60, 0x2A, 0x7E, 0x0B, 0x4A, + 0xCC, 0xB5, 0xBC, 0xF0, 0x9F, 0x6A, 0x59, 0xC4, 0xD9, 0xD3, 0x55, 0xBB, 0x6A, 0x16, 0x31, 0x4E, + 0xB1, 0x61, 0x5F, 0x33, 0xB2, 0xC3, 0x37, 0xEC, 0x05, 0x02, 0xF5, 0x59, 0x02, 0xBD, 0x55, 0xD8, + 0x52, 0x8C, 0x90, 0xC0, 0xC6, 0xED, 0x41, 0xD1, 0x4B, 0xF3, 0xF6, 0xA0, 0xC5, 0xE5, 0xBA, 0x6C, + 0x8B, 0x50, 0x8F, 0x42, 0x24, 0x59, 0x89, 0x66, 0x3F, 0x69, 0xB3, 0x8F, 0x21, 0xE8, 0x6C, 0xDC, + 0x52, 0x12, 0x74, 0xB6, 0xDB, 0x52, 0x92, 0x0B, 0x7E, 0x20, 0x0D, 0xDA, 0xF0, 0x4D, 0x43, 0xBE, + 0x19, 0x03, 0xD7, 0x41, 0xE2, 0x6F, 0x9A, 0xBD, 0x4A, 0x5F, 0x05, 0x62, 0xCA, 0x11, 0xEC, 0x41, + 0x77, 0xE5, 0xF6, 0x86, 0xC0, 0xDF, 0x6A, 0x7B, 0x23, 0xD0, 0x1F, 0x9F, 0x28, 0x7E, 0xA4, 0x01, + 0xE7, 0x9D, 0xCA, 0xC1, 0xBA, 0xEC, 0x02, 0xE9, 0xFF, 0xC5, 0xC5, 0x2B, 0x2C, 0xCF, 0x98, 0xCB, + 0x63, 0x6C, 0xB1, 0x35, 0x41, 0x06, 0xB4, 0x52, 0xC0, 0x13, 0x80, 0x96, 0xFB, 0x3E, 0xBC, 0xC7, + 0x3D, 0x06, 0xE8, 0x8C, 0xA6, 0x8B, 0x4F, 0x20, 0x15, 0x77, 0x69, 0x83, 0x1D, 0xAA, 0x1B, 0x68, + 0x10, 0x25, 0x9D, 0x2B, 0x48, 0xB4, 0xAD, 0xFC, 0xCA, 0x98, 0x44, 0x4B, 0x46, 0x6E, 0x06, 0x40, + 0xDC, 0x47, 0x53, 0xF6, 0x09, 0xB5, 0xDD, 0xCF, 0xCC, 0xC0, 0x8F, 0xB9, 0x3D, 0xA9, 0xA3, 0x0A, + 0x7E, 0x6C, 0xAB, 0xD7, 0x95, 0x3C, 0xE5, 0x72, 0x0E, 0x96, 0xAA, 0x57, 0x50, 0x40, 0xDE, 0x8E, + 0x0B, 0xB8, 0xA8, 0xF7, 0x40, 0x17, 0xDA, 0x66, 0x31, 0x23, 0x88, 0x6B, 0xB1, 0xDD, 0x21, 0x88, + 0x6C, 0xB3, 0xDD, 0xE1, 0x90, 0x4B, 0x04, 0x60, 0x9A, 0x6A, 0x5E, 0x44, 0x96, 0xCF, 0x2C, 0xF8, + 0x52, 0x88, 0xE8, 0x58, 0x22, 0x78, 0xF7, 0x54, 0xE7, 0x15, 0x4D, 0xD1, 0x50, 0xBD, 0x51, 0x88, + 0x1A, 0x40, 0x59, 0x1A, 0x95, 0xE6, 0xFB, 0x29, 0x22, 0xBF, 0xDA, 0x2B, 0x5E, 0x11, 0xE3, 0x6D, + 0x93, 0x1A, 0x13, 0x03, 0x6E, 0x9D, 0x1A, 0xAB, 0x9A, 0x1E, 0x9D, 0x24, 0x7B, 0xD2, 0x0C, 0xC9, + 0x95, 0x50, 0x3D, 0xB5, 0x8D, 0xCB, 0x37, 0xAB, 0xB0, 0xDE, 0x01, 0xB2, 0x9E, 0xD1, 0x32, 0x4E, + 0xAD, 0xC1, 0x25, 0x14, 0xE5, 0x5C, 0x7E, 0x4B, 0x14, 0x5B, 0x93, 0xD9, 0xB7, 0x2D, 0xBC, 0x4E, + 0xE2, 0xAE, 0x57, 0x50, 0xA5, 0xB3, 0xDA, 0xE1, 0x1F, 0x30, 0xB3, 0xE9, 0xAE, 0xC9, 0x11, 0x61, + 0x37, 0x79, 0x26, 0x0B, 0xDA, 0x8B, 0xE6, 0x52, 0x60, 0x65, 0x84, 0x35, 0xD7, 0xA2, 0xCD, 0xB6, + 0xF0, 0xC0, 0xFA, 0xC6, 0x19, 0xCC, 0x07, 0x14, 0x9A, 0xE7, 0xE2, 0x72, 0x28, 0x34, 0xEB, 0xD9, + 0x76, 0xBF, 0x7C, 0x0F, 0x1B, 0xE3, 0xE8, 0x5C, 0x54, 0xDE, 0xA1, 0x8F, 0xD2, 0x74, 0x64, 0x95, + 0x67, 0xD5, 0xA8, 0x54, 0x6D, 0xA8, 0x8B, 0x47, 0x19, 0x7C, 0xB9, 0x92, 0xC3, 0x55, 0x3F, 0xA2, + 0xCC, 0xC7, 0xED, 0xE7, 0x22, 0x52, 0x77, 0x83, 0x38, 0x51, 0xF5, 0x4A, 0xFB, 0x14, 0x92, 0x8A, + 0xB1, 0xF1, 0xC0, 0xB8, 0x07, 0xFB, 0x17, 0xB3, 0xDA, 0x41, 0x09, 0xDA, 0x78, 0x80, 0x8C, 0x25, + 0x6F, 0x4F, 0x1A, 0x0F, 0x99, 0x05, 0x1D, 0x3C, 0x1F, 0x36, 0x00, 0x21, 0x72, 0xF3, 0x7A, 0x7D, + 0xD8, 0x56, 0xEA, 0x01, 0xBC, 0xC9, 0xA6, 0x26, 0x4C, 0xBF, 0xA6, 0xA3, 0x4C, 0xD8, 0xC3, 0x6F, + 0x2D, 0x34, 0xA3, 0xB1, 0x9D, 0x29, 0x77, 0x85, 0x9D, 0xAC, 0xD1, 0xD7, 0xE5, 0x2C, 0x45, 0xA4, + 0xBA, 0xD8, 0x95, 0x98, 0x54, 0xC3, 0xCC, 0x1B, 0xD8, 0xA4, 0x0C, 0xD5, 0x8E, 0x85, 0xCE, 0xAD, + 0x24, 0xA2, 0x56, 0x46, 0x51, 0x0D, 0x4F, 0x8A, 0x27, 0xAA, 0xBA, 0xA6, 0x49, 0xB5, 0x79, 0xEE, + 0x2B, 0x48, 0x85, 0xAE, 0xEB, 0x36, 0x78, 0x8E, 0x29, 0x02, 0xAF, 0xAD, 0x3F, 0x9F, 0xA4, 0x7A, + 0x05, 0x8B, 0x7B, 0x1B, 0x41, 0x04, 0xEA, 0x5E, 0x89, 0xFD, 0x6A, 0x13, 0x2F, 0x72, 0x04, 0x17, + 0x10, 0x2D, 0x99, 0x95, 0x55, 0xAA, 0x16, 0x55, 0x9C, 0x59, 0xAD, 0x6A, 0x5B, 0xCC, 0x89, 0xB2, + 0x66, 0x96, 0x31, 0xE7, 0xB4, 0x29, 0x57, 0xF4, 0xDC, 0x2A, 0xA7, 0x26, 0xF2, 0x98, 0xF5, 0x15, + 0xCD, 0x82, 0xFB, 0x0D, 0xB5, 0xCC, 0xC3, 0xC8, 0x3C, 0x01, 0xF7, 0x00, 0xFA, 0x80, 0x2D, 0xE4, + 0x9C, 0x6A, 0xBA, 0x75, 0xBD, 0x56, 0x9B, 0xB8, 0xC8, 0x19, 0x4E, 0xE7, 0x17, 0x17, 0x4E, 0x8F, + 0xBC, 0x1C, 0xC8, 0x25, 0xEA, 0x4C, 0x65, 0x5A, 0x2A, 0x81, 0xA4, 0x79, 0xB0, 0x24, 0x2F, 0xA7, + 0x3F, 0xAC, 0x55, 0x4A, 0x72, 0x4F, 0xD1, 0x50, 0xB8, 0xA4, 0x5C, 0x90, 0x29, 0x3F, 0x3D, 0x16, + 0x20, 0x48, 0xF0, 0x2B, 0xDE, 0xCB, 0x0B, 0x87, 0x01, 0xEE, 0x03, 0x97, 0x86, 0x72, 0xA4, 0x87, + 0x70, 0x04, 0x0D, 0xF8, 0xD7, 0x31, 0x4C, 0x49, 0x42, 0x9B, 0x90, 0x25, 0x2A, 0xF3, 0xB5, 0x2F, + 0xC0, 0x8E, 0x85, 0xB7, 0x40, 0x4F, 0xD6, 0x4D, 0x41, 0xAF, 0x32, 0x96, 0xA6, 0x73, 0x61, 0x26, + 0x4A, 0x79, 0xF0, 0x4B, 0x7E, 0x86, 0xAE, 0x7B, 0x43, 0x9F, 0x91, 0xA3, 0x13, 0x60, 0x5E, 0xB4, + 0x4C, 0xCE, 0xE9, 0xB3, 0x74, 0xE7, 0x09, 0x9C, 0xC8, 0xD8, 0x20, 0xE7, 0xE5, 0xE9, 0x31, 0xFC, + 0x00, 0xDA, 0x6D, 0xF4, 0x40, 0xDD, 0x02, 0x97, 0x81, 0x18, 0x3A, 0xBF, 0xC3, 0x95, 0x6D, 0xDA, + 0xFF, 0xC2, 0xEC, 0x89, 0x27, 0x2D, 0x36, 0x38, 0xBA, 0x38, 0x40, 0x50, 0x4D, 0x7C, 0x1B, 0xF1, + 0xFA, 0x72, 0x3E, 0x9A, 0x59, 0xB5, 0xF6, 0xF8, 0xE7, 0x6D, 0x94, 0xBA, 0xCD, 0x26, 0x58, 0x0A, + 0x14, 0x81, 0x9B, 0xE1, 0xBA, 0x36, 0x6C, 0x07, 0x99, 0xE0, 0xA9, 0x0D, 0xCE, 0x5D, 0x56, 0x27, + 0x41, 0x01, 0xDB, 0xC0, 0xA9, 0x77, 0x22, 0x3C, 0xB1, 0xC0, 0x97, 0x01, 0x7B, 0x7B, 0x45, 0xE5, + 0x3D, 0xA4, 0x3F, 0xC9, 0x97, 0x02, 0xD1, 0x24, 0xB9, 0xA4, 0xED, 0xCF, 0x30, 0x16, 0x70, 0x2A, + 0x2D, 0xCC, 0x51, 0x6E, 0x3C, 0xE8, 0x69, 0xDA, 0xDA, 0x24, 0x35, 0x01, 0x85, 0x72, 0xA6, 0x23, + 0xC0, 0x71, 0xB4, 0xBF, 0x35, 0xCA, 0x67, 0x9F, 0xEB, 0xCE, 0x2B, 0xE4, 0x93, 0xCE, 0x8D, 0xA7, + 0x16, 0x84, 0x61, 0x2A, 0x26, 0x9F, 0xF7, 0x3B, 0xB2, 0x90, 0xA7, 0x8E, 0x97, 0x6C, 0xB7, 0xA2, + 0xAE, 0x75, 0xE1, 0x76, 0x9E, 0xBA, 0x43, 0xCA, 0xB7, 0x29, 0x79, 0xD5, 0x60, 0xCE, 0x79, 0x6A, + 0x69, 0x8F, 0x93, 0x29, 0xBC, 0xC1, 0x73, 0x1E, 0x49, 0x69, 0x27, 0x96, 0x7B, 0x08, 0x62, 0x85, + 0x73, 0x04, 0x0C, 0xFB, 0x4B, 0xE1, 0x7C, 0x88, 0x6B, 0x2A, 0x58, 0x40, 0x7E, 0x67, 0xF7, 0x6B, + 0x0A, 0x59, 0xB7, 0xA1, 0x2A, 0x32, 0x6D, 0x59, 0xE8, 0xCD, 0x0B, 0x56, 0x45, 0xC8, 0x91, 0xCB, + 0xE9, 0xC8, 0x22, 0xD6, 0x87, 0x5B, 0xC8, 0x94, 0x60, 0xB1, 0x1C, 0x4C, 0x36, 0xFB, 0x5A, 0xFE, + 0x01, 0xE0, 0xAA, 0x31, 0xFC, 0x5B, 0x1A, 0xAF, 0x14, 0xC2, 0x9E, 0x36, 0xD9, 0x94, 0x39, 0x38, + 0xD5, 0x31, 0x26, 0x92, 0xA9, 0xDE, 0x79, 0x32, 0x9D, 0x09, 0xA3, 0x51, 0x3E, 0x58, 0xB5, 0x1F, + 0xD6, 0x01, 0xAF, 0x93, 0xA4, 0xC2, 0x58, 0x54, 0x84, 0xA4, 0x66, 0x9A, 0x44, 0x67, 0x45, 0x32, + 0x3B, 0x6B, 0x84, 0x89, 0xDB, 0x8C, 0x56, 0x52, 0x93, 0x21, 0x98, 0x9B, 0xB9, 0x96, 0x14, 0xE7, + 0xEC, 0x5B, 0x63, 0x96, 0x24, 0x93, 0x04, 0x0A, 0x59, 0x06, 0x0D, 0xED, 0x9B, 0xE0, 0xEC, 0x71, + 0x74, 0x87, 0xD1, 0x2D, 0x14, 0x54, 0x05, 0xD7, 0x4D, 0xA4, 0x0B, 0x65, 0x55, 0xFE, 0xAD, 0x82, + 0x7A, 0x90, 0x1F, 0x05, 0x22, 0x85, 0x49, 0x13, 0x1E, 0x84, 0x2A, 0x75, 0xA5, 0x74, 0x19, 0xCE, + 0x67, 0xFC, 0xD2, 0x66, 0x45, 0x3C, 0x1F, 0xCA, 0x3A, 0x67, 0x9D, 0x76, 0x33, 0x09, 0x96, 0x99, + 0xAE, 0x9A, 0xCC, 0x9B, 0xA5, 0xD2, 0x61, 0xFF, 0xE0, 0x04, 0x1C, 0xAE, 0x22, 0xEB, 0xAD, 0x27, + 0xF6, 0xB9, 0x87, 0xED, 0xCC, 0x6C, 0xB2, 0x3C, 0xA7, 0x01, 0xAD, 0x25, 0xB1, 0x91, 0xBA, 0x92, + 0x48, 0x13, 0x43, 0x75, 0x75, 0x8D, 0x4B, 0x1B, 0x4F, 0x23, 0x39, 0x25, 0xCF, 0x4C, 0xD4, 0x33, + 0x4B, 0xAE, 0xED, 0x6A, 0x0D, 0xB8, 0xCA, 0xDF, 0x70, 0x68, 0x2E, 0xB8, 0xC0, 0x38, 0x78, 0x83, + 0x9B, 0x05, 0xDB, 0xD5, 0x1D, 0xA3, 0x03, 0xEA, 0xB4, 0xDC, 0x3B, 0x89, 0x62, 0xFC, 0xD0, 0x31, + 0xB5, 0xA1, 0x9C, 0x1C, 0x50, 0x0E, 0xE3, 0xF8, 0x10, 0x3F, 0xE1, 0x76, 0xAA, 0xE8, 0xCF, 0x1F, + 0x4D, 0x36, 0x87, 0x21, 0x0F, 0x28, 0xD7, 0x7F, 0x7B, 0xB4, 0xE4, 0xA9, 0x3C, 0xAC, 0xAC, 0xEF, + 0x1A, 0x3C, 0xF4, 0xC4, 0x72, 0xF9, 0x65, 0x34, 0x7B, 0x1E, 0x5B, 0x2E, 0x47, 0x52, 0x3C, 0xBB, + 0xAC, 0xC1, 0xCA, 0x37, 0xF2, 0xD4, 0x71, 0xCC, 0x9A, 0xBD, 0x45, 0x7D, 0x72, 0xFF, 0x49, 0x07, + 0x32, 0x1B, 0x29, 0x99, 0xD8, 0x3D, 0x67, 0xEC, 0x34, 0x90, 0x02, 0x8A, 0x15, 0x6C, 0x82, 0x06, + 0x5A, 0xE4, 0x13, 0xC6, 0xA1, 0x9F, 0x42, 0xD4, 0xD8, 0xFA, 0xF6, 0x72, 0x64, 0xD5, 0xEE, 0x10, + 0x8B, 0x03, 0xD1, 0xAD, 0x08, 0x12, 0xB0, 0x07, 0x93, 0x83, 0x05, 0x3B, 0x92, 0xA6, 0x86, 0x32, + 0x6D, 0xAA, 0xD9, 0x91, 0xC4, 0xD5, 0x96, 0x6B, 0x23, 0x60, 0x81, 0x42, 0xF5, 0x5D, 0x02, 0x94, + 0x68, 0xB5, 0xCF, 0x0E, 0x48, 0xF4, 0xBD, 0x25, 0x70, 0xA7, 0x06, 0x18, 0x3D, 0xBC, 0x44, 0x16, + 0x16, 0xA0, 0x5B, 0xB5, 0x90, 0xAE, 0x3E, 0x7D, 0x83, 0xE5, 0x41, 0xE2, 0x4E, 0xF8, 0x31, 0x75, + 0x22, 0xFC, 0x2B, 0xBC, 0x07, 0x64, 0xFC, 0x13, 0xEA, 0xBC, 0x9A, 0x3D, 0x69, 0xCB, 0x16, 0xC1, + 0x09, 0x3A, 0x0A, 0xD0, 0x62, 0x15, 0x27, 0xC6, 0x46, 0xC7, 0x01, 0xDA, 0x2E, 0xE2, 0xC4, 0x4C, + 0x99, 0x53, 0xC8, 0x5B, 0xF2, 0x75, 0xFC, 0x45, 0x6F, 0xC0, 0xCF, 0x0E, 0x10, 0xD2, 0x44, 0x31, + 0x89, 0x9B, 0x86, 0x36, 0x0C, 0xCA, 0x5C, 0xF9, 0xD2, 0x7A, 0xF4, 0x42, 0x28, 0xE4, 0x0D, 0x16, + 0x35, 0xB2, 0x20, 0x6F, 0xB3, 0x68, 0x25, 0xA3, 0x02, 0xF6, 0x60, 0x19, 0x9D, 0xD8, 0x9F, 0x42, + 0x7C, 0xCF, 0x83, 0x9D, 0xE6, 0x12, 0xD9, 0xD8, 0xBF, 0x81, 0x80, 0x97, 0xC7, 0x31, 0xBC, 0x44, + 0xA0, 0x96, 0xC8, 0x2C, 0x38, 0xAF, 0x10, 0xD0, 0x74, 0xB2, 0x81, 0x7B, 0xE7, 0x43, 0x10, 0x84, + 0xAE, 0x58, 0x6C, 0xBB, 0x8B, 0xBB, 0x23, 0xCD, 0x56, 0xE6, 0x2C, 0x00, 0x9C, 0x30, 0xE8, 0x98, + 0xFE, 0x40, 0xD3, 0xE1, 0x07, 0xF7, 0xD0, 0x1E, 0x6F, 0x54, 0x13, 0x08, 0x7C, 0x55, 0xD6, 0x81, + 0x33, 0xDE, 0x96, 0x2F, 0x26, 0x3F, 0xC8, 0x8B, 0xF2, 0xC7, 0x76, 0xC5, 0x72, 0xD7, 0x64, 0x0B, + 0x79, 0x55, 0x41, 0x47, 0xAB, 0xF3, 0xFA, 0xC6, 0xA0, 0x55, 0x9C, 0xA8, 0xB1, 0x74, 0x99, 0x05, + 0x0D, 0xFC, 0xFB, 0x20, 0xDA, 0x26, 0x70, 0xD4, 0xCB, 0xE4, 0xB1, 0xC9, 0x27, 0xC2, 0x84, 0xE7, + 0xB3, 0xD1, 0x6F, 0x6F, 0x43, 0x8D, 0x0B, 0x15, 0x99, 0xF6, 0x79, 0xE3, 0xC0, 0x4F, 0xA9, 0xE4, + 0x0F, 0x96, 0x61, 0x49, 0x14, 0x36, 0xA8, 0x83, 0x94, 0x7E, 0xB3, 0x27, 0xA9, 0x0E, 0x6C, 0x02, + 0x27, 0x35, 0xEE, 0x45, 0xD2, 0xCA, 0x1C, 0x15, 0xF9, 0x5C, 0x38, 0xEB, 0xBB, 0x61, 0x5B, 0xDA, + 0x3B, 0x09, 0xE8, 0x2A, 0xBA, 0xC4, 0xD7, 0x1F, 0x96, 0x6E, 0xAD, 0x51, 0xB2, 0x2A, 0xC4, 0xAE, + 0x3F, 0xAA, 0xAA, 0xAB, 0x42, 0xFC, 0xC6, 0xD3, 0xAA, 0x38, 0x25, 0x1A, 0x84, 0x6E, 0xFD, 0xAC, + 0xCC, 0xC6, 0xA9, 0x9A, 0x11, 0xFE, 0xC1, 0x0D, 0x9D, 0x79, 0x93, 0x03, 0x32, 0x79, 0x24, 0x47, + 0x28, 0x83, 0x4B, 0xCF, 0xC7, 0x72, 0xAE, 0x86, 0xC0, 0xD3, 0xE4, 0x61, 0x46, 0x77, 0xCA, 0x57, + 0x9B, 0x7A, 0x08, 0xC8, 0xEE, 0xB2, 0x59, 0xB8, 0x8A, 0x40, 0x2D, 0xAE, 0xE0, 0x50, 0xBF, 0xEE, + 0x30, 0x81, 0x9D, 0x4E, 0x23, 0x45, 0xDC, 0x76, 0x2E, 0xC8, 0x9C, 0xB4, 0xA8, 0x6D, 0x51, 0x6E, + 0x98, 0xD7, 0xAA, 0xD4, 0x96, 0x2C, 0x88, 0xBF, 0x28, 0xF6, 0x15, 0xA7, 0x1D, 0xE5, 0x7C, 0x94, + 0x0D, 0xE9, 0xE1, 0x36, 0x02, 0xBA, 0x39, 0x62, 0x7E, 0xAC, 0xA1, 0x50, 0xD5, 0x63, 0xF2, 0x29, + 0xC7, 0xE7, 0x23, 0xED, 0xD6, 0x44, 0x25, 0x0D, 0x16, 0xD2, 0x1C, 0x09, 0x0B, 0xDB, 0x96, 0x11, + 0x7D, 0xFB, 0x2B, 0xA7, 0x67, 0x2F, 0xF8, 0x8D, 0xA1, 0xF6, 0x02, 0x0C, 0x89, 0x5D, 0xEB, 0xE5, + 0xB8, 0x08, 0x74, 0xC4, 0x50, 0x3B, 0x30, 0x22, 0xBF, 0xD9, 0xCD, 0x21, 0x14, 0xAA, 0x6C, 0x56, + 0x9E, 0x5C, 0xDA, 0x7C, 0x0C, 0x96, 0x5B, 0xB8, 0x25, 0x46, 0x0A, 0x56, 0x80, 0x6F, 0x22, 0xFA, + 0x16, 0x0C, 0xEA, 0xA5, 0xB7, 0x5D, 0x92, 0xC0, 0xE8, 0x1C, 0x67, 0xB5, 0x88, 0xA2, 0x04, 0xA3, + 0x6A, 0x92, 0xB8, 0x0B, 0x7C, 0x24, 0x4C, 0x5E, 0x44, 0x1C, 0x0D, 0xD6, 0x6B, 0xDF, 0xC3, 0x94, + 0xF3, 0x6A, 0x87, 0xF1, 0x7B, 0xBC, 0x83, 0x06, 0x5A, 0x7E, 0x75, 0x9B, 0xB6, 0x7C, 0xA3, 0x1B, + 0x26, 0xA7, 0xED, 0xF9, 0x96, 0xE2, 0xB5, 0x99, 0xC9, 0x33, 0xF0, 0x0D, 0xBF, 0x32, 0x04, 0xF7, + 0xB0, 0x01, 0x3F, 0x4C, 0x36, 0x52, 0x27, 0x55, 0x5C, 0x34, 0x79, 0xA7, 0xD9, 0x9A, 0xE3, 0xA2, + 0xDA, 0x30, 0xE3, 0xF8, 0xCE, 0xF6, 0x63, 0x23, 0xB5, 0x69, 0xCB, 0xC5, 0xD6, 0xEC, 0x6B, 0xCF, + 0xB7, 0x29, 0xA7, 0x87, 0x07, 0x4B, 0x2A, 0xD3, 0x2D, 0xC6, 0xA4, 0x75, 0x34, 0xC5, 0xBB, 0x89, + 0x5A, 0x9B, 0x8B, 0xD9, 0x67, 0xCE, 0xA4, 0x2F, 0x36, 0xEE, 0x31, 0x9B, 0x57, 0x7D, 0x9D, 0x05, + 0xF0, 0x20, 0xF6, 0xC4, 0x6E, 0x3D, 0x9A, 0xE1, 0xBA, 0x6B, 0x2D, 0x0A, 0xC4, 0x90, 0xAD, 0x10, + 0x95, 0x34, 0x5C, 0x1A, 0xC5, 0x67, 0xBC, 0x44, 0x69, 0x04, 0xB2, 0x1A, 0x7F, 0x2E, 0xDD, 0x6D, + 0x42, 0x33, 0xAA, 0xF3, 0x1D, 0xD6, 0x78, 0x58, 0x52, 0x1B, 0x37, 0x9D, 0x42, 0x35, 0x80, 0x0F, + 0xD2, 0x71, 0x8D, 0x9E, 0x40, 0xAF, 0xC9, 0xB7, 0x1B, 0x8C, 0x31, 0xA1, 0x19, 0xDD, 0xA4, 0xA1, + 0x73, 0xD6, 0xAC, 0x87, 0x9F, 0xDE, 0x45, 0xCC, 0xDC, 0x57, 0x07, 0xDC, 0xD1, 0xEE, 0x60, 0x45, + 0x2F, 0xAF, 0x54, 0x41, 0xCF, 0x5A, 0x52, 0x88, 0x12, 0xD2, 0xA2, 0xC3, 0xDB, 0xF2, 0xD5, 0xA3, + 0xEE, 0xB3, 0xBD, 0x73, 0xC4, 0x3B, 0xA5, 0x06, 0xD6, 0xF0, 0xDB, 0x05, 0x57, 0xAC, 0x72, 0x15, + 0x8A, 0xF0, 0x4A, 0xC5, 0x5D, 0x87, 0xEB, 0xD2, 0x1E, 0x3B, 0x23, 0xBC, 0x41, 0xAD, 0x9B, 0xD2, + 0x61, 0x87, 0xD2, 0x30, 0x9A, 0x0F, 0x73, 0xB0, 0xF9, 0x5D, 0x94, 0x3D, 0x42, 0x58, 0x14, 0x1C, + 0x74, 0xFA, 0x3D, 0x0A, 0xD6, 0xAA, 0x45, 0x48, 0x79, 0x6F, 0xA2, 0xAD, 0xFE, 0x5E, 0x14, 0x7A, + 0xA9, 0xAE, 0x42, 0x61, 0x0F, 0xD0, 0x10, 0x6F, 0x72, 0x85, 0xDE, 0xCD, 0x38, 0x20, 0x92, 0xAB, + 0x09, 0x71, 0x7D, 0x6B, 0xB2, 0x8F, 0x5F, 0xAE, 0x0F, 0x2D, 0x90, 0x27, 0xF0, 0x5C, 0x6C, 0x5B, + 0x66, 0x77, 0xF5, 0x9E, 0x6B, 0xCB, 0x91, 0xFF, 0x16, 0x88, 0xBB, 0x44, 0x01, 0x73, 0x6B, 0xC9, + 0x12, 0x37, 0x00, 0x43, 0x1A, 0xFE, 0x2B, 0xC8, 0x37, 0x62, 0x6E, 0xA9, 0x8C, 0xE9, 0x9C, 0x25, + 0x1D, 0xC8, 0xC2, 0xDF, 0x43, 0x58, 0x88, 0xE9, 0xA2, 0x4A, 0xF9, 0xD2, 0x1C, 0xD4, 0xEA, 0x89, + 0x23, 0x2F, 0x6E, 0xBC, 0x32, 0x71, 0x84, 0xF2, 0x2F, 0x5B, 0xB0, 0xFD, 0xF9, 0x57, 0xED, 0xB0, + 0x31, 0x1E, 0xCA, 0xF3, 0x85, 0xE9, 0xD7, 0x63, 0x6D, 0x6D, 0x48, 0xC5, 0x7D, 0xC5, 0xD5, 0x34, + 0x8A, 0x4B, 0x9E, 0xEB, 0x49, 0x14, 0x40, 0xB9, 0x3B, 0xF4, 0xD1, 0xBA, 0x89, 0xCC, 0x5C, 0x51, + 0x25, 0xC5, 0x63, 0x4D, 0x55, 0x43, 0xD6, 0xAE, 0x3A, 0x85, 0x56, 0x8D, 0x82, 0x72, 0x6F, 0xFA, + 0x4B, 0x22, 0x4F, 0x49, 0xBE, 0x69, 0x2C, 0xF5, 0xD9, 0x37, 0x0D, 0xF7, 0xB7, 0xA7, 0xDF, 0x9A, + 0x49, 0x79, 0xDE, 0x13, 0x6E, 0x04, 0x86, 0xA5, 0x83, 0x87, 0x13, 0x04, 0x35, 0x20, 0x33, 0x6B, + 0xD8, 0xB3, 0x1B, 0x28, 0x92, 0xDF, 0xB2, 0x69, 0x22, 0x49, 0xC2, 0x1D, 0x44, 0x93, 0x35, 0x76, + 0x6A, 0xDC, 0xC1, 0x26, 0xA8, 0xBD, 0xB1, 0x4E, 0xF7, 0x0B, 0x68, 0x18, 0xDE, 0x43, 0xCC, 0xAE, + 0xC1, 0x6E, 0x54, 0x29, 0x81, 0xA6, 0xA2, 0x41, 0x0B, 0x6A, 0x84, 0xB9, 0x0E, 0xC9, 0xF9, 0x2B, + 0xF2, 0xD2, 0x67, 0xF6, 0x1B, 0xBF, 0xFD, 0x7B, 0x16, 0x71, 0x20, 0x7C, 0xFF, 0x48, 0xC9, 0x6F, + 0xA9, 0xB8, 0x69, 0xA4, 0xB2, 0xDC, 0xE0, 0xAC, 0xB3, 0xA9, 0xEE, 0xAE, 0x48, 0x67, 0xD7, 0x7C, + 0xD5, 0x52, 0xF0, 0x8A, 0xAE, 0x2E, 0xE6, 0x37, 0x5C, 0x8A, 0x5A, 0xF1, 0xFC, 0xDD, 0x3D, 0xDC, + 0x73, 0xE9, 0x4D, 0x1C, 0x79, 0xF9, 0xA5, 0xBA, 0xA2, 0x8E, 0x70, 0x94, 0xDC, 0xB8, 0x09, 0xCC, + 0x2D, 0x79, 0x7A, 0x7C, 0x26, 0xFB, 0xEC, 0xD1, 0x55, 0x61, 0x32, 0x63, 0x27, 0xA3, 0x6E, 0xBA, + 0xF3, 0x92, 0xE3, 0x2C, 0xDE, 0x96, 0x09, 0x08, 0x8B, 0x8F, 0x32, 0xD8, 0xB2, 0x35, 0x98, 0x7C, + 0x1C, 0xB8, 0x86, 0xF4, 0x8D, 0x0D, 0x67, 0x6A, 0x50, 0x76, 0xDD, 0x25, 0xA0, 0x2F, 0x7B, 0x5C, + 0xD5, 0x85, 0xDE, 0x9C, 0x31, 0x31, 0xEA, 0x2D, 0x2B, 0x89, 0xD4, 0x7C, 0xA3, 0xF1, 0x8E, 0xCD, + 0x1A, 0x2C, 0x56, 0x53, 0xA5, 0x24, 0x86, 0x50, 0x51, 0x83, 0x05, 0x1D, 0x56, 0xBC, 0x29, 0xEB, + 0x30, 0x3B, 0x22, 0xEA, 0x53, 0xA8, 0x2D, 0x3F, 0x94, 0x2B, 0x7A, 0x92, 0x1A, 0xCF, 0x07, 0x02, + 0x1D, 0xE4, 0x1F, 0x34, 0xE2, 0xCD, 0x16, 0x43, 0xAA, 0x1E, 0xCA, 0x50, 0x2F, 0x1C, 0xE4, 0x57, + 0xC9, 0xB9, 0x52, 0xDD, 0x85, 0x45, 0x26, 0x1E, 0x35, 0x01, 0xEE, 0xEF, 0xC6, 0x52, 0x70, 0x55, + 0x95, 0x9B, 0xDB, 0xC0, 0x2F, 0x62, 0xD7, 0xE7, 0x3F, 0xA8, 0x03, 0xF3, 0xB1, 0xEE, 0xA1, 0x5F, + 0x76, 0xA7, 0x95, 0xCE, 0x63, 0x96, 0x50, 0x20, 0x13, 0x77, 0xBA, 0xFE, 0x80, 0x77, 0x5F, 0x73, + 0x13, 0x17, 0x50, 0x51, 0xF3, 0x56, 0x11, 0x23, 0x56, 0x1A, 0x16, 0xD7, 0x34, 0x4E, 0x03, 0xDF, + 0xC7, 0xE2, 0x3B, 0xA8, 0x54, 0xE3, 0x5E, 0x2A, 0xE0, 0xEA, 0x76, 0x68, 0xBE, 0x4B, 0x0C, 0xFD, + 0x95, 0xDD, 0x68, 0xD9, 0xDC, 0x11, 0x5B, 0x45, 0x60, 0x11, 0x1D, 0xAF, 0x4D, 0x4F, 0x70, 0xEF, + 0x8F, 0x75, 0xC9, 0xE7, 0x50, 0x17, 0x94, 0x98, 0x5D, 0x4D, 0x8A, 0xFB, 0xFA, 0x6A, 0x1B, 0xD9, + 0xBC, 0x7C, 0xC9, 0xE9, 0xB7, 0xE9, 0x78, 0x70, 0x61, 0x65, 0xAE, 0x84, 0xE2, 0x14, 0x34, 0xD4, + 0x5D, 0x69, 0x7A, 0x30, 0x32, 0x16, 0xE3, 0xC6, 0x03, 0xD0, 0x9C, 0xB1, 0xA5, 0x1D, 0x12, 0x07, + 0x45, 0xF3, 0x46, 0x86, 0x4E, 0xC4, 0x7D, 0x99, 0xFC, 0x8A, 0x43, 0x7E, 0xA2, 0x86, 0xDE, 0x15, + 0xEE, 0xEB, 0x04, 0x44, 0x85, 0x27, 0x1A, 0x07, 0xF7, 0x8D, 0x02, 0x85, 0x4C, 0xF9, 0x17, 0xA4, + 0x8B, 0xB7, 0x41, 0x7A, 0xF2, 0x0F, 0x0C, 0x2C, 0x55, 0x07, 0x7D, 0x73, 0xD8, 0xD4, 0x09, 0x63, + 0xC0, 0xD7, 0x70, 0x06, 0xD9, 0xE8, 0x80, 0x73, 0xAE, 0x9C, 0x4A, 0x25, 0x85, 0xB9, 0xBF, 0x0D, + 0x14, 0xA2, 0xB4, 0x29, 0x7B, 0x0E, 0x49, 0x7C, 0x96, 0x41, 0xAE, 0x2D, 0xD3, 0xDB, 0x18, 0x03, + 0xD7, 0x28, 0x14, 0x5F, 0x9F, 0x12, 0x47, 0x68, 0x71, 0x01, 0x3D, 0xDF, 0x78, 0xEA, 0x81, 0xEC, + 0xDC, 0xBC, 0xAA, 0x8F, 0x68, 0x30, 0x1F, 0x17, 0x49, 0xD1, 0xF7, 0x8A, 0x56, 0x0C, 0x48, 0x9E, + 0xB2, 0x54, 0xF8, 0xF4, 0xA3, 0xAA, 0x61, 0x9D, 0xF3, 0x1B, 0x04, 0xF2, 0x57, 0xB1, 0xE4, 0xB0, + 0x16, 0x28, 0x2C, 0x50, 0x56, 0x72, 0x04, 0xE4, 0xD6, 0xCD, 0x6C, 0x01, 0x1A, 0x97, 0xA7, 0xE4, + 0x70, 0x17, 0x8F, 0xA6, 0xC8, 0x6E, 0xCC, 0x37, 0x26, 0xFD, 0xFA, 0x1A, 0x14, 0x85, 0x52, 0xDF, + 0xB3, 0x32, 0x85, 0x3B, 0xEB, 0x7B, 0x4A, 0x66, 0xF4, 0x8B, 0x72, 0x66, 0xE4, 0x2B, 0xA4, 0x25, + 0x3A, 0xF3, 0xB6, 0x0C, 0x42, 0x66, 0x3E, 0x36, 0xD1, 0x01, 0x69, 0xE6, 0x65, 0x0D, 0xFA, 0xA9, + 0xBE, 0xAB, 0xA1, 0x78, 0x55, 0x43, 0xD5, 0x4D, 0x0D, 0xD4, 0x81, 0x19, 0x76, 0x0B, 0x82, 0xF4, + 0xC3, 0x22, 0xAB, 0x8C, 0xF3, 0x2F, 0x1C, 0x53, 0xD1, 0x9D, 0xB5, 0x70, 0x72, 0x12, 0x97, 0x38, + 0xFE, 0x9D, 0x8F, 0xB4, 0xB4, 0x5A, 0x4E, 0x28, 0xF3, 0x6C, 0xF5, 0xE8, 0x94, 0x85, 0xC4, 0x69, + 0xBE, 0xD1, 0x78, 0xEB, 0x4E, 0x6C, 0x73, 0xE4, 0x75, 0x87, 0xC6, 0xA1, 0x87, 0xBA, 0xD7, 0x25, + 0xDD, 0xE8, 0xE3, 0xED, 0x02, 0xBB, 0x79, 0x7C, 0x1E, 0x91, 0x9A, 0x4F, 0x35, 0xAE, 0x01, 0x77, + 0xEE, 0xF2, 0x18, 0x6B, 0x36, 0xDD, 0x2F, 0x90, 0xD6, 0x9C, 0xB6, 0x45, 0xEC, 0x35, 0xAF, 0xCD, + 0x6E, 0xF2, 0xDA, 0x95, 0xC3, 0xAF, 0xA3, 0x9F, 0xFC, 0x03, 0x03, 0x47, 0x65, 0xF0, 0x53, 0x86, + 0x8E, 0x0B, 0x43, 0xC9, 0x51, 0x2C, 0x03, 0x6D, 0x99, 0x69, 0x7C, 0xFF, 0x70, 0xD3, 0x58, 0x76, + 0xE4, 0x54, 0x53, 0x52, 0x61, 0x1A, 0xED, 0xC3, 0xEA, 0xC4, 0x98, 0x5B, 0x53, 0x80, 0x28, 0x70, + 0x1B, 0xC5, 0x61, 0x39, 0x32, 0x95, 0xFB, 0xC8, 0xFD, 0x6D, 0xF0, 0x88, 0x12, 0xBF, 0xFC, 0xF8, + 0xA5, 0x52, 0xBF, 0xD2, 0x23, 0x9C, 0x1C, 0x93, 0xF9, 0xDC, 0xC0, 0x48, 0x36, 0x57, 0x9C, 0x83, + 0xD4, 0xF8, 0xF4, 0xA9, 0x4B, 0x81, 0x48, 0x3F, 0xD0, 0x18, 0x86, 0x91, 0x8C, 0x9D, 0x74, 0xEC, + 0x78, 0xC2, 0xEB, 0xA5, 0x44, 0xB8, 0x21, 0x23, 0x57, 0x09, 0x77, 0x9A, 0xEB, 0x21, 0x1B, 0x4E, + 0x65, 0xCE, 0x24, 0xD5, 0xB9, 0x83, 0xC2, 0x81, 0x52, 0xD3, 0x1B, 0x68, 0xEC, 0x25, 0xDE, 0xA0, + 0xFC, 0x8D, 0xC9, 0x13, 0xD3, 0xC4, 0x15, 0xE5, 0x77, 0x0F, 0xA9, 0xA6, 0x13, 0x77, 0x93, 0xB1, + 0x18, 0x07, 0x47, 0xD7, 0x78, 0xE8, 0x0F, 0x90, 0x37, 0xC2, 0x64, 0xA4, 0x16, 0x0F, 0x44, 0x72, + 0xA1, 0x5B, 0x05, 0x94, 0x55, 0xCC, 0x47, 0xBB, 0xB9, 0x4E, 0xE9, 0xDC, 0x9A, 0xB4, 0x9C, 0x55, + 0x9C, 0x1F, 0x8B, 0x23, 0xA7, 0x14, 0xF1, 0x67, 0xAB, 0xE3, 0x54, 0xB5, 0x2F, 0x41, 0x96, 0x9E, + 0xD8, 0x02, 0x9C, 0x65, 0xCF, 0x9F, 0xBC, 0x1C, 0xD4, 0xEB, 0xBC, 0x05, 0x44, 0x92, 0x50, 0x1E, + 0xDA, 0x6A, 0x21, 0x58, 0x73, 0x58, 0x89, 0x60, 0xB2, 0x06, 0x5E, 0x47, 0xBE, 0xD9, 0xA7, 0x95, + 0x01, 0xB0, 0xF8, 0x18, 0x4F, 0x71, 0x9D, 0x6C, 0x9C, 0x70, 0x02, 0x7C, 0xC5, 0x67, 0x39, 0x57, + 0x98, 0xF7, 0xCE, 0xB2, 0x52, 0xF6, 0x7D, 0xE9, 0xDB, 0xD5, 0x6D, 0xD8, 0xFC, 0x2C, 0x8A, 0xDC, + 0x54, 0x10, 0xBD, 0xE5, 0x0E, 0xBC, 0x60, 0x57, 0xF9, 0x07, 0x99, 0xB5, 0x3D, 0x3F, 0x91, 0xB7, + 0xDA, 0x81, 0xFD, 0x84, 0xFF, 0xBD, 0x55, 0x38, 0x04, 0xA2, 0xB6, 0x36, 0xFC, 0x14, 0x00, 0xD4, + 0xF6, 0x39, 0x49, 0x15, 0xEF, 0xA9, 0xF4, 0xCC, 0x8A, 0xEE, 0xB7, 0xEE, 0xB5, 0xA6, 0x82, 0x2C, + 0xB4, 0xC1, 0x32, 0x72, 0x8C, 0x79, 0x8E, 0x15, 0x1E, 0x15, 0x50, 0xF0, 0x85, 0x93, 0xAC, 0x82, + 0xC8, 0x21, 0x01, 0x0F, 0x28, 0xCB, 0x28, 0x00, 0x4D, 0xD9, 0x3D, 0x1B, 0x59, 0x5C, 0x18, 0xF1, + 0xC9, 0xDD, 0xAD, 0xEC, 0x57, 0xE2, 0x72, 0xDF, 0xAF, 0x00, 0x3C, 0xF9, 0x4F, 0x5A, 0xE4, 0xF8, + 0x9A, 0x59, 0x94, 0xE7, 0xCE, 0x01, 0x9B, 0xCB, 0x68, 0x1E, 0xCC, 0x8A, 0x25, 0x37, 0x5F, 0xF6, + 0x99, 0x65, 0xF8, 0xBC, 0xFF, 0x92, 0x23, 0x01, 0x40, 0x45, 0xC9, 0x53, 0x4D, 0xC8, 0x61, 0x45, + 0xF0, 0xD4, 0xBA, 0xAA, 0x30, 0x1F, 0xBA, 0xAC, 0x7A, 0xA5, 0xFB, 0x7D, 0x42, 0x25, 0xBB, 0xD1, + 0x39, 0x17, 0x22, 0xDD, 0x7B, 0xE5, 0xBB, 0x8C, 0x93, 0x38, 0xA4, 0x0A, 0x9D, 0x1A, 0xD7, 0x55, + 0xC9, 0x43, 0xDF, 0x75, 0xAF, 0x75, 0xF7, 0x4F, 0x2F, 0x32, 0x2F, 0x0B, 0x1E, 0x24, 0xF6, 0xEA, + 0xCA, 0x72, 0x82, 0x28, 0x96, 0xCA, 0x03, 0xD5, 0xC5, 0x47, 0x9A, 0x52, 0xBA, 0x1F, 0x26, 0x0A, + 0x51, 0xD6, 0x96, 0xB7, 0x82, 0x10, 0xA0, 0x56, 0x5C, 0x8B, 0x02, 0x5C, 0xC4, 0x8B, 0xB6, 0xE9, + 0x18, 0x78, 0x51, 0x3D, 0xD1, 0x63, 0xE4, 0x94, 0x33, 0xFF, 0xC0, 0x74, 0x1B, 0x52, 0x0F, 0x54, + 0xCE, 0xF3, 0x01, 0x3E, 0x05, 0xC7, 0x71, 0x7D, 0x6D, 0x5B, 0x5F, 0xA8, 0x7B, 0x0D, 0x75, 0x6C, + 0x2C, 0x1F, 0x21, 0xB2, 0xC7, 0xE6, 0x14, 0xB1, 0xDA, 0x64, 0xD9, 0x23, 0x4F, 0xAC, 0x3E, 0x79, + 0xDB, 0x94, 0x2C, 0x7E, 0x85, 0x7D, 0x6A, 0x0F, 0x81, 0x89, 0x3D, 0x46, 0x19, 0xF7, 0x29, 0x20, + 0x90, 0x03, 0xFC, 0xD4, 0x0F, 0xFD, 0x18, 0x0B, 0x28, 0xF2, 0x35, 0x8B, 0xFA, 0x56, 0x85, 0xE2, + 0x5A, 0x9A, 0xC3, 0x8D, 0xE5, 0xEB, 0x44, 0x8D, 0x58, 0x6F, 0xBD, 0x64, 0x42, 0x06, 0x55, 0xD5, + 0x85, 0x1B, 0xF9, 0x99, 0xF8, 0x43, 0xBD, 0x99, 0xD2, 0x63, 0xC7, 0x03, 0x34, 0xA5, 0xB5, 0x62, + 0x0A, 0x57, 0x76, 0x0B, 0x32, 0xB3, 0x63, 0x29, 0xE6, 0x53, 0x3F, 0x00, 0x44, 0xE6, 0xEE, 0x67, + 0x19, 0x96, 0xC2, 0xA6, 0x9F, 0x18, 0x9E, 0x78, 0x96, 0xF9, 0xC4, 0x2B, 0x20, 0xCC, 0x6F, 0x33, + 0x4A, 0x64, 0xAF, 0x80, 0x03, 0x19, 0xF6, 0x4D, 0x96, 0x56, 0x57, 0x56, 0x8A, 0x9B, 0xDF, 0x73, + 0x9C, 0x9C, 0x64, 0xA0, 0xA0, 0xAB, 0xEA, 0x9A, 0xCF, 0x4C, 0x9E, 0xAA, 0x4D, 0x1D, 0x22, 0x01, + 0x0F, 0xA3, 0x74, 0xA2, 0x1E, 0x01, 0xF6, 0xC6, 0xCA, 0xC9, 0xBA, 0x4E, 0x0A, 0xA5, 0x5A, 0xBA, + 0xC4, 0xB8, 0xB8, 0xC4, 0xD3, 0xA3, 0xCB, 0x56, 0x69, 0xC9, 0xC1, 0x55, 0x2F, 0xE8, 0x0A, 0xF5, + 0xC0, 0xBA, 0xFE, 0x37, 0x1F, 0x21, 0x48, 0xC0, 0x59, 0x14, 0x7D, 0x12, 0xDC, 0x00, 0xDA, 0xEA, + 0xA2, 0x65, 0x63, 0x81, 0xCE, 0xEF, 0xF6, 0x46, 0x5F, 0x55, 0x51, 0xA6, 0x9D, 0xA3, 0x1E, 0x0B, + 0xAC, 0xE1, 0xB3, 0xB3, 0xD0, 0x45, 0x55, 0xB9, 0xB8, 0x81, 0x9F, 0x76, 0xBF, 0x81, 0x5F, 0x40, + 0xF8, 0xBD, 0xAC, 0xFC, 0xCD, 0xE1, 0x9C, 0xA5, 0x2B, 0x89, 0x4F, 0x57, 0x1A, 0x67, 0x52, 0xD9, + 0x54, 0x03, 0x23, 0xA8, 0xE2, 0xD5, 0x50, 0xF9, 0xD1, 0x0B, 0x08, 0xC1, 0x83, 0x09, 0xBC, 0xB7, + 0xC5, 0x6B, 0x40, 0x5B, 0x57, 0xD9, 0x96, 0xF1, 0x6F, 0x54, 0x1A, 0x52, 0xD3, 0x87, 0x80, 0x28, + 0xEF, 0xA3, 0xBA, 0x0A, 0xCC, 0x64, 0xB7, 0xA8, 0xD2, 0xD1, 0x51, 0x71, 0x92, 0xE3, 0x85, 0xB5, + 0x09, 0x93, 0x9E, 0x7A, 0x07, 0xB8, 0x8B, 0x35, 0x47, 0x05, 0x85, 0x23, 0xED, 0xBD, 0x7F, 0x1D, + 0x23, 0xBB, 0x28, 0x0C, 0x60, 0x01, 0x96, 0x35, 0x8B, 0x52, 0x03, 0x95, 0x15, 0xDF, 0x43, 0xDE, + 0x8D, 0x48, 0xBC, 0xC1, 0x1C, 0xC1, 0x37, 0xFD, 0x46, 0xF3, 0x49, 0x0F, 0x07, 0xFE, 0x99, 0x35, + 0x07, 0x54, 0xD8, 0xA0, 0x8E, 0x23, 0xF3, 0xA1, 0xAE, 0x84, 0x01, 0xE8, 0xF6, 0x43, 0xC5, 0x2F, + 0xF7, 0x9A, 0x83, 0x44, 0xB6, 0x4E, 0x33, 0xCD, 0x9A, 0xF0, 0x49, 0x03, 0x56, 0x65, 0xCB, 0x8A, + 0x16, 0xBC, 0xD4, 0xA8, 0x1B, 0xD1, 0x79, 0xE3, 0xA8, 0xD1, 0x3E, 0xDA, 0x93, 0x6C, 0x00, 0xDB, + 0xC0, 0xD7, 0xCC, 0x20, 0xF6, 0x18, 0x5D, 0xC6, 0xD0, 0x97, 0x5A, 0x7F, 0x05, 0xA6, 0xE6, 0x7D, + 0x1F, 0xD9, 0x80, 0xA8, 0x69, 0x6C, 0xF7, 0x28, 0x00, 0x51, 0xE4, 0xE4, 0x4A, 0x3A, 0xDA, 0x39, + 0x78, 0x52, 0xA9, 0xEC, 0xF7, 0x8C, 0x4F, 0x1C, 0xA7, 0x7F, 0xBA, 0x87, 0xB7, 0x57, 0xDF, 0xF7, + 0x6E, 0xF6, 0xF6, 0x04, 0xCA, 0xA6, 0xF3, 0x4F, 0xA6, 0xBD, 0x89, 0x43, 0x16, 0x86, 0x41, 0x9D, + 0x19, 0xCC, 0x12, 0x4E, 0xA4, 0x70, 0x58, 0x4F, 0x51, 0x97, 0xA2, 0x6C, 0xB4, 0xF1, 0x5B, 0x85, + 0x62, 0x37, 0x68, 0x52, 0x78, 0x52, 0xA9, 0x5A, 0x26, 0x68, 0x8D, 0xD6, 0x96, 0x15, 0x9C, 0x09, + 0xF0, 0x3E, 0xAC, 0x79, 0x61, 0xC7, 0x4E, 0x4B, 0x69, 0xA9, 0xB0, 0xB4, 0xD4, 0x18, 0x21, 0x01, + 0xE5, 0xB2, 0xF0, 0x07, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, + 0x5A, 0x0B, 0xF9, 0xAD, 0x59, 0x9E, 0xAC, 0x09, 0x00, 0x00, 0xDF, 0x1B, 0x00, 0x00, 0x2E, 0x00, + 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, + 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, + 0x62, 0x2F, 0x75, 0x74, 0x69, 0x6C, 0x73, 0x2F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x2E, 0x6A, 0x73, + 0xC5, 0x59, 0x69, 0xD3, 0xD2, 0x30, 0x10, 0xFE, 0xEE, 0xAF, 0x58, 0xF9, 0x02, 0x2A, 0x14, 0xAF, + 0xD1, 0xF1, 0x3E, 0xF0, 0xC2, 0x0B, 0x47, 0x3C, 0xC6, 0x51, 0xC7, 0x09, 0x6D, 0x80, 0xF8, 0x96, + 0xA6, 0x26, 0x29, 0x88, 0xCA, 0x7F, 0x77, 0x37, 0x49, 0x9B, 0xB6, 0xE0, 0x35, 0xCE, 0x28, 0xF3, + 0x0E, 0xB4, 0xC9, 0xE6, 0xC9, 0xEE, 0xE6, 0xD9, 0xCD, 0x26, 0xEF, 0xF0, 0xE4, 0x71, 0x98, 0x0B, + 0xC5, 0x67, 0x4C, 0xF3, 0x01, 0x4B, 0x56, 0x22, 0x83, 0xF5, 0xA5, 0xE8, 0x7C, 0x74, 0x16, 0x4E, + 0x0E, 0x8F, 0x75, 0x0A, 0xCD, 0x41, 0x1B, 0x25, 0x62, 0xD3, 0xB9, 0x72, 0x0C, 0x45, 0x8F, 0xC1, + 0x49, 0xB8, 0x99, 0x8A, 0x98, 0x67, 0x9A, 0xD3, 0xF3, 0x48, 0xE6, 0x5B, 0x25, 0x16, 0x4B, 0x03, + 0x67, 0x4F, 0x9F, 0xB9, 0x08, 0xF7, 0xA5, 0x5C, 0xA4, 0x1C, 0xC6, 0x59, 0x1C, 0x61, 0x2F, 0x09, + 0x3C, 0x76, 0xB2, 0x09, 0x14, 0x59, 0xC2, 0x15, 0x98, 0x25, 0x87, 0x5B, 0x39, 0x8B, 0xF1, 0xC7, + 0xF7, 0xF4, 0xE1, 0x15, 0x57, 0x5A, 0xC8, 0x0C, 0xCE, 0x46, 0xA7, 0xA1, 0x47, 0x02, 0x1D, 0xDF, + 0xD5, 0x39, 0x71, 0x85, 0x20, 0xB6, 0xB2, 0x80, 0x15, 0xDB, 0x42, 0x26, 0x0D, 0xA0, 0x3E, 0x88, + 0x21, 0x34, 0xAA, 0x8C, 0xF3, 0xF0, 0xCF, 0x31, 0xCF, 0x0D, 0xA0, 0xCA, 0xB1, 0x5C, 0xE5, 0xA9, + 0x60, 0x59, 0xCC, 0x61, 0x23, 0xCC, 0x12, 0x65, 0xAA, 0x09, 0x22, 0xC2, 0x78, 0xE3, 0x31, 0xE4, + 0xCC, 0x30, 0x14, 0x67, 0x38, 0x20, 0xC7, 0xB7, 0x79, 0x5D, 0x10, 0x98, 0xF1, 0x4A, 0x03, 0x2C, + 0x8D, 0xC9, 0x2F, 0x0F, 0x87, 0x9B, 0xCD, 0x26, 0x62, 0x56, 0xDD, 0x48, 0xAA, 0xC5, 0xD0, 0x1B, + 0xAE, 0x87, 0x8F, 0xC7, 0xA3, 0xBB, 0x4F, 0xA7, 0x77, 0x07, 0xA8, 0xB2, 0x1F, 0xF2, 0x32, 0x4B, + 0xB9, 0xD6, 0xA0, 0xF8, 0xA7, 0x42, 0x28, 0x34, 0x77, 0xB6, 0x05, 0x96, 0xE7, 0x38, 0x80, 0xCD, + 0x50, 0xD1, 0x94, 0x6D, 0x40, 0x2A, 0x60, 0x0B, 0xC5, 0xB1, 0xCF, 0x48, 0x52, 0x79, 0xA3, 0x84, + 0x11, 0xD9, 0xA2, 0x0F, 0x5A, 0xCE, 0xCD, 0x86, 0x29, 0xEB, 0xCF, 0x44, 0x90, 0xB7, 0x67, 0x85, + 0x29, 0x3D, 0xD6, 0x50, 0x50, 0xE8, 0x86, 0x80, 0x44, 0x43, 0x32, 0xE8, 0xDC, 0x9A, 0xC2, 0x78, + 0xDA, 0x81, 0xDB, 0xB7, 0xA6, 0xE3, 0x69, 0x9F, 0x40, 0x5E, 0x8F, 0x5F, 0x3C, 0x98, 0xBC, 0x7C, + 0x01, 0xAF, 0x6F, 0x3D, 0x7F, 0x7E, 0xEB, 0xE9, 0x8B, 0xF1, 0xDD, 0x29, 0x4C, 0x9E, 0xC3, 0x68, + 0xF2, 0xF4, 0xCE, 0xF8, 0xC5, 0x78, 0xF2, 0x14, 0xDF, 0xEE, 0xC1, 0xAD, 0xA7, 0x6F, 0xE0, 0xD1, + 0xF8, 0xE9, 0x9D, 0x3E, 0x70, 0x81, 0x53, 0x28, 0xF4, 0x65, 0xAE, 0xD0, 0x02, 0x52, 0x53, 0x90, + 0x2F, 0x79, 0x62, 0x1D, 0x37, 0xE5, 0xBC, 0xA1, 0xC2, 0x5C, 0x3A, 0x95, 0x74, 0xCE, 0x63, 0x31, + 0x17, 0x31, 0x9A, 0x96, 0x2D, 0x0A, 0xB6, 0xE0, 0xB0, 0x90, 0x6B, 0xAE, 0x32, 0xB4, 0x08, 0x72, + 0xAE, 0x56, 0x42, 0xD3, 0x9A, 0x6A, 0x54, 0x30, 0x21, 0x98, 0x54, 0xAC, 0x84, 0x61, 0x86, 0x9A, + 0xF6, 0xED, 0xA2, 0x89, 0x86, 0xC7, 0x26, 0xB3, 0x8F, 0x3C, 0x36, 0x51, 0xC2, 0xE7, 0x22, 0xE3, + 0xCF, 0x94, 0x44, 0x14, 0xB3, 0xED, 0xA1, 0x5A, 0x52, 0x19, 0xDD, 0x87, 0xCE, 0x87, 0x0F, 0x5C, + 0x3F, 0x91, 0x49, 0x91, 0xF2, 0x4E, 0x1F, 0xBE, 0xC2, 0x9A, 0xA5, 0x05, 0xBF, 0x0C, 0x46, 0x15, + 0x1C, 0x76, 0x48, 0x14, 0x2F, 0x18, 0x2D, 0x78, 0xC6, 0x15, 0x33, 0xFC, 0x65, 0x9E, 0xE0, 0xF7, + 0x13, 0xA6, 0x8F, 0xE0, 0x1A, 0x94, 0x9D, 0xA8, 0xFD, 0x8A, 0x99, 0xA9, 0x51, 0xA4, 0x66, 0x68, + 0x36, 0xF2, 0x35, 0x9F, 0x4D, 0xD9, 0x9C, 0xDF, 0xC6, 0x20, 0xB8, 0x70, 0xBE, 0xD6, 0x83, 0xBA, + 0x24, 0xA8, 0x0B, 0x69, 0x36, 0x4E, 0xB0, 0x3D, 0xCC, 0x62, 0xEE, 0x7E, 0xA6, 0xE5, 0x15, 0xE6, + 0x50, 0x37, 0x4B, 0x92, 0xE7, 0x9C, 0x25, 0x32, 0x4B, 0xB7, 0xF7, 0xB9, 0x31, 0x68, 0x6E, 0xE8, + 0x53, 0x3C, 0x63, 0xAB, 0xD2, 0x40, 0xC1, 0x75, 0x13, 0x75, 0x9A, 0x1C, 0xF9, 0x78, 0xC0, 0xF6, + 0xB5, 0x14, 0x09, 0x9C, 0xBE, 0x72, 0x6C, 0xCD, 0x14, 0xC4, 0xC8, 0x2A, 0x9E, 0x19, 0xC1, 0xD2, + 0x0F, 0x22, 0x43, 0xC4, 0x0C, 0x1F, 0xCE, 0xA0, 0x8C, 0x67, 0x5C, 0xAF, 0x13, 0x45, 0xC3, 0x20, + 0x53, 0x7B, 0x1C, 0x94, 0xE2, 0x9D, 0x13, 0x16, 0x89, 0x3C, 0x27, 0xD0, 0x37, 0x52, 0x35, 0x46, + 0x0F, 0xAB, 0xE6, 0x52, 0x4E, 0x57, 0xAA, 0x5C, 0x39, 0x36, 0x2F, 0xB2, 0xD8, 0x90, 0x52, 0x0D, + 0x15, 0x7B, 0x27, 0xE0, 0xEB, 0x31, 0xC0, 0x8F, 0x98, 0x43, 0xEF, 0x78, 0x90, 0xB7, 0xCD, 0xFE, + 0x63, 0x67, 0x74, 0xCD, 0xB5, 0xF9, 0xBA, 0xA8, 0x2D, 0xFE, 0x61, 0x68, 0x1D, 0x21, 0x77, 0xA2, + 0x8F, 0x5A, 0x66, 0xDD, 0x13, 0x91, 0x97, 0xBB, 0x02, 0xC3, 0x21, 0x70, 0x9D, 0xA2, 0xE2, 0x03, + 0xE4, 0x3B, 0x45, 0xD0, 0x00, 0x5F, 0x38, 0xDC, 0x34, 0xDB, 0x9C, 0xEB, 0x58, 0x89, 0xDC, 0x0C, + 0x5C, 0xFF, 0x30, 0x93, 0x03, 0x9C, 0x61, 0xE0, 0x71, 0x75, 0x35, 0xAD, 0xAE, 0xFB, 0xB1, 0xC4, + 0xB5, 0xBD, 0x3B, 0xFA, 0x46, 0x45, 0x4C, 0xA1, 0xB2, 0x86, 0x8D, 0xBB, 0x63, 0x3F, 0x5A, 0x87, + 0xC6, 0x3B, 0xE5, 0x41, 0x1B, 0xF2, 0xCF, 0xED, 0x42, 0x6A, 0xC8, 0xAB, 0xA5, 0xF4, 0x11, 0x29, + 0x2D, 0x93, 0x61, 0x21, 0xD6, 0x9C, 0x52, 0xCD, 0x0A, 0x13, 0x01, 0xF1, 0x6D, 0xAE, 0xE4, 0x0A, + 0x64, 0x6A, 0xE3, 0x3F, 0xE3, 0x9B, 0x72, 0xDC, 0x16, 0x2C, 0x4C, 0x99, 0x30, 0xEF, 0x49, 0x8A, + 0x45, 0x86, 0x21, 0xC8, 0xFB, 0x2E, 0xD5, 0xC5, 0x08, 0x39, 0xE3, 0x94, 0xFA, 0x68, 0x28, 0xC1, + 0xB9, 0x10, 0xD2, 0xB1, 0x54, 0xFC, 0x43, 0xCC, 0xA8, 0x3D, 0xE8, 0x40, 0x22, 0x31, 0x02, 0xA6, + 0x23, 0xEC, 0x28, 0x41, 0x6F, 0xE6, 0x4C, 0xB1, 0x15, 0x7C, 0x75, 0x9A, 0xED, 0x48, 0x43, 0x78, + 0xB1, 0xE4, 0xA5, 0xA6, 0x9B, 0xA5, 0xD4, 0xBC, 0x85, 0xE1, 0x68, 0x1A, 0x1D, 0x1A, 0x7D, 0xC4, + 0xB7, 0x4F, 0x58, 0x4E, 0x00, 0x7F, 0x60, 0xDB, 0x30, 0x70, 0xA8, 0x1D, 0x01, 0x3D, 0x04, 0xEE, + 0x7B, 0xD4, 0x92, 0x3A, 0x3E, 0x1B, 0x60, 0xA3, 0xEE, 0xF9, 0x1E, 0x8A, 0xDE, 0xBB, 0x98, 0x8B, + 0x7B, 0x15, 0x50, 0x0F, 0x67, 0x7C, 0xC4, 0xB7, 0xE5, 0x18, 0xC7, 0xC4, 0xB2, 0x15, 0x84, 0x5D, + 0x89, 0xAA, 0x33, 0xF0, 0x91, 0x34, 0x24, 0x81, 0x6B, 0x7E, 0xCE, 0xB7, 0x6E, 0xC0, 0xFB, 0x2B, + 0x0D, 0xC1, 0xE1, 0xD0, 0x5A, 0x88, 0x7D, 0x24, 0xD6, 0xD5, 0x2E, 0xE3, 0x80, 0x61, 0x47, 0x76, + 0xCD, 0x79, 0x4C, 0x01, 0x16, 0xA3, 0xC0, 0xDA, 0x65, 0x33, 0x42, 0xAD, 0x4B, 0x46, 0x75, 0x34, + 0xD2, 0xE4, 0xAD, 0x9B, 0xF6, 0x3D, 0xCE, 0x8B, 0x6F, 0x87, 0x27, 0x4D, 0x78, 0xCA, 0x0D, 0xDF, + 0xEF, 0x0F, 0xC4, 0xDD, 0x9D, 0x20, 0xA6, 0xFE, 0x24, 0x99, 0xB4, 0x9B, 0x2A, 0xBE, 0xDE, 0xB1, + 0x99, 0x15, 0x53, 0xB2, 0xD5, 0x54, 0x61, 0x7E, 0x1A, 0x50, 0x82, 0x0A, 0x6B, 0x95, 0x08, 0xB4, + 0xCA, 0x60, 0x4B, 0x9D, 0xC6, 0x94, 0xC1, 0x7D, 0xB4, 0x20, 0x2F, 0x2A, 0xCE, 0xFC, 0x26, 0xB3, + 0x10, 0x69, 0xB3, 0x14, 0xF1, 0x92, 0x78, 0xE1, 0x32, 0x3B, 0x61, 0x54, 0x53, 0x36, 0xE8, 0xA5, + 0x6D, 0x5A, 0xDE, 0xD9, 0x4E, 0x8B, 0x41, 0x76, 0xB8, 0x3D, 0x3A, 0x8C, 0x20, 0xA0, 0x19, 0xF7, + 0x58, 0x09, 0xED, 0x56, 0x2B, 0x99, 0x88, 0xB9, 0xDB, 0xAE, 0x02, 0x16, 0xCB, 0xB6, 0x3B, 0xB7, + 0x0C, 0x84, 0xE4, 0x9F, 0x98, 0xD6, 0x32, 0x16, 0x0C, 0xB7, 0xCE, 0xB2, 0x48, 0x08, 0xB8, 0x2D, + 0x8A, 0xEE, 0x25, 0x70, 0xCB, 0x51, 0x2B, 0xDD, 0x77, 0x68, 0x25, 0xAF, 0x0E, 0x6F, 0x5B, 0x41, + 0x3A, 0xD0, 0xCF, 0x6F, 0x59, 0xEE, 0xA7, 0x7F, 0xAC, 0xC6, 0xB3, 0x27, 0xEC, 0xC8, 0x95, 0x35, + 0x95, 0x3A, 0x61, 0x79, 0x2A, 0x1A, 0xD9, 0x82, 0x01, 0x73, 0x21, 0x22, 0xCC, 0x59, 0xAA, 0x1B, + 0x08, 0x54, 0x71, 0xA5, 0x45, 0xD2, 0x06, 0x49, 0x0A, 0xBB, 0xD1, 0xF1, 0xAC, 0x58, 0xE1, 0x9E, + 0x68, 0x0D, 0x93, 0x73, 0x5A, 0x9A, 0x6E, 0x3D, 0x6B, 0x55, 0x33, 0x78, 0x41, 0x9C, 0xC3, 0x6F, + 0xAC, 0xFD, 0x1A, 0xE3, 0x7E, 0xB6, 0xB5, 0xED, 0xB5, 0x85, 0x1C, 0x19, 0x88, 0x53, 0x16, 0x87, + 0xA3, 0x54, 0x16, 0x36, 0x61, 0x59, 0x82, 0x8C, 0xEF, 0xEC, 0x2D, 0x0B, 0x83, 0x7B, 0xBE, 0x1E, + 0xA5, 0x12, 0xAA, 0x4F, 0x21, 0x2D, 0x0C, 0x6A, 0xCC, 0xFD, 0x86, 0x9B, 0x6E, 0x11, 0xB9, 0x2C, + 0x40, 0x70, 0x90, 0xC8, 0xCA, 0x1A, 0x06, 0xBF, 0x1A, 0x63, 0x41, 0xE6, 0xB6, 0xE4, 0xE8, 0xD7, + 0x76, 0x4F, 0x4C, 0xD2, 0x4E, 0x30, 0x95, 0x31, 0x4B, 0xD1, 0xE4, 0xB5, 0x50, 0x32, 0x5B, 0x61, + 0xA7, 0x25, 0xD0, 0x84, 0x80, 0x36, 0x02, 0xC7, 0x97, 0x9C, 0xCF, 0x8A, 0x34, 0x6D, 0xB2, 0xDD, + 0x42, 0xDF, 0x6A, 0xCE, 0x64, 0x24, 0xED, 0x12, 0x16, 0x38, 0x98, 0x66, 0xD3, 0x62, 0x35, 0xD6, + 0x6F, 0x39, 0xB7, 0xEA, 0x02, 0x8E, 0xF3, 0xA8, 0x92, 0x9D, 0xA6, 0x45, 0xC2, 0x43, 0x45, 0x46, + 0x0F, 0x27, 0x23, 0xEA, 0xF9, 0x54, 0x56, 0x5A, 0x88, 0x8B, 0x80, 0x1D, 0x91, 0x7F, 0xBB, 0x52, + 0x6D, 0xCA, 0xD5, 0xA6, 0x1E, 0x09, 0xFD, 0x54, 0x66, 0x77, 0x57, 0xB9, 0xD9, 0xBA, 0xF2, 0xA7, + 0xE7, 0x65, 0xA3, 0xBC, 0x84, 0x3E, 0x51, 0xE2, 0xD6, 0xF6, 0xC7, 0x3D, 0xA1, 0xFA, 0x1E, 0xDA, + 0x2C, 0x4B, 0x9A, 0x2A, 0x44, 0xA1, 0x23, 0x68, 0x13, 0xDA, 0x70, 0xD1, 0xB4, 0xA1, 0x72, 0x5D, + 0xCE, 0x0F, 0x57, 0x36, 0xD1, 0x94, 0xAB, 0x35, 0x96, 0x87, 0xB7, 0xE2, 0x58, 0x16, 0x99, 0x19, + 0x55, 0x32, 0xFB, 0x4A, 0xD6, 0x00, 0x7E, 0xAC, 0x67, 0x1E, 0xAA, 0x34, 0x7A, 0x8E, 0xB1, 0xD4, + 0x8D, 0x70, 0xED, 0xA3, 0xFB, 0x93, 0xC9, 0xFD, 0xC7, 0x77, 0x3F, 0x8C, 0x1E, 0x4F, 0x5E, 0xDE, + 0xF9, 0xF0, 0xEC, 0xF9, 0xE4, 0xE1, 0xDD, 0xD1, 0x0B, 0xF8, 0xF6, 0xAD, 0x29, 0xD3, 0xE8, 0xFD, + 0x2D, 0xE7, 0xFE, 0xD4, 0xA9, 0x7B, 0x4A, 0x86, 0x3E, 0x4B, 0x03, 0x0A, 0xB7, 0x5F, 0x14, 0x9A, + 0x87, 0x9A, 0x6B, 0x89, 0x1E, 0xBD, 0xB8, 0xC2, 0x74, 0xF4, 0x37, 0x71, 0x17, 0xC1, 0x0B, 0xCA, + 0x25, 0x2B, 0x6E, 0x96, 0x92, 0x4A, 0x78, 0x3A, 0x24, 0x6A, 0x03, 0x78, 0x14, 0x8A, 0x8F, 0x34, + 0x99, 0xCF, 0xEA, 0x58, 0xA2, 0x1E, 0x9E, 0x7F, 0x16, 0x9B, 0x88, 0xFD, 0x5B, 0xE1, 0x89, 0x58, + 0xD8, 0xC1, 0x0C, 0x0A, 0x60, 0xF1, 0x13, 0xC1, 0x78, 0x8E, 0x27, 0xC2, 0x6A, 0xD6, 0xA6, 0x32, + 0x16, 0x53, 0x66, 0x73, 0xB1, 0x28, 0x10, 0xB9, 0x0F, 0xB3, 0xC2, 0x85, 0xE6, 0xF4, 0xCE, 0x23, + 0x58, 0x32, 0x8D, 0x3B, 0x08, 0xCF, 0x10, 0x4F, 0xD0, 0x8C, 0xE2, 0x4B, 0xE9, 0x80, 0x11, 0x1E, + 0x22, 0xF1, 0x60, 0x75, 0x37, 0x5B, 0xA0, 0xEF, 0x46, 0x41, 0x25, 0xAA, 0xC3, 0x2C, 0xA6, 0xF7, + 0x06, 0x30, 0xCC, 0x71, 0xB8, 0xD8, 0x54, 0x27, 0xD1, 0x81, 0x2C, 0x76, 0x25, 0xC0, 0x7E, 0xE8, + 0x07, 0x43, 0x68, 0x24, 0x43, 0xAE, 0x30, 0xD0, 0x8E, 0xD7, 0xFF, 0x27, 0xA3, 0x84, 0xE3, 0x4C, + 0x48, 0x25, 0x87, 0x42, 0xE4, 0xC7, 0xA9, 0x27, 0xB0, 0xBF, 0x12, 0x3F, 0xC0, 0x70, 0x1C, 0xB3, + 0xC2, 0x1C, 0x1A, 0x61, 0x45, 0x2E, 0xD3, 0x35, 0xAF, 0xC9, 0xFE, 0xB3, 0xFC, 0xD1, 0x58, 0xCC, + 0xDF, 0x4D, 0x1F, 0x68, 0x76, 0x30, 0xB7, 0xD2, 0xF5, 0x27, 0x86, 0x91, 0x8F, 0xED, 0xF6, 0xF8, + 0xA3, 0x03, 0x23, 0xBD, 0xEF, 0x47, 0xE8, 0xDD, 0x2C, 0x96, 0x09, 0x86, 0xA7, 0x65, 0x44, 0xA1, + 0x69, 0xC1, 0x36, 0x7C, 0x36, 0xD0, 0x78, 0x04, 0x1D, 0xCC, 0xEC, 0x19, 0xB4, 0x5D, 0x5F, 0xDD, + 0x2E, 0xE6, 0x73, 0xAE, 0x76, 0x76, 0x84, 0x2D, 0x69, 0x14, 0xDB, 0xB8, 0x97, 0xD9, 0xD6, 0x70, + 0x74, 0x07, 0x1A, 0x1B, 0xD5, 0x48, 0x51, 0x95, 0x53, 0x56, 0xD8, 0x61, 0x0E, 0xB8, 0x9D, 0x96, + 0xCA, 0x39, 0x5D, 0xA4, 0xA6, 0xC5, 0x8D, 0xD6, 0x21, 0xB8, 0x47, 0xE0, 0xA5, 0xB7, 0x3C, 0x26, + 0x35, 0xE1, 0x61, 0xD9, 0xE7, 0xB8, 0xAE, 0x43, 0xED, 0x9E, 0x40, 0x6F, 0xE4, 0x29, 0x8B, 0x79, + 0x6F, 0xF8, 0x6E, 0x38, 0xC4, 0x0B, 0x8D, 0xEE, 0x87, 0x46, 0xDB, 0x29, 0xDB, 0x36, 0xE8, 0x5A, + 0x3F, 0xFD, 0xF8, 0xC8, 0xDD, 0x6A, 0xA9, 0x7C, 0x75, 0xCF, 0x9E, 0xD9, 0xB1, 0x6C, 0xAD, 0xA8, + 0x3D, 0x07, 0x3A, 0xC7, 0x43, 0xD7, 0xB3, 0x6A, 0xF8, 0xB5, 0xA2, 0xD7, 0x6E, 0xF8, 0x95, 0xE5, + 0x62, 0xD7, 0xB5, 0x45, 0xAB, 0xD7, 0x80, 0x02, 0xD7, 0xC5, 0x37, 0x9E, 0x97, 0xD0, 0xF2, 0x5C, + 0x66, 0x09, 0xC1, 0x30, 0xB5, 0x28, 0x30, 0xAF, 0x20, 0x72, 0x18, 0x7F, 0x19, 0xBA, 0x67, 0xCE, + 0x9E, 0x3B, 0xDF, 0xED, 0x03, 0xC2, 0xE0, 0x0B, 0x2D, 0x73, 0xA1, 0x62, 0xDE, 0xDD, 0x21, 0x48, + 0xA3, 0x12, 0x96, 0x85, 0x41, 0x8F, 0x5F, 0x0E, 0x4A, 0xD0, 0xB8, 0x61, 0x25, 0xDF, 0x5C, 0xBE, + 0xB0, 0x18, 0xF8, 0xEB, 0xCA, 0x63, 0xBC, 0x34, 0x13, 0x48, 0xD4, 0xD2, 0xA6, 0x0D, 0xA6, 0x48, + 0x57, 0x1A, 0xBB, 0x01, 0x99, 0xBF, 0x27, 0x9A, 0xD9, 0x5B, 0x21, 0xFC, 0x94, 0xD6, 0x24, 0x07, + 0x4E, 0x64, 0xD7, 0x76, 0x6E, 0x94, 0xB6, 0xD0, 0x36, 0x80, 0x10, 0xDA, 0xB5, 0xD1, 0x56, 0x40, + 0x79, 0xAA, 0x1C, 0xEF, 0xB2, 0x68, 0x89, 0xEA, 0xA7, 0xFF, 0x21, 0x71, 0x3C, 0x53, 0x48, 0x43, + 0x77, 0x75, 0x42, 0x9B, 0x85, 0xEB, 0x6F, 0xB1, 0xA7, 0x7E, 0xB3, 0xD2, 0x43, 0x89, 0xBE, 0x57, + 0xA9, 0x9E, 0x60, 0x02, 0xC4, 0x35, 0x02, 0xB9, 0xB2, 0x77, 0xD0, 0x73, 0x43, 0x68, 0xFB, 0xFD, + 0xBA, 0x3B, 0x74, 0xDC, 0x3B, 0x6A, 0x9C, 0xF5, 0xEA, 0x78, 0xE1, 0xB9, 0x22, 0x1E, 0x1D, 0x72, + 0x9E, 0xF3, 0x05, 0xA6, 0xB1, 0x5E, 0xF7, 0x6B, 0x17, 0x4E, 0xD1, 0xD9, 0x0C, 0xBF, 0xBB, 0x3B, + 0x5C, 0xDD, 0xEE, 0xA2, 0x7B, 0xA2, 0xD4, 0xF0, 0x2D, 0xB6, 0xBF, 0x2F, 0x63, 0xDD, 0xFD, 0xFA, + 0x55, 0x0E, 0xA0, 0x15, 0x73, 0xF7, 0xEF, 0x90, 0xEA, 0xAF, 0x15, 0x67, 0xEF, 0xBB, 0x4B, 0x28, + 0xBF, 0x01, 0x17, 0x74, 0x15, 0x45, 0x67, 0x65, 0x7D, 0x84, 0xE2, 0xD5, 0x4E, 0xB1, 0x16, 0x14, + 0x8B, 0xE1, 0x38, 0x05, 0x4F, 0xA5, 0xF1, 0x15, 0xFC, 0x46, 0xA4, 0x98, 0xE2, 0x16, 0x99, 0xF4, + 0xA4, 0x48, 0x99, 0x36, 0xA4, 0xBF, 0xE5, 0xB1, 0x3F, 0xCD, 0x14, 0x99, 0x3F, 0x04, 0x35, 0xB9, + 0xD6, 0x3A, 0x81, 0xD9, 0x6D, 0xC4, 0x6B, 0x73, 0x48, 0x99, 0x3A, 0x9D, 0x5C, 0xD5, 0xC0, 0xD2, + 0x67, 0xCC, 0x2C, 0x9B, 0x5C, 0xA2, 0x73, 0x3E, 0xC5, 0x1D, 0xAD, 0x12, 0x8D, 0xC2, 0xF7, 0xCF, + 0x62, 0x55, 0xAC, 0x20, 0x27, 0x51, 0x9A, 0xC3, 0x28, 0x86, 0x9B, 0xA0, 0xBF, 0x6D, 0xB5, 0x9F, + 0xA7, 0x5C, 0x9B, 0xCA, 0x3E, 0xDA, 0x72, 0xB7, 0x18, 0x78, 0x76, 0x07, 0xB7, 0xA3, 0xAC, 0x8D, + 0xD8, 0xEA, 0xCD, 0x4C, 0x7C, 0xBD, 0x81, 0x7F, 0x78, 0xD1, 0x31, 0x2F, 0x52, 0x9A, 0xA6, 0xC4, + 0xB2, 0xF3, 0x96, 0xB6, 0x2B, 0x41, 0x07, 0x14, 0x8F, 0xEB, 0x7C, 0xA1, 0xEB, 0x56, 0x28, 0x29, + 0x0D, 0x29, 0xEF, 0x66, 0xD1, 0x12, 0x4F, 0x4B, 0xAA, 0x4E, 0x70, 0xDB, 0x17, 0xBB, 0xDD, 0x21, + 0x69, 0xB8, 0x23, 0x15, 0xBA, 0x9D, 0x14, 0xF7, 0x6F, 0x13, 0xED, 0xD1, 0xAE, 0xE9, 0xAA, 0xBE, + 0x9D, 0xB3, 0x7E, 0x17, 0xD6, 0xF4, 0xE4, 0xB5, 0x6B, 0xE5, 0x55, 0x1E, 0xCA, 0x40, 0xAB, 0x0F, + 0xDE, 0xBE, 0xBF, 0x02, 0xBB, 0x6A, 0x24, 0x21, 0xB5, 0x06, 0xB8, 0x26, 0xE8, 0x76, 0xAF, 0xD4, + 0xF6, 0xCD, 0xA2, 0x52, 0xC8, 0x41, 0x84, 0x6B, 0xB8, 0x56, 0x55, 0xFA, 0x14, 0x77, 0x28, 0x17, + 0x63, 0xA4, 0xF9, 0xA1, 0x72, 0x34, 0x40, 0xB5, 0x37, 0xE7, 0x0F, 0xA9, 0x94, 0xB9, 0xBD, 0x65, + 0x3C, 0x18, 0x83, 0xE5, 0x94, 0x74, 0x2B, 0xE7, 0xCE, 0x95, 0x36, 0x96, 0xE0, 0xF8, 0x35, 0xD4, + 0xB6, 0xA2, 0x67, 0xF7, 0xF0, 0x0D, 0xCC, 0x67, 0x43, 0x0E, 0x40, 0x68, 0x6B, 0xDE, 0x0D, 0xF7, + 0x73, 0x0A, 0x3A, 0x51, 0xC7, 0x87, 0xEA, 0x65, 0xFA, 0xDE, 0xBB, 0x92, 0x79, 0xCD, 0x61, 0x29, + 0x4C, 0x83, 0x7F, 0x51, 0x5B, 0x66, 0x84, 0xF5, 0x83, 0xA0, 0x3B, 0x66, 0x8D, 0x94, 0x89, 0x97, + 0x18, 0x98, 0xC4, 0xD0, 0x29, 0x37, 0x57, 0x5D, 0xEA, 0xBA, 0x8E, 0x5A, 0x53, 0x2C, 0xD8, 0x05, + 0x87, 0x85, 0x92, 0x1B, 0xA2, 0xB0, 0xC4, 0x28, 0x53, 0x8B, 0xE6, 0xB5, 0xCD, 0xFE, 0x62, 0x46, + 0x02, 0xED, 0xFA, 0x3C, 0x99, 0xF7, 0x4A, 0x0B, 0x4E, 0x58, 0x73, 0x07, 0x67, 0x4A, 0x2B, 0x5B, + 0xBA, 0xDC, 0x4A, 0xEC, 0xF5, 0x91, 0xDD, 0x3B, 0xB4, 0x91, 0x79, 0x19, 0x28, 0xA8, 0x86, 0x0B, + 0xF5, 0x99, 0xC2, 0x32, 0xA6, 0xB2, 0x21, 0x7C, 0xC2, 0xAA, 0x44, 0x79, 0xA1, 0x97, 0xD6, 0xEF, + 0x4D, 0x6F, 0xEC, 0x1A, 0x6F, 0x1C, 0xAF, 0x04, 0xBC, 0x0A, 0x2D, 0x67, 0x5B, 0x72, 0x3F, 0x26, + 0x53, 0xAF, 0x1D, 0xE2, 0x73, 0xB9, 0x6C, 0x7B, 0xA4, 0x2E, 0x2D, 0xF4, 0xD3, 0xB6, 0xDD, 0x52, + 0xA2, 0x46, 0x29, 0xCF, 0x16, 0xB8, 0x92, 0xD7, 0x2D, 0x5B, 0x51, 0x74, 0xFF, 0x53, 0x89, 0xEE, + 0xA7, 0x74, 0xEA, 0xAA, 0x0F, 0xFB, 0x0D, 0x37, 0x54, 0x2C, 0xB1, 0x63, 0xF7, 0x95, 0xAB, 0x27, + 0xF2, 0x7D, 0x7F, 0xFD, 0x86, 0xCF, 0x7E, 0xCF, 0xFD, 0xFB, 0x90, 0xBB, 0xF6, 0x55, 0x9D, 0x1D, + 0x60, 0xF3, 0x65, 0x8F, 0xD6, 0xE1, 0xE8, 0xD0, 0xA5, 0x64, 0x19, 0x64, 0x7E, 0x06, 0x37, 0xFA, + 0x07, 0xD1, 0xB9, 0xFB, 0xF9, 0x7F, 0x39, 0x42, 0x63, 0x18, 0xF2, 0x1D, 0x50, 0x4B, 0x03, 0x04, + 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x52, 0x02, 0xB9, 0x6D, 0x98, 0x08, + 0x00, 0x00, 0xC8, 0x21, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, + 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, + 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x75, 0x74, 0x69, 0x6C, 0x73, 0x2F, + 0x76, 0x61, 0x6C, 0x69, 0x64, 0x61, 0x74, 0x6F, 0x72, 0x2E, 0x6A, 0x73, 0xC5, 0x59, 0x79, 0x77, + 0xD2, 0x40, 0x10, 0xFF, 0xBF, 0x9F, 0x62, 0xA8, 0x57, 0x68, 0x4B, 0xE2, 0xF5, 0x3C, 0x40, 0xB4, + 0x58, 0xAB, 0xF2, 0x54, 0xEA, 0x93, 0x7A, 0xB6, 0xB5, 0x6F, 0x09, 0x0B, 0x44, 0x43, 0x36, 0x66, + 0x37, 0x45, 0xD4, 0xFA, 0xD9, 0x9D, 0x3D, 0x42, 0x12, 0x12, 0x14, 0xD4, 0xAA, 0xEF, 0x59, 0x92, + 0xDD, 0xC9, 0x1C, 0xBF, 0x99, 0xDD, 0x99, 0x9D, 0x75, 0x36, 0x2A, 0x30, 0xF0, 0x22, 0xDA, 0x23, + 0x9C, 0xD6, 0x48, 0x7F, 0xEC, 0x05, 0x70, 0x72, 0xDB, 0xBE, 0x6E, 0x5F, 0x85, 0x0D, 0x67, 0x6D, + 0x3D, 0xE6, 0x14, 0xB8, 0x88, 0x3C, 0x57, 0xAC, 0x37, 0xD6, 0x90, 0x74, 0x0D, 0x36, 0x60, 0xDB, + 0xF7, 0x5C, 0x1A, 0x70, 0x2A, 0x9F, 0x77, 0x58, 0x38, 0x8D, 0xBC, 0xE1, 0x48, 0xC0, 0xD5, 0xCB, + 0x57, 0x6E, 0xC2, 0x23, 0xC6, 0x86, 0x3E, 0x85, 0x76, 0xE0, 0xDA, 0x38, 0x2B, 0x09, 0x9E, 0x6A, + 0xDA, 0x3E, 0xC4, 0x41, 0x9F, 0x46, 0x20, 0x46, 0x14, 0x5A, 0x21, 0x71, 0xF1, 0xC7, 0xCC, 0x6C, + 0xC1, 0x2B, 0x1A, 0x71, 0x8F, 0x05, 0x70, 0xD5, 0xBE, 0x0C, 0x96, 0x24, 0x58, 0x37, 0x53, 0xEB, + 0xD5, 0x86, 0x64, 0x31, 0x65, 0x31, 0x8C, 0xC9, 0x14, 0x02, 0x26, 0x00, 0xF5, 0x41, 0x1E, 0x1E, + 0x47, 0x95, 0x51, 0x0E, 0xFD, 0xEC, 0xD2, 0x50, 0x00, 0xAA, 0xEC, 0xB2, 0x71, 0xE8, 0x7B, 0x24, + 0x70, 0x29, 0x4C, 0x3C, 0x31, 0x42, 0x9A, 0x99, 0x00, 0x5B, 0xF2, 0x78, 0x6B, 0x78, 0xB0, 0x9E, + 0x20, 0x48, 0x4E, 0xF0, 0x83, 0x10, 0xDF, 0x06, 0x59, 0x42, 0x20, 0xC2, 0x28, 0x0D, 0x30, 0x12, + 0x22, 0xAC, 0x3B, 0xCE, 0x64, 0x32, 0xB1, 0x89, 0x52, 0xD7, 0x66, 0xD1, 0xD0, 0x31, 0x86, 0x73, + 0xE7, 0x69, 0x7B, 0x67, 0xB7, 0xD3, 0xDD, 0xAD, 0xA1, 0xCA, 0xE6, 0x93, 0x97, 0x81, 0x4F, 0x39, + 0x87, 0x88, 0x7E, 0x8A, 0xBD, 0x08, 0xCD, 0xED, 0x4D, 0x81, 0x84, 0x21, 0x7E, 0x40, 0x7A, 0xA8, + 0xA8, 0x4F, 0x26, 0xC0, 0x22, 0x20, 0xC3, 0x88, 0xE2, 0x9C, 0x60, 0x52, 0xE5, 0x49, 0xE4, 0x09, + 0x2F, 0x18, 0x6E, 0x01, 0x67, 0x03, 0x31, 0x21, 0x91, 0xC2, 0xB3, 0xEF, 0x49, 0xB4, 0x7B, 0xB1, + 0x48, 0x10, 0xCB, 0x29, 0xE8, 0xF1, 0x1C, 0x01, 0x43, 0x43, 0x02, 0x58, 0x6F, 0x75, 0xA1, 0xDD, + 0x5D, 0x87, 0xFB, 0xAD, 0x6E, 0xBB, 0xBB, 0x25, 0x99, 0xBC, 0x6E, 0xEF, 0x3F, 0xDE, 0x7B, 0xB9, + 0x0F, 0xAF, 0x5B, 0x2F, 0x5E, 0xB4, 0x3A, 0xFB, 0xED, 0xDD, 0x2E, 0xEC, 0xBD, 0x80, 0x9D, 0xBD, + 0xCE, 0x83, 0xF6, 0x7E, 0x7B, 0xAF, 0x83, 0x6F, 0x0F, 0xA1, 0xD5, 0x79, 0x0B, 0x4F, 0xDA, 0x9D, + 0x07, 0x5B, 0x40, 0x3D, 0x14, 0x11, 0x21, 0x96, 0x61, 0x84, 0x16, 0x48, 0x35, 0x3D, 0x89, 0x25, + 0xED, 0x2B, 0xE0, 0xBA, 0x94, 0xE6, 0x54, 0x18, 0x30, 0xAD, 0x12, 0x0F, 0xA9, 0xEB, 0x0D, 0x3C, + 0x17, 0x4D, 0x0B, 0x86, 0x31, 0x19, 0x52, 0x18, 0xB2, 0x13, 0x1A, 0x05, 0x68, 0x11, 0x84, 0x34, + 0x1A, 0x7B, 0x5C, 0xFA, 0x94, 0xA3, 0x82, 0x7D, 0xC9, 0xC6, 0xF7, 0xC6, 0x9E, 0x20, 0x42, 0x0E, + 0x15, 0xED, 0x92, 0x82, 0x9C, 0xB5, 0xBD, 0xDE, 0x07, 0xEA, 0x0A, 0xBB, 0x4F, 0x07, 0x5E, 0x40, + 0x9F, 0x47, 0x0C, 0xB9, 0x88, 0xA9, 0x85, 0x6A, 0xB1, 0x48, 0xF0, 0x2D, 0x58, 0x3F, 0x3E, 0xA6, + 0xFC, 0x19, 0xEB, 0xC7, 0x3E, 0x5D, 0xDF, 0x82, 0xAF, 0x70, 0x42, 0xFC, 0x98, 0xD6, 0x41, 0x44, + 0x31, 0x85, 0x53, 0x0C, 0x14, 0x43, 0x68, 0x7B, 0x7C, 0x9F, 0x85, 0xA8, 0x57, 0x13, 0xD2, 0x91, + 0x97, 0x2F, 0x9E, 0xE6, 0xDF, 0xF7, 0x77, 0x1E, 0x10, 0x41, 0xBB, 0x22, 0x42, 0x75, 0x73, 0x33, + 0xED, 0xEE, 0xDE, 0x82, 0x99, 0xE7, 0x23, 0x16, 0xD0, 0x4E, 0x3C, 0xEE, 0xD1, 0x28, 0x37, 0xBE, + 0x3B, 0x26, 0x9E, 0x9F, 0xA7, 0x24, 0x9C, 0x4F, 0x58, 0xD4, 0xCF, 0x8B, 0xF4, 0xF2, 0xEF, 0x1D, + 0x16, 0x74, 0x62, 0xDF, 0xD7, 0x46, 0xE7, 0x66, 0xF4, 0xD0, 0x3C, 0xF1, 0xEE, 0x38, 0x14, 0xD3, + 0x12, 0xB5, 0xEE, 0xE3, 0xB2, 0xBD, 0x71, 0xBD, 0x64, 0xA2, 0x64, 0xA8, 0x44, 0xFB, 0xFB, 0x8C, + 0xF9, 0x94, 0x04, 0xA5, 0xD2, 0x5A, 0x51, 0x44, 0xA6, 0xB9, 0x99, 0xE2, 0xC8, 0xFD, 0x78, 0x30, + 0x50, 0x2C, 0x4F, 0x18, 0x1A, 0x78, 0xB9, 0xB1, 0x76, 0x42, 0x22, 0x88, 0x23, 0x04, 0x24, 0x59, + 0x0A, 0xD6, 0x3A, 0xBE, 0xCA, 0x95, 0xEC, 0x6C, 0xA8, 0x85, 0xF2, 0x8A, 0xF8, 0x5E, 0x1F, 0x21, + 0xE6, 0x18, 0x01, 0x44, 0x00, 0x51, 0x8E, 0x54, 0xA1, 0x4D, 0x70, 0xD1, 0x08, 0x0A, 0x3D, 0xC5, + 0x32, 0xD9, 0x3F, 0xB6, 0x43, 0x12, 0x91, 0x31, 0x7C, 0x25, 0xC1, 0xF4, 0xD4, 0x90, 0xEE, 0x8F, + 0xA8, 0x7E, 0x92, 0x0B, 0xE9, 0xC4, 0xB0, 0xB3, 0x15, 0x71, 0x44, 0x45, 0x1C, 0x05, 0xF0, 0xB5, + 0xA7, 0xCD, 0x3A, 0x85, 0xD7, 0x23, 0xAA, 0xA2, 0x1B, 0xFF, 0xCC, 0x04, 0x65, 0xC5, 0x60, 0xB8, + 0xCB, 0x7D, 0x45, 0x47, 0xE0, 0x20, 0x0E, 0x5C, 0x19, 0xA2, 0x90, 0xD8, 0x65, 0xA9, 0x4F, 0xAA, + 0xF0, 0x75, 0x0D, 0xF0, 0x9F, 0x66, 0x9E, 0xB0, 0x09, 0xB8, 0x90, 0xDB, 0x0D, 0x6E, 0x21, 0x9A, + 0xB6, 0xB1, 0x76, 0xBA, 0x56, 0x82, 0x4B, 0xF2, 0xB8, 0x8C, 0xFD, 0xB8, 0x9C, 0x25, 0xC0, 0x67, + 0x69, 0x7A, 0x22, 0xA3, 0xDC, 0x6E, 0xE3, 0xE1, 0x52, 0xB3, 0xD5, 0x8C, 0x9D, 0xA7, 0x90, 0x36, + 0x17, 0xA3, 0xC3, 0x3C, 0x2D, 0x63, 0x31, 0xEA, 0x10, 0xD4, 0xA8, 0x0C, 0xB6, 0x7F, 0x60, 0x7A, + 0x2A, 0xEC, 0x67, 0x18, 0xA4, 0xF1, 0xBF, 0x08, 0x8B, 0x02, 0x4E, 0x17, 0x2F, 0x6A, 0x29, 0xB6, + 0x4F, 0x83, 0x21, 0x26, 0x9F, 0x4A, 0xB3, 0x09, 0x97, 0x25, 0x36, 0x8B, 0xD7, 0x54, 0x3A, 0xB2, + 0x3C, 0x56, 0xC6, 0xBC, 0xB3, 0xC5, 0xC8, 0xCC, 0x2F, 0x5C, 0x17, 0x7A, 0xBA, 0x14, 0x15, 0x31, + 0x0D, 0x71, 0x39, 0x18, 0x66, 0x4D, 0xC4, 0xE0, 0x92, 0x61, 0x76, 0x49, 0x63, 0x51, 0xDC, 0x73, + 0x66, 0xCF, 0x4B, 0xD9, 0x1F, 0xE0, 0xF6, 0x75, 0xB6, 0x1B, 0x43, 0x22, 0x63, 0x61, 0x64, 0xA8, + 0xD9, 0x25, 0x8D, 0xD7, 0xAC, 0x2E, 0xC9, 0xE8, 0xA8, 0xE0, 0xA7, 0xA4, 0x93, 0x5D, 0x34, 0xC5, + 0x3D, 0x59, 0x3F, 0x2E, 0xB7, 0x51, 0x00, 0x57, 0x9B, 0xFB, 0xD9, 0x42, 0xA1, 0x65, 0x94, 0x43, + 0x91, 0xA4, 0x97, 0x25, 0xA1, 0xD0, 0xAC, 0x74, 0x18, 0x14, 0x13, 0x54, 0xF2, 0xB8, 0x94, 0xE5, + 0x3D, 0x95, 0xEF, 0xFE, 0x09, 0x00, 0x39, 0x51, 0x0B, 0x17, 0x84, 0x22, 0x2A, 0x43, 0xC3, 0x1B, + 0x80, 0x55, 0x99, 0x03, 0x2A, 0x99, 0xCB, 0xA0, 0x35, 0x20, 0x3E, 0xA7, 0x0D, 0x35, 0x7A, 0x9A, + 0x45, 0xD1, 0x79, 0x6F, 0xDD, 0xAB, 0x1F, 0xB4, 0x6A, 0xEF, 0x48, 0xED, 0xCB, 0xE5, 0xDA, 0xED, + 0x4D, 0xE7, 0xE8, 0xEB, 0xF5, 0xD3, 0xEA, 0x46, 0x61, 0xF0, 0xEA, 0x69, 0xB3, 0xF9, 0x2D, 0x3F, + 0x74, 0xED, 0xB4, 0x59, 0xBD, 0x77, 0xDE, 0xB1, 0x11, 0x41, 0x51, 0x0C, 0xBA, 0x62, 0xD1, 0x90, + 0x0C, 0xAC, 0xE0, 0x86, 0xD9, 0x56, 0xFA, 0x4F, 0x3C, 0x31, 0x2F, 0xED, 0x57, 0x3B, 0xF7, 0x4F, + 0x82, 0x33, 0x71, 0xC8, 0xFC, 0xDE, 0xAD, 0x36, 0xED, 0x4B, 0x2A, 0x44, 0x7F, 0x52, 0x77, 0xA5, + 0x43, 0xAB, 0x60, 0x85, 0x75, 0x9E, 0x3A, 0x05, 0x30, 0x55, 0xD9, 0x9D, 0x29, 0x54, 0x81, 0x11, + 0x52, 0x8E, 0x50, 0x52, 0x5C, 0x2E, 0xB9, 0x6C, 0x35, 0x2B, 0xB3, 0x83, 0x15, 0x13, 0x7F, 0xB1, + 0x62, 0x4D, 0x1E, 0x97, 0x83, 0x05, 0x9D, 0x2A, 0xA1, 0xF9, 0x17, 0xB0, 0xCC, 0x84, 0xFD, 0x14, + 0x9E, 0xB9, 0xAA, 0x7C, 0x41, 0xFC, 0xCC, 0x26, 0x8B, 0xF1, 0x23, 0x25, 0x48, 0x68, 0x16, 0x97, + 0xF9, 0xB3, 0x91, 0x5F, 0x00, 0x65, 0x02, 0x5D, 0x29, 0xAF, 0x4D, 0x86, 0x87, 0xE6, 0x90, 0x0E, + 0xAD, 0x18, 0x6B, 0x8C, 0xD8, 0xEB, 0x97, 0x21, 0x26, 0xC7, 0x25, 0x5E, 0xE6, 0xFB, 0x15, 0x01, + 0x5B, 0x52, 0x68, 0x06, 0x32, 0x75, 0xB0, 0xB1, 0x70, 0xBC, 0x3C, 0x98, 0x70, 0x22, 0x97, 0x01, + 0x10, 0x2E, 0x39, 0x96, 0x14, 0x4A, 0x77, 0xE1, 0xF2, 0xDC, 0xC8, 0x9D, 0x26, 0x5C, 0xB9, 0x7A, + 0x2B, 0xC5, 0x30, 0x3D, 0x3A, 0xA9, 0xDF, 0xDF, 0xC7, 0x2B, 0xD4, 0x87, 0xB2, 0x52, 0xD0, 0x92, + 0x49, 0x85, 0xDC, 0xEC, 0xE5, 0x6C, 0x20, 0x34, 0xDC, 0xE7, 0x71, 0x4C, 0x4F, 0x8D, 0x96, 0xA1, + 0x98, 0x21, 0xEA, 0x38, 0xD0, 0x4A, 0x95, 0x1A, 0xC7, 0x5C, 0x40, 0x8F, 0xA6, 0x16, 0x23, 0xCA, + 0x08, 0x00, 0x2A, 0x82, 0xE3, 0x37, 0xC0, 0x1D, 0xA1, 0x59, 0xAE, 0xC0, 0x8E, 0x8A, 0x5D, 0x74, + 0x47, 0xC2, 0xA5, 0xE0, 0x93, 0x64, 0x22, 0x75, 0x4C, 0x13, 0x6E, 0x18, 0x27, 0x14, 0x0F, 0xB5, + 0xB3, 0x97, 0x95, 0xDC, 0x41, 0xE5, 0x39, 0xB9, 0x0C, 0x7D, 0x3D, 0xF3, 0x37, 0x82, 0x36, 0x23, + 0xA8, 0x7C, 0x81, 0x9B, 0xD3, 0xBA, 0xA5, 0x48, 0xB2, 0x79, 0x5A, 0xE3, 0x63, 0x3E, 0xAD, 0x64, + 0xC0, 0x59, 0x26, 0x61, 0x3B, 0x8E, 0x54, 0x3E, 0xA2, 0xCA, 0x37, 0xA9, 0x33, 0xB0, 0x5D, 0x90, + 0xBA, 0x03, 0x5D, 0x86, 0x9D, 0x13, 0xDD, 0x4A, 0xD9, 0x06, 0x3E, 0x1D, 0xF7, 0x98, 0x2F, 0x7B, + 0x23, 0xF8, 0x9F, 0x29, 0x4B, 0xC8, 0x00, 0xA9, 0xB4, 0xCF, 0xE4, 0x11, 0x1A, 0x49, 0x9B, 0x58, + 0x02, 0x1C, 0xBC, 0xDF, 0x3E, 0xDA, 0xDC, 0x56, 0x7F, 0xCF, 0x3B, 0x8D, 0x8C, 0x47, 0xF1, 0x47, + 0xA5, 0x77, 0x63, 0x8A, 0xF4, 0x55, 0xB1, 0x25, 0x61, 0x9E, 0x56, 0xF1, 0x52, 0x28, 0xBB, 0x1C, + 0x3F, 0xAB, 0xB4, 0xC3, 0xB4, 0x0D, 0xF2, 0x37, 0x5C, 0x56, 0x26, 0xB7, 0xDC, 0x77, 0xB9, 0x0E, + 0x8C, 0x95, 0x51, 0xA3, 0xC4, 0x8F, 0x99, 0xD9, 0xDF, 0xF1, 0xE6, 0xF3, 0x8C, 0x32, 0xC6, 0x2C, + 0xA3, 0x02, 0x60, 0x8B, 0x6B, 0x8A, 0x2D, 0xAF, 0xCF, 0x20, 0x1D, 0x6E, 0xC3, 0x7D, 0xE2, 0x7E, + 0xA4, 0xE8, 0xC5, 0x89, 0x87, 0xA9, 0x85, 0x06, 0xE8, 0x62, 0x6C, 0x40, 0xEE, 0xDA, 0x57, 0x6E, + 0x5C, 0x37, 0xBC, 0x54, 0x9F, 0x2C, 0xDB, 0x9D, 0x24, 0x86, 0x1A, 0x2D, 0x8C, 0xC6, 0xC8, 0xFA, + 0x0B, 0x0E, 0xB9, 0x2E, 0xAE, 0x25, 0xD4, 0xCF, 0x9F, 0xDA, 0x99, 0x80, 0xCA, 0x63, 0xA2, 0x2D, + 0x48, 0x96, 0x7F, 0x5A, 0x11, 0x29, 0x86, 0xD8, 0x8A, 0x40, 0xCF, 0xEB, 0xCE, 0x27, 0x81, 0xD0, + 0x8F, 0x39, 0x70, 0x6F, 0x18, 0x64, 0xC3, 0xE9, 0x8A, 0x8A, 0xA7, 0xC3, 0x4D, 0xA7, 0xB1, 0x94, + 0x08, 0x97, 0x05, 0xB2, 0x51, 0x9A, 0x8F, 0x66, 0xE2, 0x87, 0x23, 0x82, 0xC4, 0x14, 0xFB, 0xC1, + 0x69, 0x68, 0x67, 0xA5, 0x5C, 0x95, 0x52, 0x0E, 0x0E, 0xFB, 0x58, 0x8B, 0x62, 0x45, 0x7A, 0xB4, + 0x39, 0x1F, 0xB3, 0x57, 0x54, 0xD0, 0xE6, 0xBD, 0x77, 0xF1, 0xA2, 0xFC, 0xB0, 0x38, 0x91, 0xC6, + 0x74, 0xB1, 0xFD, 0x96, 0x7B, 0x5F, 0x25, 0xBE, 0xB1, 0xBF, 0x07, 0x92, 0xA4, 0xBC, 0x6C, 0xED, + 0xCF, 0x5A, 0x7F, 0xCB, 0xC4, 0x76, 0x26, 0xA2, 0x97, 0x93, 0x94, 0x89, 0xE6, 0xB9, 0x4E, 0xA3, + 0x95, 0x4A, 0x4E, 0x62, 0x54, 0x44, 0xD3, 0x62, 0xB4, 0xA6, 0xF5, 0x67, 0xE1, 0x3B, 0x09, 0x24, + 0x92, 0xA7, 0xFF, 0xAC, 0x80, 0x4E, 0x40, 0x8A, 0xC8, 0x12, 0xD9, 0x82, 0xA1, 0x60, 0xF3, 0x71, + 0x55, 0xE5, 0x81, 0xCC, 0x6C, 0x76, 0x1D, 0xB8, 0x44, 0xB8, 0x23, 0xB0, 0xE8, 0xAF, 0xD6, 0xCC, + 0xE9, 0xDA, 0xE2, 0xEE, 0xE9, 0xDC, 0xC8, 0x2A, 0x8E, 0xC2, 0x16, 0xED, 0x3F, 0x72, 0x14, 0x4A, + 0xFA, 0xA9, 0xA3, 0x70, 0xFE, 0xFF, 0x38, 0x0A, 0x05, 0x9F, 0x95, 0xA3, 0xE6, 0x1B, 0xE0, 0x6A, + 0xE4, 0xF7, 0x1C, 0x35, 0xA1, 0x3D, 0xC0, 0xFE, 0x7A, 0x79, 0x31, 0x1A, 0xF9, 0x5D, 0xF1, 0x57, + 0xF2, 0x44, 0x4E, 0xD6, 0xA2, 0x04, 0x81, 0x53, 0x96, 0x12, 0x59, 0x96, 0x13, 0xD4, 0xC4, 0x6F, + 0xA5, 0x83, 0xA7, 0x8C, 0x7D, 0x8C, 0x43, 0xC0, 0x4D, 0x9B, 0x0E, 0x89, 0x5F, 0x28, 0xB1, 0xD2, + 0x74, 0x7D, 0xF0, 0x5E, 0x9F, 0xC1, 0xEB, 0xCE, 0xBD, 0x73, 0x07, 0x87, 0x47, 0xDB, 0x95, 0xF3, + 0x17, 0x2F, 0x59, 0xD5, 0x8D, 0xCD, 0xAD, 0x46, 0xD3, 0x3E, 0xAC, 0x1D, 0x7F, 0xBF, 0x70, 0xE4, + 0x78, 0x8D, 0x99, 0x5E, 0x26, 0x83, 0x1B, 0x8D, 0x97, 0x6A, 0x0D, 0xE4, 0x43, 0x4D, 0xB7, 0xDA, + 0x3D, 0x94, 0x8C, 0x2C, 0x6C, 0xC4, 0x9D, 0xD3, 0x84, 0x59, 0x23, 0x47, 0xC4, 0xF1, 0xFE, 0x6A, + 0x8C, 0x1A, 0x4A, 0x6A, 0x3B, 0x8C, 0x98, 0x60, 0x2E, 0xF3, 0xE7, 0x48, 0x7C, 0xC2, 0x47, 0x94, + 0x1B, 0x1A, 0xF3, 0x96, 0x27, 0x19, 0x31, 0x2E, 0x02, 0x32, 0xE3, 0x93, 0xBC, 0xE6, 0x89, 0x42, + 0x22, 0x46, 0x19, 0x22, 0xF9, 0x9A, 0x12, 0x25, 0x96, 0x5B, 0x5A, 0x21, 0xED, 0x0B, 0x75, 0xD3, + 0xA6, 0x8A, 0xD0, 0xF9, 0x51, 0x5E, 0x47, 0x0F, 0x7D, 0xFB, 0x06, 0x15, 0xA3, 0x4E, 0x82, 0xD0, + 0x62, 0x94, 0x52, 0xA4, 0xB4, 0xEB, 0x66, 0xF1, 0x3B, 0x53, 0xBE, 0x0E, 0x3B, 0x24, 0x98, 0x65, + 0x37, 0x9F, 0x0A, 0xE9, 0xC7, 0x2D, 0x95, 0x01, 0xE5, 0x83, 0xBE, 0x9B, 0xE2, 0x98, 0x8F, 0x75, + 0xA6, 0xEE, 0x6B, 0x54, 0x38, 0x95, 0x51, 0x2D, 0xCC, 0xB5, 0x1E, 0xF4, 0x55, 0xEC, 0xA5, 0x52, + 0x76, 0x09, 0x2E, 0xC0, 0x2F, 0x2C, 0xD0, 0x15, 0xA0, 0x0C, 0x4D, 0x9D, 0x91, 0x93, 0x84, 0x3C, + 0x9A, 0x86, 0x23, 0xAA, 0x5A, 0xAA, 0x29, 0x7B, 0x3B, 0x87, 0x48, 0x25, 0xD1, 0x4F, 0xD9, 0x8B, + 0x75, 0x9F, 0x4E, 0xA0, 0x18, 0x4B, 0x47, 0x9B, 0x07, 0x87, 0x93, 0xDA, 0xD1, 0x86, 0x75, 0x60, + 0x1F, 0xDD, 0x2B, 0x0E, 0x57, 0x37, 0x92, 0x3E, 0x4F, 0xC2, 0xA1, 0xFA, 0x1B, 0x30, 0xB5, 0x7C, + 0x9F, 0x4D, 0xF0, 0x6A, 0x2F, 0xF5, 0x1F, 0xAF, 0x83, 0xE5, 0xC8, 0x48, 0xE7, 0x9B, 0xD5, 0x0D, + 0xE7, 0x5E, 0x96, 0xF8, 0xB5, 0xAA, 0x75, 0xD5, 0x1C, 0xEE, 0x3D, 0x81, 0x3A, 0x8C, 0xC8, 0x0A, + 0xA7, 0xE7, 0x05, 0xBA, 0x4C, 0x62, 0x83, 0x3A, 0xA0, 0xA2, 0x80, 0x9A, 0x02, 0xAA, 0x0A, 0x35, + 0x38, 0x06, 0x1B, 0xBE, 0x43, 0x05, 0xCE, 0xC3, 0x45, 0xB8, 0x04, 0x16, 0x54, 0x71, 0xE5, 0x6F, + 0xC2, 0x16, 0x34, 0x30, 0x4C, 0xEA, 0x58, 0x0F, 0x5F, 0x28, 0x8D, 0xA1, 0x17, 0xBA, 0x06, 0xB6, + 0x0E, 0x1D, 0xB4, 0xF5, 0xB0, 0x66, 0x7F, 0xAF, 0x9C, 0x4F, 0x96, 0x53, 0x7D, 0xFB, 0xC2, 0x11, + 0x2A, 0x76, 0xE8, 0xDC, 0x53, 0x65, 0x71, 0xD1, 0xE1, 0x09, 0x93, 0x39, 0x9C, 0x93, 0xD1, 0xF9, + 0x2D, 0x58, 0x8F, 0x27, 0xC1, 0xE7, 0x5C, 0x9A, 0x9F, 0xAF, 0xA4, 0x3A, 0x69, 0xB4, 0xE5, 0xFB, + 0x9F, 0xA1, 0x8D, 0x1B, 0x24, 0x7C, 0x8A, 0x69, 0x94, 0xF4, 0xB4, 0x54, 0xBC, 0x8D, 0x08, 0xC7, + 0x80, 0xE1, 0xE0, 0x33, 0x1C, 0xC0, 0xDF, 0x40, 0xDE, 0x14, 0xEB, 0xBD, 0x2F, 0x3D, 0x4A, 0x78, + 0x5C, 0x5E, 0x83, 0xF7, 0xED, 0xDF, 0xC8, 0x01, 0xE9, 0xB8, 0xBA, 0x38, 0x4D, 0x4B, 0xAC, 0xF4, + 0x96, 0x54, 0xFD, 0x2E, 0x48, 0x00, 0x6A, 0x53, 0xC6, 0x0D, 0xE4, 0xC4, 0xEB, 0xCB, 0x6B, 0x6C, + 0x79, 0xCF, 0x9A, 0x3B, 0xE9, 0xEE, 0x3C, 0x33, 0x83, 0x1A, 0xF9, 0x62, 0x46, 0xD0, 0xD3, 0x32, + 0x21, 0xE8, 0xA7, 0x15, 0xF3, 0xC1, 0x2A, 0xA2, 0x33, 0x99, 0xC1, 0x5C, 0x09, 0x5B, 0x8A, 0xA0, + 0x98, 0x1A, 0xF4, 0x87, 0x2B, 0x67, 0x06, 0x19, 0xAA, 0xAF, 0x5A, 0x4F, 0xDB, 0x0F, 0x8E, 0xF7, + 0xF7, 0x9E, 0xB7, 0x77, 0x8E, 0x5F, 0xEC, 0x3E, 0xDA, 0x7D, 0x93, 0x44, 0xAC, 0x62, 0xC9, 0x0F, + 0x9D, 0xEA, 0x3D, 0x2B, 0x8C, 0xBC, 0x13, 0x34, 0x4F, 0x3E, 0xA7, 0xEB, 0xB7, 0x76, 0x6C, 0x7F, + 0xBF, 0x30, 0x7F, 0xA8, 0x2B, 0xB2, 0x53, 0xC1, 0x66, 0xF4, 0x96, 0xCE, 0x2A, 0x5E, 0x72, 0x9B, + 0xA7, 0xC6, 0xDA, 0x0F, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, + 0x5A, 0x0B, 0xBC, 0x04, 0x5D, 0x7B, 0x14, 0x0F, 0x00, 0x00, 0x5D, 0x2C, 0x00, 0x00, 0x23, 0x00, + 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, + 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x4C, 0x49, + 0x43, 0x45, 0x4E, 0x53, 0x45, 0xDD, 0x5A, 0x59, 0x73, 0xE3, 0x44, 0x10, 0x7E, 0xE7, 0x57, 0x0C, + 0xAE, 0xA2, 0x48, 0xAA, 0xB4, 0xE1, 0xBE, 0x9F, 0x02, 0x09, 0x60, 0x8E, 0x64, 0x2B, 0xC9, 0x72, + 0x14, 0xC5, 0xC3, 0x58, 0x1E, 0xDB, 0x03, 0xB2, 0x24, 0x66, 0xA4, 0x78, 0xC5, 0xAF, 0xE7, 0xEB, + 0xEE, 0x39, 0x24, 0xCB, 0x81, 0xA5, 0x78, 0x23, 0xB5, 0x05, 0xB6, 0x3C, 0xD3, 0xD3, 0x77, 0x7F, + 0xDD, 0x23, 0xF5, 0x4F, 0x7F, 0x97, 0xAD, 0x2E, 0x77, 0x46, 0x7D, 0x67, 0x4B, 0x53, 0x7B, 0xF3, + 0xDA, 0xDF, 0xAC, 0xFC, 0xC1, 0x38, 0x6F, 0x9B, 0x5A, 0xBD, 0x7B, 0xF1, 0x76, 0xA1, 0xBE, 0xD1, + 0x75, 0xAF, 0xDD, 0xA0, 0xDE, 0x7D, 0xFB, 0xED, 0xF7, 0x9F, 0xDC, 0xB4, 0xEB, 0xBA, 0xF6, 0xD3, + 0xB7, 0xDE, 0x3A, 0x1C, 0x0E, 0x17, 0x9A, 0x8F, 0xB9, 0x68, 0xDC, 0xF6, 0xAD, 0x4A, 0x8E, 0xF2, + 0x6F, 0xBD, 0x46, 0x1B, 0x1F, 0xAE, 0xEF, 0xBE, 0xBF, 0x57, 0x97, 0x37, 0x57, 0xEA, 0x8B, 0xDB, + 0x9B, 0xAB, 0xE5, 0xC3, 0xF2, 0xF6, 0xE6, 0x5E, 0x7D, 0x79, 0x7B, 0xA7, 0x5E, 0xDC, 0x5F, 0x17, + 0xEA, 0xEE, 0xFA, 0xF9, 0xDD, 0xED, 0xD5, 0x8B, 0x2F, 0xE8, 0x71, 0xC1, 0xAB, 0xAE, 0x96, 0xF7, + 0x0F, 0x77, 0xCB, 0xCF, 0x5F, 0xD0, 0x13, 0x26, 0xF0, 0xCE, 0x85, 0xBA, 0x32, 0x1B, 0x5B, 0xDB, + 0x0E, 0xCC, 0xF9, 0x0B, 0x3C, 0xE3, 0xBF, 0x45, 0x90, 0x68, 0xA1, 0xFC, 0x4E, 0x57, 0x95, 0xDA, + 0x1B, 0x5D, 0xAB, 0x0E, 0x92, 0x76, 0xC6, 0xED, 0xBD, 0xD2, 0xF5, 0x5A, 0x95, 0x4D, 0xBD, 0x96, + 0x5D, 0x6A, 0xD3, 0x38, 0xD5, 0x7B, 0x53, 0x28, 0x67, 0x5A, 0xD7, 0xAC, 0xFB, 0x92, 0x1E, 0x17, + 0x42, 0x8A, 0xD7, 0xAE, 0xAD, 0xEF, 0x9C, 0x5D, 0xF5, 0xF4, 0x5C, 0x69, 0xAF, 0xD6, 0x74, 0xA4, + 0x59, 0xAB, 0xD5, 0xA0, 0xEE, 0x4D, 0x29, 0x44, 0xDE, 0x01, 0x7D, 0xD7, 0xF4, 0xDB, 0x9D, 0xFA, + 0x44, 0x35, 0x1B, 0x7C, 0xB1, 0x58, 0xD7, 0x94, 0xFD, 0xDE, 0xD4, 0xDD, 0x31, 0x5F, 0x8D, 0x3B, + 0x66, 0x0C, 0xEC, 0xB4, 0x83, 0xB3, 0xDB, 0x5D, 0xA7, 0x9A, 0x43, 0x6D, 0x9C, 0x02, 0x4B, 0xD8, + 0x68, 0xBB, 0x41, 0xE9, 0xBE, 0xDB, 0x35, 0xCE, 0xFE, 0xC9, 0xE7, 0x09, 0x9D, 0x53, 0x3B, 0xF0, + 0x4C, 0x77, 0x0A, 0x87, 0x6E, 0x9D, 0xC6, 0xC6, 0x7A, 0x8B, 0x07, 0xC9, 0xB2, 0x23, 0x06, 0xCC, + 0x56, 0x57, 0xEA, 0x9A, 0x49, 0xCF, 0x98, 0xE8, 0x6B, 0x88, 0x02, 0xEE, 0xF9, 0x8B, 0x2E, 0x89, + 0x4A, 0xE0, 0x82, 0xD5, 0x80, 0xB5, 0x81, 0x4C, 0x83, 0x05, 0x81, 0x41, 0x6B, 0x3C, 0x1F, 0x4D, + 0x0A, 0xED, 0x5C, 0x53, 0x15, 0x4A, 0x3B, 0x13, 0xBF, 0x54, 0xCC, 0x74, 0x01, 0x69, 0xF0, 0x94, + 0xE8, 0xAF, 0x8D, 0xC3, 0x6F, 0xFB, 0x7D, 0x53, 0x0B, 0xA5, 0xB8, 0x50, 0x1D, 0x6C, 0xB7, 0x63, + 0x3A, 0xE1, 0xC0, 0x0B, 0xF5, 0x25, 0x36, 0x11, 0x1F, 0x6D, 0xEF, 0xDA, 0x06, 0x1E, 0x93, 0xB5, + 0x9A, 0x0C, 0x5E, 0x44, 0xA9, 0x02, 0x95, 0x05, 0x8B, 0xE2, 0xD5, 0x99, 0x3D, 0x97, 0xAD, 0xCD, + 0xC1, 0xB8, 0x02, 0xE6, 0x73, 0xB0, 0x12, 0x31, 0x61, 0x6B, 0xF9, 0x5C, 0xA8, 0xAE, 0x51, 0xA5, + 0x86, 0xD1, 0x69, 0x5D, 0xA0, 0xC2, 0x3F, 0x11, 0x59, 0x5A, 0xB9, 0xD7, 0xB5, 0xDE, 0x1A, 0x32, + 0x1E, 0x9D, 0xEB, 0xFB, 0x72, 0x27, 0x8C, 0x41, 0x98, 0xC3, 0xCE, 0x90, 0xF8, 0x10, 0x4C, 0xB8, + 0xD7, 0x4C, 0x7B, 0xAC, 0x99, 0x83, 0x85, 0x37, 0xE1, 0x19, 0x18, 0xB1, 0xE7, 0x62, 0x1E, 0xBF, + 0xB3, 0x2D, 0x51, 0xDA, 0xD8, 0x0D, 0xB4, 0xD9, 0x1A, 0x57, 0x12, 0xE9, 0xB3, 0x0F, 0xDE, 0x7E, + 0xE3, 0x9C, 0x8F, 0x6B, 0x9C, 0x09, 0x8A, 0x8F, 0x84, 0xFA, 0xCE, 0x77, 0xD0, 0x3A, 0xD9, 0xC0, + 0xEF, 0xA0, 0x3D, 0x1F, 0x28, 0x12, 0xC9, 0x95, 0xA9, 0xA1, 0x84, 0xD2, 0xEA, 0x2A, 0x53, 0x3F, + 0xE2, 0x33, 0x9B, 0xFC, 0xE7, 0xA6, 0x5F, 0xA8, 0x33, 0xEC, 0xA5, 0x4F, 0x6E, 0x71, 0x3E, 0xB6, + 0x3A, 0xFE, 0x91, 0x4E, 0x1E, 0xED, 0xBA, 0x07, 0x2D, 0xAC, 0x19, 0xFB, 0x47, 0x20, 0x60, 0x5E, + 0x82, 0x5B, 0xEB, 0xC1, 0x08, 0xF1, 0xBD, 0xB7, 0x9E, 0x12, 0x41, 0xF0, 0x33, 0xB6, 0x2F, 0x9B, + 0x65, 0xEE, 0x6A, 0xF7, 0x38, 0xAD, 0x34, 0x0B, 0x0A, 0xAF, 0xFD, 0xB1, 0xA7, 0xB5, 0xCE, 0x6C, + 0x8C, 0x73, 0xD8, 0xCE, 0xBF, 0x6E, 0x58, 0xE3, 0xBF, 0xD3, 0x11, 0xFB, 0x66, 0x6D, 0x21, 0x9A, + 0xE6, 0xA8, 0x0A, 0x06, 0x06, 0x8F, 0x65, 0xD5, 0xB3, 0x2A, 0x10, 0x84, 0xAA, 0x6E, 0x3A, 0x55, + 0xD9, 0xBD, 0xC5, 0xE9, 0x64, 0x47, 0xDF, 0x6C, 0xBA, 0x03, 0xB9, 0x97, 0xE7, 0x03, 0x61, 0x94, + 0xB5, 0x29, 0x52, 0xEC, 0x31, 0x21, 0x21, 0x13, 0x16, 0x14, 0x31, 0xFE, 0x37, 0x76, 0xDB, 0x3B, + 0xFE, 0x1D, 0x66, 0xA9, 0xCC, 0x28, 0x7D, 0xDC, 0xAE, 0x7E, 0x83, 0x2B, 0xCC, 0x58, 0xC7, 0xC6, + 0x41, 0x9E, 0xC1, 0x1C, 0x7D, 0xC5, 0xF1, 0xB1, 0x71, 0xCD, 0x1E, 0x3F, 0x96, 0x3B, 0x5D, 0x83, + 0xEB, 0x2A, 0x06, 0x28, 0x94, 0xE3, 0x69, 0xA5, 0x0E, 0x0E, 0x25, 0x4F, 0xAA, 0xF0, 0x75, 0xA3, + 0xB4, 0x12, 0xF5, 0x30, 0xB9, 0x62, 0x2A, 0xA0, 0xD0, 0x38, 0x12, 0x93, 0xC2, 0xA6, 0xB5, 0x14, + 0x50, 0x0D, 0x33, 0x17, 0xC4, 0xDC, 0x1A, 0x98, 0x5F, 0xD3, 0x92, 0x2C, 0x70, 0x8E, 0x8C, 0x28, + 0xE9, 0xA3, 0x64, 0x6F, 0x0F, 0x3A, 0xE2, 0xA1, 0xE0, 0x78, 0x6D, 0xB5, 0xEA, 0x86, 0x76, 0x2C, + 0xF6, 0x8F, 0x8D, 0xFB, 0x7D, 0x96, 0x14, 0x0E, 0x78, 0x08, 0x8E, 0x25, 0x0F, 0xB1, 0xA7, 0xA5, + 0x10, 0x00, 0xDB, 0x41, 0x8C, 0x1C, 0x00, 0xA2, 0xBA, 0x20, 0xD6, 0x5E, 0xAF, 0x91, 0x48, 0x1E, + 0xB5, 0xAD, 0xF4, 0xAA, 0x8A, 0xF1, 0x9F, 0xF3, 0x12, 0x99, 0xC2, 0xB3, 0x03, 0x96, 0x3A, 0xB8, + 0x92, 0x16, 0x32, 0x29, 0xBB, 0xB1, 0xB5, 0xB1, 0x38, 0xA6, 0xB7, 0xA0, 0x29, 0xB3, 0xC6, 0x07, + 0x4E, 0x2B, 0x5D, 0x87, 0xDA, 0xC2, 0x1A, 0x4A, 0xDC, 0x06, 0x12, 0x67, 0x10, 0xC0, 0xBC, 0xD4, + 0xFB, 0x16, 0x27, 0x63, 0x23, 0x52, 0xFB, 0xA3, 0x95, 0x8D, 0xBC, 0xF2, 0xB2, 0x6D, 0x0D, 0x4E, + 0x7E, 0x89, 0x60, 0xAA, 0x9A, 0xC3, 0x79, 0xD6, 0xC2, 0x95, 0x71, 0xF6, 0x11, 0x5A, 0x7C, 0x34, + 0x8A, 0x14, 0xE2, 0x17, 0x47, 0x1E, 0xC0, 0x67, 0x9C, 0xD6, 0x41, 0x90, 0x5E, 0x28, 0x89, 0x0E, + 0x12, 0xE3, 0x2B, 0xED, 0xC9, 0x78, 0x35, 0x87, 0xE2, 0x9A, 0xCE, 0xC0, 0x57, 0xF2, 0x1E, 0xCA, + 0x55, 0x72, 0x14, 0x99, 0x8B, 0x76, 0x81, 0xB6, 0x2D, 0x77, 0xA3, 0x64, 0x00, 0x63, 0x75, 0x8D, + 0xA3, 0x70, 0x77, 0xE6, 0xD1, 0xB2, 0x29, 0xC9, 0x8B, 0xA1, 0x9A, 0x10, 0x27, 0xCA, 0x40, 0xC3, + 0x8D, 0x8B, 0xDF, 0x40, 0x82, 0xCD, 0x3C, 0x8D, 0x26, 0x21, 0xC6, 0x55, 0xCE, 0x78, 0x78, 0x0A, + 0x6B, 0x5F, 0xE3, 0xB0, 0xA6, 0xE2, 0xA0, 0xC0, 0x36, 0xBB, 0xB5, 0x35, 0x4E, 0x99, 0xDB, 0x7C, + 0x96, 0x8F, 0x03, 0xB5, 0x98, 0x95, 0xB3, 0x45, 0x8F, 0xD5, 0x17, 0xB4, 0x07, 0x5E, 0xA3, 0xED, + 0x98, 0xBC, 0x54, 0x0D, 0x30, 0xB3, 0xD7, 0x36, 0xC5, 0xA7, 0x69, 0xB5, 0x23, 0x4F, 0x61, 0xBD, + 0xB0, 0x18, 0x7B, 0xE3, 0x4C, 0x35, 0x20, 0x0E, 0xEA, 0xDF, 0x59, 0x71, 0x2B, 0x5B, 0xB3, 0x9F, + 0xD4, 0x7A, 0x6F, 0xCE, 0x83, 0xD1, 0x41, 0x17, 0x75, 0x7D, 0xA3, 0x4B, 0x2E, 0x12, 0xC1, 0xF5, + 0x27, 0x4A, 0x9D, 0x33, 0x45, 0xDA, 0x31, 0xCD, 0x26, 0x5B, 0xFD, 0x8B, 0xA6, 0x4E, 0x35, 0x7E, + 0x66, 0xF1, 0xB9, 0x3E, 0x46, 0x21, 0x9B, 0xCF, 0xCB, 0x0A, 0x0C, 0x01, 0x87, 0x3D, 0x13, 0x3E, + 0x88, 0xD8, 0xD4, 0x26, 0xEC, 0xC3, 0xEB, 0x80, 0x44, 0x22, 0xA5, 0x86, 0x75, 0xC3, 0xBB, 0xF0, + 0xFB, 0x93, 0xCC, 0x27, 0xDF, 0x62, 0x05, 0xD4, 0x44, 0x02, 0x5C, 0x0F, 0x51, 0x99, 0xFD, 0x0A, + 0xB9, 0x23, 0x24, 0x8F, 0x88, 0x3B, 0xC8, 0xBB, 0x84, 0x73, 0x62, 0x0F, 0x9F, 0x32, 0x7B, 0xAB, + 0xE1, 0x14, 0xAC, 0x88, 0x56, 0xA6, 0x72, 0xF7, 0xB7, 0xD5, 0x22, 0x03, 0x15, 0x3E, 0x31, 0x1C, + 0x4F, 0xFE, 0xBE, 0x32, 0x50, 0xE6, 0x06, 0xAA, 0x78, 0x1A, 0xBC, 0xBC, 0x5A, 0xB5, 0x57, 0x8B, + 0x24, 0xD3, 0x42, 0x68, 0x49, 0xBD, 0x4F, 0x69, 0x99, 0x36, 0x99, 0x0A, 0x01, 0xE8, 0x1A, 0x24, + 0xE3, 0x82, 0xAC, 0xB0, 0xD2, 0x15, 0xFB, 0xD1, 0xC1, 0xD1, 0xBE, 0x9A, 0xC1, 0x47, 0x8F, 0x1F, + 0x25, 0x11, 0x53, 0x14, 0x8C, 0x95, 0x6E, 0xB2, 0xA2, 0x48, 0x4F, 0x9D, 0xCF, 0xC1, 0xC2, 0xFA, + 0xF7, 0xC5, 0xDF, 0x96, 0x22, 0x21, 0x75, 0x74, 0x06, 0xFE, 0x65, 0x9E, 0x14, 0xBC, 0xBD, 0xA2, + 0xCD, 0x15, 0x20, 0x25, 0xA8, 0x8D, 0x4A, 0x56, 0x82, 0x42, 0x7E, 0xF0, 0x9D, 0xD9, 0xFB, 0x71, + 0x0A, 0x47, 0xCD, 0xED, 0x0D, 0x95, 0x90, 0x92, 0x6A, 0x64, 0x5C, 0x21, 0xE6, 0x47, 0xE5, 0x13, + 0xB4, 0x92, 0xB0, 0xD6, 0x44, 0xE9, 0x45, 0x4E, 0x23, 0x23, 0x2F, 0x98, 0x6A, 0x1B, 0xCB, 0x08, + 0xE3, 0x96, 0xBD, 0xA7, 0x2A, 0x2F, 0x27, 0xEE, 0x29, 0x5F, 0xE2, 0x5B, 0x72, 0x90, 0x82, 0x04, + 0x4E, 0x90, 0x20, 0x28, 0x61, 0x2A, 0x6B, 0xF4, 0x47, 0x12, 0xC5, 0xB7, 0xB6, 0xEC, 0x9B, 0xDE, + 0x57, 0x03, 0xB8, 0x73, 0xBF, 0x53, 0xEA, 0x73, 0x09, 0x1D, 0x25, 0xC8, 0x65, 0xBC, 0xDD, 0xD6, + 0xBA, 0xE3, 0xAC, 0xCC, 0x36, 0x02, 0xCD, 0x27, 0x3C, 0x91, 0x92, 0xD5, 0xE2, 0xA6, 0x81, 0xC0, + 0x6A, 0x1C, 0xAB, 0x17, 0x8B, 0x79, 0x08, 0x4F, 0xF1, 0x75, 0x12, 0x3B, 0x46, 0xE0, 0x3F, 0x43, + 0x9E, 0xB1, 0x02, 0x29, 0x3F, 0xEE, 0x8F, 0x0E, 0x55, 0x3B, 0xED, 0xB1, 0x02, 0xFE, 0x04, 0xC8, + 0x68, 0xEC, 0x23, 0xAB, 0x7E, 0x72, 0x4E, 0x0E, 0x42, 0x6F, 0xFE, 0xE8, 0xE1, 0x3F, 0x15, 0x1D, + 0x5B, 0x36, 0xD0, 0x37, 0x97, 0x6B, 0x06, 0xBC, 0xA3, 0xF0, 0x93, 0x44, 0xF4, 0xEE, 0x85, 0xFA, + 0x8A, 0x60, 0x15, 0x1D, 0xFB, 0x45, 0x14, 0x3F, 0x21, 0x2B, 0x75, 0xDF, 0x4B, 0x71, 0xED, 0x9A, + 0x27, 0x9B, 0x99, 0x14, 0x66, 0x47, 0x59, 0xD9, 0xA0, 0x4A, 0x66, 0x11, 0xC0, 0x23, 0xA5, 0x90, + 0xD5, 0x20, 0x28, 0x8E, 0x71, 0x01, 0xC0, 0xA1, 0xD2, 0x84, 0xF0, 0x5A, 0xD3, 0x41, 0x33, 0xC1, + 0xFD, 0x28, 0xF5, 0x55, 0xEB, 0x83, 0x25, 0xAC, 0x51, 0x37, 0xF5, 0x33, 0xB6, 0xBC, 0xB7, 0x8F, + 0xFC, 0xF5, 0x59, 0x09, 0x60, 0xBA, 0xA5, 0xC6, 0xA9, 0x19, 0x74, 0xD5, 0x0D, 0xCF, 0x36, 0xCE, + 0xE0, 0x9B, 0x75, 0xA8, 0x52, 0x4D, 0x49, 0x89, 0x7C, 0x56, 0xCD, 0x43, 0xFF, 0x87, 0x03, 0x53, + 0xB7, 0x85, 0x1D, 0x2D, 0x3E, 0xC3, 0x8F, 0xE7, 0x99, 0x2E, 0xA7, 0xF3, 0xB6, 0x5F, 0x61, 0x6F, + 0x35, 0x90, 0xA3, 0xB6, 0x95, 0x1E, 0x8A, 0xF4, 0x84, 0x78, 0x96, 0x52, 0xEB, 0xF1, 0x24, 0x08, + 0x3C, 0xED, 0xDB, 0x46, 0x30, 0x3F, 0xE5, 0x62, 0x06, 0xCB, 0xB3, 0x13, 0x8F, 0xCA, 0x79, 0x06, + 0x33, 0x62, 0xA0, 0xF7, 0x46, 0x06, 0x7A, 0x0E, 0x3B, 0xD6, 0xFF, 0x07, 0xEB, 0x9C, 0x61, 0x9B, + 0x69, 0x3B, 0x0A, 0x30, 0xDF, 0x85, 0x60, 0x14, 0x06, 0xBD, 0x34, 0x44, 0xE7, 0xAA, 0x15, 0x59, + 0xB3, 0xF5, 0x08, 0xAE, 0x83, 0xD8, 0x4E, 0x3F, 0x1A, 0x46, 0x79, 0x81, 0x21, 0xEE, 0xA3, 0x21, + 0x25, 0xC0, 0x3D, 0x17, 0x01, 0x53, 0x55, 0x45, 0xF8, 0xAF, 0xDD, 0xC3, 0xF5, 0x3B, 0x36, 0x4C, + 0xCE, 0x03, 0x02, 0x8B, 0xB1, 0x3A, 0x05, 0x42, 0x92, 0x8C, 0x54, 0xC0, 0x36, 0x4A, 0xA7, 0xEA, + 0xB6, 0xAD, 0x2C, 0x95, 0x86, 0xBA, 0x1A, 0x44, 0xCB, 0xC8, 0x5D, 0x91, 0xB5, 0xB2, 0xD2, 0x76, + 0xEF, 0xC3, 0xDA, 0x91, 0x70, 0xAB, 0x01, 0x44, 0xA6, 0xDA, 0xCD, 0x79, 0xB3, 0x46, 0xF4, 0x7A, + 0xAF, 0x9D, 0xE5, 0xE8, 0xDC, 0x38, 0x64, 0x9F, 0xD8, 0xD1, 0x18, 0x1B, 0x6A, 0xDF, 0x24, 0xF0, + 0xCF, 0xFC, 0x39, 0xDA, 0xE0, 0xA6, 0x36, 0x52, 0x11, 0x29, 0xFD, 0x01, 0x91, 0x44, 0x54, 0x2F, + 0xDB, 0x8E, 0x37, 0x08, 0x19, 0x0E, 0xF8, 0x24, 0x25, 0xD8, 0x17, 0x90, 0xC7, 0xCC, 0xCD, 0x8E, + 0x38, 0x68, 0x9F, 0xEB, 0xF7, 0x85, 0x5A, 0x6E, 0xC8, 0xFE, 0xA9, 0x17, 0xF2, 0xC8, 0x54, 0xF0, + 0xE9, 0x6C, 0x94, 0xCE, 0x6E, 0x85, 0x05, 0xBD, 0xD5, 0xF4, 0x33, 0x25, 0xB9, 0xD8, 0xB8, 0x9F, + 0xA5, 0x82, 0x95, 0xB1, 0xB5, 0x6B, 0xBC, 0x7F, 0xC6, 0x0A, 0x83, 0x18, 0x90, 0xA1, 0x27, 0xFC, + 0x24, 0xDF, 0x2D, 0x88, 0xA8, 0x4A, 0x1F, 0x7C, 0x6F, 0x3B, 0x12, 0xB5, 0x32, 0x5B, 0x6C, 0x65, + 0x8D, 0x25, 0xE6, 0x13, 0x26, 0x38, 0xCA, 0x8A, 0x7F, 0x9B, 0xE0, 0x70, 0x4C, 0x64, 0xDC, 0x87, + 0x56, 0x3B, 0xD3, 0x29, 0xB3, 0x71, 0x86, 0x20, 0x56, 0xB0, 0x87, 0xF4, 0xE0, 0x5C, 0xC4, 0x18, + 0x8A, 0x4D, 0x3C, 0x31, 0xA1, 0xD0, 0xD8, 0x8C, 0x86, 0x48, 0x49, 0x8D, 0x46, 0x8E, 0x31, 0x8A, + 0xE1, 0x8C, 0xAA, 0xA4, 0x3A, 0x70, 0x88, 0x92, 0xF5, 0xA2, 0xAF, 0x68, 0x1F, 0x01, 0xDB, 0x1A, + 0x0F, 0xD9, 0x34, 0x63, 0xED, 0x82, 0xDA, 0x86, 0x3A, 0x30, 0x49, 0x05, 0xEF, 0x5F, 0xA8, 0x3B, + 0x33, 0x9E, 0x0C, 0x5D, 0xF0, 0xD1, 0x7B, 0x3D, 0xE4, 0xCC, 0x36, 0xCD, 0x42, 0x5C, 0xD2, 0xE0, + 0xC0, 0x93, 0x46, 0xFF, 0x1F, 0x51, 0x9E, 0xB2, 0x2C, 0x38, 0x77, 0x6C, 0xFD, 0xBE, 0x60, 0xBD, + 0x62, 0x3D, 0xFF, 0xBF, 0x89, 0x15, 0xF9, 0xA8, 0x6D, 0xA6, 0x73, 0x9F, 0xCC, 0x64, 0x45, 0x6A, + 0x85, 0x58, 0x21, 0xD9, 0xB5, 0x70, 0x84, 0x61, 0x2B, 0x63, 0x59, 0x85, 0x9E, 0x88, 0x0C, 0x9F, + 0x73, 0xD7, 0xA7, 0xAF, 0xA5, 0xBE, 0xEA, 0x5C, 0x24, 0xED, 0xE1, 0x69, 0x5B, 0xF0, 0x4B, 0xEC, + 0x49, 0x48, 0x53, 0x39, 0xB4, 0x10, 0xB1, 0xEE, 0xA2, 0x90, 0x51, 0xBC, 0x3C, 0x26, 0x9C, 0x0B, + 0xAA, 0xB9, 0x3E, 0x1C, 0x77, 0x12, 0x9F, 0x91, 0x10, 0xE9, 0xCC, 0x55, 0x3E, 0x33, 0x0C, 0x6E, + 0x32, 0x94, 0x36, 0x6B, 0xE9, 0xDF, 0x65, 0xA8, 0xE3, 0xDC, 0x40, 0x02, 0xC2, 0xB0, 0xA6, 0x8E, + 0xDD, 0xA3, 0xCF, 0xC7, 0x73, 0x8A, 0x8B, 0x2E, 0xCD, 0x34, 0x91, 0x26, 0x29, 0xEC, 0x89, 0x5B, + 0xA1, 0x33, 0x3D, 0xB9, 0xCC, 0x27, 0x43, 0xBC, 0x0E, 0x01, 0x56, 0x04, 0xDC, 0x1C, 0xD4, 0x1B, + 0xA1, 0x27, 0x71, 0x34, 0x13, 0x2E, 0x1F, 0x9C, 0x0F, 0xCC, 0x0E, 0x51, 0x50, 0x84, 0xE5, 0xEA, + 0x58, 0x04, 0xEF, 0x2E, 0x28, 0x2D, 0xAE, 0x0D, 0xE1, 0x26, 0x36, 0xE5, 0x88, 0x88, 0xEE, 0x92, + 0xBF, 0x45, 0xD9, 0xB8, 0x59, 0x3A, 0xC1, 0xCF, 0x51, 0x4A, 0x3D, 0x42, 0x6E, 0x92, 0x3D, 0x23, + 0x0D, 0x61, 0x6E, 0xDD, 0xD0, 0x77, 0xAA, 0x32, 0x24, 0x26, 0xD4, 0x19, 0x22, 0xCE, 0x51, 0xBD, + 0x9B, 0x48, 0x32, 0x2B, 0xD5, 0x47, 0x4A, 0x5B, 0x9F, 0xAB, 0x65, 0x66, 0x20, 0x36, 0x7E, 0x64, + 0xEA, 0xC5, 0xCD, 0xED, 0xC3, 0xF2, 0x8B, 0xEB, 0x05, 0x82, 0xEF, 0x65, 0xC7, 0xFA, 0x46, 0xD8, + 0xC5, 0x33, 0x08, 0x72, 0x8F, 0xCE, 0x19, 0x47, 0x57, 0x4E, 0x01, 0xB3, 0xA3, 0x4F, 0x69, 0x96, + 0xED, 0x95, 0x49, 0xA5, 0xD6, 0x53, 0xC3, 0x86, 0x7A, 0x4D, 0xF5, 0x61, 0xE4, 0x74, 0xE6, 0x94, + 0x5A, 0xC9, 0xF5, 0x49, 0x0D, 0x66, 0xA4, 0xFE, 0x90, 0xD4, 0x24, 0x33, 0x88, 0x20, 0x2C, 0x42, + 0xF1, 0x2A, 0x7A, 0xCD, 0x64, 0x9E, 0xD0, 0xF0, 0x49, 0xBD, 0xB2, 0xB3, 0x81, 0x46, 0x65, 0xB4, + 0xA7, 0x76, 0x6A, 0x34, 0xA5, 0x8F, 0x5B, 0x72, 0xB4, 0x02, 0x18, 0xE1, 0xD0, 0x4F, 0x23, 0x9B, + 0x3A, 0xF0, 0x98, 0x75, 0x9D, 0x35, 0x34, 0x11, 0x2B, 0x5B, 0xE0, 0xB4, 0x6D, 0x99, 0xE0, 0xDC, + 0xE9, 0x27, 0x71, 0x3D, 0x1D, 0x40, 0x81, 0xED, 0x4D, 0xCA, 0x33, 0x5C, 0x32, 0xB7, 0x4C, 0xE4, + 0x34, 0x7D, 0x10, 0x2A, 0xE6, 0x5A, 0xD6, 0x11, 0xEB, 0x8D, 0xA6, 0x5C, 0xAB, 0xE1, 0x29, 0x2D, + 0x6D, 0x72, 0xA4, 0x64, 0x00, 0x81, 0x0E, 0x50, 0x8C, 0x05, 0x82, 0x6E, 0xFD, 0x8C, 0x84, 0x1C, + 0x92, 0x6D, 0x6A, 0x88, 0x40, 0x0D, 0x33, 0x01, 0x0B, 0xA3, 0xD1, 0x84, 0x3E, 0xEC, 0xA4, 0x0B, + 0xA3, 0xFC, 0x35, 0x53, 0xF3, 0xD8, 0xDE, 0x04, 0x1E, 0x42, 0x2B, 0x9D, 0x86, 0x7C, 0xBA, 0x0A, + 0xED, 0x54, 0x40, 0x28, 0x53, 0x76, 0x82, 0x0F, 0x48, 0xC6, 0x1A, 0xC6, 0x33, 0xB0, 0x54, 0x36, + 0x68, 0x0E, 0x40, 0x9F, 0x1D, 0xF5, 0x3B, 0x63, 0x8F, 0xCC, 0x54, 0x22, 0xEB, 0x41, 0x43, 0xAF, + 0x14, 0x09, 0x85, 0x68, 0xDF, 0xC3, 0x10, 0x63, 0x99, 0xA8, 0x9F, 0x02, 0x8B, 0x74, 0x28, 0xC6, + 0x60, 0xFD, 0x3E, 0xC0, 0xD6, 0xB1, 0xC7, 0xC4, 0xC4, 0x22, 0xC4, 0x73, 0xD9, 0x38, 0xCA, 0x69, + 0xAC, 0xE0, 0x34, 0xC4, 0xD0, 0xD5, 0xE9, 0x60, 0xE2, 0x69, 0x15, 0x7A, 0x26, 0xC1, 0x01, 0xAE, + 0x3F, 0xF2, 0xBF, 0xA0, 0x98, 0x27, 0xEE, 0x2D, 0x4E, 0xAA, 0x28, 0xE7, 0x4D, 0x81, 0xAD, 0xE4, + 0x7B, 0x01, 0x00, 0x1C, 0x0D, 0xBE, 0xB2, 0x29, 0x88, 0x48, 0x94, 0x63, 0xCC, 0x32, 0x8D, 0xE4, + 0x2C, 0xA1, 0xD6, 0x8C, 0x2D, 0x4E, 0x23, 0x78, 0x21, 0xF3, 0xC4, 0x95, 0x11, 0xC8, 0x24, 0xC5, + 0x47, 0x48, 0x38, 0xE7, 0x86, 0x96, 0x65, 0x32, 0x94, 0x00, 0x9E, 0x68, 0x45, 0xF2, 0x74, 0x2E, + 0xEB, 0x9E, 0xE8, 0xC9, 0xD1, 0x42, 0x62, 0xCA, 0xC0, 0xEC, 0xB6, 0x6A, 0x5C, 0x06, 0x32, 0xEA, + 0xE6, 0x59, 0x72, 0x65, 0x83, 0x1F, 0xE5, 0xB1, 0x4C, 0x96, 0xF3, 0xB8, 0x13, 0x98, 0x1A, 0xE4, + 0x03, 0x6E, 0x76, 0xE8, 0x26, 0x40, 0x8E, 0x98, 0xA0, 0x40, 0x7F, 0xA1, 0x5E, 0xD4, 0xA8, 0xA2, + 0x9E, 0x8D, 0x66, 0x5E, 0xE2, 0xA0, 0xD2, 0xA2, 0xFD, 0x15, 0x8A, 0x99, 0x89, 0x3C, 0xDF, 0x18, + 0x26, 0xFB, 0xA7, 0xC3, 0xAC, 0x0C, 0x83, 0x9F, 0x1E, 0x5D, 0x25, 0xA4, 0x4F, 0x27, 0x1E, 0x0F, + 0x72, 0x02, 0xD4, 0x5B, 0x85, 0xE9, 0xF3, 0xBF, 0x6E, 0xCD, 0x02, 0xCC, 0x62, 0x36, 0xB3, 0xC3, + 0x04, 0x12, 0x20, 0x9F, 0x29, 0x5C, 0x84, 0xFD, 0x98, 0x51, 0xD0, 0xA6, 0x78, 0x7B, 0x23, 0xF5, + 0x65, 0xD5, 0x48, 0x53, 0x46, 0x61, 0xBB, 0xE5, 0xF6, 0xCE, 0xD6, 0xC2, 0x1A, 0x24, 0x44, 0x39, + 0xC0, 0x6C, 0x98, 0x70, 0x5A, 0x08, 0x03, 0xA1, 0x94, 0x79, 0x0D, 0xE8, 0x22, 0x0C, 0x48, 0x3B, + 0x93, 0x5B, 0xA2, 0xAD, 0x33, 0xE2, 0xF8, 0x83, 0x44, 0x08, 0x77, 0x64, 0x74, 0x65, 0x53, 0xE6, + 0x14, 0xCF, 0x32, 0x64, 0x85, 0x38, 0xCC, 0x3B, 0x1C, 0x71, 0x76, 0xD4, 0x7B, 0xE4, 0x1B, 0xD4, + 0x0F, 0x91, 0x0A, 0x23, 0x00, 0xF1, 0xF8, 0x3C, 0x52, 0x08, 0xF2, 0x18, 0x67, 0xCE, 0x4E, 0x20, + 0xF7, 0xE8, 0x46, 0x88, 0x14, 0x1F, 0x2E, 0xD4, 0x04, 0xBE, 0xC8, 0xE1, 0x3C, 0xA9, 0xF5, 0x23, + 0x44, 0xE3, 0xA9, 0x21, 0x74, 0x8F, 0x34, 0xD3, 0x97, 0xAF, 0x24, 0x76, 0xF0, 0x61, 0x5E, 0xCC, + 0xD2, 0x66, 0x13, 0xE6, 0xD2, 0x90, 0xDB, 0x54, 0x87, 0x99, 0x8A, 0x0D, 0xB7, 0x47, 0x54, 0xD0, + 0x7D, 0x53, 0x53, 0x49, 0x17, 0x93, 0xA2, 0xF0, 0x37, 0xA0, 0x3C, 0x30, 0x37, 0xB6, 0xA6, 0x21, + 0x53, 0x09, 0x01, 0x83, 0x29, 0x84, 0x96, 0x4C, 0x6A, 0x67, 0xF3, 0xD9, 0x14, 0x4D, 0xBC, 0x38, + 0x57, 0x83, 0x79, 0x09, 0x08, 0x91, 0xF0, 0x11, 0xEE, 0x9F, 0xAD, 0xE7, 0xD6, 0xC9, 0x38, 0x5A, + 0xF5, 0xA3, 0x76, 0xA4, 0x97, 0x21, 0x06, 0x41, 0x66, 0x75, 0x35, 0x48, 0x03, 0xCB, 0x9D, 0x37, + 0xB5, 0x58, 0x29, 0x0D, 0xB0, 0x15, 0xA5, 0x79, 0xC9, 0x53, 0xB0, 0x22, 0x89, 0x1F, 0x63, 0xDF, + 0x67, 0x56, 0xCF, 0xC0, 0x2B, 0x0F, 0x0D, 0x8E, 0x5B, 0xD4, 0xD1, 0x6A, 0xC2, 0x52, 0x53, 0xE3, + 0xE2, 0xA6, 0x91, 0x6F, 0xFC, 0x16, 0x97, 0xF7, 0x6A, 0x79, 0xBF, 0x50, 0x9F, 0x5F, 0xDE, 0x2F, + 0xEF, 0xA3, 0x72, 0x7F, 0x5C, 0x3E, 0x7C, 0x7D, 0xFB, 0xE2, 0x41, 0xFD, 0x78, 0x79, 0x77, 0x77, + 0x79, 0xF3, 0xB0, 0xBC, 0xBE, 0x57, 0xB7, 0x77, 0xE3, 0x6B, 0xF9, 0xDB, 0x2F, 0x71, 0x05, 0xFF, + 0xB3, 0xFA, 0x76, 0x79, 0x73, 0x05, 0xB8, 0x63, 0xE5, 0x06, 0xF8, 0x25, 0x4D, 0x47, 0x7D, 0x96, + 0xC4, 0x72, 0x5E, 0x59, 0x8F, 0xC6, 0xA4, 0x31, 0x82, 0x64, 0x4E, 0x1A, 0xC0, 0x81, 0x0C, 0xD5, + 0x45, 0x55, 0xD6, 0x1C, 0xC5, 0x51, 0xBE, 0x58, 0x78, 0x58, 0x3E, 0x7C, 0x77, 0x5D, 0x40, 0xEB, + 0x37, 0xCF, 0x96, 0x37, 0x5F, 0xDE, 0x2D, 0x6F, 0xBE, 0xBA, 0xFE, 0xFE, 0xFA, 0xE6, 0xA1, 0x50, + 0xDF, 0x5F, 0xDF, 0x7D, 0xF1, 0x35, 0xB8, 0xBC, 0xFC, 0x7C, 0xF9, 0xDD, 0xF2, 0xE1, 0x67, 0x76, + 0xA1, 0x2F, 0x97, 0x0F, 0x37, 0xD7, 0xF7, 0xF2, 0xFA, 0xC0, 0x65, 0xA0, 0xF1, 0xFC, 0xF2, 0x0E, + 0x06, 0x7B, 0xF1, 0xDD, 0xE5, 0x9D, 0x7A, 0xFE, 0xE2, 0xEE, 0xF9, 0xED, 0xFD, 0xB5, 0x54, 0x5B, + 0xB9, 0x2D, 0xAC, 0xE8, 0x66, 0x01, 0xFC, 0xB7, 0x38, 0xD4, 0xF2, 0xAD, 0x03, 0xDF, 0xCC, 0x48, + 0x57, 0x38, 0x75, 0x17, 0xDD, 0x42, 0xAD, 0xAD, 0xB3, 0x04, 0xCF, 0x59, 0xE0, 0x0D, 0xBC, 0x8B, + 0x96, 0xB0, 0xFF, 0xA5, 0x8C, 0x8B, 0x27, 0x47, 0xF3, 0x7E, 0x0C, 0x6E, 0xF7, 0xDC, 0xAB, 0xC4, + 0x74, 0x6D, 0x3D, 0x67, 0x76, 0xDF, 0x94, 0x36, 0xB5, 0xC9, 0x9C, 0xD4, 0xC3, 0x3D, 0x2B, 0x4F, + 0x63, 0xC7, 0x17, 0xAD, 0x21, 0x6F, 0xCD, 0xB3, 0xF0, 0xC7, 0x17, 0xF8, 0x1E, 0x55, 0x8A, 0x4D, + 0xF8, 0xA6, 0x57, 0xB6, 0xE2, 0xCB, 0xF3, 0x25, 0x55, 0x5E, 0x65, 0x1E, 0xE1, 0xBB, 0xC4, 0x87, + 0xD0, 0xA0, 0x47, 0x15, 0x0D, 0x3B, 0x89, 0x47, 0x74, 0xDA, 0xC1, 0xF4, 0xE3, 0x9B, 0x2C, 0x38, + 0x50, 0x37, 0x1E, 0x19, 0xD4, 0x66, 0x5B, 0x59, 0xA0, 0xAF, 0xD2, 0x9C, 0x17, 0xE9, 0xB6, 0x9B, + 0xD4, 0x3D, 0xCF, 0xE3, 0xFD, 0x3F, 0xFA, 0xFB, 0x19, 0xE5, 0x1B, 0x79, 0x7F, 0xA2, 0xB2, 0x2B, + 0x06, 0x74, 0xCC, 0xDC, 0x96, 0xE6, 0x11, 0xF1, 0xDE, 0x22, 0x1D, 0xD9, 0xD1, 0x1B, 0x08, 0xE4, + 0xB3, 0xEE, 0x74, 0x7C, 0x48, 0xF6, 0x9C, 0x96, 0x0F, 0x1A, 0xCA, 0x44, 0x93, 0x55, 0x96, 0x0E, + 0x0E, 0x80, 0x40, 0x4C, 0xAB, 0xF7, 0x7A, 0x3B, 0x99, 0xE1, 0xF3, 0xEE, 0xF8, 0x4A, 0x40, 0x7E, + 0x39, 0xC0, 0xB7, 0x86, 0xEE, 0xD6, 0x47, 0xB7, 0xCF, 0x76, 0x0D, 0x86, 0xF0, 0x24, 0x78, 0x6A, + 0x98, 0xE9, 0x62, 0x4D, 0x20, 0x1A, 0x33, 0x34, 0x35, 0x93, 0xA4, 0x22, 0x1A, 0x57, 0xC3, 0xD4, + 0x7C, 0x84, 0x8F, 0x83, 0x97, 0x70, 0x6B, 0x7C, 0xDC, 0xE8, 0xB2, 0x36, 0xFB, 0x94, 0x63, 0x7A, + 0x7E, 0x82, 0x43, 0x83, 0x31, 0x25, 0xAF, 0xCE, 0x26, 0x98, 0x67, 0x7F, 0x77, 0x11, 0x11, 0xB9, + 0x62, 0xB1, 0xAB, 0x46, 0x1C, 0x76, 0xDB, 0x34, 0x18, 0x15, 0x56, 0x79, 0x76, 0x48, 0x64, 0x90, + 0x2B, 0xDB, 0x16, 0x4B, 0x0B, 0xC6, 0x04, 0x3D, 0x31, 0xBE, 0xC1, 0x15, 0x45, 0xEF, 0xA4, 0x1A, + 0x61, 0x04, 0xDE, 0xD7, 0x09, 0xDC, 0x90, 0x84, 0xF3, 0x37, 0x41, 0xC2, 0x2B, 0x1D, 0x70, 0xDE, + 0xB1, 0x3E, 0xC2, 0xC1, 0xC6, 0x9F, 0x17, 0xEC, 0x87, 0x00, 0xE8, 0xB3, 0x41, 0x9C, 0xD0, 0xC8, + 0xC3, 0x74, 0xBD, 0x7E, 0x84, 0x43, 0xAD, 0xA3, 0x26, 0x5A, 0xEC, 0xB7, 0xA2, 0x84, 0xF8, 0x72, + 0x43, 0x24, 0x2F, 0x11, 0xF0, 0xC9, 0x85, 0xBA, 0x2C, 0xA9, 0x26, 0x40, 0x0B, 0x29, 0xF3, 0xD2, + 0xC9, 0x97, 0xA9, 0x50, 0x8F, 0x83, 0xE2, 0xC7, 0x1D, 0xF2, 0xF6, 0x51, 0xB8, 0xE6, 0x4A, 0xFB, + 0x8F, 0x83, 0x98, 0x22, 0xA1, 0xD0, 0x72, 0xD7, 0x34, 0x3C, 0x05, 0x95, 0x49, 0xE7, 0xF8, 0xA6, + 0x86, 0x67, 0xAE, 0xD4, 0x66, 0x6E, 0x0C, 0xE7, 0x13, 0xA4, 0x3A, 0xE6, 0x50, 0x23, 0x84, 0x44, + 0x88, 0x56, 0xC6, 0xA0, 0x87, 0xC0, 0x2E, 0xFB, 0x9D, 0xD9, 0xE3, 0x8A, 0x2B, 0xC6, 0x63, 0x8A, + 0x2E, 0x72, 0xE1, 0x28, 0xFE, 0x0A, 0x31, 0x91, 0xC1, 0xEC, 0x5B, 0x58, 0xC2, 0xC8, 0x57, 0xAE, + 0x5A, 0x20, 0x0F, 0xBC, 0x31, 0xF6, 0x57, 0x36, 0x64, 0xD0, 0xDC, 0x60, 0x7C, 0xDD, 0x1C, 0xA8, + 0x13, 0xA2, 0xA3, 0x02, 0x3B, 0xB1, 0xFA, 0x8F, 0x09, 0x27, 0xF9, 0x28, 0xF0, 0xA8, 0x85, 0xC9, + 0xB7, 0x21, 0x11, 0x73, 0xC7, 0x6B, 0x11, 0xE2, 0x21, 0x3E, 0xE6, 0x44, 0x9A, 0xD2, 0xA8, 0xF0, + 0xCB, 0x48, 0x27, 0xDF, 0xA2, 0xA4, 0x8C, 0x9E, 0x27, 0x45, 0x63, 0x37, 0x28, 0x02, 0x39, 0x1A, + 0xC2, 0x32, 0x60, 0xE6, 0x80, 0x27, 0xFD, 0x46, 0xDD, 0x6C, 0xA2, 0x6E, 0xE8, 0x3A, 0x10, 0xED, + 0x8A, 0xEC, 0x00, 0x32, 0x5E, 0xCF, 0x47, 0xE7, 0x30, 0xC0, 0x9E, 0x32, 0x51, 0x04, 0xD7, 0x59, + 0x8B, 0x39, 0x9C, 0x7B, 0xE7, 0xF2, 0x6D, 0x19, 0x57, 0x6F, 0xCE, 0xC9, 0xE8, 0xCA, 0xF1, 0x38, + 0x0C, 0x51, 0x8B, 0x99, 0xBB, 0x62, 0x43, 0x00, 0x1B, 0x59, 0xA0, 0x01, 0x1A, 0xC8, 0x3A, 0xCD, + 0x60, 0xFE, 0x90, 0xBD, 0x71, 0x04, 0x1B, 0x33, 0x2F, 0xE2, 0xC0, 0xD7, 0x37, 0x57, 0xA8, 0xAB, + 0x27, 0x5F, 0x83, 0xE3, 0xDF, 0x2F, 0x9F, 0x3F, 0xBF, 0xC6, 0x83, 0x9F, 0x3E, 0x25, 0x13, 0x42, + 0x1F, 0x9C, 0x51, 0xB9, 0x7B, 0x3C, 0x7A, 0x75, 0x0F, 0xBF, 0x31, 0x2B, 0x1C, 0xD4, 0xA9, 0x6B, + 0x7A, 0x78, 0xC5, 0x0D, 0x45, 0x78, 0x8D, 0x62, 0x3A, 0x4D, 0x88, 0xB0, 0xBA, 0x41, 0xD4, 0x38, + 0xB4, 0xE1, 0x5D, 0x9C, 0x6A, 0x48, 0x49, 0x0F, 0xF3, 0x32, 0x53, 0xAD, 0xBD, 0x42, 0x81, 0x40, + 0xB0, 0x4B, 0xD2, 0x5F, 0xD1, 0x2D, 0xA5, 0x81, 0x67, 0x2E, 0x7E, 0xF9, 0x75, 0x91, 0x12, 0x1F, + 0x4D, 0x26, 0x62, 0xB5, 0x1B, 0xA2, 0x33, 0x71, 0x56, 0x95, 0xAE, 0x6F, 0xDC, 0x49, 0x5F, 0xA8, + 0xB3, 0xAB, 0xA6, 0x7E, 0x33, 0xBD, 0x2F, 0x90, 0x63, 0x34, 0x11, 0x7F, 0xFD, 0x5C, 0x51, 0xB7, + 0x2E, 0x6D, 0xAA, 0x07, 0xBC, 0xA8, 0x70, 0xB6, 0x49, 0x7C, 0x84, 0xEE, 0x60, 0x5C, 0xB6, 0x47, + 0x77, 0xB3, 0x14, 0x2B, 0x7E, 0x40, 0x3E, 0x7F, 0x19, 0x2F, 0x42, 0xA5, 0xA9, 0x17, 0x06, 0x90, + 0x27, 0xB0, 0xB1, 0xF2, 0x74, 0x41, 0x25, 0xAB, 0x65, 0x4E, 0x1A, 0xB3, 0x38, 0xAF, 0x0D, 0x7E, + 0xE3, 0x3D, 0x23, 0x56, 0xF2, 0xC6, 0x00, 0x33, 0xDB, 0x50, 0x8C, 0xE3, 0x2C, 0x00, 0x5C, 0x45, + 0x31, 0x38, 0x62, 0x72, 0x16, 0xF7, 0xB4, 0x71, 0x01, 0xE6, 0x78, 0x70, 0x4D, 0x39, 0x78, 0x01, + 0x1F, 0xA4, 0x05, 0xB3, 0x97, 0x5F, 0x98, 0x4D, 0x38, 0x9E, 0x8D, 0xF7, 0xF1, 0xA2, 0xB9, 0xD4, + 0x52, 0xE6, 0xF1, 0x4C, 0x1E, 0x72, 0x68, 0x57, 0xEE, 0xEC, 0x63, 0xCC, 0x94, 0xF9, 0x32, 0xF1, + 0x97, 0x01, 0x7F, 0xBF, 0xAA, 0x5F, 0x88, 0x6F, 0xF0, 0x79, 0x7C, 0xCB, 0xFA, 0x2B, 0x2D, 0x8F, + 0x4E, 0x12, 0x71, 0xC3, 0xDC, 0x7D, 0x8A, 0xF1, 0x0B, 0xA1, 0xEA, 0x0C, 0x0B, 0xF2, 0x3B, 0x97, + 0xE7, 0x9F, 0x81, 0x44, 0xEC, 0x47, 0x48, 0x82, 0x50, 0xBE, 0xC2, 0xF8, 0x3C, 0xC2, 0x78, 0x5B, + 0x87, 0x36, 0x94, 0x52, 0x23, 0x4B, 0x30, 0xED, 0xFC, 0x47, 0x5D, 0x7F, 0xB3, 0xA2, 0x69, 0x59, + 0x9E, 0x13, 0x8F, 0x17, 0xC2, 0x75, 0x5F, 0x7B, 0xED, 0xD5, 0x5E, 0x39, 0xFD, 0x0E, 0xD8, 0xFD, + 0xE6, 0xFE, 0xFA, 0x19, 0x58, 0xA6, 0x2D, 0xAF, 0x84, 0xD0, 0x4F, 0x63, 0x8F, 0xF4, 0xCE, 0xD9, + 0x6B, 0xE3, 0x29, 0x65, 0xD4, 0xD7, 0x84, 0x3D, 0xEB, 0xC7, 0x0B, 0x4E, 0x23, 0xF0, 0xFF, 0x0E, + 0xBF, 0x23, 0xF0, 0x66, 0xB5, 0xDD, 0x1B, 0x33, 0x66, 0x21, 0x3A, 0x39, 0xC3, 0x1A, 0xF2, 0x19, + 0x88, 0x56, 0x6F, 0x7B, 0x38, 0x1C, 0x20, 0x01, 0xCA, 0x42, 0x3D, 0x7E, 0xB3, 0x2F, 0x4F, 0x4B, + 0x22, 0x5E, 0xCF, 0x18, 0x74, 0x6A, 0x9F, 0xBF, 0x00, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, + 0x00, 0x08, 0x00, 0xF0, 0x58, 0x3F, 0x52, 0x09, 0x1A, 0xD6, 0xAE, 0xF6, 0x05, 0x00, 0x00, 0x6D, + 0x11, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, + 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, + 0x69, 0x6E, 0x2F, 0x70, 0x61, 0x63, 0x6B, 0x61, 0x67, 0x65, 0x2E, 0x6A, 0x73, 0x6F, 0x6E, 0xAD, + 0x58, 0xE9, 0x8E, 0xD3, 0x30, 0x10, 0xFE, 0xCF, 0x53, 0x44, 0xFB, 0x13, 0x48, 0xDA, 0xB4, 0x4D, + 0x77, 0x5B, 0x09, 0xC4, 0xB1, 0x80, 0xB8, 0x8F, 0xE5, 0x12, 0x14, 0x90, 0x9B, 0xB8, 0x69, 0xA8, + 0x13, 0x07, 0xDB, 0xD9, 0x6E, 0x17, 0xF1, 0xEE, 0x8C, 0xAF, 0x38, 0x47, 0xBB, 0x2B, 0x24, 0xA4, + 0x95, 0xA8, 0x67, 0xBE, 0x99, 0xF1, 0xDC, 0x0E, 0xBF, 0x6F, 0x78, 0xDE, 0xD1, 0x8F, 0x15, 0xA3, + 0xF9, 0xD1, 0xDC, 0x3B, 0x5A, 0x65, 0x0C, 0x2F, 0x11, 0xC7, 0x3E, 0x4A, 0xF2, 0xAC, 0xB8, 0xF7, + 0x7D, 0x16, 0x8C, 0x82, 0xE1, 0xD1, 0x6D, 0x85, 0xC9, 0x92, 0x3D, 0x88, 0x59, 0x30, 0x09, 0x46, + 0x16, 0x50, 0x3C, 0xA8, 0x8A, 0x84, 0x60, 0x80, 0xAD, 0x10, 0xE1, 0xD8, 0x52, 0x05, 0x4E, 0x59, + 0x26, 0x76, 0x52, 0x9A, 0xAF, 0x51, 0x14, 0x8E, 0xFC, 0xFC, 0x5D, 0xF1, 0xE0, 0xD9, 0xF2, 0xD3, + 0xF4, 0xC1, 0xFD, 0xCB, 0xE9, 0xE9, 0xB3, 0xCD, 0x97, 0xE1, 0x93, 0xD7, 0x1F, 0xDE, 0x6F, 0xF2, + 0x22, 0x7F, 0xC8, 0xB6, 0x1F, 0x2F, 0x5F, 0x32, 0xFC, 0x32, 0x9E, 0xBE, 0xBE, 0xF5, 0xEE, 0xF3, + 0xA7, 0x6A, 0xF3, 0x78, 0x97, 0xBC, 0xBE, 0xCC, 0xA2, 0xCF, 0x6C, 0xFA, 0xFE, 0xF9, 0x59, 0xF6, + 0xE6, 0xF9, 0x05, 0x7D, 0xFD, 0x76, 0x3B, 0x09, 0xD9, 0xEC, 0x29, 0xA9, 0xDE, 0x8C, 0xEE, 0x7F, + 0x19, 0xBF, 0xBD, 0x3C, 0x27, 0x17, 0xA3, 0xB3, 0x77, 0xB7, 0xD2, 0x3B, 0x77, 0xCC, 0x45, 0x08, + 0x8D, 0x91, 0xC8, 0x68, 0x21, 0x2D, 0x0E, 0xDA, 0x17, 0x36, 0x88, 0x72, 0x8D, 0x0A, 0x41, 0xF3, + 0x87, 0xEB, 0x8C, 0x24, 0x0C, 0x4B, 0xE0, 0xEF, 0x3F, 0x9A, 0xC3, 0xF0, 0xAF, 0x0A, 0x73, 0x81, + 0xA5, 0xB3, 0x32, 0x36, 0x40, 0x13, 0xBB, 0x12, 0x4B, 0x55, 0x0C, 0x15, 0x29, 0x56, 0x0A, 0x3C, + 0x38, 0xE0, 0x34, 0xE3, 0x82, 0x49, 0xAF, 0x04, 0xAB, 0xB0, 0xA5, 0xA2, 0xED, 0xC1, 0x30, 0x5A, + 0xC9, 0x02, 0xE5, 0xB8, 0x0F, 0xB2, 0x5C, 0xCC, 0x63, 0x54, 0xE2, 0xE4, 0xD5, 0x7E, 0x90, 0x33, + 0x73, 0x56, 0xE2, 0x58, 0x02, 0xDA, 0xBA, 0x39, 0x3A, 0xC7, 0x86, 0x53, 0x54, 0x84, 0x18, 0xEA, + 0x0A, 0x8B, 0x78, 0xDD, 0x11, 0x00, 0x4E, 0xC3, 0x63, 0xB0, 0x92, 0x3C, 0x90, 0xBE, 0x7C, 0xD5, + 0x12, 0x03, 0xC9, 0xFF, 0x66, 0xF9, 0x9C, 0x92, 0x73, 0xAC, 0xB2, 0xBF, 0x16, 0xA2, 0xE4, 0xF3, + 0xC1, 0xC0, 0x7A, 0x1F, 0x14, 0x65, 0xFE, 0x93, 0x07, 0x94, 0xA5, 0x9D, 0x38, 0x0F, 0xFC, 0x0E, + 0xC1, 0x57, 0x95, 0x12, 0x88, 0xF4, 0xD2, 0xA4, 0x00, 0x4A, 0x81, 0x57, 0xAA, 0xE8, 0xC2, 0xD9, + 0x30, 0x89, 0x92, 0xE3, 0x18, 0x45, 0x78, 0xBC, 0x1A, 0x45, 0x61, 0x32, 0x9B, 0x45, 0xC3, 0xF1, + 0x0A, 0x2F, 0xA7, 0x78, 0x18, 0xE1, 0x63, 0xB4, 0x0C, 0xA7, 0xA3, 0xF1, 0x49, 0x14, 0x5A, 0x41, + 0x70, 0xE4, 0xBA, 0x5A, 0xDD, 0xAE, 0x31, 0x53, 0xF1, 0x7B, 0x38, 0x5F, 0x2C, 0x3E, 0x70, 0xCC, + 0xF8, 0x62, 0x71, 0x56, 0x6D, 0x11, 0xC4, 0x01, 0x65, 0x8B, 0xC5, 0x29, 0xE6, 0x1B, 0x41, 0xCB, + 0xC5, 0x42, 0x40, 0xAA, 0x17, 0x8B, 0x55, 0x55, 0xC4, 0xB2, 0x5E, 0xB8, 0x96, 0x46, 0x95, 0x58, + 0x53, 0x66, 0xF3, 0xEF, 0x12, 0xF6, 0xD8, 0x18, 0xAC, 0x53, 0x95, 0xA3, 0x8C, 0xB4, 0x6E, 0xC2, + 0xAB, 0xB2, 0xA4, 0x4C, 0xDC, 0x4B, 0x29, 0x4D, 0x09, 0x0E, 0x62, 0x9A, 0x5B, 0x6C, 0xC5, 0x48, + 0x33, 0x7E, 0x56, 0x22, 0x70, 0xC8, 0x81, 0x4B, 0xC9, 0xB2, 0x4A, 0xB9, 0x31, 0xDF, 0x17, 0x4D, + 0x33, 0xB1, 0xAE, 0x96, 0x52, 0xA2, 0xD6, 0xD2, 0x0D, 0x75, 0x41, 0x13, 0x3C, 0xC8, 0x38, 0x87, + 0x42, 0x6E, 0x28, 0x55, 0xBD, 0x79, 0x8A, 0x4B, 0x5C, 0x24, 0xB8, 0x88, 0x33, 0xE0, 0x35, 0xFB, + 0x34, 0x71, 0x8C, 0x86, 0xED, 0x7B, 0xB5, 0x89, 0x04, 0x09, 0x24, 0x7F, 0xA8, 0x12, 0x1A, 0x06, + 0x27, 0x01, 0xA4, 0xE3, 0x10, 0xC6, 0x97, 0x1D, 0xC3, 0x0D, 0x72, 0xEA, 0x90, 0x26, 0x2E, 0x7E, + 0x4C, 0x68, 0x95, 0xA8, 0x4B, 0x73, 0x41, 0x99, 0x56, 0x39, 0x09, 0xA2, 0x60, 0xB8, 0x1F, 0x28, + 0x41, 0x28, 0xD5, 0xB0, 0x28, 0x18, 0x37, 0x60, 0xCA, 0xCE, 0x00, 0xDC, 0xD5, 0xCC, 0x70, 0x18, + 0xC0, 0x5F, 0xCD, 0x4E, 0xB2, 0x18, 0x33, 0x7D, 0x8B, 0xA6, 0xD4, 0x4F, 0x4E, 0x8B, 0x2D, 0x5E, + 0x0A, 0xBA, 0xC1, 0x85, 0xE2, 0x9E, 0x80, 0xE9, 0xFA, 0x8E, 0x52, 0x99, 0xBF, 0xA2, 0xCC, 0xD8, + 0xD3, 0x1A, 0x55, 0x14, 0x6D, 0x98, 0x18, 0x8E, 0x11, 0xCC, 0x87, 0x4E, 0xF4, 0x78, 0xCC, 0xB2, + 0x52, 0x16, 0x51, 0xB3, 0x52, 0x3C, 0x95, 0x0F, 0xEF, 0xEC, 0xF4, 0xB9, 0x07, 0x2A, 0xBD, 0x57, + 0xA0, 0x3B, 0xF8, 0xC9, 0x8F, 0x8C, 0xC8, 0xF9, 0xE9, 0x35, 0x31, 0x47, 0x65, 0xE9, 0x82, 0x38, + 0xEE, 0xC7, 0x5B, 0x16, 0xAA, 0xBD, 0x65, 0x14, 0x8C, 0xF6, 0x03, 0x5A, 0xC9, 0x90, 0x11, 0xAA, + 0x61, 0x79, 0x16, 0x33, 0xCA, 0xE9, 0x4A, 0x80, 0xA1, 0xCC, 0xC7, 0x17, 0x82, 0xA1, 0x18, 0x42, + 0xAD, 0xA0, 0xC7, 0x41, 0x18, 0x1A, 0x8D, 0x2E, 0xD0, 0xCB, 0x98, 0xED, 0x4A, 0xA1, 0xF8, 0xD0, + 0x6A, 0xBD, 0x3C, 0xC8, 0xDE, 0xD2, 0xB9, 0x3C, 0xC0, 0xF4, 0x11, 0xF7, 0x4B, 0xD8, 0x34, 0x19, + 0xC7, 0x89, 0xB5, 0xD2, 0x05, 0xBA, 0x5A, 0x56, 0x09, 0xF2, 0x53, 0x5C, 0x60, 0x86, 0xE0, 0x5A, + 0xB5, 0xD9, 0xD1, 0x49, 0x47, 0x62, 0x5F, 0x42, 0x7B, 0x6A, 0x09, 0x4D, 0x10, 0x5F, 0x9B, 0xEB, + 0x85, 0xF0, 0x37, 0x9C, 0x74, 0x10, 0x90, 0xA9, 0x0C, 0xAE, 0xA6, 0xFD, 0x03, 0xE7, 0x7B, 0x2A, + 0x72, 0x0A, 0x4E, 0xE8, 0x6B, 0x00, 0x77, 0x72, 0xD2, 0x2B, 0xC3, 0x78, 0x63, 0x06, 0x6C, 0xDF, + 0x2B, 0xB3, 0x56, 0x8C, 0xF4, 0xE4, 0xF8, 0x10, 0xC0, 0xC6, 0xC7, 0x5E, 0x34, 0x98, 0x84, 0x1D, + 0x20, 0xCF, 0x0A, 0x5A, 0x68, 0x3B, 0x3A, 0xCC, 0x7D, 0xAE, 0x5F, 0x67, 0x62, 0xDC, 0x85, 0x98, + 0x3A, 0xF5, 0x31, 0x27, 0xB0, 0x98, 0x07, 0xEA, 0x1F, 0x30, 0x4A, 0xAA, 0x34, 0x2B, 0xAC, 0x6B, + 0x57, 0x8B, 0x94, 0x88, 0xC1, 0x3C, 0xDD, 0x83, 0x6D, 0x54, 0x47, 0xD4, 0x34, 0xEB, 0xCA, 0xA2, + 0x19, 0xD3, 0xFD, 0xF5, 0xD0, 0x91, 0x23, 0x1B, 0x93, 0x8C, 0x30, 0x18, 0xD7, 0x64, 0xB9, 0xB3, + 0xA5, 0x58, 0x8C, 0x79, 0x2D, 0x6E, 0xAF, 0xE3, 0xAA, 0x3B, 0xC1, 0xA4, 0x4F, 0xD4, 0x2E, 0x28, + 0xFA, 0x34, 0x38, 0x71, 0xA6, 0xAE, 0xAD, 0xB9, 0x1A, 0x99, 0x56, 0xA4, 0xAC, 0x6B, 0x7C, 0xD4, + 0xA4, 0xFA, 0xAB, 0x8C, 0x08, 0x13, 0x98, 0x69, 0x57, 0xC4, 0x5F, 0x63, 0x94, 0x18, 0x66, 0x08, + 0x96, 0x4F, 0x5A, 0x4C, 0x86, 0x4B, 0x82, 0x62, 0x3B, 0x70, 0xA2, 0x60, 0xD2, 0xE2, 0xDA, 0x14, + 0xB8, 0xD8, 0x5A, 0x87, 0xF4, 0x52, 0xF0, 0x73, 0x08, 0x04, 0xCC, 0x47, 0xBF, 0x91, 0x99, 0x21, + 0x80, 0xC6, 0x13, 0x37, 0xF1, 0x12, 0x9A, 0x6B, 0xDB, 0xAD, 0xCC, 0xB4, 0x7B, 0x02, 0x9A, 0x31, + 0xB2, 0x9C, 0xC3, 0xBD, 0xE0, 0x9A, 0x00, 0xE2, 0xD7, 0x20, 0x5F, 0x9A, 0x58, 0x35, 0x2A, 0xBB, + 0x6E, 0x88, 0xB0, 0x55, 0x86, 0xF0, 0x64, 0xF0, 0x59, 0x55, 0xF8, 0x88, 0x90, 0xBA, 0xCA, 0xA3, + 0x9A, 0xB9, 0x8B, 0xB5, 0xC8, 0xA4, 0xD9, 0x44, 0xED, 0xEE, 0x39, 0x6E, 0x74, 0xF7, 0x81, 0xB6, + 0x71, 0x11, 0x92, 0x96, 0xB8, 0x04, 0x15, 0x26, 0xC0, 0x61, 0xD3, 0xDC, 0x81, 0x66, 0xBA, 0xAA, + 0x8B, 0x04, 0x57, 0xFB, 0xB5, 0x2F, 0x24, 0xF3, 0x94, 0xD0, 0xD8, 0x4E, 0xDA, 0x99, 0x2B, 0x0F, + 0x97, 0x41, 0xA3, 0xEE, 0xD8, 0x95, 0xF3, 0x0E, 0xB1, 0x94, 0xEB, 0x8B, 0x4D, 0x83, 0xD6, 0xAA, + 0xC1, 0x05, 0xF4, 0x64, 0x73, 0x31, 0x58, 0xB3, 0x77, 0xEF, 0x84, 0xDD, 0xB5, 0x04, 0xB5, 0xA7, + 0x90, 0x5F, 0x4D, 0x62, 0xB3, 0xE5, 0xC0, 0x1A, 0x78, 0xF1, 0xF4, 0xE1, 0xA3, 0x57, 0x67, 0x8F, + 0xEC, 0xF1, 0xDD, 0xA3, 0xFB, 0xA7, 0x2F, 0x1F, 0x05, 0x79, 0x62, 0x09, 0x25, 0x8A, 0x37, 0x50, + 0x3D, 0x81, 0x9C, 0xA2, 0xEE, 0xD5, 0xB7, 0xA6, 0x39, 0x2E, 0x81, 0x7C, 0xED, 0xA3, 0x45, 0xA1, + 0x37, 0x78, 0xB7, 0xA5, 0x2C, 0x69, 0xDC, 0xA0, 0xF5, 0x5C, 0xB5, 0xEF, 0x02, 0x7D, 0x76, 0xEB, + 0xD1, 0x25, 0x11, 0x11, 0x91, 0xE5, 0xF5, 0x59, 0xAE, 0x2D, 0x5C, 0x88, 0x4C, 0xBF, 0xE2, 0xDD, + 0xA5, 0x08, 0x2C, 0xF4, 0x42, 0x27, 0xF9, 0x3E, 0x5C, 0x7B, 0x8D, 0xFD, 0xFA, 0xC5, 0x97, 0x23, + 0x39, 0xBF, 0xB4, 0xE7, 0x19, 0xEC, 0xD4, 0x0B, 0xBD, 0x67, 0xAF, 0x7A, 0x6E, 0xEB, 0x6A, 0x73, + 0xE1, 0x85, 0x05, 0x08, 0xDA, 0xC1, 0xA0, 0xF1, 0x42, 0x11, 0x03, 0xA1, 0x9E, 0x50, 0xEA, 0x06, + 0x8A, 0x90, 0x15, 0x31, 0xA9, 0x12, 0xDC, 0xC4, 0x70, 0x16, 0x5B, 0x8C, 0xD5, 0xD4, 0xC3, 0xDC, + 0xBC, 0x39, 0xB8, 0x19, 0x24, 0x3D, 0x6D, 0xD0, 0x03, 0xE6, 0x03, 0xA2, 0x4E, 0x25, 0x55, 0xAF, + 0x08, 0x44, 0xBA, 0x8F, 0x83, 0xFF, 0xFC, 0x84, 0xAA, 0xED, 0xC1, 0xF0, 0xA1, 0x3C, 0x03, 0xFE, + 0xAE, 0xFF, 0xC5, 0x03, 0x6F, 0xCD, 0xC6, 0x03, 0xD6, 0x50, 0x6E, 0xFD, 0xE3, 0x4B, 0x34, 0x00, + 0x9C, 0x33, 0xA7, 0xFB, 0xA0, 0xE1, 0x51, 0xE7, 0xED, 0xD1, 0x21, 0x78, 0xAC, 0x92, 0xB9, 0xEA, + 0x23, 0xE7, 0xF2, 0x23, 0x8F, 0xEC, 0xC5, 0x7B, 0xBE, 0xAF, 0x99, 0x4E, 0x0E, 0xFA, 0x12, 0x4C, + 0xEA, 0x16, 0xF2, 0xE0, 0x00, 0x13, 0x7E, 0x60, 0xA6, 0x3C, 0xF6, 0x25, 0x13, 0xCA, 0x05, 0xC4, + 0x00, 0xE9, 0x49, 0x48, 0xBD, 0xD2, 0x2A, 0xD8, 0x35, 0x20, 0xA7, 0x06, 0xB1, 0xA7, 0x4E, 0x2D, + 0xD6, 0x5C, 0x7E, 0x3F, 0xF0, 0x1A, 0x00, 0x91, 0x28, 0xA1, 0x11, 0x7F, 0x48, 0xAA, 0xC5, 0xE9, + 0xCF, 0x5F, 0xF3, 0x39, 0x6A, 0xC6, 0x91, 0xD6, 0xE4, 0x49, 0xD8, 0xBC, 0xC1, 0xAF, 0xC7, 0x32, + 0xD0, 0x2C, 0xB6, 0xF4, 0xE4, 0x69, 0x0E, 0x25, 0xA6, 0x7F, 0x34, 0x55, 0x5B, 0x0E, 0x60, 0xCD, + 0x66, 0xF3, 0xE0, 0x34, 0xF0, 0x7C, 0x19, 0x0E, 0x0F, 0x6A, 0xCD, 0x02, 0x9D, 0xA4, 0x43, 0xCA, + 0xE3, 0x1E, 0x68, 0xC9, 0xA0, 0xED, 0x65, 0x3D, 0xA9, 0x39, 0x2D, 0xA3, 0xD9, 0x76, 0x5B, 0x8A, + 0x39, 0x3F, 0x6A, 0x4D, 0xF3, 0xAA, 0x70, 0xA5, 0xA2, 0x08, 0x31, 0x3D, 0xC7, 0xBA, 0xE4, 0x54, + 0x9B, 0x79, 0x46, 0xDB, 0x01, 0x74, 0x2B, 0x4A, 0x66, 0xC9, 0xE8, 0x2B, 0x36, 0x38, 0xD0, 0x41, + 0x42, 0x66, 0x89, 0x13, 0xBA, 0xF5, 0xA2, 0xE1, 0x70, 0x08, 0xBF, 0xE5, 0xD8, 0xA0, 0x95, 0xF0, + 0x46, 0x43, 0x7D, 0x36, 0x1F, 0xB3, 0x9E, 0x99, 0xD2, 0xE6, 0x43, 0x15, 0x33, 0x6B, 0xAD, 0x36, + 0xDF, 0x31, 0x23, 0x49, 0xA0, 0x5F, 0x7E, 0x5B, 0x82, 0x91, 0x2B, 0x14, 0xB9, 0x4A, 0xAE, 0xDF, + 0xD5, 0xC1, 0xA0, 0x9E, 0x3A, 0xBA, 0xC5, 0x15, 0x1B, 0xDC, 0xE7, 0xC6, 0x1D, 0xFD, 0x9F, 0x24, + 0x37, 0xFE, 0xDC, 0xF8, 0x0B, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, + 0x79, 0x5A, 0x0B, 0x42, 0x2F, 0x58, 0xF4, 0x91, 0x04, 0x00, 0x00, 0xEF, 0x0A, 0x00, 0x00, 0x25, + 0x00, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, + 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x52, + 0x45, 0x41, 0x44, 0x4D, 0x45, 0x2E, 0x6D, 0x64, 0x9D, 0x56, 0x59, 0x8F, 0xD3, 0x30, 0x10, 0x7E, + 0xF7, 0xAF, 0x18, 0x2E, 0x69, 0x8B, 0xB6, 0xC9, 0x82, 0xC4, 0x0B, 0x88, 0x87, 0x05, 0x16, 0x54, + 0x8E, 0x05, 0xD1, 0x45, 0x08, 0xAD, 0x90, 0xEA, 0x26, 0xD3, 0xC4, 0xE0, 0xD8, 0xC1, 0x47, 0xCB, + 0xFE, 0x7B, 0x66, 0x62, 0xA7, 0x07, 0x20, 0x58, 0x90, 0x2A, 0x35, 0xF1, 0xCC, 0x7C, 0x33, 0xF3, + 0xCD, 0xE1, 0x5C, 0xDE, 0xB8, 0x7C, 0x12, 0x95, 0xAE, 0x61, 0x1E, 0x64, 0x88, 0xFE, 0xF3, 0x51, + 0x1B, 0x42, 0xEF, 0x1F, 0x96, 0x65, 0xA3, 0x42, 0x1B, 0x97, 0x45, 0x65, 0xBB, 0x72, 0xA5, 0x1C, + 0x2E, 0xA5, 0xC7, 0xED, 0xC3, 0x54, 0xD6, 0x9D, 0x32, 0x53, 0x63, 0x6B, 0x2C, 0x37, 0xD6, 0x7D, + 0x5D, 0x69, 0xBB, 0xF1, 0xE5, 0x53, 0x6B, 0x82, 0x32, 0xD1, 0x46, 0x7F, 0xE7, 0xFE, 0xC9, 0xCC, + 0x04, 0x6C, 0x9C, 0x0C, 0xCA, 0x9A, 0x72, 0x29, 0xEB, 0x06, 0x0B, 0xBF, 0x6E, 0x26, 0xFF, 0x0E, + 0x2F, 0x2B, 0x86, 0xF0, 0x13, 0x21, 0x6E, 0xC1, 0xF3, 0x2C, 0x87, 0x53, 0x96, 0xC3, 0x39, 0xC9, + 0x8B, 0x2F, 0x1E, 0xE6, 0xCF, 0x5E, 0x09, 0x12, 0xDF, 0x82, 0x0B, 0xB9, 0xD4, 0x08, 0x76, 0x05, + 0x1C, 0x09, 0x9A, 0xE0, 0x85, 0x80, 0xBB, 0x70, 0xF9, 0x76, 0x8D, 0x6E, 0xAD, 0x70, 0xF3, 0xF9, + 0xE8, 0x96, 0xCD, 0x8F, 0x93, 0x41, 0x30, 0x33, 0x3E, 0x48, 0xAD, 0x87, 0x20, 0x49, 0xA8, 0xF6, + 0x5E, 0x93, 0x02, 0xE3, 0x38, 0xB5, 0x8C, 0x94, 0x56, 0x43, 0x0A, 0xD5, 0xDE, 0x6B, 0x52, 0x78, + 0x66, 0xAB, 0xD8, 0x91, 0xA7, 0x11, 0xA2, 0x1E, 0xDF, 0x77, 0x18, 0xF3, 0xD8, 0xF7, 0xD6, 0x05, + 0xAC, 0xE1, 0xCC, 0xAC, 0x95, 0xB3, 0x86, 0xE5, 0x9E, 0x74, 0xFD, 0x28, 0x98, 0xE2, 0x9E, 0x20, + 0x19, 0x9D, 0x56, 0x5F, 0x8D, 0xDD, 0x68, 0xAC, 0x9B, 0x51, 0x5B, 0xEE, 0x4E, 0x76, 0x6A, 0xAF, + 0x55, 0x85, 0xC6, 0x23, 0x89, 0x75, 0x7A, 0x9A, 0x24, 0x22, 0xC6, 0x8C, 0x85, 0xB8, 0x1C, 0x39, + 0xDB, 0x32, 0xBF, 0x65, 0xB9, 0x68, 0xAC, 0x6D, 0x34, 0x72, 0x09, 0x26, 0xD0, 0x3B, 0xBB, 0x56, + 0x35, 0x7A, 0x08, 0x2D, 0x42, 0xB0, 0x56, 0x7B, 0x90, 0xA6, 0x06, 0x65, 0x56, 0x4E, 0xFA, 0xE0, + 0x62, 0x15, 0xA2, 0x43, 0x71, 0x65, 0x23, 0x18, 0xC4, 0x9A, 0x34, 0xA0, 0xC6, 0x35, 0x6A, 0xDB, + 0x03, 0x9D, 0x39, 0x90, 0x7D, 0x7F, 0x0C, 0x8D, 0xB3, 0x9B, 0xF4, 0x1A, 0x3D, 0x3A, 0x60, 0x1F, + 0xC7, 0x03, 0x0A, 0x4A, 0x67, 0xA0, 0xB3, 0x06, 0xAF, 0x0A, 0xB8, 0x20, 0xFC, 0x31, 0x26, 0xF1, + 0x4B, 0x1D, 0x01, 0x0D, 0xD7, 0x90, 0x9C, 0x57, 0x15, 0x7A, 0x4F, 0x7E, 0x76, 0x45, 0xF7, 0x9C, + 0x53, 0x45, 0xB2, 0x95, 0xB3, 0x1D, 0x05, 0xAC, 0xD6, 0x4A, 0x63, 0x43, 0xC1, 0xEC, 0xD3, 0x27, + 0x8E, 0x7C, 0xAC, 0x5A, 0x90, 0x7E, 0x50, 0x47, 0xE7, 0xC1, 0x3A, 0xA8, 0xB4, 0x8D, 0xF5, 0x04, + 0x76, 0xAE, 0x0A, 0x21, 0x9E, 0xD3, 0x79, 0x67, 0x1D, 0x72, 0x8A, 0xD6, 0x75, 0x43, 0xC1, 0x8E, + 0x61, 0xAD, 0xBC, 0x0A, 0xCC, 0x81, 0xB8, 0x3C, 0x6C, 0x36, 0x0E, 0x8E, 0x20, 0x43, 0xEC, 0xA1, + 0x89, 0xAA, 0xFE, 0x33, 0x9D, 0x25, 0xB5, 0x81, 0x2F, 0x87, 0x26, 0x2E, 0x07, 0x9B, 0x72, 0x52, + 0xA4, 0xC2, 0xEC, 0x77, 0x9C, 0x10, 0xFB, 0x5C, 0xC0, 0xAF, 0x5C, 0x28, 0xA2, 0x61, 0x2D, 0x95, + 0x4E, 0x5D, 0x6D, 0xC0, 0xF4, 0x1D, 0x27, 0xB6, 0x38, 0x1C, 0x93, 0xC5, 0x43, 0x21, 0x16, 0x8B, + 0x05, 0x1D, 0xB4, 0xE2, 0xF6, 0xA0, 0x93, 0xFB, 0x18, 0xA6, 0x53, 0x2F, 0xD7, 0x08, 0x87, 0xEA, + 0xAC, 0x4B, 0x9E, 0x2D, 0xD7, 0x88, 0x13, 0x25, 0x12, 0xEA, 0xA8, 0x99, 0x86, 0x6D, 0x25, 0xA9, + 0x97, 0x32, 0x1D, 0x0B, 0x87, 0xDF, 0x22, 0x99, 0x2F, 0x40, 0x85, 0x44, 0xBB, 0x34, 0x57, 0xF0, + 0x92, 0xA2, 0x9A, 0x57, 0x4E, 0xF5, 0x74, 0x46, 0x25, 0x48, 0xFE, 0xBF, 0x78, 0xB1, 0x96, 0x64, + 0x3E, 0x64, 0xF1, 0x18, 0xB2, 0xE1, 0xD1, 0xCD, 0x43, 0xEF, 0x37, 0x27, 0x8F, 0x52, 0x00, 0xB3, + 0x15, 0xBB, 0x03, 0xE9, 0x90, 0x02, 0xA1, 0x71, 0x82, 0xB3, 0xF9, 0xFD, 0x93, 0x7B, 0x0F, 0x8E, + 0x87, 0xD3, 0x4A, 0x1A, 0x58, 0xA8, 0x8E, 0xA7, 0x63, 0xB1, 0x17, 0xE3, 0x90, 0x18, 0xCA, 0x7A, + 0xEB, 0x30, 0xA9, 0xC0, 0x5D, 0x62, 0x25, 0x39, 0x4E, 0x31, 0xFE, 0xEC, 0x73, 0x70, 0x99, 0xF8, + 0xDF, 0x1F, 0x68, 0x21, 0xDE, 0x69, 0x24, 0x2D, 0x8A, 0x75, 0x85, 0x8E, 0x5A, 0x6D, 0x70, 0x75, + 0xF9, 0xF4, 0xED, 0xF9, 0xC5, 0xFB, 0xD9, 0x93, 0x0F, 0x17, 0xB3, 0xF3, 0x17, 0xD0, 0xCB, 0x86, + 0x4A, 0x5D, 0x94, 0xFB, 0x87, 0x45, 0x47, 0xBD, 0xB4, 0xFA, 0x4D, 0xFB, 0x08, 0xB9, 0xB4, 0x31, + 0x40, 0x6B, 0x37, 0xDB, 0x2C, 0xB6, 0x1B, 0x03, 0x13, 0xBE, 0xF2, 0x3C, 0x69, 0x5F, 0xB0, 0x0A, + 0x05, 0x7C, 0x44, 0xD8, 0xA0, 0xA6, 0x76, 0x41, 0x58, 0xC6, 0x86, 0xA2, 0xE0, 0x64, 0xFC, 0x31, + 0xAC, 0x50, 0x0E, 0xC3, 0xC6, 0x14, 0xA2, 0xA7, 0x13, 0x42, 0xA9, 0x39, 0x4A, 0x9E, 0x68, 0x92, + 0x62, 0xBD, 0xA4, 0x65, 0x90, 0x26, 0x4B, 0x6A, 0x6F, 0xA1, 0x8F, 0x54, 0xEC, 0x51, 0x3B, 0x37, + 0xDA, 0xEF, 0xB7, 0x8E, 0x10, 0xE4, 0x34, 0xEF, 0x9D, 0x6D, 0xAB, 0xDD, 0x3B, 0x29, 0xE8, 0x77, + 0x32, 0xE0, 0xB5, 0xAA, 0x69, 0xD1, 0x15, 0x23, 0x35, 0x09, 0xDF, 0x58, 0x0E, 0xBF, 0x95, 0x3C, + 0x18, 0x07, 0xE3, 0xD0, 0xDA, 0xA8, 0x6B, 0xEA, 0x4C, 0x7D, 0x25, 0x96, 0x5C, 0x47, 0xE4, 0x85, + 0x91, 0x07, 0x6F, 0xEA, 0x69, 0x4A, 0x4A, 0x8E, 0x94, 0xD6, 0xDB, 0xE1, 0x8C, 0x26, 0x56, 0xAC, + 0xD6, 0xA4, 0xBF, 0xBC, 0x62, 0x50, 0xEE, 0xBA, 0x71, 0xA1, 0xB0, 0xFB, 0x0B, 0x22, 0x8A, 0xA0, + 0x2A, 0x1D, 0x79, 0x25, 0x75, 0xD6, 0x87, 0x8C, 0xCA, 0x41, 0xE6, 0x47, 0xCD, 0xFB, 0xA1, 0xA7, + 0x51, 0x62, 0xFE, 0x3D, 0x1C, 0x2D, 0x6D, 0x68, 0x29, 0x96, 0x69, 0xEF, 0xB0, 0x53, 0x1E, 0xF3, + 0xFA, 0x12, 0x84, 0x9E, 0xE7, 0xBF, 0x80, 0x59, 0xA0, 0x99, 0xE2, 0x74, 0x88, 0x2D, 0xE2, 0xBD, + 0xA3, 0xC0, 0x86, 0x5D, 0xC6, 0xA1, 0xFF, 0x94, 0x1B, 0xFD, 0x55, 0x5A, 0x51, 0xB4, 0x43, 0x1E, + 0x62, 0x17, 0xFE, 0x96, 0xE1, 0x83, 0xD5, 0x2F, 0x04, 0x6F, 0xFA, 0x61, 0x3D, 0xBC, 0xF8, 0x9F, + 0xF5, 0xC0, 0xE6, 0xCF, 0x64, 0x90, 0xAC, 0x79, 0x6D, 0x84, 0x3A, 0x1B, 0x8C, 0x50, 0x41, 0xBA, + 0x90, 0xA0, 0x4E, 0x63, 0x68, 0x29, 0xB4, 0x3C, 0xC7, 0xD7, 0x06, 0x94, 0x64, 0x96, 0xC0, 0x12, + 0xCC, 0x53, 0xE6, 0x0D, 0xDE, 0x10, 0xD1, 0xB2, 0xA1, 0x81, 0xB9, 0x36, 0xCE, 0xC0, 0xF7, 0xB4, + 0x1B, 0xED, 0xF6, 0x21, 0x4F, 0xDF, 0xCD, 0xE0, 0x3D, 0xCF, 0x1B, 0x9A, 0xEA, 0x3A, 0x50, 0x6E, + 0xD4, 0xCD, 0x20, 0xFC, 0x4D, 0x90, 0x90, 0xDE, 0x63, 0x6A, 0xD1, 0x73, 0xEA, 0x4E, 0xFF, 0x67, + 0xA4, 0xDC, 0xF1, 0x04, 0x36, 0x98, 0x4C, 0x0D, 0x9B, 0x1C, 0x00, 0xA6, 0x92, 0xFE, 0x74, 0xEB, + 0xF2, 0x82, 0x96, 0xE6, 0xAB, 0x1F, 0x57, 0x03, 0xED, 0x1E, 0x5A, 0x80, 0x81, 0x78, 0x21, 0x90, + 0x80, 0xDF, 0xC3, 0xCE, 0x6B, 0x95, 0x4F, 0x06, 0x77, 0x69, 0x3B, 0x04, 0x27, 0x8D, 0xA7, 0xE0, + 0x1D, 0xAF, 0x1A, 0xBB, 0x31, 0x74, 0x17, 0xB5, 0xAA, 0xA7, 0xAF, 0x13, 0xC6, 0xFA, 0x65, 0x89, + 0xF3, 0xE2, 0x1E, 0xD7, 0x9C, 0x5D, 0xE7, 0x75, 0xB4, 0xBB, 0x1E, 0x92, 0x73, 0x41, 0x3D, 0xCD, + 0xD8, 0x2C, 0x51, 0x0E, 0xB4, 0x35, 0x4D, 0x50, 0x1D, 0x4D, 0x5E, 0x6E, 0xF7, 0x9C, 0x67, 0xF2, + 0xB1, 0xB3, 0xDD, 0x4E, 0x49, 0xEE, 0xDC, 0xFC, 0xD5, 0x20, 0xC4, 0x9F, 0xEF, 0x9E, 0xFC, 0x49, + 0x51, 0x43, 0xA4, 0x31, 0x71, 0xE9, 0x52, 0x3C, 0xED, 0x65, 0x45, 0xC8, 0x19, 0xE1, 0x18, 0xF8, + 0x86, 0xE5, 0x0E, 0xBB, 0x5F, 0x9C, 0x24, 0x32, 0x88, 0x8B, 0xCD, 0x66, 0x53, 0xC8, 0x41, 0xAF, + 0xB0, 0xAE, 0x29, 0x33, 0x8C, 0x2F, 0x5F, 0xCF, 0x9E, 0x9E, 0x9D, 0xCF, 0xCF, 0xA6, 0xA4, 0xCB, + 0xD7, 0xE1, 0xA7, 0xFC, 0xA1, 0x40, 0xD1, 0x6E, 0x23, 0x65, 0xB7, 0x0D, 0xA7, 0x6F, 0x86, 0xD5, + 0x90, 0x7C, 0x5E, 0x20, 0xCD, 0x37, 0x6B, 0xCD, 0xD3, 0x07, 0x00, 0x33, 0xB0, 0xB5, 0xC8, 0x87, + 0x7F, 0xEB, 0x80, 0xC0, 0x18, 0x7C, 0x0B, 0xFF, 0x00, 0x50, 0x4B, 0x03, 0x04, 0x14, 0x00, 0x00, + 0x00, 0x08, 0x00, 0x53, 0x61, 0x47, 0x52, 0x3C, 0x16, 0x81, 0xB8, 0x54, 0x01, 0x00, 0x00, 0x43, + 0x02, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x70, 0x61, 0x63, 0x6B, 0x61, 0x67, 0x65, 0x2E, 0x6A, + 0x73, 0x6F, 0x6E, 0x75, 0x51, 0x5D, 0x4B, 0x03, 0x31, 0x10, 0x7C, 0xEF, 0xAF, 0x58, 0xEE, 0x41, + 0x14, 0x6C, 0x5A, 0x0B, 0x3E, 0x58, 0x44, 0x84, 0xFA, 0x81, 0x88, 0x20, 0xA8, 0x6F, 0x52, 0x48, + 0x2F, 0xDB, 0xBB, 0xB5, 0x77, 0xD9, 0x90, 0xEC, 0xD5, 0x52, 0xE9, 0x7F, 0x37, 0xC9, 0x59, 0x2C, + 0x82, 0x8F, 0x99, 0x9D, 0xD9, 0x99, 0x9D, 0x7C, 0x0D, 0x00, 0x0A, 0xAB, 0x5B, 0x2C, 0xA6, 0x50, + 0xE8, 0x4E, 0x78, 0x4B, 0xAE, 0x38, 0x4D, 0xE0, 0x1A, 0x7D, 0x20, 0xB6, 0x09, 0x3F, 0x53, 0x63, + 0x35, 0xEE, 0x51, 0x83, 0xA1, 0xF4, 0xE4, 0xE4, 0x67, 0x32, 0xE3, 0xD6, 0x79, 0x0C, 0x01, 0xA4, + 0x46, 0xB8, 0x67, 0xAE, 0x1A, 0x84, 0x59, 0xC3, 0x9D, 0x81, 0x20, 0xEC, 0x75, 0x85, 0xB0, 0xE8, + 0xCA, 0x15, 0x0A, 0x18, 0x2D, 0x1A, 0x84, 0x21, 0xAE, 0x87, 0x25, 0x45, 0x96, 0xB6, 0x06, 0x3A, + 0xD7, 0xB0, 0x36, 0x11, 0xCE, 0xF2, 0x40, 0x95, 0x45, 0x03, 0x6F, 0xBE, 0xE9, 0xAD, 0xD0, 0x56, + 0x64, 0x31, 0x44, 0x9B, 0x14, 0x32, 0xC5, 0x64, 0x83, 0x39, 0xCE, 0xA4, 0x88, 0xC0, 0x2E, 0x93, + 0x5A, 0x4D, 0x39, 0x08, 0x59, 0x83, 0x1B, 0xF5, 0x11, 0xF6, 0x29, 0x1D, 0x46, 0xC0, 0x96, 0x74, + 0xA8, 0xD7, 0xA6, 0x1D, 0x46, 0xFF, 0x44, 0x9F, 0x8F, 0xD5, 0xB9, 0x9A, 0x44, 0x72, 0x1E, 0x2C, + 0xC9, 0xE3, 0x42, 0x07, 0x1C, 0x46, 0x46, 0xBF, 0x6E, 0x7E, 0xA1, 0x26, 0x6A, 0xFC, 0x6B, 0xE3, + 0x3C, 0xAD, 0xB5, 0x24, 0x77, 0xF1, 0x1D, 0x46, 0x28, 0x97, 0x55, 0xB3, 0x4F, 0xE4, 0x97, 0xEE, + 0x53, 0x4B, 0x59, 0x6B, 0x82, 0x47, 0x05, 0x97, 0x61, 0xFF, 0xBA, 0xE6, 0x4E, 0x1A, 0xE6, 0x95, + 0x2A, 0xB9, 0xBD, 0x82, 0xE3, 0x5A, 0xC4, 0x85, 0xE9, 0x68, 0x54, 0x91, 0xD4, 0xDD, 0x22, 0x81, + 0xA3, 0x96, 0x17, 0xB4, 0x95, 0xD1, 0x49, 0x1F, 0xBA, 0xE6, 0x16, 0x9D, 0xAE, 0xF2, 0x89, 0xFF, + 0x93, 0xEF, 0xF6, 0x59, 0x6F, 0x5F, 0x9E, 0x87, 0xB3, 0x86, 0xD0, 0x4A, 0x2F, 0x6F, 0xA8, 0x44, + 0x1B, 0xB2, 0xFA, 0xE9, 0xE1, 0x75, 0xDF, 0xC3, 0xFA, 0xE6, 0x4F, 0x15, 0xFD, 0x3D, 0xFD, 0x27, + 0x1E, 0x74, 0x23, 0x18, 0x24, 0x49, 0xB1, 0xAC, 0x19, 0xDE, 0x8B, 0x5B, 0xEF, 0xD9, 0x4F, 0xC1, + 0x32, 0xA4, 0x01, 0x04, 0x87, 0x25, 0x2D, 0x09, 0xCD, 0x7B, 0x01, 0x47, 0x47, 0x80, 0x1B, 0x12, + 0x38, 0xCB, 0xED, 0x0C, 0x76, 0x83, 0x6F, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, + 0x00, 0x08, 0x00, 0x07, 0x75, 0x48, 0x52, 0xF0, 0x7A, 0xE7, 0xEC, 0x3C, 0x07, 0x00, 0x00, 0xDC, + 0x1B, 0x00, 0x00, 0x08, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x2E, 0x6A, 0x73, 0x0A, 0x00, 0x20, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x59, 0x5E, 0xE8, 0xA2, 0xED, 0xFD, 0xD6, + 0x01, 0xF8, 0x37, 0x5A, 0x56, 0x75, 0xFE, 0xD6, 0x01, 0xC9, 0xC8, 0x8D, 0x25, 0xC1, 0xFD, 0xD6, + 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB7, 0x4A, 0x48, + 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x24, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x62, 0x07, 0x00, 0x00, 0x6E, + 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x0A, 0x00, 0x20, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0xBB, 0x4E, 0xA1, 0x25, 0xC1, 0xFD, 0xD6, 0x01, + 0x9A, 0xD0, 0x1F, 0x97, 0x73, 0xFE, 0xD6, 0x01, 0x29, 0x3E, 0x91, 0x25, 0xC1, 0xFD, 0xD6, 0x01, + 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB7, 0x4A, 0x48, 0x52, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x00, 0x24, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x8D, 0x07, 0x00, 0x00, 0x6E, 0x6F, + 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x61, 0x64, 0x6D, 0x2D, 0x7A, + 0x69, 0x70, 0x2F, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x60, + 0xFF, 0x9B, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x5C, 0x36, 0x70, 0x55, 0x75, 0xFE, 0xD6, 0x01, 0xF4, + 0xB4, 0x91, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, + 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0xBC, 0x06, 0xEA, 0x25, 0xAE, 0x12, 0x00, 0x00, 0xBC, + 0x4D, 0x00, 0x00, 0x1F, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, + 0x00, 0xC0, 0x07, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, + 0x73, 0x2F, 0x61, 0x64, 0x6D, 0x2D, 0x7A, 0x69, 0x70, 0x2F, 0x61, 0x64, 0x6D, 0x2D, 0x7A, 0x69, + 0x70, 0x2E, 0x6A, 0x73, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, + 0x00, 0x9A, 0x38, 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0x05, 0x06, 0xFF, 0x57, 0xF5, 0xFD, 0xD6, 0x01, + 0x8A, 0x28, 0x92, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xB7, 0x4A, 0x48, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, + 0x00, 0x00, 0xAB, 0x1A, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, + 0x65, 0x73, 0x2F, 0x61, 0x64, 0x6D, 0x2D, 0x7A, 0x69, 0x70, 0x2F, 0x68, 0x65, 0x61, 0x64, 0x65, + 0x72, 0x73, 0x2F, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x9A, + 0x37, 0x98, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x9D, 0xFE, 0x91, 0xEB, 0x3B, 0xFE, 0xD6, 0x01, 0xB2, + 0x62, 0x96, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, + 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x53, 0xA9, 0x72, 0xBB, 0x53, 0x08, 0x00, 0x00, 0xB4, + 0x2A, 0x00, 0x00, 0x2B, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, + 0x00, 0xE6, 0x1A, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, + 0x73, 0x2F, 0x61, 0x64, 0x6D, 0x2D, 0x7A, 0x69, 0x70, 0x2F, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, + 0x73, 0x2F, 0x65, 0x6E, 0x74, 0x72, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x2E, 0x6A, 0x73, + 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x9A, 0x38, 0x18, + 0xBA, 0x6D, 0xAF, 0x01, 0xDF, 0x7A, 0xFF, 0x57, 0xF5, 0xFD, 0xD6, 0x01, 0x67, 0x00, 0x97, 0x25, + 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, + 0xE0, 0x79, 0x5A, 0x0B, 0xE0, 0x44, 0x35, 0x55, 0x45, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, + 0x25, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x82, 0x23, + 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x61, + 0x64, 0x6D, 0x2D, 0x7A, 0x69, 0x70, 0x2F, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x2F, 0x69, + 0x6E, 0x64, 0x65, 0x78, 0x2E, 0x6A, 0x73, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x00, 0x18, 0x00, 0x00, 0x9A, 0x38, 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0x38, 0x01, 0xF9, 0xF6, 0xFB, + 0xFD, 0xD6, 0x01, 0x2C, 0x9B, 0x97, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, + 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x81, 0x4C, 0x24, 0x9E, 0xCF, + 0x03, 0x00, 0x00, 0xD9, 0x0F, 0x00, 0x00, 0x2A, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x20, 0x00, 0x00, 0x00, 0x0A, 0x24, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, + 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x61, 0x64, 0x6D, 0x2D, 0x7A, 0x69, 0x70, 0x2F, 0x68, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x73, 0x2F, 0x6D, 0x61, 0x69, 0x6E, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, + 0x2E, 0x6A, 0x73, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, + 0x9A, 0x38, 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0xD9, 0xC8, 0xFF, 0x57, 0xF5, 0xFD, 0xD6, 0x01, 0x9A, + 0x37, 0x98, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, + 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0xEE, 0x72, 0x60, 0x60, 0x04, 0x10, 0x00, 0x00, 0xA5, + 0x2C, 0x00, 0x00, 0x1F, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, + 0x00, 0x21, 0x28, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, + 0x73, 0x2F, 0x61, 0x64, 0x6D, 0x2D, 0x7A, 0x69, 0x70, 0x2F, 0x68, 0x69, 0x73, 0x74, 0x6F, 0x72, + 0x79, 0x2E, 0x6D, 0x64, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, + 0x00, 0x9A, 0x38, 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0xF5, 0xEF, 0xFF, 0x57, 0xF5, 0xFD, 0xD6, 0x01, + 0x1C, 0xC5, 0x92, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, + 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x13, 0x38, 0xD0, 0xF1, 0x98, 0x02, 0x00, 0x00, + 0x7D, 0x04, 0x00, 0x00, 0x1C, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, + 0x00, 0x00, 0x62, 0x38, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, + 0x65, 0x73, 0x2F, 0x61, 0x64, 0x6D, 0x2D, 0x7A, 0x69, 0x70, 0x2F, 0x4C, 0x49, 0x43, 0x45, 0x4E, + 0x53, 0x45, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x9A, + 0x38, 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0xF5, 0xEF, 0xFF, 0x57, 0xF5, 0xFD, 0xD6, 0x01, 0x13, 0x61, + 0x93, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xB7, 0x4A, 0x48, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x1D, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x34, 0x3B, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, + 0x2F, 0x61, 0x64, 0x6D, 0x2D, 0x7A, 0x69, 0x70, 0x2F, 0x6D, 0x65, 0x74, 0x68, 0x6F, 0x64, 0x73, + 0x2F, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x1A, 0xCE, 0x9B, + 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x9D, 0xFE, 0x91, 0xEB, 0x3B, 0xFE, 0xD6, 0x01, 0x1A, 0x36, 0x99, + 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, + 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x51, 0xFD, 0x4F, 0x95, 0x85, 0x01, 0x00, 0x00, 0x50, 0x03, 0x00, + 0x00, 0x28, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x6F, + 0x3B, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, + 0x61, 0x64, 0x6D, 0x2D, 0x7A, 0x69, 0x70, 0x2F, 0x6D, 0x65, 0x74, 0x68, 0x6F, 0x64, 0x73, 0x2F, + 0x64, 0x65, 0x66, 0x6C, 0x61, 0x74, 0x65, 0x72, 0x2E, 0x6A, 0x73, 0x0A, 0x00, 0x20, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x9A, 0x38, 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0x2F, + 0x17, 0x00, 0x58, 0xF5, 0xFD, 0xD6, 0x01, 0x41, 0xD2, 0x99, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, + 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x9F, + 0x42, 0xE3, 0x82, 0x50, 0x00, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00, 0x25, 0x00, 0x24, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x3A, 0x3D, 0x00, 0x00, 0x6E, 0x6F, 0x64, + 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x61, 0x64, 0x6D, 0x2D, 0x7A, 0x69, + 0x70, 0x2F, 0x6D, 0x65, 0x74, 0x68, 0x6F, 0x64, 0x73, 0x2F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x2E, + 0x6A, 0x73, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x9A, + 0x38, 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0x2F, 0x17, 0x00, 0x58, 0xF5, 0xFD, 0xD6, 0x01, 0xF3, 0x6F, + 0x9A, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, + 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x22, 0x79, 0x77, 0x8B, 0x55, 0x01, 0x00, 0x00, 0xF9, 0x02, + 0x00, 0x00, 0x28, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, + 0xCD, 0x3D, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, + 0x2F, 0x61, 0x64, 0x6D, 0x2D, 0x7A, 0x69, 0x70, 0x2F, 0x6D, 0x65, 0x74, 0x68, 0x6F, 0x64, 0x73, + 0x2F, 0x69, 0x6E, 0x66, 0x6C, 0x61, 0x74, 0x65, 0x72, 0x2E, 0x6A, 0x73, 0x0A, 0x00, 0x20, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x9A, 0x38, 0x18, 0xBA, 0x6D, 0xAF, 0x01, + 0x2F, 0x17, 0x00, 0x58, 0xF5, 0xFD, 0xD6, 0x01, 0xCA, 0x0A, 0x9B, 0x25, 0xC1, 0xFD, 0xD6, 0x01, + 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, + 0x40, 0x0F, 0x2F, 0xB5, 0xE4, 0x03, 0x00, 0x00, 0xC4, 0x09, 0x00, 0x00, 0x29, 0x00, 0x24, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x68, 0x3F, 0x00, 0x00, 0x6E, 0x6F, + 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x61, 0x64, 0x6D, 0x2D, 0x7A, + 0x69, 0x70, 0x2F, 0x6D, 0x65, 0x74, 0x68, 0x6F, 0x64, 0x73, 0x2F, 0x7A, 0x69, 0x70, 0x63, 0x72, + 0x79, 0x70, 0x74, 0x6F, 0x2E, 0x6A, 0x73, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x00, 0x18, 0x00, 0x00, 0x9A, 0x38, 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0x15, 0x3E, 0x00, 0x58, 0xF5, + 0xFD, 0xD6, 0x01, 0x1A, 0xCE, 0x9B, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, + 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xFD, 0x95, 0x46, 0x52, 0x95, 0xFC, 0xC9, 0xDE, 0x4B, + 0x03, 0x00, 0x00, 0x34, 0x07, 0x00, 0x00, 0x21, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x20, 0x00, 0x00, 0x00, 0x93, 0x43, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, + 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x61, 0x64, 0x6D, 0x2D, 0x7A, 0x69, 0x70, 0x2F, 0x70, 0x61, + 0x63, 0x6B, 0x61, 0x67, 0x65, 0x2E, 0x6A, 0x73, 0x6F, 0x6E, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0xC9, 0x16, 0x88, 0xE9, 0x7D, 0xFC, 0xD6, 0x01, 0x5C, 0x36, + 0x70, 0x55, 0x75, 0xFE, 0xD6, 0x01, 0x10, 0xE4, 0x93, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, + 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x73, 0xE9, + 0x16, 0x16, 0x00, 0x04, 0x00, 0x00, 0x9D, 0x08, 0x00, 0x00, 0x1E, 0x00, 0x24, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x1D, 0x47, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, + 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x61, 0x64, 0x6D, 0x2D, 0x7A, 0x69, 0x70, + 0x2F, 0x52, 0x45, 0x41, 0x44, 0x4D, 0x45, 0x2E, 0x6D, 0x64, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x9A, 0x38, 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0x2D, 0x65, + 0x00, 0x58, 0xF5, 0xFD, 0xD6, 0x01, 0xE5, 0x48, 0x94, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, + 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB7, 0x4A, 0x48, 0x52, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x24, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x59, 0x4B, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, + 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x61, 0x64, 0x6D, 0x2D, 0x7A, 0x69, 0x70, + 0x2F, 0x75, 0x74, 0x69, 0x6C, 0x2F, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x18, 0x00, 0xFA, 0x8A, 0xA0, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0xAC, 0x25, 0x92, 0xEB, 0x3B, 0xFE, + 0xD6, 0x01, 0x60, 0xFF, 0x9B, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, + 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x6B, 0xB2, 0x6B, 0x03, 0x86, 0x06, + 0x00, 0x00, 0xE5, 0x16, 0x00, 0x00, 0x26, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x20, 0x00, 0x00, 0x00, 0x91, 0x4B, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, + 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x61, 0x64, 0x6D, 0x2D, 0x7A, 0x69, 0x70, 0x2F, 0x75, 0x74, 0x69, + 0x6C, 0x2F, 0x63, 0x6F, 0x6E, 0x73, 0x74, 0x61, 0x6E, 0x74, 0x73, 0x2E, 0x6A, 0x73, 0x0A, 0x00, + 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x9A, 0x38, 0x18, 0xBA, 0x6D, + 0xAF, 0x01, 0x2D, 0x65, 0x00, 0x58, 0xF5, 0xFD, 0xD6, 0x01, 0xD8, 0xB2, 0x9C, 0x25, 0xC1, 0xFD, + 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, + 0x5A, 0x0B, 0x99, 0xC1, 0xBD, 0x79, 0x05, 0x03, 0x00, 0x00, 0xCB, 0x07, 0x00, 0x00, 0x23, 0x00, + 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x5B, 0x52, 0x00, 0x00, + 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x61, 0x64, 0x6D, + 0x2D, 0x7A, 0x69, 0x70, 0x2F, 0x75, 0x74, 0x69, 0x6C, 0x2F, 0x65, 0x72, 0x72, 0x6F, 0x72, 0x73, + 0x2E, 0x6A, 0x73, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, + 0x9A, 0x38, 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0x3D, 0xBB, 0x5C, 0xBC, 0xFB, 0xFD, 0xD6, 0x01, 0x6B, + 0x77, 0x9D, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, + 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x4B, 0x0E, 0x3E, 0xBE, 0x7B, 0x02, 0x00, 0x00, 0x5D, + 0x08, 0x00, 0x00, 0x22, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, + 0x00, 0xA1, 0x55, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, + 0x73, 0x2F, 0x61, 0x64, 0x6D, 0x2D, 0x7A, 0x69, 0x70, 0x2F, 0x75, 0x74, 0x69, 0x6C, 0x2F, 0x66, + 0x61, 0x74, 0x74, 0x72, 0x2E, 0x6A, 0x73, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x00, 0x18, 0x00, 0x00, 0x9A, 0x38, 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0x62, 0xDA, 0x00, 0x58, 0xF5, + 0xFD, 0xD6, 0x01, 0x4A, 0x3B, 0x9E, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, + 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x21, 0xAB, 0x36, 0x69, 0xB5, + 0x00, 0x00, 0x00, 0x31, 0x01, 0x00, 0x00, 0x27, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x20, 0x00, 0x00, 0x00, 0x5C, 0x58, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, + 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x61, 0x64, 0x6D, 0x2D, 0x7A, 0x69, 0x70, 0x2F, 0x75, 0x74, + 0x69, 0x6C, 0x2F, 0x66, 0x69, 0x6C, 0x65, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x2E, 0x6A, 0x73, + 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x9A, 0x38, 0x18, + 0xBA, 0x6D, 0xAF, 0x01, 0x6A, 0x01, 0x01, 0x58, 0xF5, 0xFD, 0xD6, 0x01, 0x31, 0x01, 0x9F, 0x25, + 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, + 0xE0, 0x79, 0x5A, 0x0B, 0xC2, 0xCE, 0x8A, 0x7E, 0x68, 0x00, 0x00, 0x00, 0xEB, 0x00, 0x00, 0x00, + 0x22, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x56, 0x59, + 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x61, + 0x64, 0x6D, 0x2D, 0x7A, 0x69, 0x70, 0x2F, 0x75, 0x74, 0x69, 0x6C, 0x2F, 0x69, 0x6E, 0x64, 0x65, + 0x78, 0x2E, 0x6A, 0x73, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, + 0x00, 0x9A, 0x38, 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0xFB, 0x9E, 0xD5, 0xB5, 0xFB, 0xFD, 0xD6, 0x01, + 0x7B, 0xC6, 0x9F, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, + 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x0A, 0xFA, 0x8F, 0xA9, 0xC8, 0x06, 0x00, 0x00, + 0xB5, 0x1D, 0x00, 0x00, 0x22, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, + 0x00, 0x00, 0xFE, 0x59, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, + 0x65, 0x73, 0x2F, 0x61, 0x64, 0x6D, 0x2D, 0x7A, 0x69, 0x70, 0x2F, 0x75, 0x74, 0x69, 0x6C, 0x2F, + 0x75, 0x74, 0x69, 0x6C, 0x73, 0x2E, 0x6A, 0x73, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x18, 0x00, 0x00, 0x9A, 0x38, 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0x2C, 0x9E, 0x01, 0x58, + 0xF5, 0xFD, 0xD6, 0x01, 0xFA, 0x8A, 0xA0, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, + 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0xA0, 0xAF, 0x0F, 0xED, + 0x40, 0x0A, 0x00, 0x00, 0x78, 0x2E, 0x00, 0x00, 0x20, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x06, 0x61, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, + 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x61, 0x64, 0x6D, 0x2D, 0x7A, 0x69, 0x70, 0x2F, 0x7A, + 0x69, 0x70, 0x45, 0x6E, 0x74, 0x72, 0x79, 0x2E, 0x6A, 0x73, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x9A, 0x38, 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0x37, 0xC5, + 0x01, 0x58, 0xF5, 0xFD, 0xD6, 0x01, 0x17, 0x28, 0x95, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, + 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0xF5, 0x45, + 0x90, 0x34, 0xAD, 0x0A, 0x00, 0x00, 0xDF, 0x2B, 0x00, 0x00, 0x1F, 0x00, 0x24, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x84, 0x6B, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, + 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x61, 0x64, 0x6D, 0x2D, 0x7A, 0x69, 0x70, + 0x2F, 0x7A, 0x69, 0x70, 0x46, 0x69, 0x6C, 0x65, 0x2E, 0x6A, 0x73, 0x0A, 0x00, 0x20, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x9A, 0x38, 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0x37, + 0xC5, 0x01, 0x58, 0xF5, 0xFD, 0xD6, 0x01, 0x6E, 0xED, 0x95, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, + 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB7, 0x4A, 0x48, 0x52, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x24, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x6E, 0x76, 0x00, 0x00, 0x6E, 0x6F, 0x64, + 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, + 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x18, 0x00, 0x2E, 0xD7, 0xA2, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0xD0, 0x5E, 0x58, + 0x55, 0x75, 0xFE, 0xD6, 0x01, 0xBB, 0x4E, 0xA1, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, + 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB7, 0x4A, 0x48, 0x52, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0xA8, 0x76, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, + 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, + 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x0A, 0x00, 0x20, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x35, 0x35, 0xD8, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x67, + 0x4A, 0x64, 0x55, 0x75, 0xFE, 0xD6, 0x01, 0x2E, 0xD7, 0xA2, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, + 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB7, 0x4A, 0x48, 0x52, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x25, 0x00, 0x24, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0xE6, 0x76, 0x00, 0x00, 0x6E, 0x6F, 0x64, + 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, + 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x61, 0x75, 0x74, + 0x68, 0x2F, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x24, 0xDD, + 0xB0, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0xD0, 0x73, 0x92, 0xEB, 0x3B, 0xFE, 0xD6, 0x01, 0xEE, 0x4E, + 0xA9, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, + 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x67, 0x2A, 0xD6, 0xE1, 0xE3, 0x05, 0x00, 0x00, 0xF1, 0x18, + 0x00, 0x00, 0x44, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, + 0x29, 0x77, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, + 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, + 0x6C, 0x69, 0x62, 0x2F, 0x61, 0x75, 0x74, 0x68, 0x2F, 0x61, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x2D, + 0x63, 0x6F, 0x64, 0x65, 0x2D, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6E, 0x67, 0x73, 0x2D, 0x62, 0x75, + 0x69, 0x6C, 0x64, 0x65, 0x72, 0x2E, 0x6A, 0x73, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x18, 0x00, 0x00, 0x9A, 0x38, 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0xE4, 0x12, 0x02, 0x58, + 0xF5, 0xFD, 0xD6, 0x01, 0xF0, 0xC9, 0xA9, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, + 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x25, 0xDA, 0x83, 0xE8, + 0xAF, 0x39, 0x00, 0x00, 0x39, 0x64, 0x01, 0x00, 0x38, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x6E, 0x7D, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, + 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, + 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x61, 0x75, 0x74, 0x68, 0x2F, 0x61, + 0x75, 0x74, 0x68, 0x2D, 0x61, 0x70, 0x69, 0x2D, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2E, + 0x6A, 0x73, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x9A, + 0x38, 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0xE8, 0x39, 0x02, 0x58, 0xF5, 0xFD, 0xD6, 0x01, 0x8F, 0x66, + 0xAA, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, + 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x9F, 0xBE, 0x7F, 0x22, 0x53, 0x11, 0x00, 0x00, 0x8C, 0x6F, + 0x00, 0x00, 0x33, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, + 0x73, 0xB7, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, + 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, + 0x6C, 0x69, 0x62, 0x2F, 0x61, 0x75, 0x74, 0x68, 0x2F, 0x61, 0x75, 0x74, 0x68, 0x2D, 0x63, 0x6F, + 0x6E, 0x66, 0x69, 0x67, 0x2E, 0x6A, 0x73, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x00, 0x18, 0x00, 0x00, 0x9A, 0x38, 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0xE8, 0x39, 0x02, 0x58, 0xF5, + 0xFD, 0xD6, 0x01, 0x16, 0x86, 0xAB, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, + 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x34, 0x2D, 0x1A, 0xE7, 0x87, + 0x1C, 0x00, 0x00, 0xC5, 0x99, 0x00, 0x00, 0x2C, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x20, 0x00, 0x00, 0x00, 0x17, 0xC9, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, + 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, + 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x61, 0x75, 0x74, 0x68, 0x2F, 0x61, 0x75, + 0x74, 0x68, 0x2E, 0x6A, 0x73, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, + 0x00, 0x00, 0x9A, 0x38, 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0xE8, 0x39, 0x02, 0x58, 0xF5, 0xFD, 0xD6, + 0x01, 0x52, 0x22, 0xAC, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, + 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0xF1, 0x0D, 0x1E, 0x11, 0x9F, 0x02, 0x00, + 0x00, 0xCE, 0x05, 0x00, 0x00, 0x32, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, + 0x00, 0x00, 0x00, 0xE8, 0xE5, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, + 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, + 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x61, 0x75, 0x74, 0x68, 0x2F, 0x69, 0x64, 0x65, 0x6E, + 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x2E, 0x6A, 0x73, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x9A, 0x38, 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0xFB, 0x87, 0x02, + 0x58, 0xF5, 0xFD, 0xD6, 0x01, 0x78, 0x97, 0xAC, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, + 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0xA8, 0xBE, 0x65, + 0x9D, 0x20, 0x37, 0x00, 0x00, 0xE6, 0x20, 0x01, 0x00, 0x2F, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0xD7, 0xE8, 0x00, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, + 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, + 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x61, 0x75, 0x74, 0x68, 0x2F, + 0x69, 0x6E, 0x64, 0x65, 0x78, 0x2E, 0x64, 0x2E, 0x74, 0x73, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x9A, 0x38, 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0x43, 0x14, + 0x10, 0x53, 0x75, 0xFE, 0xD6, 0x01, 0xA2, 0x33, 0xAD, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, + 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0xD0, 0x49, + 0x56, 0x11, 0xBD, 0x01, 0x00, 0x00, 0xBC, 0x02, 0x00, 0x00, 0x2D, 0x00, 0x24, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x44, 0x20, 0x01, 0x00, 0x6E, 0x6F, 0x64, 0x65, + 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, + 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x61, 0x75, 0x74, 0x68, + 0x2F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x2E, 0x6A, 0x73, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x9A, 0x38, 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0x35, 0x24, 0x03, + 0x58, 0xF5, 0xFD, 0xD6, 0x01, 0xD1, 0xA8, 0xAD, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, + 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x53, 0x9A, 0xA8, + 0x08, 0xFA, 0x06, 0x00, 0x00, 0x65, 0x17, 0x00, 0x00, 0x36, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x4C, 0x22, 0x01, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, + 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, + 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x61, 0x75, 0x74, 0x68, 0x2F, + 0x74, 0x65, 0x6E, 0x61, 0x6E, 0x74, 0x2D, 0x6D, 0x61, 0x6E, 0x61, 0x67, 0x65, 0x72, 0x2E, 0x6A, + 0x73, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x9A, 0x38, + 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0x35, 0x24, 0x03, 0x58, 0xF5, 0xFD, 0xD6, 0x01, 0x11, 0x45, 0xAE, + 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, + 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0xA4, 0x9A, 0xCF, 0x40, 0x20, 0x08, 0x00, 0x00, 0x45, 0x1D, 0x00, + 0x00, 0x2E, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x9A, + 0x29, 0x01, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, + 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, + 0x69, 0x62, 0x2F, 0x61, 0x75, 0x74, 0x68, 0x2F, 0x74, 0x65, 0x6E, 0x61, 0x6E, 0x74, 0x2E, 0x6A, + 0x73, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x9A, 0x38, + 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0x6D, 0x72, 0x03, 0x58, 0xF5, 0xFD, 0xD6, 0x01, 0x45, 0xE1, 0xAE, + 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, + 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x7F, 0x6D, 0x63, 0xD7, 0x17, 0x0F, 0x00, 0x00, 0x7F, 0x34, 0x00, + 0x00, 0x37, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x06, + 0x32, 0x01, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, + 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, + 0x69, 0x62, 0x2F, 0x61, 0x75, 0x74, 0x68, 0x2F, 0x74, 0x6F, 0x6B, 0x65, 0x6E, 0x2D, 0x67, 0x65, + 0x6E, 0x65, 0x72, 0x61, 0x74, 0x6F, 0x72, 0x2E, 0x6A, 0x73, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x9A, 0x38, 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0x76, 0x99, + 0x03, 0x58, 0xF5, 0xFD, 0xD6, 0x01, 0x7B, 0x56, 0xAF, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, + 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x9B, 0x02, + 0x0E, 0xA9, 0xA9, 0x0F, 0x00, 0x00, 0x4E, 0x41, 0x00, 0x00, 0x36, 0x00, 0x24, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x72, 0x41, 0x01, 0x00, 0x6E, 0x6F, 0x64, 0x65, + 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, + 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x61, 0x75, 0x74, 0x68, + 0x2F, 0x74, 0x6F, 0x6B, 0x65, 0x6E, 0x2D, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x72, 0x2E, + 0x6A, 0x73, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x9A, + 0x38, 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0x88, 0xC0, 0x03, 0x58, 0xF5, 0xFD, 0xD6, 0x01, 0xCE, 0xF2, + 0xAF, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, + 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0xEF, 0x32, 0x62, 0xDA, 0x4B, 0x10, 0x00, 0x00, 0x41, 0x49, + 0x00, 0x00, 0x3B, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, + 0x6F, 0x51, 0x01, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, + 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, + 0x6C, 0x69, 0x62, 0x2F, 0x61, 0x75, 0x74, 0x68, 0x2F, 0x75, 0x73, 0x65, 0x72, 0x2D, 0x69, 0x6D, + 0x70, 0x6F, 0x72, 0x74, 0x2D, 0x62, 0x75, 0x69, 0x6C, 0x64, 0x65, 0x72, 0x2E, 0x6A, 0x73, 0x0A, + 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x9A, 0x38, 0x18, 0xBA, + 0x6D, 0xAF, 0x01, 0xFD, 0x35, 0x04, 0x58, 0xF5, 0xFD, 0xD6, 0x01, 0xFD, 0x67, 0xB0, 0x25, 0xC1, + 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, + 0x79, 0x5A, 0x0B, 0x2D, 0x80, 0x89, 0x1B, 0x32, 0x0E, 0x00, 0x00, 0xD0, 0x38, 0x00, 0x00, 0x33, + 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x13, 0x62, 0x01, + 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, + 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, + 0x2F, 0x61, 0x75, 0x74, 0x68, 0x2F, 0x75, 0x73, 0x65, 0x72, 0x2D, 0x72, 0x65, 0x63, 0x6F, 0x72, + 0x64, 0x2E, 0x6A, 0x73, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, + 0x00, 0x9A, 0x38, 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0x69, 0x5D, 0x04, 0x58, 0xF5, 0xFD, 0xD6, 0x01, + 0x24, 0xDD, 0xB0, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xB7, 0x4A, 0x48, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x96, 0x70, 0x01, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, + 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, + 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6E, 0x74, 0x69, 0x61, 0x6C, + 0x2F, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x4A, 0x95, 0xB3, + 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0xDD, 0x9A, 0x92, 0xEB, 0x3B, 0xFE, 0xD6, 0x01, 0x87, 0x79, 0xB1, + 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, + 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x3A, 0x64, 0xDF, 0xB1, 0x17, 0x11, 0x00, 0x00, 0xE9, 0x44, 0x00, + 0x00, 0x41, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0xDF, + 0x70, 0x01, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, + 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, + 0x69, 0x62, 0x2F, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6E, 0x74, 0x69, 0x61, 0x6C, 0x2F, 0x63, 0x72, + 0x65, 0x64, 0x65, 0x6E, 0x74, 0x69, 0x61, 0x6C, 0x2D, 0x69, 0x6E, 0x74, 0x65, 0x72, 0x6E, 0x61, + 0x6C, 0x2E, 0x6A, 0x73, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, + 0x00, 0x9A, 0x38, 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0xCC, 0xD1, 0x04, 0x58, 0xF5, 0xFD, 0xD6, 0x01, + 0x70, 0xD1, 0xB1, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, + 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0xF7, 0xBD, 0x2E, 0xAD, 0xF7, 0x02, 0x00, 0x00, + 0xDD, 0x07, 0x00, 0x00, 0x38, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, + 0x00, 0x00, 0x55, 0x82, 0x01, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, + 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, + 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6E, 0x74, 0x69, 0x61, 0x6C, + 0x2F, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6E, 0x74, 0x69, 0x61, 0x6C, 0x2E, 0x6A, 0x73, 0x0A, 0x00, + 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x9A, 0x38, 0x18, 0xBA, 0x6D, + 0xAF, 0x01, 0x09, 0x47, 0x05, 0x58, 0xF5, 0xFD, 0xD6, 0x01, 0x70, 0xD1, 0xB1, 0x25, 0xC1, 0xFD, + 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, + 0x5A, 0x0B, 0x99, 0xCE, 0xDA, 0x12, 0xB6, 0x06, 0x00, 0x00, 0x8E, 0x19, 0x00, 0x00, 0x35, 0x00, + 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0xA2, 0x85, 0x01, 0x00, + 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, + 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, + 0x63, 0x72, 0x65, 0x64, 0x65, 0x6E, 0x74, 0x69, 0x61, 0x6C, 0x2F, 0x69, 0x6E, 0x64, 0x65, 0x78, + 0x2E, 0x64, 0x2E, 0x74, 0x73, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, + 0x00, 0x00, 0x9A, 0x38, 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0x04, 0x58, 0x7A, 0x50, 0x75, 0xFE, 0xD6, + 0x01, 0x9D, 0xD1, 0xB2, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, + 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0xDB, 0xB4, 0xD3, 0x0E, 0x13, 0x02, 0x00, + 0x00, 0x79, 0x03, 0x00, 0x00, 0x33, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, + 0x00, 0x00, 0x00, 0xAB, 0x8C, 0x01, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, + 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, + 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6E, 0x74, 0x69, 0x61, + 0x6C, 0x2F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x2E, 0x6A, 0x73, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x9A, 0x38, 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0x50, 0x6E, + 0x05, 0x58, 0xF5, 0xFD, 0xD6, 0x01, 0x4A, 0x95, 0xB3, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, + 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB7, 0x4A, 0x48, 0x52, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0x00, 0x24, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x0F, 0x8F, 0x01, 0x00, 0x6E, 0x6F, 0x64, 0x65, + 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, + 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x64, 0x61, 0x74, 0x61, + 0x62, 0x61, 0x73, 0x65, 0x2F, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, + 0x00, 0x29, 0xE3, 0xB5, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0xDD, 0x9A, 0x92, 0xEB, 0x3B, 0xFE, 0xD6, + 0x01, 0x0B, 0x5B, 0xB4, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, + 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0xA1, 0x35, 0x14, 0xE0, 0x22, 0x09, 0x00, + 0x00, 0x11, 0x20, 0x00, 0x00, 0x3D, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, + 0x00, 0x00, 0x00, 0x56, 0x8F, 0x01, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, + 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, + 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2F, + 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x69, 0x6E, 0x74, 0x65, 0x72, 0x6E, 0x61, + 0x6C, 0x2E, 0x6A, 0x73, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, + 0x00, 0x9A, 0x38, 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0x50, 0x6E, 0x05, 0x58, 0xF5, 0xFD, 0xD6, 0x01, + 0x0B, 0x5B, 0xB4, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, + 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0xB2, 0xEF, 0x2D, 0x1F, 0x2B, 0x05, 0x00, 0x00, + 0xC1, 0x0D, 0x00, 0x00, 0x33, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, + 0x00, 0x00, 0xD3, 0x98, 0x01, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, + 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, + 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2F, 0x69, + 0x6E, 0x64, 0x65, 0x78, 0x2E, 0x64, 0x2E, 0x74, 0x73, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x9A, 0x38, 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0xB2, 0x2E, 0x16, + 0x53, 0x75, 0xFE, 0xD6, 0x01, 0xBC, 0x1E, 0xB5, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, + 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x9A, 0x82, 0x22, + 0x0D, 0x9D, 0x02, 0x00, 0x00, 0xDA, 0x04, 0x00, 0x00, 0x31, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x4F, 0x9E, 0x01, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, + 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, + 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x64, 0x61, 0x74, 0x61, 0x62, + 0x61, 0x73, 0x65, 0x2F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x2E, 0x6A, 0x73, 0x0A, 0x00, 0x20, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x9A, 0x38, 0x18, 0xBA, 0x6D, 0xAF, 0x01, + 0x50, 0x6E, 0x05, 0x58, 0xF5, 0xFD, 0xD6, 0x01, 0x29, 0xE3, 0xB5, 0x25, 0xC1, 0xFD, 0xD6, 0x01, + 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, + 0x56, 0x6F, 0xF7, 0x7B, 0x44, 0x02, 0x00, 0x00, 0xAC, 0x04, 0x00, 0x00, 0x34, 0x00, 0x24, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x3B, 0xA1, 0x01, 0x00, 0x6E, 0x6F, + 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, + 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x64, 0x65, + 0x66, 0x61, 0x75, 0x6C, 0x74, 0x2D, 0x6E, 0x61, 0x6D, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2E, + 0x6A, 0x73, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x9A, + 0x38, 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0x5B, 0x95, 0x05, 0x58, 0xF5, 0xFD, 0xD6, 0x01, 0xAC, 0x88, + 0xA3, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, + 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x63, 0x71, 0x44, 0x2F, 0x7B, 0x11, 0x00, 0x00, 0x6B, 0x49, + 0x00, 0x00, 0x2F, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, + 0xD1, 0xA3, 0x01, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, + 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, + 0x6C, 0x69, 0x62, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x70, 0x70, + 0x2E, 0x6A, 0x73, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, + 0x9A, 0x38, 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0x5B, 0x95, 0x05, 0x58, 0xF5, 0xFD, 0xD6, 0x01, 0x72, + 0x4C, 0xA4, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, + 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0xD9, 0x43, 0xF6, 0x1A, 0x27, 0x0C, 0x00, 0x00, 0xF2, + 0x22, 0x00, 0x00, 0x3B, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, + 0x00, 0x99, 0xB5, 0x01, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, + 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, + 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x6E, 0x61, + 0x6D, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2D, 0x61, 0x70, 0x69, 0x2E, 0x64, 0x2E, 0x74, 0x73, + 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x9A, 0x38, 0x18, + 0xBA, 0x6D, 0xAF, 0x01, 0x48, 0x0B, 0x0B, 0x53, 0x75, 0xFE, 0xD6, 0x01, 0x10, 0x21, 0xA5, 0x25, + 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, + 0xE0, 0x79, 0x5A, 0x0B, 0xD0, 0x49, 0x56, 0x11, 0xBD, 0x01, 0x00, 0x00, 0xBC, 0x02, 0x00, 0x00, + 0x39, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x19, 0xC2, + 0x01, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, + 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, + 0x62, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x6E, 0x61, 0x6D, 0x65, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x2D, 0x61, 0x70, 0x69, 0x2E, 0x6A, 0x73, 0x0A, 0x00, 0x20, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x9A, 0x38, 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0x5B, + 0x95, 0x05, 0x58, 0xF5, 0xFD, 0xD6, 0x01, 0x3D, 0x4F, 0xA5, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, + 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0xAE, + 0x5C, 0x74, 0xE6, 0x01, 0x02, 0x00, 0x00, 0x2F, 0x04, 0x00, 0x00, 0x37, 0x00, 0x24, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x2D, 0xC4, 0x01, 0x00, 0x6E, 0x6F, 0x64, + 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, + 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x66, 0x69, 0x72, + 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x6E, 0x61, 0x6D, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2E, + 0x64, 0x2E, 0x74, 0x73, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, + 0x00, 0x9A, 0x38, 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0xC1, 0x28, 0x51, 0x50, 0x75, 0xFE, 0xD6, 0x01, + 0x67, 0x32, 0xA6, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, + 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x0F, 0x9F, 0x8D, 0xC1, 0xA9, 0x0F, 0x00, 0x00, + 0xA2, 0x4E, 0x00, 0x00, 0x35, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, + 0x00, 0x00, 0x83, 0xC6, 0x01, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, + 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, + 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x6E, + 0x61, 0x6D, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2E, 0x6A, 0x73, 0x0A, 0x00, 0x20, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x9A, 0x38, 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0x5B, + 0x95, 0x05, 0x58, 0xF5, 0xFD, 0xD6, 0x01, 0x63, 0xF0, 0xA6, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, + 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0xF3, + 0x5B, 0x6C, 0x9D, 0xC4, 0x01, 0x00, 0x00, 0xC8, 0x02, 0x00, 0x00, 0x33, 0x00, 0x24, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x7F, 0xD6, 0x01, 0x00, 0x6E, 0x6F, 0x64, + 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, + 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x66, 0x69, 0x72, + 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2E, 0x6A, 0x73, + 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x9A, 0x38, 0x18, + 0xBA, 0x6D, 0xAF, 0x01, 0x5E, 0xBC, 0x05, 0x58, 0xF5, 0xFD, 0xD6, 0x01, 0x28, 0x71, 0xA7, 0x25, + 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xB7, 0x4A, 0x48, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x2A, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x94, 0xD8, + 0x01, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, + 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, + 0x62, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6F, 0x72, 0x65, 0x2F, 0x0A, 0x00, 0x20, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x93, 0xE4, 0xB8, 0x25, 0xC1, 0xFD, 0xD6, 0x01, + 0xDD, 0x9A, 0x92, 0xEB, 0x3B, 0xFE, 0xD6, 0x01, 0xE5, 0xA6, 0xB6, 0x25, 0xC1, 0xFD, 0xD6, 0x01, + 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, + 0xA0, 0xF3, 0xF1, 0x19, 0xFA, 0x06, 0x00, 0x00, 0x76, 0x13, 0x00, 0x00, 0x3F, 0x00, 0x24, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0xDC, 0xD8, 0x01, 0x00, 0x6E, 0x6F, + 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, + 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x66, 0x69, + 0x72, 0x65, 0x73, 0x74, 0x6F, 0x72, 0x65, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6F, 0x72, + 0x65, 0x2D, 0x69, 0x6E, 0x74, 0x65, 0x72, 0x6E, 0x61, 0x6C, 0x2E, 0x6A, 0x73, 0x0A, 0x00, 0x20, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x9A, 0x38, 0x18, 0xBA, 0x6D, 0xAF, + 0x01, 0x66, 0xE3, 0x05, 0x58, 0xF5, 0xFD, 0xD6, 0x01, 0x6C, 0x6E, 0xB7, 0x25, 0xC1, 0xFD, 0xD6, + 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, + 0x0B, 0xDA, 0x8E, 0xA4, 0xB9, 0x28, 0x03, 0x00, 0x00, 0xDC, 0x09, 0x00, 0x00, 0x34, 0x00, 0x24, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x33, 0xE0, 0x01, 0x00, 0x6E, + 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, + 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x66, + 0x69, 0x72, 0x65, 0x73, 0x74, 0x6F, 0x72, 0x65, 0x2F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x2E, 0x64, + 0x2E, 0x74, 0x73, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, + 0x9A, 0x38, 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0x3A, 0x87, 0x2D, 0x53, 0x75, 0xFE, 0xD6, 0x01, 0x01, + 0x32, 0xB8, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, + 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x87, 0x09, 0xC6, 0x0B, 0x3A, 0x03, 0x00, 0x00, 0x86, + 0x08, 0x00, 0x00, 0x32, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, + 0x00, 0xAD, 0xE3, 0x01, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, + 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, + 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x73, 0x74, 0x6F, 0x72, 0x65, 0x2F, 0x69, + 0x6E, 0x64, 0x65, 0x78, 0x2E, 0x6A, 0x73, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x00, 0x18, 0x00, 0x00, 0x9A, 0x38, 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0x7C, 0x0A, 0x06, 0x58, 0xF5, + 0xFD, 0xD6, 0x01, 0x93, 0xE4, 0xB8, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, + 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x70, 0xA7, 0x5E, 0x96, 0xC5, + 0x01, 0x00, 0x00, 0xE1, 0x02, 0x00, 0x00, 0x2A, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x20, 0x00, 0x00, 0x00, 0x37, 0xE7, 0x01, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, + 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, + 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x2E, 0x64, + 0x2E, 0x74, 0x73, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, + 0x9A, 0x38, 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0xC2, 0x1F, 0x4C, 0x50, 0x75, 0xFE, 0xD6, 0x01, 0x88, + 0x24, 0xA8, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, + 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x65, 0x61, 0xE1, 0xA9, 0x1B, 0x03, 0x00, 0x00, 0x7F, + 0x05, 0x00, 0x00, 0x28, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, + 0x00, 0x44, 0xE9, 0x01, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, + 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, + 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x2E, 0x6A, 0x73, 0x0A, 0x00, 0x20, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x9A, 0x38, 0x18, 0xBA, 0x6D, 0xAF, + 0x01, 0x97, 0x31, 0x06, 0x58, 0xF5, 0xFD, 0xD6, 0x01, 0x87, 0xA3, 0xA8, 0x25, 0xC1, 0xFD, 0xD6, + 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB7, 0x4A, 0x48, + 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x24, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0xA5, 0xEC, 0x01, 0x00, 0x6E, + 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, + 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x69, + 0x6E, 0x73, 0x74, 0x61, 0x6E, 0x63, 0x65, 0x2D, 0x69, 0x64, 0x2F, 0x0A, 0x00, 0x20, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0xCC, 0x3A, 0xBC, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0xE8, + 0xC1, 0x92, 0xEB, 0x3B, 0xFE, 0xD6, 0x01, 0xFD, 0x3E, 0xBA, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, + 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x66, + 0x3E, 0x4A, 0x82, 0x44, 0x04, 0x00, 0x00, 0x0D, 0x0B, 0x00, 0x00, 0x36, 0x00, 0x24, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0xEF, 0xEC, 0x01, 0x00, 0x6E, 0x6F, 0x64, + 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, + 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x69, 0x6E, 0x73, + 0x74, 0x61, 0x6E, 0x63, 0x65, 0x2D, 0x69, 0x64, 0x2F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x2E, 0x64, + 0x2E, 0x74, 0x73, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, + 0x9A, 0x38, 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0x03, 0x6A, 0x3B, 0x53, 0x75, 0xFE, 0xD6, 0x01, 0x45, + 0xDB, 0xBA, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, + 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0xD0, 0x49, 0x56, 0x11, 0xBD, 0x01, 0x00, 0x00, 0xBC, + 0x02, 0x00, 0x00, 0x34, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, + 0x00, 0x87, 0xF1, 0x01, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, + 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, + 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x69, 0x6E, 0x73, 0x74, 0x61, 0x6E, 0x63, 0x65, 0x2D, 0x69, 0x64, + 0x2F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x2E, 0x6A, 0x73, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x9A, 0x38, 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0x97, 0x31, 0x06, + 0x58, 0xF5, 0xFD, 0xD6, 0x01, 0x62, 0x77, 0xBB, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, + 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x36, 0xC7, 0x8B, + 0x48, 0xD1, 0x07, 0x00, 0x00, 0xF7, 0x14, 0x00, 0x00, 0x4B, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x96, 0xF3, 0x01, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, + 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, + 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x69, 0x6E, 0x73, 0x74, 0x61, + 0x6E, 0x63, 0x65, 0x2D, 0x69, 0x64, 0x2F, 0x69, 0x6E, 0x73, 0x74, 0x61, 0x6E, 0x63, 0x65, 0x2D, + 0x69, 0x64, 0x2D, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2D, 0x69, 0x6E, 0x74, 0x65, 0x72, + 0x6E, 0x61, 0x6C, 0x2E, 0x6A, 0x73, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x18, 0x00, 0x00, 0x9A, 0x38, 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0x97, 0x31, 0x06, 0x58, 0xF5, 0xFD, + 0xD6, 0x01, 0xAD, 0x13, 0xBC, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, + 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x72, 0xC8, 0x34, 0x04, 0x87, 0x05, + 0x00, 0x00, 0x01, 0x0E, 0x00, 0x00, 0x3A, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x20, 0x00, 0x00, 0x00, 0xD0, 0xFB, 0x01, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, + 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, + 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x69, 0x6E, 0x73, 0x74, 0x61, 0x6E, 0x63, 0x65, + 0x2D, 0x69, 0x64, 0x2F, 0x69, 0x6E, 0x73, 0x74, 0x61, 0x6E, 0x63, 0x65, 0x2D, 0x69, 0x64, 0x2E, + 0x6A, 0x73, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x9A, + 0x38, 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0x97, 0x31, 0x06, 0x58, 0xF5, 0xFD, 0xD6, 0x01, 0xCC, 0x3A, + 0xBC, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xB7, 0x4A, 0x48, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x31, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0xAF, 0x01, 0x02, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, + 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, + 0x6C, 0x69, 0x62, 0x2F, 0x6D, 0x61, 0x63, 0x68, 0x69, 0x6E, 0x65, 0x2D, 0x6C, 0x65, 0x61, 0x72, + 0x6E, 0x69, 0x6E, 0x67, 0x2F, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, + 0x00, 0x11, 0x86, 0xC0, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0xF3, 0xE8, 0x92, 0xEB, 0x3B, 0xFE, 0xD6, + 0x01, 0x72, 0x88, 0xBD, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, + 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x22, 0x24, 0x15, 0x3D, 0xAA, 0x09, 0x00, + 0x00, 0x1B, 0x23, 0x00, 0x00, 0x3B, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, + 0x00, 0x00, 0x00, 0xFE, 0x01, 0x02, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, + 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, + 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x6D, 0x61, 0x63, 0x68, 0x69, 0x6E, 0x65, 0x2D, 0x6C, + 0x65, 0x61, 0x72, 0x6E, 0x69, 0x6E, 0x67, 0x2F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x2E, 0x64, 0x2E, + 0x74, 0x73, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x9A, + 0x38, 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0x1D, 0x02, 0x3E, 0x53, 0x75, 0xFE, 0xD6, 0x01, 0x3A, 0x4C, + 0xBE, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, + 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0xD0, 0x49, 0x56, 0x11, 0xBD, 0x01, 0x00, 0x00, 0xBC, 0x02, + 0x00, 0x00, 0x39, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, + 0x01, 0x0C, 0x02, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, + 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, + 0x6C, 0x69, 0x62, 0x2F, 0x6D, 0x61, 0x63, 0x68, 0x69, 0x6E, 0x65, 0x2D, 0x6C, 0x65, 0x61, 0x72, + 0x6E, 0x69, 0x6E, 0x67, 0x2F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x2E, 0x6A, 0x73, 0x0A, 0x00, 0x20, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x9A, 0x38, 0x18, 0xBA, 0x6D, 0xAF, + 0x01, 0xA7, 0x58, 0x06, 0x58, 0xF5, 0xFD, 0xD6, 0x01, 0xFB, 0xFD, 0xBE, 0x25, 0xC1, 0xFD, 0xD6, + 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, + 0x0B, 0x3A, 0xF4, 0x3D, 0xA9, 0xFD, 0x0C, 0x00, 0x00, 0x79, 0x36, 0x00, 0x00, 0x4F, 0x00, 0x24, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x15, 0x0E, 0x02, 0x00, 0x6E, + 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, + 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x6D, + 0x61, 0x63, 0x68, 0x69, 0x6E, 0x65, 0x2D, 0x6C, 0x65, 0x61, 0x72, 0x6E, 0x69, 0x6E, 0x67, 0x2F, + 0x6D, 0x61, 0x63, 0x68, 0x69, 0x6E, 0x65, 0x2D, 0x6C, 0x65, 0x61, 0x72, 0x6E, 0x69, 0x6E, 0x67, + 0x2D, 0x61, 0x70, 0x69, 0x2D, 0x63, 0x6C, 0x69, 0x65, 0x6E, 0x74, 0x2E, 0x6A, 0x73, 0x0A, 0x00, + 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x9A, 0x38, 0x18, 0xBA, 0x6D, + 0xAF, 0x01, 0xA7, 0x58, 0x06, 0x58, 0xF5, 0xFD, 0xD6, 0x01, 0xFB, 0xFD, 0xBE, 0x25, 0xC1, 0xFD, + 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, + 0x5A, 0x0B, 0x2E, 0xBD, 0x23, 0xD9, 0x47, 0x04, 0x00, 0x00, 0x06, 0x0D, 0x00, 0x00, 0x4A, 0x00, + 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x7F, 0x1B, 0x02, 0x00, + 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, + 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, + 0x6D, 0x61, 0x63, 0x68, 0x69, 0x6E, 0x65, 0x2D, 0x6C, 0x65, 0x61, 0x72, 0x6E, 0x69, 0x6E, 0x67, + 0x2F, 0x6D, 0x61, 0x63, 0x68, 0x69, 0x6E, 0x65, 0x2D, 0x6C, 0x65, 0x61, 0x72, 0x6E, 0x69, 0x6E, + 0x67, 0x2D, 0x75, 0x74, 0x69, 0x6C, 0x73, 0x2E, 0x6A, 0x73, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x9A, 0x38, 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0x01, 0x80, + 0x06, 0x58, 0xF5, 0xFD, 0xD6, 0x01, 0xA4, 0xC1, 0xBF, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, + 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0xE4, 0xDC, + 0xF0, 0x66, 0x9B, 0x0D, 0x00, 0x00, 0x1E, 0x3B, 0x00, 0x00, 0x44, 0x00, 0x24, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x2E, 0x20, 0x02, 0x00, 0x6E, 0x6F, 0x64, 0x65, + 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, + 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x6D, 0x61, 0x63, 0x68, + 0x69, 0x6E, 0x65, 0x2D, 0x6C, 0x65, 0x61, 0x72, 0x6E, 0x69, 0x6E, 0x67, 0x2F, 0x6D, 0x61, 0x63, + 0x68, 0x69, 0x6E, 0x65, 0x2D, 0x6C, 0x65, 0x61, 0x72, 0x6E, 0x69, 0x6E, 0x67, 0x2E, 0x6A, 0x73, + 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x9A, 0x38, 0x18, + 0xBA, 0x6D, 0xAF, 0x01, 0x01, 0x80, 0x06, 0x58, 0xF5, 0xFD, 0xD6, 0x01, 0x11, 0x86, 0xC0, 0x25, + 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xB7, 0x4A, 0x48, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x2A, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x2B, 0x2E, + 0x02, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, + 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, + 0x62, 0x2F, 0x6D, 0x65, 0x73, 0x73, 0x61, 0x67, 0x69, 0x6E, 0x67, 0x2F, 0x0A, 0x00, 0x20, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x2D, 0x65, 0xC7, 0x25, 0xC1, 0xFD, 0xD6, 0x01, + 0x10, 0x10, 0x93, 0xEB, 0x3B, 0xFE, 0xD6, 0x01, 0xE8, 0xA3, 0xC1, 0x25, 0xC1, 0xFD, 0xD6, 0x01, + 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, + 0x9A, 0xE9, 0x31, 0xC9, 0xE3, 0x07, 0x00, 0x00, 0xC1, 0x15, 0x00, 0x00, 0x43, 0x00, 0x24, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x73, 0x2E, 0x02, 0x00, 0x6E, 0x6F, + 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, + 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x6D, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x69, 0x6E, 0x67, 0x2F, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2D, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x2D, 0x69, 0x6E, 0x74, 0x65, 0x72, 0x6E, 0x61, 0x6C, 0x2E, 0x6A, + 0x73, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x9A, 0x38, + 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0x83, 0xA7, 0x06, 0x58, 0xF5, 0xFD, 0xD6, 0x01, 0xCE, 0x2C, 0xC2, + 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, + 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x1C, 0x80, 0xA9, 0x37, 0xA2, 0x24, 0x00, 0x00, 0x40, 0xB9, 0x00, + 0x00, 0x34, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0xB7, + 0x36, 0x02, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, + 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, + 0x69, 0x62, 0x2F, 0x6D, 0x65, 0x73, 0x73, 0x61, 0x67, 0x69, 0x6E, 0x67, 0x2F, 0x69, 0x6E, 0x64, + 0x65, 0x78, 0x2E, 0x64, 0x2E, 0x74, 0x73, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x00, 0x18, 0x00, 0x00, 0x9A, 0x38, 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0x4E, 0x61, 0x3F, 0x53, 0x75, + 0xFE, 0xD6, 0x01, 0x03, 0xDD, 0xC2, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, + 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0xD0, 0x49, 0x56, 0x11, 0xBD, + 0x01, 0x00, 0x00, 0xBC, 0x02, 0x00, 0x00, 0x32, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x20, 0x00, 0x00, 0x00, 0xAB, 0x5B, 0x02, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, + 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, + 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x6D, 0x65, 0x73, 0x73, 0x61, 0x67, 0x69, + 0x6E, 0x67, 0x2F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x2E, 0x6A, 0x73, 0x0A, 0x00, 0x20, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x9A, 0x38, 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0x57, + 0xF5, 0x06, 0x58, 0xF5, 0xFD, 0xD6, 0x01, 0xD9, 0xA3, 0xC3, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, + 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0xEE, + 0xF3, 0x58, 0x09, 0xDC, 0x06, 0x00, 0x00, 0x54, 0x15, 0x00, 0x00, 0x4B, 0x00, 0x24, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0xB8, 0x5D, 0x02, 0x00, 0x6E, 0x6F, 0x64, + 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, + 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x6D, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x69, 0x6E, 0x67, 0x2F, 0x6D, 0x65, 0x73, 0x73, 0x61, 0x67, 0x69, 0x6E, 0x67, + 0x2D, 0x61, 0x70, 0x69, 0x2D, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2D, 0x69, 0x6E, 0x74, + 0x65, 0x72, 0x6E, 0x61, 0x6C, 0x2E, 0x6A, 0x73, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x18, 0x00, 0x00, 0x9A, 0x38, 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0x57, 0xF5, 0x06, 0x58, + 0xF5, 0xFD, 0xD6, 0x01, 0xE7, 0x18, 0xC5, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, + 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0xCF, 0x51, 0xDC, 0xF7, + 0x83, 0x05, 0x00, 0x00, 0x46, 0x0F, 0x00, 0x00, 0x46, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0xFD, 0x64, 0x02, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, + 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, + 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x6D, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x69, 0x6E, 0x67, 0x2F, 0x6D, 0x65, 0x73, 0x73, 0x61, 0x67, 0x69, 0x6E, 0x67, 0x2D, 0x65, 0x72, + 0x72, 0x6F, 0x72, 0x73, 0x2D, 0x69, 0x6E, 0x74, 0x65, 0x72, 0x6E, 0x61, 0x6C, 0x2E, 0x6A, 0x73, + 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x9A, 0x38, 0x18, + 0xBA, 0x6D, 0xAF, 0x01, 0x57, 0xF5, 0x06, 0x58, 0xF5, 0xFD, 0xD6, 0x01, 0x93, 0xDC, 0xC5, 0x25, + 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, + 0xE0, 0x79, 0x5A, 0x0B, 0x28, 0xAA, 0xA8, 0x7E, 0x64, 0x10, 0x00, 0x00, 0x4E, 0x5D, 0x00, 0x00, + 0x3F, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0xE4, 0x6A, + 0x02, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, + 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, + 0x62, 0x2F, 0x6D, 0x65, 0x73, 0x73, 0x61, 0x67, 0x69, 0x6E, 0x67, 0x2F, 0x6D, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x69, 0x6E, 0x67, 0x2D, 0x69, 0x6E, 0x74, 0x65, 0x72, 0x6E, 0x61, 0x6C, 0x2E, 0x6A, + 0x73, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x9A, 0x38, + 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0x08, 0x1C, 0x07, 0x58, 0xF5, 0xFD, 0xD6, 0x01, 0x93, 0xDC, 0xC5, + 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, + 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x97, 0x9F, 0x70, 0xAB, 0x3B, 0x1F, 0x00, 0x00, 0x84, 0xAD, 0x00, + 0x00, 0x36, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0xA5, + 0x7B, 0x02, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, + 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, + 0x69, 0x62, 0x2F, 0x6D, 0x65, 0x73, 0x73, 0x61, 0x67, 0x69, 0x6E, 0x67, 0x2F, 0x6D, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x69, 0x6E, 0x67, 0x2E, 0x6A, 0x73, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x9A, 0x38, 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0x08, 0x1C, 0x07, + 0x58, 0xF5, 0xFD, 0xD6, 0x01, 0x2D, 0x65, 0xC7, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, + 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB7, 0x4A, 0x48, 0x52, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x34, 0x9B, 0x02, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, + 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, + 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x70, 0x72, 0x6F, 0x6A, 0x65, + 0x63, 0x74, 0x2D, 0x6D, 0x61, 0x6E, 0x61, 0x67, 0x65, 0x6D, 0x65, 0x6E, 0x74, 0x2F, 0x0A, 0x00, + 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x5E, 0x3D, 0xCB, 0x25, 0xC1, 0xFD, + 0xD6, 0x01, 0x10, 0x10, 0x93, 0xEB, 0x3B, 0xFE, 0xD6, 0x01, 0x2D, 0x65, 0xC7, 0x25, 0xC1, 0xFD, + 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, + 0x5A, 0x0B, 0x73, 0xAE, 0x33, 0xBA, 0x98, 0x08, 0x00, 0x00, 0x03, 0x21, 0x00, 0x00, 0x41, 0x00, + 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x85, 0x9B, 0x02, 0x00, + 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, + 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, + 0x70, 0x72, 0x6F, 0x6A, 0x65, 0x63, 0x74, 0x2D, 0x6D, 0x61, 0x6E, 0x61, 0x67, 0x65, 0x6D, 0x65, + 0x6E, 0x74, 0x2F, 0x61, 0x6E, 0x64, 0x72, 0x6F, 0x69, 0x64, 0x2D, 0x61, 0x70, 0x70, 0x2E, 0x6A, + 0x73, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x9A, 0x38, + 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0x08, 0x1C, 0x07, 0x58, 0xF5, 0xFD, 0xD6, 0x01, 0x66, 0x2B, 0xC8, + 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, + 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x25, 0xB6, 0xAB, 0x81, 0xFE, 0x09, 0x00, 0x00, 0xFF, 0x31, 0x00, + 0x00, 0x3D, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x7C, + 0xA4, 0x02, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, + 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, + 0x69, 0x62, 0x2F, 0x70, 0x72, 0x6F, 0x6A, 0x65, 0x63, 0x74, 0x2D, 0x6D, 0x61, 0x6E, 0x61, 0x67, + 0x65, 0x6D, 0x65, 0x6E, 0x74, 0x2F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x2E, 0x64, 0x2E, 0x74, 0x73, + 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x9A, 0x38, 0x18, + 0xBA, 0x6D, 0xAF, 0x01, 0xAE, 0xEE, 0x44, 0x53, 0x75, 0xFE, 0xD6, 0x01, 0x14, 0xEF, 0xC8, 0x25, + 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, + 0xE0, 0x79, 0x5A, 0x0B, 0x56, 0xAB, 0xA1, 0x32, 0xE1, 0x02, 0x00, 0x00, 0x10, 0x06, 0x00, 0x00, + 0x3B, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0xD5, 0xAE, + 0x02, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, + 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, + 0x62, 0x2F, 0x70, 0x72, 0x6F, 0x6A, 0x65, 0x63, 0x74, 0x2D, 0x6D, 0x61, 0x6E, 0x61, 0x67, 0x65, + 0x6D, 0x65, 0x6E, 0x74, 0x2F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x2E, 0x6A, 0x73, 0x0A, 0x00, 0x20, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x9A, 0x38, 0x18, 0xBA, 0x6D, 0xAF, + 0x01, 0xF8, 0x90, 0x07, 0x58, 0xF5, 0xFD, 0xD6, 0x01, 0xE3, 0xB3, 0xC9, 0x25, 0xC1, 0xFD, 0xD6, + 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, + 0x0B, 0x1E, 0xCD, 0x89, 0x80, 0x8E, 0x05, 0x00, 0x00, 0xA8, 0x10, 0x00, 0x00, 0x3D, 0x00, 0x24, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x0F, 0xB2, 0x02, 0x00, 0x6E, + 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, + 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x70, + 0x72, 0x6F, 0x6A, 0x65, 0x63, 0x74, 0x2D, 0x6D, 0x61, 0x6E, 0x61, 0x67, 0x65, 0x6D, 0x65, 0x6E, + 0x74, 0x2F, 0x69, 0x6F, 0x73, 0x2D, 0x61, 0x70, 0x70, 0x2E, 0x6A, 0x73, 0x0A, 0x00, 0x20, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x9A, 0x38, 0x18, 0xBA, 0x6D, 0xAF, 0x01, + 0x13, 0xB8, 0x07, 0x58, 0xF5, 0xFD, 0xD6, 0x01, 0xB4, 0x77, 0xCA, 0x25, 0xC1, 0xFD, 0xD6, 0x01, + 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, + 0x77, 0xBB, 0x89, 0x0C, 0x55, 0x0B, 0x00, 0x00, 0x0A, 0x32, 0x00, 0x00, 0x5D, 0x00, 0x24, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0xF8, 0xB7, 0x02, 0x00, 0x6E, 0x6F, + 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, + 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x70, 0x72, + 0x6F, 0x6A, 0x65, 0x63, 0x74, 0x2D, 0x6D, 0x61, 0x6E, 0x61, 0x67, 0x65, 0x6D, 0x65, 0x6E, 0x74, + 0x2F, 0x70, 0x72, 0x6F, 0x6A, 0x65, 0x63, 0x74, 0x2D, 0x6D, 0x61, 0x6E, 0x61, 0x67, 0x65, 0x6D, + 0x65, 0x6E, 0x74, 0x2D, 0x61, 0x70, 0x69, 0x2D, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2D, + 0x69, 0x6E, 0x74, 0x65, 0x72, 0x6E, 0x61, 0x6C, 0x2E, 0x6A, 0x73, 0x0A, 0x00, 0x20, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x9A, 0x38, 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0x49, + 0xDF, 0x07, 0x58, 0xF5, 0xFD, 0xD6, 0x01, 0xB4, 0x77, 0xCA, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, + 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0xB4, + 0xCE, 0x67, 0x19, 0x30, 0x0A, 0x00, 0x00, 0xEA, 0x2F, 0x00, 0x00, 0x48, 0x00, 0x24, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0xC8, 0xC3, 0x02, 0x00, 0x6E, 0x6F, 0x64, + 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, + 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x70, 0x72, 0x6F, + 0x6A, 0x65, 0x63, 0x74, 0x2D, 0x6D, 0x61, 0x6E, 0x61, 0x67, 0x65, 0x6D, 0x65, 0x6E, 0x74, 0x2F, + 0x70, 0x72, 0x6F, 0x6A, 0x65, 0x63, 0x74, 0x2D, 0x6D, 0x61, 0x6E, 0x61, 0x67, 0x65, 0x6D, 0x65, + 0x6E, 0x74, 0x2E, 0x6A, 0x73, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, + 0x00, 0x00, 0x9A, 0x38, 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0x49, 0xDF, 0x07, 0x58, 0xF5, 0xFD, 0xD6, + 0x01, 0x5E, 0x3D, 0xCB, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xB7, 0x4A, 0x48, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, + 0x00, 0x00, 0x00, 0x5E, 0xCE, 0x02, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, + 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, + 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x72, 0x65, 0x6D, 0x6F, 0x74, 0x65, 0x2D, 0x63, 0x6F, + 0x6E, 0x66, 0x69, 0x67, 0x2F, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, + 0x00, 0xDF, 0x12, 0xCF, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x22, 0x37, 0x93, 0xEB, 0x3B, 0xFE, 0xD6, + 0x01, 0x0D, 0x01, 0xCC, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, + 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x76, 0x8E, 0x94, 0x60, 0xD9, 0x0E, 0x00, + 0x00, 0xC4, 0x38, 0x00, 0x00, 0x38, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, + 0x00, 0x00, 0x00, 0xAA, 0xCE, 0x02, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, + 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, + 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x72, 0x65, 0x6D, 0x6F, 0x74, 0x65, 0x2D, 0x63, 0x6F, + 0x6E, 0x66, 0x69, 0x67, 0x2F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x2E, 0x64, 0x2E, 0x74, 0x73, 0x0A, + 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x9A, 0x38, 0x18, 0xBA, + 0x6D, 0xAF, 0x01, 0xAD, 0xAD, 0x47, 0x53, 0x75, 0xFE, 0xD6, 0x01, 0xE4, 0xC5, 0xCC, 0x25, 0xC1, + 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, + 0x79, 0x5A, 0x0B, 0xD0, 0x49, 0x56, 0x11, 0xBD, 0x01, 0x00, 0x00, 0xBC, 0x02, 0x00, 0x00, 0x36, + 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0xD9, 0xDD, 0x02, + 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, + 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, + 0x2F, 0x72, 0x65, 0x6D, 0x6F, 0x74, 0x65, 0x2D, 0x63, 0x6F, 0x6E, 0x66, 0x69, 0x67, 0x2F, 0x69, + 0x6E, 0x64, 0x65, 0x78, 0x2E, 0x6A, 0x73, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x00, 0x18, 0x00, 0x00, 0x9A, 0x38, 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0x30, 0x2D, 0x08, 0x58, 0xF5, + 0xFD, 0xD6, 0x01, 0x94, 0x89, 0xCD, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, + 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x45, 0x3B, 0x38, 0xE7, 0x9D, + 0x10, 0x00, 0x00, 0x91, 0x47, 0x00, 0x00, 0x52, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x20, 0x00, 0x00, 0x00, 0xEA, 0xDF, 0x02, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, + 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, + 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x72, 0x65, 0x6D, 0x6F, 0x74, 0x65, 0x2D, + 0x63, 0x6F, 0x6E, 0x66, 0x69, 0x67, 0x2F, 0x72, 0x65, 0x6D, 0x6F, 0x74, 0x65, 0x2D, 0x63, 0x6F, + 0x6E, 0x66, 0x69, 0x67, 0x2D, 0x61, 0x70, 0x69, 0x2D, 0x63, 0x6C, 0x69, 0x65, 0x6E, 0x74, 0x2D, + 0x69, 0x6E, 0x74, 0x65, 0x72, 0x6E, 0x61, 0x6C, 0x2E, 0x6A, 0x73, 0x0A, 0x00, 0x20, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x9A, 0x38, 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0x30, + 0x2D, 0x08, 0x58, 0xF5, 0xFD, 0xD6, 0x01, 0x25, 0x4F, 0xCE, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, + 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0xA5, + 0x29, 0x9F, 0xFC, 0x3E, 0x0C, 0x00, 0x00, 0x80, 0x39, 0x00, 0x00, 0x3E, 0x00, 0x24, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0xF7, 0xF0, 0x02, 0x00, 0x6E, 0x6F, 0x64, + 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, + 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x72, 0x65, 0x6D, + 0x6F, 0x74, 0x65, 0x2D, 0x63, 0x6F, 0x6E, 0x66, 0x69, 0x67, 0x2F, 0x72, 0x65, 0x6D, 0x6F, 0x74, + 0x65, 0x2D, 0x63, 0x6F, 0x6E, 0x66, 0x69, 0x67, 0x2E, 0x6A, 0x73, 0x0A, 0x00, 0x20, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x9A, 0x38, 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0x5C, + 0x54, 0x08, 0x58, 0xF5, 0xFD, 0xD6, 0x01, 0xDF, 0x12, 0xCF, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, + 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB7, 0x4A, 0x48, 0x52, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x24, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x91, 0xFD, 0x02, 0x00, 0x6E, 0x6F, 0x64, + 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, + 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x73, 0x65, 0x63, + 0x75, 0x72, 0x69, 0x74, 0x79, 0x2D, 0x72, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x0A, 0x00, 0x20, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0xDB, 0x5F, 0xD4, 0x25, 0xC1, 0xFD, 0xD6, 0x01, + 0x2D, 0x5E, 0x93, 0xEB, 0x3B, 0xFE, 0xD6, 0x01, 0xE9, 0xD7, 0xCF, 0x25, 0xC1, 0xFD, 0xD6, 0x01, + 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, + 0x09, 0xBB, 0xD7, 0x39, 0xD3, 0x08, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x39, 0x00, 0x24, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0xDE, 0xFD, 0x02, 0x00, 0x6E, 0x6F, + 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, + 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x73, 0x65, + 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2D, 0x72, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x69, 0x6E, 0x64, + 0x65, 0x78, 0x2E, 0x64, 0x2E, 0x74, 0x73, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x00, 0x18, 0x00, 0x00, 0x9A, 0x38, 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0x8D, 0x8B, 0x49, 0x53, 0x75, + 0xFE, 0xD6, 0x01, 0x13, 0x88, 0xD0, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, + 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0xD0, 0x49, 0x56, 0x11, 0xBD, + 0x01, 0x00, 0x00, 0xBC, 0x02, 0x00, 0x00, 0x37, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x20, 0x00, 0x00, 0x00, 0x08, 0x07, 0x03, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, + 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, + 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, + 0x79, 0x2D, 0x72, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x2E, 0x6A, 0x73, + 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x9A, 0x38, 0x18, + 0xBA, 0x6D, 0xAF, 0x01, 0x66, 0xA2, 0x08, 0x58, 0xF5, 0xFD, 0xD6, 0x01, 0x65, 0x4E, 0xD1, 0x25, + 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, + 0xE0, 0x79, 0x5A, 0x0B, 0x22, 0x1E, 0x02, 0xA8, 0xA8, 0x09, 0x00, 0x00, 0x9B, 0x26, 0x00, 0x00, + 0x54, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x1A, 0x09, + 0x03, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, + 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, + 0x62, 0x2F, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2D, 0x72, 0x75, 0x6C, 0x65, 0x73, + 0x2F, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2D, 0x72, 0x75, 0x6C, 0x65, 0x73, 0x2D, + 0x61, 0x70, 0x69, 0x2D, 0x63, 0x6C, 0x69, 0x65, 0x6E, 0x74, 0x2D, 0x69, 0x6E, 0x74, 0x65, 0x72, + 0x6E, 0x61, 0x6C, 0x2E, 0x6A, 0x73, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x18, 0x00, 0x00, 0x9A, 0x38, 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0x66, 0xA2, 0x08, 0x58, 0xF5, 0xFD, + 0xD6, 0x01, 0x34, 0x12, 0xD2, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, + 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x26, 0xBB, 0x01, 0xCB, 0x3B, 0x03, + 0x00, 0x00, 0xE8, 0x06, 0x00, 0x00, 0x49, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x20, 0x00, 0x00, 0x00, 0x34, 0x13, 0x03, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, + 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, + 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, + 0x2D, 0x72, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2D, + 0x72, 0x75, 0x6C, 0x65, 0x73, 0x2D, 0x69, 0x6E, 0x74, 0x65, 0x72, 0x6E, 0x61, 0x6C, 0x2E, 0x6A, + 0x73, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x9A, 0x38, + 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0x66, 0xA2, 0x08, 0x58, 0xF5, 0xFD, 0xD6, 0x01, 0xDF, 0x9A, 0xD3, + 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, + 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0xE0, 0xE0, 0x48, 0xC7, 0x6F, 0x0C, 0x00, 0x00, 0x1A, 0x37, 0x00, + 0x00, 0x40, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0xD6, + 0x16, 0x03, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, + 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, + 0x69, 0x62, 0x2F, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2D, 0x72, 0x75, 0x6C, 0x65, + 0x73, 0x2F, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2D, 0x72, 0x75, 0x6C, 0x65, 0x73, + 0x2E, 0x6A, 0x73, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, + 0x9A, 0x38, 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0xB1, 0xC9, 0x08, 0x58, 0xF5, 0xFD, 0xD6, 0x01, 0xDB, + 0x5F, 0xD4, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xB7, 0x4A, 0x48, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x28, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, + 0x00, 0xA3, 0x23, 0x03, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, + 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, + 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x73, 0x74, 0x6F, 0x72, 0x61, 0x67, 0x65, 0x2F, 0x0A, 0x00, 0x20, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x68, 0x71, 0xD7, 0x25, 0xC1, 0xFD, 0xD6, + 0x01, 0x2D, 0x5E, 0x93, 0xEB, 0x3B, 0xFE, 0xD6, 0x01, 0xA2, 0x23, 0xD5, 0x25, 0xC1, 0xFD, 0xD6, + 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, + 0x0B, 0xCD, 0x93, 0x96, 0x85, 0x71, 0x03, 0x00, 0x00, 0xF0, 0x07, 0x00, 0x00, 0x32, 0x00, 0x24, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0xE9, 0x23, 0x03, 0x00, 0x6E, + 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, + 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x73, + 0x74, 0x6F, 0x72, 0x61, 0x67, 0x65, 0x2F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x2E, 0x64, 0x2E, 0x74, + 0x73, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x9A, 0x38, + 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0x06, 0x98, 0x4F, 0x53, 0x75, 0xFE, 0xD6, 0x01, 0x9A, 0xE8, 0xD5, + 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, + 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0xD0, 0x49, 0x56, 0x11, 0xBD, 0x01, 0x00, 0x00, 0xBC, 0x02, 0x00, + 0x00, 0x30, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0xAA, + 0x27, 0x03, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, + 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, + 0x69, 0x62, 0x2F, 0x73, 0x74, 0x6F, 0x72, 0x61, 0x67, 0x65, 0x2F, 0x69, 0x6E, 0x64, 0x65, 0x78, + 0x2E, 0x6A, 0x73, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, + 0x9A, 0x38, 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0xB1, 0xC9, 0x08, 0x58, 0xF5, 0xFD, 0xD6, 0x01, 0x5E, + 0xAC, 0xD6, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, + 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x49, 0xBB, 0xDB, 0x6D, 0x23, 0x07, 0x00, 0x00, 0x36, + 0x14, 0x00, 0x00, 0x32, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, + 0x00, 0xB5, 0x29, 0x03, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, + 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, + 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x73, 0x74, 0x6F, 0x72, 0x61, 0x67, 0x65, 0x2F, 0x73, 0x74, 0x6F, + 0x72, 0x61, 0x67, 0x65, 0x2E, 0x6A, 0x73, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x00, 0x18, 0x00, 0x00, 0x9A, 0x38, 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0x4D, 0xF1, 0x08, 0x58, 0xF5, + 0xFD, 0xD6, 0x01, 0x68, 0x71, 0xD7, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, + 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB7, 0x4A, 0x48, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x26, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x10, 0x00, 0x00, 0x00, 0x28, 0x31, 0x03, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, + 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, + 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x75, 0x74, 0x69, 0x6C, 0x73, 0x2F, 0x0A, + 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0xC4, 0xB7, 0xDB, 0x25, 0xC1, + 0xFD, 0xD6, 0x01, 0x38, 0x85, 0x93, 0xEB, 0x3B, 0xFE, 0xD6, 0x01, 0x35, 0x35, 0xD8, 0x25, 0xC1, + 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, + 0x79, 0x5A, 0x0B, 0x0B, 0x55, 0xF8, 0xCC, 0xAD, 0x1F, 0x00, 0x00, 0x97, 0x86, 0x00, 0x00, 0x34, + 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x6C, 0x31, 0x03, + 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, + 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, + 0x2F, 0x75, 0x74, 0x69, 0x6C, 0x73, 0x2F, 0x61, 0x70, 0x69, 0x2D, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x2E, 0x6A, 0x73, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, + 0x00, 0x00, 0x9A, 0x38, 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0x4D, 0xF1, 0x08, 0x58, 0xF5, 0xFD, 0xD6, + 0x01, 0x35, 0x35, 0xD8, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, + 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x79, 0x72, 0x8D, 0xE5, 0x93, 0x04, 0x00, + 0x00, 0xC4, 0x0A, 0x00, 0x00, 0x32, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, + 0x00, 0x00, 0x00, 0x6B, 0x51, 0x03, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, + 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, + 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x75, 0x74, 0x69, 0x6C, 0x73, 0x2F, 0x64, 0x65, 0x65, + 0x70, 0x2D, 0x63, 0x6F, 0x70, 0x79, 0x2E, 0x6A, 0x73, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x9A, 0x38, 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0x8F, 0x18, 0x09, + 0x58, 0xF5, 0xFD, 0xD6, 0x01, 0x31, 0xFA, 0xD8, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, + 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0xAB, 0x0B, 0xEF, + 0xE4, 0x4A, 0x22, 0x00, 0x00, 0xE0, 0xB0, 0x00, 0x00, 0x2E, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x4E, 0x56, 0x03, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, + 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, + 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x75, 0x74, 0x69, 0x6C, 0x73, + 0x2F, 0x65, 0x72, 0x72, 0x6F, 0x72, 0x2E, 0x6A, 0x73, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x9A, 0x38, 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0x8F, 0x18, 0x09, + 0x58, 0xF5, 0xFD, 0xD6, 0x01, 0x20, 0x0A, 0xDA, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, + 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0xF9, 0xAD, 0x59, + 0x9E, 0xAC, 0x09, 0x00, 0x00, 0xDF, 0x1B, 0x00, 0x00, 0x2E, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0xE4, 0x78, 0x03, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, + 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, + 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x75, 0x74, 0x69, 0x6C, 0x73, + 0x2F, 0x69, 0x6E, 0x64, 0x65, 0x78, 0x2E, 0x6A, 0x73, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x9A, 0x38, 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0x26, 0x3F, 0x09, + 0x58, 0xF5, 0xFD, 0xD6, 0x01, 0x83, 0x1B, 0xDB, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, + 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, 0x52, 0x02, 0xB9, + 0x6D, 0x98, 0x08, 0x00, 0x00, 0xC8, 0x21, 0x00, 0x00, 0x32, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0xDC, 0x82, 0x03, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, + 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, + 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x6C, 0x69, 0x62, 0x2F, 0x75, 0x74, 0x69, 0x6C, 0x73, + 0x2F, 0x76, 0x61, 0x6C, 0x69, 0x64, 0x61, 0x74, 0x6F, 0x72, 0x2E, 0x6A, 0x73, 0x0A, 0x00, 0x20, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x9A, 0x38, 0x18, 0xBA, 0x6D, 0xAF, + 0x01, 0x26, 0x3F, 0x09, 0x58, 0xF5, 0xFD, 0xD6, 0x01, 0xC4, 0xB7, 0xDB, 0x25, 0xC1, 0xFD, 0xD6, + 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, + 0x0B, 0xBC, 0x04, 0x5D, 0x7B, 0x14, 0x0F, 0x00, 0x00, 0x5D, 0x2C, 0x00, 0x00, 0x23, 0x00, 0x24, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0xC4, 0x8B, 0x03, 0x00, 0x6E, + 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, + 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x4C, 0x49, 0x43, 0x45, 0x4E, + 0x53, 0x45, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, 0x9A, + 0x38, 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0xF7, 0x8C, 0x09, 0x58, 0xF5, 0xFD, 0xD6, 0x01, 0xBB, 0x4E, + 0xA1, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, + 0x08, 0x00, 0xF0, 0x58, 0x3F, 0x52, 0x09, 0x1A, 0xD6, 0xAE, 0xF6, 0x05, 0x00, 0x00, 0x6D, 0x11, + 0x00, 0x00, 0x28, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, + 0x19, 0x9B, 0x03, 0x00, 0x6E, 0x6F, 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, + 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, + 0x70, 0x61, 0x63, 0x6B, 0x61, 0x67, 0x65, 0x2E, 0x6A, 0x73, 0x6F, 0x6E, 0x0A, 0x00, 0x20, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x25, 0x69, 0xAC, 0x98, 0x86, 0xF7, 0xD6, 0x01, + 0x81, 0x98, 0x72, 0x55, 0x75, 0xFE, 0xD6, 0x01, 0x7C, 0x13, 0xA2, 0x25, 0xC1, 0xFD, 0xD6, 0x01, + 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0xE0, 0x79, 0x5A, 0x0B, + 0x42, 0x2F, 0x58, 0xF4, 0x91, 0x04, 0x00, 0x00, 0xEF, 0x0A, 0x00, 0x00, 0x25, 0x00, 0x24, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x55, 0xA1, 0x03, 0x00, 0x6E, 0x6F, + 0x64, 0x65, 0x5F, 0x6D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x73, 0x2F, 0x66, 0x69, 0x72, 0x65, 0x62, + 0x61, 0x73, 0x65, 0x2D, 0x61, 0x64, 0x6D, 0x69, 0x6E, 0x2F, 0x52, 0x45, 0x41, 0x44, 0x4D, 0x45, + 0x2E, 0x6D, 0x64, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x00, + 0x9A, 0x38, 0x18, 0xBA, 0x6D, 0xAF, 0x01, 0xE0, 0xB3, 0x09, 0x58, 0xF5, 0xFD, 0xD6, 0x01, 0x2E, + 0xD7, 0xA2, 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x01, 0x02, 0x3F, 0x00, 0x14, 0x00, 0x00, + 0x00, 0x08, 0x00, 0x53, 0x61, 0x47, 0x52, 0x3C, 0x16, 0x81, 0xB8, 0x54, 0x01, 0x00, 0x00, 0x43, + 0x02, 0x00, 0x00, 0x0C, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, + 0x00, 0x29, 0xA6, 0x03, 0x00, 0x70, 0x61, 0x63, 0x6B, 0x61, 0x67, 0x65, 0x2E, 0x6A, 0x73, 0x6F, + 0x6E, 0x0A, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00, 0x51, 0xFD, 0xFF, + 0x91, 0x0F, 0xFD, 0xD6, 0x01, 0xD8, 0xED, 0x8E, 0x56, 0x75, 0xFE, 0xD6, 0x01, 0x9D, 0x78, 0x90, + 0x25, 0xC1, 0xFD, 0xD6, 0x01, 0x50, 0x4B, 0x05, 0x06, 0x00, 0x00, 0x00, 0x00, 0x73, 0x00, 0x73, + 0x00, 0xCE, 0x3A, 0x00, 0x00, 0xA7, 0xA7, 0x03, 0x00, 0x00, 0x00}; + +#endif \ No newline at end of file diff --git a/examples/CloudFunctions/CreateFunction/DeployAutoZipFunction/DeployAutoZipFunction.ino b/examples/CloudFunctions/CreateFunction/DeployAutoZipFunction/DeployAutoZipFunction.ino new file mode 100644 index 000000000..bb0e4adb3 --- /dev/null +++ b/examples/CloudFunctions/CreateFunction/DeployAutoZipFunction/DeployAutoZipFunction.ino @@ -0,0 +1,236 @@ + +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +/** Prerequisites + * + * Cloud Functions deployment requires the pay-as-you-go (Blaze) billing plan. + * + * IAM owner permission required for service account used and Cloud Build API must be enabled, + * https://github.com/mobizt/Firebase-ESP-Client#iam-permission-and-api-enable + */ + +/* Cloud Functions deployment requires the pay-as-you-go (Blaze) billing plan. */ + +/** The code in this example used to deploy the autozip backend Cloud function used in the source code files deployment. + * + * This operation required OAUth2.0 authentication. + */ + +/** The pointer, points to the operation info assigned to the create function will provide the progress of deployment that can be accessed later. + * + * After you run this example code, you can now deploy sources files in any foder (path). + * The autozip function will compress the source code files in the defined folder and upload to the admin account Cloud Storage data bucket. + */ + +/** Due to the processing power in ESP8266 is weaker than ESP32, the OAuth2.0 token generation takes time then this example + * will check for token to be ready in loop prior to create the Cloud Function. + * + * The Cloud Function creation (deploy) is the long running operation, + * the final result may fail due to bugs in the user function, missing dependencies, + * and incorrect configurations. + */ +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +#include "AutoZip.h" + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/** 2. Define the Service Account credentials (required for token generation) + * + * This information can be taken from the service account JSON file. + * + * To download service account file, from the Firebase console, goto project settings, + * select "Service accounts" tab and click at "Generate new private key" button + */ +#define FIREBASE_PROJECT_ID "PROJECT_ID" +#define FIREBASE_CLIENT_EMAIL "CLIENT_EMAIL" +const char PRIVATE_KEY[] PROGMEM = "-----BEGIN PRIVATE KEY-----XXXXXXXXXXXX-----END PRIVATE KEY-----\n"; + +/* 3. Define the project location e.g. us-central1 or asia-northeast1 */ +// https://firebase.google.com/docs/projects/locations +#define PROJECT_LOCATION "PROJECT_LOCATION" + +/* 4. Define the Firebase storage bucket ID e.g bucket-name.appspot.com */ +#define STORAGE_BUCKET_ID "BUCKET-NAME.appspot.com" + +/* 5. If work with RTDB, define the RTDB URL */ +#define DATABASE_URL "URL" //.firebaseio.com or ..firebasedatabase.app + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +PolicyBuilder policy; +Binding binding; +FunctionsConfig function_config(FIREBASE_PROJECT_ID, PROJECT_LOCATION, STORAGE_BUCKET_ID); + +bool taskCompleted = false; + +unsigned long dataMillis = 0; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +/* The function to create and deploy Cloud Function */ +void creatFunction(); + +/* The function to show the Cloud Function deployment status */ +void functionCreationCallback(FunctionsOperationStatusInfo info); + +/* The function to create and deploy autozip Cloud Function */ +void deployAutoZip(); + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the Service Account credentials */ + config.service_account.data.client_email = FIREBASE_CLIENT_EMAIL; + config.service_account.data.project_id = FIREBASE_PROJECT_ID; + config.service_account.data.private_key = PRIVATE_KEY; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + /* Assign the RTDB URL */ + config.database_url = DATABASE_URL; + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + Firebase.begin(&config, &auth); +} + +void loop() +{ + // Firebase.ready() should be called repeatedly to handle authentication tasks. + +#if !defined(ESP32) && !defined(ESP8266) + if (Firebase.ready()) + Firebase.Functions.runDeployTasks(); +#endif + + if (Firebase.ready() && !taskCompleted) + { + deployAutoZip(); + taskCompleted = true; + } +} + +/* The function to create and deploy autozip Cloud Function */ +void deployAutoZip() +{ + function_config.setName("autozip"); + function_config.setEntryPoint("autozip"); + function_config.setRuntime("nodejs12"); + function_config.setTimeout(60); + function_config.setAvailableMemoryMb(256); + function_config.setMaxInstances(10); + + function_config.setSource(FB_AUTOZIP /* flash memory data of zip file */, sizeof(FB_AUTOZIP) /* size of data in bytes */); + function_config.setIngressSettings("ALLOW_ALL"); + + // Set up the IAM policy + binding.setRole("roles/cloudfunctions.invoker"); + binding.addMember("allUsers"); + policy.addBinding(&binding); + + function_config.setIamPolicy(&policy); + + Firebase.Functions.createFunction(&fbdo, &function_config, functionCreationCallback); +} + +/* The function to show the Cloud Function deployment status */ +void functionCreationCallback(FunctionsOperationStatusInfo statusInfo) +{ + if (statusInfo.status == firebase_functions_operation_status_unknown) + Serial.printf("%s: Unknown\n", statusInfo.functionId.c_str()); + else if (statusInfo.status == firebase_functions_operation_status_generate_upload_url) + Serial.printf("%s: Generate the upload Url...\n", statusInfo.functionId.c_str()); + else if (statusInfo.status == firebase_functions_operation_status_upload_source_file_in_progress) + Serial.printf("%s: Uploading file...\n", statusInfo.functionId.c_str()); + else if (statusInfo.status == firebase_functions_operation_status_deploy_in_progress) + Serial.printf("%s: Deploying function...\n", statusInfo.functionId.c_str()); + else if (statusInfo.status == firebase_functions_operation_status_set_iam_policy_in_progress) + Serial.printf("%s: Set the IAM policy...\n", statusInfo.functionId.c_str()); + else if (statusInfo.status == firebase_functions_operation_status_delete_in_progress) + Serial.printf("%s: Delete the function...\n", statusInfo.functionId.c_str()); + else if (statusInfo.status == firebase_functions_operation_status_finished) + { + Serial.printf("%s: success\n", statusInfo.functionId.c_str()); + Serial.println(); + } + else if (statusInfo.status == firebase_functions_operation_status_error) + { + Serial.printf("%s: Error, ", statusInfo.functionId.c_str()); + Serial.println(statusInfo.errorMsg.c_str()); + Serial.println(); + } +} \ No newline at end of file diff --git a/examples/CloudFunctions/DeleteFunction/DeleteFunction.ino b/examples/CloudFunctions/DeleteFunction/DeleteFunction.ino new file mode 100644 index 000000000..5f7af071d --- /dev/null +++ b/examples/CloudFunctions/DeleteFunction/DeleteFunction.ino @@ -0,0 +1,167 @@ + +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +/** Prerequisites + * + * Cloud Functions deployment requires the pay-as-you-go (Blaze) billing plan. + * + * IAM owner permission required for service account used and Cloud Build API must be enabled, + * https://github.com/mobizt/Firebase-ESP-Client#iam-permission-and-api-enable + */ + +/* Cloud Functions deployment requires the pay-as-you-go (Blaze) billing plan. */ + +/** This example shows how to delete the Cloud Function. + * + * This operation required OAUth2.0 authentication. + */ + +/** Due to the processing power in ESP8266 is weaker than ESP32, the OAuth2.0 token generation takes time then this example + * will check for token to be ready in loop prior to delete the Cloud Function. + */ +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/** 2. Define the Service Account credentials (required for token generation) + * + * This information can be taken from the service account JSON file. + * + * To download service account file, from the Firebase console, goto project settings, + * select "Service accounts" tab and click at "Generate new private key" button + */ +#define FIREBASE_PROJECT_ID "PROJECT_ID" +#define FIREBASE_CLIENT_EMAIL "CLIENT_EMAIL" +const char PRIVATE_KEY[] PROGMEM = "-----BEGIN PRIVATE KEY-----XXXXXXXXXXXX-----END PRIVATE KEY-----\n"; + +/* 3. Define the project location e.g. us-central1 or asia-northeast1 */ +// https://firebase.google.com/docs/projects/locations +#define PROJECT_LOCATION "PROJECT_LOCATION" + +/* 4. If work with RTDB, define the RTDB URL */ +#define DATABASE_URL "URL" //.firebaseio.com or ..firebasedatabase.app + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +bool taskCompleted = false; + +unsigned long dataMillis = 0; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +/* The function to delete the Cloud Function */ +void deleteFunction(); + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the Service Account credentials */ + config.service_account.data.client_email = FIREBASE_CLIENT_EMAIL; + config.service_account.data.project_id = FIREBASE_PROJECT_ID; + config.service_account.data.private_key = PRIVATE_KEY; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + /* Assign the RTDB URL */ + config.database_url = DATABASE_URL; + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + Firebase.begin(&config, &auth); +} + +void loop() +{ + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready() && !taskCompleted) + { + deleteFunction(); + taskCompleted = true; + } +} + +void deleteFunction() +{ + // Assumed that the function named helloWorld is already created and deployed for project. + + Serial.print("Delete the Googgle Cloud Function... "); + + if (Firebase.Functions.deleteFunction(&fbdo, FIREBASE_PROJECT_ID /* project id */, PROJECT_LOCATION /* project location */, "helloWorld" /* function name */)) + Serial.printf("ok\n%s\n\n", fbdo.payload().c_str()); + else + Serial.println(fbdo.errorReason()); +} diff --git a/examples/CloudFunctions/DownloadFunction/DownloadFunction.ino b/examples/CloudFunctions/DownloadFunction/DownloadFunction.ino new file mode 100644 index 000000000..89ed0bc64 --- /dev/null +++ b/examples/CloudFunctions/DownloadFunction/DownloadFunction.ino @@ -0,0 +1,167 @@ + +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +/** Prerequisites + * + * Cloud Functions deployment requires the pay-as-you-go (Blaze) billing plan. + * + * IAM owner permission required for service account used and Cloud Build API must be enabled, + * https://github.com/mobizt/Firebase-ESP-Client#iam-permission-and-api-enable + */ + +/* Cloud Functions deployment requires the pay-as-you-go (Blaze) billing plan. */ + +/** This example shows how to get the download Url of Cloud Function archive (zip file). + * + * This operation required OAUth2.0 authentication. + */ + +/** Due to the processing power in ESP8266 is weaker than ESP32, the OAuth2.0 token generation takes time then this example + * will check for token to be ready in loop prior to generate the Url. + */ +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/** 2. Define the Service Account credentials (required for token generation) + * + * This information can be taken from the service account JSON file. + * + * To download service account file, from the Firebase console, goto project settings, + * select "Service accounts" tab and click at "Generate new private key" button + */ +#define FIREBASE_PROJECT_ID "PROJECT_ID" +#define FIREBASE_CLIENT_EMAIL "CLIENT_EMAIL" +const char PRIVATE_KEY[] PROGMEM = "-----BEGIN PRIVATE KEY-----XXXXXXXXXXXX-----END PRIVATE KEY-----\n"; + +/* 3. Define the project location e.g. us-central1 or asia-northeast1 */ +// https://firebase.google.com/docs/projects/locations +#define PROJECT_LOCATION "PROJECT_LOCATION" + +/* 4. If work with RTDB, define the RTDB URL */ +#define DATABASE_URL "URL" //.firebaseio.com or ..firebasedatabase.app + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +bool taskCompleted = false; + +unsigned long dataMillis = 0; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +/* The function to call the Cloud Function */ +void generateUrl(); + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the Service Account credentials */ + config.service_account.data.client_email = FIREBASE_CLIENT_EMAIL; + config.service_account.data.project_id = FIREBASE_PROJECT_ID; + config.service_account.data.private_key = PRIVATE_KEY; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + /* Assign the RTDB URL */ + config.database_url = DATABASE_URL; + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + Firebase.begin(&config, &auth); +} + +void loop() +{ + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready() && !taskCompleted) + { + generateUrl(); + taskCompleted = true; + } +} + +void generateUrl() +{ + // Assumed that the function named helloWorld is already created and deployed for project. + + Serial.print("Generate the download Url of the Googgle Cloud Function... "); + + if (Firebase.Functions.generateDownloadUrl(&fbdo, FIREBASE_PROJECT_ID /* project id */, PROJECT_LOCATION /* project location */, "helloWorld" /* function name */, "1" /* version id */)) + Serial.printf("ok\n%s\n\n", fbdo.payload().c_str()); + else + Serial.println(fbdo.errorReason()); +} diff --git a/examples/CloudFunctions/IAMPolicy/CreatePolicy/CreatePolicy.ino b/examples/CloudFunctions/IAMPolicy/CreatePolicy/CreatePolicy.ino new file mode 100644 index 000000000..77fdcc530 --- /dev/null +++ b/examples/CloudFunctions/IAMPolicy/CreatePolicy/CreatePolicy.ino @@ -0,0 +1,103 @@ + +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +/** This example shows how to create IAM Policy used in Cloud Function creation. + * The helper class PolicyBuilder used in policy JSON object generation + */ +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +// We need to define the PolicyBuilder, Binding AuditConfig, and AuditLogConfig data to keep the function and triggers configuaration and IAM policy. +// These objects should declare as global objects or static to prevent the stack overflow. +PolicyBuilder policy; +Binding binding; +AuditConfig audit_config; +AuditLogConfig audit_log_config; + +void setup() +{ + + Serial.begin(115200); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + Firebase.begin(&config, &auth); + + // This will create the policy JSON object as in this document + // https://cloud.google.com/iam/docs/reference/rest/v1/Policy + + policy.setETag("BwWWja0YfJA="); + policy.setVersion(3); + + binding.setRole("roles/resourcemanager.organizationAdmin"); + binding.addMember("user:mike@example.com"); + binding.addMember("group:admins@example.com"); + binding.addMember("domain:google.com"); + binding.addMember("serviceAccount:my-project-id@appspot.gserviceaccount.com"); + policy.addBinding(&binding, true); + + binding.setRole("roles/resourcemanager.organizationViewer"); + binding.addMember("user:eve@example.com"); + binding.setCondition("request.time < timestamp('2020-10-01T00:00:00.000Z", "expirable access", "Does not grant access after Sep 2020"); + policy.addBinding(&binding, true); + + audit_config.setService("allServices"); + + audit_log_config.setLogType("DATA_READ"); + audit_log_config.addExemptedMembers("user:jose@example.com"); + audit_config.addAuditLogConfig(&audit_log_config, true); + + audit_log_config.setLogType("DATA_WRITE"); + audit_config.addAuditLogConfig(&audit_log_config, true); + + audit_log_config.setLogType("ADMIN_READ"); + audit_config.addAuditLogConfig(&audit_log_config, true); + + policy.addAuditConfig(&audit_config, true); + + audit_config.setService("sampleservice.googleapis.com"); + + audit_log_config.setLogType("DATA_READ"); + audit_config.addAuditLogConfig(&audit_log_config, true); + + audit_log_config.setLogType("DATA_WRITE"); + audit_log_config.addExemptedMembers("user:aliya@example.com"); + audit_config.addAuditLogConfig(&audit_log_config, true); + + policy.addAuditConfig(&audit_config, true); + + String policyStr; + policy.toString(policyStr, true); + Serial.println(policyStr); +} + +void loop() +{ +} diff --git a/examples/CloudFunctions/IAMPolicy/GetPolicy/GetPolicy.ino b/examples/CloudFunctions/IAMPolicy/GetPolicy/GetPolicy.ino new file mode 100644 index 000000000..e3e1d9a19 --- /dev/null +++ b/examples/CloudFunctions/IAMPolicy/GetPolicy/GetPolicy.ino @@ -0,0 +1,164 @@ + +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +/** Prerequisites + * + * Cloud Functions deployment requires the pay-as-you-go (Blaze) billing plan. + * + * IAM owner permission required for service account used and Cloud Build API must be enabled, + * https://github.com/mobizt/Firebase-ESP-Client#iam-permission-and-api-enable + */ + +/** This example shows how to get the IAM Policy for the Cloud Function. + * + * This operation required OAUth2.0 authentication. + */ + +/** Due to the processing power in ESP8266 is weaker than ESP32, the OAuth2.0 token generation takes time then this example + * will check for token to be ready in loop prior to get the IAM Policy. + */ +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/** 2. Define the Service Account credentials (required for token generation) + * + * This information can be taken from the service account JSON file. + * + * To download service account file, from the Firebase console, goto project settings, + * select "Service accounts" tab and click at "Generate new private key" button + */ +#define FIREBASE_PROJECT_ID "PROJECT_ID" +#define FIREBASE_CLIENT_EMAIL "CLIENT_EMAIL" +const char PRIVATE_KEY[] PROGMEM = "-----BEGIN PRIVATE KEY-----XXXXXXXXXXXX-----END PRIVATE KEY-----\n"; + +/* 3. Define the project location e.g. us-central1 or asia-northeast1 */ +// https://firebase.google.com/docs/projects/locations +#define PROJECT_LOCATION "PROJECT_LOCATION" + +/* 4. If work with RTDB, define the RTDB URL */ +#define DATABASE_URL "URL" //.firebaseio.com or ..firebasedatabase.app + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +bool taskCompleted = false; + +unsigned long dataMillis = 0; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +/* The function to get the IAM Policy of the Cloud Function */ +void getPolicy(); + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the Service Account credentials */ + config.service_account.data.client_email = FIREBASE_CLIENT_EMAIL; + config.service_account.data.project_id = FIREBASE_PROJECT_ID; + config.service_account.data.private_key = PRIVATE_KEY; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + /* Assign the RTDB URL */ + config.database_url = DATABASE_URL; + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + Firebase.begin(&config, &auth); +} + +void loop() +{ + if (Firebase.ready() && !taskCompleted) + { + getPolicy(); + taskCompleted = true; + } +} + +/* The function to get the IAM Policy of the Cloud Function */ +void getPolicy() +{ + // Assumed that the function named helloWorld is already created and deployed for the project. + + Serial.print("Get the IAM Policy of Googgle Cloud Function... "); + + if (Firebase.Functions.getIamPolicy(&fbdo, FIREBASE_PROJECT_ID /* project id */, PROJECT_LOCATION /* project location */, "helloWorld" /* function name */)) + Serial.printf("ok\n%s\n\n", fbdo.payload().c_str()); + else + Serial.println(fbdo.errorReason()); +} diff --git a/examples/CloudFunctions/IAMPolicy/SetPolicy/SetPolicy.ino b/examples/CloudFunctions/IAMPolicy/SetPolicy/SetPolicy.ino new file mode 100644 index 000000000..ae091bc91 --- /dev/null +++ b/examples/CloudFunctions/IAMPolicy/SetPolicy/SetPolicy.ino @@ -0,0 +1,178 @@ + +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +/** Prerequisites + * + * Cloud Functions deployment requires the pay-as-you-go (Blaze) billing plan. + * + * IAM owner permission required for service account used and Cloud Build API must be enabled, + * https://github.com/mobizt/Firebase-ESP-Client#iam-permission-and-api-enable + */ + +/** This example shows how to set the IAM Policy for the Cloud Function. + * + * This operation required OAUth2.0 authentication. + */ + +/** Due to the processing power in ESP8266 is weaker than ESP32, the OAuth2.0 token generation takes time then this example + * will check for token to be ready in loop prior to set the IAM Policy. + */ +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/** 2. Define the Service Account credentials (required for token generation) + * + * This information can be taken from the service account JSON file. + * + * To download service account file, from the Firebase console, goto project settings, + * select "Service accounts" tab and click at "Generate new private key" button + */ +#define FIREBASE_PROJECT_ID "PROJECT_ID" +#define FIREBASE_CLIENT_EMAIL "CLIENT_EMAIL" +const char PRIVATE_KEY[] PROGMEM = "-----BEGIN PRIVATE KEY-----XXXXXXXXXXXX-----END PRIVATE KEY-----\n"; + +/* 3. Define the project location e.g. us-central1 or asia-northeast1 */ +// https://firebase.google.com/docs/projects/locations +#define PROJECT_LOCATION "PROJECT_LOCATION" + +/* 4. If work with RTDB, define the RTDB URL */ +#define DATABASE_URL "URL" //.firebaseio.com or ..firebasedatabase.app + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +// We need to define the PolicyBuilder and Binding data to keep the function and triggers configuaration and IAM policy. +// These objects should declare as global objects or static to prevent the stack overflow. +PolicyBuilder policy; +Binding binding; + +bool taskCompleted = false; + +unsigned long dataMillis = 0; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +/* The function to set the IAM Policy for the Cloud Function */ +void setPolicy(); + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the Service Account credentials */ + config.service_account.data.client_email = FIREBASE_CLIENT_EMAIL; + config.service_account.data.project_id = FIREBASE_PROJECT_ID; + config.service_account.data.private_key = PRIVATE_KEY; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + /* Assign the RTDB URL */ + config.database_url = DATABASE_URL; + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + Firebase.begin(&config, &auth); +} + +void loop() +{ + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready() && !taskCompleted) + { + setPolicy(); + taskCompleted = true; + } +} + +/* The function to set the IAM Policy for the Cloud Function */ +void setPolicy() +{ + // Assumed that the function named helloWorld is already created and deployed for the project. + + // For more example for policy, see "Create_Policy" example. + // https://cloud.google.com/iam/docs/reference/rest/v1/Policy + + binding.setRole("roles/cloudfunctions.invoker"); + binding.addMember("allUsers"); + policy.addBinding(&binding); + + Serial.print("Set the IAM Policy for Googgle Cloud Function... "); + + if (Firebase.Functions.setIamPolicy(&fbdo, FIREBASE_PROJECT_ID /* project id */, PROJECT_LOCATION /* project location */, "helloWorld" /* function name */, &policy /* IAM Policy */)) + Serial.printf("ok\n%s\n\n", fbdo.payload().c_str()); + else + Serial.println(fbdo.errorReason()); +} diff --git a/examples/CloudFunctions/ListFunctions/ListFunctions.ino b/examples/CloudFunctions/ListFunctions/ListFunctions.ino new file mode 100644 index 000000000..170f3e6ee --- /dev/null +++ b/examples/CloudFunctions/ListFunctions/ListFunctions.ino @@ -0,0 +1,166 @@ + +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +/** Prerequisites + * + * Cloud Functions deployment requires the pay-as-you-go (Blaze) billing plan. + * + * IAM owner permission required for service account used and Cloud Build API must be enabled, + * https://github.com/mobizt/Firebase-ESP-Client#iam-permission-and-api-enable + */ + +/* Cloud Functions deployment requires the pay-as-you-go (Blaze) billing plan. */ + +/** This example shows how to list the Cloud Functions. + * + * This operation required OAUth2.0 authentication. + */ + +/** Due to the processing power in ESP8266 is weaker than ESP32, the OAuth2.0 token generation takes time then this example + * will check for token to be ready in loop prior to list the Cloud Functions. + */ +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/** 2. Define the Service Account credentials (required for token generation) + * + * This information can be taken from the service account JSON file. + * + * To download service account file, from the Firebase console, goto project settings, + * select "Service accounts" tab and click at "Generate new private key" button + */ +#define FIREBASE_PROJECT_ID "PROJECT_ID" +#define FIREBASE_CLIENT_EMAIL "CLIENT_EMAIL" +const char PRIVATE_KEY[] PROGMEM = "-----BEGIN PRIVATE KEY-----XXXXXXXXXXXX-----END PRIVATE KEY-----\n"; + +/* 3. Define the project location e.g. us-central1 or asia-northeast1 */ +// https://firebase.google.com/docs/projects/locations +#define PROJECT_LOCATION "PROJECT_LOCATION" + +/* 4. If work with RTDB, define the RTDB URL */ +#define DATABASE_URL "URL" //.firebaseio.com or ..firebasedatabase.app + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +bool taskCompleted = false; + +unsigned long dataMillis = 0; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +/* The function to list the Cloud Functions */ +void listFunctions(); + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the Service Account credentials */ + config.service_account.data.client_email = FIREBASE_CLIENT_EMAIL; + config.service_account.data.project_id = FIREBASE_PROJECT_ID; + config.service_account.data.private_key = PRIVATE_KEY; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + /* Assign the RTDB URL */ + config.database_url = DATABASE_URL; + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + Firebase.begin(&config, &auth); +} + +void loop() +{ + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready() && !taskCompleted) + { + listFunctions(); + taskCompleted = true; + } +} + +void listFunctions() +{ + + Serial.print("List the Googgle Cloud Functions... "); + + if (Firebase.Functions.listFunctions(&fbdo, FIREBASE_PROJECT_ID /* project id */, PROJECT_LOCATION /* project location */, 1 /* page size */)) + Serial.printf("ok\n%s\n\n", fbdo.payload().c_str()); + else + Serial.println(fbdo.errorReason()); +} diff --git a/examples/CloudFunctions/PatchFunction/PatchFunction.ino b/examples/CloudFunctions/PatchFunction/PatchFunction.ino new file mode 100644 index 000000000..37eefea1b --- /dev/null +++ b/examples/CloudFunctions/PatchFunction/PatchFunction.ino @@ -0,0 +1,179 @@ + +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +/** Prerequisites + * + * Cloud Functions deployment requires the pay-as-you-go (Blaze) billing plan. + * + * IAM owner permission required for service account used and Cloud Build API must be enabled, + * https://github.com/mobizt/Firebase-ESP-Client#iam-permission-and-api-enable + */ + +/* Cloud Functions deployment requires the pay-as-you-go (Blaze) billing plan. */ + +/** This example shows how to update (patch) the Cloud Function. + * + * This operation required OAUth2.0 authentication. + */ + +/** Due to the processing power in ESP8266 is weaker than ESP32, the OAuth2.0 token generation takes time then this example + * will check for token to be ready in loop prior to update the Cloud Function. + */ +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/** 2. Define the Service Account credentials (required for token generation) + * + * This information can be taken from the service account JSON file. + * + * To download service account file, from the Firebase console, goto project settings, + * select "Service accounts" tab and click at "Generate new private key" button + */ +#define FIREBASE_PROJECT_ID "PROJECT_ID" +#define FIREBASE_CLIENT_EMAIL "CLIENT_EMAIL" +const char PRIVATE_KEY[] PROGMEM = "-----BEGIN PRIVATE KEY-----XXXXXXXXXXXX-----END PRIVATE KEY-----\n"; + +/* 3. Define the project location e.g. us-central1 or asia-northeast1 */ +// https://firebase.google.com/docs/projects/locations +#define PROJECT_LOCATION "PROJECT_LOCATION" + +/* 4. Define the Firebase storage bucket ID e.g bucket-name.appspot.com */ +#define STORAGE_BUCKET_ID "BUCKET-NAME.appspot.com" + +/* 5. If work with RTDB, define the RTDB URL */ +#define DATABASE_URL "URL" //.firebaseio.com or ..firebasedatabase.app + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +bool taskCompleted = false; + +unsigned long dataMillis = 0; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +/* The function to update the Cloud Function */ +void patchFunction(); + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the Service Account credentials */ + config.service_account.data.client_email = FIREBASE_CLIENT_EMAIL; + config.service_account.data.project_id = FIREBASE_PROJECT_ID; + config.service_account.data.private_key = PRIVATE_KEY; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + /* Assign the RTDB URL */ + config.database_url = DATABASE_URL; + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + Firebase.begin(&config, &auth); +} + +void loop() +{ + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready() && !taskCompleted) + { + patchFunction(); + taskCompleted = true; + } +} + +void patchFunction() +{ + // Assumed that the function named helloWorld is already created and deployed for project. + + FunctionsConfig patch(FIREBASE_PROJECT_ID, PROJECT_LOCATION, STORAGE_BUCKET_ID); + + patch.setDescription("The new description"); + patch.setEntryPoint("helloWorld"); + patch.setRuntime("nodejs12"); + patch.setTimeout(30); + patch.setAvailableMemoryMb(128); + patch.setMaxInstances(5); + + Serial.print("Update the Cloud Function... "); + + if (Firebase.Functions.patchFunction(&fbdo, "helloWorld" /* function id */, &patch /* FunctionsConfig to patch */)) + Serial.printf("ok\n%s\n\n", fbdo.payload().c_str()); + else + Serial.println(fbdo.errorReason()); +} diff --git a/examples/ExternalClient/FCM/Ethernet/ESP32/HTTPv1/SendMessage/SendMessage.ino b/examples/ExternalClient/FCM/Ethernet/ESP32/HTTPv1/SendMessage/SendMessage.ino new file mode 100644 index 000000000..39a9a4565 --- /dev/null +++ b/examples/ExternalClient/FCM/Ethernet/ESP32/HTTPv1/SendMessage/SendMessage.ino @@ -0,0 +1,168 @@ +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +/** This example shows the basic FCM HTTPv1 send message with external Client. + * This example used ESP32 and WIZnet W5500 module. + * + * For ESP32 and LAN8720 see examples/RTB/BasicEthernet/ESP32/ESP32.ino. + * + * ESP32 Arduino SDK native Ethernet using ETH.h is currently support Ethernet PHY chips included the following + * LAN8720, TLK101, RTL8201, DP83848, DM9051, KSZ8041 and KSZ8081. + */ + +#include + +// Provide the token generation process info. +#include + +// Provide the RTDB payload printing info and other helper functions. +#include + +// https://github.com/arduino-libraries/Ethernet +#include + +/* 1. Define the API Key */ +#define API_KEY "API_KEY" + +/** 2. Define the Service Account credentials (required for token generation) + * + * This information can be taken from the service account JSON file. + * + * To download service account file, from the Firebase console, goto project settings, + * select "Service accounts" tab and click at "Generate new private key" button + */ +#define FIREBASE_PROJECT_ID "PROJECT_ID" +#define FIREBASE_CLIENT_EMAIL "CLIENT_EMAIL" +const char PRIVATE_KEY[] PROGMEM = "-----BEGIN PRIVATE KEY-----XXXXXXXXXXXX-----END PRIVATE KEY-----\n"; + +/* 3. Define the ID token for client or device to send the message */ +#define DEVICE_REGISTRATION_ID_TOKEN "DEVICE_TOKEN" + +/* 4. Defined the Ethernet module connection */ +#define WIZNET_RESET_PIN 26 // Connect W5500 Reset pin to GPIO 26 of ESP32 +#define WIZNET_CS_PIN 5 // Connect W5500 CS pin to GPIO 5 of ESP32 +#define WIZNET_MISO_PIN 19 // Connect W5500 MISO pin to GPIO 19 of ESP32 +#define WIZNET_MOSI_PIN 23 // Connect W5500 MOSI pin to GPIO 23 of ESP32 +#define WIZNET_SCLK_PIN 18 // Connect W5500 SCLK pin to GPIO 18 of ESP32 + +/* 5. Define MAC */ +uint8_t Eth_MAC[] = {0x02, 0xF0, 0x0D, 0xBE, 0xEF, 0x01}; + +/* 6. Define the static IP (Optional) +IPAddress localIP(192, 168, 1, 104); +IPAddress subnet(255, 255, 0, 0); +IPAddress gateway(192, 168, 1, 1); +IPAddress dnsServer(8, 8, 8, 8); +bool optional = false; // Use this static IP only no DHCP +Firebase_StaticIP staIP(localIP, subnet, gateway, dnsServer, optional); +*/ + +/* 7. Define the RTDB URL (only if RTDB was used)*/ +#define DATABASE_URL "URL" //.firebaseio.com or ..firebasedatabase.app + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +unsigned long sendDataPrevMillis = 0; + +int count = 0; + +volatile bool dataChanged = false; + +EthernetClient basic_client; + +unsigned long lastTime = 0; + +void sendMessage(); + +void setup() +{ + + Serial.begin(115200); + + networkConnection(); + + Serial_Printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the api key (required) */ + config.api_key = API_KEY; + + /* Assign the sevice account credentials and private key (required) */ + config.service_account.data.client_email = FIREBASE_CLIENT_EMAIL; + config.service_account.data.project_id = FIREBASE_PROJECT_ID; + config.service_account.data.private_key = PRIVATE_KEY; + + /* Assign the RTDB URL (if only RTDB was used) */ + config.database_url = DATABASE_URL; + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + /* Assign the pointer to global defined Ethernet Client object */ + fbdo.setEthernetClient(ð, Eth_MAC, WIZNET_CS_PIN, WIZNET_RESET_PIN /* or -1 */, nullptr /* or &staIP */); + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + Firebase.setDoubleDigits(5); + + Firebase.begin(&config, &auth); +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready() && (millis() - lastTime > 60 * 1000 || lastTime == 0)) + { + lastTime = millis(); + + sendMessage(); + } +} + +void sendMessage() +{ + + Serial.print("Send Firebase Cloud Messaging... "); + + // Read more details about HTTP v1 API here https://firebase.google.com/docs/reference/fcm/rest/v1/projects.messages + FCM_HTTPv1_JSON_Message msg; + + msg.token = DEVICE_REGISTRATION_ID_TOKEN; + + msg.notification.body = "Notification body"; + msg.notification.title = "Notification title"; + + // For the usage of FirebaseJson, see examples/FirebaseJson/BasicUsage/Create.ino + FirebaseJson payload; + + // all data key-values should be string + payload.add("temp", "28"); + payload.add("unit", "celsius"); + payload.add("timestamp", "1609815454"); + msg.data = payload.raw(); + + if (Firebase.FCM.send(&fbdo, &msg)) // send message to recipient + Serial.printf("ok\n%s\n\n", Firebase.FCM.payload(&fbdo).c_str()); + else + Serial.println(fbdo.errorReason()); + + count++; +} diff --git a/examples/ExternalClient/RTDB/Ethernet/ESP32/Basic/Basic.ino b/examples/ExternalClient/RTDB/Ethernet/ESP32/Basic/Basic.ino new file mode 100644 index 000000000..6e32936a1 --- /dev/null +++ b/examples/ExternalClient/RTDB/Ethernet/ESP32/Basic/Basic.ino @@ -0,0 +1,130 @@ + +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +/** This example shows the basic RTDB usage with external Client. + * This example used ESP32 and WIZnet W5500 module. + * + * For ESP32 and LAN8720 see examples/RTB/BasicEthernet/ESP32/ESP32.ino. + * + * ESP32 Arduino SDK native Ethernet using ETH.h is currently support Ethernet PHY chips included the following + * LAN8720, TLK101, RTL8201, DP83848, DM9051, KSZ8041 and KSZ8081. + */ + +#include + +// Provide the token generation process info. +#include + +// Provide the RTDB payload printing info and other helper functions. +#include + +// https://github.com/arduino-libraries/Ethernet +#include + +// For using other Ethernet library that works with other Ethernet module, +// the following build flags or macros should be assigned in src/FirebaseFS.h or your CustomFirebaseFS.h. +// FIREBASE_ETHERNET_MODULE_LIB and FIREBASE_ETHERNET_MODULE_CLASS +// See src/FirebaseFS.h for detail. + +// For the following credentials, see examples/Authentications/SignInAsUser/EmailPassword/EmailPassword.ino + +/* 1. Define the API Key */ +#define API_KEY "API_KEY" + +/* 2. Define the RTDB URL */ +#define DATABASE_URL "URL" //.firebaseio.com or ..firebasedatabase.app + +/* 3. Define the user Email and password that alreadey registerd or added in your project */ +#define USER_EMAIL "USER_EMAIL" +#define USER_PASSWORD "USER_PASSWORD" + +/* 4. Defined the Ethernet module connection */ +#define WIZNET_RESET_PIN 26 // Connect W5500 Reset pin to GPIO 26 of ESP32 (-1 for no reset pin assigned) +#define WIZNET_CS_PIN 5 // Connect W5500 CS pin to GPIO 5 of ESP32 +#define WIZNET_MISO_PIN 19 // Connect W5500 MISO pin to GPIO 19 of ESP32 +#define WIZNET_MOSI_PIN 23 // Connect W5500 MOSI pin to GPIO 23 of ESP32 +#define WIZNET_SCLK_PIN 18 // Connect W5500 SCLK pin to GPIO 18 of ESP32 + +/* 5. Define MAC */ +uint8_t Eth_MAC[] = {0x02, 0xF0, 0x0D, 0xBE, 0xEF, 0x01}; + +/* 6. Define the static IP (Optional) +IPAddress localIP(192, 168, 1, 104); +IPAddress subnet(255, 255, 0, 0); +IPAddress gateway(192, 168, 1, 1); +IPAddress dnsServer(8, 8, 8, 8); +bool optional = false; // Use this static IP only no DHCP +Firebase_StaticIP staIP(localIP, subnet, gateway, dnsServer, optional); +*/ + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +unsigned long sendDataPrevMillis = 0; + +int count = 0; + +volatile bool dataChanged = false; + +EthernetClient eth; + +void setup() +{ + + Serial.begin(115200); + + Serial_Printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the api key (required) */ + config.api_key = API_KEY; + + /* Assign the user sign in credentials */ + auth.user.email = USER_EMAIL; + auth.user.password = USER_PASSWORD; + + /* Assign the RTDB URL (required) */ + config.database_url = DATABASE_URL; + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + /* Assign the pointer to global defined Ethernet Client object */ + fbdo.setEthernetClient(ð, Eth_MAC, WIZNET_CS_PIN, WIZNET_RESET_PIN); // The staIP can be assigned to the fifth param + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + Firebase.setDoubleDigits(5); + + Firebase.begin(&config, &auth); +} + +void loop() +{ + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready() && (millis() - sendDataPrevMillis > 15000 || sendDataPrevMillis == 0)) + { + sendDataPrevMillis = millis(); + + Serial_Printf("Set bool... %s\n", Firebase.RTDB.setBool(&fbdo, F("/test/bool"), count % 2 == 0) ? "ok" : fbdo.errorReason().c_str()); + + count++; + } +} diff --git a/examples/ExternalClient/RTDB/Ethernet/ESP32/StreamCallback/StreamCallback.ino b/examples/ExternalClient/RTDB/Ethernet/ESP32/StreamCallback/StreamCallback.ino new file mode 100644 index 000000000..62f520549 --- /dev/null +++ b/examples/ExternalClient/RTDB/Ethernet/ESP32/StreamCallback/StreamCallback.ino @@ -0,0 +1,178 @@ +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +/** This example shows the basic RTDB usage with external Client. + * This example used ESP32 and WIZnet W5500 module. + * + * For ESP32 and LAN8720 see examples/RTB/BasicEthernet/ESP32/ESP32.ino. + * + * ESP32 Arduino SDK native Ethernet using ETH.h is currently support Ethernet PHY chips included the following + * LAN8720, TLK101, RTL8201, DP83848, DM9051, KSZ8041 and KSZ8081. + */ + +#include + +// Provide the token generation process info. +#include + +// Provide the RTDB payload printing info and other helper functions. +#include + +// https://github.com/arduino-libraries/Ethernet +#include + +// For using other Ethernet library that works with other Ethernet module, +// the following build flags or macros should be assigned in src/FirebaseFS.h or your CustomFirebaseFS.h. +// FIREBASE_ETHERNET_MODULE_LIB and FIREBASE_ETHERNET_MODULE_CLASS +// See src/FirebaseFS.h for detail. + +// For the following credentials, see examples/Authentications/SignInAsUser/EmailPassword/EmailPassword.ino + +/* 1. Define the API Key */ +#define API_KEY "API_KEY" + +/* 2. Define the RTDB URL */ +#define DATABASE_URL "URL" //.firebaseio.com or ..firebasedatabase.app + +/* 3. Define the user Email and password that alreadey registerd or added in your project */ +#define USER_EMAIL "USER_EMAIL" +#define USER_PASSWORD "USER_PASSWORD" + +/* 4. Defined the Ethernet module connection */ +#define WIZNET_RESET_PIN 26 // Connect W5500 Reset pin to GPIO 26 of ESP32 (-1 for no reset pin assigned) +#define WIZNET_CS_PIN 5 // Connect W5500 CS pin to GPIO 5 of ESP32 +#define WIZNET_MISO_PIN 19 // Connect W5500 MISO pin to GPIO 19 of ESP32 +#define WIZNET_MOSI_PIN 23 // Connect W5500 MOSI pin to GPIO 23 of ESP32 +#define WIZNET_SCLK_PIN 18 // Connect W5500 SCLK pin to GPIO 18 of ESP32 + +/* 5. Define MAC */ +uint8_t Eth_MAC[] = {0x02, 0xF0, 0x0D, 0xBE, 0xEF, 0x01}; + +/* 6. Define the static IP (Optional) +IPAddress localIP(192, 168, 1, 104); +IPAddress subnet(255, 255, 0, 0); +IPAddress gateway(192, 168, 1, 1); +IPAddress dnsServer(8, 8, 8, 8); +bool optional = false; // Use this static IP only no DHCP +Firebase_StaticIP staIP(localIP, subnet, gateway, dnsServer, optional); +*/ + +// Define Firebase Data object +FirebaseData stream; +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +unsigned long sendDataPrevMillis = 0; + +int count = 0; + +volatile bool dataChanged = false; + +EthernetClient eth1; + +EthernetClient eth2; + +void streamCallback(FirebaseStream data) +{ + Serial_Printf("sream path, %s\nevent path, %s\ndata type, %s\nevent type, %s\n\n", + data.streamPath().c_str(), + data.dataPath().c_str(), + data.dataType().c_str(), + data.eventType().c_str()); + printResult(data); // see addons/RTDBHelper.h + Serial.println(); + + // This is the size of stream payload received (current and max value) + // Max payload size is the payload size under the stream path since the stream connected + // and read once and will not update until stream reconnection takes place. + // This max value will be zero as no payload received in case of ESP8266 which + // BearSSL reserved Rx buffer size is less than the actual stream payload. + Serial_Printf("Received stream payload size: %d (Max. %d)\n\n", data.payloadLength(), data.maxPayloadLength()); + + // Due to limited of stack memory, do not perform any task that used large memory here especially starting connect to server. + // Just set this flag and check it status later. + dataChanged = true; +} + +void streamTimeoutCallback(bool timeout) +{ + if (timeout) + Serial.println("stream timed out, resuming...\n"); + + if (!stream.httpConnected()) + Serial_Printf("error code: %d, reason: %s\n\n", stream.httpCode(), stream.errorReason().c_str()); +} + +void setup() +{ + + Serial.begin(115200); + + Serial_Printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the api key (required) */ + config.api_key = API_KEY; + + /* Assign the user sign in credentials */ + auth.user.email = USER_EMAIL; + auth.user.password = USER_PASSWORD; + + /* Assign the RTDB URL (required) */ + config.database_url = DATABASE_URL; + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + /* Assign the pointer to global defined Ethernet Client object */ + fbdo.setEthernetClient(ð1, Eth_MAC, WIZNET_CS_PIN, WIZNET_RESET_PIN); // The staIP can be assigned to the fifth param + stream.setEthernetClient(ð2, Eth_MAC, WIZNET_CS_PIN, WIZNET_RESET_PIN); // The staIP can be assigned to the fifth param + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(2048 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + stream.setBSSLBufferSize(2048 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + Firebase.setDoubleDigits(5); + + Firebase.begin(&config, &auth); + + if (!Firebase.RTDB.beginStream(&stream, "/test/stream/data")) + Serial_Printf("sream begin error, %s\n\n", stream.errorReason().c_str()); + + Firebase.RTDB.setStreamCallback(&stream, streamCallback, streamTimeoutCallback); +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready() && (millis() - sendDataPrevMillis > 15000 || sendDataPrevMillis == 0)) + { + sendDataPrevMillis = millis(); + count++; + FirebaseJson json; + json.add("data", "hello"); + json.add("num", count); + Serial_Printf("Set json... %s\n\n", Firebase.RTDB.setJSON(&fbdo, "/test/stream/data/json", &json) ? "ok" : fbdo.errorReason().c_str()); + } + + if (dataChanged) + { + dataChanged = false; + // When stream data is available, do anything here... + } +} diff --git a/examples/ExternalClient/RTDB/Ethernet/ESP8266/Basic/Basic.ino b/examples/ExternalClient/RTDB/Ethernet/ESP8266/Basic/Basic.ino new file mode 100644 index 000000000..1a60657fb --- /dev/null +++ b/examples/ExternalClient/RTDB/Ethernet/ESP8266/Basic/Basic.ino @@ -0,0 +1,133 @@ + +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP8266 + * + * Copyright (c) 2023 mobizt + * + */ + +/** This example shows the basic RTDB usage with external Client. + * This example used ESP8266 and WIZnet W5500 module. + * + * For ESP8266 native Ethernet usage without external Ethernet client required, see examples/RTB/BasicEthernet/ESP8266/ESP8266.ino. + * + * To use external Ethernet client with ESP8266 as in this example, the following macro in src/CustomFirebaseFS.h or build flag + * should be assigned to disable the native internet inclusion that conflicts with Ethernet.h + * + * FIREBASE_DISABLE_NATIVE_ETHERNET + */ + +#include + +// Provide the token generation process info. +#include + +// Provide the RTDB payload printing info and other helper functions. +#include + +// https://github.com/arduino-libraries/Ethernet +#include + +// For using other Ethernet library that works with other Ethernet module, +// the following build flags or macros should be assigned in src/FirebaseFS.h or your CustomFirebaseFS.h. +// FIREBASE_ETHERNET_MODULE_LIB and FIREBASE_ETHERNET_MODULE_CLASS +// See src/FirebaseFS.h for detail. + +// For the following credentials, see examples/Authentications/SignInAsUser/EmailPassword/EmailPassword.ino + +/* 1. Define the API Key */ +#define API_KEY "API_KEY" + +/* 2. Define the RTDB URL */ +#define DATABASE_URL "URL" //.firebaseio.com or ..firebasedatabase.app + +/* 3. Define the user Email and password that alreadey registerd or added in your project */ +#define USER_EMAIL "USER_EMAIL" +#define USER_PASSWORD "USER_PASSWORD" + +/* 4. Defined the Ethernet module connection */ +#define WIZNET_RESET_PIN 5 // Connect W5500 Reset pin to GPIO 5 (D1) of ESP8266 (-1 for no reset pin assigned) +#define WIZNET_CS_PIN 4 // Connect W5500 CS pin to GPIO 4 (D2) of ESP8266 +#define WIZNET_MISO_PIN 12 // Connect W5500 MISO pin to GPIO 12 (D6) of ESP8266 +#define WIZNET_MOSI_PIN 13 // Connect W5500 MOSI pin to GPIO 13 (D7) of ESP8266 +#define WIZNET_SCLK_PIN 14 // Connect W5500 SCLK pin to GPIO 14 (D5) of ESP8266 + +/* 5. Define MAC */ +uint8_t Eth_MAC[] = {0x02, 0xF0, 0x0D, 0xBE, 0xEF, 0x01}; + +/* 6. Define the static IP (Optional) +IPAddress localIP(192, 168, 1, 104); +IPAddress subnet(255, 255, 0, 0); +IPAddress gateway(192, 168, 1, 1); +IPAddress dnsServer(8, 8, 8, 8); +bool optional = false; // Use this static IP only no DHCP +Firebase_StaticIP staIP(localIP, subnet, gateway, dnsServer, optional); +*/ + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +unsigned long sendDataPrevMillis = 0; + +int count = 0; + +EthernetClient eth; + +// Define the callback function to handle server connection + +void setup() +{ + + Serial.begin(115200); + + Serial_Printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the api key (required) */ + config.api_key = API_KEY; + + /* Assign the user sign in credentials */ + auth.user.email = USER_EMAIL; + auth.user.password = USER_PASSWORD; + + /* Assign the RTDB URL (required) */ + config.database_url = DATABASE_URL; + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + /* Assign the pointer to global defined Ethernet Client object */ + fbdo.setEthernetClient(ð, Eth_MAC, WIZNET_CS_PIN, WIZNET_RESET_PIN); // The staIP can be assigned to the fifth param + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + Firebase.setDoubleDigits(5); + + Firebase.begin(&config, &auth); +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready() && (millis() - sendDataPrevMillis > 15000 || sendDataPrevMillis == 0)) + { + sendDataPrevMillis = millis(); + + Serial_Printf("Set bool... %s\n", Firebase.RTDB.setBool(&fbdo, F("/test/bool"), count % 2 == 0) ? "ok" : fbdo.errorReason().c_str()); + + count++; + } +} diff --git a/examples/ExternalClient/RTDB/Ethernet/ESP8266/StreamCallback/StreamCallback.ino b/examples/ExternalClient/RTDB/Ethernet/ESP8266/StreamCallback/StreamCallback.ino new file mode 100644 index 000000000..e165f46a2 --- /dev/null +++ b/examples/ExternalClient/RTDB/Ethernet/ESP8266/StreamCallback/StreamCallback.ino @@ -0,0 +1,180 @@ +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP8266 + * + * Copyright (c) 2023 mobizt + * + */ + +/** This example shows the basic RTDB usage with external Client. + * This example used ESP8266 and WIZnet W5500 module. + * + * For ESP8266 native Ethernet usage without external Ethernet client required, see examples/RTB/BasicEthernet/ESP8266/ESP8266.ino. + * + * To use external Ethernet client with ESP8266 as in this example, the following macro in src/CustomFirebaseFS.h or build flag + * should be assigned to disable the native internet inclusion that conflicts with Ethernet.h + * + * FIREBASE_DISABLE_NATIVE_ETHERNET + */ + +#include + +// Provide the token generation process info. +#include + +// Provide the RTDB payload printing info and other helper functions. +#include + +// https://github.com/arduino-libraries/Ethernet +#include + +// For using other Ethernet library that works with other Ethernet module, +// the following build flags or macros should be assigned in src/FirebaseFS.h or your CustomFirebaseFS.h. +// FIREBASE_ETHERNET_MODULE_LIB and FIREBASE_ETHERNET_MODULE_CLASS +// See src/FirebaseFS.h for detail. + +// For the following credentials, see examples/Authentications/SignInAsUser/EmailPassword/EmailPassword.ino + +/* 1. Define the API Key */ +#define API_KEY "API_KEY" + +/* 2. Define the RTDB URL */ +#define DATABASE_URL "URL" //.firebaseio.com or ..firebasedatabase.app + +/* 3. Define the user Email and password that alreadey registerd or added in your project */ +#define USER_EMAIL "USER_EMAIL" +#define USER_PASSWORD "USER_PASSWORD" + +/* 4. Defined the Ethernet module connection */ +#define WIZNET_RESET_PIN 5 // Connect W5500 Reset pin to GPIO 5 (D1) of ESP8266 (-1 for no reset pin assigned) +#define WIZNET_CS_PIN 4 // Connect W5500 CS pin to GPIO 4 (D2) of ESP8266 +#define WIZNET_MISO_PIN 12 // Connect W5500 MISO pin to GPIO 12 (D6) of ESP8266 +#define WIZNET_MOSI_PIN 13 // Connect W5500 MOSI pin to GPIO 13 (D7) of ESP8266 +#define WIZNET_SCLK_PIN 14 // Connect W5500 SCLK pin to GPIO 14 (D5) of ESP8266 + +/* 5. Define MAC */ +uint8_t Eth_MAC[] = {0x02, 0xF0, 0x0D, 0xBE, 0xEF, 0x01}; + +/* 6. Define the static IP (Optional) +IPAddress localIP(192, 168, 1, 104); +IPAddress subnet(255, 255, 0, 0); +IPAddress gateway(192, 168, 1, 1); +IPAddress dnsServer(8, 8, 8, 8); +bool optional = false; // Use this static IP only no DHCP +Firebase_StaticIP staIP(localIP, subnet, gateway, dnsServer, optional); +*/ + +// Define Firebase Data object +FirebaseData stream; +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +unsigned long sendDataPrevMillis = 0; + +int count = 0; + +volatile bool dataChanged = false; + +EthernetClient eth1; + +EthernetClient eth2; + +void streamCallback(FirebaseStream data) +{ + Serial_Printf("sream path, %s\nevent path, %s\ndata type, %s\nevent type, %s\n\n", + data.streamPath().c_str(), + data.dataPath().c_str(), + data.dataType().c_str(), + data.eventType().c_str()); + printResult(data); // see addons/RTDBHelper.h + Serial.println(); + + // This is the size of stream payload received (current and max value) + // Max payload size is the payload size under the stream path since the stream connected + // and read once and will not update until stream reconnection takes place. + // This max value will be zero as no payload received in case of ESP8266 which + // BearSSL reserved Rx buffer size is less than the actual stream payload. + Serial_Printf("Received stream payload size: %d (Max. %d)\n\n", data.payloadLength(), data.maxPayloadLength()); + + // Due to limited of stack memory, do not perform any task that used large memory here especially starting connect to server. + // Just set this flag and check it status later. + dataChanged = true; +} + +void streamTimeoutCallback(bool timeout) +{ + if (timeout) + Serial.println("stream timed out, resuming...\n"); + + if (!stream.httpConnected()) + Serial_Printf("error code: %d, reason: %s\n\n", stream.httpCode(), stream.errorReason().c_str()); +} + +void setup() +{ + + Serial.begin(115200); + + Serial_Printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the api key (required) */ + config.api_key = API_KEY; + + /* Assign the user sign in credentials */ + auth.user.email = USER_EMAIL; + auth.user.password = USER_PASSWORD; + + /* Assign the RTDB URL (required) */ + config.database_url = DATABASE_URL; + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + /* Assign the pointer to global defined Ethernet Client object */ + fbdo.setEthernetClient(ð1, Eth_MAC, WIZNET_CS_PIN, WIZNET_RESET_PIN); // The staIP can be assigned to the fifth param + stream.setEthernetClient(ð2, Eth_MAC, WIZNET_CS_PIN, WIZNET_RESET_PIN); // The staIP can be assigned to the fifth param + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(2048 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + stream.setBSSLBufferSize(2048 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + Firebase.setDoubleDigits(5); + + Firebase.begin(&config, &auth); + + if (!Firebase.RTDB.beginStream(&stream, "/test/stream/data")) + Serial_Printf("sream begin error, %s\n\n", stream.errorReason().c_str()); + + Firebase.RTDB.setStreamCallback(&stream, streamCallback, streamTimeoutCallback); +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready() && (millis() - sendDataPrevMillis > 15000 || sendDataPrevMillis == 0)) + { + sendDataPrevMillis = millis(); + count++; + FirebaseJson json; + json.add("data", "hello"); + json.add("num", count); + Serial_Printf("Set json... %s\n\n", Firebase.RTDB.setJSON(&fbdo, "/test/stream/data/json", &json) ? "ok" : fbdo.errorReason().c_str()); + } + + if (dataChanged) + { + dataChanged = false; + // When stream data is available, do anything here... + } +} diff --git a/examples/ExternalClient/RTDB/Ethernet/Others/Basic/Basic.ino b/examples/ExternalClient/RTDB/Ethernet/Others/Basic/Basic.ino new file mode 100644 index 000000000..0944071da --- /dev/null +++ b/examples/ExternalClient/RTDB/Ethernet/Others/Basic/Basic.ino @@ -0,0 +1,128 @@ + +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +/** This example shows the basic RTDB usage with external Client. + * This example used STM32F103ZET6 and WIZnet W5500 module. + */ + +#include + +// Provide the token generation process info. +#include + +// Provide the RTDB payload printing info and other helper functions. +#include + +// https://github.com/arduino-libraries/Ethernet +#include + +// For using other Ethernet library that works with other Ethernet module, +// the following build flags or macros should be assigned in src/FirebaseFS.h or your CustomFirebaseFS.h. +// FIREBASE_ETHERNET_MODULE_LIB and FIREBASE_ETHERNET_MODULE_CLASS +// See src/FirebaseFS.h for detail. + +// For the following credentials, see examples/Authentications/SignInAsUser/EmailPassword/EmailPassword.ino + +/* 1. Define the API Key */ +#define API_KEY "API_KEY" + +/* 2. Define the RTDB URL */ +#define DATABASE_URL "URL" //.firebaseio.com or ..firebasedatabase.app + +/* 3. Define the user Email and password that alreadey registerd or added in your project */ +#define USER_EMAIL "USER_EMAIL" +#define USER_PASSWORD "USER_PASSWORD" + +/* 4. Defined the Ethernet module connection */ +#define WIZNET_RESET_PIN PA2 // Connect W5500 Reset pin to PA2 of STM32F103ZET6 (-1 for no reset pin assigned) +#define WIZNET_CS_PIN PA4 // Connect W5500 CS pin to PA4 of STM32F103ZET6 +#define WIZNET_MISO_PIN PA6 // Connect W5500 MISO pin to PA6 of STM32F103ZET6 +#define WIZNET_MOSI_PIN PA7 // Connect W5500 MOSI pin to PA7 of STM32F103ZET6 +#define WIZNET_SCLK_PIN PA5 // Connect W5500 SCLK pin to PA5 of STM32F103ZET6 + +/* 5. Define MAC */ +uint8_t Eth_MAC[] = {0x02, 0xF0, 0x0D, 0xBE, 0xEF, 0x01}; + +/* 6. Define the static IP (Optional) +IPAddress localIP(192, 168, 1, 104); +IPAddress subnet(255, 255, 0, 0); +IPAddress gateway(192, 168, 1, 1); +IPAddress dnsServer(8, 8, 8, 8); +bool optional = false; // Use this static IP only no DHCP +Firebase_StaticIP staIP(localIP, subnet, gateway, dnsServer, optional); +*/ + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +unsigned long sendDataPrevMillis = 0; + +int count = 0; + +volatile bool dataChanged = false; + +EthernetClient eth; + +void setup() +{ + + Serial.begin(115200); + + networkConnection(); + + Serial_Printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the api key (required) */ + config.api_key = API_KEY; + + /* Assign the user sign in credentials */ + auth.user.email = USER_EMAIL; + auth.user.password = USER_PASSWORD; + + /* Assign the RTDB URL (required) */ + config.database_url = DATABASE_URL; + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + /* Assign the pointer to global defined Ethernet Client object */ + fbdo.setEthernetClient(ð, Eth_MAC, WIZNET_CS_PIN, WIZNET_RESET_PIN); // The staIP can be assigned to the fifth param + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + Firebase.setDoubleDigits(5); + + Firebase.begin(&config, &auth); +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready() && (millis() - sendDataPrevMillis > 15000 || sendDataPrevMillis == 0)) + { + sendDataPrevMillis = millis(); + + Serial_Printf("Set bool... %s\n", Firebase.RTDB.setBool(&fbdo, F("/test/bool"), count % 2 == 0) ? "ok" : fbdo.errorReason().c_str()); + + count++; + } +} \ No newline at end of file diff --git a/examples/ExternalClient/RTDB/Ethernet/Pico/Basic/Basic.ino b/examples/ExternalClient/RTDB/Ethernet/Pico/Basic/Basic.ino new file mode 100644 index 000000000..91cbfd262 --- /dev/null +++ b/examples/ExternalClient/RTDB/Ethernet/Pico/Basic/Basic.ino @@ -0,0 +1,141 @@ + +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP8266 + * + * Copyright (c) 2023 mobizt + * + */ + +/** This example shows the basic RTDB usage with external Client. + * This example used Raspberry Pi Pico and WIZnet W5500 module. + * The Ethernet.h will work with SPI 0 only. + */ + +/** + * + * The W5500 Ethernet module and RPI2040 Pico board, SPI 0 port wiring connection. + * + * RP2040 (Pico) W5500 + * + * GPIO 16 - SPI 0 MISO SO + * GPIO 19 - SPI 0 MOSI SI + * GPIO 18 - SPI 0 SCK SCK + * GPIO 17 - SPI 0 CS CS + * GPIO 20 - W5500 Reset Reset + * GND GND + * 3V3 VCC + * + */ + +#include + +// Provide the token generation process info. +#include + +// Provide the RTDB payload printing info and other helper functions. +#include + +// https://github.com/arduino-libraries/Ethernet +#include + +// For using other Ethernet library that works with other Ethernet module, +// the following build flags or macros should be assigned in src/FirebaseFS.h or your CustomFirebaseFS.h. +// FIREBASE_ETHERNET_MODULE_LIB and FIREBASE_ETHERNET_MODULE_CLASS +// See src/FirebaseFS.h for detail. + +// For the following credentials, see examples/Authentications/SignInAsUser/EmailPassword/EmailPassword.ino + +/* 1. Define the API Key */ +#define API_KEY "API_KEY" + +/* 2. Define the RTDB URL */ +#define DATABASE_URL "URL" //.firebaseio.com or ..firebasedatabase.app + +/* 3. Define the user Email and password that alreadey registerd or added in your project */ +#define USER_EMAIL "USER_EMAIL" +#define USER_PASSWORD "USER_PASSWORD" + +/* 4. Defined the Ethernet module connection */ +#define WIZNET_RESET_PIN 20 // Connect W5500 Reset pin to GPIO 20 of Raspberry Pi Pico (-1 for no reset pin assigned) +#define WIZNET_CS_PIN PIN_SPI0_SS // Connect W5500 CS pin to SPI 0's SS (GPIO 17) of Raspberry Pi Pico + +/* 5. Define MAC */ +uint8_t Eth_MAC[] = {0x02, 0xF0, 0x0D, 0xBE, 0xEF, 0x01}; + +/* 6. Define the static IP (Optional) +IPAddress localIP(192, 168, 1, 104); +IPAddress subnet(255, 255, 0, 0); +IPAddress gateway(192, 168, 1, 1); +IPAddress dnsServer(8, 8, 8, 8); +bool optional = false; // Use this static IP only no DHCP +Firebase_StaticIP staIP(localIP, subnet, gateway, dnsServer, optional); +*/ + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +unsigned long sendDataPrevMillis = 0; + +int count = 0; + +EthernetClient eth; + +void setup() +{ + + Serial.begin(115200); + delay(5000); + + networkConnection(); + + Serial_Printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the api key (required) */ + config.api_key = API_KEY; + + /* Assign the user sign in credentials */ + auth.user.email = USER_EMAIL; + auth.user.password = USER_PASSWORD; + + /* Assign the RTDB URL (required) */ + config.database_url = DATABASE_URL; + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + /* Assign the pointer to global defined Ethernet Client object */ + fbdo.setEthernetClient(ð, Eth_MAC, WIZNET_CS_PIN, WIZNET_RESET_PIN); // The staIP can be assigned to the fifth param + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + Firebase.setDoubleDigits(5); + + Firebase.begin(&config, &auth); +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready() && (millis() - sendDataPrevMillis > 15000 || sendDataPrevMillis == 0)) + { + sendDataPrevMillis = millis(); + + Serial_Printf("Set bool... %s\n", Firebase.RTDB.setBool(&fbdo, F("/test/bool"), count % 2 == 0) ? "ok" : fbdo.errorReason().c_str()); + + count++; + } +} diff --git a/examples/ExternalClient/RTDB/Ethernet/Pico/StreamCallback/StreamCallback.ino b/examples/ExternalClient/RTDB/Ethernet/Pico/StreamCallback/StreamCallback.ino new file mode 100644 index 000000000..eb3be65b0 --- /dev/null +++ b/examples/ExternalClient/RTDB/Ethernet/Pico/StreamCallback/StreamCallback.ino @@ -0,0 +1,192 @@ +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP8266 + * + * Copyright (c) 2023 mobizt + * + */ + +/** This example shows the RTDB data changed notification with external Client. + * This example used Raspberry Pi Pico and WIZnet W5500 module. + * The Ethernet.h will work with SPI 0 only. + */ + +/** + * + * The W5500 Ethernet module and RPI2040 Pico board, SPI 0 port wiring connection. + * + * RP2040 (Pico) W5500 + * + * GPIO 16 - SPI 0 MISO SO + * GPIO 19 - SPI 0 MOSI SI + * GPIO 18 - SPI 0 SCK SCK + * GPIO 17 - SPI 0 CS CS + * GPIO 20 - W5500 Reset Reset + * GND GND + * 3V3 VCC + * + */ + +#include + +// Provide the token generation process info. +#include + +// Provide the RTDB payload printing info and other helper functions. +#include + +// https://github.com/arduino-libraries/Ethernet +#include + +// For using other Ethernet library that works with other Ethernet module, +// the following build flags or macros should be assigned in src/FirebaseFS.h or your CustomFirebaseFS.h. +// FIREBASE_ETHERNET_MODULE_LIB and FIREBASE_ETHERNET_MODULE_CLASS +// See src/FirebaseFS.h for detail. + +// For the following credentials, see examples/Authentications/SignInAsUser/EmailPassword/EmailPassword.ino + +/* 1. Define the API Key */ +#define API_KEY "API_KEY" + +/* 2. Define the RTDB URL */ +#define DATABASE_URL "URL" //.firebaseio.com or ..firebasedatabase.app + +/* 3. Define the user Email and password that alreadey registerd or added in your project */ +#define USER_EMAIL "USER_EMAIL" +#define USER_PASSWORD "USER_PASSWORD" + +/* 4. Defined the Ethernet module connection */ +#define WIZNET_RESET_PIN 20 // Connect W5500 Reset pin to GPIO 20 of Raspberry Pi Pico (-1 for no reset pin assigned) +#define WIZNET_CS_PIN PIN_SPI0_SS // Connect W5500 CS pin to SPI 0's SS (GPIO 17) of Raspberry Pi Pico + +/* 5. Define MAC */ +uint8_t Eth_MAC[] = {0x02, 0xF0, 0x0D, 0xBE, 0xEF, 0x01}; + +/* 6. Define the static IP (Optional) +IPAddress localIP(192, 168, 1, 104); +IPAddress subnet(255, 255, 0, 0); +IPAddress gateway(192, 168, 1, 1); +IPAddress dnsServer(8, 8, 8, 8); +bool optional = false; // Use this static IP only no DHCP +Firebase_StaticIP staIP(localIP, subnet, gateway, dnsServer, optional); +*/ + +// Define Firebase Data object +FirebaseData stream; +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +unsigned long sendDataPrevMillis = 0; + +int count = 0; + +volatile bool dataChanged = false; + +EthernetClient eth1; + +EthernetClient eth2; + +void streamCallback(FirebaseStream data) +{ + Serial_Printf("sream path, %s\nevent path, %s\ndata type, %s\nevent type, %s\n\n", + data.streamPath().c_str(), + data.dataPath().c_str(), + data.dataType().c_str(), + data.eventType().c_str()); + printResult(data); // see addons/RTDBHelper.h + Serial.println(); + + // This is the size of stream payload received (current and max value) + // Max payload size is the payload size under the stream path since the stream connected + // and read once and will not update until stream reconnection takes place. + // This max value will be zero as no payload received in case of ESP8266 which + // BearSSL reserved Rx buffer size is less than the actual stream payload. + Serial_Printf("Received stream payload size: %d (Max. %d)\n\n", data.payloadLength(), data.maxPayloadLength()); + + // Due to limited of stack memory, do not perform any task that used large memory here especially starting connect to server. + // Just set this flag and check it status later. + dataChanged = true; +} + +void streamTimeoutCallback(bool timeout) +{ + if (timeout) + Serial.println("stream timed out, resuming...\n"); + + if (!stream.httpConnected()) + Serial_Printf("error code: %d, reason: %s\n\n", stream.httpCode(), stream.errorReason().c_str()); +} + +void setup() +{ + + Serial.begin(115200); + delay(5000); + + Serial_Printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the api key (required) */ + config.api_key = API_KEY; + + /* Assign the user sign in credentials */ + auth.user.email = USER_EMAIL; + auth.user.password = USER_PASSWORD; + + /* Assign the RTDB URL (required) */ + config.database_url = DATABASE_URL; + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + /* Assign the pointer to global defined Ethernet Client object */ + fbdo.setEthernetClient(ð1, Eth_MAC, WIZNET_CS_PIN, WIZNET_RESET_PIN); // The staIP can be assigned to the fifth param + stream.setEthernetClient(ð2, Eth_MAC, WIZNET_CS_PIN, WIZNET_RESET_PIN); // The staIP can be assigned to the fifth param + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(2048 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + stream.setBSSLBufferSize(2048 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + Firebase.setDoubleDigits(5); + + Firebase.begin(&config, &auth); + + if (!Firebase.RTDB.beginStream(&stream, "/test/stream/data")) + Serial_Printf("sream begin error, %s\n\n", stream.errorReason().c_str()); + + Firebase.RTDB.setStreamCallback(&stream, streamCallback, streamTimeoutCallback); +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + +#if !defined(ESP8266) && !defined(ESP32) + Firebase.RTDB.runStream(); +#endif + + if (Firebase.ready() && (millis() - sendDataPrevMillis > 15000 || sendDataPrevMillis == 0)) + { + sendDataPrevMillis = millis(); + count++; + FirebaseJson json; + json.add("data", "hello"); + json.add("num", count); + Serial_Printf("Set json... %s\n\n", Firebase.RTDB.setJSON(&fbdo, "/test/stream/data/json", &json) ? "ok" : fbdo.errorReason().c_str()); + } + + if (dataChanged) + { + dataChanged = false; + // When stream data is available, do anything here... + } +} diff --git a/examples/ExternalClient/RTDB/GSM/Basic/Basic.ino b/examples/ExternalClient/RTDB/GSM/Basic/Basic.ino new file mode 100644 index 000000000..8984ee7d9 --- /dev/null +++ b/examples/ExternalClient/RTDB/GSM/Basic/Basic.ino @@ -0,0 +1,198 @@ + +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +/** This example shows the basic RTDB usage with TTGO T-A7670 (ESP32 with SIMCom SIMA7670) and TinyGSMClient. */ + +// To allow TinyGSM library integration, the following macro should be defined in src/FirebaseFS.h or +// your custom config file src/CustomFirebaseFS.h. +// #define TINY_GSM_MODEM_SIM7600 + +#define TINY_GSM_MODEM_SIM7600 // SIMA7670 Compatible with SIM7600 AT instructions + +// Set serial for debug console (to the Serial Monitor, default speed 115200) +#define SerialMon Serial + +// Set serial for AT commands (to the module) +// Use Hardware Serial on Mega, Leonardo, Micro +#define SerialAT Serial1 + +// See all AT commands, if wanted +// #define DUMP_AT_COMMANDS + +// Define the serial console for debug prints, if needed +#define TINY_GSM_DEBUG SerialMon + +#define TINY_GSM_USE_GPRS true +#define TINY_GSM_USE_WIFI false + +// set GSM PIN, if any +#define GSM_PIN "" + +// Your GPRS credentials, if any +const char apn[] = "YourAPN"; +const char gprsUser[] = ""; +const char gprsPass[] = ""; + +#define uS_TO_S_FACTOR 1000000ULL // Conversion factor for micro seconds to seconds +#define TIME_TO_SLEEP 600 // Time ESP32 will go to sleep (in seconds) + +#define UART_BAUD 115200 +#define PIN_DTR 25 +#define PIN_TX 26 +#define PIN_RX 27 +#define PWR_PIN 4 +#define BAT_ADC 35 +#define BAT_EN 12 +#define PIN_RI 33 +#define PIN_DTR 25 +#define RESET 5 + +#define SD_MISO 2 +#define SD_MOSI 15 +#define SD_SCLK 14 +#define SD_CS 13 + +#include +#include + +TinyGsm modem(SerialAT); + +TinyGsmClient gsm_client(modem); + +// Provide the token generation process info. +#include + +// Provide the RTDB payload printing info and other helper functions. +#include + +// For the following credentials, see examples/Authentications/SignInAsUser/EmailPassword/EmailPassword.ino + +/* 1. Define the API Key */ +#define API_KEY "API_KEY" + +/* 2. Define the RTDB URL */ +#define DATABASE_URL "URL" //.firebaseio.com or ..firebasedatabase.app + +/* 3. Define the user Email and password that alreadey registerd or added in your project */ +#define USER_EMAIL "USER_EMAIL" +#define USER_PASSWORD "USER_PASSWORD" + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +unsigned long sendDataPrevMillis = 0; + +unsigned long count = 0; + +void setup() +{ + + Serial.begin(115200); + + delay(10); + pinMode(BAT_EN, OUTPUT); + digitalWrite(BAT_EN, HIGH); + + // A7670 Reset + pinMode(RESET, OUTPUT); + digitalWrite(RESET, LOW); + delay(100); + digitalWrite(RESET, HIGH); + delay(3000); + digitalWrite(RESET, LOW); + + pinMode(PWR_PIN, OUTPUT); + digitalWrite(PWR_PIN, LOW); + delay(100); + digitalWrite(PWR_PIN, HIGH); + delay(1000); + digitalWrite(PWR_PIN, LOW); + + DBG("Wait..."); + + delay(3000); + + SerialAT.begin(UART_BAUD, SERIAL_8N1, PIN_RX, PIN_TX); + + // Restart takes quite some time + // To skip it, call init() instead of restart() + DBG("Initializing modem..."); + if (!modem.init()) + { + DBG("Failed to restart modem, delaying 10s and retrying"); + return; + } + + /* + 2 Automatic + 13 GSM Only + 14 WCDMA Only + 38 LTE Only + */ + modem.setNetworkMode(38); + if (modem.waitResponse(10000L) != 1) + { + DBG(" setNetworkMode faill"); + } + + String name = modem.getModemName(); + DBG("Modem Name:", name); + + String modemInfo = modem.getModemInfo(); + DBG("Modem Info:", modemInfo); + + Serial_Printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the api key (required) */ + config.api_key = API_KEY; + + /* Assign the user sign in credentials */ + auth.user.email = USER_EMAIL; + auth.user.password = USER_PASSWORD; + + /* Assign the RTDB URL (required) */ + config.database_url = DATABASE_URL; + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + fbdo.setGSMClient(&gsm_client, &modem, GSM_PIN, apn, gprsUser, gprsPass); + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + Firebase.setDoubleDigits(5); + + Firebase.begin(&config, &auth); +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready() && (millis() - sendDataPrevMillis > 15000 || sendDataPrevMillis == 0)) + { + sendDataPrevMillis = millis(); + + Serial_Printf("Set bool... %s\n", Firebase.RTDB.setBool(&fbdo, F("/test/bool"), count % 2 == 0) ? "ok" : fbdo.errorReason().c_str()); + + count++; + } +} diff --git a/examples/ExternalClient/RTDB/GSM/StreamCallback/StreamCallback.ino b/examples/ExternalClient/RTDB/GSM/StreamCallback/StreamCallback.ino new file mode 100644 index 000000000..f173d97f2 --- /dev/null +++ b/examples/ExternalClient/RTDB/GSM/StreamCallback/StreamCallback.ino @@ -0,0 +1,261 @@ +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +/** This example shows the RTDB data changed notification with TTGO T-A7670 (ESP32 with SIMCom SIMA7670) and TinyGSMClient. */ + +// To allow TinyGSM library integration, the following macro should be defined in src/FirebaseFS.h or +// your custom config file src/CustomFirebaseFS.h. +// #define TINY_GSM_MODEM_SIM7600 + +#define TINY_GSM_MODEM_SIM7600 // SIMA7670 Compatible with SIM7600 AT instructions + +// Set serial for debug console (to the Serial Monitor, default speed 115200) +#define SerialMon Serial + +// Set serial for AT commands (to the module) +// Use Hardware Serial on Mega, Leonardo, Micro +#define SerialAT Serial1 + +// See all AT commands, if wanted +// #define DUMP_AT_COMMANDS + +// Define the serial console for debug prints, if needed +#define TINY_GSM_DEBUG SerialMon + +#define TINY_GSM_USE_GPRS true +#define TINY_GSM_USE_WIFI false + +// set GSM PIN, if any +#define GSM_PIN "" + +// Your GPRS credentials, if any +const char apn[] = "YourAPN"; +const char gprsUser[] = ""; +const char gprsPass[] = ""; + +#define uS_TO_S_FACTOR 1000000ULL // Conversion factor for micro seconds to seconds +#define TIME_TO_SLEEP 600 // Time ESP32 will go to sleep (in seconds) + +#define UART_BAUD 115200 +#define PIN_DTR 25 +#define PIN_TX 26 +#define PIN_RX 27 +#define PWR_PIN 4 +#define BAT_ADC 35 +#define BAT_EN 12 +#define PIN_RI 33 +#define PIN_DTR 25 +#define RESET 5 + +#define SD_MISO 2 +#define SD_MOSI 15 +#define SD_SCLK 14 +#define SD_CS 13 + +#include +#include + +TinyGsm modem(SerialAT); + +// Multiple simultaneous connections should be supported +// TINY_GSM_MUX_COUNT on SIM7600 is 10. +TinyGsmClient gsm_client1(modem, 0); +TinyGsmClient gsm_client2(modem, 1); + +// Provide the token generation process info. +#include + +// Provide the RTDB payload printing info and other helper functions. +#include + +// For the following credentials, see examples/Authentications/SignInAsUser/EmailPassword/EmailPassword.ino + +/* 2. Define the API Key */ +#define API_KEY "API_KEY" + +/* 3. Define the RTDB URL */ +#define DATABASE_URL "URL" //.firebaseio.com or ..firebasedatabase.app + +/* 4. Define the user Email and password that alreadey registerd or added in your project */ +#define USER_EMAIL "USER_EMAIL" +#define USER_PASSWORD "USER_PASSWORD" + +// Define Firebase Data object +FirebaseData stream; +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +unsigned long sendDataPrevMillis = 0; + +int count = 0; + +volatile bool dataChanged = false; + +void streamCallback(FirebaseStream data) +{ + Serial_Printf("sream path, %s\nevent path, %s\ndata type, %s\nevent type, %s\n\n", + data.streamPath().c_str(), + data.dataPath().c_str(), + data.dataType().c_str(), + data.eventType().c_str()); + printResult(data); // see addons/RTDBHelper.h + Serial.println(); + + // This is the size of stream payload received (current and max value) + // Max payload size is the payload size under the stream path since the stream connected + // and read once and will not update until stream reconnection takes place. + // This max value will be zero as no payload received in case of ESP8266 which + // BearSSL reserved Rx buffer size is less than the actual stream payload. + Serial_Printf("Received stream payload size: %d (Max. %d)\n\n", data.payloadLength(), data.maxPayloadLength()); + + // Due to limited of stack memory, do not perform any task that used large memory here especially starting connect to server. + // Just set this flag and check it status later. + dataChanged = true; +} + +void streamTimeoutCallback(bool timeout) +{ + if (timeout) + Serial.println("stream timed out, resuming...\n"); + + if (!stream.httpConnected()) + Serial_Printf("error code: %d, reason: %s\n\n", stream.httpCode(), stream.errorReason().c_str()); +} + +void setup() +{ + + Serial.begin(115200); + + delay(10); + pinMode(BAT_EN, OUTPUT); + digitalWrite(BAT_EN, HIGH); + + // A7670 Reset + pinMode(RESET, OUTPUT); + digitalWrite(RESET, LOW); + delay(100); + digitalWrite(RESET, HIGH); + delay(3000); + digitalWrite(RESET, LOW); + + pinMode(PWR_PIN, OUTPUT); + digitalWrite(PWR_PIN, LOW); + delay(100); + digitalWrite(PWR_PIN, HIGH); + delay(1000); + digitalWrite(PWR_PIN, LOW); + + DBG("Wait..."); + + delay(3000); + + SerialAT.begin(UART_BAUD, SERIAL_8N1, PIN_RX, PIN_TX); + + // Restart takes quite some time + // To skip it, call init() instead of restart() + DBG("Initializing modem..."); + if (!modem.init()) + { + DBG("Failed to restart modem, delaying 10s and retrying"); + return; + } + + /* + 2 Automatic + 13 GSM Only + 14 WCDMA Only + 38 LTE Only + */ + modem.setNetworkMode(38); + if (modem.waitResponse(10000L) != 1) + { + DBG(" setNetworkMode faill"); + } + + String name = modem.getModemName(); + DBG("Modem Name:", name); + + String modemInfo = modem.getModemInfo(); + DBG("Modem Info:", modemInfo); + + Serial_Printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the api key (required) */ + config.api_key = API_KEY; + + /* Assign the user sign in credentials */ + auth.user.email = USER_EMAIL; + auth.user.password = USER_PASSWORD; + + /* Assign the RTDB URL (required) */ + config.database_url = DATABASE_URL; + + // The WiFi credentials are required for WiFiNINA and WiFi101 libraries + // due to it does not have reconnect feature. + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Or use legacy authenticate method + // config.database_url = DATABASE_URL; + // config.signer.tokens.legacy_token = ""; + + // To connect without auth in Test Mode, see Authentications/TestMode/TestMode.ino + + fbdo.setGSMClient(&gsm_client1, &modem, GSM_PIN, apn, gprsUser, gprsPass); + stream.setGSMClient(&gsm_client2, &modem, GSM_PIN, apn, gprsUser, gprsPass); + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(2048 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + stream.setBSSLBufferSize(2048 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + Firebase.begin(&config, &auth); + + if (!Firebase.RTDB.beginStream(&stream, "/test/stream/data")) + Serial_Printf("sream begin error, %s\n\n", stream.errorReason().c_str()); + + Firebase.RTDB.setStreamCallback(&stream, streamCallback, streamTimeoutCallback); +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + +#if !defined(ESP8266) && !defined(ESP32) + Firebase.RTDB.runStream(); +#endif + + if (Firebase.ready() && (millis() - sendDataPrevMillis > 15000 || sendDataPrevMillis == 0)) + { + sendDataPrevMillis = millis(); + count++; + FirebaseJson json; + json.add("data", "hello"); + json.add("num", count); + Serial_Printf("Set json... %s\n\n", Firebase.RTDB.setJSON(&fbdo, "/test/stream/data/json", &json) ? "ok" : fbdo.errorReason().c_str()); + } + + if (dataChanged) + { + dataChanged = false; + // When stream data is available, do anything here... + } +} diff --git a/examples/ExternalClient/RTDB/Generic/Basic/Basic.ino b/examples/ExternalClient/RTDB/Generic/Basic/Basic.ino new file mode 100644 index 000000000..36975d1c4 --- /dev/null +++ b/examples/ExternalClient/RTDB/Generic/Basic/Basic.ino @@ -0,0 +1,114 @@ + +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +/** This example shows the basic RTDB usage with external network Client. */ + +#include + +// Provide the token generation process info. +#include + +// Provide the RTDB payload printing info and other helper functions. +#include + +// For the following credentials, see examples/Authentications/SignInAsUser/EmailPassword/EmailPassword.ino + +/* 1. Define the API Key */ +#define API_KEY "API_KEY" + +/* 2. Define the RTDB URL */ +#define DATABASE_URL "URL" //.firebaseio.com or ..firebasedatabase.app + +/* 3. Define the user Email and password that alreadey registerd or added in your project */ +#define USER_EMAIL "USER_EMAIL" +#define USER_PASSWORD "USER_PASSWORD" + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +unsigned long sendDataPrevMillis = 0; + +unsigned long count = 0; + +NetworkClient client; + +void networkConnection() +{ + // Neywork connection code here +} + +// Define the callback function to handle server status acknowledgement +void networkStatusRequestCallback() +{ + // Set the network status based on your network client + fbdo.setNetworkStatus(true /* or false */); +} + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_ARCH_SAMD) + while (!Serial) + ; +#endif + + networkConnection(); + + Serial_Printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the api key (required) */ + config.api_key = API_KEY; + + /* Assign the user sign in credentials */ + auth.user.email = USER_EMAIL; + auth.user.password = USER_PASSWORD; + + /* Assign the RTDB URL (required) */ + config.database_url = DATABASE_URL; + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + /* Assign the pointer to global defined external SSL Client object and callbacls */ + fbdo.setGenericClient(&client, networkConnection, networkStatusRequestCallback); + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + Firebase.setDoubleDigits(5); + + Firebase.begin(&config, &auth); +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready() && (millis() - sendDataPrevMillis > 15000 || sendDataPrevMillis == 0)) + { + sendDataPrevMillis = millis(); + + Serial_Printf("Set bool... %s\n", Firebase.RTDB.setBool(&fbdo, F("/test/bool"), count % 2 == 0) ? "ok" : fbdo.errorReason().c_str()); + + count++; + } +} diff --git a/examples/ExternalClient/RTDB/Generic/StreamCallback/StreamCallback.ino b/examples/ExternalClient/RTDB/Generic/StreamCallback/StreamCallback.ino new file mode 100644 index 000000000..e9c2f8d5f --- /dev/null +++ b/examples/ExternalClient/RTDB/Generic/StreamCallback/StreamCallback.ino @@ -0,0 +1,172 @@ +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +/** This example shows the RTDB data changed notification with external network Client. */ + +#include + +// Provide the token generation process info. +#include + +// Provide the RTDB payload printing info and other helper functions. +#include + +// For the following credentials, see examples/Authentications/SignInAsUser/EmailPassword/EmailPassword.ino + +/* 1. Define the API Key */ +#define API_KEY "API_KEY" + +/* 2. Define the RTDB URL */ +#define DATABASE_URL "URL" //.firebaseio.com or ..firebasedatabase.app + +/* 3. Define the user Email and password that alreadey registerd or added in your project */ +#define USER_EMAIL "USER_EMAIL" +#define USER_PASSWORD "USER_PASSWORD" + +// Define Firebase Data object +FirebaseData stream; +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +unsigned long sendDataPrevMillis = 0; + +int count = 0; + +volatile bool dataChanged = false; + +NetworkClient client1; + +NetworkClient client2; + +void networkConnection() +{ + // Neywork connection code here +} + +// Define the callback function to handle server status acknowledgement +void networkStatusRequestCallback() +{ + // Set the network status based on your network client + fbdo.setNetworkStatus(false /* or true */); + stream.setNetworkStatus(false /* or true */); +} + +void streamCallback(FirebaseStream data) +{ + Serial_Printf("sream path, %s\nevent path, %s\ndata type, %s\nevent type, %s\n\n", + data.streamPath().c_str(), + data.dataPath().c_str(), + data.dataType().c_str(), + data.eventType().c_str()); + printResult(data); // see addons/RTDBHelper.h + Serial.println(); + + // This is the size of stream payload received (current and max value) + // Max payload size is the payload size under the stream path since the stream connected + // and read once and will not update until stream reconnection takes place. + // This max value will be zero as no payload received in case of ESP8266 which + // BearSSL reserved Rx buffer size is less than the actual stream payload. + Serial_Printf("Received stream payload size: %d (Max. %d)\n\n", data.payloadLength(), data.maxPayloadLength()); + + // Due to limited of stack memory, do not perform any task that used large memory here especially starting connect to server. + // Just set this flag and check it status later. + dataChanged = true; +} + +void streamTimeoutCallback(bool timeout) +{ + if (timeout) + Serial.println("stream timed out, resuming...\n"); + + if (!stream.httpConnected()) + Serial_Printf("error code: %d, reason: %s\n\n", stream.httpCode(), stream.errorReason().c_str()); +} + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_ARCH_SAMD) + while (!Serial) + ; +#endif + + networkConnection(); + + Serial_Printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the api key (required) */ + config.api_key = API_KEY; + + /* Assign the user sign in credentials */ + auth.user.email = USER_EMAIL; + auth.user.password = USER_PASSWORD; + + /* Assign the RTDB URL (required) */ + config.database_url = DATABASE_URL; + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Or use legacy authenticate method + // config.database_url = DATABASE_URL; + // config.signer.tokens.legacy_token = ""; + + // To connect without auth in Test Mode, see Authentications/TestMode/TestMode.ino + + /* Assign the pointer to global defined external SSL Client object and callbacls */ + fbdo.setGenericClient(&client1, networkConnection, networkStatusRequestCallback); + stream.setGenericClient(&client2, networkConnection, networkStatusRequestCallback); + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(2048 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + stream.setBSSLBufferSize(2048 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + Firebase.begin(&config, &auth); + + if (!Firebase.RTDB.beginStream(&stream, "/test/stream/data")) + Serial_Printf("sream begin error, %s\n\n", stream.errorReason().c_str()); + + Firebase.RTDB.setStreamCallback(&stream, streamCallback, streamTimeoutCallback); +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + +#if !defined(ESP8266) && !defined(ESP32) + Firebase.RTDB.runStream(); +#endif + + if (Firebase.ready() && (millis() - sendDataPrevMillis > 15000 || sendDataPrevMillis == 0)) + { + sendDataPrevMillis = millis(); + count++; + FirebaseJson json; + json.add("data", "hello"); + json.add("num", count); + Serial_Printf("Set json... %s\n\n", Firebase.RTDB.setJSON(&fbdo, "/test/stream/data/json", &json) ? "ok" : fbdo.errorReason().c_str()); + } + + if (dataChanged) + { + dataChanged = false; + // When stream data is available, do anything here... + } +} diff --git a/examples/FirebaseJson/BasicUsage/Create_Edit_Parse/Create_Edit_Parse.ino b/examples/FirebaseJson/BasicUsage/Create_Edit_Parse/Create_Edit_Parse.ino new file mode 100644 index 000000000..992cbb390 --- /dev/null +++ b/examples/FirebaseJson/BasicUsage/Create_Edit_Parse/Create_Edit_Parse.ino @@ -0,0 +1,188 @@ +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/FirebaseJson + * + * Copyright (c) 2023 mobizt + * + */ + +#include +#include + +void setup() +{ + + Serial.begin(115200); + Serial.println(); + Serial.println(); + + // Create, parsing and modify JSON object and JSON array + // FirebaseJSON supports Arduino String, PROGMEM, flash string, std::string, char array, string literal, and sum of arduino String. + + // All functions supported FPSTR, String, std::string, const char* and char array as parameters. + + FirebaseJson json; // or constructor with contents e.g. FirebaseJson json("{\"a\":true}"); + FirebaseJsonArray arr; // or constructor with contents e.g. FirebaseJsonArray arr("[1,2,true,\"test\"]"); + FirebaseJsonData result; // object that keeps the deserializing result + + // To set content + json.setJsonData("{\"a\":true}"); + + arr.setJsonArrayData("[1,2,3]"); + + // To add data to json + json.add("b" /* key or name only */, 123 /* value of any type */); + + // To set data to json + json.set("a/b/c" /* key or relative path */, "hello" /* value */); + + // To add value to array + arr.add("hello").add("test").add(99); // or arr.add("hello", "test", 99); + + // To add json into array + FirebaseJson json2("{\"d\":888,\"e\":false}"); + arr.add(json2); + + // To set the value at index + arr.set("[0]", 555); // or arr.set(0, 555); + + // To set the value at specific path + arr.set("/[8]/i", 111); + arr.set("/[8]/j", 222); + arr.set("/[8]/k", "hi"); + + // To add/set array into json + json.set("x/y/z", arr); + + // To serialize json to serial + json.toString(Serial, true /* prettify option */); + + // To serialize array to string + String str; + arr.toString(str, true /* prettify option */); + + Serial.println("\n---------"); + Serial.println(str); + + // To remove value from array at index or path + arr.remove("[6]/d" /* path */); + arr.remove(7 /* index */); + Serial.println("\n---------"); + Serial.println(arr.raw()); // print raw string + + // To remove value from json + json.remove("x/y/z/[6]"); + Serial.println("\n---------"); + Serial.println(json.raw()); // print raw string + + // To get the value from json (deserializing) + json.get(result /* FirebaseJsonData */, "a/b/c" /* key or path */); + + // To check the deserialized result and get its type and value + if (result.success) + { + Serial.println("\n---------"); + if (result.type == "string") /* or result.typeNum == FirebaseJson::JSON_STRING */ + Serial.println(result.to().c_str()); + else if (result.type == "int") /* or result.typeNum == FirebaseJson::JSON_INT */ + Serial.println(result.to()); + else if (result.type == "float") /* or result.typeNum == FirebaseJson::JSON_FLOAT */ + Serial.println(result.to()); + else if (result.type == "double") /* or result.typeNum == FirebaseJson::JSON_DOUBLE */ + Serial.println(result.to()); + else if (result.type == "bool") /* or result.typeNum == FirebaseJson::JSON_BOOL */ + Serial.println(result.to()); + else if (result.type == "object") /* or result.typeNum == FirebaseJson::JSON_OBJECT */ + Serial.println(result.to().c_str()); + else if (result.type == "array") /* or result.typeNum == FirebaseJson::JSON_ARRAY */ + Serial.println(result.to().c_str()); + else if (result.type == "null") /* or result.typeNum == FirebaseJson::JSON_NULL */ + Serial.println(result.to().c_str()); + } + + // To get the json object from deserializing result + json.get(result /* FirebaseJsonData */, "x/y/z/[7]" /* key or path */); + if (result.success) + { + + if (result.type == "object") /* or result.typeNum == FirebaseJson::JSON_OBJECT */ + { + // Use result.get or result.getJSON instead of result.to + FirebaseJson json3; + result.get(json3 /* object that used to store value */); + // or result.getJSON(json3); + Serial.println("\n---------"); + json3.toString(Serial, true); // serialize contents to serial + + // To iterate all values in Json object + size_t count = json3.iteratorBegin(); + Serial.println("\n---------"); + for (size_t i = 0; i < count; i++) + { + FirebaseJson::IteratorValue value = json3.valueAt(i); + Serial.printf("Name: %s, Value: %s, Type: %s\n", value.key.c_str(), value.value.c_str(), value.type == FirebaseJson::JSON_OBJECT ? "object" : "array"); + } + + Serial.println(); + json3.iteratorEnd(); // required for free the used memory in iteration (node data collection) + } + } + + // To get the json array object from deserializing result + json.get(result /* FirebaseJsonData */, "x/y/z" /* key or path */); + if (result.success) + { + + if (result.type == "array") /* or result.typeNum == FirebaseJson::JSON_ARRAY */ + { + // Use result.get or result.getJSON instead of result.to + FirebaseJsonArray arr2; + result.get(arr2 /* object that used to store value */); + // or result.getArray(arr2); + Serial.println("\n---------"); + arr2.toString(Serial, true); // serialize contents to serial + + // To iterate all values in Json array object + Serial.println("\n---------"); + FirebaseJsonData result2; + for (size_t i = 0; i < arr2.size(); i++) + { + arr2.get(result2, i); + if (result2.type == "string" /* result2.typeNum == FirebaseJson::JSON_STRING */) + Serial.printf("Array index %d, String Val: %s\n", i, result2.to().c_str()); + else if (result2.type == "int" /* result2.typeNum == FirebaseJson::JSON_INT */) + Serial.printf("Array index %d, Int Val: %d\n", i, result2.to()); + else if (result2.type == "float" /* result2.typeNum == FirebaseJson::JSON_FLOAT */) + Serial.printf("Array index %d, Float Val: %f\n", i, result2.to()); + else if (result2.type == "double" /* result2.typeNum == FirebaseJson::JSON_DOUBLE */) + Serial.printf("Array index %d, Double Val: %f\n", i, result2.to()); + else if (result2.type == "bool" /* result2.typeNum == FirebaseJson::JSON_BOOL */) + Serial.printf("Array index %d, Bool Val: %d\n", i, result2.to()); + else if (result2.type == "object" /* result2.typeNum == FirebaseJson::JSON_OBJECT */) + Serial.printf("Array index %d, Object Val: %s\n", i, result2.to().c_str()); + else if (result2.type == "array" /* result2.typeNum == FirebaseJson::JSON_ARRAY */) + Serial.printf("Array index %d, Array Val: %s\n", i, result2.to().c_str()); + else if (result2.type == "null" /* result2.typeNum == FirebaseJson::JSON_NULL */) + Serial.printf("Array index %d, Null Val: %s\n", i, result2.to().c_str()); + } + + // Or use the same method as iterate the object + /* + size_t count = arr2.iteratorBegin(); + Serial.println("\n---------"); + for (size_t i = 0; i < count; i++) + { + FirebaseJson::IteratorValue value = arr2.valueAt(i); + Serial.printf("Name: %s, Value: %s, Type: %s\n", value.key.c_str(), value.value.c_str(), value.type == FirebaseJson::JSON_OBJECT ? "object" : "array"); + } + */ + } + } +} + +void loop() +{ +} \ No newline at end of file diff --git a/examples/FirebaseJson/Client/ArduinoMQTT/ArduinoMQTT.ino b/examples/FirebaseJson/Client/ArduinoMQTT/ArduinoMQTT.ino new file mode 100644 index 000000000..b809c5aad --- /dev/null +++ b/examples/FirebaseJson/Client/ArduinoMQTT/ArduinoMQTT.ino @@ -0,0 +1,113 @@ +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt + * + * Copyright (c) 2023 mobizt + * + */ + +// https://github.com/arduino-libraries/ArduinoMqttClient +#include + +#include +#if defined(ARDUINO_SAMD_MKRWIFI1010) || defined(ARDUINO_SAMD_NANO_33_IOT) || defined(ARDUINO_AVR_UNO_WIFI_REV2) +#include +#elif defined(ARDUINO_SAMD_MKR1000) +#include +#elif defined(ESP8266) +#include +#elif defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#endif + +// Enable LW MQTT library after include the library and before include the FirebaseJson. + +#include + +/* Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +WiFiClient wifiClient; +MqttClient mqttClient(wifiClient); + +unsigned long lastMillis = 0; + +int count = 0; + +const char broker[] = "test.mosquitto.org"; +int port = 1883; +const char topic[] = "arduino/simple"; + +const long interval = 1000; +unsigned long previousMillis = 0; + +bool mqttReady = false; + +void setup() +{ + + Serial.begin(115200); + Serial.println(); + + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); + Serial.print("Connecting to Wi-Fi"); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.print("Attempting to connect to the MQTT broker: "); + Serial.println(broker); + + if (!mqttClient.connect(broker, port)) + { + Serial.print("MQTT connection failed! Error code = "); + Serial.println(mqttClient.connectError()); + return; + } + mqttReady = true; + + Serial.println("You're connected to the MQTT broker!"); + Serial.println(); +} + +void loop() +{ + if (!mqttReady) + return; + + mqttClient.poll(); + + if (millis() - lastMillis > 1000) + { + lastMillis = millis(); + + Serial.print("Sending message to topic: "); + + Serial.println(topic); + + FirebaseJson json; + json.add("abc", count); + json.add("def", count % 5 == 0); + + json.toString(Serial); + Serial.println(); + + // send message, the Print interface can be used to set the message contents + mqttClient.beginMessage(topic); + + json.toString(mqttClient); + + mqttClient.endMessage(); + count++; + } +} \ No newline at end of file diff --git a/examples/FirebaseJson/Client/Firebase/Firebase.ino b/examples/FirebaseJson/Client/Firebase/Firebase.ino new file mode 100644 index 000000000..9c9a4b21f --- /dev/null +++ b/examples/FirebaseJson/Client/Firebase/Firebase.ino @@ -0,0 +1,138 @@ + +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/FirebaseJson + * + * Copyright (c) 2023 mobizt + * + */ + +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#endif + +#include + +// Provide the token generation process info. +#include + +// Provide the RTDB payload printing info and other helper functions. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +// For the following credentials, see examples/Authentications/SignInAsUser/EmailPassword/EmailPassword.ino + +/* 2. Define the API Key */ +#define API_KEY "API_KEY" + +/* 3. Define the RTDB URL */ +#define DATABASE_URL "URL" //.firebaseio.com or ..firebasedatabase.app + +/* 4. Define the user Email and password that alreadey registerd or added in your project */ +#define USER_EMAIL "USER_EMAIL" +#define USER_PASSWORD "USER_PASSWORD" + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +unsigned long sendDataPrevMillis = 0; + +unsigned long count = 0; + +void setup() +{ + + Serial.begin(115200); + + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); + Serial.print("Connecting to Wi-Fi"); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the api key (required) */ + config.api_key = API_KEY; + + /* Assign the user sign in credentials */ + auth.user.email = USER_EMAIL; + auth.user.password = USER_PASSWORD; + + /* Assign the RTDB URL (required) */ + config.database_url = DATABASE_URL; + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Since Firebase v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(2048 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + // Or use legacy authenticate method + // config.database_url = DATABASE_URL; + // config.signer.tokens.legacy_token = ""; + + Firebase.begin(&config, &auth); + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); +} + +void loop() +{ + // Flash string (PROGMEM and (FPSTR), String C/C++ string, const char, char array, string literal are supported + // in all Firebase and FirebaseJson functions, unless F() macro is not supported. + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready() && (millis() - sendDataPrevMillis > 15000 || sendDataPrevMillis == 0)) + { + sendDataPrevMillis = millis(); + + FirebaseJson json; + json.setDoubleDigits(3); + json.add("value", count); + + Serial.printf("Set json... %s\n", Firebase.RTDB.setJSON(&fbdo, "/test/json", &json) ? "ok" : fbdo.errorReason().c_str()); + + Serial.printf("Get json... %s\n", Firebase.RTDB.getJSON(&fbdo, "/test/json") ? fbdo.to().raw() : fbdo.errorReason().c_str()); + + FirebaseJson jVal; + Serial.printf("Get json ref... %s\n", Firebase.RTDB.getJSON(&fbdo, "/test/json", &jVal) ? jVal.raw() : fbdo.errorReason().c_str()); + + FirebaseJsonArray arr; + arr.setFloatDigits(2); + arr.setDoubleDigits(4); + arr.add("a", "b", "c", true, 45, (float)6.1432, 123.45692789); + + Serial.printf("Set array... %s\n", Firebase.RTDB.setArray(&fbdo, "/test/array", &arr) ? "ok" : fbdo.errorReason().c_str()); + + Serial.printf("Get array... %s\n", Firebase.RTDB.getArray(&fbdo, "/test/array") ? fbdo.to().raw() : fbdo.errorReason().c_str()); + + Serial.printf("Push json... %s\n", Firebase.RTDB.pushJSON(&fbdo, "/test/push", &json) ? "ok" : fbdo.errorReason().c_str()); + + json.set("value", count + 0.29745); + Serial.printf("Update json... %s\n\n", Firebase.RTDB.updateNode(&fbdo, "/test/push/" + fbdo.pushName(), &json) ? "ok" : fbdo.errorReason().c_str()); + + count++; + } +} diff --git a/examples/FirebaseJson/Client/WiFiClient/WiFiClient.ino b/examples/FirebaseJson/Client/WiFiClient/WiFiClient.ino new file mode 100644 index 000000000..291b8168d --- /dev/null +++ b/examples/FirebaseJson/Client/WiFiClient/WiFiClient.ino @@ -0,0 +1,101 @@ +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt + * + * Copyright (c) 2023 mobizt + * + */ + +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#endif + +// This example is for ESP8266 and ESP32 + +#include + +#include + +/* Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +unsigned long ms = 0; +int count = 0; + +void setup() +{ + + Serial.begin(115200); + Serial.println(); + + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); + Serial.print("Connecting to Wi-Fi"); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); +} + +void loop() +{ + if (millis() - ms > 15000 || ms == 0) + { + ms = millis(); + + FirebaseJson json; + FirebaseJsonData result; + + WiFiClient client; + + json.add("name", "esp"); + json.set("data/arr/[0]", count + 1); + json.set("data/arr/[1]", count + 10); + json.set("data/arr/[2]", count + 100); + + Serial.print("Connecting to server..."); + + if (client.connect("httpbin.org", 80)) + { + Serial.println(" ok"); + Serial.println("Send POST request..."); + client.print("POST /anything HTTP/1.1\n"); + client.print("Host: httpbin.org\n"); + client.print("Content-Type: application/json\n"); + client.print("Connection: close\n"); + client.print("Content-Length: "); + client.print(json.serializedBufferLength(true)); + client.print("\n\n"); + json.toString(client, true); + + Serial.print("Read response..."); + + // Automatically parsing for response (w or w/o header) with chunk encoding supported. + if (json.readFrom(client)) + { + Serial.println(); + json.toString(Serial, true); + Serial.println("\n\nComplete"); + } + else + Serial_Printf(" failed with http code: %d\n", json.responseCode()); + } + else + Serial.println(" failed\n"); + + client.stop(); + + count++; + } +} \ No newline at end of file diff --git a/examples/FirebaseJson/Client/WiFiClientSecure/WiFiClientSecure.ino b/examples/FirebaseJson/Client/WiFiClientSecure/WiFiClientSecure.ino new file mode 100644 index 000000000..c1d87d46f --- /dev/null +++ b/examples/FirebaseJson/Client/WiFiClientSecure/WiFiClientSecure.ino @@ -0,0 +1,101 @@ +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt + * + * Copyright (c) 2023 mobizt + * + */ + +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#endif + +// This example is for ESP8266 and ESP32 + +#include + +#include + +/* Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +unsigned long ms = 0; +int count = 0; + +void setup() +{ + + Serial.begin(115200); + Serial.println(); + + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); + Serial.print("Connecting to Wi-Fi"); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); +} + +void loop() +{ + if (millis() - ms > 15000 || ms == 0) + { + ms = millis(); + + FirebaseJson json; + FirebaseJsonData result; + + WiFiClientSecure sslClient; + sslClient.setInsecure(); // skip cert verification + + json.add("name", "esp"); + json.set("data/arr/[0]", count + 1); + json.set("data/arr/[1]", count + 10); + json.set("data/arr/[2]", count + 100); + + Serial.print("Connecting to server..."); + + if (sslClient.connect("reqres.in", 443)) + { + Serial.println(" ok"); + Serial.println("Send POST request..."); + sslClient.print("POST /api/users HTTP/1.1\n"); + sslClient.print("Host: reqres.in\n"); + sslClient.print("Content-Type: application/json\n"); + sslClient.print("Content-Length: "); + sslClient.print(json.serializedBufferLength()); + sslClient.print("\n\n"); + json.toString(sslClient); + + Serial.print("Read response..."); + + // Automatically parsing for response (w or w/o header) with chunk encoding supported. + if (json.readFrom(sslClient)) + { + Serial.println(); + json.toString(Serial, true); + Serial.println("\n\nComplete"); + } + else + Serial.println(" failed\n"); + } + else + Serial.println(" failed\n"); + + sslClient.stop(); + + count++; + } +} \ No newline at end of file diff --git a/examples/FirebaseJson/Stream/File/File.ino b/examples/FirebaseJson/Stream/File/File.ino new file mode 100644 index 000000000..c99485b3f --- /dev/null +++ b/examples/FirebaseJson/Stream/File/File.ino @@ -0,0 +1,95 @@ +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/FirebaseJson + * + * Copyright (c) 2023 mobizt + * + */ + +#include +#include + +FirebaseJson json; + +#ifndef DEFAULT_FLASH_FS +#include +#include +#define DEFAULT_FLASH_FS SPIFFS +#endif + +void setup() +{ + Serial.begin(115200); + Serial.println(); + + if (!DEFAULT_FLASH_FS.begin()) + { + Serial.println("SPIFFS/LittleFS initialization failed."); + Serial.println("For Arduino IDE, please select flash size from menu Tools > Flash size"); + return; + } + + // Delete demo files + if (DEFAULT_FLASH_FS.exists("/test.txt")) + DEFAULT_FLASH_FS.remove("/test.txt"); + + if (DEFAULT_FLASH_FS.exists("/test2.txt")) + DEFAULT_FLASH_FS.remove("/test2.txt"); + + // Write demo data to file + File file = DEFAULT_FLASH_FS.open("/test.txt", "w"); + + // Print the demo data to file. + // No matter what the separation between each JSON object or array is, it can be space, new line or nothing + file.print("{\"a\":123}\n{\"b\":456}\n{\"c\":789}"); + + file.close(); +} + +void loop() +{ + File file = DEFAULT_FLASH_FS.open("/test.txt", "r"); + while (file.available()) + { + // No matter what JSON data separation is newline or any. + if (json.readFrom(file)) + { + Serial.println("JSON Data read..."); + json.toString(Serial, true); + Serial.println(); + + Serial.println(); + Serial.println("Appended data to file..."); + Serial.println(); + + // Append json data to another file + File file2 = DEFAULT_FLASH_FS.open("/test2.txt", "a"); + json.toString(file2); + + // Due to bugs in SPIFFS print + // https://github.com/esp8266/Arduino/issues/8372 + // append new line to separate each JSON data (recommended) + file2.println(); + + file2.close(); + } + } + file.close(); + + Serial.println("Read appended data file..."); + file = DEFAULT_FLASH_FS.open("/test2.txt", "r"); + while (file.available()) + { + Serial.print((char)file.read()); + } + Serial.println(); + file.close(); + + if (DEFAULT_FLASH_FS.exists("/test2.txt")) + DEFAULT_FLASH_FS.remove("/test2.txt"); + + delay(15000); +} \ No newline at end of file diff --git a/examples/FirebaseJson/Stream/Serial/Serial.ino b/examples/FirebaseJson/Stream/Serial/Serial.ino new file mode 100644 index 000000000..c1c5cc2e8 --- /dev/null +++ b/examples/FirebaseJson/Stream/Serial/Serial.ino @@ -0,0 +1,32 @@ +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/FirebaseJson + * + * Copyright (c) 2023 mobizt + * + */ + +#include +#include + +FirebaseJson json; + +void setup() +{ + Serial.begin(115200); + Serial.println(); +} + +void loop() +{ + // No matter what JSON data separation is newline or any. + if (json.readFrom(Serial)) + { + Serial.println("JSON Data received..."); + json.toString(Serial, true); + Serial.println(); + } +} \ No newline at end of file diff --git a/examples/Firestore/BatchGetDocuments/BatchGetDocuments.ino b/examples/Firestore/BatchGetDocuments/BatchGetDocuments.ino new file mode 100644 index 000000000..77ab1d2cd --- /dev/null +++ b/examples/Firestore/BatchGetDocuments/BatchGetDocuments.ino @@ -0,0 +1,148 @@ + +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +// This example shows how to get multiple documents from a document collection. This operation required Email/password, custom or OAUth2.0 authentication. + +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/* 2. Define the API Key */ +#define API_KEY "API_KEY" + +/* 3. Define the project ID */ +#define FIREBASE_PROJECT_ID "PROJECT_ID" + +/* 4. Define the user Email and password that alreadey registerd or added in your project */ +#define USER_EMAIL "USER_EMAIL" +#define USER_PASSWORD "USER_PASSWORD" + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +bool taskCompleted = false; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void batchCallback(const char *data) +{ + Serial.print(data); +} + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the api key (required) */ + config.api_key = API_KEY; + + /* Assign the user sign in credentials */ + auth.user.email = USER_EMAIL; + auth.user.password = USER_PASSWORD; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + // Limit the size of response payload to be collected in FirebaseData + fbdo.setResponseSize(2048); + + Firebase.begin(&config, &auth); + + // You can use TCP KeepAlive in FirebaseData object and tracking the server connection status, please read this for detail. + // https://github.com/mobizt/Firebase-ESP-Client#about-firebasedata-object + // fbdo.keepAlive(5, 5, 1); +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready() && !taskCompleted) + { + taskCompleted = true; + + FirebaseJson newTransaction; + newTransaction.set("readWrite/retryTransaction", ""); + + Serial.println("\nGet multiple documents...\n"); + + if (!Firebase.Firestore.batchGetDocuments(&fbdo, FIREBASE_PROJECT_ID, "" /* databaseId can be (default) or empty */, + "info/countries,a0/b0/c0/d1,a0/b0/c0/d2,test_collection/test_document" /* documentPaths */, + "Singapore.population,key1" /* masks */, batchCallback /* callback */, "" /* transaction */, + &newTransaction /* newTransaction */, "" /* readTime */)) + Serial.println(fbdo.errorReason()); + } +} diff --git a/examples/Firestore/BatchWriteDocuments/BatchWriteDocuments.ino b/examples/Firestore/BatchWriteDocuments/BatchWriteDocuments.ino new file mode 100644 index 000000000..59cafe910 --- /dev/null +++ b/examples/Firestore/BatchWriteDocuments/BatchWriteDocuments.ino @@ -0,0 +1,214 @@ + +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +// This example shows how to apply a batch of writes operation. This operation required Email/password, custom or OAUth2.0 authentication. + +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/* 2. Define the API Key */ +#define API_KEY "API_KEY" + +/* 3. Define the project ID */ +#define FIREBASE_PROJECT_ID "PROJECT_ID" + +/* 4. Define the user Email and password that alreadey registerd or added in your project */ +#define USER_EMAIL "USER_EMAIL" +#define USER_PASSWORD "USER_PASSWORD" + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +unsigned long dataMillis = 0; +int count = 0; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void batchCallback(const char *data) +{ + Serial.print(data); +} + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the api key (required) */ + config.api_key = API_KEY; + + /* Assign the user sign in credentials */ + auth.user.email = USER_EMAIL; + auth.user.password = USER_PASSWORD; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + // Limit the size of response payload to be collected in FirebaseData + fbdo.setResponseSize(2048); + + Firebase.begin(&config, &auth); + + // You can use TCP KeepAlive in FirebaseData object and tracking the server connection status, please read this for detail. + // https://github.com/mobizt/Firebase-ESP-Client#about-firebasedata-object + // fbdo.keepAlive(5, 5, 1); +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready() && (millis() - dataMillis > 60000 || dataMillis == 0)) + { + dataMillis = millis(); + count++; + + Serial.print("Batch write documents... "); + + // The dyamic array of write object firebase_firestore_document_write_t. + std::vector writes; + + // A write object that will be written to the document. + struct firebase_firestore_document_write_t update_write; + + // Set the write object write operation type. + // firebase_firestore_document_write_type_update, + // firebase_firestore_document_write_type_delete, + // firebase_firestore_document_write_type_transform + update_write.type = firebase_firestore_document_write_type_update; + + // Set the document content to write (transform) + + FirebaseJson content; + String documentPath = "test_collection/test_document_map_value"; + String documentPath2 = "test_collection/test_document_timestamp"; + + content.set("fields/myMap/mapValue/fields/key" + String(count) + "/mapValue/fields/name/stringValue", "value" + String(count)); + content.set("fields/myMap/mapValue/fields/key" + String(count) + "/mapValue/fields/count/stringValue", String(count)); + // Set the update document content + update_write.update_document_content = content.raw(); + + update_write.update_masks = "myMap.key" + String(count); + + // Set the update document path + update_write.update_document_path = documentPath.c_str(); + + // Add a write object to a write array. + writes.push_back(update_write); + + // A write object that will be written to the document. + struct firebase_firestore_document_write_t transform_write; + + // Set the write object write operation type. + // firebase_firestore_document_write_type_update, + // firebase_firestore_document_write_type_delete, + // firebase_firestore_document_write_type_transform + transform_write.type = firebase_firestore_document_write_type_transform; + + // Set the document path of document to write (transform) + transform_write.document_transform.transform_document_path = documentPath2; + + // Set a transformation of a field of the document. + struct firebase_firestore_document_write_field_transforms_t field_transforms; + + // Set field path to write. + field_transforms.fieldPath = "myTime"; + + // Set the transformation type. + // firebase_firestore_transform_type_set_to_server_value, + // firebase_firestore_transform_type_increment, + // firebase_firestore_transform_type_maaximum, + // firebase_firestore_transform_type_minimum, + // firebase_firestore_transform_type_append_missing_elements, + // firebase_firestore_transform_type_remove_all_from_array + field_transforms.transform_type = firebase_firestore_transform_type_set_to_server_value; + + // Set the transformation content, server value for this case. + // See https://firebase.google.com/docs/firestore/reference/rest/v1/Write#servervalue + field_transforms.transform_content = "REQUEST_TIME"; // set timestamp to timestamp field + + // Add a field transformation object to a write object. + transform_write.document_transform.field_transforms.push_back(field_transforms); + + // Add a write object to a write array. + writes.push_back(transform_write); + + if (Firebase.Firestore.batchWriteDocuments(&fbdo, FIREBASE_PROJECT_ID, "" /* databaseId can be (default) or empty */, writes /* dynamic array of firebase_firestore_document_write_t */, nullptr /* labels */)) + Serial.printf("ok\n%s\n\n", fbdo.payload().c_str()); + else + Serial.println(fbdo.errorReason()); + } +} diff --git a/examples/Firestore/CommitDocument/AppendArray/AppendArray.ino b/examples/Firestore/CommitDocument/AppendArray/AppendArray.ino new file mode 100644 index 000000000..15a97b5a1 --- /dev/null +++ b/examples/Firestore/CommitDocument/AppendArray/AppendArray.ino @@ -0,0 +1,187 @@ + +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +// This example shows how to add the value to array field. This operation required Email/password, custom or OAUth2.0 authentication. + +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/* 2. Define the API Key */ +#define API_KEY "API_KEY" + +/* 3. Define the project ID */ +#define FIREBASE_PROJECT_ID "PROJECT_ID" + +/* 4. Define the user Email and password that alreadey registerd or added in your project */ +#define USER_EMAIL "USER_EMAIL" +#define USER_PASSWORD "USER_PASSWORD" + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +unsigned long dataMillis = 0; +int count = 0; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the api key (required) */ + config.api_key = API_KEY; + + /* Assign the user sign in credentials */ + auth.user.email = USER_EMAIL; + auth.user.password = USER_PASSWORD; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + // Limit the size of response payload to be collected in FirebaseData + fbdo.setResponseSize(2048); + + Firebase.begin(&config, &auth); + + // You can use TCP KeepAlive in FirebaseData object and tracking the server connection status, please read this for detail. + // https://github.com/mobizt/Firebase-ESP-Client#about-firebasedata-object + // fbdo.keepAlive(5, 5, 1); +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready() && (millis() - dataMillis > 60000 || dataMillis == 0)) + { + dataMillis = millis(); + count++; + + Serial.print("Commit a document (append array)... "); + + // The dyamic array of write object firebase_firestore_document_write_t. + std::vector writes; + + // A write object that will be written to the document. + struct firebase_firestore_document_write_t transform_write; + + // Set the write object write operation type. + // firebase_firestore_document_write_type_update, + // firebase_firestore_document_write_type_delete, + // firebase_firestore_document_write_type_transform + transform_write.type = firebase_firestore_document_write_type_transform; + + // Set the document path of document to write (transform) + transform_write.document_transform.transform_document_path = "test_collection/test_document"; + + // Set a transformation of a field of the document. + struct firebase_firestore_document_write_field_transforms_t field_transforms; + + // Set field path to write. + field_transforms.fieldPath = "appended_data"; + + // Set the transformation type. + // firebase_firestore_transform_type_set_to_server_value, + // firebase_firestore_transform_type_increment, + // firebase_firestore_transform_type_maaximum, + // firebase_firestore_transform_type_minimum, + // firebase_firestore_transform_type_append_missing_elements, + // firebase_firestore_transform_type_remove_all_from_array + field_transforms.transform_type = firebase_firestore_transform_type_append_missing_elements; + + // For the usage of FirebaseJson, see examples/FirebaseJson/BasicUsage/Create_Edit_Parse/Create_Edit_Parse.ino + FirebaseJson content; + + String txt = "Hello World! " + String(count); + content.set("values/[0]/integerValue", String(rand()).c_str()); + content.set("values/[1]/stringValue", txt); + + // Set the transformation content. + field_transforms.transform_content = content.raw(); + + // Add a field transformation object to a write object. + transform_write.document_transform.field_transforms.push_back(field_transforms); + + // Add a write object to a write array. + writes.push_back(transform_write); + + if (Firebase.Firestore.commitDocument(&fbdo, FIREBASE_PROJECT_ID, "" /* databaseId can be (default) or empty */, writes /* dynamic array of firebase_firestore_document_write_t */, "" /* transaction */)) + Serial.printf("ok\n%s\n\n", fbdo.payload().c_str()); + else + Serial.println(fbdo.errorReason()); + } +} diff --git a/examples/Firestore/CommitDocument/AppendMapValue/AppendMapValue.ino b/examples/Firestore/CommitDocument/AppendMapValue/AppendMapValue.ino new file mode 100644 index 000000000..31f79cb0c --- /dev/null +++ b/examples/Firestore/CommitDocument/AppendMapValue/AppendMapValue.ino @@ -0,0 +1,171 @@ + +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +// This example shows how to append new value to map field usng commit. This operation required Email/password, custom or OAUth2.0 authentication. + +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/* 2. Define the API Key */ +#define API_KEY "API_KEY" + +/* 3. Define the project ID */ +#define FIREBASE_PROJECT_ID "PROJECT_ID" + +/* 4. Define the user Email and password that alreadey registerd or added in your project */ +#define USER_EMAIL "USER_EMAIL" +#define USER_PASSWORD "USER_PASSWORD" + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +unsigned long dataMillis = 0; +int count = 0; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the api key (required) */ + config.api_key = API_KEY; + + /* Assign the user sign in credentials */ + auth.user.email = USER_EMAIL; + auth.user.password = USER_PASSWORD; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + // Limit the size of response payload to be collected in FirebaseData + fbdo.setResponseSize(2048); + + Firebase.begin(&config, &auth); + + // You can use TCP KeepAlive in FirebaseData object and tracking the server connection status, please read this for detail. + // https://github.com/mobizt/Firebase-ESP-Client#about-firebasedata-object + // fbdo.keepAlive(5, 5, 1); +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready() && (millis() - dataMillis > 60000 || dataMillis == 0)) + { + dataMillis = millis(); + count++; + + Serial.print("Commit a document (append map value in document)... "); + + // The dyamic array of write object firebase_firestore_document_write_t. + std::vector writes; + + // A write object that will be written to the document. + struct firebase_firestore_document_write_t update_write; + + // Set the write object write operation type. + // firebase_firestore_document_write_type_update, + // firebase_firestore_document_write_type_delete, + // firebase_firestore_document_write_type_transform + update_write.type = firebase_firestore_document_write_type_update; + + // Set the document content to write (transform) + + FirebaseJson content; + String documentPath = "test_collection/test_document"; + + content.set("fields/myMap/mapValue/fields/key" + String(count) + "/stringValue", "value" + String(count)); + + // Set the update document content + update_write.update_document_content = content.raw(); + + update_write.update_masks = "myMap.key" + String(count); + + // Set the update document path + update_write.update_document_path = documentPath.c_str(); + + // Add a write object to a write array. + writes.push_back(update_write); + + if (Firebase.Firestore.commitDocument(&fbdo, FIREBASE_PROJECT_ID, "" /* databaseId can be (default) or empty */, writes /* dynamic array of firebase_firestore_document_write_t */, "" /* transaction */)) + Serial.printf("ok\n%s\n\n", fbdo.payload().c_str()); + else + Serial.println(fbdo.errorReason()); + } +} diff --git a/examples/Firestore/CommitDocument/AppendMapValueArray/AppendMapValueArray.ino b/examples/Firestore/CommitDocument/AppendMapValueArray/AppendMapValueArray.ino new file mode 100644 index 000000000..57a22da4e --- /dev/null +++ b/examples/Firestore/CommitDocument/AppendMapValueArray/AppendMapValueArray.ino @@ -0,0 +1,186 @@ + +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +// This example shows how to append map value to array field. This operation required Email/password, custom or OAUth2.0 authentication. + +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/* 2. Define the API Key */ +#define API_KEY "API_KEY" + +/* 3. Define the project ID */ +#define FIREBASE_PROJECT_ID "PROJECT_ID" + +/* 4. Define the user Email and password that alreadey registerd or added in your project */ +#define USER_EMAIL "USER_EMAIL" +#define USER_PASSWORD "USER_PASSWORD" + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +unsigned long dataMillis = 0; +int count = 0; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the api key (required) */ + config.api_key = API_KEY; + + /* Assign the user sign in credentials */ + auth.user.email = USER_EMAIL; + auth.user.password = USER_PASSWORD; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + // Limit the size of response payload to be collected in FirebaseData + fbdo.setResponseSize(2048); + + Firebase.begin(&config, &auth); + + // You can use TCP KeepAlive in FirebaseData object and tracking the server connection status, please read this for detail. + // https://github.com/mobizt/Firebase-ESP-Client#about-firebasedata-object + // fbdo.keepAlive(5, 5, 1); +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready() && (millis() - dataMillis > 60000 || dataMillis == 0)) + { + dataMillis = millis(); + count++; + + Serial.print("Commit a document (append array)... "); + + // The dyamic array of write object firebase_firestore_document_write_t. + std::vector writes; + + // A write object that will be written to the document. + struct firebase_firestore_document_write_t transform_write; + + // Set the write object write operation type. + // firebase_firestore_document_write_type_update, + // firebase_firestore_document_write_type_delete, + // firebase_firestore_document_write_type_transform + transform_write.type = firebase_firestore_document_write_type_transform; + + // Set the document path of document to write (transform) + transform_write.document_transform.transform_document_path = "test_collection/test_document"; + + // Set a transformation of a field of the document. + struct firebase_firestore_document_write_field_transforms_t field_transforms; + + // Set field path to write. + field_transforms.fieldPath = "appended_map_array"; + + // Set the transformation type. + // firebase_firestore_transform_type_set_to_server_value, + // firebase_firestore_transform_type_increment, + // firebase_firestore_transform_type_maaximum, + // firebase_firestore_transform_type_minimum, + // firebase_firestore_transform_type_append_missing_elements, + // firebase_firestore_transform_type_remove_all_from_array + field_transforms.transform_type = firebase_firestore_transform_type_append_missing_elements; + + // For the usage of FirebaseJson, see examples/FirebaseJson/BasicUsage/Create_Edit_Parse/Create_Edit_Parse.ino + FirebaseJson content; + + content.set("values/[0]/mapValue/fields/id/stringValue", "item" + String(count)); + content.set("values/[0]/mapValue/fields/status/booleanValue", count % 2 == 0); + + // Set the transformation content. + field_transforms.transform_content = content.raw(); + + // Add a field transformation object to a write object. + transform_write.document_transform.field_transforms.push_back(field_transforms); + + // Add a write object to a write array. + writes.push_back(transform_write); + + if (Firebase.Firestore.commitDocument(&fbdo, FIREBASE_PROJECT_ID, "" /* databaseId can be (default) or empty */, writes /* dynamic array of firebase_firestore_document_write_t */, "" /* transaction */)) + Serial.printf("ok\n%s\n\n", fbdo.payload().c_str()); + else + Serial.println(fbdo.errorReason()); + } +} diff --git a/examples/Firestore/CommitDocument/AppendMapValueTimestamp/AppendMapValueTimestamp.ino b/examples/Firestore/CommitDocument/AppendMapValueTimestamp/AppendMapValueTimestamp.ino new file mode 100644 index 000000000..f178e8477 --- /dev/null +++ b/examples/Firestore/CommitDocument/AppendMapValueTimestamp/AppendMapValueTimestamp.ino @@ -0,0 +1,208 @@ + +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +// This example shows how to append new value with server timestamp to a map field usng commit. This operation required Email/password, custom or OAUth2.0 authentication. + +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/* 2. Define the API Key */ +#define API_KEY "API_KEY" + +/* 3. Define the project ID */ +#define FIREBASE_PROJECT_ID "PROJECT_ID" + +/* 4. Define the user Email and password that alreadey registerd or added in your project */ +#define USER_EMAIL "USER_EMAIL" +#define USER_PASSWORD "USER_PASSWORD" + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +unsigned long dataMillis = 0; +int count = 0; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the api key (required) */ + config.api_key = API_KEY; + + /* Assign the user sign in credentials */ + auth.user.email = USER_EMAIL; + auth.user.password = USER_PASSWORD; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + // Limit the size of response payload to be collected in FirebaseData + fbdo.setResponseSize(2048); + + Firebase.begin(&config, &auth); + + // You can use TCP KeepAlive in FirebaseData object and tracking the server connection status, please read this for detail. + // https://github.com/mobizt/Firebase-ESP-Client#about-firebasedata-object + // fbdo.keepAlive(5, 5, 1); +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready() && (millis() - dataMillis > 60000 || dataMillis == 0)) + { + dataMillis = millis(); + count++; + + Serial.print("Commit a document (append map value in document)... "); + + // The dyamic array of write object firebase_firestore_document_write_t. + std::vector writes; + + // A write object that will be written to the document. + struct firebase_firestore_document_write_t update_write; + + // Set the write object write operation type. + // firebase_firestore_document_write_type_update, + // firebase_firestore_document_write_type_delete, + // firebase_firestore_document_write_type_transform + update_write.type = firebase_firestore_document_write_type_update; + + // Set the document content to write (transform) + + FirebaseJson content; + String documentPath = "test_collection/test_document_map_value_timestamp"; + + content.set("fields/myMap/mapValue/fields/key" + String(count) + "/mapValue/fields/name/stringValue", "value" + String(count)); + content.set("fields/myMap/mapValue/fields/key" + String(count) + "/mapValue/fields/count/stringValue", String(count)); + // Set the update document content + update_write.update_document_content = content.raw(); + + update_write.update_masks = "myMap.key" + String(count); + + // Set the update document path + update_write.update_document_path = documentPath.c_str(); + + // Add a write object to a write array. + writes.push_back(update_write); + + // A write object that will be written to the document. + struct firebase_firestore_document_write_t transform_write; + + // Set the write object write operation type. + // firebase_firestore_document_write_type_update, + // firebase_firestore_document_write_type_delete, + // firebase_firestore_document_write_type_transform + transform_write.type = firebase_firestore_document_write_type_transform; + + // Set the document path of document to write (transform) + transform_write.document_transform.transform_document_path = documentPath; + + // Set a transformation of a field of the document. + struct firebase_firestore_document_write_field_transforms_t field_transforms; + + // Set field path to write. + field_transforms.fieldPath = "myMap.key" + String(count) + ".timestamp"; + + // Set the transformation type. + // firebase_firestore_transform_type_set_to_server_value, + // firebase_firestore_transform_type_increment, + // firebase_firestore_transform_type_maaximum, + // firebase_firestore_transform_type_minimum, + // firebase_firestore_transform_type_append_missing_elements, + // firebase_firestore_transform_type_remove_all_from_array + field_transforms.transform_type = firebase_firestore_transform_type_set_to_server_value; + + // Set the transformation content, server value for this case. + // See https://firebase.google.com/docs/firestore/reference/rest/v1/Write#servervalue + field_transforms.transform_content = "REQUEST_TIME"; // set timestamp to timestamp field + + // Add a field transformation object to a write object. + transform_write.document_transform.field_transforms.push_back(field_transforms); + + // Add a write object to a write array. + writes.push_back(transform_write); + + if (Firebase.Firestore.commitDocument(&fbdo, FIREBASE_PROJECT_ID, "" /* databaseId can be (default) or empty */, writes /* dynamic array of firebase_firestore_document_write_t */, "" /* transaction */)) + Serial.printf("ok\n%s\n\n", fbdo.payload().c_str()); + else + Serial.println(fbdo.errorReason()); + } +} diff --git a/examples/Firestore/CommitDocument/IncrementFieldValue/IncrementFieldValue.ino b/examples/Firestore/CommitDocument/IncrementFieldValue/IncrementFieldValue.ino new file mode 100644 index 000000000..39cb24ff8 --- /dev/null +++ b/examples/Firestore/CommitDocument/IncrementFieldValue/IncrementFieldValue.ino @@ -0,0 +1,184 @@ + +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +// This example shows how to increase the value at document field. This operation required Email/password, custom or OAUth2.0 authentication. + +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/* 2. Define the API Key */ +#define API_KEY "API_KEY" + +/* 3. Define the project ID */ +#define FIREBASE_PROJECT_ID "PROJECT_ID" + +/* 4. Define the user Email and password that alreadey registerd or added in your project */ +#define USER_EMAIL "USER_EMAIL" +#define USER_PASSWORD "USER_PASSWORD" + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +unsigned long dataMillis = 0; +int count = 0; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the api key (required) */ + config.api_key = API_KEY; + + /* Assign the user sign in credentials */ + auth.user.email = USER_EMAIL; + auth.user.password = USER_PASSWORD; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + // Limit the size of response payload to be collected in FirebaseData + fbdo.setResponseSize(2048); + + Firebase.begin(&config, &auth); + + // You can use TCP KeepAlive in FirebaseData object and tracking the server connection status, please read this for detail. + // https://github.com/mobizt/Firebase-ESP-Client#about-firebasedata-object + // fbdo.keepAlive(5, 5, 1); +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready() && (millis() - dataMillis > 20 || dataMillis == 0)) + { + dataMillis = millis(); + + Serial.print("Commit a document (field value increment)... "); + + // The dyamic array of write object firebase_firestore_document_write_t. + std::vector writes; + + // A write object that will be written to the document. + struct firebase_firestore_document_write_t transform_write; + + // Set the write object write operation type. + // firebase_firestore_document_write_type_update, + // firebase_firestore_document_write_type_delete, + // firebase_firestore_document_write_type_transform + transform_write.type = firebase_firestore_document_write_type_transform; + + // Set the document path of document to write (transform) + transform_write.document_transform.transform_document_path = "test_collection/test_document"; + + // Set a transformation of a field of the document. + struct firebase_firestore_document_write_field_transforms_t field_transforms; + + // Set field path to write. + field_transforms.fieldPath = "counter"; + + // Set the transformation type. + // firebase_firestore_transform_type_set_to_server_value, + // firebase_firestore_transform_type_increment, + // firebase_firestore_transform_type_maaximum, + // firebase_firestore_transform_type_minimum, + // firebase_firestore_transform_type_append_missing_elements, + // firebase_firestore_transform_type_remove_all_from_array + field_transforms.transform_type = firebase_firestore_transform_type_increment; + + // For the usage of FirebaseJson, see examples/FirebaseJson/BasicUsage/Create_Edit_Parse/Create_Edit_Parse.ino + FirebaseJson values; + + values.set("integerValue", "1"); // increase by 1 + + // Set the values of field + field_transforms.transform_content = values.raw(); + + // Add a field transformation object to a write object. + transform_write.document_transform.field_transforms.push_back(field_transforms); + + // Add a write object to a write array. + writes.push_back(transform_write); + + if (Firebase.Firestore.commitDocumentAsync(&fbdo, FIREBASE_PROJECT_ID, "" /* databaseId can be (default) or empty */, writes /* dynamic array of firebase_firestore_document_write_t */, "" /* transaction */)) + Serial.println("ok"); + else + Serial.println(fbdo.errorReason()); + } +} \ No newline at end of file diff --git a/examples/Firestore/CommitDocument/SetUpdateDelete/SetUpdateDelete.ino b/examples/Firestore/CommitDocument/SetUpdateDelete/SetUpdateDelete.ino new file mode 100644 index 000000000..82d66f467 --- /dev/null +++ b/examples/Firestore/CommitDocument/SetUpdateDelete/SetUpdateDelete.ino @@ -0,0 +1,253 @@ + +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +// This example shows how to set the server value (timestamp) to document field, update and dellete the document. This operation required Email/password, custom or OAUth2.0 authentication. + +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/* 2. Define the API Key */ +#define API_KEY "API_KEY" + +/* 3. Define the project ID */ +#define FIREBASE_PROJECT_ID "PROJECT_ID" + +/* 4. Define the user Email and password that alreadey registerd or added in your project */ +#define USER_EMAIL "USER_EMAIL" +#define USER_PASSWORD "USER_PASSWORD" + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +unsigned long dataMillis = 0; +int count = 0; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the api key (required) */ + config.api_key = API_KEY; + + /* Assign the user sign in credentials */ + auth.user.email = USER_EMAIL; + auth.user.password = USER_PASSWORD; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + // Limit the size of response payload to be collected in FirebaseData + fbdo.setResponseSize(2048); + + Firebase.begin(&config, &auth); + + // You can use TCP KeepAlive in FirebaseData object and tracking the server connection status, please read this for detail. + // https://github.com/mobizt/Firebase-ESP-Client#about-firebasedata-object + // fbdo.keepAlive(5, 5, 1); +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready() && (millis() - dataMillis > 60000 || dataMillis == 0)) + { + dataMillis = millis(); + count++; + + Serial.print("Commit a document (set server value, update document)... "); + + // The dyamic array of write object firebase_firestore_document_write_t. + std::vector writes; + + // A write object that will be written to the document. + struct firebase_firestore_document_write_t transform_write; + + // Set the write object write operation type. + // firebase_firestore_document_write_type_update, + // firebase_firestore_document_write_type_delete, + // firebase_firestore_document_write_type_transform + transform_write.type = firebase_firestore_document_write_type_transform; + + // Set the document path of document to write (transform) + transform_write.document_transform.transform_document_path = "test_collection/test_document"; + + // Set a transformation of a field of the document. + struct firebase_firestore_document_write_field_transforms_t field_transforms; + + // Set field path to write. + field_transforms.fieldPath = "server_time"; + + // Set the transformation type. + // firebase_firestore_transform_type_set_to_server_value, + // firebase_firestore_transform_type_increment, + // firebase_firestore_transform_type_maaximum, + // firebase_firestore_transform_type_minimum, + // firebase_firestore_transform_type_append_missing_elements, + // firebase_firestore_transform_type_remove_all_from_array + field_transforms.transform_type = firebase_firestore_transform_type_set_to_server_value; + + // Set the transformation content, server value for this case. + // See https://firebase.google.com/docs/firestore/reference/rest/v1/Write#servervalue + field_transforms.transform_content = "REQUEST_TIME"; // set timestamp to "test_collection/test_document/server_time" + + // Add a field transformation object to a write object. + transform_write.document_transform.field_transforms.push_back(field_transforms); + + // Add a write object to a write array. + writes.push_back(transform_write); + + ////////////////////////////// + // Add another write for update + + /* + + //A write object that will be written to the document. + struct firebase_firestore_document_write_t update_write; + + //Set the write object write operation type. + //firebase_firestore_document_write_type_update, + //firebase_firestore_document_write_type_delete, + //firebase_firestore_document_write_type_transform + update_write.type = firebase_firestore_document_write_type_update; + + //Set the document content to write (transform) + + FirebaseJson content; + String documentPath = "test_collection/d" + String(count); + + content.set("fields/count/integerValue", String(count).c_str()); + content.set("fields/random/integerValue", String(rand()).c_str()); + content.set("fields/status/booleanValue", count % 2 == 0); + + //Set the update document content + update_write.update_document_content = content.raw(); + + //Set the update document path + update_write.update_document_path = documentPath.c_str(); + + //Set the document mask field paths that will be updated + //Use comma to separate between the field paths + //update_write.update_masks = "count,random"; + + + //Set the precondition write on the document. + //The write will fail if this is set and not met by the target document. + //Th properties for update_write.current_document should set only one from exists or update_time + //update_write.current_document.exists = "true"; + //update_write.current_document.update_time = "2021-05-02T15:01:23Z"; + + + //Add a write object to a write array. + writes.push_back(update_write); + + */ + + ////////////////////////////// + // Add another write for delete + + /* + + //A write object that will be written to the document. + struct firebase_firestore_document_write_t delete_write; + + //Set the write object write operation type. + //firebase_firestore_document_write_type_update, + //firebase_firestore_document_write_type_delete, + //firebase_firestore_document_write_type_transform + delete_write.type = firebase_firestore_document_write_type_delete; + + String documentPath = "test_collection/d" + String(count); + + //Set the update document content + delete_write.delete_document_path = documentPath.c_str(); + + //don't apply any document mask for delete operation write. + + //Add a write object to a write array. + writes.push_back(delete_write); + + */ + + if (Firebase.Firestore.commitDocument(&fbdo, FIREBASE_PROJECT_ID, "" /* databaseId can be (default) or empty */, writes /* dynamic array of firebase_firestore_document_write_t */, "" /* transaction */)) + Serial.printf("ok\n%s\n\n", fbdo.payload().c_str()); + else + Serial.println(fbdo.errorReason()); + } +} diff --git a/examples/Firestore/CreateDocuments/CreateDocuments.ino b/examples/Firestore/CreateDocuments/CreateDocuments.ino new file mode 100644 index 000000000..ab602f897 --- /dev/null +++ b/examples/Firestore/CreateDocuments/CreateDocuments.ino @@ -0,0 +1,223 @@ + +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +// This example shows how to create a document in a document collection. This operation required Email/password, custom or OAUth2.0 authentication. + +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/* 2. Define the API Key */ +#define API_KEY "API_KEY" + +/* 3. Define the project ID */ +#define FIREBASE_PROJECT_ID "PROJECT_ID" + +/* 4. Define the user Email and password that alreadey registerd or added in your project */ +#define USER_EMAIL "USER_EMAIL" +#define USER_PASSWORD "USER_PASSWORD" + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +unsigned long dataMillis = 0; +int count = 0; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +// The Firestore payload upload callback function +void fcsUploadCallback(CFS_UploadStatusInfo info) +{ + if (info.status == firebase_cfs_upload_status_init) + { + Serial.printf("\nUploading data (%d)...\n", info.size); + } + else if (info.status == firebase_cfs_upload_status_upload) + { + Serial.printf("Uploaded %d%s\n", (int)info.progress, "%"); + } + else if (info.status == firebase_cfs_upload_status_complete) + { + Serial.println("Upload completed "); + } + else if (info.status == firebase_cfs_upload_status_process_response) + { + Serial.print("Processing the response... "); + } + else if (info.status == firebase_cfs_upload_status_error) + { + Serial.printf("Upload failed, %s\n", info.errorMsg.c_str()); + } +} + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the api key (required) */ + config.api_key = API_KEY; + + /* Assign the user sign in credentials */ + auth.user.email = USER_EMAIL; + auth.user.password = USER_PASSWORD; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + // Limit the size of response payload to be collected in FirebaseData + fbdo.setResponseSize(2048); + + Firebase.begin(&config, &auth); + + // For sending payload callback + // config.cfs.upload_callback = fcsUploadCallback; + + // You can use TCP KeepAlive in FirebaseData object and tracking the server connection status, please read this for detail. + // https://github.com/mobizt/Firebase-ESP-Client#about-firebasedata-object + // fbdo.keepAlive(5, 5, 1); +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready() && (millis() - dataMillis > 60000 || dataMillis == 0)) + { + dataMillis = millis(); + + // For the usage of FirebaseJson, see examples/FirebaseJson/BasicUsage/Create_Edit_Parse/Create_Edit_Parse.ino + FirebaseJson content; + + // Note: If new document created under non-existent ancestor documents, that document will not appear in queries and snapshot + // https://cloud.google.com/firestore/docs/using-console#non-existent_ancestor_documents. + + // We will create the document in the parent path "a0/b? + // a0 is the collection id, b? is the document id in collection a0. + + String documentPath = "a0/b" + String(count); + + // If the document path contains space e.g. "a b c/d e f" + // It should encode the space as %20 then the path will be "a%20b%20c/d%20e%20f" + + // double + content.set("fields/myDouble/doubleValue", random(1, 500) / 100.0); + + // boolean + content.set("fields/myBool/booleanValue", true); + + // integer + content.set("fields/myInteger/integerValue", String(random(500, 1000))); + + // null + content.set("fields/myNull/nullValue"); // no value set + + String doc_path = "projects/"; + doc_path += FIREBASE_PROJECT_ID; + doc_path += "/databases/(default)/documents/coll_id/doc_id"; // coll_id and doc_id are your collection id and document id + + // reference + content.set("fields/myRef/referenceValue", doc_path.c_str()); + + // timestamp + content.set("fields/myTimestamp/timestampValue", "2014-10-02T15:01:23Z"); // RFC3339 UTC "Zulu" format + + // bytes + content.set("fields/myBytes/bytesValue", "aGVsbG8="); // base64 encoded + + // array + content.set("fields/myArray/arrayValue/values/[0]/stringValue", "test"); + content.set("fields/myArray/arrayValue/values/[1]/integerValue", "20"); + content.set("fields/myArray/arrayValue/values/[2]/booleanValue", true); + + // map + content.set("fields/myMap/mapValue/fields/name/stringValue", "wrench"); + content.set("fields/myMap/mapValue/fields/mass/stringValue", "1.3kg"); + content.set("fields/myMap/mapValue/fields/count/integerValue", "3"); + + // lat long + content.set("fields/myLatLng/geoPointValue/latitude", 1.486284); + content.set("fields/myLatLng/geoPointValue/longitude", 23.678198); + + count++; + + Serial.print("Create a document... "); + + if (Firebase.Firestore.createDocument(&fbdo, FIREBASE_PROJECT_ID, "" /* databaseId can be (default) or empty */, documentPath.c_str(), content.raw())) + Serial.printf("ok\n%s\n\n", fbdo.payload().c_str()); + else + Serial.println(fbdo.errorReason()); + } +} diff --git a/examples/Firestore/DataQuery/DataQuery.ino b/examples/Firestore/DataQuery/DataQuery.ino new file mode 100644 index 000000000..2c624dbce --- /dev/null +++ b/examples/Firestore/DataQuery/DataQuery.ino @@ -0,0 +1,165 @@ + +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +// This example shows how to run a query. This operation required Email/password, custom or OAUth2.0 authentication. + +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/* 2. Define the API Key */ +#define API_KEY "API_KEY" + +/* 3. Define the project ID */ +#define FIREBASE_PROJECT_ID "PROJECT_ID" + +/* 4. Define the user Email and password that alreadey registerd or added in your project */ +#define USER_EMAIL "USER_EMAIL" +#define USER_PASSWORD "USER_PASSWORD" + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +unsigned long dataMillis = 0; +int count = 0; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the project host and api key (required) */ + config.api_key = API_KEY; + + /* Assign the user sign in credentials */ + auth.user.email = USER_EMAIL; + auth.user.password = USER_PASSWORD; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + // Limit the size of response payload to be collected in FirebaseData + fbdo.setResponseSize(2048); + + Firebase.begin(&config, &auth); + + // You can use TCP KeepAlive in FirebaseData object and tracking the server connection status, please read this for detail. + // https://github.com/mobizt/Firebase-ESP-Client#about-firebasedata-object + // fbdo.keepAlive(5, 5, 1); +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready() && (millis() - dataMillis > 60000 || dataMillis == 0)) + { + dataMillis = millis(); + + Serial.print("Query a Firestore database... "); + + // If you have run the CreateDocuments example, the document b0 (in collection a0) contains the document collection c0, and + // c0 contains the collections d?. + + // The following query will query at collection c0 to get the 3 documents in the payload result with descending order. + + // For the usage of FirebaseJson, see examples/FirebaseJson/BasicUsage/Create_Edit_Parse/Create_Edit_Parse.ino + FirebaseJson query; + + query.set("select/fields/[0]/fieldPath", "myDouble"); + query.set("select/fields/[1]/fieldPath", "myInteger"); + // query.set("select/fields/[2]/fieldPath", "myTimestamp"); + + query.set("from/collectionId", "a0"); + query.set("from/allDescendants", false); + query.set("orderBy/field/fieldPath", "myInteger"); + query.set("orderBy/direction", "DESCENDING"); + query.set("limit", 3); + + // The consistencyMode and consistency arguments are not assigned + // The consistencyMode is set to fb_esp_firestore_consistency_mode_undefined by default. + // The arguments is the consistencyMode value, see the function description at + // https://github.com/mobizt/Firebase-ESP-Client/tree/main/src#runs-a-query + + // Note that in this case the document path is the root ("/") because the collection a0 is at the root. + + if (Firebase.Firestore.runQuery(&fbdo, FIREBASE_PROJECT_ID, "" /* databaseId can be (default) or empty */, "/" /* The document path */, &query /* The FirebaseJson object holds the StructuredQuery data */)) + Serial.printf("ok\n%s\n\n", fbdo.payload().c_str()); + else + Serial.println(fbdo.errorReason()); + } +} diff --git a/examples/Firestore/DeleteDocument/DeleteDocument.ino b/examples/Firestore/DeleteDocument/DeleteDocument.ino new file mode 100644 index 000000000..870fcd47d --- /dev/null +++ b/examples/Firestore/DeleteDocument/DeleteDocument.ino @@ -0,0 +1,158 @@ + +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +// This example shows how to delete a document from a document collection. This operation required Email/password, custom or OAUth2.0 authentication. + +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/* 2. Define the API Key */ +#define API_KEY "API_KEY" + +/* 3. Define the project ID */ +#define FIREBASE_PROJECT_ID "PROJECT_ID" + +/* 4. Define the user Email and password that alreadey registerd or added in your project */ +#define USER_EMAIL "USER_EMAIL" +#define USER_PASSWORD "USER_PASSWORD" + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +bool taskCompleted = false; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the api key (required) */ + config.api_key = API_KEY; + + /* Assign the user sign in credentials */ + auth.user.email = USER_EMAIL; + auth.user.password = USER_PASSWORD; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + // Limit the size of response payload to be collected in FirebaseData + fbdo.setResponseSize(2048); + + Firebase.begin(&config, &auth); + + // You can use TCP KeepAlive in FirebaseData object and tracking the server connection status, please read this for detail. + // https://github.com/mobizt/Firebase-ESP-Client#about-firebasedata-object + // fbdo.keepAlive(5, 5, 1); +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready() && !taskCompleted) + { + taskCompleted = true; + + // For the usage of FirebaseJson, see examples/FirebaseJson/BasicUsage/Create_Edit_Parse/Create_Edit_Parse.ino + FirebaseJson content; + + // aa is the collection id, bb is the document id in collection aa. + String documentPath = "aa/bb"; + + // If the document path contains space e.g. "a b c/d e f" + // It should encode the space as %20 then the path will be "a%20b%20c/d%20e%20f" + + content.set("fields/v1/integerValue", "12345"); + content.set("fields/v2/doubleValue", 123.456); + + Serial.print("Create a document... "); + + if (Firebase.Firestore.createDocument(&fbdo, FIREBASE_PROJECT_ID, "" /* databaseId can be (default) or empty */, documentPath.c_str(), content.raw())) + Serial.printf("ok\n%s\n\n", fbdo.payload().c_str()); + else + Serial.println(fbdo.errorReason()); + + Serial.print("Delete a document... "); + + if (Firebase.Firestore.deleteDocument(&fbdo, FIREBASE_PROJECT_ID, "" /* databaseId can be (default) or empty */, documentPath.c_str())) + Serial.printf("ok\n%s\n\n", fbdo.payload().c_str()); + else + Serial.println(fbdo.errorReason()); + } +} diff --git a/examples/Firestore/ExportDocuments/ExportDocuments.ino b/examples/Firestore/ExportDocuments/ExportDocuments.ino new file mode 100644 index 000000000..ddd08181f --- /dev/null +++ b/examples/Firestore/ExportDocuments/ExportDocuments.ino @@ -0,0 +1,148 @@ + +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +/** Prerequisite + * IAM owner permission required for service account, + * https://github.com/mobizt/Firebase-ESP-Client#iam-permission-and-api-enable + */ + +// This example shows how to export the documents to the Firebase Storage Bucket. This operation required OAUth2.0 authentication. + +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/** 2. Define the Service Account credentials (required for token generation) + * + * This information can be taken from the service account JSON file. + * + * To download service account file, from the Firebase console, goto project settings, + * select "Service accounts" tab and click at "Generate new private key" button + */ +#define FIREBASE_PROJECT_ID "PROJECT_ID" +#define FIREBASE_CLIENT_EMAIL "CLIENT_EMAIL" +const char PRIVATE_KEY[] PROGMEM = "-----BEGIN PRIVATE KEY-----XXXXXXXXXXXX-----END PRIVATE KEY-----\n"; + +/* 3. Define the Firebase storage bucket ID e.g bucket-name.appspot.com */ +#define STORAGE_BUCKET_ID "BUCKET-NAME.appspot.com" + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +bool taskCompleted = false; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the user sign in credentials */ + config.service_account.data.client_email = FIREBASE_CLIENT_EMAIL; + config.service_account.data.project_id = FIREBASE_PROJECT_ID; + config.service_account.data.private_key = PRIVATE_KEY; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + // Limit the size of response payload to be collected in FirebaseData + fbdo.setResponseSize(2048); + + Firebase.begin(&config, &auth); + + // You can use TCP KeepAlive in FirebaseData object and tracking the server connection status, please read this for detail. + // https://github.com/mobizt/Firebase-ESP-Client#about-firebasedata-object + // fbdo.keepAlive(5, 5, 1); +} + +void loop() +{ + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready() && !taskCompleted) + { + taskCompleted = true; + + Serial.print("Export documents to the Storage bucket... "); + + // This required the Owner and Editor permissions for the account. + // See how to add permission here, https://github.com/mobizt/Firebase-ESP-Client#iam-permission-and-api-enable + + if (Firebase.Firestore.exportDocuments(&fbdo, FIREBASE_PROJECT_ID, "" /* databaseId can be (default) or empty */, STORAGE_BUCKET_ID, "test_path" /* The path in the Firebase Storage bucket to store the data */, "" /* Which collection ids to export. Unspecified means all collections. */)) + Serial.printf("ok\n%s\n\n", fbdo.payload().c_str()); + else + Serial.println(fbdo.errorReason()); + } +} diff --git a/examples/Firestore/GetDocument/GetDocument.ino b/examples/Firestore/GetDocument/GetDocument.ino new file mode 100644 index 000000000..029c10c03 --- /dev/null +++ b/examples/Firestore/GetDocument/GetDocument.ino @@ -0,0 +1,174 @@ + +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +// This example shows how to get a document from a document collection. This operation required Email/password, custom or OAUth2.0 authentication. + +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/* 2. Define the API Key */ +#define API_KEY "API_KEY" + +/* 3. Define the project ID */ +#define FIREBASE_PROJECT_ID "PROJECT_ID" + +/* 4. Define the user Email and password that alreadey registerd or added in your project */ +#define USER_EMAIL "USER_EMAIL" +#define USER_PASSWORD "USER_PASSWORD" + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +bool taskCompleted = false; + +unsigned long dataMillis = 0; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the api key (required) */ + config.api_key = API_KEY; + + /* Assign the user sign in credentials */ + auth.user.email = USER_EMAIL; + auth.user.password = USER_PASSWORD; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + // Limit the size of response payload to be collected in FirebaseData + fbdo.setResponseSize(2048); + + Firebase.begin(&config, &auth); + + // You can use TCP KeepAlive in FirebaseData object and tracking the server connection status, please read this for detail. + // https://github.com/mobizt/Firebase-ESP-Client#about-firebasedata-object + // fbdo.keepAlive(5, 5, 1); +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready() && (millis() - dataMillis > 60000 || dataMillis == 0)) + { + dataMillis = millis(); + + if (!taskCompleted) + { + taskCompleted = true; + + // For the usage of FirebaseJson, see examples/FirebaseJson/BasicUsage/Create_Edit_Parse/Create_Edit_Parse.ino + FirebaseJson content; + + content.set("fields/Japan/mapValue/fields/time_zone/integerValue", "9"); + content.set("fields/Japan/mapValue/fields/population/integerValue", "125570000"); + + content.set("fields/Belgium/mapValue/fields/time_zone/integerValue", "1"); + content.set("fields/Belgium/mapValue/fields/population/integerValue", "11492641"); + + content.set("fields/Singapore/mapValue/fields/time_zone/integerValue", "8"); + content.set("fields/Singapore/mapValue/fields/population/integerValue", "5703600"); + + // info is the collection id, countries is the document id in collection info. + String documentPath = "info/countries"; + + Serial.print("Create document... "); + + if (Firebase.Firestore.createDocument(&fbdo, FIREBASE_PROJECT_ID, "" /* databaseId can be (default) or empty */, documentPath.c_str(), content.raw())) + Serial.printf("ok\n%s\n\n", fbdo.payload().c_str()); + else + Serial.println(fbdo.errorReason()); + } + + String documentPath = "info/countries"; + String mask = "Singapore"; + + // If the document path contains space e.g. "a b c/d e f" + // It should encode the space as %20 then the path will be "a%20b%20c/d%20e%20f" + + Serial.print("Get a document... "); + + if (Firebase.Firestore.getDocument(&fbdo, FIREBASE_PROJECT_ID, "", documentPath.c_str(), mask.c_str())) + Serial.printf("ok\n%s\n\n", fbdo.payload().c_str()); + else + Serial.println(fbdo.errorReason()); + } +} diff --git a/examples/Firestore/ImportDocuments/ImportDocuments.ino b/examples/Firestore/ImportDocuments/ImportDocuments.ino new file mode 100644 index 000000000..7c3604076 --- /dev/null +++ b/examples/Firestore/ImportDocuments/ImportDocuments.ino @@ -0,0 +1,149 @@ + +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +/** Prerequisite + * IAM owner permission required for service account, + * https://github.com/mobizt/Firebase-ESP-Client#iam-permission-and-api-enable + */ + +// This example shows how to import the documents from the Firebase Storage Bucket. This operation required OAUth2.0 authentication. + +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/** 2. Define the Service Account credentials (required for token generation) + * + * This information can be taken from the service account JSON file. + * + * To download service account file, from the Firebase console, goto project settings, + * select "Service accounts" tab and click at "Generate new private key" button + */ +#define FIREBASE_PROJECT_ID "PROJECT_ID" +#define FIREBASE_CLIENT_EMAIL "CLIENT_EMAIL" +const char PRIVATE_KEY[] PROGMEM = "-----BEGIN PRIVATE KEY-----XXXXXXXXXXXX-----END PRIVATE KEY-----\n"; + +/* 3. Define the Firebase storage bucket ID e.g bucket-name.appspot.com */ +#define STORAGE_BUCKET_ID "BUCKET-NAME.appspot.com" + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +bool taskCompleted = false; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the user sign in credentials */ + config.service_account.data.client_email = FIREBASE_CLIENT_EMAIL; + config.service_account.data.project_id = FIREBASE_PROJECT_ID; + config.service_account.data.private_key = PRIVATE_KEY; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + // Limit the size of response payload to be collected in FirebaseData + fbdo.setResponseSize(2048); + + Firebase.begin(&config, &auth); + + // You can use TCP KeepAlive in FirebaseData object and tracking the server connection status, please read this for detail. + // https://github.com/mobizt/Firebase-ESP-Client#about-firebasedata-object + // fbdo.keepAlive(5, 5, 1); +} + +void loop() +{ + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready() && !taskCompleted) + { + taskCompleted = true; + // Should run the Export_Documents.ino prior to test this example to export the database to the Storage bucket at test_path folder + + Serial.print("Import documents from the Storage bucket... "); + + // This required the Owner and Editor permissions for the account. + // See how to add permission here, https://github.com/mobizt/Firebase-ESP-Client#iam-permission-and-api-enable + + if (Firebase.Firestore.importDocuments(&fbdo, FIREBASE_PROJECT_ID, "" /* databaseId can be (default) or empty */, STORAGE_BUCKET_ID, "test_path" /* The path in the Firebase Storage bucket to store the data */, "" /* Which collection ids to import. Unspecified means all collections. */)) + Serial.printf("ok\n%s\n\n", fbdo.payload().c_str()); + else + Serial.println(fbdo.errorReason()); + } +} diff --git a/examples/Firestore/Indexes/CreateIndex/CreateIndex.ino b/examples/Firestore/Indexes/CreateIndex/CreateIndex.ino new file mode 100644 index 000000000..1a8fa63a3 --- /dev/null +++ b/examples/Firestore/Indexes/CreateIndex/CreateIndex.ino @@ -0,0 +1,177 @@ + +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +// This example will show how to create the specified index to the fields in a collection. +// This operation required OAUth2.0 authentication. + +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +// Provide the RTDB payload printing info and other helper functions. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/** 2. Define the API key + * + * The API key can be obtained since you created the project and set up + * the Authentication in Firebase console. + * + * You may need to enable the Identity provider at https://console.cloud.google.com/customer-identity/providers + * Select your project, click at ENABLE IDENTITY PLATFORM button. + * The API key also available by click at the link APPLICATION SETUP DETAILS. + * + */ +#define API_KEY "API_KEY" + +/** 3. Define the Service Account credentials (required for token generation) + * + * This information can be taken from the service account JSON file. + * + * To download service account file, from the Firebase console, goto project settings, + * select "Service accounts" tab and click at "Generate new private key" button + */ +#define FIREBASE_PROJECT_ID "PROJECT_ID" +#define FIREBASE_CLIENT_EMAIL "CLIENT_EMAIL" +const char PRIVATE_KEY[] PROGMEM = "-----BEGIN PRIVATE KEY-----XXXXXXXXXXXX-----END PRIVATE KEY-----\n"; + +/* 4. Define the Firebase Data object */ +FirebaseData fbdo; + +/* 5. Define the FirebaseAuth data for authentication data */ +FirebaseAuth auth; + +/* 6. Define the FirebaseConfig data for config data */ +FirebaseConfig config; + +bool taskCompleted = false; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the api key (required) */ + config.api_key = API_KEY; + + /* Assign the sevice account credentials and private key (required) */ + config.service_account.data.client_email = FIREBASE_CLIENT_EMAIL; + config.service_account.data.project_id = FIREBASE_PROJECT_ID; + config.service_account.data.private_key = PRIVATE_KEY; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + fbdo.setResponseSize(4096); + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + Firebase.begin(&config, &auth); + + // You can use TCP KeepAlive in FirebaseData object and tracking the server connection status, please read this for detail. + // https://github.com/mobizt/Firebase-ESP-Client#about-firebasedata-object + // fbdo.keepAlive(5, 5, 1); +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + if (Firebase.ready() && !taskCompleted) + { + taskCompleted = true; + + FirebaseJsonArray fields; + fields.set("/[0]/fieldPath", "myArray"); + fields.set("/[0]/arrayConfig", "CONTAINS"); + + fields.set("/[1]/fieldPath", "myField"); + fields.set("/[1]/order", "ASCENDING"); + + Serial.print("Create index... "); + if (Firebase.Firestore.createIndex(&fbdo, FIREBASE_PROJECT_ID, "" /* databaseId can be (default) or empty */, "myCol" /* collectionId */, + "ANY_API" /* API mode e.g., ANY_API and DATASTORE_MODE_API */, "COLLECTION" /* queryScope */, &fields /* fields array to set index */)) + Serial.printf("ok\n%s\n\n", fbdo.payload().c_str()); + else + Serial.println(fbdo.errorReason()); + + Serial.print("List indexes... "); + if (Firebase.Firestore.listIndex(&fbdo, FIREBASE_PROJECT_ID, "" /* databaseId can be (default) or empty */, "myCol" /* collectionId */)) + Serial.printf("ok\n%s\n\n", fbdo.payload().c_str()); + else + Serial.println(fbdo.errorReason()); + + Serial.print("Get indexes... "); + if (Firebase.Firestore.getIndex(&fbdo, FIREBASE_PROJECT_ID, "" /* databaseId can be (default) or empty */, "myCol" /* collectionId */, "" /* index id to get */)) + Serial.printf("ok\n%s\n\n", fbdo.payload().c_str()); + else + Serial.println(fbdo.errorReason()); + } +} \ No newline at end of file diff --git a/examples/Firestore/Indexes/DeleteIndex/DeleteIndex.ino b/examples/Firestore/Indexes/DeleteIndex/DeleteIndex.ino new file mode 100644 index 000000000..a1f1408f0 --- /dev/null +++ b/examples/Firestore/Indexes/DeleteIndex/DeleteIndex.ino @@ -0,0 +1,157 @@ + +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +// This example will show how to delete an index. +// This operation required OAUth2.0 authentication. + +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +// Provide the RTDB payload printing info and other helper functions. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/** 2. Define the API key + * + * The API key can be obtained since you created the project and set up + * the Authentication in Firebase console. + * + * You may need to enable the Identity provider at https://console.cloud.google.com/customer-identity/providers + * Select your project, click at ENABLE IDENTITY PLATFORM button. + * The API key also available by click at the link APPLICATION SETUP DETAILS. + * + */ +#define API_KEY "API_KEY" + +/** 3. Define the Service Account credentials (required for token generation) + * + * This information can be taken from the service account JSON file. + * + * To download service account file, from the Firebase console, goto project settings, + * select "Service accounts" tab and click at "Generate new private key" button + */ +#define FIREBASE_PROJECT_ID "PROJECT_ID" +#define FIREBASE_CLIENT_EMAIL "CLIENT_EMAIL" +const char PRIVATE_KEY[] PROGMEM = "-----BEGIN PRIVATE KEY-----XXXXXXXXXXXX-----END PRIVATE KEY-----\n"; + +/* 4. Define the Firebase Data object */ +FirebaseData fbdo; + +/* 5. Define the FirebaseAuth data for authentication data */ +FirebaseAuth auth; + +/* 6. Define the FirebaseConfig data for config data */ +FirebaseConfig config; + +bool taskCompleted = false; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the api key (required) */ + config.api_key = API_KEY; + + /* Assign the sevice account credentials and private key (required) */ + config.service_account.data.client_email = FIREBASE_CLIENT_EMAIL; + config.service_account.data.project_id = FIREBASE_PROJECT_ID; + config.service_account.data.private_key = PRIVATE_KEY; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + fbdo.setResponseSize(4096); + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + Firebase.begin(&config, &auth); + + // You can use TCP KeepAlive in FirebaseData object and tracking the server connection status, please read this for detail. + // https://github.com/mobizt/Firebase-ESP-Client#about-firebasedata-object + // fbdo.keepAlive(5, 5, 1); +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + if (Firebase.ready() && !taskCompleted) + { + taskCompleted = true; + + Serial.print("Delete index... "); + if (Firebase.Firestore.deleteIndex(&fbdo, FIREBASE_PROJECT_ID, "" /* databaseId can be (default) or empty */, "" /* index id to delete */)) + Serial.printf("ok\n%s\n\n", fbdo.payload().c_str()); + else + Serial.println(fbdo.errorReason()); + } +} \ No newline at end of file diff --git a/examples/Firestore/ListCollectionIds/ListCollectionIds.ino b/examples/Firestore/ListCollectionIds/ListCollectionIds.ino new file mode 100644 index 000000000..cc6cd9f7d --- /dev/null +++ b/examples/Firestore/ListCollectionIds/ListCollectionIds.ino @@ -0,0 +1,146 @@ + +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +/** Prerequisite + * IAM owner permission required for service account, + * https://github.com/mobizt/Firebase-ESP-Client#iam-permission-and-api-enable + */ + +// This example shows how to list the CollectionIds from a document. This operation required OAUth2.0 authentication. + +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/** 2. Define the Service Account credentials (required for token generation) + * + * This information can be taken from the service account JSON file. + * + * To download service account file, from the Firebase console, goto project settings, + * select "Service accounts" tab and click at "Generate new private key" button + */ +#define FIREBASE_PROJECT_ID "PROJECT_ID" +#define FIREBASE_CLIENT_EMAIL "CLIENT_EMAIL" +const char PRIVATE_KEY[] PROGMEM = "-----BEGIN PRIVATE KEY-----XXXXXXXXXXXX-----END PRIVATE KEY-----\n"; + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +bool taskCompleted = false; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the user sign in credentials */ + config.service_account.data.client_email = FIREBASE_CLIENT_EMAIL; + config.service_account.data.project_id = FIREBASE_PROJECT_ID; + config.service_account.data.private_key = PRIVATE_KEY; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + // Limit the size of response payload to be collected in FirebaseData + fbdo.setResponseSize(2048); + + Firebase.begin(&config, &auth); + + // You can use TCP KeepAlive in FirebaseData object and tracking the server connection status, please read this for detail. + // https://github.com/mobizt/Firebase-ESP-Client#about-firebasedata-object + // fbdo.keepAlive(5, 5, 1); +} + +void loop() +{ + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready() && !taskCompleted) + { + taskCompleted = true; + // Should run the Create_Documents.ino prior to test this example to create the documents in the collection Id at a0/b0/c0 + + // root collection + String documentPath = "/"; + + Serial.print("List CollectionIds in a document... "); + + if (Firebase.Firestore.listCollectionIds(&fbdo, FIREBASE_PROJECT_ID, "" /* databaseId can be (default) or empty */, documentPath.c_str(), 3 /* The maximum number of documents to return */, "" /* The nextPageToken value returned from a previous List request, if any. */)) + Serial.printf("ok\n%s\n\n", fbdo.payload().c_str()); + else + Serial.println(fbdo.errorReason()); + } +} diff --git a/examples/Firestore/ListDocuments/ListDocuments.ino b/examples/Firestore/ListDocuments/ListDocuments.ino new file mode 100644 index 000000000..fc2ad2529 --- /dev/null +++ b/examples/Firestore/ListDocuments/ListDocuments.ino @@ -0,0 +1,146 @@ + +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +// This example shows how to get the documents in a document collection. This operation required Email/password, custom or OAUth2.0 authentication. + +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/* 2. Define the API Key */ +#define API_KEY "API_KEY" + +/* 3. Define the project ID */ +#define FIREBASE_PROJECT_ID "PROJECT_ID" + +/* 4. Define the user Email and password that alreadey registerd or added in your project */ +#define USER_EMAIL "USER_EMAIL" +#define USER_PASSWORD "USER_PASSWORD" + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +bool taskCompleted = false; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the api key (required) */ + config.api_key = API_KEY; + + /* Assign the user sign in credentials */ + auth.user.email = USER_EMAIL; + auth.user.password = USER_PASSWORD; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + // Limit the size of response payload to be collected in FirebaseData + fbdo.setResponseSize(2048); + + Firebase.begin(&config, &auth); + + // You can use TCP KeepAlive in FirebaseData object and tracking the server connection status, please read this for detail. + // https://github.com/mobizt/Firebase-ESP-Client#about-firebasedata-object + // fbdo.keepAlive(5, 5, 1); +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready() && !taskCompleted) + { + taskCompleted = true; + // Should run the Create_Documents.ino prior to test this example to create the documents in the collection Id at a0/b0/c0 + + // a0 is the collection id, b0 is the document id in collection a0 and c0 is the collection id id in the document b0. + String collectionId = "a0/b0/c0"; + + // If the collection Id path contains space e.g. "a b/c d/e f" + // It should encode the space as %20 then the collection Id will be "a%20b/c%20d/e%20f" + + Serial.print("List the documents in a collection... "); + + if (Firebase.Firestore.listDocuments(&fbdo, FIREBASE_PROJECT_ID, "" /* databaseId can be (default) or empty */, collectionId.c_str(), 3 /* The maximum number of documents to return */, "" /* The nextPageToken value returned from a previous List request, if any. */, "" /* The order to sort results by. For example: priority desc, name. */, "count" /* the field name to mask */, false /* showMissing, iIf the list should show missing documents. A missing document is a document that does not exist but has sub-documents. */)) + Serial.printf("ok\n%s\n\n", fbdo.payload().c_str()); + else + Serial.println(fbdo.errorReason()); + } +} diff --git a/examples/Firestore/PatchDocument/AppendMapValue/AppendMapValue.ino b/examples/Firestore/PatchDocument/AppendMapValue/AppendMapValue.ino new file mode 100644 index 000000000..6c19c7bb8 --- /dev/null +++ b/examples/Firestore/PatchDocument/AppendMapValue/AppendMapValue.ino @@ -0,0 +1,149 @@ + +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +// This example shows how to append new value to map field using patch. This operation required Email/password, custom or OAUth2.0 authentication. + +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/* 2. Define the API Key */ +#define API_KEY "API_KEY" + +/* 3. Define the project ID */ +#define FIREBASE_PROJECT_ID "PROJECT_ID" + +/* 4. Define the user Email and password that alreadey registerd or added in your project */ +#define USER_EMAIL "USER_EMAIL" +#define USER_PASSWORD "USER_PASSWORD" + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +unsigned long dataMillis = 0; +int count = 0; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the api key (required) */ + config.api_key = API_KEY; + + /* Assign the user sign in credentials */ + auth.user.email = USER_EMAIL; + auth.user.password = USER_PASSWORD; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + // Limit the size of response payload to be collected in FirebaseData + fbdo.setResponseSize(2048); + + Firebase.begin(&config, &auth); + + // You can use TCP KeepAlive in FirebaseData object and tracking the server connection status, please read this for detail. + // https://github.com/mobizt/Firebase-ESP-Client#about-firebasedata-object + // fbdo.keepAlive(5, 5, 1); +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready() && (millis() - dataMillis > 60000 || dataMillis == 0)) + { + dataMillis = millis(); + count++; + + // For the usage of FirebaseJson, see examples/FirebaseJson/BasicUsage/Create_Edit_Parse/Create_Edit_Parse.ino + FirebaseJson content; + + // aa is the collection id, bb is the document id. + String documentPath = "test_collection/test_document"; + + content.set("fields/myMap/mapValue/fields/key" + String(count) + "/stringValue", "value" + String(count)); + + Serial.print("Update a document... "); + + if (Firebase.Firestore.patchDocument(&fbdo, FIREBASE_PROJECT_ID, "" /* databaseId can be (default) or empty */, documentPath.c_str(), content.raw(), "myMap.key" + String(count) /* updateMask */)) + Serial.printf("ok\n%s\n\n", fbdo.payload().c_str()); + else + Serial.println(fbdo.errorReason()); + } +} diff --git a/examples/Firestore/PatchDocument/UpdateDocument/UpdateDocument.ino b/examples/Firestore/PatchDocument/UpdateDocument/UpdateDocument.ino new file mode 100644 index 000000000..5c52a6d1d --- /dev/null +++ b/examples/Firestore/PatchDocument/UpdateDocument/UpdateDocument.ino @@ -0,0 +1,176 @@ + +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +// This example shows how to patch or update a document in a document collection. This operation required Email/password, custom or OAUth2.0 authentication. + +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/* 2. Define the API Key */ +#define API_KEY "API_KEY" + +/* 3. Define the project ID */ +#define FIREBASE_PROJECT_ID "PROJECT_ID" + +/* 4. Define the user Email and password that alreadey registerd or added in your project */ +#define USER_EMAIL "USER_EMAIL" +#define USER_PASSWORD "USER_PASSWORD" + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +unsigned long dataMillis = 0; +int count = 0; + +bool taskcomplete = false; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the api key (required) */ + config.api_key = API_KEY; + + /* Assign the user sign in credentials */ + auth.user.email = USER_EMAIL; + auth.user.password = USER_PASSWORD; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + // Limit the size of response payload to be collected in FirebaseData + fbdo.setResponseSize(2048); + + Firebase.begin(&config, &auth); + + // You can use TCP KeepAlive in FirebaseData object and tracking the server connection status, please read this for detail. + // https://github.com/mobizt/Firebase-ESP-Client#about-firebasedata-object + // fbdo.keepAlive(5, 5, 1); +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready() && (millis() - dataMillis > 60000 || dataMillis == 0)) + { + dataMillis = millis(); + + // For the usage of FirebaseJson, see examples/FirebaseJson/BasicUsage/Create_Edit_Parse/Create_Edit_Parse.ino + FirebaseJson content; + + // aa is the collection id, bb is the document id. + String documentPath = "aa/bb"; + + // If the document path contains space e.g. "a b c/d e f" + // It should encode the space as %20 then the path will be "a%20b%20c/d%20e%20f" + + if (!taskcomplete) + { + taskcomplete = true; + + content.clear(); + content.set("fields/count/integerValue", String(count).c_str()); + content.set("fields/status/booleanValue", count % 2 == 0); + + Serial.print("Create a document... "); + + if (Firebase.Firestore.createDocument(&fbdo, FIREBASE_PROJECT_ID, "" /* databaseId can be (default) or empty */, documentPath.c_str(), content.raw())) + Serial.printf("ok\n%s\n\n", fbdo.payload().c_str()); + else + Serial.println(fbdo.errorReason()); + } + + count++; + content.clear(); + content.set("fields/count/integerValue", String(count).c_str()); + content.set("fields/status/booleanValue", count % 2 == 0); + + Serial.print("Update a document... "); + + /** if updateMask contains the field name that exists in the remote document and + * this field name does not exist in the document (content), that field will be deleted from remote document + */ + + if (Firebase.Firestore.patchDocument(&fbdo, FIREBASE_PROJECT_ID, "" /* databaseId can be (default) or empty */, documentPath.c_str(), content.raw(), "count,status" /* updateMask */)) + Serial.printf("ok\n%s\n\n", fbdo.payload().c_str()); + else + Serial.println(fbdo.errorReason()); + } +} diff --git a/examples/Messaging/AppInstanceInfo/AppInstanceInfo.ino b/examples/Messaging/AppInstanceInfo/AppInstanceInfo.ino new file mode 100644 index 000000000..a078d8b08 --- /dev/null +++ b/examples/Messaging/AppInstanceInfo/AppInstanceInfo.ino @@ -0,0 +1,127 @@ +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +// This example shows how get the app instance info. + +// Library allows your ESP device to interact with FCM server through FCM Server protocols. +// https://firebase.google.com/docs/cloud-messaging/server#choose + +// This means your device now is not a FCM app client and unable to get the notification messages. + +// The device registration tokens used in this example were taken from the FCM mobile app (Android or iOS) +// or web app that athenticated to your project. + +// For FCM client app quick start +// https://github.com/firebase/quickstart-android/tree/master/messaging +// https://github.com/firebase/quickstart-ios +// https://github.com/firebase/quickstart-js + +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/** 2 Define the Firebase project Server Key which must be taken from + * https://console.firebase.google.com/u/0/project/_/settings/cloudmessaging + * + * The API, Android, iOS, and browser keys are rejected by FCM + * + */ +#define FIREBASE_FCM_SERVER_KEY "FIREBASE_PROJECT_CLOUD_MESSAGING_SERVER_KEY" + +/* 3. Define the instance ID tokens get the info */ +#define DEVICE_REGISTRATION_ID_TOKEN "DEVICE_TOKEN" + +// Define Firebase Data object +FirebaseData fbdo; + +unsigned long lastTime = 0; + +int count = 0; + +void sendMessage(); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + Firebase.FCM.setServerKey(FIREBASE_FCM_SERVER_KEY); + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + Serial.print("Get the app instance info... "); + + // The subscribed topic also included in the info + if (Firebase.FCM.appInstanceInfo(&fbdo, DEVICE_REGISTRATION_ID_TOKEN)) + Serial.printf("ok\n%s\n\n", Firebase.FCM.payload(&fbdo).c_str()); + else + Serial.println(fbdo.errorReason()); +} + +void loop() +{ +} diff --git a/examples/Messaging/RegistAPNsTokens/RegistAPNsTokens.ino b/examples/Messaging/RegistAPNsTokens/RegistAPNsTokens.ino new file mode 100644 index 000000000..21b4bbbcd --- /dev/null +++ b/examples/Messaging/RegistAPNsTokens/RegistAPNsTokens.ino @@ -0,0 +1,132 @@ +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +// This example shows how to create registration tokens for iOS APNs tokens. + +// Library allows your ESP device to interact with FCM server through FCM Server protocols. +// https://firebase.google.com/docs/cloud-messaging/server#choose + +// This means your device now is not a FCM app client and unable to get the notification messages. + +// The device registration tokens used in this example were taken from the FCM mobile app (Android or iOS) +// or web app that athenticated to your project. + +// For FCM client app quick start +// https://github.com/firebase/quickstart-android/tree/master/messaging +// https://github.com/firebase/quickstart-ios +// https://github.com/firebase/quickstart-js + +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/** 2 Define the Firebase project Server Key which must be taken from + * https://console.firebase.google.com/u/0/project/_/settings/cloudmessaging + * + * The API, Android, iOS, and browser keys are rejected by FCM + * + */ +#define FIREBASE_FCM_SERVER_KEY "FIREBASE_PROJECT_CLOUD_MESSAGING_SERVER_KEY" + +/* 3. Define the iOS APNs tokens to register */ +#define APN_TOKEN_1 "APNs_TOKEN_1" +#define APN_TOKEN_2 "APNs_TOKEN_2" + +// Define Firebase Data object +FirebaseData fbdo; + +unsigned long lastTime = 0; + +int count = 0; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void sendMessage(); + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + Firebase.FCM.setServerKey(FIREBASE_FCM_SERVER_KEY); + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + Serial.print("Subscribe the topic... "); + + int numToken = 2; + const char *APNs[2]; + APNs[0] = APN_TOKEN_1; + APNs[1] = APN_TOKEN_1; + + if (Firebase.FCM.regisAPNsTokens(&fbdo, "com.google.FCMTestApp" /* Bundle id of the app */, false /* sandbox */, APNs /* array of APNs tokens */, numToken)) + Serial.printf("ok\n%s\n\n", Firebase.FCM.payload(&fbdo).c_str()); + else + Serial.println(fbdo.errorReason()); +} + +void loop() +{ +} diff --git a/examples/Messaging/Send/HTTPv1/SendMessage/SendMessage.ino b/examples/Messaging/Send/HTTPv1/SendMessage/SendMessage.ino new file mode 100644 index 000000000..2421503d4 --- /dev/null +++ b/examples/Messaging/Send/HTTPv1/SendMessage/SendMessage.ino @@ -0,0 +1,179 @@ +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +// This example shows how to send JSON payload FCM to a recipient via HTTPv1 API. +// This new API requires OAuth2.0 authentication. + +// Library allows your ESP device to interact with FCM server through FCM Server protocols. +// https://firebase.google.com/docs/cloud-messaging/server#choose + +// This means your device now is not a FCM app client and unable to get the notification messages. + +// The device registration tokens used in this example were taken from the FCM mobile app (Android or iOS) +// or web app that athenticated to your project. + +// For FCM client app quick start +// https://github.com/firebase/quickstart-android/tree/master/messaging +// https://github.com/firebase/quickstart-ios +// https://github.com/firebase/quickstart-js + +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/** 2. Define the Service Account credentials (required for token generation) + * + * This information can be taken from the service account JSON file. + * + * To download service account file, from the Firebase console, goto project settings, + * select "Service accounts" tab and click at "Generate new private key" button + */ +#define FIREBASE_PROJECT_ID "PROJECT_ID" +#define FIREBASE_CLIENT_EMAIL "CLIENT_EMAIL" +const char PRIVATE_KEY[] PROGMEM = "-----BEGIN PRIVATE KEY-----XXXXXXXXXXXX-----END PRIVATE KEY-----\n"; + +/* 3. Define the ID token for client or device to send the message */ +#define DEVICE_REGISTRATION_ID_TOKEN "DEVICE_TOKEN" + +/* 4. Define the Firebase Data object */ +FirebaseData fbdo; + +/* 5. Define the FirebaseAuth data for authentication data */ +FirebaseAuth auth; + +/* 6. Define the FirebaseConfig data for config data */ +FirebaseConfig config; + +unsigned long lastTime = 0; + +int count = 0; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void sendMessage(); + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the sevice account credentials and private key (required) */ + config.service_account.data.client_email = FIREBASE_CLIENT_EMAIL; + config.service_account.data.project_id = FIREBASE_PROJECT_ID; + config.service_account.data.private_key = PRIVATE_KEY; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + Firebase.begin(&config, &auth); +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready() && (millis() - lastTime > 60 * 1000 || lastTime == 0)) + { + lastTime = millis(); + + sendMessage(); + } +} + +void sendMessage() +{ + + Serial.print("Send Firebase Cloud Messaging... "); + + // Read more details about HTTP v1 API here https://firebase.google.com/docs/reference/fcm/rest/v1/projects.messages + FCM_HTTPv1_JSON_Message msg; + + msg.token = DEVICE_REGISTRATION_ID_TOKEN; + + msg.notification.body = "Notification body"; + msg.notification.title = "Notification title"; + + // For the usage of FirebaseJson, see examples/FirebaseJson/BasicUsage/Create.ino + FirebaseJson payload; + + // all data key-values should be string + payload.add("temp", "28"); + payload.add("unit", "celsius"); + payload.add("timestamp", "1609815454"); + msg.data = payload.raw(); + + if (Firebase.FCM.send(&fbdo, &msg)) // send message to recipient + Serial.printf("ok\n%s\n\n", Firebase.FCM.payload(&fbdo).c_str()); + else + Serial.println(fbdo.errorReason()); + + count++; +} diff --git a/examples/Messaging/Send/HTTPv1/SendTopic/SendTopic.ino b/examples/Messaging/Send/HTTPv1/SendTopic/SendTopic.ino new file mode 100644 index 000000000..286799e72 --- /dev/null +++ b/examples/Messaging/Send/HTTPv1/SendTopic/SendTopic.ino @@ -0,0 +1,179 @@ +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +// This example shows how to send JSON payload FCM to the subscribed topic's recipientsvia HTTPv1 API. +// This new API requires OAuth2.0 authentication. + +// Library allows your ESP device to interact with FCM server through FCM Server protocols. +// https://firebase.google.com/docs/cloud-messaging/server#choose + +// This means your device now is not a FCM app client and unable to get the notification messages. + +// The device registration tokens used in this example were taken from the FCM mobile app (Android or iOS) +// or web app that athenticated to your project. + +// For FCM client app quick start +// https://github.com/firebase/quickstart-android/tree/master/messaging +// https://github.com/firebase/quickstart-ios +// https://github.com/firebase/quickstart-js + +// Thanks Peter De Leeuw for addressing the issue of topic name that causes "Invalid registration token" error and his solution. + +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/** 2. Define the Service Account credentials (required for token generation) + * + * This information can be taken from the service account JSON file. + * + * To download service account file, from the Firebase console, goto project settings, + * select "Service accounts" tab and click at "Generate new private key" button + */ +#define FIREBASE_PROJECT_ID "PROJECT_ID" +#define FIREBASE_CLIENT_EMAIL "CLIENT_EMAIL" +const char PRIVATE_KEY[] PROGMEM = "-----BEGIN PRIVATE KEY-----XXXXXXXXXXXX-----END PRIVATE KEY-----\n"; + +/* 3. Define the ID token for client or device to send the message */ +#define DEVICE_REGISTRATION_ID_TOKEN "DEVICE_TOKEN" + +/* 4. Define the Firebase Data object */ +FirebaseData fbdo; + +/* 5. Define the FirebaseAuth data for authentication data */ +FirebaseAuth auth; + +/* 6. Define the FirebaseConfig data for config data */ +FirebaseConfig config; + +unsigned long lastTime = 0; + +int count = 0; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void sendMessage(); + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the sevice account credentials and private key (required) */ + config.service_account.data.client_email = FIREBASE_CLIENT_EMAIL; + config.service_account.data.project_id = FIREBASE_PROJECT_ID; + config.service_account.data.private_key = PRIVATE_KEY; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + Firebase.begin(&config, &auth); +} + +void loop() +{ + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready() && (millis() - lastTime > 60 * 1000 || lastTime == 0)) + { + lastTime = millis(); + + sendMessage(); + } +} + +void sendMessage() +{ + + Serial.print("Send Firebase Cloud Messaging... "); + + // Read more details about HTTP v1 API here https://firebase.google.com/docs/reference/fcm/rest/v1/projects.messages + FCM_HTTPv1_JSON_Message msg; + + msg.topic = "myTopic"; // Topic name to send a message to, e.g. "weather". Note: "/topics/" prefix should not be provided. + msg.notification.body = "Notification body"; + msg.notification.title = "Notification title"; + + // For the usage of FirebaseJson, see examples/FirebaseJson/BasicUsage/Create.ino + FirebaseJson payload; + + // all data key-values should be string + payload.add("temp", "28"); + payload.add("unit", "celsius"); + payload.add("timestamp", "1609815454"); + msg.data = payload.raw(); + + if (Firebase.FCM.send(&fbdo, &msg)) // send message to recipient + Serial.printf("ok\n%s\n\n", Firebase.FCM.payload(&fbdo).c_str()); + else + Serial.println(fbdo.errorReason()); + + count++; +} diff --git a/examples/Messaging/Send/LegacyAPI/BroadcastMessage/BroadcastMessage.ino b/examples/Messaging/Send/LegacyAPI/BroadcastMessage/BroadcastMessage.ino new file mode 100644 index 000000000..03503764d --- /dev/null +++ b/examples/Messaging/Send/LegacyAPI/BroadcastMessage/BroadcastMessage.ino @@ -0,0 +1,163 @@ +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +// This example shows how to send JSON payload FCM to multiple recipients via legacy API (requires server key). + +// Library allows your ESP device to interact with FCM server through FCM Server protocols. +// https://firebase.google.com/docs/cloud-messaging/server#choose + +// This means your device now is not a FCM app client and unable to get the notification messages. + +// The device registration tokens used in this example were taken from the FCM mobile app (Android or iOS) +// or web app that athenticated to your project. + +// For FCM client app quick start +// https://github.com/firebase/quickstart-android/tree/master/messaging +// https://github.com/firebase/quickstart-ios +// https://github.com/firebase/quickstart-js + +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/** 2 Define the Firebase project Server Key which must be taken from + * https://console.firebase.google.com/u/0/project/_/settings/cloudmessaging + * + * The API, Android, iOS, and browser keys are rejected by FCM + * + */ +#define FIREBASE_FCM_SERVER_KEY "FIREBASE_PROJECT_CLOUD_MESSAGING_SERVER_KEY" + +/* 3. Define the ID tokens for clients or devices to send the message */ +#define DEVICE_REGISTRATION_ID_TOKEN_1 "DEVICE_TOKEN_1" +#define DEVICE_REGISTRATION_ID_TOKEN_2 "DEVICE_TOKEN_2" +#define DEVICE_REGISTRATION_ID_TOKEN_3 "DEVICE_TOKEN_3" + +// Define Firebase Data object +FirebaseData fbdo; + +unsigned long lastTime = 0; + +int count = 0; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void sendMessage(); + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + // required for legacy HTTP API + Firebase.FCM.setServerKey(FIREBASE_FCM_SERVER_KEY); + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + sendMessage(); +} + +void loop() +{ + + if (millis() - lastTime > 60 * 1000) + { + lastTime = millis(); + + sendMessage(); + } +} + +void sendMessage() +{ + + Serial.print("Send Firebase Cloud Messaging... "); + + // Read more details about legacy HTTP API here https://firebase.google.com/docs/cloud-messaging/http-server-ref + FCM_Legacy_HTTP_Message msg; + + FirebaseJsonArray arr; + arr.add(DEVICE_REGISTRATION_ID_TOKEN_1); + arr.add(DEVICE_REGISTRATION_ID_TOKEN_2); + arr.add(DEVICE_REGISTRATION_ID_TOKEN_3); + + msg.targets.registration_ids = arr.raw(); + + msg.options.time_to_live = "1000"; + msg.options.priority = "high"; + + msg.payloads.notification.title = "Notification title"; + msg.payloads.notification.body = "Notification body"; + msg.payloads.notification.icon = "myicon"; + msg.payloads.notification.click_action = "OPEN_ACTIVITY_1"; + + FirebaseJson payload; + + // all data key-values should be string + payload.add("temp", "28"); + payload.add("unit", "celsius"); + payload.add("timestamp", "1609815454"); + msg.payloads.data = payload.raw(); + + if (Firebase.FCM.send(&fbdo, &msg)) // send message to recipient + Serial.printf("ok\n%s\n\n", Firebase.FCM.payload(&fbdo).c_str()); + else + Serial.println(fbdo.errorReason()); + + count++; +} diff --git a/examples/Messaging/Send/LegacyAPI/SendMessage/SendMessage.ino b/examples/Messaging/Send/LegacyAPI/SendMessage/SendMessage.ino new file mode 100644 index 000000000..011a75e80 --- /dev/null +++ b/examples/Messaging/Send/LegacyAPI/SendMessage/SendMessage.ino @@ -0,0 +1,174 @@ +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +// This example shows how to send JSON payload FCM to a recipient via legacy API (requires server key). + +// Library allows your ESP device to interact with FCM server through FCM Server protocols. +// https://firebase.google.com/docs/cloud-messaging/server#choose + +// This means your device now is not a FCM app client and unable to get the notification messages. + +// The device registration tokens used in this example were taken from the FCM mobile app (Android or iOS) +// or web app that athenticated to your project. + +// For FCM client app quick start +// https://github.com/firebase/quickstart-android/tree/master/messaging +// https://github.com/firebase/quickstart-ios +// https://github.com/firebase/quickstart-js + +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// If use with ENC28J60 Ethernet module + +/* +#include + +#define ETH_CS_PIN 16 //GPIO 16 connected to Ethernet module (ENC28J60) CS pin + +ENC28J60lwIP eth(ETH_CS_PIN); + +SPI_ETH_Module spi_ethernet_module; + +spi_ethernet_module.enc28j60 = ð +*/ + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/** 2 Define the Firebase project Server Key which must be taken from + * https://console.firebase.google.com/u/0/project/_/settings/cloudmessaging + * + * The API, Android, iOS, and browser keys are rejected by FCM + * + */ +#define FIREBASE_FCM_SERVER_KEY "FIREBASE_PROJECT_CLOUD_MESSAGING_SERVER_KEY" + +/* 3. Define the ID token for client or device to send the message */ +#define DEVICE_REGISTRATION_ID_TOKEN "DEVICE_TOKEN" + +// Define Firebase Data object +FirebaseData fbdo; + +unsigned long lastTime = 0; + +int count = 0; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void sendMessage(); + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + // required for legacy HTTP API + Firebase.FCM.setServerKey(FIREBASE_FCM_SERVER_KEY); + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + // or to use ESP8266 Ethernet module + // Firebase.FCM.setServerKey(FIREBASE_FCM_SERVER_KEY, &spi_ethernet_module); + + sendMessage(); +} + +void loop() +{ + + if (millis() - lastTime > 60 * 1000 || lastTime == 0) + { + lastTime = millis(); + + sendMessage(); + } +} + +void sendMessage() +{ + + Serial.print("Send Firebase Cloud Messaging... "); + + // Read more details about legacy HTTP API here https://firebase.google.com/docs/cloud-messaging/http-server-ref + FCM_Legacy_HTTP_Message msg; + + msg.targets.to = DEVICE_REGISTRATION_ID_TOKEN; + + msg.options.time_to_live = "1000"; + msg.options.priority = "high"; + + msg.payloads.notification.title = "Notification title"; + msg.payloads.notification.body = "Notification body"; + msg.payloads.notification.icon = "myicon"; + msg.payloads.notification.click_action = "OPEN_ACTIVITY_1"; + + // For the usage of FirebaseJson, see examples/FirebaseJson/BasicUsage/Create.ino + FirebaseJson payload; + + // all data key-values should be string + payload.add("temp", "28"); + payload.add("unit", "celsius"); + payload.add("timestamp", "1609815454"); + msg.payloads.data = payload.raw(); + + if (Firebase.FCM.send(&fbdo, &msg)) // send message to recipient + Serial.printf("ok\n%s\n\n", Firebase.FCM.payload(&fbdo).c_str()); + else + Serial.println(fbdo.errorReason()); + + count++; +} diff --git a/examples/Messaging/Send/LegacyAPI/SendMessageEthernet/ESP32/ESP32.ino b/examples/Messaging/Send/LegacyAPI/SendMessageEthernet/ESP32/ESP32.ino new file mode 100644 index 000000000..281ac1e3a --- /dev/null +++ b/examples/Messaging/Send/LegacyAPI/SendMessageEthernet/ESP32/ESP32.ino @@ -0,0 +1,247 @@ + +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +// This example shows how to send JSON payload FCM to a recipient via legacy API (requires server key). + +// This example is for ESP32 with LAN8720 Ethernet board. + +/** + * There are may sources for LAN8720 and ESP32 interconnection on the internet which may + * work for your LAN8720 board. + * + * Some methods worked unless no IP is available. + * + * This modification and interconnection provided in this example are mostly worked as + * the 50 MHz clock was created internally in ESP32 which GPIO 17 is set to be output of this clock + * and feeds to the LAN8720 chip XTAL input. + * + * The on-board LAN8720 50 MHz XTAL chip will be disabled by connect its enable pin or pin 1 to GND. + * + * Pleae see the images in the folder "modified_LAN8720_board_images" for how to modify the LAN8720 board. + * + * The LAN8720 Ethernet modified board and ESP32 board wiring connection. + * + * ESP32 LAN8720 + * + * GPIO17 - EMAC_CLK_OUT_180 nINT/REFCLK - LAN8720 XTAL1/CLKIN 4k7 Pulldown + * GPIO22 - EMAC_TXD1 TX1 + * GPIO19 - EMAC_TXD0 TX0 + * GPIO21 - EMAC_TX_EN TX_EN + * GPIO26 - EMAC_RXD1 RX1 + * GPIO25 - EMAC_RXD0 RX0 + * GPIO27 - EMAC_RX_DV CRS + * GPIO23 - MDC MDC + * GPIO18 - MDIO MDIO + * GND GND + * 3V3 VCC + * + */ + +#include + +#include + +/** 1 Define the Firebase project Server Key which must be taken from + * https://console.firebase.google.com/u/0/project/_/settings/cloudmessaging + * + * The API, Android, iOS, and browser keys are rejected by FCM + * + */ +#define FIREBASE_FCM_SERVER_KEY "FIREBASE_PROJECT_CLOUD_MESSAGING_SERVER_KEY" + +/* 2. Define the ID token for client or device to send the message */ +#define DEVICE_REGISTRATION_ID_TOKEN "DEVICE_TOKEN" + +#ifdef ETH_CLK_MODE +#undef ETH_CLK_MODE +#endif +#define ETH_CLK_MODE ETH_CLOCK_GPIO17_OUT // RMII clock output from GPIO17 + +// Pin# of the enable signal for the external crystal oscillator (-1 to disable) +#define ETH_POWER_PIN -1 + +// Type of the Ethernet PHY (LAN8720 or TLK110) +#define ETH_TYPE ETH_PHY_LAN8720 + +// I²C-address of Ethernet PHY (0 or 1 for LAN8720, 31 for TLK110) +#define ETH_ADDR 1 + +// Pin# of the I²C clock signal for the Ethernet PHY +#define ETH_MDC_PIN 23 + +// Pin# of the I²C IO signal for the Ethernet PHY +#define ETH_MDIO_PIN 18 + +static bool eth_connected = false; + +// Define Firebase Data object +FirebaseData fbdo; + +unsigned long lastTime = 0; + +bool fcmConfigReady = false; + +void sendMessage(); + +void WiFiEvent(WiFiEvent_t event) +{ + // Do not run any function here to prevent stack overflow or nested interrupt + +#if ESP_IDF_VERSION >= ESP_IDF_VERSION_VAL(4, 4, 0) + + switch (event) + { + case ARDUINO_EVENT_ETH_START: + Serial.println("ETH Started"); + // set eth hostname here + ETH.setHostname("esp32-ethernet"); + break; + case ARDUINO_EVENT_ETH_CONNECTED: + Serial.println("ETH Connected"); + break; + case ARDUINO_EVENT_ETH_GOT_IP: + Serial.print("ETH MAC: "); + Serial.print(ETH.macAddress()); + Serial.print(", IPv4: "); + Serial.print(ETH.localIP()); + if (ETH.fullDuplex()) + { + Serial.print(", FULL_DUPLEX"); + } + Serial.print(", "); + Serial.print(ETH.linkSpeed()); + Serial.println("Mbps"); + eth_connected = true; + break; + case ARDUINO_EVENT_ETH_DISCONNECTED: + Serial.println("ETH Disconnected"); + eth_connected = false; + break; + case ARDUINO_EVENT_ETH_STOP: + Serial.println("ETH Stopped"); + eth_connected = false; + break; + default: + break; + } + +#else + switch (event) + { + case SYSTEM_EVENT_ETH_START: + Serial.println("ETH Started"); + // set eth hostname here + ETH.setHostname("esp32-ethernet"); + break; + case SYSTEM_EVENT_ETH_CONNECTED: + Serial.println("ETH Connected"); + break; + case SYSTEM_EVENT_ETH_GOT_IP: + Serial.print("ETH MAC: "); + Serial.print(ETH.macAddress()); + Serial.print(", IPv4: "); + Serial.print(ETH.localIP()); + if (ETH.fullDuplex()) + { + Serial.print(", FULL_DUPLEX"); + } + Serial.print(", "); + Serial.print(ETH.linkSpeed()); + Serial.println("Mbps"); + eth_connected = true; + break; + case SYSTEM_EVENT_ETH_DISCONNECTED: + Serial.println("ETH Disconnected"); + eth_connected = false; + break; + case SYSTEM_EVENT_ETH_STOP: + Serial.println("ETH Stopped"); + eth_connected = false; + break; + default: + break; + } +#endif +} + +void setupFCM() +{ + if (fcmConfigReady) + return; + + fcmConfigReady = true; + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + // required for legacy HTTP API + Firebase.FCM.setServerKey(FIREBASE_FCM_SERVER_KEY); + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); +} + +void setup() +{ + + Serial.begin(115200); + Serial.println(); + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + WiFi.onEvent(WiFiEvent); + ETH.begin(ETH_ADDR, ETH_POWER_PIN, ETH_MDC_PIN, ETH_MDIO_PIN, ETH_TYPE, ETH_CLK_MODE); +} + +void loop() +{ + if (eth_connected && (millis() - lastTime > 60 * 1000 || lastTime == 0)) + { + lastTime = millis(); + setupFCM(); + sendMessage(); + } +} + +void sendMessage() +{ + + Serial.print("Send Firebase Cloud Messaging... "); + + // Read more details about legacy HTTP API here https://firebase.google.com/docs/cloud-messaging/http-server-ref + FCM_Legacy_HTTP_Message msg; + + msg.targets.to = DEVICE_REGISTRATION_ID_TOKEN; + + msg.options.time_to_live = "1000"; + msg.options.priority = "high"; + + msg.payloads.notification.title = "Notification title"; + msg.payloads.notification.body = "Notification body"; + msg.payloads.notification.icon = "myicon"; + msg.payloads.notification.click_action = "OPEN_ACTIVITY_1"; + + // For the usage of FirebaseJson, see examples/FirebaseJson/BasicUsage/Create.ino + FirebaseJson payload; + + // all data key-values should be string + payload.add("temp", "28"); + payload.add("unit", "celsius"); + payload.add("timestamp", "1609815454"); + msg.payloads.data = payload.raw(); + + if (Firebase.FCM.send(&fbdo, &msg)) // send message to recipient + Serial.printf("ok\n%s\n\n", Firebase.FCM.payload(&fbdo).c_str()); + else + Serial.println(fbdo.errorReason()); +} diff --git a/examples/Messaging/Send/LegacyAPI/SendMessageEthernet/ESP32/modified_LAN8720_board_images/lan8720_modified_board.png b/examples/Messaging/Send/LegacyAPI/SendMessageEthernet/ESP32/modified_LAN8720_board_images/lan8720_modified_board.png new file mode 100644 index 000000000..44d0d7907 Binary files /dev/null and b/examples/Messaging/Send/LegacyAPI/SendMessageEthernet/ESP32/modified_LAN8720_board_images/lan8720_modified_board.png differ diff --git a/examples/Messaging/Send/LegacyAPI/SendMessageEthernet/ESP32/modified_LAN8720_board_images/lan8720_modified_schematic.png b/examples/Messaging/Send/LegacyAPI/SendMessageEthernet/ESP32/modified_LAN8720_board_images/lan8720_modified_schematic.png new file mode 100644 index 000000000..9dc3d1176 Binary files /dev/null and b/examples/Messaging/Send/LegacyAPI/SendMessageEthernet/ESP32/modified_LAN8720_board_images/lan8720_modified_schematic.png differ diff --git a/examples/Messaging/Send/LegacyAPI/SendMessageEthernet/ESP8266/ESP8266.ino b/examples/Messaging/Send/LegacyAPI/SendMessageEthernet/ESP8266/ESP8266.ino new file mode 100644 index 000000000..8ee447b33 --- /dev/null +++ b/examples/Messaging/Send/LegacyAPI/SendMessageEthernet/ESP8266/ESP8266.ino @@ -0,0 +1,182 @@ +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +// This example shows how to send JSON payload FCM to a recipient via legacy API (requires server key). + +// This example is for ESP8266 and ENC28J60 Ethernet module. + +/** + * + * The ENC28J60 Ethernet module and ESP8266 board, SPI port wiring connection. + * + * ESP8266 (Wemos D1 Mini or NodeMCU) ENC28J60 + * + * GPIO12 (D6) - MISO SO + * GPIO13 (D7) - MOSI SI + * GPIO14 (D5) - SCK SCK + * GPIO16 (D0) - CS CS + * GND GND + * 3V3 VCC + * + */ + +// Library allows your ESP device to interact with FCM server through FCM Server protocols. +// https://firebase.google.com/docs/cloud-messaging/server#choose + +// This means your device now is not a FCM app client and unable to get the notification messages. + +// The device registration tokens used in this example were taken from the FCM mobile app (Android or iOS) +// or web app that athenticated to your project. + +// For FCM client app quick start +// https://github.com/firebase/quickstart-android/tree/master/messaging +// https://github.com/firebase/quickstart-ios +// https://github.com/firebase/quickstart-js + +#if defined(ESP32) +#include +#elif defined(ESP8266) +#include +#endif + +#include + +#include +// #include +// #include + +/** Don't gorget to define this in FirebaseFS.h + #define ENABLE_ESP8266_ENC28J60_ETH +*/ + +/** 1 Define the Firebase project Server Key which must be taken from + * https://console.firebase.google.com/u/0/project/_/settings/cloudmessaging + * + * The API, Android, iOS, and browser keys are rejected by FCM + * + */ +#define FIREBASE_FCM_SERVER_KEY "FIREBASE_PROJECT_CLOUD_MESSAGING_SERVER_KEY" + +/* 2. Define the ID token for client or device to send the message */ +#define DEVICE_REGISTRATION_ID_TOKEN "DEVICE_TOKEN" + +#define ETH_CS_PIN 16 // GPIO 16 connected to Ethernet module (ENC28J60) CS pin + +ENC28J60lwIP eth(ETH_CS_PIN); +// Wiznet5100lwIP eth(ETH_CS_PIN); +// Wiznet5500lwIP eth(ETH_CS_PIN); + +SPI_ETH_Module spi_ethernet_module; + +// Define Firebase Data object +FirebaseData fbdo; + +unsigned long lastTime = 0; + +void sendMessage(); + +void setup() +{ + + Serial.begin(115200); + + SPI.begin(); + SPI.setClockDivider(SPI_CLOCK_DIV4); // 4 MHz? + SPI.setBitOrder(MSBFIRST); + SPI.setDataMode(SPI_MODE0); + eth.setDefault(); // use ethernet for default route + if (!eth.begin()) + { + Serial.println("ethernet hardware not found ... sleeping"); + while (1) + { + delay(1000); + } + } + else + { + Serial.print("connecting ethernet"); + while (!eth.connected()) + { + Serial.print("."); + delay(1000); + } + } + Serial.println(); + Serial.print("ethernet IP address: "); + Serial.println(eth.localIP()); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + +// required for legacy HTTP API +#if defined(ENABLE_ESP8266_ENC28J60_ETH) + spi_ethernet_module.enc28j60 = ð +#endif +#if defined(ENABLE_ESP8266_W5100_ETH) + spi_ethernet_module.w5100 = ð +#endif +#if defined(ENABLE_ESP8266_W5500_ETH) + spi_ethernet_module.w5500 = ð +#endif + Firebase.FCM.setServerKey(FIREBASE_FCM_SERVER_KEY, &spi_ethernet_module); + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + sendMessage(); +} + +void loop() +{ + + if (millis() - lastTime > 60 * 1000 || lastTime == 0) + { + lastTime = millis(); + sendMessage(); + } +} + +void sendMessage() +{ + + Serial.print("Send Firebase Cloud Messaging... "); + + // Read more details about legacy HTTP API here https://firebase.google.com/docs/cloud-messaging/http-server-ref + FCM_Legacy_HTTP_Message msg; + + msg.targets.to = DEVICE_REGISTRATION_ID_TOKEN; + + msg.options.time_to_live = "1000"; + msg.options.priority = "high"; + + msg.payloads.notification.title = "Notification title"; + msg.payloads.notification.body = "Notification body"; + msg.payloads.notification.icon = "myicon"; + msg.payloads.notification.click_action = "OPEN_ACTIVITY_1"; + + // For the usage of FirebaseJson, see examples/FirebaseJson/BasicUsage/Create.ino + FirebaseJson payload; + + // all data key-values should be string + payload.add("temp", "28"); + payload.add("unit", "celsius"); + payload.add("timestamp", "1609815454"); + msg.payloads.data = payload.raw(); + + if (Firebase.FCM.send(&fbdo, &msg)) // send message to recipient + Serial.printf("ok\n%s\n\n", Firebase.FCM.payload(&fbdo).c_str()); + else + Serial.println(fbdo.errorReason()); +} diff --git a/examples/Messaging/Send/LegacyAPI/SendTopic/SendTopic.ino b/examples/Messaging/Send/LegacyAPI/SendTopic/SendTopic.ino new file mode 100644 index 000000000..f1e884eb9 --- /dev/null +++ b/examples/Messaging/Send/LegacyAPI/SendTopic/SendTopic.ino @@ -0,0 +1,154 @@ +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +// This example shows how to send JSON payload FCM to the subscribed topic's recipients via legacy API (requires server key). + +// Library allows your ESP device to interact with FCM server through FCM Server protocols. +// https://firebase.google.com/docs/cloud-messaging/server#choose + +// This means your device now is not a FCM app client and unable to get the notification messages. + +// The device registratzion tokens used in this example were taken from the FCM mobile app (Android or iOS) +// or web app that athenticated to your project. + +// For FCM client app quick start +// https://github.com/firebase/quickstart-android/tree/master/messaging +// https://github.com/firebase/quickstart-ios +// https://github.com/firebase/quickstart-js + +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/** 2 Define the Firebase project Server Key which must be taken from + * https://console.firebase.google.com/u/0/project/_/settings/cloudmessaging + * + * The API, Android, iOS, and browser keys are rejected by FCM + * + */ +#define FIREBASE_FCM_SERVER_KEY "FIREBASE_PROJECT_CLOUD_MESSAGING_SERVER_KEY" + +// Define Firebase Data object +FirebaseData fbdo; + +unsigned long lastTime = 0; + +int count = 0; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void sendMessage(); + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + // required for legacy HTTP API + Firebase.FCM.setServerKey(FIREBASE_FCM_SERVER_KEY); + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + sendMessage(); +} + +void loop() +{ + + if (millis() - lastTime > 60 * 1000 || lastTime == 0) + { + lastTime = millis(); + + sendMessage(); + } +} + +void sendMessage() +{ + + Serial.print("Send Firebase Cloud Messaging... "); + + // Read more details about legacy HTTP API here https://firebase.google.com/docs/cloud-messaging/http-server-ref + FCM_Legacy_HTTP_Message msg; + + // please change this topic name to your specific topic to prevent TOPICS_MESSAGE_RATE_EXCEEDED error + msg.targets.to = "/topics/my_esp_topic"; + + msg.options.time_to_live = "1000"; + msg.options.priority = "high"; + + msg.payloads.notification.title = "Notification title"; + msg.payloads.notification.body = "Notification body"; + msg.payloads.notification.icon = "myicon"; + msg.payloads.notification.click_action = "OPEN_ACTIVITY_1"; + + FirebaseJson payload; + + // all data key-values should be string + payload.add("temp", "28"); + payload.add("unit", "celsius"); + payload.add("timestamp", "1609815454"); + msg.payloads.data = payload.raw(); + + if (Firebase.FCM.send(&fbdo, &msg)) // send message to recipient + Serial.printf("ok\n%s\n\n", Firebase.FCM.payload(&fbdo).c_str()); + else + Serial.println(fbdo.errorReason()); + + count++; +} diff --git a/examples/Messaging/SubscribeTopic/SubscribeTopic.ino b/examples/Messaging/SubscribeTopic/SubscribeTopic.ino new file mode 100644 index 000000000..b6582bc60 --- /dev/null +++ b/examples/Messaging/SubscribeTopic/SubscribeTopic.ino @@ -0,0 +1,132 @@ +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +// This example shows how to subscribe the topic for the IID tokens. + +// Library allows your ESP device to interact with FCM server through FCM Server protocols. +// https://firebase.google.com/docs/cloud-messaging/server#choose + +// This means your device now is not a FCM app clizent and unable to get the notification messages. + +// The device registration tokens used in this example were taken from the FCM mobile app (Android or iOS) +// or web app that athenticated to your project. + +// For FCM client app quick start +// https://github.com/firebase/quickstart-android/tree/master/messaging +// https://github.com/firebase/quickstart-ios +// https://github.com/firebase/quickstart-js + +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/** 2 Define the Firebase project Server Key which must be taken from + * https://console.firebase.google.com/u/0/project/_/settings/cloudmessaging + * + * The API, Android, iOS, and browser keys are rejected by FCM + * + */ +#define FIREBASE_FCM_SERVER_KEY "FIREBASE_PROJECT_CLOUD_MESSAGING_SERVER_KEY" + +/* 3. Define the instance ID tokens to subscribe the topic */ +#define DEVICE_REGISTRATION_ID_TOKEN_1 "DEVICE_TOKEN_1" +#define DEVICE_REGISTRATION_ID_TOKEN_2 "DEVICE_TOKEN_2" + +// Define Firebase Data object +FirebaseData fbdo; + +unsigned long lastTime = 0; + +int count = 0; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void sendMessage(); + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + Firebase.FCM.setServerKey(FIREBASE_FCM_SERVER_KEY); + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + Serial.print("Subscribe the topic... "); + + int numToken = 2; + const char *iid[2]; + iid[0] = DEVICE_REGISTRATION_ID_TOKEN_1; + iid[1] = DEVICE_REGISTRATION_ID_TOKEN_2; + + if (Firebase.FCM.subscribeTopic(&fbdo, "testTopic" /* topic to subscribe */, iid /* IID tokens array */, numToken)) + Serial.printf("ok\n%s\n\n", Firebase.FCM.payload(&fbdo).c_str()); + else + Serial.println(fbdo.errorReason()); +} + +void loop() +{ +} diff --git a/examples/Messaging/UnsubscribeTopic/UnsubscribeTopic.ino b/examples/Messaging/UnsubscribeTopic/UnsubscribeTopic.ino new file mode 100644 index 000000000..2bf2402e9 --- /dev/null +++ b/examples/Messaging/UnsubscribeTopic/UnsubscribeTopic.ino @@ -0,0 +1,132 @@ +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +// This example shows how to remove the topic subscription for the IID tokens. + +// Library allows your ESP device to interact with FCM server through FCM Server protocols. +// https://firebase.google.com/docs/cloud-messaging/server#choose + +// This means your device now is not a FCM app client and unable to get the notification messages. + +// The device registration tokens used in this example were taken from the FCM mobile app (Android or iOS) +// or web app that athenticated to your project.z + +// For FCM client app quick start +// https://github.com/firebase/quickstart-android/tree/master/messaging +// https://github.com/firebase/quickstart-ios +// https://github.com/firebase/quickstart-js + +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/** 2 Define the Firebase project Server Key which must be taken from + * https://console.firebase.google.com/u/0/project/_/settings/cloudmessaging + * + * The API, Android, iOS, and browser keys are rejected by FCM + * + */ +#define FIREBASE_FCM_SERVER_KEY "FIREBASE_PROJECT_CLOUD_MESSAGING_SERVER_KEY" + +/* 3. Define the instance ID tokens to unsubscribe the topic */ +#define DEVICE_REGISTRATION_ID_TOKEN_1 "DEVICE_TOKEN_1" +#define DEVICE_REGISTRATION_ID_TOKEN_2 "DEVICE_TOKEN_2" + +// Define Firebase Data object +FirebaseData fbdo; + +unsigned long lastTime = 0; + +int count = 0; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void sendMessage(); + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + Firebase.FCM.setServerKey(FIREBASE_FCM_SERVER_KEY); + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + Serial.print("Unsubscribe the topic... "); + + int numToken = 2; + const char *iid[2]; + iid[0] = DEVICE_REGISTRATION_ID_TOKEN_1; + iid[1] = DEVICE_REGISTRATION_ID_TOKEN_2; + + if (Firebase.FCM.unsubscribeTopic(&fbdo, "testTopic" /* topic to subscribe */, iid /* IID tokens array */, numToken)) + Serial.printf("ok\n%s\n\n", Firebase.FCM.payload(&fbdo).c_str()); + else + Serial.println(fbdo.errorReason()); +} + +void loop() +{ +} diff --git a/examples/README.md b/examples/README.md new file mode 100644 index 000000000..120dc3fd3 --- /dev/null +++ b/examples/README.md @@ -0,0 +1,161 @@ +# Migrate from Firebase-ESP32 or Firebase-ESP8266 library to Firebase-ESP-Client library + + +This library includes the Firebase and Google Cloud Storage fnctions, Cloud Firestore, Cloud Functions and the Firebase Cloud Messageing upgrades. + +The major changes from Firebase-ESP32 or Firebase-ESP8266 library are. + +* All Firebase Realtime database functions moved from Firebase class to Firebase.RTDB member class. + +* All parameters in RTDB functions are the pointer to the variables unless the String type value. + +* The names of StreamData class changes to FirebaseStream, and MultiPathStreamData changes to MultiPathStream. + +* The Firebase Cloud Messaging functions moved from FirebaseData class to Firebase.FCM. + +* The Firebase Cloud Messaging functions are not compatible with the Firebase-ESP32 or Firebase-ESP8266 library. + +* The Firebase Cloud Messaging added supports for full message constructors for legacy HTTP and HTTPv1 APIs. + +* New Firebase Storage functions added to the class Firebase.Storage. + +* The storage type strutured data are now removed and use fb_esp_mem_storage_type instead. + + +## Realtime database functions migration + +### Initializing + +The begin function is now accept only the pointer to the FirebaseAuth and FirebaseConfig data + +#### Before + +```cpp + Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH); +``` + +#### After + +```cpp + Firebase.begin(&config, &auth); +``` + + +### Normal HTTP mode functions + +The functions e.g. get, set, push, update and delete, are now accept the pointer. + +#### Before + +```cpp + Firebase.setInt(fbdo,... +``` + +#### After + +```cpp + Firebase.setInt(&fbdo,... +``` + + +### HTTP Stream + +The stream functions are now accept the pointer. The callback functions are now support the new class name. + +#### Before + +```cpp + Firebase.beginStream(fbdo,... + + Firebase.setStreamCallback(fbdo,... + + void streamCallback(StreamData data); + + void streamCallback(MultiPathStreamData data); +``` + +#### After + +```cpp + Firebase.RTDB.beginStream(&fbdo,... + + Firebase.RTDB.setStreamCallback(&fbdo,... + + void streamCallback(FirebasseStream data); + + void streamCallback(MultiPathStream data); +``` + +### Function name changes + +#### Before + +```cpp + Firebase.pathExist(fbdo,... +``` + +#### After + +```cpp + Firebase.RTDB.pathExisted(&fbdo,... +``` + + +### Storage type struct to enum + +#### Before + +```cpp + StorageType::SD + StorageType::SPIFFS +``` + +#### After + +```cpp + mem_storage_type_sd + mem_storage_type_flash +``` + +### Other objects params + +The FirebaseData, FirebaseJson, FirebaseJsonArray, QueryFilter objects will pass as the pointer to +these objects in all function of the library. + + + + +## Firebase Cloud Messaging migration + +No compatibilities between this library and Firebase-ESP32 or Firebase-ESP8266 library. + + +See the examples for the details of usages of this new library. + + + + +## License + +The MIT License (MIT) + +Copyright (c) 2019, 2020, 2021, 2022, 2023 K. Suwatchai (Mobizt) + + +Permission is hereby granted, free of charge, to any person returning a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + diff --git a/examples/RTDB/BackupRestore/Flash/Flash.ino b/examples/RTDB/BackupRestore/Flash/Flash.ino new file mode 100644 index 000000000..0d678cbc7 --- /dev/null +++ b/examples/RTDB/BackupRestore/Flash/Flash.ino @@ -0,0 +1,199 @@ +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +// This example shows how to backup and restore database data +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/* 2. Define the API Key */ +#define API_KEY "API_KEY" + +/* 3. Define the RTDB URL */ +#define DATABASE_URL "URL" //.firebaseio.com or ..firebasedatabase.app + +/* 4. Define the user Email and password that alreadey registerd or added in your project */ +#define USER_EMAIL "USER_EMAIL" +#define USER_PASSWORD "USER_PASSWORD" + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +bool taskCompleted; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + // For the following credentials, see examples/Authentications/SignInAsUser/EmailPassword/EmailPassword.ino + + /* Assign the api key (required) */ + config.api_key = API_KEY; + + /* Assign the user sign in credentials */ + auth.user.email = USER_EMAIL; + auth.user.password = USER_PASSWORD; + + /* Assign the RTDB URL (required) */ + config.database_url = DATABASE_URL; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + // Or use legacy authenticate method + // config.database_url = DATABASE_URL; + // config.signer.tokens.legacy_token = ""; + + // To connect without auth in Test Mode, see Authentications/TestMode/TestMode.ino + + Firebase.begin(&config, &auth); +} + +// The Firebase download callback function +void rtdbDownloadCallback(RTDB_DownloadStatusInfo info) +{ + if (info.status == firebase_rtdb_download_status_init) + { + Serial.printf("Downloading file %s (%d) to %s\n", info.remotePath.c_str(), info.size, info.localFileName.c_str()); + } + else if (info.status == firebase_rtdb_download_status_download) + { + Serial.printf("Downloaded %d%s\n", (int)info.progress, "%"); + } + else if (info.status == firebase_rtdb_download_status_complete) + { + Serial.println("Backup completed\n"); + } + else if (info.status == firebase_rtdb_download_status_error) + { + Serial.printf("Download failed, %s\n", info.errorMsg.c_str()); + } +} + +// The Firebase upload callback function +void rtdbUploadCallback(RTDB_UploadStatusInfo info) +{ + if (info.status == firebase_rtdb_upload_status_init) + { + Serial.printf("Uploading file %s (%d) to %s\n", info.localFileName.c_str(), info.size, info.remotePath.c_str()); + } + else if (info.status == firebase_rtdb_upload_status_upload) + { + Serial.printf("Uploaded %d%s\n", (int)info.progress, "%"); + } + else if (info.status == firebase_rtdb_upload_status_complete) + { + Serial.println("Restore completed\n"); + } + else if (info.status == firebase_rtdb_upload_status_error) + { + Serial.printf("Upload failed, %s\n", info.errorMsg.c_str()); + } +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready() && !taskCompleted) + { + taskCompleted = true; + + // Download and save data to Flash memory. + // is the full path of database to backup and restore. + // is file name included path to save to Flash meory + // The file systems for flash and SD/SDMMC can be changed in FirebaseFS.h. + + if (Firebase.RTDB.backup(&fbdo, mem_storage_type_flash, "/" /* node path to backup*/, "/" /* file name included path to save */, rtdbDownloadCallback /* callback function */)) + { + Serial.printf("backup file, %s\n", fbdo.getBackupFilename().c_str()); + Serial.printf("file size, %d\n", fbdo.getBackupFileSize()); + } + else + Serial.println(fbdo.fileTransferError().c_str()); + + // Restore data to defined database path using backup file on Flash memory. + // is the full path of database to restore + // is file name included path of backed up file. + // The file systems for flash and SD/SDMMC can be changed in FirebaseFS.h. + + Serial.println("\nRestore... \n"); + + if (!Firebase.RTDB.restore(&fbdo, mem_storage_type_flash, "/" /* node path to restore */, "/" /* backup file to restore */, rtdbUploadCallback /* callback function */)) + Serial.println(fbdo.fileTransferError().c_str()); + } +} diff --git a/examples/RTDB/BackupRestore/SD/SD.ino b/examples/RTDB/BackupRestore/SD/SD.ino new file mode 100644 index 000000000..1b16536be --- /dev/null +++ b/examples/RTDB/BackupRestore/SD/SD.ino @@ -0,0 +1,206 @@ +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +// This example shows how to backup and restore database data + +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +// Provide the SD card interfaces setting and mounting +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +// For the following credentials, see examples/Authentications/SignInAsUser/EmailPassword/EmailPassword.ino + +/* 2. Define the API Key */ +#define API_KEY "API_KEY" + +/* 3. Define the RTDB URL */ +#define DATABASE_URL "URL" //.firebaseio.com or ..firebasedatabase.app + +/* 4. Define the user Email and password that alreadey registerd or added in your project */ +#define USER_EMAIL "USER_EMAIL" +#define USER_PASSWORD "USER_PASSWORD" + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +bool taskCompleted = false; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the api key (required) */ + config.api_key = API_KEY; + + /* Assign the user sign in credentials */ + auth.user.email = USER_EMAIL; + auth.user.password = USER_PASSWORD; + + /* Assign the RTDB URL (required) */ + config.database_url = DATABASE_URL; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + // Or use legacy authenticate method + // config.database_url = DATABASE_URL; + // config.signer.tokens.legacy_token = ""; + + // To connect without auth in Test Mode, see Authentications/TestMode/TestMode.ino + + Firebase.begin(&config, &auth); + + SD_Card_Mounting(); // See src/addons/SDHelper.h +} + +// The Firebase download callback function +void rtdbDownloadCallback(RTDB_DownloadStatusInfo info) +{ + if (info.status == firebase_rtdb_download_status_init) + { + Serial.printf("Downloading file %s (%d) to %s\n", info.remotePath.c_str(), info.size, info.localFileName.c_str()); + } + else if (info.status == firebase_rtdb_download_status_download) + { + Serial.printf("Downloaded %d%s\n", (int)info.progress, "%"); + } + else if (info.status == firebase_rtdb_download_status_complete) + { + Serial.println("Backup completed\n"); + } + else if (info.status == firebase_rtdb_download_status_error) + { + Serial.printf("Download failed, %s\n", info.errorMsg.c_str()); + } +} + +// The Firebase upload callback function +void rtdbUploadCallback(RTDB_UploadStatusInfo info) +{ + if (info.status == firebase_rtdb_upload_status_init) + { + Serial.printf("Uploading file %s (%d) to %s\n", info.localFileName.c_str(), info.size, info.remotePath.c_str()); + } + else if (info.status == firebase_rtdb_upload_status_upload) + { + Serial.printf("Uploaded %d%s\n", (int)info.progress, "%"); + } + else if (info.status == firebase_rtdb_upload_status_complete) + { + Serial.println("Restore completed\n"); + } + else if (info.status == firebase_rtdb_upload_status_error) + { + Serial.printf("Upload failed, %s\n", info.errorMsg.c_str()); + } +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready() && !taskCompleted) + { + taskCompleted = true; + + // Download and save data to SD card. + // is the full path of database to backup and restore. + // is file name in 8.3 DOS format (max. 8 bytes file name and 3 bytes file extension) + + Serial.println("\nBackup... \n"); + + if (Firebase.RTDB.backup(&fbdo, mem_storage_type_sd, "/" /* node path to backup*/, "/" /* file name included path to save */, rtdbDownloadCallback /* callback function */)) + { + Serial.printf("backup file, %s\n", fbdo.getBackupFilename().c_str()); + Serial.printf("file size, %d\n", fbdo.getBackupFileSize()); + } + else + Serial.println(fbdo.fileTransferError().c_str()); + + // Restore data to defined database path using backup file on Flash memory. + // is the full path of database to restore + // is file name included path of backed up file. + // The file systems for flash and SD/SDMMC can be changed in FirebaseFS.h. + + Serial.println("\nRestore... \n"); + + if (!Firebase.RTDB.restore(&fbdo, mem_storage_type_sd, "/" /* node path to restore */, "/" /* backup file to restore */, rtdbUploadCallback /* callback function */)) + Serial.println(fbdo.fileTransferError().c_str()); + } +} \ No newline at end of file diff --git a/examples/RTDB/Basic/Basic.ino b/examples/RTDB/Basic/Basic.ino new file mode 100644 index 000000000..ff4f1370d --- /dev/null +++ b/examples/RTDB/Basic/Basic.ino @@ -0,0 +1,306 @@ + +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +// Provide the RTDB payload printing info and other helper functions. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +// For the following credentials, see examples/Authentications/SignInAsUser/EmailPassword/EmailPassword.ino + +/* 2. Define the API Key */ +#define API_KEY "API_KEY" + +/* 3. Define the RTDB URL */ +#define DATABASE_URL "URL" //.firebaseio.com or ..firebasedatabase.app + +/* 4. Define the user Email and password that alreadey registerd or added in your project */ +#define USER_EMAIL "USER_EMAIL" +#define USER_PASSWORD "USER_PASSWORD" + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +unsigned long sendDataPrevMillis = 0; + +unsigned long count = 0; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the api key (required) */ + config.api_key = API_KEY; + + /* Assign the user sign in credentials */ + auth.user.email = USER_EMAIL; + auth.user.password = USER_PASSWORD; + + /* Assign the RTDB URL (required) */ + config.database_url = DATABASE_URL; + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Or use legacy authenticate method + // config.database_url = DATABASE_URL; + // config.signer.tokens.legacy_token = ""; + + // To connect without auth in Test Mode, see Authentications/TestMode/TestMode.ino + + ////////////////////////////////////////////////////////////////////////////////////////////// + // Please make sure the device free Heap is not lower than 80 k for ESP32 and 10 k for ESP8266, + // otherwise the SSL connection will fail. + ////////////////////////////////////////////////////////////////////////////////////////////// + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + // Limit the size of response payload to be collected in FirebaseData + fbdo.setResponseSize(2048); + + Firebase.begin(&config, &auth); + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + Firebase.setDoubleDigits(5); + + config.timeout.serverResponse = 10 * 1000; + + // You can use TCP KeepAlive in FirebaseData object and tracking the server connection status, please read this for detail. + // https://github.com/mobizt/Firebase-ESP-Client#about-firebasedata-object + // fbdo.keepAlive(5, 5, 1); + + /** Timeout options. + + //Network reconnect timeout (interval) in ms (10 sec - 5 min) when network or WiFi disconnected. + config.timeout.networkReconnect = 10 * 1000; + + //Socket connection and SSL handshake timeout in ms (1 sec - 1 min). + config.timeout.socketConnection = 10 * 1000; + + //Server response read timeout in ms (1 sec - 1 min). + config.timeout.serverResponse = 10 * 1000; + + //RTDB Stream keep-alive timeout in ms (20 sec - 2 min) when no server's keep-alive event data received. + config.timeout.rtdbKeepAlive = 45 * 1000; + + //RTDB Stream reconnect timeout (interval) in ms (1 sec - 1 min) when RTDB Stream closed and want to resume. + config.timeout.rtdbStreamReconnect = 1 * 1000; + + //RTDB Stream error notification timeout (interval) in ms (3 sec - 30 sec). It determines how often the readStream + //will return false (error) when it called repeatedly in loop. + config.timeout.rtdbStreamError = 3 * 1000; + + Note: + The function that starting the new TCP session i.e. first time server connection or previous session was closed, the function won't exit until the + time of config.timeout.socketConnection. + + You can also set the TCP data sending retry with + config.tcp_data_sending_retry = 1; + + */ +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready() && (millis() - sendDataPrevMillis > 15000 || sendDataPrevMillis == 0)) + { + sendDataPrevMillis = millis(); + + Serial.printf("Set bool... %s\n", Firebase.RTDB.setBool(&fbdo, F("/test/bool"), count % 2 == 0) ? "ok" : fbdo.errorReason().c_str()); + + Serial.printf("Get bool... %s\n", Firebase.RTDB.getBool(&fbdo, FPSTR("/test/bool")) ? fbdo.to() ? "true" : "false" : fbdo.errorReason().c_str()); + + bool bVal; + Serial.printf("Get bool ref... %s\n", Firebase.RTDB.getBool(&fbdo, F("/test/bool"), &bVal) ? bVal ? "true" : "false" : fbdo.errorReason().c_str()); + + Serial.printf("Set int... %s\n", Firebase.RTDB.setInt(&fbdo, F("/test/int"), count) ? "ok" : fbdo.errorReason().c_str()); + + Serial.printf("Get int... %s\n", Firebase.RTDB.getInt(&fbdo, F("/test/int")) ? String(fbdo.to()).c_str() : fbdo.errorReason().c_str()); + + int iVal = 0; + Serial.printf("Get int ref... %s\n", Firebase.RTDB.getInt(&fbdo, F("/test/int"), &iVal) ? String(iVal).c_str() : fbdo.errorReason().c_str()); + + Serial.printf("Set float... %s\n", Firebase.RTDB.setFloat(&fbdo, F("/test/float"), count + 10.2) ? "ok" : fbdo.errorReason().c_str()); + + Serial.printf("Get float... %s\n", Firebase.RTDB.getFloat(&fbdo, F("/test/float")) ? String(fbdo.to()).c_str() : fbdo.errorReason().c_str()); + + Serial.printf("Set double... %s\n", Firebase.RTDB.setDouble(&fbdo, F("/test/double"), count + 35.517549723765) ? "ok" : fbdo.errorReason().c_str()); + + Serial.printf("Get double... %s\n", Firebase.RTDB.getDouble(&fbdo, F("/test/double")) ? String(fbdo.to()).c_str() : fbdo.errorReason().c_str()); + + Serial.printf("Set string... %s\n", Firebase.RTDB.setString(&fbdo, F("/test/string"), F("Hello World!")) ? "ok" : fbdo.errorReason().c_str()); + + Serial.printf("Get string... %s\n", Firebase.RTDB.getString(&fbdo, F("/test/string")) ? fbdo.to() : fbdo.errorReason().c_str()); + + // For the usage of FirebaseJson, see examples/FirebaseJson/BasicUsage/Create_Edit_Parse.ino + FirebaseJson json; + + if (count == 0) + { + json.set("value/round/" + String(count), F("cool!")); + json.set(F("value/ts/.sv"), F("timestamp")); + Serial.printf("Set json... %s\n", Firebase.RTDB.set(&fbdo, F("/test/json"), &json) ? "ok" : fbdo.errorReason().c_str()); + } + else + { + json.add(String(count), F("smart!")); + Serial.printf("Update node... %s\n", Firebase.RTDB.updateNode(&fbdo, F("/test/json/value/round"), &json) ? "ok" : fbdo.errorReason().c_str()); + } + + Serial.println(); + + // For generic set/get functions. + + // For generic set, use Firebase.RTDB.set(&fbdo, , ) + + // For generic get, use Firebase.RTDB.get(&fbdo, ). + // And check its type with fbdo.dataType() or fbdo.dataTypeEnum() and + // cast the value from it e.g. fbdo.to(), fbdo.to(). + + // The function, fbdo.dataType() returns types String e.g. string, boolean, + // int, float, double, json, array, blob, file and null. + + // The function, fbdo.dataTypeEnum() returns type enum (number) e.g. firebase_rtdb_data_type_null (1), + // firebase_rtdb_data_type_integer, firebase_rtdb_data_type_float, firebase_rtdb_data_type_double, + // firebase_rtdb_data_type_boolean, firebase_rtdb_data_type_string, firebase_rtdb_data_type_json, + // firebase_rtdb_data_type_array, firebase_rtdb_data_type_blob, and firebase_rtdb_data_type_file (10) + + count++; + } +} + +/** NOTE: + * When you trying to get boolean, integer and floating point number using getXXX from string, json + * and array that stored on the database, the value will not set (unchanged) in the + * FirebaseData object because of the request and data response type are mismatched. + * + * There is no error reported in this case, until you set this option to true + * config.rtdb.data_type_stricted = true; + * + * In the case of unknown type of data to be retrieved, please use generic get function and cast its value to desired type like this + * + * Firebase.RTDB.get(&fbdo, "/path/to/node"); + * + * float value = fbdo.to(); + * String str = fbdo.to(); + * + */ + +/// PLEASE AVOID THIS //// + +// Please avoid the following inappropriate and inefficient use cases +/** + * + * 1. Call get repeatedly inside the loop without the appropriate timing for execution provided e.g. millis() or conditional checking, + * where delay should be avoided. + * + * Everytime get was called, the request header need to be sent to server which its size depends on the authentication method used, + * and costs your data usage. + * + * Please use stream function instead for this use case. + * + * 2. Using the single FirebaseData object to call different type functions as above example without the appropriate + * timing for execution provided in the loop i.e., repeatedly switching call between get and set functions. + * + * In addition to costs the data usage, the delay will be involved as the session needs to be closed and opened too often + * due to the HTTP method (GET, PUT, POST, PATCH and DELETE) was changed in the incoming request. + * + * + * Please reduce the use of swithing calls by store the multiple values to the JSON object and store it once on the database. + * + * Or calling continuously "set" or "setAsync" functions without "get" called in between, and calling get continuously without set + * called in between. + * + * If you needed to call arbitrary "get" and "set" based on condition or event, use another FirebaseData object to avoid the session + * closing and reopening. + * + * 3. Use of delay or hidden delay or blocking operation to wait for hardware ready in the third party sensor libraries, together with stream functions e.g. Firebase.RTDB.readStream and fbdo.streamAvailable in the loop. + * + * Please use non-blocking mode of sensor libraries (if available) or use millis instead of delay in your code. + * + * 4. Blocking the token generation process. + * + * Let the authentication token generation to run without blocking, the following code MUST BE AVOIDED. + * + * while (!Firebase.ready()) <---- Don't do this in while loop + * { + * delay(1000); + * } + * + */ \ No newline at end of file diff --git a/examples/RTDB/BasicCert/BasicCert.ino b/examples/RTDB/BasicCert/BasicCert.ino new file mode 100644 index 000000000..22dc5c3a9 --- /dev/null +++ b/examples/RTDB/BasicCert/BasicCert.ino @@ -0,0 +1,343 @@ + +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +// If SD Card used for cert file storage, assign SD card type and FS used in src/FirebaseFS.h and +// change the config for that card interfaces in src/addons/SDHelper.h + +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +// Provide the RTDB payload printing info and other helper functions. +#include + +// Provide the SD card interfaces setting and mounting +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/* 2. Define the API Key */ +#define API_KEY "API_KEY" + +/* 3. Define the RTDB URL */ +#define DATABASE_URL "URL" //.firebaseio.com or ..firebasedatabase.app + +/* 4. Define the user Email and password that alreadey registerd or added in your project */ +#define USER_EMAIL "USER_EMAIL" +#define USER_PASSWORD "USER_PASSWORD" + +/* Google Root CA can be downloaded from https://pki.goog/repository/ */ + +/** From the test as of July 2021, GlobalSign Root CA was missing from Google server + * when checking with https://www.sslchecker.com/sslchecker. + * The certificate chain, GTS Root R1 can be used instead. + */ + +const char rootCACert[] PROGMEM = "-----BEGIN CERTIFICATE-----\n" + "MIIFVzCCAz+gAwIBAgINAgPlk28xsBNJiGuiFzANBgkqhkiG9w0BAQwFADBHMQsw\n" + "CQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEU\n" + "MBIGA1UEAxMLR1RTIFJvb3QgUjEwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAw\n" + "MDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZp\n" + "Y2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjEwggIiMA0GCSqGSIb3DQEBAQUA\n" + "A4ICDwAwggIKAoICAQC2EQKLHuOhd5s73L+UPreVp0A8of2C+X0yBoJx9vaMf/vo\n" + "27xqLpeXo4xL+Sv2sfnOhB2x+cWX3u+58qPpvBKJXqeqUqv4IyfLpLGcY9vXmX7w\n" + "Cl7raKb0xlpHDU0QM+NOsROjyBhsS+z8CZDfnWQpJSMHobTSPS5g4M/SCYe7zUjw\n" + "TcLCeoiKu7rPWRnWr4+wB7CeMfGCwcDfLqZtbBkOtdh+JhpFAz2weaSUKK0Pfybl\n" + "qAj+lug8aJRT7oM6iCsVlgmy4HqMLnXWnOunVmSPlk9orj2XwoSPwLxAwAtcvfaH\n" + "szVsrBhQf4TgTM2S0yDpM7xSma8ytSmzJSq0SPly4cpk9+aCEI3oncKKiPo4Zor8\n" + "Y/kB+Xj9e1x3+naH+uzfsQ55lVe0vSbv1gHR6xYKu44LtcXFilWr06zqkUspzBmk\n" + "MiVOKvFlRNACzqrOSbTqn3yDsEB750Orp2yjj32JgfpMpf/VjsPOS+C12LOORc92\n" + "wO1AK/1TD7Cn1TsNsYqiA94xrcx36m97PtbfkSIS5r762DL8EGMUUXLeXdYWk70p\n" + "aDPvOmbsB4om3xPXV2V4J95eSRQAogB/mqghtqmxlbCluQ0WEdrHbEg8QOB+DVrN\n" + "VjzRlwW5y0vtOUucxD/SVRNuJLDWcfr0wbrM7Rv1/oFB2ACYPTrIrnqYNxgFlQID\n" + "AQABo0IwQDAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4E\n" + "FgQU5K8rJnEaK0gnhS9SZizv8IkTcT4wDQYJKoZIhvcNAQEMBQADggIBAJ+qQibb\n" + "C5u+/x6Wki4+omVKapi6Ist9wTrYggoGxval3sBOh2Z5ofmmWJyq+bXmYOfg6LEe\n" + "QkEzCzc9zolwFcq1JKjPa7XSQCGYzyI0zzvFIoTgxQ6KfF2I5DUkzps+GlQebtuy\n" + "h6f88/qBVRRiClmpIgUxPoLW7ttXNLwzldMXG+gnoot7TiYaelpkttGsN/H9oPM4\n" + "7HLwEXWdyzRSjeZ2axfG34arJ45JK3VmgRAhpuo+9K4l/3wV3s6MJT/KYnAK9y8J\n" + "ZgfIPxz88NtFMN9iiMG1D53Dn0reWVlHxYciNuaCp+0KueIHoI17eko8cdLiA6Ef\n" + "MgfdG+RCzgwARWGAtQsgWSl4vflVy2PFPEz0tv/bal8xa5meLMFrUKTX5hgUvYU/\n" + "Z6tGn6D/Qqc6f1zLXbBwHSs09dR2CQzreExZBfMzQsNhFRAbd03OIozUhfJFfbdT\n" + "6u9AWpQKXCBfTkBdYiJ23//OYb2MI3jSNwLgjt7RETeJ9r/tSQdirpLsQBqvFAnZ\n" + "0E6yove+7u7Y/9waLd64NnHi/Hm3lCXRSHNboTXns5lndcEZOitHTtNCjv0xyBZm\n" + "2tIMPNuzjsmhDYAPexZ3FL//2wmUspO8IFgV6dtxQ/PeEMMA3KgqlbbC1j+Qa3bb\n" + "bP6MvPJwNQzcmRk13NfIRmPVNnGuV/u3gm3c\n" + "-----END CERTIFICATE-----\n"; + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +unsigned long sendDataPrevMillis = 0; + +unsigned long count = 0; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + // For the following credentials, see examples/Authentications/SignInAsUser/EmailPassword/EmailPassword.ino + + /* Assign the api key (required) */ + config.api_key = API_KEY; + + /* Assign the user sign in credentials */ + auth.user.email = USER_EMAIL; + auth.user.password = USER_PASSWORD; + + /* Assign the RTDB URL (required) */ + config.database_url = DATABASE_URL; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.ssid = WIFI_SSID; + config.wifi.password = WIFI_PASSWORD; +#endif + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + /* In case the certificate data was used */ + config.cert.data = rootCACert; + + // Or custom set the root certificate for each FirebaseData object + fbdo.setCert(rootCACert); + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + /* Or assign the certificate file */ + + /** From the test on January 2022, GlobalSign Root CA was missing from Google server + * as described above, GTS Root R1 (gsr1.pem or gsr1.der) can be used instead. + * ESP32 Arduino SDK supports PEM format only even mBedTLS supports DER format too. + * ESP8266 SDK supports both PEM and DER format certificates. + */ + // config.cert.file = "/gtsr1.pem"; + // config.cert.file_storage = mem_storage_type_flash; //or mem_storage_type_sd + + // Or use legacy authenticate method + // config.database_url = DATABASE_URL; + // config.signer.tokens.legacy_token = ""; + + // To connect without auth in Test Mode, see Authentications/TestMode/TestMode.ino + + Firebase.begin(&config, &auth); + + Firebase.setDoubleDigits(5); + + // You can use TCP KeepAlive in FirebaseData object and tracking the server connection status, please read this for detail. + // https://github.com/mobizt/Firebase-ESP-Client#about-firebasedata-object + // fbdo.keepAlive(5, 5, 1); + + // If cert file stored in SD card, mount it. + // SD_Card_Mounting();//See src/addons/SDHelper.h + + /** Timeout options. + + //Network reconnect timeout (interval) in ms (10 sec - 5 min) when network or WiFi disconnected. + config.timeout.networkReconnect = 10 * 1000; + + //Socket connection and SSL handshake timeout in ms (1 sec - 1 min). + config.timeout.socketConnection = 10 * 1000; + + //Server response read timeout in ms (1 sec - 1 min). + config.timeout.serverResponse = 10 * 1000; + + //RTDB Stream keep-alive timeout in ms (20 sec - 2 min) when no server's keep-alive event data received. + config.timeout.rtdbKeepAlive = 45 * 1000; + + //RTDB Stream reconnect timeout (interval) in ms (1 sec - 1 min) when RTDB Stream closed and want to resume. + config.timeout.rtdbStreamReconnect = 1 * 1000; + + //RTDB Stream error notification timeout (interval) in ms (3 sec - 30 sec). It determines how often the readStream + //will return false (error) when it called repeatedly in loop. + config.timeout.rtdbStreamError = 3 * 1000; + + Note: + The function that starting the new TCP session i.e. first time server connection or previous session was closed, the function won't exit until the + time of config.timeout.socketConnection. + + You can also set the TCP data sending retry with + config.tcp_data_sending_retry = 1; + + */ +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready() && (millis() - sendDataPrevMillis > 15000 || sendDataPrevMillis == 0)) + { + sendDataPrevMillis = millis(); + + Serial.printf("Set bool... %s\n", Firebase.RTDB.setBool(&fbdo, "/test/bool", count % 2 == 0) ? "ok" : fbdo.errorReason().c_str()); + + Serial.printf("Get bool... %s\n", Firebase.RTDB.getBool(&fbdo, "/test/bool") ? fbdo.to() ? "true" : "false" : fbdo.errorReason().c_str()); + + bool bVal; + Serial.printf("Get bool ref... %s\n", Firebase.RTDB.getBool(&fbdo, "/test/bool", &bVal) ? bVal ? "true" : "false" : fbdo.errorReason().c_str()); + + Serial.printf("Set int... %s\n", Firebase.RTDB.setInt(&fbdo, "/test/int", count) ? "ok" : fbdo.errorReason().c_str()); + + Serial.printf("Get int... %s\n", Firebase.RTDB.getInt(&fbdo, "/test/int") ? String(fbdo.to()).c_str() : fbdo.errorReason().c_str()); + + int iVal = 0; + Serial.printf("Get int ref... %s\n", Firebase.RTDB.getInt(&fbdo, "/test/int", &iVal) ? String(iVal).c_str() : fbdo.errorReason().c_str()); + + Serial.printf("Set float... %s\n", Firebase.RTDB.setFloat(&fbdo, "/test/float", count + 10.2) ? "ok" : fbdo.errorReason().c_str()); + + Serial.printf("Get float... %s\n", Firebase.RTDB.getFloat(&fbdo, "/test/float") ? String(fbdo.to()).c_str() : fbdo.errorReason().c_str()); + + Serial.printf("Set double... %s\n", Firebase.RTDB.setDouble(&fbdo, "/test/double", count + 35.517549723765) ? "ok" : fbdo.errorReason().c_str()); + + Serial.printf("Get double... %s\n", Firebase.RTDB.getDouble(&fbdo, "/test/double") ? String(fbdo.to()).c_str() : fbdo.errorReason().c_str()); + + Serial.printf("Set string... %s\n", Firebase.RTDB.setString(&fbdo, "/test/string", "Hello World!") ? "ok" : fbdo.errorReason().c_str()); + + Serial.printf("Get string... %s\n", Firebase.RTDB.getString(&fbdo, "/test/string") ? fbdo.to() : fbdo.errorReason().c_str()); + + // For the usage of FirebaseJson, see examples/FirebaseJson/BasicUsage/Create_Edit_Parse.ino + FirebaseJson json; + + if (count == 0) + { + json.set("value/round/" + String(count), "cool!"); + json.set("value/ts/.sv", "timestamp"); + Serial.printf("Set json... %s\n", Firebase.RTDB.set(&fbdo, "/test/json", &json) ? "ok" : fbdo.errorReason().c_str()); + } + else + { + json.add(String(count), "smart!"); + Serial.printf("Update node... %s\n", Firebase.RTDB.updateNode(&fbdo, "/test/json/value/round", &json) ? "ok" : fbdo.errorReason().c_str()); + } + + Serial.println(); + + // For generic set/get functions. + + // For generic set, use Firebase.RTDB.set(&fbdo, , ) + + // For generic get, use Firebase.RTDB.get(&fbdo, ). + // And check its type with fbdo.dataType() or fbdo.dataTypeEnum() and + // cast the value from it e.g. fbdo.to(), fbdo.to(). + + // The function, fbdo.dataType() returns types String e.g. string, boolean, + // int, float, double, json, array, blob, file and null. + + // The function, fbdo.dataTypeEnum() returns type enum (number) e.g. firebase_rtdb_data_type_null (1), + // firebase_rtdb_data_type_integer, firebase_rtdb_data_type_float, firebase_rtdb_data_type_double, + // firebase_rtdb_data_type_boolean, firebase_rtdb_data_type_string, firebase_rtdb_data_type_json, + // firebase_rtdb_data_type_array, firebase_rtdb_data_type_blob, and firebase_rtdb_data_type_file (10) + + count++; + } +} + +/// PLEASE AVOID THIS //// + +// Please avoid the following inappropriate and inefficient use cases +/** + * + * 1. Call get repeatedly inside the loop without the appropriate timing for execution provided e.g. millis() or conditional checking, + * where delay should be avoided. + * + * Everytime get was called, the request header need to be sent to server which its size depends on the authentication method used, + * and costs your data usage. + * + * Please use stream function instead for this use case. + * + * 2. Using the single FirebaseData object to call different type functions as above example without the appropriate + * timing for execution provided in the loop i.e., repeatedly switching call between get and set functions. + * + * In addition to costs the data usage, the delay will be involved as the session needs to be closed and opened too often + * due to the HTTP method (GET, PUT, POST, PATCH and DELETE) was changed in the incoming request. + * + * + * Please reduce the use of swithing calls by store the multiple values to the JSON object and store it once on the database. + * + * Or calling continuously "set" or "setAsync" functions without "get" called in between, and calling get continuously without set + * called in between. + * + * If you needed to call arbitrary "get" and "set" based on condition or event, use another FirebaseData object to avoid the session + * closing and reopening. + * + * 3. Use of delay or hidden delay or blocking operation to wait for hardware ready in the third party sensor libraries, together with stream functions e.g. Firebase.RTDB.readStream and fbdo.streamAvailable in the loop. + * + * Please use non-blocking mode of sensor libraries (if available) or use millis instead of delay in your code. + * + * 4. Blocking the token generation process. + * + * Let the authentication token generation to run without blocking, the following code MUST BE AVOIDED. + * + * while (!Firebase.ready()) <---- Don't do this in while loop + * { + * delay(1000); + * } + * + */ \ No newline at end of file diff --git a/examples/RTDB/BasicCert/data/gtsr1.der b/examples/RTDB/BasicCert/data/gtsr1.der new file mode 100644 index 000000000..e193a059e Binary files /dev/null and b/examples/RTDB/BasicCert/data/gtsr1.der differ diff --git a/examples/RTDB/BasicCert/data/gtsr1.pem b/examples/RTDB/BasicCert/data/gtsr1.pem new file mode 100644 index 000000000..a13aa0564 --- /dev/null +++ b/examples/RTDB/BasicCert/data/gtsr1.pem @@ -0,0 +1,31 @@ +-----BEGIN CERTIFICATE----- +MIIFVzCCAz+gAwIBAgINAgPlk28xsBNJiGuiFzANBgkqhkiG9w0BAQwFADBHMQsw +CQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEU +MBIGA1UEAxMLR1RTIFJvb3QgUjEwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAw +MDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZp +Y2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjEwggIiMA0GCSqGSIb3DQEBAQUA +A4ICDwAwggIKAoICAQC2EQKLHuOhd5s73L+UPreVp0A8of2C+X0yBoJx9vaMf/vo +27xqLpeXo4xL+Sv2sfnOhB2x+cWX3u+58qPpvBKJXqeqUqv4IyfLpLGcY9vXmX7w +Cl7raKb0xlpHDU0QM+NOsROjyBhsS+z8CZDfnWQpJSMHobTSPS5g4M/SCYe7zUjw +TcLCeoiKu7rPWRnWr4+wB7CeMfGCwcDfLqZtbBkOtdh+JhpFAz2weaSUKK0Pfybl +qAj+lug8aJRT7oM6iCsVlgmy4HqMLnXWnOunVmSPlk9orj2XwoSPwLxAwAtcvfaH +szVsrBhQf4TgTM2S0yDpM7xSma8ytSmzJSq0SPly4cpk9+aCEI3oncKKiPo4Zor8 +Y/kB+Xj9e1x3+naH+uzfsQ55lVe0vSbv1gHR6xYKu44LtcXFilWr06zqkUspzBmk +MiVOKvFlRNACzqrOSbTqn3yDsEB750Orp2yjj32JgfpMpf/VjsPOS+C12LOORc92 +wO1AK/1TD7Cn1TsNsYqiA94xrcx36m97PtbfkSIS5r762DL8EGMUUXLeXdYWk70p +aDPvOmbsB4om3xPXV2V4J95eSRQAogB/mqghtqmxlbCluQ0WEdrHbEg8QOB+DVrN +VjzRlwW5y0vtOUucxD/SVRNuJLDWcfr0wbrM7Rv1/oFB2ACYPTrIrnqYNxgFlQID +AQABo0IwQDAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4E +FgQU5K8rJnEaK0gnhS9SZizv8IkTcT4wDQYJKoZIhvcNAQEMBQADggIBAJ+qQibb +C5u+/x6Wki4+omVKapi6Ist9wTrYggoGxval3sBOh2Z5ofmmWJyq+bXmYOfg6LEe +QkEzCzc9zolwFcq1JKjPa7XSQCGYzyI0zzvFIoTgxQ6KfF2I5DUkzps+GlQebtuy +h6f88/qBVRRiClmpIgUxPoLW7ttXNLwzldMXG+gnoot7TiYaelpkttGsN/H9oPM4 +7HLwEXWdyzRSjeZ2axfG34arJ45JK3VmgRAhpuo+9K4l/3wV3s6MJT/KYnAK9y8J +ZgfIPxz88NtFMN9iiMG1D53Dn0reWVlHxYciNuaCp+0KueIHoI17eko8cdLiA6Ef +MgfdG+RCzgwARWGAtQsgWSl4vflVy2PFPEz0tv/bal8xa5meLMFrUKTX5hgUvYU/ +Z6tGn6D/Qqc6f1zLXbBwHSs09dR2CQzreExZBfMzQsNhFRAbd03OIozUhfJFfbdT +6u9AWpQKXCBfTkBdYiJ23//OYb2MI3jSNwLgjt7RETeJ9r/tSQdirpLsQBqvFAnZ +0E6yove+7u7Y/9waLd64NnHi/Hm3lCXRSHNboTXns5lndcEZOitHTtNCjv0xyBZm +2tIMPNuzjsmhDYAPexZ3FL//2wmUspO8IFgV6dtxQ/PeEMMA3KgqlbbC1j+Qa3bb +bP6MvPJwNQzcmRk13NfIRmPVNnGuV/u3gm3c +-----END CERTIFICATE----- diff --git a/examples/RTDB/BasicEthernet/ESP32/ESP32.ino b/examples/RTDB/BasicEthernet/ESP32/ESP32.ino new file mode 100644 index 000000000..acdcc5f80 --- /dev/null +++ b/examples/RTDB/BasicEthernet/ESP32/ESP32.ino @@ -0,0 +1,362 @@ + +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +// This example shows how to read, store and update database using get, set, push and update functions. + +// This example is for ESP32 with LAN8720 Ethernet board. + +/** + * There are may sources for LAN8720 and ESP32 interconnection on the internet which may + * work for your LAN8720 board. + * + * Some methods worked unless no IP is available. + * + * This modification and interconnection provided in this example are mostly worked as + * the 50 MHz clock was created internally in ESP32 which GPIO 17 is set to be output of this clock + * and feeds to the LAN8720 chip XTAL input. + * + * The on-board LAN8720 50 MHz XTAL chip will be disabled by connect its enable pin or pin 1 to GND. + * + * Pleae see the images in the folder "modified_LAN8720_board_images" for how to modify the LAN8720 board. + * + * The LAN8720 Ethernet modified board and ESP32 board wiring connection. + * + * ESP32 LAN8720 + * + * GPIO17 - EMAC_CLK_OUT_180 nINT/REFCLK - LAN8720 XTAL1/CLKIN 4k7 Pulldown + * GPIO22 - EMAC_TXD1 TX1 + * GPIO19 - EMAC_TXD0 TX0 + * GPIO21 - EMAC_TX_EN TX_EN + * GPIO26 - EMAC_RXD1 RX1 + * GPIO25 - EMAC_RXD0 RX0 + * GPIO27 - EMAC_RX_DV CRS + * GPIO23 - MDC MDC + * GPIO18 - MDIO MDIO + * GND GND + * 3V3 VCC + * + */ + +#include + +// Provide the token generation process info. +#include + +// Provide the RTDB payload printing info and other helper functions. +#include + +/* 1. Define the API Key */ +#define API_KEY "API_KEY" + +/* 2. Define the RTDB URL */ +#define DATABASE_URL "URL" //.firebaseio.com or ..firebasedatabase.app + +/* 3. Define the user Email and password that alreadey registerd or added in your project */ +#define USER_EMAIL "USER_EMAIL" +#define USER_PASSWORD "USER_PASSWORD" + +#ifdef ETH_CLK_MODE +#undef ETH_CLK_MODE +#endif +#define ETH_CLK_MODE ETH_CLOCK_GPIO17_OUT // RMII clock output from GPIO17 + +// Pin# of the enable signal for the external crystal oscillator (-1 to disable) +#define ETH_POWER_PIN -1 + +// Type of the Ethernet PHY (LAN8720 or TLK110) +#define ETH_TYPE ETH_PHY_LAN8720 + +// I²C-address of Ethernet PHY (0 or 1 for LAN8720, 31 for TLK110) +#define ETH_ADDR 1 + +// Pin# of the I²C clock signal for the Ethernet PHY +#define ETH_MDC_PIN 23 + +// Pin# of the I²C IO signal for the Ethernet PHY +#define ETH_MDIO_PIN 18 + +static bool eth_connected = false; + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +unsigned long sendDataPrevMillis = 0; + +unsigned long count = 0; + +bool firebaseConfigReady = false; + +#if defined(ESP32) + +void WiFiEvent(WiFiEvent_t event) +{ + // Do not run any function here to prevent stack overflow or nested interrupt + +#if ESP_IDF_VERSION >= ESP_IDF_VERSION_VAL(4, 4, 0) + + switch (event) + { + case ARDUINO_EVENT_ETH_START: + Serial.println("ETH Started"); + // set eth hostname here + ETH.setHostname("esp32-ethernet"); + break; + case ARDUINO_EVENT_ETH_CONNECTED: + Serial.println("ETH Connected"); + break; + case ARDUINO_EVENT_ETH_GOT_IP: + Serial.print("ETH MAC: "); + Serial.print(ETH.macAddress()); + Serial.print(", IPv4: "); + Serial.print(ETH.localIP()); + if (ETH.fullDuplex()) + { + Serial.print(", FULL_DUPLEX"); + } + Serial.print(", "); + Serial.print(ETH.linkSpeed()); + Serial.println("Mbps"); + eth_connected = true; + break; + case ARDUINO_EVENT_ETH_DISCONNECTED: + Serial.println("ETH Disconnected"); + eth_connected = false; + break; + case ARDUINO_EVENT_ETH_STOP: + Serial.println("ETH Stopped"); + eth_connected = false; + break; + default: + break; + } + +#else + switch (event) + { + case SYSTEM_EVENT_ETH_START: + Serial.println("ETH Started"); + // set eth hostname here + ETH.setHostname("esp32-ethernet"); + break; + case SYSTEM_EVENT_ETH_CONNECTED: + Serial.println("ETH Connected"); + break; + case SYSTEM_EVENT_ETH_GOT_IP: + Serial.print("ETH MAC: "); + Serial.print(ETH.macAddress()); + Serial.print(", IPv4: "); + Serial.print(ETH.localIP()); + if (ETH.fullDuplex()) + { + Serial.print(", FULL_DUPLEX"); + } + Serial.print(", "); + Serial.print(ETH.linkSpeed()); + Serial.println("Mbps"); + eth_connected = true; + break; + case SYSTEM_EVENT_ETH_DISCONNECTED: + Serial.println("ETH Disconnected"); + eth_connected = false; + break; + case SYSTEM_EVENT_ETH_STOP: + Serial.println("ETH Stopped"); + eth_connected = false; + break; + default: + break; + } +#endif +} + +#endif + +void setupFirebase() +{ + if (firebaseConfigReady) + return; + + firebaseConfigReady = true; + + // For the following credentials, see examples/Authentications/SignInAsUser/EmailPassword/EmailPassword.ino + + /* Assign the api key (required) */ + config.api_key = API_KEY; + + /* Assign the user sign in credentials */ + auth.user.email = USER_EMAIL; + auth.user.password = USER_PASSWORD; + + /* Assign the RTDB URL (required) */ + config.database_url = DATABASE_URL; + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + // Or use legacy authenticate method + // config.database_url = DATABASE_URL; + // config.signer.tokens.legacy_token = ""; + + // To connect without auth in Test Mode, see Authentications/TestMode/TestMode.ino + + Firebase.begin(&config, &auth); + + Firebase.setDoubleDigits(5); +} + +void testFirebase() +{ + + sendDataPrevMillis = millis(); + + Serial.printf("Set bool... %s\n", Firebase.RTDB.setBool(&fbdo, "/test/bool", count % 2 == 0) ? "ok" : fbdo.errorReason().c_str()); + + Serial.printf("Get bool... %s\n", Firebase.RTDB.getBool(&fbdo, "/test/bool") ? fbdo.to() ? "true" : "false" : fbdo.errorReason().c_str()); + + bool bVal; + Serial.printf("Get bool ref... %s\n", Firebase.RTDB.getBool(&fbdo, "/test/bool", &bVal) ? bVal ? "true" : "false" : fbdo.errorReason().c_str()); + + Serial.printf("Set int... %s\n", Firebase.RTDB.setInt(&fbdo, "/test/int", count) ? "ok" : fbdo.errorReason().c_str()); + + Serial.printf("Get int... %s\n", Firebase.RTDB.getInt(&fbdo, "/test/int") ? String(fbdo.to()).c_str() : fbdo.errorReason().c_str()); + + int iVal = 0; + Serial.printf("Get int ref... %s\n", Firebase.RTDB.getInt(&fbdo, "/test/int", &iVal) ? String(iVal).c_str() : fbdo.errorReason().c_str()); + + Serial.printf("Set float... %s\n", Firebase.RTDB.setFloat(&fbdo, "/test/float", count + 10.2) ? "ok" : fbdo.errorReason().c_str()); + + Serial.printf("Get float... %s\n", Firebase.RTDB.getFloat(&fbdo, "/test/float") ? String(fbdo.to()).c_str() : fbdo.errorReason().c_str()); + + Serial.printf("Set double... %s\n", Firebase.RTDB.setDouble(&fbdo, "/test/double", count + 35.517549723765) ? "ok" : fbdo.errorReason().c_str()); + + Serial.printf("Get double... %s\n", Firebase.RTDB.getDouble(&fbdo, "/test/double") ? String(fbdo.to()).c_str() : fbdo.errorReason().c_str()); + + Serial.printf("Set string... %s\n", Firebase.RTDB.setString(&fbdo, "/test/string", "Hello World!") ? "ok" : fbdo.errorReason().c_str()); + + Serial.printf("Get string... %s\n", Firebase.RTDB.getString(&fbdo, "/test/string") ? fbdo.to() : fbdo.errorReason().c_str()); + + // For the usage of FirebaseJson, see examples/FirebaseJson/BasicUsage/Create_Edit_Parse.ino + FirebaseJson json; + + if (count == 0) + { + json.set("value/round/" + String(count), "cool!"); + json.set("value/ts/.sv", "timestamp"); + Serial.printf("Set json... %s\n", Firebase.RTDB.set(&fbdo, "/test/json", &json) ? "ok" : fbdo.errorReason().c_str()); + } + else + { + json.add(String(count), "smart!"); + Serial.printf("Update node... %s\n", Firebase.RTDB.updateNode(&fbdo, "/test/json/value/round", &json) ? "ok" : fbdo.errorReason().c_str()); + } + + Serial.println(); + + // For generic set/get functions. + + // For generic set, use Firebase.RTDB.set(&fbdo, , ) + + // For generic get, use Firebase.RTDB.get(&fbdo, ). + // And check its type with fbdo.dataType() or fbdo.dataTypeEnum() and + // cast the value from it e.g. fbdo.to(), fbdo.to(). + + // The function, fbdo.dataType() returns types String e.g. string, boolean, + // int, float, double, json, array, blob, file and null. + + // The function, fbdo.dataTypeEnum() returns type enum (number) e.g. firebase_rtdb_data_type_null (1), + // firebase_rtdb_data_type_integer, firebase_rtdb_data_type_float, firebase_rtdb_data_type_double, + // firebase_rtdb_data_type_boolean, firebase_rtdb_data_type_string, firebase_rtdb_data_type_json, + // firebase_rtdb_data_type_array, firebase_rtdb_data_type_blob, and firebase_rtdb_data_type_file (10) + + count++; +} + +/// PLEASE AVOID THIS //// + +// Please avoid the following inappropriate and inefficient use cases +/** + * + * 1. Call get repeatedly inside the loop without the appropriate timing for execution provided e.g. millis() or conditional checking, + * where delay should be avoided. + * + * Everytime get was called, the request header need to be sent to server which its size depends on the authentication method used, + * and costs your data usage. + * + * Please use stream function instead for this use case. + * + * 2. Using the single FirebaseData object to call different type functions as above example without the appropriate + * timing for execution provided in the loop i.e., repeatedly switching call between get and set functions. + * + * In addition to costs the data usage, the delay will be involved as the session needs to be closed and opened too often + * due to the HTTP method (GET, PUT, POST, PATCH and DELETE) was changed in the incoming request. + * + * + * Please reduce the use of swithing calls by store the multiple values to the JSON object and store it once on the database. + * + * Or calling continuously "set" or "setAsync" functions without "get" called in between, and calling get continuously without set + * called in between. + * + * If you needed to call arbitrary "get" and "set" based on condition or event, use another FirebaseData object to avoid the session + * closing and reopening. + * + * 3. Use of delay or hidden delay or blocking operation to wait for hardware ready in the third party sensor libraries, together with stream functions e.g. Firebase.RTDB.readStream and fbdo.streamAvailable in the loop. + * + * Please use non-blocking mode of sensor libraries (if available) or use millis instead of delay in your code. + * + * 4. Blocking the token generation process. + * + * Let the authentication token generation to run without blocking, the following code MUST BE AVOIDED. + * + * while (!Firebase.ready()) <---- Don't do this in while loop + * { + * delay(1000); + * } + * + */ + +void setup() +{ + + Serial.begin(115200); + Serial.println(); + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); +#if defined(ESP32) + WiFi.onEvent(WiFiEvent); + ETH.begin(ETH_ADDR, ETH_POWER_PIN, ETH_MDC_PIN, ETH_MDIO_PIN, ETH_TYPE, ETH_CLK_MODE); +#endif +} + +void loop() +{ +#if defined(ESP32) + if (eth_connected && (millis() - sendDataPrevMillis > 30000 || sendDataPrevMillis == 0)) + { + sendDataPrevMillis = millis(); + setupFirebase(); + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready()) + testFirebase(); + } +#endif +} diff --git a/examples/RTDB/BasicEthernet/ESP32/modified_LAN8720_board_images/lan8720_modified_board.png b/examples/RTDB/BasicEthernet/ESP32/modified_LAN8720_board_images/lan8720_modified_board.png new file mode 100644 index 000000000..44d0d7907 Binary files /dev/null and b/examples/RTDB/BasicEthernet/ESP32/modified_LAN8720_board_images/lan8720_modified_board.png differ diff --git a/examples/RTDB/BasicEthernet/ESP32/modified_LAN8720_board_images/lan8720_modified_schematic.png b/examples/RTDB/BasicEthernet/ESP32/modified_LAN8720_board_images/lan8720_modified_schematic.png new file mode 100644 index 000000000..9dc3d1176 Binary files /dev/null and b/examples/RTDB/BasicEthernet/ESP32/modified_LAN8720_board_images/lan8720_modified_schematic.png differ diff --git a/examples/RTDB/BasicEthernet/ESP8266/ESP8266.ino b/examples/RTDB/BasicEthernet/ESP8266/ESP8266.ino new file mode 100644 index 000000000..8ebaa9579 --- /dev/null +++ b/examples/RTDB/BasicEthernet/ESP8266/ESP8266.ino @@ -0,0 +1,291 @@ + +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +// This example shows how to read, store and update database using get, set, push and update functions. + +// This example is for ESP8266 and ENC28J60 Ethernet module. + +/** + * + * The ENC28J60 Ethernet module and ESP8266 board, SPI port wiring connection. + * + * ESP8266 (Wemos D1 Mini or NodeMCU) ENC28J60 + * + * GPIO12 (D6) - MISO SO + * GPIO13 (D7) - MOSI SI + * GPIO14 (D5) - SCK SCK + * GPIO16 (D0) - CS CS + * GND GND + * 3V3 VCC + * + */ + +#include +// #include +// #include + +/** Don't gorget to define this in FirebaseFS.h + #define ENABLE_ESP8266_ENC28J60_ETH +*/ + +/** For W5100 ethernet module and PlatformIO IDE, please set the lib_ldf_mode in platformio.ini as this + lib_ldf_mode = chain+ +*/ + +#include + +// Provide the token generation process info. +#include + +// Provide the RTDB payload printing info and other helper functions. +#include + +/* 1. Define the API Key */ +#define API_KEY "API_KEY" + +/* 2. Define the RTDB URL */ +#define DATABASE_URL "URL" //.firebaseio.com or ..firebasedatabase.app + +/* 3. Define the user Email and password that alreadey registerd or added in your project */ +#define USER_EMAIL "USER_EMAIL" +#define USER_PASSWORD "USER_PASSWORD" + +#define ETH_CS_PIN 16 // D0 + +ENC28J60lwIP eth(ETH_CS_PIN); +// Wiznet5100lwIP eth(ETH_CS_PIN); +// Wiznet5500lwIP eth(ETH_CS_PIN); + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +unsigned long sendDataPrevMillis = 0; + +unsigned long count = 0; + +bool firebaseConfigReady = false; + +void setupFirebase() +{ + if (firebaseConfigReady) + return; + + firebaseConfigReady = true; + + // For the following credentials, see examples/Authentications/SignInAsUser/EmailPassword/EmailPassword.ino + + /* Assign the api key (required) */ + config.api_key = API_KEY; + + /* Assign the user sign in credentials */ + auth.user.email = USER_EMAIL; + auth.user.password = USER_PASSWORD; + + /* Assign the RTDB URL (required) */ + config.database_url = DATABASE_URL; + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + /* Assign the pointer to Ethernet module lwip interface */ +#if defined(ENABLE_ESP8266_ENC28J60_ETH) + config.spi_ethernet_module.enc28j60 = ð +#endif +#if defined(ENABLE_ESP8266_W5100_ETH) + config.spi_ethernet_module.w5100 = ð +#endif +#if defined(ENABLE_ESP8266_W5500_ETH) + config.spi_ethernet_module.w5500 = ð +#endif + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + // Or use legacy authenticate method + // config.database_url = DATABASE_URL; + // config.signer.tokens.legacy_token = ""; + + // To connect without auth in Test Mode, see Authentications/TestMode/TestMode.ino + + Firebase.begin(&config, &auth); + + Firebase.setDoubleDigits(5); +} + +void testFirebase() +{ + + sendDataPrevMillis = millis(); + + Serial.printf("Set bool... %s\n", Firebase.RTDB.setBool(&fbdo, "/test/bool", count % 2 == 0) ? "ok" : fbdo.errorReason().c_str()); + + Serial.printf("Get bool... %s\n", Firebase.RTDB.getBool(&fbdo, "/test/bool") ? fbdo.to() ? "true" : "false" : fbdo.errorReason().c_str()); + + bool bVal; + Serial.printf("Get bool ref... %s\n", Firebase.RTDB.getBool(&fbdo, "/test/bool", &bVal) ? bVal ? "true" : "false" : fbdo.errorReason().c_str()); + + Serial.printf("Set int... %s\n", Firebase.RTDB.setInt(&fbdo, "/test/int", count) ? "ok" : fbdo.errorReason().c_str()); + + Serial.printf("Get int... %s\n", Firebase.RTDB.getInt(&fbdo, "/test/int") ? String(fbdo.to()).c_str() : fbdo.errorReason().c_str()); + + int iVal = 0; + Serial.printf("Get int ref... %s\n", Firebase.RTDB.getInt(&fbdo, "/test/int", &iVal) ? String(iVal).c_str() : fbdo.errorReason().c_str()); + + Serial.printf("Set float... %s\n", Firebase.RTDB.setFloat(&fbdo, "/test/float", count + 10.2) ? "ok" : fbdo.errorReason().c_str()); + + Serial.printf("Get float... %s\n", Firebase.RTDB.getFloat(&fbdo, "/test/float") ? String(fbdo.to()).c_str() : fbdo.errorReason().c_str()); + + Serial.printf("Set double... %s\n", Firebase.RTDB.setDouble(&fbdo, "/test/double", count + 35.517549723765) ? "ok" : fbdo.errorReason().c_str()); + + Serial.printf("Get double... %s\n", Firebase.RTDB.getDouble(&fbdo, "/test/double") ? String(fbdo.to()).c_str() : fbdo.errorReason().c_str()); + + Serial.printf("Set string... %s\n", Firebase.RTDB.setString(&fbdo, "/test/string", "Hello World!") ? "ok" : fbdo.errorReason().c_str()); + + Serial.printf("Get string... %s\n", Firebase.RTDB.getString(&fbdo, "/test/string") ? fbdo.to() : fbdo.errorReason().c_str()); + + // For the usage of FirebaseJson, see examples/FirebaseJson/BasicUsage/Create_Edit_Parse.ino + FirebaseJson json; + + if (count == 0) + { + json.set("value/round/" + String(count), "cool!"); + json.set("value/ts/.sv", "timestamp"); + Serial.printf("Set json... %s\n", Firebase.RTDB.set(&fbdo, "/test/json", &json) ? "ok" : fbdo.errorReason().c_str()); + } + else + { + json.add(String(count), "smart!"); + Serial.printf("Update node... %s\n", Firebase.RTDB.updateNode(&fbdo, "/test/json/value/round", &json) ? "ok" : fbdo.errorReason().c_str()); + } + + Serial.println(); + + // For generic set/get functions. + + // For generic set, use Firebase.RTDB.set(&fbdo, , ) + + // For generic get, use Firebase.RTDB.get(&fbdo, ). + // And check its type with fbdo.dataType() or fbdo.dataTypeEnum() and + // cast the value from it e.g. fbdo.to(), fbdo.to(). + + // The function, fbdo.dataType() returns types String e.g. string, boolean, + // int, float, double, json, array, blob, file and null. + + // The function, fbdo.dataTypeEnum() returns type enum (number) e.g. firebase_rtdb_data_type_null (1), + // firebase_rtdb_data_type_integer, firebase_rtdb_data_type_float, firebase_rtdb_data_type_double, + // firebase_rtdb_data_type_boolean, firebase_rtdb_data_type_string, firebase_rtdb_data_type_json, + // firebase_rtdb_data_type_array, firebase_rtdb_data_type_blob, and firebase_rtdb_data_type_file (10) + + count++; +} + +/// PLEASE AVOID THIS //// + +// Please avoid the following inappropriate and inefficient use cases +/** + * + * 1. Call get repeatedly inside the loop without the appropriate timing for execution provided e.g. millis() or conditional checking, + * where delay should be avoided. + * + * Everytime get was called, the request header need to be sent to server which its size depends on the authentication method used, + * and costs your data usage. + * + * Please use stream function instead for this use case. + * + * 2. Using the single FirebaseData object to call different type functions as above example without the appropriate + * timing for execution provided in the loop i.e., repeatedly switching call between get and set functions. + * + * In addition to costs the data usage, the delay will be involved as the session needs to be closed and opened too often + * due to the HTTP method (GET, PUT, POST, PATCH and DELETE) was changed in the incoming request. + * + * + * Please reduce the use of swithing calls by store the multiple values to the JSON object and store it once on the database. + * + * Or calling continuously "set" or "setAsync" functions without "get" called in between, and calling get continuously without set + * called in between. + * + * If you needed to call arbitrary "get" and "set" based on condition or event, use another FirebaseData object to avoid the session + * closing and reopening. + * + * 3. Use of delay or hidden delay or blocking operation to wait for hardware ready in the third party sensor libraries, together with stream functions e.g. Firebase.RTDB.readStream and fbdo.streamAvailable in the loop. + * + * Please use non-blocking mode of sensor libraries (if available) or use millis instead of delay in your code. + * + * 4. Blocking the token generation process. + * + * Let the authentication token generation to run without blocking, the following code MUST BE AVOIDED. + * + * while (!Firebase.ready()) <---- Don't do this in while loop + * { + * delay(1000); + * } + * + */ + +void setup() +{ + + Serial.begin(115200); + Serial.println(); + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + +#if defined(ESP8266) + SPI.begin(); + SPI.setClockDivider(SPI_CLOCK_DIV4); // 4 MHz? + SPI.setBitOrder(MSBFIRST); + SPI.setDataMode(SPI_MODE0); + eth.setDefault(); // use ethernet for default route + if (!eth.begin()) + { + Serial.println("ethernet hardware not found ... sleeping"); + while (1) + { + delay(1000); + } + } + else + { + Serial.print("connecting ethernet"); + while (!eth.connected()) + { + Serial.print("."); + delay(1000); + } + } + Serial.println(); + Serial.print("ethernet IP address: "); + Serial.println(eth.localIP()); +#endif +} + +void loop() +{ +#if defined(ESP8266) + if (millis() - sendDataPrevMillis > 30000 || sendDataPrevMillis == 0) + { + sendDataPrevMillis = millis(); + setupFirebase(); + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready()) + testFirebase(); + } +#endif +} diff --git a/examples/RTDB/Blob/Blob.ino b/examples/RTDB/Blob/Blob.ino new file mode 100644 index 000000000..97a3adc55 --- /dev/null +++ b/examples/RTDB/Blob/Blob.ino @@ -0,0 +1,156 @@ +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +// This example shows how to store and read binary data from memory to database. + +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +// Provide the RTDB payload printing info and other helper functions. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +// For the following credentials, see examples/Authentications/SignInAsUser/EmailPassword/EmailPassword.ino + +/* 2. Define the API Key */ +#define API_KEY "API_KEY" + +/* 3. Define the RTDB URL */ +#define DATABASE_URL "URL" //.firebaseio.com or ..firebasedatabase.app + +/* 4. Define the user Email and password that alreadey registerd or added in your project */ +#define USER_EMAIL "USER_EMAIL" +#define USER_PASSWORD "USER_PASSWORD" + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +unsigned long sendDataPrevMillis = 0; + +int count = 0; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the api key (required) */ + config.api_key = API_KEY; + + /* Assign the user sign in credentials */ + auth.user.email = USER_EMAIL; + auth.user.password = USER_PASSWORD; + + /* Assign the RTDB URL (required) */ + config.database_url = DATABASE_URL; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + // Or use legacy authenticate method + // config.database_url = DATABASE_URL; + // config.signer.tokens.legacy_token = ""; + + // To connect without auth in Test Mode, see Authentications/TestMode/TestMode.ino + + Firebase.begin(&config, &auth); +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready() && (millis() - sendDataPrevMillis > 15000 || sendDataPrevMillis == 0)) + { + sendDataPrevMillis = millis(); + + // Create demo data + uint8_t data[256]; + for (int i = 0; i < 256; i++) + data[i] = count; + + Serial.printf("Set BLOB... %s\n", Firebase.RTDB.setBlob(&fbdo, "/test/blob", data, sizeof(data)) ? "ok" : fbdo.errorReason().c_str()); + + Serial.printf("Get BLOB... %s\n", Firebase.RTDB.getBlob(&fbdo, "/test/blob") ? "ok" : fbdo.errorReason().c_str()); + + if (fbdo.httpCode() == FIREBASE_ERROR_HTTP_CODE_OK) // 200 + printResult(fbdo); // see addons/RTDBHelper.h + + Serial.println(); + + (count < 255) ? count++ : count = 0; + } +} diff --git a/examples/RTDB/Blynk/Blynk.ino b/examples/RTDB/Blynk/Blynk.ino new file mode 100644 index 000000000..8a1bed740 --- /dev/null +++ b/examples/RTDB/Blynk/Blynk.ino @@ -0,0 +1,200 @@ +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +// This example shows the basic usage of Blynk platform and Firebase RTDB. + +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +// Provide the RTDB payload printing info and other helper functions. +#include + +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/* 2. Define the API Key */ +#define API_KEY "API_KEY" + +/* 3. Define the RTDB URL */ +#define DATABASE_URL "URL" //.firebaseio.com or ..firebasedatabase.app + +/* 4. Define the user Email and password that alreadey registerd or added in your project */ +#define USER_EMAIL "USER_EMAIL" +#define USER_PASSWORD "USER_PASSWORD" + +// Define Firebase Data object +FirebaseData fbdo; +FirebaseData stream; + +FirebaseAuth auth; +FirebaseConfig config; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +// Debug Blynk to serial port +#define BLYNK_PRINT Serial + +// Auth token for your Blynk app project +#define BLYNK_AUTH "YOUR_BLYNK_APP_PROJECT_AUTH_TOKEN" + +String path = "/Blynk_Test/Int"; + +// D4 or GPIO2 on Wemos D1 mini +uint8_t BuiltIn_LED = 2; + +/** + * Blynk app Widget setup + * ********************** + * + * 1. Button Widget (Switch type), Output -> Virtual pin V1 + * 2. LED Widget, Input -> Virtual pin V2 + */ +WidgetLED led(V2); + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + // For the following credentials, see examples/Authentications/SignInAsUser/EmailPassword/EmailPassword.ino + + /* Assign the api key (required) */ + config.api_key = API_KEY; + + /* Assign the user sign in credentials */ + auth.user.email = USER_EMAIL; + auth.user.password = USER_PASSWORD; + + /* Assign the RTDB URL (required) */ + config.database_url = DATABASE_URL; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + // Or use legacy authenticate method + // config.database_url = DATABASE_URL; + // config.signer.tokens.legacy_token = ""; + + // To connect without auth in Test Mode, see Authentications/TestMode/TestMode.ino + + Firebase.begin(&config, &auth); + + if (!Firebase.RTDB.beginStream(&stream, "/test/blynk/int")) + Serial.printf("sream begin error, %s\n\n", stream.errorReason().c_str()); + + Blynk.begin(BLYNK_AUTH, WIFI_SSID, WIFI_PASSWORD); +} + +void loop() +{ + + Blynk.run(); + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready()) + { + if (!Firebase.RTDB.readStream(&stream)) + Serial.printf("sream read error, %s\n\n", stream.errorReason().c_str()); + + if (stream.streamTimeout()) + Serial.println("stream timeout, resuming...\n"); + + if (stream.streamAvailable()) + { + + Serial.printf("sream path, %s\nevent path, %s\ndata type, %s\nevent type, %s\nvalue, %d\n\n", + stream.streamPath().c_str(), + stream.dataPath().c_str(), + stream.dataType().c_str(), + stream.eventType().c_str(), + stream.intData()); + + if (stream.dataType() == "int") + { + if (stream.intData() == 1) + { + digitalWrite(BuiltIn_LED, HIGH); + led.on(); + } + else + { + digitalWrite(BuiltIn_LED, LOW); + led.off(); + } + } + } + } +} + +BLYNK_WRITE(V1) +{ + Serial.printf("Set int... %s\n\n", Firebase.RTDB.setInt(&fbdo, "/test/blynk/int", param.asInt()) ? "ok" : fbdo.errorReason().c_str()); +} diff --git a/examples/RTDB/Browser/index.html b/examples/RTDB/Browser/index.html new file mode 100644 index 000000000..b3aecbabf --- /dev/null +++ b/examples/RTDB/Browser/index.html @@ -0,0 +1,73 @@ + + + + Continuous Stream Event Trigger Test + + + + +
This html test page will store the continuous 10,000 values to the path /Test_Stream/Stream
+ In your Arduino code, set the stream path in Firebase.beginStream to /Test_Stream/Stream

+ And the stream callback function test code.

+ + void streamCallback(FirebaseStream data)
+ {
+
if (data.dataType() == "int")
+ {
+
Serial.print(count);
+ Serial.print(" ");
+ Serial.println(data.intData());
+ count++;
+ }
+ }

+ + Tempolary set the database rules in the Firebase project console to allow full read and write.
+ + { +
"rules": { +
".read": true,
+ ".write": true
+ }
+ }
+ + Press the Set button to store the 10,000 values to the Firebase RTDB.
+ Press the Delete button to delete the previous set data from the Firebase RTDB.
+ Don't forget to change projectID and Web API Key in the source of this html file. +

Check the values received in the stream callback function that will get all of these 10,000 values changes. +
+
+ + +
+ + + + + + + + + \ No newline at end of file diff --git a/examples/RTDB/DataChangesListener/Callback/Callback.ino b/examples/RTDB/DataChangesListener/Callback/Callback.ino new file mode 100644 index 000000000..f922d08dd --- /dev/null +++ b/examples/RTDB/DataChangesListener/Callback/Callback.ino @@ -0,0 +1,241 @@ +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +// Provide the RTDB payload printing info and other helper functions. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +// For the following credentials, see examples/Authentications/SignInAsUser/EmailPassword/EmailPassword.ino + +/* 2. Define the API Key */ +#define API_KEY "API_KEY" + +/* 3. Define the RTDB URL */ +#define DATABASE_URL "URL" //.firebaseio.com or ..firebasedatabase.app + +/* 4. Define the user Email and password that alreadey registerd or added in your project */ +#define USER_EMAIL "USER_EMAIL" +#define USER_PASSWORD "USER_PASSWORD" + +// Define Firebase Data object +FirebaseData stream; +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +unsigned long sendDataPrevMillis = 0; + +int count = 0; + +volatile bool dataChanged = false; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void streamCallback(FirebaseStream data) +{ + Serial.printf("sream path, %s\nevent path, %s\ndata type, %s\nevent type, %s\n\n", + data.streamPath().c_str(), + data.dataPath().c_str(), + data.dataType().c_str(), + data.eventType().c_str()); + printResult(data); // see addons/RTDBHelper.h + Serial.println(); + + // This is the size of stream payload received (current and max value) + // Max payload size is the payload size under the stream path since the stream connected + // and read once and will not update until stream reconnection takes place. + // This max value will be zero as no payload received in case of ESP8266 which + // BearSSL reserved Rx buffer size is less than the actual stream payload. + Serial.printf("Received stream payload size: %d (Max. %d)\n\n", data.payloadLength(), data.maxPayloadLength()); + + // Due to limited of stack memory, do not perform any task that used large memory here especially starting connect to server. + // Just set this flag and check it status later. + dataChanged = true; +} + +void streamTimeoutCallback(bool timeout) +{ + if (timeout) + Serial.println("stream timed out, resuming...\n"); + + if (!stream.httpConnected()) + Serial.printf("error code: %d, reason: %s\n\n", stream.httpCode(), stream.errorReason().c_str()); +} + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the api key (required) */ + config.api_key = API_KEY; + + /* Assign the user sign in credentials */ + auth.user.email = USER_EMAIL; + auth.user.password = USER_PASSWORD; + + /* Assign the RTDB URL (required) */ + config.database_url = DATABASE_URL; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(2048 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + stream.setBSSLBufferSize(2048 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + // Or use legacy authenticate method + // config.database_url = DATABASE_URL; + // config.signer.tokens.legacy_token = ""; + + // To connect without auth in Test Mode, see Authentications/TestMode/TestMode.ino + + Firebase.begin(&config, &auth); + +// You can use TCP KeepAlive For more reliable stream operation and tracking the server connection status, please read this for detail. +// https://github.com/mobizt/Firebase-ESP-Client#enable-tcp-keepalive-for-reliable-http-streaming +// You can use keepAlive in ESP8266 core version newer than v3.1.2. +// Or you can use git version (v3.1.2) https://github.com/esp8266/Arduino +#if defined(ESP32) + stream.keepAlive(5, 5, 1); +#endif + + if (!Firebase.RTDB.beginStream(&stream, "/test/stream/data")) + Serial.printf("sream begin error, %s\n\n", stream.errorReason().c_str()); + + Firebase.RTDB.setStreamCallback(&stream, streamCallback, streamTimeoutCallback); + + /** Timeout options, below is default config. + + //Network reconnect timeout (interval) in ms (10 sec - 5 min) when network or WiFi disconnected. + config.timeout.networkReconnect = 10 * 1000; + + //Socket begin connection timeout (ESP32) or data transfer timeout (ESP8266) in ms (1 sec - 1 min). + config.timeout.socketConnection = 30 * 1000; + + //ESP32 SSL handshake in ms (1 sec - 2 min). This option doesn't allow in ESP8266 core library. + config.timeout.sslHandshake = 2 * 60 * 1000; + + //Server response read timeout in ms (1 sec - 1 min). + config.timeout.serverResponse = 10 * 1000; + + //RTDB Stream keep-alive timeout in ms (20 sec - 2 min) when no server's keep-alive event data received. + config.timeout.rtdbKeepAlive = 45 * 1000; + + //RTDB Stream reconnect timeout (interval) in ms (1 sec - 1 min) when RTDB Stream closed and want to resume. + config.timeout.rtdbStreamReconnect = 1 * 1000; + + //RTDB Stream error notification timeout (interval) in ms (3 sec - 30 sec). It determines how often the readStream + //will return false (error) when it called repeatedly in loop. + config.timeout.rtdbStreamError = 3 * 1000; + + */ +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + +#if !defined(ESP8266) && !defined(ESP32) + Firebase.RTDB.runStream(); +#endif + + if (Firebase.ready() && (millis() - sendDataPrevMillis > 15000 || sendDataPrevMillis == 0)) + { + sendDataPrevMillis = millis(); + count++; + FirebaseJson json; + json.add("data", "hello"); + json.add("num", count); + Serial.printf("Set json... %s\n\n", Firebase.RTDB.setJSON(&fbdo, "/test/stream/data/json", &json) ? "ok" : fbdo.errorReason().c_str()); + } + + if (dataChanged) + { + dataChanged = false; + // When stream data is available, do anything here... + } + + // After calling stream.keepAlive, now we can track the server connecting status + if (!stream.httpConnected()) + { + // Server was disconnected! + } +} + +// To pause stream +// stream.pauseFirebase(true); +// stream.clear(); // close session and release memory + +// To resume stream with callback +// stream.pauseFirebase(false); +// Firebase.RTDB.setStreamCallback(&stream, streamCallback, streamTimeoutCallback); diff --git a/examples/RTDB/DataChangesListener/MultiPath/MultiPath.ino b/examples/RTDB/DataChangesListener/MultiPath/MultiPath.ino new file mode 100644 index 000000000..a3d1c0621 --- /dev/null +++ b/examples/RTDB/DataChangesListener/MultiPath/MultiPath.ino @@ -0,0 +1,269 @@ +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +// Provide the RTDB payload printing info and other helper functions. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +// For the following credentials, see examples/Authentications/SignInAsUser/EmailPassword/EmailPassword.ino + +/* 2. Define the API Key */ +#define API_KEY "API_KEY" + +/* 3. Define the RTDB URL */ +#define DATABASE_URL "URL" //.firebaseio.com or ..firebasedatabase.app + +/* 4. Define the user Email and password that alreadey registerd or added in your project */ +#define USER_EMAIL "USER_EMAIL" +#define USER_PASSWORD "USER_PASSWORD" + +// Define Firebase Data object +FirebaseData fbdo; +FirebaseData stream; + +FirebaseAuth auth; +FirebaseConfig config; + +unsigned long sendDataPrevMillis = 0; + +String parentPath = "/test/stream/data"; +String childPath[2] = {"/node1", "/node2"}; + +int count = 0; + +volatile bool dataChanged = false; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void streamCallback(MultiPathStream stream) +{ + size_t numChild = sizeof(childPath) / sizeof(childPath[0]); + + for (size_t i = 0; i < numChild; i++) + { + if (stream.get(childPath[i])) + { + Serial.printf("path: %s, event: %s, type: %s, value: %s%s", stream.dataPath.c_str(), stream.eventType.c_str(), stream.type.c_str(), stream.value.c_str(), i < numChild - 1 ? "\n" : ""); + } + } + + Serial.println(); + + // This is the size of stream payload received (current and max value) + // Max payload size is the payload size under the stream path since the stream connected + // and read once and will not update until stream reconnection takes place. + // This max value will be zero as no payload received in case of ESP8266 which + // BearSSL reserved Rx buffer size is less than the actual stream payload. + Serial.printf("Received stream payload size: %d (Max. %d)\n\n", stream.payloadLength(), stream.maxPayloadLength()); + + // Due to limited of stack memory, do not perform any task that used large memory here especially starting connect to server. + // Just set this flag and check it status later. + dataChanged = true; +} + +void streamTimeoutCallback(bool timeout) +{ + if (timeout) + Serial.println("stream timed out, resuming...\n"); + + if (!stream.httpConnected()) + Serial.printf("error code: %d, reason: %s\n\n", stream.httpCode(), stream.errorReason().c_str()); +} + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + Serial.println("The MultipathStream is obsoleted, please use normal stream instead."); + Serial.println("You can use may FirebaseData objects for multiple streaming in ESP32 and Raspberry Pi Pico."); + Serial.println("In case of ESP8266, external Static RAM is recommend for multiple streaming."); + Serial.println("For device with less memory, multiple streaming is not recommended."); + + /* Assign the api key (required) */ + config.api_key = API_KEY; + + /* Assign the user sign in credentials */ + auth.user.email = USER_EMAIL; + auth.user.password = USER_PASSWORD; + + /* Assign the RTDB URL (required) */ + config.database_url = DATABASE_URL; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(2048 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + stream.setBSSLBufferSize(2048 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + // Or use legacy authenticate method + // config.database_url = DATABASE_URL; + // config.signer.tokens.legacy_token = ""; + + // To connect without auth in Test Mode, see Authentications/TestMode/TestMode.ino + + Firebase.begin(&config, &auth); + + // You can use TCP KeepAlive For more reliable stream operation and tracking the server connection status, please read this for detail. + // https://github.com/mobizt/Firebase-ESP-Client#enable-tcp-keepalive-for-reliable-http-streaming + // You can use keepAlive in ESP8266 core version newer than v3.1.2. + // Or you can use git version (v3.1.2) https://github.com/esp8266/Arduino +#if defined(ESP32) + stream.keepAlive(5, 5, 1); +#endif + + // The data under the node being stream (parent path) should keep small + // Large stream payload leads to the parsing error due to memory allocation. + + // The MultiPathStream works as normal stream with the payload parsing function. + + if (!Firebase.RTDB.beginMultiPathStream(&stream, parentPath)) + Serial.printf("sream begin error, %s\n\n", stream.errorReason().c_str()); + + Firebase.RTDB.setMultiPathStreamCallback(&stream, streamCallback, streamTimeoutCallback); + + /** Timeout options, below is default config. + + //Network reconnect timeout (interval) in ms (10 sec - 5 min) when network or WiFi disconnected. + config.timeout.networkReconnect = 10 * 1000; + + //Socket begin connection timeout (ESP32) or data transfer timeout (ESP8266) in ms (1 sec - 1 min). + config.timeout.socketConnection = 30 * 1000; + + //ESP32 SSL handshake in ms (1 sec - 2 min). This option doesn't allow in ESP8266 core library. + config.timeout.sslHandshake = 2 * 60 * 1000; + + //Server response read timeout in ms (1 sec - 1 min). + config.timeout.serverResponse = 10 * 1000; + + //RTDB Stream keep-alive timeout in ms (20 sec - 2 min) when no server's keep-alive event data received. + config.timeout.rtdbKeepAlive = 45 * 1000; + + //RTDB Stream reconnect timeout (interval) in ms (1 sec - 1 min) when RTDB Stream closed and want to resume. + config.timeout.rtdbStreamReconnect = 1 * 1000; + + //RTDB Stream error notification timeout (interval) in ms (3 sec - 30 sec). It determines how often the readStream + //will return false (error) when it called repeatedly in loop. + config.timeout.rtdbStreamError = 3 * 1000; + + */ +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + +#if !defined(ESP8266) && !defined(ESP32) + Firebase.RTDB.runStream(); +#endif + + if (Firebase.ready() && (millis() - sendDataPrevMillis > 15000 || sendDataPrevMillis == 0)) + { + sendDataPrevMillis = millis(); + + Serial.print("\nSet json..."); + + FirebaseJson json; + + for (size_t i = 0; i < 10; i++) + { + json.set("node1/data", "v1"); + json.set("node1/num", count); + json.set("node2/data", "v2"); + json.set("node2/num", count * 3); + Firebase.RTDB.setJSON(&fbdo, parentPath, &json); + count++; + } + + Serial.println("ok\n"); + } + + if (dataChanged) + { + dataChanged = false; + // When stream data is available, do anything here... + } + + // After calling stream.keepAlive, now we can track the server connecting status + if (!stream.httpConnected()) + { + // Server was disconnected! + } +} + +// To pause stream +// stream.pauseFirebase(true); +// stream.clear(); // close session and release memory + +// To resume stream with callback +// stream.pauseFirebase(false); +// Firebase.RTDB.setMultiPathStreamCallback(&stream, streamCallback, streamTimeoutCallback); \ No newline at end of file diff --git a/examples/RTDB/DataChangesListener/NoCallback/NoCallback.ino b/examples/RTDB/DataChangesListener/NoCallback/NoCallback.ino new file mode 100644 index 000000000..6af72e819 --- /dev/null +++ b/examples/RTDB/DataChangesListener/NoCallback/NoCallback.ino @@ -0,0 +1,229 @@ +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +// Provide the RTDB payload printing info and other helper functions. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/* 2. Define the API Key */ +#define API_KEY "API_KEY" + +/* 3. Define the RTDB URL */ +#define DATABASE_URL "URL" //.firebaseio.com or ..firebasedatabase.app + +/* 4. Define the user Email and password that alreadey registerd or added in your project */ +#define USER_EMAIL "USER_EMAIL" +#define USER_PASSWORD "USER_PASSWORD" + +// Define Firebase Data objects +FirebaseData fbdo; +FirebaseData stream; + +FirebaseAuth auth; +FirebaseConfig config; + +unsigned long sendDataPrevMillis1; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + // For the following credentials, see examples/Authentications/SignInAsUser/EmailPassword/EmailPassword.ino + + /* Assign the api key (required) */ + config.api_key = API_KEY; + + /* Assign the user sign in credentials */ + auth.user.email = USER_EMAIL; + auth.user.password = USER_PASSWORD; + + /* Assign the RTDB URL (required) */ + config.database_url = DATABASE_URL; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(2048 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + stream.setBSSLBufferSize(2048 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + // Or use legacy authenticate method + // config.database_url = DATABASE_URL; + // config.signer.tokens.legacy_token = ""; + + // To connect without auth in Test Mode, see Authentications/TestMode/TestMode.ino + + Firebase.begin(&config, &auth); + + // You can use TCP KeepAlive For more reliable stream operation and tracking the server connection status, please read this for detail. + // https://github.com/mobizt/Firebase-ESP-Client#enable-tcp-keepalive-for-reliable-http-streaming + // You can use keepAlive in ESP8266 core version newer than v3.1.2. + // Or you can use git version (v3.1.2) https://github.com/esp8266/Arduino +#if defined(ESP32) + stream.keepAlive(5, 5, 1); +#endif + + if (!Firebase.RTDB.beginStream(&stream, "/test/stream/data")) + Serial.printf("sream begin error, %s\n\n", stream.errorReason().c_str()); + + /** Timeout options, below is default config. + + //Network reconnect timeout (interval) in ms (10 sec - 5 min) when network or WiFi disconnected. + config.timeout.networkReconnect = 10 * 1000; + + //Socket begin connection timeout (ESP32) or data transfer timeout (ESP8266) in ms (1 sec - 1 min). + config.timeout.socketConnection = 30 * 1000; + + //ESP32 SSL handshake in ms (1 sec - 2 min). This option doesn't allow in ESP8266 core library. + config.timeout.sslHandshake = 2 * 60 * 1000; + + //Server response read timeout in ms (1 sec - 1 min). + config.timeout.serverResponse = 10 * 1000; + + //RTDB Stream keep-alive timeout in ms (20 sec - 2 min) when no server's keep-alive event data received. + config.timeout.rtdbKeepAlive = 45 * 1000; + + //RTDB Stream reconnect timeout (interval) in ms (1 sec - 1 min) when RTDB Stream closed and want to resume. + config.timeout.rtdbStreamReconnect = 1 * 1000; + + //RTDB Stream error notification timeout (interval) in ms (3 sec - 30 sec). It determines how often the readStream + //will return false (error) when it called repeatedly in loop. + config.timeout.rtdbStreamError = 3 * 1000; + + */ +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (!Firebase.ready()) + return; + + // Please avoid to use delay or any third party libraries that use delay internally to wait for hardware to be ready in this loop. + + if (!Firebase.RTDB.readStream(&stream)) + Serial.printf("sream read error, %s\n\n", stream.errorReason().c_str()); + + if (stream.streamTimeout()) + { + Serial.println("stream timed out, resuming...\n"); + + if (!stream.httpConnected()) + Serial.printf("error code: %d, reason: %s\n\n", stream.httpCode(), stream.errorReason().c_str()); + } + + if (stream.streamAvailable()) + { + Serial.printf("sream path, %s\nevent path, %s\ndata type, %s\nevent type, %s\n\n", + stream.streamPath().c_str(), + stream.dataPath().c_str(), + stream.dataType().c_str(), + stream.eventType().c_str()); + printResult(stream); // see addons/RTDBHelper.h + Serial.println(); + + // This is the size of stream payload received (current and max value) + // Max payload size is the payload size under the stream path since the stream connected + // and read once and will not update until stream reconnection takes place. + // This max value will be zero as no payload received in case of ESP8266 which + // BearSSL reserved Rx buffer size is less than the actual stream payload. + Serial.printf("Received stream payload size: %d (Max. %d)\n\n", stream.payloadLength(), stream.maxPayloadLength()); + } + + if (millis() - sendDataPrevMillis1 > 15000) + { + sendDataPrevMillis1 = millis(); + + // Create demo data + uint8_t data[256]; + for (int i = 0; i < 256; i++) + data[i] = i; + data[255] = rand(); + + Serial.printf("Set BLOB... %s\n", Firebase.RTDB.setBlob(&fbdo, "/test/stream/data", data, sizeof(data)) ? "ok" : fbdo.errorReason().c_str()); +#if defined(ESP8266) || defined(ESP32) + Serial.printf("Free Heap, %d\n", (int)ESP.getFreeHeap()); +#elif defined(ARDUINO_RASPBERRY_PI_PICO_W) + Serial.printf("Free Heap, %d\n", (int)rp2040.getFreeHeap()); +#endif + Serial.println(); + } + + // After calling stream.keepAlive, now we can track the server connecting status + if (!stream.httpConnected()) + { + // Server was disconnected! + } +} \ No newline at end of file diff --git a/examples/RTDB/DataChangesListener/SingleDataObject/SingleDataObject.ino b/examples/RTDB/DataChangesListener/SingleDataObject/SingleDataObject.ino new file mode 100644 index 000000000..db32846c4 --- /dev/null +++ b/examples/RTDB/DataChangesListener/SingleDataObject/SingleDataObject.ino @@ -0,0 +1,187 @@ +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +// Provide the RTDB payload printing info and other helper functions. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/* 2. Define the API Key */ +#define API_KEY "API_KEY" + +/* 3. Define the RTDB URL */ +#define DATABASE_URL "URL" //.firebaseio.com or ..firebasedatabase.app + +/* 4. Define the user Email and password that alreadey registerd or added in your project */ +#define USER_EMAIL "USER_EMAIL" +#define USER_PASSWORD "USER_PASSWORD" + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +unsigned long sendDataPrevMillis = 0; + +int count = 0; + +uint32_t idleTimeForStream = 15000; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + // For the following credentials, see examples/Authentications/SignInAsUser/EmailPassword/EmailPassword.ino + + /* Assign the api key (required) */ + config.api_key = API_KEY; + + /* Assign the user sign in credentials */ + auth.user.email = USER_EMAIL; + auth.user.password = USER_PASSWORD; + + /* Assign the RTDB URL (required) */ + config.database_url = DATABASE_URL; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + // Or use legacy authenticate method + // config.database_url = DATABASE_URL; + // config.signer.tokens.legacy_token = ""; + + // To connect without auth in Test Mode, see Authentications/TestMode/TestMode.ino + + Firebase.begin(&config, &auth); + + // You can use TCP KeepAlive For more reliable stream operation and tracking the server connection status, please read this for detail. + // https://github.com/mobizt/Firebase-ESP-Client#enable-tcp-keepalive-for-reliable-http-streaming + // You can use keepAlive in ESP8266 core version newer than v3.1.2. + // Or you can use git version (v3.1.2) https://github.com/esp8266/Arduino +#if defined(ESP32) + fbdo.keepAlive(5, 5, 1); +#endif + + // The data under the node being stream (parent path) should keep small + // Large stream payload leads to the parsing error due to memory allocation. + if (!Firebase.RTDB.beginStream(&fbdo, "/test/stream/data")) + Serial.printf("sream begin error, %s\n\n", fbdo.errorReason().c_str()); +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready() && (millis() - sendDataPrevMillis > idleTimeForStream || sendDataPrevMillis == 0)) + { + sendDataPrevMillis = millis(); + count++; + // Due to single FirebaseData object used, stream connection will be interruped to send/receive data + Serial.printf("Set string... %s\n\n", Firebase.RTDB.setString(&fbdo, "/test/stream/data", "Hello World! " + String(count)) ? "ok" : fbdo.errorReason().c_str()); + } + + if (Firebase.ready()) + { + + if (!Firebase.RTDB.readStream(&fbdo)) + Serial.printf("sream read error, %s\n\n", fbdo.errorReason().c_str()); + + if (fbdo.streamTimeout()) + { + Serial.println("stream timed out, resuming...\n"); + + if (!fbdo.httpConnected()) + Serial.printf("error code: %d, reason: %s\n\n", fbdo.httpCode(), fbdo.errorReason().c_str()); + } + + if (fbdo.streamAvailable()) + { + Serial.printf("sream path, %s\nevent path, %s\ndata type, %s\nevent type, %s\nvalue, %s\n\n", + fbdo.streamPath().c_str(), + fbdo.dataPath().c_str(), + fbdo.dataType().c_str(), + fbdo.eventType().c_str(), + fbdo.stringData().c_str()); + } + } + + // After calling stream.keepAlive, now we can track the server connecting status + if (!fbdo.httpConnected()) + { + // Server was disconnected! + } +} \ No newline at end of file diff --git a/examples/RTDB/DataFilter/DataFilter.ino b/examples/RTDB/DataFilter/DataFilter.ino new file mode 100644 index 000000000..6f163534e --- /dev/null +++ b/examples/RTDB/DataFilter/DataFilter.ino @@ -0,0 +1,182 @@ +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +// This example shows how to construct queries to filter data. + +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif +#include + +// Provide the token generation process info. +#include + +// Provide the RTDB payload printing info and other helper functions. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/* 2. Define the API Key */ +#define API_KEY "API_KEY" + +/* 3. Define the RTDB URL */ +#define DATABASE_URL "URL" //.firebaseio.com or ..firebasedatabase.app + +/* 4. Define the user Email and password that alreadey registerd or added in your project */ +#define USER_EMAIL "USER_EMAIL" +#define USER_PASSWORD "USER_PASSWORD" + +/* This database secret required in this example to get the righs access to database rules */ +#define DATABASE_SECRET "DATABASE_SECRET" + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +bool taskCompleted = false; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + // For the following credentials, see examples/Authentications/SignInAsUser/EmailPassword/EmailPassword.ino + + /* Assign the api key (required) */ + config.api_key = API_KEY; + + /* Assign the user sign in credentials */ + auth.user.email = USER_EMAIL; + auth.user.password = USER_PASSWORD; + + /* Assign the RTDB URL (required) */ + config.database_url = DATABASE_URL; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + // Or use legacy authenticate method + // config.database_url = DATABASE_URL; + // config.signer.tokens.legacy_token = ""; + + // To connect without auth in Test Mode, see Authentications/TestMode/TestMode.ino + + Firebase.begin(&config, &auth); + + // Or use legacy authenticate method + // Firebase.begin(DATABASE_URL, DATABASE_SECRET); +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready() && !taskCompleted) + { + + taskCompleted = true; + + FirebaseJson json; + + for (uint8_t i = 0; i < 30; i++) + { + json.set("Data1", i + 1); + json.set("Data2", i + 100); + Serial.printf("Push json... %s\n", Firebase.RTDB.pushAsync(&fbdo, "/test/push", &json) ? "ok" : fbdo.errorReason().c_str()); + } + Serial.println(); + + // Add an index to the node that is being queried. + // https://firebase.google.com/docs/database/security/indexing-data + + // Update the existing database rules by adding key "test/push/.indexOn" and value "Data2" + // Check your database rules changes after running this function. + + /** If the authentication type is OAuth2.0 which allows the admin right access, + * the database secret is not necessary by set this parameter with empty string "". + */ + Firebase.RTDB.setQueryIndex(&fbdo, "/test/push" /* parent path of child's node that is being queried */, "Data2" /* the child node key that is being queried */, DATABASE_SECRET); + + QueryFilter query; + + query.orderBy("Data2"); + query.startAt(105); + query.endAt(120); + // get only last 8 results + query.limitToLast(8); + + // Get filtered data + Serial.printf("Get json... %s\n", Firebase.RTDB.getJSON(&fbdo, "/test/push", &query) ? "ok" : fbdo.errorReason().c_str()); + + if (fbdo.httpCode() == FIREBASE_ERROR_HTTP_CODE_OK) + printResult(fbdo); // see addons/RTDBHelper.h + + // Clear all query parameters + query.clear(); + } +} \ No newline at end of file diff --git a/examples/RTDB/DataRetaining/DataRetaining.ino b/examples/RTDB/DataRetaining/DataRetaining.ino new file mode 100644 index 000000000..2df9a0413 --- /dev/null +++ b/examples/RTDB/DataRetaining/DataRetaining.ino @@ -0,0 +1,184 @@ +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +// This example shows how to retain the past RTDB data within the period from present. + +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +// Provide the RTDB payload printing info and other helper functions. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/* 2. Define the API Key */ +#define API_KEY "API_KEY" + +/* 3. Define the RTDB URL */ +#define DATABASE_URL "URL" //.firebaseio.com or ..firebasedatabase.app + +/* database secret used in Firebase.RTDB.setQueryIndex function */ +#define DATABASE_SECRET "DATABASE_SECRET" + +/* 4. Define the user Email and password that alreadey registerd or added in your project */ +#define USER_EMAIL "USER_EMAIL" +#define USER_PASSWORD "USER_PASSWORD" + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +unsigned long deleteDataMillis = 0, pushDataMillis = 0; + +int count = 0; +bool indexing = false; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + // For the following credentials, see examples/Authentications/SignInAsUser/EmailPassword/EmailPassword.ino + + /* Assign the api key (required) */ + config.api_key = API_KEY; + + /* Assign the user sign in credentials */ + auth.user.email = USER_EMAIL; + auth.user.password = USER_PASSWORD; + + /* Assign the RTDB URL (required) */ + config.database_url = DATABASE_URL; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + Firebase.begin(&config, &auth); + + // NTP time sync + configTime(3 * 3600, 0, "pool.ntp.org", "time.nist.gov"); +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready()) + { + if (!indexing) + { + indexing = true; + Serial.print("Set query index in database rules... "); + + // If sign in with OAuth2.0 token, the database secret pass to this function can be empty string + if (Firebase.RTDB.setQueryIndex(&fbdo, "test/log", "ts", DATABASE_SECRET)) + Serial.println("ok"); + else + Serial.println(fbdo.errorReason()); + } + + // push data every 30 sec + if (millis() - pushDataMillis > 30 * 1000) + { + pushDataMillis = millis(); + + count++; + + FirebaseJson json; + + json.add("ts", (uint32_t)time(nullptr)); + json.add("count", count); + + Serial.print("Push data... "); + + if (Firebase.RTDB.push(&fbdo, "test/log", &json)) + Serial.println("ok"); + else + Serial.println(fbdo.errorReason()); + } + + // delete old data every 1 min + if (time(nullptr) > 1618971013 /* timestamp should be valid */ && millis() - deleteDataMillis > 60 * 1000) + { + deleteDataMillis = millis(); + + Serial.print("Delete history data older than 10 minutes... "); + + if (Firebase.RTDB.deleteNodesByTimestamp(&fbdo, "test/log", "ts", 10 /* delete 10 nodes at once */, 10 * 60 /* retain data within 10 minutes */)) + Serial.println("ok"); + else + Serial.println(fbdo.errorReason()); + } + } +} \ No newline at end of file diff --git a/examples/RTDB/DatabaseRules/DatabaseRules.ino b/examples/RTDB/DatabaseRules/DatabaseRules.ino new file mode 100644 index 000000000..b1f8e79db --- /dev/null +++ b/examples/RTDB/DatabaseRules/DatabaseRules.ino @@ -0,0 +1,160 @@ +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +// This example shows how to read and write database rules + +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +// Provide the RTDB payload printing info and other helper functions. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +// For the following credentials, see examples/Authentications/SignInAsUser/EmailPassword/EmailPassword.ino + +/* 2. Define the API Key */ +#define API_KEY "API_KEY" + +/* 3. Define the RTDB URL */ +#define DATABASE_URL "URL" //.firebaseio.com or ..firebasedatabase.app + +/** 4. Define the Service Account credentials (required for token generation) + * + * This information can be taken from the service account JSON file. + * + * To download service account file, from the Firebase console, goto project settings, + * select "Service accounts" tab and click at "Generate new private key" button + */ +#define FIREBASE_PROJECT_ID "PROJECT_ID" +#define FIREBASE_CLIENT_EMAIL "CLIENT_EMAIL" +const char PRIVATE_KEY[] PROGMEM = "-----BEGIN PRIVATE KEY-----XXXXXXXXXXXX-----END PRIVATE KEY-----\n"; + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +bool taskCompleted = false; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the api key (required) */ + config.api_key = API_KEY; + + /* Assign the RTDB URL (required) */ + config.database_url = DATABASE_URL; + + /* Assign the sevice account credentials and private key (required) */ + config.service_account.data.client_email = FIREBASE_CLIENT_EMAIL; + config.service_account.data.project_id = FIREBASE_PROJECT_ID; + config.service_account.data.private_key = PRIVATE_KEY; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + // Or use legacy authenticate method + // config.database_url = DATABASE_URL; + // config.signer.tokens.legacy_token = ""; + + // To connect without auth in Test Mode, see Authentications/TestMode/TestMode.ino + + Firebase.begin(&config, &auth); +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready() && !taskCompleted) + { + taskCompleted = true; + + String rules; + + Serial.printf("Get RTDB rules... %s\n", Firebase.RTDB.getRules(&fbdo) ? "ok" : fbdo.errorReason().c_str()); + + if (fbdo.httpCode() == FIREBASE_ERROR_HTTP_CODE_OK) + { + FirebaseJson *json = fbdo.to(); + json->toString(rules, true); + Serial.println(rules); + Serial.println(); + } + + Serial.printf("Set RTDB rules... %s\n", Firebase.RTDB.setRules(&fbdo, rules.c_str()) ? "ok" : fbdo.errorReason().c_str()); + } +} diff --git a/examples/RTDB/DownloadFileOTA/DownloadFileOTA.ino b/examples/RTDB/DownloadFileOTA/DownloadFileOTA.ino new file mode 100644 index 000000000..1fadec8be --- /dev/null +++ b/examples/RTDB/DownloadFileOTA/DownloadFileOTA.ino @@ -0,0 +1,206 @@ +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +// This example shows how to update firmware file OTA via data stored in RTDB. + +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +// Provide the RTDB payload printing info and other helper functions. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/* 2. Define the API Key */ +#define API_KEY "API_KEY" + +/* 3. Define the RTDB URL */ +#define DATABASE_URL "URL" //.firebaseio.com or ..firebasedatabase.app + +/* 4. Define the user Email and password that alreadey registerd or added in your project */ +#define USER_EMAIL "USER_EMAIL" +#define USER_PASSWORD "USER_PASSWORD" + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +bool taskCompleted = false; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + // For the following credentials, see examples/Authentications/SignInAsUser/EmailPassword/EmailPassword.ino + + /* Assign the api key (required) */ + config.api_key = API_KEY; + + /* Assign the user sign in credentials */ + auth.user.email = USER_EMAIL; + auth.user.password = USER_PASSWORD; + + /* Assign the RTDB URL (required) */ + config.database_url = DATABASE_URL; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + // For OTA file download in this example, the RX size will set to 16k during OTA file download and turns to + // the size that set by setBSSLBufferSize. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + // Or use legacy authenticate method + // config.database_url = DATABASE_URL; + // config.signer.tokens.legacy_token = ""; + + // To connect without auth in Test Mode, see Authentications/TestMode/TestMode.ino + + Firebase.begin(&config, &auth); +} + +// The Firebase download callback function +void rtdbDownloadCallback(RTDB_DownloadStatusInfo info) +{ + if (info.status == firebase_rtdb_download_status_init) + { + Serial.printf("Downloading firmware file %s (%d)\n", info.remotePath.c_str(), info.size); + } + else if (info.status == firebase_rtdb_download_status_download) + { + Serial.printf("Downloaded %d%s, Elapsed time %d ms\n", (int)info.progress, "%", info.elapsedTime); + } + else if (info.status == firebase_rtdb_download_status_complete) + { + Serial.println("Update firmware completed."); + Serial.println(); + Serial.println("Restarting...\n\n"); + delay(2000); +#if defined(ESP32) || defined(ESP8266) + ESP.restart(); +#elif defined(ARDUINO_RASPBERRY_PI_PICO_W) + rp2040.restart(); +#endif + } + else if (info.status == firebase_rtdb_download_status_error) + { + Serial.printf("Download failed, %s\n", info.errorMsg.c_str()); + } +} + +// The Firebase upload callback function +void rtdbUploadCallback(RTDB_UploadStatusInfo info) +{ + if (info.status == firebase_rtdb_upload_status_init) + { + Serial.printf("Uploading firmware file %s (%d) to %s\n", info.localFileName.c_str(), info.size, info.remotePath.c_str()); + } + else if (info.status == firebase_rtdb_upload_status_upload) + { + Serial.printf("Uploaded %d%s\n", (int)info.progress, "%"); + } + else if (info.status == firebase_rtdb_upload_status_complete) + { + Serial.println("Upload completed\n"); + } + else if (info.status == firebase_rtdb_upload_status_error) + { + Serial.printf("Upload failed, %s\n", info.errorMsg.c_str()); + } +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready() && !taskCompleted) + { + taskCompleted = true; + + // Assume you use the following code to upload the firmware file stored on SD card to RTDB at path test/firmware/bin + + /* + Serial.println("\nUpload firmware to database...\n"); + if (!Firebase.RTDB.setFile(&fbdo, mem_storage_type_sd, "test/firmware/bin", "", rtdbUploadCallback)) + Serial.println(fbdo.errorReason()); + */ + + Serial.println("\nDownload firmware file...\n"); + + // This function will allocate 16k+ memory for internal SSL client. + // In Pico, the free space of device should be larger than the firmware file size. + // You can upload blank filesystem image to clear the space. + if (!Firebase.RTDB.downloadOTA(&fbdo, F("test/firmware/bin"), rtdbDownloadCallback /* callback function */)) + Serial.println(fbdo.errorReason()); + } +} \ No newline at end of file diff --git a/examples/RTDB/ETag/ETag.ino b/examples/RTDB/ETag/ETag.ino new file mode 100644 index 000000000..0d704f978 --- /dev/null +++ b/examples/RTDB/ETag/ETag.ino @@ -0,0 +1,160 @@ +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +// This example shows how to set and delete data with checking the matching between node path ETag (unique identifier string) +// and provided Etag + +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +// Provide the RTDB payload printing info and other helper functions. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +// For the following credentials, see examples/Authentications/SignInAsUser/EmailPassword/EmailPassword.ino + +/* 2. Define the API Key */ +#define API_KEY "API_KEY" + +/* 3. Define the RTDB URL */ +#define DATABASE_URL "URL" //.firebaseio.com or ..firebasedatabase.app + +/* 4. Define the user Email and password that alreadey registerd or added in your project */ +#define USER_EMAIL "USER_EMAIL" +#define USER_PASSWORD "USER_PASSWORD" + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +bool taskCompleted = false; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the api key (required) */ + config.api_key = API_KEY; + + /* Assign the user sign in credentials */ + auth.user.email = USER_EMAIL; + auth.user.password = USER_PASSWORD; + + /* Assign the RTDB URL (required) */ + config.database_url = DATABASE_URL; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + // Or use legacy authenticate method + // config.database_url = DATABASE_URL; + // config.signer.tokens.legacy_token = ""; + + // To connect without auth in Test Mode, see Authentications/TestMode/TestMode.ino + + Firebase.begin(&config, &auth); +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready() && !taskCompleted) + { + taskCompleted = true; + + String ETag = ""; + String wrong_ETag = "ANY_WRONG_ETag"; + + Serial.printf("Set int... %s\n", Firebase.RTDB.setInt(&fbdo, "/test/int/data", 100) ? "ok" : fbdo.errorReason().c_str()); + + if (fbdo.httpCode() == FIREBASE_ERROR_HTTP_CODE_OK) + { + Serial.printf("ETag, %s\n\n", fbdo.ETag().c_str()); + ETag = fbdo.ETag(); + } + + Serial.printf("Set int with valid ETag... %s\n", Firebase.RTDB.setInt(&fbdo, "/test/int/data", 200, ETag.c_str()) ? "ok" : fbdo.errorReason().c_str()); + + if (fbdo.httpCode() == FIREBASE_ERROR_HTTP_CODE_OK) + Serial.printf("ETag, %s\n\n", fbdo.ETag().c_str()); + + Serial.printf("Set int with invalid ETag... %s\n", Firebase.RTDB.setInt(&fbdo, "/test/int/data", 200, wrong_ETag.c_str()) ? "ok" : fbdo.errorReason().c_str()); + + if (fbdo.httpCode() == FIREBASE_ERROR_HTTP_CODE_OK) + Serial.printf("ETag, %s\n\n", fbdo.ETag().c_str()); + } +} diff --git a/examples/RTDB/File/Flash/Flash.ino b/examples/RTDB/File/Flash/Flash.ino new file mode 100644 index 000000000..3080d8b0f --- /dev/null +++ b/examples/RTDB/File/Flash/Flash.ino @@ -0,0 +1,248 @@ +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +// This example shows how to store and read binary data from file on Flash memory to database. + +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +// Provide the RTDB payload printing info and other helper functions. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/* 2. Define the API Key */ +#define API_KEY "API_KEY" + +/* 3. Define the RTDB URL */ +#define DATABASE_URL "URL" //.firebaseio.com or ..firebasedatabase.app + +/* 4. Define the user Email and password that alreadey registerd or added in your project */ +#define USER_EMAIL "USER_EMAIL" +#define USER_PASSWORD "USER_PASSWORD" + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +bool taskCompleted = false; + +fs::File file; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +/* + +To use LittleFS file system instead of SPIFFS. add #define USE_LITTLEFS to src/FirebaseFS.h +and replace all SPIFFS class in this sketch with LittleFS + +*/ + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + // For the following credentials, see examples/Authentications/SignInAsUser/EmailPassword/EmailPassword.ino + + /* Assign the api key (required) */ + config.api_key = API_KEY; + + /* Assign the user sign in credentials */ + auth.user.email = USER_EMAIL; + auth.user.password = USER_PASSWORD; + + /* Assign the RTDB URL (required) */ + config.database_url = DATABASE_URL; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + // Or use legacy authenticate method + // config.database_url = DATABASE_URL; + // config.signer.tokens.legacy_token = ""; + + // To connect without auth in Test Mode, see Authentications/TestMode/TestMode.ino + + Firebase.begin(&config, &auth); + + if (!DEFAULT_FLASH_FS.begin()) + { + Serial.println("SPIFFS/LittleFS initialization failed."); + Serial.println("For Arduino IDE, please select flash size from menu Tools > Flash size"); + return; + } + + // Delete demo files + if (DEFAULT_FLASH_FS.exists("/file1.txt")) + DEFAULT_FLASH_FS.remove("/file1.txt"); + + if (DEFAULT_FLASH_FS.exists("/file2.txt")) + DEFAULT_FLASH_FS.remove("/file2.txt"); + + // Write demo data to file + file = DEFAULT_FLASH_FS.open("/file1.txt", "w"); + uint8_t v = 0; + for (int i = 0; i < 512; i++) + { + file.write(v); + v++; + } + + file.close(); +} + +// The Firebase download callback function +void rtdbDownloadCallback(RTDB_DownloadStatusInfo info) +{ + if (info.status == firebase_rtdb_download_status_init) + { + Serial.printf("Downloading file %s (%d) to %s\n", info.remotePath.c_str(), info.size, info.localFileName.c_str()); + } + else if (info.status == firebase_rtdb_download_status_download) + { + Serial.printf("Downloaded %d%s\n", (int)info.progress, "%"); + } + else if (info.status == firebase_rtdb_download_status_complete) + { + Serial.println("Download completed\n"); + } + else if (info.status == firebase_rtdb_download_status_error) + { + Serial.printf("Download failed, %s\n", info.errorMsg.c_str()); + } +} + +// The Firebase upload callback function +void rtdbUploadCallback(RTDB_UploadStatusInfo info) +{ + if (info.status == firebase_rtdb_upload_status_init) + { + Serial.printf("Uploading file %s (%d) to %s\n", info.localFileName.c_str(), info.size, info.remotePath.c_str()); + } + else if (info.status == firebase_rtdb_upload_status_upload) + { + Serial.printf("Uploaded %d%s\n", (int)info.progress, "%"); + } + else if (info.status == firebase_rtdb_upload_status_complete) + { + Serial.println("Upload completed\n"); + } + else if (info.status == firebase_rtdb_upload_status_error) + { + Serial.printf("Upload failed, %s\n", info.errorMsg.c_str()); + } +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready() && !taskCompleted) + { + taskCompleted = true; + + // File name must be in 8.3 DOS format (max. 8 bytes file name and 3 bytes file extension) + Serial.println("\nSet file..."); + if (!Firebase.RTDB.setFile(&fbdo, mem_storage_type_flash, "test/file/data", "/file1.txt", rtdbUploadCallback /* callback function*/)) + Serial.println(fbdo.errorReason()); + + Serial.println("\nGet file..."); + if (!Firebase.RTDB.getFile(&fbdo, mem_storage_type_flash, "test/file/data", "/file2.txt", rtdbDownloadCallback /* callback function*/)) + Serial.println(fbdo.errorReason()); + + if (fbdo.httpCode() == FIREBASE_ERROR_HTTP_CODE_OK) + { + // Readout the downloaded file + file = DEFAULT_FLASH_FS.open("/file2.txt", "r"); + int i = 0; + + while (file.available()) + { + if (i > 0 && i % 16 == 0) + Serial.println(); + + uint8_t v = file.read(); + + if (v < 16) + Serial.print("0"); + + Serial.print(v, HEX); + Serial.print(" "); + i++; + } + + Serial.println(); + file.close(); + } + } +} diff --git a/examples/RTDB/File/SD/SD.ino b/examples/RTDB/File/SD/SD.ino new file mode 100644 index 000000000..85576f9fd --- /dev/null +++ b/examples/RTDB/File/SD/SD.ino @@ -0,0 +1,263 @@ +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +// This example shows how to store and read binary data from file on SD card to database. + +// If SD Card used for storage, assign SD card type and FS used in src/FirebaseFS.h and +// change the config for that card interfaces in src/addons/SDHelper.h + +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +// Provide the RTDB payload printing info and other helper functions. +#include + +// Provide the SD card interfaces setting and mounting +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/* 2. Define the API Key */ +#define API_KEY "API_KEY" + +/* 3. Define the RTDB URL */ +#define DATABASE_URL "URL" //.firebaseio.com or ..firebasedatabase.app + +/* 4. Define the user Email and password that alreadey registerd or added in your project */ +#define USER_EMAIL "USER_EMAIL" +#define USER_PASSWORD "USER_PASSWORD" + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +bool taskCompleted = false; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + // For the following credentials, see examples/Authentications/SignInAsUser/EmailPassword/EmailPassword.ino + + /* Assign the api key (required) */ + config.api_key = API_KEY; + + /* Assign the user sign in credentials */ + auth.user.email = USER_EMAIL; + auth.user.password = USER_PASSWORD; + + /* Assign the RTDB URL (required) */ + config.database_url = DATABASE_URL; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + // Or use legacy authenticate method + // config.database_url = DATABASE_URL; + // config.signer.tokens.legacy_token = ""; + + // To connect without auth in Test Mode, see Authentications/TestMode/TestMode.ino + + Firebase.begin(&config, &auth); + + // Mount SD card. + SD_Card_Mounting(); // See src/addons/SDHelper.h + + // Delete demo files + if (DEFAULT_SD_FS.exists("/file1.txt")) + DEFAULT_SD_FS.remove("/file1.txt"); + + if (DEFAULT_SD_FS.exists("/file2.txt")) + DEFAULT_SD_FS.remove("/file2.txt"); + +#if defined(USE_SD_FAT_ESP32) + + // Write demo data to file + SdFile file; + // Write demo data to file + file.open("/file1.txt", O_RDWR | O_CREAT); + +#else + + File file = DEFAULT_SD_FS.open("/file1.txt", "w"); + +#endif + + uint8_t v = 0; + for (int i = 0; i < 512; i++) + { + file.write(v); + v++; + } + + file.close(); +} + +// The Firebase download callback function +void rtdbDownloadCallback(RTDB_DownloadStatusInfo info) +{ + if (info.status == firebase_rtdb_download_status_init) + { + Serial.printf("Downloading file %s (%d) to %s\n", info.remotePath.c_str(), info.size, info.localFileName.c_str()); + } + else if (info.status == firebase_rtdb_download_status_download) + { + Serial.printf("Downloaded %d%s\n", (int)info.progress, "%"); + } + else if (info.status == firebase_rtdb_download_status_complete) + { + Serial.println("Download completed\n"); + } + else if (info.status == firebase_rtdb_download_status_error) + { + Serial.printf("Download failed, %s\n", info.errorMsg.c_str()); + } +} + +// The Firebase upload callback function +void rtdbUploadCallback(RTDB_UploadStatusInfo info) +{ + if (info.status == firebase_rtdb_upload_status_init) + { + Serial.printf("Uploading file %s (%d) to %s\n", info.localFileName.c_str(), info.size, info.remotePath.c_str()); + } + else if (info.status == firebase_rtdb_upload_status_upload) + { + Serial.printf("Uploaded %d%s\n", (int)info.progress, "%"); + } + else if (info.status == firebase_rtdb_upload_status_complete) + { + Serial.println("Upload completed\n"); + } + else if (info.status == firebase_rtdb_upload_status_error) + { + Serial.printf("Upload failed, %s\n", info.errorMsg.c_str()); + } +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready() && !taskCompleted) + { + taskCompleted = true; + + // File name must be in 8.3 DOS format (max. 8 bytes file name and 3 bytes file extension) + Serial.println("\nSet file..."); + if (!Firebase.RTDB.setFile(&fbdo, mem_storage_type_sd, "test/file/data", "/file1.txt", rtdbUploadCallback /* callback function*/)) + Serial.println(fbdo.errorReason()); + + Serial.println("\nGet file..."); + if (!Firebase.RTDB.getFile(&fbdo, mem_storage_type_sd, "test/file/data", "/file2.txt", rtdbDownloadCallback /* callback function*/)) + Serial.println(fbdo.errorReason()); + + if (fbdo.httpCode() == FIREBASE_ERROR_HTTP_CODE_OK) + { + +#if defined(USE_SD_FAT_ESP32) + // Write demo data to file + SdFile file; + // Write demo data to file + file.open("/file2.txt", O_RDONLY); + +#else + File file; + file = DEFAULT_SD_FS.open("/file2.txt", "r"); + +#endif + + int i = 0; + + while (file.available()) + { + if (i > 0 && i % 16 == 0) + Serial.println(); + + uint8_t v = file.read(); + + if (v < 16) + Serial.print("0"); + + Serial.print(v, HEX); + Serial.print(" "); + i++; + } + + Serial.println(); + file.close(); + } + } +} diff --git a/examples/RTDB/Priority/Priority.ino b/examples/RTDB/Priority/Priority.ino new file mode 100644 index 000000000..463ad7a0c --- /dev/null +++ b/examples/RTDB/Priority/Priority.ino @@ -0,0 +1,168 @@ +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +// This example shows how set node's priority and filtering the data based on priority of child nodes. +// The priority is virtual node with the key ".priority" and can't see in Console. + +// Since data ordering is not supported in Firebase's REST APIs, then the query result will not sorted. + +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +// Provide the RTDB payload printing info and other helper functions. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/* 2. Define the API Key */ +#define API_KEY "API_KEY" + +/* 3. Define the RTDB URL */ +#define DATABASE_URL "URL" //.firebaseio.com or ..firebasedatabase.app + +/* 4. Define the user Email and password that alreadey registerd or added in your project */ +#define USER_EMAIL "USER_EMAIL" +#define USER_PASSWORD "USER_PASSWORD" + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +bool taskCompleted = false; + +FirebaseJson json; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void setup() +{ + + Serial.begin(115200); + Serial.println(); + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + // For the following credentials, see examples/Authentications/SignInAsUser/EmailPassword/EmailPassword.ino + + /* Assign the api key (required) */ + config.api_key = API_KEY; + + /* Assign the user sign in credentials */ + auth.user.email = USER_EMAIL; + auth.user.password = USER_PASSWORD; + + /* Assign the RTDB URL (required) */ + config.database_url = DATABASE_URL; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + // Or use legacy authenticate method + // config.database_url = DATABASE_URL; + // config.signer.tokens.legacy_token = ""; + + // To connect without auth in Test Mode, see Authentications/TestMode/TestMode.ino + + Firebase.begin(&config, &auth); +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready() && !taskCompleted) + { + taskCompleted = true; + + for (int i = 0; i < 15; i++) + { + + float priority = 15 - i; + String key = "item_" + String(i + 1); + String val = "value_" + String(i + 1); + json.clear(); + json.set(key, val); + String Path = "/test/items/priority_" + String(15 - i); + + Serial.printf("Set json with proprity... %s\n", Firebase.RTDB.setJSONAsync(&fbdo, Path.c_str(), &json, priority) ? "ok" : fbdo.errorReason().c_str()); + } + + // Qury child nodes under "/test/items" with priority between 3.0 and 8.0 + // Since data ordering is not supported in Firebase's REST APIs, then the query result will not sorted. + QueryFilter query; + query.orderBy("$priority").startAt(3.0).endAt(8.0); + + Serial.printf("Set json with proprity... %s\n", Firebase.RTDB.getJSON(&fbdo, "/test/items", &query) ? "ok" : fbdo.errorReason().c_str()); + + if (fbdo.httpCode() == FIREBASE_ERROR_HTTP_CODE_OK) + printResult(fbdo); // see addons/RTDBHelper.h + } +} \ No newline at end of file diff --git a/examples/RTDB/Queue/Queue.ino b/examples/RTDB/Queue/Queue.ino new file mode 100644 index 000000000..6425809fd --- /dev/null +++ b/examples/RTDB/Queue/Queue.ino @@ -0,0 +1,332 @@ +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +// This example shows how error retry and queues work. + +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +// Provide the RTDB payload printing info and other helper functions. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/* 2. Define the API Key */ +#define API_KEY "API_KEY" + +/* 3. Define the RTDB URL */ +#define DATABASE_URL "URL" //.firebaseio.com or ..firebasedatabase.app + +/* 4. Define the user Email and password that alreadey registerd or added in your project */ +#define USER_EMAIL "USER_EMAIL" +#define USER_PASSWORD "USER_PASSWORD" + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +bool taskCompleted = false; + +std::vector myblob; +double mydouble = 0; + +uint32_t queueID[20]; +uint8_t qIdx = 0; + +int queueCnt = 0; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void callback(QueueInfo queueinfo) +{ + + if (queueinfo.isQueueFull()) + { + Serial.println("Queue is full"); + } + + Serial.print("Remaining queues: "); + Serial.println(queueinfo.totalQueues()); + + Serial.print("Being processed queue ID: "); + Serial.println(queueinfo.currentQueueID()); + + Serial.print("Data type:"); + Serial.println(queueinfo.dataType()); + + Serial.print("Method: "); + Serial.println(queueinfo.firebaseMethod()); + + Serial.print("Path: "); + Serial.println(queueinfo.dataPath()); + + Serial.println(); +} + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + // For the following credentials, see examples/Authentications/SignInAsUser/EmailPassword/EmailPassword.ino + + /* Assign the api key (required) */ + config.api_key = API_KEY; + + /* Assign the user sign in credentials */ + auth.user.email = USER_EMAIL; + auth.user.password = USER_PASSWORD; + + /* Assign the RTDB URL (required) */ + config.database_url = DATABASE_URL; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + // Or use legacy authenticate method + // config.database_url = DATABASE_URL; + // config.signer.tokens.legacy_token = ""; + + // To connect without auth in Test Mode, see Authentications/TestMode/TestMode.ino + + Firebase.begin(&config, &auth); + + // Or use legacy authenticate method + // Firebase.begin(DATABASE_URL, DATABASE_SECRET); + + // Open and retore Firebase Error Queues from file. + // The file systems for flash and SD/SDMMC can be changed in FirebaseFS.h. + + if (Firebase.RTDB.errorQueueCount(&fbdo, "/test.txt", mem_storage_type_flash) > 0) + { + Firebase.RTDB.restoreErrorQueue(&fbdo, "/test.txt", mem_storage_type_flash); + Firebase.RTDB.deleteStorageFile("/test.txt", mem_storage_type_flash); + } + + // Set maximum Firebase read/store retry operation (0 - 255) in case of + // network problems and buffer overflow + Firebase.RTDB.setMaxRetry(&fbdo, 3); + + // Set the maximum Firebase Error Queues in collection (0 - 255). + // Firebase read/store operation causes by network problems and buffer + // overflow will be added to Firebase Error Queues collection. + Firebase.RTDB.setMaxErrorQueue(&fbdo, 10); + + Firebase.RTDB.beginAutoRunErrorQueue(&fbdo, callback); + + // Firebase.RTDB.beginAutoRunErrorQueue(&fbdo); +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready() && !taskCompleted) + { + taskCompleted = true; + + Serial.printf("Set double... %s\n", Firebase.RTDB.setDouble(&fbdo, "/test/double", 340.123456789) ? "ok" : fbdo.errorReason().c_str()); + + if (fbdo.httpCode() != FIREBASE_ERROR_HTTP_CODE_OK && Firebase.RTDB.getErrorQueueID(&fbdo) > 0) + { + Serial.printf("Error Queue ID: %d\n", (int)Firebase.RTDB.getErrorQueueID(&fbdo)); + queueID[qIdx] = Firebase.RTDB.getErrorQueueID(&fbdo); + qIdx++; + } + + // Create demo data + uint8_t data[256]; + for (int i = 0; i < 256; i++) + data[i] = i; + + Serial.printf("Set Blob... %s\n", Firebase.RTDB.setBlob(&fbdo, "/test/blob", data, sizeof(data)) ? "ok" : fbdo.errorReason().c_str()); + + if (fbdo.httpCode() != FIREBASE_ERROR_HTTP_CODE_OK && Firebase.RTDB.getErrorQueueID(&fbdo) > 0) + { + Serial.printf("Error Queue ID: %d\n", (int)Firebase.RTDB.getErrorQueueID(&fbdo)); + queueID[qIdx] = Firebase.RTDB.getErrorQueueID(&fbdo); + qIdx++; + } + + if (WiFi.status() == WL_CONNECTED) + { + Serial.println("--------------------------------------------------------------------------"); + Serial.println("To test error queue, turn off WiFi AP to make error in the next operation"); + Serial.println("--------------------------------------------------------------------------"); + Serial.println(); + delay(10000); + } + + Serial.printf("Get double... %s\n", Firebase.RTDB.getDouble(&fbdo, "/test/double", &mydouble) ? "ok" : fbdo.errorReason().c_str()); + if (fbdo.httpCode() == FIREBASE_ERROR_HTTP_CODE_OK) + printResult(fbdo); + else + { + if (Firebase.RTDB.getErrorQueueID(&fbdo) > 0) + { + Serial.printf("Error Queue ID: %d\n", (int)Firebase.RTDB.getErrorQueueID(&fbdo)); + queueID[qIdx] = Firebase.RTDB.getErrorQueueID(&fbdo); + qIdx++; + } + } + + Serial.printf("Get blob... %s\n", Firebase.RTDB.getBlob(&fbdo, "/test/blob", &myblob) ? "ok" : fbdo.errorReason().c_str()); + if (fbdo.httpCode() == FIREBASE_ERROR_HTTP_CODE_OK) + printResult(fbdo); + else + { + if (Firebase.RTDB.getErrorQueueID(&fbdo) > 0) + { + Serial.printf("Error Queue ID: %d\n", (int)Firebase.RTDB.getErrorQueueID(&fbdo)); + queueID[qIdx] = Firebase.RTDB.getErrorQueueID(&fbdo); + qIdx++; + } + } + + if (Firebase.RTDB.errorQueueCount(&fbdo) > 0) + { + Serial.println("-----------------------------------------------------------------------------"); + Serial.println("Now turn on WiFi hotspot or router to process these queues"); + Serial.println("-----------------------------------------------------------------------------"); + Serial.println(); + + // Save Error Queues to file + // The file systems for flash and SD/SDMMC can be changed in FirebaseFS.h. + Firebase.RTDB.saveErrorQueue(&fbdo, "/test.txt", mem_storage_type_flash); + } + + // Stop error queue auto run process + // Firebase.RTDB.endAutoRunErrorQueue(&fbdo); + + queueCnt = Firebase.RTDB.errorQueueCount(&fbdo); + } + + /* + + //if Firebase.RTDB.beginAutoRunErrorQueue was not call, + //to manaul run the Firebase Error Queues, just call + //Firebase.RTDB.processErrorQueue in loop + + + Firebase.RTDB.processErrorQueue(&fbdo); + + delay(1000); + + if (Firebase.RTDB.isErrorQueueFull(&fbdo)) + { + Serial.println("Queue is full"); + } + + Serial.print("Remaining queues: "); + Serial.println(Firebase.RTDB.errorQueueCount(&fbdo)); + + for (uint8_t i = 0; i < qIdx; i++) + { + Serial.print("Error Queue "); + Serial.print(queueID[i]); + if (Firebase.RTDB.isErrorQueueExisted(&fbdo, queueID[i])) + Serial.println(" is queuing"); + else + Serial.println(" is done"); + } + Serial.println(); + + */ + + if (queueCnt > 0) + { + if (mydouble > 0) + { + Serial.println("Double Data gets from Queue"); + printf("%.9lf\n", mydouble); + Serial.println(); + mydouble = 0; + } + + if (myblob.size() > 0) + { + Serial.println("Blob Data gets from Queue"); + for (size_t i = 0; i < myblob.size(); i++) + { + if (i > 0 && i % 16 == 0) + Serial.println(); + if (myblob[i] < 16) + Serial.print("0"); + Serial.print(myblob[i], HEX); + Serial.print(" "); + } + Serial.println(); + Serial.println(); + myblob.clear(); + } + } +} diff --git a/examples/RTDB/ShallowedData/ShallowedData.ino b/examples/RTDB/ShallowedData/ShallowedData.ino new file mode 100644 index 000000000..9533a73da --- /dev/null +++ b/examples/RTDB/ShallowedData/ShallowedData.ino @@ -0,0 +1,143 @@ +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +// This example shows how to retrieve all database data using shallowed data. + +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +// Provide the RTDB payload printing info and other helper functions. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +// For the following credentials, see examples/Authentications/SignInAsUser/EmailPassword/EmailPassword.ino + +/* 2. Define the API Key */ +#define API_KEY "API_KEY" + +/* 3. Define the RTDB URL */ +#define DATABASE_URL "URL" //.firebaseio.com or ..firebasedatabase.app + +/* 4. Define the user Email and password that alreadey registerd or added in your project */ +#define USER_EMAIL "USER_EMAIL" +#define USER_PASSWORD "USER_PASSWORD" + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +bool taskCompleted = false; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the api key (required) */ + config.api_key = API_KEY; + + /* Assign the user sign in credentials */ + auth.user.email = USER_EMAIL; + auth.user.password = USER_PASSWORD; + + /* Assign the RTDB URL (required) */ + config.database_url = DATABASE_URL; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + // Or use legacy authenticate method + // config.database_url = DATABASE_URL; + // config.signer.tokens.legacy_token = ""; + + // To connect without auth in Test Mode, see Authentications/TestMode/TestMode.ino + + Firebase.begin(&config, &auth); +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready() && !taskCompleted) + { + taskCompleted = true; + + Serial.printf("Get shallow data... %s\n", Firebase.RTDB.getShallowData(&fbdo, "/") ? "ok" : fbdo.errorReason().c_str()); + + if (fbdo.httpCode() == FIREBASE_ERROR_HTTP_CODE_OK) + printResult(fbdo); // see addons/RTDBHelper.h + } +} \ No newline at end of file diff --git a/examples/RTDB/Timestamp/Timestamp.ino b/examples/RTDB/Timestamp/Timestamp.ino new file mode 100644 index 000000000..a4e54fcad --- /dev/null +++ b/examples/RTDB/Timestamp/Timestamp.ino @@ -0,0 +1,175 @@ + +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +// This example shows how to set and push timestamp (server time) which is the server variable that suopported by Firebase + +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +// Provide the RTDB payload printing info and other helper functions. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/* 2. Define the API Key */ +#define API_KEY "API_KEY" + +/* 3. Define the RTDB URL */ +#define DATABASE_URL "URL" //.firebaseio.com or ..firebasedatabase.app + +/* 4. Define the user Email and password that alreadey registerd or added in your project */ +#define USER_EMAIL "USER_EMAIL" +#define USER_PASSWORD "USER_PASSWORD" + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +bool taskCompleted = false; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + // For the following credentials, see examples/Authentications/SignInAsUser/EmailPassword/EmailPassword.ino + + /* Assign the api key (required) */ + config.api_key = API_KEY; + + /* Assign the user sign in credentials */ + auth.user.email = USER_EMAIL; + auth.user.password = USER_PASSWORD; + + /* Assign the RTDB URL (required) */ + config.database_url = DATABASE_URL; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + // Or use legacy authenticate method + // config.database_url = DATABASE_URL; + // config.signer.tokens.legacy_token = ""; + + // To connect without auth in Test Mode, see Authentications/TestMode/TestMode.ino + + Firebase.begin(&config, &auth); +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready() && !taskCompleted) + { + taskCompleted = true; + + Serial.printf("Set timestamp... %s\n", Firebase.RTDB.setTimestamp(&fbdo, "/test/timestamp") ? "ok" : fbdo.errorReason().c_str()); + + if (fbdo.httpCode() == FIREBASE_ERROR_HTTP_CODE_OK) + { + + // In setTimestampAsync, the following timestamp will be 0 because the response payload was ignored for all async functions. + + // Timestamp saved in millisecond, get its seconds from int value + Serial.print("TIMESTAMP (Seconds): "); + Serial.println(fbdo.to()); + + // Or print the total milliseconds from double value + // Due to bugs in Serial.print in Arduino library, use printf to print double instead. + printf("TIMESTAMP (milliSeconds): %lld\n", fbdo.to()); + } + + Serial.printf("Get timestamp... %s\n", Firebase.RTDB.getDouble(&fbdo, "/test/timestamp") ? "ok" : fbdo.errorReason().c_str()); + if (fbdo.httpCode() == FIREBASE_ERROR_HTTP_CODE_OK) + printf("TIMESTAMP: %lld\n", fbdo.to()); + + // To set and push data with timestamp, requires the JSON data with .sv placeholder + FirebaseJson json; + + json.set("Data", "Hello"); + // now we will set the timestamp value at Ts + json.set("Ts/.sv", "timestamp"); // .sv is the required place holder for sever value which currently supports only string "timestamp" as a value + + // Set data with timestamp + Serial.printf("Set data with timestamp... %s\n", Firebase.RTDB.setJSON(&fbdo, "/test/set/data", &json) ? fbdo.to().raw() : fbdo.errorReason().c_str()); + + // Push data with timestamp + Serial.printf("Push data with timestamp... %s\n", Firebase.RTDB.pushJSON(&fbdo, "/test/push/data", &json) ? "ok" : fbdo.errorReason().c_str()); + + // Get previous pushed data + Serial.printf("Get previous pushed data... %s\n", Firebase.RTDB.getJSON(&fbdo, "/test/push/data/" + fbdo.pushName()) ? fbdo.to().raw() : fbdo.errorReason().c_str()); + } +} \ No newline at end of file diff --git a/examples/Storage/FirebaseStorage/DeleteFile/DeleteFile.ino b/examples/Storage/FirebaseStorage/DeleteFile/DeleteFile.ino new file mode 100644 index 000000000..eba7bca9f --- /dev/null +++ b/examples/Storage/FirebaseStorage/DeleteFile/DeleteFile.ino @@ -0,0 +1,126 @@ +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +// This example shows how to delete file from Firebase Storage bucket. + +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/* 2. Define the API Key */ +#define API_KEY "API_KEY" + +/* 3. Define the user Email and password that alreadey registerd or added in your project */ +#define USER_EMAIL "USER_EMAIL" +#define USER_PASSWORD "USER_PASSWORD" + +/* 4. Define the Firebase storage bucket ID e.g bucket-name.appspot.com */ +#define STORAGE_BUCKET_ID "BUCKET-NAME.appspot.com" + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +bool taskCompleted = false; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the api key (required) */ + config.api_key = API_KEY; + + /* Assign the user sign in credentials */ + auth.user.email = USER_EMAIL; + auth.user.password = USER_PASSWORD; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + Firebase.begin(&config, &auth); +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready() && !taskCompleted) + { + taskCompleted = true; + + Serial.printf("Delete file... %s\n", Firebase.Storage.deleteFile(&fbdo, STORAGE_BUCKET_ID, "path/to/file/filename") ? "ok" : fbdo.errorReason().c_str()); + } +} diff --git a/examples/Storage/FirebaseStorage/DownloadFile/DownloadFile.ino b/examples/Storage/FirebaseStorage/DownloadFile/DownloadFile.ino new file mode 100644 index 000000000..3f3a97798 --- /dev/null +++ b/examples/Storage/FirebaseStorage/DownloadFile/DownloadFile.ino @@ -0,0 +1,165 @@ +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +// This example shows how to download file from Firebase Storage bucket. + +// If SD Card used for storage, assign SD card type and FS used in src/FirebaseFS.h and +// change the config for that card interfaces in src/addons/SDHelper.h + +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +// Provide the SD card interfaces setting and mounting +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/* 2. Define the API Key */ +#define API_KEY "API_KEY" + +/* 3. Define the user Email and password that alreadey registerd or added in your project */ +#define USER_EMAIL "USER_EMAIL" +#define USER_PASSWORD "USER_PASSWORD" + +/* 4. Define the Firebase storage bucket ID e.g bucket-name.appspot.com */ +#define STORAGE_BUCKET_ID "BUCKET-NAME.appspot.com" + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +bool taskCompleted = false; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the api key (required) */ + config.api_key = API_KEY; + + /* Assign the user sign in credentials */ + auth.user.email = USER_EMAIL; + auth.user.password = USER_PASSWORD; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + /* Assign download buffer size in byte */ + // Data to be downloaded will read as multiple chunks with this size, to compromise between speed and memory used for buffering. + // The memory from external SRAM/PSRAM will not use in the TCP client internal rx buffer. + config.fcs.download_buffer_size = 2048; + + Firebase.begin(&config, &auth); + + // if use SD card, mount it. + SD_Card_Mounting(); // See src/addons/SDHelper.h +} + +// The Firebase Storage download callback function +void fcsDownloadCallback(FCS_DownloadStatusInfo info) +{ + if (info.status == firebase_fcs_download_status_init) + { + Serial.printf("Downloading file %s (%d) to %s\n", info.remoteFileName.c_str(), info.fileSize, info.localFileName.c_str()); + } + else if (info.status == firebase_fcs_download_status_download) + { + Serial.printf("Downloaded %d%s, Elapsed time %d ms\n", (int)info.progress, "%", info.elapsedTime); + } + else if (info.status == firebase_fcs_download_status_complete) + { + Serial.println("Download completed\n"); + } + else if (info.status == firebase_fcs_download_status_error) + { + Serial.printf("Download failed, %s\n", info.errorMsg.c_str()); + } +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready() && !taskCompleted) + { + taskCompleted = true; + + Serial.println("\nDownload file...\n"); + + // The file systems for flash and SD/SDMMC can be changed in FirebaseFS.h. + if (!Firebase.Storage.download(&fbdo, STORAGE_BUCKET_ID /* Firebase Storage bucket id */, "path/to/file/filename" /* path of remote file stored in the bucket */, "/path/to/save/filename" /* path to local file */, mem_storage_type_sd /* memory storage type, mem_storage_type_flash and mem_storage_type_sd */, fcsDownloadCallback /* callback function */)) + Serial.println(fbdo.errorReason()); + } +} diff --git a/examples/Storage/FirebaseStorage/DownloadFileOTA/DownloadFileOTA.ino b/examples/Storage/FirebaseStorage/DownloadFileOTA/DownloadFileOTA.ino new file mode 100644 index 000000000..7ef59b64b --- /dev/null +++ b/examples/Storage/FirebaseStorage/DownloadFileOTA/DownloadFileOTA.ino @@ -0,0 +1,168 @@ +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +// This example shows how to update firmware (bin file) from Firebase Storage bucket. + +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/* 2. Define the API Key */ +#define API_KEY "API_KEY" + +/* 3. Define the user Email and password that alreadey registerd or added in your project */ +#define USER_EMAIL "USER_EMAIL" +#define USER_PASSWORD "USER_PASSWORD" + +/* 4. Define the Firebase storage bucket ID e.g bucket-name.appspot.com */ +#define STORAGE_BUCKET_ID "BUCKET-NAME.appspot.com" + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +bool taskCompleted = false; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the api key (required) */ + config.api_key = API_KEY; + + /* Assign the user sign in credentials */ + auth.user.email = USER_EMAIL; + auth.user.password = USER_PASSWORD; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + // For OTA file download in this example, the RX size will set to 16k during OTA file download and turns to + // the size that set by setBSSLBufferSize. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + /* Assign download buffer size in byte */ + // Data to be downloaded will read as multiple chunks with this size, to compromise between speed and memory used for buffering. + config.fcs.download_buffer_size = 2048; + + Firebase.begin(&config, &auth); +} + +// The Firebase Storage download callback function +void fcsDownloadCallback(FCS_DownloadStatusInfo info) +{ + if (info.status == firebase_fcs_download_status_init) + { + Serial.printf("Downloading firmware %s (%d)\n", info.remoteFileName.c_str(), info.fileSize); + } + else if (info.status == firebase_fcs_download_status_download) + { + Serial.printf("Downloaded %d%s, Elapsed time %d ms\n", (int)info.progress, "%", info.elapsedTime); + } + else if (info.status == firebase_fcs_download_status_complete) + { + Serial.println("Update firmware completed."); + Serial.println(); + Serial.println("Restarting...\n\n"); + delay(2000); +#if defined(ESP32) || defined(ESP8266) + ESP.restart(); +#elif defined(ARDUINO_RASPBERRY_PI_PICO_W) + rp2040.restart(); +#endif + } + else if (info.status == firebase_fcs_download_status_error) + { + Serial.printf("Download firmware failed, %s\n", info.errorMsg.c_str()); + } +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready() && !taskCompleted) + { + taskCompleted = true; + + // If you want to get download url to use with your own OTA update process using core update library, + // see Metadata.ino example + + Serial.println("\nDownload firmware file...\n"); + + // This function will allocate 16k+ memory for internal SSL client. + if (!Firebase.Storage.downloadOTA(&fbdo, STORAGE_BUCKET_ID /* Firebase Storage bucket id */, "" /* path of firmware file stored in the bucket */, fcsDownloadCallback /* callback function */)) + Serial.println(fbdo.errorReason()); + } +} diff --git a/examples/Storage/FirebaseStorage/ListFiles/ListFiles.ino b/examples/Storage/FirebaseStorage/ListFiles/ListFiles.ino new file mode 100644 index 000000000..3e645cfa4 --- /dev/null +++ b/examples/Storage/FirebaseStorage/ListFiles/ListFiles.ino @@ -0,0 +1,136 @@ +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +// This example shows how to list all files in Firebase storage bucket. + +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/* 2. Define the API Key */ +#define API_KEY "API_KEY" + +/* 3. Define the user Email and password that alreadey registerd or added in your project */ +#define USER_EMAIL "USER_EMAIL" +#define USER_PASSWORD "USER_PASSWORD" + +/* 4. Define the Firebase storage bucket ID e.g bucket-name.appspot.com */ +#define STORAGE_BUCKET_ID "BUCKET-NAME.appspot.com" + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +bool taskCompleted = false; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the api key (required) */ + config.api_key = API_KEY; + + /* Assign the user sign in credentials */ + auth.user.email = USER_EMAIL; + auth.user.password = USER_PASSWORD; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + Firebase.begin(&config, &auth); +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready() && !taskCompleted) + { + taskCompleted = true; + + Serial.printf("List files... %s\n", Firebase.Storage.listFiles(&fbdo, STORAGE_BUCKET_ID) ? "ok" : fbdo.errorReason().c_str()); + + if (fbdo.httpCode() == FIREBASE_ERROR_HTTP_CODE_OK) + { + FileList *files = fbdo.fileList(); + for (size_t i = 0; i < files->items.size(); i++) + Serial.printf("name: %s, bucket: %s\n", files->items[i].name.c_str(), files->items[i].bucket.c_str()); + } + + // To clear file list + fbdo.fileList()->items.clear(); + } +} diff --git a/examples/Storage/FirebaseStorage/Metadata/Metadata.ino b/examples/Storage/FirebaseStorage/Metadata/Metadata.ino new file mode 100644 index 000000000..49b2da054 --- /dev/null +++ b/examples/Storage/FirebaseStorage/Metadata/Metadata.ino @@ -0,0 +1,141 @@ +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +// This example shows how to get file Metadata in Firebase Storage bucket. + +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/* 2. Define the API Key */ +#define API_KEY "API_KEY" + +/* 3. Define the user Email and password that alreadey registerd or added in your project */ +#define USER_EMAIL "USER_EMAIL" +#define USER_PASSWORD "USER_PASSWORD" + +/* 4. Define the Firebase storage bucket ID e.g bucket-name.appspot.com */ +#define STORAGE_BUCKET_ID "BUCKET-NAME.appspot.com" + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +bool taskCompleted = false; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the api key (required) */ + config.api_key = API_KEY; + + /* Assign the user sign in credentials */ + auth.user.email = USER_EMAIL; + auth.user.password = USER_PASSWORD; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + Firebase.begin(&config, &auth); +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready() && !taskCompleted) + { + taskCompleted = true; + + Serial.printf("Get file Metadata... %s\n", Firebase.Storage.getMetadata(&fbdo, STORAGE_BUCKET_ID, "test.dat" /* remote file */) ? "ok" : fbdo.errorReason().c_str()); + + if (fbdo.httpCode() == FIREBASE_ERROR_HTTP_CODE_OK) + { + FileMetaInfo meta = fbdo.metaData(); + Serial.printf("Name: %s\n", meta.name.c_str()); + Serial.printf("Bucket: %s\n", meta.bucket.c_str()); + Serial.printf("contentType: %s\n", meta.contentType.c_str()); + Serial.printf("Size: %d\n", meta.size); + Serial.printf("Generation: %lu\n", meta.generation); + Serial.printf("Metageneration: %lu\n", meta.metageneration); + Serial.printf("ETag: %s\n", meta.etag.c_str()); + Serial.printf("CRC32: %s\n", meta.crc32.c_str()); + Serial.printf("Token: %s\n", meta.downloadTokens.c_str()); + Serial.printf("Download URL: %s\n\n", fbdo.downloadURL().c_str()); + } + } +} diff --git a/examples/Storage/FirebaseStorage/UploadByteArrayMemory/UploadByteArrayMemory.ino b/examples/Storage/FirebaseStorage/UploadByteArrayMemory/UploadByteArrayMemory.ino new file mode 100644 index 000000000..b2995f972 --- /dev/null +++ b/examples/Storage/FirebaseStorage/UploadByteArrayMemory/UploadByteArrayMemory.ino @@ -0,0 +1,175 @@ +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +// This example shows how to upload byte array from flash or ram to Firebase storage bucket. + +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/* 2. Define the API Key */ +#define API_KEY "API_KEY" + +/* 3. Define the user Email and password that alreadey registerd or added in your project */ +#define USER_EMAIL "USER_EMAIL" +#define USER_PASSWORD "USER_PASSWORD" + +/* 4. Define the Firebase storage bucket ID e.g bucket-name.appspot.com */ +#define STORAGE_BUCKET_ID "BUCKET-NAME.appspot.com" + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +bool taskCompleted = false; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the api key (required) */ + config.api_key = API_KEY; + + /* Assign the user sign in credentials */ + auth.user.email = USER_EMAIL; + auth.user.password = USER_PASSWORD; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + /* Assign upload buffer size in byte */ + // Data to be uploaded will send as multiple chunks with this size, to compromise between speed and memory used for buffering. + // The memory from external SRAM/PSRAM will not use in the TCP client internal tx buffer. + config.fcs.upload_buffer_size = 512; + + // Set the size of HTTP response buffers in the case where we want to work with large data. + fbdo.setResponseSize(1024); + + Firebase.begin(&config, &auth); +} + +// The Firebase Storage upload callback function +void fcsUploadCallback(FCS_UploadStatusInfo info) +{ + if (info.status == firebase_fcs_upload_status_init) + { + Serial.printf("Uploading data to %s\n", info.remoteFileName.c_str()); + } + else if (info.status == firebase_fcs_upload_status_upload) + { + Serial.printf("Uploaded %d%s, Elapsed time %d ms\n", (int)info.progress, "%", info.elapsedTime); + } + else if (info.status == firebase_fcs_upload_status_complete) + { + Serial.println("Upload completed\n"); + FileMetaInfo meta = fbdo.metaData(); + Serial.printf("Name: %s\n", meta.name.c_str()); + Serial.printf("Bucket: %s\n", meta.bucket.c_str()); + Serial.printf("contentType: %s\n", meta.contentType.c_str()); + Serial.printf("Size: %d\n", meta.size); + Serial.printf("Generation: %lu\n", meta.generation); + Serial.printf("Metageneration: %lu\n", meta.metageneration); + Serial.printf("ETag: %s\n", meta.etag.c_str()); + Serial.printf("CRC32: %s\n", meta.crc32.c_str()); + Serial.printf("Tokens: %s\n", meta.downloadTokens.c_str()); + Serial.printf("Download URL: %s\n\n", fbdo.downloadURL().c_str()); + } + else if (info.status == firebase_fcs_upload_status_error) + { + Serial.printf("Upload failed, %s\n", info.errorMsg.c_str()); + } +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready() && !taskCompleted) + { + taskCompleted = true; + + uint8_t test_data[256]; + for (int i = 0; i < 256; i++) + test_data[i] = i; + + Serial.println("\nUpload byte array...\n"); + + // MIME type should be valid to avoid the download problem. + // The file systems for flash and SD/SDMMC can be changed in FirebaseFS.h. + if (!Firebase.Storage.upload(&fbdo, STORAGE_BUCKET_ID /* Firebase Storage bucket id */, test_data /* byte array from ram or flash */, 256 /* size of data in bytes */, "test.dat" /* path of remote file stored in the bucket */, "application/octet-stream" /* mime type */, fcsUploadCallback /* callback function */)) + Serial.println(fbdo.errorReason()); + } +} diff --git a/examples/Storage/FirebaseStorage/UploadFile/UploadFile.ino b/examples/Storage/FirebaseStorage/UploadFile/UploadFile.ino new file mode 100644 index 000000000..df30fd0c8 --- /dev/null +++ b/examples/Storage/FirebaseStorage/UploadFile/UploadFile.ino @@ -0,0 +1,178 @@ +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +// This example shows how to upload file to Firebase storage bucket using the Firebase Storage API. +// The file media.mp4 in the data folder should be uploaded to the device flash memory before test. + +// If SD Card used for storage, assign SD card type and FS used in src/FirebaseFS.h and +// change the config for that card interfaces in src/addons/SDHelper.h + +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +// Provide the SD card interfaces setting and mounting +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/* 2. Define the API Key */ +#define API_KEY "API_KEY" + +/* 3. Define the user Email and password that alreadey registerd or added in your project */ +#define USER_EMAIL "USER_EMAIL" +#define USER_PASSWORD "USER_PASSWORD" + +/* 4. Define the Firebase storage bucket ID e.g bucket-name.appspot.com */ +#define STORAGE_BUCKET_ID "BUCKET-NAME.appspot.com" + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +bool taskCompleted = false; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the api key (required) */ + config.api_key = API_KEY; + + /* Assign the user sign in credentials */ + auth.user.email = USER_EMAIL; + auth.user.password = USER_PASSWORD; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + Firebase.begin(&config, &auth); + + /* Assign upload buffer size in byte */ + // Data to be uploaded will send as multiple chunks with this size, to compromise between speed and memory used for buffering. + // The memory from external SRAM/PSRAM will not use in the TCP client internal tx buffer. + config.fcs.upload_buffer_size = 512; + + // if use SD card, mount it. + SD_Card_Mounting(); // See src/addons/SDHelper.h +} + +// The Firebase Storage upload callback function +void fcsUploadCallback(FCS_UploadStatusInfo info) +{ + if (info.status == firebase_fcs_upload_status_init) + { + Serial.printf("Uploading file %s (%d) to %s\n", info.localFileName.c_str(), info.fileSize, info.remoteFileName.c_str()); + } + else if (info.status == firebase_fcs_upload_status_upload) + { + Serial.printf("Uploaded %d%s, Elapsed time %d ms\n", (int)info.progress, "%", info.elapsedTime); + } + else if (info.status == firebase_fcs_upload_status_complete) + { + Serial.println("Upload completed\n"); + FileMetaInfo meta = fbdo.metaData(); + Serial.printf("Name: %s\n", meta.name.c_str()); + Serial.printf("Bucket: %s\n", meta.bucket.c_str()); + Serial.printf("contentType: %s\n", meta.contentType.c_str()); + Serial.printf("Size: %d\n", meta.size); + Serial.printf("Generation: %lu\n", meta.generation); + Serial.printf("Metageneration: %lu\n", meta.metageneration); + Serial.printf("ETag: %s\n", meta.etag.c_str()); + Serial.printf("CRC32: %s\n", meta.crc32.c_str()); + Serial.printf("Tokens: %s\n", meta.downloadTokens.c_str()); + Serial.printf("Download URL: %s\n\n", fbdo.downloadURL().c_str()); + } + else if (info.status == firebase_fcs_upload_status_error) + { + Serial.printf("Upload failed, %s\n", info.errorMsg.c_str()); + } +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready() && !taskCompleted) + { + taskCompleted = true; + + Serial.println("\nUpload file...\n"); + + // MIME type should be valid to avoid the download problem. + // The file systems for flash and SD/SDMMC can be changed in FirebaseFS.h. + if (!Firebase.Storage.upload(&fbdo, STORAGE_BUCKET_ID /* Firebase Storage bucket id */, "/media.mp4" /* path to local file */, mem_storage_type_sd /* memory storage type, mem_storage_type_flash and mem_storage_type_sd */, "media.mp4" /* path of remote file stored in the bucket */, "video/mp4" /* mime type */, fcsUploadCallback /* callback function */)) + Serial.println(fbdo.errorReason()); + } +} diff --git a/examples/Storage/FirebaseStorage/UploadFile/data/media.mp4 b/examples/Storage/FirebaseStorage/UploadFile/data/media.mp4 new file mode 100644 index 000000000..1fc478842 Binary files /dev/null and b/examples/Storage/FirebaseStorage/UploadFile/data/media.mp4 differ diff --git a/examples/Storage/GoogleCloudStorage/DeleteFile/DeleteFile.ino b/examples/Storage/GoogleCloudStorage/DeleteFile/DeleteFile.ino new file mode 100644 index 000000000..bafa15e9e --- /dev/null +++ b/examples/Storage/GoogleCloudStorage/DeleteFile/DeleteFile.ino @@ -0,0 +1,131 @@ +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +// This example shows how to delete file from Firebase and Google Cloud Storage bucket via Google Cloud Storage JSON API. +// The Google Cloud Storage JSON API function required OAuth2.0 authen. + +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/* 2. Define the Firebase storage bucket ID e.g bucket-name.appspot.com or Google Cloud Storage bucket name */ +#define STORAGE_BUCKET_ID "BUCKET-NAME.appspot.com" + +/* 3 The following Service Account credentials required for OAuth2.0 authen in Google Cloud Storage JSON API delete file */ +#define FIREBASE_PROJECT_ID "PROJECT_ID" +#define FIREBASE_CLIENT_EMAIL "CLIENT_EMAIL" +const char PRIVATE_KEY[] PROGMEM = "-----BEGIN PRIVATE KEY-----XXXXXXXXXXXX-----END PRIVATE KEY-----\n"; + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +bool taskCompleted = false; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the Service Account credentials for OAuth2.0 authen */ + config.service_account.data.client_email = FIREBASE_CLIENT_EMAIL; + config.service_account.data.project_id = FIREBASE_PROJECT_ID; + config.service_account.data.private_key = PRIVATE_KEY; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + Firebase.begin(&config, &auth); +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready() && !taskCompleted) + { + taskCompleted = true; + + Serial.print("Delete file with Google Cloud Storage JSON API... "); + + // DeleteOptions option; + // For query parameters description of DeleteOptions, see https://cloud.google.com/storage/docs/json_api/v1/objects/delete#optional-parameters + + if (Firebase.GCStorage.deleteFile(&fbdo, STORAGE_BUCKET_ID /* The Firebase or Google Cloud Storage bucket id */, "path/to/file/filename" /* remote file path stored in the Storage bucket*/, nullptr /* DeleteOptions data */)) + Serial.println("ok"); + else + Serial.println(fbdo.errorReason()); + } +} diff --git a/examples/Storage/GoogleCloudStorage/DownloadFile/DownloadFile.ino b/examples/Storage/GoogleCloudStorage/DownloadFile/DownloadFile.ino new file mode 100644 index 000000000..2339d4792 --- /dev/null +++ b/examples/Storage/GoogleCloudStorage/DownloadFile/DownloadFile.ino @@ -0,0 +1,164 @@ +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +// This example shows how to download file from Firebase and Google Cloud Storage bucket via Google Cloud Storage JSON API. +// The Google Cloud Storage JSON API function required OAuth2.0 authen. + +// If SD Card used for storage, assign SD card type and FS used in src/FirebaseFS.h and +// change the config for that card interfaces in src/addons/SDHelper.h + +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +// Provide the SD card interfaces setting and mounting +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/* 2. Define the Firebase storage bucket ID e.g bucket-name.appspot.com or Google Cloud Storage bucket name */ +#define STORAGE_BUCKET_ID "BUCKET-NAME.appspot.com" + +/* 3 The following Service Account credentials required for OAuth2.0 authen in Google Cloud Storage JSON API download */ +#define FIREBASE_PROJECT_ID "PROJECT_ID" +#define FIREBASE_CLIENT_EMAIL "CLIENT_EMAIL" +const char PRIVATE_KEY[] PROGMEM = "-----BEGIN PRIVATE KEY-----XXXXXXXXXXXX-----END PRIVATE KEY-----\n"; + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +bool taskCompleted = false; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the Service Account credentials for OAuth2.0 authen */ + config.service_account.data.client_email = FIREBASE_CLIENT_EMAIL; + config.service_account.data.project_id = FIREBASE_PROJECT_ID; + config.service_account.data.private_key = PRIVATE_KEY; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + /* Assign download buffer size in byte */ + // Data to be downloaded will read as multiple chunks with this size, to compromise between speed and memory used for buffering. + // The memory from external SRAM/PSRAM will not use in the TCP client internal rx buffer. + config.gcs.download_buffer_size = 2048; + + Firebase.begin(&config, &auth); + + // if use SD card, mount it. + SD_Card_Mounting(); // See src/addons/SDHelper.h +} + +// The Google Cloud Storage download callback function +void gcsDownloadCallback(DownloadStatusInfo info) +{ + if (info.status == firebase_gcs_download_status_init) + { + Serial.printf("Downloading file %s (%d) to %s\n", info.remoteFileName.c_str(), info.fileSize, info.localFileName.c_str()); + } + else if (info.status == firebase_gcs_download_status_download) + { + Serial.printf("Downloaded %d%s, Elapsed time %d ms\n", (int)info.progress, "%", info.elapsedTime); + } + else if (info.status == firebase_gcs_download_status_complete) + { + Serial.println("Download completed\n"); + } + else if (info.status == firebase_gcs_download_status_error) + { + Serial.printf("Download failed, %s\n", info.errorMsg.c_str()); + } +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready() && !taskCompleted) + { + taskCompleted = true; + + Serial.println("\nDownload file with Google Cloud Storage JSON API...\n"); + + // StorageGetOptions option; + // For query parameters description of StorageGetOptions, see https://cloud.google.com/storage/docs/json_api/v1/objects/get#optional-parameters + // The file systems for flash and SD/SDMMC can be changed in FirebaseFS.h. + if (!Firebase.GCStorage.download(&fbdo, STORAGE_BUCKET_ID /* Firebase or Google Cloud Storage bucket id */, "path/to/file/filename" /* path of remote file stored in the bucket */, "/path/to/save/filename" /* path to local file */, mem_storage_type_sd /* memory storage type, mem_storage_type_flash and mem_storage_type_sd */, nullptr /* StorageGetOptions data */, gcsDownloadCallback /* callback function */)) + Serial.println(fbdo.errorReason()); + } +} diff --git a/examples/Storage/GoogleCloudStorage/DownloadFileOTA/DownloadFileOTA.ino b/examples/Storage/GoogleCloudStorage/DownloadFileOTA/DownloadFileOTA.ino new file mode 100644 index 000000000..b71bf93cd --- /dev/null +++ b/examples/Storage/GoogleCloudStorage/DownloadFileOTA/DownloadFileOTA.ino @@ -0,0 +1,163 @@ +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +// This example shows how to update firmware (bin file) from Google Cloud Storage bucket. + +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/* 2. Define the Firebase storage bucket ID e.g bucket-name.appspot.com or Google Cloud Storage bucket name */ +#define STORAGE_BUCKET_ID "BUCKET-NAME.appspot.com" + +/* 3 The following Service Account credentials required for OAuth2.0 authen in Google Cloud Storage JSON API download */ +#define FIREBASE_PROJECT_ID "PROJECT_ID" +#define FIREBASE_CLIENT_EMAIL "CLIENT_EMAIL" +const char PRIVATE_KEY[] PROGMEM = "-----BEGIN PRIVATE KEY-----XXXXXXXXXXXX-----END PRIVATE KEY-----\n"; + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +bool taskCompleted = false; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the Service Account credentials for OAuth2.0 authen */ + config.service_account.data.client_email = FIREBASE_CLIENT_EMAIL; + config.service_account.data.project_id = FIREBASE_PROJECT_ID; + config.service_account.data.private_key = PRIVATE_KEY; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise the connection issue or data read time out can be occurred. + // For OTA file download in this example, the RX size will set to 16k during OTA file download and turns to + // the size that set by setBSSLBufferSize. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + /* Assign download buffer size in byte */ + // Data to be downloaded will read as multiple chunks with this size, to compromise between speed and memory used for buffering. + config.gcs.download_buffer_size = 2048; + + Firebase.begin(&config, &auth); +} + +// The Google Cloud Storage download callback function +void gcsDownloadCallback(DownloadStatusInfo info) +{ + if (info.status == firebase_gcs_download_status_init) + { + Serial.printf("Downloading firmware %s (%d)\n", info.remoteFileName.c_str(), info.fileSize); + } + else if (info.status == firebase_gcs_download_status_download) + { + Serial.printf("Downloaded %d%s, Elapsed time %d ms\n", (int)info.progress, "%", info.elapsedTime); + } + else if (info.status == firebase_gcs_download_status_complete) + { + Serial.println("Update firmware completed."); + Serial.println(); + Serial.println("Restarting...\n\n"); + delay(2000); +#if defined(ESP32) || defined(ESP8266) + ESP.restart(); +#elif defined(ARDUINO_RASPBERRY_PI_PICO_W) + rp2040.restart(); +#endif + } + else if (info.status == firebase_gcs_download_status_error) + { + Serial.printf("Download firmware failed, %s\n", info.errorMsg.c_str()); + } +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready() && !taskCompleted) + { + taskCompleted = true; + + Serial.println("\nDownload firmware file OTA with Google Cloud Storage JSON API...\n"); + + // This function will allocate 16k+ memory for internal SSL client. + // In Pico, the free space of device should be larger than the firmware file size. + // You can upload blank filesystem image to clear the space. + if (!Firebase.GCStorage.downloadOTA(&fbdo, STORAGE_BUCKET_ID /* Firebase Storage bucket id */, "" /* path of firmware file stored in the bucket */, gcsDownloadCallback /* callback function */)) + Serial.println(fbdo.errorReason()); + } +} diff --git a/examples/Storage/GoogleCloudStorage/ListFiles/ListFiles.ino b/examples/Storage/GoogleCloudStorage/ListFiles/ListFiles.ino new file mode 100644 index 000000000..d09529191 --- /dev/null +++ b/examples/Storage/GoogleCloudStorage/ListFiles/ListFiles.ino @@ -0,0 +1,140 @@ +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +// This example shows how to list all files in Firebase and Google Cloud storage bucket via Google Cloud Storage JSON API. +// The Google Cloud Storage JSON API function required OAuth2.0 authen. + +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/* 2. Define the Firebase storage bucket ID e.g bucket-name.appspot.com or Google Cloud Storage bucket name*/ +#define STORAGE_BUCKET_ID "BUCKET-NAME.appspot.com" + +/* 3 The following Service Account credentials required for OAuth2.0 authen in Google Cloud Storage JSON API list files */ +#define FIREBASE_PROJECT_ID "PROJECT_ID" +#define FIREBASE_CLIENT_EMAIL "CLIENT_EMAIL" +const char PRIVATE_KEY[] PROGMEM = "-----BEGIN PRIVATE KEY-----XXXXXXXXXXXX-----END PRIVATE KEY-----\n"; + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +bool taskCompleted = false; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the Service Account credentials for OAuth2.0 authen */ + config.service_account.data.client_email = FIREBASE_CLIENT_EMAIL; + config.service_account.data.project_id = FIREBASE_PROJECT_ID; + config.service_account.data.private_key = PRIVATE_KEY; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + Firebase.begin(&config, &auth); +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready() && !taskCompleted) + { + taskCompleted = true; + + Serial.print("List files with Google Cloud Storage JSON API... "); + + // Fore query parameters description of ListOptions, see https://cloud.google.com/storage/docs/json_api/v1/objects/list#optional-parameters + ListOptions option; + option.maxResults = "10"; + + if (Firebase.GCStorage.listFiles(&fbdo, STORAGE_BUCKET_ID /* The Firebase or Google Cloud Storage bucket id */, &option /* ListOptions data */)) + { + Serial.println("ok"); + FileList *files = fbdo.fileList(); + for (size_t i = 0; i < files->items.size(); i++) + Serial.printf("name: %s, bucket: %s, generation: %d, contentType: %s, size: %d\n", files->items[i].name.c_str(), files->items[i].bucket.c_str(), (int)files->items[i].generation, files->items[i].contentType.c_str(), (int)files->items[i].size); + } + else + Serial.println(fbdo.errorReason()); + + // To clear file list + fbdo.fileList()->items.clear(); + } +} diff --git a/examples/Storage/GoogleCloudStorage/Metadata/Metadata.ino b/examples/Storage/GoogleCloudStorage/Metadata/Metadata.ino new file mode 100644 index 000000000..139fb8638 --- /dev/null +++ b/examples/Storage/GoogleCloudStorage/Metadata/Metadata.ino @@ -0,0 +1,146 @@ +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +// This example shows how to get file Metadata in Firebase and Google Cloud Storage bucket via Google Cloud Storage JSON API. +// The Google Cloud Storage JSON API function required OAuth2.0 authen. + +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/* 2. Define the Firebase storage bucket ID e.g bucket-name.appspot.com or Google Cloud Storage bucket name */ +#define STORAGE_BUCKET_ID "BUCKET-NAME.appspot.com" + +/* 3 The following Service Account credentials required for OAuth2.0 authen in Google Cloud Storage JSON API upload */ +#define FIREBASE_PROJECT_ID "PROJECT_ID" +#define FIREBASE_CLIENT_EMAIL "CLIENT_EMAIL" +const char PRIVATE_KEY[] PROGMEM = "-----BEGIN PRIVATE KEY-----XXXXXXXXXXXX-----END PRIVATE KEY-----\n"; + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +bool taskCompleted = false; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the Service Account credentials for OAuth2.0 authen */ + config.service_account.data.client_email = FIREBASE_CLIENT_EMAIL; + config.service_account.data.project_id = FIREBASE_PROJECT_ID; + config.service_account.data.private_key = PRIVATE_KEY; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + Firebase.begin(&config, &auth); +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + + if (Firebase.ready() && !taskCompleted) + { + taskCompleted = true; + + Serial.print("Get file Metadata with Google Cloud Storage JSON API... "); + + // StorageGetOptions option; + // For query parameters description of StorageGetOptions, see https://cloud.google.com/storage/docs/json_api/v1/objects/get#optional-parameters + + if (Firebase.GCStorage.getMetadata(&fbdo, STORAGE_BUCKET_ID /* The Firebase or Google Cloud Storage bucket id */, "path/to/file/filename" /* The remote filename stored in the Storage bucket */, nullptr /* StorageGetOptions data */)) + { + Serial.println("ok"); + FileMetaInfo meta = fbdo.metaData(); + Serial.printf("Name: %s\n", meta.name.c_str()); + Serial.printf("Bucket: %s\n", meta.bucket.c_str()); + Serial.printf("contentType: %s\n", meta.contentType.c_str()); + Serial.printf("Size: %d\n", meta.size); + Serial.printf("Generation: %lu\n", meta.generation); + Serial.printf("Metageneration: %lu\n", meta.metageneration); + Serial.printf("ETag: %s\n", meta.etag.c_str()); + Serial.printf("CRC32: %s\n", meta.crc32.c_str()); + Serial.printf("Token: %s\n", meta.downloadTokens.c_str()); + Serial.printf("Media Link: %s\n", meta.mediaLink.c_str()); + // No download url is available for file uploaded with gcs_upload_type_simple upload. + Serial.printf("Download URL: %s\n", fbdo.downloadURL().c_str()); + } + else + Serial.println(fbdo.errorReason()); + } +} diff --git a/examples/Storage/GoogleCloudStorage/UploadFile/UploadFile.ino b/examples/Storage/GoogleCloudStorage/UploadFile/UploadFile.ino new file mode 100644 index 000000000..35554ca09 --- /dev/null +++ b/examples/Storage/GoogleCloudStorage/UploadFile/UploadFile.ino @@ -0,0 +1,196 @@ +/** + * Created by K. Suwatchai (Mobizt) + * + * Email: k_suwatchai@hotmail.com + * + * Github: https://github.com/mobizt/Firebase-ESP-Client + * + * Copyright (c) 2023 mobizt + * + */ + +// This example shows how to upload file to Firebase storage bucket via the Google Cloud Storage JSON API. +// The file media.mp4 in the data folder should be uploaded to the device flash memory before test. +// The Google Cloud Storage JSON API function required OAuth2.0 authen. + +// If SD Card used for storage, assign SD card type and FS used in src/FirebaseFS.h and +// change the config for that card interfaces in src/addons/SDHelper.h + +#include +#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W) +#include +#elif defined(ESP8266) +#include +#elif __has_include() +#include +#elif __has_include() +#include +#elif __has_include() +#include +#endif + +#include + +// Provide the token generation process info. +#include + +// Provide the SD card interfaces setting and mounting +#include + +/* 1. Define the WiFi credentials */ +#define WIFI_SSID "WIFI_AP" +#define WIFI_PASSWORD "WIFI_PASSWORD" + +/* 2. Define the Firebase storage bucket ID e.g bucket-name.appspot.com or Google Cloud Storage bucket name */ +#define STORAGE_BUCKET_ID "BUCKET-NAME.appspot.com" + +/* 3 The following Service Account credentials required for OAuth2.0 authen in Google Cloud Storage JSON API upload */ +#define FIREBASE_PROJECT_ID "PROJECT_ID" +#define FIREBASE_CLIENT_EMAIL "CLIENT_EMAIL" +const char PRIVATE_KEY[] PROGMEM = "-----BEGIN PRIVATE KEY-----XXXXXXXXXXXX-----END PRIVATE KEY-----\n"; + +// Define Firebase Data object +FirebaseData fbdo; + +FirebaseAuth auth; +FirebaseConfig config; + +bool taskCompleted = false; + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) +WiFiMulti multi; +#endif + +// The Google Cloud Storage upload callback function +void gcsUploadCallback(UploadStatusInfo info); + +void setup() +{ + + Serial.begin(115200); + +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + multi.addAP(WIFI_SSID, WIFI_PASSWORD); + multi.run(); +#else + WiFi.begin(WIFI_SSID, WIFI_PASSWORD); +#endif + + Serial.print("Connecting to Wi-Fi"); + unsigned long ms = millis(); + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(300); +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + if (millis() - ms > 10000) + break; +#endif + } + Serial.println(); + Serial.print("Connected with IP: "); + Serial.println(WiFi.localIP()); + Serial.println(); + + Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION); + + /* Assign the Service Account credentials for OAuth2.0 authen */ + config.service_account.data.client_email = FIREBASE_CLIENT_EMAIL; + config.service_account.data.project_id = FIREBASE_PROJECT_ID; + config.service_account.data.private_key = PRIVATE_KEY; + + // The WiFi credentials are required for Pico W + // due to it does not have reconnect feature. +#if defined(ARDUINO_RASPBERRY_PI_PICO_W) + config.wifi.clearAP(); + config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD); +#endif + + /* Assign the callback function for the long running token generation task */ + config.token_status_callback = tokenStatusCallback; // see addons/TokenHelper.h + + /* Assign upload buffer size in byte */ + // Data to be uploaded will send as multiple chunks with this size, to compromise between speed and memory used for buffering. + // The memory from external SRAM/PSRAM will not use in the TCP client internal tx buffer. + config.gcs.upload_buffer_size = 2048; + + // Comment or pass false value when WiFi reconnection will control by your code or third party library e.g. WiFiManager + Firebase.reconnectNetwork(true); + + // Since v4.4.x, BearSSL engine was used, the SSL buffer need to be set. + // Large data transmission may require larger RX buffer, otherwise connection issue or data read time out can be occurred. + fbdo.setBSSLBufferSize(4096 /* Rx buffer size in bytes from 512 - 16384 */, 1024 /* Tx buffer size in bytes from 512 - 16384 */); + + Firebase.begin(&config, &auth); + + // if use SD card, mount it. + SD_Card_Mounting(); // See src/addons/SDHelper.h +} + +// The Google Cloud Storage upload callback function +void gcsUploadCallback(UploadStatusInfo info) +{ + if (info.status == firebase_gcs_upload_status_init) + { + Serial.printf("Uploading file %s (%d) to %s\n", info.localFileName.c_str(), info.fileSize, info.remoteFileName.c_str()); + } + else if (info.status == firebase_gcs_upload_status_upload) + { + Serial.printf("Uploaded %d%s, Elapsed time %d ms\n", (int)info.progress, "%", info.elapsedTime); + } + else if (info.status == firebase_gcs_upload_status_complete) + { + Serial.println("Upload completed\n"); + FileMetaInfo meta = fbdo.metaData(); + Serial.printf("Name: %s\n", meta.name.c_str()); + Serial.printf("Bucket: %s\n", meta.bucket.c_str()); + Serial.printf("contentType: %s\n", meta.contentType.c_str()); + Serial.printf("Size: %d\n", meta.size); + Serial.printf("Generation: %lu\n", meta.generation); + Serial.printf("ETag: %s\n", meta.etag.c_str()); + Serial.printf("CRC32: %s\n", meta.crc32.c_str()); + Serial.printf("Tokens: %s\n", meta.downloadTokens.c_str()); // only gcs_upload_type_multipart and gcs_upload_type_resumable upload types. + Serial.printf("Download URL: %s\n", fbdo.downloadURL().c_str()); // only gcs_upload_type_multipart and gcs_upload_type_resumable upload types. + } + else if (info.status == firebase_gcs_upload_status_error) + { + Serial.printf("Upload failed, %s\n", info.errorMsg.c_str()); + } +} + +void loop() +{ + + // Firebase.ready() should be called repeatedly to handle authentication tasks. + +// In case resumable upload +#if !defined(ESP32) && !defined(ESP8266) + if (Firebase.ready()) + Firebase.GCStorage.runResumableUploadTask(); +#endif + + if (Firebase.ready() && !taskCompleted) + { + taskCompleted = true; + + Serial.println("\nUpload file via Google Cloud Storage JSON API...\n"); + + /** + * The following function uses Google Cloud Storage JSON API to upload the file (object). + * The Google Cloud Storage functions required OAuth2.0 authentication. + * The upload types of methods can be selectable. + * + * The gcs_upload_type_simple upload type is used for small file upload in a single request without metadata. + * gcs_upload_type_multipart upload type is for small file upload in a single reques with metadata. + * gcs_upload_type_resumable upload type is for medium or large file (larger than or equal to 256 256 KiB) upload with metadata and can be resumable. + * + * The upload with metadata supports allows the library to add the metadata internally for Firebase to request the download access token in Firebase Storage bucket. + * User also can add custom metadata for the uploading file (object). + */ + + // For query parameters description of UploadOptions, see https://cloud.google.com/storage/docs/json_api/v1/objects/insert#optional-parameters + // For request payload properties description of Requestproperties, see https://cloud.google.com/storage/docs/json_api/v1/objects/insert#optional-properties + // The file systems for flash and SD/SDMMC can be changed in FirebaseFS.h. + Firebase.GCStorage.upload(&fbdo, STORAGE_BUCKET_ID /* Firebase or Google Cloud Storage bucket id */, "/media.mp4" /* path to local file */, mem_storage_type_sd /* memory storage type, mem_storage_type_flash and mem_storage_type_sd */, gcs_upload_type_resumable /* upload type */, "media.mp4" /* path of remote file stored in the bucket */, "video/mp4" /* mime type */, nullptr /* UploadOptions data */, nullptr /* Requestproperties data */, nullptr /* UploadStatusInfo data to get the status */, gcsUploadCallback /* callback function */); + } +} diff --git a/examples/Storage/GoogleCloudStorage/UploadFile/data/media.mp4 b/examples/Storage/GoogleCloudStorage/UploadFile/data/media.mp4 new file mode 100644 index 000000000..1fc478842 Binary files /dev/null and b/examples/Storage/GoogleCloudStorage/UploadFile/data/media.mp4 differ diff --git a/library.json b/library.json index 10c177b1e..4eb1ddb78 100644 --- a/library.json +++ b/library.json @@ -1,6 +1,6 @@ { "name": "Firebase Arduino Client Library for ESP8266 and ESP32", - "version": "4.4.14", + "version": "4.4.15", "keywords": "communication, REST, esp32, esp8266, arduino", "description": "The library supports Firebase products e.g. Realtime database, Cloud Firestore database, Firebase Storage and Google Cloud Storage, Cloud Functions for Firebase and Cloud Messaging. The library also supported other Arduino devices using Clients interfaces e.g. WiFiClient, EthernetClient, and GSMClient.", "repository": { diff --git a/library.properties b/library.properties index 8440ac3cb..846ebc269 100644 --- a/library.properties +++ b/library.properties @@ -1,6 +1,6 @@ name=Firebase Arduino Client Library for ESP8266 and ESP32 -version=4.4.14 +version=4.4.15 author=Mobizt diff --git a/src/client/SSLClient/Custom_ESP_SSLClient_FS.h b/src/client/SSLClient/Custom_ESP_SSLClient_FS.h deleted file mode 100644 index f056118fb..000000000 --- a/src/client/SSLClient/Custom_ESP_SSLClient_FS.h +++ /dev/null @@ -1,8 +0,0 @@ - -#ifndef CUSTOM_ESP_SSLCLIENT_FS_H -#define CUSTOM_ESP_SSLCLIENT_FS_H - -#undef ESP_SSLCLIENT_ENABLE_DEBUG -#undef ESP_SSLCLIENT_ENABLE_SSL_ERROR_STRING - -#endif diff --git a/src/client/SSLClient/ESP_SSLClient.h b/src/client/SSLClient/ESP_SSLClient.h index 58ae1d401..c5462b880 100644 --- a/src/client/SSLClient/ESP_SSLClient.h +++ b/src/client/SSLClient/ESP_SSLClient.h @@ -1,8 +1,8 @@ /** * - * The ESP SSL Client Class, ESP_SSLClient.h v2.1.7 + * The ESP SSL Client Class, ESP_SSLClient.h v2.1.13 * - * Created September 2, 2023 + * Created December 5, 2024 * * The MIT License (MIT) * Copyright (c) 2023 K. Suwatchai (Mobizt) @@ -47,7 +47,7 @@ class ESP_SSLClient : public BSSL_TCP_Client class ESP_SSLClient2 : public BSSL_TCP_Client { public: - ESP_SSLClient2(Client &client, bool enableSSL = true) : _base_client(client) + explicit ESP_SSLClient2(Client &client, bool enableSSL = true) : _base_client(client) { setClient(&_base_client, enableSSL); }; @@ -68,7 +68,7 @@ class ESP_SSLClient class ESP_SSLClient2 { public: - ESP_SSLClient2(Client &client, bool enableSSL = true) : _base_client(client){}; + explicit ESP_SSLClient2(Client &client, bool enableSSL = true) : _base_client(client){}; ~ESP_SSLClient2(){}; private: diff --git a/src/client/SSLClient/ESP_SSLClient_FS.h b/src/client/SSLClient/ESP_SSLClient_FS.h index cacae8c15..d8787dd11 100644 --- a/src/client/SSLClient/ESP_SSLClient_FS.h +++ b/src/client/SSLClient/ESP_SSLClient_FS.h @@ -34,7 +34,7 @@ #define ESP_SSLCLIENT_USE_PSRAM #if defined __has_include -#if __has_include("Custom_ESP_SSLClient_FS.h") +#if __has_include() #include "Custom_ESP_SSLClient_FS.h" #endif #endif diff --git a/src/client/SSLClient/bssl/aes_big_cbcdec.c b/src/client/SSLClient/bssl/aes_big_cbcdec.c index 41d5fcf8c..547d714bc 100644 --- a/src/client/SSLClient/bssl/aes_big_cbcdec.c +++ b/src/client/SSLClient/bssl/aes_big_cbcdec.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(EAS_BIG_CBCDEC_C) && defined(USE_LIB_SSL_ENGINE) -#define EAS_BIG_CBCDEC_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/aes_big_cbcenc.c b/src/client/SSLClient/bssl/aes_big_cbcenc.c index 533451512..801568fc7 100644 --- a/src/client/SSLClient/bssl/aes_big_cbcenc.c +++ b/src/client/SSLClient/bssl/aes_big_cbcenc.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(EAS_BIG_CBCENC_C) && defined(USE_LIB_SSL_ENGINE) -#define EAS_BIG_CBCENC_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/aes_big_ctr.c b/src/client/SSLClient/bssl/aes_big_ctr.c index 20b7a676f..b6b18ab8b 100644 --- a/src/client/SSLClient/bssl/aes_big_ctr.c +++ b/src/client/SSLClient/bssl/aes_big_ctr.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(EAS_BIG_CTR_C) && defined(USE_LIB_SSL_ENGINE) -#define EAS_BIG_CTR_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/aes_big_ctrcbc.c b/src/client/SSLClient/bssl/aes_big_ctrcbc.c index e58450de5..27cb153f3 100644 --- a/src/client/SSLClient/bssl/aes_big_ctrcbc.c +++ b/src/client/SSLClient/bssl/aes_big_ctrcbc.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(EAS_BIG_CTRCBC_C) && defined(USE_LIB_SSL_ENGINE) -#define EAS_BIG_CTRCBC_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/aes_big_dec.c b/src/client/SSLClient/bssl/aes_big_dec.c index 10e69bfa9..56c33b96c 100644 --- a/src/client/SSLClient/bssl/aes_big_dec.c +++ b/src/client/SSLClient/bssl/aes_big_dec.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(EAS_BIG_DEC_C) && defined(USE_LIB_SSL_ENGINE) -#define EAS_BIG_DEC_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/aes_big_enc.c b/src/client/SSLClient/bssl/aes_big_enc.c index 88cd9a5f1..29af02e22 100644 --- a/src/client/SSLClient/bssl/aes_big_enc.c +++ b/src/client/SSLClient/bssl/aes_big_enc.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(EAS_BIG_ENC_C) && defined(USE_LIB_SSL_ENGINE) -#define EAS_BIG_ENC_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/aes_common.c b/src/client/SSLClient/bssl/aes_common.c index e9a2aaaad..e216c94bd 100644 --- a/src/client/SSLClient/bssl/aes_common.c +++ b/src/client/SSLClient/bssl/aes_common.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(EAS_COMMON_C) && defined(USE_LIB_SSL_ENGINE) -#define EAS_COMMON_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/aes_ct.c b/src/client/SSLClient/bssl/aes_ct.c index 189fd95e0..a2fcb783a 100644 --- a/src/client/SSLClient/bssl/aes_ct.c +++ b/src/client/SSLClient/bssl/aes_ct.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(EAS_CT_C) && defined(USE_LIB_SSL_ENGINE) -#define EAS_CT_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/aes_ct64.c b/src/client/SSLClient/bssl/aes_ct64.c index 77ad0e7b7..54da2aa1c 100644 --- a/src/client/SSLClient/bssl/aes_ct64.c +++ b/src/client/SSLClient/bssl/aes_ct64.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(EAS_CT64_C) && defined(USE_LIB_SSL_ENGINE) -#define EAS_CT64_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/aes_ct64_cbcdec.c b/src/client/SSLClient/bssl/aes_ct64_cbcdec.c index b34a3e448..2827fa2db 100644 --- a/src/client/SSLClient/bssl/aes_ct64_cbcdec.c +++ b/src/client/SSLClient/bssl/aes_ct64_cbcdec.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(EAS_CT64_CBCDEC_C) && defined(USE_LIB_SSL_ENGINE) -#define EAS_CT64_CBCDEC_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/aes_ct64_cbcenc.c b/src/client/SSLClient/bssl/aes_ct64_cbcenc.c index ef323f6be..73a5ee1bc 100644 --- a/src/client/SSLClient/bssl/aes_ct64_cbcenc.c +++ b/src/client/SSLClient/bssl/aes_ct64_cbcenc.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(EAS_CT64_CBCENC_C) && defined(USE_LIB_SSL_ENGINE) -#define EAS_CT64_CBCENC_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/aes_ct64_ctr.c b/src/client/SSLClient/bssl/aes_ct64_ctr.c index dff6c4b62..bbc05bbf3 100644 --- a/src/client/SSLClient/bssl/aes_ct64_ctr.c +++ b/src/client/SSLClient/bssl/aes_ct64_ctr.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(EAS_CT64_CTR_C) && defined(USE_LIB_SSL_ENGINE) -#define EAS_CT64_CTR_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/aes_ct64_ctrcbc.c b/src/client/SSLClient/bssl/aes_ct64_ctrcbc.c index 5a28f4e51..50bf8b32b 100644 --- a/src/client/SSLClient/bssl/aes_ct64_ctrcbc.c +++ b/src/client/SSLClient/bssl/aes_ct64_ctrcbc.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(EAS_CT64_CTRCBC_C) && defined(USE_LIB_SSL_ENGINE) -#define EAS_CT64_CTRCBC_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/aes_ct64_dec.c b/src/client/SSLClient/bssl/aes_ct64_dec.c index 196f50d26..236b4f79d 100644 --- a/src/client/SSLClient/bssl/aes_ct64_dec.c +++ b/src/client/SSLClient/bssl/aes_ct64_dec.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(EAS_CT64_DEC_C) && defined(USE_LIB_SSL_ENGINE) -#define EAS_CT64_DEC_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/aes_ct64_enc.c b/src/client/SSLClient/bssl/aes_ct64_enc.c index c56bef364..f2669b8d7 100644 --- a/src/client/SSLClient/bssl/aes_ct64_enc.c +++ b/src/client/SSLClient/bssl/aes_ct64_enc.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(EAS_CT64_ENC_C) && defined(USE_LIB_SSL_ENGINE) -#define EAS_CT64_ENC_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/aes_ct_cbcdec.c b/src/client/SSLClient/bssl/aes_ct_cbcdec.c index 525591881..151e41e2a 100644 --- a/src/client/SSLClient/bssl/aes_ct_cbcdec.c +++ b/src/client/SSLClient/bssl/aes_ct_cbcdec.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(EAS_CT_CBCDEC_C) && defined(USE_LIB_SSL_ENGINE) -#define EAS_CT_CBCDEC_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/aes_ct_cbcenc.c b/src/client/SSLClient/bssl/aes_ct_cbcenc.c index 7233a6266..89877f011 100644 --- a/src/client/SSLClient/bssl/aes_ct_cbcenc.c +++ b/src/client/SSLClient/bssl/aes_ct_cbcenc.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(EAS_CT_CBCENC_C) && defined(USE_LIB_SSL_ENGINE) -#define EAS_CT_CBCENC_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/aes_ct_ctr.c b/src/client/SSLClient/bssl/aes_ct_ctr.c index 721c21dc0..301c0a2d3 100644 --- a/src/client/SSLClient/bssl/aes_ct_ctr.c +++ b/src/client/SSLClient/bssl/aes_ct_ctr.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(EAS_CT_CTR_C) && defined(USE_LIB_SSL_ENGINE) -#define EAS_CT_CTR_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/aes_ct_ctrcbc.c b/src/client/SSLClient/bssl/aes_ct_ctrcbc.c index 525703eba..5a29f5d69 100644 --- a/src/client/SSLClient/bssl/aes_ct_ctrcbc.c +++ b/src/client/SSLClient/bssl/aes_ct_ctrcbc.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(EAS_CT_CTRCBC_C) && defined(USE_LIB_SSL_ENGINE) -#define EAS_CT_CTRCBC_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/aes_ct_dec.c b/src/client/SSLClient/bssl/aes_ct_dec.c index 4b3a953ed..63fa10ff6 100644 --- a/src/client/SSLClient/bssl/aes_ct_dec.c +++ b/src/client/SSLClient/bssl/aes_ct_dec.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(EAS_CT_DEC_C) && defined(USE_LIB_SSL_ENGINE) -#define EAS_CT_DEC_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/aes_ct_enc.c b/src/client/SSLClient/bssl/aes_ct_enc.c index d5e9eda55..327bd18af 100644 --- a/src/client/SSLClient/bssl/aes_ct_enc.c +++ b/src/client/SSLClient/bssl/aes_ct_enc.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(EAS_CT_ENC_C) && defined(USE_LIB_SSL_ENGINE) -#define EAS_CT_ENC_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/aes_pwr8.c b/src/client/SSLClient/bssl/aes_pwr8.c index f2dd4c490..b4259f52f 100644 --- a/src/client/SSLClient/bssl/aes_pwr8.c +++ b/src/client/SSLClient/bssl/aes_pwr8.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(EAS_PWR8_C) && defined(USE_LIB_SSL_ENGINE) -#define EAS_PWR8_C +#if defined(USE_LIB_SSL_ENGINE) #define BR_POWER_ASM_MACROS 1 #include "inner.h" diff --git a/src/client/SSLClient/bssl/aes_pwr8_cbcdec.c b/src/client/SSLClient/bssl/aes_pwr8_cbcdec.c index afaefa93d..33df4fe7a 100644 --- a/src/client/SSLClient/bssl/aes_pwr8_cbcdec.c +++ b/src/client/SSLClient/bssl/aes_pwr8_cbcdec.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(EAS_PWR8_CBCDEC_C) && defined(USE_LIB_SSL_ENGINE) -#define EAS_PWR8_CBCDEC_C +#if defined(USE_LIB_SSL_ENGINE) #define BR_POWER_ASM_MACROS 1 #include "inner.h" diff --git a/src/client/SSLClient/bssl/aes_pwr8_cbcenc.c b/src/client/SSLClient/bssl/aes_pwr8_cbcenc.c index 230920c73..4f9b28f6b 100644 --- a/src/client/SSLClient/bssl/aes_pwr8_cbcenc.c +++ b/src/client/SSLClient/bssl/aes_pwr8_cbcenc.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(EAS_PWR8_CBCENC_C) && defined(USE_LIB_SSL_ENGINE) -#define EAS_PWR8_CBCENC_C +#if defined(USE_LIB_SSL_ENGINE) #define BR_POWER_ASM_MACROS 1 #include "inner.h" diff --git a/src/client/SSLClient/bssl/aes_pwr8_ctr.c b/src/client/SSLClient/bssl/aes_pwr8_ctr.c index e7160cb5c..69558cb54 100644 --- a/src/client/SSLClient/bssl/aes_pwr8_ctr.c +++ b/src/client/SSLClient/bssl/aes_pwr8_ctr.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(EAS_PWR8_CTR_C) && defined(USE_LIB_SSL_ENGINE) -#define EAS_PWR8_CTR_C +#if defined(USE_LIB_SSL_ENGINE) #define BR_POWER_ASM_MACROS 1 #include "inner.h" diff --git a/src/client/SSLClient/bssl/aes_pwr8_ctrcbc.c b/src/client/SSLClient/bssl/aes_pwr8_ctrcbc.c index bc417bdc3..62175f073 100644 --- a/src/client/SSLClient/bssl/aes_pwr8_ctrcbc.c +++ b/src/client/SSLClient/bssl/aes_pwr8_ctrcbc.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(EAS_PWR8_CTRCBC_C) && defined(USE_LIB_SSL_ENGINE) -#define EAS_PWR8_CTRCBC_C +#if defined(USE_LIB_SSL_ENGINE) #define BR_POWER_ASM_MACROS 1 #include "inner.h" diff --git a/src/client/SSLClient/bssl/aes_small_cbcdec.c b/src/client/SSLClient/bssl/aes_small_cbcdec.c index 16d1f952d..58f4f4531 100644 --- a/src/client/SSLClient/bssl/aes_small_cbcdec.c +++ b/src/client/SSLClient/bssl/aes_small_cbcdec.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(EAS_SMALL_CBCDEC_C) && defined(USE_LIB_SSL_ENGINE) -#define EAS_SMALL_CBCDEC_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/aes_small_cbcenc.c b/src/client/SSLClient/bssl/aes_small_cbcenc.c index 3ebf39d5c..d8e74dc1b 100644 --- a/src/client/SSLClient/bssl/aes_small_cbcenc.c +++ b/src/client/SSLClient/bssl/aes_small_cbcenc.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(EAS_SMALL_CBCENC_C) && defined(USE_LIB_SSL_ENGINE) -#define EAS_SMALL_CBCENC_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/aes_small_ctr.c b/src/client/SSLClient/bssl/aes_small_ctr.c index 92df250cd..b79e04f54 100644 --- a/src/client/SSLClient/bssl/aes_small_ctr.c +++ b/src/client/SSLClient/bssl/aes_small_ctr.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(EAS_SMALL_CTR_C) && defined(USE_LIB_SSL_ENGINE) -#define EAS_SMALL_CTR_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/aes_small_ctrcbc.c b/src/client/SSLClient/bssl/aes_small_ctrcbc.c index 8bc52c203..a75d2af6e 100644 --- a/src/client/SSLClient/bssl/aes_small_ctrcbc.c +++ b/src/client/SSLClient/bssl/aes_small_ctrcbc.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(EAS_SMALL_CTRCBC_C) && defined(USE_LIB_SSL_ENGINE) -#define EAS_SMALL_CTRCBC_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/aes_small_dec.c b/src/client/SSLClient/bssl/aes_small_dec.c index 6bd6952f2..980045744 100644 --- a/src/client/SSLClient/bssl/aes_small_dec.c +++ b/src/client/SSLClient/bssl/aes_small_dec.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(EAS_SMALL_DEC_C) && defined(USE_LIB_SSL_ENGINE) -#define EAS_SMALL_DEC_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/aes_small_enc.c b/src/client/SSLClient/bssl/aes_small_enc.c index 3ac29baf5..3769c07ed 100644 --- a/src/client/SSLClient/bssl/aes_small_enc.c +++ b/src/client/SSLClient/bssl/aes_small_enc.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(EAS_SMALL_ENC_C) && defined(USE_LIB_SSL_ENGINE) -#define EAS_SMALL_ENC_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/aes_x86ni.c b/src/client/SSLClient/bssl/aes_x86ni.c index 50cb0ec56..c851657db 100644 --- a/src/client/SSLClient/bssl/aes_x86ni.c +++ b/src/client/SSLClient/bssl/aes_x86ni.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(EAS_X86NI_C) && defined(USE_LIB_SSL_ENGINE) -#define EAS_X86NI_C +#if defined(USE_LIB_SSL_ENGINE) #define BR_ENABLE_INTRINSICS 1 #include "inner.h" diff --git a/src/client/SSLClient/bssl/aes_x86ni_cbcdec.c b/src/client/SSLClient/bssl/aes_x86ni_cbcdec.c index 12f9166e7..a257dd872 100644 --- a/src/client/SSLClient/bssl/aes_x86ni_cbcdec.c +++ b/src/client/SSLClient/bssl/aes_x86ni_cbcdec.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(EAS_X86NI_CBCDEC_C) && defined(USE_LIB_SSL_ENGINE) -#define EAS_X86NI_CBCDEC_C +#if defined(USE_LIB_SSL_ENGINE) #define BR_ENABLE_INTRINSICS 1 #include "inner.h" diff --git a/src/client/SSLClient/bssl/aes_x86ni_cbcenc.c b/src/client/SSLClient/bssl/aes_x86ni_cbcenc.c index 2c6dce445..93e72d6e2 100644 --- a/src/client/SSLClient/bssl/aes_x86ni_cbcenc.c +++ b/src/client/SSLClient/bssl/aes_x86ni_cbcenc.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(EAS_X86NI_CBCENC_C) && defined(USE_LIB_SSL_ENGINE) -#define EAS_X86NI_CBCENC_C +#if defined(USE_LIB_SSL_ENGINE) #define BR_ENABLE_INTRINSICS 1 #include "inner.h" diff --git a/src/client/SSLClient/bssl/aes_x86ni_ctr.c b/src/client/SSLClient/bssl/aes_x86ni_ctr.c index e3e9fc112..4a4ad1d58 100644 --- a/src/client/SSLClient/bssl/aes_x86ni_ctr.c +++ b/src/client/SSLClient/bssl/aes_x86ni_ctr.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(EAS_X86NI_CTR_C) && defined(USE_LIB_SSL_ENGINE) -#define EAS_X86NI_CTR_C +#if defined(USE_LIB_SSL_ENGINE) #define BR_ENABLE_INTRINSICS 1 #include "inner.h" diff --git a/src/client/SSLClient/bssl/aes_x86ni_ctrcbc.c b/src/client/SSLClient/bssl/aes_x86ni_ctrcbc.c index e82c47514..44664b5ac 100644 --- a/src/client/SSLClient/bssl/aes_x86ni_ctrcbc.c +++ b/src/client/SSLClient/bssl/aes_x86ni_ctrcbc.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(EAS_X86NI_CTRCBC_C) && defined(USE_LIB_SSL_ENGINE) -#define EAS_X86NI_CTRCBC_C +#if defined(USE_LIB_SSL_ENGINE) #define BR_ENABLE_INTRINSICS 1 #include "inner.h" diff --git a/src/client/SSLClient/bssl/aesctr_drbg.c b/src/client/SSLClient/bssl/aesctr_drbg.c index bc5c5cb9a..5f2d39337 100644 --- a/src/client/SSLClient/bssl/aesctr_drbg.c +++ b/src/client/SSLClient/bssl/aesctr_drbg.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(EASCTR_DRBG_C) && defined(USE_LIB_SSL_ENGINE) -#define EASCTR_DRBG_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/asn1enc.c b/src/client/SSLClient/bssl/asn1enc.c index 0d28660a9..00b531e6b 100644 --- a/src/client/SSLClient/bssl/asn1enc.c +++ b/src/client/SSLClient/bssl/asn1enc.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(ASN1ENC_C) && defined(USE_LIB_SSL_ENGINE) -#define ASN1ENC_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ccm.c b/src/client/SSLClient/bssl/ccm.c index a7b79908b..ceba88d7c 100644 --- a/src/client/SSLClient/bssl/ccm.c +++ b/src/client/SSLClient/bssl/ccm.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(CCM_C) && defined(USE_LIB_SSL_ENGINE) -#define CCM_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ccopy.c b/src/client/SSLClient/bssl/ccopy.c index 9680a134a..cbbd5fddb 100644 --- a/src/client/SSLClient/bssl/ccopy.c +++ b/src/client/SSLClient/bssl/ccopy.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(CCOPY_C) && defined(USE_LIB_SSL_ENGINE) -#define CCOPY_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/chacha20_ct.c b/src/client/SSLClient/bssl/chacha20_ct.c index 174b90234..d981d12d8 100644 --- a/src/client/SSLClient/bssl/chacha20_ct.c +++ b/src/client/SSLClient/bssl/chacha20_ct.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(CHACHA20_CT_C) && defined(USE_LIB_SSL_ENGINE) -#define CHACHA20_CT_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/chacha20_sse2.c b/src/client/SSLClient/bssl/chacha20_sse2.c index c2c6acefa..0b8df1769 100644 --- a/src/client/SSLClient/bssl/chacha20_sse2.c +++ b/src/client/SSLClient/bssl/chacha20_sse2.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(CHACHA20_SSE2_C) && defined(USE_LIB_SSL_ENGINE) -#define CHACHA20_SSE2_C +#if defined(USE_LIB_SSL_ENGINE) #define BR_ENABLE_INTRINSICS 1 #include "inner.h" diff --git a/src/client/SSLClient/bssl/dec16be.c b/src/client/SSLClient/bssl/dec16be.c index c8313999b..8100df29d 100644 --- a/src/client/SSLClient/bssl/dec16be.c +++ b/src/client/SSLClient/bssl/dec16be.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(DEC16BE_C) && defined(USE_LIB_SSL_ENGINE) -#define DEC16BE_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/dec16le.c b/src/client/SSLClient/bssl/dec16le.c index 6d8b0e285..69880c9d3 100644 --- a/src/client/SSLClient/bssl/dec16le.c +++ b/src/client/SSLClient/bssl/dec16le.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(DEC16LE_C) && defined(USE_LIB_SSL_ENGINE) -#define DEC16LE_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/dec32be.c b/src/client/SSLClient/bssl/dec32be.c index f70ab28c5..6ae08b07f 100644 --- a/src/client/SSLClient/bssl/dec32be.c +++ b/src/client/SSLClient/bssl/dec32be.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(DEC32BE_C) && defined(USE_LIB_SSL_ENGINE) -#define DEC32BE_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/dec32le.c b/src/client/SSLClient/bssl/dec32le.c index d62a4864e..548a23520 100644 --- a/src/client/SSLClient/bssl/dec32le.c +++ b/src/client/SSLClient/bssl/dec32le.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(DEC32LE_C) && defined(USE_LIB_SSL_ENGINE) -#define DEC32LE_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/dec64be.c b/src/client/SSLClient/bssl/dec64be.c index 2e1285cf3..4d9a6e63c 100644 --- a/src/client/SSLClient/bssl/dec64be.c +++ b/src/client/SSLClient/bssl/dec64be.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(DEC64BE_C) && defined(USE_LIB_SSL_ENGINE) -#define DEC64BE_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/dec64le.c b/src/client/SSLClient/bssl/dec64le.c index d98b49597..7a5c4a30d 100644 --- a/src/client/SSLClient/bssl/dec64le.c +++ b/src/client/SSLClient/bssl/dec64le.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(DEC64LE_C) && defined(USE_LIB_SSL_ENGINE) -#define DEC64LE_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/des_ct.c b/src/client/SSLClient/bssl/des_ct.c index 19bdceeb6..842443363 100644 --- a/src/client/SSLClient/bssl/des_ct.c +++ b/src/client/SSLClient/bssl/des_ct.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(DES_CT_C) && defined(USE_LIB_SSL_ENGINE) -#define DES_CT_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/des_ct_cbcdec.c b/src/client/SSLClient/bssl/des_ct_cbcdec.c index 1da3d9f2a..529dd12fc 100644 --- a/src/client/SSLClient/bssl/des_ct_cbcdec.c +++ b/src/client/SSLClient/bssl/des_ct_cbcdec.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(DES_CT_CBCDEC_C) && defined(USE_LIB_SSL_ENGINE) -#define DES_CT_CBCDEC_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/des_ct_cbcenc.c b/src/client/SSLClient/bssl/des_ct_cbcenc.c index f2d8862de..989097b79 100644 --- a/src/client/SSLClient/bssl/des_ct_cbcenc.c +++ b/src/client/SSLClient/bssl/des_ct_cbcenc.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(DES_CT_CBCENC_C) && defined(USE_LIB_SSL_ENGINE) -#define DES_CT_CBCENC_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/des_support.c b/src/client/SSLClient/bssl/des_support.c index 88822971b..270352a15 100644 --- a/src/client/SSLClient/bssl/des_support.c +++ b/src/client/SSLClient/bssl/des_support.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(DES_SUPPORT_C) && defined(USE_LIB_SSL_ENGINE) -#define DES_SUPPORT_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/des_tab.c b/src/client/SSLClient/bssl/des_tab.c index 56a77ea1a..5fa2c3f49 100644 --- a/src/client/SSLClient/bssl/des_tab.c +++ b/src/client/SSLClient/bssl/des_tab.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(DES_TAB_C) && defined(USE_LIB_SSL_ENGINE) -#define DES_TAB_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/des_tab_cbcdec.c b/src/client/SSLClient/bssl/des_tab_cbcdec.c index e4c27e411..68ab4a8db 100644 --- a/src/client/SSLClient/bssl/des_tab_cbcdec.c +++ b/src/client/SSLClient/bssl/des_tab_cbcdec.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(DES_TAB_CBCDEC_C) && defined(USE_LIB_SSL_ENGINE) -#define DES_TAB_CBCDEC_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/des_tab_cbcenc.c b/src/client/SSLClient/bssl/des_tab_cbcenc.c index f6a48625f..d9f2b7f85 100644 --- a/src/client/SSLClient/bssl/des_tab_cbcenc.c +++ b/src/client/SSLClient/bssl/des_tab_cbcenc.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(DES_TAB_CBCENC_C) && defined(USE_LIB_SSL_ENGINE) -#define DES_TAB_CBCENC_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/dig_oid.c b/src/client/SSLClient/bssl/dig_oid.c index 489d4b14b..ae1d9424f 100644 --- a/src/client/SSLClient/bssl/dig_oid.c +++ b/src/client/SSLClient/bssl/dig_oid.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(DIG_OID_C) && defined(USE_LIB_SSL_ENGINE) -#define DIG_OID_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/dig_size.c b/src/client/SSLClient/bssl/dig_size.c index 480fc95fa..d54828c9b 100644 --- a/src/client/SSLClient/bssl/dig_size.c +++ b/src/client/SSLClient/bssl/dig_size.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(DIG_SIZE_C) && defined(USE_LIB_SSL_ENGINE) -#define DIG_SIZE_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/eax.c b/src/client/SSLClient/bssl/eax.c index 846b06a5a..f702dc49b 100644 --- a/src/client/SSLClient/bssl/eax.c +++ b/src/client/SSLClient/bssl/eax.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(EAX_C) && defined(USE_LIB_SSL_ENGINE) -#define EAX_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ec_all_m15.c b/src/client/SSLClient/bssl/ec_all_m15.c index 802295823..5e26ffba2 100644 --- a/src/client/SSLClient/bssl/ec_all_m15.c +++ b/src/client/SSLClient/bssl/ec_all_m15.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(EC_ALL_M15_C) && defined(USE_LIB_SSL_ENGINE) -#define EC_ALL_M15_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ec_all_m31.c b/src/client/SSLClient/bssl/ec_all_m31.c index daa46de98..7e803b3dd 100644 --- a/src/client/SSLClient/bssl/ec_all_m31.c +++ b/src/client/SSLClient/bssl/ec_all_m31.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(EC_ALL_M31_C) && defined(USE_LIB_SSL_ENGINE) -#define EC_ALL_M31_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ec_c25519_i15.c b/src/client/SSLClient/bssl/ec_c25519_i15.c index c5d230f9a..e00606eb1 100644 --- a/src/client/SSLClient/bssl/ec_c25519_i15.c +++ b/src/client/SSLClient/bssl/ec_c25519_i15.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(EC_C25519_I15_C) && defined(USE_LIB_SSL_ENGINE) -#define EC_C25519_I15_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ec_c25519_i31.c b/src/client/SSLClient/bssl/ec_c25519_i31.c index 32e5ca209..48b262176 100644 --- a/src/client/SSLClient/bssl/ec_c25519_i31.c +++ b/src/client/SSLClient/bssl/ec_c25519_i31.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(EC_C25519_I31_C) && defined(USE_LIB_SSL_ENGINE) -#define EC_C25519_I31_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ec_c25519_m15.c b/src/client/SSLClient/bssl/ec_c25519_m15.c index 7231f2654..3772b9ded 100644 --- a/src/client/SSLClient/bssl/ec_c25519_m15.c +++ b/src/client/SSLClient/bssl/ec_c25519_m15.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(EC_C25519_M15_C) && defined(USE_LIB_SSL_ENGINE) -#define EC_C25519_M15_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ec_c25519_m31.c b/src/client/SSLClient/bssl/ec_c25519_m31.c index 321b44701..559830cec 100644 --- a/src/client/SSLClient/bssl/ec_c25519_m31.c +++ b/src/client/SSLClient/bssl/ec_c25519_m31.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(EC_C25519_M31_C) && defined(USE_LIB_SSL_ENGINE) -#define EC_C25519_M31_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ec_c25519_m62.c b/src/client/SSLClient/bssl/ec_c25519_m62.c index ceb5b0b64..479d565bc 100644 --- a/src/client/SSLClient/bssl/ec_c25519_m62.c +++ b/src/client/SSLClient/bssl/ec_c25519_m62.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(EC_C25519_M62_C) && defined(USE_LIB_SSL_ENGINE) -#define EC_C25519_M62_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ec_c25519_m64.c b/src/client/SSLClient/bssl/ec_c25519_m64.c index ff19ecaf7..014bda9a1 100644 --- a/src/client/SSLClient/bssl/ec_c25519_m64.c +++ b/src/client/SSLClient/bssl/ec_c25519_m64.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(EC_C25519_M64_C) && defined(USE_LIB_SSL_ENGINE) -#define EC_C25519_M64_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ec_curve25519.c b/src/client/SSLClient/bssl/ec_curve25519.c index f294cf6fb..924c3ff48 100644 --- a/src/client/SSLClient/bssl/ec_curve25519.c +++ b/src/client/SSLClient/bssl/ec_curve25519.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(EC_CURVE25519_C) && defined(USE_LIB_SSL_ENGINE) -#define EC_CURVE25519_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ec_default.c b/src/client/SSLClient/bssl/ec_default.c index 67793b329..2e12a3551 100644 --- a/src/client/SSLClient/bssl/ec_default.c +++ b/src/client/SSLClient/bssl/ec_default.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(EC_DEFAULT_C) && defined(USE_LIB_SSL_ENGINE) -#define EC_DEFAULT_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ec_keygen.c b/src/client/SSLClient/bssl/ec_keygen.c index ce88b7dfb..ce90c4aa3 100644 --- a/src/client/SSLClient/bssl/ec_keygen.c +++ b/src/client/SSLClient/bssl/ec_keygen.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(EC_KEYGEN_C) && defined(USE_LIB_SSL_ENGINE) -#define EC_KEYGEN_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ec_p256_m15.c b/src/client/SSLClient/bssl/ec_p256_m15.c index c1466fc58..b88533962 100644 --- a/src/client/SSLClient/bssl/ec_p256_m15.c +++ b/src/client/SSLClient/bssl/ec_p256_m15.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(EC_P256_M15_C) && defined(USE_LIB_SSL_ENGINE) -#define EC_P256_M15_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ec_p256_m31.c b/src/client/SSLClient/bssl/ec_p256_m31.c index 1ae7d43db..9234164df 100644 --- a/src/client/SSLClient/bssl/ec_p256_m31.c +++ b/src/client/SSLClient/bssl/ec_p256_m31.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(EC_P256_M31_C) && defined(USE_LIB_SSL_ENGINE) -#define EC_P256_M31_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ec_p256_m62.c b/src/client/SSLClient/bssl/ec_p256_m62.c index e1ac45e8d..1881db65f 100644 --- a/src/client/SSLClient/bssl/ec_p256_m62.c +++ b/src/client/SSLClient/bssl/ec_p256_m62.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(EC_P256_M62_C) && defined(USE_LIB_SSL_ENGINE) -#define EC_P256_M62_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ec_p256_m64.c b/src/client/SSLClient/bssl/ec_p256_m64.c index 3cbb34704..91035cd73 100644 --- a/src/client/SSLClient/bssl/ec_p256_m64.c +++ b/src/client/SSLClient/bssl/ec_p256_m64.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(EC_P256_M64_C) && defined(USE_LIB_SSL_ENGINE) -#define EC_P256_M64_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ec_prime_i15.c b/src/client/SSLClient/bssl/ec_prime_i15.c index aa15ae22c..160048cc3 100644 --- a/src/client/SSLClient/bssl/ec_prime_i15.c +++ b/src/client/SSLClient/bssl/ec_prime_i15.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(EC_PRIME_I15_C) && defined(USE_LIB_SSL_ENGINE) -#define EC_PRIME_I15_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ec_prime_i31.c b/src/client/SSLClient/bssl/ec_prime_i31.c index 5d5100b41..a37744602 100644 --- a/src/client/SSLClient/bssl/ec_prime_i31.c +++ b/src/client/SSLClient/bssl/ec_prime_i31.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(EC_PRIME_I31_C) && defined(USE_LIB_SSL_ENGINE) -#define EC_PRIME_I31_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ec_pubkey.c b/src/client/SSLClient/bssl/ec_pubkey.c index 0d940ee4f..dc3f11a86 100644 --- a/src/client/SSLClient/bssl/ec_pubkey.c +++ b/src/client/SSLClient/bssl/ec_pubkey.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(EC_PUBKEY_C) && defined(USE_LIB_SSL_ENGINE) -#define EC_PUBKEY_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ec_secp256r1.c b/src/client/SSLClient/bssl/ec_secp256r1.c index 9e87036d3..9f8339769 100644 --- a/src/client/SSLClient/bssl/ec_secp256r1.c +++ b/src/client/SSLClient/bssl/ec_secp256r1.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(EC_SECP256R1_C) && defined(USE_LIB_SSL_ENGINE) -#define EC_SECP256R1_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ec_secp384r1.c b/src/client/SSLClient/bssl/ec_secp384r1.c index 197c58e69..507991dfa 100644 --- a/src/client/SSLClient/bssl/ec_secp384r1.c +++ b/src/client/SSLClient/bssl/ec_secp384r1.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(EC_SECP384R1_C) && defined(USE_LIB_SSL_ENGINE) -#define EC_SECP384R1_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ec_secp521r1.c b/src/client/SSLClient/bssl/ec_secp521r1.c index 0d20b23c4..ca4cf3111 100644 --- a/src/client/SSLClient/bssl/ec_secp521r1.c +++ b/src/client/SSLClient/bssl/ec_secp521r1.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(EC_SECP521R1_C) && defined(USE_LIB_SSL_ENGINE) -#define EC_SECP521R1_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ecdsa_atr.c b/src/client/SSLClient/bssl/ecdsa_atr.c index 4607b6532..22ac1853c 100644 --- a/src/client/SSLClient/bssl/ecdsa_atr.c +++ b/src/client/SSLClient/bssl/ecdsa_atr.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(ECDSA_ATR_C) && defined(USE_LIB_SSL_ENGINE) -#define ECDSA_ATR_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ecdsa_default_sign_asn1.c b/src/client/SSLClient/bssl/ecdsa_default_sign_asn1.c index e47ae0337..b42ce54e9 100644 --- a/src/client/SSLClient/bssl/ecdsa_default_sign_asn1.c +++ b/src/client/SSLClient/bssl/ecdsa_default_sign_asn1.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(ECDSA_DEFAULT_SIGN_ASN1_C) && defined(USE_LIB_SSL_ENGINE) -#define ECDSA_DEFAULT_SIGN_ASN1_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ecdsa_default_sign_raw.c b/src/client/SSLClient/bssl/ecdsa_default_sign_raw.c index 290c0ce9a..4f6a2af2d 100644 --- a/src/client/SSLClient/bssl/ecdsa_default_sign_raw.c +++ b/src/client/SSLClient/bssl/ecdsa_default_sign_raw.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(ECDSA_DEFAULT_SIGN_RAW_C) && defined(USE_LIB_SSL_ENGINE) -#define ECDSA_DEFAULT_SIGN_RAW_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ecdsa_default_vrfy_asn1.c b/src/client/SSLClient/bssl/ecdsa_default_vrfy_asn1.c index b3445d59e..1e6dcd3ed 100644 --- a/src/client/SSLClient/bssl/ecdsa_default_vrfy_asn1.c +++ b/src/client/SSLClient/bssl/ecdsa_default_vrfy_asn1.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(ECDSA_DEFAULT_VRFY_ASN1_C) && defined(USE_LIB_SSL_ENGINE) -#define ECDSA_DEFAULT_VRFY_ASN1_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ecdsa_default_vrfy_raw.c b/src/client/SSLClient/bssl/ecdsa_default_vrfy_raw.c index e98132a9b..12f41fac1 100644 --- a/src/client/SSLClient/bssl/ecdsa_default_vrfy_raw.c +++ b/src/client/SSLClient/bssl/ecdsa_default_vrfy_raw.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(ECDSA_DEFAULT_VRFY_RAW_C) && defined(USE_LIB_SSL_ENGINE) -#define ECDSA_DEFAULT_VRFY_RAW_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ecdsa_i15_bits.c b/src/client/SSLClient/bssl/ecdsa_i15_bits.c index 57c12dd7c..bd15d52f2 100644 --- a/src/client/SSLClient/bssl/ecdsa_i15_bits.c +++ b/src/client/SSLClient/bssl/ecdsa_i15_bits.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(ECDSA_I15_BITS_C) && defined(USE_LIB_SSL_ENGINE) -#define ECDSA_I15_BITS_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ecdsa_i15_sign_asn1.c b/src/client/SSLClient/bssl/ecdsa_i15_sign_asn1.c index c0d7d6f84..c9f013b89 100644 --- a/src/client/SSLClient/bssl/ecdsa_i15_sign_asn1.c +++ b/src/client/SSLClient/bssl/ecdsa_i15_sign_asn1.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(ECDSA_I15_SIGN_ASN1_C) && defined(USE_LIB_SSL_ENGINE) -#define ECDSA_I15_SIGN_ASN1_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ecdsa_i15_sign_raw.c b/src/client/SSLClient/bssl/ecdsa_i15_sign_raw.c index ca77f8b9b..3afbed5f6 100644 --- a/src/client/SSLClient/bssl/ecdsa_i15_sign_raw.c +++ b/src/client/SSLClient/bssl/ecdsa_i15_sign_raw.c @@ -24,8 +24,7 @@ #include "../ESP_SSLClient_FS.h" -#if !defined(ECDSA_I15_SIGN_RAW_C) && defined(USE_LIB_SSL_ENGINE) -#define ECDSA_I15_SIGN_RAW_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ecdsa_i15_vrfy_asn1.c b/src/client/SSLClient/bssl/ecdsa_i15_vrfy_asn1.c index 30ecf98e5..57a706053 100644 --- a/src/client/SSLClient/bssl/ecdsa_i15_vrfy_asn1.c +++ b/src/client/SSLClient/bssl/ecdsa_i15_vrfy_asn1.c @@ -24,8 +24,7 @@ #include "../ESP_SSLClient_FS.h" -#if !defined(ECDSA_I15_VRFY_ASN1_C) && defined(USE_LIB_SSL_ENGINE) -#define ECDSA_I15_VRFY_ASN1_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ecdsa_i15_vrfy_raw.c b/src/client/SSLClient/bssl/ecdsa_i15_vrfy_raw.c index 70f88fc84..f27d24247 100644 --- a/src/client/SSLClient/bssl/ecdsa_i15_vrfy_raw.c +++ b/src/client/SSLClient/bssl/ecdsa_i15_vrfy_raw.c @@ -24,8 +24,7 @@ #include "../ESP_SSLClient_FS.h" -#if !defined(ECDSA_I15_VRFY_RAW_C) && defined(USE_LIB_SSL_ENGINE) -#define ECDSA_I15_VRFY_RAW_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ecdsa_i31_bits.c b/src/client/SSLClient/bssl/ecdsa_i31_bits.c index 6f6e53a7c..e0c246111 100644 --- a/src/client/SSLClient/bssl/ecdsa_i31_bits.c +++ b/src/client/SSLClient/bssl/ecdsa_i31_bits.c @@ -24,8 +24,7 @@ #include "../ESP_SSLClient_FS.h" -#if !defined(ECDSA_I31_BITS_C) && defined(USE_LIB_SSL_ENGINE) -#define ECDSA_I31_BITS_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ecdsa_i31_sign_asn1.c b/src/client/SSLClient/bssl/ecdsa_i31_sign_asn1.c index 6d7bbfce5..2fd643c5e 100644 --- a/src/client/SSLClient/bssl/ecdsa_i31_sign_asn1.c +++ b/src/client/SSLClient/bssl/ecdsa_i31_sign_asn1.c @@ -24,8 +24,7 @@ #include "../ESP_SSLClient_FS.h" -#if !defined(ECDSA_I31_SIGN_ASN1_C) && defined(USE_LIB_SSL_ENGINE) -#define ECDSA_I31_SIGN_ASN1_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ecdsa_i31_sign_raw.c b/src/client/SSLClient/bssl/ecdsa_i31_sign_raw.c index 8de8484bc..bed256da6 100644 --- a/src/client/SSLClient/bssl/ecdsa_i31_sign_raw.c +++ b/src/client/SSLClient/bssl/ecdsa_i31_sign_raw.c @@ -24,8 +24,7 @@ #include "../ESP_SSLClient_FS.h" -#if !defined(ECDSA_I31_SIGN_RAW_C) && defined(USE_LIB_SSL_ENGINE) -#define ECDSA_I31_SIGN_RAW_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ecdsa_i31_vrfy_asn1.c b/src/client/SSLClient/bssl/ecdsa_i31_vrfy_asn1.c index b6c9968a1..7d3aa585b 100644 --- a/src/client/SSLClient/bssl/ecdsa_i31_vrfy_asn1.c +++ b/src/client/SSLClient/bssl/ecdsa_i31_vrfy_asn1.c @@ -24,8 +24,7 @@ #include "../ESP_SSLClient_FS.h" -#if !defined(ECDSA_I31_VRFY_ASN1_C) && defined(USE_LIB_SSL_ENGINE) -#define ECDSA_I31_VRFY_ASN1_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ecdsa_i31_vrfy_raw.c b/src/client/SSLClient/bssl/ecdsa_i31_vrfy_raw.c index 543b74780..79c8e557c 100644 --- a/src/client/SSLClient/bssl/ecdsa_i31_vrfy_raw.c +++ b/src/client/SSLClient/bssl/ecdsa_i31_vrfy_raw.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(ECDSA_I31_VRFY_RAW_C) && defined(USE_LIB_SSL_ENGINE) -#define ECDSA_I31_VRFY_RAW_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ecdsa_rta.c b/src/client/SSLClient/bssl/ecdsa_rta.c index 0944ecb4d..8d5d20443 100644 --- a/src/client/SSLClient/bssl/ecdsa_rta.c +++ b/src/client/SSLClient/bssl/ecdsa_rta.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(ECDSA_RTA_C) && defined(USE_LIB_SSL_ENGINE) -#define ECDSA_RTA_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/enc16be.c b/src/client/SSLClient/bssl/enc16be.c index 8ec801ac8..a75356fdc 100644 --- a/src/client/SSLClient/bssl/enc16be.c +++ b/src/client/SSLClient/bssl/enc16be.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(ENC16BE_C) && defined(USE_LIB_SSL_ENGINE) -#define ENC16BE_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/enc16le.c b/src/client/SSLClient/bssl/enc16le.c index 09030628c..688a9c5f7 100644 --- a/src/client/SSLClient/bssl/enc16le.c +++ b/src/client/SSLClient/bssl/enc16le.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(ENC16LE_C) && defined(USE_LIB_SSL_ENGINE) -#define ENC16LE_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/enc32be.c b/src/client/SSLClient/bssl/enc32be.c index 1204d9c19..dc7f8564a 100644 --- a/src/client/SSLClient/bssl/enc32be.c +++ b/src/client/SSLClient/bssl/enc32be.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(ENC32BE_C) && defined(USE_LIB_SSL_ENGINE) -#define ENC32BE_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/enc32le.c b/src/client/SSLClient/bssl/enc32le.c index 81c33a50b..c4a24b4c6 100644 --- a/src/client/SSLClient/bssl/enc32le.c +++ b/src/client/SSLClient/bssl/enc32le.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(ENC32LE_C) && defined(USE_LIB_SSL_ENGINE) -#define ENC32LE_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/enc64be.c b/src/client/SSLClient/bssl/enc64be.c index 242d042b6..bc831502e 100644 --- a/src/client/SSLClient/bssl/enc64be.c +++ b/src/client/SSLClient/bssl/enc64be.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(ENC64BE_C) && defined(USE_LIB_SSL_ENGINE) -#define ENC64BE_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/enc64le.c b/src/client/SSLClient/bssl/enc64le.c index 287544a20..e549764e7 100644 --- a/src/client/SSLClient/bssl/enc64le.c +++ b/src/client/SSLClient/bssl/enc64le.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(ENC64LE_C) && defined(USE_LIB_SSL_ENGINE) -#define ENC64LE_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/encode_ec_pk8der.c b/src/client/SSLClient/bssl/encode_ec_pk8der.c index 94f793fb5..244147b7a 100644 --- a/src/client/SSLClient/bssl/encode_ec_pk8der.c +++ b/src/client/SSLClient/bssl/encode_ec_pk8der.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(ENCODE_EC_PK8DER_C) && defined(USE_LIB_SSL_ENGINE) -#define ENCODE_EC_PK8DER_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/encode_ec_rawder.c b/src/client/SSLClient/bssl/encode_ec_rawder.c index 347d912ca..f8db1fa14 100644 --- a/src/client/SSLClient/bssl/encode_ec_rawder.c +++ b/src/client/SSLClient/bssl/encode_ec_rawder.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(ENCODE_EC_RAWDER_C) && defined(USE_LIB_SSL_ENGINE) -#define ENCODE_EC_RAWDER_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/encode_rsa_pk8der.c b/src/client/SSLClient/bssl/encode_rsa_pk8der.c index dbb59184e..12404c928 100644 --- a/src/client/SSLClient/bssl/encode_rsa_pk8der.c +++ b/src/client/SSLClient/bssl/encode_rsa_pk8der.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(ENCODE_RSA_PK8DER_C) && defined(USE_LIB_SSL_ENGINE) -#define ENCODE_RSA_PK8DER_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/encode_rsa_rawder.c b/src/client/SSLClient/bssl/encode_rsa_rawder.c index 5beb22da1..686161836 100644 --- a/src/client/SSLClient/bssl/encode_rsa_rawder.c +++ b/src/client/SSLClient/bssl/encode_rsa_rawder.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(ENCODE_RSA_RAWDER_C) && defined(USE_LIB_SSL_ENGINE) -#define ENCODE_RSA_RAWDER_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/gcm.c b/src/client/SSLClient/bssl/gcm.c index 1d81ddb40..1ae6b0984 100644 --- a/src/client/SSLClient/bssl/gcm.c +++ b/src/client/SSLClient/bssl/gcm.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(GCM_C) && defined(USE_LIB_SSL_ENGINE) -#define GCM_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ghash_ctmul.c b/src/client/SSLClient/bssl/ghash_ctmul.c index 3cc821bba..009e42bc3 100644 --- a/src/client/SSLClient/bssl/ghash_ctmul.c +++ b/src/client/SSLClient/bssl/ghash_ctmul.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(GHASH_CTMUL_C) && defined(USE_LIB_SSL_ENGINE) -#define GHASH_CTMUL_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ghash_ctmul32.c b/src/client/SSLClient/bssl/ghash_ctmul32.c index f70f1f958..8a2a3cef4 100644 --- a/src/client/SSLClient/bssl/ghash_ctmul32.c +++ b/src/client/SSLClient/bssl/ghash_ctmul32.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(GHASH_CTMUL32_C) && defined(USE_LIB_SSL_ENGINE) -#define GHASH_CTMUL32_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ghash_ctmul64.c b/src/client/SSLClient/bssl/ghash_ctmul64.c index f517d71e5..349868510 100644 --- a/src/client/SSLClient/bssl/ghash_ctmul64.c +++ b/src/client/SSLClient/bssl/ghash_ctmul64.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(GHASH_CTMUL64_C) && defined(USE_LIB_SSL_ENGINE) -#define GHASH_CTMUL64_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ghash_pclmul.c b/src/client/SSLClient/bssl/ghash_pclmul.c index ad4ad90be..3accba311 100644 --- a/src/client/SSLClient/bssl/ghash_pclmul.c +++ b/src/client/SSLClient/bssl/ghash_pclmul.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(GHASH_PCLMUL_C) && defined(USE_LIB_SSL_ENGINE) -#define GHASH_PCLMUL_C +#if defined(USE_LIB_SSL_ENGINE) #define BR_ENABLE_INTRINSICS 1 #include "inner.h" diff --git a/src/client/SSLClient/bssl/ghash_pwr8.c b/src/client/SSLClient/bssl/ghash_pwr8.c index 04c1571e8..181d3193c 100644 --- a/src/client/SSLClient/bssl/ghash_pwr8.c +++ b/src/client/SSLClient/bssl/ghash_pwr8.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(GHASH_PWR8_C) && defined(USE_LIB_SSL_ENGINE) -#define GHASH_PWR8_C +#if defined(USE_LIB_SSL_ENGINE) #define BR_POWER_ASM_MACROS 1 #include "inner.h" diff --git a/src/client/SSLClient/bssl/hkdf.c b/src/client/SSLClient/bssl/hkdf.c index e7c04ab27..7db9b3780 100644 --- a/src/client/SSLClient/bssl/hkdf.c +++ b/src/client/SSLClient/bssl/hkdf.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(HKDF_C) && defined(USE_LIB_SSL_ENGINE) -#define HKDF_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/hmac.c b/src/client/SSLClient/bssl/hmac.c index c1e0c37a1..7b0b9941d 100644 --- a/src/client/SSLClient/bssl/hmac.c +++ b/src/client/SSLClient/bssl/hmac.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(HMAC_C) && defined(USE_LIB_SSL_ENGINE) -#define HMAC_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/hmac_ct.c b/src/client/SSLClient/bssl/hmac_ct.c index 24260a611..65e4cd9ca 100644 --- a/src/client/SSLClient/bssl/hmac_ct.c +++ b/src/client/SSLClient/bssl/hmac_ct.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(HMAC_CT_C) && defined(USE_LIB_SSL_ENGINE) -#define HMAC_CT_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/hmac_drbg.c b/src/client/SSLClient/bssl/hmac_drbg.c index 61fcbcfa4..21f25c5b5 100644 --- a/src/client/SSLClient/bssl/hmac_drbg.c +++ b/src/client/SSLClient/bssl/hmac_drbg.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(HMAC_DRBG_C) && defined(USE_LIB_SSL_ENGINE) -#define HMAC_DRBG_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/i15_add.c b/src/client/SSLClient/bssl/i15_add.c index 7df451c5f..88f2923b4 100644 --- a/src/client/SSLClient/bssl/i15_add.c +++ b/src/client/SSLClient/bssl/i15_add.c @@ -24,8 +24,7 @@ #include "../ESP_SSLClient_FS.h" -#if !defined(I15_ADD_C) && defined(USE_LIB_SSL_ENGINE) -#define I15_ADD_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/i15_bitlen.c b/src/client/SSLClient/bssl/i15_bitlen.c index 16c013794..da50a3d63 100644 --- a/src/client/SSLClient/bssl/i15_bitlen.c +++ b/src/client/SSLClient/bssl/i15_bitlen.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(I15_BITLEN_C) && defined(USE_LIB_SSL_ENGINE) -#define I15_BITLEN_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/i15_decmod.c b/src/client/SSLClient/bssl/i15_decmod.c index 2b4d6165d..e2a53e252 100644 --- a/src/client/SSLClient/bssl/i15_decmod.c +++ b/src/client/SSLClient/bssl/i15_decmod.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(I15_DECMOD_C) && defined(USE_LIB_SSL_ENGINE) -#define I15_DECMOD_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/i15_decode.c b/src/client/SSLClient/bssl/i15_decode.c index 2c319c4f1..830b15a37 100644 --- a/src/client/SSLClient/bssl/i15_decode.c +++ b/src/client/SSLClient/bssl/i15_decode.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(I15_DECODE_C) && defined(USE_LIB_SSL_ENGINE) -#define I15_DECODE_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/i15_decred.c b/src/client/SSLClient/bssl/i15_decred.c index b3aa03db9..abb7f5d6c 100644 --- a/src/client/SSLClient/bssl/i15_decred.c +++ b/src/client/SSLClient/bssl/i15_decred.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(I15_DECRED_C) && defined(USE_LIB_SSL_ENGINE) -#define I15_DECRED_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/i15_encode.c b/src/client/SSLClient/bssl/i15_encode.c index 5d04f7874..45063cb9f 100644 --- a/src/client/SSLClient/bssl/i15_encode.c +++ b/src/client/SSLClient/bssl/i15_encode.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(I15_ENCODE_C) && defined(USE_LIB_SSL_ENGINE) -#define I15_ENCODE_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/i15_fmont.c b/src/client/SSLClient/bssl/i15_fmont.c index ed7c05ec0..c75f7b884 100644 --- a/src/client/SSLClient/bssl/i15_fmont.c +++ b/src/client/SSLClient/bssl/i15_fmont.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(I15_FMONT_C) && defined(USE_LIB_SSL_ENGINE) -#define I15_FMONT_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/i15_iszero.c b/src/client/SSLClient/bssl/i15_iszero.c index 00fe78a7d..495e16fe8 100644 --- a/src/client/SSLClient/bssl/i15_iszero.c +++ b/src/client/SSLClient/bssl/i15_iszero.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(I15_ISZERO_C) && defined(USE_LIB_SSL_ENGINE) -#define I15_ISZERO_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/i15_moddiv.c b/src/client/SSLClient/bssl/i15_moddiv.c index 76910175b..b4c93f37d 100644 --- a/src/client/SSLClient/bssl/i15_moddiv.c +++ b/src/client/SSLClient/bssl/i15_moddiv.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(I15_MODDIV_C) && defined(USE_LIB_SSL_ENGINE) -#define I15_MODDIV_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/i15_modpow.c b/src/client/SSLClient/bssl/i15_modpow.c index 3141867ab..41cb83e91 100644 --- a/src/client/SSLClient/bssl/i15_modpow.c +++ b/src/client/SSLClient/bssl/i15_modpow.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(I15_MODPOW_C) && defined(USE_LIB_SSL_ENGINE) -#define I15_MODPOW_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/i15_modpow2.c b/src/client/SSLClient/bssl/i15_modpow2.c index 43150149e..a7f2be874 100644 --- a/src/client/SSLClient/bssl/i15_modpow2.c +++ b/src/client/SSLClient/bssl/i15_modpow2.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(I15_MODPOW2_C) && defined(USE_LIB_SSL_ENGINE) -#define I15_MODPOW2_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/i15_montmul.c b/src/client/SSLClient/bssl/i15_montmul.c index dd10d0176..a04c403ee 100644 --- a/src/client/SSLClient/bssl/i15_montmul.c +++ b/src/client/SSLClient/bssl/i15_montmul.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(I15_MONTMUL_C) && defined(USE_LIB_SSL_ENGINE) -#define I15_MONTMUL_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/i15_mulacc.c b/src/client/SSLClient/bssl/i15_mulacc.c index bafac26b8..2ad359a5a 100644 --- a/src/client/SSLClient/bssl/i15_mulacc.c +++ b/src/client/SSLClient/bssl/i15_mulacc.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(I15_MULACC_C) && defined(USE_LIB_SSL_ENGINE) -#define I15_MULACC_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/i15_muladd.c b/src/client/SSLClient/bssl/i15_muladd.c index 7610cd9a4..bb1e572e4 100644 --- a/src/client/SSLClient/bssl/i15_muladd.c +++ b/src/client/SSLClient/bssl/i15_muladd.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(I15_MULADD_C) && defined(USE_LIB_SSL_ENGINE) -#define I15_MULADD_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/i15_ninv15.c b/src/client/SSLClient/bssl/i15_ninv15.c index 860b32a2a..82f7595ce 100644 --- a/src/client/SSLClient/bssl/i15_ninv15.c +++ b/src/client/SSLClient/bssl/i15_ninv15.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(I15_NINV15_C) && defined(USE_LIB_SSL_ENGINE) -#define I15_NINV15_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/i15_reduce.c b/src/client/SSLClient/bssl/i15_reduce.c index cef638297..fec4ae4f1 100644 --- a/src/client/SSLClient/bssl/i15_reduce.c +++ b/src/client/SSLClient/bssl/i15_reduce.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(I15_REDUCE_C) && defined(USE_LIB_SSL_ENGINE) -#define I15_REDUCE_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/i15_rshift.c b/src/client/SSLClient/bssl/i15_rshift.c index 6d841c4d6..3e81339c2 100644 --- a/src/client/SSLClient/bssl/i15_rshift.c +++ b/src/client/SSLClient/bssl/i15_rshift.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(I15_RSHIFT_C) && defined(USE_LIB_SSL_ENGINE) -#define I15_RSHIFT_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/i15_sub.c b/src/client/SSLClient/bssl/i15_sub.c index 286302f16..cffcbcab3 100644 --- a/src/client/SSLClient/bssl/i15_sub.c +++ b/src/client/SSLClient/bssl/i15_sub.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(I15_SUB_C) && defined(USE_LIB_SSL_ENGINE) -#define I15_SUB_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/i15_tmont.c b/src/client/SSLClient/bssl/i15_tmont.c index 854654bdd..59b101fb0 100644 --- a/src/client/SSLClient/bssl/i15_tmont.c +++ b/src/client/SSLClient/bssl/i15_tmont.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(I15_TMONT_C) && defined(USE_LIB_SSL_ENGINE) -#define I15_TMONT_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/i31_add.c b/src/client/SSLClient/bssl/i31_add.c index de72b341b..631c6e79a 100644 --- a/src/client/SSLClient/bssl/i31_add.c +++ b/src/client/SSLClient/bssl/i31_add.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(I31_ADD_C) && defined(USE_LIB_SSL_ENGINE) -#define I31_ADD_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/i31_bitlen.c b/src/client/SSLClient/bssl/i31_bitlen.c index 521057cd8..4086fd69a 100644 --- a/src/client/SSLClient/bssl/i31_bitlen.c +++ b/src/client/SSLClient/bssl/i31_bitlen.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(I31_BITLEN_C) && defined(USE_LIB_SSL_ENGINE) -#define I31_BITLEN_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/i31_decmod.c b/src/client/SSLClient/bssl/i31_decmod.c index dc0676757..5ea30d8c1 100644 --- a/src/client/SSLClient/bssl/i31_decmod.c +++ b/src/client/SSLClient/bssl/i31_decmod.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(I31_DECMOD_C) && defined(USE_LIB_SSL_ENGINE) -#define I31_DECMOD_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/i31_decode.c b/src/client/SSLClient/bssl/i31_decode.c index ec5de2ad4..7badf15d2 100644 --- a/src/client/SSLClient/bssl/i31_decode.c +++ b/src/client/SSLClient/bssl/i31_decode.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(I31_DECODE_C) && defined(USE_LIB_SSL_ENGINE) -#define I31_DECODE_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/i31_decred.c b/src/client/SSLClient/bssl/i31_decred.c index 7f7d64922..7de64e03e 100644 --- a/src/client/SSLClient/bssl/i31_decred.c +++ b/src/client/SSLClient/bssl/i31_decred.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(I31_DECRED_C) && defined(USE_LIB_SSL_ENGINE) -#define I31_DECRED_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/i31_encode.c b/src/client/SSLClient/bssl/i31_encode.c index 01d0234f9..6fbfaffcb 100644 --- a/src/client/SSLClient/bssl/i31_encode.c +++ b/src/client/SSLClient/bssl/i31_encode.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(I31_ENCODE_C) && defined(USE_LIB_SSL_ENGINE) -#define I31_ENCODE_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/i31_fmont.c b/src/client/SSLClient/bssl/i31_fmont.c index e66e1b570..d2955af2c 100644 --- a/src/client/SSLClient/bssl/i31_fmont.c +++ b/src/client/SSLClient/bssl/i31_fmont.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(I31_FMONT_C) && defined(USE_LIB_SSL_ENGINE) -#define I31_FMONT_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/i31_iszero.c b/src/client/SSLClient/bssl/i31_iszero.c index f73fdcfe3..116fd4dc2 100644 --- a/src/client/SSLClient/bssl/i31_iszero.c +++ b/src/client/SSLClient/bssl/i31_iszero.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(I31_ISZERO_C) && defined(USE_LIB_SSL_ENGINE) -#define I31_ISZERO_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/i31_moddiv.c b/src/client/SSLClient/bssl/i31_moddiv.c index d7a381303..febf35440 100644 --- a/src/client/SSLClient/bssl/i31_moddiv.c +++ b/src/client/SSLClient/bssl/i31_moddiv.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(I31_MODDIV_C) && defined(USE_LIB_SSL_ENGINE) -#define I31_MODDIV_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/i31_modpow.c b/src/client/SSLClient/bssl/i31_modpow.c index a72a307c7..3963284a0 100644 --- a/src/client/SSLClient/bssl/i31_modpow.c +++ b/src/client/SSLClient/bssl/i31_modpow.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(I31_MODPOW_C) && defined(USE_LIB_SSL_ENGINE) -#define I31_MODPOW_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/i31_modpow2.c b/src/client/SSLClient/bssl/i31_modpow2.c index 6849b3675..40a39bdea 100644 --- a/src/client/SSLClient/bssl/i31_modpow2.c +++ b/src/client/SSLClient/bssl/i31_modpow2.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(I31_MODPOW2_C) && defined(USE_LIB_SSL_ENGINE) -#define I31_MODPOW2_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/i31_montmul.c b/src/client/SSLClient/bssl/i31_montmul.c index c8d9f4b87..850a15700 100644 --- a/src/client/SSLClient/bssl/i31_montmul.c +++ b/src/client/SSLClient/bssl/i31_montmul.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(I31_MONTMUL_C) && defined(USE_LIB_SSL_ENGINE) -#define I31_MONTMUL_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/i31_mulacc.c b/src/client/SSLClient/bssl/i31_mulacc.c index 52a058ec9..a1d39d04c 100644 --- a/src/client/SSLClient/bssl/i31_mulacc.c +++ b/src/client/SSLClient/bssl/i31_mulacc.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(I31_MULACC_C) && defined(USE_LIB_SSL_ENGINE) -#define I31_MULACC_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/i31_muladd.c b/src/client/SSLClient/bssl/i31_muladd.c index 17ce77717..20034b321 100644 --- a/src/client/SSLClient/bssl/i31_muladd.c +++ b/src/client/SSLClient/bssl/i31_muladd.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(I31_MULADD_C) && defined(USE_LIB_SSL_ENGINE) -#define I31_MULADD_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/i31_ninv31.c b/src/client/SSLClient/bssl/i31_ninv31.c index 0470906f2..c155527d0 100644 --- a/src/client/SSLClient/bssl/i31_ninv31.c +++ b/src/client/SSLClient/bssl/i31_ninv31.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(I31_NINV31_C) && defined(USE_LIB_SSL_ENGINE) -#define I31_NINV31_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/i31_reduce.c b/src/client/SSLClient/bssl/i31_reduce.c index 70c7a243a..7c3c116cf 100644 --- a/src/client/SSLClient/bssl/i31_reduce.c +++ b/src/client/SSLClient/bssl/i31_reduce.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(I31_REDUCE_C) && defined(USE_LIB_SSL_ENGINE) -#define I31_REDUCE_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/i31_rshift.c b/src/client/SSLClient/bssl/i31_rshift.c index 131158292..4837dbdb1 100644 --- a/src/client/SSLClient/bssl/i31_rshift.c +++ b/src/client/SSLClient/bssl/i31_rshift.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(I31_RSHIFT_C) && defined(USE_LIB_SSL_ENGINE) -#define I31_RSHIFT_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/i31_sub.c b/src/client/SSLClient/bssl/i31_sub.c index dc484f3dc..49381fe86 100644 --- a/src/client/SSLClient/bssl/i31_sub.c +++ b/src/client/SSLClient/bssl/i31_sub.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(I31_SUB_C) && defined(USE_LIB_SSL_ENGINE) -#define I31_SUB_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/i31_tmont.c b/src/client/SSLClient/bssl/i31_tmont.c index 4f2eaab63..e1db68660 100644 --- a/src/client/SSLClient/bssl/i31_tmont.c +++ b/src/client/SSLClient/bssl/i31_tmont.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(I31_TMONT_C) && defined(USE_LIB_SSL_ENGINE) -#define I31_TMONT_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/i32_add.c b/src/client/SSLClient/bssl/i32_add.c index cc686aeb4..667696161 100644 --- a/src/client/SSLClient/bssl/i32_add.c +++ b/src/client/SSLClient/bssl/i32_add.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(I32_ADD_C) && defined(USE_LIB_SSL_ENGINE) -#define I32_ADD_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/i32_bitlen.c b/src/client/SSLClient/bssl/i32_bitlen.c index 833fb9553..3230dea82 100644 --- a/src/client/SSLClient/bssl/i32_bitlen.c +++ b/src/client/SSLClient/bssl/i32_bitlen.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(I32_BITLEN_C) && defined(USE_LIB_SSL_ENGINE) -#define I32_BITLEN_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/i32_decmod.c b/src/client/SSLClient/bssl/i32_decmod.c index 47d5ac7f4..7fe7d7ba2 100644 --- a/src/client/SSLClient/bssl/i32_decmod.c +++ b/src/client/SSLClient/bssl/i32_decmod.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(I32_DECMOD_C) && defined(USE_LIB_SSL_ENGINE) -#define I32_DECMOD_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/i32_decode.c b/src/client/SSLClient/bssl/i32_decode.c index 637b36429..f817231f5 100644 --- a/src/client/SSLClient/bssl/i32_decode.c +++ b/src/client/SSLClient/bssl/i32_decode.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(I32_DECODE_C) && defined(USE_LIB_SSL_ENGINE) -#define I32_DECODE_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/i32_decred.c b/src/client/SSLClient/bssl/i32_decred.c index c27b7be1a..affe6b5a7 100644 --- a/src/client/SSLClient/bssl/i32_decred.c +++ b/src/client/SSLClient/bssl/i32_decred.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(I32_DECRED_C) && defined(USE_LIB_SSL_ENGINE) -#define I32_DECRED_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/i32_div32.c b/src/client/SSLClient/bssl/i32_div32.c index 5682d8ab4..13d04d169 100644 --- a/src/client/SSLClient/bssl/i32_div32.c +++ b/src/client/SSLClient/bssl/i32_div32.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(I32_DIV32_C) && defined(USE_LIB_SSL_ENGINE) -#define I32_DIV32_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/i32_encode.c b/src/client/SSLClient/bssl/i32_encode.c index 9173bc4da..58591518e 100644 --- a/src/client/SSLClient/bssl/i32_encode.c +++ b/src/client/SSLClient/bssl/i32_encode.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(I32_DECODE_C) && defined(USE_LIB_SSL_ENGINE) -#define I32_DECODE_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/i32_fmont.c b/src/client/SSLClient/bssl/i32_fmont.c index ae56af396..77bc028bd 100644 --- a/src/client/SSLClient/bssl/i32_fmont.c +++ b/src/client/SSLClient/bssl/i32_fmont.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(I32_FMONT_C) && defined(USE_LIB_SSL_ENGINE) -#define I32_FMONT_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/i32_iszero.c b/src/client/SSLClient/bssl/i32_iszero.c index 9275f8802..922853812 100644 --- a/src/client/SSLClient/bssl/i32_iszero.c +++ b/src/client/SSLClient/bssl/i32_iszero.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(I32_ISZERO_C) && defined(USE_LIB_SSL_ENGINE) -#define I32_ISZERO_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/i32_modpow.c b/src/client/SSLClient/bssl/i32_modpow.c index 058b74c5a..8d8ca49f0 100644 --- a/src/client/SSLClient/bssl/i32_modpow.c +++ b/src/client/SSLClient/bssl/i32_modpow.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(I32_MODPOW_C) && defined(USE_LIB_SSL_ENGINE) -#define I32_MODPOW_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/i32_montmul.c b/src/client/SSLClient/bssl/i32_montmul.c index f14f429d9..b48a11d47 100644 --- a/src/client/SSLClient/bssl/i32_montmul.c +++ b/src/client/SSLClient/bssl/i32_montmul.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(I32_MONTMUL_C) && defined(USE_LIB_SSL_ENGINE) -#define I32_MONTMUL_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/i32_mulacc.c b/src/client/SSLClient/bssl/i32_mulacc.c index 29515ab60..701336a0d 100644 --- a/src/client/SSLClient/bssl/i32_mulacc.c +++ b/src/client/SSLClient/bssl/i32_mulacc.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(I32_MULACC_C) && defined(USE_LIB_SSL_ENGINE) -#define I32_MULACC_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/i32_muladd.c b/src/client/SSLClient/bssl/i32_muladd.c index 77d0fcbd8..ee8c69472 100644 --- a/src/client/SSLClient/bssl/i32_muladd.c +++ b/src/client/SSLClient/bssl/i32_muladd.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(I32_MULADD_C) && defined(USE_LIB_SSL_ENGINE) -#define I32_MULADD_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/i32_ninv32.c b/src/client/SSLClient/bssl/i32_ninv32.c index 24f29a1ec..6c7c3fb45 100644 --- a/src/client/SSLClient/bssl/i32_ninv32.c +++ b/src/client/SSLClient/bssl/i32_ninv32.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(I32_NINV32_C) && defined(USE_LIB_SSL_ENGINE) -#define I32_NINV32_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/i32_reduce.c b/src/client/SSLClient/bssl/i32_reduce.c index fcadfc17f..7d62bfaa1 100644 --- a/src/client/SSLClient/bssl/i32_reduce.c +++ b/src/client/SSLClient/bssl/i32_reduce.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(I32_REDUCE_C) && defined(USE_LIB_SSL_ENGINE) -#define I32_REDUCE_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/i32_sub.c b/src/client/SSLClient/bssl/i32_sub.c index 47e118a04..e9c49c963 100644 --- a/src/client/SSLClient/bssl/i32_sub.c +++ b/src/client/SSLClient/bssl/i32_sub.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(I32_SUB_C) && defined(USE_LIB_SSL_ENGINE) -#define I32_SUB_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/i32_tmont.c b/src/client/SSLClient/bssl/i32_tmont.c index 4a8f73829..5c4718ce0 100644 --- a/src/client/SSLClient/bssl/i32_tmont.c +++ b/src/client/SSLClient/bssl/i32_tmont.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(I32_TMONT_C) && defined(USE_LIB_SSL_ENGINE) -#define I32_TMONT_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/i62_modpow2.c b/src/client/SSLClient/bssl/i62_modpow2.c index c1617f440..f79620075 100644 --- a/src/client/SSLClient/bssl/i62_modpow2.c +++ b/src/client/SSLClient/bssl/i62_modpow2.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(I62_MODPOW2_C) && defined(USE_LIB_SSL_ENGINE) -#define I62_MODPOW2_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/md5.c b/src/client/SSLClient/bssl/md5.c index c88fdcbd0..c7751fab1 100644 --- a/src/client/SSLClient/bssl/md5.c +++ b/src/client/SSLClient/bssl/md5.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(MD5_C) && defined(USE_LIB_SSL_ENGINE) -#define MD5_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/md5sha1.c b/src/client/SSLClient/bssl/md5sha1.c index 3e2a5e67e..aceb4ec5c 100644 --- a/src/client/SSLClient/bssl/md5sha1.c +++ b/src/client/SSLClient/bssl/md5sha1.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(MD5SHA1_C) && defined(USE_LIB_SSL_ENGINE) -#define MD5SHA1_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/mgf1.c b/src/client/SSLClient/bssl/mgf1.c index 2e1cda84e..596fbc3b9 100644 --- a/src/client/SSLClient/bssl/mgf1.c +++ b/src/client/SSLClient/bssl/mgf1.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(MGF1_C) && defined(USE_LIB_SSL_ENGINE) -#define MGF1_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/multihash.c b/src/client/SSLClient/bssl/multihash.c index a971790e8..9ad2567a8 100644 --- a/src/client/SSLClient/bssl/multihash.c +++ b/src/client/SSLClient/bssl/multihash.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(MULTIHASH_C) && defined(USE_LIB_SSL_ENGINE) -#define MULTIHASH_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/pemdec.c b/src/client/SSLClient/bssl/pemdec.c index cf95bd2c1..7dd2c40cd 100644 --- a/src/client/SSLClient/bssl/pemdec.c +++ b/src/client/SSLClient/bssl/pemdec.c @@ -1,8 +1,7 @@ /* Automatically generated code; do not modify directly. */ #include "../ESP_SSLClient_FS.h" -#if !defined(PEMDEC_C) && defined(USE_LIB_SSL_ENGINE) -#define PEMDEC_C +#if defined(USE_LIB_SSL_ENGINE) #include #include diff --git a/src/client/SSLClient/bssl/pemenc.c b/src/client/SSLClient/bssl/pemenc.c index 864049396..03cfc2bd9 100644 --- a/src/client/SSLClient/bssl/pemenc.c +++ b/src/client/SSLClient/bssl/pemenc.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(PEMENC_C) && defined(USE_LIB_SSL_ENGINE) -#define PEMENC_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/pkey_decoder.c b/src/client/SSLClient/bssl/pkey_decoder.c index 10b4b0537..88d001ba0 100644 --- a/src/client/SSLClient/bssl/pkey_decoder.c +++ b/src/client/SSLClient/bssl/pkey_decoder.c @@ -1,7 +1,6 @@ #include "../ESP_SSLClient_FS.h" -#if !defined(PKEY_DECODER_C) && defined(USE_LIB_SSL_ENGINE) -#define PKEY_DECODER_C +#if defined(USE_LIB_SSL_ENGINE) #include #include diff --git a/src/client/SSLClient/bssl/poly1305_ctmul.c b/src/client/SSLClient/bssl/poly1305_ctmul.c index 180af8a6f..4095c344d 100644 --- a/src/client/SSLClient/bssl/poly1305_ctmul.c +++ b/src/client/SSLClient/bssl/poly1305_ctmul.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(POLY1305_CTMUL_C) && defined(USE_LIB_SSL_ENGINE) -#define POLY1305_CTMUL_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/poly1305_ctmul32.c b/src/client/SSLClient/bssl/poly1305_ctmul32.c index 9747cbfb2..6b171ad7b 100644 --- a/src/client/SSLClient/bssl/poly1305_ctmul32.c +++ b/src/client/SSLClient/bssl/poly1305_ctmul32.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(POLY1305_CTMUL32_C) && defined(USE_LIB_SSL_ENGINE) -#define POLY1305_CTMUL32_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/poly1305_ctmulq.c b/src/client/SSLClient/bssl/poly1305_ctmulq.c index e71ca7fe9..3415c6a48 100644 --- a/src/client/SSLClient/bssl/poly1305_ctmulq.c +++ b/src/client/SSLClient/bssl/poly1305_ctmulq.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(POLY1305_CTMULQ_C) && defined(USE_LIB_SSL_ENGINE) -#define POLY1305_CTMULQ_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/poly1305_i15.c b/src/client/SSLClient/bssl/poly1305_i15.c index 508b5a945..224c1b6cd 100644 --- a/src/client/SSLClient/bssl/poly1305_i15.c +++ b/src/client/SSLClient/bssl/poly1305_i15.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(POLY1305_I15_C) && defined(USE_LIB_SSL_ENGINE) -#define POLY1305_I15_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/prf.c b/src/client/SSLClient/bssl/prf.c index 139134dfc..61a0028aa 100644 --- a/src/client/SSLClient/bssl/prf.c +++ b/src/client/SSLClient/bssl/prf.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(PRF_C) && defined(USE_LIB_SSL_ENGINE) -#define PRF_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/prf_md5sha1.c b/src/client/SSLClient/bssl/prf_md5sha1.c index ec4f5c45b..4651f3c52 100644 --- a/src/client/SSLClient/bssl/prf_md5sha1.c +++ b/src/client/SSLClient/bssl/prf_md5sha1.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(PRF_MD5SHA1_C) && defined(USE_LIB_SSL_ENGINE) -#define PRF_MD5SHA1_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/prf_sha256.c b/src/client/SSLClient/bssl/prf_sha256.c index 1a3cde5de..7e91b9ba0 100644 --- a/src/client/SSLClient/bssl/prf_sha256.c +++ b/src/client/SSLClient/bssl/prf_sha256.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(PRF_SHA256_C) && defined(USE_LIB_SSL_ENGINE) -#define PRF_SHA256_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/prf_sha384.c b/src/client/SSLClient/bssl/prf_sha384.c index 153364ceb..6527fd603 100644 --- a/src/client/SSLClient/bssl/prf_sha384.c +++ b/src/client/SSLClient/bssl/prf_sha384.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(PRF_SHA394_C) && defined(USE_LIB_SSL_ENGINE) -#define PRF_SHA384_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/rsa_default_keygen.c b/src/client/SSLClient/bssl/rsa_default_keygen.c index d6790573e..93c9c6100 100644 --- a/src/client/SSLClient/bssl/rsa_default_keygen.c +++ b/src/client/SSLClient/bssl/rsa_default_keygen.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(RSA_DEFAULT_KEYGEN_C) && defined(USE_LIB_SSL_ENGINE) -#define RSA_DEFAULT_KEYGEN_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/rsa_default_modulus.c b/src/client/SSLClient/bssl/rsa_default_modulus.c index 31d724157..0f79af1c1 100644 --- a/src/client/SSLClient/bssl/rsa_default_modulus.c +++ b/src/client/SSLClient/bssl/rsa_default_modulus.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(RSA_DEFAULT_MODULUS_C) && defined(USE_LIB_SSL_ENGINE) -#define RSA_DEFAULT_MODULUS_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/rsa_default_oaep_decrypt.c b/src/client/SSLClient/bssl/rsa_default_oaep_decrypt.c index 9cc09833a..9b33a630d 100644 --- a/src/client/SSLClient/bssl/rsa_default_oaep_decrypt.c +++ b/src/client/SSLClient/bssl/rsa_default_oaep_decrypt.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(RSA_DEFAULT_OAEP_DECRYPT_C) && defined(USE_LIB_SSL_ENGINE) -#define RSA_DEFAULT_OAEP_DECRYPT_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/rsa_default_oaep_encrypt.c b/src/client/SSLClient/bssl/rsa_default_oaep_encrypt.c index 8e3aa59f2..d552c46ee 100644 --- a/src/client/SSLClient/bssl/rsa_default_oaep_encrypt.c +++ b/src/client/SSLClient/bssl/rsa_default_oaep_encrypt.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(RSA_DEFAULT_OAEP_ENCRYPT_C) && defined(USE_LIB_SSL_ENGINE) -#define RSA_DEFAULT_OAEP_ENCRYPT_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/rsa_default_pkcs1_sign.c b/src/client/SSLClient/bssl/rsa_default_pkcs1_sign.c index 84467fc28..2b5ac711f 100644 --- a/src/client/SSLClient/bssl/rsa_default_pkcs1_sign.c +++ b/src/client/SSLClient/bssl/rsa_default_pkcs1_sign.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(RSA_DEFAULT_PKCS1_SIGN_C) && defined(USE_LIB_SSL_ENGINE) -#define RSA_DEFAULT_PKCS1_SIGN_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/rsa_default_pkcs1_vrfy.c b/src/client/SSLClient/bssl/rsa_default_pkcs1_vrfy.c index aa0def658..5535ee77c 100644 --- a/src/client/SSLClient/bssl/rsa_default_pkcs1_vrfy.c +++ b/src/client/SSLClient/bssl/rsa_default_pkcs1_vrfy.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(RSA_DEFAULT_PKCS1_VRFY_C) && defined(USE_LIB_SSL_ENGINE) -#define RSA_DEFAULT_PKCS1_VRFY_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/rsa_default_priv.c b/src/client/SSLClient/bssl/rsa_default_priv.c index 7f9a756dc..137a7489c 100644 --- a/src/client/SSLClient/bssl/rsa_default_priv.c +++ b/src/client/SSLClient/bssl/rsa_default_priv.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(RSA_DEFAULT_PRIV_C) && defined(USE_LIB_SSL_ENGINE) -#define RSA_DEFAULT_PRIV_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/rsa_default_privexp.c b/src/client/SSLClient/bssl/rsa_default_privexp.c index 56df87a6f..6ebb3f8c8 100644 --- a/src/client/SSLClient/bssl/rsa_default_privexp.c +++ b/src/client/SSLClient/bssl/rsa_default_privexp.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(RSA_DEFAULT_PRIVEXP_C) && defined(USE_LIB_SSL_ENGINE) -#define RSA_DEFAULT_PRIVEXP_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/rsa_default_pss_sign.c b/src/client/SSLClient/bssl/rsa_default_pss_sign.c index ad2dbf2a8..23b4f9a6f 100644 --- a/src/client/SSLClient/bssl/rsa_default_pss_sign.c +++ b/src/client/SSLClient/bssl/rsa_default_pss_sign.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(RSA_DEFAULT_PSS_SIGN_C) && defined(USE_LIB_SSL_ENGINE) -#define RSA_DEFAULT_PSS_SIGN_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/rsa_default_pss_vrfy.c b/src/client/SSLClient/bssl/rsa_default_pss_vrfy.c index af14f2a18..8bb02d9f8 100644 --- a/src/client/SSLClient/bssl/rsa_default_pss_vrfy.c +++ b/src/client/SSLClient/bssl/rsa_default_pss_vrfy.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(RSA_DEFAULT_PSS_VRFY_C) && defined(USE_LIB_SSL_ENGINE) -#define RSA_DEFAULT_PSS_VRFY_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/rsa_default_pub.c b/src/client/SSLClient/bssl/rsa_default_pub.c index 26dc2fb72..c841adb99 100644 --- a/src/client/SSLClient/bssl/rsa_default_pub.c +++ b/src/client/SSLClient/bssl/rsa_default_pub.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(RSA_DEFAULT_PUB_C) && defined(USE_LIB_SSL_ENGINE) -#define RSA_DEFAULT_PUB_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/rsa_default_pubexp.c b/src/client/SSLClient/bssl/rsa_default_pubexp.c index 676afc211..a9c194605 100644 --- a/src/client/SSLClient/bssl/rsa_default_pubexp.c +++ b/src/client/SSLClient/bssl/rsa_default_pubexp.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(RSA_DEFAULT_PUBEX_C) && defined(USE_LIB_SSL_ENGINE) -#define RSA_DEFAULT_PUBEX_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/rsa_i15_keygen.c b/src/client/SSLClient/bssl/rsa_i15_keygen.c index 389e96dfb..59c2074d1 100644 --- a/src/client/SSLClient/bssl/rsa_i15_keygen.c +++ b/src/client/SSLClient/bssl/rsa_i15_keygen.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(RSA_I15_KEYGEN_C) && defined(USE_LIB_SSL_ENGINE) -#define RSA_I15_KEYGEN_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/rsa_i15_modulus.c b/src/client/SSLClient/bssl/rsa_i15_modulus.c index 31a338be4..e3a29e665 100644 --- a/src/client/SSLClient/bssl/rsa_i15_modulus.c +++ b/src/client/SSLClient/bssl/rsa_i15_modulus.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(RSA_I15_MODULUS_C) && defined(USE_LIB_SSL_ENGINE) -#define RSA_I15_MODULUS_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/rsa_i15_oaep_decrypt.c b/src/client/SSLClient/bssl/rsa_i15_oaep_decrypt.c index 2794d72dd..71f3aa362 100644 --- a/src/client/SSLClient/bssl/rsa_i15_oaep_decrypt.c +++ b/src/client/SSLClient/bssl/rsa_i15_oaep_decrypt.c @@ -23,9 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(RSA_I15_OAEP_DECRYPT_C) && defined(USE_LIB_SSL_ENGINE) -#define RSA_I15_OAEP_DECRYPT_C - +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/rsa_i15_oaep_encrypt.c b/src/client/SSLClient/bssl/rsa_i15_oaep_encrypt.c index a59bb073e..cdbcd34b9 100644 --- a/src/client/SSLClient/bssl/rsa_i15_oaep_encrypt.c +++ b/src/client/SSLClient/bssl/rsa_i15_oaep_encrypt.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(RSA_I15_OAEP_ENCRYPT_C) && defined(USE_LIB_SSL_ENGINE) -#define RSA_I15_OAEP_ENCRYPT_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/rsa_i15_pkcs1_sign.c b/src/client/SSLClient/bssl/rsa_i15_pkcs1_sign.c index 86630e649..89c649c00 100644 --- a/src/client/SSLClient/bssl/rsa_i15_pkcs1_sign.c +++ b/src/client/SSLClient/bssl/rsa_i15_pkcs1_sign.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(RSA_I15_PKCS1_SIGN_C) && defined(USE_LIB_SSL_ENGINE) -#define RSA_I15_PKCS1_SIGN_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/rsa_i15_pkcs1_vrfy.c b/src/client/SSLClient/bssl/rsa_i15_pkcs1_vrfy.c index 1f407e4ae..1be46e2e1 100644 --- a/src/client/SSLClient/bssl/rsa_i15_pkcs1_vrfy.c +++ b/src/client/SSLClient/bssl/rsa_i15_pkcs1_vrfy.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(RSA_I15_PKCS1_VRFY_C) && defined(USE_LIB_SSL_ENGINE) -#define RSA_I15_PKCS1_VRFY_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/rsa_i15_priv.c b/src/client/SSLClient/bssl/rsa_i15_priv.c index 4c6aca54a..9ce138197 100644 --- a/src/client/SSLClient/bssl/rsa_i15_priv.c +++ b/src/client/SSLClient/bssl/rsa_i15_priv.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(RSA_I15_PRIV_C) && defined(USE_LIB_SSL_ENGINE) -#define RSA_I15_PRIV_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/rsa_i15_privexp.c b/src/client/SSLClient/bssl/rsa_i15_privexp.c index 819a4270e..0d6548a54 100644 --- a/src/client/SSLClient/bssl/rsa_i15_privexp.c +++ b/src/client/SSLClient/bssl/rsa_i15_privexp.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(RSA_I15_PRIVEXP_C) && defined(USE_LIB_SSL_ENGINE) -#define RSA_I15_PRIVEXP_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/rsa_i15_pss_sign.c b/src/client/SSLClient/bssl/rsa_i15_pss_sign.c index 16d8f2154..faf03ac10 100644 --- a/src/client/SSLClient/bssl/rsa_i15_pss_sign.c +++ b/src/client/SSLClient/bssl/rsa_i15_pss_sign.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(RSA_I15_PSS_SIGN_C) && defined(USE_LIB_SSL_ENGINE) -#define RSA_I15_PSS_SIGN_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/rsa_i15_pss_vrfy.c b/src/client/SSLClient/bssl/rsa_i15_pss_vrfy.c index 7d74a0273..a2664b4be 100644 --- a/src/client/SSLClient/bssl/rsa_i15_pss_vrfy.c +++ b/src/client/SSLClient/bssl/rsa_i15_pss_vrfy.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(RSA_I15_PSS_VRFY_C) && defined(USE_LIB_SSL_ENGINE) -#define RSA_I15_PSS_VRFY_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/rsa_i15_pub.c b/src/client/SSLClient/bssl/rsa_i15_pub.c index 4bfcaeff5..6fe3c5e27 100644 --- a/src/client/SSLClient/bssl/rsa_i15_pub.c +++ b/src/client/SSLClient/bssl/rsa_i15_pub.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(RSA_I15_UB_C) && defined(USE_LIB_SSL_ENGINE) -#define RSA_I15_PUB_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/rsa_i15_pubexp.c b/src/client/SSLClient/bssl/rsa_i15_pubexp.c index 7c06065e8..54c49a6dc 100644 --- a/src/client/SSLClient/bssl/rsa_i15_pubexp.c +++ b/src/client/SSLClient/bssl/rsa_i15_pubexp.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(RSA_I15_PUBEXP_C) && defined(USE_LIB_SSL_ENGINE) -#define RSA_I15_PUBEXP_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/rsa_i31_keygen.c b/src/client/SSLClient/bssl/rsa_i31_keygen.c index 60b247594..0d21fda9f 100644 --- a/src/client/SSLClient/bssl/rsa_i31_keygen.c +++ b/src/client/SSLClient/bssl/rsa_i31_keygen.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(RSA_I31_KEYGEN_C) && defined(USE_LIB_SSL_ENGINE) -#define RSA_I31_KEYGEN_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/rsa_i31_keygen_inner.c b/src/client/SSLClient/bssl/rsa_i31_keygen_inner.c index d15c12ad7..64aeb40fc 100644 --- a/src/client/SSLClient/bssl/rsa_i31_keygen_inner.c +++ b/src/client/SSLClient/bssl/rsa_i31_keygen_inner.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(RSA_I31_KEYGEN_INNER_C) && defined(USE_LIB_SSL_ENGINE) -#define RSA_I31_KEYGEN_INNER_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/rsa_i31_modulus.c b/src/client/SSLClient/bssl/rsa_i31_modulus.c index 694ff8124..6372f5cd2 100644 --- a/src/client/SSLClient/bssl/rsa_i31_modulus.c +++ b/src/client/SSLClient/bssl/rsa_i31_modulus.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(RSA_I31_MODULUS_C) && defined(USE_LIB_SSL_ENGINE) -#define RSA_I31_MODULUS_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/rsa_i31_oaep_decrypt.c b/src/client/SSLClient/bssl/rsa_i31_oaep_decrypt.c index f324ed496..d3f14633a 100644 --- a/src/client/SSLClient/bssl/rsa_i31_oaep_decrypt.c +++ b/src/client/SSLClient/bssl/rsa_i31_oaep_decrypt.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(RSA_I31_OEAP_DECRYPT_C) && defined(USE_LIB_SSL_ENGINE) -#define RSA_I31_OEAP_DECRYPT_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/rsa_i31_oaep_encrypt.c b/src/client/SSLClient/bssl/rsa_i31_oaep_encrypt.c index bf8add832..413506cd2 100644 --- a/src/client/SSLClient/bssl/rsa_i31_oaep_encrypt.c +++ b/src/client/SSLClient/bssl/rsa_i31_oaep_encrypt.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(RSA_I31_OEAP_ENCRYPT_C) && defined(USE_LIB_SSL_ENGINE) -#define RSA_I31_OEAP_ENCRYPT_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/rsa_i31_pkcs1_sign.c b/src/client/SSLClient/bssl/rsa_i31_pkcs1_sign.c index d9e9f3ed0..1f1f2f731 100644 --- a/src/client/SSLClient/bssl/rsa_i31_pkcs1_sign.c +++ b/src/client/SSLClient/bssl/rsa_i31_pkcs1_sign.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(RSA_I31_PKCS1_SIGN_C) && defined(USE_LIB_SSL_ENGINE) -#define RSA_I31_PKCS1_SIGN_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/rsa_i31_pkcs1_vrfy.c b/src/client/SSLClient/bssl/rsa_i31_pkcs1_vrfy.c index 26d9355b3..dc8c809a4 100644 --- a/src/client/SSLClient/bssl/rsa_i31_pkcs1_vrfy.c +++ b/src/client/SSLClient/bssl/rsa_i31_pkcs1_vrfy.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(RSA_I31_PKCS1_VRFY_C) && defined(USE_LIB_SSL_ENGINE) -#define RSA_I31_PKCS1_VRFY_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/rsa_i31_priv.c b/src/client/SSLClient/bssl/rsa_i31_priv.c index 65518469e..d61c5ae16 100644 --- a/src/client/SSLClient/bssl/rsa_i31_priv.c +++ b/src/client/SSLClient/bssl/rsa_i31_priv.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(RSA_I31_PRIV_C) && defined(USE_LIB_SSL_ENGINE) -#define RSA_I31_PRIV_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/rsa_i31_privexp.c b/src/client/SSLClient/bssl/rsa_i31_privexp.c index 126ca5859..63ec682e7 100644 --- a/src/client/SSLClient/bssl/rsa_i31_privexp.c +++ b/src/client/SSLClient/bssl/rsa_i31_privexp.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(RSA_I31_PRIVEXP_C) && defined(USE_LIB_SSL_ENGINE) -#define RSA_I31_PRIVEXP_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/rsa_i31_pss_sign.c b/src/client/SSLClient/bssl/rsa_i31_pss_sign.c index dd1d43d1d..16752291f 100644 --- a/src/client/SSLClient/bssl/rsa_i31_pss_sign.c +++ b/src/client/SSLClient/bssl/rsa_i31_pss_sign.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(RSA_I31_PSS_SIGN_C) && defined(USE_LIB_SSL_ENGINE) -#define RSA_I31_PSS_SIGN_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/rsa_i31_pss_vrfy.c b/src/client/SSLClient/bssl/rsa_i31_pss_vrfy.c index 974506c04..f3beafee0 100644 --- a/src/client/SSLClient/bssl/rsa_i31_pss_vrfy.c +++ b/src/client/SSLClient/bssl/rsa_i31_pss_vrfy.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(RSA_I31_PSS_VRFY_C) && defined(USE_LIB_SSL_ENGINE) -#define RSA_I31_PSS_VRFY_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/rsa_i31_pub.c b/src/client/SSLClient/bssl/rsa_i31_pub.c index 33125c26e..54ead7c6e 100644 --- a/src/client/SSLClient/bssl/rsa_i31_pub.c +++ b/src/client/SSLClient/bssl/rsa_i31_pub.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(RSA_I31_PUB_C) && defined(USE_LIB_SSL_ENGINE) -#define RSA_I31_PUB_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/rsa_i31_pubexp.c b/src/client/SSLClient/bssl/rsa_i31_pubexp.c index 4bd7cdc88..662faf378 100644 --- a/src/client/SSLClient/bssl/rsa_i31_pubexp.c +++ b/src/client/SSLClient/bssl/rsa_i31_pubexp.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(RSA_I31_PUBEXP_C) && defined(USE_LIB_SSL_ENGINE) -#define RSA_I31_PUBEXP_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/rsa_i32_oaep_decrypt.c b/src/client/SSLClient/bssl/rsa_i32_oaep_decrypt.c index 969360147..2005fcdd8 100644 --- a/src/client/SSLClient/bssl/rsa_i32_oaep_decrypt.c +++ b/src/client/SSLClient/bssl/rsa_i32_oaep_decrypt.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(RSA_I32_OAEP_DECRYPT_C) && defined(USE_LIB_SSL_ENGINE) -#define RSA_I32_OAEP_DECRYPT_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/rsa_i32_oaep_encrypt.c b/src/client/SSLClient/bssl/rsa_i32_oaep_encrypt.c index ddb232774..0080ce2f1 100644 --- a/src/client/SSLClient/bssl/rsa_i32_oaep_encrypt.c +++ b/src/client/SSLClient/bssl/rsa_i32_oaep_encrypt.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(RSA_I32_OAEP_ENCRYPT_C) && defined(USE_LIB_SSL_ENGINE) -#define RSA_I32_OAEP_ENCRYPT_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/rsa_i32_pkcs1_sign.c b/src/client/SSLClient/bssl/rsa_i32_pkcs1_sign.c index c959ea478..b0c83983a 100644 --- a/src/client/SSLClient/bssl/rsa_i32_pkcs1_sign.c +++ b/src/client/SSLClient/bssl/rsa_i32_pkcs1_sign.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(RSA_I32_PKCS1_SIGN_C) && defined(USE_LIB_SSL_ENGINE) -#define RSA_I32_PKCS1_SIGN_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/rsa_i32_pkcs1_vrfy.c b/src/client/SSLClient/bssl/rsa_i32_pkcs1_vrfy.c index f9ff27bda..b18afff0a 100644 --- a/src/client/SSLClient/bssl/rsa_i32_pkcs1_vrfy.c +++ b/src/client/SSLClient/bssl/rsa_i32_pkcs1_vrfy.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(RSA_I32_PKCS1_VRFY_C) && defined(USE_LIB_SSL_ENGINE) -#define RSA_I32_PKCS1_VRFY_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/rsa_i32_priv.c b/src/client/SSLClient/bssl/rsa_i32_priv.c index 1bbfc071e..a3ab88af2 100644 --- a/src/client/SSLClient/bssl/rsa_i32_priv.c +++ b/src/client/SSLClient/bssl/rsa_i32_priv.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(RSA_I32_PRIV_C) && defined(USE_LIB_SSL_ENGINE) -#define RSA_I32_PRIV_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/rsa_i32_pss_sign.c b/src/client/SSLClient/bssl/rsa_i32_pss_sign.c index c609d22b4..37a389740 100644 --- a/src/client/SSLClient/bssl/rsa_i32_pss_sign.c +++ b/src/client/SSLClient/bssl/rsa_i32_pss_sign.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(RSA_I32_PSS_SIGN_C) && defined(USE_LIB_SSL_ENGINE) -#define RSA_I32_PSS_SIGN_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/rsa_i32_pss_vrfy.c b/src/client/SSLClient/bssl/rsa_i32_pss_vrfy.c index b22f60586..14c6f3529 100644 --- a/src/client/SSLClient/bssl/rsa_i32_pss_vrfy.c +++ b/src/client/SSLClient/bssl/rsa_i32_pss_vrfy.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(RSA_I32_PSS_VRFY_C) && defined(USE_LIB_SSL_ENGINE) -#define RSA_I32_PSS_VRFY_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/rsa_i32_pub.c b/src/client/SSLClient/bssl/rsa_i32_pub.c index 49d823b9b..c4adccda3 100644 --- a/src/client/SSLClient/bssl/rsa_i32_pub.c +++ b/src/client/SSLClient/bssl/rsa_i32_pub.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(RSA_I32_PUB_C) && defined(USE_LIB_SSL_ENGINE) -#define RSA_I32_PUB_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/rsa_i62_keygen.c b/src/client/SSLClient/bssl/rsa_i62_keygen.c index 221519711..38ccd88e1 100644 --- a/src/client/SSLClient/bssl/rsa_i62_keygen.c +++ b/src/client/SSLClient/bssl/rsa_i62_keygen.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(RSA_I62_KEYGEN_C) && defined(USE_LIB_SSL_ENGINE) -#define RSA_I62_KEYGEN_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/rsa_i62_oaep_decrypt.c b/src/client/SSLClient/bssl/rsa_i62_oaep_decrypt.c index 8ea157794..b8bfd6c1c 100644 --- a/src/client/SSLClient/bssl/rsa_i62_oaep_decrypt.c +++ b/src/client/SSLClient/bssl/rsa_i62_oaep_decrypt.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(RSA_I62_OAEP_DECRYPT_C) && defined(USE_LIB_SSL_ENGINE) -#define RSA_I62_OAEP_DECRYPT_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/rsa_i62_oaep_encrypt.c b/src/client/SSLClient/bssl/rsa_i62_oaep_encrypt.c index c7c7f64a5..9a3d286ed 100644 --- a/src/client/SSLClient/bssl/rsa_i62_oaep_encrypt.c +++ b/src/client/SSLClient/bssl/rsa_i62_oaep_encrypt.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(RSA_I62_OAEP_ENCRYPT_C) && defined(USE_LIB_SSL_ENGINE) -#define RSA_I62_OAEP_ENCRYPT_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/rsa_i62_pkcs1_sign.c b/src/client/SSLClient/bssl/rsa_i62_pkcs1_sign.c index 1c770bab1..a0d130525 100644 --- a/src/client/SSLClient/bssl/rsa_i62_pkcs1_sign.c +++ b/src/client/SSLClient/bssl/rsa_i62_pkcs1_sign.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(RSA_I62_PKCS1_SIGN_C) && defined(USE_LIB_SSL_ENGINE) -#define RSA_I62_PKCS1_SIGN_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/rsa_i62_pkcs1_vrfy.c b/src/client/SSLClient/bssl/rsa_i62_pkcs1_vrfy.c index ce179c8cc..730fa5e5a 100644 --- a/src/client/SSLClient/bssl/rsa_i62_pkcs1_vrfy.c +++ b/src/client/SSLClient/bssl/rsa_i62_pkcs1_vrfy.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(RSA_I62_PKCS1_VRFY_C) && defined(USE_LIB_SSL_ENGINE) -#define RSA_I62_PKCS1_VRFY_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/rsa_i62_priv.c b/src/client/SSLClient/bssl/rsa_i62_priv.c index 670c4c980..4ce4e527f 100644 --- a/src/client/SSLClient/bssl/rsa_i62_priv.c +++ b/src/client/SSLClient/bssl/rsa_i62_priv.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(RSA_I62_PRIV_C) && defined(USE_LIB_SSL_ENGINE) -#define RSA_I62_PRIV_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/rsa_i62_pss_sign.c b/src/client/SSLClient/bssl/rsa_i62_pss_sign.c index 7700984fe..38aed9828 100644 --- a/src/client/SSLClient/bssl/rsa_i62_pss_sign.c +++ b/src/client/SSLClient/bssl/rsa_i62_pss_sign.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(RSA_I62_PSS_SIGN_C) && defined(USE_LIB_SSL_ENGINE) -#define RSA_I62_PSS_SIGN_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/rsa_i62_pss_vrfy.c b/src/client/SSLClient/bssl/rsa_i62_pss_vrfy.c index 802423dc9..7b6ce339b 100644 --- a/src/client/SSLClient/bssl/rsa_i62_pss_vrfy.c +++ b/src/client/SSLClient/bssl/rsa_i62_pss_vrfy.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(RSA_I62_PSS_VRFY_C) && defined(USE_LIB_SSL_ENGINE) -#define RSA_I62_PSS_VRFY_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/rsa_i62_pub.c b/src/client/SSLClient/bssl/rsa_i62_pub.c index 37e4b4376..e71b9f491 100644 --- a/src/client/SSLClient/bssl/rsa_i62_pub.c +++ b/src/client/SSLClient/bssl/rsa_i62_pub.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(RSA_I62_PUB_C) && defined(USE_LIB_SSL_ENGINE) -#define RSA_I62_PUB_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/rsa_oaep_pad.c b/src/client/SSLClient/bssl/rsa_oaep_pad.c index 3f65330fe..55db3540b 100644 --- a/src/client/SSLClient/bssl/rsa_oaep_pad.c +++ b/src/client/SSLClient/bssl/rsa_oaep_pad.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(RSA_OAEP_PAD_C) && defined(USE_LIB_SSL_ENGINE) -#define RSA_OAEP_PAD_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/rsa_oaep_unpad.c b/src/client/SSLClient/bssl/rsa_oaep_unpad.c index bfbf0fb72..870da8d50 100644 --- a/src/client/SSLClient/bssl/rsa_oaep_unpad.c +++ b/src/client/SSLClient/bssl/rsa_oaep_unpad.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(RSA_OAEP_UNPAD_C) && defined(USE_LIB_SSL_ENGINE) -#define RSA_OAEP_UNPAD_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/rsa_pkcs1_sig_pad.c b/src/client/SSLClient/bssl/rsa_pkcs1_sig_pad.c index 28ffd01a6..1425af0e8 100644 --- a/src/client/SSLClient/bssl/rsa_pkcs1_sig_pad.c +++ b/src/client/SSLClient/bssl/rsa_pkcs1_sig_pad.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(RSA_PKCS1_SIG_PAD_C) && defined(USE_LIB_SSL_ENGINE) -#define RSA_PKCS1_SIG_PAD_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/rsa_pkcs1_sig_unpad.c b/src/client/SSLClient/bssl/rsa_pkcs1_sig_unpad.c index 62fc99777..43393968b 100644 --- a/src/client/SSLClient/bssl/rsa_pkcs1_sig_unpad.c +++ b/src/client/SSLClient/bssl/rsa_pkcs1_sig_unpad.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(RSA_PKCS1_SIG_UNPAD_C) && defined(USE_LIB_SSL_ENGINE) -#define RSA_PKCS1_SIG_UNPAD_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/rsa_pss_sig_pad.c b/src/client/SSLClient/bssl/rsa_pss_sig_pad.c index 4a6fdab40..c91668565 100644 --- a/src/client/SSLClient/bssl/rsa_pss_sig_pad.c +++ b/src/client/SSLClient/bssl/rsa_pss_sig_pad.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(RSA_PSS_SIG_PAD_C) && defined(USE_LIB_SSL_ENGINE) -#define RSA_PSS_SIG_PAD_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/rsa_pss_sig_unpad.c b/src/client/SSLClient/bssl/rsa_pss_sig_unpad.c index 48e5ed06d..06af48640 100644 --- a/src/client/SSLClient/bssl/rsa_pss_sig_unpad.c +++ b/src/client/SSLClient/bssl/rsa_pss_sig_unpad.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(RSA_PSS_SIG_UNPAD_C) && defined(USE_LIB_SSL_ENGINE) -#define RSA_PSS_SIG_UNPAD_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/rsa_ssl_decrypt.c b/src/client/SSLClient/bssl/rsa_ssl_decrypt.c index 5f6a47a09..26793f062 100644 --- a/src/client/SSLClient/bssl/rsa_ssl_decrypt.c +++ b/src/client/SSLClient/bssl/rsa_ssl_decrypt.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(RSA_SSL_DECRYPT_C) && defined(USE_LIB_SSL_ENGINE) -#define RSA_SSL_DECRYPT_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/settings.c b/src/client/SSLClient/bssl/settings.c index 69295ae61..8baadeb8e 100644 --- a/src/client/SSLClient/bssl/settings.c +++ b/src/client/SSLClient/bssl/settings.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(SETTINGS_C) && defined(USE_LIB_SSL_ENGINE) -#define SETTINGS_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/sha1.c b/src/client/SSLClient/bssl/sha1.c index cd1ac2845..35e0895df 100644 --- a/src/client/SSLClient/bssl/sha1.c +++ b/src/client/SSLClient/bssl/sha1.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(SHA1_C) && defined(USE_LIB_SSL_ENGINE) -#define SHA1_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/sha2big.c b/src/client/SSLClient/bssl/sha2big.c index f98684b4a..5d16209ee 100644 --- a/src/client/SSLClient/bssl/sha2big.c +++ b/src/client/SSLClient/bssl/sha2big.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(SHA2BIG_C) && defined(USE_LIB_SSL_ENGINE) -#define SHA2BIG_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/sha2small.c b/src/client/SSLClient/bssl/sha2small.c index 0aebc62cb..82c598836 100644 --- a/src/client/SSLClient/bssl/sha2small.c +++ b/src/client/SSLClient/bssl/sha2small.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(SHA2SMALL_C) && defined(USE_LIB_SSL_ENGINE) -#define SHA2SMALL_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/shake.c b/src/client/SSLClient/bssl/shake.c index f07eb8102..c2de3cdcc 100644 --- a/src/client/SSLClient/bssl/shake.c +++ b/src/client/SSLClient/bssl/shake.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(SHAKE_C) && defined(USE_LIB_SSL_ENGINE) -#define SHAKE_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/skey_decoder.c b/src/client/SSLClient/bssl/skey_decoder.c index ff999a4ac..e5bad0107 100644 --- a/src/client/SSLClient/bssl/skey_decoder.c +++ b/src/client/SSLClient/bssl/skey_decoder.c @@ -2,8 +2,7 @@ #include "../ESP_SSLClient_FS.h" -#if !defined(SKEY_DECODER_C) && defined(USE_LIB_SSL_ENGINE) -#define SKEY_DECODER_C +#if defined(USE_LIB_SSL_ENGINE) #include #include diff --git a/src/client/SSLClient/bssl/ssl_ccert_single_ec.c b/src/client/SSLClient/bssl/ssl_ccert_single_ec.c index 1fb7d197d..e056177e8 100644 --- a/src/client/SSLClient/bssl/ssl_ccert_single_ec.c +++ b/src/client/SSLClient/bssl/ssl_ccert_single_ec.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(SSL_CCERT_SINGLE_EC_C) && defined(USE_LIB_SSL_ENGINE) -#define SSL_CCERT_SINGLE_EC_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ssl_ccert_single_rsa.c b/src/client/SSLClient/bssl/ssl_ccert_single_rsa.c index 6d21f4852..29515c43c 100644 --- a/src/client/SSLClient/bssl/ssl_ccert_single_rsa.c +++ b/src/client/SSLClient/bssl/ssl_ccert_single_rsa.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(SSL_CCERT_SINGLE_RSA_C) && defined(USE_LIB_SSL_ENGINE) -#define SSL_CCERT_SINGLE_RSA_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ssl_client.c b/src/client/SSLClient/bssl/ssl_client.c index d37bc5ca4..59a056c04 100644 --- a/src/client/SSLClient/bssl/ssl_client.c +++ b/src/client/SSLClient/bssl/ssl_client.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(SSL_CLIENT_C) && defined(USE_LIB_SSL_ENGINE) -#define SSL_CLIENT_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ssl_client_default_rsapub.c b/src/client/SSLClient/bssl/ssl_client_default_rsapub.c index 0b33c956b..6fec4b06c 100644 --- a/src/client/SSLClient/bssl/ssl_client_default_rsapub.c +++ b/src/client/SSLClient/bssl/ssl_client_default_rsapub.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(SSL_CLIENT_DEFAULT_RSAPUB_C) && defined(USE_LIB_SSL_ENGINE) -#define SSL_CLIENT_DEFAULT_RSAPUB_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ssl_client_full.c b/src/client/SSLClient/bssl/ssl_client_full.c index 2b40a2904..a1bf10106 100644 --- a/src/client/SSLClient/bssl/ssl_client_full.c +++ b/src/client/SSLClient/bssl/ssl_client_full.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(SSL_CLIENT_FULL_C) && defined(USE_LIB_SSL_ENGINE) -#define SSL_CLIENT_FULL_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ssl_engine.c b/src/client/SSLClient/bssl/ssl_engine.c index 3990e985a..81dcc068a 100644 --- a/src/client/SSLClient/bssl/ssl_engine.c +++ b/src/client/SSLClient/bssl/ssl_engine.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(SSL_ENGINE_C) && defined(USE_LIB_SSL_ENGINE) -#define SSL_ENGINE_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ssl_engine_default_aescbc.c b/src/client/SSLClient/bssl/ssl_engine_default_aescbc.c index 06deec288..a751fb5a0 100644 --- a/src/client/SSLClient/bssl/ssl_engine_default_aescbc.c +++ b/src/client/SSLClient/bssl/ssl_engine_default_aescbc.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(SSL_ENGINE_DEFAULT_AESCBC_C) && defined(USE_LIB_SSL_ENGINE) -#define SSL_ENGINE_DEFAULT_AESCBC_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ssl_engine_default_aesccm.c b/src/client/SSLClient/bssl/ssl_engine_default_aesccm.c index 1d659dfef..e53fd2248 100644 --- a/src/client/SSLClient/bssl/ssl_engine_default_aesccm.c +++ b/src/client/SSLClient/bssl/ssl_engine_default_aesccm.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(SSL_ENGINE_DEFAULT_AESCCM_C) && defined(USE_LIB_SSL_ENGINE) -#define SSL_ENGINE_DEFAULT_AESCCM_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ssl_engine_default_aesgcm.c b/src/client/SSLClient/bssl/ssl_engine_default_aesgcm.c index cde2061d7..c7f011166 100644 --- a/src/client/SSLClient/bssl/ssl_engine_default_aesgcm.c +++ b/src/client/SSLClient/bssl/ssl_engine_default_aesgcm.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(SSL_ENGINE_DEFAULT_AESGCM_C) && defined(USE_LIB_SSL_ENGINE) -#define SSL_ENGINE_DEFAULT_AESGCM_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ssl_engine_default_chapol.c b/src/client/SSLClient/bssl/ssl_engine_default_chapol.c index ec40220fc..17323fa68 100644 --- a/src/client/SSLClient/bssl/ssl_engine_default_chapol.c +++ b/src/client/SSLClient/bssl/ssl_engine_default_chapol.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(SSL_ENGINE_DEFAULT_CHAPOL_C) && defined(USE_LIB_SSL_ENGINE) -#define SSL_ENGINE_DEFAULT_CHAPOL_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ssl_engine_default_descbc.c b/src/client/SSLClient/bssl/ssl_engine_default_descbc.c index d69945c90..5e9963a20 100644 --- a/src/client/SSLClient/bssl/ssl_engine_default_descbc.c +++ b/src/client/SSLClient/bssl/ssl_engine_default_descbc.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(SSL_ENGINE_DEFAULT_DESCBC_C) && defined(USE_LIB_SSL_ENGINE) -#define SSL_ENGINE_DEFAULT_DESCBC_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ssl_engine_default_ec.c b/src/client/SSLClient/bssl/ssl_engine_default_ec.c index d5c381d8a..770a4c350 100644 --- a/src/client/SSLClient/bssl/ssl_engine_default_ec.c +++ b/src/client/SSLClient/bssl/ssl_engine_default_ec.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(SSL_ENGINE_DEFAULT_EC_C) && defined(USE_LIB_SSL_ENGINE) -#define SSL_ENGINE_DEFAULT_EC_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ssl_engine_default_ecdsa.c b/src/client/SSLClient/bssl/ssl_engine_default_ecdsa.c index 6173fff45..daffe66b8 100644 --- a/src/client/SSLClient/bssl/ssl_engine_default_ecdsa.c +++ b/src/client/SSLClient/bssl/ssl_engine_default_ecdsa.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(SSL_ENGINE_DEFAULT_ECDSA_C) && defined(USE_LIB_SSL_ENGINE) -#define SSL_ENGINE_DEFAULT_ECDSA_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ssl_engine_default_rsavrfy.c b/src/client/SSLClient/bssl/ssl_engine_default_rsavrfy.c index 5cbfd12bb..0dbf1e77a 100644 --- a/src/client/SSLClient/bssl/ssl_engine_default_rsavrfy.c +++ b/src/client/SSLClient/bssl/ssl_engine_default_rsavrfy.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(SSL_ENGINE_DEFAULT_RSAVRY_C) && defined(USE_LIB_SSL_ENGINE) -#define SSL_ENGINE_DEFAULT_RSAVRY_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ssl_hashes.c b/src/client/SSLClient/bssl/ssl_hashes.c index 276ef5916..3db0be4e4 100644 --- a/src/client/SSLClient/bssl/ssl_hashes.c +++ b/src/client/SSLClient/bssl/ssl_hashes.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(SSL_HASHES_C) && defined(USE_LIB_SSL_ENGINE) -#define SSL_HASHES_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ssl_hs_client.c b/src/client/SSLClient/bssl/ssl_hs_client.c index de70daad0..2f2cbab7a 100644 --- a/src/client/SSLClient/bssl/ssl_hs_client.c +++ b/src/client/SSLClient/bssl/ssl_hs_client.c @@ -2,8 +2,7 @@ #include "../ESP_SSLClient_FS.h" -#if !defined(SSL_HS_CLIENT_C) && defined(USE_LIB_SSL_ENGINE) -#define SSL_HS_CLIENT_C +#if defined(USE_LIB_SSL_ENGINE) #include #include diff --git a/src/client/SSLClient/bssl/ssl_hs_server.c b/src/client/SSLClient/bssl/ssl_hs_server.c index 71416f6e6..79ab84920 100644 --- a/src/client/SSLClient/bssl/ssl_hs_server.c +++ b/src/client/SSLClient/bssl/ssl_hs_server.c @@ -2,8 +2,7 @@ #include "../ESP_SSLClient_FS.h" -#if !defined(SSL_HS_SERVER_C) && defined(USE_LIB_SSL_ENGINE) -#define SSL_HS_SERVER_C +#if defined(USE_LIB_SSL_ENGINE) #include #include diff --git a/src/client/SSLClient/bssl/ssl_io.c b/src/client/SSLClient/bssl/ssl_io.c index 124a23d08..73dce37bc 100644 --- a/src/client/SSLClient/bssl/ssl_io.c +++ b/src/client/SSLClient/bssl/ssl_io.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(SSL_IO_C) && defined(USE_LIB_SSL_ENGINE) -#define SSL_IO_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ssl_keyexport.c b/src/client/SSLClient/bssl/ssl_keyexport.c index 33199faf8..1efaa960e 100644 --- a/src/client/SSLClient/bssl/ssl_keyexport.c +++ b/src/client/SSLClient/bssl/ssl_keyexport.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(SSL_KEYEXPORT_C) && defined(USE_LIB_SSL_ENGINE) -#define SSL_KEYEXPORT_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ssl_lru.c b/src/client/SSLClient/bssl/ssl_lru.c index b21cdd382..d211c7658 100644 --- a/src/client/SSLClient/bssl/ssl_lru.c +++ b/src/client/SSLClient/bssl/ssl_lru.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(SSL_LRU_C) && defined(USE_LIB_SSL_ENGINE) -#define SSL_LRU_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ssl_rec_cbc.c b/src/client/SSLClient/bssl/ssl_rec_cbc.c index a6ba3ad4b..3b4d0d0f7 100644 --- a/src/client/SSLClient/bssl/ssl_rec_cbc.c +++ b/src/client/SSLClient/bssl/ssl_rec_cbc.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(SSL_REC_CBC_C) && defined(USE_LIB_SSL_ENGINE) -#define SSL_REC_CBC_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ssl_rec_ccm.c b/src/client/SSLClient/bssl/ssl_rec_ccm.c index 8d1a4bbb6..d2bc724a9 100644 --- a/src/client/SSLClient/bssl/ssl_rec_ccm.c +++ b/src/client/SSLClient/bssl/ssl_rec_ccm.c @@ -23,9 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(SSL_REC_CCM_C) && defined(USE_LIB_SSL_ENGINE) -#define SSL_REC_CCM_C - +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ssl_rec_chapol.c b/src/client/SSLClient/bssl/ssl_rec_chapol.c index 4935dbedd..fb7fcb146 100644 --- a/src/client/SSLClient/bssl/ssl_rec_chapol.c +++ b/src/client/SSLClient/bssl/ssl_rec_chapol.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(SSL_REC_CHAPOL_C) && defined(USE_LIB_SSL_ENGINE) -#define SSL_REC_CHAPOL_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ssl_rec_gcm.c b/src/client/SSLClient/bssl/ssl_rec_gcm.c index c8e5e76bc..885e6342a 100644 --- a/src/client/SSLClient/bssl/ssl_rec_gcm.c +++ b/src/client/SSLClient/bssl/ssl_rec_gcm.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(SSL_REC_GCM_C) && defined(USE_LIB_SSL_ENGINE) -#define SSL_REC_GCM_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ssl_scert_single_ec.c b/src/client/SSLClient/bssl/ssl_scert_single_ec.c index 651c4612d..0c8702cdb 100644 --- a/src/client/SSLClient/bssl/ssl_scert_single_ec.c +++ b/src/client/SSLClient/bssl/ssl_scert_single_ec.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(SSL_SCERT_SINGLE_EC_C) && defined(USE_LIB_SSL_ENGINE) -#define SSL_SCERT_SINGLE_EC_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ssl_scert_single_rsa.c b/src/client/SSLClient/bssl/ssl_scert_single_rsa.c index d358e5f41..600695bb7 100644 --- a/src/client/SSLClient/bssl/ssl_scert_single_rsa.c +++ b/src/client/SSLClient/bssl/ssl_scert_single_rsa.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(SSL_SCERT_SINGLE_RSA_C) && defined(USE_LIB_SSL_ENGINE) -#define SSL_SCERT_SINGLE_RSA_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ssl_server.c b/src/client/SSLClient/bssl/ssl_server.c index 04f1c0fc1..636734af5 100644 --- a/src/client/SSLClient/bssl/ssl_server.c +++ b/src/client/SSLClient/bssl/ssl_server.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(SSL_SERVER_C) && defined(USE_LIB_SSL_ENGINE) -#define SSL_SERVER_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ssl_server_full_ec.c b/src/client/SSLClient/bssl/ssl_server_full_ec.c index 3e482798c..352951cc4 100644 --- a/src/client/SSLClient/bssl/ssl_server_full_ec.c +++ b/src/client/SSLClient/bssl/ssl_server_full_ec.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(SSL_SERVER_FULL_EC_C) && defined(USE_LIB_SSL_ENGINE) -#define SSL_SERVER_FULL_EC_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ssl_server_full_rsa.c b/src/client/SSLClient/bssl/ssl_server_full_rsa.c index 64d0ef306..2acc66bd7 100644 --- a/src/client/SSLClient/bssl/ssl_server_full_rsa.c +++ b/src/client/SSLClient/bssl/ssl_server_full_rsa.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(SSL_SERVER_FULL_RSA_C) && defined(USE_LIB_SSL_ENGINE) -#define SSL_SERVER_FULL_RSA_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ssl_server_mine2c.c b/src/client/SSLClient/bssl/ssl_server_mine2c.c index 5f06f1ef1..8b3aa08d2 100644 --- a/src/client/SSLClient/bssl/ssl_server_mine2c.c +++ b/src/client/SSLClient/bssl/ssl_server_mine2c.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(SSL_SERVER_MINE2C_C) && defined(USE_LIB_SSL_ENGINE) -#define SSL_SERVER_MINE2C_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ssl_server_mine2g.c b/src/client/SSLClient/bssl/ssl_server_mine2g.c index b0ab30beb..07e6e95f5 100644 --- a/src/client/SSLClient/bssl/ssl_server_mine2g.c +++ b/src/client/SSLClient/bssl/ssl_server_mine2g.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(SSL_SERVER_MINE2G_C) && defined(USE_LIB_SSL_ENGINE) -#define SSL_SERVER_MINE2G_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ssl_server_minf2c.c b/src/client/SSLClient/bssl/ssl_server_minf2c.c index 65c592c48..e58c8c079 100644 --- a/src/client/SSLClient/bssl/ssl_server_minf2c.c +++ b/src/client/SSLClient/bssl/ssl_server_minf2c.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(SSL_SERVER_MINF2C_C) && defined(USE_LIB_SSL_ENGINE) -#define SSL_SERVER_MINF2C_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ssl_server_minf2g.c b/src/client/SSLClient/bssl/ssl_server_minf2g.c index 0dfd0bbdc..0f6eead27 100644 --- a/src/client/SSLClient/bssl/ssl_server_minf2g.c +++ b/src/client/SSLClient/bssl/ssl_server_minf2g.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(SSL_SERVER_MINF2G_C) && defined(USE_LIB_SSL_ENGINE) -#define SSL_SERVER_MINF2G_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ssl_server_minr2g.c b/src/client/SSLClient/bssl/ssl_server_minr2g.c index 611311563..64e4b041c 100644 --- a/src/client/SSLClient/bssl/ssl_server_minr2g.c +++ b/src/client/SSLClient/bssl/ssl_server_minr2g.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(SSL_SERVER_MINR2G_C) && defined(USE_LIB_SSL_ENGINE) -#define SSL_SERVER_MINR2G_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ssl_server_minu2g.c b/src/client/SSLClient/bssl/ssl_server_minu2g.c index b434fd77a..ca38c7cc4 100644 --- a/src/client/SSLClient/bssl/ssl_server_minu2g.c +++ b/src/client/SSLClient/bssl/ssl_server_minu2g.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(SSL_SERVER_MINU2G_C) && defined(USE_LIB_SSL_ENGINE) -#define SSL_SERVER_MINU2G_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/ssl_server_minv2g.c b/src/client/SSLClient/bssl/ssl_server_minv2g.c index bf13e5b8b..ad5687b3e 100644 --- a/src/client/SSLClient/bssl/ssl_server_minv2g.c +++ b/src/client/SSLClient/bssl/ssl_server_minv2g.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(SSL_SERVER_MINV2G_C) && defined(USE_LIB_SSL_ENGINE) -#define SSL_SERVER_MINV2G_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/sysrng.c b/src/client/SSLClient/bssl/sysrng.c index 72bd10b9c..9533079e0 100644 --- a/src/client/SSLClient/bssl/sysrng.c +++ b/src/client/SSLClient/bssl/sysrng.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(SYSRNG_C) && defined(USE_LIB_SSL_ENGINE) -#define SYSRNG_C +#if defined(USE_LIB_SSL_ENGINE) #define BR_ENABLE_INTRINSICS 1 #include "inner.h" diff --git a/src/client/SSLClient/bssl/x509_decoder.c b/src/client/SSLClient/bssl/x509_decoder.c index f1e876193..6e1f0ef0c 100644 --- a/src/client/SSLClient/bssl/x509_decoder.c +++ b/src/client/SSLClient/bssl/x509_decoder.c @@ -2,8 +2,7 @@ #include "../ESP_SSLClient_FS.h" -#if !defined(X509_DECODER_C) && defined(USE_LIB_SSL_ENGINE) -#define X509_DECODER_C +#if defined(USE_LIB_SSL_ENGINE) #include #include diff --git a/src/client/SSLClient/bssl/x509_knownkey.c b/src/client/SSLClient/bssl/x509_knownkey.c index 10dfdc6b7..f1f5af1bc 100644 --- a/src/client/SSLClient/bssl/x509_knownkey.c +++ b/src/client/SSLClient/bssl/x509_knownkey.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(X509_KNOWNKEY_C) && defined(USE_LIB_SSL_ENGINE) -#define X509_KNOWNKEY_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/bssl/x509_minimal.c b/src/client/SSLClient/bssl/x509_minimal.c index b1e564cf5..36c712446 100644 --- a/src/client/SSLClient/bssl/x509_minimal.c +++ b/src/client/SSLClient/bssl/x509_minimal.c @@ -2,8 +2,7 @@ #include "../ESP_SSLClient_FS.h" -#if !defined(X509_MINIMAL_C) && defined(USE_LIB_SSL_ENGINE) -#define X509_MINIMAL_C +#if defined(USE_LIB_SSL_ENGINE) #include #include diff --git a/src/client/SSLClient/bssl/x509_minimal_full.c b/src/client/SSLClient/bssl/x509_minimal_full.c index 04a9c2271..9ca15d263 100644 --- a/src/client/SSLClient/bssl/x509_minimal_full.c +++ b/src/client/SSLClient/bssl/x509_minimal_full.c @@ -23,8 +23,7 @@ */ #include "../ESP_SSLClient_FS.h" -#if !defined(X509_MINIMAL_FULL_C) && defined(USE_LIB_SSL_ENGINE) -#define X509_MINIMAL_FULL_C +#if defined(USE_LIB_SSL_ENGINE) #include "inner.h" diff --git a/src/client/SSLClient/client/BSSL_Helper.cpp b/src/client/SSLClient/client/BSSL_Helper.cpp index e7ff87f1c..12d7c5a4f 100644 --- a/src/client/SSLClient/client/BSSL_Helper.cpp +++ b/src/client/SSLClient/client/BSSL_Helper.cpp @@ -1,4 +1,6 @@ /* + Updated June 12, 2004. + WiFiClientBearSSL- SSL client/server for esp8266 using BearSSL libraries - Mostly compatible with Arduino WiFi shield library and standard WiFiClient/ServerSecure (except for certificate handling). @@ -121,7 +123,7 @@ namespace key_bssl vec->reserve(vec->size() + len); // Allocate extra space all at once for (size_t i = 0; i < len; i++) { - vec->push_back(((uint8_t *)buff)[i]); + vec->push_back((reinterpret_cast(buff))[i]); } } @@ -134,7 +136,7 @@ namespace key_bssl // Clear everything in the Trust Anchor memset(ta, 0, sizeof(*ta)); - br_x509_decoder_init(dc.get(), byte_vector_append, (void *)&vdn); + br_x509_decoder_init(dc.get(), byte_vector_append, reinterpret_cast(&vdn)); br_x509_decoder_push(dc.get(), xc->data, xc->data_len); pk = br_x509_decoder_get_pkey(dc.get()); if (pk == nullptr) @@ -143,7 +145,7 @@ namespace key_bssl } // Copy the raw certificate data - ta->dn.data = (uint8_t *)malloc(vdn.size()); + ta->dn.data = reinterpret_cast(malloc(vdn.size())); if (!ta->dn.data) { return false; // OOM, but nothing yet allocated @@ -161,8 +163,8 @@ namespace key_bssl { case BR_KEYTYPE_RSA: ta->pkey.key_type = BR_KEYTYPE_RSA; - ta->pkey.key.rsa.n = (uint8_t *)malloc(pk->key.rsa.nlen); - ta->pkey.key.rsa.e = (uint8_t *)malloc(pk->key.rsa.elen); + ta->pkey.key.rsa.n = reinterpret_cast(malloc(pk->key.rsa.nlen)); + ta->pkey.key.rsa.e = reinterpret_cast(malloc(pk->key.rsa.elen)); if ((ta->pkey.key.rsa.n == nullptr) || (ta->pkey.key.rsa.e == nullptr)) { free_ta_contents(ta); // OOM, so clean up @@ -176,7 +178,7 @@ namespace key_bssl case BR_KEYTYPE_EC: ta->pkey.key_type = BR_KEYTYPE_EC; ta->pkey.key.ec.curve = pk->key.ec.curve; - ta->pkey.key.ec.q = (uint8_t *)malloc(pk->key.ec.qlen); + ta->pkey.key.ec.q = reinterpret_cast(malloc(pk->key.ec.qlen)); if (ta->pkey.key.ec.q == nullptr) { free_ta_contents(ta); // OOM, so clean up @@ -196,7 +198,7 @@ namespace key_bssl br_x509_trust_anchor *certificate_to_trust_anchor(const br_x509_certificate *xc) { - br_x509_trust_anchor *ta = (br_x509_trust_anchor *)malloc(sizeof(br_x509_trust_anchor)); + br_x509_trust_anchor *ta = reinterpret_cast(malloc(sizeof(br_x509_trust_anchor))); if (!ta) { return nullptr; @@ -287,7 +289,7 @@ namespace key_bssl char *strdupImpl(const char *s) { size_t slen = strlen(s); - char *result = (char *)malloc(slen + 1); + char *result = reinterpret_cast(malloc(slen + 1)); if (!result) return NULL; memcpy(result, s, slen + 1); @@ -305,13 +307,13 @@ namespace key_bssl { return nullptr; } - pem_object po, *pos; - const unsigned char *buff; + pem_object po, *pos = nullptr; + const unsigned char *buff = nullptr; std::vector bv; *num = 0; br_pem_decoder_init(pc.get()); - buff = (const unsigned char *)src; + buff = reinterpret_cast(src); po.name = nullptr; po.data = nullptr; po.data_len = 0; @@ -337,7 +339,7 @@ namespace key_bssl if (inobj) { // Stick data into the vector - po.data = (uint8_t *)malloc(bv.size()); + po.data = reinterpret_cast(malloc(bv.size())); if (po.data) { memcpy(po.data, &bv[0], bv.size()); @@ -369,7 +371,7 @@ namespace key_bssl if (len == 0 && extra_nl) { extra_nl = false; - buff = (const unsigned char *)"\n"; + buff = reinterpret_cast("\n"); len = 1; } } @@ -384,7 +386,7 @@ namespace key_bssl return nullptr; } - pos = (pem_object *)malloc((1 + pem_list.size()) * sizeof(*pos)); + pos = reinterpret_cast(malloc((1 + pem_list.size()) * sizeof(*pos))); if (pos) { *num = pem_list.size(); @@ -399,21 +401,21 @@ namespace key_bssl br_x509_certificate *read_certificates(const char *buff, size_t len, size_t *num) { std::vector cert_list; - pem_object *pos; - size_t u, num_pos; - br_x509_certificate *xcs; + pem_object *pos = nullptr; + size_t u = 0, num_pos = 0; + br_x509_certificate *xcs = nullptr; br_x509_certificate dummy; *num = 0; - if (looks_like_DER((const unsigned char *)buff, len)) + if (looks_like_DER(reinterpret_cast(buff), len)) { - xcs = (br_x509_certificate *)malloc(2 * sizeof(*xcs)); + xcs = reinterpret_cast(malloc(2 * sizeof(*xcs))); if (!xcs) { return nullptr; } - xcs[0].data = (uint8_t *)malloc(len); + xcs[0].data = reinterpret_cast(malloc(len)); if (!xcs[0].data) { free(xcs); @@ -457,7 +459,7 @@ namespace key_bssl dummy.data = nullptr; dummy.data_len = 0; cert_list.push_back(dummy); - xcs = (br_x509_certificate *)malloc(cert_list.size() * sizeof(*xcs)); + xcs = reinterpret_cast(malloc(cert_list.size() * sizeof(*xcs))); if (!xcs) { for (size_t i = 0; i < cert_list.size(); i++) @@ -508,14 +510,14 @@ namespace key_bssl { case BR_KEYTYPE_RSA: rk = br_pkey_decoder_get_rsa(dc.get()); - pk = (public_key *)malloc(sizeof *pk); + pk = reinterpret_cast(malloc(sizeof *pk)); if (!pk) { return nullptr; } pk->key_type = BR_KEYTYPE_RSA; - pk->key.rsa.n = (uint8_t *)malloc(rk->nlen); - pk->key.rsa.e = (uint8_t *)malloc(rk->elen); + pk->key.rsa.n = reinterpret_cast(malloc(rk->nlen)); + pk->key.rsa.e = reinterpret_cast(malloc(rk->elen)); if (!pk->key.rsa.n || !pk->key.rsa.e) { free(pk->key.rsa.n); @@ -531,13 +533,13 @@ namespace key_bssl case BR_KEYTYPE_EC: ek = br_pkey_decoder_get_ec(dc.get()); - pk = (public_key *)malloc(sizeof *pk); + pk = reinterpret_cast(malloc(sizeof *pk)); if (!pk) { return nullptr; } pk->key_type = BR_KEYTYPE_EC; - pk->key.ec.q = (uint8_t *)malloc(ek->qlen); + pk->key.ec.q = reinterpret_cast(malloc(ek->qlen)); if (!pk->key.ec.q) { free(pk); @@ -594,17 +596,17 @@ namespace key_bssl { case BR_KEYTYPE_RSA: rk = br_skey_decoder_get_rsa(dc.get()); - sk = (private_key *)malloc(sizeof *sk); + sk = reinterpret_cast(malloc(sizeof *sk)); if (!sk) { return nullptr; } sk->key_type = BR_KEYTYPE_RSA; - sk->key.rsa.p = (uint8_t *)malloc(rk->plen); - sk->key.rsa.q = (uint8_t *)malloc(rk->qlen); - sk->key.rsa.dp = (uint8_t *)malloc(rk->dplen); - sk->key.rsa.dq = (uint8_t *)malloc(rk->dqlen); - sk->key.rsa.iq = (uint8_t *)malloc(rk->iqlen); + sk->key.rsa.p = reinterpret_cast(malloc(rk->plen)); + sk->key.rsa.q = reinterpret_cast(malloc(rk->qlen)); + sk->key.rsa.dp = reinterpret_cast(malloc(rk->dplen)); + sk->key.rsa.dq = reinterpret_cast(malloc(rk->dqlen)); + sk->key.rsa.iq = reinterpret_cast(malloc(rk->iqlen)); if (!sk->key.rsa.p || !sk->key.rsa.q || !sk->key.rsa.dp || !sk->key.rsa.dq || !sk->key.rsa.iq) { free_private_key(sk); @@ -625,14 +627,14 @@ namespace key_bssl case BR_KEYTYPE_EC: ek = br_skey_decoder_get_ec(dc.get()); - sk = (private_key *)malloc(sizeof *sk); + sk = reinterpret_cast(malloc(sizeof *sk)); if (!sk) { return nullptr; } sk->key_type = BR_KEYTYPE_EC; sk->key.ec.curve = ek->curve; - sk->key.ec.x = (uint8_t *)malloc(ek->xlen); + sk->key.ec.x = reinterpret_cast(malloc(ek->xlen)); if (!sk->key.ec.x) { free_private_key(sk); @@ -688,9 +690,9 @@ namespace key_bssl private_key *sk = nullptr; pem_object *pos = nullptr; - if (looks_like_DER((const unsigned char *)buff, len)) + if (looks_like_DER(reinterpret_cast(buff), len)) { - sk = decode_private_key((const unsigned char *)buff, len); + sk = decode_private_key(reinterpret_cast(buff), len); return sk; } @@ -720,9 +722,9 @@ namespace key_bssl public_key *pk = nullptr; pem_object *pos = nullptr; - if (looks_like_DER((const unsigned char *)buff, len)) + if (looks_like_DER(reinterpret_cast(buff), len)) { - pk = decode_public_key((const unsigned char *)buff, len); + pk = decode_public_key(reinterpret_cast(buff), len); return pk; } size_t num; @@ -749,7 +751,7 @@ namespace key_bssl static uint8_t *loadStream(Stream &stream, size_t size) { - uint8_t *dest = (uint8_t *)malloc(size); + uint8_t *dest = reinterpret_cast(malloc(size)); if (!dest) { return nullptr; // OOM error @@ -806,7 +808,7 @@ namespace bssl bool PublicKey::parse(const char *pemKey) { - return parse((const uint8_t *)pemKey, strlen_P(pemKey)); + return parse(reinterpret_cast(pemKey), strlen_P(pemKey)); } bool PublicKey::parse(const uint8_t *derKey, size_t derLen) @@ -816,7 +818,7 @@ namespace bssl key_bssl::free_public_key(_key); _key = nullptr; } - _key = key_bssl::read_public_key((const char *)derKey, derLen); + _key = key_bssl::read_public_key(reinterpret_cast(derKey), derLen); return _key ? true : false; } @@ -896,7 +898,7 @@ namespace bssl bool PrivateKey::parse(const char *pemKey) { - return parse((const uint8_t *)pemKey, strlen_P(pemKey)); + return parse(reinterpret_cast(pemKey), strlen_P(pemKey)); } bool PrivateKey::parse(const uint8_t *derKey, size_t derLen) @@ -906,7 +908,7 @@ namespace bssl key_bssl::free_private_key(_key); _key = nullptr; } - _key = key_bssl::read_private_key((const char *)derKey, derLen); + _key = key_bssl::read_private_key(reinterpret_cast(derKey), derLen); return _key ? true : false; } @@ -996,13 +998,13 @@ namespace bssl bool X509List::append(const char *pemCert) { - return append((const uint8_t *)pemCert, strlen_P(pemCert)); + return append(reinterpret_cast(pemCert), strlen_P(pemCert)); } bool X509List::append(const uint8_t *derCert, size_t derLen) { size_t numCerts; - br_x509_certificate *newCerts = key_bssl::read_certificates((const char *)derCert, derLen, &numCerts); + br_x509_certificate *newCerts = key_bssl::read_certificates(reinterpret_cast(derCert), derLen, &numCerts); if (!newCerts) { return false; @@ -1010,7 +1012,7 @@ namespace bssl // Add in the certificates br_x509_certificate *saveCert = _cert; - _cert = (br_x509_certificate *)realloc(_cert, (numCerts + _count) * sizeof(br_x509_certificate)); + _cert = reinterpret_cast(realloc(_cert, (numCerts + _count) * sizeof(br_x509_certificate))); if (!_cert) { free(newCerts); @@ -1022,7 +1024,7 @@ namespace bssl // Build TAs for each certificate br_x509_trust_anchor *saveTa = _ta; - _ta = (br_x509_trust_anchor *)realloc(_ta, (numCerts + _count) * sizeof(br_x509_trust_anchor)); + _ta = reinterpret_cast(realloc(_ta, (numCerts + _count) * sizeof(br_x509_trust_anchor))); if (!_ta) { _ta = saveTa; diff --git a/src/client/SSLClient/client/BSSL_Helper.h b/src/client/SSLClient/client/BSSL_Helper.h index cf451892c..6c3a37363 100644 --- a/src/client/SSLClient/client/BSSL_Helper.h +++ b/src/client/SSLClient/client/BSSL_Helper.h @@ -1,5 +1,7 @@ /* + Updated June 12, 2004. + WiFiClientBearSSL- SSL client/server for esp8266 using BearSSL libraries - Mostly compatible with Arduino WiFi shield library and standard WiFiClient/ServerSecure (except for certificate handling). @@ -173,10 +175,10 @@ namespace bssl { public: PublicKey(); - PublicKey(const char *pemKey); - PublicKey(const uint8_t *derKey, size_t derLen); - PublicKey(Stream &stream, size_t size); - PublicKey(Stream &stream) : PublicKey(stream, stream.available()){}; + explicit PublicKey(const char *pemKey); + explicit PublicKey(const uint8_t *derKey, size_t derLen); + explicit PublicKey(Stream &stream, size_t size); + explicit PublicKey(Stream &stream) : PublicKey(stream, stream.available()){}; ~PublicKey(); bool parse(const char *pemKey); @@ -203,10 +205,10 @@ namespace bssl { public: PrivateKey(); - PrivateKey(const char *pemKey); - PrivateKey(const uint8_t *derKey, size_t derLen); - PrivateKey(Stream &stream, size_t size); - PrivateKey(Stream &stream) : PrivateKey(stream, stream.available()){}; + explicit PrivateKey(const char *pemKey); + explicit PrivateKey(const uint8_t *derKey, size_t derLen); + explicit PrivateKey(Stream &stream, size_t size); + explicit PrivateKey(Stream &stream) : PrivateKey(stream, stream.available()){}; ~PrivateKey(); bool parse(const char *pemKey); @@ -236,10 +238,10 @@ namespace bssl { public: X509List(); - X509List(const char *pemCert); - X509List(const uint8_t *derCert, size_t derLen); - X509List(Stream &stream, size_t size); - X509List(Stream &stream) : X509List(stream, stream.available()){}; + explicit X509List(const char *pemCert); + explicit X509List(const uint8_t *derCert, size_t derLen); + explicit X509List(Stream &stream, size_t size); + explicit X509List(Stream &stream) : X509List(stream, stream.available()){}; ~X509List(); bool append(const char *pemCert); @@ -260,7 +262,7 @@ namespace bssl } // Disable the copy constructor, we're pointer based - X509List(const X509List &that) = delete; + explicit X509List(const X509List &that) = delete; X509List &operator=(const X509List &that) = delete; private: @@ -341,14 +343,14 @@ namespace bssl // Callback for the x509_minimal subject DN static void insecure_subject_dn_append(void *ctx, const void *buf, size_t len) { - br_x509_insecure_context *xc = (br_x509_insecure_context *)ctx; + br_x509_insecure_context *xc = reinterpret_cast(ctx); br_sha256_update(&xc->sha256_subject, buf, len); } // Callback for the x509_minimal issuer DN static void insecure_issuer_dn_append(void *ctx, const void *buf, size_t len) { - br_x509_insecure_context *xc = (br_x509_insecure_context *)ctx; + br_x509_insecure_context *xc = reinterpret_cast(ctx); br_sha256_update(&xc->sha256_issuer, buf, len); } @@ -363,18 +365,18 @@ namespace bssl // Callback for each byte stream in the chain. Only process first cert. static void insecure_append(const br_x509_class **ctx, const unsigned char *buf, size_t len) { - br_x509_insecure_context *xc = (br_x509_insecure_context *)ctx; + br_x509_insecure_context *xc = reinterpret_cast(ctx); // Don't process anything but the first certificate in the chain if (!xc->done_cert) { br_sha1_update(&xc->sha1_cert, buf, len); - br_x509_decoder_push(&xc->ctx, (const void *)buf, len); + br_x509_decoder_push(&xc->ctx, reinterpret_cast(buf), len); } } // Callback on the first byte of any certificate static void insecure_start_chain(const br_x509_class **ctx, const char *server_name) { - br_x509_insecure_context *xc = (br_x509_insecure_context *)ctx; + br_x509_insecure_context *xc = reinterpret_cast(ctx); #if defined(USE_EMBED_SSL_ENGINE) br_x509_decoder_init(&xc->ctx, insecure_subject_dn_append, xc, insecure_issuer_dn_append, xc); #elif defined(ESP32) || defined(USE_LIB_SSL_ENGINE) @@ -390,7 +392,7 @@ namespace bssl // Callback on individual cert end. static void insecure_end_cert(const br_x509_class **ctx) { - br_x509_insecure_context *xc = (br_x509_insecure_context *)ctx; + br_x509_insecure_context *xc = reinterpret_cast(ctx); xc->done_cert = true; } @@ -398,7 +400,7 @@ namespace bssl // Return 0 on validation success, !0 on validation error static unsigned insecure_end_chain(const br_x509_class **ctx) { - const br_x509_insecure_context *xc = (const br_x509_insecure_context *)ctx; + const br_x509_insecure_context *xc = reinterpret_cast(ctx); if (!xc->done_cert) { // BSSL_BSSL_SSL_Client_DEBUG_PRINTF("insecure_end_chain: No cert seen\n"); @@ -432,7 +434,7 @@ namespace bssl // Return the public key from the validator (set by x509_minimal) static const br_x509_pkey *insecure_get_pkey(const br_x509_class *const *ctx, unsigned *usages) { - const br_x509_insecure_context *xc = (const br_x509_insecure_context *)ctx; + const br_x509_insecure_context *xc = reinterpret_cast(ctx); if (usages != nullptr) { *usages = BR_KEYTYPE_KEYX | BR_KEYTYPE_SIGN; // I said we were insecure! diff --git a/src/client/SSLClient/client/BSSL_SSL_Client.cpp b/src/client/SSLClient/client/BSSL_SSL_Client.cpp index 2d976292a..a35bee847 100644 --- a/src/client/SSLClient/client/BSSL_SSL_Client.cpp +++ b/src/client/SSLClient/client/BSSL_SSL_Client.cpp @@ -1,7 +1,7 @@ /** - * BSSL_SSL_Client library v1.0.12 for Arduino devices. + * BSSL_SSL_Client library v1.0.18 for Arduino devices. * - * Created September 2, 2003 + * Created December 5, 2024 * * This work contains codes based on WiFiClientSecure from Earle F. Philhower and SSLClient from OSU OPEnS Lab. * @@ -30,7 +30,6 @@ * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ - #ifndef BSSL_SSL_CLIENT_CPP #define BSSL_SSL_CLIENT_CPP @@ -132,6 +131,9 @@ int BSSL_SSL_Client::connect(IPAddress ip, uint16_t port) if (!mConnectBasicClient(nullptr, ip, port)) return 0; + _connect_with_ip = true; + _session_ts = millis(); + return 1; } @@ -143,9 +145,28 @@ int BSSL_SSL_Client::connect(const char *host, uint16_t port) if (!mConnectBasicClient(host, IPAddress(), port)) return 0; + _connect_with_ip = false; + _session_ts = millis(); + return 1; } +#if defined(ESP32_ARDUINO_CORE_CLIENT_CONNECT_HAS_TMO) +int BSSL_SSL_Client::connect(IPAddress ip, uint16_t port, int32_t timeout) +{ + if (timeout > 0) + setTimeout(timeout); + return connect(ip, port); +} + +int BSSL_SSL_Client::connect(const char *host, uint16_t port, int32_t timeout) +{ + if (timeout > 0) + setTimeout(timeout); + return connect(host, port); +} +#endif + uint8_t BSSL_SSL_Client::connected() { if (!mIsClientInitialized(false)) @@ -276,15 +297,21 @@ size_t BSSL_SSL_Client::write(const uint8_t *buf, size_t size) if (!mIsClientInitialized(false)) return 0; + if (!mCheckSessionTimeout()) + return 0; + + _session_ts = millis(); + if (!_secure) return _basic_client->write(buf, size); - const char *func_name = __func__; #if defined(ESP_SSLCLIENT_ENABLE_DEBUG) // super debug if (_debug_level >= esp_ssl_debug_dump) ESP_SSLCLIENT_DEBUG_PORT.write(buf, size); #endif + + const char *func_name = __func__; // check if the socket is still open and such if (!mSoftConnected(func_name) || !buf || !size) return 0; @@ -350,8 +377,8 @@ size_t BSSL_SSL_Client::write(uint8_t b) size_t BSSL_SSL_Client::write_P(PGM_P buf, size_t size) { char dest[size]; - memcpy_P((void *)dest, buf, size); - return write((const uint8_t *)dest, size); + memcpy_P(reinterpret_cast(dest), buf, size); + return write(reinterpret_cast(dest), size); } size_t BSSL_SSL_Client::write(Stream &stream) @@ -440,6 +467,7 @@ int BSSL_SSL_Client::connectSSL(IPAddress ip, uint16_t port) _ip = ip; _port = port; + _connect_with_ip = true; return mConnectSSL(nullptr); } @@ -455,6 +483,7 @@ int BSSL_SSL_Client::connectSSL(const char *host, uint16_t port) _host = host; _port = port; + _connect_with_ip = false; return mConnectSSL(host); } @@ -493,10 +522,12 @@ void BSSL_SSL_Client::stop() mFreeSSL(); } -void BSSL_SSL_Client::setTimeout(unsigned int timeoutMs) { _timeout = timeoutMs; } +void BSSL_SSL_Client::setTimeout(unsigned int timeoutMs) { _timeout_ms = timeoutMs; } void BSSL_SSL_Client::setHandshakeTimeout(unsigned int timeoutMs) { _handshake_timeout = timeoutMs; } +void BSSL_SSL_Client::setSessionTimeout(uint32_t seconds) { _tcp_session_timeout = seconds; } + void BSSL_SSL_Client::flush() { if (!_secure && _basic_client) @@ -931,7 +962,7 @@ void BSSL_SSL_Client::setCertStore(CertStoreBase *certStore) // Set custom list of ciphers bool BSSL_SSL_Client::setCiphers(const uint16_t *cipherAry, int cipherCount) { - _cipher_list = (uint16_t *)mallocImpl(cipherCount); + _cipher_list = reinterpret_cast(mallocImpl(cipherCount)); if (!_cipher_list) { #if defined(ESP_SSLCLIENT_ENABLE_DEBUG) @@ -1036,7 +1067,7 @@ void BSSL_SSL_Client::setPrivateKey(const char *private_key) bool BSSL_SSL_Client::loadCACert(Stream &stream, size_t size) { bool ret = false; - auto buff = (char *)mallocImpl(size); + auto buff = reinterpret_cast(mallocImpl(size)); if (size == stream.readBytes(buff, size)) { setCACert(buff); @@ -1049,7 +1080,7 @@ bool BSSL_SSL_Client::loadCACert(Stream &stream, size_t size) bool BSSL_SSL_Client::loadCertificate(Stream &stream, size_t size) { bool ret = false; - auto buff = (char *)mallocImpl(size); + auto buff = reinterpret_cast(mallocImpl(size)); if (size == stream.readBytes(buff, size)) { setCertificate(buff); @@ -1062,7 +1093,7 @@ bool BSSL_SSL_Client::loadCertificate(Stream &stream, size_t size) bool BSSL_SSL_Client::loadPrivateKey(Stream &stream, size_t size) { bool ret = false; - auto buff = (char *)mallocImpl(size); + auto buff = reinterpret_cast(mallocImpl(size)); if (size == stream.readBytes(buff, size)) { setPrivateKey(buff); @@ -1089,8 +1120,9 @@ BSSL_SSL_Client &BSSL_SSL_Client::operator=(const BSSL_SSL_Client &other) stop(); setClient(other._basic_client); _use_insecure = other._use_insecure; - _timeout = other._timeout; + _timeout_ms = other._timeout_ms; _handshake_timeout = other._handshake_timeout; + _tcp_session_timeout = other._tcp_session_timeout; return *this; } @@ -1099,7 +1131,7 @@ bool BSSL_SSL_Client::operator==(const BSSL_SSL_Client &rhs) return _basic_client == rhs._basic_client; } -unsigned int BSSL_SSL_Client::getTimeout() const { return _timeout; } +unsigned int BSSL_SSL_Client::getTimeout() const { return _timeout_ms; } void BSSL_SSL_Client::setSecure(const char *rootCABuff, const char *cli_cert, const char *cli_key) { @@ -1184,7 +1216,7 @@ bool BSSL_SSL_Client::mProbeMaxFragmentLength(Client *probe, uint16_t len) return false; // Invalid size } int ttlLen = sizeof(clientHelloHead_P) + (2 + sizeof(suites_P)) + (sizeof(clientHelloTail_P) + 1); - uint8_t *clientHello = (uint8_t *)mallocImpl(ttlLen); + uint8_t *clientHello = reinterpret_cast(mallocImpl(ttlLen)); if (!clientHello) { #if defined(ESP_SSLCLIENT_ENABLE_DEBUG) @@ -1333,21 +1365,21 @@ bool BSSL_SSL_Client::mProbeMaxFragmentLength(Client *probe, uint16_t len) uint8_t lenBytes[2]; ret = probe->readBytes(lenBytes, 2); handLen -= 2; - uint16_t extLen = lenBytes[1] | (lenBytes[0] << 8); - if ((ret != 2) || (handLen <= 0) || (extLen > 32) || (extLen > handLen)) + uint16_t _extLen = lenBytes[1] | (lenBytes[0] << 8); + if ((ret != 2) || (handLen <= 0) || (_extLen > 32) || (_extLen > handLen)) { return send_abort(probe, supportsLen); } if ((typeBytes[0] == 0x00) && (typeBytes[1] == 0x01)) { // MFLN extension! // If present and 1-byte in length, it's supported - return send_abort(probe, extLen == 1 ? true : false); + return send_abort(probe, _extLen == 1 ? true : false); } // Skip the extension, move to next one uint8_t junk[32]; - ret = probe->readBytes(junk, extLen); - handLen -= extLen; - if (ret != extLen) + ret = probe->readBytes(junk, _extLen); + handLen -= _extLen; + if (ret != _extLen) { return send_abort(probe, supportsLen); } @@ -1453,7 +1485,7 @@ int BSSL_SSL_Client::mConnectSSL(const char *host) #else #define CRTSTORECOND #endif - if (!_use_insecure && !_use_fingerprint && !_use_self_signed && !_knownkey CRTSTORECOND && !_ta) + if (!_use_insecure && !_use_fingerprint && !_use_self_signed && !_knownkey CRTSTORECOND && !_ta && !_esp32_ta) { esp_ssl_debug_print(PSTR("Connection *will* fail, no authentication method is setup."), _debug_level, esp_ssl_debug_warn, __func__); } @@ -1462,8 +1494,8 @@ int BSSL_SSL_Client::mConnectSSL(const char *host) _sc = std::make_shared(); _eng = &_sc->eng; // Allocation/deallocation taken care of by the _sc shared_ptr - _iobuf_in = (unsigned char *)mallocImpl(_iobuf_in_size); - _iobuf_out = (unsigned char *)mallocImpl(_iobuf_out_size); + _iobuf_in = reinterpret_cast(mallocImpl(_iobuf_in_size)); + _iobuf_out = reinterpret_cast(mallocImpl(_iobuf_out_size)); if (!_sc || !_iobuf_in || !_iobuf_out) { @@ -1574,6 +1606,7 @@ int BSSL_SSL_Client::mConnectSSL(const char *host) _handshake_done = true; _is_connected = true; _secure = true; + _session_ts = millis(); // Save session if (_session) @@ -1600,6 +1633,52 @@ bool BSSL_SSL_Client::mConnectionValidate(const char *host, IPAddress ip, uint16 _basic_client->stop(); } + mCheckSessionTimeout(); + + return true; +} + +bool BSSL_SSL_Client::mCheckSessionTimeout() +{ + const char *func_name = __func__; + + if (_tcp_session_timeout >= BSSL_SSL_CLIENT_MIN_SESSION_TIMEOUT_SEC && _session_ts > 0 && millis() - _session_ts > _tcp_session_timeout * 1000) + { + if (_basic_client && _basic_client->connected()) + { +#if defined(ESP_SSLCLIENT_ENABLE_DEBUG) + esp_ssl_debug_print(PSTR("The session was timed out. Starting new server connection."), _debug_level, esp_ssl_debug_info, func_name); +#endif + int ret = 0; + if (!_secure) + { + _basic_client->flush(); + _basic_client->stop(); + + if (_connect_with_ip) + ret = connect(_ip, _port); + else + ret = connect(_host.c_str(), _port); + } + else + { + stop(); + if (_connect_with_ip) + ret = connectSSL(_ip, _port); + else + ret = connectSSL(_host.c_str(), _port); + } + + if (!ret) + { +#if defined(ESP_SSLCLIENT_ENABLE_DEBUG) + esp_ssl_debug_print(PSTR("Failed while starting new server connection."), _debug_level, esp_ssl_debug_error, func_name); +#endif + return false; + } + } + } + return true; } @@ -1785,7 +1864,7 @@ unsigned BSSL_SSL_Client::mUpdateEngine() else if (state & BR_SSL_SENDAPP) { size_t alen; - unsigned char *buf = br_ssl_engine_sendapp_buf(_eng, &alen); + const unsigned char *buf = br_ssl_engine_sendapp_buf(_eng, &alen); // engine check if (alen == 0 || buf == nullptr) { @@ -1938,7 +2017,7 @@ void BSSL_SSL_Client::mPrintSSLState(const unsigned state, int level, const char bool BSSL_SSL_Client::mIsSecurePort(uint16_t port) { - int size = *(&_secure_ports + 1) - _secure_ports; + int size = 26; for (int i = 0; i < size; i++) { if (port == _secure_ports[i]) @@ -1982,7 +2061,7 @@ void BSSL_SSL_Client::mClearAuthenticationSettings() void BSSL_SSL_Client::mClear() { - _timeout = 15000; + _timeout_ms = 15000; _sc = nullptr; _eng = nullptr; _x509_minimal = nullptr; @@ -2116,14 +2195,14 @@ void BSSL_SSL_Client::mFreeSSL() _recvapp_len = 0; // This connection is toast _handshake_done = false; - _timeout = 15000; + _timeout_ms = 15000; _secure = false; _is_connected = false; } uint8_t *BSSL_SSL_Client::mStreamLoad(Stream &stream, size_t size) { - uint8_t *dest = (uint8_t *)malloc(size + 1); + uint8_t *dest = reinterpret_cast(malloc(size + 1)); if (!dest) { return nullptr; @@ -2159,7 +2238,7 @@ void *BSSL_SSL_Client::mallocImpl(size_t len, bool clear) ESP.setExternalHeap(); #endif - p = (void *)malloc(newLen); + p = reinterpret_cast(malloc(newLen)); bool nn = p ? true : false; #if defined(ESP_SSLCLIENT_ESP8266_USE_EXTERNAL_HEAP) @@ -2178,7 +2257,7 @@ void *BSSL_SSL_Client::mallocImpl(size_t len, bool clear) // Free reserved memory at pointer. void BSSL_SSL_Client::freeImpl(void *ptr) { - void **p = (void **)ptr; + void **p = reinterpret_cast(ptr); if (*p) { free(*p); diff --git a/src/client/SSLClient/client/BSSL_SSL_Client.h b/src/client/SSLClient/client/BSSL_SSL_Client.h index 5196de1dc..9891d5987 100644 --- a/src/client/SSLClient/client/BSSL_SSL_Client.h +++ b/src/client/SSLClient/client/BSSL_SSL_Client.h @@ -1,7 +1,7 @@ /** - * BSSL_SSL_Client library v1.0.12 for Arduino devices. + * BSSL_SSL_Client library v1.0.18 for Arduino devices. * - * Created September 2, 2003 + * Created December 5, 2024 * * This work contains codes based on WiFiClientSecure from Earle F. Philhower and SSLClient from OSU OPEnS Lab. * @@ -39,6 +39,26 @@ #include #include "../ESP_SSLClient_FS.h" #include "../ESP_SSLClient_Const.h" + +#if defined(USE_EMBED_SSL_ENGINE) && !defined(ARDUINO_ARCH_RP2040) && !defined(ARDUINO_NANO_RP2040_CONNECT) +#define EMBED_SSL_ENGINE_BASE_OVERRIDE override +#else +#define EMBED_SSL_ENGINE_BASE_OVERRIDE +#endif + +#if defined(ESP_ARDUINO_VERSION) /* ESP32 core >= v2.0.x */ +#if ESP_ARDUINO_VERSION >= ESP_ARDUINO_VERSION_VAL(3, 1, 0) +#define ESP32_ARDUINO_CORE_CLIENT_CONNECT_OVERRRIDE override; +#define ESP32_ARDUINO_CORE_CLIENT_CONNECT_HAS_TMO +#else +#define ESP32_ARDUINO_CORE_CLIENT_CONNECT_OVERRRIDE +#endif +#else +#define ESP32_ARDUINO_CORE_CLIENT_CONNECT_OVERRRIDE +#endif + +#define BSSL_SSL_CLIENT_MIN_SESSION_TIMEOUT_SEC 60 + #if defined(USE_LIB_SSL_ENGINE) || defined(USE_EMBED_SSL_ENGINE) #include @@ -96,6 +116,11 @@ class BSSL_SSL_Client : public Client int connect(const char *host, uint16_t port) override; +#if defined(ESP32_ARDUINO_CORE_CLIENT_CONNECT_HAS_TMO) + int connect(IPAddress ip, uint16_t port, int32_t timeout) override; + int connect(const char *host, uint16_t port, int32_t timeout) override; +#endif + uint8_t connected() override; void validate(const char *host, uint16_t port); @@ -134,13 +159,15 @@ class BSSL_SSL_Client : public Client void setHandshakeTimeout(unsigned int timeoutMs); + void setSessionTimeout(uint32_t seconds); + void flush() override; void setBufferSizes(int recv, int xmit); - operator bool() { return connected() > 0; } + operator bool() override { return connected() > 0; } - int availableForWrite(); + int availableForWrite() override; void setSession(BearSSL_Session *session); @@ -180,11 +207,11 @@ class BSSL_SSL_Client : public Client bool probeMaxFragmentLength(const String &host, uint16_t port, uint16_t len); - size_t peekAvailable(); + size_t peekAvailable() EMBED_SSL_ENGINE_BASE_OVERRIDE; - const char *peekBuffer(); + const char *peekBuffer() EMBED_SSL_ENGINE_BASE_OVERRIDE; - void peekConsume(size_t consume); + void peekConsume(size_t consume) EMBED_SSL_ENGINE_BASE_OVERRIDE; void setCACert(const char *rootCA); @@ -240,6 +267,8 @@ class BSSL_SSL_Client : public Client bool mConnectionValidate(const char *host, IPAddress ip, uint16_t port); + bool mCheckSessionTimeout(); + int mRunUntil(const unsigned target, unsigned long timeout = 0); unsigned mUpdateEngine(); @@ -336,12 +365,16 @@ class BSSL_SSL_Client : public Client bool _oom_err = false; unsigned char *_recvapp_buf = nullptr; size_t _recvapp_len; - unsigned long _timeout = 15000; + // Renameing from _timeout which also defined in parent's Stream class. + unsigned long _timeout_ms = 15000; unsigned long _handshake_timeout = 60000; + unsigned long _tcp_session_timeout = 0; + unsigned long _session_ts = 0; bool _isSSLEnabled = false; String _host; uint16_t _port = 0; IPAddress _ip; + bool _connect_with_ip = false; }; #endif diff --git a/src/client/SSLClient/client/BSSL_TCP_Client.cpp b/src/client/SSLClient/client/BSSL_TCP_Client.cpp index f9f90075f..349dc0287 100644 --- a/src/client/SSLClient/client/BSSL_TCP_Client.cpp +++ b/src/client/SSLClient/client/BSSL_TCP_Client.cpp @@ -1,7 +1,7 @@ /** - * BSSL_TCP_Client v2.0.12 for Arduino devices. + * BSSL_TCP_Client v2.0.15 for Arduino devices. * - * Created August 27, 2023 + * Created December 5, 2024 * * The MIT License (MIT) * Copyright (c) 2023 K. Suwatchai (Mobizt) @@ -72,7 +72,6 @@ BSSL_TCP_Client::BSSL_TCP_Client() BSSL_TCP_Client::~BSSL_TCP_Client() { - stop(); setClient(nullptr); } @@ -98,10 +97,10 @@ int BSSL_TCP_Client::connect(IPAddress ip, uint16_t port, int32_t timeout) if (timeout > 0) { - _timeout = timeout; + _timeout_ms = timeout; if (_basic_client) - _basic_client->setTimeout(_timeout); - _ssl_client.setTimeout(_timeout); + _basic_client->setTimeout(_timeout_ms); + _ssl_client.setTimeout(_timeout_ms); } return _ssl_client.connect(ip, port); @@ -120,10 +119,10 @@ int BSSL_TCP_Client::connect(const char *host, uint16_t port, int32_t timeout) if (timeout > 0) { - _timeout = timeout; + _timeout_ms = timeout; if (_basic_client) - _basic_client->setTimeout(_timeout); - _ssl_client.setTimeout(_timeout); + _basic_client->setTimeout(_timeout_ms); + _ssl_client.setTimeout(_timeout_ms); } return _ssl_client.connect(host, port); @@ -167,7 +166,7 @@ int BSSL_TCP_Client::read(uint8_t *buf, size_t size) int BSSL_TCP_Client::send(const char *data) { - return write((uint8_t *)data, strlen(data)); + return write(reinterpret_cast(data), strlen(data)); } int BSSL_TCP_Client::print(const char *data) @@ -184,7 +183,7 @@ int BSSL_TCP_Client::print(int data) { char buf[64]; memset(buf, 0, 64); - sprintf(buf, (const char *)FPSTR("%d"), data); + sprintf(buf, "%d", data); int ret = send(buf); return ret; } @@ -194,7 +193,7 @@ int BSSL_TCP_Client::println(const char *data) int len = send(data); if (len < 0) return len; - int sz = send((const char *)FPSTR("\r\n")); + int sz = send("\r\n"); if (sz < 0) return sz; return len + sz; @@ -209,7 +208,7 @@ int BSSL_TCP_Client::println(int data) { char buf[64]; memset(buf, 0, 64); - sprintf(buf, (const char *)FPSTR("%d\r\n"), data); + sprintf(buf, "%d\r\n", data); int ret = send(buf); return ret; } @@ -228,7 +227,7 @@ size_t BSSL_TCP_Client::write(uint8_t data) size_t BSSL_TCP_Client::write_P(PGM_P buf, size_t size) { return _ssl_client.write_P(buf, size); } -size_t BSSL_TCP_Client::write(const char *buf) { return write((const uint8_t *)buf, strlen(buf)); } +size_t BSSL_TCP_Client::write(const char *buf) { return write(reinterpret_cast(buf), strlen(buf)); } size_t BSSL_TCP_Client::write(Stream &stream) { return _ssl_client.write(stream); } @@ -267,8 +266,8 @@ void BSSL_TCP_Client::stop() int BSSL_TCP_Client::setTimeout(uint32_t seconds) { - _timeout = seconds * 1000; - _ssl_client.setTimeout(_timeout); + _timeout_ms = seconds * 1000; + _ssl_client.setTimeout(_timeout_ms); return 1; } @@ -280,6 +279,14 @@ void BSSL_TCP_Client::setHandshakeTimeout(unsigned long handshake_timeout) _ssl_client.setHandshakeTimeout(_handshake_timeout); } +void BSSL_TCP_Client::setSessionTimeout(uint32_t seconds) +{ + if (seconds > 0 && seconds < BSSL_SSL_CLIENT_MIN_SESSION_TIMEOUT_SEC) + seconds = BSSL_SSL_CLIENT_MIN_SESSION_TIMEOUT_SEC; + _tcp_session_timeout = seconds; + _ssl_client.setSessionTimeout(seconds); +} + void BSSL_TCP_Client::flush() { if (!_basic_client) @@ -402,7 +409,7 @@ void BSSL_TCP_Client::setPrivateKey(const char *private_key) { return _ssl_clien bool BSSL_TCP_Client::loadCACert(Stream &stream, size_t size) { - char *dest = mStreamLoad(stream, size); + const char *dest = mStreamLoad(stream, size); bool ret = false; if (dest) { @@ -425,10 +432,12 @@ BSSL_TCP_Client &BSSL_TCP_Client::operator=(const BSSL_TCP_Client &other) stop(); setClient(other._basic_client); _use_insecure = other._use_insecure; - _timeout = other._timeout; + _timeout_ms = other._timeout_ms; _handshake_timeout = other._handshake_timeout; - _ssl_client.setTimeout(_timeout); + _tcp_session_timeout = other._tcp_session_timeout; + _ssl_client.setTimeout(_timeout_ms); _ssl_client.setHandshakeTimeout(_handshake_timeout); + _ssl_client.setSessionTimeout(_tcp_session_timeout); if (_use_insecure) _ssl_client.setInsecure(); return *this; @@ -436,7 +445,7 @@ BSSL_TCP_Client &BSSL_TCP_Client::operator=(const BSSL_TCP_Client &other) char *BSSL_TCP_Client::mStreamLoad(Stream &stream, size_t size) { - char *dest = (char *)malloc(size + 1); + char *dest = reinterpret_cast(malloc(size + 1)); if (!dest) { return nullptr; diff --git a/src/client/SSLClient/client/BSSL_TCP_Client.h b/src/client/SSLClient/client/BSSL_TCP_Client.h index f70dbddfb..45f232d62 100644 --- a/src/client/SSLClient/client/BSSL_TCP_Client.h +++ b/src/client/SSLClient/client/BSSL_TCP_Client.h @@ -1,7 +1,7 @@ /** - * BSSL_TCP_Client v2.0.12 for Arduino devices. + * BSSL_TCP_Client v2.0.15 for Arduino devices. * - * Created August 27, 2023 + * Created December 5, 2024 * * The MIT License (MIT) * Copyright (c) 2023 K. Suwatchai (Mobizt) @@ -66,8 +66,6 @@ class BSSL_TCP_Client : public Client bool _use_insecure; public: - BSSL_TCP_Client *next; - // The default class constructor BSSL_TCP_Client(); @@ -78,8 +76,8 @@ class BSSL_TCP_Client : public Client * Set the client. * @param client The pointer to Client interface. * @param enableSSL The ssl option; true for enable, false for disable. - * - * Due to the client pointer is assigned, to avoid dangling pointer, + * + * Due to the client pointer is assigned, to avoid dangling pointer, * client should be existed as long as it was used for transportation. */ void setClient(Client *client, bool enableSSL = true); @@ -110,7 +108,7 @@ class BSSL_TCP_Client : public Client * @param timeout The connection time out in miiliseconds. * @return 1 for success or 0 for error. */ - int connect(IPAddress ip, uint16_t port, int32_t timeout); + int connect(IPAddress ip, uint16_t port, int32_t timeout) ESP32_ARDUINO_CORE_CLIENT_CONNECT_OVERRRIDE; /** * Connect to server. @@ -127,7 +125,7 @@ class BSSL_TCP_Client : public Client * @param timeout The connection time out in miiliseconds. * @return 1 for success or 0 for error. */ - int connect(const char *host, uint16_t port, int32_t timeout); + int connect(const char *host, uint16_t port, int32_t timeout) ESP32_ARDUINO_CORE_CLIENT_CONNECT_OVERRRIDE; /** * Get TCP connection status. @@ -300,13 +298,13 @@ class BSSL_TCP_Client : public Client void stop() override; /** - * Set the TCP timeout in seconds. + * Set the TCP connection timeout in seconds. * @param seconds The TCP timeout in seconds. */ int setTimeout(uint32_t seconds); /** - * Get the TCP timeout in seconds. + * Get the TCP connection timeout in seconds. * @return The TCP timeout in seconds. */ int getTimeout(); @@ -317,6 +315,21 @@ class BSSL_TCP_Client : public Client */ void setHandshakeTimeout(unsigned long handshake_timeout); + /** + * Set the TCP session timeout in seconds. + * + * @param seconds The TCP session timeout in seconds. + * + * The minimum session timeout value is 60 seconds. + * Set 0 to disable session timed out. + * + * If There is no data to send (write) within this period, + * the current connection will be closed and reconnect. + * + * This requires when ESP32 WiFiClient was used. + */ + void setSessionTimeout(uint32_t seconds); + /** * Wait for all receive buffer data read. */ @@ -329,9 +342,9 @@ class BSSL_TCP_Client : public Client */ void setBufferSizes(int recv, int xmit); - operator bool() { return connected(); } + operator bool() override { return connected(); } - int availableForWrite(); + int availableForWrite() override; void setSession(BearSSL_Session *session); @@ -377,13 +390,13 @@ class BSSL_TCP_Client : public Client bool probeMaxFragmentLength(const String &host, uint16_t port, uint16_t len); - bool hasPeekBufferAPI() const; + bool hasPeekBufferAPI() const EMBED_SSL_ENGINE_BASE_OVERRIDE; - size_t peekAvailable(); + size_t peekAvailable() EMBED_SSL_ENGINE_BASE_OVERRIDE; - const char *peekBuffer(); + const char *peekBuffer() EMBED_SSL_ENGINE_BASE_OVERRIDE; - void peekConsume(size_t consume); + void peekConsume(size_t consume) EMBED_SSL_ENGINE_BASE_OVERRIDE; /** * Set the Root CA or CA certificate. @@ -426,8 +439,10 @@ class BSSL_TCP_Client : public Client uint16_t _port; BSSL_SSL_Client _ssl_client; Client *_basic_client = nullptr; - unsigned long _timeout = 15000; + // Renameing from _timeout which also defined in parent's Stream class. + unsigned long _timeout_ms = 15000; unsigned long _handshake_timeout = 60000; + unsigned long _tcp_session_timeout = 0; char *mStreamLoad(Stream &stream, size_t size); }; diff --git a/src/core/Firebase_Client_Version.h b/src/core/Firebase_Client_Version.h index 8914074b8..e1df2b6df 100644 --- a/src/core/Firebase_Client_Version.h +++ b/src/core/Firebase_Client_Version.h @@ -1,5 +1,5 @@ #ifndef FIREBASE_CLIENT_VERSION -#define FIREBASE_CLIENT_VERSION "4.4.14" -#define FIREBASE_CLIENT_VERSION_NUM 40414 +#define FIREBASE_CLIENT_VERSION "4.4.15" +#define FIREBASE_CLIENT_VERSION_NUM 40415 #endif \ No newline at end of file