Compare commits

...

No commits in common. "835294" and "main" have entirely different histories.
835294 ... main

97 changed files with 19427 additions and 4286 deletions

View file

@ -1,14 +0,0 @@
.DS_Store
node_modules
/build
/.svelte-kit
/package
/dist
.env
.env.*
!.env.example
# Ignore files for PNPM, NPM and YARN
pnpm-lock.yaml
package-lock.json
yarn.lock

View file

@ -1,31 +0,0 @@
/** @type { import("eslint").Linter.Config } */
module.exports = {
root: true,
extends: [
'eslint:recommended',
'plugin:@typescript-eslint/recommended',
'plugin:svelte/recommended',
'prettier'
],
parser: '@typescript-eslint/parser',
plugins: ['@typescript-eslint'],
parserOptions: {
sourceType: 'module',
ecmaVersion: 2020,
extraFileExtensions: ['.svelte']
},
env: {
browser: true,
es2017: true,
node: true
},
overrides: [
{
files: ['*.svelte'],
parser: 'svelte-eslint-parser',
parserOptions: {
parser: '@typescript-eslint/parser'
}
}
]
};

View file

@ -0,0 +1,136 @@
name: "BTClock CI"
on:
push:
tags:
- "*"
workflow_dispatch:
jobs:
build:
runs-on: docker
container:
image: ghcr.io/catthehacker/ubuntu:js-22.04
permissions:
contents: write
checks: write
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: actions/setup-node@v4
with:
node-version: lts/*
cache: yarn
cache-dependency-path: "**/yarn.lock"
- uses: actions/cache@v4
with:
path: |
~/.cache/pip
~/.platformio/.cache
~/data/node_modules
.pio
data/node_modules
key: ${{ runner.os }}-pio
- uses: actions/setup-python@v5
with:
python-version: "3.9"
cache: "pip"
- name: Get current date
id: dateAndTime
shell: bash
run: echo "dateAndTime=$(date +'%Y-%m-%d-%H:%M')" >> $GITHUB_OUTPUT
- name: Install PlatformIO Core
shell: bash
run: pip install --upgrade platformio
- name: Build BTClock firmware
shell: bash
run: pio run
- name: Build BTClock filesystem
shell: bash
run: pio run --target buildfs
- name: Copy bootloader to output folder
run: cp ~/.platformio/packages/framework-arduinoespressif32/tools/partitions/boot_app0.bin .pio
- name: Upload artifacts
uses: https://code.forgejo.org/forgejo/upload-artifact@v4
with:
include-hidden-files: true
retention-days: 1
name: prepared-outputs
path: .pio/**/*.bin
merge:
runs-on: docker
container:
image: ghcr.io/catthehacker/ubuntu:js-22.04
permissions:
contents: write
checks: write
needs: build
continue-on-error: true
strategy:
matrix:
chip:
- name: lolin_s2_mini
version: esp32s2
- name: lolin_s3_mini
version: esp32s3
- name: orangeclock
version: esp32s3
epd_variant: [213epd, 29epd]
exclude:
- chip: { name: orangeclock, version: esp32s3 }
epd_variant: 213epd
steps:
- uses: https://code.forgejo.org/forgejo/download-artifact@v4
with:
name: prepared-outputs
path: .pio
- name: Install esptools.py
run: pip install --upgrade esptool
- name: Create merged firmware binary
run: mkdir -p ${{ matrix.chip.name }}_${{ matrix.epd_variant }} && esptool.py --chip ${{ matrix.chip.version }} merge_bin -o ${{ matrix.chip.name }}_${{ matrix.epd_variant }}/${{ matrix.chip.name }}_${{ matrix.epd_variant }}.bin --flash_mode dio 0x0000 .pio/build/${{ matrix.chip.name }}_${{ matrix.epd_variant }}/bootloader.bin 0x8000 .pio/build/${{ matrix.chip.name }}_${{ matrix.epd_variant }}/partitions.bin 0xe000 .pio/boot_app0.bin 0x10000 .pio/build/${{ matrix.chip.name }}_${{ matrix.epd_variant }}/firmware.bin 0x369000 .pio/build/${{ matrix.chip.name }}_${{ matrix.epd_variant }}/littlefs.bin
- name: Create checksum for firmware
shell: bash
run: shasum -a 256 .pio/build/${{ matrix.chip.name }}_${{ matrix.epd_variant }}/firmware.bin | awk '{print $1}' > ${{ matrix.chip.name }}_${{ matrix.epd_variant }}/${{ matrix.chip.name }}_${{ matrix.epd_variant }}_firmware.bin.sha256
- name: Create checksum for merged binary
run: shasum -a 256 ${{ matrix.chip.name }}_${{ matrix.epd_variant }}/${{ matrix.chip.name }}_${{ matrix.epd_variant }}.bin | awk '{print $1}' > ${{ matrix.chip.name }}_${{ matrix.epd_variant }}/${{ matrix.chip.name }}_${{ matrix.epd_variant }}.sha256
- name: Upload artifacts
uses: https://code.forgejo.org/forgejo/upload-artifact@v4
with:
name: build-${{ matrix.chip.name }}-${{ matrix.epd_variant }}
path: |
${{ matrix.chip.name }}_${{ matrix.epd_variant }}/*.bin
${{ matrix.chip.name }}_${{ matrix.epd_variant }}/*.sha256
release:
runs-on: docker
permissions:
contents: write
checks: write
needs: merge
steps:
- name: Download matrix outputs
uses: https://code.forgejo.org/forgejo/download-artifact@v4
with:
pattern: build-*
merge-multiple: false
path: temp
- name: Copy files
run: |
mkdir -p release
find temp -type f \( -name "*.bin" -o -name "*.sha256" \) -exec cp -f {} release/ \;
- name: Create release
uses: https://code.forgejo.org/actions/forgejo-release@v2.4.0
with:
url: "https://git.btclock.dev"
repo: "${{ github.repository }}"
direction: upload
tag: "${{ github.ref_name }}"
sha: "${{ github.sha }}"
release-dir: release
token: ${{ secrets.TOKEN }}
override: ${{ github.ref_type != 'tag' && github.ref_name != 'main' }}
prerelease: ${{ github.ref_type != 'tag' && github.ref_name != 'main' }}
release-notes-assistant: false

View file

@ -0,0 +1,43 @@
name: "Install and build"
description: "Install and build"
runs:
using: "composite"
steps:
- uses: actions/setup-node@v4
with:
node-version: lts/*
cache: yarn
cache-dependency-path: '**/yarn.lock'
- uses: actions/cache@v3
with:
path: |
~/.cache/pip
~/.platformio/.cache
~/data/node_modules
key: ${{ runner.os }}-pio
- uses: actions/setup-python@v4
with:
python-version: '3.9'
- name: Get current date
id: dateAndTime
shell: bash
run: echo "dateAndTime=$(date +'%Y-%m-%d-%H:%M')" >> $GITHUB_OUTPUT
- name: Install PlatformIO Core
shell: bash
run: pip install --upgrade platformio
# - name: Run unit tests
# shell: bash
# run: mkdir -p junit-reports && pio test -e native_test_only --junit-output-path junit-reports/
# - name: Publish Test Report
# uses: mikepenz/action-junit-report@v4
# if: success() || failure() # always run even if the previous step fails
# with:
# report_paths: '**/junit-reports/*.xml'
# detailed_summary: true
- name: Build BTClock firmware
shell: bash
run: pio run
- name: Build BTClock filesystem
shell: bash
run: pio run --target buildfs

19
.github/workflows/pull_request.yml vendored Normal file
View file

@ -0,0 +1,19 @@
name: Pull Request Workflow
on:
pull_request:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
permissions:
contents: write
checks: write
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: "Install and build"
uses: ./.github/actions/install-build

96
.github/workflows/tagging.yml vendored Normal file
View file

@ -0,0 +1,96 @@
name: BTClock CI
on:
push:
tags:
- '*'
jobs:
prepare:
runs-on: ubuntu-latest
permissions:
contents: write
checks: write
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: "Install and build"
uses: ./.github/actions/install-build
- name: Copy bootloader to output folder
run: cp ~/.platformio/packages/framework-arduinoespressif32/tools/partitions/boot_app0.bin .pio
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
retention-days: 1
name: prepared-outputs
path: .pio/**/*.bin
build:
needs: prepare
continue-on-error: true
strategy:
matrix:
chip:
- name: lolin_s2_mini
version: esp32s2
- name: lolin_s3_mini
version: esp32s3
- name: orangeclock
version: esp32s3
epd_variant: [213epd, 29epd]
exclude:
- chip: orangeclock
epd_variant: 213epd
runs-on: ubuntu-latest
permissions:
contents: write
checks: write
steps:
- uses: actions/download-artifact@v4
with:
name: prepared-outputs
path: .pio
- name: Install esptools.py
run: pip install --upgrade esptool
- name: Create merged firmware binary
run: mkdir -p ${{ matrix.chip.name }}_${{ matrix.epd_variant }} && esptool.py --chip ${{ matrix.chip.version }} merge_bin -o ${{ matrix.chip.name }}_${{ matrix.epd_variant }}/${{ matrix.chip.name }}_${{ matrix.epd_variant }}.bin --flash_mode dio 0x0000 .pio/build/${{ matrix.chip.name }}_${{ matrix.epd_variant }}/bootloader.bin 0x8000 .pio/build/${{ matrix.chip.name }}_${{ matrix.epd_variant }}/partitions.bin 0xe000 .pio/boot_app0.bin 0x10000 .pio/build/${{ matrix.chip.name }}_${{ matrix.epd_variant }}/firmware.bin 0x369000 .pio/build/${{ matrix.chip.name }}_${{ matrix.epd_variant }}/littlefs.bin
- name: Create checksum for merged binary
run: shasum -a 256 ${{ matrix.chip.name }}_${{ matrix.epd_variant }}/${{ matrix.chip.name }}_${{ matrix.epd_variant }}.bin | awk '{print $1}' > ${{ matrix.chip.name }}_${{ matrix.epd_variant }}/${{ matrix.chip.name }}_${{ matrix.epd_variant }}.sha256
# - name: Write commit hash to file
# run: echo $GITHUB_SHA > ${{ matrix.chip.name }}_${{ matrix.epd_variant }}/commit.txt
# - name: Write build date to file
# run: echo "$(date -u +'%Y-%m-%dT%H:%M:%SZ')" > ${{ matrix.chip.name }}_${{ matrix.epd_variant }}/date.txt
# - name: Copy all artifacts to output folder
# run: cp .pio/build/${{ matrix.chip.name }}_${{ matrix.epd_variant }}/*.bin ~/.platformio/packages/framework-arduinoespressif32/tools/partitions/boot_app0.bin ${{ matrix.chip.name }}_${{ matrix.epd_variant }}
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: build-${{ matrix.chip.name }}-${{ matrix.epd_variant }}
path: |
${{ matrix.chip.name }}_${{ matrix.epd_variant }}/*.bin
${{ matrix.chip.name }}_${{ matrix.epd_variant }}/*.sha256
release:
runs-on: ubuntu-latest
permissions:
contents: write
checks: write
needs: build
steps:
- name: Download matrix outputs
uses: actions/download-artifact@v4
with:
pattern: build-*
merge-multiple: true
- name: Create release
uses: ncipollo/release-action@v1
with:
artifacts: "**/*.bin,**/*.sha256"
allowUpdates: true
removeArtifacts: true
makeLatest: true

View file

@ -1,130 +0,0 @@
name: WebUI CI
on: [push]
env:
PUBLIC_BASE_URL: ''
jobs:
check-changes:
runs-on: ubuntu-latest
outputs:
all_changed_and_modified_files_count: ${{ steps.changed-files.outputs.all_changed_and_modified_files_count }}
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Get changed files count
id: changed-files
uses: tj-actions/changed-files@v40.1.1
with:
files_ignore: 'doc/**,README.md,Dockerfile,.*'
files_ignore_separator: ','
- name: Print changed files count
run: >
echo "Changed files count: ${{
steps.changed-files.outputs.all_changed_and_modified_files_count }}"
build:
needs: check-changes
runs-on: ubuntu-latest
if: ${{ needs.check-changes.outputs.all_changed_and_modified_files_count >= 1 }}
permissions:
contents: write
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: actions/setup-node@v3
with:
node-version: lts/*
cache: yarn
cache-dependency-path: '**/yarn.lock'
- uses: actions/cache@v3
with:
path: |
~/.cache/pip
~/node_modules
key: ${{ runner.os }}-pio
- uses: actions/setup-python@v4
with:
python-version: '3.9'
- name: Get current date
id: dateAndTime
run: echo "dateAndTime=$(date +'%Y-%m-%d-%H:%M')" >> $GITHUB_OUTPUT
- name: Install mklittlefs
run: >
git clone https://github.com/earlephilhower/mklittlefs.git /tmp/mklittlefs &&
cd /tmp/mklittlefs &&
git submodule update --init &&
make dist
- name: Install yarn
run: yarn && yarn postinstall
- name: Run linter
run: yarn lint
# - name: Run vitest tests
# run: yarn vitest run
# - name: Install Playwright Browsers
# run: npx playwright install --with-deps
# - name: Run Playwright tests
# run: npx playwright test
- name: Build WebUI
run: yarn build
- name: Get current block
id: getBlockHeight
run: echo "blockHeight=$(curl -s https://mempool.space/api/blocks/tip/height)" >> $GITHUB_OUTPUT
- name: Write block height to file
env:
BLOCK_HEIGHT: ${{ steps.getBlockHeight.outputs.blockHeight }}
run: mkdir -p output && echo "$BLOCK_HEIGHT" > output/version.txt
- name: gzip build for LittleFS
run: find dist -type f ! -name ".*" -exec sh -c 'mkdir -p "build_gz/$(dirname "${1#dist/}")" && gzip -k "$1" -c > "build_gz/${1#dist/}".gz' _ {} \;
- name: Check GZipped directory size
run: |
# Set the threshold size in bytes
THRESHOLD=409600
# Calculate the total size of files in the directory
DIRECTORY_SIZE=$(du -b -s build_gz | awk '{print $1}')
# Fail the workflow if the size exceeds the threshold
if [ "$DIRECTORY_SIZE" -gt "$THRESHOLD" ]; then
echo "Directory size exceeds the threshold of $THRESHOLD bytes"
exit 1
else
echo "Directory size is within the threshold"
fi
- name: Create tarball
run: tar czf webui.tgz --strip-components=1 dist
- name: Build LittleFS
run: /tmp/mklittlefs/mklittlefs -c build_gz -s 409600 output/littlefs.bin
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
path: |
webui.tgz
output/littlefs.bin
- name: Create release
uses: ncipollo/release-action@v1
with:
tag: ${{ steps.getBlockHeight.outputs.blockHeight }}
commit: main
name: release-${{ steps.getBlockHeight.outputs.blockHeight }}
artifacts: 'output/littlefs.bin,webui.tgz'
allowUpdates: true
removeArtifacts: true
makeLatest: true
# - name: Pushes littlefs.bin to web flasher
# id: push_directory
# uses: cpina/github-action-push-to-another-repository@main
# env:
# SSH_DEPLOY_KEY: ${{ secrets.SSH_DEPLOY_KEY }}
# with:
# source-directory: output/
# target-directory: webui/
# destination-github-username: 'btclock'
# destination-repository-name: 'web-flasher'
# target-branch: btclock
# user-name: ${{github.actor}}
# user-email: ${{github.actor}}@users.noreply.github.com

16
.gitignore vendored
View file

@ -1,11 +1,5 @@
.DS_Store
node_modules
/build
/.svelte-kit
/package
.env
.env.*
!.env.example
vite.config.js.timestamp-*
vite.config.ts.timestamp-*
dist/
.pio
.vscode/.browse.c_cpp.db*
.vscode/c_cpp_properties.json
.vscode/launch.json
.vscode/ipch

3
.gitmodules vendored Normal file
View file

@ -0,0 +1,3 @@
[submodule "data"]
path = data
url = https://git.btclock.dev/btclock/oc-webui.git

1
.npmrc
View file

@ -1 +0,0 @@
engine-strict=true

View file

@ -1,5 +0,0 @@
# Ignore files for PNPM, NPM and YARN
pnpm-lock.yaml
package-lock.json
yarn.lock
dist/

View file

@ -1,8 +0,0 @@
{
"useTabs": true,
"singleQuote": true,
"trailingComma": "none",
"printWidth": 100,
"plugins": ["prettier-plugin-svelte"],
"overrides": [{ "files": "*.svelte", "options": { "parser": "svelte" } }]
}

10
.vscode/extensions.json vendored Normal file
View file

@ -0,0 +1,10 @@
{
// See http://go.microsoft.com/fwlink/?LinkId=827846
// for the documentation about the extensions.json format
"recommendations": [
"platformio.platformio-ide"
],
"unwantedRecommendations": [
"ms-vscode.cpptools-extension-pack"
]
}

View file

@ -1,38 +1,13 @@
# BTClock WebUI
# OrangeBTClock (working title)
[![BTClock CI](https://github.com/btclock/oc-webui/actions/workflows/workflow.yml/badge.svg)](https://github.com/btclock/oc-webui/actions/workflows/workflow.yml)
[![BTClock CI](https://github.com/btclock/OrangeBTClock/actions/workflows/tagging.yml/badge.svg)](https://github.com/btclock/OrangeBTClock/actions/workflows/tagging.yml)
The web user-interface for the OrangeBTClock, based on Svelte-kit and BTClock WebUI. It uses Bootstrap for the lay-out.
Firmware for cheap ESP32-S2/S3 hardware combined with a eInk display
## Developing
See releases for prebuilt binaries, ready to flash (e.g. with the [esphome web flasher](https://web.esphome.io/))
After installed dependencies with `yarn`, start a development server:
## Development
```bash
yarn dev
- [PlatformIO](https://platformio.org/platformio-ide).
- [Node.js](https://nodejs.org/en) and [yarn](https://yarnpkg.com/).
# or start the server and open the app in a new browser tab
yarn dev -- --open
```
## Building
To create a production version of the WebUI:
```bash
yarn build
```
Make sure the postinstall script is ran, because otherwise the filenames are to long for the LittleFS filesystem.
## Deploying
To upload the firmware to the OC, you need to GZIP all the files. You can use the python script `gzip_build.py` for that.
Then you can make a `LittleFS.bin` with mklittlefs:
```bash
mklittlefs -c build_gz -s 409600 littlefs.bin
```
You can preview the production build with `yarn preview`.

62
boards/orangeclock.json Normal file
View file

@ -0,0 +1,62 @@
{
"build": {
"arduino":{
"ldscript": "esp32s3_out.ld",
"partitions": "default_8MB.csv",
"memory_type": "qio_opi"
},
"core": "esp32",
"extra_flags": [
"-DBOARD_HAS_PSRAM",
"-DARDUINO_ORANGECLOCK",
"-DARDUINO_ESP32S3_DEV",
"-DIS_ORANGECLOCK",
"-DARDUINO_USB_MODE=0",
"-DARDUINO_RUNNING_CORE=1",
"-DARDUINO_EVENT_RUNNING_CORE=1",
"-DARDUINO_USB_CDC_ON_BOOT=1"
],
"f_cpu": "240000000L",
"f_flash": "80000000L",
"flash_mode": "qio",
"psram_type": "opi",
"espidf": {
"sdkconfig_path": "boards"
},
"hwids": [
[
"0x303A",
"0x1001"
]
],
"mcu": "esp32s3",
"variant": "esp32s3"
},
"connectivity": [
"bluetooth",
"wifi"
],
"debug": {
"default_tool": "esp-builtin",
"onboard_tools": [
"esp-builtin"
],
"openocd_target": "esp32s3.cfg"
},
"frameworks": [
"arduino",
"espidf"
],
"name": "OrangeClock",
"upload": {
"flash_size": "8MB",
"maximum_ram_size": 327680,
"maximum_size": 16777216,
"use_1200bps_touch": true,
"wait_for_upload_port": true,
"require_upload_port": true,
"speed": 460800
},
"url": "http://github.com/btclock",
"vendor": "BTClock"
}

1
data Submodule

@ -0,0 +1 @@
Subproject commit 8332fec4a1ec0045d91f063617bb441914e7b67a

39
include/README Normal file
View file

@ -0,0 +1,39 @@
This directory is intended for project header files.
A header file is a file containing C declarations and macro definitions
to be shared between several project source files. You request the use of a
header file in your project source file (C, C++, etc) located in `src` folder
by including it, with the C preprocessing directive `#include'.
```src/main.c
#include "header.h"
int main (void)
{
...
}
```
Including a header file produces the same results as copying the header file
into each source file that needs it. Such copying would be time-consuming
and error-prone. With a header file, the related declarations appear
in only one place. If they need to be changed, they can be changed in one
place, and programs that include the header file will automatically use the
new version when next recompiled. The header file eliminates the labor of
finding and changing all the copies as well as the risk that a failure to
find one copy will result in inconsistencies within a program.
In C, the usual convention is to give header files names that end with `.h'.
It is most portable to use only letters, digits, dashes, and underscores in
header file names, and at most one dot.
Read more about using header files in official GCC documentation:
* Include Syntax
* Include Operation
* Once-Only Headers
* Computed Includes
https://gcc.gnu.org/onlinedocs/cpp/Header-Files.html

46
lib/README Normal file
View file

@ -0,0 +1,46 @@
This directory is intended for project specific (private) libraries.
PlatformIO will compile them to static libraries and link into executable file.
The source code of each library should be placed in a an own separate directory
("lib/your_library_name/[here are source files]").
For example, see a structure of the following two libraries `Foo` and `Bar`:
|--lib
| |
| |--Bar
| | |--docs
| | |--examples
| | |--src
| | |- Bar.c
| | |- Bar.h
| | |- library.json (optional, custom build options, etc) https://docs.platformio.org/page/librarymanager/config.html
| |
| |--Foo
| | |- Foo.c
| | |- Foo.h
| |
| |- README --> THIS FILE
|
|- platformio.ini
|--src
|- main.c
and a contents of `src/main.c`:
```
#include <Foo.h>
#include <Bar.h>
int main (void)
{
...
}
```
PlatformIO Library Dependency Finder will find automatically dependent
libraries scanning project source files.
More information about PlatformIO Library Dependency Finder
- https://docs.platformio.org/page/librarymanager/ldf.html

View file

@ -1,49 +0,0 @@
{
"name": "orangebtclock-webui",
"version": "0.0.1",
"private": true,
"scripts": {
"dev": "vite dev",
"build": "vite build",
"preview": "vite preview",
"test": "npm run test:integration && npm run test:unit",
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
"lint": "prettier --check . && eslint .",
"format": "prettier --write .",
"postinstall": "patch-package",
"test:integration": "playwright test",
"test:unit": "vitest"
},
"devDependencies": {
"@playwright/test": "^1.28.1",
"@sveltejs/adapter-auto": "^3.0.0",
"@sveltejs/adapter-static": "^3.0.1",
"@sveltejs/kit": "^2.0.0",
"@sveltejs/vite-plugin-svelte": "^3.0.0",
"@types/eslint": "^8.56.0",
"@typescript-eslint/eslint-plugin": "^7.0.0",
"@typescript-eslint/parser": "^7.0.0",
"eslint": "^8.56.0",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-svelte": "^2.35.1",
"patch-package": "^8.0.0",
"prettier": "^3.1.1",
"prettier-plugin-svelte": "^3.1.2",
"sass": "^1.72.0",
"svelte": "^4.2.7",
"svelte-check": "^3.6.0",
"tslib": "^2.4.1",
"typescript": "^5.0.0",
"vite": "^5.0.3",
"vitest": "^1.2.0"
},
"type": "module",
"dependencies": {
"@fontsource/libre-franklin": "^5.0.17",
"bootstrap": "^5.3.3",
"date-fns": "^3.5.0",
"svelte-i18n": "^4.0.0",
"sveltestrap": "^5.11.3"
}
}

7
partition.csv Normal file
View file

@ -0,0 +1,7 @@
# Name, Type, SubType, Offset, Size, Flags
nvs, data, nvs, 36K, 20K,
otadata, data, ota, 56K, 8K,
app0, app, ota_0, 64K, 1700K,
app1, app, ota_1, , 1700K,
spiffs, data, spiffs, , 400K,
coredump, data, coredump,, 64K,
1 # Name Type SubType Offset Size Flags
2 nvs data nvs 36K 20K
3 otadata data ota 56K 8K
4 app0 app ota_0 64K 1700K
5 app1 app ota_1 1700K
6 spiffs data spiffs 400K
7 coredump data coredump 64K

View file

@ -1,13 +0,0 @@
diff --git a/node_modules/@sveltejs/kit/src/exports/vite/index.js b/node_modules/@sveltejs/kit/src/exports/vite/index.js
index e80fb78..4536af4 100644
--- a/node_modules/@sveltejs/kit/src/exports/vite/index.js
+++ b/node_modules/@sveltejs/kit/src/exports/vite/index.js
@@ -637,7 +637,7 @@ async function kit({ svelte_config }) {
format: 'esm',
entryFileNames: ssr ? '[name].js' : `${prefix}/[name].[hash].${ext}`,
chunkFileNames: ssr ? 'chunks/[name].js' : `${prefix}/chunks/[name].[hash].${ext}`,
- assetFileNames: `${prefix}/assets/[name].[hash][extname]`,
+ assetFileNames: `${prefix}/assets/[hash][extname]`,
hoistTransitiveImports: false,
sourcemapIgnoreList
},

74
platformio.ini Normal file
View file

@ -0,0 +1,74 @@
; PlatformIO Project Configuration File
;
; Build options: build flags, source filter
; Upload options: custom upload port, speed and extra flags
; Library options: dependencies, extra library storages tl
; Advanced options: extra scripting
;
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html
[platformio]
data_dir = data/build_gz
default_envs = lolin_s2_mini_213epd, lolin_s2_mini_29epd, lolin_s3_mini_213epd, lolin_s3_mini_29epd, orangeclock_29epd
[btclock_base]
platform = espressif32
framework = arduino
platform_packages = platformio/framework-arduinoespressif32
monitor_speed = 115200
monitor_filters = esp32_exception_decoder, colorize
board_build.filesystem = littlefs
board_build.partitions = partition.csv
extra_scripts = post:scripts/extra_script.py
build_flags =
!python scripts/git_rev.py
-DLAST_BUILD_TIME=$UNIX_TIME
lib_deps =
zinggjm/GxEPD2@^1.6.1
https://github.com/tzapu/WiFiManager.git#v2.0.17
bblanchon/ArduinoJson@^7.2.1
mathieucarbou/ESP Async WebServer@^3.0.6
fastled/FastLED@^3.9.6
[env:lolin_s2_mini]
extends = btclock_base
board = lolin_s2_mini
[env:lolin_s3_mini]
extends = btclock_base
board = lolin_s3_mini
[env:lolin_s2_mini_213epd]
extends = env:lolin_s2_mini
build_flags =
${btclock_base.build_flags}
-D VERSION_EPD_2_13
[env:lolin_s2_mini_29epd]
extends = env:lolin_s2_mini
build_flags =
${btclock_base.build_flags}
-D VERSION_EPD_2_9
[env:lolin_s3_mini_213epd]
extends = env:lolin_s3_mini
build_flags =
${btclock_base.build_flags}
-D VERSION_EPD_2_13
[env:lolin_s3_mini_29epd]
extends = env:lolin_s3_mini
build_flags =
${btclock_base.build_flags}
-D VERSION_EPD_2_9
[env:orangeclock_29epd]
extends = btclock_base
board = orangeclock
build_flags =
${btclock_base.build_flags}
-D VERSION_EPD_2_9
-D IS_ORANGECLOCK
-D BUTTON_PIN=45
-D NUM_LEDS=2

View file

@ -1,12 +0,0 @@
import type { PlaywrightTestConfig } from '@playwright/test';
const config: PlaywrightTestConfig = {
webServer: {
command: 'npm run build && npm run preview',
port: 4173
},
testDir: 'tests',
testMatch: /(.+\.)?(test|spec)\.[jt]s/
};
export default config;

38
scripts/extra_script.py Normal file
View file

@ -0,0 +1,38 @@
Import("env")
import os
import gzip
from shutil import copyfileobj, rmtree
from pathlib import Path
def gzip_file(input_file, output_file):
with open(input_file, 'rb') as f_in:
with gzip.open(output_file, 'wb') as f_out:
copyfileobj(f_in, f_out)
def process_directory(input_dir, output_dir):
if os.path.exists(output_dir):
rmtree(output_dir)
for root, dirs, files in os.walk(input_dir):
relative_path = os.path.relpath(root, input_dir)
output_root = os.path.join(output_dir, relative_path)
Path(output_root).mkdir(parents=True, exist_ok=True)
for file in files:
# if file.endswith(('.html', '.css', '.js')):
input_file_path = os.path.join(root, file)
output_file_path = os.path.join(output_root, file + '.gz')
gzip_file(input_file_path, output_file_path)
print(f'Compressed: {input_file_path} -> {output_file_path}')
# Build web interface before building FS
def before_buildfs(source, target, env):
env.Execute("cd data && yarn && yarn postinstall && yarn build")
input_directory = 'data/dist'
output_directory = 'data/build_gz'
process_directory(input_directory, output_directory)
os.environ["PUBLIC_BASE_URL"] = ""
env.AddPreAction("$BUILD_DIR/littlefs.bin", before_buildfs)

8
scripts/git_rev.py Normal file
View file

@ -0,0 +1,8 @@
import subprocess
revision = (
subprocess.check_output(["git", "rev-parse", "HEAD"])
.strip()
.decode("utf-8")
)
print("'-DGIT_REV=\"%s\"'" % revision)

13
src/app.d.ts vendored
View file

@ -1,13 +0,0 @@
// See https://kit.svelte.dev/docs/types#app
// for information about these interfaces
declare global {
namespace App {
// interface Error {}
// interface Locals {}
// interface PageData {}
// interface PageState {}
// interface Platform {}
}
}
export {};

View file

@ -1,47 +0,0 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link
href="/assets/favicon/favicon.ico"
type="image/x-icon"
rel="icon"
media="(prefers-color-scheme: light)"
/>
<link
href="/assets/favicon-dark/favicon.ico"
type="image/x-icon"
rel="icon"
media="(prefers-color-scheme: dark)"
/>
<link
href="/assets/favicon/favicon.png"
type="image/png"
rel="icon"
media="(prefers-color-scheme: light)"
/>
<link
href="/assets/favicon-dark/favicon.png"
type="image/png"
rel="icon"
media="(prefers-color-scheme: dark)"
/>
<link
href="/assets/favicon/favicon.svg"
type="image/svg+xml"
rel="icon"
media="(prefers-color-scheme: light)"
/>
<link
href="/assets/favicon-dark/favicon.svg"
type="image/svg+xml"
rel="icon"
media="(prefers-color-scheme: dark)"
/>
%sveltekit.head%
</head>
<body data-sveltekit-preload-data="hover">
<div style="display: contents">%sveltekit.body%</div>
</body>
</html>

81
src/bitmap.hpp Normal file
View file

@ -0,0 +1,81 @@
#pragma once
#include <pgmspace.h>
// 'oclogo', 250x37px
const unsigned char epd_bitmap_oclogo [] PROGMEM = {
0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x07, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x1f, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x7f, 0xc3, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xfc, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x01, 0xf0, 0x0c, 0x0f, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x03, 0xe3, 0x9c, 0x07, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x07, 0xc7, 0x9c, 0x03, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x03, 0xf0, 0x00, 0x00,
0x0f, 0x8f, 0x9c, 0x01, 0xe0, 0x00, 0x07, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x03, 0xf0, 0x00, 0x00,
0x0f, 0x07, 0x9c, 0x00, 0xf0, 0x00, 0x1f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xc0, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x03, 0xf0, 0x00, 0x00,
0x1e, 0x63, 0x9c, 0x00, 0x78, 0x00, 0x7f, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xf0, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x03, 0xf0, 0x00, 0x00,
0x1e, 0x71, 0x9c, 0x00, 0x78, 0x00, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xf8, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x03, 0xf0, 0x00, 0x00,
0x3c, 0xf8, 0x9c, 0x00, 0x38, 0x01, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xf8, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x03, 0xf0, 0x00, 0x00,
0x3c, 0xfc, 0x1c, 0x00, 0x3c, 0x01, 0xfc, 0x1f, 0xe1, 0xf3, 0xc3, 0xfc, 0x03, 0xe7, 0xe0, 0x03,
0xf3, 0xe0, 0x1f, 0xc0, 0x3f, 0xc1, 0xf0, 0xf8, 0x07, 0xf0, 0x00, 0x7f, 0x03, 0xf0, 0x7e, 0x00,
0x39, 0xfe, 0x1c, 0x00, 0x1c, 0x03, 0xf8, 0x07, 0xe1, 0xff, 0xdf, 0xff, 0x03, 0xff, 0xf0, 0x0f,
0xff, 0xe0, 0x7f, 0xf0, 0x3f, 0x80, 0x40, 0xf8, 0x1f, 0xfc, 0x01, 0xff, 0xc3, 0xf0, 0xfe, 0x00,
0x39, 0xff, 0x1c, 0x00, 0x1c, 0x03, 0xf0, 0x07, 0xf1, 0xff, 0xdf, 0xff, 0x83, 0xff, 0xf8, 0x1f,
0xff, 0xe0, 0xff, 0xf8, 0x3f, 0x00, 0x00, 0xf8, 0x3f, 0xff, 0x03, 0xff, 0xe3, 0xf1, 0xfc, 0x00,
0x39, 0xff, 0x9c, 0x00, 0x1c, 0x03, 0xf0, 0x03, 0xf1, 0xff, 0xcf, 0xff, 0x83, 0xff, 0xfc, 0x3f,
0xff, 0xe1, 0xff, 0xfc, 0x7e, 0x00, 0x00, 0xf8, 0x7f, 0xff, 0x07, 0xff, 0xf3, 0xf3, 0xf8, 0x00,
0x78, 0x00, 0x1c, 0x00, 0x1c, 0x07, 0xe0, 0x03, 0xf1, 0xff, 0xce, 0x1f, 0xc3, 0xff, 0xfc, 0x3f,
0x8f, 0xe1, 0xf8, 0x7e, 0x7e, 0x00, 0x00, 0xf8, 0x7f, 0x3f, 0x8f, 0xe3, 0xe3, 0xf7, 0xf0, 0x00,
0x78, 0x00, 0x1e, 0x00, 0x1c, 0x07, 0xe0, 0x03, 0xf1, 0xfc, 0x00, 0x0f, 0xc3, 0xf0, 0xfc, 0x7f,
0x07, 0xe3, 0xf0, 0x3e, 0x7e, 0x00, 0x00, 0xf8, 0xfc, 0x1f, 0x8f, 0xc1, 0xc3, 0xff, 0xe0, 0x00,
0x78, 0x00, 0x1f, 0x00, 0x1c, 0x07, 0xe0, 0x03, 0xf1, 0xf8, 0x00, 0x0f, 0xc3, 0xe0, 0x7c, 0x7e,
0x03, 0xe3, 0xf0, 0x3e, 0x7e, 0x00, 0x00, 0xf8, 0xfc, 0x0f, 0xcf, 0x80, 0x03, 0xff, 0xc0, 0x00,
0x39, 0xff, 0x0f, 0x80, 0x1c, 0x07, 0xe0, 0x03, 0xf1, 0xf8, 0x07, 0xff, 0xc3, 0xe0, 0x7e, 0x7e,
0x03, 0xe3, 0xff, 0xfe, 0x7e, 0x00, 0x00, 0xf8, 0xfc, 0x0f, 0xdf, 0x80, 0x03, 0xff, 0xc0, 0x00,
0x39, 0xff, 0x07, 0xc0, 0x1c, 0x03, 0xf0, 0x03, 0xf1, 0xf8, 0x1f, 0xff, 0xc3, 0xe0, 0x7e, 0x7e,
0x03, 0xe3, 0xff, 0xfe, 0x7f, 0x00, 0x00, 0xf8, 0xf8, 0x0f, 0xdf, 0x80, 0x03, 0xff, 0xe0, 0x00,
0x39, 0xfe, 0x23, 0xe0, 0x1c, 0x03, 0xf0, 0x07, 0xf1, 0xf8, 0x1f, 0xff, 0xc3, 0xe0, 0x7e, 0x7f,
0x07, 0xe3, 0xf0, 0x00, 0x3f, 0x00, 0x40, 0xf8, 0xfc, 0x0f, 0xcf, 0x80, 0x03, 0xff, 0xe0, 0x00,
0x3c, 0xfc, 0x61, 0xf0, 0x3c, 0x03, 0xf8, 0x0f, 0xe1, 0xf8, 0x3f, 0x0f, 0xc3, 0xe0, 0x7e, 0x3f,
0x8f, 0xe3, 0xf0, 0x00, 0x3f, 0x80, 0xe0, 0xf8, 0xfc, 0x1f, 0x8f, 0xc1, 0x83, 0xff, 0xf0, 0x00,
0x3c, 0xf8, 0xe0, 0xf8, 0x38, 0x01, 0xff, 0x3f, 0xe1, 0xf8, 0x3f, 0x0f, 0xc3, 0xe0, 0x7e, 0x3f,
0xff, 0xe1, 0xf8, 0x30, 0x1f, 0xe3, 0xf0, 0xf8, 0x7e, 0x3f, 0x8f, 0xe3, 0xe3, 0xf3, 0xf8, 0x00,
0x1e, 0x71, 0xe4, 0x7c, 0x78, 0x00, 0xff, 0xff, 0xc1, 0xf8, 0x3f, 0x1f, 0xc3, 0xe0, 0x7e, 0x1f,
0xff, 0xe1, 0xff, 0xf8, 0x1f, 0xff, 0xf8, 0xf8, 0x7f, 0xff, 0x87, 0xff, 0xf3, 0xf1, 0xfc, 0x00,
0x1e, 0x43, 0xe6, 0x3c, 0x78, 0x00, 0x7f, 0xff, 0x81, 0xf8, 0x1f, 0xff, 0xc3, 0xe0, 0x7e, 0x0f,
0xff, 0xe0, 0xff, 0xfc, 0x0f, 0xff, 0xf0, 0xf8, 0x3f, 0xff, 0x03, 0xff, 0xe3, 0xf0, 0xfe, 0x00,
0x0f, 0x07, 0xe7, 0x1c, 0xf0, 0x00, 0x3f, 0xff, 0x01, 0xf8, 0x1f, 0xff, 0xc3, 0xe0, 0x7e, 0x03,
0xf3, 0xe0, 0x7f, 0xf8, 0x03, 0xff, 0xe0, 0xf8, 0x1f, 0xfe, 0x01, 0xff, 0xc3, 0xf0, 0x7e, 0x00,
0x0f, 0x8f, 0xe7, 0x81, 0xe0, 0x00, 0x0f, 0xfc, 0x01, 0xf8, 0x07, 0xe7, 0xc3, 0xe0, 0x7e, 0x00,
0x03, 0xe0, 0x1f, 0xf0, 0x01, 0xff, 0x80, 0xf8, 0x07, 0xf8, 0x00, 0x7f, 0x83, 0xf0, 0x7f, 0x00,
0x07, 0xc7, 0xe7, 0xe3, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
0x07, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x03, 0xe3, 0xe7, 0x87, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f,
0x1f, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x01, 0xf0, 0x00, 0x0f, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f,
0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xfc, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f,
0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x7f, 0xc3, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f,
0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x1f, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03,
0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x07, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};

347
src/config.cpp Normal file
View file

@ -0,0 +1,347 @@
#include "config.hpp"
Preferences preferences;
const char *ntpServer = "pool.ntp.org";
// const long gmtOffset_sec = 0;
const int daylightOffset_sec = 3600;
TaskHandle_t OTAHandle = NULL;
SemaphoreHandle_t xButtonSemaphore = NULL;
const TickType_t debounceDelay = pdMS_TO_TICKS(500);
TickType_t lastButtonPressTime = 0;
#define STA_SSID ""
#define STA_PASS ""
bool isUpdating = false;
void setupTime()
{
configTime(preferences.getInt(SETTING_TIME_OFFSET_MIN), daylightOffset_sec, ntpServer);
}
void setupPreferences()
{
preferences.begin("btclock", false);
if (!preferences.isKey(SETTING_ROW1_CONTENT))
{
preferences.putUInt(SETTING_ROW1_CONTENT, LINE_BLOCKHEIGHT);
}
if (!preferences.isKey(SETTING_ROW2_CONTENT))
{
preferences.putUInt(SETTING_ROW2_CONTENT, LINE_SATSPERUNIT);
}
if (!preferences.isKey(SETTING_ROW3_CONTENT))
{
preferences.putUInt(SETTING_ROW3_CONTENT, LINE_MEMPOOL_FEES);
}
if (!preferences.isKey(SETTING_CURRENCY))
{
preferences.putString(SETTING_CURRENCY, CURRENCY_USD);
}
if (!preferences.isKey(SETTING_HOSTNAME_PREFIX))
{
preferences.putString(SETTING_HOSTNAME_PREFIX, "oc");
}
if (!preferences.isKey(SETTING_MEMPOOL_INSTANCE))
{
preferences.putString(SETTING_MEMPOOL_INSTANCE, "https://mempool.space");
}
if (!preferences.isKey(SETTING_TIME_FORMAT))
{
preferences.putString(SETTING_TIME_FORMAT, "%H:%M:%S");
}
if (!preferences.isKey(SETTING_DATE_FORMAT))
{
preferences.putString(SETTING_DATE_FORMAT, "%d-%m-%Y");
}
if (!preferences.isKey(SETTING_DECIMAL_SEPARATOR))
{
preferences.putChar(SETTING_DECIMAL_SEPARATOR, '.');
}
if (!preferences.isKey(SETTING_POWER_SAVE_MODE))
{
preferences.putBool(SETTING_POWER_SAVE_MODE, false);
}
if (!preferences.isKey(SETTING_TIME_OFFSET_MIN))
{
preferences.putInt(SETTING_TIME_OFFSET_MIN, 0);
}
}
void setupWifi()
{
uint8_t mac[6];
WiFi.macAddress(mac);
unsigned long seed = 0;
for (int i = 0; i < 6; i++)
{
seed += (unsigned long)mac[i] << ((i & 1) * 8);
}
randomSeed(seed);
// WiFi.begin(, ");
WiFi.setAutoReconnect(true);
WiFiManager wm;
#ifndef ARDUINO_ORANGECLOCK
// Touch pin 14 to reset
if (touchRead(14) > 9000)
{
for (uint i = 0; i < 5; i++)
{
digitalWrite(LED_BUILTIN, LOW);
delay(200);
digitalWrite(LED_BUILTIN, HIGH);
delay(200);
}
if (touchRead(14) > 9000)
{
wm.resetSettings();
}
}
#endif
String softAP_SSID =
String("OrangeBTClock");
WiFi.setHostname(softAP_SSID.c_str());
String softAP_password = getAPPassword();
// wm.setConfigPortalTimeout(preferences.getUInt("wpTimeout", 600));
wm.setWiFiAutoReconnect(false);
wm.setDebugOutput(false);
wm.setConfigPortalBlocking(true);
wm.setAPCallback([&](WiFiManager *wifiManager)
{
Serial.printf("Entered config mode:ip=%s, ssid='%s', pass='%s'\n",
WiFi.softAPIP().toString().c_str(),
wifiManager->getConfigPortalSSID().c_str(),
softAP_password.c_str());
// delay(6000);
const String qrText = "qrWIFI:S:" + wifiManager->getConfigPortalSSID() +
";T:WPA;P:" + softAP_password.c_str() + ";;";
const String explainText = "SSID: " +
wifiManager->getConfigPortalSSID() +
"\r\nPassword: " + softAP_password;
showSetupText(explainText);
// setEpdContent(epdContent);
});
wm.setSaveConfigCallback([]()
{
preferences.putBool("wifiConfigured", true);
delay(1000);
// just restart after succes
ESP.restart(); });
bool ac = wm.autoConnect(softAP_SSID.c_str(), softAP_password.c_str());
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
epdShowIp();
// WiFi.setTxPower(WIFI_POWER_8_5dBm);
// enableWiFi();
}
void setModemSleep()
{
digitalWrite(LED_BUILTIN, LOW);
WiFi.setSleep(true);
if (!setCpuFrequencyMhz(80))
{
Serial.println("Not valid frequency!");
}
// Use this if 40Mhz is not supported
// setCpuFrequencyMhz(80);
}
void wakeModemSleep()
{
setCpuFrequencyMhz(240);
enableWiFi();
digitalWrite(LED_BUILTIN, HIGH);
}
void enableWiFi()
{
delay(200);
WiFi.disconnect(false); // Reconnect the network
WiFi.mode(WIFI_STA); // Switch WiFi off
delay(200);
Serial.println("START WIFI");
WiFi.begin(STA_SSID, STA_PASS);
while (WiFi.status() != WL_CONNECTED)
{
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
}
void disableWiFi()
{
WiFi.disconnect(true); // Disconnect from the network
WiFi.mode(WIFI_OFF); // Switch WiFi off
Serial.println("");
Serial.println("WiFi disconnected!");
}
bool inPowerSaveMode()
{
return preferences.getBool("powerSaveMode", false);
}
void setupOTA()
{
ArduinoOTA
.onStart([]()
{
String type;
if (ArduinoOTA.getCommand() == U_FLASH)
type = "sketch";
else // U_SPIFFS
type = "filesystem";
// NOTE: if updating SPIFFS this would be the place to unmount SPIFFS using SPIFFS.end()
Serial.println("Start updating " + type);
showSetupText("Updating...");
isUpdating = true; })
.onEnd([]()
{ Serial.println("\nEnd"); })
.onProgress([](unsigned int progress, unsigned int total)
{ Serial.printf("Progress: %u%%\r", (progress / (total / 100))); })
.onError([](ota_error_t error)
{
Serial.printf("Error[%u]: ", error);
if (error == OTA_AUTH_ERROR) Serial.println("Auth Failed");
else if (error == OTA_BEGIN_ERROR) Serial.println("Begin Failed");
else if (error == OTA_CONNECT_ERROR) Serial.println("Connect Failed");
else if (error == OTA_RECEIVE_ERROR) Serial.println("Receive Failed");
else if (error == OTA_END_ERROR) Serial.println("End Failed"); });
ArduinoOTA.begin();
xTaskCreatePinnedToCore(
OTAUpdateTask, // Task function
"OTAUpdateTask", // Task name
4096, // Stack size
NULL, // Task parameters
1, // Priority (higher value means higher priority)
&OTAHandle, // Task handle
0 // Core to run the task (0 or 1)
);
}
void OTAUpdateTask(void *pvParameters)
{
for (;;)
{
ArduinoOTA.handle(); // Handle OTA updates
vTaskDelay(1000 / portTICK_PERIOD_MS); // Delay to avoid high CPU usage
}
}
void HandleButtonTask(void *pvParameters)
{
for (;;)
{
if (xSemaphoreTake(xButtonSemaphore, portMAX_DELAY) == pdTRUE)
{
TickType_t currentTime = xTaskGetTickCount();
if ((currentTime - lastButtonPressTime) >= debounceDelay)
{
lastButtonPressTime = currentTime;
Serial.println("Button Pressed");
#ifdef NUM_LEDS
leds[0] = CRGB::SkyBlue;
leds[1] = CRGB::Black;
FastLED.show();
vTaskDelay(100);
leds[0] = CRGB::Black;
leds[1] = CRGB::DarkOrange;
FastLED.show();
vTaskDelay(100);
leds[0] = CRGB::Black;
leds[1] = CRGB::Black;
FastLED.show();
#endif
}
}
}
}
char getCurrencyIcon()
{
char ret;
String currency = preferences.getString(SETTING_CURRENCY);
if (currency.equals(CURRENCY_USD))
{
ret = ICON_DOLLAR;
}
else if (currency.equals(CURRENCY_EUR))
{
ret = ICON_EURO;
}
else if (currency.equals(CURRENCY_GBP))
{
ret = ICON_POUND;
}
else if (currency.equals(CURRENCY_JPY))
{
ret = ICON_YEN;
}
return ret;
}
void IRAM_ATTR onButtonPress()
{
xSemaphoreGiveFromISR(xButtonSemaphore, NULL);
}
void setupButtonISR()
{
xButtonSemaphore = xSemaphoreCreateBinary();
xTaskCreatePinnedToCore(
HandleButtonTask, // Task function
"Button Task", // Task name
2048, // Stack size (bytes)
NULL, // Task parameters
1, // Priority (1 is default)
NULL, // Task handle
0); // Core to run the task (0 or 1)
}

25
src/config.hpp Normal file
View file

@ -0,0 +1,25 @@
#pragma once
#include <Arduino.h>
#include <Preferences.h>
#include "shared.hpp"
#include <WiFiManager.h>
#include <base64.h>
#include "epd.hpp"
#include <ArduinoOTA.h>
void enableWiFi();
void disableWiFi();
void setupTime();
void setupPreferences();
void setupWifi();
void setupOTA();
void OTAUpdateTask(void *pvParameters);
void wakeModemSleep();
void setModemSleep();
bool inPowerSaveMode();
char getCurrencyIcon();
void IRAM_ATTR onButtonPress();
void setupButtonISR();

209
src/data.cpp Normal file
View file

@ -0,0 +1,209 @@
#include "data.hpp"
//const String mempoolInstance = "https://mempool.space";
const String mempoolPriceApi = "/api/v1/prices";
const String mempoolBlockApi = "/api/blocks/tip/height";
const String mempoolFeeApi = "/api/v1/fees/recommended";
const String mempoolMedianFeeApi = "/api/v1/fees/mempool-blocks";
uint lastPrice;
uint lastBlock;
uint getPrice()
{
HTTPClient http;
// Send HTTP request to CoinGecko API
http.begin(preferences.getString(SETTING_MEMPOOL_INSTANCE) + mempoolPriceApi);
int httpCode = http.GET();
// Parse JSON response and extract average price
uint usdPrice, eurPrice;
if (httpCode == 200)
{
String payload = http.getString();
JsonDocument doc;
deserializeJson(doc, payload);
lastPrice = doc[preferences.getString(SETTING_CURRENCY)].as<uint>();
return lastPrice;
}
else
{
Serial.printf("HTTP GET request price failed with error: %s\n", http.errorToString(httpCode).c_str());
}
http.end();
return 0;
}
uint getBlock()
{
HTTPClient http;
// Send HTTP request to CoinGecko API
http.begin(preferences.getString(SETTING_MEMPOOL_INSTANCE) + mempoolBlockApi);
int httpCode = http.GET();
// Parse JSON response and extract average price
uint usdPrice, eurPrice;
if (httpCode == 200)
{
uint payload = http.getString().toInt();
lastBlock = payload;
return lastBlock;
}
else
{
Serial.printf("HTTP GET request mempool block failed with error: %s\n", http.errorToString(httpCode).c_str());
}
http.end();
return 0;
}
String getMempoolFees()
{
HTTPClient http;
// Send HTTP request to CoinGecko API
http.begin(preferences.getString(SETTING_MEMPOOL_INSTANCE) + mempoolFeeApi);
int httpCode = http.GET();
if (httpCode == 200)
{
char feeString[20];
String payload = http.getString();
JsonDocument doc;
deserializeJson(doc, payload);
snprintf(feeString, 20, "L: %d M: %d H: %d", doc["hourFee"].as<uint>(), doc["halfHourFee"].as<uint>(), doc["fastestFee"].as<uint>());
return feeString;
// preferences.putUInt("lastPrice", eurPrice);
}
else
{
Serial.printf("HTTP GET request mempool fees failed with error: %s\n", http.errorToString(httpCode).c_str());
}
http.end();
return "";
}
uint getMempoolFeesMedian()
{
HTTPClient http;
// Send HTTP request to CoinGecko API
http.begin(preferences.getString(SETTING_MEMPOOL_INSTANCE) + mempoolMedianFeeApi);
int httpCode = http.GET();
if (httpCode == 200)
{
char feeString[20];
String payload = http.getString();
JsonDocument doc;
deserializeJson(doc, payload);
snprintf(feeString, 20, "L: %d M: %d H: %d", doc["hourFee"].as<uint>(), doc["halfHourFee"].as<uint>(), doc["fastestFee"].as<uint>());
return round(doc[0]["medianFee"].as<double>());
// preferences.putUInt("lastPrice", eurPrice);
}
else
{
Serial.printf("HTTP GET request mempool median fees failed with error: %s\n", http.errorToString(httpCode).c_str());
}
http.end();
return 0;
}
double getSupplyAtBlock(std::uint32_t blockNr)
{
if (blockNr >= 33 * 210000)
{
return 20999999.9769;
}
const int initialBlockReward = 50; // Initial block reward
const int halvingInterval = 210000; // Number of blocks before halving
int halvingCount = blockNr / halvingInterval;
double totalBitcoinInCirculation = 0;
for (int i = 0; i < halvingCount; ++i)
{
totalBitcoinInCirculation += halvingInterval * initialBlockReward * std::pow(0.5, i);
}
totalBitcoinInCirculation += (blockNr % halvingInterval) * initialBlockReward * std::pow(0.5, halvingCount);
return totalBitcoinInCirculation;
}
String formatNumberWithSuffix(std::uint64_t num, int numCharacters)
{
static char result[20]; // Adjust size as needed
const long long quadrillion = 1000000000000000LL;
const long long trillion = 1000000000000LL;
const long long billion = 1000000000;
const long long million = 1000000;
const long long thousand = 1000;
double numDouble = (double)num;
int numDigits = (int)log10(num) + 1;
char suffix;
if (num >= quadrillion || numDigits > 15)
{
numDouble /= quadrillion;
suffix = 'Q';
}
else if (num >= trillion || numDigits > 12)
{
numDouble /= trillion;
suffix = 'T';
}
else if (num >= billion || numDigits > 9)
{
numDouble /= billion;
suffix = 'B';
}
else if (num >= million || numDigits > 6)
{
numDouble /= million;
suffix = 'M';
}
else if (num >= thousand || numDigits > 3)
{
numDouble /= thousand;
suffix = 'K';
}
else
{
sprintf(result, "%llu", (unsigned long long)num);
return result;
}
// Add suffix
int len = snprintf(result, sizeof(result), "%.0f%c", numDouble, suffix);
// If there's room, add decimal places
if (len < numCharacters)
{
snprintf(result, sizeof(result), "%.*f%c", numCharacters - len - 1, numDouble, suffix);
}
return result;
}

15
src/data.hpp Normal file
View file

@ -0,0 +1,15 @@
#include <Arduino.h>
#include <HTTPClient.h>
#include <ArduinoJson.h>
#include <pgmspace.h>
#include <cstring>
#include "config.hpp"
#include "shared.hpp"
uint getPrice();
uint getBlock();
String getMempoolFees();
uint getMempoolFeesMedian();
double getSupplyAtBlock(std::uint32_t blockNr);
String formatNumberWithSuffix(std::uint64_t num, int numCharacters);

349
src/epd.cpp Normal file
View file

@ -0,0 +1,349 @@
#include "epd.hpp"
int row1 = 0;
int row2 = 36;
int row3 = 36 + 54;
String currentRow1 = "";
String currentRow2 = "";
String currentRow3 = "";
char currentIcon1;
char currentIcon2;
char currentIcon3;
void setupDisplay()
{
display.init(0, true);
display.setRotation(1);
display.clearScreen();
display.setRotation(1);
display.setFont(&Antonio_SemiBold20pt7b);
display.setTextColor(GxEPD_WHITE);
// int16_t tbx, tby;
// uint16_t tbw, tbh;
// display.getTextBounds("OrangeBTClock", 0, 0, &tbx, &tby, &tbw, &tbh);
// // center the bounding box by transposition of the origin:
// uint16_t x = ((display.width() - tbw) / 2) - tbx;
// uint16_t y = ((display.height() - tbh) / 2) - tby;
display.fillScreen(GxEPD_BLACK);
// display.setCursor(x, y);
// display.print("OrangeBTClock");
// display.drawImage(epd_bitmap_allArray[0], GxEPD_WHITE, 0,0 250,37);
int xPos = (display.width() - 250) / 2;
int yPos = (display.height() - 37) / 2;
display.drawBitmap(xPos,yPos, epd_bitmap_oclogo, 250, 37, GxEPD_WHITE);
display.display(false);
display.setCursor(0, 37);
// display.fillScreen(GxEPD_WHITE);
// display.drawLine(0, 10, display.width(), 10, GxEPD_BLACK);
// display.drawLine(0, row2, display.width(), row2, GxEPD_BLACK);
// display.drawLine(0, row3, display.width(), row3, GxEPD_BLACK);
// display.display(false);
// display.fillScreen(GxEPD_BLACK);
// display.display(false);
// display.fillRect(0, 0, display.width(), 8, GxEPD_BLACK);
// display.displayWindow(0, 0, display.width(), 8);
// display.display(true);
// display.setRotation(1);
// // display.fillRect(0, row1, display.width(), 54, GxEPD_BLACK);
// display.displayWindow(0, row1, display.width(), row2);
// display.display(false);
// display.fillRect(0, row2, display.width(), 54, GxEPD_BLACK);
// display.displayWindow(0, row2, display.width(), 54);
// display.display(true);
// display.fillRect(0, row3, display.width(), display.height(), GxEPD_BLACK);
// display.displayWindow(0, row3, display.width(), display.height());
// display.display(true);
}
void epdShowIp() {
display.setRotation(1);
display.setFont(&LibreFranklin_SemiBold10pt7b);
display.setTextColor(GxEPD_WHITE);
String ipStr = WiFi.localIP().toString();
int16_t tbx, tby;
uint16_t tbw, tbh;
display.getTextBounds(ipStr, 0, 0, &tbx, &tby, &tbw, &tbh);
// center the bounding box by transposition of the origin:
uint16_t x = ((display.width() - tbw) / 2) - tbx;
uint16_t y = ((display.height() - tbh) / 2) - tby + 37;
display.setCursor(x, y);
display.println(WiFi.localIP());
display.display(true);
}
void updateRow2(String c, char icon)
{
if (c.equals(currentRow2) && icon == currentIcon2)
return;
display.setRotation(1);
display.setFont(&ROW2_FONT);
display.setTextColor(GxEPD_BLACK);
int16_t tbx, tby;
uint16_t tbw, tbh;
display.getTextBounds(c, 0, 0, &tbx, &tby, &tbw, &tbh);
// center the bounding box by transposition of the origin:
uint16_t x = ((display.width() - (tbw + ROW2_ICONWIDTH)) / 2) - tbx;
uint16_t y = ((display.height() - tbh) / 2) - tby;
display.setPartialWindow(0, row2, display.width(), 48);
display.fillRect(0, row2, display.width(), 48, GxEPD_WHITE);
display.firstPage();
do
{
display.setTextColor(GxEPD_BLACK);
display.setFont(&ROW2_ICONFONT);
display.setCursor(x, y);
display.print(icon);
display.setFont(&ROW2_FONT);
display.setCursor(x + ROW2_ICONWIDTH, y);
display.print(c);
} while (display.nextPage());
// display.display(true);
currentRow2 = c;
currentIcon2 = icon;
}
void updateRow3(String c, char icon)
{
if (c.equals(currentRow3) && icon == currentIcon3)
return;
display.setRotation(1);
display.setFont(&LibreFranklin_SemiBold15pt7b);
display.setTextColor(GxEPD_WHITE);
int16_t tbx, tby;
uint16_t tbw, tbh;
display.getTextBounds(c, 0, 0, &tbx, &tby, &tbw, &tbh);
// center the bounding box by transposition of the origin:
uint16_t x = ((display.width() - (tbw + ROW3_ICONWIDTH)) / 2) - tbx;
uint16_t y = row3 + (((display.height() - row3) - tbh) / 2) - tby;
display.setPartialWindow(0, row3, display.width(), 36);
// display.setFullWindow();
display.fillRect(0, row3, display.width(), 36, GxEPD_WHITE);
display.firstPage();
do
{
display.setTextColor(GxEPD_BLACK);
display.setFont(&orangeclock_icons15pt7b);
display.setCursor(x, y);
display.print(icon);
display.setFont(&LibreFranklin_SemiBold15pt7b);
display.setCursor(x + ROW3_ICONWIDTH, y);
display.print(c);
} while (display.nextPage());
currentRow3 = c;
currentIcon3 = icon;
}
void showSetupText(String t)
{
display.setRotation(1);
display.setFont(&SETUPFONT);
int16_t tbx, tby;
uint16_t tbw, tbh;
display.getTextBounds(t, 0, 0, &tbx, &tby, &tbw, &tbh);
// center the bounding box by transposition of the origin:
uint16_t x = ((display.width() - (tbw)) / 2) - tbx;
uint16_t y = ((display.height() - tbh) / 2) - tby;
display.setFullWindow();
display.firstPage();
do
{
display.setTextColor(GxEPD_BLACK);
display.setFont(&ROW2_ICONFONT);
display.setCursor(0, 40);
display.println(ICON_WIFI);
display.setFont(&SETUPFONT);
display.println(t);
} while (display.nextPage());
}
void updateRow1(String c, char icon)
{
if (c.equals(currentRow1) && icon == currentIcon1)
return;
// struct tm timeinfo;
// if (!getLocalTime(&timeinfo))
// {
// if (Serial.available())
// Serial.println("Failed to obtain time");
// return;
// }
// char dateString[10];
// strftime(dateString, 10, "%H:%M:%S", &timeinfo);
display.setRotation(1);
display.setFont(&ROW1_FONT);
display.setTextColor(GxEPD_WHITE);
int16_t tbx, tby;
uint16_t tbw, tbh;
display.getTextBounds(c, 0, 0, &tbx, &tby, &tbw, &tbh);
// center the bounding box by transposition of the origin:
uint16_t x = ((display.width() - (tbw + ROW1_ICONWIDTH)) / 2) - tbx;
uint16_t y = (((row2)-tbh) / 2) - tby;
display.setPartialWindow(0, 0, display.width(), 36);
display.fillRect(0, 0, display.width(), 36, GxEPD_WHITE);
display.firstPage();
do
{
display.setTextColor(GxEPD_BLACK);
display.setFont(&ROW1_ICONFONT);
display.setCursor(x, y);
display.print(icon);
display.setFont(&ROW1_FONT);
display.setCursor(x + ROW1_ICONWIDTH, y);
display.print(c);
} while (display.nextPage());
currentRow1 = c;
currentIcon1 = icon;
}
void updateRows(String row1Content, String row2Content, String row3Content)
{
display.setRotation(1);
display.setFont(&ROW1_FONT);
display.setTextColor(GxEPD_BLACK);
int16_t tbx, tby;
uint16_t tbw, tbh;
display.getTextBounds(row1Content, 0, 0, &tbx, &tby, &tbw, &tbh);
// center the bounding box by transposition of the origin:
uint16_t row1_x = ((display.width() - (tbw + ROW1_ICONWIDTH)) / 2) - tbx;
uint16_t row1_y = (((row2)-tbh) / 2) - tby;
display.setFont(&ROW2_FONT);
display.getTextBounds(row2Content, 0, 0, &tbx, &tby, &tbw, &tbh);
// center the bounding box by transposition of the origin:
uint16_t row2_x = ((display.width() - (tbw + ROW2_ICONWIDTH)) / 2) - tbx;
uint16_t row2_y = ((display.height() - tbh) / 2) - tby;
display.setFont(&ROW3_FONT);
display.getTextBounds(row3Content, 0, 0, &tbx, &tby, &tbw, &tbh);
// center the bounding box by transposition of the origin:
uint16_t row3_x = ((display.width() - (tbw + ROW3_ICONWIDTH)) / 2) - tbx;
uint16_t row3_y = row3 + (((display.height() - row3) - tbh) / 2) - tby;
// if (!currentRow1.equals(row1Content) && !currentRow2.equals(row2Content) && !currentRow3.equals(row3Content))
// {
display.setFullWindow();
// }
// else
if (currentRow1.equals(row1Content) && currentRow2.equals(row2Content) && currentRow3.equals(row3Content))
{
Serial.println(F("Nothing to update"));
return;
}
// display.setPartialWindow(0, display.width(), 0, display.height());
// else {
// if (!currentRow1.equals(row1Content))
// {
// display.setPartialWindow(0, 0, display.width(), 36);
// Serial.print(F("Row 1 to: "));
// Serial.println(row1Content);
// }
// if (!currentRow2.equals(row2Content))
// {
// display.setPartialWindow(0, row2, display.width(), 56);
// Serial.print(F("Row 2 to: "));
// Serial.println(row2Content);
// }
// if (!currentRow3.equals(row3Content))
// {
// display.setPartialWindow(0, row3, display.width(), 36);
// Serial.print(F("Row 3 to: "));
// Serial.println(row3Content);
// }
// }
display.firstPage();
do
{
display.setTextColor(GxEPD_BLACK);
if (!currentRow1.equals(row1Content))
{
display.fillRect(0, 0, display.width(), 36, GxEPD_WHITE);
display.setFont(&ROW1_ICONFONT);
display.setCursor(row1_x, row1_y);
display.print(ICON_PIE);
display.setFont(&ROW1_FONT);
display.setCursor(row1_x + ROW1_ICONWIDTH, row1_y);
display.print(row1Content);
currentRow1 = row1Content;
}
if (!currentRow2.equals(row2Content))
{
display.fillRect(0, row2, display.width(), 54, GxEPD_WHITE);
display.setTextColor(GxEPD_BLACK);
display.setFont(&ROW2_ICONFONT);
display.setCursor(row2_x, row2_y);
display.print(ICON_BLOCK);
display.setFont(&ROW2_FONT);
display.setCursor(row2_x + ROW2_ICONWIDTH, row2_y);
display.print(row2Content);
currentRow2 = row2Content;
}
if (!currentRow3.equals(row3Content))
{
display.fillRect(0, row3, display.width(), 36, GxEPD_WHITE);
display.setFont(&orangeclock_icons15pt7b);
display.setCursor(row3_x, row3_y);
display.print(ICON_DOLLAR);
display.setFont(&LibreFranklin_SemiBold15pt7b);
display.setCursor(row3_x + ROW3_ICONWIDTH, row3_y);
display.print(row3Content);
currentRow3 = row3Content;
}
} while (display.nextPage());
}

13
src/epd.hpp Normal file
View file

@ -0,0 +1,13 @@
#pragma once
#include "shared.hpp"
#include "fonts/fonts.hpp"
#include "bitmap.hpp"
void setupDisplay();
void showSetupText(String t);
void updateRow1(String c, char icon);
void updateRow2(String c, char icon);
void updateRow3(String c, char icon);
void updateRows(String row1Content, String row2Content, String row3Content);
void epdShowIp();

231
src/fonts/LibreFranklin10.h Normal file
View file

@ -0,0 +1,231 @@
const uint8_t LibreFranklin_SemiBold10pt7bBitmaps[] PROGMEM = {
0x00, 0xFF, 0xFF, 0xFF, 0x49, 0x0F, 0xF8, 0xEF, 0xDF, 0xBE, 0x64, 0x48,
0x80, 0x08, 0x81, 0x98, 0x23, 0x04, 0x40, 0x88, 0xFF, 0xC6, 0x20, 0xCC,
0x11, 0x9F, 0xFC, 0x44, 0x08, 0x83, 0x10, 0x66, 0x0C, 0xC0, 0x02, 0x00,
0x70, 0x1F, 0xC3, 0xAE, 0x62, 0x46, 0x20, 0x72, 0x07, 0xE0, 0x3F, 0xC0,
0xFE, 0x02, 0xE0, 0x27, 0x42, 0x36, 0x27, 0x7F, 0xE1, 0xFC, 0x06, 0x00,
0x20, 0x38, 0x0C, 0x7C, 0x08, 0xC6, 0x10, 0xC6, 0x30, 0xC6, 0x20, 0xC6,
0x40, 0xC6, 0xC0, 0x7C, 0x9E, 0x11, 0x33, 0x03, 0x23, 0x02, 0x63, 0x04,
0x63, 0x0C, 0x63, 0x08, 0x33, 0x10, 0x1E, 0x0F, 0x00, 0x7F, 0x03, 0x8C,
0x0C, 0x30, 0x38, 0xC0, 0xEE, 0x01, 0xF0, 0x0F, 0x83, 0x77, 0x1B, 0x9E,
0xEE, 0x3F, 0x38, 0x78, 0xE1, 0xF3, 0xFF, 0xF3, 0xE1, 0xC0, 0xFF, 0xE4,
0x80, 0x19, 0x8C, 0xC6, 0x33, 0x98, 0xC6, 0x31, 0xCE, 0x31, 0x8C, 0x31,
0xC0, 0xC3, 0x18, 0x63, 0x18, 0xE7, 0x18, 0xC6, 0x73, 0x98, 0xCE, 0x67,
0x00, 0x18, 0x08, 0x49, 0x7F, 0x1C, 0x1C, 0x36, 0x62, 0x0C, 0x06, 0x03,
0x01, 0x8F, 0xFF, 0xFC, 0x30, 0x18, 0x0C, 0x00, 0xFF, 0xAD, 0x00, 0xFF,
0xC0, 0xFF, 0x80, 0x06, 0x0C, 0x30, 0x60, 0xC3, 0x06, 0x0C, 0x30, 0x60,
0xC3, 0x06, 0x0C, 0x30, 0x60, 0x0F, 0x03, 0xF8, 0x39, 0xC7, 0x0E, 0x60,
0xEE, 0x06, 0xE0, 0x7E, 0x07, 0xE0, 0x7E, 0x07, 0xE0, 0x67, 0x0E, 0x70,
0xE3, 0xFC, 0x1F, 0x80, 0x08, 0x38, 0xF8, 0xD8, 0x18, 0x18, 0x18, 0x18,
0x18, 0x18, 0x18, 0x18, 0x18, 0xFF, 0xFF, 0x1E, 0x1F, 0xEF, 0x3F, 0x87,
0x41, 0xC0, 0x70, 0x1C, 0x0E, 0x07, 0x03, 0x81, 0xC1, 0xE0, 0xE0, 0x3F,
0xFF, 0xFC, 0x1E, 0x0F, 0xF3, 0xCF, 0x20, 0x60, 0x0E, 0x03, 0x87, 0xE0,
0xF8, 0x1F, 0xC0, 0x1C, 0x03, 0xA0, 0x7E, 0x1F, 0xFF, 0x8F, 0xE0, 0x01,
0x80, 0x38, 0x07, 0x80, 0xF8, 0x1F, 0x81, 0xB8, 0x33, 0x86, 0x38, 0xE3,
0x8F, 0xFE, 0xFF, 0xF0, 0x38, 0x03, 0x80, 0x38, 0x03, 0x80, 0x7F, 0xCF,
0xF9, 0xFF, 0x30, 0x06, 0x00, 0xC0, 0x1F, 0xE3, 0xFE, 0x20, 0xE0, 0x1C,
0x03, 0xA0, 0x7E, 0x1F, 0xFF, 0x8F, 0xE0, 0x07, 0x03, 0xF8, 0xE7, 0xB8,
0x46, 0x01, 0xC0, 0x39, 0xE7, 0xFE, 0xF1, 0xFC, 0x1F, 0x81, 0xB0, 0x77,
0x0E, 0x7F, 0x87, 0xE0, 0xFF, 0xFF, 0xFF, 0xFC, 0x06, 0x03, 0x80, 0xC0,
0x70, 0x18, 0x0E, 0x03, 0x01, 0xC0, 0x70, 0x3C, 0x0E, 0x03, 0x80, 0x0E,
0x07, 0xF1, 0xC7, 0x70, 0x7E, 0x0F, 0xC1, 0x9F, 0x71, 0xFC, 0x3F, 0xCC,
0x3F, 0x03, 0xE0, 0x7E, 0x0E, 0xFF, 0x8F, 0xE0, 0x0E, 0x07, 0xF1, 0xC7,
0x70, 0x6E, 0x0F, 0xC1, 0xF8, 0x3B, 0xFF, 0x3F, 0xE0, 0x1C, 0x03, 0x80,
0x66, 0x1C, 0xFF, 0x0F, 0xC0, 0xFF, 0x80, 0x07, 0xFC, 0xFF, 0x80, 0x07,
0xFD, 0x68, 0x03, 0x87, 0xDF, 0x9E, 0x0F, 0x03, 0xE0, 0x7E, 0x07, 0x00,
0x00, 0xFF, 0xFF, 0xC0, 0x00, 0x0F, 0xFF, 0xFC, 0xE0, 0x7C, 0x0F, 0xC0,
0xF0, 0x78, 0xFB, 0xF1, 0xC0, 0x00, 0x00, 0x1E, 0x0F, 0xE7, 0x1F, 0x87,
0x01, 0xC0, 0x60, 0x38, 0x18, 0x0E, 0x03, 0x00, 0xC0, 0x00, 0x1C, 0x07,
0x01, 0xC0, 0x07, 0xE0, 0x3F, 0xF0, 0xC0, 0x73, 0x00, 0x64, 0x7A, 0x79,
0xDC, 0xF3, 0x19, 0xCC, 0x33, 0xD8, 0x67, 0x99, 0xDB, 0x3F, 0xE3, 0x30,
0x06, 0x00, 0x07, 0x06, 0x03, 0xF8, 0x00, 0x07, 0x00, 0x78, 0x03, 0xE0,
0x1F, 0x01, 0xD8, 0x0C, 0xE0, 0x67, 0x07, 0x1C, 0x30, 0xE1, 0xFF, 0x1F,
0xFC, 0xC0, 0xEE, 0x07, 0x70, 0x1F, 0x00, 0xE0, 0xFC, 0x1F, 0xF3, 0x8F,
0x60, 0x7C, 0x0F, 0x81, 0xB0, 0xF7, 0xF8, 0xFF, 0xD8, 0x1F, 0x03, 0xE0,
0x7C, 0x1F, 0xFF, 0xBF, 0xE0, 0x07, 0x01, 0xFC, 0x38, 0xE7, 0x07, 0xE0,
0x7E, 0x00, 0xE0, 0x0E, 0x00, 0xE0, 0x0E, 0x00, 0xE0, 0x27, 0x03, 0x78,
0x73, 0xFE, 0x1F, 0x80, 0xF0, 0x0F, 0xF0, 0xFF, 0xCC, 0x1E, 0xC0, 0xEC,
0x0E, 0xC0, 0xEC, 0x0F, 0xC0, 0xEC, 0x0E, 0xC0, 0xEC, 0x1E, 0xC3, 0xCF,
0xF8, 0xFE, 0x00, 0xFF, 0xBF, 0xFF, 0xFF, 0x00, 0xC0, 0x30, 0x0C, 0x03,
0xF8, 0xFE, 0x30, 0x0C, 0x03, 0x00, 0xC0, 0x3F, 0xFF, 0xFC, 0xFF, 0xFF,
0xFF, 0xF8, 0x0C, 0x06, 0x03, 0x01, 0xFE, 0xFF, 0x60, 0x30, 0x18, 0x0C,
0x06, 0x03, 0x00, 0x07, 0x01, 0xFC, 0x39, 0xE7, 0x07, 0x60, 0x7E, 0x00,
0xE0, 0x0E, 0x00, 0xE1, 0xFE, 0x03, 0xE0, 0x37, 0x07, 0x78, 0x73, 0xFD,
0x1F, 0x90, 0xC0, 0xF8, 0x1F, 0x03, 0xE0, 0x7C, 0x0F, 0x81, 0xFF, 0xFF,
0xFF, 0xFF, 0xF8, 0x1F, 0x03, 0xE0, 0x7C, 0x0F, 0x81, 0xF0, 0x38, 0xFF,
0xFF, 0xFF, 0xFC, 0x1C, 0x71, 0xC7, 0x1C, 0x71, 0xC7, 0x1C, 0x71, 0xC7,
0x9F, 0xFF, 0x80, 0xC0, 0xEC, 0x1C, 0xC1, 0x8C, 0x38, 0xC7, 0x0C, 0xE0,
0xDE, 0x0F, 0xF0, 0xF7, 0x0E, 0x38, 0xE3, 0x8C, 0x1C, 0xC1, 0xCC, 0x0E,
0xC0, 0xF0, 0xC0, 0x60, 0x30, 0x18, 0x0C, 0x06, 0x03, 0x01, 0x80, 0xC0,
0x60, 0x30, 0x18, 0x0C, 0x07, 0xFF, 0xFE, 0xE0, 0x1F, 0xE0, 0x7F, 0xC0,
0xFF, 0xC1, 0xFF, 0x87, 0xFF, 0x0D, 0xF7, 0x1B, 0xEE, 0x77, 0xCC, 0xCF,
0x9F, 0x9F, 0x3E, 0x3E, 0x3C, 0x7C, 0x78, 0xF8, 0xE1, 0xF0, 0xC3, 0x80,
0xC0, 0x7C, 0x0F, 0xC1, 0xF8, 0x3F, 0x87, 0xF8, 0xF7, 0x1E, 0x73, 0xCF,
0x78, 0xEF, 0x0F, 0xE0, 0xFC, 0x1F, 0x81, 0xF0, 0x18, 0x07, 0x00, 0xFE,
0x0E, 0x38, 0xE0, 0xE6, 0x03, 0xF0, 0x1F, 0x80, 0xFC, 0x07, 0xE0, 0x3F,
0x01, 0xF8, 0x0E, 0xE0, 0xE7, 0x87, 0x1F, 0xF0, 0x7F, 0x00, 0xFC, 0x1F,
0xF3, 0xFF, 0x60, 0x7C, 0x0F, 0x81, 0xF0, 0x7F, 0xFE, 0xFF, 0x98, 0x03,
0x00, 0x60, 0x0C, 0x01, 0x80, 0x30, 0x00, 0x07, 0x00, 0xFE, 0x0E, 0x3C,
0xE0, 0xE6, 0x03, 0xF0, 0x1F, 0x80, 0xFC, 0x07, 0xE0, 0x3F, 0x01, 0xF8,
0x0E, 0xE0, 0xE7, 0x07, 0x1F, 0xF0, 0x7F, 0x80, 0x0F, 0x00, 0x38, 0xFE,
0x1F, 0xFB, 0x8F, 0xE0, 0x7C, 0x0F, 0x81, 0xF0, 0x77, 0xFE, 0xFF, 0x18,
0x73, 0x0E, 0x60, 0xEC, 0x1D, 0x83, 0xB0, 0x38, 0x0F, 0x07, 0xF9, 0xC7,
0xF0, 0x2E, 0x01, 0xE0, 0x1F, 0x81, 0xFC, 0x0F, 0xC0, 0x3C, 0x03, 0xA0,
0x7E, 0x0E, 0xFF, 0x8F, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0x87, 0x00, 0xE0,
0x1C, 0x03, 0x80, 0x70, 0x0E, 0x01, 0xC0, 0x38, 0x07, 0x00, 0xE0, 0x1C,
0x03, 0x80, 0x60, 0x7E, 0x07, 0xE0, 0x7E, 0x07, 0xE0, 0x7E, 0x07, 0xE0,
0x7E, 0x07, 0xE0, 0x7E, 0x07, 0xE0, 0x77, 0x06, 0x70, 0xE7, 0xFE, 0x1F,
0x80, 0xE0, 0x37, 0x01, 0xB8, 0x1C, 0xE0, 0xE7, 0x06, 0x38, 0x70, 0xE3,
0x07, 0x18, 0x39, 0xC0, 0xEC, 0x07, 0x60, 0x3F, 0x00, 0xF0, 0x07, 0x80,
0x3C, 0x00, 0xC0, 0x60, 0x7C, 0x1C, 0x0F, 0x83, 0xC3, 0xB0, 0x78, 0x67,
0x1F, 0x0C, 0xE3, 0x61, 0x9C, 0x6E, 0x71, 0xCD, 0xCC, 0x3B, 0x19, 0x87,
0x63, 0xF0, 0x6C, 0x7C, 0x0F, 0x8F, 0x81, 0xE0, 0xF0, 0x3C, 0x1E, 0x03,
0x83, 0x80, 0xE0, 0x7F, 0x06, 0x70, 0xE3, 0x9C, 0x39, 0x81, 0xF8, 0x0F,
0x00, 0xF0, 0x0F, 0x01, 0xF8, 0x3B, 0xC3, 0x9C, 0x70, 0xEE, 0x0F, 0xE0,
0x70, 0xE0, 0x3E, 0x07, 0x70, 0x67, 0x0E, 0x38, 0xC1, 0xD8, 0x1F, 0x80,
0xF0, 0x0F, 0x00, 0x70, 0x07, 0x00, 0x70, 0x07, 0x00, 0x70, 0x07, 0x00,
0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0xE0, 0x38, 0x0F, 0x01, 0xC0, 0x70, 0x1E,
0x03, 0x80, 0xE0, 0x3C, 0x07, 0x01, 0xFF, 0xFF, 0xF8, 0x7F, 0xF9, 0xCE,
0x73, 0x9C, 0xE7, 0x39, 0xCE, 0x73, 0x9C, 0xE7, 0xC0, 0xC1, 0x81, 0x83,
0x06, 0x06, 0x0C, 0x18, 0x18, 0x30, 0x60, 0x60, 0xC1, 0x81, 0x83, 0xF7,
0xCE, 0x73, 0x9C, 0xE7, 0x39, 0xCE, 0x73, 0x9C, 0xE7, 0x3F, 0xC0, 0x10,
0x18, 0x38, 0x2C, 0x6C, 0x64, 0xC6, 0xC6, 0x83, 0xFF, 0xFF, 0x43, 0xC3,
0xC0, 0x1C, 0x3F, 0xB8, 0xE8, 0x70, 0x3B, 0xFF, 0x8F, 0x87, 0xC3, 0xFF,
0xFE, 0xE0, 0xE0, 0x38, 0x0E, 0x03, 0x80, 0xE6, 0x3F, 0xEF, 0x3B, 0x87,
0xE1, 0xF8, 0x7E, 0x1F, 0x87, 0xE1, 0xFC, 0xED, 0xF0, 0x0C, 0x1F, 0x9C,
0xFC, 0x3C, 0x06, 0x03, 0x01, 0xC0, 0xE1, 0xBF, 0xCF, 0x80, 0x01, 0x80,
0x70, 0x1C, 0x07, 0x19, 0xDF, 0xF7, 0x3F, 0x87, 0xC1, 0xF0, 0x7C, 0x1F,
0x87, 0xE1, 0xDD, 0xF3, 0xDC, 0x0C, 0x0F, 0xC6, 0x3B, 0x86, 0xC1, 0xFF,
0xFC, 0x03, 0x00, 0xE1, 0xDF, 0xE3, 0xF0, 0x06, 0x3C, 0xE1, 0xC3, 0x9F,
0xCE, 0x1C, 0x38, 0x70, 0xE1, 0xC3, 0x87, 0x0E, 0x00, 0x04, 0x33, 0xFF,
0x71, 0xC6, 0x0C, 0x60, 0xC3, 0xBC, 0x1F, 0x06, 0x00, 0x7F, 0x83, 0xFE,
0x60, 0xEC, 0x06, 0xE0, 0xE7, 0xFC, 0xE0, 0x70, 0x38, 0x1C, 0x0E, 0x27,
0xFF, 0xCF, 0xC3, 0xE1, 0xF0, 0xF8, 0x7C, 0x3E, 0x1F, 0x0F, 0x86, 0xFF,
0x81, 0xFF, 0xFF, 0xFF, 0xF8, 0x39, 0xCE, 0x00, 0x1C, 0xE7, 0x39, 0xCE,
0x73, 0x9C, 0xE7, 0xFF, 0x80, 0xE0, 0x38, 0x0E, 0x03, 0x80, 0xE0, 0x78,
0x6E, 0x33, 0x98, 0xEE, 0x3F, 0x8F, 0x73, 0x8C, 0xE3, 0xB8, 0x6E, 0x1C,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x06, 0x0C, 0xEF, 0xBE, 0xF3, 0xE7,
0xE1, 0x87, 0xE1, 0x87, 0xE1, 0x87, 0xE1, 0x87, 0xE1, 0x87, 0xE1, 0x87,
0xE1, 0x87, 0xE1, 0x87, 0x02, 0x77, 0xFC, 0xFC, 0x3E, 0x1F, 0x0F, 0x87,
0xC3, 0xE1, 0xF0, 0xF8, 0x60, 0x0C, 0x0F, 0xC7, 0x3B, 0x87, 0xC1, 0xF0,
0x7C, 0x1F, 0x07, 0xE1, 0x9F, 0xE3, 0xF0, 0x06, 0x3F, 0xEF, 0x3B, 0x87,
0xE1, 0xF8, 0x7E, 0x1F, 0x87, 0xE1, 0xFF, 0xEF, 0xF3, 0x80, 0xE0, 0x38,
0x00, 0x18, 0x1F, 0xB6, 0x3F, 0x87, 0xC1, 0xF0, 0x7C, 0x1F, 0x87, 0xE1,
0xDD, 0xF3, 0xDC, 0x07, 0x01, 0xC0, 0x70, 0x05, 0xDF, 0xFF, 0x0E, 0x1C,
0x38, 0x70, 0xE1, 0xC3, 0x80, 0x0C, 0x0F, 0xC7, 0x19, 0x80, 0x78, 0x0F,
0xC1, 0xF8, 0x07, 0xC1, 0xDF, 0xE3, 0xF0, 0x18, 0x18, 0x38, 0x38, 0xFF,
0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x3F, 0x1F, 0xE1, 0xF0, 0xF8,
0x7C, 0x3E, 0x1F, 0x0F, 0x87, 0xC7, 0xFF, 0xBC, 0xC0, 0xE0, 0xEE, 0x19,
0xC3, 0x1C, 0xC3, 0x98, 0x36, 0x07, 0xC0, 0xF8, 0x0E, 0x01, 0xC0, 0xE1,
0xC6, 0xE3, 0x8D, 0xCF, 0x19, 0x9E, 0x63, 0xBE, 0xC7, 0x4D, 0x87, 0x9E,
0x0F, 0x3C, 0x1C, 0x38, 0x18, 0x60, 0x70, 0xC7, 0x30, 0xEC, 0x0F, 0x80,
0xE0, 0x1E, 0x06, 0xE1, 0x9C, 0x71, 0xDC, 0x1C, 0xE0, 0xDC, 0x37, 0x18,
0xE6, 0x39, 0x86, 0xC1, 0xF0, 0x78, 0x0E, 0x03, 0x80, 0xC1, 0xF0, 0x78,
0x00, 0xFF, 0x07, 0x0E, 0x1C, 0x1C, 0x38, 0x70, 0xE0, 0xFF, 0xFF, 0x04,
0x73, 0x0C, 0x30, 0xC3, 0x0C, 0x73, 0x83, 0x0C, 0x30, 0xC3, 0x0C, 0x38,
0x70, 0xFF, 0xFF, 0xF0, 0xC1, 0xE0, 0xC1, 0x83, 0x06, 0x0C, 0x1C, 0x1C,
0x1C, 0x61, 0xC3, 0x06, 0x0C, 0x18, 0x31, 0xE0, 0x30, 0xBF, 0xFC, 0x78 };
const GFXglyph LibreFranklin_SemiBold10pt7bGlyphs[] PROGMEM = {
{ 0, 1, 1, 4, 0, 0 }, // 0x20 ' '
{ 1, 3, 15, 5, 1, -14 }, // 0x21 '!'
{ 7, 7, 6, 9, 1, -14 }, // 0x22 '"'
{ 13, 11, 15, 12, 0, -14 }, // 0x23 '#'
{ 34, 12, 18, 12, 0, -15 }, // 0x24 '$'
{ 61, 16, 15, 18, 1, -14 }, // 0x25 '%'
{ 91, 14, 15, 16, 1, -14 }, // 0x26 '&'
{ 118, 3, 6, 5, 1, -14 }, // 0x27 '''
{ 121, 5, 18, 6, 1, -14 }, // 0x28 '('
{ 133, 5, 18, 6, 0, -14 }, // 0x29 ')'
{ 145, 8, 8, 9, 0, -14 }, // 0x2A '*'
{ 153, 9, 9, 11, 1, -11 }, // 0x2B '+'
{ 164, 3, 6, 5, 1, -2 }, // 0x2C ','
{ 167, 5, 2, 7, 1, -5 }, // 0x2D '-'
{ 169, 3, 3, 5, 1, -2 }, // 0x2E '.'
{ 171, 7, 16, 7, 0, -14 }, // 0x2F '/'
{ 185, 12, 15, 14, 1, -14 }, // 0x30 '0'
{ 208, 8, 15, 10, 1, -14 }, // 0x31 '1'
{ 223, 10, 15, 12, 1, -14 }, // 0x32 '2'
{ 242, 11, 15, 13, 1, -14 }, // 0x33 '3'
{ 263, 12, 15, 13, 1, -14 }, // 0x34 '4'
{ 286, 11, 15, 13, 1, -14 }, // 0x35 '5'
{ 307, 11, 15, 13, 1, -14 }, // 0x36 '6'
{ 328, 10, 15, 12, 1, -14 }, // 0x37 '7'
{ 347, 11, 15, 13, 1, -14 }, // 0x38 '8'
{ 368, 11, 15, 13, 1, -14 }, // 0x39 '9'
{ 389, 3, 10, 5, 1, -9 }, // 0x3A ':'
{ 393, 3, 13, 5, 1, -9 }, // 0x3B ';'
{ 398, 9, 9, 11, 1, -10 }, // 0x3C '<'
{ 409, 9, 6, 11, 1, -9 }, // 0x3D '='
{ 416, 9, 9, 11, 1, -10 }, // 0x3E '>'
{ 427, 10, 15, 10, 0, -14 }, // 0x3F '?'
{ 446, 15, 15, 16, 1, -12 }, // 0x40 '@'
{ 475, 13, 15, 15, 1, -14 }, // 0x41 'A'
{ 500, 11, 15, 14, 2, -14 }, // 0x42 'B'
{ 521, 12, 15, 14, 1, -14 }, // 0x43 'C'
{ 544, 12, 15, 15, 2, -14 }, // 0x44 'D'
{ 567, 10, 15, 13, 2, -14 }, // 0x45 'E'
{ 586, 9, 15, 12, 2, -14 }, // 0x46 'F'
{ 603, 12, 15, 15, 1, -14 }, // 0x47 'G'
{ 626, 11, 15, 15, 2, -14 }, // 0x48 'H'
{ 647, 2, 15, 6, 2, -14 }, // 0x49 'I'
{ 651, 6, 15, 9, 1, -14 }, // 0x4A 'J'
{ 663, 12, 15, 14, 2, -14 }, // 0x4B 'K'
{ 686, 9, 15, 12, 2, -14 }, // 0x4C 'L'
{ 703, 15, 15, 18, 2, -14 }, // 0x4D 'M'
{ 732, 11, 15, 15, 2, -14 }, // 0x4E 'N'
{ 753, 13, 15, 15, 1, -14 }, // 0x4F 'O'
{ 778, 11, 15, 14, 2, -14 }, // 0x50 'P'
{ 799, 13, 17, 15, 1, -14 }, // 0x51 'Q'
{ 827, 11, 15, 14, 2, -14 }, // 0x52 'R'
{ 848, 11, 15, 13, 1, -14 }, // 0x53 'S'
{ 869, 11, 15, 13, 1, -14 }, // 0x54 'T'
{ 890, 12, 15, 14, 1, -14 }, // 0x55 'U'
{ 913, 13, 15, 14, 1, -14 }, // 0x56 'V'
{ 938, 19, 15, 21, 1, -14 }, // 0x57 'W'
{ 974, 12, 15, 14, 1, -14 }, // 0x58 'X'
{ 997, 12, 15, 14, 1, -14 }, // 0x59 'Y'
{ 1020, 11, 15, 13, 1, -14 }, // 0x5A 'Z'
{ 1041, 5, 18, 6, 1, -14 }, // 0x5B '['
{ 1053, 7, 16, 7, 0, -14 }, // 0x5C '\'
{ 1067, 5, 18, 6, 0, -14 }, // 0x5D ']'
{ 1079, 8, 9, 9, 1, -10 }, // 0x5E '^'
{ 1088, 8, 2, 10, 1, 2 }, // 0x5F '_'
{ 1090, 6, 3, 6, 0, -14 }, // 0x60 '`'
{ 1093, 9, 11, 11, 1, -10 }, // 0x61 'a'
{ 1106, 10, 15, 12, 1, -14 }, // 0x62 'b'
{ 1125, 9, 11, 11, 1, -10 }, // 0x63 'c'
{ 1138, 10, 15, 12, 1, -14 }, // 0x64 'd'
{ 1157, 10, 11, 11, 1, -10 }, // 0x65 'e'
{ 1171, 7, 15, 8, 0, -14 }, // 0x66 'f'
{ 1185, 12, 14, 12, 0, -10 }, // 0x67 'g'
{ 1206, 9, 15, 12, 1, -14 }, // 0x68 'h'
{ 1223, 3, 15, 5, 1, -14 }, // 0x69 'i'
{ 1229, 5, 18, 5, -1, -14 }, // 0x6A 'j'
{ 1241, 10, 15, 12, 1, -14 }, // 0x6B 'k'
{ 1260, 3, 15, 5, 1, -14 }, // 0x6C 'l'
{ 1266, 16, 11, 18, 1, -10 }, // 0x6D 'm'
{ 1288, 9, 11, 12, 1, -10 }, // 0x6E 'n'
{ 1301, 10, 11, 12, 1, -10 }, // 0x6F 'o'
{ 1315, 10, 14, 12, 1, -10 }, // 0x70 'p'
{ 1333, 10, 14, 12, 1, -10 }, // 0x71 'q'
{ 1351, 7, 11, 8, 1, -10 }, // 0x72 'r'
{ 1361, 10, 11, 10, 0, -10 }, // 0x73 's'
{ 1375, 8, 14, 8, 0, -13 }, // 0x74 't'
{ 1389, 9, 10, 12, 1, -9 }, // 0x75 'u'
{ 1401, 11, 10, 11, 0, -9 }, // 0x76 'v'
{ 1415, 15, 10, 16, 0, -9 }, // 0x77 'w'
{ 1434, 11, 10, 11, 0, -9 }, // 0x78 'x'
{ 1448, 10, 13, 11, 0, -9 }, // 0x79 'y'
{ 1465, 8, 10, 10, 1, -9 }, // 0x7A 'z'
{ 1475, 6, 18, 7, 0, -14 }, // 0x7B '{'
{ 1489, 1, 20, 5, 2, -16 }, // 0x7C '|'
{ 1492, 7, 18, 7, 0, -14 }, // 0x7D '}'
{ 1508, 10, 3, 12, 1, -8 } }; // 0x7E '~'
const GFXfont LibreFranklin_SemiBold10pt7b PROGMEM = {
(uint8_t *)LibreFranklin_SemiBold10pt7bBitmaps,
(GFXglyph *)LibreFranklin_SemiBold10pt7bGlyphs,
0x20, 0x7E, 24 };
// Approx. 2184 bytes

283
src/fonts/LibreFranklin12.h Normal file
View file

@ -0,0 +1,283 @@
const uint8_t LibreFranklin_SemiBold12pt7bBitmaps[] PROGMEM = {
0x00, 0xFF, 0xFF, 0x66, 0x66, 0x66, 0x66, 0x00, 0xFF, 0xF0, 0xF7, 0xB1,
0x98, 0xCC, 0x66, 0x33, 0x18, 0x0C, 0x60, 0x63, 0x02, 0x10, 0x30, 0x81,
0x8C, 0x7F, 0xFF, 0xFF, 0xC3, 0x18, 0x10, 0xC0, 0x84, 0x3F, 0xFD, 0xFF,
0xC3, 0x18, 0x18, 0xC0, 0xC6, 0x04, 0x20, 0x21, 0x00, 0x01, 0x80, 0x0E,
0x00, 0xFF, 0x0F, 0xFE, 0x39, 0xB9, 0xC6, 0x07, 0x18, 0x1C, 0x60, 0x3F,
0x80, 0xFF, 0x80, 0xFF, 0x00, 0xFE, 0x01, 0xBC, 0x06, 0x70, 0x19, 0xD8,
0x67, 0x79, 0xBC, 0xFF, 0xE1, 0xFE, 0x00, 0x60, 0x01, 0x80, 0x1C, 0x01,
0x83, 0xE0, 0x30, 0x63, 0x02, 0x0E, 0x30, 0x60, 0xC3, 0x8C, 0x0C, 0x38,
0x80, 0xC3, 0x98, 0x0E, 0x33, 0x00, 0x77, 0x23, 0x83, 0xE6, 0x7C, 0x00,
0xCC, 0x60, 0x08, 0xC7, 0x01, 0x9C, 0x70, 0x31, 0xC3, 0x02, 0x1C, 0x70,
0x60, 0xC6, 0x0C, 0x0E, 0xE1, 0x80, 0x7C, 0x03, 0x80, 0x03, 0xF8, 0x01,
0xEF, 0x00, 0xF0, 0xE0, 0x38, 0x30, 0x0F, 0x1C, 0x01, 0xCE, 0x00, 0x7F,
0x00, 0x0F, 0x82, 0x0F, 0xE0, 0xE7, 0xBC, 0x73, 0xC7, 0x9C, 0xE0, 0xFE,
0x38, 0x1F, 0x0F, 0x07, 0xC3, 0xE3, 0xFE, 0x7F, 0xEF, 0xCF, 0xE0, 0xF0,
0xF6, 0x66, 0x66, 0x1C, 0x63, 0x8C, 0x71, 0xC6, 0x38, 0xE3, 0x8E, 0x38,
0xE1, 0x86, 0x1C, 0x70, 0xC3, 0x86, 0x1C, 0xE1, 0xC3, 0x0C, 0x38, 0xE1,
0x87, 0x1C, 0x71, 0xC7, 0x1C, 0x71, 0x8E, 0x38, 0xC7, 0x18, 0x60, 0x18,
0x0C, 0x36, 0x5F, 0xF1, 0xC1, 0xE1, 0xD8, 0xCE, 0x20, 0x00, 0x06, 0x00,
0xC0, 0x18, 0x03, 0x0F, 0xFF, 0xFF, 0xC1, 0x80, 0x30, 0x06, 0x00, 0xC0,
0x18, 0x00, 0xFF, 0xF6, 0x4C, 0x80, 0xFF, 0xFC, 0xFF, 0x80, 0x03, 0x03,
0x06, 0x06, 0x0E, 0x0C, 0x0C, 0x1C, 0x18, 0x18, 0x38, 0x30, 0x30, 0x70,
0x60, 0x60, 0xE0, 0xC0, 0x03, 0x80, 0x3F, 0x83, 0xFF, 0x0E, 0x1E, 0x78,
0x39, 0xC0, 0xFF, 0x01, 0xFC, 0x07, 0xF0, 0x1F, 0xC0, 0x7F, 0x01, 0xFC,
0x07, 0x70, 0x3D, 0xC0, 0xF7, 0x83, 0x8F, 0x3E, 0x1F, 0xF0, 0x3F, 0x00,
0x1E, 0x1F, 0x8F, 0xE3, 0x78, 0x1E, 0x07, 0x81, 0xE0, 0x78, 0x1E, 0x07,
0x81, 0xE0, 0x78, 0x1E, 0x07, 0x8F, 0xFF, 0xFF, 0xFF, 0xC0, 0x07, 0x01,
0xFF, 0x1F, 0xFD, 0xE1, 0xEE, 0x07, 0x10, 0x38, 0x01, 0xC0, 0x1E, 0x00,
0xF0, 0x0F, 0x00, 0xF0, 0x1E, 0x01, 0xE0, 0x1E, 0x01, 0xE0, 0x1F, 0xFF,
0xFF, 0xFF, 0xFF, 0xC0, 0x07, 0x01, 0xFF, 0x1F, 0xFC, 0xE0, 0xF2, 0x07,
0x80, 0x3C, 0x01, 0xC0, 0x3E, 0x0F, 0xC0, 0x7F, 0x00, 0x3C, 0x00, 0xF0,
0x03, 0x80, 0x1D, 0x81, 0xFF, 0x1F, 0x7F, 0xF0, 0xFE, 0x00, 0x01, 0xE0,
0x07, 0x80, 0x3E, 0x01, 0xF8, 0x0E, 0xE0, 0x33, 0x81, 0x8E, 0x0E, 0x38,
0x70, 0xE1, 0x83, 0x8F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x03, 0x80, 0x0E,
0x00, 0x38, 0x00, 0xE0, 0x7F, 0xF9, 0xFF, 0xC7, 0x00, 0x1C, 0x00, 0x70,
0x01, 0xC0, 0x07, 0xFE, 0x1F, 0xFC, 0x7C, 0xF8, 0x40, 0xE0, 0x03, 0xC0,
0x0F, 0x00, 0x3D, 0x81, 0xEF, 0x8F, 0x9F, 0xFC, 0x1F, 0xC0, 0x01, 0x80,
0x3F, 0x81, 0xFF, 0x0E, 0x0E, 0x78, 0x01, 0xC0, 0x07, 0x00, 0x3C, 0x60,
0xFF, 0xF3, 0xFF, 0xEF, 0x07, 0xBC, 0x0F, 0x70, 0x3D, 0xC0, 0xF7, 0x83,
0xCF, 0x1E, 0x1F, 0xF0, 0x3F, 0x80, 0xFF, 0xFF, 0xFF, 0x80, 0x1C, 0x01,
0xC0, 0x0E, 0x00, 0xE0, 0x07, 0x00, 0x70, 0x07, 0x80, 0x38, 0x01, 0xC0,
0x1E, 0x00, 0xE0, 0x0F, 0x00, 0x78, 0x03, 0x80, 0x3C, 0x00, 0x07, 0x80,
0x7F, 0x83, 0xFF, 0x1E, 0x1E, 0x70, 0x39, 0xC0, 0xE7, 0x03, 0x9F, 0x1C,
0x3F, 0xE0, 0x7F, 0xC3, 0xBF, 0x9C, 0x1F, 0xE0, 0x3F, 0x80, 0xFE, 0x03,
0xDE, 0x1E, 0x7F, 0xF0, 0x7F, 0x80, 0x07, 0x00, 0xFF, 0x87, 0xFF, 0x1E,
0x1C, 0xF0, 0x3B, 0x80, 0xEF, 0x03, 0xBC, 0x0F, 0x78, 0xFD, 0xFF, 0xF1,
0xFB, 0xC0, 0x0E, 0x00, 0x38, 0x00, 0xE3, 0x07, 0x1E, 0x3C, 0x3F, 0xE0,
0x7E, 0x00, 0xFF, 0x80, 0x00, 0x1F, 0xF0, 0xEE, 0xE0, 0x00, 0x00, 0x0F,
0xFF, 0x64, 0xC8, 0x00, 0x20, 0x3C, 0x1F, 0x9F, 0xCF, 0xE1, 0xE0, 0x3F,
0x03, 0xF8, 0x0F, 0xE0, 0x7C, 0x01, 0x80, 0xFF, 0xFF, 0xFC, 0x00, 0x00,
0x00, 0x01, 0xFF, 0xFF, 0xFB, 0xFF, 0x80, 0x1E, 0x03, 0xF0, 0x1F, 0xC0,
0x7E, 0x03, 0xC0, 0xF8, 0xFE, 0x7E, 0x1F, 0x03, 0x00, 0x00, 0x07, 0x03,
0xFC, 0x7F, 0xEF, 0x0F, 0x20, 0x70, 0x07, 0x00, 0xE0, 0x1E, 0x03, 0xC0,
0x70, 0x07, 0x00, 0x60, 0x06, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x0F, 0x00,
0xF0, 0x00, 0x40, 0x01, 0xFF, 0x01, 0xE1, 0xF0, 0xE0, 0x0E, 0x30, 0x01,
0x98, 0x7B, 0x36, 0x7F, 0xCF, 0x18, 0xE3, 0xCE, 0x18, 0xF3, 0x86, 0x3C,
0xC1, 0x8F, 0x38, 0xE6, 0xC7, 0xFF, 0x99, 0xF3, 0xC6, 0x00, 0x00, 0xC0,
0x00, 0x1C, 0x0E, 0x03, 0xFF, 0x00, 0x1C, 0x00, 0x03, 0xC0, 0x07, 0xE0,
0x07, 0xE0, 0x06, 0xE0, 0x0E, 0xF0, 0x0E, 0x70, 0x1C, 0x70, 0x1C, 0x78,
0x1C, 0x38, 0x38, 0x38, 0x3F, 0xFC, 0x3F, 0xFC, 0x7F, 0xFC, 0x70, 0x1E,
0x70, 0x0E, 0xE0, 0x0F, 0xE0, 0x0F, 0xFF, 0xE3, 0xFF, 0xCE, 0x07, 0xB8,
0x0E, 0xE0, 0x3B, 0x80, 0xEE, 0x07, 0x3F, 0xF8, 0xFF, 0xE3, 0xC7, 0xEE,
0x03, 0xB8, 0x0F, 0xE0, 0x3F, 0x80, 0xFF, 0x0F, 0xBF, 0xFC, 0xFF, 0xC0,
0x01, 0xC0, 0x1F, 0xE0, 0xFF, 0xE1, 0xE1, 0xE7, 0x81, 0xEE, 0x03, 0xFC,
0x00, 0x78, 0x00, 0xF0, 0x01, 0xE0, 0x03, 0xC0, 0x07, 0x80, 0x07, 0x00,
0x8F, 0x01, 0xDE, 0x07, 0x1F, 0xBE, 0x1F, 0xF8, 0x0F, 0xC0, 0xFF, 0xC3,
0xFF, 0x8E, 0x1F, 0x38, 0x1E, 0xE0, 0x3F, 0x80, 0xFE, 0x03, 0xF8, 0x07,
0xE0, 0x1F, 0x80, 0xFE, 0x03, 0xF8, 0x0F, 0xE0, 0x3B, 0x83, 0xEF, 0xFF,
0x3F, 0xF8, 0xFF, 0x80, 0xFF, 0xFF, 0xFF, 0xE0, 0x0E, 0x00, 0xE0, 0x0E,
0x00, 0xE0, 0x0F, 0xF8, 0xFF, 0x8F, 0x00, 0xE0, 0x0E, 0x00, 0xE0, 0x0E,
0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xFF, 0xE0, 0x0E, 0x00,
0xE0, 0x0E, 0x00, 0xE0, 0x0F, 0xF8, 0xFF, 0x8F, 0xF8, 0xE0, 0x0E, 0x00,
0xE0, 0x0E, 0x00, 0xE0, 0x0E, 0x00, 0xE0, 0x00, 0x01, 0xC0, 0x1F, 0xE0,
0x7F, 0xE1, 0xE1, 0xE7, 0x81, 0xEE, 0x01, 0xFC, 0x00, 0x78, 0x00, 0xF0,
0x01, 0xE1, 0xFF, 0xC3, 0xFF, 0x80, 0x77, 0x00, 0xEF, 0x01, 0xDE, 0x07,
0x9F, 0x3F, 0x1F, 0xF6, 0x1F, 0xC4, 0xE0, 0x3F, 0x80, 0xFE, 0x03, 0xF8,
0x0F, 0xE0, 0x3F, 0x80, 0xFF, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0xFE,
0x03, 0xF8, 0x0F, 0xE0, 0x3F, 0x80, 0xFE, 0x03, 0xF8, 0x0F, 0xE0, 0x3C,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F,
0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0E, 0xFE, 0xFE, 0xFC,
0xE0, 0x7B, 0x81, 0xCE, 0x0E, 0x38, 0x70, 0xE3, 0xC3, 0x9E, 0x0E, 0xF8,
0x3B, 0xE0, 0xFF, 0xC3, 0xE7, 0x0F, 0x1E, 0x3C, 0x3C, 0xE0, 0xF3, 0x81,
0xEE, 0x07, 0xB8, 0x0F, 0xE0, 0x3C, 0xE0, 0x0E, 0x00, 0xE0, 0x0E, 0x00,
0xE0, 0x0E, 0x00, 0xE0, 0x0E, 0x00, 0xE0, 0x0E, 0x00, 0xE0, 0x0E, 0x00,
0xE0, 0x0E, 0x00, 0xFF, 0xEF, 0xFF, 0xFF, 0xF0, 0xF8, 0x07, 0xFE, 0x01,
0xFF, 0xC0, 0xFF, 0xF0, 0x3F, 0xFC, 0x0D, 0xFF, 0x87, 0x7E, 0xE1, 0xDF,
0xBC, 0xE7, 0xEF, 0x39, 0xF9, 0xCE, 0x7E, 0x7F, 0x1F, 0x9F, 0xC7, 0xE3,
0xE1, 0xF8, 0xF8, 0x7E, 0x1E, 0x1F, 0x87, 0x07, 0xE1, 0xC1, 0xC0, 0xF0,
0x1F, 0xC0, 0x7F, 0x81, 0xFF, 0x07, 0xFC, 0x1F, 0xF8, 0x7E, 0xF1, 0xF9,
0xE7, 0xE7, 0x9F, 0x8F, 0x7E, 0x1F, 0xF8, 0x7F, 0xE0, 0xFF, 0x81, 0xFE,
0x07, 0xF8, 0x0F, 0xE0, 0x1C, 0x01, 0xC0, 0x0F, 0xF0, 0x1F, 0xFC, 0x3C,
0x3C, 0x78, 0x1E, 0x70, 0x0E, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0,
0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0x70, 0x0F, 0x78, 0x0E, 0x78, 0x1E, 0x3E,
0x7C, 0x1F, 0xF8, 0x0F, 0xF0, 0xFF, 0xE3, 0xFF, 0xCE, 0x07, 0xB8, 0x0E,
0xE0, 0x3F, 0x80, 0xFE, 0x03, 0xBC, 0x3E, 0xFF, 0xF3, 0xFF, 0x8E, 0x00,
0x38, 0x00, 0xE0, 0x03, 0x80, 0x0E, 0x00, 0x38, 0x00, 0xE0, 0x00, 0x01,
0xC0, 0x0F, 0xF0, 0x1F, 0xFC, 0x3C, 0x3C, 0x78, 0x1E, 0x70, 0x0E, 0xF0,
0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0x70,
0x0F, 0x70, 0x0E, 0x78, 0x1E, 0x3E, 0x7C, 0x1F, 0xF8, 0x07, 0xF8, 0x00,
0x3F, 0x00, 0x1F, 0x00, 0x07, 0xFF, 0xF3, 0xFF, 0xEE, 0x07, 0xB8, 0x0F,
0xE0, 0x3F, 0x80, 0xFE, 0x07, 0xBF, 0xFC, 0xFF, 0xE3, 0xC7, 0x0E, 0x1E,
0x38, 0x38, 0xE0, 0xF3, 0x81, 0xCE, 0x07, 0xB8, 0x1E, 0xE0, 0x38, 0x07,
0x00, 0x7F, 0x83, 0xFF, 0x9E, 0x0E, 0x70, 0x13, 0xC0, 0x07, 0x80, 0x1F,
0x80, 0x3F, 0xC0, 0x7F, 0xC0, 0x7F, 0x80, 0x1E, 0x00, 0x3D, 0x00, 0xFE,
0x03, 0xBE, 0x3E, 0x7F, 0xF0, 0x7F, 0x80, 0xFF, 0xFF, 0xFF, 0xF0, 0x78,
0x01, 0xE0, 0x07, 0x80, 0x1E, 0x00, 0x78, 0x01, 0xE0, 0x07, 0x80, 0x1E,
0x00, 0x78, 0x01, 0xE0, 0x07, 0x80, 0x1E, 0x00, 0x78, 0x01, 0xE0, 0x07,
0x80, 0xE0, 0x3F, 0x01, 0xF8, 0x0F, 0xC0, 0x7E, 0x03, 0xF0, 0x1F, 0x80,
0xFC, 0x07, 0xE0, 0x3F, 0x01, 0xF8, 0x0F, 0xC0, 0x7E, 0x03, 0xF8, 0x1F,
0xE3, 0xCF, 0xFE, 0x1F, 0xC0, 0xF0, 0x0F, 0xE0, 0x1D, 0xC0, 0x73, 0xC0,
0xE7, 0x81, 0xC7, 0x07, 0x0F, 0x0E, 0x1E, 0x1C, 0x1C, 0x70, 0x3C, 0xE0,
0x79, 0xC0, 0x77, 0x00, 0xFE, 0x00, 0xF8, 0x01, 0xF0, 0x03, 0xE0, 0x03,
0x80, 0xF0, 0x3C, 0x0F, 0xE0, 0x78, 0x1D, 0xC0, 0xF0, 0x3B, 0x83, 0xF0,
0xE7, 0x87, 0xE1, 0xCF, 0x0D, 0xC3, 0x8E, 0x3B, 0x86, 0x1E, 0x77, 0x9C,
0x3C, 0xE7, 0x38, 0x39, 0x8E, 0x70, 0x77, 0x1F, 0xC0, 0xFE, 0x1F, 0x80,
0xF8, 0x3F, 0x01, 0xF0, 0x7C, 0x03, 0xE0, 0xF8, 0x07, 0xC0, 0xF0, 0x07,
0x01, 0xC0, 0xF0, 0x1C, 0xF0, 0x70, 0xF1, 0xE1, 0xE3, 0x81, 0xEE, 0x01,
0xFC, 0x03, 0xF0, 0x03, 0xC0, 0x07, 0xC0, 0x0F, 0x80, 0x3F, 0x80, 0xE7,
0x81, 0xCF, 0x07, 0x0F, 0x1E, 0x0F, 0x38, 0x1E, 0xE0, 0x1E, 0xF0, 0x1E,
0xF0, 0x39, 0xE0, 0xE1, 0xE1, 0xC1, 0xC7, 0x03, 0xCE, 0x03, 0xB8, 0x07,
0xE0, 0x07, 0xC0, 0x07, 0x00, 0x0E, 0x00, 0x1C, 0x00, 0x38, 0x00, 0x70,
0x00, 0xE0, 0x01, 0xC0, 0x03, 0x80, 0xFF, 0xFF, 0xFF, 0xE0, 0x07, 0x80,
0x3C, 0x01, 0xE0, 0x07, 0x80, 0x3C, 0x01, 0xE0, 0x07, 0x80, 0x3C, 0x01,
0xE0, 0x07, 0x80, 0x3C, 0x01, 0xE0, 0x07, 0xFF, 0xBF, 0xFF, 0xFF, 0xFC,
0xFF, 0x31, 0x8C, 0x63, 0x18, 0xC6, 0x31, 0x8C, 0x63, 0x18, 0xC6, 0x31,
0xFF, 0x80, 0xE0, 0x60, 0x60, 0x70, 0x30, 0x30, 0x38, 0x18, 0x18, 0x1C,
0x0C, 0x0C, 0x0E, 0x06, 0x06, 0x07, 0x03, 0x03, 0xFC, 0x71, 0xC7, 0x1C,
0x71, 0xC7, 0x1C, 0x71, 0xC7, 0x1C, 0x71, 0xC7, 0x1C, 0x71, 0xFF, 0xF8,
0x08, 0x0E, 0x07, 0x07, 0xC3, 0x61, 0xB1, 0x8C, 0xC6, 0xE1, 0xE0, 0xC0,
0xFF, 0xFF, 0xF0, 0x41, 0xE1, 0xF0, 0x70, 0x0F, 0x0F, 0xFB, 0xEF, 0x70,
0x70, 0x0E, 0x0F, 0xCF, 0xFF, 0x87, 0xE0, 0xFC, 0x1F, 0x87, 0xFF, 0xF7,
0xCE, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0xF3, 0x8F, 0xFE, 0xFD, 0xEF,
0x07, 0xF0, 0x7F, 0x07, 0xF0, 0x7F, 0x07, 0xF0, 0x7F, 0x07, 0xF0, 0xFF,
0xFE, 0xEF, 0xC0, 0x0E, 0x07, 0xF9, 0xE7, 0x38, 0x7E, 0x01, 0xC0, 0x38,
0x07, 0x00, 0xE0, 0x1C, 0x0D, 0xC3, 0x9F, 0xE1, 0xF8, 0x00, 0x70, 0x07,
0x00, 0x70, 0x07, 0x0E, 0x73, 0xF7, 0x7D, 0xF7, 0x07, 0xE0, 0x7E, 0x07,
0xE0, 0x7E, 0x07, 0xE0, 0x7E, 0x07, 0x70, 0xF7, 0xFF, 0x3E, 0x70, 0x0F,
0x03, 0xFC, 0x79, 0xE7, 0x0E, 0xE0, 0x7E, 0x07, 0xFF, 0xFE, 0x00, 0xE0,
0x0E, 0x04, 0x70, 0x73, 0xFE, 0x1F, 0x80, 0x1F, 0x3F, 0x38, 0x38, 0x38,
0xFF, 0xFF, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38,
0x03, 0x8C, 0x7F, 0xF3, 0x87, 0x1C, 0x1C, 0x70, 0x71, 0xC1, 0xC3, 0xFE,
0x07, 0xF0, 0x30, 0x01, 0xE0, 0x07, 0xFF, 0x07, 0xFE, 0x60, 0x3B, 0x80,
0x6E, 0x03, 0x9F, 0xFC, 0x3F, 0xE0, 0xE0, 0x0E, 0x00, 0xE0, 0x0E, 0x00,
0xE3, 0x8E, 0x7E, 0xFF, 0xEF, 0x0F, 0xF0, 0x7F, 0x07, 0xF0, 0x7F, 0x07,
0xF0, 0x7F, 0x07, 0xF0, 0x7F, 0x07, 0xF0, 0x70, 0xFF, 0xF0, 0x0F, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x3C, 0xF1, 0xC0, 0x00, 0xF3, 0xCF, 0x3C,
0xF3, 0xCF, 0x3C, 0xF3, 0xCF, 0x3C, 0xF7, 0xBE, 0xF0, 0xF0, 0x0F, 0x00,
0xF0, 0x0F, 0x00, 0xF0, 0x1F, 0x0E, 0xF1, 0xCF, 0x38, 0xF7, 0x0F, 0xF0,
0xFF, 0x8F, 0xBC, 0xF1, 0xCF, 0x1E, 0xF0, 0xEF, 0x0F, 0xF0, 0x70, 0x77,
0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x03, 0x83, 0x9C, 0xFD,
0xFB, 0xFF, 0xFF, 0xF8, 0x78, 0x7F, 0x0E, 0x0F, 0xE1, 0xC1, 0xFC, 0x38,
0x3F, 0x87, 0x07, 0xF0, 0xE0, 0xFE, 0x1C, 0x1F, 0xC3, 0x83, 0xF8, 0x70,
0x7F, 0x0E, 0x0E, 0x01, 0x8E, 0x7E, 0xFF, 0xEF, 0x0F, 0xF0, 0x7F, 0x07,
0xF0, 0x7F, 0x07, 0xF0, 0x7F, 0x07, 0xF0, 0x7F, 0x07, 0xF0, 0x70, 0x0F,
0x03, 0xFC, 0x79, 0xE7, 0x0E, 0xE0, 0x7E, 0x07, 0xE0, 0x7E, 0x07, 0xE0,
0x7E, 0x07, 0x70, 0xE3, 0xFC, 0x1F, 0x80, 0x03, 0x8F, 0xFC, 0xF9, 0xEF,
0x0F, 0xF0, 0x7F, 0x07, 0xF0, 0x7F, 0x07, 0xF0, 0x7F, 0x07, 0xF0, 0xFF,
0xFE, 0xF7, 0xCF, 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x00, 0x0E, 0x03, 0xFB,
0x79, 0xFF, 0x0F, 0xE0, 0x7E, 0x07, 0xE0, 0x7E, 0x07, 0xE0, 0x7E, 0x07,
0x70, 0xF7, 0xFF, 0x3F, 0x70, 0x07, 0x00, 0x70, 0x07, 0x00, 0x70, 0x03,
0xE7, 0xFF, 0xF8, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0,
0x1E, 0x1F, 0xEF, 0x3F, 0x82, 0xE0, 0x3F, 0x07, 0xF8, 0x7F, 0x01, 0xD0,
0x3E, 0x1F, 0xFF, 0x3F, 0x80, 0x38, 0x38, 0x38, 0x38, 0x38, 0xFF, 0xFF,
0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x3F, 0x1F, 0xE0, 0xFC,
0x1F, 0x83, 0xF0, 0x7E, 0x0F, 0xC1, 0xF8, 0x3F, 0x07, 0xE0, 0xFE, 0x3D,
0xFF, 0x9F, 0x70, 0x70, 0x3B, 0x81, 0x8E, 0x1C, 0x70, 0xC3, 0xCE, 0x0E,
0x60, 0x73, 0x01, 0xF8, 0x0F, 0x80, 0x7C, 0x01, 0xC0, 0x0E, 0x00, 0xE1,
0xC1, 0xB8, 0x78, 0x6F, 0x1E, 0x39, 0xC7, 0x8C, 0x73, 0x73, 0x1C, 0xDD,
0xC3, 0xB7, 0x60, 0xF8, 0xF8, 0x3E, 0x3E, 0x07, 0x8F, 0x01, 0xC1, 0xC0,
0x70, 0x70, 0x78, 0x71, 0xC7, 0x07, 0x30, 0x3F, 0x80, 0xF8, 0x03, 0xC0,
0x3E, 0x01, 0xF8, 0x1D, 0xE1, 0xC7, 0x1C, 0x1C, 0xE0, 0xF0, 0xF0, 0x3B,
0x83, 0x8E, 0x18, 0x70, 0xC3, 0xCE, 0x0E, 0x60, 0x73, 0x01, 0xF0, 0x0F,
0x80, 0x7C, 0x01, 0xC0, 0x0E, 0x00, 0x60, 0x07, 0x01, 0xF0, 0x0F, 0x00,
0xFF, 0xFF, 0xF0, 0x38, 0x1C, 0x0F, 0x07, 0x81, 0xC0, 0xE0, 0x78, 0x3C,
0x0F, 0xFF, 0xFF, 0x1F, 0x1C, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x38,
0xF0, 0xF0, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1C, 0x1F, 0x0F,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x38, 0x18, 0x18, 0x18, 0x18,
0x18, 0x18, 0x1C, 0x0F, 0x0F, 0x1C, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
0x18, 0xF8, 0xF0, 0x00, 0x07, 0xE3, 0xFF, 0xE4, 0x1C };
const GFXglyph LibreFranklin_SemiBold12pt7bGlyphs[] PROGMEM = {
{ 0, 1, 1, 5, 0, 0 }, // 0x20 ' '
{ 1, 4, 17, 6, 1, -16 }, // 0x21 '!'
{ 10, 9, 6, 11, 1, -16 }, // 0x22 '"'
{ 17, 13, 17, 14, 1, -16 }, // 0x23 '#'
{ 45, 14, 21, 15, 0, -18 }, // 0x24 '$'
{ 82, 20, 18, 22, 1, -17 }, // 0x25 '%'
{ 127, 18, 18, 19, 1, -17 }, // 0x26 '&'
{ 168, 4, 6, 6, 1, -16 }, // 0x27 '''
{ 171, 6, 21, 7, 1, -16 }, // 0x28 '('
{ 187, 6, 21, 7, 0, -16 }, // 0x29 ')'
{ 203, 9, 9, 10, 1, -16 }, // 0x2A '*'
{ 214, 11, 11, 13, 1, -13 }, // 0x2B '+'
{ 230, 4, 7, 6, 1, -2 }, // 0x2C ','
{ 234, 7, 2, 9, 1, -6 }, // 0x2D '-'
{ 236, 3, 3, 6, 1, -2 }, // 0x2E '.'
{ 238, 8, 18, 8, 0, -16 }, // 0x2F '/'
{ 256, 14, 18, 16, 1, -17 }, // 0x30 '0'
{ 288, 10, 17, 12, 1, -16 }, // 0x31 '1'
{ 310, 13, 18, 15, 1, -17 }, // 0x32 '2'
{ 340, 13, 18, 15, 1, -17 }, // 0x33 '3'
{ 370, 14, 17, 16, 1, -16 }, // 0x34 '4'
{ 400, 14, 17, 16, 1, -16 }, // 0x35 '5'
{ 430, 14, 18, 16, 1, -17 }, // 0x36 '6'
{ 462, 13, 17, 14, 1, -16 }, // 0x37 '7'
{ 490, 14, 18, 16, 1, -17 }, // 0x38 '8'
{ 522, 14, 18, 16, 1, -17 }, // 0x39 '9'
{ 554, 3, 12, 6, 1, -11 }, // 0x3A ':'
{ 559, 4, 16, 6, 1, -11 }, // 0x3B ';'
{ 567, 11, 11, 13, 1, -13 }, // 0x3C '<'
{ 583, 11, 8, 13, 1, -11 }, // 0x3D '='
{ 594, 11, 11, 13, 1, -13 }, // 0x3E '>'
{ 610, 12, 18, 13, 0, -17 }, // 0x3F '?'
{ 637, 18, 19, 20, 1, -15 }, // 0x40 '@'
{ 680, 16, 17, 18, 1, -16 }, // 0x41 'A'
{ 714, 14, 17, 17, 2, -16 }, // 0x42 'B'
{ 744, 15, 18, 17, 1, -17 }, // 0x43 'C'
{ 778, 14, 17, 17, 2, -16 }, // 0x44 'D'
{ 808, 12, 17, 15, 2, -16 }, // 0x45 'E'
{ 834, 12, 17, 15, 2, -16 }, // 0x46 'F'
{ 860, 15, 18, 18, 1, -17 }, // 0x47 'G'
{ 894, 14, 17, 18, 2, -16 }, // 0x48 'H'
{ 924, 3, 17, 7, 2, -16 }, // 0x49 'I'
{ 931, 8, 17, 10, 1, -16 }, // 0x4A 'J'
{ 948, 14, 17, 17, 2, -16 }, // 0x4B 'K'
{ 978, 12, 17, 15, 2, -16 }, // 0x4C 'L'
{ 1004, 18, 17, 22, 2, -16 }, // 0x4D 'M'
{ 1043, 14, 17, 18, 2, -16 }, // 0x4E 'N'
{ 1073, 16, 18, 18, 1, -17 }, // 0x4F 'O'
{ 1109, 14, 17, 17, 2, -16 }, // 0x50 'P'
{ 1139, 16, 21, 18, 1, -17 }, // 0x51 'Q'
{ 1181, 14, 17, 17, 2, -16 }, // 0x52 'R'
{ 1211, 14, 18, 16, 1, -17 }, // 0x53 'S'
{ 1243, 14, 17, 16, 1, -16 }, // 0x54 'T'
{ 1273, 13, 17, 17, 2, -16 }, // 0x55 'U'
{ 1301, 15, 17, 17, 1, -16 }, // 0x56 'V'
{ 1333, 23, 17, 25, 1, -16 }, // 0x57 'W'
{ 1382, 15, 17, 17, 1, -16 }, // 0x58 'X'
{ 1414, 15, 17, 17, 1, -16 }, // 0x59 'Y'
{ 1446, 14, 17, 16, 1, -16 }, // 0x5A 'Z'
{ 1476, 5, 21, 7, 2, -16 }, // 0x5B '['
{ 1490, 8, 18, 8, 0, -16 }, // 0x5C '\'
{ 1508, 6, 21, 7, 0, -16 }, // 0x5D ']'
{ 1524, 9, 10, 11, 1, -12 }, // 0x5E '^'
{ 1536, 10, 2, 13, 1, 2 }, // 0x5F '_'
{ 1539, 7, 4, 7, 0, -17 }, // 0x60 '`'
{ 1543, 11, 13, 13, 1, -12 }, // 0x61 'a'
{ 1561, 12, 17, 14, 1, -16 }, // 0x62 'b'
{ 1587, 11, 13, 13, 1, -12 }, // 0x63 'c'
{ 1605, 12, 17, 14, 1, -16 }, // 0x64 'd'
{ 1631, 12, 13, 14, 1, -12 }, // 0x65 'e'
{ 1651, 8, 17, 9, 1, -16 }, // 0x66 'f'
{ 1668, 14, 17, 15, 0, -12 }, // 0x67 'g'
{ 1698, 12, 17, 14, 1, -16 }, // 0x68 'h'
{ 1724, 4, 17, 6, 1, -16 }, // 0x69 'i'
{ 1733, 6, 21, 6, -1, -16 }, // 0x6A 'j'
{ 1749, 12, 17, 14, 1, -16 }, // 0x6B 'k'
{ 1775, 4, 17, 6, 1, -16 }, // 0x6C 'l'
{ 1784, 19, 13, 21, 1, -12 }, // 0x6D 'm'
{ 1815, 12, 13, 14, 1, -12 }, // 0x6E 'n'
{ 1835, 12, 13, 14, 1, -12 }, // 0x6F 'o'
{ 1855, 12, 17, 14, 1, -12 }, // 0x70 'p'
{ 1881, 12, 17, 14, 1, -12 }, // 0x71 'q'
{ 1907, 8, 13, 10, 1, -12 }, // 0x72 'r'
{ 1920, 10, 13, 12, 1, -12 }, // 0x73 's'
{ 1937, 8, 17, 10, 1, -16 }, // 0x74 't'
{ 1954, 11, 12, 14, 1, -11 }, // 0x75 'u'
{ 1971, 13, 12, 13, 0, -11 }, // 0x76 'v'
{ 1991, 18, 12, 19, 1, -11 }, // 0x77 'w'
{ 2018, 13, 12, 14, 0, -11 }, // 0x78 'x'
{ 2038, 13, 16, 13, 0, -11 }, // 0x79 'y'
{ 2064, 10, 12, 12, 1, -11 }, // 0x7A 'z'
{ 2079, 8, 21, 8, 0, -16 }, // 0x7B '{'
{ 2100, 2, 24, 6, 2, -19 }, // 0x7C '|'
{ 2106, 8, 21, 8, 0, -16 }, // 0x7D '}'
{ 2127, 12, 4, 14, 1, -10 } }; // 0x7E '~'
const GFXfont LibreFranklin_SemiBold12pt7b PROGMEM = {
(uint8_t *)LibreFranklin_SemiBold12pt7bBitmaps,
(GFXglyph *)LibreFranklin_SemiBold12pt7bGlyphs,
0x20, 0x7E, 28 };
// Approx. 2805 bytes

383
src/fonts/LibreFranklin15.h Normal file
View file

@ -0,0 +1,383 @@
const uint8_t LibreFranklin_SemiBold15pt7bBitmaps[] PROGMEM = {
0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, 0xEE, 0xEE, 0xE6, 0x00, 0xFF, 0xFF,
0xF3, 0xFC, 0xFE, 0x3B, 0x8E, 0xE3, 0xB8, 0xEE, 0x39, 0x86, 0x06, 0x08,
0x06, 0x1C, 0x06, 0x18, 0x06, 0x18, 0x06, 0x18, 0x06, 0x18, 0x0E, 0x18,
0x7F, 0xFF, 0x7F, 0xFF, 0x0C, 0x30, 0x0C, 0x30, 0x0C, 0x30, 0x0C, 0x30,
0xFF, 0xFE, 0xFF, 0xFE, 0x18, 0x70, 0x18, 0x60, 0x18, 0x60, 0x18, 0x60,
0x38, 0x60, 0x30, 0x60, 0x30, 0xE0, 0x01, 0xC0, 0x00, 0xE0, 0x00, 0xF8,
0x03, 0xFF, 0x83, 0xFF, 0xF3, 0xCE, 0xF1, 0xC7, 0x10, 0xE3, 0x80, 0xF1,
0xC0, 0x38, 0xE0, 0x1F, 0x70, 0x0F, 0xF8, 0x03, 0xFF, 0x80, 0x7F, 0xF0,
0x0F, 0xFC, 0x03, 0xBE, 0x01, 0xCF, 0x80, 0xE3, 0xC0, 0x71, 0xEC, 0x38,
0xFF, 0x1C, 0xF7, 0xFF, 0xF8, 0xFF, 0xF8, 0x3F, 0xF0, 0x01, 0xC0, 0x00,
0xE0, 0x00, 0x1F, 0x00, 0x18, 0x1F, 0xC0, 0x18, 0x1C, 0x70, 0x1C, 0x0E,
0x1C, 0x0C, 0x0E, 0x0E, 0x0C, 0x07, 0x07, 0x0E, 0x03, 0x83, 0x86, 0x01,
0xC1, 0xC6, 0x00, 0x70, 0xE7, 0x00, 0x38, 0xE3, 0x00, 0x0F, 0xF3, 0x1F,
0x03, 0xE3, 0x9F, 0xC0, 0x01, 0x9C, 0x70, 0x01, 0x8E, 0x1C, 0x01, 0xC6,
0x0E, 0x00, 0xC7, 0x07, 0x00, 0xC3, 0x83, 0x80, 0xE1, 0xC1, 0xC0, 0x60,
0x70, 0xE0, 0x60, 0x38, 0xE0, 0x70, 0x0F, 0xF0, 0x30, 0x03, 0xF0, 0x03,
0xF8, 0x00, 0x1F, 0xF8, 0x00, 0xF9, 0xE0, 0x07, 0x83, 0xC0, 0x1E, 0x0F,
0x00, 0x78, 0x3C, 0x01, 0xE0, 0xE0, 0x03, 0xC7, 0x80, 0x0F, 0xFC, 0x00,
0x1F, 0xC0, 0x00, 0x7E, 0x03, 0x07, 0xFC, 0x0E, 0x3E, 0xF8, 0x71, 0xE1,
0xF3, 0xCF, 0x87, 0xFE, 0x3C, 0x0F, 0xF0, 0xF0, 0x1F, 0xC3, 0xE0, 0x3F,
0x0F, 0xC1, 0xFF, 0x1F, 0xFF, 0xFF, 0x3F, 0xF8, 0xFC, 0x3F, 0x80, 0xF0,
0xFF, 0xEE, 0xEE, 0xE6, 0x0C, 0x73, 0x8E, 0x39, 0xC7, 0x3C, 0xF3, 0x8E,
0x38, 0xE3, 0x8E, 0x38, 0xE3, 0x8F, 0x3C, 0x71, 0xC7, 0x8E, 0x38, 0x70,
0xC0, 0x60, 0xE1, 0xC1, 0xC3, 0x83, 0x87, 0x0E, 0x1E, 0x1C, 0x38, 0x70,
0xE1, 0xC3, 0x87, 0x0E, 0x1C, 0x78, 0xF1, 0xC3, 0x8E, 0x1C, 0x30, 0xE1,
0x80, 0x0E, 0x01, 0xC0, 0x38, 0x67, 0x3F, 0xDF, 0xFF, 0x83, 0x80, 0xF8,
0x3B, 0x8E, 0x39, 0xC6, 0x00, 0x07, 0x00, 0x38, 0x01, 0xC0, 0x0E, 0x00,
0x70, 0x03, 0x83, 0xFF, 0xFF, 0xFF, 0x07, 0x00, 0x38, 0x01, 0xC0, 0x0E,
0x00, 0x70, 0x03, 0x80, 0xFF, 0xFF, 0xF3, 0x31, 0x98, 0xFF, 0xFF, 0xFE,
0xFF, 0xFF, 0xF0, 0x00, 0xC0, 0x70, 0x1C, 0x06, 0x03, 0x80, 0xE0, 0x30,
0x1C, 0x07, 0x01, 0x80, 0xE0, 0x38, 0x0C, 0x07, 0x01, 0xC0, 0x60, 0x38,
0x0E, 0x03, 0x01, 0xC0, 0x70, 0x18, 0x0E, 0x00, 0x07, 0xE0, 0x0F, 0xFC,
0x0F, 0xFF, 0x07, 0x87, 0xC7, 0x81, 0xF3, 0xC0, 0x7B, 0xC0, 0x3D, 0xE0,
0x1F, 0xF0, 0x07, 0xF8, 0x03, 0xFC, 0x01, 0xFE, 0x00, 0xFF, 0x00, 0x7F,
0x80, 0x3F, 0xC0, 0x3F, 0xE0, 0x1E, 0xF8, 0x0F, 0x3C, 0x0F, 0x9F, 0x0F,
0x87, 0xFF, 0x81, 0xFF, 0x80, 0x3F, 0x80, 0x07, 0x81, 0xF8, 0x7F, 0x8F,
0xF8, 0xFF, 0x88, 0xF8, 0x0F, 0x80, 0xF8, 0x0F, 0x80, 0xF8, 0x0F, 0x80,
0xF8, 0x0F, 0x80, 0xF8, 0x0F, 0x80, 0xF8, 0x0F, 0x80, 0xF8, 0x0F, 0x8F,
0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0xF0, 0x1F, 0xFC, 0x3F, 0xFE, 0x7C, 0x3E,
0xF8, 0x1F, 0x70, 0x0F, 0x00, 0x0F, 0x00, 0x1F, 0x00, 0x1F, 0x00, 0x3E,
0x00, 0x7C, 0x00, 0xF8, 0x01, 0xF0, 0x03, 0xE0, 0x07, 0xC0, 0x0F, 0x80,
0x1F, 0x00, 0x3E, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0x07, 0xF0, 0x0F, 0xFE, 0x1F, 0xFF, 0x8F, 0x83, 0xE3, 0x00, 0xF0, 0x00,
0x78, 0x00, 0x3C, 0x00, 0x3E, 0x00, 0x3E, 0x03, 0xFE, 0x01, 0xFE, 0x00,
0xFF, 0xC0, 0x07, 0xF0, 0x00, 0x78, 0x00, 0x3E, 0x00, 0x0F, 0x00, 0x07,
0xB8, 0x07, 0xFE, 0x07, 0xCF, 0xFF, 0xE3, 0xFF, 0xE0, 0x7F, 0xC0, 0x00,
0x3C, 0x00, 0x1F, 0x00, 0x0F, 0xC0, 0x03, 0xF0, 0x01, 0xFC, 0x00, 0xEF,
0x00, 0x7B, 0xC0, 0x1C, 0xF0, 0x0E, 0x3C, 0x07, 0x0F, 0x03, 0xC3, 0xC0,
0xE0, 0xF0, 0x70, 0x3C, 0x3C, 0x0F, 0x8F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xC0, 0x0F, 0x00, 0x03, 0xC0, 0x00, 0xF0, 0x00, 0x3C, 0x00, 0x0F,
0x00, 0x3F, 0xFF, 0x1F, 0xFF, 0x8F, 0xFF, 0xC7, 0xFF, 0xE3, 0x80, 0x01,
0xC0, 0x00, 0xE0, 0x00, 0x70, 0x00, 0x79, 0xF8, 0x3F, 0xFF, 0x1F, 0xFF,
0xC7, 0xC7, 0xF0, 0x80, 0xF8, 0x00, 0x3C, 0x00, 0x1E, 0x00, 0x0F, 0x20,
0x07, 0xB8, 0x07, 0xFE, 0x07, 0xCF, 0xFF, 0xE3, 0xFF, 0xE0, 0x7F, 0xC0,
0x03, 0xF0, 0x07, 0xFE, 0x07, 0xFF, 0x87, 0xC3, 0xC7, 0x80, 0xC3, 0xC0,
0x03, 0xC0, 0x01, 0xE0, 0x00, 0xF0, 0x00, 0x79, 0xFC, 0x3F, 0xFF, 0x9F,
0xFF, 0xCF, 0x81, 0xF7, 0x80, 0x7B, 0xC0, 0x3F, 0xE0, 0x1F, 0xF0, 0x0F,
0xBC, 0x07, 0x9F, 0x07, 0xC7, 0xFF, 0xC1, 0xFF, 0xC0, 0x3F, 0x80, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x1E, 0x00, 0x3C, 0x00,
0x38, 0x00, 0x78, 0x00, 0x70, 0x00, 0xF0, 0x00, 0xF0, 0x01, 0xE0, 0x01,
0xE0, 0x03, 0xC0, 0x03, 0xC0, 0x07, 0xC0, 0x07, 0x80, 0x0F, 0x80, 0x0F,
0x80, 0x0F, 0x00, 0x0F, 0x00, 0x1F, 0x00, 0x07, 0xF0, 0x03, 0xFF, 0x03,
0xFF, 0xE0, 0xF8, 0x7C, 0x7C, 0x0F, 0x1E, 0x01, 0xE7, 0x80, 0x79, 0xF0,
0x1C, 0x7E, 0x0F, 0x0F, 0xFF, 0x81, 0xFF, 0xC0, 0x3F, 0xF8, 0x1F, 0xFF,
0x1E, 0x07, 0xE7, 0x00, 0x79, 0xC0, 0x1F, 0xF0, 0x07, 0xFE, 0x01, 0xE7,
0x80, 0xF9, 0xFF, 0xFC, 0x3F, 0xFE, 0x03, 0xFE, 0x00, 0x07, 0xF0, 0x0F,
0xFE, 0x0F, 0xFF, 0x8F, 0x83, 0xC7, 0x80, 0xF7, 0xC0, 0x7B, 0xE0, 0x1F,
0xF0, 0x0F, 0xF8, 0x07, 0xBE, 0x07, 0xDF, 0xDF, 0xE7, 0xFF, 0xF0, 0xFF,
0x78, 0x00, 0x3C, 0x00, 0x1E, 0x00, 0x0F, 0x00, 0x0F, 0x0C, 0x07, 0x9F,
0x07, 0x87, 0xFF, 0xC1, 0xFF, 0x80, 0x7F, 0x80, 0xFF, 0xFF, 0xF0, 0x00,
0x00, 0x00, 0x01, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x00,
0x01, 0xFF, 0xFF, 0xE6, 0x63, 0x31, 0x00, 0x00, 0x0C, 0x01, 0xF0, 0x1F,
0xC3, 0xFE, 0x3F, 0xC3, 0xFC, 0x0F, 0x80, 0x3F, 0x80, 0x7F, 0x80, 0x7F,
0xC0, 0x3F, 0xC0, 0x1F, 0x00, 0x1C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0xFF, 0xF8, 0xC0, 0x07, 0x80,
0x3F, 0x80, 0xFF, 0x01, 0xFF, 0x01, 0xFC, 0x01, 0xE0, 0x3F, 0x0F, 0xFB,
0xFE, 0x3F, 0xC1, 0xF0, 0x0C, 0x00, 0x00, 0x0F, 0xE0, 0x3F, 0xF0, 0xFF,
0xF3, 0xC1, 0xEF, 0x01, 0xE0, 0x03, 0xC0, 0x07, 0x80, 0x1E, 0x00, 0x78,
0x01, 0xF0, 0x07, 0xC0, 0x0E, 0x00, 0x3C, 0x00, 0x70, 0x00, 0xE0, 0x01,
0xC0, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x3C, 0x00, 0x78, 0x00, 0xF0,
0x00, 0x01, 0xFF, 0x80, 0x0F, 0xFF, 0xC0, 0x3C, 0x03, 0xC0, 0xE0, 0x01,
0xC3, 0x80, 0x01, 0xC6, 0x0F, 0x03, 0x9C, 0x3F, 0x63, 0x30, 0xF7, 0xC7,
0x63, 0x87, 0x8F, 0xC7, 0x07, 0x1F, 0x8C, 0x0E, 0x3F, 0x18, 0x18, 0x6E,
0x30, 0x70, 0xDC, 0x70, 0xE3, 0x98, 0xF7, 0xFE, 0x38, 0xFF, 0xF8, 0x70,
0xF0, 0xC0, 0x70, 0x00, 0x00, 0x70, 0x00, 0x00, 0x78, 0x07, 0x00, 0x7F,
0xFC, 0x00, 0x3F, 0xE0, 0x00, 0x00, 0xF8, 0x00, 0x1F, 0x80, 0x01, 0xF8,
0x00, 0x1F, 0xC0, 0x03, 0xFC, 0x00, 0x3B, 0xC0, 0x07, 0x9E, 0x00, 0x79,
0xE0, 0x07, 0x1F, 0x00, 0xF0, 0xF0, 0x0F, 0x0F, 0x00, 0xE0, 0xF8, 0x1E,
0x07, 0x81, 0xFF, 0xF8, 0x1F, 0xFF, 0xC3, 0xFF, 0xFC, 0x3F, 0xFF, 0xC7,
0x80, 0x3E, 0x78, 0x01, 0xE7, 0x80, 0x1E, 0xF0, 0x01, 0xFF, 0x00, 0x0F,
0xFF, 0xE0, 0x3F, 0xFF, 0x8F, 0xFF, 0xF3, 0xE0, 0xFC, 0xF8, 0x0F, 0xBE,
0x01, 0xEF, 0x80, 0x7B, 0xE0, 0x1E, 0xF8, 0x0F, 0x3F, 0xFF, 0x8F, 0xFF,
0xC3, 0xFF, 0xF8, 0xFF, 0xFF, 0x3E, 0x03, 0xEF, 0x80, 0x7B, 0xE0, 0x1F,
0xF8, 0x07, 0xFE, 0x01, 0xEF, 0x81, 0xFB, 0xFF, 0xFC, 0xFF, 0xFE, 0x3F,
0xFE, 0x00, 0x01, 0xFC, 0x00, 0xFF, 0xC0, 0x7F, 0xFE, 0x0F, 0x87, 0xE3,
0xE0, 0x3C, 0xF8, 0x07, 0xDF, 0x00, 0x7B, 0xC0, 0x00, 0x78, 0x00, 0x0F,
0x00, 0x03, 0xE0, 0x00, 0x3C, 0x00, 0x07, 0x80, 0x00, 0xF0, 0x00, 0x1E,
0x00, 0x03, 0xE0, 0x0F, 0x7C, 0x01, 0xE7, 0xC0, 0x78, 0x7C, 0x1F, 0x0F,
0xFF, 0xC0, 0xFF, 0xF0, 0x07, 0xF8, 0x00, 0xFF, 0x80, 0x3F, 0xFE, 0x0F,
0xFF, 0xE3, 0xE3, 0xFC, 0xF8, 0x1F, 0xBE, 0x03, 0xEF, 0x80, 0x7F, 0xE0,
0x1F, 0xF8, 0x07, 0xFE, 0x00, 0xFF, 0x80, 0x3F, 0xE0, 0x0F, 0xF8, 0x03,
0xFE, 0x00, 0xFF, 0x80, 0x7F, 0xE0, 0x1F, 0xF8, 0x0F, 0xBE, 0x07, 0xEF,
0x87, 0xF3, 0xFF, 0xF8, 0xFF, 0xFC, 0x3F, 0xF8, 0x00, 0xFF, 0xFE, 0xFF,
0xFE, 0xFF, 0xFE, 0xF8, 0x00, 0xF8, 0x00, 0xF8, 0x00, 0xF8, 0x00, 0xF8,
0x00, 0xF8, 0x00, 0xFF, 0xF0, 0xFF, 0xF0, 0xFF, 0xF0, 0xFF, 0xF0, 0xF8,
0x00, 0xF8, 0x00, 0xF8, 0x00, 0xF8, 0x00, 0xF8, 0x00, 0xF8, 0x00, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0,
0x0F, 0x80, 0x1F, 0x00, 0x3E, 0x00, 0x7C, 0x00, 0xF8, 0x01, 0xF0, 0x03,
0xFF, 0xC7, 0xFF, 0x8F, 0xFF, 0x1F, 0x00, 0x3E, 0x00, 0x7C, 0x00, 0xF8,
0x01, 0xF0, 0x03, 0xE0, 0x07, 0xC0, 0x0F, 0x80, 0x1F, 0x00, 0x00, 0x01,
0xFC, 0x00, 0xFF, 0xE0, 0x3F, 0xFE, 0x0F, 0x87, 0xE3, 0xE0, 0x3C, 0x78,
0x07, 0xDF, 0x00, 0x7B, 0xC0, 0x00, 0x78, 0x00, 0x0F, 0x00, 0x03, 0xE0,
0x00, 0x7C, 0x1F, 0xF7, 0x83, 0xFE, 0xF0, 0x3F, 0xDE, 0x00, 0x7B, 0xE0,
0x0F, 0x7C, 0x01, 0xE7, 0xC0, 0x7C, 0xFC, 0x1F, 0x8F, 0xFF, 0xB0, 0xFF,
0xE6, 0x07, 0xF8, 0xC0, 0xF8, 0x07, 0xFE, 0x01, 0xFF, 0x80, 0x7F, 0xE0,
0x1F, 0xF8, 0x07, 0xFE, 0x01, 0xFF, 0x80, 0x7F, 0xE0, 0x1F, 0xF8, 0x07,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x07, 0xFE, 0x01, 0xFF,
0x80, 0x7F, 0xE0, 0x1F, 0xF8, 0x07, 0xFE, 0x01, 0xFF, 0x80, 0x7F, 0xE0,
0x1F, 0xF8, 0x07, 0xFE, 0x01, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x07, 0xC1, 0xF0, 0x7C,
0x1F, 0x07, 0xC1, 0xF0, 0x7C, 0x1F, 0x07, 0xC1, 0xF0, 0x7C, 0x1F, 0x07,
0xC1, 0xF0, 0x7C, 0x1F, 0x07, 0xC1, 0xFC, 0xFB, 0xFE, 0xFF, 0xBF, 0xC0,
0xF8, 0x07, 0xBE, 0x03, 0xEF, 0x81, 0xF3, 0xE0, 0x78, 0xF8, 0x3C, 0x3E,
0x1E, 0x0F, 0x8F, 0x03, 0xE7, 0x80, 0xFB, 0xE0, 0x3E, 0xFC, 0x0F, 0xFF,
0x03, 0xFF, 0xE0, 0xFE, 0x78, 0x3F, 0x1F, 0x0F, 0xC3, 0xE3, 0xE0, 0xF8,
0xF8, 0x1F, 0x3E, 0x07, 0xCF, 0x80, 0xFB, 0xE0, 0x3E, 0xF8, 0x07, 0xFE,
0x00, 0xF0, 0xF8, 0x01, 0xF0, 0x03, 0xE0, 0x07, 0xC0, 0x0F, 0x80, 0x1F,
0x00, 0x3E, 0x00, 0x7C, 0x00, 0xF8, 0x01, 0xF0, 0x03, 0xE0, 0x07, 0xC0,
0x0F, 0x80, 0x1F, 0x00, 0x3E, 0x00, 0x7C, 0x00, 0xF8, 0x01, 0xF0, 0x03,
0xE0, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xFC, 0x00, 0x7F, 0xFC,
0x00, 0xFF, 0xF8, 0x03, 0xFF, 0xF0, 0x07, 0xFF, 0xF0, 0x0F, 0xFF, 0xE0,
0x3F, 0xFF, 0xE0, 0x77, 0xFB, 0xC1, 0xEF, 0xF7, 0x83, 0xDF, 0xEF, 0x87,
0x3F, 0xCF, 0x1E, 0x7F, 0x9E, 0x3C, 0xFF, 0x3E, 0x71, 0xFE, 0x3D, 0xE3,
0xFC, 0x7F, 0xC7, 0xF8, 0xFF, 0x0F, 0xF0, 0xFE, 0x1F, 0xE1, 0xF8, 0x3F,
0xC1, 0xF0, 0x7F, 0x83, 0xE0, 0xFF, 0x07, 0x81, 0xFE, 0x07, 0x03, 0xC0,
0xF0, 0x01, 0xFE, 0x00, 0xFF, 0xC0, 0x3F, 0xF8, 0x0F, 0xFE, 0x03, 0xFF,
0xC0, 0xFF, 0xF8, 0x3F, 0xFE, 0x0F, 0xF7, 0xC3, 0xFC, 0xF8, 0xFF, 0x3E,
0x3F, 0xC7, 0xCF, 0xF0, 0xFB, 0xFC, 0x1E, 0xFF, 0x07, 0xFF, 0xC0, 0xFF,
0xF0, 0x1F, 0xFC, 0x07, 0xFF, 0x00, 0xFF, 0xC0, 0x1F, 0xF0, 0x07, 0xFC,
0x00, 0xF0, 0x03, 0xF8, 0x01, 0xFF, 0xC0, 0x7F, 0xFC, 0x1F, 0x07, 0xC7,
0xC0, 0x7C, 0xF0, 0x07, 0xBE, 0x00, 0xF7, 0x80, 0x1F, 0xF0, 0x03, 0xFE,
0x00, 0x7F, 0xC0, 0x07, 0xF8, 0x00, 0xFF, 0x00, 0x3F, 0xE0, 0x07, 0xFC,
0x00, 0xFF, 0xC0, 0x1F, 0xF8, 0x03, 0xCF, 0x80, 0xF9, 0xF8, 0x3E, 0x1F,
0xFF, 0x81, 0xFF, 0xE0, 0x0F, 0xF0, 0x00, 0xFF, 0xF0, 0x7F, 0xFF, 0x3F,
0xFF, 0xDF, 0x07, 0xFF, 0x80, 0xFF, 0xC0, 0x3F, 0xE0, 0x1F, 0xF0, 0x0F,
0xF8, 0x07, 0xFC, 0x07, 0xFF, 0xFF, 0xDF, 0xFF, 0xEF, 0xFF, 0xC7, 0xC0,
0x03, 0xE0, 0x01, 0xF0, 0x00, 0xF8, 0x00, 0x7C, 0x00, 0x3E, 0x00, 0x1F,
0x00, 0x0F, 0x80, 0x07, 0xC0, 0x00, 0x03, 0xF8, 0x01, 0xFF, 0xC0, 0x7F,
0xFC, 0x1F, 0x07, 0xC7, 0xC0, 0x7C, 0xF0, 0x07, 0xBE, 0x00, 0xF7, 0x80,
0x1F, 0xF0, 0x03, 0xFE, 0x00, 0x3F, 0xC0, 0x07, 0xF8, 0x00, 0xFF, 0x00,
0x1F, 0xE0, 0x07, 0xFC, 0x00, 0xFF, 0xC0, 0x1F, 0xF8, 0x03, 0xCF, 0x80,
0xF9, 0xF8, 0x3E, 0x1F, 0xFF, 0x81, 0xFF, 0xE0, 0x0F, 0xFE, 0x00, 0x03,
0xF8, 0x00, 0x3F, 0x00, 0x03, 0xE0, 0x00, 0x1C, 0xFF, 0xF8, 0x3F, 0xFF,
0x8F, 0xFF, 0xF3, 0xE0, 0x7E, 0xF8, 0x07, 0xBE, 0x01, 0xFF, 0x80, 0x7F,
0xE0, 0x1E, 0xF8, 0x0F, 0xBE, 0x0F, 0xEF, 0xFF, 0xF3, 0xFF, 0xF0, 0xFF,
0xF8, 0x3E, 0x0F, 0x0F, 0x83, 0xC3, 0xE0, 0xF8, 0xF8, 0x1E, 0x3E, 0x07,
0xCF, 0x80, 0xF3, 0xE0, 0x3C, 0xF8, 0x0F, 0xBE, 0x01, 0xE0, 0x07, 0xF8,
0x0F, 0xFF, 0x0F, 0xFF, 0xC7, 0xC1, 0xF7, 0x80, 0x63, 0xC0, 0x01, 0xE0,
0x00, 0xF8, 0x00, 0x7F, 0x00, 0x1F, 0xF0, 0x07, 0xFF, 0x01, 0xFF, 0xC0,
0x1F, 0xF0, 0x01, 0xFC, 0x00, 0x3E, 0x00, 0x0F, 0x20, 0x07, 0xB8, 0x03,
0xFE, 0x03, 0xEF, 0xFF, 0xE3, 0xFF, 0xE0, 0x7F, 0xC0, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFC, 0x07, 0x80, 0x01, 0xE0, 0x00, 0x78, 0x00, 0x1E,
0x00, 0x07, 0x80, 0x01, 0xE0, 0x00, 0x78, 0x00, 0x1E, 0x00, 0x07, 0x80,
0x01, 0xE0, 0x00, 0x78, 0x00, 0x1E, 0x00, 0x07, 0x80, 0x01, 0xE0, 0x00,
0x78, 0x00, 0x1E, 0x00, 0x07, 0x80, 0x01, 0xE0, 0x00, 0x78, 0x00, 0xF0,
0x07, 0xF8, 0x03, 0xFC, 0x01, 0xFE, 0x00, 0xFF, 0x00, 0x7F, 0x80, 0x3F,
0xC0, 0x1F, 0xE0, 0x0F, 0xF0, 0x07, 0xF8, 0x03, 0xFC, 0x01, 0xFE, 0x00,
0xFF, 0x00, 0x7F, 0x80, 0x3F, 0xC0, 0x1F, 0xE0, 0x0F, 0xF8, 0x07, 0xBC,
0x03, 0xDF, 0x07, 0xCF, 0xFF, 0xE3, 0xFF, 0xE0, 0x7F, 0xC0, 0xF8, 0x00,
0xFF, 0x00, 0x3D, 0xE0, 0x07, 0xBE, 0x01, 0xE7, 0xC0, 0x3C, 0x78, 0x07,
0x8F, 0x81, 0xE1, 0xF0, 0x3C, 0x1E, 0x07, 0x83, 0xE0, 0xE0, 0x7C, 0x3C,
0x07, 0x87, 0x00, 0xF8, 0xE0, 0x1F, 0x3C, 0x01, 0xE7, 0x00, 0x3E, 0xE0,
0x03, 0xFC, 0x00, 0x7F, 0x00, 0x0F, 0xE0, 0x00, 0xFC, 0x00, 0x1F, 0x00,
0x03, 0xE0, 0x00, 0xF0, 0x07, 0x80, 0x3F, 0xC0, 0x3C, 0x01, 0xDE, 0x01,
0xF0, 0x1E, 0xF0, 0x1F, 0x80, 0xF7, 0xC0, 0xFC, 0x07, 0x3E, 0x07, 0xF0,
0x78, 0xF0, 0x7F, 0x83, 0xC7, 0x83, 0xFC, 0x1C, 0x3E, 0x1D, 0xE0, 0xE0,
0xF0, 0xE7, 0x8F, 0x07, 0x8F, 0x3C, 0x78, 0x3E, 0x71, 0xE3, 0x80, 0xF3,
0x8F, 0xBC, 0x07, 0xBC, 0x3D, 0xE0, 0x3D, 0xE1, 0xEE, 0x01, 0xFE, 0x0F,
0x70, 0x07, 0xF0, 0x3F, 0x80, 0x3F, 0x81, 0xF8, 0x01, 0xF8, 0x0F, 0xC0,
0x07, 0xC0, 0x7E, 0x00, 0x3E, 0x01, 0xF0, 0x01, 0xF0, 0x0F, 0x00, 0xF8,
0x03, 0xCF, 0x80, 0xF9, 0xF0, 0x1E, 0x1F, 0x07, 0x81, 0xF0, 0xF0, 0x3E,
0x3C, 0x03, 0xEF, 0x00, 0x3F, 0xE0, 0x07, 0xF8, 0x00, 0x7E, 0x00, 0x07,
0xC0, 0x00, 0xF8, 0x00, 0x3F, 0x80, 0x0F, 0xF8, 0x01, 0xEF, 0x00, 0x79,
0xF0, 0x1E, 0x1F, 0x03, 0xC1, 0xE0, 0xF0, 0x3E, 0x3E, 0x03, 0xE7, 0x80,
0x7D, 0xE0, 0x07, 0xC0, 0xF8, 0x01, 0xEF, 0x00, 0x79, 0xF0, 0x0F, 0x1F,
0x03, 0xC3, 0xE0, 0x78, 0x3E, 0x1E, 0x03, 0xC3, 0x80, 0x7C, 0xF0, 0x07,
0xBC, 0x00, 0xFF, 0x80, 0x0F, 0xE0, 0x00, 0xF8, 0x00, 0x1F, 0x00, 0x03,
0xE0, 0x00, 0x7C, 0x00, 0x0F, 0x80, 0x01, 0xF0, 0x00, 0x3E, 0x00, 0x07,
0xC0, 0x00, 0xF8, 0x00, 0x1F, 0x00, 0x03, 0xE0, 0x00, 0x7F, 0xFF, 0xBF,
0xFF, 0xDF, 0xFF, 0xE0, 0x03, 0xE0, 0x01, 0xF0, 0x01, 0xF0, 0x01, 0xF0,
0x00, 0xF8, 0x00, 0xF8, 0x00, 0xF8, 0x00, 0x7C, 0x00, 0x7C, 0x00, 0x7C,
0x00, 0x3E, 0x00, 0x3E, 0x00, 0x3E, 0x00, 0x1F, 0x00, 0x1F, 0x00, 0x1F,
0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xC7, 0x0E,
0x1C, 0x38, 0x70, 0xE1, 0xC3, 0x87, 0x0E, 0x1C, 0x38, 0x70, 0xE1, 0xC3,
0x87, 0x0E, 0x1C, 0x38, 0x70, 0xE1, 0xFF, 0xF0, 0xE0, 0x38, 0x07, 0x01,
0xC0, 0x70, 0x0E, 0x03, 0x80, 0xE0, 0x1C, 0x07, 0x01, 0xC0, 0x38, 0x0E,
0x01, 0x80, 0x70, 0x1C, 0x03, 0x00, 0xE0, 0x38, 0x06, 0x01, 0xC0, 0x70,
0x0C, 0xFF, 0xFC, 0x78, 0x70, 0xE1, 0xC3, 0x87, 0x0E, 0x1C, 0x38, 0x70,
0xE1, 0xC3, 0x87, 0x0E, 0x1C, 0x38, 0x70, 0xE1, 0xC3, 0x87, 0x0F, 0xFF,
0xF8, 0x06, 0x00, 0xE0, 0x0F, 0x00, 0xF0, 0x1F, 0x81, 0xB8, 0x39, 0xC3,
0x9C, 0x30, 0xC7, 0x0E, 0x60, 0x6E, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0,
0x60, 0x3C, 0x1F, 0xC1, 0xF0, 0x00, 0x0F, 0xC0, 0xFF, 0xC7, 0xFF, 0xBE,
0x1E, 0x30, 0x3C, 0x00, 0xF0, 0x07, 0xC7, 0xFF, 0x7F, 0x3F, 0xE0, 0xFF,
0x03, 0xFC, 0x0F, 0xF0, 0x7F, 0xE7, 0xFF, 0xFB, 0xCF, 0xCF, 0xF0, 0x01,
0xE0, 0x03, 0xC0, 0x07, 0x80, 0x0F, 0x00, 0x1E, 0x00, 0x3C, 0xF8, 0x7B,
0xF8, 0xFF, 0xF9, 0xF0, 0xFB, 0xC0, 0xF7, 0x81, 0xEF, 0x01, 0xFE, 0x03,
0xFC, 0x07, 0xF8, 0x0F, 0xF0, 0x1D, 0xE0, 0x7B, 0xC0, 0xF7, 0xC3, 0xCE,
0xFF, 0x9C, 0xFC, 0x00, 0x07, 0xC0, 0x7F, 0xC3, 0xFF, 0x9F, 0x0F, 0x78,
0x1F, 0xC0, 0x0F, 0x00, 0x3C, 0x00, 0xF0, 0x03, 0xC0, 0x0F, 0x00, 0x1E,
0x03, 0x78, 0x1C, 0xF9, 0xE1, 0xFF, 0x83, 0xF8, 0x00, 0x1E, 0x00, 0x3C,
0x00, 0x78, 0x00, 0xF0, 0x01, 0xE0, 0x03, 0xC1, 0xE7, 0x8F, 0xEF, 0x3F,
0xFE, 0xF8, 0x7D, 0xE0, 0x7F, 0x80, 0xFF, 0x01, 0xFE, 0x03, 0xFC, 0x07,
0xF8, 0x0F, 0xF0, 0x1F, 0xF0, 0x3D, 0xE0, 0xFB, 0xE3, 0xF3, 0xFF, 0xE3,
0xF3, 0xC0, 0x07, 0xC0, 0x3F, 0xE0, 0xFF, 0xE3, 0xC1, 0xE7, 0x81, 0xFE,
0x03, 0xFC, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x03, 0xC0, 0x03, 0xC0,
0x47, 0x81, 0xE7, 0xCF, 0x87, 0xFE, 0x07, 0xF8, 0x07, 0xC7, 0xF1, 0xFC,
0x78, 0x1C, 0x07, 0x0F, 0xFF, 0xFF, 0xFF, 0xC7, 0x01, 0xC0, 0x70, 0x1C,
0x07, 0x01, 0xC0, 0x70, 0x1C, 0x07, 0x01, 0xC0, 0x70, 0x1C, 0x07, 0x00,
0x03, 0xE1, 0xC7, 0xFE, 0xF3, 0xE3, 0xFC, 0xE0, 0x78, 0x38, 0x0E, 0x0E,
0x03, 0x83, 0x81, 0xE0, 0xF8, 0xF8, 0x1F, 0xFC, 0x03, 0xF8, 0x03, 0x80,
0x00, 0xE0, 0x00, 0x3F, 0xFC, 0x0F, 0xFF, 0xC1, 0xFF, 0xF1, 0xC0, 0x1E,
0xF0, 0x07, 0xBC, 0x01, 0xC7, 0x80, 0xF1, 0xFF, 0xF8, 0x1F, 0xF8, 0x00,
0xE0, 0x03, 0xC0, 0x0F, 0x00, 0x3C, 0x00, 0xF0, 0x03, 0xC0, 0x0F, 0x1E,
0x3D, 0xFE, 0xFF, 0xFB, 0xE1, 0xFF, 0x03, 0xFC, 0x0F, 0xF0, 0x3F, 0xC0,
0xFF, 0x03, 0xFC, 0x0F, 0xF0, 0x3F, 0xC0, 0xFF, 0x03, 0xFC, 0x0F, 0xF0,
0x3F, 0xC0, 0xF0, 0xFF, 0xFF, 0x00, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0x1E, 0x3C, 0x78, 0xF0, 0x00, 0x07, 0x0F, 0x1E, 0x3C, 0x78,
0xF1, 0xE3, 0xC7, 0x8F, 0x1E, 0x3C, 0x78, 0xF1, 0xE3, 0xC7, 0x9F, 0xFD,
0xFB, 0xC0, 0xF0, 0x01, 0xE0, 0x03, 0xC0, 0x07, 0x80, 0x0F, 0x00, 0x1E,
0x00, 0x3C, 0x07, 0x78, 0x1C, 0xF0, 0x71, 0xE1, 0xC3, 0xC7, 0x07, 0x9C,
0x0F, 0x7C, 0x1F, 0xF8, 0x3F, 0xF8, 0x7E, 0xF0, 0xF8, 0xF1, 0xE1, 0xE3,
0xC1, 0xE7, 0x83, 0xEF, 0x03, 0xDE, 0x07, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0xE0, 0x79, 0xEF, 0xE3,
0xFB, 0xFF, 0xEF, 0xFF, 0xC3, 0xF0, 0xFF, 0x07, 0xC1, 0xFE, 0x07, 0x03,
0xFC, 0x0E, 0x07, 0xF8, 0x1C, 0x0F, 0xF0, 0x38, 0x1F, 0xE0, 0x70, 0x3F,
0xC0, 0xE0, 0x7F, 0x81, 0xC0, 0xFF, 0x03, 0x81, 0xFE, 0x07, 0x03, 0xFC,
0x0E, 0x07, 0xF8, 0x1C, 0x0F, 0xE1, 0xE3, 0xDF, 0xEF, 0xFF, 0xBE, 0x1F,
0xF0, 0x3F, 0xC0, 0xFF, 0x03, 0xFC, 0x0F, 0xF0, 0x3F, 0xC0, 0xFF, 0x03,
0xFC, 0x0F, 0xF0, 0x3F, 0xC0, 0xFF, 0x03, 0xFC, 0x0F, 0x07, 0xC0, 0x1F,
0xF0, 0x3F, 0xF8, 0x7C, 0x3C, 0x78, 0x1E, 0xF0, 0x1E, 0xF0, 0x0E, 0xF0,
0x0E, 0xF0, 0x0F, 0xF0, 0x0E, 0xF0, 0x1E, 0x78, 0x1E, 0x78, 0x3E, 0x3E,
0x7C, 0x1F, 0xF8, 0x0F, 0xE0, 0xE3, 0xE1, 0xEF, 0xE3, 0xFF, 0xE7, 0xC3,
0xEF, 0x03, 0xDE, 0x07, 0xBC, 0x07, 0xF8, 0x0F, 0xF0, 0x1F, 0xE0, 0x3F,
0xC0, 0xF7, 0x81, 0xEF, 0x03, 0xDF, 0x9F, 0x3F, 0xFE, 0x7B, 0xF0, 0xF0,
0x01, 0xE0, 0x03, 0xC0, 0x07, 0x80, 0x0F, 0x00, 0x00, 0x0F, 0x86, 0x3F,
0xDC, 0xFF, 0xFB, 0xC1, 0xF7, 0x81, 0xFE, 0x03, 0xFC, 0x07, 0xF8, 0x0F,
0xF0, 0x1F, 0xE0, 0x3F, 0xC0, 0x7B, 0xC0, 0xF7, 0x81, 0xEF, 0x8F, 0xCF,
0xFF, 0x8F, 0xEF, 0x00, 0x1E, 0x00, 0x3C, 0x00, 0x78, 0x00, 0xF0, 0x01,
0xE0, 0xE1, 0xFB, 0xFF, 0xFF, 0xFF, 0x87, 0x83, 0xC1, 0xE0, 0xF0, 0x78,
0x3C, 0x1E, 0x0F, 0x07, 0x83, 0xC1, 0xE0, 0x0F, 0x81, 0xFF, 0x1F, 0xFC,
0xE0, 0x7F, 0x02, 0x78, 0x01, 0xF8, 0x0F, 0xFC, 0x3F, 0xF0, 0x3F, 0xC0,
0x1E, 0x80, 0x7E, 0x03, 0xFC, 0x7D, 0xFF, 0xC7, 0xFC, 0x1C, 0x07, 0x01,
0xC0, 0x70, 0x1C, 0x3F, 0xFF, 0xFF, 0xFF, 0x3C, 0x0F, 0x03, 0xC0, 0xF0,
0x3C, 0x0F, 0x03, 0xC0, 0xF0, 0x3C, 0x0F, 0x01, 0xFC, 0x7F, 0x0F, 0xC0,
0xE0, 0x3F, 0x81, 0xFC, 0x0F, 0xE0, 0x7F, 0x03, 0xF8, 0x1F, 0xC0, 0xFE,
0x07, 0xF0, 0x3F, 0x81, 0xFC, 0x0F, 0xE0, 0x7F, 0x0F, 0xFF, 0xFF, 0xFE,
0xEF, 0xC7, 0xE0, 0x0F, 0xE0, 0x1F, 0xC0, 0x73, 0xC0, 0xE7, 0x83, 0x8F,
0x87, 0x0F, 0x0E, 0x1E, 0x38, 0x1E, 0x70, 0x3D, 0xC0, 0x3F, 0x80, 0x7F,
0x00, 0xFC, 0x00, 0xF8, 0x01, 0xE0, 0x01, 0xC0, 0xE0, 0x38, 0x0F, 0xC0,
0xE0, 0x7F, 0x07, 0xC1, 0xDC, 0x1F, 0x0E, 0x78, 0x7C, 0x39, 0xE3, 0xF0,
0xE3, 0x8F, 0xE7, 0x0F, 0x37, 0x9C, 0x3D, 0xCE, 0x70, 0x77, 0x3D, 0x81,
0xF8, 0xFE, 0x07, 0xE1, 0xF8, 0x1F, 0x87, 0xC0, 0x3E, 0x1F, 0x00, 0xF0,
0x3C, 0x03, 0xC0, 0xE0, 0xF0, 0x1D, 0xF0, 0x79, 0xF0, 0xE1, 0xE3, 0xC1,
0xEF, 0x03, 0xFC, 0x03, 0xF0, 0x03, 0xE0, 0x07, 0xC0, 0x1F, 0xC0, 0x7F,
0xC0, 0xE7, 0x83, 0xC7, 0x8F, 0x0F, 0xBC, 0x0F, 0xF0, 0x0F, 0xE0, 0x0F,
0xE0, 0x3B, 0xC0, 0x73, 0xC0, 0xE7, 0x83, 0x8F, 0x87, 0x0F, 0x1C, 0x1E,
0x38, 0x1E, 0x70, 0x3D, 0xC0, 0x7B, 0x80, 0x7E, 0x00, 0xFC, 0x00, 0xF8,
0x01, 0xE0, 0x03, 0xC0, 0x07, 0x00, 0x1E, 0x03, 0xF8, 0x07, 0xF0, 0x0F,
0x80, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0xFE, 0x01, 0xE0, 0x1E, 0x01, 0xF0,
0x1F, 0x00, 0xF0, 0x0F, 0x00, 0xF8, 0x0F, 0x80, 0x78, 0x07, 0x80, 0x7F,
0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0xC3, 0xF0, 0xF0, 0x78, 0x1E, 0x07, 0x81,
0xE0, 0x78, 0x1E, 0x07, 0x81, 0xE0, 0x70, 0xFC, 0x38, 0x0F, 0xC0, 0x70,
0x1E, 0x07, 0x81, 0xE0, 0x78, 0x1E, 0x07, 0x81, 0xE0, 0x78, 0x0F, 0x03,
0xF0, 0x3C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xC0, 0xF0, 0x3F, 0x03, 0xE0, 0x78, 0x0E, 0x03, 0x80, 0xE0, 0x38,
0x0E, 0x03, 0x80, 0xE0, 0x38, 0x07, 0xC0, 0x70, 0xFC, 0x38, 0x0E, 0x03,
0x80, 0xE0, 0x38, 0x0E, 0x03, 0x80, 0xE0, 0x78, 0x3E, 0x3F, 0x0F, 0x00,
0x3C, 0x0B, 0xFE, 0xFE, 0x7F, 0xB0, 0x7C };
const GFXglyph LibreFranklin_SemiBold15pt7bGlyphs[] PROGMEM = {
{ 0, 1, 1, 6, 0, 0 }, // 0x20 ' '
{ 1, 4, 22, 8, 2, -21 }, // 0x21 '!'
{ 12, 10, 8, 13, 2, -21 }, // 0x22 '"'
{ 22, 16, 22, 18, 1, -21 }, // 0x23 '#'
{ 66, 17, 26, 19, 1, -23 }, // 0x24 '$'
{ 122, 25, 22, 27, 1, -21 }, // 0x25 '%'
{ 191, 22, 22, 24, 1, -21 }, // 0x26 '&'
{ 252, 4, 8, 7, 2, -21 }, // 0x27 '''
{ 256, 6, 27, 9, 2, -21 }, // 0x28 '('
{ 277, 7, 27, 9, 0, -21 }, // 0x29 ')'
{ 301, 11, 11, 13, 1, -21 }, // 0x2A '*'
{ 317, 13, 14, 17, 2, -17 }, // 0x2B '+'
{ 340, 5, 8, 7, 1, -3 }, // 0x2C ','
{ 345, 8, 3, 11, 2, -8 }, // 0x2D '-'
{ 348, 5, 4, 7, 1, -3 }, // 0x2E '.'
{ 351, 10, 23, 10, 0, -21 }, // 0x2F '/'
{ 380, 17, 22, 21, 2, -21 }, // 0x30 '0'
{ 427, 12, 22, 15, 1, -21 }, // 0x31 '1'
{ 460, 16, 22, 18, 1, -21 }, // 0x32 '2'
{ 504, 17, 22, 19, 1, -21 }, // 0x33 '3'
{ 551, 18, 22, 20, 1, -21 }, // 0x34 '4'
{ 601, 17, 22, 20, 1, -21 }, // 0x35 '5'
{ 648, 17, 22, 20, 2, -21 }, // 0x36 '6'
{ 695, 16, 22, 18, 1, -21 }, // 0x37 '7'
{ 739, 18, 22, 20, 1, -21 }, // 0x38 '8'
{ 789, 17, 22, 20, 1, -21 }, // 0x39 '9'
{ 836, 5, 15, 7, 1, -14 }, // 0x3A ':'
{ 846, 5, 20, 7, 1, -14 }, // 0x3B ';'
{ 859, 14, 13, 17, 1, -16 }, // 0x3C '<'
{ 882, 13, 9, 17, 2, -14 }, // 0x3D '='
{ 897, 13, 13, 17, 2, -16 }, // 0x3E '>'
{ 919, 15, 22, 16, 0, -21 }, // 0x3F '?'
{ 961, 23, 22, 25, 1, -18 }, // 0x40 '@'
{ 1025, 20, 22, 22, 1, -21 }, // 0x41 'A'
{ 1080, 18, 22, 21, 2, -21 }, // 0x42 'B'
{ 1130, 19, 22, 21, 1, -21 }, // 0x43 'C'
{ 1183, 18, 22, 22, 2, -21 }, // 0x44 'D'
{ 1233, 16, 22, 19, 2, -21 }, // 0x45 'E'
{ 1277, 15, 22, 18, 2, -21 }, // 0x46 'F'
{ 1319, 19, 22, 22, 1, -21 }, // 0x47 'G'
{ 1372, 18, 22, 22, 2, -21 }, // 0x48 'H'
{ 1422, 5, 22, 9, 2, -21 }, // 0x49 'I'
{ 1436, 10, 22, 13, 1, -21 }, // 0x4A 'J'
{ 1464, 18, 22, 21, 2, -21 }, // 0x4B 'K'
{ 1514, 15, 22, 18, 2, -21 }, // 0x4C 'L'
{ 1556, 23, 22, 27, 2, -21 }, // 0x4D 'M'
{ 1620, 18, 22, 22, 2, -21 }, // 0x4E 'N'
{ 1670, 19, 22, 23, 2, -21 }, // 0x4F 'O'
{ 1723, 17, 22, 21, 2, -21 }, // 0x50 'P'
{ 1770, 19, 26, 23, 2, -21 }, // 0x51 'Q'
{ 1832, 18, 22, 21, 2, -21 }, // 0x52 'R'
{ 1882, 17, 22, 20, 1, -21 }, // 0x53 'S'
{ 1929, 18, 22, 20, 1, -21 }, // 0x54 'T'
{ 1979, 17, 22, 21, 2, -21 }, // 0x55 'U'
{ 2026, 19, 22, 21, 1, -21 }, // 0x56 'V'
{ 2079, 29, 22, 31, 1, -21 }, // 0x57 'W'
{ 2159, 19, 22, 21, 1, -21 }, // 0x58 'X'
{ 2212, 19, 22, 21, 1, -21 }, // 0x59 'Y'
{ 2265, 17, 22, 20, 1, -21 }, // 0x5A 'Z'
{ 2312, 7, 27, 9, 2, -21 }, // 0x5B '['
{ 2336, 10, 23, 10, 0, -21 }, // 0x5C '\'
{ 2365, 7, 27, 9, 0, -21 }, // 0x5D ']'
{ 2389, 12, 12, 14, 1, -15 }, // 0x5E '^'
{ 2407, 12, 3, 16, 2, 2 }, // 0x5F '_'
{ 2412, 9, 5, 9, 0, -21 }, // 0x60 '`'
{ 2418, 14, 16, 16, 1, -15 }, // 0x61 'a'
{ 2446, 15, 22, 18, 2, -21 }, // 0x62 'b'
{ 2488, 14, 16, 16, 1, -15 }, // 0x63 'c'
{ 2516, 15, 22, 18, 1, -21 }, // 0x64 'd'
{ 2558, 15, 16, 17, 1, -15 }, // 0x65 'e'
{ 2588, 10, 22, 12, 1, -21 }, // 0x66 'f'
{ 2616, 18, 21, 18, 0, -15 }, // 0x67 'g'
{ 2664, 14, 22, 17, 2, -21 }, // 0x68 'h'
{ 2703, 4, 22, 8, 2, -21 }, // 0x69 'i'
{ 2714, 7, 27, 8, -1, -21 }, // 0x6A 'j'
{ 2738, 15, 22, 17, 2, -21 }, // 0x6B 'k'
{ 2780, 4, 22, 8, 2, -21 }, // 0x6C 'l'
{ 2791, 23, 16, 27, 2, -15 }, // 0x6D 'm'
{ 2837, 14, 16, 17, 2, -15 }, // 0x6E 'n'
{ 2865, 16, 16, 18, 1, -15 }, // 0x6F 'o'
{ 2897, 15, 21, 18, 2, -15 }, // 0x70 'p'
{ 2937, 15, 21, 18, 1, -15 }, // 0x71 'q'
{ 2977, 9, 16, 12, 2, -15 }, // 0x72 'r'
{ 2995, 13, 16, 15, 1, -15 }, // 0x73 's'
{ 3021, 10, 21, 12, 1, -20 }, // 0x74 't'
{ 3048, 13, 16, 17, 2, -15 }, // 0x75 'u'
{ 3074, 15, 16, 17, 1, -15 }, // 0x76 'v'
{ 3104, 22, 16, 24, 1, -15 }, // 0x77 'w'
{ 3148, 15, 16, 17, 1, -15 }, // 0x78 'x'
{ 3178, 15, 21, 16, 1, -15 }, // 0x79 'y'
{ 3218, 13, 16, 15, 1, -15 }, // 0x7A 'z'
{ 3244, 10, 27, 10, 0, -21 }, // 0x7B '{'
{ 3278, 3, 30, 7, 2, -24 }, // 0x7C '|'
{ 3290, 10, 27, 10, 0, -21 }, // 0x7D '}'
{ 3324, 14, 4, 17, 2, -12 } }; // 0x7E '~'
const GFXfont LibreFranklin_SemiBold15pt7b PROGMEM = {
(uint8_t *)LibreFranklin_SemiBold15pt7bBitmaps,
(GFXglyph *)LibreFranklin_SemiBold15pt7bGlyphs,
0x20, 0x7E, 36 };
// Approx. 4003 bytes

611
src/fonts/LibreFranklin20.h Normal file
View file

@ -0,0 +1,611 @@
const uint8_t LibreFranklin_Bold20pt7bBitmaps[] PROGMEM = {
0x00, 0xFF, 0xFF, 0xF7, 0xEF, 0xDF, 0xBF, 0x7E, 0xFD, 0xFB, 0xF3, 0xE7,
0xCF, 0x9E, 0x3C, 0x78, 0xF1, 0xE3, 0xC0, 0x00, 0x00, 0x7E, 0xFD, 0xFB,
0xF7, 0xEF, 0xC0, 0xFC, 0x7F, 0xF8, 0xFF, 0xF1, 0xFF, 0xE3, 0xF7, 0x83,
0xCF, 0x07, 0x9E, 0x0F, 0x3C, 0x1E, 0x78, 0x3C, 0xF0, 0x79, 0xE0, 0xF0,
0x01, 0xC0, 0xE0, 0x07, 0x07, 0x80, 0x1C, 0x1E, 0x00, 0x70, 0x70, 0x01,
0xC1, 0xC0, 0x0F, 0x07, 0x00, 0x38, 0x1C, 0x00, 0xE0, 0x70, 0x03, 0x83,
0xC1, 0xFF, 0xFF, 0xF7, 0xFF, 0xFF, 0xDF, 0xFF, 0xFF, 0x07, 0x83, 0x80,
0x1C, 0x0E, 0x00, 0x70, 0x38, 0x01, 0xC1, 0xE0, 0x07, 0x07, 0x03, 0xFF,
0xFF, 0xEF, 0xFF, 0xFF, 0xBF, 0xFF, 0xFE, 0x0E, 0x07, 0x00, 0x38, 0x3C,
0x00, 0xE0, 0xF0, 0x03, 0x83, 0x80, 0x0E, 0x0E, 0x00, 0x78, 0x38, 0x01,
0xC0, 0xE0, 0x07, 0x03, 0x80, 0x1C, 0x0E, 0x00, 0x00, 0x3C, 0x00, 0x00,
0x78, 0x00, 0x00, 0xF0, 0x00, 0x0F, 0xF8, 0x00, 0x7F, 0xFE, 0x01, 0xFF,
0xFF, 0x07, 0xFF, 0xFE, 0x1F, 0xDF, 0xFC, 0x7E, 0x3C, 0x70, 0xF8, 0x78,
0x41, 0xF0, 0xF0, 0x03, 0xE1, 0xE0, 0x07, 0xC3, 0xC0, 0x0F, 0xE7, 0x80,
0x1F, 0xFF, 0x00, 0x1F, 0xFF, 0xC0, 0x1F, 0xFF, 0xE0, 0x1F, 0xFF, 0xE0,
0x1F, 0xFF, 0xE0, 0x07, 0xFF, 0xE0, 0x03, 0xFF, 0xE0, 0x07, 0x9F, 0xC0,
0x0F, 0x1F, 0x80, 0x1E, 0x1F, 0x10, 0x3C, 0x3E, 0x70, 0x78, 0x7D, 0xF0,
0xF1, 0xFF, 0xF9, 0xE7, 0xEF, 0xFF, 0xFF, 0xC7, 0xFF, 0xFF, 0x07, 0xFF,
0xFC, 0x03, 0xFF, 0xC0, 0x00, 0x3C, 0x00, 0x00, 0x78, 0x00, 0x00, 0xF0,
0x00, 0x02, 0x00, 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x78, 0x0F, 0xFC, 0x00,
0x78, 0x0F, 0xFF, 0x00, 0x38, 0x07, 0x87, 0x80, 0x38, 0x07, 0xC3, 0xE0,
0x3C, 0x03, 0xC0, 0xF0, 0x1C, 0x01, 0xE0, 0x78, 0x1C, 0x00, 0xF0, 0x3C,
0x1E, 0x00, 0x78, 0x1E, 0x0E, 0x00, 0x3C, 0x0F, 0x0E, 0x00, 0x1E, 0x07,
0x8F, 0x00, 0x0F, 0x87, 0xC7, 0x00, 0x03, 0xE7, 0xC7, 0x80, 0x00, 0xFF,
0xC7, 0x87, 0xE0, 0x3F, 0xC3, 0x87, 0xF8, 0x0F, 0xC3, 0xC7, 0xFE, 0x00,
0x03, 0xC7, 0xC7, 0x80, 0x01, 0xC7, 0xC3, 0xE0, 0x01, 0xE3, 0xC0, 0xF0,
0x01, 0xE1, 0xE0, 0x78, 0x00, 0xE0, 0xF0, 0x3C, 0x00, 0xF0, 0x78, 0x1E,
0x00, 0xF0, 0x3C, 0x0F, 0x00, 0x70, 0x1E, 0x07, 0x80, 0x78, 0x0F, 0x87,
0xC0, 0x78, 0x03, 0xC3, 0xC0, 0x38, 0x01, 0xFF, 0xE0, 0x3C, 0x00, 0x7F,
0xE0, 0x3C, 0x00, 0x0F, 0xE0, 0x00, 0x08, 0x00, 0x00, 0x03, 0xFF, 0x00,
0x00, 0x3F, 0xFE, 0x00, 0x01, 0xFF, 0xFC, 0x00, 0x07, 0xF1, 0xF8, 0x00,
0x3F, 0x03, 0xE0, 0x00, 0xFC, 0x0F, 0xC0, 0x03, 0xF0, 0x3E, 0x00, 0x0F,
0xC0, 0xF8, 0x00, 0x3F, 0x87, 0xE0, 0x00, 0xFF, 0x3F, 0x00, 0x01, 0xFF,
0xF8, 0x00, 0x07, 0xFF, 0xC0, 0x00, 0x0F, 0xFE, 0x00, 0x00, 0x3F, 0xE0,
0x1E, 0x03, 0xFF, 0xC0, 0x7C, 0x1F, 0xFF, 0x83, 0xF0, 0xFE, 0xFF, 0x0F,
0x87, 0xF1, 0xFE, 0x7E, 0x3F, 0x83, 0xFF, 0xF0, 0xFC, 0x07, 0xFF, 0x83,
0xF0, 0x1F, 0xFE, 0x0F, 0xC0, 0x3F, 0xF0, 0x3F, 0x80, 0x7F, 0xC0, 0xFE,
0x03, 0xFF, 0xE3, 0xFE, 0x3F, 0xFF, 0xF7, 0xFF, 0xFF, 0xFF, 0xDF, 0xFF,
0xF3, 0xFF, 0x1F, 0xFF, 0x03, 0xFC, 0x3F, 0xF0, 0x01, 0xE0, 0xFF, 0xFF,
0xFF, 0x79, 0xE7, 0x9E, 0x79, 0xE7, 0x80, 0x07, 0xC1, 0xE0, 0xF8, 0x7C,
0x1F, 0x07, 0x83, 0xE0, 0xF8, 0x7E, 0x1F, 0x07, 0xC1, 0xF0, 0xFC, 0x3F,
0x0F, 0x83, 0xE0, 0xF8, 0x3E, 0x0F, 0x83, 0xE0, 0xF8, 0x3E, 0x0F, 0xC3,
0xF0, 0x7C, 0x1F, 0x07, 0xC0, 0xF8, 0x3E, 0x0F, 0x81, 0xF0, 0x7C, 0x0F,
0x03, 0xE0, 0x7C, 0xF0, 0x7C, 0x1E, 0x0F, 0x87, 0xC1, 0xF0, 0xF8, 0x7E,
0x1F, 0x0F, 0x87, 0xC3, 0xF0, 0xF8, 0x7C, 0x3E, 0x1F, 0x0F, 0x87, 0xC3,
0xE1, 0xF0, 0xF8, 0x7C, 0x3E, 0x1F, 0x1F, 0x8F, 0x87, 0xC3, 0xE3, 0xE1,
0xF0, 0xF0, 0xF8, 0x78, 0x7C, 0x3C, 0x00, 0x03, 0xC0, 0x03, 0xC0, 0x03,
0xC0, 0x01, 0xC0, 0x61, 0xC3, 0xF9, 0xDF, 0xFF, 0xFF, 0x7F, 0xFE, 0x0F,
0xF0, 0x07, 0xE0, 0x0F, 0xF0, 0x0F, 0x78, 0x1E, 0x7C, 0x3C, 0x3C, 0x3C,
0x1C, 0x08, 0x10, 0x01, 0xF0, 0x00, 0x3E, 0x00, 0x07, 0xC0, 0x00, 0xF8,
0x00, 0x1F, 0x00, 0x03, 0xE0, 0x00, 0x7C, 0x07, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x1F, 0x00, 0x03, 0xE0,
0x00, 0x7C, 0x00, 0x0F, 0x80, 0x01, 0xF0, 0x00, 0x3E, 0x00, 0x07, 0xC0,
0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0x9E, 0x73, 0x8E, 0x30, 0xFF, 0xDF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x00,
0x3C, 0x00, 0xF0, 0x07, 0x80, 0x1E, 0x00, 0x78, 0x03, 0xC0, 0x0F, 0x00,
0x3C, 0x01, 0xE0, 0x07, 0x80, 0x1E, 0x00, 0xF0, 0x03, 0xC0, 0x0F, 0x00,
0x78, 0x01, 0xE0, 0x07, 0x80, 0x3C, 0x00, 0xF0, 0x07, 0xC0, 0x1E, 0x00,
0x78, 0x03, 0xE0, 0x0F, 0x00, 0x3C, 0x01, 0xF0, 0x07, 0x80, 0x1E, 0x00,
0xF8, 0x03, 0xC0, 0x00, 0x00, 0x10, 0x00, 0x01, 0xFF, 0x80, 0x07, 0xFF,
0xC0, 0x0F, 0xFF, 0xF0, 0x1F, 0xFF, 0xF0, 0x1F, 0xE7, 0xF8, 0x3F, 0x81,
0xFC, 0x7F, 0x00, 0xFC, 0x7F, 0x00, 0xFE, 0x7E, 0x00, 0xFE, 0xFE, 0x00,
0x7E, 0xFE, 0x00, 0x7F, 0xFE, 0x00, 0x7F, 0xFE, 0x00, 0x7F, 0xFE, 0x00,
0x7F, 0xFE, 0x00, 0x7F, 0xFE, 0x00, 0x7F, 0xFE, 0x00, 0x7F, 0xFE, 0x00,
0x7F, 0xFE, 0x00, 0x7F, 0xFE, 0x00, 0x7E, 0x7E, 0x00, 0xFE, 0x7F, 0x00,
0xFE, 0x7F, 0x00, 0xFC, 0x3F, 0x81, 0xFC, 0x3F, 0xFF, 0xF8, 0x1F, 0xFF,
0xF0, 0x0F, 0xFF, 0xE0, 0x03, 0xFF, 0xC0, 0x01, 0xFF, 0x00, 0x03, 0xF0,
0x07, 0xF8, 0x0F, 0xFC, 0x1F, 0xFE, 0x0F, 0xFF, 0x07, 0xFF, 0x83, 0xFF,
0xC1, 0x8F, 0xE0, 0x07, 0xF0, 0x03, 0xF8, 0x01, 0xFC, 0x00, 0xFE, 0x00,
0x7F, 0x00, 0x3F, 0x80, 0x1F, 0xC0, 0x0F, 0xE0, 0x07, 0xF0, 0x03, 0xF8,
0x01, 0xFC, 0x00, 0xFE, 0x00, 0x7F, 0x00, 0x3F, 0x80, 0x1F, 0xC0, 0x0F,
0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8,
0x01, 0xFF, 0x80, 0x0F, 0xFF, 0xC0, 0x7F, 0xFF, 0xC1, 0xFF, 0xFF, 0xC3,
0xFF, 0xFF, 0x8F, 0xE0, 0x7F, 0x9F, 0x80, 0x7F, 0x1E, 0x00, 0x7E, 0x0C,
0x00, 0xFC, 0x00, 0x03, 0xF8, 0x00, 0x07, 0xF0, 0x00, 0x1F, 0xE0, 0x00,
0x3F, 0x80, 0x00, 0xFE, 0x00, 0x03, 0xFC, 0x00, 0x0F, 0xF0, 0x00, 0x7F,
0xC0, 0x01, 0xFE, 0x00, 0x07, 0xF8, 0x00, 0x1F, 0xE0, 0x00, 0x7F, 0x00,
0x01, 0xFC, 0x00, 0x07, 0xF0, 0x00, 0x1F, 0xFF, 0xFE, 0x7F, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0,
0x03, 0xFF, 0xC0, 0x0F, 0xFF, 0xF0, 0x1F, 0xFF, 0xF8, 0x3F, 0xFF, 0xFC,
0x7F, 0xC7, 0xFC, 0x1E, 0x01, 0xFC, 0x0C, 0x00, 0xFE, 0x00, 0x00, 0xFE,
0x00, 0x00, 0xFC, 0x00, 0x01, 0xFC, 0x00, 0x03, 0xFC, 0x00, 0x1F, 0xF8,
0x01, 0xFF, 0xE0, 0x01, 0xFF, 0xC0, 0x01, 0xFF, 0xF0, 0x01, 0xFF, 0xF8,
0x00, 0x1F, 0xFC, 0x00, 0x01, 0xFE, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x7E,
0x00, 0x00, 0x7F, 0x18, 0x00, 0x7F, 0x3C, 0x00, 0xFE, 0xFE, 0x01, 0xFE,
0xFF, 0xEF, 0xFE, 0x7F, 0xFF, 0xFC, 0x3F, 0xFF, 0xF8, 0x0F, 0xFF, 0xF0,
0x03, 0xFF, 0xC0, 0x00, 0x07, 0xF0, 0x00, 0x03, 0xF8, 0x00, 0x03, 0xFC,
0x00, 0x03, 0xFE, 0x00, 0x03, 0xFF, 0x00, 0x01, 0xFF, 0x80, 0x01, 0xFF,
0xC0, 0x01, 0xFF, 0xE0, 0x01, 0xF7, 0xF0, 0x00, 0xF3, 0xF8, 0x00, 0xF9,
0xFC, 0x00, 0xF8, 0xFE, 0x00, 0xF8, 0x7F, 0x00, 0xF8, 0x3F, 0x80, 0x7C,
0x1F, 0xC0, 0x7C, 0x0F, 0xE0, 0x7C, 0x07, 0xF0, 0x3F, 0xFF, 0xFF, 0xBF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC,
0x00, 0x1F, 0xC0, 0x00, 0x0F, 0xE0, 0x00, 0x07, 0xF0, 0x00, 0x03, 0xF8,
0x00, 0x01, 0xFC, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x7F, 0x00, 0x1F, 0xFF,
0xFC, 0x1F, 0xFF, 0xFC, 0x1F, 0xFF, 0xFC, 0x1F, 0xFF, 0xFC, 0x1F, 0xFF,
0xFC, 0x1F, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x3F, 0x00,
0x00, 0x3E, 0x00, 0x00, 0x3E, 0x0F, 0x00, 0x3F, 0xFF, 0xE0, 0x3F, 0xFF,
0xF8, 0x3F, 0xFF, 0xFC, 0x3F, 0xFF, 0xFE, 0x0F, 0xC3, 0xFE, 0x02, 0x00,
0xFF, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x7F, 0x00, 0x00,
0x7F, 0x18, 0x00, 0x7F, 0x3C, 0x00, 0xFF, 0xFF, 0x01, 0xFE, 0x7F, 0xEF,
0xFE, 0x7F, 0xFF, 0xFC, 0x3F, 0xFF, 0xF8, 0x0F, 0xFF, 0xF0, 0x03, 0xFF,
0xC0, 0x00, 0xFF, 0x80, 0x07, 0xFF, 0xC0, 0x3F, 0xFF, 0xC0, 0xFF, 0xFF,
0xC1, 0xFE, 0x3F, 0xC7, 0xF0, 0x3F, 0x9F, 0xC0, 0x38, 0x3F, 0x00, 0x00,
0x7E, 0x00, 0x01, 0xFC, 0x00, 0x03, 0xF8, 0x00, 0x07, 0xF0, 0xF8, 0x0F,
0xEF, 0xFE, 0x1F, 0xFF, 0xFE, 0x3F, 0xFF, 0xFE, 0x7F, 0xFF, 0xFE, 0xFF,
0x01, 0xFF, 0xFC, 0x01, 0xFF, 0xF8, 0x03, 0xFF, 0xF0, 0x03, 0xFF, 0xE0,
0x07, 0xEF, 0xC0, 0x1F, 0xDF, 0xC0, 0x3F, 0x9F, 0xC0, 0xFF, 0x3F, 0xC3,
0xFC, 0x3F, 0xFF, 0xF0, 0x3F, 0xFF, 0xC0, 0x3F, 0xFF, 0x00, 0x1F, 0xF8,
0x00, 0x7F, 0xFF, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xF8, 0x00, 0x0F, 0xE0, 0x00, 0x3F, 0x00, 0x00, 0xF8, 0x00,
0x07, 0xE0, 0x00, 0x1F, 0x00, 0x00, 0xFC, 0x00, 0x07, 0xE0, 0x00, 0x1F,
0x80, 0x00, 0xFC, 0x00, 0x03, 0xF0, 0x00, 0x1F, 0xC0, 0x00, 0x7E, 0x00,
0x03, 0xF8, 0x00, 0x0F, 0xC0, 0x00, 0x7F, 0x00, 0x01, 0xFC, 0x00, 0x07,
0xE0, 0x00, 0x3F, 0x80, 0x00, 0xFE, 0x00, 0x07, 0xF8, 0x00, 0x1F, 0xC0,
0x00, 0x7F, 0x00, 0x01, 0xFC, 0x00, 0x0F, 0xF0, 0x00, 0x03, 0xFF, 0x00,
0x1F, 0xFF, 0x80, 0x7F, 0xFF, 0xC1, 0xFF, 0xFF, 0xC7, 0xF8, 0x3F, 0x8F,
0xE0, 0x3F, 0x9F, 0x80, 0x3F, 0x7F, 0x00, 0x7E, 0xFE, 0x00, 0xFD, 0xFC,
0x01, 0xF9, 0xFE, 0x07, 0xE3, 0xFF, 0x9F, 0x83, 0xFF, 0xFE, 0x03, 0xFF,
0xF8, 0x03, 0xFF, 0xF8, 0x07, 0xFF, 0xFC, 0x3F, 0xFF, 0xFC, 0xFC, 0x1F,
0xF9, 0xF0, 0x07, 0xFF, 0xE0, 0x07, 0xFF, 0x80, 0x0F, 0xFF, 0x00, 0x1F,
0xFF, 0x00, 0x3F, 0xFF, 0x00, 0x7F, 0xFF, 0x03, 0xFC, 0xFF, 0xFF, 0xF8,
0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0x00, 0x7F, 0xF8, 0x00, 0x01, 0xFF, 0x80,
0x07, 0xFF, 0xE0, 0x1F, 0xFF, 0xF0, 0x3F, 0xFF, 0xF8, 0x3F, 0xC3, 0xFC,
0x7F, 0x81, 0xFC, 0x7F, 0x00, 0xFE, 0x7E, 0x00, 0x7E, 0xFE, 0x00, 0x7E,
0xFE, 0x00, 0x7F, 0x7F, 0x00, 0x7F, 0x7F, 0x00, 0x7F, 0x7F, 0x81, 0xFF,
0x3F, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0x1F, 0xFF, 0xFF, 0x07, 0xFF, 0x7F,
0x00, 0xF0, 0x7F, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x7E,
0x00, 0x00, 0xFE, 0x0E, 0x00, 0xFC, 0x3F, 0x01, 0xFC, 0x3F, 0xEF, 0xF8,
0x1F, 0xFF, 0xF0, 0x0F, 0xFF, 0xE0, 0x07, 0xFF, 0xC0, 0x01, 0xFF, 0x00,
0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00,
0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0x39, 0xE7, 0x3C, 0xE3, 0x00, 0x00,
0x00, 0xC0, 0x01, 0xF0, 0x03, 0xFC, 0x03, 0xFF, 0x07, 0xFF, 0xC7, 0xFF,
0xCF, 0xFF, 0x83, 0xFF, 0x80, 0xFF, 0x00, 0x3F, 0x80, 0x0F, 0xFC, 0x03,
0xFF, 0xC0, 0x3F, 0xFE, 0x03, 0xFF, 0xE0, 0x1F, 0xFC, 0x01, 0xFF, 0x00,
0x0F, 0xC0, 0x00, 0x70, 0x00, 0x04, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xC0, 0xE0, 0x00, 0x1F, 0x80, 0x03, 0xFC, 0x00, 0x7F,
0xF0, 0x07, 0xFF, 0x80, 0x3F, 0xFE, 0x01, 0xFF, 0xF0, 0x07, 0xFF, 0x00,
0x3F, 0xE0, 0x01, 0xFC, 0x01, 0xFF, 0x81, 0xFF, 0xF0, 0xFF, 0xF8, 0xFF,
0xF8, 0x3F, 0xFC, 0x07, 0xFC, 0x00, 0xFE, 0x00, 0x1E, 0x00, 0x01, 0x00,
0x00, 0x00, 0x07, 0xFE, 0x00, 0xFF, 0xF8, 0x3F, 0xFF, 0xC7, 0xFF, 0xFE,
0x7E, 0x07, 0xFF, 0xC0, 0x3F, 0x7C, 0x03, 0xF0, 0x00, 0x3F, 0x00, 0x07,
0xF0, 0x00, 0x7E, 0x00, 0x0F, 0xC0, 0x01, 0xFC, 0x00, 0x3F, 0x80, 0x07,
0xE0, 0x00, 0xFC, 0x00, 0x0F, 0x80, 0x00, 0xF8, 0x00, 0x1F, 0x00, 0x01,
0xF0, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x3F, 0x80, 0x03, 0xF8, 0x00, 0x3F, 0x80, 0x03, 0xF8, 0x00, 0x3F, 0x80,
0x01, 0xF8, 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x01, 0xFF, 0xF8, 0x00, 0x1F,
0xFF, 0xF8, 0x01, 0xFF, 0x1F, 0xF0, 0x0F, 0xC0, 0x07, 0xE0, 0x7C, 0x00,
0x07, 0xC3, 0xE0, 0x00, 0x0F, 0x0F, 0x00, 0xC0, 0x1E, 0x78, 0x1F, 0xDC,
0x79, 0xE1, 0xFF, 0xF8, 0xEF, 0x0F, 0xFF, 0xC3, 0xFC, 0x3E, 0x3F, 0x0F,
0xF1, 0xF0, 0x7C, 0x3F, 0x87, 0x80, 0xF0, 0xFE, 0x1E, 0x03, 0xC3, 0xF8,
0x78, 0x0F, 0x0F, 0xE1, 0xE0, 0x78, 0x3B, 0x87, 0x81, 0xE1, 0xEE, 0x1E,
0x0F, 0x8F, 0xBC, 0x7C, 0x7F, 0xFC, 0xF0, 0xFF, 0xFF, 0xE1, 0xC3, 0xFE,
0x7F, 0x07, 0x87, 0xF0, 0xF0, 0x0F, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00,
0x00, 0x7C, 0x00, 0x08, 0x00, 0xFC, 0x00, 0xF0, 0x01, 0xFF, 0xFF, 0xC0,
0x01, 0xFF, 0xFE, 0x00, 0x01, 0xFF, 0xE0, 0x00, 0x00, 0x3F, 0xC0, 0x00,
0x03, 0xFC, 0x00, 0x00, 0x7F, 0xE0, 0x00, 0x07, 0xFE, 0x00, 0x00, 0x7F,
0xF0, 0x00, 0x0F, 0xFF, 0x00, 0x00, 0xFF, 0xF0, 0x00, 0x0F, 0xBF, 0x80,
0x01, 0xFB, 0xF8, 0x00, 0x1F, 0x9F, 0x80, 0x01, 0xF1, 0xFC, 0x00, 0x3F,
0x1F, 0xC0, 0x03, 0xE0, 0xFC, 0x00, 0x3E, 0x0F, 0xE0, 0x07, 0xE0, 0xFE,
0x00, 0x7C, 0x07, 0xE0, 0x0F, 0xC0, 0x7F, 0x00, 0xFF, 0xFF, 0xF0, 0x0F,
0xFF, 0xFF, 0x81, 0xFF, 0xFF, 0xF8, 0x1F, 0xFF, 0xFF, 0x81, 0xFF, 0xFF,
0xFC, 0x3F, 0x80, 0x1F, 0xC3, 0xF0, 0x01, 0xFC, 0x3F, 0x00, 0x1F, 0xE7,
0xE0, 0x00, 0xFE, 0x7E, 0x00, 0x0F, 0xEF, 0xE0, 0x00, 0x7F, 0xFC, 0x00,
0x07, 0xF0, 0xFF, 0xFF, 0x80, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xF8, 0xFF,
0xFF, 0xFC, 0xFF, 0xFF, 0xFC, 0xFE, 0x01, 0xFE, 0xFE, 0x00, 0xFE, 0xFE,
0x00, 0xFE, 0xFE, 0x00, 0xFE, 0xFE, 0x00, 0xFE, 0xFE, 0x01, 0xFC, 0xFE,
0x03, 0xFC, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xE0, 0xFF,
0xFF, 0xF8, 0xFF, 0xFF, 0xFC, 0xFE, 0x01, 0xFE, 0xFE, 0x00, 0xFE, 0xFE,
0x00, 0xFF, 0xFE, 0x00, 0x7F, 0xFE, 0x00, 0xFF, 0xFE, 0x00, 0xFF, 0xFE,
0x01, 0xFE, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xF8, 0xFF,
0xFF, 0xF0, 0xFF, 0xFF, 0x80, 0x00, 0xFF, 0xC0, 0x01, 0xFF, 0xF8, 0x03,
0xFF, 0xFE, 0x03, 0xFF, 0xFF, 0x83, 0xFF, 0x3F, 0xE1, 0xFE, 0x07, 0xF9,
0xFE, 0x01, 0xFC, 0xFE, 0x00, 0x7F, 0xFF, 0x00, 0x3F, 0xFF, 0x00, 0x08,
0x3F, 0x80, 0x00, 0x1F, 0xC0, 0x00, 0x0F, 0xE0, 0x00, 0x07, 0xF0, 0x00,
0x03, 0xF8, 0x00, 0x01, 0xFC, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x7F, 0x00,
0x00, 0x3F, 0x80, 0x00, 0x1F, 0xC0, 0x01, 0xC7, 0xF0, 0x01, 0xFB, 0xF8,
0x00, 0xFD, 0xFE, 0x00, 0xFC, 0x7F, 0x80, 0xFE, 0x1F, 0xFF, 0xFE, 0x07,
0xFF, 0xFE, 0x01, 0xFF, 0xFE, 0x00, 0x7F, 0xFE, 0x00, 0x0F, 0xFC, 0x00,
0xFF, 0xFC, 0x00, 0x7F, 0xFF, 0xC0, 0x3F, 0xFF, 0xF8, 0x1F, 0xFF, 0xFE,
0x0F, 0xFF, 0xFF, 0x87, 0xF0, 0x3F, 0xE3, 0xF8, 0x07, 0xF9, 0xFC, 0x01,
0xFC, 0xFE, 0x00, 0xFF, 0x7F, 0x00, 0x3F, 0xBF, 0x80, 0x1F, 0xDF, 0xC0,
0x0F, 0xEF, 0xE0, 0x07, 0xFF, 0xF0, 0x01, 0xFF, 0xF8, 0x00, 0xFF, 0xFC,
0x00, 0xFF, 0xFE, 0x00, 0x7F, 0xFF, 0x00, 0x3F, 0xBF, 0x80, 0x1F, 0xDF,
0xC0, 0x0F, 0xEF, 0xE0, 0x0F, 0xF7, 0xF0, 0x07, 0xF3, 0xF8, 0x0F, 0xF9,
0xFC, 0x1F, 0xF8, 0xFF, 0xFF, 0xF8, 0x7F, 0xFF, 0xF8, 0x3F, 0xFF, 0xF8,
0x1F, 0xFF, 0xF0, 0x0F, 0xFF, 0xC0, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x03, 0xF8,
0x00, 0x1F, 0xC0, 0x00, 0xFE, 0x00, 0x07, 0xF0, 0x00, 0x3F, 0x80, 0x01,
0xFC, 0x00, 0x0F, 0xFF, 0xF0, 0x7F, 0xFF, 0x83, 0xFF, 0xFC, 0x1F, 0xFF,
0xE0, 0xFF, 0xFF, 0x07, 0xF0, 0x00, 0x3F, 0x80, 0x01, 0xFC, 0x00, 0x0F,
0xE0, 0x00, 0x7F, 0x00, 0x03, 0xF8, 0x00, 0x1F, 0xC0, 0x00, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x80,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xE0, 0x00, 0xFE, 0x00, 0x0F, 0xE0, 0x00, 0xFE, 0x00, 0x0F, 0xE0,
0x00, 0xFE, 0x00, 0x0F, 0xE0, 0x00, 0xFF, 0xFF, 0x0F, 0xFF, 0xF0, 0xFF,
0xFF, 0x0F, 0xFF, 0xF0, 0xFF, 0xFF, 0x0F, 0xE0, 0x00, 0xFE, 0x00, 0x0F,
0xE0, 0x00, 0xFE, 0x00, 0x0F, 0xE0, 0x00, 0xFE, 0x00, 0x0F, 0xE0, 0x00,
0xFE, 0x00, 0x0F, 0xE0, 0x00, 0xFE, 0x00, 0x0F, 0xE0, 0x00, 0xFE, 0x00,
0x00, 0x00, 0xFF, 0xC0, 0x01, 0xFF, 0xF8, 0x01, 0xFF, 0xFF, 0x01, 0xFF,
0xFF, 0xC1, 0xFF, 0x3F, 0xE1, 0xFE, 0x07, 0xF9, 0xFE, 0x01, 0xFC, 0xFE,
0x00, 0x7F, 0x7F, 0x00, 0x3F, 0xFF, 0x00, 0x0C, 0x3F, 0x80, 0x00, 0x1F,
0xC0, 0x00, 0x0F, 0xE0, 0x00, 0x07, 0xF0, 0x00, 0x03, 0xF8, 0x1F, 0xFF,
0xFC, 0x0F, 0xFF, 0xFE, 0x07, 0xFF, 0xFF, 0x03, 0xFF, 0xFF, 0x80, 0x07,
0xFF, 0xC0, 0x03, 0xF7, 0xF0, 0x01, 0xFB, 0xF8, 0x01, 0xFD, 0xFE, 0x00,
0xFE, 0x7F, 0x80, 0xFF, 0x1F, 0xFB, 0xFF, 0x8F, 0xFF, 0xFF, 0xC3, 0xFF,
0xFC, 0xE0, 0x7F, 0xFC, 0x70, 0x0F, 0xF8, 0x18, 0xFE, 0x00, 0x7F, 0xFE,
0x00, 0x7F, 0xFE, 0x00, 0x7F, 0xFE, 0x00, 0x7F, 0xFE, 0x00, 0x7F, 0xFE,
0x00, 0x7F, 0xFE, 0x00, 0x7F, 0xFE, 0x00, 0x7F, 0xFE, 0x00, 0x7F, 0xFE,
0x00, 0x7F, 0xFE, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE,
0x00, 0x7F, 0xFE, 0x00, 0x7F, 0xFE, 0x00, 0x7F, 0xFE, 0x00, 0x7F, 0xFE,
0x00, 0x7F, 0xFE, 0x00, 0x7F, 0xFE, 0x00, 0x7F, 0xFE, 0x00, 0x7F, 0xFE,
0x00, 0x7F, 0xFE, 0x00, 0x7F, 0xFE, 0x00, 0x7F, 0xFE, 0x00, 0x7F, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xE0, 0x01, 0xFC, 0x07, 0xF0, 0x1F, 0xC0, 0x7F, 0x01, 0xFC, 0x07, 0xF0,
0x1F, 0xC0, 0x7F, 0x01, 0xFC, 0x07, 0xF0, 0x1F, 0xC0, 0x7F, 0x01, 0xFC,
0x07, 0xF0, 0x1F, 0xC0, 0x7F, 0x01, 0xFC, 0x07, 0xF0, 0x1F, 0xC0, 0x7F,
0x01, 0xFC, 0x07, 0xF0, 0x1F, 0xD1, 0xFF, 0x7F, 0xFF, 0xFF, 0xEF, 0xFF,
0xBF, 0xFC, 0x7F, 0xC0, 0xFE, 0x00, 0x7E, 0x7F, 0x00, 0x7F, 0x3F, 0x80,
0x7F, 0x1F, 0xC0, 0x7F, 0x0F, 0xE0, 0x7F, 0x07, 0xF0, 0x3F, 0x03, 0xF8,
0x3F, 0x01, 0xFC, 0x3F, 0x00, 0xFE, 0x3F, 0x80, 0x7F, 0x3F, 0x80, 0x3F,
0x9F, 0xC0, 0x1F, 0xDF, 0xE0, 0x0F, 0xFF, 0xF8, 0x07, 0xFF, 0xFC, 0x03,
0xFF, 0xFF, 0x01, 0xFF, 0xFF, 0x80, 0xFF, 0xDF, 0xE0, 0x7F, 0xC7, 0xF0,
0x3F, 0xC3, 0xFC, 0x1F, 0xE0, 0xFE, 0x0F, 0xE0, 0x7F, 0x87, 0xF0, 0x1F,
0xC3, 0xF8, 0x0F, 0xF1, 0xFC, 0x03, 0xF8, 0xFE, 0x01, 0xFE, 0x7F, 0x00,
0x7F, 0x3F, 0x80, 0x3F, 0xDF, 0xC0, 0x0F, 0xFF, 0xE0, 0x07, 0xF8, 0xFE,
0x00, 0x0F, 0xE0, 0x00, 0xFE, 0x00, 0x0F, 0xE0, 0x00, 0xFE, 0x00, 0x0F,
0xE0, 0x00, 0xFE, 0x00, 0x0F, 0xE0, 0x00, 0xFE, 0x00, 0x0F, 0xE0, 0x00,
0xFE, 0x00, 0x0F, 0xE0, 0x00, 0xFE, 0x00, 0x0F, 0xE0, 0x00, 0xFE, 0x00,
0x0F, 0xE0, 0x00, 0xFE, 0x00, 0x0F, 0xE0, 0x00, 0xFE, 0x00, 0x0F, 0xE0,
0x00, 0xFE, 0x00, 0x0F, 0xE0, 0x00, 0xFE, 0x00, 0x0F, 0xE0, 0x00, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0,
0xFF, 0x80, 0x03, 0xFF, 0xFF, 0x80, 0x0F, 0xFF, 0xFF, 0x00, 0x1F, 0xFF,
0xFF, 0x00, 0x3F, 0xFF, 0xFE, 0x00, 0xFF, 0xFF, 0xFC, 0x01, 0xFF, 0xFF,
0xFC, 0x03, 0xFF, 0xFF, 0xF8, 0x0F, 0xFF, 0xFF, 0xF0, 0x1F, 0x7F, 0xF7,
0xF0, 0x3E, 0xFF, 0xEF, 0xE0, 0xFD, 0xFF, 0xCF, 0xC1, 0xF3, 0xFF, 0x9F,
0xC7, 0xE7, 0xFF, 0x3F, 0x8F, 0xCF, 0xFE, 0x3F, 0x9F, 0x1F, 0xFC, 0x7F,
0x7E, 0x3F, 0xF8, 0xFE, 0xFC, 0x7F, 0xF0, 0xFF, 0xF0, 0xFF, 0xE1, 0xFF,
0xE1, 0xFF, 0xC3, 0xFF, 0x83, 0xFF, 0x83, 0xFF, 0x07, 0xFF, 0x07, 0xFE,
0x0F, 0xFE, 0x0F, 0xF8, 0x1F, 0xFC, 0x0F, 0xF0, 0x3F, 0xF8, 0x1F, 0xE0,
0x7F, 0xF0, 0x3F, 0x80, 0xFF, 0xE0, 0x3F, 0x01, 0xFF, 0xC0, 0x7E, 0x03,
0xFF, 0x80, 0x78, 0x07, 0xE0, 0xFC, 0x00, 0x3F, 0xFE, 0x00, 0x3F, 0xFF,
0x00, 0x3F, 0xFF, 0x00, 0x3F, 0xFF, 0x80, 0x3F, 0xFF, 0xC0, 0x3F, 0xFF,
0xE0, 0x3F, 0xFF, 0xE0, 0x3F, 0xFF, 0xF0, 0x3F, 0xFF, 0xF8, 0x3F, 0xFF,
0xF8, 0x3F, 0xFB, 0xFC, 0x3F, 0xF9, 0xFE, 0x3F, 0xF8, 0xFE, 0x3F, 0xF8,
0xFF, 0x3F, 0xF8, 0x7F, 0xBF, 0xF8, 0x3F, 0xFF, 0xF8, 0x3F, 0xFF, 0xF8,
0x1F, 0xFF, 0xF8, 0x0F, 0xFF, 0xF8, 0x07, 0xFF, 0xF8, 0x07, 0xFF, 0xF8,
0x03, 0xFF, 0xF8, 0x01, 0xFF, 0xF8, 0x01, 0xFF, 0xF8, 0x00, 0xFF, 0xF8,
0x00, 0x7F, 0xF8, 0x00, 0x3F, 0xF8, 0x00, 0x3F, 0x00, 0xFF, 0xE0, 0x00,
0x7F, 0xFE, 0x00, 0x1F, 0xFF, 0xF0, 0x0F, 0xFF, 0xFF, 0x01, 0xFF, 0x1F,
0xF0, 0x7F, 0x80, 0xFE, 0x1F, 0xE0, 0x0F, 0xE3, 0xF8, 0x01, 0xFC, 0x7F,
0x00, 0x1F, 0xDF, 0xC0, 0x03, 0xFB, 0xF8, 0x00, 0x7F, 0x7F, 0x00, 0x0F,
0xEF, 0xE0, 0x01, 0xFD, 0xFC, 0x00, 0x3F, 0xFF, 0x80, 0x07, 0xFF, 0xF0,
0x00, 0xFF, 0xFE, 0x00, 0x1F, 0xDF, 0xC0, 0x03, 0xFB, 0xF8, 0x00, 0x7F,
0x7F, 0x00, 0x0F, 0xE7, 0xF0, 0x01, 0xFC, 0xFE, 0x00, 0x7F, 0x1F, 0xE0,
0x0F, 0xE1, 0xFE, 0x03, 0xF8, 0x1F, 0xF3, 0xFF, 0x03, 0xFF, 0xFF, 0xC0,
0x3F, 0xFF, 0xF0, 0x01, 0xFF, 0xF8, 0x00, 0x0F, 0xFC, 0x00, 0xFF, 0xFF,
0x80, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF,
0xFC, 0xFE, 0x01, 0xFE, 0xFE, 0x00, 0xFE, 0xFE, 0x00, 0xFE, 0xFE, 0x00,
0xFE, 0xFE, 0x00, 0xFF, 0xFE, 0x00, 0xFE, 0xFE, 0x00, 0xFE, 0xFE, 0x03,
0xFE, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xF8, 0xFF, 0xFF,
0xE0, 0xFF, 0xFF, 0x00, 0xFE, 0x00, 0x00, 0xFE, 0x00, 0x00, 0xFE, 0x00,
0x00, 0xFE, 0x00, 0x00, 0xFE, 0x00, 0x00, 0xFE, 0x00, 0x00, 0xFE, 0x00,
0x00, 0xFE, 0x00, 0x00, 0xFE, 0x00, 0x00, 0xFE, 0x00, 0x00, 0xFE, 0x00,
0x00, 0x00, 0xFF, 0xE0, 0x00, 0x7F, 0xFE, 0x00, 0x3F, 0xFF, 0xF0, 0x0F,
0xFF, 0xFF, 0x01, 0xFF, 0x1F, 0xF0, 0x7F, 0x80, 0xFE, 0x1F, 0xE0, 0x0F,
0xE3, 0xF8, 0x01, 0xFC, 0x7F, 0x00, 0x1F, 0xDF, 0xC0, 0x03, 0xFB, 0xF8,
0x00, 0x7F, 0x7F, 0x00, 0x0F, 0xEF, 0xE0, 0x01, 0xFD, 0xFC, 0x00, 0x3F,
0xFF, 0x80, 0x07, 0xFF, 0xF0, 0x00, 0xFF, 0xFE, 0x00, 0x1F, 0xFF, 0xC0,
0x03, 0xFB, 0xF8, 0x00, 0x7F, 0x7F, 0x00, 0x0F, 0xE7, 0xF0, 0x01, 0xFC,
0xFE, 0x00, 0x7F, 0x1F, 0xE0, 0x0F, 0xE1, 0xFE, 0x03, 0xF8, 0x1F, 0xF3,
0xFF, 0x03, 0xFF, 0xFF, 0xC0, 0x3F, 0xFF, 0xF0, 0x01, 0xFF, 0xFE, 0x00,
0x0F, 0xFF, 0xF0, 0x00, 0x00, 0xFF, 0x80, 0x00, 0x0F, 0xF0, 0x00, 0x00,
0xFE, 0x00, 0x00, 0x0F, 0xC0, 0x00, 0x00, 0x78, 0xFF, 0xFF, 0x80, 0xFF,
0xFF, 0xF0, 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFE, 0xFE,
0x01, 0xFE, 0xFE, 0x00, 0xFF, 0xFE, 0x00, 0x7F, 0xFE, 0x00, 0x7F, 0xFE,
0x00, 0xFF, 0xFE, 0x00, 0xFE, 0xFE, 0x01, 0xFE, 0xFF, 0xFF, 0xFC, 0xFF,
0xFF, 0xFC, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xC0, 0xFE,
0x0F, 0xE0, 0xFE, 0x0F, 0xE0, 0xFE, 0x07, 0xF0, 0xFE, 0x07, 0xF0, 0xFE,
0x07, 0xF0, 0xFE, 0x03, 0xF8, 0xFE, 0x03, 0xF8, 0xFE, 0x01, 0xFC, 0xFE,
0x01, 0xFC, 0xFE, 0x01, 0xFE, 0xFE, 0x00, 0xFE, 0xFE, 0x00, 0xFE, 0x01,
0xFF, 0xC0, 0x07, 0xFF, 0xF0, 0x0F, 0xFF, 0xFC, 0x1F, 0xFF, 0xFE, 0x3F,
0xE3, 0xFE, 0x3F, 0x80, 0x7C, 0x7F, 0x00, 0x30, 0x7F, 0x00, 0x00, 0x7F,
0x00, 0x00, 0x7F, 0x80, 0x00, 0x3F, 0xE0, 0x00, 0x3F, 0xFE, 0x00, 0x3F,
0xFF, 0xC0, 0x1F, 0xFF, 0xF0, 0x0F, 0xFF, 0xFC, 0x03, 0xFF, 0xFC, 0x00,
0xFF, 0xFE, 0x00, 0x0F, 0xFF, 0x00, 0x01, 0xFF, 0x00, 0x00, 0x7F, 0x00,
0x00, 0x7F, 0x18, 0x00, 0x7F, 0x3C, 0x00, 0x7F, 0xFE, 0x00, 0xFE, 0x7F,
0xE7, 0xFE, 0x7F, 0xFF, 0xFC, 0x1F, 0xFF, 0xF8, 0x0F, 0xFF, 0xF0, 0x03,
0xFF, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x7F, 0x00, 0x00, 0x7F, 0x00, 0x00,
0x7F, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x7F, 0x00, 0x00,
0x7F, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x7F, 0x00, 0x00,
0x7F, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x7F, 0x00, 0x00,
0x7F, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x7F, 0x00, 0x00,
0x7F, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x7F, 0x00, 0x00,
0x7F, 0x00, 0x00, 0x7F, 0x00, 0xFE, 0x00, 0x3F, 0xFE, 0x00, 0x3F, 0xFE,
0x00, 0x3F, 0xFE, 0x00, 0x3F, 0xFE, 0x00, 0x3F, 0xFE, 0x00, 0x3F, 0xFE,
0x00, 0x3F, 0xFE, 0x00, 0x3F, 0xFE, 0x00, 0x3F, 0xFE, 0x00, 0x3F, 0xFE,
0x00, 0x3F, 0xFE, 0x00, 0x3F, 0xFE, 0x00, 0x3F, 0xFE, 0x00, 0x3F, 0xFE,
0x00, 0x3F, 0xFE, 0x00, 0x3F, 0xFE, 0x00, 0x3F, 0xFE, 0x00, 0x3F, 0xFE,
0x00, 0x3F, 0xFE, 0x00, 0x3F, 0x7E, 0x00, 0x3F, 0x7F, 0x00, 0x3F, 0x7F,
0x00, 0x7E, 0x7F, 0x80, 0xFE, 0x3F, 0xFF, 0xFE, 0x3F, 0xFF, 0xFC, 0x1F,
0xFF, 0xF8, 0x0F, 0xFF, 0xF0, 0x03, 0xFF, 0xC0, 0xFE, 0x00, 0x07, 0xCF,
0xE0, 0x01, 0xF9, 0xFC, 0x00, 0x3F, 0x3F, 0x80, 0x07, 0xE3, 0xF8, 0x01,
0xF8, 0x7F, 0x00, 0x3F, 0x0F, 0xE0, 0x07, 0xC0, 0xFE, 0x01, 0xF8, 0x1F,
0xC0, 0x3F, 0x03, 0xF8, 0x07, 0xC0, 0x3F, 0x81, 0xF8, 0x07, 0xF0, 0x3F,
0x00, 0xFE, 0x07, 0xC0, 0x0F, 0xE1, 0xF8, 0x01, 0xFC, 0x3F, 0x00, 0x3F,
0x87, 0xC0, 0x03, 0xF8, 0xF8, 0x00, 0x7F, 0x3F, 0x00, 0x0F, 0xE7, 0xC0,
0x00, 0xFE, 0xF8, 0x00, 0x1F, 0xFF, 0x00, 0x03, 0xFF, 0xC0, 0x00, 0x3F,
0xF8, 0x00, 0x07, 0xFF, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x0F, 0xF8, 0x00,
0x01, 0xFF, 0x00, 0x00, 0x3F, 0xC0, 0x00, 0x03, 0xF8, 0x00, 0xFE, 0x00,
0x3F, 0x00, 0x1F, 0xFE, 0x00, 0x3F, 0x00, 0x3F, 0x7F, 0x00, 0x7F, 0x80,
0x3F, 0x7F, 0x00, 0x7F, 0x80, 0x3E, 0x7F, 0x00, 0x7F, 0x80, 0x3E, 0x3F,
0x80, 0xFF, 0x80, 0x7E, 0x3F, 0x80, 0xFF, 0xC0, 0x7E, 0x3F, 0x80, 0xFF,
0xC0, 0x7C, 0x1F, 0x80, 0xFF, 0xC0, 0xFC, 0x1F, 0xC1, 0xFF, 0xE0, 0xFC,
0x1F, 0xC1, 0xFF, 0xE0, 0xF8, 0x1F, 0xC1, 0xF7, 0xE0, 0xF8, 0x0F, 0xE3,
0xF7, 0xE1, 0xF8, 0x0F, 0xE3, 0xE7, 0xF1, 0xF0, 0x0F, 0xE3, 0xE3, 0xF1,
0xF0, 0x07, 0xE3, 0xE3, 0xF3, 0xF0, 0x07, 0xF7, 0xE3, 0xFB, 0xF0, 0x07,
0xF7, 0xC3, 0xFB, 0xE0, 0x07, 0xF7, 0xC1, 0xFB, 0xE0, 0x03, 0xFF, 0xC1,
0xFF, 0xE0, 0x03, 0xFF, 0x81, 0xFF, 0xC0, 0x03, 0xFF, 0x80, 0xFF, 0xC0,
0x01, 0xFF, 0x80, 0xFF, 0xC0, 0x01, 0xFF, 0x00, 0xFF, 0x80, 0x01, 0xFF,
0x00, 0xFF, 0x80, 0x00, 0xFF, 0x00, 0x7F, 0x80, 0x00, 0xFF, 0x00, 0x7F,
0x80, 0x00, 0xFE, 0x00, 0x7F, 0x00, 0x00, 0x7E, 0x00, 0x3F, 0x00, 0x7F,
0x00, 0x1F, 0x8F, 0xF0, 0x07, 0xF0, 0xFE, 0x01, 0xFC, 0x1F, 0xE0, 0x3F,
0x01, 0xFC, 0x0F, 0xE0, 0x1F, 0xC1, 0xF8, 0x03, 0xFC, 0x7E, 0x00, 0x3F,
0x9F, 0xC0, 0x03, 0xFB, 0xF0, 0x00, 0x7F, 0xFC, 0x00, 0x07, 0xFF, 0x80,
0x00, 0x7F, 0xE0, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x1F,
0xE0, 0x00, 0x03, 0xFE, 0x00, 0x00, 0xFF, 0xE0, 0x00, 0x3F, 0xFC, 0x00,
0x07, 0xFF, 0xC0, 0x01, 0xFB, 0xFC, 0x00, 0x7F, 0x3F, 0x80, 0x0F, 0xC7,
0xF8, 0x03, 0xF0, 0x7F, 0x80, 0xFE, 0x07, 0xF0, 0x1F, 0x80, 0xFF, 0x07,
0xF0, 0x0F, 0xF1, 0xFC, 0x00, 0xFE, 0x3F, 0x00, 0x1F, 0xEF, 0xE0, 0x01,
0xFC, 0xFF, 0x00, 0x0F, 0xEF, 0xE0, 0x01, 0xF9, 0xFE, 0x00, 0x7E, 0x1F,
0xE0, 0x0F, 0xC1, 0xFC, 0x03, 0xF0, 0x3F, 0xC0, 0xFE, 0x03, 0xF8, 0x1F,
0x80, 0x7F, 0x87, 0xE0, 0x07, 0xF0, 0xFC, 0x00, 0x7F, 0x3F, 0x00, 0x0F,
0xF7, 0xC0, 0x00, 0xFF, 0xF8, 0x00, 0x1F, 0xFE, 0x00, 0x01, 0xFF, 0xC0,
0x00, 0x1F, 0xF0, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x07,
0xF0, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x03, 0xF8, 0x00,
0x00, 0x7F, 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x01, 0xFC, 0x00, 0x00, 0x3F,
0x80, 0x00, 0x07, 0xF0, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x1F, 0xC0, 0x00,
0x03, 0xF8, 0x00, 0x7F, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF,
0x7F, 0xFF, 0xFF, 0x7F, 0xFF, 0xFE, 0x00, 0x03, 0xFC, 0x00, 0x03, 0xFC,
0x00, 0x07, 0xF8, 0x00, 0x0F, 0xF0, 0x00, 0x0F, 0xF0, 0x00, 0x1F, 0xE0,
0x00, 0x3F, 0xC0, 0x00, 0x3F, 0x80, 0x00, 0x7F, 0x80, 0x00, 0xFF, 0x00,
0x00, 0xFE, 0x00, 0x01, 0xFE, 0x00, 0x03, 0xFC, 0x00, 0x03, 0xF8, 0x00,
0x07, 0xF8, 0x00, 0x0F, 0xF0, 0x00, 0x0F, 0xE0, 0x00, 0x1F, 0xE0, 0x00,
0x3F, 0xC0, 0x00, 0x7F, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xF8,
0x3E, 0x0F, 0x83, 0xE0, 0xF8, 0x3E, 0x0F, 0x83, 0xE0, 0xF8, 0x3E, 0x0F,
0x83, 0xE0, 0xF8, 0x3E, 0x0F, 0x83, 0xE0, 0xF8, 0x3E, 0x0F, 0x83, 0xE0,
0xF8, 0x3E, 0x0F, 0x83, 0xE0, 0xF8, 0x3E, 0x0F, 0x83, 0xE0, 0xFF, 0xFF,
0xFF, 0xFC, 0xF0, 0x03, 0xE0, 0x07, 0x80, 0x1E, 0x00, 0x7C, 0x00, 0xF0,
0x03, 0xC0, 0x07, 0x80, 0x1E, 0x00, 0x78, 0x00, 0xF0, 0x03, 0xC0, 0x0F,
0x00, 0x1E, 0x00, 0x78, 0x01, 0xE0, 0x03, 0xC0, 0x0F, 0x00, 0x3C, 0x00,
0x78, 0x01, 0xE0, 0x07, 0x80, 0x0F, 0x00, 0x3C, 0x00, 0xF0, 0x01, 0xE0,
0x07, 0x80, 0x1E, 0x00, 0x3C, 0x00, 0xF0, 0xFF, 0xFF, 0xFF, 0xE1, 0xF0,
0xF8, 0x7C, 0x3E, 0x1F, 0x0F, 0x87, 0xC3, 0xE1, 0xF0, 0xF8, 0x7C, 0x3E,
0x1F, 0x0F, 0x87, 0xC3, 0xE1, 0xF0, 0xF8, 0x7C, 0x3E, 0x1F, 0x0F, 0x87,
0xC3, 0xE1, 0xF0, 0xF8, 0x7C, 0x3E, 0x1F, 0xFF, 0xFF, 0xFF, 0xE0, 0x01,
0xC0, 0x03, 0xC0, 0x03, 0xE0, 0x07, 0xE0, 0x07, 0xF0, 0x07, 0xF0, 0x0F,
0xF0, 0x0F, 0x78, 0x1E, 0x78, 0x1E, 0x3C, 0x3C, 0x3C, 0x3C, 0x1E, 0x3C,
0x1E, 0x78, 0x1E, 0x78, 0x0F, 0xF0, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0x07, 0x00, 0x7E, 0x0F, 0xF8,
0x7F, 0xF0, 0x7E, 0x00, 0x60, 0x07, 0xFE, 0x03, 0xFF, 0xF0, 0xFF, 0xFF,
0x3F, 0xFF, 0xE7, 0xE0, 0xFE, 0xF8, 0x0F, 0xC0, 0x01, 0xF8, 0x00, 0x3F,
0x00, 0xFF, 0xE1, 0xFF, 0xFC, 0x7F, 0xFF, 0xBF, 0xC3, 0xF7, 0xE0, 0x7F,
0xF8, 0x0F, 0xFF, 0x01, 0xFF, 0xE0, 0x3F, 0xFC, 0x0F, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xBF, 0xFB, 0xF3, 0xFC, 0x7E, 0xFC, 0x00, 0x07, 0xE0, 0x00,
0x3F, 0x00, 0x01, 0xF8, 0x00, 0x0F, 0xC0, 0x00, 0x7E, 0x00, 0x03, 0xF0,
0x00, 0x1F, 0x80, 0x00, 0xFC, 0x7F, 0x07, 0xE7, 0xFC, 0x3F, 0xFF, 0xF1,
0xFF, 0xFF, 0xCF, 0xF0, 0x7E, 0x7E, 0x03, 0xFB, 0xF0, 0x0F, 0xDF, 0x80,
0x7E, 0xFC, 0x03, 0xF7, 0xE0, 0x1F, 0xFF, 0x00, 0xFF, 0xF8, 0x07, 0xFF,
0xC0, 0x3F, 0x7E, 0x01, 0xFB, 0xF0, 0x0F, 0xDF, 0xC0, 0x7E, 0xFE, 0x07,
0xE7, 0xFC, 0xFF, 0x3E, 0xFF, 0xF1, 0xF3, 0xFF, 0x0F, 0x0F, 0xF0, 0x00,
0x01, 0xFC, 0x00, 0x7F, 0xF0, 0x0F, 0xFF, 0x81, 0xFF, 0xFC, 0x3F, 0x87,
0xE7, 0xF0, 0x3E, 0x7E, 0x03, 0xF7, 0xE0, 0x00, 0xFC, 0x00, 0x0F, 0xC0,
0x00, 0xFC, 0x00, 0x0F, 0xC0, 0x00, 0xFC, 0x00, 0x0F, 0xE0, 0x00, 0x7E,
0x00, 0xE7, 0xE0, 0x1F, 0x3F, 0x03, 0xE3, 0xFF, 0xFE, 0x1F, 0xFF, 0xC0,
0xFF, 0xF8, 0x03, 0xFE, 0x00, 0x00, 0x01, 0xF8, 0x00, 0x0F, 0xC0, 0x00,
0x7E, 0x00, 0x03, 0xF0, 0x00, 0x1F, 0x80, 0x00, 0xFC, 0x00, 0x07, 0xE0,
0x00, 0x3F, 0x03, 0xF1, 0xF8, 0x7F, 0xEF, 0xC7, 0xFF, 0xFE, 0x7F, 0xFF,
0xF3, 0xF8, 0x7F, 0xBF, 0x80, 0xFD, 0xF8, 0x07, 0xEF, 0xC0, 0x3F, 0xFE,
0x01, 0xFF, 0xE0, 0x0F, 0xFF, 0x00, 0x7F, 0xF8, 0x03, 0xFF, 0xC0, 0x1F,
0xFF, 0x00, 0xFD, 0xF8, 0x07, 0xEF, 0xC0, 0x7F, 0x7F, 0x03, 0xF9, 0xFE,
0x7F, 0xCF, 0xFF, 0xFE, 0x3F, 0xFB, 0xF0, 0x7F, 0x1F, 0x80, 0x01, 0xFE,
0x00, 0x3F, 0xFC, 0x03, 0xFF, 0xF0, 0x3F, 0xFF, 0xC3, 0xF0, 0x7E, 0x3F,
0x01, 0xF9, 0xF8, 0x07, 0xCF, 0xC0, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x00, 0x7F, 0x00, 0x01, 0xF8,
0x02, 0x0F, 0xE0, 0x1C, 0x3F, 0x83, 0xF1, 0xFF, 0xFF, 0x87, 0xFF, 0xF8,
0x1F, 0xFF, 0x80, 0x3F, 0xF0, 0x00, 0x03, 0xFC, 0x1F, 0xF0, 0xFF, 0xC3,
0xFF, 0x0F, 0xC0, 0x3F, 0x00, 0xFC, 0x03, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0x1F, 0xC0, 0x3F, 0x00, 0xFC, 0x03, 0xF0, 0x0F, 0xC0,
0x3F, 0x00, 0xFC, 0x03, 0xF0, 0x0F, 0xC0, 0x3F, 0x00, 0xFC, 0x03, 0xF0,
0x0F, 0xC0, 0x3F, 0x00, 0xFC, 0x03, 0xF0, 0x0F, 0xC0, 0x00, 0x00, 0x03,
0x01, 0xFF, 0x0F, 0x07, 0xFF, 0xDF, 0x1F, 0xFF, 0xFF, 0x1F, 0x83, 0xFF,
0x3F, 0x01, 0xF0, 0x3E, 0x01, 0xF8, 0x3E, 0x01, 0xF8, 0x3E, 0x01, 0xF8,
0x3F, 0x01, 0xF0, 0x1F, 0x87, 0xF0, 0x0F, 0xFF, 0xE0, 0x07, 0xFF, 0x80,
0x07, 0xFE, 0x00, 0x1E, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x3F, 0xFF, 0x00,
0x3F, 0xFF, 0xF0, 0x3F, 0xFF, 0xF8, 0x0F, 0xFF, 0xFC, 0x1F, 0xFF, 0xFE,
0x7C, 0x00, 0xFE, 0x78, 0x00, 0x7E, 0xF8, 0x00, 0x7E, 0xFC, 0x00, 0x7C,
0x7F, 0x01, 0xFC, 0x7F, 0xFF, 0xF8, 0x1F, 0xFF, 0xE0, 0x03, 0xFE, 0x00,
0xFC, 0x00, 0x1F, 0x80, 0x03, 0xF0, 0x00, 0x7E, 0x00, 0x0F, 0xC0, 0x01,
0xF8, 0x00, 0x3F, 0x00, 0x07, 0xE0, 0x00, 0xFC, 0x3F, 0x1F, 0x9F, 0xFB,
0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xFF, 0xFC, 0x0F, 0xFF, 0x01, 0xFF,
0xE0, 0x3F, 0xFC, 0x07, 0xFF, 0x80, 0xFF, 0xF0, 0x1F, 0xFE, 0x03, 0xFF,
0xC0, 0x7F, 0xF8, 0x0F, 0xFF, 0x01, 0xFF, 0xE0, 0x3F, 0xFC, 0x07, 0xFF,
0x80, 0xFF, 0xF0, 0x1F, 0xFE, 0x03, 0xFF, 0xC0, 0x7E, 0xFF, 0xFF, 0xFF,
0xFF, 0xF0, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x0F, 0xC3, 0xF0, 0xFC, 0x3F,
0x0F, 0xC3, 0xF0, 0x00, 0x00, 0x0F, 0xC3, 0xF0, 0xFC, 0x3F, 0x0F, 0xC3,
0xF0, 0xFC, 0x3F, 0x0F, 0xC3, 0xF0, 0xFC, 0x3F, 0x0F, 0xC3, 0xF0, 0xFC,
0x3F, 0x0F, 0xC3, 0xF0, 0xFC, 0x3F, 0x0F, 0xC3, 0xF1, 0xFF, 0xFF, 0xFF,
0xFF, 0xEF, 0xF1, 0xC0, 0xFC, 0x00, 0x07, 0xE0, 0x00, 0x3F, 0x00, 0x01,
0xF8, 0x00, 0x0F, 0xC0, 0x00, 0x7E, 0x00, 0x03, 0xF0, 0x00, 0x1F, 0x80,
0x00, 0xFC, 0x03, 0xF7, 0xE0, 0x3F, 0x3F, 0x03, 0xF1, 0xF8, 0x1F, 0x0F,
0xC1, 0xF0, 0x7E, 0x1F, 0x03, 0xF1, 0xF8, 0x1F, 0x9F, 0x80, 0xFD, 0xFC,
0x07, 0xFF, 0xF0, 0x3F, 0xFF, 0xC1, 0xFF, 0xFE, 0x0F, 0xFB, 0xF8, 0x7F,
0x8F, 0xC3, 0xF8, 0x7F, 0x1F, 0x81, 0xF8, 0xFC, 0x0F, 0xE7, 0xE0, 0x3F,
0x3F, 0x01, 0xFD, 0xF8, 0x07, 0xFF, 0xC0, 0x3F, 0x80, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xFC, 0x3F, 0x01, 0xF8, 0xFC,
0xFF, 0x87, 0xFC, 0xFD, 0xFF, 0xCF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0x8F, 0xFC, 0x7F, 0xFE, 0x07, 0xF0, 0x3F, 0xFC, 0x07, 0xE0, 0x3F, 0xFC,
0x07, 0xE0, 0x3F, 0xFC, 0x07, 0xE0, 0x3F, 0xFC, 0x07, 0xE0, 0x3F, 0xFC,
0x07, 0xE0, 0x3F, 0xFC, 0x07, 0xE0, 0x3F, 0xFC, 0x07, 0xE0, 0x3F, 0xFC,
0x07, 0xE0, 0x3F, 0xFC, 0x07, 0xE0, 0x3F, 0xFC, 0x07, 0xE0, 0x3F, 0xFC,
0x07, 0xE0, 0x3F, 0xFC, 0x07, 0xE0, 0x3F, 0xFC, 0x07, 0xE0, 0x3F, 0xFC,
0x07, 0xE0, 0x3F, 0xFC, 0x07, 0xE0, 0x3F, 0xFC, 0x3F, 0x1F, 0x9F, 0xFB,
0xF7, 0xFF, 0x7F, 0xFF, 0xFF, 0xF8, 0xFF, 0xFC, 0x0F, 0xFF, 0x01, 0xFF,
0xE0, 0x3F, 0xFC, 0x07, 0xFF, 0x80, 0xFF, 0xF0, 0x1F, 0xFE, 0x03, 0xFF,
0xC0, 0x7F, 0xF8, 0x0F, 0xFF, 0x01, 0xFF, 0xE0, 0x3F, 0xFC, 0x07, 0xFF,
0x80, 0xFF, 0xF0, 0x1F, 0xFE, 0x03, 0xFF, 0xC0, 0x7E, 0x01, 0xFE, 0x00,
0x3F, 0xFC, 0x03, 0xFF, 0xF0, 0x3F, 0xFF, 0xC3, 0xF0, 0x7F, 0x3F, 0x01,
0xF9, 0xF8, 0x07, 0xEF, 0xC0, 0x3F, 0xFC, 0x01, 0xFF, 0xE0, 0x0F, 0xFF,
0x00, 0x7F, 0xF8, 0x03, 0xFF, 0xC0, 0x1F, 0xFF, 0x00, 0xFD, 0xF8, 0x07,
0xEF, 0xC0, 0x7E, 0x3F, 0x07, 0xF1, 0xFF, 0xFF, 0x07, 0xFF, 0xF0, 0x1F,
0xFF, 0x00, 0x3F, 0xE0, 0x00, 0xFC, 0x7F, 0x07, 0xE7, 0xFC, 0x3F, 0xFF,
0xF1, 0xFF, 0xFF, 0xCF, 0xE0, 0x7E, 0x7F, 0x03, 0xFB, 0xF0, 0x0F, 0xDF,
0x80, 0x7E, 0xFC, 0x03, 0xF7, 0xE0, 0x1F, 0xBF, 0x00, 0xFF, 0xF8, 0x07,
0xFF, 0xC0, 0x3F, 0x7E, 0x01, 0xFB, 0xF0, 0x0F, 0xDF, 0x80, 0xFE, 0xFE,
0x07, 0xE7, 0xFC, 0xFF, 0x3F, 0xFF, 0xF1, 0xFB, 0xFF, 0x0F, 0xCF, 0xF0,
0x7E, 0x00, 0x03, 0xF0, 0x00, 0x1F, 0x80, 0x00, 0xFC, 0x00, 0x07, 0xE0,
0x00, 0x3F, 0x00, 0x00, 0x03, 0xF8, 0x78, 0x7F, 0xE7, 0xC7, 0xFF, 0xBE,
0x7F, 0xFF, 0xF3, 0xF0, 0x7F, 0xBF, 0x01, 0xFD, 0xF8, 0x07, 0xEF, 0xC0,
0x3F, 0xFE, 0x01, 0xFF, 0xE0, 0x0F, 0xFF, 0x00, 0x7F, 0xF8, 0x03, 0xFF,
0xC0, 0x1F, 0xFF, 0x00, 0xFD, 0xF8, 0x07, 0xEF, 0xC0, 0x3F, 0x7F, 0x03,
0xF9, 0xFE, 0xFF, 0xCF, 0xFF, 0xFE, 0x3F, 0xFB, 0xF0, 0x7F, 0x1F, 0x80,
0x00, 0xFC, 0x00, 0x07, 0xE0, 0x00, 0x3F, 0x00, 0x01, 0xF8, 0x00, 0x0F,
0xC0, 0x00, 0x7E, 0xFC, 0x3F, 0xF3, 0xFF, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFE, 0x1F, 0xE0, 0x3F, 0x80, 0xFC, 0x03, 0xF0, 0x0F, 0xC0, 0x3F, 0x00,
0xFC, 0x03, 0xF0, 0x0F, 0xC0, 0x3F, 0x00, 0xFC, 0x03, 0xF0, 0x0F, 0xC0,
0x3F, 0x00, 0xFC, 0x00, 0x07, 0xFC, 0x03, 0xFF, 0xE0, 0xFF, 0xFE, 0x3F,
0xFF, 0xE7, 0xC0, 0x7C, 0xF8, 0x06, 0x1F, 0x00, 0x03, 0xFC, 0x00, 0x7F,
0xF8, 0x0F, 0xFF, 0xC0, 0xFF, 0xFE, 0x07, 0xFF, 0xE0, 0x3F, 0xFC, 0x00,
0x3F, 0x80, 0x01, 0xFB, 0x80, 0x3F, 0xF8, 0x07, 0xDF, 0xFF, 0xF9, 0xFF,
0xFE, 0x1F, 0xFF, 0x80, 0xFF, 0xC0, 0x0F, 0xC0, 0x1F, 0x80, 0x3F, 0x00,
0x7E, 0x00, 0xFC, 0x01, 0xF8, 0x03, 0xF0, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xF8, 0xFE, 0x01, 0xF8, 0x03, 0xF0, 0x07, 0xE0, 0x0F, 0xC0,
0x1F, 0x80, 0x3F, 0x00, 0x7E, 0x00, 0xFC, 0x01, 0xF8, 0x03, 0xF0, 0x07,
0xF0, 0x0F, 0xF0, 0x0F, 0xFE, 0x1F, 0xFC, 0x1F, 0xF8, 0x1F, 0xE0, 0xFC,
0x07, 0xFF, 0x80, 0xFF, 0xF0, 0x1F, 0xFE, 0x03, 0xFF, 0xC0, 0x7F, 0xF8,
0x0F, 0xFF, 0x01, 0xFF, 0xE0, 0x3F, 0xFC, 0x07, 0xFF, 0x80, 0xFF, 0xF0,
0x1F, 0xFE, 0x03, 0xFF, 0xC0, 0x7F, 0xF8, 0x0F, 0xFF, 0x01, 0xFF, 0xE0,
0x7F, 0xFE, 0x1F, 0xFF, 0xFF, 0xFD, 0xFF, 0xDF, 0xBF, 0xF3, 0xF1, 0xFC,
0x7E, 0xFC, 0x00, 0xFF, 0xF0, 0x07, 0xBF, 0x80, 0x7C, 0xFC, 0x03, 0xE7,
0xF0, 0x3E, 0x1F, 0x81, 0xF0, 0xFC, 0x0F, 0x07, 0xF0, 0xF8, 0x1F, 0x87,
0xC0, 0xFE, 0x3C, 0x03, 0xF3, 0xE0, 0x1F, 0x9E, 0x00, 0xFF, 0xF0, 0x03,
0xFF, 0x80, 0x1F, 0xF8, 0x00, 0x7F, 0xC0, 0x03, 0xFC, 0x00, 0x1F, 0xE0,
0x00, 0x7F, 0x00, 0x03, 0xF0, 0x00, 0x0F, 0x80, 0x00, 0xFC, 0x03, 0xC0,
0x3F, 0xF0, 0x1F, 0x80, 0xFF, 0xC0, 0x7E, 0x07, 0xDF, 0x81, 0xF8, 0x1E,
0x7E, 0x0F, 0xE0, 0x79, 0xF8, 0x3F, 0xC3, 0xE3, 0xF0, 0xFF, 0x0F, 0x0F,
0xC7, 0xFC, 0x3C, 0x3F, 0x1F, 0xF9, 0xF0, 0x7E, 0x7F, 0xE7, 0x81, 0xFB,
0xCF, 0x9E, 0x07, 0xEF, 0x3F, 0xF8, 0x0F, 0xFC, 0xFF, 0xC0, 0x3F, 0xF1,
0xFF, 0x00, 0xFF, 0x87, 0xFC, 0x01, 0xFE, 0x1F, 0xE0, 0x07, 0xF8, 0x3F,
0x80, 0x1F, 0xC0, 0xFE, 0x00, 0x3F, 0x03, 0xF0, 0x00, 0xFC, 0x0F, 0xC0,
0x03, 0xE0, 0x1F, 0x00, 0xFE, 0x01, 0xF7, 0xF0, 0x1F, 0x9F, 0xC0, 0xF8,
0x7F, 0x0F, 0x81, 0xFC, 0xF8, 0x0F, 0xE7, 0xC0, 0x3F, 0xFC, 0x00, 0xFF,
0xC0, 0x03, 0xFE, 0x00, 0x1F, 0xE0, 0x00, 0x7F, 0x00, 0x07, 0xFC, 0x00,
0x3F, 0xF0, 0x03, 0xFF, 0xC0, 0x3F, 0xFE, 0x03, 0xF3, 0xF8, 0x1F, 0x0F,
0xE1, 0xF0, 0x7F, 0x1F, 0x81, 0xFD, 0xF8, 0x07, 0xFF, 0x80, 0x3F, 0x80,
0xFC, 0x00, 0xF7, 0xE0, 0x0F, 0xBF, 0x80, 0x7C, 0xFC, 0x03, 0xC7, 0xF0,
0x3E, 0x1F, 0x81, 0xF0, 0xFC, 0x1F, 0x07, 0xF0, 0xF8, 0x1F, 0x87, 0x80,
0xFC, 0x7C, 0x03, 0xF3, 0xE0, 0x1F, 0x9E, 0x00, 0xFF, 0xF0, 0x03, 0xFF,
0x00, 0x1F, 0xF8, 0x00, 0x7F, 0xC0, 0x03, 0xFC, 0x00, 0x1F, 0xE0, 0x00,
0x7E, 0x00, 0x03, 0xF0, 0x00, 0x1F, 0x80, 0x00, 0xF8, 0x00, 0x0F, 0xC0,
0x0F, 0xFC, 0x00, 0x7F, 0xC0, 0x03, 0xFE, 0x00, 0x1F, 0xC0, 0x00, 0x7F,
0xFF, 0xDF, 0xFF, 0xF7, 0xFF, 0xFD, 0xFF, 0xFF, 0x00, 0x3F, 0x80, 0x1F,
0xC0, 0x07, 0xF0, 0x03, 0xF8, 0x01, 0xFC, 0x00, 0xFE, 0x00, 0x3F, 0x80,
0x1F, 0xC0, 0x0F, 0xE0, 0x07, 0xF0, 0x01, 0xF8, 0x00, 0xFE, 0x00, 0x7F,
0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x00,
0xFC, 0x0F, 0xF0, 0x7F, 0xC1, 0xF8, 0x07, 0xC0, 0x1E, 0x00, 0x78, 0x01,
0xE0, 0x07, 0x80, 0x1E, 0x00, 0x78, 0x01, 0xE0, 0x07, 0x80, 0x3E, 0x00,
0xF8, 0x07, 0xE0, 0xFF, 0x03, 0xE0, 0x0F, 0xF0, 0x07, 0xE0, 0x0F, 0x80,
0x3E, 0x00, 0x78, 0x01, 0xE0, 0x07, 0x80, 0x1E, 0x00, 0x78, 0x01, 0xE0,
0x07, 0x80, 0x1E, 0x00, 0x7C, 0x01, 0xF0, 0x07, 0xFC, 0x0F, 0xF0, 0x1F,
0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xFC, 0x07, 0xF0,
0x3F, 0xC0, 0x7F, 0x00, 0xF8, 0x07, 0xC0, 0x3E, 0x01, 0xF0, 0x0F, 0x80,
0x7C, 0x03, 0xE0, 0x1F, 0x00, 0xF8, 0x07, 0xC0, 0x3E, 0x00, 0xF8, 0x07,
0xF8, 0x07, 0xC0, 0xFE, 0x0F, 0xC0, 0xF8, 0x07, 0xC0, 0x3E, 0x01, 0xF0,
0x0F, 0x80, 0x7C, 0x03, 0xE0, 0x1F, 0x00, 0xF8, 0x07, 0xC0, 0x3E, 0x03,
0xF0, 0xFF, 0x07, 0xF8, 0x3F, 0x00, 0x07, 0x00, 0x21, 0xFC, 0x06, 0x7F,
0xF9, 0xFF, 0xFF, 0xFE, 0xF0, 0xFF, 0xE6, 0x03, 0xF8, 0x40, 0x04, 0x00 };
const GFXglyph LibreFranklin_Bold20pt7bGlyphs[] PROGMEM = {
{ 0, 1, 1, 8, 0, 0 }, // 0x20 ' '
{ 1, 7, 29, 10, 2, -28 }, // 0x21 '!'
{ 27, 15, 11, 18, 2, -28 }, // 0x22 '"'
{ 48, 22, 29, 24, 1, -28 }, // 0x23 '#'
{ 128, 23, 35, 26, 1, -31 }, // 0x24 '$'
{ 229, 33, 30, 37, 2, -29 }, // 0x25 '%'
{ 353, 30, 30, 33, 2, -29 }, // 0x26 '&'
{ 466, 6, 11, 10, 2, -28 }, // 0x27 '''
{ 475, 10, 35, 12, 2, -28 }, // 0x28 '('
{ 519, 9, 35, 12, 1, -28 }, // 0x29 ')'
{ 559, 16, 16, 18, 1, -28 }, // 0x2A '*'
{ 591, 19, 19, 23, 2, -23 }, // 0x2B '+'
{ 637, 6, 12, 10, 2, -5 }, // 0x2C ','
{ 646, 11, 5, 15, 2, -12 }, // 0x2D '-'
{ 653, 6, 7, 10, 2, -6 }, // 0x2E '.'
{ 659, 14, 30, 14, 0, -28 }, // 0x2F '/'
{ 712, 24, 30, 28, 2, -29 }, // 0x30 '0'
{ 802, 17, 29, 20, 2, -28 }, // 0x31 '1'
{ 864, 23, 29, 25, 1, -28 }, // 0x32 '2'
{ 948, 24, 29, 26, 1, -28 }, // 0x33 '3'
{ 1035, 25, 29, 27, 1, -28 }, // 0x34 '4'
{ 1126, 24, 29, 26, 1, -28 }, // 0x35 '5'
{ 1213, 23, 29, 27, 2, -28 }, // 0x36 '6'
{ 1297, 22, 29, 24, 1, -28 }, // 0x37 '7'
{ 1377, 23, 29, 27, 2, -28 }, // 0x38 '8'
{ 1461, 24, 29, 27, 1, -28 }, // 0x39 '9'
{ 1548, 6, 20, 10, 2, -19 }, // 0x3A ':'
{ 1563, 6, 26, 10, 2, -19 }, // 0x3B ';'
{ 1583, 18, 19, 23, 2, -22 }, // 0x3C '<'
{ 1626, 19, 14, 23, 2, -20 }, // 0x3D '='
{ 1660, 19, 19, 23, 2, -22 }, // 0x3E '>'
{ 1706, 20, 29, 21, 0, -28 }, // 0x3F '?'
{ 1779, 30, 30, 33, 2, -25 }, // 0x40 '@'
{ 1892, 28, 29, 30, 1, -28 }, // 0x41 'A'
{ 1994, 24, 29, 28, 3, -28 }, // 0x42 'B'
{ 2081, 25, 29, 28, 2, -28 }, // 0x43 'C'
{ 2172, 25, 29, 29, 3, -28 }, // 0x44 'D'
{ 2263, 21, 29, 26, 3, -28 }, // 0x45 'E'
{ 2340, 20, 29, 25, 3, -28 }, // 0x46 'F'
{ 2413, 25, 29, 29, 2, -28 }, // 0x47 'G'
{ 2504, 24, 29, 29, 3, -28 }, // 0x48 'H'
{ 2591, 7, 29, 12, 3, -28 }, // 0x49 'I'
{ 2617, 14, 29, 18, 1, -28 }, // 0x4A 'J'
{ 2668, 25, 29, 29, 3, -28 }, // 0x4B 'K'
{ 2759, 20, 29, 25, 3, -28 }, // 0x4C 'L'
{ 2832, 31, 29, 37, 3, -28 }, // 0x4D 'M'
{ 2945, 24, 29, 30, 3, -28 }, // 0x4E 'N'
{ 3032, 27, 29, 30, 2, -28 }, // 0x4F 'O'
{ 3130, 24, 29, 28, 3, -28 }, // 0x50 'P'
{ 3217, 27, 34, 30, 2, -28 }, // 0x51 'Q'
{ 3332, 24, 29, 28, 3, -28 }, // 0x52 'R'
{ 3419, 24, 29, 27, 1, -28 }, // 0x53 'S'
{ 3506, 24, 29, 27, 1, -28 }, // 0x54 'T'
{ 3593, 24, 29, 28, 2, -28 }, // 0x55 'U'
{ 3680, 27, 29, 29, 1, -28 }, // 0x56 'V'
{ 3778, 40, 29, 42, 1, -28 }, // 0x57 'W'
{ 3923, 27, 29, 29, 1, -28 }, // 0x58 'X'
{ 4021, 27, 29, 29, 1, -28 }, // 0x59 'Y'
{ 4119, 24, 29, 27, 1, -28 }, // 0x5A 'Z'
{ 4206, 10, 35, 12, 2, -28 }, // 0x5B '['
{ 4250, 14, 30, 14, 0, -28 }, // 0x5C '\'
{ 4303, 9, 35, 12, 1, -28 }, // 0x5D ']'
{ 4343, 16, 16, 19, 1, -20 }, // 0x5E '^'
{ 4375, 17, 5, 21, 2, 2 }, // 0x5F '_'
{ 4386, 12, 7, 12, 0, -29 }, // 0x60 '`'
{ 4397, 19, 21, 22, 1, -20 }, // 0x61 'a'
{ 4447, 21, 29, 24, 2, -28 }, // 0x62 'b'
{ 4524, 20, 21, 22, 1, -20 }, // 0x63 'c'
{ 4577, 21, 29, 24, 1, -28 }, // 0x64 'd'
{ 4654, 21, 21, 23, 1, -20 }, // 0x65 'e'
{ 4710, 14, 29, 16, 1, -28 }, // 0x66 'f'
{ 4761, 24, 29, 25, 0, -21 }, // 0x67 'g'
{ 4848, 19, 29, 23, 2, -28 }, // 0x68 'h'
{ 4917, 6, 29, 10, 2, -28 }, // 0x69 'i'
{ 4939, 10, 36, 10, -2, -28 }, // 0x6A 'j'
{ 4984, 21, 29, 24, 2, -28 }, // 0x6B 'k'
{ 5061, 6, 29, 10, 2, -28 }, // 0x6C 'l'
{ 5083, 32, 21, 36, 2, -20 }, // 0x6D 'm'
{ 5167, 19, 21, 23, 2, -20 }, // 0x6E 'n'
{ 5217, 21, 21, 23, 1, -20 }, // 0x6F 'o'
{ 5273, 21, 27, 24, 2, -20 }, // 0x70 'p'
{ 5344, 21, 27, 24, 1, -20 }, // 0x71 'q'
{ 5415, 14, 21, 17, 2, -20 }, // 0x72 'r'
{ 5452, 19, 21, 21, 1, -20 }, // 0x73 's'
{ 5502, 15, 28, 17, 1, -27 }, // 0x74 't'
{ 5555, 19, 21, 23, 2, -20 }, // 0x75 'u'
{ 5605, 21, 21, 22, 1, -20 }, // 0x76 'v'
{ 5661, 30, 21, 32, 1, -20 }, // 0x77 'w'
{ 5740, 21, 21, 23, 1, -20 }, // 0x78 'x'
{ 5796, 21, 27, 22, 1, -20 }, // 0x79 'y'
{ 5867, 18, 21, 20, 1, -20 }, // 0x7A 'z'
{ 5915, 14, 35, 14, 0, -28 }, // 0x7B '{'
{ 5977, 4, 39, 10, 3, -32 }, // 0x7C '|'
{ 5997, 13, 35, 14, 1, -28 }, // 0x7D '}'
{ 6054, 20, 7, 24, 2, -17 } }; // 0x7E '~'
const GFXfont LibreFranklin_Bold20pt7b PROGMEM = {
(uint8_t *)LibreFranklin_Bold20pt7bBitmaps,
(GFXglyph *)LibreFranklin_Bold20pt7bGlyphs,
0x20, 0x7E, 47 };
// Approx. 6744 bytes

894
src/fonts/LibreFranklin25.h Normal file
View file

@ -0,0 +1,894 @@
const uint8_t LibreFranklin_Bold25pt7bBitmaps[] PROGMEM = {
0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0xF3, 0xF9, 0xFC, 0xFE, 0x7F, 0x3F,
0x9F, 0xCF, 0xE7, 0xF3, 0xF9, 0xFC, 0xFE, 0x7E, 0x3F, 0x0F, 0x87, 0xC3,
0xE1, 0xF0, 0xF8, 0x7C, 0x1C, 0x00, 0x00, 0x00, 0x0F, 0xF7, 0xFB, 0xFD,
0xFE, 0xFF, 0x7F, 0xBF, 0xDF, 0xE0, 0xFF, 0x1F, 0xEF, 0xE1, 0xFD, 0xFC,
0x3F, 0xBF, 0x07, 0xE7, 0xE0, 0xFC, 0xFC, 0x1F, 0x9F, 0x83, 0xF3, 0xF0,
0x7E, 0x3E, 0x07, 0xC7, 0xC0, 0xF8, 0xF8, 0x1F, 0x1E, 0x03, 0xC3, 0xC0,
0x78, 0x78, 0x0F, 0x00, 0x00, 0x78, 0x0F, 0x00, 0x07, 0x80, 0xF0, 0x00,
0x78, 0x0E, 0x00, 0x07, 0x81, 0xE0, 0x00, 0x78, 0x1E, 0x00, 0x0F, 0x01,
0xE0, 0x00, 0xF0, 0x1E, 0x00, 0x0F, 0x01, 0xE0, 0x00, 0xF0, 0x1E, 0x00,
0x0F, 0x03, 0xC0, 0x00, 0xF0, 0x3C, 0x07, 0xFF, 0xFF, 0xFF, 0x7F, 0xFF,
0xFF, 0xF7, 0xFF, 0xFF, 0xFF, 0x01, 0xE0, 0x3C, 0x00, 0x1E, 0x03, 0xC0,
0x01, 0xE0, 0x78, 0x00, 0x1E, 0x07, 0x80, 0x03, 0xC0, 0x78, 0x00, 0x3C,
0x07, 0x80, 0x03, 0xC0, 0x78, 0x0F, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFF,
0xCF, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFF, 0xC0, 0x78, 0x0F, 0x00, 0x07,
0x80, 0xF0, 0x00, 0x78, 0x0F, 0x00, 0x07, 0x80, 0xF0, 0x00, 0x78, 0x1E,
0x00, 0x07, 0x81, 0xE0, 0x00, 0xF8, 0x1E, 0x00, 0x0F, 0x01, 0xE0, 0x00,
0xF0, 0x1E, 0x00, 0x0F, 0x01, 0xE0, 0x00, 0xF0, 0x1E, 0x00, 0x00, 0x07,
0x80, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x0F, 0x80,
0x00, 0x07, 0xFF, 0x80, 0x00, 0xFF, 0xFF, 0x00, 0x1F, 0xFF, 0xFE, 0x01,
0xFF, 0xFF, 0xFC, 0x1F, 0xFF, 0xFF, 0xE1, 0xFF, 0x3E, 0xFE, 0x0F, 0xE1,
0xF1, 0xE0, 0x7E, 0x0F, 0x87, 0x07, 0xF0, 0x7C, 0x00, 0x3F, 0x83, 0xE0,
0x01, 0xFC, 0x1F, 0x00, 0x0F, 0xE0, 0xF8, 0x00, 0x7F, 0x87, 0xC0, 0x01,
0xFF, 0xBE, 0x00, 0x0F, 0xFF, 0xF0, 0x00, 0x3F, 0xFF, 0xF0, 0x01, 0xFF,
0xFF, 0xF0, 0x07, 0xFF, 0xFF, 0xC0, 0x0F, 0xFF, 0xFF, 0x00, 0x1F, 0xFF,
0xFC, 0x00, 0x1F, 0xFF, 0xF0, 0x00, 0x3F, 0xFF, 0xC0, 0x01, 0xF3, 0xFE,
0x00, 0x0F, 0x8F, 0xF0, 0x00, 0x7C, 0x3F, 0x80, 0x03, 0xE0, 0xFC, 0x00,
0x1F, 0x07, 0xE3, 0x00, 0xF8, 0x3F, 0x3E, 0x07, 0xC3, 0xFB, 0xF8, 0x3E,
0x3F, 0xFF, 0xF9, 0xF7, 0xFC, 0xFF, 0xFF, 0xFF, 0xC3, 0xFF, 0xFF, 0xFE,
0x0F, 0xFF, 0xFF, 0xE0, 0x1F, 0xFF, 0xFC, 0x00, 0x3F, 0xFF, 0x80, 0x00,
0x07, 0xC0, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x01, 0xF0, 0x00, 0x00, 0x0F,
0x00, 0x00, 0x01, 0xF0, 0x00, 0x01, 0xE0, 0x01, 0xFF, 0x00, 0x00, 0xF8,
0x01, 0xFF, 0xE0, 0x00, 0x3C, 0x00, 0xFF, 0xFC, 0x00, 0x1E, 0x00, 0x3E,
0x1F, 0x80, 0x0F, 0x80, 0x1F, 0x83, 0xE0, 0x03, 0xC0, 0x07, 0xC0, 0xFC,
0x01, 0xE0, 0x03, 0xF0, 0x1F, 0x00, 0xF8, 0x00, 0xFC, 0x07, 0xC0, 0x3C,
0x00, 0x3F, 0x01, 0xF0, 0x1E, 0x00, 0x0F, 0x80, 0x7C, 0x0F, 0x80, 0x03,
0xF0, 0x1F, 0x03, 0xC0, 0x00, 0xFC, 0x07, 0xC1, 0xE0, 0x00, 0x3F, 0x01,
0xF0, 0xF8, 0x00, 0x07, 0xC0, 0xFC, 0x3C, 0x00, 0x01, 0xF8, 0x3E, 0x1E,
0x00, 0x00, 0x3F, 0x1F, 0x8F, 0x80, 0x00, 0x0F, 0xFF, 0xC3, 0xC0, 0xFC,
0x01, 0xFF, 0xE1, 0xE0, 0xFF, 0xC0, 0x1F, 0xF0, 0xF8, 0x7F, 0xF8, 0x01,
0xE0, 0x3C, 0x3F, 0xFF, 0x00, 0x00, 0x1E, 0x1F, 0x87, 0xE0, 0x00, 0x0F,
0x87, 0xC0, 0xF8, 0x00, 0x03, 0xC3, 0xF0, 0x3F, 0x00, 0x01, 0xE0, 0xFC,
0x0F, 0xC0, 0x00, 0xF8, 0x3F, 0x01, 0xF0, 0x00, 0x3C, 0x0F, 0x80, 0x7C,
0x00, 0x1E, 0x03, 0xE0, 0x1F, 0x00, 0x0F, 0x80, 0xF8, 0x07, 0xC0, 0x03,
0xC0, 0x3F, 0x01, 0xF0, 0x01, 0xF0, 0x0F, 0xC0, 0xFC, 0x00, 0xF8, 0x01,
0xF0, 0x3E, 0x00, 0x3C, 0x00, 0x7E, 0x1F, 0x80, 0x1F, 0x00, 0x0F, 0xCF,
0xC0, 0x0F, 0x80, 0x03, 0xFF, 0xF0, 0x03, 0xC0, 0x00, 0x7F, 0xF8, 0x01,
0xF0, 0x00, 0x07, 0xF8, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x01, 0xFF,
0xF0, 0x00, 0x00, 0x1F, 0xFF, 0xE0, 0x00, 0x03, 0xFF, 0xFF, 0x80, 0x00,
0x1F, 0xFF, 0xFC, 0x00, 0x01, 0xFE, 0x0F, 0xF0, 0x00, 0x0F, 0xE0, 0x3F,
0x80, 0x00, 0xFF, 0x00, 0xFC, 0x00, 0x07, 0xF8, 0x07, 0xE0, 0x00, 0x3F,
0xC0, 0x3F, 0x00, 0x01, 0xFE, 0x03, 0xF8, 0x00, 0x0F, 0xF8, 0x3F, 0x80,
0x00, 0x3F, 0xE3, 0xFC, 0x00, 0x01, 0xFF, 0xFF, 0xC0, 0x00, 0x07, 0xFF,
0xFC, 0x00, 0x00, 0x1F, 0xFF, 0xC0, 0x00, 0x00, 0xFF, 0xF8, 0x00, 0x00,
0x07, 0xFF, 0x80, 0x1C, 0x00, 0xFF, 0xFC, 0x01, 0xF8, 0x0F, 0xFF, 0xF0,
0x0F, 0xE1, 0xFF, 0xFF, 0xC0, 0xFE, 0x1F, 0xFB, 0xFF, 0x07, 0xF0, 0xFF,
0x0F, 0xFC, 0x7F, 0x0F, 0xF0, 0x3F, 0xF7, 0xF0, 0xFF, 0x80, 0xFF, 0xFF,
0x87, 0xF8, 0x03, 0xFF, 0xF8, 0x3F, 0xC0, 0x1F, 0xFF, 0x81, 0xFE, 0x00,
0x7F, 0xF8, 0x0F, 0xF0, 0x01, 0xFF, 0xC0, 0x7F, 0xC0, 0x0F, 0xFF, 0x83,
0xFF, 0x00, 0xFF, 0xFF, 0xCF, 0xFE, 0x3F, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF,
0xFF, 0xF9, 0xFF, 0xFF, 0xFB, 0xFF, 0xC7, 0xFF, 0xFF, 0x0F, 0xFE, 0x1F,
0xFF, 0xE0, 0x1F, 0xF0, 0x1F, 0xFC, 0x00, 0x0F, 0x80, 0xFF, 0x7F, 0x7F,
0x7E, 0x7E, 0x7E, 0x7E, 0x7E, 0x3E, 0x3E, 0x3E, 0x3C, 0x3C, 0x3C, 0x01,
0xF8, 0x1F, 0x80, 0xF8, 0x0F, 0xC0, 0x7E, 0x07, 0xE0, 0x3F, 0x03, 0xF0,
0x1F, 0x80, 0xFC, 0x0F, 0xE0, 0x7E, 0x03, 0xF0, 0x3F, 0x81, 0xFC, 0x0F,
0xE0, 0x7E, 0x03, 0xF0, 0x3F, 0x81, 0xFC, 0x0F, 0xE0, 0x7F, 0x03, 0xF8,
0x1F, 0xC0, 0xFE, 0x07, 0xF0, 0x1F, 0x80, 0xFC, 0x07, 0xF0, 0x3F, 0x81,
0xFC, 0x07, 0xE0, 0x3F, 0x01, 0xFC, 0x07, 0xE0, 0x3F, 0x01, 0xFC, 0x07,
0xE0, 0x3F, 0x00, 0xFC, 0x07, 0xE0, 0x1F, 0x00, 0xFC, 0x03, 0xE0, 0xF8,
0x0F, 0xC0, 0x7E, 0x07, 0xE0, 0x3F, 0x03, 0xF0, 0x3F, 0x81, 0xF8, 0x1F,
0x81, 0xFC, 0x0F, 0xC0, 0xFC, 0x0F, 0xE0, 0xFE, 0x07, 0xE0, 0x7E, 0x07,
0xF0, 0x7F, 0x07, 0xF0, 0x7F, 0x07, 0xF0, 0x7F, 0x07, 0xF0, 0x7F, 0x07,
0xF0, 0x7F, 0x07, 0xF0, 0x7F, 0x07, 0xE0, 0x7E, 0x0F, 0xE0, 0xFE, 0x0F,
0xC0, 0xFC, 0x1F, 0xC1, 0xF8, 0x1F, 0x83, 0xF8, 0x3F, 0x03, 0xF0, 0x7E,
0x07, 0xC0, 0xFC, 0x0F, 0x80, 0x00, 0xF8, 0x00, 0x07, 0xC0, 0x00, 0x3E,
0x00, 0x01, 0xF0, 0x00, 0x0F, 0x80, 0x38, 0x38, 0x39, 0xF1, 0xC7, 0xCF,
0xFF, 0xFE, 0xFF, 0xFF, 0xF9, 0xFF, 0xFE, 0x00, 0xFF, 0x80, 0x03, 0xF8,
0x00, 0x3F, 0xE0, 0x03, 0xEF, 0x80, 0x3F, 0x7E, 0x01, 0xF1, 0xF0, 0x1F,
0x07, 0xC0, 0xF8, 0x3E, 0x03, 0x80, 0xE0, 0x04, 0x00, 0x00, 0x00, 0x3E,
0x00, 0x00, 0x3E, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x3E,
0x00, 0x00, 0x3E, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x3E,
0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x3E, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x3E,
0x00, 0x00, 0x3E, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x3E,
0x00, 0x00, 0x3E, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x3E, 0x00, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1E, 0x3E, 0x3C, 0x78, 0x78, 0x70,
0xE0, 0xC0, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xFF,
0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x0F, 0xC0,
0x03, 0xE0, 0x00, 0xF8, 0x00, 0x7E, 0x00, 0x1F, 0x00, 0x07, 0xC0, 0x03,
0xF0, 0x00, 0xF8, 0x00, 0x3E, 0x00, 0x1F, 0x80, 0x07, 0xC0, 0x01, 0xF0,
0x00, 0xFC, 0x00, 0x3E, 0x00, 0x0F, 0x80, 0x07, 0xE0, 0x01, 0xF0, 0x00,
0x7C, 0x00, 0x3E, 0x00, 0x0F, 0x80, 0x03, 0xE0, 0x01, 0xF0, 0x00, 0x7C,
0x00, 0x1F, 0x00, 0x0F, 0x80, 0x03, 0xE0, 0x00, 0xF8, 0x00, 0x7C, 0x00,
0x1F, 0x00, 0x07, 0xC0, 0x03, 0xE0, 0x00, 0xF8, 0x00, 0x3E, 0x00, 0x1F,
0x00, 0x07, 0xC0, 0x03, 0xF0, 0x00, 0xF8, 0x00, 0x00, 0x00, 0x0F, 0xE0,
0x00, 0x00, 0xFF, 0xF0, 0x00, 0x03, 0xFF, 0xF8, 0x00, 0x1F, 0xFF, 0xF8,
0x00, 0x7F, 0xFF, 0xF8, 0x01, 0xFF, 0xFF, 0xF8, 0x03, 0xFE, 0x1F, 0xF8,
0x0F, 0xF8, 0x0F, 0xF8, 0x3F, 0xE0, 0x0F, 0xF0, 0x7F, 0x80, 0x1F, 0xF0,
0xFF, 0x00, 0x1F, 0xE3, 0xFE, 0x00, 0x3F, 0xC7, 0xF8, 0x00, 0x7F, 0xCF,
0xF0, 0x00, 0xFF, 0x9F, 0xE0, 0x00, 0xFF, 0x7F, 0xC0, 0x01, 0xFE, 0xFF,
0x80, 0x03, 0xFD, 0xFF, 0x00, 0x07, 0xFB, 0xFE, 0x00, 0x0F, 0xFF, 0xFC,
0x00, 0x1F, 0xEF, 0xF8, 0x00, 0x3F, 0xDF, 0xF0, 0x00, 0x7F, 0xBF, 0xE0,
0x00, 0xFF, 0x3F, 0xC0, 0x01, 0xFE, 0x7F, 0x80, 0x07, 0xFC, 0xFF, 0x00,
0x0F, 0xF9, 0xFF, 0x00, 0x1F, 0xE1, 0xFE, 0x00, 0x3F, 0xC3, 0xFE, 0x00,
0xFF, 0x87, 0xFC, 0x01, 0xFE, 0x07, 0xFC, 0x0F, 0xFC, 0x07, 0xFF, 0xFF,
0xF0, 0x0F, 0xFF, 0xFF, 0xC0, 0x0F, 0xFF, 0xFF, 0x00, 0x07, 0xFF, 0xFC,
0x00, 0x07, 0xFF, 0xF0, 0x00, 0x03, 0xFF, 0x80, 0x00, 0x00, 0xFE, 0x00,
0x1F, 0xF0, 0x03, 0xFF, 0x80, 0x7F, 0xFC, 0x0F, 0xFF, 0xE0, 0x7F, 0xFF,
0x03, 0xFF, 0xF8, 0x1F, 0xFF, 0xC0, 0xFB, 0xFE, 0x06, 0x1F, 0xF0, 0x00,
0xFF, 0x80, 0x07, 0xFC, 0x00, 0x3F, 0xE0, 0x01, 0xFF, 0x00, 0x0F, 0xF8,
0x00, 0x7F, 0xC0, 0x03, 0xFE, 0x00, 0x1F, 0xF0, 0x00, 0xFF, 0x80, 0x07,
0xFC, 0x00, 0x3F, 0xE0, 0x01, 0xFF, 0x00, 0x0F, 0xF8, 0x00, 0x7F, 0xC0,
0x03, 0xFE, 0x00, 0x1F, 0xF0, 0x00, 0xFF, 0x80, 0x07, 0xFC, 0x00, 0x3F,
0xE0, 0x01, 0xFF, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x3F, 0x80, 0x00,
0x3F, 0xFF, 0x00, 0x1F, 0xFF, 0xF8, 0x07, 0xFF, 0xFF, 0x81, 0xFF, 0xFF,
0xF8, 0x7F, 0xFF, 0xFF, 0x9F, 0xFC, 0xFF, 0xF7, 0xFE, 0x03, 0xFE, 0xFF,
0x00, 0x3F, 0xEF, 0xE0, 0x07, 0xFC, 0xF8, 0x00, 0x7F, 0x86, 0x00, 0x0F,
0xF0, 0x00, 0x01, 0xFE, 0x00, 0x00, 0x7F, 0xC0, 0x00, 0x0F, 0xF8, 0x00,
0x03, 0xFE, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x3F, 0xF0, 0x00, 0x0F, 0xFC,
0x00, 0x03, 0xFF, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x3F, 0xF0, 0x00, 0x0F,
0xFC, 0x00, 0x03, 0xFE, 0x00, 0x00, 0xFF, 0x80, 0x00, 0x7F, 0xE0, 0x00,
0x1F, 0xF8, 0x00, 0x07, 0xFC, 0x00, 0x01, 0xFF, 0x00, 0x00, 0x7F, 0xC0,
0x00, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFE, 0x00, 0x1F, 0xE0, 0x00, 0x03, 0xFF, 0xF0, 0x00, 0x3F, 0xFF, 0xF0,
0x03, 0xFF, 0xFF, 0xF0, 0x1F, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xFF, 0x83,
0xFF, 0x07, 0xFF, 0x07, 0xF0, 0x07, 0xFC, 0x0F, 0x00, 0x0F, 0xF0, 0x08,
0x00, 0x3F, 0xE0, 0x00, 0x00, 0xFF, 0x80, 0x00, 0x03, 0xFC, 0x00, 0x00,
0x1F, 0xF0, 0x00, 0x00, 0x7F, 0xC0, 0x00, 0x07, 0xFE, 0x00, 0x0F, 0xFF,
0xF0, 0x00, 0x7F, 0xFF, 0x00, 0x01, 0xFF, 0xF0, 0x00, 0x07, 0xFF, 0xF0,
0x00, 0x1F, 0xFF, 0xF0, 0x00, 0x7F, 0xFF, 0xE0, 0x00, 0x03, 0xFF, 0xC0,
0x00, 0x01, 0xFF, 0x80, 0x00, 0x03, 0xFE, 0x00, 0x00, 0x07, 0xF8, 0x00,
0x00, 0x1F, 0xF0, 0x00, 0x00, 0x7F, 0xC1, 0x00, 0x01, 0xFF, 0x1E, 0x00,
0x07, 0xFC, 0xFC, 0x00, 0x3F, 0xEF, 0xFC, 0x01, 0xFF, 0x9F, 0xFF, 0xFF,
0xFE, 0x3F, 0xFF, 0xFF, 0xF0, 0x7F, 0xFF, 0xFF, 0x80, 0xFF, 0xFF, 0xFC,
0x00, 0xFF, 0xFF, 0xC0, 0x00, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0xFF, 0x80,
0x00, 0x07, 0xFE, 0x00, 0x00, 0x3F, 0xF8, 0x00, 0x00, 0xFF, 0xE0, 0x00,
0x07, 0xFF, 0x80, 0x00, 0x3F, 0xFE, 0x00, 0x01, 0xFF, 0xF8, 0x00, 0x07,
0xFF, 0xE0, 0x00, 0x3F, 0xFF, 0x80, 0x01, 0xFB, 0xFE, 0x00, 0x0F, 0xCF,
0xF8, 0x00, 0x7E, 0x3F, 0xE0, 0x01, 0xF8, 0xFF, 0x80, 0x0F, 0xC3, 0xFE,
0x00, 0x7E, 0x0F, 0xF8, 0x03, 0xF8, 0x3F, 0xE0, 0x0F, 0xC0, 0xFF, 0x80,
0x7E, 0x03, 0xFE, 0x03, 0xF0, 0x0F, 0xF8, 0x1F, 0xC0, 0x3F, 0xE0, 0x7E,
0x00, 0xFF, 0x83, 0xF8, 0x03, 0xFE, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xC0, 0x00, 0x3F, 0xE0, 0x00, 0x00, 0xFF, 0x80, 0x00, 0x03, 0xFE,
0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x3F, 0xE0, 0x00, 0x00, 0xFF, 0x80,
0x00, 0x03, 0xFE, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x3F, 0xE0, 0x1F,
0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xFF, 0x07, 0xFF, 0xFF, 0xF8, 0x3F, 0xFF,
0xFF, 0xC1, 0xFF, 0xFF, 0xFC, 0x0F, 0xFF, 0xFF, 0xE0, 0x7F, 0xFF, 0xFE,
0x07, 0xF0, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x01, 0xFC, 0x00, 0x00, 0x0F,
0xE0, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x1F, 0x8F,
0xFE, 0x00, 0xFF, 0xFF, 0xFC, 0x07, 0xFF, 0xFF, 0xF0, 0x3F, 0xFF, 0xFF,
0xC1, 0xFF, 0xFF, 0xFF, 0x07, 0xFF, 0xFF, 0xFC, 0x0F, 0x80, 0x7F, 0xE0,
0x10, 0x01, 0xFF, 0x80, 0x00, 0x07, 0xFC, 0x00, 0x00, 0x3F, 0xE0, 0x00,
0x00, 0xFF, 0x00, 0x00, 0x07, 0xF8, 0x00, 0x00, 0x3F, 0xC3, 0x00, 0x03,
0xFE, 0x7C, 0x00, 0x1F, 0xF7, 0xF0, 0x01, 0xFF, 0x7F, 0xC0, 0x1F, 0xFB,
0xFF, 0xFF, 0xFF, 0x8F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFF, 0xFF, 0xC0, 0xFF,
0xFF, 0xFC, 0x01, 0xFF, 0xFF, 0x80, 0x01, 0xFF, 0xF0, 0x00, 0x00, 0x07,
0xE0, 0x00, 0x00, 0xFF, 0xF0, 0x00, 0x0F, 0xFF, 0xF0, 0x00, 0xFF, 0xFF,
0xE0, 0x07, 0xFF, 0xFF, 0xC0, 0x3F, 0xFF, 0xFF, 0x80, 0xFF, 0xC3, 0xFF,
0x07, 0xFC, 0x03, 0xFC, 0x1F, 0xE0, 0x07, 0xC0, 0xFF, 0x00, 0x18, 0x03,
0xFC, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x00, 0x7F, 0x80, 0x00, 0x01, 0xFE,
0x00, 0x00, 0x07, 0xF8, 0x00, 0x00, 0x3F, 0xE1, 0xFF, 0x00, 0xFF, 0xBF,
0xFF, 0x03, 0xFF, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xFE, 0x3F, 0xFF, 0xFF,
0xFC, 0xFF, 0xFE, 0xFF, 0xF3, 0xFF, 0x80, 0x7F, 0xEF, 0xF8, 0x00, 0xFF,
0xBF, 0xE0, 0x01, 0xFF, 0x7F, 0x80, 0x07, 0xFD, 0xFE, 0x00, 0x1F, 0xF7,
0xF8, 0x00, 0x7F, 0xDF, 0xE0, 0x01, 0xFF, 0x3F, 0xC0, 0x07, 0xF8, 0xFF,
0x80, 0x3F, 0xE1, 0xFF, 0x01, 0xFF, 0x87, 0xFE, 0x1F, 0xFC, 0x0F, 0xFF,
0xFF, 0xE0, 0x1F, 0xFF, 0xFF, 0x00, 0x3F, 0xFF, 0xF8, 0x00, 0x3F, 0xFF,
0xC0, 0x00, 0x3F, 0xF8, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xFF, 0xFF,
0xFF, 0xBF, 0xFF, 0xFF, 0xE0, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x7F, 0x00,
0x00, 0x1F, 0xC0, 0x00, 0x03, 0xF8, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x3F,
0xC0, 0x00, 0x07, 0xF0, 0x00, 0x01, 0xFE, 0x00, 0x00, 0x3F, 0x80, 0x00,
0x0F, 0xF0, 0x00, 0x01, 0xFC, 0x00, 0x00, 0x7F, 0x80, 0x00, 0x0F, 0xF0,
0x00, 0x03, 0xFC, 0x00, 0x00, 0x7F, 0x80, 0x00, 0x1F, 0xE0, 0x00, 0x03,
0xFC, 0x00, 0x00, 0xFF, 0x80, 0x00, 0x1F, 0xE0, 0x00, 0x07, 0xFC, 0x00,
0x00, 0xFF, 0x80, 0x00, 0x1F, 0xF0, 0x00, 0x07, 0xFC, 0x00, 0x00, 0xFF,
0x80, 0x00, 0x1F, 0xF0, 0x00, 0x07, 0xFE, 0x00, 0x00, 0xFF, 0x80, 0x00,
0x1F, 0xF0, 0x00, 0x03, 0xFE, 0x00, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x03,
0xFF, 0xE0, 0x00, 0x3F, 0xFF, 0xE0, 0x01, 0xFF, 0xFF, 0xE0, 0x0F, 0xFF,
0xFF, 0xC0, 0x7F, 0xFF, 0xFF, 0x03, 0xFF, 0x03, 0xFE, 0x0F, 0xF0, 0x07,
0xF8, 0x7F, 0x80, 0x0F, 0xF1, 0xFE, 0x00, 0x1F, 0xC7, 0xF8, 0x00, 0x7F,
0x1F, 0xE0, 0x03, 0xFC, 0x7F, 0xC0, 0x0F, 0xF1, 0xFF, 0x80, 0x3F, 0x87,
0xFF, 0x81, 0xFC, 0x0F, 0xFF, 0xFF, 0xE0, 0x1F, 0xFF, 0xFF, 0x00, 0x3F,
0xFF, 0xF8, 0x00, 0x7F, 0xFF, 0xF0, 0x00, 0xFF, 0xFF, 0xF0, 0x07, 0xFF,
0xFF, 0xE0, 0x7F, 0xFF, 0xFF, 0xC3, 0xF8, 0x1F, 0xFF, 0x1F, 0xC0, 0x0F,
0xFE, 0x7F, 0x00, 0x0F, 0xFB, 0xF8, 0x00, 0x1F, 0xEF, 0xE0, 0x00, 0x7F,
0xFF, 0x80, 0x01, 0xFF, 0xFF, 0x00, 0x07, 0xFB, 0xFC, 0x00, 0x3F, 0xEF,
0xF8, 0x00, 0xFF, 0x9F, 0xF8, 0x0F, 0xFC, 0x7F, 0xFF, 0xFF, 0xF0, 0xFF,
0xFF, 0xFF, 0x81, 0xFF, 0xFF, 0xF8, 0x01, 0xFF, 0xFF, 0xC0, 0x01, 0xFF,
0xF8, 0x00, 0x00, 0x1F, 0x80, 0x00, 0x0F, 0xFF, 0x80, 0x01, 0xFF, 0xFF,
0x00, 0x1F, 0xFF, 0xFE, 0x01, 0xFF, 0xFF, 0xF8, 0x1F, 0xFF, 0xFF, 0xE1,
0xFF, 0xC1, 0xFF, 0x0F, 0xF8, 0x07, 0xFC, 0xFF, 0x80, 0x1F, 0xE7, 0xFC,
0x00, 0x7F, 0xBF, 0xC0, 0x03, 0xFD, 0xFE, 0x00, 0x1F, 0xEF, 0xF0, 0x00,
0x7F, 0xFF, 0xC0, 0x03, 0xFF, 0xFE, 0x00, 0x1F, 0xFF, 0xF8, 0x01, 0xFF,
0x7F, 0xE0, 0x3F, 0xFB, 0xFF, 0xFF, 0xFF, 0xCF, 0xFF, 0xFF, 0xFE, 0x3F,
0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xFF, 0x81, 0xFF, 0xF3, 0xFC, 0x03, 0xFC,
0x1F, 0xE0, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x07, 0xF8, 0x00, 0x00, 0x7F,
0x80, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x1F, 0xE0, 0x30, 0x01, 0xFE, 0x0F,
0xC0, 0x1F, 0xF0, 0xFF, 0x01, 0xFF, 0x07, 0xFF, 0xFF, 0xF8, 0x1F, 0xFF,
0xFF, 0x80, 0xFF, 0xFF, 0xF8, 0x03, 0xFF, 0xFF, 0x80, 0x07, 0xFF, 0xF0,
0x00, 0x0F, 0xFE, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1E, 0x3E, 0x3C, 0x78, 0x78,
0x70, 0xF0, 0xE0, 0x00, 0x00, 0x06, 0x00, 0x00, 0x7C, 0x00, 0x03, 0xF8,
0x00, 0x3F, 0xF0, 0x01, 0xFF, 0xE0, 0x1F, 0xFF, 0xC0, 0xFF, 0xFF, 0x0F,
0xFF, 0xF8, 0x7F, 0xFF, 0x81, 0xFF, 0xF8, 0x03, 0xFF, 0xC0, 0x07, 0xFC,
0x00, 0x0F, 0xFC, 0x00, 0x1F, 0xFF, 0x00, 0x3F, 0xFF, 0x80, 0x3F, 0xFF,
0xE0, 0x0F, 0xFF, 0xF8, 0x03, 0xFF, 0xFC, 0x01, 0xFF, 0xF8, 0x00, 0x7F,
0xF0, 0x00, 0x3F, 0xE0, 0x00, 0x0F, 0xC0, 0x00, 0x03, 0x80, 0x00, 0x00,
0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xC0, 0x00, 0x01, 0xF0, 0x00, 0x03, 0xF8, 0x00, 0x07,
0xFE, 0x00, 0x0F, 0xFF, 0x80, 0x1F, 0xFF, 0xC0, 0x1F, 0xFF, 0xF0, 0x07,
0xFF, 0xF8, 0x03, 0xFF, 0xFE, 0x00, 0xFF, 0xFC, 0x00, 0x7F, 0xF8, 0x00,
0x1F, 0xF0, 0x00, 0x7F, 0xE0, 0x07, 0xFF, 0xC0, 0x3F, 0xFF, 0x83, 0xFF,
0xFE, 0x3F, 0xFF, 0xE1, 0xFF, 0xFF, 0x03, 0xFF, 0xF0, 0x07, 0xFF, 0x00,
0x0F, 0xF8, 0x00, 0x1F, 0x80, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x3F, 0x00, 0x01, 0xFF, 0xF8, 0x01, 0xFF, 0xFE, 0x03, 0xFF, 0xFF,
0xC3, 0xFF, 0xFF, 0xE1, 0xFF, 0x1F, 0xF9, 0xFE, 0x03, 0xFF, 0xFE, 0x00,
0xFF, 0x7E, 0x00, 0x7F, 0x87, 0x00, 0x3F, 0xC0, 0x00, 0x1F, 0xE0, 0x00,
0x0F, 0xE0, 0x00, 0x0F, 0xF0, 0x00, 0x0F, 0xF0, 0x00, 0x0F, 0xF8, 0x00,
0x0F, 0xF8, 0x00, 0x0F, 0xF8, 0x00, 0x0F, 0xF0, 0x00, 0x07, 0xF0, 0x00,
0x07, 0xF0, 0x00, 0x03, 0xF8, 0x00, 0x01, 0xF8, 0x00, 0x01, 0xFC, 0x00,
0x00, 0xFC, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xF8, 0x00, 0x03, 0xFC,
0x00, 0x01, 0xFE, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x7F, 0x80, 0x00, 0x3F,
0xC0, 0x00, 0x1F, 0xE0, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x03, 0xFF, 0xC0,
0x00, 0x00, 0x7F, 0xFF, 0xE0, 0x00, 0x07, 0xFF, 0xFF, 0xE0, 0x00, 0x3F,
0xFF, 0xFF, 0xC0, 0x03, 0xFC, 0x00, 0x7F, 0xC0, 0x1F, 0xC0, 0x00, 0x3F,
0x00, 0xFC, 0x00, 0x00, 0x7E, 0x03, 0xE0, 0x00, 0x00, 0xFC, 0x1F, 0x00,
0x00, 0x01, 0xF0, 0xF8, 0x07, 0xF0, 0x03, 0xE3, 0xE0, 0x7F, 0xEF, 0x8F,
0x9F, 0x03, 0xFF, 0xFE, 0x1E, 0x7C, 0x1F, 0xFF, 0xF0, 0x79, 0xE0, 0xFF,
0x3F, 0xC1, 0xFF, 0x83, 0xF0, 0x3F, 0x07, 0xFE, 0x1F, 0x80, 0xFC, 0x1F,
0xF8, 0x7E, 0x01, 0xF0, 0x7F, 0xE1, 0xF0, 0x07, 0xC1, 0xFF, 0x87, 0xC0,
0x1E, 0x07, 0xBE, 0x1F, 0x00, 0xF8, 0x1E, 0xF8, 0x7C, 0x03, 0xE0, 0xFB,
0xE1, 0xF0, 0x0F, 0x83, 0xEF, 0x87, 0xE0, 0x7E, 0x1F, 0x3E, 0x1F, 0x83,
0xFC, 0xFC, 0x78, 0x3F, 0xFF, 0xFF, 0xE1, 0xF0, 0xFF, 0xFF, 0xFF, 0x07,
0xC1, 0xFF, 0xCF, 0xF8, 0x0F, 0x83, 0xFE, 0x1F, 0x80, 0x3E, 0x01, 0xC0,
0x00, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x01, 0xF8, 0x00, 0x00, 0x00, 0x03,
0xF8, 0x00, 0x03, 0x00, 0x07, 0xF8, 0x00, 0x3C, 0x00, 0x0F, 0xFE, 0x0F,
0xF8, 0x00, 0x0F, 0xFF, 0xFF, 0xC0, 0x00, 0x0F, 0xFF, 0xFC, 0x00, 0x00,
0x0F, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x0F, 0xFC,
0x00, 0x00, 0x03, 0xFF, 0x00, 0x00, 0x01, 0xFF, 0xE0, 0x00, 0x00, 0x7F,
0xF8, 0x00, 0x00, 0x1F, 0xFE, 0x00, 0x00, 0x0F, 0xFF, 0xC0, 0x00, 0x03,
0xFF, 0xF0, 0x00, 0x01, 0xFF, 0xFC, 0x00, 0x00, 0x7F, 0xFF, 0x80, 0x00,
0x1F, 0xDF, 0xE0, 0x00, 0x0F, 0xE7, 0xF8, 0x00, 0x03, 0xF9, 0xFF, 0x00,
0x00, 0xFE, 0x3F, 0xC0, 0x00, 0x7F, 0x0F, 0xF8, 0x00, 0x1F, 0xC1, 0xFE,
0x00, 0x07, 0xE0, 0x7F, 0x80, 0x03, 0xF8, 0x1F, 0xF0, 0x00, 0xFE, 0x03,
0xFC, 0x00, 0x7F, 0x00, 0xFF, 0x00, 0x1F, 0xC0, 0x3F, 0xE0, 0x07, 0xF0,
0x07, 0xF8, 0x03, 0xFF, 0xFF, 0xFE, 0x00, 0xFF, 0xFF, 0xFF, 0xC0, 0x3F,
0xFF, 0xFF, 0xF0, 0x1F, 0xFF, 0xFF, 0xFC, 0x07, 0xFF, 0xFF, 0xFF, 0x81,
0xFF, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFC, 0x3F, 0x80, 0x01, 0xFF,
0x0F, 0xE0, 0x00, 0x7F, 0xC7, 0xF8, 0x00, 0x0F, 0xF9, 0xFC, 0x00, 0x03,
0xFE, 0xFF, 0x00, 0x00, 0xFF, 0xBF, 0xC0, 0x00, 0x1F, 0xFF, 0xE0, 0x00,
0x07, 0xFF, 0xF8, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xFC, 0x03, 0xFF, 0xFF,
0xFE, 0x0F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0xFF,
0xF3, 0xFF, 0x07, 0xFF, 0xEF, 0xF8, 0x01, 0xFF, 0xBF, 0xE0, 0x03, 0xFE,
0xFF, 0x80, 0x07, 0xFB, 0xFE, 0x00, 0x1F, 0xEF, 0xF8, 0x00, 0x7F, 0xBF,
0xE0, 0x01, 0xFE, 0xFF, 0x80, 0x0F, 0xFB, 0xFE, 0x00, 0x7F, 0xCF, 0xF8,
0x07, 0xFE, 0x3F, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xFF, 0x03, 0xFF, 0xFF,
0xF8, 0x0F, 0xFF, 0xFF, 0xF8, 0x3F, 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0xFF,
0xF3, 0xFE, 0x00, 0x7F, 0xEF, 0xF8, 0x00, 0xFF, 0xFF, 0xE0, 0x01, 0xFF,
0xFF, 0x80, 0x07, 0xFF, 0xFE, 0x00, 0x1F, 0xFF, 0xF8, 0x00, 0x7F, 0xFF,
0xE0, 0x01, 0xFF, 0xFF, 0x80, 0x0F, 0xFF, 0xFE, 0x00, 0x7F, 0xFF, 0xFF,
0xFF, 0xFF, 0xBF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xF3, 0xFF, 0xFF,
0xFF, 0x8F, 0xFF, 0xFF, 0xF8, 0x3F, 0xFF, 0xFE, 0x00, 0x00, 0x07, 0xF0,
0x00, 0x00, 0x3F, 0xFE, 0x00, 0x00, 0xFF, 0xFF, 0x80, 0x03, 0xFF, 0xFF,
0xE0, 0x07, 0xFF, 0xFF, 0xF0, 0x0F, 0xFF, 0xFF, 0xF8, 0x1F, 0xFE, 0x1F,
0xFC, 0x1F, 0xF8, 0x07, 0xFC, 0x3F, 0xF0, 0x03, 0xFE, 0x3F, 0xE0, 0x01,
0xFE, 0x7F, 0xC0, 0x01, 0xFE, 0x7F, 0xC0, 0x01, 0xFE, 0x7F, 0xC0, 0x00,
0xE0, 0x7F, 0xC0, 0x00, 0x00, 0xFF, 0x80, 0x00, 0x00, 0xFF, 0x80, 0x00,
0x00, 0xFF, 0x80, 0x00, 0x00, 0xFF, 0x80, 0x00, 0x00, 0xFF, 0x80, 0x00,
0x00, 0xFF, 0x80, 0x00, 0x00, 0xFF, 0x80, 0x00, 0x00, 0xFF, 0x80, 0x00,
0x00, 0xFF, 0x80, 0x00, 0x00, 0x7F, 0x80, 0x00, 0x00, 0x7F, 0xC0, 0x00,
0x00, 0x7F, 0xC0, 0x00, 0x7E, 0x7F, 0xC0, 0x00, 0x7F, 0x3F, 0xE0, 0x00,
0xFF, 0x3F, 0xE0, 0x01, 0xFE, 0x1F, 0xF0, 0x03, 0xFE, 0x1F, 0xFC, 0x07,
0xFC, 0x0F, 0xFF, 0xFF, 0xF8, 0x07, 0xFF, 0xFF, 0xF8, 0x03, 0xFF, 0xFF,
0xF0, 0x01, 0xFF, 0xFF, 0xC0, 0x00, 0x7F, 0xFF, 0x80, 0x00, 0x1F, 0xFE,
0x00, 0xFF, 0xFF, 0xE0, 0x00, 0xFF, 0xFF, 0xFC, 0x00, 0xFF, 0xFF, 0xFF,
0x00, 0xFF, 0xFF, 0xFF, 0x80, 0xFF, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xFF,
0xF0, 0xFF, 0x80, 0xFF, 0xF0, 0xFF, 0x80, 0x3F, 0xF8, 0xFF, 0x80, 0x0F,
0xFC, 0xFF, 0x80, 0x07, 0xFC, 0xFF, 0x80, 0x07, 0xFC, 0xFF, 0x80, 0x03,
0xFE, 0xFF, 0x80, 0x03, 0xFE, 0xFF, 0x80, 0x03, 0xFE, 0xFF, 0x80, 0x03,
0xFE, 0xFF, 0x80, 0x01, 0xFE, 0xFF, 0x80, 0x01, 0xFF, 0xFF, 0x80, 0x01,
0xFF, 0xFF, 0x80, 0x01, 0xFF, 0xFF, 0x80, 0x01, 0xFF, 0xFF, 0x80, 0x03,
0xFE, 0xFF, 0x80, 0x03, 0xFE, 0xFF, 0x80, 0x03, 0xFE, 0xFF, 0x80, 0x03,
0xFE, 0xFF, 0x80, 0x07, 0xFE, 0xFF, 0x80, 0x07, 0xFC, 0xFF, 0x80, 0x0F,
0xFC, 0xFF, 0x80, 0x1F, 0xF8, 0xFF, 0x80, 0x3F, 0xF8, 0xFF, 0x81, 0xFF,
0xF0, 0xFF, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0xFF,
0x80, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xF8, 0x00, 0x7F, 0xFF, 0xC0,
0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0xE0, 0x00,
0x07, 0xFC, 0x00, 0x00, 0xFF, 0x80, 0x00, 0x1F, 0xF0, 0x00, 0x03, 0xFE,
0x00, 0x00, 0x7F, 0xC0, 0x00, 0x0F, 0xF8, 0x00, 0x01, 0xFF, 0x00, 0x00,
0x3F, 0xE0, 0x00, 0x07, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0xF8, 0x1F, 0xFF,
0xFF, 0x03, 0xFF, 0xFF, 0xE0, 0x7F, 0xFF, 0xFC, 0x0F, 0xFF, 0xFF, 0x81,
0xFF, 0x00, 0x00, 0x3F, 0xE0, 0x00, 0x07, 0xFC, 0x00, 0x00, 0xFF, 0x80,
0x00, 0x1F, 0xF0, 0x00, 0x03, 0xFE, 0x00, 0x00, 0x7F, 0xC0, 0x00, 0x0F,
0xF8, 0x00, 0x01, 0xFF, 0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF,
0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8,
0x00, 0x03, 0xFE, 0x00, 0x00, 0xFF, 0x80, 0x00, 0x3F, 0xE0, 0x00, 0x0F,
0xF8, 0x00, 0x03, 0xFE, 0x00, 0x00, 0xFF, 0x80, 0x00, 0x3F, 0xE0, 0x00,
0x0F, 0xF8, 0x00, 0x03, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xF8, 0x3F, 0xFF,
0xFE, 0x0F, 0xFF, 0xFF, 0x83, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xF8, 0x3F,
0xE0, 0x00, 0x0F, 0xF8, 0x00, 0x03, 0xFE, 0x00, 0x00, 0xFF, 0x80, 0x00,
0x3F, 0xE0, 0x00, 0x0F, 0xF8, 0x00, 0x03, 0xFE, 0x00, 0x00, 0xFF, 0x80,
0x00, 0x3F, 0xE0, 0x00, 0x0F, 0xF8, 0x00, 0x03, 0xFE, 0x00, 0x00, 0xFF,
0x80, 0x00, 0x3F, 0xE0, 0x00, 0x0F, 0xF8, 0x00, 0x01, 0xFE, 0x00, 0x00,
0x00, 0x03, 0xF0, 0x00, 0x00, 0x3F, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xC0,
0x01, 0xFF, 0xFF, 0xE0, 0x03, 0xFF, 0xFF, 0xF0, 0x07, 0xFF, 0xFF, 0xF8,
0x0F, 0xFE, 0x1F, 0xFC, 0x1F, 0xF8, 0x07, 0xFC, 0x3F, 0xF0, 0x03, 0xFE,
0x3F, 0xE0, 0x01, 0xFE, 0x3F, 0xC0, 0x01, 0xFF, 0x7F, 0xC0, 0x00, 0xFF,
0x7F, 0xC0, 0x00, 0xE0, 0x7F, 0xC0, 0x00, 0x00, 0xFF, 0x80, 0x00, 0x00,
0xFF, 0x80, 0x00, 0x00, 0xFF, 0x80, 0x00, 0x00, 0xFF, 0x80, 0x00, 0x00,
0xFF, 0x80, 0x00, 0x00, 0xFF, 0x80, 0x7F, 0xFF, 0xFF, 0x80, 0x7F, 0xFF,
0xFF, 0x80, 0x7F, 0xFF, 0xFF, 0x80, 0x7F, 0xFF, 0x7F, 0x80, 0x7F, 0xFF,
0x7F, 0xC0, 0x00, 0xFF, 0x7F, 0xC0, 0x00, 0xFF, 0x7F, 0xC0, 0x00, 0xFF,
0x3F, 0xE0, 0x00, 0xFF, 0x3F, 0xE0, 0x01, 0xFF, 0x1F, 0xF0, 0x03, 0xFF,
0x1F, 0xF8, 0x07, 0xFF, 0x0F, 0xFF, 0xFF, 0xFF, 0x07, 0xFF, 0xFF, 0xFF,
0x03, 0xFF, 0xFF, 0xCF, 0x01, 0xFF, 0xFF, 0x8F, 0x00, 0xFF, 0xFF, 0x0F,
0x00, 0x3F, 0xFC, 0x07, 0xFF, 0x80, 0x03, 0xFF, 0xFE, 0x00, 0x0F, 0xFF,
0xF8, 0x00, 0x3F, 0xFF, 0xE0, 0x00, 0xFF, 0xFF, 0x80, 0x03, 0xFF, 0xFE,
0x00, 0x0F, 0xFF, 0xF8, 0x00, 0x3F, 0xFF, 0xE0, 0x00, 0xFF, 0xFF, 0x80,
0x03, 0xFF, 0xFE, 0x00, 0x0F, 0xFF, 0xF8, 0x00, 0x3F, 0xFF, 0xE0, 0x00,
0xFF, 0xFF, 0x80, 0x03, 0xFF, 0xFE, 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x07, 0xFF, 0xFE,
0x00, 0x0F, 0xFF, 0xF8, 0x00, 0x3F, 0xFF, 0xE0, 0x00, 0xFF, 0xFF, 0x80,
0x03, 0xFF, 0xFE, 0x00, 0x0F, 0xFF, 0xF8, 0x00, 0x3F, 0xFF, 0xE0, 0x00,
0xFF, 0xFF, 0x80, 0x03, 0xFF, 0xFE, 0x00, 0x0F, 0xFF, 0xF8, 0x00, 0x3F,
0xFF, 0xE0, 0x00, 0xFF, 0xFF, 0x80, 0x03, 0xFF, 0xFE, 0x00, 0x0F, 0xFF,
0xF8, 0x00, 0x3F, 0xDF, 0xE0, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0xF0,
0x00, 0xFF, 0x80, 0x7F, 0xC0, 0x3F, 0xE0, 0x1F, 0xF0, 0x0F, 0xF8, 0x07,
0xFC, 0x03, 0xFE, 0x01, 0xFF, 0x00, 0xFF, 0x80, 0x7F, 0xC0, 0x3F, 0xE0,
0x1F, 0xF0, 0x0F, 0xF8, 0x07, 0xFC, 0x03, 0xFE, 0x01, 0xFF, 0x00, 0xFF,
0x80, 0x7F, 0xC0, 0x3F, 0xE0, 0x1F, 0xF0, 0x0F, 0xF8, 0x07, 0xFC, 0x03,
0xFE, 0x01, 0xFF, 0x00, 0xFF, 0x80, 0x7F, 0xC0, 0x3F, 0xE0, 0x1F, 0xF0,
0x1F, 0xFF, 0xFF, 0xFB, 0xFF, 0xFD, 0xFF, 0xFE, 0xFF, 0xFE, 0x7F, 0xFF,
0x3F, 0xFF, 0x1F, 0xFE, 0x00, 0xFF, 0x80, 0x07, 0xFC, 0xFF, 0x80, 0x07,
0xF8, 0xFF, 0x80, 0x0F, 0xF0, 0xFF, 0x80, 0x1F, 0xE0, 0xFF, 0x80, 0x3F,
0xE0, 0xFF, 0x80, 0x7F, 0xC0, 0xFF, 0x80, 0x7F, 0x80, 0xFF, 0x80, 0xFF,
0x00, 0xFF, 0x81, 0xFE, 0x00, 0xFF, 0x83, 0xFC, 0x00, 0xFF, 0x87, 0xF8,
0x00, 0xFF, 0x87, 0xF8, 0x00, 0xFF, 0x8F, 0xF0, 0x00, 0xFF, 0x9F, 0xF0,
0x00, 0xFF, 0xBF, 0xF8, 0x00, 0xFF, 0xFF, 0xFC, 0x00, 0xFF, 0xFF, 0xFC,
0x00, 0xFF, 0xFF, 0xFE, 0x00, 0xFF, 0xFF, 0xFE, 0x00, 0xFF, 0xFF, 0xFF,
0x00, 0xFF, 0xF9, 0xFF, 0x00, 0xFF, 0xF1, 0xFF, 0x80, 0xFF, 0xF0, 0xFF,
0x80, 0xFF, 0xE0, 0xFF, 0xC0, 0xFF, 0xC0, 0x7F, 0xC0, 0xFF, 0x80, 0x7F,
0xE0, 0xFF, 0x80, 0x3F, 0xE0, 0xFF, 0x80, 0x3F, 0xF0, 0xFF, 0x80, 0x1F,
0xF0, 0xFF, 0x80, 0x0F, 0xF8, 0xFF, 0x80, 0x0F, 0xF8, 0xFF, 0x80, 0x07,
0xFC, 0xFF, 0x80, 0x07, 0xFE, 0xFF, 0x80, 0x03, 0xFE, 0xFF, 0x80, 0x03,
0xFF, 0xFF, 0x80, 0x01, 0xFF, 0xFF, 0x80, 0x00, 0x3F, 0xE0, 0x00, 0x0F,
0xF8, 0x00, 0x03, 0xFE, 0x00, 0x00, 0xFF, 0x80, 0x00, 0x3F, 0xE0, 0x00,
0x0F, 0xF8, 0x00, 0x03, 0xFE, 0x00, 0x00, 0xFF, 0x80, 0x00, 0x3F, 0xE0,
0x00, 0x0F, 0xF8, 0x00, 0x03, 0xFE, 0x00, 0x00, 0xFF, 0x80, 0x00, 0x3F,
0xE0, 0x00, 0x0F, 0xF8, 0x00, 0x03, 0xFE, 0x00, 0x00, 0xFF, 0x80, 0x00,
0x3F, 0xE0, 0x00, 0x0F, 0xF8, 0x00, 0x03, 0xFE, 0x00, 0x00, 0xFF, 0x80,
0x00, 0x3F, 0xE0, 0x00, 0x0F, 0xF8, 0x00, 0x03, 0xFE, 0x00, 0x00, 0xFF,
0x80, 0x00, 0x3F, 0xE0, 0x00, 0x0F, 0xF8, 0x00, 0x03, 0xFE, 0x00, 0x00,
0xFF, 0x80, 0x00, 0x3F, 0xE0, 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xFF,
0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0x0F, 0xFF, 0xFF, 0xF8, 0x00, 0x1F, 0xFF,
0xFF, 0xF8, 0x00, 0x1F, 0xFF, 0xFF, 0xFC, 0x00, 0x1F, 0xFF, 0xFF, 0xFC,
0x00, 0x3F, 0xFF, 0xFF, 0xFC, 0x00, 0x3F, 0xFF, 0xFF, 0xFE, 0x00, 0x3F,
0xFF, 0xFF, 0xFE, 0x00, 0x7F, 0xFF, 0xFF, 0xFE, 0x00, 0x7F, 0xFF, 0xFF,
0xFF, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFE, 0xFF, 0x80,
0xFF, 0xFF, 0xFE, 0xFF, 0x80, 0xFD, 0xFF, 0xFE, 0x7F, 0x81, 0xFD, 0xFF,
0xFE, 0x7F, 0xC1, 0xFD, 0xFF, 0xFE, 0x7F, 0xC1, 0xF9, 0xFF, 0xFE, 0x3F,
0xC3, 0xF9, 0xFF, 0xFE, 0x3F, 0xE3, 0xF9, 0xFF, 0xFE, 0x3F, 0xE7, 0xF1,
0xFF, 0xFE, 0x1F, 0xE7, 0xF1, 0xFF, 0xFE, 0x1F, 0xF7, 0xF1, 0xFF, 0xFE,
0x1F, 0xFF, 0xE1, 0xFF, 0xFE, 0x0F, 0xFF, 0xE1, 0xFF, 0xFE, 0x0F, 0xFF,
0xE1, 0xFF, 0xFE, 0x07, 0xFF, 0xC1, 0xFF, 0xFE, 0x07, 0xFF, 0xC1, 0xFF,
0xFE, 0x07, 0xFF, 0xC1, 0xFF, 0xFE, 0x03, 0xFF, 0x81, 0xFF, 0xFE, 0x03,
0xFF, 0x81, 0xFF, 0xFE, 0x03, 0xFF, 0x01, 0xFF, 0xFE, 0x01, 0xFF, 0x01,
0xFF, 0xFE, 0x01, 0xFF, 0x01, 0xFF, 0xFE, 0x01, 0xFE, 0x01, 0xFF, 0xFE,
0x00, 0xFE, 0x01, 0xFF, 0xFE, 0x00, 0xFE, 0x01, 0xFF, 0x7E, 0x00, 0xFC,
0x00, 0xFF, 0xFF, 0x80, 0x00, 0xFF, 0xFF, 0x00, 0x01, 0xFF, 0xFF, 0x00,
0x03, 0xFF, 0xFF, 0x00, 0x07, 0xFF, 0xFF, 0x00, 0x0F, 0xFF, 0xFE, 0x00,
0x1F, 0xFF, 0xFE, 0x00, 0x3F, 0xFF, 0xFE, 0x00, 0x7F, 0xFF, 0xFC, 0x00,
0xFF, 0xFF, 0xFC, 0x01, 0xFF, 0xFF, 0xFC, 0x03, 0xFF, 0xFF, 0xF8, 0x07,
0xFF, 0xFF, 0xF8, 0x0F, 0xFF, 0xFF, 0xF8, 0x1F, 0xFF, 0x9F, 0xF8, 0x3F,
0xFF, 0x3F, 0xF0, 0x7F, 0xFE, 0x3F, 0xF0, 0xFF, 0xFC, 0x3F, 0xF1, 0xFF,
0xF8, 0x3F, 0xE3, 0xFF, 0xF0, 0x7F, 0xE7, 0xFF, 0xE0, 0x7F, 0xEF, 0xFF,
0xC0, 0x7F, 0xFF, 0xFF, 0x80, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFE,
0x00, 0xFF, 0xFF, 0xFC, 0x00, 0xFF, 0xFF, 0xF8, 0x01, 0xFF, 0xFF, 0xF0,
0x01, 0xFF, 0xFF, 0xE0, 0x01, 0xFF, 0xFF, 0xC0, 0x03, 0xFF, 0xFF, 0x80,
0x03, 0xFF, 0xFF, 0x00, 0x03, 0xFF, 0xFE, 0x00, 0x03, 0xFF, 0xFC, 0x00,
0x07, 0xFF, 0xF8, 0x00, 0x07, 0xFF, 0xF0, 0x00, 0x07, 0xF0, 0x00, 0x03,
0xF0, 0x00, 0x00, 0x0F, 0xFF, 0xC0, 0x00, 0x0F, 0xFF, 0xFC, 0x00, 0x07,
0xFF, 0xFF, 0x80, 0x07, 0xFF, 0xFF, 0xF0, 0x01, 0xFF, 0xFF, 0xFE, 0x00,
0xFF, 0xE1, 0xFF, 0xC0, 0x7F, 0xE0, 0x1F, 0xF8, 0x3F, 0xF0, 0x03, 0xFE,
0x0F, 0xF8, 0x00, 0x7F, 0xC3, 0xFC, 0x00, 0x1F, 0xF1, 0xFF, 0x00, 0x03,
0xFE, 0x7F, 0xC0, 0x00, 0xFF, 0x9F, 0xF0, 0x00, 0x3F, 0xE7, 0xF8, 0x00,
0x0F, 0xFB, 0xFE, 0x00, 0x01, 0xFE, 0xFF, 0x80, 0x00, 0x7F, 0xFF, 0xE0,
0x00, 0x1F, 0xFF, 0xF8, 0x00, 0x07, 0xFF, 0xFE, 0x00, 0x01, 0xFF, 0xFF,
0x80, 0x00, 0x7F, 0xFF, 0xE0, 0x00, 0x1F, 0xFF, 0xF8, 0x00, 0x07, 0xF9,
0xFE, 0x00, 0x03, 0xFE, 0x7F, 0xC0, 0x00, 0xFF, 0x9F, 0xF0, 0x00, 0x3F,
0xE7, 0xFC, 0x00, 0x0F, 0xF8, 0xFF, 0x00, 0x07, 0xFC, 0x3F, 0xE0, 0x01,
0xFF, 0x07, 0xFC, 0x00, 0xFF, 0x81, 0xFF, 0x80, 0x7F, 0xE0, 0x3F, 0xFF,
0xFF, 0xF0, 0x07, 0xFF, 0xFF, 0xF8, 0x00, 0xFF, 0xFF, 0xFC, 0x00, 0x1F,
0xFF, 0xFE, 0x00, 0x03, 0xFF, 0xFE, 0x00, 0x00, 0x1F, 0xFE, 0x00, 0x00,
0xFF, 0xFF, 0xFC, 0x03, 0xFF, 0xFF, 0xFC, 0x0F, 0xFF, 0xFF, 0xFC, 0x3F,
0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0xFF, 0xF3, 0xFF, 0xFF, 0xFF, 0xEF, 0xF8,
0x01, 0xFF, 0xBF, 0xE0, 0x03, 0xFF, 0xFF, 0x80, 0x07, 0xFF, 0xFE, 0x00,
0x1F, 0xFF, 0xF8, 0x00, 0x7F, 0xFF, 0xE0, 0x01, 0xFF, 0xFF, 0x80, 0x07,
0xFF, 0xFE, 0x00, 0x1F, 0xFF, 0xF8, 0x00, 0xFF, 0xFF, 0xE0, 0x0F, 0xFE,
0xFF, 0xFF, 0xFF, 0xFB, 0xFF, 0xFF, 0xFF, 0xCF, 0xFF, 0xFF, 0xFE, 0x3F,
0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xFF, 0x03, 0xFF, 0xFF, 0xF0, 0x0F, 0xF8,
0x00, 0x00, 0x3F, 0xE0, 0x00, 0x00, 0xFF, 0x80, 0x00, 0x03, 0xFE, 0x00,
0x00, 0x0F, 0xF8, 0x00, 0x00, 0x3F, 0xE0, 0x00, 0x00, 0xFF, 0x80, 0x00,
0x03, 0xFE, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x3F, 0xE0, 0x00, 0x00,
0xFF, 0x80, 0x00, 0x03, 0xFE, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x3F,
0xE0, 0x00, 0x00, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x0F, 0xFF, 0xC0, 0x00,
0x0F, 0xFF, 0xFC, 0x00, 0x07, 0xFF, 0xFF, 0x80, 0x07, 0xFF, 0xFF, 0xF8,
0x03, 0xFF, 0xFF, 0xFE, 0x00, 0xFF, 0xE1, 0xFF, 0xC0, 0x7F, 0xE0, 0x1F,
0xF8, 0x3F, 0xF0, 0x03, 0xFE, 0x0F, 0xF8, 0x00, 0x7F, 0xC3, 0xFC, 0x00,
0x1F, 0xF1, 0xFF, 0x00, 0x03, 0xFE, 0x7F, 0xC0, 0x00, 0xFF, 0x9F, 0xF0,
0x00, 0x3F, 0xE7, 0xF8, 0x00, 0x0F, 0xFB, 0xFE, 0x00, 0x01, 0xFF, 0xFF,
0x80, 0x00, 0x7F, 0xFF, 0xE0, 0x00, 0x1F, 0xFF, 0xF8, 0x00, 0x07, 0xFF,
0xFE, 0x00, 0x01, 0xFF, 0xFF, 0x80, 0x00, 0x7F, 0xFF, 0xE0, 0x00, 0x1F,
0xFF, 0xF8, 0x00, 0x07, 0xFD, 0xFE, 0x00, 0x03, 0xFE, 0x7F, 0xC0, 0x00,
0xFF, 0x9F, 0xF0, 0x00, 0x3F, 0xE7, 0xFC, 0x00, 0x0F, 0xF8, 0xFF, 0x00,
0x07, 0xFC, 0x3F, 0xE0, 0x01, 0xFF, 0x07, 0xFC, 0x00, 0xFF, 0x81, 0xFF,
0x80, 0x7F, 0xE0, 0x3F, 0xFF, 0xFF, 0xF0, 0x07, 0xFF, 0xFF, 0xF8, 0x00,
0xFF, 0xFF, 0xFC, 0x00, 0x1F, 0xFF, 0xFF, 0x00, 0x03, 0xFF, 0xFF, 0xE0,
0x00, 0x1F, 0xFF, 0xFE, 0x00, 0x00, 0x01, 0xFF, 0xF0, 0x00, 0x00, 0x3F,
0xFC, 0x00, 0x00, 0x07, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x00,
0x0F, 0xF0, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0xFF, 0xFE, 0x03, 0xFF, 0xFF,
0xFE, 0x0F, 0xFF, 0xFF, 0xFE, 0x3F, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFF,
0xFB, 0xFF, 0x01, 0xFF, 0xEF, 0xF8, 0x00, 0xFF, 0xFF, 0xE0, 0x01, 0xFF,
0xFF, 0x80, 0x07, 0xFF, 0xFE, 0x00, 0x1F, 0xFF, 0xF8, 0x00, 0x7F, 0xFF,
0xE0, 0x01, 0xFF, 0xFF, 0x80, 0x07, 0xFF, 0xFE, 0x00, 0x3F, 0xFF, 0xF8,
0x01, 0xFF, 0xBF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xF3, 0xFF, 0xFF,
0xFF, 0x8F, 0xFF, 0xFF, 0xF8, 0x3F, 0xFF, 0xFF, 0x80, 0xFF, 0xFF, 0xFF,
0x03, 0xFE, 0x03, 0xFC, 0x0F, 0xF8, 0x0F, 0xF8, 0x3F, 0xE0, 0x3F, 0xE0,
0xFF, 0x80, 0x7F, 0x83, 0xFE, 0x01, 0xFF, 0x0F, 0xF8, 0x03, 0xFC, 0x3F,
0xE0, 0x0F, 0xF8, 0xFF, 0x80, 0x3F, 0xE3, 0xFE, 0x00, 0x7F, 0xCF, 0xF8,
0x01, 0xFF, 0x3F, 0xE0, 0x03, 0xFC, 0xFF, 0x80, 0x0F, 0xFB, 0xFE, 0x00,
0x3F, 0xEF, 0xF8, 0x00, 0x7F, 0xFF, 0xE0, 0x01, 0xFF, 0x00, 0x0F, 0xC0,
0x00, 0x07, 0xFF, 0xE0, 0x00, 0xFF, 0xFF, 0xC0, 0x1F, 0xFF, 0xFF, 0x81,
0xFF, 0xFF, 0xFE, 0x0F, 0xFF, 0xFF, 0xF8, 0xFF, 0xC0, 0xFF, 0xC7, 0xF8,
0x01, 0xF8, 0x7F, 0x80, 0x07, 0x83, 0xFC, 0x00, 0x08, 0x1F, 0xE0, 0x00,
0x00, 0xFF, 0x00, 0x00, 0x07, 0xFC, 0x00, 0x00, 0x3F, 0xF8, 0x00, 0x01,
0xFF, 0xF8, 0x00, 0x07, 0xFF, 0xFC, 0x00, 0x3F, 0xFF, 0xFC, 0x00, 0xFF,
0xFF, 0xF8, 0x03, 0xFF, 0xFF, 0xF0, 0x0F, 0xFF, 0xFF, 0xC0, 0x1F, 0xFF,
0xFF, 0x00, 0x1F, 0xFF, 0xF8, 0x00, 0x1F, 0xFF, 0xE0, 0x00, 0x0F, 0xFF,
0x00, 0x00, 0x1F, 0xF8, 0x00, 0x00, 0x7F, 0xC0, 0x00, 0x01, 0xFE, 0x38,
0x00, 0x0F, 0xF3, 0xE0, 0x00, 0x7F, 0xFF, 0x80, 0x07, 0xFF, 0xFE, 0x00,
0x7F, 0xDF, 0xFF, 0xFF, 0xFE, 0x7F, 0xFF, 0xFF, 0xE1, 0xFF, 0xFF, 0xFE,
0x07, 0xFF, 0xFF, 0xE0, 0x0F, 0xFF, 0xFE, 0x00, 0x0F, 0xFF, 0xC0, 0x00,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x01,
0xFE, 0x00, 0x00, 0x07, 0xF8, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x00, 0x7F,
0x80, 0x00, 0x01, 0xFE, 0x00, 0x00, 0x07, 0xF8, 0x00, 0x00, 0x1F, 0xE0,
0x00, 0x00, 0x7F, 0x80, 0x00, 0x01, 0xFE, 0x00, 0x00, 0x07, 0xF8, 0x00,
0x00, 0x1F, 0xE0, 0x00, 0x00, 0x7F, 0x80, 0x00, 0x01, 0xFE, 0x00, 0x00,
0x07, 0xF8, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x00, 0x7F, 0x80, 0x00, 0x01,
0xFE, 0x00, 0x00, 0x07, 0xF8, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x00, 0x7F,
0x80, 0x00, 0x01, 0xFE, 0x00, 0x00, 0x07, 0xF8, 0x00, 0x00, 0x1F, 0xE0,
0x00, 0x00, 0x7F, 0x80, 0x00, 0x01, 0xFE, 0x00, 0x00, 0x07, 0xF8, 0x00,
0x00, 0x1F, 0xE0, 0x00, 0x00, 0x7F, 0x80, 0x00, 0x01, 0xFE, 0x00, 0x00,
0x07, 0xF8, 0x00, 0xFF, 0x80, 0x03, 0xFF, 0xFC, 0x00, 0x1F, 0xFF, 0xE0,
0x00, 0xFF, 0xFF, 0x00, 0x07, 0xFF, 0xF8, 0x00, 0x3F, 0xFF, 0xC0, 0x01,
0xFF, 0xFE, 0x00, 0x0F, 0xFF, 0xF0, 0x00, 0x7F, 0xFF, 0x80, 0x03, 0xFF,
0xFC, 0x00, 0x1F, 0xFF, 0xE0, 0x00, 0xFF, 0xFF, 0x00, 0x07, 0xFF, 0xF8,
0x00, 0x3F, 0xFF, 0xC0, 0x01, 0xFF, 0xFE, 0x00, 0x0F, 0xFF, 0xF0, 0x00,
0x7F, 0xFF, 0x80, 0x03, 0xFF, 0xFC, 0x00, 0x1F, 0xFF, 0xE0, 0x00, 0xFF,
0xFF, 0x00, 0x07, 0xFF, 0xF8, 0x00, 0x3F, 0xFF, 0xC0, 0x01, 0xFF, 0xFE,
0x00, 0x0F, 0xFF, 0xF0, 0x00, 0x7F, 0xFF, 0x80, 0x03, 0xFF, 0xFC, 0x00,
0x1F, 0xFF, 0xE0, 0x00, 0xFE, 0xFF, 0x80, 0x0F, 0xF7, 0xFC, 0x00, 0xFF,
0x3F, 0xF8, 0x0F, 0xF8, 0xFF, 0xFF, 0xFF, 0xC7, 0xFF, 0xFF, 0xFC, 0x1F,
0xFF, 0xFF, 0xC0, 0x7F, 0xFF, 0xFC, 0x00, 0xFF, 0xFF, 0xC0, 0x01, 0xFF,
0xF8, 0x00, 0xFF, 0x80, 0x00, 0x7F, 0xFF, 0x80, 0x00, 0x7F, 0xFF, 0x80,
0x00, 0xFF, 0x7F, 0x80, 0x00, 0xFE, 0x7F, 0xC0, 0x00, 0xFE, 0x7F, 0xC0,
0x01, 0xFE, 0x3F, 0xC0, 0x01, 0xFC, 0x3F, 0xE0, 0x01, 0xFC, 0x3F, 0xE0,
0x03, 0xFC, 0x1F, 0xE0, 0x03, 0xF8, 0x1F, 0xF0, 0x03, 0xF8, 0x1F, 0xF0,
0x07, 0xF8, 0x0F, 0xF0, 0x07, 0xF0, 0x0F, 0xF8, 0x07, 0xF0, 0x0F, 0xF8,
0x07, 0xF0, 0x07, 0xF8, 0x0F, 0xE0, 0x07, 0xFC, 0x0F, 0xE0, 0x07, 0xFC,
0x0F, 0xE0, 0x03, 0xFC, 0x1F, 0xC0, 0x03, 0xFE, 0x1F, 0xC0, 0x03, 0xFE,
0x1F, 0xC0, 0x01, 0xFE, 0x3F, 0x80, 0x01, 0xFF, 0x3F, 0x80, 0x01, 0xFF,
0x3F, 0x00, 0x00, 0xFF, 0x7F, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF,
0xFE, 0x00, 0x00, 0x7F, 0xFE, 0x00, 0x00, 0x7F, 0xFE, 0x00, 0x00, 0x7F,
0xFC, 0x00, 0x00, 0x3F, 0xFC, 0x00, 0x00, 0x3F, 0xFC, 0x00, 0x00, 0x3F,
0xF8, 0x00, 0x00, 0x1F, 0xF8, 0x00, 0x00, 0x1F, 0xF8, 0x00, 0x00, 0x0F,
0xF0, 0x00, 0xFF, 0x00, 0x07, 0xF8, 0x00, 0x3F, 0xBF, 0xE0, 0x01, 0xFF,
0x00, 0x0F, 0xEF, 0xF8, 0x00, 0x7F, 0xC0, 0x03, 0xFB, 0xFE, 0x00, 0x1F,
0xF0, 0x00, 0xFE, 0x7F, 0x80, 0x0F, 0xFC, 0x00, 0x7F, 0x1F, 0xF0, 0x03,
0xFF, 0x80, 0x1F, 0xC7, 0xFC, 0x00, 0xFF, 0xE0, 0x07, 0xF0, 0xFF, 0x00,
0x3F, 0xF8, 0x01, 0xFC, 0x3F, 0xE0, 0x1F, 0xFF, 0x00, 0xFE, 0x0F, 0xF8,
0x07, 0xFF, 0xC0, 0x3F, 0x83, 0xFE, 0x01, 0xFF, 0xF0, 0x0F, 0xE0, 0x7F,
0x80, 0xFF, 0xFC, 0x07, 0xF0, 0x1F, 0xF0, 0x3F, 0xFF, 0x81, 0xFC, 0x07,
0xFC, 0x0F, 0xDF, 0xE0, 0x7F, 0x00, 0xFF, 0x03, 0xF7, 0xF8, 0x1F, 0x80,
0x3F, 0xE1, 0xFD, 0xFF, 0x0F, 0xE0, 0x0F, 0xF8, 0x7F, 0x3F, 0xC3, 0xF8,
0x01, 0xFE, 0x1F, 0x8F, 0xF0, 0xFE, 0x00, 0x7F, 0x8F, 0xE3, 0xFC, 0x3F,
0x00, 0x1F, 0xF3, 0xF8, 0x7F, 0x9F, 0xC0, 0x07, 0xFC, 0xFC, 0x1F, 0xE7,
0xF0, 0x00, 0xFF, 0x3F, 0x07, 0xF9, 0xF8, 0x00, 0x3F, 0xFF, 0xC1, 0xFF,
0xFE, 0x00, 0x0F, 0xFF, 0xE0, 0x3F, 0xFF, 0x80, 0x01, 0xFF, 0xF8, 0x0F,
0xFF, 0xC0, 0x00, 0x7F, 0xFE, 0x03, 0xFF, 0xF0, 0x00, 0x1F, 0xFF, 0x80,
0x7F, 0xFC, 0x00, 0x07, 0xFF, 0xC0, 0x1F, 0xFF, 0x00, 0x00, 0xFF, 0xF0,
0x07, 0xFF, 0x80, 0x00, 0x3F, 0xFC, 0x00, 0xFF, 0xE0, 0x00, 0x0F, 0xFE,
0x00, 0x3F, 0xF8, 0x00, 0x01, 0xFF, 0x80, 0x0F, 0xFC, 0x00, 0x00, 0x7F,
0xE0, 0x03, 0xFF, 0x00, 0x00, 0x1F, 0xF8, 0x00, 0x7F, 0xC0, 0x00, 0x03,
0xFC, 0x00, 0x1F, 0xF0, 0x00, 0x00, 0xFF, 0x00, 0x07, 0xF8, 0x00, 0x7F,
0xC0, 0x01, 0xFF, 0x3F, 0xF0, 0x00, 0xFF, 0x0F, 0xFC, 0x00, 0xFF, 0x03,
0xFE, 0x00, 0x7F, 0x81, 0xFF, 0x80, 0x7F, 0x80, 0x7F, 0xC0, 0x7F, 0x80,
0x1F, 0xF0, 0x3F, 0xC0, 0x0F, 0xFC, 0x3F, 0xC0, 0x03, 0xFE, 0x1F, 0xC0,
0x00, 0xFF, 0x9F, 0xE0, 0x00, 0x7F, 0xFF, 0xE0, 0x00, 0x1F, 0xFF, 0xE0,
0x00, 0x07, 0xFF, 0xF0, 0x00, 0x03, 0xFF, 0xF0, 0x00, 0x00, 0xFF, 0xF0,
0x00, 0x00, 0x3F, 0xF8, 0x00, 0x00, 0x1F, 0xF8, 0x00, 0x00, 0x07, 0xFE,
0x00, 0x00, 0x07, 0xFF, 0x00, 0x00, 0x03, 0xFF, 0xC0, 0x00, 0x03, 0xFF,
0xF0, 0x00, 0x03, 0xFF, 0xF8, 0x00, 0x01, 0xFF, 0xFE, 0x00, 0x01, 0xFF,
0xFF, 0x80, 0x01, 0xFE, 0x7F, 0xC0, 0x00, 0xFF, 0x1F, 0xF0, 0x00, 0xFF,
0x0F, 0xFC, 0x00, 0xFF, 0x03, 0xFE, 0x00, 0x7F, 0x80, 0xFF, 0x80, 0x7F,
0x80, 0x7F, 0xE0, 0x7F, 0xC0, 0x1F, 0xF0, 0x3F, 0xC0, 0x0F, 0xFC, 0x3F,
0xC0, 0x03, 0xFF, 0x1F, 0xE0, 0x00, 0xFF, 0x9F, 0xE0, 0x00, 0x7F, 0xEF,
0xF0, 0x00, 0x1F, 0xF0, 0xFF, 0xC0, 0x00, 0x3F, 0x9F, 0xF8, 0x00, 0x1F,
0xE3, 0xFE, 0x00, 0x0F, 0xF0, 0xFF, 0xC0, 0x03, 0xFC, 0x1F, 0xF0, 0x01,
0xFE, 0x03, 0xFE, 0x00, 0x7F, 0x00, 0xFF, 0xC0, 0x3F, 0xC0, 0x1F, 0xF0,
0x0F, 0xE0, 0x07, 0xFE, 0x07, 0xF8, 0x00, 0xFF, 0x83, 0xFC, 0x00, 0x1F,
0xF0, 0xFE, 0x00, 0x07, 0xFC, 0x7F, 0x80, 0x00, 0xFF, 0x9F, 0xC0, 0x00,
0x3F, 0xFF, 0xE0, 0x00, 0x07, 0xFF, 0xF8, 0x00, 0x00, 0xFF, 0xFC, 0x00,
0x00, 0x3F, 0xFF, 0x00, 0x00, 0x07, 0xFF, 0x80, 0x00, 0x01, 0xFF, 0xC0,
0x00, 0x00, 0x3F, 0xF0, 0x00, 0x00, 0x07, 0xF8, 0x00, 0x00, 0x01, 0xFE,
0x00, 0x00, 0x00, 0x7F, 0x80, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x00, 0x07,
0xF8, 0x00, 0x00, 0x01, 0xFE, 0x00, 0x00, 0x00, 0x7F, 0x80, 0x00, 0x00,
0x1F, 0xE0, 0x00, 0x00, 0x07, 0xF8, 0x00, 0x00, 0x01, 0xFE, 0x00, 0x00,
0x00, 0x7F, 0x80, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x00, 0x07, 0xF8, 0x00,
0x00, 0x01, 0xFE, 0x00, 0x00, 0x00, 0x7F, 0x80, 0x00, 0x00, 0x1F, 0xE0,
0x00, 0x7F, 0xFF, 0xFF, 0xFB, 0xFF, 0xFF, 0xFF, 0xDF, 0xFF, 0xFF, 0xFE,
0xFF, 0xFF, 0xFF, 0xF7, 0xFF, 0xFF, 0xFF, 0xBF, 0xFF, 0xFF, 0xF8, 0x00,
0x01, 0xFF, 0x80, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x0F,
0xFC, 0x00, 0x00, 0x7F, 0xC0, 0x00, 0x07, 0xFE, 0x00, 0x00, 0x7F, 0xE0,
0x00, 0x03, 0xFE, 0x00, 0x00, 0x3F, 0xF0, 0x00, 0x03, 0xFF, 0x00, 0x00,
0x3F, 0xF0, 0x00, 0x01, 0xFF, 0x80, 0x00, 0x1F, 0xF8, 0x00, 0x01, 0xFF,
0x80, 0x00, 0x0F, 0xFC, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x0F, 0xFC, 0x00,
0x00, 0x7F, 0xE0, 0x00, 0x07, 0xFE, 0x00, 0x00, 0x7F, 0xE0, 0x00, 0x03,
0xFE, 0x00, 0x00, 0x3F, 0xF0, 0x00, 0x03, 0xFF, 0x00, 0x00, 0x1F, 0xF8,
0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x0F, 0xC0, 0xFC, 0x0F, 0xC0,
0xFC, 0x0F, 0xC0, 0xFC, 0x0F, 0xC0, 0xFC, 0x0F, 0xC0, 0xFC, 0x0F, 0xC0,
0xFC, 0x0F, 0xC0, 0xFC, 0x0F, 0xC0, 0xFC, 0x0F, 0xC0, 0xFC, 0x0F, 0xC0,
0xFC, 0x0F, 0xC0, 0xFC, 0x0F, 0xC0, 0xFC, 0x0F, 0xC0, 0xFC, 0x0F, 0xC0,
0xFC, 0x0F, 0xC0, 0xFC, 0x0F, 0xC0, 0xFC, 0x0F, 0xC0, 0xFC, 0x0F, 0xC0,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0x1F, 0x00, 0x07, 0xC0,
0x01, 0xF0, 0x00, 0x3E, 0x00, 0x0F, 0x80, 0x03, 0xE0, 0x00, 0x7C, 0x00,
0x1F, 0x00, 0x07, 0xC0, 0x00, 0xF8, 0x00, 0x3E, 0x00, 0x0F, 0x80, 0x01,
0xF0, 0x00, 0x7C, 0x00, 0x1F, 0x00, 0x03, 0xE0, 0x00, 0xF8, 0x00, 0x3F,
0x00, 0x07, 0xC0, 0x01, 0xF0, 0x00, 0x7E, 0x00, 0x0F, 0x80, 0x03, 0xE0,
0x00, 0xFC, 0x00, 0x1F, 0x00, 0x07, 0xC0, 0x01, 0xF8, 0x00, 0x3E, 0x00,
0x0F, 0x80, 0x03, 0xF0, 0x00, 0x7C, 0x00, 0x1F, 0x00, 0x07, 0xE0, 0x00,
0xF8, 0x00, 0x3E, 0x00, 0x07, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0,
0x7E, 0x0F, 0xC1, 0xF8, 0x3F, 0x07, 0xE0, 0xFC, 0x1F, 0x83, 0xF0, 0x7E,
0x0F, 0xC1, 0xF8, 0x3F, 0x07, 0xE0, 0xFC, 0x1F, 0x83, 0xF0, 0x7E, 0x0F,
0xC1, 0xF8, 0x3F, 0x07, 0xE0, 0xFC, 0x1F, 0x83, 0xF0, 0x7E, 0x0F, 0xC1,
0xF8, 0x3F, 0x07, 0xE0, 0xFC, 0x1F, 0x83, 0xF0, 0x7E, 0x0F, 0xC1, 0xF8,
0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x03, 0x80,
0x00, 0x3E, 0x00, 0x01, 0xF0, 0x00, 0x1F, 0xC0, 0x00, 0xFE, 0x00, 0x0F,
0xF8, 0x00, 0x7F, 0xC0, 0x03, 0xFF, 0x00, 0x3E, 0xF8, 0x01, 0xF3, 0xC0,
0x1F, 0x1F, 0x00, 0xF8, 0xF8, 0x0F, 0x83, 0xE0, 0x7C, 0x1F, 0x03, 0xE0,
0x7C, 0x3E, 0x03, 0xE1, 0xF0, 0x1F, 0x1F, 0x00, 0x7C, 0xF8, 0x03, 0xE7,
0xC0, 0x0F, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x20, 0x00, 0xF8, 0x01, 0xFC, 0x03, 0xFF,
0x07, 0xFF, 0x83, 0xFF, 0xC0, 0xFF, 0x00, 0x1E, 0x01, 0xFF, 0xE0, 0x0F,
0xFF, 0xF8, 0x1F, 0xFF, 0xFC, 0x3F, 0xFF, 0xFE, 0x3F, 0xE3, 0xFE, 0x7F,
0x80, 0xFF, 0x7F, 0x00, 0xFF, 0x02, 0x00, 0x7F, 0x00, 0x00, 0x7F, 0x00,
0x00, 0x7F, 0x00, 0x3F, 0xFF, 0x03, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0x1F,
0xFF, 0xFF, 0x3F, 0xE0, 0x7F, 0x7F, 0x80, 0x7F, 0xFF, 0x00, 0x7F, 0xFE,
0x00, 0x7F, 0xFE, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x01, 0xFF, 0xFF,
0xFF, 0xFF, 0x7F, 0xFF, 0xFF, 0x7F, 0xFF, 0x7F, 0x3F, 0xFC, 0x7F, 0x1F,
0xF8, 0x7F, 0xFE, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x1F,
0xC0, 0x00, 0x0F, 0xE0, 0x00, 0x07, 0xF0, 0x00, 0x03, 0xF8, 0x00, 0x01,
0xFC, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x3F, 0x87, 0xF8,
0x1F, 0xCF, 0xFF, 0x0F, 0xEF, 0xFF, 0xC7, 0xFF, 0xFF, 0xF3, 0xFF, 0x9F,
0xF9, 0xFF, 0x03, 0xFE, 0xFF, 0x00, 0xFF, 0x7F, 0x00, 0x3F, 0xFF, 0x80,
0x1F, 0xFF, 0xC0, 0x0F, 0xFF, 0xE0, 0x07, 0xFF, 0xF0, 0x03, 0xFF, 0xF8,
0x01, 0xFF, 0xFC, 0x00, 0xFF, 0xFE, 0x00, 0x7F, 0xFF, 0x00, 0x3F, 0xFF,
0x80, 0x1F, 0xFF, 0xC0, 0x0F, 0xFF, 0xE0, 0x07, 0xF7, 0xF8, 0x07, 0xFB,
0xFE, 0x03, 0xFD, 0xFF, 0x87, 0xFC, 0xFF, 0xFF, 0xFE, 0x7E, 0xFF, 0xFE,
0x3E, 0x3F, 0xFE, 0x1F, 0x07, 0xFC, 0x00, 0x01, 0xFF, 0xC0, 0x03, 0xFF,
0xE0, 0x0F, 0xFF, 0xF8, 0x1F, 0xFF, 0xFC, 0x3F, 0xFF, 0xFC, 0x3F, 0xC1,
0xFE, 0x7F, 0x80, 0xFE, 0x7F, 0x00, 0x7F, 0xFF, 0x00, 0x40, 0xFE, 0x00,
0x00, 0xFE, 0x00, 0x00, 0xFE, 0x00, 0x00, 0xFE, 0x00, 0x00, 0xFE, 0x00,
0x00, 0xFE, 0x00, 0x00, 0xFE, 0x00, 0x00, 0xFE, 0x00, 0x00, 0xFF, 0x00,
0x18, 0xFF, 0x00, 0x3F, 0x7F, 0x80, 0x3F, 0x7F, 0xC0, 0x7E, 0x3F, 0xF3,
0xFC, 0x1F, 0xFF, 0xFC, 0x0F, 0xFF, 0xF8, 0x07, 0xFF, 0xE0, 0x01, 0xFF,
0xC0, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x1F, 0xC0, 0x00, 0x0F, 0xE0, 0x00,
0x07, 0xF0, 0x00, 0x03, 0xF8, 0x00, 0x01, 0xFC, 0x00, 0x00, 0xFE, 0x00,
0x00, 0x7F, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x1F, 0xC0, 0xFF, 0x0F, 0xE0,
0xFF, 0xE7, 0xF1, 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0xFC, 0xFF, 0xCF, 0xFE,
0xFF, 0x81, 0xFF, 0x7F, 0x80, 0x7F, 0xFF, 0x80, 0x1F, 0xFF, 0xC0, 0x0F,
0xFF, 0xE0, 0x07, 0xFF, 0xE0, 0x03, 0xFF, 0xF0, 0x01, 0xFF, 0xF8, 0x00,
0xFF, 0xFC, 0x00, 0x7F, 0xFE, 0x00, 0x3F, 0xFF, 0x00, 0x1F, 0xFF, 0xC0,
0x0F, 0xFF, 0xE0, 0x07, 0xFF, 0xF0, 0x07, 0xFF, 0xFC, 0x03, 0xFD, 0xFE,
0x03, 0xFE, 0xFF, 0xC7, 0xFF, 0x3F, 0xFF, 0xFF, 0x8F, 0xFF, 0xDF, 0xC3,
0xFF, 0xCF, 0xE0, 0xFF, 0x87, 0xF0, 0x00, 0xFF, 0xC0, 0x01, 0xFF, 0xF8,
0x03, 0xFF, 0xFE, 0x03, 0xFF, 0xFF, 0x83, 0xFE, 0x1F, 0xE1, 0xFC, 0x07,
0xF9, 0xFC, 0x01, 0xFC, 0xFE, 0x00, 0x7E, 0xFF, 0x00, 0x3F, 0xFF, 0x00,
0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFC, 0x00, 0x01, 0xFC, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x7F,
0x80, 0x00, 0x3F, 0xC0, 0x03, 0x0F, 0xF0, 0x03, 0xE7, 0xFC, 0x07, 0xF9,
0xFF, 0xFF, 0xF8, 0x7F, 0xFF, 0xF8, 0x1F, 0xFF, 0xF8, 0x07, 0xFF, 0xF8,
0x00, 0xFF, 0xF0, 0x00, 0x00, 0xFF, 0xC0, 0x7F, 0xF0, 0x3F, 0xFC, 0x1F,
0xFF, 0x07, 0xFF, 0xC1, 0xFE, 0x00, 0x7F, 0x00, 0x1F, 0xC0, 0x07, 0xF0,
0x01, 0xFC, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFC, 0x1F, 0xC0, 0x07, 0xF0, 0x01, 0xFC, 0x00, 0x7F, 0x00, 0x1F,
0xC0, 0x07, 0xF0, 0x01, 0xFC, 0x00, 0x7F, 0x00, 0x1F, 0xC0, 0x07, 0xF0,
0x01, 0xFC, 0x00, 0x7F, 0x00, 0x1F, 0xC0, 0x07, 0xF0, 0x01, 0xFC, 0x00,
0x7F, 0x00, 0x1F, 0xC0, 0x07, 0xF0, 0x01, 0xFC, 0x00, 0x7F, 0x00, 0x1F,
0xC0, 0x00, 0x00, 0x00, 0x1C, 0x03, 0xFF, 0xC1, 0xF0, 0x3F, 0xFF, 0xCF,
0xC1, 0xFF, 0xFF, 0xFF, 0x0F, 0xFD, 0xFF, 0xFC, 0x7F, 0x80, 0xFF, 0x11,
0xFC, 0x03, 0xF8, 0x0F, 0xE0, 0x07, 0xF0, 0x3F, 0x80, 0x1F, 0xC0, 0xFE,
0x00, 0x7F, 0x03, 0xF8, 0x01, 0xFC, 0x07, 0xF0, 0x0F, 0xE0, 0x1F, 0xE0,
0x7F, 0x80, 0x3F, 0xFF, 0xFC, 0x00, 0x7F, 0xFF, 0xE0, 0x00, 0x7F, 0xFE,
0x00, 0x03, 0xFF, 0xC0, 0x00, 0x3E, 0x00, 0x00, 0x01, 0xF8, 0x00, 0x00,
0x0F, 0xF8, 0x00, 0x00, 0x3F, 0xFF, 0xFC, 0x00, 0xFF, 0xFF, 0xFE, 0x01,
0xFF, 0xFF, 0xFC, 0x03, 0xFF, 0xFF, 0xF8, 0x07, 0xFF, 0xFF, 0xF0, 0x7F,
0xFF, 0xFF, 0xC3, 0xE0, 0x00, 0x7F, 0x1F, 0x80, 0x00, 0xFC, 0xFE, 0x00,
0x03, 0xF3, 0xF8, 0x00, 0x0F, 0xCF, 0xF0, 0x00, 0x7F, 0x1F, 0xF0, 0x07,
0xF8, 0x3F, 0xFF, 0xFF, 0xC0, 0x7F, 0xFF, 0xFC, 0x00, 0x7F, 0xFF, 0xC0,
0x00, 0x04, 0xC0, 0x00, 0xFE, 0x00, 0x00, 0xFE, 0x00, 0x00, 0xFE, 0x00,
0x00, 0xFE, 0x00, 0x00, 0xFE, 0x00, 0x00, 0xFE, 0x00, 0x00, 0xFE, 0x00,
0x00, 0xFE, 0x00, 0x00, 0xFE, 0x00, 0x00, 0xFE, 0x00, 0x00, 0xFE, 0x0F,
0xF0, 0xFE, 0x3F, 0xFC, 0xFE, 0x7F, 0xFC, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF,
0xFE, 0xFF, 0xC1, 0xFF, 0xFF, 0x80, 0xFF, 0xFF, 0x00, 0xFF, 0xFE, 0x00,
0xFF, 0xFE, 0x00, 0xFF, 0xFE, 0x00, 0xFF, 0xFE, 0x00, 0xFF, 0xFE, 0x00,
0xFF, 0xFE, 0x00, 0xFF, 0xFE, 0x00, 0xFF, 0xFE, 0x00, 0xFF, 0xFE, 0x00,
0xFF, 0xFE, 0x00, 0xFF, 0xFE, 0x00, 0xFF, 0xFE, 0x00, 0xFF, 0xFE, 0x00,
0xFF, 0xFE, 0x00, 0xFF, 0xFE, 0x00, 0xFF, 0xFE, 0x00, 0xFF, 0xFE, 0x00,
0xFF, 0xFE, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0x00,
0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0,
0x07, 0xF0, 0x7F, 0x07, 0xF0, 0x7F, 0x07, 0xF0, 0x7F, 0x07, 0xF0, 0x00,
0x00, 0x00, 0x00, 0x07, 0xF0, 0x7F, 0x07, 0xF0, 0x7F, 0x07, 0xF0, 0x7F,
0x07, 0xF0, 0x7F, 0x07, 0xF0, 0x7F, 0x07, 0xF0, 0x7F, 0x07, 0xF0, 0x7F,
0x07, 0xF0, 0x7F, 0x07, 0xF0, 0x7F, 0x07, 0xF0, 0x7F, 0x07, 0xF0, 0x7F,
0x07, 0xF0, 0x7F, 0x07, 0xF0, 0x7F, 0x07, 0xF0, 0xFF, 0x7F, 0xFF, 0xFF,
0xFF, 0xEF, 0xFE, 0xFF, 0xCF, 0xF0, 0xFE, 0x00, 0x00, 0x3F, 0x80, 0x00,
0x0F, 0xE0, 0x00, 0x03, 0xF8, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x3F, 0x80,
0x00, 0x0F, 0xE0, 0x00, 0x03, 0xF8, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x3F,
0x80, 0x00, 0x0F, 0xE0, 0x07, 0xF3, 0xF8, 0x03, 0xFC, 0xFE, 0x01, 0xFE,
0x3F, 0x80, 0x7F, 0x0F, 0xE0, 0x3F, 0x83, 0xF8, 0x1F, 0xC0, 0xFE, 0x0F,
0xE0, 0x3F, 0x87, 0xF0, 0x0F, 0xE3, 0xF8, 0x03, 0xF9, 0xFE, 0x00, 0xFE,
0xFF, 0xC0, 0x3F, 0xFF, 0xF0, 0x0F, 0xFF, 0xFE, 0x03, 0xFF, 0xFF, 0x80,
0xFF, 0xEF, 0xF0, 0x3F, 0xF3, 0xFC, 0x0F, 0xF8, 0x7F, 0x83, 0xFC, 0x1F,
0xF0, 0xFE, 0x03, 0xFC, 0x3F, 0x80, 0xFF, 0x8F, 0xE0, 0x1F, 0xE3, 0xF8,
0x07, 0xFC, 0xFE, 0x00, 0xFF, 0x3F, 0x80, 0x3F, 0xEF, 0xE0, 0x07, 0xFB,
0xF8, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xFE,
0x0F, 0xF0, 0x0F, 0xF0, 0xFE, 0x3F, 0xF8, 0x3F, 0xF8, 0xFE, 0x7F, 0xFC,
0x7F, 0xFC, 0xFE, 0xFF, 0xFE, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE,
0xFF, 0xC3, 0xFF, 0xE1, 0xFE, 0xFF, 0x81, 0xFF, 0x80, 0xFE, 0xFF, 0x00,
0xFF, 0x00, 0xFF, 0xFE, 0x00, 0xFE, 0x00, 0xFF, 0xFE, 0x00, 0xFE, 0x00,
0xFF, 0xFE, 0x00, 0xFE, 0x00, 0xFF, 0xFE, 0x00, 0xFE, 0x00, 0xFF, 0xFE,
0x00, 0xFE, 0x00, 0xFF, 0xFE, 0x00, 0xFE, 0x00, 0xFF, 0xFE, 0x00, 0xFE,
0x00, 0xFF, 0xFE, 0x00, 0xFE, 0x00, 0xFF, 0xFE, 0x00, 0xFE, 0x00, 0xFF,
0xFE, 0x00, 0xFE, 0x00, 0xFF, 0xFE, 0x00, 0xFE, 0x00, 0xFF, 0xFE, 0x00,
0xFE, 0x00, 0xFF, 0xFE, 0x00, 0xFE, 0x00, 0xFF, 0xFE, 0x00, 0xFE, 0x00,
0xFF, 0xFE, 0x00, 0xFE, 0x00, 0xFF, 0xFE, 0x00, 0xFE, 0x00, 0xFF, 0xFE,
0x00, 0xFE, 0x00, 0xFF, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0xFE, 0x0F, 0xF0,
0xFE, 0x3F, 0xF8, 0xFE, 0x7F, 0xFC, 0xFE, 0xFF, 0xFE, 0xFF, 0xFF, 0xFE,
0xFF, 0xC1, 0xFF, 0xFF, 0x80, 0xFF, 0xFF, 0x00, 0xFF, 0xFE, 0x00, 0xFF,
0xFE, 0x00, 0xFF, 0xFE, 0x00, 0xFF, 0xFE, 0x00, 0xFF, 0xFE, 0x00, 0xFF,
0xFE, 0x00, 0xFF, 0xFE, 0x00, 0xFF, 0xFE, 0x00, 0xFF, 0xFE, 0x00, 0xFF,
0xFE, 0x00, 0xFF, 0xFE, 0x00, 0xFF, 0xFE, 0x00, 0xFF, 0xFE, 0x00, 0xFF,
0xFE, 0x00, 0xFF, 0xFE, 0x00, 0xFF, 0xFE, 0x00, 0xFF, 0xFE, 0x00, 0xFF,
0xFE, 0x00, 0xFF, 0x00, 0xFF, 0xC0, 0x00, 0xFF, 0xFC, 0x00, 0xFF, 0xFF,
0x80, 0x7F, 0xFF, 0xF0, 0x3F, 0xF7, 0xFE, 0x0F, 0xF0, 0x3F, 0xC7, 0xF8,
0x07, 0xF1, 0xFC, 0x01, 0xFE, 0xFF, 0x00, 0x3F, 0xBF, 0x80, 0x0F, 0xEF,
0xE0, 0x03, 0xFF, 0xF8, 0x00, 0xFF, 0xFE, 0x00, 0x3F, 0xFF, 0x80, 0x0F,
0xFF, 0xE0, 0x03, 0xFF, 0xF8, 0x00, 0xFF, 0xFE, 0x00, 0x3F, 0xBF, 0xC0,
0x0F, 0xEF, 0xF0, 0x07, 0xF9, 0xFE, 0x01, 0xFC, 0x7F, 0xC0, 0xFF, 0x0F,
0xFF, 0xFF, 0x81, 0xFF, 0xFF, 0xC0, 0x3F, 0xFF, 0xE0, 0x07, 0xFF, 0xF0,
0x00, 0x7F, 0xF0, 0x00, 0xFE, 0x1F, 0xE0, 0x7F, 0x3F, 0xFC, 0x3F, 0xBF,
0xFF, 0x1F, 0xFF, 0xFF, 0xCF, 0xFE, 0x7F, 0xE7, 0xFC, 0x0F, 0xFB, 0xFC,
0x03, 0xFD, 0xFC, 0x00, 0xFF, 0xFE, 0x00, 0x7F, 0xFF, 0x00, 0x3F, 0xFF,
0x80, 0x1F, 0xFF, 0xC0, 0x0F, 0xFF, 0xE0, 0x03, 0xFF, 0xF0, 0x03, 0xFF,
0xF8, 0x01, 0xFF, 0xFC, 0x00, 0xFF, 0xFE, 0x00, 0x7F, 0xFF, 0x00, 0x3F,
0xFF, 0x80, 0x1F, 0xDF, 0xC0, 0x1F, 0xEF, 0xF8, 0x1F, 0xF7, 0xFE, 0x1F,
0xF3, 0xFF, 0xFF, 0xF9, 0xFF, 0xFF, 0xF8, 0xFE, 0x7F, 0xF8, 0x7F, 0x1F,
0xF0, 0x3F, 0x80, 0x00, 0x1F, 0xC0, 0x00, 0x0F, 0xE0, 0x00, 0x07, 0xF0,
0x00, 0x03, 0xF8, 0x00, 0x01, 0xFC, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x7F,
0x00, 0x00, 0x00, 0x03, 0xFE, 0x0F, 0x87, 0xFF, 0xC7, 0xC7, 0xFF, 0xF3,
0xE7, 0xFF, 0xFF, 0xF3, 0xFE, 0x1F, 0xFB, 0xFC, 0x07, 0xFD, 0xFE, 0x01,
0xFF, 0xFE, 0x00, 0xFF, 0xFF, 0x00, 0x3F, 0xFF, 0x80, 0x1F, 0xFF, 0x80,
0x0F, 0xFF, 0xC0, 0x07, 0xFF, 0xE0, 0x03, 0xFF, 0xF0, 0x01, 0xFF, 0xF8,
0x00, 0xFF, 0xFC, 0x00, 0x7F, 0xFF, 0x00, 0x3F, 0xFF, 0x80, 0x1F, 0xFF,
0xC0, 0x0F, 0xEF, 0xF0, 0x07, 0xF7, 0xF8, 0x07, 0xFB, 0xFF, 0x0F, 0xFC,
0xFF, 0xFF, 0xFE, 0x3F, 0xFF, 0xFF, 0x0F, 0xFF, 0x3F, 0x81, 0xFE, 0x1F,
0xC0, 0x00, 0x0F, 0xE0, 0x00, 0x07, 0xF0, 0x00, 0x03, 0xF8, 0x00, 0x01,
0xFC, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x3F, 0x80, 0x00,
0x1F, 0xC0, 0xFE, 0x0F, 0xFF, 0x1F, 0xFF, 0x9F, 0xFF, 0xDF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0xFF, 0x00, 0xFF, 0x00, 0x7F, 0x00, 0x3F,
0x80, 0x1F, 0xC0, 0x0F, 0xE0, 0x07, 0xF0, 0x03, 0xF8, 0x01, 0xFC, 0x00,
0xFE, 0x00, 0x7F, 0x00, 0x3F, 0x80, 0x1F, 0xC0, 0x0F, 0xE0, 0x07, 0xF0,
0x03, 0xF8, 0x01, 0xFC, 0x00, 0xFE, 0x00, 0x7F, 0x00, 0x00, 0x01, 0xFF,
0xC0, 0x07, 0xFF, 0xE0, 0x1F, 0xFF, 0xF8, 0x3F, 0xFF, 0xFC, 0x3F, 0xC3,
0xFE, 0x7F, 0x00, 0xFC, 0x7F, 0x00, 0x70, 0x7F, 0x00, 0x00, 0x7F, 0x80,
0x00, 0x7F, 0xF0, 0x00, 0x7F, 0xFF, 0x00, 0x3F, 0xFF, 0xE0, 0x1F, 0xFF,
0xF8, 0x0F, 0xFF, 0xFC, 0x03, 0xFF, 0xFE, 0x00, 0x7F, 0xFE, 0x00, 0x03,
0xFE, 0x00, 0x00, 0xFF, 0x18, 0x00, 0x7F, 0x7C, 0x00, 0x7E, 0xFE, 0x00,
0xFE, 0xFF, 0xC7, 0xFE, 0x7F, 0xFF, 0xFC, 0x3F, 0xFF, 0xF8, 0x0F, 0xFF,
0xF0, 0x03, 0xFF, 0xC0, 0x03, 0xF0, 0x00, 0xFE, 0x00, 0x1F, 0xC0, 0x03,
0xF8, 0x00, 0x7F, 0x00, 0x0F, 0xE0, 0x01, 0xFC, 0x00, 0x3F, 0x80, 0x07,
0xF0, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xC3, 0xFC, 0x00, 0x3F, 0x80, 0x07, 0xF0, 0x00, 0xFE, 0x00, 0x1F,
0xC0, 0x03, 0xF8, 0x00, 0x7F, 0x00, 0x0F, 0xE0, 0x01, 0xFC, 0x00, 0x3F,
0x80, 0x07, 0xF0, 0x00, 0xFE, 0x00, 0x1F, 0xC0, 0x03, 0xF8, 0x00, 0x7F,
0x00, 0x0F, 0xF8, 0x01, 0xFF, 0xF8, 0x3F, 0xFF, 0x03, 0xFF, 0xE0, 0x3F,
0xFC, 0x03, 0xFF, 0x00, 0x7F, 0x00, 0x7F, 0xFF, 0x00, 0x7F, 0xFF, 0x00,
0x7F, 0xFF, 0x00, 0x7F, 0xFF, 0x00, 0x7F, 0xFF, 0x00, 0x7F, 0xFF, 0x00,
0x7F, 0xFF, 0x00, 0x7F, 0xFF, 0x00, 0x7F, 0xFF, 0x00, 0x7F, 0xFF, 0x00,
0x7F, 0xFF, 0x00, 0x7F, 0xFF, 0x00, 0x7F, 0xFF, 0x00, 0x7F, 0xFF, 0x00,
0x7F, 0xFF, 0x00, 0x7F, 0xFF, 0x00, 0x7F, 0xFF, 0x00, 0x7F, 0xFF, 0x00,
0xFF, 0xFF, 0x01, 0xFF, 0x7F, 0x83, 0xFF, 0x7F, 0xFF, 0xFF, 0x7F, 0xFF,
0x7F, 0x3F, 0xFE, 0x7F, 0x1F, 0xFC, 0x7F, 0x0F, 0xF0, 0x7F, 0xFF, 0x00,
0x0F, 0xFF, 0xC0, 0x03, 0xF7, 0xF8, 0x01, 0xF9, 0xFE, 0x00, 0x7E, 0x7F,
0xC0, 0x1F, 0x8F, 0xF0, 0x0F, 0xC3, 0xFC, 0x03, 0xF0, 0x7F, 0x81, 0xF8,
0x1F, 0xE0, 0x7E, 0x07, 0xF8, 0x1F, 0x80, 0xFF, 0x0F, 0xC0, 0x3F, 0xC3,
0xF0, 0x07, 0xF8, 0xF8, 0x01, 0xFE, 0x7E, 0x00, 0x7F, 0x9F, 0x80, 0x0F,
0xFF, 0xC0, 0x03, 0xFF, 0xF0, 0x00, 0x7F, 0xF8, 0x00, 0x1F, 0xFE, 0x00,
0x03, 0xFF, 0x80, 0x00, 0xFF, 0xC0, 0x00, 0x3F, 0xF0, 0x00, 0x07, 0xF8,
0x00, 0x01, 0xFE, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x0F, 0xC0, 0x00, 0xFF,
0x00, 0x7E, 0x00, 0x7F, 0xFC, 0x01, 0xF8, 0x03, 0xF7, 0xF0, 0x0F, 0xF0,
0x0F, 0x9F, 0xE0, 0x3F, 0xC0, 0x3E, 0x7F, 0x80, 0xFF, 0x01, 0xF8, 0xFE,
0x03, 0xFE, 0x07, 0xC3, 0xF8, 0x1F, 0xF8, 0x1F, 0x0F, 0xF0, 0x7F, 0xE0,
0xFC, 0x1F, 0xC1, 0xFF, 0xC3, 0xF0, 0x7F, 0x0F, 0xFF, 0x0F, 0x81, 0xFE,
0x3F, 0xFC, 0x7E, 0x03, 0xF8, 0xFF, 0xF1, 0xF8, 0x0F, 0xE7, 0xCF, 0xE7,
0xC0, 0x3F, 0xDF, 0x3F, 0x9F, 0x00, 0x7F, 0x7C, 0xFE, 0xFC, 0x01, 0xFF,
0xF1, 0xFF, 0xE0, 0x07, 0xFF, 0x87, 0xFF, 0x80, 0x1F, 0xFE, 0x1F, 0xFE,
0x00, 0x3F, 0xF8, 0x3F, 0xF0, 0x00, 0xFF, 0xC0, 0xFF, 0xC0, 0x03, 0xFF,
0x03, 0xFF, 0x00, 0x07, 0xFC, 0x07, 0xF8, 0x00, 0x1F, 0xE0, 0x1F, 0xE0,
0x00, 0x7F, 0x80, 0x7F, 0x80, 0x00, 0xFE, 0x01, 0xFC, 0x00, 0x03, 0xF0,
0x03, 0xF0, 0x00, 0xFF, 0x80, 0x1F, 0x8F, 0xF0, 0x07, 0xF1, 0xFF, 0x01,
0xFC, 0x1F, 0xF0, 0x3F, 0x01, 0xFF, 0x0F, 0xE0, 0x1F, 0xE3, 0xF8, 0x03,
0xFE, 0x7E, 0x00, 0x3F, 0xFF, 0xC0, 0x03, 0xFF, 0xF0, 0x00, 0x3F, 0xFC,
0x00, 0x07, 0xFF, 0x00, 0x00, 0x7F, 0xE0, 0x00, 0x07, 0xFC, 0x00, 0x00,
0xFF, 0xC0, 0x00, 0x3F, 0xF8, 0x00, 0x0F, 0xFF, 0x80, 0x03, 0xFF, 0xF8,
0x00, 0x7F, 0xFF, 0x80, 0x1F, 0xDF, 0xF0, 0x07, 0xF1, 0xFF, 0x01, 0xFC,
0x1F, 0xF0, 0x3F, 0x81, 0xFE, 0x0F, 0xE0, 0x3F, 0xE3, 0xF8, 0x03, 0xFE,
0xFE, 0x00, 0x3F, 0xFF, 0xC0, 0x07, 0xFC, 0xFF, 0x00, 0x0F, 0xFF, 0xC0,
0x07, 0xF7, 0xF8, 0x01, 0xF9, 0xFE, 0x00, 0x7E, 0x7F, 0x80, 0x3F, 0x0F,
0xF0, 0x0F, 0xC3, 0xFC, 0x03, 0xF0, 0x7F, 0x81, 0xF8, 0x1F, 0xE0, 0x7E,
0x07, 0xF8, 0x3F, 0x00, 0xFF, 0x0F, 0xC0, 0x3F, 0xC3, 0xF0, 0x07, 0xF1,
0xF8, 0x01, 0xFE, 0x7E, 0x00, 0x7F, 0x9F, 0x00, 0x0F, 0xFF, 0xC0, 0x03,
0xFF, 0xE0, 0x00, 0x7F, 0xF8, 0x00, 0x1F, 0xFE, 0x00, 0x07, 0xFF, 0x00,
0x00, 0xFF, 0xC0, 0x00, 0x3F, 0xE0, 0x00, 0x07, 0xF8, 0x00, 0x01, 0xFE,
0x00, 0x00, 0x7F, 0x00, 0x00, 0x0F, 0xC0, 0x00, 0x07, 0xE0, 0x00, 0x03,
0xF8, 0x00, 0x03, 0xFC, 0x00, 0x1F, 0xFF, 0x00, 0x07, 0xFF, 0x80, 0x01,
0xFF, 0xC0, 0x00, 0x7F, 0xE0, 0x00, 0x1F, 0xE0, 0x00, 0x00, 0x7F, 0xFF,
0xFE, 0xFF, 0xFF, 0xFD, 0xFF, 0xFF, 0xFB, 0xFF, 0xFF, 0xF7, 0xFF, 0xFF,
0xC0, 0x00, 0xFF, 0x80, 0x03, 0xFE, 0x00, 0x0F, 0xF8, 0x00, 0x1F, 0xE0,
0x00, 0x7F, 0xC0, 0x01, 0xFF, 0x00, 0x07, 0xFC, 0x00, 0x0F, 0xF0, 0x00,
0x3F, 0xC0, 0x00, 0xFF, 0x80, 0x03, 0xFE, 0x00, 0x0F, 0xF8, 0x00, 0x1F,
0xE0, 0x00, 0x7F, 0xC0, 0x01, 0xFF, 0x00, 0x07, 0xFC, 0x00, 0x0F, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFC, 0x00, 0x7F, 0x80, 0x7F, 0xC0, 0x7F, 0xE0, 0x7F, 0xF0, 0x3F, 0x80,
0x1F, 0x80, 0x0F, 0xC0, 0x07, 0xE0, 0x03, 0xF0, 0x01, 0xF8, 0x00, 0xFC,
0x00, 0x7E, 0x00, 0x3F, 0x00, 0x1F, 0x80, 0x0F, 0xC0, 0x07, 0xE0, 0x03,
0xF0, 0x03, 0xF8, 0x01, 0xF8, 0x03, 0xFC, 0x0F, 0xFC, 0x07, 0xF0, 0x03,
0xFE, 0x01, 0xFF, 0xC0, 0x0F, 0xE0, 0x03, 0xF8, 0x01, 0xFC, 0x00, 0x7E,
0x00, 0x3F, 0x00, 0x1F, 0x80, 0x0F, 0xC0, 0x07, 0xE0, 0x03, 0xF0, 0x01,
0xF8, 0x00, 0xFC, 0x00, 0x7E, 0x00, 0x3F, 0x00, 0x1F, 0x80, 0x0F, 0xC0,
0x07, 0xF0, 0x03, 0xFF, 0x80, 0xFF, 0xC0, 0x3F, 0xE0, 0x07, 0xF0, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7C,
0xFF, 0x00, 0x7F, 0xC0, 0x3F, 0xF0, 0x1F, 0xFC, 0x00, 0xFE, 0x00, 0x3F,
0x00, 0x1F, 0x80, 0x0F, 0xC0, 0x07, 0xE0, 0x03, 0xF0, 0x01, 0xF8, 0x00,
0xFC, 0x00, 0x7E, 0x00, 0x3F, 0x00, 0x1F, 0x80, 0x0F, 0xC0, 0x07, 0xE0,
0x03, 0xF8, 0x00, 0xFC, 0x00, 0x7F, 0x80, 0x1F, 0xF8, 0x01, 0xFC, 0x03,
0xFE, 0x07, 0xFF, 0x03, 0xF8, 0x03, 0xF8, 0x01, 0xF8, 0x00, 0xFC, 0x00,
0x7E, 0x00, 0x3F, 0x00, 0x1F, 0x80, 0x0F, 0xC0, 0x07, 0xE0, 0x03, 0xF0,
0x01, 0xF8, 0x00, 0xFC, 0x00, 0x7E, 0x00, 0x3F, 0x00, 0x1F, 0x80, 0x1F,
0xC0, 0xFF, 0xE0, 0x7F, 0xE0, 0x3F, 0xE0, 0x1F, 0xC0, 0x00, 0x00, 0x00,
0x00, 0x03, 0xF8, 0x01, 0x83, 0xFF, 0x01, 0xC7, 0xFF, 0xE1, 0xF7, 0xFF,
0xFF, 0xFB, 0xFF, 0xFF, 0xF9, 0xF0, 0x3F, 0xF8, 0x60, 0x07, 0xF8, 0x20,
0x00, 0x70, 0x00 };
const GFXglyph LibreFranklin_Bold25pt7bGlyphs[] PROGMEM = {
{ 0, 1, 1, 10, 0, 0 }, // 0x20 ' '
{ 1, 9, 36, 13, 2, -35 }, // 0x21 '!'
{ 42, 19, 14, 23, 2, -35 }, // 0x22 '"'
{ 76, 28, 36, 30, 1, -35 }, // 0x23 '#'
{ 202, 29, 44, 32, 1, -39 }, // 0x24 '$'
{ 362, 42, 37, 46, 2, -36 }, // 0x25 '%'
{ 557, 37, 37, 41, 2, -36 }, // 0x26 '&'
{ 729, 8, 14, 12, 2, -35 }, // 0x27 '''
{ 743, 13, 44, 15, 2, -35 }, // 0x28 '('
{ 815, 12, 44, 15, 1, -35 }, // 0x29 ')'
{ 881, 21, 20, 23, 1, -35 }, // 0x2A '*'
{ 934, 24, 24, 29, 2, -29 }, // 0x2B '+'
{ 1006, 8, 16, 12, 2, -7 }, // 0x2C ','
{ 1022, 14, 6, 19, 2, -15 }, // 0x2D '-'
{ 1033, 8, 8, 12, 2, -7 }, // 0x2E '.'
{ 1041, 18, 37, 18, 0, -35 }, // 0x2F '/'
{ 1125, 31, 37, 35, 2, -36 }, // 0x30 '0'
{ 1269, 21, 36, 25, 2, -35 }, // 0x31 '1'
{ 1364, 27, 37, 32, 2, -36 }, // 0x32 '2'
{ 1489, 30, 37, 33, 1, -36 }, // 0x33 '3'
{ 1628, 30, 36, 34, 2, -35 }, // 0x34 '4'
{ 1763, 29, 36, 33, 2, -35 }, // 0x35 '5'
{ 1894, 30, 37, 34, 2, -36 }, // 0x36 '6'
{ 2033, 27, 36, 30, 2, -35 }, // 0x37 '7'
{ 2155, 30, 37, 33, 2, -36 }, // 0x38 '8'
{ 2294, 29, 37, 33, 2, -36 }, // 0x39 '9'
{ 2429, 8, 25, 12, 2, -24 }, // 0x3A ':'
{ 2454, 8, 33, 13, 2, -24 }, // 0x3B ';'
{ 2487, 23, 24, 28, 2, -28 }, // 0x3C '<'
{ 2556, 24, 17, 29, 2, -25 }, // 0x3D '='
{ 2607, 23, 24, 28, 3, -28 }, // 0x3E '>'
{ 2676, 25, 37, 26, 0, -36 }, // 0x3F '?'
{ 2792, 38, 38, 41, 2, -31 }, // 0x40 '@'
{ 2973, 34, 36, 38, 2, -35 }, // 0x41 'A'
{ 3126, 30, 36, 35, 3, -35 }, // 0x42 'B'
{ 3261, 32, 37, 35, 2, -36 }, // 0x43 'C'
{ 3409, 32, 36, 37, 3, -35 }, // 0x44 'D'
{ 3553, 27, 36, 32, 3, -35 }, // 0x45 'E'
{ 3675, 26, 36, 31, 3, -35 }, // 0x46 'F'
{ 3792, 32, 37, 37, 2, -36 }, // 0x47 'G'
{ 3940, 30, 36, 37, 3, -35 }, // 0x48 'H'
{ 4075, 9, 36, 15, 3, -35 }, // 0x49 'I'
{ 4116, 17, 36, 22, 2, -35 }, // 0x4A 'J'
{ 4193, 32, 36, 36, 3, -35 }, // 0x4B 'K'
{ 4337, 26, 36, 31, 3, -35 }, // 0x4C 'L'
{ 4454, 40, 36, 46, 3, -35 }, // 0x4D 'M'
{ 4634, 31, 36, 37, 3, -35 }, // 0x4E 'N'
{ 4774, 34, 37, 38, 2, -36 }, // 0x4F 'O'
{ 4932, 30, 36, 35, 3, -35 }, // 0x50 'P'
{ 5067, 34, 43, 38, 2, -36 }, // 0x51 'Q'
{ 5250, 30, 36, 35, 3, -35 }, // 0x52 'R'
{ 5385, 29, 37, 33, 2, -36 }, // 0x53 'S'
{ 5520, 30, 36, 33, 2, -35 }, // 0x54 'T'
{ 5655, 29, 36, 35, 3, -35 }, // 0x55 'U'
{ 5786, 32, 36, 36, 2, -35 }, // 0x56 'V'
{ 5930, 50, 36, 53, 2, -35 }, // 0x57 'W'
{ 6155, 33, 36, 36, 1, -35 }, // 0x58 'X'
{ 6304, 34, 36, 36, 1, -35 }, // 0x59 'Y'
{ 6457, 29, 36, 33, 2, -35 }, // 0x5A 'Z'
{ 6588, 12, 44, 15, 3, -35 }, // 0x5B '['
{ 6654, 18, 37, 18, 0, -35 }, // 0x5C '\'
{ 6738, 11, 44, 15, 1, -35 }, // 0x5D ']'
{ 6799, 21, 21, 23, 1, -26 }, // 0x5E '^'
{ 6855, 22, 5, 27, 2, 3 }, // 0x5F '_'
{ 6869, 15, 8, 15, 0, -36 }, // 0x60 '`'
{ 6884, 24, 26, 28, 1, -25 }, // 0x61 'a'
{ 6962, 25, 36, 30, 3, -35 }, // 0x62 'b'
{ 7075, 24, 26, 27, 2, -25 }, // 0x63 'c'
{ 7153, 25, 36, 30, 2, -35 }, // 0x64 'd'
{ 7266, 25, 26, 29, 2, -25 }, // 0x65 'e'
{ 7348, 18, 36, 20, 1, -35 }, // 0x66 'f'
{ 7429, 30, 36, 31, 0, -26 }, // 0x67 'g'
{ 7564, 24, 36, 29, 3, -35 }, // 0x68 'h'
{ 7672, 7, 36, 13, 3, -35 }, // 0x69 'i'
{ 7704, 12, 44, 13, -2, -35 }, // 0x6A 'j'
{ 7770, 26, 36, 30, 3, -35 }, // 0x6B 'k'
{ 7887, 7, 36, 13, 3, -35 }, // 0x6C 'l'
{ 7919, 40, 26, 45, 3, -25 }, // 0x6D 'm'
{ 8049, 24, 26, 29, 3, -25 }, // 0x6E 'n'
{ 8127, 26, 26, 29, 2, -25 }, // 0x6F 'o'
{ 8212, 25, 34, 30, 3, -25 }, // 0x70 'p'
{ 8319, 25, 34, 30, 2, -25 }, // 0x71 'q'
{ 8426, 17, 26, 21, 3, -25 }, // 0x72 'r'
{ 8482, 24, 26, 26, 1, -25 }, // 0x73 's'
{ 8560, 19, 35, 21, 1, -34 }, // 0x74 't'
{ 8644, 24, 26, 29, 2, -25 }, // 0x75 'u'
{ 8722, 26, 26, 28, 1, -25 }, // 0x76 'v'
{ 8807, 38, 26, 40, 1, -25 }, // 0x77 'w'
{ 8931, 27, 26, 29, 1, -25 }, // 0x78 'x'
{ 9019, 26, 34, 28, 1, -25 }, // 0x79 'y'
{ 9130, 23, 26, 25, 1, -25 }, // 0x7A 'z'
{ 9205, 17, 44, 18, 0, -35 }, // 0x7B '{'
{ 9299, 6, 49, 12, 3, -40 }, // 0x7C '|'
{ 9336, 17, 44, 18, 1, -35 }, // 0x7D '}'
{ 9430, 25, 9, 30, 2, -22 } }; // 0x7E '~'
const GFXfont LibreFranklin_Bold25pt7b PROGMEM = {
(uint8_t *)LibreFranklin_Bold25pt7bBitmaps,
(GFXglyph *)LibreFranklin_Bold25pt7bGlyphs,
0x20, 0x7E, 59 };
// Approx. 10131 bytes

1259
src/fonts/LibreFranklin30.h Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,484 @@
#include <Adafruit_GFX.h>
#include <Arduino.h>
const uint8_t Antonio_SemiBold20pt7bBitmaps[] PROGMEM = {
0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x66, 0x66, 0x66,
0x66, 0x66, 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x7B, 0xDE, 0xF7,
0x98, 0xC6, 0x00, 0x03, 0x8F, 0x01, 0xC7, 0x80, 0xE3, 0x80, 0xF1, 0xC0,
0x70, 0xE0, 0x38, 0x70, 0x1C, 0x78, 0x0E, 0x3C, 0x07, 0x1C, 0x07, 0x8E,
0x03, 0x87, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x38, 0xE0, 0x3C,
0x70, 0x1E, 0x38, 0x0E, 0x1C, 0x07, 0x0E, 0x03, 0x8F, 0x0F, 0xFF, 0xF7,
0xFF, 0xF8, 0xF1, 0xC0, 0x70, 0xE0, 0x38, 0x70, 0x1C, 0x78, 0x0E, 0x3C,
0x0F, 0x1C, 0x07, 0x8E, 0x03, 0x87, 0x01, 0xC3, 0x80, 0xE3, 0xC0, 0x71,
0xE0, 0x78, 0xE0, 0x00, 0x06, 0x00, 0x30, 0x01, 0x80, 0x0C, 0x00, 0x60,
0x1F, 0xC1, 0xFF, 0x9F, 0xFC, 0xFB, 0xF7, 0x87, 0xBC, 0x3D, 0xE1, 0xEF,
0x0F, 0x78, 0x7B, 0xE3, 0xDF, 0x00, 0x7C, 0x01, 0xF8, 0x0F, 0xE0, 0x3F,
0x80, 0x7C, 0x01, 0xF0, 0x07, 0xC0, 0x3E, 0xF0, 0xF7, 0x87, 0xFC, 0x3F,
0xE1, 0xFF, 0x0F, 0xFC, 0x7B, 0xFF, 0xCF, 0xFE, 0x3F, 0xE0, 0xFE, 0x01,
0xC0, 0x0E, 0x00, 0x70, 0x03, 0x80, 0x1C, 0x00, 0x1F, 0x80, 0x01, 0xC0,
0x07, 0xFE, 0x00, 0x3C, 0x00, 0x7F, 0xE0, 0x03, 0xC0, 0x0F, 0x9F, 0x00,
0x38, 0x00, 0xF0, 0xF0, 0x07, 0x80, 0x0F, 0x0F, 0x00, 0x70, 0x00, 0xF0,
0xF0, 0x0F, 0x00, 0x0F, 0x0F, 0x00, 0xF0, 0x00, 0xF0, 0xF0, 0x0E, 0x00,
0x0F, 0x0F, 0x01, 0xE0, 0x00, 0xF0, 0xF0, 0x1C, 0x00, 0x0F, 0x0F, 0x03,
0xC0, 0x60, 0xF0, 0xF0, 0x3C, 0x3F, 0xCF, 0x0F, 0x03, 0x87, 0xFE, 0xF0,
0xF0, 0x78, 0xFF, 0xEF, 0x0F, 0x07, 0x8F, 0x0E, 0xF0, 0xF0, 0xF0, 0xF0,
0xFF, 0x0F, 0x0F, 0x0E, 0x0F, 0xF0, 0xF0, 0xE0, 0xE0, 0xF7, 0xDF, 0x1E,
0x0E, 0x0F, 0x7F, 0xE1, 0xE0, 0xE0, 0xF3, 0xFC, 0x1C, 0x0E, 0x0F, 0x1F,
0x83, 0xC0, 0xE0, 0xF0, 0x00, 0x38, 0x0E, 0x0F, 0x00, 0x07, 0x80, 0xE0,
0xF0, 0x00, 0x78, 0x0E, 0x0F, 0x00, 0x07, 0x00, 0xE0, 0xF0, 0x00, 0xF0,
0x0E, 0x0F, 0x00, 0x0E, 0x00, 0xE0, 0xF0, 0x01, 0xE0, 0x0F, 0x0F, 0x00,
0x1E, 0x00, 0xF1, 0xE0, 0x01, 0xC0, 0x0F, 0xFE, 0x00, 0x3C, 0x00, 0x7F,
0xC0, 0x03, 0x80, 0x03, 0xF8, 0x03, 0xE0, 0x03, 0xFE, 0x00, 0xFF, 0x80,
0x7C, 0xF0, 0x1E, 0x1C, 0x07, 0x87, 0x01, 0xE1, 0xC0, 0x78, 0x70, 0x1E,
0x1C, 0x07, 0x8F, 0x00, 0xF3, 0x80, 0x3D, 0xE0, 0x0F, 0x78, 0x01, 0xFC,
0x00, 0x7E, 0x00, 0x1F, 0x80, 0x07, 0xC0, 0x03, 0xF0, 0x00, 0xFE, 0x08,
0x7F, 0x86, 0x3F, 0xE3, 0x8F, 0x3C, 0xF7, 0x8F, 0x79, 0xE1, 0xFC, 0x78,
0x7F, 0x3C, 0x1F, 0x8F, 0x03, 0xE3, 0xC0, 0xF0, 0xF0, 0x3E, 0x1E, 0x1F,
0x87, 0xFF, 0xF1, 0xFF, 0xFC, 0x3F, 0xE7, 0x87, 0xF1, 0xE0, 0xFF, 0xFF,
0xF7, 0x76, 0x66, 0x66, 0x3E, 0xFF, 0xFF, 0xCF, 0x1E, 0x3C, 0x78, 0xF1,
0xE3, 0xC7, 0x8F, 0x1E, 0x3C, 0x78, 0xF1, 0xE3, 0xC7, 0x8F, 0x1E, 0x3C,
0x78, 0xF1, 0xE3, 0xC7, 0x8F, 0x1E, 0x3C, 0x78, 0xF1, 0xE3, 0xFB, 0xF7,
0xE1, 0xC0, 0xF1, 0xF3, 0xF1, 0xE3, 0xC7, 0xCF, 0x9F, 0x3E, 0x7C, 0xF9,
0xF3, 0xE7, 0xCF, 0x9F, 0x3E, 0x7C, 0xF9, 0xF3, 0xE7, 0xCF, 0x9F, 0x3E,
0x7C, 0xF9, 0xF3, 0xE7, 0xCF, 0x9F, 0x3E, 0x7B, 0xF7, 0xEF, 0x98, 0x00,
0x07, 0x00, 0x1C, 0x04, 0x71, 0x39, 0xCE, 0xFB, 0x7D, 0xFF, 0xC1, 0xFC,
0x03, 0xE0, 0x3F, 0xE3, 0xEF, 0xFF, 0x73, 0x99, 0xC6, 0x07, 0x08, 0x1C,
0x00, 0x70, 0x00, 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0xFF, 0xFF, 0xFF,
0xFF, 0xF0, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0xFF, 0xFF, 0xFF,
0x8C, 0xE7, 0x31, 0x9C, 0xC0, 0xFF, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0x00,
0xF8, 0x07, 0x80, 0x3C, 0x01, 0xE0, 0x0E, 0x00, 0xF0, 0x07, 0x80, 0x3C,
0x01, 0xC0, 0x1E, 0x00, 0xF0, 0x07, 0x80, 0x38, 0x03, 0xC0, 0x1E, 0x00,
0xF0, 0x07, 0x80, 0x78, 0x03, 0xC0, 0x1E, 0x00, 0xF0, 0x0F, 0x00, 0x78,
0x03, 0xC0, 0x1E, 0x01, 0xE0, 0x0F, 0x00, 0x78, 0x03, 0xC0, 0x3C, 0x01,
0xE0, 0x0F, 0x00, 0x78, 0x07, 0x80, 0x00, 0x0F, 0xC1, 0xFF, 0x9F, 0xFC,
0xFF, 0xF7, 0x8F, 0xFC, 0x3F, 0xE1, 0xFF, 0x0F, 0xF8, 0x7F, 0xC3, 0xFE,
0x1F, 0xF0, 0xFF, 0x87, 0xFC, 0x3F, 0xE1, 0xFF, 0x0F, 0xF8, 0x7F, 0xC3,
0xFE, 0x1F, 0xF0, 0xFF, 0x87, 0xFC, 0x3F, 0xE1, 0xFF, 0x0F, 0xF8, 0x7F,
0xC3, 0xFE, 0x1F, 0xF0, 0xFF, 0x87, 0xBC, 0x7D, 0xF7, 0xEF, 0xFE, 0x3F,
0xF0, 0xFF, 0x00, 0x03, 0x83, 0xC3, 0xE3, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F,
0x0F, 0x87, 0xC3, 0xE1, 0xF0, 0xF8, 0x7C, 0x3E, 0x1F, 0x0F, 0x87, 0xC3,
0xE1, 0xF0, 0xF8, 0x7C, 0x3E, 0x1F, 0x0F, 0x87, 0xC3, 0xE1, 0xF0, 0xF8,
0x7C, 0x3E, 0x1F, 0x0F, 0x87, 0xC0, 0x0F, 0x81, 0xFF, 0x1F, 0xF8, 0xFF,
0xEF, 0x8F, 0x7C, 0x7B, 0xC3, 0xDE, 0x1E, 0xF0, 0xFF, 0x87, 0xFC, 0x3F,
0xE1, 0xEF, 0x0F, 0x78, 0x78, 0x07, 0xC0, 0x3C, 0x03, 0xE0, 0x1E, 0x01,
0xF0, 0x0F, 0x00, 0xF8, 0x07, 0x80, 0x7C, 0x07, 0xC0, 0x3E, 0x03, 0xE0,
0x1F, 0x00, 0xF0, 0x07, 0x80, 0x7C, 0x03, 0xE0, 0x1F, 0xFE, 0xFF, 0xF7,
0xFF, 0x80, 0x0F, 0xC0, 0xFF, 0x87, 0xFF, 0x1F, 0xFE, 0x78, 0xFB, 0xE1,
0xEF, 0x87, 0xBC, 0x1E, 0xF0, 0x7B, 0xC1, 0xE0, 0x07, 0x80, 0x1E, 0x00,
0x78, 0x03, 0xE0, 0x3F, 0x01, 0xF8, 0x07, 0xE0, 0x1F, 0xC0, 0x0F, 0x00,
0x3E, 0x00, 0x78, 0x01, 0xE0, 0x07, 0xBC, 0x1E, 0xF0, 0x7F, 0xC1, 0xFF,
0x07, 0xBC, 0x1E, 0xF0, 0x7B, 0xE1, 0xE7, 0xDF, 0x9F, 0xFC, 0x3F, 0xE0,
0x7F, 0x00, 0x01, 0xF0, 0x07, 0xC0, 0x3F, 0x00, 0xFC, 0x03, 0xF0, 0x1F,
0xC0, 0x7F, 0x01, 0xFC, 0x06, 0xF0, 0x3B, 0xC0, 0xEF, 0x03, 0xBC, 0x1C,
0xF0, 0x73, 0xC1, 0xCF, 0x0F, 0x3C, 0x38, 0xF0, 0xE3, 0xC7, 0x8F, 0x1C,
0x3C, 0x70, 0xF1, 0xC3, 0xCF, 0x0F, 0x38, 0x3C, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0x00, 0xF0, 0x03, 0xC0, 0x0F, 0x00, 0x3C, 0x00, 0xF0,
0x03, 0xC0, 0xFF, 0xEF, 0xFE, 0xFF, 0xEF, 0xFE, 0xF0, 0x0F, 0x00, 0xF0,
0x0F, 0x00, 0xF0, 0x0F, 0x00, 0xF3, 0x0F, 0xFC, 0xFF, 0xEF, 0xFE, 0xF9,
0xEF, 0x1F, 0xF0, 0xF1, 0x0F, 0x00, 0xF0, 0x0F, 0x00, 0xF0, 0x0F, 0x00,
0xF0, 0x0F, 0xF0, 0xFF, 0x0F, 0xF0, 0xFF, 0x0F, 0xF0, 0xFF, 0x1F, 0xFB,
0xEF, 0xFE, 0x7F, 0xC3, 0xF8, 0x0F, 0xC0, 0xFF, 0x83, 0xFF, 0x1F, 0xFC,
0x78, 0xF9, 0xE1, 0xEF, 0x87, 0xBE, 0x1E, 0xF8, 0x7B, 0xE1, 0xEF, 0x80,
0x3E, 0x00, 0xF8, 0x03, 0xEF, 0x8F, 0xFF, 0x3F, 0xFE, 0xFF, 0xFB, 0xE1,
0xEF, 0x87, 0xBE, 0x1E, 0xF8, 0x7F, 0xE1, 0xFF, 0x87, 0xFE, 0x1F, 0xF8,
0x7F, 0xE1, 0xFF, 0x87, 0xFE, 0x1F, 0xF8, 0x79, 0xE1, 0xE7, 0xFF, 0x9F,
0xFE, 0x3F, 0xF0, 0x7F, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0x00, 0x7C, 0x01, 0xE0, 0x0F, 0x80, 0x3C, 0x00, 0xF0, 0x07, 0xC0, 0x1E,
0x00, 0x78, 0x03, 0xE0, 0x0F, 0x80, 0x3C, 0x00, 0xF0, 0x07, 0xC0, 0x1E,
0x00, 0x78, 0x03, 0xE0, 0x0F, 0x80, 0x3C, 0x00, 0xF0, 0x07, 0xC0, 0x1F,
0x00, 0x7C, 0x01, 0xF0, 0x07, 0x80, 0x1E, 0x00, 0xF8, 0x03, 0xE0, 0x0F,
0x80, 0x3E, 0x00, 0xF8, 0x00, 0x1F, 0xC1, 0xFF, 0x1F, 0xFC, 0xFB, 0xFF,
0x8F, 0xFC, 0x3F, 0xC1, 0xFE, 0x0F, 0xF0, 0x7F, 0x83, 0xFC, 0x1F, 0xE0,
0xFF, 0x87, 0xBC, 0x79, 0xFF, 0xC7, 0xFC, 0x3F, 0xE3, 0xFF, 0x9E, 0x3D,
0xF1, 0xFF, 0x07, 0xF8, 0x3F, 0xC1, 0xFE, 0x0F, 0xF0, 0x7F, 0x83, 0xFC,
0x1F, 0xE0, 0xFF, 0x07, 0xFC, 0x3F, 0xF7, 0xEF, 0xFE, 0x3F, 0xF0, 0xFE,
0x00, 0x1F, 0x81, 0xFF, 0x1F, 0xFD, 0xFF, 0xEF, 0x8F, 0x78, 0x7F, 0xC3,
0xFE, 0x0F, 0xF0, 0x7F, 0x83, 0xFC, 0x1F, 0xE0, 0xFF, 0x07, 0xF8, 0x3F,
0xC1, 0xFE, 0x0F, 0xF0, 0x7F, 0xC7, 0xDF, 0xFE, 0xFF, 0xF3, 0xFF, 0x80,
0x3C, 0x01, 0xE0, 0x0F, 0xF0, 0x7F, 0x83, 0xFC, 0x1F, 0xE0, 0xFF, 0x0F,
0xFC, 0x79, 0xF7, 0xCF, 0xFE, 0x3F, 0xE0, 0xFE, 0x00, 0xFF, 0xFF, 0xF0,
0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0x00,
0x00, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0xFF, 0xF3, 0x9C, 0xCE, 0x73, 0x98,
0x00, 0x20, 0x0C, 0x07, 0x81, 0xF0, 0xFE, 0x3F, 0x9F, 0xC7, 0xF0, 0xF8,
0x1C, 0x03, 0xE0, 0x7E, 0x07, 0xF0, 0x3F, 0x03, 0xF8, 0x1F, 0x01, 0xE0,
0x0C, 0x00, 0x80, 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x0F, 0xFF,
0xFF, 0xFF, 0xC0, 0x80, 0x18, 0x03, 0x80, 0x7C, 0x0F, 0xC0, 0xFE, 0x07,
0xF0, 0x7F, 0x03, 0xE0, 0x3C, 0x0F, 0x83, 0xF1, 0xFC, 0xFE, 0x3F, 0x87,
0xC0, 0xF0, 0x18, 0x02, 0x00, 0x00, 0x1F, 0x87, 0xFC, 0x7F, 0xEF, 0xFE,
0xF1, 0xEF, 0x1F, 0xF1, 0xFF, 0x1F, 0xF1, 0xFF, 0x1F, 0xF1, 0xFF, 0x1F,
0x01, 0xF0, 0x1E, 0x01, 0xE0, 0x3E, 0x03, 0xE0, 0xFC, 0x3F, 0x83, 0xF0,
0x3C, 0x03, 0xC0, 0x3C, 0x03, 0xC0, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00,
0x3C, 0x03, 0xC0, 0x3C, 0x03, 0xC0, 0x3C, 0x03, 0xC0, 0x00, 0x3F, 0x80,
0x00, 0xFF, 0xF0, 0x00, 0xFF, 0xFC, 0x00, 0xF8, 0x0F, 0x00, 0xF0, 0x03,
0xC0, 0xF0, 0x00, 0xF0, 0xF0, 0x00, 0x38, 0x78, 0x00, 0x1C, 0x38, 0x1F,
0x87, 0x3C, 0x3F, 0xE3, 0x9E, 0x1E, 0xF1, 0xCE, 0x1C, 0x38, 0xE7, 0x0E,
0x1C, 0x77, 0x8E, 0x0E, 0x1F, 0xC7, 0x07, 0x0F, 0xE3, 0x83, 0x87, 0xF1,
0xC1, 0xC3, 0xF8, 0xE0, 0xE1, 0xFC, 0x70, 0x70, 0xFE, 0x38, 0x38, 0x7F,
0x1C, 0x1C, 0x77, 0x8E, 0x0E, 0x39, 0xC7, 0x07, 0x1C, 0xE3, 0xC7, 0xCE,
0x70, 0xF6, 0xFE, 0x3C, 0x7F, 0x3F, 0x1E, 0x1F, 0x0F, 0x07, 0x81, 0x00,
0x03, 0xC0, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x1F, 0x80,
0x70, 0x07, 0xFF, 0xF8, 0x00, 0xFF, 0xFE, 0x00, 0x1F, 0xF0, 0x00, 0x07,
0xC0, 0x07, 0xE0, 0x0F, 0xE0, 0x0F, 0xE0, 0x0F, 0xE0, 0x0F, 0xE0, 0x0F,
0xE0, 0x0F, 0xF0, 0x0E, 0xF0, 0x1E, 0xF0, 0x1E, 0xF0, 0x1E, 0xF0, 0x1E,
0xF0, 0x1E, 0x70, 0x1E, 0x78, 0x1C, 0x78, 0x3C, 0x78, 0x3C, 0x78, 0x3C,
0x78, 0x3C, 0x78, 0x3C, 0x3C, 0x3C, 0x3C, 0x7C, 0x3C, 0x78, 0x3C, 0x7F,
0xFC, 0x7F, 0xFC, 0x7F, 0xFE, 0x7F, 0xFE, 0x78, 0x1E, 0xF8, 0x1E, 0xF8,
0x1E, 0xF0, 0x1E, 0xF0, 0x1F, 0xF0, 0x1F, 0xFF, 0x03, 0xFF, 0x8F, 0xFF,
0x3F, 0xFC, 0xF0, 0xFB, 0xC3, 0xEF, 0x07, 0xBC, 0x1E, 0xF0, 0x7B, 0xC1,
0xEF, 0x07, 0xBC, 0x3E, 0xF0, 0xFB, 0xC3, 0xCF, 0xFF, 0x3F, 0xF8, 0xFF,
0xF3, 0xFF, 0xCF, 0x0F, 0xBC, 0x1E, 0xF0, 0x7B, 0xC1, 0xEF, 0x07, 0xFC,
0x1F, 0xF0, 0x7F, 0xC1, 0xFF, 0x07, 0xBC, 0x1E, 0xF0, 0x7B, 0xC3, 0xEF,
0xFF, 0xBF, 0xFC, 0xFF, 0xE3, 0xFF, 0x00, 0x0F, 0xC0, 0x7F, 0xC3, 0xFF,
0x9F, 0xFE, 0x7C, 0x79, 0xE1, 0xFF, 0x87, 0xFE, 0x0F, 0xF8, 0x3F, 0xE0,
0xFF, 0x83, 0xFE, 0x0F, 0xF8, 0x3F, 0xE0, 0x0F, 0x80, 0x3E, 0x00, 0xF8,
0x03, 0xE0, 0x0F, 0x80, 0x3E, 0x00, 0xF8, 0x3F, 0xE0, 0xFF, 0x83, 0xFE,
0x0F, 0xF8, 0x3F, 0xE0, 0xFF, 0x83, 0xFE, 0x1F, 0x78, 0x7D, 0xE1, 0xE7,
0xEF, 0x8F, 0xFE, 0x3F, 0xF0, 0x3F, 0x80, 0xFF, 0x07, 0xFF, 0x3F, 0xFD,
0xFF, 0xEF, 0x0F, 0xF8, 0x7F, 0xC1, 0xFE, 0x0F, 0xF0, 0x7F, 0x83, 0xFC,
0x1F, 0xE0, 0xFF, 0x07, 0xF8, 0x3F, 0xC1, 0xFE, 0x0F, 0xF0, 0x7F, 0x83,
0xFC, 0x1F, 0xE0, 0xFF, 0x07, 0xF8, 0x3F, 0xC1, 0xFE, 0x0F, 0xF0, 0x7F,
0x83, 0xFC, 0x1F, 0xE0, 0xFF, 0x07, 0xF8, 0x7F, 0xFF, 0xDF, 0xFE, 0xFF,
0xE7, 0xFC, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x3C, 0x0F, 0x03,
0xC0, 0xF0, 0x3C, 0x0F, 0x03, 0xC0, 0xF0, 0x3C, 0x0F, 0x03, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xC0, 0xF0, 0x3C, 0x0F, 0x03, 0xC0, 0xF0, 0x3C, 0x0F,
0x03, 0xC0, 0xF0, 0x3C, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xF0, 0x3C, 0x0F, 0x03, 0xC0, 0xF0, 0x3C, 0x0F, 0x03,
0xC0, 0xF0, 0x3C, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0xC0, 0xF0,
0x3C, 0x0F, 0x03, 0xC0, 0xF0, 0x3C, 0x0F, 0x03, 0xC0, 0xF0, 0x3C, 0x0F,
0x03, 0xC0, 0xF0, 0x3C, 0x00, 0x0F, 0xE0, 0x7F, 0xC3, 0xFF, 0x9F, 0xFE,
0x7C, 0x7D, 0xE0, 0xFF, 0x83, 0xFE, 0x0F, 0xF8, 0x3F, 0xE0, 0xFF, 0x83,
0xFE, 0x0F, 0xF8, 0x03, 0xE0, 0x0F, 0x80, 0x3E, 0x00, 0xF9, 0xFF, 0xE7,
0xFF, 0x9F, 0xFE, 0x0F, 0xF8, 0x3F, 0xE0, 0xFF, 0x83, 0xFE, 0x0F, 0xF8,
0x3F, 0xE0, 0xFF, 0x83, 0xFE, 0x0F, 0x78, 0x3D, 0xE1, 0xF7, 0xEF, 0xCF,
0xFF, 0x3F, 0xEC, 0x3F, 0x30, 0xF0, 0x7F, 0xC1, 0xFF, 0x07, 0xFC, 0x1F,
0xF0, 0x7F, 0xC1, 0xFF, 0x07, 0xFC, 0x1F, 0xF0, 0x7F, 0xC1, 0xFF, 0x07,
0xFC, 0x1F, 0xF0, 0x7F, 0xC1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0x07, 0xFC, 0x1F, 0xF0, 0x7F, 0xC1, 0xFF, 0x07, 0xFC, 0x1F, 0xF0,
0x7F, 0xC1, 0xFF, 0x07, 0xFC, 0x1F, 0xF0, 0x7F, 0xC1, 0xFF, 0x07, 0xFC,
0x1F, 0xF0, 0x7F, 0xC1, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xF8,
0x07, 0xC0, 0x3E, 0x01, 0xF0, 0x0F, 0x80, 0x7C, 0x03, 0xE0, 0x1F, 0x00,
0xF8, 0x07, 0xC0, 0x3E, 0x01, 0xF0, 0x0F, 0x80, 0x7C, 0x03, 0xE0, 0x1F,
0x00, 0xF8, 0x07, 0xC0, 0x3E, 0x01, 0xF0, 0x0F, 0xF8, 0x7F, 0xC3, 0xFE,
0x1F, 0xF0, 0xFF, 0x87, 0xFC, 0x3F, 0xE1, 0xEF, 0x0F, 0x78, 0x7B, 0xF7,
0xCF, 0xFC, 0x7F, 0xE1, 0xFE, 0x00, 0xF0, 0x3D, 0xE0, 0xFB, 0xC1, 0xE7,
0x83, 0xCF, 0x0F, 0x9E, 0x1E, 0x3C, 0x3C, 0x78, 0xF8, 0xF1, 0xE1, 0xE7,
0xC3, 0xCF, 0x87, 0x9E, 0x0F, 0x7C, 0x1E, 0xF8, 0x3D, 0xE0, 0x7F, 0xC0,
0xFF, 0x01, 0xFE, 0x03, 0xFE, 0x07, 0xBC, 0x0F, 0x7C, 0x1E, 0xF8, 0x3C,
0xF0, 0x79, 0xF0, 0xF1, 0xE1, 0xE3, 0xC3, 0xC7, 0xC7, 0x87, 0x8F, 0x0F,
0x9E, 0x1F, 0x3C, 0x1E, 0x78, 0x3E, 0xF0, 0x7D, 0xE0, 0x7C, 0xF0, 0x3C,
0x0F, 0x03, 0xC0, 0xF0, 0x3C, 0x0F, 0x03, 0xC0, 0xF0, 0x3C, 0x0F, 0x03,
0xC0, 0xF0, 0x3C, 0x0F, 0x03, 0xC0, 0xF0, 0x3C, 0x0F, 0x03, 0xC0, 0xF0,
0x3C, 0x0F, 0x03, 0xC0, 0xF0, 0x3C, 0x0F, 0x03, 0xC0, 0xF0, 0x3C, 0x0F,
0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xF8, 0x01, 0xFF, 0x80, 0x1F, 0xF8, 0x03,
0xFF, 0xC0, 0x3F, 0xFC, 0x03, 0xFF, 0xC0, 0x3F, 0xFC, 0x03, 0xFF, 0xC0,
0x7F, 0xFE, 0x07, 0xFF, 0xE0, 0x7F, 0xFE, 0x07, 0xFE, 0xE0, 0x7F, 0xEE,
0x0F, 0xFE, 0xF0, 0xFF, 0xEF, 0x0E, 0xFE, 0x70, 0xEF, 0xE7, 0x0E, 0xFE,
0x70, 0xEF, 0xE7, 0x1E, 0xFE, 0x79, 0xCF, 0xE3, 0x9C, 0xFF, 0x39, 0xCF,
0xF3, 0x9C, 0xFF, 0x3B, 0xCF, 0xF3, 0xF8, 0xFF, 0x1F, 0x8F, 0xF1, 0xF8,
0xFF, 0x1F, 0x8F, 0xF1, 0xF8, 0xFF, 0x1F, 0x8F, 0xF0, 0xF0, 0xFF, 0x0F,
0x0F, 0xF0, 0xF0, 0xFF, 0x0F, 0x0F, 0xE0, 0x3F, 0x80, 0xFF, 0x03, 0xFC,
0x0F, 0xF8, 0x3F, 0xE0, 0xFF, 0x83, 0xFF, 0x0F, 0xFC, 0x3F, 0xF0, 0xFF,
0xE3, 0xFF, 0x8F, 0xFE, 0x3F, 0xFC, 0xFF, 0xF3, 0xFD, 0xCF, 0xF7, 0xBF,
0xDE, 0xFF, 0x3B, 0xFC, 0xFF, 0xF3, 0xDF, 0xC7, 0x7F, 0x1F, 0xFC, 0x7F,
0xF0, 0xFF, 0xC3, 0xFF, 0x0F, 0xFC, 0x1F, 0xF0, 0x7F, 0xC1, 0xFF, 0x03,
0xFC, 0x0F, 0xF0, 0x3F, 0xC0, 0x70, 0x0F, 0xE0, 0x7F, 0xC3, 0xFF, 0x9F,
0xFE, 0x7C, 0x7D, 0xE1, 0xFF, 0x83, 0xFE, 0x0F, 0xF8, 0x3F, 0xE0, 0xFF,
0x83, 0xFE, 0x0F, 0xF8, 0x3F, 0xE0, 0xFF, 0x83, 0xFE, 0x0F, 0xF8, 0x3F,
0xE0, 0xFF, 0x83, 0xFE, 0x0F, 0xF8, 0x3F, 0xE0, 0xFF, 0x83, 0xFE, 0x0F,
0xF8, 0x3F, 0xE0, 0xFF, 0x83, 0xFE, 0x0F, 0x78, 0x7D, 0xE1, 0xF7, 0xFF,
0x8F, 0xFE, 0x3F, 0xF0, 0x3F, 0x80, 0xFF, 0x87, 0xFF, 0x3F, 0xFD, 0xFF,
0xEF, 0x0F, 0xF8, 0x3F, 0xC1, 0xFE, 0x0F, 0xF0, 0x7F, 0x83, 0xFC, 0x1F,
0xE0, 0xFF, 0x07, 0xF8, 0x3F, 0xC1, 0xFE, 0x1F, 0xF0, 0xFF, 0xFF, 0xBF,
0xFD, 0xFF, 0xCF, 0xF8, 0x78, 0x03, 0xC0, 0x1E, 0x00, 0xF0, 0x07, 0x80,
0x3C, 0x01, 0xE0, 0x0F, 0x00, 0x78, 0x03, 0xC0, 0x1E, 0x00, 0xF0, 0x07,
0x80, 0x00, 0x0F, 0xE0, 0x7F, 0xC3, 0xFF, 0x9F, 0xFE, 0x7C, 0x7D, 0xE1,
0xFF, 0x83, 0xFE, 0x0F, 0xF8, 0x3F, 0xE0, 0xFF, 0x83, 0xFE, 0x0F, 0xF8,
0x3F, 0xE0, 0xFF, 0x83, 0xFE, 0x0F, 0xF8, 0x3F, 0xE0, 0xFF, 0x83, 0xFE,
0x0F, 0xF8, 0x3F, 0xE0, 0xFF, 0x83, 0xFE, 0x0F, 0xF8, 0x3F, 0xE0, 0xFF,
0x83, 0xFE, 0x0F, 0x78, 0x7D, 0xE1, 0xF7, 0xFF, 0x8F, 0xFE, 0x3F, 0xF0,
0x3F, 0x80, 0x1E, 0x00, 0x3C, 0x00, 0x78, 0x01, 0xE0, 0x03, 0x00, 0xFF,
0x83, 0xFF, 0x8F, 0xFF, 0x3F, 0xFE, 0xF0, 0xFB, 0xC1, 0xEF, 0x07, 0xBC,
0x1E, 0xF0, 0x7B, 0xC1, 0xEF, 0x07, 0xBC, 0x1E, 0xF0, 0x7B, 0xC3, 0xEF,
0x1F, 0x3F, 0xFC, 0xFF, 0xE3, 0xFF, 0xCF, 0x0F, 0xBC, 0x1E, 0xF0, 0x7B,
0xC1, 0xEF, 0x07, 0xBC, 0x1E, 0xF0, 0x7B, 0xC1, 0xEF, 0x07, 0xBC, 0x1E,
0xF0, 0x7B, 0xC1, 0xEF, 0x07, 0xBC, 0x1E, 0xF0, 0x7B, 0xC1, 0xF0, 0x0F,
0xC0, 0xFF, 0xC3, 0xFF, 0x1F, 0xFE, 0x78, 0x79, 0xE1, 0xEF, 0x87, 0xBE,
0x1F, 0xF8, 0x7D, 0xE1, 0xF7, 0x87, 0xDF, 0x1F, 0x7E, 0x00, 0xFC, 0x01,
0xF8, 0x03, 0xF0, 0x0F, 0xE0, 0x1F, 0x80, 0x3F, 0x00, 0x7E, 0x00, 0xF9,
0xE1, 0xF7, 0x87, 0xDE, 0x0F, 0x78, 0x3D, 0xE0, 0xF7, 0x83, 0xDE, 0x0F,
0x78, 0x3D, 0xE1, 0xF7, 0xEF, 0x8F, 0xFE, 0x3F, 0xF0, 0x3F, 0x80, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x80, 0xF8, 0x0F, 0x80, 0xF8, 0x0F,
0x80, 0xF8, 0x0F, 0x80, 0xF8, 0x0F, 0x80, 0xF8, 0x0F, 0x80, 0xF8, 0x0F,
0x80, 0xF8, 0x0F, 0x80, 0xF8, 0x0F, 0x80, 0xF8, 0x0F, 0x80, 0xF8, 0x0F,
0x80, 0xF8, 0x0F, 0x80, 0xF8, 0x0F, 0x80, 0xF8, 0x0F, 0x80, 0xF8, 0x0F,
0x80, 0xF8, 0xF8, 0x3F, 0xE0, 0xFF, 0x83, 0xFE, 0x0F, 0xF8, 0x3F, 0xE0,
0xFF, 0x83, 0xFE, 0x0F, 0xF8, 0x3F, 0xE0, 0xFF, 0x83, 0xFE, 0x0F, 0xF8,
0x3F, 0xE0, 0xFF, 0x83, 0xFE, 0x0F, 0xF8, 0x3F, 0xE0, 0xFF, 0x83, 0xFE,
0x0F, 0xF8, 0x3F, 0xE0, 0xFF, 0x83, 0xFE, 0x0F, 0xF8, 0x3F, 0xE0, 0xFF,
0x83, 0xFE, 0x0F, 0x78, 0x3D, 0xE1, 0xF7, 0xEF, 0xCF, 0xFE, 0x3F, 0xF8,
0x7F, 0x80, 0xF0, 0x1F, 0xF0, 0x1E, 0xF0, 0x1E, 0xF0, 0x1E, 0xF8, 0x1E,
0x78, 0x1E, 0x78, 0x1E, 0x78, 0x3C, 0x78, 0x3C, 0x78, 0x3C, 0x7C, 0x3C,
0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x3C, 0x78, 0x3C, 0x78, 0x3C, 0x78,
0x1E, 0x78, 0x1E, 0x78, 0x1E, 0x78, 0x1E, 0x78, 0x1E, 0x70, 0x1E, 0xF0,
0x0E, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xE0,
0x0F, 0xE0, 0x07, 0xE0, 0x07, 0xE0, 0x07, 0xE0, 0x07, 0xE0, 0xF0, 0x3C,
0x0F, 0xF0, 0x3C, 0x0F, 0xF0, 0x3C, 0x0F, 0xF0, 0x3C, 0x1E, 0xF0, 0x3C,
0x1E, 0x78, 0x3E, 0x1E, 0x78, 0x7E, 0x1E, 0x78, 0x7E, 0x1E, 0x78, 0x7E,
0x1E, 0x78, 0x7E, 0x1E, 0x78, 0x7E, 0x1E, 0x78, 0x7E, 0x1E, 0x38, 0x7F,
0x1C, 0x38, 0xF7, 0x1C, 0x3C, 0xF7, 0x3C, 0x3C, 0xE7, 0x3C, 0x3C, 0xE7,
0x3C, 0x3C, 0xE7, 0x3C, 0x3C, 0xE7, 0x3C, 0x3C, 0xE7, 0xBC, 0x1D, 0xE3,
0xB8, 0x1D, 0xC3, 0xB8, 0x1D, 0xC3, 0xB8, 0x1F, 0xC3, 0xB8, 0x1F, 0xC3,
0xB8, 0x1F, 0xC3, 0xF8, 0x1F, 0xC3, 0xF8, 0x1F, 0xC1, 0xF8, 0x0F, 0x81,
0xF8, 0x0F, 0x81, 0xF0, 0x0F, 0x81, 0xF0, 0x0F, 0x81, 0xF0, 0x0F, 0x81,
0xF0, 0x0F, 0x81, 0xF0, 0xF0, 0x3F, 0xC0, 0xF7, 0x07, 0x9E, 0x1E, 0x78,
0x78, 0xE3, 0xE3, 0xCF, 0x0F, 0x3C, 0x3C, 0xF0, 0x7F, 0x81, 0xFE, 0x07,
0xF8, 0x0F, 0xE0, 0x3F, 0x00, 0xFC, 0x01, 0xF0, 0x07, 0x80, 0x3E, 0x00,
0xF8, 0x03, 0xF0, 0x0F, 0xC0, 0x7F, 0x01, 0xFE, 0x07, 0xF8, 0x3F, 0xE0,
0xF3, 0xC3, 0xCF, 0x0F, 0x3C, 0x78, 0x71, 0xE1, 0xE7, 0x87, 0x9E, 0x0E,
0xF0, 0x3F, 0xC0, 0xF0, 0xF8, 0x0F, 0x78, 0x1F, 0x78, 0x1E, 0x7C, 0x1E,
0x3C, 0x1E, 0x3C, 0x3E, 0x3C, 0x3C, 0x3E, 0x3C, 0x1E, 0x3C, 0x1E, 0x78,
0x1E, 0x78, 0x0F, 0x78, 0x0F, 0x78, 0x0F, 0xF0, 0x0F, 0xF0, 0x07, 0xF0,
0x07, 0xF0, 0x07, 0xE0, 0x03, 0xE0, 0x03, 0xE0, 0x03, 0xE0, 0x03, 0xE0,
0x03, 0xE0, 0x03, 0xE0, 0x03, 0xE0, 0x03, 0xE0, 0x03, 0xE0, 0x03, 0xE0,
0x03, 0xE0, 0x03, 0xE0, 0x03, 0xE0, 0x03, 0xE0, 0x03, 0xE0, 0x03, 0xE0,
0x7F, 0xF7, 0xFF, 0x7F, 0xF7, 0xFF, 0x01, 0xF0, 0x1E, 0x01, 0xE0, 0x3E,
0x03, 0xE0, 0x3C, 0x07, 0xC0, 0x7C, 0x07, 0xC0, 0x78, 0x0F, 0x80, 0xF8,
0x0F, 0x80, 0xF0, 0x1F, 0x01, 0xF0, 0x1E, 0x01, 0xE0, 0x3E, 0x03, 0xE0,
0x3C, 0x07, 0xC0, 0x7C, 0x07, 0xC0, 0x78, 0x0F, 0x80, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0,
0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0,
0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xFF,
0xFF, 0xFF, 0xF0, 0x1E, 0x03, 0xC0, 0x78, 0x07, 0x00, 0xF0, 0x1E, 0x03,
0xC0, 0x78, 0x07, 0x80, 0xF0, 0x1E, 0x03, 0xC0, 0x3C, 0x07, 0x80, 0xF0,
0x1E, 0x01, 0xC0, 0x3C, 0x07, 0x80, 0xF0, 0x0E, 0x01, 0xE0, 0x3C, 0x07,
0x80, 0xF0, 0x0F, 0x01, 0xE0, 0x3C, 0x07, 0x80, 0x78, 0x0F, 0x01, 0xE0,
0x3C, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F,
0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F,
0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0xFF, 0xFF, 0xFF,
0x0F, 0xC0, 0x1F, 0x80, 0x3F, 0x80, 0x7F, 0x01, 0xFE, 0x03, 0xDC, 0x07,
0xBC, 0x0E, 0x78, 0x3C, 0xF0, 0x79, 0xE0, 0xF1, 0xE1, 0xE3, 0xC7, 0x87,
0x8F, 0x0F, 0x1E, 0x0F, 0x3C, 0x1E, 0xF8, 0x3D, 0xE0, 0x7C, 0xFF, 0xFF,
0xFF, 0xFF, 0xF0, 0xF9, 0xE7, 0x8E, 0x38, 0x71, 0xC3, 0x0F, 0xC0, 0xFF,
0xC3, 0xFF, 0x1F, 0xFE, 0x78, 0x79, 0xE1, 0xEF, 0x87, 0xBE, 0x1E, 0xF8,
0x7C, 0x01, 0xF0, 0x07, 0xC0, 0x7F, 0x0F, 0xFC, 0x7F, 0xF3, 0xE7, 0xDE,
0x1F, 0xF8, 0x7F, 0xE1, 0xFF, 0x87, 0xFE, 0x1F, 0xF8, 0x7F, 0xE1, 0xFF,
0x87, 0xFE, 0x1F, 0xF8, 0x7D, 0xE3, 0xF7, 0xFF, 0xDF, 0xFF, 0x3F, 0x7C,
0xF0, 0x07, 0x80, 0x3C, 0x01, 0xE0, 0x0F, 0x00, 0x79, 0xE3, 0xDF, 0x9F,
0xFE, 0xFF, 0xFF, 0xC7, 0xFC, 0x1F, 0xE0, 0xFF, 0x07, 0xF8, 0x3F, 0xC1,
0xFE, 0x0F, 0xF0, 0x7F, 0x83, 0xFC, 0x1F, 0xE0, 0xFF, 0x07, 0xF8, 0x3F,
0xC1, 0xFE, 0x0F, 0xF0, 0x7F, 0x83, 0xFC, 0x1F, 0xE0, 0xFF, 0x07, 0xFC,
0x7F, 0xF7, 0xFF, 0xFE, 0xF7, 0xF7, 0x9F, 0x00, 0x0F, 0xC1, 0xFF, 0x8F,
0xFC, 0xFF, 0xF7, 0x87, 0xBC, 0x3F, 0xE1, 0xFF, 0x0F, 0xF8, 0x7F, 0xC3,
0xFE, 0x1F, 0xF0, 0x0F, 0x80, 0x7C, 0x03, 0xE0, 0x1F, 0x00, 0xF8, 0x07,
0xC0, 0x3E, 0x1F, 0xF0, 0xFF, 0x87, 0xFC, 0x3F, 0xE1, 0xEF, 0x0F, 0x78,
0x7B, 0xE7, 0xDF, 0xFC, 0x7F, 0xE1, 0xFE, 0x00, 0x00, 0x7C, 0x01, 0xF0,
0x07, 0xC0, 0x1F, 0x00, 0x7C, 0x7D, 0xF3, 0xFF, 0xDF, 0xFF, 0x7F, 0xFD,
0xE1, 0xFF, 0x87, 0xFE, 0x1F, 0xF8, 0x7F, 0xE1, 0xFF, 0x87, 0xFE, 0x1F,
0xF8, 0x7F, 0xE1, 0xFF, 0x87, 0xFE, 0x1F, 0xF8, 0x7F, 0xE1, 0xFF, 0x87,
0xFE, 0x1F, 0xF8, 0x7F, 0xE1, 0xFF, 0x87, 0xFE, 0x1F, 0xF8, 0x7D, 0xE1,
0xF7, 0xDF, 0xDF, 0xFF, 0x3F, 0xFC, 0x7D, 0xF0, 0x0F, 0xC0, 0x7F, 0xC3,
0xFF, 0x1F, 0xFE, 0x78, 0x79, 0xE1, 0xEF, 0x87, 0xBE, 0x1E, 0xF8, 0x7B,
0xE1, 0xFF, 0x87, 0xFE, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x00,
0xF8, 0x03, 0xE0, 0x0F, 0x87, 0xBE, 0x1E, 0xF8, 0x7B, 0xE1, 0xEF, 0x87,
0x9E, 0x1E, 0x78, 0x79, 0xF3, 0xE7, 0xFF, 0x0F, 0xFC, 0x1F, 0xE0, 0x07,
0xC3, 0xF1, 0xFC, 0x7C, 0x1E, 0x07, 0x8F, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1,
0xE0, 0x78, 0x1E, 0x07, 0x81, 0xE0, 0x78, 0x1E, 0x07, 0x81, 0xE0, 0x78,
0x1E, 0x07, 0x81, 0xE0, 0x78, 0x1E, 0x07, 0x81, 0xE0, 0x78, 0x1E, 0x07,
0x81, 0xE0, 0x78, 0x1E, 0x07, 0x80, 0x1F, 0x7C, 0xFF, 0xF7, 0xFF, 0xDF,
0xFF, 0x78, 0x7D, 0xE1, 0xFF, 0x87, 0xFE, 0x1F, 0xF8, 0x7F, 0xE1, 0xFF,
0x87, 0xFE, 0x1F, 0xF8, 0x7F, 0xE1, 0xFF, 0x87, 0xFE, 0x1F, 0xF8, 0x7F,
0xE1, 0xFF, 0x87, 0xFE, 0x1F, 0xF8, 0x7D, 0xE1, 0xF7, 0xCF, 0xDF, 0xFF,
0x3F, 0xFC, 0x7D, 0xF0, 0x07, 0xC0, 0x1F, 0x00, 0x79, 0xC3, 0xE7, 0xFF,
0xBF, 0xFC, 0x3F, 0xC0, 0xF0, 0x07, 0x80, 0x3C, 0x01, 0xE0, 0x0F, 0x00,
0x79, 0xF3, 0xDF, 0xDF, 0xFF, 0xFF, 0xFF, 0xC3, 0xFC, 0x1F, 0xE0, 0xFF,
0x07, 0xF8, 0x3F, 0xC1, 0xFE, 0x0F, 0xF0, 0x7F, 0x83, 0xFC, 0x1F, 0xE0,
0xFF, 0x07, 0xF8, 0x3F, 0xC1, 0xFE, 0x0F, 0xF0, 0x7F, 0x83, 0xFC, 0x1F,
0xE0, 0xFF, 0x07, 0xF8, 0x3F, 0xC1, 0xFE, 0x0F, 0xF0, 0x7F, 0x83, 0xC0,
0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x3C, 0x78, 0xF1, 0xE0, 0x00, 0x0F,
0x9F, 0x3E, 0x7C, 0xF9, 0xF3, 0xE7, 0xCF, 0x9F, 0x3E, 0x7C, 0xF9, 0xF3,
0xE7, 0xCF, 0x9F, 0x3E, 0x7C, 0xF9, 0xF3, 0xE7, 0xCF, 0x9F, 0x3E, 0x7C,
0xF9, 0xFF, 0xDF, 0xBE, 0x00, 0xF0, 0x03, 0xC0, 0x0F, 0x00, 0x3C, 0x00,
0xF0, 0x03, 0xC1, 0xFF, 0x07, 0xBC, 0x1E, 0xF0, 0xFB, 0xC3, 0xCF, 0x1F,
0x3C, 0x78, 0xF1, 0xE3, 0xCF, 0x8F, 0x3C, 0x3D, 0xF0, 0xF7, 0x83, 0xDE,
0x0F, 0xF8, 0x3F, 0xC0, 0xFF, 0x83, 0xDE, 0x0F, 0x78, 0x3D, 0xF0, 0xF3,
0xC3, 0xCF, 0x8F, 0x1E, 0x3C, 0x7C, 0xF0, 0xF3, 0xC3, 0xCF, 0x0F, 0xBC,
0x1E, 0xF0, 0x7F, 0xC0, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0xE1,
0xF3, 0xDF, 0xCF, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xFC, 0x3F,
0xC1, 0xE0, 0xFF, 0x07, 0x83, 0xFC, 0x1E, 0x0F, 0xF0, 0x78, 0x3F, 0xC1,
0xE0, 0xFF, 0x07, 0x83, 0xFC, 0x1E, 0x0F, 0xF0, 0x78, 0x3F, 0xC1, 0xE0,
0xFF, 0x07, 0x83, 0xFC, 0x1E, 0x0F, 0xF0, 0x78, 0x3F, 0xC1, 0xE0, 0xFF,
0x07, 0x83, 0xFC, 0x1E, 0x0F, 0xF0, 0x78, 0x3F, 0xC1, 0xE0, 0xFF, 0x07,
0x83, 0xFC, 0x1E, 0x0F, 0xF0, 0x78, 0x3F, 0xC1, 0xE0, 0xFF, 0x07, 0x83,
0xFC, 0x1E, 0x0F, 0xF0, 0x78, 0x3C, 0xF3, 0xE7, 0xBF, 0xBF, 0xFF, 0xFF,
0xFF, 0x87, 0xF8, 0x3F, 0xC1, 0xFE, 0x0F, 0xF0, 0x7F, 0x83, 0xFC, 0x1F,
0xE0, 0xFF, 0x07, 0xF8, 0x3F, 0xC1, 0xFE, 0x0F, 0xF0, 0x7F, 0x83, 0xFC,
0x1F, 0xE0, 0xFF, 0x07, 0xF8, 0x3F, 0xC1, 0xFE, 0x0F, 0xF0, 0x7F, 0x83,
0xFC, 0x1F, 0xE0, 0xFF, 0x07, 0x80, 0x0F, 0xC0, 0x7F, 0x83, 0xFF, 0x1F,
0xFE, 0x78, 0x79, 0xE1, 0xEF, 0x87, 0xBE, 0x1F, 0xF8, 0x7F, 0xE1, 0xFF,
0x87, 0xFE, 0x1F, 0xF8, 0x7F, 0xE1, 0xFF, 0x87, 0xFE, 0x1F, 0xF8, 0x7F,
0xE1, 0xFF, 0x87, 0xFE, 0x1F, 0xF8, 0x7F, 0xE1, 0xFF, 0x87, 0xDE, 0x1E,
0x78, 0x79, 0xF3, 0xE7, 0xFF, 0x0F, 0xFC, 0x1F, 0xE0, 0xF3, 0xC7, 0xBF,
0xBF, 0xFD, 0xFF, 0xFF, 0x8F, 0xF8, 0x7F, 0xC1, 0xFE, 0x0F, 0xF0, 0x7F,
0x83, 0xFC, 0x1F, 0xE0, 0xFF, 0x07, 0xF8, 0x3F, 0xC1, 0xFE, 0x0F, 0xF0,
0x7F, 0x83, 0xFC, 0x1F, 0xE0, 0xFF, 0x07, 0xF8, 0x3F, 0xC1, 0xFE, 0x0F,
0xF8, 0xFF, 0xEF, 0xFF, 0xFD, 0xFF, 0xEF, 0x7E, 0x78, 0x03, 0xC0, 0x1E,
0x00, 0xF0, 0x07, 0x80, 0x00, 0x1E, 0x7C, 0xFF, 0xF7, 0xFF, 0xDF, 0xFF,
0x78, 0x7F, 0xE1, 0xFF, 0x87, 0xFE, 0x1F, 0xF8, 0x7F, 0xE1, 0xFF, 0x87,
0xFE, 0x1F, 0xF8, 0x7F, 0xE1, 0xFF, 0x87, 0xFE, 0x1F, 0xF8, 0x7F, 0xE1,
0xFF, 0x87, 0xFE, 0x1F, 0xF8, 0x7F, 0xE1, 0xFF, 0x87, 0xFE, 0x1F, 0x78,
0x7D, 0xF7, 0xF7, 0xFF, 0xCF, 0xFF, 0x1F, 0x7C, 0x01, 0xF0, 0x07, 0xC0,
0x1F, 0x00, 0x7C, 0x01, 0xF0, 0xF3, 0xFB, 0xFF, 0xFF, 0xFF, 0xC7, 0x83,
0xC1, 0xE0, 0xF0, 0x78, 0x3C, 0x1E, 0x0F, 0x07, 0x83, 0xC1, 0xE0, 0xF0,
0x78, 0x3C, 0x1E, 0x0F, 0x07, 0x83, 0xC1, 0xE0, 0xF0, 0x78, 0x3C, 0x1E,
0x0F, 0x00, 0x1F, 0x83, 0xFE, 0x1F, 0xF9, 0xFF, 0xCF, 0x0F, 0x78, 0x7B,
0xC3, 0xDE, 0x1E, 0xF0, 0xF7, 0xC7, 0xBE, 0x00, 0xF8, 0x07, 0xE0, 0x1F,
0x80, 0x7E, 0x01, 0xF8, 0x07, 0xE0, 0x1F, 0x80, 0x7D, 0xE1, 0xEF, 0x0F,
0xF8, 0x7F, 0xC3, 0xFE, 0x1F, 0xF0, 0xF7, 0xEF, 0x9F, 0xFC, 0xFF, 0xC1,
0xFC, 0x00, 0x3E, 0x0F, 0x83, 0xE0, 0xF8, 0x3E, 0x0F, 0x8F, 0xFF, 0xFF,
0xFF, 0xCF, 0x83, 0xE0, 0xF8, 0x3E, 0x0F, 0x83, 0xE0, 0xF8, 0x3E, 0x0F,
0x83, 0xE0, 0xF8, 0x3E, 0x0F, 0x83, 0xE0, 0xF8, 0x3E, 0x0F, 0x83, 0xE0,
0xF8, 0x3E, 0x0F, 0x83, 0xF0, 0xFF, 0x1F, 0xC3, 0xF0, 0xF8, 0x3F, 0xE0,
0xFF, 0x83, 0xFE, 0x0F, 0xF8, 0x3F, 0xE0, 0xFF, 0x83, 0xFE, 0x0F, 0xF8,
0x3F, 0xE0, 0xFF, 0x83, 0xFE, 0x0F, 0xF8, 0x3F, 0xE0, 0xFF, 0x83, 0xFE,
0x0F, 0xF8, 0x3F, 0xE0, 0xFF, 0x83, 0xFE, 0x0F, 0xF8, 0x3F, 0xE0, 0xFF,
0x83, 0xFE, 0x0F, 0x78, 0x7D, 0xF3, 0xF7, 0xFF, 0xCF, 0xEF, 0x1F, 0x3C,
0xF0, 0x7F, 0xC1, 0xEF, 0x07, 0xBC, 0x1E, 0x78, 0x79, 0xE1, 0xE7, 0x87,
0x9E, 0x1C, 0x78, 0x71, 0xE3, 0xC7, 0x8F, 0x0E, 0x3C, 0x3C, 0xF0, 0xF3,
0xC3, 0xCE, 0x0F, 0x38, 0x3C, 0xE0, 0xF3, 0x81, 0xDE, 0x07, 0x78, 0x1F,
0xE0, 0x7F, 0x01, 0xFC, 0x07, 0xF0, 0x1F, 0xC0, 0x3F, 0x00, 0xFC, 0x03,
0xF0, 0x0F, 0x80, 0xF0, 0x78, 0x7F, 0x87, 0xC3, 0xFC, 0x3E, 0x1F, 0xE1,
0xF0, 0xF7, 0x0F, 0x87, 0xB8, 0x7C, 0x39, 0xC3, 0xE1, 0xCE, 0x1F, 0x8E,
0x79, 0xDC, 0x73, 0xCE, 0xE7, 0x9E, 0x77, 0x3C, 0xF3, 0xB9, 0xE3, 0x9D,
0xCF, 0x1C, 0xE6, 0x70, 0xE7, 0x3B, 0x87, 0x71, 0xDC, 0x3B, 0x8E, 0xE1,
0xDC, 0x77, 0x0F, 0xE3, 0xB8, 0x7F, 0x1D, 0xC3, 0xF8, 0xFE, 0x0F, 0x83,
0xE0, 0x7C, 0x1F, 0x03, 0xE0, 0xF8, 0x1F, 0x07, 0xC0, 0xF8, 0x3E, 0x07,
0xC1, 0xF0, 0x3E, 0x0F, 0x81, 0xE0, 0x7C, 0x00, 0xF0, 0x7B, 0xC1, 0xE7,
0x87, 0x9E, 0x3C, 0x78, 0xF0, 0xF3, 0xC3, 0xCE, 0x0F, 0x78, 0x1F, 0xE0,
0x7F, 0x01, 0xFC, 0x03, 0xF0, 0x0F, 0x80, 0x3E, 0x00, 0xF8, 0x03, 0xE0,
0x0F, 0x80, 0x7F, 0x01, 0xFC, 0x07, 0xF0, 0x3D, 0xE0, 0xF7, 0x83, 0xDE,
0x1E, 0x3C, 0x78, 0xF1, 0xE3, 0xCF, 0x07, 0xBC, 0x1E, 0xF0, 0x7C, 0xF0,
0x3F, 0xC0, 0xFF, 0x07, 0xFE, 0x1E, 0x78, 0x79, 0xE1, 0xE7, 0x87, 0x9E,
0x1E, 0x78, 0x79, 0xE1, 0xC3, 0x87, 0x0F, 0x3C, 0x3C, 0xF0, 0xF3, 0xC3,
0xCF, 0x0F, 0x3C, 0x1C, 0xE0, 0x73, 0x81, 0xCE, 0x07, 0xB8, 0x1F, 0xE0,
0x7F, 0x80, 0xFC, 0x03, 0xF0, 0x0F, 0xC0, 0x3F, 0x00, 0xFC, 0x03, 0xF0,
0x07, 0x80, 0x1E, 0x00, 0xF8, 0x1F, 0xE0, 0x7F, 0x01, 0xFC, 0x00, 0x7F,
0xEF, 0xFD, 0xFF, 0xBF, 0xF0, 0x1E, 0x07, 0xC0, 0xF0, 0x1E, 0x07, 0xC0,
0xF0, 0x1E, 0x03, 0xC0, 0xF8, 0x1E, 0x03, 0xC0, 0xF8, 0x1E, 0x03, 0xC0,
0xF8, 0x1F, 0x03, 0xC0, 0x78, 0x1F, 0x03, 0xC0, 0x78, 0x1F, 0xFF, 0xFF,
0xFF, 0xFF, 0xFE, 0x07, 0xC3, 0xF1, 0xFC, 0x7E, 0x1E, 0x07, 0x81, 0xE0,
0x78, 0x1E, 0x07, 0x81, 0xE0, 0x78, 0x1E, 0x07, 0x81, 0xE0, 0xF8, 0x7E,
0x3F, 0x0F, 0x83, 0xF0, 0xFE, 0x0F, 0x81, 0xE0, 0x78, 0x1E, 0x07, 0x81,
0xE0, 0x78, 0x1E, 0x07, 0x81, 0xE0, 0x78, 0x1E, 0x07, 0xC1, 0xFC, 0x3F,
0x07, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xF8, 0x3F, 0x0F,
0xC1, 0xF8, 0x3E, 0x07, 0x81, 0xE0, 0x78, 0x1E, 0x07, 0x81, 0xE0, 0x78,
0x1E, 0x07, 0x81, 0xE0, 0x78, 0x1F, 0x83, 0xF0, 0x7C, 0x3F, 0x1F, 0xC7,
0x81, 0xE0, 0x78, 0x1E, 0x07, 0x81, 0xE0, 0x78, 0x1E, 0x07, 0x81, 0xE0,
0x78, 0x3E, 0x0F, 0x8F, 0xC3, 0xF0, 0xF8, 0x00, 0x1E, 0x07, 0x9F, 0xF3,
0xDF, 0xFF, 0xDF, 0xFF, 0xEF, 0xFF, 0xE1, 0x03, 0xE0};
const GFXglyph Antonio_SemiBold20pt7bGlyphs[] PROGMEM = {
{0, 1, 1, 8, 0, 0}, // 0x20 ' '
{1, 4, 34, 10, 3, -33}, // 0x21 '!'
{18, 5, 13, 16, 6, -33}, // 0x22 '"'
{27, 17, 34, 20, 2, -33}, // 0x23 '#'
{100, 13, 39, 16, 2, -33}, // 0x24 '$'
{164, 36, 34, 42, 3, -33}, // 0x25 '%'
{317, 18, 34, 19, 1, -33}, // 0x26 '&'
{394, 4, 12, 8, 2, -33}, // 0x27 '''
{400, 7, 38, 11, 3, -33}, // 0x28 '('
{434, 7, 38, 11, 2, -33}, // 0x29 ')'
{468, 14, 15, 17, 2, -32}, // 0x2A '*'
{495, 12, 12, 14, 1, -20}, // 0x2B '+'
{513, 5, 12, 9, 2, -4}, // 0x2C ','
{521, 9, 3, 13, 2, -16}, // 0x2D '-'
{525, 4, 4, 10, 3, -3}, // 0x2E '.'
{527, 13, 34, 15, 1, -33}, // 0x2F '/'
{583, 13, 34, 18, 2, -33}, // 0x30 '0'
{639, 9, 34, 15, 2, -33}, // 0x31 '1'
{678, 13, 34, 17, 3, -33}, // 0x32 '2'
{734, 14, 34, 17, 2, -33}, // 0x33 '3'
{794, 14, 34, 17, 2, -33}, // 0x34 '4'
{854, 12, 34, 17, 3, -33}, // 0x35 '5'
{905, 14, 34, 17, 2, -33}, // 0x36 '6'
{965, 14, 34, 17, 2, -33}, // 0x37 '7'
{1025, 13, 34, 17, 2, -33}, // 0x38 '8'
{1081, 13, 34, 17, 2, -33}, // 0x39 '9'
{1137, 4, 20, 10, 3, -24}, // 0x3A ':'
{1147, 5, 27, 11, 3, -24}, // 0x3B ';'
{1164, 11, 19, 14, 1, -23}, // 0x3C '<'
{1191, 10, 9, 14, 2, -19}, // 0x3D '='
{1203, 11, 19, 14, 2, -23}, // 0x3E '>'
{1230, 12, 34, 17, 3, -33}, // 0x3F '?'
{1281, 25, 35, 29, 2, -33}, // 0x40 '@'
{1391, 16, 34, 18, 1, -33}, // 0x41 'A'
{1459, 14, 34, 18, 3, -33}, // 0x42 'B'
{1519, 14, 34, 18, 2, -33}, // 0x43 'C'
{1579, 13, 34, 19, 3, -33}, // 0x44 'D'
{1635, 10, 34, 15, 3, -33}, // 0x45 'E'
{1678, 10, 34, 15, 3, -33}, // 0x46 'F'
{1721, 14, 34, 18, 2, -33}, // 0x47 'G'
{1781, 14, 34, 19, 3, -33}, // 0x48 'H'
{1841, 4, 34, 10, 3, -33}, // 0x49 'I'
{1858, 13, 34, 17, 2, -33}, // 0x4A 'J'
{1914, 15, 34, 18, 3, -33}, // 0x4B 'K'
{1978, 10, 34, 14, 3, -33}, // 0x4C 'L'
{2021, 20, 34, 26, 3, -33}, // 0x4D 'M'
{2106, 14, 34, 20, 3, -33}, // 0x4E 'N'
{2166, 14, 34, 19, 2, -33}, // 0x4F 'O'
{2226, 13, 34, 17, 3, -33}, // 0x50 'P'
{2282, 14, 39, 19, 2, -33}, // 0x51 'Q'
{2351, 14, 34, 18, 3, -33}, // 0x52 'R'
{2411, 14, 34, 16, 1, -33}, // 0x53 'S'
{2471, 12, 34, 13, 0, -33}, // 0x54 'T'
{2522, 14, 34, 19, 2, -33}, // 0x55 'U'
{2582, 16, 34, 17, 1, -33}, // 0x56 'V'
{2650, 24, 34, 26, 1, -33}, // 0x57 'W'
{2752, 14, 34, 16, 1, -33}, // 0x58 'X'
{2812, 16, 34, 16, 0, -33}, // 0x59 'Y'
{2880, 12, 34, 14, 1, -33}, // 0x5A 'Z'
{2931, 8, 35, 13, 3, -33}, // 0x5B '['
{2966, 11, 34, 15, 2, -33}, // 0x5C '\'
{3013, 8, 35, 13, 2, -33}, // 0x5D ']'
{3048, 15, 18, 18, 2, -33}, // 0x5E '^'
{3082, 12, 3, 14, 1, 2}, // 0x5F '_'
{3087, 6, 8, 8, 1, -38}, // 0x60 '`'
{3093, 14, 29, 18, 2, -28}, // 0x61 'a'
{3144, 13, 34, 18, 3, -33}, // 0x62 'b'
{3200, 13, 29, 17, 2, -28}, // 0x63 'c'
{3248, 14, 34, 18, 2, -33}, // 0x64 'd'
{3308, 14, 29, 17, 2, -28}, // 0x65 'e'
{3359, 10, 34, 13, 1, -33}, // 0x66 'f'
{3402, 14, 33, 18, 2, -28}, // 0x67 'g'
{3460, 13, 34, 19, 3, -33}, // 0x68 'h'
{3516, 4, 35, 10, 3, -34}, // 0x69 'i'
{3534, 7, 39, 10, 1, -34}, // 0x6A 'j'
{3569, 14, 34, 18, 3, -33}, // 0x6B 'k'
{3629, 4, 34, 10, 3, -33}, // 0x6C 'l'
{3646, 22, 29, 28, 3, -28}, // 0x6D 'm'
{3726, 13, 29, 19, 3, -28}, // 0x6E 'n'
{3774, 14, 29, 18, 2, -28}, // 0x6F 'o'
{3825, 13, 34, 18, 3, -28}, // 0x70 'p'
{3881, 14, 34, 18, 2, -28}, // 0x71 'q'
{3941, 9, 29, 13, 3, -28}, // 0x72 'r'
{3974, 13, 29, 16, 2, -28}, // 0x73 's'
{4022, 10, 34, 12, 1, -33}, // 0x74 't'
{4065, 14, 29, 19, 2, -28}, // 0x75 'u'
{4116, 14, 29, 15, 1, -28}, // 0x76 'v'
{4167, 21, 29, 23, 1, -28}, // 0x77 'w'
{4244, 14, 29, 15, 1, -28}, // 0x78 'x'
{4295, 14, 34, 16, 1, -28}, // 0x79 'y'
{4355, 11, 29, 13, 1, -28}, // 0x7A 'z'
{4395, 10, 37, 14, 2, -33}, // 0x7B '{'
{4442, 4, 37, 10, 3, -34}, // 0x7C '|'
{4461, 10, 37, 14, 2, -33}, // 0x7D '}'
{4508, 17, 6, 21, 2, -21}}; // 0x7E '~'
const GFXfont Antonio_SemiBold20pt7b PROGMEM = {
(uint8_t *)Antonio_SemiBold20pt7bBitmaps,
(GFXglyph *)Antonio_SemiBold20pt7bGlyphs, 0x20, 0x7E, 51};
// Approx. 5193 bytes

View file

@ -0,0 +1,956 @@
#include <Adafruit_GFX.h>
#include <Arduino.h>
const uint8_t Antonio_SemiBold30pt7bBitmaps[] PROGMEM = {
0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xE7,
0xCF, 0x9F, 0x3E, 0x7C, 0xF9, 0xF3, 0xE7, 0xCF, 0x9F, 0x3E, 0x7C, 0xF9,
0xF3, 0xE3, 0x87, 0x0E, 0x1C, 0x38, 0x70, 0xE1, 0xC3, 0x87, 0x00, 0x00,
0x00, 0x00, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xBF, 0x7E, 0xFC, 0xF9, 0xF3, 0xE7, 0x8F, 0x1E, 0x3C, 0x78,
0xF1, 0xE0, 0x00, 0x3E, 0x0F, 0x80, 0x0F, 0x07, 0xC0, 0x07, 0xC1, 0xF0,
0x01, 0xF0, 0x7C, 0x00, 0x7C, 0x1F, 0x00, 0x1F, 0x07, 0xC0, 0x07, 0xC1,
0xF0, 0x01, 0xE0, 0xF8, 0x00, 0xF8, 0x3E, 0x00, 0x3E, 0x0F, 0x80, 0x0F,
0x83, 0xE0, 0x03, 0xE0, 0xF8, 0x00, 0xF8, 0x3E, 0x00, 0x3C, 0x1F, 0x00,
0x1F, 0x07, 0xC0, 0x07, 0xC1, 0xF0, 0x3F, 0xFF, 0xFF, 0xCF, 0xFF, 0xFF,
0xF3, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xFF, 0x03, 0xE0, 0xF8, 0x00, 0xF8,
0x3E, 0x00, 0x3E, 0x0F, 0x80, 0x0F, 0x83, 0xE0, 0x03, 0xE0, 0xF8, 0x00,
0xF0, 0x3C, 0x00, 0x7C, 0x1F, 0x00, 0x1F, 0x07, 0xC0, 0x07, 0xC1, 0xF0,
0x3F, 0xFF, 0xFF, 0xEF, 0xFF, 0xFF, 0xFB, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF,
0xFF, 0x83, 0xE0, 0xF8, 0x00, 0xF8, 0x3E, 0x00, 0x3E, 0x0F, 0x80, 0x0F,
0x83, 0xE0, 0x03, 0xE0, 0xF8, 0x01, 0xF0, 0x7C, 0x00, 0x7C, 0x1F, 0x00,
0x1F, 0x07, 0xC0, 0x07, 0xC1, 0xF0, 0x01, 0xF0, 0x7C, 0x00, 0x7C, 0x1F,
0x00, 0x3E, 0x0F, 0x80, 0x0F, 0x83, 0xE0, 0x03, 0xE0, 0xF8, 0x00, 0xF8,
0x3E, 0x00, 0x3E, 0x0F, 0x80, 0x0F, 0x83, 0xE0, 0x00, 0x00, 0x70, 0x00,
0x07, 0x00, 0x00, 0x70, 0x00, 0x07, 0x00, 0x00, 0x70, 0x00, 0x07, 0x00,
0x03, 0xF8, 0x00, 0xFF, 0xF0, 0x1F, 0xFF, 0x83, 0xFF, 0xF8, 0x3F, 0xFF,
0xC7, 0xFF, 0xFC, 0x7F, 0x0F, 0xE7, 0xE0, 0x7E, 0xFE, 0x07, 0xEF, 0xE0,
0x7E, 0xFE, 0x07, 0xEF, 0xE0, 0x7E, 0x7E, 0x07, 0xE7, 0xE0, 0x7E, 0x7F,
0x07, 0xE7, 0xF8, 0x00, 0x3F, 0x80, 0x03, 0xFC, 0x00, 0x1F, 0xF0, 0x00,
0xFF, 0x80, 0x0F, 0xFC, 0x00, 0x7F, 0xE0, 0x03, 0xFF, 0x00, 0x0F, 0xF8,
0x00, 0x7F, 0x80, 0x03, 0xFC, 0x00, 0x1F, 0xC0, 0x01, 0xFE, 0x00, 0x0F,
0xE7, 0xE0, 0x7F, 0x7E, 0x07, 0xF7, 0xE0, 0x7F, 0x7E, 0x07, 0xF7, 0xE0,
0x7F, 0x7E, 0x07, 0xF7, 0xE0, 0x7F, 0x7F, 0x07, 0xF7, 0xF0, 0x7F, 0x3F,
0xDF, 0xE3, 0xFF, 0xFE, 0x1F, 0xFF, 0xC1, 0xFF, 0xFC, 0x0F, 0xFF, 0x00,
0x3F, 0xE0, 0x00, 0x70, 0x00, 0x07, 0x00, 0x00, 0x70, 0x00, 0x07, 0x00,
0x00, 0x70, 0x00, 0x07, 0x00, 0x00, 0x70, 0x00, 0x07, 0xFC, 0x00, 0x00,
0x00, 0x00, 0x00, 0x7F, 0xFC, 0x00, 0x00, 0xFC, 0x00, 0x03, 0xFF, 0xF8,
0x00, 0x03, 0xE0, 0x00, 0x0F, 0xFF, 0xE0, 0x00, 0x0F, 0x80, 0x00, 0x7F,
0xFF, 0xC0, 0x00, 0x7E, 0x00, 0x01, 0xF8, 0x3F, 0x00, 0x01, 0xF0, 0x00,
0x07, 0xE0, 0x7C, 0x00, 0x0F, 0xC0, 0x00, 0x1F, 0x01, 0xF8, 0x00, 0x3E,
0x00, 0x00, 0xFC, 0x07, 0xE0, 0x00, 0xF8, 0x00, 0x03, 0xF0, 0x1F, 0x80,
0x07, 0xE0, 0x00, 0x0F, 0xC0, 0x7E, 0x00, 0x1F, 0x00, 0x00, 0x3F, 0x01,
0xF8, 0x00, 0xFC, 0x00, 0x00, 0xFC, 0x07, 0xE0, 0x03, 0xE0, 0x00, 0x03,
0xF0, 0x1F, 0x80, 0x0F, 0x80, 0x00, 0x0F, 0xC0, 0x7E, 0x00, 0x7E, 0x00,
0x00, 0x3F, 0x01, 0xF8, 0x01, 0xF0, 0x00, 0x00, 0xFC, 0x07, 0xE0, 0x07,
0xC0, 0x00, 0x03, 0xF0, 0x1F, 0x80, 0x3F, 0x00, 0xFE, 0x0F, 0xC0, 0x7E,
0x00, 0xF8, 0x1F, 0xFE, 0x3F, 0x01, 0xF8, 0x07, 0xE0, 0xFF, 0xFC, 0xFC,
0x07, 0xE0, 0x1F, 0x07, 0xFF, 0xFB, 0xF0, 0x1F, 0x80, 0x7C, 0x1F, 0xFF,
0xEF, 0xC0, 0x7E, 0x03, 0xF0, 0x7E, 0x1F, 0xFF, 0x01, 0xF8, 0x0F, 0x83,
0xF0, 0x3F, 0xFC, 0x07, 0xE0, 0x7E, 0x0F, 0xC0, 0xFF, 0xF0, 0x1F, 0x81,
0xF0, 0x3F, 0x03, 0xF7, 0xC0, 0x7E, 0x07, 0xC0, 0xFC, 0x07, 0xDF, 0x81,
0xF0, 0x3F, 0x03, 0xF0, 0x1F, 0x7E, 0x0F, 0xC0, 0xF8, 0x0F, 0xC0, 0x7D,
0xFF, 0xFF, 0x07, 0xE0, 0x3F, 0x01, 0xF3, 0xFF, 0xF8, 0x1F, 0x00, 0xFC,
0x07, 0xCF, 0xFF, 0xE0, 0x7C, 0x03, 0xF0, 0x1F, 0x1F, 0xFF, 0x03, 0xF0,
0x0F, 0xC0, 0x7C, 0x1F, 0xF0, 0x0F, 0x80, 0x3F, 0x01, 0xF0, 0x00, 0x00,
0x7E, 0x00, 0xFC, 0x07, 0xC0, 0x00, 0x01, 0xF0, 0x03, 0xF0, 0x1F, 0x00,
0x00, 0x07, 0xC0, 0x0F, 0xC0, 0x7C, 0x00, 0x00, 0x3F, 0x00, 0x3F, 0x01,
0xF0, 0x00, 0x00, 0xF8, 0x00, 0xFC, 0x07, 0xC0, 0x00, 0x07, 0xE0, 0x03,
0xF0, 0x1F, 0x00, 0x00, 0x1F, 0x00, 0x0F, 0xC0, 0x7C, 0x00, 0x00, 0x7C,
0x00, 0x3F, 0x01, 0xF0, 0x00, 0x03, 0xF0, 0x00, 0xFC, 0x0F, 0xC0, 0x00,
0x0F, 0x80, 0x03, 0xF0, 0x3F, 0x00, 0x00, 0x7E, 0x00, 0x0F, 0xC0, 0xFC,
0x00, 0x01, 0xF8, 0x00, 0x3F, 0x03, 0xF0, 0x00, 0x07, 0xC0, 0x00, 0x7F,
0x3F, 0x80, 0x00, 0x3F, 0x00, 0x01, 0xFF, 0xFE, 0x00, 0x00, 0xF8, 0x00,
0x03, 0xFF, 0xF0, 0x00, 0x07, 0xE0, 0x00, 0x07, 0xFF, 0xC0, 0x00, 0x1F,
0x80, 0x00, 0x0F, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00,
0x7F, 0x00, 0x00, 0x7F, 0xF0, 0x00, 0x3F, 0xFE, 0x00, 0x1F, 0xFF, 0xC0,
0x07, 0xFF, 0xF0, 0x03, 0xF8, 0x7C, 0x00, 0xFC, 0x1F, 0x80, 0x3F, 0x03,
0xE0, 0x0F, 0xC0, 0xF8, 0x03, 0xF0, 0x3E, 0x00, 0xFC, 0x0F, 0x80, 0x3F,
0x03, 0xE0, 0x0F, 0xC0, 0xF8, 0x03, 0xF0, 0x7C, 0x00, 0xFE, 0x1F, 0x00,
0x1F, 0x8F, 0xC0, 0x07, 0xE3, 0xE0, 0x01, 0xF9, 0xF8, 0x00, 0x3F, 0x7C,
0x00, 0x0F, 0xFF, 0x00, 0x03, 0xFF, 0x80, 0x00, 0x7F, 0xE0, 0x00, 0x1F,
0xF0, 0x00, 0x07, 0xF8, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x7F, 0x00, 0x00,
0x3F, 0xE0, 0x00, 0x1F, 0xF8, 0x04, 0x0F, 0xFF, 0x01, 0x03, 0xFF, 0xC0,
0xE1, 0xFF, 0xF8, 0x7C, 0x7E, 0x7E, 0x1F, 0x3F, 0x1F, 0x8F, 0xCF, 0xC3,
0xF7, 0xE7, 0xE0, 0xFD, 0xF1, 0xF8, 0x1F, 0xFC, 0x7E, 0x07, 0xFE, 0x3F,
0x01, 0xFF, 0x8F, 0xC0, 0x3F, 0xC3, 0xF0, 0x0F, 0xF0, 0xFC, 0x01, 0xF8,
0x3F, 0x00, 0x7E, 0x0F, 0xC0, 0x3F, 0xC3, 0xF0, 0x1F, 0xF0, 0xFE, 0x07,
0xFC, 0x1F, 0xC7, 0xFF, 0x87, 0xFF, 0xFF, 0xE1, 0xFF, 0xFE, 0xFC, 0x3F,
0xFF, 0x3F, 0x07, 0xFF, 0x87, 0xE0, 0x7F, 0x81, 0xF8, 0x07, 0x00, 0x00,
0xFF, 0xFF, 0xFF, 0x7D, 0xF7, 0xDE, 0x79, 0xE7, 0x9E, 0x79, 0xE7, 0x8E,
0x30, 0xC0, 0x00, 0xC3, 0xF3, 0xFD, 0xFF, 0x7F, 0xDF, 0xEF, 0xE3, 0xF8,
0xFE, 0x3F, 0x0F, 0xC3, 0xF0, 0xFC, 0x3F, 0x0F, 0xC3, 0xF0, 0xFC, 0x3F,
0x0F, 0xC3, 0xF0, 0xFC, 0x3F, 0x0F, 0xC3, 0xF0, 0xFC, 0x3F, 0x0F, 0xC3,
0xF0, 0xFC, 0x3F, 0x0F, 0xC3, 0xF0, 0xFC, 0x3F, 0x0F, 0xC3, 0xF0, 0xFC,
0x3F, 0x0F, 0xC3, 0xF0, 0xFC, 0x3F, 0x0F, 0xC3, 0xF0, 0xFC, 0x3F, 0x0F,
0xC3, 0xF0, 0xFC, 0x3F, 0x8F, 0xE3, 0xF8, 0x7F, 0x9F, 0xF7, 0xFC, 0xFF,
0x0F, 0xC0, 0x70, 0xE0, 0x1F, 0xC3, 0xFC, 0x7F, 0xCF, 0xFC, 0xFF, 0x83,
0xF0, 0x7F, 0x0F, 0xE1, 0xFC, 0x3F, 0x87, 0xF0, 0xFE, 0x1F, 0xC3, 0xF8,
0x7F, 0x0F, 0xE1, 0xFC, 0x3F, 0x87, 0xF0, 0xFE, 0x1F, 0xC3, 0xF8, 0x7F,
0x0F, 0xE1, 0xFC, 0x3F, 0x87, 0xF0, 0xFE, 0x1F, 0xC3, 0xF8, 0x7F, 0x0F,
0xE1, 0xFC, 0x3F, 0x87, 0xF0, 0xFE, 0x1F, 0xC3, 0xF8, 0x7F, 0x0F, 0xE1,
0xFC, 0x3F, 0x87, 0xF0, 0xFE, 0x1F, 0xC3, 0xF8, 0x7F, 0x0F, 0xE1, 0xFC,
0x3F, 0x87, 0xE3, 0xFD, 0xFF, 0xBF, 0xE7, 0xFC, 0xFE, 0x1C, 0x00, 0x00,
0x7C, 0x00, 0x01, 0xE0, 0x00, 0x07, 0x81, 0x0C, 0x1E, 0x0C, 0x38, 0x78,
0x71, 0xF9, 0xE7, 0xEF, 0xF7, 0xBF, 0xCF, 0xFF, 0xFC, 0x0F, 0xFF, 0xC0,
0x0F, 0xFC, 0x00, 0x1F, 0xE0, 0x01, 0xFF, 0xE0, 0x1F, 0xFF, 0xE3, 0xFF,
0xFF, 0xE7, 0xF7, 0xBF, 0xDF, 0x1E, 0x3E, 0x38, 0x78, 0x70, 0x41, 0xE0,
0xC0, 0x07, 0x80, 0x00, 0x1E, 0x00, 0x00, 0x7C, 0x00, 0x03, 0xE0, 0x01,
0xF0, 0x00, 0xF8, 0x00, 0x7C, 0x00, 0x3E, 0x00, 0x1F, 0x00, 0x0F, 0x81,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x3E,
0x00, 0x1F, 0x00, 0x0F, 0x80, 0x07, 0xC0, 0x03, 0xE0, 0x01, 0xF0, 0x00,
0xF8, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x0F, 0x1E,
0x1E, 0x1E, 0x1C, 0x1C, 0x3C, 0x3C, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xF0, 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0x0F, 0xC0, 0x03, 0xF0, 0x00,
0xFC, 0x00, 0x3E, 0x00, 0x1F, 0x80, 0x07, 0xE0, 0x01, 0xF8, 0x00, 0x7C,
0x00, 0x3F, 0x00, 0x0F, 0xC0, 0x03, 0xF0, 0x00, 0xFC, 0x00, 0x7E, 0x00,
0x1F, 0x80, 0x07, 0xE0, 0x01, 0xF8, 0x00, 0xFC, 0x00, 0x3F, 0x00, 0x0F,
0xC0, 0x03, 0xF0, 0x01, 0xF8, 0x00, 0x7E, 0x00, 0x1F, 0x80, 0x07, 0xE0,
0x03, 0xF0, 0x00, 0xFC, 0x00, 0x3F, 0x00, 0x0F, 0xC0, 0x07, 0xE0, 0x01,
0xF8, 0x00, 0x7E, 0x00, 0x1F, 0x80, 0x0F, 0xC0, 0x03, 0xF0, 0x00, 0xFC,
0x00, 0x3F, 0x00, 0x1F, 0x80, 0x07, 0xE0, 0x01, 0xF8, 0x00, 0x7E, 0x00,
0x3F, 0x00, 0x0F, 0xC0, 0x03, 0xF0, 0x00, 0xFC, 0x00, 0x3E, 0x00, 0x1F,
0x80, 0x07, 0xE0, 0x01, 0xF8, 0x00, 0x7C, 0x00, 0x3F, 0x00, 0x0F, 0xC0,
0x00, 0x03, 0xFC, 0x00, 0xFF, 0xF0, 0x1F, 0xFF, 0x83, 0xFF, 0xFC, 0x3F,
0xFF, 0xE7, 0xFF, 0xFE, 0x7F, 0x0F, 0xE7, 0xE0, 0x7F, 0x7E, 0x07, 0xFF,
0xE0, 0x7F, 0xFE, 0x07, 0xFF, 0xE0, 0x7F, 0xFE, 0x07, 0xFF, 0xE0, 0x7F,
0xFE, 0x07, 0xFF, 0xE0, 0x7F, 0xFE, 0x07, 0xFF, 0xE0, 0x7F, 0xFE, 0x07,
0xFF, 0xE0, 0x7F, 0xFE, 0x07, 0xFF, 0xE0, 0x7F, 0xFE, 0x07, 0xFF, 0xE0,
0x7F, 0xFE, 0x07, 0xFF, 0xE0, 0x7F, 0xFE, 0x07, 0xFF, 0xE0, 0x7F, 0xFE,
0x07, 0xFF, 0xE0, 0x7F, 0xFE, 0x07, 0xFF, 0xE0, 0x7F, 0xFE, 0x07, 0xFF,
0xE0, 0x7F, 0xFE, 0x07, 0xFF, 0xE0, 0x7F, 0xFE, 0x07, 0xFF, 0xE0, 0x7F,
0xFE, 0x07, 0xFF, 0xE0, 0x7F, 0xFE, 0x07, 0xFF, 0xE0, 0x7F, 0x7E, 0x07,
0xF7, 0xE0, 0x7F, 0x7F, 0x07, 0xE7, 0xF0, 0xFE, 0x7F, 0xFF, 0xE3, 0xFF,
0xFC, 0x1F, 0xFF, 0xC1, 0xFF, 0xF8, 0x07, 0xFF, 0x00, 0x06, 0x00, 0x00,
0xF8, 0x0F, 0xC0, 0xFE, 0x0F, 0xF1, 0xFF, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFD, 0xFF, 0xCF, 0xF0, 0x7E, 0x03, 0xF0, 0x1F, 0x80, 0xFC, 0x07, 0xE0,
0x3F, 0x01, 0xF8, 0x0F, 0xC0, 0x7E, 0x03, 0xF0, 0x1F, 0x80, 0xFC, 0x07,
0xE0, 0x3F, 0x01, 0xF8, 0x0F, 0xC0, 0x7E, 0x03, 0xF0, 0x1F, 0x80, 0xFC,
0x07, 0xE0, 0x3F, 0x01, 0xF8, 0x0F, 0xC0, 0x7E, 0x03, 0xF0, 0x1F, 0x80,
0xFC, 0x07, 0xE0, 0x3F, 0x01, 0xF8, 0x0F, 0xC0, 0x7E, 0x03, 0xF0, 0x1F,
0x80, 0xFC, 0x07, 0xE0, 0x3F, 0x01, 0xF8, 0x0F, 0xC0, 0x03, 0xFC, 0x01,
0xFF, 0xC0, 0x7F, 0xFC, 0x0F, 0xFF, 0xC3, 0xFF, 0xFC, 0x7F, 0xFF, 0x9F,
0xC3, 0xF3, 0xF0, 0x7F, 0x7E, 0x07, 0xEF, 0xC0, 0xFD, 0xF8, 0x1F, 0xBF,
0x03, 0xFF, 0xE0, 0x7F, 0xFC, 0x0F, 0xFF, 0x81, 0xFF, 0xF0, 0x3F, 0xFE,
0x07, 0xFF, 0xC0, 0xFF, 0xF8, 0x1F, 0xFF, 0x07, 0xF0, 0x00, 0xFE, 0x00,
0x1F, 0x80, 0x07, 0xF0, 0x00, 0xFE, 0x00, 0x3F, 0x80, 0x07, 0xF0, 0x01,
0xFC, 0x00, 0x3F, 0x80, 0x0F, 0xE0, 0x03, 0xF8, 0x00, 0x7F, 0x00, 0x1F,
0xC0, 0x03, 0xF8, 0x00, 0xFE, 0x00, 0x1F, 0xC0, 0x07, 0xF0, 0x00, 0xFC,
0x00, 0x3F, 0x80, 0x07, 0xE0, 0x01, 0xFC, 0x00, 0x3F, 0x80, 0x07, 0xE0,
0x01, 0xFC, 0x00, 0x3F, 0x80, 0x07, 0xE0, 0x00, 0xFC, 0x00, 0x1F, 0xFF,
0xFB, 0xFF, 0xFF, 0x7F, 0xFF, 0xEF, 0xFF, 0xFD, 0xFF, 0xFF, 0x80, 0x03,
0xFC, 0x00, 0xFF, 0xF0, 0x1F, 0xFF, 0x83, 0xFF, 0xFC, 0x3F, 0xFF, 0xE7,
0xFF, 0xFE, 0x7F, 0x0F, 0xE7, 0xE0, 0x7F, 0xFE, 0x07, 0xFF, 0xE0, 0x7F,
0xFE, 0x03, 0xFF, 0xE0, 0x3F, 0xFE, 0x03, 0xFF, 0xE0, 0x3F, 0xFE, 0x03,
0xF0, 0x00, 0x3F, 0x00, 0x03, 0xF0, 0x00, 0x7F, 0x00, 0x07, 0xF0, 0x00,
0x7E, 0x00, 0x0F, 0xE0, 0x01, 0xFC, 0x01, 0xFF, 0xC0, 0x1F, 0xF8, 0x01,
0xFF, 0x00, 0x1F, 0xF8, 0x01, 0xFF, 0xC0, 0x01, 0xFC, 0x00, 0x0F, 0xE0,
0x00, 0x7E, 0x00, 0x07, 0xF0, 0x00, 0x7F, 0x00, 0x07, 0xF0, 0x00, 0x3F,
0x00, 0x03, 0xFF, 0xC0, 0x3F, 0xFC, 0x03, 0xFF, 0xC0, 0x3F, 0xFC, 0x03,
0xFF, 0xC0, 0x3F, 0xFC, 0x03, 0xFF, 0xC0, 0x7F, 0xFE, 0x07, 0xF7, 0xE0,
0x7F, 0x7E, 0x07, 0xE7, 0xF0, 0xFE, 0x7F, 0xFF, 0xE3, 0xFF, 0xFC, 0x3F,
0xFF, 0x81, 0xFF, 0xF8, 0x07, 0xFE, 0x00, 0x07, 0x00, 0x00, 0x1F, 0xE0,
0x00, 0x3F, 0xC0, 0x00, 0x7F, 0x80, 0x01, 0xFF, 0x00, 0x03, 0xFE, 0x00,
0x07, 0xFC, 0x00, 0x1F, 0xF8, 0x00, 0x3F, 0xF0, 0x00, 0x7F, 0xE0, 0x00,
0xFF, 0xC0, 0x03, 0xDF, 0x80, 0x07, 0xBF, 0x00, 0x0F, 0x7E, 0x00, 0x3E,
0xFC, 0x00, 0x79, 0xF8, 0x00, 0xF3, 0xF0, 0x03, 0xE7, 0xE0, 0x07, 0xCF,
0xC0, 0x0F, 0x1F, 0x80, 0x3E, 0x3F, 0x00, 0x7C, 0x7E, 0x00, 0xF0, 0xFC,
0x01, 0xE1, 0xF8, 0x07, 0xC3, 0xF0, 0x0F, 0x87, 0xE0, 0x1E, 0x0F, 0xC0,
0x7C, 0x1F, 0x80, 0xF8, 0x3F, 0x01, 0xF0, 0x7E, 0x07, 0xC0, 0xFC, 0x0F,
0x81, 0xF8, 0x1F, 0x03, 0xF0, 0x7E, 0x07, 0xE0, 0xF8, 0x0F, 0xC1, 0xF0,
0x1F, 0x83, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x0F, 0xC0, 0x00, 0x1F,
0x80, 0x00, 0x3F, 0x00, 0x00, 0x7E, 0x00, 0x00, 0xFC, 0x00, 0x01, 0xF8,
0x00, 0x03, 0xF0, 0x00, 0x07, 0xE0, 0x00, 0x0F, 0xC0, 0xFF, 0xFF, 0x9F,
0xFF, 0xF3, 0xFF, 0xFE, 0x7F, 0xFF, 0xCF, 0xFF, 0xF9, 0xFF, 0xFF, 0x3F,
0x00, 0x07, 0xE0, 0x00, 0xFC, 0x00, 0x1F, 0x80, 0x03, 0xF0, 0x00, 0x7E,
0x00, 0x0F, 0xC0, 0x01, 0xF8, 0x00, 0x3F, 0x04, 0x07, 0xEF, 0xF0, 0xFF,
0xFF, 0x1F, 0xFF, 0xF3, 0xFF, 0xFE, 0x7F, 0xFF, 0xCF, 0xF1, 0xFD, 0xFC,
0x1F, 0xBF, 0x03, 0xF7, 0xE0, 0x7E, 0xFC, 0x0F, 0xC0, 0x01, 0xF8, 0x00,
0x3F, 0x00, 0x07, 0xF0, 0x00, 0xFE, 0x00, 0x1F, 0xC0, 0x03, 0xF8, 0x00,
0x7F, 0x00, 0x0F, 0xE0, 0x01, 0xFC, 0x00, 0x3F, 0xFE, 0x07, 0xFF, 0xC0,
0xFF, 0xF8, 0x1F, 0xBF, 0x03, 0xF7, 0xE0, 0x7E, 0xFC, 0x0F, 0xDF, 0x81,
0xFB, 0xF0, 0x3F, 0x7F, 0x07, 0xEF, 0xF1, 0xFC, 0xFF, 0xFF, 0x1F, 0xFF,
0xE1, 0xFF, 0xF8, 0x1F, 0xFF, 0x01, 0xFF, 0x80, 0x07, 0x00, 0x00, 0x01,
0xFC, 0x00, 0x7F, 0xF8, 0x07, 0xFF, 0xE0, 0x3F, 0xFF, 0x83, 0xFF, 0xFC,
0x1F, 0xFF, 0xF1, 0xFC, 0x1F, 0x8F, 0xC0, 0xFC, 0x7E, 0x07, 0xE3, 0xF0,
0x3F, 0x1F, 0x81, 0xFD, 0xFC, 0x0F, 0xEF, 0xE0, 0x3F, 0x7F, 0x01, 0xFB,
0xF8, 0x0F, 0xDF, 0xC0, 0x00, 0xFE, 0x00, 0x07, 0xF0, 0x00, 0x3F, 0x80,
0x01, 0xFC, 0x30, 0x0F, 0xEF, 0xF0, 0x7F, 0xFF, 0xE3, 0xFF, 0xFF, 0x1F,
0xFF, 0xFC, 0xFF, 0xFF, 0xE7, 0xF8, 0x3F, 0xBF, 0x81, 0xFD, 0xFC, 0x07,
0xEF, 0xE0, 0x3F, 0x7F, 0x01, 0xFB, 0xF8, 0x0F, 0xDF, 0xC0, 0x7E, 0xFE,
0x03, 0xF7, 0xF0, 0x1F, 0xBF, 0x80, 0xFD, 0xFC, 0x07, 0xFF, 0xE0, 0x3F,
0xFF, 0x01, 0xFB, 0xF8, 0x0F, 0xDF, 0xC0, 0x7E, 0xFE, 0x03, 0xF3, 0xF0,
0x1F, 0x9F, 0x80, 0xFC, 0xFC, 0x07, 0xE7, 0xF0, 0x7F, 0x3F, 0xC7, 0xF8,
0xFF, 0xFF, 0x87, 0xFF, 0xFC, 0x1F, 0xFF, 0xC0, 0x7F, 0xFC, 0x01, 0xFF,
0xC0, 0x00, 0xE0, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0x01, 0xF8, 0x00, 0x0F, 0xC0, 0x00,
0xFE, 0x00, 0x07, 0xE0, 0x00, 0x7F, 0x00, 0x03, 0xF8, 0x00, 0x1F, 0x80,
0x01, 0xFC, 0x00, 0x0F, 0xE0, 0x00, 0x7E, 0x00, 0x07, 0xF0, 0x00, 0x3F,
0x80, 0x01, 0xF8, 0x00, 0x1F, 0xC0, 0x00, 0xFE, 0x00, 0x07, 0xE0, 0x00,
0x3F, 0x00, 0x03, 0xF8, 0x00, 0x1F, 0xC0, 0x00, 0xFC, 0x00, 0x0F, 0xE0,
0x00, 0x7F, 0x00, 0x03, 0xF8, 0x00, 0x1F, 0x80, 0x01, 0xFC, 0x00, 0x0F,
0xE0, 0x00, 0x7F, 0x00, 0x03, 0xF0, 0x00, 0x3F, 0x80, 0x01, 0xFC, 0x00,
0x0F, 0xE0, 0x00, 0x7F, 0x00, 0x03, 0xF8, 0x00, 0x3F, 0x80, 0x01, 0xFC,
0x00, 0x0F, 0xE0, 0x00, 0x7F, 0x00, 0x03, 0xF8, 0x00, 0x1F, 0xC0, 0x01,
0xFE, 0x00, 0x0F, 0xF0, 0x00, 0x7F, 0x00, 0x03, 0xF8, 0x00, 0x1F, 0xC0,
0x00, 0xFE, 0x00, 0x00, 0x03, 0xFC, 0x00, 0xFF, 0xF0, 0x1F, 0xFF, 0x83,
0xFF, 0xFC, 0x7F, 0xFF, 0xE7, 0xF9, 0xFE, 0x7E, 0x07, 0xEF, 0xE0, 0x7F,
0xFE, 0x07, 0xFF, 0xE0, 0x7F, 0xFE, 0x07, 0xFF, 0xC0, 0x7F, 0xFC, 0x07,
0xFF, 0xC0, 0x7F, 0xFC, 0x07, 0xFF, 0xE0, 0x7F, 0xFE, 0x07, 0xFF, 0xE0,
0x7F, 0x7E, 0x07, 0xE7, 0xE0, 0x7E, 0x7F, 0x0F, 0xE3, 0xF9, 0xFC, 0x1F,
0xFF, 0x80, 0xFF, 0xF0, 0x1F, 0xFF, 0x83, 0xFF, 0xFC, 0x3F, 0x9F, 0xC7,
0xF0, 0xFE, 0x7E, 0x0F, 0xEF, 0xE0, 0x7E, 0xFE, 0x07, 0xEF, 0xE0, 0x7F,
0xFC, 0x07, 0xFF, 0xC0, 0x7F, 0xFC, 0x07, 0xFF, 0xC0, 0x7F, 0xFC, 0x07,
0xFF, 0xC0, 0x7F, 0xFC, 0x07, 0xFF, 0xC0, 0x7F, 0xFC, 0x07, 0xFF, 0xC0,
0x7F, 0xFE, 0x07, 0xFF, 0xE0, 0x7F, 0xFE, 0x07, 0xE7, 0xF0, 0xFE, 0x7F,
0xFF, 0xE3, 0xFF, 0xFC, 0x3F, 0xFF, 0xC1, 0xFF, 0xF8, 0x07, 0xFE, 0x00,
0x06, 0x00, 0x07, 0xFC, 0x03, 0xFF, 0xE0, 0xFF, 0xFE, 0x1F, 0xFF, 0xC7,
0xFF, 0xFC, 0xFF, 0xFF, 0xBF, 0x83, 0xFF, 0xE0, 0x7F, 0xFC, 0x07, 0xFF,
0x80, 0xFF, 0xF0, 0x1F, 0xFE, 0x03, 0xFF, 0xC0, 0x7F, 0xF8, 0x0F, 0xFF,
0x01, 0xFF, 0xE0, 0x3F, 0xFC, 0x07, 0xFF, 0x80, 0xFF, 0xF0, 0x1F, 0xFE,
0x03, 0xFF, 0xC0, 0x7F, 0xF8, 0x0F, 0xFF, 0x01, 0xFF, 0xE0, 0x3F, 0xFC,
0x07, 0xFF, 0xC0, 0xFD, 0xFE, 0xFF, 0xBF, 0xFF, 0xF7, 0xFF, 0xFE, 0x7F,
0xFF, 0xC7, 0xFF, 0xF8, 0x3F, 0x3F, 0x00, 0x07, 0xE0, 0x00, 0xFC, 0x00,
0x1F, 0x80, 0x03, 0xFF, 0xC0, 0x7F, 0xF8, 0x0F, 0xFF, 0x01, 0xFF, 0xE0,
0x3F, 0xFC, 0x07, 0xFF, 0x80, 0xFF, 0xF8, 0x1F, 0xBF, 0x03, 0xF7, 0xE0,
0xFE, 0xFE, 0x1F, 0x9F, 0xFF, 0xF1, 0xFF, 0xFE, 0x3F, 0xFF, 0x83, 0xFF,
0xE0, 0x3F, 0xF8, 0x00, 0x20, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7,
0x9F, 0x3E, 0x78, 0xF1, 0xE7, 0x8F, 0x1E, 0x3C, 0xF0, 0x00, 0x01, 0x00,
0x03, 0x00, 0x07, 0x00, 0x1F, 0x00, 0x3F, 0x00, 0xFF, 0x01, 0xFF, 0x07,
0xFF, 0x1F, 0xFC, 0x3F, 0xF0, 0xFF, 0xE0, 0xFF, 0x80, 0xFE, 0x00, 0xFC,
0x00, 0xF8, 0x00, 0xFC, 0x00, 0xFF, 0x00, 0xFF, 0x80, 0x7F, 0xE0, 0x3F,
0xF8, 0x0F, 0xFC, 0x07, 0xFF, 0x01, 0xFF, 0x00, 0xFF, 0x00, 0x3F, 0x00,
0x1F, 0x00, 0x07, 0x00, 0x03, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x80,
0x00, 0xC0, 0x00, 0xE0, 0x00, 0xF8, 0x00, 0xFC, 0x00, 0xFF, 0x00, 0xFF,
0x80, 0xFF, 0xE0, 0x3F, 0xF0, 0x0F, 0xFC, 0x07, 0xFE, 0x01, 0xFF, 0x00,
0xFF, 0x00, 0x3F, 0x00, 0x1F, 0x00, 0x3F, 0x00, 0xFF, 0x01, 0xFF, 0x07,
0xFE, 0x1F, 0xFC, 0x3F, 0xF0, 0xFF, 0xE0, 0xFF, 0x80, 0xFF, 0x00, 0xFC,
0x00, 0xF8, 0x00, 0xE0, 0x00, 0x80, 0x00, 0x80, 0x00, 0x07, 0xF8, 0x07,
0xFF, 0x83, 0xFF, 0xF0, 0xFF, 0xFE, 0x7F, 0xFF, 0x9F, 0xFF, 0xE7, 0xE1,
0xFF, 0xF8, 0x7F, 0xFE, 0x1F, 0xFF, 0x87, 0xFF, 0xE1, 0xFF, 0xF8, 0x7F,
0xFE, 0x1F, 0xFF, 0x87, 0xFF, 0xE1, 0xFF, 0xF8, 0x7F, 0xFE, 0x1F, 0xFF,
0x87, 0xF0, 0x01, 0xFC, 0x00, 0x7F, 0x00, 0x1F, 0xC0, 0x07, 0xE0, 0x03,
0xF8, 0x00, 0xFE, 0x00, 0x7F, 0x80, 0x3F, 0xC0, 0x1F, 0xF0, 0x3F, 0xF8,
0x1F, 0xFC, 0x07, 0xFC, 0x01, 0xFC, 0x00, 0x7E, 0x00, 0x1F, 0x80, 0x07,
0xE0, 0x01, 0xF8, 0x00, 0x7E, 0x00, 0x1F, 0x80, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xF8, 0x00, 0x7E, 0x00,
0x1F, 0x80, 0x07, 0xE0, 0x01, 0xF8, 0x00, 0x7E, 0x00, 0x1F, 0x80, 0x07,
0xE0, 0x01, 0xF8, 0x00, 0x00, 0x00, 0xFF, 0x80, 0x00, 0x00, 0x7F, 0xFF,
0x00, 0x00, 0x0F, 0xFF, 0xFE, 0x00, 0x00, 0xFF, 0xFF, 0xF8, 0x00, 0x0F,
0xFC, 0x7F, 0xE0, 0x00, 0xFE, 0x00, 0x3F, 0x80, 0x0F, 0xC0, 0x00, 0x7E,
0x00, 0xFC, 0x00, 0x01, 0xF0, 0x0F, 0xC0, 0x00, 0x07, 0xC0, 0x7C, 0x00,
0x00, 0x1E, 0x07, 0xE0, 0x00, 0x00, 0xF8, 0x3E, 0x00, 0x00, 0x03, 0xC3,
0xF0, 0x0F, 0xF8, 0x1E, 0x1F, 0x00, 0xFF, 0xF0, 0xF8, 0xF8, 0x0F, 0xFF,
0x83, 0xC7, 0xC0, 0xFF, 0xFC, 0x1E, 0x7E, 0x0F, 0xC1, 0xE0, 0xF3, 0xE0,
0x7C, 0x0F, 0x07, 0xDF, 0x03, 0xC0, 0x78, 0x3E, 0xF8, 0x3E, 0x03, 0xC1,
0xF7, 0xC1, 0xE0, 0x1E, 0x0F, 0xBE, 0x0F, 0x00, 0xF0, 0x7D, 0xF0, 0x78,
0x07, 0x83, 0xFF, 0x87, 0xC0, 0x3C, 0x1F, 0xFC, 0x3E, 0x01, 0xE0, 0xFF,
0xE1, 0xF0, 0x0F, 0x07, 0xFF, 0x0F, 0x80, 0x78, 0x3F, 0xF8, 0x7C, 0x03,
0xC1, 0xFF, 0xC3, 0xE0, 0x1E, 0x0F, 0xFE, 0x1F, 0x00, 0xF0, 0x7F, 0xF0,
0xF8, 0x07, 0x83, 0xEF, 0x87, 0xC0, 0x3C, 0x1E, 0x7C, 0x1E, 0x01, 0xE0,
0xF3, 0xE0, 0xF0, 0x1F, 0x87, 0x9F, 0x07, 0xC0, 0xFC, 0x3C, 0xF8, 0x3E,
0x0F, 0xE3, 0xC7, 0xE0, 0xF8, 0x6F, 0xBE, 0x1F, 0x07, 0xFF, 0x3F, 0xF0,
0xF8, 0x1F, 0xF1, 0xFF, 0x07, 0xC0, 0x7F, 0x87, 0xF0, 0x1F, 0x01, 0xF8,
0x0E, 0x00, 0xF8, 0x00, 0x00, 0x00, 0x07, 0xE0, 0x00, 0x00, 0x00, 0x1F,
0x80, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x03, 0xF8, 0x00, 0x00,
0x00, 0x0F, 0xE0, 0x00, 0x0C, 0x00, 0x3F, 0xE0, 0x07, 0xE0, 0x00, 0xFF,
0xFF, 0xFF, 0x00, 0x03, 0xFF, 0xFF, 0xF8, 0x00, 0x07, 0xFF, 0xFF, 0xC0,
0x00, 0x0F, 0xFF, 0xF0, 0x00, 0x00, 0x07, 0xE0, 0x00, 0x00, 0x01, 0xFF,
0x00, 0x01, 0xFF, 0x00, 0x01, 0xFF, 0x80, 0x01, 0xFF, 0x80, 0x01, 0xFF,
0x80, 0x01, 0xFF, 0x80, 0x01, 0xFF, 0x80, 0x03, 0xFF, 0x80, 0x03, 0xFF,
0x80, 0x03, 0xFF, 0xC0, 0x03, 0xFF, 0xC0, 0x03, 0xFF, 0xC0, 0x03, 0xEF,
0xC0, 0x03, 0xE7, 0xC0, 0x07, 0xE7, 0xC0, 0x07, 0xE7, 0xE0, 0x07, 0xE7,
0xE0, 0x07, 0xE7, 0xE0, 0x07, 0xE7, 0xE0, 0x07, 0xE7, 0xE0, 0x07, 0xC3,
0xE0, 0x0F, 0xC3, 0xF0, 0x0F, 0xC3, 0xF0, 0x0F, 0xC3, 0xF0, 0x0F, 0xC3,
0xF0, 0x0F, 0xC3, 0xF0, 0x0F, 0xC3, 0xF0, 0x1F, 0xC1, 0xF8, 0x1F, 0x81,
0xF8, 0x1F, 0x81, 0xF8, 0x1F, 0x81, 0xF8, 0x1F, 0x81, 0xF8, 0x1F, 0x81,
0xF8, 0x1F, 0x81, 0xF8, 0x3F, 0x80, 0xFC, 0x3F, 0xFF, 0xFC, 0x3F, 0xFF,
0xFC, 0x3F, 0xFF, 0xFC, 0x3F, 0xFF, 0xFC, 0x3F, 0xFF, 0xFC, 0x3F, 0xFF,
0xFE, 0x7F, 0x00, 0x7E, 0x7F, 0x00, 0x7E, 0x7E, 0x00, 0x7E, 0x7E, 0x00,
0x7E, 0x7E, 0x00, 0x7E, 0x7E, 0x00, 0x7F, 0x7E, 0x00, 0x7F, 0xFE, 0x00,
0x3F, 0xFE, 0x00, 0x3F, 0xFF, 0xFF, 0x07, 0xFF, 0xFC, 0x3F, 0xFF, 0xF1,
0xFF, 0xFF, 0xCF, 0xFF, 0xFE, 0x7F, 0x07, 0xF3, 0xF8, 0x1F, 0xDF, 0xC0,
0xFE, 0xFE, 0x07, 0xF7, 0xF0, 0x3F, 0xBF, 0x81, 0xFD, 0xFC, 0x0F, 0xEF,
0xE0, 0x7F, 0x7F, 0x03, 0xFB, 0xF8, 0x1F, 0xDF, 0xC0, 0xFE, 0xFE, 0x07,
0xF7, 0xF0, 0x3F, 0x3F, 0x81, 0xF9, 0xFC, 0x1F, 0xCF, 0xFF, 0xFC, 0x7F,
0xFF, 0xC3, 0xFF, 0xFC, 0x1F, 0xFF, 0xF8, 0xFF, 0xFF, 0xC7, 0xF0, 0xFF,
0x3F, 0x81, 0xFD, 0xFC, 0x0F, 0xEF, 0xE0, 0x3F, 0x7F, 0x01, 0xFB, 0xF8,
0x0F, 0xFF, 0xC0, 0x7F, 0xFE, 0x03, 0xFF, 0xF0, 0x1F, 0xFF, 0x80, 0xFF,
0xFC, 0x07, 0xFF, 0xE0, 0x3F, 0xFF, 0x01, 0xFF, 0xF8, 0x0F, 0xFF, 0xC0,
0x7F, 0xFE, 0x03, 0xFF, 0xF0, 0x1F, 0xBF, 0x81, 0xFD, 0xFC, 0x0F, 0xEF,
0xE1, 0xFF, 0x7F, 0xFF, 0xF3, 0xFF, 0xFF, 0x9F, 0xFF, 0xF8, 0xFF, 0xFF,
0x87, 0xFF, 0xE0, 0x00, 0x01, 0xFE, 0x00, 0x3F, 0xFC, 0x03, 0xFF, 0xF0,
0x3F, 0xFF, 0xC3, 0xFF, 0xFE, 0x1F, 0xFF, 0xF9, 0xFE, 0x1F, 0xCF, 0xE0,
0x7E, 0x7F, 0x03, 0xFB, 0xF0, 0x1F, 0xDF, 0x80, 0xFE, 0xFC, 0x07, 0xFF,
0xE0, 0x3F, 0xFF, 0x01, 0xFF, 0xF8, 0x0F, 0xFF, 0xC0, 0x7F, 0xFE, 0x03,
0xFF, 0xF0, 0x1F, 0xFF, 0x80, 0xFF, 0xFC, 0x07, 0xFF, 0xE0, 0x00, 0x7F,
0x00, 0x03, 0xF8, 0x00, 0x1F, 0xC0, 0x00, 0xFE, 0x00, 0x07, 0xF0, 0x00,
0x3F, 0x80, 0x01, 0xFC, 0x00, 0x0F, 0xE0, 0x00, 0x7F, 0x00, 0x03, 0xF8,
0x0F, 0xFF, 0xC0, 0x7F, 0xFE, 0x03, 0xFF, 0xF0, 0x1F, 0xFF, 0x80, 0xFF,
0xFC, 0x07, 0xFF, 0xE0, 0x3F, 0xFF, 0x01, 0xFF, 0xF8, 0x0F, 0xFF, 0xC0,
0x7F, 0x7E, 0x03, 0xFB, 0xF0, 0x1F, 0xDF, 0x80, 0xFE, 0xFE, 0x07, 0xE7,
0xF0, 0x7F, 0x1F, 0xC7, 0xF8, 0xFF, 0xFF, 0x83, 0xFF, 0xFC, 0x1F, 0xFF,
0xC0, 0x7F, 0xFC, 0x00, 0xFF, 0xC0, 0x00, 0x60, 0x00, 0xFF, 0xFE, 0x07,
0xFF, 0xFC, 0x3F, 0xFF, 0xF1, 0xFF, 0xFF, 0xCF, 0xFF, 0xFE, 0x7F, 0x07,
0xFB, 0xF8, 0x1F, 0xDF, 0xC0, 0xFE, 0xFE, 0x03, 0xF7, 0xF0, 0x1F, 0xBF,
0x80, 0xFD, 0xFC, 0x07, 0xFF, 0xE0, 0x3F, 0xFF, 0x01, 0xFF, 0xF8, 0x0F,
0xFF, 0xC0, 0x7F, 0xFE, 0x03, 0xFF, 0xF0, 0x1F, 0xFF, 0x80, 0xFF, 0xFC,
0x07, 0xFF, 0xE0, 0x3F, 0xFF, 0x01, 0xFF, 0xF8, 0x0F, 0xFF, 0xC0, 0x7F,
0xFE, 0x03, 0xFF, 0xF0, 0x1F, 0xFF, 0x80, 0xFF, 0xFC, 0x07, 0xFF, 0xE0,
0x3F, 0xFF, 0x01, 0xFF, 0xF8, 0x0F, 0xFF, 0xC0, 0x7F, 0xFE, 0x03, 0xFF,
0xF0, 0x1F, 0xFF, 0x80, 0xFF, 0xFC, 0x07, 0xFF, 0xE0, 0x3F, 0xFF, 0x01,
0xFF, 0xF8, 0x0F, 0xDF, 0xC0, 0x7E, 0xFE, 0x03, 0xF7, 0xF0, 0x3F, 0xBF,
0x81, 0xFD, 0xFC, 0x0F, 0xEF, 0xE1, 0xFE, 0x7F, 0xFF, 0xF3, 0xFF, 0xFF,
0x1F, 0xFF, 0xF0, 0xFF, 0xFF, 0x07, 0xFF, 0xE0, 0x00, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0xFE, 0x00, 0xFE,
0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE,
0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE,
0x00, 0xFE, 0x00, 0xFF, 0xFE, 0xFF, 0xFE, 0xFF, 0xFE, 0xFF, 0xFE, 0xFF,
0xFE, 0xFF, 0xFE, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE,
0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE,
0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE,
0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE,
0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE,
0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE,
0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFF, 0xFE, 0xFF, 0xFE, 0xFF, 0xFE, 0xFF,
0xFE, 0xFF, 0xFE, 0xFF, 0xFE, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE,
0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE,
0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE,
0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE,
0x00, 0xFE, 0x00, 0xFE, 0x00, 0x01, 0xFE, 0x00, 0x3F, 0xFC, 0x03, 0xFF,
0xF0, 0x3F, 0xFF, 0xC3, 0xFF, 0xFF, 0x1F, 0xFF, 0xF9, 0xFE, 0x1F, 0xCF,
0xE0, 0x7F, 0x7F, 0x03, 0xFB, 0xF0, 0x0F, 0xDF, 0x80, 0x7F, 0xFC, 0x03,
0xFF, 0xE0, 0x1F, 0xFF, 0x00, 0xFF, 0xF8, 0x07, 0xFF, 0xC0, 0x3F, 0xFE,
0x01, 0xFF, 0xF0, 0x0F, 0xFF, 0x80, 0x7F, 0xFC, 0x00, 0x0F, 0xE0, 0x00,
0x7F, 0x00, 0x03, 0xF8, 0x00, 0x1F, 0xC0, 0x00, 0xFE, 0x1F, 0xFF, 0xF0,
0xFF, 0xFF, 0x87, 0xFF, 0xFC, 0x3F, 0xFF, 0xE1, 0xFF, 0xFF, 0x00, 0xFF,
0xF8, 0x07, 0xFF, 0xC0, 0x3F, 0xFE, 0x01, 0xFF, 0xF0, 0x0F, 0xFF, 0x80,
0x7F, 0xFC, 0x03, 0xFF, 0xE0, 0x1F, 0xFF, 0x00, 0xFF, 0xF8, 0x07, 0xEF,
0xC0, 0x3F, 0x7E, 0x01, 0xFB, 0xF0, 0x0F, 0xDF, 0xC0, 0x7E, 0xFE, 0x07,
0xF7, 0xF0, 0x3F, 0x9F, 0xC3, 0xFC, 0xFF, 0xFF, 0xE3, 0xFF, 0xFF, 0x1F,
0xFF, 0x78, 0x7F, 0xF1, 0xC0, 0xFF, 0x0E, 0xFE, 0x03, 0xFF, 0xF0, 0x1F,
0xFF, 0x80, 0xFF, 0xFC, 0x07, 0xFF, 0xE0, 0x3F, 0xFF, 0x01, 0xFF, 0xF8,
0x0F, 0xFF, 0xC0, 0x7F, 0xFE, 0x03, 0xFF, 0xF0, 0x1F, 0xFF, 0x80, 0xFF,
0xFC, 0x07, 0xFF, 0xE0, 0x3F, 0xFF, 0x01, 0xFF, 0xF8, 0x0F, 0xFF, 0xC0,
0x7F, 0xFE, 0x03, 0xFF, 0xF0, 0x1F, 0xFF, 0x80, 0xFF, 0xFC, 0x07, 0xFF,
0xE0, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0xFF, 0xFC, 0x07, 0xFF, 0xE0, 0x3F, 0xFF,
0x01, 0xFF, 0xF8, 0x0F, 0xFF, 0xC0, 0x7F, 0xFE, 0x03, 0xFF, 0xF0, 0x1F,
0xFF, 0x80, 0xFF, 0xFC, 0x07, 0xFF, 0xE0, 0x3F, 0xFF, 0x01, 0xFF, 0xF8,
0x0F, 0xFF, 0xC0, 0x7F, 0xFE, 0x03, 0xFF, 0xF0, 0x1F, 0xFF, 0x80, 0xFF,
0xFC, 0x07, 0xFF, 0xE0, 0x3F, 0xFF, 0x01, 0xFF, 0xF8, 0x0F, 0xFF, 0xC0,
0x7F, 0xFE, 0x03, 0xFF, 0xF0, 0x1F, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFC, 0x00, 0x07, 0xF0, 0x00, 0x7F, 0x00, 0x07, 0xF0, 0x00,
0x7F, 0x00, 0x07, 0xF0, 0x00, 0x7F, 0x00, 0x07, 0xF0, 0x00, 0x7F, 0x00,
0x07, 0xF0, 0x00, 0x7F, 0x00, 0x07, 0xF0, 0x00, 0x7F, 0x00, 0x07, 0xF0,
0x00, 0x7F, 0x00, 0x07, 0xF0, 0x00, 0x7F, 0x00, 0x07, 0xF0, 0x00, 0x7F,
0x00, 0x07, 0xF0, 0x00, 0x7F, 0x00, 0x07, 0xF0, 0x00, 0x7F, 0x00, 0x07,
0xF0, 0x00, 0x7F, 0x00, 0x07, 0xF0, 0x00, 0x7F, 0x00, 0x07, 0xF0, 0x00,
0x7F, 0x00, 0x07, 0xF0, 0x00, 0x7F, 0x00, 0x07, 0xFF, 0xE0, 0x7F, 0xFE,
0x07, 0xFF, 0xE0, 0x7F, 0xFE, 0x07, 0xFF, 0xE0, 0x7F, 0xFE, 0x07, 0xFF,
0xE0, 0x7F, 0xFE, 0x07, 0xFF, 0xE0, 0x7F, 0x7E, 0x07, 0xF7, 0xE0, 0x7F,
0x7E, 0x07, 0xE7, 0xF0, 0xFE, 0x7F, 0x8F, 0xE3, 0xFF, 0xFC, 0x3F, 0xFF,
0xC1, 0xFF, 0xF8, 0x0F, 0xFF, 0x00, 0x7F, 0xE0, 0x00, 0x60, 0x00, 0xFE,
0x01, 0xFD, 0xFC, 0x07, 0xF3, 0xF8, 0x0F, 0xE7, 0xF0, 0x1F, 0x8F, 0xE0,
0x7F, 0x1F, 0xC0, 0xFE, 0x3F, 0x81, 0xF8, 0x7F, 0x07, 0xF0, 0xFE, 0x0F,
0xE1, 0xFC, 0x1F, 0x83, 0xF8, 0x7F, 0x07, 0xF0, 0xFE, 0x0F, 0xE3, 0xF8,
0x1F, 0xC7, 0xF0, 0x3F, 0x8F, 0xC0, 0x7F, 0x3F, 0x80, 0xFE, 0x7F, 0x01,
0xFC, 0xFC, 0x03, 0xFB, 0xF8, 0x07, 0xF7, 0xF0, 0x0F, 0xEF, 0xC0, 0x1F,
0xFF, 0x80, 0x3F, 0xFF, 0x00, 0x7F, 0xFC, 0x00, 0xFF, 0xF8, 0x01, 0xFF,
0xF0, 0x03, 0xFF, 0xF0, 0x07, 0xFF, 0xE0, 0x0F, 0xEF, 0xC0, 0x1F, 0xDF,
0xC0, 0x3F, 0xBF, 0x80, 0x7F, 0x3F, 0x80, 0xFE, 0x7F, 0x01, 0xFC, 0xFE,
0x03, 0xF8, 0xFE, 0x07, 0xF1, 0xFC, 0x0F, 0xE1, 0xF8, 0x1F, 0xC3, 0xF8,
0x3F, 0x87, 0xF0, 0x7F, 0x07, 0xF0, 0xFE, 0x0F, 0xE1, 0xFC, 0x1F, 0xC3,
0xF8, 0x1F, 0xC7, 0xF0, 0x3F, 0x8F, 0xE0, 0x3F, 0x1F, 0xC0, 0x7F, 0x3F,
0x80, 0xFE, 0x7F, 0x00, 0xFE, 0xFE, 0x01, 0xFD, 0xFC, 0x03, 0xFC, 0xFE,
0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE,
0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE,
0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE,
0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE,
0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE,
0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE,
0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFE,
0x00, 0xFE, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x03, 0xFF, 0xFE, 0x00, 0x07, 0xFF, 0xFE,
0x00, 0x0F, 0xFF, 0xFC, 0x00, 0x1F, 0xFF, 0xF8, 0x00, 0x3F, 0xFF, 0xF0,
0x00, 0x7F, 0xFF, 0xE0, 0x01, 0xFF, 0xFF, 0xE0, 0x03, 0xFF, 0xFF, 0xC0,
0x07, 0xFF, 0xFF, 0x80, 0x0F, 0xFF, 0xFF, 0x00, 0x1F, 0xFF, 0xFE, 0x00,
0x7F, 0xFF, 0xFC, 0x00, 0xFF, 0xFF, 0x7C, 0x01, 0xFF, 0xFE, 0xF8, 0x03,
0xFF, 0xFD, 0xF0, 0x07, 0xFF, 0xFB, 0xE0, 0x1F, 0xFF, 0xF7, 0xC0, 0x3E,
0xFF, 0xE7, 0xC0, 0x7D, 0xFF, 0xEF, 0x80, 0xFB, 0xFF, 0xDF, 0x01, 0xF7,
0xFF, 0xBE, 0x03, 0xEF, 0xFF, 0x7C, 0x0F, 0x9F, 0xFE, 0x7C, 0x1F, 0x3F,
0xFC, 0xF8, 0x3E, 0x7F, 0xF9, 0xF0, 0x7C, 0xFF, 0xF3, 0xE0, 0xF9, 0xFF,
0xE7, 0xC3, 0xE3, 0xFF, 0xC7, 0xC7, 0xC7, 0xFF, 0x8F, 0x8F, 0x8F, 0xFF,
0x1F, 0x1F, 0x1F, 0xFE, 0x3E, 0x3E, 0x3F, 0xFC, 0x7C, 0x78, 0x7F, 0xF8,
0x7D, 0xF0, 0xFF, 0xF0, 0xFB, 0xE1, 0xFF, 0xE1, 0xF7, 0xC3, 0xFF, 0xC3,
0xEF, 0x87, 0xFF, 0x87, 0xDE, 0x0F, 0xFF, 0x07, 0xFC, 0x1F, 0xFE, 0x0F,
0xF8, 0x3F, 0xFC, 0x1F, 0xF0, 0x7F, 0xF8, 0x3F, 0xE0, 0xFF, 0xF0, 0x7F,
0x81, 0xFF, 0xE0, 0x7F, 0x03, 0xFF, 0xC0, 0xFE, 0x07, 0xFF, 0x81, 0xFC,
0x0F, 0xFF, 0x03, 0xF8, 0x1F, 0xFE, 0x07, 0xE0, 0x3F, 0xFC, 0x07, 0xC0,
0x7F, 0xF8, 0x0F, 0x80, 0xFC, 0xF8, 0x00, 0xFF, 0xF0, 0x03, 0xFF, 0xC0,
0x0F, 0xFF, 0x80, 0x3F, 0xFE, 0x00, 0xFF, 0xF8, 0x03, 0xFF, 0xF0, 0x0F,
0xFF, 0xC0, 0x3F, 0xFF, 0x00, 0xFF, 0xFE, 0x03, 0xFF, 0xF8, 0x0F, 0xFF,
0xE0, 0x3F, 0xFF, 0xC0, 0xFF, 0xFF, 0x03, 0xFF, 0xFC, 0x0F, 0xFF, 0xF8,
0x3F, 0xFF, 0xE0, 0xFF, 0xFF, 0x83, 0xFF, 0xFF, 0x0F, 0xFF, 0x7C, 0x3F,
0xFD, 0xF0, 0xFF, 0xF7, 0xE3, 0xFF, 0xCF, 0x8F, 0xFF, 0x3E, 0x3F, 0xFC,
0xFC, 0xFF, 0xF1, 0xF3, 0xFF, 0xC7, 0xCF, 0xFF, 0x1F, 0xBF, 0xFC, 0x3E,
0xFF, 0xF0, 0xFB, 0xFF, 0xC3, 0xFF, 0xFF, 0x07, 0xFF, 0xFC, 0x1F, 0xFF,
0xF0, 0x7F, 0xFF, 0xC0, 0xFF, 0xFF, 0x03, 0xFF, 0xFC, 0x0F, 0xFF, 0xF0,
0x1F, 0xFF, 0xC0, 0x7F, 0xFF, 0x01, 0xFF, 0xFC, 0x03, 0xFF, 0xF0, 0x0F,
0xFF, 0xC0, 0x3F, 0xFF, 0x00, 0x7F, 0xFC, 0x01, 0xFF, 0xF0, 0x07, 0xFF,
0xC0, 0x0F, 0xFF, 0x00, 0x3F, 0xFC, 0x00, 0xFF, 0xF0, 0x01, 0xF0, 0x01,
0xFE, 0x00, 0x3F, 0xFC, 0x03, 0xFF, 0xF0, 0x3F, 0xFF, 0xC3, 0xFF, 0xFF,
0x1F, 0xFF, 0xF9, 0xFE, 0x1F, 0xCF, 0xE0, 0x7F, 0x7F, 0x03, 0xFB, 0xF0,
0x1F, 0xDF, 0x80, 0x7F, 0xFC, 0x03, 0xFF, 0xE0, 0x1F, 0xFF, 0x00, 0xFF,
0xF8, 0x07, 0xFF, 0xC0, 0x3F, 0xFE, 0x01, 0xFF, 0xF0, 0x0F, 0xFF, 0x80,
0x7F, 0xFC, 0x03, 0xFF, 0xE0, 0x1F, 0xFF, 0x00, 0xFF, 0xF8, 0x07, 0xFF,
0xC0, 0x3F, 0xFE, 0x01, 0xFF, 0xF0, 0x0F, 0xFF, 0x80, 0x7F, 0xFC, 0x03,
0xFF, 0xE0, 0x1F, 0xFF, 0x00, 0xFF, 0xF8, 0x07, 0xFF, 0xC0, 0x3F, 0xFE,
0x01, 0xFF, 0xF0, 0x0F, 0xFF, 0x80, 0x7F, 0xFC, 0x03, 0xFF, 0xE0, 0x1F,
0xFF, 0x00, 0xFF, 0xF8, 0x07, 0xFF, 0xC0, 0x3F, 0x7E, 0x01, 0xFB, 0xF0,
0x1F, 0xDF, 0x80, 0xFE, 0xFE, 0x07, 0xF7, 0xF0, 0x3F, 0x1F, 0xC7, 0xF8,
0xFF, 0xFF, 0xC3, 0xFF, 0xFC, 0x1F, 0xFF, 0xE0, 0x7F, 0xFE, 0x00, 0xFF,
0xC0, 0x00, 0x70, 0x00, 0xFF, 0xFF, 0x07, 0xFF, 0xFC, 0x3F, 0xFF, 0xF1,
0xFF, 0xFF, 0xCF, 0xFF, 0xFE, 0x7F, 0x07, 0xFB, 0xF8, 0x1F, 0xDF, 0xC0,
0xFE, 0xFE, 0x03, 0xF7, 0xF0, 0x1F, 0xBF, 0x80, 0xFD, 0xFC, 0x07, 0xEF,
0xE0, 0x3F, 0xFF, 0x01, 0xFF, 0xF8, 0x0F, 0xFF, 0xC0, 0x7F, 0xFE, 0x03,
0xFF, 0xF0, 0x1F, 0xBF, 0x80, 0xFD, 0xFC, 0x07, 0xEF, 0xE0, 0x3F, 0x7F,
0x03, 0xFB, 0xF8, 0x1F, 0xDF, 0xC0, 0xFE, 0xFE, 0x1F, 0xE7, 0xFF, 0xFF,
0x3F, 0xFF, 0xF1, 0xFF, 0xFF, 0x8F, 0xFF, 0xF8, 0x7F, 0xFF, 0x03, 0xF8,
0x00, 0x1F, 0xC0, 0x00, 0xFE, 0x00, 0x07, 0xF0, 0x00, 0x3F, 0x80, 0x01,
0xFC, 0x00, 0x0F, 0xE0, 0x00, 0x7F, 0x00, 0x03, 0xF8, 0x00, 0x1F, 0xC0,
0x00, 0xFE, 0x00, 0x07, 0xF0, 0x00, 0x3F, 0x80, 0x01, 0xFC, 0x00, 0x0F,
0xE0, 0x00, 0x7F, 0x00, 0x03, 0xF8, 0x00, 0x1F, 0xC0, 0x00, 0xFE, 0x00,
0x07, 0xF0, 0x00, 0x00, 0x01, 0xFE, 0x00, 0x3F, 0xFC, 0x03, 0xFF, 0xF0,
0x3F, 0xFF, 0xC3, 0xFF, 0xFF, 0x1F, 0xFF, 0xF9, 0xFE, 0x1F, 0xCF, 0xE0,
0x7F, 0x7F, 0x03, 0xFB, 0xF0, 0x1F, 0xDF, 0x80, 0x7F, 0xFC, 0x03, 0xFF,
0xE0, 0x1F, 0xFF, 0x00, 0xFF, 0xF8, 0x07, 0xFF, 0xC0, 0x3F, 0xFE, 0x01,
0xFF, 0xF0, 0x0F, 0xFF, 0x80, 0x7F, 0xFC, 0x03, 0xFF, 0xE0, 0x1F, 0xFF,
0x00, 0xFF, 0xF8, 0x07, 0xFF, 0xC0, 0x3F, 0xFE, 0x01, 0xFF, 0xF0, 0x0F,
0xFF, 0x80, 0x7F, 0xFC, 0x03, 0xFF, 0xE0, 0x1F, 0xFF, 0x00, 0xFF, 0xF8,
0x07, 0xFF, 0xC0, 0x3F, 0xFE, 0x01, 0xFF, 0xF0, 0x0F, 0xFF, 0x80, 0x7F,
0xFC, 0x03, 0xFF, 0xE0, 0x1F, 0xFF, 0x00, 0xFF, 0xF8, 0x07, 0xFF, 0xC0,
0x3F, 0x7E, 0x01, 0xFB, 0xF0, 0x1F, 0xDF, 0x80, 0xFE, 0xFE, 0x07, 0xF7,
0xF0, 0x3F, 0x1F, 0xC7, 0xF8, 0xFF, 0xFF, 0xC3, 0xFF, 0xFC, 0x1F, 0xFF,
0xE0, 0x7F, 0xFE, 0x00, 0xFF, 0xC0, 0x00, 0x7E, 0x00, 0x01, 0xF8, 0x00,
0x07, 0xE0, 0x00, 0x1F, 0x80, 0x00, 0x7E, 0x00, 0x03, 0xF0, 0x00, 0x0E,
0x00, 0x00, 0x20, 0xFF, 0xFF, 0x87, 0xFF, 0xFE, 0x3F, 0xFF, 0xF9, 0xFF,
0xFF, 0xCF, 0xFF, 0xFF, 0x7F, 0x03, 0xFB, 0xF8, 0x1F, 0xDF, 0xC0, 0x7E,
0xFE, 0x03, 0xF7, 0xF0, 0x1F, 0xBF, 0x80, 0xFD, 0xFC, 0x07, 0xFF, 0xE0,
0x3F, 0xFF, 0x01, 0xFF, 0xF8, 0x0F, 0xDF, 0xC0, 0x7E, 0xFE, 0x03, 0xF7,
0xF0, 0x1F, 0xBF, 0x81, 0xFD, 0xFC, 0x0F, 0xEF, 0xE0, 0xFE, 0x7F, 0xFF,
0xF3, 0xFF, 0xFF, 0x1F, 0xFF, 0xE0, 0xFF, 0xFF, 0xC7, 0xFF, 0xFF, 0x3F,
0x83, 0xF9, 0xFC, 0x0F, 0xEF, 0xE0, 0x3F, 0x7F, 0x01, 0xFB, 0xF8, 0x0F,
0xDF, 0xC0, 0x7E, 0xFE, 0x03, 0xF7, 0xF0, 0x1F, 0xBF, 0x80, 0xFD, 0xFC,
0x07, 0xFF, 0xE0, 0x3F, 0xFF, 0x01, 0xFF, 0xF8, 0x0F, 0xFF, 0xC0, 0x7F,
0xFE, 0x03, 0xFF, 0xF0, 0x1F, 0xFF, 0x80, 0xFF, 0xFC, 0x07, 0xFF, 0xE0,
0x3F, 0xFF, 0x01, 0xFF, 0xF8, 0x0F, 0xFF, 0xC0, 0x7F, 0xFE, 0x03, 0xFF,
0xF0, 0x1F, 0xC0, 0x03, 0xFC, 0x00, 0x7F, 0xF8, 0x07, 0xFF, 0xE0, 0x7F,
0xFF, 0x87, 0xFF, 0xFC, 0x3F, 0xFF, 0xF1, 0xFC, 0x3F, 0x8F, 0xC0, 0xFC,
0xFE, 0x07, 0xF7, 0xF0, 0x3F, 0xBF, 0x80, 0xFD, 0xFC, 0x07, 0xEF, 0xE0,
0x3F, 0x7F, 0x01, 0xFB, 0xF8, 0x0F, 0xDF, 0xC0, 0x7E, 0x7F, 0x03, 0xF3,
0xFC, 0x00, 0x0F, 0xF0, 0x00, 0x7F, 0xC0, 0x01, 0xFF, 0x00, 0x0F, 0xFC,
0x00, 0x3F, 0xE0, 0x00, 0xFF, 0x80, 0x03, 0xFE, 0x00, 0x0F, 0xF8, 0x00,
0x3F, 0xE0, 0x00, 0xFF, 0x80, 0x03, 0xFC, 0x00, 0x0F, 0xF0, 0x00, 0x3F,
0x80, 0x01, 0xFE, 0xFE, 0x07, 0xF7, 0xF0, 0x3F, 0xBF, 0x80, 0xFD, 0xFC,
0x07, 0xEF, 0xE0, 0x3F, 0xFF, 0x01, 0xFF, 0xF8, 0x0F, 0xFF, 0xC0, 0x7F,
0x7E, 0x03, 0xFB, 0xF0, 0x1F, 0x9F, 0x80, 0xFC, 0xFC, 0x07, 0xE7, 0xF0,
0x7F, 0x3F, 0xC7, 0xF8, 0xFF, 0xFF, 0x87, 0xFF, 0xFC, 0x1F, 0xFF, 0xC0,
0x7F, 0xFC, 0x01, 0xFF, 0xC0, 0x00, 0x40, 0x00, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x3F, 0x80, 0x1F, 0xC0, 0x0F,
0xE0, 0x07, 0xF0, 0x03, 0xF8, 0x01, 0xFC, 0x00, 0xFE, 0x00, 0x7F, 0x00,
0x3F, 0x80, 0x1F, 0xC0, 0x0F, 0xE0, 0x07, 0xF0, 0x03, 0xF8, 0x01, 0xFC,
0x00, 0xFE, 0x00, 0x7F, 0x00, 0x3F, 0x80, 0x1F, 0xC0, 0x0F, 0xE0, 0x07,
0xF0, 0x03, 0xF8, 0x01, 0xFC, 0x00, 0xFE, 0x00, 0x7F, 0x00, 0x3F, 0x80,
0x1F, 0xC0, 0x0F, 0xE0, 0x07, 0xF0, 0x03, 0xF8, 0x01, 0xFC, 0x00, 0xFE,
0x00, 0x7F, 0x00, 0x3F, 0x80, 0x1F, 0xC0, 0x0F, 0xE0, 0x07, 0xF0, 0x03,
0xF8, 0x01, 0xFC, 0x00, 0xFE, 0x00, 0x7F, 0x00, 0x3F, 0x80, 0x1F, 0xC0,
0x0F, 0xE0, 0x07, 0xF0, 0x03, 0xF8, 0x00, 0xFC, 0x03, 0xFF, 0xE0, 0x1F,
0xFF, 0x00, 0xFF, 0xF8, 0x07, 0xFF, 0xC0, 0x3F, 0xFE, 0x01, 0xFF, 0xF0,
0x0F, 0xFF, 0x80, 0x7F, 0xFC, 0x03, 0xFF, 0xE0, 0x1F, 0xFF, 0x00, 0xFF,
0xF8, 0x07, 0xFF, 0xC0, 0x3F, 0xFE, 0x01, 0xFF, 0xF0, 0x0F, 0xFF, 0x80,
0x7F, 0xFC, 0x03, 0xFF, 0xE0, 0x1F, 0xFF, 0x00, 0xFF, 0xF8, 0x07, 0xFF,
0xC0, 0x3F, 0xFE, 0x01, 0xFF, 0xF0, 0x0F, 0xFF, 0x80, 0x7F, 0xFC, 0x03,
0xFF, 0xE0, 0x1F, 0xFF, 0x00, 0xFF, 0xF8, 0x07, 0xFF, 0xC0, 0x3F, 0xFE,
0x01, 0xFF, 0xF0, 0x0F, 0xFF, 0x80, 0x7F, 0xFC, 0x03, 0xFF, 0xE0, 0x1F,
0xFF, 0x00, 0xFF, 0xF8, 0x07, 0xFF, 0xC0, 0x3F, 0xFE, 0x01, 0xFB, 0xF0,
0x0F, 0xDF, 0x80, 0x7E, 0xFC, 0x03, 0xF7, 0xE0, 0x1F, 0xBF, 0x81, 0xFD,
0xFC, 0x0F, 0xE7, 0xF0, 0xFF, 0x3F, 0xFF, 0xF1, 0xFF, 0xFF, 0x87, 0xFF,
0xF8, 0x1F, 0xFF, 0x80, 0x3F, 0xF8, 0x00, 0x18, 0x00, 0xFE, 0x00, 0x7F,
0xFE, 0x00, 0x7E, 0x7E, 0x00, 0x7E, 0x7E, 0x00, 0x7E, 0x7E, 0x00, 0x7E,
0x7E, 0x00, 0x7E, 0x7F, 0x00, 0x7E, 0x7F, 0x00, 0xFE, 0x3F, 0x00, 0xFC,
0x3F, 0x00, 0xFC, 0x3F, 0x00, 0xFC, 0x3F, 0x00, 0xFC, 0x3F, 0x00, 0xFC,
0x3F, 0x80, 0xFC, 0x1F, 0x80, 0xFC, 0x1F, 0x81, 0xF8, 0x1F, 0x81, 0xF8,
0x1F, 0x81, 0xF8, 0x1F, 0x81, 0xF8, 0x1F, 0xC1, 0xF8, 0x0F, 0xC1, 0xF8,
0x0F, 0xC1, 0xF8, 0x0F, 0xC1, 0xF0, 0x0F, 0xC3, 0xF0, 0x0F, 0xC3, 0xF0,
0x0F, 0xC3, 0xF0, 0x0F, 0xE3, 0xF0, 0x07, 0xE3, 0xF0, 0x07, 0xE3, 0xE0,
0x07, 0xE3, 0xE0, 0x07, 0xE3, 0xE0, 0x07, 0xE7, 0xE0, 0x07, 0xE7, 0xE0,
0x03, 0xF7, 0xE0, 0x03, 0xF7, 0xE0, 0x03, 0xF7, 0xC0, 0x03, 0xF7, 0xC0,
0x03, 0xF7, 0xC0, 0x03, 0xF7, 0xC0, 0x01, 0xFF, 0xC0, 0x01, 0xFF, 0xC0,
0x01, 0xFF, 0xC0, 0x01, 0xFF, 0x80, 0x01, 0xFF, 0x80, 0x01, 0xFF, 0x80,
0x00, 0xFF, 0x80, 0x00, 0xFF, 0x80, 0x00, 0xFF, 0x80, 0x00, 0xFF, 0x80,
0x00, 0xFF, 0x00, 0xFE, 0x00, 0xF8, 0x03, 0xF7, 0xE0, 0x0F, 0xC0, 0x3F,
0x7E, 0x01, 0xFC, 0x03, 0xF7, 0xE0, 0x1F, 0xC0, 0x3F, 0x7E, 0x01, 0xFC,
0x03, 0xF7, 0xE0, 0x1F, 0xC0, 0x3F, 0x7E, 0x01, 0xFC, 0x03, 0xE7, 0xE0,
0x1F, 0xC0, 0x7E, 0x3E, 0x01, 0xFE, 0x07, 0xE3, 0xF0, 0x3F, 0xE0, 0x7E,
0x3F, 0x03, 0xFE, 0x07, 0xE3, 0xF0, 0x3F, 0xE0, 0x7E, 0x3F, 0x03, 0xFE,
0x07, 0xE3, 0xF0, 0x3F, 0xE0, 0x7E, 0x3F, 0x03, 0xFE, 0x07, 0xE1, 0xF0,
0x3F, 0xF0, 0x7C, 0x1F, 0x07, 0xDF, 0x07, 0xC1, 0xF0, 0x7D, 0xF0, 0xFC,
0x1F, 0x87, 0xDF, 0x0F, 0xC1, 0xF8, 0x7D, 0xF0, 0xFC, 0x1F, 0x87, 0xCF,
0x0F, 0xC1, 0xF8, 0x7C, 0xF0, 0xFC, 0x1F, 0x87, 0xCF, 0x8F, 0xC0, 0xF8,
0xF8, 0xF8, 0xF8, 0x0F, 0x8F, 0x8F, 0x8F, 0x80, 0xF8, 0xF8, 0xF8, 0xF8,
0x0F, 0x8F, 0x8F, 0x8F, 0x80, 0xFC, 0xF8, 0x78, 0xF8, 0x0F, 0xCF, 0x87,
0x9F, 0x80, 0xFC, 0xF0, 0x7D, 0xF8, 0x0F, 0xDF, 0x07, 0xDF, 0x80, 0x7D,
0xF0, 0x7D, 0xF8, 0x07, 0xDF, 0x07, 0xDF, 0x00, 0x7D, 0xF0, 0x7D, 0xF0,
0x07, 0xDF, 0x03, 0xDF, 0x00, 0x7D, 0xF0, 0x3D, 0xF0, 0x07, 0xFE, 0x03,
0xFF, 0x00, 0x7F, 0xE0, 0x3F, 0xF0, 0x07, 0xFE, 0x03, 0xFF, 0x00, 0x3F,
0xE0, 0x3F, 0xF0, 0x03, 0xFE, 0x03, 0xFE, 0x00, 0x3F, 0xE0, 0x1F, 0xE0,
0x03, 0xFE, 0x01, 0xFE, 0x00, 0x3F, 0xC0, 0x1F, 0xE0, 0x03, 0xFC, 0x01,
0xFE, 0x00, 0x3F, 0xC0, 0x1F, 0xE0, 0x03, 0xFC, 0x01, 0xFE, 0x00, 0x1F,
0xC0, 0x1F, 0xE0, 0x01, 0xFC, 0x00, 0xFE, 0x00, 0x1F, 0xC0, 0x0F, 0xC0,
0xFC, 0x01, 0xF9, 0xF8, 0x07, 0xE7, 0xE0, 0x3F, 0x8F, 0x80, 0xFC, 0x3F,
0x03, 0xF0, 0xFC, 0x0F, 0xC1, 0xF0, 0x7E, 0x07, 0xE1, 0xF8, 0x1F, 0x87,
0xE0, 0x7E, 0x1F, 0x80, 0xF8, 0xFC, 0x03, 0xF3, 0xF0, 0x0F, 0xCF, 0xC0,
0x1F, 0x3E, 0x00, 0x7F, 0xF8, 0x01, 0xFF, 0xE0, 0x03, 0xFF, 0x80, 0x0F,
0xFC, 0x00, 0x3F, 0xF0, 0x00, 0x7F, 0xC0, 0x01, 0xFF, 0x00, 0x07, 0xF8,
0x00, 0x1F, 0xE0, 0x00, 0x3F, 0x80, 0x01, 0xFC, 0x00, 0x07, 0xF0, 0x00,
0x1F, 0xC0, 0x00, 0xFF, 0x80, 0x03, 0xFE, 0x00, 0x0F, 0xF8, 0x00, 0x3F,
0xF0, 0x01, 0xFF, 0xC0, 0x07, 0xFF, 0x00, 0x1F, 0xFE, 0x00, 0x7F, 0xF8,
0x03, 0xF3, 0xE0, 0x0F, 0xCF, 0xC0, 0x3F, 0x3F, 0x01, 0xFC, 0xFC, 0x07,
0xE1, 0xF8, 0x1F, 0x87, 0xE0, 0x7E, 0x1F, 0x83, 0xF8, 0x3E, 0x0F, 0xC0,
0xFC, 0x3F, 0x03, 0xF1, 0xFC, 0x07, 0xC7, 0xE0, 0x1F, 0x9F, 0x80, 0x7E,
0x7E, 0x00, 0xFB, 0xF8, 0x03, 0xF0, 0xFE, 0x00, 0x7F, 0x7E, 0x00, 0x7E,
0x7F, 0x00, 0x7E, 0x3F, 0x00, 0xFE, 0x3F, 0x00, 0xFE, 0x3F, 0x80, 0xFC,
0x3F, 0x80, 0xFC, 0x1F, 0x81, 0xFC, 0x1F, 0x81, 0xF8, 0x1F, 0xC1, 0xF8,
0x0F, 0xC1, 0xF8, 0x0F, 0xC3, 0xF8, 0x0F, 0xE3, 0xF0, 0x07, 0xE3, 0xF0,
0x07, 0xE3, 0xF0, 0x07, 0xE7, 0xF0, 0x07, 0xF7, 0xE0, 0x03, 0xF7, 0xE0,
0x03, 0xF7, 0xE0, 0x03, 0xFF, 0xC0, 0x01, 0xFF, 0xC0, 0x01, 0xFF, 0xC0,
0x01, 0xFF, 0xC0, 0x01, 0xFF, 0x80, 0x00, 0xFF, 0x80, 0x00, 0xFF, 0x80,
0x00, 0xFF, 0x80, 0x00, 0x7F, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x7F, 0x00,
0x00, 0x7F, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x7F, 0x00,
0x00, 0x7F, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x7F, 0x00,
0x00, 0x7F, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x7F, 0x00,
0x00, 0x7F, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x7F, 0x00,
0x00, 0x7F, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x7F, 0x00,
0x7F, 0xFF, 0xBF, 0xFF, 0xDF, 0xFF, 0xEF, 0xFF, 0xF7, 0xFF, 0xF8, 0x01,
0xFC, 0x00, 0xFE, 0x00, 0x7F, 0x00, 0x7F, 0x00, 0x3F, 0x80, 0x1F, 0xC0,
0x0F, 0xE0, 0x0F, 0xE0, 0x07, 0xF0, 0x03, 0xF8, 0x01, 0xF8, 0x01, 0xFC,
0x00, 0xFE, 0x00, 0x7F, 0x00, 0x7F, 0x00, 0x3F, 0x80, 0x1F, 0xC0, 0x0F,
0xE0, 0x0F, 0xE0, 0x07, 0xF0, 0x03, 0xF8, 0x01, 0xFC, 0x01, 0xFC, 0x00,
0xFE, 0x00, 0x7F, 0x00, 0x3F, 0x80, 0x3F, 0x80, 0x1F, 0xC0, 0x0F, 0xE0,
0x0F, 0xE0, 0x07, 0xF0, 0x03, 0xF8, 0x01, 0xFC, 0x01, 0xFC, 0x00, 0xFE,
0x00, 0x7F, 0x00, 0x3F, 0x80, 0x3F, 0x80, 0x1F, 0xC0, 0x0F, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xFC, 0x0F, 0xC0, 0xFC,
0x0F, 0xC0, 0xFC, 0x0F, 0xC0, 0xFC, 0x0F, 0xC0, 0xFC, 0x0F, 0xC0, 0xFC,
0x0F, 0xC0, 0xFC, 0x0F, 0xC0, 0xFC, 0x0F, 0xC0, 0xFC, 0x0F, 0xC0, 0xFC,
0x0F, 0xC0, 0xFC, 0x0F, 0xC0, 0xFC, 0x0F, 0xC0, 0xFC, 0x0F, 0xC0, 0xFC,
0x0F, 0xC0, 0xFC, 0x0F, 0xC0, 0xFC, 0x0F, 0xC0, 0xFC, 0x0F, 0xC0, 0xFC,
0x0F, 0xC0, 0xFC, 0x0F, 0xC0, 0xFC, 0x0F, 0xC0, 0xFC, 0x0F, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0x1F, 0x80, 0x07, 0xE0, 0x01,
0xF8, 0x00, 0x3E, 0x00, 0x0F, 0xC0, 0x03, 0xF0, 0x00, 0xFC, 0x00, 0x3F,
0x00, 0x07, 0xE0, 0x01, 0xF8, 0x00, 0x7E, 0x00, 0x1F, 0x80, 0x03, 0xE0,
0x00, 0xFC, 0x00, 0x3F, 0x00, 0x0F, 0xC0, 0x01, 0xF0, 0x00, 0x7E, 0x00,
0x1F, 0x80, 0x07, 0xE0, 0x01, 0xF8, 0x00, 0x3F, 0x00, 0x0F, 0xC0, 0x03,
0xF0, 0x00, 0xFC, 0x00, 0x1F, 0x80, 0x07, 0xE0, 0x01, 0xF8, 0x00, 0x7E,
0x00, 0x0F, 0x80, 0x03, 0xF0, 0x00, 0xFC, 0x00, 0x3F, 0x00, 0x07, 0xC0,
0x01, 0xF8, 0x00, 0x7E, 0x00, 0x1F, 0x80, 0x07, 0xE0, 0x00, 0xFC, 0x00,
0x3F, 0x00, 0x0F, 0xC0, 0x03, 0xF0, 0x00, 0x7C, 0x00, 0x1F, 0x80, 0x07,
0xE0, 0x01, 0xF8, 0x00, 0x3E, 0x00, 0x0F, 0xC0, 0x03, 0xF0, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x3F, 0x03, 0xF0, 0x3F, 0x03, 0xF0,
0x3F, 0x03, 0xF0, 0x3F, 0x03, 0xF0, 0x3F, 0x03, 0xF0, 0x3F, 0x03, 0xF0,
0x3F, 0x03, 0xF0, 0x3F, 0x03, 0xF0, 0x3F, 0x03, 0xF0, 0x3F, 0x03, 0xF0,
0x3F, 0x03, 0xF0, 0x3F, 0x03, 0xF0, 0x3F, 0x03, 0xF0, 0x3F, 0x03, 0xF0,
0x3F, 0x03, 0xF0, 0x3F, 0x03, 0xF0, 0x3F, 0x03, 0xF0, 0x3F, 0x03, 0xF0,
0x3F, 0x03, 0xF0, 0x3F, 0x03, 0xF0, 0x3F, 0x03, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0xFE, 0x00, 0x0F, 0xF8, 0x00, 0x3F, 0xF0,
0x00, 0xFF, 0xC0, 0x07, 0xFF, 0x00, 0x1F, 0xFC, 0x00, 0x7D, 0xF8, 0x01,
0xF7, 0xE0, 0x0F, 0xCF, 0x80, 0x3F, 0x3F, 0x00, 0xFC, 0xFC, 0x03, 0xE3,
0xF0, 0x1F, 0x87, 0xC0, 0x7E, 0x1F, 0x81, 0xF8, 0x7E, 0x07, 0xE1, 0xF8,
0x3F, 0x07, 0xE0, 0xFC, 0x0F, 0xC3, 0xF0, 0x3F, 0x0F, 0xC0, 0xFC, 0x7E,
0x03, 0xF1, 0xF8, 0x0F, 0xE7, 0xE0, 0x1F, 0xBF, 0x80, 0x7E, 0xFE, 0x01,
0xFB, 0xF0, 0x07, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFE, 0xFE, 0x1F, 0xC3, 0xF0, 0xFC, 0x1F, 0x07, 0xE0,
0xF8, 0x3E, 0x07, 0x81, 0xE0, 0x3C, 0x00, 0x20, 0x00, 0x7F, 0xF0, 0x0F,
0xFF, 0x81, 0xFF, 0xFC, 0x3F, 0xFF, 0xE3, 0xFF, 0xFE, 0x7F, 0x8F, 0xE7,
0xF0, 0x7F, 0x7E, 0x07, 0xF7, 0xE0, 0x7F, 0x7E, 0x03, 0xF7, 0xE0, 0x3F,
0x7E, 0x03, 0xF7, 0xE0, 0x3F, 0x7E, 0x03, 0xF0, 0x00, 0x3F, 0x00, 0x07,
0xF0, 0x01, 0xFF, 0x00, 0xFF, 0xF0, 0x3F, 0xFF, 0x0F, 0xFB, 0xF1, 0xFE,
0x3F, 0x3F, 0xC3, 0xF7, 0xF0, 0x3F, 0x7F, 0x03, 0xF7, 0xE0, 0x3F, 0xFE,
0x03, 0xFF, 0xE0, 0x3F, 0xFE, 0x03, 0xFF, 0xE0, 0x3F, 0xFE, 0x03, 0xFF,
0xE0, 0x3F, 0xFE, 0x03, 0xFF, 0xE0, 0x3F, 0xFE, 0x03, 0xFF, 0xE0, 0x3F,
0xFE, 0x07, 0xF7, 0xE0, 0x7F, 0x7F, 0x0F, 0xF7, 0xFF, 0xFF, 0x7F, 0xFB,
0xF3, 0xFF, 0xBF, 0x1F, 0xF3, 0xF0, 0xFE, 0x3F, 0xFE, 0x00, 0x0F, 0xE0,
0x00, 0xFE, 0x00, 0x0F, 0xE0, 0x00, 0xFE, 0x00, 0x0F, 0xE0, 0x00, 0xFE,
0x00, 0x0F, 0xE0, 0x80, 0xFE, 0x7F, 0x0F, 0xEF, 0xFC, 0xFF, 0xFF, 0xCF,
0xFF, 0xFE, 0xFF, 0xFF, 0xEF, 0xF0, 0xFE, 0xFF, 0x07, 0xFF, 0xE0, 0x7F,
0xFE, 0x07, 0xFF, 0xE0, 0x3F, 0xFE, 0x03, 0xFF, 0xE0, 0x3F, 0xFE, 0x03,
0xFF, 0xE0, 0x3F, 0xFE, 0x03, 0xFF, 0xE0, 0x3F, 0xFE, 0x03, 0xFF, 0xE0,
0x3F, 0xFE, 0x03, 0xFF, 0xE0, 0x3F, 0xFE, 0x03, 0xFF, 0xE0, 0x3F, 0xFE,
0x03, 0xFF, 0xE0, 0x3F, 0xFE, 0x03, 0xFF, 0xE0, 0x3F, 0xFE, 0x03, 0xFF,
0xE0, 0x3F, 0xFE, 0x03, 0xFF, 0xE0, 0x3F, 0xFE, 0x03, 0xFF, 0xE0, 0x3F,
0xFE, 0x03, 0xFF, 0xE0, 0x7F, 0xFE, 0x07, 0xFF, 0xE0, 0x7F, 0xFF, 0x07,
0xFF, 0xF0, 0xFE, 0xFF, 0xFF, 0xEF, 0xFF, 0xFE, 0xFF, 0xFF, 0xCF, 0xEF,
0xF8, 0xFE, 0x7F, 0x00, 0x00, 0x20, 0x00, 0x7F, 0xF0, 0x0F, 0xFF, 0x81,
0xFF, 0xFC, 0x3F, 0xFF, 0xE3, 0xFF, 0xFE, 0x7F, 0x8F, 0xE7, 0xF0, 0x7F,
0x7E, 0x07, 0xF7, 0xE0, 0x3F, 0x7E, 0x03, 0xF7, 0xE0, 0x3F, 0xFE, 0x03,
0xFF, 0xE0, 0x3F, 0xFE, 0x03, 0xFF, 0xE0, 0x3F, 0xFE, 0x03, 0xFF, 0xE0,
0x00, 0xFE, 0x00, 0x0F, 0xE0, 0x00, 0xFE, 0x00, 0x0F, 0xE0, 0x00, 0xFE,
0x00, 0x0F, 0xE0, 0x00, 0xFE, 0x00, 0x0F, 0xE0, 0x00, 0xFE, 0x00, 0x0F,
0xE0, 0x3F, 0xFE, 0x03, 0xFF, 0xE0, 0x3F, 0xFE, 0x03, 0xFF, 0xE0, 0x3F,
0xFE, 0x03, 0xF7, 0xE0, 0x3F, 0x7E, 0x03, 0xF7, 0xE0, 0x7F, 0x7E, 0x07,
0xF7, 0xF0, 0x7E, 0x7F, 0x8F, 0xE3, 0xFF, 0xFE, 0x3F, 0xFF, 0xC1, 0xFF,
0xFC, 0x0F, 0xFF, 0x80, 0x7F, 0xE0, 0x00, 0x70, 0x00, 0x00, 0x03, 0xF8,
0x00, 0x1F, 0xC0, 0x00, 0xFE, 0x00, 0x07, 0xF0, 0x00, 0x3F, 0x80, 0x01,
0xFC, 0x00, 0x0F, 0xE0, 0x18, 0x7F, 0x07, 0xF3, 0xF8, 0xFF, 0xDF, 0xC7,
0xFF, 0xFE, 0x7F, 0xFF, 0xF3, 0xFF, 0xFF, 0xBF, 0xC7, 0xFD, 0xFC, 0x1F,
0xEF, 0xE0, 0xFF, 0x7E, 0x03, 0xFB, 0xF0, 0x1F, 0xFF, 0x80, 0xFF, 0xFC,
0x07, 0xFF, 0xE0, 0x3F, 0xFF, 0x01, 0xFF, 0xF8, 0x0F, 0xFF, 0xC0, 0x7F,
0xFE, 0x03, 0xFF, 0xF0, 0x1F, 0xFF, 0x80, 0xFF, 0xFC, 0x07, 0xFF, 0xE0,
0x3F, 0xFF, 0x01, 0xFF, 0xF8, 0x0F, 0xFF, 0xC0, 0x7F, 0xFE, 0x03, 0xFF,
0xF0, 0x1F, 0xFF, 0x80, 0xFF, 0xFC, 0x07, 0xFF, 0xE0, 0x3F, 0xFF, 0x01,
0xFF, 0xF8, 0x0F, 0xFF, 0xC0, 0x7F, 0xFE, 0x03, 0xFB, 0xF0, 0x1F, 0xDF,
0x80, 0xFE, 0xFC, 0x0F, 0xF7, 0xF0, 0x7F, 0xBF, 0xC7, 0xFD, 0xFF, 0xFF,
0xE7, 0xFF, 0xFF, 0x3F, 0xFB, 0xF8, 0xFF, 0xDF, 0xC3, 0xF8, 0xFE, 0x00,
0x20, 0x00, 0x3F, 0xF0, 0x0F, 0xFF, 0x81, 0xFF, 0xFC, 0x3F, 0xFF, 0xE3,
0xFF, 0xFE, 0x7F, 0x0F, 0xE7, 0xF0, 0x7F, 0x7E, 0x07, 0xF7, 0xE0, 0x7F,
0x7E, 0x03, 0xFF, 0xE0, 0x3F, 0xFE, 0x03, 0xFF, 0xE0, 0x3F, 0xFE, 0x03,
0xFF, 0xE0, 0x3F, 0xFE, 0x03, 0xFF, 0xE0, 0x3F, 0xFE, 0x03, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0xFE,
0x00, 0x0F, 0xE0, 0x00, 0xFE, 0x00, 0x0F, 0xE0, 0x00, 0xFE, 0x03, 0xFF,
0xE0, 0x3F, 0xFE, 0x03, 0xFF, 0xE0, 0x3F, 0xFE, 0x03, 0xF7, 0xE0, 0x3F,
0x7E, 0x03, 0xF7, 0xE0, 0x7F, 0x7E, 0x07, 0xF7, 0xF0, 0x7F, 0x7F, 0x0F,
0xE3, 0xFF, 0xFE, 0x3F, 0xFF, 0xE1, 0xFF, 0xFC, 0x0F, 0xFF, 0x80, 0x7F,
0xF0, 0x00, 0x60, 0x00, 0x01, 0xFE, 0x07, 0xFC, 0x1F, 0xF8, 0x7F, 0xF0,
0xFF, 0xE1, 0xFC, 0x03, 0xF0, 0x07, 0xE0, 0x0F, 0xC0, 0x1F, 0x83, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xF0, 0x07, 0xE0, 0x0F, 0xC0,
0x1F, 0x80, 0x3F, 0x00, 0x7E, 0x00, 0xFC, 0x01, 0xF8, 0x03, 0xF0, 0x07,
0xE0, 0x0F, 0xC0, 0x1F, 0x80, 0x3F, 0x00, 0x7E, 0x00, 0xFC, 0x01, 0xF8,
0x03, 0xF0, 0x07, 0xE0, 0x0F, 0xC0, 0x1F, 0x80, 0x3F, 0x00, 0x7E, 0x00,
0xFC, 0x01, 0xF8, 0x03, 0xF0, 0x07, 0xE0, 0x0F, 0xC0, 0x1F, 0x80, 0x3F,
0x00, 0x7E, 0x00, 0xFC, 0x01, 0xF8, 0x03, 0xF0, 0x07, 0xE0, 0x0F, 0xC0,
0x1F, 0x80, 0x3F, 0x00, 0x00, 0x80, 0x00, 0x3F, 0x9F, 0xC7, 0xFE, 0xFE,
0x3F, 0xFF, 0xF3, 0xFF, 0xFF, 0x9F, 0xFF, 0xFD, 0xFE, 0x3F, 0xEF, 0xE0,
0xFF, 0x7E, 0x07, 0xFB, 0xF0, 0x1F, 0xDF, 0x80, 0xFF, 0xFC, 0x07, 0xFF,
0xE0, 0x3F, 0xFF, 0x01, 0xFF, 0xF8, 0x0F, 0xFF, 0xC0, 0x7F, 0xFE, 0x03,
0xFF, 0xF0, 0x1F, 0xFF, 0x80, 0xFF, 0xFC, 0x07, 0xFF, 0xE0, 0x3F, 0xFF,
0x01, 0xFF, 0xF8, 0x0F, 0xFF, 0xC0, 0x7F, 0xFE, 0x03, 0xFF, 0xF0, 0x1F,
0xFF, 0x80, 0xFF, 0xFC, 0x07, 0xFF, 0xE0, 0x3F, 0xFF, 0x01, 0xFD, 0xF8,
0x0F, 0xEF, 0xC0, 0x7F, 0x7F, 0x07, 0xFB, 0xF8, 0x3F, 0xDF, 0xF3, 0xFE,
0x7F, 0xFF, 0xF3, 0xFF, 0xFF, 0x8F, 0xFD, 0xFC, 0x3F, 0xCF, 0xE0, 0x7C,
0x7F, 0x00, 0x03, 0xF0, 0x00, 0x1F, 0x80, 0x00, 0xFC, 0x40, 0x0F, 0xE3,
0x80, 0xFF, 0x3F, 0xFF, 0xF1, 0xFF, 0xFF, 0x9F, 0xFF, 0xF8, 0x7F, 0xFF,
0x80, 0xFF, 0xF0, 0x00, 0x38, 0x00, 0xFE, 0x00, 0x07, 0xF0, 0x00, 0x3F,
0x80, 0x01, 0xFC, 0x00, 0x0F, 0xE0, 0x00, 0x7F, 0x00, 0x03, 0xF8, 0x00,
0x1F, 0xC1, 0xC0, 0xFE, 0x3F, 0x87, 0xF3, 0xFF, 0x3F, 0xBF, 0xF9, 0xFF,
0xFF, 0xEF, 0xFF, 0xFF, 0x7F, 0xC7, 0xFB, 0xFC, 0x1F, 0xDF, 0xC0, 0x7F,
0xFE, 0x03, 0xFF, 0xF0, 0x1F, 0xFF, 0x80, 0xFF, 0xFC, 0x07, 0xFF, 0xE0,
0x3F, 0xFF, 0x01, 0xFF, 0xF8, 0x0F, 0xFF, 0xC0, 0x7F, 0xFE, 0x03, 0xFF,
0xF0, 0x1F, 0xFF, 0x80, 0xFF, 0xFC, 0x07, 0xFF, 0xE0, 0x3F, 0xFF, 0x01,
0xFF, 0xF8, 0x0F, 0xFF, 0xC0, 0x7F, 0xFE, 0x03, 0xFF, 0xF0, 0x1F, 0xFF,
0x80, 0xFF, 0xFC, 0x07, 0xFF, 0xE0, 0x3F, 0xFF, 0x01, 0xFF, 0xF8, 0x0F,
0xFF, 0xC0, 0x7F, 0xFE, 0x03, 0xFF, 0xF0, 0x1F, 0xFF, 0x80, 0xFF, 0xFC,
0x07, 0xFF, 0xE0, 0x3F, 0xFF, 0x01, 0xFF, 0xF8, 0x0F, 0xFF, 0xC0, 0x7F,
0xFE, 0x03, 0xFF, 0xF0, 0x1F, 0xFF, 0x80, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xC0, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x3F, 0x9F, 0xCF, 0xE7, 0xF3,
0xF9, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x07, 0xE3, 0xF1, 0xF8, 0xFC, 0x7E,
0x3F, 0x1F, 0x8F, 0xC7, 0xE3, 0xF1, 0xF8, 0xFC, 0x7E, 0x3F, 0x1F, 0x8F,
0xC7, 0xE3, 0xF1, 0xF8, 0xFC, 0x7E, 0x3F, 0x1F, 0x8F, 0xC7, 0xE3, 0xF1,
0xF8, 0xFC, 0x7E, 0x3F, 0x1F, 0x8F, 0xC7, 0xE3, 0xF1, 0xF8, 0xFC, 0x7E,
0x3F, 0x1F, 0x8F, 0xC7, 0xE3, 0xF1, 0xF9, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F,
0xBF, 0x00, 0xFE, 0x00, 0x03, 0xF8, 0x00, 0x0F, 0xE0, 0x00, 0x3F, 0x80,
0x00, 0xFE, 0x00, 0x03, 0xF8, 0x00, 0x0F, 0xE0, 0x00, 0x3F, 0x80, 0x00,
0xFE, 0x03, 0xFB, 0xF8, 0x0F, 0xEF, 0xE0, 0x3F, 0x3F, 0x81, 0xFC, 0xFE,
0x07, 0xF3, 0xF8, 0x3F, 0x8F, 0xE0, 0xFE, 0x3F, 0x83, 0xF0, 0xFE, 0x1F,
0xC3, 0xF8, 0x7E, 0x0F, 0xE3, 0xF8, 0x3F, 0x8F, 0xE0, 0xFE, 0x3F, 0x03,
0xF9, 0xFC, 0x0F, 0xE7, 0xE0, 0x3F, 0x9F, 0x80, 0xFE, 0xFE, 0x03, 0xFB,
0xF0, 0x0F, 0xFF, 0xC0, 0x3F, 0xFE, 0x00, 0xFF, 0xF8, 0x03, 0xFF, 0xE0,
0x0F, 0xFF, 0x80, 0x3F, 0xFF, 0x00, 0xFE, 0xFC, 0x03, 0xFB, 0xF0, 0x0F,
0xEF, 0xE0, 0x3F, 0x9F, 0x80, 0xFE, 0x7F, 0x03, 0xF8, 0xFC, 0x0F, 0xE3,
0xF8, 0x3F, 0x8F, 0xE0, 0xFE, 0x1F, 0x83, 0xF8, 0x7F, 0x0F, 0xE0, 0xFC,
0x3F, 0x83, 0xF8, 0xFE, 0x0F, 0xE3, 0xF8, 0x1F, 0xCF, 0xE0, 0x7F, 0x3F,
0x80, 0xFC, 0xFE, 0x03, 0xFB, 0xF8, 0x0F, 0xEF, 0xE0, 0x1F, 0xC0, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0x04, 0x00, 0x30,
0x3F, 0x9F, 0xE0, 0x7F, 0x8F, 0xEF, 0xFC, 0x7F, 0xF3, 0xFF, 0xFF, 0xBF,
0xFE, 0xFF, 0xFF, 0xEF, 0xFF, 0xBF, 0xFF, 0xFF, 0xFF, 0xEF, 0xF8, 0xFF,
0xC3, 0xFF, 0xFC, 0x1F, 0xE0, 0x7F, 0xFE, 0x03, 0xF8, 0x1F, 0xFF, 0x80,
0xFC, 0x07, 0xFF, 0xE0, 0x3F, 0x00, 0xFF, 0xF8, 0x0F, 0xC0, 0x3F, 0xFE,
0x03, 0xF0, 0x0F, 0xFF, 0x80, 0xFC, 0x03, 0xFF, 0xE0, 0x3F, 0x00, 0xFF,
0xF8, 0x0F, 0xC0, 0x3F, 0xFE, 0x03, 0xF0, 0x0F, 0xFF, 0x80, 0xFC, 0x03,
0xFF, 0xE0, 0x3F, 0x00, 0xFF, 0xF8, 0x0F, 0xC0, 0x3F, 0xFE, 0x03, 0xF0,
0x0F, 0xFF, 0x80, 0xFC, 0x03, 0xFF, 0xE0, 0x3F, 0x00, 0xFF, 0xF8, 0x0F,
0xC0, 0x3F, 0xFE, 0x03, 0xF0, 0x0F, 0xFF, 0x80, 0xFC, 0x03, 0xFF, 0xE0,
0x3F, 0x00, 0xFF, 0xF8, 0x0F, 0xC0, 0x3F, 0xFE, 0x03, 0xF0, 0x0F, 0xFF,
0x80, 0xFC, 0x03, 0xFF, 0xE0, 0x3F, 0x00, 0xFF, 0xF8, 0x0F, 0xC0, 0x3F,
0xFE, 0x03, 0xF0, 0x0F, 0xFF, 0x80, 0xFC, 0x03, 0xFF, 0xE0, 0x3F, 0x00,
0xFF, 0xF8, 0x0F, 0xC0, 0x3F, 0xFE, 0x03, 0xF0, 0x0F, 0xFF, 0x80, 0xFC,
0x03, 0xFF, 0xE0, 0x3F, 0x00, 0xFF, 0xF8, 0x0F, 0xC0, 0x3F, 0xFE, 0x03,
0xF0, 0x0F, 0xFF, 0x80, 0xFC, 0x03, 0xFF, 0xE0, 0x3F, 0x00, 0xFF, 0xF8,
0x0F, 0xC0, 0x3F, 0x00, 0x04, 0x07, 0xF1, 0xFC, 0x3F, 0xBF, 0xF9, 0xFD,
0xFF, 0xCF, 0xFF, 0xFF, 0x7F, 0xFF, 0xFB, 0xFC, 0x1F, 0xDF, 0xC0, 0xFE,
0xFE, 0x03, 0xFF, 0xF0, 0x1F, 0xFF, 0x80, 0xFF, 0xFC, 0x07, 0xFF, 0xE0,
0x3F, 0xFF, 0x01, 0xFF, 0xF8, 0x0F, 0xFF, 0xC0, 0x7F, 0xFE, 0x03, 0xFF,
0xF0, 0x1F, 0xFF, 0x80, 0xFF, 0xFC, 0x07, 0xFF, 0xE0, 0x3F, 0xFF, 0x01,
0xFF, 0xF8, 0x0F, 0xFF, 0xC0, 0x7F, 0xFE, 0x03, 0xFF, 0xF0, 0x1F, 0xFF,
0x80, 0xFF, 0xFC, 0x07, 0xFF, 0xE0, 0x3F, 0xFF, 0x01, 0xFF, 0xF8, 0x0F,
0xFF, 0xC0, 0x7F, 0xFE, 0x03, 0xFF, 0xF0, 0x1F, 0xFF, 0x80, 0xFF, 0xFC,
0x07, 0xFF, 0xE0, 0x3F, 0xFF, 0x01, 0xFF, 0xF8, 0x0F, 0xFF, 0xC0, 0x7F,
0xFE, 0x03, 0xFF, 0xF0, 0x1F, 0xFF, 0x80, 0xFF, 0xFC, 0x07, 0xF0, 0x00,
0x70, 0x00, 0x1F, 0xF0, 0x03, 0xFF, 0xE0, 0x3F, 0xFF, 0x83, 0xFF, 0xFE,
0x1F, 0xFF, 0xF1, 0xFE, 0x3F, 0x8F, 0xE0, 0xFE, 0x7E, 0x07, 0xF3, 0xF0,
0x1F, 0x9F, 0x80, 0xFD, 0xFC, 0x07, 0xEF, 0xE0, 0x3F, 0x7F, 0x01, 0xFB,
0xF8, 0x0F, 0xFF, 0xC0, 0x7F, 0xFE, 0x03, 0xFF, 0xF0, 0x1F, 0xFF, 0x80,
0xFF, 0xFC, 0x07, 0xFF, 0xE0, 0x3F, 0xFF, 0x01, 0xFF, 0xF8, 0x0F, 0xFF,
0xC0, 0x7F, 0xFE, 0x03, 0xFF, 0xF0, 0x1F, 0xFF, 0x80, 0xFF, 0xFC, 0x07,
0xFF, 0xE0, 0x3F, 0xFF, 0x01, 0xFF, 0xF8, 0x0F, 0xDF, 0xC0, 0x7E, 0xFE,
0x03, 0xF3, 0xF0, 0x1F, 0x9F, 0x80, 0xFC, 0xFC, 0x07, 0xE7, 0xE0, 0x7F,
0x3F, 0x83, 0xF9, 0xFE, 0x3F, 0xC7, 0xFF, 0xFC, 0x3F, 0xFF, 0xE0, 0xFF,
0xFE, 0x03, 0xFF, 0xE0, 0x0F, 0xFE, 0x00, 0x06, 0x00, 0x00, 0xFE, 0x7F,
0x0F, 0xEF, 0xFC, 0xFF, 0xFF, 0xCF, 0xFF, 0xFE, 0xFF, 0xFF, 0xEF, 0xF0,
0xFF, 0xFF, 0x07, 0xFF, 0xE0, 0x7F, 0xFE, 0x07, 0xFF, 0xE0, 0x7F, 0xFE,
0x03, 0xFF, 0xE0, 0x3F, 0xFE, 0x03, 0xFF, 0xE0, 0x3F, 0xFE, 0x03, 0xFF,
0xE0, 0x3F, 0xFE, 0x03, 0xFF, 0xE0, 0x3F, 0xFE, 0x03, 0xFF, 0xE0, 0x3F,
0xFE, 0x03, 0xFF, 0xE0, 0x3F, 0xFE, 0x03, 0xFF, 0xE0, 0x3F, 0xFE, 0x03,
0xFF, 0xE0, 0x3F, 0xFE, 0x03, 0xFF, 0xE0, 0x3F, 0xFE, 0x03, 0xFF, 0xE0,
0x3F, 0xFE, 0x03, 0xFF, 0xE0, 0x3F, 0xFE, 0x03, 0xFF, 0xE0, 0x7F, 0xFE,
0x07, 0xFF, 0xE0, 0x7F, 0xFF, 0x07, 0xFF, 0xF0, 0xFE, 0xFF, 0xFF, 0xEF,
0xFF, 0xFE, 0xFF, 0xFF, 0xCF, 0xEF, 0xF8, 0xFE, 0x7F, 0x0F, 0xE1, 0x80,
0xFE, 0x00, 0x0F, 0xE0, 0x00, 0xFE, 0x00, 0x0F, 0xE0, 0x00, 0xFE, 0x00,
0x0F, 0xE0, 0x00, 0xFE, 0x00, 0x00, 0x0F, 0xF3, 0xF8, 0xFF, 0xDF, 0xCF,
0xFF, 0xFE, 0x7F, 0xFF, 0xF7, 0xFF, 0xFF, 0xBF, 0x87, 0xFD, 0xFC, 0x1F,
0xEF, 0xC0, 0xFF, 0x7E, 0x03, 0xFB, 0xF0, 0x1F, 0xFF, 0x80, 0xFF, 0xFC,
0x07, 0xFF, 0xE0, 0x3F, 0xFF, 0x01, 0xFF, 0xF8, 0x0F, 0xFF, 0xC0, 0x7F,
0xFE, 0x03, 0xFF, 0xF0, 0x1F, 0xFF, 0x80, 0xFF, 0xFC, 0x07, 0xFF, 0xE0,
0x3F, 0xFF, 0x01, 0xFF, 0xF8, 0x0F, 0xFF, 0xC0, 0x7F, 0xFE, 0x03, 0xFF,
0xF0, 0x1F, 0xFF, 0x80, 0xFF, 0xFC, 0x07, 0xFF, 0xE0, 0x3F, 0xFF, 0x01,
0xFF, 0xF8, 0x0F, 0xFF, 0xC0, 0x7F, 0xFE, 0x03, 0xFB, 0xF0, 0x1F, 0xDF,
0x80, 0xFE, 0xFC, 0x0F, 0xF7, 0xF0, 0x7F, 0xBF, 0x87, 0xFC, 0xFF, 0xFF,
0xE7, 0xFF, 0xFF, 0x1F, 0xFF, 0xF8, 0xFF, 0xDF, 0xC1, 0xFC, 0xFE, 0x01,
0x07, 0xF0, 0x00, 0x3F, 0x80, 0x01, 0xFC, 0x00, 0x0F, 0xE0, 0x00, 0x7F,
0x00, 0x03, 0xF8, 0x00, 0x1F, 0xC0, 0x00, 0xFE, 0x00, 0x07, 0xF8, 0xFF,
0xE7, 0xFF, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x3F, 0xC0, 0xFE, 0x03,
0xF8, 0x0F, 0xE0, 0x3F, 0x80, 0xFE, 0x03, 0xF8, 0x0F, 0xE0, 0x3F, 0x80,
0xFE, 0x03, 0xF8, 0x0F, 0xE0, 0x3F, 0x80, 0xFE, 0x03, 0xF8, 0x0F, 0xE0,
0x3F, 0x80, 0xFE, 0x03, 0xF8, 0x0F, 0xE0, 0x3F, 0x80, 0xFE, 0x03, 0xF8,
0x0F, 0xE0, 0x3F, 0x80, 0xFE, 0x03, 0xF8, 0x0F, 0xE0, 0x3F, 0x80, 0xFE,
0x03, 0xF8, 0x0F, 0xE0, 0x3F, 0x80, 0xFE, 0x03, 0xF8, 0x0F, 0xE0, 0x3F,
0x80, 0x00, 0x40, 0x00, 0x7F, 0xE0, 0x1F, 0xFF, 0x03, 0xFF, 0xF8, 0x3F,
0xFF, 0xC7, 0xFF, 0xFC, 0x7F, 0x0F, 0xC7, 0xE0, 0xFE, 0x7E, 0x07, 0xEF,
0xE0, 0x7E, 0xFE, 0x07, 0xEF, 0xE0, 0x7E, 0x7E, 0x07, 0xE7, 0xE0, 0x7E,
0x7F, 0x07, 0xE7, 0xF0, 0x7E, 0x3F, 0x80, 0x03, 0xFC, 0x00, 0x1F, 0xE0,
0x01, 0xFF, 0x00, 0x0F, 0xF8, 0x00, 0x7F, 0xC0, 0x03, 0xFE, 0x00, 0x1F,
0xF0, 0x00, 0xFF, 0x80, 0x07, 0xFC, 0x00, 0x3F, 0xC0, 0x01, 0xFE, 0x00,
0x0F, 0xE7, 0xE0, 0xFE, 0x7E, 0x07, 0xF7, 0xE0, 0x7F, 0x7E, 0x07, 0xF7,
0xE0, 0x7F, 0x7E, 0x07, 0xF7, 0xE0, 0x7F, 0x7E, 0x07, 0xF7, 0xF0, 0x7F,
0x7F, 0x8F, 0xE3, 0xFF, 0xFE, 0x3F, 0xFF, 0xE1, 0xFF, 0xFC, 0x0F, 0xFF,
0x80, 0x7F, 0xF0, 0x00, 0x60, 0x00, 0x0F, 0xE0, 0x1F, 0xC0, 0x3F, 0x80,
0x7F, 0x00, 0xFE, 0x01, 0xFC, 0x03, 0xF8, 0x07, 0xF0, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xFE, 0x01, 0xFC, 0x03, 0xF8, 0x07, 0xF0,
0x0F, 0xE0, 0x1F, 0xC0, 0x3F, 0x80, 0x7F, 0x00, 0xFE, 0x01, 0xFC, 0x03,
0xF8, 0x07, 0xF0, 0x0F, 0xE0, 0x1F, 0xC0, 0x3F, 0x80, 0x7F, 0x00, 0xFE,
0x01, 0xFC, 0x03, 0xF8, 0x07, 0xF0, 0x0F, 0xE0, 0x1F, 0xC0, 0x3F, 0x80,
0x7F, 0x00, 0xFE, 0x01, 0xFC, 0x03, 0xF8, 0x07, 0xF0, 0x0F, 0xE0, 0x1F,
0xC0, 0x3F, 0x80, 0x7F, 0x00, 0xFE, 0x01, 0xFF, 0xC3, 0xFF, 0x83, 0xFF,
0x07, 0xFE, 0x07, 0xFC, 0xFC, 0x03, 0xFF, 0xC0, 0x3F, 0xFC, 0x03, 0xFF,
0xC0, 0x3F, 0xFC, 0x03, 0xFF, 0xC0, 0x3F, 0xFC, 0x03, 0xFF, 0xC0, 0x3F,
0xFC, 0x03, 0xFF, 0xC0, 0x3F, 0xFC, 0x03, 0xFF, 0xC0, 0x3F, 0xFC, 0x03,
0xFF, 0xC0, 0x3F, 0xFC, 0x03, 0xFF, 0xC0, 0x3F, 0xFC, 0x03, 0xFF, 0xC0,
0x3F, 0xFC, 0x03, 0xFF, 0xC0, 0x3F, 0xFC, 0x03, 0xFF, 0xC0, 0x3F, 0xFC,
0x03, 0xFF, 0xC0, 0x3F, 0xFC, 0x03, 0xFF, 0xC0, 0x3F, 0xFC, 0x03, 0xFF,
0xC0, 0x3F, 0xFC, 0x03, 0xFF, 0xC0, 0x3F, 0xFC, 0x03, 0xFF, 0xC0, 0x3F,
0xFC, 0x03, 0xFF, 0xC0, 0x3F, 0xFC, 0x07, 0xFF, 0xE0, 0x7F, 0xFE, 0x07,
0xFF, 0xF0, 0xFF, 0xFF, 0xFF, 0xF7, 0xFF, 0xBF, 0x7F, 0xFB, 0xF3, 0xFF,
0x3F, 0x1F, 0xE3, 0xF0, 0x30, 0x00, 0xFE, 0x01, 0xFB, 0xF0, 0x0F, 0xDF,
0x80, 0xFC, 0xFC, 0x07, 0xE7, 0xE0, 0x3F, 0x3F, 0x01, 0xF9, 0xF8, 0x0F,
0xCF, 0xC0, 0x7E, 0x3F, 0x03, 0xF1, 0xF8, 0x1F, 0x0F, 0xC1, 0xF8, 0x7E,
0x0F, 0xC3, 0xF0, 0x7E, 0x1F, 0x83, 0xF0, 0xFC, 0x1F, 0x83, 0xF0, 0xFC,
0x1F, 0x87, 0xC0, 0xFC, 0x3E, 0x07, 0xE1, 0xF0, 0x3F, 0x1F, 0x81, 0xF8,
0xFC, 0x0F, 0xC7, 0xE0, 0x3E, 0x3F, 0x01, 0xF9, 0xF0, 0x0F, 0xCF, 0x80,
0x7E, 0x7C, 0x03, 0xF3, 0xE0, 0x1F, 0x9F, 0x00, 0x7C, 0xF8, 0x03, 0xEF,
0x80, 0x1F, 0x7C, 0x00, 0xFB, 0xE0, 0x07, 0xFF, 0x00, 0x3F, 0xF8, 0x01,
0xFF, 0xC0, 0x07, 0xFE, 0x00, 0x3F, 0xE0, 0x01, 0xFF, 0x00, 0x0F, 0xF8,
0x00, 0x7F, 0xC0, 0x03, 0xFE, 0x00, 0x1F, 0xF0, 0x00, 0x7F, 0x80, 0xFC,
0x07, 0xE0, 0x1F, 0x7C, 0x07, 0xE0, 0x3F, 0x7C, 0x07, 0xF0, 0x3F, 0x7C,
0x07, 0xF0, 0x3F, 0x7E, 0x07, 0xF0, 0x3F, 0x7E, 0x07, 0xF0, 0x3E, 0x7E,
0x0F, 0xF0, 0x3E, 0x7E, 0x0F, 0xF0, 0x3E, 0x3E, 0x0F, 0xF0, 0x3E, 0x3E,
0x0F, 0xF8, 0x3E, 0x3E, 0x0F, 0x78, 0x3E, 0x3E, 0x0F, 0x78, 0x7E, 0x3E,
0x0F, 0x78, 0x7E, 0x3E, 0x1F, 0x78, 0x7C, 0x3F, 0x1F, 0x78, 0x7C, 0x3F,
0x1F, 0x7C, 0x7C, 0x1F, 0x1F, 0x7C, 0x7C, 0x1F, 0x1E, 0x7C, 0x7C, 0x1F,
0x1E, 0x3C, 0x7C, 0x1F, 0x1E, 0x3C, 0x7C, 0x1F, 0x3E, 0x3C, 0x7C, 0x1F,
0x3E, 0x3C, 0xF8, 0x1F, 0x3E, 0x3E, 0xF8, 0x1F, 0x3C, 0x3E, 0xF8, 0x0F,
0xBC, 0x3E, 0xF8, 0x0F, 0xBC, 0x1E, 0xF8, 0x0F, 0xBC, 0x1E, 0xF8, 0x0F,
0xBC, 0x1E, 0xF8, 0x0F, 0xFC, 0x1E, 0xF8, 0x0F, 0xFC, 0x1E, 0xF0, 0x0F,
0xF8, 0x1F, 0xF0, 0x0F, 0xF8, 0x1F, 0xF0, 0x07, 0xF8, 0x1F, 0xF0, 0x07,
0xF8, 0x0F, 0xF0, 0x07, 0xF8, 0x0F, 0xF0, 0x07, 0xF8, 0x0F, 0xF0, 0x07,
0xF8, 0x0F, 0xF0, 0x07, 0xF0, 0x0F, 0xE0, 0x07, 0xF0, 0x0F, 0xE0, 0x07,
0xF0, 0x0F, 0xE0, 0x03, 0xF0, 0x07, 0xE0, 0x03, 0xF0, 0x07, 0xE0, 0x03,
0xF0, 0x07, 0xE0, 0xFC, 0x03, 0xF3, 0xF0, 0x1F, 0x9F, 0x80, 0xFC, 0xFC,
0x0F, 0xC3, 0xF0, 0x7E, 0x1F, 0x83, 0xF0, 0xFC, 0x1F, 0x03, 0xF1, 0xF8,
0x1F, 0x8F, 0xC0, 0xFC, 0x7C, 0x03, 0xF7, 0xE0, 0x1F, 0xBF, 0x00, 0x7D,
0xF0, 0x03, 0xFF, 0x80, 0x1F, 0xFC, 0x00, 0x7F, 0xC0, 0x03, 0xFE, 0x00,
0x1F, 0xF0, 0x00, 0xFF, 0x00, 0x03, 0xF8, 0x00, 0x1F, 0xC0, 0x00, 0xFC,
0x00, 0x07, 0xF0, 0x00, 0x7F, 0x80, 0x03, 0xFE, 0x00, 0x1F, 0xF0, 0x01,
0xFF, 0x80, 0x0F, 0xFE, 0x00, 0x7F, 0xF0, 0x07, 0xFF, 0x80, 0x3F, 0x7E,
0x01, 0xF3, 0xF0, 0x1F, 0x9F, 0x80, 0xFC, 0x7E, 0x07, 0xC3, 0xF0, 0x7E,
0x1F, 0x83, 0xF0, 0xFE, 0x1F, 0x83, 0xF1, 0xF8, 0x1F, 0x8F, 0xC0, 0xFE,
0x7E, 0x03, 0xF7, 0xE0, 0x1F, 0xBF, 0x00, 0xFE, 0xFE, 0x01, 0xFB, 0xF0,
0x0F, 0xDF, 0x80, 0x7E, 0xFC, 0x03, 0xF7, 0xE0, 0x1F, 0xBF, 0x01, 0xFD,
0xFC, 0x0F, 0xC7, 0xE0, 0x7E, 0x3F, 0x03, 0xF1, 0xF8, 0x1F, 0x8F, 0xC0,
0xFC, 0x7E, 0x07, 0xE3, 0xF0, 0x3E, 0x0F, 0x83, 0xF0, 0x7E, 0x1F, 0x83,
0xF0, 0xFC, 0x1F, 0x87, 0xE0, 0xFC, 0x3F, 0x07, 0xE1, 0xF0, 0x1F, 0x0F,
0x80, 0xF8, 0x7C, 0x07, 0xC3, 0xE0, 0x3F, 0x3F, 0x01, 0xF9, 0xF8, 0x0F,
0xCF, 0x80, 0x3E, 0x7C, 0x01, 0xF3, 0xE0, 0x0F, 0x9F, 0x00, 0x7C, 0xF8,
0x03, 0xE7, 0xC0, 0x1F, 0x3C, 0x00, 0x7D, 0xE0, 0x03, 0xFF, 0x00, 0x1F,
0xF8, 0x00, 0xFF, 0xC0, 0x07, 0xFE, 0x00, 0x3F, 0xE0, 0x00, 0xFF, 0x00,
0x07, 0xF8, 0x00, 0x3F, 0xC0, 0x01, 0xFE, 0x00, 0x0F, 0xF0, 0x00, 0x7F,
0x80, 0x03, 0xF8, 0x00, 0x1F, 0xC0, 0x03, 0xFE, 0x00, 0xFF, 0xF0, 0x07,
0xFF, 0x00, 0x3F, 0xF8, 0x01, 0xFF, 0x80, 0x00, 0x7F, 0xFF, 0x7F, 0xFF,
0x7F, 0xFF, 0x7F, 0xFF, 0x7F, 0xFF, 0x7F, 0xFF, 0x00, 0x7F, 0x00, 0x7E,
0x00, 0x7E, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0xFC, 0x00, 0xFC, 0x01, 0xFC,
0x01, 0xF8, 0x01, 0xF8, 0x03, 0xF8, 0x03, 0xF8, 0x03, 0xF0, 0x07, 0xF0,
0x07, 0xF0, 0x07, 0xE0, 0x07, 0xE0, 0x0F, 0xE0, 0x0F, 0xE0, 0x0F, 0xC0,
0x1F, 0xC0, 0x1F, 0xC0, 0x1F, 0x80, 0x1F, 0x80, 0x3F, 0x80, 0x3F, 0x80,
0x3F, 0x00, 0x7F, 0x00, 0x7F, 0x00, 0x7E, 0x00, 0xFE, 0x00, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x7E,
0x03, 0xFC, 0x0F, 0xF8, 0x3F, 0xF0, 0x7F, 0xE0, 0xFE, 0x03, 0xF8, 0x07,
0xF0, 0x0F, 0xE0, 0x1F, 0xC0, 0x3F, 0x80, 0x7F, 0x00, 0xFE, 0x01, 0xFC,
0x03, 0xF8, 0x07, 0xF0, 0x0F, 0xE0, 0x1F, 0xC0, 0x3F, 0x80, 0x7F, 0x00,
0xFE, 0x01, 0xFC, 0x03, 0xF8, 0x07, 0xE0, 0x1F, 0xC1, 0xFF, 0x83, 0xFE,
0x07, 0xF8, 0x0F, 0xE0, 0x1F, 0xF0, 0x3F, 0xF0, 0x0F, 0xE0, 0x0F, 0xC0,
0x1F, 0xC0, 0x3F, 0x80, 0x7F, 0x00, 0xFE, 0x01, 0xFC, 0x03, 0xF8, 0x07,
0xF0, 0x0F, 0xE0, 0x1F, 0xC0, 0x3F, 0x80, 0x7F, 0x00, 0xFE, 0x01, 0xFC,
0x03, 0xF8, 0x07, 0xF0, 0x0F, 0xE0, 0x1F, 0xC0, 0x1F, 0xC0, 0x3F, 0xF0,
0x7F, 0xE0, 0x7F, 0xC0, 0x7F, 0x80, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFC, 0x03, 0xFC, 0x0F, 0xF8, 0x3F, 0xE0, 0xFF, 0xC0, 0x7F, 0x01,
0xFC, 0x03, 0xF0, 0x0F, 0xC0, 0x3F, 0x00, 0xFC, 0x03, 0xF0, 0x0F, 0xC0,
0x3F, 0x00, 0xFC, 0x03, 0xF0, 0x0F, 0xC0, 0x3F, 0x00, 0xFC, 0x03, 0xF0,
0x0F, 0xC0, 0x3F, 0x80, 0xFE, 0x03, 0xF8, 0x0F, 0xF0, 0x1F, 0xF0, 0x3F,
0xC0, 0x7F, 0x01, 0xFC, 0x0F, 0xF0, 0x7F, 0xC3, 0xFC, 0x0F, 0xE0, 0x3F,
0x80, 0xFE, 0x03, 0xF0, 0x0F, 0xC0, 0x3F, 0x00, 0xFC, 0x03, 0xF0, 0x0F,
0xC0, 0x3F, 0x00, 0xFC, 0x03, 0xF0, 0x0F, 0xC0, 0x3F, 0x00, 0xFC, 0x03,
0xF0, 0x0F, 0xC0, 0x7F, 0x01, 0xFC, 0x3F, 0xF0, 0xFF, 0x83, 0xFE, 0x0F,
0xF0, 0x3F, 0x00, 0x00, 0x00, 0x08, 0x01, 0xF0, 0x03, 0xF1, 0xFF, 0x80,
0xF8, 0xFF, 0xFE, 0x7E, 0x3F, 0xFF, 0xFF, 0x9F, 0xFF, 0xFF, 0xC7, 0xFF,
0xFF, 0xF3, 0xFF, 0xFF, 0xF8, 0x7C, 0x1F, 0xFC, 0x06, 0x00, 0xFE, 0x00};
const GFXglyph Antonio_SemiBold30pt7bGlyphs[] PROGMEM = {
{0, 1, 1, 13, 0, 0}, // 0x20 ' '
{1, 7, 50, 15, 4, -49}, // 0x21 '!'
{45, 7, 19, 24, 9, -49}, // 0x22 '"'
{62, 26, 50, 30, 2, -49}, // 0x23 '#'
{225, 20, 57, 24, 2, -49}, // 0x24 '$'
{368, 54, 52, 63, 4, -50}, // 0x25 '%'
{719, 26, 52, 29, 2, -50}, // 0x26 '&'
{888, 6, 18, 12, 3, -49}, // 0x27 '''
{902, 10, 58, 17, 4, -51}, // 0x28 '('
{975, 11, 58, 17, 2, -51}, // 0x29 ')'
{1055, 22, 21, 26, 2, -48}, // 0x2A '*'
{1113, 17, 19, 21, 2, -31}, // 0x2B '+'
{1154, 8, 17, 14, 3, -6}, // 0x2C ','
{1171, 13, 4, 20, 3, -24}, // 0x2D '-'
{1178, 5, 6, 15, 5, -5}, // 0x2E '.'
{1182, 18, 51, 22, 2, -50}, // 0x2F '/'
{1297, 20, 52, 26, 3, -50}, // 0x30 '0'
{1427, 13, 50, 22, 3, -49}, // 0x31 '1'
{1509, 19, 51, 26, 4, -50}, // 0x32 '2'
{1631, 20, 52, 26, 3, -50}, // 0x33 '3'
{1761, 23, 50, 26, 2, -49}, // 0x34 '4'
{1905, 19, 51, 26, 4, -49}, // 0x35 '5'
{2027, 21, 52, 26, 3, -50}, // 0x36 '6'
{2164, 21, 50, 26, 3, -49}, // 0x37 '7'
{2296, 20, 52, 26, 3, -50}, // 0x38 '8'
{2426, 19, 52, 26, 3, -50}, // 0x39 '9'
{2550, 7, 30, 15, 4, -37}, // 0x3A ':'
{2577, 7, 41, 16, 5, -37}, // 0x3B ';'
{2613, 16, 29, 21, 2, -35}, // 0x3C '<'
{2671, 16, 14, 21, 3, -29}, // 0x3D '='
{2699, 16, 29, 21, 3, -35}, // 0x3E '>'
{2757, 18, 51, 25, 4, -50}, // 0x3F '?'
{2872, 37, 53, 43, 3, -50}, // 0x40 '@'
{3118, 24, 50, 26, 1, -49}, // 0x41 'A'
{3268, 21, 50, 27, 4, -49}, // 0x42 'B'
{3400, 21, 52, 27, 3, -50}, // 0x43 'C'
{3537, 21, 50, 28, 4, -49}, // 0x44 'D'
{3669, 16, 50, 22, 4, -49}, // 0x45 'E'
{3769, 16, 50, 22, 4, -49}, // 0x46 'F'
{3869, 21, 51, 28, 3, -50}, // 0x47 'G'
{4003, 21, 50, 29, 4, -49}, // 0x48 'H'
{4135, 7, 50, 15, 4, -49}, // 0x49 'I'
{4179, 20, 51, 26, 2, -49}, // 0x4A 'J'
{4307, 23, 50, 27, 4, -49}, // 0x4B 'K'
{4451, 16, 50, 21, 4, -49}, // 0x4C 'L'
{4551, 31, 50, 39, 4, -49}, // 0x4D 'M'
{4745, 22, 50, 30, 4, -49}, // 0x4E 'N'
{4883, 21, 52, 28, 3, -50}, // 0x4F 'O'
{5020, 21, 50, 26, 4, -49}, // 0x50 'P'
{5152, 21, 59, 28, 3, -50}, // 0x51 'Q'
{5307, 21, 50, 28, 4, -49}, // 0x52 'R'
{5439, 21, 52, 24, 2, -50}, // 0x53 'S'
{5576, 17, 50, 19, 1, -49}, // 0x54 'T'
{5683, 21, 51, 28, 4, -49}, // 0x55 'U'
{5817, 24, 50, 26, 1, -49}, // 0x56 'V'
{5967, 36, 50, 39, 1, -49}, // 0x57 'W'
{6192, 22, 50, 24, 1, -49}, // 0x58 'X'
{6330, 24, 50, 24, 0, -49}, // 0x59 'Y'
{6480, 17, 50, 20, 2, -49}, // 0x5A 'Z'
{6587, 12, 52, 20, 5, -49}, // 0x5B '['
{6665, 18, 50, 23, 2, -49}, // 0x5C '\'
{6778, 12, 52, 20, 3, -49}, // 0x5D ']'
{6856, 22, 26, 28, 3, -49}, // 0x5E '^'
{6928, 19, 5, 21, 1, 2}, // 0x5F '_'
{6940, 10, 11, 12, 1, -57}, // 0x60 '`'
{6954, 20, 44, 27, 3, -43}, // 0x61 'a'
{7064, 20, 51, 28, 4, -50}, // 0x62 'b'
{7192, 20, 45, 26, 3, -43}, // 0x63 'c'
{7305, 21, 51, 28, 3, -50}, // 0x64 'd'
{7439, 20, 45, 26, 3, -43}, // 0x65 'e'
{7552, 15, 51, 19, 2, -50}, // 0x66 'f'
{7648, 21, 51, 27, 3, -43}, // 0x67 'g'
{7782, 21, 51, 28, 4, -50}, // 0x68 'h'
{7916, 7, 53, 15, 4, -52}, // 0x69 'i'
{7963, 9, 59, 15, 2, -52}, // 0x6A 'j'
{8030, 22, 51, 26, 4, -50}, // 0x6B 'k'
{8171, 7, 51, 15, 4, -50}, // 0x6C 'l'
{8216, 34, 44, 42, 4, -43}, // 0x6D 'm'
{8403, 21, 44, 28, 4, -43}, // 0x6E 'n'
{8519, 21, 45, 27, 3, -43}, // 0x6F 'o'
{8638, 20, 51, 28, 4, -42}, // 0x70 'p'
{8766, 21, 51, 28, 3, -42}, // 0x71 'q'
{8900, 14, 44, 19, 4, -43}, // 0x72 'r'
{8977, 20, 45, 24, 2, -43}, // 0x73 's'
{9090, 15, 50, 18, 1, -49}, // 0x74 't'
{9184, 20, 44, 28, 4, -42}, // 0x75 'u'
{9294, 21, 43, 23, 1, -42}, // 0x76 'v'
{9407, 32, 43, 35, 1, -42}, // 0x77 'w'
{9579, 21, 43, 23, 1, -42}, // 0x78 'x'
{9692, 21, 50, 23, 1, -42}, // 0x79 'y'
{9824, 16, 43, 20, 2, -42}, // 0x7A 'z'
{9910, 15, 56, 21, 3, -50}, // 0x7B '{'
{10015, 6, 56, 15, 5, -52}, // 0x7C '|'
{10057, 14, 56, 21, 3, -50}, // 0x7D '}'
{10155, 26, 10, 32, 3, -33}}; // 0x7E '~'
const GFXfont Antonio_SemiBold30pt7b PROGMEM = {
(uint8_t *)Antonio_SemiBold30pt7bBitmaps,
(GFXglyph *)Antonio_SemiBold30pt7bGlyphs, 0x20, 0x7E, 76};
// Approx. 10860 bytes

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

33
src/fonts/fonts.hpp Normal file
View file

@ -0,0 +1,33 @@
#pragma once
#include "antonio-semibold20.h"
#include "antonio-semibold30.h"
#include "antonio-semibold40.h"
#include "antonio-semibold90.h"
#include "librefranklin-bold40.h"
#include "librefranklin-semibold29.h"
#include "sats-symbol.h"
#include "LibreFranklin10.h"
#include "LibreFranklin12.h"
#include "LibreFranklin15.h"
#include "LibreFranklin20.h"
#include "LibreFranklin25.h"
#include "LibreFranklin30.h"
#include "orangeclock-icons10.h"
#include "orangeclock-icons11.h"
#include "orangeclock-icons12.h"
#include "orangeclock-icons14.h"
#include "orangeclock-icons15.h"
#include "orangeclock-icons19.h"
#include "orangeclock-icons20.h"
#include "orangeclock-icons25.h"
#include "orangeclock-icons35.h"
// #include "oswald-20.h"
// #include "oswald-30.h"
// #include "oswald-90.h"
// #include "ubuntu-italic40.h"
// #include "ubuntu-italic60.h"
// #include "ubuntu-italic70.h"

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

Binary file not shown.

View file

@ -0,0 +1,71 @@
const uint8_t orangeclock_icons10pt7bBitmaps[] PROGMEM = {
0x03, 0x00, 0x0F, 0x80, 0x7F, 0xC3, 0xFF, 0xC7, 0xFF, 0xD3, 0xFE, 0x79,
0xF3, 0xF9, 0x9F, 0xFC, 0x7F, 0xFD, 0xFF, 0xFB, 0xFF, 0xF7, 0xF7, 0xEF,
0xC7, 0xDE, 0x03, 0xB8, 0x01, 0x40, 0x01, 0xF0, 0x0F, 0xF8, 0x3C, 0x30,
0x60, 0x01, 0x80, 0x1F, 0xF8, 0x0E, 0x00, 0x1C, 0x00, 0xFF, 0xC0, 0x30,
0x00, 0x70, 0x00, 0x70, 0x00, 0x70, 0xC0, 0x7F, 0x80, 0x7C, 0x00, 0x03,
0x01, 0xF0, 0x7F, 0x0C, 0x31, 0x84, 0x30, 0x06, 0x07, 0xF8, 0xFF, 0x03,
0x00, 0x60, 0x0C, 0x03, 0x81, 0xFF, 0xFF, 0xF8, 0xE0, 0x36, 0x07, 0x70,
0x63, 0x0E, 0x38, 0xC1, 0x9C, 0x1D, 0x83, 0xFC, 0x07, 0x00, 0x70, 0x3F,
0xC0, 0x70, 0x07, 0x00, 0x70, 0x07, 0x00, 0x04, 0x01, 0x80, 0xFE, 0x3F,
0xEE, 0x5D, 0xC8, 0x3D, 0x03, 0xF8, 0x3F, 0xC0, 0xF8, 0x13, 0xF2, 0x7E,
0x4C, 0xFF, 0x8F, 0xC0, 0x20, 0x00, 0x70, 0x03, 0x3E, 0x07, 0x9F, 0x87,
0xCF, 0xE7, 0xE7, 0xF3, 0xF3, 0xFB, 0xF9, 0xFF, 0xFC, 0x00, 0xFE, 0x00,
0x7F, 0xFF, 0x3F, 0xFF, 0x8F, 0xFF, 0xC7, 0xFF, 0xC1, 0xFF, 0xE0, 0x7F,
0xE0, 0x0F, 0xC0, 0x05, 0x80, 0x0B, 0xD8, 0x3B, 0xDC, 0x33, 0xEE, 0x77,
0xEE, 0x00, 0x00, 0xF7, 0xEF, 0xF7, 0xEF, 0xF7, 0xEF, 0xF7, 0xEF, 0x00,
0x00, 0x77, 0xEE, 0x33, 0xEE, 0x3B, 0xDC, 0x0B, 0xD8, 0x05, 0x80, 0xFF,
0xEC, 0x03, 0xC0, 0x3F, 0xFF, 0xFF, 0xF7, 0xFE, 0x3F, 0xC1, 0xF8, 0x0E,
0x01, 0xF0, 0x3B, 0x87, 0x1E, 0xE0, 0xEC, 0x02, 0xFF, 0xEF, 0xFE, 0x00,
0x80, 0x18, 0x03, 0x80, 0x70, 0x0F, 0x01, 0xF0, 0x3F, 0xE7, 0xFE, 0xFF,
0xC0, 0xF8, 0x0F, 0x01, 0xE0, 0x1C, 0x01, 0x80, 0x10, 0x02, 0x00, 0x03,
0xF0, 0x83, 0xFF, 0x61, 0xC1, 0xF8, 0xE0, 0x1E, 0x70, 0x0F, 0xDC, 0x07,
0xF6, 0x00, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x4F, 0xC0, 0x3B,
0xE0, 0x1C, 0xF8, 0x07, 0x3F, 0x87, 0x8E, 0xFF, 0xC1, 0x0F, 0xC0, 0x03,
0xC0, 0x1F, 0xF0, 0x38, 0x38, 0x70, 0x0C, 0x6C, 0x36, 0xDC, 0x3A, 0xFE,
0x7B, 0xBF, 0xBB, 0xBF, 0xBF, 0x81, 0x83, 0xC1, 0x83, 0xC3, 0xC2, 0x67,
0xC6, 0x73, 0xCC, 0x38, 0x38, 0x0F, 0xF0, 0x03, 0x80, 0x04, 0x01, 0x00,
0x00, 0x00, 0xFF, 0xC0, 0x00, 0x03, 0xFF, 0x00, 0x00, 0x00, 0x03, 0xFF,
0x00, 0x00, 0x00, 0x40, 0x10, 0x00, 0x08, 0x1D, 0xFC, 0x31, 0x48, 0x1D,
0xC8, 0x06, 0x48, 0x1D, 0xCC, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00,
0x00, 0x8B, 0xDE, 0x8A, 0x93, 0x8B, 0x11, 0x89, 0xD1, 0x8A, 0x53, 0x73,
0x9E, 0x03, 0xE0, 0x07, 0xE0, 0x3F, 0xFC, 0x7F, 0xFE, 0x7F, 0xFE, 0xFC,
0x3F, 0xF8, 0x1F, 0x78, 0x1E, 0x78, 0x1E, 0xF8, 0x1F, 0xFC, 0x3F, 0x7F,
0xFE, 0x7F, 0xFE, 0x3F, 0xFC, 0x07, 0xE0, 0x07, 0xC0, 0x0F, 0xE0, 0x3F,
0xFC, 0xF8, 0x3E, 0xE0, 0x0F, 0x47, 0xE2, 0x1F, 0xF8, 0x1C, 0x38, 0x01,
0x10, 0x07, 0xC0, 0x03, 0xC0, 0x01, 0x80, 0x07, 0xE0, 0x18, 0x38, 0x30,
0x0C, 0x60, 0x06, 0x4C, 0x22, 0x8E, 0x63, 0x87, 0xC1, 0x83, 0x81, 0x83,
0xC1, 0x87, 0xE1, 0x8E, 0x63, 0x44, 0x22, 0x60, 0x06, 0x30, 0x0C, 0x18,
0x38, 0x07, 0xE0, 0x07, 0xE0, 0x18, 0x38, 0x30, 0x0C, 0x60, 0x06, 0x40,
0x02, 0x80, 0x33, 0x80, 0x71, 0x80, 0xE1, 0x9D, 0xC1, 0x8F, 0x81, 0x87,
0x03, 0x40, 0x02, 0x60, 0x06, 0x30, 0x0C, 0x18, 0x38, 0x07, 0xE0, 0x07,
0xE0, 0x18, 0x38, 0x30, 0x0C, 0x60, 0x06, 0x41, 0x82, 0x81, 0x83, 0x81,
0x81, 0x81, 0x81, 0x81, 0x81, 0x80, 0x01, 0x81, 0x83, 0x41, 0x82, 0x60,
0x06, 0x30, 0x0C, 0x18, 0x38, 0x07, 0xE0 };
const GFXglyph orangeclock_icons10pt7bGlyphs[] PROGMEM = {
{ 0, 15, 16, 19, 2, -16 }, // 0x41 'A'
{ 30, 15, 15, 19, 2, -15 }, // 0x42 'B'
{ 59, 11, 15, 19, 4, -15 }, // 0x43 'C'
{ 80, 12, 15, 20, 4, -15 }, // 0x44 'D'
{ 103, 11, 16, 20, 5, -15 }, // 0x45 'E'
{ 125, 17, 16, 20, 2, -15 }, // 0x46 'F'
{ 159, 16, 16, 20, 2, -15 }, // 0x47 'G'
{ 191, 12, 16, 20, 4, -15 }, // 0x48 'H'
{ 215, 12, 16, 20, 4, -15 }, // 0x49 'I'
{ 239, 18, 16, 20, 1, -15 }, // 0x4A 'J'
{ 275, 16, 17, 20, 2, -16 }, // 0x4B 'K'
{ 309, 10, 16, 20, 5, -15 }, // 0x4C 'L'
{ 329, 16, 16, 20, 2, -15 }, // 0x4D 'M'
{ 361, 16, 16, 20, 2, -15 }, // 0x4E 'N'
{ 393, 16, 11, 20, 2, -13 }, // 0x4F 'O'
{ 415, 16, 16, 20, 2, -15 }, // 0x50 'P'
{ 447, 16, 16, 20, 2, -15 }, // 0x51 'Q'
{ 479, 16, 16, 20, 2, -15 } }; // 0x52 'R'
const GFXfont orangeclock_icons10pt7b PROGMEM = {
(uint8_t *)orangeclock_icons10pt7bBitmaps,
(GFXglyph *)orangeclock_icons10pt7bGlyphs,
0x41, 0x52, 20 };
// Approx. 644 bytes

View file

@ -0,0 +1,82 @@
const uint8_t orangeclock_icons11pt7bBitmaps[] PROGMEM = {
0x01, 0x80, 0x03, 0xE0, 0x0F, 0xF0, 0x3F, 0xFC, 0x7F, 0xFF, 0x3F, 0xFC,
0x8F, 0xF9, 0xE3, 0xE7, 0xF9, 0x8F, 0xFC, 0x3F, 0xFE, 0x7F, 0xFE, 0x7F,
0xFE, 0x7F, 0xFE, 0x7F, 0x3E, 0x7E, 0x1E, 0x78, 0x06, 0x60, 0x00, 0x40,
0x00, 0xFC, 0x03, 0xFF, 0x07, 0x06, 0x0E, 0x00, 0x1C, 0x00, 0xFF, 0xE0,
0xFF, 0xE0, 0x18, 0x00, 0x18, 0x00, 0xFF, 0xE0, 0xFF, 0xE0, 0x1C, 0x00,
0x0E, 0x00, 0x07, 0x06, 0x03, 0xFF, 0x00, 0xFC, 0x07, 0xC0, 0xFE, 0x1C,
0x71, 0x82, 0x18, 0x01, 0x80, 0x18, 0x0F, 0xF0, 0xFF, 0x0F, 0xF0, 0x18,
0x01, 0x80, 0x38, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x3B, 0x80, 0xE7,
0x07, 0x1C, 0x1C, 0x38, 0xE0, 0xE3, 0x81, 0xDC, 0x07, 0x70, 0x3F, 0xE0,
0x1C, 0x00, 0x70, 0x0F, 0xF8, 0x07, 0x00, 0x1C, 0x00, 0x70, 0x01, 0xC0,
0x04, 0x00, 0x40, 0x3F, 0x87, 0xFC, 0xE4, 0xEE, 0x4E, 0xE4, 0x0F, 0xC0,
0x7F, 0x81, 0xFE, 0x05, 0xE0, 0x47, 0xE4, 0x7F, 0x4F, 0x7F, 0xE7, 0xFE,
0x1F, 0x80, 0x40, 0x00, 0x38, 0x00, 0xCF, 0x00, 0xF3, 0xF0, 0x7C, 0xFE,
0x3F, 0x3F, 0x9F, 0xCF, 0xF7, 0xF3, 0xFF, 0xFC, 0xFF, 0xFF, 0x00, 0x3F,
0xC0, 0x0F, 0xFF, 0xFB, 0xFF, 0xFE, 0x7F, 0xFF, 0x1F, 0xFF, 0xC3, 0xFF,
0xE0, 0xFF, 0xF0, 0x0F, 0xF8, 0x00, 0xF8, 0x00, 0x01, 0xD0, 0x02, 0x7B,
0x03, 0xBE, 0x60, 0xEF, 0x9C, 0x77, 0xF7, 0x80, 0x00, 0x00, 0x00, 0x03,
0xDF, 0xCF, 0xF7, 0xF3, 0xFD, 0xFC, 0xFF, 0x7F, 0x3F, 0xDF, 0xCF, 0x00,
0x00, 0x1D, 0xFD, 0xE3, 0xBE, 0x70, 0xEF, 0x98, 0x09, 0xEC, 0x01, 0x74,
0x00, 0x7F, 0xF7, 0xFF, 0xF0, 0x07, 0x80, 0x3F, 0xFF, 0xBF, 0xF8, 0xFF,
0x83, 0xF8, 0x0F, 0x80, 0x78, 0x07, 0x60, 0x71, 0xC7, 0x07, 0x60, 0x1F,
0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xFF, 0x80, 0x00, 0x00, 0x01, 0x00, 0x0C,
0x00, 0x70, 0x03, 0xC0, 0x1E, 0x00, 0xF8, 0x07, 0xE0, 0x3F, 0xF9, 0xFF,
0xEF, 0xFF, 0x01, 0xF8, 0x0F, 0xC0, 0x3E, 0x00, 0xF0, 0x03, 0x80, 0x1C,
0x00, 0x60, 0x01, 0x00, 0x00, 0x01, 0xF8, 0x00, 0x7F, 0xE2, 0x0F, 0xFF,
0x61, 0xE0, 0xFE, 0x3C, 0x03, 0xE3, 0x80, 0x7E, 0x70, 0x07, 0xE7, 0x00,
0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0xCF, 0xE0, 0x1C, 0xFC,
0x01, 0xCF, 0xC0, 0x38, 0xFE, 0x0F, 0x8E, 0xFF, 0xF0, 0x47, 0xFC, 0x00,
0x1F, 0x80, 0x00, 0x00, 0x01, 0xFE, 0x01, 0xF3, 0xC0, 0xE0, 0x18, 0x78,
0x13, 0x1F, 0x06, 0x6D, 0xC3, 0xDB, 0xF0, 0xF3, 0xFD, 0xDC, 0xFF, 0x7F,
0xBC, 0x1C, 0x0F, 0x00, 0x03, 0xC1, 0xC1, 0x98, 0xF0, 0x67, 0x7E, 0x30,
0xEF, 0x98, 0x1E, 0x1E, 0x01, 0xFE, 0x00, 0x0C, 0x00, 0x04, 0x00, 0x80,
0x10, 0x00, 0x00, 0x01, 0xFF, 0xC0, 0x00, 0x00, 0xFF, 0xE0, 0x00, 0x00,
0x00, 0x0F, 0xFE, 0x00, 0x00, 0x00, 0x20, 0x04, 0x00, 0x80, 0x00, 0x04,
0x00, 0x01, 0x01, 0xDE, 0xE0, 0x54, 0x90, 0x1C, 0xE4, 0x01, 0x49, 0x01,
0xDE, 0x60, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xF0, 0x00, 0x03, 0x27,
0x3E, 0xCA, 0x4C, 0xF2, 0xC3, 0x3C, 0x9E, 0xCF, 0x21, 0xB3, 0xCA, 0x2C,
0xDC, 0xFB, 0xE0, 0x03, 0xE0, 0x03, 0xF8, 0x0F, 0xFF, 0x8F, 0xFF, 0xE7,
0xFF, 0xF7, 0xF1, 0xFF, 0xF0, 0x7F, 0xF0, 0x1F, 0x78, 0x0F, 0x3C, 0x07,
0xBE, 0x03, 0xFF, 0x83, 0xFF, 0xE3, 0xFB, 0xFF, 0xF9, 0xFF, 0xFC, 0x7F,
0xFC, 0x07, 0xF0, 0x01, 0xF0, 0x00, 0x07, 0xF0, 0x07, 0xFF, 0x87, 0xFF,
0xF3, 0xF0, 0x3F, 0x63, 0xF3, 0x83, 0xFF, 0x01, 0xFF, 0xE0, 0x38, 0x70,
0x00, 0x80, 0x00, 0xFC, 0x00, 0x1E, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
0x03, 0xF0, 0x03, 0x03, 0x01, 0x00, 0x60, 0x80, 0x04, 0x40, 0x01, 0xB1,
0x86, 0x28, 0x73, 0x8E, 0x0F, 0xC1, 0x81, 0xE0, 0x60, 0x78, 0x18, 0x3F,
0x06, 0x1C, 0xE3, 0xC6, 0x18, 0x90, 0x00, 0x62, 0x00, 0x10, 0x40, 0x18,
0x0C, 0x1C, 0x00, 0xFC, 0x00, 0x03, 0xF0, 0x03, 0x03, 0x01, 0x00, 0x60,
0x80, 0x04, 0x40, 0x01, 0xB0, 0x03, 0x28, 0x01, 0xCE, 0x00, 0xE1, 0x88,
0x70, 0x63, 0x38, 0x18, 0x7C, 0x06, 0x0E, 0x03, 0xC1, 0x00, 0x90, 0x00,
0x62, 0x00, 0x10, 0x40, 0x18, 0x0C, 0x1C, 0x00, 0xFC, 0x00, 0x03, 0xF0,
0x03, 0x03, 0x01, 0x00, 0x60, 0x80, 0x04, 0x40, 0x01, 0xB0, 0x30, 0x28,
0x0C, 0x0E, 0x03, 0x01, 0x80, 0xC0, 0x60, 0x30, 0x18, 0x0C, 0x06, 0x00,
0x03, 0xC0, 0xC0, 0x90, 0x30, 0x62, 0x00, 0x10, 0x40, 0x18, 0x0C, 0x1C,
0x00, 0xFC, 0x00 };
const GFXglyph orangeclock_icons11pt7bGlyphs[] PROGMEM = {
{ 0, 16, 18, 22, 3, -17 }, // 0x41 'A'
{ 36, 16, 16, 22, 3, -17 }, // 0x42 'B'
{ 68, 12, 16, 22, 5, -16 }, // 0x43 'C'
{ 92, 14, 16, 21, 4, -17 }, // 0x44 'D'
{ 120, 12, 18, 22, 5, -17 }, // 0x45 'E'
{ 147, 18, 18, 22, 2, -17 }, // 0x46 'F'
{ 188, 18, 18, 22, 2, -17 }, // 0x47 'G'
{ 229, 13, 18, 21, 4, -17 }, // 0x48 'H'
{ 259, 14, 19, 22, 4, -18 }, // 0x49 'I'
{ 293, 20, 18, 22, 1, -17 }, // 0x4A 'J'
{ 338, 18, 19, 21, 2, -18 }, // 0x4B 'K'
{ 381, 11, 18, 21, 5, -17 }, // 0x4C 'L'
{ 406, 18, 18, 22, 2, -17 }, // 0x4D 'M'
{ 447, 17, 18, 21, 2, -17 }, // 0x4E 'N'
{ 486, 18, 13, 22, 2, -15 }, // 0x4F 'O'
{ 516, 18, 18, 22, 2, -17 }, // 0x50 'P'
{ 557, 18, 18, 22, 2, -17 }, // 0x51 'Q'
{ 598, 18, 18, 22, 2, -17 } }; // 0x52 'R'
const GFXfont orangeclock_icons11pt7b PROGMEM = {
(uint8_t *)orangeclock_icons11pt7bBitmaps,
(GFXglyph *)orangeclock_icons11pt7bGlyphs,
0x41, 0x52, 22 };
// Approx. 772 bytes

View file

@ -0,0 +1,92 @@
const uint8_t orangeclock_icons12pt7bBitmaps[] PROGMEM = {
0x00, 0x80, 0x00, 0x78, 0x00, 0x7F, 0x80, 0x7F, 0xF0, 0x3F, 0xFF, 0x1F,
0xFF, 0xE1, 0xFF, 0xE3, 0x3F, 0xE3, 0xF3, 0xE3, 0xFE, 0x33, 0xFF, 0xE1,
0xFF, 0xFD, 0xFF, 0xFF, 0x7F, 0xFF, 0xDF, 0xFF, 0xF7, 0xFD, 0xFD, 0xFE,
0x1F, 0x7E, 0x03, 0xDE, 0x00, 0x37, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x00,
0x7F, 0xC0, 0x3F, 0xF8, 0x1E, 0x0E, 0x0E, 0x00, 0x03, 0x00, 0x0F, 0xFF,
0x03, 0xFF, 0xC0, 0x18, 0x00, 0x06, 0x00, 0x0F, 0xFF, 0x03, 0xFF, 0xC0,
0x0C, 0x00, 0x03, 0x80, 0x00, 0x78, 0x38, 0x0F, 0xFE, 0x01, 0xFF, 0x00,
0x1F, 0x00, 0x01, 0x80, 0x3F, 0x03, 0xFC, 0x38, 0xF1, 0xC3, 0x0E, 0x00,
0x70, 0x03, 0x80, 0xFF, 0x87, 0xFC, 0x3F, 0xE0, 0x38, 0x01, 0xC0, 0x0C,
0x00, 0xE0, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x70, 0x0E, 0x78, 0x0E,
0x38, 0x1C, 0x3C, 0x1C, 0x1C, 0x38, 0x0E, 0x38, 0x0E, 0x70, 0x07, 0x70,
0x1F, 0xF8, 0x1F, 0xF8, 0x03, 0xC0, 0x01, 0xC0, 0x1F, 0xF8, 0x1F, 0xF8,
0x01, 0xC0, 0x01, 0xC0, 0x01, 0xC0, 0x01, 0xC0, 0x02, 0x00, 0x10, 0x07,
0xF0, 0xFF, 0xC7, 0xBF, 0x71, 0x3B, 0x89, 0xDE, 0x40, 0xFE, 0x03, 0xFE,
0x0F, 0xFC, 0x0F, 0xE0, 0x27, 0x81, 0x1F, 0x88, 0xFE, 0x4F, 0x7F, 0xF1,
0xFF, 0x87, 0xF0, 0x04, 0x00, 0x00, 0x1C, 0x00, 0x19, 0xF0, 0x07, 0x9F,
0x81, 0xF9, 0xFC, 0x3F, 0x9F, 0xE7, 0xF9, 0xFE, 0x7F, 0x9F, 0xF7, 0xF9,
0xFF, 0xFF, 0x9F, 0xFF, 0xF8, 0x00, 0xFF, 0x80, 0x0F, 0xFF, 0xFE, 0xFF,
0xFF, 0xEF, 0xFF, 0xFC, 0x7F, 0xFF, 0xC7, 0xFF, 0xF8, 0x3F, 0xFF, 0x81,
0xFF, 0xF0, 0x0F, 0xFC, 0x00, 0x3F, 0x00, 0x00, 0x60, 0x00, 0x6F, 0x60,
0x1D, 0xF3, 0x03, 0xDF, 0xB8, 0x39, 0xFB, 0xC7, 0xBF, 0x9C, 0x00, 0x00,
0x00, 0x00, 0x00, 0xFB, 0xFD, 0xEF, 0xBF, 0xDE, 0xFB, 0xFD, 0xFF, 0xBF,
0xDE, 0xFB, 0xFD, 0xE0, 0x00, 0x00, 0x7B, 0xF9, 0xE3, 0x9F, 0xBC, 0x3D,
0xFB, 0x81, 0xDF, 0x30, 0x04, 0xF6, 0x00, 0x26, 0x00, 0x7F, 0xFB, 0xFF,
0xFC, 0x00, 0xF0, 0x03, 0xC0, 0x0F, 0xFF, 0xF7, 0xFF, 0x8F, 0xFC, 0x1F,
0xE0, 0x3E, 0x00, 0x78, 0x03, 0xF0, 0x1C, 0xE1, 0xE1, 0xCF, 0x03, 0xB8,
0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xFE, 0x00, 0x30, 0x00, 0xE0,
0x03, 0x80, 0x0F, 0x00, 0x3E, 0x00, 0xFC, 0x03, 0xF0, 0x0F, 0xE0, 0x3F,
0xFE, 0xFF, 0xF9, 0xFF, 0xE0, 0x3F, 0x80, 0x7E, 0x00, 0xF8, 0x01, 0xE0,
0x07, 0x80, 0x0E, 0x00, 0x18, 0x00, 0x20, 0x00, 0x00, 0xFC, 0x00, 0x1F,
0xF8, 0xC3, 0xFF, 0xEE, 0x3E, 0x0F, 0xF1, 0xC0, 0x1F, 0x9C, 0x00, 0xFC,
0xE0, 0x0F, 0xEE, 0x00, 0x7F, 0x30, 0x00, 0xF8, 0x00, 0x00, 0x00, 0x00,
0x01, 0xF0, 0x00, 0x6F, 0xF0, 0x07, 0x7F, 0x00, 0x3B, 0xF0, 0x03, 0xDF,
0xC0, 0x3C, 0xFF, 0x07, 0xC3, 0x7F, 0xFC, 0x10, 0xFF, 0xC0, 0x01, 0xF8,
0x00, 0x03, 0xF8, 0x00, 0xFF, 0xE0, 0x1E, 0x07, 0x03, 0x80, 0x18, 0x72,
0x04, 0xC6, 0x60, 0xEE, 0xEF, 0x0F, 0x6D, 0xF1, 0xF6, 0xDE, 0xEF, 0x6D,
0xEF, 0x73, 0xC0, 0xF0, 0x3C, 0x06, 0x06, 0xC0, 0x00, 0x66, 0x0F, 0x06,
0x71, 0xF0, 0xC3, 0x1F, 0x9C, 0x1D, 0xF3, 0x80, 0xF9, 0xF0, 0x07, 0xFC,
0x00, 0x06, 0x00, 0x06, 0x00, 0x60, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xF0, 0x00, 0x00, 0x00, 0x60, 0x06, 0x00, 0x60, 0x00, 0x02, 0x00,
0x00, 0x20, 0x0E, 0x77, 0x81, 0xA9, 0xB0, 0x1C, 0x7B, 0x00, 0x69, 0xB0,
0x12, 0x9B, 0x00, 0xEF, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF,
0xF0, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x4F, 0x7C, 0xC5, 0x26, 0x6C, 0x58,
0x63, 0xC4, 0xF6, 0x3C, 0x43, 0xE3, 0xCD, 0x16, 0x67, 0x9F, 0x7C, 0x00,
0xF8, 0x00, 0x1F, 0xC0, 0x13, 0xFC, 0x01, 0xFF, 0xFC, 0x3F, 0xFF, 0xC3,
0xFF, 0xFE, 0x7F, 0x0F, 0xE7, 0xE0, 0x7F, 0x7E, 0x03, 0xE3, 0xC0, 0x3E,
0x3C, 0x03, 0xE7, 0xE0, 0x3E, 0xFE, 0x07, 0xF7, 0xF0, 0xFE, 0x3F, 0xFF,
0xE3, 0xFF, 0xFC, 0x1F, 0xFF, 0xC0, 0x3F, 0xC8, 0x01, 0xF8, 0x00, 0x1F,
0x80, 0x03, 0xF8, 0x00, 0xFF, 0xF0, 0x3F, 0xFF, 0xC7, 0xE0, 0x7E, 0xF8,
0x01, 0xE6, 0x3F, 0x8C, 0x07, 0xFE, 0x01, 0xFF, 0xF0, 0x0E, 0x0E, 0x00,
0x40, 0x00, 0x01, 0xF8, 0x00, 0x1F, 0x00, 0x00, 0xE0, 0x00, 0x04, 0x00,
0x03, 0xF0, 0x01, 0xC1, 0xC0, 0x60, 0x0C, 0x18, 0x00, 0xC6, 0x00, 0x0C,
0x8C, 0x18, 0xB1, 0xC7, 0x1C, 0x19, 0xC3, 0x81, 0xF0, 0x30, 0x1C, 0x06,
0x07, 0x80, 0xC0, 0xF8, 0x18, 0x33, 0x87, 0x8C, 0x38, 0xD1, 0x82, 0x13,
0x00, 0x06, 0x30, 0x01, 0x83, 0x00, 0x60, 0x38, 0x38, 0x01, 0xFC, 0x00,
0x03, 0xF0, 0x01, 0xC1, 0xC0, 0x60, 0x0C, 0x18, 0x00, 0xC6, 0x00, 0x0C,
0x80, 0x00, 0xB0, 0x01, 0x9C, 0x00, 0x63, 0x80, 0x1C, 0x30, 0x07, 0x06,
0x31, 0xC0, 0xC3, 0x70, 0x18, 0x7C, 0x07, 0x87, 0x00, 0xD0, 0x00, 0x13,
0x00, 0x06, 0x30, 0x01, 0x83, 0x00, 0x60, 0x38, 0x38, 0x01, 0xFC, 0x00,
0x03, 0xF0, 0x01, 0xC1, 0xC0, 0x60, 0x0C, 0x18, 0x00, 0xC6, 0x00, 0x0C,
0x80, 0x80, 0xB0, 0x30, 0x1C, 0x06, 0x03, 0x80, 0xC0, 0x30, 0x18, 0x06,
0x03, 0x00, 0xC0, 0x20, 0x18, 0x00, 0x07, 0x80, 0x80, 0xD0, 0x30, 0x13,
0x00, 0x06, 0x30, 0x01, 0x83, 0x00, 0x60, 0x38, 0x38, 0x01, 0xFC, 0x00 };
const GFXglyph orangeclock_icons12pt7bGlyphs[] PROGMEM = {
{ 0, 18, 20, 23, 3, -19 }, // 0x41 'A'
{ 45, 18, 18, 24, 3, -18 }, // 0x42 'B'
{ 86, 13, 18, 24, 5, -18 }, // 0x43 'C'
{ 116, 16, 18, 24, 4, -18 }, // 0x44 'D'
{ 152, 13, 20, 23, 5, -19 }, // 0x45 'E'
{ 185, 20, 20, 24, 2, -19 }, // 0x46 'F'
{ 235, 20, 20, 24, 2, -19 }, // 0x47 'G'
{ 285, 14, 20, 24, 5, -19 }, // 0x48 'H'
{ 320, 15, 19, 24, 4, -19 }, // 0x49 'I'
{ 356, 21, 20, 24, 1, -19 }, // 0x4A 'J'
{ 409, 20, 20, 23, 2, -19 }, // 0x4B 'K'
{ 459, 12, 20, 24, 6, -19 }, // 0x4C 'L'
{ 489, 20, 20, 24, 2, -19 }, // 0x4D 'M'
{ 539, 20, 20, 23, 1, -19 }, // 0x4E 'N'
{ 589, 20, 14, 24, 2, -16 }, // 0x4F 'O'
{ 624, 19, 20, 23, 2, -19 }, // 0x50 'P'
{ 672, 19, 20, 23, 2, -19 }, // 0x51 'Q'
{ 720, 19, 20, 23, 2, -19 } }; // 0x52 'R'
const GFXfont orangeclock_icons12pt7b PROGMEM = {
(uint8_t *)orangeclock_icons12pt7bBitmaps,
(GFXglyph *)orangeclock_icons12pt7bGlyphs,
0x41, 0x52, 24 };
// Approx. 901 bytes

View file

@ -0,0 +1,115 @@
const uint8_t orangeclock_icons14pt7bBitmaps[] PROGMEM = {
0x00, 0x70, 0x00, 0x0F, 0xC0, 0x01, 0xFF, 0x80, 0x1F, 0xFF, 0x03, 0xFF,
0xFC, 0x3F, 0xFF, 0xF8, 0xFF, 0xFF, 0x11, 0xFF, 0xE3, 0xE3, 0xFE, 0x3F,
0xC7, 0xC7, 0xFF, 0x18, 0xFF, 0xFE, 0x0F, 0xFF, 0xF9, 0xFF, 0xFF, 0xCF,
0xFF, 0xFE, 0x7F, 0xFF, 0xF3, 0xFF, 0xFF, 0x9F, 0xF3, 0xFC, 0xFF, 0x07,
0xE7, 0xF0, 0x1F, 0x3E, 0x00, 0x39, 0xC0, 0x00, 0x4C, 0x00, 0x00, 0x3F,
0x80, 0x07, 0xFF, 0x00, 0x7F, 0xFC, 0x07, 0xC1, 0xE0, 0x78, 0x02, 0x07,
0x80, 0x00, 0x38, 0x00, 0x1F, 0xFF, 0x80, 0xFF, 0xFC, 0x00, 0xE0, 0x00,
0x07, 0x00, 0x00, 0x38, 0x00, 0x0F, 0xFF, 0xC0, 0x7F, 0xFE, 0x00, 0x38,
0x00, 0x01, 0xE0, 0x00, 0x07, 0x80, 0x20, 0x1F, 0x07, 0x80, 0x7F, 0xFC,
0x01, 0xFF, 0xC0, 0x03, 0xF8, 0x00, 0x03, 0xF0, 0x0F, 0xF8, 0x3F, 0xF8,
0xF0, 0xF1, 0xC0, 0xC3, 0x80, 0x07, 0x00, 0x0E, 0x00, 0x1C, 0x01, 0xFF,
0xC3, 0xFF, 0x87, 0xFF, 0x01, 0xC0, 0x03, 0x80, 0x07, 0x00, 0x0E, 0x00,
0x38, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xF0, 0x03, 0x9E, 0x01,
0xE7, 0x80, 0x70, 0xF0, 0x3C, 0x1C, 0x0E, 0x07, 0x87, 0x80, 0xE1, 0xC0,
0x3C, 0xE0, 0x07, 0x78, 0x07, 0xFF, 0x81, 0xFF, 0xE0, 0x07, 0x80, 0x01,
0xE0, 0x00, 0x78, 0x01, 0xFF, 0xE0, 0x7F, 0xF8, 0x01, 0xE0, 0x00, 0x78,
0x00, 0x1E, 0x00, 0x07, 0x80, 0x01, 0xE0, 0x00, 0x03, 0x00, 0x06, 0x00,
0x3F, 0x81, 0xFF, 0x87, 0xFF, 0x8F, 0x6F, 0xBC, 0xCF, 0x79, 0x80, 0xFB,
0x00, 0xFE, 0x01, 0xFF, 0x81, 0xFF, 0xC0, 0xFF, 0xC0, 0x6F, 0x80, 0xC7,
0xF9, 0x8F, 0xF3, 0x1F, 0xF6, 0x79, 0xFF, 0xF1, 0xFF, 0xC0, 0xFE, 0x00,
0x60, 0x00, 0xC0, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x1F, 0x80, 0x0F, 0x3F,
0x80, 0x7E, 0x7F, 0x81, 0xFC, 0xFF, 0x87, 0xF9, 0xFF, 0x8F, 0xF3, 0xFF,
0x3F, 0xE7, 0xFF, 0x7F, 0xCF, 0xFF, 0xFF, 0x9F, 0xFF, 0xFF, 0x00, 0x07,
0xFE, 0x00, 0x0F, 0xFC, 0x00, 0x1F, 0xFF, 0xFF, 0x3F, 0xFF, 0xFE, 0x7F,
0xFF, 0xFC, 0x7F, 0xFF, 0xF8, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xC0, 0xFF,
0xFF, 0x00, 0xFF, 0xFC, 0x00, 0xFF, 0xE0, 0x00, 0x7F, 0x00, 0x00, 0x00,
0x38, 0x00, 0x06, 0xFB, 0x00, 0x39, 0xF3, 0x80, 0xF7, 0xF7, 0x83, 0xCF,
0xE7, 0x87, 0x9F, 0xCF, 0x1F, 0x7F, 0xDF, 0x00, 0x00, 0x00, 0x00, 0x00,
0x01, 0xF3, 0xFE, 0xFF, 0xE7, 0xFC, 0xFF, 0xCF, 0xF9, 0xFF, 0x9F, 0xF3,
0xFF, 0x3F, 0xE7, 0xFE, 0x7F, 0xCF, 0x80, 0x00, 0x00, 0x7D, 0xFF, 0x7C,
0x79, 0xFC, 0xF0, 0xF3, 0xF9, 0xE0, 0xF7, 0xF7, 0x80, 0xE7, 0xCE, 0x00,
0x6F, 0xB0, 0x00, 0x0E, 0x00, 0x00, 0x7F, 0xFE, 0xFF, 0xFF, 0xC0, 0x03,
0xC0, 0x03, 0xC0, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0xFE, 0x1F, 0xF8,
0x0F, 0xF0, 0x07, 0xE0, 0x03, 0xC0, 0x07, 0xE0, 0x0E, 0x70, 0x1C, 0x38,
0x78, 0x1E, 0xF0, 0x0F, 0xE0, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0x7F, 0xFE, 0x00, 0x08, 0x00, 0x0C, 0x00, 0x0E, 0x00, 0x0F,
0x00, 0x0F, 0x80, 0x0F, 0x80, 0x0F, 0xC0, 0x0F, 0xE0, 0x0F, 0xF0, 0x0F,
0xFF, 0xCF, 0xFF, 0xEF, 0xFF, 0xEF, 0xFF, 0xE0, 0x1F, 0xE0, 0x0F, 0xE0,
0x0F, 0xE0, 0x07, 0xE0, 0x03, 0xE0, 0x01, 0xE0, 0x01, 0xE0, 0x00, 0xE0,
0x00, 0x60, 0x00, 0x20, 0x00, 0x00, 0x7F, 0x00, 0x00, 0xFF, 0xF1, 0xC1,
0xFF, 0xFD, 0xE1, 0xF8, 0x3F, 0xF1, 0xF0, 0x07, 0xF8, 0xF0, 0x01, 0xFC,
0xF0, 0x01, 0xFE, 0x78, 0x01, 0xFF, 0x38, 0x00, 0xFF, 0x88, 0x00, 0x0F,
0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xE0, 0x00,
0x33, 0xFE, 0x00, 0x3D, 0xFF, 0x00, 0x1E, 0x7F, 0x00, 0x1E, 0x3F, 0x00,
0x1F, 0x1F, 0xC0, 0x1F, 0x0F, 0xF8, 0x3F, 0x07, 0x7F, 0xFF, 0x03, 0x0F,
0xFF, 0x00, 0x01, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFE, 0x00, 0x1F,
0xFF, 0x00, 0x78, 0x0F, 0x01, 0xE0, 0x07, 0x07, 0x20, 0x17, 0x0C, 0xE0,
0x77, 0x3B, 0xC0, 0xF6, 0x67, 0xC3, 0xEE, 0xDF, 0x87, 0xFF, 0xBE, 0xE7,
0xDF, 0x7F, 0xEF, 0xBE, 0x07, 0xC0, 0x7C, 0x07, 0x00, 0xD8, 0x00, 0x03,
0xB0, 0x1E, 0x07, 0x70, 0x7E, 0x0C, 0x60, 0xFC, 0x38, 0xE3, 0xFC, 0xE0,
0xF3, 0xF3, 0x80, 0xF0, 0x1E, 0x00, 0xFF, 0xF8, 0x00, 0x7F, 0xC0, 0x00,
0x00, 0x00, 0x03, 0x00, 0x0C, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00,
0x0F, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xFF,
0xFC, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00,
0x00, 0x03, 0x00, 0x0C, 0x00, 0x30, 0x00, 0x00, 0x00, 0x40, 0x00, 0x01,
0x80, 0x00, 0x03, 0x00, 0x79, 0xEF, 0x01, 0x92, 0x6C, 0x03, 0xE3, 0xD8,
0x01, 0xD9, 0xB0, 0x08, 0xB3, 0x60, 0x0F, 0x7E, 0x60, 0x00, 0x00, 0x00,
0x00, 0x00, 0x07, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x63, 0x3E, 0x7C, 0xC6, 0xC4, 0xCD, 0x8D, 0x81, 0x8F, 0x1B,
0xE3, 0x1E, 0x33, 0xF6, 0x3C, 0x60, 0x6C, 0x78, 0x98, 0xD9, 0x9E, 0x1F,
0x3E, 0x00, 0x00, 0x7E, 0x00, 0x01, 0xFC, 0x00, 0x07, 0xFC, 0x00, 0xFF,
0xFF, 0x81, 0xFF, 0xFF, 0x87, 0xFF, 0xFF, 0x1F, 0xFF, 0xFF, 0x3F, 0xE1,
0xFE, 0x7F, 0x01, 0xFE, 0xFE, 0x01, 0xF8, 0xF8, 0x03, 0xF1, 0xF0, 0x07,
0xC7, 0xE0, 0x0F, 0xCF, 0xE0, 0x1F, 0xBF, 0xC0, 0x7F, 0xBF, 0xE1, 0xFE,
0x7F, 0xFF, 0xFC, 0x7F, 0xFF, 0xF0, 0x7F, 0xFF, 0xE0, 0xFF, 0xFF, 0x80,
0x1F, 0xF0, 0x00, 0x1F, 0xC0, 0x00, 0x3F, 0x80, 0x00, 0x00, 0xFF, 0x00,
0x0F, 0xFF, 0x80, 0x7F, 0xFF, 0xC1, 0xFC, 0x0F, 0xE7, 0xC0, 0x07, 0xEF,
0x00, 0x07, 0xCC, 0x3F, 0x83, 0x01, 0xFF, 0xE4, 0x0F, 0xFF, 0xE0, 0x0F,
0x07, 0xC0, 0x08, 0x03, 0x00, 0x01, 0xE0, 0x00, 0x0F, 0xE0, 0x00, 0x0F,
0x80, 0x00, 0x0E, 0x00, 0x00, 0x08, 0x00, 0x00, 0xFE, 0x00, 0x07, 0x07,
0x00, 0x38, 0x01, 0x80, 0xC0, 0x01, 0x83, 0x00, 0x01, 0x84, 0x00, 0x03,
0x18, 0xC0, 0xE3, 0x21, 0xC3, 0xC2, 0xC1, 0xC7, 0x07, 0x81, 0xDC, 0x0F,
0x01, 0xF0, 0x1E, 0x01, 0xC0, 0x3C, 0x07, 0xC0, 0x78, 0x1D, 0xC0, 0xF0,
0x71, 0xC1, 0xA1, 0xC1, 0xC2, 0x63, 0x01, 0x0C, 0x40, 0x00, 0x10, 0xC0,
0x00, 0x60, 0xC0, 0x01, 0x80, 0xC0, 0x0E, 0x00, 0x70, 0x70, 0x00, 0x3F,
0x80, 0x00, 0x00, 0xFE, 0x00, 0x07, 0x07, 0x00, 0x38, 0x01, 0x80, 0xC0,
0x01, 0x83, 0x00, 0x01, 0x84, 0x00, 0x03, 0x18, 0x00, 0x23, 0x20, 0x00,
0xE2, 0xC0, 0x03, 0xC7, 0x80, 0x0F, 0x0F, 0x00, 0x3C, 0x1E, 0x30, 0xF0,
0x3C, 0x71, 0xC0, 0x78, 0x77, 0x00, 0xF0, 0x7C, 0x01, 0xA0, 0x70, 0x02,
0x60, 0x40, 0x0C, 0x40, 0x00, 0x10, 0xC0, 0x00, 0x60, 0xC0, 0x01, 0x80,
0xC0, 0x0E, 0x00, 0x70, 0x70, 0x00, 0x3F, 0x80, 0x00, 0x00, 0xFE, 0x00,
0x07, 0x07, 0x00, 0x38, 0x01, 0x80, 0xC0, 0x01, 0x83, 0x00, 0x01, 0x84,
0x02, 0x03, 0x18, 0x0E, 0x03, 0x20, 0x1C, 0x02, 0xC0, 0x38, 0x07, 0x80,
0x70, 0x0F, 0x00, 0xE0, 0x1E, 0x01, 0xC0, 0x3C, 0x03, 0x80, 0x78, 0x02,
0x00, 0xF0, 0x00, 0x01, 0xA0, 0x08, 0x02, 0x60, 0x38, 0x0C, 0x40, 0x20,
0x10, 0xC0, 0x00, 0x60, 0xC0, 0x01, 0x80, 0xC0, 0x0E, 0x00, 0x70, 0x70,
0x00, 0x3F, 0x80, 0x00 };
const GFXglyph orangeclock_icons14pt7bGlyphs[] PROGMEM = {
{ 0, 21, 22, 27, 3, -22 }, // 0x41 'A'
{ 58, 21, 21, 27, 3, -22 }, // 0x42 'B'
{ 114, 15, 20, 28, 6, -21 }, // 0x43 'C'
{ 152, 18, 21, 28, 5, -21 }, // 0x44 'D'
{ 200, 15, 23, 27, 6, -23 }, // 0x45 'E'
{ 244, 23, 23, 27, 2, -23 }, // 0x46 'F'
{ 311, 23, 23, 27, 2, -23 }, // 0x47 'G'
{ 378, 16, 23, 28, 6, -23 }, // 0x48 'H'
{ 424, 17, 23, 27, 5, -22 }, // 0x49 'I'
{ 473, 25, 23, 27, 1, -23 }, // 0x4A 'J'
{ 545, 23, 24, 28, 2, -23 }, // 0x4B 'K'
{ 614, 14, 23, 28, 7, -23 }, // 0x4C 'L'
{ 655, 23, 23, 27, 2, -23 }, // 0x4D 'M'
{ 722, 23, 23, 27, 2, -23 }, // 0x4E 'N'
{ 789, 23, 16, 27, 2, -19 }, // 0x4F 'O'
{ 835, 23, 23, 27, 2, -23 }, // 0x50 'P'
{ 902, 23, 23, 27, 2, -23 }, // 0x51 'Q'
{ 969, 23, 23, 27, 2, -23 } }; // 0x52 'R'
const GFXfont orangeclock_icons14pt7b PROGMEM = {
(uint8_t *)orangeclock_icons14pt7bBitmaps,
(GFXglyph *)orangeclock_icons14pt7bGlyphs,
0x41, 0x52, 27 };
// Approx. 1169 bytes

View file

@ -0,0 +1,127 @@
const uint8_t orangeclock_icons15pt7bBitmaps[] PROGMEM = {
0x00, 0x30, 0x00, 0x03, 0xF0, 0x00, 0x3F, 0xF0, 0x01, 0xFF, 0xE0, 0x1F,
0xFF, 0xE1, 0xFF, 0xFF, 0xE3, 0xFF, 0xFF, 0x87, 0xFF, 0xF8, 0xC7, 0xFF,
0x8F, 0x87, 0xF8, 0x7F, 0x8F, 0xC7, 0xFF, 0x8C, 0x7F, 0xFF, 0x03, 0xFF,
0xFF, 0x3F, 0xFF, 0xFC, 0xFF, 0xFF, 0xF3, 0xFF, 0xFF, 0xCF, 0xFF, 0xFF,
0x3F, 0xFF, 0xFC, 0xFF, 0xCF, 0xF3, 0xFC, 0x0F, 0xCF, 0xC0, 0x1F, 0x3E,
0x00, 0x1C, 0xE0, 0x00, 0x12, 0x00, 0x00, 0x0F, 0xC0, 0x00, 0xFF, 0xC0,
0x0F, 0xFF, 0xC0, 0x7C, 0x1E, 0x03, 0xE0, 0x10, 0x0E, 0x00, 0x00, 0x78,
0x00, 0x01, 0xC0, 0x00, 0xFF, 0xFE, 0x03, 0xFF, 0xF8, 0x00, 0xE0, 0x00,
0x03, 0x80, 0x00, 0xFF, 0xFE, 0x03, 0xFF, 0xF8, 0x00, 0x70, 0x00, 0x01,
0xE0, 0x00, 0x03, 0x80, 0x00, 0x0F, 0x80, 0x60, 0x1F, 0x07, 0x80, 0x3F,
0xFF, 0x00, 0x3F, 0xF0, 0x00, 0x3F, 0x00, 0x01, 0xF8, 0x01, 0xFE, 0x01,
0xFF, 0x81, 0xE1, 0xE0, 0xE0, 0x70, 0x70, 0x10, 0x38, 0x00, 0x1C, 0x00,
0x0E, 0x00, 0x07, 0x00, 0x1F, 0xFC, 0x0F, 0xFE, 0x07, 0xFF, 0x00, 0x70,
0x00, 0x38, 0x00, 0x1C, 0x00, 0x0E, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x1F,
0xFF, 0xEF, 0xFF, 0xF7, 0xFF, 0xF8, 0xF0, 0x01, 0xFE, 0x00, 0x79, 0xE0,
0x0F, 0x3C, 0x03, 0xC3, 0xC0, 0x78, 0x78, 0x1E, 0x07, 0x83, 0x80, 0xF0,
0xF0, 0x0F, 0x1C, 0x01, 0xE7, 0x80, 0x1E, 0xE0, 0x0F, 0xFF, 0x81, 0xFF,
0xF0, 0x03, 0xE0, 0x00, 0x78, 0x00, 0x0F, 0x00, 0x1F, 0xFF, 0x03, 0xFF,
0xE0, 0x07, 0x80, 0x00, 0xF0, 0x00, 0x1E, 0x00, 0x03, 0xC0, 0x00, 0x78,
0x00, 0x01, 0x80, 0x01, 0x80, 0x0F, 0xE0, 0x3F, 0xF8, 0x7F, 0xFC, 0x7D,
0xBE, 0xF1, 0x9E, 0xF1, 0x9E, 0xF1, 0x80, 0xFD, 0x80, 0x7F, 0xC0, 0x7F,
0xF8, 0x1F, 0xFE, 0x03, 0xFE, 0x01, 0xBF, 0x01, 0x8F, 0xF1, 0x8F, 0xF1,
0x8F, 0xF9, 0x9E, 0x7F, 0xFE, 0x3F, 0xFC, 0x0F, 0xF0, 0x01, 0x80, 0x01,
0x80, 0x00, 0x07, 0x00, 0x00, 0x07, 0xE0, 0x01, 0xE7, 0xF0, 0x07, 0xE7,
0xF8, 0x0F, 0xE7, 0xFC, 0x1F, 0xE7, 0xFE, 0x3F, 0xE7, 0xFE, 0x7F, 0xE7,
0xFF, 0x7F, 0xE7, 0xFF, 0xFF, 0xE7, 0xFF, 0xFF, 0xE7, 0xFF, 0xFF, 0xE0,
0x00, 0xFF, 0xE0, 0x00, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF,
0xFC, 0x7F, 0xFF, 0xFC, 0x7F, 0xFF, 0xFC, 0x3F, 0xFF, 0xF8, 0x3F, 0xFF,
0xF0, 0x1F, 0xFF, 0xF0, 0x0F, 0xFF, 0xE0, 0x03, 0xFF, 0x80, 0x00, 0xFE,
0x00, 0x00, 0x1C, 0x00, 0x01, 0x9E, 0x60, 0x01, 0x9F, 0x9C, 0x03, 0xCF,
0xEF, 0x01, 0xEF, 0xF3, 0xC1, 0xE7, 0xF9, 0xF1, 0xF3, 0xFE, 0xF8, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0xFF, 0xCF, 0xBF, 0x7F, 0xE7, 0xFF,
0xBF, 0xF3, 0xFF, 0xDF, 0xF9, 0xFF, 0xEF, 0xFC, 0xFF, 0xF7, 0xFE, 0x7C,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x7F, 0xDF, 0x0F, 0x3F, 0xCF,
0x83, 0xDF, 0xE7, 0x81, 0xE7, 0xF7, 0x80, 0x33, 0xF3, 0x80, 0x0C, 0xF3,
0x00, 0x00, 0x38, 0x00, 0x7F, 0xFF, 0x7F, 0xFF, 0xF0, 0x00, 0x78, 0x00,
0x3C, 0x00, 0x1F, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFE, 0x3F, 0xFE, 0x0F,
0xFE, 0x01, 0xFC, 0x00, 0x7C, 0x00, 0x3E, 0x00, 0x3F, 0x80, 0x3D, 0xE0,
0x78, 0x3C, 0x78, 0x0F, 0x78, 0x03, 0xF8, 0x00, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFE, 0x00, 0x0C, 0x00, 0x07, 0x00,
0x03, 0x80, 0x01, 0xE0, 0x00, 0xF8, 0x00, 0x7E, 0x00, 0x3F, 0x00, 0x1F,
0xC0, 0x0F, 0xF0, 0x07, 0xFC, 0x03, 0xFF, 0xFD, 0xFF, 0xFE, 0xFF, 0xFF,
0x3F, 0xFF, 0x80, 0x3F, 0xC0, 0x1F, 0xE0, 0x07, 0xF0, 0x01, 0xF8, 0x00,
0x7C, 0x00, 0x1E, 0x00, 0x0F, 0x00, 0x03, 0x80, 0x00, 0xC0, 0x00, 0x20,
0x00, 0x00, 0x3F, 0x80, 0x00, 0x1F, 0xFC, 0x00, 0x07, 0xFF, 0xE3, 0x03,
0xFF, 0xFE, 0xE0, 0xFE, 0x07, 0xFE, 0x1F, 0x00, 0x3F, 0xC7, 0xC0, 0x03,
0xF8, 0xF0, 0x00, 0xFF, 0x3C, 0x00, 0x3F, 0xE7, 0x80, 0x0F, 0xFC, 0xE0,
0x00, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x1F, 0xE0, 0x00, 0xE7, 0xFE, 0x00, 0x1C, 0x7F, 0xC0, 0x07, 0x8F, 0xF0,
0x00, 0xF1, 0xFC, 0x00, 0x3C, 0x3F, 0xC0, 0x0F, 0x87, 0xFE, 0x07, 0xE0,
0xFF, 0xFF, 0xF8, 0x1C, 0x7F, 0xFE, 0x00, 0x07, 0xFF, 0x00, 0x00, 0x3F,
0x80, 0x00, 0x00, 0x7F, 0x00, 0x00, 0xFF, 0xF0, 0x01, 0xF8, 0xFC, 0x01,
0xE0, 0x0F, 0x01, 0xE0, 0x01, 0xC1, 0xC4, 0x00, 0x70, 0xE6, 0x03, 0x9C,
0xE7, 0x83, 0xCE, 0x77, 0xC1, 0xF3, 0x33, 0xF0, 0xF9, 0xDB, 0xF7, 0x3E,
0xFD, 0xF7, 0xDF, 0x7E, 0xFB, 0xEF, 0xBB, 0x00, 0xF0, 0x1D, 0x80, 0x20,
0x0E, 0xC0, 0x00, 0x06, 0x70, 0x3E, 0x07, 0x18, 0x1F, 0x83, 0x8E, 0x1F,
0xC3, 0x83, 0x8F, 0xF3, 0x80, 0xF3, 0xE3, 0xC0, 0x3E, 0x07, 0xC0, 0x0F,
0xFF, 0x80, 0x01, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x06,
0x00, 0x0C, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF,
0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xC0,
0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x00,
0x00, 0x60, 0x00, 0xC0, 0x01, 0x80, 0x03, 0x00, 0x00, 0x00, 0x60, 0x00,
0x00, 0x30, 0x03, 0xC7, 0xBE, 0x01, 0x22, 0x6C, 0x00, 0xE0, 0x36, 0x00,
0x7C, 0xFB, 0x00, 0x0E, 0xCD, 0x80, 0x33, 0x66, 0xC0, 0x0F, 0x1F, 0x38,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0xFF, 0xF0, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x8C, 0x7C, 0xF8, 0xC6, 0x62,
0x66, 0x63, 0x30, 0x31, 0xB1, 0x9F, 0x18, 0xD8, 0xCF, 0xCC, 0x6C, 0x61,
0xF6, 0x36, 0x30, 0x1B, 0x1B, 0x19, 0x8D, 0x98, 0xF8, 0x7C, 0xF8, 0x00,
0x7F, 0x00, 0x00, 0x7F, 0xC0, 0x00, 0x3F, 0xE0, 0x03, 0xFF, 0xFF, 0x81,
0xFF, 0xFF, 0xC1, 0xFF, 0xFF, 0xF1, 0xFF, 0xFF, 0xFC, 0xFF, 0x83, 0xFE,
0xFF, 0x80, 0xFF, 0xBF, 0x80, 0x3F, 0xDF, 0xC0, 0x1F, 0xC7, 0xE0, 0x0F,
0xC3, 0xF0, 0x07, 0xE3, 0xF8, 0x03, 0xFB, 0xFC, 0x01, 0xFD, 0xFF, 0x01,
0xFF, 0x7F, 0xC1, 0xFF, 0x3F, 0xFF, 0xFF, 0x8F, 0xFF, 0xFF, 0x83, 0xFF,
0xFF, 0x81, 0xFF, 0xFF, 0xC0, 0x07, 0xFC, 0x00, 0x03, 0xFE, 0x00, 0x00,
0xFE, 0x00, 0x00, 0x7F, 0x80, 0x01, 0xFF, 0xF8, 0x03, 0xFF, 0xFF, 0x07,
0xFF, 0xFF, 0xC7, 0xF8, 0x0F, 0xF3, 0xF0, 0x00, 0xFC, 0xE1, 0xFC, 0x3C,
0x23, 0xFF, 0x8C, 0x03, 0xFF, 0xF0, 0x07, 0xFF, 0xFC, 0x01, 0xF0, 0x7C,
0x00, 0x60, 0x0C, 0x00, 0x03, 0xE0, 0x00, 0x03, 0xFC, 0x00, 0x00, 0xFC,
0x00, 0x00, 0x3C, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x7F, 0x00, 0x00, 0xFF, 0xE0, 0x01, 0xE0, 0x3C, 0x01, 0xC0, 0x07, 0x01,
0xC0, 0x01, 0xC1, 0xC0, 0x00, 0x70, 0xC0, 0x00, 0x18, 0xC3, 0x01, 0x86,
0x61, 0xC1, 0xC3, 0x60, 0x71, 0xC0, 0xB0, 0x1D, 0xC0, 0x78, 0x07, 0xC0,
0x3C, 0x01, 0xC0, 0x1E, 0x01, 0xF0, 0x0F, 0x01, 0xDC, 0x07, 0x81, 0xC7,
0x02, 0x61, 0xC1, 0xC3, 0x30, 0xC0, 0x61, 0x8C, 0x00, 0x01, 0x87, 0x00,
0x01, 0xC1, 0xC0, 0x01, 0xC0, 0x70, 0x01, 0xC0, 0x1E, 0x03, 0xC0, 0x03,
0xFF, 0x80, 0x00, 0x7F, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x00, 0xFF, 0xE0,
0x01, 0xE0, 0x3C, 0x01, 0xC0, 0x07, 0x01, 0xC0, 0x01, 0xC1, 0xC0, 0x00,
0x70, 0xC0, 0x00, 0x18, 0xC0, 0x00, 0x46, 0x60, 0x00, 0xE3, 0x60, 0x00,
0xF0, 0xB0, 0x00, 0xF0, 0x78, 0x00, 0xF0, 0x3C, 0x30, 0xF0, 0x1E, 0x1C,
0xF0, 0x0F, 0x07, 0xF0, 0x07, 0x81, 0xF0, 0x02, 0x60, 0x70, 0x03, 0x30,
0x10, 0x01, 0x8C, 0x00, 0x01, 0x87, 0x00, 0x01, 0xC1, 0xC0, 0x01, 0xC0,
0x70, 0x01, 0xC0, 0x1E, 0x03, 0xC0, 0x03, 0xFF, 0x80, 0x00, 0x7F, 0x00,
0x00, 0x00, 0x7F, 0x00, 0x00, 0xFF, 0xE0, 0x01, 0xE0, 0x3C, 0x01, 0xC0,
0x07, 0x01, 0xC0, 0x01, 0xC1, 0xC0, 0x00, 0x70, 0xC0, 0x20, 0x18, 0xC0,
0x38, 0x06, 0x60, 0x1C, 0x03, 0x60, 0x0E, 0x00, 0xB0, 0x07, 0x00, 0x78,
0x03, 0x80, 0x3C, 0x01, 0xC0, 0x1E, 0x00, 0xE0, 0x0F, 0x00, 0x60, 0x07,
0x80, 0x00, 0x02, 0x60, 0x18, 0x03, 0x30, 0x0E, 0x01, 0x8C, 0x02, 0x01,
0x87, 0x00, 0x01, 0xC1, 0xC0, 0x01, 0xC0, 0x70, 0x01, 0xC0, 0x1E, 0x03,
0xC0, 0x03, 0xFF, 0x80, 0x00, 0x7F, 0x00, 0x00 };
const GFXglyph orangeclock_icons15pt7bGlyphs[] PROGMEM = {
{ 0, 22, 24, 30, 4, -24 }, // 0x41 'A'
{ 66, 22, 22, 30, 4, -23 }, // 0x42 'B'
{ 127, 17, 22, 29, 6, -23 }, // 0x43 'C'
{ 174, 19, 23, 29, 5, -24 }, // 0x44 'D'
{ 229, 16, 24, 30, 7, -24 }, // 0x45 'E'
{ 277, 24, 24, 29, 2, -24 }, // 0x46 'F'
{ 349, 25, 24, 29, 2, -24 }, // 0x47 'G'
{ 424, 17, 24, 29, 6, -24 }, // 0x48 'H'
{ 475, 18, 24, 29, 6, -24 }, // 0x49 'I'
{ 529, 27, 25, 29, 1, -25 }, // 0x4A 'J'
{ 614, 25, 25, 29, 2, -24 }, // 0x4B 'K'
{ 693, 15, 25, 29, 7, -25 }, // 0x4C 'L'
{ 740, 25, 24, 29, 2, -24 }, // 0x4D 'M'
{ 815, 25, 24, 29, 2, -24 }, // 0x4E 'N'
{ 890, 25, 18, 29, 2, -21 }, // 0x4F 'O'
{ 947, 25, 25, 29, 2, -25 }, // 0x50 'P'
{ 1026, 25, 25, 29, 2, -25 }, // 0x51 'Q'
{ 1105, 25, 25, 29, 2, -25 } }; // 0x52 'R'
const GFXfont orangeclock_icons15pt7b PROGMEM = {
(uint8_t *)orangeclock_icons15pt7bBitmaps,
(GFXglyph *)orangeclock_icons15pt7bGlyphs,
0x41, 0x52, 29 };
// Approx. 1317 bytes

View file

@ -0,0 +1,184 @@
const uint8_t orangeclock_icons19pt7bBitmaps[] PROGMEM = {
0x00, 0x0E, 0x00, 0x00, 0x01, 0xF8, 0x00, 0x00, 0x7F, 0xE0, 0x00, 0x1F,
0xFF, 0x80, 0x03, 0xFF, 0xFC, 0x00, 0xFF, 0xFF, 0xF0, 0x3F, 0xFF, 0xFF,
0xC7, 0xFF, 0xFF, 0xFE, 0x1F, 0xFF, 0xFF, 0x80, 0xFF, 0xFF, 0xE0, 0xC3,
0xFF, 0xFC, 0x3F, 0x0F, 0xFF, 0x0F, 0xF8, 0x7F, 0xC1, 0xFF, 0xE1, 0xF8,
0x7F, 0xFF, 0x86, 0x1F, 0xFF, 0xFC, 0x07, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF,
0xFF, 0x9F, 0xFF, 0xFF, 0xF9, 0xFF, 0xFF, 0xFF, 0x9F, 0xFF, 0xFF, 0xF9,
0xFF, 0xFF, 0xFF, 0x9F, 0xFF, 0xFF, 0xF9, 0xFF, 0xF7, 0xFF, 0x9F, 0xFE,
0x1F, 0xF9, 0xFF, 0x80, 0xFF, 0x9F, 0xF0, 0x03, 0xF9, 0xFC, 0x00, 0x0F,
0x9F, 0x00, 0x00, 0x79, 0xE0, 0x00, 0x01, 0x98, 0x00, 0x00, 0x01, 0xFC,
0x00, 0x00, 0xFF, 0xF8, 0x00, 0x1F, 0xFF, 0xC0, 0x03, 0xFF, 0xFF, 0x00,
0x7F, 0x03, 0xE0, 0x0F, 0x80, 0x0C, 0x01, 0xF0, 0x00, 0x00, 0x3E, 0x00,
0x00, 0x03, 0xC0, 0x00, 0x0F, 0xFF, 0xFE, 0x00, 0xFF, 0xFF, 0xE0, 0x0F,
0xFF, 0xFE, 0x00, 0x07, 0x80, 0x00, 0x00, 0x78, 0x00, 0x00, 0x07, 0x80,
0x00, 0x00, 0x78, 0x00, 0x00, 0xFF, 0xFF, 0xE0, 0x0F, 0xFF, 0xFE, 0x00,
0xFF, 0xFF, 0xE0, 0x00, 0x3C, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x1F,
0x00, 0x00, 0x00, 0xF8, 0x00, 0xC0, 0x07, 0xF0, 0x3E, 0x00, 0x7F, 0xFF,
0xF0, 0x01, 0xFF, 0xFC, 0x00, 0x0F, 0xFF, 0x80, 0x00, 0x1F, 0xC0, 0x00,
0x3E, 0x00, 0x07, 0xFC, 0x00, 0x7F, 0xF0, 0x07, 0xFF, 0xC0, 0x3E, 0x1F,
0x03, 0xE0, 0x7C, 0x1E, 0x01, 0xC0, 0xF0, 0x0C, 0x07, 0x80, 0x00, 0x3C,
0x00, 0x01, 0xE0, 0x00, 0x0F, 0x00, 0x00, 0x78, 0x00, 0x3F, 0xFF, 0x01,
0xFF, 0xF8, 0x0F, 0xFF, 0xC0, 0x7F, 0xFE, 0x00, 0x3C, 0x00, 0x01, 0xE0,
0x00, 0x0F, 0x00, 0x00, 0x78, 0x00, 0x03, 0xC0, 0x00, 0x3E, 0x00, 0x03,
0xE0, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xF0, 0xF8, 0x00, 0x1F, 0x7C, 0x00, 0x3E, 0x7C, 0x00, 0x3E, 0x3E, 0x00,
0x7C, 0x3E, 0x00, 0xF8, 0x1F, 0x00, 0xF8, 0x1F, 0x01, 0xF0, 0x0F, 0x01,
0xF0, 0x0F, 0x83, 0xE0, 0x07, 0x83, 0xE0, 0x07, 0xC7, 0xC0, 0x03, 0xC7,
0xC0, 0x03, 0xEF, 0x80, 0x0F, 0xEF, 0xF0, 0x0F, 0xFF, 0xF0, 0x0F, 0xFF,
0xF0, 0x00, 0xFE, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x7C, 0x00, 0x0F, 0xFF,
0xF0, 0x0F, 0xFF, 0xF0, 0x0F, 0xFF, 0xF0, 0x00, 0x7C, 0x00, 0x00, 0x7C,
0x00, 0x00, 0x7C, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x7C,
0x00, 0x00, 0x60, 0x00, 0x06, 0x00, 0x00, 0x60, 0x00, 0x7F, 0xE0, 0x1F,
0xFF, 0x83, 0xFF, 0xFC, 0x3F, 0xFF, 0xC7, 0xE6, 0x7E, 0x7C, 0x63, 0xE7,
0xC6, 0x3E, 0x7C, 0x60, 0x07, 0xE6, 0x00, 0x7F, 0xE0, 0x03, 0xFF, 0xC0,
0x1F, 0xFF, 0x00, 0xFF, 0xFC, 0x03, 0xFF, 0xE0, 0x07, 0xFE, 0x00, 0x67,
0xF0, 0x06, 0x1F, 0x00, 0x61, 0xFF, 0x86, 0x1F, 0xFC, 0x61, 0xF7, 0xE6,
0x3E, 0x7F, 0xFF, 0xE3, 0xFF, 0xFC, 0x1F, 0xFF, 0x80, 0x7F, 0xE0, 0x00,
0x60, 0x00, 0x06, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
0x00, 0xFC, 0x00, 0x00, 0x71, 0xFE, 0x00, 0x07, 0xE3, 0xFE, 0x00, 0x3F,
0xC7, 0xFE, 0x00, 0xFF, 0x8F, 0xFE, 0x03, 0xFF, 0x1F, 0xFE, 0x0F, 0xFE,
0x3F, 0xFC, 0x3F, 0xFC, 0x7F, 0xFC, 0x7F, 0xF8, 0xFF, 0xF9, 0xFF, 0xF1,
0xFF, 0xFB, 0xFF, 0xE3, 0xFF, 0xF7, 0xFF, 0xC7, 0xFF, 0xFF, 0xFF, 0x8F,
0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x7F, 0xFE, 0x00, 0x00, 0xFF, 0xFC, 0x00,
0x01, 0xFF, 0xFF, 0xFF, 0xF3, 0xFF, 0xFF, 0xFF, 0xE7, 0xFF, 0xFF, 0xFF,
0xC7, 0xFF, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xFE, 0x1F, 0xFF, 0xFF, 0xFC,
0x1F, 0xFF, 0xFF, 0xF0, 0x3F, 0xFF, 0xFF, 0xE0, 0x3F, 0xFF, 0xFF, 0x80,
0x3F, 0xFF, 0xFE, 0x00, 0x3F, 0xFF, 0xF8, 0x00, 0x3F, 0xFF, 0xE0, 0x00,
0x1F, 0xFF, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x00, 0x03, 0x80, 0x00,
0x00, 0xCF, 0x8C, 0x00, 0x07, 0x1F, 0x9C, 0x00, 0x1E, 0x7F, 0x9E, 0x00,
0x78, 0xFF, 0x3E, 0x01, 0xF3, 0xFF, 0x3E, 0x07, 0xC7, 0xFE, 0x7C, 0x1F,
0x8F, 0xFC, 0xFC, 0x3F, 0x3F, 0xF9, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x07, 0xF1, 0xFF, 0xE7, 0xFF, 0xE3, 0xFF, 0xCF, 0xFF, 0xC7,
0xFF, 0x9F, 0xFF, 0x8F, 0xFF, 0x3F, 0xFF, 0x1F, 0xFE, 0x7F, 0xFE, 0x3F,
0xFC, 0xFF, 0xFC, 0x7F, 0xF9, 0xFF, 0xF8, 0xFF, 0xF3, 0xF8, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xCF, 0xFE,
0x7E, 0x1F, 0x8F, 0xFC, 0xFC, 0x1F, 0x1F, 0xF9, 0xF0, 0x1F, 0x3F, 0xF3,
0xE0, 0x1E, 0x7F, 0xCF, 0x80, 0x1E, 0x7F, 0x9E, 0x00, 0x1C, 0x7E, 0x70,
0x00, 0x0C, 0xF8, 0xC0, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x7F, 0xFF, 0xFB,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0x07, 0xE0, 0x00, 0x1F, 0x80,
0x00, 0x7E, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xFF, 0xFF,
0xE3, 0xFF, 0xFF, 0x03, 0xFF, 0xF0, 0x07, 0xFF, 0x80, 0x0F, 0xFC, 0x00,
0x1F, 0xE0, 0x00, 0x3F, 0x00, 0x01, 0xFE, 0x00, 0x0F, 0xFC, 0x00, 0x7C,
0xF8, 0x03, 0xE1, 0xF0, 0x3E, 0x01, 0xE1, 0xF0, 0x03, 0xEF, 0x80, 0x07,
0xBC, 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0xFF, 0xFF, 0x00, 0x00,
0x00, 0xC0, 0x00, 0x03, 0x80, 0x00, 0x0F, 0x00, 0x00, 0x3C, 0x00, 0x00,
0xF8, 0x00, 0x03, 0xF0, 0x00, 0x0F, 0xE0, 0x00, 0x3F, 0x80, 0x00, 0xFF,
0x00, 0x03, 0xFE, 0x00, 0x0F, 0xFC, 0x00, 0x3F, 0xF8, 0x00, 0xFF, 0xE0,
0x03, 0xFF, 0xFF, 0xCF, 0xFF, 0xFF, 0xBF, 0xFF, 0xFE, 0xFF, 0xFF, 0xF9,
0xFF, 0xFF, 0xE0, 0x03, 0xFF, 0x80, 0x07, 0xFE, 0x00, 0x1F, 0xF8, 0x00,
0x3F, 0xE0, 0x00, 0x7F, 0x80, 0x00, 0xFE, 0x00, 0x03, 0xF8, 0x00, 0x07,
0xE0, 0x00, 0x0F, 0x80, 0x00, 0x1E, 0x00, 0x00, 0x78, 0x00, 0x00, 0xE0,
0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x1F, 0xFF,
0x00, 0x00, 0x3F, 0xFF, 0xE0, 0xC0, 0x3F, 0xFF, 0xF8, 0xF0, 0x3F, 0xFF,
0xFE, 0xF8, 0x3F, 0xC0, 0x7F, 0xFC, 0x3F, 0x80, 0x0F, 0xFE, 0x1F, 0x80,
0x01, 0xFF, 0x1F, 0x80, 0x00, 0xFF, 0x9F, 0x80, 0x00, 0xFF, 0xCF, 0x80,
0x00, 0xFF, 0xE7, 0xC0, 0x00, 0xFF, 0xF3, 0xC0, 0x00, 0x7F, 0xF9, 0xE0,
0x00, 0x03, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x7F, 0x80, 0x00, 0x07, 0x3F, 0xFC, 0x00, 0x07, 0x9F,
0xFE, 0x00, 0x03, 0xCF, 0xFE, 0x00, 0x03, 0xE7, 0xFE, 0x00, 0x03, 0xF3,
0xFE, 0x00, 0x01, 0xF1, 0xFF, 0x80, 0x01, 0xF8, 0xFF, 0xE0, 0x03, 0xF8,
0x7F, 0xFC, 0x07, 0xF8, 0x3E, 0xFF, 0xFF, 0xF8, 0x1E, 0x3F, 0xFF, 0xF8,
0x06, 0x0F, 0xFF, 0xF8, 0x00, 0x01, 0xFF, 0xF0, 0x00, 0x00, 0x1F, 0xC0,
0x00, 0x00, 0x07, 0xC0, 0x00, 0x00, 0xFF, 0xF8, 0x00, 0x07, 0xFF, 0xFC,
0x00, 0x1F, 0xE3, 0xFC, 0x00, 0x7C, 0x00, 0x7C, 0x01, 0xF0, 0x00, 0x3C,
0x07, 0x80, 0x00, 0x3C, 0x1E, 0x30, 0x02, 0x3C, 0x3C, 0xE0, 0x0E, 0x38,
0xF3, 0xE0, 0x3E, 0x79, 0xCF, 0xE0, 0x7E, 0x73, 0x9F, 0xC1, 0xFE, 0xFF,
0x3F, 0x81, 0xFC, 0xFC, 0xFE, 0xF9, 0xF9, 0xF9, 0xF9, 0xF3, 0xF3, 0xF3,
0xF7, 0xF7, 0xE7, 0xE0, 0x07, 0xE0, 0x0F, 0xC0, 0x0F, 0x80, 0x1F, 0x80,
0x0E, 0x00, 0x3B, 0x80, 0x00, 0x00, 0xF7, 0x00, 0x40, 0x01, 0xCF, 0x00,
0xFC, 0x03, 0x8E, 0x03, 0xF8, 0x0F, 0x1E, 0x0F, 0xF8, 0x3C, 0x1E, 0x1F,
0xF0, 0xF0, 0x1E, 0x7F, 0xF3, 0xE0, 0x3E, 0x3F, 0x8F, 0x80, 0x1F, 0x80,
0x7E, 0x00, 0x1F, 0xFF, 0xF0, 0x00, 0x1F, 0xFF, 0xC0, 0x00, 0x07, 0xFC,
0x00, 0x00, 0x00, 0xC0, 0x00, 0x18, 0x00, 0x03, 0x00, 0x00, 0x60, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF,
0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F,
0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x0C, 0x00, 0x01,
0x80, 0x00, 0x30, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x06, 0x00,
0x00, 0x00, 0x0C, 0x00, 0x1E, 0x1F, 0x7E, 0x00, 0x66, 0x67, 0xFC, 0x01,
0xC0, 0xC6, 0x60, 0x01, 0xE0, 0x0C, 0xC0, 0x01, 0xF3, 0xF9, 0x80, 0x00,
0x6E, 0x33, 0x00, 0x18, 0xD8, 0xE7, 0x80, 0x1F, 0x1E, 0xCF, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x18, 0xFC,
0x7F, 0x1C, 0x33, 0x0C, 0xE3, 0xB8, 0x66, 0x01, 0xC3, 0x70, 0xCF, 0x03,
0x87, 0xE1, 0x9F, 0xC7, 0x0F, 0xC3, 0x1F, 0xCE, 0x1F, 0x86, 0x07, 0x9C,
0x3F, 0x0C, 0x03, 0xB8, 0x7E, 0x3B, 0x86, 0x71, 0xCF, 0xE3, 0xFC, 0xFF,
0x0F, 0x83, 0xF1, 0xFC, 0x00, 0x00, 0x1F, 0xF0, 0x00, 0x00, 0xFF, 0xC0,
0x00, 0x03, 0xFF, 0x80, 0x00, 0x1F, 0xFE, 0x00, 0x0F, 0xFF, 0xFF, 0xC0,
0x7F, 0xFF, 0xFF, 0x83, 0xFF, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xFC, 0x7F,
0xFF, 0xFF, 0xF9, 0xFF, 0xE1, 0xFF, 0xEF, 0xFE, 0x01, 0xFF, 0xFF, 0xF0,
0x03, 0xFF, 0x7F, 0xC0, 0x0F, 0xFD, 0xFE, 0x00, 0x1F, 0xE3, 0xF8, 0x00,
0x7F, 0x0F, 0xE0, 0x01, 0xFC, 0x3F, 0x80, 0x07, 0xF1, 0xFE, 0x00, 0x1F,
0xEF, 0xFC, 0x00, 0xFF, 0xBF, 0xF0, 0x03, 0xFF, 0xFF, 0xE0, 0x1F, 0xFD,
0xFF, 0xE1, 0xFF, 0xE7, 0xFF, 0xFF, 0xFF, 0x8F, 0xFF, 0xFF, 0xFC, 0x3F,
0xFF, 0xFF, 0xF0, 0x7F, 0xFF, 0xFF, 0x80, 0xFF, 0xFF, 0xFC, 0x00, 0x1F,
0xFE, 0x00, 0x00, 0x7F, 0xF0, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x03, 0xFE,
0x00, 0x00, 0x00, 0x1F, 0xF0, 0x00, 0x01, 0xFF, 0xFE, 0x00, 0x1F, 0xFF,
0xFF, 0x00, 0x7F, 0xFF, 0xFF, 0x83, 0xFF, 0xFF, 0xFF, 0x8F, 0xFE, 0x01,
0xFF, 0xBF, 0xC0, 0x00, 0x7F, 0xBF, 0x0F, 0xF0, 0x3E, 0x38, 0x7F, 0xFC,
0x38, 0x23, 0xFF, 0xFE, 0x20, 0x0F, 0xFF, 0xFE, 0x00, 0x3F, 0xFF, 0xFE,
0x00, 0x3F, 0x81, 0xF8, 0x00, 0x38, 0x00, 0xE0, 0x00, 0x20, 0x40, 0x80,
0x00, 0x07, 0xF0, 0x00, 0x00, 0x1F, 0xF8, 0x00, 0x00, 0x1F, 0xE0, 0x00,
0x00, 0x1F, 0x80, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x00, 0xFF, 0xF8, 0x00,
0x07, 0xC0, 0x7C, 0x00, 0x1E, 0x00, 0x3C, 0x00, 0x70, 0x00, 0x1C, 0x01,
0xC0, 0x00, 0x1C, 0x07, 0x00, 0x00, 0x1C, 0x1C, 0x00, 0x00, 0x1C, 0x30,
0x60, 0x0C, 0x18, 0xE1, 0xE0, 0x38, 0x39, 0x81, 0xE0, 0xF0, 0x33, 0x03,
0xE3, 0xC0, 0x6E, 0x03, 0xEF, 0x00, 0xF8, 0x03, 0xFE, 0x00, 0xF0, 0x03,
0xF8, 0x01, 0xE0, 0x03, 0xE0, 0x03, 0xC0, 0x0F, 0xE0, 0x07, 0x80, 0x3F,
0xE0, 0x0F, 0x80, 0xFB, 0xE0, 0x3F, 0x03, 0xE3, 0xE0, 0x66, 0x0F, 0x83,
0xC0, 0xCE, 0x1E, 0x03, 0x83, 0x8C, 0x00, 0x00, 0x06, 0x1C, 0x00, 0x00,
0x1C, 0x1C, 0x00, 0x00, 0x70, 0x1C, 0x00, 0x01, 0xC0, 0x1C, 0x00, 0x07,
0x00, 0x1E, 0x00, 0x3C, 0x00, 0x1F, 0x01, 0xF0, 0x00, 0x0F, 0xFF, 0x80,
0x00, 0x03, 0xFC, 0x00, 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x00, 0xFF, 0xF8,
0x00, 0x07, 0xC0, 0x7C, 0x00, 0x1E, 0x00, 0x3C, 0x00, 0x70, 0x00, 0x1C,
0x01, 0xC0, 0x00, 0x1C, 0x07, 0x00, 0x00, 0x1C, 0x1C, 0x00, 0x00, 0x1C,
0x30, 0x00, 0x00, 0x18, 0xE0, 0x00, 0x0E, 0x39, 0x80, 0x00, 0x3C, 0x33,
0x00, 0x00, 0xF8, 0x6E, 0x00, 0x03, 0xE0, 0xF8, 0x00, 0x0F, 0x80, 0xF0,
0x00, 0x3E, 0x01, 0xE0, 0xE0, 0xF8, 0x03, 0xC1, 0xE1, 0xE0, 0x07, 0x81,
0xE7, 0x80, 0x0F, 0x81, 0xFE, 0x00, 0x3F, 0x01, 0xF8, 0x00, 0x66, 0x01,
0xE0, 0x00, 0xCE, 0x01, 0x80, 0x03, 0x8C, 0x00, 0x00, 0x06, 0x1C, 0x00,
0x00, 0x1C, 0x1C, 0x00, 0x00, 0x70, 0x1C, 0x00, 0x01, 0xC0, 0x1C, 0x00,
0x07, 0x00, 0x1E, 0x00, 0x3C, 0x00, 0x1F, 0x01, 0xF0, 0x00, 0x0F, 0xFF,
0x80, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x00, 0xFF,
0xF8, 0x00, 0x07, 0xC0, 0x7C, 0x00, 0x1E, 0x00, 0x3C, 0x00, 0x70, 0x00,
0x1C, 0x01, 0xC0, 0x00, 0x1C, 0x07, 0x00, 0x00, 0x1C, 0x1C, 0x00, 0x00,
0x1C, 0x30, 0x03, 0x80, 0x18, 0xE0, 0x07, 0x00, 0x39, 0x80, 0x0E, 0x00,
0x33, 0x00, 0x1C, 0x00, 0x6E, 0x00, 0x38, 0x00, 0xF8, 0x00, 0x70, 0x00,
0xF0, 0x00, 0xE0, 0x01, 0xE0, 0x01, 0xC0, 0x03, 0xC0, 0x03, 0x80, 0x07,
0x80, 0x07, 0x00, 0x0F, 0x80, 0x0E, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x66,
0x00, 0x38, 0x00, 0xCE, 0x00, 0x70, 0x03, 0x8C, 0x00, 0xE0, 0x06, 0x1C,
0x00, 0x00, 0x1C, 0x1C, 0x00, 0x00, 0x70, 0x1C, 0x00, 0x01, 0xC0, 0x1C,
0x00, 0x07, 0x00, 0x1E, 0x00, 0x3C, 0x00, 0x1F, 0x01, 0xF0, 0x00, 0x0F,
0xFF, 0x80, 0x00, 0x03, 0xFC, 0x00, 0x00 };
const GFXglyph orangeclock_icons19pt7bGlyphs[] PROGMEM = {
{ 0, 28, 30, 38, 5, -30 }, // 0x41 'A'
{ 105, 28, 28, 38, 5, -29 }, // 0x42 'B'
{ 203, 21, 28, 37, 8, -29 }, // 0x43 'C'
{ 277, 24, 28, 38, 7, -29 }, // 0x44 'D'
{ 361, 20, 31, 38, 9, -31 }, // 0x45 'E'
{ 439, 31, 31, 37, 3, -31 }, // 0x46 'F'
{ 560, 31, 31, 37, 3, -31 }, // 0x47 'G'
{ 681, 22, 31, 38, 8, -31 }, // 0x48 'H'
{ 767, 23, 31, 37, 7, -31 }, // 0x49 'I'
{ 857, 33, 31, 37, 2, -31 }, // 0x4A 'J'
{ 985, 31, 31, 37, 3, -31 }, // 0x4B 'K'
{ 1106, 19, 31, 37, 9, -31 }, // 0x4C 'L'
{ 1180, 31, 31, 37, 3, -31 }, // 0x4D 'M'
{ 1301, 30, 31, 36, 3, -31 }, // 0x4E 'N'
{ 1418, 31, 22, 37, 3, -26 }, // 0x4F 'O'
{ 1504, 31, 31, 37, 3, -31 }, // 0x50 'P'
{ 1625, 31, 31, 37, 3, -31 }, // 0x51 'Q'
{ 1746, 31, 31, 37, 3, -31 } }; // 0x52 'R'
const GFXfont orangeclock_icons19pt7b PROGMEM = {
(uint8_t *)orangeclock_icons19pt7bBitmaps,
(GFXglyph *)orangeclock_icons19pt7bGlyphs,
0x41, 0x52, 37 };
// Approx. 2000 bytes

View file

@ -0,0 +1,201 @@
const uint8_t orangeclock_icons20pt7bBitmaps[] PROGMEM = {
0x00, 0x03, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x03, 0xFE, 0x00, 0x00,
0x3F, 0xFE, 0x00, 0x01, 0xFF, 0xFE, 0x00, 0x1F, 0xFF, 0xFC, 0x01, 0xFF,
0xFF, 0xFC, 0x0F, 0xFF, 0xFF, 0xFC, 0x7F, 0xFF, 0xFF, 0xF0, 0x7F, 0xFF,
0xFF, 0x08, 0x7F, 0xFF, 0xF0, 0x38, 0x7F, 0xFF, 0x87, 0xF0, 0x7F, 0xF8,
0x7F, 0xF0, 0xFF, 0x83, 0xFF, 0xF0, 0xFC, 0x3F, 0xFF, 0xE0, 0xC3, 0xFF,
0xFF, 0xE0, 0x1F, 0xFF, 0xFF, 0xC1, 0xFF, 0xFF, 0xFF, 0x8F, 0xFF, 0xFF,
0xFE, 0x3F, 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0xFF, 0xE3, 0xFF, 0xFF, 0xFF,
0x8F, 0xFF, 0xFF, 0xFE, 0x3F, 0xFF, 0xFF, 0xF8, 0xFF, 0xF8, 0xFF, 0xE3,
0xFF, 0x80, 0xFF, 0x8F, 0xFC, 0x01, 0xFE, 0x3F, 0xC0, 0x01, 0xF8, 0xFE,
0x00, 0x01, 0xE3, 0xE0, 0x00, 0x03, 0x8E, 0x00, 0x00, 0x02, 0x30, 0x00,
0x00, 0x00, 0xFE, 0x00, 0x00, 0x3F, 0xFE, 0x00, 0x07, 0xFF, 0xFC, 0x00,
0x7F, 0xFF, 0xF0, 0x07, 0xF0, 0x1F, 0x80, 0x7E, 0x00, 0x38, 0x03, 0xE0,
0x00, 0x80, 0x3E, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x1E, 0x00, 0x00,
0x3F, 0xFF, 0xFC, 0x01, 0xFF, 0xFF, 0xE0, 0x0F, 0xFF, 0xFF, 0x00, 0x03,
0xC0, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0xFF, 0xFF,
0xF0, 0x07, 0xFF, 0xFF, 0x80, 0x3F, 0xFF, 0xFC, 0x00, 0x07, 0x80, 0x00,
0x00, 0x3E, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x07, 0xE0, 0x00, 0x80,
0x1F, 0x80, 0x0E, 0x00, 0x7F, 0x01, 0xF8, 0x01, 0xFF, 0xFF, 0xC0, 0x07,
0xFF, 0xFC, 0x00, 0x0F, 0xFF, 0x80, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x3F,
0x80, 0x03, 0xFF, 0x00, 0x1F, 0xFE, 0x00, 0xFF, 0xFC, 0x03, 0xE1, 0xF8,
0x1F, 0x01, 0xF0, 0x7C, 0x03, 0x81, 0xE0, 0x0C, 0x07, 0x80, 0x00, 0x1E,
0x00, 0x00, 0x78, 0x00, 0x01, 0xE0, 0x00, 0x07, 0x80, 0x01, 0xFF, 0xFC,
0x07, 0xFF, 0xF0, 0x1F, 0xFF, 0xC0, 0x7F, 0xFF, 0x00, 0x1E, 0x00, 0x00,
0x78, 0x00, 0x01, 0xE0, 0x00, 0x07, 0x80, 0x00, 0x1E, 0x00, 0x00, 0x78,
0x00, 0x03, 0xE0, 0x00, 0x1F, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xF8, 0x00, 0x1F, 0xBE, 0x00, 0x0F,
0x9F, 0x00, 0x0F, 0xC7, 0xC0, 0x07, 0xC3, 0xE0, 0x07, 0xE0, 0xF8, 0x03,
0xE0, 0x7C, 0x03, 0xF0, 0x1F, 0x01, 0xF0, 0x0F, 0x80, 0xF8, 0x03, 0xE0,
0xF8, 0x01, 0xF0, 0x78, 0x00, 0x7C, 0x7C, 0x00, 0x3E, 0x3C, 0x00, 0x0F,
0xBE, 0x00, 0x3F, 0xDF, 0xE0, 0x1F, 0xFF, 0xF0, 0x0F, 0xFF, 0xF8, 0x00,
0x3F, 0x80, 0x00, 0x0F, 0x80, 0x00, 0x07, 0xC0, 0x00, 0xFF, 0xFF, 0x80,
0x7F, 0xFF, 0xC0, 0x3F, 0xFF, 0xE0, 0x00, 0x7C, 0x00, 0x00, 0x3E, 0x00,
0x00, 0x1F, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x07, 0xC0, 0x00, 0x03, 0xE0,
0x00, 0x01, 0xF0, 0x00, 0x00, 0x60, 0x00, 0x03, 0x00, 0x00, 0x18, 0x00,
0x0F, 0xFC, 0x00, 0xFF, 0xF8, 0x1F, 0xFF, 0xE0, 0xFF, 0xFF, 0x8F, 0xCC,
0xFE, 0x7C, 0x63, 0xF3, 0xE3, 0x0F, 0x9F, 0x18, 0x00, 0xF8, 0xC0, 0x07,
0xF6, 0x00, 0x3F, 0xF8, 0x00, 0xFF, 0xFC, 0x03, 0xFF, 0xF8, 0x0F, 0xFF,
0xE0, 0x0F, 0xFF, 0x80, 0x1F, 0xFC, 0x00, 0xC7, 0xF0, 0x06, 0x1F, 0xFC,
0x30, 0x7F, 0xE1, 0x83, 0xFF, 0x8C, 0x3F, 0x7E, 0x63, 0xF3, 0xFF, 0xFF,
0x8F, 0xFF, 0xF8, 0x3F, 0xFF, 0x00, 0x3F, 0xE0, 0x00, 0x30, 0x00, 0x01,
0x80, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x1F, 0x80,
0x00, 0x03, 0x8F, 0xF0, 0x00, 0x0F, 0xC7, 0xFE, 0x00, 0x1F, 0xE3, 0xFF,
0x80, 0x1F, 0xF1, 0xFF, 0xE0, 0x1F, 0xF8, 0xFF, 0xF0, 0x1F, 0xFC, 0x7F,
0xFC, 0x1F, 0xFE, 0x3F, 0xFE, 0x1F, 0xFF, 0x1F, 0xFF, 0x8F, 0xFF, 0x8F,
0xFF, 0xCF, 0xFF, 0xC7, 0xFF, 0xF7, 0xFF, 0xE3, 0xFF, 0xFF, 0xFF, 0xF1,
0xFF, 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0x00, 0xFF, 0xFE,
0x00, 0x00, 0x7F, 0xFF, 0x00, 0x00, 0x3F, 0xFF, 0x80, 0x00, 0x1F, 0xFF,
0xFF, 0xFF, 0xCF, 0xFF, 0xFF, 0xFF, 0xE7, 0xFF, 0xFF, 0xFF, 0xE1, 0xFF,
0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xFF, 0xF8, 0x3F, 0xFF, 0xFF, 0xF8, 0x1F,
0xFF, 0xFF, 0xFC, 0x07, 0xFF, 0xFF, 0xFC, 0x01, 0xFF, 0xFF, 0xFC, 0x00,
0x7F, 0xFF, 0xFE, 0x00, 0x1F, 0xFF, 0xFE, 0x00, 0x07, 0xFF, 0xFC, 0x00,
0x00, 0xFF, 0xF8, 0x00, 0x00, 0x1F, 0xF0, 0x00, 0x00, 0x00, 0x01, 0xC0,
0x00, 0x00, 0x11, 0xF1, 0x00, 0x00, 0x39, 0xFC, 0xE0, 0x00, 0x78, 0xFE,
0x38, 0x00, 0x7C, 0xFF, 0x9E, 0x00, 0x7C, 0x7F, 0xCF, 0x80, 0x7E, 0x7F,
0xF3, 0xE0, 0x3F, 0x3F, 0xF9, 0xF8, 0x3F, 0x9F, 0xFC, 0xFE, 0x1F, 0x8F,
0xFE, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x07, 0xF9, 0xFF, 0xF3, 0xFB, 0xFC, 0xFF, 0xF9, 0xFD, 0xFE,
0x7F, 0xFC, 0xFF, 0xFF, 0x3F, 0xFE, 0x7F, 0xFF, 0x9F, 0xFF, 0x3F, 0xFF,
0xCF, 0xFF, 0x9F, 0xFF, 0xE7, 0xFF, 0xCF, 0xEF, 0xF3, 0xFF, 0xE7, 0xF0,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x3F, 0xF9, 0xFC,
0x3F, 0x9F, 0xFC, 0xFC, 0x0F, 0xCF, 0xFE, 0x7E, 0x07, 0xE7, 0xFF, 0x3E,
0x01, 0xF1, 0xFF, 0x3E, 0x00, 0x7C, 0xFF, 0x9E, 0x00, 0x1E, 0x3F, 0x8E,
0x00, 0x03, 0x9F, 0xCE, 0x00, 0x00, 0x47, 0xC4, 0x00, 0x00, 0x01, 0xC0,
0x00, 0x00, 0x3F, 0xFF, 0xF8, 0xFF, 0xFF, 0xFB, 0xFF, 0xFF, 0xFF, 0x00,
0x00, 0x7E, 0x00, 0x00, 0xFC, 0x00, 0x01, 0xF8, 0x00, 0x03, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF,
0x80, 0xFF, 0xFE, 0x00, 0xFF, 0xF8, 0x00, 0xFF, 0xE0, 0x00, 0x7F, 0x00,
0x00, 0x7C, 0x00, 0x01, 0xFC, 0x00, 0x07, 0xFC, 0x00, 0x3F, 0x7C, 0x00,
0xFC, 0x7E, 0x03, 0xF0, 0x3E, 0x0F, 0x80, 0x3E, 0x3E, 0x00, 0x3E, 0xF8,
0x00, 0x3F, 0xE0, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0xFF, 0xFE, 0x7F, 0xFF,
0xF8, 0x00, 0x00, 0x20, 0x00, 0x00, 0x30, 0x00, 0x00, 0x38, 0x00, 0x00,
0x3C, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x3F, 0x00, 0x00,
0x3F, 0x80, 0x00, 0x3F, 0xC0, 0x00, 0x3F, 0xC0, 0x00, 0x3F, 0xE0, 0x00,
0x3F, 0xF0, 0x00, 0x3F, 0xF8, 0x00, 0x3F, 0xF8, 0x00, 0x3F, 0xFF, 0xFE,
0x3F, 0xFF, 0xFE, 0x3F, 0xFF, 0xFE, 0x3F, 0xFF, 0xFE, 0x1F, 0xFF, 0xFE,
0x00, 0x0F, 0xFE, 0x00, 0x0F, 0xFE, 0x00, 0x07, 0xFE, 0x00, 0x03, 0xFE,
0x00, 0x01, 0xFE, 0x00, 0x01, 0xFE, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x7E,
0x00, 0x00, 0x3E, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x0E,
0x00, 0x00, 0x06, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFC,
0x00, 0x00, 0x03, 0xFF, 0xE0, 0x00, 0x01, 0xFF, 0xFF, 0x07, 0x00, 0x7F,
0xFF, 0xF9, 0xF0, 0x3F, 0xFF, 0xFF, 0xBE, 0x0F, 0xF8, 0x0F, 0xFF, 0xC1,
0xFC, 0x00, 0x7F, 0xF8, 0x7E, 0x00, 0x03, 0xFF, 0x1F, 0x80, 0x00, 0x3F,
0xE3, 0xF0, 0x00, 0x0F, 0xFC, 0xFC, 0x00, 0x03, 0xFF, 0x9F, 0x00, 0x00,
0xFF, 0xF3, 0xE0, 0x00, 0x3F, 0xFE, 0x78, 0x00, 0x03, 0xFF, 0xC2, 0x00,
0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 0x7F, 0xF8, 0x00, 0x03,
0xCF, 0xFF, 0x80, 0x00, 0xF9, 0xFF, 0xF0, 0x00, 0x1F, 0x3F, 0xFC, 0x00,
0x07, 0xE7, 0xFF, 0x00, 0x00, 0xF8, 0xFF, 0xC0, 0x00, 0x3F, 0x1F, 0xF8,
0x00, 0x0F, 0xC3, 0xFF, 0xC0, 0x07, 0xF8, 0x7F, 0xFE, 0x03, 0xFE, 0x07,
0xFF, 0xFF, 0xFF, 0x80, 0xF1, 0xFF, 0xFF, 0xE0, 0x1C, 0x1F, 0xFF, 0xF0,
0x00, 0x00, 0xFF, 0xF8, 0x00, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x0F, 0xFE, 0x00, 0x00, 0x1F, 0xFF, 0xC0, 0x00, 0x3F,
0xFF, 0xF8, 0x00, 0x3F, 0x00, 0x7E, 0x00, 0x3E, 0x00, 0x0F, 0x80, 0x3E,
0x00, 0x01, 0xE0, 0x3E, 0x60, 0x06, 0x78, 0x1E, 0x70, 0x03, 0x9E, 0x1E,
0x7C, 0x03, 0xEF, 0x0E, 0x7E, 0x03, 0xFB, 0xCF, 0x3F, 0x81, 0xFD, 0xE7,
0x3F, 0xC0, 0xFF, 0x73, 0x9F, 0xC0, 0x3F, 0xBF, 0xCF, 0xCF, 0x9F, 0xDF,
0xE7, 0xE7, 0xE7, 0xE7, 0xF7, 0xF7, 0xF3, 0xFB, 0xF8, 0x03, 0xF8, 0x01,
0xFC, 0x00, 0xF8, 0x00, 0xFE, 0x00, 0x38, 0x00, 0xF7, 0x00, 0x00, 0x00,
0x73, 0x80, 0x1F, 0x80, 0x39, 0xE0, 0x1F, 0xC0, 0x3C, 0x70, 0x0F, 0xF0,
0x1E, 0x3C, 0x0F, 0xF8, 0x1E, 0x0F, 0x07, 0xFE, 0x1E, 0x07, 0xC7, 0xFF,
0x9F, 0x01, 0xF0, 0x7E, 0x1F, 0x00, 0x7E, 0x00, 0x1F, 0x00, 0x1F, 0xC0,
0x7F, 0x00, 0x03, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFE, 0x00, 0x00, 0x0F,
0xF8, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x0E, 0x00, 0x00, 0xE0, 0x00, 0x0E,
0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xE0, 0x00, 0x0E, 0x00, 0x00, 0xE0, 0x00, 0x0E, 0x00, 0x00,
0xE0, 0x00, 0x00, 0x00, 0x01, 0xC0, 0x00, 0x00, 0x00, 0xE0, 0x00, 0xF8,
0x7C, 0xFC, 0x00, 0xC4, 0x67, 0x7E, 0x00, 0x60, 0x31, 0x9C, 0x00, 0x3C,
0x00, 0xCE, 0x00, 0x1F, 0x8F, 0xE7, 0x00, 0x01, 0xEE, 0x33, 0x80, 0x00,
0x36, 0x19, 0xC0, 0x06, 0x3B, 0x9C, 0xF8, 0x01, 0xF8, 0xF6, 0x3C, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x0E, 0x18, 0x7C, 0x3F, 0xC7, 0x0C, 0x7F, 0x9F, 0xF3, 0x86, 0x70, 0xCE,
0x3D, 0xC3, 0x38, 0x07, 0x0F, 0xE1, 0x8F, 0x03, 0x83, 0xF0, 0xC7, 0xF1,
0xC1, 0xF8, 0x61, 0xFC, 0xE0, 0xFC, 0x30, 0x0F, 0x70, 0x7E, 0x18, 0x83,
0xB8, 0x7F, 0x1C, 0xE1, 0x9C, 0x79, 0xFE, 0x3F, 0xCF, 0xF8, 0x7C, 0x0F,
0xC7, 0xF8, 0x00, 0x07, 0xFC, 0x00, 0x00, 0x03, 0xFF, 0x80, 0x00, 0x01,
0xFF, 0xE0, 0x00, 0x00, 0x7F, 0xF8, 0x00, 0x07, 0xBF, 0xFF, 0x00, 0x03,
0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xC0, 0x7F, 0xFF, 0xFF, 0xF8,
0x1F, 0xFF, 0xFF, 0xFE, 0x0F, 0xFF, 0xFF, 0xFF, 0xC7, 0xFF, 0xC0, 0xFF,
0xF9, 0xFF, 0xE0, 0x1F, 0xFE, 0x7F, 0xF0, 0x03, 0xFF, 0xCF, 0xF8, 0x00,
0x7F, 0xE3, 0xFE, 0x00, 0x1F, 0xF0, 0x7F, 0x00, 0x03, 0xF8, 0x1F, 0xC0,
0x00, 0xFE, 0x07, 0xF0, 0x00, 0x3F, 0x83, 0xFE, 0x00, 0x1F, 0xF1, 0xFF,
0x80, 0x07, 0xFC, 0xFF, 0xF0, 0x03, 0xFF, 0x9F, 0xFE, 0x01, 0xFF, 0xE7,
0xFF, 0xC0, 0xFF, 0xF8, 0xFF, 0xFF, 0xFF, 0xFC, 0x1F, 0xFF, 0xFF, 0xFE,
0x07, 0xFF, 0xFF, 0xFF, 0x80, 0xFF, 0xFF, 0xFF, 0xC0, 0x3F, 0xFF, 0xFF,
0xF0, 0x00, 0x3F, 0xFF, 0x78, 0x00, 0x07, 0xFF, 0x80, 0x00, 0x01, 0xFF,
0xE0, 0x00, 0x00, 0x7F, 0xF0, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x00,
0x0F, 0xF8, 0x00, 0x00, 0x7F, 0xFF, 0xC0, 0x00, 0xFF, 0xFF, 0xF8, 0x01,
0xFF, 0xFF, 0xFF, 0x01, 0xFF, 0xFF, 0xFF, 0xC1, 0xFF, 0xC0, 0x7F, 0xF1,
0xFF, 0x00, 0x07, 0xFE, 0xFE, 0x00, 0x00, 0xFE, 0x3C, 0x0F, 0xF8, 0x1E,
0x0C, 0x1F, 0xFF, 0x06, 0x00, 0x3F, 0xFF, 0xE0, 0x00, 0x3F, 0xFF, 0xFC,
0x00, 0x3F, 0xFF, 0xFF, 0x00, 0x0F, 0xE0, 0x7F, 0x00, 0x03, 0x80, 0x0F,
0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x07, 0xFC,
0x00, 0x00, 0x03, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x3F,
0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0F,
0xF0, 0x00, 0x00, 0x7F, 0xFE, 0x00, 0x00, 0xF8, 0x0F, 0x80, 0x03, 0xC0,
0x03, 0xC0, 0x07, 0x00, 0x00, 0xF0, 0x0E, 0x00, 0x00, 0x70, 0x1C, 0x00,
0x00, 0x38, 0x38, 0x00, 0x00, 0x1C, 0x38, 0x20, 0x00, 0x0E, 0x70, 0x70,
0x0E, 0x0E, 0x70, 0x78, 0x1E, 0x06, 0x60, 0x7C, 0x3E, 0x07, 0xE0, 0x3E,
0x7C, 0x03, 0xE0, 0x1F, 0xF8, 0x03, 0xE0, 0x0F, 0xF0, 0x03, 0xC0, 0x07,
0xE0, 0x03, 0xC0, 0x07, 0xE0, 0x03, 0xE0, 0x0F, 0xF0, 0x03, 0xE0, 0x1F,
0xF8, 0x03, 0xE0, 0x3E, 0x7C, 0x03, 0x60, 0x7C, 0x3E, 0x07, 0x70, 0x78,
0x1E, 0x06, 0x70, 0x70, 0x0E, 0x0E, 0x38, 0x00, 0x00, 0x0E, 0x38, 0x00,
0x00, 0x1C, 0x1C, 0x00, 0x00, 0x38, 0x0E, 0x00, 0x00, 0x70, 0x07, 0x00,
0x00, 0xF0, 0x03, 0xC0, 0x03, 0xC0, 0x00, 0xF8, 0x0F, 0x80, 0x00, 0x7F,
0xFE, 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x7F,
0xFE, 0x00, 0x00, 0xF8, 0x0F, 0x80, 0x03, 0xC0, 0x03, 0xC0, 0x07, 0x00,
0x00, 0xF0, 0x0E, 0x00, 0x00, 0x70, 0x1C, 0x00, 0x00, 0x38, 0x38, 0x00,
0x00, 0x1C, 0x38, 0x00, 0x00, 0x0E, 0x70, 0x00, 0x01, 0x8E, 0x70, 0x00,
0x03, 0x86, 0x60, 0x00, 0x07, 0x87, 0xE0, 0x00, 0x0F, 0x03, 0xE0, 0x00,
0x1E, 0x03, 0xE0, 0x00, 0x3C, 0x03, 0xC0, 0xC0, 0x78, 0x03, 0xC1, 0xE0,
0xF0, 0x03, 0xE1, 0xF1, 0xE0, 0x03, 0xE0, 0xFB, 0xC0, 0x03, 0xE0, 0x7F,
0x80, 0x03, 0x60, 0x3F, 0x00, 0x07, 0x70, 0x1E, 0x00, 0x06, 0x70, 0x0C,
0x00, 0x0E, 0x38, 0x00, 0x00, 0x0E, 0x38, 0x00, 0x00, 0x1C, 0x1C, 0x00,
0x00, 0x38, 0x0E, 0x00, 0x00, 0x70, 0x07, 0x00, 0x00, 0xF0, 0x03, 0xC0,
0x03, 0xC0, 0x00, 0xF8, 0x0F, 0x80, 0x00, 0x7F, 0xFE, 0x00, 0x00, 0x0F,
0xF0, 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x7F, 0xFE, 0x00, 0x00, 0xF8,
0x0F, 0x80, 0x03, 0xC0, 0x03, 0xC0, 0x07, 0x00, 0x00, 0xF0, 0x0E, 0x00,
0x00, 0x70, 0x1C, 0x00, 0x00, 0x38, 0x38, 0x00, 0x00, 0x1C, 0x38, 0x01,
0xC0, 0x0E, 0x70, 0x01, 0xC0, 0x0E, 0x70, 0x01, 0xC0, 0x06, 0x60, 0x01,
0xC0, 0x07, 0xE0, 0x01, 0xC0, 0x03, 0xE0, 0x01, 0xC0, 0x03, 0xE0, 0x01,
0xC0, 0x03, 0xC0, 0x01, 0xC0, 0x03, 0xC0, 0x01, 0xC0, 0x03, 0xE0, 0x01,
0xC0, 0x03, 0xE0, 0x01, 0x80, 0x03, 0xE0, 0x00, 0x00, 0x03, 0x60, 0x01,
0x80, 0x07, 0x70, 0x01, 0xC0, 0x06, 0x70, 0x01, 0xC0, 0x0E, 0x38, 0x00,
0x80, 0x0E, 0x38, 0x00, 0x00, 0x1C, 0x1C, 0x00, 0x00, 0x38, 0x0E, 0x00,
0x00, 0x70, 0x07, 0x00, 0x00, 0xF0, 0x03, 0xC0, 0x03, 0xC0, 0x00, 0xF8,
0x0F, 0x80, 0x00, 0x7F, 0xFE, 0x00, 0x00, 0x0F, 0xF0, 0x00 };
const GFXglyph orangeclock_icons20pt7bGlyphs[] PROGMEM = {
{ 0, 30, 32, 39, 5, -32 }, // 0x41 'A'
{ 120, 29, 29, 39, 5, -30 }, // 0x42 'B'
{ 226, 22, 29, 39, 8, -30 }, // 0x43 'C'
{ 306, 25, 30, 39, 7, -31 }, // 0x44 'D'
{ 400, 21, 32, 39, 9, -32 }, // 0x45 'E'
{ 484, 33, 33, 39, 3, -33 }, // 0x46 'F'
{ 621, 33, 33, 39, 3, -33 }, // 0x47 'G'
{ 758, 23, 33, 39, 8, -33 }, // 0x48 'H'
{ 853, 25, 33, 39, 7, -33 }, // 0x49 'I'
{ 957, 35, 33, 39, 2, -33 }, // 0x4A 'J'
{ 1102, 33, 33, 40, 3, -33 }, // 0x4B 'K'
{ 1239, 20, 33, 39, 10, -33 }, // 0x4C 'L'
{ 1322, 33, 32, 39, 3, -32 }, // 0x4D 'M'
{ 1454, 34, 33, 40, 3, -33 }, // 0x4E 'N'
{ 1595, 33, 23, 39, 3, -28 }, // 0x4F 'O'
{ 1690, 32, 32, 39, 3, -32 }, // 0x50 'P'
{ 1818, 32, 32, 39, 3, -32 }, // 0x51 'Q'
{ 1946, 32, 32, 39, 3, -32 } }; // 0x52 'R'
const GFXfont orangeclock_icons20pt7b PROGMEM = {
(uint8_t *)orangeclock_icons20pt7bBitmaps,
(GFXglyph *)orangeclock_icons20pt7bGlyphs,
0x41, 0x52, 39 };
// Approx. 2207 bytes

View file

@ -0,0 +1,300 @@
const uint8_t orangeclock_icons25pt7bBitmaps[] PROGMEM = {
0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x0F, 0xC0, 0x00, 0x00, 0x00, 0xFF,
0x80, 0x00, 0x00, 0x1F, 0xFF, 0x00, 0x00, 0x03, 0xFF, 0xFE, 0x00, 0x00,
0x3F, 0xFF, 0xF8, 0x00, 0x07, 0xFF, 0xFF, 0xF0, 0x00, 0xFF, 0xFF, 0xFF,
0xE0, 0x1F, 0xFF, 0xFF, 0xFF, 0x81, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0xFF,
0xFF, 0xFF, 0xF8, 0x1F, 0xFF, 0xFF, 0xFF, 0x00, 0x7F, 0xFF, 0xFF, 0xE0,
0x60, 0xFF, 0xFF, 0xFE, 0x0F, 0x81, 0xFF, 0xFF, 0xC1, 0xFF, 0x07, 0xFF,
0xF8, 0x1F, 0xFE, 0x0F, 0xFF, 0x83, 0xFF, 0xF8, 0x1F, 0xF0, 0x7F, 0xFF,
0xF0, 0x3E, 0x07, 0xFF, 0xFF, 0xE0, 0xE0, 0xFF, 0xFF, 0xFF, 0x80, 0x1F,
0xFF, 0xFF, 0xFF, 0x01, 0xFF, 0xFF, 0xFF, 0xFE, 0x3F, 0xFF, 0xFF, 0xFF,
0xF1, 0xFF, 0xFF, 0xFF, 0xFF, 0x8F, 0xFF, 0xFF, 0xFF, 0xFC, 0x7F, 0xFF,
0xFF, 0xFF, 0xE3, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0xFF, 0xFF, 0xFF, 0xF8,
0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0xFF, 0xFF, 0xFF, 0xFE, 0x3F, 0xFF, 0xC7,
0xFF, 0xF1, 0xFF, 0xFC, 0x0F, 0xFF, 0x8F, 0xFF, 0x80, 0x3F, 0xFC, 0x7F,
0xF0, 0x00, 0x7F, 0xE3, 0xFF, 0x00, 0x00, 0xFF, 0x1F, 0xE0, 0x00, 0x03,
0xF8, 0xFC, 0x00, 0x00, 0x07, 0xC7, 0xC0, 0x00, 0x00, 0x0E, 0x38, 0x00,
0x00, 0x00, 0x31, 0x80, 0x00, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x03,
0xFF, 0xF8, 0x00, 0x00, 0x7F, 0xFF, 0xF0, 0x00, 0x07, 0xFF, 0xFF, 0xC0,
0x00, 0x7F, 0xFF, 0xFF, 0x80, 0x07, 0xFC, 0x07, 0xF8, 0x00, 0x7F, 0x80,
0x0F, 0x80, 0x07, 0xF0, 0x00, 0x18, 0x00, 0x7F, 0x00, 0x00, 0x00, 0x03,
0xF0, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x01, 0xF0, 0x00, 0x00,
0x00, 0x1F, 0x80, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0x80, 0x03, 0xFF, 0xFF,
0xFC, 0x00, 0x1F, 0xFF, 0xFF, 0xE0, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00,
0x1F, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x00, 0x07, 0xC0, 0x00,
0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0x80, 0x03, 0xFF,
0xFF, 0xFC, 0x00, 0x1F, 0xFF, 0xFF, 0xE0, 0x00, 0xFF, 0xFF, 0xFF, 0x00,
0x00, 0x0F, 0xC0, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x01, 0xF8,
0x00, 0x00, 0x00, 0x07, 0xE0, 0x00, 0x00, 0x00, 0x3F, 0xC0, 0x00, 0x60,
0x00, 0xFF, 0x00, 0x07, 0x80, 0x03, 0xFF, 0x01, 0xFE, 0x00, 0x0F, 0xFF,
0xFF, 0xF8, 0x00, 0x3F, 0xFF, 0xFF, 0x00, 0x00, 0x7F, 0xFF, 0xF0, 0x00,
0x00, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0xFF, 0x80, 0x00, 0x00, 0x03, 0xE0,
0x00, 0x01, 0xFF, 0x80, 0x00, 0x3F, 0xFE, 0x00, 0x07, 0xFF, 0xF0, 0x00,
0xFF, 0xFF, 0x80, 0x1F, 0xFF, 0xFC, 0x01, 0xF8, 0x0F, 0xE0, 0x3F, 0x00,
0x7E, 0x03, 0xF0, 0x03, 0xC0, 0x3E, 0x00, 0x18, 0x03, 0xE0, 0x00, 0x00,
0x3E, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x03, 0xE0,
0x00, 0x00, 0x3E, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x07, 0xFF, 0xFF, 0x00,
0x7F, 0xFF, 0xF0, 0x07, 0xFF, 0xFF, 0x00, 0x7F, 0xFF, 0xF0, 0x07, 0xFF,
0xFF, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x03, 0xE0, 0x00,
0x00, 0x3E, 0x00, 0x00, 0x03, 0xE0, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x03,
0xE0, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x0F, 0xC0, 0x00, 0x01, 0xFC, 0x00,
0x00, 0xFF, 0xFF, 0xFF, 0xEF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xEF,
0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xE0, 0xFE, 0x00, 0x00, 0xFE, 0xFC,
0x00, 0x01, 0xF9, 0xFC, 0x00, 0x07, 0xF1, 0xF8, 0x00, 0x0F, 0xC3, 0xF8,
0x00, 0x3F, 0x83, 0xF0, 0x00, 0x7E, 0x07, 0xF0, 0x01, 0xFC, 0x07, 0xE0,
0x03, 0xF0, 0x0F, 0xE0, 0x0F, 0xE0, 0x0F, 0xC0, 0x1F, 0x80, 0x1F, 0xC0,
0x7E, 0x00, 0x1F, 0x80, 0xFC, 0x00, 0x3F, 0x83, 0xF0, 0x00, 0x3F, 0x07,
0xE0, 0x00, 0x7F, 0x1F, 0x80, 0x00, 0x7E, 0x3F, 0x00, 0x00, 0x7E, 0xFC,
0x00, 0x0F, 0xFD, 0xFF, 0x80, 0x1F, 0xFF, 0xFF, 0x00, 0x3F, 0xFF, 0xFE,
0x00, 0x7F, 0xFF, 0xFC, 0x00, 0x03, 0xFE, 0x00, 0x00, 0x03, 0xF8, 0x00,
0x00, 0x07, 0xF0, 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x0F, 0xFF, 0xFF, 0x80,
0x1F, 0xFF, 0xFF, 0x00, 0x3F, 0xFF, 0xFE, 0x00, 0x7F, 0xFF, 0xFC, 0x00,
0x01, 0xFC, 0x00, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x00,
0x0F, 0xE0, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
0x7F, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x03,
0x80, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x38, 0x00, 0x01, 0xFF, 0xF0, 0x01,
0xFF, 0xFF, 0x01, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xFC, 0x3F, 0xFF, 0xFF,
0x1F, 0xE3, 0x9F, 0xE7, 0xF0, 0xE3, 0xFB, 0xF8, 0x38, 0x7E, 0xFE, 0x0E,
0x1F, 0xFF, 0x83, 0x80, 0x0F, 0xF0, 0xE0, 0x01, 0xFE, 0x38, 0x00, 0x7F,
0xEE, 0x00, 0x1F, 0xFF, 0xC0, 0x03, 0xFF, 0xFF, 0x00, 0x7F, 0xFF, 0xF0,
0x0F, 0xFF, 0xFE, 0x00, 0xFF, 0xFF, 0xC0, 0x07, 0xFF, 0xF8, 0x00, 0x3F,
0xFE, 0x00, 0x0E, 0x7F, 0xC0, 0x03, 0x87, 0xF0, 0x00, 0xE1, 0xFF, 0xF8,
0x38, 0x7F, 0xFE, 0x0E, 0x1F, 0xFF, 0x83, 0x87, 0xFF, 0xF0, 0xE1, 0xFD,
0xFF, 0x39, 0xFE, 0x3F, 0xFF, 0xFF, 0x8F, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF,
0xE0, 0x1F, 0xFF, 0xE0, 0x00, 0xFF, 0xE0, 0x00, 0x03, 0x80, 0x00, 0x00,
0xE0, 0x00, 0x00, 0x38, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x03,
0xC0, 0x00, 0x00, 0x00, 0x01, 0xFC, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x80,
0x00, 0x00, 0x78, 0x7F, 0xF0, 0x00, 0x01, 0xFC, 0x3F, 0xFC, 0x00, 0x03,
0xFE, 0x1F, 0xFF, 0x00, 0x03, 0xFF, 0x0F, 0xFF, 0xC0, 0x07, 0xFF, 0x87,
0xFF, 0xF0, 0x07, 0xFF, 0xC3, 0xFF, 0xFC, 0x07, 0xFF, 0xE1, 0xFF, 0xFE,
0x03, 0xFF, 0xF0, 0xFF, 0xFF, 0x83, 0xFF, 0xF8, 0x7F, 0xFF, 0xC3, 0xFF,
0xFC, 0x3F, 0xFF, 0xF1, 0xFF, 0xFE, 0x1F, 0xFF, 0xF9, 0xFF, 0xFF, 0x0F,
0xFF, 0xFC, 0xFF, 0xFF, 0x87, 0xFF, 0xFF, 0x7F, 0xFF, 0xC3, 0xFF, 0xFF,
0xFF, 0xFF, 0xE1, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF,
0xF8, 0x00, 0x00, 0x0F, 0xFF, 0xFC, 0x00, 0x00, 0x07, 0xFF, 0xFE, 0x00,
0x00, 0x03, 0xFF, 0xFF, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8,
0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x7F, 0xFF, 0xFF, 0xFF, 0xFE, 0x1F, 0xFF,
0xFF, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0x87, 0xFF, 0xFF, 0xFF,
0xFF, 0x81, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0,
0x3F, 0xFF, 0xFF, 0xFF, 0xE0, 0x1F, 0xFF, 0xFF, 0xFF, 0xE0, 0x07, 0xFF,
0xFF, 0xFF, 0xE0, 0x01, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x7F, 0xFF, 0xFF,
0xF0, 0x00, 0x1F, 0xFF, 0xFF, 0xF0, 0x00, 0x07, 0xFF, 0xFF, 0xE0, 0x00,
0x00, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x1F, 0xFF, 0xC0, 0x00, 0x00, 0x01,
0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x06, 0x3F,
0x18, 0x00, 0x00, 0x0E, 0x3F, 0xC7, 0x00, 0x00, 0x0F, 0x1F, 0xF1, 0xE0,
0x00, 0x1F, 0x1F, 0xF8, 0xF8, 0x00, 0x1F, 0x8F, 0xFE, 0x3E, 0x00, 0x1F,
0x8F, 0xFF, 0x1F, 0x80, 0x1F, 0xC7, 0xFF, 0x8F, 0xE0, 0x0F, 0xE7, 0xFF,
0xE3, 0xF8, 0x0F, 0xF3, 0xFF, 0xF1, 0xFE, 0x0F, 0xF1, 0xFF, 0xF8, 0xFF,
0x07, 0xF8, 0xFF, 0xFC, 0x3F, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x9F, 0xFF,
0xE3, 0xFE, 0xFF, 0xCF, 0xFF, 0xF1, 0xFF, 0xFF, 0xE7, 0xFF, 0xF8, 0xFF,
0xFF, 0xF3, 0xFF, 0xFC, 0x7F, 0xFF, 0xF9, 0xFF, 0xFE, 0x3F, 0xFF, 0xFC,
0xFF, 0xFF, 0x1F, 0xFF, 0xFE, 0x7F, 0xFF, 0x8F, 0xFF, 0xFF, 0x3F, 0xFF,
0xC7, 0xFF, 0xFF, 0x9F, 0xFF, 0xE3, 0xFF, 0xFF, 0xCF, 0xFF, 0xF1, 0xFF,
0xBF, 0xE7, 0xFF, 0xF8, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFE, 0x3F, 0xFF,
0x0F, 0xF0, 0xFF, 0x1F, 0xFF, 0x8F, 0xF0, 0x3F, 0xCF, 0xFF, 0xC7, 0xF8,
0x0F, 0xE7, 0xFF, 0xE3, 0xF8, 0x07, 0xF1, 0xFF, 0xE3, 0xF8, 0x01, 0xF8,
0xFF, 0xF1, 0xF8, 0x00, 0x7E, 0x3F, 0xF8, 0xF8, 0x00, 0x1F, 0x1F, 0xF8,
0xF8, 0x00, 0x03, 0xC7, 0xFC, 0x78, 0x00, 0x00, 0xE3, 0xFC, 0x70, 0x00,
0x00, 0x18, 0xFC, 0x60, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x3F,
0xFF, 0xFF, 0xE3, 0xFF, 0xFF, 0xFF, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0x00, 0x00, 0x07, 0xF8, 0x00, 0x00, 0x3F, 0xC0, 0x00, 0x01,
0xFE, 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xE7, 0xFF, 0xFF, 0xFF, 0x0F, 0xFF,
0xFF, 0xE0, 0x3F, 0xFF, 0xFE, 0x00, 0xFF, 0xFF, 0xE0, 0x03, 0xFF, 0xFE,
0x00, 0x07, 0xFF, 0xE0, 0x00, 0x1F, 0xFC, 0x00, 0x00, 0x7F, 0xC0, 0x00,
0x01, 0xFC, 0x00, 0x00, 0x1F, 0xF0, 0x00, 0x01, 0xFF, 0xC0, 0x00, 0x1F,
0xBF, 0x00, 0x03, 0xF8, 0xFC, 0x00, 0x3F, 0x83, 0xF0, 0x03, 0xF8, 0x0F,
0xE0, 0x3F, 0x80, 0x1F, 0x83, 0xF0, 0x00, 0x7E, 0x3F, 0x00, 0x01, 0xFB,
0xF0, 0x00, 0x07, 0xDF, 0x00, 0x00, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0xFF, 0xFF, 0xFE,
0x3F, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0E, 0x00,
0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x03, 0xE0, 0x00,
0x00, 0x0F, 0xC0, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0xFF, 0x00, 0x00,
0x03, 0xFC, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x3F, 0xF0, 0x00, 0x00,
0xFF, 0xE0, 0x00, 0x03, 0xFF, 0x80, 0x00, 0x0F, 0xFF, 0x00, 0x00, 0x3F,
0xFE, 0x00, 0x00, 0xFF, 0xFC, 0x00, 0x03, 0xFF, 0xF0, 0x00, 0x0F, 0xFF,
0xFF, 0xF8, 0x3F, 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0xFF, 0xE3, 0xFF, 0xFF,
0xFF, 0x8F, 0xFF, 0xFF, 0xFE, 0x3F, 0xFF, 0xFF, 0xF8, 0x3F, 0xFF, 0xFF,
0xE0, 0x00, 0x1F, 0xFF, 0x80, 0x00, 0x7F, 0xFE, 0x00, 0x00, 0xFF, 0xF8,
0x00, 0x01, 0xFF, 0xE0, 0x00, 0x03, 0xFF, 0x80, 0x00, 0x0F, 0xFE, 0x00,
0x00, 0x1F, 0xF8, 0x00, 0x00, 0x3F, 0xE0, 0x00, 0x00, 0x7F, 0x80, 0x00,
0x01, 0xFE, 0x00, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x07, 0xE0, 0x00, 0x00,
0x0F, 0x80, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00,
0xE0, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xE0, 0x00,
0x00, 0x00, 0x0F, 0xFF, 0xE0, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xC0, 0x38,
0x00, 0x3F, 0xFF, 0xFF, 0x83, 0xE0, 0x03, 0xFF, 0xFF, 0xFE, 0x3F, 0x00,
0x7F, 0xFF, 0xFF, 0xFF, 0xF8, 0x07, 0xFF, 0x80, 0xFF, 0xFF, 0xC0, 0x3F,
0xE0, 0x00, 0xFF, 0xFE, 0x03, 0xFC, 0x00, 0x03, 0xFF, 0xF0, 0x3F, 0xC0,
0x00, 0x07, 0xFF, 0x81, 0xFC, 0x00, 0x00, 0x3F, 0xFC, 0x1F, 0xC0, 0x00,
0x03, 0xFF, 0xE0, 0xFE, 0x00, 0x00, 0x3F, 0xFF, 0x0F, 0xE0, 0x00, 0x03,
0xFF, 0xF8, 0x7E, 0x00, 0x00, 0x1F, 0xFF, 0xC3, 0xF0, 0x00, 0x00, 0xFF,
0xFF, 0x1F, 0x00, 0x00, 0x07, 0xFF, 0xF8, 0x70, 0x00, 0x00, 0x00, 0x7F,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x00, 0x70, 0xFF, 0xFF,
0x00, 0x00, 0x0F, 0xC7, 0xFF, 0xF8, 0x00, 0x00, 0x7E, 0x3F, 0xFF, 0xC0,
0x00, 0x07, 0xF0, 0xFF, 0xFE, 0x00, 0x00, 0x3F, 0x87, 0xFF, 0xE0, 0x00,
0x03, 0xF8, 0x3F, 0xFE, 0x00, 0x00, 0x1F, 0xC1, 0xFF, 0xE0, 0x00, 0x01,
0xFC, 0x0F, 0xFF, 0x00, 0x00, 0x1F, 0xE0, 0x7F, 0xFC, 0x00, 0x01, 0xFE,
0x03, 0xFF, 0xF8, 0x00, 0x3F, 0xE0, 0x1F, 0xFF, 0xF8, 0x0F, 0xFE, 0x00,
0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x07, 0xE3, 0xFF, 0xFF, 0xFE, 0x00, 0x3E,
0x0F, 0xFF, 0xFF, 0xE0, 0x00, 0xE0, 0x1F, 0xFF, 0xFC, 0x00, 0x00, 0x00,
0x3F, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00,
0x7F, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xF8, 0x00, 0x00, 0x07, 0xFF, 0xFF,
0x00, 0x00, 0x0F, 0xFF, 0xFF, 0xE0, 0x00, 0x0F, 0xFC, 0x1F, 0xF8, 0x00,
0x0F, 0xE0, 0x00, 0xFE, 0x00, 0x0F, 0xC0, 0x00, 0x1F, 0x80, 0x0F, 0xC0,
0x00, 0x07, 0xE0, 0x0F, 0x88, 0x00, 0x11, 0xF8, 0x0F, 0x8E, 0x00, 0x1C,
0x7E, 0x07, 0xCF, 0x00, 0x0F, 0x1F, 0x07, 0xCF, 0xC0, 0x0F, 0xC7, 0xC3,
0xCF, 0xF0, 0x07, 0xF1, 0xE3, 0xE7, 0xF8, 0x07, 0xFC, 0xF9, 0xE7, 0xFE,
0x03, 0xFE, 0x3C, 0xF3, 0xFF, 0x01, 0xFF, 0x9E, 0xF9, 0xFE, 0x08, 0x7F,
0xCF, 0x79, 0xFF, 0x1F, 0x3F, 0xE3, 0xFC, 0xFF, 0x1F, 0xCF, 0xF1, 0xFE,
0x7F, 0x8F, 0xE7, 0xF8, 0xFF, 0x3F, 0xCF, 0xFB, 0xFE, 0x7F, 0x80, 0x07,
0xF8, 0x00, 0x3F, 0xC0, 0x01, 0xFC, 0x00, 0x1F, 0xE0, 0x00, 0x7C, 0x00,
0x0F, 0xF8, 0x00, 0x1C, 0x00, 0x0F, 0x3C, 0x00, 0x00, 0x00, 0x07, 0x9E,
0x00, 0x10, 0x80, 0x03, 0xCF, 0x80, 0x1F, 0xE0, 0x03, 0xE3, 0xC0, 0x0F,
0xF8, 0x01, 0xE1, 0xF0, 0x0F, 0xFC, 0x01, 0xF0, 0x78, 0x07, 0xFF, 0x01,
0xF0, 0x3E, 0x07, 0xFF, 0x80, 0xF8, 0x0F, 0x87, 0xFF, 0xE0, 0xF8, 0x03,
0xF1, 0xFF, 0xE1, 0xF8, 0x00, 0xFC, 0x3F, 0xC1, 0xF8, 0x00, 0x3F, 0x80,
0x03, 0xF8, 0x00, 0x0F, 0xF8, 0x0F, 0xF8, 0x00, 0x03, 0xFF, 0xFF, 0xF8,
0x00, 0x00, 0x7F, 0xFF, 0xF0, 0x00, 0x00, 0x0F, 0xFF, 0xE0, 0x00, 0x00,
0x00, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x1C, 0x00, 0x00,
0x1C, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x1C, 0x00, 0x00,
0x1C, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x07,
0x00, 0x00, 0x00, 0x00, 0x03, 0x80, 0x00, 0x00, 0x00, 0x01, 0xC0, 0x00,
0x1F, 0x07, 0xE3, 0xFC, 0x00, 0x1F, 0xC7, 0xF9, 0xFE, 0x00, 0x1C, 0x77,
0x0E, 0x38, 0x00, 0x0F, 0x00, 0x07, 0x1C, 0x00, 0x07, 0xF0, 0x1F, 0x8E,
0x00, 0x01, 0xFC, 0x7F, 0xC7, 0x00, 0x00, 0x7F, 0x78, 0xE3, 0x80, 0x00,
0x03, 0xB8, 0x71, 0xC0, 0x00, 0x61, 0xDC, 0x78, 0xE0, 0x00, 0x3F, 0xCF,
0xFC, 0x7E, 0x00, 0x07, 0xC3, 0xCE, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x70, 0x38, 0x3F, 0x07, 0xF8, 0x38, 0x1C, 0x7F,
0xE3, 0xFF, 0x1C, 0x0E, 0x38, 0x61, 0xC3, 0xCE, 0x07, 0x38, 0x00, 0xE0,
0xF7, 0x03, 0x9E, 0x00, 0x70, 0x3B, 0x81, 0xCF, 0xE0, 0x38, 0x1F, 0xC0,
0xE7, 0xFE, 0x1C, 0x0F, 0xE0, 0x71, 0xFF, 0x8E, 0x07, 0xF0, 0x38, 0x3F,
0xE7, 0x03, 0xF8, 0x1C, 0x03, 0xF3, 0x81, 0xDE, 0x0E, 0x00, 0x79, 0xC0,
0xEF, 0x07, 0x18, 0x1C, 0xE0, 0xF3, 0xC7, 0x1E, 0x1C, 0x70, 0xF1, 0xFF,
0x87, 0xFE, 0x3F, 0xF0, 0x3F, 0x00, 0xFC, 0x1F, 0xE0, 0x00, 0x01, 0xFF,
0xE0, 0x00, 0x00, 0x01, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0xFF, 0xFC, 0x00,
0x00, 0x00, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0x80, 0x00, 0x3F,
0xFF, 0xFF, 0xE0, 0x00, 0x1F, 0xFF, 0xFF, 0xFF, 0xC0, 0x1F, 0xFF, 0xFF,
0xFF, 0xF0, 0x0F, 0xFF, 0xFF, 0xFF, 0xF8, 0x0F, 0xFF, 0xFF, 0xFF, 0xFE,
0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0x87, 0xFF, 0xFF, 0xFF, 0xFF, 0xC7, 0xFF,
0xFC, 0x1F, 0xFF, 0xF3, 0xFF, 0xF8, 0x03, 0xFF, 0xFB, 0xFF, 0xF8, 0x00,
0xFF, 0xFE, 0xFF, 0xF8, 0x00, 0x3F, 0xFF, 0x7F, 0xF8, 0x00, 0x0F, 0xFF,
0x9F, 0xFC, 0x00, 0x07, 0xFF, 0x8F, 0xFC, 0x00, 0x01, 0xFF, 0x83, 0xFE,
0x00, 0x00, 0xFF, 0x81, 0xFF, 0x00, 0x00, 0x7F, 0xC0, 0xFF, 0x80, 0x00,
0x3F, 0xE0, 0xFF, 0xC0, 0x00, 0x1F, 0xF8, 0xFF, 0xF0, 0x00, 0x1F, 0xFC,
0xFF, 0xF8, 0x00, 0x0F, 0xFF, 0x7F, 0xFE, 0x00, 0x0F, 0xFF, 0xBF, 0xFF,
0x80, 0x0F, 0xFF, 0xEF, 0xFF, 0xE0, 0x0F, 0xFF, 0xE7, 0xFF, 0xFC, 0x1F,
0xFF, 0xF1, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8,
0x3F, 0xFF, 0xFF, 0xFF, 0xF8, 0x0F, 0xFF, 0xFF, 0xFF, 0xF8, 0x07, 0xFF,
0xFF, 0xFF, 0xFC, 0x01, 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0x03, 0xFF, 0xFF,
0xFE, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0x80, 0x00,
0x00, 0x1F, 0xFF, 0x80, 0x00, 0x00, 0x07, 0xFF, 0xC0, 0x00, 0x00, 0x03,
0xFF, 0xC0, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xC0, 0x00, 0x00, 0x0F, 0xFF,
0xFE, 0x00, 0x00, 0x1F, 0xFF, 0xFF, 0xC0, 0x00, 0x3F, 0xFF, 0xFF, 0xF8,
0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0xC0, 0xFF,
0xFC, 0x01, 0xFF, 0xF8, 0xFF, 0xF0, 0x00, 0x1F, 0xFE, 0xFF, 0xE0, 0x00,
0x03, 0xFF, 0xBF, 0xC0, 0x00, 0x00, 0x7F, 0x8F, 0xC0, 0x7F, 0xE0, 0x1F,
0x83, 0xC1, 0xFF, 0xFE, 0x07, 0x80, 0x83, 0xFF, 0xFF, 0xC1, 0x80, 0x03,
0xFF, 0xFF, 0xF8, 0x00, 0x03, 0xFF, 0xFF, 0xFE, 0x00, 0x03, 0xFF, 0xFF,
0xFF, 0x80, 0x00, 0xFF, 0x80, 0xFF, 0x80, 0x00, 0x3F, 0x00, 0x1F, 0x80,
0x00, 0x0E, 0x00, 0x03, 0x80, 0x00, 0x02, 0x00, 0x00, 0x80, 0x00, 0x00,
0x0F, 0xF8, 0x00, 0x00, 0x00, 0x0F, 0xFE, 0x00, 0x00, 0x00, 0x0F, 0xFF,
0x80, 0x00, 0x00, 0x03, 0xFF, 0x80, 0x00, 0x00, 0x00, 0xFF, 0x80, 0x00,
0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x00, 0x00,
0x03, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0xFF,
0x80, 0x00, 0x00, 0x03, 0xFF, 0xF8, 0x00, 0x00, 0x07, 0xFF, 0xFF, 0x00,
0x00, 0x0F, 0xE0, 0x0F, 0xE0, 0x00, 0x0F, 0xC0, 0x01, 0xF8, 0x00, 0x1F,
0x80, 0x00, 0x3E, 0x00, 0x1F, 0x00, 0x00, 0x07, 0x80, 0x0F, 0x00, 0x00,
0x01, 0xE0, 0x0F, 0x00, 0x00, 0x00, 0x78, 0x0F, 0x00, 0x00, 0x00, 0x1E,
0x07, 0x00, 0x00, 0x00, 0x07, 0x07, 0x81, 0x80, 0x07, 0x03, 0xC3, 0x81,
0xE0, 0x07, 0xC0, 0xE3, 0xC0, 0xF8, 0x07, 0xE0, 0x79, 0xC0, 0x3E, 0x07,
0xE0, 0x1C, 0xE0, 0x0F, 0x87, 0xE0, 0x0E, 0xF0, 0x03, 0xE7, 0xE0, 0x07,
0xF0, 0x00, 0xFF, 0xE0, 0x01, 0xF8, 0x00, 0x3F, 0xE0, 0x00, 0xFC, 0x00,
0x0F, 0xE0, 0x00, 0x7E, 0x00, 0x07, 0xE0, 0x00, 0x3F, 0x00, 0x07, 0xF8,
0x00, 0x1F, 0x80, 0x07, 0xFE, 0x00, 0x0F, 0xC0, 0x07, 0xEF, 0x80, 0x07,
0xF0, 0x07, 0xE3, 0xE0, 0x07, 0xB8, 0x07, 0xE0, 0xF8, 0x03, 0x9C, 0x07,
0xE0, 0x3E, 0x01, 0xCF, 0x03, 0xE0, 0x0F, 0x81, 0xE3, 0x81, 0xE0, 0x03,
0xC0, 0xE1, 0xE0, 0x60, 0x00, 0xC0, 0xF0, 0x70, 0x00, 0x00, 0x00, 0x70,
0x3C, 0x00, 0x00, 0x00, 0x78, 0x0F, 0x00, 0x00, 0x00, 0x78, 0x03, 0xC0,
0x00, 0x00, 0x78, 0x01, 0xF0, 0x00, 0x00, 0x78, 0x00, 0x7E, 0x00, 0x00,
0xFC, 0x00, 0x0F, 0xC0, 0x01, 0xF8, 0x00, 0x03, 0xF8, 0x03, 0xF8, 0x00,
0x00, 0x7F, 0xFF, 0xF0, 0x00, 0x00, 0x0F, 0xFF, 0xE0, 0x00, 0x00, 0x00,
0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x80, 0x00, 0x00, 0x03, 0xFF,
0xF8, 0x00, 0x00, 0x07, 0xFF, 0xFF, 0x00, 0x00, 0x0F, 0xE0, 0x0F, 0xE0,
0x00, 0x0F, 0xC0, 0x01, 0xF8, 0x00, 0x1F, 0x80, 0x00, 0x3E, 0x00, 0x1F,
0x00, 0x00, 0x07, 0x80, 0x0F, 0x00, 0x00, 0x01, 0xE0, 0x0F, 0x00, 0x00,
0x00, 0x78, 0x0F, 0x00, 0x00, 0x00, 0x1E, 0x07, 0x00, 0x00, 0x00, 0x07,
0x07, 0x80, 0x00, 0x00, 0x03, 0xC3, 0x80, 0x00, 0x00, 0xE0, 0xE3, 0xC0,
0x00, 0x00, 0xF8, 0x79, 0xC0, 0x00, 0x00, 0xFC, 0x1C, 0xE0, 0x00, 0x00,
0xFC, 0x0E, 0xF0, 0x00, 0x00, 0xFC, 0x07, 0xF0, 0x00, 0x00, 0xFC, 0x01,
0xF8, 0x00, 0x00, 0xFC, 0x00, 0xFC, 0x06, 0x00, 0xFC, 0x00, 0x7E, 0x07,
0x80, 0xFC, 0x00, 0x3F, 0x03, 0xE0, 0xFC, 0x00, 0x1F, 0x81, 0xF8, 0xFC,
0x00, 0x0F, 0xC0, 0x7E, 0x7C, 0x00, 0x07, 0xF0, 0x1F, 0xFC, 0x00, 0x07,
0xB8, 0x07, 0xFC, 0x00, 0x03, 0x9C, 0x01, 0xFC, 0x00, 0x01, 0xCF, 0x00,
0x7C, 0x00, 0x01, 0xE3, 0x80, 0x1C, 0x00, 0x00, 0xE1, 0xE0, 0x00, 0x00,
0x00, 0xF0, 0x70, 0x00, 0x00, 0x00, 0x70, 0x3C, 0x00, 0x00, 0x00, 0x78,
0x0F, 0x00, 0x00, 0x00, 0x78, 0x03, 0xC0, 0x00, 0x00, 0x78, 0x01, 0xF0,
0x00, 0x00, 0x78, 0x00, 0x7E, 0x00, 0x00, 0xFC, 0x00, 0x0F, 0xC0, 0x01,
0xF8, 0x00, 0x03, 0xF8, 0x03, 0xF8, 0x00, 0x00, 0x7F, 0xFF, 0xF0, 0x00,
0x00, 0x0F, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0xFF, 0x80, 0x00, 0x00, 0x00,
0x00, 0xFF, 0x80, 0x00, 0x00, 0x03, 0xFF, 0xF8, 0x00, 0x00, 0x07, 0xFF,
0xFF, 0x00, 0x00, 0x0F, 0xE0, 0x0F, 0xE0, 0x00, 0x0F, 0xC0, 0x01, 0xF8,
0x00, 0x1F, 0x80, 0x00, 0x3E, 0x00, 0x1F, 0x00, 0x00, 0x07, 0x80, 0x0F,
0x00, 0x00, 0x01, 0xE0, 0x0F, 0x00, 0x00, 0x00, 0x78, 0x0F, 0x00, 0x00,
0x00, 0x1E, 0x07, 0x00, 0x02, 0x00, 0x07, 0x07, 0x80, 0x03, 0x80, 0x03,
0xC3, 0x80, 0x01, 0xC0, 0x00, 0xE3, 0xC0, 0x00, 0xE0, 0x00, 0x79, 0xC0,
0x00, 0x70, 0x00, 0x1C, 0xE0, 0x00, 0x38, 0x00, 0x0E, 0xF0, 0x00, 0x1C,
0x00, 0x07, 0xF0, 0x00, 0x0E, 0x00, 0x01, 0xF8, 0x00, 0x07, 0x00, 0x00,
0xFC, 0x00, 0x03, 0x80, 0x00, 0x7E, 0x00, 0x01, 0xC0, 0x00, 0x3F, 0x00,
0x00, 0xE0, 0x00, 0x1F, 0x80, 0x00, 0x70, 0x00, 0x0F, 0xC0, 0x00, 0x38,
0x00, 0x07, 0xF0, 0x00, 0x1C, 0x00, 0x07, 0xB8, 0x00, 0x00, 0x00, 0x03,
0x9C, 0x00, 0x00, 0x00, 0x01, 0xCF, 0x00, 0x03, 0x80, 0x01, 0xE3, 0x80,
0x03, 0xC0, 0x00, 0xE1, 0xE0, 0x01, 0xE0, 0x00, 0xF0, 0x70, 0x00, 0x70,
0x00, 0x70, 0x3C, 0x00, 0x00, 0x00, 0x78, 0x0F, 0x00, 0x00, 0x00, 0x78,
0x03, 0xC0, 0x00, 0x00, 0x78, 0x01, 0xF0, 0x00, 0x00, 0x78, 0x00, 0x7E,
0x00, 0x00, 0xFC, 0x00, 0x0F, 0xC0, 0x01, 0xF8, 0x00, 0x03, 0xF8, 0x03,
0xF8, 0x00, 0x00, 0x7F, 0xFF, 0xF0, 0x00, 0x00, 0x0F, 0xFF, 0xE0, 0x00,
0x00, 0x00, 0xFF, 0x80, 0x00, 0x00 };
const GFXglyph orangeclock_icons25pt7bGlyphs[] PROGMEM = {
{ 0, 37, 40, 49, 6, -41 }, // 0x41 'A'
{ 185, 37, 37, 49, 6, -39 }, // 0x42 'B'
{ 357, 28, 37, 49, 10, -39 }, // 0x43 'C'
{ 487, 31, 37, 49, 9, -39 }, // 0x44 'D'
{ 631, 26, 41, 48, 11, -41 }, // 0x45 'E'
{ 765, 41, 41, 49, 4, -41 }, // 0x46 'F'
{ 976, 41, 41, 49, 4, -41 }, // 0x47 'G'
{ 1187, 29, 41, 49, 10, -41 }, // 0x48 'H'
{ 1336, 31, 41, 49, 9, -41 }, // 0x49 'I'
{ 1495, 45, 41, 49, 2, -41 }, // 0x4A 'J'
{ 1726, 41, 41, 49, 4, -41 }, // 0x4B 'K'
{ 1937, 24, 41, 49, 12, -41 }, // 0x4C 'L'
{ 2060, 41, 40, 49, 4, -41 }, // 0x4D 'M'
{ 2265, 41, 41, 49, 4, -41 }, // 0x4E 'N'
{ 2476, 41, 29, 49, 4, -35 }, // 0x4F 'O'
{ 2625, 41, 41, 49, 4, -41 }, // 0x50 'P'
{ 2836, 41, 41, 49, 4, -41 }, // 0x51 'Q'
{ 3047, 41, 41, 49, 4, -41 } }; // 0x52 'R'
const GFXfont orangeclock_icons25pt7b PROGMEM = {
(uint8_t *)orangeclock_icons25pt7bBitmaps,
(GFXglyph *)orangeclock_icons25pt7bGlyphs,
0x41, 0x52, 49 };
// Approx. 3391 bytes

View file

@ -0,0 +1,556 @@
const uint8_t orangeclock_icons35pt7bBitmaps[] PROGMEM = {
0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x80, 0x00,
0x00, 0x00, 0x00, 0x07, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xF0,
0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x0F, 0xFF,
0xFF, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0xFF,
0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x1F, 0xFF, 0xFF, 0xFF, 0x80, 0x00, 0x07,
0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x00,
0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x03, 0xFF, 0xFF, 0xFF,
0xFF, 0xFC, 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xC0, 0x7F, 0xFF,
0xFF, 0xFF, 0xC0, 0x2E, 0x01, 0xFF, 0xFF, 0xFF, 0xF8, 0x0F, 0xF8, 0x07,
0xFF, 0xFF, 0xFE, 0x03, 0xFF, 0xE0, 0x3F, 0xFF, 0xFF, 0x80, 0x7F, 0xFF,
0x00, 0xFF, 0xFF, 0xE0, 0x1F, 0xFF, 0xFC, 0x03, 0xFF, 0xFC, 0x07, 0xFF,
0xFF, 0xF0, 0x1F, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x80, 0x7F, 0xC0, 0x3F,
0xFF, 0xFF, 0xFE, 0x01, 0xF8, 0x07, 0xFF, 0xFF, 0xFF, 0xF8, 0x06, 0x01,
0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0x00,
0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0x0F, 0xFF, 0xFF, 0xE3, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xFC, 0x1F, 0xFF,
0xFF, 0x0F, 0xFF, 0xFF, 0x00, 0x7F, 0xFF, 0xF0, 0xFF, 0xFF, 0xC0, 0x01,
0xFF, 0xFF, 0x0F, 0xFF, 0xF8, 0x00, 0x0F, 0xFF, 0xF0, 0xFF, 0xFE, 0x00,
0x00, 0x3F, 0xFF, 0x0F, 0xFF, 0xC0, 0x00, 0x00, 0xFF, 0xF0, 0xFF, 0xF0,
0x00, 0x00, 0x07, 0xFF, 0x0F, 0xFC, 0x00, 0x00, 0x00, 0x1F, 0xF0, 0xFF,
0x80, 0x00, 0x00, 0x00, 0x7F, 0x0F, 0xE0, 0x00, 0x00, 0x00, 0x03, 0xF0,
0xF8, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00,
0x30, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFE, 0x00, 0x00, 0x00,
0x00, 0x07, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xFF, 0xE0, 0x00,
0x00, 0x03, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xF8,
0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0x80, 0x00, 0x1F, 0xFF, 0xFF, 0xFF,
0xF8, 0x00, 0x07, 0xFF, 0xE0, 0x0F, 0xFE, 0x00, 0x01, 0xFF, 0xE0, 0x00,
0x3F, 0x80, 0x00, 0x3F, 0xF0, 0x00, 0x01, 0xE0, 0x00, 0x0F, 0xFC, 0x00,
0x00, 0x18, 0x00, 0x03, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x80,
0x00, 0x00, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFC,
0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F,
0xC0, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0x03, 0xFF,
0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x0F,
0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0x00,
0x00, 0x1F, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x00,
0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x00,
0x00, 0x00, 0x01, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x80, 0x00,
0x00, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFF,
0xFF, 0x80, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x07, 0xFF, 0xFF,
0xFF, 0xFE, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x00, 0x1F, 0xFF,
0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00,
0x0F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0x00, 0x00, 0x00, 0x00,
0x00, 0x1F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFE, 0x00, 0x00, 0x00,
0x00, 0x00, 0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0x00, 0x00,
0x06, 0x00, 0x00, 0x3F, 0xF0, 0x00, 0x01, 0xE0, 0x00, 0x07, 0xFF, 0x80,
0x00, 0xFE, 0x00, 0x00, 0x7F, 0xFE, 0x00, 0xFF, 0xE0, 0x00, 0x07, 0xFF,
0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0x80, 0x00, 0x03,
0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xF0, 0x00, 0x00,
0x01, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xFC, 0x00, 0x00,
0x00, 0x00, 0x1F, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x7F, 0xE0, 0x00, 0x00, 0x03, 0xFF, 0xF0, 0x00, 0x00, 0x1F, 0xFF,
0xF8, 0x00, 0x00, 0x7F, 0xFF, 0xF8, 0x00, 0x01, 0xFF, 0xFF, 0xF8, 0x00,
0x07, 0xFF, 0xFF, 0xF8, 0x00, 0x0F, 0xFF, 0xFF, 0xF8, 0x00, 0x3F, 0xF8,
0x3F, 0xF8, 0x00, 0x7F, 0xC0, 0x3F, 0xF8, 0x01, 0xFF, 0x00, 0x1F, 0xF0,
0x03, 0xFC, 0x00, 0x3F, 0xC0, 0x07, 0xF8, 0x00, 0x3F, 0x00, 0x0F, 0xE0,
0x00, 0x3C, 0x00, 0x1F, 0xC0, 0x00, 0x30, 0x00, 0x3F, 0x80, 0x00, 0x00,
0x00, 0x7F, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x01, 0xFC,
0x00, 0x00, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x00,
0x00, 0x0F, 0xE0, 0x00, 0x00, 0x00, 0x1F, 0xC0, 0x00, 0x00, 0x00, 0x3F,
0x80, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xF0, 0x00, 0xFF, 0xFF, 0xFF, 0xE0,
0x01, 0xFF, 0xFF, 0xFF, 0xC0, 0x03, 0xFF, 0xFF, 0xFF, 0x80, 0x07, 0xFF,
0xFF, 0xFF, 0x00, 0x0F, 0xFF, 0xFF, 0xFE, 0x00, 0x1F, 0xFF, 0xFF, 0xFC,
0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0x00,
0xFE, 0x00, 0x00, 0x00, 0x01, 0xFC, 0x00, 0x00, 0x00, 0x03, 0xF8, 0x00,
0x00, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x00, 0x0F, 0xE0, 0x00, 0x00, 0x00,
0x3F, 0xC0, 0x00, 0x00, 0x00, 0x7F, 0x80, 0x00, 0x00, 0x00, 0xFF, 0x00,
0x00, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x00,
0x3F, 0xF0, 0x00, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x00, 0x1F, 0xFF, 0xFF,
0xFF, 0xFF, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF, 0xFF, 0xFE,
0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xFF, 0xFF,
0xFF, 0xFF, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0xFF, 0x80, 0x00, 0x00,
0x1F, 0xFF, 0xF8, 0x00, 0x00, 0x03, 0xFE, 0x7F, 0xC0, 0x00, 0x00, 0x3F,
0xE7, 0xFC, 0x00, 0x00, 0x07, 0xFC, 0x3F, 0xE0, 0x00, 0x00, 0x7F, 0xC3,
0xFE, 0x00, 0x00, 0x0F, 0xF8, 0x1F, 0xF0, 0x00, 0x00, 0xFF, 0x81, 0xFF,
0x00, 0x00, 0x1F, 0xF0, 0x0F, 0xF8, 0x00, 0x01, 0xFE, 0x00, 0xFF, 0x80,
0x00, 0x3F, 0xE0, 0x07, 0xFC, 0x00, 0x03, 0xFC, 0x00, 0x7F, 0xC0, 0x00,
0x7F, 0xC0, 0x03, 0xFE, 0x00, 0x07, 0xF8, 0x00, 0x3F, 0xE0, 0x00, 0xFF,
0x80, 0x01, 0xFF, 0x00, 0x0F, 0xF0, 0x00, 0x1F, 0xF0, 0x01, 0xFF, 0x00,
0x00, 0xFF, 0x80, 0x1F, 0xE0, 0x00, 0x07, 0xF8, 0x03, 0xFE, 0x00, 0x00,
0x7F, 0xC0, 0x3F, 0xC0, 0x00, 0x03, 0xFC, 0x07, 0xFC, 0x00, 0x00, 0x3F,
0xE0, 0x7F, 0x80, 0x00, 0x01, 0xFE, 0x0F, 0xF8, 0x00, 0x00, 0x1F, 0xF0,
0xFF, 0x00, 0x00, 0x00, 0xFF, 0x1F, 0xF0, 0x00, 0x00, 0x0F, 0xF9, 0xFE,
0x00, 0x00, 0x1F, 0xFF, 0xBF, 0xFF, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xF0,
0x00, 0x1F, 0xFF, 0xFF, 0xFF, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xF0, 0x00,
0x1F, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xF0, 0x00, 0x00, 0x00,
0x0F, 0xFE, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x07,
0xFC, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xC0, 0x00, 0x00, 0x00, 0x07, 0xFC,
0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x1F, 0xFF, 0xFF, 0xFF,
0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x1F, 0xFF, 0xFF, 0xFF, 0x00,
0x01, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x07, 0xFC, 0x00, 0x00, 0x00,
0x00, 0x7F, 0xC0, 0x00, 0x00, 0x00, 0x07, 0xFC, 0x00, 0x00, 0x00, 0x00,
0x7F, 0xC0, 0x00, 0x00, 0x00, 0x07, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x7F,
0xC0, 0x00, 0x00, 0x00, 0x07, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xC0,
0x00, 0x00, 0x00, 0x07, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xC0, 0x00,
0x00, 0x00, 0x07, 0xFC, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00,
0x07, 0x80, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x01, 0xE0, 0x00,
0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x07, 0xFF, 0x80, 0x00, 0x01, 0xFF,
0xFF, 0x80, 0x00, 0x3F, 0xFF, 0xFF, 0x80, 0x03, 0xFF, 0xFF, 0xFE, 0x00,
0x3F, 0xFF, 0xFF, 0xF8, 0x03, 0xFF, 0xFF, 0xFF, 0xE0, 0x3F, 0xFF, 0xFF,
0xFF, 0x83, 0xFF, 0xFF, 0xFF, 0xFE, 0x1F, 0xFC, 0x78, 0x7F, 0xF0, 0xFF,
0x83, 0xC1, 0xFF, 0x8F, 0xFC, 0x1E, 0x07, 0xFE, 0x7F, 0xC0, 0xF0, 0x3F,
0xF3, 0xFE, 0x07, 0x80, 0xFF, 0x9F, 0xF0, 0x3C, 0x00, 0x00, 0xFF, 0xC1,
0xE0, 0x00, 0x07, 0xFE, 0x0F, 0x00, 0x00, 0x3F, 0xF8, 0x78, 0x00, 0x01,
0xFF, 0xE3, 0xC0, 0x00, 0x07, 0xFF, 0xFE, 0x00, 0x00, 0x3F, 0xFF, 0xFC,
0x00, 0x00, 0xFF, 0xFF, 0xFE, 0x00, 0x03, 0xFF, 0xFF, 0xFE, 0x00, 0x1F,
0xFF, 0xFF, 0xFC, 0x00, 0x3F, 0xFF, 0xFF, 0xF0, 0x00, 0xFF, 0xFF, 0xFF,
0xE0, 0x01, 0xFF, 0xFF, 0xFF, 0x80, 0x01, 0xFF, 0xFF, 0xFC, 0x00, 0x00,
0xFF, 0xFF, 0xF0, 0x00, 0x07, 0xBF, 0xFF, 0x80, 0x00, 0x3C, 0x3F, 0xFE,
0x00, 0x01, 0xE0, 0x7F, 0xF0, 0x00, 0x0F, 0x01, 0xFF, 0x80, 0x00, 0x78,
0x07, 0xFC, 0x00, 0x03, 0xC0, 0x3F, 0xFF, 0xF0, 0x1E, 0x01, 0xFF, 0xFF,
0xC0, 0xF0, 0x0F, 0xFF, 0xFE, 0x07, 0x80, 0xFF, 0xDF, 0xF8, 0x3C, 0x07,
0xFC, 0xFF, 0xE1, 0xE0, 0x7F, 0xE7, 0xFF, 0xCF, 0x0F, 0xFF, 0x1F, 0xFF,
0xFF, 0xFF, 0xF0, 0x7F, 0xFF, 0xFF, 0xFF, 0x01, 0xFF, 0xFF, 0xFF, 0xF0,
0x07, 0xFF, 0xFF, 0xFF, 0x00, 0x1F, 0xFF, 0xFF, 0xF0, 0x00, 0x3F, 0xFF,
0xFC, 0x00, 0x00, 0x3F, 0xFF, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00,
0x00, 0x78, 0x00, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, 0x00, 0x1E, 0x00,
0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xF0, 0x00,
0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFE, 0x00, 0x00, 0x00,
0x00, 0xFC, 0x3F, 0xFF, 0x80, 0x00, 0x00, 0x03, 0xFE, 0x1F, 0xFF, 0xF0,
0x00, 0x00, 0x07, 0xFF, 0x0F, 0xFF, 0xFC, 0x00, 0x00, 0x0F, 0xFF, 0x87,
0xFF, 0xFF, 0x00, 0x00, 0x1F, 0xFF, 0xC3, 0xFF, 0xFF, 0xC0, 0x00, 0x1F,
0xFF, 0xE1, 0xFF, 0xFF, 0xF0, 0x00, 0x1F, 0xFF, 0xF0, 0xFF, 0xFF, 0xFC,
0x00, 0x1F, 0xFF, 0xF8, 0x7F, 0xFF, 0xFE, 0x00, 0x1F, 0xFF, 0xFC, 0x3F,
0xFF, 0xFF, 0x80, 0x1F, 0xFF, 0xFE, 0x1F, 0xFF, 0xFF, 0xE0, 0x1F, 0xFF,
0xFF, 0x0F, 0xFF, 0xFF, 0xF0, 0x1F, 0xFF, 0xFF, 0x87, 0xFF, 0xFF, 0xFC,
0x0F, 0xFF, 0xFF, 0xC3, 0xFF, 0xFF, 0xFE, 0x0F, 0xFF, 0xFF, 0xE1, 0xFF,
0xFF, 0xFF, 0x07, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xFF, 0xC7, 0xFF, 0xFF,
0xF8, 0x7F, 0xFF, 0xFF, 0xE3, 0xFF, 0xFF, 0xFC, 0x3F, 0xFF, 0xFF, 0xF3,
0xFF, 0xFF, 0xFE, 0x1F, 0xFF, 0xFF, 0xFD, 0xFF, 0xFF, 0xFF, 0x0F, 0xFF,
0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0x87, 0xFF, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF,
0xC3, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0xFF, 0xF8, 0x00, 0x00,
0x00, 0x0F, 0xFF, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xFF, 0xFE,
0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x01, 0xFF,
0xFF, 0xFF, 0x80, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xF8, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x3F, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFE, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x83, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0x81, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x7F, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xE0, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x1F, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0,
0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xF8, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0x1F, 0xFF,
0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x00,
0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF,
0xFC, 0x00, 0x00, 0x1F, 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0x00, 0x07, 0xFF,
0xFF, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0x00,
0x00, 0x3F, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xFF, 0xF0,
0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x07,
0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x3F, 0x82, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x3F, 0xE0,
0xC0, 0x00, 0x00, 0x00, 0x3C, 0x3F, 0xF8, 0x78, 0x00, 0x00, 0x00, 0x7C,
0x1F, 0xFE, 0x1F, 0x00, 0x00, 0x00, 0x7E, 0x1F, 0xFF, 0x0F, 0xE0, 0x00,
0x00, 0xFE, 0x0F, 0xFF, 0xC3, 0xF8, 0x00, 0x00, 0xFF, 0x0F, 0xFF, 0xE1,
0xFE, 0x00, 0x00, 0xFF, 0x87, 0xFF, 0xF8, 0x7F, 0x80, 0x00, 0xFF, 0x87,
0xFF, 0xFC, 0x3F, 0xE0, 0x00, 0xFF, 0xC3, 0xFF, 0xFE, 0x1F, 0xF8, 0x00,
0x7F, 0xE1, 0xFF, 0xFF, 0x87, 0xFE, 0x00, 0x7F, 0xE1, 0xFF, 0xFF, 0xC3,
0xFF, 0x00, 0x7F, 0xF0, 0xFF, 0xFF, 0xE1, 0xFF, 0xC0, 0x3F, 0xF8, 0x7F,
0xFF, 0xF8, 0xFF, 0xF0, 0x3F, 0xFC, 0x3F, 0xFF, 0xFC, 0x3F, 0xF8, 0x1F,
0xFC, 0x3F, 0xFF, 0xFE, 0x1F, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF,
0xE1, 0xFF, 0xFF, 0xF8, 0x7F, 0xF9, 0xFF, 0xF1, 0xFF, 0xFF, 0xFC, 0x3F,
0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0xFE, 0x1F, 0xFF, 0xFF, 0xF8, 0x7F, 0xFF,
0xFF, 0x0F, 0xFF, 0xFF, 0xFC, 0x3F, 0xFF, 0xFF, 0x87, 0xFF, 0xFF, 0xFE,
0x1F, 0xFF, 0xFF, 0xC3, 0xFF, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xE1, 0xFF,
0xFF, 0xFF, 0x87, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xFF, 0xC3, 0xFF, 0xFF,
0xF8, 0x7F, 0xFF, 0xFF, 0xE1, 0xFF, 0xFF, 0xFC, 0x3F, 0xFF, 0xFF, 0xF0,
0xFF, 0xFF, 0xFE, 0x1F, 0xFF, 0xFF, 0xF8, 0x7F, 0xFF, 0xFF, 0x0F, 0xFF,
0xFF, 0xFE, 0x3F, 0xFF, 0xFF, 0x87, 0xFF, 0xDF, 0xFF, 0x1F, 0xFF, 0xFF,
0xC3, 0xFF, 0xEF, 0xFF, 0x87, 0xFF, 0xFF, 0xE1, 0xFF, 0xE0, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x1F, 0xFC, 0x3F, 0xFF, 0xFE, 0x1F, 0xFE, 0x0F, 0xFF, 0x0F,
0xFF, 0xFF, 0x0F, 0xFE, 0x03, 0xFF, 0x87, 0xFF, 0xFF, 0x8F, 0xFF, 0x01,
0xFF, 0xC3, 0xFF, 0xFF, 0x87, 0xFF, 0x00, 0x7F, 0xE1, 0xFF, 0xFF, 0xC3,
0xFF, 0x00, 0x1F, 0xF8, 0x7F, 0xFF, 0xE1, 0xFF, 0x80, 0x0F, 0xFC, 0x3F,
0xFF, 0xE1, 0xFF, 0x80, 0x03, 0xFE, 0x1F, 0xFF, 0xF0, 0xFF, 0x80, 0x00,
0xFF, 0x87, 0xFF, 0xF8, 0x7F, 0x80, 0x00, 0x3F, 0xC3, 0xFF, 0xF8, 0x7F,
0x80, 0x00, 0x0F, 0xE0, 0xFF, 0xFC, 0x3F, 0x80, 0x00, 0x01, 0xF8, 0x7F,
0xFC, 0x3F, 0x80, 0x00, 0x00, 0x7C, 0x1F, 0xFE, 0x1F, 0x00, 0x00, 0x00,
0x0F, 0x0F, 0xFE, 0x1E, 0x00, 0x00, 0x00, 0x01, 0xC3, 0xFE, 0x0C, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFE, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E,
0x00, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0xFF, 0xFF, 0xF8, 0x3F, 0xFF, 0xFF,
0xFF, 0xFC, 0x7F, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x00,
0x00, 0x00, 0x3F, 0xFC, 0x00, 0x00, 0x00, 0x3F, 0xFC, 0x00, 0x00, 0x00,
0x3F, 0xFC, 0x00, 0x00, 0x00, 0x3F, 0xFC, 0x00, 0x00, 0x00, 0x3F, 0xFC,
0x00, 0x00, 0x00, 0x3F, 0xFC, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF, 0xFF, 0xFE,
0x7F, 0xFF, 0xFF, 0xFF, 0xFE, 0x3F, 0xFF, 0xFF, 0xFF, 0xFC, 0x1F, 0xFF,
0xFF, 0xFF, 0xF8, 0x07, 0xFF, 0xFF, 0xFF, 0xE0, 0x03, 0xFF, 0xFF, 0xFF,
0xC0, 0x01, 0xFF, 0xFF, 0xFF, 0x80, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00,
0x7F, 0xFF, 0xFE, 0x00, 0x00, 0x1F, 0xFF, 0xF8, 0x00, 0x00, 0x0F, 0xFF,
0xF0, 0x00, 0x00, 0x07, 0xFF, 0xE0, 0x00, 0x00, 0x03, 0xFF, 0xC0, 0x00,
0x00, 0x01, 0xFF, 0x80, 0x00, 0x00, 0x03, 0xFF, 0xC0, 0x00, 0x00, 0x07,
0xFF, 0xE0, 0x00, 0x00, 0x0F, 0xFF, 0xF0, 0x00, 0x00, 0x1F, 0xFF, 0xF8,
0x00, 0x00, 0x3F, 0xC3, 0xFC, 0x00, 0x00, 0xFF, 0x81, 0xFF, 0x00, 0x01,
0xFF, 0x00, 0xFF, 0x80, 0x03, 0xFE, 0x00, 0x7F, 0xC0, 0x07, 0xFC, 0x00,
0x3F, 0xE0, 0x0F, 0xF0, 0x00, 0x0F, 0xF8, 0x3F, 0xE0, 0x00, 0x07, 0xFC,
0x7F, 0xC0, 0x00, 0x03, 0xFE, 0x7F, 0x80, 0x00, 0x01, 0xFE, 0xFF, 0x00,
0x00, 0x00, 0x7F, 0xFC, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0xFF,
0xFF, 0xFF, 0xFE, 0x3F, 0xFF, 0xFF, 0xFF, 0xFC, 0x1F, 0xFF, 0xFF, 0xFF,
0xF8, 0x00, 0x00, 0x00, 0x03, 0x80, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x00,
0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xC0, 0x00, 0x00,
0x00, 0x03, 0xF8, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00,
0x3F, 0xC0, 0x00, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x00, 0x03, 0xFF,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x3F, 0xF8, 0x00,
0x00, 0x00, 0x0F, 0xFF, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xE0, 0x00, 0x00,
0x00, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0x00, 0x00, 0x00, 0x0F,
0xFF, 0xE0, 0x00, 0x00, 0x03, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0xFF, 0xFF,
0x00, 0x00, 0x00, 0x3F, 0xFF, 0xE0, 0x00, 0x00, 0x0F, 0xFF, 0xFC, 0x00,
0x00, 0x03, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0xFF, 0xFF, 0xE0, 0x00, 0x00,
0x3F, 0xFF, 0xFC, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0x80, 0x00, 0x03, 0xFF,
0xFF, 0xFF, 0xFF, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x3F, 0xFF, 0xFF,
0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF,
0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0x07,
0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x7F, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x00,
0x3F, 0xFF, 0xFC, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0x00, 0x00, 0x01, 0xFF,
0xFF, 0xC0, 0x00, 0x00, 0x3F, 0xFF, 0xF0, 0x00, 0x00, 0x07, 0xFF, 0xFC,
0x00, 0x00, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xC0, 0x00,
0x00, 0x07, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0xFF, 0xFC, 0x00, 0x00, 0x00,
0x3F, 0xFF, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0xFF,
0xF0, 0x00, 0x00, 0x00, 0x1F, 0xFC, 0x00, 0x00, 0x00, 0x07, 0xFF, 0x00,
0x00, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x1F, 0xF0, 0x00, 0x00,
0x00, 0x03, 0xFC, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00,
0x1F, 0xC0, 0x00, 0x00, 0x00, 0x03, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x7C,
0x00, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x03, 0xC0, 0x00,
0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F,
0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFC, 0x00, 0x00, 0x00,
0x00, 0x00, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFF,
0xFE, 0x00, 0x18, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0xF0, 0x00,
0x07, 0xFF, 0xFF, 0xFF, 0xFC, 0x07, 0xE0, 0x00, 0x3F, 0xFF, 0xFF, 0xFF,
0xF8, 0x3F, 0x80, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0xFE, 0x00, 0x1F,
0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0xF8, 0x00, 0xFF, 0xFF, 0x80, 0x3F, 0xFF,
0xFF, 0xE0, 0x07, 0xFF, 0xF0, 0x00, 0x1F, 0xFF, 0xFF, 0x80, 0x1F, 0xFF,
0x00, 0x00, 0x1F, 0xFF, 0xFE, 0x00, 0xFF, 0xF0, 0x00, 0x00, 0x1F, 0xFF,
0xF8, 0x07, 0xFF, 0x80, 0x00, 0x00, 0x3F, 0xFF, 0xF0, 0x1F, 0xFC, 0x00,
0x00, 0x00, 0x7F, 0xFF, 0xC0, 0xFF, 0xE0, 0x00, 0x00, 0x01, 0xFF, 0xFF,
0x03, 0xFF, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFC, 0x1F, 0xF8, 0x00, 0x00,
0x00, 0x7F, 0xFF, 0xF0, 0x7F, 0xC0, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xC3,
0xFF, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0xFF, 0x0F, 0xF8, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0xFC, 0x3F, 0xE0, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xF0, 0xFF,
0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0xC3, 0xFC, 0x00, 0x00, 0x00, 0x1F,
0xFF, 0xFF, 0x07, 0xE0, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xFC, 0x06, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00,
0x00, 0x00, 0x01, 0xC0, 0x7F, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x1F, 0xC3,
0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x7F, 0x8F, 0xFF, 0xFF, 0xE0, 0x00,
0x00, 0x03, 0xFE, 0x3F, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x0F, 0xF8, 0x7F,
0xFF, 0xFE, 0x00, 0x00, 0x00, 0x7F, 0xE1, 0xFF, 0xFF, 0xF0, 0x00, 0x00,
0x01, 0xFF, 0x07, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x0F, 0xFC, 0x1F, 0xFF,
0xFC, 0x00, 0x00, 0x00, 0x3F, 0xE0, 0x7F, 0xFF, 0xE0, 0x00, 0x00, 0x01,
0xFF, 0x81, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x0F, 0xFC, 0x07, 0xFF, 0xF8,
0x00, 0x00, 0x00, 0x7F, 0xF0, 0x1F, 0xFF, 0xF8, 0x00, 0x00, 0x03, 0xFF,
0x80, 0x7F, 0xFF, 0xF0, 0x00, 0x00, 0x1F, 0xFE, 0x01, 0xFF, 0xFF, 0xF0,
0x00, 0x01, 0xFF, 0xF0, 0x07, 0xFF, 0xFF, 0xF0, 0x00, 0x1F, 0xFF, 0x80,
0x1F, 0xFF, 0xFF, 0xF8, 0x03, 0xFF, 0xFC, 0x00, 0x7F, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xE0, 0x00, 0xFF, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x03,
0xF8, 0x7F, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0x0F, 0xC0, 0x7F, 0xFF, 0xFF,
0xFF, 0xC0, 0x00, 0x3E, 0x00, 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0x00, 0x60,
0x00, 0xFF, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFE,
0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x00,
0x00, 0x3F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00,
0x00, 0x00, 0x00, 0x01, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF,
0xFF, 0xF0, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00,
0x01, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xFE,
0x00, 0x00, 0x00, 0xFF, 0xF8, 0x07, 0xFF, 0xE0, 0x00, 0x00, 0xFF, 0xF0,
0x00, 0x1F, 0xFC, 0x00, 0x00, 0x7F, 0xE0, 0x00, 0x01, 0xFF, 0x80, 0x00,
0x3F, 0xE0, 0x00, 0x00, 0x1F, 0xF0, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x01,
0xFE, 0x00, 0x07, 0xF8, 0x00, 0x00, 0x00, 0x3F, 0xC0, 0x03, 0xFC, 0x30,
0x00, 0x01, 0x87, 0xF8, 0x01, 0xFE, 0x1E, 0x00, 0x00, 0x70, 0xFE, 0x00,
0x7F, 0x0F, 0x80, 0x00, 0x3E, 0x1F, 0xC0, 0x3F, 0x87, 0xF0, 0x00, 0x1F,
0xC3, 0xF0, 0x0F, 0xC3, 0xFC, 0x00, 0x07, 0xF8, 0xFE, 0x07, 0xF1, 0xFF,
0x80, 0x03, 0xFF, 0x1F, 0x81, 0xF8, 0xFF, 0xF0, 0x00, 0xFF, 0xE3, 0xF0,
0xFC, 0x3F, 0xFC, 0x00, 0x7F, 0xF8, 0xFC, 0x3F, 0x1F, 0xFF, 0x80, 0x3F,
0xFF, 0x3F, 0x8F, 0xC7, 0xFF, 0xE0, 0x0F, 0xFF, 0xC7, 0xE7, 0xE1, 0xFF,
0xF0, 0x01, 0xFF, 0xF1, 0xF9, 0xF8, 0xFF, 0xF8, 0x38, 0x3F, 0xFE, 0x7E,
0x7E, 0x3F, 0xFC, 0x3F, 0x87, 0xFF, 0x8F, 0xDF, 0x8F, 0xFF, 0x1F, 0xF1,
0xFF, 0xE3, 0xF7, 0xE3, 0xFF, 0x8F, 0xFC, 0x3F, 0xF8, 0xFD, 0xF0, 0xFF,
0xE3, 0xFF, 0x8F, 0xFE, 0x3F, 0x7C, 0x7F, 0xF8, 0xFF, 0xE3, 0xFF, 0x8F,
0xDF, 0x00, 0x00, 0x3F, 0xF8, 0x00, 0x03, 0xF7, 0xC0, 0x00, 0x0F, 0xFE,
0x00, 0x00, 0xFD, 0xF8, 0x00, 0x03, 0xFF, 0x00, 0x00, 0x3F, 0x7E, 0x00,
0x00, 0x7F, 0xC0, 0x00, 0x0F, 0xDF, 0x80, 0x00, 0x0F, 0xE0, 0x00, 0x03,
0xE7, 0xE0, 0x00, 0x00, 0xE0, 0x00, 0x01, 0xF9, 0xF8, 0x00, 0x00, 0x00,
0x00, 0x00, 0x7E, 0x3F, 0x00, 0x00, 0x40, 0x00, 0x00, 0x1F, 0x8F, 0xC0,
0x00, 0x1F, 0xF8, 0x00, 0x0F, 0xE3, 0xF0, 0x00, 0x0F, 0xFE, 0x00, 0x03,
0xF0, 0x7E, 0x00, 0x07, 0xFF, 0xC0, 0x00, 0xFC, 0x1F, 0x80, 0x01, 0xFF,
0xF0, 0x00, 0x7E, 0x03, 0xF0, 0x00, 0xFF, 0xFE, 0x00, 0x3F, 0x80, 0xFE,
0x00, 0x3F, 0xFF, 0x80, 0x0F, 0xC0, 0x1F, 0xC0, 0x1F, 0xFF, 0xF0, 0x07,
0xF0, 0x07, 0xF0, 0x07, 0xFF, 0xFE, 0x03, 0xF8, 0x00, 0xFE, 0x03, 0xFF,
0xFF, 0x81, 0xFE, 0x00, 0x1F, 0xE0, 0xFF, 0xFF, 0xE0, 0xFF, 0x00, 0x07,
0xFC, 0x0F, 0xFF, 0xE0, 0x7F, 0x80, 0x00, 0xFF, 0x80, 0x7F, 0xC0, 0x7F,
0xC0, 0x00, 0x1F, 0xF8, 0x00, 0x00, 0x7F, 0xE0, 0x00, 0x03, 0xFF, 0x80,
0x00, 0x7F, 0xF0, 0x00, 0x00, 0x3F, 0xFE, 0x01, 0xFF, 0xF8, 0x00, 0x00,
0x07, 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFC,
0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x7F,
0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xF8, 0x00, 0x00, 0x00,
0x00, 0x00, 0x07, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x01, 0xE0, 0x00, 0x00,
0x00, 0x78, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x07, 0x80, 0x00,
0x00, 0x01, 0xE0, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x1E, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x07, 0x80, 0x00,
0x00, 0x01, 0xE0, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x1E, 0x00,
0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x01, 0xE0, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0xFE,
0x01, 0xFC, 0x1F, 0xFC, 0x00, 0x00, 0xFF, 0xC1, 0xFF, 0x8F, 0xFE, 0x00,
0x00, 0xF0, 0xF1, 0xE3, 0xE7, 0xFF, 0x00, 0x00, 0xF0, 0x21, 0xE0, 0xF0,
0x78, 0x00, 0x00, 0x78, 0x00, 0x00, 0x78, 0x3C, 0x00, 0x00, 0x3F, 0x80,
0x00, 0x3C, 0x1E, 0x00, 0x00, 0x0F, 0xF8, 0x03, 0xFE, 0x0F, 0x00, 0x00,
0x07, 0xFF, 0x07, 0xFF, 0x07, 0x80, 0x00, 0x00, 0xFF, 0xC7, 0x87, 0x83,
0xC0, 0x00, 0x00, 0x07, 0xE7, 0x83, 0xC1, 0xE0, 0x00, 0x00, 0xC0, 0xF3,
0xC1, 0xE0, 0xF0, 0x00, 0x00, 0xF0, 0x79, 0xF1, 0xF0, 0x78, 0x00, 0x00,
0x7F, 0xF8, 0xFF, 0xF8, 0x3F, 0xC0, 0x00, 0x1F, 0xF8, 0x3F, 0xBC, 0x1F,
0xE0, 0x00, 0x03, 0xF8, 0x0F, 0x9E, 0x07, 0xF0, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x00, 0xF0, 0x0F, 0xE0,
0x3F, 0xF8, 0x0F, 0x80, 0x78, 0x1F, 0xFC, 0x1F, 0xFF, 0x87, 0xC0, 0x3C,
0x3F, 0xFF, 0x0F, 0xFF, 0xE3, 0xE0, 0x1E, 0x1F, 0x07, 0x87, 0xC3, 0xF9,
0xF0, 0x0F, 0x1F, 0x01, 0x83, 0xE0, 0x7E, 0xF8, 0x07, 0x8F, 0x80, 0x01,
0xF0, 0x1F, 0x7C, 0x03, 0xC7, 0xE0, 0x00, 0xF8, 0x0F, 0xFE, 0x01, 0xE3,
0xFC, 0x00, 0x7C, 0x03, 0xFF, 0x00, 0xF1, 0xFF, 0xE0, 0x3E, 0x01, 0xFF,
0x80, 0x78, 0x7F, 0xFC, 0x1F, 0x00, 0xFF, 0xC0, 0x3C, 0x1F, 0xFF, 0x0F,
0x80, 0x7F, 0xE0, 0x1E, 0x07, 0xFF, 0xC7, 0xC0, 0x3F, 0xF0, 0x0F, 0x00,
0x7F, 0xE3, 0xE0, 0x1F, 0xF8, 0x07, 0x80, 0x03, 0xF9, 0xF0, 0x1F, 0xFC,
0x03, 0xC0, 0x00, 0x7C, 0xF8, 0x0F, 0xBE, 0x01, 0xE0, 0x80, 0x3E, 0x7C,
0x0F, 0xCF, 0x81, 0xF0, 0xE0, 0x1E, 0x3E, 0x1F, 0xC7, 0xE1, 0xF0, 0xF8,
0x1F, 0x1F, 0xFF, 0xC1, 0xFF, 0xF0, 0x7F, 0xFF, 0x0F, 0xFF, 0xC0, 0x7F,
0xF0, 0x0F, 0xFF, 0x07, 0xFF, 0x00, 0x0F, 0xE0, 0x01, 0xFE, 0x00, 0x00,
0x00, 0x00, 0x00, 0x07, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF,
0xFE, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
0x03, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xE0, 0x00,
0x00, 0x00, 0x01, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF,
0xFC, 0x00, 0x00, 0x03, 0xF1, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x01, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0,
0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFE, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x7F, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0,
0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFE, 0x1F, 0xFF, 0xFF, 0xC0, 0x7F, 0xFF, 0xFF, 0x1F, 0xFF, 0xFF,
0x80, 0x0F, 0xFF, 0xFF, 0xCF, 0xFF, 0xFF, 0x00, 0x01, 0xFF, 0xFF, 0xEF,
0xFF, 0xFF, 0x00, 0x00, 0x7F, 0xFF, 0xFB, 0xFF, 0xFF, 0x00, 0x00, 0x1F,
0xFF, 0xFD, 0xFF, 0xFF, 0x80, 0x00, 0x0F, 0xFF, 0xFE, 0x7F, 0xFF, 0x80,
0x00, 0x03, 0xFF, 0xFE, 0x3F, 0xFF, 0xC0, 0x00, 0x01, 0xFF, 0xFE, 0x0F,
0xFF, 0xC0, 0x00, 0x00, 0x7F, 0xFF, 0x07, 0xFF, 0xE0, 0x00, 0x00, 0x3F,
0xFF, 0x01, 0xFF, 0xF0, 0x00, 0x00, 0x1F, 0xFF, 0x00, 0xFF, 0xF8, 0x00,
0x00, 0x0F, 0xFF, 0x80, 0x7F, 0xFC, 0x00, 0x00, 0x07, 0xFF, 0xC0, 0x7F,
0xFE, 0x00, 0x00, 0x03, 0xFF, 0xF0, 0x7F, 0xFF, 0x00, 0x00, 0x01, 0xFF,
0xF8, 0x3F, 0xFF, 0xC0, 0x00, 0x01, 0xFF, 0xFE, 0x3F, 0xFF, 0xE0, 0x00,
0x00, 0xFF, 0xFF, 0x3F, 0xFF, 0xF8, 0x00, 0x00, 0xFF, 0xFF, 0xDF, 0xFF,
0xFC, 0x00, 0x00, 0x7F, 0xFF, 0xEF, 0xFF, 0xFF, 0x00, 0x00, 0x7F, 0xFF,
0xFB, 0xFF, 0xFF, 0xC0, 0x00, 0x7F, 0xFF, 0xF9, 0xFF, 0xFF, 0xF8, 0x00,
0xFF, 0xFF, 0xFC, 0x7F, 0xFF, 0xFF, 0x01, 0xFF, 0xFF, 0xFC, 0x3F, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE,
0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x01, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x3F, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x80,
0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x01, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xC0, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xC7, 0xC0, 0x00, 0x00, 0x1F,
0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xFF, 0xC0, 0x00, 0x00,
0x00, 0x03, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xE0,
0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3F,
0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xF0, 0x00, 0x00, 0x00,
0x00, 0x00, 0x03, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xFF,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x01, 0xFF,
0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x00,
0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0x07, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x0F, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xF8, 0x1F, 0xFF, 0xFF, 0x00, 0x3F, 0xFF, 0xFE, 0x1F,
0xFF, 0xF8, 0x00, 0x01, 0xFF, 0xFF, 0x9F, 0xFF, 0xE0, 0x00, 0x00, 0x1F,
0xFF, 0xEF, 0xFF, 0xC0, 0x00, 0x00, 0x03, 0xFF, 0xF3, 0xFF, 0xC0, 0x00,
0x00, 0x00, 0x7F, 0xF0, 0xFF, 0x80, 0x0F, 0xFE, 0x00, 0x1F, 0xF0, 0x3F,
0x80, 0x3F, 0xFF, 0xF0, 0x03, 0xF0, 0x0F, 0x80, 0xFF, 0xFF, 0xFF, 0x00,
0xF8, 0x03, 0x80, 0xFF, 0xFF, 0xFF, 0xE0, 0x38, 0x00, 0x81, 0xFF, 0xFF,
0xFF, 0xF8, 0x08, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x01,
0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0,
0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x3F, 0xFE, 0x01,
0xFF, 0xF8, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x1F, 0xF8, 0x00, 0x00, 0x03,
0xF0, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x78, 0x00,
0x00, 0x00, 0x30, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x07, 0xF0,
0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00,
0x3F, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xF0, 0x00, 0x00,
0x00, 0x00, 0x0F, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xF8,
0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00,
0x3F, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x00,
0x00, 0x00, 0x03, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xC0, 0x00, 0x00,
0x00, 0x00, 0x0F, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0xFF,
0xC0, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x7F,
0xF0, 0x03, 0xFF, 0x00, 0x00, 0x00, 0x7F, 0x80, 0x00, 0x3F, 0xE0, 0x00,
0x00, 0xFF, 0x00, 0x00, 0x07, 0xF8, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00,
0xFE, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x1F, 0x80, 0x00, 0xFC, 0x00,
0x00, 0x00, 0x07, 0xE0, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x01, 0xF8, 0x00,
0x7C, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x00,
0x1F, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x07, 0xC0, 0x3E, 0x00, 0x00,
0x00, 0x00, 0x01, 0xF0, 0x3E, 0x00, 0xE0, 0x00, 0x0E, 0x00, 0xF8, 0x1E,
0x00, 0xF8, 0x00, 0x0F, 0x80, 0x3E, 0x1F, 0x00, 0x7E, 0x00, 0x0F, 0xC0,
0x1F, 0x0F, 0x00, 0x3F, 0x80, 0x0F, 0xE0, 0x07, 0x8F, 0x80, 0x1F, 0xE0,
0x0F, 0xF0, 0x03, 0xE7, 0xC0, 0x07, 0xF8, 0x0F, 0xF0, 0x00, 0xF3, 0xC0,
0x01, 0xFE, 0x0F, 0xF0, 0x00, 0x79, 0xE0, 0x00, 0x7F, 0x8F, 0xF0, 0x00,
0x3F, 0xF0, 0x00, 0x1F, 0xEF, 0xF0, 0x00, 0x1F, 0xF8, 0x00, 0x07, 0xFF,
0xF0, 0x00, 0x07, 0xF8, 0x00, 0x01, 0xFF, 0xF0, 0x00, 0x03, 0xFC, 0x00,
0x00, 0x7F, 0xF0, 0x00, 0x01, 0xFE, 0x00, 0x00, 0x1F, 0xF0, 0x00, 0x00,
0xFF, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x7F, 0x80, 0x00, 0x0F, 0xFE,
0x00, 0x00, 0x3F, 0xC0, 0x00, 0x0F, 0xFF, 0x80, 0x00, 0x1F, 0xE0, 0x00,
0x0F, 0xFF, 0xE0, 0x00, 0x0F, 0xF8, 0x00, 0x0F, 0xF7, 0xF8, 0x00, 0x07,
0xFC, 0x00, 0x0F, 0xF1, 0xFE, 0x00, 0x07, 0xDE, 0x00, 0x0F, 0xF0, 0x7F,
0x80, 0x03, 0xEF, 0x00, 0x0F, 0xF0, 0x1F, 0xE0, 0x01, 0xE7, 0xC0, 0x0F,
0xF0, 0x07, 0xF8, 0x00, 0xF3, 0xE0, 0x07, 0xF0, 0x01, 0xFC, 0x00, 0xF8,
0xF0, 0x07, 0xF0, 0x00, 0x7E, 0x00, 0x78, 0x7C, 0x01, 0xF8, 0x00, 0x1F,
0x00, 0x7C, 0x1E, 0x00, 0xF8, 0x00, 0x07, 0x80, 0x3E, 0x0F, 0x80, 0x00,
0x00, 0x00, 0x00, 0x3E, 0x03, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x01,
0xF0, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x00,
0x1F, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x80, 0x0F, 0xC0, 0x00,
0x00, 0x00, 0x1F, 0x80, 0x03, 0xF0, 0x00, 0x00, 0x00, 0x1F, 0x80, 0x00,
0xFE, 0x00, 0x00, 0x00, 0x1F, 0x80, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x3F,
0x80, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x7F, 0x80, 0x00, 0x01, 0xFE, 0x00,
0x00, 0xFF, 0x80, 0x00, 0x00, 0x7F, 0xF0, 0x03, 0xFF, 0x00, 0x00, 0x00,
0x0F, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFC, 0x00,
0x00, 0x00, 0x00, 0x1F, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF,
0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xC0, 0x00, 0x00, 0x00,
0x00, 0x0F, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0xFF, 0xC0,
0x00, 0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x7F, 0xF0,
0x03, 0xFF, 0x00, 0x00, 0x00, 0x7F, 0x80, 0x00, 0x3F, 0xE0, 0x00, 0x00,
0xFF, 0x00, 0x00, 0x07, 0xF8, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0xFE,
0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x1F, 0x80, 0x00, 0xFC, 0x00, 0x00,
0x00, 0x07, 0xE0, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x01, 0xF8, 0x00, 0x7C,
0x00, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x1F,
0x00, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x07, 0xC0, 0x3E, 0x00, 0x00, 0x00,
0x00, 0x01, 0xF0, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x1E, 0x00,
0x00, 0x00, 0x00, 0x60, 0x3E, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x78, 0x1F,
0x0F, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x07, 0x8F, 0x80, 0x00, 0x00, 0x00,
0x7F, 0x03, 0xE7, 0xC0, 0x00, 0x00, 0x00, 0x7F, 0x00, 0xF3, 0xC0, 0x00,
0x00, 0x00, 0x7F, 0x80, 0x79, 0xE0, 0x00, 0x00, 0x00, 0x7F, 0x80, 0x3F,
0xF0, 0x00, 0x00, 0x00, 0x7F, 0x80, 0x1F, 0xF8, 0x00, 0x00, 0x00, 0x7F,
0x80, 0x07, 0xF8, 0x00, 0x00, 0x00, 0x7F, 0x80, 0x03, 0xFC, 0x00, 0x00,
0x00, 0x7F, 0x80, 0x01, 0xFE, 0x00, 0xF8, 0x00, 0x7F, 0x80, 0x00, 0xFF,
0x00, 0x7E, 0x00, 0x7F, 0x80, 0x00, 0x7F, 0x80, 0x3F, 0x80, 0x7F, 0x80,
0x00, 0x3F, 0xC0, 0x1F, 0xE0, 0x7F, 0x80, 0x00, 0x1F, 0xE0, 0x0F, 0xF8,
0x7F, 0x80, 0x00, 0x0F, 0xF8, 0x03, 0xFE, 0x7F, 0x80, 0x00, 0x07, 0xFC,
0x00, 0xFF, 0xFF, 0x80, 0x00, 0x07, 0xDE, 0x00, 0x3F, 0xFF, 0x80, 0x00,
0x03, 0xEF, 0x00, 0x0F, 0xFF, 0x80, 0x00, 0x01, 0xE7, 0xC0, 0x03, 0xFF,
0x80, 0x00, 0x00, 0xF3, 0xE0, 0x00, 0xFF, 0x80, 0x00, 0x00, 0xF8, 0xF0,
0x00, 0x3F, 0x80, 0x00, 0x00, 0x78, 0x7C, 0x00, 0x0F, 0x80, 0x00, 0x00,
0x7C, 0x1E, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3E, 0x0F, 0x80, 0x00, 0x00,
0x00, 0x00, 0x3E, 0x03, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x01, 0xF0,
0x00, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x1F,
0x00, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x80, 0x0F, 0xC0, 0x00, 0x00,
0x00, 0x1F, 0x80, 0x03, 0xF0, 0x00, 0x00, 0x00, 0x1F, 0x80, 0x00, 0xFE,
0x00, 0x00, 0x00, 0x1F, 0x80, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x3F, 0x80,
0x00, 0x0F, 0xF0, 0x00, 0x00, 0x7F, 0x80, 0x00, 0x01, 0xFE, 0x00, 0x00,
0xFF, 0x80, 0x00, 0x00, 0x7F, 0xF0, 0x03, 0xFF, 0x00, 0x00, 0x00, 0x0F,
0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFC, 0x00, 0x00,
0x00, 0x00, 0x1F, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xC0,
0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x00,
0x0F, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0xFF, 0xC0, 0x00,
0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x7F, 0xF0, 0x03,
0xFF, 0x00, 0x00, 0x00, 0x7F, 0x80, 0x00, 0x3F, 0xE0, 0x00, 0x00, 0xFF,
0x00, 0x00, 0x07, 0xF8, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0xFE, 0x00,
0x00, 0xFE, 0x00, 0x00, 0x00, 0x1F, 0x80, 0x00, 0xFC, 0x00, 0x00, 0x00,
0x07, 0xE0, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x01, 0xF8, 0x00, 0x7C, 0x00,
0x00, 0x00, 0x00, 0x7E, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x00,
0x7C, 0x00, 0x00, 0x00, 0x00, 0x07, 0xC0, 0x3E, 0x00, 0x00, 0x70, 0x00,
0x01, 0xF0, 0x3E, 0x00, 0x00, 0x7C, 0x00, 0x00, 0xF8, 0x1E, 0x00, 0x00,
0x3E, 0x00, 0x00, 0x3E, 0x1F, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x1F, 0x0F,
0x00, 0x00, 0x0F, 0x80, 0x00, 0x07, 0x8F, 0x80, 0x00, 0x07, 0xC0, 0x00,
0x03, 0xE7, 0xC0, 0x00, 0x03, 0xE0, 0x00, 0x00, 0xF3, 0xC0, 0x00, 0x01,
0xF0, 0x00, 0x00, 0x79, 0xE0, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x3F, 0xF0,
0x00, 0x00, 0x7C, 0x00, 0x00, 0x1F, 0xF8, 0x00, 0x00, 0x3E, 0x00, 0x00,
0x07, 0xF8, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x03, 0xFC, 0x00, 0x00, 0x0F,
0x80, 0x00, 0x01, 0xFE, 0x00, 0x00, 0x07, 0xC0, 0x00, 0x00, 0xFF, 0x00,
0x00, 0x03, 0xE0, 0x00, 0x00, 0x7F, 0x80, 0x00, 0x01, 0xF0, 0x00, 0x00,
0x3F, 0xC0, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x00, 0x7C,
0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x07, 0xFC, 0x00,
0x00, 0x0E, 0x00, 0x00, 0x07, 0xDE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03,
0xEF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xE7, 0xC0, 0x00, 0x00, 0x00,
0x00, 0x00, 0xF3, 0xE0, 0x00, 0x00, 0xE0, 0x00, 0x00, 0xF8, 0xF0, 0x00,
0x00, 0xF8, 0x00, 0x00, 0x78, 0x7C, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x7C,
0x1E, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x3E, 0x0F, 0x80, 0x00, 0x1F, 0x00,
0x00, 0x3E, 0x03, 0xE0, 0x00, 0x07, 0x00, 0x00, 0x1F, 0x01, 0xF0, 0x00,
0x00, 0x00, 0x00, 0x1F, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x00,
0x1F, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x80, 0x0F, 0xC0, 0x00, 0x00, 0x00,
0x1F, 0x80, 0x03, 0xF0, 0x00, 0x00, 0x00, 0x1F, 0x80, 0x00, 0xFE, 0x00,
0x00, 0x00, 0x1F, 0x80, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x3F, 0x80, 0x00,
0x0F, 0xF0, 0x00, 0x00, 0x7F, 0x80, 0x00, 0x01, 0xFE, 0x00, 0x00, 0xFF,
0x80, 0x00, 0x00, 0x7F, 0xF0, 0x03, 0xFF, 0x00, 0x00, 0x00, 0x0F, 0xFF,
0xFF, 0xFE, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0xFC, 0x00, 0x00, 0x00,
0x00, 0x1F, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xC0, 0x00,
0x00, 0x00 };
const GFXglyph orangeclock_icons35pt7bGlyphs[] PROGMEM = {
{ 0, 52, 56, 69, 9, -57 }, // 0x41 'A'
{ 364, 51, 51, 69, 9, -54 }, // 0x42 'B'
{ 690, 39, 52, 69, 15, -55 }, // 0x43 'C'
{ 944, 44, 52, 69, 13, -55 }, // 0x44 'D'
{ 1230, 37, 57, 69, 16, -57 }, // 0x45 'E'
{ 1494, 57, 57, 69, 6, -57 }, // 0x46 'F'
{ 1901, 57, 57, 69, 6, -57 }, // 0x47 'G'
{ 2308, 40, 57, 68, 14, -57 }, // 0x48 'H'
{ 2593, 43, 57, 69, 13, -58 }, // 0x49 'I'
{ 2900, 62, 57, 69, 3, -57 }, // 0x4A 'J'
{ 3342, 58, 58, 69, 5, -58 }, // 0x4B 'K'
{ 3763, 34, 57, 68, 17, -57 }, // 0x4C 'L'
{ 4006, 57, 56, 69, 6, -57 }, // 0x4D 'M'
{ 4405, 57, 57, 69, 6, -57 }, // 0x4E 'N'
{ 4812, 57, 41, 69, 6, -50 }, // 0x4F 'O'
{ 5105, 57, 57, 69, 6, -57 }, // 0x50 'P'
{ 5512, 57, 57, 69, 6, -57 }, // 0x51 'Q'
{ 5919, 57, 57, 69, 6, -57 } }; // 0x52 'R'
const GFXfont orangeclock_icons35pt7b PROGMEM = {
(uint8_t *)orangeclock_icons35pt7bBitmaps,
(GFXglyph *)orangeclock_icons35pt7bGlyphs,
0x41, 0x52, 69 };
// Approx. 6459 bytes

201
src/fonts/sats-symbol.h Normal file
View file

@ -0,0 +1,201 @@
const uint8_t Satoshi_Symbol90pt7bBitmaps[] PROGMEM = {
0x00, 0x00, 0x00, 0x00, 0x0F, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x03, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F,
0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFE, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x3F, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x0F, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x03, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF,
0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xF8, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFE, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x3F, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x0F, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x3F, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x0F, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xE0, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xF8, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x03, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x3F, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFE,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0x80, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xE0, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x0F, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x03, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xFE,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFC, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x1F, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x3F, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xE0,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x00,
0x00, 0x00, 0x01, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03,
0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xFE, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x1F, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F,
0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xE0, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x00,
0x00, 0x01, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF,
0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xFE, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x1F, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF,
0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xE0, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00,
0x01, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xFE, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x1F, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xF0,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xE0, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0xFF, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x0F, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F,
0xFF, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xF0, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF,
0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x0F, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xFF,
0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xF0, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF,
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x07, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x0F, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0xF8,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xF0, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x7F, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0x80,
0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x07, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F,
0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0xF8, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x7F, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF,
0xFF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0x80, 0x00,
0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x07, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF,
0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0xF8, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x7F, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF,
0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0x80, 0x00, 0x00,
0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x07, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFC,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0xF8, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x3F, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x7F, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xC0,
0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x00,
0x00, 0x00, 0x03, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07,
0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFC, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x3F, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F,
0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xC0, 0x00,
0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00,
0x00, 0x03, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF,
0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0xFC, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xE0 };
const GFXglyph Satoshi_Symbol90pt7bGlyphs[] PROGMEM = {
{ 0, 82, 127, 99, 8, -126 }, { 1302, 71, 109, 93, 0, -117 } }; // 0x53 'S'
const GFXfont Satoshi_Symbol90pt7b PROGMEM = {
(uint8_t *)Satoshi_Symbol90pt7bBitmaps,
(GFXglyph *)Satoshi_Symbol90pt7bGlyphs,
0x53, 0x53, 192 };
// Approx. 2284 bytes

View file

@ -1,7 +0,0 @@
import { describe, it, expect } from 'vitest';
describe('sum test', () => {
it('adds 1 + 2 to equal 3', () => {
expect(1 + 2).toBe(3);
});
});

View file

@ -1,5 +0,0 @@
import * as publicEnv from '$env/static/public';
export const PUBLIC_BASE_URL: string = Object.hasOwn(publicEnv, 'PUBLIC_BASE_URL')
? publicEnv.PUBLIC_BASE_URL
: '';

View file

@ -1,17 +0,0 @@
import { browser } from '$app/environment';
import { init, register } from 'svelte-i18n';
const defaultLocale = 'en';
register('en', () => import('../locales/en.json'));
register('nl', () => import('../locales/nl.json'));
register('es', () => import('../locales/es.json'));
init({
fallbackLocale: defaultLocale,
initialLocale: browser
? browser && localStorage.getItem('locale')
? localStorage.getItem('locale')
: window.navigator.language.slice(0, 2)
: defaultLocale
});

View file

@ -1 +0,0 @@
// place files you want to import through the `$lib` alias in this folder.

View file

@ -1,95 +0,0 @@
{
"section": {
"settings": {
"title": "Settings",
"textColor": "Text color",
"preview": "Preview",
"backgroundColor": "Background color",
"ledPowerOnTest": "LED power-on test",
"ledFlashOnBlock": "LED flash on new block",
"timePerScreen": "Time per screen",
"ledBrightness": "LED brightness",
"timezoneOffset": "Timezone offset",
"timeBetweenPriceUpdates": "Time between price updates",
"fullRefreshEvery": "Full refresh every",
"mempoolnstance": "Mempool Instance",
"hostnamePrefix": "Hostname prefix",
"StealFocusOnNewBlock": "Steal focus on new block",
"useBigCharsMcap": "Use big characters for market cap",
"useBlkCountdown": "Blocks countdown for halving",
"useSatsSymbol": "Use sats symbol",
"suffixPrice": "Suffix price format",
"disableLeds": "Disable all LEDs effects",
"otaUpdates": "OTA updates",
"enableMdns": "mDNS",
"fetchEuroPrice": "Fetch € price",
"shortAmountsWarning": "Short amounts might shorten lifespan of the displays",
"tzOffsetHelpText": "A restart is required to apply TZ offset.",
"screens": "Screens",
"wifiTxPowerText": "In most cases this does not need to be set.",
"wifiTxPower": "WiFi TX power",
"settingsSaved": "Settings saved",
"errorSavingSettings": "Error saving settings"
},
"lines": {
"TIME": "Time",
"DATE": "Date",
"SATSPERUNIT": "Sats per unit (Moscow time)",
"FIATPRICE": "Fiat Price",
"BLOCKHEIGHT": "Block Height",
"MEMPOOL_FEES": "Mempool Fees (summary)",
"MEMPOOL_FEES_MEDIAN": "Mempool Fees (median)",
"HALVING_COUNTDOWN": "Halving Countdown (blocks)",
"MARKETCAP": "Market Cap"
},
"control": {
"systemInfo": "System info",
"version": "Version",
"buildTime": "Build time",
"ledColor": "LED color",
"turnOff": "Turn off",
"setColor": "Set color",
"showText": "Show text",
"text": "Text",
"title": "Control",
"hostname": "Hostname"
},
"status": {
"title": "Status",
"screenCycle": "Screen cycle",
"memoryFree": "Memory free",
"wsPriceConnection": "WS Price connection",
"wsMempoolConnection": "WS Mempool.space connection",
"fetchEuroNote": "If you use \"Fetch € price\" the WS Price connection will show ❌ since it uses another data source.",
"uptime": "Uptime",
"wifiSignalStrength": "WiFi Signal strength"
}
},
"colors": {
"black": "Black",
"white": "White"
},
"time": {
"minutes": "minutes",
"seconds": "seconds"
},
"restartRequired": "restart required",
"button": {
"save": "Save",
"reset": "Reset",
"restart": "Restart",
"forceFullRefresh": "Force full refresh"
},
"timer": {
"running": "running",
"stopped": "stopped"
},
"sections": {
"control": {
"keepSameColor": "Keep same color"
}
},
"rssiBar": {
"tooltip": "Values > -67 dBm are considered good. > -30 dBm is amazing"
}
}

View file

@ -1,82 +0,0 @@
{
"section": {
"settings": {
"title": "Configuración",
"textColor": "Color de texto",
"backgroundColor": "Color de fondo",
"ledBrightness": "Brillo LED",
"screens": "Pantallas",
"shortAmountsWarning": "Pequeñas cantidades pueden acortar la vida útil de los displays",
"fullRefreshEvery": "Actualización completa cada",
"timePerScreen": "Tiempo por pantalla",
"tzOffsetHelpText": "Es necesario reiniciar para aplicar la compensación.",
"timezoneOffset": "Compensación de zona horaria",
"StealFocusOnNewBlock": "Presta atención al nuevo bloque",
"ledFlashOnBlock": "El LED parpadea con un bloque nuevo",
"useBigCharsMcap": "Utilice caracteres grandes para la market cap",
"useBlkCountdown": "Cuenta regresiva en bloques",
"useSatsSymbol": "Usar símbolo sats",
"fetchEuroPrice": "Obtener precio en €",
"timeBetweenPriceUpdates": "Tiempo entre actualizaciones de precios",
"ledPowerOnTest": "Prueba de encendido del LED",
"enableMdns": "mDNS",
"hostnamePrefix": "Prefijo de nombre de host",
"mempoolnstance": "Instancia de Mempool",
"suffixPrice": "Precio con sufijos",
"disableLeds": "Desactivar efectos de LED",
"otaUpdates": "Actualización por aire",
"wifiTxPowerText": "En la mayoría de los casos no es necesario configurar esto.",
"settingsSaved": "Configuración guardada",
"errorSavingSettings": "Error al guardar la configuración"
},
"control": {
"turnOff": "Apagar",
"setColor": "Establecer el color",
"version": "Versión",
"ledColor": "color del LED",
"systemInfo": "Info del sistema",
"showText": "Mostrar texto",
"text": "Texto",
"title": "Control",
"buildTime": "Tiempo de compilación",
"hostname": "Nombre del host"
},
"status": {
"memoryFree": "Memoria RAM libre",
"wsPriceConnection": "Conexión WebSocket Precio",
"wsMempoolConnection": "Conexión WebSocket Mempool.space",
"screenCycle": "Ciclo de pantalla",
"uptime": "Tiempo de funcionamiento",
"fetchEuroNote": "Si utiliza \"Obtener precio en €\", la conexión de Precio WS mostrará ❌ ya que utiliza otra fuente de datos.",
"title": "Estado",
"wifiSignalStrength": "Fuerza de la señal WiFi"
}
},
"button": {
"save": "Guardar",
"reset": "Restaurar",
"restart": "Reiniciar",
"forceFullRefresh": "Forzar refresco"
},
"colors": {
"black": "Negro",
"white": "Blanco"
},
"restartRequired": "reinicio requerido",
"time": {
"minutes": "minutos",
"seconds": "segundos"
},
"timer": {
"running": "funcionando",
"stopped": "detenido"
},
"sections": {
"control": {
"keepSameColor": "Mantén el mismo color"
}
},
"rssiBar": {
"tooltip": "Se consideran buenos valores > -67 dBm. > -30 dBm es increíble"
}
}

View file

@ -1,82 +0,0 @@
{
"section": {
"settings": {
"title": "Instellingen",
"textColor": "Tekstkleur",
"backgroundColor": "Achtergrondkleur",
"timeBetweenPriceUpdates": "Tijd tussen prijs updates",
"timezoneOffset": "Tijdzone afwijking",
"ledBrightness": "LED helderheid",
"timePerScreen": "Tijd per scherm",
"fullRefreshEvery": "Volledig verversen elke",
"shortAmountsWarning": "Lage waardes verkorten mogelijk levensduur schermen",
"tzOffsetHelpText": "Herstart nodig voor toepassen afwijking.",
"enableMdns": "mDNS",
"ledPowerOnTest": "LED test bij aanzetten",
"StealFocusOnNewBlock": "Pak aandacht bij nieuw blok",
"ledFlashOnBlock": "Knipper led bij nieuw blok",
"useBigCharsMcap": "Gebruik grote tekens bij market cap",
"useBlkCountdown": "Blocks aftellen voor halving",
"useSatsSymbol": "Gebruik sats symbol",
"fetchEuroPrice": "Toon € prijs",
"screens": "Schermen",
"hostnamePrefix": "Hostnaam voorvoegsel",
"mempoolnstance": "Mempool instantie",
"suffixPrice": "Achtervoegsel prijs formaat",
"disableLeds": "Alle LEDs effecten uit",
"otaUpdates": "OTA updates",
"wifiTxPower": "WiFi TX power",
"wifiTxPowerText": "Meestal hoeft dit niet aangepast te worden.",
"settingsSaved": "Instellingen opgeslagen",
"errorSavingSettings": "Fout bij opslaan instellingen"
},
"control": {
"systemInfo": "Systeeminformatie",
"version": "Versie",
"buildTime": "Bouwtijd",
"setColor": "Kleur instellen",
"turnOff": "Uitzetten",
"ledColor": "LED kleur",
"showText": "Toon tekst",
"text": "Tekst",
"title": "Besturing"
},
"status": {
"title": "Status",
"memoryFree": "Geheugen vrij",
"screenCycle": "Scherm cyclus",
"wsPriceConnection": "WS Prijs verbinding",
"wsMempoolConnection": "WS Mempool.space verbinding",
"fetchEuroNote": "Wanneer je \"Toon € prijs\" aanzet, zal de prijsverbinding als ❌ verbroken getoond worden vanwege het gebruik van een andere bron.",
"uptime": "Uptime",
"wifiSignalStrength": "WiFi signaalsterkte"
}
},
"colors": {
"black": "Zwart",
"white": "Wit"
},
"time": {
"minutes": "minuten",
"seconds": "seconden"
},
"restartRequired": "herstart nodig",
"button": {
"save": "Opslaan",
"reset": "Herstel",
"restart": "Herstart",
"forceFullRefresh": "Forceer scherm verversen"
},
"timer": {
"running": "actief",
"stopped": "gestopt"
},
"sections": {
"control": {
"keepSameColor": "Behoud zelfde kleur"
}
},
"rssiBar": {
"tooltip": "Waarden > -67 dBm zijn goed. > -30 dBm is verbazingwekkend"
}
}

View file

@ -1,68 +0,0 @@
import { format, parse, isValid } from 'date-fns';
export function strftime(formatString: string, dateString?: string): string {
const placeholders: { [key: string]: string } = {
'%a': 'EEE',
'%A': 'EEEE',
'%b': 'MMM',
'%B': 'MMMM',
'%c': 'EEE MMM dd HH:mm:ss yyyy',
'%C': '',
'%d': 'dd',
'%D': 'MM/dd/yy',
'%e': 'd',
'%F': 'yyyy-MM-dd',
'%g': '',
'%G': '',
'%h': 'MMM',
'%H': 'HH',
'%I': 'hh',
'%j': 'DDD',
'%k': 'H',
'%l': 'h',
'%m': 'MM',
'%M': 'mm',
'%n': '\n',
'%p': 'a',
'%P': 'a',
'%r': 'hh:mm:ss a',
'%R': 'HH:mm',
'%s': '',
'%S': 'ss',
'%t': '\t',
'%T': 'HH:mm:ss',
'%u': 'E',
'%U': '',
'%V': '',
'%w': 'e',
'%W': '',
'%x': 'MM/dd/yy',
'%X': 'HH:mm:ss',
'%y': 'yy',
'%Y': 'yyyy',
'%z': 'xxx',
'%Z': 'zzz',
'%%': '%'
};
let convertedFormatString = formatString;
if (!convertedFormatString) {
return '';
}
for (const placeholder in placeholders) {
if (Object.prototype.hasOwnProperty.call(placeholders, placeholder)) {
convertedFormatString = convertedFormatString.replace(placeholder, placeholders[placeholder]);
}
}
let parsedDate;
if (dateString && isValid(parse(dateString, 'yyyy-MM-dd', new Date()))) {
parsedDate = parse(dateString, 'yyyy-MM-dd', new Date());
} else {
parsedDate = new Date();
}
return format(parsedDate, convertedFormatString);
}

View file

@ -1,239 +0,0 @@
@import '../node_modules/bootstrap/scss/functions';
@import '../node_modules/bootstrap/scss/variables';
@import '../node_modules/bootstrap/scss/variables-dark';
@import '@fontsource/libre-franklin';
@font-face {
font-family: 'orangeclock-icons';
src:
url('/fonts/oc-icons.woff2') format('woff2'),
url('/fonts/oc-icons.woff') format('woff');
font-weight: normal;
font-style: normal;
font-display: swap;
}
.icon {
font-family: 'orangeclock-icons';
}
$form-range-track-bg: #fff;
$color-mode-type: media-query;
$font-family-base: 'Ubuntu';
$font-size-base: 0.9rem;
//$font-size-sm: $font-size-base * .875 !default;
//$form-label-font-size: $font-size-base * .575 !default;
//$input-btn-font-size-sm: 0.4rem;
//$form-label-font-size: 0.4rem;
$input-font-size-sm: $font-size-base * 0.875;
// $border-radius: .675rem;
@import '../node_modules/bootstrap/scss/mixins';
@import '../node_modules/bootstrap/scss/maps';
@import '../node_modules/bootstrap/scss/utilities';
@import '../node_modules/bootstrap/scss/root';
@import '../node_modules/bootstrap/scss/reboot';
@import '../node_modules/bootstrap/scss/type';
@import '../node_modules/bootstrap/scss/containers';
@import '../node_modules/bootstrap/scss/grid';
@import '../node_modules/bootstrap/scss/forms';
@import '../node_modules/bootstrap/scss/buttons';
@import '../node_modules/bootstrap/scss/button-group';
@import '../node_modules/bootstrap/scss/pagination';
@import '../node_modules/bootstrap/scss/dropdown';
@import '../node_modules/bootstrap/scss/navbar';
@import '../node_modules/bootstrap/scss/nav';
@import '../node_modules/bootstrap/scss/card';
@import '../node_modules/bootstrap/scss/progress';
@import '../node_modules/bootstrap/scss/tooltip';
@import '../node_modules/bootstrap/scss/toasts';
@import '../node_modules/bootstrap/scss/helpers';
@import '../node_modules/bootstrap/scss/utilities/api';
@include media-breakpoint-down(xl) {
html {
font-size: 85%;
}
button.btn,
input[type='button'].btn,
input[type='submit'].btn,
input[type='reset'].btn {
@include button-size(
$btn-padding-y-sm,
$btn-padding-x-sm,
$font-size-sm,
$btn-border-radius-sm
);
}
}
@include media-breakpoint-down(lg) {
html {
font-size: 75%;
}
}
nav {
margin-bottom: 15px;
}
.splitText div:first-child::after {
display: block;
content: '';
margin-top: 0px;
border-bottom: 2px solid;
margin-bottom: 3px;
}
#screen-wrapper {
margin: 0 auto;
display: flex;
width: 75%;
/* Container takes up full width */
max-width: 75%;
/* Ensure it doesn't exceed the available width */
position: relative;
/* Establishes the containing block for absolute positioning */
// background-color: lightgray; /* Optional: Just for visualization */
}
.ar-wrapper {
// padding-top: calc(122 / 250 * 100%); /* Aspect ratio: height / width * 100% */
// position: relative;
// width: 100%; /* Ensure the wrapper takes up full width */
padding-top: calc(122 / 250 * 100%);
/* Aspect ratio: height / width * 100% */
position: relative;
width: 100%;
/* Ensure the wrapper takes up full width */
}
.oc-screen {
position: absolute;
/* Position content absolutely within the wrapper */
top: 0;
left: 0;
right: 0;
bottom: 0;
display: flex;
justify-content: center;
align-items: center;
text-align: center;
font-size: 16px;
color: black;
// border: 1px solid darkgray;
background: lightgrey;
// border-radius: 5px;
// padding: 10px;
// margin: 0 auto;
// display: flex;
flex-direction: column;
// flex-wrap: nowrap;
// justify-content: center;
// align-items: center;
// align-content: center;
font-family: 'Libre Franklin';
font-weight: 600;
.oc-row .icon {
display: inline-block;
font-weight: normal;
font-size: 90%;
}
.oc-row:nth-child(1) {
font-size: 1.5vw;
display: block;
flex-grow: 0;
flex-shrink: 1;
flex-basis: auto;
align-self: auto;
order: 0;
}
.oc-row:nth-child(2) {
font-size: 3vw;
display: block;
font-weight: bold;
flex-grow: 0;
flex-shrink: 1;
flex-basis: auto;
align-self: auto;
order: 0;
}
.oc-row:nth-child(3) {
font-size: 2vw;
display: block;
flex-grow: 0;
flex-shrink: 1;
flex-basis: auto;
align-self: auto;
order: 0;
}
}
#customText {
text-transform: uppercase;
}
.system_info {
padding: 0;
li {
list-style: none;
}
}
.card-title {
margin-bottom: 0;
}
.navbar {
// display: flex;
// align-items: center;
// height: 60px;
}
@include color-mode(light) {
.darkModeLogo {
display: none;
}
}
@include color-mode(dark) {
.lightModeLogo {
display: none;
}
}
.navbar-brand {
font-style: italic;
font-weight: 600;
img {
max-height: $navbar-brand-height;
// position: absolute;
// top: 50%;
// transform: translateY(-50%);
// max-height: calc(100% - 1rem); /* Adjust the padding as per your navbar */
// max-width: calc(100% - 3rem); /* Adjust the padding as per your navbar */
// max-height: 100%;
// max-width: 100%;
// height: auto;
// width: auto;
}
.navbar-nav {
margin-left: auto;
/* Push the navbar items to the right */
}
}

305
src/main.cpp Normal file
View file

@ -0,0 +1,305 @@
#include <Arduino.h>
#include <WebServer.h>
#include <WiFiClientSecure.h>
#include <HTTPClient.h>
#include "shared.hpp"
#include "epd.hpp"
#include "config.hpp"
#include "webserver.hpp"
#include <data.hpp>
#define uS_TO_S_FACTOR 1000000 /* Conversion factor for micro seconds to seconds */
#define TIME_TO_SLEEP 5 /* Time ESP32 will go to sleep (in seconds) */
#define USE_SERIAL Serial
#ifdef ARDUINO_LOLIN_S2_MINI
GxEPD2_BW<EPD_CLASS, EPD_CLASS::HEIGHT> display = EPD_CLASS(4, 2, 3, 1);
#endif
#ifdef ARDUINO_LOLIN_S3_MINI
GxEPD2_BW<EPD_CLASS, EPD_CLASS::HEIGHT> display = EPD_CLASS(5, 3, 2, 1);
#endif
#ifdef ARDUINO_ORANGECLOCK
GxEPD2_BW<EPD_CLASS, EPD_CLASS::HEIGHT> display = EPD_CLASS(5, 3, 1, 2);
#endif
typedef void (*MethodPtr)(String, char);
MethodPtr methods[] = {nullptr, updateRow1, updateRow2, updateRow3};
WiFiClient client;
uint currentPrice = 0;
String currentBlock = "";
String currentFees = "";
#ifdef NUM_LEDS
CRGB leds[NUM_LEDS];
#endif
void setup()
{
// setCpuFrequencyMhz(40);
Serial.begin(115200);
#ifndef IS_ORANGECLOCK
pinMode(LED_BUILTIN, OUTPUT);
digitalWrite(LED_BUILTIN, HIGH);
#else
pinMode(BUTTON_PIN, INPUT_PULLUP);
attachInterrupt(BUTTON_PIN, onButtonPress, FALLING);
FastLED.addLeds<WS2812B, 48, GRB>(leds, NUM_LEDS);
leds[0] = CRGB::GreenYellow;
leds[1] = CRGB::OrangeRed;
FastLED.show();
setupButtonISR();
#endif
setupPreferences();
setupDisplay();
setupWifi();
setupTime();
if (!inPowerSaveMode())
{
setupWebserver();
setupOTA();
}
// client.setInsecure();
#ifndef IS_ORANGECLOCK
digitalWrite(LED_BUILTIN, LOW);
#else
leds[0] = CRGB::Black;
leds[1] = CRGB::Black;
FastLED.show();
delay(100);
#endif
display.setFullWindow();
display.clearScreen(GxEPD_WHITE);
display.display(true);
}
void loop()
{
if (isUpdating)
{
delay(1000);
return;
}
struct tm timeinfo;
if (!getLocalTime(&timeinfo))
{
Serial.println("Failed to obtain time");
setupTime();
return;
}
// client.setInsecure();
//
// IPAddress res;
// uint result = WiFi.hostByName("mempool.space", res);
// if (result >= 0)
// {
// Serial.print("SUCCESS!");
// Serial.println(res.toString());
// }
// else
// {
// WiFi.reconnect();
// while (WiFi.status() != WL_CONNECTED)
// {
// Serial.print('.');
// delay(1000);
// }
// }
for (uint i = 1; i <= 3; i++)
{
String rowContent = "";
char icon;
char keyName[5];
snprintf(keyName, sizeof(keyName), "row%d", i);
switch (preferences.getUInt(keyName))
{
case LINE_BLOCKHEIGHT:
icon = ICON_BLOCK;
rowContent = getBlock();
break;
case LINE_MEMPOOL_FEES:
icon = ICON_PIE;
rowContent = getMempoolFees();
break;
case LINE_MEMPOOL_FEES_MEDIAN:
icon = ICON_PIE;
rowContent = getMempoolFeesMedian();
break;
case LINE_HALVING_COUNTDOWN:
{
icon = ICON_HOURGLASS;
uint currentBlock = getBlock();
rowContent = 210000 - (currentBlock % 210000);
break;
}
case LINE_SATSPERUNIT:
{
icon = ICON_SATS;
uint satsPerDollar = int(round(1 / float(getPrice()) * 10e7));
rowContent = satsPerDollar;
break;
}
case LINE_FIATPRICE:
icon = getCurrencyIcon();
rowContent = getPrice();
break;
case LINE_MARKETCAP:
{
icon = getCurrencyIcon();
int64_t marketCap = static_cast<std::int64_t>(getSupplyAtBlock(getBlock()) * double(getPrice()));
rowContent = String(formatNumberWithSuffix(marketCap, 8));
break;
}
case LINE_TIME:
{
icon = ICON_GLOBE;
char dateString[16];
strftime(dateString, sizeof(dateString), preferences.getString(SETTING_TIME_FORMAT).c_str(), &timeinfo);
rowContent = dateString;
break;
}
case LINE_DATE:
{
icon = ICON_GLOBE;
char dateString[16];
strftime(dateString, sizeof(dateString), preferences.getString(SETTING_DATE_FORMAT).c_str(), &timeinfo);
rowContent = dateString;
break;
}
default:
rowContent = "DEFAULT";
}
methods[i](rowContent, icon);
}
// String block = String(getBlock());
// uint tryCount = 0;
// while (block.equals(""))
// {
// block = getBlock();
// Serial.print("Retry block..");
// tryCount++;
// Serial.println(tryCount);
// delay(1000);
// if (tryCount % 5)
// {
// WiFi.disconnect();
// WiFi.reconnect();
// while (WiFi.status() != WL_CONNECTED)
// {
// Serial.print('.');
// delay(1000);
// }
// }
// }
// uint price = getPrice();
// tryCount = 0;
// while (price == 0)
// {
// price = getPrice();
// if (Serial.available())
// Serial.print("Retry price..");
// tryCount++;
// if (Serial.available())
// Serial.println(tryCount);
// delay(1000);
// }
// uint satsPerDollar = int(round(1 / float(price) * 10e7));
// String mempoolFees = getMempoolFees();
// tryCount = 0;
// while (mempoolFees.equals(""))
// {
// mempoolFees = getMempoolFees();
// Serial.print("Retry mempoolfees..");
// tryCount++;
// Serial.println(tryCount);
// delay(1000);
// }
// if (!currentFees.equals(mempoolFees))
// {
// updateRow1(mempoolFees);
// currentFees = mempoolFees;
// Serial.print(F("Fees is now "));
// Serial.println(currentFees);
// }
// else
// {
// Serial.println(F("No need to update fees"));
// }
// if (price != currentPrice)
// {
// updateRow3(String(satsPerDollar));
// currentPrice = price;
// Serial.print(F("Price is now "));
// Serial.println(currentPrice);
// }
// else
// {
// Serial.println(F("No need to update price"));
// }
// if (!block.equals(currentBlock))
// {
// updateRow2(block);
// currentBlock = block;
// Serial.print(F("Block is now "));
// Serial.println(currentBlock);
// }
// else
// {
// Serial.println(F("No need to update block"));
// }
// updateRows(mempoolFees, block, String(price));
delay(2 * 1000);
if (inPowerSaveMode())
{
display.hibernate();
setModemSleep();
esp_sleep_enable_timer_wakeup(50 * 1000000);
esp_light_sleep_start();
display.init(0, false);
wakeModemSleep();
}
else
{
Serial.println(F("Sleeping"));
sleep(50);
// delay(50 * 1000);
Serial.println(F("Waking up"));
}
}

View file

@ -1,83 +0,0 @@
<script lang="ts">
import {
Collapse,
Dropdown,
DropdownItem,
DropdownMenu,
DropdownToggle,
Nav,
NavItem,
NavLink,
Navbar,
NavbarBrand
} from 'sveltestrap';
import { page } from '$app/stores';
import { locale, locales, isLoading } from 'svelte-i18n';
export const setLocale = (lang: string) => () => {
locale.set(lang);
localStorage.setItem('locale', lang);
};
export const getFlagEmoji = (languageCode: string): string | null => {
const flagMap: { [key: string]: string } = {
en: '🇬🇧', // English flag emoji
nl: '🇳🇱', // Dutch flag emoji
es: '🇪🇸' // Spanish flag emoji
};
// Convert the language code to lowercase for case-insensitive matching
const lowercaseCode = languageCode.toLowerCase();
// Check if the language code is in the flagMap
if (Object.prototype.hasOwnProperty.call(flagMap, lowercaseCode)) {
return flagMap[lowercaseCode];
} else {
// Return null for unsupported language codes
return null;
}
};
let languageNames = {};
locale.subscribe(() => {
let newLanguageNames = new Intl.DisplayNames([$locale], { type: 'language' });
for (let l: string of $locales) {
languageNames[l] = newLanguageNames.of(l);
}
});
</script>
<Navbar expand="md">
<NavbarBrand>
<img src="/assets/logo-dark.svg" alt="OrangeClock" class="darkModeLogo" />
<img src="/assets/logo.svg" alt="OrangeClock" class="lightModeLogo" />
</NavbarBrand>
<Collapse navbar expand="md">
<Nav class="me-auto" navbar>
<NavItem>
<NavLink href="/" active={$page.url.pathname === '/'}>Home</NavLink>
</NavItem>
<NavItem>
<NavLink href="/api" active={$page.url.pathname === '/api'}>API</NavLink>
</NavItem>
</Nav>
{#if !$isLoading}
<Dropdown id="nav-language-dropdown" inNavbar>
<DropdownToggle nav caret>{getFlagEmoji($locale)} {languageNames[$locale]}</DropdownToggle>
<DropdownMenu end>
{#each $locales as locale}
<DropdownItem on:click={setLocale(locale)}
>{getFlagEmoji(locale)} {languageNames[locale]}</DropdownItem
>
{/each}
</DropdownMenu>
</Dropdown>
{/if}
</Collapse>
</Navbar>
<!-- +layout.svelte -->
<slot />

View file

@ -1,19 +0,0 @@
import '$lib/style/app.scss';
import { browser } from '$app/environment';
import '$lib/i18n'; // Import to initialize. Important :)
import { locale, waitLocale } from 'svelte-i18n';
import type { LayoutLoad } from './$types';
export const load: LayoutLoad = async () => {
if (browser && localStorage.getItem('locale')) {
locale.set(localStorage.getItem('locale'));
} else if (browser) {
locale.set(window.navigator.language);
}
await waitLocale();
};
export const prerender = true;
export const ssr = false;
export const csr = true;

View file

@ -1,79 +0,0 @@
<script lang="ts">
import { PUBLIC_BASE_URL } from '$lib/config';
import { Container, Row, Toast, ToastBody } from 'sveltestrap';
import Settings from './Settings.svelte';
import Status from './Status.svelte';
import Control from './Control.svelte';
import { onDestroy, onMount } from 'svelte';
import { writable } from 'svelte/store';
let settings = writable({
fgColor: '0'
});
let status = writable({});
let statusPollInterval;
const fetchSettingsData = () => {
fetch(PUBLIC_BASE_URL + `/api/settings`)
.then((res) => res.json())
.then((data) => {
settings.set(data);
});
};
const fetchStatusData = () => {
fetch(`${PUBLIC_BASE_URL}/api/status`)
.then((res) => res.json())
.then((data) => {
status.set(data);
});
};
onMount(() => {
fetchSettingsData();
fetchStatusData();
statusPollInterval = setInterval(fetchStatusData, 10000);
});
let toastIsOpen = false;
let toastColor = 'success';
let toastBody = '';
export const showToast = (event) => {
toastIsOpen = true;
toastColor = event.detail.color;
toastBody = event.detail.text;
};
onDestroy(() => {
clearInterval(statusPollInterval); // Cleanup interval when component is destroyed
});
</script>
<svelte:head>
<title>OrangeBTClock</title>
</svelte:head>
<Container fluid>
<Row>
<Control bind:settings></Control>
<Status bind:status></Status>
<Settings bind:settings on:showToast={showToast} on:formReset={fetchSettingsData}></Settings>
</Row>
</Container>
<div class="position-fixed bottom-0 end-0 p-2">
<div class="">
<Toast
isOpen={toastIsOpen}
class="me-1 bg-{toastColor}"
autohide
on:close={() => (toastIsOpen = false)}
>
<ToastBody>
{toastBody}
</ToastBody>
</Toast>
</div>
</div>

View file

@ -1,40 +0,0 @@
<script lang="ts">
import { PUBLIC_BASE_URL } from '$lib/config';
import { _ } from 'svelte-i18n';
import { Button, Card, CardBody, CardHeader, CardTitle, Col } from 'sveltestrap';
export let settings = {};
const restartClock = () => {
fetch(`${PUBLIC_BASE_URL}/api/restart`).catch(() => {});
};
const forceFullRefresh = () => {
fetch(`${PUBLIC_BASE_URL}/api/full_refresh`).catch(() => {});
};
</script>
<Col>
<Card>
<CardHeader>
<CardTitle>{$_('section.control.title', { default: 'Control' })}</CardTitle>
</CardHeader>
<CardBody>
<h3>{$_('section.control.systemInfo')}</h3>
<ul class="small system_info">
<li>{$_('section.control.version')}: {$settings.gitRev}</li>
<li>
{$_('section.control.buildTime')}: {new Date(
$settings.lastBuildTime * 1000
).toLocaleString()}
</li>
<li>IP: {$settings.ip}</li>
<li>{$_('section.control.hostname')}: {$settings.hostname}</li>
</ul>
<Button color="danger" id="restartBtn" on:click={restartClock}>{$_('button.restart')}</Button>
<Button color="warning" id="forceFullRefresh" on:click={forceFullRefresh}
>{$_('button.forceFullRefresh')}</Button
>
</CardBody>
</Card>
</Col>

View file

@ -1,22 +0,0 @@
<script lang="ts">
export let status = {};
</script>
<div class="screen-wrapper" id="screen-wrapper">
<div class="ar-wrapper">
<div class="oc-screen">
<div class="oc-row">
<div class="icon">{status.icon1}</div>
{status.row1}
</div>
<div class="oc-row">
<div class="icon">{status.icon2}</div>
{status.row2}
</div>
<div class="oc-row">
<div class="icon">{status.icon3}</div>
{status.row3}
</div>
</div>
</div>
</div>

View file

@ -1,261 +0,0 @@
<script lang="ts">
import { PUBLIC_BASE_URL } from '$lib/config';
import { strftime } from '$lib/strftime';
import { createEventDispatcher } from 'svelte';
import { _ } from 'svelte-i18n';
import {
Button,
Card,
CardBody,
CardHeader,
CardTitle,
Col,
Form,
FormText,
Input,
InputGroup,
InputGroupText,
Label,
Row
} from 'sveltestrap';
export let settings;
const wifiTxPowerMap = new Map<string, number>([
['Default', 80],
['19.5dBm', 78], // 19.5dBm
['19dBm', 76], // 19dBm
['18.5dBm', 74], // 18.5dBm
['17dBm', 68], // 17dBm
['15dBm', 60], // 15dBm
['13dBm', 52], // 13dBm
['11dBm', 44], // 11dBm
['8.5dBm', 34], // 8.5dBm
['7dBm', 28], // 7dBm
['5dBm', 20] // 5dBm
]);
const rowOptions = new Map<string, number>([
['BLOCKHEIGHT', 0],
['MEMPOOL_FEES', 1],
['MEMPOOL_FEES_MEDIAN', 2],
['HALVING_COUNTDOWN', 10],
['SATSPERUNIT', 20],
['FIATPRICE', 30],
['MARKETCAP', 40],
['TIME', 99],
['DATE', 100]
]);
const currencyOptions = ['USD', 'EUR', 'GBP', 'YEN'];
const dispatch = createEventDispatcher();
const handleReset = (e: Event) => {
e.preventDefault();
dispatch('formReset');
};
const onSave = async (e: Event) => {
e.preventDefault();
let formSettings = $settings;
delete formSettings['gitRev'];
delete formSettings['ip'];
delete formSettings['lastBuildTime'];
await fetch(`${PUBLIC_BASE_URL}/api/json/settings`, {
method: 'PATCH',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(formSettings)
})
.then(() => {
dispatch('showToast', {
color: 'success',
text: $_('section.settings.settingsSaved')
});
})
.catch(() => {
dispatch('showToast', {
color: 'danger',
text: $_('section.settings.errorSavingSettings')
});
});
};
</script>
<Col>
<Card>
<CardHeader>
<CardTitle>{$_('section.settings.title', { default: 'Settings' })}</CardTitle>
</CardHeader>
<CardBody>
<Form on:submit={onSave}>
<Row>
<Label md={6} for="fgColor" size="sm"
>{$_('section.settings.row1', { default: 'Row 1' })}</Label
>
<Col md="6">
<Input
type="select"
bind:value={$settings.row1}
name="select"
id="row1"
bsSize="sm"
class="form-select-sm"
>
{#each rowOptions as [key, value]}
<option {value}>{$_(`section.lines.${key}`)}</option>
{/each}
</Input>
</Col>
</Row>
<Row>
<Label md={6} for="fgColor" size="sm"
>{$_('section.settings.row2', { default: 'Row 2' })}</Label
>
<Col md="6">
<Input
type="select"
bind:value={$settings.row2}
name="select"
id="row2"
bsSize="sm"
class="form-select-sm"
>
{#each rowOptions as [key, value]}
<option {value}>{$_(`section.lines.${key}`)}</option>
{/each}
</Input>
</Col>
</Row>
<Row>
<Label md={6} for="row3" size="sm"
>{$_('section.settings.row3', { default: 'Row 3' })}</Label
>
<Col md="6">
<Input
type="select"
bind:value={$settings.row3}
name="select"
id="row3"
bsSize="sm"
class="form-select-sm"
>
{#each rowOptions as [key, value]}
<option {value}>{$_(`section.lines.${key}`)}</option>
{/each}
</Input>
</Col>
</Row>
<Row>
<Label md={6} for="currency" size="sm"
>{$_('section.settings.currency', { default: 'Currency' })}</Label
>
<Col md="6">
<Input
type="select"
bind:value={$settings.currency}
name="select"
id="currency"
bsSize="sm"
class="form-select-sm"
>
{#each currencyOptions as value}
<option {value}>{value}</option>
{/each}
</Input>
</Col>
</Row>
<Row>
<Label md={6} for="timeFormat" size="sm"
>{$_('section.settings.timeFormat', { default: 'Time format' })}</Label
>
<Col md="6">
<Input
type="text"
bind:value={$settings.timeFormat}
name="timeFormat"
id="timeFormat"
bsSize="sm"
maxlength="16"
></Input>
<FormText>{$_('section.settings.preview')}: {strftime($settings.timeFormat)}</FormText>
</Col>
</Row>
<Row>
<Label md={6} for="dateFormat" size="sm"
>{$_('section.settings.dateFormat', { default: 'Date format' })}</Label
>
<Col md="6">
<Input
type="text"
bind:value={$settings.dateFormat}
name="dateFormat"
id="dateFormat"
bsSize="sm"
maxlength="16"
></Input>
<FormText>{$_('section.settings.preview')}: {strftime($settings.dateFormat)}</FormText>
</Col>
</Row>
<Row>
<Label md={6} for="tzOffset" size="sm">{$_('section.settings.timezoneOffset')}</Label>
<Col md="6">
<InputGroup size="sm">
<Input
type="number"
step="1"
name="tzOffset"
id="tzOffset"
bind:value={$settings.timeOffsetMin}
/>
<InputGroupText>{$_('time.minutes')}</InputGroupText>
</InputGroup>
<FormText>{$_('section.settings.tzOffsetHelpText')}</FormText>
</Col>
</Row>
<Row>
<Label md={6} for="wifiTxPower" size="sm"
>{$_('section.settings.wifiTxPower', { default: 'WiFi Tx Power' })}</Label
>
<Col md="6">
<Input
type="select"
bind:value={$settings.txPower}
name="select"
id="fgColor"
bsSize="sm"
class="form-select-sm"
>
{#each wifiTxPowerMap as [key, value]}
<option {value}>{key}</option>
{/each}
</Input>
<FormText>{$_('section.settings.wifiTxPowerText')}</FormText>
</Col>
</Row>
<Row>
<Label md={6} for="mempoolInstance" size="sm"
>{$_('section.settings.mempoolnstance')}</Label
>
<Col md="6">
<Input
type="text"
bind:value={$settings.mempoolInstance}
name="mempoolInstance"
id="mempoolInstance"
bsSize="sm"
></Input>
</Col>
</Row>
<Button on:click={handleReset} color="secondary">{$_('button.reset')}</Button>
<Button color="primary">{$_('button.save')}</Button>
</Form>
</CardBody>
</Card>
</Col>

View file

@ -1,86 +0,0 @@
<script lang="ts">
import { _ } from 'svelte-i18n';
import { Card, CardBody, CardHeader, CardTitle, Col, Progress, Tooltip } from 'sveltestrap';
import Rendered from './Rendered.svelte';
import { writable } from 'svelte/store';
export let status: writable<object>;
const toTime = (secs: number) => {
var hours = Math.floor(secs / (60 * 60));
var divisor_for_minutes = secs % (60 * 60);
var minutes = Math.floor(divisor_for_minutes / 60);
var divisor_for_seconds = divisor_for_minutes % 60;
var seconds = Math.ceil(divisor_for_seconds);
var obj = {
h: hours,
m: minutes,
s: seconds
};
return obj;
};
const toUptimestring = (secs: number): string => {
let time = toTime(secs);
return `${time.h}h ${time.m}m ${time.s}s`;
};
let memoryFreePercent: number = 50;
let rssiPercent: number = 50;
let wifiStrengthColor: string = 'info';
status.subscribe((value: object) => {
memoryFreePercent = Math.round((value.espFreeHeap / value.espHeapSize) * 100);
rssiPercent = Math.round(((value.rssi + 120) / (-30 + 120)) * 100);
if (value.rssi > -55) {
wifiStrengthColor = 'success';
} else if (value.rssi < -87) {
wifiStrengthColor = 'warning';
} else {
wifiStrengthColor = 'info';
}
});
</script>
<Col>
<Card>
<CardHeader>
<CardTitle>{$_('section.status.title', { default: 'Status' })}</CardTitle>
</CardHeader>
<CardBody>
<section>
<Rendered status={$status}></Rendered>
</section>
<hr />
<Progress striped value={memoryFreePercent}>{memoryFreePercent}%</Progress>
<div class="d-flex justify-content-between">
<div>{$_('section.status.memoryFree')}</div>
<div>
{Math.round($status.espFreeHeap / 1024)} / {Math.round($status.espHeapSize / 1024)} KiB
</div>
</div>
<hr />
<Progress striped id="rssiBar" color={wifiStrengthColor} value={rssiPercent}
>{rssiPercent}%</Progress
>
<Tooltip target="rssiBar" placement="bottom">{$_('rssiBar.tooltip')}</Tooltip>
<div class="d-flex justify-content-between">
<div>{$_('section.status.wifiSignalStrength')}</div>
<div>
{$status.rssi} dBm
</div>
</div>
<hr />
{$_('section.status.uptime')}: {toUptimestring($status.espUptime)}
</CardBody>
</Card>
</Col>

3
src/shared.cpp Normal file
View file

@ -0,0 +1,3 @@
#include "shared.hpp"
volatile bool buttonPressed = false;

111
src/shared.hpp Normal file
View file

@ -0,0 +1,111 @@
#pragma once
#include <Arduino.h>
#include <WiFiClient.h>
#include <Preferences.h>
#include <GxEPD2.h>
#include <GxEPD2_BW.h>
#include "utils.hpp"
#include "fonts/fonts.hpp"
#include <FastLED.h>
#include <freertos/FreeRTOS.h>
#include <freertos/task.h>
#include <WiFi.h>
#ifdef VERSION_EPD_2_13
#define EPD_CLASS GxEPD2_213_B74
#define ROW1_FONT LibreFranklin_SemiBold12pt7b
#define ROW1_ICONFONT orangeclock_icons11pt7b
#define ROW1_ICONWIDTH 24
#define ROW2_FONT LibreFranklin_Bold20pt7b
#define ROW2_ICONFONT orangeclock_icons19pt7b
#define ROW2_ICONWIDTH 38
#define ROW3_FONT LibreFranklin_SemiBold15pt7b
#define ROW3_ICONFONT orangeclock_icons14pt7b
#define ROW3_ICONWIDTH 27
#define SETUPFONT LibreFranklin_SemiBold10pt7b
#endif
#ifdef VERSION_EPD_2_9
#define EPD_CLASS GxEPD2_290_T94
#define ROW1_FONT LibreFranklin_SemiBold15pt7b
#define ROW1_ICONFONT orangeclock_icons14pt7b
#define ROW1_ICONWIDTH 29
#define ROW2_FONT LibreFranklin_Bold25pt7b
#define ROW2_ICONFONT orangeclock_icons25pt7b
#define ROW2_ICONWIDTH 52
#define ROW3_FONT LibreFranklin_SemiBold15pt7b
#define ROW3_ICONFONT orangeclock_icons14pt7b
#define ROW3_ICONWIDTH 29
#define SETUPFONT LibreFranklin_SemiBold12pt7b
#endif
#define ICON_BLOCK 'A'
#define ICON_EURO 'B'
#define ICON_POUND 'C'
#define ICON_YEN 'D'
#define ICON_DOLLAR 'E'
#define ICON_PIE 'F'
#define ICON_GLOBE 'G'
#define ICON_HOURGLASS 'H'
#define ICON_LIGHTNING 'I'
#define ICON_REFRESH 'J'
#define ICON_NUCLEAR 'K'
#define ICON_SATS 'L'
#define ICON_SATUSD 'M'
#define ICON_SETTINGS 'N'
#define ICON_WIFI 'O'
#define ICON_CROSS 'P'
#define ICON_CHECK 'Q'
#define ICON_WARNING 'R'
#define SETTING_ROW1_CONTENT "row1"
#define SETTING_ROW2_CONTENT "row2"
#define SETTING_ROW3_CONTENT "row3"
#define SETTING_CURRENCY "currency"
#define SETTING_HOSTNAME_PREFIX "hostnamePrefix"
#define SETTING_MEMPOOL_INSTANCE "mempoolInstance"
#define SETTING_POWER_SAVE_MODE "powerSaveMode"
#define SETTING_TIME_OFFSET_MIN "timeOffsetMin"
#define SETTING_DECIMAL_SEPARATOR "decSeparator"
#define SETTING_TIME_FORMAT "timeFormat"
#define SETTING_DATE_FORMAT "dateFormat"
const int LINE_BLOCKHEIGHT = 0;
const int LINE_MEMPOOL_FEES = 1;
const int LINE_MEMPOOL_FEES_MEDIAN = 2;
const int LINE_HALVING_COUNTDOWN = 10;
const int LINE_SATSPERUNIT = 20;
const int LINE_FIATPRICE = 30;
const int LINE_MARKETCAP = 40;
const int LINE_TIME = 99;
const int LINE_DATE = 100;
#define CURRENCY_USD "USD"
#define CURRENCY_EUR "EUR"
#define CURRENCY_GBP "GBP"
#define CURRENCY_CAD "CAD"
#define CURRENCY_CHF "CHF"
#define CURRENCY_AUD "AUD"
#define CURRENCY_JPY "JPY"
extern WiFiClient client;
extern GxEPD2_BW<EPD_CLASS, EPD_CLASS::HEIGHT> display;
extern Preferences preferences;
extern bool isUpdating;
extern String currentRow1;
extern String currentRow2;
extern String currentRow3;
extern char currentIcon1;
extern char currentIcon2;
extern char currentIcon3;
#ifdef NUM_LEDS
extern CRGB leds[NUM_LEDS];
#endif
extern volatile bool buttonPressed;

32
src/utils.cpp Normal file
View file

@ -0,0 +1,32 @@
#include "utils.hpp"
String getAPPassword()
{
byte mac[6];
WiFi.macAddress(mac);
const char charset[] = "abcdefghjkmnpqrstuvwxyzABCDEFGHJKMNPQRSTUVWXYZ23456789";
char password[9]; // 8 characters + null terminator
snprintf(password, sizeof(password), "%c%c%c%c%c%c%c%c",
charset[mac[0] % (sizeof(charset) - 1)],
charset[mac[1] % (sizeof(charset) - 1)],
charset[mac[2] % (sizeof(charset) - 1)],
charset[mac[3] % (sizeof(charset) - 1)],
charset[mac[4] % (sizeof(charset) - 1)],
charset[mac[5] % (sizeof(charset) - 1)],
charset[(mac[0] + mac[1] + mac[2] + mac[3] + mac[4] + mac[5]) % (sizeof(charset) - 1)],
charset[(mac[0] * mac[1] * mac[2] * mac[3] * mac[4] * mac[5]) % (sizeof(charset) - 1)]);
return password;
}
String getMyHostname()
{
uint8_t mac[6];
// WiFi.macAddress(mac);
esp_efuse_mac_get_default(mac);
char hostname[15];
String hostnamePrefix = preferences.getString(SETTING_HOSTNAME_PREFIX);
snprintf(hostname, sizeof(hostname), "%s-%02x%02x%02x", hostnamePrefix,
mac[3], mac[4], mac[5]);
return hostname;
}

28
src/utils.hpp Normal file
View file

@ -0,0 +1,28 @@
#pragma once
#include <WiFi.h>
#include <Arduino.h>
#include <ArduinoJson.hpp>
#include "shared.hpp"
#include <esp_mac.h>
namespace ArduinoJson {
template <>
struct Converter<char> {
static void toJson(char c, JsonVariant var) {
var.set(static_cast<signed char>(c));
}
static char fromJson(JsonVariantConst src) {
return static_cast<char>(src.as<signed char>());
}
static bool checkJson(JsonVariantConst src) {
return src.is<signed char>();
}
};
}
String getAPPassword();
String getMyHostname();

206
src/webserver.cpp Normal file
View file

@ -0,0 +1,206 @@
#include "webserver.hpp"
#include <LittleFS.h>
AsyncWebServer server(80);
const String uintSettings[] = {SETTING_ROW1_CONTENT, SETTING_ROW2_CONTENT, SETTING_ROW3_CONTENT};
const String intSettings[] = {SETTING_TIME_OFFSET_MIN};
const String stringSettings[] = {SETTING_CURRENCY, SETTING_MEMPOOL_INSTANCE, SETTING_TIME_FORMAT, SETTING_DATE_FORMAT};
const String charSettings[] = {SETTING_DECIMAL_SEPARATOR};
const String boolSettings[] = {SETTING_POWER_SAVE_MODE};
void setupWebserver()
{
if (!LittleFS.begin(true))
{
Serial.println(F("An Error has occurred while mounting LittleFS"));
}
server.on("/api/status", HTTP_GET, onApiStatus);
server.on("/api/settings", HTTP_GET, onApiSettingsGet);
server.on("/api/restart", HTTP_GET, onApiRestart);
server.on("/api/full_refresh", HTTP_GET, onApiFullRefresh);
AsyncCallbackJsonWebHandler *settingsPatchHandler =
new AsyncCallbackJsonWebHandler("/api/json/settings", onApiSettingsPatch);
server.addHandler(settingsPatchHandler);
server.serveStatic("/build", LittleFS, "/build");
server.serveStatic("/fonts", LittleFS, "/fonts");
server.on("/", HTTP_GET, onIndex);
server.onNotFound(onNotFound);
DefaultHeaders::Instance().addHeader("Access-Control-Allow-Origin", "*");
DefaultHeaders::Instance().addHeader("Access-Control-Allow-Methods",
"GET, PATCH, POST, OPTIONS");
DefaultHeaders::Instance().addHeader("Access-Control-Allow-Headers", "*");
server.begin();
}
void onApiStatus(AsyncWebServerRequest *request)
{
JsonDocument root;
root["row1"] = currentRow1;
root["row2"] = currentRow2;
root["row3"] = currentRow3;
root["icon1"] = String(currentIcon1);
root["icon2"] = String(currentIcon2);
root["icon3"] = String(currentIcon3);
root["espUptime"] = esp_timer_get_time() / 1000000;
root["espFreeHeap"] = ESP.getFreeHeap();
root["espHeapSize"] = ESP.getHeapSize();
root["rssi"] = WiFi.RSSI();
AsyncResponseStream *response =
request->beginResponseStream("application/json");
serializeJson(root, *response);
request->send(response);
}
void onApiSettingsGet(AsyncWebServerRequest *request)
{
JsonDocument root;
for (String setting : uintSettings)
{
root[setting] = preferences.getUInt(setting.c_str());
}
for (String setting : intSettings)
{
root[setting] = preferences.getInt(setting.c_str());
}
for (String setting : stringSettings)
{
root[setting] = preferences.getString(setting.c_str());
}
for (String setting : charSettings)
{
root[setting] = preferences.getChar(setting.c_str());
}
for (String setting : boolSettings)
{
root[setting] = preferences.getBool(setting.c_str());
}
root["hostname"] = getMyHostname();
root["ip"] = WiFi.localIP();
root["txPower"] = WiFi.getTxPower();
#ifdef GIT_REV
root["gitRev"] = String(GIT_REV);
#endif
#ifdef LAST_BUILD_TIME
root["lastBuildTime"] = String(LAST_BUILD_TIME);
#endif
AsyncResponseStream *response =
request->beginResponseStream("application/json");
serializeJson(root, *response);
request->send(response);
}
void onApiSettingsPatch(AsyncWebServerRequest *request, JsonVariant &json)
{
JsonObject settings = json.as<JsonObject>();
for (String setting : uintSettings)
{
if (settings.containsKey(setting))
{
preferences.putUInt(setting.c_str(), settings[setting].as<uint>());
Serial.printf("Setting %s to %d\r\n", setting.c_str(),
settings[setting].as<uint>());
}
}
for (String setting : intSettings)
{
if (settings.containsKey(setting))
{
preferences.putInt(setting.c_str(), settings[setting].as<int>());
Serial.printf("Setting %s to %d\r\n", setting.c_str(),
settings[setting].as<uint>());
}
}
for (String setting : stringSettings)
{
if (settings.containsKey(setting))
{
preferences.putString(setting.c_str(), settings[setting].as<String>());
Serial.printf("Setting %s to %s\r\n", setting.c_str(),
settings[setting].as<String>());
}
}
for (String setting : charSettings)
{
if (settings.containsKey(setting))
{
preferences.putChar(setting.c_str(), settings[setting].as<char>());
Serial.printf("Setting %s to %s\r\n", setting.c_str(),
settings[setting].as<String>());
}
}
for (String setting : boolSettings)
{
if (settings.containsKey(setting))
{
preferences.putBool(setting.c_str(), settings[setting].as<boolean>());
Serial.printf("Setting %s to %d\r\n", setting.c_str(),
settings[setting].as<boolean>());
}
}
request->send(200);
}
void onIndex(AsyncWebServerRequest *request)
{
request->send(LittleFS, "/index.html", String(), false);
}
void onNotFound(AsyncWebServerRequest *request)
{
if (request->method() == HTTP_OPTIONS ||
request->hasHeader("Sec-Fetch-Mode"))
{
// Serial.printf("NotFound, Return[%d]\n", 200);
request->send(200);
}
else
{
// Serial.printf("NotFound, Return[%d]\n", 404);
request->send(404);
}
}
void onApiRestart(AsyncWebServerRequest *request) {
request->send(200);
delay(500);
esp_restart();
}
/**
* @Api
* @Path("/api/full_refresh")
*/
void onApiFullRefresh(AsyncWebServerRequest *request) {
display.refresh();
request->send(200);
}

20
src/webserver.hpp Normal file
View file

@ -0,0 +1,20 @@
#pragma once
// Keep order of includes because of conflicts
#include "ESPAsyncWebServer.h"
#include "AsyncJson.h"
#include <ArduinoJson.h>
#include <shared.hpp>
void setupWebserver();
void onApiStatus(AsyncWebServerRequest *request);
void onApiSettingsGet(AsyncWebServerRequest *request);
void onApiSettingsPatch(AsyncWebServerRequest *request, JsonVariant &json);
void onApiFullRefresh(AsyncWebServerRequest *request);
void onApiRestart(AsyncWebServerRequest *request);
void onIndex(AsyncWebServerRequest *request);
void onNotFound(AsyncWebServerRequest *request);

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1 KiB

View file

@ -1,16 +0,0 @@
<svg width="880" height="880" viewBox="0 0 880 880" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_1155_1603)">
<path fill-rule="evenodd" clip-rule="evenodd" d="M440 880C683.005 880 880 683.005 880 440C880 196.995 683.005 0 440 0C196.995 0 0 196.995 0 440C0 683.005 196.995 880 440 880ZM440 800C638.823 800 800 638.823 800 440C800 241.177 638.823 80 440 80C241.177 80 80 241.177 80 440C80 638.823 241.177 800 440 800Z" fill="white"/>
<path d="M384.654 124.773C379.12 135.649 376 147.96 376 161V341.57L246.453 212.787C238.19 204.573 238.639 191.014 247.953 184.016C287.432 154.35 333.997 133.605 384.654 124.773Z" fill="#F7931A"/>
<path d="M460.346 559.913L588.106 687.673C596.687 696.254 606.732 702.478 617.438 706.345C577.7 732.871 531.691 750.741 482.107 757.258C470.676 758.761 460.912 749.589 460.878 738.06L460.346 559.913Z" fill="#F7931A"/>
<path d="M420.878 738.173C420.912 749.703 411.201 758.933 399.76 757.498C342.678 750.336 290.273 728.139 246.635 694.996C237.423 687.999 236.969 674.558 245.124 666.354L386.098 524.535C398.66 511.899 420.229 520.758 420.282 538.576L420.878 738.173Z" fill="#F7931A"/>
<path d="M187.957 637.192C195.05 646.245 208.401 646.559 216.509 638.402L359.655 494.398C372.217 481.762 363.23 460.246 345.412 460.299L141.947 460.901C130.417 460.935 121.245 470.7 122.748 482.132C130.379 540.155 153.555 593.282 187.957 637.192Z" fill="#F7931A"/>
<path d="M122.503 399.785C121.069 411.225 130.298 420.935 141.828 420.901L350.018 420.285C367.836 420.232 376.695 398.663 364.059 386.101L217.396 240.303C209.297 232.252 196.062 232.571 188.974 241.524C153.633 286.161 129.944 340.447 122.503 399.785Z" fill="#F7931A"/>
<path d="M456 120C433.909 120 416 137.909 416 160V440C416 451.457 419.912 462.91 428.102 471.101L616.39 659.389C632.011 675.01 657.338 675.01 672.959 659.389C688.58 643.768 688.58 618.441 672.959 602.82L496 425.861V160C496 137.909 478.091 120 456 120Z" fill="white"/>
</g>
<defs>
<clipPath id="clip0_1155_1603">
<rect width="880" height="880" fill="white"/>
</clipPath>
</defs>
</svg>

Before

Width:  |  Height:  |  Size: 2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 996 B

View file

@ -1,16 +0,0 @@
<svg width="880" height="880" viewBox="0 0 880 880" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_1155_1587)">
<path fill-rule="evenodd" clip-rule="evenodd" d="M440 880C683.005 880 880 683.005 880 440C880 196.995 683.005 0 440 0C196.995 0 0 196.995 0 440C0 683.005 196.995 880 440 880ZM440 800C638.823 800 800 638.823 800 440C800 241.177 638.823 80 440 80C241.177 80 80 241.177 80 440C80 638.823 241.177 800 440 800Z" fill="black"/>
<path d="M384.654 124.773C379.12 135.649 376 147.96 376 161V341.57L246.453 212.787C238.19 204.573 238.639 191.014 247.953 184.016C287.432 154.35 333.997 133.605 384.654 124.773Z" fill="#F7931A"/>
<path d="M460.346 559.913L588.106 687.673C596.687 696.254 606.732 702.478 617.438 706.345C577.7 732.871 531.691 750.741 482.107 757.258C470.676 758.761 460.912 749.589 460.878 738.06L460.346 559.913Z" fill="#F7931A"/>
<path d="M420.878 738.173C420.912 749.703 411.201 758.933 399.76 757.498C342.678 750.336 290.273 728.139 246.635 694.996C237.423 687.999 236.969 674.558 245.124 666.354L386.098 524.535C398.66 511.899 420.229 520.758 420.282 538.576L420.878 738.173Z" fill="#F7931A"/>
<path d="M187.957 637.192C195.05 646.245 208.401 646.559 216.509 638.402L359.655 494.398C372.217 481.762 363.23 460.246 345.412 460.299L141.947 460.901C130.417 460.935 121.245 470.7 122.748 482.132C130.379 540.155 153.555 593.282 187.957 637.192Z" fill="#F7931A"/>
<path d="M122.503 399.785C121.069 411.225 130.298 420.935 141.828 420.901L350.018 420.285C367.836 420.232 376.695 398.663 364.059 386.101L217.396 240.303C209.297 232.252 196.062 232.571 188.974 241.524C153.633 286.161 129.944 340.447 122.503 399.785Z" fill="#F7931A"/>
<path d="M456 120C433.909 120 416 137.909 416 160V440C416 451.457 419.912 462.91 428.102 471.101L616.39 659.389C632.011 675.01 657.338 675.01 672.959 659.389C688.58 643.768 688.58 618.441 672.959 602.82L496 425.861V160C496 137.909 478.091 120 456 120Z" fill="black"/>
</g>
<defs>
<clipPath id="clip0_1155_1587">
<rect width="880" height="880" fill="white"/>
</clipPath>
</defs>
</svg>

Before

Width:  |  Height:  |  Size: 2 KiB

View file

@ -1,27 +0,0 @@
<svg width="5878" height="880" viewBox="0 0 5878 880" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_1155_1600)">
<path d="M5548.98 621.002L5552.48 462.102L5707.18 311.602H5864.68L5693.18 488.702L5625.28 543.302L5548.98 621.002ZM5438.38 691.002V171.602H5571.38V691.002H5438.38ZM5716.98 691.002L5600.78 545.402L5683.38 443.202L5877.98 691.002H5716.98Z" fill="white"/>
<path d="M5211.87 697.302C5169.87 697.302 5132.31 688.902 5099.17 672.102C5066.51 655.302 5040.84 632.202 5022.17 602.802C5003.51 572.935 4994.17 538.868 4994.17 500.602C4994.17 462.335 5003.51 428.502 5022.17 399.102C5040.84 369.702 5066.51 346.835 5099.17 330.502C5132.31 313.702 5169.87 305.302 5211.87 305.302C5254.81 305.302 5291.91 314.402 5323.17 332.602C5354.44 350.802 5376.61 376.468 5389.67 409.602L5286.77 462.102C5277.91 444.368 5266.94 431.535 5253.87 423.602C5240.81 415.202 5226.57 411.002 5211.17 411.002C5195.77 411.002 5181.77 414.502 5169.17 421.502C5156.57 428.502 5146.54 438.768 5139.07 452.302C5132.07 465.368 5128.57 481.468 5128.57 500.602C5128.57 520.202 5132.07 536.768 5139.07 550.302C5146.54 563.835 5156.57 574.102 5169.17 581.102C5181.77 588.102 5195.77 591.602 5211.17 591.602C5226.57 591.602 5240.81 587.635 5253.87 579.702C5266.94 571.302 5277.91 558.235 5286.77 540.502L5389.67 593.002C5376.61 626.135 5354.44 651.802 5323.17 670.002C5291.91 688.202 5254.81 697.302 5211.87 697.302Z" fill="white"/>
<path d="M4742.16 697.302C4700.63 697.302 4663.76 688.902 4631.56 672.102C4599.36 655.302 4573.93 632.202 4555.26 602.802C4537.06 572.935 4527.96 538.868 4527.96 500.602C4527.96 462.335 4537.06 428.502 4555.26 399.102C4573.93 369.702 4599.36 346.835 4631.56 330.502C4663.76 313.702 4700.63 305.302 4742.16 305.302C4783.7 305.302 4820.56 313.702 4852.76 330.502C4885.43 346.835 4910.86 369.702 4929.06 399.102C4947.26 428.502 4956.36 462.335 4956.36 500.602C4956.36 538.868 4947.26 572.935 4929.06 602.802C4910.86 632.202 4885.43 655.302 4852.76 672.102C4820.56 688.902 4783.7 697.302 4742.16 697.302ZM4742.16 591.602C4757.56 591.602 4771.1 588.102 4782.76 581.102C4794.9 574.102 4804.46 563.835 4811.46 550.302C4818.46 536.302 4821.96 519.735 4821.96 500.602C4821.96 481.468 4818.46 465.368 4811.46 452.302C4804.46 438.768 4794.9 428.502 4782.76 421.502C4771.1 414.502 4757.56 411.002 4742.16 411.002C4727.23 411.002 4713.7 414.502 4701.56 421.502C4689.9 428.502 4680.33 438.768 4672.86 452.302C4665.86 465.368 4662.36 481.468 4662.36 500.602C4662.36 519.735 4665.86 536.302 4672.86 550.302C4680.33 563.835 4689.9 574.102 4701.56 581.102C4713.7 588.102 4727.23 591.602 4742.16 591.602Z" fill="white"/>
<path d="M4332.33 691.002V171.602H4465.33V691.002H4332.33Z" fill="white"/>
<path d="M4066.13 700.802C4027.4 700.802 3991.47 694.735 3958.33 682.602C3925.67 670.002 3897.2 652.268 3872.93 629.402C3849.13 606.535 3830.47 579.702 3816.93 548.902C3803.4 517.635 3796.63 483.335 3796.63 446.002C3796.63 408.668 3803.4 374.602 3816.93 343.802C3830.47 312.535 3849.13 285.468 3872.93 262.602C3897.2 239.735 3925.67 222.235 3958.33 210.102C3991.47 197.502 4027.4 191.202 4066.13 191.202C4111.4 191.202 4151.77 199.135 4187.23 215.002C4223.17 230.868 4253.03 253.735 4276.83 283.602L4188.63 363.402C4172.77 344.735 4155.27 330.502 4136.13 320.702C4117.47 310.902 4096.47 306.002 4073.13 306.002C4053.07 306.002 4034.63 309.268 4017.83 315.802C4001.03 322.335 3986.57 331.902 3974.43 344.502C3962.77 356.635 3953.43 371.335 3946.43 388.602C3939.9 405.868 3936.63 425.002 3936.63 446.002C3936.63 467.002 3939.9 486.135 3946.43 503.402C3953.43 520.668 3962.77 535.602 3974.43 548.202C3986.57 560.335 4001.03 569.668 4017.83 576.202C4034.63 582.735 4053.07 586.002 4073.13 586.002C4096.47 586.002 4117.47 581.102 4136.13 571.302C4155.27 561.502 4172.77 547.268 4188.63 528.602L4276.83 608.402C4253.03 637.802 4223.17 660.668 4187.23 677.002C4151.77 692.868 4111.4 700.802 4066.13 700.802Z" fill="white"/>
<path d="M3565.21 697.302C3520.41 697.302 3481.21 688.902 3447.61 672.102C3414.48 654.835 3388.58 631.502 3369.91 602.102C3351.71 572.235 3342.61 538.402 3342.61 500.602C3342.61 462.802 3351.48 429.202 3369.21 399.802C3387.41 369.935 3412.38 346.835 3444.11 330.502C3475.84 313.702 3511.54 305.302 3551.21 305.302C3588.54 305.302 3622.61 313.002 3653.41 328.402C3684.21 343.335 3708.71 365.502 3726.91 394.902C3745.11 424.302 3754.21 460.002 3754.21 502.002C3754.21 506.668 3753.98 512.035 3753.51 518.102C3753.04 524.168 3752.58 529.768 3752.11 534.902H3451.81V464.902H3681.41L3631.01 484.502C3631.48 467.235 3628.21 452.302 3621.21 439.702C3614.68 427.102 3605.34 417.302 3593.21 410.302C3581.54 403.302 3567.78 399.802 3551.91 399.802C3536.04 399.802 3522.04 403.302 3509.91 410.302C3498.24 417.302 3489.14 427.335 3482.61 440.402C3476.08 453.002 3472.81 467.935 3472.81 485.202V505.502C3472.81 524.168 3476.54 540.268 3484.01 553.802C3491.94 567.335 3503.14 577.835 3517.61 585.302C3532.08 592.302 3549.34 595.802 3569.41 595.802C3588.08 595.802 3603.94 593.235 3617.01 588.102C3630.54 582.502 3643.84 574.102 3656.91 562.902L3726.91 635.702C3708.71 655.768 3686.31 671.168 3659.71 681.902C3633.11 692.168 3601.61 697.302 3565.21 697.302Z" fill="white"/>
<path d="M3058.36 833.102C3021.96 833.102 2987.19 828.902 2954.06 820.502C2921.39 812.102 2893.39 799.735 2870.06 783.402L2918.36 690.302C2934.22 702.902 2953.82 712.702 2977.16 719.702C3000.96 727.168 3024.06 730.902 3046.46 730.902C3082.39 730.902 3108.29 722.968 3124.16 707.102C3140.02 691.702 3147.96 669.068 3147.96 639.202V594.402L3154.96 488.002L3154.26 380.902V311.602H3280.96V621.702C3280.96 693.568 3261.59 746.768 3222.86 781.302C3184.12 815.835 3129.29 833.102 3058.36 833.102ZM3035.26 671.402C3001.66 671.402 2970.62 663.935 2942.16 649.002C2914.16 633.602 2891.52 612.368 2874.26 585.302C2857.46 557.768 2849.06 525.335 2849.06 488.002C2849.06 450.668 2857.46 418.468 2874.26 391.402C2891.52 363.868 2914.16 342.635 2942.16 327.702C2970.62 312.768 3001.66 305.302 3035.26 305.302C3067.46 305.302 3094.99 311.835 3117.86 324.902C3140.72 337.502 3157.99 357.335 3169.66 384.402C3181.79 411.468 3187.86 446.002 3187.86 488.002C3187.86 530.002 3181.79 564.535 3169.66 591.602C3157.99 618.668 3140.72 638.735 3117.86 651.802C3094.99 664.868 3067.46 671.402 3035.26 671.402ZM3066.76 565.702C3082.62 565.702 3096.62 562.435 3108.76 555.902C3121.36 549.368 3131.16 540.268 3138.16 528.602C3145.62 516.935 3149.36 503.402 3149.36 488.002C3149.36 472.602 3145.62 459.068 3138.16 447.402C3131.16 435.735 3121.36 426.868 3108.76 420.802C3096.62 414.268 3082.62 411.002 3066.76 411.002C3050.89 411.002 3036.66 414.268 3024.06 420.802C3011.46 426.868 3001.42 435.735 2993.96 447.402C2986.96 459.068 2983.46 472.602 2983.46 488.002C2983.46 503.402 2986.96 516.935 2993.96 528.602C3001.42 540.268 3011.46 549.368 3024.06 555.902C3036.66 562.435 3050.89 565.702 3066.76 565.702Z" fill="white"/>
<path d="M2627.77 305.302C2657.17 305.302 2683.77 311.368 2707.57 323.502C2731.37 335.168 2750.04 353.368 2763.57 378.102C2777.57 402.835 2784.57 434.802 2784.57 474.002V691.002H2651.57V495.702C2651.57 468.635 2645.97 449.035 2634.77 436.902C2624.04 424.302 2608.87 418.002 2589.27 418.002C2575.27 418.002 2562.44 421.268 2550.77 427.802C2539.1 433.868 2530 443.435 2523.47 456.502C2516.94 469.568 2513.67 486.602 2513.67 507.602V691.002H2380.67V311.602H2507.37V419.402L2482.87 387.902C2497.34 360.368 2517.17 339.835 2542.37 326.302C2567.57 312.302 2596.04 305.302 2627.77 305.302Z" fill="white"/>
<path d="M2172.82 691.002V620.302L2163.72 602.802V472.602C2163.72 451.602 2157.18 435.502 2144.12 424.302C2131.52 412.635 2111.22 406.802 2083.22 406.802C2065.02 406.802 2046.58 409.835 2027.92 415.902C2009.25 421.502 1993.38 429.435 1980.32 439.702L1935.52 349.402C1956.98 335.402 1982.65 324.668 2012.52 317.202C2042.85 309.268 2072.95 305.302 2102.82 305.302C2164.42 305.302 2212.02 319.535 2245.62 348.002C2279.68 376.002 2296.72 420.102 2296.72 480.302V691.002H2172.82ZM2060.82 697.302C2030.48 697.302 2004.82 692.168 1983.82 681.902C1962.82 671.635 1946.72 657.635 1935.52 639.902C1924.78 622.168 1919.42 602.335 1919.42 580.402C1919.42 557.068 1925.25 537.002 1936.92 520.202C1949.05 502.935 1967.48 489.868 1992.22 481.002C2016.95 471.668 2048.92 467.002 2088.12 467.002H2177.72V536.302H2106.32C2084.85 536.302 2069.68 539.802 2060.82 546.802C2052.42 553.802 2048.22 563.135 2048.22 574.802C2048.22 586.468 2052.65 595.802 2061.52 602.802C2070.38 609.802 2082.52 613.302 2097.92 613.302C2112.38 613.302 2125.45 609.802 2137.12 602.802C2149.25 595.335 2158.12 584.135 2163.72 569.202L2181.92 618.202C2174.92 644.335 2161.15 664.168 2140.62 677.702C2120.55 690.768 2093.95 697.302 2060.82 697.302Z" fill="white"/>
<path d="M1654.69 691.002V311.602H1781.39V422.202L1762.49 390.702C1773.69 362.235 1791.89 341.002 1817.09 327.002C1842.29 312.535 1872.86 305.302 1908.79 305.302V425.002C1902.73 424.068 1897.36 423.602 1892.69 423.602C1888.49 423.135 1883.83 422.902 1878.69 422.902C1851.63 422.902 1829.69 430.368 1812.89 445.302C1796.09 459.768 1787.69 483.568 1787.69 516.702V691.002H1654.69Z" fill="white"/>
<path d="M1316.1 700.802C1276.9 700.802 1240.73 694.502 1207.6 681.902C1174.47 669.302 1145.53 651.568 1120.8 628.702C1096.53 605.368 1077.63 578.302 1064.1 547.502C1050.57 516.702 1043.8 482.868 1043.8 446.002C1043.8 409.135 1050.57 375.302 1064.1 344.502C1077.63 313.702 1096.53 286.868 1120.8 264.002C1145.53 240.668 1174.47 222.702 1207.6 210.102C1240.73 197.502 1276.9 191.202 1316.1 191.202C1355.77 191.202 1391.93 197.502 1424.6 210.102C1457.73 222.702 1486.43 240.668 1510.7 264.002C1534.97 286.868 1553.87 313.702 1567.4 344.502C1581.4 375.302 1588.4 409.135 1588.4 446.002C1588.4 482.868 1581.4 516.935 1567.4 548.202C1553.87 579.002 1534.97 605.835 1510.7 628.702C1486.43 651.568 1457.73 669.302 1424.6 681.902C1391.93 694.502 1355.77 700.802 1316.1 700.802ZM1316.1 586.002C1334.77 586.002 1352.03 582.735 1367.9 576.202C1384.23 569.668 1398.23 560.335 1409.9 548.202C1422.03 535.602 1431.37 520.668 1437.9 503.402C1444.9 486.135 1448.4 467.002 1448.4 446.002C1448.4 424.535 1444.9 405.402 1437.9 388.602C1431.37 371.335 1422.03 356.635 1409.9 344.502C1398.23 331.902 1384.23 322.335 1367.9 315.802C1352.03 309.268 1334.77 306.002 1316.1 306.002C1297.43 306.002 1279.93 309.268 1263.6 315.802C1247.73 322.335 1233.73 331.902 1221.6 344.502C1209.93 356.635 1200.6 371.335 1193.6 388.602C1187.07 405.402 1183.8 424.535 1183.8 446.002C1183.8 467.002 1187.07 486.135 1193.6 503.402C1200.6 520.668 1209.93 535.602 1221.6 548.202C1233.73 560.335 1247.73 569.668 1263.6 576.202C1279.93 582.735 1297.43 586.002 1316.1 586.002Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M440 880C683.005 880 880 683.005 880 440C880 196.995 683.005 0 440 0C196.995 0 0 196.995 0 440C0 683.005 196.995 880 440 880ZM440 800C638.823 800 800 638.823 800 440C800 241.177 638.823 80 440 80C241.177 80 80 241.177 80 440C80 638.823 241.177 800 440 800Z" fill="white"/>
<path d="M384.654 124.773C379.12 135.649 376 147.96 376 161V341.57L246.453 212.787C238.19 204.573 238.639 191.014 247.953 184.016C287.432 154.35 333.997 133.605 384.654 124.773Z" fill="#F7931A"/>
<path d="M460.346 559.913L588.106 687.673C596.687 696.254 606.732 702.478 617.438 706.345C577.7 732.871 531.691 750.741 482.107 757.258C470.676 758.761 460.912 749.589 460.878 738.06L460.346 559.913Z" fill="#F7931A"/>
<path d="M420.878 738.173C420.912 749.703 411.201 758.933 399.76 757.498C342.678 750.336 290.273 728.139 246.635 694.996C237.423 687.999 236.969 674.558 245.124 666.354L386.098 524.535C398.66 511.899 420.229 520.758 420.282 538.576L420.878 738.173Z" fill="#F7931A"/>
<path d="M187.957 637.192C195.05 646.245 208.401 646.559 216.509 638.402L359.655 494.398C372.217 481.762 363.23 460.246 345.412 460.299L141.947 460.901C130.417 460.935 121.245 470.7 122.748 482.132C130.379 540.155 153.555 593.282 187.957 637.192Z" fill="#F7931A"/>
<path d="M122.503 399.785C121.069 411.225 130.298 420.935 141.828 420.901L350.018 420.285C367.836 420.232 376.695 398.663 364.059 386.101L217.396 240.303C209.297 232.252 196.062 232.571 188.974 241.524C153.633 286.161 129.944 340.447 122.503 399.785Z" fill="#F7931A"/>
<path d="M456 120C433.909 120 416 137.909 416 160V440C416 451.457 419.912 462.91 428.102 471.101L616.39 659.389C632.011 675.01 657.338 675.01 672.959 659.389C688.58 643.768 688.58 618.441 672.959 602.82L496 425.861V160C496 137.909 478.091 120 456 120Z" fill="white"/>
</g>
<defs>
<clipPath id="clip0_1155_1600">
<rect width="5878" height="880" fill="white"/>
</clipPath>
</defs>
</svg>

Before

Width:  |  Height:  |  Size: 12 KiB

View file

@ -1,27 +0,0 @@
<svg width="5878" height="880" viewBox="0 0 5878 880" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_1155_1589)">
<path d="M5548.98 621.002L5552.48 462.102L5707.18 311.602H5864.68L5693.18 488.702L5625.28 543.302L5548.98 621.002ZM5438.38 691.002V171.602H5571.38V691.002H5438.38ZM5716.98 691.002L5600.78 545.402L5683.38 443.202L5877.98 691.002H5716.98Z" fill="black"/>
<path d="M5211.87 697.302C5169.87 697.302 5132.31 688.902 5099.17 672.102C5066.51 655.302 5040.84 632.202 5022.17 602.802C5003.51 572.935 4994.17 538.868 4994.17 500.602C4994.17 462.335 5003.51 428.502 5022.17 399.102C5040.84 369.702 5066.51 346.835 5099.17 330.502C5132.31 313.702 5169.87 305.302 5211.87 305.302C5254.81 305.302 5291.91 314.402 5323.17 332.602C5354.44 350.802 5376.61 376.468 5389.67 409.602L5286.77 462.102C5277.91 444.368 5266.94 431.535 5253.87 423.602C5240.81 415.202 5226.57 411.002 5211.17 411.002C5195.77 411.002 5181.77 414.502 5169.17 421.502C5156.57 428.502 5146.54 438.768 5139.07 452.302C5132.07 465.368 5128.57 481.468 5128.57 500.602C5128.57 520.202 5132.07 536.768 5139.07 550.302C5146.54 563.835 5156.57 574.102 5169.17 581.102C5181.77 588.102 5195.77 591.602 5211.17 591.602C5226.57 591.602 5240.81 587.635 5253.87 579.702C5266.94 571.302 5277.91 558.235 5286.77 540.502L5389.67 593.002C5376.61 626.135 5354.44 651.802 5323.17 670.002C5291.91 688.202 5254.81 697.302 5211.87 697.302Z" fill="black"/>
<path d="M4742.16 697.302C4700.63 697.302 4663.76 688.902 4631.56 672.102C4599.36 655.302 4573.93 632.202 4555.26 602.802C4537.06 572.935 4527.96 538.868 4527.96 500.602C4527.96 462.335 4537.06 428.502 4555.26 399.102C4573.93 369.702 4599.36 346.835 4631.56 330.502C4663.76 313.702 4700.63 305.302 4742.16 305.302C4783.7 305.302 4820.56 313.702 4852.76 330.502C4885.43 346.835 4910.86 369.702 4929.06 399.102C4947.26 428.502 4956.36 462.335 4956.36 500.602C4956.36 538.868 4947.26 572.935 4929.06 602.802C4910.86 632.202 4885.43 655.302 4852.76 672.102C4820.56 688.902 4783.7 697.302 4742.16 697.302ZM4742.16 591.602C4757.56 591.602 4771.1 588.102 4782.76 581.102C4794.9 574.102 4804.46 563.835 4811.46 550.302C4818.46 536.302 4821.96 519.735 4821.96 500.602C4821.96 481.468 4818.46 465.368 4811.46 452.302C4804.46 438.768 4794.9 428.502 4782.76 421.502C4771.1 414.502 4757.56 411.002 4742.16 411.002C4727.23 411.002 4713.7 414.502 4701.56 421.502C4689.9 428.502 4680.33 438.768 4672.86 452.302C4665.86 465.368 4662.36 481.468 4662.36 500.602C4662.36 519.735 4665.86 536.302 4672.86 550.302C4680.33 563.835 4689.9 574.102 4701.56 581.102C4713.7 588.102 4727.23 591.602 4742.16 591.602Z" fill="black"/>
<path d="M4332.33 691.002V171.602H4465.33V691.002H4332.33Z" fill="black"/>
<path d="M4066.13 700.802C4027.4 700.802 3991.47 694.735 3958.33 682.602C3925.67 670.002 3897.2 652.268 3872.93 629.402C3849.13 606.535 3830.47 579.702 3816.93 548.902C3803.4 517.635 3796.63 483.335 3796.63 446.002C3796.63 408.668 3803.4 374.602 3816.93 343.802C3830.47 312.535 3849.13 285.468 3872.93 262.602C3897.2 239.735 3925.67 222.235 3958.33 210.102C3991.47 197.502 4027.4 191.202 4066.13 191.202C4111.4 191.202 4151.77 199.135 4187.23 215.002C4223.17 230.868 4253.03 253.735 4276.83 283.602L4188.63 363.402C4172.77 344.735 4155.27 330.502 4136.13 320.702C4117.47 310.902 4096.47 306.002 4073.13 306.002C4053.07 306.002 4034.63 309.268 4017.83 315.802C4001.03 322.335 3986.57 331.902 3974.43 344.502C3962.77 356.635 3953.43 371.335 3946.43 388.602C3939.9 405.868 3936.63 425.002 3936.63 446.002C3936.63 467.002 3939.9 486.135 3946.43 503.402C3953.43 520.668 3962.77 535.602 3974.43 548.202C3986.57 560.335 4001.03 569.668 4017.83 576.202C4034.63 582.735 4053.07 586.002 4073.13 586.002C4096.47 586.002 4117.47 581.102 4136.13 571.302C4155.27 561.502 4172.77 547.268 4188.63 528.602L4276.83 608.402C4253.03 637.802 4223.17 660.668 4187.23 677.002C4151.77 692.868 4111.4 700.802 4066.13 700.802Z" fill="black"/>
<path d="M3565.21 697.302C3520.41 697.302 3481.21 688.902 3447.61 672.102C3414.48 654.835 3388.58 631.502 3369.91 602.102C3351.71 572.235 3342.61 538.402 3342.61 500.602C3342.61 462.802 3351.48 429.202 3369.21 399.802C3387.41 369.935 3412.38 346.835 3444.11 330.502C3475.84 313.702 3511.54 305.302 3551.21 305.302C3588.54 305.302 3622.61 313.002 3653.41 328.402C3684.21 343.335 3708.71 365.502 3726.91 394.902C3745.11 424.302 3754.21 460.002 3754.21 502.002C3754.21 506.668 3753.98 512.035 3753.51 518.102C3753.04 524.168 3752.58 529.768 3752.11 534.902H3451.81V464.902H3681.41L3631.01 484.502C3631.48 467.235 3628.21 452.302 3621.21 439.702C3614.68 427.102 3605.34 417.302 3593.21 410.302C3581.54 403.302 3567.78 399.802 3551.91 399.802C3536.04 399.802 3522.04 403.302 3509.91 410.302C3498.24 417.302 3489.14 427.335 3482.61 440.402C3476.08 453.002 3472.81 467.935 3472.81 485.202V505.502C3472.81 524.168 3476.54 540.268 3484.01 553.802C3491.94 567.335 3503.14 577.835 3517.61 585.302C3532.08 592.302 3549.34 595.802 3569.41 595.802C3588.08 595.802 3603.94 593.235 3617.01 588.102C3630.54 582.502 3643.84 574.102 3656.91 562.902L3726.91 635.702C3708.71 655.768 3686.31 671.168 3659.71 681.902C3633.11 692.168 3601.61 697.302 3565.21 697.302Z" fill="black"/>
<path d="M3058.36 833.102C3021.96 833.102 2987.19 828.902 2954.06 820.502C2921.39 812.102 2893.39 799.735 2870.06 783.402L2918.36 690.302C2934.22 702.902 2953.82 712.702 2977.16 719.702C3000.96 727.168 3024.06 730.902 3046.46 730.902C3082.39 730.902 3108.29 722.968 3124.16 707.102C3140.02 691.702 3147.96 669.068 3147.96 639.202V594.402L3154.96 488.002L3154.26 380.902V311.602H3280.96V621.702C3280.96 693.568 3261.59 746.768 3222.86 781.302C3184.12 815.835 3129.29 833.102 3058.36 833.102ZM3035.26 671.402C3001.66 671.402 2970.62 663.935 2942.16 649.002C2914.16 633.602 2891.52 612.368 2874.26 585.302C2857.46 557.768 2849.06 525.335 2849.06 488.002C2849.06 450.668 2857.46 418.468 2874.26 391.402C2891.52 363.868 2914.16 342.635 2942.16 327.702C2970.62 312.768 3001.66 305.302 3035.26 305.302C3067.46 305.302 3094.99 311.835 3117.86 324.902C3140.72 337.502 3157.99 357.335 3169.66 384.402C3181.79 411.468 3187.86 446.002 3187.86 488.002C3187.86 530.002 3181.79 564.535 3169.66 591.602C3157.99 618.668 3140.72 638.735 3117.86 651.802C3094.99 664.868 3067.46 671.402 3035.26 671.402ZM3066.76 565.702C3082.62 565.702 3096.62 562.435 3108.76 555.902C3121.36 549.368 3131.16 540.268 3138.16 528.602C3145.62 516.935 3149.36 503.402 3149.36 488.002C3149.36 472.602 3145.62 459.068 3138.16 447.402C3131.16 435.735 3121.36 426.868 3108.76 420.802C3096.62 414.268 3082.62 411.002 3066.76 411.002C3050.89 411.002 3036.66 414.268 3024.06 420.802C3011.46 426.868 3001.42 435.735 2993.96 447.402C2986.96 459.068 2983.46 472.602 2983.46 488.002C2983.46 503.402 2986.96 516.935 2993.96 528.602C3001.42 540.268 3011.46 549.368 3024.06 555.902C3036.66 562.435 3050.89 565.702 3066.76 565.702Z" fill="black"/>
<path d="M2627.77 305.302C2657.17 305.302 2683.77 311.368 2707.57 323.502C2731.37 335.168 2750.04 353.368 2763.57 378.102C2777.57 402.835 2784.57 434.802 2784.57 474.002V691.002H2651.57V495.702C2651.57 468.635 2645.97 449.035 2634.77 436.902C2624.04 424.302 2608.87 418.002 2589.27 418.002C2575.27 418.002 2562.44 421.268 2550.77 427.802C2539.1 433.868 2530 443.435 2523.47 456.502C2516.94 469.568 2513.67 486.602 2513.67 507.602V691.002H2380.67V311.602H2507.37V419.402L2482.87 387.902C2497.34 360.368 2517.17 339.835 2542.37 326.302C2567.57 312.302 2596.04 305.302 2627.77 305.302Z" fill="black"/>
<path d="M2172.82 691.002V620.302L2163.72 602.802V472.602C2163.72 451.602 2157.18 435.502 2144.12 424.302C2131.52 412.635 2111.22 406.802 2083.22 406.802C2065.02 406.802 2046.58 409.835 2027.92 415.902C2009.25 421.502 1993.38 429.435 1980.32 439.702L1935.52 349.402C1956.98 335.402 1982.65 324.668 2012.52 317.202C2042.85 309.268 2072.95 305.302 2102.82 305.302C2164.42 305.302 2212.02 319.535 2245.62 348.002C2279.68 376.002 2296.72 420.102 2296.72 480.302V691.002H2172.82ZM2060.82 697.302C2030.48 697.302 2004.82 692.168 1983.82 681.902C1962.82 671.635 1946.72 657.635 1935.52 639.902C1924.78 622.168 1919.42 602.335 1919.42 580.402C1919.42 557.068 1925.25 537.002 1936.92 520.202C1949.05 502.935 1967.48 489.868 1992.22 481.002C2016.95 471.668 2048.92 467.002 2088.12 467.002H2177.72V536.302H2106.32C2084.85 536.302 2069.68 539.802 2060.82 546.802C2052.42 553.802 2048.22 563.135 2048.22 574.802C2048.22 586.468 2052.65 595.802 2061.52 602.802C2070.38 609.802 2082.52 613.302 2097.92 613.302C2112.38 613.302 2125.45 609.802 2137.12 602.802C2149.25 595.335 2158.12 584.135 2163.72 569.202L2181.92 618.202C2174.92 644.335 2161.15 664.168 2140.62 677.702C2120.55 690.768 2093.95 697.302 2060.82 697.302Z" fill="black"/>
<path d="M1654.69 691.002V311.602H1781.39V422.202L1762.49 390.702C1773.69 362.235 1791.89 341.002 1817.09 327.002C1842.29 312.535 1872.86 305.302 1908.79 305.302V425.002C1902.73 424.068 1897.36 423.602 1892.69 423.602C1888.49 423.135 1883.83 422.902 1878.69 422.902C1851.63 422.902 1829.69 430.368 1812.89 445.302C1796.09 459.768 1787.69 483.568 1787.69 516.702V691.002H1654.69Z" fill="black"/>
<path d="M1316.1 700.802C1276.9 700.802 1240.73 694.502 1207.6 681.902C1174.47 669.302 1145.53 651.568 1120.8 628.702C1096.53 605.368 1077.63 578.302 1064.1 547.502C1050.57 516.702 1043.8 482.868 1043.8 446.002C1043.8 409.135 1050.57 375.302 1064.1 344.502C1077.63 313.702 1096.53 286.868 1120.8 264.002C1145.53 240.668 1174.47 222.702 1207.6 210.102C1240.73 197.502 1276.9 191.202 1316.1 191.202C1355.77 191.202 1391.93 197.502 1424.6 210.102C1457.73 222.702 1486.43 240.668 1510.7 264.002C1534.97 286.868 1553.87 313.702 1567.4 344.502C1581.4 375.302 1588.4 409.135 1588.4 446.002C1588.4 482.868 1581.4 516.935 1567.4 548.202C1553.87 579.002 1534.97 605.835 1510.7 628.702C1486.43 651.568 1457.73 669.302 1424.6 681.902C1391.93 694.502 1355.77 700.802 1316.1 700.802ZM1316.1 586.002C1334.77 586.002 1352.03 582.735 1367.9 576.202C1384.23 569.668 1398.23 560.335 1409.9 548.202C1422.03 535.602 1431.37 520.668 1437.9 503.402C1444.9 486.135 1448.4 467.002 1448.4 446.002C1448.4 424.535 1444.9 405.402 1437.9 388.602C1431.37 371.335 1422.03 356.635 1409.9 344.502C1398.23 331.902 1384.23 322.335 1367.9 315.802C1352.03 309.268 1334.77 306.002 1316.1 306.002C1297.43 306.002 1279.93 309.268 1263.6 315.802C1247.73 322.335 1233.73 331.902 1221.6 344.502C1209.93 356.635 1200.6 371.335 1193.6 388.602C1187.07 405.402 1183.8 424.535 1183.8 446.002C1183.8 467.002 1187.07 486.135 1193.6 503.402C1200.6 520.668 1209.93 535.602 1221.6 548.202C1233.73 560.335 1247.73 569.668 1263.6 576.202C1279.93 582.735 1297.43 586.002 1316.1 586.002Z" fill="black"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M440 880C683.005 880 880 683.005 880 440C880 196.995 683.005 0 440 0C196.995 0 0 196.995 0 440C0 683.005 196.995 880 440 880ZM440 800C638.823 800 800 638.823 800 440C800 241.177 638.823 80 440 80C241.177 80 80 241.177 80 440C80 638.823 241.177 800 440 800Z" fill="black"/>
<path d="M384.654 124.773C379.12 135.649 376 147.96 376 161V341.57L246.453 212.787C238.19 204.573 238.639 191.014 247.953 184.016C287.432 154.35 333.997 133.605 384.654 124.773Z" fill="#F7931A"/>
<path d="M460.346 559.913L588.106 687.673C596.687 696.254 606.732 702.478 617.438 706.345C577.7 732.871 531.691 750.741 482.107 757.258C470.676 758.761 460.912 749.589 460.878 738.06L460.346 559.913Z" fill="#F7931A"/>
<path d="M420.878 738.173C420.912 749.703 411.201 758.933 399.76 757.498C342.678 750.336 290.273 728.139 246.635 694.996C237.423 687.999 236.969 674.558 245.124 666.354L386.098 524.535C398.66 511.899 420.229 520.758 420.282 538.576L420.878 738.173Z" fill="#F7931A"/>
<path d="M187.957 637.192C195.05 646.245 208.401 646.559 216.509 638.402L359.655 494.398C372.217 481.762 363.23 460.246 345.412 460.299L141.947 460.901C130.417 460.935 121.245 470.7 122.748 482.132C130.379 540.155 153.555 593.282 187.957 637.192Z" fill="#F7931A"/>
<path d="M122.503 399.785C121.069 411.225 130.298 420.935 141.828 420.901L350.018 420.285C367.836 420.232 376.695 398.663 364.059 386.101L217.396 240.303C209.297 232.252 196.062 232.571 188.974 241.524C153.633 286.161 129.944 340.447 122.503 399.785Z" fill="#F7931A"/>
<path d="M456 120C433.909 120 416 137.909 416 160V440C416 451.457 419.912 462.91 428.102 471.101L616.39 659.389C632.011 675.01 657.338 675.01 672.959 659.389C688.58 643.768 688.58 618.441 672.959 602.82L496 425.861V160C496 137.909 478.091 120 456 120Z" fill="black"/>
</g>
<defs>
<clipPath id="clip0_1155_1589">
<rect width="5878" height="880" fill="white"/>
</clipPath>
</defs>
</svg>

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Binary file not shown.

View file

@ -1,31 +0,0 @@
import adapter from '@sveltejs/adapter-static';
import preprocess from 'svelte-preprocess';
/** @type {import('@sveltejs/kit').Config} */
const config = {
// Consult https://kit.svelte.dev/docs/integrations#preprocessors
// for more information about preprocessors
preprocess: preprocess({}),
build: {
rollupOptions: {
output: {
assetFilenames: '[hash]'
}
}
},
kit: {
// adapter-auto only supports some environments, see https://kit.svelte.dev/docs/adapter-auto for a list.
// If your environment is not supported or you settled on a specific environment, switch out the adapter.
// See https://kit.svelte.dev/docs/adapters for more information about adapters.
adapter: adapter({
pages: 'dist',
assets: 'dist',
fallback: 'bundle.html',
precompress: false,
strict: true
}),
appDir: 'build'
}
};
export default config;

11
test/README Normal file
View file

@ -0,0 +1,11 @@
This directory is intended for PlatformIO Test Runner and project tests.
Unit Testing is a software testing method by which individual units of
source code, sets of one or more MCU program modules together with associated
control data, usage procedures, and operating procedures, are tested to
determine whether they are fit for use. Unit testing finds problems early
in the development cycle.
More information about PlatformIO Unit Testing:
- https://docs.platformio.org/en/latest/advanced/unit-testing/index.html

View file

@ -1,6 +0,0 @@
import { expect, test } from '@playwright/test';
test('index page has expected h1', async ({ page }) => {
await page.goto('/');
await expect(page.getByRole('heading', { name: 'Welcome to SvelteKit' })).toBeVisible();
});

View file

@ -1,18 +0,0 @@
{
"extends": "./.svelte-kit/tsconfig.json",
"compilerOptions": {
"allowJs": true,
"checkJs": true,
"esModuleInterop": true,
"forceConsistentCasingInFileNames": true,
"resolveJsonModule": true,
"skipLibCheck": true,
"sourceMap": true,
"strict": true,
"moduleResolution": "bundler"
}
// Path aliases are handled by https://kit.svelte.dev/docs/configuration#alias
//
// If you want to overwrite includes/excludes, make sure to copy over the relevant includes/excludes
// from the referenced tsconfig.json - TypeScript does not merge them in
}

View file

@ -1,19 +0,0 @@
import { sveltekit } from '@sveltejs/kit/vite';
import { defineConfig } from 'vitest/config';
export default defineConfig({
plugins: [sveltekit()],
build: {
minify: true,
cssCodeSplit: false,
rollupOptions: {
output: {
manualChunks: () => 'app',
assetFileNames: '[name][extname]'
}
}
},
test: {
include: ['src/**/*.{test,spec}.{js,ts}']
}
});

2574
yarn.lock

File diff suppressed because it is too large Load diff