diff options
author | Scott Murray <scott.murray@konsulko.com> | 2019-12-30 18:44:05 -0500 |
---|---|---|
committer | Scott Murray <scott.murray@konsulko.com> | 2019-12-30 23:40:38 +0000 |
commit | 8170c9280b57c8da5d1d6045e16d5ac14bc5220d (patch) | |
tree | f501f7c1f752e704bf08f5c8ce7e5424257d4ce9 /app/voice | |
parent | 7f14e2db1011a4ac4e81ad8dcd3a3b2459411a99 (diff) |
Enhance voice configurationicefish_8.99.5icefish/8.99.58.99.5
Various tweaks to the new voice configuration support:
- Moved "Version" choice on the main menu back down to the last
choice, since it's less likely to be used.
- Pull in qt-qrcode library's quickitem support and use it to
display a QR code when Alexa authorization is required.
- Reworked layout of voice configuration dialog to tighten up
spacing and make more room for the QR code.
- Tweaked voice configuration dialog logic to only show the login
prompting when in not-authorized state. Ideally, a deauth button
would be shown in the authorized state, but the voiceagent API
currently does not enable that AFAICT.
- Replace voiceagent ID with vendor in voiceagent configuration
dialog, as the ID is more of an internal thing that's not useful
to users.
- Tweaked some text colors in voiceagent configuration dialog for
better consistency with the other settings pages.
- Switched voiceagent configuration dialog positioning to center
it on-screen, as that seems more consistent with the look of
the other settings pages.
- Made the previous two changes to the wired settings configuration
dialog as well for consistency.
- Updated the voice settings icon with a microphone icon to match
the default icon shown for the homescreen PTT button.
- Updated the wired settings icon with a more typical network icon
to avoid confusion.
Bug-AGL: SPEC-2981
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: I75560e3cab393e6efdfb1310f266e5b6bb0534d6
Diffstat (limited to 'app/voice')
-rw-r--r-- | app/voice/ConfigDialog.qml | 206 | ||||
-rw-r--r-- | app/voice/Voice.qml | 53 | ||||
-rw-r--r-- | app/voice/images/HMI_Settings_VoiceIcon.svg | 424 |
3 files changed, 422 insertions, 261 deletions
diff --git a/app/voice/ConfigDialog.qml b/app/voice/ConfigDialog.qml index dd939d2..9767804 100644 --- a/app/voice/ConfigDialog.qml +++ b/app/voice/ConfigDialog.qml @@ -18,9 +18,9 @@ import QtQuick 2.11 import QtQuick.Controls 2.4 import QtQuick.Layouts 1.3 +import QtQrCode.Component 1.0 import AGL.Demo.Controls 1.0 - Dialog { id: root property alias xpos: root.x @@ -30,6 +30,7 @@ Dialog { property string thisAgentName: undefined property string thisAgentId: undefined + property string thisAgentVendor: undefined property string thisAgentWuW: undefined property string thisAgentAuthState: undefined property string thisAgentConnState: undefined @@ -44,7 +45,7 @@ Dialog { visible: false z: 1 focus: true - modal: false + modal: true footer: DialogButtonBox { Button { text: "CLOSE" DialogButtonBox.buttonRole: DialogButtonBox.RejectRole @@ -60,7 +61,8 @@ Dialog { background: Rectangle { border.color : '#00ADDC' - color: 'transparent' + color: 'black' + opacity: 0.5 } onReset: refreshToken() @@ -74,161 +76,189 @@ Dialog { anchors.fill: parent ColumnLayout { anchors.fill: parent + spacing: 0 + RowLayout { - Layout.fillHeight: true - Layout.fillWidth: true - Layout.alignment: Qt.AlignLeft - spacing: 32 - visible: true - Label { - id: voiceLabel - font.pixelSize: 28 - color: '#080C0F' - text: "Voice Agent:" - Layout.preferredWidth: 200 - } - Label { - id: idLabel - font.pixelSize: 28 - color: '#66FF99' - text: thisAgentId - } - } - RowLayout { - Layout.fillHeight: true - Layout.fillWidth: true - Layout.alignment: Qt.AlignLeft - spacing: 32 - visible: true - Label { - id: namelabel - font.pixelSize: 28 - color: '#080C0F' - text: "Assistant Name:" - Layout.preferredWidth: 200 - } - Label { - id: aNamelabel - font.pixelSize: 28 - color: '#66FF99' - text: thisAgentName - } - } - RowLayout { - Layout.fillHeight: true + Layout.fillHeight: false Layout.fillWidth: true - Layout.alignment: Qt.AlignLeft - spacing: 32 - visible: true - Label { - id: wuwlabel - font.pixelSize: 28 - color: '#080C0F' - text: "Wake Up Word:" - Layout.preferredWidth: 200 - } - Label { - id: thiswuwlabel - font.pixelSize: 28 - color: '#848286' - text: thisAgentWuW - } - } - RowLayout { - Layout.fillHeight: true - Layout.fillWidth: true - Layout.alignment: Qt.AlignHCenter + Layout.alignment: Qt.AlignLeft | Qt.AlignTop spacing: 16 - visible: true + + /* Labels */ ColumnLayout { Layout.fillWidth: true Label { + id: nameLabel + font.pixelSize: 28 + color: 'white' + text: "Voice Agent:" + Layout.preferredWidth: 200 + } + Label { + id: vendorLabel + font.pixelSize: 28 + color: 'white' + text: "Vendor:" + Layout.preferredWidth: 200 + } + Label { + id: wuwLabel + font.pixelSize: 28 + color: 'white' + text: "Wake Up Word:" + Layout.preferredWidth: 200 + } + Label { id: authLabel font.pixelSize: 28 - color: '#080C0F' + color: 'white' text: "Authorization status:" } Label { - id: connlabel + id: connLabel font.pixelSize: 28 - color: '#080C0F' + color: 'white' text: "Connection status:" } Label { id: dialogLabel font.pixelSize: 28 - color: '#080C0F' + color: 'white' text: "Dialog status:" } } + + /* Values */ ColumnLayout { Layout.fillWidth: true Label { - id: authsLabel + id: nameValue + font.pixelSize: 28 + color: '#66FF99' + text: thisAgentName + } + Label { + id: vendorValue + font.pixelSize: 28 + color: '#66FF99' + text: thisAgentVendor + } + Label { + id: wuwValue + font.pixelSize: 28 + color: '#66FF99' + text: thisAgentWuW + } + Label { + id: authValue font.pixelSize: 28 color: (thisAgentAuthState == "UNINITIALIZED")? '#00ADDC' : '#848286' text: thisAgentAuthState } Label { - id: connslabel + id: connValue font.pixelSize: 28 color: (thisAgentConnState == "DISCONNECTED")? '#00ADDC' : '#848286' text: thisAgentConnState } Label { - id: dialogsLabel + id: dialogValue font.pixelSize: 28 color: (thisAgentDialogState == "MICROPHONEOFF")? '#00ADDC' : '#848286' text: thisAgentDialogState - } + } } } RowLayout { Layout.fillHeight: true Layout.fillWidth: true - Layout.alignment: Qt.AlignHCenter + Layout.alignment: Qt.AlignLeft + Layout.topMargin: 32 spacing: 16 - visible: true + visible: root.thisAgentAuthState !== "REFRESHED" ColumnLayout { Layout.fillWidth: true Label { - id: loginurlLabel + id: loginUrlLabel font.pixelSize: 28 - color: '#080C0F' + color: 'white' text: "Login url:" } Label { - id: logincodeLabel + id: loginCodeLabel font.pixelSize: 28 - color: '#080C0F' + color: 'white' text: "Login code:" } } ColumnLayout { Layout.fillWidth: true Label { - id: urlLabel + id: loginUrlValue font.pixelSize: 28 color: root.tokenValid? '#848286':'#0DF9FF' text: thisAgentLoginUrl } Label { - id: codeLabel + id: loginCodeValue font.pixelSize: 28 color: root.tokenValid? '#848286':'#0DF9FF' text: thisAgentLoginCode } } } - Label { - font.pixelSize: 18 - visible: root.tokenValid - text: "You can use the supplied login data to enable "+thisAgentName+"." + RowLayout { + Layout.fillHeight: true + Layout.fillWidth: true + Layout.alignment: Qt.AlignHCenter + Layout.topMargin: 8 + Layout.bottomMargin: 8 + + QtQrCode { + /* + * FIXME: Generated URL is currently Alexa-specific, work around for + * now by checking agent name and only displaying for Alexa. + */ + data: root.thisAgentLoginUrl + '?cbl-code=' + root.thisAgentLoginCode + visible: root.thisAgentName === "Alexa" && root.thisAgentAuthState !== "REFRESHED" && root.tokenValid + background: 'white' + margin: 16 + Layout.fillWidth: true + Layout.fillHeight: true + } } Label { + id: instructions font.pixelSize: 18 - visible: !root.tokenValid - text: "The current login data is not valid. Press 'UPDATE' to refresh." + + states: [ + State { + name: "HAVE_TOKEN" + when: root.thisAgentAuthState !== "REFRESHED" && root.tokenValid + PropertyChanges { + target: instructions + text: "You can use the supplied login data to enable "+thisAgentName+"." + visible: true + } + }, + State { + name: "NEED_TOKEN" + when: root.thisAgentAuthState !== "REFRESHED" && !root.tokenValid + PropertyChanges { + target: instructions + text: "The current login data is not valid. Press 'UPDATE' to refresh." + visible: true + } + }, + State { + name: "AUTHORIZED" + when: root.thisAgentAuthState === "REFRESHED" + PropertyChanges { + target: instructions + visible: false + } + } + ] } } } diff --git a/app/voice/Voice.qml b/app/voice/Voice.qml index b316132..4de43b6 100644 --- a/app/voice/Voice.qml +++ b/app/voice/Voice.qml @@ -27,62 +27,12 @@ SettingPage { title: 'Voice' readonly property bool isVoice: true - Rectangle { - anchors.horizontalCenter: parent.horizontalCenter - anchors.bottom: parent.top - anchors.margins: 80 - width: 110 - color: "#222" - border.color: "white" - - Button { - id: buttonScan - anchors.centerIn: parent - anchors.margins: 10 - text: enabled? "SCAN" : "PROCESSING" - visible: true - enabled: true - - Timer { - id: scanAnimationTimer - interval: 3000 - running: false - repeat: false - onTriggered: { - buttonScan.enabled = true - } - } - MouseArea { - anchors.fill: parent - - onClicked: { - voice.scan() - buttonScan.enabled = false - scanAnimationTimer.start() - } - } - } - } - Component { id: voiceAgent MouseArea { height: 120 width: ListView.view.width Column { - anchors.left: parent.left - anchors.leftMargin: 5 - id: agentId - Label { - id: agentIdText - text: id - color: '#66FF99' - font.pixelSize: 38 - font.bold: active === "active" - } - } - Column { - anchors.left: agentId.right anchors.leftMargin: 100 id: agentName Label { @@ -112,10 +62,11 @@ SettingPage { maxpwidth: 744 maxpheight: 744 xpos: (parent.width - maxpwidth)/2 - ypos: (parent.height - maxpheight) + ypos: (parent.height - maxpheight)/2 thisAgentName: name thisAgentId: id thisAgentWuW: wuw + thisAgentVendor: vendor thisAgentAuthState: authstate thisAgentConnState: connstate thisAgentDialogState: dialogstate diff --git a/app/voice/images/HMI_Settings_VoiceIcon.svg b/app/voice/images/HMI_Settings_VoiceIcon.svg index edc87a7..7e6f8f6 100644 --- a/app/voice/images/HMI_Settings_VoiceIcon.svg +++ b/app/voice/images/HMI_Settings_VoiceIcon.svg @@ -1,54 +1,29 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> <svg - xmlns:ns0="&#38;#38;ns_ai;" + xmlns:i="&#38;ns_ai;" 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="Layer_1" + id="Radio_Inactive" x="0px" y="0px" - viewBox="0 0 100 100" - style="enable-background:new 0 0 100 100;" + viewBox="0 0 300 300" xml:space="preserve" inkscape:version="0.92.4 (unknown)" - sodipodi:docname="HMI_Settings_VoiceIcon.svg"><metadata - id="metadata20"><rdf:RDF><cc:Work + sodipodi:docname="foo.svg" + width="300" + height="300"><metadata + id="metadata5319"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type - rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs - id="defs18"><symbol - id="CommunicationLink"><title - id="title9930">Communication Link</title><desc - id="desc9932">Transcommunication link.</desc><path - d="m 65,25 0,60 20,-20 0,60" - style="fill:none;stroke-width:2" - id="path9934" /></symbol><symbol - id="Connector"><title - id="title9909">Connector</title><desc - id="desc9911">Exit to or entry from another part of chart.</desc><circle - cx="75" - cy="75" - r="20" - style="stroke-width:2" - id="circle9913" /></symbol><symbol - id="MagneticTape"><title - id="title9830">Magnetic Tape</title><desc - id="desc9832">Magnetic tape storage</desc><circle - cx="75" - cy="75" - r="40" - style="stroke-width:2" - id="circle9834" /><path - d="m 75,115 40,0" - style="stroke-width:2" - id="path9836" /></symbol></defs><sodipodi:namedview + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs + id="defs5317" /><sodipodi:namedview pagecolor="#ffffff" bordercolor="#666666" borderopacity="1" @@ -57,95 +32,300 @@ guidetolerance="10" inkscape:pageopacity="0" inkscape:pageshadow="2" - inkscape:window-width="1853" - inkscape:window-height="1145" - id="namedview16" + inkscape:window-width="1858" + inkscape:window-height="808" + id="namedview5315" showgrid="false" - inkscape:zoom="2.36" - inkscape:cx="-109.74576" - inkscape:cy="50" - inkscape:window-x="67" + inkscape:zoom="0.78666667" + inkscape:cx="-417.39185" + inkscape:cy="81.68331" + inkscape:window-x="0" inkscape:window-y="27" - inkscape:window-maximized="1" - inkscape:current-layer="Layer_1" - inkscape:snap-text-baseline="true" /><style + inkscape:window-maximized="0" + inkscape:current-layer="g5196" /><style type="text/css" - id="style3"> + id="style5192"> .st0{fill:#FFFFFF;} + .st1{font-family:'Roboto-Regular';} + .st2{font-size:25px;} + .st3{letter-spacing:6;} + .st4{fill:url(#SVGID_1_);} + .st5{fill:url(#SVGID_2_);} + .st6{fill:url(#SVGID_3_);} + .st7{fill:url(#SVGID_4_);} + .st8{fill:url(#SVGID_5_);} + .st9{fill:url(#SVGID_6_);} + .st10{fill:url(#SVGID_7_);} + .st11{fill:url(#SVGID_8_);} + .st12{fill:url(#SVGID_9_);} + .st13{fill:url(#SVGID_10_);} + .st14{fill:url(#SVGID_11_);} + .st15{fill:url(#SVGID_12_);} + .st16{fill:url(#SVGID_13_);} </style><switch - id="switch5" - transform="matrix(0,0.56574372,-0.57641502,0,88.324883,33.229197)"><g - ns0:extraneous="self" - id="g7"><g - id="Wifi_Icon"><path - class="st0" - d="m 49.6,32.8 c 10.8,-0.2 21.2,4.3 31,13.4 l 1.6,-1.6 C 72,35 61,30.2 49.6,30.5 34.4,30.9 22.7,39.9 17.8,44.4 l 1.6,1.6 c 4.7,-4.3 16,-12.9 30.2,-13.2 z" - id="path10" - inkscape:connector-curvature="0" - style="fill:#ffffff" /><path - class="st0" - d="m 29,55.8 1.6,1.6 c 2.9,-2.7 10.1,-8.2 19.1,-8.4 6.9,-0.2 13.4,2.7 19.6,8.5 L 71,56 C 64.3,49.7 57.1,46.6 49.7,46.8 39.7,47 32.1,52.9 29,55.8 Z" - id="path12" - inkscape:connector-curvature="0" - style="fill:#ffffff" /><path - class="st0" - d="m 49.8,63.5 c -4.7,0.1 -8.2,3.3 -9,4.2 l 1.6,1.6 c 0.7,-0.7 3.6,-3.4 7.5,-3.5 2.6,0 5.3,1.2 7.7,3.7 l 1.6,-1.6 c -2.9,-3 -6,-4.4 -9.4,-4.4 z" - id="path14" - inkscape:connector-curvature="0" - style="fill:#ffffff" /></g></g></switch><path - style="fill:none" - id="path5225" - d="M 8.1860187,53.118056 C 7.9703975,50.541587 7.493591,47.999332 7.1519746,45.438887 6.7407211,42.965153 6.4221499,40.482093 6.2491503,37.980559 6.1330427,36.418293 6.1789087,34.851503 6.0023065,33.294322 5.9002972,32.472077 5.761593,31.654855 5.7015255,30.828017 5.6554512,29.917996 5.6825124,29.006285 5.686799,28.095617 5.6780582,26.64811 5.6826641,25.207011 5.8134216,23.764908 6.0582015,22.171895 6.2731171,20.574196 6.5428765,18.98507 6.8237445,17.655635 7.0677339,16.315862 7.4768847,15.018431 7.7104162,14.322745 7.9530839,13.676731 8.6299512,13.287204 14.501513,9.9082155 12.695965,10.628918 15.90588,9.4646217 19.458992,8.3280731 23.085737,7.442252 26.6986,6.5200878 c 2.151703,-0.4063341 4.183211,-1.4804334 6.363189,-1.7589783 0.897932,-0.1147326 1.298629,-0.011232 2.174248,0.097794 1.852329,0.3792485 3.636295,1.1678732 5.323045,2.0166162 1.350742,0.5955636 2.653871,1.2830422 3.968071,1.9522725 0.956685,0.610079 1.804514,1.4004878 2.624816,2.1823948 0.948111,0.983066 1.862026,2.003167 2.757821,3.035383 0.656471,0.730292 1.320834,1.443049 1.839535,2.280118 0.384308,0.527542 0.710582,1.091459 1.111546,1.607287 0.395319,0.597314 0.682338,1.25926 1.073466,1.858897 0.55726,0.616019 0.89149,1.365877 1.306613,2.072596 0.384159,0.626591 0.453798,1.33486 0.501875,2.051177 0.03774,0.84548 0.03043,1.69216 0.02841,2.538246 0.0035,0.693275 0.0028,1.386567 0.003,2.079847 -0.0026,0.644818 1.78e-4,1.289588 -0.0027,1.934413 0.0056,0.667985 -4.82e-4,1.33601 -0.0029,2.004001 0.0084,0.686716 -0.0024,1.373464 0.0034,2.060181 0.0011,0.714685 -0.0029,1.429367 -0.0047,2.144049 -0.0064,0.704667 0.0061,1.40927 0.0079,2.113907 0.0011,0.518225 4.25e-4,1.036499 0.0053,1.554708 -0.0091,0.510046 0.01497,1.020328 -0.02392,1.529125 -0.132028,0.457616 -0.222628,0.940697 -0.416788,1.3767 -0.186692,0.476674 -0.490605,0.883161 -0.678536,1.358248 -0.227606,0.355822 -0.369182,0.756426 -0.571478,1.124607 -0.282205,0.281102 -0.301543,0.670174 -0.464467,1.009803 -0.201596,0.432244 -0.498488,0.800628 -0.694263,1.234855 -0.278643,0.446739 -0.39963,0.954733 -0.483873,1.46754 -0.06438,0.576969 -0.03737,1.152969 -0.160693,1.722178 -0.141854,0.569271 -0.229906,1.14733 -0.290469,1.730043 -0.003,0.499389 -0.08111,1.010845 -0.01658,1.508615 0.09019,0.308069 0.268203,0.637103 0.54129,0.820335 0.400749,0.03147 0.7053,0.282742 1.070318,0.410173 0.403219,0.27607 0.719527,0.64704 1.055264,0.996437 0.422707,0.484016 0.565862,1.058841 0.655246,1.677885 0.01101,0.524347 -0.101969,1.091209 -0.340202,1.561579 -0.202111,0.393532 -0.515304,0.731066 -0.841182,1.029401 -0.395096,0.295421 -0.787523,0.571065 -1.142998,0.916841 -0.431838,0.614192 -0.669862,1.337859 -1.038942,1.991607 -0.386963,0.543488 -0.772704,1.085875 -1.174589,1.618274 -1.742189,2.270016 -2.677288,1.525507 -6.319725,4.170622 -1.623902,1.179267 3.475087,-2.008651 5.21263,-3.012977 -0.444883,0.2688 -0.78167,0.66896 -1.190878,0.983434 -0.458444,0.337664 -0.917528,0.672387 -1.346474,1.047356 -0.370803,0.319398 -0.748567,0.637734 -1.168764,0.893248 -0.622384,0.46474 -1.2451,0.929314 -1.887603,1.366694 -2.460122,1.908887 -5.319394,3.139923 -8.100728,4.457021 -1.234317,0.583927 -2.476789,0.529322 -3.804172,0.461994 -2.241697,-0.12864 -4.486117,-0.193448 -6.731145,-0.219829 -1.497026,-0.213573 -3.024119,-0.596211 -4.327172,-1.387405 -0.506821,-0.403131 -0.259874,-0.212125 -0.739766,-0.574405 0,0 5.311447,-3.35265 5.311447,-3.35265 v 0 c 0.453798,0.351238 0.224702,0.179426 0.687231,0.515514 1.24674,0.694552 2.660102,1.058795 4.077561,1.175462 2.247975,0.0681 4.496127,0.130206 6.743562,0.215265 1.297656,0.0038 2.514332,-0.121136 3.685217,-0.728731 0.502697,-0.223194 0.993727,-0.457577 1.484789,-0.70503 0.160311,-0.08078 0.637377,-0.32987 0.482823,-0.238555 -4.552904,2.690002 -6.746047,3.788226 -4.608412,2.708666 0.585549,-0.496254 1.285165,-0.849412 1.851571,-1.372012 0.24153,-0.202261 0.541309,-0.312883 0.782748,-0.510763 0.07097,-0.05817 0.115421,-0.145093 0.188424,-0.200684 0.06895,-0.0525 0.154149,-0.07925 0.231224,-0.118876 0.423522,-0.395169 0.848636,-0.788579 1.336084,-1.105733 0.419551,-0.305758 0.819802,-0.601008 1.163636,-0.997755 1.860227,-1.089292 3.674198,-2.261732 5.58068,-3.267875 1.775379,-0.936954 -3.45557,2.044138 -5.186956,3.060088 -0.06567,0.03854 0.127526,-0.08333 0.189458,-0.127634 0.26031,-0.186212 0.416842,-0.429399 0.60166,-0.689217 0.478632,-0.459737 0.805831,-1.030486 1.195614,-1.564363 0.527789,-0.550988 0.740021,-1.308599 1.02582,-2.001201 0.265506,-0.456526 0.623858,-0.788678 1.061063,-1.059514 0.365638,-0.237233 0.619311,-0.51992 0.957153,-0.785841 0.06796,-0.123559 0.181055,-0.2191 0.245483,-0.344537 0.136546,-0.265844 0.09625,-0.619982 0.268556,-0.877609 -0.0449,-0.48982 -0.103326,-0.946301 -0.45561,-1.320856 -0.278755,-0.288004 -0.556559,-0.607998 -0.926339,-0.778054 -0.397984,-0.195228 -0.835114,-0.305428 -1.187378,-0.584352 -0.316127,-0.330058 -0.596792,-0.69874 -0.72607,-1.143399 -0.168871,-0.542833 -0.04765,-1.128846 -0.05907,-1.691547 0.01727,-0.612463 0.107498,-1.220462 0.253351,-1.815714 0.03889,-0.180906 0.118961,-0.352379 0.147141,-0.535259 0.05658,-0.367172 -0.03908,-0.760921 0.02751,-1.129698 0.04847,-0.573845 0.155717,-1.146876 0.377953,-1.680601 0.256463,-0.387432 0.355335,-0.865281 0.704749,-1.202725 0.05119,-0.108017 0.152262,-0.187747 0.201335,-0.296741 0.111513,-0.247671 -0.01464,-0.589279 0.22629,-0.787209 0.259266,-0.336741 0.384157,-0.715518 0.609416,-1.073091 0.162738,-0.240171 0.18145,-0.489177 0.320512,-0.739494 0.0076,-0.01371 0.267736,-0.367385 0.275356,-0.380356 0.03782,-0.06439 0.06227,-0.135748 0.09341,-0.203622 0.05844,-0.13073 0.161531,-0.239137 0.214693,-0.372102 0.11096,-0.27752 0.08096,-0.623975 0.260563,-0.882585 0.184147,-0.434331 0.03474,-0.948527 0.07745,-1.410912 0.0048,-0.519994 0.0042,-1.040052 0.0053,-1.560062 0.0019,-0.707331 0.01425,-1.414629 0.0079,-2.121991 -0.0018,-0.713077 -0.0059,-1.426154 -0.0047,-2.139233 0.0058,-0.687875 -0.005,-1.375779 0.0034,-2.063652 -0.0025,-0.667 -0.0086,-1.334033 -0.003,-2.001026 -0.0028,-0.644475 -3.7e-5,-1.288888 -0.0013,-1.933359 0.0021,-0.69647 0.0049,-1.392987 0.01385,-2.089408 0.0026,-0.833747 0.0099,-1.667821 -0.01621,-2.501289 -0.03062,-0.620598 -0.05072,-1.242255 -0.371661,-1.793743 C 49.395885,24.301652 49.056374,23.570949 48.509294,22.96287 48.128148,22.376549 47.82193,21.746096 47.445548,21.158255 47.032532,20.623819 46.706004,20.035072 46.31668,19.484049 45.818735,18.676319 45.175591,17.984776 44.551238,17.274059 43.681016,16.252175 42.806387,15.226917 41.846231,14.2887 41.03837,13.559092 40.22463,12.806819 39.276801,12.262187 38.007178,11.551488 36.716097,10.884634 35.390474,10.28299 33.736499,9.4990487 32.024306,8.7150302 30.202158,8.4442769 29.876492,8.4239624 29.551403,8.3773026 29.22516,8.3833332 c -2.444497,0.045187 -4.905242,1.3516906 -7.288638,1.7813558 -3.650421,0.926779 -7.314552,1.840354 -10.869417,3.094058 -2.8533014,1.154891 -1.012413,0.476369 3.378326,-2.229777 0.184856,-0.113932 -0.401718,0.167552 -0.591145,0.273711 -0.454642,0.254789 -0.32568,0.203362 -0.51565,0.647835 -0.06011,0.140644 -0.126832,0.278371 -0.190248,0.417556 -0.49638,1.249961 -0.702409,2.583135 -1.014281,3.886473 -0.271934,1.576571 -0.484833,3.15996 -0.758247,4.736717 -0.118432,1.421434 -0.164324,2.839173 -0.119482,4.266383 0.0046,0.891825 0.01515,1.783812 0.04206,2.675265 0.04086,0.824885 0.137067,1.644861 0.236542,2.464489 0.173419,1.579118 0.134322,3.161066 0.196151,4.747384 0.134623,2.499423 0.410051,4.985256 0.810564,7.456686 0.343603,2.543932 0.796189,5.071876 1.204816,7.605428 0,0 -5.5604903,2.911159 -5.5604903,2.911159 z" - inkscape:connector-curvature="0" /><path - style="fill:none" - id="path5227" - d="m 24.485013,44.66292 c 1.359909,-0.82284 2.520233,-1.904259 3.62995,-3.031218 0.677715,-0.712758 0.35662,-0.369753 0.964652,-1.027735 0,0 5.759358,-2.410173 5.759358,-2.410173 v 0 c -0.630626,0.674203 -0.300589,0.322706 -0.990485,1.054136 -1.084555,1.12558 -2.17328,2.296542 -3.522213,3.107721 0,0 -5.841262,2.307269 -5.841262,2.307269 z" - inkscape:connector-curvature="0" /><path - style="fill:none;stroke-width:1.38337505" - id="path5229" - d="m 13.458322,29.690015 c 2.561575,-1.722524 5.192379,-3.055439 7.799819,-4.506591 1.667405,-1.110112 3.080853,-1.969808 4.835155,-1.022021 0.470137,0.253999 1.673682,1.246314 2.132631,1.613436 1.545355,1.092565 2.760099,3.177951 4.087998,4.93834 0.996277,1.544921 1.69777,3.635137 2.463728,5.574231 0.649106,1.878032 1.424323,3.570049 2.163422,5.316728 0.476674,1.495824 0.857344,3.09934 1.271452,4.661461 0.422975,1.84617 0.847858,3.687992 1.16792,5.610185 0.201079,0.997694 0.108777,2.026328 -0.03392,3.023611 0,0 -5.695669,5.241074 -5.695669,5.241074 v 0 c 0.08649,-0.831594 0.345152,-1.64666 0.207613,-2.495528 -0.261799,-1.884664 -0.663213,-3.668152 -1.083394,-5.44151 -0.402366,-1.491811 -0.793688,-2.994917 -1.239441,-4.441788 -0.69417,-1.81302 -1.460379,-3.518374 -2.122323,-5.377391 -0.729428,-1.850463 -1.412693,-3.828511 -2.385734,-5.252083 -1.241499,-1.812147 -2.435068,-3.739635 -3.925517,-4.798984 -0.623543,-0.476916 -1.386003,-1.121649 -2.049441,-1.383898 -1.598517,-0.631876 -3.107366,0.457549 -4.615322,1.342787 -2.662367,1.469107 -5.339066,2.883111 -7.932442,4.762582 0,0 4.953462,-7.364641 4.953462,-7.364641 z" - inkscape:connector-curvature="0" /><path - style="fill:none;stroke-width:2.21237707" - id="path5239" - sodipodi:type="arc" - sodipodi:cx="32.427959" - sodipodi:cy="41.441784" - sodipodi:rx="10.46186" - sodipodi:ry="6.0740414" - sodipodi:start="0" - sodipodi:end="4.3327517" - d="m 42.889819,41.441784 a 10.46186,6.0740414 0 0 1 -9.141486,6.025472 10.46186,6.0740414 0 0 1 -11.448949,-4.504543 10.46186,6.0740414 0 0 1 6.251582,-7.162493 l 3.876993,5.641564 z" /><path - style="display:inline;fill:none" - id="path5241" - sodipodi:type="arc" - sodipodi:cx="17.09322" - sodipodi:cy="28.508474" - sodipodi:rx="3.6016948" - sodipodi:ry="5.5084743" - sodipodi:start="0" - sodipodi:end="4.332745" - d="m 20.694915,28.508474 a 3.6016948,5.5084743 0 0 1 -3.147124,5.464426 3.6016948,5.5084743 0 0 1 -3.941523,-4.08509 3.6016948,5.5084743 0 0 1 2.1522,-6.495588 l 1.334752,5.116252 z" /><use - id="use12005" - style="fill:#ffffff;stroke:#ffffff;fill-opacity:1" - xlink:href="#CommunicationLink" - x="0" - y="0" - width="100%" - height="100%" - transform="matrix(-0.52556122,0,0,0.57327377,73.752319,3.3411719)" /><use - id="use12047" - style="fill:none;stroke:#ffffff" - xlink:href="#Connector" - x="0" - y="0" - width="100%" - height="100%" - transform="matrix(1.7438377,0,0,1.8645613,-79.21155,-91.630241)" /><use - id="use13420" - style="fill:#ffffff;stroke:#000000" - xlink:href="#MagneticTape" - x="0" - y="0" - width="100%" - height="100%" - transform="matrix(0.05946552,0,0,0.06476213,27.854011,23.265534)" /></svg>
\ No newline at end of file + id="switch5194" + transform="matrix(1.3307804,0,0,1.3314313,-62.924861,-27.94579)"><g + i:extraneous="self" + id="g5196"><g + id="g5198" + style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-opacity:1" + transform="matrix(1.44,0,0,1.44,-70.444,-60.28)"><linearGradient + id="SVGID_1_" + gradientUnits="userSpaceOnUse" + x1="4.0481" + y1="287.94919" + x2="320.4859" + y2="-15.4029" + gradientTransform="matrix(1,0.00546456,-0.00546456,1,-2.0192,-3.0212)"><stop + offset="0" + style="stop-color:#00ADDC" + id="stop5201" /><stop + offset="1" + style="stop-color:#6BFBFF" + id="stop5203" /></linearGradient><g + id="g5207" + style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-opacity:1"><linearGradient + id="SVGID_2_" + gradientUnits="userSpaceOnUse" + x1="-11.0561" + y1="273.63409" + x2="354.8013" + y2="-51.979"><stop + offset="0" + style="stop-color:#00ADDC" + id="stop5210" /><stop + offset="1" + style="stop-color:#6BFBFF" + id="stop5212" /></linearGradient><path + class="st5" + d="m 168.2,162.4 -1.2,-3.5 c 7.9,-2.6 13.3,-9.6 13.3,-17.3 v -40.5 c 0,-10.2 -9.1,-18.4 -20.2,-18.4 -11.1,0 -20.2,8.3 -20.2,18.4 v 40.5 c 0,7.7 5.3,14.6 13.2,17.3 l -1.2,3.5 c -9.4,-3.2 -15.7,-11.5 -15.7,-20.8 v -40.5 c 0,-12.2 10.7,-22.1 23.9,-22.1 13.2,0 23.9,9.9 23.9,22.1 v 40.5 c 0,9.3 -6.4,17.6 -15.8,20.8 z" + id="path5214" + style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-opacity:1" + inkscape:connector-curvature="0" /></g><g + id="g5216" + style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-opacity:1"><linearGradient + id="SVGID_3_" + gradientUnits="userSpaceOnUse" + x1="3.6219001" + y1="290.12631" + x2="369.4794" + y2="-35.486801"><stop + offset="0" + style="stop-color:#00ADDC" + id="stop5219" /><stop + offset="1" + style="stop-color:#6BFBFF" + id="stop5221" /></linearGradient><path + class="st6" + d="m 160,172.9 c -18.3,0 -33.1,-12.2 -33.1,-27.3 h 3.7 c 0,13 13.2,23.6 29.5,23.6 16.3,0 29.5,-10.6 29.5,-23.6 h 3.7 c -0.2,15.1 -15,27.3 -33.3,27.3 z" + id="path5223" + style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-opacity:1" + inkscape:connector-curvature="0" /></g><g + id="g5225" + style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-opacity:1"><linearGradient + id="SVGID_4_" + gradientUnits="userSpaceOnUse" + x1="19.325199" + y1="307.77039" + x2="385.18259" + y2="-17.8428"><stop + offset="0" + style="stop-color:#00ADDC" + id="stop5228" /><stop + offset="1" + style="stop-color:#6BFBFF" + id="stop5230" /></linearGradient><rect + x="158.2" + y="178.5" + class="st7" + width="3.7" + height="8" + id="rect5232" + style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-opacity:1" /></g><g + id="g5234" + style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-opacity:1"><linearGradient + id="SVGID_5_" + gradientUnits="userSpaceOnUse" + x1="-22.1502" + y1="261.16879" + x2="343.70721" + y2="-64.444397"><stop + offset="0" + style="stop-color:#00ADDC" + id="stop5237" /><stop + offset="1" + style="stop-color:#6BFBFF" + id="stop5239" /></linearGradient><rect + x="138.10001" + y="110.3" + class="st8" + width="14.3" + height="3.7" + id="rect5241" + style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-opacity:1" /></g><g + id="g5243" + style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-opacity:1"><linearGradient + id="SVGID_6_" + gradientUnits="userSpaceOnUse" + x1="-27.6269" + y1="255.0152" + x2="338.23059" + y2="-70.5979"><stop + offset="0" + style="stop-color:#00ADDC" + id="stop5246" /><stop + offset="1" + style="stop-color:#6BFBFF" + id="stop5248" /></linearGradient><rect + x="138.10001" + y="99.300003" + class="st9" + width="14.3" + height="3.7" + id="rect5250" + style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-opacity:1" /></g><g + id="g5252" + style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-opacity:1"><linearGradient + id="SVGID_7_" + gradientUnits="userSpaceOnUse" + x1="-16.6164" + y1="267.3866" + x2="349.241" + y2="-58.226601"><stop + offset="0" + style="stop-color:#00ADDC" + id="stop5255" /><stop + offset="1" + style="stop-color:#6BFBFF" + id="stop5257" /></linearGradient><rect + x="138.10001" + y="121.4" + class="st10" + width="14.3" + height="3.7" + id="rect5259" + style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-opacity:1" /></g><g + id="g5261" + style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-opacity:1"><linearGradient + id="SVGID_8_" + gradientUnits="userSpaceOnUse" + x1="-11.1393" + y1="273.54059" + x2="354.71811" + y2="-52.072498"><stop + offset="0" + style="stop-color:#00ADDC" + id="stop5264" /><stop + offset="1" + style="stop-color:#6BFBFF" + id="stop5266" /></linearGradient><rect + x="138.10001" + y="132.5" + class="st11" + width="14.3" + height="3.7" + id="rect5268" + style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-opacity:1" /></g><g + id="g5270" + style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-opacity:1"><linearGradient + id="SVGID_9_" + gradientUnits="userSpaceOnUse" + x1="-9.1322002" + y1="275.7959" + x2="356.72531" + y2="-49.817299"><stop + offset="0" + style="stop-color:#00ADDC" + id="stop5273" /><stop + offset="1" + style="stop-color:#6BFBFF" + id="stop5275" /></linearGradient><rect + x="167.60001" + y="110.3" + class="st12" + width="14.3" + height="3.7" + id="rect5277" + style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-opacity:1" /></g><g + id="g5279" + style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-opacity:1"><linearGradient + id="SVGID_10_" + gradientUnits="userSpaceOnUse" + x1="-14.6088" + y1="269.6423" + x2="351.2486" + y2="-55.970798"><stop + offset="0" + style="stop-color:#00ADDC" + id="stop5282" /><stop + offset="1" + style="stop-color:#6BFBFF" + id="stop5284" /></linearGradient><rect + x="167.60001" + y="99.300003" + class="st13" + width="14.3" + height="3.7" + id="rect5286" + style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-opacity:1" /></g><g + id="g5288" + style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-opacity:1"><linearGradient + id="SVGID_11_" + gradientUnits="userSpaceOnUse" + x1="-3.5984001" + y1="282.01361" + x2="362.25909" + y2="-43.599499"><stop + offset="0" + style="stop-color:#00ADDC" + id="stop5291" /><stop + offset="1" + style="stop-color:#6BFBFF" + id="stop5293" /></linearGradient><rect + x="167.60001" + y="121.4" + class="st14" + width="14.3" + height="3.7" + id="rect5295" + style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-opacity:1" /></g><g + id="g5297" + style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-opacity:1"><linearGradient + id="SVGID_12_" + gradientUnits="userSpaceOnUse" + x1="1.8788" + y1="288.16769" + x2="367.73621" + y2="-37.445499"><stop + offset="0" + style="stop-color:#00ADDC" + id="stop5300" /><stop + offset="1" + style="stop-color:#6BFBFF" + id="stop5302" /></linearGradient><rect + x="167.60001" + y="132.5" + class="st15" + width="14.3" + height="3.7" + id="rect5304" + style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-opacity:1" /></g><g + id="g5306" + style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-opacity:1"><linearGradient + id="SVGID_13_" + gradientUnits="userSpaceOnUse" + x1="24.376101" + y1="313.44559" + x2="390.23361" + y2="-12.1676"><stop + offset="0" + style="stop-color:#00ADDC" + id="stop5309" /><stop + offset="1" + style="stop-color:#6BFBFF" + id="stop5311" /></linearGradient><path + class="st16" + d="m 182.1,195 h -3.7 c 0,-4.6 -2.3,-5.4 -8.8,-5.4 h -19.2 c -6.5,0 -8.8,0.8 -8.8,5.4 h -3.7 c 0,-9.1 7.8,-9.1 12.5,-9.1 h 19.2 c 4.7,0 12.5,0 12.5,9.1 z" + id="path5313" + style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-opacity:1" + inkscape:connector-curvature="0" /></g></g></g></switch></svg>
\ No newline at end of file |