Compare commits

...

90 Commits

Author SHA1 Message Date
e834ae0656 0.5.14 2016-10-14 08:04:04 -07:00
175923fcb9 updated logos 2016-10-14 08:00:34 -07:00
42ebdde3df 0.5.13 2016-10-14 07:48:36 -07:00
20c63359af hiding microsoft logo 2016-10-14 07:48:23 -07:00
841f3dc7d6 0.5.12 2016-10-14 07:35:12 -07:00
f7377f6a21 Bump pxt-core to 0.4.57 2016-10-14 07:35:09 -07:00
1104ab5b33 updated logos 2016-10-14 07:21:50 -07:00
e2fe660012 towards pin placement 2016-10-14 06:46:56 -07:00
7d4b800637 identifying and naming pins 2016-10-13 23:53:24 -07:00
746728759d setting default locale to German 2016-10-13 10:21:56 -07:00
3d3b9e2718 Bump pxt-core to 0.4.56 2016-10-13 10:06:10 -07:00
0459cd693d 0.5.11 2016-10-13 16:58:33 +02:00
9c43714126 fix dependency 2016-10-13 16:58:14 +02:00
9bf7459628 0.5.10 2016-10-13 16:30:38 +02:00
b52432e103 update dependency 2016-10-13 16:26:30 +02:00
3ac0a060dd added pin mapping 2016-10-13 11:16:10 +02:00
85ebbb28e3 0.5.9 2016-10-12 23:52:47 -07:00
f69db3faf7 Bump pxt-core to 0.4.55 2016-10-12 23:52:45 -07:00
4fc514e643 updated screen rendering 2016-10-12 23:40:33 -07:00
7c2512e56b fixing thermometer 2016-10-12 23:30:19 -07:00
d9eebf4a9f support for light level / thermometer simulation 2016-10-12 23:14:38 -07:00
8af383ec56 updated svg layout 2016-10-12 22:44:05 -07:00
573d7aff40 add svg with pins and connectors id-ed 2016-10-12 23:07:55 +02:00
f73274803c 0.5.8 2016-10-12 18:57:05 +02:00
63556ef14a update dependency 2016-10-12 18:56:51 +02:00
9607183587 0.5.7 2016-10-12 18:02:23 +02:00
4cca961e52 latest version with RGB led support 2016-10-12 18:02:16 +02:00
c2a1668d55 Merge remote-tracking branch 'origin/master' 2016-10-12 17:54:39 +02:00
7102eddc0b add color handling for LED 2016-10-12 17:54:25 +02:00
b34884fe00 updated readme 2016-10-12 08:13:15 -07:00
e768a4dc97 updated links 2016-10-12 08:11:05 -07:00
8b1b1bb869 0.5.6 2016-10-12 04:50:08 -07:00
57deb1749f Bump pxt-core to 0.4.54 2016-10-12 04:50:06 -07:00
fb82b94f69 0.5.5 2016-10-12 04:03:19 -07:00
d321170da9 Bump pxt-core to 0.4.53 2016-10-12 04:03:17 -07:00
dff4f3adb3 basic motor block support 2016-10-11 22:58:53 -07:00
5d8a1b69f6 0.5.4 2016-10-11 19:42:10 -07:00
0b0c2c9466 merged latest pxt 2016-10-11 19:41:59 -07:00
895a099ebf 0.4.44 2016-10-11 19:36:36 -07:00
f7ed06108d Inputorg (#275)
* use typescript from workspace

* fixed tracking in localhost

* updated ordering of input/radio
2016-10-11 19:36:00 -07:00
0ffccdca85 Bump pxt-core to 0.4.52 2016-10-11 17:51:09 -07:00
9f5ebdfb78 Adding advanced attribute to blocks and categories (#273) 2016-10-11 13:48:25 -07:00
9319f10430 0.5.3 2016-10-11 11:43:38 -07:00
c4787e1028 support for rgb led in simulator 2016-10-11 11:41:51 -07:00
cb280af783 fix json in libs/hello 2016-10-11 10:13:30 -07:00
6e64e80c05 Revert "re-enabling sharing after bug has been fixed"
This reverts commit dde16fec14.
2016-10-11 09:37:53 -07:00
4201cb3070 0.5.2 2016-10-11 09:34:26 -07:00
dde16fec14 re-enabling sharing after bug has been fixed 2016-10-11 09:29:44 -07:00
ec7bade8f4 missed file in previous move 2016-10-11 09:21:24 -07:00
d738d8bbf5 0.5.1 2016-10-11 09:14:47 -07:00
a8b1e0bc04 bumping version number 2016-10-11 09:14:32 -07:00
114b7958bc 0.4.32 2016-10-11 09:13:05 -07:00
f45ae5950c 0.4.31 2016-10-11 09:09:25 -07:00
4cdfaf06c0 0.4.30 2016-10-11 09:08:41 -07:00
d48404eb37 integrated pxt-microbit 2016-10-11 09:08:31 -07:00
f4ac599ec2 Bump pxt-core to 0.4.51 2016-10-11 09:05:10 -07:00
a783cdda92 0.4.29 2016-10-11 13:33:35 +02:00
5900c8c9f5 update dependency 2016-10-11 13:32:42 +02:00
3911c6522d integrate pxt-microbit changes 2016-10-10 14:43:33 -07:00
00cdb6f9f5 0.4.28 2016-10-10 13:35:54 -07:00
df14445320 updated travis file 2016-10-10 13:34:24 -07:00
553b692a9a 0.4.27 2016-10-10 13:19:17 -07:00
7f2fd0dd09 positioning systemled 2016-10-10 13:16:39 -07:00
ae6917c7b3 0.4.26 2016-10-10 13:03:20 -07:00
5c1d9a342b updated to core v0.5.4 2016-10-10 13:03:08 -07:00
d41724d239 0.4.25 2016-10-10 12:58:42 -07:00
d6a006d18f Bump pxt-core to 0.4.48 2016-10-10 11:25:24 -07:00
cace68acf4 updated hello sample 2016-10-10 11:20:25 -07:00
68ef7c2fc2 fix initialization of Accelerometer (delayed in uBit.init()), enable DAL debugging 2016-10-08 15:15:01 +02:00
4c502f0825 bump pxt-calliope-core dependency 2016-10-08 12:23:29 +02:00
a2f1cef9ae Merge branch 'master' of github.com:Microsoft/pxt-calliope 2016-10-07 11:39:31 -07:00
e857a94e04 0.4.24 2016-10-07 18:48:34 +02:00
42a93a1682 updated accent color 2016-10-03 18:54:07 -07:00
e983c76e2f Remove unneeded tests 2016-10-03 11:15:49 -07:00
ced4565d5c 0.4.23 2016-10-01 15:52:41 -07:00
2475058b94 0.4.22 2016-10-01 15:45:43 -07:00
c6ee0db81c Bump pxt-core to 0.4.39 2016-10-01 15:45:41 -07:00
1b96e6332a 0.4.21 2016-10-01 21:02:36 +02:00
1ceec1d3b4 0.4.20 2016-10-01 20:59:44 +02:00
2e9ddb48df 0.4.19 2016-10-01 20:58:45 +02:00
2296220ad7 updated logos 2016-09-29 16:23:37 -07:00
22864bd26a pointing to cloud compile service 2016-09-29 16:13:33 -07:00
574a9e01d5 updating pinmap 2016-09-29 15:25:57 -07:00
00278036a4 fixing pin mapping 2016-09-29 15:20:45 -07:00
4b583e221b limited support for RGB led 2016-09-27 13:35:48 -07:00
c88645d0cd support for AB / Shake buttons 2016-09-27 11:00:21 -07:00
14e8eabd25 updated simulator ratio, domain names 2016-09-27 09:35:52 -07:00
5fab789763 merging microbit 2016-09-26 22:00:04 -07:00
33eca3c507 tweaked colors 2016-09-26 15:10:37 -07:00
9ccfcf19d9 initial round of visual updates 2016-09-26 15:05:06 -07:00
50 changed files with 4210 additions and 1061 deletions

View File

@ -3,17 +3,12 @@ node_js:
- "5.7.0"
script:
- "node node_modules/pxt-core/built/pxt.js travis"
- "(cd libs/lang-test0; node ../../node_modules/pxt-core/built/pxt.js run)"
- "(cd libs/lang-test1; node ../../node_modules/pxt-core/built/pxt.js run)"
- "(cd libs/lang-test0; node ../../node_modules/pxt-core/built/pxt.js test)"
- "(cd libs/lang-test1; node ../../node_modules/pxt-core/built/pxt.js test)"
- "node node_modules/pxt-core/built/pxt.js testdir tests"
- "node node_modules/pxt-core/built/pxt.js uploaddoc"
- "(cd libs/hello; node ../../node_modules/pxt-core/built/pxt.js testconv https://az851932.vo.msecnd.net/files/td-converter-tests-v1.json)"
sudo: false
notifications:
email:
- touchdevelop-build@microsoft.com
- kindscript@microsoft.com
cache:
directories:
- node_modules

View File

@ -16,5 +16,6 @@
"**/pxt_modules/**": true
},
"tslint.enable": true,
"tslint.rulesDirectory": "node_modules/tslint-microsoft-contrib"
"tslint.rulesDirectory": "node_modules/tslint-microsoft-contrib",
"typescript.tsdk": "./node_modules/typescript/lib"
}

View File

@ -1,11 +1,11 @@
# micro:bit target for PXT
# Calliope target for PXT
This target allow to program a [BBC micro:bit](https://www.microbit.co.uk/) using
This target allow to program a [Calliope](http://calliope.cc/) using
PXT ([Microsoft Programming Experience Toolkit](https://github.com/Microsoft/pxt)).
* [Try it live](https://codethemicrobit.com)
[![Build Status](https://travis-ci.org/Microsoft/pxt-calliope.svg?branch=master)](https://travis-ci.org/Microsoft/pxt-calliope)
[![Build Status](https://travis-ci.org/Microsoft/pxt-microbit.svg?branch=master)](https://travis-ci.org/Microsoft/pxt-microbit)
![](http://calliope.cc/content/1-ueber-mini/mini_board.png)
## Local server
@ -18,8 +18,8 @@ The following commands are a 1-time setup after synching the repo on your machin
* if not yet installed, install [Node.js 4.4.5 or higher](https://nodejs.org/en/download/)
* [clone this repo](https://help.github.com/articles/cloning-a-repository/) to your computer and go in the project folder
```
git clone https://github.com/microsoft/pxt-microbit
cd pxt-microbit
git clone https://github.com/microsoft/pxt-calliope
cd pxt-calliope
```
* install the PXT command line (add ``sudo`` for Mac/Linux shells).
```
@ -32,14 +32,15 @@ npm install
### Running
Run this command to open a local web server (add ``sudo`` for Mac/Linux shells)
Run this command to open a local web server (add ``sudo`` for Mac/Linux shells).
```
pxt serve
```
If the local server opens in the wrong browser, make sure to copy the URL containing the local token.
Otherwise, the editor will not be able to load the projects.
If you need modify the `.cpp` files, turn on yotta compilation with the ``-yt`` flag (add ``sudo`` for Mac/Linux shells):
If you need modify the `.cpp` files, turn on yotta compilation with the ``-yt`` flag (add ``sudo`` for Mac/Linux shells). On Windows, you must be running
from the ``Run Yotta`` command prompt.
```
pxt serve -yt
```
@ -53,11 +54,6 @@ pxt update
More instructions at https://github.com/Microsoft/pxt#running-a-target-from-localhost
### Building
* Install Visual Studio 2015 Update 2 or higher. Make sure the Windows 10 templates are installed.
* open the ``win10/app.sln`` solution and launch the ``codethemicrobit`` project.
## Testing
The build automatically runs the following:
@ -66,7 +62,6 @@ The build automatically runs the following:
* `pxt run` in `libs/lang-test*` - this will run the test in command line runner;
there is a number of asserts in both of these
* `pxt testdir` in `tests` - this makes sure all the files compile and generates .hex files
* run the TD->TS converter on a number of test scripts from `microbit.co.uk` and make sure the results compile
To test something on the device:

View File

@ -2,5 +2,5 @@
(function(e,b){if(!b.__SV){var a,f,i,g;window.mixpanel=b;b._i=[];b.init=function(a,e,d){function f(b,h){var a=h.split(".");2==a.length&&(b=b[a[0]],h=a[1]);b[h]=function(){b.push([h].concat(Array.prototype.slice.call(arguments,0)))}}var c=b;"undefined"!==typeof d?c=b[d]=[]:d="mixpanel";c.people=c.people||[];c.toString=function(b){var a="mixpanel";"mixpanel"!==d&&(a+="."+d);b||(a+=" (stub)");return a};c.people.toString=function(){return c.toString(1)+".people (stub)"};i="disable time_event track track_pageview track_links track_forms register register_once alias unregister identify name_tag set_config reset people.set people.set_once people.increment people.append people.union people.track_charge people.clear_charges people.delete_user".split(" ");
for(g=0;g<i.length;g++)f(c,i[g]);b._i.push([a,e,d])};b.__SV=1.2;a=e.createElement("script");a.type="text/javascript";a.async=!0;a.src="undefined"!==typeof MIXPANEL_CUSTOM_LIB_URL?MIXPANEL_CUSTOM_LIB_URL:"file:"===e.location.protocol&&"//cdn.mxpnl.com/libs/mixpanel-2-latest.min.js".match(/^\/\//)?"https://cdn.mxpnl.com/libs/mixpanel-2-latest.min.js":"//cdn.mxpnl.com/libs/mixpanel-2-latest.min.js";f=e.getElementsByTagName("script")[0];f.parentNode.insertBefore(a,f)}})(document,window.mixpanel||[]);
mixpanel.init("762fef19c053a0ea4cec43d2fecae76e", { disable_persistence: true });
if (pxtConfig) mixpanel.register({ target: pxtConfig.targetId, version: pxtConfig.targetVersion });
if (typeof pxtConfig !== "undefined") mixpanel.register({ target: pxtConfig.targetId, version: pxtConfig.targetVersion });
</script>

View File

@ -2,5 +2,5 @@
(function(e,b){if(!b.__SV){var a,f,i,g;window.mixpanel=b;b._i=[];b.init=function(a,e,d){function f(b,h){var a=h.split(".");2==a.length&&(b=b[a[0]],h=a[1]);b[h]=function(){b.push([h].concat(Array.prototype.slice.call(arguments,0)))}}var c=b;"undefined"!==typeof d?c=b[d]=[]:d="mixpanel";c.people=c.people||[];c.toString=function(b){var a="mixpanel";"mixpanel"!==d&&(a+="."+d);b||(a+=" (stub)");return a};c.people.toString=function(){return c.toString(1)+".people (stub)"};i="disable time_event track track_pageview track_links track_forms register register_once alias unregister identify name_tag set_config reset people.set people.set_once people.increment people.append people.union people.track_charge people.clear_charges people.delete_user".split(" ");
for(g=0;g<i.length;g++)f(c,i[g]);b._i.push([a,e,d])};b.__SV=1.2;a=e.createElement("script");a.type="text/javascript";a.async=!0;a.src="undefined"!==typeof MIXPANEL_CUSTOM_LIB_URL?MIXPANEL_CUSTOM_LIB_URL:"file:"===e.location.protocol&&"//cdn.mxpnl.com/libs/mixpanel-2-latest.min.js".match(/^\/\//)?"https://cdn.mxpnl.com/libs/mixpanel-2-latest.min.js":"//cdn.mxpnl.com/libs/mixpanel-2-latest.min.js";f=e.getElementsByTagName("script")[0];f.parentNode.insertBefore(a,f)}})(document,window.mixpanel||[]);
mixpanel.init("762fef19c053a0ea4cec43d2fecae76e", { disable_persistence: true });
if (pxtConfig) mixpanel.register({ target: pxtConfig.targetId, version: pxtConfig.targetVersion });
if (typeof pxtConfig !== "undefined") mixpanel.register({ target: pxtConfig.targetId, version: pxtConfig.targetVersion });
</script>

View File

@ -10,6 +10,10 @@ input.onButtonPressed(Button.A, () => {
music.playTone(0, 0);
led.plot(0, 0);
radio.sendNumber(0);
```
## Advanced
```namespaces
game.addScore(1);
images.createImage(`
. . . . .
@ -24,7 +28,8 @@ control.inBackground(() => {
});
```
## Advanced
## Bluetooth
```namespaces
devices.tellCameraTo(MesCameraEvent.TakePhoto);

125
docs/static/Calliopeminieditor.svg vendored Normal file
View File

@ -0,0 +1,125 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
id="calliope"
x="0px"
y="0px"
viewBox="0 0 179.9 32.4"
enable-background="new 0 0 179.9 32.4"
xml:space="preserve"
inkscape:version="0.91 r13725"
sodipodi:docname="Calliopeminieditor.svg"><metadata
id="metadata65"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
id="defs63" /><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1536"
inkscape:window-height="801"
id="namedview61"
showgrid="false"
inkscape:zoom="1.6008894"
inkscape:cx="89.949997"
inkscape:cy="16.200001"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="calliope" /><g
id="g3"><g
id="g5"><path
fill="#495260"
d="M33.1,11.2h-8.5V5.8c0-2.3,1.9-4.2,4.2-4.2h0c2.3,0,4.2,1.9,4.2,4.2V11.2z"
id="path7" /><rect
x="25.8"
y="3.6"
fill="#7F96A1"
width="6.2"
height="7.6"
id="rect9" /><path
fill="#845B32"
d="M12.2,7.2c0,0.8,0,10.8,0,10.8h12.5c0,0,0-10.1,0-10.8c0-3.4-2.8-6.2-6.2-6.2S12.2,3.8,12.2,7.2z"
id="path11" /><path
fill="#26A7AA"
d="M28.9,31.4H8.7c-6.3,0-9-8-4-11.8L16,11.2h17.1v16C33.1,29.5,31.2,31.4,28.9,31.4z"
id="path13" /><polygon
fill="#43C9C9"
points="15.2,17.7 6.4,18.4 17.1,10.4 "
id="polygon15" /><polygon
fill="#F6F4E7"
points="14.8,15.1 17.1,10.4 18.6,15.1 "
id="polygon17" /><polygon
fill="#F6F4E7"
points="18.6,15.1 20,10.4 22.3,15.1 "
id="polygon19" /><polygon
fill="#BDD1CF"
points="21.9,17.7 15.2,17.7 14.8,15.1 22.3,15.1 "
id="polygon21" /><path
fill="#F6F4E7"
d="M26.8,31.4c-0.6-4.6-1.9-10.2-4.8-13.7h0v0h-3.4h-3.4v0h0c-3,3.5-4.2,9.1-4.8,13.7H26.8z"
id="path23" /><path
fill="#FFCD9A"
d="M18.6,10.5L18.6,10.5c-1.4,0-2.6-1.2-2.6-2.6V5h5.1v2.9C21.1,9.4,20,10.5,18.6,10.5z"
id="path25" /><path
fill="#BDD1CF"
d="M15.4,31.4l0-13.7c2.2,5.1,4.9,11.3,8.2,13.7H15.4z"
id="path27" /><polygon
fill="#FFCD9A"
points="17.1,10.4 18.6,15.1 20,10.4 "
id="polygon29" /><polygon
fill="#43C9C9"
points="25.8,11.2 33.1,11.2 33.1,20.6 "
id="polygon31" /></g><g
id="g33"><g
id="g35"><path
fill="#BCD1CF"
d="M52.3,15.1h-1.6l-0.2-1.4c-0.2-0.2-0.5-0.4-0.8-0.5S49,13,48.5,13c-0.9,0-1.7,0.3-2.2,1s-0.8,1.6-0.8,2.7 v0.4c0,1.1,0.3,2,0.8,2.7c0.5,0.7,1.2,1,2.1,1c0.4,0,0.8-0.1,1.2-0.2c0.4-0.1,0.6-0.3,0.8-0.5l0.2-1.4h1.6v2.1 c-0.4,0.5-1,0.9-1.7,1.2c-0.7,0.3-1.4,0.5-2.3,0.5c-1.5,0-2.6-0.5-3.6-1.5s-1.4-2.3-1.4-3.9v-0.4c0-1.6,0.5-2.9,1.4-3.9 s2.1-1.5,3.6-1.5c0.8,0,1.6,0.2,2.3,0.5c0.7,0.3,1.2,0.7,1.7,1.2V15.1z"
id="path37" /><path
fill="#BCD1CF"
d="M53.8,21l0.8-0.1l3.3-9.4h2.2l3.3,9.4l0.8,0.1v1.3h-3.7V21l0.8-0.1l-0.5-1.5h-3.5l-0.5,1.5l0.8,0.1v1.3 h-3.7V21z M57.7,17.8h2.5L59,14h0L57.7,17.8z"
id="path39" /><path
fill="#BCD1CF"
d="M65.5,22.3V21l1.2-0.2V13l-1.2-0.2v-1.3h1.2h2.2H70v1.3L68.8,13v7.6h3.1l0.1-1.4h1.7v3H65.5z"
id="path41" /><path
fill="#BCD1CF"
d="M75,22.3V21l1.2-0.2V13L75,12.8v-1.3h1.2h2.2h1.2v1.3L78.3,13v7.6h3.1l0.1-1.4h1.7v3H75z"
id="path43" /><path
fill="#BCD1CF"
d="M84.5,12.8v-1.3H89v1.3L87.9,13v7.8L89,21v1.3h-4.5V21l1.2-0.2V13L84.5,12.8z"
id="path45" /><path
fill="#BCD1CF"
d="M100.4,17c0,1.6-0.5,2.9-1.4,3.9c-0.9,1-2.1,1.6-3.6,1.6c-1.5,0-2.6-0.5-3.5-1.6s-1.4-2.3-1.4-3.9v-0.2 c0-1.6,0.4-2.9,1.3-3.9s2.1-1.6,3.5-1.6c1.5,0,2.7,0.5,3.6,1.6s1.4,2.4,1.4,3.9V17z M98.2,16.8c0-1.1-0.2-2-0.7-2.7s-1.2-1-2.1-1 s-1.6,0.3-2,1s-0.7,1.6-0.7,2.7V17c0,1.1,0.2,2.1,0.7,2.8c0.5,0.7,1.1,1,2,1c0.9,0,1.6-0.3,2.1-1c0.5-0.7,0.7-1.6,0.7-2.8V16.8z"
id="path47" /><path
fill="#BCD1CF"
d="M107,11.5c1.2,0,2.2,0.3,2.9,1s1.1,1.5,1.1,2.5c0,1-0.4,1.9-1.1,2.5c-0.7,0.6-1.7,0.9-2.9,0.9h-1.8v2.4 l1.2,0.2v1.3h-4.5V21l1.2-0.2V13l-1.2-0.2v-1.3h1.2H107z M105.2,16.7h1.8c0.6,0,1.1-0.2,1.4-0.5s0.5-0.8,0.5-1.3 c0-0.5-0.2-1-0.5-1.3c-0.3-0.3-0.8-0.5-1.4-0.5h-1.8V16.7z"
id="path49" /><path
fill="#BCD1CF"
d="M119.3,17.6h-3.7v3.1h3.5l0.1-1.3h1.7v3h-8.6V21l1.2-0.2V13l-1.2-0.2v-1.3h1.2h7.4v3h-1.7l-0.1-1.3h-3.5 v2.7h3.7V17.6z"
id="path51" /><path
fill="#FFFFFF"
d="M134.3,11.6l0.1,1.1c0.2-0.4,0.5-0.7,0.9-1c0.4-0.2,0.8-0.4,1.3-0.4c0.5,0,0.8,0.1,1.1,0.3 c0.3,0.2,0.5,0.5,0.7,0.8c0.2-0.3,0.5-0.6,0.8-0.8c0.3-0.2,0.7-0.3,1.2-0.3c0.4,0,0.7,0.1,1,0.2c0.3,0.1,0.5,0.3,0.8,0.6 c0.2,0.3,0.4,0.6,0.5,1c0.1,0.4,0.2,0.9,0.2,1.4v7.8h-2.2v-7.9c0-0.4-0.1-0.7-0.3-0.9c-0.2-0.2-0.4-0.2-0.7-0.2 c-0.3,0-0.5,0.1-0.6,0.2s-0.3,0.3-0.3,0.5v8.3h-2.2v-7.9c0-0.4-0.1-0.7-0.3-0.9c-0.2-0.2-0.4-0.3-0.7-0.3c-0.3,0-0.5,0.1-0.7,0.2 c-0.2,0.1-0.3,0.3-0.4,0.5v8.3h-2.2V11.6H134.3z"
id="path53" /><path
fill="#FFFFFF"
d="M145.6,11.6h5.7v8.8h3.2v2h-8.9v-2h3.3v-6.8h-3.3V11.6z M148.7,8.8c0-0.4,0.1-0.7,0.4-0.9 c0.2-0.2,0.6-0.4,1-0.4c0.4,0,0.8,0.1,1,0.4c0.2,0.2,0.4,0.5,0.4,0.9c0,0.4-0.1,0.7-0.4,0.9c-0.2,0.2-0.6,0.4-1,0.4 c-0.4,0-0.8-0.1-1-0.4C148.9,9.5,148.7,9.2,148.7,8.8z"
id="path55" /><path
fill="#FFFFFF"
d="M159.4,11.6l0.1,1.5c0.4-0.5,0.9-1,1.4-1.2c0.6-0.3,1.2-0.4,1.8-0.4c0.5,0,1,0.1,1.5,0.2 c0.5,0.2,0.8,0.4,1.2,0.7c0.3,0.3,0.6,0.8,0.8,1.3c0.2,0.5,0.3,1.2,0.3,1.9v6.7h-2.4v-6.7c0-0.4-0.1-0.8-0.2-1.1 c-0.1-0.3-0.2-0.5-0.4-0.7c-0.2-0.2-0.4-0.3-0.7-0.4c-0.3-0.1-0.6-0.1-0.9-0.1c-0.5,0-1,0.1-1.4,0.3c-0.4,0.2-0.7,0.5-0.9,0.9 v7.7h-2.4V11.6H159.4z"
id="path57" /><path
fill="#FFFFFF"
d="M170,11.6h5.7v8.8h3.2v2H170v-2h3.3v-6.8H170V11.6z M173.1,8.8c0-0.4,0.1-0.7,0.4-0.9 c0.2-0.2,0.6-0.4,1-0.4c0.4,0,0.8,0.1,1,0.4c0.2,0.2,0.4,0.5,0.4,0.9c0,0.4-0.1,0.7-0.4,0.9c-0.2,0.2-0.6,0.4-1,0.4 c-0.4,0-0.8-0.1-1-0.4C173.2,9.5,173.1,9.2,173.1,8.8z"
id="path59" /></g></g></g></svg>

After

Width:  |  Height:  |  Size: 6.9 KiB

145
docs/static/Logo_Calliope_Woman.svg vendored Normal file
View File

@ -0,0 +1,145 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
id="Ebene_1"
x="0px"
y="0px"
viewBox="0 0 175.49999 172.4"
enable-background="new 0 0 841.9 595.3"
xml:space="preserve"
inkscape:version="0.91 r13725"
sodipodi:docname="Logo_Calliope_Woman.svg"
width="175.5"
height="172.39999"><metadata
id="metadata5011"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
id="defs5009" /><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1920"
inkscape:window-height="1137"
id="namedview5007"
showgrid="false"
inkscape:zoom="0.34208337"
inkscape:cx="420.95001"
inkscape:cy="297.64999"
inkscape:window-x="-8"
inkscape:window-y="156"
inkscape:window-maximized="1"
inkscape:current-layer="Ebene_1" /><g
id="g4955"
transform="translate(-260.90025,-204.1)"><g
id="g4957"><defs
id="defs4959"><rect
id="SVGID_7_"
x="193.10001"
y="204.10001"
width="318.29999"
height="256.29999" /></defs><clipPath
id="SVGID_1_"><use
xlink:href="#SVGID_7_"
overflow="visible"
id="use4963"
style="overflow:visible"
x="0"
y="0"
width="100%"
height="100%" /></clipPath></g><g
id="g4965"><defs
id="defs4967"><rect
id="SVGID_9_"
x="193.10001"
y="204.10001"
width="318.29999"
height="256.29999" /></defs><clipPath
id="SVGID_2_"><use
xlink:href="#SVGID_9_"
overflow="visible"
id="use4971"
style="overflow:visible"
x="0"
y="0"
width="100%"
height="100%" /></clipPath></g><g
id="g4973"><defs
id="defs4975"><rect
id="SVGID_11_"
x="193.10001"
y="204.10001"
width="318.29999"
height="256.29999" /></defs><clipPath
id="SVGID_3_"><use
xlink:href="#SVGID_11_"
overflow="visible"
id="use4979"
style="overflow:visible"
x="0"
y="0"
width="100%"
height="100%" /></clipPath><path
clip-path="url(#SVGID_3_)"
d="m 436.4,262 -47.9,0 0,-46 c 0,-4.7 3.8,-8.4 8.4,-8.4 l 31,0 c 4.7,0 8.4,3.8 8.4,8.4 l 0,46 z"
id="path4981"
inkscape:connector-curvature="0"
style="fill:#4a5261" /></g><rect
x="394.79999"
y="218.7"
width="35.099998"
height="43.200001"
id="rect4983"
style="fill:#8096a1" /><path
d="m 317.6,239.5 0,61 71,0.2 c 0,0 0,-57.3 0,-61 0,-19.5 -16.1,-35.6 -35.6,-35.6 -19.6,0 -35.4,15.8 -35.4,35.4"
id="path4985"
inkscape:connector-curvature="0"
style="fill:#855c33" /><path
d="m 412.4,376.5 -114.2,0 c -35.6,0 -50.9,-45.2 -22.6,-66.8 l 63.8,-47.8 96.9,0 0,90.7 c 0.1,13.2 -10.6,23.9 -23.9,23.9"
id="path4987"
inkscape:connector-curvature="0"
style="fill:#26a6ab" /><polygon
points="345.7,257.3 334.8,298.8 285.1,302.5 "
id="polygon4989"
style="fill:#42c9c9" /><polygon
points="354,283.8 332.5,283.8 345.7,257.3 "
id="polygon4991"
style="fill:#f7f5e8" /><polygon
points="375.4,283.8 354,283.8 362.2,257.3 "
id="polygon4993"
style="fill:#f7f5e8" /><polygon
points="373.1,298.8 334.8,298.8 332.5,283.8 375.4,283.8 "
id="polygon4995"
style="fill:#bdd1cf" /><path
d="m 400.6,376.5 c -3.5,-26.2 -10.6,-58 -27.3,-77.7 l -0.2,0 -19,0 -19,0 -0.2,0 c -16.7,19.8 -23.8,51.5 -27.3,77.7 l 93,0 z"
id="path4997"
inkscape:connector-curvature="0"
style="fill:#f7f5e8" /><path
d="m 357,258 -6.1,0 c -6.4,0 -11.5,-5.2 -11.5,-11.5 l 0,-19.7 29.2,0 0,19.7 c -0.1,6.3 -5.3,11.5 -11.6,11.5"
id="path4999"
inkscape:connector-curvature="0"
style="fill:#ffcc99" /><path
d="m 335.8,376.5 0,-77.7 c 12.4,29.1 27.7,64.3 46.5,77.7 l -46.5,0 z"
id="path5001"
inkscape:connector-curvature="0"
style="fill:#bdd1cf" /><polygon
points="362.2,257.3 345.7,257.3 354,283.8 "
id="polygon5003"
style="fill:#ffcc99" /><polygon
points="436.4,315.3 394.8,262 436.4,262 "
id="polygon5005"
style="fill:#42c9c9" /></g></svg>

After

Width:  |  Height:  |  Size: 5.2 KiB

179
docs/static/Logo_Calliope_lang.svg vendored Normal file
View File

@ -0,0 +1,179 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
id="Ebene_1"
x="0px"
y="0px"
viewBox="0 0 525.21599 126.9"
enable-background="new 0 0 841.9 595.3"
xml:space="preserve"
inkscape:version="0.91 r13725"
sodipodi:docname="Logo_Calliope_lang.svg"
width="525.216"
height="126.9"><metadata
id="metadata75"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
id="defs73" /><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1536"
inkscape:window-height="801"
id="namedview71"
showgrid="false"
inkscape:zoom="0.34208337"
inkscape:cx="420.95001"
inkscape:cy="297.64999"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="Ebene_1" /><g
id="g8135"
transform="translate(-183.18441,126.89999)"><path
style="fill:#4a5261"
inkscape:connector-curvature="0"
id="path3"
d="m 406.9,-38.099997 0.2,0 5.6,17 -11.1,0.1 5.3,-17.1 z m -4.9,-11.1 -14.3,42.2000002 -3.5,0.5 0.1,5.79999996 16.5,-0.1 -0.1,-5.79999996 -3.4,-0.6 2.1,-6.7000002 15.7,-0.1 2.2,6.6000002 -3.3,0.6 0,5.79999996 16.5,-0.19999996 0,-5.8 -3.5,-0.5 -15,-41.9000002 -10,0.2 z" /><polygon
transform="translate(0,-330.99999)"
style="fill:#4a5261"
id="polygon5"
points="440.1,287.9 445.2,288.8 445.6,323.5 440.4,324.6 440.5,330.4 476.9,330.1 476.7,316.5 469.3,316.6 468.9,322.7 455.3,322.8 454.9,288.7 460.1,287.7 460.1,281.8 454.9,281.9 445.2,282 440,282 " /><polygon
transform="translate(0,-330.99999)"
style="fill:#4a5261"
id="polygon7"
points="486.8,287.9 491.9,288.8 492.2,323.5 487.1,324.6 487.2,330.4 523.6,330.1 523.4,316.5 516,316.6 515.6,322.7 501.9,322.8 501.6,288.7 506.8,287.7 506.8,281.8 501.6,281.9 491.9,282 486.7,282 " /><polygon
transform="translate(0,-330.99999)"
style="fill:#4a5261"
id="polygon9"
points="553.8,324.4 548.6,323.5 548.3,288.7 553.5,287.7 553.4,281.8 533.4,282 533.4,287.9 538.6,288.8 538.9,323.5 533.8,324.6 533.8,330.4 553.9,330.2 " /><polygon
transform="translate(0,-330.99999)"
style="fill:#4a5261"
id="polygon11"
points="708.1,294.9 707.9,281.7 674.9,282 669.7,282 669.8,287.9 674.9,288.8 675.2,323.5 670.1,324.6 670.2,330.4 708.4,330.1 708.3,316.8 700.9,316.9 700.6,322.7 684.9,322.8 684.8,309 701.2,308.8 701.1,301.4 684.7,301.5 684.6,289.4 700.1,289.2 700.6,295 " /><g
transform="translate(0,-330.99999)"
id="g13"><g
id="g15"><defs
id="defs17"><rect
height="188.7"
width="234.3"
y="204.10001"
x="133.2"
id="SVGID_7_" /></defs><clipPath
id="SVGID_1_"><use
height="100%"
width="100%"
y="0"
x="0"
style="overflow:visible"
id="use21"
overflow="visible"
xlink:href="#SVGID_7_" /></clipPath></g><g
id="g23"><defs
id="defs25"><rect
height="188.7"
width="234.3"
y="204.10001"
x="133.2"
id="SVGID_9_" /></defs><clipPath
id="SVGID_2_"><use
height="100%"
width="100%"
y="0"
x="0"
style="overflow:visible"
id="use29"
overflow="visible"
xlink:href="#SVGID_9_" /></clipPath></g><g
id="g31"><defs
id="defs33"><rect
height="188.7"
width="234.3"
y="204.10001"
x="133.2"
id="SVGID_11_" /></defs><clipPath
id="SVGID_3_"><use
height="100%"
width="100%"
y="0"
x="0"
style="overflow:visible"
id="use37"
overflow="visible"
xlink:href="#SVGID_11_" /></clipPath><path
style="fill:#4a5261"
inkscape:connector-curvature="0"
id="path39"
d="m 312.3,246.7 -35.3,0 0,-33.8 c 0,-3.4 2.8,-6.2 6.2,-6.2 l 22.9,0 c 3.4,0 6.2,2.8 6.2,6.2 l 0,33.8 z"
clip-path="url(#SVGID_3_)" /></g><rect
style="fill:#8096a1"
id="rect41"
height="31.799999"
width="25.799999"
y="214.8"
x="281.79999" /><path
style="fill:#855c33"
inkscape:connector-curvature="0"
id="path43"
d="m 224.9,230.1 0,44.9 52.3,0.2 c 0,0 0,-42.2 0,-44.9 0,-14.4 -11.8,-26.2 -26.2,-26.2 -14.4,0 -26.1,11.6 -26.1,26" /><path
style="fill:#26a6ab"
inkscape:connector-curvature="0"
id="path45"
d="m 294.7,331 -84.1,0 c -26.2,0 -37.4,-33.3 -16.6,-49.2 l 47,-35.2 71.3,0 0,66.8 c 0,9.8 -7.9,17.6 -17.6,17.6" /><polygon
style="fill:#42c9c9"
id="polygon47"
points="201,276.6 245.6,243.3 237.6,273.8 " /><polygon
style="fill:#f7f5e8"
id="polygon49"
points="245.6,243.3 251.7,262.7 235.9,262.7 " /><polygon
style="fill:#f7f5e8"
id="polygon51"
points="257.7,243.3 267.4,262.7 251.7,262.7 " /><polygon
style="fill:#bdd1cf"
id="polygon53"
points="267.4,262.7 265.7,273.8 237.6,273.8 235.9,262.7 " /><path
style="fill:#f7f5e8"
inkscape:connector-curvature="0"
id="path55"
d="m 286,331 c -2.6,-19.3 -7.8,-42.7 -20.1,-57.2 l -0.1,0 -14,0 -14,0 -0.1,0 c -12.3,14.5 -17.6,37.9 -20.1,57.2 l 68.4,0 z" /><path
style="fill:#ffcc99"
inkscape:connector-curvature="0"
id="path57"
d="m 253.9,243.8 -4.5,0 c -4.7,0 -8.5,-3.8 -8.5,-8.5 l 0,-14.5 21.5,0 0,14.5 c 0,4.7 -3.8,8.5 -8.5,8.5" /><path
style="fill:#bdd1cf"
inkscape:connector-curvature="0"
id="path59"
d="m 238.3,331 0,-57.2 c 9.1,21.4 20.4,47.3 34.2,57.2 l -34.2,0 z" /><polygon
style="fill:#ffcc99"
id="polygon61"
points="251.7,262.7 257.7,243.3 245.6,243.3 " /><polygon
style="fill:#42c9c9"
id="polygon63"
points="312.3,246.7 312.3,285.9 281.8,246.7 " /></g><path
style="fill:#4a5261"
inkscape:connector-curvature="0"
id="path65"
d="m 373.2,-33.499997 -7.2,0.1 -1.1,-6.4 c -1,-0.9 -2.2,-1.7 -3.6,-2.2 -1.5,-0.5 -3.2,-0.8 -5.1,-0.8 -4.2,0 -7.4,1.6 -9.7,4.7 -2.2,3.1 -3.3,7.1 -3.3,12 l 0,1.7 c 0,4.9 1.2,8.9 3.5,12 2.3,3.1000002 5.5,4.6000002 9.6,4.5000002 1.9,0 3.7,-0.3 5.2,-0.9 1.6,-0.6 2.8,-1.3000002 3.7,-2.3000002 l 0.9,-6.5 7.2,-0.1 0.1,9.6000002 c -1.9,2.3 -4.4,4.1 -7.4,5.5 -3,1.4 -6.4,2.09999996 -10.1,2.09999996 -6.5,0.1 -11.8,-2.09999996 -16,-6.59999996 -4.2,-4.5000002 -6.3,-10.2000002 -6.4,-17.3000002 l 0,-1.6 c -0.1,-7 1.9,-12.8 6,-17.4 4.1,-4.6 9.4,-6.9 15.9,-6.9 3.7,0 7.1,0.6 10.2,2 3,1.3 5.5,3.1 7.5,5.3 l 0.1,9.5 z" /><path
style="fill:#4a5261"
inkscape:connector-curvature="0"
id="path67"
d="m 598.7,-25.999997 c 0,-5 -1.1,-9.1 -3.2,-12.2 -2.1,-3.1 -5.2,-4.6 -9.3,-4.6 -4.1,0 -7.1,1.6 -9.1,4.7 -2,3.1 -2.9,7.2 -2.9,12.3 l 0,0.8 c 0,5.1 1.1,9.2 3.2,12.3 2.1,3.1000002 5.1,4.6000002 9.2,4.6000002 4.1,0 7.2,-1.6 9.2,-4.8000002 2,-3.1 3,-7.2 3,-12.3 l -0.1,-0.8 z m 9.7,0.7 c 0.1,7.1 -1.9,13 -5.9,17.6000002 -4,4.7 -9.3,6.99999996 -15.9,7.09999996 -6.5,0.1 -11.8,-2.19999996 -15.9,-6.79999996 -4.1,-4.6000002 -6.1,-10.4000002 -6.2,-17.5000002 l 0,-0.7 c -0.1,-7 1.9,-12.9 5.9,-17.6 4,-4.7 9.2,-7.1 15.8,-7.1 6.6,-0.1 11.9,2.2 16,6.8 4.1,4.6 6.2,10.4 6.3,17.5 l -0.1,0.7 z" /><path
style="fill:#4a5261"
inkscape:connector-curvature="0"
id="path69"
d="m 633.9,-25.799997 8.2,-0.1 c 2.7,0 4.7,-0.8 6.1,-2.3 1.4,-1.5 2,-3.4 2,-5.7 0,-2.3 -0.7,-4.2 -2.1,-5.7 -1.4,-1.5 -3.5,-2.2 -6.2,-2.2 l -8.2,0.1 0.2,15.9 z m 8,-23.4 c 5.5,0 9.9,1.3 13.2,4.1 3.2,2.8 4.9,6.5 4.9,11.1 0,4.6 -1.5,8.4 -4.7,11.2 -3.2,2.8 -7.5,4.3 -13.1,4.3 l -8.2,0.1 0.1,10.7000002 5.2,0.9 0,5.79999996 -20,0.2 -0.1,-5.79999996 5.1,-1 -0.3,-34.7000002 -5.2,-1 -0.1,-5.9 5.2,0 18,0 z" /></g></svg>

After

Width:  |  Height:  |  Size: 8.7 KiB

228
docs/static/Logo_Calliope_norm.svg vendored Normal file
View File

@ -0,0 +1,228 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
id="Ebene_1"
x="0px"
y="0px"
viewBox="0 0 234.4 188.6"
enable-background="new 0 0 595.3 841.9"
xml:space="preserve"
inkscape:version="0.91 r13725"
sodipodi:docname="Logo_Calliope_norm.svg"
width="234.39999"
height="188.60001"><metadata
id="metadata89"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
id="defs87" /><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1920"
inkscape:window-height="1137"
id="namedview85"
showgrid="false"
inkscape:zoom="3.1714397"
inkscape:cx="73.725892"
inkscape:cy="132.25623"
inkscape:window-x="-8"
inkscape:window-y="156"
inkscape:window-maximized="1"
inkscape:current-layer="Ebene_1" /><g
id="g4307"
transform="translate(0.15971695,653.11241)"><g
transform="translate(-180.35972,-805.91209)"
id="g3"><defs
id="defs5"><rect
height="188.7"
width="234.3"
y="152.7"
x="180.2"
id="SVGID_1_" /></defs><clipPath
id="SVGID_2_"><use
height="100%"
width="100%"
y="0"
x="0"
style="overflow:visible"
id="use9"
overflow="visible"
xlink:href="#SVGID_1_" /></clipPath><path
style="fill:#4a5261"
inkscape:connector-curvature="0"
id="path11"
d="m 205,320.8 -4.5,0 -0.7,-4 c -0.6,-0.6 -1.4,-1.1 -2.3,-1.4 -0.9,-0.3 -2,-0.5 -3.2,-0.5 -2.6,0 -4.6,1 -6.1,2.9 -1.4,1.9 -2.1,4.4 -2.1,7.5 l 0,1.1 c 0,3.1 0.8,5.6 2.2,7.5 1.4,1.9 3.4,2.9 6,2.8 1.2,0 2.3,-0.2 3.3,-0.5 1,-0.4 1.7,-0.8 2.3,-1.4 l 0.6,-4 4.5,0 0.1,6 c -1.2,1.4 -2.7,2.6 -4.6,3.4 -1.9,0.8 -4,1.3 -6.3,1.3 -4.1,0 -7.4,-1.3 -10,-4.1 -2.6,-2.8 -3.9,-6.4 -4,-10.8 l 0,-1 c 0,-4.4 1.2,-8 3.8,-10.9 2.6,-2.8 5.9,-4.3 10,-4.3 2.3,0 4.5,0.4 6.3,1.2 1.9,0.8 3.5,1.9 4.7,3.3 l 0,5.9 z"
clip-path="url(#SVGID_2_)" /></g><path
style="fill:#4a5261"
inkscape:connector-curvature="0"
id="path13"
d="m 45.740275,-488.51209 0.1,0 3.5,10.6 -6.9,0.1 3.3,-10.7 z m -3.1,-6.9 -9,26.4 -2.2,0.3 0,3.6 10.3,-0.1 0,-3.6 -2.1,-0.4 1.3,-4.2 9.8,-0.1 1.4,4.1 -2.1,0.4 0,3.6 10.3,-0.1 0,-3.6 -2.2,-0.3 -9.4,-26.2 -6.1,0.2 z" /><polygon
style="fill:#4a5261"
transform="translate(-180.35972,-805.91209)"
id="polygon15"
points="256.3,335.8 256.1,314.4 259.4,313.8 259.3,310.1 256.1,310.2 250,310.2 246.8,310.3 246.8,313.9 250.1,314.5 250.3,336.2 247,336.9 247.1,340.5 269.8,340.3 269.7,331.8 265.1,331.9 264.9,335.7 " /><polygon
style="fill:#4a5261"
transform="translate(-180.35972,-805.91209)"
id="polygon17"
points="285.5,335.5 285.3,314.2 288.5,313.5 288.5,309.9 285.3,309.9 279.2,310 276,310 276,313.6 279.2,314.2 279.4,335.9 276.2,336.6 276.3,340.2 299,340 298.9,331.6 294.3,331.6 294,335.4 " /><polygon
style="fill:#4a5261"
transform="translate(-180.35972,-805.91209)"
id="polygon19"
points="305.1,309.7 305.2,313.4 308.4,314 308.6,335.7 305.4,336.3 305.4,340 317.9,339.9 317.9,336.2 314.7,335.6 314.5,313.9 317.7,313.3 317.7,309.6 " /><g
transform="translate(-180.35972,-805.91209)"
id="g21"><defs
id="defs23"><rect
height="188.7"
width="234.3"
y="152.7"
x="180.2"
id="SVGID_3_" /></defs><clipPath
id="SVGID_4_"><use
height="100%"
width="100%"
y="0"
x="0"
style="overflow:visible"
id="use27"
overflow="visible"
xlink:href="#SVGID_3_" /></clipPath><path
style="fill:#4a5261"
inkscape:connector-curvature="0"
id="path29"
d="m 346,324.2 c 0,-3.1 -0.7,-5.7 -2,-7.6 -1.3,-1.9 -3.3,-2.9 -5.8,-2.9 -2.6,0 -4.4,1 -5.7,3 -1.2,2 -1.8,4.5 -1.8,7.7 l 0,0.5 c 0,3.2 0.7,5.7 2,7.7 1.3,1.9 3.2,2.9 5.7,2.9 2.6,0 4.5,-1 5.7,-3 1.3,-2 1.9,-4.5 1.9,-7.7 l 0,-0.6 z m 6,0.4 c 0,4.4 -1.2,8.1 -3.7,11 -2.5,2.9 -5.8,4.4 -9.9,4.4 -4.1,0 -7.4,-1.4 -9.9,-4.3 -2.5,-2.9 -3.8,-6.5 -3.9,-11 l 0,-0.5 c 0,-4.4 1.2,-8.1 3.7,-11 2.5,-2.9 5.8,-4.4 9.8,-4.5 4.1,0 7.4,1.4 10,4.3 2.6,2.9 3.9,6.5 3.9,10.9 l 0,0.7 z"
clip-path="url(#SVGID_4_)" /><path
style="fill:#4a5261"
inkscape:connector-curvature="0"
id="path31"
d="m 368,323.8 5.1,0 c 1.7,0 3,-0.5 3.8,-1.4 0.9,-0.9 1.3,-2.1 1.3,-3.5 0,-1.5 -0.5,-2.7 -1.3,-3.6 -0.9,-0.9 -2.2,-1.4 -3.8,-1.4 l -5.1,0 0,9.9 z m 5,-14.7 c 3.5,0 6.2,0.8 8.2,2.6 2,1.8 3,4.1 3.1,7 0,2.9 -1,5.2 -2.9,7 -2,1.8 -4.7,2.7 -8.2,2.7 l -5.1,0 0.1,6.7 3.2,0.6 0,3.6 -12.5,0.1 0,-3.6 3.2,-0.7 -0.2,-21.7 -3.2,-0.6 0,-3.7 3.2,0 11.1,0 z"
clip-path="url(#SVGID_4_)" /></g><polygon
style="fill:#4a5261"
transform="translate(-180.35972,-805.91209)"
id="polygon33"
points="399.8,325.8 410,325.7 410,321 399.8,321.1 399.7,313.5 409.4,313.4 409.7,317 414.3,317 414.2,308.7 393.6,308.9 390.3,308.9 390.4,312.6 393.6,313.2 393.8,334.9 390.6,335.6 390.6,339.2 414.6,339 414.5,330.7 409.9,330.7 409.6,334.4 399.9,334.4 " /><g
transform="translate(-180.35972,-805.91209)"
id="g35"><defs
id="defs37"><rect
height="188.7"
width="234.3"
y="152.7"
x="180.2"
id="SVGID_5_" /></defs><clipPath
id="SVGID_6_"><use
height="100%"
width="100%"
y="0"
x="0"
style="overflow:visible"
id="use41"
overflow="visible"
xlink:href="#SVGID_5_" /></clipPath><path
style="fill:#4a5261"
inkscape:connector-curvature="0"
id="path43"
d="m 359.3,195.4 -35.3,0 0,-33.8 c 0,-3.4 2.8,-6.2 6.2,-6.2 l 22.9,0 c 3.4,0 6.2,2.8 6.2,6.2 l 0,33.8 z"
clip-path="url(#SVGID_6_)" /></g><rect
style="fill:#8096a1"
id="rect45"
height="31.799999"
width="25.799999"
y="-642.41211"
x="148.44026" /><g
transform="translate(-180.35972,-805.91209)"
id="g47"><defs
id="defs49"><rect
height="188.7"
width="234.3"
y="152.7"
x="180.2"
id="SVGID_7_" /></defs><clipPath
id="SVGID_8_"><use
height="100%"
width="100%"
y="0"
x="0"
style="overflow:visible"
id="use53"
overflow="visible"
xlink:href="#SVGID_7_" /></clipPath><path
style="fill:#855c33"
inkscape:connector-curvature="0"
id="path55"
d="m 271.9,178.8 0,44.9 52.3,0.2 c 0,0 0,-42.2 0,-44.9 0,-14.4 -11.8,-26.2 -26.2,-26.2 -14.4,-0.1 -26.1,11.6 -26.1,26"
clip-path="url(#SVGID_8_)" /><path
style="fill:#26a6ab"
inkscape:connector-curvature="0"
id="path57"
d="m 341.7,279.7 -84.1,0 c -26.2,0 -37.4,-33.3 -16.6,-49.2 l 47,-35.2 71.3,0 0,66.8 c 0,9.7 -7.9,17.6 -17.6,17.6"
clip-path="url(#SVGID_8_)" /></g><polygon
style="fill:#42c9c9"
transform="translate(-180.35972,-805.91209)"
id="polygon59"
points="284.6,222.5 248,225.2 292.6,191.9 " /><polygon
style="fill:#f7f5e8"
transform="translate(-180.35972,-805.91209)"
id="polygon61"
points="282.9,211.4 292.6,191.9 298.7,211.4 " /><polygon
style="fill:#f7f5e8"
transform="translate(-180.35972,-805.91209)"
id="polygon63"
points="298.7,211.4 304.7,191.9 314.4,211.4 " /><polygon
style="fill:#bdd1cf"
transform="translate(-180.35972,-805.91209)"
id="polygon65"
points="312.7,222.5 284.6,222.5 282.9,211.4 314.4,211.4 " /><g
transform="translate(-180.35972,-805.91209)"
id="g67"><defs
id="defs69"><rect
height="188.7"
width="234.3"
y="152.7"
x="180.2"
id="SVGID_9_" /></defs><clipPath
id="SVGID_10_"><use
height="100%"
width="100%"
y="0"
x="0"
style="overflow:visible"
id="use73"
overflow="visible"
xlink:href="#SVGID_9_" /></clipPath><path
style="fill:#f7f5e8"
inkscape:connector-curvature="0"
id="path75"
d="m 333,279.7 c -2.6,-19.3 -7.8,-42.7 -20.1,-57.2 l -0.1,0 -14,0 -14,0 -0.1,0 c -12.3,14.5 -17.6,37.9 -20.1,57.2 l 68.4,0 z"
clip-path="url(#SVGID_10_)" /><path
style="fill:#ffcc99"
inkscape:connector-curvature="0"
id="path77"
d="m 300.9,192.4 -4.5,0 c -4.7,0 -8.5,-3.8 -8.5,-8.5 l 0,-14.5 21.5,0 0,14.5 c 0,4.7 -3.8,8.5 -8.5,8.5"
clip-path="url(#SVGID_10_)" /><path
style="fill:#bdd1cf"
inkscape:connector-curvature="0"
id="path79"
d="m 285.3,279.7 0,-57.2 c 9.1,21.4 20.4,47.3 34.2,57.2 l -34.2,0 z"
clip-path="url(#SVGID_10_)" /></g><polygon
style="fill:#ffcc99"
transform="translate(-180.35972,-805.91209)"
id="polygon81"
points="292.6,191.9 298.7,211.4 304.7,191.9 " /><polygon
style="fill:#42c9c9"
transform="translate(-180.35972,-805.91209)"
id="polygon83"
points="328.8,195.4 359.3,195.4 359.3,234.6 " /></g></svg>

After

Width:  |  Height:  |  Size: 9.9 KiB

921
docs/static/calliope.simplified.svg vendored Normal file
View File

@ -0,0 +1,921 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
x="0px"
y="0px"
viewBox="0 0 340.2 311.8"
enable-background="new 0 0 340.2 311.8"
xml:space="preserve"
id="svg2"
inkscape:version="0.91 r13725"
sodipodi:docname="calliope.simplified.svg"><metadata
id="metadata945"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
id="defs943" /><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1920"
inkscape:window-height="1137"
id="namedview941"
showgrid="false"
inkscape:zoom="3.0275819"
inkscape:cx="131.29885"
inkscape:cy="162.10198"
inkscape:window-x="-8"
inkscape:window-y="156"
inkscape:window-maximized="1"
inkscape:current-layer="svg2" /><symbol
id="Mini_front"
viewBox="-122.3 -112.9 244.6 225.8"><g
id="g5"><use
xlink:href="#calliope_mini_backside"
width="298.9"
height="263.3"
id="XMLID_3_"
x="-150.5"
y="-131.7"
transform="matrix(0.8169 0 0 0.8169 0.6672 -5.3582)"
overflow="visible" /><g
id="holes_3_"><g
id="g9"><g
id="g11"><path
d="M-42.4-78.2c-1.2,0-2.1-1-2.1-2.1s1-2.1,2.1-2.1s2.1,1,2.1,2.1S-41.3-78.2-42.4-78.2z M-42.4-81.4 c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1c0.6,0,1-0.5,1-1C-41.4-80.9-41.9-81.4-42.4-81.4z"
id="path13"
fill="#EFDA48" /><path
d="M-42.4-81.4c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1c0.6,0,1-0.5,1-1C-41.4-80.9-41.9-81.4-42.4-81.4z"
id="path15" /></g><g
id="g17"><path
d="M-35.2-78.2c-1.2,0-2.1-1-2.1-2.1s1-2.1,2.1-2.1c1.2,0,2.1,1,2.1,2.1S-34.1-78.2-35.2-78.2z M-35.2-81.4c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1c0.6,0,1-0.5,1-1C-34.2-80.9-34.7-81.4-35.2-81.4z"
id="path19"
fill="#EFDA48" /><path
d="M-35.2-81.4c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1c0.6,0,1-0.5,1-1C-34.2-80.9-34.7-81.4-35.2-81.4z"
id="path21" /></g><g
id="g23"><path
d="M-28-78.2c-1.2,0-2.1-1-2.1-2.1s1-2.1,2.1-2.1c1.2,0,2.1,1,2.1,2.1S-26.9-78.2-28-78.2z M-28-81.4 c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C-27-80.9-27.5-81.4-28-81.4z"
id="path25"
fill="#EFDA48" /><path
d="M-28-81.4c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C-27-80.9-27.5-81.4-28-81.4z"
id="path27" /></g><g
id="g29"><path
d="M-20.9-78.2c-1.2,0-2.1-1-2.1-2.1s1-2.1,2.1-2.1c1.2,0,2.1,1,2.1,2.1S-19.7-78.2-20.9-78.2z M-20.9-81.4c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C-19.8-80.9-20.3-81.4-20.9-81.4z"
id="path31"
fill="#EFDA48" /><path
d="M-20.9-81.4c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C-19.8-80.9-20.3-81.4-20.9-81.4z"
id="path33" /></g><g
id="g35"><path
d="M-13.7-78.2c-1.2,0-2.1-1-2.1-2.1s1-2.1,2.1-2.1s2.1,1,2.1,2.1S-12.5-78.2-13.7-78.2z M-13.7-81.4 c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C-12.6-80.9-13.1-81.4-13.7-81.4z"
id="path37"
fill="#EFDA48" /><path
d="M-13.7-81.4c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C-12.6-80.9-13.1-81.4-13.7-81.4z"
id="path39" /></g><g
id="g41"><path
d="M-6.5-78.2c-1.2,0-2.1-1-2.1-2.1s1-2.1,2.1-2.1s2.1,1,2.1,2.1S-5.3-78.2-6.5-78.2z M-6.5-81.4 c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C-5.4-80.9-5.9-81.4-6.5-81.4z"
id="path43"
fill="#EFDA48" /><path
d="M-6.5-81.4c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C-5.4-80.9-5.9-81.4-6.5-81.4z"
id="path45" /></g><g
id="g47"><path
d="M0.7-78.2c-1.2,0-2.1-1-2.1-2.1s1-2.1,2.1-2.1s2.1,1,2.1,2.1S1.9-78.2,0.7-78.2z M0.7-81.4 c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C1.8-80.9,1.3-81.4,0.7-81.4z"
id="path49"
fill="#EFDA48" /><path
d="M0.7-81.4c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C1.8-80.9,1.3-81.4,0.7-81.4z"
id="path51" /></g><g
id="g53"><path
d="M7.9-78.2c-1.2,0-2.1-1-2.1-2.1s1-2.1,2.1-2.1s2.1,1,2.1,2.1S9.1-78.2,7.9-78.2z M7.9-81.4 c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C8.9-80.9,8.5-81.4,7.9-81.4z"
id="path55"
fill="#EFDA48" /><path
d="M7.9-81.4c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C8.9-80.9,8.5-81.4,7.9-81.4z"
id="path57" /></g><g
id="g59"><path
d="M15.1-78.2c-1.2,0-2.1-1-2.1-2.1s1-2.1,2.1-2.1s2.1,1,2.1,2.1S16.3-78.2,15.1-78.2z M15.1-81.4 c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1c0.6,0,1-0.5,1-1C16.1-80.9,15.7-81.4,15.1-81.4z"
id="path61"
fill="#EFDA48" /><path
d="M15.1-81.4c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1c0.6,0,1-0.5,1-1C16.1-80.9,15.7-81.4,15.1-81.4z"
id="path63" /></g><g
id="g65"><path
d="M22.3-78.2c-1.2,0-2.1-1-2.1-2.1s1-2.1,2.1-2.1c1.2,0,2.1,1,2.1,2.1S23.5-78.2,22.3-78.2z M22.3-81.4 c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C23.3-80.9,22.9-81.4,22.3-81.4z"
id="path67"
fill="#EFDA48" /><path
d="M22.3-81.4c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C23.3-80.9,22.9-81.4,22.3-81.4z"
id="path69" /></g><g
id="g71"><path
d="M29.5-78.2c-1.2,0-2.1-1-2.1-2.1s1-2.1,2.1-2.1c1.2,0,2.1,1,2.1,2.1S30.7-78.2,29.5-78.2z M29.5-81.4 c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C30.5-80.9,30.1-81.4,29.5-81.4z"
id="path73"
fill="#EFDA48" /><path
d="M29.5-81.4c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C30.5-80.9,30.1-81.4,29.5-81.4z"
id="path75" /></g><g
id="g77"><path
d="M36.7-78.2c-1.2,0-2.1-1-2.1-2.1s1-2.1,2.1-2.1c1.2,0,2.1,1,2.1,2.1S37.9-78.2,36.7-78.2z M36.7-81.4 c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1c0.6,0,1-0.5,1-1C37.7-80.9,37.3-81.4,36.7-81.4z"
id="path79"
fill="#EFDA48" /><path
d="M36.7-81.4c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1c0.6,0,1-0.5,1-1C37.7-80.9,37.3-81.4,36.7-81.4z"
id="path81" /></g><g
id="g83"><path
d="M43.9-78.2c-1.2,0-2.1-1-2.1-2.1s1-2.1,2.1-2.1c1.2,0,2.1,1,2.1,2.1S45.1-78.2,43.9-78.2z M43.9-81.4 c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1c0.6,0,1-0.5,1-1C44.9-80.9,44.5-81.4,43.9-81.4z"
id="path85"
fill="#EFDA48" /><path
d="M43.9-81.4c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1c0.6,0,1-0.5,1-1C44.9-80.9,44.5-81.4,43.9-81.4z"
id="path87" /></g></g><g
id="g89"><g
id="g91"><path
d="M-42.4-71c-1.2,0-2.1-1-2.1-2.1c0-1.2,1-2.1,2.1-2.1s2.1,1,2.1,2.1C-40.3-71.9-41.3-71-42.4-71z M-42.4-74.1c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1c0.6,0,1-0.5,1-1C-41.4-73.7-41.9-74.1-42.4-74.1z"
id="path93"
fill="#EFDA48" /><path
d="M-42.4-74.1c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1c0.6,0,1-0.5,1-1C-41.4-73.7-41.9-74.1-42.4-74.1z"
id="path95" /></g><g
id="g97"><path
d="M-35.2-71c-1.2,0-2.1-1-2.1-2.1c0-1.2,1-2.1,2.1-2.1c1.2,0,2.1,1,2.1,2.1C-33.1-71.9-34.1-71-35.2-71z M-35.2-74.1c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1c0.6,0,1-0.5,1-1C-34.2-73.7-34.7-74.1-35.2-74.1z"
id="path99"
fill="#EFDA48" /><path
d="M-35.2-74.1c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1c0.6,0,1-0.5,1-1C-34.2-73.7-34.7-74.1-35.2-74.1z"
id="path101" /></g><g
id="g103"><path
d="M-28-71c-1.2,0-2.1-1-2.1-2.1c0-1.2,1-2.1,2.1-2.1c1.2,0,2.1,1,2.1,2.1C-25.9-71.9-26.9-71-28-71z M-28-74.1c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C-27-73.7-27.5-74.1-28-74.1z"
id="path105"
fill="#EFDA48" /><path
d="M-28-74.1c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C-27-73.7-27.5-74.1-28-74.1z"
id="path107" /></g><g
id="g109"><path
d="M-20.9-71c-1.2,0-2.1-1-2.1-2.1c0-1.2,1-2.1,2.1-2.1c1.2,0,2.1,1,2.1,2.1C-18.7-71.9-19.7-71-20.9-71z M-20.9-74.1c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C-19.8-73.7-20.3-74.1-20.9-74.1z"
id="path111"
fill="#EFDA48" /><path
d="M-20.9-74.1c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C-19.8-73.7-20.3-74.1-20.9-74.1z"
id="path113" /></g><g
id="g115"><path
d="M-13.7-71c-1.2,0-2.1-1-2.1-2.1c0-1.2,1-2.1,2.1-2.1s2.1,1,2.1,2.1C-11.5-71.9-12.5-71-13.7-71z M-13.7-74.1c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C-12.6-73.7-13.1-74.1-13.7-74.1z"
id="path117"
fill="#EFDA48" /><path
d="M-13.7-74.1c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C-12.6-73.7-13.1-74.1-13.7-74.1z"
id="path119" /></g><g
id="g121"><path
d="M-6.5-71c-1.2,0-2.1-1-2.1-2.1c0-1.2,1-2.1,2.1-2.1s2.1,1,2.1,2.1C-4.3-71.9-5.3-71-6.5-71z M-6.5-74.1 c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C-5.4-73.7-5.9-74.1-6.5-74.1z"
id="path123"
fill="#EFDA48" /><path
d="M-6.5-74.1c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C-5.4-73.7-5.9-74.1-6.5-74.1z"
id="path125" /></g><g
id="g127"><path
d="M0.7-71c-1.2,0-2.1-1-2.1-2.1c0-1.2,1-2.1,2.1-2.1s2.1,1,2.1,2.1C2.9-71.9,1.9-71,0.7-71z M0.7-74.1 c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C1.8-73.7,1.3-74.1,0.7-74.1z"
id="path129"
fill="#EFDA48" /><path
d="M0.7-74.1c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C1.8-73.7,1.3-74.1,0.7-74.1z"
id="path131" /></g><g
id="g133"><path
d="M7.9-71c-1.2,0-2.1-1-2.1-2.1c0-1.2,1-2.1,2.1-2.1s2.1,1,2.1,2.1C10.1-71.9,9.1-71,7.9-71z M7.9-74.1 c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C8.9-73.7,8.5-74.1,7.9-74.1z"
id="path135"
fill="#EFDA48" /><path
d="M7.9-74.1c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C8.9-73.7,8.5-74.1,7.9-74.1z"
id="path137" /></g><g
id="g139"><path
d="M15.1-71c-1.2,0-2.1-1-2.1-2.1c0-1.2,1-2.1,2.1-2.1s2.1,1,2.1,2.1C17.3-71.9,16.3-71,15.1-71z M15.1-74.1c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1c0.6,0,1-0.5,1-1C16.1-73.7,15.7-74.1,15.1-74.1z"
id="path141"
fill="#EFDA48" /><path
d="M15.1-74.1c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1c0.6,0,1-0.5,1-1C16.1-73.7,15.7-74.1,15.1-74.1z"
id="path143" /></g><g
id="g145"><path
d="M22.3-71c-1.2,0-2.1-1-2.1-2.1c0-1.2,1-2.1,2.1-2.1c1.2,0,2.1,1,2.1,2.1C24.5-71.9,23.5-71,22.3-71z M22.3-74.1c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C23.3-73.7,22.9-74.1,22.3-74.1z"
id="path147"
fill="#EFDA48" /><path
d="M22.3-74.1c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C23.3-73.7,22.9-74.1,22.3-74.1z"
id="path149" /></g><g
id="g151"><path
d="M29.5-71c-1.2,0-2.1-1-2.1-2.1c0-1.2,1-2.1,2.1-2.1c1.2,0,2.1,1,2.1,2.1C31.7-71.9,30.7-71,29.5-71z M29.5-74.1c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C30.5-73.7,30.1-74.1,29.5-74.1z"
id="path153"
fill="#EFDA48" /><path
d="M29.5-74.1c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C30.5-73.7,30.1-74.1,29.5-74.1z"
id="path155" /></g><g
id="g157"><path
d="M36.7-71c-1.2,0-2.1-1-2.1-2.1c0-1.2,1-2.1,2.1-2.1c1.2,0,2.1,1,2.1,2.1C38.9-71.9,37.9-71,36.7-71z M36.7-74.1c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1c0.6,0,1-0.5,1-1C37.7-73.7,37.3-74.1,36.7-74.1z"
id="path159"
fill="#EFDA48" /><path
d="M36.7-74.1c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1c0.6,0,1-0.5,1-1C37.7-73.7,37.3-74.1,36.7-74.1z"
id="path161" /></g><g
id="g163"><path
d="M43.9-71c-1.2,0-2.1-1-2.1-2.1c0-1.2,1-2.1,2.1-2.1c1.2,0,2.1,1,2.1,2.1C46-71.9,45.1-71,43.9-71z M43.9-74.1c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1c0.6,0,1-0.5,1-1C44.9-73.7,44.5-74.1,43.9-74.1z"
id="path165"
fill="#EFDA48" /><path
d="M43.9-74.1c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1c0.6,0,1-0.5,1-1C44.9-73.7,44.5-74.1,43.9-74.1z"
id="path167" /></g></g><g
id="g169"><g
id="g171"><path
d="M-13.7-57.2c-1.2,0-2.1-1-2.1-2.1c0-1.2,1-2.1,2.1-2.1s2.1,1,2.1,2.1C-11.5-58.1-12.5-57.2-13.7-57.2z M-13.7-60.3c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C-12.6-59.9-13.1-60.3-13.7-60.3z"
id="path173"
fill="#EFDA48" /><path
d="M-13.7-60.3c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C-12.6-59.9-13.1-60.3-13.7-60.3z"
id="path175" /></g><g
id="g177"><path
d="M-6.5-57.2c-1.2,0-2.1-1-2.1-2.1c0-1.2,1-2.1,2.1-2.1s2.1,1,2.1,2.1C-4.3-58.1-5.3-57.2-6.5-57.2z M-6.5-60.3c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C-5.4-59.9-5.9-60.3-6.5-60.3z"
id="path179"
fill="#EFDA48" /><path
d="M-6.5-60.3c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C-5.4-59.9-5.9-60.3-6.5-60.3z"
id="path181" /></g><g
id="g183"><path
d="M0.7-57.2c-1.2,0-2.1-1-2.1-2.1c0-1.2,1-2.1,2.1-2.1s2.1,1,2.1,2.1C2.9-58.1,1.9-57.2,0.7-57.2z M0.7-60.3c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C1.8-59.9,1.3-60.3,0.7-60.3z"
id="path185"
fill="#EFDA48" /><path
d="M0.7-60.3c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C1.8-59.9,1.3-60.3,0.7-60.3z"
id="path187" /></g><g
id="g189"><path
d="M7.9-57.2c-1.2,0-2.1-1-2.1-2.1c0-1.2,1-2.1,2.1-2.1s2.1,1,2.1,2.1C10.1-58.1,9.1-57.2,7.9-57.2z M7.9-60.3c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C8.9-59.9,8.5-60.3,7.9-60.3z"
id="path191"
fill="#EFDA48" /><path
d="M7.9-60.3c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C8.9-59.9,8.5-60.3,7.9-60.3z"
id="path193" /></g><g
id="g195"><path
d="M15.1-57.2c-1.2,0-2.1-1-2.1-2.1c0-1.2,1-2.1,2.1-2.1s2.1,1,2.1,2.1C17.3-58.1,16.3-57.2,15.1-57.2z M15.1-60.3c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1c0.6,0,1-0.5,1-1C16.1-59.9,15.7-60.3,15.1-60.3z"
id="path197"
fill="#EFDA48" /><path
d="M15.1-60.3c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1c0.6,0,1-0.5,1-1C16.1-59.9,15.7-60.3,15.1-60.3z"
id="path199" /></g></g><g
id="g201"><g
id="g203"><polygon
points="80.6,17.6 77.6,20.5 80.6,23.5 83.5,20.5 "
id="polygon205"
fill="#EFDA48" /><path
d="M79.9,19.8c-0.4,0.4-0.4,1,0,1.4c0.4,0.4,1,0.4,1.4,0s0.4-1,0-1.4C80.9,19.4,80.3,19.4,79.9,19.8z"
id="path207" /></g><g
id="g209"><path
d="M86.3,18.1c-0.8,0.8-2.2,0.8-3,0c-0.8-0.8-0.8-2.2,0-3c0.8-0.8,2.2-0.8,3,0 C87.1,15.9,87.1,17.2,86.3,18.1z M84.1,15.8c-0.4,0.4-0.4,1,0,1.4s1,0.4,1.4,0s0.4-1,0-1.4S84.5,15.4,84.1,15.8z"
id="path211"
fill="#EFDA48" /><path
d="M84.1,15.8c-0.4,0.4-0.4,1,0,1.4s1,0.4,1.4,0s0.4-1,0-1.4S84.5,15.4,84.1,15.8z"
id="path213" /></g><g
id="g215"><path
d="M90.1,14.3c-0.8,0.8-2.2,0.8-3,0c-0.8-0.8-0.8-2.2,0-3s2.2-0.8,3,0C90.9,12.1,90.9,13.5,90.1,14.3z M87.9,12.1c-0.4,0.4-0.4,1,0,1.4c0.4,0.4,1,0.4,1.4,0s0.4-1,0-1.4C88.9,11.7,88.3,11.7,87.9,12.1z"
id="path217"
fill="#EFDA48" /><path
d="M87.9,12.1c-0.4,0.4-0.4,1,0,1.4c0.4,0.4,1,0.4,1.4,0s0.4-1,0-1.4C88.9,11.7,88.3,11.7,87.9,12.1z"
id="path219" /></g><g
id="g221"><path
d="M94.4,10c-0.8,0.8-2.2,0.8-3,0c-0.8-0.8-0.8-2.2,0-3s2.2-0.8,3,0C95.3,7.8,95.3,9.2,94.4,10z M92.2,7.8 c-0.4,0.4-0.4,1,0,1.4c0.4,0.4,1,0.4,1.4,0s0.4-1,0-1.4C93.2,7.4,92.6,7.4,92.2,7.8z"
id="path223"
fill="#EFDA48" /><path
d="M92.2,7.8c-0.4,0.4-0.4,1,0,1.4c0.4,0.4,1,0.4,1.4,0s0.4-1,0-1.4C93.2,7.4,92.6,7.4,92.2,7.8z"
id="path225" /></g></g><g
id="g227"><g
id="g229"><polygon
points="-88,8.6 -91,5.7 -94,8.6 -91,11.6 "
id="polygon231"
fill="#EFDA48" /><path
d="M-90.3,8c-0.4-0.4-1-0.4-1.4,0c-0.4,0.4-0.4,1,0,1.4s1,0.4,1.4,0C-89.9,9-89.9,8.3-90.3,8z"
id="path233" /></g><g
id="g235"><path
d="M-88.5,14.4c-0.8-0.8-0.8-2.2,0-3c0.8-0.8,2.2-0.8,3,0c0.8,0.8,0.8,2.2,0,3 C-86.3,15.2-87.7,15.2-88.5,14.4z M-86.3,12.2c-0.4-0.4-1-0.4-1.4,0c-0.4,0.4-0.4,1,0,1.4s1,0.4,1.4,0 C-85.9,13.2-85.9,12.5-86.3,12.2z"
id="path237"
fill="#EFDA48" /><path
d="M-86.3,12.2c-0.4-0.4-1-0.4-1.4,0c-0.4,0.4-0.4,1,0,1.4s1,0.4,1.4,0C-85.9,13.2-85.9,12.5-86.3,12.2z"
id="path239" /></g><g
id="g241"><path
d="M-84.8,18.2c-0.8-0.8-0.8-2.2,0-3c0.8-0.8,2.2-0.8,3,0c0.8,0.8,0.8,2.2,0,3C-82.6,19-84,19-84.8,18.2z M-82.6,16c-0.4-0.4-1-0.4-1.4,0c-0.4,0.4-0.4,1,0,1.4s1,0.4,1.4,0C-82.2,17-82.2,16.4-82.6,16z"
id="path243"
fill="#EFDA48" /><path
d="M-82.6,16c-0.4-0.4-1-0.4-1.4,0c-0.4,0.4-0.4,1,0,1.4s1,0.4,1.4,0C-82.2,17-82.2,16.4-82.6,16z"
id="path245" /></g><g
id="g247"><path
d="M-80.5,22.5c-0.8-0.8-0.8-2.2,0-3c0.8-0.8,2.2-0.8,3,0c0.8,0.8,0.8,2.2,0,3 C-78.3,23.3-79.7,23.3-80.5,22.5z M-78.3,20.3c-0.4-0.4-1-0.4-1.4,0c-0.4,0.4-0.4,1,0,1.4s1,0.4,1.4,0 C-77.9,21.3-77.9,20.7-78.3,20.3z"
id="path249"
fill="#EFDA48" /><path
d="M-78.3,20.3c-0.4-0.4-1-0.4-1.4,0c-0.4,0.4-0.4,1,0,1.4s1,0.4,1.4,0C-77.9,21.3-77.9,20.7-78.3,20.3z"
id="path251" /></g></g><g
id="g253"><path
d="M-107.8,8.6c-7.7,0-13.9-6.2-13.9-13.9s6.2-13.9,13.9-13.9s13.9,6.2,13.9,13.9S-100.1,8.6-107.8,8.6z M-107.8-12c-3.7,0-6.6,3-6.6,6.6s3,6.6,6.6,6.6c3.7,0,6.6-3,6.6-6.6S-104.1-12-107.8-12z"
id="path255"
fill="#EFDA48" /><path
d="M54.8,102.3c-7.7,0-13.9-6.2-13.9-13.9s6.2-13.9,13.9-13.9s13.9,6.2,13.9,13.9S62.4,102.3,54.8,102.3z M54.8,81.7c-3.7,0-6.6,3-6.6,6.6s3,6.6,6.6,6.6s6.6-3,6.6-6.6S58.4,81.7,54.8,81.7z"
id="path257"
fill="#EFDA48" /><path
d="M108.4,8.6c-7.7,0-13.9-6.2-13.9-13.9s6.2-13.9,13.9-13.9s13.9,6.2,13.9,13.9S116.1,8.6,108.4,8.6z M108.4-12c-3.7,0-6.6,3-6.6,6.6s3,6.6,6.6,6.6s6.6-3,6.6-6.6S112-12,108.4-12z"
id="path259"
fill="#EFDA48" /><path
d="M54.8-84.2c-7.7,0-13.9-6.2-13.9-13.9S47.1-112,54.8-112s13.9,6.2,13.9,13.9S62.4-84.2,54.8-84.2z M54.8-104.7c-3.7,0-6.6,3-6.6,6.6s3,6.6,6.6,6.6c3.7,0,6.6-3,6.6-6.6S58.4-104.7,54.8-104.7z"
id="path261"
fill="#EFDA48" /><path
d="M-53.1-85C-60.8-85-67-91.2-67-98.9s6.2-13.9,13.9-13.9s13.9,6.2,13.9,13.9S-45.4-85-53.1-85z M-53.1-105.5c-3.7,0-6.6,3-6.6,6.6c0,3.7,3,6.6,6.6,6.6s6.6-3,6.6-6.6C-46.5-102.6-49.4-105.5-53.1-105.5z"
id="path263"
fill="#EFDA48" /><path
d="M-53.1,102.3c-7.7,0-13.9-6.2-13.9-13.9s6.2-13.9,13.9-13.9s13.9,6.2,13.9,13.9S-45.4,102.3-53.1,102.3z M-53.1,81.7c-3.7,0-6.6,3-6.6,6.6s3,6.6,6.6,6.6c3.7,0,6.6-3,6.6-6.6S-49.4,81.7-53.1,81.7z"
id="path265"
fill="#EFDA48" /></g></g></g><g
id="g273"><g
id="g275"><polygon
points="-20.9,36.6 -23,36.6 -23,42 -20.9,42 "
id="polygon277"
fill="#FFFFFF" /><polygon
points="-9.9,36.6 -12.1,36.6 -12.1,42 -9.9,42 "
id="polygon279"
fill="#FFFFFF" /><polygon
points="1,36.6 -1.1,36.6 -1.1,42 1,42 "
id="polygon281"
fill="#FFFFFF" /><polygon
points="12,36.6 9.8,36.6 9.8,42 12,42 "
id="polygon283"
fill="#FFFFFF" /><polygon
points="22.9,36.6 20.8,36.6 20.8,42 22.9,42 "
id="polygon285"
fill="#FFFFFF" /></g><g
id="g287"><polygon
points="-20.9,25.9 -23,25.9 -23,31.3 -20.9,31.3 "
id="polygon289"
fill="#FFFFFF" /><polygon
points="-9.9,25.9 -12.1,25.9 -12.1,31.3 -9.9,31.3 "
id="polygon291"
fill="#FFFFFF" /><polygon
points="1,25.9 -1.1,25.9 -1.1,31.3 1,31.3 "
id="polygon293"
fill="#FFFFFF" /><polygon
points="12,25.9 9.8,25.9 9.8,31.3 12,31.3 "
id="polygon295"
fill="#FFFFFF" /><polygon
points="22.9,25.9 20.8,25.9 20.8,31.3 22.9,31.3 "
id="polygon297"
fill="#FFFFFF" /></g><g
id="g299"><polygon
points="-20.9,15.1 -23,15.1 -23,20.6 -20.9,20.6 "
id="polygon301"
fill="#FFFFFF" /><polygon
points="-9.9,15.1 -12.1,15.1 -12.1,20.6 -9.9,20.6 "
id="polygon303"
fill="#FFFFFF" /><polygon
points="1,15.1 -1.1,15.1 -1.1,20.6 1,20.6 "
id="polygon305"
fill="#FFFFFF" /><polygon
points="12,15.1 9.8,15.1 9.8,20.6 12,20.6 "
id="polygon307"
fill="#FFFFFF" /><polygon
points="22.9,15.1 20.8,15.1 20.8,20.6 22.9,20.6 "
id="polygon309"
fill="#FFFFFF" /></g><g
id="g311"><polygon
points="-20.9,4.4 -23,4.4 -23,9.9 -20.9,9.9 "
id="polygon313"
fill="#FFFFFF" /><polygon
points="-9.9,4.4 -12.1,4.4 -12.1,9.9 -9.9,9.9 "
id="polygon315"
fill="#FFFFFF" /><polygon
points="1,4.4 -1.1,4.4 -1.1,9.9 1,9.9 "
id="polygon317"
fill="#FFFFFF" /><polygon
points="12,4.4 9.8,4.4 9.8,9.9 12,9.9 "
id="polygon319"
fill="#FFFFFF" /><polygon
points="22.9,4.4 20.8,4.4 20.8,9.9 22.9,9.9 "
id="polygon321"
fill="#FFFFFF" /></g><g
id="g323"><polygon
points="-20.9,-6.3 -23,-6.3 -23,-0.9 -20.9,-0.9 "
id="polygon325"
fill="#FFFFFF" /><polygon
points="-9.9,-6.3 -12.1,-6.3 -12.1,-0.9 -9.9,-0.9 "
id="polygon327"
fill="#FFFFFF" /><polygon
points="1,-6.3 -1.1,-6.3 -1.1,-0.9 1,-0.9 "
id="polygon329"
fill="#FFFFFF" /><polygon
points="12,-6.3 9.8,-6.3 9.8,-0.9 12,-0.9 "
id="polygon331"
fill="#FFFFFF" /><polygon
points="22.9,-6.3 20.8,-6.3 20.8,-0.9 22.9,-0.9 "
id="polygon333"
fill="#FFFFFF" /></g></g><g
id="g335"><path
d="M-61.4,47.4c0-0.9-0.7-1.6-1.6-1.6s-1.6,0.7-1.6,1.6s0.7,1.6,1.6,1.6S-61.4,48.3-61.4,47.4z"
id="path337"
fill="#EFDA48" /><path
d="M-55.9,47.4c0-0.9-0.7-1.6-1.6-1.6s-1.6,0.7-1.6,1.6s0.7,1.6,1.6,1.6S-55.9,48.3-55.9,47.4z"
id="path339"
fill="#EFDA48" /><path
d="M-50.4,47.4c0-0.9-0.7-1.6-1.6-1.6s-1.6,0.7-1.6,1.6s0.7,1.6,1.6,1.6S-50.4,48.3-50.4,47.4z"
id="path341"
fill="#EFDA48" /><path
d="M-45,47.4c0-0.9-0.7-1.6-1.6-1.6c-0.9,0-1.6,0.7-1.6,1.6s0.7,1.6,1.6,1.6C-45.7,49.1-45,48.3-45,47.4z"
id="path343"
fill="#EFDA48" /><path
d="M-39.5,47.4c0-0.9-0.7-1.6-1.6-1.6s-1.6,0.7-1.6,1.6s0.7,1.6,1.6,1.6S-39.5,48.3-39.5,47.4z"
id="path345"
fill="#EFDA48" /><path
d="M-34.1,47.4c0-0.9-0.7-1.6-1.6-1.6s-1.6,0.7-1.6,1.6s0.7,1.6,1.6,1.6S-34.1,48.3-34.1,47.4z"
id="path347"
fill="#EFDA48" /></g><g
id="g349"><path
d="M-39.5,76.6c0-0.9-0.7-1.6-1.6-1.6s-1.6,0.7-1.6,1.6c0,0.9,0.7,1.6,1.6,1.6S-39.5,77.5-39.5,76.6z"
id="path351"
fill="#EFDA48" /><path
d="M-34.1,76.6c0-0.9-0.7-1.6-1.6-1.6s-1.6,0.7-1.6,1.6c0,0.9,0.7,1.6,1.6,1.6S-34.1,77.5-34.1,76.6z"
id="path353"
fill="#EFDA48" /><path
d="M-28.6,76.6c0-0.9-0.7-1.6-1.6-1.6s-1.6,0.7-1.6,1.6c0,0.9,0.7,1.6,1.6,1.6S-28.6,77.5-28.6,76.6z"
id="path355"
fill="#EFDA48" /><path
d="M-23.1,76.6c0-0.9-0.7-1.6-1.6-1.6s-1.6,0.7-1.6,1.6c0,0.9,0.7,1.6,1.6,1.6S-23.1,77.5-23.1,76.6z"
id="path357"
fill="#EFDA48" /><path
d="M-17.7,76.6c0-0.9-0.7-1.6-1.6-1.6s-1.6,0.7-1.6,1.6c0,0.9,0.7,1.6,1.6,1.6S-17.7,77.5-17.7,76.6z"
id="path359"
fill="#EFDA48" /><path
d="M-17.7,68.3c0-0.9-0.7-1.6-1.6-1.6s-1.6,0.7-1.6,1.6c0,0.9,0.7,1.6,1.6,1.6S-17.7,69.1-17.7,68.3z"
id="path361"
fill="#EFDA48" /></g><g
id="g363"><path
d="M-0.1,47.4c0-0.9-0.7-1.6-1.6-1.6s-1.6,0.7-1.6,1.6s0.7,1.6,1.6,1.6S-0.1,48.3-0.1,47.4z"
id="path365"
fill="#EFDA48" /><path
d="M5.4,47.4c0-0.9-0.7-1.6-1.6-1.6s-1.6,0.7-1.6,1.6s0.7,1.6,1.6,1.6S5.4,48.3,5.4,47.4z"
id="path367"
fill="#EFDA48" /></g><path
d="M8.8,66.6H-8.8c-0.7,0-1.2,0.5-1.2,1.2v13.5c0,0.7,0.5,1.2,1.2,1.2H8.8c0.7,0,1.2-0.5,1.2-1.2V67.8 C10,67.2,9.4,66.6,8.8,66.6z"
id="path369"
fill="#BDD1CF" /><g
id="g371"><g
id="g373"><polygon
points="-59.9,36.6 -62,36.6 -62,42 -59.9,42 "
id="polygon375"
fill="#FFFFFF" /><polygon
points="-48.2,36.6 -50.3,36.6 -50.3,42 -48.2,42 "
id="polygon377"
fill="#FFFFFF" /><polygon
points="-59.9,16 -62,16 -62,21.5 -59.9,21.5 "
id="polygon379"
fill="#FFFFFF" /><polygon
points="-48.2,16 -50.3,16 -50.3,21.5 -48.2,21.5 "
id="polygon381"
fill="#FFFFFF" /></g><path
d="M-48.3,21.4h-13.6c-0.6,0-1.1,0.5-1.1,1.1v13.7c0,0.6,0.5,1.1,1.1,1.1h13.6c0.6,0,1.1-0.5,1.1-1.1V22.4 C-47.2,21.8-47.7,21.4-48.3,21.4z"
id="path383"
fill="#BDD1CF" /><path
d="M-50.2,29.3c0-2.7-2.2-4.9-4.9-4.9c-2.7,0-4.9,2.2-4.9,4.9s2.2,4.9,4.9,4.9C-52.4,34.2-50.2,32-50.2,29.3z "
id="path385"
fill="#476975" /><path
d="M-59.3,35.2c0-0.9-0.7-1.6-1.6-1.6c-0.9,0-1.6,0.7-1.6,1.6c0,0.9,0.7,1.6,1.6,1.6C-60,36.8-59.3,36.1-59.3,35.2z"
id="path387" /><path
d="M-47.6,35.2c0-0.9-0.7-1.6-1.6-1.6c-0.9,0-1.6,0.7-1.6,1.6c0,0.9,0.7,1.6,1.6,1.6C-48.4,36.8-47.6,36.1-47.6,35.2z"
id="path389" /><path
d="M-59.3,23.6c0-0.9-0.7-1.6-1.6-1.6c-0.9,0-1.6,0.7-1.6,1.6s0.7,1.6,1.6,1.6C-60,25.2-59.3,24.5-59.3,23.6z"
id="path391" /><path
d="M-47.6,23.6c0-0.9-0.7-1.6-1.6-1.6c-0.9,0-1.6,0.7-1.6,1.6s0.7,1.6,1.6,1.6C-48.4,25.2-47.6,24.5-47.6,23.6z"
id="path393" /></g><g
id="g395"><path
d="M68.7-61.4h-17c-0.8,0-1.5,0.7-1.5,1.5V-39c0,0.8,0.7,1.5,1.5,1.5h17c0.8,0,1.5-0.7,1.5-1.5v-20.9 C70.2-60.7,69.5-61.4,68.7-61.4z"
id="path397"
fill="#FFFFFF" /><polygon
points="54.4,-40.8 44,-40.8 44,-37.5 54.4,-37.5 "
id="polygon399"
fill="#FFFFFF" /><polygon
points="54.4,-61.4 44,-61.4 44,-58 54.4,-58 "
id="polygon401"
fill="#FFFFFF" /></g><path
d="M76.6-2.2c-9.9,0-17.9-8-17.9-17.9S66.7-38,76.6-38s17.9,8,17.9,17.9S86.5-2.2,76.6-2.2z"
id="path403" /><g
id="g405"><path
d="M39.1-57.2c-1.2,0-2.1-1-2.1-2.1c0-1.2,1-2.1,2.1-2.1s2.1,1,2.1,2.1C41.3-58.1,40.3-57.2,39.1-57.2z"
id="path407"
fill="#EFDA48" /></g><g
id="g409"><g
id="g411"><polygon
points="51.6,36.6 49.5,36.6 49.5,42 51.6,42 "
id="polygon413"
fill="#FFFFFF" /><polygon
points="63.3,36.6 61.1,36.6 61.1,42 63.3,42 "
id="polygon415"
fill="#FFFFFF" /><polygon
points="51.6,16 49.5,16 49.5,21.5 51.6,21.5 "
id="polygon417"
fill="#FFFFFF" /><polygon
points="63.3,16 61.1,16 61.1,21.5 63.3,21.5 "
id="polygon419"
fill="#FFFFFF" /></g><path
d="M63.2,21.4H49.6c-0.6,0-1.1,0.5-1.1,1.1v13.7c0,0.6,0.5,1.1,1.1,1.1h13.6c0.6,0,1.1-0.5,1.1-1.1V22.4 C64.3,21.8,63.8,21.4,63.2,21.4z"
id="path421"
fill="#BDD1CF" /><path
d="M61.3,29.3c0-2.7-2.2-4.9-4.9-4.9c-2.7,0-4.9,2.2-4.9,4.9s2.2,4.9,4.9,4.9C59.1,34.2,61.3,32,61.3,29.3z"
id="path423"
fill="#476975" /><path
d="M52.2,35.2c0-0.9-0.7-1.6-1.6-1.6c-0.9,0-1.6,0.7-1.6,1.6c0,0.9,0.7,1.6,1.6,1.6C51.5,36.8,52.2,36.1,52.2,35.2z"
id="path425" /><path
d="M63.8,35.2c0-0.9-0.7-1.6-1.6-1.6c-0.9,0-1.6,0.7-1.6,1.6c0,0.9,0.7,1.6,1.6,1.6C63.1,36.8,63.8,36.1,63.8,35.2z"
id="path427" /><path
d="M52.2,23.6c0-0.9-0.7-1.6-1.6-1.6c-0.9,0-1.6,0.7-1.6,1.6s0.7,1.6,1.6,1.6C51.5,25.2,52.2,24.5,52.2,23.6z"
id="path429" /><path
d="M63.8,23.6c0-0.9-0.7-1.6-1.6-1.6c-0.9,0-1.6,0.7-1.6,1.6s0.7,1.6,1.6,1.6C63.1,25.2,63.8,24.5,63.8,23.6z"
id="path431" /></g><g
id="g433"><path
d="M37.3,60H23.7c-0.6,0-1.1,0.5-1.1,1.1v13.7c0,0.6,0.5,1.1,1.1,1.1h13.6c0.6,0,1.1-0.5,1.1-1.1V61.1 C38.4,60.5,37.9,60,37.3,60z"
id="path435"
fill="#BDD1CF" /><path
d="M35.5,68c0-2.7-2.2-4.9-4.9-4.9s-4.9,2.2-4.9,4.9s2.2,4.9,4.9,4.9S35.5,70.7,35.5,68z"
id="path437"
fill="#476975" /></g><polygon
points="37.1,-46 25.4,-46 25.4,-25 37.1,-25 "
id="polygon439"
fill="#F9B233" /><polygon
points="-31.8,-47.4 -43.7,-35.5 -31.8,-23.6 -19.9,-35.5 "
id="polygon441" /><polygon
points="-3.6,-52.5 -3.6,-46.4 2.5,-46.4 2.5,-52.5 "
id="polygon443" /><g
id="g445"><polygon
points="5.3,-35.5 -5.5,-35.5 -5.5,-25 5.3,-25 "
id="polygon447"
fill="#FFFFFF" /><path
d="M4-30.2c0-2.3-1.8-4.1-4.1-4.1s-4.1,1.8-4.1,4.1s1.8,4.1,4.1,4.1S4-28,4-30.2z"
id="path449"
fill="#BDD1CF" /></g><polygon
points="-36.8,-54.6 -43.6,-59 -47.5,-52.9 -40.7,-48.5 "
id="polygon451"
fill="#FFFFFF" /></symbol><symbol
id="calliope_mini_backside"
viewBox="-150.5 -131.7 298.9 263.3"><path
d="M-77.1,127.5L-77.1,127.5c6.2,4.6,14.6,4.8,20.9,0.5c12.5-8.4,34.7-21,56-21c23.2,0,45.7,13.5,56.4,21 c4.3,3,9.8,3.8,14.7,2l0.6-0.2c7.3-2.6,11.8-9.8,11-17.4c-1.7-15.4-3-41.9,13-62.9c16.8-21.9,31.7-31.2,42.3-34.8 c5.9-2,9.9-7.4,10.4-13.6v0c0.5-8-5.1-13.6-12.3-17c-12-5.7-30.8-15.7-42.8-36.2C78.7-77,80.1-103.4,81.7-114.8 c0.7-5.1-1.6-10.1-5.9-12.8c-4.8-3-11.9-4.6-21.4,1.5c-5.5,3.6-12,8.6-20.8,12c-10.8,4.1-16.9,5.5-20.3,5.8c-2.4,0.2-4.4,1.8-5.2,4 c-1.1,2.9-3.4,6.2-8.2,6.2c-5,0-7.2-3.6-8.2-6.6c-0.8-2.5-3.3-3.4-5.9-3.7c-4.9-0.4-12.5-2.4-20.5-6.1c-7.1-3.3-14-7.9-20.4-12.7 c-5.5-4.1-15-5.5-20.4-1.3l0,0c-5.7,4.4-7.4,11.7-6.5,18.8c1.9,15.3,1.1,43.3-16.7,64.2c-17.6,20.8-28.2,26.2-37.2,29.2 c-3.9,1.3-11.4,5.4-12.3,14.1s3,14.5,10.9,18.4c12.3,6.1,30.5,17.2,42.1,34.1c15.1,22,15.1,48.1,13.1,61.7 C-82.8,117.7-81.7,124.1-77.1,127.5z"
id="path454"
fill="#034854" /><g
id="holes_9_"><g
display="none"
id="g457"><g
display="inline"
id="g459"><path
d="M-53.5-89.3c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S-52-89.3-53.5-89.3z M-53.5-93.1 c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2C-52.2-92.6-52.8-93.1-53.5-93.1z"
id="path461"
fill="#EFDA48" /><path
d="M-53.5-93.1c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2C-52.2-92.6-52.8-93.1-53.5-93.1z"
id="path463" /></g><g
display="inline"
id="g465"><path
d="M-44.7-89.3c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S-43.2-89.3-44.7-89.3z M-44.7-93.1 c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2C-43.4-92.6-44-93.1-44.7-93.1z"
id="path467"
fill="#EFDA48" /><path
d="M-44.7-93.1c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2C-43.4-92.6-44-93.1-44.7-93.1z"
id="path469" /></g><g
display="inline"
id="g471"><path
d="M-35.9-89.3c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S-34.4-89.3-35.9-89.3z M-35.9-93.1 c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2C-34.6-92.6-35.2-93.1-35.9-93.1z"
id="path473"
fill="#EFDA48" /><path
d="M-35.9-93.1c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2C-34.6-92.6-35.2-93.1-35.9-93.1z"
id="path475" /></g><g
display="inline"
id="g477"><path
d="M-27-89.3c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6c1.4,0,2.6,1.2,2.6,2.6S-25.6-89.3-27-89.3z M-27-93.1 c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2C-25.8-92.6-26.4-93.1-27-93.1z"
id="path479"
fill="#EFDA48" /><path
d="M-27-93.1c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2C-25.8-92.6-26.4-93.1-27-93.1z"
id="path481" /></g><g
display="inline"
id="g483"><path
d="M-18.2-89.3c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6c1.4,0,2.6,1.2,2.6,2.6S-16.8-89.3-18.2-89.3z M-18.2-93.1c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2C-17-92.6-17.6-93.1-18.2-93.1z"
id="path485"
fill="#EFDA48" /><path
d="M-18.2-93.1c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2C-17-92.6-17.6-93.1-18.2-93.1z"
id="path487" /></g><g
display="inline"
id="g489"><path
d="M-9.4-89.3c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S-8-89.3-9.4-89.3z M-9.4-93.1 c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2C-8.2-92.6-8.7-93.1-9.4-93.1z"
id="path491"
fill="#EFDA48" /><path
d="M-9.4-93.1c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2C-8.2-92.6-8.7-93.1-9.4-93.1z"
id="path493" /></g><g
display="inline"
id="g495"><path
d="M-0.6-89.3c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6S2-93.3,2-91.9S0.8-89.3-0.6-89.3z M-0.6-93.1 c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2C0.6-92.6,0.1-93.1-0.6-93.1z"
id="path497"
fill="#EFDA48" /><path
d="M-0.6-93.1c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2C0.6-92.6,0.1-93.1-0.6-93.1z"
id="path499" /></g><g
display="inline"
id="g501"><path
d="M8.2-89.3c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S9.6-89.3,8.2-89.3z M8.2-93.1 c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2C9.4-92.6,8.9-93.1,8.2-93.1z"
id="path503"
fill="#EFDA48" /><path
d="M8.2-93.1c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2C9.4-92.6,8.9-93.1,8.2-93.1z"
id="path505" /></g><g
display="inline"
id="g507"><path
d="M17-89.3c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S18.4-89.3,17-89.3z M17-93.1 c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2C18.2-92.6,17.7-93.1,17-93.1z"
id="path509"
fill="#EFDA48" /><path
d="M17-93.1c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2C18.2-92.6,17.7-93.1,17-93.1z"
id="path511" /></g><g
display="inline"
id="g513"><path
d="M25.8-89.3c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6c1.4,0,2.6,1.2,2.6,2.6S27.2-89.3,25.8-89.3z M25.8-93.1c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2C27-92.6,26.5-93.1,25.8-93.1z"
id="path515"
fill="#EFDA48" /><path
d="M25.8-93.1c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2C27-92.6,26.5-93.1,25.8-93.1z"
id="path517" /></g><g
display="inline"
id="g519"><path
d="M34.6-89.3c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S36.1-89.3,34.6-89.3z M34.6-93.1 c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2C35.9-92.6,35.3-93.1,34.6-93.1z"
id="path521"
fill="#EFDA48" /><path
d="M34.6-93.1c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2C35.9-92.6,35.3-93.1,34.6-93.1z"
id="path523" /></g><g
display="inline"
id="g525"><path
d="M43.4-89.3c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S44.9-89.3,43.4-89.3z M43.4-93.1 c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2C44.7-92.6,44.1-93.1,43.4-93.1z"
id="path527"
fill="#EFDA48" /><path
d="M43.4-93.1c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2C44.7-92.6,44.1-93.1,43.4-93.1z"
id="path529" /></g><g
display="inline"
id="g531"><path
d="M52.2-89.3c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S53.7-89.3,52.2-89.3z M52.2-93.1 c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2C53.5-92.6,52.9-93.1,52.2-93.1z"
id="path533"
fill="#EFDA48" /><path
d="M52.2-93.1c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2C53.5-92.6,52.9-93.1,52.2-93.1z"
id="path535" /></g></g><g
display="none"
id="g537"><g
display="inline"
id="g539"><path
d="M-53.5-80.4c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S-52-80.4-53.5-80.4z M-53.5-84.3 c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S-52.8-84.3-53.5-84.3z"
id="path541"
fill="#EFDA48" /><path
d="M-53.5-84.3c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S-52.8-84.3-53.5-84.3z"
id="path543" /></g><g
display="inline"
id="g545"><path
d="M-44.7-80.4c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S-43.2-80.4-44.7-80.4z M-44.7-84.3 c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S-44-84.3-44.7-84.3z"
id="path547"
fill="#EFDA48" /><path
d="M-44.7-84.3c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S-44-84.3-44.7-84.3z"
id="path549" /></g><g
display="inline"
id="g551"><path
d="M-35.9-80.4c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S-34.4-80.4-35.9-80.4z M-35.9-84.3 c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S-35.2-84.3-35.9-84.3z"
id="path553"
fill="#EFDA48" /><path
d="M-35.9-84.3c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S-35.2-84.3-35.9-84.3z"
id="path555" /></g><g
display="inline"
id="g557"><path
d="M-27-80.4c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6c1.4,0,2.6,1.2,2.6,2.6S-25.6-80.4-27-80.4z M-27-84.3 c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S-26.4-84.3-27-84.3z"
id="path559"
fill="#EFDA48" /><path
d="M-27-84.3c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S-26.4-84.3-27-84.3z"
id="path561" /></g><g
display="inline"
id="g563"><path
d="M-18.2-80.4c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6c1.4,0,2.6,1.2,2.6,2.6S-16.8-80.4-18.2-80.4z M-18.2-84.3c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S-17.6-84.3-18.2-84.3z"
id="path565"
fill="#EFDA48" /><path
d="M-18.2-84.3c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S-17.6-84.3-18.2-84.3z"
id="path567" /></g><g
display="inline"
id="g569"><path
d="M-9.4-80.4c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S-8-80.4-9.4-80.4z M-9.4-84.3 c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2S-8.7-84.3-9.4-84.3z"
id="path571"
fill="#EFDA48" /><path
d="M-9.4-84.3c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2S-8.7-84.3-9.4-84.3z"
id="path573" /></g><g
display="inline"
id="g575"><path
d="M-0.6-80.4c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6S2-84.5,2-83.1S0.8-80.4-0.6-80.4z M-0.6-84.3 c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2S0.1-84.3-0.6-84.3z"
id="path577"
fill="#EFDA48" /><path
d="M-0.6-84.3c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2S0.1-84.3-0.6-84.3z"
id="path579" /></g><g
display="inline"
id="g581"><path
d="M8.2-80.4c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S9.6-80.4,8.2-80.4z M8.2-84.3 c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2S8.9-84.3,8.2-84.3z"
id="path583"
fill="#EFDA48" /><path
d="M8.2-84.3c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2S8.9-84.3,8.2-84.3z"
id="path585" /></g><g
display="inline"
id="g587"><path
d="M17-80.4c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S18.4-80.4,17-80.4z M17-84.3 c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S17.7-84.3,17-84.3z"
id="path589"
fill="#EFDA48" /><path
d="M17-84.3c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S17.7-84.3,17-84.3z"
id="path591" /></g><g
display="inline"
id="g593"><path
d="M25.8-80.4c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6c1.4,0,2.6,1.2,2.6,2.6S27.2-80.4,25.8-80.4z M25.8-84.3c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2S26.5-84.3,25.8-84.3z"
id="path595"
fill="#EFDA48" /><path
d="M25.8-84.3c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2S26.5-84.3,25.8-84.3z"
id="path597" /></g><g
display="inline"
id="g599"><path
d="M34.6-80.4c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S36.1-80.4,34.6-80.4z M34.6-84.3 c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S35.3-84.3,34.6-84.3z"
id="path601"
fill="#EFDA48" /><path
d="M34.6-84.3c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S35.3-84.3,34.6-84.3z"
id="path603" /></g><g
display="inline"
id="g605"><path
d="M43.4-80.4c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S44.9-80.4,43.4-80.4z M43.4-84.3 c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2S44.1-84.3,43.4-84.3z"
id="path607"
fill="#EFDA48" /><path
d="M43.4-84.3c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2S44.1-84.3,43.4-84.3z"
id="path609" /></g><g
display="inline"
id="g611"><path
d="M52.2-80.4c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S53.7-80.4,52.2-80.4z M52.2-84.3 c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S52.9-84.3,52.2-84.3z"
id="path613"
fill="#EFDA48" /><path
d="M52.2-84.3c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S52.9-84.3,52.2-84.3z"
id="path615" /></g></g><g
display="none"
id="g617"><g
display="inline"
id="g619"><path
d="M-18.2-63.5c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6c1.4,0,2.6,1.2,2.6,2.6S-16.8-63.5-18.2-63.5z M-18.2-67.4c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S-17.6-67.4-18.2-67.4z"
id="path621"
fill="#EFDA48" /><path
d="M-18.2-67.4c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S-17.6-67.4-18.2-67.4z"
id="path623" /></g><g
display="inline"
id="g625"><path
d="M-9.4-63.5c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S-8-63.5-9.4-63.5z M-9.4-67.4 c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2S-8.7-67.4-9.4-67.4z"
id="path627"
fill="#EFDA48" /><path
d="M-9.4-67.4c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2S-8.7-67.4-9.4-67.4z"
id="path629" /></g><g
display="inline"
id="g631"><path
d="M-0.6-63.5c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6S2-67.6,2-66.1S0.8-63.5-0.6-63.5z M-0.6-67.4 c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2S0.1-67.4-0.6-67.4z"
id="path633"
fill="#EFDA48" /><path
d="M-0.6-67.4c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2S0.1-67.4-0.6-67.4z"
id="path635" /></g><g
display="inline"
id="g637"><path
d="M8.2-63.5c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S9.6-63.5,8.2-63.5z M8.2-67.4 c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2S8.9-67.4,8.2-67.4z"
id="path639"
fill="#EFDA48" /><path
d="M8.2-67.4c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2S8.9-67.4,8.2-67.4z"
id="path641" /></g><g
display="inline"
id="g643"><path
d="M17-63.5c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S18.4-63.5,17-63.5z M17-67.4 c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S17.7-67.4,17-67.4z"
id="path645"
fill="#EFDA48" /><path
d="M17-67.4c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S17.7-67.4,17-67.4z"
id="path647" /></g></g><g
display="none"
id="g649"><g
display="inline"
id="g651"><polygon
points="97.1,28 93.5,31.6 97.1,35.2 100.7,31.6 "
id="polygon653"
fill="#EFDA48" /><path
d="M96.2,30.8c-0.5,0.5-0.5,1.3,0,1.8c0.5,0.5,1.3,0.5,1.8,0c0.5-0.5,0.5-1.3,0-1.8C97.5,30.3,96.7,30.3,96.2,30.8z"
id="path655" /></g><g
display="inline"
id="g657"><path
d="M104.1,28.6c-1,1-2.7,1-3.7,0s-1-2.7,0-3.7c1-1,2.7-1,3.7,0S105.1,27.5,104.1,28.6z M101.4,25.8 c-0.5,0.5-0.5,1.3,0,1.8c0.5,0.5,1.3,0.5,1.8,0c0.5-0.5,0.5-1.3,0-1.8C102.7,25.3,101.9,25.3,101.4,25.8z"
id="path659"
fill="#EFDA48" /><path
d="M101.4,25.8c-0.5,0.5-0.5,1.3,0,1.8c0.5,0.5,1.3,0.5,1.8,0c0.5-0.5,0.5-1.3,0-1.8C102.7,25.3,101.9,25.3,101.4,25.8z"
id="path661" /></g><g
display="inline"
id="g663"><path
d="M108.8,24c-1,1-2.7,1-3.7,0s-1-2.7,0-3.7c1-1,2.7-1,3.7,0S109.8,23,108.8,24z M106,21.3 c-0.5,0.5-0.5,1.3,0,1.8c0.5,0.5,1.3,0.5,1.8,0c0.5-0.5,0.5-1.3,0-1.8C107.3,20.8,106.5,20.8,106,21.3z"
id="path665"
fill="#EFDA48" /><path
d="M106,21.3c-0.5,0.5-0.5,1.3,0,1.8c0.5,0.5,1.3,0.5,1.8,0c0.5-0.5,0.5-1.3,0-1.8C107.3,20.8,106.5,20.8,106,21.3z"
id="path667" /></g><g
display="inline"
id="g669"><path
d="M114.1,18.7c-1,1-2.7,1-3.7,0s-1-2.7,0-3.7s2.7-1,3.7,0S115.1,17.7,114.1,18.7z M111.3,16 c-0.5,0.5-0.5,1.3,0,1.8c0.5,0.5,1.3,0.5,1.8,0c0.5-0.5,0.5-1.3,0-1.8C112.6,15.5,111.8,15.5,111.3,16z"
id="path671"
fill="#EFDA48" /><path
d="M111.3,16c-0.5,0.5-0.5,1.3,0,1.8c0.5,0.5,1.3,0.5,1.8,0c0.5-0.5,0.5-1.3,0-1.8C112.6,15.5,111.8,15.5,111.3,16z"
id="path673" /></g></g><g
display="none"
id="g675"><g
display="inline"
id="g677"><polygon
points="-109.3,17 -112.9,13.4 -116.6,17 -112.9,20.7 "
id="polygon679"
fill="#EFDA48" /><path
d="M-112.1,16.2c-0.5-0.5-1.3-0.5-1.8,0c-0.5,0.5-0.5,1.3,0,1.8c0.5,0.5,1.3,0.5,1.8,0C-111.6,17.5-111.6,16.7-112.1,16.2z "
id="path681" /></g><g
display="inline"
id="g683"><path
d="M-109.9,24.1c-1-1-1-2.7,0-3.7c1-1,2.7-1,3.7,0s1,2.7,0,3.7S-108.9,25.1-109.9,24.1z M-107.2,21.3 c-0.5-0.5-1.3-0.5-1.8,0c-0.5,0.5-0.5,1.3,0,1.8c0.5,0.5,1.3,0.5,1.8,0C-106.7,22.6-106.7,21.8-107.2,21.3z"
id="path685"
fill="#EFDA48" /><path
d="M-107.2,21.3c-0.5-0.5-1.3-0.5-1.8,0c-0.5,0.5-0.5,1.3,0,1.8c0.5,0.5,1.3,0.5,1.8,0C-106.7,22.6-106.7,21.8-107.2,21.3z "
id="path687" /></g><g
display="inline"
id="g689"><path
d="M-105.3,28.7c-1-1-1-2.7,0-3.7s2.7-1,3.7,0s1,2.7,0,3.7S-104.3,29.8-105.3,28.7z M-102.6,26 c-0.5-0.5-1.3-0.5-1.8,0c-0.5,0.5-0.5,1.3,0,1.8c0.5,0.5,1.3,0.5,1.8,0C-102.1,27.3-102.1,26.5-102.6,26z"
id="path691"
fill="#EFDA48" /><path
d="M-102.6,26c-0.5-0.5-1.3-0.5-1.8,0c-0.5,0.5-0.5,1.3,0,1.8c0.5,0.5,1.3,0.5,1.8,0C-102.1,27.3-102.1,26.5-102.6,26z"
id="path693" /></g><g
display="inline"
id="g695"><path
d="M-100.1,34c-1-1-1-2.7,0-3.7c1-1,2.7-1,3.7,0c1,1,1,2.7,0,3.7S-99,35-100.1,34z M-97.3,31.3 c-0.5-0.5-1.3-0.5-1.8,0c-0.5,0.5-0.5,1.3,0,1.8s1.3,0.5,1.8,0C-96.8,32.6-96.8,31.8-97.3,31.3z"
id="path697"
fill="#EFDA48" /><path
d="M-97.3,31.3c-0.5-0.5-1.3-0.5-1.8,0c-0.5,0.5-0.5,1.3,0,1.8s1.3,0.5,1.8,0C-96.8,32.6-96.8,31.8-97.3,31.3z"
id="path699" /></g></g><g
id="g701"><path
d="M-133.5,17c-9.4,0-17.1-7.6-17.1-17.1s7.6-17.1,17.1-17.1s17.1,7.6,17.1,17.1S-124.1,17-133.5,17z M-133.5-8.2c-4.5,0-8.1,3.6-8.1,8.1S-138,8-133.5,8s8.1-3.6,8.1-8.1S-129-8.2-133.5-8.2z"
id="path703"
fill="#EFDA48" /><path
d="M65.5,131.7c-9.4,0-17.1-7.6-17.1-17.1s7.6-17.1,17.1-17.1s17.1,7.6,17.1,17.1S74.9,131.7,65.5,131.7z M65.5,106.5c-4.5,0-8.1,3.6-8.1,8.1c0,4.5,3.6,8.1,8.1,8.1s8.1-3.6,8.1-8.1C73.6,110.1,70,106.5,65.5,106.5z"
id="path705"
fill="#EFDA48" /><path
d="M131.2,17c-9.4,0-17.1-7.6-17.1-17.1s7.6-17.1,17.1-17.1s17.1,7.6,17.1,17.1S140.6,17,131.2,17z M131.2-8.2c-4.5,0-8.1,3.6-8.1,8.1s3.6,8.1,8.1,8.1s8.1-3.6,8.1-8.1S135.6-8.2,131.2-8.2z"
id="path707"
fill="#EFDA48" /><path
d="M65.5-96.6c-9.4,0-17.1-7.6-17.1-17.1s7.6-17.1,17.1-17.1s17.1,7.6,17.1,17.1S74.9-96.6,65.5-96.6z M65.5-121.7c-4.5,0-8.1,3.6-8.1,8.1c0,4.5,3.6,8.1,8.1,8.1s8.1-3.6,8.1-8.1C73.6-118.1,70-121.7,65.5-121.7z"
id="path709"
fill="#EFDA48" /><path
d="M-66.5-97.6c-9.4,0-17.1-7.6-17.1-17.1s7.6-17.1,17.1-17.1s17.1,7.6,17.1,17.1S-57.1-97.6-66.5-97.6z M-66.5-122.7c-4.5,0-8.1,3.6-8.1,8.1c0,4.5,3.6,8.1,8.1,8.1c4.5,0,8.1-3.6,8.1-8.1C-58.4-119.1-62-122.7-66.5-122.7z"
id="path711"
fill="#EFDA48" /><path
d="M-66.5,131.7c-9.4,0-17.1-7.6-17.1-17.1s7.6-17.1,17.1-17.1s17.1,7.6,17.1,17.1S-57.1,131.7-66.5,131.7z M-66.5,106.5c-4.5,0-8.1,3.6-8.1,8.1c0,4.5,3.6,8.1,8.1,8.1s8.1-3.6,8.1-8.1C-58.4,110.1-62,106.5-66.5,106.5z"
id="path713"
fill="#EFDA48" /></g></g><path
d="M131.2-8.2c-4.5,0-8.1,3.6-8.1,8.1s3.6,8.1,8.1,8.1s8.1-3.6,8.1-8.1S135.6-8.2,131.2-8.2z"
id="path715"
fill="#FFFFFF" /><path
d="M65.5,106.5c-4.5,0-8.1,3.6-8.1,8.1c0,4.5,3.6,8.1,8.1,8.1s8.1-3.6,8.1-8.1C73.6,110.1,70,106.5,65.5,106.5 z"
id="path717"
fill="#FFFFFF" /><path
d="M-66.5,106.5c-4.5,0-8.1,3.6-8.1,8.1c0,4.5,3.6,8.1,8.1,8.1c4.5,0,8.1-3.6,8.1-8.1 C-58.4,110.1-62,106.5-66.5,106.5z"
id="path719"
fill="#FFFFFF" /><path
d="M-133.5-8.1c-4.5,0-8.1,3.6-8.1,8.1s3.6,8.1,8.1,8.1s8.1-3.6,8.1-8.1S-129-8.1-133.5-8.1z"
id="path721"
fill="#FFFFFF" /><path
d="M-66.5-122.7c-4.5,0-8.1,3.6-8.1,8.1c0,4.5,3.6,8.1,8.1,8.1c4.5,0,8.1-3.6,8.1-8.1 C-58.4-119.1-62-122.7-66.5-122.7z"
id="path723"
fill="#FFFFFF" /><path
d="M65.5-121.7c-4.5,0-8.1,3.6-8.1,8.1c0,4.5,3.6,8.1,8.1,8.1s8.1-3.6,8.1-8.1C73.6-118.1,70-121.7,65.5-121.7 z"
id="path725"
fill="#FFFFFF" /></symbol><g
id="Ebene_2"
display="none"><image
display="inline"
overflow="visible"
width="1024"
height="898"
xlink:href="file:///C:/Users/jhalleux/AppData/Local/Microsoft/Windows/INetCache/Content.Outlook/POK9Z6FJ/../../1607_Juli/Calliope/mini_mit_logo_1024.png"
transform="matrix(0.3025 0 0 0.3025 17.8521 265.1405)"
id="image728"
sodipodi:absref="C:\Users\jhalleux\AppData\Local\Microsoft\Windows\INetCache\Content.Outlook\POK9Z6FJ\..\..\1607_Juli\Calliope\mini_mit_logo_1024.png" /></g><g
id="Ebene_1" /><g
id="Ebene_3" /><g
id="Ebene_4" /><use
style="overflow:visible"
overflow="visible"
transform="matrix(1.3709867,0,0,-1.3709867,170.13972,147.46239)"
y="-112.9"
x="-122.3"
id="XMLID_11_"
height="225.8"
width="244.60001"
xlink:href="#Mini_front" /><g
id="Ebene_7"
display="none"><polygon
display="inline"
points="717.6,154.6 604.5,154.6 604.5,54.2 589.7,54.2 589.7,154.6 476.6,154.6 476.6,169.4 589.7,169.4 589.7,221.4 604.5,221.4 604.5,169.4 717.6,169.4 "
id="polygon928"
fill="#E6007E" /><polygon
display="inline"
points="1145.9,152.4 1032.8,152.4 1032.8,52 1018,52 1018,152.4 904.9,152.4 904.9,167.2 1018,167.2 1018,219.2 1032.8,219.2 1032.8,167.2 1145.9,167.2 "
id="polygon930"
fill="#E6007E" /><polygon
display="inline"
points="1986.9,163.6 1873.8,163.6 1873.8,63.2 1859.1,63.2 1859.1,163.6 1746,163.6 1746,178.4 1859.1,178.4 1859.1,230.5 1873.8,230.5 1873.8,178.4 1986.9,178.4 "
id="polygon932"
fill="#E6007E" /><polygon
display="inline"
points="2403,163.6 2289.9,163.6 2289.9,63.2 2275.1,63.2 2275.1,163.6 2162,163.6 2162,178.4 2275.1,178.4 2275.1,230.5 2289.9,230.5 2289.9,178.4 2403,178.4 "
id="polygon934"
fill="#E6007E" /></g><g
id="Ebene_6"
display="none"><rect
x="1859.1"
y="432.2"
display="inline"
width="14.8"
height="167.2"
id="rect937"
fill="#E6007E" /><rect
x="1746"
y="532.6"
display="inline"
width="240.9"
height="14.8"
id="rect939"
fill="#E6007E" /></g></svg>

After

Width:  |  Height:  |  Size: 55 KiB

134
docs/static/calliope.svg vendored Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 36 KiB

View File

@ -0,0 +1,821 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 251.8 222.2" enable-background="new 0 0 251.8 222.2" xml:space="preserve">
<symbol id="Mini_front" viewBox="-121.4 -112.4 242.4 214.1">
<g>
<use xlink:href="#calliope_mini_backside" width="296.7" height="262.1" id="XMLID_2_" x="-149.4" y="-131" transform="matrix(0.8169 0 0 0.8169 0.6672 -5.3582)" overflow="visible"/>
</g>
<g>
<g>
<polygon id="LED_0_0" fill="#FFFFFF" points="-20.9,36.6 -23,36.6 -23,42 -20.9,42 "/>
<polygon id="LED_1_0" fill="#FFFFFF" points="-9.9,36.6 -12.1,36.6 -12.1,42 -9.9,42 "/>
<polygon id="LED_2_0" fill="#FFFFFF" points="1,36.6 -1.1,36.6 -1.1,42 1,42 "/>
<polygon id="LED_3_0" fill="#FFFFFF" points="12,36.6 9.8,36.6 9.8,42 12,42 "/>
<polygon id="LED_4_0" fill="#FFFFFF" points="22.9,36.6 20.8,36.6 20.8,42 22.9,42 "/>
</g>
<g>
<polygon id="LED_0_1" fill="#FFFFFF" points="-20.9,25.9 -23,25.9 -23,31.3 -20.9,31.3 "/>
<polygon id="LED_1_1" fill="#FFFFFF" points="-9.9,25.9 -12.1,25.9 -12.1,31.3 -9.9,31.3 "/>
<polygon id="LED_2_1" fill="#FFFFFF" points="1,25.9 -1.1,25.9 -1.1,31.3 1,31.3 "/>
<polygon id="LED_3_1" fill="#FFFFFF" points="12,25.9 9.8,25.9 9.8,31.3 12,31.3 "/>
<polygon id="LED_4_1" fill="#FFFFFF" points="22.9,25.9 20.8,25.9 20.8,31.3 22.9,31.3 "/>
</g>
<g>
<polygon id="LED_0_2" fill="#FFFFFF" points="-20.9,15.2 -23,15.2 -23,20.6 -20.9,20.6 "/>
<polygon id="LED_1_2" fill="#FFFFFF" points="-9.9,15.2 -12.1,15.2 -12.1,20.6 -9.9,20.6 "/>
<polygon id="LED_2_2" fill="#FFFFFF" points="1,15.2 -1.1,15.2 -1.1,20.6 1,20.6 "/>
<polygon id="LED_3_2" fill="#FFFFFF" points="12,15.2 9.8,15.2 9.8,20.6 12,20.6 "/>
<polygon id="LED_4_2" fill="#FFFFFF" points="22.9,15.2 20.8,15.2 20.8,20.6 22.9,20.6 "/>
</g>
<g>
<polygon id="LED_0_3" fill="#FFFFFF" points="-20.9,4.4 -23,4.4 -23,9.9 -20.9,9.9 "/>
<polygon id="LED_1_3" fill="#FFFFFF" points="-9.9,4.4 -12.1,4.4 -12.1,9.9 -9.9,9.9 "/>
<polygon id="LED_2_3" fill="#FFFFFF" points="1,4.4 -1.1,4.4 -1.1,9.9 1,9.9 "/>
<polygon id="LED_3_3" fill="#FFFFFF" points="12,4.4 9.8,4.4 9.8,9.9 12,9.9 "/>
<polygon id="LED_4_3" fill="#FFFFFF" points="22.9,4.4 20.8,4.4 20.8,9.9 22.9,9.9 "/>
</g>
<g>
<polygon id="LED_0_4" fill="#FFFFFF" points="-20.9,-6.3 -23,-6.3 -23,-0.8 -20.9,-0.8 "/>
<polygon id="LED_1_4" fill="#FFFFFF" points="-9.9,-6.3 -12.1,-6.3 -12.1,-0.8 -9.9,-0.8 "/>
<polygon id="LED_2_4" fill="#FFFFFF" points="1,-6.3 -1.1,-6.3 -1.1,-0.8 1,-0.8 "/>
<polygon id="LED_3_4" fill="#FFFFFF" points="12,-6.3 9.8,-6.3 9.8,-0.8 12,-0.8 "/>
<polygon id="LED_4_4" fill="#FFFFFF" points="22.9,-6.3 20.8,-6.3 20.8,-0.8 22.9,-0.8 "/>
</g>
</g>
<path fill="#BDD1CF" d="M8.8,66.6H-8.8c-0.7,0-1.2,0.5-1.2,1.2v13.5c0,0.7,0.5,1.2,1.2,1.2H8.8c0.7,0,1.2-0.5,1.2-1.2V67.9
C10,67.2,9.4,66.6,8.8,66.6z"/>
<g id="EXT_PWR">
<path fill="#FFFFFF" d="M65.5-65.6L49.9-59c-0.8,0.3-1.1,1.2-0.8,2l8.1,19.3c0.3,0.8,1.2,1.1,2,0.8l15.6-6.6
c0.8-0.3,1.1-1.2,0.8-2l-8.1-19.3C67.2-65.6,66.3-65.9,65.5-65.6z"/>
<polygon fill="#FFFFFF" points="60.3,-41.1 50.8,-37.1 52.1,-34 61.6,-38 "/>
<polygon fill="#FFFFFF" points="52.3,-60 42.8,-56 44.1,-52.9 53.6,-56.9 "/>
</g>
<path id="SPKR" fill="#1D1D1B" d="M75.8-1.1c-9.9,0-17.9-8-17.9-17.9S65.9-37,75.8-37s17.9,8,17.9,17.9S85.7-1.1,75.8-1.1z"/>
<path fill="#333333" d="M75.8-15.6c-1.9,0-3.4-1.5-3.4-3.4s1.5-3.4,3.4-3.4c1.9,0,3.4,1.5,3.4,3.4S77.7-15.6,75.8-15.6z"/>
<polygon fill="#F8B133" points="37.1,-46 25.4,-46 25.4,-25 37.1,-25 "/>
<polygon fill="#1D1D1B" points="-31.8,-47.4 -43.7,-35.5 -31.8,-23.6 -19.9,-35.5 "/>
<polygon fill="#BDD1CF" points="-36.8,-54.6 -43.6,-59 -47.5,-52.9 -40.7,-48.5 "/>
</symbol>
<symbol id="calliope_mini_backside" viewBox="-149.4 -131 296.7 262.1">
<g>
<g>
<path fill="#034854" d="M-78.2,127.5L-78.2,127.5c6.2,4.6,14.6,4.8,20.9,0.5c12.5-8.4,34.7-21,56-21c23.2,0,45.7,13.5,56.4,21
c4.3,3,9.8,3.8,14.7,2l0.6-0.2c7.3-2.6,11.8-9.8,11-17.4c-1.7-15.4-3-41.9,13-62.9c16.8-21.9,31.7-31.2,42.3-34.8
c5.9-2,9.9-7.4,10.4-13.6v0c0.5-8-5.1-13.6-12.3-17c-12-5.7-30.8-15.7-42.8-36.2C77.6-77,79-103.4,80.6-114.8
c0.7-5.1-1.6-10.1-5.9-12.8c-4.8-3-11.9-4.6-21.4,1.5c-5.5,3.6-12,8.6-20.8,12c-10.8,4.1-16.9,5.5-20.3,5.8
c-2.4,0.2-4.4,1.8-5.2,4c-1.1,2.9-3.4,6.2-8.2,6.2c-5,0-7.2-3.6-8.2-6.6c-0.8-2.5-3.3-3.4-5.9-3.7c-4.9-0.4-12.5-2.4-20.5-6.1
c-7.1-3.3-14-7.9-20.4-12.7c-5.5-4.1-15-5.5-20.4-1.3l0,0c-5.7,4.4-7.4,11.7-6.5,18.8c1.9,15.3,1.1,43.3-16.7,64.2
C-117.4-24.6-128-19.2-137-16.3c-3.9,1.3-11.4,5.4-12.3,14.1s3,14.5,10.9,18.4c12.3,6.1,30.5,17.2,42.1,34.1
c15.1,22,15.1,48.1,13.1,61.7C-83.9,117.7-82.8,124.1-78.2,127.5z"/>
<g id="holes_5_">
<g display="none">
<g display="inline">
<path fill="#EFDA48" d="M-54.6-89.3c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S-53.1-89.3-54.6-89.3z
M-54.6-93.1c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S-53.9-93.1-54.6-93.1z"/>
<path fill="#1D1D1B" d="M-54.6-93.1c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S-53.9-93.1-54.6-93.1z"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M-45.8-89.3c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S-44.3-89.3-45.8-89.3z
M-45.8-93.1c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S-45.1-93.1-45.8-93.1z"/>
<path fill="#1D1D1B" d="M-45.8-93.1c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S-45.1-93.1-45.8-93.1z"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M-37-89.3c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6c1.4,0,2.6,1.2,2.6,2.6S-35.5-89.3-37-89.3z
M-37-93.1c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S-36.3-93.1-37-93.1z"/>
<path fill="#1D1D1B" d="M-37-93.1c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S-36.3-93.1-37-93.1z"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M-28.2-89.3c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6c1.4,0,2.6,1.2,2.6,2.6S-26.7-89.3-28.2-89.3z
M-28.2-93.1c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2S-27.5-93.1-28.2-93.1z"/>
<path fill="#1D1D1B" d="M-28.2-93.1c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2S-27.5-93.1-28.2-93.1z"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M-19.3-89.3c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6c1.4,0,2.6,1.2,2.6,2.6S-17.9-89.3-19.3-89.3z
M-19.3-93.1c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2S-18.7-93.1-19.3-93.1z"/>
<path fill="#1D1D1B" d="M-19.3-93.1c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2S-18.7-93.1-19.3-93.1z"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M-10.5-89.3c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S-9.1-89.3-10.5-89.3z
M-10.5-93.1c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2S-9.8-93.1-10.5-93.1z"/>
<path fill="#1D1D1B" d="M-10.5-93.1c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2S-9.8-93.1-10.5-93.1z"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M-1.7-89.3c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S-0.3-89.3-1.7-89.3z M-1.7-93.1
c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2S-1-93.1-1.7-93.1z"/>
<path fill="#1D1D1B" d="M-1.7-93.1c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2S-1-93.1-1.7-93.1z"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M7.1-89.3c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S8.5-89.3,7.1-89.3z M7.1-93.1
c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2S7.8-93.1,7.1-93.1z"/>
<path fill="#1D1D1B" d="M7.1-93.1c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2S7.8-93.1,7.1-93.1z"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M15.9-89.3c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S17.3-89.3,15.9-89.3z M15.9-93.1
c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S16.6-93.1,15.9-93.1z"/>
<path fill="#1D1D1B" d="M15.9-93.1c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S16.6-93.1,15.9-93.1z"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M24.7-89.3c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6c1.4,0,2.6,1.2,2.6,2.6S26.1-89.3,24.7-89.3z
M24.7-93.1c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S25.4-93.1,24.7-93.1z"/>
<path fill="#1D1D1B" d="M24.7-93.1c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S25.4-93.1,24.7-93.1z"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M33.5-89.3c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S35-89.3,33.5-89.3z M33.5-93.1
c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S34.2-93.1,33.5-93.1z"/>
<path fill="#1D1D1B" d="M33.5-93.1c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S34.2-93.1,33.5-93.1z"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M42.3-89.3c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S43.8-89.3,42.3-89.3z M42.3-93.1
c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S43-93.1,42.3-93.1z"/>
<path fill="#1D1D1B" d="M42.3-93.1c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S43-93.1,42.3-93.1z"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M51.1-89.3c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S52.6-89.3,51.1-89.3z M51.1-93.1
c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S51.8-93.1,51.1-93.1z"/>
<path fill="#1D1D1B" d="M51.1-93.1c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S51.8-93.1,51.1-93.1z"/>
</g>
</g>
<g display="none">
<g display="inline">
<path fill="#EFDA48" d="M-54.6-80.4c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S-53.1-80.4-54.6-80.4z
M-54.6-84.3c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2C-53.3-83.7-53.9-84.3-54.6-84.3z"/>
<path fill="#1D1D1B" d="M-54.6-84.3c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2
C-53.3-83.7-53.9-84.3-54.6-84.3z"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M-45.8-80.4c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S-44.3-80.4-45.8-80.4z
M-45.8-84.3c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2C-44.5-83.7-45.1-84.3-45.8-84.3z"/>
<path fill="#1D1D1B" d="M-45.8-84.3c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2
C-44.5-83.7-45.1-84.3-45.8-84.3z"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M-37-80.4c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6c1.4,0,2.6,1.2,2.6,2.6S-35.5-80.4-37-80.4z
M-37-84.3c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2C-35.7-83.7-36.3-84.3-37-84.3z"/>
<path fill="#1D1D1B" d="M-37-84.3c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2
C-35.7-83.7-36.3-84.3-37-84.3z"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M-28.2-80.4c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6c1.4,0,2.6,1.2,2.6,2.6S-26.7-80.4-28.2-80.4z
M-28.2-84.3c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2C-26.9-83.7-27.5-84.3-28.2-84.3z"/>
<path fill="#1D1D1B" d="M-28.2-84.3c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2
C-26.9-83.7-27.5-84.3-28.2-84.3z"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M-19.3-80.4c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6c1.4,0,2.6,1.2,2.6,2.6S-17.9-80.4-19.3-80.4z
M-19.3-84.3c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2C-18.1-83.7-18.7-84.3-19.3-84.3z"/>
<path fill="#1D1D1B" d="M-19.3-84.3c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2
C-18.1-83.7-18.7-84.3-19.3-84.3z"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M-10.5-80.4c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S-9.1-80.4-10.5-80.4z
M-10.5-84.3c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2C-9.3-83.7-9.8-84.3-10.5-84.3z"/>
<path fill="#1D1D1B" d="M-10.5-84.3c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2
C-9.3-83.7-9.8-84.3-10.5-84.3z"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M-1.7-80.4c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S-0.3-80.4-1.7-80.4z M-1.7-84.3
c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2C-0.5-83.7-1-84.3-1.7-84.3z"/>
<path fill="#1D1D1B" d="M-1.7-84.3c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2C-0.5-83.7-1-84.3-1.7-84.3z
"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M7.1-80.4c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S8.5-80.4,7.1-80.4z M7.1-84.3
c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2C8.3-83.7,7.8-84.3,7.1-84.3z"/>
<path fill="#1D1D1B" d="M7.1-84.3c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2C8.3-83.7,7.8-84.3,7.1-84.3z
"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M15.9-80.4c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S17.3-80.4,15.9-80.4z M15.9-84.3
c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2C17.1-83.7,16.6-84.3,15.9-84.3z"/>
<path fill="#1D1D1B" d="M15.9-84.3c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2
C17.1-83.7,16.6-84.3,15.9-84.3z"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M24.7-80.4c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6c1.4,0,2.6,1.2,2.6,2.6S26.1-80.4,24.7-80.4z
M24.7-84.3c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2C25.9-83.7,25.4-84.3,24.7-84.3z"/>
<path fill="#1D1D1B" d="M24.7-84.3c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2
C25.9-83.7,25.4-84.3,24.7-84.3z"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M33.5-80.4c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S35-80.4,33.5-80.4z M33.5-84.3
c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2C34.8-83.7,34.2-84.3,33.5-84.3z"/>
<path fill="#1D1D1B" d="M33.5-84.3c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2
C34.8-83.7,34.2-84.3,33.5-84.3z"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M42.3-80.4c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S43.8-80.4,42.3-80.4z M42.3-84.3
c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2C43.6-83.7,43-84.3,42.3-84.3z"/>
<path fill="#1D1D1B" d="M42.3-84.3c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2
C43.6-83.7,43-84.3,42.3-84.3z"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M51.1-80.4c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S52.6-80.4,51.1-80.4z M51.1-84.3
c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2C52.4-83.7,51.8-84.3,51.1-84.3z"/>
<path fill="#1D1D1B" d="M51.1-84.3c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2
C52.4-83.7,51.8-84.3,51.1-84.3z"/>
</g>
</g>
<g display="none">
<g display="inline">
<path fill="#EFDA48" d="M-19.3-63.5c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6c1.4,0,2.6,1.2,2.6,2.6S-17.9-63.5-19.3-63.5z
M-19.3-67.4c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2C-18.1-66.8-18.7-67.4-19.3-67.4z"/>
<path fill="#1D1D1B" d="M-19.3-67.4c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2
C-18.1-66.8-18.7-67.4-19.3-67.4z"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M-10.5-63.5c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S-9.1-63.5-10.5-63.5z
M-10.5-67.4c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2C-9.3-66.8-9.8-67.4-10.5-67.4z"/>
<path fill="#1D1D1B" d="M-10.5-67.4c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2
C-9.3-66.8-9.8-67.4-10.5-67.4z"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M-1.7-63.5c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S-0.3-63.5-1.7-63.5z M-1.7-67.4
c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2C-0.5-66.8-1-67.4-1.7-67.4z"/>
<path fill="#1D1D1B" d="M-1.7-67.4c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2C-0.5-66.8-1-67.4-1.7-67.4z
"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M7.1-63.5c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S8.5-63.5,7.1-63.5z M7.1-67.4
c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2C8.3-66.8,7.8-67.4,7.1-67.4z"/>
<path fill="#1D1D1B" d="M7.1-67.4c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2C8.3-66.8,7.8-67.4,7.1-67.4z
"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M15.9-63.5c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S17.3-63.5,15.9-63.5z M15.9-67.4
c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2C17.1-66.8,16.6-67.4,15.9-67.4z"/>
<path fill="#1D1D1B" d="M15.9-67.4c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2
C17.1-66.8,16.6-67.4,15.9-67.4z"/>
</g>
</g>
<g display="none">
<g display="inline">
<polygon fill="#EFDA48" points="96,28 92.4,31.6 96,35.2 99.6,31.6 "/>
<path fill="#1D1D1B" d="M95.1,30.8c-0.5,0.5-0.5,1.3,0,1.8c0.5,0.5,1.3,0.5,1.8,0c0.5-0.5,0.5-1.3,0-1.8
C96.4,30.3,95.6,30.3,95.1,30.8z"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M103,28.6c-1,1-2.7,1-3.7,0s-1-2.7,0-3.7s2.7-1,3.7,0S104,27.5,103,28.6z M100.3,25.8
c-0.5,0.5-0.5,1.3,0,1.8c0.5,0.5,1.3,0.5,1.8,0c0.5-0.5,0.5-1.3,0-1.8C101.6,25.3,100.8,25.3,100.3,25.8z"/>
<path fill="#1D1D1B" d="M100.3,25.8c-0.5,0.5-0.5,1.3,0,1.8c0.5,0.5,1.3,0.5,1.8,0c0.5-0.5,0.5-1.3,0-1.8
C101.6,25.3,100.8,25.3,100.3,25.8z"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M107.7,24c-1,1-2.7,1-3.7,0c-1-1-1-2.7,0-3.7s2.7-1,3.7,0S108.7,23,107.7,24z M104.9,21.3
c-0.5,0.5-0.5,1.3,0,1.8c0.5,0.5,1.3,0.5,1.8,0c0.5-0.5,0.5-1.3,0-1.8C106.2,20.8,105.4,20.8,104.9,21.3z"/>
<path fill="#1D1D1B" d="M104.9,21.3c-0.5,0.5-0.5,1.3,0,1.8c0.5,0.5,1.3,0.5,1.8,0c0.5-0.5,0.5-1.3,0-1.8
C106.2,20.8,105.4,20.8,104.9,21.3z"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M113,18.7c-1,1-2.7,1-3.7,0s-1-2.7,0-3.7c1-1,2.7-1,3.7,0S114,17.7,113,18.7z M110.2,16
c-0.5,0.5-0.5,1.3,0,1.8c0.5,0.5,1.3,0.5,1.8,0c0.5-0.5,0.5-1.3,0-1.8C111.5,15.5,110.7,15.5,110.2,16z"/>
<path fill="#1D1D1B" d="M110.2,16c-0.5,0.5-0.5,1.3,0,1.8c0.5,0.5,1.3,0.5,1.8,0c0.5-0.5,0.5-1.3,0-1.8
C111.5,15.5,110.7,15.5,110.2,16z"/>
</g>
</g>
<g display="none">
<g display="inline">
<polygon fill="#EFDA48" points="-110.4,17 -114,13.4 -117.7,17 -114,20.7 "/>
<path fill="#1D1D1B" d="M-113.2,16.2c-0.5-0.5-1.3-0.5-1.8,0c-0.5,0.5-0.5,1.3,0,1.8c0.5,0.5,1.3,0.5,1.8,0
C-112.7,17.5-112.7,16.7-113.2,16.2z"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M-111,24.1c-1-1-1-2.7,0-3.7s2.7-1,3.7,0c1,1,1,2.7,0,3.7S-110,25.1-111,24.1z M-108.3,21.3
c-0.5-0.5-1.3-0.5-1.8,0c-0.5,0.5-0.5,1.3,0,1.8c0.5,0.5,1.3,0.5,1.8,0C-107.8,22.6-107.8,21.8-108.3,21.3z"/>
<path fill="#1D1D1B" d="M-108.3,21.3c-0.5-0.5-1.3-0.5-1.8,0c-0.5,0.5-0.5,1.3,0,1.8c0.5,0.5,1.3,0.5,1.8,0
C-107.8,22.6-107.8,21.8-108.3,21.3z"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M-106.4,28.7c-1-1-1-2.7,0-3.7c1-1,2.7-1,3.7,0c1,1,1,2.7,0,3.7C-103.7,29.8-105.4,29.8-106.4,28.7z
M-103.7,26c-0.5-0.5-1.3-0.5-1.8,0c-0.5,0.5-0.5,1.3,0,1.8s1.3,0.5,1.8,0C-103.2,27.3-103.2,26.5-103.7,26z"/>
<path fill="#1D1D1B" d="M-103.7,26c-0.5-0.5-1.3-0.5-1.8,0c-0.5,0.5-0.5,1.3,0,1.8s1.3,0.5,1.8,0
C-103.2,27.3-103.2,26.5-103.7,26z"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M-101.2,34c-1-1-1-2.7,0-3.7c1-1,2.7-1,3.7,0c1,1,1,2.7,0,3.7C-98.5,35-100.1,35-101.2,34z
M-98.4,31.3c-0.5-0.5-1.3-0.5-1.8,0c-0.5,0.5-0.5,1.3,0,1.8s1.3,0.5,1.8,0C-97.9,32.6-97.9,31.8-98.4,31.3z"/>
<path fill="#1D1D1B" d="M-98.4,31.3c-0.5-0.5-1.3-0.5-1.8,0c-0.5,0.5-0.5,1.3,0,1.8s1.3,0.5,1.8,0
C-97.9,32.6-97.9,31.8-98.4,31.3z"/>
</g>
</g>
</g>
<path fill="#FFFFFF" d="M130.1-10.2c-5,0-10.1,5.1-10.1,10.1S125.1,10,130.1,10c5,0,10.1-5.1,10.1-10.1S135-10.2,130.1-10.2z"/>
<path fill="#FFFFFF" d="M64.4,104.8c-5.4,0-9.9,4.4-9.9,9.9c0,5.4,4.4,9.9,9.9,9.9s9.9-4.4,9.9-9.9
C74.3,109.2,69.8,104.8,64.4,104.8z"/>
<path fill="#FFFFFF" d="M-67.6,104.3c-5.7,0-10.4,4.6-10.4,10.4s4.6,10.4,10.4,10.4s10.4-4.6,10.4-10.4S-61.9,104.3-67.6,104.3z"
/>
<path fill="#FFFFFF" d="M-134.6-10.2c-5.6,0-10.1,4.5-10.1,10.1s4.5,11.4,10.1,11.4s10.1-5.8,10.1-11.4S-129-10.2-134.6-10.2z"/>
<path fill="#FFFFFF" d="M-67.6-124.7c-5.6,0-10.1,4.5-10.1,10.1s4.5,10.1,10.1,10.1c5.6,0,10.1-4.5,10.1-10.1
S-62-124.7-67.6-124.7z"/>
<path fill="#FFFFFF" d="M64.4-124c-5.7,0-10.4,4.6-10.4,10.4s4.6,10.4,10.4,10.4s10.4-4.6,10.4-10.4S70.1-124,64.4-124z"/>
</g>
</g>
</symbol>
<g id="Ebene_1">
<use xlink:href="#Mini_front" width="242.4" height="214.1" id="XMLID_11_" x="-121.4" y="-112.4" transform="matrix(1 0 0 -1 126.0595 105.6499)" overflow="visible"/>
<rect x="69.7" y="101.1" fill="#1D1D1B" width="10.1" height="6.1"/>
<path fill="#FFFFFF" d="M30.1,125.2c0,0.3,0,0.5-0.1,0.7c-0.1,0.2-0.1,0.4-0.2,0.5c-0.1,0.1-0.2,0.2-0.4,0.3
c-0.2,0.1-0.3,0.1-0.5,0.1c-0.2,0-0.4,0-0.5-0.1c-0.2-0.1-0.3-0.2-0.4-0.3c-0.1-0.1-0.2-0.3-0.3-0.5c-0.1-0.2-0.1-0.4-0.1-0.7v-0.9
c0-0.3,0-0.5,0.1-0.7c0.1-0.2,0.1-0.4,0.2-0.5c0.1-0.1,0.2-0.2,0.4-0.3c0.2-0.1,0.3-0.1,0.5-0.1c0.2,0,0.4,0,0.5,0.1
c0.2,0.1,0.3,0.2,0.4,0.3c0.1,0.1,0.2,0.3,0.3,0.5c0.1,0.2,0.1,0.4,0.1,0.7V125.2z M28,125.1l1.5-1.2c0-0.3-0.1-0.5-0.2-0.6
c-0.1-0.1-0.3-0.2-0.5-0.2c-0.3,0-0.5,0.1-0.6,0.3c-0.1,0.2-0.2,0.4-0.2,0.8V125.1z M29.6,124.4l-1.5,1.2c0,0.3,0.1,0.4,0.2,0.6
c0.1,0.1,0.3,0.2,0.5,0.2c0.3,0,0.5-0.1,0.6-0.3c0.1-0.2,0.2-0.4,0.2-0.8V124.4z"/>
<path fill="#FFFFFF" d="M92.7,18h-4v-0.8h4V18z"/>
<path fill="#FFFFFF" d="M162.3,17.3h1.7v0.8h-1.7v1.9h-0.8v-1.9h-1.7v-0.8h1.7v-1.8h0.8V17.3z"/>
<path fill="#FFFFFF" d="M222.1,124.5h0.4c0.1,0,0.2,0,0.3-0.1c0.1,0,0.2-0.1,0.2-0.1c0.1-0.1,0.1-0.1,0.2-0.2
c0-0.1,0.1-0.2,0.1-0.3c0-0.2-0.1-0.4-0.2-0.5c-0.1-0.1-0.3-0.2-0.5-0.2c-0.1,0-0.2,0-0.3,0c-0.1,0-0.2,0.1-0.2,0.1
c-0.1,0.1-0.1,0.1-0.1,0.2s-0.1,0.2-0.1,0.3h-0.5c0-0.1,0-0.3,0.1-0.4c0.1-0.1,0.1-0.2,0.2-0.3c0.1-0.1,0.2-0.2,0.4-0.2
c0.1-0.1,0.3-0.1,0.5-0.1c0.2,0,0.3,0,0.5,0.1c0.1,0,0.3,0.1,0.4,0.2c0.1,0.1,0.2,0.2,0.2,0.3c0.1,0.1,0.1,0.3,0.1,0.5
c0,0.1,0,0.2,0,0.2s-0.1,0.2-0.1,0.2c0,0.1-0.1,0.1-0.2,0.2c-0.1,0.1-0.2,0.1-0.3,0.2c0.1,0,0.2,0.1,0.3,0.2
c0.1,0.1,0.2,0.1,0.2,0.2c0.1,0.1,0.1,0.2,0.1,0.3s0,0.2,0,0.3c0,0.2,0,0.3-0.1,0.5c-0.1,0.1-0.2,0.3-0.3,0.4
c-0.1,0.1-0.2,0.2-0.4,0.2c-0.2,0.1-0.3,0.1-0.5,0.1c-0.2,0-0.3,0-0.5-0.1c-0.2,0-0.3-0.1-0.4-0.2c-0.1-0.1-0.2-0.2-0.3-0.3
c-0.1-0.1-0.1-0.3-0.1-0.5h0.5c0,0.1,0,0.2,0.1,0.3c0,0.1,0.1,0.2,0.1,0.2s0.1,0.1,0.2,0.1c0.1,0,0.2,0,0.3,0c0.1,0,0.2,0,0.3,0
c0.1,0,0.2-0.1,0.2-0.1c0.1-0.1,0.1-0.1,0.2-0.2c0-0.1,0.1-0.2,0.1-0.3c0-0.1,0-0.2-0.1-0.3c0-0.1-0.1-0.2-0.2-0.2
c-0.1-0.1-0.2-0.1-0.3-0.1c-0.1,0-0.2,0-0.3,0h-0.4V124.5z"/>
<path fill="#FFFFFF" d="M90.2,203.7h-0.5v-3.3l-1,0.4v-0.5l1.5-0.6h0V203.7z"/>
<path fill="#FFFFFF" d="M163.8,203.7h-2.6v-0.4l1.3-1.4c0.1-0.1,0.2-0.2,0.3-0.3c0.1-0.1,0.1-0.2,0.2-0.3c0-0.1,0.1-0.2,0.1-0.2
c0-0.1,0-0.2,0-0.2c0-0.1,0-0.2,0-0.3c0-0.1-0.1-0.2-0.1-0.2c-0.1-0.1-0.1-0.1-0.2-0.1c-0.1,0-0.2-0.1-0.3-0.1
c-0.1,0-0.2,0-0.3,0.1c-0.1,0-0.2,0.1-0.2,0.2c-0.1,0.1-0.1,0.2-0.1,0.3c0,0.1,0,0.2,0,0.3h-0.5c0-0.2,0-0.3,0.1-0.5
c0.1-0.1,0.1-0.3,0.2-0.4c0.1-0.1,0.2-0.2,0.4-0.3c0.2-0.1,0.3-0.1,0.5-0.1c0.2,0,0.4,0,0.5,0.1c0.1,0.1,0.3,0.1,0.4,0.2
c0.1,0.1,0.2,0.2,0.2,0.3c0.1,0.1,0.1,0.3,0.1,0.4c0,0.1,0,0.2-0.1,0.3c0,0.1-0.1,0.2-0.2,0.3c-0.1,0.1-0.1,0.2-0.2,0.3
c-0.1,0.1-0.2,0.2-0.3,0.3l-1.1,1.1h2V203.7z"/>
<path fill="#FFFFFF" d="M131.7,128.3v-3.9h1.2c0.2,0,0.3,0,0.5,0.1c0.2,0,0.3,0.1,0.4,0.2s0.2,0.2,0.3,0.3c0.1,0.1,0.1,0.3,0.1,0.5
c0,0.1,0,0.2-0.1,0.3c0,0.1-0.1,0.2-0.1,0.2c-0.1,0.1-0.1,0.1-0.2,0.2c-0.1,0.1-0.2,0.1-0.2,0.1c0.1,0,0.2,0.1,0.3,0.1
c0.1,0.1,0.2,0.1,0.2,0.2s0.1,0.2,0.1,0.3c0,0.1,0.1,0.2,0.1,0.3c0,0.2,0,0.3-0.1,0.5c-0.1,0.1-0.2,0.3-0.3,0.4
c-0.1,0.1-0.3,0.2-0.4,0.2c-0.2,0.1-0.3,0.1-0.5,0.1H131.7z M132.2,126h0.7c0.1,0,0.2,0,0.3,0c0.1,0,0.2-0.1,0.2-0.1
c0.1-0.1,0.1-0.1,0.2-0.2c0-0.1,0.1-0.2,0.1-0.3c0-0.1,0-0.2-0.1-0.3c0-0.1-0.1-0.1-0.2-0.2c-0.1,0-0.2-0.1-0.2-0.1
c-0.1,0-0.2,0-0.3,0h-0.7V126z M132.2,126.4v1.4h0.8c0.1,0,0.2,0,0.3-0.1c0.1,0,0.2-0.1,0.2-0.1c0.1-0.1,0.1-0.1,0.2-0.2
c0-0.1,0.1-0.2,0.1-0.3c0-0.1,0-0.2-0.1-0.3c0-0.1-0.1-0.2-0.2-0.2c-0.1-0.1-0.1-0.1-0.2-0.1c-0.1,0-0.2-0.1-0.3-0.1H132.2z"/>
<path fill="#FFFFFF" d="M136.9,127.3h-1.3l-0.3,1h-0.5l1.3-3.9h0.4l1.2,3.9h-0.5L136.9,127.3z M135.7,126.8h1l-0.5-1.7L135.7,126.8
z"/>
<path fill="#FFFFFF" d="M141,124.8h-1.2v3.5h-0.5v-3.5H138v-0.4h2.9V124.8z"/>
<path fill="#FFFFFF" d="M144.3,124.8h-1.2v3.5h-0.5v-3.5h-1.2v-0.4h2.9V124.8z"/>
<path fill="#FFFFFF" d="M147.1,126.5h-1.6v1.4h1.9v0.4H145v-3.9h2.4v0.4h-1.9v1.3h1.6V126.5z"/>
<path fill="#FFFFFF" d="M149.6,126.7h-0.8v1.6h-0.5v-3.9h1.2c0.2,0,0.4,0,0.5,0.1s0.3,0.1,0.4,0.2c0.1,0.1,0.2,0.2,0.3,0.4
c0.1,0.1,0.1,0.3,0.1,0.5c0,0.1,0,0.2-0.1,0.4c0,0.1-0.1,0.2-0.2,0.3c-0.1,0.1-0.1,0.2-0.2,0.2c-0.1,0.1-0.2,0.1-0.3,0.2l0.8,1.7
l0,0h-0.5L149.6,126.7z M148.8,126.3h0.7c0.1,0,0.2,0,0.3-0.1c0.1,0,0.2-0.1,0.3-0.1c0.1-0.1,0.1-0.1,0.2-0.2
c0-0.1,0.1-0.2,0.1-0.3c0-0.1,0-0.2-0.1-0.3c0-0.1-0.1-0.2-0.2-0.2c-0.1-0.1-0.2-0.1-0.3-0.1s-0.2,0-0.3-0.1h-0.7V126.3z"/>
<path fill="#FFFFFF" d="M151.6,124.3h2.4v0.4H153v3.1h0.9v0.4h-2.4v-0.4h0.9v-3.1h-0.9V124.3z"/>
<path fill="#FFFFFF" d="M157.1,126.5h-1.6v1.4h1.9v0.4h-2.4v-3.9h2.4v0.4h-1.9v1.3h1.6V126.5z"/>
<path fill="#FFFFFF" d="M132.2,121.5h1.9v0.4h-2.4V118h0.5V121.5z"/>
<path fill="#FFFFFF" d="M136.8,120.9h-1.3l-0.3,1h-0.5l1.3-3.9h0.4l1.2,3.9h-0.5L136.8,120.9z M135.6,120.4h1l-0.5-1.7L135.6,120.4
z"/>
<path fill="#FFFFFF" d="M140.7,118l0,2.7c0,0.2,0,0.4-0.1,0.5c-0.1,0.2-0.2,0.3-0.3,0.4c-0.1,0.1-0.2,0.2-0.4,0.3
c-0.2,0.1-0.3,0.1-0.5,0.1c-0.2,0-0.4,0-0.5-0.1c-0.2-0.1-0.3-0.2-0.4-0.3c-0.1-0.1-0.2-0.3-0.3-0.4c-0.1-0.2-0.1-0.3-0.1-0.5
l0-2.7h0.5l0,2.7c0,0.1,0,0.2,0.1,0.3c0,0.1,0.1,0.2,0.2,0.3s0.1,0.1,0.2,0.2c0.1,0.1,0.2,0.1,0.3,0.1s0.2,0,0.3-0.1
c0.1,0,0.2-0.1,0.2-0.2c0.1-0.1,0.1-0.2,0.2-0.3c0-0.1,0.1-0.2,0.1-0.3l0-2.7H140.7z"/>
<path fill="#FFFFFF" d="M144.2,118.4H143v3.5h-0.5v-3.5h-1.2V118h2.9V118.4z"/>
<path fill="#FFFFFF" d="M147,120.9c0-0.1,0-0.2-0.1-0.3s-0.1-0.2-0.2-0.2c-0.1-0.1-0.2-0.1-0.3-0.1c-0.1,0-0.2-0.1-0.3-0.1
c-0.1,0-0.3-0.1-0.4-0.2c-0.1-0.1-0.3-0.1-0.4-0.2s-0.2-0.2-0.3-0.3c-0.1-0.1-0.1-0.3-0.1-0.4c0-0.2,0-0.3,0.1-0.5
c0.1-0.1,0.2-0.2,0.3-0.3c0.1-0.1,0.3-0.2,0.4-0.2c0.2,0,0.3-0.1,0.5-0.1c0.2,0,0.3,0,0.5,0.1c0.2,0.1,0.3,0.1,0.4,0.2
s0.2,0.2,0.3,0.4s0.1,0.3,0.1,0.5H147c0-0.1,0-0.2-0.1-0.3s-0.1-0.2-0.2-0.2c-0.1-0.1-0.2-0.1-0.2-0.2c-0.1,0-0.2-0.1-0.3-0.1
c-0.1,0-0.2,0-0.3,0c-0.1,0-0.2,0.1-0.2,0.1c-0.1,0.1-0.1,0.1-0.2,0.2s-0.1,0.2-0.1,0.3c0,0.1,0,0.2,0.1,0.3
c0.1,0.1,0.1,0.1,0.2,0.2c0.1,0.1,0.2,0.1,0.3,0.1c0.1,0,0.2,0.1,0.3,0.1c0.1,0,0.2,0.1,0.3,0.1c0.1,0,0.2,0.1,0.3,0.1
c0.1,0.1,0.2,0.1,0.3,0.2s0.1,0.1,0.2,0.2c0.1,0.1,0.1,0.2,0.1,0.3c0,0.1,0,0.2,0,0.3c0,0.2,0,0.3-0.1,0.5
c-0.1,0.1-0.2,0.2-0.3,0.3s-0.3,0.2-0.4,0.2c-0.2,0-0.3,0.1-0.5,0.1c-0.2,0-0.3,0-0.5-0.1c-0.2-0.1-0.3-0.1-0.4-0.2
c-0.1-0.1-0.2-0.2-0.3-0.4c-0.1-0.1-0.1-0.3-0.1-0.5h0.5c0,0.1,0,0.2,0.1,0.3c0.1,0.1,0.1,0.2,0.2,0.2c0.1,0.1,0.2,0.1,0.3,0.1
c0.1,0,0.2,0,0.3,0c0.1,0,0.2,0,0.3,0c0.1,0,0.2-0.1,0.3-0.1c0.1-0.1,0.1-0.1,0.2-0.2C146.9,121.1,147,121,147,120.9z"/>
<path fill="#FFFFFF" d="M148.8,120.3v1.6h-0.5V118h1.3c0.2,0,0.3,0,0.5,0.1c0.2,0.1,0.3,0.1,0.4,0.2s0.2,0.2,0.3,0.4
c0.1,0.1,0.1,0.3,0.1,0.5s0,0.4-0.1,0.5c-0.1,0.1-0.2,0.3-0.3,0.4s-0.3,0.2-0.4,0.2c-0.2,0.1-0.3,0.1-0.5,0.1H148.8z M148.8,119.9
h0.8c0.1,0,0.2,0,0.3-0.1c0.1,0,0.2-0.1,0.3-0.1c0.1-0.1,0.1-0.1,0.2-0.2c0-0.1,0.1-0.2,0.1-0.3c0-0.1,0-0.2-0.1-0.3
c0-0.1-0.1-0.2-0.2-0.2c-0.1-0.1-0.2-0.1-0.3-0.2c-0.1,0-0.2-0.1-0.3-0.1h-0.8V119.9z"/>
<path fill="#FFFFFF" d="M152.9,120.3h-0.8v1.6h-0.5V118h1.2c0.2,0,0.4,0,0.5,0.1c0.2,0,0.3,0.1,0.4,0.2c0.1,0.1,0.2,0.2,0.3,0.4
c0.1,0.1,0.1,0.3,0.1,0.5c0,0.1,0,0.2-0.1,0.4s-0.1,0.2-0.2,0.3c-0.1,0.1-0.1,0.2-0.2,0.2c-0.1,0.1-0.2,0.1-0.3,0.2l0.8,1.7l0,0
h-0.5L152.9,120.3z M152.1,119.9h0.7c0.1,0,0.2,0,0.3-0.1c0.1,0,0.2-0.1,0.3-0.1c0.1-0.1,0.1-0.1,0.2-0.2c0-0.1,0.1-0.2,0.1-0.3
c0-0.1,0-0.2-0.1-0.3c0-0.1-0.1-0.2-0.2-0.2s-0.2-0.1-0.3-0.1s-0.2,0-0.3-0.1h-0.7V119.9z"/>
<path fill="#FFFFFF" d="M157,120.1h-1.6v1.4h1.9v0.4h-2.4V118h2.4v0.4h-1.9v1.3h1.6V120.1z"/>
<path fill="#FFFFFF" d="M160.7,120.7c0,0.2-0.1,0.3-0.1,0.5c-0.1,0.2-0.2,0.3-0.3,0.4c-0.1,0.1-0.2,0.2-0.4,0.3
c-0.2,0.1-0.3,0.1-0.5,0.1c-0.2,0-0.3,0-0.4-0.1c-0.1,0-0.3-0.1-0.4-0.2c-0.1-0.1-0.2-0.2-0.3-0.3c-0.1-0.1-0.1-0.2-0.2-0.4
c-0.1-0.1-0.1-0.3-0.1-0.4c0-0.1,0-0.3,0-0.4v-0.5c0-0.1,0-0.3,0-0.4c0-0.1,0.1-0.3,0.1-0.4c0-0.1,0.1-0.3,0.2-0.4
c0.1-0.1,0.2-0.2,0.3-0.3c0.1-0.1,0.2-0.1,0.4-0.2c0.1,0,0.3-0.1,0.4-0.1c0.2,0,0.4,0,0.5,0.1c0.2,0.1,0.3,0.1,0.4,0.3
c0.1,0.1,0.2,0.2,0.3,0.4c0.1,0.2,0.1,0.3,0.1,0.5h-0.5c0-0.1,0-0.2-0.1-0.3s-0.1-0.2-0.2-0.3c-0.1-0.1-0.1-0.1-0.2-0.2
c-0.1,0-0.2-0.1-0.3-0.1c-0.1,0-0.2,0-0.3,0.1c-0.1,0-0.2,0.1-0.2,0.2c-0.1,0.1-0.1,0.1-0.2,0.2c0,0.1-0.1,0.2-0.1,0.3
c0,0.1,0,0.2-0.1,0.3c0,0.1,0,0.2,0,0.3v0.6c0,0.1,0,0.2,0,0.3c0,0.1,0,0.2,0.1,0.3c0,0.1,0.1,0.2,0.1,0.3c0,0.1,0.1,0.2,0.2,0.2
c0.1,0.1,0.1,0.1,0.2,0.2c0.1,0,0.2,0.1,0.3,0.1c0.1,0,0.2,0,0.3-0.1c0.1,0,0.2-0.1,0.2-0.2c0.1-0.1,0.1-0.2,0.2-0.3
s0.1-0.2,0.1-0.3H160.7z"/>
<path fill="#FFFFFF" d="M164,121.9h-0.5v-1.8h-1.6v1.8h-0.5V118h0.5v1.7h1.6V118h0.5V121.9z"/>
<path fill="#FFFFFF" d="M167,120.1h-1.6v1.4h1.9v0.4h-2.4V118h2.4v0.4h-1.9v1.3h1.6V120.1z"/>
<path fill="#FFFFFF" d="M169.5,120.3h-0.8v1.6h-0.5V118h1.2c0.2,0,0.4,0,0.5,0.1c0.2,0,0.3,0.1,0.4,0.2c0.1,0.1,0.2,0.2,0.3,0.4
c0.1,0.1,0.1,0.3,0.1,0.5c0,0.1,0,0.2-0.1,0.4c0,0.1-0.1,0.2-0.2,0.3s-0.1,0.2-0.2,0.2c-0.1,0.1-0.2,0.1-0.3,0.2l0.8,1.7l0,0h-0.5
L169.5,120.3z M168.7,119.9h0.7c0.1,0,0.2,0,0.3-0.1c0.1,0,0.2-0.1,0.3-0.1c0.1-0.1,0.1-0.1,0.2-0.2c0-0.1,0.1-0.2,0.1-0.3
c0-0.1,0-0.2-0.1-0.3c0-0.1-0.1-0.2-0.2-0.2c-0.1-0.1-0.2-0.1-0.3-0.1s-0.2,0-0.3-0.1h-0.7V119.9z"/>
<path fill="#FFFFFF" d="M38.6,121.8h-0.8v1.6h-0.5v-3.9h1.2c0.2,0,0.4,0,0.5,0.1c0.2,0,0.3,0.1,0.4,0.2c0.1,0.1,0.2,0.2,0.3,0.4
c0.1,0.1,0.1,0.3,0.1,0.5c0,0.1,0,0.2-0.1,0.4s-0.1,0.2-0.2,0.3c-0.1,0.1-0.1,0.2-0.2,0.2c-0.1,0.1-0.2,0.1-0.3,0.2l0.8,1.7l0,0
h-0.5L38.6,121.8z M37.8,121.4h0.7c0.1,0,0.2,0,0.3-0.1s0.2-0.1,0.3-0.1c0.1-0.1,0.1-0.1,0.2-0.2c0-0.1,0.1-0.2,0.1-0.3
c0-0.1,0-0.2-0.1-0.3c0-0.1-0.1-0.2-0.2-0.2c-0.1-0.1-0.2-0.1-0.3-0.1c-0.1,0-0.2,0-0.3-0.1h-0.7V121.4z"/>
<path fill="#FFFFFF" d="M43.2,122.9c-0.2,0.2-0.4,0.3-0.6,0.4s-0.4,0.1-0.7,0.1c-0.2,0-0.3,0-0.4-0.1c-0.1,0-0.3-0.1-0.4-0.2
c-0.1-0.1-0.2-0.2-0.3-0.3c-0.1-0.1-0.1-0.2-0.2-0.4c-0.1-0.1-0.1-0.3-0.1-0.4c0-0.1,0-0.3,0-0.4v-0.5c0-0.1,0-0.3,0-0.4
c0-0.1,0.1-0.3,0.1-0.4c0.1-0.1,0.1-0.3,0.2-0.4c0.1-0.1,0.2-0.2,0.3-0.3c0.1-0.1,0.2-0.2,0.4-0.2c0.1,0,0.3-0.1,0.4-0.1
c0.2,0,0.4,0,0.5,0.1c0.2,0.1,0.3,0.1,0.4,0.2c0.1,0.1,0.2,0.2,0.3,0.4c0.1,0.1,0.1,0.3,0.1,0.5h-0.5c0-0.1-0.1-0.2-0.1-0.3
s-0.1-0.2-0.2-0.2c-0.1-0.1-0.1-0.1-0.2-0.2c-0.1,0-0.2-0.1-0.3-0.1c-0.1,0-0.2,0-0.3,0.1c-0.1,0-0.2,0.1-0.2,0.2
c-0.1,0.1-0.1,0.1-0.2,0.2c0,0.1-0.1,0.2-0.1,0.3c0,0.1,0,0.2-0.1,0.3c0,0.1,0,0.2,0,0.3v0.5c0,0.1,0,0.2,0,0.3
c0,0.1,0,0.2,0.1,0.3c0,0.1,0.1,0.2,0.1,0.3c0.1,0.1,0.1,0.2,0.2,0.2c0.1,0.1,0.2,0.1,0.2,0.2c0.1,0,0.2,0.1,0.3,0.1
c0.1,0,0.1,0,0.2,0c0.1,0,0.1,0,0.2,0c0.1,0,0.1-0.1,0.2-0.1c0.1,0,0.1-0.1,0.2-0.1l0-0.9h-0.8v-0.4h1.3L43.2,122.9z"/>
<path fill="#FFFFFF" d="M43.9,123.4v-3.9h1.2c0.2,0,0.3,0,0.5,0.1c0.2,0,0.3,0.1,0.4,0.2s0.2,0.2,0.3,0.3c0.1,0.1,0.1,0.3,0.1,0.5
c0,0.1,0,0.2-0.1,0.3c0,0.1-0.1,0.2-0.1,0.2c-0.1,0.1-0.1,0.1-0.2,0.2c-0.1,0.1-0.2,0.1-0.2,0.1c0.1,0,0.2,0.1,0.3,0.1
c0.1,0.1,0.2,0.1,0.2,0.2c0.1,0.1,0.1,0.2,0.1,0.3c0,0.1,0.1,0.2,0.1,0.3c0,0.2,0,0.3-0.1,0.5c-0.1,0.1-0.2,0.3-0.3,0.4
c-0.1,0.1-0.3,0.2-0.4,0.2c-0.2,0.1-0.3,0.1-0.5,0.1H43.9z M44.4,121.1h0.7c0.1,0,0.2,0,0.3,0c0.1,0,0.2-0.1,0.2-0.1
c0.1-0.1,0.1-0.1,0.2-0.2c0-0.1,0.1-0.2,0.1-0.3c0-0.1,0-0.2-0.1-0.3c0-0.1-0.1-0.1-0.2-0.2c-0.1,0-0.2-0.1-0.2-0.1
c-0.1,0-0.2,0-0.3,0h-0.7V121.1z M44.4,121.6v1.4h0.8c0.1,0,0.2,0,0.3-0.1c0.1,0,0.2-0.1,0.2-0.1c0.1-0.1,0.1-0.1,0.2-0.2
c0-0.1,0.1-0.2,0.1-0.3c0-0.1,0-0.2-0.1-0.3c0-0.1-0.1-0.2-0.2-0.2s-0.1-0.1-0.2-0.1c-0.1,0-0.2-0.1-0.3-0.1H44.4z"/>
<path fill="#FFFFFF" d="M49.3,123h1.9v0.4h-2.4v-3.9h0.5V123z"/>
<path fill="#FFFFFF" d="M54.2,121.6h-1.6v1.4h1.9v0.4H52v-3.9h2.4v0.4h-1.9v1.3h1.6V121.6z"/>
<path fill="#FFFFFF" d="M55.3,123.4v-3.9h0.9c0.3,0,0.5,0.1,0.7,0.1c0.2,0.1,0.4,0.2,0.5,0.4c0.1,0.2,0.3,0.4,0.3,0.6
c0.1,0.2,0.1,0.5,0.1,0.7v0.3c0,0.3,0,0.5-0.1,0.7c-0.1,0.2-0.2,0.4-0.3,0.6c-0.1,0.2-0.3,0.3-0.5,0.4c-0.2,0.1-0.5,0.1-0.7,0.1
H55.3z M55.8,119.9v3.1h0.4c0.2,0,0.4,0,0.6-0.1c0.2-0.1,0.3-0.2,0.4-0.3c0.1-0.1,0.2-0.3,0.2-0.4c0-0.2,0.1-0.4,0.1-0.6v-0.3
c0-0.2,0-0.4-0.1-0.6c-0.1-0.2-0.1-0.3-0.2-0.4c-0.1-0.1-0.2-0.2-0.4-0.3s-0.3-0.1-0.6-0.1H55.8z"/>
<path fill="#FFFFFF" d="M37.8,117h1.9v0.4h-2.4v-3.9h0.5V117z"/>
<path fill="#FFFFFF" d="M42.4,116.4h-1.3l-0.3,1h-0.5l1.3-3.9H42l1.2,3.9h-0.5L42.4,116.4z M41.3,116h1l-0.5-1.7L41.3,116z"/>
<path fill="#FFFFFF" d="M46.4,116.9c-0.2,0.2-0.4,0.3-0.6,0.4s-0.4,0.1-0.7,0.1c-0.2,0-0.3,0-0.4-0.1c-0.1,0-0.3-0.1-0.4-0.2
c-0.1-0.1-0.2-0.2-0.3-0.3c-0.1-0.1-0.1-0.2-0.2-0.4c-0.1-0.1-0.1-0.3-0.1-0.4c0-0.1,0-0.3,0-0.4v-0.5c0-0.1,0-0.3,0-0.4
c0-0.1,0.1-0.3,0.1-0.4s0.1-0.3,0.2-0.4c0.1-0.1,0.2-0.2,0.3-0.3c0.1-0.1,0.2-0.2,0.4-0.2s0.3-0.1,0.4-0.1c0.2,0,0.4,0,0.5,0.1
c0.2,0.1,0.3,0.1,0.4,0.2c0.1,0.1,0.2,0.2,0.3,0.4c0.1,0.1,0.1,0.3,0.1,0.5h-0.5c0-0.1-0.1-0.2-0.1-0.3c0-0.1-0.1-0.2-0.2-0.2
c-0.1-0.1-0.1-0.1-0.2-0.2c-0.1,0-0.2-0.1-0.3-0.1c-0.1,0-0.2,0-0.3,0.1c-0.1,0-0.2,0.1-0.2,0.2s-0.1,0.1-0.2,0.2
c0,0.1-0.1,0.2-0.1,0.3c0,0.1,0,0.2-0.1,0.3c0,0.1,0,0.2,0,0.3v0.5c0,0.1,0,0.2,0,0.3c0,0.1,0,0.2,0.1,0.3c0,0.1,0.1,0.2,0.1,0.3
c0.1,0.1,0.1,0.2,0.2,0.2c0.1,0.1,0.2,0.1,0.2,0.2c0.1,0,0.2,0.1,0.3,0.1c0.1,0,0.1,0,0.2,0c0.1,0,0.1,0,0.2,0
c0.1,0,0.1-0.1,0.2-0.1c0.1,0,0.1-0.1,0.2-0.1l0-0.9h-0.8v-0.4h1.3L46.4,116.9z"/>
<path fill="#FFFFFF" d="M49.4,115.6h-1.6v1.4h1.9v0.4h-2.4v-3.9h2.4v0.4h-1.9v1.3h1.6V115.6z"/>
<path fill="#FFFFFF" d="M52.6,116.5c0-0.1,0-0.2-0.1-0.3s-0.1-0.2-0.2-0.2c-0.1-0.1-0.2-0.1-0.3-0.1s-0.2-0.1-0.3-0.1
c-0.1,0-0.3-0.1-0.4-0.2c-0.1-0.1-0.3-0.1-0.4-0.2s-0.2-0.2-0.3-0.3c-0.1-0.1-0.1-0.3-0.1-0.4c0-0.2,0-0.3,0.1-0.5
c0.1-0.1,0.2-0.2,0.3-0.3c0.1-0.1,0.3-0.2,0.4-0.2s0.3-0.1,0.5-0.1c0.2,0,0.3,0,0.5,0.1c0.2,0.1,0.3,0.1,0.4,0.2
c0.1,0.1,0.2,0.2,0.3,0.4c0.1,0.1,0.1,0.3,0.1,0.5h-0.5c0-0.1,0-0.2-0.1-0.3s-0.1-0.2-0.2-0.2c-0.1-0.1-0.2-0.1-0.2-0.2
c-0.1,0-0.2-0.1-0.3-0.1c-0.1,0-0.2,0-0.3,0c-0.1,0-0.2,0.1-0.2,0.1c-0.1,0.1-0.1,0.1-0.2,0.2c0,0.1-0.1,0.2-0.1,0.3
c0,0.1,0,0.2,0.1,0.3c0.1,0.1,0.1,0.1,0.2,0.2c0.1,0.1,0.2,0.1,0.3,0.1c0.1,0,0.2,0.1,0.3,0.1c0.1,0,0.2,0.1,0.3,0.1
c0.1,0,0.2,0.1,0.3,0.1c0.1,0.1,0.2,0.1,0.3,0.2c0.1,0.1,0.1,0.1,0.2,0.2c0.1,0.1,0.1,0.2,0.1,0.3c0,0.1,0,0.2,0,0.3
c0,0.2,0,0.3-0.1,0.5c-0.1,0.1-0.2,0.2-0.3,0.3c-0.1,0.1-0.3,0.2-0.4,0.2c-0.2,0-0.3,0.1-0.5,0.1c-0.2,0-0.3,0-0.5-0.1
c-0.2-0.1-0.3-0.1-0.4-0.2c-0.1-0.1-0.2-0.2-0.3-0.4c-0.1-0.1-0.1-0.3-0.1-0.5h0.5c0,0.1,0,0.2,0.1,0.3c0.1,0.1,0.1,0.2,0.2,0.2
c0.1,0.1,0.2,0.1,0.3,0.1s0.2,0,0.3,0c0.1,0,0.2,0,0.3,0c0.1,0,0.2-0.1,0.3-0.1c0.1-0.1,0.1-0.1,0.2-0.2
C52.6,116.7,52.6,116.6,52.6,116.5z"/>
<path fill="#FFFFFF" d="M56,115.6h-1.6v1.4h1.9v0.4h-2.4v-3.9h2.4v0.4h-1.9v1.3H56V115.6z"/>
<path fill="#FFFFFF" d="M59.6,117.4h-0.5l-1.5-2.9l0,2.9h-0.5v-3.9h0.5l1.5,2.9l0-2.9h0.5V117.4z"/>
<path fill="#FFFFFF" d="M62.6,116.5c0-0.1,0-0.2-0.1-0.3c-0.1-0.1-0.1-0.2-0.2-0.2c-0.1-0.1-0.2-0.1-0.3-0.1s-0.2-0.1-0.3-0.1
c-0.1,0-0.3-0.1-0.4-0.2c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1-0.1-0.2-0.2-0.3-0.3c-0.1-0.1-0.1-0.3-0.1-0.4c0-0.2,0-0.3,0.1-0.5
c0.1-0.1,0.2-0.2,0.3-0.3c0.1-0.1,0.3-0.2,0.4-0.2c0.2,0,0.3-0.1,0.5-0.1c0.2,0,0.3,0,0.5,0.1c0.2,0.1,0.3,0.1,0.4,0.2
s0.2,0.2,0.3,0.4c0.1,0.1,0.1,0.3,0.1,0.5h-0.5c0-0.1,0-0.2-0.1-0.3s-0.1-0.2-0.2-0.2c-0.1-0.1-0.2-0.1-0.2-0.2
c-0.1,0-0.2-0.1-0.3-0.1c-0.1,0-0.2,0-0.3,0c-0.1,0-0.2,0.1-0.2,0.1c-0.1,0.1-0.1,0.1-0.2,0.2c0,0.1-0.1,0.2-0.1,0.3
c0,0.1,0,0.2,0.1,0.3c0.1,0.1,0.1,0.1,0.2,0.2c0.1,0.1,0.2,0.1,0.3,0.1c0.1,0,0.2,0.1,0.3,0.1c0.1,0,0.2,0.1,0.3,0.1
c0.1,0,0.2,0.1,0.3,0.1s0.2,0.1,0.3,0.2c0.1,0.1,0.1,0.1,0.2,0.2c0.1,0.1,0.1,0.2,0.1,0.3c0,0.1,0,0.2,0,0.3c0,0.2,0,0.3-0.1,0.5
c-0.1,0.1-0.2,0.2-0.3,0.3c-0.1,0.1-0.3,0.2-0.4,0.2c-0.2,0-0.3,0.1-0.5,0.1c-0.2,0-0.3,0-0.5-0.1c-0.2-0.1-0.3-0.1-0.4-0.2
c-0.1-0.1-0.2-0.2-0.3-0.4c-0.1-0.1-0.1-0.3-0.1-0.5h0.5c0,0.1,0,0.2,0.1,0.3c0.1,0.1,0.1,0.2,0.2,0.2c0.1,0.1,0.2,0.1,0.3,0.1
s0.2,0,0.3,0c0.1,0,0.2,0,0.3,0c0.1,0,0.2-0.1,0.3-0.1c0.1-0.1,0.1-0.1,0.2-0.2C62.5,116.7,62.6,116.6,62.6,116.5z"/>
<path fill="#FFFFFF" d="M66.4,115.7c0,0.1,0,0.3,0,0.4c0,0.1-0.1,0.3-0.1,0.4c0,0.1-0.1,0.3-0.2,0.4c-0.1,0.1-0.2,0.2-0.3,0.3
c-0.1,0.1-0.2,0.2-0.3,0.2c-0.1,0-0.3,0.1-0.4,0.1s-0.3,0-0.4-0.1c-0.1,0-0.2-0.1-0.3-0.2c-0.1-0.1-0.2-0.2-0.3-0.3
c-0.1-0.1-0.1-0.2-0.2-0.4s-0.1-0.3-0.1-0.4c0-0.1,0-0.3,0-0.4v-0.4c0-0.1,0-0.3,0-0.4c0-0.1,0.1-0.3,0.1-0.4
c0-0.1,0.1-0.3,0.2-0.4c0.1-0.1,0.2-0.2,0.3-0.3c0.1-0.1,0.2-0.2,0.3-0.2c0.1,0,0.3-0.1,0.4-0.1c0.2,0,0.3,0,0.4,0.1
c0.1,0.1,0.2,0.1,0.3,0.2s0.2,0.2,0.3,0.3c0.1,0.1,0.1,0.2,0.2,0.4c0,0.1,0.1,0.3,0.1,0.4c0,0.1,0,0.3,0,0.4V115.7z M65.9,115.3
c0-0.1,0-0.2,0-0.3c0-0.1,0-0.2-0.1-0.3c0-0.1-0.1-0.2-0.1-0.3c0-0.1-0.1-0.2-0.2-0.2c-0.1-0.1-0.1-0.1-0.2-0.2
c-0.1,0-0.2-0.1-0.3-0.1c-0.1,0-0.2,0-0.3,0.1s-0.2,0.1-0.2,0.2c-0.1,0.1-0.1,0.2-0.2,0.2c0,0.1-0.1,0.2-0.1,0.3
c0,0.1,0,0.2-0.1,0.3c0,0.1,0,0.2,0,0.3v0.5c0,0.1,0,0.2,0,0.3c0,0.1,0,0.2,0.1,0.3c0,0.1,0.1,0.2,0.1,0.3c0,0.1,0.1,0.2,0.2,0.2
s0.1,0.1,0.2,0.2c0.1,0,0.2,0.1,0.3,0.1s0.2,0,0.3-0.1c0.1,0,0.2-0.1,0.2-0.2c0.1-0.1,0.1-0.1,0.2-0.2c0-0.1,0.1-0.2,0.1-0.3
c0-0.1,0-0.2,0.1-0.3s0-0.2,0-0.3V115.3z"/>
<path fill="#FFFFFF" d="M68.4,115.8h-0.8v1.6h-0.5v-3.9h1.2c0.2,0,0.4,0,0.5,0.1c0.2,0,0.3,0.1,0.4,0.2c0.1,0.1,0.2,0.2,0.3,0.4
c0.1,0.1,0.1,0.3,0.1,0.5c0,0.1,0,0.2-0.1,0.4c0,0.1-0.1,0.2-0.2,0.3c-0.1,0.1-0.1,0.2-0.2,0.2c-0.1,0.1-0.2,0.1-0.3,0.2l0.8,1.7
l0,0h-0.5L68.4,115.8z M67.7,115.4h0.7c0.1,0,0.2,0,0.3-0.1c0.1,0,0.2-0.1,0.3-0.1c0.1-0.1,0.1-0.1,0.2-0.2c0-0.1,0.1-0.2,0.1-0.3
c0-0.1,0-0.2-0.1-0.3c0-0.1-0.1-0.2-0.2-0.2s-0.2-0.1-0.3-0.1c-0.1,0-0.2,0-0.3-0.1h-0.7V115.4z"/>
<path fill="#FFFFFF" d="M184.1,49.5c0.2-0.2,0.3-0.4,0.3-0.7c0-0.3-0.1-0.5-0.3-0.7c-0.2-0.2-0.5-0.2-0.9-0.2h-1v1.8h1.1
C183.6,49.7,183.9,49.6,184.1,49.5z"/>
<path fill="#FFFFFF" d="M183.6,50.7h-1.5v2.1h1.3c0.4,0,0.7-0.1,0.9-0.3c0.2-0.2,0.3-0.4,0.3-0.7c0-0.4-0.1-0.6-0.3-0.8
C184.3,50.8,184,50.7,183.6,50.7z"/>
<path fill="#FFFFFF" d="M188.5,47.4c-1.3-2.9-4.8-4.2-7.7-2.9l-1.5,0.7c-2.9,1.3-4.2,4.8-2.9,7.7l6.2,13.9l12.1-5.5L188.5,47.4z
M185.5,53.6c-0.5,0.4-1.1,0.5-2,0.5H180v-0.9l0.8-0.2v-5.2l-0.8-0.2v-0.9h0.8h2.5c0.9,0,1.5,0.2,2,0.5c0.5,0.3,0.7,0.8,0.7,1.5
c0,0.3-0.1,0.6-0.3,0.9c-0.2,0.3-0.4,0.5-0.8,0.6c0.4,0.1,0.8,0.3,1,0.6c0.2,0.3,0.3,0.7,0.3,1.1C186.2,52.7,186,53.2,185.5,53.6z"
/>
<path fill="#FFFFFF" d="M157.7,98.3h-0.6l-0.1-0.5c-0.1-0.1-0.2-0.1-0.3-0.2c-0.1,0-0.3-0.1-0.4-0.1c-0.3,0-0.6,0.1-0.8,0.4
c-0.2,0.2-0.3,0.6-0.3,1V99c0,0.4,0.1,0.7,0.3,1c0.2,0.2,0.4,0.4,0.8,0.4c0.2,0,0.3,0,0.4-0.1c0.1,0,0.2-0.1,0.3-0.2l0.1-0.5h0.6
v0.8c-0.2,0.2-0.4,0.3-0.6,0.4c-0.2,0.1-0.5,0.2-0.8,0.2c-0.5,0-1-0.2-1.3-0.5c-0.3-0.4-0.5-0.8-0.5-1.4v-0.1c0-0.6,0.2-1,0.5-1.4
c0.3-0.4,0.8-0.5,1.3-0.5c0.3,0,0.6,0.1,0.8,0.2c0.2,0.1,0.4,0.3,0.6,0.4V98.3z"/>
<path fill="#FFFFFF" d="M158.4,100.4l0.3,0l1.2-3.4h0.8l1.2,3.4l0.3,0v0.5h-1.3v-0.5l0.3,0l-0.2-0.5h-1.3l-0.2,0.5l0.3,0v0.5h-1.3
V100.4z M159.8,99.3h0.9l-0.4-1.4h0L159.8,99.3z"/>
<path fill="#FFFFFF" d="M162.7,100.9v-0.5l0.4-0.1v-2.8l-0.4-0.1V97h0.4h0.8h0.4v0.5l-0.4,0.1v2.7h1.1l0-0.5h0.6v1.1H162.7z"/>
<path fill="#FFFFFF" d="M166.2,100.9v-0.5l0.4-0.1v-2.8l-0.4-0.1V97h0.4h0.8h0.4v0.5l-0.4,0.1v2.7h1.1l0-0.5h0.6v1.1H166.2z"/>
<path fill="#FFFFFF" d="M169.8,97.5V97h1.6v0.5l-0.4,0.1v2.8l0.4,0.1v0.5h-1.6v-0.5l0.4-0.1v-2.8L169.8,97.5z"/>
<path fill="#FFFFFF" d="M175.6,99c0,0.6-0.2,1-0.5,1.4c-0.3,0.4-0.8,0.6-1.3,0.6c-0.5,0-1-0.2-1.3-0.6c-0.3-0.4-0.5-0.8-0.5-1.4
v-0.1c0-0.6,0.2-1,0.5-1.4c0.3-0.4,0.7-0.6,1.3-0.6c0.5,0,1,0.2,1.3,0.6C175.4,97.9,175.6,98.4,175.6,99L175.6,99z M174.8,98.9
c0-0.4-0.1-0.7-0.3-1c-0.2-0.3-0.4-0.4-0.7-0.4s-0.6,0.1-0.7,0.4c-0.2,0.2-0.2,0.6-0.2,1V99c0,0.4,0.1,0.7,0.2,1
c0.2,0.3,0.4,0.4,0.7,0.4c0.3,0,0.6-0.1,0.7-0.4C174.7,99.7,174.8,99.4,174.8,98.9L174.8,98.9z"/>
<path fill="#FFFFFF" d="M178.1,97c0.4,0,0.8,0.1,1.1,0.3c0.3,0.2,0.4,0.5,0.4,0.9c0,0.4-0.1,0.7-0.4,0.9c-0.3,0.2-0.6,0.3-1.1,0.3
h-0.7v0.9l0.4,0.1v0.5h-1.6v-0.5l0.4-0.1v-2.8l-0.4-0.1V97h0.4H178.1z M177.4,98.9h0.7c0.2,0,0.4-0.1,0.5-0.2
c0.1-0.1,0.2-0.3,0.2-0.5c0-0.2-0.1-0.3-0.2-0.5c-0.1-0.1-0.3-0.2-0.5-0.2h-0.7V98.9z"/>
<path fill="#FFFFFF" d="M182.6,99.2h-1.3v1.1h1.3l0-0.5h0.6v1.1h-3.1v-0.5l0.4-0.1v-2.8l-0.4-0.1V97h0.4h2.7v1.1h-0.6l0-0.5h-1.2v1
h1.3V99.2z"/>
<path fill="#FFFFFF" d="M155.8,105.7l0,0.7c0.1-0.2,0.3-0.4,0.5-0.6c0.2-0.1,0.5-0.2,0.8-0.2c0.3,0,0.5,0.1,0.7,0.2
s0.3,0.3,0.4,0.5c0.1-0.2,0.3-0.4,0.5-0.5c0.2-0.1,0.4-0.2,0.7-0.2c0.2,0,0.4,0,0.6,0.1c0.2,0.1,0.3,0.2,0.4,0.3
c0.1,0.1,0.2,0.3,0.3,0.6c0.1,0.2,0.1,0.5,0.1,0.8v4.6h-1.3v-4.6c0-0.3-0.1-0.4-0.2-0.5c-0.1-0.1-0.2-0.1-0.4-0.1
c-0.2,0-0.3,0-0.4,0.1c-0.1,0.1-0.2,0.2-0.2,0.3v4.8H157v-4.6c0-0.2,0-0.4-0.1-0.5c-0.1-0.1-0.2-0.1-0.4-0.1c-0.2,0-0.3,0-0.4,0.1
c-0.1,0.1-0.2,0.2-0.2,0.3v4.8h-1.3v-6.3H155.8z"/>
<path fill="#FFFFFF" d="M162.8,105.7h3.3v5.1h1.9v1.1h-5.2v-1.1h1.9v-4h-1.9V105.7z M164.7,104.1c0-0.2,0.1-0.4,0.2-0.5
c0.1-0.1,0.3-0.2,0.6-0.2c0.3,0,0.5,0.1,0.6,0.2c0.1,0.1,0.2,0.3,0.2,0.5c0,0.2-0.1,0.4-0.2,0.5c-0.1,0.1-0.3,0.2-0.6,0.2
c-0.3,0-0.4-0.1-0.6-0.2C164.7,104.5,164.7,104.3,164.7,104.1z"/>
<path fill="#FFFFFF" d="M171.4,105.7l0.1,0.9c0.2-0.3,0.5-0.6,0.8-0.7c0.3-0.2,0.7-0.3,1.1-0.3c0.3,0,0.6,0,0.9,0.1
c0.3,0.1,0.5,0.2,0.7,0.4c0.2,0.2,0.3,0.5,0.4,0.8c0.1,0.3,0.2,0.7,0.2,1.1v3.9h-1.4v-3.9c0-0.3,0-0.5-0.1-0.6
c-0.1-0.2-0.1-0.3-0.3-0.4c-0.1-0.1-0.2-0.2-0.4-0.2c-0.2,0-0.3-0.1-0.5-0.1c-0.3,0-0.6,0.1-0.8,0.2c-0.2,0.1-0.4,0.3-0.5,0.5v4.5
h-1.4v-6.3H171.4z"/>
<path fill="#FFFFFF" d="M178,105.7h3.3v5.1h1.9v1.1H178v-1.1h1.9v-4H178V105.7z M179.8,104.1c0-0.2,0.1-0.4,0.2-0.5
c0.1-0.1,0.3-0.2,0.6-0.2c0.3,0,0.5,0.1,0.6,0.2c0.1,0.1,0.2,0.3,0.2,0.5c0,0.2-0.1,0.4-0.2,0.5c-0.1,0.1-0.3,0.2-0.6,0.2
c-0.3,0-0.4-0.1-0.6-0.2C179.9,104.5,179.8,104.3,179.8,104.1z"/>
<path fill="#FFFFFF" d="M165.9,82.8h-2.1c-0.3,0-0.6,0.3-0.6,0.6c0,0,0,1.8,0,1.6c0-1.3-1.1-2.4-2.4-2.4c-1.3,0-2.4,1.1-2.4,2.4
c0,0.2,0,1.6,0,2.6l-2.8,2.1c-1.9,1.5-0.9,4.5,1.5,4.5h0.6c0.2-1.8,0.8-3.9,1.9-5.3h0.1h2.5c1.1,1.3,1.6,3.5,1.9,5.3l0.8,0
c0.9,0,1.6-0.7,1.6-1.6v-6.1v-3.1C166.5,83.1,166.2,82.8,165.9,82.8z M159.9,84.1h2v1.3c0,0.4-0.3,0.8-0.8,0.8h-0.4
c-0.4,0-0.8-0.3-0.8-0.8V84.1z M159.4,88l0.9-1.7l0.5,1.7H159.4z M160.9,88l0.5-1.7l0.9,1.7H160.9z M163.6,86.5v-2.9h2.4v2.9H163.6
z"/>
<path fill="#FFFFFF" d="M162.8,94.3c-1.3-0.9-2.3-3.3-3.2-5.3v5.3L162.8,94.3z"/>
<polygon fill="#FFFFFF" points="120.5,134.9 106,134.9 93.1,121.7 59.6,121.6 59.6,120.9 93.4,120.9 106.3,134.2 120.5,134.2 "/>
<polygon fill="#FFFFFF" points="110.5,146.8 103.5,146.8 102.1,145.3 102.6,144.7 103.8,146 110.5,146 "/>
<path fill="#FFFFFF" d="M112.7,146.9v1.6h-0.5v-3.9h1.3c0.2,0,0.3,0,0.5,0.1c0.2,0.1,0.3,0.1,0.4,0.2c0.1,0.1,0.2,0.2,0.3,0.4
c0.1,0.1,0.1,0.3,0.1,0.5s0,0.4-0.1,0.5c-0.1,0.1-0.2,0.3-0.3,0.4c-0.1,0.1-0.3,0.2-0.4,0.2c-0.2,0.1-0.3,0.1-0.5,0.1H112.7z
M112.7,146.5h0.8c0.1,0,0.2,0,0.3-0.1c0.1,0,0.2-0.1,0.3-0.1s0.1-0.1,0.2-0.2c0-0.1,0.1-0.2,0.1-0.3c0-0.1,0-0.2-0.1-0.3
c0-0.1-0.1-0.2-0.2-0.2s-0.2-0.1-0.3-0.2c-0.1,0-0.2-0.1-0.3-0.1h-0.8V146.5z"/>
<path fill="#FFFFFF" d="M116.7,146.9H116v1.6h-0.5v-3.9h1.2c0.2,0,0.4,0,0.5,0.1c0.2,0,0.3,0.1,0.4,0.2c0.1,0.1,0.2,0.2,0.3,0.4
c0.1,0.1,0.1,0.3,0.1,0.5c0,0.1,0,0.2-0.1,0.4c0,0.1-0.1,0.2-0.2,0.3s-0.1,0.2-0.2,0.2c-0.1,0.1-0.2,0.1-0.3,0.2l0.8,1.7l0,0h-0.5
L116.7,146.9z M116,146.5h0.7c0.1,0,0.2,0,0.3-0.1c0.1,0,0.2-0.1,0.3-0.1c0.1-0.1,0.1-0.1,0.2-0.2c0-0.1,0.1-0.2,0.1-0.3
c0-0.1,0-0.2-0.1-0.3c0-0.1-0.1-0.2-0.2-0.2s-0.2-0.1-0.3-0.1c-0.1,0-0.2,0-0.3-0.1H116V146.5z"/>
<path fill="#FFFFFF" d="M121.3,146.8c0,0.1,0,0.3,0,0.4c0,0.1-0.1,0.3-0.1,0.4c0,0.1-0.1,0.3-0.2,0.4c-0.1,0.1-0.2,0.2-0.3,0.3
s-0.2,0.2-0.3,0.2c-0.1,0-0.3,0.1-0.4,0.1s-0.3,0-0.4-0.1c-0.1,0-0.2-0.1-0.3-0.2s-0.2-0.2-0.3-0.3c-0.1-0.1-0.1-0.2-0.2-0.4
c0-0.1-0.1-0.3-0.1-0.4c0-0.1,0-0.3,0-0.4v-0.4c0-0.1,0-0.3,0-0.4c0-0.1,0.1-0.3,0.1-0.4c0-0.1,0.1-0.3,0.2-0.4
c0.1-0.1,0.2-0.2,0.3-0.3c0.1-0.1,0.2-0.2,0.3-0.2c0.1,0,0.3-0.1,0.4-0.1c0.2,0,0.3,0,0.4,0.1c0.1,0.1,0.2,0.1,0.3,0.2
s0.2,0.2,0.3,0.3c0.1,0.1,0.1,0.2,0.2,0.4c0,0.1,0.1,0.3,0.1,0.4c0,0.1,0,0.3,0,0.4V146.8z M120.8,146.3c0-0.1,0-0.2,0-0.3
c0-0.1,0-0.2-0.1-0.3c0-0.1-0.1-0.2-0.1-0.3c0-0.1-0.1-0.2-0.2-0.2c-0.1-0.1-0.1-0.1-0.2-0.2c-0.1,0-0.2-0.1-0.3-0.1
c-0.1,0-0.2,0-0.3,0.1c-0.1,0-0.2,0.1-0.2,0.2c-0.1,0.1-0.1,0.2-0.2,0.2c0,0.1-0.1,0.2-0.1,0.3c0,0.1,0,0.2-0.1,0.3
c0,0.1,0,0.2,0,0.3v0.5c0,0.1,0,0.2,0,0.3c0,0.1,0,0.2,0.1,0.3c0,0.1,0.1,0.2,0.1,0.3c0,0.1,0.1,0.2,0.2,0.2
c0.1,0.1,0.1,0.1,0.2,0.2c0.1,0,0.2,0.1,0.3,0.1s0.2,0,0.3-0.1c0.1,0,0.2-0.1,0.2-0.2c0.1-0.1,0.1-0.1,0.2-0.2
c0-0.1,0.1-0.2,0.1-0.3c0-0.1,0-0.2,0.1-0.3s0-0.2,0-0.3V146.3z"/>
<path fill="#FFFFFF" d="M122.5,148.1h2v0.4h-2.6l0-0.4l2-3.1H122v-0.4h2.5l0,0.4L122.5,148.1z"/>
<path fill="#FFFFFF" d="M127.6,146.7h-1.6v1.4h1.9v0.4h-2.4v-3.9h2.4v0.4h-1.9v1.3h1.6V146.7z"/>
<path fill="#FFFFFF" d="M130.8,147.5c0-0.1,0-0.2-0.1-0.3s-0.1-0.2-0.2-0.2c-0.1-0.1-0.2-0.1-0.3-0.1s-0.2-0.1-0.3-0.1
c-0.1,0-0.3-0.1-0.4-0.2c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1-0.1-0.2-0.2-0.3-0.3c-0.1-0.1-0.1-0.3-0.1-0.4s0-0.3,0.1-0.5
c0.1-0.1,0.2-0.2,0.3-0.3c0.1-0.1,0.3-0.2,0.4-0.2c0.2,0,0.3-0.1,0.5-0.1c0.2,0,0.3,0,0.5,0.1c0.2,0.1,0.3,0.1,0.4,0.2
s0.2,0.2,0.3,0.4s0.1,0.3,0.1,0.5h-0.5c0-0.1,0-0.2-0.1-0.3c0-0.1-0.1-0.2-0.2-0.2c-0.1-0.1-0.2-0.1-0.2-0.2
c-0.1,0-0.2-0.1-0.3-0.1c-0.1,0-0.2,0-0.3,0c-0.1,0-0.2,0.1-0.2,0.1c-0.1,0.1-0.1,0.1-0.2,0.2c0,0.1-0.1,0.2-0.1,0.3
c0,0.1,0,0.2,0.1,0.3c0.1,0.1,0.1,0.1,0.2,0.2c0.1,0.1,0.2,0.1,0.3,0.1c0.1,0,0.2,0.1,0.3,0.1c0.1,0,0.2,0.1,0.3,0.1
c0.1,0,0.2,0.1,0.3,0.1c0.1,0.1,0.2,0.1,0.3,0.2s0.1,0.1,0.2,0.2c0.1,0.1,0.1,0.2,0.1,0.3c0,0.1,0,0.2,0,0.3c0,0.2,0,0.3-0.1,0.5
c-0.1,0.1-0.2,0.2-0.3,0.3s-0.3,0.2-0.4,0.2c-0.2,0-0.3,0.1-0.5,0.1c-0.2,0-0.3,0-0.5-0.1c-0.2-0.1-0.3-0.1-0.4-0.2
c-0.1-0.1-0.2-0.2-0.3-0.4c-0.1-0.1-0.1-0.3-0.1-0.5h0.5c0,0.1,0,0.2,0.1,0.3c0.1,0.1,0.1,0.2,0.2,0.2c0.1,0.1,0.2,0.1,0.3,0.1
c0.1,0,0.2,0,0.3,0c0.1,0,0.2,0,0.3,0c0.1,0,0.2-0.1,0.3-0.1c0.1-0.1,0.1-0.1,0.2-0.2C130.8,147.7,130.8,147.6,130.8,147.5z"/>
<path fill="#FFFFFF" d="M134.1,147.5c0-0.1,0-0.2-0.1-0.3c-0.1-0.1-0.1-0.2-0.2-0.2c-0.1-0.1-0.2-0.1-0.3-0.1s-0.2-0.1-0.3-0.1
c-0.1,0-0.3-0.1-0.4-0.2c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1-0.1-0.2-0.2-0.3-0.3c-0.1-0.1-0.1-0.3-0.1-0.4s0-0.3,0.1-0.5
c0.1-0.1,0.2-0.2,0.3-0.3c0.1-0.1,0.3-0.2,0.4-0.2c0.2,0,0.3-0.1,0.5-0.1c0.2,0,0.3,0,0.5,0.1c0.2,0.1,0.3,0.1,0.4,0.2
s0.2,0.2,0.3,0.4c0.1,0.1,0.1,0.3,0.1,0.5h-0.5c0-0.1,0-0.2-0.1-0.3c0-0.1-0.1-0.2-0.2-0.2c-0.1-0.1-0.2-0.1-0.2-0.2
c-0.1,0-0.2-0.1-0.3-0.1c-0.1,0-0.2,0-0.3,0c-0.1,0-0.2,0.1-0.2,0.1c-0.1,0.1-0.1,0.1-0.2,0.2c0,0.1-0.1,0.2-0.1,0.3
c0,0.1,0,0.2,0.1,0.3c0.1,0.1,0.1,0.1,0.2,0.2c0.1,0.1,0.2,0.1,0.3,0.1c0.1,0,0.2,0.1,0.3,0.1c0.1,0,0.2,0.1,0.3,0.1
c0.1,0,0.2,0.1,0.3,0.1c0.1,0.1,0.2,0.1,0.3,0.2c0.1,0.1,0.1,0.1,0.2,0.2c0.1,0.1,0.1,0.2,0.1,0.3c0,0.1,0,0.2,0,0.3
c0,0.2,0,0.3-0.1,0.5c-0.1,0.1-0.2,0.2-0.3,0.3s-0.3,0.2-0.4,0.2c-0.2,0-0.3,0.1-0.5,0.1c-0.2,0-0.3,0-0.5-0.1
c-0.2-0.1-0.3-0.1-0.4-0.2c-0.1-0.1-0.2-0.2-0.3-0.4c-0.1-0.1-0.1-0.3-0.1-0.5h0.5c0,0.1,0,0.2,0.1,0.3c0.1,0.1,0.1,0.2,0.2,0.2
c0.1,0.1,0.2,0.1,0.3,0.1c0.1,0,0.2,0,0.3,0c0.1,0,0.2,0,0.3,0c0.1,0,0.2-0.1,0.3-0.1c0.1-0.1,0.1-0.1,0.2-0.2
C134.1,147.7,134.1,147.6,134.1,147.5z"/>
<path fill="#FFFFFF" d="M137.9,146.8c0,0.1,0,0.3,0,0.4c0,0.1-0.1,0.3-0.1,0.4c0,0.1-0.1,0.3-0.2,0.4c-0.1,0.1-0.2,0.2-0.3,0.3
s-0.2,0.2-0.3,0.2c-0.1,0-0.3,0.1-0.4,0.1s-0.3,0-0.4-0.1c-0.1,0-0.2-0.1-0.3-0.2s-0.2-0.2-0.3-0.3c-0.1-0.1-0.1-0.2-0.2-0.4
c0-0.1-0.1-0.3-0.1-0.4c0-0.1,0-0.3,0-0.4v-0.4c0-0.1,0-0.3,0-0.4c0-0.1,0.1-0.3,0.1-0.4c0-0.1,0.1-0.3,0.2-0.4
c0.1-0.1,0.2-0.2,0.3-0.3c0.1-0.1,0.2-0.2,0.3-0.2c0.1,0,0.3-0.1,0.4-0.1s0.3,0,0.4,0.1c0.1,0.1,0.2,0.1,0.3,0.2s0.2,0.2,0.3,0.3
c0.1,0.1,0.1,0.2,0.2,0.4c0,0.1,0.1,0.3,0.1,0.4s0,0.3,0,0.4V146.8z M137.4,146.3c0-0.1,0-0.2,0-0.3c0-0.1,0-0.2-0.1-0.3
c0-0.1-0.1-0.2-0.1-0.3c0-0.1-0.1-0.2-0.2-0.2c-0.1-0.1-0.1-0.1-0.2-0.2c-0.1,0-0.2-0.1-0.3-0.1c-0.1,0-0.2,0-0.3,0.1
s-0.2,0.1-0.2,0.2c-0.1,0.1-0.1,0.2-0.2,0.2c0,0.1-0.1,0.2-0.1,0.3c0,0.1,0,0.2-0.1,0.3c0,0.1,0,0.2,0,0.3v0.5c0,0.1,0,0.2,0,0.3
c0,0.1,0,0.2,0.1,0.3c0,0.1,0.1,0.2,0.1,0.3c0,0.1,0.1,0.2,0.2,0.2c0.1,0.1,0.1,0.1,0.2,0.2s0.2,0.1,0.3,0.1s0.2,0,0.3-0.1
c0.1,0,0.2-0.1,0.2-0.2c0.1-0.1,0.1-0.1,0.2-0.2c0-0.1,0.1-0.2,0.1-0.3c0-0.1,0-0.2,0.1-0.3c0-0.1,0-0.2,0-0.3V146.3z"/>
<path fill="#FFFFFF" d="M140,146.9h-0.8v1.6h-0.5v-3.9h1.2c0.2,0,0.4,0,0.5,0.1c0.2,0,0.3,0.1,0.4,0.2c0.1,0.1,0.2,0.2,0.3,0.4
c0.1,0.1,0.1,0.3,0.1,0.5c0,0.1,0,0.2-0.1,0.4c0,0.1-0.1,0.2-0.2,0.3s-0.1,0.2-0.2,0.2c-0.1,0.1-0.2,0.1-0.3,0.2l0.8,1.7l0,0h-0.5
L140,146.9z M139.2,146.5h0.7c0.1,0,0.2,0,0.3-0.1c0.1,0,0.2-0.1,0.3-0.1c0.1-0.1,0.1-0.1,0.2-0.2c0-0.1,0.1-0.2,0.1-0.3
c0-0.1,0-0.2-0.1-0.3c0-0.1-0.1-0.2-0.2-0.2c-0.1-0.1-0.2-0.1-0.3-0.1c-0.1,0-0.2,0-0.3-0.1h-0.7V146.5z"/>
<polygon fill="#FFFFFF" points="74.3,115.9 71.3,115.9 71.3,115.2 74,115.2 74.5,114.6 74.5,107.2 75.2,107.2 75.2,115 "/>
<path fill="#FFFFFF" d="M116.3,54l0,2.7c0,0.2,0,0.4-0.1,0.5s-0.2,0.3-0.3,0.4s-0.2,0.2-0.4,0.3c-0.2,0.1-0.3,0.1-0.5,0.1
c-0.2,0-0.4,0-0.5-0.1c-0.2-0.1-0.3-0.2-0.4-0.3c-0.1-0.1-0.2-0.3-0.3-0.4c-0.1-0.2-0.1-0.3-0.1-0.5l0-2.7h0.5l0,2.7
c0,0.1,0,0.2,0.1,0.3c0,0.1,0.1,0.2,0.2,0.3c0.1,0.1,0.1,0.1,0.2,0.2c0.1,0.1,0.2,0.1,0.3,0.1c0.1,0,0.2,0,0.3-0.1
c0.1,0,0.2-0.1,0.2-0.2c0.1-0.1,0.1-0.2,0.2-0.3s0.1-0.2,0.1-0.3l0-2.7H116.3z"/>
<path fill="#FFFFFF" d="M119.2,56.9c0-0.1,0-0.2-0.1-0.3c-0.1-0.1-0.1-0.2-0.2-0.2c-0.1-0.1-0.2-0.1-0.3-0.1s-0.2-0.1-0.3-0.1
c-0.1,0-0.3-0.1-0.4-0.2c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1-0.1-0.2-0.2-0.3-0.3c-0.1-0.1-0.1-0.3-0.1-0.4c0-0.2,0-0.3,0.1-0.5
c0.1-0.1,0.2-0.2,0.3-0.3c0.1-0.1,0.3-0.2,0.4-0.2s0.3-0.1,0.5-0.1c0.2,0,0.3,0,0.5,0.1c0.2,0.1,0.3,0.1,0.4,0.2s0.2,0.2,0.3,0.4
c0.1,0.1,0.1,0.3,0.1,0.5h-0.5c0-0.1,0-0.2-0.1-0.3s-0.1-0.2-0.2-0.2c-0.1-0.1-0.2-0.1-0.2-0.2c-0.1,0-0.2-0.1-0.3-0.1
c-0.1,0-0.2,0-0.3,0c-0.1,0-0.2,0.1-0.2,0.1c-0.1,0.1-0.1,0.1-0.2,0.2c0,0.1-0.1,0.2-0.1,0.3c0,0.1,0,0.2,0.1,0.3
c0.1,0.1,0.1,0.1,0.2,0.2c0.1,0.1,0.2,0.1,0.3,0.1c0.1,0,0.2,0.1,0.3,0.1c0.1,0,0.2,0.1,0.3,0.1c0.1,0,0.2,0.1,0.3,0.1
c0.1,0.1,0.2,0.1,0.3,0.2c0.1,0.1,0.1,0.1,0.2,0.2c0.1,0.1,0.1,0.2,0.1,0.3c0,0.1,0,0.2,0,0.3c0,0.2,0,0.3-0.1,0.5
c-0.1,0.1-0.2,0.2-0.3,0.3s-0.3,0.2-0.4,0.2c-0.2,0-0.3,0.1-0.5,0.1c-0.2,0-0.3,0-0.5-0.1c-0.2-0.1-0.3-0.1-0.4-0.2
c-0.1-0.1-0.2-0.2-0.3-0.4c-0.1-0.1-0.1-0.3-0.1-0.5h0.5c0,0.1,0,0.2,0.1,0.3c0.1,0.1,0.1,0.2,0.2,0.2c0.1,0.1,0.2,0.1,0.3,0.1
s0.2,0,0.3,0c0.1,0,0.2,0,0.3,0c0.1,0,0.2-0.1,0.3-0.1c0.1-0.1,0.1-0.1,0.2-0.2C119.1,57.1,119.2,57.1,119.2,56.9z"/>
<path fill="#FFFFFF" d="M120.4,57.9V54h1.2c0.2,0,0.3,0,0.5,0.1c0.2,0,0.3,0.1,0.4,0.2c0.1,0.1,0.2,0.2,0.3,0.3
c0.1,0.1,0.1,0.3,0.1,0.5c0,0.1,0,0.2-0.1,0.3c0,0.1-0.1,0.2-0.1,0.2c-0.1,0.1-0.1,0.1-0.2,0.2s-0.2,0.1-0.2,0.1
c0.1,0,0.2,0.1,0.3,0.1c0.1,0.1,0.2,0.1,0.2,0.2c0.1,0.1,0.1,0.2,0.1,0.3c0,0.1,0.1,0.2,0.1,0.3c0,0.2,0,0.3-0.1,0.5
s-0.2,0.3-0.3,0.4c-0.1,0.1-0.3,0.2-0.4,0.2c-0.2,0.1-0.3,0.1-0.5,0.1H120.4z M120.9,55.7h0.7c0.1,0,0.2,0,0.3,0
c0.1,0,0.2-0.1,0.2-0.1c0.1-0.1,0.1-0.1,0.2-0.2s0.1-0.2,0.1-0.3c0-0.1,0-0.2-0.1-0.3c0-0.1-0.1-0.1-0.2-0.2
c-0.1,0-0.2-0.1-0.2-0.1c-0.1,0-0.2,0-0.3,0h-0.7V55.7z M120.9,56.1v1.4h0.8c0.1,0,0.2,0,0.3-0.1c0.1,0,0.2-0.1,0.2-0.1
c0.1-0.1,0.1-0.1,0.2-0.2c0-0.1,0.1-0.2,0.1-0.3c0-0.1,0-0.2-0.1-0.3c0-0.1-0.1-0.2-0.2-0.2c-0.1-0.1-0.1-0.1-0.2-0.1
s-0.2-0.1-0.3-0.1H120.9z"/>
<polygon fill="#FFFFFF" points="126.6,56 124.6,56 124.6,55.2 126.2,55.2 126.7,54.7 126.7,39 127.5,39 127.5,55.1 "/>
<polygon fill="#FFFFFF" points="153.8,33.2 151,33.2 151,34 153.5,34 154,34.5 154,45.7 153.5,46.2 152.9,46.2 152.9,47 153.8,47
154.8,46 154.8,34.2 "/>
<polygon fill="#FFFFFF" points="169.8,125.6 159,125.6 159,126.4 169.5,126.4 180.4,137.3 186.4,137.3 190.8,141.8 190.8,147.2
191.6,147.2 191.6,141.4 186.7,136.5 180.7,136.5 "/>
<polygon fill="#FFFFFF" points="184.5,120.1 172.4,120.1 172.4,119.3 184.8,119.3 "/>
<polygon fill="#FFFFFF" points="183.3,17.6 180.8,17.6 180.8,15.1 180.5,15.1 180.5,17.6 178,17.6 178,17.8 180.5,17.8 180.5,20.6
180.8,20.6 180.8,17.8 183.3,17.8 "/>
<path fill="#FFFFFF" d="M138.1,47.1h-0.8v1.6h-0.5v-3.9h1.2c0.2,0,0.4,0,0.5,0.1c0.2,0,0.3,0.1,0.4,0.2c0.1,0.1,0.2,0.2,0.3,0.4
c0.1,0.1,0.1,0.3,0.1,0.5c0,0.1,0,0.2-0.1,0.4c0,0.1-0.1,0.2-0.2,0.3c-0.1,0.1-0.1,0.2-0.2,0.2c-0.1,0.1-0.2,0.1-0.3,0.2l0.8,1.7
l0,0h-0.5L138.1,47.1z M137.3,46.6h0.7c0.1,0,0.2,0,0.3-0.1c0.1,0,0.2-0.1,0.3-0.1c0.1-0.1,0.1-0.1,0.2-0.2c0-0.1,0.1-0.2,0.1-0.3
c0-0.1,0-0.2-0.1-0.3c0-0.1-0.1-0.2-0.2-0.2c-0.1-0.1-0.2-0.1-0.3-0.1c-0.1,0-0.2,0-0.3-0.1h-0.7V46.6z"/>
<path fill="#FFFFFF" d="M142.3,46.8h-1.6v1.4h1.9v0.4h-2.4v-3.9h2.4v0.4h-1.9v1.3h1.6V46.8z"/>
<path fill="#FFFFFF" d="M145.5,47.7c0-0.1,0-0.2-0.1-0.3c-0.1-0.1-0.1-0.2-0.2-0.2c-0.1-0.1-0.2-0.1-0.3-0.1
c-0.1,0-0.2-0.1-0.3-0.1c-0.1,0-0.3-0.1-0.4-0.2c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1-0.1-0.2-0.2-0.3-0.3c-0.1-0.1-0.1-0.3-0.1-0.4
s0-0.3,0.1-0.5c0.1-0.1,0.2-0.2,0.3-0.3c0.1-0.1,0.3-0.2,0.4-0.2c0.2,0,0.3-0.1,0.5-0.1c0.2,0,0.3,0,0.5,0.1
c0.2,0.1,0.3,0.1,0.4,0.2s0.2,0.2,0.3,0.4c0.1,0.1,0.1,0.3,0.1,0.5h-0.5c0-0.1,0-0.2-0.1-0.3c0-0.1-0.1-0.2-0.2-0.2
c-0.1-0.1-0.2-0.1-0.2-0.2c-0.1,0-0.2-0.1-0.3-0.1c-0.1,0-0.2,0-0.3,0c-0.1,0-0.2,0.1-0.2,0.1c-0.1,0.1-0.1,0.1-0.2,0.2
c0,0.1-0.1,0.2-0.1,0.3c0,0.1,0,0.2,0.1,0.3c0.1,0.1,0.1,0.1,0.2,0.2c0.1,0.1,0.2,0.1,0.3,0.1c0.1,0,0.2,0.1,0.3,0.1
c0.1,0,0.2,0.1,0.3,0.1c0.1,0,0.2,0.1,0.3,0.1c0.1,0.1,0.2,0.1,0.3,0.2s0.1,0.1,0.2,0.2c0.1,0.1,0.1,0.2,0.1,0.3c0,0.1,0,0.2,0,0.3
c0,0.2,0,0.3-0.1,0.5c-0.1,0.1-0.2,0.2-0.3,0.3c-0.1,0.1-0.3,0.2-0.4,0.2c-0.2,0-0.3,0.1-0.5,0.1c-0.2,0-0.3,0-0.5-0.1
c-0.2-0.1-0.3-0.1-0.4-0.2c-0.1-0.1-0.2-0.2-0.3-0.4c-0.1-0.1-0.1-0.3-0.1-0.5h0.5c0,0.1,0,0.2,0.1,0.3c0.1,0.1,0.1,0.2,0.2,0.2
c0.1,0.1,0.2,0.1,0.3,0.1c0.1,0,0.2,0,0.3,0c0.1,0,0.2,0,0.3,0c0.1,0,0.2-0.1,0.3-0.1c0.1-0.1,0.1-0.1,0.2-0.2
C145.5,47.9,145.5,47.8,145.5,47.7z"/>
<path fill="#FFFFFF" d="M148.9,46.8h-1.6v1.4h1.9v0.4h-2.4v-3.9h2.4v0.4h-1.9v1.3h1.6V46.8z"/>
<path fill="#FFFFFF" d="M152.8,45.2h-1.2v3.5H151v-3.5h-1.2v-0.4h2.9V45.2z"/>
<polygon fill="#FFFFFF" points="70.8,77.8 70,80.3 71.6,80.3 70.8,77.8 "/>
<path fill="#FFFFFF" d="M76.5,77.7l-8.6-14.3l-11.4,6.8L65,84.5c1.6,2.8,5.2,3.7,8,2l1.4-0.8C77.2,84,78.1,80.5,76.5,77.7z
M74.3,83.4h-2.5v-0.9l0.5-0.1l-0.3-1h-2.4l-0.3,1l0.5,0.1v0.9h-2.5v-0.9l0.5-0.1l2.2-6.3h1.5l2.2,6.3l0.5,0.1V83.4z"/>
<path fill="#FFFFFF" d="M46.6,100h-1.3l-0.3,1h-0.5l1.3-3.9h0.4l1.2,3.9h-0.5L46.6,100z M45.4,99.5h1L46,97.9L45.4,99.5z"/>
<path fill="#FFFFFF" d="M51.7,99.5c0,0.2,0,0.5-0.1,0.7c-0.1,0.2-0.1,0.4-0.2,0.5c-0.1,0.1-0.2,0.2-0.4,0.3s-0.3,0.1-0.5,0.1
c-0.2,0-0.4,0-0.5-0.1c-0.2-0.1-0.3-0.2-0.4-0.3c-0.1-0.1-0.2-0.3-0.2-0.5c-0.1-0.2-0.1-0.4-0.1-0.7v-0.9c0-0.2,0-0.5,0.1-0.7
c0.1-0.2,0.1-0.4,0.2-0.5c0.1-0.1,0.2-0.2,0.4-0.3c0.2-0.1,0.3-0.1,0.5-0.1c0.2,0,0.4,0,0.5,0.1c0.2,0.1,0.3,0.2,0.4,0.3
c0.1,0.1,0.2,0.3,0.2,0.5c0.1,0.2,0.1,0.4,0.1,0.7V99.5z M49.7,99.4l1.5-1.2c0-0.3-0.1-0.5-0.2-0.6c-0.1-0.1-0.3-0.2-0.5-0.2
c-0.3,0-0.5,0.1-0.6,0.3c-0.1,0.2-0.2,0.4-0.2,0.8V99.4z M51.2,98.7l-1.5,1.2c0,0.3,0.1,0.4,0.2,0.6c0.1,0.1,0.3,0.2,0.5,0.2
c0.3,0,0.5-0.1,0.6-0.3c0.1-0.2,0.2-0.4,0.2-0.8V98.7z"/>
<path fill="#FFFFFF" d="M203.5,100h-1.3l-0.3,1h-0.5l1.3-3.9h0.4l1.2,3.9h-0.5L203.5,100z M202.3,99.5h1l-0.5-1.7L202.3,99.5z"/>
<path fill="#FFFFFF" d="M207.7,101h-0.5v-3.3l-1,0.4v-0.5l1.5-0.6h0V101z"/>
<rect x="59.4" y="51.6" transform="matrix(0.8923 0.4514 -0.4514 0.8923 31.0258 -21.4341)" fill="#F9EBA7" width="2.1" height="5.4"/>
<rect x="69.8" y="56.9" transform="matrix(0.8923 0.4514 -0.4514 0.8923 34.5226 -25.5642)" fill="#F9EBA7" width="2.1" height="5.4"/>
<rect x="50.1" y="69.9" transform="matrix(0.8923 0.4514 -0.4514 0.8923 38.3019 -15.2737)" fill="#F9EBA7" width="2.1" height="5.4"/>
<rect x="60.5" y="75.2" transform="matrix(0.8923 0.4514 -0.4514 0.8923 41.7987 -19.4037)" fill="#F9EBA7" width="2.1" height="5.4"/>
<path fill="#BDD1CF" d="M63.6,76l-12.2-6.1c-0.5-0.3-0.7-0.9-0.5-1.5l6.2-12.3c0.3-0.5,0.9-0.7,1.5-0.5l12.2,6.1
c0.5,0.3,0.7,0.9,0.5,1.5l-6.2,12.3C64.8,76.1,64.1,76.3,63.6,76z"/>
<circle id="BTN_A" fill="#186A8C" cx="61.1" cy="65.9" r="4.9"/>
<circle fill="#1D1D1B" cx="58.6" cy="58" r="1.6"/>
<circle fill="#1D1D1B" cx="69" cy="63.3" r="1.6"/>
<circle fill="#1D1D1B" cx="53.3" cy="68.3" r="1.6"/>
<circle fill="#1D1D1B" cx="63.7" cy="73.6" r="1.6"/>
<rect x="179.7" y="56.7" transform="matrix(0.8998 -0.4362 0.4362 0.8998 -7.8105 84.8091)" fill="#F9EBA7" width="2.1" height="5.4"/>
<rect x="190.2" y="51.6" transform="matrix(0.8998 -0.4362 0.4362 0.8998 -4.5406 88.8767)" fill="#F9EBA7" width="2.1" height="5.4"/>
<rect x="188.7" y="75.2" transform="matrix(0.8998 -0.4362 0.4362 0.8998 -14.9765 90.5698)" fill="#F9EBA7" width="2.1" height="5.4"/>
<rect x="199.2" y="70.1" transform="matrix(0.8998 -0.4362 0.4362 0.8998 -11.7066 94.6374)" fill="#F9EBA7" width="2.1" height="5.4"/>
<path fill="#BDD1CF" d="M200,70L187.7,76c-0.5,0.3-1.2,0-1.4-0.5l-6-12.4c-0.3-0.5,0-1.2,0.5-1.4l12.3-5.9c0.5-0.3,1.2,0,1.4,0.5
l6,12.4C200.7,69.1,200.5,69.8,200,70z"/>
<circle id="BTN_B" fill="#D82E50" cx="190.4" cy="65.9" r="4.9"/>
<circle fill="#1D1D1B" cx="182.6" cy="63.1" r="1.6"/>
<circle fill="#1D1D1B" cx="193.1" cy="58" r="1.6"/>
<circle fill="#1D1D1B" cx="187.6" cy="73.6" r="1.6"/>
<circle fill="#1D1D1B" cx="198.1" cy="68.5" r="1.6"/>
<path fill="#BDD1CF" d="M151.7,39h-13.6c-0.6,0-1.1-0.5-1.1-1.1V24.1c0-0.6,0.5-1.1,1.1-1.1h13.6c0.6,0,1.1,0.5,1.1,1.1v13.7
C152.8,38.5,152.3,39,151.7,39z"/>
<circle fill="#53787C" cx="144.9" cy="31" r="4.9"/>
<rect x="156.9" y="33.6" fill="#1D1D1B" width="10.7" height="13.1"/>
</g>
<g id="EDGE_P0">
<path fill="#EFDA48" d="M17.1,97.1c-7.7,0-13.9,6.2-13.9,13.9S9.4,125,17.1,125S31,118.8,31,111.1S24.8,97.1,17.1,97.1z
M17.1,117.7c-3.7,0-6.6-3-6.6-6.6s3-6.6,6.6-6.6s6.6,3,6.6,6.6S20.7,117.7,17.1,117.7z"/>
</g>
<g id="EDGE_GND">
<path fill="#EFDA48" d="M71.8,3.4c-7.7,0-13.9,6.2-13.9,13.9s6.2,13.9,13.9,13.9s13.9-6.2,13.9-13.9S79.5,3.4,71.8,3.4z M71.8,24
c-3.7,0-6.6-3-6.6-6.6s3-6.6,6.6-6.6c3.7,0,6.6,3,6.6,6.6S75.5,24,71.8,24z"/>
</g>
<g id="EDGE_VCC">
<path fill="#EFDA48" d="M179.6,3.4c-7.7,0-13.9,6.2-13.9,13.9s6.2,13.9,13.9,13.9s13.9-6.2,13.9-13.9S187.3,3.4,179.6,3.4z
M179.6,24c-3.7,0-6.6-3-6.6-6.6s3-6.6,6.6-6.6c3.7,0,6.6,3,6.6,6.6S183.3,24,179.6,24z"/>
</g>
<g id="EDGE_P3">
<path fill="#EFDA48" d="M233.3,97.1c-7.7,0-13.9,6.2-13.9,13.9s6.2,13.9,13.9,13.9s13.9-6.2,13.9-13.9S241,97.1,233.3,97.1z
M233.3,117.7c-3.7,0-6.6-3-6.6-6.6c0-3.7,3-6.6,6.6-6.6c3.7,0,6.6,3,6.6,6.6C239.9,114.7,236.9,117.7,233.3,117.7z"/>
</g>
<g id="EDGE_P2">
<path fill="#EFDA48" d="M179.9,190.1c-7.7,0-13.9,6.2-13.9,13.9s6.2,13.9,13.9,13.9s13.9-6.2,13.9-13.9S187.6,190.1,179.9,190.1z
M179.9,210.7c-3.7,0-6.6-3-6.6-6.6s3-6.6,6.6-6.6c3.7,0,6.6,3,6.6,6.6S183.5,210.7,179.9,210.7z"/>
</g>
<g id="EDGE_P1">
<path fill="#EFDA48" d="M71.8,190.7c-7.7,0-13.9,6.2-13.9,13.9c0,7.7,6.2,13.9,13.9,13.9s13.9-6.2,13.9-13.9
C85.7,196.9,79.5,190.7,71.8,190.7z M71.8,211.2c-3.7,0-6.6-3-6.6-6.6c0-3.7,3-6.6,6.6-6.6s6.6,3,6.6,6.6
C78.4,208.3,75.5,211.2,71.8,211.2z"/>
</g>
<g id="motor">
<path id="C_GND1" fill="#EFDA48" d="M83.6,183.9c-1.2,0-2.1,1-2.1,2.1s1,2.1,2.1,2.1s2.1-1,2.1-2.1S84.8,183.9,83.6,183.9z M83.6,187
c-0.6,0-1-0.5-1-1s0.5-1,1-1s1,0.5,1,1S84.2,187,83.6,187z"/>
<circle fill="#1D1D1B" cx="83.6" cy="186" r="1"/>
<path id="C_P0" fill="#EFDA48" d="M90.8,183.9c-1.2,0-2.1,1-2.1,2.1s1,2.1,2.1,2.1s2.1-1,2.1-2.1S92,183.9,90.8,183.9z M90.8,187
c-0.6,0-1-0.5-1-1s0.5-1,1-1s1,0.5,1,1S91.4,187,90.8,187z"/>
<circle fill="#1D1D1B" cx="90.8" cy="186" r="1"/>
<path id="C_P2" fill="#EFDA48" d="M98,183.9c-1.2,0-2.1,1-2.1,2.1s1,2.1,2.1,2.1s2.1-1,2.1-2.1S99.2,183.9,98,183.9z M98,187
c-0.6,0-1-0.5-1-1s0.5-1,1-1s1,0.5,1,1S98.6,187,98,187z"/>
<circle fill="#1D1D1B" cx="98" cy="186" r="1"/>
<path id="C_P4" fill="#EFDA48" d="M105.2,183.9c-1.2,0-2.1,1-2.1,2.1s1,2.1,2.1,2.1s2.1-1,2.1-2.1S106.4,183.9,105.2,183.9z M105.2,187
c-0.6,0-1-0.5-1-1s0.5-1,1-1s1,0.5,1,1S105.8,187,105.2,187z"/>
<circle fill="#1D1D1B" cx="105.2" cy="186" r="1"/>
<path id="C_P6" fill="#EFDA48" d="M112.4,183.9c-1.2,0-2.1,1-2.1,2.1s1,2.1,2.1,2.1s2.1-1,2.1-2.1S113.6,183.9,112.4,183.9z M112.4,187
c-0.6,0-1-0.5-1-1s0.5-1,1-1c0.6,0,1,0.5,1,1S113,187,112.4,187z"/>
<circle fill="#1D1D1B" cx="112.4" cy="186" r="1"/>
<path id="C_P8" fill="#EFDA48" d="M119.6,183.9c-1.2,0-2.1,1-2.1,2.1s1,2.1,2.1,2.1c1.2,0,2.1-1,2.1-2.1S120.8,183.9,119.6,183.9z M119.6,187
c-0.6,0-1-0.5-1-1s0.5-1,1-1c0.6,0,1,0.5,1,1S120.2,187,119.6,187z"/>
<circle fill="#1D1D1B" cx="119.6" cy="186" r="1"/>
<path id="C_GND2" fill="#EFDA48" d="M126.8,183.9c-1.2,0-2.1,1-2.1,2.1s1,2.1,2.1,2.1c1.2,0,2.1-1,2.1-2.1S128,183.9,126.8,183.9z M126.8,187
c-0.6,0-1-0.5-1-1s0.5-1,1-1c0.6,0,1,0.5,1,1S127.4,187,126.8,187z"/>
<circle fill="#1D1D1B" cx="126.8" cy="186" r="1"/>
<path id="C_P10" fill="#EFDA48" d="M134,183.9c-1.2,0-2.1,1-2.1,2.1s1,2.1,2.1,2.1s2.1-1,2.1-2.1S135.2,183.9,134,183.9z M134,187
c-0.6,0-1-0.5-1-1s0.5-1,1-1c0.6,0,1,0.5,1,1S134.5,187,134,187z"/>
<circle fill="#1D1D1B" cx="134" cy="186" r="1"/>
<path id="C_P12" fill="#EFDA48" d="M141.2,183.9c-1.2,0-2.1,1-2.1,2.1s1,2.1,2.1,2.1s2.1-1,2.1-2.1S142.4,183.9,141.2,183.9z M141.2,187
c-0.6,0-1-0.5-1-1s0.5-1,1-1c0.6,0,1,0.5,1,1S141.7,187,141.2,187z"/>
<circle fill="#1D1D1B" cx="141.2" cy="186" r="1"/>
<path id="C_P14" fill="#EFDA48" d="M148.4,183.9c-1.2,0-2.1,1-2.1,2.1s1,2.1,2.1,2.1s2.1-1,2.1-2.1S149.6,183.9,148.4,183.9z M148.4,187
c-0.6,0-1-0.5-1-1s0.5-1,1-1c0.6,0,1,0.5,1,1S148.9,187,148.4,187z"/>
<circle fill="#1D1D1B" cx="148.4" cy="186" r="1"/>
<path id="C_P16" fill="#EFDA48" d="M155.6,183.9c-1.2,0-2.1,1-2.1,2.1s1,2.1,2.1,2.1s2.1-1,2.1-2.1S156.8,183.9,155.6,183.9z M155.6,187
c-0.6,0-1-0.5-1-1s0.5-1,1-1c0.6,0,1,0.5,1,1S156.1,187,155.6,187z"/>
<circle fill="#1D1D1B" cx="155.6" cy="186" r="1"/>
<path id="C_P20" fill="#EFDA48" d="M162.8,183.9c-1.2,0-2.1,1-2.1,2.1s1,2.1,2.1,2.1s2.1-1,2.1-2.1S163.9,183.9,162.8,183.9z M162.8,187
c-0.6,0-1-0.5-1-1s0.5-1,1-1c0.6,0,1,0.5,1,1S163.3,187,162.8,187z"/>
<circle fill="#1D1D1B" cx="162.8" cy="186" r="1"/>
<path id="C_VCC1" fill="#EFDA48" d="M170,183.9c-1.2,0-2.1,1-2.1,2.1s1,2.1,2.1,2.1s2.1-1,2.1-2.1S171.1,183.9,170,183.9z M170,187
c-0.6,0-1-0.5-1-1s0.5-1,1-1s1,0.5,1,1S170.5,187,170,187z"/>
<circle fill="#1D1D1B" cx="170" cy="186" r="1"/>
<path id="C_VCC2" fill="#EFDA48" d="M83.6,176.6c-1.2,0-2.1,1-2.1,2.1c0,1.2,1,2.1,2.1,2.1s2.1-1,2.1-2.1C85.8,177.6,84.8,176.6,83.6,176.6z
M83.6,179.8c-0.6,0-1-0.5-1-1s0.5-1,1-1s1,0.5,1,1S84.2,179.8,83.6,179.8z"/>
<circle fill="#1D1D1B" cx="83.6" cy="178.8" r="1"/>
<path id="C_P1" fill="#EFDA48" d="M90.8,176.6c-1.2,0-2.1,1-2.1,2.1c0,1.2,1,2.1,2.1,2.1s2.1-1,2.1-2.1C93,177.6,92,176.6,90.8,176.6z
M90.8,179.8c-0.6,0-1-0.5-1-1s0.5-1,1-1s1,0.5,1,1S91.4,179.8,90.8,179.8z"/>
<circle fill="#1D1D1B" cx="90.8" cy="178.8" r="1"/>
<path id="C_P22" fill="#EFDA48" d="M98,176.6c-1.2,0-2.1,1-2.1,2.1c0,1.2,1,2.1,2.1,2.1s2.1-1,2.1-2.1C100.2,177.6,99.2,176.6,98,176.6z
M98,179.8c-0.6,0-1-0.5-1-1s0.5-1,1-1s1,0.5,1,1S98.6,179.8,98,179.8z"/>
<circle fill="#1D1D1B" cx="98" cy="178.8" r="1"/>
<path id="C_P5" fill="#EFDA48" d="M105.2,176.6c-1.2,0-2.1,1-2.1,2.1c0,1.2,1,2.1,2.1,2.1s2.1-1,2.1-2.1C107.3,177.6,106.4,176.6,105.2,176.6
z M105.2,179.8c-0.6,0-1-0.5-1-1s0.5-1,1-1s1,0.5,1,1S105.8,179.8,105.2,179.8z"/>
<circle fill="#1D1D1B" cx="105.2" cy="178.8" r="1"/>
<path id="C_P7" fill="#EFDA48" d="M112.4,176.6c-1.2,0-2.1,1-2.1,2.1c0,1.2,1,2.1,2.1,2.1s2.1-1,2.1-2.1C114.5,177.6,113.6,176.6,112.4,176.6
z M112.4,179.8c-0.6,0-1-0.5-1-1s0.5-1,1-1c0.6,0,1,0.5,1,1S113,179.8,112.4,179.8z"/>
<circle fill="#1D1D1B" cx="112.4" cy="178.8" r="1"/>
<path id="C_P9" fill="#EFDA48" d="M119.6,176.6c-1.2,0-2.1,1-2.1,2.1c0,1.2,1,2.1,2.1,2.1c1.2,0,2.1-1,2.1-2.1
C121.7,177.6,120.8,176.6,119.6,176.6z M119.6,179.8c-0.6,0-1-0.5-1-1s0.5-1,1-1c0.6,0,1,0.5,1,1S120.2,179.8,119.6,179.8z"/>
<circle fill="#1D1D1B" cx="119.6" cy="178.8" r="1"/>
<path id="C_GND3" fill="#EFDA48" d="M126.8,176.6c-1.2,0-2.1,1-2.1,2.1c0,1.2,1,2.1,2.1,2.1c1.2,0,2.1-1,2.1-2.1
C128.9,177.6,128,176.6,126.8,176.6z M126.8,179.8c-0.6,0-1-0.5-1-1s0.5-1,1-1c0.6,0,1,0.5,1,1S127.4,179.8,126.8,179.8z"/>
<circle fill="#1D1D1B" cx="126.8" cy="178.8" r="1"/>
<path id="C_P11" fill="#EFDA48" d="M134,176.6c-1.2,0-2.1,1-2.1,2.1c0,1.2,1,2.1,2.1,2.1s2.1-1,2.1-2.1C136.1,177.6,135.2,176.6,134,176.6z
M134,179.8c-0.6,0-1-0.5-1-1s0.5-1,1-1c0.6,0,1,0.5,1,1S134.5,179.8,134,179.8z"/>
<circle fill="#1D1D1B" cx="134" cy="178.8" r="1"/>
<path id="C_P13" fill="#EFDA48" d="M141.2,176.6c-1.2,0-2.1,1-2.1,2.1c0,1.2,1,2.1,2.1,2.1s2.1-1,2.1-2.1C143.3,177.6,142.4,176.6,141.2,176.6
z M141.2,179.8c-0.6,0-1-0.5-1-1s0.5-1,1-1c0.6,0,1,0.5,1,1S141.7,179.8,141.2,179.8z"/>
<circle fill="#1D1D1B" cx="141.2" cy="178.8" r="1"/>
<path id="C_P15" fill="#EFDA48" d="M148.4,176.6c-1.2,0-2.1,1-2.1,2.1c0,1.2,1,2.1,2.1,2.1s2.1-1,2.1-2.1C150.5,177.6,149.6,176.6,148.4,176.6
z M148.4,179.8c-0.6,0-1-0.5-1-1s0.5-1,1-1c0.6,0,1,0.5,1,1S148.9,179.8,148.4,179.8z"/>
<circle fill="#1D1D1B" cx="148.4" cy="178.8" r="1"/>
<path id="C_P21" fill="#EFDA48" d="M155.6,176.6c-1.2,0-2.1,1-2.1,2.1c0,1.2,1,2.1,2.1,2.1s2.1-1,2.1-2.1C157.7,177.6,156.8,176.6,155.6,176.6
z M155.6,179.8c-0.6,0-1-0.5-1-1s0.5-1,1-1c0.6,0,1,0.5,1,1S156.1,179.8,155.6,179.8z"/>
<circle fill="#1D1D1B" cx="155.6" cy="178.8" r="1"/>
<path id="C_P19" fill="#EFDA48" d="M162.8,176.6c-1.2,0-2.1,1-2.1,2.1c0,1.2,1,2.1,2.1,2.1s2.1-1,2.1-2.1C164.9,177.6,163.9,176.6,162.8,176.6
z M162.8,179.8c-0.6,0-1-0.5-1-1s0.5-1,1-1c0.6,0,1,0.5,1,1S163.3,179.8,162.8,179.8z"/>
<circle fill="#1D1D1B" cx="162.8" cy="178.8" r="1"/>
<path id="C_GND4" fill="#EFDA48" d="M170,176.6c-1.2,0-2.1,1-2.1,2.1c0,1.2,1,2.1,2.1,2.1s2.1-1,2.1-2.1C172.1,177.6,171.1,176.6,170,176.6z
M170,179.8c-0.6,0-1-0.5-1-1s0.5-1,1-1s1,0.5,1,1S170.5,179.8,170,179.8z"/>
<circle fill="#1D1D1B" cx="170" cy="178.8" r="1"/>
<path id="M_GND1" fill="#EFDA48" d="M112.4,162.8c-1.2,0-2.1,1-2.1,2.1c0,1.2,1,2.1,2.1,2.1s2.1-1,2.1-2.1C114.5,163.8,113.6,162.8,112.4,162.8
z M112.4,166c-0.6,0-1-0.5-1-1c0-0.6,0.5-1,1-1c0.6,0,1,0.5,1,1C113.4,165.5,113,166,112.4,166z"/>
<circle fill="#1D1D1B" cx="112.4" cy="165" r="1"/>
<path id="M_OUT1" fill="#EFDA48" d="M119.6,162.8c-1.2,0-2.1,1-2.1,2.1c0,1.2,1,2.1,2.1,2.1c1.2,0,2.1-1,2.1-2.1
C121.7,163.8,120.8,162.8,119.6,162.8z M119.6,166c-0.6,0-1-0.5-1-1c0-0.6,0.5-1,1-1c0.6,0,1,0.5,1,1
C120.6,165.5,120.2,166,119.6,166z"/>
<circle fill="#1D1D1B" cx="119.6" cy="165" r="1"/>
<path id="M_OUT2" fill="#EFDA48" d="M126.8,162.8c-1.2,0-2.1,1-2.1,2.1c0,1.2,1,2.1,2.1,2.1c1.2,0,2.1-1,2.1-2.1
C128.9,163.8,128,162.8,126.8,162.8z M126.8,166c-0.6,0-1-0.5-1-1c0-0.6,0.5-1,1-1c0.6,0,1,0.5,1,1
C127.8,165.5,127.4,166,126.8,166z"/>
<circle fill="#1D1D1B" cx="126.8" cy="165" r="1"/>
<path id="M_GND2" fill="#EFDA48" d="M134,162.8c-1.2,0-2.1,1-2.1,2.1c0,1.2,1,2.1,2.1,2.1s2.1-1,2.1-2.1C136.1,163.8,135.2,162.8,134,162.8z
M134,166c-0.6,0-1-0.5-1-1c0-0.6,0.5-1,1-1c0.6,0,1,0.5,1,1C135,165.5,134.5,166,134,166z"/>
<circle fill="#1D1D1B" cx="134" cy="165" r="1"/>
<path id="M_VM" fill="#EFDA48" d="M141.2,162.8c-1.2,0-2.1,1-2.1,2.1c0,1.2,1,2.1,2.1,2.1s2.1-1,2.1-2.1C143.3,163.8,142.4,162.8,141.2,162.8
z M141.2,166c-0.6,0-1-0.5-1-1c0-0.6,0.5-1,1-1c0.6,0,1,0.5,1,1C142.2,165.5,141.7,166,141.2,166z"/>
<circle fill="#1D1D1B" cx="141.2" cy="165" r="1"/>
</g>
<g id="rgbled">
<g>
<rect x="120.6" y="130.6" fill="#FFFFFF" width="10.8" height="10.5"/>
<circle fill="#BDD1CF" cx="126" cy="135.9" r="4.1"/>
</g>
</g>
<g id="a0">
<rect x="36.6" y="78" transform="matrix(-0.7113 -0.7029 0.7029 -0.7113 5.9446 184.6141)" fill="#FFFFFF" width="8.6" height="26.1"/>
<circle id="G_A0_GND" fill="#BDD1CF" cx="47.9" cy="84.2" r="1.2"/>
<circle id="G_A0_VCC" fill="#BDD1CF" cx="43.1" cy="88.8" r="1.2"/>
<circle id="G_A0_SDA" fill="#BDD1CF" cx="38.8" cy="93.1" r="1.2"/>
<circle id="G_A0_SCL" fill="#BDD1CF" cx="33.9" cy="98" r="1.2"/>
</g>
<g id="a1">
<rect x="206.6" y="77.1" transform="matrix(0.7113 -0.7029 0.7029 0.7113 -2.4835 174.2752)" fill="#FFFFFF" width="8.6" height="26.1"/>
<circle id="G_A1_RX" fill="#BDD1CF" cx="203.9" cy="83.2" r="1.2"/>
<circle id="G_A1_TX" fill="#BDD1CF" cx="208.7" cy="87.9" r="1.2"/>
<circle id="G_A1_VCC" fill="#BDD1CF" cx="213" cy="92.2" r="1.2"/>
<circle id="G_A1_GND" fill="#BDD1CF" cx="217.9" cy="97.1" r="1.2"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 68 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 18 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 20 KiB

View File

@ -6,6 +6,24 @@
*/
//% color=#0078D7 weight=100
namespace basic {
/**
* Sets the color on the build-in LED. Set to 0 to turn off.
*/
//% blockId=device_set_led_color block="set led to %color=color_id" icon="\uf00a"
//% weight=50
void setLedColor(int color) {
if (!color) {
uBit.rgb.off();
return;
}
int w = (color >> 24) & 0xFF;
int r = (color >> 16) & 0xFF;
int g = (color >> 8) & 0xFF;
int b = (color) & 0xFF;
uBit.rgb.setColour(r,g,b,w);
}
/**
* Scroll a number on the screen. If the number fits on the screen (i.e. is a single digit), do not scroll.

59
libs/core/basic.ts Normal file
View File

@ -0,0 +1,59 @@
/**
Well known colors
*/
enum Colors {
//% blockIdentity=basic.color
//% block=red
Red = 0x00FF0000,
//% blockIdentity=basic.color
//% block=orange
Orange = 0x00FFA500,
//% blockIdentity=basic.color
//% block=yellow
Yellow = 0x00FFFF00,
//% blockIdentity=basic.color
//% block=green
Green = 0x0000FF00,
//% blockIdentity=basic.color
//% block=blue
Blue = 0x000000FF,
//% blockIdentity=basic.color
//% block=indigo
Indigo = 0x004b0082,
//% blockIdentity=basic.color
//% block=violet
Violet = 0x008a2be2,
//% blockIdentity=basic.color
//% block=purple
Purple = 0x00FF00FF,
//% blockIdentity=basic.color
//% block=white
White = 0xFF00000
}
/**
* Provides access to basic micro:bit functionality.
*/
//% color=#0078D7 weight=100
namespace basic {
/**
* Converts the color name to a number
*/
//% blockId=color_id block="%c" shim=TD_ID
export function color(c: Colors): number {
return c;
}
/**
* Converts red, green, blue channels into a RGB color
* @param red value of the red channel between 0 and 255. eg: 255
* @param green value of the green channel between 0 and 255. eg: 255
* @param blue value of the blue channel between 0 and 255. eg: 255
* @param white value of the white channel between 0 and 255. eg: 0
*/
//% weight=1
//% blockId="core_rgb" block="red %red|green %green|blue %blue|white %white"
export function rgbw(red: number, green: number, blue: number, white:number): number {
return ((white & 0xFF) << 24) | ((red & 0xFF) << 16) | ((green & 0xFF) << 8) | (blue & 0xFF);
}
}

View File

@ -34,15 +34,15 @@ enum EventBusSource {
MICROBIT_ID_IO_P5_ = MICROBIT_ID_IO_P5,
MICROBIT_ID_IO_P6_ = MICROBIT_ID_IO_P6,
MICROBIT_ID_IO_P7_ = MICROBIT_ID_IO_P7,
MICROBIT_ID_IO_P8_ = MICROBIT_ID_IO_P8,
//MICROBIT_ID_IO_P8_ = MICROBIT_ID_IO_P8,
MICROBIT_ID_IO_P9_ = MICROBIT_ID_IO_P9,
MICROBIT_ID_IO_P10_ = MICROBIT_ID_IO_P10,
MICROBIT_ID_IO_P11_ = MICROBIT_ID_IO_P11,
MICROBIT_ID_IO_P12_ = MICROBIT_ID_IO_P12,
MICROBIT_ID_IO_P13_ = MICROBIT_ID_IO_P13,
MICROBIT_ID_IO_P14_ = MICROBIT_ID_IO_P14,
MICROBIT_ID_IO_P15_ = MICROBIT_ID_IO_P15,
MICROBIT_ID_IO_P16_ = MICROBIT_ID_IO_P16,
//MICROBIT_ID_IO_P12_ = MICROBIT_ID_IO_P12,
//MICROBIT_ID_IO_P13_ = MICROBIT_ID_IO_P13,
//MICROBIT_ID_IO_P14_ = MICROBIT_ID_IO_P14,
//MICROBIT_ID_IO_P15_ = MICROBIT_ID_IO_P15,
//MICROBIT_ID_IO_P16_ = MICROBIT_ID_IO_P16,
MICROBIT_ID_IO_P19_ = MICROBIT_ID_IO_P19,
MICROBIT_ID_IO_P20_ = MICROBIT_ID_IO_P20,
MES_DEVICE_INFO_ID_ = MES_DEVICE_INFO_ID,
@ -110,6 +110,7 @@ enum EventBusValue {
};
//% weight=1 color="#333333"
//% advanced=true
namespace control {
void fiberDone(void *a)
{
@ -131,7 +132,7 @@ namespace control {
*/
//% weight=30 async help=control/reset blockGap=8
//% blockId="control_reset" block="reset"
void reset() {
void reset() {
microbit_reset();
}
@ -153,16 +154,16 @@ namespace control {
*/
//% weight=21 blockGap=12 blockId="control_raise_event" block="raise event|from source %src=control_event_source_id|with value %value=control_event_value_id" blockExternalInputs=1
//% mode.defl=CREATE_AND_FIRE
void raiseEvent(int src, int value, EventCreationMode mode) {
MicroBitEvent evt(src, value, (MicroBitEventLaunchMode)mode);
void raiseEvent(int src, int value, EventCreationMode mode) {
MicroBitEvent evt(src, value, (MicroBitEventLaunchMode)mode);
}
/**
* Raises an event in the event bus.
*/
//% weight=20 blockGap=8 blockId="control_on_event" block="on event|from %src=control_event_source_id|with value %value=control_event_value_id"
//% weight=20 blockGap=8 blockId="control_on_event" block="on event|from %src=control_event_source_id|with value %value=control_event_value_id"
//% blockExternalInputs=1
void onEvent(int src, int value, Action handler) {
void onEvent(int src, int value, Action handler) {
registerWithDal(src, value, handler);
}
@ -174,7 +175,7 @@ namespace control {
int eventValue() {
return pxt::lastEvent.value;
}
/**
* Gets the timestamp of the last event executed on the bus
*/
@ -183,15 +184,15 @@ namespace control {
int eventTimestamp() {
return pxt::lastEvent.timestamp;
}
/**
* Gets a friendly name for the device derived from the its serial number
*/
//% blockId="control_device_name" block="device name" weight=10 blockGap=8
StringData* deviceName() {
return ManagedString(microbit_friendly_name()).leakData();
return ManagedString(microbit_friendly_name()).leakData();
}
/**
* Derive a unique, consistent serial number of this device from internal data.
*/

View File

@ -2,6 +2,7 @@
* Runtime and event utilities.
*/
//% weight=1 color="#333333"
//% advanced=true
namespace control {
/**

221
libs/core/dal.d.ts vendored
View File

@ -79,6 +79,7 @@ declare const enum DAL {
MICROBIT_BLE_PAIRING_TIMEOUT = 90,
MICROBIT_BLE_POWER_LEVELS = 8,
MICROBIT_BLE_MAXIMUM_BONDS = 4,
MICROBIT_BLE_EDDYSTONE_URL_ADV_INTERVAL = 400,
// built/yt/yotta_modules/microbit-dal/inc//bluetooth/MicroBitButtonService.h
// built/yt/yotta_modules/microbit-dal/inc//bluetooth/MicroBitDFUService.h
MICROBIT_DFU_OPCODE_START_DFU = 1,
@ -88,6 +89,7 @@ declare const enum DAL {
// built/yt/yotta_modules/microbit-dal/inc//bluetooth/MicroBitIOPinService.h
MICROBIT_IO_PIN_SERVICE_PINCOUNT = 19,
MICROBIT_IO_PIN_SERVICE_DATA_SIZE = 10,
MICROBIT_PWM_PIN_SERVICE_DATA_SIZE = 2,
// built/yt/yotta_modules/microbit-dal/inc//bluetooth/MicroBitLEDService.h
MICROBIT_BLE_MAXIMUM_SCROLLTEXT = 20,
// built/yt/yotta_modules/microbit-dal/inc//bluetooth/MicroBitMagnetometerService.h
@ -131,15 +133,9 @@ declare const enum DAL {
MICROBIT_ID_IO_P5 = 12,
MICROBIT_ID_IO_P6 = 13,
MICROBIT_ID_IO_P7 = 14,
MICROBIT_ID_IO_P8 = 15,
MICROBIT_ID_IO_P9 = 16,
MICROBIT_ID_IO_P10 = 17,
MICROBIT_ID_IO_P11 = 18,
MICROBIT_ID_IO_P12 = 19,
MICROBIT_ID_IO_P13 = 20,
MICROBIT_ID_IO_P14 = 21,
MICROBIT_ID_IO_P15 = 22,
MICROBIT_ID_IO_P16 = 23,
MICROBIT_ID_IO_P19 = 24,
MICROBIT_ID_IO_P20 = 25,
MICROBIT_ID_BUTTON_AB = 26,
@ -149,6 +145,13 @@ declare const enum DAL {
MICROBIT_ID_RADIO_DATA_READY = 30,
MICROBIT_ID_MULTIBUTTON_ATTACH = 31,
MICROBIT_ID_SERIAL = 32,
CALLIOPE_ID_IO_P0 = 33,
CALLIOPE_ID_IO_P7 = 34,
CALLIOPE_ID_IO_P8 = 35,
CALLIOPE_ID_IO_P9 = 36,
CALLIOPE_ID_IO_P13 = 37,
CALLIOPE_ID_IO_P14 = 38,
CALLIOPE_ID_IO_P15 = 39,
MICROBIT_ID_MESSAGE_BUS_LISTENER = 1021,
MICROBIT_ID_NOTIFY_ONE = 1022,
MICROBIT_ID_NOTIFY = 1023,
@ -186,15 +189,214 @@ declare const enum DAL {
MICROBIT_DISPLAY_EVT_FREE = 1,
MICROBIT_SERIAL_EVT_TX_EMPTY = 2,
MICROBIT_UART_S_EVT_TX_EMPTY = 3,
// built/yt/yotta_modules/microbit-dal/inc//drivers/CalliopeRGB.h
// built/yt/yotta_modules/microbit-dal/inc//drivers/CalliopeSoundMotor.h
CALLIOPE_SM_DEFAULT_DUTY_M = 50,
CALLIOPE_SM_DEFAULT_DUTY_S = 100,
CALLIOPE_SM_DEFAULT_FREQUENCY_S = 4000,
CALLIOPE_SM_DEFAULT_SILENT_MODE = 1,
CALLIOPE_SM_PRESCALER_M = 2,
CALLIOPE_SM_PRESCALER_S = 0,
CALLIOPE_SM_PRESCALER_S_LF = 4,
CALLIOPE_SM_PERIOD_M = 100,
CALLIOPE_MIN_FREQUENCY_HZ_S_NP = 245,
CALLIOPE_MIN_FREQUENCY_HZ_S = 20,
CALLIOPE_MAX_FREQUENCY_HZ_S = 20000,
CALLIOPE_BOARD_FREQUENCY = 16000000,
// built/yt/yotta_modules/microbit-dal/inc//drivers/DynamicPwm.h
NO_PWMS = 3,
MICROBIT_DEFAULT_PWM_PERIOD = 20000,
PWM_PERSISTENCE_TRANSIENT = 1,
PWM_PERSISTENCE_PERSISTENT = 2,
// built/yt/yotta_modules/microbit-dal/inc//drivers/MicroBitAccelerometer.h
// built/yt/yotta_modules/microbit-dal/inc//drivers/MicroBitAccelerometer-bmx.h
BMX055_ACC_WHOAMI = 0x00,
BMX055_ACC_D_X_LSB = 0x02,
BMX055_ACC_D_X_MSB = 0x03,
BMX055_ACC_D_Y_LSB = 0x04,
BMX055_ACC_D_Y_MSB = 0x05,
BMX055_ACC_D_Z_LSB = 0x06,
BMX055_ACC_D_Z_MSB = 0x07,
BMX055_ACC_D_TEMP = 0x08,
BMX055_ACC_INT_STATUS_0 = 0x09,
BMX055_ACC_INT_STATUS_1 = 0x0A,
BMX055_ACC_INT_STATUS_2 = 0x0B,
BMX055_ACC_INT_STATUS_3 = 0x0C,
BMX055_ACC_FIFO_STATUS = 0x0E,
BMX055_ACC_PMU_RANGE = 0x0F,
BMX055_ACC_PMU_BW = 0x10,
BMX055_ACC_PMU_LPW = 0x11,
BMX055_ACC_PMU_LOW_POWER = 0x12,
BMX055_ACC_D_HBW = 0x13,
BMX055_ACC_BGW_SOFTRESET = 0x14,
BMX055_ACC_INT_EN_0 = 0x16,
BMX055_ACC_INT_EN_1 = 0x17,
BMX055_ACC_INT_EN_2 = 0x18,
BMX055_ACC_INT_MAP_0 = 0x19,
BMX055_ACC_INT_MAP_1 = 0x1A,
BMX055_ACC_INT_MAP_2 = 0x1B,
BMX055_ACC_INT_SRC = 0x1E,
BMX055_ACC_INT_OUT_CTRL = 0x20,
BMX055_ACC_INT_RST_LATCH = 0x21,
BMX055_ACC_INT_0 = 0x22,
BMX055_ACC_INT_1 = 0x23,
BMX055_ACC_INT_2 = 0x24,
BMX055_ACC_INT_3 = 0x25,
BMX055_ACC_INT_4 = 0x26,
BMX055_ACC_INT_5 = 0x27,
BMX055_ACC_INT_6 = 0x28,
BMX055_ACC_INT_7 = 0x29,
BMX055_ACC_INT_8 = 0x2A,
BMX055_ACC_INT_9 = 0x2B,
BMX055_ACC_INT_A = 0x2C,
BMX055_ACC_INT_B = 0x2D,
BMX055_ACC_INT_C = 0x2E,
BMX055_ACC_INT_D = 0x2F,
BMX055_ACC_FIFO_CONFIG_0 = 0x30,
BMX055_ACC_PMU_SELF_TEST = 0x32,
BMX055_ACC_TRIM_NVM_CTRL = 0x33,
BMX055_ACC_BGW_SPI3_WDT = 0x34,
BMX055_ACC_OFC_CTRL = 0x36,
BMX055_ACC_OFC_SETTING = 0x37,
BMX055_ACC_OFC_OFFSET_X = 0x38,
BMX055_ACC_OFC_OFFSET_Y = 0x39,
BMX055_ACC_OFC_OFFSET_Z = 0x3A,
BMX055_ACC_TRIM_GPO = 0x3B,
BMX055_ACC_TRIM_GP1 = 0x3C,
BMX055_ACC_FIFO_CONFIG_1 = 0x3E,
BMX055_ACC_FIFO_DATA = 0x3F,
BMX055_GYRO_WHOAMI = 0x00,
BMX055_GYRO_RATE_X_LSB = 0x02,
BMX055_GYRO_RATE_X_MSB = 0x03,
BMX055_GYRO_RATE_Y_LSB = 0x04,
BMX055_GYRO_RATE_Y_MSB = 0x05,
BMX055_GYRO_RATE_Z_LSB = 0x06,
BMX055_GYRO_RATE_Z_MSB = 0x07,
BMX055_GYRO_INT_STATUS_0 = 0x09,
BMX055_GYRO_INT_STATUS_1 = 0x0A,
BMX055_GYRO_INT_STATUS_2 = 0x0B,
BMX055_GYRO_INT_STATUS_3 = 0x0C,
BMX055_GYRO_FIFO_STATUS = 0x0E,
BMX055_GYRO_RANGE = 0x0F,
BMX055_GYRO_BW = 0x10,
BMX055_GYRO_LPM1 = 0x11,
BMX055_GYRO_LPM2 = 0x12,
BMX055_GYRO_RATE_HBW = 0x13,
BMX055_GYRO_BGW_SOFTRESET = 0x14,
BMX055_GYRO_INT_EN_0 = 0x15,
BMX055_GYRO_INT_EN_1 = 0x16,
BMX055_GYRO_INT_MAP_0 = 0x17,
BMX055_GYRO_INT_MAP_1 = 0x18,
BMX055_GYRO_INT_MAP_2 = 0x19,
BMX055_GYRO_INT_SRC_1 = 0x1A,
BMX055_GYRO_INT_SRC_2 = 0x1B,
BMX055_GYRO_INT_SRC_3 = 0x1C,
BMX055_GYRO_FIFO_EN = 0x1E,
BMX055_GYRO_INT_RST_LATCH = 0x21,
BMX055_GYRO_HIGH_TH_X = 0x22,
BMX055_GYRO_HIGH_DUR_X = 0x23,
BMX055_GYRO_HIGH_TH_Y = 0x24,
BMX055_GYRO_HIGH_DUR_Y = 0x25,
BMX055_GYRO_HIGH_TH_Z = 0x26,
BMX055_GYRO_HIGH_DUR_Z = 0x27,
BMX055_GYRO_SOC = 0x31,
BMX055_GYRO_A_FOC = 0x32,
BMX055_GYRO_TRIM_NVM_CTRL = 0x33,
BMX055_GYRO_BGW_SPI3_WDT = 0x34,
BMX055_GYRO_OFC1 = 0x36,
BMX055_GYRO_OFC2 = 0x37,
BMX055_GYRO_OFC3 = 0x38,
BMX055_GYRO_OFC4 = 0x39,
BMX055_GYRO_TRIM_GP0 = 0x3A,
BMX055_GYRO_TRIM_GP1 = 0x3B,
BMX055_GYRO_BIST = 0x3C,
BMX055_GYRO_FIFO_CONFIG_0 = 0x3D,
BMX055_GYRO_FIFO_CONFIG_1 = 0x3E,
BMX055_MAG_WHOAMI = 0x40,
BMX055_MAG_Reserved = 0x41,
BMX055_MAG_XOUT_LSB = 0x42,
BMX055_MAG_XOUT_MSB = 0x43,
BMX055_MAG_YOUT_LSB = 0x44,
BMX055_MAG_YOUT_MSB = 0x45,
BMX055_MAG_ZOUT_LSB = 0x46,
BMX055_MAG_ZOUT_MSB = 0x47,
BMX055_MAG_ROUT_LSB = 0x48,
BMX055_MAG_ROUT_MSB = 0x49,
BMX055_MAG_INT_STATUS = 0x4A,
BMX055_MAG_PWR_CNTL1 = 0x4B,
BMX055_MAG_PWR_CNTL2 = 0x4C,
BMX055_MAG_INT_EN_1 = 0x4D,
BMX055_MAG_INT_EN_2 = 0x4E,
BMX055_MAG_LOW_THS = 0x4F,
BMX055_MAG_HIGH_THS = 0x50,
BMX055_MAG_REP_XY = 0x51,
BMX055_MAG_REP_Z = 0x52,
BMM050_DIG_X1 = 0x5D,
BMM050_DIG_Y1 = 0x5E,
BMM050_DIG_Z4_LSB = 0x62,
BMM050_DIG_Z4_MSB = 0x63,
BMM050_DIG_X2 = 0x64,
BMM050_DIG_Y2 = 0x65,
BMM050_DIG_Z2_LSB = 0x68,
BMM050_DIG_Z2_MSB = 0x69,
BMM050_DIG_Z1_LSB = 0x6A,
BMM050_DIG_Z1_MSB = 0x6B,
BMM050_DIG_XYZ1_LSB = 0x6C,
BMM050_DIG_XYZ1_MSB = 0x6D,
BMM050_DIG_Z3_LSB = 0x6E,
BMM050_DIG_Z3_MSB = 0x6F,
BMM050_DIG_XY2 = 0x70,
BMM050_DIG_XY1 = 0x71,
BMX055_ACC_ADDRESS = 0x18,
BMX055_GYRO_ADDRESS = 0x68,
BMX055_MAG_ADDRESS = 0x10,
MS5637_ADDRESS = 0x76,
AFS_2G = 0x03,
AFS_4G = 0x05,
AFS_8G = 0x08,
AFS_16G = 0x0C,
ABW_8Hz = 0,
ABW_16Hz = 1,
ABW_31Hz = 2,
ABW_63Hz = 3,
ABW_125Hz = 4,
ABW_250Hz = 5,
ABW_500Hz = 6,
ABW_100Hz = 7,
GFS_2000DPS = 0,
GFS_1000DPS = 1,
GFS_500DPS = 2,
GFS_250DPS = 3,
GFS_125DPS = 4,
G_2000Hz523Hz = 0,
G_2000Hz230Hz = 1,
G_1000Hz116Hz = 2,
G_400Hz47Hz = 3,
G_200Hz23Hz = 4,
G_100Hz12Hz = 5,
G_200Hz64Hz = 6,
G_100Hz32Hz = 7,
MODR_10Hz = 0,
MODR_2Hz = 1,
MODR_6Hz = 2,
MODR_8Hz = 3,
MODR_15Hz = 4,
MODR_20Hz = 5,
MODR_25Hz = 6,
MODR_30Hz = 7,
lowPower = 0,
Regular = 1,
enhancedRegular = 2,
highAccuracy = 3,
ADC_256 = 0x00,
ADC_512 = 0x02,
ADC_1024 = 0x04,
ADC_2048 = 0x06,
ADC_4096 = 0x08,
ADC_8192 = 0x0A,
ADC_D1 = 0x40,
ADC_D2 = 0x50,
MICROBIT_ACCEL_PITCH_ROLL_VALID = 0x02,
MICROBIT_ACCEL_ADDED_TO_IDLE = 0x04,
MMA8653_DEFAULT_ADDR = 0x3A,
MMA8653_STATUS = 0x00,
MMA8653_OUT_X_MSB = 0x01,
MMA8653_WHOAMI = 0x0D,
@ -231,6 +433,7 @@ declare const enum DAL {
MICROBIT_ACCELEROMETER_SHAKE_DAMPING = 10,
MICROBIT_ACCELEROMETER_SHAKE_RTX = 30,
MICROBIT_ACCELEROMETER_SHAKE_COUNT_THRESHOLD = 4,
// built/yt/yotta_modules/microbit-dal/inc//drivers/MicroBitAccelerometer.h
// built/yt/yotta_modules/microbit-dal/inc//drivers/MicroBitButton.h
MICROBIT_BUTTON_EVT_DOWN = 1,
MICROBIT_BUTTON_EVT_UP = 2,
@ -335,6 +538,7 @@ declare const enum DAL {
IO_STATUS_TOUCH_IN = 0x10,
IO_STATUS_EVENT_ON_EDGE = 0x20,
IO_STATUS_EVENT_PULSE_ON_EDGE = 0x40,
IO_STATUS_EVENTBUS_ENABLED = 0x80,
MICROBIT_PIN_MAX_OUTPUT = 1023,
MICROBIT_PIN_MAX_SERVO_RANGE = 180,
MICROBIT_PIN_DEFAULT_SERVO_RANGE = 2000,
@ -349,6 +553,7 @@ declare const enum DAL {
MICROBIT_PIN_EVT_PULSE_LO = 5,
PIN_CAPABILITY_DIGITAL = 0x01,
PIN_CAPABILITY_ANALOG = 0x02,
PIN_CAPABILITY_TOUCH = 0x04,
// built/yt/yotta_modules/microbit-dal/inc//drivers/MicroBitRadio.h
MICROBIT_RADIO_STATUS_INITIALISED = 0x0001,
MICROBIT_RADIO_BASE_ADDRESS = 0x75626974,

38
libs/core/enums.d.ts vendored
View File

@ -151,15 +151,15 @@ declare namespace input {
MICROBIT_ID_IO_P5 = 12, // MICROBIT_ID_IO_P5
MICROBIT_ID_IO_P6 = 13, // MICROBIT_ID_IO_P6
MICROBIT_ID_IO_P7 = 14, // MICROBIT_ID_IO_P7
MICROBIT_ID_IO_P8 = 15, // MICROBIT_ID_IO_P8
//MICROBIT_ID_IO_P8_ = MICROBIT_ID_IO_P8,
MICROBIT_ID_IO_P9 = 16, // MICROBIT_ID_IO_P9
MICROBIT_ID_IO_P10 = 17, // MICROBIT_ID_IO_P10
MICROBIT_ID_IO_P11 = 18, // MICROBIT_ID_IO_P11
MICROBIT_ID_IO_P12 = 19, // MICROBIT_ID_IO_P12
MICROBIT_ID_IO_P13 = 20, // MICROBIT_ID_IO_P13
MICROBIT_ID_IO_P14 = 21, // MICROBIT_ID_IO_P14
MICROBIT_ID_IO_P15 = 22, // MICROBIT_ID_IO_P15
MICROBIT_ID_IO_P16 = 23, // MICROBIT_ID_IO_P16
//MICROBIT_ID_IO_P12_ = MICROBIT_ID_IO_P12,
//MICROBIT_ID_IO_P13_ = MICROBIT_ID_IO_P13,
//MICROBIT_ID_IO_P14_ = MICROBIT_ID_IO_P14,
//MICROBIT_ID_IO_P15_ = MICROBIT_ID_IO_P15,
//MICROBIT_ID_IO_P16_ = MICROBIT_ID_IO_P16,
MICROBIT_ID_IO_P19 = 24, // MICROBIT_ID_IO_P19
MICROBIT_ID_IO_P20 = 25, // MICROBIT_ID_IO_P20
MES_DEVICE_INFO_ID = 1103, // MES_DEVICE_INFO_ID
@ -238,6 +238,8 @@ declare namespace control {
// TODO DISPLAY_MODE_BLACK_AND_WHITE_LIGHT_SENSE
}
declare namespace led {
}
declare namespace motors {
}
@ -250,15 +252,15 @@ declare namespace led {
P5 = 12, // MICROBIT_ID_IO_P5
P6 = 13, // MICROBIT_ID_IO_P6
P7 = 14, // MICROBIT_ID_IO_P7
P8 = 15, // MICROBIT_ID_IO_P8
//P8 = MICROBIT_ID_IO_P8,
P9 = 16, // MICROBIT_ID_IO_P9
P10 = 17, // MICROBIT_ID_IO_P10
P11 = 18, // MICROBIT_ID_IO_P11
P12 = 19, // MICROBIT_ID_IO_P12
P13 = 20, // MICROBIT_ID_IO_P13
P14 = 21, // MICROBIT_ID_IO_P14
P15 = 22, // MICROBIT_ID_IO_P15
P16 = 23, // MICROBIT_ID_IO_P16
//P12 = MICROBIT_ID_IO_P12,
//P13 = MICROBIT_ID_IO_P13,
//P14 = MICROBIT_ID_IO_P14,
//P15 = MICROBIT_ID_IO_P15,
//P16 = MICROBIT_ID_IO_P16,
P19 = 24, // MICROBIT_ID_IO_P19
P20 = 25, // MICROBIT_ID_IO_P20
}
@ -294,12 +296,12 @@ declare namespace led {
P0 = 7, // MICROBIT_ID_IO_P0
P1 = 8, // MICROBIT_ID_IO_P1
P2 = 9, // MICROBIT_ID_IO_P2
P8 = 15, // MICROBIT_ID_IO_P8
P12 = 19, // MICROBIT_ID_IO_P12
P13 = 20, // MICROBIT_ID_IO_P13
P14 = 21, // MICROBIT_ID_IO_P14
P15 = 22, // MICROBIT_ID_IO_P15
P16 = 23, // MICROBIT_ID_IO_P16
//P8 = MICROBIT_ID_IO_P8,
//P12 = MICROBIT_ID_IO_P12,
//P13 = MICROBIT_ID_IO_P13,
//P14 = MICROBIT_ID_IO_P14,
//P15 = MICROBIT_ID_IO_P15,
//P16 = MICROBIT_ID_IO_P16
}

View File

@ -1,5 +1,5 @@
enum Direction {
//% block=right
//% block=right
Right,
//% block=left
Left
@ -22,6 +22,7 @@ enum LedSpriteProperty {
* A single-LED sprite game engine
*/
//% color=#008272 weight=32
//% advanced=true
namespace game {
let _score: number = 0;
let _life: number = 3;

View File

@ -4,6 +4,7 @@
* Creation, manipulation and display of LED images.
*/
//% color=#5C2D91 weight=31
//% advanced=true
namespace images {
/**
* Creates an image that fits on the LED screen.
@ -29,7 +30,7 @@ namespace images {
namespace ImageMethods {
/**
* Plots the image at a given column to the screen
*/
*/
//% help=images/plot-image
//% parts="ledmatrix"
void plotImage(Image i, int xOffset = 0) {
@ -46,7 +47,7 @@ namespace ImageMethods {
void showImage(Image sprite, int xOffset) {
uBit.display.print(MicroBitImage(sprite), -xOffset, 0, 0);
}
/**
* Draws the ``index``-th frame of the image on the screen.
* @param xOffset column index to start displaying the image
@ -57,7 +58,7 @@ namespace ImageMethods {
// TODO showImage() used in original implementation
plotImage(i, xOffset * 5);
}
/**
* Scrolls an image .
* @param frameOffset x offset moved on each animation step, eg: 5, 1, -1

View File

@ -89,7 +89,7 @@ enum class Gesture {
* Raised when the screen is pointing right
*/
//% block="tilt right"
TiltRight = MICROBIT_ACCELEROMETER_EVT_TILT_RIGHT,
TiltRight = MICROBIT_ACCELEROMETER_EVT_TILT_RIGHT,
/**
* Raised when the board is falling!
*/
@ -132,7 +132,7 @@ namespace input {
if ((int)gesture == MICROBIT_ACCELEROMETER_EVT_3G && uBit.accelerometer.getRange() < 3)
uBit.accelerometer.setRange(4);
else if ((int)gesture == MICROBIT_ACCELEROMETER_EVT_6G && uBit.accelerometer.getRange() < 6)
uBit.accelerometer.setRange(8);
uBit.accelerometer.setRange(8);
registerWithDal(MICROBIT_ID_GESTURE, (int)gesture, body);
}
@ -159,6 +159,7 @@ namespace input {
*/
//% help=input/on-pin-released weight=6 blockGap=8
//% blockId=device_pin_released block="on pin %NAME|released" icon="\uf094"
//% advanced=true
void onPinReleased(TouchPin name, Action body) {
auto pin = getPin((int)name);
if (!pin) return;
@ -171,7 +172,7 @@ namespace input {
/**
* Get the button state (pressed or not) for ``A`` and ``B``.
*/
//% help=input/button-is-pressed weight=57
//% help=input/button-is-pressed weight=60
//% block="button|%NAME|is pressed"
//% blockId=device_get_button2
//% icon="\uf192" blockGap=8
@ -190,7 +191,7 @@ namespace input {
* Get the pin state (pressed or not). Requires to hold the ground to close the circuit.
* @param name pin used to detect the touch
*/
//% help=input/pin-is-pressed weight=56
//% help=input/pin-is-pressed weight=58
//% blockId="device_pin_is_pressed" block="pin %NAME|is pressed" icon="\uf094"
//% blockGap=8
bool pinIsPressed(TouchPin name) {
@ -198,10 +199,44 @@ namespace input {
return pin && pin->isTouched();
}
int getAccelerationStrength() {
double x = uBit.accelerometer.getX();
double y = uBit.accelerometer.getY();
double z = uBit.accelerometer.getZ();
return (int)sqrt(x*x+y*y+z*z);
}
/**
* Get the acceleration value in milli-gravitys (when the board is laying flat with the screen up, x=0, y=0 and z=-1024)
* @param dimension TODO
*/
//% help=input/acceleration weight=58 icon="\uf135"
//% blockId=device_acceleration block="acceleration (mg)|%NAME" blockGap=8
//% parts="accelerometer"
int acceleration(Dimension dimension) {
switch (dimension) {
case Dimension::X: return uBit.accelerometer.getX();
case Dimension::Y: return uBit.accelerometer.getY();
case Dimension::Z: return uBit.accelerometer.getZ();
case Dimension::Strength: return getAccelerationStrength();
}
return 0;
}
/**
* Reads the light level applied to the LED screen in a range from ``0`` (dark) to ``255`` bright.
*/
//% help=input/light-level weight=57
//% blockId=device_get_light_level block="light level" blockGap=8 icon="\uf185"
//% parts="ledmatrix"
int lightLevel() {
return uBit.display.readLightLevel();
}
/**
* Get the current compass heading in degrees.
*/
//% help=input/compass-heading
//% help=input/compass-heading
//% weight=56 icon="\uf14e"
//% blockId=device_heading block="compass heading (°)" blockGap=8
//% parts="compass"
@ -221,54 +256,19 @@ namespace input {
return uBit.thermometer.getTemperature();
}
int getAccelerationStrength() {
double x = uBit.accelerometer.getX();
double y = uBit.accelerometer.getY();
double z = uBit.accelerometer.getZ();
return (int)sqrt(x*x+y*y+z*z);
}
/**
* Get the acceleration value in milli-gravitys (when the board is laying flat with the screen up, x=0, y=0 and z=-1024)
* @param dimension TODO
*/
//% help=input/acceleration weight=54 icon="\uf135"
//% blockId=device_acceleration block="acceleration (mg)|%NAME" blockGap=8
//% parts="accelerometer"
int acceleration(Dimension dimension) {
switch (dimension) {
case Dimension::X: return uBit.accelerometer.getX();
case Dimension::Y: return uBit.accelerometer.getY();
case Dimension::Z: return uBit.accelerometer.getZ();
case Dimension::Strength: return getAccelerationStrength();
}
return 0;
}
/**
* Reads the light level applied to the LED screen in a range from ``0`` (dark) to ``255`` bright.
*/
//% help=input/light-level weight=53
//% blockId=device_get_light_level block="light level" blockGap=8 icon="\uf185"
//% parts="ledmatrix"
int lightLevel() {
return uBit.display.readLightLevel();
}
/**
* The pitch or roll of the device, rotation along the ``x-axis`` or ``y-axis``, in degrees.
* @param kind TODO
*/
//% help=input/rotation weight=52
//% blockId=device_get_rotation block="rotation (°)|%NAME" blockGap=8 icon="\uf197"
//% parts="accelerometer"
//% parts="accelerometer" advanced=true
int rotation(Rotation kind) {
switch (kind) {
case Rotation::Pitch: return uBit.accelerometer.getPitch();
case Rotation::Roll: return uBit.accelerometer.getRoll();
}
return 0;
return 0;
}
/**
@ -278,6 +278,7 @@ namespace input {
//% help=input/magnetic-force weight=51
//% blockId=device_get_magnetic_force block="magnetic force (µT)|%NAME" blockGap=8 icon="\uf076"
//% parts="compass"
//% advanced=true
int magneticForce(Dimension dimension) {
if (!uBit.compass.isCalibrated())
uBit.compass.calibrate();
@ -296,6 +297,7 @@ namespace input {
*/
//% help=input/running-time weight=50
//% blockId=device_get_running_time block="running time (ms)" icon="\uf017"
//% advanced=true
int runningTime() {
return system_timer_current_time();
}
@ -314,6 +316,7 @@ namespace input {
//% blockId=device_set_accelerometer_range block="set accelerometer|range %range" icon="\uf135"
//% weight=5
//% parts="accelerometer"
//% advanced=true
void setAccelerometerRange(AcceleratorRange range) {
uBit.accelerometer.setRange((int)range);
}

View File

@ -19,7 +19,7 @@ namespace led {
//% help=led/plot weight=78
//% blockId=device_plot block="plot|x %x|y %y" icon="\uf205" blockGap=8
//% parts="ledmatrix"
void plot(int x, int y) {
void plot(int x, int y) {
uBit.display.image.setPixelValue(x, y, 1);
}
@ -31,7 +31,7 @@ namespace led {
//% help=led/unplot weight=77
//% blockId=device_unplot block="unplot|x %x|y %y" icon="\uf204" blockGap=8
//% parts="ledmatrix"
void unplot(int x, int y) {
void unplot(int x, int y) {
uBit.display.image.setPixelValue(x, y, 0);
}
@ -54,6 +54,7 @@ namespace led {
//% help=led/brightness weight=60
//% blockId=device_get_brightness block="brightness" icon="\uf042" blockGap=8
//% parts="ledmatrix"
//% advanced=true
int brightness() {
return uBit.display.getBrightness();
}
@ -65,7 +66,8 @@ namespace led {
//% help=led/set-brightness weight=59
//% blockId=device_set_brightness block="set brightness %value" icon="\uf042"
//% parts="ledmatrix"
void setBrightness(int value) {
//% advanced=true
void setBrightness(int value) {
uBit.display.setBrightness(value);
}
@ -75,7 +77,8 @@ namespace led {
//% weight=50 help=led/stop-animation
//% blockId=device_stop_animation block="stop animation" icon="\uf04d"
//% parts="ledmatrix"
void stopAnimation() {
//% advanced=true
void stopAnimation() {
uBit.display.stopAnimation();
}
@ -85,7 +88,7 @@ namespace led {
*/
//% weight=1 help=led/set-display-mode
//% parts="ledmatrix"
void setDisplayMode(DisplayMode_ mode) {
void setDisplayMode(DisplayMode_ mode) {
uBit.display.setDisplayMode((DisplayMode)mode);
}

17
libs/core/motors.cpp Normal file
View File

@ -0,0 +1,17 @@
#include "ksbit.h"
/**
* Blocks to control the onboard motors
*/
//% weight=30
namespace motors {
/**
* Controls the power sent to a single motor
* @param power %percent of power sent to the motor. Negative power goes backward. eg: 50
*/
//% blockId=motor_on block="motor on at %percent|%"
//% parts=dcmotor
void motorOn(int power) {
uBit.soundmotor.Motor_On(power);
}
}

View File

@ -0,0 +1,12 @@
<svg xmlns="http://www.w3.org/2000/svg" width="488" height="836" viewBox="0 0 488 836">
<g transform="translate(0 -216.362)">
<rect width="34.286" height="122.532" x="226.365" y="929.711" fill="#ccc" ry="16.162"/>
<path fill="gray" d="M23.23 359.456A23.233 23.233 0 0 0 0 382.686v511.428a23.233 23.233 0 0 0 23.23 23.23h38.2v24.117a23.233 23.233 0 0 0 23.23 23.234h317.143a23.233 23.233 0 0 0 23.23-23.23v-24.118h38.197a23.233 23.233 0 0 0 23.23-23.23v-511.43a23.233 23.233 0 0 0-23.23-23.23h-440z"/>
<path fill="#333" d="M23.23 357.82C10.4 357.82.002 368.22 0 381.05v511.427c.002 12.83 10.4 23.23 23.23 23.23h38.2v24.118c2.08 25.815 20.27 23.748 33.1 23.75 0 0-11.976-16.96-12.05-40.988-.057-17.923-9.03-12.008-8.176-39.76 2.743-237.84-2.423-390.158.37-522.93z"/>
<path fill="#fd5" d="M23.508 286.934A23.51 18.415 0 0 0 0 305.347v69.375a23.51 18.415 0 0 0 23.508 18.413h440a23.51 18.415 0 0 0 23.508-18.413v-69.375a23.51 18.415 0 0 0-23.508-18.413h-440z"/>
<path fill="#c87137" d="M77.156 216.362c-5.698 0-10.283 4.588-10.283 10.286v94.03c0 5.7 4.585 10.286 10.283 10.286h24.98c5.697 0 10.284-4.587 10.284-10.285v-94.034c0-5.698-4.587-10.286-10.285-10.286h-24.98zm10.18 10.37h4.018c5.095 0 9.197 4.103 9.197 9.2v28.032c0 5.096-4.1 9.197-9.194 9.197h-4.018c-5.096 0-9.2-4.1-9.2-9.194V235.93c0-5.095 4.104-9.197 9.2-9.197zm288.814-10.37c-5.697 0-10.283 4.588-10.283 10.286v94.03c0 5.7 4.586 10.286 10.283 10.286h24.98c5.697 0 10.284-4.587 10.284-10.285v-94.034c0-5.698-4.587-10.286-10.285-10.286h-24.98zm11.045 11.885h4.02c5.095 0 9.197 4.102 9.197 9.197v28.032c0 5.095-4.102 9.2-9.197 9.2h-4.02c-5.095 0-9.197-4.105-9.197-9.2v-28.032c0-5.095 4.102-9.197 9.197-9.197z"/>
<path fill="#fc0" d="M170.587 306.637a17.633 17.633 0 0 0-17.63 17.63v67.587a17.633 17.633 0 0 0 17.63 17.63h34.852v20.57c0 15.162 12.756 27.915 27.913 27.915h24.976c15.157 0 27.916-12.756 27.916-27.917v-20.57h38.612a17.633 17.633 0 0 0 17.63-17.63v-67.587a17.633 17.633 0 0 0-17.63-17.63H170.585z"/>
<rect width="126.356" height="29.385" x="272.569" y="914.707" fill="#b3b3b3" ry="14.693"/>
<rect width="169.991" height="457.913" x="300.928" y="430.348" fill="#b3b3b3" ry="27.415"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@ -9,15 +9,15 @@ enum class DigitalPin {
P5 = MICROBIT_ID_IO_P5,
P6 = MICROBIT_ID_IO_P6,
P7 = MICROBIT_ID_IO_P7,
P8 = MICROBIT_ID_IO_P8,
//P8 = MICROBIT_ID_IO_P8,
P9 = MICROBIT_ID_IO_P9,
P10 = MICROBIT_ID_IO_P10,
P11 = MICROBIT_ID_IO_P11,
P12 = MICROBIT_ID_IO_P12,
P13 = MICROBIT_ID_IO_P13,
P14 = MICROBIT_ID_IO_P14,
P15 = MICROBIT_ID_IO_P15,
P16 = MICROBIT_ID_IO_P16,
//P12 = MICROBIT_ID_IO_P12,
//P13 = MICROBIT_ID_IO_P13,
//P14 = MICROBIT_ID_IO_P14,
//P15 = MICROBIT_ID_IO_P15,
//P16 = MICROBIT_ID_IO_P16,
P19 = MICROBIT_ID_IO_P19,
P20 = MICROBIT_ID_IO_P20,
};
@ -55,15 +55,15 @@ MicroBitPin *getPin(int id) {
case MICROBIT_ID_IO_P5: return &uBit.io.P5;
case MICROBIT_ID_IO_P6: return &uBit.io.P6;
case MICROBIT_ID_IO_P7: return &uBit.io.P7;
case MICROBIT_ID_IO_P8: return &uBit.io.P8;
//case MICROBIT_ID_IO_P8: return &uBit.io.P8;
case MICROBIT_ID_IO_P9: return &uBit.io.P9;
case MICROBIT_ID_IO_P10: return &uBit.io.P10;
case MICROBIT_ID_IO_P11: return &uBit.io.P11;
case MICROBIT_ID_IO_P12: return &uBit.io.P12;
case MICROBIT_ID_IO_P13: return &uBit.io.P13;
case MICROBIT_ID_IO_P14: return &uBit.io.P14;
case MICROBIT_ID_IO_P15: return &uBit.io.P15;
case MICROBIT_ID_IO_P16: return &uBit.io.P16;
//case MICROBIT_ID_IO_P12: return &uBit.io.P12;
//case MICROBIT_ID_IO_P13: return &uBit.io.P13;
//case MICROBIT_ID_IO_P14: return &uBit.io.P14;
//case MICROBIT_ID_IO_P15: return &uBit.io.P15;
//case MICROBIT_ID_IO_P16: return &uBit.io.P16;
case MICROBIT_ID_IO_P19: return &uBit.io.P19;
case MICROBIT_ID_IO_P20: return &uBit.io.P20;
default: return NULL;

View File

@ -2,6 +2,7 @@
* Control currents in Pins for analog/digital signals, servos, i2c, ...
*/
//% color=#A80000 weight=30
//% advanced=true
namespace pins {
/**
* Re-maps a number from one range to another. That is, a value of ``from low`` would get mapped to ``to low``, a value of ``from high`` to ``to high``, values in-between to values in-between, etc.

View File

@ -14,6 +14,7 @@
"helpers.ts",
"images.cpp",
"basic.cpp",
"basic.ts",
"input.cpp",
"input.ts",
"control.ts",
@ -21,6 +22,7 @@
"game.ts",
"led.cpp",
"led.ts",
"motors.cpp",
"music.ts",
"pins.cpp",
"pins.ts",
@ -30,6 +32,7 @@
"pxtparts.json",
"parts/speaker.svg",
"parts/headphone.svg",
"parts/dcmotor.svg",
"_locales/fr/microbit-jsdoc-strings.json"
],
"public": true,

View File

@ -144,5 +144,26 @@
{"part": true, "pinIndices": [0]},
{"pinIndices": [1]}
]
}
},
"dcmotor": {
"numberOfPins": 2,
"visual": {
"image": "parts/dcmotor.svg",
"width": 488,
"height": 836,
"pinDistance": 65,
"pinLocations": [
{"x": 89, "y": 48},
{"x": 395, "y": 48} ]
},
"pinDefinitions": [
{ "target": "M_OUT1", "style": "croc", "orientation": "-Z"},
{ "target": "M_OUT2", "style": "croc", "orientation": "-Z"}
],
"instantiation": {"kind": "singleton"},
"assembly": [
{"part": true, "pinIndices": [0]},
{"pinIndices": [1]}
]
}
}

View File

@ -4,12 +4,12 @@ enum class SerialPin {
P0 = MICROBIT_ID_IO_P0,
P1 = MICROBIT_ID_IO_P1,
P2 = MICROBIT_ID_IO_P2,
P8 = MICROBIT_ID_IO_P8,
P12 = MICROBIT_ID_IO_P12,
P13 = MICROBIT_ID_IO_P13,
P14 = MICROBIT_ID_IO_P14,
P15 = MICROBIT_ID_IO_P15,
P16 = MICROBIT_ID_IO_P16
//P8 = MICROBIT_ID_IO_P8,
//P12 = MICROBIT_ID_IO_P12,
//P13 = MICROBIT_ID_IO_P13,
//P14 = MICROBIT_ID_IO_P14,
//P15 = MICROBIT_ID_IO_P15,
//P16 = MICROBIT_ID_IO_P16
};
enum class BaudRate {
@ -20,9 +20,10 @@ enum class BaudRate {
};
//% weight=2 color=30
//% advanced=true
namespace serial {
// note that at least one // followed by % is needed per declaration!
/**
* Reads a line of text from the serial port.
*/
@ -39,10 +40,10 @@ namespace serial {
//% help=serial/write-string
//% weight=87
//% blockId=serial_writestring block="serial write string %text"
void writeString(StringData *text) {
void writeString(StringData *text) {
uBit.serial.send(ManagedString(text));
}
/**
* Registers an event to be fired when one of the delimiter is matched
* @param delimiters the characters to match received characters against. eg:"\n"
@ -53,7 +54,7 @@ namespace serial {
uBit.serial.eventOn(ManagedString(delimiters));
registerWithDal(MICROBIT_ID_SERIAL, MICROBIT_SERIAL_EVT_DELIM_MATCH, body);
}
/**
* Dynamically configuring the serial instance to use pins other than USBTX and USBRX.
* @param tx the new transmission pins

View File

@ -2,6 +2,7 @@
* Reading and writing data over a serial connection.
*/
//% weight=2 color=#002050
//% advanced=true
namespace serial {
/**
* Prints a line of text to the serial

91
libs/core/shims.d.ts vendored
View File

@ -5,6 +5,7 @@
* Creation, manipulation and display of LED images.
*/
//% color=#5C2D91 weight=31
//% advanced=true
declare namespace images {
/**
@ -128,6 +129,13 @@ declare interface Image {
//% color=#0078D7 weight=100
declare namespace basic {
/**
* Sets the color on the build-in LED. Set to 0 to turn off.
*/
//% blockId=device_set_led_color block="set led to %color=color_id" icon="\uf00a"
//% weight=50 shim=basic::setLedColor
function setLedColor(color: number): void;
/**
* Scroll a number on the screen. If the number fits on the screen (i.e. is a single digit), do not scroll.
* @param interval speed of scroll; eg: 150, 100, 200, -100
@ -247,13 +255,14 @@ declare namespace input {
* @param body the code to run when the pin is released
*/
//% help=input/on-pin-released weight=6 blockGap=8
//% blockId=device_pin_released block="on pin %NAME|released" icon="\uf094" shim=input::onPinReleased
//% blockId=device_pin_released block="on pin %NAME|released" icon="\uf094"
//% advanced=true shim=input::onPinReleased
function onPinReleased(name: TouchPin, body: () => void): void;
/**
* Get the button state (pressed or not) for ``A`` and ``B``.
*/
//% help=input/button-is-pressed weight=57
//% help=input/button-is-pressed weight=60
//% block="button|%NAME|is pressed"
//% blockId=device_get_button2
//% icon="\uf192" blockGap=8
@ -264,15 +273,32 @@ declare namespace input {
* Get the pin state (pressed or not). Requires to hold the ground to close the circuit.
* @param name pin used to detect the touch
*/
//% help=input/pin-is-pressed weight=56
//% help=input/pin-is-pressed weight=58
//% blockId="device_pin_is_pressed" block="pin %NAME|is pressed" icon="\uf094"
//% blockGap=8 shim=input::pinIsPressed
function pinIsPressed(name: TouchPin): boolean;
/**
* Get the acceleration value in milli-gravitys (when the board is laying flat with the screen up, x=0, y=0 and z=-1024)
* @param dimension TODO
*/
//% help=input/acceleration weight=58 icon="\uf135"
//% blockId=device_acceleration block="acceleration (mg)|%NAME" blockGap=8
//% parts="accelerometer" shim=input::acceleration
function acceleration(dimension: Dimension): number;
/**
* Reads the light level applied to the LED screen in a range from ``0`` (dark) to ``255`` bright.
*/
//% help=input/light-level weight=57
//% blockId=device_get_light_level block="light level" blockGap=8 icon="\uf185"
//% parts="ledmatrix" shim=input::lightLevel
function lightLevel(): number;
/**
* Get the current compass heading in degrees.
*/
//% help=input/compass-heading
//% help=input/compass-heading
//% weight=56 icon="\uf14e"
//% blockId=device_heading block="compass heading (°)" blockGap=8
//% parts="compass" shim=input::compassHeading
@ -287,30 +313,13 @@ declare namespace input {
//% parts="thermometer" shim=input::temperature
function temperature(): number;
/**
* Get the acceleration value in milli-gravitys (when the board is laying flat with the screen up, x=0, y=0 and z=-1024)
* @param dimension TODO
*/
//% help=input/acceleration weight=54 icon="\uf135"
//% blockId=device_acceleration block="acceleration (mg)|%NAME" blockGap=8
//% parts="accelerometer" shim=input::acceleration
function acceleration(dimension: Dimension): number;
/**
* Reads the light level applied to the LED screen in a range from ``0`` (dark) to ``255`` bright.
*/
//% help=input/light-level weight=53
//% blockId=device_get_light_level block="light level" blockGap=8 icon="\uf185"
//% parts="ledmatrix" shim=input::lightLevel
function lightLevel(): number;
/**
* The pitch or roll of the device, rotation along the ``x-axis`` or ``y-axis``, in degrees.
* @param kind TODO
*/
//% help=input/rotation weight=52
//% blockId=device_get_rotation block="rotation (°)|%NAME" blockGap=8 icon="\uf197"
//% parts="accelerometer" shim=input::rotation
//% parts="accelerometer" advanced=true shim=input::rotation
function rotation(kind: Rotation): number;
/**
@ -319,14 +328,16 @@ declare namespace input {
*/
//% help=input/magnetic-force weight=51
//% blockId=device_get_magnetic_force block="magnetic force (µT)|%NAME" blockGap=8 icon="\uf076"
//% parts="compass" shim=input::magneticForce
//% parts="compass"
//% advanced=true shim=input::magneticForce
function magneticForce(dimension: Dimension): number;
/**
* Gets the number of milliseconds elapsed since power on.
*/
//% help=input/running-time weight=50
//% blockId=device_get_running_time block="running time (ms)" icon="\uf017" shim=input::runningTime
//% blockId=device_get_running_time block="running time (ms)" icon="\uf017"
//% advanced=true shim=input::runningTime
function runningTime(): number;
/**
@ -342,13 +353,15 @@ declare namespace input {
//% help=input/set-accelerometer-range
//% blockId=device_set_accelerometer_range block="set accelerometer|range %range" icon="\uf135"
//% weight=5
//% parts="accelerometer" shim=input::setAccelerometerRange
//% parts="accelerometer"
//% advanced=true shim=input::setAccelerometerRange
function setAccelerometerRange(range: AcceleratorRange): void;
}
//% weight=1 color="#333333"
//% advanced=true
declare namespace control {
/**
@ -386,7 +399,7 @@ declare namespace control {
/**
* Raises an event in the event bus.
*/
//% weight=20 blockGap=8 blockId="control_on_event" block="on event|from %src=control_event_source_id|with value %value=control_event_value_id"
//% weight=20 blockGap=8 blockId="control_on_event" block="on event|from %src=control_event_source_id|with value %value=control_event_value_id"
//% blockExternalInputs=1 shim=control::onEvent
function onEvent(src: number, value: number, handler: () => void): void;
@ -457,7 +470,8 @@ declare namespace led {
*/
//% help=led/brightness weight=60
//% blockId=device_get_brightness block="brightness" icon="\uf042" blockGap=8
//% parts="ledmatrix" shim=led::brightness
//% parts="ledmatrix"
//% advanced=true shim=led::brightness
function brightness(): number;
/**
@ -466,7 +480,8 @@ declare namespace led {
*/
//% help=led/set-brightness weight=59
//% blockId=device_set_brightness block="set brightness %value" icon="\uf042"
//% parts="ledmatrix" shim=led::setBrightness
//% parts="ledmatrix"
//% advanced=true shim=led::setBrightness
function setBrightness(value: number): void;
/**
@ -474,7 +489,8 @@ declare namespace led {
*/
//% weight=50 help=led/stop-animation
//% blockId=device_stop_animation block="stop animation" icon="\uf04d"
//% parts="ledmatrix" shim=led::stopAnimation
//% parts="ledmatrix"
//% advanced=true shim=led::stopAnimation
function stopAnimation(): void;
/**
@ -492,6 +508,22 @@ declare namespace led {
//% parts="ledmatrix" shim=led::screenshot
function screenshot(): Image;
}
/**
* Blocks to control the onboard motors
*/
//% weight=30
declare namespace motors {
/**
* Controls the power sent to a single motor
* @param power %percent of power sent to the motor. Negative power goes backward. eg: 50
*/
//% blockId=motor_on block="motor on at %percent|%"
//% parts=dcmotor shim=motors::motorOn
function motorOn(power: number): void;
}
declare namespace pins {
/**
@ -636,6 +668,7 @@ declare namespace pins {
//% weight=2 color=30
//% advanced=true
declare namespace serial {
/**

View File

@ -1,7 +1,15 @@
basic.plotLeds(`
# # . # #
. . # . .
. . # . .
# . . . #
. # # # .
`);
basic.setLedColor(Colors.Blue)
basic.pause(500)
basic.setLedColor(Colors.Red)
basic.pause(500)
basic.setLedColor(Colors.Green)
basic.pause(500)
basic.setLedColor(0);
basic.setLedColor(Colors.Violet)
basic.pause(100)
led.plot(0, 0)
basic.pause(1000);
basic.forever(() => {
const a = input.acceleration(Dimension.X);
led.plotBarGraph(a, 1023)
})

View File

@ -6,7 +6,6 @@
],
"public": true,
"dependencies": {
"core": "file:../core",
"radio": "file:../radio"
"core": "file:../core"
}
}

View File

@ -9,12 +9,12 @@ namespace radio {
// -------------------------------------------------------------------------
// Radio
// -------------------------------------------------------------------------
// -------------------------------------------------------------------------
bool radioEnabled = false;
bool transmitSerialNumber = false;
PacketBuffer packet;
int radioEnable() {
int r = uBit.radio.enable();
if (r != MICROBIT_OK) {
@ -32,7 +32,7 @@ namespace radio {
if (radioEnable() != MICROBIT_OK) return;
uBit.radio.event.eventReceived(MicroBitEvent(MES_BROADCAST_GENERAL_ID, message, CREATE_ONLY));
}
void onBroadcastMessageReceived(int message, Action f) {
if (radioEnable() != MICROBIT_OK) return;
registerWithDal(MES_BROADCAST_GENERAL_ID, message, f);
@ -40,18 +40,18 @@ namespace radio {
/**
* Broadcasts a number over radio to any connected micro:bit in the group.
*/
*/
//% help=radio/send-number
//% weight=60
//% blockId=radio_datagram_send block="radio send number %value" blockGap=8
void sendNumber(int value) {
if (radioEnable() != MICROBIT_OK) return;
void sendNumber(int value) {
if (radioEnable() != MICROBIT_OK) return;
uint32_t t = system_timer_current_time();
uint32_t sn = transmitSerialNumber ? microbit_serial_number() : 0;
uint32_t buf[] = { (uint32_t)value, t, sn };
uint32_t buf[] = { (uint32_t)value, t, sn };
uBit.radio.datagram.send((uint8_t*)buf, 3*sizeof(uint32_t));
}
/**
* Broadcasts a name / value pair along with the device serial number
* and running time to any connected micro:bit in the group.
@ -64,8 +64,8 @@ namespace radio {
void sendValue(StringData* name, int value) {
if (radioEnable() != MICROBIT_OK) return;
ManagedString n(name);
uint32_t t = system_timer_current_time();
ManagedString n(name);
uint32_t t = system_timer_current_time();
uint32_t sn = transmitSerialNumber ? microbit_serial_number() : 0;
uint8_t buf[32];
uint32_t* buf32 = (uint32_t*)buf;
@ -75,28 +75,28 @@ namespace radio {
buf32[2] = sn; // 4 bytes: serial number
uint8_t len = min(MAX_FIELD_NAME_LENGTH, n.length()); // 1 byte: string length
if (len > 0) {
buf[12] = len; //
memcpy(buf + 13, n.toCharArray(), len); // 13-25: field name
buf[12] = len; //
memcpy(buf + 13, n.toCharArray(), len); // 13-25: field name
}
uBit.radio.datagram.send(buf, 13 + len);
}
/**
* Broadcasts a number over radio to any connected micro:bit in the group.
*/
*/
//% help=radio/send-string
//% weight=58
//% blockId=radio_datagram_send_string block="radio send string %msg"
void sendString(StringData* msg) {
if (radioEnable() != MICROBIT_OK) return;
if (radioEnable() != MICROBIT_OK) return;
ManagedString s(msg);
if (s.length() > MICROBIT_RADIO_MAX_PACKET_SIZE)
s = s.substring(0, MICROBIT_RADIO_MAX_PACKET_SIZE);
uBit.radio.datagram.send(s);
}
/**
* Reads a value sent with `stream value` and writes it
* to the serial stream as JSON
@ -104,29 +104,30 @@ namespace radio {
//% help=radio/write-value-to-serial
//% weight=3
//% blockId=radio_write_value_serial block="radio write value to serial"
//% advanced=true
void writeValueToSerial() {
if (radioEnable() != MICROBIT_OK) return;
PacketBuffer p = uBit.radio.datagram.recv();
int length = p.length();
uint8_t* bytes = p.getBytes();
int value;
uBit.serial.send("{");
if (length >= 4) {
memcpy(&value, bytes, 4);
uBit.serial.send("\"v\":"); uBit.serial.send(value);
if(length >= 8) {
memcpy(&value, bytes + 4, 4);
uBit.serial.send(",\"t\":"); uBit.serial.send(value);
uBit.serial.send(",\"t\":"); uBit.serial.send(value);
if (length >= 12) {
memcpy(&value, bytes + 8, 4);
uBit.serial.send(",\"s\":"); uBit.serial.send(value);
uBit.serial.send(",\"s\":"); uBit.serial.send(value);
if (length >= 13) {
char name[MAX_FIELD_NAME_LENGTH+1];
uint8_t len = min(MAX_FIELD_NAME_LENGTH, bytes[12]);
memcpy(name, bytes + 13, len);
name[len] = 0;
uBit.serial.send(",\"n\":\""); uBit.serial.send(name); uBit.serial.send("\"");
uBit.serial.send(",\"n\":\""); uBit.serial.send(name); uBit.serial.send("\"");
}
}
}
@ -151,7 +152,7 @@ namespace radio {
}
return 0;
}
/**
* Reads the next packet as a number from the radio queue.
*/
@ -173,12 +174,12 @@ namespace radio {
//% blockId=radio_datagram_received_event block="radio on data received" blockGap=8
void onDataReceived(Action body) {
if (radioEnable() != MICROBIT_OK) return;
registerWithDal(MICROBIT_ID_RADIO, MICROBIT_RADIO_EVT_DATAGRAM, body);
registerWithDal(MICROBIT_ID_RADIO, MICROBIT_RADIO_EVT_DATAGRAM, body);
// make the the receive buffer has a free spot
receiveNumber();
}
/**
* Reads the next packet as a string and returns it.
*/
@ -188,9 +189,9 @@ namespace radio {
StringData* receiveString() {
if (radioEnable() != MICROBIT_OK) return ManagedString().leakData();
packet = uBit.radio.datagram.recv();
return ManagedString(packet).leakData();
return ManagedString(packet).leakData();
}
/**
* Gets the received signal strength indicator (RSSI) from the packet received by ``receive number``. Not supported in simulator.
* namespace=radio
@ -198,6 +199,7 @@ namespace radio {
//% help=radio/received-signal-strength
//% weight=40
//% blockId=radio_datagram_rssi block="radio received signal strength"
//% advanced=true
int receivedSignalStrength() {
if (radioEnable() != MICROBIT_OK) return 0;
return packet.getRSSI();
@ -208,13 +210,13 @@ namespace radio {
* @ param id the group id between ``0`` and ``255``, 1 eg
*/
//% help=radio/set-group
//% weight=10 blockGap=8
//% weight=10 blockGap=8 advanced=true
//% blockId=radio_set_group block="radio set group %ID"
void setGroup(int id) {
if (radioEnable() != MICROBIT_OK) return;
uBit.radio.setGroup(id);
}
/**
* Change the output power level of the transmitter to the given value.
* @param power a value in the range 0..7, where 0 is the lowest power and 7 is the highest. eg: 7
@ -222,17 +224,20 @@ namespace radio {
//% help=radio/set-transmit-power
//% weight=9 blockGap=8
//% blockId=radio_set_transmit_power block="radio set transmit power %power"
//% advanced=true
void setTransmitPower(int power) {
if (radioEnable() != MICROBIT_OK) return;
uBit.radio.setTransmitPower(power);
}
/**
* Set the radio to transmit the serial number in each message.
* @param transmit value indicating if the serial number is transmitted, eg: true
*/
//% help=radio/set-transmit-serial-number
//% weight=8 blockGap=8
//% blockId=radio_set_transmit_serial_number block="radio set transmit serial number %transmit"
//% advanced=true
void setTransmitSerialNumber(bool transmit) {
if (radioEnable() != MICROBIT_OK) return;
transmitSerialNumber = transmit;

15
libs/radio/shims.d.ts vendored
View File

@ -38,7 +38,8 @@ declare namespace radio {
*/
//% help=radio/write-value-to-serial
//% weight=3
//% blockId=radio_write_value_serial block="radio write value to serial" shim=radio::writeValueToSerial
//% blockId=radio_write_value_serial block="radio write value to serial"
//% advanced=true shim=radio::writeValueToSerial
function writeValueToSerial(): void;
/**
@ -79,7 +80,8 @@ declare namespace radio {
*/
//% help=radio/received-signal-strength
//% weight=40
//% blockId=radio_datagram_rssi block="radio received signal strength" shim=radio::receivedSignalStrength
//% blockId=radio_datagram_rssi block="radio received signal strength"
//% advanced=true shim=radio::receivedSignalStrength
function receivedSignalStrength(): number;
/**
@ -87,7 +89,7 @@ declare namespace radio {
* @ param id the group id between ``0`` and ``255``, 1 eg
*/
//% help=radio/set-group
//% weight=10 blockGap=8
//% weight=10 blockGap=8 advanced=true
//% blockId=radio_set_group block="radio set group %ID" shim=radio::setGroup
function setGroup(id: number): void;
@ -97,15 +99,18 @@ declare namespace radio {
*/
//% help=radio/set-transmit-power
//% weight=9 blockGap=8
//% blockId=radio_set_transmit_power block="radio set transmit power %power" shim=radio::setTransmitPower
//% blockId=radio_set_transmit_power block="radio set transmit power %power"
//% advanced=true shim=radio::setTransmitPower
function setTransmitPower(power: number): void;
/**
* Set the radio to transmit the serial number in each message.
* @param transmit value indicating if the serial number is transmitted, eg: true
*/
//% help=radio/set-transmit-serial-number
//% weight=8 blockGap=8
//% blockId=radio_set_transmit_serial_number block="radio set transmit serial number %transmit" shim=radio::setTransmitSerialNumber
//% blockId=radio_set_transmit_serial_number block="radio set transmit serial number %transmit"
//% advanced=true shim=radio::setTransmitSerialNumber
function setTransmitSerialNumber(transmit: boolean): void;
}

View File

@ -1,7 +1,7 @@
{
"name": "pxt-microbit",
"version": "0.4.43",
"description": "micro:bit target for PXT",
"name": "pxt-calliope",
"version": "0.5.14",
"description": "calliope target for PXT",
"keywords": [
"JavaScript",
"education",
@ -9,11 +9,11 @@
],
"repository": {
"type": "git",
"url": "git+https://github.com/Microsoft/pxt-microbit.git"
"url": "git+https://github.com/Microsoft/pxt-calliope.git"
},
"author": "",
"license": "MIT",
"homepage": "https://github.com/Microsoft/pxt-microbit#readme",
"homepage": "https://github.com/Microsoft/pxt-calliope#readme",
"files": [
"README.md",
"pxtarget.json",
@ -29,6 +29,6 @@
"typescript": "^1.8.7"
},
"dependencies": {
"pxt-core": "0.4.51"
"pxt-core": "0.4.57"
}
}

View File

@ -1,9 +1,9 @@
{
"id": "microbit",
"nickname": "microbit",
"name": "code the micro:bit",
"title": "code the micro:bit - Blocks / Javascript editor",
"description": "A Blocks / JavaScript code editor for the micro:bit.",
"id": "calliope",
"name": " calliope",
"nickname": "mini",
"title": "calliope - Blocks / Javascript editor",
"description": "A Blocks / JavaScript code editor for the calliope.",
"corepkg": "core",
"bundleddirs": [
"libs/core",
@ -14,13 +14,9 @@
"cloud": {
"workspace": false,
"packages": true,
"sharing": false,
"publish": false,
"sharing": true,
"publish": true,
"preferredPackages": [
"Microsoft/pxt-neopixel",
"Microsoft/pxt-sonar",
"Microsoft/pxt-max6675",
"Microsoft/pxt-i2c-fram"
],
"githubPackages": true
},
@ -67,9 +63,9 @@
"compile": {
"isNative": false,
"hasHex": true,
"deployDrives": "(MICROBIT|MBED)",
"driveName": "MICROBIT",
"hexMimeType": "application/x-microbit-hex",
"deployDrives": "MINI",
"driveName": "MINI",
"hexMimeType": "application/x-calliope-hex",
"upgrades": [
{
"type": "package",
@ -96,11 +92,11 @@
"simulator": {
"autoRun": true,
"streams": true,
"aspectRatio": 1.22,
"aspectRatio": 1.13,
"parts": true,
"partsAspectRatio": 0.69,
"boardDefinition": {
"visual": "microbit",
"visual": "calliope",
"gpioPinBlocks": [
[
"P0"
@ -150,7 +146,13 @@
"P15": "P15",
"P16": "P16",
"P19": "P19",
"P20": "P20"
"P20": "P20",
"EXT_PWR":"EXT_PWR",
"SPKR":"EXT_PWR",
"BTN_A": "BTN_A",
"BTN_B": "BTN_B",
"M_OUT1": "M_OUT1",
"M_OUT2": "M_OUT2"
},
"spiPins": {
"MOSI": "P15",
@ -182,7 +184,10 @@
"speaker",
"bluetooth",
"thermometer",
"compass"
"compass",
"speaker",
"microphone",
"rgbled"
],
"useCrocClips": true,
"marginWhenBreadboarding": [
@ -195,10 +200,10 @@
},
"compileService": {
"yottaTarget": "bbc-microbit-classic-gcc",
"yottaCorePackage": "pxt-microbit-core",
"githubCorePackage": "microsoft/pxt-microbit-core",
"gittag": "v0.5.0",
"serviceId": "ws"
"yottaCorePackage": "pxt-calliope-core",
"githubCorePackage": "microsoft/pxt-calliope-core",
"gittag": "v0.5.10",
"serviceId": "calliope"
},
"serial": {
"manufacturerFilter": "^mbed$",
@ -206,22 +211,20 @@
"log": true
},
"appTheme": {
"accentColor": "#5C005C",
"logoUrl": "https://codethemicrobit.com/about",
"logo": "./static/microbit.simplified.svg",
"docsLogo": "./static/microbit.simplified.svg",
"portraitLogo": "./static/microbit.simplified.svg",
"footerLogo": "./static/microbit.simplified.svg",
"accentColor": "#249899",
"navMenuClass": "gray",
"defaultLocale": "de",
"logoUrl": "https://calliope.cc/about",
"logo": "./static/Calliopeminieditor.svg",
"docsLogo": "./static/Calliopeminieditor.svg",
"portraitLogo": "./static/Logo_Calliope_Woman.svg",
"footerLogo": "./static/Calliopeminieditor.svg",
"cardLogo": "https://az851932.vo.msecnd.net/pub/drbwxcth",
"appLogo": "https://az851932.vo.msecnd.net/pub/tbhemtig",
"organization": "Microsoft",
"organizationUrl": "https://codethemicrobit.com/",
"organizationLogo": "./static/Microsoft-logo_rgb_c-gray.png",
"homeUrl": "https://codethemicrobit.com/",
"embedUrl": "https://codethemicrobit.com/",
"homeUrl": "https://calliope.cc/",
"privacyUrl": "https://go.microsoft.com/fwlink/?LinkId=521839",
"termsOfUseUrl": "https://go.microsoft.com/fwlink/?LinkID=206977",
"githubUrl": "https://github.com/Microsoft/pxt-microbit",
"githubUrl": "https://github.com/Microsoft/pxt-calliope",
"browserSupport": [
{
"name": "unsupported",
@ -341,4 +344,4 @@
}
]
}
}
}

View File

@ -13,6 +13,7 @@ namespace pxsim {
buttonPairState: ButtonPairState;
radioState: RadioState;
neopixelState: NeoPixelState;
rgbLedState: number;
constructor() {
super()
@ -36,19 +37,19 @@ namespace pxsim {
DAL.MICROBIT_ID_IO_P5,
DAL.MICROBIT_ID_IO_P6,
DAL.MICROBIT_ID_IO_P7,
DAL.MICROBIT_ID_IO_P8,
0, //DAL.MICROBIT_ID_IO_P8,
DAL.MICROBIT_ID_IO_P9,
DAL.MICROBIT_ID_IO_P10,
DAL.MICROBIT_ID_IO_P11,
DAL.MICROBIT_ID_IO_P12,
DAL.MICROBIT_ID_IO_P13,
DAL.MICROBIT_ID_IO_P14,
DAL.MICROBIT_ID_IO_P15,
DAL.MICROBIT_ID_IO_P16,
0, //DAL.MICROBIT_ID_IO_P12,
0, //DAL.MICROBIT_ID_IO_P13,
0, //DAL.MICROBIT_ID_IO_P14,
0, //DAL.MICROBIT_ID_IO_P15,
0, //DAL.MICROBIT_ID_IO_P16,
0,
0,
DAL.MICROBIT_ID_IO_P19,
DAL.MICROBIT_ID_IO_P20
DAL.MICROBIT_ID_IO_P20
]
});
this.builtinParts["radio"] = this.radioState = new RadioState(runtime);
@ -61,11 +62,11 @@ namespace pxsim {
this.builtinVisuals["buttonpair"] = () => new visuals.ButtonPairView();
this.builtinVisuals["ledmatrix"] = () => new visuals.LedMatrixView();
this.builtinVisuals["neopixel"] = () => new visuals.NeoPixelView();
this.builtinVisuals["neopixel"] = () => new visuals.NeoPixelView();
this.builtinPartVisuals["buttonpair"] = (xy: visuals.Coord) => visuals.mkBtnSvg(xy);
this.builtinPartVisuals["ledmatrix"] = (xy: visuals.Coord) => visuals.mkLedMatrixSvg(xy, 8, 8);
this.builtinPartVisuals["neopixel"] = (xy: visuals.Coord) => visuals.mkNeoPixelPart(xy);
this.builtinPartVisuals["neopixel"] = (xy: visuals.Coord) => visuals.mkNeoPixelPart(xy);
}
receiveMessage(msg: SimulatorMessage) {
@ -97,7 +98,7 @@ namespace pxsim {
const cmpDefs = msg.partDefinitions || {};
const fnArgs = msg.fnArgs;
const opts : visuals.BoardHostOpts = {
const opts: visuals.BoardHostOpts = {
state: this,
boardDef: boardDef,
partsList: cmpsList,

6
sim/state/rgbled.ts Normal file
View File

@ -0,0 +1,6 @@
namespace pxsim.basic {
export function setLedColor(c: number) {
board().rgbLedState = c;
runtime.queueDisplayUpdate()
}
}

5
sim/state/soundmotor.ts Normal file
View File

@ -0,0 +1,5 @@
namespace pxsim.motors {
export function motorOn(power: number) {
// TODO
}
}

File diff suppressed because it is too large Load Diff

View File

@ -1,232 +0,0 @@
let correctBall: number
let ballRevealing: boolean
let cupSelect: string
let index: number
let score: number
let level: number
let swapSpeed: number
initializeGame()
input.onButtonPressed(Button.A, () => {
if (ballRevealing) {
index = index + 1
if (index > 2) {
index = 0
}
basic.showString(cupSelect[index], 150)
}
})
input.onButtonPressed(Button.B, () => {
if (ballRevealing) {
ballRevealing = false
if (correctBall == index) {
score = score + level
images.createImage(`
. . . . .
. . . . #
. . . # .
# . # . .
. # . . .
`).showImage(0)
basic.pause(1000)
basic.showString("+".concat(level.toString()), 150)
basic.pause(1000)
} else {
images.createImage(`
# . . . #
. # . # .
. . # . .
. # . # .
# . . . #
`).showImage(0)
basic.pause(1000)
basic.clearScreen()
revealBall(correctBall)
basic.pause(1000)
}
}
level = level + 1
if (level == 4) {
basic.showString("FINAL SCORE:", 75)
basic.showNumber(score, 150)
} else {
playLevel(level)
}
})
playLevel(1)
function revealBall(p: number) {
let xCoordinate = 2 * p
for (let j = 0; j < 3; j++) {
led.plot(j * 2, 2)
}
for (let i = 0; i < 3; i++) {
led.unplot(xCoordinate, 2)
led.plot(xCoordinate, 1)
basic.pause(100)
led.unplot(xCoordinate, 1)
led.plot(xCoordinate, 0)
basic.pause(200)
led.unplot(xCoordinate, 0)
led.plot(xCoordinate, 1)
basic.pause(100)
led.unplot(xCoordinate, 1)
led.plot(xCoordinate, 2)
basic.pause(75)
}
basic.pause(1000)
}
function initializeGame() {
ballRevealing = false
level = 1
score = 0
cupSelect = "LMR"
}
function swapCups(cup_1: number, cup_2: number, pauseDifficulty: number) {
let cup_1X = 2 * cup_1
let cup_2X = 2 * cup_2
let cupXAverage = (cup_1X + cup_2X) / 2
led.unplot(cup_1X, 2)
led.unplot(cup_2X, 2)
led.plot(cup_1X, 3)
led.plot(cup_2X, 1)
basic.pause(pauseDifficulty)
led.unplot(cup_1X, 3)
led.unplot(cup_2X, 1)
led.plot(cup_1X, 4)
led.plot(cup_2X, 0)
basic.pause(pauseDifficulty)
led.unplot(cup_1X, 4)
led.unplot(cup_2X, 0)
if (cupXAverage == 2) {
led.plot((cupXAverage + cup_1X) / 2, 4)
led.plot((cupXAverage + cup_2X) / 2, 0)
basic.pause(pauseDifficulty)
led.unplot((cupXAverage + cup_1X) / 2, 4)
led.unplot((cupXAverage + cup_2X) / 2, 0)
}
led.plot(cupXAverage, 4)
led.plot(cupXAverage, 0)
basic.pause(pauseDifficulty)
led.unplot(cupXAverage, 4)
led.unplot(cupXAverage, 0)
if (cupXAverage == 2) {
led.plot((cupXAverage + cup_2X) / 2, 4)
led.plot((cupXAverage + cup_1X) / 2, 0)
basic.pause(pauseDifficulty)
led.unplot((cupXAverage + cup_2X) / 2, 4)
led.unplot((cupXAverage + cup_1X) / 2, 0)
}
led.plot(cup_2X, 4)
led.plot(cup_1X, 0)
basic.pause(pauseDifficulty)
led.unplot(cup_2X, 4)
led.unplot(cup_1X, 0)
led.plot(cup_2X, 3)
led.plot(cup_1X, 1)
basic.pause(pauseDifficulty)
led.unplot(cup_2X, 3)
led.unplot(cup_1X, 1)
led.plot(cup_2X, 2)
led.plot(cup_1X, 2)
basic.pause(pauseDifficulty)
if (correctBall == cup_1) {
correctBall = cup_2
} else if (correctBall == cup_2) {
correctBall = cup_1
}
}
function swapFake(cup_1: number, cup_2: number, pauseDifficulty: number) {
let cup_1X = 2 * cup_1
let cup_2X = 2 * cup_2
let cupXAverage = (cup_1X + cup_2X) / 2
led.unplot(cup_1X, 2)
led.unplot(cup_2X, 2)
led.plot(cup_1X, 3)
led.plot(cup_2X, 1)
basic.pause(pauseDifficulty)
led.unplot(cup_1X, 3)
led.unplot(cup_2X, 1)
led.plot(cup_1X, 4)
led.plot(cup_2X, 0)
basic.pause(pauseDifficulty)
led.unplot(cup_1X, 4)
led.unplot(cup_2X, 0)
if (cupXAverage == 2) {
led.plot((cupXAverage + cup_1X) / 2, 4)
led.plot((cupXAverage + cup_2X) / 2, 0)
basic.pause(pauseDifficulty)
led.unplot((cupXAverage + cup_1X) / 2, 4)
led.unplot((cupXAverage + cup_2X) / 2, 0)
}
led.plot(cupXAverage, 4)
led.plot(cupXAverage, 0)
basic.pause(pauseDifficulty)
led.unplot(cupXAverage, 4)
led.unplot(cupXAverage, 0)
if (cupXAverage == 2) {
led.plot((cupXAverage + cup_1X) / 2, 4)
led.plot((cupXAverage + cup_2X) / 2, 0)
basic.pause(pauseDifficulty)
led.unplot((cupXAverage + cup_1X) / 2, 4)
led.unplot((cupXAverage + cup_2X) / 2, 0)
}
led.plot(cup_1X, 4)
led.plot(cup_2X, 0)
basic.pause(pauseDifficulty)
led.unplot(cup_1X, 4)
led.unplot(cup_2X, 0)
led.plot(cup_1X, 3)
led.plot(cup_2X, 1)
basic.pause(pauseDifficulty)
led.unplot(cup_1X, 3)
led.unplot(cup_2X, 1)
led.plot(cup_1X, 2)
led.plot(cup_2X, 2)
basic.pause(pauseDifficulty)
}
function playLevel(level1: number) {
basic.showNumber(level, 150)
basic.pause(3000)
basic.clearScreen()
for (let i = 0; i < 3; i++) {
led.plot(2 * i, 2)
}
basic.pause(1000)
correctBall = Math.random(3)
revealBall(correctBall)
basic.pause(1000)
let swaps = 5 + 10 * level1
if (level1 == 1) {
swapSpeed = 80
} else if (level1 == 2) {
swapSpeed = 40
} else {
swapSpeed = 20
}
for (let i1 = 0; i1 < swaps; i1++) {
let swapType = Math.random(3)
let not = Math.random(3)
if (swapType < 2) {
let swapOrientation = Math.random(2)
if (swapOrientation == 0) {
swapCups((not + 1) % 3, (not + 2) % 3, swapSpeed)
} else {
swapCups((not + 2) % 3, (not + 1) % 3, swapSpeed)
}
} else {
let swapOrientation1 = Math.random(2)
if (swapOrientation1 == 0) {
swapFake((not + 1) % 3, (not + 2) % 3, swapSpeed)
} else {
swapFake((not + 2) % 3, (not + 1) % 3, swapSpeed)
}
}
}
index = -1
ballRevealing = true
}

View File

@ -1,155 +0,0 @@
let oneX: number
let oneY: number
let twoX: number
let twoY: number
let pause: number
let meteoriteOneX: number
let meteoriteOneY: number
let meteoriteTwoX: number
let meteoriteTwoY: number
let counter: number
basic.pause(2000)
oneX = 0
oneY = 4
twoX = 1
twoY = 4
counter = 0
pause = 700
led.plot(oneX, oneY)
led.plot(twoX, twoY)
input.onButtonPressed(Button.A, () => {
if (oneX > 0) {
led.unplot(oneX, oneY)
led.unplot(twoX, twoY)
oneX = oneX - 1
twoX = twoX - 1
led.plot(oneX, oneY)
led.plot(twoX, twoY)
}
})
input.onButtonPressed(Button.B, () => {
if (twoX < 4) {
led.unplot(oneX, oneY)
led.unplot(twoX, twoY)
oneX = oneX + 1
twoX = twoX + 1
led.plot(oneX, oneY)
led.plot(twoX, twoY)
}
})
meteoriteOneX = Math.random(5)
meteoriteOneY = 0
meteoriteTwoX = Math.random(5)
meteoriteTwoY = -3
basic.pause(1000)
for (let i = 0; i < 3; i++) {
led.plot(meteoriteTwoX, meteoriteTwoY)
led.plot(meteoriteOneX, meteoriteOneY)
basic.pause(pause)
led.unplot(meteoriteTwoX, meteoriteTwoY)
led.unplot(meteoriteOneX, meteoriteOneY)
meteoriteOneY = meteoriteOneY + 1
meteoriteTwoY = meteoriteTwoY + 1
}
basic.forever(() => {
for (let i1 = 0; i1 < 3; i1++) {
led.plot(meteoriteTwoX, meteoriteTwoY)
led.plot(meteoriteOneX, meteoriteOneY)
basic.pause(pause)
led.unplot(meteoriteOneX, meteoriteOneY)
led.unplot(meteoriteTwoX, meteoriteTwoY)
meteoriteOneY = meteoriteOneY + 1
meteoriteTwoY = meteoriteTwoY + 1
if (meteoriteOneY == 4) {
if (meteoriteOneX == oneX) {
for (let j = 0; j < 10; j++) {
led.plotAll()
basic.pause(200)
basic.clearScreen()
basic.pause(200)
}
basic.showNumber(counter, 150)
basic.pause(10000)
} else if (meteoriteOneX == twoX) {
for (let j1 = 0; j1 < 10; j1++) {
led.plotAll()
basic.pause(200)
basic.clearScreen()
basic.pause(200)
}
basic.showNumber(counter, 150)
basic.pause(10000)
}
}
}
while (Math.abs(meteoriteTwoX - meteoriteOneX) < 1) {
meteoriteOneX = Math.random(5)
}
meteoriteOneY = 0
counter = counter + 1
if (counter == 3) {
pause = pause - 250
} else if (counter == 8) {
pause = pause - 100
} else if (counter == 12) {
pause = pause - 100
} else if (counter == 20) {
pause = pause - 100
} else if (counter == 30) {
pause = pause - 70
}
if (counter == 40) {
pause = pause - 70
}
for (let i2 = 0; i2 < 3; i2++) {
led.plot(meteoriteOneX, meteoriteOneY)
led.plot(meteoriteTwoX, meteoriteTwoY)
basic.pause(pause)
led.unplot(meteoriteOneX, meteoriteOneY)
led.unplot(meteoriteTwoX, meteoriteTwoY)
meteoriteOneY = meteoriteOneY + 1
meteoriteTwoY = meteoriteTwoY + 1
if (meteoriteTwoY == 4) {
if (meteoriteTwoX == oneX) {
for (let j2 = 0; j2 < 10; j2++) {
led.plotAll()
basic.pause(200)
basic.clearScreen()
basic.pause(200)
}
basic.showNumber(counter, 150)
basic.pause(10000)
} else if (meteoriteTwoX == twoX) {
for (let j3 = 0; j3 < 10; j3++) {
led.plotAll()
basic.pause(200)
basic.clearScreen()
basic.pause(200)
}
basic.showNumber(counter, 150)
basic.pause(10000)
}
}
}
meteoriteTwoX = Math.random(5)
while (Math.abs(meteoriteTwoX - meteoriteOneX) < 1) {
meteoriteTwoX = Math.random(5)
}
meteoriteTwoY = 0
counter = counter + 1
if (counter == 3) {
pause = pause - 250
} else if (counter == 8) {
pause = pause - 100
} else if (counter == 12) {
pause = pause - 100
} else if (counter == 20) {
pause = pause - 100
} else if (counter == 30) {
pause = pause - 70
} else if (counter == 40) {
pause = pause - 70
}
})

View File

@ -1,230 +0,0 @@
let levelTime: number
let person: Entity
let monsters: Entity[]
let totalMonsters: number
let playing: boolean
let gameSuspended: boolean
let busyPos: Point[]
class Entity {
public x: number
public y: number
public dirX: number
public dirY: number
public hitHorizontalWall(): boolean {
return this.y == 0 && this.dirY == -1 || this.y == 4 && this.dirY == 1
}
public hitVerticalWall(): boolean {
return this.x == 0 && this.dirX == -1 || this.x == 4 && this.dirX == 1
}
public possHorizontalDir(): number {
if (this.x == 0) {
return 1
} else if (this.x == 4) {
return - 1
} else {
return Math.random(2) * 2 - 1
}
}
public possVerticalDir(): number {
if (this.y == 0) {
return 1
} else if (this.y == 4) {
return - 1
} else {
return Math.random(2) * 2 - 1
}
}
public collidesX(p2: Entity): boolean {
return this.y == p2.y && this.y + this.dirY == p2.y + p2.dirY && (this.x + this.dirX == p2.x || this.x + this.dirX == p2.x + p2.dirX || p2.x + p2.dirX == this.x)
}
public collidesY(p2: Entity): boolean {
return this.x == p2.x && this.x + this.dirX == p2.x + p2.dirX && (this.y + this.dirY == p2.y || this.y + this.dirY == p2.y + p2.dirY || p2.y + p2.dirY == this.y)
}
public move1() {
this.x = this.x + this.dirX
this.y = this.y + this.dirY
}
public towardsX(p2: Entity): number {
return Math.sign(p2.x - this.x)
}
public towardsY(p2: Entity): number {
return Math.sign(p2.y - this.y)
}
public plot() {
led.plot(this.x, this.y)
}
public blink() {
led.plot(this.x, this.y)
basic.pause(125)
led.unplot(this.x, this.y)
basic.pause(125)
led.plot(this.x, this.y)
}
}
class Point {
public x: number
public y: number
}
initializeState()
redraw()
basic.pause(1000)
basic.forever(() => {
levelTime = levelTime + 12
basic.pause(12)
if (!playing) {
levelTime = 0
playing = true
}
if (levelTime >= 5000) {
gameSuspended = true
game.levelUp()
levelUp()
levelTime = 0
resetState()
redraw()
basic.pause(1000)
gameSuspended = false
}
})
basic.forever(() => {
if (!gameSuspended) {
logic()
redraw()
basic.pause(500)
}
})
input.onButtonPressed(Button.A, () => {
let temp = Math.abs(person.dirX) * (-1)
person.dirX = Math.abs(person.dirY) * (-1)
person.dirY = temp
})
input.onButtonPressed(Button.B, () => {
let temp1 = Math.abs(person.dirX)
person.dirX = Math.abs(person.dirY)
person.dirY = temp1
})
function redraw() {
basic.clearScreen()
person.plot()
for (let i = 0; i < totalMonsters; i++) {
monsters[i].blink()
}
}
function initializeState() {
person = new Entity()
playing = false
busyPos = ([] as Point[])
let busyPos1 = new Point()
busyPos1.x = 1
busyPos1.y = 1
let busyPos2 = new Point()
busyPos2.x = 1
busyPos2.y = 3
let busyPos3 = new Point()
busyPos3.x = 3
busyPos3.y = 1
busyPos.push(busyPos1)
busyPos.push(busyPos2)
busyPos.push(busyPos3)
monsters = ([] as Entity[])
addMonster()
resetState()
}
function logic() {
if (person.hitHorizontalWall()) {
person.dirY = 0
person.dirX = person.possHorizontalDir()
}
if (person.hitVerticalWall()) {
person.dirX = 0
person.dirY = person.possVerticalDir()
}
let lost = false
for (let i = 0; i < totalMonsters; i++) {
let m = monsters[i]
m.dirX = m.towardsX(person)
m.dirY = m.towardsY(person)
if (m.dirX != 0 && m.dirY != 0) {
let x = Math.random(2)
if (x == 1) {
m.dirX = 0
} else {
m.dirY = 0
}
}
if (person.collidesX(m) || person.collidesY(m)) {
lost = true
}
}
if (!lost) {
moveAll()
} else {
loseLife()
}
}
function loseLife() {
moveAll()
basic.pause(500)
basic.showLeds(`
. # . # .
. . # . .
. . . . .
. # # # .
# . . . #
`, 400)
basic.pause(1000)
basic.clearScreen()
game.removeLife(1)
playing = false
resetState()
}
function moveAll() {
person.move1()
for (let i = 0; i < totalMonsters; i++) {
monsters[i].move1()
}
}
function addMonster() {
let m = new Entity()
monsters.push(m)
totalMonsters = totalMonsters + 1
}
function levelUp() {
addMonster()
}
function resetState() {
levelTime = 0
game.setLife(5)
person.x = 4
person.y = 4
person.dirX = -1
person.dirY = 0
for (let i = 0; i < totalMonsters; i++) {
let busy = busyPos[i]
let m = monsters[i]
m.x = (busy.x + Math.random(3)) - 1
m.y = (busy.y + Math.random(3)) - 1
}
}