summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libre/calibre/PKGBUILD10
-rw-r--r--libre/calibre/libre.patch4729
2 files changed, 5 insertions, 4734 deletions
diff --git a/libre/calibre/PKGBUILD b/libre/calibre/PKGBUILD
index 123df5c85..b1d5f819b 100644
--- a/libre/calibre/PKGBUILD
+++ b/libre/calibre/PKGBUILD
@@ -11,8 +11,8 @@
# Contributor: Isaac David <isacdaavid@at@isacdaavid@dot@info>
pkgname=calibre
-pkgver=3.13.0
-pkgrel=1.parabola2
+pkgver=3.15.0
+pkgrel=1.parabola1
arch=(x86_64 i686 armv7h)
pkgdesc="Ebook management application, without nonfree decompression engine for RAR archives"
@@ -37,13 +37,13 @@ replaces=($pkgname-libre)
conflicts=($pkgname-libre)
# for updated libre.patch commit id see: https://gitlab.com/libreforks/calibre/tags
-_commit='ce5c919653b60aa8aea611b3ee19dba8'
+_commit='11f261b5db0b2f0d23e5067368ce73d6'
source=("https://download.calibre-ebook.com/$pkgver/calibre-$pkgver.tar.xz"
"https://calibre-ebook.com/signatures/$pkgname-$pkgver.tar.xz.sig"
"https://gitlab.com/libreforks/calibre/uploads/$_commit/libre.patch")
-sha256sums=('84c980e80b61d12797c91bfa0b6ba81926e2fef49ca3082c3e5ea80d161e13a9'
+sha256sums=('8746f52315561d606fd7120fec8284c2e4433f6ead14639c40b4b5f1522273ff'
'SKIP'
- '87b55892d8ba896dd1b29949769001fa5521f85f664b675eb118bba66a42dc5e')
+ 'b218de451ac29081071b6ba965c543bfeb6fb9c5a1bdcedfa02b27811c986dd6')
validpgpkeys=('3CE1780F78DD88DF45194FD706BC317B515ACE7C')
prepare() {
diff --git a/libre/calibre/libre.patch b/libre/calibre/libre.patch
deleted file mode 100644
index 33f2c2bbd..000000000
--- a/libre/calibre/libre.patch
+++ /dev/null
@@ -1,4729 +0,0 @@
-diff --git a/COPYRIGHT b/COPYRIGHT
-index 933e771..3ac5369 100644
---- a/COPYRIGHT
-+++ b/COPYRIGHT
-@@ -16,11 +16,6 @@ Files: resources/rapydscript/*
- Copyright: Various
- License: BSD
-
--Files: src/unrar/*
--Copyright: Various
--License: Non-free
-- Code can be distributed freely.
--
- Files: src/html5lib/*
- Copyright: Copyright (c) 2006-2013 James Graham and other contributors
- License: Expat
-diff --git a/Changelog.yaml b/Changelog.yaml
-index e4e041d..8105931 100644
---- a/Changelog.yaml
-+++ b/Changelog.yaml
-@@ -67,7 +67,7 @@
-
- - title: "Save to disk: Dont error out if the user deletes all formats to be saved."
-
-- - title: "Linux binary: Fix calibre not starting on systems where QT_QPA_PLATFORM is set to use wayland"
-+ - title: "GNU/Linux binary: Fix calibre not starting on systems where QT_QPA_PLATFORM is set to use wayland"
-
- improved recipes:
- - The Economist
-@@ -94,7 +94,7 @@
- bug fixes:
- - title: "Fix a regression that caused clicking the clear button in the main search bar to not unapply the current search until enter is pressed."
-
-- - title: "Linux: Fix a regression causing calibre to fail to start on systems with no DBUS session bus"
-+ - title: "GNU/Linux: Fix a regression causing calibre to fail to start on systems with no DBUS session bus"
-
- - title: "Browser viewer: Fix body font being forced to sans-serif, overriding in book and user stylesheet settings"
-
-@@ -134,7 +134,7 @@
-
- - title: "Book details panel: Fix metadata field titles not being top aligned"
-
-- - title: "Linux: Fix long startup delay on systems that do not have a desktop notification service running"
-+ - title: "GNU/Linux: Fix long startup delay on systems that do not have a desktop notification service running"
-
- - title: "3.11.1 fixes a couple of regression in 3.11.0 that broke configuring Get books and creating catalogs"
-
-@@ -245,12 +245,12 @@
- - title: "Book details popup window: Show the cover size in the bottom right corner if the option to show cover size in the Book details panel is set."
- tickets: [1716520]
-
-- - title: "Linux: Fix regression that broke using calibre on some older VNC servers"
-+ - title: "GNU/Linux: Fix regression that broke using calibre on some older VNC servers"
-
- - title: "Browser viewer: Do not fail if the book contains javascript that has errors."
- tickets: [1715781]
-
-- - title: "Linux: Fix file open dialog on older KDE desktops not working correctly."
-+ - title: "GNU/Linux: Fix file open dialog on older KDE desktops not working correctly."
- tickets: [1715648]
-
- - title: "Update Ozon.ru metadata plugin for website changes."
-@@ -262,7 +262,7 @@
- - title: "Conversion: Expand -epub-writing-mode to -webkit-writing-mode and writing-mode properties for maximum compatibility."
- tickets: [1713509]
-
-- - title: "Linux: Fix SONY PRS-650 not being detected"
-+ - title: "GNU/Linux: Fix SONY PRS-650 not being detected"
-
- improved recipes:
- - The Hindu
-@@ -313,9 +313,9 @@
-
- - title: "Workaround for Qt bug that prevented using the shift and ctrl keys with the touchscreen"
-
-- - title: "Linux: fix native KDE file dialog not working on older systems"
-+ - title: "GNU/Linux: fix native KDE file dialog not working on older systems"
-
-- - title: "Linux: Fix KDE dialogs not supporting multiple file name filter groups"
-+ - title: "GNU/Linux: Fix KDE dialogs not supporting multiple file name filter groups"
-
- - title: "Fix libraries being sorted alphabetically by full path rather than just library name"
-
-@@ -340,7 +340,7 @@
- date: 2017-08-04
-
- new features:
-- - title: "Linux: Use native file dialogs via zenity or kdialog, if available"
-+ - title: "GNU/Linux: Use native file dialogs via zenity or kdialog, if available"
-
- - title: "Copy to library: Add an action to show a dialog that allows for easy selection of libraries for copy/move. Useful when there are a large number of libraries to choose from."
- tickets: [1706198]
-@@ -519,7 +519,7 @@
-
- - title: "Server: Fix timeout errors when using SSL (particularly common when running the server on windows)"
-
-- - title: "Linux: Fix slow mouse wheel scrolling in Cover grid because of Qt bug"
-+ - title: "GNU/Linux: Fix slow mouse wheel scrolling in Cover grid because of Qt bug"
-
- - title: "Blacklist the iOS Reader applications and Marvin XD plugins as they were preventing calibre from starting up and they have not worked in a long time anyway, since Apple restricted USB access to their iOS devices"
-
-@@ -555,8 +555,6 @@
- - title: "Edit metadata dialog: Add buttons to easily set/clear Yes/no columns"
- tickets: [1698331]
-
-- - title: "Support for RAR 5.0 format RAR and CBR files"
--
- bug fixes:
- - title: "Version 3.1.1 fixes a regression in 3.1.0 that prevented the standalone calibre-server.exe from working on Windows and macOS"
-
-@@ -3720,7 +3718,7 @@
-
- - title: "Add books: Improve performance when adding large numbers of books at once"
-
-- - title: "Add books: Allow adding books from multiple ZIP/RAR archives, each containing many books, by right clicking on the Add books and choosing 'Add from archive'"
-+ - title: "Add books: Allow adding books from multiple ZIP archives, each containing many books, by right clicking on the Add books and choosing 'Add from archive'"
-
- - title: "Metadata download: Prioritize results that have the same language as the current calibre user interface language"
-
-diff --git a/README.md b/README.md
-index 584157f..df775a7 100644
---- a/README.md
-+++ b/README.md
-@@ -3,17 +3,22 @@ calibre
-
- <img align="left" src="resources/images/lt.png?raw=true"/>
-
--calibre is an e-book manager. It can view, convert, edit and catalog e-books
--in all of the major e-book formats. It can also talk to e-book reader
--devices. It can go out to the internet and fetch metadata for your books.
--It can download newspapers and convert them into e-books for convenient
--reading. It is cross platform, running on Linux, Windows and OS X.
-+This is a fully-libre fork of calibre, an e-book manager.
-+It can view, convert, edit and catalog e-books in all of the major e-book formats.
-+It can also talk to e-book reader devices. It can go out to the internet and fetch
-+metadata for your books.
-+It can download newspapers and convert them into e-books for convenient
-+reading. It is cross platform, running on GNU/Linux, Windows and OS X.
-
- For more information, see the [calibre About page](https://calibre-ebook.com/about)
-
- [![Build Status](https://api.travis-ci.org/kovidgoyal/calibre.svg)](https://travis-ci.org/kovidgoyal/calibre)
- [![Build status](https://ci.appveyor.com/api/projects/status/v3nkfq0t3pse8lep?svg=true&passingText=windows%20OK&failingText=windows%20KO)](https://ci.appveyor.com/project/kovidgoyal/calibre)
-
-+<br>
-+<br>
-+<br>
-+
- Screenshots
- -------------
- [Screenshots page](https://calibre-ebook.com/demo)
-@@ -34,12 +39,5 @@ Bugs
- ------
-
- Bug reports and feature requests should be made in the calibre bug tracker at [launchpad](https://bugs.launchpad.net/calibre).
--GitHub is only used for code hosting and pull requests.
--
--Support calibre
------------------
--
--calibre is a result of the efforts of many volunteers from all over the world.
--If you find it useful, please consider contributing to support its development.
--[Donate to support calibre development](https://calibre-ebook.com/donate).
-+If the bug is particular to this fork, then report it in the [Parabola Bug Tracker](https://labs.parabola.nu/projects)
-
-diff --git a/imgsrc/mimetypes/rar.svg a/imgsrc/mimetypes/rar.svg
-deleted file mode 100644
-index 9b1f34e..0000000
---- a/imgsrc/mimetypes/rar.svg
-+++ /dev/null
-@@ -1,2765 +0,0 @@
--<?xml version="1.0" encoding="UTF-8" standalone="no"?>
--<!-- Created with Inkscape (http://www.inkscape.org/) -->
--<svg
-- xmlns:i="http://ns.adobe.com/AdobeIllustrator/10.0/"
-- xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
-- xmlns:dc="http://purl.org/dc/elements/1.1/"
-- xmlns:cc="http://web.resource.org/cc/"
-- 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"
-- width="128"
-- height="128"
-- id="svg2606"
-- sodipodi:version="0.32"
-- inkscape:version="0.45.1"
-- version="1.0"
-- sodipodi:docname="application-x-ace.svg"
-- inkscape:output_extension="org.inkscape.output.svg.inkscape"
-- sodipodi:docbase="/home/david/sandbox">
-- <defs
-- id="defs2608">
-- <linearGradient
-- id="linearGradient4360">
-- <stop
-- style="stop-color:#ffdfbf;stop-opacity:1;"
-- offset="0"
-- id="stop4362" />
-- <stop
-- style="stop-color:#ffdfbf;stop-opacity:0;"
-- offset="1"
-- id="stop4364" />
-- </linearGradient>
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#linearGradient4360"
-- id="linearGradient4366"
-- x1="52.25"
-- y1="97.514183"
-- x2="52.25"
-- y2="22.061335"
-- gradientUnits="userSpaceOnUse" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#linearGradient6548"
-- id="linearGradient2422"
-- gradientUnits="userSpaceOnUse"
-- x1="13.769808"
-- y1="5.4544477"
-- x2="50.6035"
-- y2="26.3501"
-- gradientTransform="translate(100.96362,-31.039526)" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#linearGradient6534"
-- id="linearGradient4378"
-- gradientUnits="userSpaceOnUse"
-- x1="90.050995"
-- y1="4.5991001"
-- x2="62.9014"
-- y2="21.1523"
-- gradientTransform="translate(100.96362,-31.039526)" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#linearGradient6524"
-- id="linearGradient3400"
-- gradientUnits="userSpaceOnUse"
-- gradientTransform="translate(100.96362,-31.039526)"
-- x1="63.573593"
-- y1="16.737045"
-- x2="59.166992"
-- y2="24.58" />
-- <filter
-- inkscape:collect="always"
-- x="-0.073966118"
-- width="1.1479322"
-- y="-0.17647055"
-- height="1.3529411"
-- id="filter3400">
-- <feGaussianBlur
-- inkscape:collect="always"
-- stdDeviation="3.1565288"
-- id="feGaussianBlur3402" />
-- </filter>
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#linearGradient6524"
-- id="linearGradient9793"
-- gradientUnits="userSpaceOnUse"
-- gradientTransform="matrix(1.0024038,0,0,1,-0.2163407,0)"
-- x1="64.25"
-- y1="45.3125"
-- x2="73.5625"
-- y2="43.8125" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#XMLID_26_"
-- id="linearGradient9791"
-- gradientUnits="userSpaceOnUse"
-- x1="0.6016"
-- y1="60.5801"
-- x2="1.1021"
-- y2="60.5801" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#XMLID_25_"
-- id="linearGradient9789"
-- gradientUnits="userSpaceOnUse"
-- x1="2.1997"
-- y1="60.7158"
-- x2="3.198"
-- y2="60.6601" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#XMLID_24_"
-- id="linearGradient9787"
-- gradientUnits="userSpaceOnUse"
-- x1="103.8984"
-- y1="60.5801"
-- x2="103.3984"
-- y2="60.5801" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#XMLID_23_"
-- id="linearGradient9785"
-- gradientUnits="userSpaceOnUse"
-- x1="101.3027"
-- y1="60.6592"
-- x2="102.3008"
-- y2="60.7148" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#linearGradient3329"
-- id="linearGradient9779"
-- gradientUnits="userSpaceOnUse"
-- x1="45.35817"
-- y1="9.0646334"
-- x2="45.35817"
-- y2="25.815258" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#XMLID_17_"
-- id="linearGradient9777"
-- gradientUnits="userSpaceOnUse"
-- x1="0.25"
-- y1="13.2949"
-- x2="104.25"
-- y2="13.2949" />
-- <radialGradient
-- inkscape:collect="always"
-- xlink:href="#XMLID_15_"
-- id="radialGradient9773"
-- gradientUnits="userSpaceOnUse"
-- cx="7.5"
-- cy="8.3301"
-- r="126.4133" />
-- <linearGradient
-- id="XMLID_166_"
-- gradientUnits="userSpaceOnUse"
-- x1="63.106"
-- y1="71.9766"
-- x2="65.1059"
-- y2="80.9765">
-- <stop
-- offset="0.0506"
-- style="stop-color:#FFFFFF"
-- id="stop2629" />
-- <stop
-- offset="1"
-- style="stop-color:#D3D7CF"
-- id="stop2631" />
-- <a:midPointStop
-- offset="0.0506"
-- style="stop-color:#FFFFFF" />
-- <a:midPointStop
-- offset="0.5"
-- style="stop-color:#FFFFFF" />
-- <a:midPointStop
-- offset="1"
-- style="stop-color:#D3D7CF" />
-- </linearGradient>
-- <linearGradient
-- id="XMLID_165_"
-- gradientUnits="userSpaceOnUse"
-- x1="62"
-- y1="76"
-- x2="66"
-- y2="76">
-- <stop
-- offset="0.0506"
-- style="stop-color:#FFFFFF"
-- id="stop2620" />
-- <stop
-- offset="0.9326"
-- style="stop-color:#D3D7CF"
-- id="stop2622" />
-- <stop
-- offset="1"
-- style="stop-color:#888A85"
-- id="stop2624" />
-- <a:midPointStop
-- offset="0.0506"
-- style="stop-color:#FFFFFF" />
-- <a:midPointStop
-- offset="0.5"
-- style="stop-color:#FFFFFF" />
-- <a:midPointStop
-- offset="0.9326"
-- style="stop-color:#D3D7CF" />
-- <a:midPointStop
-- offset="0.5"
-- style="stop-color:#D3D7CF" />
-- <a:midPointStop
-- offset="1"
-- style="stop-color:#888A85" />
-- </linearGradient>
-- <linearGradient
-- id="XMLID_164_"
-- gradientUnits="userSpaceOnUse"
-- x1="61.7065"
-- y1="77.5322"
-- x2="67.7616"
-- y2="107.8077">
-- <stop
-- offset="0"
-- style="stop-color:#EEEEEC"
-- id="stop2613" />
-- <stop
-- offset="1"
-- style="stop-color:#BABDB6"
-- id="stop2615" />
-- <a:midPointStop
-- offset="0"
-- style="stop-color:#EEEEEC" />
-- <a:midPointStop
-- offset="0.5"
-- style="stop-color:#EEEEEC" />
-- <a:midPointStop
-- offset="1"
-- style="stop-color:#BABDB6" />
-- </linearGradient>
-- <linearGradient
-- id="XMLID_163_"
-- gradientUnits="userSpaceOnUse"
-- x1="61.3159"
-- y1="83.0986"
-- x2="68.3162"
-- y2="101.0992">
-- <stop
-- offset="0.0056"
-- style="stop-color:#FFFFFF"
-- id="stop2600" />
-- <stop
-- offset="0.1352"
-- style="stop-color:#F0F0F0"
-- id="stop2602" />
-- <stop
-- offset="0.384"
-- style="stop-color:#CACAC9"
-- id="stop2604" />
-- <stop
-- offset="0.7233"
-- style="stop-color:#8C8D8B"
-- id="stop2606" />
-- <stop
-- offset="1"
-- style="stop-color:#555753"
-- id="stop2608" />
-- <a:midPointStop
-- offset="0.0056"
-- style="stop-color:#FFFFFF" />
-- <a:midPointStop
-- offset="0.5618"
-- style="stop-color:#FFFFFF" />
-- <a:midPointStop
-- offset="1"
-- style="stop-color:#555753" />
-- </linearGradient>
-- <linearGradient
-- id="XMLID_162_"
-- gradientUnits="userSpaceOnUse"
-- x1="63.542"
-- y1="74.0918"
-- x2="64.5422"
-- y2="79.093">
-- <stop
-- offset="0"
-- style="stop-color:#a9ada4;stop-opacity:1;"
-- id="stop2593" />
-- <stop
-- offset="1"
-- style="stop-color:#3f403d;stop-opacity:1;"
-- id="stop2595" />
-- <a:midPointStop
-- offset="0"
-- style="stop-color:#BABDB6" />
-- <a:midPointStop
-- offset="0.5"
-- style="stop-color:#BABDB6" />
-- <a:midPointStop
-- offset="1"
-- style="stop-color:#555753" />
-- </linearGradient>
-- <linearGradient
-- id="XMLID_161_"
-- gradientUnits="userSpaceOnUse"
-- x1="62.0503"
-- y1="69.625"
-- x2="67.0498"
-- y2="83.6237">
-- <stop
-- offset="0"
-- style="stop-color:#FFFFFF"
-- id="stop2574" />
-- <stop
-- offset="0.1332"
-- style="stop-color:#FAFAFA"
-- id="stop2576" />
-- <stop
-- offset="0.2876"
-- style="stop-color:#ECEDEC"
-- id="stop2578" />
-- <stop
-- offset="0.4525"
-- style="stop-color:#D5D6D5"
-- id="stop2580" />
-- <stop
-- offset="0.6249"
-- style="stop-color:#B5B6B4"
-- id="stop2582" />
-- <stop
-- offset="0.8032"
-- style="stop-color:#8C8D8A"
-- id="stop2584" />
-- <stop
-- offset="0.9838"
-- style="stop-color:#5A5C58"
-- id="stop2586" />
-- <stop
-- offset="1"
-- style="stop-color:#555753"
-- id="stop2588" />
-- <a:midPointStop
-- offset="0"
-- style="stop-color:#FFFFFF" />
-- <a:midPointStop
-- offset="0.6765"
-- style="stop-color:#FFFFFF" />
-- <a:midPointStop
-- offset="1"
-- style="stop-color:#555753" />
-- </linearGradient>
-- <linearGradient
-- id="XMLID_160_"
-- gradientUnits="userSpaceOnUse"
-- x1="56.8906"
-- y1="67.8857"
-- x2="68.8911"
-- y2="82.8864">
-- <stop
-- offset="0"
-- style="stop-color:#FFFFFF"
-- id="stop2567" />
-- <stop
-- offset="1"
-- style="stop-color:#373836;stop-opacity:1;"
-- id="stop2569" />
-- <a:midPointStop
-- offset="0"
-- style="stop-color:#FFFFFF" />
-- <a:midPointStop
-- offset="0.5"
-- style="stop-color:#FFFFFF" />
-- <a:midPointStop
-- offset="1"
-- style="stop-color:#555753" />
-- </linearGradient>
-- <linearGradient
-- id="XMLID_159_"
-- gradientUnits="userSpaceOnUse"
-- x1="60.3325"
-- y1="67.6123"
-- x2="68.4149"
-- y2="103.9829">
-- <stop
-- offset="0.0506"
-- style="stop-color:#515151;stop-opacity:1;"
-- id="stop2560" />
-- <stop
-- offset="1"
-- style="stop-color:#343633;stop-opacity:1;"
-- id="stop2562" />
-- <a:midPointStop
-- offset="0.0506"
-- style="stop-color:#FFFFFF" />
-- <a:midPointStop
-- offset="0.5"
-- style="stop-color:#FFFFFF" />
-- <a:midPointStop
-- offset="1"
-- style="stop-color:#555753" />
-- </linearGradient>
-- <linearGradient
-- id="XMLID_143_"
-- gradientUnits="userSpaceOnUse"
-- x1="33.7886"
-- y1="57.9995"
-- x2="33.7886"
-- y2="119.0001">
-- <stop
-- offset="0.0506"
-- style="stop-color:#EEEEEC"
-- id="stop2497" />
-- <stop
-- offset="1"
-- style="stop-color:#888A85"
-- id="stop2499" />
-- <a:midPointStop
-- offset="0.0506"
-- style="stop-color:#EEEEEC" />
-- <a:midPointStop
-- offset="0.5"
-- style="stop-color:#EEEEEC" />
-- <a:midPointStop
-- offset="1"
-- style="stop-color:#888A85" />
-- </linearGradient>
-- <linearGradient
-- id="XMLID_115_"
-- gradientUnits="userSpaceOnUse"
-- x1="84.0117"
-- y1="28.52"
-- x2="85.3436"
-- y2="35.1793"
-- gradientTransform="matrix(-0.2556 0.9668 0.9668 0.2556 25.5372 -35.9141)">
-- <stop
-- offset="0.0506"
-- style="stop-color:#EEEEEC"
-- id="stop2301" />
-- <stop
-- offset="1"
-- style="stop-color:#888A85"
-- id="stop2303" />
-- <a:midPointStop
-- offset="0.0506"
-- style="stop-color:#EEEEEC" />
-- <a:midPointStop
-- offset="0.5"
-- style="stop-color:#EEEEEC" />
-- <a:midPointStop
-- offset="1"
-- style="stop-color:#888A85" />
-- </linearGradient>
-- <linearGradient
-- id="XMLID_142_"
-- gradientUnits="userSpaceOnUse"
-- x1="41.0347"
-- y1="58"
-- x2="41.0347"
-- y2="119.0007">
-- <stop
-- offset="0.0506"
-- style="stop-color:#EEEEEC"
-- id="stop2490" />
-- <stop
-- offset="1"
-- style="stop-color:#888A85"
-- id="stop2492" />
-- <a:midPointStop
-- offset="0.0506"
-- style="stop-color:#EEEEEC" />
-- <a:midPointStop
-- offset="0.5"
-- style="stop-color:#EEEEEC" />
-- <a:midPointStop
-- offset="1"
-- style="stop-color:#888A85" />
-- </linearGradient>
-- <linearGradient
-- id="XMLID_114_"
-- gradientUnits="userSpaceOnUse"
-- x1="83.3877"
-- y1="36.4746"
-- x2="84.7196"
-- y2="43.1339"
-- gradientTransform="matrix(-0.4243 0.9055 0.9055 0.4243 41.46 -36.3299)">
-- <stop
-- offset="0.0506"
-- style="stop-color:#EEEEEC"
-- id="stop2294" />
-- <stop
-- offset="1"
-- style="stop-color:#888A85"
-- id="stop2296" />
-- <a:midPointStop
-- offset="0.0506"
-- style="stop-color:#EEEEEC" />
-- <a:midPointStop
-- offset="0.5"
-- style="stop-color:#EEEEEC" />
-- <a:midPointStop
-- offset="1"
-- style="stop-color:#888A85" />
-- </linearGradient>
-- <linearGradient
-- id="XMLID_141_"
-- gradientUnits="userSpaceOnUse"
-- x1="48.5864"
-- y1="57.9995"
-- x2="48.5864"
-- y2="118.9997">
-- <stop
-- offset="0.0506"
-- style="stop-color:#EEEEEC"
-- id="stop2483" />
-- <stop
-- offset="1"
-- style="stop-color:#888A85"
-- id="stop2485" />
-- <a:midPointStop
-- offset="0.0506"
-- style="stop-color:#EEEEEC" />
-- <a:midPointStop
-- offset="0.5"
-- style="stop-color:#EEEEEC" />
-- <a:midPointStop
-- offset="1"
-- style="stop-color:#888A85" />
-- </linearGradient>
-- <linearGradient
-- id="XMLID_113_"
-- gradientUnits="userSpaceOnUse"
-- x1="83.0635"
-- y1="44.9131"
-- x2="84.3951"
-- y2="51.5712"
-- gradientTransform="matrix(-0.5962 0.8028 0.8028 0.5962 60.4483 -34.8312)">
-- <stop
-- offset="0.0506"
-- style="stop-color:#EEEEEC"
-- id="stop2287" />
-- <stop
-- offset="1"
-- style="stop-color:#888A85"
-- id="stop2289" />
-- <a:midPointStop
-- offset="0.0506"
-- style="stop-color:#EEEEEC" />
-- <a:midPointStop
-- offset="0.5"
-- style="stop-color:#EEEEEC" />
-- <a:midPointStop
-- offset="1"
-- style="stop-color:#888A85" />
-- </linearGradient>
-- <linearGradient
-- id="XMLID_140_"
-- gradientUnits="userSpaceOnUse"
-- x1="55.313"
-- y1="57.9995"
-- x2="55.313"
-- y2="119.0003">
-- <stop
-- offset="0.0506"
-- style="stop-color:#EEEEEC"
-- id="stop2476" />
-- <stop
-- offset="1"
-- style="stop-color:#888A85"
-- id="stop2478" />
-- <a:midPointStop
-- offset="0.0506"
-- style="stop-color:#EEEEEC" />
-- <a:midPointStop
-- offset="0.5"
-- style="stop-color:#EEEEEC" />
-- <a:midPointStop
-- offset="1"
-- style="stop-color:#888A85" />
-- </linearGradient>
-- <linearGradient
-- id="XMLID_112_"
-- gradientUnits="userSpaceOnUse"
-- x1="54.8887"
-- y1="61.9019"
-- x2="55.8886"
-- y2="70.9013">
-- <stop
-- offset="0.0506"
-- style="stop-color:#EEEEEC"
-- id="stop2280" />
-- <stop
-- offset="1"
-- style="stop-color:#888A85"
-- id="stop2282" />
-- <a:midPointStop
-- offset="0.0506"
-- style="stop-color:#EEEEEC" />
-- <a:midPointStop
-- offset="0.5"
-- style="stop-color:#EEEEEC" />
-- <a:midPointStop
-- offset="1"
-- style="stop-color:#888A85" />
-- </linearGradient>
-- <linearGradient
-- id="XMLID_139_"
-- gradientUnits="userSpaceOnUse"
-- x1="59.3667"
-- y1="57.9995"
-- x2="59.3667"
-- y2="119.0002">
-- <stop
-- offset="0.0506"
-- style="stop-color:#EEEEEC"
-- id="stop2469" />
-- <stop
-- offset="1"
-- style="stop-color:#888A85"
-- id="stop2471" />
-- <a:midPointStop
-- offset="0.0506"
-- style="stop-color:#EEEEEC" />
-- <a:midPointStop
-- offset="0.5"
-- style="stop-color:#EEEEEC" />
-- <a:midPointStop
-- offset="1"
-- style="stop-color:#888A85" />
-- </linearGradient>
-- <linearGradient
-- id="XMLID_111_"
-- gradientUnits="userSpaceOnUse"
-- x1="81.4268"
-- y1="64.792"
-- x2="82.7584"
-- y2="71.4501"
-- gradientTransform="matrix(-0.894 0.4481 0.4481 0.894 102.4965 -24.3783)">
-- <stop
-- offset="0.0506"
-- style="stop-color:#EEEEEC"
-- id="stop2273" />
-- <stop
-- offset="1"
-- style="stop-color:#888A85"
-- id="stop2275" />
-- <a:midPointStop
-- offset="0.0506"
-- style="stop-color:#EEEEEC" />
-- <a:midPointStop
-- offset="0.5"
-- style="stop-color:#EEEEEC" />
-- <a:midPointStop
-- offset="1"
-- style="stop-color:#888A85" />
-- </linearGradient>
-- <linearGradient
-- id="linearGradient3567">
-- <stop
-- id="stop3569"
-- offset="0"
-- style="stop-color:#bbbecc;stop-opacity:0.94117647;" />
-- <stop
-- id="stop3571"
-- offset="1"
-- style="stop-color:#363a52;stop-opacity:1;" />
-- </linearGradient>
-- <linearGradient
-- id="XMLID_123_"
-- gradientUnits="userSpaceOnUse"
-- x1="66.5293"
-- y1="114.6494"
-- x2="67.8614"
-- y2="121.3099">
-- <stop
-- offset="0.0506"
-- style="stop-color:#EEEEEC"
-- id="stop2357" />
-- <stop
-- offset="1"
-- style="stop-color:#888A85"
-- id="stop2359" />
-- <a:midPointStop
-- offset="0.0506"
-- style="stop-color:#EEEEEC" />
-- <a:midPointStop
-- offset="0.5"
-- style="stop-color:#EEEEEC" />
-- <a:midPointStop
-- offset="1"
-- style="stop-color:#888A85" />
-- </linearGradient>
-- <linearGradient
-- id="XMLID_120_"
-- gradientUnits="userSpaceOnUse"
-- x1="72.5303"
-- y1="110.6504"
-- x2="73.8621"
-- y2="117.3097"
-- gradientTransform="matrix(-1 0 0 1 134 0)">
-- <stop
-- offset="0.0506"
-- style="stop-color:#EEEEEC"
-- id="stop2336" />
-- <stop
-- offset="1"
-- style="stop-color:#888A85"
-- id="stop2338" />
-- <a:midPointStop
-- offset="0.0506"
-- style="stop-color:#EEEEEC" />
-- <a:midPointStop
-- offset="0.5"
-- style="stop-color:#EEEEEC" />
-- <a:midPointStop
-- offset="1"
-- style="stop-color:#888A85" />
-- </linearGradient>
-- <linearGradient
-- id="XMLID_119_"
-- gradientUnits="userSpaceOnUse"
-- x1="66.5303"
-- y1="106.6494"
-- x2="67.8624"
-- y2="113.3099">
-- <stop
-- offset="0.0506"
-- style="stop-color:#EEEEEC"
-- id="stop2329" />
-- <stop
-- offset="1"
-- style="stop-color:#888A85"
-- id="stop2331" />
-- <a:midPointStop
-- offset="0.0506"
-- style="stop-color:#EEEEEC" />
-- <a:midPointStop
-- offset="0.5"
-- style="stop-color:#EEEEEC" />
-- <a:midPointStop
-- offset="1"
-- style="stop-color:#888A85" />
-- </linearGradient>
-- <linearGradient
-- id="XMLID_122_"
-- gradientUnits="userSpaceOnUse"
-- x1="72.5293"
-- y1="102.6484"
-- x2="73.8619"
-- y2="109.3113"
-- gradientTransform="matrix(-1 0 0 1 134 0)">
-- <stop
-- offset="0.0506"
-- style="stop-color:#EEEEEC"
-- id="stop2350" />
-- <stop
-- offset="1"
-- style="stop-color:#888A85"
-- id="stop2352" />
-- <a:midPointStop
-- offset="0.0506"
-- style="stop-color:#EEEEEC" />
-- <a:midPointStop
-- offset="0.5"
-- style="stop-color:#EEEEEC" />
-- <a:midPointStop
-- offset="1"
-- style="stop-color:#888A85" />
-- </linearGradient>
-- <linearGradient
-- id="XMLID_121_"
-- gradientUnits="userSpaceOnUse"
-- x1="66.5303"
-- y1="98.6494"
-- x2="67.8624"
-- y2="105.3099">
-- <stop
-- offset="0.0506"
-- style="stop-color:#EEEEEC"
-- id="stop2343" />
-- <stop
-- offset="1"
-- style="stop-color:#888A85"
-- id="stop2345" />
-- <a:midPointStop
-- offset="0.0506"
-- style="stop-color:#EEEEEC" />
-- <a:midPointStop
-- offset="0.5"
-- style="stop-color:#EEEEEC" />
-- <a:midPointStop
-- offset="1"
-- style="stop-color:#888A85" />
-- </linearGradient>
-- <linearGradient
-- id="XMLID_130_"
-- gradientUnits="userSpaceOnUse"
-- x1="72.5303"
-- y1="94.6514"
-- x2="73.8621"
-- y2="101.3107"
-- gradientTransform="matrix(-1 0 0 1 134 0)">
-- <stop
-- offset="0.0506"
-- style="stop-color:#EEEEEC"
-- id="stop2406" />
-- <stop
-- offset="1"
-- style="stop-color:#888A85"
-- id="stop2408" />
-- <a:midPointStop
-- offset="0.0506"
-- style="stop-color:#EEEEEC" />
-- <a:midPointStop
-- offset="0.5"
-- style="stop-color:#EEEEEC" />
-- <a:midPointStop
-- offset="1"
-- style="stop-color:#888A85" />
-- </linearGradient>
-- <linearGradient
-- id="XMLID_147_"
-- gradientUnits="userSpaceOnUse"
-- x1="67"
-- y1="58.0005"
-- x2="67"
-- y2="119.0009">
-- <stop
-- offset="0.0506"
-- style="stop-color:#bdbec4;stop-opacity:1;"
-- id="stop2525" />
-- <stop
-- offset="1"
-- style="stop-color:#ffffff;stop-opacity:1;"
-- id="stop2527" />
-- <a:midPointStop
-- offset="0.0506"
-- style="stop-color:#EEEEEC" />
-- <a:midPointStop
-- offset="0.5"
-- style="stop-color:#EEEEEC" />
-- <a:midPointStop
-- offset="1"
-- style="stop-color:#888A85" />
-- </linearGradient>
-- <linearGradient
-- id="XMLID_129_"
-- gradientUnits="userSpaceOnUse"
-- x1="66.5303"
-- y1="90.6494"
-- x2="67.8624"
-- y2="97.3099">
-- <stop
-- offset="0.0506"
-- style="stop-color:#EEEEEC"
-- id="stop2399" />
-- <stop
-- offset="1"
-- style="stop-color:#888A85"
-- id="stop2401" />
-- <a:midPointStop
-- offset="0.0506"
-- style="stop-color:#EEEEEC" />
-- <a:midPointStop
-- offset="0.5"
-- style="stop-color:#EEEEEC" />
-- <a:midPointStop
-- offset="1"
-- style="stop-color:#888A85" />
-- </linearGradient>
-- <linearGradient
-- id="XMLID_148_"
-- gradientUnits="userSpaceOnUse"
-- x1="60.9995"
-- y1="58.0005"
-- x2="60.9995"
-- y2="119.0009">
-- <stop
-- offset="0.0506"
-- style="stop-color:#EEEEEC"
-- id="stop2532" />
-- <stop
-- offset="1"
-- style="stop-color:#f3f3f2;stop-opacity:1;"
-- id="stop2534" />
-- <a:midPointStop
-- offset="0.0506"
-- style="stop-color:#EEEEEC" />
-- <a:midPointStop
-- offset="0.5"
-- style="stop-color:#EEEEEC" />
-- <a:midPointStop
-- offset="1"
-- style="stop-color:#888A85" />
-- </linearGradient>
-- <linearGradient
-- id="XMLID_126_"
-- gradientUnits="userSpaceOnUse"
-- x1="72.5293"
-- y1="86.6494"
-- x2="73.8614"
-- y2="93.3099"
-- gradientTransform="matrix(-1 0 0 1 134 0)">
-- <stop
-- offset="0.0506"
-- style="stop-color:#EEEEEC"
-- id="stop2378" />
-- <stop
-- offset="1"
-- style="stop-color:#888A85"
-- id="stop2380" />
-- <a:midPointStop
-- offset="0.0506"
-- style="stop-color:#EEEEEC" />
-- <a:midPointStop
-- offset="0.5"
-- style="stop-color:#EEEEEC" />
-- <a:midPointStop
-- offset="1"
-- style="stop-color:#888A85" />
-- </linearGradient>
-- <linearGradient
-- id="linearGradient6642">
-- <stop
-- style="stop-color:#616881;stop-opacity:0.94117647;"
-- offset="0"
-- id="stop6644" />
-- <stop
-- style="stop-color:#c2c5d7;stop-opacity:1;"
-- offset="1"
-- id="stop6646" />
-- </linearGradient>
-- <linearGradient
-- y2="26.3501"
-- x2="50.6035"
-- y1="4.1035"
-- x1="12.0713"
-- gradientUnits="userSpaceOnUse"
-- id="linearGradient6548">
-- <stop
-- id="stop6550"
-- style="stop-color:#AD9C80"
-- offset="0.0118" />
-- <stop
-- id="stop6552"
-- style="stop-color:#FFE6BC"
-- offset="0.04393823" />
-- <stop
-- id="stop6554"
-- style="stop-color:#C4B091"
-- offset="0.07207061" />
-- <stop
-- id="stop6556"
-- style="stop-color:#DEC8A4"
-- offset="0.1025845" />
-- <stop
-- id="stop6558"
-- style="stop-color:#B39E7C"
-- offset="1" />
-- </linearGradient>
-- <linearGradient
-- y2="21.1523"
-- x2="62.9014"
-- y1="4.5991"
-- x1="91.5723"
-- gradientUnits="userSpaceOnUse"
-- id="linearGradient6534">
-- <stop
-- id="stop6536"
-- style="stop-color:#AD9C80"
-- offset="0.0118" />
-- <stop
-- id="stop6538"
-- style="stop-color:#FFE6BC"
-- offset="0.05232069" />
-- <stop
-- id="stop6540"
-- style="stop-color:#C4B091"
-- offset="0.06798933" />
-- <stop
-- id="stop6542"
-- style="stop-color:#DEC8A4"
-- offset="0.11206073" />
-- <stop
-- id="stop6544"
-- style="stop-color:#B39E7C"
-- offset="1" />
-- </linearGradient>
-- <linearGradient
-- inkscape:collect="always"
-- id="linearGradient6524">
-- <stop
-- style="stop-color:#000000;stop-opacity:1;"
-- offset="0"
-- id="stop6526" />
-- <stop
-- style="stop-color:#000000;stop-opacity:0;"
-- offset="1"
-- id="stop6528" />
-- </linearGradient>
-- <linearGradient
-- id="linearGradient6505">
-- <stop
-- style="stop-color:#000000;stop-opacity:1;"
-- offset="0"
-- id="stop6507" />
-- <stop
-- id="stop6513"
-- offset="1"
-- style="stop-color:#000000;stop-opacity:0.49803922;" />
-- <stop
-- style="stop-color:#000000;stop-opacity:0;"
-- offset="1"
-- id="stop6509" />
-- </linearGradient>
-- <clipPath
-- id="XMLID_27_">
-- <path
-- d="M 53.057,56.968 C 53.067,56.925 53.076,56.882 53.082,56.839 C 53.09,56.795 53.096,56.752 53.1,56.707 C 53.105,56.663 53.109,56.619 53.112,56.574 C 53.114,56.529 53.115,56.483 53.115,56.438 C 53.115,56.483 53.114,56.529 53.112,56.574 C 53.109,56.619 53.105,56.663 53.1,56.707 C 53.096,56.752 53.09,56.795 53.082,56.839 C 53.075,56.882 53.066,56.925 53.057,56.968 z"
-- enable-background="new "
-- id="use189" />
-- </clipPath>
-- <linearGradient
-- id="XMLID_26_"
-- gradientUnits="userSpaceOnUse"
-- x1="0.6016"
-- y1="60.5801"
-- x2="1.1021"
-- y2="60.5801">
-- <stop
-- offset="0"
-- style="stop-color:#544C3E"
-- id="stop175" />
-- <stop
-- offset="1"
-- style="stop-color:#000000"
-- id="stop177" />
-- </linearGradient>
-- <linearGradient
-- id="XMLID_25_"
-- gradientUnits="userSpaceOnUse"
-- x1="2.1997"
-- y1="60.7158"
-- x2="3.198"
-- y2="60.6601">
-- <stop
-- offset="0"
-- style="stop-color:#B39E7C"
-- id="stop168" />
-- <stop
-- offset="1"
-- style="stop-color:#544C3E"
-- id="stop170" />
-- </linearGradient>
-- <linearGradient
-- id="XMLID_24_"
-- gradientUnits="userSpaceOnUse"
-- x1="103.8984"
-- y1="60.5801"
-- x2="103.3984"
-- y2="60.5801">
-- <stop
-- offset="0"
-- style="stop-color:#544C3E"
-- id="stop151" />
-- <stop
-- offset="0.2162"
-- style="stop-color:#50483B"
-- id="stop153" />
-- <stop
-- offset="0.4356"
-- style="stop-color:#443D32"
-- id="stop155" />
-- <stop
-- offset="0.6567"
-- style="stop-color:#2F2B23"
-- id="stop157" />
-- <stop
-- offset="0.8775"
-- style="stop-color:#13110E"
-- id="stop159" />
-- <stop
-- offset="1"
-- style="stop-color:#000000"
-- id="stop161" />
-- </linearGradient>
-- <linearGradient
-- id="XMLID_23_"
-- gradientUnits="userSpaceOnUse"
-- x1="101.3027"
-- y1="60.6592"
-- x2="102.3008"
-- y2="60.7148">
-- <stop
-- offset="0"
-- style="stop-color:#544C3E"
-- id="stop144" />
-- <stop
-- offset="1"
-- style="stop-color:#B39E7C"
-- id="stop146" />
-- </linearGradient>
-- <linearGradient
-- id="linearGradient3329">
-- <stop
-- style="stop-color:#000000;stop-opacity:1;"
-- offset="0"
-- id="stop3331" />
-- <stop
-- style="stop-color:#000000;stop-opacity:0;"
-- offset="1"
-- id="stop3333" />
-- </linearGradient>
-- <linearGradient
-- id="XMLID_17_"
-- gradientUnits="userSpaceOnUse"
-- x1="0.25"
-- y1="13.2949"
-- x2="104.25"
-- y2="13.2949">
-- <stop
-- offset="0"
-- style="stop-color:#8F6B32"
-- id="stop28" />
-- <stop
-- offset="0.5"
-- style="stop-color:#3e2e15;stop-opacity:1;"
-- id="stop30" />
-- <stop
-- offset="1"
-- style="stop-color:#8F6B32"
-- id="stop32" />
-- </linearGradient>
-- <radialGradient
-- id="XMLID_15_"
-- cx="7.5"
-- cy="8.3301"
-- r="126.4133"
-- gradientUnits="userSpaceOnUse">
-- <stop
-- offset="0.2722"
-- style="stop-color:#DBC298"
-- id="stop4" />
-- <stop
-- offset="0.4545"
-- style="stop-color:#C7B08A"
-- id="stop6" />
-- <stop
-- offset="0.71829998"
-- style="stop-color:#b99c6f;stop-opacity:1;"
-- id="stop8" />
-- <stop
-- offset="0.88169998"
-- style="stop-color:#b09469;stop-opacity:1;"
-- id="stop10" />
-- <stop
-- offset="1"
-- style="stop-color:#a48a5f;stop-opacity:1;"
-- id="stop12" />
-- </radialGradient>
-- <linearGradient
-- id="linearGradient10207">
-- <stop
-- style="stop-color:#a2a2a2;stop-opacity:1;"
-- offset="0"
-- id="stop10209" />
-- <stop
-- style="stop-color:#ffffff;stop-opacity:1;"
-- offset="1"
-- id="stop10211" />
-- </linearGradient>
-- <radialGradient
-- id="XMLID_8_"
-- cx="102"
-- cy="112.3047"
-- r="139.55859"
-- gradientUnits="userSpaceOnUse">
-- <stop
-- offset="0"
-- style="stop-color:#b7b8b9;stop-opacity:1;"
-- id="stop41" />
-- <stop
-- offset="0.18851049"
-- style="stop-color:#ECECEC"
-- id="stop47" />
-- <stop
-- offset="0.25718147"
-- style="stop-color:#FAFAFA"
-- id="stop49" />
-- <stop
-- offset="0.30111277"
-- style="stop-color:#FFFFFF"
-- id="stop51" />
-- <stop
-- offset="0.5313"
-- style="stop-color:#FAFAFA"
-- id="stop53" />
-- <stop
-- offset="0.8449"
-- style="stop-color:#EBECEC"
-- id="stop55" />
-- <stop
-- offset="1"
-- style="stop-color:#E1E2E3"
-- id="stop57" />
-- </radialGradient>
-- <filter
-- inkscape:collect="always"
-- x="-0.19200002"
-- width="1.3839999"
-- y="-0.19199999"
-- height="1.3839999"
-- id="filter6697">
-- <feGaussianBlur
-- inkscape:collect="always"
-- stdDeviation="1.9447689"
-- id="feGaussianBlur6699" />
-- </filter>
-- <clipPath
-- clipPathUnits="userSpaceOnUse"
-- id="clipPath7084">
-- <path
-- style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-- d="M 72,88 L 40,120 L 32,120 L 32,80 L 72,80 L 72,88 z"
-- id="path7086" />
-- </clipPath>
-- <radialGradient
-- inkscape:collect="always"
-- xlink:href="#XMLID_8_"
-- id="radialGradient9437"
-- gradientUnits="userSpaceOnUse"
-- gradientTransform="matrix(1,0,0,0.9996653,2e-6,3.0160848e-3)"
-- cx="102"
-- cy="112.3047"
-- r="139.55859" />
-- <filter
-- inkscape:collect="always"
-- id="filter2770">
-- <feGaussianBlur
-- inkscape:collect="always"
-- stdDeviation="2.0786429"
-- id="feGaussianBlur2772" />
-- </filter>
-- <radialGradient
-- inkscape:collect="always"
-- xlink:href="#linearGradient6505"
-- id="radialGradient6633"
-- gradientUnits="userSpaceOnUse"
-- gradientTransform="matrix(1,0,0,0.2156863,0,82.352941)"
-- cx="64"
-- cy="105"
-- fx="64"
-- fy="105"
-- r="51" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#linearGradient6642"
-- id="linearGradient8163"
-- gradientUnits="userSpaceOnUse"
-- x1="68.325905"
-- y1="36"
-- x2="64"
-- y2="120" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#XMLID_126_"
-- id="linearGradient8165"
-- gradientUnits="userSpaceOnUse"
-- gradientTransform="matrix(-0.768261,0,0,0.768261,117.6531,-22.96145)"
-- x1="72.5293"
-- y1="86.6494"
-- x2="73.8614"
-- y2="93.3099" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#XMLID_148_"
-- id="linearGradient8167"
-- gradientUnits="userSpaceOnUse"
-- gradientTransform="matrix(0.768261,0,0,0.768261,14.7061,-22.96145)"
-- x1="60.9995"
-- y1="58.0005"
-- x2="60.9995"
-- y2="119.0009" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#XMLID_129_"
-- id="linearGradient8169"
-- gradientUnits="userSpaceOnUse"
-- gradientTransform="matrix(0.768261,0,0,0.768261,14.7061,-22.96145)"
-- x1="66.5303"
-- y1="90.6494"
-- x2="67.8624"
-- y2="97.3099" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#XMLID_147_"
-- id="linearGradient8171"
-- gradientUnits="userSpaceOnUse"
-- gradientTransform="matrix(0.768261,0,0,0.768261,14.7061,-22.96145)"
-- x1="67"
-- y1="58.0005"
-- x2="67"
-- y2="119.0009" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#XMLID_130_"
-- id="linearGradient8173"
-- gradientUnits="userSpaceOnUse"
-- gradientTransform="matrix(-0.768261,0,0,0.768261,117.6531,-22.96145)"
-- x1="72.5303"
-- y1="94.6514"
-- x2="73.8621"
-- y2="101.3107" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#XMLID_148_"
-- id="linearGradient8175"
-- gradientUnits="userSpaceOnUse"
-- gradientTransform="matrix(0.768261,0,0,0.768261,14.7061,-22.96145)"
-- x1="60.9995"
-- y1="58.0005"
-- x2="60.9995"
-- y2="119.0009" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#XMLID_121_"
-- id="linearGradient8177"
-- gradientUnits="userSpaceOnUse"
-- gradientTransform="matrix(0.768261,0,0,0.768261,14.7061,-22.96145)"
-- x1="66.5303"
-- y1="98.6494"
-- x2="67.8624"
-- y2="105.3099" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#XMLID_147_"
-- id="linearGradient8179"
-- gradientUnits="userSpaceOnUse"
-- gradientTransform="matrix(0.768261,0,0,0.768261,14.7061,-22.96145)"
-- x1="67"
-- y1="58.0005"
-- x2="67"
-- y2="119.0009" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#XMLID_122_"
-- id="linearGradient8181"
-- gradientUnits="userSpaceOnUse"
-- gradientTransform="matrix(-0.768261,0,0,0.768261,117.6531,-22.96145)"
-- x1="72.5293"
-- y1="102.6484"
-- x2="73.8619"
-- y2="109.3113" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#XMLID_148_"
-- id="linearGradient8183"
-- gradientUnits="userSpaceOnUse"
-- gradientTransform="matrix(0.768261,0,0,0.768261,14.7061,-22.96145)"
-- x1="60.9995"
-- y1="58.0005"
-- x2="60.9995"
-- y2="119.0009" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#XMLID_119_"
-- id="linearGradient8185"
-- gradientUnits="userSpaceOnUse"
-- gradientTransform="matrix(0.768261,0,0,0.768261,14.7061,-22.96145)"
-- x1="66.5303"
-- y1="106.6494"
-- x2="67.8624"
-- y2="113.3099" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#XMLID_147_"
-- id="linearGradient8187"
-- gradientUnits="userSpaceOnUse"
-- gradientTransform="matrix(0.768261,0,0,0.768261,14.7061,-22.96145)"
-- x1="67"
-- y1="58.0005"
-- x2="67"
-- y2="119.0009" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#XMLID_120_"
-- id="linearGradient8189"
-- gradientUnits="userSpaceOnUse"
-- gradientTransform="matrix(-0.768261,0,0,0.768261,117.6531,-22.96145)"
-- x1="72.5303"
-- y1="110.6504"
-- x2="73.8621"
-- y2="117.3097" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#XMLID_148_"
-- id="linearGradient8191"
-- gradientUnits="userSpaceOnUse"
-- gradientTransform="matrix(0.768261,0,0,0.768261,14.7061,-22.96145)"
-- x1="60.9995"
-- y1="58.0005"
-- x2="60.9995"
-- y2="119.0009" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#XMLID_123_"
-- id="linearGradient8193"
-- gradientUnits="userSpaceOnUse"
-- gradientTransform="matrix(0.768261,0,0,0.768261,14.7061,-22.96145)"
-- x1="66.5293"
-- y1="114.6494"
-- x2="67.8614"
-- y2="121.3099" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#XMLID_147_"
-- id="linearGradient8195"
-- gradientUnits="userSpaceOnUse"
-- gradientTransform="matrix(0.768261,0,0,0.768261,14.7061,-22.96145)"
-- x1="67"
-- y1="58.0005"
-- x2="67"
-- y2="119.0009" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#XMLID_130_"
-- id="linearGradient8197"
-- gradientUnits="userSpaceOnUse"
-- gradientTransform="matrix(-0.768261,0,0,0.768261,117.6531,-3.96145)"
-- x1="72.5303"
-- y1="94.6514"
-- x2="73.8621"
-- y2="101.3107" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#XMLID_148_"
-- id="linearGradient8199"
-- gradientUnits="userSpaceOnUse"
-- gradientTransform="matrix(0.768261,0,0,0.768261,14.7061,-3.96145)"
-- x1="60.9995"
-- y1="58.0005"
-- x2="60.9995"
-- y2="119.0009" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#XMLID_121_"
-- id="linearGradient8201"
-- gradientUnits="userSpaceOnUse"
-- gradientTransform="matrix(0.768261,0,0,0.768261,14.7061,-3.96145)"
-- x1="66.5303"
-- y1="98.6494"
-- x2="67.8624"
-- y2="105.3099" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#XMLID_147_"
-- id="linearGradient8203"
-- gradientUnits="userSpaceOnUse"
-- gradientTransform="matrix(0.768261,0,0,0.768261,14.7061,-3.96145)"
-- x1="67"
-- y1="58.0005"
-- x2="67"
-- y2="119.0009" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#XMLID_122_"
-- id="linearGradient8205"
-- gradientUnits="userSpaceOnUse"
-- gradientTransform="matrix(-0.768261,0,0,0.768261,117.6531,-3.96145)"
-- x1="72.5293"
-- y1="102.6484"
-- x2="73.8619"
-- y2="109.3113" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#XMLID_148_"
-- id="linearGradient8207"
-- gradientUnits="userSpaceOnUse"
-- gradientTransform="matrix(0.768261,0,0,0.768261,14.7061,-3.96145)"
-- x1="60.9995"
-- y1="58.0005"
-- x2="60.9995"
-- y2="119.0009" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#XMLID_119_"
-- id="linearGradient8209"
-- gradientUnits="userSpaceOnUse"
-- gradientTransform="matrix(0.768261,0,0,0.768261,14.7061,-3.96145)"
-- x1="66.5303"
-- y1="106.6494"
-- x2="67.8624"
-- y2="113.3099" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#XMLID_147_"
-- id="linearGradient8211"
-- gradientUnits="userSpaceOnUse"
-- gradientTransform="matrix(0.768261,0,0,0.768261,14.7061,-3.96145)"
-- x1="67"
-- y1="58.0005"
-- x2="67"
-- y2="119.0009" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#XMLID_120_"
-- id="linearGradient8213"
-- gradientUnits="userSpaceOnUse"
-- gradientTransform="matrix(-0.768261,0,0,0.768261,117.6531,-3.96145)"
-- x1="72.5303"
-- y1="110.6504"
-- x2="73.8621"
-- y2="117.3097" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#XMLID_148_"
-- id="linearGradient8215"
-- gradientUnits="userSpaceOnUse"
-- gradientTransform="matrix(0.768261,0,0,0.768261,14.7061,-3.96145)"
-- x1="60.9995"
-- y1="58.0005"
-- x2="60.9995"
-- y2="119.0009" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#XMLID_123_"
-- id="linearGradient8217"
-- gradientUnits="userSpaceOnUse"
-- gradientTransform="matrix(0.768261,0,0,0.768261,14.7061,-3.96145)"
-- x1="66.5293"
-- y1="114.6494"
-- x2="67.8614"
-- y2="121.3099" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#XMLID_147_"
-- id="linearGradient8219"
-- gradientUnits="userSpaceOnUse"
-- gradientTransform="matrix(0.768261,0,0,0.768261,14.7061,-3.96145)"
-- x1="67"
-- y1="58.0005"
-- x2="67"
-- y2="119.0009" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#XMLID_120_"
-- id="linearGradient8221"
-- gradientUnits="userSpaceOnUse"
-- gradientTransform="matrix(-0.768261,0,0,0.768261,117.6531,2.03855)"
-- x1="72.5303"
-- y1="110.6504"
-- x2="73.8621"
-- y2="117.3097" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#XMLID_148_"
-- id="linearGradient8223"
-- gradientUnits="userSpaceOnUse"
-- gradientTransform="matrix(0.768261,0,0,0.768261,14.7061,2.03855)"
-- x1="60.9995"
-- y1="58.0005"
-- x2="60.9995"
-- y2="119.0009" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#XMLID_123_"
-- id="linearGradient8225"
-- gradientUnits="userSpaceOnUse"
-- gradientTransform="matrix(0.768261,0,0,0.768261,14.7061,2.03855)"
-- x1="66.5293"
-- y1="114.6494"
-- x2="67.8614"
-- y2="121.3099" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#XMLID_147_"
-- id="linearGradient8227"
-- gradientUnits="userSpaceOnUse"
-- gradientTransform="matrix(0.768261,0,0,0.768261,14.7061,2.03855)"
-- x1="67"
-- y1="58.0005"
-- x2="67"
-- y2="119.0009" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#XMLID_120_"
-- id="linearGradient8229"
-- gradientUnits="userSpaceOnUse"
-- gradientTransform="matrix(-0.768261,0,0,0.768261,117.6531,8.03855)"
-- x1="72.5303"
-- y1="110.6504"
-- x2="73.8621"
-- y2="117.3097" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#XMLID_148_"
-- id="linearGradient8231"
-- gradientUnits="userSpaceOnUse"
-- gradientTransform="matrix(0.768261,0,0,0.768261,14.7061,8.03855)"
-- x1="60.9995"
-- y1="58.0005"
-- x2="60.9995"
-- y2="119.0009" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#linearGradient3567"
-- id="linearGradient8233"
-- gradientUnits="userSpaceOnUse"
-- gradientTransform="matrix(1,0,0,-1,0,140)"
-- x1="64"
-- y1="58.807674"
-- x2="64"
-- y2="96.377762" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#XMLID_111_"
-- id="linearGradient8235"
-- gradientUnits="userSpaceOnUse"
-- gradientTransform="matrix(-0.686825,0.344258,0.344258,0.686825,93.45016,-41.69035)"
-- x1="81.4268"
-- y1="64.792"
-- x2="82.7584"
-- y2="71.4501" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#XMLID_139_"
-- id="linearGradient8237"
-- gradientUnits="userSpaceOnUse"
-- gradientTransform="matrix(0.768261,0,0,0.768261,14.7061,-22.96145)"
-- x1="59.3667"
-- y1="57.9995"
-- x2="59.3667"
-- y2="119.0002" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#XMLID_112_"
-- id="linearGradient8239"
-- gradientUnits="userSpaceOnUse"
-- gradientTransform="matrix(0.768261,0,0,0.768261,14.7061,-22.96145)"
-- x1="54.8887"
-- y1="61.9019"
-- x2="55.8886"
-- y2="70.9013" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#XMLID_140_"
-- id="linearGradient8241"
-- gradientUnits="userSpaceOnUse"
-- gradientTransform="matrix(0.768261,0,0,0.768261,14.7061,-22.96145)"
-- x1="55.313"
-- y1="57.9995"
-- x2="55.313"
-- y2="119.0003" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#XMLID_113_"
-- id="linearGradient8243"
-- gradientUnits="userSpaceOnUse"
-- gradientTransform="matrix(-0.458037,0.61676,0.61676,0.458037,61.14617,-49.7209)"
-- x1="83.0635"
-- y1="44.9131"
-- x2="84.3951"
-- y2="51.5712" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#XMLID_141_"
-- id="linearGradient8245"
-- gradientUnits="userSpaceOnUse"
-- gradientTransform="matrix(0.768261,0,0,0.768261,14.7061,-22.96145)"
-- x1="48.5864"
-- y1="57.9995"
-- x2="48.5864"
-- y2="118.9997" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#XMLID_114_"
-- id="linearGradient8247"
-- gradientUnits="userSpaceOnUse"
-- gradientTransform="matrix(-0.325973,0.69566,0.69566,0.325973,46.5582,-50.8723)"
-- x1="83.3877"
-- y1="36.4746"
-- x2="84.7196"
-- y2="43.1339" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#XMLID_142_"
-- id="linearGradient8249"
-- gradientUnits="userSpaceOnUse"
-- gradientTransform="matrix(0.768261,0,0,0.768261,14.7061,-22.96145)"
-- x1="41.0347"
-- y1="58"
-- x2="41.0347"
-- y2="119.0007" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#XMLID_111_"
-- id="linearGradient8251"
-- gradientUnits="userSpaceOnUse"
-- gradientTransform="matrix(-0.686825,0.344258,0.344258,0.686825,93.45016,-41.69035)"
-- x1="81.4268"
-- y1="64.792"
-- x2="82.7584"
-- y2="71.4501" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#XMLID_139_"
-- id="linearGradient8253"
-- gradientUnits="userSpaceOnUse"
-- gradientTransform="matrix(0.768261,0,0,0.768261,14.7061,-22.96145)"
-- x1="59.3667"
-- y1="57.9995"
-- x2="59.3667"
-- y2="119.0002" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#XMLID_112_"
-- id="linearGradient8255"
-- gradientUnits="userSpaceOnUse"
-- gradientTransform="matrix(0.768261,0,0,0.768261,14.7061,-22.96145)"
-- x1="54.8887"
-- y1="61.9019"
-- x2="55.8886"
-- y2="70.9013" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#XMLID_140_"
-- id="linearGradient8257"
-- gradientUnits="userSpaceOnUse"
-- gradientTransform="matrix(0.768261,0,0,0.768261,14.7061,-22.96145)"
-- x1="55.313"
-- y1="57.9995"
-- x2="55.313"
-- y2="119.0003" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#XMLID_113_"
-- id="linearGradient8259"
-- gradientUnits="userSpaceOnUse"
-- gradientTransform="matrix(-0.458037,0.61676,0.61676,0.458037,61.14617,-49.7209)"
-- x1="83.0635"
-- y1="44.9131"
-- x2="84.3951"
-- y2="51.5712" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#XMLID_141_"
-- id="linearGradient8261"
-- gradientUnits="userSpaceOnUse"
-- gradientTransform="matrix(0.768261,0,0,0.768261,14.7061,-22.96145)"
-- x1="48.5864"
-- y1="57.9995"
-- x2="48.5864"
-- y2="118.9997" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#XMLID_114_"
-- id="linearGradient8263"
-- gradientUnits="userSpaceOnUse"
-- gradientTransform="matrix(-0.325973,0.69566,0.69566,0.325973,46.5582,-50.8723)"
-- x1="83.3877"
-- y1="36.4746"
-- x2="84.7196"
-- y2="43.1339" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#XMLID_142_"
-- id="linearGradient8265"
-- gradientUnits="userSpaceOnUse"
-- gradientTransform="matrix(0.768261,0,0,0.768261,14.7061,-22.96145)"
-- x1="41.0347"
-- y1="58"
-- x2="41.0347"
-- y2="119.0007" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#XMLID_115_"
-- id="linearGradient8267"
-- gradientUnits="userSpaceOnUse"
-- gradientTransform="matrix(-0.196368,0.742755,0.742755,0.196368,34.3253,-50.55285)"
-- x1="84.0117"
-- y1="28.52"
-- x2="85.3436"
-- y2="35.1793" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#XMLID_143_"
-- id="linearGradient8269"
-- gradientUnits="userSpaceOnUse"
-- gradientTransform="matrix(0.768261,0,0,0.768261,14.7061,-22.96145)"
-- x1="33.7886"
-- y1="57.9995"
-- x2="33.7886"
-- y2="119.0001" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#XMLID_159_"
-- id="linearGradient8271"
-- gradientUnits="userSpaceOnUse"
-- gradientTransform="matrix(0.768261,0,0,0.768261,14.7061,-22.96145)"
-- x1="60.3325"
-- y1="67.6123"
-- x2="68.4149"
-- y2="103.9829" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#XMLID_160_"
-- id="linearGradient8273"
-- gradientUnits="userSpaceOnUse"
-- gradientTransform="matrix(0.768261,0,0,0.768261,14.7061,-22.96145)"
-- x1="56.8906"
-- y1="67.8857"
-- x2="68.8911"
-- y2="82.8864" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#XMLID_161_"
-- id="linearGradient8275"
-- gradientUnits="userSpaceOnUse"
-- gradientTransform="matrix(0.768261,0,0,0.768261,14.7061,-22.96145)"
-- x1="62.0503"
-- y1="69.625"
-- x2="67.0498"
-- y2="83.6237" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#XMLID_162_"
-- id="linearGradient8277"
-- gradientUnits="userSpaceOnUse"
-- gradientTransform="matrix(0.768261,0,0,0.768261,14.7061,-22.96145)"
-- x1="63.542"
-- y1="74.0918"
-- x2="64.5422"
-- y2="79.093" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#XMLID_163_"
-- id="linearGradient8279"
-- gradientUnits="userSpaceOnUse"
-- gradientTransform="matrix(0.768261,0,0,0.768261,14.7061,-22.96145)"
-- x1="61.3159"
-- y1="83.0986"
-- x2="68.3162"
-- y2="101.0992" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#XMLID_164_"
-- id="linearGradient8281"
-- gradientUnits="userSpaceOnUse"
-- gradientTransform="matrix(0.768261,0,0,0.768261,14.7061,-22.96145)"
-- x1="61.7065"
-- y1="77.5322"
-- x2="67.7616"
-- y2="107.8077" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#XMLID_165_"
-- id="linearGradient8283"
-- gradientUnits="userSpaceOnUse"
-- gradientTransform="matrix(0.768261,0,0,0.768261,14.7061,-22.96145)"
-- x1="62"
-- y1="76"
-- x2="66"
-- y2="76" />
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#XMLID_166_"
-- id="linearGradient8285"
-- gradientUnits="userSpaceOnUse"
-- gradientTransform="matrix(0.768261,0,0,0.768261,14.7061,-22.96145)"
-- x1="63.106"
-- y1="71.9766"
-- x2="65.1059"
-- y2="80.9765" />
-- <filter
-- inkscape:collect="always"
-- id="filter8342">
-- <feGaussianBlur
-- inkscape:collect="always"
-- stdDeviation="0.41168267"
-- id="feGaussianBlur8344" />
-- </filter>
-- <filter
-- inkscape:collect="always"
-- x="-0.059497853"
-- width="1.1189957"
-- y="-0.35594591"
-- height="1.7118918"
-- id="filter8354">
-- <feGaussianBlur
-- inkscape:collect="always"
-- stdDeviation="0.2278828"
-- id="feGaussianBlur8356" />
-- </filter>
-- <linearGradient
-- inkscape:collect="always"
-- xlink:href="#linearGradient10207"
-- id="linearGradient3416"
-- gradientUnits="userSpaceOnUse"
-- gradientTransform="translate(10,0)"
-- x1="98.617439"
-- y1="106.41443"
-- x2="91.228737"
-- y2="99.254974" />
-- </defs>
-- <sodipodi:namedview
-- id="base"
-- pagecolor="#ffffff"
-- bordercolor="#666666"
-- borderopacity="1.0"
-- inkscape:pageopacity="0.0"
-- inkscape:pageshadow="2"
-- inkscape:zoom="2.8284271"
-- inkscape:cx="63.894445"
-- inkscape:cy="73.240566"
-- inkscape:document-units="px"
-- inkscape:current-layer="layer1"
-- width="128px"
-- height="128px"
-- gridspacingx="4px"
-- gridspacingy="4px"
-- gridempspacing="2"
-- showgrid="true"
-- inkscape:grid-points="true"
-- showguides="true"
-- inkscape:guide-bbox="true"
-- inkscape:window-width="1016"
-- inkscape:window-height="692"
-- inkscape:window-x="1"
-- inkscape:window-y="1"
-- objecttolerance="10000" />
-- <metadata
-- id="metadata2611">
-- <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>
-- <g
-- inkscape:label="Livello 1"
-- inkscape:groupmode="layer"
-- id="layer1">
-- <path
-- style="opacity:0.5;fill:#000000;fill-opacity:1;filter:url(#filter2770)"
-- d="M 16,8 L 16,120 C 16,120 79.15625,120 79.15625,120 L 79.1875,120 C 79.187503,120 91.09375,110.09375 96.59375,104.59375 C 102.09375,99.09375 112,87.1875 112,87.1875 L 112,87.15625 L 112,8 L 16,8 z"
-- id="path7865"
-- sodipodi:nodetypes="csccscccc"
-- transform="matrix(1.0416667,0,0,1.0267857,-2.6666667,-1.2142891)" />
-- <path
-- style="fill:#ffffff;fill-opacity:1"
-- d="M 16.000001,8 L 16,120 C 16,120 79.146418,120 79.146418,120 L 112,87.14642 L 112,8 L 16.000001,8 z"
-- id="path34"
-- sodipodi:nodetypes="cccccc" />
-- <path
-- style="fill:url(#radialGradient9437);fill-opacity:1"
-- d="M 18.000002,9.0000034 C 17.449002,9.0000034 17.000002,9.4488534 17.000002,9.9996684 L 17.000002,117.96352 C 17.000002,118.51533 17.449002,118.96318 18.000002,118.96318 L 77.171999,118.96318 C 77.434999,118.96318 79.934679,119.08131 80.12068,118.89438 L 110.707,88.094202 C 110.894,87.907264 111,85.40942 111,85.146508 L 111,9.9996684 C 111,9.4488534 110.552,9.0000034 110,9.0000034 L 18.000002,9.0000034 z"
-- id="path59"
-- sodipodi:nodetypes="ccccccccccc" />
-- <g
-- id="g3298"
-- transform="translate(-7.2118459e-7,7.4211846e-6)">
-- <path
-- style="opacity:0.6;fill:url(#radialGradient6633);fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;filter:url(#filter3400)"
-- d="M 18.520833,73.665304 L 109.47917,73.665304 L 115,112.75 C 115,114.5505 113.42971,116 111.47917,116 L 16.520833,116 C 14.570292,116 13,114.5505 13,112.75 C 13,112.75 16.570292,73.665304 18.520833,73.665304 z "
-- id="rect4744"
-- sodipodi:nodetypes="ccccccc"
-- transform="matrix(0.6251619,0,0,0.3488041,23.989638,50.421975)" />
-- <g
-- transform="matrix(1.1428571,0,0,1.1428571,-11.42857,-12.571431)"
-- id="g9722">
-- <g
-- id="g9650"
-- transform="matrix(1.0769231,0,0,1.0769231,-2.9230769,-6.7692307)">
-- <g
-- transform="matrix(0.5,0,0,0.4969956,-12.60681,55.426509)"
-- id="g6413">
-- <polygon
-- points="104.25,24.795 100.25,96.58 4.25,96.58 0.25,24.795 104.25,24.795 "
-- id="polygon14"
-- style="fill:url(#radialGradient9773)"
-- transform="translate(100.96362,-31.039526)" />
-- <path
-- sodipodi:nodetypes="cccccc"
-- id="polygon34"
-- d="M 52.25,25.795 L 0.25,24.795 L 32.5,0.795 L 72,0.795 L 104.25,24.795 L 52.25,25.795 z "
-- style="fill:url(#linearGradient9777)"
-- transform="translate(100.96362,-31.039526)" />
-- <path
-- sodipodi:nodetypes="cccccc"
-- id="polygon6516"
-- d="M 52.25,25.795 L 0.25,24.795 L 47.125,5.6994701 L 52.499999,5.6994701 L 104.25,24.795 L 52.25,25.795 z "
-- style="fill:url(#linearGradient9779);fill-opacity:1"
-- transform="translate(100.96362,-31.039526)" />
-- <path
-- id="path2427"
-- d="M 153.21362,-16.326115 L 189.05962,-12.476469 L 205.21362,-6.459526 L 153.21362,-9.1743493 L 153.21362,-16.326115 z "
-- style="fill:url(#linearGradient3400);fill-opacity:1"
-- sodipodi:nodetypes="ccccc" />
-- <path
-- sodipodi:nodetypes="ccccc"
-- style="fill:url(#linearGradient4378)"
-- d="M 153.21362,-34.309172 L 189.05962,-30.459526 L 205.21362,-6.459526 L 153.21362,-12.443996 L 153.21362,-34.309172 z "
-- id="polygon49" />
-- <path
-- sodipodi:nodetypes="ccccc"
-- id="polygon69"
-- d="M 153.21362,-17.22271 L 101.21362,-6.459526 L 117.36962,-30.459526 L 153.21362,-39.087885 L 153.21362,-17.22271 z "
-- style="fill:url(#linearGradient2422)" />
-- <path
-- d=""
-- id="path71"
-- style="fill:#eeeeec" />
-- <g
-- id="g141"
-- transform="translate(100.96362,-31.039526)">
-- <linearGradient
-- id="linearGradient2496"
-- gradientUnits="userSpaceOnUse"
-- x1="101.3027"
-- y1="60.659199"
-- x2="102.3008"
-- y2="60.714802">
-- <stop
-- offset="0"
-- style="stop-color:#544C3E"
-- id="stop2498" />
-- <stop
-- offset="1"
-- style="stop-color:#B39E7C"
-- id="stop2500" />
-- </linearGradient>
-- <path
-- d="M 99.36,95.555 C 99.33,96.104 99.529,96.566 99.803,96.58 C 100.077,96.594 100.327,96.158 100.358,95.609 L 104.247,25.821 C 104.277,25.272 104.078,24.81 103.804,24.795 C 103.53,24.78 103.28,25.216 103.249,25.766 L 99.36,95.555 z "
-- id="path148"
-- style="fill:url(#linearGradient9785)" />
-- <linearGradient
-- id="linearGradient2503"
-- gradientUnits="userSpaceOnUse"
-- x1="103.8984"
-- y1="60.580101"
-- x2="103.3984"
-- y2="60.580101">
-- <stop
-- offset="0"
-- style="stop-color:#544C3E"
-- id="stop2505" />
-- <stop
-- offset="0.2162"
-- style="stop-color:#50483B"
-- id="stop2507" />
-- <stop
-- offset="0.4356"
-- style="stop-color:#443D32"
-- id="stop2509" />
-- <stop
-- offset="0.6567"
-- style="stop-color:#2F2B23"
-- id="stop2511" />
-- <stop
-- offset="0.8775"
-- style="stop-color:#13110E"
-- id="stop2513" />
-- <stop
-- offset="1"
-- style="stop-color:#000000"
-- id="stop2515" />
-- </linearGradient>
-- <path
-- d="M 101.281,65.58 L 101.781,65.58 C 101.818,64.915 101.855,64.248 101.892,63.58 L 101.392,63.58 L 101.281,65.58 z M 100.612,77.58 L 101.113,77.58 C 101.149,76.923 101.186,76.256 101.224,75.58 L 100.723,75.58 L 100.612,77.58 z M 101.058,69.58 L 101.559,69.58 C 101.596,68.917 101.633,68.25 101.67,67.58 L 101.17,67.58 L 101.058,69.58 z M 100.835,73.58 L 101.336,73.58 C 101.372,72.92 101.41,72.253 101.447,71.58 L 100.946,71.58 L 100.835,73.58 z M 99.943,89.58 L 100.444,89.58 C 100.478,88.952 100.515,88.285 100.555,87.58 L 100.054,87.58 L 99.943,89.58 z M 99.721,93.58 L 100.221,93.58 C 100.252,93.018 100.29,92.346 100.332,91.58 L 99.832,91.58 L 99.721,93.58 z M 100.166,85.58 L 100.667,85.58 C 100.703,84.935 100.74,84.268 100.778,83.58 L 100.277,83.58 L 100.166,85.58 z M 100.39,81.58 L 100.89,81.58 C 100.926,80.928 100.963,80.261 101.001,79.58 L 100.501,79.58 L 100.39,81.58 z M 101.727,57.58 L 102.227,57.58 C 102.265,56.911 102.302,56.244 102.339,55.58 L 101.838,55.58 L 101.727,57.58 z M 101.504,61.58 L 102.004,61.58 C 102.041,60.913 102.078,60.246 102.115,59.58 L 101.615,59.58 L 101.504,61.58 z M 102.841,37.58 L 103.342,37.58 C 103.38,36.891 103.417,36.223 103.453,35.58 L 102.952,35.58 L 102.841,37.58 z M 103.064,33.58 L 103.564,33.58 C 103.603,32.873 103.64,32.205 103.675,31.58 L 103.175,31.58 L 103.064,33.58 z M 103.398,27.58 L 103.287,29.58 L 103.787,29.58 C 103.83,28.802 103.868,28.132 103.898,27.58 L 103.398,27.58 z M 102.618,41.58 L 103.119,41.58 C 103.156,40.898 103.193,40.231 103.23,39.58 L 102.729,39.58 L 102.618,41.58 z M 101.949,53.58 L 102.45,53.58 C 102.487,52.909 102.524,52.242 102.561,51.58 L 102.06,51.58 L 101.949,53.58 z M 102.396,45.58 L 102.896,45.58 C 102.934,44.903 102.971,44.236 103.008,43.58 L 102.507,43.58 L 102.396,45.58 z M 102.172,49.58 L 102.673,49.58 C 102.711,48.906 102.748,48.24 102.784,47.58 L 102.283,47.58 L 102.172,49.58 z "
-- id="path163"
-- style="opacity:0.5;fill:url(#linearGradient9787)" />
-- </g>
-- <g
-- id="g165"
-- transform="translate(100.96362,-31.039526)">
-- <linearGradient
-- id="linearGradient2519"
-- gradientUnits="userSpaceOnUse"
-- x1="2.1997001"
-- y1="60.715801"
-- x2="3.198"
-- y2="60.660099">
-- <stop
-- offset="0"
-- style="stop-color:#B39E7C"
-- id="stop2521" />
-- <stop
-- offset="1"
-- style="stop-color:#544C3E"
-- id="stop2523" />
-- </linearGradient>
-- <path
-- d="M 5.14,95.555 C 5.171,96.104 4.971,96.566 4.697,96.58 C 4.423,96.594 4.174,96.158 4.142,95.609 L 0.253,25.821 C 0.223,25.272 0.422,24.81 0.696,24.795 C 0.97,24.78 1.22,25.216 1.251,25.766 L 5.14,95.555 z "
-- id="path172"
-- style="fill:url(#linearGradient9789)" />
-- <linearGradient
-- id="linearGradient2526"
-- gradientUnits="userSpaceOnUse"
-- x1="0.60159999"
-- y1="60.580101"
-- x2="1.1021"
-- y2="60.580101">
-- <stop
-- offset="0"
-- style="stop-color:#544C3E"
-- id="stop2528" />
-- <stop
-- offset="1"
-- style="stop-color:#000000"
-- id="stop2530" />
-- </linearGradient>
-- <path
-- d="M 3.331,67.58 L 2.831,67.58 C 2.868,68.25 2.905,68.917 2.942,69.58 L 3.442,69.58 L 3.331,67.58 z M 3.554,71.58 L 3.054,71.58 C 3.092,72.253 3.129,72.92 3.166,73.58 L 3.666,73.58 L 3.554,71.58 z M 3.108,63.58 L 2.608,63.58 C 2.645,64.248 2.683,64.915 2.719,65.58 L 3.219,65.58 L 3.108,63.58 z M 3.776,75.58 L 3.276,75.58 C 3.314,76.256 3.351,76.923 3.387,77.58 L 3.887,77.58 L 3.776,75.58 z M 4,79.58 L 3.5,79.58 C 3.538,80.261 3.575,80.928 3.611,81.58 L 4.111,81.58 L 4,79.58 z M 2.885,59.58 L 2.385,59.58 C 2.422,60.246 2.459,60.913 2.496,61.58 L 2.996,61.58 L 2.885,59.58 z M 4.222,83.58 L 3.722,83.58 C 3.761,84.268 3.798,84.935 3.834,85.58 L 4.334,85.58 L 4.222,83.58 z M 4.445,87.58 L 3.945,87.58 C 3.985,88.285 4.022,88.952 4.056,89.58 L 4.556,89.58 L 4.445,87.58 z M 4.668,91.58 L 4.168,91.58 C 4.21,92.346 4.248,93.018 4.279,93.58 L 4.779,93.58 L 4.668,91.58 z M 1.771,39.58 L 1.271,39.58 C 1.307,40.231 1.344,40.898 1.382,41.58 L 1.882,41.58 L 1.771,39.58 z M 2.662,55.58 L 2.162,55.58 C 2.199,56.244 2.236,56.911 2.274,57.58 L 2.774,57.58 L 2.662,55.58 z M 1.548,35.58 L 1.048,35.58 C 1.084,36.223 1.121,36.891 1.159,37.58 L 1.659,37.58 L 1.548,35.58 z M 1.102,27.58 L 0.602,27.58 C 0.633,28.132 0.67,28.802 0.713,29.58 L 1.213,29.58 L 1.102,27.58 z M 1.325,31.58 L 0.825,31.58 C 0.86,32.205 0.897,32.873 0.937,33.58 L 1.437,33.58 L 1.325,31.58 z M 2.439,51.58 L 1.939,51.58 C 1.976,52.242 2.013,52.909 2.05,53.58 L 2.55,53.58 L 2.439,51.58 z M 1.993,43.58 L 1.493,43.58 C 1.53,44.236 1.567,44.903 1.604,45.58 L 2.104,45.58 L 1.993,43.58 z M 2.216,47.58 L 1.716,47.58 C 1.753,48.24 1.79,48.906 1.827,49.58 L 2.327,49.58 L 2.216,47.58 z "
-- id="path179"
-- style="opacity:0.5;fill:url(#linearGradient9791)" />
-- </g>
-- <g
-- enable-background="new "
-- id="g183"
-- transform="translate(100.96362,-31.039526)">
-- <defs
-- id="defs185">
-- <path
-- id="XMLID_13_"
-- enable-background="new "
-- d="M 53.057,56.968 C 53.067,56.925 53.076,56.882 53.082,56.839 C 53.09,56.795 53.096,56.752 53.1,56.707 C 53.105,56.663 53.109,56.619 53.112,56.574 C 53.114,56.529 53.115,56.483 53.115,56.438 C 53.115,56.483 53.114,56.529 53.112,56.574 C 53.109,56.619 53.105,56.663 53.1,56.707 C 53.096,56.752 53.09,56.795 53.082,56.839 C 53.075,56.882 53.066,56.925 53.057,56.968 z " />
-- </defs>
-- <clipPath
-- id="clipPath2537">
-- <use
-- xlink:href="#XMLID_13_"
-- id="use2539"
-- x="0"
-- y="0"
-- width="128"
-- height="128" />
-- </clipPath>
-- <g
-- clip-path="url(#XMLID_27_)"
-- enable-background="new "
-- id="g191">
-- <path
-- d="M 53.057,56.968 C 53.067,56.925 53.076,56.882 53.082,56.839 C 53.09,56.795 53.096,56.752 53.1,56.707 C 53.105,56.663 53.109,56.619 53.112,56.574 C 53.114,56.529 53.115,56.483 53.115,56.438 C 53.115,56.483 53.114,56.529 53.112,56.574 C 53.109,56.619 53.105,56.663 53.1,56.707 C 53.096,56.752 53.09,56.795 53.082,56.839 C 53.075,56.882 53.066,56.925 53.057,56.968"
-- id="path193"
-- style="fill:#828282" />
-- </g>
-- </g>
-- <polygon
-- transform="matrix(0.9497077,0,0,0.9497077,103.5914,-27.069162)"
-- style="opacity:0.5;fill:none;stroke:url(#linearGradient4366);stroke-width:1.86274767;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-- id="polygon2416"
-- points="104.25,24.795 100.25,96.58 4.25,96.58 0.25,24.795 104.25,24.795 " />
-- </g>
-- <path
-- sodipodi:nodetypes="ccccc"
-- id="rect6520"
-- d="M 64.00015,38.4375 L 74.713341,39.5 L 78.722956,51.875 L 63.9375,49.3125 L 64.00015,38.4375 z "
-- style="opacity:0.6;fill:url(#linearGradient9793);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
-- </g>
-- </g>
-- </g>
-- <g
-- id="g7919">
-- <path
-- sodipodi:nodetypes="ccccccccccc"
-- id="path7921"
-- d="M 16,49.743875 L 16,118 C 16,119.104 16.896,120 18,120 L 77.1875,120 C 77.7175,120 78.21875,119.78125 78.59375,119.40625 C 78.59375,119.40625 88,106.25 88,96 C 98.25,96 111.40625,86.593751 111.40625,86.59375 C 111.78125,86.218751 112,85.7175 112,85.1875 L 112,49.743875 C 112,49.743875 82.12374,46.708365 62,66.832106 C 40.46834,45.300451 16,49.743875 16,49.743875 z"
-- style="opacity:0.4;fill:url(#linearGradient8163);fill-opacity:1" />
-- <path
-- id="path7923"
-- d="M 80.625,54.6875 C 75.78382,56.640966 70.86735,59.294441 66.28125,62.96875 L 97.34375,94.03125 C 100.01217,93.047758 102.56719,91.830207 104.75,90.65625 C 104.86778,90.592559 104.97821,90.53206 105.09375,90.46875 C 105.66574,90.157314 106.17527,89.858234 106.6875,89.5625 C 106.87456,89.454094 107.0093,89.386533 107.1875,89.28125 C 107.95471,88.830952 108.6041,88.430249 109.1875,88.0625 C 109.64167,87.775104 109.92588,87.589778 110.25,87.375 C 110.60575,87.141487 110.61832,87.132882 110.8125,87 C 111.19226,86.742798 111.40625,86.59375 111.40625,86.59375 C 111.59375,86.40625 111.74219,86.175938 111.84375,85.9375 C 111.84756,85.928559 111.84007,85.915245 111.84375,85.90625 L 80.625,54.6875 z"
-- style="opacity:0.1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
-- <g
-- transform="matrix(0.993226,0,0,0.993226,-0.15183,20.257852)"
-- id="g7925">
-- <path
-- id="path7927"
-- d="M 62.348269,44.488024 C 62.329831,44.448843 62.257615,44.305178 62.257615,44.305178 C 62.127778,44.045506 61.861192,43.88033 61.570021,43.88033 L 57.728716,43.88033 C 57.304636,43.88033 56.960455,44.223743 56.960455,44.648591 L 56.960455,47.721635 C 56.960455,48.146483 57.304636,48.489896 57.728716,48.489896 L 65.411326,48.489896 C 65.836174,48.489896 66.179587,48.146483 66.179587,47.721635 L 66.179587,46.185113 C 66.179587,44.914409 65.145508,43.88033 63.874804,43.88033 C 63.283243,43.88033 62.756216,44.120027 62.348269,44.488024 z"
-- i:knockout="Off"
-- style="fill:#000000;fill-opacity:0.65680476;stroke:none" />
-- <path
-- id="path7929"
-- d="M 61.570021,43.877257 L 62.338282,45.413779 C 62.338282,44.564851 63.026644,43.877257 63.874804,43.877257 C 64.723732,43.877257 65.411326,44.564851 65.411326,45.413779 L 65.411326,46.950301 L 57.728716,46.950301 L 57.728716,43.877257 L 61.570021,43.877257 z"
-- i:knockout="Off"
-- style="fill:url(#linearGradient8165)" />
-- <path
-- id="path7931"
-- d="M 63.106543,45.413779 C 63.106543,45.770252 62.861468,46.079861 62.514982,46.162065 C 62.455826,46.175126 62.397438,46.18204 62.338282,46.18204 C 63.444578,46.18204 64.227436,46.18204 64.643065,46.18204 C 64.643065,45.79791 64.643065,45.413779 64.643065,45.413779 C 64.643065,44.989699 64.298116,44.645518 63.874804,44.645518 C 63.451492,44.645518 63.106543,44.989699 63.106543,45.413779 z M 58.496977,44.645518 C 58.496977,45.221714 58.496977,45.605844 58.496977,46.18204 C 59.188412,46.18204 60.494456,46.18204 62.338282,46.18204 C 62.052489,46.18204 61.783598,46.021473 61.651457,45.757192 C 61.651457,45.757192 61.318031,45.090341 61.095236,44.645518 C 60.5321,44.645518 59.328235,44.645518 58.496977,44.645518 z"
-- i:knockout="Off"
-- style="fill:url(#linearGradient8167)" />
-- </g>
-- <g
-- transform="matrix(0.993226,0,0,0.993226,-0.15183,20.257852)"
-- id="g7933">
-- <path
-- id="path7935"
-- d="M 66.179587,46.953374 C 65.888416,46.953374 65.622598,47.11855 65.491993,47.378222 C 65.491993,47.378222 65.419777,47.522655 65.401339,47.561068 C 64.992624,47.193071 64.465597,46.953374 63.874804,46.953374 C 62.6041,46.953374 61.570021,47.987453 61.570021,49.258157 L 61.570021,50.794679 C 61.570021,51.219527 61.914202,51.56294 62.338282,51.56294 L 70.020892,51.56294 C 70.44574,51.56294 70.789153,51.219527 70.789153,50.794679 L 70.789153,47.721635 C 70.789153,47.296787 70.44574,46.953374 70.020892,46.953374 L 66.179587,46.953374 z"
-- i:knockout="Off"
-- style="fill:#000000;fill-opacity:0.65680476;stroke:none" />
-- <path
-- id="path7937"
-- d="M 66.179587,46.950301 L 65.411326,48.486823 C 65.411326,47.637895 64.722964,46.950301 63.874804,46.950301 C 63.025876,46.950301 62.338282,47.637895 62.338282,48.486823 L 62.338282,50.023345 L 70.020892,50.023345 L 70.020892,46.950301 L 66.179587,46.950301 z"
-- i:knockout="Off"
-- style="fill:url(#linearGradient8169)" />
-- <path
-- id="path7939"
-- d="M 66.654372,47.718562 C 66.431577,48.163385 66.098151,48.830236 66.098151,48.830236 C 65.966779,49.094517 65.697887,49.255084 65.412094,49.255084 C 67.255152,49.255084 68.561964,49.255084 69.252631,49.255084 C 69.252631,48.678888 69.252631,48.294758 69.252631,47.718562 C 68.421373,47.718562 67.217508,47.718562 66.654372,47.718562 z M 63.106543,48.486823 C 63.106543,48.486823 63.106543,48.870953 63.106543,49.255084 C 63.521404,49.255084 64.30503,49.255084 65.410558,49.255084 C 65.352938,49.255084 65.293782,49.24817 65.234626,49.235109 C 64.88814,49.152905 64.643065,48.843296 64.643065,48.486823 C 64.643065,48.062743 64.298116,47.718562 63.874804,47.718562 C 63.451492,47.718562 63.106543,48.062743 63.106543,48.486823 z"
-- i:knockout="Off"
-- style="fill:url(#linearGradient8171)" />
-- </g>
-- <g
-- transform="matrix(0.993226,0,0,0.993226,-0.15183,20.257852)"
-- id="g7941">
-- <path
-- id="path7943"
-- d="M 62.348269,50.634112 C 62.329831,50.594931 62.257615,50.451266 62.257615,50.451266 C 62.127778,50.191594 61.861192,50.026418 61.570021,50.026418 L 57.728716,50.026418 C 57.304636,50.026418 56.960455,50.369831 56.960455,50.794679 L 56.960455,53.867723 C 56.960455,54.292571 57.304636,54.635984 57.728716,54.635984 L 65.411326,54.635984 C 65.836174,54.635984 66.179587,54.292571 66.179587,53.867723 L 66.179587,52.331201 C 66.179587,51.060497 65.145508,50.026418 63.874804,50.026418 C 63.283243,50.026418 62.756216,50.266115 62.348269,50.634112 z"
-- i:knockout="Off"
-- style="fill:#000000;fill-opacity:0.65680476;stroke:none" />
-- <path
-- id="path7945"
-- d="M 61.570021,50.023345 L 62.338282,51.559867 C 62.338282,50.710939 63.026644,50.023345 63.874804,50.023345 C 64.723732,50.023345 65.411326,50.710939 65.411326,51.559867 L 65.411326,53.096389 L 57.728716,53.096389 L 57.728716,50.023345 L 61.570021,50.023345 z"
-- i:knockout="Off"
-- style="fill:url(#linearGradient8173)" />
-- <path
-- id="path7947"
-- d="M 63.106543,51.559867 C 63.106543,51.91634 62.861468,52.225949 62.514982,52.308153 C 62.455826,52.321214 62.397438,52.328128 62.338282,52.328128 C 63.444578,52.328128 64.227436,52.328128 64.643065,52.328128 C 64.643065,51.943997 64.643065,51.559867 64.643065,51.559867 C 64.643065,51.135787 64.298116,50.791606 63.874804,50.791606 C 63.451492,50.791606 63.106543,51.135787 63.106543,51.559867 z M 58.496977,50.791606 C 58.496977,51.367802 58.496977,51.751932 58.496977,52.328128 C 59.188412,52.328128 60.494456,52.328128 62.338282,52.328128 C 62.052489,52.328128 61.783598,52.167561 61.651457,51.90328 C 61.651457,51.90328 61.318031,51.236429 61.095236,50.791606 C 60.5321,50.791606 59.328235,50.791606 58.496977,50.791606 z"
-- i:knockout="Off"
-- style="fill:url(#linearGradient8175)" />
-- </g>
-- <g
-- transform="matrix(0.993226,0,0,0.993226,-0.15183,20.257852)"
-- id="g7949">
-- <path
-- id="path7951"
-- d="M 66.179587,53.099462 C 65.888416,53.099462 65.622598,53.264638 65.491993,53.52431 C 65.491993,53.52431 65.419777,53.668743 65.401339,53.707156 C 64.992624,53.339159 64.465597,53.099462 63.874804,53.099462 C 62.6041,53.099462 61.570021,54.133541 61.570021,55.404245 L 61.570021,56.940767 C 61.570021,57.365615 61.914202,57.709028 62.338282,57.709028 L 70.020892,57.709028 C 70.44574,57.709028 70.789153,57.365615 70.789153,56.940767 L 70.789153,53.867723 C 70.789153,53.442875 70.44574,53.099462 70.020892,53.099462 L 66.179587,53.099462 z"
-- i:knockout="Off"
-- style="fill:#000000;fill-opacity:0.65680476;stroke:none" />
-- <path
-- id="path7953"
-- d="M 66.179587,53.096389 L 65.411326,54.632911 C 65.411326,53.783983 64.722964,53.096389 63.874804,53.096389 C 63.025876,53.096389 62.338282,53.783983 62.338282,54.632911 L 62.338282,56.169433 L 70.020892,56.169433 L 70.020892,53.096389 L 66.179587,53.096389 z"
-- i:knockout="Off"
-- style="fill:url(#linearGradient8177)" />
-- <path
-- id="path7955"
-- d="M 66.654372,53.86465 C 66.431577,54.309473 66.098151,54.976324 66.098151,54.976324 C 65.96601,55.240605 65.697887,55.401172 65.411326,55.401172 C 67.254384,55.401172 68.561196,55.401172 69.251863,55.401172 C 69.251863,54.824976 69.251863,54.440846 69.251863,53.86465 C 68.421373,53.86465 67.217508,53.86465 66.654372,53.86465 z M 63.106543,54.632911 C 63.106543,54.632911 63.106543,55.017042 63.106543,55.401172 C 63.521404,55.401172 64.30503,55.401172 65.410558,55.401172 C 65.352938,55.401172 65.293782,55.394258 65.234626,55.381197 C 64.88814,55.298993 64.643065,54.989384 64.643065,54.632911 C 64.643065,54.208831 64.298116,53.86465 63.874804,53.86465 C 63.451492,53.86465 63.106543,54.208831 63.106543,54.632911 z"
-- i:knockout="Off"
-- style="fill:url(#linearGradient8179)" />
-- </g>
-- <g
-- transform="matrix(0.993226,0,0,0.993226,-0.15183,20.257852)"
-- id="g7957">
-- <path
-- id="path7959"
-- d="M 62.348269,56.7802 C 62.329831,56.741019 62.257615,56.597354 62.257615,56.597354 C 62.127778,56.337682 61.861192,56.172506 61.570021,56.172506 L 57.728716,56.172506 C 57.304636,56.172506 56.960455,56.515919 56.960455,56.940767 L 56.960455,60.013811 C 56.960455,60.438659 57.304636,60.782072 57.728716,60.782072 L 65.411326,60.782072 C 65.836174,60.782072 66.179587,60.438659 66.179587,60.013811 L 66.179587,58.477289 C 66.179587,57.206585 65.145508,56.172506 63.874804,56.172506 C 63.283243,56.172506 62.756216,56.412203 62.348269,56.7802 z"
-- i:knockout="Off"
-- style="fill:#000000;fill-opacity:0.65680476;stroke:none" />
-- <path
-- id="path7961"
-- d="M 61.570021,56.169433 L 62.338282,57.705955 C 62.338282,56.857027 63.026644,56.169433 63.874804,56.169433 C 64.723732,56.169433 65.411326,56.857027 65.411326,57.705955 L 65.411326,59.242477 L 57.728716,59.242477 L 57.728716,56.169433 L 61.570021,56.169433 z"
-- i:knockout="Off"
-- style="fill:url(#linearGradient8181)" />
-- <path
-- id="path7963"
-- d="M 63.106543,57.705955 C 63.106543,58.062428 62.861468,58.372037 62.514982,58.454241 C 62.455826,58.467302 62.397438,58.474216 62.338282,58.474216 C 63.444578,58.474216 64.227436,58.474216 64.643065,58.474216 C 64.643065,58.090086 64.643065,57.705955 64.643065,57.705955 C 64.643065,57.281875 64.298116,56.937694 63.874804,56.937694 C 63.451492,56.937694 63.106543,57.281875 63.106543,57.705955 z M 58.496977,56.937694 C 58.496977,57.51389 58.496977,57.89802 58.496977,58.474216 C 59.188412,58.474216 60.494456,58.474216 62.338282,58.474216 C 62.052489,58.474216 61.783598,58.313649 61.651457,58.049368 C 61.651457,58.049368 61.318031,57.382517 61.095236,56.937694 C 60.5321,56.937694 59.328235,56.937694 58.496977,56.937694 z"
-- i:knockout="Off"
-- style="fill:url(#linearGradient8183)" />
-- </g>
-- <g
-- transform="matrix(0.993226,0,0,0.993226,-0.15183,20.257852)"
-- id="g7965">
-- <path
-- id="path7967"
-- d="M 66.179587,59.24555 C 65.888416,59.24555 65.622598,59.410726 65.491993,59.670398 C 65.491993,59.670398 65.419777,59.814831 65.401339,59.853244 C 64.992624,59.485247 64.465597,59.24555 63.874804,59.24555 C 62.6041,59.24555 61.570021,60.279629 61.570021,61.550333 L 61.570021,63.086855 C 61.570021,63.511703 61.914202,63.855116 62.338282,63.855116 L 70.020892,63.855116 C 70.44574,63.855116 70.789153,63.511703 70.789153,63.086855 L 70.789153,60.013811 C 70.789153,59.588963 70.44574,59.24555 70.020892,59.24555 L 66.179587,59.24555 z"
-- i:knockout="Off"
-- style="fill:#000000;fill-opacity:0.65680476;stroke:none" />
-- <path
-- id="path7969"
-- d="M 66.179587,59.242477 L 65.411326,60.778999 C 65.411326,59.930071 64.722964,59.242477 63.874804,59.242477 C 63.025876,59.242477 62.338282,59.930071 62.338282,60.778999 L 62.338282,62.315521 L 70.020892,62.315521 L 70.020892,59.242477 L 66.179587,59.242477 z"
-- i:knockout="Off"
-- style="fill:url(#linearGradient8185)" />
-- <path
-- id="path7971"
-- d="M 66.654372,60.010738 C 66.431577,60.455561 66.098151,61.122412 66.098151,61.122412 C 65.96601,61.386693 65.697887,61.54726 65.411326,61.54726 C 67.254384,61.54726 68.561196,61.54726 69.251863,61.54726 C 69.251863,60.971064 69.251863,60.586934 69.251863,60.010738 C 68.421373,60.010738 67.217508,60.010738 66.654372,60.010738 z M 63.106543,60.778999 C 63.106543,60.778999 63.106543,61.163129 63.106543,61.54726 C 63.521404,61.54726 64.30503,61.54726 65.410558,61.54726 C 65.352938,61.54726 65.293782,61.540346 65.234626,61.527285 C 64.88814,61.445081 64.643065,61.135472 64.643065,60.778999 C 64.643065,60.354919 64.298116,60.010738 63.874804,60.010738 C 63.451492,60.010738 63.106543,60.354919 63.106543,60.778999 z"
-- i:knockout="Off"
-- style="fill:url(#linearGradient8187)" />
-- </g>
-- <g
-- transform="matrix(0.993226,0,0,0.993226,-0.15183,20.257852)"
-- id="g7973">
-- <path
-- id="path7975"
-- d="M 62.348269,62.926288 C 62.329831,62.887107 62.257615,62.743442 62.257615,62.743442 C 62.127778,62.48377 61.861192,62.318594 61.570021,62.318594 L 57.728716,62.318594 C 57.304636,62.318594 56.960455,62.662007 56.960455,63.086855 L 56.960455,66.159899 C 56.960455,66.584747 57.304636,66.92816 57.728716,66.92816 L 65.411326,66.92816 C 65.836174,66.92816 66.179587,66.584747 66.179587,66.159899 L 66.179587,64.623377 C 66.179587,63.352673 65.145508,62.318594 63.874804,62.318594 C 63.283243,62.318594 62.756216,62.558291 62.348269,62.926288 z"
-- i:knockout="Off"
-- style="fill:#000000;fill-opacity:0.65680476;stroke:none" />
-- <path
-- id="path7977"
-- d="M 61.570021,62.315521 L 62.338282,63.852043 C 62.338282,63.003115 63.026644,62.315521 63.874804,62.315521 C 64.723732,62.315521 65.411326,63.003115 65.411326,63.852043 L 65.411326,65.388565 L 57.728716,65.388565 L 57.728716,62.315521 L 61.570021,62.315521 z"
-- i:knockout="Off"
-- style="fill:url(#linearGradient8189)" />
-- <path
-- id="path7979"
-- d="M 63.106543,63.852043 C 63.106543,64.208516 62.861468,64.518125 62.514982,64.600329 C 62.455826,64.61339 62.397438,64.620304 62.338282,64.620304 C 63.444578,64.620304 64.227436,64.620304 64.643065,64.620304 C 64.643065,64.236173 64.643065,63.852043 64.643065,63.852043 C 64.643065,63.427963 64.298116,63.083782 63.874804,63.083782 C 63.451492,63.083782 63.106543,63.427963 63.106543,63.852043 z M 58.496977,63.083782 C 58.496977,63.659978 58.496977,64.044108 58.496977,64.620304 C 59.188412,64.620304 60.494456,64.620304 62.338282,64.620304 C 62.052489,64.620304 61.783598,64.459737 61.651457,64.195456 C 61.651457,64.195456 61.318031,63.528605 61.095236,63.083782 C 60.5321,63.083782 59.328235,63.083782 58.496977,63.083782 z"
-- i:knockout="Off"
-- style="fill:url(#linearGradient8191)" />
-- </g>
-- <g
-- transform="matrix(0.993226,0,0,0.993226,-0.15183,20.257852)"
-- id="g7981">
-- <path
-- id="path7983"
-- d="M 66.179587,65.391638 C 65.888416,65.391638 65.622598,65.556814 65.491993,65.816486 C 65.491993,65.816486 65.419777,65.960919 65.401339,65.999332 C 64.992624,65.631335 64.465597,65.391638 63.874804,65.391638 C 62.6041,65.391638 61.570021,66.425717 61.570021,67.696421 L 61.570021,69.232943 C 61.570021,69.657791 61.914202,70.001204 62.338282,70.001204 L 70.020892,70.001204 C 70.44574,70.001204 70.789153,69.657791 70.789153,69.232943 L 70.789153,66.159899 C 70.789153,65.735051 70.44574,65.391638 70.020892,65.391638 L 66.179587,65.391638 z"
-- i:knockout="Off"
-- style="fill:#000000;fill-opacity:0.65680476;stroke:none" />
-- <path
-- id="path7985"
-- d="M 66.179587,65.388565 L 65.411326,66.925087 C 65.411326,66.076159 64.722964,65.388565 63.874804,65.388565 C 63.025876,65.388565 62.338282,66.076159 62.338282,66.925087 L 62.338282,68.461609 L 70.020892,68.461609 L 70.020892,65.388565 L 66.179587,65.388565 z"
-- i:knockout="Off"
-- style="fill:url(#linearGradient8193)" />
-- <path
-- id="path7987"
-- d="M 66.654372,66.156826 C 66.431577,66.601649 66.098151,67.2685 66.098151,67.2685 C 65.96601,67.532781 65.697887,67.693348 65.411326,67.693348 C 67.254384,67.693348 68.561196,67.693348 69.251863,67.693348 C 69.251863,67.117152 69.251863,66.733022 69.251863,66.156826 C 68.421373,66.156826 67.217508,66.156826 66.654372,66.156826 z M 63.106543,66.925087 C 63.106543,66.925087 63.106543,67.309218 63.106543,67.693348 C 63.521404,67.693348 64.30503,67.693348 65.410558,67.693348 C 65.352938,67.693348 65.293782,67.686434 65.234626,67.673373 C 64.88814,67.591169 64.643065,67.28156 64.643065,66.925087 C 64.643065,66.501007 64.298116,66.156826 63.874804,66.156826 C 63.451492,66.156826 63.106543,66.501007 63.106543,66.925087 z"
-- i:knockout="Off"
-- style="fill:url(#linearGradient8195)" />
-- </g>
-- <g
-- transform="matrix(0.993226,0,0,0.993226,-0.15183,20.257852)"
-- id="g7989">
-- <path
-- id="path7991"
-- d="M 62.348269,69.63411 C 62.329831,69.59493 62.257615,69.45127 62.257615,69.45127 C 62.127778,69.19159 61.861192,69.02642 61.570021,69.02642 L 57.728716,69.02642 C 57.304636,69.02642 56.960455,69.36983 56.960455,69.79468 L 56.960455,72.86772 C 56.960455,73.29257 57.304636,73.63598 57.728716,73.63598 L 65.411326,73.63598 C 65.836174,73.63598 66.179587,73.29257 66.179587,72.86772 L 66.179587,71.3312 C 66.179587,70.0605 65.145508,69.02642 63.874804,69.02642 C 63.283243,69.02642 62.756216,69.26612 62.348269,69.63411 z"
-- i:knockout="Off"
-- style="fill:#000000;fill-opacity:0.65680476;stroke:none" />
-- <path
-- id="path7993"
-- d="M 61.570021,69.02335 L 62.338282,70.55987 C 62.338282,69.71094 63.026644,69.02335 63.874804,69.02335 C 64.723732,69.02335 65.411326,69.71094 65.411326,70.55987 L 65.411326,72.09639 L 57.728716,72.09639 L 57.728716,69.02335 L 61.570021,69.02335 z"
-- i:knockout="Off"
-- style="fill:url(#linearGradient8197)" />
-- <path
-- id="path7995"
-- d="M 63.106543,70.55987 C 63.106543,70.91634 62.861468,71.22595 62.514982,71.30815 C 62.455826,71.32121 62.397438,71.32813 62.338282,71.32813 C 63.444578,71.32813 64.227436,71.32813 64.643065,71.32813 C 64.643065,70.944 64.643065,70.55987 64.643065,70.55987 C 64.643065,70.13579 64.298116,69.79161 63.874804,69.79161 C 63.451492,69.79161 63.106543,70.13579 63.106543,70.55987 z M 58.496977,69.79161 C 58.496977,70.3678 58.496977,70.75193 58.496977,71.32813 C 59.188412,71.32813 60.494456,71.32813 62.338282,71.32813 C 62.052489,71.32813 61.783598,71.16756 61.651457,70.90328 C 61.651457,70.90328 61.318031,70.23643 61.095236,69.79161 C 60.5321,69.79161 59.328235,69.79161 58.496977,69.79161 z"
-- i:knockout="Off"
-- style="fill:url(#linearGradient8199)" />
-- </g>
-- <g
-- transform="matrix(0.993226,0,0,0.993226,-0.15183,20.257852)"
-- id="g7997">
-- <path
-- id="path7999"
-- d="M 66.179587,72.09946 C 65.888416,72.09946 65.622598,72.26464 65.491993,72.52431 C 65.491993,72.52431 65.419777,72.66874 65.401339,72.70716 C 64.992624,72.33916 64.465597,72.09946 63.874804,72.09946 C 62.6041,72.09946 61.570021,73.13354 61.570021,74.40425 L 61.570021,75.94077 C 61.570021,76.36562 61.914202,76.70903 62.338282,76.70903 L 70.020892,76.70903 C 70.44574,76.70903 70.789153,76.36562 70.789153,75.94077 L 70.789153,72.86772 C 70.789153,72.44287 70.44574,72.09946 70.020892,72.09946 L 66.179587,72.09946 z"
-- i:knockout="Off"
-- style="fill:#000000;fill-opacity:0.65680476;stroke:none" />
-- <path
-- id="path8001"
-- d="M 66.179587,72.09639 L 65.411326,73.63291 C 65.411326,72.78398 64.722964,72.09639 63.874804,72.09639 C 63.025876,72.09639 62.338282,72.78398 62.338282,73.63291 L 62.338282,75.16943 L 70.020892,75.16943 L 70.020892,72.09639 L 66.179587,72.09639 z"
-- i:knockout="Off"
-- style="fill:url(#linearGradient8201)" />
-- <path
-- id="path8003"
-- d="M 66.654372,72.86465 C 66.431577,73.30947 66.098151,73.97632 66.098151,73.97632 C 65.96601,74.24061 65.697887,74.40117 65.411326,74.40117 C 67.254384,74.40117 68.561196,74.40117 69.251863,74.40117 C 69.251863,73.82498 69.251863,73.44085 69.251863,72.86465 C 68.421373,72.86465 67.217508,72.86465 66.654372,72.86465 z M 63.106543,73.63291 C 63.106543,73.63291 63.106543,74.01704 63.106543,74.40117 C 63.521404,74.40117 64.30503,74.40117 65.410558,74.40117 C 65.352938,74.40117 65.293782,74.39426 65.234626,74.3812 C 64.88814,74.29899 64.643065,73.98938 64.643065,73.63291 C 64.643065,73.20883 64.298116,72.86465 63.874804,72.86465 C 63.451492,72.86465 63.106543,73.20883 63.106543,73.63291 z"
-- i:knockout="Off"
-- style="fill:url(#linearGradient8203)" />
-- </g>
-- <g
-- transform="matrix(0.993226,0,0,0.993226,-0.15183,20.257852)"
-- id="g8005">
-- <path
-- id="path8007"
-- d="M 62.348269,75.7802 C 62.329831,75.74102 62.257615,75.59735 62.257615,75.59735 C 62.127778,75.33768 61.861192,75.17251 61.570021,75.17251 L 57.728716,75.17251 C 57.304636,75.17251 56.960455,75.51592 56.960455,75.94077 L 56.960455,79.01381 C 56.960455,79.43866 57.304636,79.78207 57.728716,79.78207 L 65.411326,79.78207 C 65.836174,79.78207 66.179587,79.43866 66.179587,79.01381 L 66.179587,77.47729 C 66.179587,76.20659 65.145508,75.17251 63.874804,75.17251 C 63.283243,75.17251 62.756216,75.4122 62.348269,75.7802 z"
-- i:knockout="Off"
-- style="fill:#000000;fill-opacity:0.65680476;stroke:none" />
-- <path
-- id="path8009"
-- d="M 61.570021,75.16943 L 62.338282,76.70596 C 62.338282,75.85703 63.026644,75.16943 63.874804,75.16943 C 64.723732,75.16943 65.411326,75.85703 65.411326,76.70596 L 65.411326,78.24248 L 57.728716,78.24248 L 57.728716,75.16943 L 61.570021,75.16943 z"
-- i:knockout="Off"
-- style="fill:url(#linearGradient8205)" />
-- <path
-- id="path8011"
-- d="M 63.106543,76.70596 C 63.106543,77.06243 62.861468,77.37204 62.514982,77.45424 C 62.455826,77.4673 62.397438,77.47422 62.338282,77.47422 C 63.444578,77.47422 64.227436,77.47422 64.643065,77.47422 C 64.643065,77.09009 64.643065,76.70596 64.643065,76.70596 C 64.643065,76.28187 64.298116,75.93769 63.874804,75.93769 C 63.451492,75.93769 63.106543,76.28187 63.106543,76.70596 z M 58.496977,75.93769 C 58.496977,76.51389 58.496977,76.89802 58.496977,77.47422 C 59.188412,77.47422 60.494456,77.47422 62.338282,77.47422 C 62.052489,77.47422 61.783598,77.31365 61.651457,77.04937 C 61.651457,77.04937 61.318031,76.38252 61.095236,75.93769 C 60.5321,75.93769 59.328235,75.93769 58.496977,75.93769 z"
-- i:knockout="Off"
-- style="fill:url(#linearGradient8207)" />
-- </g>
-- <g
-- transform="matrix(0.993226,0,0,0.993226,-0.15183,20.257852)"
-- id="g8013">
-- <path
-- id="path8015"
-- d="M 66.179587,78.24555 C 65.888416,78.24555 65.622598,78.41073 65.491993,78.6704 C 65.491993,78.6704 65.419777,78.81483 65.401339,78.85324 C 64.992624,78.48525 64.465597,78.24555 63.874804,78.24555 C 62.6041,78.24555 61.570021,79.27963 61.570021,80.55033 L 61.570021,82.08686 C 61.570021,82.5117 61.914202,82.85512 62.338282,82.85512 L 70.020892,82.85512 C 70.44574,82.85512 70.789153,82.5117 70.789153,82.08686 L 70.789153,79.01381 C 70.789153,78.58896 70.44574,78.24555 70.020892,78.24555 L 66.179587,78.24555 z"
-- i:knockout="Off"
-- style="fill:#000000;fill-opacity:0.65680476;stroke:none" />
-- <path
-- id="path8017"
-- d="M 66.179587,78.24248 L 65.411326,79.779 C 65.411326,78.93007 64.722964,78.24248 63.874804,78.24248 C 63.025876,78.24248 62.338282,78.93007 62.338282,79.779 L 62.338282,81.31552 L 70.020892,81.31552 L 70.020892,78.24248 L 66.179587,78.24248 z"
-- i:knockout="Off"
-- style="fill:url(#linearGradient8209)" />
-- <path
-- id="path8019"
-- d="M 66.654372,79.01074 C 66.431577,79.45556 66.098151,80.12241 66.098151,80.12241 C 65.96601,80.38669 65.697887,80.54726 65.411326,80.54726 C 67.254384,80.54726 68.561196,80.54726 69.251863,80.54726 C 69.251863,79.97106 69.251863,79.58693 69.251863,79.01074 C 68.421373,79.01074 67.217508,79.01074 66.654372,79.01074 z M 63.106543,79.779 C 63.106543,79.779 63.106543,80.16313 63.106543,80.54726 C 63.521404,80.54726 64.30503,80.54726 65.410558,80.54726 C 65.352938,80.54726 65.293782,80.54035 65.234626,80.52729 C 64.88814,80.44508 64.643065,80.13547 64.643065,79.779 C 64.643065,79.35492 64.298116,79.01074 63.874804,79.01074 C 63.451492,79.01074 63.106543,79.35492 63.106543,79.779 z"
-- i:knockout="Off"
-- style="fill:url(#linearGradient8211)" />
-- </g>
-- <g
-- transform="matrix(0.993226,0,0,0.993226,-0.15183,20.257852)"
-- id="g8021">
-- <path
-- id="path8023"
-- d="M 62.348269,81.92629 C 62.329831,81.88711 62.257615,81.74344 62.257615,81.74344 C 62.127778,81.48377 61.861192,81.31859 61.570021,81.31859 L 57.728716,81.31859 C 57.304636,81.31859 56.960455,81.66201 56.960455,82.08686 L 56.960455,85.1599 C 56.960455,85.58475 57.304636,85.92816 57.728716,85.92816 L 65.411326,85.92816 C 65.836174,85.92816 66.179587,85.58475 66.179587,85.1599 L 66.179587,83.62338 C 66.179587,82.35267 65.145508,81.31859 63.874804,81.31859 C 63.283243,81.31859 62.756216,81.55829 62.348269,81.92629 z"
-- i:knockout="Off"
-- style="fill:#000000;fill-opacity:0.65680476;stroke:none;display:inline" />
-- <path
-- id="path8025"
-- d="M 61.570021,81.31552 L 62.338282,82.85204 C 62.338282,82.00311 63.026644,81.31552 63.874804,81.31552 C 64.723732,81.31552 65.411326,82.00311 65.411326,82.85204 L 65.411326,84.38856 L 57.728716,84.38856 L 57.728716,81.31552 L 61.570021,81.31552 z"
-- i:knockout="Off"
-- style="fill:url(#linearGradient8213);display:inline" />
-- <path
-- id="path8027"
-- d="M 63.106543,82.85204 C 63.106543,83.20852 62.861468,83.51813 62.514982,83.60033 C 62.455826,83.61339 62.397438,83.6203 62.338282,83.6203 C 63.444578,83.6203 64.227436,83.6203 64.643065,83.6203 C 64.643065,83.23617 64.643065,82.85204 64.643065,82.85204 C 64.643065,82.42796 64.298116,82.08378 63.874804,82.08378 C 63.451492,82.08378 63.106543,82.42796 63.106543,82.85204 z M 58.496977,82.08378 C 58.496977,82.65998 58.496977,83.04411 58.496977,83.6203 C 59.188412,83.6203 60.494456,83.6203 62.338282,83.6203 C 62.052489,83.6203 61.783598,83.45974 61.651457,83.19546 C 61.651457,83.19546 61.318031,82.52861 61.095236,82.08378 C 60.5321,82.08378 59.328235,82.08378 58.496977,82.08378 z"
-- i:knockout="Off"
-- style="fill:url(#linearGradient8215);display:inline" />
-- </g>
-- <g
-- transform="matrix(0.993226,0,0,0.993226,-0.15183,20.257852)"
-- id="g8029">
-- <path
-- id="path8031"
-- d="M 66.179587,84.39164 C 65.888416,84.39164 65.622598,84.55681 65.491993,84.81649 C 65.491993,84.81649 65.419777,84.96092 65.401339,84.99933 C 64.992624,84.63134 64.465597,84.39164 63.874804,84.39164 C 62.6041,84.39164 61.570021,85.42572 61.570021,86.69642 L 61.570021,88.23294 C 61.570021,88.65779 61.914202,89.0012 62.338282,89.0012 L 70.020892,89.0012 C 70.44574,89.0012 70.789153,88.65779 70.789153,88.23294 L 70.789153,85.1599 C 70.789153,84.73505 70.44574,84.39164 70.020892,84.39164 L 66.179587,84.39164 z"
-- i:knockout="Off"
-- style="fill:#000000;fill-opacity:0.65680476;stroke:none;display:inline" />
-- <path
-- id="path8033"
-- d="M 66.179587,84.38856 L 65.411326,85.92509 C 65.411326,85.07616 64.722964,84.38856 63.874804,84.38856 C 63.025876,84.38856 62.338282,85.07616 62.338282,85.92509 L 62.338282,87.46161 L 70.020892,87.46161 L 70.020892,84.38856 L 66.179587,84.38856 z"
-- i:knockout="Off"
-- style="fill:url(#linearGradient8217);display:inline" />
-- <path
-- id="path8035"
-- d="M 66.654372,85.15683 C 66.431577,85.60165 66.098151,86.2685 66.098151,86.2685 C 65.96601,86.53278 65.697887,86.69335 65.411326,86.69335 C 67.254384,86.69335 68.561196,86.69335 69.251863,86.69335 C 69.251863,86.11715 69.251863,85.73302 69.251863,85.15683 C 68.421373,85.15683 67.217508,85.15683 66.654372,85.15683 z M 63.106543,85.92509 C 63.106543,85.92509 63.106543,86.30922 63.106543,86.69335 C 63.521404,86.69335 64.30503,86.69335 65.410558,86.69335 C 65.352938,86.69335 65.293782,86.68643 65.234626,86.67337 C 64.88814,86.59117 64.643065,86.28156 64.643065,85.92509 C 64.643065,85.50101 64.298116,85.15683 63.874804,85.15683 C 63.451492,85.15683 63.106543,85.50101 63.106543,85.92509 z"
-- i:knockout="Off"
-- style="fill:url(#linearGradient8219);display:inline" />
-- </g>
-- <g
-- transform="matrix(0.993226,0,0,0.993226,-0.15183,20.257852)"
-- id="g8037">
-- <path
-- id="path8039"
-- d="M 62.348269,87.92629 C 62.329831,87.88711 62.257615,87.74344 62.257615,87.74344 C 62.127778,87.48377 61.861192,87.31859 61.570021,87.31859 L 57.728716,87.31859 C 57.304636,87.31859 56.960455,87.66201 56.960455,88.08686 L 56.960455,91.1599 C 56.960455,91.58475 57.304636,91.92816 57.728716,91.92816 L 65.411326,91.92816 C 65.836174,91.92816 66.179587,91.58475 66.179587,91.1599 L 66.179587,89.62338 C 66.179587,88.35267 65.145508,87.31859 63.874804,87.31859 C 63.283243,87.31859 62.756216,87.55829 62.348269,87.92629 z"
-- i:knockout="Off"
-- style="fill:#000000;fill-opacity:0.65680476;stroke:none;display:inline" />
-- <path
-- id="path8041"
-- d="M 61.570021,87.31552 L 62.338282,88.85204 C 62.338282,88.00311 63.026644,87.31552 63.874804,87.31552 C 64.723732,87.31552 65.411326,88.00311 65.411326,88.85204 L 65.411326,90.38856 L 57.728716,90.38856 L 57.728716,87.31552 L 61.570021,87.31552 z"
-- i:knockout="Off"
-- style="fill:url(#linearGradient8221);display:inline" />
-- <path
-- id="path8043"
-- d="M 63.106543,88.85204 C 63.106543,89.20852 62.861468,89.51813 62.514982,89.60033 C 62.455826,89.61339 62.397438,89.6203 62.338282,89.6203 C 63.444578,89.6203 64.227436,89.6203 64.643065,89.6203 C 64.643065,89.23617 64.643065,88.85204 64.643065,88.85204 C 64.643065,88.42796 64.298116,88.08378 63.874804,88.08378 C 63.451492,88.08378 63.106543,88.42796 63.106543,88.85204 z M 58.496977,88.08378 C 58.496977,88.65998 58.496977,89.04411 58.496977,89.6203 C 59.188412,89.6203 60.494456,89.6203 62.338282,89.6203 C 62.052489,89.6203 61.783598,89.45974 61.651457,89.19546 C 61.651457,89.19546 61.318031,88.52861 61.095236,88.08378 C 60.5321,88.08378 59.328235,88.08378 58.496977,88.08378 z"
-- i:knockout="Off"
-- style="fill:url(#linearGradient8223);display:inline" />
-- </g>
-- <g
-- transform="matrix(0.993226,0,0,0.993226,-0.15183,20.257852)"
-- id="g8045">
-- <path
-- id="path8047"
-- d="M 66.179587,90.39164 C 65.888416,90.39164 65.622598,90.55681 65.491993,90.81649 C 65.491993,90.81649 65.419777,90.96092 65.401339,90.99933 C 64.992624,90.63134 64.465597,90.39164 63.874804,90.39164 C 62.6041,90.39164 61.570021,91.42572 61.570021,92.69642 L 61.570021,94.23294 C 61.570021,94.65779 61.914202,95.0012 62.338282,95.0012 L 70.020892,95.0012 C 70.44574,95.0012 70.789153,94.65779 70.789153,94.23294 L 70.789153,91.1599 C 70.789153,90.73505 70.44574,90.39164 70.020892,90.39164 L 66.179587,90.39164 z"
-- i:knockout="Off"
-- style="fill:#000000;fill-opacity:0.65680476;stroke:none;display:inline" />
-- <path
-- id="path8049"
-- d="M 66.179587,90.38856 L 65.411326,91.92509 C 65.411326,91.07616 64.722964,90.38856 63.874804,90.38856 C 63.025876,90.38856 62.338282,91.07616 62.338282,91.92509 L 62.338282,93.46161 L 70.020892,93.46161 L 70.020892,90.38856 L 66.179587,90.38856 z"
-- i:knockout="Off"
-- style="fill:url(#linearGradient8225);display:inline" />
-- <path
-- id="path8051"
-- d="M 66.654372,91.15683 C 66.431577,91.60165 66.098151,92.2685 66.098151,92.2685 C 65.96601,92.53278 65.697887,92.69335 65.411326,92.69335 C 67.254384,92.69335 68.561196,92.69335 69.251863,92.69335 C 69.251863,92.11715 69.251863,91.73302 69.251863,91.15683 C 68.421373,91.15683 67.217508,91.15683 66.654372,91.15683 z M 63.106543,91.92509 C 63.106543,91.92509 63.106543,92.30922 63.106543,92.69335 C 63.521404,92.69335 64.30503,92.69335 65.410558,92.69335 C 65.352938,92.69335 65.293782,92.68643 65.234626,92.67337 C 64.88814,92.59117 64.643065,92.28156 64.643065,91.92509 C 64.643065,91.50101 64.298116,91.15683 63.874804,91.15683 C 63.451492,91.15683 63.106543,91.50101 63.106543,91.92509 z"
-- i:knockout="Off"
-- style="fill:url(#linearGradient8227);display:inline" />
-- </g>
-- <g
-- transform="matrix(0.993226,0,0,0.993226,-0.15183,20.257852)"
-- id="g8053">
-- <path
-- id="path8055"
-- d="M 62.348269,93.92629 C 62.329831,93.88711 62.257615,93.74344 62.257615,93.74344 C 62.127778,93.48377 61.861192,93.31859 61.570021,93.31859 L 57.728716,93.31859 C 57.304636,93.31859 56.960455,93.66201 56.960455,94.08686 L 56.960455,97.1599 C 56.960455,97.58475 57.304636,97.92816 57.728716,97.92816 L 65.411326,97.92816 C 65.836174,97.92816 66.179587,97.58475 66.179587,97.1599 L 66.179587,95.62338 C 66.179587,94.35267 65.145508,93.31859 63.874804,93.31859 C 63.283243,93.31859 62.756216,93.55829 62.348269,93.92629 z"
-- i:knockout="Off"
-- style="fill:#000000;fill-opacity:0.65680476;stroke:none;display:inline" />
-- <path
-- id="path8057"
-- d="M 61.570021,93.31552 L 62.338282,94.85204 C 62.338282,94.00311 63.026644,93.31552 63.874804,93.31552 C 64.723732,93.31552 65.411326,94.00311 65.411326,94.85204 L 65.411326,96.38856 L 57.728716,96.38856 L 57.728716,93.31552 L 61.570021,93.31552 z"
-- i:knockout="Off"
-- style="fill:url(#linearGradient8229);display:inline" />
-- <path
-- id="path8059"
-- d="M 63.106543,94.85204 C 63.106543,95.20852 62.861468,95.51813 62.514982,95.60033 C 62.455826,95.61339 62.397438,95.6203 62.338282,95.6203 C 63.444578,95.6203 64.227436,95.6203 64.643065,95.6203 C 64.643065,95.23617 64.643065,94.85204 64.643065,94.85204 C 64.643065,94.42796 64.298116,94.08378 63.874804,94.08378 C 63.451492,94.08378 63.106543,94.42796 63.106543,94.85204 z M 58.496977,94.08378 C 58.496977,94.65998 58.496977,95.04411 58.496977,95.6203 C 59.188412,95.6203 60.494456,95.6203 62.338282,95.6203 C 62.052489,95.6203 61.783598,95.45974 61.651457,95.19546 C 61.651457,95.19546 61.318031,94.52861 61.095236,94.08378 C 60.5321,94.08378 59.328235,94.08378 58.496977,94.08378 z"
-- i:knockout="Off"
-- style="fill:url(#linearGradient8231);display:inline" />
-- </g>
-- <path
-- id="path8061"
-- d="M 107.03125,49.59375 C 104.81868,49.614953 101.93733,49.735658 98.6875,50.125 L 112,63.4375 L 112,49.75 C 112,49.75 110.14658,49.563895 107.03125,49.59375 z"
-- style="opacity:0.1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
-- <path
-- id="path8063"
-- d="M 16,80.5625 L 16,103.1875 L 32.8125,120 L 55.4375,120 L 16,80.5625 z"
-- style="opacity:0.1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
-- <path
-- id="path8065"
-- d="M 20.15625,49.375 C 17.52591,49.455139 16,49.75 16,49.75 L 16,57.9375 L 77.90625,119.84375 L 77.9375,119.84375 C 78.17594,119.74219 78.40625,119.59375 78.59375,119.40625 C 78.59375,119.40625 78.85859,119.01914 79,118.8125 C 79.08955,118.68027 79.26027,118.42314 79.375,118.25 C 79.57047,117.9522 79.81163,117.58548 80.0625,117.1875 C 80.10708,117.11705 80.17271,117.01083 80.21875,116.9375 C 80.61846,116.29684 81.08169,115.52028 81.5625,114.6875 C 81.84462,114.20068 82.1723,113.63477 82.46875,113.09375 C 82.52778,112.98533 82.5969,112.86036 82.65625,112.75 C 83.83021,110.56719 85.04776,108.01217 86.03125,105.34375 L 30.9375,50.21875 C 30.92693,50.216854 30.91681,50.220638 30.90625,50.21875 C 26.51577,49.433564 22.78028,49.295053 20.15625,49.375 z"
-- style="opacity:0.1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1" />
-- <path
-- style="opacity:0.5;fill:#ffffff;fill-opacity:1"
-- d="M 20.15625,49.375 C 17.52591,49.455139 16,49.75 16,49.75 L 16,53.75 C 16,53.75 40.46834,49.312093 62,70.84375 C 82.12374,50.720009 112,53.750001 112,53.75 L 112,49.75 C 112,49.750001 82.12374,46.720009 62,66.84375 C 45.85126,50.695008 28.04727,49.134583 20.15625,49.375 z"
-- id="path8358" />
-- <path
-- id="path8067"
-- d="M 20.15625,47.375 C 17.52591,47.455139 16,47.75 16,47.75 L 16,51.75 C 16,51.75 40.46834,47.312093 62,68.84375 C 82.12374,48.720009 112,51.750001 112,51.75 L 112,47.75 C 112,47.750001 82.12374,44.720009 62,64.84375 C 45.85126,48.695008 28.04727,47.134583 20.15625,47.375 z"
-- style="opacity:1;fill:url(#linearGradient8233);fill-opacity:1" />
-- <g
-- transform="matrix(0.7942217,0,0,0.9648535,8.53772,34.056506)"
-- id="g8069"
-- style="display:inline">
-- <g
-- id="g8071">
-- <path
-- style="opacity:1;fill:#000000;fill-opacity:0.65490196"
-- i:knockout="Off"
-- d="M 61.342616,30.297476 C 60.814052,30.561757 60.450665,31.011958 60.250149,31.52362 C 60.216345,31.498268 60.087277,31.400698 60.087277,31.400698 C 59.854494,31.226303 59.543348,31.199414 59.282908,31.330018 L 55.848781,33.050923 C 55.666703,33.14081 55.528416,33.301376 55.463883,33.494978 C 55.400117,33.68858 55.415482,33.898315 55.506137,34.081929 L 56.882861,36.829231 C 57.073389,37.207215 57.534346,37.361635 57.913867,37.171107 L 64.78212,33.729297 C 65.160873,33.538769 65.314525,33.077812 65.123996,32.698291 L 64.435635,31.323872 C 64.159829,30.773029 63.685812,30.363546 63.101933,30.168408 C 62.518055,29.974806 61.892691,30.020133 61.342616,30.297476 z"
-- id="path8073" />
-- <path
-- style="fill:url(#linearGradient8235)"
-- i:knockout="Off"
-- d="M 59.626321,31.244741 L 61.002276,32.274211 C 60.621987,31.515169 60.929291,30.593256 61.687565,30.212199 C 62.446607,29.831141 63.369288,30.136909 63.749577,30.897487 L 64.437939,32.271138 L 57.569686,35.712947 L 56.192194,32.965646 L 59.626321,31.244741 z"
-- id="path8075" />
-- <path
-- style="fill:url(#linearGradient8237)"
-- i:knockout="Off"
-- d="M 62.031746,30.898256 L 62.031746,30.898256 C 61.652993,31.088016 61.499341,31.551278 61.688333,31.929262 C 61.848131,32.24809 61.767464,32.634526 61.494731,32.863467 C 61.221231,33.091641 60.826344,33.102396 60.54132,32.88882 C 60.54132,32.88882 59.944381,32.441692 59.545653,32.143607 C 59.042442,32.395596 57.966109,32.934916 57.2232,33.30829 C 57.481336,33.823025 57.653426,34.166438 57.911562,34.681941 C 58.901082,34.185644 62.417413,32.424022 63.406165,31.927725 C 63.234074,31.585081 63.061984,31.2409 63.061984,31.2409 C 62.969793,31.056517 62.812299,30.919767 62.617929,30.855233 C 62.423559,30.791467 62.21536,30.806064 62.031746,30.898256 z"
-- id="path8077" />
-- </g>
-- <g
-- id="g8079">
-- <path
-- id="path8081"
-- d="M 57.588124,25.064082 C 57.120253,25.43131 56.885934,25.955264 56.793742,26.499961 C 56.742269,26.475377 56.577861,26.398551 56.577861,26.398551 C 56.314347,26.274093 56.00397,26.309433 55.775028,26.489206 L 52.755763,28.861596 C 52.422337,29.124341 52.364718,29.607577 52.626695,29.940234 L 54.525836,32.357183 C 54.651831,32.516213 54.836213,32.619929 55.038266,32.645281 C 55.241087,32.669097 55.444676,32.612246 55.604474,32.486251 L 61.643774,27.736862 C 61.803572,27.610867 61.907288,27.426484 61.931872,27.223663 C 61.955688,27.020842 61.898837,26.818021 61.772842,26.657455 L 60.823271,25.450517 C 60.442214,24.966512 59.89598,24.659208 59.285213,24.586223 C 58.675214,24.514007 58.072129,24.683024 57.588124,25.064082 z"
-- a:adobe-blending-mode="multiply"
-- i:knockout="Off"
-- style="fill:#000000;fill-opacity:0.65680476;stroke:none" />
-- <path
-- style="fill:url(#linearGradient8239)"
-- i:knockout="Off"
-- d="M 56.250582,26.320957 L 57.804774,27.053878 C 57.280052,26.385491 57.395291,25.420555 58.06291,24.895832 C 58.72976,24.37111 59.695464,24.486349 60.220955,25.154736 L 61.170525,26.361674 L 55.131226,31.111064 L 53.232084,28.694115 L 56.250582,26.320957 z"
-- id="path8083" />
-- <path
-- style="fill:url(#linearGradient8241)"
-- i:knockout="Off"
-- d="M 58.537695,25.499686 C 58.537695,25.500454 58.537695,25.500454 58.537695,25.499686 C 58.20427,25.761663 58.14665,26.246435 58.408627,26.579861 C 58.62835,26.860276 58.626813,27.254394 58.404786,27.532504 C 58.182758,27.811383 57.798628,27.900501 57.476726,27.748386 C 57.476726,27.748386 56.802193,27.430326 56.351992,27.218285 C 55.909474,27.566308 54.963745,28.309984 54.309955,28.823183 C 54.665659,29.276457 54.903052,29.578383 55.259525,30.031657 C 56.129197,29.347137 59.221447,26.916359 60.091119,26.232607 C 59.853726,25.931448 59.616333,25.629522 59.616333,25.629522 C 59.488802,25.467419 59.306724,25.36524 59.103135,25.340656 C 58.900314,25.31684 58.69903,25.372923 58.537695,25.499686 z"
-- id="path8085" />
-- </g>
-- <g
-- id="g8087">
-- <path
-- id="path8089"
-- d="M 53.071518,20.089592 C 52.463055,20.179478 51.925272,20.50138 51.558044,20.995371 C 51.252276,21.407159 51.104001,21.888859 51.104001,22.366717 C 51.104001,22.442775 51.147792,22.51115 51.154707,22.587208 C 51.10477,22.577989 50.932679,22.548027 50.932679,22.548027 C 50.646118,22.497322 50.356483,22.612561 50.182088,22.84688 L 47.891902,25.929144 C 47.639144,26.269483 47.709824,26.750415 48.050164,27.003941 L 50.51705,28.837011 C 50.68069,28.958397 50.885815,29.011407 51.087868,28.981444 C 51.289152,28.951482 51.47123,28.843157 51.592615,28.679518 L 56.173756,22.510382 C 56.295141,22.346742 56.346614,22.141617 56.317421,21.939564 C 56.287458,21.73828 56.179134,21.556202 56.014726,21.434817 L 54.781667,20.519818 C 54.287675,20.152589 53.680749,19.999705 53.071518,20.089592 z"
-- a:adobe-blending-mode="multiply"
-- i:knockout="Off"
-- style="fill:#000000;fill-opacity:0.65680476;stroke:none" />
-- <path
-- style="fill:url(#linearGradient8243)"
-- i:knockout="Off"
-- d="M 50.79977,22.532662 L 52.491481,22.831515 C 51.810033,22.323695 51.668673,21.3626 52.174957,20.681921 C 52.681241,20.000473 53.643104,19.858345 54.324552,20.364629 L 55.55761,21.279628 L 50.97647,27.447996 L 48.509584,25.614925 L 50.79977,22.532662 z"
-- id="path8091" />
-- <path
-- style="fill:url(#linearGradient8245)"
-- i:knockout="Off"
-- d="M 53.29585,20.837878 C 53.093029,20.86784 52.914024,20.974628 52.791103,21.139804 L 52.791103,21.139804 C 52.538345,21.479376 52.609793,21.961844 52.950133,22.21537 C 53.235926,22.428178 53.337336,22.808467 53.196744,23.135747 C 53.055384,23.462257 52.70813,23.649713 52.357803,23.587484 C 52.357803,23.587484 51.622578,23.457648 51.133195,23.370834 C 50.797465,23.822572 50.079909,24.788276 49.584381,25.455126 C 50.046874,25.798539 50.354947,26.028249 50.81744,26.371662 C 51.477376,25.483552 53.822109,22.325999 54.482045,21.43789 C 54.173972,21.209716 53.866668,20.980774 53.866668,20.980774 C 53.701492,20.859389 53.498671,20.807916 53.29585,20.837878 z"
-- id="path8093" />
-- </g>
-- <g
-- id="g8095">
-- <path
-- id="path8097"
-- d="M 46.422987,16.637027 C 45.844487,16.845994 45.382762,17.269306 45.12309,17.826295 C 44.975583,18.141282 44.904903,18.473171 44.904903,18.799681 C 44.904903,19.027087 44.942548,19.251419 45.00785,19.4673 C 44.970974,19.468069 44.819626,19.47191 44.819626,19.47191 C 44.529224,19.479592 44.267247,19.650146 44.144325,19.91366 L 42.514075,23.390809 C 42.464906,23.496061 42.44109,23.607459 42.44109,23.716552 C 42.44109,24.00465 42.60473,24.281992 42.883609,24.412596 L 45.66625,25.717103 C 45.850633,25.803917 46.061904,25.813136 46.25397,25.743993 C 46.446035,25.674849 46.601992,25.531953 46.688037,25.34757 L 49.947769,18.38943 C 50.033814,18.205047 50.043801,17.993007 49.974658,17.80171 C 49.904746,17.610413 49.762618,17.453688 49.577467,17.367643 L 48.186914,16.716926 C 47.629925,16.455717 47.003024,16.427291 46.422987,16.637027 z"
-- a:adobe-blending-mode="multiply"
-- i:knockout="Off"
-- style="fill:#000000;fill-opacity:0.65680476;stroke:none" />
-- <path
-- style="fill:url(#linearGradient8247)"
-- i:knockout="Off"
-- d="M 44.840369,19.468837 L 46.558201,19.424278 C 45.789172,19.063195 45.458051,18.148964 45.819134,17.380703 C 46.17868,16.612442 47.092911,16.280554 47.862708,16.642405 L 49.253261,17.293122 L 45.993529,24.251261 L 43.210888,22.946754 L 44.840369,19.468837 z"
-- id="path8099" />
-- <path
-- style="fill:url(#linearGradient8249)"
-- i:knockout="Off"
-- d="M 46.946941,17.310023 C 46.754876,17.379935 46.601224,17.519759 46.515178,17.70491 C 46.515178,17.705678 46.515178,17.706446 46.51441,17.706446 C 46.465241,17.811698 46.442194,17.921559 46.442194,18.030652 C 46.442194,18.319518 46.605833,18.597629 46.88548,18.729001 C 47.158213,18.857301 47.326462,19.130802 47.326462,19.423509 C 47.326462,19.475751 47.321084,19.528761 47.310329,19.581771 C 47.237344,19.930562 46.934649,20.182551 46.578176,20.19177 C 46.578176,20.19177 45.831426,20.210977 45.334361,20.224037 C 45.095432,20.733394 44.584539,21.823557 44.231907,22.575684 C 44.753556,22.819991 45.10081,22.983631 45.623227,23.227938 C 46.092635,22.226125 47.761298,18.664468 48.230705,17.661887 C 47.883451,17.499784 47.536197,17.336912 47.536197,17.336912 C 47.348742,17.249331 47.139775,17.240112 46.946941,17.310023 z"
-- id="path8101" />
-- </g>
-- </g>
-- <g
-- style="display:inline"
-- id="g8103"
-- transform="matrix(-0.7942217,0,0,0.9648535,112.65125,36.056506)">
-- <g
-- id="g8105">
-- <path
-- id="path8107"
-- d="M 61.342616,30.297476 C 60.814052,30.561757 60.450665,31.011958 60.250149,31.52362 C 60.216345,31.498268 60.087277,31.400698 60.087277,31.400698 C 59.854494,31.226303 59.543348,31.199414 59.282908,31.330018 L 55.848781,33.050923 C 55.666703,33.14081 55.528416,33.301376 55.463883,33.494978 C 55.400117,33.68858 55.415482,33.898315 55.506137,34.081929 L 56.882861,36.829231 C 57.073389,37.207215 57.534346,37.361635 57.913867,37.171107 L 64.78212,33.729297 C 65.160873,33.538769 65.314525,33.077812 65.123996,32.698291 L 64.435635,31.323872 C 64.159829,30.773029 63.685812,30.363546 63.101933,30.168408 C 62.518055,29.974806 61.892691,30.020133 61.342616,30.297476 z"
-- i:knockout="Off"
-- style="opacity:1;fill:#000000;fill-opacity:0.65490196" />
-- <path
-- id="path8109"
-- d="M 59.626321,31.244741 L 61.002276,32.274211 C 60.621987,31.515169 60.929291,30.593256 61.687565,30.212199 C 62.446607,29.831141 63.369288,30.136909 63.749577,30.897487 L 64.437939,32.271138 L 57.569686,35.712947 L 56.192194,32.965646 L 59.626321,31.244741 z"
-- i:knockout="Off"
-- style="fill:url(#linearGradient8251)" />
-- <path
-- id="path8111"
-- d="M 62.031746,30.898256 L 62.031746,30.898256 C 61.652993,31.088016 61.499341,31.551278 61.688333,31.929262 C 61.848131,32.24809 61.767464,32.634526 61.494731,32.863467 C 61.221231,33.091641 60.826344,33.102396 60.54132,32.88882 C 60.54132,32.88882 59.944381,32.441692 59.545653,32.143607 C 59.042442,32.395596 57.966109,32.934916 57.2232,33.30829 C 57.481336,33.823025 57.653426,34.166438 57.911562,34.681941 C 58.901082,34.185644 62.417413,32.424022 63.406165,31.927725 C 63.234074,31.585081 63.061984,31.2409 63.061984,31.2409 C 62.969793,31.056517 62.812299,30.919767 62.617929,30.855233 C 62.423559,30.791467 62.21536,30.806064 62.031746,30.898256 z"
-- i:knockout="Off"
-- style="fill:url(#linearGradient8253)" />
-- </g>
-- <g
-- id="g8113">
-- <path
-- style="fill:#000000;fill-opacity:0.65680476;stroke:none"
-- i:knockout="Off"
-- a:adobe-blending-mode="multiply"
-- d="M 57.588124,25.064082 C 57.120253,25.43131 56.885934,25.955264 56.793742,26.499961 C 56.742269,26.475377 56.577861,26.398551 56.577861,26.398551 C 56.314347,26.274093 56.00397,26.309433 55.775028,26.489206 L 52.755763,28.861596 C 52.422337,29.124341 52.364718,29.607577 52.626695,29.940234 L 54.525836,32.357183 C 54.651831,32.516213 54.836213,32.619929 55.038266,32.645281 C 55.241087,32.669097 55.444676,32.612246 55.604474,32.486251 L 61.643774,27.736862 C 61.803572,27.610867 61.907288,27.426484 61.931872,27.223663 C 61.955688,27.020842 61.898837,26.818021 61.772842,26.657455 L 60.823271,25.450517 C 60.442214,24.966512 59.89598,24.659208 59.285213,24.586223 C 58.675214,24.514007 58.072129,24.683024 57.588124,25.064082 z"
-- id="path8115" />
-- <path
-- id="path8117"
-- d="M 56.250582,26.320957 L 57.804774,27.053878 C 57.280052,26.385491 57.395291,25.420555 58.06291,24.895832 C 58.72976,24.37111 59.695464,24.486349 60.220955,25.154736 L 61.170525,26.361674 L 55.131226,31.111064 L 53.232084,28.694115 L 56.250582,26.320957 z"
-- i:knockout="Off"
-- style="fill:url(#linearGradient8255)" />
-- <path
-- id="path8119"
-- d="M 58.537695,25.499686 C 58.537695,25.500454 58.537695,25.500454 58.537695,25.499686 C 58.20427,25.761663 58.14665,26.246435 58.408627,26.579861 C 58.62835,26.860276 58.626813,27.254394 58.404786,27.532504 C 58.182758,27.811383 57.798628,27.900501 57.476726,27.748386 C 57.476726,27.748386 56.802193,27.430326 56.351992,27.218285 C 55.909474,27.566308 54.963745,28.309984 54.309955,28.823183 C 54.665659,29.276457 54.903052,29.578383 55.259525,30.031657 C 56.129197,29.347137 59.221447,26.916359 60.091119,26.232607 C 59.853726,25.931448 59.616333,25.629522 59.616333,25.629522 C 59.488802,25.467419 59.306724,25.36524 59.103135,25.340656 C 58.900314,25.31684 58.69903,25.372923 58.537695,25.499686 z"
-- i:knockout="Off"
-- style="fill:url(#linearGradient8257)" />
-- </g>
-- <g
-- id="g8121">
-- <path
-- style="fill:#000000;fill-opacity:0.65680476;stroke:none"
-- i:knockout="Off"
-- a:adobe-blending-mode="multiply"
-- d="M 53.071518,20.089592 C 52.463055,20.179478 51.925272,20.50138 51.558044,20.995371 C 51.252276,21.407159 51.104001,21.888859 51.104001,22.366717 C 51.104001,22.442775 51.147792,22.51115 51.154707,22.587208 C 51.10477,22.577989 50.932679,22.548027 50.932679,22.548027 C 50.646118,22.497322 50.356483,22.612561 50.182088,22.84688 L 47.891902,25.929144 C 47.639144,26.269483 47.709824,26.750415 48.050164,27.003941 L 50.51705,28.837011 C 50.68069,28.958397 50.885815,29.011407 51.087868,28.981444 C 51.289152,28.951482 51.47123,28.843157 51.592615,28.679518 L 56.173756,22.510382 C 56.295141,22.346742 56.346614,22.141617 56.317421,21.939564 C 56.287458,21.73828 56.179134,21.556202 56.014726,21.434817 L 54.781667,20.519818 C 54.287675,20.152589 53.680749,19.999705 53.071518,20.089592 z"
-- id="path8123" />
-- <path
-- id="path8125"
-- d="M 50.79977,22.532662 L 52.491481,22.831515 C 51.810033,22.323695 51.668673,21.3626 52.174957,20.681921 C 52.681241,20.000473 53.643104,19.858345 54.324552,20.364629 L 55.55761,21.279628 L 50.97647,27.447996 L 48.509584,25.614925 L 50.79977,22.532662 z"
-- i:knockout="Off"
-- style="fill:url(#linearGradient8259)" />
-- <path
-- id="path8127"
-- d="M 53.29585,20.837878 C 53.093029,20.86784 52.914024,20.974628 52.791103,21.139804 L 52.791103,21.139804 C 52.538345,21.479376 52.609793,21.961844 52.950133,22.21537 C 53.235926,22.428178 53.337336,22.808467 53.196744,23.135747 C 53.055384,23.462257 52.70813,23.649713 52.357803,23.587484 C 52.357803,23.587484 51.622578,23.457648 51.133195,23.370834 C 50.797465,23.822572 50.079909,24.788276 49.584381,25.455126 C 50.046874,25.798539 50.354947,26.028249 50.81744,26.371662 C 51.477376,25.483552 53.822109,22.325999 54.482045,21.43789 C 54.173972,21.209716 53.866668,20.980774 53.866668,20.980774 C 53.701492,20.859389 53.498671,20.807916 53.29585,20.837878 z"
-- i:knockout="Off"
-- style="fill:url(#linearGradient8261)" />
-- </g>
-- <g
-- id="g8129">
-- <path
-- style="fill:#4a4a4a;fill-opacity:1;stroke:none"
-- i:knockout="Off"
-- a:adobe-blending-mode="multiply"
-- d="M 46.422987,16.637027 C 45.844487,16.845994 45.382762,17.269306 45.12309,17.826295 C 44.975583,18.141282 44.904903,18.473171 44.904903,18.799681 C 44.904903,19.027087 44.942548,19.251419 45.00785,19.4673 C 44.970974,19.468069 44.819626,19.47191 44.819626,19.47191 C 44.529224,19.479592 44.267247,19.650146 44.144325,19.91366 L 42.514075,23.390809 C 42.464906,23.496061 42.44109,23.607459 42.44109,23.716552 C 42.44109,24.00465 42.60473,24.281992 42.883609,24.412596 L 45.66625,25.717103 C 45.850633,25.803917 46.061904,25.813136 46.25397,25.743993 C 46.446035,25.674849 46.601992,25.531953 46.688037,25.34757 L 49.947769,18.38943 C 50.033814,18.205047 50.043801,17.993007 49.974658,17.80171 C 49.904746,17.610413 49.762618,17.453688 49.577467,17.367643 L 48.186914,16.716926 C 47.629925,16.455717 47.003024,16.427291 46.422987,16.637027 z"
-- id="path8131" />
-- <path
-- id="path8133"
-- d="M 44.840369,19.468837 L 46.558201,19.424278 C 45.789172,19.063195 45.458051,18.148964 45.819134,17.380703 C 46.17868,16.612442 47.092911,16.280554 47.862708,16.642405 L 49.253261,17.293122 L 45.993529,24.251261 L 43.210888,22.946754 L 44.840369,19.468837 z"
-- i:knockout="Off"
-- style="fill:url(#linearGradient8263)" />
-- <path
-- id="path8135"
-- d="M 46.946941,17.310023 C 46.754876,17.379935 46.601224,17.519759 46.515178,17.70491 C 46.515178,17.705678 46.515178,17.706446 46.51441,17.706446 C 46.465241,17.811698 46.442194,17.921559 46.442194,18.030652 C 46.442194,18.319518 46.605833,18.597629 46.88548,18.729001 C 47.158213,18.857301 47.326462,19.130802 47.326462,19.423509 C 47.326462,19.475751 47.321084,19.528761 47.310329,19.581771 C 47.237344,19.930562 46.934649,20.182551 46.578176,20.19177 C 46.578176,20.19177 45.831426,20.210977 45.334361,20.224037 C 45.095432,20.733394 44.584539,21.823557 44.231907,22.575684 C 44.753556,22.819991 45.10081,22.983631 45.623227,23.227938 C 46.092635,22.226125 47.761298,18.664468 48.230705,17.661887 C 47.883451,17.499784 47.536197,17.336912 47.536197,17.336912 C 47.348742,17.249331 47.139775,17.240112 46.946941,17.310023 z"
-- i:knockout="Off"
-- style="fill:url(#linearGradient8265)" />
-- </g>
-- <g
-- id="g8137">
-- <path
-- style="fill:#4a4a4a;fill-opacity:1;stroke:none"
-- i:knockout="Off"
-- a:adobe-blending-mode="multiply"
-- d="M 40.094821,14.81087 C 39.56318,15.12048 39.1829,15.618313 39.02617,16.213715 C 38.97393,16.41039 38.94858,16.609369 38.94858,16.807581 C 38.94858,17.168663 39.06151,17.516686 39.22976,17.843965 C 39.1852,17.853184 39.02233,17.886987 39.02233,17.886987 C 38.7373,17.946143 38.51067,18.161257 38.43615,18.44244 L 37.45431,22.154677 C 37.43741,22.220748 37.42819,22.286818 37.42819,22.351352 C 37.42819,22.691692 37.65559,23.002837 38.00054,23.093492 L 40.971407,23.879423 C 41.168082,23.931665 41.377817,23.902471 41.554517,23.800292 C 41.730449,23.698114 41.858749,23.529864 41.91099,23.332421 L 43.874665,15.904106 C 43.926907,15.707431 43.898481,15.497696 43.795535,15.321764 C 43.692588,15.145832 43.524338,15.017533 43.327664,14.965291 L 41.843383,14.573478 C 41.248749,14.416752 40.626458,14.500493 40.094821,14.81087 z"
-- id="path8139" />
-- <path
-- id="path8141"
-- d="M 39.17905,17.867781 L 40.860777,17.516686 C 40.039506,17.299268 39.55089,16.45879 39.76831,15.638287 C 39.98419,14.817785 40.824669,14.328402 41.646708,14.546589 L 43.131757,14.937633 L 41.168082,22.365949 L 38.19722,21.580018 L 39.17905,17.867781 z"
-- i:knockout="Off"
-- style="fill:url(#linearGradient8267)" />
-- <path
-- id="path8143"
-- d="M 40.867692,15.367091 C 40.690992,15.470038 40.564229,15.635983 40.511987,15.834194 L 40.511987,15.834962 C 40.494317,15.900264 40.485866,15.967103 40.485866,16.033174 C 40.485866,16.166851 40.521206,16.298992 40.59035,16.417304 C 40.693297,16.594772 40.860009,16.721535 41.058221,16.773777 C 41.395487,16.863664 41.629807,17.168663 41.629807,17.515917 C 41.629807,17.522832 41.629807,17.529746 41.629807,17.53666 C 41.620588,17.892365 41.36783,18.19506 41.019039,18.268045 C 41.019039,18.268045 40.288423,18.420161 39.80135,18.522339 C 39.65768,19.066268 39.34961,20.229415 39.13757,21.033016 C 39.69456,21.180522 40.065627,21.27886 40.622617,21.426366 C 40.905337,20.356178 41.910222,16.554055 42.192942,15.484635 C 41.82264,15.387066 41.452338,15.288729 41.452338,15.288729 C 41.251822,15.235719 41.04516,15.263376 40.867692,15.367091 z"
-- i:knockout="Off"
-- style="fill:url(#linearGradient8269)" />
-- </g>
-- </g>
-- <g
-- transform="matrix(1.7389025,0,0,1.4755998,-47.048677,13.909947)"
-- id="g8145">
-- <path
-- id="path8147"
-- d="M 63.86789,28.512037 L 63.86789,28.512037 C 63.86789,28.512037 63.867121,28.512037 63.861744,28.512037 C 60.193297,28.512037 57.162508,31.701088 56.963528,35.772872 C 56.961223,35.810516 56.960455,35.847393 56.960455,35.885038 C 56.960455,36.680956 57.372243,37.424633 58.052922,37.846408 C 58.203501,37.939368 58.351776,38.125287 58.496977,38.315047 C 58.496977,38.871268 58.496977,54.632911 58.496977,54.632911 C 58.496977,55.903615 59.531056,56.937694 60.80176,56.937694 L 66.947848,56.937694 C 68.218552,56.937694 69.252631,55.903615 69.252631,54.632911 C 69.252631,54.632911 69.252631,38.844379 69.252631,38.281244 C 69.39015,38.106849 69.529205,37.933222 69.669797,37.846408 C 70.351244,37.425401 70.762264,36.681724 70.762264,35.885806 C 70.762264,35.84893 70.761496,35.811285 70.759959,35.774408 C 70.574808,31.989186 67.875907,28.881571 64.480962,28.54584 C 64.478657,28.54584 63.874804,28.512037 63.874804,28.512037 C 63.869426,28.512037 63.86789,28.511269 63.86789,28.512037 z M 64.643065,43.108996 C 64.643065,43.450104 64.643065,43.536149 64.643065,43.877257 C 64.066869,43.877257 63.682739,43.877257 63.106543,43.877257 C 63.106543,43.536149 63.106543,43.450104 63.106543,43.108996 C 63.682739,43.108996 64.066869,43.108996 64.643065,43.108996 z"
-- i:knockout="Off"
-- style="fill:url(#linearGradient8271);filter:url(#filter8342)" />
-- <path
-- id="path8149"
-- d="M 57.730253,35.810516 C 57.730253,35.810516 57.730253,35.810516 57.730253,35.810516 C 57.703363,36.369811 57.982242,36.898374 58.457027,37.192618 C 59.392001,37.77035 60.01967,39.222364 60.01967,40.804213 C 60.01967,41.651605 60.7088,42.340735 61.556192,42.340735 L 66.165758,42.340735 C 67.013918,42.340735 67.70228,41.651605 67.70228,40.804213 C 67.70228,39.221595 68.330718,37.77035 69.265691,37.192618 C 69.741245,36.898374 70.018587,36.369811 69.991698,35.811285 C 69.813462,32.148216 67.120707,29.280298 63.861744,29.280298 C 60.60278,29.280298 57.910026,32.148216 57.730253,35.810516 z"
-- i:knockout="Off"
-- style="fill:url(#linearGradient8273)" />
-- <path
-- id="path8151"
-- d="M 58.511574,35.0799 C 58.497745,35.358779 58.637569,35.623829 58.874961,35.770567 C 60.045791,36.495037 60.80176,38.16831 60.80176,40.035952 C 60.80176,40.4608 61.145941,40.804213 61.570021,40.804213 L 66.179587,40.804213 C 66.604435,40.804213 66.947848,40.4608 66.947848,40.035952 C 66.947848,38.16831 67.703817,36.495037 68.875415,35.770567 C 69.113576,35.623829 69.251863,35.358779 69.238802,35.0799 C 69.079004,31.827083 66.723516,29.280298 63.874804,29.280298 C 61.026092,29.280298 58.670604,31.827083 58.511574,35.0799 z"
-- i:knockout="Off"
-- style="fill:url(#linearGradient8275)" />
-- <path
-- id="path8153"
-- d="M 68.054144,36.194647 C 68.18859,36.082481 68.326108,35.974924 68.470541,35.885806 C 68.449798,35.460958 68.382191,35.051475 68.281549,34.658125 L 59.467291,34.658125 C 59.367417,35.051475 59.299041,35.460958 59.278298,35.885806 C 59.422732,35.974924 59.56025,36.082481 59.694696,36.194647 L 68.054144,36.194647 z"
-- i:knockout="Off"
-- style="fill:url(#linearGradient8277);filter:url(#filter8354)" />
-- <path
-- id="path8155"
-- d="M 60.80176,36.194647 C 59.954368,36.194647 59.265238,36.883777 59.265238,37.731169 L 59.265238,54.632911 C 59.265238,55.480303 59.954368,56.169433 60.80176,56.169433 L 66.947848,56.169433 C 67.79524,56.169433 68.48437,55.480303 68.48437,54.632911 L 68.48437,37.731169 C 68.48437,36.883777 67.79524,36.194647 66.947848,36.194647 L 60.80176,36.194647 z M 62.338282,39.267691 L 65.411326,39.267691 L 65.411326,44.645518 L 62.338282,44.645518 L 62.338282,39.267691 z M 65.411326,51.559867 C 65.411326,51.772675 65.411326,52.11532 65.411326,52.328128 C 65.088656,52.328128 62.660952,52.328128 62.338282,52.328128 C 62.338282,52.11532 62.338282,51.772675 62.338282,51.559867 C 62.660952,51.559867 65.088656,51.559867 65.411326,51.559867 z"
-- i:knockout="Off"
-- style="fill:url(#linearGradient8279)" />
-- <path
-- id="path8157"
-- d="M 66.947848,36.194647 L 60.80176,36.194647 C 60.37768,36.194647 60.033499,36.53806 60.033499,36.962908 L 60.033499,53.86465 C 60.033499,54.289498 60.37768,54.632911 60.80176,54.632911 L 66.947848,54.632911 C 67.372696,54.632911 67.716109,54.289498 67.716109,53.86465 L 67.716109,36.962908 C 67.716109,36.53806 67.372696,36.194647 66.947848,36.194647 z M 66.179587,52.520193 C 66.179587,52.838253 65.921451,53.096389 65.603391,53.096389 L 62.146217,53.096389 C 61.828157,53.096389 61.570021,52.838253 61.570021,52.520193 L 61.570021,51.367802 C 61.570021,51.049742 61.828157,50.791606 62.146217,50.791606 L 65.603391,50.791606 C 65.921451,50.791606 66.179587,51.049742 66.179587,51.367802 L 66.179587,52.520193 z M 66.179587,44.645518 C 66.179587,45.070366 65.836174,45.413779 65.411326,45.413779 L 62.338282,45.413779 C 61.914202,45.413779 61.570021,45.070366 61.570021,44.645518 L 61.570021,38.49943 C 61.570021,38.074582 61.914202,37.731169 62.338282,37.731169 L 65.411326,37.731169 C 65.836174,37.731169 66.179587,38.074582 66.179587,38.49943 L 66.179587,44.645518 z"
-- i:knockout="Off"
-- style="fill:url(#linearGradient8281)" />
-- <path
-- id="path8159"
-- d="M 65.411326,39.267691 C 65.411326,39.692539 65.067913,40.035952 64.643065,40.035952 L 63.106543,40.035952 C 62.682463,40.035952 62.338282,39.692539 62.338282,39.267691 L 62.338282,31.585081 C 62.338282,31.160233 62.682463,30.81682 63.106543,30.81682 L 64.643065,30.81682 C 65.067913,30.81682 65.411326,31.160233 65.411326,31.585081 L 65.411326,39.267691 z"
-- i:knockout="Off"
-- style="fill:url(#linearGradient8283)" />
-- <rect
-- id="rect8161"
-- height="7.68261"
-- width="1.536522"
-- i:knockout="Off"
-- y="31.585079"
-- x="63.106544"
-- style="fill:url(#linearGradient8285)" />
-- </g>
-- </g>
-- <g
-- id="g3412"
-- transform="translate(-10,0)">
-- <path
-- transform="translate(50,0)"
-- clip-path="url(#clipPath7084)"
-- sodipodi:nodetypes="cccc"
-- style="opacity:0.4;fill:#000000;fill-opacity:1;filter:url(#filter6697)"
-- id="path5540"
-- d="M 41.879531,115.98249 C 41.879531,115.98249 66.18914,91.672876 66.18914,91.672876 C 66.18914,91.672876 56.836,94.586 46.586,94.586 C 46.586,104.836 41.879531,115.98249 41.879531,115.98249 z " />
-- <path
-- sodipodi:nodetypes="csccc"
-- d="M 89.172,120 C 89.172,120 101.086,110.086 106.586,104.586 C 112.086,99.086 122,87.172 122,87.172 C 122,87.172 108.25,96 98,96 C 98,106.25 89.172,120 89.172,120 z "
-- id="path14523"
-- style="fill:url(#linearGradient3416);fill-opacity:1" />
-- </g>
-- </g>
--</svg>
-diff --git a/manual/conversion.rst b/manual/conversion.rst
-index 8fa28e6..6eca538 100644
---- a/manual/conversion.rst
-+++ b/manual/conversion.rst
-@@ -735,7 +735,7 @@ output ranging anywhere from decent to unusable, depending on the input PDF.
- Comic book collections
- ~~~~~~~~~~~~~~~~~~~~~~~~~
-
--A comic book collection is a .cbc file. A .cbc file is a ZIP file that contains other CBZ/CBR files. In addition the
-+A comic book collection is a .cbc file. A .cbc file is a ZIP file that contains other CBZ files. In addition the
- .cbc file must contain a simple text file called comics.txt, encoded in UTF-8. The comics.txt file must contain
- a list of the comics files inside the .cbc file, in the form filename:title, as shown below::
-
-diff --git a/manual/faq.rst b/manual/faq.rst
-index 0637394..adb2e84 100644
---- a/manual/faq.rst
-+++ b/manual/faq.rst
-@@ -18,7 +18,7 @@ What formats does calibre support conversion to/from?
- calibre supports the conversion of many input formats to many output formats.
- It can convert every input format in the following list, to every output format.
-
--*Input Formats:* AZW, AZW3, AZW4, CBZ, CBR, CBC, CHM, DJVU, DOCX, EPUB, FB2, HTML, HTMLZ, LIT, LRF, MOBI, ODT, PDF, PRC, PDB, PML, RB, RTF, SNB, TCR, TXT, TXTZ
-+*Input Formats:* AZW, AZW3, AZW4, CBZ, CBC, CHM, DJVU, DOCX, EPUB, FB2, HTML, HTMLZ, LIT, LRF, MOBI, ODT, PDF, PRC, PDB, PML, RB, RTF, SNB, TCR, TXT, TXTZ
-
- *Output Formats:* AZW3, EPUB, DOCX, FB2, HTMLZ, OEB, LIT, LRF, MOBI, PDB, PMLZ, RB, PDF, RTF, SNB, TCR, TXT, TXTZ, ZIP
-
-diff --git a/manual/gui.rst b/manual/gui.rst
-index 0c38741..54418f7 100644
---- a/manual/gui.rst
-+++ b/manual/gui.rst
-@@ -51,7 +51,7 @@ Add books
-
- 3. **Add books from directories, including sub-directories (Multiple books per directory, assumes every e-book file is a different book)**: Allows you to choose a directory. The directory and all its sub-directories are scanned recursively and any e-books found are added to the library. calibre assumes that each directory contains many books. All e-book files with the same name in a directory are assumed to be the same book in different formats. E-books with different names are added as different books.
-
-- 4. **Add multiple books from archive (ZIP/RAR)**: Allows you to add multiple e-books that are stored inside the selected ZIP or RAR files. It is a convenient shortcut that avoids having to first unzip the archive and then add the books via one of the above two options.
-+ 4. **Add multiple books from archive (ZIP)**: Allows you to add multiple e-books that are stored inside the selected ZIP files. It is a convenient shortcut that avoids having to first unzip the archive and then add the books via one of the above two options.
-
- 5. **Add empty book (Book Entry with no formats)**: Allows you to create a blank book record. This can be used to then manually fill out the information about a book that you may not have yet in your collection.
-
-diff --git a/recipes/economist.recipe b/recipes/economist.recipe
-index 0116528..4766232 100644
---- a/recipes/economist.recipe
-+++ b/recipes/economist.recipe
-@@ -39,7 +39,7 @@ class Economist(BasicNewsRecipe):
- INDEX = 'https://www.economist.com/printedition'
- description = (
- 'Global news and current affairs from a European'
-- ' perspective. Best downloaded on Friday mornings (GMT)'
-+ ' perspective. Best downloaded on Saturday mornings (GMT)'
- )
- extra_css = '''
- .headline {font-size: x-large;}
-diff --git a/resources/calibre-portable.bat a/resources/calibre-portable.bat
-deleted file mode 100644
-index e30cb26..0000000
---- a/resources/calibre-portable.bat
-+++ /dev/null
-@@ -1,207 +0,0 @@
--@echo OFF
--REM Calibre-Portable.bat
--REM ¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬
--REM
--REM Batch File to start a Calibre configuration on Windows
--REM giving explicit control of the location of:
--REM - Calibre Program Files
--REM - Calibre Library Files
--REM - Calibre Config Files
--REM - Calibre Metadata database
--REM - Calibre Source files
--REM - Calibre Temp Files
--REM By setting the paths correctly it can be used to run:
--REM - A "portable calibre" off a USB stick.
--REM - A network installation with local metadata database
--REM (for performance) and books stored on a network share
--REM - A local installation using customised settings
--REM
--REM If trying to run off a USB stick then the folder structure
--REM shown below is recommended (relative to the location of
--REM this batch file). This can structure can also be used
--REM when running of a local hard disk if you want to get the
--REM level of control this batch file provides.
--REM - Calibre2 Location of program files
--REM - CalibreConfig Location of Configuration files
--REM - CalibreLibrary Location of Books and metadata
--REM - CalibreSource Location of Calibre Source files (Optional)
--REM
--REM This batch file is designed so that if you create the recommended
--REM folder structure then it can be used 'as is' without modification.
--REM
--REM More information on the Environment Variables used by Calibre can
--REM be found at:
--REM https://manual.calibre-ebook.com/customize.html#environment-variables
--REM
--REM The documentation for this file in the Calibre manual can be found at:
--REM https://manual.calibre-ebook.com/portable.html
--REM
--REM CHANGE HISTORY
--REM ¬¬¬¬¬¬¬¬¬¬¬¬¬¬
--REM 22 Jan 2012 itimpi - Updated to keep it in line with the calibre-portable.sh
--REM file for Linux systems
--
--
--REM -------------------------------------
--REM Set up Calibre Config folder
--REM
--REM This is where user specific settings
--REM are stored.
--REM -------------------------------------
--
--IF EXIST CalibreConfig (
-- SET CALIBRE_CONFIG_DIRECTORY=%cd%\CalibreConfig
-- ECHO CONFIG FILES: %cd%\CalibreConfig
--)
--
--
--REM --------------------------------------------------------------
--REM Specify Location of ebooks
--REM
--REM Location where Book files are located
--REM Either set explicit path, or if running from a USB stick
--REM a relative path can be used to avoid need to know the
--REM drive letter of the USB stick.
--REM
--REM Comment out any of the following that are not to be used
--REM (although leaving them in does not really matter)
--REM --------------------------------------------------------------
--
--IF EXIST U:\eBooks\CalibreLibrary (
-- SET CALIBRE_LIBRARY_DIRECTORY=U:\eBOOKS\CalibreLibrary
-- ECHO LIBRARY FILES: U:\eBOOKS\CalibreLibrary
--)
--IF EXIST CalibreLibrary (
-- SET CALIBRE_LIBRARY_DIRECTORY=%cd%\CalibreLibrary
-- ECHO LIBRARY FILES: %cd%\CalibreLibrary
--)
--
--
--REM --------------------------------------------------------------
--REM Specify Location of metadata database (optional)
--REM
--REM Location where the metadata.db file is located. If not set
--REM the same location as Books files will be assumed. This.
--REM option is typically set to get better performance when the
--REM Library is on a (slow) network drive. Putting the metadata.db
--REM file locally then makes gives a big performance improvement.
--REM
--REM NOTE. If you use this option, then the ability to switch
--REM libraries within Calibre will be disabled. Therefore
--REM you do not want to set it if the metadata.db file
--REM is at the same location as the book files.
--REM
--REM Another point to watch is that plugins can cause problems
--REM as they often store absolute path information
--REM --------------------------------------------------------------
--
--IF EXIST %cd%\CalibreMetadata\metadata.db (
-- IF NOT "%CALIBRE_LIBRARY_DIRECTORY%" == "%cd%\CalibreMetadata" (
-- SET CALIBRE_OVERRIDE_DATABASE_PATH=%cd%\CalibreMetadata\metadata.db
-- ECHO DATABASE: %cd%\CalibreMetadata\metadata.db
-- ECHO '
-- ECHO ***CAUTION*** Library Switching will be disabled
-- ECHO '
-- )
--)
--
--REM --------------------------------------------------------------
--REM Specify Location of source (optional)
--REM
--REM It is easy to run Calibre from source
--REM Just set the environment variable to where the source is located
--REM When running from source the GUI will have a '*' after the version.
--REM number that is displayed at the bottom of the Calibre main screen.
--REM
--REM More information on setting up a development environment can
--REM be found at:
--REM https://manual.calibre-ebook.com/develop.html#develop
--REM --------------------------------------------------------------
--
--IF EXIST CalibreSource\src (
-- SET CALIBRE_DEVELOP_FROM=%cd%\CalibreSource\src
-- ECHO SOURCE FILES: %cd%\CalibreSource\src
--) ELSE (
-- ECHO SOURCE FILES: *** Not being Used ***
--)
--
--
--REM --------------------------------------------------------------
--REM Specify Location of calibre Windows binaries (optional)
--REM
--REM To avoid needing Calibre to be set in the search path, ensure
--REM that Calibre Program Files is current directory when starting.
--REM The following test falls back to using search path .
--REM This folder can be populated by copying the Calibre2 folder from
--REM an existing installation or by installing direct to here.
--REM
--REM NOTE. Do not try and put both Windows and Linux binaries into
--REM same folder as this can cause problems.
--REM --------------------------------------------------------------
--
--IF EXIST %cd%\Calibre2 (
-- CD %cd%\Calibre2
-- ECHO PROGRAM FILES: %cd%
--) ELSE (
-- ECHO PROGRAM FILES: *** Use System search PATH ***
--)
--
--
--REM --------------------------------------------------------------
--REM Location of Calibre Temporary files (optional)
--REM
--REM Calibre creates a lot of temporary files while running
--REM In theory these are removed when Calibre finishes, but
--REM in practise files can be left behind (particularily if
--REM any errors occur). Using this option allows some
--REM explicit clean-up of these files.
--REM If not set Calibre uses the normal system TEMP location
--REM --------------------------------------------------------------
--
--SET CALIBRE_TEMP_DIR=%TEMP%\CALIBRE_TEMP
--ECHO TEMPORARY FILES: %CALIBRE_TEMP_DIR%
--
--IF EXIST "%CALIBRE_TEMP_DIR%" RMDIR /s /q "%CALIBRE_TEMP_DIR%"
--MKDIR "%CALIBRE_TEMP_DIR%"
--REM set the following for any components that do
--REM not obey the CALIBRE_TEMP_DIR setting
--SET TMP=%CALIBRE_TEMP_DIR%
--SET TEMP=%CALIBRE_TEMP_DIR%
--
--
--REM --------------------------------------------------------------
--REM Set the Interface language (optional)
--REM
--REM If not set Calibre uses the language set in Preferences
--REM --------------------------------------------------------------
--
--SET CALIBRE_OVERRIDE_LANG=EN
--ECHO INTERFACE LANGUAGE: %CALIBRE_OVERRIDE_LANG%
--
--REM ----------------------------------------------------------
--REM The following gives a chance to check the settings before
--REM starting Calibre. It can be commented out if not wanted.
--REM ----------------------------------------------------------
--
--ECHO '
--ECHO Press CTRL-C if you do not want to continue
--PAUSE
--
--
--REM --------------------------------------------------------
--REM Start up the calibre program.
--REM
--REM The use of 'belownormal' priority helps keep the system
--REM responsive while Calibre is running. Within Calibre itself
--REM the backgound processes should be set to run with 'low' priority.
--
--REM Using the START command starts up Calibre in a separate process.
--REM If used without /WAIT option it launches Calibre and contines batch file.
--REM normally this would simply run off the end and close the Command window.
--REM Use with /WAIT to wait until Calibre completes to run a task on exit
--REM --------------------------------------------------------
--
--ECHO "Starting up Calibre"
--ECHO OFF
--ECHO %cd%
--START /belownormal Calibre --with-library "%CALIBRE_LIBRARY_DIRECTORY%"
-diff --git a/resources/calibre-portable.sh a/resources/calibre-portable.sh
-deleted file mode 100755
-index beafb10..0000000
---- a/resources/calibre-portable.sh
-+++ /dev/null
-@@ -1,395 +0,0 @@
--#!/bin/bash
--# Calibre-Portable.sh
--# ¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬
--#
--# Shell script File to start a Calibre configuration on Linux
--# giving explicit control of the location of:
--# - Calibre Program Files
--# - Calibre Library Files
--# - Calibre Config Files
--# - Calibre Metadata database
--# - Calibre Source files
--# - Calibre Temp Files
--# By setting the paths correctly it can be used to run:
--# - A "portable calibre" off a USB stick.
--# - A network installation with local metadata database
--# (for performance) and books stored on a network share
--# - A local installation using customised settings
--#
--# If trying to run off a USB stick then the folder structure
--# shown below is recommended (relative to the location of
--# this script file). This structure can also be used when
--# running of a local hard disk if you want to get the level
--# of control this script file provides.
--# - Calibre Location of linux program files
--# - CalibreConfig Location of Configuration files
--# - CalibreLibrary Location of Books and metadata
--# - CalibreSource Location of Calibre Source files (Optional)
--#
--# This script file is designed so that if you create the recommended
--# folder structure then it can be used 'as is' without modification.
--# To use your own structure, simply set the variables in the generated configuration file.
--#
--# More information on the Environment Variables used by Calibre can
--# be found at:
--# https://manual.calibre-ebook.com/customize.html#environment-variables
--#
--# NOTE: It is quite possible to have both Windows and Linux binaries on the same
--# USB stick but set up to use the same calibre settings otherwise.
--# In this case you use:
--# - calibre-portable.bat to run the Windows version
--# - calibre-portable.sh to run the Linux version
--#
--# CHANGE HISTORY
--# ¬¬¬¬¬¬¬¬¬¬¬¬¬¬
--# 22 Jan 2012 itimpi ----- First version based on the calibre-portable.bat file for Windows
--# It should have identical functionality but for a linux environment.
--# It might work on MacOS but that has not been validated.
--#
--# 02 Feb 2015 eschwartz -- Fix path issues, allow setting each location in one variable, allow
--# specifying a list of libraries in descending order of priority.
--#
--# 01 Apr 2015 eschwartz -- Fix temp dir and permissions, migrate settings to configuration file.
--
--# -----------------------------------------------------
--# On exit, make sure all files are marked world-writable.
--# This allows you to use calibre on other computers
--# without changing fstab rules and suchlike.
--# You can now use an ext3 drive instead of vfat so the
--# binaries and script will be executable.
--# -----------------------------------------------------
--
--cleanup() {
-- # Check if user has disabled cleanup
-- if [[ "${CALIBRE_NO_CLEANUP}" = "1" ]]; then
-- return
-- fi
--
-- for i in "${CONFIG_DIR}" "${CALIBRE_LIBRARY_DIRECTORY}" \
-- "${METADATA_DIR}" "${SRC_DIR}" "${BIN_DIR}"; do
-- if [[ -d "${i}" ]]; then
-- chmod a+rwX "${i}"
-- fi
-- done
-- rm -rf "${CALIBRE_TEMP_DIR}"
--}
--
--trap cleanup EXIT
--
--# ------------------------------------------------
--# Interactive options.
--# ------------------------------------------------
--
--usage()
--{
-- cat <<- _EOF_
-- Usage: calibre-portable.sh [OPTIONS]
-- Run a portable instance of calibre.
--
-- OPTIONS
-- -u, --upgrade-install upgrade or install the portable calibre binaries
-- -h, --help show this usage message then exit
--_EOF_
--}
--
--do_upgrade()
--{
-- wget -nv -O- https://raw.githubusercontent.com/kovidgoyal/calibre/master/setup/linux-installer.py \
-- | python -c "import sys; main=lambda x,y:sys.stderr.write('Download failed\n'); \
-- exec(sys.stdin.read()); main('$(pwd)', True)"
--}
--
--while [[ "${#}" -gt 0 ]]; do
-- case "${1}" in
-- -h|--help)
-- usage
-- exit
-- ;;
-- -u|--upgrade-install)
-- do_upgrade
-- exit
-- ;;
-- *)
-- echo "calibre-portable.sh: unecognzed option '${1}'"
-- echo "Try 'calibre-portable.sh --help' for more information."
-- exit 1
-- esac
-- shift
--done
--
--# ------------------------------------------------
--# Create or read configuration file.
--# ------------------------------------------------
--
--if [[ -f "$(pwd)/calibre-portable.conf" ]]; then
-- source "$(pwd)/calibre-portable.conf"
--else
-- cat <<- _EOF_ > $(pwd)/calibre-portable.conf
-- # Configuration file for calibre-portable. Generated on $(date)
-- # Settings in here will override the defaults specified in the portable launcher.
--
-- ##################################################
-- # Set up calibre config folder.
-- #
-- # This is where user specific settings are stored.
-- ##################################################
--
-- # CONFIG_DIR="\$(pwd)/CalibreConfig"
--
-- ################################################################
-- # -- Specify the location of your calibre library.
-- #
-- # -- Either set an explicit path, or if running from a USB stick
-- # -- a relative path can be used to avoid needing to know the
-- # -- mount point of the USB stick.
-- #
-- # -- Specify a list of libraries here, by adding new elements to the
-- # -- array. The first value of LIBRARY_DIRS that is an existing directory
-- # -- will be used as the current calibre library.
-- ################################################################
--
-- # LIBRARY_DIRS[0]="/path/to/first/CalibreLibrary"
-- # LIBRARY_DIRS[1]="/path/to/second/CalibreLibrary"
-- # LIBRARY_DIRS[2]="\$(pwd)/CalibreLibrary"
--
-- ################################################################
-- # -- Specify location of metadata database (optional).
-- #
-- # -- Location where the metadata.db file is located. If not set
-- # -- then the same location as the library folder will be assumed.
-- # -- This option is typically used to get better performance when the
-- # -- library is on a (slow) network drive. Putting the metadata.db
-- # -- file locally then makes gives a big performance improvement.
-- #
-- # -- NOTE. If you use this option, then the ability to switch
-- # -- libraries within calibre will be disabled. Therefore
-- # -- you do not want to set it if the metadata.db file
-- # -- is at the same location as the book files.
-- #
-- # -- Another point to watch is that plugins can cause problems
-- # -- as they often store absolute path information.
-- ################################################################
--
-- # METADATA_DIR="\$(pwd)/CalibreMetadata"
--
-- ################################################################
-- # -- Specify location of source (optional).
-- #
-- # -- It is easy to run calibre from source. Just set the environment
-- # -- variable to where the source is located. When running from source
-- # -- the GUI will have a '*' after the version number that is displayed
-- # -- at the bottom of the calibre main screen.
-- #
-- # -- More information on setting up a development environment can
-- # -- be found at:
-- # -- https://manual.calibre-ebook.com/develop.html#develop
-- ################################################################
--
-- # SRC_DIR="$\(pwd)/CalibreSource/src"
--
-- ################################################################
-- # -- Specify location of calibre linux binaries (optional).
-- #
-- # -- To avoid needing Calibre to be set in the search path, ensure
-- # -- that if Calibre Program Files exists, we manually specify the
-- # -- location of the binary.
-- # -- The following test falls back to using the search path, or you
-- # -- can specifically use the search path by leaving the BIN_DIR blank.
-- #
-- # -- This folder can be populated by copying the /opt/calibre folder
-- # -- from an existing installation or by installing direct to here.
-- #
-- # -- NOTE. Do not try and put both Windows and Linux binaries into
-- # -- the same folder as this can cause problems.
-- ################################################################
--
-- # BIN_DIR="$\(pwd)/calibre"
--
-- ################################################################
-- # -- Location of calibre temporary files (optional).
-- #
-- # -- calibre creates a lot of temporary files while running
-- # -- In theory these are removed when calibre finishes, but
-- # -- in practice files can be left behind (particularly if
-- # -- a crash occurs). Using this option allows some
-- # -- explicit clean-up of these files.
-- # -- If not set calibre uses the normal system TEMP location
-- ################################################################
--
-- # CALIBRE_TEMP_DIR="/tmp/CALIBRE_TEMP_\$(tr -dc 'A-Za-z0-9'</dev/urandom |fold -w 7 | head -n1)"
--
-- ################################################################
-- # -- Set the Interface language (optional).
-- #
-- # -- Defaults to whatever is stored in Preferences
-- ################################################################
--
-- # CALIBRE_OVERRIDE_LANG="EN"
--
-- ##################################################################
-- # -- Wait until user can check the settings before starting calibre.
-- # -- (default=yes)
-- #
-- # -- Set CALIBRE_NOCONFIRM_START to "1" to disable.
-- # -- Set CALIBRE_NOCONFIRM_START to "0" to enable.
-- ##################################################################
--
-- # CALIBRE_NOCONFIRM_START=0
--
-- ##################################################################
-- # -- Cleanup all files when done (default=yes).
-- #
-- # -- On launcher termination, change all library, configuration,
-- # -- source, binary, etc. files to world-writable, and remove the
-- # -- temporary folder.
-- #
-- # -- Technically this is a security risk. This is a portableapp, so
-- # -- we don't care. Disable this if *you* do.
-- #
-- # -- Set CALIBRE_NO_CLEANUP to "1" to disable.
-- # -- Set CALIBRE_NO_CLEANUP to "0" to enable.
-- ##################################################################
--
-- # CALIBRE_NO_CLEANUP=0
--
-- ##################################################################
-- # -- Set and export any other environment variables needed. More
-- # -- information can be found at:
-- # https://manual.calibre-ebook.com/customize.html#environment-variables
-- ##################################################################
--
-- # some other example variables calibre recognizes:
-- # export CALIBRE_NO_NATIVE_FILEDIALOGS=
-- # export CALIBRE_NO_NATIVE_MENUBAR=
-- # export CALIBRE_IGNORE_SYSTEM_THEME=
-- # export http_proxy=
-- _EOF_
--
-- echo "Generating default configuration file at $(pwd)/calibre-portable.conf"
-- echo "Set any non-default options here."
--fi
--
--# ------------------------------------------------
--# Set up calibre config folder.
--# ------------------------------------------------
--
--: ${CONFIG_DIR:="$(pwd)/CalibreConfig"}
--
--if [[ -d "${CONFIG_DIR}" ]]; then
-- export CALIBRE_CONFIG_DIRECTORY="${CONFIG_DIR}"
-- echo "CONFIG FILES: ${CONFIG_DIR}"
--else
-- echo -e "\033[0;31mCONFIG FILES: Not found\033[0m"
--fi
--echo "--------------------------------------------------"
--
--# --------------------------------------------------------------
--# Specify the location of your calibre library.
--# --------------------------------------------------------------
--
--: ${LIBRARY_DIRS[0]:="/path/to/first/CalibreLibrary"}
--: ${LIBRARY_DIRS[1]:="/path/to/second/CalibreLibrary"}
--: ${LIBRARY_DIRS[2]:="$(pwd)/CalibreLibrary"}
--
--for LIBRARY_DIR in "${LIBRARY_DIRS[@]}"; do
-- if [[ -d "${LIBRARY_DIR}" ]]; then
-- CALIBRE_LIBRARY_DIRECTORY="${LIBRARY_DIR}"
-- echo "LIBRARY FILES: ${CALIBRE_LIBRARY_DIRECTORY}"
-- break
-- fi
--done
--
--[[ -z "${CALIBRE_LIBRARY_DIRECTORY}" ]] && echo -e "\033[0;31mLIBRARY FILES: Not found\033[0m"
--echo "--------------------------------------------------"
--
--# --------------------------------------------------------------
--# Specify location of metadata database (optional).
--# --------------------------------------------------------------
--
--: ${METADATA_DIR:="$(pwd)/CalibreMetadata"}
--
--if [[ -f "${METADATA_DIR}/metadata.db" && "${CALIBRE_LIBRARY_DIRECTORY}" != "${METADATA_DIR}" ]]; then
-- export CALIBRE_OVERRIDE_DATABASE_PATH="${METADATA_DIR}/metadata.db"
-- echo "DATABASE: ${METADATA_DIR}/metadata.db"
-- echo
-- echo -e "\033[0;31m***CAUTION*** Library Switching will be disabled\033[0m"
-- echo
-- echo "--------------------------------------------------"
--fi
--
--# --------------------------------------------------------------
--# Specify location of source (optional).
--# --------------------------------------------------------------
--
--: ${SRC_DIR:="$(pwd)/CalibreSource/src"}
--
--if [[ -d "${SRC_DIR}" ]]; then
-- export CALIBRE_DEVELOP_FROM="${SRC_DIR}"
-- echo "SOURCE FILES: ${SRC_DIR}"
--else
-- echo "SOURCE FILES: *** Not being Used ***"
--fi
--echo "--------------------------------------------------"
--
--# --------------------------------------------------------------
--# Specify location of calibre linux binaries (optional).
--# --------------------------------------------------------------
--
--: ${BIN_DIR:="$(pwd)/calibre"}
--
--if [[ -d "${BIN_DIR}" ]]; then
-- CALIBRE="${BIN_DIR}/calibre"
-- echo "PROGRAM FILES: ${BIN_DIR}"
--elif [[ -z "${BIN_DIR}" ]]; then
-- CALIBRE="calibre"
-- echo "PROGRAM FILES: Using System search path"
--else
-- CALIBRE="calibre"
-- echo "PROGRAM FILES: No portable copy found."
-- echo "To intall a portable copy, run './calibre-portable.sh --upgrade-install'"
-- echo -e "\033[0;31m*** Using System search path instead***\033[0m"
--fi
--echo "--------------------------------------------------"
--
--# --------------------------------------------------------------
--# Location of calibre temporary files (optional).
--# --------------------------------------------------------------
--
--: ${CALIBRE_TEMP_DIR:="/tmp/CALIBRE_TEMP_$(tr -dc 'A-Za-z0-9'</dev/urandom |fold -w 7 | head -n1)"}
--
--if [[ ! -z "${CALIBRE_TEMP_DIR}" ]]; then
-- export CALIBRE_TEMP_DIR
-- export CALIBRE_CACHE_DIRECTORY="${CALIBRE_TEMP_DIR}/calibre_cache"
-- echo "TEMPORARY FILES: ${CALIBRE_TEMP_DIR}"
-- echo "--------------------------------------------------"
-- rm -rf "${CALIBRE_TEMP_DIR}"
-- mkdir "${CALIBRE_TEMP_DIR}"
-- mkdir "${CALIBRE_CACHE_DIRECTORY}"
--fi
--
--# --------------------------------------------------------------
--# Set the Interface language (optional).
--# --------------------------------------------------------------
--
--if [[ "${CALIBRE_OVERRIDE_LANG}" != "" ]]; then
-- export CALIBRE_OVERRIDE_LANG
-- echo "INTERFACE LANGUAGE: ${CALIBRE_OVERRIDE_LANG}"
--fi
--
--# ---------------------------------------------------------------
--# Wait until user can check the settings before starting calibre.
--# ---------------------------------------------------------------
--
--if [[ "${CALIBRE_NOCONFIRM_START}" != "1" ]]; then
-- echo
-- echo "Press CTRL-C if you do not want to continue"
-- echo "Press ENTER to continue and start Calibre"
-- read DUMMY
--fi
--
--# --------------------------------------------------------
--# Start up the calibre program.
--# --------------------------------------------------------
--
--echo "Starting up Calibre from portable directory \"$(pwd)\""
--$CALIBRE --with-library "${CALIBRE_LIBRARY_DIRECTORY}"
-diff --git a/resources/images/lt.png b/resources/images/lt.png
-index 81adc85..ee24bd6 100644
-Binary files a/resources/images/lt.png and b/resources/images/lt.png differ
-diff --git a/resources/images/mimetypes/cbr.png a/resources/images/mimetypes/cbr.png
-deleted file mode 100644
-index 34052fa..0000000
-Binary files a/resources/images/mimetypes/cbr.png and /dev/null differ
-diff --git a/resources/images/mimetypes/rar.png a/resources/images/mimetypes/rar.png
-deleted file mode 100644
-index b320d28..0000000
-Binary files a/resources/images/mimetypes/rar.png and /dev/null differ
-diff --git a/resources/mime.types b/resources/mime.types
-index b8acaaa..9ea4742 100644
---- a/resources/mime.types
-+++ b/resources/mime.types
-@@ -138,7 +138,6 @@ application/prs.cww cww
- application/prs.nprend
- application/prs.plucker
- application/qsig
--application/rar rar
- application/rdf+xml rdf
- application/reginfo+xml rif
- application/relax-ng-compact-syntax rnc
-@@ -849,7 +848,6 @@ application/x-pkcs7-certreqresp p7r
- application/x-pkcs7-crl crl
- application/x-python-code pyc pyo
- application/x-quicktimeplayer qtl
--application/x-rar-compressed rar
- application/x-redhat-package-manager rpm
- application/x-sh sh
- application/x-shar shar
-@@ -1372,7 +1370,6 @@ application/x-mobipocket-subscription pobi
- application/x-kindle-application azw2
- application/x-mobi8-ebook azw3
- application/x-cbz cbz
--application/x-cbr cbr
- application/x-cb7 cb7
- application/x-cbc cbc
- application/x-koboreader-ebook kobo
-diff --git a/session.vim b/session.vim
-index d5ecb06..b3e40d0 100644
---- a/session.vim
-+++ b/session.vim
-@@ -11,7 +11,6 @@ let g:syntastic_cpp_include_dirs = [
- \'/usr/include/freetype2',
- \'/usr/include/fontconfig',
- \'src/qtcurve/common', 'src/qtcurve',
-- \'src/unrar',
- \'src/qt-harfbuzz/src',
- \'/usr/include/ImageMagick',
- \]
-diff --git a/setup/resources.py b/setup/resources.py
-index 7fb34bd..3e5ef3b 100644
---- a/setup/resources.py
-+++ b/setup/resources.py
-@@ -341,7 +341,7 @@ class Resources(Command): # {{{
- log = Log()
- # log.outputs = []
- for inf in supported_input_formats():
-- if inf in ('zip', 'rar', 'oebzip'):
-+ if inf in ('zip', 'oebzip'):
- continue
- for ouf in available_output_formats():
- of = ouf if ouf == 'oeb' else 'dummy.'+ouf
-diff --git a/src/calibre/__init__.py b/src/calibre/__init__.py
-index d96f48f..d0855ec 100644
---- a/src/calibre/__init__.py
-+++ b/src/calibre/__init__.py
-@@ -292,10 +292,7 @@ def extract(path, dir):
- # First use the file header to identify its type
- with open(path, 'rb') as f:
- id_ = f.read(3)
-- if id_ == b'Rar':
-- from calibre.utils.unrar import extract as rarextract
-- extractor = rarextract
-- elif id_.startswith(b'PK'):
-+ if id_.startswith(b'PK'):
- from calibre.libunzip import extract as zipextract
- extractor = zipextract
- if extractor is None:
-@@ -304,9 +301,6 @@ def extract(path, dir):
- if ext in ['zip', 'cbz', 'epub', 'oebzip']:
- from calibre.libunzip import extract as zipextract
- extractor = zipextract
-- elif ext in ['cbr', 'rar']:
-- from calibre.utils.unrar import extract as rarextract
-- extractor = rarextract
- if extractor is None:
- raise Exception('Unknown archive type')
- extractor(path, dir)
-diff --git a/src/calibre/customize/builtins.py b/src/calibre/customize/builtins.py
-index f870de8..0474068 100644
---- a/src/calibre/customize/builtins.py
-+++ b/src/calibre/customize/builtins.py
-@@ -132,7 +132,7 @@ plugins += [HTML2ZIP, PML2PMLZ, TXT2TXTZ, ArchiveExtract,]
- class ComicMetadataReader(MetadataReaderPlugin):
-
- name = 'Read comic metadata'
-- file_types = set(['cbr', 'cbz'])
-+ file_types = set(['cbz'])
- description = _('Extract cover from comic files')
-
- def customization_help(self, gui=False):
-@@ -143,19 +143,14 @@ class ComicMetadataReader(MetadataReaderPlugin):
- pos = stream.tell()
- id_ = stream.read(3)
- stream.seek(pos)
-- if id_ == b'Rar':
-- ftype = 'cbr'
-- elif id_.startswith(b'PK'):
-+ if id_.startswith(b'PK'):
- ftype = 'cbz'
-- if ftype == 'cbr':
-- from calibre.utils.unrar import extract_cover_image
-- else:
- from calibre.libunzip import extract_cover_image
- from calibre.ebooks.metadata import MetaInformation
- ret = extract_cover_image(stream)
- mi = MetaInformation(None, None)
- stream.seek(0)
-- if ftype in {'cbr', 'cbz'}:
-+ if ftype in {'cbz'}:
- series_index = self.site_customization
- if series_index not in {'volume', 'issue'}:
- series_index = 'volume'
-@@ -354,17 +349,6 @@ class PMLMetadataReader(MetadataReaderPlugin):
- return get_metadata(stream)
-
-
--class RARMetadataReader(MetadataReaderPlugin):
--
-- name = 'Read RAR metadata'
-- file_types = set(['rar'])
-- description = _('Read metadata from e-books in RAR archives')
--
-- def get_metadata(self, stream, ftype):
-- from calibre.ebooks.metadata.rar import get_metadata
-- return get_metadata(stream)
--
--
- class RBMetadataReader(MetadataReaderPlugin):
-
- name = 'Read RB metadata'
-diff --git a/src/calibre/customize/ui.py b/src/calibre/customize/ui.py
-index cea6dee..6e3e531 100644
---- a/src/calibre/customize/ui.py
-+++ b/src/calibre/customize/ui.py
-@@ -527,7 +527,7 @@ def available_input_formats():
- if not is_disabled(plugin):
- for format in plugin.file_types:
- formats.add(format)
-- formats.add('zip'), formats.add('rar')
-+ formats.add('zip')
- return formats
-
-
-diff --git a/src/calibre/devices/kobo/driver.py b/src/calibre/devices/kobo/driver.py
-index 6b3566a..ca75d58 100644
---- a/src/calibre/devices/kobo/driver.py
-+++ b/src/calibre/devices/kobo/driver.py
-@@ -78,7 +78,7 @@ class KOBO(USBMS):
- book_class = Book
-
- # Ordered list of supported formats
-- FORMATS = ['kepub', 'epub', 'pdf', 'txt', 'cbz', 'cbr']
-+ FORMATS = ['kepub', 'epub', 'pdf', 'txt', 'cbz']
- CAN_SET_METADATA = ['collections']
-
- VENDOR_ID = [0x2237]
-diff --git a/src/calibre/devices/misc.py b/src/calibre/devices/misc.py
-index d27348a..874c078 100644
---- a/src/calibre/devices/misc.py
-+++ b/src/calibre/devices/misc.py
-@@ -448,7 +448,7 @@ class WAYTEQ(USBMS):
- EBOOK_DIR_MAIN = 'Documents'
- SCAN_FROM_ROOT = True
-
-- VENDOR_NAME = ['ROCKCHIP', 'CBR']
-+ VENDOR_NAME = ['ROCKCHIP']
- WINDOWS_MAIN_MEM = WINDOWS_CARD_A_MEM = ['RK28_SDK_DEMO', 'EINK_EBOOK_READE']
- SUPPORTS_SUB_DIRS = True
-
-diff --git a/src/calibre/devices/mtp/filesystem_cache.py b/src/calibre/devices/mtp/filesystem_cache.py
-index ffc5280..79be51e 100644
---- a/src/calibre/devices/mtp/filesystem_cache.py
-+++ b/src/calibre/devices/mtp/filesystem_cache.py
-@@ -18,7 +18,7 @@ from calibre.utils.date import local_tz, as_utc
- from calibre.utils.icu import sort_key, lower
- from calibre.ebooks import BOOK_EXTENSIONS
-
--bexts = frozenset(BOOK_EXTENSIONS) - {'mbp', 'tan', 'rar', 'zip', 'xml'}
-+bexts = frozenset(BOOK_EXTENSIONS) - {'mbp', 'tan', 'zip', 'xml'}
-
-
- class FileOrFolder(object):
-diff --git a/src/calibre/ebooks/__init__.py b/src/calibre/ebooks/__init__.py
-index 699be34..5604e5d 100644
---- a/src/calibre/ebooks/__init__.py
-+++ b/src/calibre/ebooks/__init__.py
-@@ -30,9 +30,9 @@ class ParserError(ValueError):
- pass
-
-
--BOOK_EXTENSIONS = ['lrf', 'rar', 'zip', 'rtf', 'lit', 'txt', 'txtz', 'text', 'htm', 'xhtm',
-+BOOK_EXTENSIONS = ['lrf', 'zip', 'rtf', 'lit', 'txt', 'txtz', 'text', 'htm', 'xhtm',
- 'html', 'htmlz', 'xhtml', 'pdf', 'pdb', 'updb', 'pdr', 'prc', 'mobi', 'azw', 'doc',
-- 'epub', 'fb2', 'djv', 'djvu', 'lrx', 'cbr', 'cbz', 'cbc', 'oebzip',
-+ 'epub', 'fb2', 'djv', 'djvu', 'lrx', 'cbz', 'cbc', 'oebzip',
- 'rb', 'imp', 'odt', 'chm', 'tpz', 'azw1', 'pml', 'pmlz', 'mbp', 'tan', 'snb',
- 'xps', 'oxps', 'azw4', 'book', 'zbf', 'pobi', 'docx', 'docm', 'md',
- 'textile', 'markdown', 'ibook', 'ibooks', 'iba', 'azw3', 'ps', 'kepub', 'kfx']
-diff --git a/src/calibre/ebooks/comic/__init__.py b/src/calibre/ebooks/comic/__init__.py
-index f47e177..1767826 100644
---- a/src/calibre/ebooks/comic/__init__.py
-+++ b/src/calibre/ebooks/comic/__init__.py
-@@ -4,7 +4,7 @@ __copyright__ = '2008, Kovid Goyal kovid@kovidgoyal.net'
- __docformat__ = 'restructuredtext en'
-
- '''
--Convert CBR/CBZ files to LRF.
-+Convert CBZ files to LRF.
- '''
-
- import sys
-diff --git a/src/calibre/ebooks/conversion/plugins/comic_input.py b/src/calibre/ebooks/conversion/plugins/comic_input.py
-index f64acc5..2020bae 100644
---- a/src/calibre/ebooks/conversion/plugins/comic_input.py
-+++ b/src/calibre/ebooks/conversion/plugins/comic_input.py
-@@ -18,8 +18,8 @@ class ComicInput(InputFormatPlugin):
-
- name = 'Comic Input'
- author = 'Kovid Goyal'
-- description = 'Optimize comic files (.cbz, .cbr, .cbc) for viewing on portable devices'
-- file_types = set(['cbz', 'cbr', 'cbc'])
-+ description = 'Optimize comic files (.cbz, .cbc) for viewing on portable devices'
-+ file_types = set(['cbz', 'cbc'])
- is_image_collection = True
- core_usage = -1
-
-diff --git a/src/calibre/ebooks/conversion/plumber.py b/src/calibre/ebooks/conversion/plumber.py
-index 8131e99..060a75f 100644
---- a/src/calibre/ebooks/conversion/plumber.py
-+++ b/src/calibre/ebooks/conversion/plumber.py
-@@ -43,7 +43,7 @@ various stages of conversion. The stages are:
-
- def supported_input_formats():
- fmts = available_input_formats()
-- for x in ('zip', 'rar', 'oebzip'):
-+ for x in ('zip', 'oebzip'):
- fmts.add(x)
- return fmts
-
-@@ -64,7 +64,7 @@ class CompositeProgressReporter(object):
- self.global_reporter(global_frac, msg)
-
-
--ARCHIVE_FMTS = ('zip', 'rar', 'oebzip')
-+ARCHIVE_FMTS = ('zip', 'oebzip')
-
-
- class Plumber(object):
-diff --git a/src/calibre/ebooks/metadata/archive.py b/src/calibre/ebooks/metadata/archive.py
-index bf85e58..5a1d03b 100644
---- a/src/calibre/ebooks/metadata/archive.py
-+++ b/src/calibre/ebooks/metadata/archive.py
-@@ -29,8 +29,6 @@ def archive_type(stream):
- ans = None
- if id_ == stringFileHeader:
- ans = 'zip'
-- elif id_.startswith('Rar'):
-- ans = 'rar'
- try:
- stream.seek(pos)
- except:
-@@ -42,24 +40,16 @@ class ArchiveExtract(FileTypePlugin):
- name = 'Archive Extract'
- author = 'Kovid Goyal'
- description = _('Extract common e-book formats from archive files '
-- '(ZIP/RAR). Also try to autodetect if they are actually '
-- 'CBZ/CBR files.')
-- file_types = set(['zip', 'rar'])
-+ '(ZIP). Also try to autodetect if they are actually '
-+ 'CBZ files.')
-+ file_types = set(['zip'])
- supported_platforms = ['windows', 'osx', 'linux']
- on_import = True
-
- def run(self, archive):
- from calibre.utils.zipfile import ZipFile
-- is_rar = archive.lower().endswith('.rar')
-- if is_rar:
-- from calibre.utils.unrar import extract_member, names
-- else:
-- zf = ZipFile(archive, 'r')
--
-- if is_rar:
-- fnames = list(names(archive))
-- else:
-- fnames = zf.namelist()
-+ zf = ZipFile(archive, 'r')
-+ fnames = zf.namelist()
-
- def fname_ok(fname):
- bn = os.path.basename(fname).lower()
-@@ -75,7 +65,7 @@ class ArchiveExtract(FileTypePlugin):
-
- fnames = list(filter(fname_ok, fnames))
- if is_comic(fnames):
-- ext = '.cbr' if is_rar else '.cbz'
-+ ext = '.cbz'
- of = self.temporary_file('_archive_extract'+ext)
- with open(archive, 'rb') as f:
- of.write(f.read())
-@@ -92,11 +82,7 @@ class ArchiveExtract(FileTypePlugin):
-
- of = self.temporary_file('_archive_extract.'+ext)
- with closing(of):
-- if is_rar:
-- data = extract_member(archive, match=None, name=fname)[1]
-- of.write(data)
-- else:
-- of.write(zf.read(fname))
-+ of.write(zf.read(fname))
- return of.name
-
-
-@@ -159,9 +145,6 @@ def get_comic_metadata(stream, stream_type, series_index='volume'):
- from calibre.utils.zipfile import ZipFile
- zf = ZipFile(stream)
- comment = zf.comment
-- elif stream_type == 'cbr':
-- from calibre.utils.unrar import comment as get_comment
-- comment = get_comment(stream)
-
- if comment:
- import json
-diff --git a/src/calibre/ebooks/metadata/rar.py a/src/calibre/ebooks/metadata/rar.py
-deleted file mode 100644
-index 1e7d058..0000000
---- a/src/calibre/ebooks/metadata/rar.py
-+++ /dev/null
-@@ -1,38 +0,0 @@
--#!/usr/bin/env python2
--__license__ = 'GPL v3'
--__copyright__ = '2009, Kovid Goyal kovid@kovidgoyal.net'
--__docformat__ = 'restructuredtext en'
--
--'''
--Read metadata from RAR archives
--'''
--
--import os
--from io import BytesIO
--
--from calibre.utils.unrar import extract_member, names
--
--
--def get_metadata(stream):
-- from calibre.ebooks.metadata.archive import is_comic
-- from calibre.ebooks.metadata.meta import get_metadata
--
-- file_names = list(names(stream))
-- if is_comic(file_names):
-- return get_metadata(stream, 'cbr')
-- for f in file_names:
-- stream_type = os.path.splitext(f)[1].lower()
-- if stream_type:
-- stream_type = stream_type[1:]
-- if stream_type in {'lit', 'opf', 'prc', 'mobi', 'fb2', 'epub',
-- 'rb', 'imp', 'pdf', 'lrf', 'azw', 'azw1',
-- 'azw3'}:
-- name, data = extract_member(stream, match=None, name=f)
-- stream = BytesIO(data)
-- stream.name = os.path.basename(name)
-- mi = get_metadata(stream, stream_type)
-- mi.timestamp = None
-- return mi
-- raise ValueError('No ebook found in RAR archive')
--
--
-diff --git a/src/calibre/ebooks/oeb/iterator/book.py b/src/calibre/ebooks/oeb/iterator/book.py
-index 08208c9..ff37b80 100644
---- a/src/calibre/ebooks/oeb/iterator/book.py
-+++ b/src/calibre/ebooks/oeb/iterator/book.py
-@@ -152,7 +152,7 @@ class EbookIterator(BookmarksMixin):
- self.spine = []
- Spiny = partial(SpineItem, read_anchor_map=read_anchor_map, read_links=read_links,
- run_char_count=run_char_count, from_epub=self.book_format == 'EPUB')
-- is_comic = input_fmt.lower() in {'cbc', 'cbz', 'cbr', 'cb7'}
-+ is_comic = input_fmt.lower() in {'cbc', 'cbz', 'cb7'}
- for i in ordered:
- spath = i.path
- mt = None
-diff --git a/src/calibre/ebooks/pdf/from_comic.py b/src/calibre/ebooks/pdf/from_comic.py
-index c39b660..26f3627 100644
---- a/src/calibre/ebooks/pdf/from_comic.py
-+++ b/src/calibre/ebooks/pdf/from_comic.py
-@@ -3,7 +3,7 @@ __license__ = 'GPL v3'
- __copyright__ = '2008, Kovid Goyal kovid@kovidgoyal.net'
- __docformat__ = 'restructuredtext en'
-
--'Convert a comic in CBR/CBZ format to pdf'
-+'Convert a comic in CBZ format to pdf'
-
- import sys
- from functools import partial
-diff --git a/src/calibre/gui2/__init__.py b/src/calibre/gui2/__init__.py
-index 55ba50a..a5609e6 100644
---- a/src/calibre/gui2/__init__.py
-+++ b/src/calibre/gui2/__init__.py
-@@ -177,8 +177,6 @@ def _config(): # {{{
- help=_('Confirm before deleting'))
- c.add_opt('main_window_geometry', default=None,
- help=_('Main window geometry'))
-- c.add_opt('new_version_notification', default=True,
-- help=_('Notify when a new version is available'))
- c.add_opt('use_roman_numerals_for_series_number', default=True,
- help=_('Use Roman numerals for series number'))
- c.add_opt('sort_tags_by', default='name',
-diff --git a/src/calibre/gui2/actions/add.py b/src/calibre/gui2/actions/add.py
-index d602f31..4020fcc 100644
---- a/src/calibre/gui2/actions/add.py
-+++ b/src/calibre/gui2/actions/add.py
-@@ -36,8 +36,8 @@ def get_filters():
- (_('HTML books'), ['htm', 'html', 'xhtm', 'xhtml']),
- (_('LIT books'), ['lit']),
- (_('Text books'), ['txt', 'text', 'rtf', 'md', 'markdown', 'textile', 'txtz']),
-- (_('Comics'), ['cbz', 'cbr', 'cbc']),
-- (_('Archives'), ['zip', 'rar']),
-+ (_('Comics'), ['cbz', 'cbc']),
-+ (_('Archives'), ['zip']),
- (_('Wordprocessor files'), ['odt', 'doc', 'docx']),
- ]
-
-@@ -64,7 +64,7 @@ class AddAction(InterfaceAction):
- 'sub-directories (Multiple books per directory, assumes every '
- 'e-book file is a different book)')).triggered.connect(
- self.add_recursive_multiple)
-- arm = self.add_archive_menu = self.add_menu.addMenu(_('Add multiple books from archive (ZIP/RAR)'))
-+ arm = self.add_archive_menu = self.add_menu.addMenu(_('Add multiple books from archive (ZIP)'))
- self.create_menu_action(arm, 'recursive-single-archive', _(
- 'One book per directory in the archive')).triggered.connect(partial(self.add_archive, True))
- self.create_menu_action(arm, 'recursive-multiple-archive', _(
-@@ -199,7 +199,7 @@ class AddAction(InterfaceAction):
- def add_archive(self, single):
- paths = choose_files(
- self.gui, 'recursive-archive-add', _('Choose archive file'),
-- filters=[(_('Archives'), ('zip', 'rar'))], all_files=False, select_only_single_file=False)
-+ filters=[(_('Archives'), ('zip'))], all_files=False, select_only_single_file=False)
- if paths:
- self.do_add_recursive(paths, single, list_of_archives=True)
-
-diff --git a/src/calibre/gui2/actions/preferences.py b/src/calibre/gui2/actions/preferences.py
-index 4d561c0..b9a9b1f 100644
---- a/src/calibre/gui2/actions/preferences.py
-+++ b/src/calibre/gui2/actions/preferences.py
-@@ -29,8 +29,6 @@ class PreferencesAction(InterfaceAction):
- pm.addAction(QIcon(I('config.png')), _('Preferences'), self.do_config)
- cm('welcome wizard', _('Run welcome &wizard'),
- icon='wizard.png', triggered=self.gui.run_wizard)
-- cm('plugin updater', _('Get plugins to enhance calibre'),
-- icon='plugins/plugin_updater.png', triggered=self.get_plugins)
- if not DEBUG:
- pm.addSeparator()
- cm('restart', _('Restart in debug mode'), icon='debug.png',
-diff --git a/src/calibre/gui2/add.py b/src/calibre/gui2/add.py
-index 2aee3ce..a125939 100644
---- a/src/calibre/gui2/add.py
-+++ b/src/calibre/gui2/add.py
-@@ -162,9 +162,6 @@ class Adder(QObject):
- prints('Corrupt ZIP file, trying to use local headers')
- from calibre.utils.localunzip import extractall
- extractall(source, tdir)
-- elif source.lower().endswith('.rar'):
-- from calibre.utils.unrar import extract
-- extract(source, tdir)
- return tdir
-
- try:
-diff --git a/src/calibre/gui2/dialogs/comicconf.py b/src/calibre/gui2/dialogs/comicconf.py
-index 0793132..ccdb863 100644
---- a/src/calibre/gui2/dialogs/comicconf.py
-+++ b/src/calibre/gui2/dialogs/comicconf.py
-@@ -33,7 +33,7 @@ def get_conversion_options(window, defaults, title, author):
- class ComicConf(QDialog, Ui_Dialog):
-
- def __init__(self, window, config_defaults=None, generic=True,
-- title=_('Set defaults for conversion of comics (CBR/CBZ files)')):
-+ title=_('Set defaults for conversion of comics (CBZ files)')):
- QDialog.__init__(self, window)
- Ui_Dialog.__init__(self)
- self.setupUi(self)
-diff --git a/src/calibre/gui2/library/alternate_views.py b/src/calibre/gui2/library/alternate_views.py
-index 55b7589..f21f909 100644
---- a/src/calibre/gui2/library/alternate_views.py
-+++ b/src/calibre/gui2/library/alternate_views.py
-@@ -19,7 +19,7 @@ from PyQt5.Qt import (
- QMimeData, QUrl, QDrag, QPoint, QPainter, QRect, pyqtProperty, QEvent,
- QPropertyAnimation, QEasingCurve, pyqtSlot, QHelpEvent, QAbstractItemView,
- QStyleOptionViewItem, QToolTip, QByteArray, QBuffer, QBrush, qRed, qGreen,
-- qBlue, QItemSelectionModel, QIcon, QFont)
-+ qBlue, QItemSelectionModel, QIcon, QFont, QKeyEvent)
-
- from calibre import fit_image, prints, prepare_string_for_xml, human_readable
- from calibre.constants import DEBUG, config_dir, islinux
-@@ -42,29 +42,27 @@ class EncodeError(ValueError):
- pass
-
-
--def handle_enter_press(self, ev, special_action=None, has_edit_cell=True):
-+def handle_enter_press(self, ev, special_action=None):
- if ev.key() in (Qt.Key_Enter, Qt.Key_Return):
-- mods = ev.modifiers()
-- if mods & Qt.CTRL or mods & Qt.ALT or mods & Qt.SHIFT or mods & Qt.META:
-- return
- if self.state() != self.EditingState and self.hasFocus() and self.currentIndex().isValid():
- from calibre.gui2.ui import get_gui
- ev.ignore()
- tweak = tweaks['enter_key_behavior']
-+ if tweak != 'down_arrow' and special_action is not None:
-+ # Don't animate (or whatever) if emulating the down arrow
-+ # Could be that this should check == 'do nothing', but the
-+ # animation is nice when opening the viewer.
-+ special_action(self.currentIndex())
- gui = get_gui()
-- if tweak == 'edit_cell':
-- if has_edit_cell:
-- self.edit(self.currentIndex(), self.EditKeyPressed, ev)
-- else:
-- gui.iactions['Edit Metadata'].edit_metadata(False)
-+ if tweak == 'viewer':
-+ gui.iactions['View'].view_triggered(self.currentIndex())
-+ elif tweak == 'down_arrow':
-+ nev = QKeyEvent(QEvent.KeyPress, Qt.Key_Down, ev.modifiers(), ev.text())
-+ self.keyPressEvent(nev)
- elif tweak == 'edit_metadata':
- gui.iactions['Edit Metadata'].edit_metadata(False)
-- elif tweak == 'do_nothing':
-+ elif tweak == 'do_nothing': # for completeness
- pass
-- else:
-- if special_action is not None:
-- special_action(self.currentIndex())
-- gui.iactions['View'].view_triggered(self.currentIndex())
- return True
-
-
-@@ -1029,7 +1027,7 @@ class GridView(QListView):
- return self._ncols
-
- def keyPressEvent(self, ev):
-- if handle_enter_press(self, ev, self.start_view_animation, False):
-+ if handle_enter_press(self, ev, self.start_view_animation):
- return
- k = ev.key()
- if ev.modifiers() & Qt.ShiftModifier and k in (Qt.Key_Left, Qt.Key_Right, Qt.Key_Up, Qt.Key_Down):
-diff --git a/src/calibre/gui2/preferences/behavior.py b/src/calibre/gui2/preferences/behavior.py
-index 6db4cb1..cc9b897 100644
---- a/src/calibre/gui2/preferences/behavior.py
-+++ b/src/calibre/gui2/preferences/behavior.py
-@@ -40,7 +40,6 @@ class ConfigWidget(ConfigWidgetBase, Ui_Form):
-
- r('network_timeout', prefs)
-
-- r('new_version_notification', config)
- r('upload_news_to_device', config)
- r('delete_news_from_library_on_upload', config)
-
-@@ -140,7 +139,7 @@ class ConfigWidget(ConfigWidgetBase, Ui_Form):
- input_map = prefs['input_format_order']
- all_formats = set()
- self.opt_input_order.clear()
-- for fmt in all_input_formats().union(set(['ZIP', 'RAR'])):
-+ for fmt in all_input_formats().union(set(['ZIP'])):
- all_formats.add(fmt.upper())
- for format in input_map + list(all_formats.difference(input_map)):
- item = QListWidgetItem(format, self.opt_input_order)
-diff --git a/src/calibre/gui2/preferences/behavior.ui b/src/calibre/gui2/preferences/behavior.ui
-index 8100d05..f6b529f 100644
---- a/src/calibre/gui2/preferences/behavior.ui
-+++ b/src/calibre/gui2/preferences/behavior.ui
-@@ -16,13 +16,6 @@
- <layout class="QHBoxLayout" name="horizontalLayout">
- <item>
- <layout class="QFormLayout" name="formLayout">
-- <item row="0" column="0" colspan="2">
-- <widget class="QCheckBox" name="opt_new_version_notification">
-- <property name="text">
-- <string>Show notification when &amp;new version is available</string>
-- </property>
-- </widget>
-- </item>
- <item row="3" column="0" colspan="2">
- <widget class="QCheckBox" name="opt_upload_news_to_device">
- <property name="text">
-diff --git a/src/calibre/gui2/preferences/look_feel.ui b/src/calibre/gui2/preferences/look_feel.ui
-index baa4a30..5636ef3 100644
---- a/src/calibre/gui2/preferences/look_feel.ui
-+++ b/src/calibre/gui2/preferences/look_feel.ui
-@@ -1200,7 +1200,7 @@ column being examined (the left-hand pane)</string>
- </property>
- </widget>
- </item>
-- </layout>
-+ </layout>
- </item>
- <item row="3" column="0" rowspan="2">
- <widget class="QGroupBox" name="groupBox">
-diff --git a/src/calibre/gui2/update.py b/src/calibre/gui2/update.py
-index 9ea0993..9f59a9d 100644
---- a/src/calibre/gui2/update.py
-+++ b/src/calibre/gui2/update.py
-@@ -1,20 +1,18 @@
- __license__ = 'GPL v3'
- __copyright__ = '2008, Kovid Goyal <kovid at kovidgoyal.net>'
-
--import re, binascii, cPickle, ssl, json
-+import binascii, cPickle
- from future_builtins import map
- from threading import Thread, Event
-
- from PyQt5.Qt import (QObject, pyqtSignal, Qt, QUrl, QDialog, QGridLayout,
-- QLabel, QCheckBox, QDialogButtonBox, QIcon)
-+ QLabel, QCheckBox, QIcon)
-
--from calibre.constants import (__appname__, __version__, iswindows, isosx,
-+from calibre.constants import (__appname__, iswindows, isosx,
- isportable, is64bit, numeric_version)
- from calibre import prints, as_unicode
--from calibre.utils.config import prefs
- from calibre.utils.localization import localize_website_link
--from calibre.utils.https import get_https_resource_securely
--from calibre.gui2 import config, dynamic, open_url
-+from calibre.gui2 import dynamic, open_url
- from calibre.gui2.dialogs.plugin_updater import get_plugin_updates_available
-
- URL = 'https://code.calibre-ebook.com/latest'
-@@ -31,35 +29,7 @@ def get_download_url():
-
-
- def get_newest_version():
-- try:
-- icon_theme_name = json.loads(I('icon-theme.json', data=True))['name']
-- except Exception:
-- icon_theme_name = ''
-- headers={
-- 'CALIBRE-VERSION':__version__,
-- 'CALIBRE-OS': ('win' if iswindows else 'osx' if isosx else 'oth'),
-- 'CALIBRE-INSTALL-UUID': prefs['installation_uuid'],
-- 'CALIBRE-ICON-THEME': icon_theme_name,
-- }
-- try:
-- version = get_https_resource_securely(URL, headers=headers)
-- except ssl.SSLError as err:
-- if getattr(err, 'reason', None) != 'CERTIFICATE_VERIFY_FAILED':
-- raise
-- # certificate verification failed, since the version check contains no
-- # critical information, ignore and proceed
-- # We have to do this as if the calibre CA certificate ever
-- # needs to be revoked, then we wont be able to do version checks
-- version = get_https_resource_securely(URL, headers=headers, cacerts=None)
-- try:
-- version = version.decode('utf-8').strip()
-- except UnicodeDecodeError:
-- version = u''
-- ans = NO_CALIBRE_UPDATE
-- m = re.match(ur'(\d+)\.(\d+).(\d+)$', version)
-- if m is not None:
-- ans = tuple(map(int, (m.group(1), m.group(2), m.group(3))))
-- return ans
-+ return NO_CALIBRE_UPDATE
-
-
- class Signal(QObject):
-@@ -82,12 +52,6 @@ class CheckForUpdates(Thread):
- calibre_update_version = NO_CALIBRE_UPDATE
- plugins_update_found = 0
- try:
-- version = get_newest_version()
-- if version[:2] > numeric_version[:2]:
-- calibre_update_version = version
-- except Exception as e:
-- prints('Failed to check for calibre update:', as_unicode(e))
-- try:
- update_plugins = get_plugin_updates_available(raise_error=True)
- if update_plugins is not None:
- plugins_update_found = len(update_plugins)
-@@ -126,11 +90,6 @@ class UpdateNotification(QDialog):
- self.setWindowIcon(QIcon(I('lt.png')))
- self.l.addWidget(self.logo, 0, 0)
- self.l.addWidget(self.label, 0, 1)
-- self.cb = QCheckBox(
-- _('Show this notification for future updates'), self)
-- self.l.addWidget(self.cb, 1, 0, 1, -1)
-- self.cb.setChecked(config.get('new_version_notification'))
-- self.cb.stateChanged.connect(self.show_future)
- self.bb = QDialogButtonBox(self)
- b = self.bb.addButton(_('&Get update'), self.bb.AcceptRole)
- b.setDefault(True)
-@@ -152,9 +111,6 @@ class UpdateNotification(QDialog):
- initial_filter=FILTER_UPDATE_AVAILABLE)
- d.exec_()
-
-- def show_future(self, *args):
-- config.set('new_version_notification', bool(self.cb.isChecked()))
--
- def accept(self):
- open_url(QUrl(get_download_url()))
-
-@@ -202,8 +158,7 @@ class UpdateMixin(object):
- self.status_bar.update_label.setVisible(True)
-
- if has_calibre_update:
-- if (force or (config.get('new_version_notification') and
-- dynamic.get('update to version %s'%calibre_version, True))):
-+ if force:
- if not no_show_popup:
- self._update_notification__ = UpdateNotification(calibre_version,
- number_of_plugin_updates, parent=self)
-diff --git a/src/calibre/linux.py b/src/calibre/linux.py
-index 17b55cb..f9b06ea 100644
---- a/src/calibre/linux.py
-+++ b/src/calibre/linux.py
-@@ -317,7 +317,7 @@ class ZshCompleter(object): # {{{
- ):
- for fmt in fmts:
- is_input = group_title == input_group
-- if is_input and fmt in {'rar', 'zip', 'oebzip'}:
-+ if is_input and fmt in {'zip', 'oebzip'}:
- continue
- p = (get_parser(input_fmt=fmt) if is_input
- else get_parser(output_fmt=fmt))
-diff --git a/src/calibre/test_build.py b/src/calibre/test_build.py
-index 897e6b5..2af959d 100644
---- a/src/calibre/test_build.py
-+++ b/src/calibre/test_build.py
-@@ -205,10 +205,6 @@ class BuildTest(unittest.TestCase):
- from calibre.gui2.win_file_dialogs import test
- test()
-
-- def test_unrar(self):
-- from calibre.utils.unrar import test_basic
-- test_basic()
--
- @unittest.skipUnless(iswindows, 'WPD is windows only')
- def test_wpd(self):
- wpd = plugins['wpd'][0]
-diff --git a/src/calibre/utils/search_query_parser.py b/src/calibre/utils/search_query_parser.py
-index 9fac662..f9d1535 100644
---- a/src/calibre/utils/search_query_parser.py
-+++ b/src/calibre/utils/search_query_parser.py
-@@ -456,16 +456,16 @@ class Tester(SearchQueryParser):
- u'Tor Books',
- u'lrf'],
- 8: [u'Stalky and Co.', u'Rudyard Kipling', u'manybooks.net', u'lrf'],
-- 9: [u'A Game of Thrones', u'George R. R. Martin', None, u'lrf,rar'],
-- 10: [u'A Clash of Kings', u'George R. R. Martin', None, u'lrf,rar'],
-- 11: [u'A Storm of Swords', u'George R. R. Martin', None, u'lrf,rar'],
-+ 9: [u'A Game of Thrones', u'George R. R. Martin', None, u'lrf'],
-+ 10: [u'A Clash of Kings', u'George R. R. Martin', None, u'lrf'],
-+ 11: [u'A Storm of Swords', u'George R. R. Martin', None, u'lrf'],
- 12: [u'Biggles - Pioneer Air Fighter', u'W. E. Johns', None, u'lrf,rtf'],
- 13: [u'Biggles of the Camel Squadron',
- u'W. E. Johns',
- u'London:Thames, (1977)',
- u'lrf,rtf'],
-- 14: [u'A Feast for Crows', u'George R. R. Martin', None, u'lrf,rar'],
-- 15: [u'Cryptonomicon', u'Neal Stephenson', None, u'lrf,rar'],
-+ 14: [u'A Feast for Crows', u'George R. R. Martin', None, u'lrf'],
-+ 15: [u'Cryptonomicon', u'Neal Stephenson', None, u'lrf'],
- 16: [u'Quicksilver', u'Neal Stephenson', None, u'lrf,zip'],
- 17: [u'The Comedies of William Shakespeare',
- u'William Shakespeare',
-@@ -480,15 +480,15 @@ class Tester(SearchQueryParser):
- None,
- u'lrf'],
- 20: [u'An Ideal Husband', u'Oscar Wilde', u'manybooks.net', u'lrf'],
-- 21: [u'Flight of the Nighthawks', u'Raymond E. Feist', None, u'lrf,rar'],
-- 22: [u'Into a Dark Realm', u'Raymond E. Feist', None, u'lrf,rar'],
-- 23: [u'The Sundering', u'Walter Jon Williams', None, u'lrf,rar'],
-- 24: [u'The Praxis', u'Walter Jon Williams', None, u'lrf,rar'],
-- 25: [u'Conventions of War', u'Walter Jon Williams', None, u'lrf,rar'],
-- 26: [u'Banewreaker', u'Jacqueline Carey', None, u'lrf,rar'],
-- 27: [u'Godslayer', u'Jacqueline Carey', None, u'lrf,rar'],
-- 28: [u"Kushiel's Scion", u'Jacqueline Carey', None, u'lrf,rar'],
-- 29: [u'Underworld', u'Don DeLillo', None, u'lrf,rar'],
-+ 21: [u'Flight of the Nighthawks', u'Raymond E. Feist', None, u'lrf'],
-+ 22: [u'Into a Dark Realm', u'Raymond E. Feist', None, u'lrf'],
-+ 23: [u'The Sundering', u'Walter Jon Williams', None, u'lrf'],
-+ 24: [u'The Praxis', u'Walter Jon Williams', None, u'lrf'],
-+ 25: [u'Conventions of War', u'Walter Jon Williams', None, u'lrf'],
-+ 26: [u'Banewreaker', u'Jacqueline Carey', None, u'lrf'],
-+ 27: [u'Godslayer', u'Jacqueline Carey', None, u'lrf'],
-+ 28: [u"Kushiel's Scion", u'Jacqueline Carey', None, u'lrf'],
-+ 29: [u'Underworld', u'Don DeLillo', None, u'lrf'],
- 30: [u'Genghis Khan and The Making of the Modern World',
- u'Jack Weatherford Orc',
- u'Three Rivers Press',
-@@ -499,9 +499,9 @@ class Tester(SearchQueryParser):
- u'lrf,zip'],
- 32: [u'The Killer Angels', u'Michael Shaara', None, u'html,lrf'],
- 33: [u'Band Of Brothers', u'Stephen E Ambrose', None, u'lrf,txt'],
-- 34: [u'The Gates of Rome', u'Conn Iggulden', None, u'lrf,rar'],
-+ 34: [u'The Gates of Rome', u'Conn Iggulden', None, u'lrf'],
- 35: [u'The Death of Kings', u'Conn Iggulden', u'Bantam Dell', u'lit,lrf'],
-- 36: [u'The Field of Swords', u'Conn Iggulden', None, u'lrf,rar'],
-+ 36: [u'The Field of Swords', u'Conn Iggulden', None, u'lrf'],
- 37: [u'Masterman Ready', u'Marryat, Captain Frederick', None, u'lrf'],
- 38: [u'With the Lightnings',
- u'David Drake',
-@@ -514,16 +514,16 @@ class Tester(SearchQueryParser):
- 40: [u'The Far Side of The Stars',
- u'David Drake',
- u'Baen Publishing Enterprises',
-- u'lrf,rar'],
-+ u'lrf'],
- 41: [u'The Way to Glory',
- u'David Drake',
- u'Baen Publishing Enterprises',
-- u'lrf,rar'],
-- 42: [u'Some Golden Harbor', u'David Drake', u'Baen Books', u'lrf,rar'],
-+ u'lrf'],
-+ 42: [u'Some Golden Harbor', u'David Drake', u'Baen Books', u'lrf'],
- 43: [u'Harry Potter And The Half-Blood Prince',
- u'J. K. Rowling',
- None,
-- u'lrf,rar'],
-+ u'lrf'],
- 44: [u'Harry Potter and the Order of the Phoenix',
- u'J. K. Rowling',
- None,
-@@ -532,12 +532,12 @@ class Tester(SearchQueryParser):
- 46: [u'The Stars at War II',
- u'Steve White',
- u'Baen Publishing Enterprises',
-- u'lrf,rar'],
-- 47: [u'Exodus', u'Steve White,Shirley Meier', u'Baen Books', u'lrf,rar'],
-+ u'lrf'],
-+ 47: [u'Exodus', u'Steve White,Shirley Meier', u'Baen Books', u'lrf'],
- 48: [u'Harry Potter and the Goblet of Fire',
- u'J. K. Rowling',
- None,
-- u'lrf,rar'],
-+ u'lrf'],
- 49: [u'Harry Potter and the Prisoner of Azkaban',
- u'J. K. Rowling',
- None,
-@@ -550,20 +550,20 @@ class Tester(SearchQueryParser):
- u'J.K. Rowling',
- None,
- u'lit,lrf,pdf'],
-- 52: [u"His Majesty's Dragon", u'Naomi Novik', None, u'lrf,rar'],
-+ 52: [u"His Majesty's Dragon", u'Naomi Novik', None, u'lrf'],
- 53: [u'Throne of Jade', u'Naomi Novik', u'Del Rey', u'lit,lrf'],
-- 54: [u'Black Powder War', u'Naomi Novik', u'Del Rey', u'lrf,rar'],
-+ 54: [u'Black Powder War', u'Naomi Novik', u'Del Rey', u'lrf'],
- 55: [u'War and Peace', u'Leo Tolstoy', u'gutenberg.org', u'lrf,txt'],
- 56: [u'Anna Karenina', u'Leo Tolstoy', u'gutenberg.org', u'lrf,txt'],
- 57: [u'A Shorter History of Rome',
- u'Eugene Lawrence,Sir William Smith',
- u'gutenberg.org',
- u'lrf,zip'],
-- 58: [u'The Name of the Rose', u'Umberto Eco', None, u'lrf,rar'],
-+ 58: [u'The Name of the Rose', u'Umberto Eco', None, u'lrf'],
- 71: [u"Wind Rider's Oath", u'David Weber', u'Baen', u'lrf'],
- 74: [u'Rally Cry', u'William R Forstchen', None, u'htm,lrf'],
-- 86: [u'Empire of Ivory', u'Naomi Novik', None, u'lrf,rar'],
-- 87: [u"Renegade's Magic", u'Robin Hobb', None, u'lrf,rar'],
-+ 86: [u'Empire of Ivory', u'Naomi Novik', None, u'lrf'],
-+ 87: [u"Renegade's Magic", u'Robin Hobb', None, u'lrf'],
- 89: [u'Master and commander',
- u"Patrick O'Brian",
- u'Fontana,\n1971',
-@@ -571,7 +571,7 @@ class Tester(SearchQueryParser):
- 91: [u'A Companion to Wolves',
- u'Sarah Monette,Elizabeth Beär',
- None,
-- u'lrf,rar'],
-+ u'lrf'],
- 92: [u'The Lions of al-Rassan', u'Guy Gavriel Kay', u'Eos', u'lit,lrf'],
- 93: [u'Gardens of the Moon', u'Steven Erikson', u'Tor Fantasy', u'lit,lrf'],
- 95: [u'The Master and Margarita',
-@@ -595,7 +595,7 @@ class Tester(SearchQueryParser):
- 144: [u'Atonement',
- u'Ian McEwan',
- u'New York : Nan A. Talese/Doubleday, 2002.',
-- u'lrf,rar'],
-+ u'lrf'],
- 146: [u'1632', u'Eric Flint', u'Baen Books', u'lit,lrf'],
- 147: [u'1633', u'David Weber,Eric Flint,Dru Blair', u'Baen', u'lit,lrf'],
- 148: [u'1634: The Baltic War',
-@@ -648,7 +648,7 @@ class Tester(SearchQueryParser):
- 253: [u"Hunter's Run",
- u'George R. R. Martin,Gardner Dozois,Daniel Abraham',
- u'Eos',
-- u'lrf,rar'],
-+ u'lrf'],
- 257: [u'Knife of Dreams', u'Robert Jordan', None, u'lit,lrf'],
- 258: [u'Saturday',
- u'Ian McEwan',
-@@ -668,7 +668,7 @@ class Tester(SearchQueryParser):
- u'New York : Random House, 2005.',
- u'lit,lrf'],
- 269: [u'Reap the Whirlwind', u'David Mack', u'Star Trek', u'lit,lrf'],
-- 272: [u'Mistborn', u'Brandon Sanderson', u'Tor Fantasy', u'lrf,rar'],
-+ 272: [u'Mistborn', u'Brandon Sanderson', u'Tor Fantasy', u'lrf'],
- 273: [u'The Thousandfold Thought',
- u'R. Scott Bakker',
- u'Overlook TP',
-@@ -676,17 +676,17 @@ class Tester(SearchQueryParser):
- 276: [u'Elantris',
- u'Brandon Sanderson',
- u'New York : Tor, 2005.',
-- u'lrf,rar'],
-+ u'lrf'],
- 291: [u'Sundiver',
- u'David Brin',
- u'New York : Bantam Books, 1995.',
- u'lit,lrf'],
-- 299: [u'Imperium', u'Robert Harris', u'Arrow', u'lrf,rar'],
-+ 299: [u'Imperium', u'Robert Harris', u'Arrow', u'lrf'],
- 300: [u'Startide Rising', u'David Brin', u'Bantam', u'htm,lrf'],
- 301: [u'The Uplift War', u'David Brin', u'Spectra', u'lit,lrf'],
-- 304: [u'Brightness Reef', u'David Brin', u'Orbit', u'lrf,rar'],
-+ 304: [u'Brightness Reef', u'David Brin', u'Orbit', u'lrf'],
- 305: [u"Infinity's Shore", u'David Brin', u'Spectra', u'txt'],
-- 306: [u"Heaven's Reach", u'David Brin', u'Spectra', u'lrf,rar'],
-+ 306: [u"Heaven's Reach", u'David Brin', u'Spectra', u'lrf'],
- 325: [u"Foundation's Triumph", u'David Brin', u'Easton Press', u'lit,lrf'],
- 327: [u'I am Charlotte Simmons', u'Tom Wolfe', u'Vintage', u'htm,lrf'],
- 335: [u'The Currents of Space', u'Isaac Asimov', None, u'lit,lrf'],
-@@ -716,15 +716,15 @@ class Tester(SearchQueryParser):
- u'Aspect',
- u'lit,lrf'],
- 356: [u'The Naked God', u'Peter F. Hamilton', u'Aspect', u'lit,lrf'],
-- 421: [u'A Shadow in Summer', u'Daniel Abraham', u'Tor Fantasy', u'lrf,rar'],
-+ 421: [u'A Shadow in Summer', u'Daniel Abraham', u'Tor Fantasy', u'lrf'],
- 427: [u'Lonesome Dove', u'Larry M\\cMurtry', None, u'lit,lrf'],
- 440: [u'Ghost', u'John Ringo', u'Baen', u'lit,lrf'],
- 441: [u'Kildar', u'John Ringo', u'Baen', u'lit,lrf'],
-- 443: [u'Hidden Empire ', u'Kevin J. Anderson', u'Aspect', u'lrf,rar'],
-+ 443: [u'Hidden Empire ', u'Kevin J. Anderson', u'Aspect', u'lrf'],
- 444: [u'The Gun Seller',
- u'Hugh Laurie',
- u'Washington Square Press',
-- u'lrf,rar']
-+ u'lrf']
- }
-
- tests = {
-diff --git a/src/calibre/utils/unrar.py a/src/calibre/utils/unrar.py
-deleted file mode 100644
-index 2fd0af3..0000000
---- a/src/calibre/utils/unrar.py
-+++ /dev/null
-@@ -1,158 +0,0 @@
--#!/usr/bin/env python2
--# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:fdm=marker:ai
--from __future__ import (unicode_literals, division, absolute_import, print_function)
--
--__license__ = 'GPL v3'
--__copyright__ = '2012, Kovid Goyal <kovid at kovidgoyal.net>'
--__docformat__ = 'restructuredtext en'
--
--import os
--import shutil
--import re
--from io import BytesIO
--
--from calibre.constants import filesystem_encoding, iswindows
--from calibre.ptempfile import PersistentTemporaryFile, TemporaryDirectory
--
--
--def as_unicode(x):
-- if isinstance(x, bytes):
-- x = x.decode(filesystem_encoding)
-- return x
--
--
--class StreamAsPath(object):
--
-- def __init__(self, stream):
-- self.stream = stream
--
-- def __enter__(self):
-- self.temppath = None
-- if isinstance(self.stream, basestring):
-- return as_unicode(self.stream)
-- name = getattr(self.stream, 'name', None)
-- if name and os.access(name, os.R_OK):
-- return as_unicode(name)
-- pos = self.stream.tell()
-- with PersistentTemporaryFile('for-unar', 'wb') as f:
-- shutil.copyfileobj(self.stream, f)
-- self.stream.seek(pos)
-- self.temppath = f.name
-- return as_unicode(f.name)
--
-- def __exit__(self, *a):
-- if self.temppath is not None:
-- try:
-- os.remove(self.temppath)
-- except EnvironmentError:
-- pass
-- self.temppath = None
--
--
--def extract(path_or_stream, location):
-- from unrardll import extract
-- with StreamAsPath(path_or_stream) as path:
-- return extract(path, location)
--
--
--def names(path_or_stream):
-- from unrardll import names
-- with StreamAsPath(path_or_stream) as path:
-- for name in names(path, only_useful=True):
-- yield name
--
--
--def comment(path_or_stream):
-- from unrardll import comment
-- with StreamAsPath(path_or_stream) as path:
-- return comment(path)
--
--
--def extract_member(
-- path_or_stream, match=re.compile(r'\.(jpg|jpeg|gif|png)\s*$', re.I), name=None):
-- from unrardll import extract_member
-- if iswindows and name is not None:
-- name = name.replace(os.sep, '/')
--
-- def is_match(header):
-- fname = header['filename']
-- if iswindows:
-- fname = fname.replace(os.sep, '/')
-- return (name is not None and fname == name) or \
-- (match is not None and match.search(fname) is not None)
--
-- with StreamAsPath(path_or_stream) as path:
-- name, data = extract_member(path, is_match)
-- if name is not None:
-- return name, data
--
--
--def extract_first_alphabetically(stream):
-- from calibre.libunzip import sort_key
-- names_ = sorted([
-- x for x in names(stream)
-- if os.path.splitext(x)[1][1:].lower() in {
-- 'png', 'jpg', 'jpeg', 'gif', 'webp'}],
-- key=sort_key)
-- return extract_member(stream, name=names_[0], match=None)
--
--
--def extract_cover_image(stream):
-- from calibre.libunzip import sort_key, name_ok
-- for name in sorted(names(stream), key=sort_key):
-- if name_ok(name):
-- return extract_member(stream, name=name, match=None)
--
--
--# Test normal RAR file {{{
--
--
--def test_basic():
--
-- stream = BytesIO( # {{{
-- b"Rar!\x1a\x07\x00\xcf\x90s\x00\x00\r\x00\x00\x00\x00\x00\x00\x00\x14\xe7z\x00\x80#\x00\x17\x00\x00\x00\r\x00\x00\x00\x03\xc2\xb3\x96o\x00\x00\x00\x00\x1d3\x03\x00\x00\x00\x00\x00CMT\x0c\x00\x8b\xec\x8e\xef\x14\xf6\xe6h\x04\x17\xff\xcd\x0f\xffk9b\x11]^\x80\xd3dt \x90+\x00\x14\x00\x00\x00\x08\x00\x00\x00\x03\xf1\x84\x93\\\xb9]yA\x1d3\t\x00\xa4\x81\x00\x001\\sub-one\x00\xc0\x0c\x00\x8f\xec\x89\xfe.JM\x86\x82\x0c_\xfd\xfd\xd7\x11\x1a\xef@\x9eHt \x80'\x00\x0e\x00\x00\x00\x04\x00\x00\x00\x03\x9f\xa8\x17\xf8\xaf]yA\x1d3\x07\x00\xa4\x81\x00\x00one.txt\x00\x08\xbf\x08\xae\xf3\xca\x87\xfeo\xfe\xd2n\x80-Ht \x82:\x00\x18\x00\x00\x00\x10\x00\x00\x00\x03\xa86\x81\xdf\xf9fyA\x1d3\x1a\x00\xa4\x81\x00\x00\xe8\xaf\xb6\xe6\xaf\x94\xe5\xb1\x81.txt\x00\x8bh\xf6\xd4kA\\.\x00txt\x0c\x00\x8b\xec\x8e\xef\x14\xf6\xe2l\x91\x189\xff\xdf\xfe\xc2\xd3:g\x9a\x19F=cYt \x928\x00\x11\x00\x00\x00\x08\x00\x00\x00\x03\x7f\xd6\xb6\x7f\xeafyA\x1d3\x16\x00\xa4\x81\x00\x00F\xc3\xbc\xc3\x9fe.txt\x00\x01\x00F\xfc\xdfe\x00.txt\x00\xc0<D\xfe\xc8\xef\xbc\xd1\x04I?\xfd\xff\xdbF)]\xe8\xb9\xe1t \x90/\x00\x13\x00\x00\x00\x08\x00\x00\x00\x03\x1a$\x932\xc2]yA\x1d3\r\x00\xa4\x81\x00\x002\\sub-two.txt\x00\xc0\x10\x00S\xec\xcb\x7f\x8b\xa5(\x0b\x01\xcb\xef\xdf\xf6t\x89\x97z\x0eft \x90)\x00\r\x00\x00\x00\r\x00\x00\x00\x03c\x89K\xd3\xc8fyA\x140\x07\x00\xff\xa1\x00\x00symlink\x00\xc02/sub-two.txt\xeb\x86t\xe0\x90#\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\xb9]yA\x140\x01\x00\xedA\x00\x001\x00\xc0\xe0Dt\xe0\x90#\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\xc2]yA\x140\x01\x00\xedA\x00\x002\x00\xc0u\xa1t \x80,\x00\r\x00\x00\x00\r\x00\x00\x00\x03T\xea\x04\xca\xe6\x84yA\x140\x0c\x00\xa4\x81\x00\x00uncompresseduncompressed\n\xda\x10t \x900\x00\x0e\x00\x00\x00\x04\x00\x00\x00\x035K.\xa6\x18\x85yA\x1d5\x0e\x00\xa4\x81\x00\x00max-compressed\x00\xc0\x00\x08\xbf\x08\xae\xf2\xcc\x01s\xf8\xff\xec\x96\xe8\xc4={\x00@\x07\x00") # noqa }}}
--
-- tdata = {
-- u'1': b'',
-- u'1/sub-one': b'sub-one\n',
-- u'2': b'',
-- u'2/sub-two.txt': b'sub-two\n',
-- u'F\xfc\xdfe.txt': b'unicode\n',
-- u'max-compressed': b'max\n',
-- u'one.txt': b'one\n',
-- u'symlink': b'2/sub-two.txt',
-- u'uncompressed': b'uncompressed\n',
-- u'\u8bf6\u6bd4\u5c41.txt': b'chinese unicode\n'}
--
-- def do_test(stream):
-- c = comment(stream)
-- if c != b'some comment\n':
-- raise ValueError('Comment not read: %r != %r' % (c, b'some comment\n'))
-- if set(names(stream)) != {
-- '1/sub-one', 'one.txt', '2/sub-two.txt', '诶比屁.txt', 'Füße.txt',
-- 'uncompressed', 'max-compressed'}:
-- raise ValueError('Name list does not match')
-- with TemporaryDirectory('test-unrar') as tdir:
-- extract(stream, tdir)
-- for name in tdata:
-- if name not in '1 2 symlink'.split():
-- with open(os.path.join(tdir, name), 'rb') as s:
-- if s.read() != tdata[name]:
-- raise ValueError('Did not extract %s properly' % name)
-- for name in tdata:
-- if name not in '1 2 symlink'.split():
-- d = extract_member(stream, name=name)
-- if d is None or d[1] != tdata[name]:
-- raise ValueError(
-- 'Failed to extract %s %r != %r' % (name, d, tdata[name]))
--
-- do_test(stream)
-- with PersistentTemporaryFile('test-unrar') as f:
-- shutil.copyfileobj(stream, f)
-- with open(f.name, 'rb') as stream:
-- do_test(stream)
-- os.remove(f.name)
--
--
--if __name__ == '__main__':
-- test_basic()
-diff --git a/src/calibre/web/feeds/feedparser.py b/src/calibre/web/feeds/feedparser.py
-index 16085cf..420efaa 100755
---- a/src/calibre/web/feeds/feedparser.py
-+++ b/src/calibre/web/feeds/feedparser.py
-@@ -2081,7 +2081,7 @@ class _MicroformatsParser:
- EMAIL = 5
-
- known_xfn_relationships = set(['contact', 'acquaintance', 'friend', 'met', 'co-worker', 'coworker', 'colleague', 'co-resident', 'coresident', 'neighbor', 'child', 'parent', 'sibling', 'brother', 'sister', 'spouse', 'wife', 'husband', 'kin', 'relative', 'muse', 'crush', 'date', 'sweetheart', 'me'])
-- known_binary_extensions = set(['zip','rar','exe','gz','tar','tgz','tbz2','bz2','z','7z','dmg','img','sit','sitx','hqx','deb','rpm','bz2','jar','rar','iso','bin','msi','mp2','mp3','ogg','ogm','mp4','m4v','m4a','avi','wma','wmv'])
-+ known_binary_extensions = set(['zip','exe','gz','tar','tgz','tbz2','bz2','z','7z','dmg','img','sit','sitx','hqx','deb','rpm','bz2','jar','iso','bin','msi','mp2','mp3','ogg','ogm','mp4','m4v','m4a','avi','wma','wmv'])
-
- def __init__(self, data, baseuri, encoding):
- self.document = BeautifulSoup.BeautifulSoup(data)