Merge branch 'espruino:master' into master

master
eleanor 2023-03-28 08:29:49 -05:00 committed by GitHub
commit c096e067cc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
104 changed files with 2597 additions and 584 deletions

View File

@ -41,3 +41,6 @@
0.38: Display date in locale
When switching 'repeat' from 'Workdays', 'Weekends' to 'Custom' preset Custom menu with previous selection
Display alarm label in delete prompt
0.39: Dated event repeat option
0.40: Use substring of message when it's longer than fits the designated menu entry.
0.41: Fix a menu bug affecting alarms with empty messages.

View File

@ -13,6 +13,7 @@ It uses the [`sched` library](https://github.com/espruino/BangleApps/blob/master
- `Repeat` → Select when the alarm will fire. You can select a predefined option (_Once_, _Every Day_, _Workdays_ or _Weekends_ or you can configure the days freely)
- `New Timer` → Configure a new timer (triggered based on amount of time elapsed in hours/minutes/seconds)
- `New Event` → Configure a new event (triggered based on time and date)
- `Repeat` → Alarm can be be fired only once or repeated (every X number of _days_, _weeks_, _months_ or _years_)
- `Advanced`
- `Scheduler settings` → Open the [Scheduler](https://github.com/espruino/BangleApps/tree/master/apps/sched) settings page, see its [README](https://github.com/espruino/BangleApps/blob/master/apps/sched/README.md) for details
- `Enable All` → Enable _all_ disabled alarms & timers

View File

@ -3,9 +3,11 @@ Bangle.drawWidgets();
// 0 = Sunday (default), 1 = Monday
const firstDayOfWeek = (require("Storage").readJSON("setting.json", true) || {}).firstDayOfWeek || 0;
const WORKDAYS = 62
const WORKDAYS = 62;
const WEEKEND = firstDayOfWeek ? 192 : 65;
const EVERY_DAY = firstDayOfWeek ? 254 : 127;
const INTERVALS = ["day", "week", "month", "year"];
const INTERVAL_LABELS = [/*LANG*/"Day", /*LANG*/"Week", /*LANG*/"Month", /*LANG*/"Year"];
const iconAlarmOn = "\0" + atob("GBiBAAAAAAAAAAYAYA4AcBx+ODn/nAP/wAf/4A/n8A/n8B/n+B/n+B/n+B/n+B/h+B/4+A/+8A//8Af/4AP/wAH/gAB+AAAAAAAAAA==");
const iconAlarmOff = "\0" + (g.theme.dark
@ -44,8 +46,24 @@ function getLabel(e) {
const dateStr = e.date && require("locale").date(new Date(e.date), 1);
return (e.timer
? require("time_utils").formatDuration(e.timer)
: (dateStr ? `${dateStr} ${require("time_utils").formatTime(e.t)}` : require("time_utils").formatTime(e.t) + (e.rp ? ` ${decodeDOW(e)}` : ""))
) + (e.msg ? " " + e.msg : "");
: (dateStr ? `${dateStr}${e.rp?"*":""} ${require("time_utils").formatTime(e.t)}` : require("time_utils").formatTime(e.t) + (e.rp ? ` ${decodeRepeat(e)}` : ""))
) + (e.msg ? ` ${e.msg}` : "");
}
function trimLabel(label, maxLength) {
return (label.length > maxLength
? label.substring(0,maxLength-3) + "..."
: label.substring(0,maxLength));
}
function formatAlarmMessage(msg) {
if (msg == null) {
return msg;
} else if (msg.length > 7) {
return msg.substring(0,6)+"...";
} else {
return msg.substring(0,7);
}
}
function showMainMenu() {
@ -56,7 +74,7 @@ function showMainMenu() {
};
alarms.forEach((e, index) => {
menu[getLabel(e)] = {
menu[trimLabel(getLabel(e),40)] = {
value: e.on ? (e.timer ? iconTimerOn : iconAlarmOn) : (e.timer ? iconTimerOff : iconAlarmOff),
onchange: () => setTimeout(e.timer ? showEditTimerMenu : showEditAlarmMenu, 10, e, index)
};
@ -137,6 +155,7 @@ function showEditAlarmMenu(selectedAlarm, alarmIndex, withDate) {
},
/*LANG*/"Message": {
value: alarm.msg,
format: formatAlarmMessage,
onchange: () => {
setTimeout(() => {
keyboard.input({text:alarm.msg}).then(result => {
@ -152,8 +171,8 @@ function showEditAlarmMenu(selectedAlarm, alarmIndex, withDate) {
onchange: v => alarm.on = v
},
/*LANG*/"Repeat": {
value: decodeDOW(alarm),
onchange: () => setTimeout(showEditRepeatMenu, 100, alarm.rp, alarm.dow, (repeat, dow) => {
value: decodeRepeat(alarm),
onchange: () => setTimeout(showEditRepeatMenu, 100, alarm.rp, date || alarm.dow, (repeat, dow) => {
alarm.rp = repeat;
alarm.dow = dow;
prepareAlarmForSave(alarm, alarmIndex, time, date, true);
@ -178,9 +197,7 @@ function showEditAlarmMenu(selectedAlarm, alarmIndex, withDate) {
};
if (!keyboard) delete menu[/*LANG*/"Message"];
if (alarm.date || withDate) {
delete menu[/*LANG*/"Repeat"];
} else {
if (!alarm.date) {
delete menu[/*LANG*/"Day"];
delete menu[/*LANG*/"Month"];
delete menu[/*LANG*/"Year"];
@ -229,49 +246,77 @@ function saveAndReload() {
alarms.filter(e => e.timer === undefined).forEach(a => a.dow = handleFirstDayOfWeek(a.dow));
}
function decodeDOW(alarm) {
function decodeRepeat(alarm) {
return alarm.rp
? require("date_utils")
.dows(firstDayOfWeek, 2)
.map((day, index) => alarm.dow & (1 << (index + firstDayOfWeek)) ? day : "_")
.join("")
.toLowerCase()
: /*LANG*/"Once"
? (alarm.date
? `${alarm.rp.num}*${INTERVAL_LABELS[INTERVALS.indexOf(alarm.rp.interval)]}`
: require("date_utils")
.dows(firstDayOfWeek, 2)
.map((day, index) => alarm.dow & (1 << (index + firstDayOfWeek)) ? day : "_")
.join("")
.toLowerCase())
: /*LANG*/"Once";
}
function showEditRepeatMenu(repeat, dow, dowChangeCallback) {
function showEditRepeatMenu(repeat, day, dowChangeCallback) {
var originalRepeat = repeat;
var originalDow = dow;
var isCustom = repeat && dow != WORKDAYS && dow != WEEKEND && dow != EVERY_DAY;
var dow;
const menu = {
"": { "title": /*LANG*/"Repeat Alarm" },
"< Back": () => dowChangeCallback(repeat, dow),
/*LANG*/"Once": {
/*LANG*/"Only Once": () => dowChangeCallback(false, EVERY_DAY)
// The alarm will fire once. Internally it will be saved
// as "fire every days" BUT the repeat flag is false so
// we avoid messing up with the scheduler.
value: !repeat,
onchange: () => dowChangeCallback(false, EVERY_DAY)
},
/*LANG*/"Workdays": {
value: repeat && dow == WORKDAYS,
onchange: () => dowChangeCallback(true, WORKDAYS)
},
/*LANG*/"Weekends": {
value: repeat && dow == WEEKEND,
onchange: () => dowChangeCallback(true, WEEKEND)
},
/*LANG*/"Every Day": {
value: repeat && dow == EVERY_DAY,
onchange: () => dowChangeCallback(true, EVERY_DAY)
},
/*LANG*/"Custom": {
value: isCustom ? decodeDOW({ rp: true, dow: dow }) : false,
onchange: () => setTimeout(showCustomDaysMenu, 10, dow, dowChangeCallback, originalRepeat, originalDow)
}
};
let restOfMenu;
if (typeof day === "number") {
dow = day;
var originalDow = dow;
var isCustom = repeat && dow != WORKDAYS && dow != WEEKEND && dow != EVERY_DAY;
restOfMenu = {
/*LANG*/"Workdays": {
value: repeat && dow == WORKDAYS,
onchange: () => dowChangeCallback(true, WORKDAYS)
},
/*LANG*/"Weekends": {
value: repeat && dow == WEEKEND,
onchange: () => dowChangeCallback(true, WEEKEND)
},
/*LANG*/"Every Day": {
value: repeat && dow == EVERY_DAY,
onchange: () => dowChangeCallback(true, EVERY_DAY)
},
/*LANG*/"Custom": {
value: isCustom ? decodeRepeat({ rp: true, dow: dow }) : false,
onchange: () => setTimeout(showCustomDaysMenu, 10, dow, dowChangeCallback, originalRepeat, originalDow)
}
};
} else {
// var date = day; // eventually: detect day of date and configure a repeat e.g. 3rd Monday of Month
dow = EVERY_DAY;
repeat = repeat || {interval: "month", num: 1};
restOfMenu = {
/*LANG*/"Every": {
value: repeat.num,
min: 1,
onchange: v => repeat.num = v
},
/*LANG*/"Interval": {
value: INTERVALS.indexOf(repeat.interval),
format: v => INTERVAL_LABELS[v],
min: 0,
max: INTERVALS.length - 1,
onchange: v => repeat.interval = INTERVALS[v]
}
};
}
Object.assign(menu, restOfMenu);
E.showMenu(menu);
}
@ -282,7 +327,7 @@ function showCustomDaysMenu(dow, dowChangeCallback, originalRepeat, originalDow)
// If the user unchecks all the days then we assume repeat = once
// and we force the dow to every day.
var repeat = dow > 0;
dowChangeCallback(repeat, repeat ? dow : EVERY_DAY)
dowChangeCallback(repeat, repeat ? dow : EVERY_DAY);
}
};
@ -293,7 +338,7 @@ function showCustomDaysMenu(dow, dowChangeCallback, originalRepeat, originalDow)
};
});
menu[/*LANG*/"Cancel"] = () => setTimeout(showEditRepeatMenu, 10, originalRepeat, originalDow, dowChangeCallback)
menu[/*LANG*/"Cancel"] = () => setTimeout(showEditRepeatMenu, 10, originalRepeat, originalDow, dowChangeCallback);
E.showMenu(menu);
}
@ -342,6 +387,7 @@ function showEditTimerMenu(selectedTimer, timerIndex) {
},
/*LANG*/"Message": {
value: timer.msg,
format: formatAlarmMessage,
onchange: () => {
setTimeout(() => {
keyboard.input({text:timer.msg}).then(result => {
@ -383,7 +429,7 @@ function showEditTimerMenu(selectedTimer, timerIndex) {
showMainMenu();
} else {
timer.timer = require("time_utils").encodeTime(time);
setTimeout(showEditTimerMenu, 10, timer, timerIndex)
setTimeout(showEditTimerMenu, 10, timer, timerIndex);
}
});
};
@ -430,9 +476,9 @@ function enableAll(on) {
alarm.on = on;
if (on) {
if (alarm.timer) {
prepareTimerForSave(alarm, i, require("time_utils").decodeTime(alarm.timer))
prepareTimerForSave(alarm, i, require("time_utils").decodeTime(alarm.timer));
} else {
prepareAlarmForSave(alarm, i, require("time_utils").decodeTime(alarm.t))
prepareAlarmForSave(alarm, i, require("time_utils").decodeTime(alarm.t));
}
}
});

View File

@ -2,7 +2,7 @@
"id": "alarm",
"name": "Alarms & Timers",
"shortName": "Alarms",
"version": "0.38",
"version": "0.41",
"description": "Set alarms and timers on your Bangle",
"icon": "app.png",
"tags": "tool,alarm",

View File

@ -6,6 +6,7 @@
"icon": "app.png",
"tags": "back,gesture,swipe",
"supports" : ["BANGLEJS2"],
"readme":"README.md",
"type": "bootloader",
"storage": [
{"name":"backswipe.boot.js","url":"boot.js"},

View File

@ -1,7 +1,7 @@
// ts helpers:
const __assign = Object.assign;
const Layout = require("Layout") as Layout_.Layout;
const Layout = require("Layout");
Bangle.loadWidgets();
Bangle.drawWidgets();

View File

@ -7,6 +7,7 @@
"icon": "icon.png",
"tags": "health,tool,sensors,bluetooth",
"supports": ["BANGLEJS2"],
"readme":"README.md",
"storage": [
{"name":"btadv.app.js","url":"app.js"},
{"name":"btadv.img","url":"icon.js","evaluate":true}

36
apps/bwclklite/ChangeLog Normal file
View File

@ -0,0 +1,36 @@
0.01: New App.
0.02: Use build in function for steps and other improvements.
0.03: Adapt colors based on the theme of the user.
0.04: Steps can be hidden now such that the time is even larger.
0.05: Included icons for information.
0.06: Design and usability improvements.
0.07: Improved positioning.
0.08: Select the color of widgets correctly. Additional settings to hide colon.
0.09: Larger font size if colon is hidden to improve readability further.
0.10: HomeAssistant integration if HomeAssistant is installed.
0.11: Performance improvements.
0.12: Implements a 2D menu.
0.13: Clicks < 24px are for widgets, if fullscreen mode is disabled.
0.14: Adds humidity to weather data.
0.15: Added option for a dynamic mode to show widgets only if unlocked.
0.16: You can now show your agenda if your calendar is synced with Gadgetbridge.
0.17: Fix - Step count was no more shown in the menu.
0.18: Set timer for an agenda entry by simply clicking in the middle of the screen. Only one timer can be set.
0.19: Fix - Compatibility with "Digital clock widget"
0.20: Better handling of async data such as getPressure.
0.21: On the default menu the week of year can be shown.
0.22: Use the new clkinfo module for the menu.
0.23: Feedback of apps after run is now optional and decided by the corresponding clkinfo.
0.24: Update clock_info to avoid a redraw
0.25: Use Bangle.setUI({remove:...}) to allow loading the launcher without a full reset on fw2v16.
ClockInfo Fix: Use .get instead of .show as .show is not implemented for weather etc.
0.26: Use clkinfo.addInteractive instead of a custom implementation
0.27: Clean out some leftovers in the remove function after switching to
clkinfo.addInteractive that would cause ReferenceError.
0.28: Option to show (1) time only and (2) week of year.
0.29: use setItem of clockInfoMenu to change the active item
0.30: Use widget_utils
0.31: Use clock_info module as an app
0.32: Diverge from BW Clock. Change out the custom font for a standard bitmap one to speed up loading times.
Remove invertion of theme as this doesn'twork very well with fastloading.
Do an quick inital fillRect on theclock info area.

30
apps/bwclklite/README.md Normal file
View File

@ -0,0 +1,30 @@
# BW Clock Lite
This is a fork of a very minimalistic clock.
![](screenshot.png)
## Features
The BW clock implements features that are exposed by other apps through the `clkinfo` module.
For example, if you install the Simple Timer app, this menu item will be shown if you first
touch the bottom of the screen and then swipe left/right to the Simple Timer menu. To select
sub-items simply swipe up/down. To run an action (e.g. add 5 min), simply select the clkinfo (border) and touch on the item again. See also the screenshot below:
![](screenshot_3.png)
Note: Check out the settings to change different themes.
## Settings
- Screen: Normal (widgets shown), Dynamic (widgets shown if unlocked) or Full (widgets are hidden).
- Enable/disable lock icon in the settings. Useful if fullscreen mode is on.
- The colon (e.g. 7:35 = 735) can be hidden in the settings for an even larger time font to improve readability further.
- Your bangle uses the sys color settings so you can change the color too.
## Thanks to
- Thanks to Gordon Williams not only for the great BangleJs, but specifically also for the implementation of `clkinfo` which simplified the BWClock a lot and moved complexety to the apps where it should be located.
- <a href="https://www.flaticon.com/free-icons/" title="Icons">Icons created by Flaticon</a>
## Creator
[David Peer](https://github.com/peerdavid)
## Contributors
thyttan

View File

@ -0,0 +1 @@
require("heatshrink").decompress(atob("mEwgIcah0EgEB/H8iFsAoOY4kMBYMDhmGgXkAoUGiWkAoQQBoAFCjgnCAoM4hgFDuEI+wpC8EKyg1C/0eAoMAsEAiQvBAAeAApQAB/4Ao+P4v/wn0P8Pgn/wnkH4Pjv/j/nn9PH//n/nj/IFF4F88AXBAoM88EcAoPHj//jlDAoOf/+Y+YFHjnnjAjBEIIjD+BHDO9IALA=="))

331
apps/bwclklite/app.js Normal file
View File

@ -0,0 +1,331 @@
{ // must be inside our own scope here so that when we are unloaded everything disappears
/************************************************
* Includes
*/
const locale = require('locale');
const storage = require('Storage');
const clock_info = require("clock_info");
const widget_utils = require("widget_utils");
/************************************************
* Globals
*/
const SETTINGS_FILE = "bwclklite.setting.json";
const W = g.getWidth();
const H = g.getHeight();
/************************************************
* Settings
*/
let settings = {
screen: "Normal",
showLock: true,
hideColon: false,
menuPosX: 0,
menuPosY: 0,
};
let saved_settings = storage.readJSON(SETTINGS_FILE, 1) || settings;
for (const key in saved_settings) {
settings[key] = saved_settings[key];
}
let isFullscreen = function() {
let s = settings.screen.toLowerCase();
if(s == "dynamic"){
return Bangle.isLocked();
} else {
return s == "full";
}
};
let getLineY = function(){
return H/5*2 + (isFullscreen() ? 0 : 8);
};
/************************************************
* Assets
*/
let imgLock = function() {
return {
width : 16, height : 16, bpp : 1,
transparent : 0,
buffer : E.toArrayBuffer(atob("A8AH4A5wDDAYGBgYP/w//D/8Pnw+fD58Pnw//D/8P/w="))
};
};
/************************************************
* Clock Info
*/
let clockInfoItems = clock_info.load();
// Add some custom clock-infos
let weekOfYear = function() {
let date = new Date();
date.setHours(0, 0, 0, 0);
// Thursday in current week decides the year.
date.setDate(date.getDate() + 3 - (date.getDay() + 6) % 7);
// January 4 is always in week 1.
let week1 = new Date(date.getFullYear(), 0, 4);
// Adjust to Thursday in week 1 and count number of weeks from date to week1.
return 1 + Math.round(((date.getTime() - week1.getTime()) / 86400000
- 3 + (week1.getDay() + 6) % 7) / 7);
};
clockInfoItems[0].items.unshift({ name : "weekofyear",
get : function() { return { text : "Week " + weekOfYear(),
img : null};},
show : function() {},
hide : function() {},
});
// Empty for large time
clockInfoItems[0].items.unshift({ name : "nop",
get : function() { return { text : null,
img : null};},
show : function() {},
hide : function() {},
});
let clockInfoMenu = clock_info.addInteractive(clockInfoItems, {
app: "bwclklite",
x : 0,
y: 135,
w: W,
h: H-135,
draw : (itm, info, options) => {
let hideClkInfo = info.text == null;
g.setColor(g.theme.fg);
g.fillRect(options.x, options.y, options.x+options.w, options.y+options.h);
g.setFontAlign(0,0);
g.setColor(g.theme.bg);
if (options.focus){
let y = hideClkInfo ? options.y+20 : options.y+2;
let h = hideClkInfo ? options.h-20 : options.h-2;
g.drawRect(options.x, y, options.x+options.w-2, y+h-1); // show if focused
g.drawRect(options.x+1, y+1, options.x+options.w-3, y+h-2); // show if focused
}
// In case we hide the clkinfo, we show the time again as the time should
// be drawn larger.
if(hideClkInfo){
drawTime();
return;
}
// Set text and font
let image = info.img;
let text = String(info.text);
if(text.split('\n').length > 1){
g.setFont("6x8"); //g.setMiniFont();
} else {
g.setFont("6x8:3"); //g.setSmallFont();
}
// Compute sizes
let strWidth = g.stringWidth(text);
let imgWidth = image == null ? 0 : 24;
let midx = options.x+options.w/2;
// Draw
if (image) {
let scale = imgWidth / image.width;
g.drawImage(image, midx-parseInt(imgWidth*1.3/2)-parseInt(strWidth/2), options.y+6, {scale: scale});
}
g.drawString(text, midx+parseInt(imgWidth*1.3/2), options.y+20);
// In case we are in focus and the focus box changes (fullscreen yes/no)
// we draw the time again. Otherwise it could happen that a while line is
// not cleared correctly.
if(options.focus) drawTime();
}
});
/************************************************
* Draw
*/
let draw = function() {
// Queue draw again
queueDraw();
// Draw clock
drawDate();
drawTime();
drawLock();
drawWidgets();
};
let drawDate = function() {
// Draw background
let y = getLineY();
g.reset().clearRect(0,0,W,y);
// Draw date
y = parseInt(y/2)+4;
y += isFullscreen() ? 0 : 8;
let date = new Date();
let dateStr = date.getDate();
dateStr = ("0" + dateStr).substr(-2);
g.setFont("6x8:4"); //g.setMediumFont(); // Needed to compute the width correctly
let dateW = g.stringWidth(dateStr);
g.setFont("6x8:3"); //g.setSmallFont();
let dayStr = locale.dow(date, true);
let monthStr = locale.month(date, 1);
let dayW = Math.max(g.stringWidth(dayStr), g.stringWidth(monthStr));
let fullDateW = dateW + 10 + dayW;
g.setFontAlign(-1,0);
g.drawString(dayStr, W/2 - fullDateW/2 + 10 + dateW, y-12);
g.drawString(monthStr, W/2 - fullDateW/2 + 10 + dateW, y+11);
g.setFont("6x8:4"); //g.setMediumFont();
g.setColor(g.theme.fg);
g.drawString(dateStr, W/2 - fullDateW / 2, y+2);
};
let drawTime = function() {
let hideClkInfo = clockInfoMenu.menuA == 0 && clockInfoMenu.menuB == 0;
// Draw background
let y1 = getLineY();
let y = y1;
let date = new Date();
let hours = String(date.getHours());
let minutes = date.getMinutes();
minutes = minutes < 10 ? String("0") + minutes : minutes;
let colon = settings.hideColon ? "" : ":";
let timeStr = hours + colon + minutes;
// Set y coordinates correctly
y += parseInt((H - y)/2) + 5;
if (hideClkInfo){
g.setFont("6x8:5"); //g.setLargeFont();
} else {
y -= 15;
g.setFont("6x8:4"); //g.setMediumFont();
}
// Clear region and draw time
g.setColor(g.theme.fg);
g.fillRect(0,y1,W,y+20 + (hideClkInfo ? 1 : 0) + (isFullscreen() ? 3 : 0));
g.setColor(g.theme.bg);
g.setFontAlign(0,0);
g.drawString(timeStr, W/2, y);
};
let drawLock = function() {
if(settings.showLock && Bangle.isLocked()){
g.setColor(g.theme.fg);
g.drawImage(imgLock(), W-16, 2);
}
};
let drawWidgets = function() {
if(isFullscreen()){
widget_utils.hide();
} else {
Bangle.drawWidgets();
}
};
/************************************************
* Listener
*/
// timeout used to update every minute
let drawTimeout;
// schedule a draw for the next minute
let queueDraw = function() {
if (drawTimeout) clearTimeout(drawTimeout);
drawTimeout = setTimeout(function() {
drawTimeout = undefined;
draw();
}, 60000 - (Date.now() % 60000));
};
// Stop updates when LCD is off, restart when on
let lcdListenerBw = function(on) {
if (on) {
draw(); // draw immediately, queue redraw
} else { // stop draw timer
if (drawTimeout) clearTimeout(drawTimeout);
drawTimeout = undefined;
}
};
Bangle.on('lcdPower', lcdListenerBw);
let lockListenerBw = function(isLocked) {
if (drawTimeout) clearTimeout(drawTimeout);
drawTimeout = undefined;
if(!isLocked && settings.screen.toLowerCase() == "dynamic"){
// If we have to show the widgets again, we load it from our
// cache and not through Bangle.loadWidgets as its much faster!
widget_utils.show();
}
draw();
};
Bangle.on('lock', lockListenerBw);
let charging = function(charging){
// Jump to battery
clockInfoMenu.setItem(0, 2);
drawTime();
};
Bangle.on('charging', charging);
let kill = function(){
clockInfoMenu.remove();
delete clockInfoMenu;
};
E.on("kill", kill);
/************************************************
* Startup Clock
*/
// Show launcher when middle button pressed
Bangle.setUI({
mode : "clock",
remove : function() {
// Called to unload all of the clock app
Bangle.removeListener('lcdPower', lcdListenerBw);
Bangle.removeListener('lock', lockListenerBw);
Bangle.removeListener('charging', charging);
if (drawTimeout) clearTimeout(drawTimeout);
drawTimeout = undefined;
// save settings
kill();
E.removeListener("kill", kill);
Bangle.removeListener('charging', charging);
widget_utils.show();
}
});
// Load widgets and draw clock the first time
Bangle.loadWidgets();
// Draw first time
g.setColor(g.theme.fg).fillRect(0,135,W,H); // Otherwise this rect will wait for clock_info before updating
draw();
} // End of app scope

BIN
apps/bwclklite/app.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@ -0,0 +1,43 @@
{
"id": "bwclklite",
"name": "BW Clock Lite",
"version": "0.32",
"description": "A very minimalistic clock. This version of BW Clock is quicker at the cost of the custom font.",
"readme": "README.md",
"icon": "app.png",
"screenshots": [
{
"url": "screenshot.png"
},
{
"url": "screenshot_2.png"
},
{
"url": "screenshot_3.png"
}
],
"type": "clock",
"tags": "clock,clkinfo",
"supports": [
"BANGLEJS2"
],
"dependencies": {
"clock_info": "module"
},
"allow_emulator": true,
"storage": [
{
"name": "bwclklite.app.js",
"url": "app.js"
},
{
"name": "bwclklite.img",
"url": "app-icon.js",
"evaluate": true
},
{
"name": "bwclklite.settings.js",
"url": "settings.js"
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@ -0,0 +1,50 @@
(function(back) {
const SETTINGS_FILE = "bwclklite.setting.json";
// initialize with default settings...
const storage = require('Storage')
let settings = {
screen: "Normal",
showLock: true,
hideColon: false,
};
let saved_settings = storage.readJSON(SETTINGS_FILE, 1) || settings;
for (const key in saved_settings) {
settings[key] = saved_settings[key]
}
function save() {
storage.write(SETTINGS_FILE, settings)
}
var screenOptions = ["Normal", "Dynamic", "Full"];
E.showMenu({
'': { 'title': 'BW Clock' },
'< Back': back,
'Screen': {
value: 0 | screenOptions.indexOf(settings.screen),
min: 0, max: 2,
format: v => screenOptions[v],
onchange: v => {
settings.screen = screenOptions[v];
save();
},
},
'Show Lock': {
value: settings.showLock,
format: () => (settings.showLock ? 'Yes' : 'No'),
onchange: () => {
settings.showLock = !settings.showLock;
save();
},
},
'Hide Colon': {
value: settings.hideColon,
format: () => (settings.hideColon ? 'Yes' : 'No'),
onchange: () => {
settings.hideColon = !settings.hideColon;
save();
},
}
});
})

11
apps/chance/README.md Normal file
View File

@ -0,0 +1,11 @@
# Chance
![](chance-coin.png)
* Toss a coin just touch the screen
* If you click in the dice button change to roll mode
![](chance-dice.png)
* Roll the dice just touch the screen
* If you click in the coin button change to toss mode

BIN
apps/chance/chance-coin.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

BIN
apps/chance/chance-dice.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

328
apps/chance/chance.app.js Normal file
View File

@ -0,0 +1,328 @@
/*
Chance
by Michael Sillas
*/
var volinit = true;
var aleatorio;
var chance=false;
var chanceforma='moneda';
var ang = 0;
var puntosale = 1;
function inipinta(){
g.clear();
//color de fondo de default
g.setBgColor('#2c04ac');
//Pinta rec de fondo
g.setColor('#2c04ac').fillRect(0, 0, g.getHeight(), g.getWidth());
}
Bangle.on('touch', function(zone,e) {
var cordenadas= Object.values(e);
if(chanceforma=='moneda'){
if(chance==false){
if(cordenadas[0] > 85 && cordenadas[1] > 134)
{
chanceforma='dado';
chanceproc();
}
else
{
drawvolado();
}
}
}
else if(chanceforma=='dado'){
if(chance==false){
if(cordenadas[0] < 88 && cordenadas[1] > 134)
{
volinit=true;
chanceforma='moneda';
chanceproc();
}
else
{
drawavdado();
}
}
}
});
function getImage(x){
if (x==1) {
return require("heatshrink").decompress(atob("qFQwkBiIA/AH4A/AH4A/AGcAAAQllFMQmHFDwmJFDkQE5cBE0ooaExonYJxyhYDpIxGKCocGBZQnVNZgoFJzJCIE7wONE7AOYDBq4KE7CRDax4nUQzgn/E/7VTfxYn/OwgniEwaeIGgInlLLJ2NE7AmEDhANFPaYYLEowpTIBYmKE6AVFOwgmLE54VLBYwzCGIR1UJxLvHiB1YBYgJBfRJ1WJwYiCE6Z1LBgg6EE6DfHLZInVExgNDEIYnROpieHE6QmMTw4nROponYOowPME6YmOE65OFCRQncCBzvSJx4nWJyA5EE6zYRE6omMPA4nNJyI6HE8DaFE45sGOyLbHPgwnaKAoAHYy4oPE7YoLE5DGPFJiyKE6rvHE6I/LE6YAOE84dHDQKEKE6S6JE7zXTE87kFE+omTPBZHDBwROUAH4A/AH4Ar"));
}
else if(x==2) {
return require("heatshrink").decompress(atob("qFQwkBiIA/AD0QNAZlhSQ5MiFETkLJ0oobExrMZExpQZJ5xQ/KFInPKDB4/KD4nYKBwnYKBwnbKhgnYiBCCE8akOE/7yPE0wnaExjvaE/52cgIn/E84mNE7DFOYzAmOdzJQOY0wnXEZhaCYyxLNE7CbOBwROjgKeXdR52mE7AoNEYKeXFBsBYzDINGgR2WE5YiCE8iEEE84mXO5oNBE8QjDE8hQCE7KSBE8qgNE88QE80RAYYnjADLIIgIJCE8gEDKTh7oE5JQdE5RQcE+R4cE/4AOiAn/OzTwaJxgnaExgn/Ox7IZE84mOE65OPE/4mPE/x2QE/wmQgIcKA"));
}
else if(x==3) {
return require("heatshrink").decompress(atob("t1uwkEogA/AH4A/AH4A/AC1AgAAZGSwxaHTJnbABUEGug3PGs6nNNlA3NCQ8BiIAZGyJsEgMimc//4AbmciiDdNBocCGboAFkBuMBgcvGsQABN4ajLgQ1k//xUpQ2DNkpuEGw41CgI1m//wUpIJCh42nUoY2Jj42n/42MbU7cLGwU/G1EgG2swGxY1oGxNAG1nwGxUBG342/G342/G342/G342/G342/G342/G342/G342/G342/G342/G342/G342/G342/G342/G342/G342/G342/G342/G342/G342/G342/G342/G342/G342/G3420gA2pmA2Hog25n42okA21iA2Ll42oFgQ1FGwcPGs/zGxkCG0/xGxNABQQ2nmA2Nj7apgg2KUsyjDGw7cDgEvGsfziCjJGwsBn42iGoY2JUoYABkY0fmQ1EUZBuFOAURADg0ENhRuHAEo2KNww1vN1LZKG9Q1OU8w0QHMRpRAH4A/AH4A/AH4ADA=="));
}
}
function rotar(){
ang += 0.157;
g.clearRect(0, 0, g.getHeight(), 139);
g.drawImage(getImage(3),87,77, {rotate : ang});
}
//Volado Letras (Toss)
function toss(){
if(chance==false)
{
g.setColor('#06f77b');
}
else
{
g.setColor('#D8D8D8');
}
g.setFontAlign(0,0); // center font
g.setFont("Vector",26); // bitmap font, 8x magnified
g.drawString("Toss",44,160);
}
//Roll dado Letras (Roll)
function roll(){
if(chance==false)
{
g.setColor('#06f77b');
}
else
{
g.setColor('#D8D8D8');
}
g.setFontAlign(0,0); // center font
g.setFont("Vector",26); // bitmap font, 8x magnified
g.drawString("Roll",135,160);
}
function getRandomIntInclusive(min, max) {
min = Math.ceil(min);
max = Math.floor(max);
return Math.floor(Math.random() * (max - min + 1) + min); // The maximum is inclusive and the minimum is inclusive
}
function drawvolado()
{
if(volinit==true){ //si es inicial el volado
aleatorio = 1;
g.drawImage(getImage(1),49,30);
}
else{
chance=true;
toss();
setInterval(function () {
if(aleatorio==1){
g.setColor('#D4AF37').fillCircle(g.getWidth()/2,73,50);
aleatorio=2;
}
else if(aleatorio==2){
g.setColor('#c0c0c0').fillCircle(g.getWidth()/2,73,50);
aleatorio=1;
}
}, 500, aleatorio);
setTimeout(function () {
clearInterval();
aleatorio = getRandomIntInclusive(1,2);
if(aleatorio==1){
g.setColor('#c0c0c0');
g.fillCircle(g.getWidth()/2,73,50);
}
else if(aleatorio==2){
g.setColor('#D4AF37');
g.fillCircle(g.getWidth()/2,73,50);
}
g.drawImage(getImage(aleatorio),49,30);// Expected output: 1 or 2
chance=false;
toss();
}, 2500);
}
volinit = false;
}
function drawavdado()
{
chance=true;
roll();
setInterval(rotar,100);
setTimeout(function () {
clearInterval();
puntosale = getRandomIntInclusive(1,6);
g.clearRect(0, 0, g.getHeight(), 139);
g.drawImage(getImage(3),30,24);
switch (puntosale) {
case 1:
g.setColor('#000000').fillCircle(86,77,9);
break;
case 2:
g.setColor('#000000').fillCircle(68,63,9);
g.setColor('#000000').fillCircle(104,98,9);
break;
case 3:
g.setColor('#000000').fillCircle(65,55,9);
g.setColor('#000000').fillCircle(86,77,9);
g.setColor('#000000').fillCircle(108,100,9);
break;
case 4:
g.setColor('#000000').fillCircle(65,55,9);
g.setColor('#000000').fillCircle(107,55,9);
g.setColor('#000000').fillCircle(65,100,9);
g.setColor('#000000').fillCircle(107,100,9);
break;
case 5:
g.setColor('#000000').fillCircle(65,55,9);
g.setColor('#000000').fillCircle(107,55,9);
g.setColor('#000000').fillCircle(86,77,9);
g.setColor('#000000').fillCircle(65,100,9);
g.setColor('#000000').fillCircle(107,100,9);
break;
case 6:
g.setColor('#000000').fillCircle(65,55,9);
g.setColor('#000000').fillCircle(65,77,9);
g.setColor('#000000').fillCircle(65,100,9);
g.setColor('#000000').fillCircle(107,55,9);
g.setColor('#000000').fillCircle(107,77,9);
g.setColor('#000000').fillCircle(107,100,9);
break;
}
chance=false;
roll();
}, 2000);
}
//##################### Inicia Volado
function chanceproc()
{
if(chanceforma=='moneda'){
inipinta();
//Pinta rec de boton
g.setColor('#06f77b').fillRect(g.getWidth()/2, 143, g.getWidth(), g.getWidth());
//Circulo concentrico externo moneda
g.setColor('#000000').fillCircle(g.getWidth()/2,73,55);
//Circulo concentrico interno moneda
g.setColor('#c0c0c0').fillCircle(g.getWidth()/2,73,50);
toss();
//####### Inicio dibuja dado boton
g.setColor('#000000');
g.fillRect(117, 145,147, 173);
g.setColor('#FFFFFF');
g.fillRect(119, 147,145, 171);
g.setColor('#000000');
g.fillCircle(132,159,4);
//####### Fin dibuja dado boton
drawvolado();
}//##### fin volado
else if(chanceforma=='dado'){
inipinta();
//Pinta rec de boton
g.setColor('#06f77b').fillRect(0, 143, g.getWidth()/2, g.getWidth());
roll();
//####### Inicio dibuja moneda boton
//Circulo icono externo moneda
g.setColor('#000000').fillCircle(43,159,15);
//Circulo icono interno moneda
g.setColor('#c0c0c0').fillCircle(43,159,12);
//####### Fin dibuja moneda boton
g.setFont("Vector",17); g.setColor('#000000'); g.drawString('2c',45,160);
//Uno
g.drawImage(getImage(3),30,24);
g.setColor('#000000').fillCircle(86,77,9);
}
}
chanceproc();

View File

@ -0,0 +1 @@
require("heatshrink").decompress(atob("mEwwkEogAfFIgmQoBDHDJoWCgMRAAQYOCwczAAcyiAJBLZkSCwgACDBYuBCxAxDJJBEGAAsxGBAuBiYOBOgRJIGAwuDKwQ1HmQwGFwY8CAAUDDAsgC4wnCXwYwIEgJIEEwQhBCQQ/CMI4XFkZdCPIQdCBIJIJLwIICgQODmAdEJAgXDCYgXMNwJICQo5HKMAgkISgQhIC4YkHR4swBwZRBC4QkHSgJpCmUQZAIZBC5byCe4xwBSAYXHdwgDBkEjmQeDC5CMBNAQPBkZfEC5JACV4QcBO4qCBC450BIoQXBAgIvNIogdCSIIXNIogXOBAQHBIoZHJX4gICIwIuEB4SPFkEEC4SuBOoTEHX4MTX4UQC4VAFQQXId4wXELQUQLwpiEiUieIMAC4YrCHwMikMRAAMSMQZfCOwZgEHoZBFJILkEC4i0BBAIXIPohGCJAinBgJFBkURTQZ8EC4gwBEwwAHIwqRFABSNEJAo/FFxxICaw5dLSQxFJFxBJDDBBFBFxIYDgLnCAAMhFoIWLMQYABYQIECCxoxDAAgVOAH4ABA"))

BIN
apps/chance/chance.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

17
apps/chance/metadata.json Normal file
View File

@ -0,0 +1,17 @@
{ "id": "chance",
"name": "Chance",
"shortName":"Chance",
"version":"0.01",
"description": "Toss a coin or Roll the dice, chose your chance with this app.",
"icon": "chance.png",
"type":"app",
"tags": "tool",
"supports" : ["BANGLEJS2"],
"allow_emulator": true,
"readme": "README.md",
"storage": [
{"name":"chance.app.js","url":"chance.app.js"},
{"name":"chance.img","url":"chance.img.js","evaluate":true}
],
"screenshots": [{"url":"chance-coin.png"},{"url":"chance-dice.png"}]
}

View File

@ -7,6 +7,7 @@
"type": "clkinfo",
"tags": "clkinfo,timer",
"supports" : ["BANGLEJS2"],
"readme":"README.md",
"allow_emulator": true,
"storage": [
{"name":"stopw.clkinfo.js","url":"clkinfo.js"}

View File

@ -5,3 +5,4 @@
0.05: Improved colors (connected vs disconnected)
0.06: Tell clock widgets to hide.
0.07: Convert Yes/No On/Off in settings to checkboxes
0.08: Fixed typo in settings.js for DRAGDOWN to make option work

View File

@ -1,7 +1,7 @@
{
"id": "clockcal",
"name": "Clock & Calendar",
"version": "0.07",
"version": "0.08",
"description": "Clock with Calendar",
"readme":"README.md",
"icon": "app.png",

View File

@ -93,7 +93,7 @@
value: actions.indexOf(settings.DRAGDOWN),
format: v => actions[v],
onchange: v => {
settings.DRGDOWN = actions[v];
settings.DRAGDOWN = actions[v];
writeSettings();
}
},

View File

@ -0,0 +1 @@
0.01: New App based on dragboard, but with a U shaped drag area

View File

@ -0,0 +1,8 @@
Swipe along the drag bars and release to select a letter, number or punctuation.
Tap on left for backspace or right for space.
Settings:
- ABC Color: color of the characters row
- Num Color: color of the digits and symbols row
- Highlight Color: color of the currently shown character

BIN
apps/draguboard/app.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

156
apps/draguboard/lib.js Normal file
View File

@ -0,0 +1,156 @@
exports.input = function(options) {
options = options||{};
var text = options.text;
if ("string"!=typeof text) text="";
let settings = require('Storage').readJSON('draguboard.json',1)||{};
var R;
const paramToColor = (param) => g.toColor(`#${settings[param].toString(16).padStart(3,0)}`);
var BGCOLOR = g.theme.bg;
var HLCOLOR = settings.Highlight ? paramToColor("Highlight") : g.theme.fg;
var ABCCOLOR = settings.ABC ? paramToColor("ABC") : g.toColor(1,0,0);//'#FF0000';
var NUMCOLOR = settings.Num ? paramToColor("Num") : g.toColor(0,1,0);//'#00FF00';
var BIGFONT = '6x8:3';
var SMALLFONT = '6x8:1';
var LEFT = "IJKLMNOPQ";
var MIDDLE = "ABCDEFGH";
var RIGHT = "RSTUVWXYZ";
var NUM = ' 1234567890!?,.-@';
var rectHeight = 40;
var vLength = LEFT.length;
var MIDPADDING;
var NUMPADDING;
var showCharY;
var middleWidth;
var middleStart;
var topStart;
function drawAbcRow() {
g.clear();
try { // Draw widgets if they are present in the current app.
if (WIDGETS) Bangle.drawWidgets();
} catch (_) {}
g.setColor(ABCCOLOR);
g.setFont('6x8:2x1');
g.setFontAlign(-1, -1, 0);
g.drawString(RIGHT.split("").join("\n\n"), R.x2-28, topStart);
g.drawString(LEFT.split("").join("\n\n"), R.x+22, topStart);
g.setFont('6x8:1x2');
var spaced = MIDDLE.split("").join(" ");
middleWidth = g.stringWidth(spaced);
middleStart = (R.x2-middleWidth)/2;
g.drawString(spaced, (R.x2-middleWidth)/2, (R.y2)/2);
g.fillRect(MIDPADDING, (R.y2)-26, (R.x2-MIDPADDING), (R.y2));
// Draw left and right drag rectangles
g.fillRect(R.x, R.y, 12, R.y2);
g.fillRect(R.x2, R.y, R.x2-12, R.y2);
}
function drawNumRow() {
g.setFont('6x8:1x2');
g.setColor(NUMCOLOR);
NUMPADDING = (R.x2-g.stringWidth(NUM))/2;
g.setFontAlign(-1, -1, 0);
g.drawString(NUM, NUMPADDING, (R.y2)/4);
g.drawString("<-", NUMPADDING+10, showCharY+5);
g.drawString("->", R.x2-(NUMPADDING+20), showCharY+5);
g.fillRect(NUMPADDING, (R.y2)-rectHeight*4/3, (R.x2)-NUMPADDING, (R.y2)-rectHeight*2/3);
}
function updateTopString() {
g.setFont(SMALLFONT);
g.setColor(BGCOLOR);
g.fillRect(R.x,R.y,R.x2,R.y+9);
var rectLen = text.length<27? text.length*6:27*6;
g.setColor(0.7,0,0);
//draw cursor at end of text
g.fillRect(R.x+rectLen+5,R.y,R.x+rectLen+10,R.y+9);
g.setColor(HLCOLOR);
g.setFontAlign(-1, -1, 0);
g.drawString(text.length<=27? text : '<- '+text.substr(-24,24), R.x+5, R.y+1);
}
function showChars(chars) {
"ram";
// clear large character
g.setColor(BGCOLOR);
g.fillRect(R.x+65,showCharY,R.x2-65,showCharY+28);
// show new large character
g.setColor(HLCOLOR);
g.setFont(BIGFONT);
g.setFontAlign(-1, -1, 0);
g.drawString(chars, (R.x2 - g.stringWidth(chars))/2, showCharY+4);
}
var charPos;
var char;
var prevChar;
function moveCharPos(list, select, posPixels) {
charPos = Math.min(list.length-1, Math.max(0, Math.floor(posPixels)));
char = list.charAt(charPos);
if (char != prevChar) showChars(char);
prevChar = char;
if (select) {
text += char;
updateTopString();
}
}
return new Promise((resolve,reject) => {
// Interpret touch input
Bangle.setUI({
mode: 'custom',
back: ()=>{
Bangle.setUI();
g.clearRect(Bangle.appRect);
resolve(text);
},
drag: function(event) {
"ram";
// drag on middle bottom rectangle
if (event.x > MIDPADDING - 2 && event.x < (R.x2-MIDPADDING + 2) && event.y >= ( (R.y2) - 12 )) {
moveCharPos(MIDDLE, event.b == 0, (event.x-middleStart)/(middleWidth/MIDDLE.length));
}
// drag on left or right rectangle
else if (event.y > R.y && (event.x < MIDPADDING-2 || event.x > (R.x2-MIDPADDING + 2))) {
moveCharPos(event.x<MIDPADDING-2 ? LEFT : RIGHT, event.b == 0, (event.y-topStart)/((R.y2 - topStart)/vLength));
}
// drag on top rectangle for number or punctuation
else if ((event.y < ( (R.y2) - 12 )) && (event.y > ( (R.y2) - 52 ))) {
moveCharPos(NUM, event.b == 0, (event.x-NUMPADDING)/6);
}
// Make a space or backspace by tapping right or left on screen above green rectangle
else if (event.y > R.y && event.b == 0) {
if (event.x < (R.x2)/2) {
showChars('<-');
text = text.slice(0, -1);
} else {
//show space sign
showChars('->');
text += ' ';
}
prevChar = null;
updateTopString();
}
}
});
R = Bangle.appRect;
MIDPADDING = R.x + 35;
showCharY = (R.y2)/3;
topStart = R.y+12;
drawAbcRow();
drawNumRow();
updateTopString();
});
};

View File

@ -0,0 +1,15 @@
{ "id": "draguboard",
"name": "DragUboard",
"version":"0.01",
"description": "A library for text input via swiping U-shaped keyboard.",
"icon": "app.png",
"type":"textinput",
"tags": "keyboard",
"supports" : ["BANGLEJS2"],
"screenshots": [{"url":"screenshot.png"}],
"readme": "README.md",
"storage": [
{"name":"textinput","url":"lib.js"},
{"name":"draguboard.settings.js","url":"settings.js"}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

View File

@ -0,0 +1,44 @@
(function(back) {
let settings = require('Storage').readJSON('draguboard.json',1)||{};
const colors = {
4095: /*LANG*/"White",
4080: /*LANG*/"Yellow",
3840: /*LANG*/"Red",
3855: /*LANG*/"Magenta",
255: /*LANG*/"Cyan",
240: /*LANG*/"Green",
15: /*LANG*/"Blue",
0: /*LANG*/"Black",
'-1': /*LANG*/"Default"
};
const save = () => require('Storage').write('draguboard.json', settings);
function colorMenu(key) {
let menu = {'': {title: key}, '< Back': () => E.showMenu(appMenu)};
Object.keys(colors).forEach(color => {
var label = colors[color];
menu[label] = {
value: settings[key] == color,
onchange: () => {
if (color >= 0) {
settings[key] = color;
} else {
delete settings[key];
}
save();
setTimeout(E.showMenu, 10, appMenu);
}
};
});
return menu;
}
const appMenu = {
'': {title: 'draguboard'}, '< Back': back,
/*LANG*/'ABC Color': () => E.showMenu(colorMenu("ABC")),
/*LANG*/'Num Color': () => E.showMenu(colorMenu("Num")),
/*LANG*/'Highlight Color': () => E.showMenu(colorMenu("Highlight"))
};
E.showMenu(appMenu);
});

View File

@ -27,4 +27,5 @@ widgets would still be loaded when they weren't supposed to.
immediately follows the correct theme.
0.22: Bangle 2: Change to not automatically marking the first app on a page
when moving pages. Add caching for faster startups.
0.23: Bangle 1: Fix issue with missing icons, added touch screen interactions

View File

@ -6,6 +6,10 @@ Bangle 1:
In the picture above, the Settings app is selected.
![](sshot_e1.png)
Bangle 2:
![shot1](https://user-images.githubusercontent.com/89286474/146471756-ec6d16de-6916-4fde-b991-ba88c2c8fa1a.png)
@ -25,6 +29,12 @@ Bangle 2:
**Swipe Right** - move to previous page of app icons
**Touch Left(1) area** - "Back" to Clock
**Touch Right(2) area** - move forward through app icons
**Touch Middle(1+2) area** - run the selected app
## Controls- Bangle 2
**Touch** - icon to select, second touch launches app

View File

@ -13,13 +13,13 @@ function wdog(handle,timeout){
wdog.timeout = timeout;
}
if(wdog.timer){
clearTimeout(wdog.timer)
clearTimeout(wdog.timer);
}
wdog.timer = setTimeout(wdog.handle,wdog.timeout)
wdog.timer = setTimeout(wdog.handle,wdog.timeout);
}
// reset after two minutes of inactivity
wdog(load,120000)
wdog(load,120000);
var s = require("Storage");
var apps = s.list(/\.info$/).map(app=>{
@ -49,7 +49,13 @@ function draw_icon(p,n,selected) {
var y = n>2?130:40;
(selected?g.setColor(0.3,0.3,0.3):g.setColor(0,0,0)).fillRect(x,y,x+79,y+89);
g.setColor(g.theme.fg);
g.drawImage(s.read(apps[p*6+n].icon),x+10,y+10,{scale:1.25});
//bad g.drawImage(s.read(apps[p*6+n].icon),x+10,y+10,{scale:1.25});
if ((apps[p*6+n].icon)){
if (s.read(apps[p*6+n].icon)) //ensure that graph exist
g.drawImage(s.read(apps[p*6+n].icon),x+10,y+10,{scale:1.25});
else console.log("icon file NOT exist :"+apps[p*6+n].icon);
}
else console.log("icon property NOT exist");
g.setColor(-1).setFontAlign(0,-1,0).setFont("6x8",1);
var txt = apps[p*6+n].name.split(" ");
for (var i = 0; i < txt.length; i++) {
@ -65,10 +71,31 @@ function drawPage(p){
if (!apps[p*6+i]) return i;
draw_icon(p,i,selected==i);
}
}
}
// case was not working
Bangle.on("touch", function(tzone){
//(tzone)=>{
//console.log("tzone"+tzone);
switch(tzone){
case 1: //left managed by
console.log("1, left or back to clock?");
load();//clock
//nextapp(-1);
break;
case 2: // right
nextapp(1);
break;
case 3: //center 1+2 no for emul
doselect();
break;
default:
console.log("no match");
}
});
Bangle.on("swipe",(dir)=>{
wdog()
wdog();
selected = 0;
oldselected=-1;
if (dir<0){

View File

@ -1,7 +1,7 @@
{
"id": "dtlaunch",
"name": "Desktop Launcher",
"version": "0.22",
"version": "0.23",
"description": "Desktop style App Launcher with six (four for Bangle 2) apps per page - fast access if you have lots of apps installed.",
"screenshots": [{"url":"shot1.png"},{"url":"shot2.png"},{"url":"shot3.png"}],
"icon": "icon.png",

BIN
apps/dtlaunch/sshot_e1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

View File

@ -99,6 +99,7 @@ function onInit(device) {
if (crc==1038322422) version = "2v14";
if (crc==2560806221) version = "2v15";
if (crc==2886730689) version = "2v16";
if (crc==156320890) version = "2v17";
if (!ok) {
version += `(&#9888; update required)`;
}

View File

@ -1,2 +1,3 @@
0.01: 1st version !
0.02: Supports bottom widgets and UI based in UI4swatch!
0.03: Added compatibility with BJS2, improvements

View File

@ -3,7 +3,6 @@
A cross cultural hello world!/hola mundo! app
The most common testing sentence in several languages ;)
## Pictures:
Launcher icon
@ -14,6 +13,10 @@ Screen - Spanish
![](helloworld_es.png)
Screenshot BJS2 emul
![](ss_emul_BJS2.png)
Screen - English
![](helloworld_en.png)
@ -22,6 +25,10 @@ Screen - Japanese
![](helloworld_jp.png)
Screenshot BJS1 emul
![](ss_emul_BJS1.png)
## Usage
@ -31,17 +38,32 @@ interact to change language, color or quit.
## Features
Colours, all inputs , graph, widgets loaded
Counter for Times Display
- Compatible Bangle.js1 Bangle.js2
- Bottom Widget compatible
- Change FG/BG colors,
- Usage of many input events
## Controls
## Pending/future Features
- replace UI hardcoded colors for dynamic based on theme
- BJS2 change BTN1 from quit to Change FG Color (conflict wit setUI?)
finger swipe
button 1,2 and 3
touch screen left, center or right
## Controls/UI
- Left area: Back/Exit/launcher
- BTN3 (long press)(BJS1): default Exit/kill app
- BTN1 (BJS2): Back/Exit/launcher
- BTN1 (BJS1): Change Language
- BTN2 (BJS1): Change FG Color
- BTN3 (BJS1): Quit
- Right area: Change BG Color
- Swipe left: Change Language
- Swipe right: Change Language
## Creator
Daniel Perez
This app is so basic that probably the easiest is to just edit the code
Otherwise you can contact me [here](https://github.com/dapgo/my_espruino_smartwatch_things)

View File

@ -1,40 +1,62 @@
//HolaMundo v202103
//HolaMundo v202212
// place your const, vars, functions or classes here
{
var contador=1;
var v_color_statictxt='#e56e06';
var v_color_b_area='#111111'; //orange RGB format rrggbb //white,Orange,DarkGreen,Yellow,Maroon,Blue,green,Purple,cyan,olive,DarkCyan,pink
var v_mode_debug=0;
var v_model=process.env.BOARD;
var v_color_statictxt='#b30000';
//var v_color_b_area='#111111';
//orange RGB format rrggbb //white,Orange,DarkGreen,Yellow,Maroon,Blue,green,Purple,cyan,olive,DarkCyan,pink
var a_colors= Array(0xFFFF,0xFD20,0x03E0,0xFFE0,0x7800,0x001F,0x07E0,0x780F,0x07FF,0x7BE0,0x03EF,0xF81F);
var x_max_screen=g.getWidth();
var y_max_screen=g.getHeight();
var y_wg_bottom=g.getHeight()-25;
var y_wg_top=25;
//EMSCRIPTEN,EMSCRIPTEN2
if (v_model=='BANGLEJS'||v_model=='EMSCRIPTEN') {
var v_color_lines=0xFFFF; //White hex format
//new
var v_color_text=0x07E0;
var v_color_text=0x07E0;
var v_font1size=10; //out of quotes
var v_font2size=12;
var v_font_banner_size=30;
var v_font3size=12;
var x_btn_area=215;
var x_max_usable_area=x_btn_area;//Pend! only for bangle.js
var y_btn2=124; //harcoded for bangle.js cuz it is not the half of display height
var graph_y=120;
var box_x2=195;
var box_y2=150;
}else{ //BJS2
//176x176
var v_color_lines="#000"; //White hex format
var v_color_text="#000";
var v_font1size=9; //out of quotes
var v_font2size=9;
var v_font_banner_size=16;
var v_font3size=8;
//g.setColor("#000"); //black or dark
x_max_usable_area=176;
var graph_y=60;
var box_x2=128;
var box_y2=104;
}
if (v_mode_debug>0) console.log("device="+v_model);
var v_arraypos=0;
var v_acolorpos=0;
var v_acolorpos=0; //for fg
var v_aBGcolorPos=5; //for bg
var a_string1 = Array('hola', 'hello', 'saluton', 'ola','ciao', 'salut','czesc','konnichiwa');
var a_string2 = Array('mundo!', 'world!', 'mondo!','mundo!','mondo!','monde!','swiat!','sekai!');
var mem=process.memory();
var v_model=process.env.BOARD;
console.log("device="+v_model);
var x_max_screen=g.getWidth();//240;
var y_max_screen=g.getHeight(); //240;
var y_wg_bottom=g.getHeight()-25;
var y_wg_top=25;
if (v_model=='BANGLEJS') {
var x_btn_area=215;
var x_max_usable_area=x_btn_area;//Pend! only for bangle.js
var y_btn2=124; //harcoded for bangle.js cuz it is not the half of display height
} else x_max_usable_area=240;
}
console.log("*** UI dimensions***");
console.log("x="+x_max_screen);
console.log("y_wg_bottom="+y_wg_bottom);
if (v_mode_debug>0) {
console.log("*** UI dimensions***");
console.log("x="+x_max_screen);
console.log("y_wg_bottom="+y_wg_bottom);
}
// special function to handle display switch on
Bangle.on('lcdPower', (on) => {
@ -47,17 +69,15 @@
});
//Clear/fill dynamic area except widget area, right and bottom status line
function ClearActiveArea(){
g.setColor(v_color_b_area);
//harcoded values to avoid clearing areas
g.fillRect(0,y_wg_top,195,150);
function ClearActiveArea(){
g.setColor(a_colors[v_aBGcolorPos]); //dynamic color
g.fillRect(0,y_wg_top,box_x2,box_y2);
g.flip();
}
function DrawBangleButtons(){
g.setFontVector(v_font1size);
g.setColor(v_color_lines);//White
g.setColor(v_color_lines);//White
g.drawString("Lang", x_max_screen-g.stringWidth("Lang"),y_wg_top+v_font1size+1);
//above Btn2
@ -93,7 +113,7 @@ function DrawBottomInfoBanner(){
function PrintHelloWorld(){
ClearActiveArea(); //except widgets and bottom
console.log("drawing a "+a_string1[v_arraypos]+" "+a_string2[v_arraypos]);
if (v_mode_debug>0) console.log("drawing a "+a_string1[v_arraypos]+" "+a_string2[v_arraypos]);
g.setColor(a_colors[v_acolorpos]); //dynamic color
g.setFont("Vector",v_font_banner_size);
@ -106,55 +126,62 @@ function DrawBottomInfoBanner(){
g.drawString(a_string2[v_arraypos],5,85);
g.flip();
g.setFont("Vector",v_font3size);
g.setColor(0,0,1); //blue
g.drawString("Display count: "+contador ,10,115);
mem=process.memory();
//console.log("Mem free/total: "+mem.free+"/"+mem.total);
g.drawString("Free mem: "+mem.free+"/"+mem.total,10,135);
g.setFont("Vector",v_font3size);
g.setColor(v_color_statictxt);
g.drawString("Display on/off: "+contador ,10,box_y2+7);
//var mem=process.memory();
//if (v_mode_debug>0) console.log("Mem free/total: "+mem.free+"/"+mem.total);
g.flip();
}
function PrintMainStaticArea(){
g.setColor(v_color_statictxt);
g.setFont("Vector",v_font3size);
g.drawString("#by DPG #bangle.js",10,170);
g.drawString("#javascript #espruino",10,185);
g.drawString("#by DPG #bangle.js",10,box_y2+5+(v_font3size*2));
g.drawString("#javascript #espruino",10,box_y2+5+(v_font3size*3));
var img_obj_RedHi = {
width : 40, height : 40, bpp : 4,
transparent : 0,
buffer : require("heatshrink").decompress(atob("AFkM7vd4EAhoTNhvQhvcgHdAQIAL5oWCFIPdExo+CEoIZCABI0DhvADIZhJL4IXDHRkMEAQmOCYgmOAAIOBHwImNRQgmPHgYmCUIIXMJobfB3jgCWZJNDEga1JYQQQCMYZoJJAJNDBwgTICQPdCY7lDRQx4DVIwTIHYZzEHZATFBwblDCZRKEO5ITFWAbIJCYrHBAAImICYwEB5raKCYwAMCYXc5gADE5hLDAAgTIBJLkBBJAyKHw5hKBRJJKKJSuII5Q0IhqPKCbjRKCc4AgA=="))
}
g.drawImage(img_obj_RedHi,155,160);
g.drawImage(img_obj_RedHi,box_x2+2,graph_y);
g.flip();
}
//inc var postion for text array
function ChangeLang(){
if (v_arraypos<a_string1.length-1) v_arraypos++;
else v_arraypos=0;
//console.log("ChangeLang, Langpos: "+v_arraypos);
function ChangeLang(dir){
if (v_mode_debug>0) console.log("ChangeLang, dir, Prev pos: "+dir+" , "+v_arraypos);
if ((dir==1) && (v_arraypos<a_string1.length-1)) v_arraypos++;
else if ((dir== 1) && (v_arraypos==a_string1.length-1)) v_arraypos=0;
else if ((dir== -1) && (v_arraypos>0)) v_arraypos--;
else if ((dir== -1) && (v_arraypos==0)) v_arraypos=a_string1.length-1;
PrintHelloWorld();
}
//inc var postion for color array
function ChangeColor(){
//console.log("ChangeColor, colpos: "+v_acolorpos);
//if (v_mode_debug>0) console.log("ChangeColor, colpos: "+v_acolorpos);
if (v_acolorpos<a_colors.length-2) v_acolorpos++;
else v_acolorpos=0;
PrintHelloWorld();
}
function ChangeBGColor(){
if (v_aBGcolorPos<a_colors.length-2) v_aBGcolorPos++;
else v_aBGcolorPos=0;
ClearActiveArea(); //except widgets and bottom
PrintHelloWorld();
}
function UserInput(){
Bangle.on('touch', function(button){
switch(button){
case 1:
ChangeLang();//left
ChangeLang();//left area
break;
case 2:
ChangeColor();//right
ChangeBGColor();//right
break;
case 3:
ChangeColor();
@ -162,23 +189,29 @@ function DrawBottomInfoBanner(){
break;
}
});
setWatch(ChangeLang, BTN1, { repeat: true });//func to quit
if (v_model=='BANGLEJS'||v_model=='EMSCRIPTEN') {
setWatch(ChangeLang, BTN1, { repeat: true });//func to quit
setWatch(ChangeColor, BTN2, { repeat: true });
setWatch(Bangle.showLauncher, BTN3, { repeat: true });
//touchscreen to quit
Bangle.on('swipe', dir => {
if(dir == 1) ChangeLang(); //func load() to quit
else ChangeLang();
});
} //touchscreen to quit
else setWatch(ChangeColor, BTN1, { repeat: true });//func to quit
Bangle.on('swipe', dir => {
if(dir == 1) ChangeLang(1); //right
else ChangeLang(-1); //left
});
}
console.log("**************************");
console.log("Log: *** hola mundo app");
if (v_mode_debug>0) console.log("**************************");
if (v_mode_debug>0) console.log("Log: *** hola mundo app");
g.clear();
Bangle.loadWidgets();
Bangle.drawWidgets();
if (v_model=='BANGLEJS') DrawBangleButtons();
Bangle.setUI({
mode : "custom",
back : function() {load();}
});
if (v_model=='BANGLEJS'||v_model=='EMSCRIPTEN') DrawBangleButtons();
DrawBottomInfoBanner();
UserInput();
PrintMainStaticArea();

View File

@ -2,14 +2,15 @@
"id": "helloworld",
"name": "hello, world!",
"shortName": "hello world",
"version": "0.02",
"version": "0.03",
"description": "A cross cultural hello world!/hola mundo! app with colors and languages",
"icon": "app.png",
"tags": "input,interface,buttons,touch",
"supports": ["BANGLEJS"],
"screenshots": [{"url":"screenshot.png"}],
"supports": ["BANGLEJS","BANGLEJS2"],
"readme": "README.md",
"storage": [
{"name":"helloworld.app.js","url":"app.js"},
{"name":"helloworld.app.js","url":"helloworld.app.js"},
{"name":"helloworld.img","url":"app-icon.js","evaluate":true}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

3
apps/hrmmar/ChangeLog Normal file
View File

@ -0,0 +1,3 @@
0.01: New App
0.02: Disable when bthrm is active
Enable fft elim as default

View File

@ -7,5 +7,5 @@ Measurements from the build in PPG-Sensor (Photoplethysmograph) is sensitive to
* **MA removal**
Select the algorithm to Remove Motion artifacts:
- None: (default) No Motion Artifact removal.
- fft elim: (*experimental*) Remove Motion Artifacts by cutting out the frequencies from the HRM frequency spectrum that are noisy in acceleration spectrum. Under motion this can report a heart rate that is closer to the real one but will fail if motion frequency and heart rate overlap.
- None: No Motion Artifact removal.
- fft elim: (default, *experimental*) Remove Motion Artifacts by cutting out the frequencies from the HRM frequency spectrum that are noisy in acceleration spectrum. Under motion this can report a heart rate that is closer to the real one but will fail if motion frequency and heart rate overlap.

View File

@ -5,8 +5,12 @@
bpm_corrected = bpm;
};
const isInternal = (hrm) => {
return !hrm.src || hrm.src === "int";
};
Bangle.on('HRM', (hrm) => {
if (bpm_corrected > 0) {
if (isInternal(hrm) && bpm_corrected > 0) {
// replace bpm data in event
hrm.bpm_orig = hrm.bpm;
hrm.confidence_orig = hrm.confidence;
@ -17,16 +21,16 @@
let run = () => {
const settings = Object.assign({
mAremoval: 0
mAremoval: 1
}, require("Storage").readJSON("hrmmar.json", true) || {});
// select motion artifact removal algorithm
switch(settings.mAremoval) {
case 1:
require("hrmfftelim").run(settings, updateHrm);
require("hrmfftelim").run(settings, updateHrm, isInternal);
break;
}
}
};
// override setHRMPower so we can run our code on HRM enable
const oldSetHRMPower = Bangle.setHRMPower;

View File

@ -1,4 +1,4 @@
exports.run = (settings, updateHrm) => {
exports.run = (settings, updateHrm, isInternal) => {
const SAMPLE_RATE = 12.5;
const NUM_POINTS = 256; // fft size
const ACC_PEAKS = 2; // remove this number of ACC peaks
@ -147,7 +147,7 @@ exports.run = (settings, updateHrm) => {
});
Bangle.on('accel', (acc) => {
if (hrmdata !== undefined) {
if (hrmdata !== undefined && isInternal(hrmdata)) {
hrmvalues[idx] = hrmdata.filt;
accvalues[idx] = acc.x*1000 + acc.y*1000 + acc.z*1000;
idx++;

View File

@ -3,7 +3,7 @@
"name": "HRM Motion Artifacts removal",
"shortName":"HRM MA removal",
"icon": "app.png",
"version":"0.01",
"version":"0.02",
"description": "Removes Motion Artifacts in Bangle.js's heart rate sensor data.",
"type": "bootloader",
"tags": "health",

View File

@ -2,7 +2,7 @@
var FILE = "hrmmar.json";
// Load settings
var settings = Object.assign({
mAremoval: 0,
mAremoval: 1,
}, require('Storage').readJSON(FILE, true) || {});
function writeSettings() {

View File

@ -5,4 +5,5 @@
implemented use of the "messageicons" library
removed lib no longer used
1.3: icon changed
1.4: new management of events implemented; removed code no longer used (from now the music will be managed by the Messagesgui app)
1.4: new management of events implemented; removed code no longer used (from now the music will be managed by the Messagesgui app)
1.5: Fix graphic bug; View via popup while there are other open apps

View File

@ -493,7 +493,7 @@ let main = function(){
Bangle.on('tap', doubleTapUnlock);
Bangle.on('touch', toushScroll);
//quando apro quest'app, do per scontato che c'è un messaggio da leggere posto in un file particolare ( NewMessage.json )
//quando apro quest'app, do per scontato che c'è un messaggio da leggere posto in un file particolare ( messages_light.NewEvent.json )
let eventToShow = require('Storage').readJSON(settings.NewEventFileName, true);
require("Storage").erase(settings.NewEventFileName)
if( eventToShow!==undefined)

View File

@ -1,42 +1,121 @@
let overlayTimeout=undefined;
exports.listener = function(type, event) {
/*
//salva gli eventi che arrivano su file
events=require("Storage").readJSON("events_log",true) || [];
/* events=require("Storage").readJSON("events_log",true) || [];
events.push ( event)
require("Storage").writeJSON("events_log",events);*/
require("Storage").writeJSON("events_log",events);
*/
//if (event.handled) return; // already handled/app open
if( type=="music" || event.id=="music") return; //lo lascio gestire a qualcun altro
if( type=="clearAll" || type=="music" || event.id=="music") return; //lo lascio gestire a qualcun altro
//se arrivo qua gestisco io
//non mi preoccupo di salvare ( a meno di problemi a mantenere tanti messaggi in queue nella ram...)
event.handled=true;
if( Bangle.CLOCK || global.__FILE__ === undefined || global.__FILE__ === ".bootcde" || global.__FILE__.startsWith("messages_light."))
{
//se non ci sono app aperte ( clock oppure c'è messages_light)
//continuo con la visualizzazione dell messaggio
let callApp;
//se l'app non è aperta
if ("undefined"==typeof manageEvent)
{
if(event.t=="remove") return; //l'app non è aperta, non c'è nessun messaggio da rimuovere dalla queue -> non lancio l'app
//chiamo la load dell'app
callApp=function(event){
require("Storage").writeJSON("messages_light.NewEvent.json",event);
load("messages_light.app.js");
let callApp;
//se l'app non è aperta
if ("undefined"==typeof manageEvent)
{
if(event.t=="remove") return; //l'app non è aperta, non c'è nessun messaggio da rimuovere dalla queue -> non lancio l'app
//chiamo la load dell'app
callApp=function(event){
require("Storage").writeJSON("messages_light.NewEvent.json",event);
load("messages_light.app.js");
}
}
}
else
{
//dico all'app di gestire l'evento
callApp=function(event){
manageEvent(event);
else
{
//dico all'app di gestire l'evento
callApp=function(event){
manageEvent(event);
}
}
}
callApp(event);
callApp(event);
}
else{
//TODO: BHOO!!!
//vibro e basta?
//faccio comparire un overlay veloce?
//uso l'overlay sempre? ( gestione di tutti gli eventi smadonnosa... )
//salvo lo stato dell'app attuale( NON SO COME ), lancio la mia app e alla chiusura torno allo stato precedente?
console.log(event);
let ovr=undefined;
let palette;
let timeout;
if(event.id=="call" && event.t!="remove")
{
let count=3;
let idInter= setInterval(()=>{
if(--count<=0)
clearInterval(idInter);
Bangle.buzz(100,1);
},200);
ovr = Graphics.createArrayBuffer(136,136,2,{msb:true});
ovr.setColor(1).fillRect({x:0,y:0,w:135,h:135,r:8});
ovr.setColor(2).setFont("Vector:30").setFontAlign(0,0).drawString("Call",68,20);
var lines=ovr.wrapString(event.title,136);
for(let i=0;i< lines.length;i++)
ovr.setColor(2).setFont("Vector:20").setFontAlign(0,0).drawString(lines[i],68,50+i*15);
palette=[0,g.toColor("#141"),g.toColor("#fff"),g.toColor("#FFF")];
timeout=4000;
}
else if(event.t=="add" || event.t=="modify")
{
Bangle.buzz();
ovr = Graphics.createArrayBuffer(136,136,2,{msb:true});
ovr.setColor(1).fillRect({x:0,y:0,w:135,h:135,r:8});
ovr.setColor(2).setFont("Vector:20").setFontAlign(0,0).drawString(event.src,68,15);
ovr.setColor(2).setFont("Vector:15").setFontAlign(0,0).drawString(event.title,68,35);
var lines=ovr.wrapString(event.body,136);
for(let i=0;i< lines.length;i++)
ovr.setColor(2).setFont("Vector:15").setFontAlign(0,0).drawString(lines[i],68,60+i*15);
palette=[0,g.toColor("#09c"),g.toColor("#fff"),g.toColor("#FFF")];
timeout=5000;
}
if(ovr===undefined)
return;
Bangle.setLCDPower(true);
Bangle.setLCDOverlay({
width:ovr.getWidth(), height:ovr.getHeight(),
bpp:2, transparent:0,
palette:new Uint16Array(palette),
buffer:ovr.buffer
},20,20);
Bangle.setLCDPower(true);
if(overlayTimeout) clearTimeout(overlayTimeout);
overlayTimeout=setTimeout(()=>{
Bangle.setLCDOverlay();
overlayTimeout=undefined;
},timeout);
}
}

View File

@ -1,7 +1,7 @@
{
"id": "messages_light",
"name": "Messages Light",
"version": "1.4",
"version": "1.5",
"description": "A light implementation of messages App (display notifications from iOS and Gadgetbridge/Android)",
"icon": "app.png",
"type": "app",

View File

@ -6,30 +6,12 @@
"icon": "app.png",
"type": "bootloader",
"tags": "tool,system",
"supports": [
"BANGLEJS2"
],
"dependencies": {
"messageicons": "module",
"messages": "app"
},
"supports": ["BANGLEJS2"],
"dependencies" : { "messageicons":"module","messages":"app" },
"readme": "README.md",
"storage": [
{
"name": "messagesoverlay",
"url": "lib.js"
},
{
"name": "messagesoverlay.boot.js",
"url": "boot.js"
}
{"name":"messagesoverlay","url":"lib.js"},
{"name":"messagesoverlay.boot.js","url":"boot.js"}
],
"screenshots": [
{
"url": "screen_call.png"
},
{
"url": "screen_message.png"
}
]
"screenshots": [{"url":"screen_call.png"} ,{"url":"screen_message.png"} ]
}

2
apps/nesclock/ChangeLog Normal file
View File

@ -0,0 +1,2 @@
0.01: First release of clock with faces for mario1-3, kirby, and zelda
0.02: Fix issue witih plumbers font where some numbers were cut off.

8
apps/nesclock/README.md Normal file
View File

@ -0,0 +1,8 @@
# NES Themed Clock
NES Clock is a clock face that can display multiple themes based on a few NES(Nintendo Entertainment System) game title screens.
This clock has the same base clock features as Anton Clock, but can be configured in settings to change the clock theme.
## Compatibility
This clock was built for Bangle.js 2. It was inteded to be run with widgets.

View File

@ -0,0 +1 @@
require("heatshrink").decompress(atob("mEwwhC/AH4A/AH4A4/4A/AA8zACn/+cRAAsSkQAEkIOGn4XfABwXDiUzmQvUichkYXVAIRHSkczC4MzE4IvFC5UxA4cxI6IXFF7DnFkJSBmRYBCQJfIifzmYLBAQMxifd6cj7oXEDAKpCAQPxAQIOBj4XDloXGU4gvJmYvHd4pfGBgRYBHwIXDAAqPQAAq/P/5UBAAv/AAgMGCwIAXgAA/AH4A/AH4A2"))

245
apps/nesclock/app.js Normal file

File diff suppressed because one or more lines are too long

BIN
apps/nesclock/app.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

View File

@ -0,0 +1,20 @@
{
"id": "nesclock",
"name": "NES Clock",
"shortName": "NES Clock",
"version": "0.02",
"description": "A clock themed after different NES title screens.",
"readme":"README.md",
"icon": "app.png",
"screenshots": [{"url":"mario3-screenshot.png"},{"url":"mario1-screenshot.png"},{"url":"mario2-screenshot.png"},{"url":"kirby-screenshot.png"},{"url":"zelda-screenshot.png"}],
"type": "clock",
"tags": "clock",
"supports": ["BANGLEJS2"],
"allow_emulator": false,
"storage": [
{"name":"nesclock.app.js","url":"app.js"},
{"name":"nesclock.settings.js","url":"settings.js"},
{"name":"nesclock.img","url":"app-icon.js","evaluate":true}
],
"data": [{"name":"nesclock.json"}]
}

42
apps/nesclock/settings.js Normal file
View File

@ -0,0 +1,42 @@
(function(back) {
var FILE = "nesclock.json";
var settings = Object.assign({
currentFace: "Mario 3",
}, require('Storage').readJSON(FILE, true) || {});
function writeSettings() {
require('Storage').writeJSON(FILE, settings);
}
// Helper method which uses int-based menu item for set of string values
function stringItems(startvalue, writer, values) {
return {
value: (startvalue === undefined ? 0 : values.indexOf(startvalue)),
format: v => values[v],
min: 0,
max: values.length - 1,
wrap: true,
step: 1,
onchange: v => {
writer(values[v]);
writeSettings();
}
};
}
// Helper method which breaks string set settings down to local settings object
function stringInSettings(name, values) {
return stringItems(settings[name], v => settings[name] = v, values);
}
var mainmenu = {
"": {
"title": "NES Clock"
},
"< Back": () => back(),
"Game Theme": stringInSettings("currentFace", ["Mario 3", "Mario 2", "Mario 1", "Kirby", "Zelda"]),
};
E.showMenu(mainmenu);
});

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

View File

@ -9,3 +9,9 @@
0.09: Do not react if clkinfo is focused
0.10: Extend the functionality via a quicklaunch.app.js file that can be launched
with quicklaunch itself.
0.11: Add hints to the extension app. Tweak remove function.
0.12: Stackable extension screens. After updating, please visit the quicklaunch
settings page to prompt an automatic update of the quicklaunch.json settings file with
new key names.
0.13: Touch and hold to pause the timeout to clock temporarily.
0.14: Extension: Don't go down a path if nothing waits at the end. Revisit the current intersection instead.

View File

@ -1,3 +1,24 @@
Tap or swipe left/right/up/down on your clock face to launch up to five apps of your choice. The Quick Launch Extension (included) can be chosen as one of the apps, in turn providing fast access to up to five additional apps. Configurations can be accessed through Settings->Apps.
**PLEASE NOTE: With v0.12 of Quick Launch the keys of the settings file have been changed. Please just visit Settings->Apps->Quick Launch to prompt an automatic update. Quick Launch will not be responsive until this has been done. This is a consequence of how the new stackable extension screens are implemented.**
Tap or swipe left/right/up/down on your clock face to launch up to five apps of your choice. The extension (included) can be chosen as one of the apps, in turn providing fast access to up to five additional apps per extension screen - which can be stacked indefinitely. Configurations can be accessed through Settings->Apps.
Below are extension screens where current apps have been set like so:
- left swipe is "PA Remote",
- right swipe is "Remote for Spotify" and
- down swipe is another extension screen where new apps are accessible.
![](screenshot0.png)
*Extension screen.*
![](screenshot1.png)
*Extension screen when Fastload Utils is present.*
## Contributors
frigis1 (Creator),
halemmerich,
thyttan,
glemco.

View File

@ -8,35 +8,72 @@
storage.write("quicklaunch.json", settings);
};
let leaveTrace = function(trace) {
if (settings[trace+"app"].name != "") {
settings.trace = trace;
storage.writeJSON("quicklaunch.json", settings);
} else { trace = trace.substring(0, trace.length-1); }
return trace;
};
let launchApp = function(trace) {
if (settings[trace+"app"]) {
if (settings[trace+"app"].src){
if (settings[trace+"app"].name == "Show Launcher") Bangle.showLauncher(); else if (!storage.read(settings[trace+"app"].src)) reset(trace+"app"); else load(settings[trace+"app"].src);
}
}
};
let trace = settings.trace;
let touchHandler = (_,e) => {
if (e.type == 2) return;
let R = Bangle.appRect;
if (e.x < R.x || e.x > R.x2 || e.y < R.y || e.y > R.y2 ) return;
if (settings.exttapapp.src){ if (settings.exttapapp.name == "Show Launcher") Bangle.showLauncher(); else if (!storage.read(settings.exttapapp.src)) reset("exttapapp"); else load(settings.exttapapp.src); }
trace = leaveTrace(trace+"t"); // t=tap.
launchApp(trace);
};
let swipeHandler = (lr,ud) => {
if (lr == -1 && settings.extleftapp && settings.extleftapp.src){ if (settings.extleftapp.name == "Show Launcher") Bangle.showLauncher(); else if (!storage.read(settings.extleftapp.src)) reset("extleftapp"); else load(settings.extleftapp.src); }
if (lr == 1 && settings.extrightapp && settings.extrightapp.src){ if (settings.extrightapp.name == "Show Launcher") Bangle.showLauncher(); else if (!storage.read(settings.extrightapp.src)) reset("extrightapp"); else load(settings.extrightapp.src); }
if (ud == -1 && settings.extupapp && settings.extupapp.src){ if (settings.extupapp.name == "Show Launcher") Bangle.showLauncher(); else if (!storage.read(settings.extupapp.src)) reset("extupapp"); else load(settings.extupapp.src); }
if (ud == 1 && settings.extdownapp && settings.extdownapp.src){ if (settings.extdownapp.name == "Show Launcher") Bangle.showLauncher(); else if (!storage.read(settings.extdownapp.src)) reset("extdownapp"); else load(settings.extdownapp.src); }
if (lr == -1) trace = leaveTrace(trace+"l"); // l=left,
if (lr == 1) trace = leaveTrace(trace+"r"); // r=right,
if (ud == -1) trace = leaveTrace(trace+"u"); // u=up,
if (ud == 1) trace = leaveTrace(trace+"d"); // d=down.
launchApp(trace);
};
let onLongTouchDoPause = (e)=>{
if (e.b == 1 && timeoutToClock) {clearTimeout(timeoutToClock); timeoutToClock = false;}
if (e.b == 0 && !timeoutToClock) updateTimeoutToClock();
};
Bangle.setUI({
mode: "custom",
mode: "custom",
touch: touchHandler,
swipe : swipeHandler,
remove: ()=>{if (timeoutToClock) clearTimeout(timeoutToClock);} // Compatability with Fastload Utils.
drag : onLongTouchDoPause,
remove: ()=>{if (timeoutToClock) clearTimeout(timeoutToClock);} // Compatibility with Fastload Utils.
});
g.clearRect(Bangle.appRect);
Bangle.loadWidgets(); // Compatability with Fastload Utils.
"Bangle.loadWidgets()"; // Hack: Fool Fastload Utils that we call Bangle.loadWidgets(). This way we get the fastest possibe loading in whichever environment we find ourselves.
// taken from Icon Launcher with some alterations
let timeoutToClock;
const updateTimeoutToClock = function(){
let time = 1000; // milliseconds
let time = 1500; // milliseconds
if (timeoutToClock) clearTimeout(timeoutToClock);
timeoutToClock = setTimeout(load,time);
timeoutToClock = setTimeout(load,time);
};
updateTimeoutToClock();
let R = Bangle.appRect;
// Draw app hints
g.setFont("Vector", 11)
.setFontAlign(0,1,3).drawString(settings[trace+"lapp"].name, R.x2, R.y+R.h/2)
.setFontAlign(0,1,1).drawString(settings[trace+"rapp"].name, R.x, R.y+R.h/2)
.setFontAlign(0,1,0).drawString(settings[trace+"uapp"].name, R.x+R.w/2, R.y2)
.setFontAlign(0,-1,0).drawString(settings[trace+"dapp"].name, R.x+R.w/2, R.y)
.setFontAlign(0,0,0).drawString(settings[trace+"tapp"].name, R.x+R.w/2, R.y+R.h/2);
}

View File

@ -8,21 +8,36 @@
storage.write("quicklaunch.json", settings);
};
let leaveTrace = function(trace) {
settings.trace = trace;
storage.writeJSON("quicklaunch.json", settings);
return trace;
};
let launchApp = function(trace) {
if (settings[trace+"app"].src){
if (settings[trace+"app"].name == "Show Launcher") Bangle.showLauncher(); else if (!storage.read(settings[trace+"app"].src)) reset(trace+"app"); else load(settings[trace+"app"].src);
}
}
let trace;
Bangle.on("touch", (_,e) => {
if (!Bangle.CLOCK) return;
if (Bangle.CLKINFO_FOCUS) return;
let R = Bangle.appRect;
if (e.x < R.x || e.x > R.x2 || e.y < R.y || e.y > R.y2 ) return;
if (settings.tapapp.src){ if (settings.tapapp.name == "Show Launcher") Bangle.showLauncher(); else if (!storage.read(settings.tapapp.src)) reset("tapapp"); else load(settings.tapapp.src); }
trace = leaveTrace("t"); // t=tap
launchApp(trace);
});
Bangle.on("swipe", (lr,ud) => {
if (!Bangle.CLOCK) return;
if (Bangle.CLKINFO_FOCUS) return;
if (lr == -1 && settings.leftapp && settings.leftapp.src){ if (settings.leftapp.name == "Show Launcher") Bangle.showLauncher(); else if (!storage.read(settings.leftapp.src)) reset("leftapp"); else load(settings.leftapp.src); }
if (lr == 1 && settings.rightapp && settings.rightapp.src){ if (settings.rightapp.name == "Show Launcher") Bangle.showLauncher(); else if (!storage.read(settings.rightapp.src)) reset("rightapp"); else load(settings.rightapp.src); }
if (ud == -1 && settings.upapp && settings.upapp.src){ if (settings.upapp.name == "Show Launcher") Bangle.showLauncher(); else if (!storage.read(settings.upapp.src)) reset("upapp"); else load(settings.upapp.src); }
if (ud == 1 && settings.downapp && settings.downapp.src){ if (settings.downapp.name == "Show Launcher") Bangle.showLauncher(); else if (!storage.read(settings.downapp.src)) reset("downapp"); else load(settings.downapp.src); }
if (lr == -1) trace = leaveTrace("l"); // l=left,
if (lr == 1) trace = leaveTrace("r"); // r=right,
if (ud == -1) trace = leaveTrace("u"); // u=up,
if (ud == 1) trace = leaveTrace("d"); // d=down.
launchApp(trace);
});
}

View File

@ -2,7 +2,7 @@
"id": "quicklaunch",
"name": "Quick Launch",
"icon": "app.png",
"version": "0.10",
"version": "0.14",
"description": "Tap or swipe left/right/up/down on your clock face to launch up to five apps of your choice. Configurations can be accessed through Settings->Apps.",
"type": "bootloader",
"tags": "tools, system",

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@ -2,10 +2,38 @@
var storage = require("Storage");
var settings = Object.assign(storage.readJSON("quicklaunch.json", true) || {});
for (let c of ["leftapp","rightapp","upapp","downapp","tapapp","extleftapp","extrightapp","extupapp","extdownapp","exttapapp"]){
if (!settings[c]) settings[c] = {"name":"(none)"};
// Add default settings if they haven't been configured before.
for (let c of ["lapp","rapp","uapp","dapp","tapp"]){ // l=left, r=right, u=up, d=down, t=tap.
if (!settings[c]) settings[c] = {"name":""};
}
// Convert settings object from before v0.12 to v0.12.
for (let c of ["leftapp","rightapp","upapp","downapp","tapapp"]){
if (settings[c]) {
let cNew = c.substring(0,1)+"app";
settings[cNew] = settings[c];
delete settings[c];
if (settings[cNew].name=="(none)") settings[cNew].name = "";
if (settings[cNew].name=="Quick Launch Extension"){
settings[cNew].name = "Extension";
for (let d of ["extleftapp","extrightapp","extupapp","extdownapp","exttapapp"]){
if (settings[d]) {
let dNew = cNew.substring(0,1)+d.substring(3,4)+"app";
settings[dNew] = settings[d];
delete settings[d];
if (settings[dNew].name=="(none)") settings[dNew].name = "";
}
}
}
storage.writeJSON("quicklaunch.json",settings);
}
}
for (let d of ["extleftapp","extrightapp","extupapp","extdownapp","exttapapp"]){
if (settings[d]) delete settings[d];
}
var apps = storage.list(/\.info$/).map(app=>{var a=storage.readJSON(app,1);return a&&{name:a.name,type:a.type,sortorder:a.sortorder,src:a.src};}).filter(app=>app && (app.type=="app" || app.type=="launch" || app.type=="clock" || !app.type));
// Add psuedo app to trigger Bangle.showLauncher later
@ -17,12 +45,13 @@ apps.push({
});
// Add the Quick Launch extension app
apps.push({
"name": "Quick Launch Extension",
let extension = {
"name": "Extension",
"type": "app",
"sortorder": -11,
"src": "quicklaunch.app.js"
});
};
apps.push(extension);
apps.sort((a,b)=>{
var n=(0|a.sortorder)-(0|b.sortorder);
@ -32,9 +61,28 @@ apps.sort((a,b)=>{
return 0;
});
function findPath(key) {return key.substring(0, key.length-3);}
function save(key, value) {
let path = findPath(key);
// If changing from extension app (to something else) remove downstream settings entries.
if (settings[key].name == extension.name && value.name != extension.name) {
for (let c of [path+"lapp", path+"rapp", path+"uapp", path+"dapp", path+"tapp"]) {
delete settings[c];
}
}
// If changing to extension app (from something else) add downstream settings entries.
if (value.name == extension.name && settings[key].name != extension.name) {
for (let c of [path+"lapp", path+"rapp", path+"uapp", path+"dapp", path+"tapp"]) {
settings[c] = {"name":""};
storage.write("quicklaunch.json",settings);
}
}
// Now change the setting on the current level in the path.
settings[key] = value;
storage.write("quicklaunch.json",settings);
storage.writeJSON("quicklaunch.json",settings);
}
function showMainMenu() {
@ -44,203 +92,43 @@ function showMainMenu() {
"< Back" : ()=>{load();}
};
//List all selected apps
mainmenu["Left: "+settings.leftapp.name] = function() { E.showMenu(leftmenu); };
mainmenu["Right: "+settings.rightapp.name] = function() { E.showMenu(rightmenu); };
mainmenu["Up: "+settings.upapp.name] = function() { E.showMenu(upmenu); };
mainmenu["Down: "+settings.downapp.name] = function() { E.showMenu(downmenu); };
mainmenu["Tap: "+settings.tapapp.name] = function() { E.showMenu(tapmenu); };
mainmenu["Extend Quick Launch"] = showExtMenu;
// List all selected apps.
for (let key of Object.keys(settings)) {
if (key == "trace") continue;
let keyCurrent = key;
let entry = findPath(key).toUpperCase();
if (entry=="L") entry = "Left";
if (entry=="R") entry = "Right";
if (entry=="U") entry = "Up";
if (entry=="D") entry = "Down";
if (entry=="T") entry = "Tap";
// If no app is selected the name is an empty string, but we want to display "(none)".
let appName = settings[key].name==""?"(none)":settings[key].name;
mainmenu[entry+ ": "+appName] = function() {showSubMenu(keyCurrent);};
}
return E.showMenu(mainmenu);
}
//Left swipe menu
var leftmenu = {
"" : { "title" : "Left Swipe" },
"< Back" : showMainMenu
};
leftmenu["(none)"] = function() {
save("leftapp", {"name":"(none)"});
showMainMenu();
};
apps.forEach((a)=>{
leftmenu[a.name] = function() {
save("leftapp", a);
showMainMenu();
};
});
//Right swipe menu
var rightmenu = {
"" : { "title" : "Right Swipe" },
"< Back" : showMainMenu
};
rightmenu["(none)"] = function() {
save("rightapp", {"name":"(none)"});
showMainMenu();
};
apps.forEach((a)=>{
rightmenu[a.name] = function() {
save("rightapp", a);
showMainMenu();
};
});
//Up swipe menu
var upmenu = {
"" : { "title" : "Up Swipe" },
"< Back" : showMainMenu
};
upmenu["(none)"] = function() {
save("upapp", {"name":"(none)"});
showMainMenu();
};
apps.forEach((a)=>{
upmenu[a.name] = function() {
save("upapp", a);
showMainMenu();
};
});
//Down swipe menu
var downmenu = {
"" : { "title" : "Down Swipe" },
"< Back" : showMainMenu
};
downmenu["(none)"] = function() {
save("downapp", {"name":"(none)"});
showMainMenu();
};
apps.forEach((a)=>{
downmenu[a.name] = function() {
save("downapp", a);
showMainMenu();
};
});
//Tap menu
var tapmenu = {
"" : { "title" : "Tap" },
"< Back" : showMainMenu
};
tapmenu["(none)"] = function() {
save("tapapp", {"name":"(none)"});
showMainMenu();
};
apps.forEach((a)=>{
tapmenu[a.name] = function() {
save("tapapp", a);
showMainMenu();
};
});
function showExtMenu() {
// Extend Quick Launch menu
var extmenu = {
"" : { "title" : "Extend Quick Launch" },
"< Back" : ()=>{showMainMenu();}
function showSubMenu(key) {
var submenu = {
"" : { "title" : "Path: "+findPath(key).toUpperCase()},
"< Back" : showMainMenu
};
submenu["(none)"] = function() {
save(key, {"name":""});
showMainMenu();
};
apps.forEach((a)=>{
submenu[a.name] = function() {
save(key, a);
showMainMenu();
};
});
//List all selected apps
extmenu["Left: "+settings.extleftapp.name] = function() { E.showMenu(extleftmenu); };
extmenu["Right: "+settings.extrightapp.name] = function() { E.showMenu(extrightmenu); };
extmenu["Up: "+settings.extupapp.name] = function() { E.showMenu(extupmenu); };
extmenu["Down: "+settings.extdownapp.name] = function() { E.showMenu(extdownmenu); };
extmenu["Tap: "+settings.exttapapp.name] = function() { E.showMenu(exttapmenu); };
return E.showMenu(extmenu);
return E.showMenu(submenu);
}
//Extension Left swipe menu
var extleftmenu = {
"" : { "title" : "Extension Left Swipe" },
"< Back" : showExtMenu
};
extleftmenu["(none)"] = function() {
save("extleftapp", {"name":"(none)"});
showExtMenu();
};
apps.forEach((a)=>{
extleftmenu[a.name] = function() {
save("extleftapp", a);
showExtMenu();
};
});
//Extension Right swipe menu
var extrightmenu = {
"" : { "title" : "Extension Right Swipe" },
"< Back" : showExtMenu
};
extrightmenu["(none)"] = function() {
save("extrightapp", {"name":"(none)"});
showExtMenu();
};
apps.forEach((a)=>{
extrightmenu[a.name] = function() {
save("extrightapp", a);
showExtMenu();
};
});
//Extension Up swipe menu
var extupmenu = {
"" : { "title" : "Extension Up Swipe" },
"< Back" : showExtMenu
};
extupmenu["(none)"] = function() {
save("extupapp", {"name":"(none)"});
showExtMenu();
};
apps.forEach((a)=>{
extupmenu[a.name] = function() {
save("extupapp", a);
showExtMenu();
};
});
//Extension Down swipe menu
var extdownmenu = {
"" : { "title" : "Extension Down Swipe" },
"< Back" : showExtMenu
};
downmenu["(none)"] = function() {
save("extdownapp", {"name":"(none)"});
showExtMenu();
};
apps.forEach((a)=>{
extdownmenu[a.name] = function() {
save("extdownapp", a);
showExtMenu();
};
});
//Extension Tap menu
var exttapmenu = {
"" : { "title" : "Extension Tap" },
"< Back" : showExtMenu
};
exttapmenu["(none)"] = function() {
save("exttapapp", {"name":"(none)"});
showExtMenu();
};
apps.forEach((a)=>{
exttapmenu[a.name] = function() {
save("exttapapp", a);
showExtMenu();
};
});
showMainMenu();
})

View File

@ -5,37 +5,16 @@
"description": "Displays distance, time, steps, cadence, pace and more for runners. Based on the Run app, but extended with additional screen for heart rate interval training.",
"icon": "app.png",
"tags": "run,running,fitness,outdoors,gps,karvonen,karvonnen",
"supports": [
"BANGLEJS2"
],
"screenshots": [
{
"url": "screenshot.png"
}
],
"supports": ["BANGLEJS2"],
"screenshots": [{"url": "screenshot.png"}],
"readme": "README.md",
"storage": [
{
"name": "runplus.app.js",
"url": "app.js"
},
{
"name": "runplus.img",
"url": "app-icon.js",
"evaluate": true
},
{
"name": "runplus.settings.js",
"url": "settings.js"
},
{
"name": "runplus_karvonen",
"url": "karvonen.js"
}
{"name": "runplus.app.js", "url": "app.js"},
{"name": "runplus.img", "url": "app-icon.js", "evaluate": true},
{"name": "runplus.settings.js", "url": "settings.js"},
{"name": "runplus_karvonen", "url": "karvonen.js"}
],
"data": [
{
"name": "runplus.json"
}
{"name": "runplus.json"}
]
}

View File

@ -22,3 +22,4 @@
0.19: Update clock_info to refresh periodically on active alarms/timers
0.20: Alarm dismiss and snooze events
0.21: Fix crash in clock_info
0.22: Dated event repeat option

View File

@ -45,7 +45,9 @@ Alarms are stored in an array in `sched.json`, and take the form:
// eg (new Date()).toISOString().substr(0,10)
msg : "Eat food", // message to display.
last : 0, // last day of the month we alarmed on - so we don't alarm twice in one day! (No change from 0 on timers)
rp : true, // repeat the alarm every day?
rp : true, // repeat the alarm every day? If date is given, pass an object instead of a boolean,
// e.g. repeat every 2 months: { interval: "month", num: 2 }.
// Supported intervals: day, week, month, year
vibrate : "...", // OPTIONAL pattern of '.', '-' and ' ' to use for when buzzing out this alarm (defaults to '..' if not set)
hidden : false, // OPTIONAL if false, the widget should not show an icon for this alarm
as : false, // auto snooze

View File

@ -1,7 +1,7 @@
{
"id": "sched",
"name": "Scheduler",
"version": "0.21",
"version": "0.22",
"description": "Scheduling library for alarms and timers",
"icon": "app.png",
"type": "scheduler",

View File

@ -42,7 +42,9 @@ function showAlarm(alarm) {
if (del) {
alarms.splice(alarmIndex, 1);
} else {
if (!alarm.timer) {
if (alarm.date && alarm.rp) {
setNextRepeatDate(alarm);
} else if (!alarm.timer) {
alarm.last = new Date().getDate();
}
if (alarm.ot !== undefined) {
@ -78,6 +80,35 @@ function showAlarm(alarm) {
});
}
function setNextRepeatDate(alarm) {
let date = new Date(alarm.date);
let rp = alarm.rp;
if (rp===true) { // fallback in case rp is set wrong
date.setDate(date.getDate() + 1);
} else switch(rp.interval) { // rp is an object
case "day":
date.setDate(date.getDate() + rp.num);
break;
case "week":
date.setDate(date.getDate() + (rp.num * 7));
break;
case "month":
if (!alarm.od) alarm.od = date.getDate();
date = new Date(date.getFullYear(), date.getMonth() + rp.num, alarm.od);
if (date.getDate() != alarm.od) date.setDate(0);
break;
case "year":
if (!alarm.od) alarm.od = date.getDate();
date = new Date(date.getFullYear() + rp.num, date.getMonth(), alarm.od);
if (date.getDate() != alarm.od) date.setDate(0);
break;
default:
console.log(`sched: unknown repeat '${JSON.stringify(rp)}'`);
break;
}
alarm.date = date.toLocalISOString().slice(0,10);
}
if ((require("Storage").readJSON("setting.json", 1) || {}).quiet > 1)
return;

View File

@ -7,6 +7,7 @@
"icon": "app.png",
"tags": "tool,torch",
"supports": ["BANGLEJS","BANGLEJS2"],
"readme":"README.md",
"storage": [
{"name":"torch.app.js","url":"app.js"},
{"name":"torch.wid.js","url":"widget.js","supports": ["BANGLEJS"]},

View File

@ -0,0 +1 @@
0.01: New App!

View File

@ -0,0 +1,3 @@
# Waypoints
Simple waypoint editor.

View File

@ -0,0 +1 @@
require("heatshrink").decompress(atob("mEwwJC/AH4A/AH4AgA=="))

273
apps/waypoint_editor/app.js Normal file
View File

@ -0,0 +1,273 @@
/* Thanks to pinsafe from BangleApps repository */
var Layout = require("Layout");
const W = g.getWidth();
const H = g.getHeight();
var wp = require('Storage').readJSON("waypoints.json", true) || [];
// Use this with corrupted waypoints
//var wp = [];
/* 0 .. DD.ddddd
1 .. DD MM.mmm'
2 .. DD MM'ss"
*/
var mode = 1;
function writeWP() {
require('Storage').writeJSON("waypoints.json", wp);
}
function mainMenu() {
var menu = {
"< Back" : Bangle.load
};
if (Object.keys(wp).length==0) Object.assign(menu, {"NO WPs":""});
else for (let id in wp) {
let i = id;
menu[wp[id]["name"]]=()=>{ decode(i); };
}
menu["Add"]=addCard;
menu["Remove"]=removeCard;
menu["Format"]=setFormat;
g.clear();
E.showMenu(menu);
}
function setFormat() {
var confirmRemove = new Layout (
{type:"v", c: [
{type:"txt", font:"15%", pad:1, fillx:1, filly:1, label:"Format"},
{type:"btn", font:"15%", pad:1, fillx:1, filly:1, label: "DD.dddd", cb:l=>{ mode = 0; mainMenu(); }},
{type:"btn", font:"15%", pad:1, fillx:1, filly:1, label: "DD MM.mmm'", cb:l=>{ mode = 1; mainMenu(); }},
{type:"btn", font:"15%", pad:1, fillx:1, filly:1, label: "DD MM'ss"+'"', cb:l=>{ mode = 2; mainMenu(); }},
], lazy:true});
g.clear();
confirmRemove.render();
}
function format(x) {
switch (mode) {
case 0:
return "" + x;
case 1:
d = Math.floor(x);
m = x - d;
m = m*60;
return "" + d + " " + m + "'";
case 2:
d = Math.floor(x);
m = x - d;
m = m*60;
mf = Math.floor(m);
s = m - mf;
s = s*60;
return "" + d + " " + mf + "'" + s + '"';
}
}
function lat(x) {
c = "N";
if (x<0) {
c = "S";
x = -x;
}
return c+format(x);
}
function lon(x) {
c = "E";
if (x<0) {
c = "W";
x = -x;
}
return c+format(x);
}
function decode(pin) {
print(pin);
var i = wp[pin];
var pinDecrypted=i["name"] + "\n" + lat(i["lat"]) + "\n" + lon(i["lon"]);
var showPin = new Layout ({
type:"v", c: [
{type:"txt", font:"10%", pad:1, fillx:1, filly:1, label: pinDecrypted},
{type:"btn", font:"10%", pad:1, fillx:1, filly:1, label:"OK", cb:l=>{mainMenu();}}
], lazy:true});
g.clear();
showPin.render();
}
function showNumpad(text, key_, callback) {
key = key_;
E.showMenu();
function addDigit(digit) {
key+=digit;
if (1) {
l = text[key.length];
switch (l) {
case '.': case ' ': case "'":
key+=l;
break;
case 'd': case 'D': default:
break;
}
}
Bangle.buzz(20);
update();
}
function update() {
g.reset();
g.clearRect(0,0,g.getWidth(),23);
s = key + text.substr(key.length, 999);
g.setFont("Vector:24").setFontAlign(1,0).drawString(s,g.getWidth(),12);
}
ds="12%";
var numPad = new Layout ({
type:"v", c: [{
type:"v", c: [
{type:"", height:24},
{type:"h",filly:1, c: [
{type:"btn", font:ds, width:58, label:"7", cb:l=>{addDigit("7");}},
{type:"btn", font:ds, width:58, label:"8", cb:l=>{addDigit("8");}},
{type:"btn", font:ds, width:58, label:"9", cb:l=>{addDigit("9");}}
]},
{type:"h",filly:1, c: [
{type:"btn", font:ds, width:58, label:"4", cb:l=>{addDigit("4");}},
{type:"btn", font:ds, width:58, label:"5", cb:l=>{addDigit("5");}},
{type:"btn", font:ds, width:58, label:"6", cb:l=>{addDigit("6");}}
]},
{type:"h",filly:1, c: [
{type:"btn", font:ds, width:58, label:"1", cb:l=>{addDigit("1");}},
{type:"btn", font:ds, width:58, label:"2", cb:l=>{addDigit("2");}},
{type:"btn", font:ds, width:58, label:"3", cb:l=>{addDigit("3");}}
]},
{type:"h",filly:1, c: [
{type:"btn", font:ds, width:58, label:"0", cb:l=>{addDigit("0");}},
{type:"btn", font:ds, width:58, label:"C", cb:l=>{key=key.slice(0,-1); update();}},
{type:"btn", font:ds, width:58, id:"OK", label:"OK", cb:callback}
]}
]}
], lazy:true});
g.clear();
numPad.render();
update();
}
function removeCard() {
var menu = {
"" : {title : "select card"},
"< Back" : mainMenu
};
if (Object.keys(wp).length==0) Object.assign(menu, {"NO CARDS":""});
else for (let c in wp) {
let card=c;
menu[c]=()=>{
E.showMenu();
var confirmRemove = new Layout (
{type:"v", c: [
{type:"txt", font:"15%", pad:1, fillx:1, filly:1, label:"Delete"},
{type:"txt", font:"15%", pad:1, fillx:1, filly:1, label:card+"?"},
{type:"h", c: [
{type:"btn", font:"15%", pad:1, fillx:1, filly:1, label: "YES", cb:l=>{
delete wp[card];
writeWP();
mainMenu();
}},
{type:"btn", font:"15%", pad:1, fillx:1, filly:1, label: " NO", cb:l=>{mainMenu();}}
]}
], lazy:true});
g.clear();
confirmRemove.render();
};
}
E.showMenu(menu);
}
function ask01(t, cb) {
var confirmRemove = new Layout (
{type:"v", c: [
{type:"txt", font:"15%", pad:1, fillx:1, filly:1, label:"Format"},
{type:"btn", font:"15%", pad:1, fillx:1, filly:1, label: t[0], cb:l=>{ cb(1); }},
{type:"btn", font:"15%", pad:1, fillx:1, filly:1, label: t[1], cb:l=>{ cb(-1); }},
], lazy:true});
g.clear();
confirmRemove.render();
}
function askCoordinate(t1, t2, callback) {
let sign = 1;
ask01(t1, function(sign) {
switch (mode) {
case 0: s = "DDD.dddd"; break;
case 1: s = "DDD MM.mmm"; break;
case 2: s = "DDD MM'ss"+'"'; break;
}
showNumpad(s, t2, function() {
switch (mode) {
case 0:
res = parseFloat(key);
break;
case 1:
d = parseInt(key.substr(0, 3));
m = parseFloat(key.substr(3,99));
res = d + m/60.0;
break;
case 2:
d = parseInt(key.substr(0, 3));
m = parseInt(key.substr(4, 2));
s = parseInt(key.substr(7, 2));
res = d + m/60.0 + s/3600.0;
}
res = sign * res;
print("Coordinate", res);
callback(res);
});
});
}
function askPosition(callback) {
let full = "";
askCoordinate("NS", "0", function(lat) {
askCoordinate("EW", "", function(lon) {
callback(lat, lon);
});
});
}
function addCard() {
showNumpad("wpXX", "wp", function() {
result = key;
if (wp[result]!=undefined) {
E.showMenu();
var alreadyExists = new Layout (
{type:"v", c: [
{type:"txt", font:Math.min(15,100/result.length)+"%", pad:1, fillx:1, filly:1, label:result},
{type:"txt", font:"12%", pad:1, fillx:1, filly:1, label:"already exists."},
{type:"h", c: [
{type:"btn", font:"10%", pad:1, fillx:1, filly:1, label: "REPLACE", cb:l=>{encodeCard(result);}},
{type:"btn", font:"10%", pad:1, fillx:1, filly:1, label: "CANCEL", cb:l=>{mainMenu();}}
]}
], lazy:true});
g.clear();
alreadyExists.render();
}
g.clear();
askPosition(function(lat, lon) {
print("position -- ", lat, lon);
let n = {};
n["name"] = result;
n["lat"] = lat;
n["lon"] = lon;
wp.push(n);
print("add -- waypoints", wp);
writeWP();
mainMenu();
});
});
}
g.reset();
Bangle.setUI();
mainMenu();

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

@ -0,0 +1,13 @@
{ "id": "waypoint_editor",
"name": "Waypoint editor",
"version":"0.01",
"description": "Allows editing waypoints on device",
"icon": "app.png",
"readme": "README.md",
"supports" : ["BANGLEJS2"],
"tags": "tool,outdoors,gps",
"storage": [
{"name":"waypoint_editor.app.js","url":"app.js"},
{"name":"waypoint_editor.img","url":"app-icon.js","evaluate":true}
]
}

View File

@ -6,7 +6,8 @@
"type": "widget",
"description": "A simple widget that shows a yellow lightning icon to indicate whenever the watch is charging. This way one can see the charging status at a glance, no matter which battery widget is being used.",
"tags": "widget",
"supports": ["BANGLEJS","BANGLEJS2"],
"supports": ["BANGLEJS","BANGLEJS2"],
"readme":"README.md",
"storage": [
{"name":"widChargingStatus.wid.js","url":"widget.js"}
]

View File

@ -1,2 +1,3 @@
0.01: First version
0.02: Support for Bangle.js 2
0.03: Update storage usage and perform GC every minute

View File

@ -1,6 +1,6 @@
{ "id": "widdevst",
"name": "Device Status Widget",
"version": "0.02",
"version": "0.03",
"description": "Shows power status of Bluetooth, Compass, GPS and Heart Rate Monitor as well as storage and memory usage.",
"icon": "icon.png",
"type": "widget",

View File

@ -1,22 +1,31 @@
(() => {
WIDGETS.devst = {area: "tr", width: 21, draw: function() {
var stat = {date: 0};
WIDGETS.devst = {area: "tr", width: 22, draw: function() {
if (WIDGETS.devst._draw) return;
var d = new Date();
var t;
if ((d - stat.date) < 6e4) {
t = process.memory(false);
} else {
stat.date = d;
t = require('Storage').getStats();
stat.sto = t.fileBytes / t.totalBytes;
t = process.memory();
}
t = t.usage / t.total;
var x = this.x;
var y = this.y;
g.reset();
g.clearRect(x, y, x + 20, y + 23);
g.drawRect(x + 1, y + 1, x + 19, y + 22);
g.clearRect(x, y, x + 21, y + 23);
g.drawRect(x + 2, y + 1, x + 20, y + 21);
g.setFont('6x8', 1);
if (NRF.getSecurityStatus().connected) g.drawString('B', x + 4, y + 3);
if (Bangle.isCompassOn()) g.drawString('C', x + 12, y + 3);
if (Bangle.isGPSOn()) g.drawString('G', x + 4, y + 13);
if (Bangle.isHRMOn()) g.drawString('H', x + 12, y + 13);
var t = require('Storage').getStats();
var u = t.fileBytes / t.totalBytes;
g.setColor(col(u)); g.drawRect(x + 1, y + 22, x + 1 + u * 18, y + 23);
t = process.memory(false);
u = t.usage / t.total;
g.setColor(col(u)); g.drawRect(x, y + 22 - u * 21, x + 1, y + 22);
if (NRF.getSecurityStatus().connected) g.drawString('B', x + 5, y + 3);
if (Bangle.isCompassOn()) g.drawString('C', x + 13, y + 3);
if (Bangle.isGPSOn()) g.drawString('G', x + 5, y + 12);
if (Bangle.isHRMOn()) g.drawString('H', x + 13, y + 12);
g.setColor(col(stat.sto)); g.drawRect(x + 2, y + 21, x + 2 + stat.sto * 18, y + 22);
g.setColor(col(t)); g.drawRect(x + 1, y + 21 - t * 20, x + 2, y + 21);
}};
function col(p) {

View File

@ -26,8 +26,10 @@ var device = { id : DEVICEID, appsInstalled : [] };
// call with {DEVICEID:"BANGLEJS/BANGLEJS2"}
exports.init = function(options) {
if (options.DEVICEID)
if (options.DEVICEID) {
DEVICEID = options.DEVICEID;
device.id = options.DEVICEID;
}
// Load app metadata
var dirs = require("fs").readdirSync(APPSDIR, {withFileTypes: true});
dirs.forEach(dir => {

View File

@ -162,7 +162,14 @@ apps.forEach((app,appIdx) => {
ERROR(`App ${app.id} screenshot file ${screenshot.url} not found`, {file:metadataFile});
});
}
if (app.readme && !fs.existsSync(appDir+app.readme)) ERROR(`App ${app.id} README file doesn't exist`, {file:metadataFile});
if (app.readme) {
if (!fs.existsSync(appDir+app.readme))
ERROR(`App ${app.id} README file doesn't exist`, {file:metadataFile});
} else {
let readme = fs.readdirSync(appDir).find(f => f.toLowerCase().includes("readme"));
if (readme)
ERROR(`App ${app.id} has a README in the directory (${readme}) but it's not linked`, {file:metadataFile});
}
if (app.custom && !fs.existsSync(appDir+app.custom)) ERROR(`App ${app.id} custom HTML doesn't exist`, {file:metadataFile});
if (app.customConnect && !app.custom) ERROR(`App ${app.id} has customConnect but no customn HTML`, {file:metadataFile});
if (app.interface && !fs.existsSync(appDir+app.interface)) ERROR(`App ${app.id} interface HTML doesn't exist`, {file:metadataFile});

2
core

@ -1 +1 @@
Subproject commit 0d02ff3763783d166ff84906af038420736aabfc
Subproject commit 425c4a98aed7c4d9b640e37463b534a45a20def7

View File

@ -1,123 +1,123 @@
{
"// created with bin/language_render.js": "",
"GLOBAL": {
"New Alarm": "\u0000]\u0010\u0000\u0010\u0000\u0000\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000@#ü \u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001fÞ\u0004‰\u0000\u0000\u0000\u0000\u0000\u0000\u0000€\u0000€$HCà#€\u0000\u0000\u0002\u0002$\u0001\"Aá\u0000à\u0000\u0000\u0000\u0010\n Ò\u0000\u0010\u00008\u0000\u0000\u0000ƒýøH\t\u0000Ž@\u0000\u0000\b\u0001\t\u0004@€0\u0003‚\b\u001f\u0000@\bH\"\u0014\u0001\u0000\u0000\u0010?\u0000\u0002CúB\b@\b\u0000\u0001\u0000\u0000\u0000!\u0002\u0012 @\u0000@\u0000\b\u0000\u0000\u0001\fTð\u0004\u0000\u0000€\u0000\u0000S””€\u0010\u0000 \u0000\b\u0000\u0000\u0001àÄD\u0000€\u0002\u0000\u0001€\u0000\u0000\u0000\u0000¢#ÿø \u00000\u0000\u0000\u0000\u0000\u0002!\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000",
"New Timer": "\u0000]\u0010\u0000\u0010\u0000\u0000\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000@#ü \u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001fÞ\u0004‰\u0000€\u0000\b\u0000\u0000\u0000\u0000\u0000€$H\u0002\u0000\u0000@\u0000\u0000\u0000\u0002$\u0001\"@\u001f\u0000\u0004\u0002\u000f\u0000\u0000\n Ò\u0001\b\u0000@\u000f„\u0000\u0003ýøH\b€\f\u0000\u0000@\u0000\u0001\t\u0004@€¤\u0001 \u0000\u0004\b\u001f\bH\"\u0014\bÀ0€\u0000@?\u0003úB\b@‚\u0000\u0004\u0000d\u0000\u0000\u0002\u0012 @\u0000 \u0000 \u0000À\u0000\u0000Tð\u0002\u0000\u0001\u0000\u0001\u0000\u0000\u0004”€\u0010\u0000 \u0000\b\u0000\u0004\u0000\u0000DD\u0000€\u0006\u0000\u0000@\u0000\u0000\u0000\u0000¢#ÿøÀ\u0000\u0002\u0000\u0000\u0000\u0000\u0002!\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000",
"New Alarm": "\u0000l\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000€@\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000\b\u0010\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\b\u0000\b\u0000Oð@\b|\u0004p\u0000\u0000\u0000@\u0004°\u0004\u0004\u001fx@8\u0000\u0000\u0000\u0004\u0000<\u0000\b\u0013ù\u0010\b\u0000\u001c\u0000\u0000\u0000@\u0001\u0000\u0000ÿ\u0004‘\t\u0000Ž@\u0000\u0000\b\u0000\u0010ƒÈ\u0000I\u0010`\u0007\u0004\u0010>\u0000€\u0003Î\u0004€\u0004‘\u0004\u0000\u0000@ü\u0000\t\u0000c\u0000OøI\u0010@\u0000\b\u0000\u0000\u0001\b\b`\u0004€„‘\u0004\u0000\u0000€\u0000\u0000\u0010À\n\u0000H\bI\u0010€\u0000\u0010\u0000\u0000\nr\u0001 \u0004ÿ„‘\b\u0000\u0002\u0000\u0000\u0000x \u0000H\b‰\u0011\u0000\u0000À\u0000\u0000\u0000\u0000\u0002\u0000\n\u0000\bŸ \u00000\u0000\u0000\u0000\u0000\u0000\u001f\u001fù)\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000!\u0000",
"New Timer": "\u0000l\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000€@\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000\b\u0010\u0004\u0000\b\u0000\u0000€\u0000\u0000\u0000\u0000\b\u0000Oð@\u0000@\u0000\b\u0000\u0000\u0000\u0000\u0004°\u0004\u0004\u001f\u0007À\u0001\u0000ƒÀ\u0000\u0000<\u0000\b\u0013ù\u0010„\u0000 \u0007Â\u0000\u0000\u0001\u0000\u0000ÿ\u0004‘\b€\f\u0000\u0000@\u0000\u0000\u0010ƒÈ\u0000I\u0011H\u0003@\u0000\b\u0010>\u0003Î\u0004€\u0004‘#\u0000Â\u0000\u0001\u0000ü\u0000c\u0000OøI\u0014\u0010\u0000 \u0003 \u0000\u0000\b`\u0004€„‘\u0002\u0000\u0002\u0000\f\u0000\u0000\u0000\n\u0000H\bI\u0010@\u0000 \u0000 \u0000\u0000\u0001 \u0004ÿ„‘\b\u0000\u0002\u0000\u0001\u0000\u0000\u0000 \u0000H\b‰\u0013\u0000\u0000 \u0000\u0000\u0000\u0000\u0002\u0000\n\u0000\bŸÀ\u0000\u0002\u0000\u0000\u0000\u0000\u0000\u001f\u001fù)\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000!\u0000",
"Save": "\u0000\u001f\u0010\u0000\b\u0000\u0004\u0000\u0017ð\b\u0000(#ÿø@@\u0001 €€\u0006\u0002\f\u0010\u0004\u0004( \u0018\u0010—üP@!Á/üE@A\u0000’@‚\u0001DA\u0004\u0003\bB\b\u0004\u0010\u0004P\b \b@",
"Keep Msgs": "\u0000F\f\u0000„\u0000\u0000\u0000\u0000„\u0000\u0000\u0002 \u0000\u0000\u0000\u0002\u0010\u0000\u0010\t\u0007‡‹€\fLJG¨!!1\u00003!\"!À„„„\u0000´€ˆƒ\u0003óò\u0010\u0002т!Š\b\b\b@\bA‡\u0001¤ !\u0000!\u0001\u0010\u0001ˆ„„Ä\u0000„„x†\u0011áâà\u0002\u0011â\u0011à\u0000\u0000\b\u0000\u0000\u0000\b@\u0000\u0000\u0000 \u0000\u0000\u0000\u001e\u0000",
"circle count": "\u0000y\r\u0000\u0002\u0000\u0000\u0000\u0010\u0000\u0000\u0000\b\u0000\b\u0000\u0000\u0000 \u0010€\u0000\u0000\u0004à\u0002\u0000\u0002\u0000\u0002\u0000\u0000\u0000\b\u0004@\u0000\u0000\u0003\b€\u0001\u0000\u0001\u0000\u0018\u0000\u0004\u0002 \u0000\u0000\u0001\u0010\u0002@\u0010ø\u0000ø\u0002\u0004\u0002\t>\u0000\u0000\u0001\b\u0001 \u0007Ä\u000f„\u0000‚\u0001\u0003è\b\u001f\u0000ˆ\u0000‘\u0000B\u0002\u0002\u0000\u0002\u0000àD\u0003ð\u0000„\u0000H€!\u0001\u0002\u0000\u0001\u0000L\"\u0000\u0000\u0000„\u0000$€!\u0000A\u0000\u0001\u0000!\u0011\u0000\u0000\u0000\u0002\u0000\"@\u0010€!\u0000\u0001\u0000\u0010\u0001\u0000\u0000\u0000\u0002\u0000\u0011@\u0010@\u0000€\u0001\u0000\b\u0000€\u0000\u0000\u0002\u0000\u0010À\u0011@\u0000€\u0013\u0000\u0004\u0000€\u0000\u0000\u0002\u0000\u0010@\u0010`\u0000€\u0006\u0000\u0002\u0000€\u0000\u0000\u0002\u0000\u0000\u0000\u0000 \u0000€\u0000\u0000\u0001\u0000",
"(repeat)": "\u0000J\u0010\u0000\u0000à\u0000\u0000\u0000@\u0000\u0000\u0000\"\b \u0000@x\u0000\u0000\u0000\u0010‚\u0004À\tà\b\u0000\u0000…?H\u0002@\u0001\u0000\u0004B@\u0000a\u0000\u0010\u0000@\u0000‘ç¼\u0018@\u0007ø\u0010\u0000(\t)\u0004\u0010y\u0002\u0004\u0000\u0006\u0004JA\u0004\u0002Q\u0001\u0000\u0001‚^ðA\u0000’€@\u0000að@\u0010@$@\u0010\u0000\u0018\u0005ÿ\u0000 \t(\u0004\u0004\u0006\u0000\u000e\u0000\b\u0002‘\u0001\u0002\u0001EE@\u0004\u0000¨ #\u0000‘RH\u0002\u0000P\u0000\u0007\u0000\"C\u0011\u0001\u0000#ÿ\u0000\u0000\u0010\u0000\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000",
"Keep Msgs": "\u0000š\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 \u0000@€\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0004\u0000\u000bø\u0010 \u0001\u0000\u0000\u0000\u0010\u0000\u0000\u0002\u0000\u0000\u0000\u0000\u0002\u0000€\u0002‚\u0004\b\u0000 \u00020\u0002\u0000\u0000\u0000@\u0000\u0000\u0000ÂA,\u0001 \u001fÄ\u000f€t\u0000€\u0000\u0000\u0010\u0000\u0000\u0000\bP<\u0000H#ð€þ\u0000\u0002\u0000 \u0000\u0000\u0004x\u0000\u0000\u0000\u0010\u0004\u00003ø\u0010 \u0000€\u0001\u0001ˆ\u0000\u0000\u0001b\u0000\u0000\u0006\u0000\u0001\b\f\u0010\u0004ÿ€à\u0000€\u001c\u0000D\u0002a\u0004\u000f€@€ó…\u0004\u0001\u0000€L\u0000|\u0001\u0000H€p€ü\u0000\u0000@c\u0002_ð` \u0011\u00000€ \n \u0004@\u0000\u0000\u0000 !€\u0010à3þ\u0003À\u0010\u0010$\u0002\u0010\u0001\u0000\u0000\u0000\u0000\u0010\u0000 \u0004T4\u0002\u0000\u0010\b\u0004\u0010\u0000\u0004\u0000@\u0000\u0000\u0000\b\u0000H\u0001$\b€\b\u00009\b\u0000\u0002\u0000\b\u0000\u0000\u0000L\u0000 \u0000Q\u0010A \u0002\u0000\u0011Œ\u0000\u0001\u0000\u0001ð\u0000\u0000\f\u0000\b\u0000\u0018B\u0010\b\u0001\u0000\u0004L\u0000\u0000€\u0000\u0000\u0000\u0000\u0000\u0000\u0001ø\u0004\u0010\u0014\n\u0000€\u0000à\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0004\u0002\u0001\u0000\u0000\u0000\u0000",
"circle count": "\u0000]\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 €\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t$\u0000€\u0000\u0000\u0004\u0000\u0000\u0000\u0000\u0000* B\u0000\u0000\u0000\u0013€\b\u0000\u001e\u0000Añ\u0010\u0000\u0000\u0000ä\u0002 \u0003H?Ñ\b€\u0000\u0000\u0004@\t\u0000\" TŠO€\u0000\u0000B\u0000H\u0001\u0010„”O  |\u0002 \u0002D\u0011\u0004DR\u0011\u0000ü\u0000!\u0000\u0012 ˆ @ ˆ\u0000\u0000\u0002\u0010\u0000’\u0004\u001fÅ\u0004@\u0000\u0000\u0000€\b$\u0010\"\u0010\u0004\u0000\u0000\u0000\b\u0000E\u0001@‚\u0010€ \u0000\u0000\u0000€\u00040\u0004\u0018\u0019\n\u0002\u0000\u0000\u0000\b\u0000A\u0000\u0003\u00000P \u0000\u0000\u0000€\u0000\u0000\u0000\u0000\u0003D@\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000aA",
"(repeat)": "\u0000J\r\u0000\u0000\u0002\u0000\u0001€\u0000\u0000@\u0000\b\u0010@ \u0000\u0000\b\u0000D\u0002\u0010\u0004$\u0000\u0000\u0002\u0000\t\u0000„\u0001\u0006\u0000\u0000\u0000€\u0002€!\u0000@\u0000\u0000\u0000 \u0000`\b@\u0011Àð\u000e\u0000\u0018\u0002\u0010\u0007€\u001f€\u0002`\u0006\u0000„\u0001\u0000\u0000\u0000\u0000„\u0001€\u0002\u0000@\u0000\u0000\u0000 \u0000`\u0000€\u0010\u0000\u0000\u0000\b\u0000\u0014\u0000@\u0002\u0000\u0000\u0000\u0002\u0000\t\u0000 \u0000~\u0000\u0000\u0000€\u0002 \u0010\u0000\u0000\u0000\u0000\u0000 \u0001\u0000",
"music": "\u0000\u001f\u0010\u0000\u0002\u0000\u0001\u0000\u0002\u0000„\bÿàŸ \u0000\u0000¢€‚\u0000D\u0000ˆ\u0002ú?ÿ‰\u0012\u0000\u0000b\"\u001fð\u0007À \u0002\u0000@Cÿøÿ€*\u0001\u0001\u0000’\u0002\u0002\u0006#\u0007ü0Aˆ\b\u0000€",
"Auto snooze": "\u0000l\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 \u0000\u0000\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0001\u0000\u0000\u0000\u0010\u0000C€CÀ\u0000\u0000‡P\u0010\u0000\u0000\u0001\u0000\u0003È\u0003Ä\u0000\u0000\u0007”à\u0000\u0000\u0010\u0000\u0001\u0000\u0000€\u0000\u0000\u0002\u0007ð\u0000\u0000\u0001\u0000\u0000\u0010\u0000\b\u0000\u0000\u0000 \u0003\u0001\u0003à\u001c\u0000\u0002\u00009\u0001\u0003à\u0004\u0000P\u000fÀ\u00010\u0000 \u0000p\u000fÀ\u0000@\t\u0000\u0000\u0000\u0010€\u0005\u0000\u0003\u0000\u0000\u0000\n\u0001\u0010\u0000\u0000\u0001\u0000\u0000ˆ\u0000H\u0000\u0000\u0001\u0010!\u0000\u0000\u0000\u0010\u00000@\b@\u0000\u0000`„\u0010\u0000\u0000\u0001\u0000\f\u0004\u0003\u0004\u0000\u0000\u0018\b\u0003\u0000\u0000\u0000\u0010\u0000\u0000\u0000À\u0000\u0000\u0000\u0000\u0000\u0010\u0000\u0000\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000",
"week": "\u0000:\r\u0000\b\u0000\u0000\u0000\u0000\u0000\u0010\u0001\u0000\u0000\u0000\u0000\u0000\u0002p@\u0000\u0000\u0000\u0000\u0000ä\u001f\u0000\u0002\u0000\u0000\u0000\"ø@\u0001\u0000\u0000\u0000\u0010\u0010\u0000€@ø\u0004D\b\u0000à\u000fÀ\u0002\u0010‚\u0001È\u0000\u0000\u0001\b!\u0000\u0002\u0000\u0000\u0000\u0002\u0000@\u0000€\u0000\u0000\u0001\u0000 \u0000 \u0000\u0000\u0000€\u0010\u0000\b\u0000\u0000\u0000@\b\u0000\u0002\u0000\u0000\u0000 \u0000",
"week": "\u0000\u001d\u000f\u0000Gü|ù\"\"$I\u0011\u001f>\u000bè‰\u0010DGÏóþ \u0004\u0011?$¾‰\t%\u0014OÉ/¢BI\u0001\u0013òP\u0018•\u0000\u0004\u0000Çÿ \u0014\u0000\u0001\u0000@",
"circle 1": "\u0000E\r\u0000\u0002\u0000\u0000\u0000\u0010\u0000\u0000\u0000\u0001\b\u0000\u0000\u0000N\u0000 \u0000\u0004@\u0000\u0000\u0003\b€\b\"\u0000\u0000\u0000\u0011\u0000$\u0000É>\u0000\u0000\u0001\b\u0001 \n>€ð\b€\t\u0010\u0010D\u0003ð\u0000„\u0000H€‚ \u0000\u0000\b@\u0002H\u0004\u0011\u0000\u0000\u0000\u0002\u0000\"@ \u0010\u0000\u0000\u0000 \u0001\u0014\u0001\u0000€\u0000\u0000\u0002\u0000\u0010À\b\b\u0000\u0000\u0000 \u0001\u0004\u0001ð€\u0000\u0000\u0002\u0000\u0000\u0000\u0000\u0000",
"circle 3": "\u0000E\r\u0000\u0002\u0000\u0000\u0000\u0010\u0000\u0000\u0000\u0001\b\u0000\u0000\u0000N\u0000 \u0000\u0004@\u0000\u0000\u0003\b€<\"\u0000\u0000\u0000\u0011\u0000$\u0002\u0019>\u0000\u0000\u0001\b\u0001 \u0010¾€ð\b€\t\u0010\u0004D\u0003ð\u0000„\u0000HÂ \u0000\u0000\b@\u0002H\u0001\u0011\u0000\u0000\u0000\u0002\u0000\"@\b\u0010\u0000\u0000\u0000 \u0001\u0014\b@€\u0000\u0000\u0002\u0000\u0010ÀB\b\u0000\u0000\u0000 \u0001\u0004\u0001à€\u0000\u0000\u0002\u0000\u0000\u0000\u0000\u0000",
"circle 2": "\u0000E\r\u0000\u0002\u0000\u0000\u0000\u0010\u0000\u0000\u0000\u0001\b\u0000\u0000\u0000N\u0000 \u0000\u0004@\u0000\u0000\u0003\b€<\"\u0000\u0000\u0000\u0011\u0000$\u0002\u0019>\u0000\u0000\u0001\b\u0001 \u0010¾€ð\b€\t\u0010\u0004D\u0003ð\u0000„\u0000H€Â \u0000\u0000\b@\u0002H\b\u0011\u0000\u0000\u0000\u0002\u0000\"@€\u0010\u0000\u0000\u0000 \u0001\u0014\b\u0000€\u0000\u0000\u0002\u0000\u0010À@\b\u0000\u0000\u0000 \u0001\u0004\u0003ð€\u0000\u0000\u0002\u0000\u0000\u0000\u0000\u0000",
"show widgets": "\u0000^\r\u0000\u0000€\u0000\u0000\u0000\u0000\u0010\u0004\u0000\u0000\u0000\u0000\u0002\u0000\u0000\u0000\u0000\u0000@\u0010\u0000\u0000€\u0000\b\u0000\u0000\u0000\u0000\u0000\u0000@@\u0002\u0000\u001e.\u001e € Œ\u001d\u001d\u001e\b\u001e„Ä„’\u0000’\u0010Œˆ„ø†\u0002\u0012\u0012H\u0002HB\u0012\"\u0010‚\u0006\bHI \t!\bHÂ\u0006\u0006!!$€$„!\u001c \b\u0006\u0004„„’\u0000’\u0010„@€ \u0006\u0012\u0012\u0012H\u0002HB1â\u0010‚\u0017ˆG†À\u0006ÇÇHG‡€\u0000\u0000\u0000\u0000\u0000\u0000\u0000!\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000x\u0000\u0000\u0000",
"show widgets": "\u0000\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000€\u0000 \u0007ÿ\u0002\u0000\u0000\u0000\u0000\b\u0000\u0000\u0000\u0000\b\u0000\u0002\u0000ü\u0000\u0000\b\u0000\u0000\u0000a \u0000\u0000\u0000\u0000 \u0000–\u0000\b\u0000\u0000\u0000@\u0000\u0000\u0000…\u0000\u0000\u0000\u0000\u0001\u0000\u0003À\u0000@\u0000\u0000\u0003à\u0000@\u0000 \u0000\u0000\u0000\u0000\b\u0000\b\u0000ð\u0000\u0003á\u0000\u0004\u0001€\u0000\u0000\u0000\u0000\u0000@\u0000B\u0000\u0010\u000fÿè\b\u0000@\u0002\u0004\u0000p\u0002 \u0003€\u0007œ\u0000€\u0000€@€\u000e\u0000\u0000@<\u0000H€\u0013\u0000c\u0003ÿø\u0004\u0001\u0004\u0003\u0000\u0004\u0000 \u0001D\u0000„\u00040\u0000 \u0002\"\b@\u0000€\u0000@\u0001\u0000\b@\u0004\u0000\u0002€\bˆ\u0011\b\u0002\u0000\u0004\u0000\u0004\u0000\b\u0000\u0002\u0000 \u0000$\u0000\b \u0000 \u0004À\u0000x\u0000 \u0001\u0000\u0002\u0000\n\b\u0010@‚\u0000\u0001\u0000\u0018\u0000< \u0002\u0000\b\u0000\u0010\u0001’1\u0002\u0004 \u0000\b\u0000\u0000\u0000\u0000\u0000 \u0000@\u0000~\u0000 `P\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0006\u0000\u0001\u0000",
"heartrate": "\u0000/\u0010\u0000\u0000\u0000\u0010 \b \u0004\u0000 @’@\u0004\u0000A\u0000¨€\u0004\u0000àAð\b\u000fÐOô@€\u0002 …H\u0002\u0004A\u0012Q\u0012\u0002\n‚DR$\u0004\u0019ü\u0010(H\u0004b\tüQ\u0010\u000bD\u0010ˆB ˆ\"\u0010ˆA\u0001\u0010FB€‚\u0002 ƒ\u0005\u0000ü\u0014\r\u0011\u0000\u0000\u0010‚aA",
"circle 4": "\u0000E\r\u0000\u0002\u0000\u0000\u0000\u0010\u0000\u0000\u0000\u0001\b\u0000\u0000\u0000N\u0000 \u0000\u0004@\u0000\u0000\u0003\b€\u0004\"\u0000\u0000\u0000\u0011\u0000$\u0000i>\u0000\u0000\u0001\b\u0001 \u0005>€ð\b€\t\u0010HD\u0003ð\u0000„\u0000H„B \u0000\u0000\b@\u0002H\"\u0011\u0000\u0000\u0000\u0002\u0000\"Aø\u0010\u0000\u0000\u0000 \u0001\u0014\u0000€€\u0000\u0000\u0002\u0000\u0010À\u0004\b\u0000\u0000\u0000 \u0001\u0004\u0000 €\u0000\u0000\u0002\u0000\u0000\u0000\u0000\u0000",
"battery warn": "\u0000n\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000H@\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0007ù\u0000ˆ\u0000\u0001\u0000\u0000\u0000\u0000\u0000\b\u0000\u0000\u0004Â \u0000\u0012\u0000\u0000\bð\u0004\u0010\u0000\u0000?b\u000fü\u0000(\u0000\u0000\u001c\u0000\b@\u0000\u0001\u0004PB\u0000D€\u0000\u0000\u0000\u0000!\u0000\u0000\u0003Ђ\b\u0000ˆ\u0000\u0000\u0000\u000f\u0000„\u0000\u0000\tE\u0000 \u0002\u0010\u0002 \u0011À\u0002\u0010 |=cÿ\u0010 $@9\u0000\b@~\u0000\n\u0000\u0000\u0000@€Q\u0000\u0004\u0000!\u0000\u0000\u0007ÿð\u0000\u0002\u0001\u0001\b\u0000 \u0000\b\u0000\u0000\u0000\u0000\u0003þ\u0010\u0004\u0000 \u0000€\u0000 \u0000\u0000\u001fü\b\b€\u0010\u0001\u0000\u0004\u0000\u0001\u0000\u0000\u0000\u0000\u0000 \u0000\u0000\b\u0000 \u0000\b\u0000\u0000\u0001ÿÀ€€\u0000\u0000@\u0001\u0000\u0000@\u0000\u0000\u0004\u0001\u0003þ\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001fü\b\b",
"valid period": "\u0000=\u0010\u0000\u0002\u0000\u0010 \"\u0000\u0000\u0000\u0010\u0000A\u0001\u0013ãçÿÿ€\b\u001fÑ\u0011\"\b\u0001þ@Dˆùð@\u0000\u000fÂ$DH‡ø\u0012\u0012\u001f>>| A\b‰\u0011\u0000#\u0002\u0010$„H‰ù/ð$$>DHJ@€¡!\u0013â~b\u0004\u0002\t\b‘\u0012\u0012\u001fà(‰þˆŸ\u0002$@HD„„\b!B\u0011B \u0004!B\u0004¡\u0004Q\u0000¡\u0004\u0000B\u0010A\b\u0002",
"maximum": "\u0000\u001f\u0010\u0000\u001fð\u0001\u0000 \u0002\u0000À\u0004\u0000€€\b\u0001ÿ\u0000\u0010\u0000\u0000\u001fÿÿÿ€@\u0011\u0000\u0000€>ø\u0002€E\u0010\u0005\u0000ú@\u0011\u0001\u0012€\"\u0002ò\u0000‚\u001eJ\u0002\u0002\u0010¢\b\u0002\u0001ƒ`\u0003",
"weather circle": "\u0000{\u000e\u0000\u0000\u0000\u0000\u0000\u0000 \u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0000R\u0000\u0000\u0000@\u0000\u0000\u0002\u0000\u0000\u0000\u0010\u0000\u0000\u0000…@\u0000\u0000„\u0000\u0000\u0000'\u0000\u0010\u0002\u0000\u0000\u0000\b \u0000\u0000\b€\u0000\u0000\u0007 \u0011\u0000|\u0000\u0000\u0001\u0010\u0000\u0000\u0001\u0010\u0000\u0000\u0000ˆ\u0001!ð€\u0000\u0001'À\u0000\u0001'À\u0000\u0000!\u0000$\u0010\u0010\u0000à\u001f@@ø\u001f@@ø\u0004@\u0004Š\u0004\u0001à\u0000ˆ\u0007à\u0000ˆ\u0007à\u0001\b\u0000‘ €\u0004\u0000\u0011\u0000\u0000\u0000\u0011\u0000\u0000\u0000B\u0000\u0012D \u0000€\u0002 \u0000\u0000\u0002 \u0000\u0000\u0000@\u0004H\u0004\u0000\u0010\u0000\b\u0000\u0000\u0000\b\u0000\u0000\u0000\u0010\u0000Š\u0001\u0000\u0003À\u0001\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0004\u0000!€@\u0007„\u0000@\u0000\u0000\u0000@\u0000\u0000\u0001\u0000\b \u0010\u0000\u0000\u0000\u0010\u0000\u0000\u0000\u0010\u0000\u0000\u0000@\u0000\u0000\u0000",
"minimum": "\u0000:\r\u0000 \u0000\u0000\u0000\u0000\u0000\u0010\u0006\u0000\u0000\u0000\u0000\u0000\u0002\u0000`\u0000p\u0010x\u0000€\u0004\u0003à\u0003á\u0000 @\u0000\u0000\u0000\u0000€\u0010\f\u0000\u0000\u0000\u0000@\u0004\u0000À\u0000\u0000\u0000 \u0001 \b\u0000\u0000\u0001\u0000„€\u0000\u000f€\u0018\u0000!˜\u0000|\u0010\u0001\u0000S‘€\u0000\u0000\u0000 \u000f\u0004\u0018\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000",
"step length": "\u0000M\u000f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000`?à\u0000\u0000\u0000\u0000\u0000\u0000\u0004\u0000\u0010à\u0011à\u0000\u0000#ä\u000fðy\u0000p\u0000\u0000\u0000âÀ@\u0000\u0010\u0000\u0000\u0000\u0000\u0000\u0010\u0003ü\u0000€\u0000ð\u0000\u0000\u0001\u0000\u0010\u0000\b\u00028\u0000D\u0000\b\u000fÿà@\u000e@\t\u0010\u0000€\t\u0000\u0005\u0000\u0002\u0000(€\u0004\u0000D@D\u0000 \u0001\b\u0000@\u0002\u0014\f\u0010\u0001\u0000\u0000@\u0004\u0000\u0010A€€\u0010\u0000\u0004\u0000@\u0000‘\u0000\u0000\u0001\u0000\u0000@\u0004\u0000\u0005\u0006\u0000\u0000\u0010\u0000\u0004\u0000\u0000\u00000\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000\u0000",
"weather circle": "\u0000]\u0010\u0000\u0000\u0000\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001ÿÀ€\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000@\u000fÿ\u0000 \u0000\u0000\u0001\u0000\u0000\u0000\u0002\u0000@\u0000\u0010€\u0000\u0000\u0004à\u0002\u0000\u0010\u0004ÿ\u0000D\u0000\u0000\u00009\u0000ˆ\u0000€@\u0000\u0002 \u0000\u0000\u0001\u0010\u0002CÿøÿÀ“à\u0000\u0000\u0010€\u0012\u0000 \u0000\u0002\u0003è\b\u001f\u0000ˆ\u0000‘\u0002€\u0000\u0004@?\u0000\b@\u0004ˆ\u0014\u0001„€\"\u0000\u0000\u0000„\u0000$\u0010\u0003D\u0001\u0010\u0000\u0000\u0000 \u0002$\b€\u0004 \u0001\u0000\u0000\u0000\u0002\u0000\u0011@‚\u0000P \b\u0000\u0000\u0000 \u0001\f\b\b\fE\u0000€\u0000\u0000\u0002\u0000\u0010@€!\u0018\b\u0000\u0000\u0000 \u0000\u0000\u0018\u0000À\u0000@\u0000\u0000\u0000\u0000\u0000\u0000\u0000",
"minimum": "\u0000\u001f\u0010\u0000\u001fð\u0001\u0000 \u0002\u0000À\u0004\u0000€€\b\u0001ÿ\u0000\u0010\u0000\u0000\u0002\"?ÿ„B\u0011\u0000\b‚>ø!\u0004E\u0010B\u0004úA\u0004\t\u0012„\b\u0012ò\u0000\u0010\u001eJ\u0000 \u0010¢\u0001@\u0001ƒ\u0001\u0000",
"step length": "\u0000\u001f\u0010\u0000\u0001\u0000\b\u0000\u0002\u0000\u0013øGà@\u0000ˆ\u0001\u0000\u0001\u0010\u0004€\u0002 \u0001\u0000?ÿ„ÿ€€\u0018\u0010\u0001\u0010P \"\u0011 @DP@\t \u0004\f\u0001\u0002\u0000`\u0002\u0004\u0007\u0000\u0004(p\u0000\b ",
"distance goal": "\u0000?\u0010\u0000\u0000\u0000\u0010(\u0000\u0000\u0010\u0000ûü\u0010Hð'ý\u0014\u0001ý\u0000€ AB(\u0000£ñ\u0000@äP\u0004œ‚\u0000ÕO¿Š©\u0007ÿ\u0002*„A\u0010_ˆ\u0002\f\b‚?¤\u0010\u0004\u001c\u0000]\u0004\bH \bUü¢\bþüð¨\u0001GñE €\"Oúˆ\u0002ªA\u0000@\u0005Ð\u0005Ԃ\u0000\nœ \b/Ä\u0001\u0002$€‘P\u000fþ\u0004¨€\u0000! \u0010\u0004\b ",
"Circle": "\u0000;\r\u0000\u0002\u0000\u0000\u0000\u0010\u0000\u0000\u0004 \u0000\u0000\u00018\u0000€D\u0000\u0000\u00009\u0000ˆ\b€\u0000\u0000\u0004@\t\t>\u0000\u0000\u0001\b\u0001 ú\u0002\u0007À\"\u0000$D@?\u0000\b@\u0004ˆˆ\u0000\u0000\u0002\u0010\u0000’\u0011\u0000\u0000\u0000\u0002\u0000\"@@\u0000\u0000\u0000€\u0004P\b\u0000\u0000\u0000 \u0001\f\u0002\u0000\u0000\u0000\b\u0000A\u0000€\u0000\u0000\u0002\u0000\u0000\u0000",
"min. confidence": "\u0000_\u0010\u0000\u001fð\b\b\u0000\u0000\u0000\u0000\u0001\u0000\b@ \u0010x÷ð\u0000\u0000\u0004\u0000\u0010@À/( \u0000\u0000\u0010\u0000/ø€€‘\u0002@\u001e\u0000ÿ€€\u0001ÿ\u0001\"\u0005?€Ò\u0001\u0001\u0001\u0000\u0000\u0000\u0006D\fA\u0002\"\u0002\u0002\u0006?¿ÿŒˆ\u0014‚\u0004B\u0004\u0004\f\u0000\u0011\u0000)ÿ%ü\u0011\u0004\u000fø(\u0000>ø’ JD\"\b\u0010\u0010‘üE\u0010$ ”H\u0010 \u0000ú@HA¨À@À@\u0001\u0012€’‘\u0001@€€€âò\u0001 ¤!\u0001\u0006\u0001\u0001\u0001\u0010^J\u0002QHQ\u00000\u0002\u0002\u0002 ¢\u0004ɐÁ€\u0000\u0007ü\u0004\u0001ƒ\t\t!\u0000\u0000\u0000\b\b\b‚",
"colorize icon": "\u0000‹\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 \u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0010\u0000\u0012\u0000\u0000\u0000\u0010\u0000\u0000\u0000\u0000\u0010\u0001\u001c\u0001\u001c\u0000\u0002\u0002\u001dB\u001f\u0000\u0002\u0000\u0000\u0000\u0000\u0002\u0000\u001c\u0000\u001c\u0000\u0000€< < \u0000€Cà0\b|\u0000\u001c\u0000\u001c\u0000 \u0000 \u0000\b\u0000 \u0007„\u0001\u0002ø\u001c\u001c€\u0018\u0000\u0004\u0000\u0012\u0000\u0018\u0000\u0000€\u0010B\u0010\u001c\u0010\u001c\u0010\r\u0000\u0001\u0000\u0001€\r\u0000\u0000\u0010\u0000\u0010B\u0000\u0002\u0000\u0002\u0006\u0010\u0000 \u0000 \u0006\u0010\u0000\u0002\u0000\u0002\u0010€\u0000€\u0000€\u0002\u0000\n\u0000\u0004\u0000\u0002\u0000\u0000€\u0000‚\u0010\u0000\u0010\u0000\u0010\u0000@\u0002 \u0000€\u0000@\u0000\u0010\u0000 ‚\u0000\u0004\u0000\u0004\u0000\b\u0001‚\u0000 \u0000\b\u0000>\u0000\b\"€\u0001\u0000\u0001\u0000\u0001\u0000À@\u0004\u0000\u0001\u00008@&\b0\u0000À\u0000À\u0000 \u0000\u0000\u0001\u0000\u0000 \u0000\u0000\u0003\u0000\u0004\u0000`\u0000`\u0000\u0004\u0000\u0000\u0000@\u0000\u0004\u0000\u0000\u0000\u0000\u0000",
"min. confidence": "\u0000O\u0010\u0000\u001fð\u0001\u0000\u0000@\b@\u0001\u0000 \u0002\u0000\u0000€\u0010@\u0001\u0000À\u0004\u0003ïø/øÿø€€\b\u0001\u0015\u0010€\u0001\u0011\u0001ÿ\u0000\u0010\u0002\t\u0001\u0000\u0002\"\u0000\u0000\u0002\"\b?Æ?‡ÿ¿ÿ„B\u001eD\f\u0000\bˆ\u0011\u0000\b‚%ˆ(\u0000\u0011\u0010>ø!\u0004Íþ‘ü#àE\u0010B\u0004’ \u0000@\u0000úA\u0004\t$@@\u0000¿Á\u0012„\b\u0012Oðá ‚ò\u0000\u0010\u0007‘\u0001\u0010D\"\u001eJ\u0000 \t\"\u0002 ˆ8\u0010¢\u0001@\u0000„!Œ\u0001ƒ\u0001\u0000\u0000€\b‚\u001c\u0007",
"colorize icon": "\u0000k\r\u0000\b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000€\u0000\u0000\u0000\u0000€\bà\u0000\u0000\u0010ø\u0000\u0010\u0000\u0000\u0000\u0000\u0010\u0000à\u0000\u0000\u0001á\u0000\u0004\u0002\u001f\u0001€Cà\u0000à\u0000\u0000\u0000@\u0001\u0000< \b\u0017Ä\bä\u0000\u0000\u0000\u0000À\u0000\u0004\u0000‚\u0010€à‚\u0007À\f\u0000h\u0000\u0000€\u0000‚\u0010\u0000\u0010?\u0000\u0001\u00000€\u0000\u0010\u0000\u0010„\u0000\u0004\u0000\u0000\u0000 \u0000\u0010\u0000\u0004\u0000\u0004\u0010€\u0000€\u0000\u0000\u0004\u0000\u0002\u0000\u0000€\u0001\u0004\u0010\u0000 \u0000\u0000\u0001\u0000\u0000@\u0001ð\u0000A\u0014\u0000\b\u0000\u0000\u0000 \u0000\b\u0001Â\u00010A€\u0006\u0000\u0000\u0000\b\u0000\u0001\u0000\u0000\u0000\u0018\u0000 \u0003\u0000\u0000\u0000\u0002\u0000\u0000 \u0000\u0000\u0000\u0000",
"Heartrate": "\u0000/\u0010\u0000\u0000\u0000\u0010 \b \u0004\u0000 @’@\u0004\u0000A\u0000¨€\u0004\u0000àAð\b\u000fÐOô@€\u0002 …H\u0002\u0004A\u0012Q\u0012\u0002\n‚DR$\u0004\u0019ü\u0010(H\u0004b\tüQ\u0010\u000bD\u0010ˆB ˆ\"\u0010ˆA\u0001\u0010FB€‚\u0002 ƒ\u0005\u0000ü\u0014\r\u0011\u0000\u0000\u0010‚aA",
"data": "\u0000*\u000e\u0000\u0000 \u0000\u0000\u0000\u0000$\u0000\u0000\u0002\u0004u\u0000\u0000\u0000@á\u0000\u0000\u0000\u001f\u0000\u0000\u0000\u0000\b`ð\u0000\u0000\u0002'À\u0010>\u0001H\b\u0003ð\u0000Œ\u0002\u0000\u0000\u0000A\u0001\u0000\u0000\u0000\u0000€@\u0000\u0000\u0000@ \u0000\u0000\u0000 \u0010\u0000\u0000\u00000\b\u0000\u0000\u00000\u0000",
"Yes\ndefinitely": "\u0000H\u0011\u0000\u0000€\u0000\u0000\u0000\u0000\u0000\u0000\u0000@@\u0000\u0000\u0000\u0000\u0000\u0000\u0000 @\u0000\u0000\u0000\u0000\u0000\u0000\u0000(p€\u0000\u0000\u0000\u0000\u0000\u0000'À@À\u0000\u0000\u0000\u0000\u0000@@@ \u0000\u0000\u0000\u0000\u0000@@@\u0010\u0000\u0000\u0000\u0000\u0000@@D\u0010\u0018\u0000\u0000\u0000\u0000@@H0$\u0000\u0000\u0000\u0000SÀ(\u0010$\u0000\u0000\u0000\u0000$`0\u0000\u0018\u0000\u0000\u0000\u0000$P\u0010\u0000\u0000\u0000\u0000\u0000\u0000#€\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000€\u0000\u0000\u0000\u0000\u0000ùð@€\u0000\u0000\b\u0000\u0001",
"Yes\ndefinitely": "\u0000%\u0011\u0000\u0001\u0000\u0000\u0000\u0004\u0004\u0000\u0000\u0000\u0010 \u0000\u0000\u0000¡Â\u0000\u0000\u0004ø\b\u0018\u0000@@@ \u0002\u0002\u0002\u0000€\u0010\u0010\u0011\u0004\u0006€€`M<\u0002\u0002R0\u0018\u0000\f‘@@\u0000\u0004p\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 \u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0000",
"Launcher Settings": "\u0000m\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000€\u0000\b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u001f\u0000 \u0000\u0000\u0000\u0000\u0000@\u0000\u0000\u0000\u0000\u0010ˆþŽ\u0000\u0000\u0000\f\u0000\u0000\u0000\u0000\u0007ôB\u0000\u0013€\u0006\u0000\u0007€\u0000\u0000\u0000\u0000\u0000\" \u0001\u0000à\b\u0010\u0002\u0000\u0000\u0000\u0000\u0000ú\f\u0000\u00029\u0000 €\u000f€@\u0000\u0000\u0000 \u0003ÿŽ\b\u0000\b\u0011À\u00018 |>þ\u0000€\u0000@\u0000@r\u0000\u000e@ü\u0000\u0002\u0010\u0004\u0000\u0004\u0000\u0004\u0000\u0010\u0003Ä\u0000\u0000\u000f‚ \u0000 \u0000@\u0000€\u0001@\u0000\u0000DH\u0011ø\u0002\u0000\u0004\u0000\b\u0000\b\u0000\u0000\u0002\"€ˆ\u0000 \u0004À\u0000@\u0000 \u0000\u0000\u0011\b\u0004@\u0006\u0000\u0018\u0000\u0004\u0000\u0001\u0000\u0000\u0000ø R\u0000À\u0000\u0000\u0000@\u0000\b\u0000\u0000\u0004H„à\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001ƒ@\u0000",
"TAP right top/bottom": "\u0000^\u0010\u0000\u0000\u0000\u0000\u0004\u0000\u0004\u0000\u0000\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0010\u0000\u0010\u0000\u0000\u0010\u0007ÿð\u0000\u0000\u0000@\u0000@\u0000\u0000@\u0000@\u0000\u0000\u0000ÿ\u0001\u0000\u0000ÿ\u0001\u0000þ0ø\b\u0000\u0004\u0000\u0004\b\u0000\u0004\u0000A\"\u0010 \u0000\u0010\u0000\u0010 \u0000\u0010\u0001\u0004ˆA\u0000\u0000\u0000€€\u0000H\u0004!!\u0004\u0000\u0001\u0000\u0004\u0004\u0000\u0001\u0010\u0010„ø?ð\u0004\u0000\u0010\u001fð\u0004 Cò\u0001@@\u0010\u0000€„\u0000\u0010A\bH\t\u0001\u0000@\u0002\u0002\u0010\u0000A\u0004! D\u0004\u0001\u0000\u0010\u0010@\u0001\u0000\u0010„€\u0010\u0010\u0004\u0000€\u0000\u0004\u0000B\u0012\u0000@@\u0010\u0002\u0004\u0004\u0000\u0010\u0000\u0000\u0000\u0001ÿ\u001fÿÀ\u0007ÿÀ@\u0000\u0000\u0000\u0004\u0004\u0000\u0000\u0000\u0000\u0000\u0001\u0000",
"TAP right top/bottom": "\u0000u\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\b\u0000\b\u0000\u0000\b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0003\u0000@\u0000@\u0000\u0000@\u001fÿÂ\u0000\u0000\u0000\u0000$\u0002\u0000\u0002\u0000\u0000\u0002\u0000\u0002\u0000\b\u0000\u0000\u0001\u001f'ÿð\u0010\u0000\u0007ÿð\u0010\u0000|\u0000\u0000\u0007\u0016\u0001\u0000\u0000€\u0000\u0000\u0000€\u0004 \u0000\u0000\u0000€\b\u0000\u0004\u0000\u0004\b\u0000\u0004\u0000\"\u0000\u0000\u0000\b\u0000€\u0000?€@@\u0000$\u0002\u0002 \u0000@\u0004\u0000\u0001\u0000\u0004\u0004\u0000\u0001\u0010#\u0000H€\u0004\u0000à\b\u0000 ?à\bB\b\u0001D\u0000 \u0005\u0001\u0000@\u0002\u0002\u0010\u0000A\u0000€\b@\u0002\u0000H\b\u0002\u0000\u0010\u0010€\u0002\b\b\u0000\u0002\u0000 \u0004@@\u0010\u0001\u0001\u0004\u0000\u0010\u0000€\u0000 \u0002\u0000\u0002\u0002\u0000€\u0010\u0010 \u0000€\u0018\u0000\u0002\u0000 \u0000\u0010\u0010\u0004\u0000\u0001\u0000\u0004\u0003\u0000\u0000 \u0000\u0000\u0000ÿÿà\u0003ÿà \u0000\u0000\u0000\u0000\u0000\u0000\u0004\u0004\u0000\u0000\u0000\u0000\u0000\u0001\u0000",
"Font": "\u00008\r\u0000\u0000\u0000\u0000\u0000\u0000\u0000@‡€\u0000\u0000\u0000\u0000 x€\u0000\u0000À\u0000 \u0000€\b\u0000 @ \u0001\u0000\u0004\u0000\u0010@ \u0001\u0000‡\u0000\u0000€8\u0002\u0000|\u0000\u0000€&\u0002\u0000\f\u0000\u0001\u0000!\u0004\u0000\u0014\u0000\u0002\u0000 \b\u0000$\u0000\u0004\u0000 \u0010\u0000D\u0000˜\u0000 \u0000Œ\u0000`\u0000 \u0000\u0000\u0004\u0000\u0000\u0000 ",
"Mark Unread": "\u0000Š\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000€\u0000\u0000\u0000\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000@\u0000\u0000\u0010\u0000\u0000\u0000\u0000œ\u0000\u0000\b|\u0000\u0000\u0002\b\u0000\u0000\u0002\u0016\u000f\u0000\u0000\u00009\u0000\u0000\u0001á\u0001€\u0000B\u0000\u0000\u0000„| \u0000\u0000\b€\u0000\u0000\u0000€\u0010 \u0010€\u0000\u0000 \u0000\u0010\u0000\u0000\u0004 \u0003\u0000\u0002@\u0002\b\u0004 \u0000\u0000\b\u0000\b\u0010>\u0001\u0010\u0001à\u0000`\u0000\u0004\u0001\b\u0010>\u0003€\u0004\u0003ð\u0000„\u0000x\u0000\u0010\u0000\u0001\u0000B\u0003ð\u0000˜2\u0000\u0000\u0000B\u0000\f\u0000\u0004\u0000\u0000€\u0010€\u0000\u0000!\u0003\u0000\u0000\u0000\u0000€\u0000\u0000\u0001\u0000\u0000@\u0000@\u0000\u0000\b\u0000 \u0000\u0000\u0000@\u0000\u0000\u0000€\u0000 \u0000\u0010\u0000\u0000\u0002\u0000\u0004\u0000\u0000\u0000 \u0000\u0000\u0000 \u00010\u0000\b\u0000\u0000\u0000€\u0000\u0000\u0000\u0000\u0010\u0000\u0000\u0000\u0010\u00000\u0000\u0004\u0000\u0000\u0000 \u0000\u0000\u0000\u0000\b\u0000\u0000\u0000\b\u0000\u0000\u0000\u0002\u0000\u0000\u0000\b\u0000",
"Mark Unread": "\u0000L\u0010\u0000\u0001\u0000 \u0000\u0000\u0000\u0000\u0000\u0000\u0010\u0001\u0002\u0000\u0000\u0000\u0010\u0000\u0000\u0001\u0000\u0003þ \u0000\u0000€\bÃÿÂ\u0001\u0000\u0004\u000f€t\u0001\u0000\u0001ü\u0010ð?€\u0000€\u0010\u0007€\u00011€\b\u0000\u0010\u0001\u0000\u0003þ \u0003€\u0002\u000fÿç \"\u0000\u0000L\u0000|\u0003€\u0004\u0004 \u0000\u0004@\f T\u0007‰\u0002\u0000\u0000<\u0001\u0001\t H\"\u0000\u0000@ \u0011\u0011\u0004‰\u0002 \u0000\b\u00009!\bH\u0011ø\u0000€\u0004l\u0010g‘!\u0000\u0000\u0010\u0000D\u0001\u0000I\u0012\u0010\u0000\u0002\u0000\u0003€\u0010\u0000 à\u0000\u0000\u0000\u0000\u0000",
"start&lap/reset, BTN1: EXIT": "\u0000Æ\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000`\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 \u0000\u0000\u0000€\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002@\u0000\u0000\u0004\u0000€\u0000\u0000\u0000„8\u0000@\u0000\u0000\u0001\u0000\u0000\u0000\u0004p\u0000\u0000\bù\u0000\u0000\u0002\b\u0001\u0000\u0000\u0000\u0001\u000f \u0001ð\u0000\u0000\u0004\u0000\u0007à\u000e\u0000\u0000\u0000\u001cX\u0007à\u0004 \u0004\u0000\u0000\u0000\u0004\u0001\u0000\b@\u0000\u0000\u0010\u0000``\u0001À\u0000\u0000\u0001\u0000``\u0010€\u0011à\u0000\u0000\u0010\u0004\u0000\"\u0000\u0000\u0000@\u0001‚9\u0000\u0000\u0000\b\u0001€B\u0000X€\u0000\u0000@ \u0001H\u0010>\u0001À\u0006\u0006\u0007\u0004\u0001\u0010\u0000 \u0006\u0006\u0001\b\t„\u0001\u0010\u0001À€\bÀ?\u0000\u0004À\u0007à\u0000\u0010\u0012 \u0001\u0000\u0007à\u0004 \u001c \u0012 \u0004\u0005\u0000A\u0000\u0000\u0000\u0010€~\u0018\u0000€(€\u0004\u0000~\u0018\u0010€\u0011\u0000(€\u0010\"\u0000\b\u0000\u0000\u0000@\u0006\u0006`\u0002\u0000„\u0000 \u0006\u0006`\u0004\u0000@\u0000„\u0000C\u0004\u0000@\u0000\u0000\u0001\u0000\u0018\u0006\u0000\u0010\u0000\u0010\u0001\u0000\u0018\u0006\u0000\u0010\u0001\u0000\u0000\u0010\u00010\u0010\u0002\u0000\u0000\u0000\u0004\u0000`x\u0000€\u0000€\b\u0000`x\u0000€\u0002\u0000\u0000€\u0004\u0000\u00000\u0000\u0000\u0000\u0010\u0000~\u0018\f\u0000\u0004\u0000@\u0000~\u0018\u0004\u0000\u0007À\u0004\u0000\u0010\u0000\u0003\u0000\u0000\u0000\u0000@\u0000\u0000\u0000À\u0000 \u0000\u0000\u0000\u0000\u0000 \u0000\u0000\u0000 \u0000@",
"App Source\nNot found": "\u0000Z\u0011\u0000\u0000\u0000\u0000`\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000$\u0000@\u0000 \u0000\u0000\u0000\b|\bù\u0002\b\u0004\u0004\u0000\u0000\u00049á\u0001ŀB\u0000\u0000\u0000\u0000ò\u0000€\u0001\u0000\u0010€\u0010@\u0000\u0000\u0001\u0002@\u0000€\u0004 \u0004 \u0000\u0000\u0000@`\u0000 \u0001\b\u0001\b\u0010>\u0000 \u0010\u0000\u0010\u0000B\u0000\u0004\u0003ð\u0000\b\u0004\u0000\u0004\u0000\u0010€\u0001\u0000\u0000\u0000\u0005\u0001\u0000\u0002\u0000\u0000@\u0000€\u0000\u0000\u0002 €\u0001\u0000\u0000\u0010\u0000 \u0000\u0000\u0003\u0004 \u0000€\u0000\b\u0000\u0010\u0000\u0000\u0003\u0001\u0010\u0000@\u0000\u0004\u0000\b\u0000\u0000\u0000\u0000\b\u0000\u0000\u0000\u0002\u0000\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000À\u0000\u0000\u0000\u0000\b\u0000\u0010\u0000\u0000\u0000",
"Show clocks": "\u0000N\u0010\u0000\u0000@@@\u0000\u0000\u0002\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0000\b\u0001ÿτ\u0002\u0004\u0000\u0000\u000fÿ€\u0000\"þ\u0010\u0001à\u0000€\u0000\u0000ˆ@\u0000@\u001a@\u0002\u0000\u0000\u0002!\u0003á\u0000ˆÿÀ\u0000\bÿÀÂ!\u0000 \u001fÿþ\u0004>\u0010\u0011\u0004\u0000€\u0000€ˆ\u0010\u0000@D\u0011ÿü\u0002\u0002/óá\u0001 @(\u0000ˆˆ\b„\u0004‚\u0001\u0011\u0002!\"D\"\u0010\u0014\b\f(\u0010‚øˆ@ ÀP@‚\u0006 Cá\u0000\f\u0006HÄ\b\u0010\u0005\b„\u0000\u0000\u0001@À \u0000\b\u0000\u0010\u0000\u0000\u0006\u0000\u0001\u0000",
"STEPS": "\u0000<\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000`\u0000\u0000\u0000\u0000\u0000\u0000\tC€G€\u0000\u0000“È\u0003€\u0000\u0000\u0007\u0016\u0001\u0000\u0000\u0000\u0000\u0000\u0001\u0000\u0010\u0000\u001e\u0000\u0000\u0000 \u0002\u0000Ž\u0000\u0011\u0000\u0002\u0000 \u0007 \u0004ˆ\u0000@\u0005\u0000\u0002\u0000(€\u0004\u0000ˆ\u0000@\u0002\u0010\u0000€0@\u0004\u0000\u0001\u0000\u0010\f\u0004\u0000€\u0000 \u0002\u0000\u0000\u0000\u0010\u0000\u0004\u0000@\u0000\u0000\u0002\u0000\u0000€\u0000\u0000",
"Show clocks": "\u0000k\u0010\u0000\u0000@@@\u0000\u0000\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\b\u0004\b\u0001\u0000\u0000@\u000fþ\u0000@\u0000\u0003á\u0000\u0000\u0010\u0003ÿà\u0000\u0000\u0004\u0000FEüþ \u0012À\u0001\u0000\u0000\u0000@ø\u0007H„\u0000\u0004\u0001à\u0000 \u0000\u0000\u0007ð\u0000\u0011\u0010ð€\u0010\u0000ÿà\u0000\u0000\u0002\u0000\u0004#ÿ\u0001ÿ\u0002\u0010\u0000€ÿ\u0001À\u0001\u0007À‡Â\u0000ó€\u0010\u0000\u0010\u0000L\u0000|ˆ\u0010\u0000@1ÿü\u0002\u0000\b€\u0018QŸ\b\b`\u0001@\u0004D\u0000ð\u0004\u0006 B!\u0000\u0014\u0000D@ˆ@\u0002\u0001\u0000ĈD \u0004€\u0018P!\u0004\u0000€\u0003Ÿ‰\b„\u0001\u0000\u0005\u0004\b @\u0010\u0000\u0010!ð€ \u0003$b\u0004\b\u0004\u0000\u0011\u0000\u0014\"\u0010\u0003ð\u0005\u0003\u0002€\u0001\u0000\u0001À\u0001\u0000\u0002\u0000\u0000\u0000À\u0000 \u0000\u0000\u0000\u0000",
"STEPS": "\u0000\u001f\u0010\u0000\u0001\u0000\b \u0002\u0000’@G਀ˆ\u0000Añ\u0010\u000fôB \u0005H¿ÿ’Q\u0000€DR\u0001\u0010\u0010(\"\u0011üPDPˆA\t\"\u0010„\f\u0006B€`\u0003\u0005\u0007\u0000\r\u0011p\u0000aA",
"Vector font size": "\u0000½\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0010\u0002\u0000@\u0000 \u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000€\u0000\b\u0000\u0002\u0000\u0002@H\u00018\u0000€\u0000\u0000\u0001à\bx\u0000\u0000\u0000\u0000\u0002\u0000\u0004 \u0000\u0010\u0010ê\u0001@\u000e@\u0007À\u0000\u00004€<@\u0000\u0000`\u0000\u0010\u0000\u0011\u0000\u0001\u0000y@H\u0000D\u0000B\u0000\u0000\u0002\"\u0000\u0002\u0000 \u0000\u0000€\u0000ˆ\u0000\u0010\u0000\u0010\u0005\u0000\u0004 \u0002 \u0000\u0000\u0011\b\u0000 \u0000€\u0002\b\u0004\u0000$ø\u0003\u0000\u0000‚D\u0000\"\u0000)\u0002\u0007Á\u0010@\u0001\u0000‡\u0000\u0000€8\u0000ú\u0000h\u0000\b\f\u0010\u0002\u0010\u00020\u000fÀ\b‚\u0000\u0010\u0003à\u0000\u0004\u00010\u0001\u0010\f \u0000@\u0000`!\u0000 €\u0000\u0000H\u0010\u0000€\u0003\u0000\u0000@\b@\b€\u0001\u0000\u0005\u0000\u0000À\b\u0000\b\u0000\u0000\u0002A\u0000\b\u0000(\u0000\u0004\u0000@\u0000D\u0000\b\u0000D\u0000\u0000\u0000€\u0000€\u0000\u0000\u0014\b\u0000€\u0002@\u0000@\u0002\u0000\u0000@\u0000@\f\u0010\u0000\u0000\b\u0000\b\u0000\u0000\u0000A€\b\u0000\"\u0000L\u0000\u0010\u0000\u0002\u0000\u0002\u0001€€\u0000\u0000€\u0001€\u0000\u0000\u00000\u0000€\u00020\u0001€\u0000€\u0000 \u0000\u0010\u0000\u0000\u0000\u0000\b\u00000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000€\u0000\u0000\u0004\u0000\u0002\u0000\u0000€\u0000\u0000",
"View Message": "\u0000z\u000f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0010\u0000À\u0000\u0000@\u0000\u0000\b\u0000\u0000\u0000\u0000\b\u0002\u0000\u0010\u0010\bÀ\b\u0000\u0000\u0001\u0000\u0000\u0000\u0003\t\u0004°\u0004\u0004\u0001Ð\u0002\u0000\u0000\u0000@\u0000\u0000\u0000!@ð\u0001ÿ\u0000\b\u0000€\u0000\u0000\u0011à\u0000\u0000\u0000@\u0010\u0000@@\u0004\u0006 \u0000\u0000\u0005ˆ\u0000\u0000\u0018\u0000\u0004 \u0010\u0010\u0002\u0000p\u0001\u0010\t„\u0010>\u0001\u0002\u0003Î\u0007ü\u0001ð\u0004\u0001\"\u0001Â\u0003ð\u0000\u0001\u0001Œ\u0001\u0001\u0000Â\u0002€(€\u0011\u0000\u0000\u0000\u0000€†\u0000@@@@\b@\u0004\u0000\u0000\u0000\u0000@\u0002€\u001fð \u0010@\u0000\u0010\u0001\u0000\u0000\u0000\u0000 \u0001 \u0001\u0010\u0000ä \u0000\b\u0000 \u0000\u0000\u00010\u0000€\u0000D\u0000F0\u0000\u0004\u0000\u0007À\u0000\u00000\u0000 \u0000!\b\u00110\u0000\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0007à0B\u0003€\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00000\u000f€\u0000",
"Are you sure": "\u0000n\u0010\u0000\u0001\u0000\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0004\u0000„ \u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0010\u0001\u0010‚\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000@\u0002D\u0004\u0000\u0000\u0000\u0000\u0000\u0000ð\u0000\u0000ü\t \u0010ð@\u0000@\u0000\r \u000fð\u000e\u0000\u0004\u0000L`€€D@À0T\u0007ÿ‚\u0002\u0002\u0001\u0002\u0001\u0001\u0010ƒ\u0000ÁP\u0000\u0002\b\u0000\b\u0002\b\u0002\b‚\u0000\u0003\t \u0000\b \u0000\"\b\"\b\"\b\u00000D@\u0000 €\u0000`` \u0003\u0002\u0010ƒÿ‚ \u0001@@‚A\u0000\f\u0013ù\u0000\u0002\n€\u0006\u0000\u0006\u0000\n\u0004\u0000\u0000\u0002\u0000\b\u0011ø\b\u0000\b\u0000\u0010`\u0000À\u0004\u0000\u0000 @\u0000\u0000\u0000\u0000\u0000\u0006\u0000\u0003\u0000\u0010\u0007ÿ\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000@\u0000\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000",
"Bluetooth": "\u0000j\u000e\u0000\u0000 \u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000$\u0000\u0000\u0000\u0000\b\u0000\u0000\u0000\u0000\u0000\u0000\bõ\u0000@\u0000\u0000\u0001\u0000\u0000\u0000\u0000\u0000\u00049Å\u0000ˆ\u0000\u0000\u0000@\u0000\u0000\u0000\u0000\u0000ò\u0001\u0000\u0012\u0000\u0000\u0000\u0010\u0000\b\u0000\u0000\u0000\u0001\u0000€\u0004€\u0000\u0000\u0004\u0000\u0001\u0000\u0000\u0000\u0000@ \u0001\"\u0010>\u0001À\u0000x\u0010>\u0000 \u0010\u0000Hƒð\u0000L\u0001â\u0003ð\u0000\b\u0004\u0000\u0012@\u0000\u0000\u0010€ €\u0000\u0000\u0005\u0002\u0000\b\u0000\u0000\u0004\u0000\b@\u0000\u0000\u0002!\u0000\u0002(\u0000\u0000\u0001\u0000\u0000\u0010\u0000\u0000\u0003\u0004€\u0001\f\u0000\u0000\u0000@\u0000\b\u0000\u0000\u0003\u0001@\u0000‚\u0000\u0000\u0000\u0010\u0000\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0004\u0000\u0002\u0000\u0000\u0000\u0000\u0000",
"Bluetooth": "\u0000F\u000b\u0000\u00000\u0000\u0000\u0000\u0000\u0000\u0000ƒà@\u0000\u0000€\u0000\u0000‚\bA\u0000\u0000\u0002\u0000\u0000\u0002\b!\u0004!\u001e\b\u001e\u001e\b.„\u0010„„ø„„øÇàB\u0012\u0010‚\u0012\u0010‚\u0018A\bOÂ\bHB\ba\u0004! \b!!\b!„\u0010„€ „„ †\u0010B2\u0010‚\u0012\u0010‚\u001f‡ÇG‡‡ˆ@",
"Unread timer": "\u0000m\u0010\u0000\u0001\u0000 \u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000@\u0000ÿ€\u0000\u0000€\u0000\b\u0000\u0000\u0000\u0000ñø@\u0007€\u0002\u0000\u0000@\u0000\u0000\u0000\u0000\u0010\u0000\u001fÀÒ\u0000\u001f\u0000\u0004\u0002\u000f\u0000\u0000\u0000€<\u0000\bˆ\u0001\b\u0000@\u000f„\u0000\u0000\u0004\u0000\u000føD \b€\f\u0000\u0000@\u0000\u001fÿÏ@DA\u0000¤\u0001 \u0000\u0004\b\u001f\u0003€\u0004\u0004\"\b\bÀ0€\u0000@?\u0000*\u0003ā @‚\u0000\u0004\u0000d\u0000\u0000\u0002H\u0012$\t\u0004\u0000 \u0000 \u0000À\u0000\u0000\" ‘ P \u0002\u0000\u0001\u0000\u0001\u0000\u0000\u0002\u0010„‰\u0001\u0006\u0000 \u0000\b\u0000\u0004\u0000\u0000`ƒ<‰\u0000À\u0006\u0000\u0000@\u0000\u0000\u0000\u0000\u0004\u0001$H\u0000\u0000À\u0000\u0002\u0000\u0000\u0000\u0000\u0000 \u0000AÀ\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000",
"Delete all messages": "\u0000¾\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0010\b\u0000\u0000\b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002H#Â\u0000\u0010\u0000\u0000\u0000\u0007\u0000\u0000\u0000\b\u0000\u0000\u0001\u0000\u0000\u0000\u0000\u0001\u0000\u0000\u0005 ‰\b |\u0000\b!à\u0001à\u0000\u0010\u0000\u0000\u0002\u0000\u0000\u0000\u0006\u0012\u0001à\u0015\u0012(P\u0000\u0000y\u0000\u001a@\u0000@\u0000\u0000\b\u0000\u0000\u0000\u0004(\u001a@\u0010H¢ \u0004\u00001\u0000\b\u0000ˆ€\u0001\u0000\u0000\u0000#À\u0000\u0000\u0000€ˆƒù#\u0010@p\u0001 \u0000 \u0002!\u0000Ä\u0000\u0000\u0000±\u0000\u0000\u0003\u0000\u0002!\b$оÂ`\b@\u0001\u0000\u0011\u0004\u0000à\u0002 \u0013\b |\u0002\u0004\u0011\u0004 ’$ \b€@€\u0004\u0000D\u0010\u0000€$@8@~\u0000\u0000 D\u0010þH€\u001e\u0000\u0001€\u0010\u0001 @\u0005\u0000Q\u0000\"\u0000\u0000\u0000\u0001\u0001 B\t\"_à\b\u0000\u0001€@\u0004‚\u0000\u0012\u0001\b\u0000€\u0000\u0000\u0000\b\u0004‚\b$\b\u0000@\u0000\u0000\u0001\u0000\u0014\b\u0000€\u0000 \u0002\u0000\u0000\u0000\u0000@\u0014\b?’(¨\u0001\u0000\u0000\u0000\u0002\u0000 À\u0004\u0000\u0001\u0000\u0004\u0000\u0000\u0000&\u0000 À‚\b„\b\u0000\u0000\u0000\u0007\u0000\f\u0000`\u0000\b\u0000\u000f€\u0000\u0000`\u0000\f\u0002\b\"\" @\u0000\u0000\u0000\u0000\u0000\u0000\u0006\u0000\u0000@\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\b¢ˆ(€\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000!\u0004 @",
"Delete all messages": "\u0000Ç\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0010\b\u0000\u0000\u0000\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0010\u0001$\u0011á\u0000\u0004\u0004\u0000\u0000\u0000\u0001À\u0000\u0000\u0002\u0000\u0000\u0000@\u0000\u0000\u0000\u0000@\u0010\u0001H\"B\u0000\u0004\u000f€\u0001\u0004<\u0000<\u0000\u0002\u0000\u0000\u0000@\u0000\u0000\u0000ÂA,\u0002¢E\n\u0004\u0007ð\u0000\t\u0007\u0001¤\u0000\u0004\u0000\u0000\u0000€\u0000\u0000\u0000Bà\u0001\u0004Š\"\u0007à \u0001ˆ\u0000@\u0004D\u0000\b\u0000\u0000\u0001\u001e\u0000\u0000\u0000\u0004\u0001\u0000\u001fÉ\u0018‚\u0000\u0001À\u0004€\u0000€\b„\u0003\u0010\u0000\u0000\u0002Ä\u0000\u0000\f\u0000\u0002\u0010 ’*û\u0001„À\u0010€\u0002\u0000\"\b\u0001À\u0004@&\u0010@ø\u0004\b\u000f8A$H@\u0004\b€@€\u0004\u0000D\u0010\u0000€$@8@~\u0000\u0000 1€þH€\b\u000f\u0000\u0000À\b\u0000 \u0002€(€\u0011\u0000\u0000\u0000\u0000€†\u0001\u0004‘/ð\f\u0002\u0000\u0000`\u0010\u0001 €\u0004€B\u0000 \u0000\u0000\u0000\u0002\u0000\u0014\u0002\t#B\u0000\u0000\b\u0000\u0000\u0000 \u0002\u0000\u0010\u0000\u0004\u0000@\u0000\u0000\u0000\b\u0000H\u0007òE\u0015\u0000\u0000\u0010\u0000\u0000\u0000 \u0002\f\u0000@\u0000\u0010\u0000@\u0000\u0000\u0002`\u0001\u0000\b ˆI\u0000\u0000@\u0000\u0000\u00008\u0000`\u0003\u0000\u0000@\u0000|\u0000\u0000\u0003\u0000\u0002\u0000\u0010A\u0011\u0011\u0000A\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0018\u0000\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0003ð\"Š ¢\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000B\b@€\u0000",
"No Messages": "\u0000k\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0010\u0000\u0000\u0000 \u0000\u0000\u0004\u0000\u0000\u0000\u0000\u0004\u0001\u0000\b\u0000\u0002\u0000\u0000\u0000@\u0000\u0000\u0000Â@(\u0000€\u0000@\u0000\u0000\b\u0000\u0000\u0000\u0004(~\u0000\u0010\u0000\b\u0000\u0000\u0001\u001e\u0000\u0000\u0000\u0004\u0001\u001c\u0002\u00001\u0000\u0000\u0000,@\u0000\u0000À\u0000@À@\u0001À\u0004@&\u0010@ø\u0004\b\b \b\u0000\b\u0002D\u0003„\u0007à\u0000\u0002\u0002\b\u0001\u0000\u0002€(€\u0011\u0000\u0000\u0000\u0000€A\u0000 \u0000H\u0004 \u0002\u0000\u0000\u0000\u0000 \u0010 \u0004\u0004\u0010\u0000\u0004\u0000@\u0000\u0000\u0000\b\u0000<\u0000\u0004\u0000\u0001\u0000\u0004\u0000\u0000\u0000&\u0000\bÀ\bÃ\u0000\u0000@\u0000|\u0000\u0000\u0003\u0000\u0001\u0014\u0000á€\u0000\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001c\u0000\u0000\u0000",
"Record Run": "\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0000\u0000\u0000 \u0000\u0000\u0000\u0000\u0000! \u0000\u0000\u0000\u0000\u0000\u0004\u0000\u0000\u0000\u0000\u0000\u0004(\u0000\u0000\bà\u0000\u0001\u0000\u0004>\u0000\u0000\u0001\b\u0000\u0000\u0001À\u0003\u0000@\u0000ð€\u0000\u0000@\u0000\u0000\u0000\u0003€ P\u0000\u0000 \u0000\u0000\u0010\u0000\u0006\u0000G \u0004\u0014\u0000\u0000\b |\u0007\u0000\u0003À\u000e\b\u0000\t\u0002\u0000\u0002\u0007à\u00010\u0000ð\u0000\u0002\u0000\u0002A\u0000\u0001\u0000\u0000\u0000B\u0000\u0018\u0000\u0001\u0000\u0001\u0010€\u0000@\u0000\u0000\u0010\u0000\u0000\u0000\u0000@\u0000„@\u0001ð\u0000\u0000\u0004\u0000\u0000\u0000\u0000 \u0000A`\u0003„\u0000\u0000\u0001\u0000\u0000\u0000\u0000\u0010\u0002``\u0000\u0000\u0000\u0000\u0000@\u0000\u0000\u0000\u0018\u0000`\u0000\u0000\u0000\u0000\u0000\u0000\u0010\u0000\u0000\u0000\u0018\u0000\u0000\u0000",
"Record Run": "\u0000š\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000€\u0000@\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\b\u0004\u0000\u0010\u0000\u0011ø\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\t\u0000€\u0004?\n\u0002\u0000 \u00021\u001c\u0000\u0000\u0000\u0000\u0000\u0000\u0000MA,\u000fàB@„\u000f€t8\u0000`\u0000\u0003€`\u0000\u001d@<\u0000\u0000\u0011\u0007àþ\u0000\u0002\u0000p\u0004\b\u001f\u0000\u0004\b\u0004@\u0004\u0000|\u0004¸\b\u0000€\u0001\bä\u0000‚\u0000\u0000\u0000‚\u0002\u0010\u0001\b\u0000\u0001\u0004\u0002\u0000à\u0000Á\u0000\u0001\u0000\u0000\u0000\u0001\u0000ˆ\u0000ó‡ÏÁ?àL\u0000|\u0000@\u0000@\u0000\u0000\u0000@B\u0000c\u0000\u0002\u0013ð€\u0011\u00000€ \u0000 \u0000\u0000\u0000 !\u0000!€|€\u0012\"\u0003À\u0010\u0010\b\u0000\u0010\u0000|\u0000\u0010\u0000@\u0000 \u0011 %]\u0000\u0010\b\u0004\u0004\u0000\b\u0003à€\b\u0000 \u0000H\u0004H\u0005Š€\b\u00009\u0002\u0000L\u0000\u0000\u0000L\u0000\u0010\u0000 \u0001\u0012\tD\u0002\u0000\u0011ƒ\u0000\f\u0000\u0000\u0000\f\u0000\b\u0000\b\u0000|‚\u001e\"\u0001\u0000\u0004C\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0004\u0000\u0001ø\u0011\u001f¸(\u0000€\u0000à\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0004\u0004\u0000\u0000\u0000\u0000",
"Apps": "\u0000)\u000e\u0000\u0000\u0000\u0000`\u0000\u0000\u0000\u0000H\u0000¡ð#ä\b/\b\u000e,\u0002\u0010\b\u0000\u0010\u0001\bH\u0000\u0010\u0000„\u0018\u0000\b\u0000B\b\u0000\b\u0000!\u0004\u0000\u0004\u0000\u0010‚\u0000\u0004\u0000\u0000‚\u0000\u0004\u0000\u0000A\u0000\u0004\u0000\u0000A\u0000\u0004\u0000\u0000A\u0000\u0000\u0000\u0000@",
"BTNs 1:startlap 2:exit 3:reset": "\u0000Ä\r\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0010\u0000\u0000\u0000\u000fè@\u0000\u0001\u0000\u0000\u0002\u0000\u0000\u0002\u0001\u0000\u0000\u0000\u0007€\u0000\u0000\u0001\u0002\u0000\u0007€„\u0010Ä\u0000\u00000\u0000\u0000 \u0000\u0000 \u0010\u0000\u0000\u0000„\u0000\u0000\u0000\u0000 \u0000„\bA\fG€\u0005\u0003\u0007‚\u0007‹‚\u0001\u0007‹€\bC\u0007ˆC\u0002\u0000\bC„\u0010¤„\u0000\u00100„ø„Äø\u0010„Ä\u0000\u00040„„\u0010ø\u0000\u0004?\nH\u0000\u0001\u0000\b\u0002\u0000HB\u0001\u0000H@\u0001€\bD\u0002\u0000\u0003€„\u0010”`\u0000\u0010\u0000` |€ \u0010|„\u0000 \u0000ü0\u0010 \u0000\u0004\bA\tA€\u0001\u0000\u0001‚\bH\u0002\u0001\bH@\u0004\u0000\b\u0003\u0001\u0002\u0000\u0000@„\u0010Œ\u0004\u0000\u00100\u0004 „€ \u0010„„\u0000€0€H\u0010 \u0000„8A\bÈ@\u0001\u0003\bB\bÈ\u0002\u0001\bÌ@\b\u0003\bHA\u0002\u0000\bCø\u0010„x\u0000|\u0000x\u0018t€\u0018|t¸\u0000ü\u0000x„|\u0018\u0000x\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000€\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000",
"Delete All Messages": "\u0000\u0010\u0000\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\b\u0004\u0000\u0000\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000’\bð€\n\u0000\u0001\u0000\u0000\u0000 \u0000\u0000\u0000\u0000 \u0000\u0000¤\u0011!\u0000\"\u0000\u0001\u0000\u0000\u0000 \u0000\u0000\u0000a \u001e\u0001Q\"…\u0000‚\u0000\u0002\u0000\u0000\u0000@\u0000\u0000\u0000!@Ò\u0000‚E\u0011\u0002\u0002\u0000\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0002\"\u000fäŒA\u000bú\u0001ˆ\u0000\u0000\u0001b\u0000\u0000\u0006\u0000\u0004B\u0010I\u0015}àƒ\u0000à\u0002 \u0013\b |\u0002\u0004\u0011\u0004 ’$ \u0001\u0000\u0000@\u0012 \u001c ?\u0000\u0000\u0010\"\b$H@\u0002\u0000\u0001@\u0014@\b€\u0000\u0000\u0000@H\u0010‚H—øÀ\u0002@!\u0000\u0010\u0000\u0000\u0000\u0001\u0000A\u0004‘¡\u0000\b\u0000\b\u0000\u0002\u0000 \u0000\u0000\u0000\u0004\u0001@ƒù\"Š€\u0010\u0000 \u0000\b\u0000 \u0000\u0000\u00010\u0001\u0006\u0004\u0010D$€ \u0001€\u0000 \u0000>\u0000\u0000\u0001€\u00000\b ˆˆŸÿ\f\u0000\u0000€\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0011E\u0010Q\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000!\u0004 @",
"Vibration": "\u0000\u001e\u0010\u0000\u0010\u0000\u000f Oñà \u0000‚\u0004€?èþø\b|H\u0001ü‘ \u0004’Eÿ\u001fÉ\u001a I$ʑü*€‚D¤\u001fÉ\u0012\bDR ?\u0015JO‰J0B",
"Utils": "\u0000«\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 \u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0010\u0004\u0012\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u001e\u0000\u0000\u0001\u001c\u0000\u0002\u0000A@\u0000\u0000À\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001c\u0000\u0000\u0000\u001c\u0000\u0000€\b \u0000\u0000\u0004\u0000\u0000\u00000\u0004p\u0000\u0000\u0000\u0000\u0000\b\u0000\u001c\u0000 \u0001\u001e\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002r\u0000\u0000\u0000\u0003À\u0002\u0001\u001c€\u0018\u0000,@\u0000\u0000À\u0000\u000f\u0000\u0010@@@ø#€\u0000€\u001c\u0010\r\u0000&\u0010@ø\u0004\b\u000e \u0000\u0010\u0010\u0007à\u0003\u0000p\u0000\u0002\u0006\u0010\u0003„\u0007à\u0000\u0002\u0000\u0004\u0000\u0002\u0002\u0000\u0000\u0000\u0002\u0000r\u0000\u0000€\u0002\u0000\u0011\u0000\u0000\u0000\u0000€\u0007€\u0000€ø\u0000\u0000\u0000€\u0000@\u0000\u0010\u0000@\u0002\u0000\u0000\u0000\u0000 \u0007 \u0000#à€\u0000\u0000\u0010\u0000\b\u0000\u0004\u0000\b\u0000@\u0000\u0000\u0000\b\u0000\u0004\u0000\b\u0000\u0000\u0000\u0000\u0004\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0004\u0000\u0000\u0000&\u0000\u0003€&\u0000\u0000\u0000\u0000\u0001\u0000\u0000 \u0000À\u0000 \u0000~\u0000\u0000\u0003\u0000\u0003ˆ\u0003\u0000\u0000\u0000\u0000\u0000@\u0000\u0004\u0000`\u0000\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000",
"BTNs 1:startlap 2:exit 3:reset": "\u0000Æ\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0010\u0000\u0000\u0000@\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001 \u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u001c\u0000 \u0000\u0000\u0000€\u0000\u0000\u00028\u0000\u0000\u0004|€\u0000>?¡\u0000\u0000\u0004\u0000\u0007\u0000ø\u0000\u0000\u0002\u0000\u0003ð\u0007\u0000\u0000\u0000\u000e,\u0000\u001e„\u0010Ä\u0000\u00000\u0000\u0000€\u0004 \u0000\u0000\b\u000000\u0000à\u0000\u0000\u0000€\u0000†\u0010C\u0011à\u0001@À\u0002\u0000\u0011\u0000\u0000\u0000 \u0000ÀÁ\u001c€\u0000\u0000\u0004\u0000\u0002\u0018A\nH@\u0001\u0003\u0000\u0010\u0000¤\b\u001f\u0000à\u0003\u0003\u0003‚\u0000ˆ\u0000\u0010\u0000\u0000~\u0004) \u0000\u0004\u0000\u0000@\u0004`\u001f€\u0002`\u0003ð\u0000\b\t\u0010\u0000€\u0000\u0006„\u0010”`\u0000\u0010\u0000\u0002€ €\u0000\u0000\b@?\f\u0000@\u0014@\u0002\u0000\u0000\"\u0010BP`\u0000@\u0000\u0011\u0000\u0004\u0000\u0000\u0000 \u0003\u00030\u0001\u0000B\u0000\u0010\u0000\u0001\bA\bÀ@\u0001\u0003\u0001‚\u0000 \u0000\u0000\u0000€\f\u0003\u0000\b\u0000\b\u0000€\u0000\b!\u0004#!\u0000\u0004\f\u0018\b\u0001\u0000\u0000\u0000\u0002\u00000<\u0000@\u0000@\u0004\u0000\u0000 ø\u0010„x\u0000|\u0000\u0000\u0000\u0018\u0000\u0000\u0000\b\u0000?\f\u0006\u0000\u0002\u0000 \u0000\u0000ü\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001€\u0000\u0000\u0000 \u0000\u0000\u0000`\u0000\u0010\u0000\u0000\u0000\u0000\u0000",
"Delete All Messages": "\u0000Ç\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0010\b\u0000\u0000\u0000\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0010\u0001$\u0011á\u0000\u0004\u0004\u0000\u0000\u0000\u0001À\u0000\u0000\u0002\u0000\u0000\u0000@\u0000\u0000\u0000\u0000@\u0010\u0001H\"B\u0000\u0004\u000f€\u0001\u0004<\u0000<\u0000\u0002\u0000\u0000\u0000@\u0000\u0000\u0000ÂA,\u0002¢E\n\u0004\u0007ð\u0000\t\u0007\u0001¤\u0000\u0004\u0000\u0000\u0000€\u0000\u0000\u0000Bà\u0001\u0004Š\"\u0007à \u0001ˆ\u0000@\u0004D\u0000\b\u0000\u0000\u0001\u001e\u0000\u0000\u0000\u0004\u0001\u0000\u001fÉ\u0018‚\u0000\u0001À\u0004€\u0000€\b„\u0003\u0010\u0000\u0000\u0002Ä\u0000\u0000\f\u0000\u0002\u0010 ’*û\u0001„À\u0010€\u0002\u0000\"\b\u0001À\u0004@&\u0010@ø\u0004\b\u000f8A$H@\u0004\b€@€\u0004\u0000D\u0010\u0000€$@8@~\u0000\u0000 1€þH€\b\u000f\u0000\u0000À\b\u0000 \u0002€(€\u0011\u0000\u0000\u0000\u0000€†\u0001\u0004‘/ð\f\u0002\u0000\u0000`\u0010\u0001 €\u0004€B\u0000 \u0000\u0000\u0000\u0002\u0000\u0014\u0002\t#B\u0000\u0000\b\u0000\u0000\u0000 \u0002\u0000\u0010\u0000\u0004\u0000@\u0000\u0000\u0000\b\u0000H\u0007òE\u0015\u0000\u0000\u0010\u0000\u0000\u0000 \u0002\f\u0000@\u0000\u0010\u0000@\u0000\u0000\u0002`\u0001\u0000\b ˆI\u0000\u0000@\u0000\u0000\u00008\u0000`\u0003\u0000\u0000@\u0000|\u0000\u0000\u0003\u0000\u0002\u0000\u0010A\u0011\u0011\u0000A\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0018\u0000\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0003ð\"Š ¢\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000B\b@€\u0000",
"Vibration": "\u0000|\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000\u0004\u0000\u0004‚\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000H\u0000@G¨\u0010\u0000\u0000\u0000\u0018\u0000\u0000\u0000\u0000\u0000\u0002€\b\u0003Š\u0001\u0000\u0000\u0000\u0000@\u0000\u0000\u0003\u0000\u0011 \u0001\u0000\u0000€\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\b\u0010ˆ\u0000`\u0000\u0010\u0001\u0000\u0000\u0000\u0003\u0000\u0000<\u0000A\b@\u001a\u0000\u0001\u0000\u0010\u0000ð\b\u0010\u001c@\u0000!\u0002\u0006\u0010\u0000 \u0001\u0002\u0007à\u0000\u0002\u0000\u0004\u0000\u0002\u0010 \u0001\u0000\u0002\u0000\u0010@\u0000\u0000\u0000@\u0003À\u0000B\u0001\u0000\u0010\u0000@\u0001\b\u0000\u0000\u0000\b\u0001È\u0000\b@\u0010\u0001\u0000\b\u0000\u0011\u0000\u0000\u0000\u0001\u0000\u0000€\u0001\b\u0001\u0000\u0010\u0001\u0000\u0001`\u0000\u0000\u0002`\u00008\u0002`\u0000\u0000\u0001\u0000 \u0000\u0018\u0000\u0000\u0000\u0018\u0000\u001c@\u0018\u0000\u0000\u0000\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000",
"Utils": "\u0000{\r\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\bð\u0000\u0000\u0004\u0010\bð\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000à\u0000\u0000\u0000B\u0000à\u0000\u0000\u0000\u0000#€\u0000\u0000\u0000\u0000\u0000@\b@\u0000\u0000\u0000@\u0000\u0003\u0000\u0000\u0000\u001e\u0000\u0010\u0001\b\u0000\u001e\u0000\u0010\u0000\u0000\u0002\u0002\u0007Á\u001c\u0000\u0004\u0000!\u0001\u001c\u0000\u0004\u0002\u0007À€?\u0000\u001c€\u0003€\u0004 \u001c€\u0003€?\u0000\u0010\u0000\u0000\u0000\u0010\u0003\u0000„\u0000\u0010\u0003\u0000\u0000\u0007À\u0000\u0000\u0004\u0000\u0002\u0000\u0001\u0000\u0004\u0000\u0002\u0000\u0000\u001f\u0004\u0000\u0000\u0000€\u0000@\u0000 \u0000€\u0000@\u0000\u0000\u0000\u0000\u0000\u0000 \u0000\b\u0000\b\u0000 \u0000\b\u0000\u0000\u0000\u0000\u0000\u0000\b\u0000\u0001\u0000\u0002\u0000\b\u0000\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0000 \u0000€\u0002\u0000\u0000 \u0000\u0000",
"Piezo": "\u0000+\u000e\u0000\u0000\u0000\u0000\u0000\u0000@0\u0000\u0000\u0000¦\t\u0000\u0000\u0004\n¡ \u0001ÀAD\u0018\u000fÀ\u0004 €\u0000 \u0000„\u0011À\u0002\u0000\u0010ƒÀ\u0000@\u0000 @\u0000\b\u0000\u0004\b\u0000\u0001\u0000\u0001\u0001\u0000\u0000~\u0000 \u0010\u0000ð \b\u0001ø\u0000\u0000\u0002\u0000\u0000\u0000\u0000\u0000€\u0000",
"BLE": "\u0000\u0016\n\u0000ø€þ\u0012\u0002\bH\b! ø€ú\u0012\u0002\bH\b! „€ƒãóð",
"Make Connectable": "\u0000l\u0010\u0000\u0010€\u0010 \u0000\u0000\u0010@\u0000\u0000\u0000\u0000\u0000\u0001\u0004\u0001\u0002\u0007ÿâD@\u0000\u0000\u0010\u0000\u0000\u0013ü#þ\u0000\u0010BH \u0000\u0000€\bÁ\u0000\u0002‚\u0000\u0001\u000f÷\u0001\u0000\u0004\u000f€tý\bIü\u001f\u0010\u0001@\u0010ð?€\u0000\t\u000f\u0000\u0001\u0011\u0000\u0004!1€\b\u0000\u0010\u0017þ\u0013þ\u0011\u0010~B \u0003€\u0002\u0001\u0004\u0002 !\u0011\u0004#â\u0000\u0000L\u0000|\u0018@L\u0004\u0011\u0010B\u0000 \u0000\u0004@\f#ï‰\u0001\u0011\u0007äB\u0000\u0000<\u0001\u0001Ј\b\u001f\u0010BH\"\u0000\u0000@ \u0011\u0010€\t\u0001\u0011\u0004'\u0002 \u0000\b\u00009\u0010¨\u0000\u0010~@\u0011ø\u0000€\u0004a\u0006\n‘ \u0001\u0004$!\u0000\u0000\u0010\u0000DQ˜\u0012\u0000PJB\u0010\u0000\u0002\u0000\u0003‚`@ à\u0002\u0004Cà\u0000\u0000\u0000\u0000\u0000",
"Make Connectable": "\u0000l\u0010\u0000\u0010 \u0001\u0000\u0000\u0000\u0010@\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0010\u0007ÿâD@\u0000\u0000\u0010\u0000\u0000\u0010P!\b\u0000\u0010BH \u0000\u0000€\bÁ\b‚\u0010€\u0001\u000f÷\u0001\u0000\u0004\u000f€tý\u0004!\b\u001f\u0010\u0001@\u0010ð?€\u0000/¢\u0010\u0011\u0000\u0004!1€\b\u0000\u00100 ?ø\u0011\u0010~B \u0003€\u0002\u0003‚\u0000\u0010\u0011\u0004#â\u0000\u0000L\u0000|Uü\u0001\u0000\u0011\u0010B\u0000 \u0000\u0004@\f%R@\u0010\u0001\u0011\u0007äB\u0000\u0000<\u0001\u0001‘$A\u0004\u001f\u0010BH\"\u0000\u0000@ \u0011\u001fÄ\u0010A\u0011\u0004'\u0002 \u0000\b\u00009\u0010PA\u0004\u0000\u0010~@\u0011ø\u0000€\u0004a\b„\u0010@\u0001\u0004$!\u0000\u0000\u0010\u0000D\u0011\u0004ü\u0000PJB\u0010\u0000\u0002\u0000\u0003 \u0000@\u0002\u0004Cà\u0000\u0000\u0000\u0000\u0000",
"HID": "\u0000\u0016\n\u0000„|ò\u0010B(A\ba\u0004!ü\u0010†\u0010B\u0018A\ba\u0004!„\u0010Š\u0011óÀ",
"Light BW": "\u0000=\r\u0000\u0000\u0000\u0000€ \u0000\u0000\u00028\u0000\u0004\u0000€\u0000\u0000\u000e\u0000\u0000@\u0004\u0000|B\u0003€\u0004\u0000 \u0002\u0012\u0018ä\u0000À\u0001\u0000\u0010¸ \u001a\u0000\u000e\u0000„„\u0001\u0003\b\u0000L\u0007Å \u0010\u0000@\u0002\u0010!-\u0000€\u0002\u0000\u0010\u0001\t˜\b\u0000\u0010\u0000€\bLÀ€\u0000€\u0004\u0000BB\u0018\u0000\u0004\u0000 \u0003â\u0013\u0000\u0000 \u0001\u0000\u0000\u0000\u0000",
"Light BW": "\u0000M\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000@\u0007ÿ\u0000\u0000\u0000 \b\u0000\u0004\u0000!\bŽ\u0000\u0001\u0000 \u0001ÿÁÿÀ\u0000\u0010\u0001\u0000\b\u0002\bB\u0000à\u0001\u0000\b\u0000@\u0010ò9\u00000\u0000@\u0002\u0000€\u0010\u000e\b\u0006€\u0003€\u0010\u0004\u001fü\u0000@Â\u0000\u0013\u0000ÿà\u0004\u0000\u0004\u0000\u0010\u0000„\u0004\u0001\u0000 \u0000 \u0000€\u0004\u0000 \bÿþ\u0002\u0000\u0004\u0000 \u0001\u0000@\u0000\u0000 \u0000 \u0001\u0000\b\u0002\t\"\u0006\u0000\u0001\u0000\b\u0000@\u0010DˆÀ\u0000\b\u0000@\u0003ÿ„$@\u0000\u0000\u0000\u0000\u0000\u0010\u0004@\u0002",
"LCD": "\u0000\u0016\n\u0000€xò\u0002\u0012(\bH` !€€†\u0002\u0002\u0018\b\b`!!€„‹ñãÀ",
"Background": "\u0000\u001f\u0010\u0000\u0004€\u001fð\t0 !ó€À$ €ÈAÿ\u001c€ \u0010\u0000?ÿø\u0000\u0000\u0010\u0010\u001fð?à @@@@ÿ€ÿ\u0001\u0000\u0010\u0002\u0002\u0004!\u0004\u0014\u0011A\b\u0010\u0001\u0000",
"Foreground": "\u0000y\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000@\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0000\u0000\u0000 \u0000\u0000\b\u0000\u0000\u0000Baà\u0000\u0000Cà\t¨#€\u0002\u0000\u0000\u0000\u0010¯\u0010\u0000\u0000\u001e\u0010\u0007P\u000e\u0000\u0001\u0000\u0018\u0000\b@\b\u0000€\u0000\u0010\u0002 \u00008\u0000ø\u0002\u0004\u0004\u0000\b\u0000 \u0000\u0002\u0010\bä\u000f„\u0000‚\u0002\u0000\u0004\u0002\u001c\u00000\u0001\u0010\u0003‚\u0002\u0002\u0000\u0002\u0001À\u0004\u0000ø\u0000\u0010\u0001\b\u0000\u0001\u0001\u0002\u0000\u0001\u0000˜\u0002\u0000\f\u0000\b\u0001\b\u0000\u0001\u0000A\u0000\u0001\u0000B\u0002\u0000\n\u0000\u0004\u0000\u0004\u0000\u0000€!\u0000\u0001\u0000 \u0002\u0000\t\u0000\u0004\u0000\u0004\u0000\u0000€\u0000€\u0001\u0000\u0010\u0002\u0000\b€\u0002\u0000\u0004\u0000\u0000€\u0000€\u0013\u0000\b\u0002\u0000\bÀ\u0002\u0000\u0004\u0000\u0001€\u0000€\u0006\u0000\u0004\u0000\u0000\u0000 \u0002\u0000\u0004\u0000\u0003\u0000\u0000€\u0000\u0000\u0002\u0000",
"Foreground": "\u0000\u001f\u0010\u0000\u0010\u0010\u001fð\u0010 €Çÿð€€\u0000\u0001ÿ\u0007Á\u0000 \b’?ÿ‘$\u0000\u0000>H\u001fðD ‰ @Aò@ÿ‚ €\u0010\u0004A\u0004!\nŠ\u0011A\u0012\b\u0001\u0000",
"Programmable": "\u0000m\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000A\u0000\u0003\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0000\u000fÿĈ€$\u0000\u0000\b$\u0000\u0000\u0002\u0000\u0000\u0010BI\u001f \u0000\u0000& Ž\u0000\b\u0000\u0000‡û‡\u0016\b|\u0001Ô\u0003€\u0000@\u0007Ä\u0000P\u0000€< \b€\u0000à\u0002\u0000\" \u0000„\b\u0001\u0001\u0000„\u00029\u0000 \u0001\u0011\u0007ä @\b\b\u0004@\u000e\b\u0001\u0000\bˆ!\u001f\u0004\u0000 €B\u0000\u0000@\t\u0000DA\b\u0000 \u0001\u0004\u0004 \u0000\u0004\u0000„\u0002\"\u000fȂ\u0000\tà\u0001\u0000\u0000 \u00040\u001f\u0010BH \u0000p€\u0010\u0000\u0002\u0001N@ˆ‚\u0013‚\u0000\u0002\u0000\u0001\u0000\u0000 \u0007‚\u0000\u0004\u001f \u0000\u0000\u0000\u0010\u0000\u0006\u0000\u0000\u0000\u0000 „„\u0000\u0000\u0000\u0001\u0000\u0000À\u0000\u0000\u0000\u0005\u0004¤ \u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0010\"\u001f",
"Customize": "\u0000\\\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 €\u0000\u0000\u0000€\u0000\u0000\u0000\b\u0000\t\u0004\u0000C€\u0004\u0000\u0000\u0000\u0000€‡P@\u0003È\u0000|\b<\u0000\u0010\u0007”‡À\u0001\u0000\b@| \u0002\u0000\u0002\u0007Ä\u0000\u0010\u0000ˆ\u0000\u0004\u0000À\u0000 \b@\u0002\u0000\u0014€\u0000€4\u0000\u0004\u0000„\u0000 \u00020\u0000\u0010\f \u0000@\u0010€\u0005\u0000A\u00002\u0000\u0002\u0000\n\u0001\b\u0000ˆ\u0000 \u0000À\u0000 \u0001\u0010 €0@\u0004\u0000\u0002\u0000\u0002\u0000`„P\f\u0004\u0000€\u0000\u0010\u0000 \u0018\bƒ\u0000\u0000\u00000\u0000\u0000\u0000\u0002\u0000\u0000\u0000 \u0000\u0000\f\u0000\u0000\u0000\u0000 \u0000\u0000",
"Dark BW": "\u0000>\u000e\u0000\u0000\u0010\u0000\u0000\u0000\u0000\u0000\u0000! \u0000\u0000 \u0000\u0000\u0000B€\u0000\u0000N\u0000\u0000\u0001ø\u0000\u0000\u0001È>!\b@\u0000\u0000\u0004@„„!\u0000\u0000\u0000!\u0002\u0012\u0011H\b\u001f\u0000ˆ\bHH \u001f€\u0004 >-A\u0000\u0000\u0000!\u0000„´\b\u0000\u0000\u0000\u0004\u0002\u00130@\u0000\u0000\u0000 \bLÂ\u0000\u0000\u0000\u0001\u0000!!0\u0000\u0000\u0000\b\u0000ø‡\u0000\u0000\u0000\u0000@\u0000\u0000\u0000",
"Dark BW": "\u0000N\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0000\u0000\u0000@\u0000\u0000\u0000\u0000\u0010\u0001ÿÀ„€\u0000\u0000€\u0000€\u0004!\u0001\n\u0000\u0000\u00018\u001fü\u001fü\u0007à\u0000\u0000\u0007 @\u0010B\u0010!\u0000\u0000\u0000\u0011\u0001\u0000AÿÀ„\u0000\u0000\u0000„\u0004\u0001\u0000 \u0005 |\u0002 \u0010\u0004\u001fü\"€~\u0000\u0010€ð\u0002\u0001\u0004\u0000\u0000\u0000„\u0001\u0000@\b\u0000 \u0000\u0000\u0000\u0010\u0004\u0001\u001fÿÁ\u0000\u0000\u0000\u0000€\u0010\u0004\u0000\u0000\b\u0000\u0000\u0000\u0004\u0000@\u0010I\u0010À\u0000\u0000\u0000 \u0001\u0000A\u0012,\u0000\u0000\u0000\u0001\u0000\u0007ÿ\bH€\u0000\u0000\u0000\u0000\u0000\u0010\u0004@\u0002",
"Background 2": "\u0000'\u0010\u0000\u0004€\u001fð\u0000\t0 \u0001ó€À\u0000$ €€\u0001ÈAÿ\u0003܏€ \bP\u0000?ÿø\u0000\u0000\u0001\u0010\u0010\u001fð\f?à @@@@€ÿ€ÿ‚\u0001\u0001\u0000\u0010\u0004\u0002\u0002\u0004!\u000fÄ\u0014\u0011A\u0000\b\u0010\u0001\u0000\u0000",
"Quiet Mode": "\u0000‰\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0010\u0000\u0000\u0000\u0000€\u0000\u0000\u0000\u0000 \u0000\u0000\u0000\u0000\u0000BDàCà\u0000@\u0000\u0000\u0000\u0000\b\u0000!À\u0000\u0000\u0010£\u001e\u0010\u0000@\u0000p\u0000\u0000\u0004\u0000\u000f\u0000\u0000\u0000\bA\u0010\b\b\u0000@\u000fÀ\u0000\u0000\u0002\u0000\u0001\u0000\u0000\u0000\u0004\u0001\b\u0002\u0004\u0000À\u0000€\u0000\u0000\u0001\u0000\u0000€\u0000\u0000\u0002\u0000ˆ\u0001\u0004\u0001 \u0000 \u0000ˆ\u0000à\u0004\b\u001f\u0001À„\u0000‚\u0003\b\u0000\u0010\u0001\"\u0000L\u0001à\u0003ð\u0000˜„\u0000\u0002\u0000\u0004\u0000\b\u0000Q\u0000!\u0000\u0010\u0000\u0000\u0000B\u0002\u0000\u0001\u0000\u0002\u0000\u0004\u0000!\u0000\u0010\u0000\b\u0000\u0000\u0000 \u0002\u0000\u0001\u0000\u0001\u0000\u0007à\u0000€\b\u0000\u0004\u0000\u0000\u0000\u0010\u0002\u0000\u0001\u0000\u0000€<\b\u0000€\u0004\u0000\u0001ð\u0000\u0000\b\u0002\u0000\u0001\u0000\u0000@\u0000\u0000\u0000€\u0002\u0000\u0000\u0000\u0000\u0000\u0004\u0002\u0000\u0001\u0000\u0000 \u0000\u0000\u0000€\u0001\u0000\u0000\u0000\u0000\u0000\u0002\u0000",
"Highlight FG": "\u0000^\r\u0000\u0000\u0000\u0000@\u0000\u0000\u0000@\u0010\u0000\u0000\u0000\u0000\u0000\u0001\u0000Ž\u0000\u0001\u0000 \u0000\u0000\u0000\u0000\u0000\b\u0001À\u0000\b\u0000€\u000fDŽ@\u0000@\u00008\u0000@\u0002\u0000 !\b€\u0006\u0000G \u0006\u0000\b\u0000€„!\u0000h\u0000à€h\u00008\u0002\u0002\u0001\u0002\u0006\u0010\u0000\u0002\u0006\u0010\u0000˜\u000fˆ\u0004\b\u0000@\u0000\u0010\u0000@\u0002\u0010 ' \u0010\u0001\u0000\u0000@\u0001\u0000\b\u0000€…\u0000@\u0004\u0000\u0002\u0000\u0004\u0000 \u0002\u0002\u0018\u0001\u0000\u0010\u0000\u0010\u0000\u0010\u0000€\b\bÀ\u0000\u0000@\u0001€\u0000@\u0002\u0000 \u001d\u0000\u0000\u0001\u0000\u0018\u0000\u0001\u0000\b\u0000\u0000\u0000",
"Foreground 2": "\u0000„\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000@\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0004\u0012\u0000\u0000\u0001\u0000\u0000\u0000\bH\u0000‡€\u0000\u0001\u000f€& Ž\u0000\b\u0000\u0000\u0000B€\u0007ˆ\u0000\u0000\u000f\b\u0003¨\u0007\u0000\u0000€\f\u0000\u0004 \u001e\u0000€\b\u0000\u0001\u0000\"\u0000\u0003€\u000f€ @@\u0002\u0010\u0010\u0000@\u0001 \u0004 \u0011È\u001f\b\u0001\u0004\u0004\u0000!\u0001\u0000‡\u0000\f\u0000D\u0000à€€€\u0000€p\u0000\u0010 \u0007À\u0000€\b@\u0000\b\b\u0010\u0000\b\u0004À\u0006\u0002\u0000\f\u0000\b\u0001\b\u0000\u0001\u0000A\u0000\u0001\u0000B\u0000€@\u0001@\u0000€\u0000€\u0000\u0010\u0004 \u0000 \u0004\u0000\u0010\b\u0000$\u0000\u0010\u0000\u0010\u0000\u0002\u0000\u0002\u0000\u0004\u0000@\u0002\u0001\u0000\u0004@\u0001\u0000\u0002\u0000\u0000@\u0000@\t€\u0004\u0000 \u0000Œ\u0000 \u0000@\u0000\u0018\u0000\b\u0000`\u0000@\u0003ð\u0000\u0000@\u0004\u0000\b\u0000\u0006\u0000\u0001\u0000\u0000\u0000\u0004\u0000\u0000",
"Quiet Mode": "\u0000z\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000€€\u0000 \u0010\u0000\u0000\u0000\b\u0000\u0000\u0000\u0000\u0000\u0010’\u0010\u0000\b\u0002\u0000\u0000\u0000\u0001\u0000\u00048\u0000\u0000\u0002\u0014D\u0000\u0004\u0000€\u0001€\u0000@\u0000ð\u0000\u0000\u0000„\u0011\u0000\u0002\u0000 \u0000\u0010 \u0010\u0000\b\u0000\u0000\u0000 $ø\u0003\u0000\b\u0000\u0002\b\u0004\u0000\u0002\u0000\u0000\u0000\b\u0007Ð\u0003@\u0002\u0000\u0000\u0004\u0001À\bþ\u0010>\u0003€D\u0003\b\u0000\u0000\u0001\u0000L\u0001à\u0003ð\u0000˜\u0011\u0000\u0002\u0000 €\u0000€\u0010€\b\u0000\u0000\u0000!\u0004@\u0000€\b@\u0000@\u0004\u0000\u0002\u0000\u0000\u0000\b\u0000 \u0000 \u0002 \u0000 \u0001\u0000\u0000€\u0000\u0000\u0002\u0000\b\u0000\b\u0000°\u00010\u0000@\u0000\u001f\u0000\u0000\u0000€\u0004\u0000\u0002\u00000\u00000\u0000\u0010\u0000\u0000\u0000\u0000\u0000 \u0002\u0000\u0000€\u0000\u0000\u0000\u0000\u0004\u0000\u0000\u0000\u0000\u0000\b\u0000",
"Highlight FG": "\u0000n\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 ?à\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000@€€€\u0000\u0000\u0004\u0000\u0000\u0000\u0004\u0001\u0000\u0001\u0004\u0003þ\u0000\u0000\u0000\u0010\bà\u0000\u0010\u0002\u0000ÿ\b\b\u0000\u0000\u0000€\u001c\u0000\u0000€\b\u0000\u0000\u0000?àD\u0000\u0004\u0000\u0003€\u0004\u0000 \u0001ð@\b\u0000ˆ\u0000`\u0004r\u0000`\u0000€\u0004I\u001fÿÂ\u0010\u0006€\u000e\b\u0006€\u0003€\u0011$\u0000\u0000\u0010 a\u0000\u0000 a\u0000\t€|?à@€\u0004\u0000\u0001\u0000\u0004\u0000!\u0001\u0012@€‚\u0001\u0000\u0010\u0000\u0004\u0000\u0010\u0000€\u0004I\u0002\u0002\u0010\u0004\u0000@\u0000 \u0000@\u0002\u0000\u001f$\u000fø€\u0010\u0001\u0000\u0001\u0000\u0001\u0000\b\u0000D\u0010\u0002\u0000\u0000\u0000\u0004\u0000\u0018\u0000\u0004\u0000 \u0001\u0010A\b@\u0000\u0000\u0010\u0001€\u0000\u0010\u0000€\u0005E\b €\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\b\u0001\u0000",
"Foreground 2": "\u0000'\u0010\u0000\u0010\u0010\u001fð\u0000\u0010 \u0000 €À\u0007ÿð€€\u0000\u0000\u0001ÿ\u0003ÇÁ\u0000 \bH’?ÿ‘$\u0000\u0000\u0001>H\u001fð\fD ‰ @@ò@ÿ‚\u0002 €\u0010\u0004\u0004A\u0004!\u000fʊ\u0011A\u0000\u0012\b\u0001\u0000\u0000",
"Remove": "\u0000\u001e\u0010\u0000\u0010\b\u0000\u0002H#Â\u0005 ‰\b\u0015\u0012(P\u0010H¢#ù#\u0010H$оà’$ þH‚\t\"_è$\b?’(¨‚\b„’\b\"\"(¢ˆ(¡\u0004 @",
"Passkey BETA": "\u0000^\r\u0000\u0000\u0000\u0000\u0000€\u0000\u0000\u0000\u0000\u0000\u0000\u0003à\u0000\u0000\u0002\u0000\u0000\u0000\u0003ãóøÈ@\u0000\u0000\b\u0000\u0000\u0000\bH\u0001\u0004¡\u001e\u001e\u001e\"\u001e!\u0000! \u0004\u0012„„„„„„\u0000„€\u0010‡à\u0012\u0002\u0002‚\u0012\u0010\u0003ãàB\u0018\u0007Æ\u0006\f\u000fÈ@\bH\u0001\u000fà!\u0006\u0006( !\u0000! \u0004!€„\u0004\u0004€L\u0000„€\u0010†\u00022\u0012\u0012\"\u0010Ð\u0002\u0012\u0000B\u0018\u0007G‡ˆG€@\u000fÁ\b@\u0000\u0000\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000x\u0000\u0000\u0000\u0000\u0000",
"Add Device": "\u0000l\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000€@\u0000\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\b\u0010\u0004\u0000\u0000\u0000 \u0000€\u0000\u0000\u0000\u0000Oð@\u0004u\u0000\t\u0000\b\u00048\u0000ð\u0004\u0004\u001f8@\u0000P\u0001\u0000<€4€\b\u0013ù\u0010\u0000\u0002$\u0000 \u0000\u0010\u0004D\u0000ÿ\u0004‘ƒÀ\u0011\u0000\f\u0000\u0001\u0000D#È\u0000I\u0017À\u0001\b\u0003@\u0000 \b‚\u0004€\u0004‘\u0002\u0000 @Â\u0000\u0002\u0000ˆ OøI\u0010 \u0002\u0004\u0000 \u0000P\t\u0002\u0004€„‘\u0004\u0000@ \u0002\u0000\b€@H\bI\u0010@\b\u0002\u0000 \u0003\u0004\n\u0004\u0004ÿ„‘\b\u0001\u0000 \u0002\u0000À@A€H\b‰\u0011\u0000\u0000\u0000\u0000 \u0000\u0000\u0000`\n\u0000\bŸ \u0000\u0000\u0000\u0002\u0000\u0000\u0000\u0000\u0001\u001fù)\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000!\u0000",
"LCD Timeout": "\u0000r\r\u0000\u0000\u0000\u0000\u0004\u0000\u0000@\u0004\u0000\u0000\u0000\u0004\u0000\u0010\u0000\u0000\u0000\u0000€\u0000\u0010\u0000€\u0010ø\u0000€\u0002\b\u0007\u0000>\u0000\b\u0000 \u0003Â\u0000 \u0000‚\u0002\u0012 \u0010€\u0004\u0000\b\u0000\u0001\u0000\u000f€ €„„\u0004@\u0006\u0000\u0004\u0000\u0004€| \b !\u0002\u0006€\u0001\u0000\u0000À\b\b\u0003ˆ\b\bA\u0018\u0006\u0010\u0000H\u0000 \u0002\u0004\u0000š\u0002\u0002\u0010‚\u0000\u0004\u0000!\u0000\b\u0000A\u0000!€€„\u0001\u0000\u0001\u0000\b`\u0002\u0000\u0010€\b !!\u0000€\u0000@\u0014ä\u0001\u0000\u0000 \u0002\b\bH€@\u0000\u0010\u0003Á\u0000@\u0000\u0010\u0000ƒñãÀ`\u0000\u0004\u0000\u0000\u0000 \u0000\b\u0000 \u0000\u0000\u0000`\u0000\u0001\u0000\u0000\u0000\u0010\u0000\u0004\u0000\b\u0000",
"Highlight BG": "\u0000^\r\u0000\u0000\u0000\u0000@\u0000\u0000\u0000@\u0010\u0000\u0000\u0000\u0000\u0000\u0001\u0000Ž\u0000\u0001\u0000 \u0000\u0000\u0000\u0000\u0000\b\u0001À\u0000\b\u0000€\u000f‡„@\u0000@\u00008\u0000@\u0002\u0000!!\b€\u0006\u0000G \u0006\u0000\b\u0000„„!\u0000h\u0000à€h\u00008\u0002\u0012\u0001\u0002\u0006\u0010\u0000\u0002\u0006\u0010\u0000˜\u000fˆ\u0004\b\u0000@\u0000\u0010\u0000@\u0002\u0010!' \u0010\u0001\u0000\u0000@\u0001\u0000\b\u0000„…\u0000@\u0004\u0000\u0002\u0000\u0004\u0000 \u0002\u0012\u0018\u0001\u0000\u0010\u0000\u0010\u0000\u0010\u0000€\bHÀ\u0000\u0000@\u0001€\u0000@\u0002\u0000>\u001d\u0000\u0000\u0001\u0000\u0018\u0000\u0001\u0000\b\u0000\u0000\u0000",
"LCD Brightness": "\u0000¼\u0010\u0000\u0000€\u000fà\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0004\u0000‚\u0000\u0000€\u0000\u0000\u0000\u0000\u0001€\u0000\u0000\u0000\u0000\u0000\u0000\u000fÀ\u0000\u0000@\u0017þ\b \u0000$\u0000\u0000\u0000\u0000\u0000$\u0010\u0000\u0000 \u0000\u0000|„\bÀ\u0002\u0001\u0012\u0000þ\u0001\u001d@\u0000\u0001\u000e\u0002>@€\u0000\u0002\u0000<\u0004H@t\u0000\u0013 \b \u000e\u0010\u0000\u0000\u000f \u001cX\b\u0000\u0000@\r D„\u0000€!Ä#À‚\u0000\u0000\u0000\u0002\u0000\u0004\u0000\u0004\u0000€\u0000\b\u0001\u0011\u0004OÀ\u0010\u0001èBD\u000fà ð\u0000@\u0000@\u0000€\b\u0000\u0003\u0000\u0011\b|„\u0002\u0000\u0000Af@\u0000\u0001ð\u0000\b\u0000\b\u0000\b\u0000€\u0000Ð\u0002 „H@|\u0000\u0004\u0012”~ü\u0000€\u0003€\u0000€\u0001\u0000\b\u00100€\"\bD„\f \u0007â4„(@\b\u0001È\u0000\u0014\u0000\u0010\u0000‚\u0000\b\u0002@„OÁ\u0001\u0000‚âHB„\u0001\u0000\u0000€\u0002 \u0002\u0000\b@\u0000€$\u0010|„ \u0010\u0010\u0002#\u0007ïÀ\u0010\u0000\b\u0000Á\u0000@\u0000ˆ\u0000\b\u0002\u0004H@9\u0001\u0000\" B„\u0002\u0000\u0000€0\u0010\b\u0000\u000b\u0000\u0000€\u0010`\u0001\u0004\u0004`\f\u0002%\u0004(@@\u0000\b\u0000\u0000\u0001\u0000\u0000À\u0000\b\u0000\u0018\u0000\u0010@D\u0000<\"ˆ~ü\b\u0000\u0000€\u0000\u0000\u0000\u0000\u0000\u0000\u0000€\u0000\u0000\u0002\u0014\u0003€\u0000\u00000d(@\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000@€\u0000\u0000\u0000",
"Connect device\nto add to\nwhitelist": "\u0000X\u0012\u0000\u0010€\u0010 \u0011$\u0000\u0000\u0000\u0000\u0000\u0010@\u0010 \u0011$>|\u0000\u0000\u0000\u0013ü#þ\u0012ª\"D\u0000\u0000\u0000\u0010\u0000( \u0013®\"D\u0000\u0000\u0000ý\bIüù$>|\u0000\u0000\u0000\u0010ð\u0000\u0012ª\u0001 \u0000\u0000\u0000\u0017þ\u0013þ3®\u0001\u0010\u0000\u0000\u0000\u0010@\"\u00029$ÿþ\u0000\u0000\u0000\u0018@L\u0004Wþ\u0002€\u0000\u0000\u00007þøQ\u0010\f`\u0000\u0000\u0000Ј\b‘\u00140\u0018\u0000\u0000\u0000\u0011\b\u0000\u0011\u0014À\u0006\u0000\u0000\u0000\u0010¨\u0012Š>|\u0000\u0000\u0000\u0010`©\u0012\u0012J\"D\u0000\u0000\u0000Q˜\u0012\u0012\u0016\"D\u0000\u0000\u0000&\u0004\u0002\u000e\u0014\">|\u0000\u0000\u0000\u0000\u0000\u0000 \u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 @\u0010\u0000\u0000\u0000\u0001\u0000\u0001",
"Wake on BTN3": "\u0000^\u000b\u0000\u0000\u0000€\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0010\u0002\u0000\u0000\u0000\u0000\u0000\u0003ãú\u0011è@\b\u0000\u0000\u0000\u0000\u0000\bA\fHa\u001e\"\u001e\u0000\u001e.\u0000!\u00041!„„„\u0000„Ä\u0000„\u0010¤\u0006Ð\u0012‚\u0010\u0002\u0012\u0010\u0003àBëGÌ\u000fÀ\bH@\bA\t@s!( \u0000!!\u0000!\u0004%\u0001̄€\u0000„„\u0000„\u0010Œ†\u00122\"\u0010\u0002\u0012\u0010\u0002\u0010B2\u0018GHG€\u0007ˆ@\u000f\bG€",
"Wake on BTN2": "\u0000^\u000b\u0000\u0000\u0000€\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0010\u0002\u0000\u0000\u0000\u0000\u0000\u0003ãú\u0011è@\b\u0000\u0000\u0000\u0000\u0000\bA\fHa\u001e\"\u001e\u0000\u001e.\u0000!\u00041!„„„\u0000„Ä\u0000„\u0010¤\u0006Ð\u0012‚\u0010\u0002\u0012\u0010\u0003àBkGÌ\u000fÀ\bH@\bA\tB3!( \u0000!!\u0000!\u0004%\u0010̄€\u0000„„\u0000„\u0010Œ‚\u00122\"\u0010\u0002\u0012\u0010\u0002\u0010B2\bGHG€\u0007ˆ@\u000f\bOÀ",
"Time Zone": "\u0000[\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 \u0000\u0000\u0000\u0001\u0000\u0000\u0010\u0001\u0000\u0000R\u0000\u0000\u0000\u0000\u0010\u0000\u0002\u0000\u0010\u0002\u0005@\u0000\u0000\u0000\u0003à\u0000€\u0002\u0000  \u0000\u00000\u0000„\u0000 \u0000@\u0002\u0010\u0000\u0000\u0001\u0002\u0011\u0000\u0018\u0000\u0010\u0000B\u0000\u0000\u0000\u0010E \r\u0000\u0002\u0000\b@@ø\u0000\u0011\u0018\u0006\u0010\u0000H\u0000\u0010\u0007à\u0000\u0002A\u0000\u0002\u0000\u0010€\u0002\u0000\u0000\u0000\u0000€@\u0000@\u0002\u0018\u0000€\u0000\u0000\u0000 \u0010\u0000\b\u0002œ€\u0010\u0000\u0000\u0000\b\u0004\u0000\u0001\u0000<\u0010\u0004\u0000\u0000\u0000&\u0003\u0000\u0000 \u0000\u0000\u0001\u0000\u0000\u0000\u0003\u0001€\u0000\u0004\u0000\u0000\u0000@\u0000\u0000\u0000\u0000\u0000",
"Wake on Touch": "\u0000‹\r\u0000\b\u0000\u0000\u0000\u0000€\u0010\u0000\u0002\u0000\u0000\u0000\b\u0000\u0000\u0000\u0001\u0000€\u0000\u0000\u0000\u0010\u00018\u0000 \u0000\u0000\u0000€\u0000\u0000\u0000À\u0010\u0000\u0000\u0000\u0004\u00009\u0000\u0004\u0001€\u0000\u001f\u0000\u0000\u0001à\u0003à\u0000\u0000\u0001\u0000\u0004@@ð\b\u0010\u0004 \u0000\u0000\u0002\u000f„\u0000\u0000\u0000À\u0001\b\u0007ð\u0000‚\u0000ˆ\u0000\u0000\u0000>€€\u0007\u0000h\u0000\"\u0000\u0006\u0000\u0000€)\u0000\"\u0001\u001c\u0010 \u000f\u00000€\b@\u0001@\u0000\u0010\bÀ\u0012 \u001c\u0004\u0000 \u0000\u0010\u0002\u0010\u0000H\u0000\u0004\u0002\b\u0001D\u0000\u0010!\u0000\u0004\u0000\u0002\u0000\u0002\u0000\u0011\u0000\u0001\u0000\u0002\u0000!\u0000\u0002\u0000 \u0000€\u0000@\u0000€\u0004 \u0000@\u0000€\u0000 \u0000€\b\u0000\u001e\u0000\b\u0000 \u0001\u0004\u00010\u0000 \u0000\b\u0000\u0010\u0002\u0000< \u0001\u0000\b\u0000\u0001€\u0018\u0000\u0018\u0000\u0002\u0000\u0004\u0000€\u0000\u0000\u0000 \u0002\u0000\u0000\u0010\u0000\u0000\f\u0000\u0000€\u0001\u0000",
"LCD Timeout": "\u0000?\u0010\u0000\u0000\u0000\u0000\u0000\u0000@\u0010\u0001ÿýÿüD \u0000\u0000\u0000\b\u0000E Oø\u0000\u0000\u0010\u0000Š€\u0004þ@@\b\u0004\u0005B\t$‡ÿ\b\u000b\u0004\u0012I\t\u0012\u0012‚\u0014\b'ò\u0012$\u0005\u0004H\u0010I$'È\u0013ø\u0010 ’HH$\u0010 A$‘#ˆ @‚!>A\u001fÁA\u0004\u0000BD‚ ‚B\b\u0000„‰\u0004A\b„\u001fÿ\u000fþ\bŠ\u0010(\u0000\u0002\u0010\u0004\u0001\b@ ",
"Highlight BG": "\u0000n\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000?à\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000$À€€\u0000\u0000\u0004\u0000\u0000\u0000\u0004\u0001\u0000\u000fœ\u0003þ\u0000\u0000\u0000\u0010\bà\u0000\u0010\u0002\u0000\u0002B\b\b\u0000\u0000\u0000€\u001c\u0000\u0000€\b\u00009\b?àD\u0000\u0004\u0000\u0003€\u0004\u0000 \u0007#à\b\u0000ˆ\u0000`\u0004r\u0000`\u0000€\b\u0000\u001fÿÂ\u0010\u0006€\u000e\b\u0006€\u0003€\u000fø\u0000\u0000\u0010 a\u0000\u0000 a\u0000\t€ ?à@€\u0004\u0000\u0001\u0000\u0004\u0000!\u0000ÿ€€‚\u0001\u0000\u0010\u0000\u0004\u0000\u0010\u0000€\u0002\u0002\u0002\u0002\u0010\u0004\u0000@\u0000 \u0000@\u0002\u0000\u000fø\u000fø€\u0010\u0001\u0000\u0001\u0000\u0001\u0000\b\u0000 \u0002\u0000\u0000\u0000\u0004\u0000\u0018\u0000\u0004\u0000 \u0000€\b@\u0000\u0000\u0010\u0001€\u0000\u0010\u0000€\u0002\n\b €\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\b\u0010\u0001\u0000",
"LCD Brightness": "\u0000l\u000f\u0000\u0001ø\u0000\u0000\b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u000f\u0018\u0000@\u0000\u0000\u0002\u0000\u0000\u0004\u0000\u0000‰\b\u000e€\u0002`\u0007€\u0010\u0000\u0001 \u0002\b€\u0010\u00048\u0001¤\u0001\u0000\u0000\n\u0001\u0010‰ø\u0002\u0000=\u0000\" \u0010\u0000\u0004€\t\u000f€@\u0000\b\u0002!\u0001\u0000\u0000 \u0000‰\b\u000f€\u0000€D\u0010\u0010\u0000‘\u0000\t\u0018„\u0000ü\u0004A\u0001\u0002\u0006\b\u0000‘‰ø \u0010@H\u0010\u0010@\u0000`\t/„\u0002\u0002\u0000\u0004‚\u0001\b\u0000\u0001\u0012‰\b\u0007 \u0000P \u0011\u0000\u0000\u0000\u0011@ €Œ\u0001€\u0002\f\u0001`\u0000\u0000\u0002\u0018\u0002\b\b€\u0007€\u0003\u0000\u0018\u0000\u0000\u0000A\u0000B€p\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\b\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000",
"Connect device\nto add to\nwhitelist": "\u0000‹\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000B\u0000@€\u0000\u0000\u0000\u0000\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0000\b \b\u0010\u0000\u0000\u0000\u0000\u0002@\u0000€\u0002\u0000\u0000\u0000 \u0001?Â?á\u0000\u0000\u0003£¨\u0000H\u0000@!À%€ \u0000P@\u0010\u0000‡ƒ„\u0000\u0005\u0000\u0010\u0003È\u0003À?B\u0012\u0002\u0000\u000f \u0000\u0000D€\u0004\u0000\u0002\u0000 \u0000„‡€\u0000@\u0000\b ð\u0004@\u0003\u0000\u0000@\u0004 \u0017þ\u0013þ\b\u0000\u0001\u0003à\u0000„\u0001 \u0000\u0010\u0001ç\u0002\b\u0004@A\u0000\u0000@\u0002\u0000 @Â\u0000\u0002\u0000c\u0000a\u00010\u0010 \u0000\b\u0000@\u0004\b\u0000@\u0000 \u0010À\u001bÿ|H\u0004\u0000\u0001\u0000\u0010\u0001\u0000€\b\u0000\"\u0000(\r\b€‰\u0000€€ \u0002\u0000@\u0010\u0001\u0000\u0018 \t\u0000\"\u0010\u0001 \u0010 \u0004\u0000€\u0010\u0002\u0000 \f\u0004\u0002\u0000\u0004$*$\u0001\u0018\u0000@ \u0000\u0000\u0000\u0004\u0000\u0000\u0000@\u0000ƒ\u0005H\u001c\u0000\u0007\b\u0000\u0000\u0000\u0000€\u0000\u0000\u0007àQ˜\u0012\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0004À€AÀ\u0000\u0000\u0000",
"Wake on BTN3": "\u0000Ž\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 \u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000À‡ãÂ\u0000\u0000\u0000\u0000\u0004\u0000\u0000\u0000\u0000\b\u0000\u0000\u0000\u0004‡„‰\b\u0000\u0000\u0000\u0000\b\u0000\bp\u0004\u0010\u0000\u0000\u0011ò\u0012\u0012(Pøþ„x!à\u001e@\b@\u0000\u00008°¨¢\"\u0010C\u0012\u0010˜À\u0002\u0000!\u0000\u0000\u0000\u0002\u0005ôC\u0010HA\fHD\u0004\u0000\b\u0000„\u0000\u0000\u0000\u0010\u0005B\n¾á\u0004)\u0001\u0010\u0000\u0000@\u0002\u0010 |\u0000@\u0015($ ø\u0010¤8@\u0000\u0001\u0000\b@~\u0000\u0002\u0000|ø‚\u0010BP\u0011\u0000\u0000\n\u0000!\u0000\u0000\u0000\b\u0001T‚_èA\t@D@\u0000D\u0000\b\u0000\u0000\u0000@\u0005B\r\b!\u0004#!\u0015\u0000\u0006\b\u0000 \u0000\u0000\u0002\u0000\u001f(¨„\u0010Œ„#ð` \u0001\u0000\u0000\u0000\u0010\u0000T „“àB\u0011à€\u0000\u0000\u0000\b\u0000\u0000\u0000€\u0002P‚\" \u0000\u0000\u0000\u0002\u0000\u0000\u0000\u0000@\u0000\u0000\u0000\u0000\bB\b(€\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000C\b @",
"Wake on BTN2": "\u0000Ž\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 \u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000À‡ãÂ\u0000\u0000\u0000\u0000\u0004\u0000\u0000\u0000\u0000\b\u0000\u0000\u0000\u0004‡„‰\b\u0000\u0000\u0000\u0000\b\u0000\bp\u0004\u0010\u0000\u0000\u0011ò\u0012\u0012(Pøþ„x!à\u001e@\b@\u0000\u00008°¨¢\"\u0010C\u0012\u0010˜À\u0002\u0000!\u0000\u0000\u0000\u0002\u0005ôC\u0010HA\fHD\u0004\u0000\b\u0000„\u0000\u0000\u0000\u0010\u0005B\n¾á\u0004)\u0001\u0010\u0000\u0000@\u0002\u0010 |\u0000@\u0015($ ø\u0010¤\u0018@\u0000\u0001\u0000\b@~\u0000\u0002\u0000|ø‚\u0010BP\u0000\u0000\n\u0000!\u0000\u0000\u0000\b\u0001T‚_èA\tD\u0004@\u0000D\u0000\b\u0000\u0000\u0000@\u0005B\r\b!\u0004# \u0015\u0000\u0006\b\u0000 \u0000\u0000\u0002\u0000\u001f(¨„\u0010Œ€#ð` \u0001\u0000\u0000\u0000\u0010\u0000T „“àB\u0013ð€\u0000\u0000\u0000\b\u0000\u0000\u0000€\u0002P‚\" \u0000\u0000\u0000\u0002\u0000\u0000\u0000\u0000@\u0000\u0000\u0000\u0000\bB\b(€\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000C\b @",
"Time Zone": "\u0000.\u0010\u0000\u0000@\u0000\u0000\u0012@\u0001\u0003çÀI\u000f„\b‘\u000fÿ¢þ>|\u0004ˆ@‰\u0010\u001fÂ!\u0003çÀ\u0000\bÿÈ\u0001\u000fÿþ\u0004'ä ˆ\u0010‘\u0002\n/ò~@ÿˆ\t\t\u0002\"\"D'ä\bˆø\"¢ B\u0000@‰\u0000\u0005\b\u0005\u0000 \u0000\b \b\u0000€",
"Wake on Touch": "\u0000\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000@\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0003\u0002\u001f\b\u0002\u0000\u0000\u0000\u0000@ \u0000\u0000\u0000\u0000@\u0000\u0000\u0000$<$H@\b\u0000\u0000\u0000\f\u0000€\u0000‡\u0000A\u0000\u0000\u0001\u001f!!\"…\u0000|\u0000\u0000\u0007€\u0004<\u0003È\u0001\b\u0000\u0000\u0007\u0016\u0012\u0015\u0014D\u0004 \u0000\u0000\u0002\u0000&0\u0000€\b@\u0000\u0000\u0000}\u0010Ä\u0010\"\u0000\u0000\u0000\u000f‚\u0002\u0000\u0004\u0000B\u0000\u0000\u0000\b\u0002¡\u0005_b\u0002 \u0011À\u0010\u0000\u0000@\u0002\u0010 |\u0000@\u0015($ #\u0000H€r\u0000€\u0000\u0002\u0000\u0010€ü\u0000\u0004\u0000ùñ!\u0002\b\u0001D\u0000\u0010\u0004\u0000\u0000(\u0000„\u0000\u0000\u0000 \u0005R\t€€\b@\u0000€\"\u0000\u0002 \u0000@\u0000\u0000\u0002\u0000*\u0010h@\b\u0000\u0002\u0000\b\u0001P\u0000`€\u0002\u0000\u0000\u0000 \u0001÷òŠ€€\u0000 \u0000@\u0004~\f\u0004\u0000 \u0000\u0000\u0002\u0000\n„\u0010’\u0018\u0000\u0002\u0000\u0004\u0000 \u0000\u0000\u0000\u0002\u0000\u0000\u0000 \u0000” ˆ‹\u0000\u0000 \u0000@\u0001\u0000\u0000\u0000\u0000 \u0000\u0000\u0000\u0000\u0004!\u0004\u0014@\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000C\b @",
"Twist Timeout": "\u0000™\r\u0000\u0000\u0000\u0000€\u0000\u0000 \u0000\b\u0000\u0000€\b\u0000\u0000\u0000\b\u0000 \b \u0000@!À\b\u0000\u0002\u0000\u0000@\u0002\u0000Cà\u0002\u0000\b\"\b\u0000@\u000f \u0004\u0000\u0001ð\u0000@\u0001\u0000\u001e\u0010\u0001\u0000\u0004\b„\u0000@\u0000 \u0002\u0000\u0001\b\u0000@\u0000€\u0000\u0010\u0000ø\u0002\u0002D\u0000À\u0000\u0010\u0001\u0000\u0000ˆ\u0000À\u0000€\u0000\u000f„\u0001\u0001\u0002\u0001 \u0000\u0010\u0000à\u0000¤\u0001 \u0000@\u00000\u0002\u0002\u0000à\u0002\u0003\b\u0000\b\u0000L\u0000Œ\u0003\b\u0000$\u0000\u0010\u0001\u0002\u0000L\u0001\u0000\u0004\u0000\n\u0000!\u0000‚\u0000\u0004\u0000!\u0000\b\u0000A\u0000!\u0001\u0000\u0002\u0000\b€\u0010\u0000\u0002\u0000\u0002\u0000\u0010À\u0004\u0000!\u0000\u0010\u0001\u0000\u0001\u0000\u0018 \b\u0000\u0002\u0000\u0001\u0000S\u0004\u0000\u0000€\b\u0001\u0000\u0000€0\u0010\u0004\u0000\u0002\u0000\u0000€\u001e\b\u0002\u0000\u0000€\u0004\u0001\u0000\u0000@\u0000\u0000\u0002\u0000\u0006\u0000\u0000@\u0000\u0000\u0002\u0000\u0000€\u0002\u0000\u0000\u0000 \u0000\u0000\u0001\u0000\f\u0000\u0000 \u0000\u0000\u0002\u0000\u0000€\u0001\u0000",
"Wake on Twist": "\u0000™\r\u0000\b\u0000\u0000\u0000\u0000€\u0010\u0000\u0002\u0000\u0000\u0000\u0000\u0000\u0000€\u0000\u0000 \u0002\u0000\u0000\u0000\u0000@\u0004à\u0000€\u0000\u0000\b \u0000@!À\b\u0001\u0000\u0000\u0000\u0000@\u0003\u0000@\u0018\u0000\"\b\u0000@\u000f \u0004\u0000ø\u0000\u0000\u0000@\u0001\u0010\u0010<\u0002\u0004\b„\u0000@\u0000 \u0002\u000f„\u0000\u0000\u0000À\u0001\b\u0007ð\u0000‚\u0002D\u0000À\u0000\u0010\u0001\u0002\u0002\u0000\u001c\u0001 \u0000ˆ\u0000\u0018\u0000\u0002\u0001\u0002\u0001 \u0000\u0010\u0000á\u0002\u0000ð\u0003\b\u0000„\u0000\u0014\u0000\u0001\u0000\u0002\u0003\b\u0000\b\u0000LA\u0000\b\u0000\u0004\u0000„\u0000\u0012\u0000\u0001\u0000\u0001\u0000\u0004\u0000\n\u0000!!\u0000\u0004\u0000\u0002\u0000\u0002\u0000\u0011\u0000\u0001\u0000\u0001\u0000\u0002\u0000\b€\u0010\u0000€\u0002\u0000\u0001\u0000\u0002\u0000\u0010€\u0001\u0000\u0001\u0000\u0001\u0000\u0018 \b\u0000€\u0001à\u0000€\u0002\u0000\u0010@\u0013\u0000\u0001\u0000\u0000€0\u0010\u0004\u0000€\u000f\b\u0000@\u0002\u0000\u0000`\u0006\u0000\u0001\u0000\u0000@\u0000\u0000\u0002\u0000€\u0000\u0000\u0000 \u0002\u0000\u0000\u0010\u0000\u0000\u0000\u0000\u0000 \u0000\u0000\u0001\u0000",
"Wake on BTN1": "\u0000^\u000b\u0000\u0000\u0000€\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0010\u0002\u0000\u0000\u0000\u0000\u0000\u0003ãú\u0010H@\b\u0000\u0000\u0000\u0000\u0000\bA\fC!\u001e\"\u001e\u0000\u001e.\u0000!\u00041\u0014„„„\u0000„Ä\u0000„\u0010¤\u0012Ð\u0012‚\u0010\u0002\u0012\u0010\u0003àBKGÌ\u000fÀ\bH@\bA\tA3!( \u0000!!\u0000!\u0004%\u0004̄€\u0000„„\u0000„\u0010Œ\u0012\u00122\"\u0010\u0002\u0012\u0010\u0002\u0010B0HGHG€\u0007ˆ@\u000f\bGÀ",
"Wake on Twist": "\u0000­\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000@\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0003\u0002\u001f\b\u0000\u0000\u0000 \u0000\u0000\b\u0000 \u0000\u0000\u0000\u0000@\u0000\u0000\u0000$<$H@ €\u0001\u0000‡\u0000 \u0000€\u0000‡\u0000A\u0000\u0000\u0001\u001f!!\"…\b‚\u0000\u0010\u0003È\u0001\u0000\u0004<\u0003È\u0001\b\u0000\u0000\u0007\u0016\u0012\u0015\u0014D\"\u0010\u0001\u0000\u0000€\b\u0000&0\u0000€\b@\u0000\u0000\u0000}\u0010Ä\u0010‘\u00000\u0000\u0004\u0000@\u0002\u0002\u0000\u0004\u0000B\u0000\u0000\u0000\b\u0002¡\u0005_d\b\u0006€\u0000@\u0003€\u0010\u0000\u0000@\u0002\u0010 |\u0000@\u0015($ \u0000€Â\u0000\u0002\u0000\u0013\u0000€\u0000\u0002\u0000\u0010€ü\u0000\u0004\u0000ùñ!\u0000\u0004\u0000\u0010\u0000(\u0000„\u0004\u0000\u0000(\u0000„\u0000\u0000\u0000 \u0005R\t€@\u0000€\u0002 \u0004\u0000\"\u0000\u0002 \u0000@\u0000\u0000\u0002\u0000*\u0010h@\u0004\u0000\u0004\u0000`€ \u0001P\u0000`€\u0002\u0000\u0000\u0000 \u0001÷òŠ€@\u0000 \f\u0004\u0001\u0000\u0004~\f\u0004\u0000 \u0000\u0000\u0002\u0000\n„\u0010’\u0004\u0000\u0001\u0000\u0000\u0000\b\u0000 \u0000\u0000\u0000\u0002\u0000\u0000\u0000 \u0000” ˆˆ\u0000\u0000\b\u0000\u0000\u0000@\u0001\u0000\u0000\u0000\u0000 \u0000\u0000\u0000\u0000\u0004!\u0004\u0014@\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000C\b @",
"Wake on BTN1": "\u0000Ž\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 \u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000À‡ãÂ\u0000\u0000\u0000\u0000\u0004\u0000\u0000\u0000\u0000\b\u0000\u0000\u0000\u0004‡„‰\b\u0000\u0000\u0000\u0000\b\u0000\bp\u0004\u0010\u0000\u0000\u0011ò\u0012\u0012(Pøþ„\u0010!à\u001e@\b@\u0000\u00008°¨¢\"\u0010C\u0010À˜À\u0002\u0000!\u0000\u0000\u0000\u0002\u0005ôC\u0010HA\fE\u0004\u0004\u0000\b\u0000„\u0000\u0000\u0000\u0010\u0005B\n¾á\u0004)\u0004\u0010\u0000\u0000@\u0002\u0010 |\u0000@\u0015($ ø\u0010¤\u0010@\u0000\u0001\u0000\b@~\u0000\u0002\u0000|ø‚\u0010BPA\u0000\u0000\n\u0000!\u0000\u0000\u0000\b\u0001T‚_èA\tA\u0004@\u0000D\u0000\b\u0000\u0000\u0000@\u0005B\r\b!\u0004#\u0004\u0015\u0000\u0006\b\u0000 \u0000\u0000\u0002\u0000\u001f(¨„\u0010Œ\u0010#ð` \u0001\u0000\u0000\u0000\u0010\u0000T „“àB\u0011ð€\u0000\u0000\u0000\b\u0000\u0000\u0000€\u0002P‚\" \u0000\u0000\u0000\u0002\u0000\u0000\u0000\u0000@\u0000\u0000\u0000\u0000\bB\b(€\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000C\b @",
"Log": "\u0000\u001c\u000e\u0000\u0000\u0000\u0000 \u0000\u0002\t\u0000\u0000\u0013X|\u0001Ôx@\u0011\u0004\u0004\u0002\u0010@@\"\u0002\b\u0004 €„\u0002x\u0000@8@\b\u0002\u0000\u0001\u0000\u0000\u0000 \u0000\u0000\u0004\u0000",
"Wake on FaceUp": "\u0000n\r\u0000\u0000\u0000€\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0010\u0002\u0000\u0000\u0000\u0000\u0000\u0003ð\u0000\u0000\u0002\u0010\b@\b\u0000\u0000\u0000\u0000\u0000\b\u0000\u0000\u0000\b@!\u001e\"\u001e\u0000\u001e.\u0000 \u001e\u001e\u001e!.„„„\u0000„Ä\u0000€„„„„ÆÐ\u0012‚\u0010\u0002\u0012\u0010\u0003à\u0012\u0002\u0012\u0012\u001bGÌ\u000fÀ\bH@\b\u0007È\u000fÈHs!( \u0000!!\u0000 ! !!̄€\u0000„„\u0000€„€€„†\u00122\"\u0010\u0002\u0012\u0010\u0002\u00022\u0012\u0012\u0013\u0018GHG€\u0007ˆ@\b\u0007G‡‡‹€\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 \u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000€",
"Twist Max Y": "\u0000†\r\u0000\u0000\u0000\u0000€\u0000\u0000 \u0000\u0000\u0000\u0000\u0000\u0010\u0000\u0000\u0000\u0000A\u0000\u0002\u0001\u000e\u0000@\u0000\u0000\u0000\u0000\u0000'\u0001\u000e\u0000\b‚\u0000\u0010\u0003È\u0001\u0000\b<\u0000\u0000\u0000ä\u0003È\u0010Q\b\u0000€\u0000@\u0004\u0000\u001f\b\u0000\u0000\u0002 \u0000@A$@\f\u0000\u0001\u0000\u0010\u0000\u0000@\u0000\u0000\u0010€\u0001\u0000ˆ\u0000Ð\u0000\b\u0000p\u0000\u0002\u0000D\u0000D\u0000\b\u0002 \b\f \u0000 \u00010\u0000\u0010\u0004ˆ\u0002\u0010\u0000 \u0005\u0000 \u0000€\u0001@\u0004 \f€\n \u0010€\u0001@\b\u0001\u0000\u0002\u0000\b€\u0010\u0000\f\u0000!\u0000\u0002\u0000\b€ \b\u0000\b\u0000Á\u0000@\u0000\b\u0000\u0004\u0000\u0010\u0000Á\u0000€@\u0000 \f\u0004\u0001\u0000\u0000\u0010\u0000 \u0000€\f\u0004\u0002\u0002\u0000\u0000€\u0000\u0000\u0004\u0000\u0000\u0000\u0001\u0000\u0004\u0000\u0000\u0000\b\u0000\u0000\u0002\u0000\u0000\u0000\u0010\u0000\u0000\u0000\b\u0000 \u0000\u0000\u0000\u0000",
"Wake on FaceUp": "\u0000¯\u0010\u0000\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0010\u0000\u0000\u0000\u0002\u0001ÿü\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00000!øðÿð\b\u0000\u0002\u0000#\u0000€\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0000ð‘!\u0000\b\u0000\u0010\u0002\u0007À:\u0000€\u0000‡\u0000A\u0000\u0000\u0001\u001f!!\"…\u0001ÿ\u0000@\u0003ø\u0000\b\u0001\u000f\u0000ò\u0000B\u0000\u0000\u0001ń…E\u0011\u0002\u0002\u0007ÿ\u0000\u0010\u0000 \u0002c\u0000\b\u0000„\u0000\u0000\u0000\b\u0017Ñ\fA\u0004\u0004\t\u0012\u0000à\u0000€\b\b\u0000\u0010\u0001\b\u0000\u0000\u0000 \n„\u0015}ø\u0012$\u0002`\u0003à\u0010\u0000\u0000@\u0002\u0010 |\u0000@\u0015($ \u0010\u0010'È\u0004@\f \u0000\u0000€\u0004 ?\u0000\u0001\u0000>|H@?àH\u0007€ @\u0000\u0002€\b@\u0000\u0000\u0002\u0000U —ø@@‘ \u0001\u0000€@ˆ\u0000\b€\u0001\u0000\u0000\u0000\b\u0000¨A¡\u0000ÿ>@\u0004\u0000\u001cP\u0000`€\u0002\u0000\u0000\u0000 \u0001÷òЁ\u0001\u0002D€\b\u0000F\u0001\u001fƒ\u0001\u0000\b\u0000\u0000\u0000€\u0002¡\u0004$‚\u0002\u0004‰\u0000 \u0000ˆ\u0002\u0000\u0000\u0000\u0000 \u0000\u0000\u0002\u0000\tB\bˆ¿ÿþ\u0000€\u0000à\u0004\u0000\u0000\u0000\u0000€\u0000\u0000\u0000\u0000\u0010„\u0010Q\u0000\u0000\u0010\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000C\b @",
"Twist Max Y": "\u0000W\u000f\u0000 \u0000\u0000\u0000\u0000\u0000÷ð?à\u0000 \u0000@€@\u0001( D@\u0000@\u0000D€@\u0002@ˆ€\u0000€\u0000„\u0000œ\u0005?ÿ\u0004\u0019œ\u0001\u0000\u0001D\fA\u0002\"\b/Ä\u0002\u0000\u0007\b\u0014‚\u0004D\b†\b\u0004\u00006\u0010%ü\u000fø\u0011\b\u0010\b\u0000\b JD\u0002€\u00140 \u0010\u00000@”\u0018À\u0010`@ `¨ÀÑ`!G€@A\u0002‘\u0006\"0E‘€F\u0004‚D!\u0000D\u0000\u001c\u0000p\u0003\u0003\bQ\u0001\b\u0001\u0000\u0000\u0000\u0000\u0002\u0000\u0010Á‚\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000!\u0000\b \u0000\u0000",
"Utilities": "\u0000{\r\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\bð\u0000\u0000\u0004\u0010\bð\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000à\u0000\u0000\u0000B\u0000à\u0000\u0000\u0000\u0000#€\u0000\u0000\u0000\u0000\u0000@\b@\u0000\u0000\u0000@\u0000\u0003\u0000\u0000\u0000\u001e\u0000\u0010\u0001\b\u0000\u001e\u0000\u0010\u0000\u0000\u0002\u0002\u0007Á\u001c\u0000\u0004\u0000!\u0001\u001c\u0000\u0004\u0002\u0007À€?\u0000\u001c€\u0003€\u0004 \u001c€\u0003€?\u0000\u0010\u0000\u0000\u0000\u0010\u0003\u0000„\u0000\u0010\u0003\u0000\u0000\u0007À\u0000\u0000\u0004\u0000\u0002\u0000\u0001\u0000\u0004\u0000\u0002\u0000\u0000\u001f\u0004\u0000\u0000\u0000€\u0000@\u0000 \u0000€\u0000@\u0000\u0000\u0000\u0000\u0000\u0000 \u0000\b\u0000\b\u0000 \u0000\b\u0000\u0000\u0000\u0000\u0000\u0000\b\u0000\u0001\u0000\u0002\u0000\b\u0000\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0000 \u0000€\u0002\u0000\u0000 \u0000\u0000",
"Clock Style": "\u0000z\r\u0000 \u0000\u0000\u0000\u0000\u0000 \u0000\u0000\u0000\u0010\u0000\u0001\u0000\u0000\u0004à\u0000\u0000\u0000\u0000\u0004à!À\u0002\u0000\u0000@\u0002\u0001È\u0010ø\u0000\u0000\u0001È\u0007\u0000ø\u0000 \u0004@D\u0003Â\u0000\u0000\u0000D\u0000\b\u0000B\u0000\u0010\u0000!\u0000€€\u0000\u0000!\u0000\u0002\u0000\u0011\u0000\u0018\u0000$\b€ \b€\b€\u0001\u0000\n@\u001a\u0000\t\u0014 \u0004\u0010\t\u0010\u0004 \u0000@\u0004`\u0018@\u0002F\u0010\u0001\u0004\u0001D\u0002\u0010\u0000(\u0002\b\u0000\u0010\u0000’\u0004\u0000O\u0000B\u0000\u0004\u0000\u0011\u0000\u0004\u0000\u0004\u0000D‚\u0000\u001c \u0000€\u0002\u0000\u0018 \u0002\u0000\u0001\u0000\u0011A\u0000\u0004\u0000\u0000@\u0001\u0000\u0018\b\u0001\u0000\u0000@\b`€\u0000\u0000\u0000 \u0000€\u0000\u0000\u0001€\u0000\u0010\u0004\u0010@\u0000\u0000\u0000\u0010\u0000@\u0000\u0000\u0001€\u0000\u0004\u0000\u0000\u0000",
"Clock Style": "\u0000l\u0010\u0000\u0000@@@\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0004\u0002\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000ø@ @\u0000\u0000\u0000\u0000\u0004\u0000\u0000@\u0000\b¿ŸÄ\u0000x\u0002\u001c\u0000 \u0000\u0004\u0000 ˆ@\u0000@\u001a@\u001e@\u0003à\u0000€\u0011\b„\u000f„\u0002\"\u0000\b\u0000B\u0000\u0010\u0000ü\u0007ü\"\u0010\u0000€\u0004@\u0006\u0000\t\u000f\u000f„\u0004A\u0000\u0010\u0000¤\u0001 \u0000‘ˆ\u0010\u0000@D\u0010\u0001\u0000\u0011€a\u0000\t\u0018¿Ï„\u0004\u0000(\u0002\b\u0000\u0010\u0000’ˆ\u0010ˆ@H \u0004@\u0001\u0000\u0001\u0000\u0011(‘\b„\u0005\u0002\u0001‚\u0000 \u0000\u0010\u0001\u0014øˆ@ À` \u0004\u0000\u0001\u0000!ˆ\u000f„\u00000\u0000\u0000\u0001€\u0000\u0010\u0004\u0010\u0000Pˆ@\u0000\u0000\u0000\u0000`\u0000\u0001\u0000\u0000\u0000\u0002\u0000\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000",
"Rewrite Settings": "\u0000[\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0000 \u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000!ð\u0002\u0000\u0010\u0000\u0000\u0000\b\u0002\u0000\u0004\"\u001fÿÁ\u0000Ž\u0000\u0001\u0000 \u0007ôB\u0000\u0014 \u000e\u0000\u0000@\u0004\u0000\u0000ˆ€\u0004„\u0000\u000e\u0000\u0010\u0000€\u000f À\u0000\u0010€Ž@\f\u0000\u0010\u0000\b\u0000ÿâ\u0010\u000e\b\u0006€\u0003€>þ\u0000€B\u0000\u0001\u0003\b\u0000L\u0000\b@\u0010\b@\u0000@\u0001\u0000\b@ù\b\"\u0000\u0010\u0000\b\u0000 \u0001\u0000\u0011\u0012\u0004~\u0002\u0000\u0002\u0000\u0004\u0000 \u0002\"€ˆ\u0000€\u0000€\u0000€\u0004\u0000D \u0011\u0000 \u0000`\u0000\u0010\u0000€\u000fŠ\u0005 \b\u00000\u0000\u0002\u0000\u0010\u0001\u0012!\u001fø\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001ƒ@\u0000",
"Flatten Battery": "\u0000«\u000f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\b\u0000ÿø\u0004\u0000\u0000\u0000\u0002\u0000\u0000\u0000\u0002\u0000\u0000\u0000\u0000\u0000\u0010\u0000\u0000\u0000€\u0000@\u0000@\b\u0000\u0000 \u00020\u0001 \u0000\u0000\u0000A\u0000\u0000\u0000–\u0000\b\u0000\u000e\u0000€\u0002\u0007À:\u0000\u0014\u0000\u0000\u000e\u0000\u0004 \u0000\u0000\u000f\u0000\u0011\u0010\u0006\u0000\u0010ð?€\u0000\u0012\u0000\u0000\u0000\u0000\u0000„\u0000\u0000\u0000€\u0001\"\u0001\u0000\u0002c\u0000\u0010\u0000 \u0011\u0000\u0000\u0000\u0001à\u0010€\u0000\u0000\u0010€$€ \u0000€€\u000e\u0000\b\u0002\u0010\u0002 \u0011À\u0002\u0010 |\u0007œ\u0000€\u0004\u0000\u0010\u0000\u0002`\u0003à\u0001\"\u0001È\u0000B\u0003ð\u0001Œ\u000fÿàž\u0002\u0000\u0000D\u0000Â\u0010 \u0014@\u0001\u0000\b@\u0000\u0000C\u0000\u0002\u0000\u001c @\u0000\u0007€ $\u0002\u0002\u0010\u0000@\u0000\u0010\u0000\u0000\u0000 \u0000@\u0002\u0004\b€\u0000\u0010\b\u0005\u0000@\u0002\u0000\b\u0000\u0002\u0000\u0000\u0000$\u0000\b\u0000@P\u0000\u0004\u0000\u001cÀ\b\u0000€\u0002\u0000\u0000€\u0000\u0000\b\u0000\u0001\u0000\u0000 \u0011ø\u0000€\u0004`\u0000\u0000 \u0000€\u0000 \u0000\u0000\u0001\u0000\u0000 \u0000\u0018\u0002\u0000\u0000 \u0000ˆ\u0000\u0000\b\u0000 \u0000\b\u0000\u0000\u0000\u001f€\u0004\u0000\f\u0000@\u0000\b\u0000\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000€\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000",
"Debug Info": "\u0000]\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000@€@\u0000\u0001\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0004\u0002\u001f€$\u0000\b\u0000\u0000\b$\u0013þ|„Ž \u0001 \u0000\u0000& \u0000„#„\u0000\u0005\u0000\u0000\u0001Ô\u0014\u0004%\u0000\u0000\u0011 \u0000\u0000\b€°Aý\u0012\u000f\u0000D\u0000\u0000\u0000„\u0005ôH\u000f€\u0002\u0010\u0002 \u0004@J\u0000\u0014~\u0002\u0000 @H€B\u0000Gñò\u0010\u0001\u0002\u0001D\u0004 \u0002 ‚\u0014\u0000\u0010\b\b@\u0001\u0000\u0011ü\u0010¨\b\u0001\u0000@\u0002\u0000\u0010\u0000ˆ'õ@€\u0010\u0002\u0000 \u0001\u0000\u0004\u0004$\b\u0000\u0000\u0000\u0002\u0000\u0010\u0000\"\b!P€\u0000\u0000\u0000 \u0001\u0000\u0001\u0011A\f@\u0000\u0000\u0000\u0000\u0000\u0000\u0000\b†\bA",
"Storage": "\u0000L\r\u0000\u0000\u0000 \u0000@\u0000\u0000\u0000\u0000$8\u0001\u0000\u0002\u0000\u0000\u0000\u0003\t<€\u0010\u0000 \u0000\u0000\u0000\bP\u0010\u0001\u0000\u0002\u0000\u0000\u0000\u0000\u0004\u0001\u0000\u0010\u0000 \u0000\u0000\u0000`\u0000 \u0001À\u0002\u0000\u0010>\u0001\u0002\u0002\u0000\u0013\u0000 @ü\u0000\u0000@P\u0001\b\u0002\b\u0000\u0000\u0000\b\b€\u0010\u0000!\u0000\u0000\u0000\u0001\u0003\u0004\u0001\u0000\u0002 \u0000\u0000\u0000 À@\u0010\u0000,\u0000\u0000\u0000L\u0000\u0000\u0001\u0000\u0003\u0000\u0000\u0000\u0003\u0000\u0000\u0000\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000",
"Reset Settings": "\u0000k\u0010\u0000 \u0000\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u001f\u0000 \u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000B!ÿø\u0000\u0000\u0001\u0000 \u0000\u0000\u0000 D \u0001\u0001à\u0004\u0010\u0002\u0000\u0000\u0000\u0002\u0000\bˆ\u0000@Ò\u0000B\u0000@\u0000\u0000\u0000@ú\f\u0000\u0000\" \b@\bð\u0000\u0000\b\u0000€\u000fþ\u0004B\u0001\b\u0001b\u0000\u0000\u0001\u0003ïà\b\u0001\u0010@!\u00010€\"\u00008\u0000„\u0001\u0000\"\b\u0004 \u001c \u0012 \u0004ϐ‚ \u0004\u0000„\u0000ˆ\u0001D\u0000…\u0011 Gà@\u0001\u0000\u0010\u0000!\u0000\u0010\"(\b€\u0014\b\u0000 \u0002\u0000\u0000 \u0002\u0004B\u0001\u0010\u0001\u0006\u0000\b\u0000 \u0000\b\u0000@ø R\u0000\u0003\u0000\u0002\u0000\u0003à\u0002\u0000\b\u0011\"\u0011ÿ€\u0000\u0000€\u0000\u0000\u0000€\u0001\u0000\u00184\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000",
"Twist Threshold": "\u0000º\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000€\u0000\u0000 \u0000\u0000\b\u0000\u0000\u0000\u0000\u0000\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0010‘\u0004\u0000\b\u00048\u0001\u0000\u0000\u0000\u00048\u0002\u0000\u0000\u0000\u0003\u0000\u0000\u0000\u0000@\u0002\u0016 €\u0004\u0000ò\u0000@\u0000\u0000\u0000ò\u0000€\u0000\u0000\u0000 \u0000\u0000\u0000ˆ\u0000„D \u0002\u0000\u0001\u0000\u0010\u0000\u0000\u0000\u0001\u0000 \u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u0000 \t\u0010\u0003\u0000\u0000@\u0004\u0000\u0003\u0000\u0000@\b\u0000\u0000\u0000\u0018\u0000\u0001à\u0004€\b\u0002\u0004\u0003@\u0000 \u0001À\u0001à\u0000 \u0002\u0000\u0001\u0010\u0001\u0002\u0003ˆ\u0001\"\u0003€\u0002\u0003\b\u0000\b\u0000L\u0000x\u0000\b\u0000\u0001\"\u0000\u0001\u0000\u0002\u0000H€˜\u0000€\u0002\u0000\u0005\u0000\u0010€\f\u0000\u0005\u0000 €(€\u0000€\u0007€\u0012@!\u0000@\u0000€\u0002 \u0004\u0000\u0000\u0000\u0002 \b@\b@\u0000@\u000e@\b\b\u0000 \u0000 \u0003\u0004\u0001\u0000\u0000\u0000\u0003\u0004\u0002 \u0000\u0010\u0000 \u0000\u0010\u0002(\u0002\u0000\u0010\u0000\b\u0003\u0001\u0000@\u0000\u0000\u0003\u0001\u0000°\u0000\b\u00010\u0000\u001c\u0001\f\u0000€\b\u0000\u0002\u0000\u0000\u0000\u0010\u0000\u0000\u0000\u0000\u00000\u0000\u0004\u00000\u00008€‚\u0000 \u0000\u0000\u0000€\u0000\u0000\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\b\u0000",
"Reset Settings": "\u0000k\u0010\u0000 \u0000\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u001f\u0000 \u0000€\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000B!ÿø\b\u0000\u0001\u0000 \u0000\u0000\u0000 D \u0001\t`\u0004\u0010\u0002\u0000\u0000\u0000\u0002\u0000\bˆ\u0000@ð\u0000B\u0000@\u0000\u0000\u0000@ú\f\u0000\u0000\b\u0000\b@\bð\u0000\u0000\b\u0000€\u000fþ\u0001\b\u0001\b\u0001b\u0000\u0000\u0001\u0003ïà\b\u0000yÀ!\u00010€\"\u00008\u0000„\u0001\u0000\u0018À\u0004 \u001c \u0012 \u0004ϐ‚ \u00040\u0000„\u0000ˆ\u0001D\u0000…\u0011 Gà\n\u0000\u0001\u0000\u0010\u0000!\u0000\u0010\"(\b€\u0002@\u0000 \u0002\u0000\u0000 \u0002\u0004B\u0001\u0010\u0000€\u0000\b\u0000 \u0000\b\u0000@ø R\u0000\u0010\u0000\u0002\u0000\u0003à\u0002\u0000\b\u0011\"\u0011ÿø\u0000€\u0000\u0000\u0000€\u0001\u0000\u00184\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000",
"Twist Threshold": "\u0000N\u000f\u0000 \u0000\u0000\u0000\u0000\u0000÷ð?à@\u0000\u0000€\u0002P@ˆ\u0000\u0001\u0012\u0001\u0000\nA\u0002\"\u0004\u0000\u0004 \u0004à)ü\u000fø™À\u0010\u0000\u0014@Ä\u0010\"!ø€@\u0000á\u0002@ˆ‚\u0001\u0000\r„\t\u0003þ\u0004\b\u0004\u0000\u0004\u0010%\"\u0001@0 \u0010\u00000@”\u0018ÀÀ€@@Á\u0003Q¢Å\u001e\u0001\u0002\u0005\u0004\nD\u0018ˆìŒ\u00020$\u0012!\b\u0002 \u0011À\u0007\u000000…\u0010\u0010€\u0000\u0000\u0000\u0000@\u0002\u00180B\u0000\u0000\u0000\u0000\u0000\u0000\b@\u0002\b\u0000",
"Turn Off": "\u0000<\u0010\u0000?ø\u0000\u0000\u0000\u0000\u0000\u0000\u0010\u0002à\u0000\u0000\u0000þ\u0014 \u0000€\u0000\u0004\u0010!D\u0000\u0004\u0001\u000ft…ü\u0000@\u000f\u0010\u0010\u0004PB\u0007€\u0001\u001dpEü\u001fÀ\u0000 \u0000\u0001P@\f\u0000\u0002?ø\u0015ü\u0001@\u0000B\u0010‚R@$\u0000\u0004?øä \u0004@\u0000‚\u0010‚J€„\u0000\u0010?ø)$\u0010@\u0002\u0000\u0010\"¢ \f\u0000@\u0001\u00020 \u0000@\u0000\u0000\u000fà\u0004\u0000\u0000\u0000\u0000",
"Compact Storage": "\u0000¬\u000e\u0000\u0000\u0000\u0000\u0000\u0000`\u0000\u0000\u0000\u0000\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0001\u0000\u0002\u0000\u0000€\u0000\u0000\u0002\u0000\u0004\u0000\u0000\u0000\u0000\u0002\u0000\u0000\u0000\u0000\u0000\tÀ\u0010\u0000\n\u0000C€\u0010\u0000 \u0000\u0000\u00000˜|\u0006\u0000\u0000\u0006\u0000ä\u0001\u0000\u000fÀ\u0003È\u0001\u0000\u0002\u0000\u0000\u0000\u0000…x@\u0010 \"\u0000\b€\u0010\u0000\u0011À\u0001\u0000\u0010\u0000 \u0000\u0000\u0000\u0000@\u0004\u0000‚\u0001\u0010\u0001\b\u0001\u0000\u0002\u0006\u0000\u0010\u0001\u0000\u0002\u0000\u0000\u0000\u0006\u0000\u0000@\u0000@\u0010€\u0011\u0000\u001c\u0000 €\u0002\u0000\u001c\u0000 \u0001\u0003à\u0010 \u0004\u0000\u0004\u0002\u0004\u0002\u0010\u00010\u0004\u0010\u0000 \u00010\u0002\u0004\u000fÀ\u0000\u0004\u0000€\u0000€ @B\u0000\u0010€A\u0000\u0005\u0000\u0010€ €\u0000\u0000\u0000€\b\u0000\u0010\u0004\u0002\u0000 \u0001\u0000\b\u0010\u0000ˆ\u0001\u0000\u0002\u0010\u0000\u0000\u0000\u0010\u000f€\u0002\u0000€ \u0004\u0000\u0010\u0000\u000f\u00000@\u0010\u0000\"\u0000\u0000\u0000\u0002\u0007\b\u0004À\u0010\u0002\u0000€\u0001\u0000\u0001\u0018\f\u0004\u0001\u0000\u0002À\u0000\u0000\u0004À\u0000\u00000\u0000\u0000\u0000\u0010\u0000\u0010\u0000\u0011@\u0000\u0000\u0010\u00000\u0000\u0000\u00000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0001\u0000\u0000à\u0000\u0000\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000",
"Reset to Defaults": "\u0000›\u0010\u0000 \u0000\"\u0000 \u0000\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0004O‚\u001f\u0000 \u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0007ñý\u0010B!ÿø\u0000\u0000\u0000\u0000\u0001\u0000 \u0000\u0000\u0000 ~\"\u0011\"D \u0001\u0000\u0000\u0001à\u0004\u0010\u0002\u0000\u0000\u0000\u0002\u0000„B$@\bˆ\u0000@\u0000\u0000Ò\u0000B\u0000@\u0000\u0000\u0000@ ˆ|øú\f\u0000\u0000\f\u0000\" \b@\bð\u0000\u0000\b\u0004\u0011\b‘\u0000€\u000fþ\u0002@\u0004B\u0001\b\u0001b\u0000\u0000\u0001\u0001¢!\u0012#ïà\b\u0000„\u0001\u0010@!\u00010€\"\u00008XD>D\u0000„\u0001\u0000 @\"\b\u0004 \u001c \u0012 \u0004҈„O‚ \u0000\u0006\u0004\u0000„\u0000ˆ\u0001D\u0000„Q\u0010‰\u0011\u0011 Gà\u00000@\u0001\u0000\u0010\u0000!\u0000\u0010\bB¢\"(\b€\u0000\u0000\u0014\b\u0000 \u0002\u0000\u0000 \u0002\u0001\b@HDB\u0001\u0010\u0000\u0000\u0001\u0006\u0000\b\u0000 \u0000\b\u0000@\"\bE\bø R\u0000\u0000\u0000\u0003\u0000\u0002\u0000\u0003à\u0002\u0000\b\u0004Š\u0010E\u0011\"\u0011ÿ€\u0000\u0000\u0000\u0000€\u0000\u0000\u0000€\u0001\u0000 „\u0010@\u00184\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000",
"Second": "\u0000:\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000ˆ\u0000\u0002\u0000\u0000\u0000\u0010‘\u0000\u0000@\u0000\u0000\u0002\u0014@\u0000\u0010\u0001€\u0000„\u0011à‡À\u0010 \u0005ˆ\u001f\u0010\u0002\b\b\t„\u0000„\u0000\u0004\u0003Â\u0000!\u0000\u0001\u0000˜\u0011\u0000\u0010€\u0000€!\u0004\u0000\u0004 \u0000@\b\u0001\u0000\u0002\b\u0000 \u0002\u0000 \u0001\u0014\u00010\u0000€\u0007Àƒ\u00000\u0000 \u0000\u0000\u0000€\u0000\u0000\b\u0000",
"Reset to Defaults": "\u0000‹\u0010\u0000 \u0000\"\u0000 \u0000\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0004O‚\u001f\u0000 \u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0007ñý\u0010B!ÿø€\u0000\u0001\u0000 \u0000\u0000\u0000 ~\"\u0011\"D \u0001\b\u0000\u0004\u0010\u0002\u0000\u0000\u0000\u0002\u0000„B$@\bˆ\u0000A\u000f\u0000B\u0000@\u0000\u0000\u0000@ ˆ|øú\f\u0000\u0000&0\b@\bð\u0000\u0000\b\u0004\u0011\b‘\u0000€\u000fþ\b\b\u0001\b\u0001b\u0000\u0000\u0001\u0001¢!\u0012#ïà\b\u0001\u0000\u0000!\u00010€\"\u00008XD>D\u0000„\u0001\u0000 \u0000\u0004 \u001c \u0012 \u0004҈„O‚ \u0004\u0000\u0000„\u0000ˆ\u0001D\u0000„Q\u0010‰\u0011\u0011 Gàˆ\u0000\u0001\u0000\u0010\u0000!\u0000\u0010\bB¢\"(\b€\u0015\u0000\u0000 \u0002\u0000\u0000 \u0002\u0001\b@HDB\u0001\u0010\u0001\u001f€\b\u0000 \u0000\b\u0000@\"\bE\bø R\u0000 \u0000\u0002\u0000\u0003à\u0002\u0000\b\u0004Š\u0010E\u0011\"\u0011ÿ„\u0000\u0000€\u0000\u0000\u0000€\u0001\u0000 „\u0010@\u00184\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000",
"Second": "\u0000\u000f\u0010\u0000\b 8CÀ€…A\n_”DH˜:$¨IP¤€A\u0001\u0002\u0004\u00040\t€",
"Compacting...\nTakes approx\n1 minute": "\u0000\u0011\u0000\u0000\u0000\u0000\u0000\u0000`\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0004€€\u0001\u0000\u0004\u0000\u0002\u0000\u0000\u0007\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000$\u0002p\u0004\u0000\u0010\u0000\b\u0000CÀ\u0000\u0000\u0000\u0001\u000f€À\u0000\u0000À\u001c€ \u0000‡€@\u0001ä\u0000\u0000\u0000\u0000\u0007„\u0001\u0002\u0002 \u0000ˆ\u0001\u0000\u0004Æ\u0002\u0000\u0000@\u0000\u0000\u0000\u0000\u0000 \u0004\u0010\b€\b@\b\u0000@@\u0010\u0000\u0002\u0000\u0000\u0000\u0000\u0000\u0001\u0000\u0001\u0000B\u0000D\u0000p\u0002\u0000\u0000€\u0000 \u0000\u0000\u0000\u0000\u0000\b\u0000\b\u0004\b\u0004 \u0002`\u0010\u0000\u0004\u0000\u0001\u0000\u0000\u0000\u0000\u0006\u0000€\u0000€ @B\u0000\u0010€€\u0000 \u0000\b\u0000\u0000\u0000\u0000H\u0004\u0000\b\u0002\u0001\u0000\u0010\u0000€\u0004@\u0001\u0001\u0000@\u0000\u0000\u0000\u0002Cà\u0000€ \b\u0001\u0000\u0004\u0000*\u0000\b\u0010\u0002\u0000\u0000\u0000\u0000\fá\u0000˜\u0002\u0000@\u0010\u0000 \u0000À#\u0000\b\u0000ÀÀÀ\u0000\u0000\u0003\u0000\u0000\u0000\u0001\u0000\u0001\u0000\u0004\u0000\u0000à\u00008\u0006\u0006\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0010\u0000\b\u0000 \u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0004\u0000\u0000\u0000\u0010\u0000\u0000\b \u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001cqÿð\u0000óàA\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000",
"Date": "\u0000\u001c\u0010\u0000\u0000\u0000@ø\u0004\b€€@ˆ\b\b\b€€¿ø\b\u0018\b€€ø(\b€„ˆˆ\b\bH€€„ˆ\b\b\b€€€ˆ\b\b\bÿ€‚ˆ\b\b\u0010",
"Minute": "\u0000\u000f\u0010\u0000\u0000@\b€\u0010€A\u0001\u0001\u0004\u0001\u0010\u0001Oñ\u0004 \b@\u0010€A\u0000‚\u0002\u0004\bP @",
"Connectable": "\u0000?\u0010\u0000\u0010€\u0010 \u0000\u0000\u0010@ € @ÿüHˆø\u0000A\t €\u0001A\u0000\u0000‡ûÐ„ŸÁñ\u0000\u0014\u0002\u0012\u001e\u0000\u0002\"\u0000\bEÿ„ÿ„D\u001fˆ \u0011\u0001\bˆ!\u001f\u0018@L\u0004\u0011\u0010B\u0000oýñ \" ü‹B \"@|A\t ˆ@\u0004€ˆ‚\u0013\t\n‰\u0000\u0001\u0007ä\u0002\f\u0015\"@\u0002\bHTf D€\u0014\u0012“\u0002\u0001\u0007\u0000\u0010\"\u001f",
"Stay Connectable": "\u0000~\r\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000€0\u0001à€\u0000\u0000\u0001à\u0000\u0000\u0000\u0000\u0000€\u0002\u0000@\bB\u0000\u0000\u0000\b@\u0000\u0000\u0000\u0000\u0002\u0000\b\u0001\u0000!\b\u001e!\u0000!\u001e..\u001e\u001e\b\u001e.\u0004\u001e€ø„„\u0000€„ÄĄ„ø„Ä\u0010…€€\u0012\u0010\u0002\u0002\u0012\u0012\u0012\u0012\u0000€\u0012\u0010B\u0011‚\u0007È@\b\bHHOÈ\u0002\u0007ÈA\u000fÁ\b!!\u0000 !!! \b!!\u0004 „ „L\u0000„„„„€€ „„\u0010‚\u0010‚0Ð\u0002\u0012\u0012\u0012\u0012\u0012\u0010‚3\u0010B\u0017‡@@\u0007‡ˆHG‡‡K‡Ç€\u0000\u0000\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000x\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000",
"Connectable": "\u0000?\u0010\u0000\u0010 \u0001\u0000\u0000\u0000\u0010@ @\u0002\u0000ÿüHˆA@„ \u0000A\t „A\b@\u0000‡ûÐB\u0010ñ\u0000\u0014\u0002_D!\u0002\"\u0000\bL\b\u000fþ\u0004D\u001fœ\u0010\u0000„\bˆ!\u001fUü\u0001\u0000\u0011\u0010B\u0000ªH\u0002\u0000\" üŠD‘\u0004\u0010|A\t â\b ˆ‚\u0013\u0005\u0004\u0010@\u0001\u0007ä\u0002\u0011\b €\u0002\bHDA\u001fÿ\u0000\u0014\u0012‰\u0001\u0000\u0002\u0000\u0010\"\u001f",
"Stay Connectable": "\u0000w\u0010\u0000\u0010 \u0001\u0000\u0000\u0000\u0010@\u0000\u0000\u0000\u0000\u0000\u0000\u0000 @\u0002\u0000ÿüHˆ\u0000\u0000\u0002\u0000\u0002\u0000\u0000A@„ \u0000A\t \u0000\u0000\u0002\u0000\u0002\u0000\u0000„A\b@\u0000‡û€\u001e\u0000‡€‡€\u000fÐB\u0010ñ\u0000\u0014\u0000Ò\u0000ø\u0000ø\u0003Â_D!\u0002\"\u0000\bB\"\u0000\u0010\u0000\u0010\bL\b\u000fþ\u0004D\u001f„B\u00048\u00048\u0010œ\u0010\u0000„\bˆ!\u001f\u0011\u0004\u0007À\u0007À\u0001Uü\u0001\u0000\u0011\u0010B\u0000\"\b\u0000€\u0000€\u0004ªH\u0002\u0000\" üˆH\u0010\u0001\u0000\u0001\u0000\u0012D‘\u0004\u0010|A\t @>\u0000>\u0000 â\b ˆ‚\u0013@€‡\u0000‡\u0000\u0001\u0005\u0004\u0010@\u0001\u0007ä\u0001\u0006\u0001\t\u0001\t\u0000‚\u0011\b €\u0002\bH@0\u0001à\u0001à\u0001\u0004A\u001fÿ\u0000\u0014\u0012€\u0000\u0000\u0000\u0000\u0000\u0000\t\u0001\u0000\u0002\u0000\u0010\"\u001f\u0000\u0000\u0000\u0000\u0000\u0000\u0000",
"Hour": "\u0000\u001c\u0010\u0000\u0000@\u0000\u0000\u0004\u000fŸø@‰\u0018¿Ÿˆ@‰\u0018„\u000fŸü€\u001f\tùˆ\u0010˜¿Éùˆ\u0010˜‘\tùø˜\b\u0001\u0000P€P\u0002\b\u0002",
"No Clocks Found": "\u0000n\u000b\u0000\u0000\u0000\u0000\u00000\u0000\u0000€\u0000\u0000\u0000\u0000\u0000\u0006\u0010\u0000\u0001à@\u0000\u0002\u0000\u0003ð\u0000\u0000\u0000\u001c@\u0000\bA\u0000\u0000\b\u0000\b\u0000\u0000\u0000\u0000q\u001e\u0000!\u0004\u001e\u001e\"\u0000 \u001e!.\u001d¤„\u0000€\u0010„„\u0000€„„ÄŽ’\u0010\u0002\u0000B\u0012\u0002€\u0003â\u0012\u0012\u0012\u0019H@\b\u0001\bH\f\u0000\b\bHHHe!\u0000 \u0004! (\u0000 !!!!Œ„\u0000„\u0010„€\u0000€„„„†2\u0010\u0002\u0010B\u0012\u0012 \u0002\u0002\u00122\u00128G€\u0007‡Ç‡ˆ@\b\u0007‡HG@",
"No Clocks Found": "\u0000œ\u0010\u0000\u0000@@@\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0004\u0002\u0004\u0000\u0001\u0003þ\u0000\u0000\u0000\u0000\u0002\u0000\u0000 \u0000\u0000\u0000@ø@ @\u0010H \u0000\u0000\u0010\u0000\u0013\u0000\u0001\u0000\u0001\u0000\u0002\b¿ŸÄ\u0000‚\u0002\u0002\u0000\u0000\u0000€\u0001H\u0002\u001e\u0002\b\u0000 ˆ@\u0000@\b€?à\u0007À\bÀ\u0018@\u001f\u0000\u0010€\u0004\b„\u000f„\bä\u0002\u0002\t‚\bâ\u0001„\u0000\u0010\u0001\u000f\u0000@ü\u0007üy `\u0010y\u0010\u0010@!À—€\b\u000f\u000f„\u0001\u0011\u0003þ\u0000\u0001\u0001\u0013\u0001\u0004\u0001ð\u0007ˆ\u0000€ˆ\u0010\u0000@\u00110 \u0000\u0010\u0011\u0000\u0010@\u0001\u0000\u0010€\u001e\b¿Ï„\u0001\u0010\u0002\u0002\u0000\u0001\u0001\u0010\u0001\u0004\u0000\u0010\u0001\b\u0001\u0010ˆ\u0010ˆ@!\u0000?à\u0000 !\u0000\u0000€\u001f\u0000\u0011€!\b‘\b„\u0002 \u0000ˆ\u0000\f\u0002 \u0000\b\u0002\u001c\u0001\b\u0002\u0011øˆ@J\u0000\b€\u0007\u0000J\u0000\u0001\u0000! \b\u0000A(\u000f„\u0004@\u0001\b@\u0000\u0004@\u0000 \u0001à\u0000|\u0004\f\u0000Pˆ@\u0000\u0000`„\u0000\u0000\u0000\u0000\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0004\u0000\u0000\u0018\u0007À\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000",
"App Settings": "\u0000]\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000€\u0000\b\u0000\u0000\u0000\u0003\u0000\u0000\u0000\u0000\u0002\u001f\u0000 \u0000\u0000\u0000$\u0000@\u0000\u0000\u0010ˆÿ\u000f\u001f A\u0000\u001e\u0007ôB\u0000\u0017„\u0007\u0016\u0001\b\u0003H\u0000\" \u0001\u0000@\u0000€\b@\" ú\f\u0000\u0000$\u0000\b\u0000B\u0001\u0010€ \u0003ÿ€À\u0000@\u0002\u0010\u0011\u0004>þ\u0000€\u0004\u0000\u0004\u0000\u0010€ˆ \u0002\u0010\u0004\u0000 \u0000 \u0000„\u0004\u000f‚ \u0001\u0000\u0002\u0000\u0000@$\u0010DH\u0011ø\u0010\u0000 \u0000\u0002\u0001@‚\"€ˆ\u0000€\u0002\u0000\u0000 \u0004\u0018\u0011\b\u0004@\b\u0000 \u0000\u0002\u0000\u0003\u0000ø R\u0000€\u0000\u0000\u0000 \u0000\u0000\u0004H„à\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001ƒ@\u0000",
"Flattening battery - this can take hours.\nLong-press button to cancel": "\u0000½\u0012\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0011\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000ˆ\u0000\u0000\u0000\u0004\u0000\u0000\u0000\u0000\u0000 \u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0004\u0000\u0004B\u0000\u0000\u0000\u0000\u0000G€ €\u0000\u0000\u000f\u0000CÀG\u0000\u0000\u0000\u0010\u0000B \u0000\u0000\u0002€\u0000\u0001À\u0000„\u0000\u0000\u0001¤\u0001â\u0001À\u0000\u0000\u0000€\u0002\u0012\u0000\u0000\b\u0000\u0000\u0000\u0000\u0004 \u0000\u0000\u0011\u0010\u0000\u0010\u0000p\u0000\u0000\u0004\u00000 \u0000\u0000\"\u0000\u0000\u0000\u0003À!\u0000\u0000\u0000ˆ@\u0001\u0001\u001c€\u0000\u0000 \u0001†\u0000\u0000\u0001\b\u0001\u0010\bà\u0001\b\u0010>\b‚\u0000\b\u0007\u0004\u0001\u0010\u0001À\u0014 \u0000\u0000\u0010 $@9\u0000\b@~\u0000D\u0010\u0000€\u0000 $@\t#\u0000\u0000\u0000\u0000¢\u0000\b\u0000B\u0000\u0000\u0002@€\u0004\u0000\u0002\u0000¢\u0000B\u0001(\u0000\u0003È\u0004\u0004 \u0000€\u0000 \u0000\u0000\u0012\b\u0000@\u0000\u0010\u0004 \u0002\u0000\n@\u0000\u0000€ \u0001\u0000\u0004\u0000\u0001\u0000\u0000\u0000 @\u0004\u0000\u0001\u0000\u0001\u0000\u0010\u0000B\b\u0000\b\u0001\u0000\u0010\u0000@\u0000\u0010\u0000\u0000\u0002\f\u0000@\u0000\u0010\u0000\u0010\u0000€\u0002\u0010@\u0000\u0000\u0000\u0001\u0000\u0004\u0000\u0001\u0000\u0000\u0000\u0001€\u0004\u0000\u0003\u0000\u0001\u0000\u0004\u0000\u0010‚\u0000\u0000\u0000\u0000\u0010\u0000@\u0000\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000`\u0000\u0010\u0000 \u0000ƒð\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 \u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000€\u0000\u0000\u0000\u0000\u0000\u0000ÿ\u001fÀ\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000",
"Flattening battery - this can take hours.\nLong-press button to cancel": "\u0000½\u0011\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\b\u0000ÿø\u0004\u0000\u0000\u0000\u0002\u0000\u0000\u0000\u0000\u0000\u0000€\u0000\u0000\u0000\u0000\u0004\u0000\u0000\u0000 \u0000\u0010\u0000\u0010\u0002\u0000\u0000\b\u0000Œ\u0000\u0000\u0000\u0012\u0000\u0000\bð\u0004\u0010\u0000\u0000\t`\u0000€\u0000à\b\u0000 |\u0003 \u0000\u0000\u0000P\u0000\u00008\u0000\u0010€\u0000\u0000<\u0000D@\u0018\u0000CÀþ\u0000\u0002\u0000\u0000\u0001\u0012\u0000\u0000\u0000\u0000\u0000„\u0000\u0000\u0000€\u0001\"\u0001\u0000\u0002c\u0000\u0010\u0000 \u0000\u0000\u0004@\u0000\u0000\u0000x\u0004 \u0000\u0000\u0004 \t \b\u0000 \u0003€\u0002\u0000\u0000\u0000!\u0000\"\u0001\u001c\u0000!\u0002\u0007ÀyÀ\b\u0000@\u0001\u0000\u0000&\u0000>\u0000\u0000\u0002\u0004\u0004ˆ\u0007 \u0001\b\u000fÀ\u00060?ÿ‚x\b\u0000\u0001\u0010\u0003\b\u0000\u0000\u0010 \u0014@\u0001\u0000\b@\u0000\u0000C\u0000\u0002\u0000\u001c @\u0000\u0007€ \u0000y\u0000€„\u0000\u0010\u0000\u0004\u0000\u0000\u0000(\u0000\u0010\u0000\u0002 \u0000\u0004\u0002\u0001\u0000\u0000\u0010\u0004\u0000 \u0000€\u0000 \u0000\u0000\u0002@\u0000€\u0004\b\u0015\u0000\u0000@\u0001È\u0000\u0001\u0000 \u0002\u0000\b\u0000\u0002\u0000\u0000\u0000 \u0000\u0004\u0000\u0000€Gà\u0002\u0000\u0011€\u0000\u0000\u0000\u0000 \u0000€\u0000 \u0000\u0000\u0001\u0000\u0000 \u0000\u0018\u0002\u0000\u0000 \u0000ˆ\u0000\u0000\u0000\u0000\u0002\u0000\b\u0000\u0002\u0000\u0000\u0000\u0007à\u0001\u0000\u0003\u0000\u0010\u0000\u0002\u0000\u0003€\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u001fð#ø\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000",
"Month": "\u0000\f\u0010\u0000\u001fñ\u0001\u0010\u0011\u0001\u0010\u0011ÿ\u0010\u0011\u0001\u0010\u0011ÿ\u0010\u0011\u0001 \u0012\u0001@X\u0002",
"OFF": "\u0000\u0016\n\u0000xüþ\u0012\u0002\bH\b! „øú\u0012\u0002\bH\b! „€â\u0002\u0000",
"Right": "\u0000\u000f\u0010\u0000\u0002\u0000\u0004\u0000\b\u0007ÿð@\u0000€\u0002\u0000\u0004\u0000\u001føP\u0011 $@@€\u0001\u0003þ\u0004\u0004",
"Widgets": "\u0000Y\r\u0000\b\u0000\u0000\u0000\u0000 \u0000\u0000\u0000\u0000 \u0002\u0000\u0000\u0000\u0018H\u0000\u0000\u0000\u0000\b\u0001\u0000\u0000\u0000\u0002\u0014\u0000\u0000\u0000\u0000\u0004\u0000ø\u0000\u0010\u0000\b\u0000\u0000\u0000\u0000\u0002\u000f„\u0000\u0010\u0006\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0002\u0000\u0010\u0000\u0000\u001c\u0000ˆ\u0000á\u0002\u00008\u0000\u0001\u0000ð\u0001\"\u0000LA\u0000ä\u0000\u0001\u0000\b\u0000Q\u0000!!\u0000\u0002\u0000\u0001\u0000\u0004\u0000!\u0000\u0010\u0000€\u0001\u0000\u0001\u0000\u0002\u0000\u0000€\b\u0000€\u0000€\u0013\u0000\u0001à\u0000€\u0004\u0000€\u0000@\u0006\u0000\u000f\b\u0000€\u0002\u0000€\u0000 \u0000\u0000\u0000\u0000\u0000€\u0001\u0000",
"Left": "\u0000\u000f\u000f\u0000\u0002\u0000\u0004\u0000\b\u0007ÿð@\u0000€\u0001\u0000\u0004\u0000\u000fø!\u0000B\u0001\u0004\u0004\b\u0010\u0010\u000fÿ€",
"Sort Order": "\u0000=\u0010\u0000\u0010\u0010\u0000\u0000\b \u0000\u0000A\u0000\u0000@A\u0000 \u0001\u0010\u0000\u0011\u001f¿\u0000àÿø\b \u0010@\u0000\u0000D\u0003ïà\u0000\u0002 \u0004\u0010\n(\bà\u0011\u0000 ÀŠ :\bˆ‚\u0005\b À $D\u0010 Ÿð\u0002\u0000¢@\u0000€€ \u0005\u0014\u0004\u0010\u0004\u0004\u0003€\b€ €?à\"\u0000D\u0000ˆ\u0001\u0001\u0002\u0010\u0002 \u0003€\b\b\u0010ÿø\u0000\u0000À\u0000\u0000\u0000\u0000\u0000\u0002\u0002\u0000\u0000",
"Sort Order": "\u0000O\u0010\u0000\u0010\u0010\u0000\u0000\b \u0000\u0000\u0004\u0000\u0010@\u0000\u0000\u0010@\b\u0000‹ü\u0011\u0000\u0000\u0001ûð\u000e\u0001Pƒÿà\u0000€A\u0000\u0000\u0002¢\u0000D\u0000\u0004ïà\u0000\u0005_Àˆ\u0000Ä\u0002Š\u00028\n \u0010\u0002@\b¢\u0003 \u0015A\"\"\b@ ƒ\u0000€*þ$D @Ÿð\u0002\u0000U\u0004(\u0000` \b\u0000«øQ@\u00000@@8\u0001T\u0010\"\u0000\u0000\u0000ÿ€ˆ\u0002¨ D\u0000\u0000\u0001\u0001\u0002\u0010\u0005_Àˆ\u0000\u0000\u0002\u0002\u0004\u001f\n‘?ÿ€\u0000\u0007ü\u0000\u0000!A\u0000\u0000\u0000\u0000\b\b\u0000\u0000\u0003\u0001",
"Side": "\u0000*\u000e\u0000\u0000\u0000\u0000\u0000\u0000€€\u0000 \u0010’\u0010\u0000\b\u0002\u0014D\u0000\u0004\u0000„\u0011\u0000\u0002\u0000 $ø\u0003\u0000\b\u0007Ð\u0003@\u0003€D\u0003\b\u0000˜\u0011\u0000\u0002\u0000!\u0004@\u0000€\b\u0000 \u0000 \u0002\u0000\b\u0000\b\u0000€\u0004\u0000\u0002\u0000 \u0002\u0000\u0000€\b\u0000",
"No app has settings": "\u0000{\u0010\u0000 \u0000\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u001f\u0000 \u0000\u0000\u0000€\u0000\u0000\u0000\u0000\u0000\u0003\u0000\u0000B!ÿø\u0000\u0000\b\u0000\u0000\u0000\u0000\u0000\u0000\u0001D \u0001\u0001à\u0001@\u0000\u0000\u0010ø\u0011ò\u0004\u0010\bˆ\u0000@Ò\u0003ð\u0004\u0000\u0001á\u0001ŀBú\f\u0000\u0000\" \bà@À\u0000@\u0000€\b@€\u000fþ\u0004B\u0002\u0006\b\u0004\u0000\u0000 \u0001\u000bïà\b\u0001\u0010@A\u0001\u0000@\f\u0000\u0004\u0000!\u0000„\u0001\u0000\"\b\u0010@\"\b\u0001\u0000\u0001\u0000\u0004/‚ \u0004\u0002\b\u0004ƒ\u0000 \u0000 \u0000…\u0011 Gà@\u0000P \u0004\u0000\b\u0000\u0001\"(\b€\u0014\b\u0001à\f\u0000\u0001\u0000\u0002\u0000\u0000$B\u0001\u0010\u0001\u0006\u0000F\u0000€\u0000 \u0000€\u0000\bø R\u0000\u0003\u0000\b \u0000\u0000\b\u0000 \u0000\u0002\u0011\"\u0011ÿ€\u0000\u0000à\u0000\u0000\u0002\u0000\u0000\u0000\u0000€\u00184\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000",
"Sleep Phase Alarm": "\u0000»\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000`\u0000\u0000\u0000\u0000\u0000\u0000\u0000 \u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 \u0000\u0000\u0000\u0012\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0012\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0001\u000e\u0000‚\u0000\u0000\u0002>A\u000f\u0000\u0000\u0000\u0000\u0002\u001dB\u001f\u0001\u001c\u0000\u0000\u0000\u0010\u001e@\b@\u0000\u00008°\u001e \u0000\u0000\u0000\u0000< < \u001c\u0000\u0000\u0000\u0002\u0000\u0010\u0001\b\u0000\u0000\u0000\u0010\u0000\u0004\u0000\u0000\u0000\u0000\u0000 \u0000\b\u0000\u001c\u0000\u0000\u0000@\u0002\u0000!\u0000\u0000\u0000\u0004\u0000\u0001\u0000\u0000\u0000\u0000\u0000\u0004\u0000\u0012\u0001\u001c€\u0000\u0000\u0010\u0000€\u0004 @ø\u0000€\u0000 \u0000à@ø\u0001\u0000\u0001€\u001c\u0010@ø\u0002\u0000\u0010\u0000„\u0007à\u0000 \u0000\b\u0001à\u0007à\u0000 \u0000 \u0000\u0002\u0007à\u0000H\u0005\u0000\u0010€\u0000\u0000\u0004\u0000\u0001\u0000\u0004\u0000\u0000\u0000\n\u0000\u0004\u0000\u0000€\u0000\u0000\u0010\u0010\u0000 \u0000\u0000\u0001\u0000\u0000@\u0000€\u0000\u0000\u0002 \u0000€\u0000\u0010\u0000\u0000\u0002\u0018Á\u0000\u0004\u0000\u0000\u0000@\u0000\u0010\u0000\u0010\u0000\u0000\u0001‚\u0000 \u0000\u0004\u0000\u0000\u0002œà \u0001\u0000\u0000\u0000\u0010\u0000\u0004\u0000\u0003À\u0000\u0000À@\u0004\u0000\u0001\u0000\u0000\u0000<\u0010\u0000\u0000@\u0000\u0000\u0004\u0000\u0001\u0000\u0007„\u0000\u0000\u0000\u0000\u0001\u0000\u0000À\u0000\u0000\u0000\u0000\u0000\u0000\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000@\u0000`\u0000\u0000\u0000\u0000\u0000",
"No app has settings": "\u0000{\u0010\u0000 \u0000\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u001f\u0000 \u0000\u0001\u0000€\u0000\u0000\u0000\u0000\u0000\u0003\u0000\u0000B!ÿø \b\u0000\u0000\u0000\u0000\u0000\u0000\u0001D \u0001\u0002\b\u0001@\u0000\u0000\u0010ø\u0011ò\u0004\u0010\bˆ\u0000@D\u0003ð\u0004\u0000\u0001á\u0001ŀBú\f\u0000\u0000Ž@\bà@À\u0000@\u0000€\b@€\u000fþ\u000f$\u0002\u0006\b\u0004\u0000\u0000 \u0001\u000bïà\b\u0000D@A\u0001\u0000@\f\u0000\u0004\u0000!\u0000„\u0001\u0000\b˜\u0010@\"\b\u0001\u0000\u0001\u0000\u0004/‚ \u0001\u0010\u0002\b\u0004ƒ\u0000 \u0000 \u0000…\u0011 GàB\u0000\u0000P \u0004\u0000\b\u0000\u0001\"(\b€\b€\u0001à\f\u0000\u0001\u0000\u0002\u0000\u0000$B\u0001\u0010\u0002P\u0000F\u0000€\u0000 \u0000€\u0000\bø R\u0000D\u0000\b \u0000\u0000\b\u0000 \u0000\u0002\u0011\"\u0011ÿ€\u0000\u0000à\u0000\u0000\u0002\u0000\u0000\u0000\u0000€\u00184\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000",
"Sleep Phase Alarm": "\u0000»\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000`\u0000\u0000\u0000\u0000\u0000\u0000\u0000 \u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 \u0000\u0000\u0000\u0012\u0000\u0000\u0000\u0000\u0000\u0010\u0000\u0012\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0001\u000e\u0000‚\u0000\u0000\u0002>A\u000f\u0000\u0000\u0000\u0002\u0002\u001dB\u001f\u0001\u001c\u0000\u0000\u0000\u0010\u001e@\b@\u0000\u00008°\u001e \u0000\u0000\u0000€< < \u001c\u0000\u0000\u0000\u0002\u0000\u0010\u0001\b\u0000\u0000\u0000\u0010\u0000\u0004\u0000\u0000\u0000 \u0000 \u0000\b\u0000\u001c\u0000\u0000\u0000@\u0002\u0000!\u0000\u0000\u0000\u0004\u0000\u0001\u0000\u0000\u0000\u0018\u0000\u0004\u0000\u0012\u0001\u001c€\u0000\u0000\u0010\u0000€\u0004 @ø\u0000€\u0000 \u0000à\r\u0000\u0001\u0000\u0001€\u001c\u0010@ø\u0002\u0000\u0010\u0000„\u0007à\u0000 \u0000\b\u0001à\u0006\u0010\u0000 \u0000 \u0000\u0002\u0007à\u0000H\u0005\u0000\u0010€\u0000\u0000\u0004\u0000\u0001\u0000\u0004\u0000\u0002\u0000\n\u0000\u0004\u0000\u0000€\u0000\u0000\u0010\u0010\u0000 \u0000\u0000\u0001\u0000\u0000@\u0000€\u0000@\u0002 \u0000€\u0000\u0010\u0000\u0000\u0002\u0018Á\u0000\u0004\u0000\u0000\u0000@\u0000\u0010\u0000\u0010\u0000\b\u0001‚\u0000 \u0000\u0004\u0000\u0000\u0002œà \u0001\u0000\u0000\u0000\u0010\u0000\u0004\u0000\u0003À\u0001\u0000À@\u0004\u0000\u0001\u0000\u0000\u0000<\u0010\u0000\u0000@\u0000\u0000\u0004\u0000\u0001\u0000\u0007„\u0000 \u0000\u0000\u0001\u0000\u0000À\u0000\u0000\u0000\u0000\u0000\u0000\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0004\u0000\u0000\u0000@\u0000`\u0000\u0000\u0000\u0000\u0000",
"Invalid settings": "\u0000O\u0010\u0000\u0010\u0000\u0010 \u0000\u0000 \u0000\u0002\u0000 \u0000\u0010@\b\u0000!ð\u0002\u0000ð\u0000€\b\u0000B!ÿùU\u0007ù\u0000\u0014\u0007ôB\u0000\u0014ª\u0000\u000fÃð\u0000\bˆ\u0000AT\u0004„€Ž\u000f À\u0000\u001fÿ\u0010‰\u0002\u0006\u0000€\u000fþ\u0005P@’\u0004\u0010>þ\u0000€\n $$\u0010@\u0000„\u0001\u0000\u0015@(H €ù\b\"\u0001ÿ𠐁\u0001\u0011 Gà\u0000\u0000¢ \u001e\u0002\"€ˆ\u0002H‚$@F\u0004B\u0001\u0010\u0004HˆP€Š\u000fŠ\u0005 \u0010‘ J\u0000à\u0011\"\u0011ÿÀ\u0002\u0001\b\u0000\u0000\u0001ƒ@\u0000",
"TIMER": "\u0000&\n\u0000þ|„üø@B\u0012\u0002\u0011\u0001\fÈ\bD\u00043 !\u0010\u0010´øø@BÒ\u0002A\u0001\bH\b„\u0004! \"\u0010\u0010„€„Aò\u0013ò\u0010",
"TIMER": "\u0000;\r\u0000\b\u0000\u0000€\u0000\u0000\u0000\u0000€\u0000\u0010\u0000\u0000\u0000\u0000\u001f\u0000\u0004\u0002\u000f\u0000\u0000\u0004 \u0001\u0000>\u0010\u0000\u0000ˆ\u0000À\u0000\u0004\u0000\u0000)\u0000h\u0000\u0001\u0002\u0007ÈÀ0€\u0000@?\u0002\b\u0000\u0010\u0001\u0000\u0000\u0002\u0000\u0002\u0000\f\u0000\u0000\u0000€\u0000@\u0000@\u0000\u0000 \u0000\b\u0000\u0004\u0000\u0000\u0018\u0000\u0001\u0000\u0000\u0000\u0000\f\u0000\u0000 \u0000\u0000\u0000\u0000",
"Reset All": "\u0000z\u000e\u0000\u0002\u0000\u0000\u0000\u0000\u0000\b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000@\u0000\u0000\u0000\u001c\u0001\u0000\u0000 \u0004\u0000\u0000\u0000\u0004\b\u001f\u0000\u0002\bx\u0002X\u0001\u0004\u0000€\u0000\u0000\u0000ü\u0000\u0002Aä\u0000x\u0000!\u0000 \u0000\u0000\u0000 \u0001\u0000\f@\u0002\u0000\b\u0000\b@\bð\u0000\u0000\b\u0001À\u0004€\u0000€\u0002\u0010\u0002\u0010\u0002Ä\u0000\u0000\u0002\u0000˜\u0002\u0010\u0000@\u0001ç\u0000„\u0004Â\u0000ˆ\u0000à\"\u0001\u0002\u0000\u0010\u0000Æ\u0000!\u0000á\u0000‘\u0000&\u0007€\u0000`\u0004\u0000C\u0000\b@\b€\u0014@\b@ \u0000\u0006\u0001\u0000\u0001@\u0000 \u0002\u0000\u0004 \u0002\u0000\u0010\u0000\u0000\u0000@\u0000\u0000\b\u0000€\u0000\b\u0000€\u0004\u0000\u0000\u0000\b\u0000@\u0000\u0004\u0000\u0010\u0000\u0004\u0000 \u0002\u0000\u0000\u0000\u0001À\u0010\u0000\u0002\u0000\u0003à\u0002\u0000\b\u0001\u0000\u0000\u0000\u0000\u0000\u0003ð\u0001\u0000\u0000\u0000\u0001\u0000\u0002\u0000",
"This will remove everything": "\u0000Æ\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\b\u0000@\u0000\u0000\u0000\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\b\u0000\u0000\u0000\u0000€\u0001\u0000\u0002\u0000\u0000\u0010\u0000˜\u0000\u0000\u0000\b\u0000\u0000\u0000\u0003€\u0000\u0000\u0010\u0000\u0000\u0000ø\u0002\u0000\u0004\u0000\u0000@\u0002\u0000\u0000\u0010>\u0000\u0004\u0010ð\u0000ð\u0004@\u0000ð\u0001\u0000€\tÀ\u0010ð\u00010\f \u0000\u0000?€\u0000H<€\r \u000e\u0000\r \u0004\u0004\u0000(€L`\u0007\u00000€\u0000\u0000\u0002\u0000\u0018€\u0004\u0000D@\u000e\u0000DA\u001c\u0000\u0001Â\u0002\u0002\u0000\u0010\u0000‚\u0000\u0000\u00008\u0000\u0000\u0010\u0001\u0010 \u0001\u0010ƒÀ\u0000\u001b\b\b\u0000\u0000@\u0002\b\u0004\u0000\u00010\u0004 \u0000€\b‚\t\b\b‚\u0002\u0000\u0000\b \u0000\u0001\u0000\b \f\u0000\u0004@ @\u0002\u0000\"\b\u001c \"\b\b\u0000\u0000`€€\u0000\u0004\u0000 €\u0018\u0000\u000f\u0000\u0000À\b\u0000 \u001c@ \"\u0000\u0001‚\u0002 \u0001ø\u0000\u0004\u0000 \u0000\u0004\u0000\u0000À \u0002A\u0000A\u0002A\u0001\b\u0000\n\b\n€\bX\u0000\u0010\u0000\u0000\u0000 \u0000\u0000\u0000€\n\u0004\u0001\u0004\n\u0004\u0004P\u0010H$\u0011ø!\u0010\u0000€\u0000\u0000\u0000€\u0000\u0000\u0001\u0000\u0010`\u0004\u0010\u0010`%?€``@\u0000x\u0000\u0004\u0000\u0000\u0000\u0004\u0000\u0000\u0000\u0003€\u0006\u0000\b€\u0006\u0000ˆ\u0000\u0000€\u0001\u0000\u0000\u0000\u0000 \u0000\u0000\u0000 \u0000\u0000\u0000\u0000\u0000\u0000\u0000\u001c\u0000\u0000\u0000\u0000",
"Alarm": "\u0000;\r\u0000\u0000\u0000\u0000\u0000\u0000\u0000\b\u0010ø\bà\u0000\u0000\u0000á\u0000à\u0000\u0000\u0000\u0010\u0000@\u0000à\u0000\u0000\u0002\u0000\bä\u0000\u0000\u0000€\f\u0000à‚\u0007À\u0010\u0001\u0000\u0000\u0010?\u0000\u0002@ \u0000\u0004\u0000\u0000\u0000„\u0004\u0000\u0000€\u0000\u0000\u0010Á\u0000\u0000 \u0000\u0000\u0014ä \u0000\b\u0000\u0000\u0001àˆ\u0000\u0006\u0000\u0000\u0000\u0000\u0002\u0000\u0003\u0000\u0000\u0000\u0000\u0000",
"on": "\u0000\r\f\u0000\u0000t<\u001eD\u0004\"\u0002\u0000\u0010\u0000€\u0004\u0000 \u0000€\u0003€",
"on": "\u0000\u000e\b\u0000xº\u0013\u0018Ha!„†\u0012\u0018H^!",
"Minutes": "\u0000\u000f\u0010\u0000\u0000@\b€\u0010€A\u0001\u0001\u0004\u0001\u0010\u0001Oñ\u0004 \b@\u0010€A\u0000‚\u0002\u0004\bP @",
"Reset all widgets": "\u0000»\u000f\u0000\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 \u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\n\u0000\b\u0000\u0000\u0000\u0000 \u0000\u0000\u0000\u0000 \u0000\u0000\u0000\u0001\u0000 \u0000\u0000\u0000 \u0002 \u0000€\u0000\u0000\u0006\u0012\u0000\u0000\u0000\u0000\u0002\u0000\u0001à\u0004\u0010\u0002\u0000\u0000\u0000\u0002\u0000‚\u0000\u0010\u0000\u0000\u0000!@\u0000\u0000\u0000\u0000@\u0000Ò\u0000B\u0000@\u0000\u0000\u0000@ \u0003à\u0000@\u0000 \u0000\u0000\u0000\u0000\b\u0000\" \b@\bð\u0000\u0000\b\u000bú\u000f„\u0000\u0010\u0006\u0000\u0000\u0000\u0000\u0000\u0001\u0000\u0004B\u0001\b\u0001b\u0000\u0000\u0001\u0006\b0€€\u0004\u0000 @\u0007\u0000\"\u00008\u0001\u0010@!\u00010€\"\u00008\u0001\u0000\u0010 \u0003€\u0000\u0010\u000f\u0000\u0012 \u0004À\"\b\u0004 \u001c \u0012 \u0004À \u0001\u0004\u0003\u0000\u0004\u0000 \u0001D\u0000„\u0004\u0000„\u0000ˆ\u0001D\u0000„À!\u0000\u0002\u0000\u0001\u0000\u0004\u0000!\u0000\u0010\u0000@\u0001\u0000\u0010\u0000!\u0000\u0010\u0000€\u0000 \u0000@\u0000@\u0000€\u0000 \u0002\u0000\u0014\b\u0000 \u0002\u0000\u0000 \u0002\u0000\u0010\u0000\b\u0000\b\u00010\u0000\u001e\u0000\b\u0000@\u0001\u0006\u0000\b\u0000 \u0000\b\u0000@\u0002\u0000\u0002\u0000\u0001\u0000\u0018\u0000< \u0002\u0000\b\u0000\u0003\u0000\u0002\u0000\u0003à\u0002\u0000\b\u001fÿ\u0000€\u0000 \u0000\u0000\u0000\u0000\u0000€\u0001\u0000\u0000\u0000\u0000€\u0000\u0000\u0000€\u0001\u0000",
"Hours": "\u0000\u001c\u0010\u0000\u0000@\u0000\u0000\u0004\u000fŸø@‰\u0018¿Ÿˆ@‰\u0018„\u000fŸü€\u001f\tùˆ\u0010˜¿Éùˆ\u0010˜‘\tùø˜\b\u0001\u0000P€P\u0002\b\u0002",
@ -129,33 +129,33 @@
"Beep": "\u0000+\r\u0000\u0000\u0000\u0000\u0000\u0000À\u0010\u0000\u0000\u0000&\t\u0000\u0000\u0004|  \u0000\u0000qd\u0010\u0000\u0000\u0000 €\u0000\u0000\u0000\b\u0011Àð\u0001\u0003À\u000fÀ\u0000@@\u0000\u0000\u0000\b\b\u0000\u0000\u0000\u0002\u0001\u0000\u0000\u0000\u0000€\u0010\u0000\u0000\u0000 \u0001ø\u0000\u0000\b\u0000",
"Message": "\u0000L\r\u0000\u0001\u0000\u0000\u0000 \u0000\u0000\u0000\u0000 \b\u0000\u0000\u0001\u0000\u0000\u0000\u0003\t\u0000€\u0000\u0000\u0010\u0000\u0000\u0000\bP\b\u0000\u0000\u0001\u001e\u0000\u0000\u0000\u0004\u0018€\u0000\u0000\u0016 \u0000\u0000`\u0000p\u0001\u0010\t„\u0010>\u0001\u0002\u0001\u0000H€p€ü\u0000\u0000@(\u0002ˆ\u0001\u0010\u0000\u0000\u0000\b\u0002@!\u0000\u0010\u0000\u0000\u0000\u0001\u0000@\u0000\u0010\u0001\u0000\u0000\u0000\u0000 \b\u0000\u0002\u0000\b\u0000\u0000\u0000L\u0003\u0000\u0000@\u0000|\u0000\u0000\u0003\u0000À\u0000\b\u0000\u0000\u0000\u0000\u0000\u0000\u0000",
"System": "\u0000:\r\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0010\u0018\u0000!À#À\u0002\u0001\u0000\u0007\u0007\u0000\u0000€\u0000\u0000\b\u0000\u0000\u0000 À\u0000\u0002\u0000\u0003À\u0010\b\u0010\u0001\u0000G\u0000\u0004\u0000\b\u0000@\u000e@\u0001 \u0004\u0000(\u0000\u0010\u0000„\u0002\u0000\u0011\u0000\b\u0000!\u0000\u0018 \u0002\u0000S™€\u0018\b\u0001\u0000\u000f\u0005€\u0000\u0000\u0000€\u0000\u0000\u0000\u0000\u0000\u0000@\u0000\u0000\u0000",
"Select Clock": "\u0000z\r\u0000 \u0000@\u0000\u0010\u0000 \u0000\u0010\u0000\u0000\u0000\u0000\u0000\u0010\u0004\u0000\b\u0000\u0002p\u0004\u0000\u0002p\u0000\u0000\u0000\u0000\u0002q\u0000\u0002\u0000\u0000ä\u0001\u0000\u0000ä\b|\u0000\u0000\u0000äG€€\u0000\"\u0000@\u0000\"\u0001á\u0000\u0000\u0000\"\u0016 \u0000\u0010€\u0010\u0000\u0010€@@\u0000\u0000\u0010¦\u0010\b\u0000\u0004@\u0007\u0000\u0004@\u0010\u0010\u0004@\u0004G\b\u0002\u0004\u0002\u0010\u00010\u0002\u0010\u0002\b\u0004ˆ\u0002\u0010D\u0000‚\u0001\b\u0000B\u0001\b\u0000‚\u0000¢\u0001\b\u0010\u0000!\u0000\u0002\u0000\u0010\u0000\u0002\u0000'€!\u0000\u0002\u0004\u0000\b€\u0001\u0000\u0004\u0000\u0001\u0000\u000e\u0010\u0000@\u0001\u0000€\u0002À\u0000€\u0001\u0000\u0000€\u0002\u0000\u0000 \u0000€\u001f\u0000À\u0000@\u0000@\u0000@\u0000\u0000\u0000\u0010\u0000@\u0000\u0000\u0000\u0000 \u0000\u0010\u0000 \u0000\u0000\u0000\b\u0000 \u0000",
"Locale": "\u0000;\r\u0000\u0000\u0000 \u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0000\u0000\u0000‚\u001f\u0000@\u0000\u0000\u0000ˆ< \bp\u0000\u0000\t\u0004\u0004\u0003ð\u0000\u0000\u0001 €€H\u0002\u0007À$H \u0010€?\u0000\u0004‰\u0004\u0004\u0010\u0000\u0000\u0000’'€\u0002\u0000\u0000\u0000\"G\b\u0000€\u0000\u0000\u0004P€\u0000\u0010\u0000\u0000\u0001\f\u0000\u0000\u0004\u0000\u0000\u0000A\u0000\u0000\u0001\u0000\u0000\u0000\u0000\u0000",
"Vibrate": "\u0000\u001e\u0010\u0000\u0010\u0000\u000f Oñà \u0000‚\u0004€?èþø\b|H\u0001ü‘ \u0004’Eÿ\u001fÉ\u001a I$ʑü*€‚D¤\u001fÉ\u0012\bDR ?\u0015JO‰J0B",
"Select Clock": "\u0000k\u0010\u0000\u0000@@@\u0000\u0000\u001ex \u0000\u0000\u0000\u0000\u0000\b\u0004\b\u0001\u0000\u0012I\u0004\u0000@\u0000\u0003á\u0000\u0000\u0010\u0001yàˆ \u0004\u0000FEüþ \u0012À(¢\u0011\u0004@ø\u0007H„\u0000\u0004\u0001à\u0000óß ‡ð\u0000\u0011\u0010ð€\u0010\u0000\u0004@D\u0010\u0002\u0000\u0004#ÿ\u0001ÿ\u0002\u0010sþ\bþ\u0001À\u0001\u0007À‡Â\u0000ó‚\u0011\u0001R@L\u0000|ˆ\u0010\u0000@1€B 2@\b€\u0018QŸ\b\b`\u000bÿŒH\u0000ð\u0004\u0006 B!\u0000\u0014\u0001\b†ˆ€\u0002\u0001\u0000ĈD \u0004€\"\b\u0011\u0010\u0000€\u0003Ÿ‰\b„\u0001\u0000\u0004€‚A\u0000\u0010\u0000\u0010!ð€ \u0001@\u0000H \u0004\u0000\u0011\u0000\u0014\"\u0010\u0003ðGÿ*\u0002\u0001\u0000\u0001À\u0001\u0000\u0002\u0000\u0000\u0000\u0000\u0002€ \u0000\u0000\u0000",
"Locale": "\u0000\u001f\u0010\u0000\u0010 \u0014 @@$@€€@‰\u0001?ñ\u0012Â\u0001\u001f¦Ÿ\u0002\u0004Y\bô‰Ò\u0011)\u0011$\"R\"hD¨D Pé\u0011ÀN\u0012.\u000e¨ Hã@?€‰€\u0000\u0000!",
"Vibrate": "\u0000|\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000\u0004\u0000\u0004‚\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000H\u0000@G¨\u0010\u0000\u0000\u0000\u0018\u0000\u0000\u0000\u0000\u0000\u0002€\b\u0003Š\u0001\u0000\u0000\u0000\u0000@\u0000\u0000\u0003\u0000\u0011 \u0001\u0000\u0000€\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\b\u0010ˆ\u0000`\u0000\u0010\u0001\u0000\u0000\u0000\u0003\u0000\u0000<\u0000A\b@\u001a\u0000\u0001\u0000\u0010\u0000ð\b\u0010\u001c@\u0000!\u0002\u0006\u0010\u0000 \u0001\u0002\u0007à\u0000\u0002\u0000\u0004\u0000\u0002\u0010 \u0001\u0000\u0002\u0000\u0010@\u0000\u0000\u0000@\u0003À\u0000B\u0001\u0000\u0010\u0000@\u0001\b\u0000\u0000\u0000\b\u0001È\u0000\b@\u0010\u0001\u0000\b\u0000\u0011\u0000\u0000\u0000\u0001\u0000\u0000€\u0001\b\u0001\u0000\u0010\u0001\u0000\u0001`\u0000\u0000\u0002`\u00008\u0002`\u0000\u0000\u0001\u0000 \u0000\u0018\u0000\u0000\u0000\u0018\u0000\u001c@\u0018\u0000\u0000\u0000\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000",
"Alerts": "\u00009\r\u0000\u0000\u0000\u0000\u0000\u0000\u0000 Cà#€\u0000\u0000\b\u001e\u0010\u000e\u0000\u0000\u0000\u0004\u0000\u0010\u00008\u0000\u0000\u0002\u0000\bä\u0000\u0000\u0001\u00000\u0003‚\b\u001f\u0000à\u0010\u0000\u0001\u0003ð\u0000L\b\u0000\u0001\u0000\u0000\u0000!\u0004\u0000\u0000€\u0000\u0000\u0010\u0004\u0000\u0000€\u0000\u0000\b\u0002\u0000\u0000€\u0000\u0000\u0004\u0002\u0000\u0001€\u0000\u0000\u0002\u0002\u0000\u0003\u0000\u0000\u0000\u0001\u0000",
"Whitelist": "\u0000i\r\u0000\b\u0000\u0000\u0000\u0000€ \u0000\u0001\u0000\u0000\u0000 \u0002\u0000Cà\u0000@\b\u0000\u0010@!À\b\u0001\u0000\u001e\u0010\u0000@\u0004\u0000\u0004 \u000f \u0004\u0010ø\b\b\u0000@\u0002\u0000\u0002\u0010\u0000 \u0002\u0007À\u0002\u0004\u0000À\u0001\u0000\u0001\b\u0000\u0010\u0001\u0000 \u0001\u0004\u0001 \u0000à\u0000„\u0000\u0010\u0000à\u0014\u0000‚\u0003\b\u0000L\u0000B\u0000\b\u0000LI\u0000\u0002\u0000\u0004\u0000!\u0000!\u0000\n\u0000!$@\u0001\u0000\u0002\u0000\u0010\u0000\u0001\u0000\b€\u0010\" \u0001\u0000\u0001\u0000\b\u0000\u0000€\u0018 \b!\u0000\u0001\u0000\u0000€\u0004\u0000\u0000€0\u0010\u0004\u0001€\u0001\u0000\u0000@\u0002\u0000\u0000€\u0000\u0000\u0002\u0000@\u0001\u0000\u0000 \u0001\u0000\u0000€\u0000\u0000\u0001\u0000",
"Set Time": "\u0000K\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000€\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0010>|€\u0000\u0000\u0000€\u0007Â\u0004Hˆ\u0000\u0000\u0000\b\u0000‹øùñ\u0000\u0000\u0000\u0001\u0000\u0011\b\u0011\"#À\u0000\u0000 \u0002!\u0003çň\u0000\u0000\u0004\u0000Gþ@\fÂ\u0000ˆ\u0000à\u000f\tùp€H€\u0013\u0001\u0010!!\" \u0005\u0010\u0002\u0010\"ÿ'ä@\u0000„\u0000@\u0004@„„ˆ\u0000\u0000€\b\u0000‰\u0010Ÿ€\u0000 \u0001\u0000\u001f\u0012\u0012\u0012\u000f€\b\u0000 \u0002 B\u0000@\u0000\u0002\u0000\u0004\u0000\u0000(@(\u0000\u0000\u0000\u0000\u0000\u0000\u0002\b\u0002",
"Disable": "\u00006\u000b\u0000\u0000\u0010\u0000\u0000€0\u0003À@\u0000\u0002\u0000@\b€\u0000\u0000\b\u0001\u0000!\f\u001e\u001e.\u0004\u001e„\u0010„„Ä\u0010†\u0010B\u0000\u0012\u0010B\u0018A\u0006\u0007ÈA\u000fá\u0004\u0006!!\u0004 „\u0010\u0004„„\u0010‚ B\u00123\u0010B\u001f\u0007LJK‡Ç€",
"Set Time": "\u0000k\u0010\u0000\u0000@\u0000\u0000\u0000\u0000@\u0000\u0004\u0000\u0000\u0000\u0000\u0000\b\u001f>\u0001\u0000\u0004>\u0000@\u0000@\u0000\u0003á\u0002$@\u0010\u0000„Cÿð\u0004\u0000FEü|ø\u0012Àþˆ@\u0002@ø\u0007H„\b‘\u0001à\u0000\u0011\u0010\u0000‡ð\u0000\u0011\u0010óà\u0010\u0001ô\u0018\u0000\u0000\u0002\u0000\u0004#ÿ \u0004\u0002\u0010\u0001\u0000\u001fü\u0001À\u0001\u0007À„ü€ó‡ßÀ\u0010\u0000L\u0000|ˆ\u00101€\u0001\b\u0002\u0000\b€\u0018Q“ò\b`\u001f!\u0004@\u0000ð\u0004\u0006 BB@\u0014\u0002\"@À\u0002\u0001\u0000ĈOÈ\u0004€DP\u0011\u0000\u0000€\u0003Ÿ‰\t\t\u0001\u0000\b„\u0002 \u0000\u0010\u0000\u0010!\u0000 \u0001ñ@¤\u0000\u0004\u0000\u0011\u0000\u0014 \u0014\u0003ð\"D#ÿ\u0001\u0000\u0001À\u0001\u0004\u0001\u0000\u0000\u00000h\u0000\u0000\u0000\u0000\u0000",
"Disable": "\u0000\u001e\u0010\u0000\u0010\u0000\u0010 @\u0000 ÿÀ\u0002\n¨?ÈJ \u0000ü*€—ÿÄ\"B¨ I\n $$*€P—ÿÀ‚@\u0000\u0005\u0011$ˆ\"D‰\u0011\n\u0014$H\u0012 \u0001\u0000„",
"BACK": "\u0000\u001e\n\u0000ø0x†\u0011\"\u0012(DˆI!! (ø„€Â\u0013ò\u0003\bHH\n!!!$„„„‹â\u0011â\u0010",
"ALARM": "\u0000&\n\u00000€…\"\u0001\"\u0012\u0014ˆ\u0004ˆLá !!3„€„ø·ò\u0003òBØH\bHˆa !\"!„€„„†\u0013ò\u0012\u0012\u0010",
"Timer": "\u0000;\r\u0000\b\u0000\u0000€\u0000\u0000\u0000\u0000€\u0000\u0010\u0000\u0000\u0000\u0000\u001f\u0000\u0004\u0002\u000f\u0000\u0000\u0004 \u0001\u0000>\u0010\u0000\u0000ˆ\u0000À\u0000\u0004\u0000\u0000)\u0000h\u0000\u0001\u0002\u0007ÈÀ0€\u0000@?\u0002\b\u0000\u0010\u0001\u0000\u0000\u0002\u0000\u0002\u0000\f\u0000\u0000\u0000€\u0000@\u0000@\u0000\u0000 \u0000\b\u0000\u0004\u0000\u0000\u0018\u0000\u0001\u0000\u0000\u0000\u0000\f\u0000\u0000 \u0000\u0000\u0000\u0000",
"Error in settings": "\u0000]\u0010\u0000 \u0000\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000‡À\b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0004\"\u001fÿ€\u0000\u0000\u0000\u0000\u0000\u0000\u0001ý\u0010€\u0004\u0007€\u0000\u0000#€\u0000\u0000\bˆ\u0000@Ò\u0000\u0007\u0000à\u0000\u0000>ƒ\u0000\u0000\bˆ\u000fÀ\u00008\u0000\u0000\b\u0000ÿàD \b\u0000Ž@\u0000\u000f¿€ \u0004A\u0000 \u0003‚\b\u001f\u0000„\u0001\u0000\"\b\u0001\u0000\u0000\u0010?\u0003ä ˆ\u0001 @\b\u0000\u0001\u0000\u0000\u0011\u0012\u0004~\t\u0004\u0000@\u0000\b\u0000\u0000ˆ \"\u0000P \u0007à\u0000€\u0000\u0004B\u0001\u0010\u0001\u0006\u0003À€\b\u0000\u0000>(\u0014€\u0000À\u0000\u0000\u0001€\u0000\u0001\u0012!\u001fø\u0000\u0000\u0000\u00000\u0000\u0000\u0000`Ð\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000",
"Factory Reset": "\u0000˜\r\u0000\u0000\u0000\u0000\u0000 \u0000@\u0000\u0002\u0000\u0000\u0000\u0002\u0000@\u0000\u0000\u0000@‡€\u0000\u0000\u0013€ \u0000A\u0000\u0000\u0000A\u0000 \u0000\u0000\u0000 x€\u0000\u0000\u001c€ \u0000!\u0000\u0000\u0000!\u0000 \u0000\u0000\u0000 \u0000€\u0000\u0000\u0011\u0000 \u0000!\u0000\u0000\u0000!\u0000#À\u0000\u0000 \u0001\u0000\u0000\u0000!\u0000 \u0000!\u0000\u0000\u0000!\u0000,@\u0000\u0000 \u0001\u0001\u000f\u0000\"\u00008\u0000!\u0002\u0007À!\u00010€\"\u00008\u0002\u0000ñ\u0000B\u0000&\u0000!\u0001ø\u0000!\u0000á\u0000‘\u0000&\u0002\u0000\u0012\u0000„\u0000!\u0000!\u0000\u0000\u0000!\u0000\"\u0000Q\u0000!\u0004\u0000\f\u0000\u0004\u0000 \u0000\u0002\u0000\u0000\u0000\u0002\u0000 \u0000B\u0000 \b\u0000\b\u0000\b\u0000 \u0000\u0002\u0000\u0000\u0000\u0002\u0000 \u0000\u0002\u0000 \u0010\u0000\b\u0000\u0010\u0000 \u0000\u0004\u0000\u0000\u0000\u0004\u0000\u0010\u0000\u0004\u0000 \u0000\u0010\u0000 \u0000 \u0000\b\u0000\u0000\u0000\b\u0000\u000f€\b\u0000 \u0000\u0000 \u0000@\u0000 \u0000\u0010\u0000\u0000\u0000\u0010\u0000\u0000\u0000\u0010\u0000 ",
"Sleep": "\u0000\u001f\u0010\u0000\u0000\u0010\u0000\u0000\u0000ð\u0003ûÏ\u0001ô\u0014‚\u0002()\u0004\u0004P^ÿ¿¤’\u0011HI$\"÷þ}ÿ$ŠBI!\u0014„¿â(\u0004\u0007Ñ2\b\b©Aÿ\u0000a€\u0000\u0000",
"Connected": "\u0000Z\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000€\u0000\u0002\u0000\u0004\u0000\u0000\u0000\u0000\u0000\u0010\u0000\u0000@\u0000œ\u0004x\u0000\u0000\u0002\u0016\u001f\u0000\u001e\u00009\u0000à\u0000\u0000\u0000„x@x€\b€\u0000\u0000\u0000\u0000 \u0000\u0010\u0000@\u0004 \u0000x\u0000\u0000\b\u0000\u0004\u0000 \u0001\u0010\bà\u0001\u0010\u0003€\u0001\u0000\u0010\u0000„\u0001È\u0001\"\u0000˜\u0000€\r\u0000B\u0000\u0002\u0000(€!\u0000 \r0\u0000€\u0001\u0000\b@\b\u0000ø\fB\u0000@\u0000@\u0000\u0010\u0002\u0001Â\u0000\u0010\u0000 \u0000 \u0000\b\u0000€\u0000\u0000\u0004\u0000\u0010\u0000\u0010\u0000\u0004\u0000 \u0000\u0000\u0001\u0000\b\u0000\b\u0000\u0002\u0000\b\u0000",
"Connected": "\u0000]\u0010\u0000\u0001\u0000\u0010€\u0010€\u0010 \u0000\u0000\u0000\u0000\b\u0000‚\u0000‚\u0000\u0000\u0000\u0000\u0000\u001fÿ\u0004ÿ\u0004ÿ\bÿ„\u0000\u0002\u0000\u0002\u0000 \u0000 \u0000P@\u0010\u0000\t\u0001ÿ\u000fЏЄŸÀ€\u0000p\b\b\bH\bHx\u0000\u0004\u0000\u001e\u0000@@_ø_øOø \u0000#Ãþ\u0002\b\u0002\b\u0004@A\u0000\u0001\u0003\u0010\u0010\u0018@\u0018@L\u0004\b\u0000\b ÿ¿ñ¿÷Ā@\u0000€\u0004\u00044\"4\"\u0002$\u0002\u0002\u0004\u0000?à\"\u0010\"\u0010\u0001 \u0010 \"\u0001\u0001\u0001\t\u0001\t\n‰\u0000F\u0002\u0010\b\b\b0\b0T‰\u0001À\u0010ÿùFaFb\u0004H\u0000\u0000\u0000\u0000\u0000\u0004À„À€AÀ\u0000\u0000\u0000",
"Messages": "\u0000L\r\u0000\u0001\u0000\u0000\u0000 \u0000\u0000\u0000\u0000 \b\u0000\u0000\u0001\u0000\u0000\u0000\u0003\t\u0000€\u0000\u0000\u0010\u0000\u0000\u0000\bP\b\u0000\u0000\u0001\u001e\u0000\u0000\u0000\u0004\u0018€\u0000\u0000\u0016 \u0000\u0000`\u0000p\u0001\u0010\t„\u0010>\u0001\u0002\u0001\u0000H€p€ü\u0000\u0000@(\u0002ˆ\u0001\u0010\u0000\u0000\u0000\b\u0002@!\u0000\u0010\u0000\u0000\u0000\u0001\u0000@\u0000\u0010\u0001\u0000\u0000\u0000\u0000 \b\u0000\u0002\u0000\b\u0000\u0000\u0000L\u0003\u0000\u0000@\u0000|\u0000\u0000\u0003\u0000À\u0000\b\u0000\u0000\u0000\u0000\u0000\u0000\u0000",
"Hide": "\u0000\u001c\u0010\u0000\u0000\u0010\u0000\u000f‡€ ‹€\u0001\t\bˆ\u001f’H\n\u0015\u0000\u0010“ø\u0007\t\u0000€˜‰ø\bˆ€€x‹ø\u0000\b\u0000\u0010¡H\u0001\bU@ …\u0014\u0004\b\u0000\u0000",
"Show": "\u0000*\u000b\u0000`\u0000\u0000\u0000\u0000\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0003\u0000\u0000<\u0000\u0000 @q\u0002\u0007À \u0000@~\u0000\u0010\u0000ð\u0000\u0000\b\u0001È\u0000\u0000\u0004\u0000\u0002\u0000\u0000&\u0000\u0003€\u0000\u0006\u0000\u0007\u0010\u0000\u0000",
"Show": "\u0000\u001d\u0010\u0000\u0001\u0000\u0000\u0000\b\u0000\b\u001fÿ\u0000 \u0002\u0000ð\u0010\u0003ø\u001fü\u0000@\u0004\u0000\u000e\u0000 \u0000˜ÿþ\u0004@(\u0000\u001e\u0002\"\u0000\u00100 \u0001\u0002‚\u0000\bdŒ\u0000€(\u0018\b\u0001€\u0000\u0000",
"On": "\u0000\u001b\r\u0000\u0002\u0000\u0000\u0000 \u0000\u0000\u0004\u0001€@ð\b\u0017ð\u0000‚\u0006\u0000\u0000@\u0000\u0010H\u0000\u0004\u0011\u0000\u0001\u0004 \u0000A\u0004\u00010\u0001€\u0018\u0000\u0010\u0000\u0000",
"Ok": "\u0000\u000e\n\u0000x†\u0012(I!(„Â\u0013\bJ!$„‰â\u0010",
"No": "\u0000,\r\u0000\u0000\u0000\u0000\u0000\b\u0000\u0000\u0000\u0000\u0000p\u0000\u0000\u0000\u0000\u0000\b\u0000\b\u0000\u0000\u0000@À@À#„\u0002\u0004\u0002\u0001Ð@\u0010@\u0010\u0002\u0004A\u0004A\u0000@H0H0\b\u0002\u0002\u0001À0\u00000\u0000\"\u0001\u0000\u0001\u0000\u0004 \u0000\u0000\u0000\u0000Að",
"Settings": "\u0000\u001f\u0010\u0000 \u0000\u0002\u0000!ð\u0002\u0000B!ÿÿôB\u0000\u0010\bˆ\u0000O À\u0000\u0000€\u000fþ>þ\u0000€\u0000„\u0001\u0000ù\b\"\u0001\u0011 Gâ\"€ˆ\u0004B\u0001\u0010\u000fŠ\u0005 \u0011\"\u0011ÿƒ@\u0000",
"steps": "\u0000<\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000`\u0000\u0000\u0000\u0000\u0000\u0000\tC€G€\u0000\u0000“È\u0003€\u0000\u0000\u0007\u0016\u0001\u0000\u0000\u0000\u0000\u0000\u0001\u0000\u0010\u0000\u001e\u0000\u0000\u0000 \u0002\u0000Ž\u0000\u0011\u0000\u0002\u0000 \u0007 \u0004ˆ\u0000@\u0005\u0000\u0002\u0000(€\u0004\u0000ˆ\u0000@\u0002\u0010\u0000€0@\u0004\u0000\u0001\u0000\u0010\f\u0004\u0000€\u0000 \u0002\u0000\u0000\u0000\u0010\u0000\u0004\u0000@\u0000\u0000\u0002\u0000\u0000€\u0000\u0000",
"steps": "\u0000\u001f\u0010\u0000\u0001\u0000\b \u0002\u0000’@G਀ˆ\u0000Añ\u0010\u000fôB \u0005H¿ÿ’Q\u0000€DR\u0001\u0010\u0010(\"\u0011üPDPˆA\t\"\u0010„\f\u0006B€`\u0003\u0005\u0007\u0000\r\u0011p\u0000aA",
"back": "\u0000+\r\u0000\u0000\u0010\u0000\u0000\b\u0000\t\u0000\u0000\u0000œ\u0000 \u0000\u0000\u001cˆ\u0000\u0000\u0002 ˆ\u0000\u0000\u0000„\u0010€\u0011\u0000\u0011\u0004\b\t\u0010\u0004 \u0000¢\u0001\b \u0010\u0010€\u0001\b\u0002\u0000\u0010\u0000B\u0000@\u0004\u0000\u0010\u0000\u0000\u0001\u0000\u0004\u0000\u0000\u0000@\u0001\u0000",
"Steps": "\u0000<\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000`\u0000\u0000\u0000\u0000\u0000\u0000\tC€G€\u0000\u0000“È\u0003€\u0000\u0000\u0007\u0016\u0001\u0000\u0000\u0000\u0000\u0000\u0001\u0000\u0010\u0000\u001e\u0000\u0000\u0000 \u0002\u0000Ž\u0000\u0011\u0000\u0002\u0000 \u0007 \u0004ˆ\u0000@\u0005\u0000\u0002\u0000(€\u0004\u0000ˆ\u0000@\u0002\u0010\u0000€0@\u0004\u0000\u0001\u0000\u0010\f\u0004\u0000€\u0000 \u0002\u0000\u0000\u0000\u0010\u0000\u0004\u0000@\u0000\u0000\u0002\u0000\u0000€\u0000\u0000",
"Steps": "\u0000\u001f\u0010\u0000\u0001\u0000\b \u0002\u0000’@G਀ˆ\u0000Añ\u0010\u000fôB \u0005H¿ÿ’Q\u0000€DR\u0001\u0010\u0010(\"\u0011üPDPˆA\t\"\u0010„\f\u0006B€`\u0003\u0005\u0007\u0000\r\u0011p\u0000aA",
"Year": "\u0000\u000f\u0010\u0000\u0010\u0000 \u0000ñ\u0004\u0002\b\b\u0010\u0007þ\b@\u0010€!\u0003ÿø\u0004\u0000\b\u0000\u0010\u0000 \u0000@",
"Yes": "\u0000%\r\u0000\u0001\u0000\u0000\u0000\u0004\u0004\u0000\u0000\u0000\u0010 \u0000\u0000\u0000¡Â\u0000\u0000\u0004ø\b\u0018\u0000@@@ \u0002\u0002\u0002\u0000€\u0010\u0010\u0011\u0004\u0006€€`M<\u0002\u0002R0\u0018\u0000\f‘@@\u0000\u0004p\u0000\u0000\u0000\u0000",
"Loading": "\u0000\\\u000e\u0000\u0000\u0000\u0000\u0000\u0000 \u0000\u0000\u0000\u0000\u0000 \u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0002\t\u0000\u0000\u0000\u0000GP\u0000\u0000\u0000\u0000\u0013X|\u0000\u0000\u0003„\u0000\u0000\u0006\u0000\u0001Ôx@\u0000\u0000\u0000\u0000\u0000€\u0010 \u0011\u0004\u0004\u0000\u0000\b<\u0000\u0010\u0000‚\u0002\u0010@A\u0003à|\u0000\u0002\u0000\u0000@\"\u0002\b\u000fÀ\u0000 \u0000à\u0000\u0004\u0004 €\u0000\u0000\u0002\u0000r\u0000\u0000€„\u0002x\u0000\u0000\u0000@\u0000 \u0000\u0010\u0000@8@\u0000\u0000\u0004\u0000\u0002\u0000\u0002\u0000\b\u0002\u0000\u0000\u0000\u0000€\u0000 \u0004À\u0001\u0000\u0000\u0000\u0000\u0000\u0010\u0000\u0002\u00000\u0000 \u0000\u0000\u0000\u0000\u0002\u0000\u0000 \u0000\u0000\u0004\u0000",
"Yes": "\u0000\u001b\r\u0000\u0001\u0000\u0000\u0010\u0010\u0000\u0001\u0002\u0000\u0000(p€\u0004ø\b\u0019\u0001\u0001\u0000  \f\u0004\u0004A€€tð\n\u0005#\u0001€$P\u0010\u0004p\u0000\u0000",
"Loading": "\u0000M\u0010\u0000 \u0000\u0000\u0002\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0001\b\u0000\u0000\u0000\b\u0000ÿ‚ \u0004 \u0002 \u0000Aø@\u000f\u0000 €\u000f\u0000\u0002\u0000\u001fÀ\u0010\u0000\u0004\u0000\u0010\u0003ÿ¼\u0000\u0000€\u0000P\u0000€\u0010„\u000fø\bƒÂ€\b€„/@@B\u0002\"\u0000B\u0004!\u0004\u0004\u000fð\u0011\u0010\u000fð!\u000bā ÀA Á\bR$\u0011\t\u0005\u0001\u0011\t\u000fþ‘ @0\u0004@B\u0014‰\u0003\u0004\u0001\u0000\u0003\u0004\u0000\u0010<‰\u0000@\u0014\u0000\u0000@\u0000$H\u0000\u0001\u001fø\u0000\u0000\u0004\u0000AÀ\u0000\u0000\u0000\u0000\u0000\u0000 ",
"Music": "\u0000\u001f\u0010\u0000\u0002\u0000\u0001\u0000\u0002\u0000„\bÿàŸ \u0000\u0000¢€‚\u0000D\u0000ˆ\u0002ú?ÿ‰\u0012\u0000\u0000b\"\u001fð\u0007À \u0002\u0000@Cÿøÿ€*\u0001\u0001\u0000’\u0002\u0002\u0006#\u0007ü0Aˆ\b\u0000€",
"color": "\u0000+\r\u0000\b\u0000\u0000\u0000\u0000\u0000€\bà\u0000\u0000\u0010\u0000à\u0000\u0000Cà\u0000à\u0000\u0007Ä\bä\u0000\u0000\u0010€à‚\u0007Â\u0010\u0000\u0010?\u0000„\u0000\u0004\u0000\u0000\u0010€\u0000€\u0000\u0004\u0010\u0000 \u0000\u0001\u0014\u0000\b\u0000\u0000A€\u0006\u0000\u0000\u0000 \u0003\u0000\u0000\u0000",
"off": "\u0000\u001a\r\u0000\u0002\u0000\u0000\u0000@\u0010ð\u0010\u0003Æ\u0007€\u0001\u0000\u0000€À\u0000 P\u0000\u0010$\u0000\u0004\u0011\u0000\u0002\b@\u0001\u0004\u0010\u0000€\f\u0000@\u0001\u0000\u0000\u0000",

View File

@ -2,123 +2,123 @@
"//": "Japanese language translations",
"GLOBAL": {
"//": "Translations that apply for all apps",
"New Alarm": "新型アラーム",
"New Timer": "新型タイマー",
"New Alarm": "アラームを追加",
"New Timer": "タイマーを追加",
"Save": "保存",
"Keep Msgs": "Keep Msgs",
"circle count": "サークルカウント",
"(repeat)": "(繰り返し)",
"Keep Msgs": "メッセージを保持する",
"circle count": "サークルの数",
"(repeat)": "(リピート)",
"music": "音楽",
"Auto snooze": "オートスヌーズ",
"week": "ウィーク",
"week": "週間",
"circle 1": "サークル1",
"circle 3": "サークル3",
"circle 2": "サークル2",
"show widgets": "show widgets",
"show widgets": "ウィジェットを表示",
"heartrate": "心拍数",
"circle 4": "サークル4",
"battery warn": "バッテリー警告",
"valid period": "有効期間",
"maximum": "最大",
"weather circle": "ウェザーサークル",
"minimum": "ミニマム",
"step length": "ステップ長",
"weather circle": "天気サークル",
"minimum": "最小",
"step length": "歩行",
"distance goal": "距離目標",
"Circle": "サークル",
"min. confidence": "最低限の自信",
"colorize icon": "カラライズアイコン",
"min. confidence": "最小確信度",
"colorize icon": "カラアイコン",
"Heartrate": "心拍数",
"data": "データ",
"Yes\ndefinitely": "はい。\n間違いなく",
"Yes\ndefinitely": "はい。\n確かに",
"Launcher Settings": "ランチャー設定",
"TAP right top/bottom": "TAP右上/左下",
"TAP right top/bottom": "タップ右上/左下",
"Font": "フォント",
"Mark Unread": "マーク・アンリード",
"start&lap/reset, BTN1: EXIT": "スタートラップリセット、BTN1EXIT",
"Mark Unread": "未読にする",
"start&lap/reset, BTN1: EXIT": "スタートラップリセット、BTN1終了",
"App Source\nNot found": "アプリソース\n見つからない",
"Show clocks": "時計の表示",
"STEPS": "ステップ",
"Show clocks": "時計を表示する",
"STEPS": "歩数",
"Vector font size": "ベクターのフォントサイズ",
"View Message": "メッセージを見る",
"Are you sure": "本当にいいの?",
"Bluetooth": "ブルートゥース",
"Bluetooth": "Bluetooth",
"Unread timer": "未読のタイマー",
"Delete all messages": "すべてのメッセージの削除",
"Delete all messages": "すべてのメッセージを削除する",
"No Messages": "メッセージなし",
"Record Run": "レコード・ラン",
"Record Run": "ランニングを記録する",
"Apps": "アプリ",
"BTNs 1:startlap 2:exit 3:reset": "BTNs 1:startlap 2:exit 3:reset",
"Delete All Messages": "全メッセージの削除",
"Vibration": "振動",
"Utils": "ユーティライゼーション",
"BTNs 1:startlap 2:exit 3:reset": "BTNs 1:スタート&ラップ 2:終了 3:リセット",
"Delete All Messages": "すべてのメッセージを削除する",
"Vibration": "バイブレーション",
"Utils": "ユーティリティー",
"Piezo": "ピエゾ",
"BLE": "BLE",
"Make Connectable": "接続可能にする",
"Make Connectable": "検出可能にする",
"HID": "HID",
"Light BW": "ライトBW",
"Light BW": "ライト白黒",
"LCD": "LCD",
"Background": "背景",
"Foreground": "フォアグラウンド",
"Foreground": "前景",
"Programmable": "プログラム可能",
"Customize": "カスタマイズ",
"Dark BW": "ダークBW",
"Dark BW": "ダーク白黒",
"Background 2": "背景2",
"Quiet Mode": "クワイエットモード",
"Highlight FG": "ハイライトFG",
"Foreground 2": "フォアグラウンド2",
"Quiet Mode": "サイレントモード",
"Highlight FG": "ハイライト前景",
"Foreground 2": "前景2",
"Remove": "削除",
"Passkey BETA": "Passkey BETA",
"Add Device": "デバイスの追加",
"LCD Timeout": "LCDタイムアウト",
"Highlight BG": "ハイライトBG",
"LCD Brightness": "液晶ディスプレイの明るさ",
"Connect device\nto add to\nwhitelist": "接続機器\nに追加します。\nホワイトリスト",
"Wake on BTN3": "Wake on BTN3",
"Wake on BTN2": "Wake on BTN2",
"Time Zone": "タイムゾーン",
"Wake on Touch": "ウェイクオンタッチ",
"LCD Timeout": "画面消灯",
"Highlight BG": "ハイライト背景",
"LCD Brightness": "明るさのレベル",
"Connect device\nto add to\nwhitelist": "デバイスを接続して\nホワイトリストに\n追加する",
"Wake on BTN3": "BTN3にスリープ解除",
"Wake on BTN2": "BTN2にスリープ解除",
"Time Zone": "時間帯",
"Wake on Touch": "タッチにスリープ解除",
"Twist Timeout": "ツイストタイムアウト",
"Wake on Twist": "ウェイクオンツイスト",
"Wake on BTN1": "Wake on BTN1",
"Wake on Twist": "ツイストにスリープ解除",
"Wake on BTN1": "BTN1にスリープ解除",
"Log": "ログ",
"Wake on FaceUp": "Wake on FaceUp",
"Twist Max Y": "ツイストマックスY",
"Wake on FaceUp": "直面するにスリープ解除",
"Twist Max Y": "ねじれ限界Y",
"Utilities": "ユーティリティー",
"Clock Style": "クロックスタイル",
"Clock Style": "時計のスタイル",
"Rewrite Settings": "リライト設定",
"Flatten Battery": "バッテリーを平らにする",
"Debug Info": "デバッグ情報",
"Storage": "ストレージ",
"Reset Settings": "設定リセット",
"Twist Threshold": "ツイスト・スレッショルド",
"Reset Settings": "設定リセット",
"Twist Threshold": "ねじれ限界",
"Turn Off": "電源オフ",
"Compact Storage": "コンパクトなストレージ",
"Reset to Defaults": "初期設定へのリセット",
"Second": "セカンド",
"Reset to Defaults": "初期設定リセット",
"Second": "",
"Compacting...\nTakes approx\n1 minute": "コンパクトにして...。\n所要時間約\n1分",
"Date": "日付",
"Minute": "分",
"Connectable": "接続可能",
"Stay Connectable": "Stay Connectable",
"Connectable": "検出可能",
"Stay Connectable": "検出可能のまま?",
"Hour": "時間",
"No Clocks Found": "No Clock Found",
"No Clocks Found": "時計が見つかりません",
"App Settings": "アプリの設定",
"Flattening battery - this can take hours.\nLong-press button to cancel": "バッテリーのフラット化 - これには数時間かかります。\nボタンの長押しでキャンセル",
"Flattening battery - this can take hours.\nLong-press button to cancel": "バッテリーを平らにする - これには数時間かかります。\nボタンの長押しでキャンセル",
"Month": "月",
"OFF": "OFF",
"Right": "右",
"Widgets": "ウィジェット",
"Left": "左",
"Sort Order": "並び替え",
"Sort Order": "並べ替え順",
"Side": "サイド",
"No app has settings": "設定ないアプリ",
"Sleep Phase Alarm": "スリープフェズアラーム",
"No app has settings": "設定ないアプリ",
"Sleep Phase Alarm": "スリープフェズアラーム",
"Invalid settings": "無効な設定",
"TIMER": "TIMER",
"TIMER": "タイマー",
"Reset All": "すべてをリセット",
"This will remove everything": "これにより、すべてのものが削除されます。",
"Alarm": "アラーム",
"on": "",
"on": "on",
"Minutes": "分",
"Reset all widgets": "全ウィジェットのリセット",
"Hours": "時間",
@ -130,33 +130,33 @@
"Beep": "ビープ",
"Message": "メッセージ",
"System": "システム",
"Select Clock": "セレクトクロック",
"Locale": "ロケール",
"Vibrate": "振動",
"Select Clock": "時計を選択する",
"Locale": "地域",
"Vibrate": "バイブレーション",
"Alerts": "アラート",
"Whitelist": "ホワイトリスト",
"Set Time": "セット時間",
"Disable": "Disable",
"Set Time": "時間を設定する",
"Disable": "無効",
"BACK": "BACK",
"ALARM": "ALARM",
"Timer": "タイマー",
"Error in settings": "設定のエラー",
"Factory Reset": "ファクトリーリセット",
"Sleep": "睡眠",
"Connected": "コネクテッド",
"Connected": "直接接続した",
"Messages": "メッセージ",
"Hide": "隠す",
"Show": "ショー",
"Show": "表す",
"On": "オン",
"Ok": "OK",
"No": "いいえ",
"Settings": "設定",
"steps": "ステップ",
"steps": "歩数",
"back": "バック",
"Steps": "ステップ",
"Steps": "歩数",
"Year": "年",
"Yes": "はい",
"Loading": "ローディング",
"Yes": "はい",
"Loading": "読み込み中",
"Music": "音楽",
"color": "カラー",
"off": "オフ",

Some files were not shown because too many files have changed in this diff Show More