[Spice-devel] [PATCH spice] Translate docbook -> asciidoc
Marc-André Lureau
marcandre.lureau at gmail.com
Wed Mar 19 06:07:39 PDT 2014
It's much much easier to read and edit, and the end results looks better
as well, see http://elmarco.fedorapeople.org/manual.html
---
configure.ac | 14 +-
docs/manual/Makefile.am | 37 +-
docs/manual/SpiceUserManual-Basics.xml | 689 ------------------
docs/manual/SpiceUserManual-Guest.xml | 54 --
docs/manual/SpiceUserManual-Installation.xml | 199 ------
docs/manual/SpiceUserManual-Introduction.xml | 264 -------
docs/manual/SpiceUserManual-References.xml | 218 ------
docs/manual/SpiceUserManual.xml | 69 --
docs/manual/images/icons/important.png | Bin 0 -> 2980 bytes
docs/manual/images/icons/note.png | Bin 0 -> 2494 bytes
docs/manual/images/pepper.png | Bin 0 -> 10582 bytes
docs/manual/images/spicec01.png | Bin 0 -> 10244 bytes
docs/manual/manual.conf | 21 +
docs/manual/manual.txt | 997 +++++++++++++++++++++++++++
docs/manual/resources/pepper.png | Bin 10582 -> 0 bytes
docs/manual/resources/spicec01.png | Bin 10244 -> 0 bytes
16 files changed, 1037 insertions(+), 1525 deletions(-)
delete mode 100644 docs/manual/SpiceUserManual-Basics.xml
delete mode 100644 docs/manual/SpiceUserManual-Guest.xml
delete mode 100644 docs/manual/SpiceUserManual-Installation.xml
delete mode 100644 docs/manual/SpiceUserManual-Introduction.xml
delete mode 100644 docs/manual/SpiceUserManual-References.xml
delete mode 100644 docs/manual/SpiceUserManual.xml
create mode 100644 docs/manual/images/icons/important.png
create mode 100644 docs/manual/images/icons/note.png
create mode 100644 docs/manual/images/pepper.png
create mode 100644 docs/manual/images/spicec01.png
create mode 100644 docs/manual/manual.conf
create mode 100644 docs/manual/manual.txt
delete mode 100644 docs/manual/resources/pepper.png
delete mode 100644 docs/manual/resources/spicec01.png
diff --git a/configure.ac b/configure.ac
index aaa7ffc..53d05a2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -422,14 +422,12 @@ AC_ARG_ENABLE([manual],
[],
[enable_manual="auto"])
if test "x$enable_manual" != "xno"; then
- AC_PATH_PROG([XMLTO], [xmlto])
- AS_IF([test -z "$XMLTO" && test "x$enable_manual" = "xyes"],
- [AC_MSG_ERROR([xmlto is missing and build of manual was requested])]
- [have_xmlto = no]
- )
+ AC_PATH_PROG([ASCIIDOC], [asciidoc])
+ AS_IF([test -z "$ASCIIDOC" && test "x$enable_manual" = "xyes"],
+ [AC_MSG_ERROR([asciidoc is missing and build of manual was requested])])
fi
-AS_IF([test -n "$XMLTO"], [have_xmlto=yes], [have_xmlto=no])
-AM_CONDITIONAL([BUILD_MANUAL], [test -n "$XMLTO"])
+AS_IF([test -n "$ASCIIDOC"], [have_asciidoc=yes], [have_asciidoc=no])
+AM_CONDITIONAL([BUILD_MANUAL], [test -n "$ASCIIDOC"])
dnl ===========================================================================
@@ -545,7 +543,7 @@ echo "
Automated tests: ${enable_automated_tests}
- Manual: ${have_xmlto}
+ Manual: ${have_asciidoc}
"
if test $os_win32 == "yes" ; then
diff --git a/docs/manual/Makefile.am b/docs/manual/Makefile.am
index e8856a6..da64aac 100644
--- a/docs/manual/Makefile.am
+++ b/docs/manual/Makefile.am
@@ -1,30 +1,19 @@
-all: html
-.PHONY: html
+NULL =
+SUFFIXES = .html
+ASCIIDOC_FLAGS = -a gui -a toc
-# apparently, xmlto does not support validation of docbook5 docs
-# that's why it's disabled with --skip-validation
-XMLTO_FLAGS = --skip-validation
-
-XMLDOC = \
- SpiceUserManual-Basics.xml \
- SpiceUserManual-Guest.xml \
- SpiceUserManual-Installation.xml \
- SpiceUserManual-Introduction.xml \
- SpiceUserManual-References.xml \
- SpiceUserManual.xml \
+EXTRA_DIST = \
+ docbook-xsl.css \
+ images/icons/*.png \
+ images/spicec01.png \
+ manual.html \
+ manual.txt \
$(NULL)
-html-stamp: $(XMLDOC)
- $(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) -o html xhtml $(srcdir)/SpiceUserManual.xml
- touch $@
-
-html: html-stamp
+.txt.html:
+ $(AM_V_GEN) $(ASCIIDOC) $(ASCIIDOC_FLAGS) $<
-# Control what goes in the distribution tarball.
-# We include all of the XML, and also generated HTML pages
-# so people working from the distribution tarball won't need xmlto.
-EXTRA_DIST = $(XMLDOC) html html-stamp
+all-local: manual.html
clean-local:
- rm -fr html
- rm -f *-stamp
+ rm manual.html
diff --git a/docs/manual/SpiceUserManual-Basics.xml b/docs/manual/SpiceUserManual-Basics.xml
deleted file mode 100644
index dfc8e56..0000000
--- a/docs/manual/SpiceUserManual-Basics.xml
+++ /dev/null
@@ -1,689 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?oxygen RNGSchema="http://www.oasis-open.org/docbook/xml/5.0/rng/docbookxi.rng" type="xml"?>
-
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="basics">
- <title>Spice basics</title>
- <section xml:id="definitions">
- <title>Basic Definitions</title>
- <section xml:id="host">
- <title>Host</title>
- <para>Host is a machine running an instance of qemu-kvm.</para>
- </section>
-
- <section xml:id="guest">
- <title>Guest</title>
- <para>
- Guest is a virtual machine hosted on the <link linkend="host">host</link>
- which will be accessed with a spice client.
- </para>
- </section>
-
- <section xml:id="client">
- <title>Client</title>
- <para>
- Client is referring to a system running the spice client
- (the recommended one is virt-viewer).
- </para>
- </section>
- </section>
-
- <section xml:id="qemu_basics">
- <title>Launching qemu</title>
- <para>I'll use qemu-kvm as a name for the executable. If you're using a manually built qemu or
- a qemu without kvm then just replace qemu-kvm with your own binary. I'll use host# client#
- guest# shell prompt notations to distinguish where the command should be the command. See
- section <link xlink:href="definitions">Basic Definitions</link> to be sure that you know
- difference between the host, client and guest. You can ignore the difference between guest, client
- and host if they are all running on the same machine.</para>
-
- <para>
- <emphasis role="bold">The first important thing to do is to create a guest
- image.</emphasis> You can use any raw device such as a clean logical volume, or an iSCSI
- lun. You may also use a file as the disk image for the guest. I'll use a file created by qemu-img as a demonstration.
- </para>
-
- <para>
- The following command will allocate a 10GB file. See qemu-img man page for further information.
- </para>
-
- <screen>host# qemu-img create /path/to/xp.img 10G</screen>
-
- <para>
- Now that we created an image, we can now start with image population. I assume that you have
- a locally stored ISO of your favourite operating system so you can use it for installation.
- </para>
-
- <screen>host# sudo qemu-kvm -boot order=dc -vga qxl \
- -spice port=3001,disable-ticketing -soundhw ac97 \
- -device virtio-serial -chardev spicevmc,id=vdagent,debug=0,name=vdagent \
- -device virtserialport,chardev=vdagent,name=com.redhat.spice.0 \
- -cdrom /path/to/your.iso /path/to/your.img</screen>
-
- <para>
- Let's take a brief look at the qemu options that were used. The option -boot order=dc specifies that the guest system
- should try to boot from the first cdrom and then fallback to the first disk, -vga qxl specifies that qemu should
- emulate the qxl device adapter.
- </para>
- <para> The Spice port option defines what port will be used for communication with the client. The Spice
- option disable-ticketing is telling us that ticketing <emphasis role="italic">(simple
- authentication method)</emphasis> is not used. The virtio and chardev devices are
- required by <link xlink:href="SpiceUserManual-Introduction.xml#vdagent">the guest
- agent</link>.
- </para>
- </section>
-
- <section xml:id="qemu_spice">
- <title>Adding Spice support to an existing virtual machine</title>
- <para>
- This section will assume that you already have a running QEMU virtual machine,
- and that you are running it either through virt-manager, libvirt or through
- direct QEMU use, and that you want to enable Spice support for this virtual
- machine.
- </para>
-
- <section>
- <title>Using virt-manager</title>
- <para>
- Double-click on the virtual machine you are interested in, go to View/Details.
- If the left pane has a "Display Spice" entry, then the virtual machine already
- has Spice support, and you can check the connection details (port number)
- by clicking on it. If it has no Spice entry, click on "Add
- Hardware", and add a "Graphics" element of type "Spice server".
- If the host and the client are not the same machine, you should check
- the "Listen on all public network interfaces" checkbox, otherwise you
- don't need to make any changes.
- </para>
- <para>
- You should also add a QXL video device. It can be done by double-clicking
- on a virtual machine, then by going to View/Details, and by clicking
- on "Add Hardware" if the virtual machine does not have a "Video QXL" item
- in its left pane. From the "Add hardware" dialog, you should then create
- a "Video" device whose model is "QXL".
- </para>
- <para>
- After stopping and restarting the virtual machine, it should be
- accessible with a Spice client.
- </para>
- <para>
- You can remove non-Spice display entries and non-QXL video entries from
- the virtual machine configuration.
- </para>
- <para>
- If you go to Edit/Preferences/VM Details in the main virt-manager window,
- you can set Spice graphics type as the default setting for new virtual
- machines.
- </para>
- </section>
-
- <section>
- <title>Using libvirt</title>
- <para>
- All libvirt examples will assume that the virtual machine to modify
- is $vmname and that virsh is using the correct
- <link xlink:href="http://libvirt.org/uri.html">libvirt connection</link>
- by default.
- </para>
- <para>
- To add Spice support to an existing virtual machine managed by libvirt,
- you need to edit it:
- <screen>
-host# virsh edit $vmname
- </screen>
- and then add a <link xlink:href="http://libvirt.org/formatdomain.html#elementsGraphics">Spice graphics element</link>:
- <programlisting>
-<graphics type='spice'/>
- </programlisting>
- You should also add a <link xlink:href="http://libvirt.org/formatdomain.html#elementsVideo">QXL video device</link>
- <programlisting>
-<video>
- <model type='qxl'>
-</video>
- </programlisting>
- </para>
- <para>
- After stopping and restarting the virtual machine $vmname, it should be
- accessible through Spice. You can check the connection parameters with:
- <screen>
-host# virsh domdisplay $vmname
- </screen>
- </para>
- </section>
-
- <section>
- <title>Using QEMU</title>
- <para>
- To enable Spice support to your virtual machine, you only need to
- append the following to your QEMU command line:
- <screen>
--spice port=3001,disable-ticketing
- </screen>
- This will setup a Spice session listening on port 3001 exporting
- your virtual machine display.
- </para>
- <para>
- You can also add a QXL device by appending this to the command line:
- <screen>
--vga qxl
- </screen>
- </para>
-
- </section>
-
- <section xml:id="client_basics">
- <title>Connecting to guest</title>
-
- <para>
- The following section will show you basic usage of the Spice
- client. The example connection will be related to the qemu instance
- started in <link xlink:href="#qemu_basics">the previous section</link>.
- </para>
-
- <para>
- Be aware that the port used for spice communication
- <emphasis role="italic">(port 3001 in our case)</emphasis> should not be
- blocked by firewall. <emphasis role="bold">Host myhost is referring to the
- machine which is running our qemu instance.</emphasis>
- </para>
-
- <screen>client# remote-viewer spice://myhost:3001</screen>
- <figure>
- <title>Established connection to Windows 2008 guest</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="resources/spicec01.png"/>
- </imageobject>
- </mediaobject>
- </figure>
- </section>
- </section>
-
- <section xml:id="ticketing">
- <title>Ticketing</title>
- <para>
- Spice does not currently support multiple connections to the same qemu
- instance. So anybody who will connect to the same host and port can simply
- take over your session.
-
- <emphasis role="bold">You can eliminate this problem by using
- <link xlink:href="#ticketing">ticketing</link> or SSL.</emphasis>
- </para>
-
- <para>
- Ticketing is a simple authentication system which enables you to set simple
- tickets to a vm.
- Client has to authentificate before the connection can be established. See
- the spice option password in the following example.
- </para>
-
- <section>
- <title>Using virt-manager</title>
- <para>
- To set a Spice password for a virtual machine, go to this machine
- details in virt-manager, and then click on the "Display Spice" item in
- the left pane, and enter the ticket you want to use in the "Password"
- field.
- </para>
- </section>
-
- <section>
- <title>Using libvirt</title>
- <para>
- All you need to do is to append a passwd attribute to the Spice
- graphics node for your virtual machine:
- <programlisting>
-<graphics type='spice' passwd='mysecretpassword'/>
- </programlisting>
- </para>
- </section>
-
- <section>
- <title>Using QEMU</title>
- <para>
- Adding a ticket with QEMU involves a slight modification of the -spice
- parameter used when running QEMU:
- <screen>
--spice port=3001,password=mysecretpassword
- </screen>
- </para>
- </section>
-
- <section>
- <title>Client</title>
- <para>
- When you start the client as usual, if ticketing was enabled on the host,
- remote-viewer will pop up a window asking for a password before starting
- the Spice session. It won't be established if an incorrect ticket was
- passed to the client.
- </para>
-
- <para>
- You might have figured out that passing tickets as a commandline option isn't very safe.
- <emphasis role="bold">It's not safe as everybody with access to the host can read it from the output of ps(1).</emphasis>
- To prevent this, the ticket can be also set by using the qemu console command spice._set_ticket.
- </para>
- </section>
- </section>
-
- <section xml:id="agent">
- <title>Agent</title>
- <para>
- Agent support allows better integration with the guest. For example, it
- allows copy and paste between the guest and the host OSes, dynamic resolution
- changes when the client window is resized/fullscreened, file transfers through
- drag and drop, ...
- </para>
- <para>
- The agent is a daemon/service running in the guest OS so it must be installed
- if it was not installed by default during the guest OS installation. It also
- relies on a virtio-serial PCI device and a dedicated spicevmc char device
- to achieve communication between the guest and the host. These devices must
- be added to the virtual machine if we want to agent to work properly in the
- guest.
- </para>
-
- <section>
- <title>Using virt-manager</title>
- <para>
- The needed devices can be added from the virtual machine details. Click
- on "Add hardware" and then add a "Channel" device with type
- "Spice agent (spicevmc)". This will automatically add the needed
- virtio-serial device in addition to the spicevmc channel.
- </para>
- </section>
-
- <section>
- <title>Using libvirt</title>
- <para>
- Two distinct devices must be added:
- <itemizedlist>
- <listitem>a <link xlink:href="http://libvirt.org/formatdomain.html#elementsControllers">virtio serial device</link></listitem>
- <listitem>a <link xlink:href="http://libvirt.org/formatdomain.html#elementCharChannel">spicevmc channel</link></listitem>
- </itemizedlist>
- <programlisting>
-<devices>
- <controller type='virtio-serial' index='0'/>
- <channel type='spicevmc'>
- <target type='virtio' name='com.redhat.spice.0'/>
- </channel>
-</devices>
- </programlisting>
- </para>
- </section>
-
- <section>
- <title>Using QEMU</title>
- <para>
- Adding the following parameters to your QEMU command line will
- enable the needed devices for agent support in the guest OS:
- <screen>
--device virtio-serial \
--chardev spicevmc,id=vdagent,debug=0,name=vdagent \
--device virtserialport,chardev=vdagent,name=com.redhat.spice.0 \
- </screen>
- </para>
- </section>
- </section>
-
- <section xml:id="USB">
- <title>USB redirection</title>
- <para>
- With USB redirection, USB devices plugged into the client machine can be
- transparently redirected to the guest OS. This redirection can either be
- automatic (all newly plugged devices are redirected), or manual
- (the user selects which devices (s)he wants to redirect).
- </para>
- <para>
- For redirection to work, the virtual machine must have an USB2 EHCI controller
- (this implies 3 additional UHCI controllers). It also needs to have
- Spice channels for USB redirection. The number of such channels correspond
- to the number of USB devices that it will be possible to redirect at the same
- time.
- </para>
-
- <section>
- <title>Using virt-manager</title>
- <para>
- Virtual machines created with virt-manager should have a USB controller
- by default. In the virtual machine details, select "Controller USB" in
- the left pane, and make sure its model is set to USB2. You can then
- click on "Add Hardware" and add as many "USB Redirection" items as
- the number of USB devices you want to be able to redirect simultaneously.
- </para>
- </section>
-
- <section>
- <title>Using libvirt</title>
- <para>
- You need to add the needed USB controllers to the libvirt XML (make
- sure there is no pre-existing USB controller in your virtual machine
- XML before doing this), as well as one Spice USB redirection channel
- per device you want to redirect simultaneously.
- <programlisting>
- <controller type='usb' index='0' model='ich9-ehci1'/>
-<controller type='usb' index='0' model='ich9-uhci1'>
- <master startport='0'/>
-</controller>
-<controller type='usb' index='0' model='ich9-uhci2'>
- <master startport='2'/>
-</controller>
-<controller type='usb' index='0' model='ich9-uhci3'>
- <master startport='4'/>
-</controller>
-<redirdev bus='usb' type='spicevmc'/>
-<redirdev bus='usb' type='spicevmc'/>
-<redirdev bus='usb' type='spicevmc'/>
-<redirdev bus='usb' type='spicevmc'/>
- </programlisting>
- </para>
- </section>
-
- <section>
- <title>Using QEMU</title>
- <para>
- Similarly to libvirt, we need to add EHCI/UHCI controllers to QEMU
- command line, and we also need to add one Spice redirection channel per
- device we want to redirect simultaneously.
- <screen>
--device ich9-usb-ehci1,id=usb \
--device ich9-usb-uhci1,masterbus=usb.0,firstport=0,multifunction=on \
--device ich9-usb-uhci2,masterbus=usb.0,firstport=2 \
--device ich9-usb-uhci3,masterbus=usb.0,firstport=4 \
--chardev spicevmc,name=usbredir,id=usbredirchardev1 \
--device usb-redir,chardev=usbredirchardev1,id=usbredirdev1 \
--chardev spicevmc,name=usbredir,id=usbredirchardev2 \
--device usb-redir,chardev=usbredirchardev2,id=usbredirdev2 \
--chardev spicevmc,name=usbredir,id=usbredirchardev3 \
--device usb-redir,chardev=usbredirchardev3,id=usbredirdev3
- </screen>
- </para>
- </section>
-
- <section>
- <title>Client</title>
- <para>
- The client needs to have support for USB redirection. In remote-viewer,
- you can select which USB devices to redirect in File/USB device selection
- once the Spice connection is established. There are also various command
- line redirection options which are described when running remote-viewer
- with --help-spice.
- </para>
- </section>
- </section>
-
- <section xml:id="multi-monitors">
- <title>Multiple monitor support</title>
- <para>
- When using Spice, it's possible to use multiple monitors. For that, the guest
- must have multiple QXL devices (for Windows guests), or a single QXL device
- configured to support multiple heads (for Linux guests).
- </para>
- <para>
- Before following the instructions in this section, make sure your virtual machine
- already has a QXL device. If that is not the case, refer to
- <link xlink:href="qemu_spice">this section</link>. Your guest OS will
- also need to have the QXL driver installed or multiple monitor support will
- not work.
- </para>
- <para>
- Once your virtual machine is using a QXL device, you don't need to make
- any other change to get multiple heads in a Linux guest. The following
- paragraph will deal with adding multiple QXL devices to get multiple
- monitors in a Windows guest.
- </para>
-
- <section>
- <title>Using virt-manager</title>
- <para>
- To add an additional QXL device for Windows guests, simply go to your
- virtual machine details. Check that you already have a "Video QXL" device,
- if notclick on "Add Hardware", and add a "Video" device
- with model "QXL". This can also work with Linux guests if your are willing
- to configure X.Org to use Xinerama (instead of XRandR).
- </para>
- <para>
- If you are using a new enough distribution (for example Fedora 19), and if your
- virtual machine already has a QXL device, you should not need to make any changes
- in virt-manager. If you are using an older distribution, you can't do the required
- changes from virt-manager, you'll need to edit libvirt XML as described on this
- <link xlink:href="http://hansdegoede.livejournal.com/12969.html">blog post</link>.
- </para>
- </section>
-
- <section>
- <title>Using libvirt</title>
- <para>
- To add an additional QXL device to your virtual machine managed by
- libvirt, you simply need to append a new video node whose model is
- QXL:
- <programlisting>
-<video>
- <model type='qxl'>
-</video>
-<video>
- <model type='qxl'>
-</video>
- </programlisting>
- </para>
- </section>
-
- <section>
- <title>Using QEMU</title>
- <para>
- To get a second QXL device in your virtual machine, you need to append
- -device qxl to your QEMU command line in addition to the -vga qxl that
- is already there:
- <screen>
--vga qxl -device qxl
- </screen>
- </para>
- </section>
-
- <section>
- <title>Client</title>
- <para>
- You can enable additional displays either from the Display/Displays menu
- in remote-viewer, or from your guest OS display configuration tool.
- </para>
- </section>
- </section>
-
- <section xml:id="tls">
- <title>TLS</title>
- <para>
- TLS support allows to encrypt all/some of the channels Spice uses
- for its communication.
- A separate port is used for the encrypted channels.
- When connecting through a TLS channel, the Spice client will verify
- the certificate sent by the host. It will check that this
- certificate matches the hostname it's connecting, and that
- this certificate is signed by a known certificate authority
- (CA). This can be achieved by either getting the host
- certificate signed by an official CA, or by passing to the client
- the certificate of the authority which signed the host certificate.
- The latter allows the use of self-signed certificates.
- </para>
-
- <section>
- <title>Using virt-manager</title>
- <para>
- It's not possible to define the CA certificate/host certificate
- to use for the TLS connection using virt-manager, see the next
- section for how to enable this using libvirt.
- </para>
- </section>
-
- <section>
- <title>Using libvirt</title>
- <para>
- The certificate must be specified in libvirtd configuration
- file in /etc/libvirt/qemu.conf (or in
- ~/.config/libvirt/qemu.conf if you are using a session libvirt).
- See the documentation in this file reproduced below:
- <screen>
-# Enable use of TLS encryption on the SPICE server.
-#
-# It is necessary to setup CA and issue a server certificate
-# before enabling this.
-#
-spice_tls = 1
-
-
-# Use of TLS requires that x509 certificates be issued. The
-# default it to keep them in /etc/pki/libvirt-spice. This directory
-# must contain
-#
-# ca-cert.pem - the CA master certificate
-# server-cert.pem - the server certificate signed with ca-cert.pem
-# server-key.pem - the server private key
-#
-# This option allows the certificate directory to be changed.
-#
-spice_tls_x509_cert_dir = "/etc/pki/libvirt-spice"
- </screen>
- </para>
- <para>
- Once the above is done, when the domain is running, you
- should get something like what is below if you are leaving
- Spice port allocation up to libvirt:
- <screen>
-host# virsh domdisplay
-spice://127.0.0.1?tls-port=5901
- </screen>
- </para>
- <para>
- This means that the connection is possible both through TLS and
- without any encryption. You can edit the libvirt graphics node
- if you want to change that behaviour and only allow connections
- through TLS:
- <programlisting>
-<graphics type='spice' autoport='yes' defaultMode='secure'/>
- </programlisting>
- </para>
- </section>
-
- <section>
- <title>Using QEMU</title>
- <para>
- QEMU expects the certificates to be named the same way as what
- libvirt expects in the previous paragraph. The directory where
- these certificates can be found is specified as options to the
- -spice command line parameters:
- <screen>
--spice port=5900,tls-port=5901,disable-ticketing,x509-dir=/etc/pki/libvirt-spice
- </screen>
- </para>
- </section>
-
- <section>
- <title>Client</title>
- <para>
- We need to change 2 things when starting the client:
- <itemizedlist>
- <listitem>specify the tls port to use</listitem>
- <listitem>specify the CA certificate to use when verifying the host certificate</listitem>
- </itemizedlist>
- With remote-viewer, this is done this way:
- <screen>
-client# remote-viewer --spice-ca-file=/etc/pki/libvirt-spice/ca-cert.ca spice://myhost?tls-port=5901
- </screen>
- </para>
- </section>
-
- <section>
- <title>Generating self-signed certificates for use with Spice</title>
- <para>
- The following script can be used to create the various certificates
- needed to use a TLS Spice connection. Make sure to substitute the hostname
- of your Spice host in the subject of the certificate signing request.
- <screen>
-SERVER_KEY=server-key.pem
-
-# creating a key for our ca
-if [ ! -e ca-key.pem ]; then
- openssl genrsa -des3 -out ca-key.pem 1024
-fi
-# creating a ca
-if [ ! -e ca-cert.pem ]; then
- openssl req -new -x509 -days 1095 -key ca-key.pem -out ca-cert.pem -utf8 -subj "/C=IL/L=Raanana/O=Red Hat/CN=my CA"
-fi
-# create server key
-if [ ! -e $SERVER_KEY ]; then
- openssl genrsa -out $SERVER_KEY 1024
-fi
-# create a certificate signing request (csr)
-if [ ! -e server-key.csr ]; then
- openssl req -new -key $SERVER_KEY -out server-key.csr -utf8 -subj "/C=IL/L=Raanana/O=Red Hat/CN=myhostname.example.com"
-fi
-# signing our server certificate with this ca
-if [ ! -e server-cert.pem ]; then
- openssl x509 -req -days 1095 -in server-key.csr -CA ca-cert.pem -CAkey ca-key.pem -set_serial 01 -out server-cert.pem
-fi
-
-# now create a key that doesn't require a passphrase
-openssl rsa -in $SERVER_KEY -out $SERVER_KEY.insecure
-mv $SERVER_KEY $SERVER_KEY.secure
-mv $SERVER_KEY.insecure $SERVER_KEY
-
-# show the results (no other effect)
-openssl rsa -noout -text -in $SERVER_KEY
-openssl rsa -noout -text -in ca-key.pem
-openssl req -noout -text -in server-key.csr
-openssl x509 -noout -text -in server-cert.pem
-openssl x509 -noout -text -in ca-cert.pem
- </screen>
- </para>
- </section>
- </section>
-
- <section xml:id="sasl">
- <title>SASL</title>
- <para>
- Spice server and client have support for SASL authentication. When using QEMU, /etc/sasl2/qemu.conf will be
- used as a configuration file. For testing, you can use the digest-md5 mechanism, and populate a test database
- using 'saslpasswd2 -f /etc/qemu/passwd.db -c foo'. These files have to be readable by the qemu process that will
- handle your VM.
- </para>
-
- <para>
- To troubleshoot SASL issues, running strace -e open on the QEMU process can be a useful first step.
- </para>
-
-
- <section>
- <title>Using virt-manager</title>
- <para>
- It's currently not possible to enable SASL from virt-manager.
- </para>
- </section>
-
- <section>
- <title>Using libvirt</title>
- <para>
- SASL support for SPICE has been added to libvirt mid-October 2013 so you need a libvirt version
- that was released after this date. To enable SASL, you need to add spice_sasl = 1 in /etc/libvirt/qemu.conf
- for the system libvirtd instance, and to ~/.config/libvirt/qemu.conf for the session libvirtd instance.
- </para>
- </section>
-
- <section>
- <title>Using QEMU</title>
- <para>
- Using SASL with QEMU involves a slight modification of the -spice
- parameter used when running QEMU:
- <screen>
--spice port=3001,sasl
- </screen>
- </para>
- </section>
-
- <section>
- <title>Client</title>
- <para>
- When you start the client as usual, if SASL was enabled on the host,
- remote-viewer will pop up a window asking for a password before starting
- the Spice session. It won't be established if an incorrect ticket was
- passed to the client.
- </para>
- </section>
- </section>
-</chapter>
diff --git a/docs/manual/SpiceUserManual-Guest.xml b/docs/manual/SpiceUserManual-Guest.xml
deleted file mode 100644
index 6648f83..0000000
--- a/docs/manual/SpiceUserManual-Guest.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?oxygen RNGSchema="http://www.oasis-open.org/docbook/xml/5.0/rng/docbookxi.rng" type="xml"?>
-
-<chapter xmlns="http://docbook.org/ns/docbook"
- xmlns:xi="http://www.w3.org/2001/XInclude"
- xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
- <title>Spice Guest Additions</title>
-
- <section xml:id="generic-guest">
- <title>Introduction</title>
- <para>
- While you will be able to remotely access your virtual machine
- through Spice without making any change to the virtual machine
- configuration, you can get better integration if you tweak it
- specially for Spice.
- </para>
- <para>
- If your virtual machine has a QXL video device and you install
- the corrresponding guest driver, your guest will support higher
- resolutions, multiple monitors, resizing to arbitrary resolutions,
- ...
- </para>
- <para>
- Installing the Spice vdagent in your guest will let you copy and
- paste between your guest and client OSes, to drag and drop files
- between the 2 OSes, ... In order for the agent to work, your
- virtual machine must have a virtio serial device (and the
- corresponding guest drivers) as well as a Spice spicevmc channel.
- </para>
- </section>
-
- <section xml:id="windows-guest">
- <title>Windows Guest</title>
- <para>
- The recommended way of getting all the needed drivers installed is
- to use the all-in-one Spice guest tools installer which can be
- found <link xlink:href="http://spice-space.org/download/windows/spice-guest-tools/">
- on spice-space.org</link>.
- </para>
- <para>
- To get USB redirection working on Windows, you need to ...
- </para>
- <para>
- If you want to manually install them, the QXL driver can be downloaded from
- <link xlink:href="http://spice-space.org/download/windows/qxl/">this location
- </link>, agent builds can be found
- <link xlink:href="http://spice-space.org/download/windows/vdagent/">here
- </link>. You also need the vioserial driver which is distributed with the
- other <link xlink:href="https://alt.fedoraproject.org/pub/alt/virtio-win/latest/images/bin/">
- virtio-win drivers</link>.
- </para>
- </section>
-
-</chapter>
diff --git a/docs/manual/SpiceUserManual-Installation.xml b/docs/manual/SpiceUserManual-Installation.xml
deleted file mode 100644
index 4e883ac..0000000
--- a/docs/manual/SpiceUserManual-Installation.xml
+++ /dev/null
@@ -1,199 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?oxygen RNGSchema="http://www.oasis-open.org/docbook/xml/5.0/rng/docbookxi.rng" type="xml"?>
-
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
- <title>Installation</title>
-
- <section xml:id="rhel_fedora">
- <title>Installing Spice on RHEL or Fedora </title>
- <para>
- Be aware that RHEL has no builds of qemu/spice-server for i386, only x86_64 builds are available.
- </para>
- <section>
- <title>RHEL >=6 and Fedora >=13</title>
- <para>
- <screen>yum install qemu-kvm virt-viewer</screen>
- </para>
- <para>
- The package spice-protocol will be downloaded automatically as a dependency of package kvm.
- </para>
- </section>
- <section><title>RHEVM Users</title>
- <para>
- <emphasis role="bold">
- <link xlink:href="http://www.ovirt.org">oVirt</link>/RHEVM users
- could be also interested in the spice-xpi package as it allows you
- to execute spice-client directly from the oVirt/RHEVM UserPortal.
- </emphasis>
- <screen>yum install spice-xpi</screen>
- </para>
- </section>
- </section>
-
- <section xml:id="linux_generic">
- <title>Generic Build Instructions</title>
-
- <para>
- This section is for distributions that don't have *spice* packages in their repositories.
- It will show you step by step how to build the required spice components.
- </para>
-
- <section xml:id="req_client">
- <title>Client requirements</title>
-
- <orderedlist>
- <listitem><para><emphasis role="bold">autotools</emphasis></para></listitem>
- <listitem><para><emphasis role="bold">gtk+2 > 2.18 or gtk+3</emphasis></para></listitem>
- <listitem><para><emphasis role="bold">celt = 0.5.1.3</emphasis> The exact version is required due to the lack of backwards compatibility in newer celt releases.</para></listitem>
- <listitem><para><emphasis role="bold">cyrus-sasl</emphasis></para></listitem>
- <listitem><para><emphasis role="bold">pixman</emphasis></para></listitem>
- <listitem><para><emphasis role="bold">openssl</emphasis></para></listitem>
- <listitem><para><emphasis role="bold">pyparsing</emphasis></para></listitem>
- <listitem><para><emphasis role="bold">usbredir</emphasis></para></listitem>
- <listitem><para><emphasis role="bold">PolicyKit</emphasis></para></listitem>
- </orderedlist>
- </section>
-
- <section xml:id="req_host">
- <title>Host requirements</title>
- <orderedlist>
- <listitem><para><emphasis role="bold">KVM supported by kernel</emphasis> (It should work also without KVM, but
- it's not being tested as most Linux distrubitions already support
- KVM.)</para></listitem>
- </orderedlist>
-
- </section>
-
- <section>
- <title>Guest requirements</title>
- <section>
- <title>Linux Guest</title>
- <para>
- spice-vdagent requires virtio-serial support to be enabled. This is described in the <link xlink:href="SpiceUserManual-Basics.xml#basics">chapter Spice basics</link>.
- Guest should have installed qxl driver (xorg-x11-drv-qxl on Fedora and RHEL).
- </para>
- </section>
- <section>
- <title>Windows Guest</title>
- <para>
- Drivers for QXL and drivers for virtio-serial require Win XP SP3 and Win 7.
- </para>
- </section>
-
- <section xml:id="setting_be">
- <title>Setting up the build environment</title>
-
- <para>
- <emphasis role="bold">This is a list of prerequisites on RHEL or Fedora. Install
- equivalent packages for your distribution in case that you're not using RHEL
- or Fedora.</emphasis>
- </para>
- <para>
- <emphasis role="bold">All prerequisites for Windows are available in one big package which is available
- at <link xlink:href="http://spice-space.org/download.html">http://spice-space.org/download.html</link>.</emphasis>
- </para>
- <screen>yum install git pixman-devel celt051-devel cegui-devel libjpeg-devel alsa-lib-devel log4cpp-devel \
- openssl-devel libXrandr-devel libgcrypt-devel SDL-devel nss-devel dev86 iasl pyparsing</screen>
-
- <para>
- <emphasis role="bold">Package prerequisites for Ubuntu</emphasis>
- </para>
- <screen>apt-get install build-essential autoconf git-core libtool liblog4cpp5-dev libavcodec-dev \
- libssl-dev xlibmesa-glu-dev libasound-dev libpng12-dev libfreetype6-dev libfontconfig1-dev \
- libogg-dev libxrandr-dev kvm libgcrypt-dev libsdl-dev</screen>
-
- </section>
-
- <section xml:id="building_libcacard">
- <title>Building libcacard</title>
- <para>Fedora >=14 RHEL >=6.1 has libcacard already available. So you can install it directly trough yum.</para>
- <screen>yum install libcacard</screen>
- <para>Otherwise follow these instructions. <emphasis role="bold">The environment
- variable $BUILD_ROOT will point to a directory with stored sources and will
- be used during the whole build process. The variable $INST_ROOT will point to a
- directory in which Spice will be installed.</emphasis></para>
- <screen>export BUILD_ROOT=/tmp/spice; mkdir $BUILD_ROOT; cd $BUILD_ROOT;
-export INST_ROOT="/opt/spice"; mkdir $INST_ROOT
-git clone git://anongit.freedesktop.org/~alon/libcacard
-cd libcacard
-./configure --prefix=/usr --libdir=/usr/lib64 # Ignore --libdir at Ubuntu
-make
-make install</screen>
-
- </section>
-
- <section xml:id="getting_client">
- <title>Getting client sources</title>
-
- <screen>cd $BUILD_ROOT
-git clone git://cgit.freedesktop.org/spice/spice-protocol
-git clone git://cgit.freedesktop.org/spice/spice
-wget http://downloads.us.xiph.org/releases/celt/celt-0.5.1.3.tar.gz
-tar xvzf celt-0.5.1.3.tar.gz
- </screen>
- </section>
-
- <section xml:id="getting_server">
- <title>Getting client/server sources</title>
- <para>Skip this section if you don't want to build server side.</para>
- <screen>cd $BUILD_ROOT
-git clone git://cgit.freedesktop.org/spice/qemu
-cd qemu; git checkout -b spice.v13 origin/spice.v13; cd ..
-git clone git://cgit.freedesktop.org/spice/spice-protocol
-git clone git://cgit.freedesktop.org/spice/spice
-git clone git://cgit.freedesktop.org/spice/win32/vd_agent
-git clone git://cgit.freedesktop.org/spice/win32/qxl
-git clone git://cgit.freedesktop.org/spice/slirp
-wget http://downloads.us.xiph.org/releases/celt/celt-0.5.1.3.tar.gz
-tar xvzf celt-0.5.1.3.tar.gz</screen>
-
- </section>
-
- <section xml:id="building_common">
- <title>Building common sources.</title>
- <para>This part applies to both server and client build process.</para>
- <screen>cd $BUILD_ROOT/spice-protocol
-mkdir m4
-./autogen.sh --prefix=$INST_ROOT
-sudo make install
-cd $BUILD_ROOT/celt-0.5.1.3
-./configure --prefix=$INST_ROOT
-sudo make install
-</screen>
-
- </section>
- <section>
- <title>Building client side tools</title>
- <screen>cd $BUILD_ROOT/spice
-./autogen.sh --prefix=$INST_ROOT --enable-smartcard
-cd client
-sudo make install</screen>
- </section>
-
- <section>
- <title>Building server side tools</title>
- <para>These instructions contain flags for a minimal working build of qemu with Spice support enabled.
- You might want to build qemu with the --enable-io-thread option</para>
- <screen>cd $SRC_ROOT/qemu
-./configure --prefix=$INST_ROOT --target-list=x86_64-softmmu --enable-spice
-make</screen>
- </section>
-
- </section>
-
- <section>
- <title>Setting up PATH</title>
- <para>Last steps before starting with Spice are to set proper PATH variable.
- For example RHEL is using /usr/libexec as directory for spicec and qemu-kvm binaries.
- The following setup should be suitable for qemu and Spice built according to the instructions in
- this chapter.</para>
-
-
- <screen>echo "export PATH=$PATH:$INST_ROOT/bin:$BUILD_ROOT/x86_64-softmmu >> ~/.bashrc
-source ~/.bashrc</screen>
-
- <para>You should now be able to access the qemu-system-x86_64 and spicec binaries.</para>
- </section>
- </section>
-
-</chapter>
diff --git a/docs/manual/SpiceUserManual-Introduction.xml b/docs/manual/SpiceUserManual-Introduction.xml
deleted file mode 100644
index f5618bd..0000000
--- a/docs/manual/SpiceUserManual-Introduction.xml
+++ /dev/null
@@ -1,264 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?oxygen RNGSchema="http://www.oasis-open.org/docbook/xml/5.0/rng/docbookxi.rng" type="xml"?>
-
- <chapter xmlns="http://docbook.org/ns/docbook"
- xmlns:xi="http://www.w3.org/2001/XInclude"
- xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
- <title>Introduction</title>
- <para>
- Spice is an open remote computing solution, providing client access to remote displays and devices (e.g. keyboard, mouse, audio).
- At the moment, it's mainly used to get remote access to virtual machines. Spice provides a desktop-like user experience, while trying to
- offload most of the intensive CPU and GPU tasks to the client.
-
- The basic building blocks of Spice are:
- </para>
-
- <orderedlist>
- <listitem><para><link linkend="spice_server">Spice Server</link></para></listitem>
- <listitem><para><link linkend="spice_client">Spice Client</link></para></listitem>
- <listitem><para>Spice Protocol</para></listitem>
- </orderedlist>
-
- <para>
- The following sections provide basic information on Spice components and features, obtaining, building installing and using Spice.
- </para>
-
- <section>
- <title>Spice and Spice-related Components</title>
- <section xml:id="spice_server">
- <title>Spice Server</title>
- <para>
- Spice server is implemented in libspice, a VDI pluggable library.
- Currently, the main user of this library is QEMU. QEMU uses spice-server
- to provide remote access to virtual machines through the Spice protocol.
- Virtual Device Interface (VDI) defines a set of interfaces that provide
- a standard way to publish virtual devices (e.g. display device, keyboard,
- mouse) and enables different Spice components to interact with those
- devices. On one side, the server communicates with the remote client
- using the Spice protocol and on the other side, it interacts with the
- VDI host application (e.g QEMU).
- </para>
- </section>
-
- <section xml:id="spice_client">
- <title>Spice Client</title>
- <para>
- The Spice client is a cross-platform (Linux and Windows)
- which is used by the end user to access remote systems through Spice.
- The recommended client is <link xlink:href="https://fedorahosted.org/released/virt-viewer/">remote-viewer</link>
- (which is shipped with virt-viewer).
- <link xlink:href="https://wiki.gnome.org/Apps/Boxes">GNOME Boxes</link>
- can also be used as a Spice client. spicec is an obsolete
- legacy client, and spicy is only a test application.
- </para>
- </section>
-
- <section>
- <title>QXL Device and Drivers</title>
- <para>
- Spice server supports the QXL VDI interface. When libspice is used with
- QEMU, a specific video PCI device can be used for improving
- remote display performance and enhancing the graphic capabilities of the
- guest graphic system. This video device is called a QXL
- device and requires guest QXL drivers for full functionality. However,
- standard VGA is supported when no driver exists.
- </para>
- </section>
-
- <section xml:id="vdagent">
- <title>Spice Agent</title>
- <para>
- The Spice agent is an optional component for enhancing user
- experience and performing guest-oriented management tasks.
- For example, the agent injects mouse position and state to
- the guest when using client mouse mode. It also enables you to
- move cursor freely between guest and client. Other features
- of agent are shared clipboard (copy and paste between guest and host)
- and aligning guest resolution with client when entering fullscreen mode.
- </para>
- </section>
-
- <section>
- <title>VDI Port Device</title>
- <para>
- Spice protocol supports a communication channel between the
- client and the agent on the server side. When using QEMU, Spice agent
- resides on the guest. VDI port is a QEMU PCI device used
- for communication with the agent.
- </para>
- </section>
-
- </section>
-
- <section xml:id="features">
- <title>Features</title>
- <para>
- The server and client communicate via channels. Each channel is dedicated to
- a specific type of data. The available channels are following.
- </para>
- <section xml:id="multiple_channels">
- <title>Multiple Channels</title>
-
- <orderedlist numeration="arabic">
- <listitem>
- <para><emphasis role="bold">Main</emphasis> - control and configuration</para>
- </listitem>
- <listitem>
- <para><emphasis role="bold">Display</emphasis> - graphics commands images and video streams</para>
- </listitem>
- <listitem>
- <para><emphasis role="bold">Inputs</emphasis> - keyboard and mouse inputs</para>
- </listitem>
- <listitem>
- <para><emphasis role="bold">Cursor</emphasis> - pointer device position and cursor shape</para>
- </listitem>
- <listitem>
- <para><emphasis role="bold">Playback</emphasis> - audio received from the server to be played by the client</para>
- </listitem>
- <listitem>
- <para><emphasis role="bold">Record</emphasis> - audio captured on the client side</para>
- </listitem>
- <listitem>
- <para><emphasis role="bold">Smartcard</emphasis> - passthrough of smartcard data from the client machine to the guest OS</para>
- </listitem>
- <listitem>
- <para><emphasis role="bold">USB</emphasis> - redirection of USB devices plugged into the client to the guest OS</para>
- </listitem>
- </orderedlist>
- </section>
-
- <section xml:id="image_compression">
- <title>Image Compression</title>
-
- <para>
- Spice offers several image compression algorithms, which
- can be chosen on server initiation and dynamically at run-time. Quic is a
- Spice proprietary image compression technology based on the SFALIC
- algorithm. The Lempel-Ziv (LZ) algorithm is another option. Both Quic and
- LZ are local algorithms encoding each image separately. Global LZ (GLZ) is
- another proprietary Spice technology that uses LZ with history-based global
- dictionary. GLZ takes advantage of repeating patterns among images to
- shrink the traffic and save bandwidth, which is critical in a WAN
- environment. Spice also offers an automatic mode for compression selection
- per image, where the choice between LZ/GLZ and Quic is heuristically based
- on image properties. Conceptually, synthetic images are better compressed
- with LZ/GLZ and real images are better with Quic.
- </para>
- </section>
-
- <section xml:id="video_compression">
- <title>Video Compression</title>
-
- <para>
- Spice uses loss-less compression for images sent to the
- client. However, video streams are handled differently. Spice server
- heuristically identifies video areas and sends them as a video stream coded
- using M-JPEG. This handling saves a lot of traffic, improving Spice
- performance, especially in a WAN environment. However, in some
- circumstances the heuristic behavior might cause low quality images (e.g.
- identifying updated text area as a video stream). Video streaming can be
- chosen on server initiation and dynamically at run-time.
- </para>
- </section>
-
- <section xml:id="mouse_modes">
- <title>Mouse modes</title>
-
- <para>
- Spice supports two mouse modes: server and client. The mode
- can be changed dynamically and is negotiated between the client and the
- server.
- </para>
- <orderedlist>
- <listitem>
- <para>
- <emphasis role="bold">Server mouse</emphasis> - When a user
- clicks inside the Spice client window, the client mouse is
- captured and set invisible. In this mode, the server controls
- the mouse position on display. However, it might be problematic
- on WAN or on a loaded server, where mouse cursor might have some
- latency or non-responsiveness.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <emphasis role="bold">Client mouse</emphasis> - Not
- captured and is used as the effective pointing device. To enable
- client mouse, the VDI host application must register an absolute
- pointing device (e.g. USB tablet in QEMU). This mode is
- appropriate for WAN or or for a loaded server, since cursor has
- smooth motion and responsiveness. However, the cursor might
- lose synchronization (position and shape) for a while.
- </para>
- </listitem>
-
- </orderedlist>
- </section>
-
- <section xml:id="other_features">
- <title>Other Features</title>
- <orderedlist>
-
- <listitem>
- <para>
- <emphasis role="bold">Multiple Monitors</emphasis> - any number of monitors is supported
- </para>
- </listitem>
-
- <listitem>
- <para>
- <emphasis role="bold">Arbitrary Resolution</emphasis> - when
- using the QXL driver, the resolution of the guest OS will be
- automatically adjusted to the size of the client window.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <emphasis role="bold">USB Redirection</emphasis> - Spice
- can be used to redirect USB devices that are plugged in the
- client to the guest OS. This redirection can either be
- automatic (all newly plugged devices are redirected), or manual
- (the user selects which devices (s)he wants to redirect).
- </para>
- </listitem>
-
- <listitem>
- <para>
- <emphasis role="bold">Smartcard Redirection</emphasis> -
- data from smartcard that are inserted into the client machine
- can be passed through to the guest OS. The smartcard can be
- used by both the client OS and the guest OS.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <emphasis role="bold">Bidirectional Audio</emphasis> - Spice supports audio playback and recording. Playback is compressed using the CELT algorithm
- </para>
- </listitem>
-
- <listitem>
- <para>
- <emphasis role="bold">Lip-sync</emphasis> - between video and audio. Available only when video streaming is enabled.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <emphasis role="bold">Migration</emphasis> - switching channel connectivity for supporting server migration
- </para>
- </listitem>
-
- <listitem>
- <para>
- <emphasis role="bold">Pixmap and Palette caching</emphasis>
- </para>
- </listitem>
-
- </orderedlist>
- </section>
- </section>
-
-</chapter>
diff --git a/docs/manual/SpiceUserManual-References.xml b/docs/manual/SpiceUserManual-References.xml
deleted file mode 100644
index 6fcee02..0000000
--- a/docs/manual/SpiceUserManual-References.xml
+++ /dev/null
@@ -1,218 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?oxygen RNGSchema="http://www.oasis-open.org/docbook/xml/5.0/rng/docbookxi.rng" type="xml"?>
-
-<chapter xmlns="http://docbook.org/ns/docbook"
- xmlns:xi="http://www.w3.org/2001/XInclude"
- xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
- <title>QEMU Spice Reference</title>
-
- <section xml:id="commandline-spice">
- <title>QEMU Spice command line options</title>
- <para>
- They are covered in <link xlink:href="http://qemu.weilnetz.de/qemu-doc.html#index-g_t_002dspice-58">QEMU online documentation</link>.
- Basic syntax is -spice <spice_options>
- </para>
-
- <itemizedlist>
- <listitem>
- [port=<port>][,tls-port=<tls-port>][,addr=<addr>]
- Listen on interface addr <addr> (if given, otherwise any interface)
- using port <port> and/or tls-port <tls-port> (at least one of them must be given)
- </listitem>
-
- <listitem>
- ipv4=<on|off>
- IPv4 only (default:off)
- </listitem>
-
- <listitem>
- ipv6=<on|off>
- IPv6 only (default:off)
- </listitem>
-
-<!-- Image, video & audio options -->
- <listitem>
- image-compression=on|auto_glz|auto_lz|quic|glz|lz|off
- Set image compression (default=on=auto_glz)
- quic is based on the SFALIC algorithm
- lz is the Lempel-Ziv algorithm, glz uses lz with history based global dictionary
- The auto_[glz/lz] modes choose between the [glz/lz] and quic,
- based on the image properties
- </listitem>
-
- <listitem>
- streaming-video=<all|filter|off>
- Set video streams detection and (lossy) compression (default=filter)
- </listitem>
-
- <listitem>
- playback-compression=<on|off>
- Set playback compression, using the CELT algorithm (default=on)
- </listitem>
-
- <listitem>
- jpeg-wan-compression=<auto|never|always>
- (default = auto)
- </listitem>
-
- <listitem>
- zlib-glz-wan-compression=<auto|never|always>
- (default = auto)
- </listitem>
-
-<!-- Security options -->
- <listitem>
- disable-ticketing
- Enables client connection with no password.
- </listitem>
-
- <listitem>
- password=<password>
- Set ticket password, which must be used by a client for connection. The passwords never expires.
- </listitem>
-
- <listitem>
- sasl=<on|off>
- </listitem>
-
- <listitem>
- x509-dir=<dir_name>
- </listitem>
-
- <listitem>
- x509-key-file=<key_file>
- TLS private key file
- </listitem>
-
- <listitem>
- x509-key-password=<pem_password>
- Password to open the private key file which is in PEM format
- </listitem>
-
- <listitem>
- x509-cert-file=<cert_file>
- TLS certificate file
- </listitem>
-
- <listitem>
- tls-cacert-file=<ca_file>
- SSL certificates file of the trusted CA (certificate authority) and CRL (certificate revocation list)
- </listitem>
-
- <listitem>
- x509-dh-key-file=<dh_file>
- Symmetric Diffie-Hellman key file
- </listitem>
-
- <listitem>
- tls-ciphers=<ciphers>
- Cipher suite to use, see http://www.openssl.org/docs/apps/ciphers.html or ciphers(1)
- </listitem>
-
- <listitem>
- tls-channel=[all|channel_name]
- plaintext-channel=[all|channel_name]
- Force TLS/plain text connection on all/specific channels. This option
- can be specified multiple times in order to force multiple channels
- to use TLS or plain text.
- Channels are: main, display, inputs, cursor, playback and record
- By default, any channel allows both TLS and plain text connection, depending on the
- port and tls-port parameters.
- </listitem>
-
-<!-- Other options -->
-
- <listitem>
- agent-mouse=<on|off>
- Define whether spice agent is used for client mouse mode (default=on)
- </listitem>
-
- <listitem>
- disable-copy-paste=<on|off>
- (default=off)
- </listitem>
-
- <listitem>
- disable-agent-file-xfer=<on|off>
- (default=off)
- </listitem>
-
- <listitem>
- seamless-migration=<on|off>
- (default=off)
- </listitem>
- </itemizedlist>
- </section>
-
- <section xml:id="commandline-qxl">
- <title>QEMU QXL command line options</title>
- <itemizedlist>
- <listitem>
- ram_size
- </listitem>
- <listitem>
- vram_size
- </listitem>
- <listitem>
- revision
- </listitem>
- <listitem>
- debug
- </listitem>
- <listitem>
- guestdebug
- </listitem>
- <listitem>
- cmdlog
- </listitem>
- <listitem>
- ram_size_mb
- </listitem>
- <listitem>
- vram_size_mb
- </listitem>
- <listitem>
- vram64_size_mb
- </listitem>
- <listitem>
- vgamem_mb
- </listitem>
- <listitem>
- surfaces
- </listitem>
- </itemizedlist>
- </section>
-
- <section xml:id="console-control">
- <title>QEMU Console Spice control commands</title>
- <itemizedlist>
- <listitem>
- set_password spice <password> [keep|disconnect]
- Set the spice connection ticket (one time password). An
- empty password prevents any connection. keep/disconnect
- indicates what to do if a client is already connected
- when the command is issued.
- </listitem>
-
- <listitem>
- expire_password
- </listitem>
-
- <listitem>
- client_migrate_info
- </listitem>
-
- </itemizedlist>
- </section>
-
- <section xml:id="console-info">
- <title>QEMU Console Spice info commands</title>
- <itemizedlist>
- <listitem>
- info spice
- Show current spice state
- </listitem>
- </itemizedlist>
- </section>
-
-</chapter>
diff --git a/docs/manual/SpiceUserManual.xml b/docs/manual/SpiceUserManual.xml
deleted file mode 100644
index 875a0da..0000000
--- a/docs/manual/SpiceUserManual.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<book xmlns="http://docbook.org/ns/docbook"
- xmlns:xi="http://www.w3.org/2001/XInclude"
- xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
- xml:lang="en">
- <info>
- <title>Spice User Manual</title>
-
- <authorgroup>
- <author>
- <personname>Lubos Kocman</personname>
- <email>lkocman at redhat.com</email>
- </author>
- <author>
- <personname>Arnon Giloba</personname>
- <email>agiloba at redhat.com</email>
- </author>
- <author>
- <personname>Yaniv Kamay</personname>
- <email>ykamay at redhat.com</email>
- </author>
- <author>
- <personname>Christophe Fergeau</personname>
- <email>cfergeau at redhat.com</email>
- </author>
- </authorgroup>
-
- <copyright>
- <year>2009</year>
- <year>2010</year>
- <year>2011</year>
- <year>2013</year>
- <holder>Red Hat, Inc.</holder>
- </copyright>
-
- <legalnotice>
- <para>
- Licensed under a Creative Commons Attribution-Share Alike 3.0 United States License
- (see <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://creativecommons.org/licenses/by-sa/3.0/us/legalcode">http://creativecommons.org/licenses/by-sa/3.0/us/legalcode</link>).
- </para>
- </legalnotice>
- <releaseinfo>Draft 6</releaseinfo>
- <pubdate>Built on <?dbtimestamp format="Y-m-d H:M:S"?></pubdate>
-
- <cover>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="resources/pepper.png" format="png">
- <info>
- <othercredit>
- <personname>Lubos Kocman</personname>
- </othercredit>
- </info>
- </imagedata>
- </imageobject>
- </mediaobject>
- </cover>
-
- </info>
-
- <xi:include href="SpiceUserManual-Introduction.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
- <xi:include href="SpiceUserManual-Basics.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
- <xi:include href="SpiceUserManual-References.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
- <xi:include href="SpiceUserManual-Guest.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
- <xi:include href="SpiceUserManual-Installation.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
-
-</book>
diff --git a/docs/manual/images/icons/important.png b/docs/manual/images/icons/important.png
new file mode 100644
index 0000000000000000000000000000000000000000..be685cc4ecc7dc1e102fe1cd1e4ca799e03d5c9e
GIT binary patch
literal 2980
zcmV;V3tRMwP)<h;3K|Lk000e1NJLTq001xm001xu1^@s6R|5Hm000YXNkl<ZXo1z4
zYiu0V6~})wJ3IScKi9RranhJaW5;$L4oMmpq(mtcLJ%~B6xk7t)Rs!f0@^C5MQV#c
zsHz|sH8kV{h{uPvL<mAeQA^agX>1?~3KW7}x7eu at +roC%Uaxm|c6T2Ausf4o+iQDG
z)T&oH+Sz&B`~RPF?m73|D;S2s|8o=n*8sk3lde`rM!Er@>pC+nD+mIjC?W^~f*=T2
zYuqnQzyux|9OR=TN4W6bdz^pc4ePl-7$mr11FP at 6lcrs}kYyR0&1PIJGQv{lKsN9b
z2M*Bvo8K(>jb2f~nzlA>f8-JTem{~VVYAu36p1AfFbu=cG>sDn4)DiE9$EZ%Kpe0I
z0(|GW=U98oEjSzw>~{N-tx+%mUDu7!;2<yW*~6vNr*odAfFvLQGWq>82}FQhPe08!
z?z<1S+l}3BUy?NnBB1NKF at E6!&)swrQ$s^J&lDgAxXa54wzLqaugC3l5`O=EK7Z#O
z1X0A$b?f~E5Cs~xZ)fkTuj2Fha5x+VlUOu?eBg}?5UsS7hHrnH4SV-eT3U+N>&3(o
z86M`--~XPzqeqz at 9VHcy=a62#Z5yqxyn^5F$LVw;Nz$T8EQ&xr at JV0_Sg~UVH}Bt1
zWo0E!r!#LqvC&aZKJf%Yr%x04;tLF2w at B1&-Ae1rFH>AxTo8!`3CssRURp}a{{5``
z<~J!TD?=0)mlr#K{&NO8I|&aBp{G(Pq$l@{?d{yMf4 at ayG43=k0mCp1RaJTEo_qN0
z%{OzvC(FwCR!0YGHgBF+>-pM+6DK(S)1MN~C`HN0?Z5gJU*EfzqM{<4PN$jt@{-7_
zGBZ at Z@uMH*fL8&vyqsGO9AMSDb+}wEGXxeSE4OW9&ECDZN=g85X2AUA*S}`)v(Jb|
zqoh))Ss8s%1PsG4bY16Pr%v(S!Gl-s1JgjmzJ07(zn+qkk|lvRWm9`QO?&nrWi03c
zqM;DS+S{3!m>?F5p{gpzJS_4NKvh+K*VdMEKLRv-|NCs&vxl;>vb?|!A3n_e_utRH
zefv0g at L=BeL{VhJ4}ZwA=4M2 at 9b1OPrQTjTpM92aIE<nwXquLn#4G})_D>u*kTYrH
zKyh6i8(Lc_FE7sv>X~PrVRUp9Ns<^G9HgV8gU23wY!+~HE##}LWa}?~iNC4}1Ob_}
zJDomsh>JZvM59rX$s~qh%t>M{0*nm|@TZ^s%(|zM4s~09 at e2Zh08XbfFM;0PUdG4A
z>Fn&Jx3`ygJkH_6hi3uLmdd6k*0#0bE-eMX4d}qz4?oPr#02qp99324GC(c?bK?HB
zqhprq)ZcwK)z at 7&ul5B&proXP{{DU at Cns|Unge*Yv^@MUf$OhFl+p_j2Qb#xN8ibl
zL?RIqiNu_)ltVz*b;bq;_~5s{weBSVS0KRFpZtW1ii&wbjE#*U2m*?t%+l1z$jH3k
z0&IWc35u3213|z^I%u4H>M15CCyB at 7CV{yvU~2#5v(M(dpa4yK_TYBA=XD)H5U8rE
zA|8(ui^XOU2nK at -My0AXYp85!z*AO+K-!f;pMOr at -~MJ<AyX__EGz=Lt}}k&LXP%T
zz)@b#+Sb;2qfWLKWm%pD9$0i}-SXgr$R1C+FTe)8*U>>Z9Jb~{wiQHE`?{`k?zPu)
z22B9<yLVfQtoa5ueY~!&4zJgn)6Wez+^}c@!RBUy&CS>x4gg$0sK1|ob#*a4Jxwy1
z%&~$=fK)2Q`-cwYXx|nHuzrECIWw}9m6cIjTWeXQPy&J=u%*2nZ+STY_KX!ieC3s#
zykJ?t)P8?=H`Bwz)`K{(a_d%nJ|D6yF9_U}#>Ph6Za0;cl~!MO-E~(%1gh7qWBKOI
zmKEH<7iZ5B4u`EJhG_*6K+`n-{`%|IfEwxQYRw!OHy`k90?}v`M`rL~Fv!M at 8w(;J
z2m+0}cjK$5u&f{gpBz1EB{n@%9Es+#q37sPi$Drk*4RkJ%9Z$hzFB_0&_v#`V+Ssm
z3t5(V;DHAU1}_K#t8Tju$?3Evv;<tt<b<r{1){F&T>kgJnI0L*nY=5uZL=osLRz0G
zt*xyzH8rtw=T6$&+m}Q at 5Cp!uWec9nT#$kBbLWUeBE;iyYo#jby3Rm%caHn$K>e+^
z7F49nY%jd<!jirNEK6RyeLEMryAebYd&XtXA3H|X4}L&0nM~IUnx-+BwY#7Ko<M-2
z>T0X5{cp)kOE>M>g{ml4%^(Al!^74*&@?UWLfNZM6$mso=J<Xg(%09=qmMqy9e3P8
zTU#4FJv{{j&z9 at 9Z@1P*5)kU^BNmHU1SCz<tQl>#Kz%($MMah=3u(_k|2)IP!}Rp@
zFf}#B=;$cNj~}1cRpx8nK)`Zi5zurUMNzI0n7I+F0wuwqRVo(Ry1Tm>A0KBV6BN3-
zy5{U>v3&=doB8Mue*n at 6Eqdt^iA2H*rBbF)$oXjK<Byj-d6z9)#&A|bY-wr90b8h2
z1VFUetZSyGtTmCQY3V$W-6UY}<Bw5QbxCvJ$tRzruCC4kZ<dsWhGJ7LefVLHf^F5+
zXqt8<4+w(5SJtkzUT^`UJw0?DIbvz75NT*=;KYd&q*5t5J3DD?Y+Mp>QwC0*LYbNZ
z(%U(By-3oPT~|>QMXJ`Xzj6a81z!B_cX{*i$FEvQEK~;1oZ;1b at 8xoTKe5Y~fpl%+
zU$Fw4&1Us2iK0lbxtXH6I>J3YK)R?70;e8-obxZf$eP`|x#^*YD5<Gg*k_k8 at w3}U
zM~-mjrI)xoFhF={h(sg;WcH(gz@|;evTPodAVi~4BNPhJbLI?x{@(XcL!rE#uh_JS
zHTT at Z%9a*ZY}|NNfKOb!$i=f~Isf+C^u7BocBhk+q7WS$%h?2u0;M~5^0ixU<=Shn
zrM9*<UE(GZ2_q7TFg!d=@7c3_ at Z%q&O-$q+P_WtXl$GJ|`3SCEi@&;>s)h#qRaF><
zK}~Zr#lhgL?>>3!E$jOHv116L$Ul!C2SLElb&|0dhNck<g)np-gY>dynsjYkeEaQG
z-*_X-moKNbww9Wjn)Jq+s;Y*fD1<^GhK7b19314+Lx+fTb}mYTHd)5*a$$G5(6b7S
z`I;b#=&2ORSPV6hfEjrxL3+Z9fKX9E$;~%YzIrv4m6a at CzMPtx8Uld;9*+k>*L6cx
zRbsIip-_mCkr9T6hZ*|EKN#)mBHq=7k%<CVyO~;6xl)4&8Q}6Y*Wli~8P7G>P*hYz
zd3ib2)zws2R}%;Xt`u5^VW8`}kxHeA$Ky;)OfWt^&e+%(<KyFm!(k?RdYC?Uj?~~F
zWF at J^Ha$z!3~;z|9AyJUj|Zu;5@&rq&V~k at PA49Z2fyD>X=y2eK!A#h3hVI1;c%oQ
zQP$b6p{gp1qA)!@&E({yCE;+G>FH^r(P(<xq`#k3D1>_H64Rj&Nln8T9Yu&n^Aa%g
zx~;Z0{VNDKR;@yoB;?hrkt7LOmT@>7xZQ5NUN3&XpQ557N=iy7E-uFB^Wk>8k!9K1
zcF#E<F!zR%$s~%R5R1i#Mx#U`5h9TY(P)%dEJi#Yx7H(yqL50ZtkiBU4s*6XvT}mW
zX2WK)AxRRFBw at GPt+42Fxp28$csw4wUN1hM53kpY+wI2Xa^Y||%#$00OxT-sz+s;M
zYMMqWl_Hr;l1L;_6oq&^j-n_iib5ihut+46NmNy}WUiBXlZXl4Znx)vcQ_n4olcxi
zCoY%Ex|U_xI>DUl#3t_vjY&k;bu>-O0ca94uV;dvkANtO)&X}m5mU^2<~!y$z%20d
z638Z!`L%$Vq)f2c|L0oWT7zXRGfa0ftzrV5WBIZ4GqQyUWrLmhn|Htrp6p*!GXD!o
a>Hh&|72YQi3HMz90000<MNUMnLSTZ0a-R_Z
literal 0
HcmV?d00001
diff --git a/docs/manual/images/icons/note.png b/docs/manual/images/icons/note.png
new file mode 100644
index 0000000000000000000000000000000000000000..7c1f3e2fa7ef8897bb55ee0e0dda088dc49d6408
GIT binary patch
literal 2494
zcmV;v2|@OWP)<h;3K|Lk000e1NJLTq001xm001xu1^@s6R|5Hm000SvNkl<ZXo2mS
zS!|qF6~}+)+<U+8oAH_$Ctl)`G-(M*3rP{QO-s{4TP%p!;Rzm4A6Om`2qaL1#0v^i
zK|CM<MLdAiBB(({AkhU%f(j{x6cB-=C9%_D8fS5~N!+nLp6?zWzM09=W^rREh#u)^
z{LPH-J^yq5XSsL8%=ljxeYp*|TzLh+%Ps%k07gbeY<PIsdU|@Sr>Dn;hlg!sWaK|u
z738H>q0O5&+vt7wuzAz%lqL_6pE$;`=_$TGUSZXTKE{?UTV#Q4eNlNy5f~X6vC;eP
zVar?IL^}QqvwNN<9++V9)D&M at mNI(ZJ=}l){r{0jyrc*W4-ebj%iAbbjxqbUooH}4
zuZUNi7mlaxe8H{Yp@$wSHWB%^MdKw!V8 at OfbY&U!zwaWH1ECZMSs=**Axr2VTE>nY
zJBTp?U=3MN%Nye7^JNh+5usEnkslf-lmqG&b&3m$`XUlKILOS*6L|lE<xNBo5u9^p
zeUKyxX_~hFr(Um9tJOGl>eL0JH(vmpIP at 3Z^}f3}I(e8SSttw+1qk&H*S&}e3GMAA
ze*25>uxL>y9qlEuEJammu}RJZ5CH{IL<&-v!LqCF#LVnM6r2|T?>)7XyLk5<SMZhZ
zY~`zKy71)$ZE)WYEGO^1l5cO@$;rw|rVc-bpUu#Y5-|%nCk+7SFjpLCf at p?FC;(uj
zX-bUo1<^WF=9L3Qc$K%`el6`cujRA5D@@h{x}+cX`i&fK8|3pNk1{p7i)fMBTuzLT
z$4D~;q6vn>G&`*lKvIwdGy#_(nzjI3(5CqS2q6%0s89LCN8ZARpWMe?PmD9V?HS<r
z+|bv}rgEK?J%PuwrA$3vqq8F;nvzGw;Q=W;Zl?_sO%M%*N&=#oMA9 at R&vQZu=e22G
z5h#^Ps5-n)NVAMjee at 3gQmOKTH68r%jf?rlkg_rpHvQ=^8#k=v`RSaQ8KXWYL=?m~
zG$7j6QV1ZS5rF{W5dz-(g^fU(rl@$FPjKG2<~2iX+58?p_oK(z{ipqyK|PP$wqX_R
z<&4={WM<Ad_52(mO>hd%D^46n-da~Q0bB!|EBq>kbB>Eu-+5C=y+<^lE)vp=*IvDh
z&wTt&rcO=q;MU#j89PizM at H}-Rga;VI;Lj~b&!c7s<?AYY|Hot%`h&d|IG`4a}E)Y
zXhQHplFm^omFVo4Ma8&t<7!^FW{`T_ShTo<Bnb!(uK^zdX2M(!QK0mqJ1aD+lttnh
z$-iI#5QlRGg at O;Xl{50Zgj1nh%2>K&G4*;xL at AYv=42 at Ky5Lkv(r``>09+Sn36l=6
z84v~GqWqsXfEXi~07CEyNgBxW6tgmEaLm=~L<2=p=SYIbsgh<HB8oasj7m at s<b~m9
zNv$v*!O(>VP_0%`Ra6A$gv2LUnu6t|!IS4XAcz)5gy2b%K$<2%qgy+N3n``vNcr^Q
zmN%H6A>=IzEhvB(BZ#2Rkw+mU4vPUNDKQ4}7*SQ6I$|_XE%HVk!F!HZs!SX_&UNe8
zV*mzw_wDD{i7DQ&ZY_yR5m5{S?2-V?s}HCuqD8fE!Q(XHcTbKIP5Il?2N)Zlp}ni0
za%UfZ+;xO+eeXBy-2EKRC+t6XlI=Ujd1TvD?EA+dL=(RI{a^Cj{$q4^cJkf(9z?V-
zy=Zh7FQM}W(AiN&)T2Jd`+%zF=<zB)edy0TKkKNRtn!=R?c%_p<4hi@@Yzp(kbUD-
z4onJDGbu at 0=7#Inapj63446E6f?IF7j at 7SO!9ZURCW=t>0aLf|5ja=Oj3vEYJhk at _
zcieg%Z{4_#y<_|N!;^pK%{N|)i16Nb-pC`5Zs*$9E at RE=6|KR{@N{=|@#U}mkozBa
zj9YHH9ytHdc0QR`4!oEwUD8c=cYEu3QFjMp&rY!6`ZX<(dEW4(%~6}32H?SmA7lON
zR&w3Ct9g3QKbfn~0`2E6zi<Gm)#?ifslH6#(gEh?et#NJZ#O-QJNe1aALpto2YG7G
zKY7<XZY?(Rj_H|M08UL+S+RTo=NxNRFXzzYsm2P@(2LV&UH~eU3Rhgwhe*J=ggnnt
zSEFZ9nNNRw6Y7eIapTSF0pZOzuH*2L3b)*}o-9icQI;<0Ve!N<M3ncx`%WJD)f4=A
z=RRVdbImnZGtl1;Dj){&(&%)_0463Tc-5k=Mi&h@=ZFFj>F8+3;xuMO6%lbHX&cK1
zdW%z5qc3DxiJNa&2Ph%Hrs124#YGz`7*fm{<m7pN(Rt{S0gR50GSJ^!01)4p=X1an
zr4_-V6>3t91PH2%;Sh14O&014#tFeAXyE|BL>6|K8yg#=x3{Y}v$mQ|(ef=8&(R{e
zL9_a)N)Z7RXqL$0RL7Y$UOcE4&XC3=YFzLj)09gtqt8D33|9;d6d^{yIQ_RMW=f2X
zJSurEg~sANv%)wU9tJ56E=`rjI*mptS^!FtWMKeo-MZDbZTmI1-F7=51=pLSuF;4{
zF{zqqL#5?pYt9WczAK7ZY-vG5hcpI7K^jBj#pRMHG%+#32i|iV<x<LA^(ZFR$TOkY
ze2V*?h^jS=DkvmUeAb-v#S~OgEuFnd1XK{ShGU9Z=(3KK%{!T$J9qMqw+&Np9xNI}
z!-zCJD^et^r<j=lwDI2QWVE708bs#K+Dk>i98n4YW;xYr_3{riW at h)^doN%7{9V+h
zk6;!#cyN-uUgNL3_Aq(mIDg$ehQ&xndmCL{ZLD10&oygSAp(N~y+srn0E~zbkyt-#
zpQs+SIn0db4jg3nt}!Z=%7OqWPF0rk<DWi?<v9=kaytXdR?^wgPFv?<R$R4+zP>)D
zr>8l2s>1lB@$ff)#?*<!l*<|Ioox&a^l|m7A+B9}6 at 7iZn4Lb<PaHVL!O5eHj*at=
z at dJ#HALQWVG48(m?p8F<Cl|b(HZzMcGB`L$y<SH|*sx&(!^6Y$_4U!--j0YAH+Hoe
zs!9lfJkOb(okdltR;z5^zMZzVHumn_%L5NQfU2^5`Kw#|IOpl_?`QSu)vQ{zinVLk
z(%aihmSqeL4N)qU&YRH}y<V@^>sGJVnVz0zW at d(3twxNo#p`CGHJ_WD_uk{2YrQse
z#LSqPnK|p?*UYHb>#ak)bB-iQNRot7sf73b^6y4fwdLW$YlU&m+vcV=Lw at G-xp$l1
z`?IJaBE%S5qeD}ZB)L2a{V&M>_pg-y4e|<rms?%|@N&z)0Nv}k at MM7xb^rhX07*qo
IM6N<$f;qRg9{>OV
literal 0
HcmV?d00001
diff --git a/docs/manual/images/pepper.png b/docs/manual/images/pepper.png
new file mode 100644
index 0000000000000000000000000000000000000000..e837194edfb42ccf788e444f6787e3e98452a949
GIT binary patch
literal 10582
zcmV-cDXG?pP)<h;3K|Lk000e1NJLTq005Z)00Afn0{{R3d}E{R00001b5ch_0Itp)
z=>Px$EKp2TMF0Q*=l}o!007(o0LTCUumAw00058x0DJ%d{9Ii8R8;(AWc-kj{D6S`
zNJwx10Q_)p{5UxLXlOtH0Q_KJ{3s}x003M704x9iPyhhD008_D5d1tmQ~&@V000mG
z0Q`7({4g+R003YB0Q^KmbN~SSARvSQ0E_?t&;S5L002w?00;m8FaQAjEG!TV3_vU_
zBme-o003A30Du4htN;MS007_s04M+ehyVbb005`}0Q^{3Gynk9006WA0Q`uEH~;_y
z1OzA?96SI37ytmE002k;0C)fZ*Z=@*003kF02}}S>;M4F008`;pb!WMlmGw}006)M
z0Q^u;<NyGGR8%M!7)&rQ{G_D(G&KB}m>dugAQTidARs&_C|Ec+a7ajmSXlfR81ha#
zA^-pY0d!JMQvg8b*k%9#00Cl4M??UK1szBL000SaNLh0L00tre00trfVD7y!00007
zbV*G`2ipS!5*0M)oA%8B03ZNKL_t(|+Rc3ld)i30HfXQHlvLUfLISiQ#MTWM?@N3;
zarX4ycV_PW_W%DMzEff`*u-&Ti%dP!os2uguh06PQ>Us*rDrXU`_F3W-*HvBeEplD
z`#=B5ZLEI_NwvA{>-$0a2luV at YVVl-n|tDF?-f>``x{H!AFd}N`j7wEGqkVS`a@(t
z{II~L{rr7!ef19kv>)cb(+~EJ>+wJM!@i*Xok+D;Xn!w+E};GNQ{mA5c4S|eTH(-k
zNI46k{rJ<uMT>#9Q!3mCwB2&_|IYRK(~m#?xPW&1($EfeB at c6<{dfmWIVehE|JdP^
zKm4=??PV2u2Q2)%AN^}3v?Vm{;CtKHy3l?s2HNuo>Kd{Iw0~3&{%w%u-gyU2dnsto
z<MjV?9odgREWF_7?=P}Vnf<s(R4-#{FMy0&AzMOgAAEOZuEpAQQ~SR!VQMddj1i6k
zOzj1b<+OXA3YPkOnOu-QquO3E+kE{5YY}kUFB3Xm4gMCe4~n8Bw$QF>=3oQa4|nXF
ztM0K3%_Y=oHb3=xmo4_q2i=j?Ilk)t^}q58?;f%Pyf<9q=1FwsCc|FxVKD#h#(4u)
zxqSTI{_CfOK9|s{2M5~0UgS1#5 at jl(_v59<w4Aykmh%Phj*oBu`e9kN|0Q|^BXpD)
z&L`(=R;(Ud(OJTAgnZz*reoA=s;bD6$d{Lkf#YrXBV2bz<Cu;<hpm;{4~%QK7+lW4
zQLd*P_cnHoI)fyMq96!&xEAQjJfFSqSk`C2Dc6kVT7og^)6l&gzi`Km<NC9+9ti7D
zkQE6q@%(*I<#pkK<&}9+k`-00)tx22>CCmA9OTOZ8~0oqo;2&KG!cbIKy56Z2dRpp
z1OOM(drK?$+P?kJ`|YKG8B>LvDoLb>j|%H6_y8b?PpyNv907Ys$483u%ZmWJw7Va%
z(efFv@@@;@0XU<1IlU$bRsMCBINS@^m_mdE9}R2r&cJeTf(U{$dj3Q}CK2Rl{5))R
zFn-b|0<wH@^7oMO`P#%Lfyo({3Xf4mP^JU!SrU7bwA&REb(6n`EH^JPcjGOBn@#}R
zRrn0CaokNm)T)&VRzIea at ON;5)l04`<uPXSKY*_~<C{Z at g47u72<#L0`b-c2nMtgU
z`V~97(^{j`SbnVxzx{tB>REy--E*9UQpYE!v3J|wm3+12_vF_c84e(5 at Y{hk_<59D
zL)M{?H?gLVMxOQM{^xj}VQUWRaopX_M}OfWK?zUHR~i_a7|Pq!$qStz7<DF_N`pku
z8I7#W_H9fo>4C5rHq~jJqO0yNyNT at V3PLvm7pR~^YPrI;STM0Di6 at 7dxTZB0z94=L
zLs1IcM3uIEP*R(%tRhTzs=r?czcXYys1r|!`%s<Co@>6ZD87FPB4sLN8qMweP%*l=
zts~l1w+maUwIbBM-3eJlfz=F9rLCD1dx|POL?+3JqI7N1&3IShJLSf4r@=Ckq^Q16
z&FZUzDzdC?zQc=()3UVdPk$d+i&H2Nj25nFuk;H<?1$dTi+m89TD7Vngy@%?8L>nT
z?ssmDDArL$Ya{Az^BrE0>n&TqaGV`vmQWyn1Hr6RA=r|sabKOhFgf=0YN>Pp&`fg7
zkcmKo;Fm8J)=h*7q)E)n+r3(<jZ?GQ at 9%(YDlqcWM@(oHqzvyH449MKAs8b<>BuTG
z2W at m{9Pq;N2);}@Vb8beHs_oRTpjjNb-D{O$Ib~eG4%rwnl-H7S0^tXQ7Za9Km4d3
z$^fjxARhBVRxZ0Ur~(Y5J_`b2d-f1y=LA*5XqR{vGG5QkK%G^+f)zu3pic42d97aW
zT1PUA^?bt$tOm0*AU*JPC>IpvOXn-3j+g2uR8yi|oYUzh{y4;yO8Wq!ZS2?OhtODp
zJhqN=3J%b~%J at 8L$TK^YAeM+<rFFbm8%nyp3$oH+8gd_yS*d6Tkk*lC)b5*1&RK<3
z>RkK=V!U7x;*o~@7(Ex1VV}4=<)<DuJh`f{b&w0~(%4RHAAEB_Ms+ZO5t!I2n{HF*
zVCD^Wq(PC388WE2b<OPeY)O0yOXEd31F8XB<1tbP-r4G9{b)C6&BTo{#@fL_wc7S#
zdM<vQ3vDt)RZZn{=~22VC=Pd)Bs(E9xYvps#BmJJ4yq=i>9+61On$*&d45hC4{LR(
z<Q4hRvPO{VT+bfw$kBdNZW%PJfkG?Djvl6{90^pt3hO6`V*Y>lkv(iRow_PNCN)rJ
zv+3?y8V{!SwZNp-24wi{!)VJiS2I3_;k!g- at D!*mn>Hcc)}S>W8tP+W6J(<$?b=ar
zK7EkSgdm8k5IN$@`^XsGNI&|3gm^S?L&Grq-gw~Hgk{Z1)bB+MoA9+ at TN?_=u7wKM
zOJr9FF2K$z<UTS0#xo~G)mPddK(OiCsck_T*MWdAr$P9t*UXzVTLT*}0E;`@xrF+y
z9|AORfp!I78uyTi=RkI}b{jlbLluNQ0+E@~kNIkw3dj0dIk+v71EKlK&J7~tmuYf#
z#d?Sp+&7esDh)_;a^zu1tRSPRZURw*i~)ak@!6j>;Y_ll{@XA~w|N7ww4}Rx>xwh_
z$q@(u5>&WJ(twz%e&6tqbVky2LMOi-FLC{I{$Zw69b`#I?#!J$B<$khX>(^}P0k4y
z$fOOv0o0KX2-0-i&5#z{v<7d9_KIn7eJ`9XMk6ty7XLtMg8Z)k455va+yN at 4=hxP%
z0bX<|25Z-}i&-!4+HrmULSvd`XqK~(2i3M-xu8cB<A8t2*wgSCok*^Ko+GQ^aLqX(
zlpWfq>ahuh06q*a$IT|An&AaYvlrd|r at pq78u$mXyH?P6h)j at ApM&g|1n0<*=&v{$
z06XgTLmmuE!_i<$gY2}c_$SRIuC%KH>ofLkEl2jMs+pLikqd<Pp*qw4GrB_D_*e7_
z=g3wr0EPBp;?wpkh#2_lLoEaDpD*%<SJAcEYbVunwN}mUxb^0w4+&vQ<lrUyIqGEk
z)DTeazH&6-SJB_{Aes at -P^@d%3p_{zqfQ5WqB?g2<_WjPqV=wXMorlgI7B&lR?FKd
zX$P7~CX`<y6Xgz6nUVmm1*(L=5ZI}ms=i at cXwI6nc)IMm`x%CEJvwxS2f5&RhE^(t
zQw(9l#DTr2?F8{W(D}YZPB`wQS0l7*r!`eQtQo^`*F#K^)iz27PB_ClgIW0l2ftcJ
z5AqZk+Vk4By^;oob|Kg2$e1#D+MSrB-h4CQxbZLy0!fjMd3D}o54D5bD`Dj!uG%(n
z*7Ku7<z7n-4DIGwLL1*A3<WU at 8*^n&co%tk$uu<$gGO7!880a^KjPDmJ%}Cxi)*k<
zlFJWrn{{g3_+mE8Hlaa8>pchAbbJeGW*u1vcVeWq<94a^N+a(>;5#+Ou~Umu`-B@#
zKm3a6=@=4vUjTJh(1&d9x=^)mrnp1 at ImishW%+5v9eJUFN0v$SBNLKi2~>U58>VTh
zrhGuD$2xD#v7l)>dQVKVqU#WHOcT4j=ixY8cTu21e(O15qla1gBPYfZ8E;wXOd&W_
zAP1DH=zU*_2^|F_02Y}^_U$~Hff{vs1r(&BGY at k8u1BSf=po4Ab2{)`WCAkaj!U)y
zC9tF#<1W7DZcA-l at 77}vxFZPyn?ePsy?XU34`~dV#J$d;=@k=^q~?E2*Q<SAik>kx
z at BETz3>lgZ7i@!{cN{&WrJ&3<>Go*sdB>sO8+K#8qAxkeK?!)<?|l(83U+FmCi1e8
z<*qkRpM}gAD;oRh5#L+25O at f-s!OVspTW#3=9L|`27|X^ri4e>)aRr&r)a=+h0J6X
zwfP>K6$EK)w3eoLvDSJH5ejo6Wa9o><`kg95Uc3t(m`9(VL?5bdBp2;O-p0^0$4Zz
zGhIjpEmYCl%+kOQ5RR?Mdc#?LM%dt5k<iZ7sr2qzLcnQ_tW9!8rstgu<f%u*<~R&q
z0ckxB0^Mcv06k(d7tpHO(J{%+?2TGaP at aR#NyMO<_g(tK+7cR&t297l#xgiKL7Ne4
z>85+haVT%pXl9z27xV&Q#9B%fmQL}T8$~+Y=yyTcxihjp_gWU>d9%s`&anK8!3p^I
zx~JtPmH$)4A3#Jy5DzfmD`ZtPjp0RX7y&Vb^EEN1{6-eYk?jbrKbW4mUIo%Ji%E2L
zxbOm~1m4 at jkmyKbwFm$+XDr5AW(8yff&yv2sv?ilPG(PUx)_<PtJ~QuRRr1Deg3DV
zNWJ%!`7#j%@ufb2*ZSdA?E9GxNlGBy(6%r`)kSFLs1Q^z4aYs-_YKDxo(3`Ttm7k*
z-$Z6`wH^2ExaOH_o0TOrFF3z*0$Fv2;Ptkybs0g7P2k#^ZXW$%#+O{{vj2A6Y8rXV
zR)xfx&d%lg9a2FuT4&cg)^)GXT)IMrj>FZ43dCEbZgin8ngLO(W!gcznsXkYk}|7V
zS{!Q%)!3AWB+0O(2W<}4OP=8!k at e2g=z0mwq%7Pn_vJd0JA&Fy>PZkbm>=YYoECH~
znxr7j)@3hD?elpH>)}T6VrwAXt-<GTQ#a+_pd~Wm-y!46otPlvd8pKe*s5uHRelEg
zeH%8LO|Et25fXcWylAg&X}z$pIQ<_x%4`~3ErV2E5HDETJhLB{1EeA1iU_#`p#7_N
zHxkrLk&b}u`gz+$+1eF?u;{<-?uslXYsjz|trx_SqKcyWX6RO!@n5rZT!SdD*?kNZ
zd|NYb7UNe&-DU$k4~vw#k9RuW*aBpx!g(tfAQO2#BTLHRBvcUOPVG7`0(u{8S5CTD
zECiQ+J~$vfNKt*Kb!pR4`mhZN`4 at hMom!%tjVb{rm`h;6W<~~R={t%lh;7w!(W;-Z
zq8kT!oerr0nPfC^@AtfUNe$!bj>s-5s1>3)l_5v(<W0VO^u at BvBpz}D<8JTm4%q4|
zKt6QV6OyER4MO!J)pyfoDpb&zW5J!#QYy)tX58seUOF9cgWL1fhyH0Uko`RWp8o~(
zL(|^dA0xG^Ztj&b=M=Ra?F^7Lxh}>RCO!%id16^>yEc5ovd+^XlyXORGWuCtkXoju
z|N7_8jCUvfM9iQ}unwio!cH;5on+<=`hd*mPN+x_9!07oG&c5=*w*>`A(!fFQ-c`7
zEilKNfuMypwd$)^K)#VT+w5IJ=Io>0A}t`RV0+vfzH>*sEQt@>U{bdUesY&%qSIT*
zMAszmzU2QLUC)aH4G8y0zK?AB3}oooFre0DV~!8I)KEwbYY at 5?+<X;k)p>`b>gNHi
z!e-4Ovm)z0vifewN^_ZI5rdVFUv5LD#INSAxJm%0 at 3D@OQ>yFM$r-_HlYn^vy7255
zL-tyLJU+{}Lm>5K;<h$eU^2C_7?XEwGgclT!uQ|w4<`aaCe~h+SSf*{%a7`&2RsiM
zdLOdCPY@@6vO%B+d_klbba|a8qL5Z!L4MbC$n?}bJry%>N78<kvk)?9)$c_O<^lSS
z%uz7CEFZ!Yq~n-$9_+w^<EP<=c`Bb)p#nW10+2TE*nSuJ{%|<X+k3j{xyi}csNLU+
zQJfu-)myVT@*$0bGG&(_&wa3?4h1_)nJq=g(+p^}s(*ZQ2~Jb18O^(aWNskRV_ABD
zY`Pn={y;=d3rHDjW~3gv*JxT%+sKBJIPYdaq^;uQZI5|#EmAT|ea+<t7_wbFSH716
z)ZqthN9rh}ev=^+mFRa-RSQ%g!6YAC&Qph0w{xsSFrl=(HaCQ)K)I#pOx6uw4B
zWqWf}fR}2metX9fMM3G9A(IX#z+h!tmie_T!1j42ELg(#M(vVjv(M<UsQ3{qn-ZXQ
z=3L8d1Qd7F*a$rNw)L(x`jkox8B|Kg2$DLU+}j%aLUGtPOKshR%F{c`Fq?I64aL#O
za?d2*yQs{8X~<InX*}Zj&4TmIuFX(GkXnW!NlG+hKR<c5u1+?)6jwWatdlOSmV||^
z50wmziY>MkTVh={6cg%yv^xPkZmgRbIL5Axjmz!{*Hqb%ph6(;QGXMebUrGPlh;IV
zYd9Hj<6f%?WiMvojM89~iQO8re+1F2Bk-~;G}fmmK$%>!E3&Z?ah##5^`3`V1 at 80K
z1~MhnwUCplCB4oyZA$H0N=IVY8xDIz!x%1R at dqEeVKh&?_ms))e6~ReT|pTdb>}UJ
z?7}<A;?7EF`5bEMwF9mO)_>FTE$g$as1v_8X2u5fFstt7Nvk=ZM!45KXg&j3$&dpg
z4x3E{M0OGN33b<ybvm+Y>7;jw4>ZMK2MHv(7IkUt at l2b^u-Wx6j(J;2(}yE`f&xE)
zv@^0#Qx}mF?!;s56iLN#c at 3H6W$G*@Vb80!#af>CWqWi{EwR0dQX3~TlAlnl>an#Y
z<$?on>CVU^XND5^(OA)mYa$6ot6fxH_>3(GaF*&@TFK3iIEa$PDo9|p8ll~UBE~%0
zI;I_AJF;hN?{Eo3g9wTg(<C)&xt+CIxIw)?fx#;3jOJRNBhxU!MCv&=;i(efi;D|P
zMz*|Vm%sK*WUsr;0gW%vABbesUfXPdD&VvCnT-TV68|}8NZ_rm<(`H&b(f8BQ-A3D
zZ{PZ%x^0J(1&wFzaB_)si)<U)1a~It#$JN}#Zx{>%Ug^20{HilYBWQ{=wsZ89H-f8
zHMj4*N(RR%rRNEam^i^Uk2}#uMrRX_<pw|hbrBHY-?HkvdR4<zJncJ<-?dMp`W9q)
z(0CTIJ~s?1CjKK(iO0yoqXUJDsct*g+mPgsdd*>mk(UhX%J!g<l%6FtM}(Alfp0`&
z$xj$7WS!DeN{Em*hE9|;>EHD3`dcex>a%Za;#x^yLVA|oj%fKQ1CKy6qf^z0Chu<s
zoI%*=5U~&MfAYDmIWO+SN)Tete>bukPdJyt=7u^1XmlI+#+;w&56+F`uGuU-UuZ}<
zCG_2Fqp$JxQ%-U^Vmq@{&D8U~YYlbpPp0!MpZlffLVJByL4KEv)bq|$PVs;`Lux{G
zcOeLIg{1+Fr1y~J4lsQ-vOyG>)Uc^5Po8qd4ib+M+TE%1TDi(6n8487!~50Ai(FU6
zIWjhd8=IFU;YrApk5psD0ihHM(E6KU?c?TP`m-~@l0b5`BcK{5{u9sH335c+Y>!i7
zEtg^Ndq5Lad_c~k(hCS}00a#kUOMWNga*iL;6JRB!1z$<038_{2U=cAnGD+HtyV!+
z_?4qsTjo-w>bx{&^DZcHni~`IFQv at +*yA}si|zDjX+Rx at I+GT-rA~BwESzr4F$+rb
z1!Bgk&36`D+jheCU- at rGG{1}5Y*pv@^o_7F=Voc?g at pFYboT!0^n~@AzG-Vv)Q_+U
z)h6opT4Mn?F1FW@<=er7(n~F_dke%ty6HvAH{AfTdfN4f*aHCm3?$d4$sIC253}9U
z%dPVd8QZnC>#F>%<JPRBei>z^cRf==$z%to*7mF<rcC<<k at bIJhb>GT4!?<w4Rth?
z)rA|V&#jG@<~8uA(o3%2IHwy|urU}Lk^1=g1SYhTY>7;dhHHDH0vqe at mR@#o27 at Ma
zZCH=S57r*;k!oo^@@r!E?yOnvnJv5Y($J>3$_||(>^*wk1d!GI4{RHe`;@rv`O`II
ztTuU5dhx~eZ8q9cF+E#;^h}4$!u;Y+j(5u19(<lNyQPAl0T~R`N06~e{rOBcmzuyJ
z*Y at CfL4Cn6ySeXa;DZC8srAQ at iHaXe)LgV-tN3kwg)C11VG+ncYSn6mtm$Vftu5<q
zZMoySf$Rmd`GdIj8?Ks@;lqQv>mn1$Vw1CakZBsZTp`P&nNke0l7Th!@HFgZJDy@)
z*8rSwo17n1^G5U<&*&C}taPo at 6XOvx6C@>Zk1tB4vtbtlhtz%@uMR)taW*LmSr^;m
z`r~Gn;C5b`<o9Uld{14?VbzMfO1Vq>P4y9FLYN))dnf(GMS0T^#o<!-MLGZ|^Y-XX
z^HDRCqvQ%P%E&f1p;8I`rS9_#P?$2Kvs2D^Jeox=8`0E+YbZFY^L;hG*bKl{7zw>r
z?dvgvQCgQUGi#%mH8#xfF2v*xP*l(uD_85v<QorDlN~Q^kjp1-@#$(D_XX>@ZPkjK
zwbqqs9XIY>S0Se(gb)cbJLxr>&U9$pAuG at UxR9pnF{42 at J4AegcUAxGjdQmle7Cuu
zJ3v$rvcVZL*369O8=Xy&S#cl at TPHUIZV>gI-YHM!Get!^K;3cUH~v~Q<L{qV2c&1=
z^z|DyCE>CYy|3EXT_Ssad-gF_o81I!$E_RpoU|iI7Qt+XB6Bl>+AOoji`u?O2XH`{
zwtaVfM&meWJV at u0fE`p}1K%1Oem`h;7R`eq9f0cxD59e~nKd2;4LKT0`PsU5yRDg!
z*om_6fZPF!VU1%>F=?N6q(_-{t>@+2=em|(1>((?J){CD5a$HQ4r%rcWT%ic^<&%5
zcZH!mU5YF>vtk^8iz at h}7km*PEt_hGbg~L(gOl;<fK71}sNNFI;}idAZAi4y*>bg*
z;U_07XuL-nR9WFNIpt<HC`M#GY{tFXqxGC9@>1{8!#*Hmhr_EE-Q_{!7jFWs+5cGu
zWskK)bBU#=iHJ3k<MPw5r2}sfn4h~t{pg-WfV{BwnE69C&nN*|c{i;HINGb9O9yx{
zzh7W9;}l|FK2|gVH7k$UzN at Cw%tO^hwV5ttR#-HvI|9&C^^wwq7kG+U0jy&ZW4#UJ
zQ3p1(Xf)(zRtRexN0eQH at My%4vaFmPiD9TH;q=CNGZ>us3&SihX*&HV_8$`&D>Q4)
zaOm59y<Rtl^8uITW_5997EVuH`_a7$KEHr0JPjpPRn(L(cSGM_?V{&9hlQ|4;Qwjw
zF~?-3i9PbLE~=_5%NcHKI;O&^Y*JphaeUX#IP1P~z9BLTx2qc4YLO-BJRmxxfKKt%
z`PAmP$C_qLWELv5NoN#T>@?B2n_0o?`k*{!6oTy6B;~m6%A8-!lSf$(v)y3KkWC~-
zQKZ#;a2_)XQRb!W4w|a8<$Mskr)qwk-68cn4<j-HZ3>nptzDi~pfblvk8=+5tJwG@
zk!2ToF<cF+%x1i5DJ2NUom5pMsS_UyYbUUB&pat4X5 at 41*71b at Y?V8md1cw?1Z*^@
zLG{lf8{s>X<TRDTIy<&D`7)8j^4&HV^UT{q>>pxg99!<6BdC1mmkXBxVhqT{MjSUp
zQI at I3=rytq0hs&ci#riBzFc^F7XDsLMroOPR%3qOSw2RU-~IPFw%8#fHDKp-s<8{Y
z6h?6jKf>KM7*nQG46-I6;zye<=kM56as2$kETL>Q*zLlGt(U<1XA0OoPYJAGRgC62
zvk=ehH)nwwO8lrHE`V7e!rUp@&~t8O?|fNOd|#E>4O-{3nVa3s9u}v}BoP#eWtzqI
zA)AXES-JeI`Gw39lTu6%YqFT*v~BrrKkxbDW?x;Olq*8r!&Nxrh5YtQhOCn#bIZ8Y
zHVF~fRT|>td_>6T?$Ca|rBhI$DPKuUPyE{TJUo+`z;})zWR&UXsuR!=pWpE~u>z=?
zaAyz7EDgf`jo;lEbL1_YL+e-pFYz(XfSA2g581(6p at Vg=^QW+(%z7cfdfbWc`|{?P
zqZM?@U{m0wBE+xRyU=Aqo3Lnd99Zt!6j6aKplHy$-rNJr?{w@;B#E~y_(eQSM}(c*
zIiBCW%1_pgZWTu}AUE~IXn5Doo8ONv$*wFbUCBLyU(_ttG-8z}^D6;`^)t&w?&v7f
zkaLu~$!G>kR@{!D+Orw_PEluZ$>Y<*WuV|U29yeH8>fBlZgYYa;^*gfnp(&LcHspb
z7g#o;6II!IDP at 7dtW^5#HTc%T%os&<sTb3kNV_g7#S}8+h|sI<c3{Qs0W?oIf3Xh&
zc?no`TZ?rXCL+<>6lw#Dw`gE3?_9WdJ7$6Q4{7scm at P_R2>LRxiYoHFOo??J2Z at xb
zb_|Shbpr>#c!l9E{u at Ohi^d$=qHN5qUlu&=Lhpzkh)gfr?}FgUb+a$4TQ15L%c=Z6
zL{<W(-BiSe)yPNfGq9?e`_4a%(())Y{1H%WX?gV&JKt}?YVd0Vs!?&s6hH<_Vy6?_
zfY8jZ3szdI*CXF>{D5{k*)n|t3+Y%a%a`}C)mlmu;SCFC`T2Mk2g=a#c_OH)Ygxx<
z?+#NSYZkwtM`eoinBPd5#fdBpWzJzFLU7M(DIqTKLp5^`g_r;g&zjB3pZR5o1#|qo
zy7jN%ee=?7^cn&!AhUvzs8~ezXkhd7{M;IqsaDdU@?F)H;3h}qJNtjebuCX>ZhgSj
z*@Y(~cD<^H+ZrB87V0SSp_+Cm-MHB47>dtEV|}OfLxIRb);ItXoppeXQLNJ}id<~5
z%QF;3cGr&(=fyF<mnh5npiph9fXuZB(k|lQ%r^`p5>$4DjC}uIkM;O3s720=ux?|I
zYpEi;?LG*~x1sMC&M<@`Bu)A3KCniov!}!~ujzmTF=SalgUq%Q-w;jgk=R1<pPQ%5
zp_Z~Xj{$UxM0Nx9H9N^K at W<s5^(d7>QfiON*+|nyll9YCuo{g$v<y}qD#p$v`OwX8
zvKH;sS8%CBdqy%MF~315*L9n38a9grc0Od?MoI3FQc2SgP3wk2G+i7TX;#iAcZ8B}
zbUyQ|%5OdeTBtJF4Kj6EmMOdb(A3GSR)0s@#CN(hz6)i%@R{l*L|48k6xK4k3uj<0
zHCa~0z&kq9N%>HzMI+QP4Ar8PU)@&K2mtxr0qS{TN(x1G21-$(JPHu;hZFt~3KB!f
zI+9<L-7j}%O~LjXfAVX&yy%coDxGlbh_xC~olKkT85CJfXsHxLHM!H_*YEpXyXdJy
znWjVl00)XmL_t)@t?9eg0R#<IsSWvdHD-GvlBBw*N(5gOEo$-n*7u!?kFs-QhN>E&
zryZCIAQL6k_H;c?Ri4rg|Ft6 at MfLLTmdz>*wRQ$nOh;M78g~l2x{TO|$JW>0$`Fd%
zGrwCBAgkA;7+qW-ov_OfMR^9H4XB3D_{zodyvP!hQ!p}iVO?F#Jdf={lXG?zh;$y{
zk*!QRoyJ$67b)KUOAu#UHPvGG8<>l}Bh)Fb%nH!20GlVKqU}F-&6><^i9YK3`LUw>
zO%&;o6CZPtg+(LF9Y9UfP;te@$sI_L{9`9kczGWpvvV_3>q$T~yxd1^Smj3!do()A
z9;}SzCawl#f8=3&cZj+1_^G1d9z<4B@~jCCP(s1^(@t<owS9<eo||OBvaC#&pL7;6
zcg#111Iryik$F0DzwrpmrpT1NAOk|%iHS9N8nFGuvQp`k%eT)v<p%$>$4iC%#IkwN
zPyv}BJPlZ*eAwEH$Z|rfh)=}@Q7$v~BQhqlrYtrZ<);A?vWVM{$a2~!3-{;7ADLO&
zlP>43DG7X|@g#|fYLhFtVX$g9GS?KJ_NeOWINe at EmY>de+H<e$g-v5`x at 4}|RD`E#
zQm(xdrF|sKCDnFh;Yq+0^_1e*`x061niBsM6H`=|;Bari=B~*<30MasWj`@?iR|01
z$$+tUS!`~9BFnSp6Rs0bd>12WkHAW^{2s|~-$D}EB)<@OZ@}hRQ~2iH5H-a^nA<Bd
z=Ltb0zw8E??(4xGftB8TJ7_RnW~fr>HunjvH2!wbVCP7ARB>PL6__~wX3$`7w at ir{
z^tj7?B6Gpc*3aE`w%!WyHb6Mx_A0WHd%}VS{|GQat`8 at uBJUYk$ryekXb4ixkif{C
zJp(Jf88E8-SkbE*AvS~8`v#VNBcC%P^NES4FMRvS(+KU-0k*uvn;V(1f9s$3L7U2B
zw+PgRU9kSv-hq`~8;_Y8d%gY!n`h1a1M5DT0eDe$TDB>E2VnU|fGU2S_d8sV2>tH>
ztaQ7L0`beIjTM7yQj|2m12DEncb{mm(MvX|odatfRlDB>Sia#Z-q)ej7zGWH72`ty
z=6nxeCH$ZWX4P)l!y{J)V7)8tI{{-d+w at EZ%%#}N)EYDX?<28a-BTj6!4`fKm^{L`
zqt+d+d9`0)(<oFFZZLNGimv+`VU`^mk`FD6M(jz;=I^>~6b`4CAI)~0 at uy1zRzEpA
za$WJ_?rFc}>wZej^{{8Nw>Hm&!huC#<~93>kWBE}C=322yeA0R;}*fEwY8~ZNmlET
z>yc5)fQ7EoD- at P7a9&4e0wL__LS5G@>;jRGQ6DO%xA`5u{Oa`|wf?ai5FGgIDTNa|
zDO6$(_bF0rVxrStFG+2FlEl`BR=&o)VEGJOj;rQ}HpR%ikn$%UlG?aHaltoml-FDj
z6Q#wqhQp!X8~SYGtzI`Aqr=X|iFq0VJw{6A<!=_Dqx^A^X>mj`8nmL>HETn+>{Fk;
z-?mt6I#8_{X9Sno9&0YJXhzB6Ev1-^It-=-?J0%fr&eDMOq33|`J-~HC(@4CfgmvT
zlp^mupHc;fjLLw^oWBQ|pZqnd1)$2WNQmTf0U at khI<*{>An>b|8<kBF?y#dS?1_wb
z83s(mKE;SN?zln<-cR`pAfAcbFtHM&o{w7d_w$ck_SieiY{*8g`3Yr@$U<y+hw at kK
z2jhYS#wiGqE+m(a^=;=2cu_tN*mF6*gN|jT9%ckp5MkHCpbBM=vT#KKyCLi*c&Dz)
z+nz;YjwpB at A|$OT5GoWVFhl{^3{|i)<bInL1#BqMEUL5fBHN~BSi3cq0*r!VwWijM
zE`$ox>UNd4nOO;xH^mfh`6Ey at Mf$Ss`NTVk**wK20`#@IVH0$LOvD_s5{rpb3^3LS
zZmRjovaie-<<_6EQAQL?e%&y at C-e7E;eVK(hrbn6i8SYX&OHCvr5(~|j}VV1G&PK7
zi05zU3ATV;+bFEl$$jILd#=mOBUT{23oIxkPx$;rL>ylU_*xkkcEqKs+~cPY=Vcn5
zBMW<1G>L>mqt(h^&CpDIadE9&7TCAYysutau!#KvZ at Ha-+E!#lL#{Ppj}%uA4z%kJ
z<3gM1nte0ej*Mrof${G}i5-2(q~uq_X>pE#09Vz!PV%?7ilkz?GuVDL9^V-8vTJoD
z`B<_8X_B1*6z7;-b#<lmn}c7tUy9|_*9l`|+g=U at C8`~g)g#_|H!=KUFH39;xQ^sL
z^XKAAaGA^JjyB(d&2LeVCMm_I&0!L=)(<zdkzQ>JO62TmujV>WPL8T9cu!7z7#E9d
z>SEM?^TD|$r$DpAtM-B34FT7<w4b%OziJEwwkxy4BLEP}4x`n at 9>G0Mu$?PJ=z9U<
zZvPjqSK8lNydI|vxL%a9yJ;fdF)nQ<LdXw$TzIB*#cNxc*2jZ=!kQQ05HUIV1cHJU
zj+0)i_4XPhbZZ8Ec9n8#>=@$#x8FUQ_5RL*-~~q)B#lQB4`rIJY2ML=*o~t8wDkQ~
kHGf!9)7sU8?+xYu18@`(iBJ0S!T<mO07*qoM6N<$g8i^Ig#Z8m
literal 0
HcmV?d00001
diff --git a/docs/manual/images/spicec01.png b/docs/manual/images/spicec01.png
new file mode 100644
index 0000000000000000000000000000000000000000..e2cf8c5dd86e18516e36b343fdefde3bd0c709eb
GIT binary patch
literal 10244
zcmcI~WmFq&*KR5lEyW5gMG8e4NO6ioi at SS)prN?Cq)?m|DH^mCD;6lhwYWpEASqs;
zSaFBs3(xbs at A=L-?>g)JI44<IGka$5>)!ji_C0HI&qS)L%H1cRCIA2c_Z8%&H35KI
zaoC?Q-firWTEhf#?B<r6rko at IK1{QLHSU=!$w>n+H{Z|Ag$dXr_|EbMZU6uw)|HU_
z79cI-5%wUiyMl at gF6s^;Av2-gnKAa<Q-Ff>Yi;k at ojIRGn#lmpy at h6-NtF9YiydFC
zRh81)*OHR&UOgr12HmnCvsWgnS@~t^ynU*=z1|s<xgw}KtdvE*!rb--&(q!_eF&1!
z$r8dG7a9_x`{U)M__*JTQ}jGNe at V^bJp8YvyXz!{lL3tljgU=L>*W at Tf4L3ZIyPFh
zi-w*TCw}TCll<T}bT|BCOBgJar01j1em`&H+5>y7pg^HqrvoRk0lVQ)mFuA9jJ~-E
z1?W+N^L^g%lKw(t15JLti4g+_AKFOi<)b3L_+P>Zvy~X3q4>R+?u`8c)r*9^?0S-A
z?OIj;!91tUjEnt`mnfg^4i+mdG)HEy39Z+3p1rL%G>cD><pAOgv0!N_I^FC^QOsAQ
zcH&)s*(oB-gC;+AdUBn|TBiYchhYfhV<wA?sYON?7Z<0cr7d~)Tk?F<w;#?B>gwv6
zo0|(KrWJngrGY1$pSbRWE)TIXK(CHsEFt53`HAqY7<3smaH(U7Twu#53z-%H8W8 at 5
zbBoJ}=_A^MdN{kL=A}?Wsv=85))t3Ro%39SNA286&y=y(-1ZEDRdcnSo~+En%4+pl
ztZ1d%`tW)-be`*j9lRdW6GPkRx#PQ$pF+uD<b8cS<uqOK+OGNS=$9TkKl}CJObN{S
zhy!ZA&SfP_%<p7-#%)CGlncSz>0#XCVvlOsf;ZOK&m44;t4&Nyob};2k9qM!kcJOh
zwTM|$XjIup4((A{VB==rjrMw~k#q^Dje(7Uf<mO(qv^=?H$K&la}CNYZZlRX0oxYz
zT8j7#!XhG6ApIW`6YeV?1r&kTrxi}nOVo(y;b4CfJLbd*gRBHGUMy3!)>-y_+6_Ey
ztgfz(l|Y{nayB_%?$m<aM`bu$uUz at 4uLrHg-PSX`9A~RGS}y;%(cm^xtNJ61Y8~eS
zPUqHr=EY8by6sd?(M{FzhjY%<yoeOHctp64bg;E|0~;g9*%y4bK1(P_$9tf;h%7q7
z?hmAJf?ETx(bt!|&8H?14o=R6W<M_{r`_w*1+a<9 at ZjX+B(|H13bV}Dq{4~Mlg<_}
z*9*|=EimS4U82?ZcvE2Bdxaf*t_Y%x?pXm}&Q5J^ZssMHm6bU-I4GrX&^o4?hj(xR
zS1*pYtVgo0Gk5*hzX#nJ5x*>55PsxXnyv_Jz29cYIk;XPxN`q^P}h1h at jXttM>X8W
z2@|E6wSf3OFA7b=)9mLA*ib6cwmn=M!X_<1l-t;N*{}saR64 at SHC$eQad}zZd@{Qm
zu<JKopn_`jDkoVc1fR7#1s*;rJ1*8K2_dO*Py*&B);QEwSNmk?X=!P_d4rmmke2Sa
z<`h)JW01xCxK92ZiPIvnbZ8x#`vzALsAad~B&j%K^=K+w>T1F%b0_}}e{7y7YvMs(
z;@A0+TA-PfRL8>A(1J3I$7-P^09E7Ac(xpU9hsxqkHOJY1m^!~+->26o)2VSOcWB+
z2s$4Q3HW85KEUifSUBqzp!45r!=>|HOkcQKD^N*CUt`%_Y<myB-qh18GdwQGT$D?o
z_hbEheg8C{&M$#Q1<M1gk#J+bt+HCfWUEKr<Z7b(zY^5g@@3_w8$7lmey`AD&a5Ra
zXG-7=n=tFF$MEDT<d?d-y1cwjOzoDBB9L0lg75wSK~9tKgXq#F9ihOUe$GbOg-y)(
zZtO+J)c`s at o1{JVCG<QMIlB;poTdMe=^v=8AG1P4r6L)j{@nfNqbZO4#4xk7-I!dZ
zik22}4gH&sV8aGKjT*XqE>B{ew{A5v_VzpcRtc5%&tAC&3M>iF#7e)}Fw38fE at C7Y
z?&V5;XmNNO8Y1C*260(d3BF5uxm(jIEgAQe+r6zdmc;z1fe at pSDo^C-J1CX4{5XpX
zV)^;eVR_pn9<^IIdC!^J=9ym5bcjMJBr+m0GF6|1`x0}2ar)i9*hAiP?Y4KYNGto&
zqqs5FNAQcr*4o>NuvC4bITSs|Ri&?BdTJ_6R$?XxmzF;&-086|6WwKAci?7wZqEmw
zhaJrIn*CJ{=^@-?`kj&yZSUQFKVi$|Abc&YNhI@*gh~EjasNe^vojGf-POWUt}&5S
z`cq1&2fv&Yh#j4|Z1d=y&|>;Orte3!sgtsbcJ}hJ3OfQKzj5x=*~Oq1zuH|5(ue?X
zsg+e-I;3tbu6OK(7ou-TxOVmOvl2ZLKL`&WO}!s8`xV;!s1b+T+sS;4k1ud<zO%Db
zA=cNDWeg;H;4pFLV_ at -eND9}c(3uqf14tHK{bA%2CKibbdlaR#dmk8WpQpea!~REb
zy7hj7*8MvfT4kRV=%^y}p5JvquVtr7;vorexxUluj%;KIrdA(>@P&|cDqByHShFy6
zN~1RY75O$Lx=+0U-&u!#1TCP!Nou5|moSfHk16TfcF*5m#TJIr9MUVang42SOC~WV
z1km(cAI;T{9C<2PsVPG683yq)X`<xuh|?=Y&6pW^%<%@ED$IIp+rLa7K*3qeLh~OF
z`Bq94J|su{AQ!}W0Jv%+OYF0RUUWDG9JFw5>$p{s?yH%5bh}A0ga`%U=Huv0=>JYm
zp{SD`B#&<@In44D9bS{F8Os>)J7+4~j?>oRwv%yi$@}W-R9 at Z4Z2hzxFuXNL26JBv
zf?oEh{k+t>oG@~bzIr_UIE81;`;<a+uaY{RGoz97iISC=-Z#37R873)FPqM!p*Zm*
z1&IX=V`gxWI~?A(Ett&DL`JyiUyg|QeYtQ^C~<u_LZ?kQ9TkNrs_1UywWAaf?#R}s
zEQddjmd%Az1{iR{TzF>u_0+tS+?3?xE?<FTQ`CBtjSVwWxe?sdSr=z9Rgo72i%sjC
za?tZtmBWH5(c at -}!1e41Eax}I$dr`48ZyMe;pgDhP~G^<qH({%jG(O9p9QwLGXmkE
zeB+Tc*(D<rsw?_UpiuZUKh4)(TMw{)84~w)e4yNZrjpsbuTYp8ay^=&P{Nx<Mu1i0
zXDp(=X^Tw at PtQ%M{Ke{z6sNBd1W}ejanj!^<)4H2*~e;LZ`acW8UfaMJGg3E8jkw{
zR8dRUFWv;6?0w9}6ELySUqZl)()iGo_YNpd^LZp6eS%f3X>?63;sE8 at p^>d)+ctFk
z1c2dzi>T(7N~Ngc0;-pw%dK+%otTm}v3bUy2m?_rv at nPvLf+=j#>k`KNO_xl(X#F_
zMH>iYD6M*}X{WgD)!lc86n4h?yh`#NBv*?U0ohoV{7%ISn|USb=g$b`y42&72B*Uk
z83x!sQYl5*$|%}N6eW%s+R!P2)Hdcns7UL-$8k2%(>LEs?=$o{grBX<*zJB8F|gKO
z;x*9`A1z<wa<O*mj{}8TJ*F&i=F#~qntxS_O(Ngm8)QnWr(vxBkVF^2MZ?!$ZEfOO
z!Z(O82;o1_bL++j6`(&j5HR$5h)r4axLNT$99IOYv8&ms5kmBea%qbytmOSUaRD(U
zHTvTQn0PHW^V9WtOXOtxab0e$l-6?!V*Gd)F|jJo*VFK+pP2-Yzf^Ml{23`BgbPT>
z_9cgr5kUGI*>>xc3m`j!Hfv~Yma$Rt(?<Q6E!qwF&=*2wY*}8$Qy!x(xbIFGEAEoU
zBNJ<PDr5 at Go~zj<7rB2e9O<=uW(Y(!@X at 8|l6o1f)<ww;=MVw7U_t!xO^jvr%?LS!
zhK6=uyQvOcWs`jBVT^hfYlITHnI5oAC>;?QuLt1T2$FHVs!v~dO~q*EX9lZw3kXY~
zYIkjpWA2)0k4f!S;2g-3GPE12DYW?=TWwBt=R1=u@^0E6$+PwMyBlh1B^>r3MH7+Q
z50V8>dFgUC&$ic+Ycg^zn7<`6HBZK?6pnX(!j+&h1 at +v1*Ox}7x~C=C*4gL2`2|?1
zqiGXwkm{^JmY~eMqs&pB6czqf*P~tM=m4oo{E&L-E6Kg#MO?tHuPMHHfh82Irsu~;
z7TNtpQgNs>DN34goO%;x at M!6ea!h8G!#a}^V{*LU0Re!8yMo1?_z_e&=1bYm&c1Xz
zk4gt0Xq-=_BTkaUCV$(XV`>WG)x28SH#^=hgG&ft;jLhCtqF at Ch2+&2wlbtwAJ#hy
zeyQ$9dCJN4#COQ0rKi*MWQsVU<LSZ^8OOP#NUJIUrmjk*_$v4?ScvJ%m;7&%Ci@;n
zQx7OA5fXgyJKdgX_8U2w0$Uf19rRz9Z8!|E8L3l7F%z-(=VFFM0N)MN at L4JJ(dz*q
z>6oa%Bil9BbZ~}F=GPaT@~oG!?$Pe<4LpRt(nW)bJ;flK)OL*2;n#A&;@kre6vR!)
zAX(4{Id2i4MQss~QsGeb)^SC=Fz2p1=;!Q>!}jt_kjEJQ;_unbkb&UdxL;7u-qO^_
z(5IL|0jbkt44in$LK2W#`d#?j#-Hr6Zmth;z{Em(wODHZPb1eMe2gsXG-6~y1!j*W
z*;j2eZTFP>@Hha1mt<SNwAy8&A)um)hS|ofpEJN0yq4<oCm}Yn%1ge6K$)=Dif`i8
znKbru>i^tHZ?Is9M~HRsCBJYqQfI{Vz4SWv9g=ITwyMyqDU3G&I3u;%$z7%KY%|CL
z4q$Wa5*2lUdS1ts-OM^`7gQ%b)CC+RAODCUQ#Q9h7Xv-*Frg(+e&(Ijc}+$cM6>_W
z8rj+T at df_VcP%tP51y`<x at p+(8Qvt=*7rxQruGR786jYptwPnM<{rD}VbWp2>_&|9
z%udO`<<6c5l>oeGWfu*Z+I`bhJy2jI-28U-0M@!txAINEmym3g-q1jNF{Io?^N%fY
z7nuMYrUNO)aVvhZ#YVjSlN??GY!}G6wP=55i^AH at d8{wn-dp5JWz_w7=;zg?kLA$a
zeBC$EW8S^}r%dF$eyFqq9|2tw1!>E9&yzn+7w2KL5@*JG@=-^xFu9zx_DkxWo`?-?
z>)~FA!_6c?#Da1wDk{9ulRd^;z74gU^@t&39l3JPa3_633roLKEAuHM^-0v|!?K9h
zi~jiQ%$e#GKIEg}m<|WI!^j7qqU0HOH$_-{uo9JaOY_zbxJhFP>s&(ry3t%pe at -M0
zz}mue_nwBHo*r~SBBmu7#*au0=JQkjB+sn`#6gVF5Wo&M6+LNpxbN0yQEJLFL>O>C
z(NuhGXxH^Cmi4tJ-p&H;<rBbg`!_HYou}eucBZFjMoJpbZ4~>s({NXO)<IE0nqlA(
za59YJaTvE~;2w3NF2MPOT#{jaU(V~9%RRsz{2o$THJ%9I>?oZq%}xUd=3$mLy#=^U
z2rxakL)eJjBh{BCvo5>+?sKAkD%tH<?+QZjKma^dQ!@#`tEac4^S-xh0Pv(u<6n)_
z0&Z)W=Y-<`UiY!zr3Bn%tEiv{JS7PVMeqY&IWrP!NdoZ35=nw^073YmZQPqEv!&;N
zyUZ08&J=*#+W#@OK;*{Zhdb^&K$8A%vs<s!4+w4$2>wCH*&qhI#s~4u-Fo_pnbKDu
zK$6%b`G62`oBVI at +l1CMIPadS;E!S<J~Jg#NOF1J1!SNesdxeKw1Yzb#{VaQrJEEL
zO&BTwPt}7$uK|D{yuXm2|Lym+^9DKilip1prnjTjv72{ne|cc5yg~Zf*`7!OxXs5b
zZF1`s*KI;Vxm!=M!CFjrUd0uJyluGiN}Y^Q49lOQ$zP?vRgAa^d-g8|%oOnex6;TM
z%K=Xx{f$`EE_p*Nss2syJ4KK(KDJOT$zKm|qMU2)VWCWKIKRdA?MDYzrC$$kI7t28
zej|%!=wDee{)@kV1ngx8;K`c)#a!`Ur(WHqO#1^M`AqhgMn4isd~g75c%Y23TYzA)
zzj(xse1v7?xlbq^R#}$6@(tEDyTSN}BP{y`Ay^C`1NPD%{CB=_{|h<)6McjO)PSe*
ze^>eM4F96&fZ#?P<-h8}YI`&AztMA^nr{;T1Z%l(60RU1yz!L&s}?K+H!}WPp1*lE
zB}M)Zm7Yibt#|oNKVf^~F}9Olf0s081-w#!T7i`t2k`FuZ2-1;Z)U)aiS6}&nI!sv
zf0;MF|Cq0^v*jQ2CiGwCKS(#`KS=)#m_&d2?}7gF>HoLm{(q_9Kd1Pw;<42HUvu%F
zk#0EuKa>2wv-;nVzQcGUd-toJcDDfDxltxOWz at p+J&I0w1_vw}u|)jAAUP5uJ~cZG
ziW)pg3d^bPM&qOocIe=}Uf&gcEBIL%Lw|pK-4d~ZSSW<qpR__x_Ff1yjT|>=eb~2f
z_{n+?@E$b&({FJHjkXjuaW<i25QU-{$IjcnGk!7R7 at r(<oqZ0IH`NeM5OO_>NYso-
za8k6%?EjTVqG+QB6iGoS^HLB$4&%H3j2d4FxJO99l?I8CWt2IN?2oEEbi2^h&_GU(
z@{s8d4h~uyyAmKv)h>xY8_ at h7c7(1b&G1qu8&z$d55+1B^shVgeCuGa8<H6)oYZM8
zksyOmO2)-8!SoSyK&r?H{s+c)z17x3nDP at fGu~%!6TTi~%4ae!gGHqFapgVLG$dpQ
zH7$ch5&=V>=2s<3KA?NElJenw&+olN=c9~2+g at 86>wd{r at OtNsBr48bmGzkF8pId~
zmI_k<W|`IxNC$g!8RIBG!!ung7QdDI43<fznKa1l{`~Dw#{a~Lqd|Bi%T<K;4lb=N
z*YY7Qy~AK5?Xz~kl_^iz(R?$^K<gt|^h(>weUo;oJf??nOj+XK8cfU2hTc|#i=8#H
z)_8VFTm>mDyDqXyoI6+xU&J?Z`W<Xs*DiP))T|B(j9HbeAs?*_m2 at 9fbl(jE>vIu8
z(zZJ^@x~PSY3*!x?bRR$F)N|%q%xp9t~@h?g4Ah$buM1~7a<I*-x6z=zLH0F!T95!
zk}-KdHw!7$P8uwO|LEF}7-PMApBKM_WW!q&{5F{~yg!PN5JlXSJbzGWAk=*I#n<yP
z)84Mws}(X;Dg9E3r-eyZRL+hHhO at 5e{Nc(md+okQa0iR{7*QxV;K+~jg!9bu^>Ngb
zUBMF+ebbEY0%{HJz(+ZEG`hSXUgdB|e(5v3GbJD^#lrmN9s%W5*Kzk9%=uYRnUgNa
zaPs^}>W-BFn6Gg*)%n?5Wz#<Gv6&MBg=bB!)iIrs at +3CM1TSZTe0MK3?2UPCZm(89
z7ZF1QKY4;xXr9>zkr%6NWZJ)`ZAT)WJ$Bn at y3hw{nko$OExu)Wtt?4G{%y_j&3Ic(
zE>%|tYYPG8r=~#7OlF_0dvI3Im}5siZ8jPYMtnsIS1q at xi<-AGZTWWWLe>xPR?3>D
zHh$TaI^Qx|rEV&m;S-j-S?3eruhmXWNlHv4QXN$7r3G4Xq=+CVMDuG{;^m1_UZ6uq
z-z00YBoxUrnH#Lx5JOje*r!SZuV<Q6`38%srcS%j&l&E`Qltzj(x6%-tkY1ZwV^1q
zW5;+lS^_FQ$8~~TrpP|sYgby+m>JZ=?96Z2!OgsW#nGpK5Va-q82fJS8F;?37t=#P
zJxF^Y)ns2|rsw(K$b|3mQ`^k4>HQ90<szP+cgga4#KH`yE1N1Asny(1iH{yIB_;5y
zY*2xh;;@T*bwZ006)d`geHkcN!5CXd&0OeeDCxL&5&vBJ;T16VN5;^MFs%5&H;7A=
zxe6@#p_1~mC|jg*n#F8`Jt_GEzTH)IL8Ebfiu+Tl4}{K1M6TsxEiYXA)S22!o%g;s
zj#QSu$6ZjR=q_Pn7aKW at mG0n5OM7D!d!gm&1XW^52XcVE!iy_Fc7h+2I|OGZ+|T3(
z5*sdP8&BdrrE*9}{j$<tmbFxVY3Cxsn7$;+Ew3HXm>Bb|%Q3U%BNG}*{DEx%%hU_>
zO1c{OB<F!H<?7v4x3ci#iH8FN;Du>g6PLsA=0dvds`}w0h)Lavnv-F&vnSNLIS_N7
z9 at bL2X#K?7U8$ITM<8B?&;B80$TNn4eRuF|(PwgB{owk#9j|Y8M%<jkGD%LW&;|#u
zQ at -<{Xo&H_>;>2{pix3Y08=S^8j<00Jm%YqDBw?s)2zTQKQFg}12Bb-q#J{Een#Xo
zs^XTKAjU)BGcw}Gnrs6Ep`dXtmgzQ4kS6i{I>w^2=~qY%dtUIUdSxBs#jkivu<o~>
zFbHcp at EgL4nKJXsNLT5z$f(K-0%WH2z4+IIgJ}`QevrI{mYDRJ!x$RpYFGJHO&c;6
zTXt`!M`1G)KM$h8Xy1Vnl=vyk4{2PDtl5bV?r_lqH<T6^&w9-D&|OdFNQHli?@a_&
z>*yqfnZ=P5X*W39N||YVGc!EaD(qgtG29xftfYD={v;X_6&)S%JbPeg4*I#GZaZMg
ze{qBL=Ai at ddZbO&o*Y)-Z#B^7{{}T*`=TeW5V{YBmB5`vRhd3uF8UsPbssL2sNJpy
zi)UoHj5gIVyRRPLu+i`+Xme)fQjWZ#J`heG(Q|#99+pRsKKVUwVe;Hwas27~FB-fw
zFZG6_Ff)mjD|gtl5dxqFzl%`zwVqf?iW+SzJN6P^N|@4xmw4c=6mBi%G=*nlq87b5
zoU(&6F9&y=Z<dq!lG2RPJzeY;*SJCk?O at J#tkXM?+5US``?LD(1flt6LMF0y#G#VR
z%v~>rUZB9xfRj>LtzlYd at QW*1;q+~4!&7UU&%82YzXwb5<aV=7Doa5pWm1`Cv_kQE
zNxHr&GU605*)`8(CEt=MTaxl>WldY`JmxXb{>8LRY!{xC+uW2GR`@JHh(>TPt8e|l
z4r$~&lV4)ZKkRONTK6WOkEp}hxV*S{?UT}!wytjTQG1xXu(6Smvb16mP^%y=E}*#?
z`_G=NGi#lHILkuB2lJMfXr)XlJX*1Yqt)MmiOdY*cRC;JEI(+Q7yO9O#Rvi%G4}2H
zsKjB-(1{aGNfuA?p1dG-{#=8sJ#IM-^~aPUk0h-)g_G%ZUdJRm<tLKhkDCt(dj`)$
zyZHI}6~kyNMHv_)olCz{xGpkjwd<w*ENrKmrzp-gF%Xg4#XAmFl0Hs^MSm4&n7&-v
zmZ56hU4aH1ZyPw|RO^8&Z7on))+XNQ>fv5$ua)tDWBLX&jZmGyEn@*D-wV}jy{y6*
zI-%M5c{&veok?ZbOFKuXwVjq5YE{o@(*5j5Ii26Knp5i}S02MJ8}Zp^418|F<&6lF
zG17qgL{`v<D~i_kc?>d4#jIo=ZWRAHm{Fip^*PPKltYH4ow9OTL?mBAjzIzh8LShN
zG|+Fh`gXOVvbr*qsq8NA?9N^mzFa$JOP$RC(johDyKrl>;Dfflbb%F}Xa(kDW;r2)
zTRjc8M6FA+)$cD~c(9M-MqpxFqjGfOXD6eZoBfZ+pGYPr4XoPQ7M!sYg|YL$mXueJ
zKJ;=_rLl|sm7)Eb>2gU#+iKE<9(Fkg*P?j;9>FZ+9u%%?`N3#!#bF|zBjoo;1%ZrU
zVnnCp=<?gD?>y~3!Y+z+0nkcbnK$!)nhWf`tlADI_ZR3Z)({WLblh4m7dv1boMrXv
zqXUjW#<G}}vmaAgJC|$6O6b-5dT9s21Mo)M$g}uDm2sNZJIo;uW0<0%Qa}b{>fnTd
zHI&8D8^>~md_<1-=+b*!B*xK;i3|ven9xa at NT$lR*P-IY at 0!T=noWRPq&wU(d9C2T
zkvKgUUBX*~o+TW at jV+Kt@=6*}@3ZAf%CBe-6nR&y^eSr<NWOl#LFDsT*I<kT7 at nlk
z&oBa6eVbEFU?GXOo1-l3Hr4azY;j1Si+rD)4b(OZhd)0M-F1de5srwVeyHnd8oi|9
z_ at -al&`|8Dcn7gHT~k(#jOwAQdLQ7}krxC1vR3oy!2)fT(A4F{dUNfA)o7&|9yx*X
z>nd~cK$%H(+HPshh at 8YjEt`r$S;@FZEnME#ZD|BbLckRv5wdE=u_zdWlHwNAL*y#r
zcd}&3vjry)v at lc6CZsXbvCMqZ#}qXp(BcSNdoOV%+uVqmPC%W=ru+<e?RoiXIeCCe
zweW1BfAekW?-BHrRqO(0?>@bW*Tr0!XnFpIzL%Gmi_G~Gzxl!Zdyo<EBOYl{N}aB*
zlf<Itfa~Tvb51A6Bc<hVaBaU!bHX4#j5c3{*HNi|*tdbnaZa#xIcGh`ANzKI_szQi
z1?Q9LX_`;w6(Qq}iG41jdT*7AXG3H(vlta{c*z at UqIMpCweRaBlpIB7%%u%0kwqne
zoq<Cd8ys9UAbbagq at LRF#pW-G0&Z*WjK!s2pMF_M*5`HOBjZ+)QWUcGTyc(km5b!&
zc4MN33AqJXr40 at mPVw^{xqF at 8sY3EvD=*aUevjrXZLM^nE4&P~(tK at Xb+6a0+aDHh
z^*keBTdp;5fW2X>#%{T}T)e9A>b;&eok(J~crF`t-*zCcn4Rv&w{u6)bF%1Zx^jPH
zk3`+sDE*Z%&+exZPFtezu|_ZJwLy4I>90Qm2)A`@B_Q8;{-F(2uQTJos0UH5ArgJf
zsFq<|_vv at o${oA&D`Cbo)d?78K~7}eoxp;b-z|jXAtGggcdI=|ujSV`v?Vp<^Fu1)
zoe$@M{w8iHW3(53Pf<l4hyxf&K|x9NFhR4pJOQWL)7`VG>bQnJIvF`zlc`!@XIrc^
z(635<|C6AtBJg9C1!uN~@9~F9dIvl6PhKxTL$kgEK|wvjyf|hYAB(&N`KC{W4Fo<!
zq&DZt<;ZVrj+sZh+p+xA(_iFS<zKIo_u*UI^qy9>=B0%-7s%og&MW1z5?JWI$S@!L
zZDzQ&+20 at Y2VGNBGlN)XB8yyGTg$#a$`L|9n8 at BQXnv5*9Y}t$v9+}@>(4Y_*V}?w
z$TKak?1u3=Y5T}9g>G&dd3VT>wfg*ao_7P=H7`az6v;xP+3yfy%w>0wa+t%=U!VM_
z?TGE|GF!dPwwKl1#gD&3{nv+>=`VimLNBhbqF^XG^b*8xa$Bf6ogTYqeOzjwgZ4T&
z at ZmIMAgXuWXJk$AN_gCJ=$`j^8#_(*wut1&mcn#$%W1AJa5-a*o~bs(s-AO)f3Cb;
z607qvolwR?*I?)SE1ndu5Rz)0$((~tZ74lyl8!FhPR5@?+0H>&X~KqrqoP&qwgZxe
zkwC1qEYo<rZ$rBGYsA)9_fqvyn}#!VVJ1v at B*-Ke$d-GL_DOGb-a%kBTO=R;%TjrR
z9Mhaci?>v)Vj*rXnyQc<TDIxwZ)iloB+)ddC!(UtK%E7y>dJ<Oq9PlVUAa6%q9zq6
zL(kY4n9qH|1q1@=<O?JP=KSq at R13>n%~xF!RhCDx26h}UQs~y{rKT@!-~E7d6jAMR
z|A41Nl2(@2{wzN#d-#cT`H7{3kyvvc)3rIcX>f;~{UO3UM>k&&?9mltZB%y5yak`$
z|3EED0)v~ZQiahC8GDQw#QT_&WwW)jhMM(uU-W0}v;=<DdX!w)G<>4k<H94<SX3zR
zGu?%zu&Q)|i>PnSro~x{hJRg8+S5a*{W+<$q&(zxFi!noRCI{dUe#M)Pb1jU-i8Sd
zIdH_yZKqEe3hqzTW<wQh)K+>TwKz)rYvE3=)(?(Q$MNW*0t=g=_X$okoX&95HF>77
zX~BeUktGE|8shK{8N#(p_h-2&d6X>6(%KEKUBAaH&$J{NtXhsM1gvI4bx?0a7HWnJ
z89)s8Mtq-!GVw^G@#G4^+%aD0^CA!WX2j(TZo-{qQ<m1?>A3cV#UFjdVU(rBbcLc9
zZvu0{qk;>}89%G2=by#L)m!=+K-o|;>031jm^+7)NRD&wHwWl`kyXU9^Y1)D4VVGm
z7>JE<Pz at A8%%o*llo0ryn}Xos!(=?4hH7KwJOi%uQkB)>z;J7d>ekj1l^zd+RjCaB
z8kB!y06e*PYB-P36^HRd$DQG}@4kiLA)z6aK*B4g!+vfpc0~%q*0Y(|rZFGAn$~&5
zUcgdt at X*LkEowIH9_4P}%Dbsa#KvQU|I!Q91|{jPl?Q>)Ar*STy%PE<PVk#Y#7 at 4B
z*_)dpW38ojTjG<G(63(mr365=)Y^|)X3gp2yKkqX!lG^aqf>ipGXJz_%XvZF<h-1C
zEEKrQzI-mIQqSD3y8o;(={aR|xA~~o(F%=H`cgYudu?Y;6$N?`t+eVhC$==z$R?U>
zh-h;ZnMw{>O-$vF1I<mkn|<XmQrGPjlw!yz`B*ki at tC~T=I3mvfyn5l$e$)H>h7fl
zIlW<})b{4R{&dc!PZ1IDmh)x1UpWq_mBZXo^_4lVkt23QS9aY%>uIr_(_y130)DwN
zx%(?AjnzRrbKiuVTrd~uvd<8~xTJ3EVPNbrGj`6)Gm`<~0Dd at p4EZ5K160m6wGGgo
zwsEoioU86^tf67xpI;amp{xL-I6Xb`WbyGe0u{A#K`y|r+Cxa at R~e%sU}rSKUHKT%
zD$V;!l$UbUA01p(z%`a<zTBSYNMOtaJ}$Dh_40fCGr3`LM53mlPocz6N2FNgl3iY&
zwCKyLaRy;4r1Di!%w>{03jw}ioH`+yRJr+Yvxnmox6=%{G>eD>j;XCvgS=uju{Q?T
zoLoSZqZj`E2v7u7j8M=*8Pt7;$uZz)6BVibs<8e5d#(FL5i5>%F6|EX@)+xJtZZeU
zfwqkJs4x~6rALDC0D`A5PN#WgObB*?d%Yn=zzL0cAc*_bmi*3L>??Wz1sPRoxTI<D
Fe*qEOU1R_N
literal 0
HcmV?d00001
diff --git a/docs/manual/manual.conf b/docs/manual/manual.conf
new file mode 100644
index 0000000..d87294d
--- /dev/null
+++ b/docs/manual/manual.conf
@@ -0,0 +1,21 @@
+[titles]
+ underlines="__","==","--","~~","^^"
+
+[attributes]
+caret=^
+startsb=[
+endsb=]
+tilde=~
+
+[linkgit-inlinemacro]
+<ulink url="{target}.html">{target}{0?({0})}</ulink>
+
+ifdef::backend-docbook[]
+# "unbreak" docbook-xsl v1.68 for manpages. v1.69 works with or without this.
+[listingblock]
+<example><title>{title}</title>
+<literallayout class="monospaced">
+|
+</literallayout>
+{title#}</example>
+endif::backend-docbook[]
diff --git a/docs/manual/manual.txt b/docs/manual/manual.txt
new file mode 100644
index 0000000..4844d03
--- /dev/null
+++ b/docs/manual/manual.txt
@@ -0,0 +1,997 @@
+Spice User Manual
+=================
+
+Licensed under a Creative Commons Attribution-Share Alike 3.0 United
+States License (see
+http://creativecommons.org/licenses/by-sa/3.0/us/legalcode).
+
+Introduction
+============
+
+Spice is an open remote computing solution, providing client access to
+remote displays and devices (e.g. keyboard, mouse, audio). The main
+use case is to get remote access to virtual machines, although other
+use cases are possible and in various development stage.
+
+Spice provides a desktop-like user experience, while trying to offload
+most of the intensive CPU and GPU tasks to the client. The basic
+building blocks of Spice are:
+
+ * <<spice-server, Spice Server>>
+ * <<spice-client, Spice Client>>
+ * <<spice-protocol, Spice Protocol>>
+
+The following sections provide basic information on Spice components
+and features, obtaining, building installing and using Spice.
+
+Spice and Spice-related components
+----------------------------------
+
+[[spice-server]]
+Spice Server
+~~~~~~~~~~~~
+
+Spice server is implemented in libspice, a VDI pluggable
+library. Currently, the main user of this library is QEMU. QEMU uses
+spice-server to provide remote access to virtual machines through the
+Spice protocol. Virtual Device Interface (VDI) defines a set of
+interfaces that provide a standard way to publish virtual devices
+(e.g. display device, keyboard, mouse) and enables different Spice
+components to interact with those devices. On one side, the server
+communicates with the remote client using the Spice protocol and on
+the other side, it interacts with the VDI host application (e.g QEMU).
+
+[[spice-client]]
+Spice Client
+~~~~~~~~~~~~
+
+The Spice client is a program which is used by the end user to access
+remote systems through Spice. The recommended client is remote-viewer
+(which is shipped with virt-viewer). GNOME Boxes can also be used as a
+Spice client. spicec is an obsolete legacy client, and spicy is only a
+test application.
+
+QXL Device and Drivers
+~~~~~~~~~~~~~~~~~~~~~~
+
+Spice server supports the QXL VDI interface. When libspice is used
+with QEMU, a specific video PCI device can be used for improving
+remote display performance and enhancing the graphic capabilities of
+the guest graphic system. This video device is called a QXL device and
+requires guest QXL drivers for full functionality. However, standard
+VGA is supported when no driver exists.
+
+Spice Agent
+~~~~~~~~~~~
+
+The Spice agent is an optional component for enhancing user experience
+and performing guest-oriented management tasks. For example, the agent
+injects mouse position and state to the guest when using client mouse
+mode. It also enables you to move cursor freely between guest and
+client. Other features of agent are shared clipboard (copy and paste
+between guest and host) and aligning guest resolution with client when
+entering fullscreen mode.
+
+VDI Port Device
+~~~~~~~~~~~~~~~
+
+The Spice protocol supports a communication channel between the client
+and the agent on the server side. When using QEMU, Spice agent resides
+on the guest. VDI port is a QEMU PCI device used for communication
+with the agent.
+
+[[spice-protocol]]
+Spice Protocol
+~~~~~~~~~~~~~~
+
+The Spice protocol defines the messages and rules for the
+communication between the various Spice components.
+
+Features
+--------
+
+Multiple Channels
+~~~~~~~~~~~~~~~~~
+
+The server and client communicate via channels. Each channel is
+dedicated to a specific type of data. The available channels are the
+following:
+
+Main::
+control and configuration
+
+Display::
+graphics commands images and video streams
+
+Inputs::
+keyboard and mouse inputs
+
+Cursor::
+pointer device position and cursor shape
+
+Playback::
+audio received from the server to be played by the client
+
+Record::
+audio captured on the client side
+
+Smartcard::
+passthrough of smartcard data from the client machine to the guest OS
+
+USB::
+redirection of USB devices plugged into the client to the guest OS
+
+Image Compression
+~~~~~~~~~~~~~~~~~
+
+Spice offers several image compression algorithms, which can be chosen
+on server initiation and dynamically at run-time. Quic is a Spice
+proprietary image compression technology based on the SFALIC
+algorithm. The Lempel-Ziv (LZ) algorithm is another option. Both Quic
+and LZ are local algorithms encoding each image separately. Global LZ
+(GLZ) is another proprietary Spice technology that uses LZ with
+history-based global dictionary. GLZ takes advantage of repeating
+patterns among images to shrink the traffic and save bandwidth, which
+is critical in a WAN environment. Spice also offers an automatic mode
+for compression selection per image, where the choice between LZ/GLZ
+and Quic is heuristically based on image properties. Conceptually,
+synthetic images are better compressed with LZ/GLZ and real images are
+better with Quic.
+
+Video Compression
+~~~~~~~~~~~~~~~~~
+
+Spice uses loss-less compression for images sent to the
+client. However, video streams are handled differently. Spice server
+heuristically identifies video areas and sends them as a video stream
+coded using M-JPEG. This handling saves a lot of traffic, improving
+Spice performance, especially in a WAN environment. However, in some
+circumstances the heuristic behavior might cause low quality images
+(e.g. identifying updated text area as a video stream). Video
+streaming can be chosen on server initiation and dynamically at
+run-time.
+
+Mouse modes
+~~~~~~~~~~~
+
+Spice supports two mouse modes: server and client. The mode can be
+changed dynamically and is negotiated between the client and the
+server.
+
+Server mouse::
+When a user clicks inside the Spice client window, the client mouse is
+captured and set invisible. In this mode, the server controls the
+mouse position on display. However, it might be problematic on WAN or
+on a loaded server, where mouse cursor might have some latency or
+non-responsiveness.
+
+Client mouse::
+Not captured and is used as the effective pointing device. To enable
+client mouse, the VDI host application must register an absolute
+pointing device (e.g. USB tablet in QEMU). This mode is appropriate
+for WAN or or for a loaded server, since cursor has smooth motion and
+responsiveness. However, the cursor might lose synchronization
+(position and shape) for a while.
+
+Other Features
+~~~~~~~~~~~~~~
+
+Multiple Monitors::
+any number of monitors is supported
+
+Arbitrary Resolution::
+when using the QXL driver, the resolution of the guest OS will be
+automatically adjusted to the size of the client window.
+
+USB Redirection::
+Spice can be used to redirect USB devices that are plugged in the
+client to the guest OS. This redirection can either be automatic (all
+newly plugged devices are redirected), or manual (the user selects
+which devices (s)he wants to redirect).
+
+Smartcard Redirection::
+data from smartcard that are inserted into the client machine can be
+passed through to the guest OS. The smartcard can be used by both the
+client OS and the guest OS.
+
+Bidirectional Audio::
+Spice supports audio playback and recording. Playback is compressed
+using the CELT algorithm
+
+Lip-sync::
+between video and audio. Available only when video streaming is
+enabled.
+
+Migration::
+switching channel connectivity for supporting server migration
+
+Pixmap and Palette caching::
+image data is cached on the client to avoid sending the same data
+
+Using Spice
+===========
+
+[NOTE]
+I'll use `qemu-kvm` as a name for the executable. If you're using a
+manually built qemu or a qemu without kvm then just replace `qemu-kvm`
+with your own binary. I'll use `host$`, `client$` and `guest$` shell
+prompt notations to distinguish where the command should be the
+command. See section <<glossary>> to be sure that you know
+difference between the host, client and guest. You can ignore the
+difference between guest, client and host if they are all running on
+the same machine.
+
+Running qemu manually
+---------------------
+
+*The first thing to do* is to create a guest image. You can use any
+raw device such as a clean logical volume, or an iSCSI lun. You may
+also use a file as the disk image for the guest. I'll use a file
+created by `qemu-img` as a demonstration.
+
+The following command will allocate a 10GB file. See `qemu-img` man
+page for further information.
+
+[source,sh]
+host$ qemu-img create /path/to/xp.img 10G
+
+Now that we created an image, we can now start with image
+population. I assume that you have a locally stored ISO of your
+favourite operating system so you can use it for installation.
+
+[source,sh]
+host$ sudo qemu-kvm -boot order=dc -vga qxl \
+ -spice port=3001,disable-ticketing -soundhw ac97 \
+ -device virtio-serial -chardev spicevmc,id=vdagent,debug=0,name=vdagent \
+ -device virtserialport,chardev=vdagent,name=com.redhat.spice.0 \
+ -cdrom /path/to/your.iso /path/to/your.img
+
+
+Let's take a brief look at the qemu options that were used. The option
+`-boot order=dc` specifies that the guest system should try to boot
+from the first cdrom and then fallback to the first disk, `-vga qxl`
+specifies that qemu uses a qxl graphics device.
+
+The Spice `port` option defines what port will be used for
+communication with the client. The Spice option `disable-ticketing` is
+specifying that ticketing (simple authentication method) is not
+used. The virtio and chardev devices are required by the guest agent.
+
+Basic configuration
+-------------------
+
+This section will assume that you already have a running QEMU virtual
+machine, and that you are running it either through virt-manager,
+libvirt or through direct QEMU use, and that you want to enable Spice
+support for this virtual machine.
+
+.Using virt-manager
+
+Double-click on the virtual machine you are interested in, go to
+"View/Details". If the left pane has a "Display Spice" entry, then the
+virtual machine already has Spice support, and you can check the
+connection details (port number) by clicking on it. If it has no Spice
+entry, click on "Add Hardware", and add a "Graphics" element of type
+"Spice server". If the host and the client are not the same machine,
+you should check the "Listen on all public network interfaces"
+checkbox, otherwise you don't need to make any changes.
+
+You should also add a QXL video device. It can be done by
+double-clicking on a virtual machine, then by going to View/Details,
+and by clicking on "Add Hardware" if the virtual machine does not have
+a "Video QXL" item in its left pane. From the "Add hardware" dialog,
+you should then create a "Video" device whose model is "QXL".
+
+After stopping and restarting the virtual machine, it should be
+accessible with a Spice client.
+
+You can remove non-Spice display entries and non-QXL video entries
+from the virtual machine configuration.
+
+If you go to "Edit/Preferences/VM Details" in the main virt-manager
+window, you can set Spice graphics type as the default setting for new
+virtual machines.
+
+.Using libvirt
+
+All libvirt examples will assume that the virtual machine to modify is
+`$vmname` and that virsh is using the correct libvirt connection by
+default.
+
+To add Spice support to an existing virtual machine managed by
+libvirt, you need to edit it:
+
+[source,sh]
+host$ virsh edit $vmname
+
+and then add a Spice graphics element:
+
+[source,xml]
+<graphics type='spice'/>
+
+You should also add a QXL video device
+
+[source,xml]
+<video>
+ <model type='qxl'>
+</video>
+
+After stopping and restarting the virtual machine `$vmname`, it should
+be accessible through Spice. You can check the connection parameters
+with:
+
+[source,sh]
+host$ virsh domdisplay $vmname
+
+.Using QEMU
+
+To enable Spice support to your virtual machine, you only need to
+append the following to your QEMU command line:
+
+[source,sh]
+-spice port=3001,disable-ticketing
+
+This will setup a Spice session listening on port 3001 exporting your
+virtual machine display.
+
+You can also add a QXL device by appending `-vga qxl` to the command
+line.
+
+Connecting to the guest
+-----------------------
+
+The following section will show you basic usage of the Spice
+client. The example connection will be related to the qemu instance
+started in the previous sections.
+
+Be aware that the port used for spice communication (port 3001 in our
+case) should not be blocked by firewall. Host `myhost` is referring to
+the machine which is running our qemu instance.
+
+[source,sh]
+client$ remote-viewer spice://myhost:3001
+
+.Established connection to Windows 2008 guest
+image::images/spicec01.png[]
+
+
+Ticketing
+=========
+
+Spice does not support multiple connections to the same QEMU instance
+by default. So anybody who will connect to the same host and port can
+simply take over your session. You can solve this problem by using
+ticketing.
+
+Ticketing is a simple authentication system which enables you to set
+simple tickets to a VM. Client has to authenticate before the
+connection can be established. See the Spice option `password` in the
+following examples.
+
+Configuration
+-------------
+
+.Using virt-manager
+
+To set a Spice password for a virtual machine, go to this machine
+details in virt-manager, and then click on the "Display Spice" item in
+the left pane, and enter the ticket you want to use in the "Password"
+field.
+
+.Using libvirt
+
+All you need to do is to append a `passwd` attribute to the Spice
+graphics node for your virtual machine:
+
+[source,xml]
+<graphics type='spice' passwd='mysecretpassword'/>
+
+.Using QEMU
+
+Adding a ticket with QEMU involves a slight modification of the
+`-spice` parameter used when running QEMU:
+
+[source,sh]
+-spice port=3001,password=mysecretpassword
+
+Client
+------
+
+When you start the client as usual, if ticketing was enabled on the
+host, remote-viewer will pop up a window asking for a password before
+starting the Spice session. It won't be established if an incorrect
+ticket was passed to the client.
+
+IMPORTANT: You might have figured out that passing tickets as a
+command-line option isn't very safe. It's not safe as everybody with
+access to the host can read it from the output of `ps(1)`. To prevent
+this, the ticket can be also set by using the QEMU console command
+`spice._set_ticket`.
+
+
+[[agent]]
+Agent
+=====
+
+Agent support allows better integration with the guest. For example,
+it allows copy and paste between the guest and the host OSes, dynamic
+resolution changes when the client window is resized/full-screened,
+file transfers through drag and drop, ...
+
+The agent is a daemon/service running in the guest OS so it must be
+installed if it was not installed by default during the guest OS
+installation. It also relies on a virtio-serial PCI device and a
+dedicated spicevmc char device to achieve communication between the
+guest and the host. These devices must be added to the virtual machine
+for the agent to work in the guest.
+
+Configuration
+-------------
+
+.Using virt-manager
+
+The needed devices can be added from the virtual machine
+details. Click on "Add hardware" and then add a "Channel" device with
+type "Spice agent (spicevmc)". This will automatically add the needed
+virtio-serial device in addition to the spicevmc channel.
+
+.Using libvirt
+
+Two distinct devices must be added:
+
+* http://libvirt.org/formatdomain.html#elementsControllers[a virtio serial device]
+* http://libvirt.org/formatdomain.html#elementCharChannel[a spicevmc channel]
+
+[source,xml]
+<devices>
+ <controller type='virtio-serial' index='0'/>
+ <channel type='spicevmc'>
+ <target type='virtio' name='com.redhat.spice.0'/>
+ </channel>
+</devices>
+
+.Using QEMU
+
+Adding the following parameters to your QEMU command line will enable
+the needed devices for agent support in the guest OS:
+
+[source,sh]
+-device virtio-serial \
+-chardev spicevmc,id=vdagent,debug=0,name=vdagent \
+-device virtserialport,chardev=vdagent,name=com.redhat.spice.0 \
+
+USB redirection
+===============
+
+With USB redirection, USB devices plugged into the client machine can
+be transparently redirected to the guest OS. This redirection can
+either be automatic (all newly plugged devices are redirected), or
+manual (the user selects which devices (s)he wants to redirect).
+
+For redirection to work, the virtual machine must have an USB2 EHCI
+controller (this implies 3 additional UHCI controllers). It also needs
+to have Spice channels for USB redirection. The number of such
+channels correspond to the number of USB devices that it will be
+possible to redirect at the same time.
+
+Configuration
+-------------
+
+.Using virt-manager
+
+Virtual machines created with virt-manager should have a USB
+controller by default. In the virtual machine details, select
+"Controller USB" in the left pane, and make sure its model is set to
+USB2. You can then click on "Add Hardware" and add as many "USB
+Redirection" items as the number of USB devices you want to be able to
+redirect simultaneously.
+
+.Using libvirt
+
+You need to add the needed USB controllers to the libvirt XML (make
+sure there is no pre-existing USB controller in your virtual machine
+XML before doing this), as well as one Spice USB redirection channel
+per device you want to redirect simultaneously.
+
+[source,xml]
+<controller type='usb' index='0' model='ich9-ehci1'/>
+<controller type='usb' index='0' model='ich9-uhci1'>
+ <master startport='0'/>
+</controller>
+<controller type='usb' index='0' model='ich9-uhci2'>
+ <master startport='2'/>
+</controller>
+<controller type='usb' index='0' model='ich9-uhci3'>
+ <master startport='4'/>
+</controller>
+<redirdev bus='usb' type='spicevmc'/>
+<redirdev bus='usb' type='spicevmc'/>
+<redirdev bus='usb' type='spicevmc'/>
+<redirdev bus='usb' type='spicevmc'/>
+
+.Using QEMU
+
+Similarly to libvirt, we need to add EHCI/UHCI controllers to QEMU
+command line, and we also need to add one Spice redirection channel
+per device we want to redirect simultaneously.
+
+[source,sh]
+-device ich9-usb-ehci1,id=usb \
+-device ich9-usb-uhci1,masterbus=usb.0,firstport=0,multifunction=on \
+-device ich9-usb-uhci2,masterbus=usb.0,firstport=2 \
+-device ich9-usb-uhci3,masterbus=usb.0,firstport=4 \
+-chardev spicevmc,name=usbredir,id=usbredirchardev1 \
+-device usb-redir,chardev=usbredirchardev1,id=usbredirdev1 \
+-chardev spicevmc,name=usbredir,id=usbredirchardev2 \
+-device usb-redir,chardev=usbredirchardev2,id=usbredirdev2 \
+-chardev spicevmc,name=usbredir,id=usbredirchardev3 \
+-device usb-redir,chardev=usbredirchardev3,id=usbredirdev3
+
+Client
+------
+
+The client needs to have support for USB redirection. In
+remote-viewer, you can select which USB devices to redirect in
+"File/USB device" selection once the Spice connection is
+established. There are also various command line redirection options
+which are described when running remote-viewer with `--help-spice`.
+
+[NOTE]
+You may need additional services running in the client, such as the
+Spice USB Clerk service on Windows.
+
+Multiple monitor support
+========================
+
+When using Spice, it's possible to use multiple monitors. For that,
+the guest must have multiple QXL devices (for Windows guests), or a
+single QXL device configured to support multiple heads (for Linux
+guests).
+
+Before following the instructions in this section, make sure your
+virtual machine already has a QXL device. If that is not the case,
+refer to this section. Your guest OS will also need to have the QXL
+driver installed or multiple monitor support will not work.
+
+Once your virtual machine is using a QXL device, you don't need to
+make any other change to get multiple heads in a Linux guest. The
+following paragraph will deal with adding multiple QXL devices to get
+multiple monitors in a Windows guest.
+
+Configuration
+-------------
+
+.Using virt-manager
+
+To add an additional QXL device for Windows guests, simply go to your
+virtual machine details. Check that you already have a "Video QXL"
+device, if notclick on "Add Hardware", and add a "Video" device with
+model "QXL". This can also work with Linux guests if your are willing
+to configure X.Org to use Xinerama (instead of XRandR).
+
+If you are using a new enough distribution (for example Fedora 19),
+and if your virtual machine already has a QXL device, you should not
+need to make any changes in virt-manager. If you are using an older
+distribution, you can't do the required changes from virt-manager,
+you'll need to edit libvirt XML as described on this blog post.
+
+.Using libvirt
+
+To add an additional QXL device to your virtual machine managed by
+libvirt, you simply need to append a new video node whose model is
+QXL:
+
+[source,xml]
+<video>
+ <model type='qxl'>
+</video>
+<video>
+ <model type='qxl'>
+</video>
+
+
+.Using QEMU
+
+To get a second QXL device in your virtual machine, you need to append
+`-device qxl` to your QEMU command line in addition to the `-vga qxl`
+that is already there:
+
+[source,sh]
+-vga qxl -device qxl
+
+Client
+------
+
+You can enable additional displays either from the "Display/Displays"
+menu in remote-viewer, or from your guest OS display configuration
+tool.
+
+TLS
+===
+
+TLS support allows to encrypt all/some of the channels Spice uses for
+its communication. A separate port is used for the encrypted
+channels. When connecting through a TLS channel, the Spice client will
+verify the certificate sent by the host. It will check that this
+certificate matches the hostname it's connecting, and that this
+certificate is signed by a known certificate authority (CA). This can
+be achieved by either getting the host certificate signed by an
+official CA, or by passing to the client the certificate of the
+authority which signed the host certificate. The latter allows the use
+of self-signed certificates.
+
+Configuration
+-------------
+
+.Using virt-manager
+
+IMPORTANT: It's not currently possible to define the CA
+certificate/host certificate to use for the TLS connection using
+virt-manager, see the next section for how to enable this using
+libvirt.
+
+.Using libvirt
+
+The certificate must be specified in libvirtd configuration file in
+'/etc/libvirt/qemu.conf' (or in '~/.config/libvirt/qemu.conf' if you
+are using a session libvirt). See the documentation in this file
+reproduced below:
+
+ # Enable use of TLS encryption on the SPICE server.
+ #
+ # It is necessary to setup CA and issue a server certificate
+ # before enabling this.
+ #
+ spice_tls = 1
+
+
+ # Use of TLS requires that x509 certificates be issued. The
+ # default it to keep them in /etc/pki/libvirt-spice. This directory
+ # must contain
+ #
+ # ca-cert.pem - the CA master certificate
+ # server-cert.pem - the server certificate signed with ca-cert.pem
+ # server-key.pem - the server private key
+ #
+ # This option allows the certificate directory to be changed.
+ #
+ spice_tls_x509_cert_dir = "/etc/pki/libvirt-spice"
+
+Once the above is done, when the domain is running, you should get
+something like what is below if you are leaving Spice port allocation
+up to libvirt:
+
+****
+TODO proof-read the following section:
+*****
+
+[source,sh]
+host$ virsh domdisplay
+spice://127.0.0.1?tls-port=5901
+host$
+
+This means that the connection is possible both through TLS and
+without any encryption. You can edit the libvirt graphics node if you
+want to change that behaviour and only allow connections through TLS:
+
+[source,xml]
+<graphics type='spice' autoport='yes' defaultMode='secure'/>
+
+.Using QEMU
+
+QEMU expects the certificates to be named the same way as what libvirt
+expects in the previous paragraph. The directory where these
+certificates can be found is specified as options to the `-spice`
+command line parameters:
+
+[source,sh]
+-spice port=5900,tls-port=5901,disable-ticketing,x509-dir=/etc/pki/libvirt-spice
+
+Client
+------
+
+We need to change 2 things when starting the client:
+
+* specify the tls port to use
+* specify the CA certificate to use when verifying the host certificate
+
+With remote-viewer, this is done this way:
+
+[source,sh]
+client$ remote-viewer --spice-ca-file=/etc/pki/libvirt-spice/ca-cert.ca spice://myhost?tls-port=5901
+
+Generating self-signed certificates
+-----------------------------------
+
+The following script can be used to create the various certificates
+needed to use a TLS Spice connection. Make sure to substitute the
+hostname of your Spice host in the subject of the certificate signing
+request.
+
+[source,sh]
+-------------------------------------------------
+SERVER_KEY=server-key.pem
+
+# creating a key for our ca
+if [ ! -e ca-key.pem ]; then
+ openssl genrsa -des3 -out ca-key.pem 1024
+fi
+# creating a ca
+if [ ! -e ca-cert.pem ]; then
+ openssl req -new -x509 -days 1095 -key ca-key.pem -out ca-cert.pem -utf8 -subj "/C=IL/L=Raanana/O=Red Hat/CN=my CA"
+fi
+# create server key
+if [ ! -e $SERVER_KEY ]; then
+ openssl genrsa -out $SERVER_KEY 1024
+fi
+# create a certificate signing request (csr)
+if [ ! -e server-key.csr ]; then
+ openssl req -new -key $SERVER_KEY -out server-key.csr -utf8 -subj "/C=IL/L=Raanana/O=Red Hat/CN=myhostname.example.com"
+fi
+# signing our server certificate with this ca
+if [ ! -e server-cert.pem ]; then
+ openssl x509 -req -days 1095 -in server-key.csr -CA ca-cert.pem -CAkey ca-key.pem -set_serial 01 -out server-cert.pem
+fi
+
+# now create a key that doesn't require a passphrase
+openssl rsa -in $SERVER_KEY -out $SERVER_KEY.insecure
+mv $SERVER_KEY $SERVER_KEY.secure
+mv $SERVER_KEY.insecure $SERVER_KEY
+
+# show the results (no other effect)
+openssl rsa -noout -text -in $SERVER_KEY
+openssl rsa -noout -text -in ca-key.pem
+openssl req -noout -text -in server-key.csr
+openssl x509 -noout -text -in server-cert.pem
+openssl x509 -noout -text -in ca-cert.pem
+-------------------------------------------------
+
+SASL
+====
+
+Spice server and client have support for SASL authentication. When
+using QEMU, '/etc/sasl2/qemu.conf' will be used as a configuration
+file. For testing, you can use the `digest-md5` mechanism, and populate
+a test database using `saslpasswd2 -f /etc/qemu/passwd.db -c
+foo`. These files have to be readable by the QEMU process that will
+handle your VM.
+
+To troubleshoot SASL issues, running `strace -e open` on the QEMU
+process can be a useful first step.
+
+Configuration
+-------------
+
+.Using virt-manager
+
+It's currently not possible to enable SASL from virt-manager.
+
+.Using libvirt
+
+SASL support for SPICE has been added to libvirt mid-October 2013 so
+you need a libvirt version that was released after this date. To
+enable SASL, you need to add `spice_sasl = 1` in '/etc/libvirt/qemu.conf'
+for the system libvirtd instance, and to '~/.config/libvirt/qemu.conf'
+for the session libvirtd instance.
+
+.Using QEMU
+
+Using SASL with QEMU involves a slight modification of the `-spice`
+parameter used when running QEMU:
+
+[source,sh]
+-spice port=3001,sasl
+
+Client
+------
+
+When you start the client as usual, if SASL was enabled on the host,
+remote-viewer will pop up a window asking for a password before
+starting the Spice session. It won't be established if an incorrect
+ticket was passed to the client.
+
+QEMU Spice reference
+====================
+
+****
+TODO, incomplete
+****
+
+Command line options
+--------------------
+
+They are covered in the
+http://qemu.weilnetz.de/qemu-doc.html#index-g_t_002dspice-58[QEMU
+online documentation]. Basic syntax is `-spice <spice_options>`.
+
+QXL command line options
+------------------------
+
+ * ram_size
+ * vram_size
+ * revision
+ * debug
+ * guestdebug
+ * cmdlog
+ * ram_size_mb
+ * vram_size_mb
+ * vram64_size_mb
+ * vgamem_mb
+ * surfaces
+
+QEMU console Spice commands
+---------------------------
+
+ * `set_password spice <password> [keep|disconnect]` Set the spice connection ticket (one time password). An empty password prevents any connection. keep/disconnect indicates what to do if a client is already connected when the command is issued.
+ * `expire_password`
+ * `client_migrate_info`
+ * `info spice` Show current spice state
+
+[[guest-additions]]
+Spice guest additions
+=====================
+
+While you will be able to remotely access your virtual machine through
+Spice without making any change to the virtual machine configuration,
+you can get better integration if you tweak it specially for Spice.
+
+If your virtual machine has a QXL video device and you install the
+corrresponding guest driver, your guest will support higher
+resolutions, multiple monitors, resizing to arbitrary resolutions, ...
+
+Installing the Spice vdagent in your guest will let you copy and paste
+between your guest and client OSes, to drag and drop files between the
+2 OSes, ... In order for the agent to work, your virtual machine must
+have a virtio serial device (and the corresponding guest drivers) as
+well as a Spice spicevmc channel.
+
+Windows guest
+-------------
+
+The recommended way of getting all the needed drivers installed is to
+use the all-in-one Spice guest tools installer which can be found on
+http://spice-space.org/download/windows/spice-guest-tools/[spice-space.org].
+
+To get USB redirection working on Windows, you need to install USB
+Clerk (TODO: add link)
+
+If you want to manually install them, the QXL driver can be downloaded
+from http://spice-space.org/download/windows/qxl/[this location] ,
+agent builds can be found
+http://spice-space.org/download/windows/vdagent/[here]. You also need
+the vioserial driver which is distributed with the other
+https://alt.fedoraproject.org/pub/alt/virtio-win/latest/images/bin/[
+virtio-win drivers].
+
+Installation
+============
+
+Installing Spice on RHEL or Fedora
+----------------------------------
+
+Be aware that RHEL has no builds of qemu/spice-server for i386, only
+x86_64 builds are available. RHEL >=6 and Fedora >=13
+
+[source,sh]
+yum install qemu-kvm virt-viewer
+
+The package spice-protocol will be downloaded automatically as a
+dependency of package kvm.
+
+RHEVM Users
+~~~~~~~~~~~
+
+oVirt/RHEVM users could be also interested in the spice-xpi package as
+it allows you to execute spice-client directly from the oVirt/RHEVM
+UserPortal.
+
+[source,sh]
+yum install spice-xpi
+
+General build instructions
+--------------------------
+
+This section is for distributions that don't have Spice packages in
+their repositories. It will show you step by step how to build the
+required Spice components.
+
+Client requirements
+~~~~~~~~~~~~~~~~~~~
+
+See the http://cgit.freedesktop.org/spice/spice-gtk/tree/README[README
+file in spice-gtk] for the list of dependencies.
+
+Host requirements
+~~~~~~~~~~~~~~~~~
+
+ * KVM supported by kernel (It should work also without KVM, but it's
+ not being tested as most Linux distrubitions already support KVM.)
+
+
+Guest requirements
+~~~~~~~~~~~~~~~~~~
+
+.Linux guest
+
+spice-vdagent requires virtio-serial support to be enabled. This is
+described in the chapter <<agent>>. Guest should have installed qxl
+driver (xorg-x11-drv-qxl on Fedora and RHEL).
+
+.Windows guest
+
+Drivers for QXL and drivers for virtio-serial require Win XP SP3.
+
+Building
+~~~~~~~~
+
+The environment variable `$BUILD_ROOT` will point to a directory with
+stored sources and will be used during the whole build process. The
+variable `$INST_ROOT` will point to a directory in which Spice will be
+installed.
+
+IMPORTANT: These instructions may be outdated. Feel free to ask on the
+Spice mailing list if you need help building from source.
+
+[source,sh]
+-------------------------------------------------
+export BUILD_ROOT=/tmp/spice; mkdir $BUILD_ROOT
+export INST_ROOT="/opt/spice"; mkdir $INST_ROOT
+export PKG_CONFIG_PATH=$INST_ROOT/lib/pkgconfig:$PKG_CONFIG_PATH
+
+cd $BUILD_ROOT
+git clone git://cgit.freedesktop.org/spice/spice
+cd $BUILD_ROOT/spice
+./configure --prefix=$INST_ROOT
+make
+make install
+
+cd $BUILD_ROOT
+git clone git://git.qemu.org/qemu.git
+cd $BUILD_ROOT/qemu
+./configure --prefix=$INST_ROOT --target-list=x86_64-softmmu --enable-spice
+make
+make install
+-------------------------------------------------
+
+Setting up PATH
+~~~~~~~~~~~~~~~
+
+Last steps before starting with Spice are to set proper `PATH`
+variable. For example RHEL is using /usr/libexec as directory for
+qemu-kvm binaries. The following setup should be suitable for qemu and
+Spice built according to the instructions in this chapter.
+
+[source,sh]
+-------------------------------------------------
+echo "export PATH=$PATH:$INST_ROOT/bin" >> ~/.bashrc
+source ~/.bashrc
+-------------------------------------------------
+
+You should now be able to access the qemu-system-x86_64 Spice binary.
+
+:numbered!:
+
+[appendix]
+Manual authors
+==============
+
+The following people have contributed to this manual:
+
+Arnon Giloba +
+Christophe Fergeau +
+Lubos Kocman +
+Marc-André Lureau +
+Yaniv Kamay
+
+[glossary]
+Glossary
+========
+
+Host::
+Host is a machine running an instance of qemu-kvm.
+
+Guest::
+Guest is a virtual machine hosted on the host which will be accessed with a Spice client.
+
+Client::
+Client is referring to a system running the Spice client (the recommended one is virt-viewer).
diff --git a/docs/manual/resources/pepper.png b/docs/manual/resources/pepper.png
deleted file mode 100644
index e837194edfb42ccf788e444f6787e3e98452a949..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 10582
zcmV-cDXG?pP)<h;3K|Lk000e1NJLTq005Z)00Afn0{{R3d}E{R00001b5ch_0Itp)
z=>Px$EKp2TMF0Q*=l}o!007(o0LTCUumAw00058x0DJ%d{9Ii8R8;(AWc-kj{D6S`
zNJwx10Q_)p{5UxLXlOtH0Q_KJ{3s}x003M704x9iPyhhD008_D5d1tmQ~&@V000mG
z0Q`7({4g+R003YB0Q^KmbN~SSARvSQ0E_?t&;S5L002w?00;m8FaQAjEG!TV3_vU_
zBme-o003A30Du4htN;MS007_s04M+ehyVbb005`}0Q^{3Gynk9006WA0Q`uEH~;_y
z1OzA?96SI37ytmE002k;0C)fZ*Z=@*003kF02}}S>;M4F008`;pb!WMlmGw}006)M
z0Q^u;<NyGGR8%M!7)&rQ{G_D(G&KB}m>dugAQTidARs&_C|Ec+a7ajmSXlfR81ha#
zA^-pY0d!JMQvg8b*k%9#00Cl4M??UK1szBL000SaNLh0L00tre00trfVD7y!00007
zbV*G`2ipS!5*0M)oA%8B03ZNKL_t(|+Rc3ld)i30HfXQHlvLUfLISiQ#MTWM?@N3;
zarX4ycV_PW_W%DMzEff`*u-&Ti%dP!os2uguh06PQ>Us*rDrXU`_F3W-*HvBeEplD
z`#=B5ZLEI_NwvA{>-$0a2luV at YVVl-n|tDF?-f>``x{H!AFd}N`j7wEGqkVS`a@(t
z{II~L{rr7!ef19kv>)cb(+~EJ>+wJM!@i*Xok+D;Xn!w+E};GNQ{mA5c4S|eTH(-k
zNI46k{rJ<uMT>#9Q!3mCwB2&_|IYRK(~m#?xPW&1($EfeB at c6<{dfmWIVehE|JdP^
zKm4=??PV2u2Q2)%AN^}3v?Vm{;CtKHy3l?s2HNuo>Kd{Iw0~3&{%w%u-gyU2dnsto
z<MjV?9odgREWF_7?=P}Vnf<s(R4-#{FMy0&AzMOgAAEOZuEpAQQ~SR!VQMddj1i6k
zOzj1b<+OXA3YPkOnOu-QquO3E+kE{5YY}kUFB3Xm4gMCe4~n8Bw$QF>=3oQa4|nXF
ztM0K3%_Y=oHb3=xmo4_q2i=j?Ilk)t^}q58?;f%Pyf<9q=1FwsCc|FxVKD#h#(4u)
zxqSTI{_CfOK9|s{2M5~0UgS1#5 at jl(_v59<w4Aykmh%Phj*oBu`e9kN|0Q|^BXpD)
z&L`(=R;(Ud(OJTAgnZz*reoA=s;bD6$d{Lkf#YrXBV2bz<Cu;<hpm;{4~%QK7+lW4
zQLd*P_cnHoI)fyMq96!&xEAQjJfFSqSk`C2Dc6kVT7og^)6l&gzi`Km<NC9+9ti7D
zkQE6q@%(*I<#pkK<&}9+k`-00)tx22>CCmA9OTOZ8~0oqo;2&KG!cbIKy56Z2dRpp
z1OOM(drK?$+P?kJ`|YKG8B>LvDoLb>j|%H6_y8b?PpyNv907Ys$483u%ZmWJw7Va%
z(efFv@@@;@0XU<1IlU$bRsMCBINS@^m_mdE9}R2r&cJeTf(U{$dj3Q}CK2Rl{5))R
zFn-b|0<wH@^7oMO`P#%Lfyo({3Xf4mP^JU!SrU7bwA&REb(6n`EH^JPcjGOBn@#}R
zRrn0CaokNm)T)&VRzIea at ON;5)l04`<uPXSKY*_~<C{Z at g47u72<#L0`b-c2nMtgU
z`V~97(^{j`SbnVxzx{tB>REy--E*9UQpYE!v3J|wm3+12_vF_c84e(5 at Y{hk_<59D
zL)M{?H?gLVMxOQM{^xj}VQUWRaopX_M}OfWK?zUHR~i_a7|Pq!$qStz7<DF_N`pku
z8I7#W_H9fo>4C5rHq~jJqO0yNyNT at V3PLvm7pR~^YPrI;STM0Di6 at 7dxTZB0z94=L
zLs1IcM3uIEP*R(%tRhTzs=r?czcXYys1r|!`%s<Co@>6ZD87FPB4sLN8qMweP%*l=
zts~l1w+maUwIbBM-3eJlfz=F9rLCD1dx|POL?+3JqI7N1&3IShJLSf4r@=Ckq^Q16
z&FZUzDzdC?zQc=()3UVdPk$d+i&H2Nj25nFuk;H<?1$dTi+m89TD7Vngy@%?8L>nT
z?ssmDDArL$Ya{Az^BrE0>n&TqaGV`vmQWyn1Hr6RA=r|sabKOhFgf=0YN>Pp&`fg7
zkcmKo;Fm8J)=h*7q)E)n+r3(<jZ?GQ at 9%(YDlqcWM@(oHqzvyH449MKAs8b<>BuTG
z2W at m{9Pq;N2);}@Vb8beHs_oRTpjjNb-D{O$Ib~eG4%rwnl-H7S0^tXQ7Za9Km4d3
z$^fjxARhBVRxZ0Ur~(Y5J_`b2d-f1y=LA*5XqR{vGG5QkK%G^+f)zu3pic42d97aW
zT1PUA^?bt$tOm0*AU*JPC>IpvOXn-3j+g2uR8yi|oYUzh{y4;yO8Wq!ZS2?OhtODp
zJhqN=3J%b~%J at 8L$TK^YAeM+<rFFbm8%nyp3$oH+8gd_yS*d6Tkk*lC)b5*1&RK<3
z>RkK=V!U7x;*o~@7(Ex1VV}4=<)<DuJh`f{b&w0~(%4RHAAEB_Ms+ZO5t!I2n{HF*
zVCD^Wq(PC388WE2b<OPeY)O0yOXEd31F8XB<1tbP-r4G9{b)C6&BTo{#@fL_wc7S#
zdM<vQ3vDt)RZZn{=~22VC=Pd)Bs(E9xYvps#BmJJ4yq=i>9+61On$*&d45hC4{LR(
z<Q4hRvPO{VT+bfw$kBdNZW%PJfkG?Djvl6{90^pt3hO6`V*Y>lkv(iRow_PNCN)rJ
zv+3?y8V{!SwZNp-24wi{!)VJiS2I3_;k!g- at D!*mn>Hcc)}S>W8tP+W6J(<$?b=ar
zK7EkSgdm8k5IN$@`^XsGNI&|3gm^S?L&Grq-gw~Hgk{Z1)bB+MoA9+ at TN?_=u7wKM
zOJr9FF2K$z<UTS0#xo~G)mPddK(OiCsck_T*MWdAr$P9t*UXzVTLT*}0E;`@xrF+y
z9|AORfp!I78uyTi=RkI}b{jlbLluNQ0+E@~kNIkw3dj0dIk+v71EKlK&J7~tmuYf#
z#d?Sp+&7esDh)_;a^zu1tRSPRZURw*i~)ak@!6j>;Y_ll{@XA~w|N7ww4}Rx>xwh_
z$q@(u5>&WJ(twz%e&6tqbVky2LMOi-FLC{I{$Zw69b`#I?#!J$B<$khX>(^}P0k4y
z$fOOv0o0KX2-0-i&5#z{v<7d9_KIn7eJ`9XMk6ty7XLtMg8Z)k455va+yN at 4=hxP%
z0bX<|25Z-}i&-!4+HrmULSvd`XqK~(2i3M-xu8cB<A8t2*wgSCok*^Ko+GQ^aLqX(
zlpWfq>ahuh06q*a$IT|An&AaYvlrd|r at pq78u$mXyH?P6h)j at ApM&g|1n0<*=&v{$
z06XgTLmmuE!_i<$gY2}c_$SRIuC%KH>ofLkEl2jMs+pLikqd<Pp*qw4GrB_D_*e7_
z=g3wr0EPBp;?wpkh#2_lLoEaDpD*%<SJAcEYbVunwN}mUxb^0w4+&vQ<lrUyIqGEk
z)DTeazH&6-SJB_{Aes at -P^@d%3p_{zqfQ5WqB?g2<_WjPqV=wXMorlgI7B&lR?FKd
zX$P7~CX`<y6Xgz6nUVmm1*(L=5ZI}ms=i at cXwI6nc)IMm`x%CEJvwxS2f5&RhE^(t
zQw(9l#DTr2?F8{W(D}YZPB`wQS0l7*r!`eQtQo^`*F#K^)iz27PB_ClgIW0l2ftcJ
z5AqZk+Vk4By^;oob|Kg2$e1#D+MSrB-h4CQxbZLy0!fjMd3D}o54D5bD`Dj!uG%(n
z*7Ku7<z7n-4DIGwLL1*A3<WU at 8*^n&co%tk$uu<$gGO7!880a^KjPDmJ%}Cxi)*k<
zlFJWrn{{g3_+mE8Hlaa8>pchAbbJeGW*u1vcVeWq<94a^N+a(>;5#+Ou~Umu`-B@#
zKm3a6=@=4vUjTJh(1&d9x=^)mrnp1 at ImishW%+5v9eJUFN0v$SBNLKi2~>U58>VTh
zrhGuD$2xD#v7l)>dQVKVqU#WHOcT4j=ixY8cTu21e(O15qla1gBPYfZ8E;wXOd&W_
zAP1DH=zU*_2^|F_02Y}^_U$~Hff{vs1r(&BGY at k8u1BSf=po4Ab2{)`WCAkaj!U)y
zC9tF#<1W7DZcA-l at 77}vxFZPyn?ePsy?XU34`~dV#J$d;=@k=^q~?E2*Q<SAik>kx
z at BETz3>lgZ7i@!{cN{&WrJ&3<>Go*sdB>sO8+K#8qAxkeK?!)<?|l(83U+FmCi1e8
z<*qkRpM}gAD;oRh5#L+25O at f-s!OVspTW#3=9L|`27|X^ri4e>)aRr&r)a=+h0J6X
zwfP>K6$EK)w3eoLvDSJH5ejo6Wa9o><`kg95Uc3t(m`9(VL?5bdBp2;O-p0^0$4Zz
zGhIjpEmYCl%+kOQ5RR?Mdc#?LM%dt5k<iZ7sr2qzLcnQ_tW9!8rstgu<f%u*<~R&q
z0ckxB0^Mcv06k(d7tpHO(J{%+?2TGaP at aR#NyMO<_g(tK+7cR&t297l#xgiKL7Ne4
z>85+haVT%pXl9z27xV&Q#9B%fmQL}T8$~+Y=yyTcxihjp_gWU>d9%s`&anK8!3p^I
zx~JtPmH$)4A3#Jy5DzfmD`ZtPjp0RX7y&Vb^EEN1{6-eYk?jbrKbW4mUIo%Ji%E2L
zxbOm~1m4 at jkmyKbwFm$+XDr5AW(8yff&yv2sv?ilPG(PUx)_<PtJ~QuRRr1Deg3DV
zNWJ%!`7#j%@ufb2*ZSdA?E9GxNlGBy(6%r`)kSFLs1Q^z4aYs-_YKDxo(3`Ttm7k*
z-$Z6`wH^2ExaOH_o0TOrFF3z*0$Fv2;Ptkybs0g7P2k#^ZXW$%#+O{{vj2A6Y8rXV
zR)xfx&d%lg9a2FuT4&cg)^)GXT)IMrj>FZ43dCEbZgin8ngLO(W!gcznsXkYk}|7V
zS{!Q%)!3AWB+0O(2W<}4OP=8!k at e2g=z0mwq%7Pn_vJd0JA&Fy>PZkbm>=YYoECH~
znxr7j)@3hD?elpH>)}T6VrwAXt-<GTQ#a+_pd~Wm-y!46otPlvd8pKe*s5uHRelEg
zeH%8LO|Et25fXcWylAg&X}z$pIQ<_x%4`~3ErV2E5HDETJhLB{1EeA1iU_#`p#7_N
zHxkrLk&b}u`gz+$+1eF?u;{<-?uslXYsjz|trx_SqKcyWX6RO!@n5rZT!SdD*?kNZ
zd|NYb7UNe&-DU$k4~vw#k9RuW*aBpx!g(tfAQO2#BTLHRBvcUOPVG7`0(u{8S5CTD
zECiQ+J~$vfNKt*Kb!pR4`mhZN`4 at hMom!%tjVb{rm`h;6W<~~R={t%lh;7w!(W;-Z
zq8kT!oerr0nPfC^@AtfUNe$!bj>s-5s1>3)l_5v(<W0VO^u at BvBpz}D<8JTm4%q4|
zKt6QV6OyER4MO!J)pyfoDpb&zW5J!#QYy)tX58seUOF9cgWL1fhyH0Uko`RWp8o~(
zL(|^dA0xG^Ztj&b=M=Ra?F^7Lxh}>RCO!%id16^>yEc5ovd+^XlyXORGWuCtkXoju
z|N7_8jCUvfM9iQ}unwio!cH;5on+<=`hd*mPN+x_9!07oG&c5=*w*>`A(!fFQ-c`7
zEilKNfuMypwd$)^K)#VT+w5IJ=Io>0A}t`RV0+vfzH>*sEQt@>U{bdUesY&%qSIT*
zMAszmzU2QLUC)aH4G8y0zK?AB3}oooFre0DV~!8I)KEwbYY at 5?+<X;k)p>`b>gNHi
z!e-4Ovm)z0vifewN^_ZI5rdVFUv5LD#INSAxJm%0 at 3D@OQ>yFM$r-_HlYn^vy7255
zL-tyLJU+{}Lm>5K;<h$eU^2C_7?XEwGgclT!uQ|w4<`aaCe~h+SSf*{%a7`&2RsiM
zdLOdCPY@@6vO%B+d_klbba|a8qL5Z!L4MbC$n?}bJry%>N78<kvk)?9)$c_O<^lSS
z%uz7CEFZ!Yq~n-$9_+w^<EP<=c`Bb)p#nW10+2TE*nSuJ{%|<X+k3j{xyi}csNLU+
zQJfu-)myVT@*$0bGG&(_&wa3?4h1_)nJq=g(+p^}s(*ZQ2~Jb18O^(aWNskRV_ABD
zY`Pn={y;=d3rHDjW~3gv*JxT%+sKBJIPYdaq^;uQZI5|#EmAT|ea+<t7_wbFSH716
z)ZqthN9rh}ev=^+mFRa-RSQ%g!6YAC&Qph0w{xsSFrl=(HaCQ)K)I#pOx6uw4B
zWqWf}fR}2metX9fMM3G9A(IX#z+h!tmie_T!1j42ELg(#M(vVjv(M<UsQ3{qn-ZXQ
z=3L8d1Qd7F*a$rNw)L(x`jkox8B|Kg2$DLU+}j%aLUGtPOKshR%F{c`Fq?I64aL#O
za?d2*yQs{8X~<InX*}Zj&4TmIuFX(GkXnW!NlG+hKR<c5u1+?)6jwWatdlOSmV||^
z50wmziY>MkTVh={6cg%yv^xPkZmgRbIL5Axjmz!{*Hqb%ph6(;QGXMebUrGPlh;IV
zYd9Hj<6f%?WiMvojM89~iQO8re+1F2Bk-~;G}fmmK$%>!E3&Z?ah##5^`3`V1 at 80K
z1~MhnwUCplCB4oyZA$H0N=IVY8xDIz!x%1R at dqEeVKh&?_ms))e6~ReT|pTdb>}UJ
z?7}<A;?7EF`5bEMwF9mO)_>FTE$g$as1v_8X2u5fFstt7Nvk=ZM!45KXg&j3$&dpg
z4x3E{M0OGN33b<ybvm+Y>7;jw4>ZMK2MHv(7IkUt at l2b^u-Wx6j(J;2(}yE`f&xE)
zv@^0#Qx}mF?!;s56iLN#c at 3H6W$G*@Vb80!#af>CWqWi{EwR0dQX3~TlAlnl>an#Y
z<$?on>CVU^XND5^(OA)mYa$6ot6fxH_>3(GaF*&@TFK3iIEa$PDo9|p8ll~UBE~%0
zI;I_AJF;hN?{Eo3g9wTg(<C)&xt+CIxIw)?fx#;3jOJRNBhxU!MCv&=;i(efi;D|P
zMz*|Vm%sK*WUsr;0gW%vABbesUfXPdD&VvCnT-TV68|}8NZ_rm<(`H&b(f8BQ-A3D
zZ{PZ%x^0J(1&wFzaB_)si)<U)1a~It#$JN}#Zx{>%Ug^20{HilYBWQ{=wsZ89H-f8
zHMj4*N(RR%rRNEam^i^Uk2}#uMrRX_<pw|hbrBHY-?HkvdR4<zJncJ<-?dMp`W9q)
z(0CTIJ~s?1CjKK(iO0yoqXUJDsct*g+mPgsdd*>mk(UhX%J!g<l%6FtM}(Alfp0`&
z$xj$7WS!DeN{Em*hE9|;>EHD3`dcex>a%Za;#x^yLVA|oj%fKQ1CKy6qf^z0Chu<s
zoI%*=5U~&MfAYDmIWO+SN)Tete>bukPdJyt=7u^1XmlI+#+;w&56+F`uGuU-UuZ}<
zCG_2Fqp$JxQ%-U^Vmq@{&D8U~YYlbpPp0!MpZlffLVJByL4KEv)bq|$PVs;`Lux{G
zcOeLIg{1+Fr1y~J4lsQ-vOyG>)Uc^5Po8qd4ib+M+TE%1TDi(6n8487!~50Ai(FU6
zIWjhd8=IFU;YrApk5psD0ihHM(E6KU?c?TP`m-~@l0b5`BcK{5{u9sH335c+Y>!i7
zEtg^Ndq5Lad_c~k(hCS}00a#kUOMWNga*iL;6JRB!1z$<038_{2U=cAnGD+HtyV!+
z_?4qsTjo-w>bx{&^DZcHni~`IFQv at +*yA}si|zDjX+Rx at I+GT-rA~BwESzr4F$+rb
z1!Bgk&36`D+jheCU- at rGG{1}5Y*pv@^o_7F=Voc?g at pFYboT!0^n~@AzG-Vv)Q_+U
z)h6opT4Mn?F1FW@<=er7(n~F_dke%ty6HvAH{AfTdfN4f*aHCm3?$d4$sIC253}9U
z%dPVd8QZnC>#F>%<JPRBei>z^cRf==$z%to*7mF<rcC<<k at bIJhb>GT4!?<w4Rth?
z)rA|V&#jG@<~8uA(o3%2IHwy|urU}Lk^1=g1SYhTY>7;dhHHDH0vqe at mR@#o27 at Ma
zZCH=S57r*;k!oo^@@r!E?yOnvnJv5Y($J>3$_||(>^*wk1d!GI4{RHe`;@rv`O`II
ztTuU5dhx~eZ8q9cF+E#;^h}4$!u;Y+j(5u19(<lNyQPAl0T~R`N06~e{rOBcmzuyJ
z*Y at CfL4Cn6ySeXa;DZC8srAQ at iHaXe)LgV-tN3kwg)C11VG+ncYSn6mtm$Vftu5<q
zZMoySf$Rmd`GdIj8?Ks@;lqQv>mn1$Vw1CakZBsZTp`P&nNke0l7Th!@HFgZJDy@)
z*8rSwo17n1^G5U<&*&C}taPo at 6XOvx6C@>Zk1tB4vtbtlhtz%@uMR)taW*LmSr^;m
z`r~Gn;C5b`<o9Uld{14?VbzMfO1Vq>P4y9FLYN))dnf(GMS0T^#o<!-MLGZ|^Y-XX
z^HDRCqvQ%P%E&f1p;8I`rS9_#P?$2Kvs2D^Jeox=8`0E+YbZFY^L;hG*bKl{7zw>r
z?dvgvQCgQUGi#%mH8#xfF2v*xP*l(uD_85v<QorDlN~Q^kjp1-@#$(D_XX>@ZPkjK
zwbqqs9XIY>S0Se(gb)cbJLxr>&U9$pAuG at UxR9pnF{42 at J4AegcUAxGjdQmle7Cuu
zJ3v$rvcVZL*369O8=Xy&S#cl at TPHUIZV>gI-YHM!Get!^K;3cUH~v~Q<L{qV2c&1=
z^z|DyCE>CYy|3EXT_Ssad-gF_o81I!$E_RpoU|iI7Qt+XB6Bl>+AOoji`u?O2XH`{
zwtaVfM&meWJV at u0fE`p}1K%1Oem`h;7R`eq9f0cxD59e~nKd2;4LKT0`PsU5yRDg!
z*om_6fZPF!VU1%>F=?N6q(_-{t>@+2=em|(1>((?J){CD5a$HQ4r%rcWT%ic^<&%5
zcZH!mU5YF>vtk^8iz at h}7km*PEt_hGbg~L(gOl;<fK71}sNNFI;}idAZAi4y*>bg*
z;U_07XuL-nR9WFNIpt<HC`M#GY{tFXqxGC9@>1{8!#*Hmhr_EE-Q_{!7jFWs+5cGu
zWskK)bBU#=iHJ3k<MPw5r2}sfn4h~t{pg-WfV{BwnE69C&nN*|c{i;HINGb9O9yx{
zzh7W9;}l|FK2|gVH7k$UzN at Cw%tO^hwV5ttR#-HvI|9&C^^wwq7kG+U0jy&ZW4#UJ
zQ3p1(Xf)(zRtRexN0eQH at My%4vaFmPiD9TH;q=CNGZ>us3&SihX*&HV_8$`&D>Q4)
zaOm59y<Rtl^8uITW_5997EVuH`_a7$KEHr0JPjpPRn(L(cSGM_?V{&9hlQ|4;Qwjw
zF~?-3i9PbLE~=_5%NcHKI;O&^Y*JphaeUX#IP1P~z9BLTx2qc4YLO-BJRmxxfKKt%
z`PAmP$C_qLWELv5NoN#T>@?B2n_0o?`k*{!6oTy6B;~m6%A8-!lSf$(v)y3KkWC~-
zQKZ#;a2_)XQRb!W4w|a8<$Mskr)qwk-68cn4<j-HZ3>nptzDi~pfblvk8=+5tJwG@
zk!2ToF<cF+%x1i5DJ2NUom5pMsS_UyYbUUB&pat4X5 at 41*71b at Y?V8md1cw?1Z*^@
zLG{lf8{s>X<TRDTIy<&D`7)8j^4&HV^UT{q>>pxg99!<6BdC1mmkXBxVhqT{MjSUp
zQI at I3=rytq0hs&ci#riBzFc^F7XDsLMroOPR%3qOSw2RU-~IPFw%8#fHDKp-s<8{Y
z6h?6jKf>KM7*nQG46-I6;zye<=kM56as2$kETL>Q*zLlGt(U<1XA0OoPYJAGRgC62
zvk=ehH)nwwO8lrHE`V7e!rUp@&~t8O?|fNOd|#E>4O-{3nVa3s9u}v}BoP#eWtzqI
zA)AXES-JeI`Gw39lTu6%YqFT*v~BrrKkxbDW?x;Olq*8r!&Nxrh5YtQhOCn#bIZ8Y
zHVF~fRT|>td_>6T?$Ca|rBhI$DPKuUPyE{TJUo+`z;})zWR&UXsuR!=pWpE~u>z=?
zaAyz7EDgf`jo;lEbL1_YL+e-pFYz(XfSA2g581(6p at Vg=^QW+(%z7cfdfbWc`|{?P
zqZM?@U{m0wBE+xRyU=Aqo3Lnd99Zt!6j6aKplHy$-rNJr?{w@;B#E~y_(eQSM}(c*
zIiBCW%1_pgZWTu}AUE~IXn5Doo8ONv$*wFbUCBLyU(_ttG-8z}^D6;`^)t&w?&v7f
zkaLu~$!G>kR@{!D+Orw_PEluZ$>Y<*WuV|U29yeH8>fBlZgYYa;^*gfnp(&LcHspb
z7g#o;6II!IDP at 7dtW^5#HTc%T%os&<sTb3kNV_g7#S}8+h|sI<c3{Qs0W?oIf3Xh&
zc?no`TZ?rXCL+<>6lw#Dw`gE3?_9WdJ7$6Q4{7scm at P_R2>LRxiYoHFOo??J2Z at xb
zb_|Shbpr>#c!l9E{u at Ohi^d$=qHN5qUlu&=Lhpzkh)gfr?}FgUb+a$4TQ15L%c=Z6
zL{<W(-BiSe)yPNfGq9?e`_4a%(())Y{1H%WX?gV&JKt}?YVd0Vs!?&s6hH<_Vy6?_
zfY8jZ3szdI*CXF>{D5{k*)n|t3+Y%a%a`}C)mlmu;SCFC`T2Mk2g=a#c_OH)Ygxx<
z?+#NSYZkwtM`eoinBPd5#fdBpWzJzFLU7M(DIqTKLp5^`g_r;g&zjB3pZR5o1#|qo
zy7jN%ee=?7^cn&!AhUvzs8~ezXkhd7{M;IqsaDdU@?F)H;3h}qJNtjebuCX>ZhgSj
z*@Y(~cD<^H+ZrB87V0SSp_+Cm-MHB47>dtEV|}OfLxIRb);ItXoppeXQLNJ}id<~5
z%QF;3cGr&(=fyF<mnh5npiph9fXuZB(k|lQ%r^`p5>$4DjC}uIkM;O3s720=ux?|I
zYpEi;?LG*~x1sMC&M<@`Bu)A3KCniov!}!~ujzmTF=SalgUq%Q-w;jgk=R1<pPQ%5
zp_Z~Xj{$UxM0Nx9H9N^K at W<s5^(d7>QfiON*+|nyll9YCuo{g$v<y}qD#p$v`OwX8
zvKH;sS8%CBdqy%MF~315*L9n38a9grc0Od?MoI3FQc2SgP3wk2G+i7TX;#iAcZ8B}
zbUyQ|%5OdeTBtJF4Kj6EmMOdb(A3GSR)0s@#CN(hz6)i%@R{l*L|48k6xK4k3uj<0
zHCa~0z&kq9N%>HzMI+QP4Ar8PU)@&K2mtxr0qS{TN(x1G21-$(JPHu;hZFt~3KB!f
zI+9<L-7j}%O~LjXfAVX&yy%coDxGlbh_xC~olKkT85CJfXsHxLHM!H_*YEpXyXdJy
znWjVl00)XmL_t)@t?9eg0R#<IsSWvdHD-GvlBBw*N(5gOEo$-n*7u!?kFs-QhN>E&
zryZCIAQL6k_H;c?Ri4rg|Ft6 at MfLLTmdz>*wRQ$nOh;M78g~l2x{TO|$JW>0$`Fd%
zGrwCBAgkA;7+qW-ov_OfMR^9H4XB3D_{zodyvP!hQ!p}iVO?F#Jdf={lXG?zh;$y{
zk*!QRoyJ$67b)KUOAu#UHPvGG8<>l}Bh)Fb%nH!20GlVKqU}F-&6><^i9YK3`LUw>
zO%&;o6CZPtg+(LF9Y9UfP;te@$sI_L{9`9kczGWpvvV_3>q$T~yxd1^Smj3!do()A
z9;}SzCawl#f8=3&cZj+1_^G1d9z<4B@~jCCP(s1^(@t<owS9<eo||OBvaC#&pL7;6
zcg#111Iryik$F0DzwrpmrpT1NAOk|%iHS9N8nFGuvQp`k%eT)v<p%$>$4iC%#IkwN
zPyv}BJPlZ*eAwEH$Z|rfh)=}@Q7$v~BQhqlrYtrZ<);A?vWVM{$a2~!3-{;7ADLO&
zlP>43DG7X|@g#|fYLhFtVX$g9GS?KJ_NeOWINe at EmY>de+H<e$g-v5`x at 4}|RD`E#
zQm(xdrF|sKCDnFh;Yq+0^_1e*`x061niBsM6H`=|;Bari=B~*<30MasWj`@?iR|01
z$$+tUS!`~9BFnSp6Rs0bd>12WkHAW^{2s|~-$D}EB)<@OZ@}hRQ~2iH5H-a^nA<Bd
z=Ltb0zw8E??(4xGftB8TJ7_RnW~fr>HunjvH2!wbVCP7ARB>PL6__~wX3$`7w at ir{
z^tj7?B6Gpc*3aE`w%!WyHb6Mx_A0WHd%}VS{|GQat`8 at uBJUYk$ryekXb4ixkif{C
zJp(Jf88E8-SkbE*AvS~8`v#VNBcC%P^NES4FMRvS(+KU-0k*uvn;V(1f9s$3L7U2B
zw+PgRU9kSv-hq`~8;_Y8d%gY!n`h1a1M5DT0eDe$TDB>E2VnU|fGU2S_d8sV2>tH>
ztaQ7L0`beIjTM7yQj|2m12DEncb{mm(MvX|odatfRlDB>Sia#Z-q)ej7zGWH72`ty
z=6nxeCH$ZWX4P)l!y{J)V7)8tI{{-d+w at EZ%%#}N)EYDX?<28a-BTj6!4`fKm^{L`
zqt+d+d9`0)(<oFFZZLNGimv+`VU`^mk`FD6M(jz;=I^>~6b`4CAI)~0 at uy1zRzEpA
za$WJ_?rFc}>wZej^{{8Nw>Hm&!huC#<~93>kWBE}C=322yeA0R;}*fEwY8~ZNmlET
z>yc5)fQ7EoD- at P7a9&4e0wL__LS5G@>;jRGQ6DO%xA`5u{Oa`|wf?ai5FGgIDTNa|
zDO6$(_bF0rVxrStFG+2FlEl`BR=&o)VEGJOj;rQ}HpR%ikn$%UlG?aHaltoml-FDj
z6Q#wqhQp!X8~SYGtzI`Aqr=X|iFq0VJw{6A<!=_Dqx^A^X>mj`8nmL>HETn+>{Fk;
z-?mt6I#8_{X9Sno9&0YJXhzB6Ev1-^It-=-?J0%fr&eDMOq33|`J-~HC(@4CfgmvT
zlp^mupHc;fjLLw^oWBQ|pZqnd1)$2WNQmTf0U at khI<*{>An>b|8<kBF?y#dS?1_wb
z83s(mKE;SN?zln<-cR`pAfAcbFtHM&o{w7d_w$ck_SieiY{*8g`3Yr@$U<y+hw at kK
z2jhYS#wiGqE+m(a^=;=2cu_tN*mF6*gN|jT9%ckp5MkHCpbBM=vT#KKyCLi*c&Dz)
z+nz;YjwpB at A|$OT5GoWVFhl{^3{|i)<bInL1#BqMEUL5fBHN~BSi3cq0*r!VwWijM
zE`$ox>UNd4nOO;xH^mfh`6Ey at Mf$Ss`NTVk**wK20`#@IVH0$LOvD_s5{rpb3^3LS
zZmRjovaie-<<_6EQAQL?e%&y at C-e7E;eVK(hrbn6i8SYX&OHCvr5(~|j}VV1G&PK7
zi05zU3ATV;+bFEl$$jILd#=mOBUT{23oIxkPx$;rL>ylU_*xkkcEqKs+~cPY=Vcn5
zBMW<1G>L>mqt(h^&CpDIadE9&7TCAYysutau!#KvZ at Ha-+E!#lL#{Ppj}%uA4z%kJ
z<3gM1nte0ej*Mrof${G}i5-2(q~uq_X>pE#09Vz!PV%?7ilkz?GuVDL9^V-8vTJoD
z`B<_8X_B1*6z7;-b#<lmn}c7tUy9|_*9l`|+g=U at C8`~g)g#_|H!=KUFH39;xQ^sL
z^XKAAaGA^JjyB(d&2LeVCMm_I&0!L=)(<zdkzQ>JO62TmujV>WPL8T9cu!7z7#E9d
z>SEM?^TD|$r$DpAtM-B34FT7<w4b%OziJEwwkxy4BLEP}4x`n at 9>G0Mu$?PJ=z9U<
zZvPjqSK8lNydI|vxL%a9yJ;fdF)nQ<LdXw$TzIB*#cNxc*2jZ=!kQQ05HUIV1cHJU
zj+0)i_4XPhbZZ8Ec9n8#>=@$#x8FUQ_5RL*-~~q)B#lQB4`rIJY2ML=*o~t8wDkQ~
kHGf!9)7sU8?+xYu18@`(iBJ0S!T<mO07*qoM6N<$g8i^Ig#Z8m
diff --git a/docs/manual/resources/spicec01.png b/docs/manual/resources/spicec01.png
deleted file mode 100644
index e2cf8c5dd86e18516e36b343fdefde3bd0c709eb..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 10244
zcmcI~WmFq&*KR5lEyW5gMG8e4NO6ioi at SS)prN?Cq)?m|DH^mCD;6lhwYWpEASqs;
zSaFBs3(xbs at A=L-?>g)JI44<IGka$5>)!ji_C0HI&qS)L%H1cRCIA2c_Z8%&H35KI
zaoC?Q-firWTEhf#?B<r6rko at IK1{QLHSU=!$w>n+H{Z|Ag$dXr_|EbMZU6uw)|HU_
z79cI-5%wUiyMl at gF6s^;Av2-gnKAa<Q-Ff>Yi;k at ojIRGn#lmpy at h6-NtF9YiydFC
zRh81)*OHR&UOgr12HmnCvsWgnS@~t^ynU*=z1|s<xgw}KtdvE*!rb--&(q!_eF&1!
z$r8dG7a9_x`{U)M__*JTQ}jGNe at V^bJp8YvyXz!{lL3tljgU=L>*W at Tf4L3ZIyPFh
zi-w*TCw}TCll<T}bT|BCOBgJar01j1em`&H+5>y7pg^HqrvoRk0lVQ)mFuA9jJ~-E
z1?W+N^L^g%lKw(t15JLti4g+_AKFOi<)b3L_+P>Zvy~X3q4>R+?u`8c)r*9^?0S-A
z?OIj;!91tUjEnt`mnfg^4i+mdG)HEy39Z+3p1rL%G>cD><pAOgv0!N_I^FC^QOsAQ
zcH&)s*(oB-gC;+AdUBn|TBiYchhYfhV<wA?sYON?7Z<0cr7d~)Tk?F<w;#?B>gwv6
zo0|(KrWJngrGY1$pSbRWE)TIXK(CHsEFt53`HAqY7<3smaH(U7Twu#53z-%H8W8 at 5
zbBoJ}=_A^MdN{kL=A}?Wsv=85))t3Ro%39SNA286&y=y(-1ZEDRdcnSo~+En%4+pl
ztZ1d%`tW)-be`*j9lRdW6GPkRx#PQ$pF+uD<b8cS<uqOK+OGNS=$9TkKl}CJObN{S
zhy!ZA&SfP_%<p7-#%)CGlncSz>0#XCVvlOsf;ZOK&m44;t4&Nyob};2k9qM!kcJOh
zwTM|$XjIup4((A{VB==rjrMw~k#q^Dje(7Uf<mO(qv^=?H$K&la}CNYZZlRX0oxYz
zT8j7#!XhG6ApIW`6YeV?1r&kTrxi}nOVo(y;b4CfJLbd*gRBHGUMy3!)>-y_+6_Ey
ztgfz(l|Y{nayB_%?$m<aM`bu$uUz at 4uLrHg-PSX`9A~RGS}y;%(cm^xtNJ61Y8~eS
zPUqHr=EY8by6sd?(M{FzhjY%<yoeOHctp64bg;E|0~;g9*%y4bK1(P_$9tf;h%7q7
z?hmAJf?ETx(bt!|&8H?14o=R6W<M_{r`_w*1+a<9 at ZjX+B(|H13bV}Dq{4~Mlg<_}
z*9*|=EimS4U82?ZcvE2Bdxaf*t_Y%x?pXm}&Q5J^ZssMHm6bU-I4GrX&^o4?hj(xR
zS1*pYtVgo0Gk5*hzX#nJ5x*>55PsxXnyv_Jz29cYIk;XPxN`q^P}h1h at jXttM>X8W
z2@|E6wSf3OFA7b=)9mLA*ib6cwmn=M!X_<1l-t;N*{}saR64 at SHC$eQad}zZd@{Qm
zu<JKopn_`jDkoVc1fR7#1s*;rJ1*8K2_dO*Py*&B);QEwSNmk?X=!P_d4rmmke2Sa
z<`h)JW01xCxK92ZiPIvnbZ8x#`vzALsAad~B&j%K^=K+w>T1F%b0_}}e{7y7YvMs(
z;@A0+TA-PfRL8>A(1J3I$7-P^09E7Ac(xpU9hsxqkHOJY1m^!~+->26o)2VSOcWB+
z2s$4Q3HW85KEUifSUBqzp!45r!=>|HOkcQKD^N*CUt`%_Y<myB-qh18GdwQGT$D?o
z_hbEheg8C{&M$#Q1<M1gk#J+bt+HCfWUEKr<Z7b(zY^5g@@3_w8$7lmey`AD&a5Ra
zXG-7=n=tFF$MEDT<d?d-y1cwjOzoDBB9L0lg75wSK~9tKgXq#F9ihOUe$GbOg-y)(
zZtO+J)c`s at o1{JVCG<QMIlB;poTdMe=^v=8AG1P4r6L)j{@nfNqbZO4#4xk7-I!dZ
zik22}4gH&sV8aGKjT*XqE>B{ew{A5v_VzpcRtc5%&tAC&3M>iF#7e)}Fw38fE at C7Y
z?&V5;XmNNO8Y1C*260(d3BF5uxm(jIEgAQe+r6zdmc;z1fe at pSDo^C-J1CX4{5XpX
zV)^;eVR_pn9<^IIdC!^J=9ym5bcjMJBr+m0GF6|1`x0}2ar)i9*hAiP?Y4KYNGto&
zqqs5FNAQcr*4o>NuvC4bITSs|Ri&?BdTJ_6R$?XxmzF;&-086|6WwKAci?7wZqEmw
zhaJrIn*CJ{=^@-?`kj&yZSUQFKVi$|Abc&YNhI@*gh~EjasNe^vojGf-POWUt}&5S
z`cq1&2fv&Yh#j4|Z1d=y&|>;Orte3!sgtsbcJ}hJ3OfQKzj5x=*~Oq1zuH|5(ue?X
zsg+e-I;3tbu6OK(7ou-TxOVmOvl2ZLKL`&WO}!s8`xV;!s1b+T+sS;4k1ud<zO%Db
zA=cNDWeg;H;4pFLV_ at -eND9}c(3uqf14tHK{bA%2CKibbdlaR#dmk8WpQpea!~REb
zy7hj7*8MvfT4kRV=%^y}p5JvquVtr7;vorexxUluj%;KIrdA(>@P&|cDqByHShFy6
zN~1RY75O$Lx=+0U-&u!#1TCP!Nou5|moSfHk16TfcF*5m#TJIr9MUVang42SOC~WV
z1km(cAI;T{9C<2PsVPG683yq)X`<xuh|?=Y&6pW^%<%@ED$IIp+rLa7K*3qeLh~OF
z`Bq94J|su{AQ!}W0Jv%+OYF0RUUWDG9JFw5>$p{s?yH%5bh}A0ga`%U=Huv0=>JYm
zp{SD`B#&<@In44D9bS{F8Os>)J7+4~j?>oRwv%yi$@}W-R9 at Z4Z2hzxFuXNL26JBv
zf?oEh{k+t>oG@~bzIr_UIE81;`;<a+uaY{RGoz97iISC=-Z#37R873)FPqM!p*Zm*
z1&IX=V`gxWI~?A(Ett&DL`JyiUyg|QeYtQ^C~<u_LZ?kQ9TkNrs_1UywWAaf?#R}s
zEQddjmd%Az1{iR{TzF>u_0+tS+?3?xE?<FTQ`CBtjSVwWxe?sdSr=z9Rgo72i%sjC
za?tZtmBWH5(c at -}!1e41Eax}I$dr`48ZyMe;pgDhP~G^<qH({%jG(O9p9QwLGXmkE
zeB+Tc*(D<rsw?_UpiuZUKh4)(TMw{)84~w)e4yNZrjpsbuTYp8ay^=&P{Nx<Mu1i0
zXDp(=X^Tw at PtQ%M{Ke{z6sNBd1W}ejanj!^<)4H2*~e;LZ`acW8UfaMJGg3E8jkw{
zR8dRUFWv;6?0w9}6ELySUqZl)()iGo_YNpd^LZp6eS%f3X>?63;sE8 at p^>d)+ctFk
z1c2dzi>T(7N~Ngc0;-pw%dK+%otTm}v3bUy2m?_rv at nPvLf+=j#>k`KNO_xl(X#F_
zMH>iYD6M*}X{WgD)!lc86n4h?yh`#NBv*?U0ohoV{7%ISn|USb=g$b`y42&72B*Uk
z83x!sQYl5*$|%}N6eW%s+R!P2)Hdcns7UL-$8k2%(>LEs?=$o{grBX<*zJB8F|gKO
z;x*9`A1z<wa<O*mj{}8TJ*F&i=F#~qntxS_O(Ngm8)QnWr(vxBkVF^2MZ?!$ZEfOO
z!Z(O82;o1_bL++j6`(&j5HR$5h)r4axLNT$99IOYv8&ms5kmBea%qbytmOSUaRD(U
zHTvTQn0PHW^V9WtOXOtxab0e$l-6?!V*Gd)F|jJo*VFK+pP2-Yzf^Ml{23`BgbPT>
z_9cgr5kUGI*>>xc3m`j!Hfv~Yma$Rt(?<Q6E!qwF&=*2wY*}8$Qy!x(xbIFGEAEoU
zBNJ<PDr5 at Go~zj<7rB2e9O<=uW(Y(!@X at 8|l6o1f)<ww;=MVw7U_t!xO^jvr%?LS!
zhK6=uyQvOcWs`jBVT^hfYlITHnI5oAC>;?QuLt1T2$FHVs!v~dO~q*EX9lZw3kXY~
zYIkjpWA2)0k4f!S;2g-3GPE12DYW?=TWwBt=R1=u@^0E6$+PwMyBlh1B^>r3MH7+Q
z50V8>dFgUC&$ic+Ycg^zn7<`6HBZK?6pnX(!j+&h1 at +v1*Ox}7x~C=C*4gL2`2|?1
zqiGXwkm{^JmY~eMqs&pB6czqf*P~tM=m4oo{E&L-E6Kg#MO?tHuPMHHfh82Irsu~;
z7TNtpQgNs>DN34goO%;x at M!6ea!h8G!#a}^V{*LU0Re!8yMo1?_z_e&=1bYm&c1Xz
zk4gt0Xq-=_BTkaUCV$(XV`>WG)x28SH#^=hgG&ft;jLhCtqF at Ch2+&2wlbtwAJ#hy
zeyQ$9dCJN4#COQ0rKi*MWQsVU<LSZ^8OOP#NUJIUrmjk*_$v4?ScvJ%m;7&%Ci@;n
zQx7OA5fXgyJKdgX_8U2w0$Uf19rRz9Z8!|E8L3l7F%z-(=VFFM0N)MN at L4JJ(dz*q
z>6oa%Bil9BbZ~}F=GPaT@~oG!?$Pe<4LpRt(nW)bJ;flK)OL*2;n#A&;@kre6vR!)
zAX(4{Id2i4MQss~QsGeb)^SC=Fz2p1=;!Q>!}jt_kjEJQ;_unbkb&UdxL;7u-qO^_
z(5IL|0jbkt44in$LK2W#`d#?j#-Hr6Zmth;z{Em(wODHZPb1eMe2gsXG-6~y1!j*W
z*;j2eZTFP>@Hha1mt<SNwAy8&A)um)hS|ofpEJN0yq4<oCm}Yn%1ge6K$)=Dif`i8
znKbru>i^tHZ?Is9M~HRsCBJYqQfI{Vz4SWv9g=ITwyMyqDU3G&I3u;%$z7%KY%|CL
z4q$Wa5*2lUdS1ts-OM^`7gQ%b)CC+RAODCUQ#Q9h7Xv-*Frg(+e&(Ijc}+$cM6>_W
z8rj+T at df_VcP%tP51y`<x at p+(8Qvt=*7rxQruGR786jYptwPnM<{rD}VbWp2>_&|9
z%udO`<<6c5l>oeGWfu*Z+I`bhJy2jI-28U-0M@!txAINEmym3g-q1jNF{Io?^N%fY
z7nuMYrUNO)aVvhZ#YVjSlN??GY!}G6wP=55i^AH at d8{wn-dp5JWz_w7=;zg?kLA$a
zeBC$EW8S^}r%dF$eyFqq9|2tw1!>E9&yzn+7w2KL5@*JG@=-^xFu9zx_DkxWo`?-?
z>)~FA!_6c?#Da1wDk{9ulRd^;z74gU^@t&39l3JPa3_633roLKEAuHM^-0v|!?K9h
zi~jiQ%$e#GKIEg}m<|WI!^j7qqU0HOH$_-{uo9JaOY_zbxJhFP>s&(ry3t%pe at -M0
zz}mue_nwBHo*r~SBBmu7#*au0=JQkjB+sn`#6gVF5Wo&M6+LNpxbN0yQEJLFL>O>C
z(NuhGXxH^Cmi4tJ-p&H;<rBbg`!_HYou}eucBZFjMoJpbZ4~>s({NXO)<IE0nqlA(
za59YJaTvE~;2w3NF2MPOT#{jaU(V~9%RRsz{2o$THJ%9I>?oZq%}xUd=3$mLy#=^U
z2rxakL)eJjBh{BCvo5>+?sKAkD%tH<?+QZjKma^dQ!@#`tEac4^S-xh0Pv(u<6n)_
z0&Z)W=Y-<`UiY!zr3Bn%tEiv{JS7PVMeqY&IWrP!NdoZ35=nw^073YmZQPqEv!&;N
zyUZ08&J=*#+W#@OK;*{Zhdb^&K$8A%vs<s!4+w4$2>wCH*&qhI#s~4u-Fo_pnbKDu
zK$6%b`G62`oBVI at +l1CMIPadS;E!S<J~Jg#NOF1J1!SNesdxeKw1Yzb#{VaQrJEEL
zO&BTwPt}7$uK|D{yuXm2|Lym+^9DKilip1prnjTjv72{ne|cc5yg~Zf*`7!OxXs5b
zZF1`s*KI;Vxm!=M!CFjrUd0uJyluGiN}Y^Q49lOQ$zP?vRgAa^d-g8|%oOnex6;TM
z%K=Xx{f$`EE_p*Nss2syJ4KK(KDJOT$zKm|qMU2)VWCWKIKRdA?MDYzrC$$kI7t28
zej|%!=wDee{)@kV1ngx8;K`c)#a!`Ur(WHqO#1^M`AqhgMn4isd~g75c%Y23TYzA)
zzj(xse1v7?xlbq^R#}$6@(tEDyTSN}BP{y`Ay^C`1NPD%{CB=_{|h<)6McjO)PSe*
ze^>eM4F96&fZ#?P<-h8}YI`&AztMA^nr{;T1Z%l(60RU1yz!L&s}?K+H!}WPp1*lE
zB}M)Zm7Yibt#|oNKVf^~F}9Olf0s081-w#!T7i`t2k`FuZ2-1;Z)U)aiS6}&nI!sv
zf0;MF|Cq0^v*jQ2CiGwCKS(#`KS=)#m_&d2?}7gF>HoLm{(q_9Kd1Pw;<42HUvu%F
zk#0EuKa>2wv-;nVzQcGUd-toJcDDfDxltxOWz at p+J&I0w1_vw}u|)jAAUP5uJ~cZG
ziW)pg3d^bPM&qOocIe=}Uf&gcEBIL%Lw|pK-4d~ZSSW<qpR__x_Ff1yjT|>=eb~2f
z_{n+?@E$b&({FJHjkXjuaW<i25QU-{$IjcnGk!7R7 at r(<oqZ0IH`NeM5OO_>NYso-
za8k6%?EjTVqG+QB6iGoS^HLB$4&%H3j2d4FxJO99l?I8CWt2IN?2oEEbi2^h&_GU(
z@{s8d4h~uyyAmKv)h>xY8_ at h7c7(1b&G1qu8&z$d55+1B^shVgeCuGa8<H6)oYZM8
zksyOmO2)-8!SoSyK&r?H{s+c)z17x3nDP at fGu~%!6TTi~%4ae!gGHqFapgVLG$dpQ
zH7$ch5&=V>=2s<3KA?NElJenw&+olN=c9~2+g at 86>wd{r at OtNsBr48bmGzkF8pId~
zmI_k<W|`IxNC$g!8RIBG!!ung7QdDI43<fznKa1l{`~Dw#{a~Lqd|Bi%T<K;4lb=N
z*YY7Qy~AK5?Xz~kl_^iz(R?$^K<gt|^h(>weUo;oJf??nOj+XK8cfU2hTc|#i=8#H
z)_8VFTm>mDyDqXyoI6+xU&J?Z`W<Xs*DiP))T|B(j9HbeAs?*_m2 at 9fbl(jE>vIu8
z(zZJ^@x~PSY3*!x?bRR$F)N|%q%xp9t~@h?g4Ah$buM1~7a<I*-x6z=zLH0F!T95!
zk}-KdHw!7$P8uwO|LEF}7-PMApBKM_WW!q&{5F{~yg!PN5JlXSJbzGWAk=*I#n<yP
z)84Mws}(X;Dg9E3r-eyZRL+hHhO at 5e{Nc(md+okQa0iR{7*QxV;K+~jg!9bu^>Ngb
zUBMF+ebbEY0%{HJz(+ZEG`hSXUgdB|e(5v3GbJD^#lrmN9s%W5*Kzk9%=uYRnUgNa
zaPs^}>W-BFn6Gg*)%n?5Wz#<Gv6&MBg=bB!)iIrs at +3CM1TSZTe0MK3?2UPCZm(89
z7ZF1QKY4;xXr9>zkr%6NWZJ)`ZAT)WJ$Bn at y3hw{nko$OExu)Wtt?4G{%y_j&3Ic(
zE>%|tYYPG8r=~#7OlF_0dvI3Im}5siZ8jPYMtnsIS1q at xi<-AGZTWWWLe>xPR?3>D
zHh$TaI^Qx|rEV&m;S-j-S?3eruhmXWNlHv4QXN$7r3G4Xq=+CVMDuG{;^m1_UZ6uq
z-z00YBoxUrnH#Lx5JOje*r!SZuV<Q6`38%srcS%j&l&E`Qltzj(x6%-tkY1ZwV^1q
zW5;+lS^_FQ$8~~TrpP|sYgby+m>JZ=?96Z2!OgsW#nGpK5Va-q82fJS8F;?37t=#P
zJxF^Y)ns2|rsw(K$b|3mQ`^k4>HQ90<szP+cgga4#KH`yE1N1Asny(1iH{yIB_;5y
zY*2xh;;@T*bwZ006)d`geHkcN!5CXd&0OeeDCxL&5&vBJ;T16VN5;^MFs%5&H;7A=
zxe6@#p_1~mC|jg*n#F8`Jt_GEzTH)IL8Ebfiu+Tl4}{K1M6TsxEiYXA)S22!o%g;s
zj#QSu$6ZjR=q_Pn7aKW at mG0n5OM7D!d!gm&1XW^52XcVE!iy_Fc7h+2I|OGZ+|T3(
z5*sdP8&BdrrE*9}{j$<tmbFxVY3Cxsn7$;+Ew3HXm>Bb|%Q3U%BNG}*{DEx%%hU_>
zO1c{OB<F!H<?7v4x3ci#iH8FN;Du>g6PLsA=0dvds`}w0h)Lavnv-F&vnSNLIS_N7
z9 at bL2X#K?7U8$ITM<8B?&;B80$TNn4eRuF|(PwgB{owk#9j|Y8M%<jkGD%LW&;|#u
zQ at -<{Xo&H_>;>2{pix3Y08=S^8j<00Jm%YqDBw?s)2zTQKQFg}12Bb-q#J{Een#Xo
zs^XTKAjU)BGcw}Gnrs6Ep`dXtmgzQ4kS6i{I>w^2=~qY%dtUIUdSxBs#jkivu<o~>
zFbHcp at EgL4nKJXsNLT5z$f(K-0%WH2z4+IIgJ}`QevrI{mYDRJ!x$RpYFGJHO&c;6
zTXt`!M`1G)KM$h8Xy1Vnl=vyk4{2PDtl5bV?r_lqH<T6^&w9-D&|OdFNQHli?@a_&
z>*yqfnZ=P5X*W39N||YVGc!EaD(qgtG29xftfYD={v;X_6&)S%JbPeg4*I#GZaZMg
ze{qBL=Ai at ddZbO&o*Y)-Z#B^7{{}T*`=TeW5V{YBmB5`vRhd3uF8UsPbssL2sNJpy
zi)UoHj5gIVyRRPLu+i`+Xme)fQjWZ#J`heG(Q|#99+pRsKKVUwVe;Hwas27~FB-fw
zFZG6_Ff)mjD|gtl5dxqFzl%`zwVqf?iW+SzJN6P^N|@4xmw4c=6mBi%G=*nlq87b5
zoU(&6F9&y=Z<dq!lG2RPJzeY;*SJCk?O at J#tkXM?+5US``?LD(1flt6LMF0y#G#VR
z%v~>rUZB9xfRj>LtzlYd at QW*1;q+~4!&7UU&%82YzXwb5<aV=7Doa5pWm1`Cv_kQE
zNxHr&GU605*)`8(CEt=MTaxl>WldY`JmxXb{>8LRY!{xC+uW2GR`@JHh(>TPt8e|l
z4r$~&lV4)ZKkRONTK6WOkEp}hxV*S{?UT}!wytjTQG1xXu(6Smvb16mP^%y=E}*#?
z`_G=NGi#lHILkuB2lJMfXr)XlJX*1Yqt)MmiOdY*cRC;JEI(+Q7yO9O#Rvi%G4}2H
zsKjB-(1{aGNfuA?p1dG-{#=8sJ#IM-^~aPUk0h-)g_G%ZUdJRm<tLKhkDCt(dj`)$
zyZHI}6~kyNMHv_)olCz{xGpkjwd<w*ENrKmrzp-gF%Xg4#XAmFl0Hs^MSm4&n7&-v
zmZ56hU4aH1ZyPw|RO^8&Z7on))+XNQ>fv5$ua)tDWBLX&jZmGyEn@*D-wV}jy{y6*
zI-%M5c{&veok?ZbOFKuXwVjq5YE{o@(*5j5Ii26Knp5i}S02MJ8}Zp^418|F<&6lF
zG17qgL{`v<D~i_kc?>d4#jIo=ZWRAHm{Fip^*PPKltYH4ow9OTL?mBAjzIzh8LShN
zG|+Fh`gXOVvbr*qsq8NA?9N^mzFa$JOP$RC(johDyKrl>;Dfflbb%F}Xa(kDW;r2)
zTRjc8M6FA+)$cD~c(9M-MqpxFqjGfOXD6eZoBfZ+pGYPr4XoPQ7M!sYg|YL$mXueJ
zKJ;=_rLl|sm7)Eb>2gU#+iKE<9(Fkg*P?j;9>FZ+9u%%?`N3#!#bF|zBjoo;1%ZrU
zVnnCp=<?gD?>y~3!Y+z+0nkcbnK$!)nhWf`tlADI_ZR3Z)({WLblh4m7dv1boMrXv
zqXUjW#<G}}vmaAgJC|$6O6b-5dT9s21Mo)M$g}uDm2sNZJIo;uW0<0%Qa}b{>fnTd
zHI&8D8^>~md_<1-=+b*!B*xK;i3|ven9xa at NT$lR*P-IY at 0!T=noWRPq&wU(d9C2T
zkvKgUUBX*~o+TW at jV+Kt@=6*}@3ZAf%CBe-6nR&y^eSr<NWOl#LFDsT*I<kT7 at nlk
z&oBa6eVbEFU?GXOo1-l3Hr4azY;j1Si+rD)4b(OZhd)0M-F1de5srwVeyHnd8oi|9
z_ at -al&`|8Dcn7gHT~k(#jOwAQdLQ7}krxC1vR3oy!2)fT(A4F{dUNfA)o7&|9yx*X
z>nd~cK$%H(+HPshh at 8YjEt`r$S;@FZEnME#ZD|BbLckRv5wdE=u_zdWlHwNAL*y#r
zcd}&3vjry)v at lc6CZsXbvCMqZ#}qXp(BcSNdoOV%+uVqmPC%W=ru+<e?RoiXIeCCe
zweW1BfAekW?-BHrRqO(0?>@bW*Tr0!XnFpIzL%Gmi_G~Gzxl!Zdyo<EBOYl{N}aB*
zlf<Itfa~Tvb51A6Bc<hVaBaU!bHX4#j5c3{*HNi|*tdbnaZa#xIcGh`ANzKI_szQi
z1?Q9LX_`;w6(Qq}iG41jdT*7AXG3H(vlta{c*z at UqIMpCweRaBlpIB7%%u%0kwqne
zoq<Cd8ys9UAbbagq at LRF#pW-G0&Z*WjK!s2pMF_M*5`HOBjZ+)QWUcGTyc(km5b!&
zc4MN33AqJXr40 at mPVw^{xqF at 8sY3EvD=*aUevjrXZLM^nE4&P~(tK at Xb+6a0+aDHh
z^*keBTdp;5fW2X>#%{T}T)e9A>b;&eok(J~crF`t-*zCcn4Rv&w{u6)bF%1Zx^jPH
zk3`+sDE*Z%&+exZPFtezu|_ZJwLy4I>90Qm2)A`@B_Q8;{-F(2uQTJos0UH5ArgJf
zsFq<|_vv at o${oA&D`Cbo)d?78K~7}eoxp;b-z|jXAtGggcdI=|ujSV`v?Vp<^Fu1)
zoe$@M{w8iHW3(53Pf<l4hyxf&K|x9NFhR4pJOQWL)7`VG>bQnJIvF`zlc`!@XIrc^
z(635<|C6AtBJg9C1!uN~@9~F9dIvl6PhKxTL$kgEK|wvjyf|hYAB(&N`KC{W4Fo<!
zq&DZt<;ZVrj+sZh+p+xA(_iFS<zKIo_u*UI^qy9>=B0%-7s%og&MW1z5?JWI$S@!L
zZDzQ&+20 at Y2VGNBGlN)XB8yyGTg$#a$`L|9n8 at BQXnv5*9Y}t$v9+}@>(4Y_*V}?w
z$TKak?1u3=Y5T}9g>G&dd3VT>wfg*ao_7P=H7`az6v;xP+3yfy%w>0wa+t%=U!VM_
z?TGE|GF!dPwwKl1#gD&3{nv+>=`VimLNBhbqF^XG^b*8xa$Bf6ogTYqeOzjwgZ4T&
z at ZmIMAgXuWXJk$AN_gCJ=$`j^8#_(*wut1&mcn#$%W1AJa5-a*o~bs(s-AO)f3Cb;
z607qvolwR?*I?)SE1ndu5Rz)0$((~tZ74lyl8!FhPR5@?+0H>&X~KqrqoP&qwgZxe
zkwC1qEYo<rZ$rBGYsA)9_fqvyn}#!VVJ1v at B*-Ke$d-GL_DOGb-a%kBTO=R;%TjrR
z9Mhaci?>v)Vj*rXnyQc<TDIxwZ)iloB+)ddC!(UtK%E7y>dJ<Oq9PlVUAa6%q9zq6
zL(kY4n9qH|1q1@=<O?JP=KSq at R13>n%~xF!RhCDx26h}UQs~y{rKT@!-~E7d6jAMR
z|A41Nl2(@2{wzN#d-#cT`H7{3kyvvc)3rIcX>f;~{UO3UM>k&&?9mltZB%y5yak`$
z|3EED0)v~ZQiahC8GDQw#QT_&WwW)jhMM(uU-W0}v;=<DdX!w)G<>4k<H94<SX3zR
zGu?%zu&Q)|i>PnSro~x{hJRg8+S5a*{W+<$q&(zxFi!noRCI{dUe#M)Pb1jU-i8Sd
zIdH_yZKqEe3hqzTW<wQh)K+>TwKz)rYvE3=)(?(Q$MNW*0t=g=_X$okoX&95HF>77
zX~BeUktGE|8shK{8N#(p_h-2&d6X>6(%KEKUBAaH&$J{NtXhsM1gvI4bx?0a7HWnJ
z89)s8Mtq-!GVw^G@#G4^+%aD0^CA!WX2j(TZo-{qQ<m1?>A3cV#UFjdVU(rBbcLc9
zZvu0{qk;>}89%G2=by#L)m!=+K-o|;>031jm^+7)NRD&wHwWl`kyXU9^Y1)D4VVGm
z7>JE<Pz at A8%%o*llo0ryn}Xos!(=?4hH7KwJOi%uQkB)>z;J7d>ekj1l^zd+RjCaB
z8kB!y06e*PYB-P36^HRd$DQG}@4kiLA)z6aK*B4g!+vfpc0~%q*0Y(|rZFGAn$~&5
zUcgdt at X*LkEowIH9_4P}%Dbsa#KvQU|I!Q91|{jPl?Q>)Ar*STy%PE<PVk#Y#7 at 4B
z*_)dpW38ojTjG<G(63(mr365=)Y^|)X3gp2yKkqX!lG^aqf>ipGXJz_%XvZF<h-1C
zEEKrQzI-mIQqSD3y8o;(={aR|xA~~o(F%=H`cgYudu?Y;6$N?`t+eVhC$==z$R?U>
zh-h;ZnMw{>O-$vF1I<mkn|<XmQrGPjlw!yz`B*ki at tC~T=I3mvfyn5l$e$)H>h7fl
zIlW<})b{4R{&dc!PZ1IDmh)x1UpWq_mBZXo^_4lVkt23QS9aY%>uIr_(_y130)DwN
zx%(?AjnzRrbKiuVTrd~uvd<8~xTJ3EVPNbrGj`6)Gm`<~0Dd at p4EZ5K160m6wGGgo
zwsEoioU86^tf67xpI;amp{xL-I6Xb`WbyGe0u{A#K`y|r+Cxa at R~e%sU}rSKUHKT%
zD$V;!l$UbUA01p(z%`a<zTBSYNMOtaJ}$Dh_40fCGr3`LM53mlPocz6N2FNgl3iY&
zwCKyLaRy;4r1Di!%w>{03jw}ioH`+yRJr+Yvxnmox6=%{G>eD>j;XCvgS=uju{Q?T
zoLoSZqZj`E2v7u7j8M=*8Pt7;$uZz)6BVibs<8e5d#(FL5i5>%F6|EX@)+xJtZZeU
zfwqkJs4x~6rALDC0D`A5PN#WgObB*?d%Yn=zzL0cAc*_bmi*3L>??Wz1sPRoxTI<D
Fe*qEOU1R_N
--
1.8.5.3
More information about the Spice-devel
mailing list